:root{--ink:#1e2b32;--paper:#f4efd9;--red:#d8291c;--blue:#c9dce4;--yellow:#f3c844;--line:#6c746f}*{box-sizing:border-box}html{background:var(--ink);color:var(--ink);font-family:Arial,Helvetica,sans-serif}body{margin:0;background:var(--paper);background-image:linear-gradient(#ded8c4 1px,transparent 1px);background-size:100% 28px}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:20;background:white;padding:.8rem}.top{display:flex;align-items:center;gap:1.2rem;min-height:60px;padding:.7rem clamp(1rem,3vw,3rem);background:var(--ink);color:white;border-bottom:8px solid var(--red);font:700 .8rem/1 'Courier New',monospace;letter-spacing:.07em}.brand{color:var(--yellow);text-decoration:none;font-size:1rem}.top nav{display:flex;gap:.45rem;margin-left:auto}.top button,.top .file{background:transparent;color:white;border:1px solid #7f8d92;padding:.55rem .7rem;font:inherit}.file{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.file input{position:absolute;width:1px;height:1px;opacity:0}.file:focus-within{outline:3px solid white}button,input,select{font:inherit}button{cursor:pointer}.mast{display:flex;justify-content:space-between;align-items:end;gap:2rem;padding:clamp(2rem,5vw,4.8rem) clamp(1rem,5vw,5rem) 2.3rem;border-bottom:3px solid var(--ink)}.mast p,.sheet header p,.result header p{margin:0 0 .55rem;font:800 .75rem 'Courier New',monospace;letter-spacing:.12em}.mast h1{font:900 clamp(2.8rem,6vw,6.2rem)/.86 Arial,sans-serif;letter-spacing:-.07em;margin:0}.mast h1 em{font-family:Georgia,serif;font-weight:400;color:var(--red)}.mast-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.paper,.red{border:2px solid var(--ink);padding:.8rem 1rem;font-weight:800}.paper{background:transparent}.red{background:var(--red);color:white}#notice{margin:0;min-height:2.4rem;padding:.6rem clamp(1rem,5vw,5rem);background:var(--yellow);font-weight:800}.meta{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 2fr;gap:.7rem;padding:1rem clamp(1rem,5vw,5rem);background:white;border-bottom:3px solid var(--ink)}label{display:grid;gap:.35rem;font:800 .74rem/1.2 'Courier New',monospace}input,select{width:100%;min-width:0;border:2px solid var(--ink);border-radius:0;background:#fffef8;padding:.68rem;color:var(--ink)}.score{display:grid;grid-template-columns:repeat(5,1fr);background:var(--ink);gap:2px;border-bottom:4px solid var(--ink)}.score>div{display:grid;gap:.2rem;padding:1rem clamp(.7rem,2vw,1.5rem);background:var(--paper)}.score b{font:900 clamp(1.4rem,3vw,2.6rem)/1 Arial,sans-serif;letter-spacing:-.05em}.score span{font:700 .68rem 'Courier New',monospace;text-transform:uppercase}#difference-card.over{background:var(--red);color:white}#difference-card.under{background:var(--blue)}.sources{display:grid;grid-template-columns:1fr 1fr;max-width:1500px;margin:auto;border-left:2px solid var(--ink);border-right:2px solid var(--ink)}.sheet{padding:1.5rem;background:rgba(255,255,255,.65);min-width:0}.sheet+ .sheet{border-left:4px solid var(--ink);background:rgba(201,220,228,.46)}.sheet header{display:flex;gap:1rem;align-items:center;border-bottom:4px solid var(--ink);padding-bottom:.8rem}.sheet header>span{font:900 3.4rem/1 Georgia,serif;color:var(--red)}.sheet h2,.result h2{margin:0;font:900 clamp(1.8rem,3vw,3.2rem)/.9 Arial,sans-serif;letter-spacing:-.05em}.sheet form{padding:1rem 0;border-bottom:1px dashed var(--line)}.four{display:grid;grid-template-columns:1fr 2fr .55fr .8fr;gap:.6rem}.form-actions,.import-row{display:flex;gap:.5rem;margin-top:.65rem;align-items:center}.form-actions button,.import-row button,.import-row .file{padding:.6rem .8rem;border:2px solid var(--ink);background:var(--yellow);font-weight:800}.form-actions .cancel{background:transparent}.hidden{display:none!important}.source-list{margin-top:1rem}.source-row{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:.45rem;padding:.75rem .15rem;border-bottom:1px solid var(--line)}.source-row>div{display:grid}.source-row b{font-family:'Courier New',monospace}.source-row span{font-size:.85rem}.source-row .row-math{font:700 .78rem 'Courier New',monospace}.source-row button{border:1px solid var(--ink);background:transparent;padding:.42rem .55rem;font-weight:800}.result{max-width:1500px;margin:auto;padding:2.2rem clamp(1rem,3vw,2.5rem) 4rem;background:#fffef8;border:2px solid var(--ink)}.result>header{display:flex;justify-content:space-between;align-items:end;border-bottom:4px solid var(--ink);padding-bottom:1rem}.result>header label{width:180px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:800px}th,td{text-align:left;border-bottom:1px solid #a79f8c;padding:.75rem .55rem;vertical-align:top}th{font:800 .72rem 'Courier New',monospace;background:var(--ink);color:white}td:first-child b{display:block;font-family:'Courier New',monospace}td small{display:block}.finding{display:inline-block;padding:.25rem .38rem;background:var(--yellow);font:800 .68rem 'Courier New',monospace;text-transform:uppercase}.finding.match{background:var(--blue)}.finding.unexpected,.finding.missing{background:var(--red);color:white}.diff{font-weight:900;color:var(--red)}.empty{padding:3rem;text-align:center;border:2px dashed var(--ink);margin-top:1rem}footer{display:flex;justify-content:space-between;gap:2rem;background:var(--ink);color:#dce5e7;padding:1.4rem clamp(1rem,4vw,3rem);font-size:.78rem;line-height:1.4}
@media(max-width:920px){.top{flex-wrap:wrap}.top>span{display:none}.top nav{width:100%;margin:0}.top nav>*{flex:1}.mast{display:block}.mast-actions{justify-content:flex-start;margin-top:1.5rem}.meta{grid-template-columns:1fr 1fr}.meta .wide{grid-column:1/-1}.score{grid-template-columns:repeat(2,1fr)}.score>div:last-child{grid-column:1/-1}.sources{grid-template-columns:1fr;border:0}.sheet+.sheet{border-left:0;border-top:4px solid var(--ink)}.four{grid-template-columns:1fr 1fr}.source-row{grid-template-columns:1fr auto auto}.source-row .row-math{grid-column:1/-1;grid-row:2}.result{border-left:0;border-right:0}.table-wrap{overflow:visible}table{min-width:0}thead{display:none}tbody,tr,td{display:block;width:100%}tbody tr{border:2px solid var(--ink);margin:0 0 .8rem;background:white}tbody td{display:grid;grid-template-columns:8rem 1fr;gap:.5rem;border-bottom:1px solid #c5beaa;padding:.65rem}tbody td:last-child{border-bottom:0}tbody td:first-child{display:block;background:var(--ink);color:white}tbody td:nth-child(2):before{content:'Expected';font:800 .7rem 'Courier New',monospace}tbody td:nth-child(3):before{content:'Invoiced';font:800 .7rem 'Courier New',monospace}tbody td:nth-child(4):before{content:'Difference';font:800 .7rem 'Courier New',monospace}tbody td:nth-child(5):before{content:'Finding';font:800 .7rem 'Courier New',monospace}footer{display:block}}
@media(max-width:380px){.top nav{display:grid;grid-template-columns:1fr 1fr}.top nav>*:last-child{grid-column:1/-1}.mast h1{font-size:2.65rem}.mast-actions>*{flex:1}.meta,.four{grid-template-columns:1fr}.score b{font-size:1.4rem}.sheet{padding:1rem .75rem}.form-actions,.import-row{flex-wrap:wrap}.source-row{grid-template-columns:1fr auto auto}.source-row .row-math{grid-column:1/-1;grid-row:2}.result>header{align-items:start}.result>header label{width:125px}}
@media print{@page{size:A4 landscape;margin:10mm}body{background:white}.top,.mast,#notice,.meta,.sources,.result>header label,footer{display:none!important}.score{display:grid;grid-template-columns:repeat(5,1fr);border:2px solid #111}.score>div{padding:4mm;background:white!important;color:#111!important}.result{border:0;padding:0;max-width:none}.result>header{display:block;margin:8mm 0 5mm}.table-wrap{overflow:visible}table{min-width:0;font-size:9pt}th,td{padding:2.5mm}.finding{border:1px solid #111;background:white!important;color:#111!important}}
