@font-face{font-family:Source Sans 3;src:url(/assets/source-sans-3.woff2) format("woff2");font-weight:200 900;font-display:swap}
:root{font-family:"Source Sans 3","Segoe UI",system-ui,sans-serif;font-size:16px;color:#203041;background:#fff;line-height:1.5;font-synthesis:none;--ink:#203041;--muted:#526374;--line:#ced7df;--action:#17549a}
*{box-sizing:border-box}body{margin:0}main{max-width:1160px;padding:0 28px 36px;margin:auto}a{color:var(--action);text-underline-offset:3px}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}.brandbar{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:68px;border-bottom:1px solid var(--line);font-size:1rem}.brandbar>a{font-weight:650;color:var(--ink);text-decoration:none}.brandbar nav{display:flex;gap:22px;font-size:.9375rem}.brandbar nav a{color:var(--muted)}header{padding:26px 0 22px;max-width:850px}header p{margin:8px 0 0;color:var(--muted)}h1{font-size:2rem;font-weight:650;line-height:1.16;letter-spacing:-.025em;margin:0 0 10px}h2{font-size:1.25rem;line-height:1.3;margin:0 0 10px;font-weight:650}h3{font-size:1rem;margin:8px 0}.lede{font-size:1.125rem;max-width:76ch}.panel,.tool{border:1px solid var(--line);padding:22px;margin:0 0 20px;border-radius:4px;background:#fff}.task{background:#f7f9fb}.panel p,.tool>p{margin:8px 0 14px;max-width:80ch}.files,.fields,.mapping,#mapping{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}.files{margin:16px 0}.files label,.fields label,.controls label,.drop{display:flex;flex-direction:column;gap:7px;font-weight:600;min-width:0}.files small{font-weight:400;color:var(--muted);overflow-wrap:anywhere}.fields{margin:16px 0 20px}.controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:16px 0}.controls label{flex:1 1 360px}.mapping .mapGroup,#mapping>div{display:grid;gap:10px}.mapping label,#mapping label{display:flex;flex-direction:column;gap:5px;font-size:.9375rem}input,select,textarea{color:var(--ink);min-width:0;max-width:100%;border:1px solid #8698aa;border-radius:3px;background:white;padding:9px 10px;min-height:42px}input[type=file]{width:100%;padding:7px;font-size:.9375rem}input[type=file]::file-selector-button{font:inherit;border:1px solid #93a3b3;border-radius:3px;background:#edf2f6;color:var(--ink);padding:6px 10px;margin-right:12px;cursor:pointer}.fields input{width:100%}button,.cta{background:var(--action);border:1px solid var(--action);border-radius:4px;padding:9px 15px;min-height:42px;font-weight:600;color:white;cursor:pointer;text-decoration:none;display:inline-block}button:hover,.cta:hover{background:#103e73}.secondary{color:var(--ink);background:#fff;border-color:#879aad}.secondary:hover{background:#edf2f7}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #e4a42b;outline-offset:3px}.actions{display:flex;gap:10px;flex-wrap:wrap}.hint,.limit,.muted,small{color:var(--muted);font-size:.9375rem}.status,[role=status]{padding:10px 0 0;min-height:1.5em;color:var(--muted);font-size:1rem}.error{color:#9b2533}.ok,.clean{color:#216443}.resultHead,.reportHead{display:flex;align-items:start;justify-content:space-between;gap:20px}.counts,#counts,.summary{display:flex;gap:16px;flex-wrap:wrap;font-size:.9375rem;padding:10px 0}.counts b,.summary strong{font-size:1.25rem;font-variant-numeric:tabular-nums}.tableWrap{overflow:auto;margin-top:14px}table{border-collapse:collapse;width:100%;font-size:.9375rem;min-width:640px}th,td{text-align:left;vertical-align:top;padding:11px 10px;border-top:1px solid var(--line);overflow-wrap:anywhere}th{font-weight:600;background:#f2f5f8}.pill,.tag{display:inline-block;font-size:.875rem;background:#edf2f7;padding:3px 7px;border-radius:3px;color:#304a60}.pill.changed,.pill.unresolved,.tag{background:#fff2d9;color:#754d09}.pill.added{background:#e4f2e9;color:#216443}.pill.missing{background:#edf2f7;color:#475c6d}#results article,.finding{border-top:1px solid var(--line);padding:15px 0}#results article p,.finding p{margin:8px 0}#results article>strong{margin-left:12px;font-size:.9375rem}#results small{display:block;overflow-wrap:anywhere}code{font-family:Consolas,monospace;font-size:.875rem;overflow-wrap:anywhere}.finding code{margin-left:10px}.finding.error .pill,.notice.error{background:#fcecef;color:#9b2533}.finding.info .pill{background:#e7eff8;color:#34577d}.notice{padding:10px 12px;border-left:3px solid #d3a04b;background:#fff6e6}.offer,.scope,.fit{border-top:1px solid var(--line);padding:26px 0;margin:4px 0}.offer{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:32px}.offer p,.scope p,.fit p{max-width:75ch;margin:8px 0 14px}.offer-price{font-size:1.75rem;line-height:1.2;margin:0 0 12px;font-weight:600}.offer .cta{margin-bottom:8px}.offer small{display:block}.scope ul{padding-left:20px}.fit a{overflow-wrap:anywhere}footer{border-top:1px solid var(--line);margin-top:10px;padding:22px 0;color:var(--muted);font-size:.9375rem;display:flex;justify-content:space-between;gap:24px}footer p{margin:0}details{margin:18px 0}summary{cursor:pointer;color:var(--action);font-weight:600}details p{margin:12px 0;max-width:80ch}.catalogue{margin:4px 0 32px}.offer-row{display:grid;grid-template-columns:1fr 120px;gap:24px;align-items:center;padding:22px 0;border-top:1px solid var(--line)}.offer-row h2{margin-bottom:5px}.offer-row p{margin:0;color:var(--muted)}.offer-row .amount{text-align:right;color:var(--ink);font-size:1.125rem}.offer-row .amount small{display:block}.intro-note{max-width:74ch;background:#f2f6fa;border-left:3px solid #859db6;padding:14px 18px;margin-bottom:25px}[hidden]{display:none!important}
@media(max-width:680px){main{padding:0 18px 25px}.brandbar{gap:12px}.brandbar nav{gap:15px}h1{font-size:1.75rem}header{padding:24px 0 18px}.files,.fields,.mapping,#mapping{grid-template-columns:1fr}.panel,.tool{padding:17px}.controls{align-items:stretch}.controls label{flex-basis:100%}.resultHead,.reportHead{display:block}.resultHead .actions,.reportHead>div+div{margin-top:10px}.offer{grid-template-columns:1fr;gap:10px}.offer-row{grid-template-columns:1fr 82px;gap:12px}.offer-row h2{font-size:1.125rem}footer{flex-direction:column;gap:8px}.brandbar nav a:last-child{display:none}}

.sample-entry{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:19px}
.sample-entry p{font-size:.9375rem;margin:0;max-width:50ch}
.sample-entry button{font-weight:600}
.mapping-step{border:1px solid var(--line);padding:18px 22px;margin:0 0 20px;border-radius:4px}
.mapping-step>summary{font-size:1.125rem;color:var(--ink)}
.mapping-step .panel{border:0;padding:12px 0 0;margin:0}
.mapping-step .panel>h2{display:none}
.result-controls,#reviewControls{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin:16px 0}
.result-controls label,#reviewControls>label{display:flex;flex-direction:column;gap:5px;font-weight:600}
.result-controls input,#rowSearch{min-width:240px;flex:1}
#resultCount,#filterCount,#coverage{font-size:.9375rem;color:var(--muted)}
#coverage,#filterCount{flex-basis:100%;margin:0}
.row-detail,.evidence{border:1px solid var(--line);border-left:3px solid var(--action);padding:18px;margin:16px 0;background:#f7f9fb;overflow-wrap:anywhere}
.row-detail[hidden],.evidence[hidden]{display:none}
.evidence{flex-basis:100%;width:100%}
.evidence dl{display:grid;grid-template-columns:110px minmax(0,1fr);gap:5px 14px;margin:12px 0}
.evidence dt{font-weight:600}.evidence dd{margin:0}
.evidence-sources{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px 24px}
@media(max-width:680px){.evidence-sources{grid-template-columns:1fr}}
#mappingLimits{flex-basis:100%;font-size:.9375rem;color:var(--muted);margin:0}
tr:focus-visible{outline:3px solid #e4a42b;outline-offset:-3px}
tbody tr:has(button):hover,tbody tr[tabindex]:hover{background:#f4f7fa}
caption{text-align:left;font-weight:600;padding:0 0 10px}
.tableWrap td:first-child button{display:block;margin-top:6px}
.tableWrap th:first-child,.tableWrap td:first-child{min-width:148px}
.tableWrap td:first-child button{white-space:nowrap}
.error-summary{border:2px solid #9b2533;padding:16px 20px;margin:18px 0}
.error-summary h2{font-size:1.125rem}.error-summary a{color:#9b2533}
.error-summary ul{margin:0;padding-left:20px}
.source-coverage{font-size:.9375rem;color:var(--muted);margin:8px 0}
.next-step{border-top:1px solid var(--line);padding:18px 0 0;margin:20px 0 0}
.next-step p{margin:5px 0 10px}
.field-error{display:block;color:#9b2533;font-weight:400;font-size:.9375rem}
[aria-invalid=true]{border-color:#9b2533;border-width:2px}
@media(max-width:680px){.mapping-step{padding:15px 17px}.sample-entry{gap:9px}.result-controls,#reviewControls{align-items:stretch}.result-controls label,.result-controls input,#reviewControls>label{width:100%;min-width:0}.evidence dl{grid-template-columns:104px minmax(0,1fr);gap:6px 10px}.row-detail,.evidence{padding:14px}.tableWrap button{font-size:.875rem;padding:6px 9px}}
