:root{--bg: #0b0e14;--panel: #111621;--panel-2: #0d121c;--line: #1c2534;--line-soft: #161e2c;--text: #e7ecf5;--muted: #8792a6;--dim: #5a6478;--pos: #4fd69b;--neg: #f0796f;--gambling: #34d6be;--blue: #3e9bff;--seg-low: #586274;--seg-regular: #4f86c6;--seg-good: #2fb6a8;--seg-high: #3e9bff;--seg-vip: #e6b15c;--font-display: "Space Grotesk", sans-serif;--font-ui: "Inter", sans-serif;--font-mono: "JetBrains Mono", monospace;--radius: 14px;--radius-sm: 9px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--blue);text-decoration:none}.shell{display:flex;min-height:100%}.sidebar{width:220px;background:var(--panel-2);border-right:1px solid var(--line);padding:18px 12px;display:flex;flex-direction:column;gap:4px}.logo{font-family:var(--font-display);font-weight:700;letter-spacing:.12em;padding:6px 10px 16px}.logo small{display:block;font-size:10px;color:var(--muted);letter-spacing:.2em}.nav a{display:block;padding:8px 10px;border-radius:var(--radius-sm);color:var(--muted)}.nav a.active,.nav a:hover{background:var(--panel);color:var(--text)}.nav .me{margin-top:auto;font-size:12px;color:var(--dim);padding:10px}.main{flex:1;padding:22px 28px;min-width:0}.topbar{display:flex;align-items:center;gap:12px;margin-bottom:16px}.topbar h1{font-family:var(--font-display);font-size:20px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin-bottom:14px}.panel-title{font-family:var(--font-display);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;display:flex;gap:10px;align-items:center}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}input,select,textarea{background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-sm);padding:7px 10px;font-family:var(--font-mono);font-size:12.5px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue)}.btn{background:var(--blue);color:#fff;border:none;border-radius:var(--radius-sm);padding:8px 14px;font-weight:600;cursor:pointer;font-family:var(--font-ui)}.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--muted)}.btn.danger{background:var(--neg)}.btn:disabled{opacity:.5;cursor:default}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--muted);font-weight:500;font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:6px 8px;border-bottom:1px solid var(--line)}td{padding:7px 8px;border-bottom:1px solid var(--line-soft);vertical-align:top}tr.link{cursor:pointer}tr.link:hover td{background:#ffffff08}.mono{font-family:var(--font-mono);font-size:12px}.muted{color:var(--muted)}.pos{color:var(--pos)}.neg{color:var(--neg)}.pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-family:var(--font-mono);background:var(--panel-2);border:1px solid var(--line)}.pill.active,.pill.completed{color:var(--pos)}.pill.blocked,.pill.failed,.pill.deprecated{color:var(--neg)}.pill.partial,.pill.stale{color:var(--seg-vip)}.err{color:var(--neg);font-size:13px;margin-top:8px}.ok{color:var(--pos);font-size:13px;margin-top:8px}.login{max-width:360px;margin:12vh auto}.login input{width:100%;margin-bottom:10px}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:10}.modal{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;width:520px;max-width:95vw;max-height:90vh;overflow:auto}.form-grid{display:grid;grid-template-columns:140px 1fr;gap:8px 12px;align-items:center}.form-grid label{color:var(--muted);font-size:12px}.kv{display:grid;grid-template-columns:160px 1fr;gap:4px 12px;font-size:13px}.kv b{color:var(--muted);font-weight:500}.tabs{display:flex;gap:6px;margin-bottom:10px}.tabs button{background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:4px 12px;cursor:pointer}.tabs button.active{color:var(--text);border-color:var(--blue)}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
