@charset "UTF-8";:root{--paper: #edf1f8;--surface: #ffffff;--surface-2: #f6f9fd;--line: #d2ddec;--line-soft: #e4ebf5;--ink: #0c2440;--ink-soft: #4a5f80;--ink-faint: #7188a8;--brand: #144f8f;--brand-lift: #2a6fbf;--brand-ghost: #e3edf9;--on-brand: #ffffff;--on-ink: #ffffff;--on-ink-soft: #b9cbe4;--on-ink-faint: #8ba5c6;--seal: #ffe500;--seal-lift: #ffd700;--on-seal: #3d2b00;--seal-ink: #7a5600;--seal-wash: #fffbe8;--ok: #1f6047;--ok-line: #2e7d5b;--ok-wash: #f0fff4;--bad: #8f1d17;--bad-line: #b3261e;--bad-wash: #fdf0ef;--warn: #92400e;--warn-line: #fdba74;--warn-wash: #fff7ed;--shadow-rgb: 12, 36, 64;--elev-1: 0 1px 2px rgba(var(--shadow-rgb), .08);--elev-2: 0 4px 14px rgba(var(--shadow-rgb), .1);--elev-3: 0 14px 36px rgba(var(--shadow-rgb), .16);--r-sm: 6px;--r-md: 12px;--r-lg: 20px;--r-pill: 999px;--font-display: Archivo, ui-sans-serif, system-ui, "Segoe UI", sans-serif;--font-body: "Source Sans 3", ui-sans-serif, system-ui, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--container: 1100px;--gutter: 1.5rem}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;font-family:var(--font-display);line-height:1.15;text-wrap:balance}h1{font-size:clamp(2.1rem,5vw,3.1rem);font-weight:800;letter-spacing:-.032em}h2{font-size:clamp(1.5rem,3vw,1.85rem);font-weight:700;letter-spacing:-.022em}h3{font-size:1.05rem;font-weight:700;letter-spacing:-.01em}p{margin:0}a{color:var(--brand)}:where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--r-sm)}.container{max-width:var(--container);margin:0 auto;padding-inline:var(--gutter)}.hl{background:linear-gradient(transparent 56%,var(--seal) 56%,var(--seal) 93%,transparent 93%);padding-inline:.08em}.eyebrow{font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-soft)}.btn{font-family:var(--font-body);font-size:1rem;font-weight:700;line-height:1.2;padding:.7rem 1.35rem;border-radius:var(--r-sm);border:1px solid transparent;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.btn-primary{background:var(--brand);color:var(--on-brand)}.btn-primary:hover{background:var(--brand-lift)}.btn-secondary{background:var(--surface);color:var(--brand);border-color:var(--line)}.btn-secondary:hover{background:var(--brand-ghost);border-color:var(--brand)}.btn-seal{background:var(--seal);color:var(--on-seal)}.btn-seal:hover{background:var(--seal-lift)}.btn-danger{background:transparent;color:var(--bad);border-color:var(--bad-line)}.btn-danger:hover{background:var(--bad-wash)}.btn:disabled,.btn[disabled]{opacity:.45;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:.35rem}.field>label{font-size:.88rem;font-weight:600;color:var(--ink)}.field input,.field select,.field textarea{font-family:var(--font-body);font-size:1rem;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:.6rem .75rem;width:100%;transition:border-color .15s ease,box-shadow .15s ease}.field textarea{resize:vertical;min-height:5rem}.field input::placeholder,.field textarea::placeholder{color:var(--ink-faint)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #144f8f2e}.field .hint{font-size:.8rem;color:var(--ink-soft)}.field .status{font-size:.83rem;font-weight:600}.field .status.ok{color:var(--ok)}.field .status.bad{color:var(--bad)}.field.is-ok input{border-color:var(--ok-line)}.field.is-bad input{border-color:var(--bad-line)}.inline-input{display:flex;gap:.5rem}.inline-input input{flex:1;min-width:0}.inline-input .btn{font-size:.9rem;padding-inline:.9rem;white-space:nowrap;flex-shrink:0}.form-error{background:var(--bad-wash);border:1px solid var(--bad-line);border-radius:var(--r-sm);color:var(--bad);font-size:.9rem;font-weight:600;padding:.65rem .85rem}.section-subtitle{color:var(--ink-soft);margin-top:.4rem}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .65rem;border-radius:var(--r-pill);font-size:.78rem;font-weight:700;line-height:1.4;white-space:nowrap}.badge-ok{background:var(--ok-wash);color:var(--ok)}.badge-warn{background:var(--warn-wash);color:var(--warn)}.badge-bad{background:var(--bad-wash);color:var(--bad)}.badge-neutral{background:var(--surface-2);color:var(--ink-soft)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--elev-1)}.page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.page-header p{color:var(--ink-soft);margin-top:.3rem}.empty-state{text-align:center;color:var(--ink-soft);padding:2.5rem 1rem;border:1px dashed var(--line);border-radius:var(--r-md)}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-md)}table.table{width:100%;border-collapse:collapse;font-size:.92rem;white-space:nowrap}table.table th,table.table td{text-align:left;padding:.7rem .9rem;border-bottom:1px solid var(--line-soft)}table.table th{background:var(--surface-2);color:var(--ink-soft);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}table.table tbody tr:last-child td{border-bottom:none}table.table tbody tr:hover{background:var(--surface-2)}
