.ipn-setup{margin:0;background:#f4f7fa;color:#17324d;font-family:system-ui,sans-serif;line-height:1.65}
.ipn-setup main{max-width:880px;margin:auto;padding:20px}
.ipn-panel,.ipn-manager-panel{box-sizing:border-box;background:#fff;border:1px solid #d8e2eb;border-radius:16px;padding:clamp(18px,4vw,30px);margin:20px auto;max-width:880px;color:#17324d;font-family:system-ui,sans-serif;line-height:1.65;box-shadow:0 8px 26px rgba(23,50,77,.06)}
.ipn-panel h2,.ipn-manager-panel h2{font-size:clamp(1.3rem,4vw,1.7rem);line-height:1.3;margin:0 0 12px}
.ipn-panel h3{font-size:1.1rem;margin-top:24px}
.ipn-eyebrow{font-size:.85rem;font-weight:700;letter-spacing:.04em;color:#2863a4;margin:0 0 6px}
.ipn-lead{font-size:1.02rem;margin:0 0 18px}
.ipn-state{background:#eef5ff;border:1px solid #c9ddf7;border-radius:10px;padding:13px 15px;font-weight:700;margin:16px 0}
.ipn-install-guide{background:#f6f8fb;border:1px solid #d8e2eb;border-radius:10px;padding:15px 18px;margin:14px 0}
.ipn-install-guide strong{display:block;margin-bottom:5px}
.ipn-install-guide ol{margin:8px 0 0;padding-left:22px}
.ipn-install-guide p{margin:6px 0 0}
.ipn-actions{display:grid;gap:10px;margin:20px 0 10px}
.ipn-panel button,.ipn-manager-panel button{font:inherit;background:#17324d;color:white;border:0;border-radius:9px;padding:11px 16px;cursor:pointer;margin:3px 0;min-height:44px}
.ipn-panel .ipn-primary,.ipn-manager-panel .ipn-primary{background:#1769c2;font-weight:700;min-height:54px;padding:13px 18px;font-size:1.05rem}
.ipn-panel button:disabled,.ipn-manager-panel button:disabled{opacity:.55;cursor:default}
.ipn-panel input,.ipn-panel textarea,.ipn-panel select,.ipn-manager-panel input,.ipn-manager-panel textarea{box-sizing:border-box;font:inherit;max-width:100%;padding:9px 11px;border:1px solid #9eb1c4;border-radius:7px}
.ipn-panel textarea,.ipn-manager-panel textarea{display:block;width:100%;min-height:105px}
.ipn-panel article{border-top:1px solid #d8e2eb;padding:14px 0;overflow-wrap:anywhere}
.ipn-panel article strong{display:block;font-size:1.02rem}
.ipn-panel article p{margin:5px 0 9px}
.ipn-panel a{color:#175aae}
.ipn-panel [role=status],.ipn-manager-panel [role=status]{overflow-wrap:anywhere}
.ipn-message{margin:12px 0 0;font-weight:600}
.ipn-details{border-top:1px solid #d8e2eb;padding:14px 0;margin-top:18px}
.ipn-details summary,.ipn-manager-send summary{font-weight:700;cursor:pointer}
.ipn-details [data-ipn-devices]>p{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #edf0f4;padding:8px 0}
.ipn-manager-panel{max-width:1000px}
.ipn-manager-summary{background:#eef5ff;border-radius:9px;padding:12px 15px;font-weight:700}
.ipn-select-all{display:flex;align-items:center;gap:9px;font-weight:700;margin:16px 0 8px}
.ipn-select-all input{width:20px;height:20px;margin:0}
.ipn-recipient-list{display:grid;gap:8px;max-height:480px;overflow:auto;margin:16px 0}
.ipn-recipient{display:grid;grid-template-columns:auto minmax(120px,1fr) auto auto;align-items:center;gap:10px;border:1px solid #d8e2eb;border-radius:9px;padding:12px}
.ipn-recipient input{width:20px;height:20px;margin:0}
.ipn-recipient-name{font-weight:700;overflow-wrap:anywhere}
.ipn-recipient-state{color:#1e6a46;font-size:.92rem}
.ipn-recipient-date{color:#536578;font-size:.85rem}
.ipn-empty{background:#f6f8fb;border-radius:9px;padding:14px}
.ipn-manager-send{border-top:1px solid #d8e2eb;padding-top:18px;margin-top:22px}
.ipn-manager-send form{padding-top:12px}
.ipn-manager-send form>p{margin:14px 0}
.ipn-manager-send form>p>label:not(.ipn-send-all){display:block;font-weight:600}
.ipn-manager-send form>p>label:not(.ipn-send-all) input{display:block;width:100%;margin-top:6px}
.ipn-send-all{display:flex;align-items:center;gap:9px;font-weight:700}
.ipn-send-all input{width:20px;height:20px;margin:0}
.ipn-send-note,.ipn-send-footnote{color:#536578;font-size:.92rem}
.ipn-panel [hidden]{display:none!important}
@media(max-width:620px){.ipn-setup main{padding:12px}.ipn-panel,.ipn-manager-panel{padding:18px;margin:12px auto;border-radius:12px}.ipn-actions button{display:block;width:100%}.ipn-recipient{grid-template-columns:auto 1fr;gap:6px 10px}.ipn-recipient-state,.ipn-recipient-date{grid-column:2}.ipn-details [data-ipn-devices]>p{align-items:flex-start;flex-direction:column}}
