:root{--color-bg: #0b1220;--color-surface: #121a2b;--color-text: #f6f8fb;--color-text-muted: #a9b4ca;--color-border: #2b3b5a;--color-accent: #7aa2ff;--color-bg-glow: #121f36;--font-family-base: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--radius-md: .75rem;--shadow-md: 0 8px 24px rgba(0, 0, 0, .25)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:radial-gradient(circle at top right,var(--color-bg-glow) 0%,var(--color-bg) 45%);color:var(--color-text);font-family:var(--font-family-base)}h1,h2,h3,h4,p{margin:0}p{color:var(--color-text-muted);line-height:1.6}a{color:var(--color-accent)}.card{background-color:color-mix(in oklab,var(--color-surface),transparent 8%);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.admin-shell{display:grid;gap:var(--space-6);grid-template-columns:minmax(14rem,18rem) 1fr;min-height:100vh;padding:var(--space-6)}.admin-nav{padding:var(--space-6);align-self:start;position:sticky;top:var(--space-6)}.admin-nav h1{font-size:1.2rem;margin-bottom:var(--space-4)}.admin-nav ul{display:grid;gap:var(--space-2);list-style:none;margin:0;padding:0}.admin-nav a{border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-text-muted);display:block;padding:var(--space-3) var(--space-4);text-decoration:none;transition:background .12s ease,color .12s ease,border-color .12s ease}.admin-nav a.active,.admin-nav a:hover{background-color:color-mix(in oklab,var(--color-surface),white 4%);border-color:var(--color-border);color:var(--color-text)}.admin-main{display:grid;gap:var(--space-4);grid-template-rows:auto 1fr;min-height:0}.admin-status{align-items:center;display:flex;gap:var(--space-8);justify-content:space-between;padding:var(--space-4) var(--space-6)}.admin-status .label{color:var(--color-text-muted);font-size:.85rem;margin-bottom:var(--space-1)}.admin-content{display:grid;gap:var(--space-6);align-content:start;padding:var(--space-6)}.page-header{display:flex;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;justify-content:space-between}.page-header h2{font-size:1.5rem}.page-header .subtitle{margin-top:var(--space-1)}.breadcrumbs{color:var(--color-text-muted);font-size:.875rem;margin-bottom:var(--space-2)}.breadcrumbs a{color:var(--color-text-muted);text-decoration:none}.breadcrumbs a:hover{color:var(--color-accent)}.breadcrumbs span{margin:0 var(--space-2)}.btn{background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;font:inherit;font-size:.9rem;padding:var(--space-2) var(--space-4);transition:background .12s ease,border-color .12s ease,color .12s ease;white-space:nowrap}.btn:hover:not(:disabled){border-color:var(--color-accent)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:#0b1220}.btn-primary:hover:not(:disabled){background:color-mix(in oklab,var(--color-accent),white 10%)}.btn-danger{border-color:#ef476f;color:#ef476f}.btn-danger:hover:not(:disabled){background:color-mix(in oklab,#ef476f,transparent 85%)}.btn-ghost{border-color:transparent;color:var(--color-text-muted)}.btn-ghost:hover:not(:disabled){color:var(--color-text);border-color:var(--color-border)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:.8rem}.btn-row{display:flex;gap:var(--space-2);flex-wrap:wrap}.form-grid{display:grid;gap:var(--space-4)}.form-grid.two-col{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.form-field{display:grid;gap:var(--space-1)}.form-field label{color:var(--color-text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.form-field input,.form-field select,.form-field textarea{background:color-mix(in oklab,var(--color-surface),white 2%);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font:inherit;padding:var(--space-2) var(--space-3);transition:border-color .12s ease}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--color-accent);outline:none}.form-field input[type=checkbox]{width:1rem;height:1rem;justify-self:start}.form-field .help{color:var(--color-text-muted);font-size:.75rem}.form-field.error input,.form-field.error select,.form-field.error textarea{border-color:#ef476f}.form-field .err-msg{color:#ef476f;font-size:.75rem}.checkbox-field{align-items:center;display:flex;gap:var(--space-2)}.checkbox-field label{text-transform:none;letter-spacing:normal;font-size:.9rem;color:var(--color-text)}.badge{display:inline-block;padding:.125rem .5rem;border-radius:999px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;border:1px solid transparent;white-space:nowrap}.badge-neutral{background:color-mix(in oklab,var(--color-surface),white 6%);border-color:var(--color-border);color:var(--color-text-muted)}.badge-pass,.badge-active{background:color-mix(in oklab,#06d6a0,transparent 80%);border-color:#06d6a0;color:#7cf3c8}.badge-fail{background:color-mix(in oklab,#ef476f,transparent 80%);border-color:#ef476f;color:#ff8fa8}.badge-warning{background:color-mix(in oklab,#ffd166,transparent 80%);border-color:#ffd166;color:#ffe29e}.badge-refer,.badge-draft{background:color-mix(in oklab,#f48c06,transparent 80%);border-color:#f48c06;color:#ffbc70}.badge-retired{background:color-mix(in oklab,#6c757d,transparent 80%);border-color:#6c757d;color:#b0b7bd}.badge-skipped,.badge-missing_data{background:color-mix(in oklab,#6c757d,transparent 85%);border-color:#6c757d;color:#b0b7bd}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);text-align:left;font-size:.9rem}.data-table th{color:var(--color-text-muted);font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;-webkit-user-select:none;user-select:none}.data-table th.sortable{cursor:pointer}.data-table th.sortable:hover{color:var(--color-text)}.data-table tr.clickable{cursor:pointer}.data-table tr.clickable:hover td{background:color-mix(in oklab,var(--color-surface),white 3%)}.data-table .empty-row td{text-align:center;color:var(--color-text-muted);padding:var(--space-8) var(--space-4)}.toolbar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.toolbar .search{flex:1 1 16rem;min-width:12rem}.toolbar .spacer{flex:1}.modal-backdrop{align-items:center;background:#050a1499;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;inset:0;justify-content:center;padding:var(--space-4);position:fixed;z-index:60}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);display:flex;flex-direction:column;max-height:calc(100vh - 4rem);max-width:48rem;width:100%}.modal-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:var(--space-4);justify-content:space-between;padding:var(--space-4) var(--space-6)}.modal-header h3{font-size:1.1rem}.modal-body{overflow-y:auto;padding:var(--space-6)}.modal-footer{align-items:center;border-top:1px solid var(--color-border);display:flex;gap:var(--space-2);justify-content:flex-end;padding:var(--space-4) var(--space-6)}.toast-region{display:grid;gap:var(--space-2);position:fixed;right:var(--space-6);top:var(--space-6);z-index:80;max-width:24rem}.toast{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-3) var(--space-4);animation:toast-enter .2s ease}.toast.success{border-color:#06d6a0}.toast.error{border-color:#ef476f}@keyframes toast-enter{0%{transform:translate(12px);opacity:0}to{transform:translate(0);opacity:1}}.rule-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2)}.rule-tabs button{background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;font:inherit;padding:var(--space-2) var(--space-4)}.rule-tabs button.active{background:color-mix(in oklab,var(--color-accent),transparent 84%);border-color:var(--color-accent);color:var(--color-text)}.dt-grid{width:100%;border-collapse:collapse;font-size:.85rem}.dt-grid th,.dt-grid td{border:1px solid var(--color-border);padding:var(--space-2);text-align:left;vertical-align:middle}.dt-grid th{background:color-mix(in oklab,var(--color-surface),black 10%);color:var(--color-text-muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em}.dt-grid input,.dt-grid select{background:transparent;border:1px solid transparent;color:var(--color-text);font:inherit;padding:.25rem .5rem;width:100%}.dt-grid input:focus,.dt-grid select:focus{background:color-mix(in oklab,var(--color-surface),white 4%);border-color:var(--color-accent);outline:none}.dt-grid tr.result-PASS{background:color-mix(in oklab,#06d6a0,transparent 93%)}.dt-grid tr.result-FAIL{background:color-mix(in oklab,#ef476f,transparent 93%)}.dt-grid tr.result-REFER{background:color-mix(in oklab,#f48c06,transparent 92%)}.dt-grid tr.result-WARNING{background:color-mix(in oklab,#ffd166,transparent 92%)}.eval-banner{align-items:center;border-radius:var(--radius-md);display:flex;gap:var(--space-4);padding:var(--space-4) var(--space-6);font-size:1.1rem}.eval-banner.PASS{background:color-mix(in oklab,#06d6a0,transparent 80%);border:1px solid #06d6a0}.eval-banner.FAIL{background:color-mix(in oklab,#ef476f,transparent 80%);border:1px solid #ef476f}.eval-banner.WARNING{background:color-mix(in oklab,#ffd166,transparent 80%);border:1px solid #ffd166}.eval-banner.REFER{background:color-mix(in oklab,#f48c06,transparent 80%);border:1px solid #f48c06}.eval-banner strong{font-size:1.4rem;text-transform:uppercase;letter-spacing:.05em}.summary-chips{display:flex;gap:var(--space-2);flex-wrap:wrap}.eval-result-item{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);display:grid;gap:var(--space-1)}.eval-result-item .row{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between}.eval-result-item .reason{color:var(--color-text-muted);font-size:.9rem}.eval-result-group{display:grid;gap:var(--space-3)}.eval-result-group h4{color:var(--color-text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.muted{color:var(--color-text-muted)}.inline-code{background:color-mix(in oklab,var(--color-surface),black 20%);border-radius:4px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:.85em;padding:.05em .35em}.empty-state{padding:var(--space-8);text-align:center;color:var(--color-text-muted);border:1px dashed var(--color-border);border-radius:var(--radius-md)}.loading-state{padding:var(--space-8);text-align:center;color:var(--color-text-muted)}.stack{display:grid;gap:var(--space-3)}.stack-lg{display:grid;gap:var(--space-6)}.cluster{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.cluster-sm{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.section-header{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between;flex-wrap:wrap}.section-header h3{font-size:1rem}.rule-card{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);display:grid;gap:var(--space-2)}.rule-card .rule-title{align-items:center;display:flex;gap:var(--space-2);justify-content:space-between;flex-wrap:wrap}.rule-card .rule-meta{color:var(--color-text-muted);font-size:.85rem}@media(max-width:900px){.admin-shell{grid-template-columns:1fr}.admin-nav{position:static}.admin-status{flex-direction:column;align-items:flex-start;gap:var(--space-3)}}
