:root{--bg:#0b1626;--panel:#0f1f36;--panel2:#16263d;--line:#1f3552;--line2:#28446a;--row:#172b46;--text:#e6edf6;--muted:#b9cbe2;--dim:#8fb3d9;--faint:#7896bb;--teal:#2dd4bf;--teal-ink:#06231f;--blue:#3b82f6;--up-bg:#0e4038;--up-fg:#7ff5e0;--up-bd:#1f7a6b;--down-bg:#4d1b1b;--down-fg:#ffb4b4;--down-bd:#8a3434;--warn-bg:#4a3a10;--warn-fg:#fde58a;--warn-bd:#8a6d1f;--stage-bg:#1b2d5e;--stage-fg:#bcd4ff;--stage-bd:#3b5ba8;--ua-bg:#25295a;--ua-fg:#c7d2fe;--ua-bd:#4f56b8;--static:#fbbf24;--static-ink:#2a1c00;--mono:"IBM Plex Mono", ui-monospace, monospace;color:var(--text);background:var(--bg);font-family:IBM Plex Sans,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);min-height:100vh;margin:0}a{color:#5eead4}a:hover{color:#99f6e4}button,input,select{font-family:inherit;font-size:14px}button{cursor:pointer;border:1px solid var(--line2);background:var(--panel2);color:#dbe7f5;border-radius:8px;min-height:40px;padding:8px 14px}button:hover{border-color:#3d5f8f}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--teal);color:var(--teal-ink);border:none;font-weight:700}button.blue{background:var(--blue);color:#fff;border:none;font-weight:600}button.ghost{background:0 0}button.danger{border-color:var(--down-bd);color:var(--down-fg);background:0 0}button.small{min-height:34px;padding:6px 10px;font-size:13px}input,select{background:var(--bg);border:1px solid var(--line2);color:var(--text);border-radius:8px;width:100%;padding:10px 12px}input:focus,select:focus,button:focus-visible{outline:2px solid var(--teal);outline-offset:1px}label.field{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.mono{font-family:var(--mono)}.muted{color:var(--muted)}.dim{color:var(--dim)}.faint{color:var(--faint)}.row{align-items:center;gap:10px;display:flex}.wrap{flex-wrap:wrap}.grow{flex-grow:1}.stack{flex-direction:column;gap:14px;display:flex}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.topbar{background:var(--panel);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:16px 32px;display:flex}.brand{align-items:center;gap:14px;display:flex}.brand .title{letter-spacing:.4px;font-size:19px;font-weight:700}.brand .sub{color:var(--dim);font-size:13px}.tabs{flex-wrap:wrap;gap:8px;padding:18px 32px 0;display:flex}.tabs a{border:1px solid var(--line2);color:var(--muted);border-radius:8px;padding:10px 16px;font-size:15px;text-decoration:none}.tabs a.active{background:var(--panel2);color:#fff;border-color:var(--teal);font-weight:600}main{padding:18px 32px 40px}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}.card-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.card-head h2{margin:0;font-size:17px}.card-head p{color:var(--dim);margin:3px 0 0;font-size:13px}.card-body{padding:16px 20px}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;letter-spacing:.8px;text-transform:uppercase;color:var(--faint);background:#0d1a2e;padding:10px 14px;font-size:12px;font-weight:500}td{border-top:1px solid var(--row);vertical-align:middle;padding:11px 14px}td .sub{font-family:var(--mono);color:var(--faint);font-size:12px}.pill{letter-spacing:.5px;white-space:nowrap;border:1px solid;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-block}.pill.up{background:var(--up-bg);color:var(--up-fg);border-color:var(--up-bd)}.pill.down{background:var(--down-bg);color:var(--down-fg);border-color:var(--down-bd)}.pill.warn,.pill.paused{background:var(--warn-bg);color:var(--warn-fg);border-color:var(--warn-bd)}.pill.stage{background:var(--stage-bg);color:var(--stage-fg);border-color:var(--stage-bd)}.pill.off,.pill.unknown,.pill.disabled{color:#9aa9bd;background:#1c2536;border-color:#334158}.chip{border:1px solid var(--line2);background:var(--panel2);border-radius:6px;margin:2px 4px 2px 0;padding:3px 8px;font-size:13px;display:inline-block}.chip.static{background:var(--static);color:var(--static-ink);border-color:var(--static);font-weight:600}.chip.ua{background:var(--ua-bg);color:var(--ua-fg);border-color:var(--ua-bd)}.chip.off{opacity:.6;text-decoration:line-through}.toggle{min-height:38px;padding:8px 12px}.toggle.on{border-color:var(--teal);color:#fff;background:#16334a;font-weight:600}.banner{border:1px solid var(--stage-bd);color:#bfdbfe;background:#16284d;border-radius:10px;margin:0 0 16px;padding:12px 16px;font-size:14px}.banner.err{border-color:var(--down-bd);background:var(--down-bg);color:var(--down-fg)}.banner.ok{border-color:var(--up-bd);background:var(--up-bg);color:var(--up-fg)}.overlay{z-index:20;background:#040a1499;position:fixed;inset:0}.drawer{background:var(--panel);border-left:1px solid var(--line2);z-index:21;flex-direction:column;gap:16px;width:min(560px,100vw);padding:26px 30px;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}.drawer h3,.modal h3{margin:0;font-size:20px}.modal{background:var(--panel);border:1px solid var(--stage-bd);z-index:31;border-radius:14px;flex-direction:column;gap:14px;width:min(480px,94vw);padding:26px 30px;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.modal-overlay{z-index:30}.codebox{font-family:var(--mono);background:var(--bg);border:1px dashed var(--stage-bd);white-space:pre-wrap;word-break:break-all;border-radius:10px;padding:12px 14px;font-size:13px}.code-input{font-family:var(--mono);letter-spacing:10px;text-align:center;font-size:24px}.auth-wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100vh;display:grid}.auth-art{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;justify-content:space-between;padding:56px 64px;display:flex;position:relative;overflow:hidden}.auth-art .big{letter-spacing:5px;font-size:64px;font-weight:700}.auth-art .bar{background:var(--teal);border-radius:2px;width:300px;height:4px}.auth-form{justify-content:center;align-items:center;padding:32px;display:flex}.auth-form .inner{flex-direction:column;gap:18px;width:min(440px,100%);display:flex}.auth-form h1{margin:0;font-size:28px}.note{color:var(--dim);background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:12.5px;line-height:1.55}@media (width<=900px){.auth-wrap{grid-template-columns:1fr}.auth-art{display:none}.topbar,.tabs,main{padding-left:16px;padding-right:16px}.grid2{grid-template-columns:1fr}table{font-size:13px}th,td{padding:8px}.hide-sm{display:none}}
