:root{--bg:#0f172a;--panel:#1e293b;--panel-2:#273449;--text:#e2e8f0;--muted:#94a3b8;--accent:#38bdf8;--accent-2:#22c55e;--border:#334155}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.layout{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--panel);border-right:1px solid var(--border);padding:20px 16px;flex-shrink:0}.sidebar h1{font-size:18px;margin:0 0 24px;color:#fff}.sidebar nav a{display:block;padding:9px 12px;border-radius:8px;color:var(--text);margin-bottom:4px}.sidebar nav a:hover{background:var(--panel-2);text-decoration:none}.content{flex:1 1;padding:32px 40px;max-width:1100px}.content h2{margin-top:0}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:24px;margin-bottom:20px}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.04em}tr:hover td{background:var(--panel-2)}.btn{display:inline-block;background:var(--accent);color:#06283d;padding:9px 16px;border-radius:8px;border:0;font-weight:600;cursor:pointer;font-size:14px}.btn:hover{text-decoration:none;opacity:.9}.btn-secondary{background:var(--panel-2);color:var(--text);border:1px solid var(--border)}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}form.stack{gap:14px;max-width:480px}form.stack,label{display:flex;flex-direction:column}label{gap:6px;font-size:14px;color:var(--muted)}input,select{background:var(--bg);border:1px solid var(--border);color:var(--text);padding:9px 11px;border-radius:8px;font-size:15px}input:focus,select:focus{outline:2px solid var(--accent);border-color:transparent}.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;background:var(--panel-2);border:1px solid var(--border)}.badge,.empty{color:var(--muted)}.empty{padding:24px 0}.stat{display:flex;gap:24px}.stat .num{font-size:32px;font-weight:700;color:#fff}