:root{font-family:system-ui,"Microsoft YaHei",sans-serif;color:#e8f6fc;background:#061622;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 70% -20%,#123d64 0%,#071a2c 42%,#061622 100%)}header{padding:25px max(4vw,24px);border-bottom:1px solid #29516b;background:linear-gradient(90deg,#0a2942,#0b2137);box-shadow:0 5px 25px #020d1699}header h1{font-size:26px;letter-spacing:.08em;margin:0}header p{color:#8cc9df;font-size:13px;margin:8px 0 0}main{max-width:1320px;margin:auto;padding:25px 20px 40px}h2{font-size:18px;color:#d9f4ff;margin:0 0 18px;border-left:3px solid #25b9d7;padding-left:12px}h3{font-size:13px;color:#90b7c9;font-weight:500;margin:0}button{background:#087d9f;border:1px solid #36b8d2;color:white;padding:10px 16px;border-radius:7px;cursor:pointer}button:hover:not(:disabled){background:#109bb6}button:disabled{opacity:.5;cursor:not-allowed}input{padding:10px;background:#0a2236;border:1px solid #3b6479;color:white;border-radius:7px;max-width:100%}input:focus,button:focus{outline:2px solid #47d4ef;outline-offset:2px}.bar,.box,.card{background:linear-gradient(145deg,#102f49,#0b2439);border:1px solid #2a5470;border-radius:9px;box-shadow:0 7px 18px #02111b66}.bar,.box{padding:20px;margin-bottom:16px}.bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.dot{width:9px;height:9px;border-radius:50%;background:#829aaa;display:inline-block;margin-right:7px}.online{background:#27d89c;box-shadow:0 0 12px #27d89c}.warning{background:#f2aa3d}.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.card{padding:20px;min-height:130px}.value{font-size:27px;font-weight:700;color:#71e2ff;margin:12px 0 4px;white-space:nowrap}.hint{font-size:13px;color:#9cbdc9}.columns{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;margin-top:16px}table{width:100%;border-collapse:collapse;font-size:14px;text-align:left}td,th{padding:12px 6px;border-bottom:1px solid #24465b}th{color:#85b0c2;font-weight:500}td{color:#deeff5}#notice{color:#ffc379}.empty{white-space:pre-line;padding:24px 0;color:#8eafbd;text-align:center}.history-item{display:block;width:100%;text-align:left;background:#0b2840;color:#dceff7;margin:7px 0;padding:11px;border:1px solid #315b75}.history-item:hover{background:#153d5a}.foot{font-size:12px;color:#8eafbd;margin-top:24px}@media(max-width:900px){.grid{grid-template-columns:repeat(3,1fr)}.columns{grid-template-columns:1fr}}@media(max-width:600px){.grid{grid-template-columns:repeat(2,1fr)}.bar{align-items:flex-start}.value{font-size:23px}main{padding:16px 12px}header{padding:20px 16px}.box{overflow-x:auto}}
[hidden]{display:none!important}
.bar-spacer{flex:1}
.login-page{min-height:calc(100vh - 130px);display:grid;place-items:center;padding:24px}
.login-card{width:min(100%,390px);padding:30px;background:linear-gradient(145deg,#102f49,#0b2439);border:1px solid #2a5470;border-radius:12px;box-shadow:0 14px 36px #020d1699}
.login-card h2{margin-bottom:12px}
.login-card p.hint{margin:0 0 24px}
#loginForm{display:grid;gap:10px}
#loginForm label{font-size:14px;color:#c3e8f5}
#loginForm input{width:100%;margin-bottom:8px}
#loginForm button{margin-top:6px}
#loginMessage{min-height:1.3em;color:#ffc379;font-size:13px;margin:4px 0 0}
