:root{--bg: #f4f6f9;--surface: #ffffff;--surface-2: #f8fafc;--border: #e2e8f0;--border-strong: #cbd5e1;--text: #0f172a;--muted: #64748b;--primary: #0f52ba;--primary-hover: #0d449c;--primary-soft: rgba(15, 82, 186, .08);--success: #0f766e;--success-soft: rgba(15, 118, 110, .12);--warn: #b45309;--warn-soft: rgba(180, 83, 9, .12);--danger: #b91c1c;--danger-soft: rgba(185, 28, 28, .12);--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--radius: 10px}[data-theme=dark]{--bg: #0b111b;--surface: #111827;--surface-2: #1a2333;--border: #1e293b;--border-strong: #334155;--text: #f1f5f9;--muted: #94a3b8;--primary: #3b82f6;--primary-hover: #2563eb;--primary-soft: rgba(59, 130, 246, .14);--success: #2dd4bf;--success-soft: rgba(45, 212, 191, .14);--warn: #fbbf24;--warn-soft: rgba(251, 191, 36, .14);--danger: #f87171;--danger-soft: rgba(248, 113, 113, .14)}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.num{font-variant-numeric:tabular-nums}button,input,select,textarea{font-family:inherit;font-size:13.5px}.btn{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:8px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-weight:600;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover{background:var(--primary-hover)}.btn-sm{padding:5px 10px;font-size:12.5px}.btn-danger{color:var(--danger);border-color:var(--danger);background:transparent}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.input,.select,.textarea{width:100%;padding:8px 11px;border-radius:8px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text)}.input:focus,.select:focus,.textarea:focus{outline:2px solid var(--primary-soft);border-color:var(--primary)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;font-size:11.5px;font-weight:600}.badge-ok{background:var(--success-soft);color:var(--success)}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-err{background:var(--danger-soft);color:var(--danger)}.badge-info{background:var(--primary-soft);color:var(--primary)}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:9px 10px;border-bottom:1px solid var(--border)}td{padding:10px;border-bottom:1px solid var(--border);vertical-align:middle}tr:last-child td{border-bottom:none}tr:hover td{background:var(--surface-2)}
