:root{color-scheme:dark;--bg:#050812;--panel:#0b1222;--panel2:#101a30;--line:#1d3152;--text:#e6f4ff;--muted:#8193af;--cyan:#20d9d2;--purple:#8c6cff;--danger:#ff5d7a;--ok:#45e39f;font-family:Inter,"Microsoft YaHei",system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 80% 0,#12143c 0,transparent 35%),var(--bg);color:var(--text);min-height:100vh}button,input,select,textarea{font:inherit}button{border:0;border-radius:8px;padding:10px 16px;background:linear-gradient(120deg,#0fcac5,#6e59e9);color:#fff;font-weight:700;cursor:pointer}button:hover{filter:brightness(1.12)}button.danger{background:#5f1c31;color:#ffc0cc}button.small{padding:6px 9px;font-size:12px;margin:2px}.hidden{display:none!important}.login-shell{min-height:100vh;display:grid;place-items:center}.login-card{width:min(420px,92vw);padding:38px}.brand-mark{width:60px;height:60px;display:grid;place-items:center;border:1px solid var(--cyan);color:var(--cyan);font-weight:900;letter-spacing:2px;border-radius:16px;box-shadow:0 0 30px #20d9d244}.login-card h1{margin-bottom:4px}.login-card p{color:var(--muted);margin-top:0}.login-card label,.card label{display:grid;gap:7px;margin:16px 0;color:#afc0d9;font-size:14px}.login-card button{width:100%;margin-top:12px}.error{color:#ff8298;margin-top:14px;min-height:20px}.app{display:grid;grid-template-columns:240px 1fr;min-height:100vh}aside{padding:24px 16px;border-right:1px solid var(--line);background:#070d19;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.logo{padding:8px 14px 30px}.logo span{font-size:25px;font-weight:900;letter-spacing:4px;color:var(--cyan)}.logo small{display:block;color:var(--muted);letter-spacing:2px;margin-top:4px}nav{display:grid;gap:5px}nav button,.ghost{background:transparent;color:#91a4c2;text-align:left;font-weight:500}nav button:hover,nav button.active{background:linear-gradient(90deg,#173a49,#171d41);color:#efffff;border-left:2px solid var(--cyan)}.ghost{margin-top:auto}main{padding:24px 32px;min-width:0}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}header h1{margin:0;font-size:25px}header p{margin:5px 0;color:var(--muted)}.status{color:var(--ok);font-size:13px}.card{background:linear-gradient(145deg,#0c1425,#0a1020);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 12px 40px #0004}.card h2{font-size:16px;margin:0 0 16px}.metrics{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:14px;margin-bottom:18px}.metric strong{display:block;font-size:28px;color:var(--cyan);margin:10px 0}.metric span{color:var(--muted);font-size:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;margin-bottom:18px}.form-grid h2,.form-grid button,.wide{grid-column:1/-1}.form-grid button{justify-self:start}.inline-form{display:flex;gap:16px;align-items:end;margin-bottom:18px}.inline-form label{margin:0;flex:1}.inline-form button{height:40px}input,select,textarea{width:100%;border:1px solid #294064;border-radius:8px;background:#070d19;color:var(--text);padding:10px 11px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 2px #20d9d222}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid #182640;white-space:nowrap}th{color:#7890b2;font-weight:600}td{color:#c9d8ed}pre{background:#050913;padding:16px;border-radius:8px;color:#78f9e6;white-space:pre-wrap;line-height:1.7}.notice{padding:12px 16px;border:1px solid #28577a;background:#102840;border-radius:9px;margin-bottom:18px;color:#9ce8ff}.system-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pill{display:inline-block;border-radius:12px;padding:3px 8px;background:#173348;color:#70ebe2;font-size:11px}.pill.blocked,.pill.critical{background:#4a192a;color:#ff9cb0}@media(max-width:900px){.app{grid-template-columns:1fr}aside{position:static;height:auto}nav{grid-template-columns:repeat(2,1fr)}main{padding:18px}.metrics{grid-template-columns:repeat(2,1fr)}.form-grid,.system-grid{grid-template-columns:1fr}.form-grid h2,.form-grid button,.wide{grid-column:1}.inline-form{display:grid}.logo{padding-bottom:12px}} 
