@import url("https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=DM+Mono:wght@400;500;600&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--font-sans:"DM Sans",-apple-system,sans-serif;--font-mono:"DM Mono","Fira Code",monospace;--bg:#0c0f14;--surface:#131720;--surface-hi:#1a2030;--border:#1e2738;--border-hi:#2a3548;--text:#e2e8f0;--text-mid:#94a3b8;--text-dim:#475569;--accent:#3b82f6;--accent-dim:#1d3461;--green:#22c55e;--green-dim:#14532d;--amber:#f59e0b;--amber-dim:#451a03;--coral:#f97316;--coral-dim:#431407;--purple:#a855f7;--purple-dim:#2e1065;--teal:#14b8a6;--teal-dim:#042f2e;--red:#ef4444;--radius-sm:6px;--radius-md:8px;--radius-lg:12px}body,html{font-family:var(--font-sans);background:var(--bg);color:var(--text);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.mono{font-family:var(--font-mono)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .25s ease forwards}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.35)}}.spin{animation:spin .7s linear infinite}.pulse,.spin{display:inline-block}.pulse{animation:pulse 1.2s ease-in-out infinite}.nav-link{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:500;color:var(--text-mid);cursor:pointer;text-decoration:none;transition:background .1s,color .1s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.nav-link:hover{background:var(--surface-hi);color:var(--text);text-decoration:none}.nav-link.active{background:var(--accent-dim);color:var(--accent);text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:var(--radius-sm);font-family:var(--font-sans);font-weight:500;cursor:pointer;transition:opacity .12s;text-decoration:none;white-space:nowrap}.btn:hover:not(:disabled){opacity:.82}.btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.btn-xs{font-size:12px;padding:3px 10px}.btn-sm{font-size:13px;padding:5px 12px}.btn-md{font-size:14px;padding:7px 16px}.btn-lg{font-size:15px;padding:9px 20px}.btn-primary{background:var(--accent);color:#fff}.btn-secondary{background:var(--surface-hi);color:var(--text);border:1px solid var(--border-hi)}.btn-ghost{background:transparent;color:var(--text-mid)}.btn-ghost:hover:not(:disabled){background:var(--surface-hi);color:var(--text);opacity:1}.btn-danger{background:rgba(239,68,68,.12);color:var(--red)}.btn-danger:hover:not(:disabled){background:rgba(239,68,68,.22);opacity:1}.btn-amber{background:rgba(245,158,11,.12);color:var(--amber)}.btn-amber:hover:not(:disabled){background:rgba(245,158,11,.22);opacity:1}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.card-sm{border-radius:var(--radius-md)}.table{width:100%;border-collapse:collapse;font-size:13.5px}.table th{text-align:left;padding:10px 14px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim)}.table td,.table th{border-bottom:1px solid var(--border)}.table td{padding:11px 14px;color:var(--text)}.table tbody tr:hover td{background:var(--surface-hi)}.table tbody tr:last-child td{border-bottom:none}.field-input{width:100%;background:var(--surface-hi);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:7px 11px;font-size:14px;font-family:var(--font-sans);transition:border-color .1s}.field-input:focus{outline:none;border-color:var(--accent)}.field-input::placeholder{color:var(--text-dim)}.field-input:disabled{opacity:.45;cursor:not-allowed}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:100;padding:1.5rem 1rem;overflow-y:auto}@keyframes modalIn{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-box{background:var(--surface);border:1px solid var(--border-hi);border-radius:var(--radius-lg);width:100%;margin:auto;animation:modalIn .18s ease forwards;max-height:calc(100dvh - 3rem);overflow-y:auto}