:root{--color-bg: #f6f7f9;--color-surface: #ffffff;--color-text: #1b2230;--color-muted: #5a6475;--color-border: #d5dae2;--color-primary: #0b6e4f;--color-primary-text: #ffffff;--color-focus: #1a73e8;--color-error: #b3261e;--color-error-bg: #fdecea;--color-warn-bg: #fff4d6;--color-ok: #146c2e;--color-notice-bg: #e7f3ee;--radius: 6px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, "Cascadia Mono", Consolas, monospace;color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--color-bg: #12161d;--color-surface: #1b212b;--color-text: #e6e9ef;--color-muted: #a3adbd;--color-border: #343d4b;--color-primary: #3fb68b;--color-primary-text: #0b1410;--color-focus: #8ab4f8;--color-error: #f2b8b5;--color-error-bg: #3a1f1d;--color-warn-bg: #3a3218;--color-ok: #7dd396;--color-notice-bg: #1d3329;color-scheme:dark}}:root[data-theme=dark]{--color-bg: #12161d;--color-surface: #1b212b;--color-text: #e6e9ef;--color-muted: #a3adbd;--color-border: #343d4b;--color-primary: #3fb68b;--color-primary-text: #0b1410;--color-focus: #8ab4f8;--color-error: #f2b8b5;--color-error-bg: #3a1f1d;--color-warn-bg: #3a3218;--color-ok: #7dd396;--color-notice-bg: #1d3329;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font);background:var(--color-bg);color:var(--color-text);line-height:1.5}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}h1{font-size:1.5rem;margin:0 0 var(--space-4)}h2{font-size:1.15rem;margin:0 0 var(--space-3)}.shell{display:grid;grid-template-columns:220px 1fr;grid-template-rows:auto 1fr;min-height:100vh}.topbar{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center;padding:var(--space-3) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.brand{font-weight:700;margin-right:auto}.idle-timer{color:var(--color-muted);font-size:.875rem}.sidenav{background:var(--color-surface);border-right:1px solid var(--color-border)}.sidenav ul{list-style:none;margin:0;padding:var(--space-2)}.sidenav a{display:block;padding:var(--space-2) var(--space-3);border-radius:var(--radius);color:var(--color-text);text-decoration:none}.sidenav a.active{background:var(--color-notice-bg);font-weight:600}.content{padding:var(--space-6);max-width:1200px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-4);margin-bottom:var(--space-4)}.login{display:grid;place-items:center;min-height:100vh;padding:var(--space-4)}.login .card{width:min(420px,100%)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:0 var(--space-4)}.field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-3)}.field label{font-weight:600;font-size:.9rem}.field input,.field select,.field textarea{font:inherit;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text)}.field input[readonly]{background:var(--color-bg);color:var(--color-muted)}.field [aria-invalid=true]{border-color:var(--color-error)}.field-hint{margin:0;font-size:.85rem;color:var(--color-muted)}.field-error{margin:0;font-size:.85rem;color:var(--color-error);font-weight:600}fieldset{border:1px solid var(--color-border);border-radius:var(--radius);margin:0 0 var(--space-3)}.radio{display:inline-flex;gap:var(--space-1);align-items:center;margin-right:var(--space-4)}.checkbox{display:flex;gap:var(--space-1);align-items:center;margin-bottom:var(--space-2)}.error-code{font-family:monospace}.stepper li.skipped{text-decoration:line-through;opacity:.7}button{font:inherit;cursor:pointer;border-radius:var(--radius);padding:var(--space-2) var(--space-4)}button:disabled{cursor:not-allowed;opacity:.55}.btn-primary{background:var(--color-primary);color:var(--color-primary-text);border:1px solid var(--color-primary)}.btn-secondary{background:transparent;color:var(--color-text);border:1px solid var(--color-border)}.btn-link{background:none;border:none;color:var(--color-text);text-decoration:underline;padding:0}.actions,.row-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.error-box{background:var(--color-error-bg);border-left:4px solid var(--color-error);padding:var(--space-3);margin-bottom:var(--space-3);border-radius:var(--radius)}.error-box p{margin:0}.error-reference{font-family:var(--font-mono);font-size:.85rem;margin-top:var(--space-1)!important}.notice{background:var(--color-notice-bg);padding:var(--space-3);border-radius:var(--radius)}.badge-warn{background:var(--color-warn-bg);padding:0 var(--space-2);border-radius:var(--radius)}.table-wrap{overflow-x:auto;margin-bottom:var(--space-4)}table{border-collapse:collapse;width:100%;background:var(--color-surface)}caption{text-align:left;font-weight:600;padding:var(--space-2) 0}th,td{padding:var(--space-2);border-bottom:1px solid var(--color-border);text-align:left}.num{text-align:right;font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono)}.summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-2) var(--space-4)}.summary dt{color:var(--color-muted);font-size:.85rem}.summary dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}.stepper{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;padding:0;margin:0 0 var(--space-4)}.stepper li{padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:999px}.stepper li.done{background:var(--color-notice-bg)}.stepper li[aria-current=step]{border-color:var(--color-primary);font-weight:700}.tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.tabs [aria-selected=true]{background:var(--color-primary);color:var(--color-primary-text);border:1px solid var(--color-primary)}.tabs [aria-selected=false]{background:transparent;color:var(--color-text);border:1px solid var(--color-border)}.tiles{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-4)}.tile{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);text-decoration:none}.tile span{color:var(--color-muted);font-size:.9rem}.score-badge{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;padding:var(--space-3);border-radius:var(--radius);background:var(--color-notice-bg);margin-bottom:var(--space-3)}.grade{font-size:1.25rem;font-weight:700}.chain-ok{color:var(--color-ok);font-weight:600}.chain-broken{color:var(--color-error);font-weight:600}.loading{color:var(--color-muted)}.list{padding-left:var(--space-4)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 720px){.shell{grid-template-columns:1fr}.sidenav{border-right:none;border-bottom:1px solid var(--color-border)}}
