:root{--canvas:#f5f7fa;--surface:#f9fafc;--ink:#111827;--muted:#667085;--line:#dfe4ea;--blue:#0071e3;--green:#0a7f42;--amber:#b26a00;--red:#b42318;color:var(--ink);background:var(--canvas);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}input[type=checkbox]{width:16px;height:16px;accent-color:var(--blue)}.login-page,.app-shell{min-height:100vh}.login-page{isolation:isolate;background-color:#f6f8fb;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 900'%3E%3Cpath d='M-40 604C168 501 250 323 468 326c183 2 236 130 405 105 175-26 244-188 462-173 96 7 160 40 229 89' fill='none' stroke='%230071e3' stroke-opacity='.16' stroke-width='2'/%3E%3Cpath d='M-70 735c236-84 342-272 557-241 164 24 188 151 364 143 192-9 266-154 450-123 101 17 168 68 221 117' fill='none' stroke='%23099668' stroke-opacity='.13' stroke-width='2'/%3E%3C/svg%3E"),radial-gradient(circle at 18% 20%,#0071e333,#0000 28rem),radial-gradient(circle at 78% 28%,#34c75924,#0000 24rem),radial-gradient(circle at 58% 84%,#ff9f0a1f,#0000 26rem),linear-gradient(#fbfcff 0%,#eef3f8 100%);background-repeat:no-repeat;background-size:cover,auto,auto,auto,auto;grid-template-columns:minmax(320px,440px);place-items:center;padding:40px;display:grid;position:relative;overflow:hidden}.login-page:before,.login-page:after{content:"";z-index:-1;pointer-events:none;position:absolute}.login-page:before{background:#ffffff80;border:1px solid #ffffffb8;border-radius:44px;width:min(66vw,860px);height:min(56vw,620px);transform:translate(28vw,-8vh)rotate(-10deg);box-shadow:0 30px 90px #1f293714}.login-page:after{background-image:radial-gradient(#11182714 1px,#0000 1px);background-size:28px 28px;inset:0;-webkit-mask-image:linear-gradient(120deg,#0000 0%,#00000073 42%,#0000 78%);mask-image:linear-gradient(120deg,#0000 0%,#00000073 42%,#0000 78%)}.login-panel,.panel,.gateway-directory-row,.health-tile,.metric{border:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffeb;box-shadow:0 18px 45px #19202c14}.login-panel{z-index:1;border-radius:18px;width:100%;padding:28px}.brand-row{align-items:center;gap:14px;margin-bottom:26px;display:flex}.brand-mark{color:#fff;background:#111827;border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex;box-shadow:inset 0 1px #ffffff38}.brand-mark.small{border-radius:10px;width:34px;height:34px}.eyebrow{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:12px;font-weight:700}.login-panel h1,.topbar h2{color:var(--ink);letter-spacing:0;margin:0}.login-panel h1{font-size:30px}.login-panel label{color:var(--muted);margin-top:16px;font-size:13px;font-weight:600;display:block}.login-panel input,.input-with-icon input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:none}.login-panel label input{border:1px solid var(--line);background:var(--surface);border-radius:10px;margin-top:7px;padding:11px 12px;display:block}.segmented{border:1px solid var(--line);background:#eef1f6;border-radius:10px;grid-auto-flow:column;gap:3px;padding:3px;display:inline-grid}.segmented button{color:var(--muted);background:0 0;border:0;border-radius:7px;padding:8px 14px;font-weight:650}.segmented button.active{color:var(--ink);background:#fff;box-shadow:0 4px 12px #19202c1f}.portal-chip{border:1px solid var(--line);width:100%;color:var(--ink);background:#eef6ff;border-radius:11px;justify-content:space-between;gap:10px;padding:10px 12px;font-weight:700}.portal-chip svg{color:#0b63ce}.portal-chip span{margin-right:auto}.portal-chip strong{color:var(--muted);font-size:12px;font-weight:750}.segmented.compact{flex-wrap:wrap;display:flex}.segmented.compact button{padding:6px 10px;font-size:12px}.primary-action,.secondary-action,.danger-action,.role-switch,.nav-item,.icon-button,.account-button{font:inherit;cursor:pointer;border:0}.primary-action{color:#fff;background:#0071e3;border-radius:11px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:22px;padding:12px 16px;font-weight:700;display:inline-flex;box-shadow:0 10px 24px #0071e342}.primary-action:disabled{cursor:wait;opacity:.72}.login-error{color:#b42318;background:#fff1f0;border:1px solid #ffd2cf;border-radius:10px;margin:12px 0 -6px;padding:9px 10px;font-size:13px;font-weight:650}.login-language{z-index:2;position:absolute;top:22px;right:22px}.language-toggle{border:1px solid var(--line);background:#ffffffd1;border-radius:999px;align-items:center;gap:3px;padding:3px;display:inline-flex;box-shadow:0 8px 22px #19202c14}.language-toggle button{min-width:44px;color:var(--muted);font:inherit;letter-spacing:0;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:750}.language-toggle button.active{color:#fff;background:#111827}.portal-chip,.portal-domain,.panel-header,.topbar,.topbar-actions,.search-pill,.account-button,.role-switch,.nav-item,.metric,.sync-row,.sim-send-line,.gateway-health,.gateway-actions,.gateway-add-action{align-items:center;display:flex}.metric-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.app-shell{background:var(--canvas);grid-template-columns:248px minmax(0,1fr);display:grid}.sidebar{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#fbfcfee6;flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.sidebar-brand{align-items:center;gap:12px;padding:20px;display:flex}.sidebar-brand strong,.sidebar-brand span{display:block}.sidebar-brand strong{color:var(--ink)}.sidebar-brand span{color:var(--muted);font-size:12px}.brand-logo{border-radius:10px;flex:none;width:36px;height:36px;display:block}.brand-logo-lg{border-radius:14px;flex:none;width:48px;height:48px;display:block}.sidebar nav{gap:12px;padding:8px 12px;display:grid}.nav-group{gap:4px;display:grid}.nav-group-title{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;padding:10px 12px 4px;font-size:11px;font-weight:800}.nav-item{color:#4b5563;text-align:left;background:0 0;border-radius:10px;gap:10px;padding:10px 12px;font-weight:650}.nav-item.active{color:#0b63ce;background:#eaf2ff}.sidebar-footer{margin-top:auto;padding:14px}.role-switch{width:100%;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:10px;gap:8px;padding:10px}.portal-domain{border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px}.portal-domain span{color:var(--muted);font-size:12px}.portal-domain strong{color:var(--ink);letter-spacing:0;font-size:13px}.workspace{min-width:0;padding:22px}.topbar{z-index:3;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f6f8fbdb;justify-content:space-between;gap:18px;margin:-22px -22px 22px;padding:18px 22px;position:sticky;top:0}.topbar h2{font-size:24px}.topbar-actions{gap:10px}.search-pill{border:1px solid var(--line);min-width:260px;color:var(--muted);background:#ffffffb8;border-radius:999px;gap:8px;padding:9px 13px;font-size:13px}.icon-button,.account-button{border:1px solid var(--line);height:38px;color:var(--ink);background:#ffffffd1;border-radius:999px}.icon-button{place-items:center;width:38px;display:inline-grid}.account-button{gap:7px;padding:0 12px;font-weight:650}.page-grid{gap:16px;display:grid}.metric-strip{align-items:stretch}.metric{border-radius:14px;gap:12px;min-height:92px;padding:16px}.metric-icon{color:#fff;background:#111827;border-radius:11px;flex:none;place-items:center;width:38px;height:38px;display:inline-grid}.metric.blue .metric-icon{background:#0071e3}.metric.green .metric-icon{background:#0a7f42}.metric.amber .metric-icon{background:#b26a00}.metric.dark .metric-icon,.metric-icon.dark{background:#111827}.metric span,.health-tile span,.sync-row span,.subtle{color:var(--muted);font-size:12px}.metric strong{color:var(--ink);letter-spacing:0;margin-top:4px;font-size:24px;display:block}.content-grid{gap:16px;display:grid}.two-columns{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.panel,.health-tile{border-radius:14px}.panel{min-width:0;padding:16px}.panel-header{justify-content:space-between;gap:12px;margin-bottom:14px}.panel h3{color:var(--ink);letter-spacing:0;margin:0;font-size:16px}.secondary-action{color:#0b63ce;background:#eaf2ff;border-radius:999px;padding:7px 11px;font-weight:700}.danger-action{color:#b42318;background:#fee4e2;border-radius:999px;align-items:center;gap:6px;padding:7px 11px;font-weight:700;display:inline-flex}.list-stack{gap:10px;display:grid}.sync-row{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:12px;padding:12px}.sync-row>div:nth-child(2){min-width:0}.sync-row strong,.sync-row span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sync-row time{color:var(--muted);margin-left:auto;font-size:12px}.file-icon{color:#0b63ce;background:#eaf2ff;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;display:inline-grid}.toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.input-with-icon{border:1px solid var(--line);width:min(420px,100%);color:var(--muted);background:var(--surface);border-radius:11px;align-items:center;gap:9px;padding:9px 11px;display:flex}.data-table,.compact-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th,.data-table td,.compact-table th,.compact-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:11px 10px}.data-table th,.compact-table th{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:800}.data-table td strong,.data-table td .subtle{display:block}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.status-badge{white-space:nowrap;border-radius:999px;align-items:center;padding:4px 8px;font-size:12px;font-weight:750;display:inline-flex}.status-badge.green{color:#0b6b38;background:#e8f7ee}.status-badge.amber{color:#8a5200;background:#fff2d5}.status-badge.red{color:#b42318;background:#feeceb}.status-badge.blue{color:#0b63ce;background:#eaf2ff}.status-badge.neutral{color:#4b5563;background:#eef1f5}.health-tile{padding:16px}.health-tile .metric-icon{margin-bottom:14px}.health-tile strong{color:var(--ink);margin-top:7px;font-size:18px;display:block}.health-tile p{color:var(--muted);margin:6px 0 0;font-size:13px}.ops-form{grid-template-columns:repeat(4,minmax(150px,1fr)) auto;align-items:end;gap:12px;display:grid}.ops-form label{color:var(--muted);gap:7px;font-size:13px;font-weight:700;display:grid}.form-hint{color:var(--muted);font-size:11px;font-weight:650;line-height:1.35}.ops-form input,.ops-form textarea{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);background:var(--surface);font:inherit;border-radius:10px;outline:none;padding:10px 11px}.ops-form textarea{resize:vertical;min-height:86px}.template-form{grid-template-columns:minmax(180px,260px) minmax(0,1fr) auto auto}.wide-field{min-width:0}.table-actions{flex-wrap:wrap;gap:8px;display:flex}.table-action{white-space:nowrap;border-radius:9px;padding:6px 10px}.table-action:disabled{cursor:wait;opacity:.66}.send-form{gap:12px;display:grid}.send-fields{grid-template-columns:minmax(180px,260px) minmax(0,1fr);gap:12px;display:grid}.send-fields label{color:var(--muted);gap:7px;font-size:13px;font-weight:700;display:grid}.send-fields select,.send-fields textarea{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);background:var(--surface);font:inherit;border-radius:10px;outline:none;padding:10px 11px}.send-fields textarea{resize:vertical;min-height:96px}.send-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.send-actions span{color:var(--muted);font-size:13px;font-weight:700}.primary-action.inline{width:auto;min-width:128px;margin-top:0}.detail-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.detail-summary div{border:1px solid var(--line);background:#f8fafcd1;border-radius:10px;padding:12px}.detail-summary span,.muted-line{color:var(--muted);font-size:12px;display:block}.detail-summary strong{color:var(--ink);margin-top:5px;font-size:15px;display:block}.campaign-row.active{border-color:#0071e35c;box-shadow:0 18px 45px #0071e31a}.security-form{grid-template-columns:repeat(3,minmax(160px,1fr)) auto}.logout-all{margin-top:12px}.ip-whitelist-page{gap:16px;display:grid}.ip-whitelist-toolbar{color:var(--ink);grid-template-columns:auto minmax(260px,1fr) auto;align-items:center;gap:18px;font-size:13px;font-weight:750;display:grid}.ip-whitelist-toolbar label{color:var(--ink);align-items:center;gap:8px;display:flex}.ip-whitelist-toolbar input,.ip-whitelist-add input{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);background:var(--surface);font:inherit;border-radius:10px;outline:none;padding:10px 11px}.ip-whitelist-actions{justify-content:end;gap:10px;display:flex}.security-warning{color:#ef4444;margin:18px 0 10px;font-size:13px;font-weight:750}.ip-whitelist-add{grid-template-columns:minmax(220px,280px) minmax(220px,1fr) auto auto;align-items:center;gap:10px;display:grid}.table-scroll{overflow:auto}.ip-whitelist-table{min-width:1050px}.page-tabs{justify-self:start}.access-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.ops-form select,.role-form input,.role-form select,.role-form textarea,.table-select{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);background:var(--surface);font:inherit;border-radius:10px;outline:none;padding:10px 11px}.table-select{border-radius:9px;width:auto;min-width:148px;padding:6px 9px}.role-form{grid-template-columns:minmax(160px,1fr) minmax(140px,180px);gap:12px;display:grid}.role-form label{color:var(--muted);gap:7px;font-size:13px;font-weight:700;display:grid}.role-form textarea{resize:vertical;min-height:84px}.permission-layout{align-items:start}.permission-matrix{grid-column:1/-1;gap:10px;margin-top:4px;display:grid}.permission-matrix-title{justify-content:space-between;align-items:end;gap:12px;margin-top:4px;display:flex}.permission-matrix-title strong{color:var(--ink);font-size:15px}.permission-matrix-title span{color:var(--muted);font-size:12px;font-weight:650}.permission-row{border:1px solid var(--line);background:#f8fafcc7;border-radius:10px;grid-template-columns:minmax(96px,140px) minmax(0,1fr);align-items:center;gap:12px;padding:10px 12px;display:grid}.permission-menu-name{gap:8px!important;display:grid!important}.permission-row strong{color:var(--ink);font-size:13px}.permission-row div{flex-wrap:wrap;gap:8px;display:flex}.check-pill{border:1px solid var(--line);background:#fff;border-radius:999px;align-items:center;padding:5px 9px;color:var(--muted)!important;gap:6px!important;font-size:12px!important;display:inline-flex!important}.check-pill input{accent-color:#0071e3;width:auto}.check-pill.select-all{background:#eaf2ff;justify-self:start;color:#0b63ce!important}.muted-line{color:var(--muted);margin-top:4px;font-size:12px;display:block}.campaign-list{gap:10px;display:grid}.campaign-row{border:1px solid var(--line);background:var(--surface);border-radius:12px;grid-template-columns:minmax(0,1fr) auto minmax(150px,220px) auto;align-items:center;gap:12px;padding:12px;display:grid}.campaign-row strong,.campaign-row span{display:block}.campaign-row strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.campaign-row span,.campaign-meta span,.campaign-progress span{color:var(--muted);font-size:12px}.campaign-row>div:first-child span{text-overflow:ellipsis;white-space:nowrap;margin-top:4px;overflow:hidden}.campaign-meta{text-align:right;gap:4px;display:grid}.campaign-progress{gap:7px;display:grid}.campaign-progress progress{background:#eef1f5;border:0;border-radius:999px;width:100%;height:7px;overflow:hidden}.campaign-progress progress::-webkit-progress-bar{background:#eef1f5}.campaign-progress progress::-webkit-progress-value{background:#0071e3;border-radius:999px}.reply-list{gap:10px;display:grid}.reply-row{border:1px solid var(--line);background:var(--surface);border-radius:12px;grid-template-columns:minmax(170px,240px) minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.reply-row strong,.reply-row span{display:block}.reply-row p{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.reply-row time{color:var(--muted);font-size:12px;font-weight:650}.inline-notice.green{color:#0b6b38;background:#edf9f1;border-color:#bbe7cf}.test-prep-form{grid-template-columns:minmax(220px,1fr) minmax(140px,180px) auto;align-items:end;gap:12px;display:grid}.test-prep-form label{color:var(--muted);gap:6px;font-size:13px;font-weight:700;display:grid}.test-prep-form input{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--surface);border-radius:12px;padding:11px 12px}.gateway-toolbar{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#ffffffd1;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;display:flex}.apk-release-bar{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#ffffffdb;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.apk-release-bar div{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.apk-release-bar span,.apk-release-bar code{color:var(--muted);font-size:12px;font-weight:700}.gateway-event-list{gap:8px;display:grid}.gateway-event-row{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:12px;grid-template-columns:1fr 1fr 1fr 1fr 1.2fr auto;align-items:center;gap:10px;padding:10px 12px;font-size:12px;display:grid}.gateway-event-row strong{color:var(--ink)}.gateway-toolbar div{gap:3px;display:grid}.gateway-toolbar strong{color:var(--ink);font-size:15px}.gateway-toolbar span{color:var(--muted);font-size:12px;font-weight:700}.refresh-action{align-items:center;gap:7px;display:inline-flex}.refresh-action:disabled{cursor:wait;opacity:.68}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.gateway-summary-strip{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.gateway-summary-card{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#ffffffeb;border-radius:14px;padding:13px 14px}.gateway-summary-card span{color:var(--muted);font-size:12px;font-weight:750;display:block}.gateway-summary-card strong{color:var(--ink);margin-top:4px;font-size:24px;line-height:1;display:block}.gateway-summary-card.green strong{color:#0b6b38}.gateway-summary-card.neutral strong{color:#4b5563}.gateway-summary-card.blue strong{color:#0b63ce}.gateway-summary-card.red strong{color:#b42318}.gateway-filter-bar{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#ffffffe0;border-radius:16px;grid-template-columns:minmax(260px,1fr) 150px 160px auto;align-items:center;gap:10px;padding:10px;display:grid}.gateway-search{border:1px solid var(--line);color:var(--muted);background:var(--surface);border-radius:12px;align-items:center;gap:8px;padding:9px 11px;display:flex}.gateway-search input,.gateway-filter-bar select{width:100%;min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:none}.gateway-filter-bar select{border:1px solid var(--line);background:var(--surface);border-radius:12px;height:40px;padding:0 10px}.gateway-add-action{white-space:nowrap;justify-content:center;gap:7px;height:40px}.gateway-directory-list{gap:8px;display:grid}.gateway-directory-row{border-radius:14px;grid-template-columns:minmax(150px,1.05fr) minmax(150px,1.2fr) minmax(190px,1.45fr) minmax(210px,1.55fr) minmax(210px,1.55fr) 132px;align-items:center;gap:10px;min-height:96px;padding:10px 12px;display:grid}.gateway-cell{min-width:0}.gateway-identity{align-items:center;gap:9px;display:flex}.gateway-identity div,.gateway-uid,.compact-sim-cell{gap:4px;display:grid}.gateway-identity strong,.gateway-uid strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.gateway-identity span,.gateway-uid span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.gateway-health{flex-wrap:wrap;gap:5px}.gateway-health span{border:1px solid var(--line);color:var(--muted);background:var(--surface);border-radius:999px;align-items:center;gap:4px;padding:4px 7px;font-size:11px;font-weight:750;line-height:1;display:inline-flex}.gateway-health .low-battery{color:#8a5200;background:#fff6df;border-color:#f6d58a}.compact-sim-cell{border-left:1px solid var(--line);padding-left:10px}.compact-sim-cell.empty{color:var(--muted)}.sim-topline{align-items:center;gap:6px;min-width:0;display:flex}.sim-topline strong{color:var(--ink);font-size:12px}.sim-topline>span:not(.status-badge){color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;overflow:hidden}.sim-phone{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:750;overflow:hidden}.sim-meta{min-width:0;color:var(--muted);gap:9px;font-size:11px;font-weight:700;display:flex}.sim-send-line{color:var(--muted);gap:7px;font-size:11px;font-weight:800}.sim-send-line progress{background:#eef1f5;border:0;border-radius:999px;width:72px;height:5px;overflow:hidden}.sim-send-line progress::-webkit-progress-bar{background:#eef1f5}.sim-send-line progress::-webkit-progress-value{background:#0071e3;border-radius:999px}.gateway-actions{justify-content:flex-end;gap:8px}.more-action{border:1px solid var(--line);width:34px;height:34px;color:var(--muted);background:var(--surface);border-radius:999px}@media (width<=1080px){.login-page,.app-shell,.two-columns,.three-columns,.send-fields,.ops-form,.template-form,.security-form,.ip-whitelist-toolbar,.ip-whitelist-add,.detail-summary,.campaign-row,.reply-row,.metric-strip,.gateway-summary-strip,.gateway-filter-bar,.gateway-directory-row{grid-template-columns:1fr}.sidebar{height:auto;position:static}.sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr))}.nav-item{justify-content:center}.topbar{flex-direction:column;align-items:flex-start}.topbar-actions,.toolbar,.send-actions{flex-direction:column;align-items:stretch}.gateway-directory-row{min-height:0}.compact-sim-cell{border-left:0;border-top:1px solid var(--line);padding-top:10px;padding-left:0}.gateway-actions{justify-content:flex-start}.search-pill,.input-with-icon{width:100%;min-width:0}.data-table,.compact-table{white-space:nowrap;display:block;overflow-x:auto}}.inline-notice{border:1px solid var(--line);color:var(--muted);background:#ffffffd1;border-radius:12px;padding:12px 14px;font-size:13px;font-weight:650}.inline-notice.red{color:#b42318;background:#fff1f0;border-color:#ffd2cf}.empty-state,.empty-cell{color:var(--muted);text-align:center;font-size:13px}.empty-state{border:1px dashed var(--line);background:var(--surface);border-radius:12px;padding:18px}.empty-cell{padding:22px 10px}.ops-alert-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.ops-alert-card{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#ffffffeb;border-radius:14px;padding:14px}.ops-alert-card span{color:var(--muted);font-size:12px;font-weight:750}.ops-alert-card strong{color:var(--ink);margin-top:5px;font-size:26px;line-height:1;display:block}.ops-alert-card p{color:var(--muted);margin:8px 0 0;font-size:12px;font-weight:650}.ops-alert-card.green{border-color:#bbe7cf}.ops-alert-card.green strong{color:#0b6b38}.ops-alert-card.amber{border-color:#f6d58a}.ops-alert-card.amber strong{color:#8a5200}.ops-alert-card.red{border-color:#ffd2cf}.ops-alert-card.red strong{color:#b42318}.page-filter-bar{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#ffffffe0;border-radius:14px;grid-template-columns:minmax(260px,1fr) 160px auto;align-items:center;gap:10px;padding:10px;display:grid}.page-filter-bar select{border:1px solid var(--line);min-width:0;height:40px;color:var(--ink);background:var(--surface);font:inherit;border-radius:11px;padding:0 10px}.page-filter-bar>span{color:var(--muted);justify-self:end;font-size:12px;font-weight:800}.sim-settings-panel{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fffffff0;border-radius:14px;grid-template-columns:1.3fr repeat(5,minmax(120px,1fr)) auto;align-items:end;gap:10px;padding:12px;display:grid}.sim-settings-panel>div:first-child{gap:4px;display:grid}.sim-settings-panel>div:first-child span,.sim-settings-panel label{color:var(--muted);font-size:12px;font-weight:750}.sim-settings-panel>div:first-child strong{color:var(--ink);font-size:15px}.sim-settings-panel label{gap:6px;display:grid}.sim-settings-panel input,.sim-settings-panel select{border:1px solid var(--line);width:100%;min-width:0;height:38px;color:var(--ink);background:var(--surface);font:inherit;border-radius:10px;padding:0 10px}.sim-settings-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.sim-settings-actions span{color:#b42318;max-width:180px;font-size:12px;font-weight:750}@media (width<=1180px){.sim-settings-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.sim-settings-actions{grid-column:1/-1}}.list-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.list-filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.list-actions{gap:8px;display:flex}.search-input{border:1px solid #d9dee8;border-radius:8px;min-width:240px;padding:8px 12px;font-size:14px}.list-filters select{background:#fff;border:1px solid #d9dee8;border-radius:8px;padding:8px 10px;font-size:14px}.pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;display:flex}.pager-buttons{gap:8px;display:flex}.modal-overlay{z-index:1000;background:#0f172a73;justify-content:center;align-items:flex-start;padding:60px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-card{background:#fff;border-radius:14px;flex-direction:column;width:100%;max-width:480px;max-height:calc(100vh - 120px);display:flex;box-shadow:0 20px 60px #0f172a40}.modal-head{border-bottom:1px solid #eef1f6;justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.modal-head h3{margin:0;font-size:17px}.modal-close{cursor:pointer;color:#94a3b8;background:0 0;border:none;font-size:24px;line-height:1}.modal-body{flex:auto;min-height:0;padding:20px 22px;overflow-y:auto}.modal-form{flex-direction:column;align-items:stretch;gap:14px;display:flex}.modal-form label{flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.modal-form input,.modal-form select{border:1px solid #d9dee8;border-radius:8px;padding:9px 12px;font-size:14px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.force-change-screen{background:#f3f5f9;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.force-change-card{background:#fff;border-radius:16px;width:100%;max-width:440px;padding:32px;box-shadow:0 20px 60px #0f172a1f}.force-change-card h2{margin:0 0 8px}.modal-form label.checkbox-row{flex-direction:row;align-items:center;gap:8px;font-weight:400}.modal-form label.checkbox-row input{width:auto}.page-grid.personnel-fixed{flex-direction:column;height:calc(100vh - 136px);display:flex;overflow:hidden}.personnel-fixed .access-toolbar{flex:none}.personnel-fixed .panel{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.personnel-fixed .panel-header,.personnel-fixed .list-toolbar,.personnel-fixed .inline-notice,.personnel-fixed .pager{flex:none}.personnel-fixed .table-scroll{flex:auto;min-height:0;overflow:auto}.table-scroll thead th{z-index:2;background:var(--surface);position:sticky;top:0}.page-grid.admin-home-grid{flex-direction:column;gap:16px;height:calc(100vh - 136px);display:flex;overflow:hidden}.admin-home-grid .metric-strip,.admin-home-grid .ops-alert-grid{flex:none}.admin-home-grid>.panel{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.admin-home-grid>.panel .panel-header{flex:none}.admin-home-grid>.panel .table-scroll{flex:auto;min-height:0;overflow:auto}.pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-top:12px;display:flex}.pager-left{align-items:center;gap:10px;display:flex}.pager-info{color:var(--muted);font-size:13px}.pager-size{border:1px solid var(--line);background:#fff;border-radius:8px;padding:5px 8px;font-size:13px}.pager-buttons{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.pager-btn{border:1px solid var(--line);min-width:34px;height:32px;color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;padding:0 8px;font-size:13px;font-weight:600}.pager-btn:disabled{opacity:.45;cursor:not-allowed}.pager-btn.pager-num.active{color:#fff;background:#0b63ce;border-color:#0b63ce}.modal-card--wide{max-width:760px}.role-form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.modal-card--wide .permission-matrix{grid-template-columns:1fr 1fr;column-gap:12px}.modal-card--wide .permission-matrix-title{grid-column:1/-1}.personnel-fixed .metric-strip,.personnel-fixed .toolbar{flex:none}.ops-action-card{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0;display:block}.ops-action-card:hover .ops-alert-card{transform:translateY(-1px);box-shadow:0 6px 20px #0f172a1a}.failure-agg{flex-direction:column;gap:8px;display:flex}.failure-agg-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.failure-agg-label{color:var(--muted);font-size:12px;font-weight:700}.reason-chip{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;padding:5px 11px;font-size:13px}.reason-chip.active{color:#fff;background:#0b63ce;border-color:#0b63ce}.sim-chip{border:1px solid var(--line);color:var(--muted);background:#f8fafccc;border-radius:8px;padding:4px 9px;font-size:12px}.personnel-fixed .page-filter-bar,.personnel-fixed .failure-agg{flex:none}.gateway-table-scroll{max-height:calc(100vh - 360px)}.gateway-table th,.gateway-table td{vertical-align:top}.gateway-health-cell{flex-direction:column;gap:2px;font-size:12px;display:flex}.gateway-health-cell .low-battery{color:#d92d20;font-weight:700}.sim-summary{flex-direction:column;gap:2px;display:flex}.sim-summary>div{align-items:center;gap:6px;display:flex}.gateway-table th,.gateway-table td{white-space:nowrap;vertical-align:middle}.sim-line{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.personnel-fixed .gateway-toolbar,.personnel-fixed .gateway-summary-strip,.personnel-fixed .gateway-filter-bar,.personnel-fixed .apk-release-bar,.personnel-fixed .sim-settings-panel{flex:none}.personnel-fixed .gateway-table-scroll{max-height:none}.gateway-header{flex-wrap:wrap;align-items:stretch;gap:12px;display:flex}.gateway-header .gateway-summary-strip{flex:420px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.gateway-header-side{flex-direction:column;flex:0 0 340px;gap:10px;min-width:280px;display:flex}.gateway-header-side .gateway-toolbar,.gateway-header-side .apk-release-bar{margin:0}.personnel-fixed .gateway-header{flex:none}.gateway-table .table-actions{flex-wrap:nowrap}.sim-slot-tabs{gap:8px;display:flex}.sim-slot-tabs button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#f9fafb;border-radius:10px;flex:1;padding:8px 10px;font-weight:700}.sim-slot-tabs button.active{color:#007aff;background:#eaf3ff;border-color:#d6e8ff}.gw-detail{flex-direction:column;display:flex}.gw-detail-row{border-bottom:1px solid #f1f3f7;grid-template-columns:88px 1fr;align-items:center;gap:12px;padding:9px 0;display:grid}.gw-detail-row:last-child{border-bottom:none}.gw-detail-row>span{color:var(--muted);font-size:13px}.gw-detail-row>div{color:var(--ink);word-break:break-all;font-size:14px}.form-error{color:#b42318;font-size:13px}.gateway-filter-bar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.gateway-filter-bar .gateway-search{flex:0 420px;min-width:220px}.gateway-filter-controls{flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto;display:flex}.gateway-filter-controls select{width:auto;min-width:140px}.gateway-filter-controls input[type=date]{border:1px solid var(--line);background:var(--surface);height:40px;color:var(--ink);border-radius:12px;padding:0 10px;font-size:13px}
