:root {
  font-family: Inter, "Microsoft YaHei", system-ui, sans-serif;
  color: #eaf4ef;
  background: #050805;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  --bg: #050805;
  --panel: #0b110c;
  --panel2: #0f1711;
  --line: #233126;
  --muted: #8b9a8d;
  --text: #edf7ef;
  --green: #76b900;
  --green2: #9de600;
  --danger: #ff6868;
}

.unified-topbar{height:72px;padding:0 clamp(22px,6vw,92px);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.98);border-bottom:1px solid #dce3d8;box-shadow:0 8px 28px rgba(0,0,0,.13)}.unified-topbar>a{display:flex;align-items:center;gap:10px;color:#111;text-decoration:none}.unified-topbar img{width:42px;height:42px;object-fit:contain}.unified-topbar strong{font-size:18px}.unified-topbar b{margin-left:6px;color:#67a900;font-size:10px;letter-spacing:.16em}.unified-topbar nav{display:flex;gap:26px}.unified-topbar nav a{color:#394036;text-decoration:none;font-size:13px}.unified-topbar nav a:hover{color:#568d00}.admin-record-footer{display:flex;justify-content:center;align-items:center;gap:24px;flex-wrap:wrap;padding:24px;border-top:1px solid #1e281d;background:#040604}.admin-record-footer a{display:inline-flex;align-items:center;gap:6px;color:#7f897c;text-decoration:none;font-size:12px}.admin-record-footer a:hover{color:#a8e700}.admin-record-footer img{width:20px;height:20px}@media(max-width:620px){.unified-topbar{height:64px;padding:0 18px}.unified-topbar nav{gap:14px}.unified-topbar nav a{font-size:12px}.admin-record-footer{gap:12px;flex-direction:column}}
.side-icon{display:grid!important;place-items:center;width:28px!important;height:28px!important;min-width:28px;border:1px solid #344632;border-radius:7px;background:#0d150d}.side-icon svg{width:17px;height:17px;fill:none;stroke:#9dde16;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.sidebar button.active .side-icon{border-color:#76b900;background:#16230d;box-shadow:0 0 16px rgba(118,185,0,.13)}
*{box-sizing:border-box}
body{margin:0;min-width:320px;background:radial-gradient(circle at 80% 0%,rgba(118,185,0,.14),transparent 28%),linear-gradient(180deg,#050805,#070b08);color:var(--text)}
button,input,select{font:inherit}
button{cursor:pointer}
code,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.login-page{min-height:100vh;display:grid;place-items:center;padding:28px;background:linear-gradient(rgba(118,185,0,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(118,185,0,.035) 1px,transparent 1px);background-size:42px 42px}
.login-card{width:min(460px,100%);padding:34px;border:1px solid var(--line);background:rgba(8,13,9,.94);box-shadow:0 28px 80px rgba(0,0,0,.45);border-radius:8px}
.login-brand,.side-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}.login-brand img,.side-brand img{width:42px;height:42px;object-fit:contain}.login-brand div,.side-brand div{display:grid}.login-brand span,.side-brand span{font-size:11px;letter-spacing:.14em;color:var(--muted)}
.security-chip,.panel-kicker{display:inline-flex;margin-top:30px;color:var(--green2);font-size:11px;letter-spacing:.16em;font-weight:800}.login-card h1{font-size:36px;margin:10px 0 8px}.login-card>p{color:var(--muted);line-height:1.6;margin:0 0 24px}.login-card form{display:grid;gap:15px}.login-card label,.modal label{display:grid;gap:7px}.login-card label span,.modal label>span{font-size:12px;font-weight:700;color:#b8c4ba}.login-card input,.toolbar input,.toolbar select,.modal input,.modal select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:5px;background:#070b08;color:var(--text);padding:0 12px;outline:none}.login-card input:focus,.toolbar input:focus,.toolbar select:focus,.modal input:focus,.modal select:focus{border-color:var(--green)}
.primary,.ghost{min-height:42px;border-radius:5px;padding:0 16px;font-weight:800}.primary{border:1px solid var(--green);background:var(--green);color:#071006}.primary:hover{background:var(--green2)}.primary:disabled,.ghost:disabled{opacity:.45;cursor:not-allowed}.ghost{border:1px solid var(--line);background:#0b110c;color:#dce7dd}.ghost:hover{border-color:#4c654f}.compact{min-height:34px;padding:0 12px;font-size:12px}.login-card small{display:block;color:var(--muted);line-height:1.6;margin-top:18px}.alert{padding:11px 12px;border-radius:5px;margin:0 0 15px;font-size:13px}.alert.error{border:1px solid rgba(255,104,104,.35);background:rgba(255,104,104,.08);color:#ffadad}
.admin-layout{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:20px 14px;border-right:1px solid var(--line);background:rgba(6,10,7,.96);display:flex;flex-direction:column}.side-brand{padding:6px 8px 22px}.sidebar nav{display:grid;gap:6px;margin-top:12px}.sidebar nav button{display:flex;align-items:center;gap:10px;min-height:44px;border:1px solid transparent;border-radius:5px;background:transparent;color:#9baa9d;text-align:left;padding:0 12px}.sidebar nav button:hover,.sidebar nav button.active{color:#fff;background:#0e160f;border-color:#263528}.sidebar nav button.active{box-shadow:inset 3px 0 0 var(--green)}.sidebar nav button span{width:22px;color:var(--green2)}.sidebar-bottom{margin-top:auto;display:grid;gap:8px}.sidebar-bottom a,.sidebar-bottom button{min-height:38px;display:flex;align-items:center;border:0;background:transparent;color:var(--muted);text-decoration:none;padding:0 10px}.sidebar-bottom a:hover,.sidebar-bottom button:hover{color:white}
.main-content{min-width:0}.topbar{height:64px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 26px;background:rgba(7,11,8,.8);backdrop-filter:blur(16px);position:sticky;top:0;z-index:8}.topbar>div:first-child{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12px}.online-dot{width:8px;height:8px;border-radius:50%;background:var(--green2);box-shadow:0 0 12px rgba(157,230,0,.8)}.admin-chip{display:flex;align-items:center;gap:10px}.admin-chip span{font-size:13px}.admin-chip b{font-size:10px;letter-spacing:.1em;color:var(--green2);border:1px solid #375123;padding:5px 7px;border-radius:4px}.content{padding:28px;max-width:1600px;margin:0 auto}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.page-heading>div:first-child{display:grid;gap:6px}.page-heading span{font-size:11px;letter-spacing:.14em;color:var(--green2);font-weight:800}.page-heading h1{margin:0;font-size:31px}.heading-note{color:var(--muted);font-size:13px}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.metric-card,.panel{border:1px solid var(--line);background:linear-gradient(180deg,#0c120d,#090e0a);border-radius:7px}.metric-card{padding:20px;display:grid;gap:7px}.metric-card>span{font-size:12px;color:#a7b4a9}.metric-card strong{font-size:34px;letter-spacing:-.04em}.metric-card small{color:var(--muted);line-height:1.5}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.info-panel{padding:22px}.info-panel .panel-kicker{margin-top:0}.info-panel h2{margin:9px 0 18px}.policy-row{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid #19231b}.policy-row span{color:var(--green2);font-weight:800}.info-panel>small{display:block;color:var(--muted);margin-top:14px;line-height:1.5}.security-line{display:flex;gap:11px;padding:11px 0}.security-line i{width:9px;height:9px;border-radius:50%;background:var(--green2);margin-top:5px}.security-line div{display:grid;gap:3px}.security-line span{color:var(--muted);font-size:12px}.toolbar{display:grid;grid-template-columns:minmax(220px,1fr) 160px 160px auto;gap:10px;padding:12px;margin-bottom:12px}.table-panel{overflow:hidden}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:880px}th,td{text-align:left;padding:13px 14px;border-bottom:1px solid #182219;font-size:13px}th{color:#8fa092;font-size:11px;letter-spacing:.04em;background:#0d140e;position:sticky;top:0}tbody tr:hover{background:#0d140e}.user-cell{display:grid;gap:4px}.user-cell span{font-size:10px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;max-width:280px;overflow:hidden;text-overflow:ellipsis}.tier,.status{display:inline-flex;align-items:center;min-height:25px;padding:0 8px;border-radius:999px;font-size:11px;font-weight:800}.tier-normal{border:1px solid #344238;color:#bac7bc}.tier-vip{border:1px solid #607429;color:#ccec6c;background:rgba(118,185,0,.08)}.tier-svip{border:1px solid #9a742d;color:#ffd071;background:rgba(255,179,54,.08)}.status.active{border:1px solid #2b5b32;color:#85dc90}.status.disabled{border:1px solid #6b3434;color:#ff9090}.remaining{color:var(--green2)}.remaining.zero{color:var(--danger)}.pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;color:var(--muted);font-size:12px}.pagination>div{display:flex;gap:8px}.empty-cell{text-align:center!important;color:var(--muted);padding:40px!important}.detail-json{max-width:420px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#9eada0}.loading-card{min-height:240px;display:grid;place-content:center;justify-items:center;gap:12px;border:1px solid var(--line);border-radius:7px;color:var(--muted)}.loading-card i{width:30px;height:30px;border:2px solid #2c392e;border-top-color:var(--green2);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.fatal{padding:30px}.fatal h2{margin-top:0}.fatal p{color:#ff9c9c}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.72);display:grid;place-items:center;padding:20px;z-index:99}.modal{width:min(520px,100%);position:relative;padding:26px;border:1px solid #344338;border-radius:8px;background:#0b100c;box-shadow:0 30px 90px rgba(0,0,0,.55)}.modal-close{position:absolute;right:12px;top:10px;width:36px;height:36px;border:0;background:transparent;color:#9cab9f;font-size:25px}.modal .panel-kicker{margin-top:0}.modal h2{margin:8px 0 16px}.modal label{margin-top:14px}.modal label small{color:var(--muted);font-size:11px}.user-identity{display:grid;gap:5px;padding:12px;background:#070b08;border:1px solid var(--line);border-radius:5px}.user-identity span{font-size:10px;color:var(--muted);word-break:break-all}.switch-row{display:flex!important;justify-content:space-between;align-items:center}.switch-row>span{display:grid;gap:4px}.switch-row input{width:20px!important;min-height:20px!important}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.toast{position:fixed;right:22px;bottom:22px;z-index:120;padding:12px 15px;border:1px solid #35513a;background:#0d160f;color:#dcf6df;border-radius:6px;transform:translateY(15px);opacity:0;transition:.2s}.toast.show{transform:none;opacity:1}.toast.error{border-color:#663c3c;color:#ffb4b4}.login-card .primary{width:100%;margin-top:5px}
@media(max-width:980px){.admin-layout{grid-template-columns:76px minmax(0,1fr)}.side-brand div,.sidebar nav button:not(.active){font-size:0}.sidebar nav button{justify-content:center;padding:0}.sidebar nav button span{width:auto;font-size:16px}.sidebar-bottom a,.sidebar-bottom button{font-size:0;justify-content:center}.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.toolbar{grid-template-columns:1fr 1fr}.toolbar input{grid-column:1/-1}}
@media(max-width:620px){.admin-layout{display:block}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:10px}.side-brand{padding:4px}.sidebar nav{grid-template-columns:repeat(4,1fr);margin-top:8px}.sidebar nav button,.sidebar nav button:not(.active){font-size:0;min-height:38px}.sidebar-bottom{display:none}.topbar{padding:0 14px}.content{padding:16px}.metric-grid{grid-template-columns:1fr 1fr;gap:8px}.metric-card{padding:15px}.metric-card strong{font-size:28px}.toolbar{grid-template-columns:1fr}.toolbar input{grid-column:auto}.page-heading{align-items:start}.page-heading h1{font-size:26px}.admin-chip span{display:none}}

/* 智汇栈后台统一视觉 */
:root{--bg:#f3f8fc;--panel:#ffffff;--panel2:#edf7fb;--line:#cfe2ee;--muted:#658198;--text:#123b55;--green:#218fc4;--green2:#138da6;--danger:#d34857}
body{background:radial-gradient(circle at 90% 4%,#e8e7ff,transparent 33%),radial-gradient(circle at 10% 0%,#e0f7fa,transparent 35%),#f3f8fc;color:var(--text)}
.sidebar{background:#f9fcff}.side-brand{color:#113d59}.sidebar nav button{color:#567a92}.sidebar nav button:hover,.sidebar nav button.active{background:#e6f3fc;border-color:#bedde9;color:#086da1}.sidebar nav button.active{box-shadow:inset 3px 0 0 #168cc5}.side-icon{background:#eff8fd;border-color:#c7dfeb}.side-icon svg{stroke:#168cc5}.sidebar nav button.active .side-icon{background:#d9effb;border-color:#78c3e9;box-shadow:none}.topbar{background:rgba(255,255,255,.86)}.admin-chip b{color:#1686af;border-color:#bedde9}.online-dot{background:#22b0a7;box-shadow:0 0 10px #22b0a766}.metric-card,.panel{background:rgba(255,255,255,.93);border-color:#d4e5ef;border-radius:20px;box-shadow:0 12px 34px #164d7010}.metric-card{padding:24px}.metric-card>span,.metric-card small,.heading-note,.info-panel>small,.security-line span{color:#6d879b}.primary{background:linear-gradient(110deg,#168fe0,#32b9c5);border-color:#168fe0;color:white}.primary:hover{background:#1179bb}.ghost{background:#fff;color:#175579;border-color:#c5dfea}.ghost:hover{border-color:#209ec3}.page-heading span,.panel-kicker,.policy-row span,.remaining{color:#168eae}.sidebar-bottom a,.sidebar-bottom button{color:#56809a}.login-card,.modal{background:#fff;border-color:#cde3ef}.login-card input,.toolbar input,.toolbar select,.modal input,.modal select{background:#f8fcff;color:#153b55;border-color:#bed9e8}.login-page{background:radial-gradient(circle at 15% 12%,#dcf9f9,transparent 35%),radial-gradient(circle at 83% 10%,#e8eaff,transparent 34%),#f4f9fd}.login-card label span,.modal label>span{color:#416b83}.info-panel .security-line i{background:#25aaa9}.policy-row{border-color:#e1edf2}th{background:#f0f8fc;color:#557890}td,th{border-color:#e1ebf1}tbody tr:hover{background:#f5fbff}.table-panel{overflow:hidden}.loading-card{border-color:#d6e6ee}.fatal p{color:#6c869a}.toast{background:#fff;color:#175579}.login-card small{color:#678399}.sidebar-bottom button:hover,.sidebar-bottom a:hover{color:#0b80b6}
/* V22.13: 后台独立配色，避免旧深色规则覆盖 */
#app .topbar{background:#ffffffed;color:#214b64;border-color:#d1e4ee}
#app .metric-card{background:linear-gradient(145deg,#fff,#f2f9ff);color:#17415e;border:1px solid #cce2ef;border-radius:18px;box-shadow:0 12px 28px #24507112}
#app .metric-card strong{color:#123c5a}
#app .metric-card>span,#app .metric-card small{color:#68869a}
#app .sidebar{background:#f8fcff;color:#19435e}
#app .sidebar .side-icon svg{stroke:#168bc1}
#app .panel{background:#fff;color:#173e58;border-color:#d4e5ef}
.release-tag{color:#138daf;font-size:11px;border:1px solid #bee2ed;border-radius:99px;padding:2px 7px}
