:root{--bg:#f6f6f8;--surface:#fff;--surface-muted:#f1f1f4;--border:#e2e2e8;--text:#3f3f4a;--text-h:#17171d;--text-muted:#85858f;--accent:#4338ca;--accent-strong:#372aa8;--accent-bg:#4338ca14;--accent-border:#4338ca59;--accent-contrast:#fff;--success:#157a4a;--success-bg:#157a4a1a;--danger:#b3261e;--danger-bg:#b3261e14;--warning:#92650a;--warning-bg:#92650a1a;--info:#55575f;--info-bg:#55575f14;--shadow-sm:0 1px 2px #17171d0f;--shadow-md:0 4px 16px #17171d14;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--sans:-apple-system, "Segoe UI", system-ui, Roboto, sans-serif;--mono:ui-monospace, "SF Mono", Consolas, monospace;font:15px/1.5 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#101014;--surface:#17171d;--surface-muted:#1d1d24;--border:#2c2c35;--text:#b6b6c0;--text-h:#f2f2f5;--text-muted:#7d7d88;--accent:#8b7cf6;--accent-strong:#a396f8;--accent-bg:#8b7cf624;--accent-border:#8b7cf666;--accent-contrast:#101014;--success:#4ade80;--success-bg:#4ade801f;--danger:#f87171;--danger-bg:#f871711f;--warning:#fbbf24;--warning-bg:#fbbf241f;--info:#9ca3af;--info-bg:#9ca3af1a;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 8px 24px #0006}}*{box-sizing:border-box}body{margin:0}#root{flex-direction:column;min-height:100svh;display:flex}h1,h2,h3,h4{font-family:var(--sans);color:var(--text-h);margin:0 0 var(--space-2);font-weight:600}h1{letter-spacing:-.2px;font-size:22px}h2{font-size:18px}h3{font-size:15px}h4{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);font-size:13px}p{margin:0}a{color:var(--accent)}code{font-family:var(--mono);background:var(--surface-muted);border-radius:4px;padding:1px 5px;font-size:.9em}.app-shell{flex-direction:column;min-height:100svh;display:flex}.app-nav{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:var(--surface);border-bottom:1px solid var(--border);z-index:10;display:flex;position:sticky;top:0}.app-brand{color:var(--text-h);margin-right:var(--space-4);white-space:nowrap;font-size:15px;font-weight:700}.app-tabs{background:var(--surface-muted);border-radius:var(--radius-md);gap:2px;padding:3px;display:flex}.app-tab{color:var(--text-muted);font:inherit;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;padding:6px 14px;font-weight:500}.app-tab:hover:not(:disabled){color:var(--text-h)}.app-tab:disabled{background:var(--surface);color:var(--text-h);box-shadow:var(--shadow-sm);cursor:default}.app-meta{align-items:center;gap:var(--space-3);color:var(--text-muted);white-space:nowrap;margin-left:auto;font-size:13px;display:flex}.app-main{flex:1;width:100%}.page{max-width:1000px;padding:var(--space-5) var(--space-5) var(--space-6);margin:0 auto}.page-split{max-width:1200px;padding:var(--space-5) var(--space-5) var(--space-6);gap:var(--space-5);align-items:flex-start;margin:0 auto;display:flex}.page-split>.page-main{flex:1;min-width:0}.page-header{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4)}.card+.card{margin-top:var(--space-4)}.stack{gap:var(--space-3);flex-direction:column;display:flex}.row{align-items:center;gap:var(--space-2);display:flex}.grid-2{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.field{color:var(--text-muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.input,textarea.input{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-h);width:100%;padding:8px 10px}.input:focus,textarea.input:focus{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.input::placeholder{color:var(--text-muted)}.btn{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-h);cursor:pointer;white-space:nowrap;padding:8px 14px;font-weight:500}.btn:hover:not(:disabled){border-color:var(--text-muted)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn-primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}.btn-danger{color:var(--danger);border-color:var(--border);background:var(--surface)}.btn-danger:hover:not(:disabled){background:var(--danger-bg);border-color:var(--danger)}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--surface-muted)}.btn-sm{padding:4px 10px;font-size:13px}.badge{text-transform:uppercase;letter-spacing:.3px;border-radius:999px;align-items:center;padding:2px 7px;font-size:11px;font-weight:700;display:inline-flex}.badge-pass,.badge-success{color:var(--success);background:var(--success-bg)}.badge-fail,.badge-danger{color:var(--danger);background:var(--danger-bg)}.badge-warning{color:var(--warning);background:var(--warning-bg)}.badge-info,.badge-not_evaluated{color:var(--info);background:var(--info-bg)}.text-muted{color:var(--text-muted)}.text-danger{color:var(--danger)}.text-sm{font-size:13px}.banner{padding:var(--space-3);border-radius:var(--radius-sm);font-size:13px}.banner-danger{background:var(--danger-bg);color:var(--danger)}.banner-warning{background:var(--warning-bg);color:var(--warning)}table.table{border-collapse:collapse;width:100%;font-size:13px}table.table th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border);padding:6px 8px;font-weight:600}table.table td{border-bottom:1px solid var(--surface-muted);padding:6px 8px}table.table tr:last-child td{border-bottom:none}.list-plain{margin:0;padding:0;list-style:none}.empty{color:var(--text-muted);padding:var(--space-3) 0;font-size:13px}@media (width<=720px){.grid-2{grid-template-columns:1fr}.page-split{flex-direction:column}.app-meta span{display:none}}
