:root{--bg:#fff;--fg:#1a1a1a;--muted:#5f6368;--border:#d7d9dc;--accent:#1a56db;--accent-fg:#fff;--flag-bg:#fff4e5;--flag-border:#d97706;--flag-fg:#7c3e00;--danger:#b42318;--danger-bg:#fef3f2;--ok:#067647;--ok-bg:#ecfdf3}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.shell{max-width:720px;margin:0 auto;padding:2rem 1.25rem 4rem}h1{margin:0 0 .25rem;font-size:1.5rem}.subtitle{color:var(--muted);margin:0 0 1.5rem}.step-indicator{color:var(--muted);gap:.5rem;margin-bottom:2rem;font-size:.8rem;display:flex}.step-indicator .current{color:var(--accent);font-weight:600}.card{border:1px solid var(--border);border-radius:10px;margin-bottom:1rem;padding:1.25rem}.field-row{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding:.75rem 0;display:flex}.field-row:last-child{border-bottom:none}.field-name{color:var(--muted);font-size:.85rem}.field-value{text-align:right;font-weight:500}.flagged{background:var(--flag-bg);border:1px solid var(--flag-border);border-radius:8px;margin:.5rem 0;padding:.75rem 1rem}.flagged .flag-label{letter-spacing:.04em;color:var(--flag-fg);background:#ffe8b3;border-radius:999px;margin-bottom:.4rem;padding:.15rem .55rem;font-size:.7rem;font-weight:700;display:inline-block}.error-banner{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger);border-radius:8px;margin:1rem 0;padding:.75rem 1rem;font-size:.9rem}.success-banner{background:var(--ok-bg);color:var(--ok);border:1px solid var(--ok);border-radius:8px;margin:1rem 0;padding:.75rem 1rem;font-size:.9rem}button{font:inherit;cursor:pointer;border:1px solid var(--border);background:#fff;border-radius:8px;padding:.6rem 1.1rem}button.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}input[type=text],textarea{font:inherit;border:1px solid var(--border);border-radius:8px;width:100%;padding:.6rem .75rem}.institution-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.75rem 0;display:flex}.institution-item:last-child{border-bottom:none}.consent-text{white-space:pre-wrap;border:1px solid var(--border);background:#fafafa;border-radius:8px;max-height:320px;padding:1rem;font-size:.85rem;line-height:1.5;overflow-y:auto}.checkbox-row{align-items:flex-start;gap:.6rem;margin:1rem 0;display:flex}.mono{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.shell.wide{max-width:1100px}input[type=url],input[type=password],select{font:inherit;border:1px solid var(--border);border-radius:8px;width:100%;padding:.6rem .75rem}select{max-width:14rem}nav.topbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:1.2rem;margin-bottom:1.5rem;padding:.8rem 0;display:flex}nav.topbar a{color:inherit;padding:.3rem 0;text-decoration:none}nav.topbar a.active{border-bottom:2px solid var(--accent);font-weight:600}nav.topbar .who{color:#555;margin-left:auto;font-size:.9rem}table.rows{border-collapse:collapse;width:100%;font-size:.95rem}table.rows th{text-align:left;border-bottom:2px solid var(--border);white-space:nowrap;padding:.5rem .6rem;font-weight:600}table.rows td{border-bottom:1px solid var(--border);padding:.5rem .6rem}table.rows tr:hover td{background:#fafaf8}table.rows td.mono,table.rows th.mono{font-family:ui-monospace,monospace;font-size:.85rem}.pill{border:1px solid var(--border);border-radius:999px;padding:.1rem .5rem;font-size:.8rem;display:inline-block}.pill.ACTIVE{background:#e6f4ea;border-color:#9ccdaa}.pill.DRAFT{background:#f1f1ef}.pill.SUSPENDED{background:#fdf0d5;border-color:#e0c068}.pill.RETIRED{color:#666;background:#eee}.pill.warn{color:#7a5b00;background:#fdf0d5;border-color:#e0c068}.hint.warn{color:#7a5b00}.pill.FAILED,.pill.ATTESTATION_FAILED{background:#fbe9e7;border-color:#e5a79b}.finding{background:#fff;border:2px solid #b3261e;border-left-width:6px;border-radius:8px;margin:1rem 0;padding:1rem 1.1rem}.finding h2{color:#b3261e;margin:0 0 .4rem;font-size:1.05rem}.finding p{margin:.4rem 0 0}.field-grid{grid-template-columns:200px 1fr;align-items:start;gap:.6rem 1rem;display:grid}.field-grid label{padding-top:.6rem}.hint{color:#666;margin:.2rem 0 0;font-size:.85rem}.counter{font-variant-numeric:tabular-nums}.counter.over{color:#b3261e;font-weight:600}.two-col{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (max-width:900px){.two-col{grid-template-columns:1fr}}.observed-paths{border-top:1px dashed #ccc;margin-top:.8rem;padding-top:.6rem}.observed-paths ul{margin:.4rem 0;padding:0;list-style:none}.observed-paths li{padding:.15rem 0}.observed-paths li button{cursor:pointer;font:inherit;text-align:left;color:inherit;background:0 0;border:none;border-radius:4px;padding:.1rem .2rem}.observed-paths li button:hover{background:#eef}.observed-paths li.matched code{font-weight:600}.observed-paths li.matched button{background:#eaf6ea}.extraction-ask{flex-direction:column;gap:.75rem;max-width:46rem;display:flex}.extraction-ask label{flex-direction:column;gap:.3rem;font-weight:600;display:flex}.extraction-ask input{border:1px solid var(--border);font:inherit;border-radius:6px;padding:.5rem .6rem}.extraction-ask button{align-self:flex-start}table.rows tr.flagged-row td{background:var(--flag-bg)}table.rows tr.flagged-row td:first-child{box-shadow:inset 3px 0 0 var(--flag-border)}.tag{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem;font-weight:600}.extraction-record{flex-direction:column;gap:.75rem;display:flex}
