:root{color-scheme:light;--ink:#10221f;--muted:#687974;--line:#dce7e3;--wash:#f2f6f4;--surface:#fff;--green:#0c735b;--deep:#0b2c26;--mint:#d9f4e9;--orange:#e99b43;--red:#b94343;--shadow:0 14px 38px rgba(17,55,47,.08)}
[hidden]{display:none!important}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--wash);color:var(--ink);font-family:"Microsoft YaHei UI","PingFang SC",system-ui,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.auth-view{min-height:100vh;display:grid;place-content:center;gap:28px;padding:30px;background:radial-gradient(circle at 10% 10%,#236c5e 0,transparent 34%),radial-gradient(circle at 90% 90%,#163d35 0,transparent 28%),#09241f;color:#fff}.auth-brand,.brand{display:flex;align-items:center;gap:12px}.auth-brand{justify-content:center}.auth-brand b,.brand b{display:block;letter-spacing:.04em}.auth-brand small,.brand small{display:block;opacity:.62;font-size:10px;letter-spacing:.16em;margin-top:3px}.logo-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#57d8b0,#b9f3df);color:#0a3d32;font-weight:900;box-shadow:0 8px 24px rgba(67,211,168,.18)}.auth-card{width:min(420px,90vw);padding:34px;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:rgba(255,255,255,.97);color:var(--ink);box-shadow:0 30px 80px rgba(0,0,0,.3)}.auth-card h1{margin:5px 0 8px;font-size:27px}.auth-card>p{margin:0 0 24px;color:var(--muted);font-size:13px}.auth-view>footer{text-align:center;color:rgba(255,255,255,.55);font-size:11px}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;display:flex;flex-direction:column;padding:22px 14px;background:var(--deep);color:#fff;z-index:5}.brand{padding:0 10px 24px}.sidebar nav{display:grid;gap:4px}.sidebar nav button{display:flex;align-items:center;gap:12px;width:100%;padding:11px 13px;border:0;border-radius:10px;background:transparent;color:#aebfba;text-align:left;font-size:13px}.sidebar nav button span{width:18px;text-align:center;font-size:16px}.sidebar nav button:hover,.sidebar nav button.active{background:rgba(255,255,255,.1);color:#fff}.sidebar nav button.active{box-shadow:inset 3px 0 #57d8b0}.sidebar-foot{margin-top:auto;padding:14px 10px 4px;border-top:1px solid rgba(255,255,255,.1);display:flex;gap:9px;align-items:center;font-size:11px;color:#9ab0aa}.dot{width:8px;height:8px;border-radius:50%;background:#e5a653;box-shadow:0 0 0 4px rgba(229,166,83,.13)}.dot.online{background:#56d5a9;box-shadow:0 0 0 4px rgba(86,213,169,.15)}.main-area{margin-left:240px;min-height:100vh}.topbar{height:94px;padding:18px 32px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:4}.topbar h1{margin:0;font-size:24px}.eyebrow,.section-kicker{font-size:10px;letter-spacing:.18em;font-weight:800;color:var(--green)}.user-box{display:flex;align-items:center;gap:10px}.user-box>div{text-align:right;margin-right:8px}.user-box b,.user-box small{display:block}.user-box small{color:var(--muted);font-size:11px;margin-top:2px}main{padding:22px 30px 42px;max-width:1680px;margin:auto}.notice{display:flex;gap:14px;align-items:center;padding:12px 16px;margin-bottom:18px;border:1px solid #ead7b9;border-radius:12px;background:#fff8ec;color:#755525;font-size:12px}.danger-notice{border-color:#f0bcbc;background:#fff2f2;color:#813636}.page{display:none}.page.active{display:block}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:18px}.metric,.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.metric{position:relative;overflow:hidden;padding:21px}.metric.accent:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--orange)}.metric span{color:var(--muted);font-size:12px}.metric strong{display:block;font-size:32px;margin:7px 0 3px}.metric small{color:#899792}.panel{padding:20px;margin-bottom:18px}.panel h2{margin:4px 0 16px;font-size:18px}.panel-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:15px}.panel-head h2{margin:4px 0 0}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid-sidebar{display:grid;grid-template-columns:minmax(280px,.38fr) minmax(0,1fr);gap:18px}.grid-two>.panel,.grid-sidebar>.panel{margin-bottom:0}.status-card dl{display:grid;gap:0;margin:0}.status-card dl div{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line)}.status-card dl div:last-child{border:0}.status-card dt{color:var(--muted)}.status-card dd{margin:0;font-weight:700}.stack-form,.form-grid{display:grid;gap:14px}.inline-form{display:flex;align-items:end;gap:10px}.form-grid label,.stack-form label,.inline-form label{display:grid;gap:6px;color:var(--muted);font-size:11px}.form-grid .check,.check{display:flex;align-items:center;gap:8px}.checks{display:flex;flex-wrap:wrap;gap:14px}input,select,textarea{width:100%;min-height:39px;padding:8px 11px;border:1px solid #ccd9d5;border-radius:9px;background:#fff;color:var(--ink)}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid rgba(12,115,91,.15);border-color:var(--green)}input[type=checkbox]{width:17px;min-height:17px;margin:0}button,.button-link{min-height:38px;padding:8px 14px;border:0;border-radius:9px;background:var(--green);color:#fff;font-weight:700;text-decoration:none;font-size:12px}.primary{width:100%;margin-top:4px}.ghost{background:#eff4f2;color:#40534e}.ghost:hover{background:#e3ebe8}.ghost.danger{color:var(--red)}button:disabled{opacity:.5;cursor:not-allowed}.form-error{min-height:18px;color:var(--red);font-size:12px}.table-wrap{overflow:auto}.table-wrap.tall{max-height:640px}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;padding:10px;color:#74837f;font-size:10px;letter-spacing:.05em;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:12px 10px;border-bottom:1px solid #edf2f0;vertical-align:top}tr:last-child td{border-bottom:0}.sub{display:block;color:#8b9895;font-size:10px;margin-top:4px}.empty{text-align:center!important;color:#899692;padding:30px}.badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#edf2f0;color:#61716c;font-size:10px;font-weight:800}.badge.online,.badge.active,.badge.received,.badge.completed{background:var(--mint);color:#09644e}.badge.pending,.badge.reserved,.badge.extending{background:#fff0d9;color:#8c581b}.badge.failed,.badge.offline,.badge.expired,.badge.released{background:#f7e5e5;color:#953e3e}.message{max-width:330px;white-space:pre-wrap;word-break:break-word}.actions{display:flex;gap:6px;white-space:nowrap}.actions button{min-height:30px;padding:5px 8px;font-size:10px}.toast{position:fixed;right:24px;bottom:24px;max-width:420px;padding:13px 17px;border-radius:11px;background:#102f29;color:#fff;box-shadow:var(--shadow);font-size:12px;opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s;z-index:20}.toast.show{opacity:1;transform:none}.toast.error{background:#842f2f}dialog{width:min(520px,90vw);border:0;border-radius:16px;padding:0;box-shadow:0 30px 90px rgba(0,0,0,.3)}dialog::backdrop{background:rgba(5,20,17,.55)}dialog form{padding:24px}dialog h2{margin:0 0 16px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.secret-box{padding:14px;background:#eef5f2;border-radius:9px;word-break:break-all;font-family:Consolas,monospace}.muted{color:var(--muted)}@media(max-width:1100px){.metrics{grid-template-columns:repeat(2,1fr)}.grid-two,.grid-sidebar{grid-template-columns:1fr}.sidebar{width:205px}.main-area{margin-left:205px}.topbar{padding-inline:22px}main{padding-inline:20px}}@media(max-width:760px){.sidebar{position:static;width:auto}.sidebar nav{grid-template-columns:repeat(2,1fr)}.sidebar-foot{display:none}.main-area{margin:0}.topbar{position:static;height:auto;align-items:flex-start;gap:14px}.user-box{flex-wrap:wrap;justify-content:flex-end}.metrics{grid-template-columns:1fr 1fr}.panel-head,.inline-form{align-items:stretch;flex-direction:column}.notice{align-items:flex-start;flex-direction:column}}@media(max-width:480px){.metrics{grid-template-columns:1fr}.topbar{padding:16px;flex-direction:column}.user-box>div{text-align:left}.sidebar nav{grid-template-columns:1fr 1fr}main{padding:15px}.panel{padding:15px}}
