:root{--bg: #0f1115;--panel: #171a21;--panel-2: #1e222b;--border: #2a2f3a;--text: #e6e8ee;--muted: #8b92a5;--primary: #4f8cff;--primary-strong: #2f6fe0;--ok: #2ecc71;--warn: #f5a623;--bad: #ff5c5c;--radius: 10px;--font: "Inter", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:14px/1.45 var(--font)}a{color:var(--primary);text-decoration:none}button,input,select{font:inherit}.btn{background:var(--primary);color:#fff;border:0;border-radius:8px;padding:9px 14px;font-weight:600;cursor:pointer}.btn:hover{background:var(--primary-strong)}.btn:disabled{opacity:.5;cursor:default}.btn.ghost{background:transparent;border:1px solid var(--border);color:var(--text)}.input{width:100%;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:9px 11px}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f8cff40}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.muted{color:var(--muted)}.mono{font-family:var(--mono)}.alert{background:#ff5c5c1f;border:1px solid rgba(255,92,92,.4);color:#ffb3b3;border-radius:8px;padding:10px 12px;margin-bottom:12px}.auth-wrap{min-height:100%;display:grid;place-items:center;padding:24px}.auth-card{width:100%;max-width:400px}.field{display:grid;gap:6px;margin-bottom:14px}.field label{font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.layout{display:grid;grid-template-columns:220px 1fr;min-height:100%}.sidebar{background:var(--panel);border-right:1px solid var(--border);padding:18px 12px;display:flex;flex-direction:column;gap:4px}.sidebar .brand{font-weight:700;padding:6px 10px 16px;font-size:16px}.sidebar a{color:var(--text);padding:8px 10px;border-radius:8px;display:flex;gap:8px;align-items:center}.sidebar a.active,.sidebar a:hover{background:var(--panel-2)}.sidebar .spacer{flex:1}.main{padding:24px 28px;min-width:0}.page-title{margin:0 0 16px;font-size:20px}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.toolbar .input{width:auto;min-width:220px}table.grid{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.grid th,.grid td{padding:9px 10px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}.grid th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;-webkit-user-select:none;user-select:none}.grid tr:hover td{background:var(--panel-2)}.grid td.ellipsis{max-width:260px;overflow:hidden;text-overflow:ellipsis}.chip{display:inline-block;background:var(--panel-2);border:1px solid var(--border);border-radius:999px;padding:1px 8px;font-size:12px;margin-right:4px}.chip.stage{border-color:#4f8cff80;color:#b9d0ff}.pager{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-top:12px}.kv{display:grid;grid-template-columns:160px 1fr;gap:6px 12px}.kv dt{color:var(--muted)}.kv dd{margin:0}.timeline li{padding:8px 0;border-bottom:1px solid var(--border);display:flex;gap:12px}.steps{display:grid;gap:14px;max-width:560px}.step{display:flex;gap:12px;align-items:flex-start}.step .n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--panel-2);font-weight:700;flex:none}.step.done .n{background:var(--ok);color:#062}.progress{height:8px;background:var(--panel-2);border-radius:999px;overflow:hidden}.progress>div{height:100%;background:var(--primary);transition:width .3s}@media (max-width: 800px){.layout{grid-template-columns:1fr}.sidebar{flex-direction:row;overflow-x:auto}.sidebar .spacer,.sidebar .brand{display:none}.main{padding:16px}}
