:root{--ink:#112d42;--gold:#9b733a;--paper:#f8f6f1;--line:#d8ddd9;--red:#a73d2e;--amber:#b8722e;--green:#4a6a3d;--blue:#3a5878;--mono:'IBM Plex Mono',Consolas,'Courier New',monospace}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Arial,sans-serif}a{color:#245775}
nav.top{background:#102b42;color:#fff;display:flex;gap:24px;padding:16px 4%;flex-wrap:wrap}nav.top a{color:#fff}
#app{max-width:1480px;margin:auto;padding:32px 4%}h1{font-family:Georgia,serif;font-size:clamp(34px,4.6vw,60px);font-weight:400;line-height:1.08;margin:10px 0 18px}h1 em{color:#916a33}
h2{font:30px/1.2 Georgia,serif;margin:26px 0 10px}h3{font-size:19px;margin:22px 0 8px}.kicker{font-size:11px;letter-spacing:1.5px;text-transform:uppercase}
.scope{background:#e9eee9;border-left:4px solid #85642f;padding:16px 22px;margin:14px 0}.warn{background:#f6eadf;border-left:4px solid var(--amber);padding:12px 18px;margin:12px 0}.err{background:#f5e1dd;border-left:4px solid var(--red);padding:12px 18px;margin:12px 0}
.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:16px 0}
button,.file-label{font:inherit;font-size:15px;border:1px solid #7b8b92;border-radius:4px;padding:9px 15px;background:#fff;color:var(--ink);cursor:pointer}button:hover{background:#e9e5db}button.primary{background:var(--ink);color:#fff;border-color:var(--ink)}button[aria-current=step]{background:var(--ink);color:#fff}button:disabled{opacity:.5;cursor:not-allowed}
input,select,textarea{display:block;width:100%;min-width:0;font:inherit;padding:8px;border:1px solid #819097;border-radius:3px;color:var(--ink);background:#fff}textarea{min-height:70px}
label{display:block;margin:8px 0;font-size:14px}label small{display:block;color:#586870}
.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 18px}
.tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:14px 0}.tabs button{font-size:14px}
.status-bar{display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-size:14px;padding:10px 0}
.pill{display:inline-block;font:12px/1.4 var(--mono);padding:3px 8px;border-radius:3px;border:1px solid currentColor;white-space:nowrap}
.pill.HOLD,.pill.red,.pill.stale{color:var(--red)}.pill.amber{color:var(--amber)}.pill.READY,.pill.green,.pill.current{color:var(--green)}.pill.blue,.pill.superseded,.pill.closed{color:var(--blue)}
.id{font-family:var(--mono);font-size:13px}
.table-scroll{overflow:auto;margin:14px 0;max-width:100%}table{border-collapse:collapse;width:100%;font-size:14px}td,th{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#e7ece8;white-space:nowrap}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.card{padding:18px;border:1px solid var(--line);background:#fff}.card.chosen{border:2px solid var(--gold)}.card dl{display:grid;grid-template-columns:1fr auto;font-size:14px;gap:4px 10px;margin:10px 0}.card dd{margin:0;text-align:right;font-weight:bold}
svg{width:100%;height:auto;background:#f1f2ec;display:block}
.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;margin:6px 0}.legend span{display:inline-flex;align-items:center;gap:5px}.legend i{display:inline-block;width:14px;height:10px}
.finding{border-left:5px solid var(--line);padding:12px 16px;background:#fff;margin:12px 0}.finding.red{border-color:var(--red)}.finding.amber{border-color:var(--amber)}.finding.closed,.finding.superseded{opacity:.75;border-color:var(--blue)}
.finding form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 14px;margin-top:8px}.finding form .wide{grid-column:1/-1}
details{padding:14px 18px;border:1px solid var(--line);margin-top:16px;background:#fff}summary{cursor:pointer;font-weight:bold}
#status{min-height:24px;font-size:14px;color:#704917}
.cf{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.cf .card{padding:14px}.cf h4{margin:0 0 4px;font:18px Georgia,serif}.tag{font:11px var(--mono);padding:1px 5px;border:1px solid #9aa;border-radius:3px;margin-right:4px}.tag.CALC{color:var(--green)}.tag.QUAL{color:var(--blue)}.tag.MISSING{color:var(--red)}
:focus-visible{outline:3px solid #b58b46;outline-offset:3px}footer{padding:22px 4%;border-top:1px solid var(--line);font-size:14px}
@media(max-width:1000px){.form-grid{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:1fr 1fr}.cf{grid-template-columns:1fr 1fr}.finding form{grid-template-columns:1fr}}
@media(max-width:600px){#app{padding:20px 16px}.form-grid,.grid3,.grid2,.cf{grid-template-columns:1fr}.tabs button{flex:1 1 45%;text-align:left}h2{font-size:25px}.actions button{flex:1 1 auto}nav.top{gap:14px}}
