@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap";:root{--bg: #0f1117;--panel: #151821;--bg-elevated: #1a1e2a;--border: #232633;--border-strong: #2e3347;--text: #ffffff;--text-secondary: #9ca3af;--muted: #6b7280;--accent: #f59e0b;--accent-hover: #fbbf24;--accent-dim: rgba(245, 158, 11, .1);--accent-border: rgba(245, 158, 11, .35);--danger: #ef4444;--success: #22c55e;--info: #3b82f6;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--font: "DM Sans", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px}button{font-family:var(--font)}a{color:var(--accent)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;background:#0f1117eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--accent-border)}.topbar-inner{max-width:1560px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;gap:20px}.brand{display:flex;flex-direction:column;line-height:1.1}.brand b{font-size:18px}.brand .sub{color:var(--accent);font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}.tabs{display:flex;gap:2px;overflow-x:auto;flex:1;scrollbar-width:thin}.tabs button{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:8px 14px;border-radius:999px;font-size:14px;font-weight:500;white-space:nowrap;border-bottom:2px solid transparent}.tabs button:hover{color:var(--text)}.tabs button.active{color:var(--accent);background:var(--accent-dim)}.topbar .who{color:var(--text-secondary);font-size:13px;display:flex;align-items:center;gap:10px;white-space:nowrap}.role-badge{font-size:10px;text-transform:uppercase;letter-spacing:.05em;background:var(--accent-dim);color:var(--accent);padding:2px 8px;border-radius:999px;font-weight:600}.main-content{max-width:1560px;width:100%;margin:0 auto;padding:24px 20px 60px}h1{font-size:20px;margin:0 0 4px}h2{font-size:16px;margin:0 0 12px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px;gap:12px;flex-wrap:wrap}.subtitle{color:var(--text-secondary);font-size:13px}.subtabs{display:flex;gap:6px;margin-bottom:18px}.subtabs button{background:var(--panel);border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:999px;cursor:pointer}.subtabs button.active{border-color:var(--accent-border);color:var(--accent);background:var(--accent-dim)}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.spacer{flex:1}.grid{display:grid;gap:16px}.cols-4{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.card,.stat{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);padding:18px}.stat .n{font-size:30px;font-weight:700}.stat .l{color:var(--text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.05em;margin-top:4px}.table-wrap{border:1px solid var(--border);border-radius:var(--radius-md);overflow:auto;background:var(--panel)}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--border);white-space:nowrap}th{color:var(--text-secondary);font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;background:var(--bg-elevated);position:sticky;top:0}tbody tr:hover{background:var(--bg-elevated)}tr:last-child td{border-bottom:none}.empty{color:var(--muted);text-align:center;padding:40px}.clickable{cursor:pointer}.pill{padding:2px 9px;border-radius:999px;font-size:12px;font-weight:500;background:#223;display:inline-block}.pill.on,.pill.open{background:#22c55e26;color:var(--success)}.pill.off,.pill.closed{background:#6b728033;color:var(--text-secondary)}.pill.corrected{background:var(--accent-dim);color:var(--accent)}.pill.danger{background:#ef444426;color:var(--danger)}button.primary{background:var(--accent);color:#04121f;border:none;padding:9px 16px;border-radius:var(--radius-sm);font-weight:700;cursor:pointer}button.primary:hover{background:var(--accent-hover)}button.ghost{background:var(--bg-elevated);color:var(--text);border:1px solid var(--border-strong);padding:8px 14px;border-radius:var(--radius-sm);cursor:pointer}button.ghost:hover{border-color:var(--accent-border)}button.link{background:none;border:none;color:var(--accent);cursor:pointer;padding:4px;font-size:13px}button.danger{background:#ef44441f;color:var(--danger);border:1px solid rgba(239,68,68,.3);padding:8px 14px;border-radius:var(--radius-sm);cursor:pointer}button:disabled{opacity:.5;cursor:default}button.icon{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px 8px;border-radius:6px}button.icon:hover{color:var(--text);background:var(--bg-elevated)}label.field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-secondary)}input,select,textarea{background:#0e1216;border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:9px 12px;color:var(--text);font-size:14px;font-family:var(--font);width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent-border)}input[type=checkbox]{width:auto}.inline-input{max-width:220px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:50;display:flex;justify-content:flex-end}.slideover{width:460px;max-width:100%;height:100%;background:var(--panel);border-left:1px solid var(--border-strong);overflow-y:auto;padding:24px;animation:slide .15s ease}@keyframes slide{0%{transform:translate(30px);opacity:.6}}.modal{max-width:520px;margin:auto;background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:24px}.overlay.center{align-items:center;justify-content:center}.form-grid{display:grid;gap:14px;margin:16px 0}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}.err{color:var(--danger);font-size:13px}.ok{color:var(--success);font-size:13px}.muted{color:var(--muted)}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%);background:var(--bg-elevated);border:1px solid var(--accent-border);color:var(--text);padding:10px 18px;border-radius:999px;z-index:100;box-shadow:0 8px 30px #0006}.splash{min-height:100vh;display:grid;place-items:center;background:radial-gradient(1200px 500px at 50% -10%,rgba(245,158,11,.08),transparent)}.spinner{width:34px;height:34px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 14px}@keyframes spin{to{transform:rotate(360deg)}}.login-card{background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:32px;width:340px;display:flex;flex-direction:column;gap:14px}.login-card .sub{color:var(--accent);font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}.builder-row{display:flex;gap:8px;align-items:center;padding:8px;border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:8px;background:var(--bg-elevated)}.builder-row input,.builder-row select{max-width:200px}
