:root{font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:#182a40;background:#f3f6fa;font-size:16px;font-synthesis:none}*{box-sizing:border-box}body{margin:0}[v-cloak]{display:none}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #66a5ff;outline-offset:3px}aside{position:fixed;inset:0 auto 0 0;width:230px;background:#101f34;color:#aebdd0;padding:32px 22px;display:flex;flex-direction:column}.brand{color:#fff;text-decoration:none;display:flex;align-items:center;gap:11px;font-size:25px;font-weight:700}.brand-icon{display:grid;place-items:center;background:#3475eb;border-radius:11px;width:39px;height:39px;font-size:23px}.edition{font-size:11px;letter-spacing:2px;color:#879bbb;align-self:end;margin-bottom:5px}.workspace{border:1px solid #2c3c52;padding:13px 10px;border-radius:7px;margin:32px 0 34px;font-size:14px;color:#dce5f2}.workspace span{float:right}.nav-label{font-size:12px;letter-spacing:1px;color:#7e91ac;padding-left:13px;margin-bottom:13px}nav{display:grid;gap:7px}nav button{border:0;background:transparent;color:#b1bfd1;border-radius:7px;text-align:left;padding:13px 14px;font-size:15px;display:flex;gap:13px;align-items:center}nav button:hover{background:#21334c}nav button.active{color:white;background:#2864d5}.nav-icon{font-size:19px;width:19px;text-align:center}.counter{margin-left:auto;font-size:12px;padding:2px 6px;background:#ffffff20;border-radius:4px}.sidebar-bottom{margin-top:auto;padding-top:30px}.provider{font-size:14px;color:#e6edf8}.sidebar-bottom>small{display:block;font-size:12px;margin:9px 0 25px}.avatar-row{display:flex;gap:12px;border-top:1px solid #2c3c52;padding-top:22px;color:#e4edfa;font-size:14px}.avatar-row small{display:block;color:#8f9fba;font-size:12px;margin-top:4px}.avatar{width:33px;height:33px;display:inline-grid;place-items:center;border-radius:50%;background:#e3eaf6;color:#536988;font-size:13px}.shell{margin-left:230px}header{height:76px;border-bottom:1px solid #e3e9f1;background:white;display:flex;justify-content:space-between;align-items:center;padding:0 36px;font-size:14px;color:#65768d}.slash{margin:0 14px;color:#c4cdd9}.header-right{display:flex;align-items:center;gap:20px}main{max-width:1600px;margin:auto;padding:26px 36px 0}.demo-banner{display:flex;justify-content:space-between;gap:15px;align-items:center;background:#eaf1fe;border:1px solid #d6e4fc;color:#375b94;padding:12px 16px;border-radius:7px;font-size:13px;line-height:1.6}.demo-banner button{background:none;border:0;color:#235fc7;white-space:nowrap;font-size:13px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:31px 0 27px}.eyebrow{font-size:11px;letter-spacing:1.7px;color:#8291a8;font-weight:600}h1{font-size:28px;letter-spacing:-.5px;margin:8px 0 9px}p{line-height:1.8}.page-head p{font-size:14px;color:#78869a;margin:0}.actions{display:flex;gap:10px}.button{background:white;border:1px solid #dce3ed;color:#43566f;padding:10px 16px;border-radius:6px;font-size:14px;white-space:nowrap}.button:hover{border-color:#729dea}.primary{background:#2864d5;border-color:#2864d5;color:white}.primary:hover{background:#2156bb}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:31px}.metrics article{background:white;border:1px solid #e0e7f0;border-radius:10px;padding:23px}.metrics article>span{color:#6d7c91;font-size:14px}.metrics strong{display:block;font-size:36px;font-weight:650;margin:18px 0 21px;font-variant-numeric:tabular-nums;letter-spacing:-1px}.metrics strong small{font-size:19px;font-weight:400;color:#8593a6;letter-spacing:0}.metrics footer{font-size:12px;color:#7d8a9c}.orange{color:#d88b25}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:15px}h2{font-size:17px;font-weight:650;margin:0}h2>span{font-size:13px;color:#8b99aa;margin-left:8px;font-weight:400}.text-button{background:none;border:0;padding:0;color:#3168bd;font-size:13px}.account-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:25px}.account-card{background:white;border:1px solid #e0e7f0;border-radius:10px;padding:20px 22px}.card-title{display:flex;align-items:center;gap:11px}.account-icon{width:39px;height:39px;flex-shrink:0;border-radius:9px;background:#edf4ff;color:#4379c6;display:grid;place-items:center;font-weight:600}.purple{background:#f0edff;color:#7e6cb8}h3{font-size:15px;margin:0 0 5px}.card-title small{font-size:12px;color:#8491a3}.card-title>.tag{margin-left:auto}.tag{font-size:12px;padding:5px 8px;border-radius:5px;background:#eef3fc;color:#5379af;white-space:nowrap}.success{color:#368775;background:#eaf6f0}.warning{color:#ba791e;background:#fff3de}.muted{color:#7c889b;background:#f0f3f7}.balance-label{font-size:13px;color:#7d8ba0;margin-top:26px}.balance-label span{float:right;font-size:12px}.balance-value{font-size:30px;font-weight:600;letter-spacing:-.7px;font-variant-numeric:tabular-nums;margin:10px 0}.balance-note{font-size:12px;min-height:18px;color:#8995a7}.card-footer{border-top:1px solid #edf0f5;margin-top:20px;padding-top:16px;display:flex;justify-content:space-between;color:#738198;font-size:13px}.add-card{background:#eef3fa;border:1px dashed #c9d6e6;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#52749f;min-height:236px;font-size:14px}.add-card>span{font-size:28px;color:#809cc1}.add-card small{font-size:12px;color:#8b9bb0}.bottom-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:22px}.panel{border:1px solid #e0e7f0;border-radius:10px;background:#fff;padding:23px;margin-bottom:20px}.alert-row{display:flex;gap:13px;align-items:center;padding:16px 0;border-top:1px solid #f0f2f6}.alert-symbol{color:#c68a32;background:#fff5e6;width:29px;height:29px;border-radius:50%;display:grid;place-items:center;font-weight:700;flex-shrink:0}.alert-row b{font-size:14px;font-weight:500}.alert-row small{display:block;font-size:12px;color:#8895a6;margin-top:6px;line-height:1.7}.region-row{margin:22px 0}.region-row>div:first-child{display:flex;justify-content:space-between;font-size:13px;color:#66768b}.region-row b{font-size:12px;font-weight:500}.track{height:6px;background:#eef2f8;border-radius:5px;margin-top:12px;overflow:hidden}.track i{display:block;height:100%;background:#5a86d8;border-radius:5px}.subtle{font-size:12px;color:#8491a4}.page-footer{display:flex;justify-content:space-between;padding:26px 0;color:#98a3b2;font-size:12px}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px}input,select{border:1px solid #d9e1ec;border-radius:6px;background:white;padding:10px 12px;color:#3c4e64;font-size:14px;min-width:0}.toolbar>input{flex:1;min-width:220px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap;font-size:14px}th{font-weight:500;color:#8290a4;background:#f7f9fc;font-size:13px;padding:14px 12px}td{padding:19px 12px;border-bottom:1px solid #edf1f6;color:#4d6077}td b{font-weight:500;color:#2e4159}td small{display:block;font-size:12px;color:#8494aa;margin-top:7px}.mono{font-family:Consolas,monospace}.note{font-size:13px;color:#7c8b9f;line-height:1.9;margin:14px 0 20px}.empty{text-align:center;padding:48px 16px;color:#8a97a9;font-size:14px}label{display:block;font-size:14px;color:#50627a;margin:20px 0}label input,label select{display:block;width:100%;margin-top:9px}.toolbar label{margin:0;display:flex;gap:10px;align-items:center}.toolbar label input{margin:0}dialog{border:1px solid #dce5f0;border-radius:13px;width:490px;max-width:calc(100% - 28px);padding:27px;color:#243850;box-shadow:0 25px 100px #091d4340}dialog::backdrop{background:#0d1f3b65}.modal-head{display:flex;justify-content:space-between;align-items:center}.icon-button{border:0;background:none;font-size:26px;color:#7d8da2}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#152b46;color:white;padding:13px 24px;border-radius:8px;box-shadow:0 8px 30px #0002;font-size:14px;max-width:90vw;z-index:10}@media(min-width:1500px){.account-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:1150px){aside{width:190px;padding:26px 16px}.shell{margin-left:190px}main{padding:24px}.metrics{gap:12px}.metrics article{padding:18px}.metrics strong{font-size:29px}.account-grid{grid-template-columns:repeat(2,1fr)}.page-head{align-items:flex-start}.eyebrow{font-size:10px}.card-title{gap:8px}}@media(max-width:760px){aside{position:static;width:auto;padding:16px}.brand{font-size:21px}.brand-icon{height:32px;width:32px}.workspace,.nav-label,.sidebar-bottom{display:none}nav{display:flex;overflow-x:auto;margin-top:17px;gap:5px}nav button{font-size:13px;white-space:nowrap;padding:10px}.nav-icon{display:none}.shell{margin:0}header{height:54px;padding:0 18px}main{padding:17px}.demo-banner{align-items:flex-start;flex-direction:column;font-size:12px}.page-head{display:block;margin:25px 0}.actions{margin-top:20px}.metrics{grid-template-columns:repeat(2,1fr)}.metrics article{padding:17px 13px}.metrics strong{margin:14px 0}.metrics footer{font-size:12px}.account-grid,.bottom-grid{grid-template-columns:1fr}.page-footer{gap:20px;line-height:1.7}.panel{padding:18px}.toolbar>*{max-width:100%}h1{font-size:25px}.header-right{gap:10px}}

.account-email{font-size:14px;color:#526b8c;margin-top:15px;overflow-wrap:anywhere}.profile-note{max-width:230px;white-space:normal;line-height:1.6}

.server-actions{display:flex;gap:14px}.operation-status{white-space:normal;min-width:180px;max-width:320px;line-height:1.7}.actions{flex-wrap:wrap}dialog:has(input[type=file]){width:740px}

.connection-gate{position:fixed;inset:0;z-index:9999;background:#f5f7fb;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center}
.nav-short{display:none}
@media(max-width:760px){
 body{padding-bottom:calc(80px + env(safe-area-inset-bottom));overflow-wrap:anywhere}
 aside{padding:12px 16px}aside .brand{font-size:20px}
 nav{position:fixed;inset:auto 0 0;z-index:30;margin:0;padding:7px 6px calc(7px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(6,minmax(0,1fr));background:#101f34;border-top:1px solid #31425b;overflow:visible;gap:3px}
 nav button{position:relative;min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:7px 2px;font-size:11px;white-space:normal;text-align:center}
 .nav-icon{display:block;font-size:20px}.nav-name{display:none}.nav-short{display:inline}nav .counter{position:absolute;top:2px;right:0;font-size:10px;padding:1px 4px}
 header{height:46px;padding:0 14px}.header-right .tag{display:none}main{padding:14px 12px 0}.page-head{margin:20px 0}.page-head p{font-size:13px}
 .actions{gap:8px}.actions .button{flex:1;white-space:normal;min-width:120px}.button,.text-button,input:not([type=checkbox]),select{min-height:44px}input,select{font-size:16px}.text-button{padding:9px 7px;display:inline-flex;align-items:center;justify-content:center}
 .toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.toolbar>input{min-width:0;grid-column:1/-1}.toolbar>select{width:100%}.toolbar label{grid-column:1/-1;flex-wrap:wrap}.toolbar label input{flex:1}.toolbar .button{white-space:normal}
 .panel{padding:14px 12px}.section-head{align-items:flex-start;flex-wrap:wrap}.section-head .subtle{font-size:11px}.account-card{padding:17px}.card-title>div{min-width:0}h3,.account-email{overflow-wrap:anywhere}
 .table-wrap{overflow:visible}table,tbody{display:block;width:100%;white-space:normal}thead{display:none}tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px;border:1px solid #e0e7f0;border-radius:10px;background:#fff;margin:12px 0;padding:14px 12px}td{display:block;padding:0;border:0;font-size:13px;min-width:0;overflow-wrap:anywhere}td:before{content:attr(data-label);display:block;color:#8290a4;font-size:11px;line-height:1.5;margin-bottom:5px}td:first-child{grid-column:1/-1}td:first-child b{font-size:16px;font-weight:600}td:last-child{grid-column:1/-1}td:last-child:has(button){border-top:1px solid #edf1f6;padding-top:9px;display:flex;flex-wrap:wrap;gap:5px}td:last-child:has(button):before{display:none}.profile-note,.operation-status{min-width:0;max-width:none}.server-actions{flex-wrap:wrap;gap:5px}.server-actions button{border:1px solid #dfe7f1;border-radius:6px;padding:9px 12px}.tag{display:inline-block;white-space:normal}
 dialog,dialog:has(input[type=file]){width:calc(100% - 20px);max-width:520px;max-height:calc(100dvh - 24px);padding:20px 16px;overflow-y:auto}dialog .modal-actions{position:sticky;bottom:-20px;background:white;padding:12px 0;margin-top:15px}dialog .modal-actions .button{flex:1}.modal-head h2{font-size:18px}.icon-button{min-width:44px;min-height:44px}
 .toast{bottom:calc(92px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100vw - 24px);padding:12px 16px;line-height:1.6;z-index:100}.page-footer{font-size:11px;flex-wrap:wrap;gap:5px;padding:18px 0}
}

.auth-page{padding:30px 16px;background:#f3f6fa}.auth-card{max-width:460px;padding:30px;margin:6vh auto;border:1px solid #dce5f0;border-radius:14px;background:white}.auth-brand{font-size:20px;color:#2864d5;text-decoration:none;font-weight:700}.security-shell{max-width:900px;margin:0 auto;padding:0}.auth-page [hidden]{display:none!important}.auth-page #status{color:#b34c33;white-space:pre-wrap;overflow-wrap:anywhere}.auth-page code,.auth-page pre{overflow-wrap:anywhere;white-space:pre-wrap}.auth-page input{width:100%}.admin-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #e4e9f0}.pagination{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;color:#6c7d93;font-size:13px}.pagination label{display:flex;align-items:center;gap:6px;margin:0}.pagination select{width:auto;margin:0;padding:7px}.pagination .button{padding:8px 12px}@media(max-width:760px){.auth-page{padding:20px 12px}.auth-card{padding:22px;margin:4vh auto}.pagination{gap:8px;font-size:12px}.pagination>span:first-child{margin-right:auto}.pagination .button{flex:1}.security-shell .section-head{flex-direction:column}.admin-row{flex-wrap:wrap}.header-right .text-button{font-size:12px}}

.discovery-report{margin-bottom:18px;padding:16px}.discovery-report summary{cursor:pointer}.scan-report-list{max-height:360px;overflow:auto}.toolbar{flex-wrap:wrap}

.server-detail{padding:24px}.detail-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.detail-info dt{color:#65788b;font-size:12px}.detail-info dd{margin:6px 0;overflow-wrap:anywhere}.detail-tabs{display:flex;gap:10px;margin:24px 0}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.metric-card{border:1px solid #dce5ec;border-radius:12px;padding:18px}.metric-card h3{margin:0 0 12px}.metric-card strong{font-size:24px}.metric-card svg{width:100%;height:150px}.metric-card small{display:block;color:#65788b}.sample-list{max-height:220px;overflow:auto;font-size:12px}.inline-check{display:flex;align-items:center;gap:8px}.inline-check input{width:auto!important;margin:0}.firewall-group{border-top:1px solid #dce5ec;margin-top:20px;padding-top:12px}.firewall-editor{padding:18px;background:#f2f7fa;border-radius:10px;margin-top:20px}.rule-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.firewall-editor fieldset{border:0;padding:0;margin:0}.audit-details{white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;overflow:auto} @media(max-width:700px){.server-detail{padding:14px}.detail-info,.metric-grid,.rule-fields{grid-template-columns:1fr}.server-detail .section-head{align-items:flex-start}.server-detail .toolbar{flex-wrap:wrap}}

.host-panel{margin-top:24px;border-top:1px solid #dce5ec;padding-top:18px}.host-panel fieldset{border:0;padding:0}.host-panel textarea{width:100%;box-sizing:border-box}.host-output{white-space:pre-wrap;overflow-wrap:anywhere;max-height:400px;overflow:auto;font:13px/1.6 monospace;background:#f4f7fa;padding:14px;border-radius:8px}.host-alert{padding:12px 0;border-top:1px solid #dce5ec}.host-alert small{display:block;margin-top:8px}
/* Shared administration surfaces: high contrast, consistent controls and spacing. */
:root{--ink:#172b45;--secondary:#526176;--line:#d7e0ec;--surface:#fff;--soft:#f1f5fa;--link:#1755b5;--danger:#b42318;--danger-bg:#fff1f0;--success:#166347;--warning:#875000;color:var(--ink);line-height:1.6;color-scheme:light}
body{color:var(--ink)}main{max-width:1920px;padding:28px clamp(18px,2.2vw,38px) 0}h1,h2,h3,td b{color:var(--ink)}h1{font-size:1.8rem;line-height:1.35}h2{font-size:1.125rem;line-height:1.5}h3{font-size:1rem}p{line-height:1.7}small{line-height:1.65}
.page-head p,.note,.subtle,.empty,.page-footer,.profile-note,.balance-note,.balance-label,.card-title small,.card-footer,.metrics footer,.metrics article>span,.metrics strong small,.alert-row small,.region-row>div:first-child,.account-email,.detail-info dt,td small,th,label,.pagination,header,h2>span{color:var(--secondary)}
.note,.subtle,.profile-note,.balance-note,.card-title small,.card-footer,.metrics footer,.alert-row small,.detail-info dt,td small,.page-footer,h2>span,.pagination{font-size:.875rem}.eyebrow,.edition{font-size:.75rem}.eyebrow{color:var(--secondary)}
aside{color:#c2cee0}.nav-label,.sidebar-bottom>small,.avatar-row small,.edition{color:#b4c3da}nav button{color:#d2ddec}.brand,.brand *{color:#fff}.header-right .tag{color:var(--secondary)}
.panel,.account-card,.metrics article{border-color:var(--line);box-shadow:0 2px 5px #102a4304}.panel{padding:24px}.section-head{margin-bottom:20px}.page-head{margin:26px 0;align-items:center}.actions{align-items:center;gap:10px}
.button,.text-button,input,select,textarea{font-size:.875rem;line-height:1.5;border-radius:8px}.button{min-height:42px;padding:9px 15px;border-color:#b9c8db;color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}.button:hover{background:#edf3fd;border-color:var(--link)}.button.primary{color:#fff;background:#245dc1;border-color:#245dc1}.button.primary:hover{background:#194da9}.text-button{color:var(--link);padding:6px 4px;min-height:36px;font-weight:500}.text-button:hover{text-decoration:underline}button:disabled{opacity:1;color:#66758a!important;background:#edf1f6!important;border-color:#d9e0e9!important;cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #3876da;outline-offset:3px}
input,select,textarea{border:1px solid #b7c6d9;background:#fff;color:var(--ink);padding:10px 12px}input::placeholder,textarea::placeholder{color:#65758a;opacity:1}input[type=checkbox]{accent-color:#245dc1;min-width:18px;min-height:18px}label{font-weight:500;margin:18px 0}label input,label select{font-weight:400}textarea{font:inherit;width:100%}.toolbar{gap:12px;padding:16px;background:var(--soft);border:1px solid var(--line);border-radius:10px}.toolbar select{max-width:260px}.toolbar>input{min-width:180px}.toolbar label{font-size:.875rem}
table{font-size:.9375rem;white-space:normal;line-height:1.6}th{font-weight:600;font-size:.875rem;background:#edf2f8;padding:14px;white-space:nowrap}td{padding:16px 14px;border-color:#e1e7f0;color:var(--ink);vertical-align:top;overflow-wrap:anywhere;min-width:110px}td b{font-weight:600}td small{margin-top:5px}tbody tr:hover{background:#f8faff}.profile-note{max-width:240px}.mono{font-size:.8125rem;overflow-wrap:anywhere}td[data-label='操作']{min-width:205px;max-width:280px}td[data-label='资源 / IP 地址']{min-width:230px;max-width:300px}td[data-label='配置 / 系统']{min-width:160px;max-width:240px}td[data-label='登录邮箱']{max-width:250px}.table-wrap{border:1px solid var(--line);border-radius:10px}.table-wrap td:last-child{padding-right:16px}.empty{padding:40px 20px;border:1px dashed var(--line);border-radius:8px;margin-top:16px;background:#f8fafd}
.tag{font-size:.875rem;font-weight:500;color:#245394;background:#eaf1fd;border:1px solid #d4e1f7;white-space:normal}.tag.success,.success{color:var(--success);background:#e9f6ef;border-color:#b6ddca}.tag.warning,.warning{color:var(--warning);background:#fff4dc;border-color:#ebd099}.tag.muted,.muted{color:#4e5e74;background:#edf1f6;border-color:#d7dfe9}.orange{color:#875000}.alert-symbol{color:#875000;background:#fff0d3}.alert-row b{font-size:.9375rem;font-weight:600}.danger-text,.text-button.danger-text{color:var(--danger)!important}.button.danger{color:#fff;background:var(--danger);border-color:var(--danger)}.button.danger:hover{background:#941c13}.danger-notice{color:#8d2119;background:var(--danger-bg);border:1px solid #e8aca6;border-left:4px solid var(--danger);border-radius:8px;padding:14px 16px;margin:18px 0;font-size:.9375rem}.danger-notice p{margin:6px 0 0}.danger-notice strong{color:#8d2119}
.group-row th{background:#e7eef8;border-top:2px solid #c5d3e6;border-bottom:1px solid #c5d3e6;padding:14px 16px;white-space:normal}.group-row th>*{display:inline-block;margin-right:16px}.group-row strong{font-size:1rem;color:var(--ink)}.group-platform{color:#174c98;font-weight:700}.group-row span:last-child{font-weight:400;color:var(--secondary)}
.server-actions{display:flex;align-items:flex-start;flex-wrap:wrap;gap:6px 12px;max-width:240px}.more-actions{width:100%;max-width:220px}.more-actions summary{display:inline-flex;align-items:center;gap:12px;color:var(--link);font-size:.875rem;font-weight:500;cursor:pointer;list-style:none;padding:6px 4px;min-height:36px}.more-actions summary::-webkit-details-marker{display:none}.more-actions[open] summary{color:#163d76}.action-menu{display:grid;gap:3px;margin-top:6px;padding:8px;border:1px solid #bacbdd;border-radius:10px;background:#fff;box-shadow:0 8px 24px #15304f14;min-width:170px}.action-menu button{border:0;background:transparent;color:var(--ink);text-align:left;padding:9px 10px;border-radius:6px;min-height:40px;font-size:.875rem;white-space:normal}.action-menu button:hover{background:#edf3fc}.menu-divider{height:1px;background:var(--line);margin:4px 0}.menu-note{font-size:.8125rem;white-space:normal;color:var(--secondary);padding:4px 10px;margin:4px 0;line-height:1.6}
.pagination{gap:12px;padding-top:16px;margin-top:8px;align-items:center}.pagination>span:first-child{margin-right:auto}.pagination label{font-weight:400}.pagination select{min-height:40px}.pagination .button{min-width:78px}.pagination>span{white-space:nowrap}.scan-report-list{max-height:none;overflow:visible}.discovery-report summary{color:var(--ink);font-weight:600}.discovery-report .note{margin:10px 0;padding-bottom:10px;border-bottom:1px solid var(--line)}
dialog{width:600px;max-height:calc(100dvh - 40px);overflow-y:auto;padding:26px;color:var(--ink);background:#fff}dialog .modal-head{border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:18px}dialog::backdrop{background:#0c1b30a3}.modal-actions{border-top:1px solid var(--line);padding-top:18px}.icon-button{min-width:40px;min-height:40px;color:#526176}.toast{font-size:.9375rem;line-height:1.7;background:#152b46;color:#fff;z-index:10000;max-width:min(680px,90vw)}body:has(dialog[open]) .toast{display:none}dialog:has(form) .danger-notice{overflow-wrap:anywhere}
.loading-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;margin-bottom:16px;border:1px solid #c4d7f2;background:#edf4ff;color:#194878;border-radius:8px;font-size:.9375rem}.spinner{width:18px;height:18px;flex-shrink:0;border:2px solid #b8cbea;border-top-color:#245dc1;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}
.host-output{background:#101f34;color:#edf3ff;font-size:.875rem;border:1px solid #324865}.auth-page #status{color:var(--ink);background:#edf3fc;border-radius:8px;padding:12px}.auth-page #status:empty{display:none}.auth-card{color:var(--ink)}.admin-row{padding:16px 0}.detail-info dt{font-weight:600}.detail-info dd{color:var(--ink)}.detail-tabs{flex-wrap:wrap}.metric-card{background:#fff;border-color:var(--line)}.metric-card small{color:var(--secondary)}.sample-list{font-size:.875rem}
@media(max-width:1280px){aside{width:190px}.shell{margin-left:190px}main{padding:22px 20px 0}.page-head{align-items:flex-start;flex-wrap:wrap}.panel{padding:18px}.account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bottom-grid{grid-template-columns:1fr}.toolbar select{flex:1;max-width:100%}}
@media(max-width:760px){.shell{margin-left:0}aside{width:auto}main{padding:16px 12px 0}.panel{padding:16px 12px}.account-grid{grid-template-columns:1fr}.table-wrap{border:0;overflow:visible}td{font-size:.9375rem;min-width:0!important;max-width:none!important}td:before{color:var(--secondary);font-size:.875rem;font-weight:600}.group-row{display:block;padding:0;margin:24px 0 8px;border:0}.group-row th{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;border-radius:8px;padding:14px}.group-row th>*{margin:0}.group-row th>strong{flex-basis:100%}td:last-child:has(button){display:block}.server-actions{max-width:none;gap:10px;align-items:center}.server-actions .more-actions{flex:1;min-width:155px;max-width:none}.server-actions button{border:0;min-height:44px}.more-actions summary{min-height:44px}.action-menu button{width:100%}.toolbar{padding:12px}.toolbar select{max-width:100%}.pagination{font-size:.875rem;gap:10px}.pagination>span:first-child{flex:1}.pagination label{font-size:.875rem}.pagination .button{flex:0 1 auto;min-height:44px}.note,.subtle,.section-head .subtle,.page-head p,.page-footer{font-size:.875rem}.nav-short{font-size:.75rem}dialog .modal-actions{bottom:-16px;background:#fff}.modal-actions{flex-wrap:wrap}.loading-banner{font-size:.875rem}input,select,textarea{font-size:1rem}.detail-info{grid-template-columns:1fr}.server-detail .detail-tabs{gap:8px}}
table{font-size:1rem}.success-text{color:#166347}.warning-text{color:#875000}.dialog-feedback{background:#edf3fc;color:#1c416d;border:1px solid #c4d7ef;border-radius:8px;padding:12px 14px;font-size:.9375rem;line-height:1.7;overflow-wrap:anywhere}.bottom-grid{margin-top:24px}.more-actions:not([open]) .action-menu{display:none}

/* Capability reference, shared desktop/mobile layout. */
.capability-entry{display:flex;align-items:center;justify-content:space-between;width:100%;border:1px solid transparent;border-radius:8px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;padding:10px 8px}.capability-entry:hover,.capability-entry.selected{background:#e9efff;color:#244aa5}.capability-entry:focus-visible{outline:2px solid #3667d8;outline-offset:2px}.capability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.capability-page h2{margin:26px 0 14px}.capability-card{padding:20px;min-width:0}.capability-card h3{margin:0 0 12px}.capability-card dl{display:block;margin:16px 0 0}.capability-card dt{font-weight:650;color:#283548;margin-top:14px}.capability-card dd{margin:5px 0 0;color:#465267;line-height:1.7;overflow-wrap:anywhere}.capability-card p,.capability-intro p{line-height:1.75}.capability-page .toolbar label{display:flex;gap:8px;align-items:center}.capability-page .toolbar input[type=checkbox]{width:auto}.capability-page .toolbar>input{flex:1;min-width:200px}@media(max-width:850px){.capability-grid{grid-template-columns:1fr}.capability-card{padding:16px}}
dialog:has(.cu-network){width:min(1000px,calc(100vw - 32px))}.cu-network td small{overflow-wrap:anywhere}.cu-network fieldset{border:0;padding:0;margin:0;min-width:0}.cu-network fieldset label{display:block;margin:12px 0}.cu-network .toolbar{flex-wrap:wrap}
dialog:has(.cu-security){width:min(1000px,calc(100vw - 32px))}.cu-security fieldset{border:0;padding:0;margin:12px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;min-width:0}.cu-security td small{overflow-wrap:anywhere}
.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.metrics.currency-metrics{margin:16px 0 8px;grid-template-columns:minmax(240px,1fr)}
.metrics article[role=button]{cursor:pointer}
.metrics article[role=button]:hover{border-color:#245dc1}
.metric-unknown{color:#6c7d93!important;font-weight:600}
.ip-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.copy-ip{min-height:28px!important;padding:2px 8px!important;font-size:12px!important}
