:root{--bg:#f6f7f9;--surface:#fff;--surface-2:#eef0f4;--border:#d8dce3;--text:#1c2330;--text-muted:#5c6677;--accent:#2f6fed;--accent-hover:#255cd0;--accent-fg:#fff;--danger:#d64545;--danger-hover:#b83838;--danger-fg:#fff;--success:#2e9e5b;--warning:#b07d10;--focus-ring:#2f6fed73;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-8:3rem;--radius-s:4px;--radius-m:8px;--radius-l:14px;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--shadow-1:0 1px 2px #10182814;--shadow-2:0 8px 24px #10182829}:root[data-theme=dark]{--bg:#12151c;--surface:#1a1f2a;--surface-2:#232936;--border:#333b4d;--text:#e8ecf3;--text-muted:#9aa5b8;--accent:#5b8bff;--accent-hover:#729aff;--accent-fg:#0e1320;--danger:#e06060;--danger-hover:#ee7a7a;--danger-fg:#1b1113;--success:#4cc580;--warning:#d9a62e;--focus-ring:#5b8bff80;--shadow-1:0 1px 2px #0006;--shadow-2:0 8px 24px #00000080}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font-sans);margin:0;padding:0;font-size:15px;line-height:1.5}h1,h2,h3{margin:0 0 var(--space-3);font-weight:650}a{color:var(--accent)}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-s)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-l);box-shadow:var(--shadow-1);padding:var(--space-5)}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-danger{background:var(--danger);border-color:var(--danger);color:var(--danger-fg)}.btn-danger:hover:not(:disabled){background:var(--danger-hover);border-color:var(--danger-hover)}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--surface-2)}.field{gap:var(--space-1);margin-bottom:var(--space-3);flex-direction:column;display:flex}.field>label{font-size:.9rem;font-weight:550}.field .hint{color:var(--text-muted);font-size:.8rem}.input,select.input,textarea.input{padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface);color:var(--text);font:inherit;width:100%}.input:focus{border-color:var(--accent)}.checkbox-row{align-items:center;gap:var(--space-2);display:flex}.alert{border-radius:var(--radius-m);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3);border:1px solid #0000;font-size:.92rem}.alert-error{color:var(--danger);border-color:var(--danger);background:color-mix(in srgb, var(--danger) 8%, transparent)}.alert-success{color:var(--success);border-color:var(--success);background:color-mix(in srgb, var(--success) 8%, transparent)}.alert-warning{color:var(--warning);border-color:var(--warning);background:color-mix(in srgb, var(--warning) 8%, transparent)}.badge{padding:0 var(--space-2);border:1px solid var(--border);color:var(--text-muted);border-radius:999px;font-size:.75rem;font-weight:600;display:inline-block}.badge-success{color:var(--success);border-color:var(--success)}.badge-muted{color:var(--text-muted)}.badge-warning{color:var(--warning);border-color:var(--warning)}.badge-danger{color:var(--danger);border-color:var(--danger)}.table-wrap{overflow-x:auto}table.table{border-collapse:collapse;width:100%;font-size:.92rem}.table th,.table td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);white-space:nowrap}.table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}.table td.wrap{white-space:normal}.muted{color:var(--text-muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.row{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.grow{flex:1}.mt-2{margin-top:var(--space-2)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.mt-4{margin-top:var(--space-4)}
