:root{--bg:#071522;--panel:#0b1f31;--panel2:#0d2940;--panel3:#102f49;--line:#173b55;--line2:#20506f;--text:#e8f4fb;--muted:#7fa3b9;--cyan:#43d4ff;--cyan2:#1e91c5;--green:#42dfa2;--yellow:#f1c76a;--red:#ff6b7c;--purple:#b89cff;--shadow:0 16px 50px rgba(0,0,0,.2)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}.hidden{display:none!important}a{color:inherit;text-decoration:none}.muted{color:var(--muted);font-size:12px}.mono,code,pre{font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace}.btn{border:1px solid var(--line2);background:#0e2a40;color:#cce8f7;border-radius:7px;padding:8px 12px;cursor:pointer;transition:.18s}.btn:hover{border-color:#2c87b3;background:#123752}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{border-color:#1ca8df;background:linear-gradient(180deg,#168fc0,#0b729e);color:#fff}.btn.danger{border-color:#71394a;background:#331d29;color:#ffacb7}.btn.small{padding:5px 8px;font-size:12px}.btn.wide{width:100%}input,select,textarea{border:1px solid var(--line);background:#071a2a;color:var(--text);border-radius:7px;min-height:38px;padding:8px 10px;outline:none;max-width:100%}input:focus,select:focus,textarea:focus{border-color:#25a8d7;box-shadow:0 0 0 3px rgba(51,190,240,.08)}textarea{resize:vertical}label{font-size:12px;color:#91b1c4;display:grid;gap:6px}label small{color:#668da5}.check{display:flex;align-items:center;gap:7px}.check input{min-height:auto;width:auto}.brand-icon{width:44px;height:44px;border:1px solid #2e8ab0;border-radius:10px;display:grid;place-items:center;font-weight:800;font-size:13px;color:#70e7ff;background:linear-gradient(145deg,#0e3e5e,#071b2d);box-shadow:inset 0 0 20px rgba(67,212,255,.07),0 0 24px rgba(67,212,255,.08)}.brand-icon.small{width:36px;height:36px;border-radius:8px;font-size:11px}
/* auth */.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(360px,.7fr);background:radial-gradient(circle at 27% 45%,rgba(21,99,137,.25),transparent 34%),#06131f}.auth-visual{position:relative;min-height:100vh;overflow:hidden;border-right:1px solid var(--line)}.auth-brand{position:absolute;left:32px;top:26px;z-index:3;display:flex;align-items:center;gap:12px}.auth-brand strong{display:block;font-size:16px}.auth-brand small{display:block;color:#7299ae;margin-top:3px}.auth-globe{position:absolute;inset:6% 1% 18%;width:98%;height:76%}.auth-copy{position:absolute;z-index:3;left:6%;bottom:6%;max-width:760px}.auth-copy h1{font-size:clamp(25px,3vw,46px);margin:0 0 12px;letter-spacing:-1px}.auth-copy p{max-width:680px;color:#94b7c8;line-height:1.8}.feature-chips{display:flex;gap:8px;flex-wrap:wrap}.feature-chips span{border:1px solid #1f526e;background:rgba(8,36,54,.75);border-radius:999px;padding:6px 9px;color:#9ad9ee;font-size:11px}.auth-panel{display:grid;place-items:center;padding:28px}.auth-card{width:min(420px,100%);border:1px solid var(--line);background:rgba(8,27,42,.93);box-shadow:var(--shadow);border-radius:16px;padding:24px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:9px;padding:3px;margin-bottom:20px}.auth-tabs button{border:0;background:none;color:#7799ad;padding:8px;border-radius:6px;cursor:pointer}.auth-tabs button.active{background:#123852;color:#dff7ff}.form-stack{display:grid;gap:13px}.code-row{display:grid;grid-template-columns:1fr auto;align-items:end;gap:8px}.turnstile-slot:empty{display:none}.form-error{min-height:18px;color:#ff8796;font-size:12px}.auth-foot{text-align:center;color:#50768d;font-size:11px;border-top:1px solid #12344b;margin-top:19px;padding-top:15px}
/* app shell */.app{min-height:100vh;display:grid;grid-template-columns:222px 1fr}.sidebar{height:100vh;position:sticky;top:0;background:linear-gradient(180deg,#071827,#06121d);border-right:1px solid #12334a;padding:16px 11px;display:flex;flex-direction:column}.logo{display:flex;gap:10px;align-items:center;padding:2px 7px 17px;border-bottom:1px solid #102d41;margin-bottom:10px}.logo strong{display:block;font-size:14px}.logo small{display:block;color:#587e94;font-size:10px;margin-top:2px}.sidebar nav{display:flex;flex-direction:column;gap:3px;overflow:auto}.nav{border:0;background:transparent;color:#7394a9;text-align:left;padding:9px 10px;border-radius:7px;cursor:pointer;display:flex;gap:10px;align-items:center}.nav:hover{background:#0b263a;color:#c6e7f6}.nav.active{background:linear-gradient(90deg,#0c3a58,#0c2a41);color:#69e0ff;box-shadow:inset 2px 0 #39c9f4}.nav-ico{width:17px;text-align:center}.sidebar-foot{margin-top:auto;padding:10px 7px;display:flex;align-items:center;justify-content:space-between;gap:5px}.sidebar-foot>div{display:flex;gap:4px;flex-wrap:wrap}.badge,.pill{display:inline-flex;align-items:center;border:1px solid #1d4862;background:#0c2a40;color:#8fc7dc;border-radius:999px;padding:3px 7px;font-size:10px}.pill.red{border-color:#653243;color:#ff9cad;background:#281923}.pill.blue{color:#6ee8ff}.pill.normal{color:#71ddff}.pill.crawler{color:#9bf28b}.pill.ai_crawler{color:#c5b0ff}.pill.scanner{color:#ff8a9a;border-color:#713346}.pill.automation{color:#ffd77e}.pill.suspicious{color:#ffad70}.link-btn{border:0;background:none;color:#64889e;cursor:pointer}main{min-width:0;background:linear-gradient(180deg,#071522,#081725 40%,#071522)}header{height:70px;position:sticky;top:0;z-index:15;background:rgba(6,22,35,.94);backdrop-filter:blur(12px);border-bottom:1px solid #14354b;padding:13px 22px;display:flex;align-items:center;justify-content:space-between;gap:14px}header h2{margin:0 0 3px;font-size:18px}.header-actions{display:flex;gap:7px;align-items:center}#content{padding:18px 21px 60px}.loading,.empty{padding:35px;text-align:center;color:#6f94a9}.danger-text{color:#ff8d9c}
/* cards */.grid{display:grid;gap:11px}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:11px}.metric{border:1px solid var(--line);background:linear-gradient(145deg,#0a2133,#091b2b);border-radius:9px;padding:14px 15px;min-width:0;box-shadow:0 7px 22px rgba(0,0,0,.1)}.metric .label{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:#6f9bb2}.metric .value{font-size:24px;font-weight:760;margin:5px 0;color:#ecfaff}.metric .hint{font-size:10px;color:#577b90}.metric.danger-metric .value{color:#ff95a3}.card{border:1px solid var(--line);background:rgba(9,29,44,.88);border-radius:9px;margin-bottom:11px;overflow:hidden;box-shadow:0 7px 24px rgba(0,0,0,.09)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid #12364d;background:rgba(10,34,51,.65)}.card-head h3{font-size:13px;margin:0}.card-head small{display:block;margin-top:3px}.card-body{padding:14px}.split{display:grid;grid-template-columns:1fr 1fr;gap:11px}.analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#143348}.quick-grid button{border:0;background:#091e2f;color:#d4edf8;padding:18px;text-align:left;cursor:pointer}.quick-grid button:hover{background:#0c2b41}.quick-grid b,.quick-grid span{display:block}.quick-grid span{color:#668ba0;font-size:11px;margin-top:6px}.help-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.help-grid>div{border:1px solid #143a52;border-radius:7px;padding:12px;background:#081c2c}.help-grid p{color:#668da3;font-size:11px;line-height:1.6;margin:6px 0 0}.node-mini>div{padding:10px 14px;border-bottom:1px solid #102e42;display:flex;justify-content:space-between;align-items:center}.node-mini span{display:flex;align-items:center;gap:7px}.node-mini small{color:#5f8298}.node-mini em{font-style:normal;color:#739db1;font-size:11px}
/* table */.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px}th,td{padding:9px 10px;border-bottom:1px solid #102f44;white-space:nowrap;text-align:left;vertical-align:middle}th{color:#638ca3;font-weight:600;background:#081c2b;position:sticky;top:0}tbody tr:hover{background:#0b2639}td.wrap{white-space:normal;max-width:520px;word-break:break-word}.subline{display:block;color:#66899e;margin-top:3px;max-width:420px;overflow:hidden;text-overflow:ellipsis}.ua{max-width:300px!important}.row-actions{display:flex;gap:5px;align-items:center}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#4b6575;vertical-align:middle}.dot.good,.live-dot{background:var(--green);box-shadow:0 0 8px rgba(66,223,162,.7)}.dot.bad{background:var(--red)}.status{display:inline-flex;align-items:center;gap:5px}.status-code{padding:2px 6px;border-radius:4px;background:#12334b;color:#a6d5e8}.status-code.s2{color:#77ebb2}.status-code.s4{color:#ffd57a}.status-code.s5{color:#ff8392}.pagination{display:flex;justify-content:flex-end;align-items:center;gap:7px;padding:11px 13px;color:#7196aa}.rank-list{display:grid;gap:8px}.rank-list>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed #16374b;padding-bottom:7px}.rank-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#90afc0}.rank-list b{font-size:11px;color:#5ed6fb}
/* charts */.bars{display:grid;gap:9px}.bar-row{display:grid;grid-template-columns:minmax(90px,1.5fr) 2fr 65px;gap:8px;align-items:center;font-size:10px}.bar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{height:6px;background:#102c40;border-radius:999px;overflow:hidden}.bar-track i{display:block;height:100%;background:linear-gradient(90deg,#177dac,#4dd6ff);border-radius:999px}.bar-row b{text-align:right;color:#8ab6c9}.trend{height:180px;display:flex;gap:3px;align-items:flex-end;border-bottom:1px solid #164159;padding-top:15px}.trend-col{flex:1;min-width:3px;background:linear-gradient(180deg,#44d4ff,#176d96);border-radius:3px 3px 0 0;opacity:.82}.trend-col:hover{opacity:1}.trend-caption{display:flex;justify-content:space-between;color:#537a91;font-size:9px;margin-top:5px}
/* filters */.filter-card{padding:10px 12px}.toolbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.toolbar .grow{flex:1;min-width:230px}.tabs{display:flex;gap:3px}.tab{border:1px solid #174058;background:#0a2235;color:#7399ae;padding:7px 10px;border-radius:6px;cursor:pointer}.tab.active{background:#0d3d5d;color:#64e2ff;border-color:#247ba3}.search-help{font-size:10px;color:#557d93;margin-top:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hint-box,.warning-box,.success-box{border:1px solid #1a4962;background:#092539;border-radius:7px;padding:11px;color:#8fb5c6;font-size:11px;line-height:1.7}.warning-box{border-color:#66532b;background:#2b2617;color:#d8be7c}.success-box{border-color:#1e624d;background:#0b3029}.secret-line{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center;margin:10px 0}.secret-line code{background:#06131e;border:1px solid #18506d;border-radius:6px;padding:10px;word-break:break-all;color:#78e6ff}.code-pre,.config-block pre,.code-card pre{white-space:pre-wrap;word-break:break-all;background:#051520;border:1px solid #153c54;border-radius:6px;padding:12px;color:#a9d6e8;line-height:1.6;max-height:430px;overflow:auto;font-size:10px}.config-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:10px}.config-block{border:1px solid #153a51;border-radius:8px;padding:11px;margin:11px 0;background:#081d2c}.config-title{display:flex;justify-content:space-between;gap:10px;align-items:start}.config-title small{display:block;color:#63899f;max-width:640px;margin-top:3px}.cmds{display:flex;gap:16px;flex-wrap:wrap;color:#698da1;font-size:10px}.notes p{font-size:10px;color:#688da2;margin:5px 0}details{border-top:1px solid #15364b;padding:10px 0}summary{cursor:pointer;color:#9ac6d9}.code-card{padding:10px}
/* globe */.situation-shell{border:1px solid #16425c;background:#061a2a;border-radius:8px;overflow:hidden;min-height:calc(100vh - 115px)}.situation-top{height:48px;display:flex;align-items:center;justify-content:space-between;padding:7px 12px;border-bottom:1px solid #16405a;background:#072036;font-size:11px}.situation-top>div:first-child{display:flex;align-items:center;gap:7px}.live-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.situation-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;min-height:calc(100vh - 165px)}.globe-card{position:relative;min-height:620px;background:radial-gradient(circle at 50% 50%,#0b314a,#051824 65%)}.globe-card canvas{position:absolute;inset:0;width:100%;height:100%}.globe-legend{position:absolute;bottom:13px;right:13px;display:flex;gap:6px;flex-wrap:wrap;max-width:70%;justify-content:flex-end}.legend{padding:3px 6px;border:1px solid #1e4d68;background:rgba(5,24,36,.82);border-radius:4px;font-size:9px;color:#8fb7c9}.legend.normal{color:#4dd7ff}.legend.crawler{color:#9bf28b}.legend.ai_crawler{color:#b59cff}.legend.scanner{color:#ff627d}.legend.automation{color:#ffd26a}.legend.suspicious{color:#ff995d}.feed-card{border-left:1px solid #16415b;background:#061824;overflow:hidden}.feed-title{height:40px;padding:12px;border-bottom:1px solid #12384e;font-size:11px;font-weight:700}.feed-title span{float:right;color:#4adcfb}.request-feed{height:calc(100vh - 205px);overflow:auto}.feed-row{display:grid;grid-template-columns:8px 1fr auto;gap:7px;padding:9px 10px;border-bottom:1px solid #0e2b3c;font-size:10px}.feed-row b,.feed-row small{display:block}.feed-row b{color:#bde2f1}.feed-row small{color:#597f94;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px}.feed-row time{color:#456d83;font-size:9px}.req-dot{width:5px;height:5px;border-radius:50%;background:#4dd7ff;margin-top:4px}.req-dot.crawler{background:#9bf28b}.req-dot.ai_crawler{background:#b59cff}.req-dot.scanner{background:#ff627d}.req-dot.automation{background:#ffd26a}.req-dot.suspicious{background:#ff995d}
/* settings/account */.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.settings-section{border:1px solid #153a51;background:#091e2e;border-radius:8px;overflow:hidden}.settings-section h3{font-size:12px;margin:0;padding:11px 13px;border-bottom:1px solid #14364d;background:#0a2437}.settings-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:13px}.wide-field{grid-column:1/-1}.sticky-save{position:sticky;bottom:12px;display:flex;justify-content:flex-end;padding:10px;background:rgba(7,21,34,.88);backdrop-filter:blur(8px);border:1px solid #15405a;border-radius:8px;margin-top:12px}.kv-list{display:grid;grid-template-columns:145px minmax(0,1fr);gap:9px 12px;align-items:center}.kv-list span{color:#6f98ad}.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.account-grid>.card:first-child{grid-row:span 2}
/* modal/toast */.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px}.modal-backdrop{position:absolute;inset:0;background:rgba(0,7,12,.7);backdrop-filter:blur(3px)}.modal-card{position:relative;width:min(720px,100%);max-height:88vh;overflow:auto;border:1px solid #1a4d69;border-radius:11px;background:#081d2d;box-shadow:0 30px 90px rgba(0,0,0,.55)}.modal-card.wide{width:min(1050px,96vw)}.modal-head{position:sticky;top:0;z-index:2;background:#0a263a;padding:12px 15px;border-bottom:1px solid #16435c;display:flex;justify-content:space-between;align-items:center}.modal-head h3{margin:0;font-size:13px}.modal-head button{border:0;background:none;color:#84a9bc;font-size:22px;cursor:pointer}.modal-body{padding:15px}.toast{position:fixed;right:18px;bottom:18px;z-index:200;padding:10px 14px;background:#0c4052;border:1px solid #287896;color:#d8f7ff;border-radius:7px;box-shadow:var(--shadow);font-size:11px}.toast.bad{background:#451f2b;border-color:#8c4258;color:#ffc0c8}
@media(max-width:1180px){.metrics{grid-template-columns:repeat(2,1fr)}.help-grid,.quick-grid{grid-template-columns:repeat(2,1fr)}.settings-grid{grid-template-columns:1fr}.situation-grid{grid-template-columns:1fr 260px}.analytics-grid{grid-template-columns:1fr}}
@media(max-width:820px){.auth-shell{grid-template-columns:1fr}.auth-visual{min-height:420px;border-right:0;border-bottom:1px solid var(--line)}.auth-panel{padding:18px}.app{grid-template-columns:66px 1fr}.sidebar{padding:12px 7px}.logo>div,.nav span:last-child,.sidebar-foot .badge{display:none}.logo{justify-content:center}.nav{justify-content:center;font-size:16px}.sidebar-foot{justify-content:center}.situation-grid{grid-template-columns:1fr}.feed-card{border-left:0;border-top:1px solid #16415b}.request-feed{height:280px}.globe-card{min-height:520px}.config-controls{grid-template-columns:1fr 1fr}.account-grid{grid-template-columns:1fr}.account-grid>.card:first-child{grid-row:auto}}
@media(max-width:620px){header{height:auto;padding:10px 12px;align-items:flex-start;flex-direction:column}.header-actions{width:100%;overflow:auto}#content{padding:10px}.metrics{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr}.form-grid,.settings-fields{grid-template-columns:1fr}.wide-field{grid-column:auto}.help-grid,.quick-grid{grid-template-columns:1fr}.config-controls{grid-template-columns:1fr}.auth-copy{left:20px;right:20px}.auth-brand{left:20px}.metric .value{font-size:20px}.globe-card{min-height:430px}}
@media(max-width:420px){.metrics{grid-template-columns:1fr}.auth-visual{display:none}.auth-shell{display:block;padding:10vh 12px}.auth-panel{padding:0}.app{grid-template-columns:56px 1fr}.sidebar{padding-left:4px;padding-right:4px}.nav{padding:9px 6px}}
/* notifications / quota */
.nav-count{margin-left:auto;min-width:18px;height:18px;padding:0 5px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#b52d4a;color:#fff;font-size:9px;font-style:normal;box-shadow:0 0 12px rgba(255,75,108,.28)}
.notification-list{display:grid}.notification-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 15px;border-bottom:1px solid #102f44;background:#081d2b}.notification-item.unread{background:linear-gradient(90deg,rgba(21,103,139,.16),rgba(8,29,43,.95));box-shadow:inset 3px 0 #34c8f4}.notification-item b{margin-left:7px}.notification-item small{display:block;color:#5f879d;margin-top:5px}.notification-item p{color:#a6c3d2;margin:7px 0 0;white-space:pre-wrap;line-height:1.65}.quota-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quota-grid>div{border:1px solid #15384d;background:#071a29;border-radius:7px;padding:11px;display:grid;gap:5px}.quota-grid span{color:#658ba0;font-size:10px}.quota-grid b{font-size:12px;color:#b7d9e8}.quota-track{display:block;height:5px;background:#102d40;border-radius:999px;overflow:hidden}.quota-track em{display:block;height:100%;background:linear-gradient(90deg,#1b8fb9,#50ddff);border-radius:999px}.check{display:flex!important;align-items:center;gap:7px;margin-top:7px}.check input{width:auto;min-width:auto}
@media(max-width:620px){.quota-grid{grid-template-columns:1fr}.notification-item{grid-template-columns:1fr}.nav-count{position:absolute;right:4px;top:4px}}
.wide-account{grid-column:1/-1}.usage-bars{height:180px;display:flex;gap:7px;align-items:flex-end;border-bottom:1px solid #174059;padding:14px 5px 24px}.usage-bars>div{height:100%;flex:1;display:flex;align-items:flex-end;justify-content:center;position:relative;min-width:8px}.usage-bars i{display:block;width:min(26px,70%);min-height:2px;background:linear-gradient(180deg,#49d9ff,#13789e);border-radius:4px 4px 0 0}.usage-bars small{position:absolute;bottom:-20px;color:#547d92;font-size:8px;white-space:nowrap}

/* node diagnostics */
.diag-list{display:grid;gap:8px;margin:12px 0}.diag-row{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:10px 12px;border:1px solid #183c52;border-radius:7px;background:#091f2f}.diag-row b{font-size:11px}.diag-row span{color:#8aabba}.diag-row.good{border-color:#1d5748}.diag-row.warn{border-color:#66532b}.diag-row.bad{border-color:#6a3342}.diag-row.info{border-color:#27485e}
/* v2.5 visual refresh: Ele.me-style sky-blue accent on the existing dark SOC shell */
:root{--cyan:#00a9f4;--cyan2:#008ecf;--line2:#176a91}.btn.primary{border-color:#00a9f4;background:#00a9f4;color:#fff}.btn.primary:hover{background:#0098dc;border-color:#0098dc}.required-mark{color:#35c2ff}.install-command{margin:10px 0;border:1px solid #164a67;border-radius:7px;padding:8px;background:#061a29}.install-command summary{cursor:pointer;color:#86dfff}.btn.tiny{padding:2px 6px;font-size:10px}.copy-fallback{width:100%;min-height:220px}.lang-select{min-width:90px}.auth-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.globe-btn{font-size:18px;line-height:1;padding:5px 10px}.situation-tools{flex-wrap:wrap;justify-content:flex-end}.confirm-copy p{line-height:1.8}.confirm-copy .actions{justify-content:flex-end;margin-top:18px}
@media(max-width:820px){.situation-top{height:auto;min-height:52px;align-items:flex-start;gap:8px}.situation-tools{max-width:80%}.globe-card{min-height:460px}.auth-globe{inset:4% 0 21%;width:100%;height:75%}}
@media(max-width:620px){.situation-tools{max-width:none;width:100%;justify-content:flex-start}.situation-top{flex-direction:column}.globe-card{min-height:390px}.globe-legend{left:8px;right:8px;max-width:none;justify-content:center}.auth-visual{min-height:360px}.auth-copy{bottom:3%}.auth-copy p{display:none}}
@media(max-width:420px){.auth-visual{display:block;min-height:280px}.auth-shell{display:grid;padding:0}.auth-panel{padding:12px}.auth-brand{top:12px;left:12px}.auth-copy{left:12px;right:12px;bottom:8px}.auth-copy h1{font-size:20px;margin-bottom:6px}.feature-chips{display:none}.auth-globe{inset:0;width:100%;height:100%;opacity:.9}.globe-card{min-height:330px}.feed-card{display:none}}
.impersonation-banner{position:fixed;z-index:1200;left:50%;top:10px;transform:translateX(-50%);display:flex;gap:12px;align-items:center;background:#111827;color:#fff;padding:8px 12px;border-radius:10px;box-shadow:0 8px 30px #0003;font-size:13px}.impersonation-banner.hidden{display:none}.app:not(.hidden)~*{}@media(max-width:700px){.impersonation-banner{left:10px;right:10px;transform:none;justify-content:space-between}}
/* administrator host resource overview */
.server-health{overflow:visible}.health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#e9eef2;gap:1px}.health-card{min-height:120px;background:#fff;color:#111827;display:flex;align-items:center;justify-content:space-between;padding:18px 22px}.health-card small{display:block;color:#64748b;font-size:11px;margin-bottom:8px}.health-card b{display:block;font-size:13px;color:#0f172a}.health-ring{--pct:0;width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#16a34a calc(var(--pct)*1%),#e5e7eb 0);position:relative;flex:0 0 auto}.health-ring:after{content:"";position:absolute;inset:7px;border-radius:50%;background:#fff}.health-ring strong{position:relative;z-index:1;font-size:25px;color:#16a34a}.health-ring em{font-size:10px;font-style:normal;margin-left:2px}.server-health-foot{background:#fff;color:#64748b;border-top:1px solid #e5e7eb;padding:8px 14px;font-size:10px}.server-health .card-head{background:#fff;color:#0f172a;border-color:#e5e7eb}.server-health .card-head .muted{color:#64748b}
@media(max-width:1050px){.health-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.health-grid{grid-template-columns:1fr}.health-card{min-height:96px}.health-ring{width:68px;height:68px}.health-ring strong{font-size:20px}}

/* v2.5 administrator self-check center */
.health-checks{display:grid;gap:12px}
.health-check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.health-check{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line,#e7edf5);border-radius:12px;padding:11px 12px;background:#fff}
.health-check>i{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;border-radius:50%;font-style:normal;font-weight:800;background:#eef5ff;color:#3178ff}
.health-check span{display:grid;gap:3px;min-width:0}.health-check small{color:var(--muted,#667085);line-height:1.5;word-break:break-word}
.health-check.ok>i{background:#eafaf1;color:#18a661}.health-check.warn>i{background:#fff6df;color:#b77900}.health-check.error>i{background:#fff0f0;color:#d13c3c}
.health-db{margin-top:2px}
@media(max-width:720px){.health-check-list{grid-template-columns:1fr}}

/* v2.5 collector protection / unified refresh */
.pill.cc_attack,.legend.cc_attack{color:#ff6b7d;border-color:#803447}.pill.ddos_suspected,.legend.ddos_suspected{color:#ff3b5c;border-color:#8f263d;background:rgba(87,18,32,.45)}
.req-dot.cc_attack{background:#ff3b5c;box-shadow:0 0 8px rgba(255,59,92,.7)}.req-dot.ddos_suspected{background:#ff1744;box-shadow:0 0 10px rgba(255,23,68,.75)}
.pill.orange{color:#ffbf66;border-color:#6f512b}.pill.green{color:#8be8a8;border-color:#285c3a}
.auto-refresh-control{display:inline-flex;align-items:center;gap:5px;color:#83a7bb;font-size:11px;white-space:nowrap;border:1px solid #173d54;background:#0a2132;border-radius:6px;padding:6px 8px}.auto-refresh-control input{accent-color:#29b6f6}
.protection-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.protection-summary>div{padding:10px;border:1px solid #173e55;border-radius:8px;background:#081f30}.protection-summary span,.protection-summary b{display:block}.protection-summary span{color:#6d95aa;font-size:10px}.protection-summary b{margin-top:4px;font-size:13px;color:#c5e8f7}
@media(max-width:900px){.header-actions{flex-wrap:wrap;justify-content:flex-end}.protection-summary{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.auto-refresh-control{order:20}.protection-summary{grid-template-columns:1fr}.header-actions #autoRefreshInterval{max-width:84px}}

.pill.sqli_probe,.legend.sqli_probe,.pill.xss_probe,.legend.xss_probe,.pill.path_traversal,.legend.path_traversal,.pill.sensitive_probe,.legend.sensitive_probe,.pill.exploit_probe,.legend.exploit_probe{color:#ffb25b;border-color:#80532d}
.req-dot.sqli_probe,.req-dot.xss_probe,.req-dot.path_traversal,.req-dot.sensitive_probe,.req-dot.exploit_probe{background:#ff8a00;box-shadow:0 0 8px rgba(255,138,0,.65)}

/* v2.8 visual system — Ele.me-inspired sky blue + clean neutral surfaces */
:root{--bg:#f5f8fb;--panel:#ffffff;--panel2:#f7fbff;--panel3:#eef8ff;--line:#e4edf4;--line2:#b9ddf5;--text:#1f2d3d;--muted:#7b8b9a;--cyan:#00a9f4;--cyan2:#008fd6;--green:#20b486;--yellow:#f5a623;--red:#f05252;--purple:#7b61ff;--shadow:0 10px 35px rgba(34,94,130,.10)}
html,body{background:var(--bg);color:var(--text)}
.btn{border-color:#d6e7f2;background:#fff;color:#456176;box-shadow:0 1px 2px rgba(30,75,100,.04)}.btn:hover{border-color:#79cffa;background:#f3fbff;color:#078dcc}.btn.primary{border-color:#00a9f4;background:#00a9f4;color:#fff;box-shadow:0 6px 18px rgba(0,169,244,.20)}.btn.primary:hover{background:#0097dc;border-color:#0097dc}.btn.danger{border-color:#ffd0d0;background:#fff5f5;color:#d13f3f}
input,select,textarea{border-color:#dbe8f0;background:#fff;color:#23384a}input:focus,select:focus,textarea:focus{border-color:#00a9f4;box-shadow:0 0 0 3px rgba(0,169,244,.10)}label{color:#566f82}label small,.muted{color:#8a9aa8}
.brand-icon{border-color:#79d4ff;color:#008dcc;background:linear-gradient(145deg,#e8f8ff,#ffffff);box-shadow:0 7px 18px rgba(0,169,244,.14)}
.auth-shell{background:#f7fbfe}.auth-visual{border-color:#e0eef6;background:radial-gradient(circle at 38% 44%,rgba(0,169,244,.12),transparent 36%),linear-gradient(145deg,#f8fcff,#edf8ff)}.auth-brand small{color:#7f9aad}.auth-copy p{color:#658397}.feature-chips span{border-color:#bfe7fb;background:rgba(255,255,255,.82);color:#2089bd}.auth-panel{background:#fff}.auth-card{border-color:#e0edf5;background:#fff;box-shadow:0 18px 50px rgba(36,101,136,.13)}.auth-tabs{border-color:#e1edf4;background:#f6fafc}.auth-tabs button{color:#7891a3}.auth-tabs button.active{background:#e6f7ff;color:#0094dc;box-shadow:0 1px 4px rgba(0,169,244,.12)}.auth-foot{color:#8da1b0;border-color:#edf2f5}.form-error{color:#e44949}
.map-load-error{height:100%;display:grid;place-items:center;text-align:center;padding:20px;color:#7791a2;background:radial-gradient(circle,#eef9ff,#f8fcff)}
.app{background:#f5f8fb}.sidebar{background:#fff;border-color:#e3edf4;box-shadow:2px 0 12px rgba(45,97,125,.04)}.logo{border-color:#edf2f5}.logo small{color:#91a3b0}.nav{color:#667f91}.nav:hover{background:#f2f9fd;color:#168fc8}.nav.active{background:#e9f8ff;color:#008fd6;box-shadow:inset 3px 0 #00a9f4}.sidebar-foot .badge,.badge,.pill{border-color:#d7eaf5;background:#f3faff;color:#4d7188}.pill.red{border-color:#ffd5d5;color:#dc4a4a;background:#fff5f5}.pill.blue,.pill.normal{color:#008fd6}.link-btn{color:#7190a4}
main{background:#f5f8fb}header{background:rgba(255,255,255,.94);border-color:#e4edf4;box-shadow:0 4px 16px rgba(40,83,110,.04)}
.metric{border-color:#e4edf4;background:#fff;box-shadow:0 5px 20px rgba(44,96,126,.06)}.metric .label{color:#8a9aa8}.metric .value{color:#22384a}.metric .hint{color:#91a2af}.metric.danger-metric .value{color:#e64c4c}.card{border-color:#e4edf4;background:#fff;box-shadow:0 5px 22px rgba(44,96,126,.06)}.card-head{border-color:#edf2f5;background:#fbfdff}.quick-grid{background:#edf3f6}.quick-grid button{background:#fff;color:#294257}.quick-grid button:hover{background:#f3fbff}.quick-grid span{color:#8a9ba8}.help-grid>div{border-color:#e4edf4;background:#fbfdff}.help-grid p{color:#8194a2}.node-mini>div{border-color:#edf2f5}.node-mini small,.node-mini em{color:#8297a5}
th,td{border-color:#edf2f5}th{color:#768c9d;background:#f8fbfd}tbody tr:hover{background:#f6fbfe}.status-code{background:#eff8fd;color:#527b92}.rank-list>div{border-color:#e0ebf1}.rank-list span{color:#668092}.rank-list b{color:#009bdf}
.bar-track{background:#edf4f7}.bar-track i,.trend-col{background:linear-gradient(90deg,#00a9f4,#51c8ff)}.quota-grid>div,.diag-row,.protection-summary>div{border-color:#e4edf4;background:#fbfdff}.quota-grid span,.protection-summary span{color:#8195a4}.quota-grid b,.protection-summary b{color:#334e62}.auto-refresh-control{color:#637e90;border-color:#dcebf3;background:#fff}.auto-refresh-control input{accent-color:#00a9f4}
.notification-item{border-color:#edf2f5;background:#fff}.notification-item.unread{background:linear-gradient(90deg,#eefaff,#fff);box-shadow:inset 3px 0 #00a9f4}.notification-item small{color:#879ba9}.notification-item p{color:#526d7f}
.situation-shell,.globe-card,.feed-card{background:#fff!important;border-color:#e2edf4!important}.situation-top{background:#fbfdff!important;border-color:#e5eef4!important}.globe-legend{background:rgba(255,255,255,.88)!important;border-color:#d9eaf4!important;color:#607c8e!important}.feed-title,.request-row{border-color:#edf2f5!important}.request-row{background:#fff!important}.request-row:hover{background:#f7fbfd!important}
.modal-backdrop{background:rgba(39,60,73,.25)!important}.modal-card{background:#fff!important;border-color:#dfeaf1!important;color:#263e51!important;box-shadow:0 24px 70px rgba(43,79,100,.18)!important}.modal-head{border-color:#edf2f5!important;background:#fbfdff!important}
.health-grid{background:#e9eef2}.health-check{border-color:#e4edf4}.health-db{color:#5f7687}
@media(max-width:420px){.auth-panel{background:#f7fbfe}.auth-card{box-shadow:0 10px 32px rgba(36,101,136,.11)}}

/* v2.8 full-site visual audit — remove remaining dark-theme islands and center feedback */
.toast{left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important;z-index:1500!important;width:min(460px,calc(100vw - 32px));padding:14px 18px!important;text-align:center;background:#fff!important;border:1px solid #cfe7f3!important;color:#31536a!important;border-radius:13px!important;box-shadow:0 24px 70px rgba(28,69,93,.24)!important;font-size:12px!important;font-weight:750;line-height:1.6}.toast.bad{background:#fff6f6!important;border-color:#f2c6ca!important;color:#ad343b!important}
.settings-section{border-color:#e2edf4!important;background:#fff!important;border-radius:11px!important;box-shadow:0 4px 18px rgba(42,90,117,.045)!important}.settings-section h3{border-color:#edf2f5!important;background:#f9fcfe!important;color:#345267!important}.settings-fields{background:#fff!important}.sticky-save{background:rgba(255,255,255,.92)!important;border-color:#dceaf2!important;box-shadow:0 8px 24px rgba(42,90,117,.08)!important}.kv-list span{color:#758c9d!important}.hint-box{border-color:#dcebf3!important;background:#f6fbfe!important;color:#647f91!important}.warn-box{border-color:#efdba9!important;background:#fffaf0!important;color:#76540d!important}.success-box{border-color:#c5e9dc!important;background:#f0fbf7!important;color:#147256!important}.error-box{border-color:#f0c7ca!important;background:#fff5f5!important;color:#aa333a!important}.secret-line code,.code-pre,.config-block pre,.code-card pre,.install-command{background:#f6fafc!important;border-color:#dceaf2!important;color:#35586d!important}.config-block,.code-card{border-color:#e1ebf1!important;background:#fbfdff!important}.config-title small,.cmds,.notes p,summary{color:#728b9c!important}details{border-color:#e5eef3!important}.diag-row{border-color:#e0ebf1!important;background:#fbfdff!important}.diag-row span{color:#728b9c!important}.quota-track{background:#eaf2f6!important}.quota-track em{background:linear-gradient(90deg,#00a9f4,#55caff)!important}.usage-bars>div{border-color:#e4edf4!important;background:#fbfdff!important}.form-stack{color:#345267}.pagination{color:#6f8799!important}.subline{color:#7e94a3!important}.feed-row{border-color:#edf2f5!important;background:#fff!important}.feed-row b{color:#35556a!important}.feed-row small,.feed-row time{color:#8195a4!important}.feed-row:hover{background:#f6fbfe!important}.request-feed{background:#fff!important}.copy-fallback{background:#fff!important;color:#29485c!important}.pill.green{color:#0b8a64!important;border-color:#bfe8d9!important;background:#effbf7!important}.pill.orange{color:#a56700!important;border-color:#f0dba8!important;background:#fffaf0!important}.pill.cc_attack,.pill.ddos_suspected,.pill.sqli_probe,.pill.xss_probe,.pill.path_traversal,.pill.sensitive_probe,.pill.exploit_probe{background:#fff6f6!important}.impersonation-banner{background:#173b50!important;box-shadow:0 10px 30px rgba(25,58,77,.22)!important}.health-ring{background:conic-gradient(#00a9f4 calc(var(--pct)*1%),#e5eef3 0)!important}.health-ring strong{color:#008fd6!important}.multi-only.hidden{display:none!important}
@media(max-width:700px){.toast{width:calc(100vw - 28px)!important}}
/* v2.8 audit follow-up: historical components that were not covered by the first light-theme pass */
.tab{border-color:#dbeaf2!important;background:#fff!important;color:#647f91!important}.tab:hover{border-color:#9edcf8!important;background:#f3fbff!important;color:#078dcc!important}.tab.active{border-color:#8dd8fa!important;background:#e9f8ff!important;color:#008fd6!important;box-shadow:inset 0 0 0 1px rgba(0,169,244,.05)!important}.warning-box{border-color:#efdba9!important;background:#fffaf0!important;color:#76540d!important}.legend{border-color:#d6e8f1!important;background:rgba(255,255,255,.91)!important;color:#607c8e!important;box-shadow:0 2px 10px rgba(42,91,119,.05)!important}.usage-bars{border-color:#e2edf4!important}.usage-bars small{color:#8297a6!important}.search-help{color:#7f95a4!important}

/* v2.9 globe lifecycle/layout: MapLibre requires an explicitly sized container. */
#mainGlobe{position:absolute;inset:0;width:100%;height:100%;min-height:100%;overflow:hidden}
#mainGlobe>.maplibregl-map,.auth-globe>.maplibregl-map,#mainGlobe>.weblogs-fallback-globe,.auth-globe>.weblogs-fallback-globe{position:absolute;inset:0;width:100%!important;height:100%!important;display:block}
.weblogs-fallback-globe{touch-action:none;cursor:grab}
.weblogs-fallback-globe:active{cursor:grabbing}
/* Login must stay interactive even while the WebGL globe is loading. */
.auth-visual{z-index:0}.auth-globe{z-index:1}.auth-panel{position:relative;z-index:20;isolation:isolate}.auth-card{position:relative;z-index:21;pointer-events:auto}.auth-card input,.auth-card button,.auth-card select{pointer-events:auto}
.good-text{color:#15996f;font-weight:700}

/* v3.2 header action bar: grouped, compact and visually balanced */
.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}
.header-action-group{display:flex;align-items:center;gap:2px;padding:4px;border:1px solid #deebf3;background:rgba(255,255,255,.92);border-radius:11px;box-shadow:0 4px 14px rgba(47,96,124,.055);min-height:42px}
.header-action-group .header-select{border:0;background:transparent;min-height:32px;height:32px;padding:4px 26px 4px 9px;color:#506b7d;border-radius:8px;box-shadow:none;font-size:12px;cursor:pointer}
.header-action-group .header-select:hover,.header-action-group .header-select:focus{background:#f1f9fd;color:#078dcc;box-shadow:none}
.header-separator{width:1px;height:20px;background:#e6eef3;margin:0 2px}
.header-refresh-group{gap:4px;transition:border-color .18s ease,box-shadow .18s ease}
.header-refresh-group.auto-on{border-color:#bfe9d9;box-shadow:0 4px 16px rgba(18,156,112,.08)}
.header-refresh-group .auto-refresh-control{position:relative;border:0;background:transparent;min-height:32px;padding:5px 8px;border-radius:8px;gap:6px;white-space:nowrap;box-shadow:none;cursor:pointer;user-select:none}
.header-refresh-group .auto-refresh-control:hover{background:#f3faff;color:#158fc7}
.header-refresh-group .auto-refresh-control input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.auto-refresh-switch{position:relative;width:28px;height:16px;border-radius:999px;background:#d8e6ee;box-shadow:inset 0 0 0 1px #c8dbe6;transition:background .18s ease,box-shadow .18s ease;flex:0 0 auto}
.auto-refresh-switch i{position:absolute;left:2px;top:2px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(43,83,105,.25);transition:transform .18s ease}
.auto-refresh-control input:checked+.auto-refresh-switch{background:#20b883;box-shadow:inset 0 0 0 1px #18a775}
.auto-refresh-control input:checked+.auto-refresh-switch i{transform:translateX(12px)}
.auto-refresh-control input:focus-visible+.auto-refresh-switch{outline:2px solid rgba(0,169,244,.28);outline-offset:2px}
.header-refresh-group .interval-select{min-width:72px}
.header-refresh-group .interval-select:disabled{opacity:.45;cursor:not-allowed;background:transparent}
.header-refresh-btn{height:32px;min-height:32px;padding:5px 11px;border:1px solid #cfeaf8!important;border-radius:8px!important;background:linear-gradient(180deg,#f4fbff,#e8f7ff)!important;color:#078dcc!important;box-shadow:0 1px 2px rgba(32,116,157,.08)!important;display:inline-flex;align-items:center;gap:6px;font-weight:700;transition:background .18s ease,border-color .18s ease,transform .12s ease}
.header-refresh-btn:hover{background:linear-gradient(180deg,#ebf9ff,#dcf3ff)!important;border-color:#b7ddf0!important;color:#007dbd!important}
.header-refresh-btn:active{transform:translateY(1px)}
.header-refresh-btn:disabled{opacity:.66;cursor:wait;transform:none}
.refresh-icon{width:15px;height:15px;display:inline-flex;align-items:center;justify-content:center}
.refresh-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.header-refresh-btn.is-refreshing .refresh-icon{animation:weblogs-refresh-spin .72s linear infinite}
@keyframes weblogs-refresh-spin{to{transform:rotate(360deg)}}
@media(max-width:1100px){.header-actions{flex-wrap:wrap}.header-action-group{min-height:38px}.header-action-group .header-select{height:30px;min-height:30px}.header-refresh-btn{height:30px;min-height:30px}}
@media(max-width:760px){header{height:auto;align-items:flex-start;flex-direction:column}.header-actions{width:100%;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.header-action-group{flex:0 0 auto}.header-separator{display:none}}

/* searchable host picker used by share creation */
.node-search-picker{position:relative;display:block}
.node-search-picker>input[type="search"]{width:100%;padding-right:34px}
.node-search-results{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:70;background:#fff;border:1px solid #dce9f1;border-radius:10px;box-shadow:0 14px 34px rgba(44,91,117,.16);max-height:260px;overflow:auto;padding:5px}
.node-search-results.hidden{display:none}
.node-search-option{width:100%;border:0;background:#fff;text-align:left;padding:9px 10px;border-radius:8px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;cursor:pointer;color:#334f63}
.node-search-option:hover,.node-search-option.active{background:#edf9ff;color:#058dcc}
.node-search-option b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.node-search-option small{grid-column:1/2;color:#8196a5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.node-search-option em{grid-column:2/3;grid-row:1/3;align-self:center;font-style:normal;color:#91a4b1;font-size:10px}
.node-search-empty{padding:14px;text-align:center;color:#8499a8;font-size:12px}
.node-search-selected{margin-top:6px;padding:7px 9px;background:#f2fbff;border:1px solid #d7edf8;border-radius:8px;color:#39708f;font-size:11px}

/* Map labels use DOM markers so Chinese/English/local Unicode names do not need external glyph PBF assets. */
.weblogs-map-label{pointer-events:none;white-space:nowrap;transform:translate(-50%,-50%);text-align:center;text-shadow:0 1px 2px rgba(2,18,29,.98),0 0 6px rgba(2,18,29,.92);font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;line-height:1.1;user-select:none}
.weblogs-map-label.country{font-size:11px;font-weight:760;color:#eafaff;letter-spacing:.01em}
.weblogs-map-label.adm1{font-size:10px;font-weight:700;color:#b9efff}
.weblogs-map-label.adm2{font-size:9px;font-weight:650;color:#8fd9ef}

/* v3.3 node stream indicators: A=access(green), E=error(red), S=system(blue). */
.log-stream-state{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.log-stream{display:inline-flex;align-items:center;gap:4px;padding:3px 6px;border:1px solid #e2ebf0;border-radius:999px;background:#f8fbfd;color:#9aabb6;font-weight:750;line-height:1}
.log-stream .dot{width:7px;height:7px;background:#c9d4da;box-shadow:none}
.log-stream.access.seen{color:#138a63;border-color:#c7eadc;background:#f1fbf7}.log-stream.access.seen .dot{background:#22b07d;box-shadow:0 0 7px rgba(34,176,125,.28)}
.log-stream.error.seen{color:#c33f49;border-color:#f1cbd0;background:#fff5f6}.log-stream.error.seen .dot{background:#e24f5b;box-shadow:0 0 7px rgba(226,79,91,.26)}
.log-stream.system.seen{color:#167ab1;border-color:#c8e5f5;background:#f2faff}.log-stream.system.seen .dot{background:#2aa7e8;box-shadow:0 0 7px rgba(42,167,232,.26)}

/* v3.3 member/account center: constrain ultra-wide layouts and strengthen hierarchy */
.member-page,.account-page{width:min(100%,1480px);margin:0 auto;display:grid;gap:16px}.member-hero{position:relative;overflow:hidden;border:1px solid #cfe9f7;border-radius:18px;background:linear-gradient(120deg,#f8fdff 0%,#eaf8ff 58%,#f9fcff 100%);box-shadow:0 14px 38px rgba(51,111,145,.08);padding:24px 26px;display:grid;grid-template-columns:minmax(280px,1.15fr) minmax(420px,1.85fr);gap:20px;align-items:center}.member-hero:after{content:"";position:absolute;width:280px;height:280px;right:-100px;top:-150px;border-radius:50%;background:radial-gradient(circle,rgba(0,169,244,.15),rgba(0,169,244,0) 70%);pointer-events:none}.member-eyebrow,.section-kicker,.plan-type{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#078dcc}.member-title-row{display:flex;gap:14px;align-items:center;margin-top:10px}.member-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;background:linear-gradient(145deg,#00a9f4,#4ecbff);color:#fff;font-size:22px;font-weight:850;box-shadow:0 9px 22px rgba(0,169,244,.22)}.member-title-row h2,.account-profile-copy h2{margin:0;color:#18384e;font-size:24px}.member-title-row p,.account-profile-copy p{margin:5px 0 0;color:#718c9e;line-height:1.6}.member-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.member-summary>div{padding:12px 13px;border:1px solid rgba(178,221,243,.78);border-radius:12px;background:rgba(255,255,255,.72);min-width:0}.member-summary small,.account-profile-meta small,.account-stat small,.plan-feature-grid small{display:block;color:#8298a7;font-size:10px;margin-bottom:5px}.member-summary b{display:block;color:#254b62;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-note{grid-column:1/-1;margin:0;padding-top:12px;border-top:1px solid rgba(180,219,239,.62);color:#6d899b;font-size:11px}.section-head-inline{display:flex;align-items:end;justify-content:space-between;padding:3px 2px}.section-head-inline h3{font-size:18px;margin:4px 0 2px;color:#24475d}.section-head-inline p{margin:0;color:#8096a5;font-size:11px}.member-plan-grid{grid-template-columns:repeat(auto-fit,minmax(275px,1fr));gap:13px}.plan-card-modern{display:flex;flex-direction:column;min-height:310px;padding:18px;border:1px solid #deebf2;border-radius:15px;background:#fff;box-shadow:0 8px 24px rgba(48,91,118,.055);transition:.18s ease}.plan-card-modern:hover{transform:translateY(-2px);border-color:#b7e2f7;box-shadow:0 14px 30px rgba(48,91,118,.09)}.plan-card-modern.current{border-color:#8bd7fa;box-shadow:inset 0 0 0 1px rgba(0,169,244,.08),0 12px 30px rgba(0,169,244,.08)}.plan-card-top{display:flex;justify-content:space-between;gap:10px;min-height:75px}.plan-card-top h3{font-size:17px;margin:4px 0;color:#24465c}.plan-card-top p{margin:0;color:#8297a6;font-size:10px;line-height:1.55}.current-plan-badge,.discount-badge,.live-data-badge{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:800}.current-plan-badge{background:#eaf8ff;color:#008fd6;border:1px solid #bfe7fa}.discount-badge{background:#fff5f1;color:#d95b38;border:1px solid #f4d1c6}.plan-price-modern{display:flex;align-items:baseline;gap:4px;margin:18px 0 14px}.plan-price-modern strong{font-size:28px;color:#183c52}.plan-price-modern span{color:#8598a5;font-size:11px}.plan-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:14px}.plan-feature-grid>div{padding:9px 10px;border-radius:9px;background:#f8fbfd;border:1px solid #edf3f6}.plan-feature-grid .wide{grid-column:1/-1}.plan-feature-grid b{font-size:11px;color:#36566a}.plan-buy-btn,.plan-action-muted{margin-top:auto}.plan-action-muted{text-align:center;padding:9px;color:#869aa8;background:#f7fafc;border-radius:8px;font-size:10px}.member-orders-card{overflow:hidden}.empty.roomy{padding:42px 16px}
.account-profile-card{display:grid;grid-template-columns:auto minmax(220px,.9fr) minmax(520px,2fr);align-items:center;gap:18px;padding:22px 24px;border:1px solid #dcebf3;border-radius:17px;background:linear-gradient(120deg,#fff,#f3fbff);box-shadow:0 10px 30px rgba(48,91,118,.06)}.account-avatar{display:grid;place-items:center;width:64px;height:64px;border-radius:18px;background:linear-gradient(145deg,#00a9f4,#54cfff);color:#fff;font-size:25px;font-weight:900;box-shadow:0 10px 22px rgba(0,169,244,.22)}.account-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.account-profile-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.account-profile-meta>div{padding:11px 12px;border:1px solid #e2edf3;border-radius:10px;background:rgba(255,255,255,.82);min-width:0}.account-profile-meta b{font-size:11px;color:#34586e;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-section{display:grid;gap:9px}.account-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.account-stat{position:relative;overflow:hidden;padding:15px 16px;border:1px solid #e1ecf2;border-radius:13px;background:#fff;box-shadow:0 5px 18px rgba(48,91,118,.045)}.account-stat:after{content:"";position:absolute;width:60px;height:60px;border-radius:50%;right:-25px;top:-30px;background:rgba(0,169,244,.055)}.account-stat b{display:block;color:#274b61;font-size:17px;margin:4px 0}.account-stat span{display:block;color:#8a9da9;font-size:9px}.account-stat .quota-track{margin-top:10px}.account-usage-card,.account-audit-card{overflow:hidden}.usage-bars.modern{height:210px;padding:16px 10px 27px;background:linear-gradient(180deg,#fbfdff,#fff)}.usage-bars.modern i{background:linear-gradient(180deg,#48c9ff,#00a9f4)}.account-security-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.security-form-card{overflow:hidden}.security-form-card .form-stack{padding:16px}.two-field{display:grid;grid-template-columns:1fr 1fr;gap:10px}.live-data-badge{background:#effbf7;color:#148661;border:1px solid #c6e9dc}.live-data-badge i{width:6px;height:6px;border-radius:50%;background:#21b57e;box-shadow:0 0 0 3px rgba(33,181,126,.12)}.share-live-note{display:flex;align-items:center;gap:9px;padding:10px 11px;border:1px solid #d8ebf4;border-radius:10px;background:#f7fcff;color:#637f91;font-size:10px}
@media(max-width:1180px){.member-hero{grid-template-columns:1fr}.member-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.account-profile-card{grid-template-columns:auto 1fr}.account-profile-meta{grid-column:1/-1}.account-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.member-page,.account-page{gap:11px}.member-hero{padding:18px}.member-summary{grid-template-columns:1fr 1fr}.account-profile-card{grid-template-columns:auto 1fr;padding:17px}.account-profile-meta{grid-template-columns:1fr 1fr}.account-stat-grid,.account-security-grid,.two-field{grid-template-columns:1fr}.plan-card-modern{min-height:auto}}
.member-plan-grid{display:grid}

/* 3.5 realtime observability + copyable IP UX */
.live-summary{display:flex;align-items:center;gap:7px;min-width:210px}.live-summary small{color:#7890a0;font-size:10px;margin-left:4px}.situation-stats{display:flex;flex-wrap:wrap;gap:6px 16px;padding:7px 12px;border-bottom:1px solid #e5eef4;background:#f8fcfe;color:#7890a0;font-size:10px}.situation-stats span{white-space:nowrap}.situation-stats b{color:#31556a;margin-left:4px}.feed-title{display:flex!important;align-items:center;gap:8px;justify-content:space-between;height:auto!important;min-height:40px}.feed-title>span{font-weight:700;white-space:nowrap}.feed-title input{min-width:0;width:145px;height:28px;padding:4px 8px;font-size:10px;border:1px solid #dbeaf2;border-radius:7px;background:#fff;color:#35556a}.feed-row{cursor:pointer;transition:background .15s ease}.feed-row .feed-geo{color:#4e89a8!important}.copy-ip{cursor:copy;text-decoration:underline dotted rgba(0,142,207,.38);text-underline-offset:3px}.copy-ip:hover{color:#008ecf!important}.globe-legend .legend{display:inline-flex;align-items:center;gap:4px;appearance:none;cursor:pointer}.globe-legend .legend i{width:7px;height:7px;border-radius:50%;background:var(--legend-color,#1398ff);box-shadow:0 0 0 2px color-mix(in srgb,var(--legend-color,#1398ff) 16%,transparent)}.globe-legend .legend b{font-size:9px;color:#87a0b0;margin-left:1px}.globe-legend .legend.active{border-color:var(--legend-color,#1398ff)!important;color:#27495c!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--legend-color,#1398ff) 12%,transparent)!important}.req-dot.normal{background:#1398ff}.req-dot.crawler{background:#16a66a}.req-dot.ai_crawler{background:#7a5cff}.req-dot.scanner{background:#f04455}.req-dot.automation{background:#d99a00}.req-dot.suspicious{background:#ef7d22}.req-dot.cc_attack{background:#e21b75}.req-dot.ddos_suspected{background:#b6102c}.req-dot.sqli_probe{background:#e64a19}.req-dot.xss_probe{background:#c72f9b}.req-dot.path_traversal{background:#a56a00}.req-dot.sensitive_probe{background:#5f43c8}.req-dot.exploit_probe{background:#3f2a8f}.map-request-tip{position:absolute;z-index:35;width:min(410px,calc(100% - 20px));padding:11px 12px;border:1px solid #cfe4ef;border-radius:10px;background:rgba(255,255,255,.97);box-shadow:0 12px 36px rgba(28,77,105,.18);color:#35556a;pointer-events:none;font-size:10px;backdrop-filter:blur(6px)}.map-request-tip.hidden{display:none}.map-request-tip .map-tip-head{display:flex;align-items:center;gap:7px;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid #edf2f5}.map-request-tip .map-tip-head b{font-size:11px;flex:1}.map-tip-grid{display:grid;grid-template-columns:72px minmax(0,1fr);gap:5px 8px;align-items:start}.map-tip-grid span{color:#7890a0}.map-tip-grid b{font-weight:600;overflow-wrap:anywhere}.map-tip-grid .map-tip-ua{font-weight:400;color:#607d8e}.map-request-tip .map-tip-close{position:absolute;right:7px;top:6px;width:22px;height:22px;border:0;border-radius:50%;background:#eef7fb;color:#6b8797;cursor:pointer;pointer-events:auto}.map-request-tip:has(.map-tip-close){pointer-events:auto}.globe-card:fullscreen{background:#f7fcff!important}.globe-card:fullscreen #mainGlobe{height:100vh!important}.globe-card:fullscreen .globe-legend{bottom:12px}.globe-card:fullscreen .map-request-tip{max-height:70vh;overflow:auto}.situation-tools select#mapStatus{min-width:92px}
@media(max-width:1180px){.live-summary small{display:none}.situation-stats{gap:5px 10px}.feed-title input{width:118px}}
@media(max-width:820px){.situation-stats{font-size:9px}.feed-title input{width:45%}.map-request-tip{font-size:9px}.map-tip-grid{grid-template-columns:64px minmax(0,1fr)}}

/* Web Server config: global scope ignores a site name; keep the control visible
   so the user understands why it is disabled instead of removing DOM nodes. */
.config-control-disabled{opacity:.58}
.config-control-disabled input{cursor:not-allowed;background:var(--surface-2,#f5f8fb)}
