:root{color-scheme:light;--paper:#f6f4ee;--panel:#fff;--ink:#202520;--muted:#535b53;--line:#d8dbd1;--green:#24513e;--light-green:#e6eee5;--error:#912e35;--amber:#725010;font:15px/1.5 system-ui,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box} body{margin:0} a{color:var(--green);text-underline-offset:4px} button,input,select,textarea{font:inherit;color:inherit} button,select,input:not([type=file]),textarea{border:1px solid var(--line);border-radius:6px;background:white;min-height:44px;padding:8px 12px} button{cursor:pointer} button.primary{background:var(--green);color:white;border-color:var(--green);font-weight:650} button:disabled{opacity:.6;cursor:wait} :focus-visible{outline:3px solid #42775a;outline-offset:3px} h1,h2,p{margin:0} h1{font-size:clamp(31px,5vw,50px);line-height:1.05;letter-spacing:-.045em} h2{font-size:20px;letter-spacing:-.02em} small,.muted{color:var(--muted)} p{overflow-wrap:anywhere} .shell{width:min(1340px,100% - 64px);margin-inline:auto}.masthead{border-bottom:1px solid var(--line);background:#fbfaf6}.mast-content{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:12px}.wordmark{font-weight:740;text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:10px;white-space:nowrap}.mark{display:grid;place-items:center;width:28px;height:28px;background:var(--green);color:white;border-radius:5px;font:700 17px Georgia,serif}.identity,.row,.buttons{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.identity{justify-content:flex-end}.identity button,.identity select{min-height:36px;padding-block:4px;font-size:13px}.tag{background:var(--light-green);color:var(--green);font-size:12px;font-weight:700;padding:3px 8px;border-radius:4px;white-space:nowrap}.footer{display:flex;justify-content:space-between;gap:16px;margin-top:56px;padding:18px 0 25px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.intro{margin:42px 0 28px;display:grid;gap:10px}.eyebrow{color:var(--green);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.panel{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:20px}.stack{display:grid;gap:14px}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.upload-grid label,.form label{display:grid;gap:6px;font-weight:650}.upload-grid input[type=file]{min-height:40px;max-width:100%}.login{max-width:480px;margin-top:48px}.notice{background:#fff4d7;color:var(--amber);border-left:3px solid currentColor;padding:10px 12px}.error{background:#fff0ed;color:var(--error);border-left:3px solid currentColor;padding:10px 12px}.results:empty{display:none}.results{display:grid;gap:8px;margin:0 0 18px}.table-scroll{overflow:auto}.inbox-table{width:100%;border-collapse:collapse;text-align:left;min-width:670px}.inbox-table th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.inbox-table th,.inbox-table td{border-bottom:1px solid var(--line);padding:12px 8px}.inbox-table tr:last-child td{border-bottom:0}.empty{text-align:center;padding:28px;color:var(--muted)}.bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.mono{font:13px/1.5 ui-monospace,monospace;overflow-wrap:anywhere}.back{display:inline-block;margin-bottom:4px}.history{margin:0;padding-left:20px}.history li{padding:6px 0}.form{display:grid;gap:12px}.button-link{font-weight:650}.disabled-note{color:var(--muted)}
@media(max-width:760px){.shell{width:calc(100% - 30px)}.upload-grid{grid-template-columns:1fr}.intro{margin-top:28px}.mast-content{padding:8px 0;align-items:flex-start}.identity{gap:6px}.identity>.tag{display:none}.wordmark{font-size:13px;margin-top:4px}.panel{padding:14px}.footer{margin-top:36px}}
.workbench{--source-width:52%;display:grid;grid-template-columns:minmax(0,var(--source-width)) minmax(0,1fr);gap:16px;align-items:start}.source{position:sticky;top:12px}.review{min-width:0}.source-scroll{max-height:70vh;overflow:auto;background:#e8e8de;border:1px solid var(--line);padding:10px}.source-paper{position:relative;min-width:60%;margin:auto;line-height:0}.source-photo{width:100%;height:auto;display:block}.source-paper svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.source-paper polygon{fill:#e0b64577;stroke:#805706;stroke-width:3;vector-effect:non-scaling-stroke}.thumbnails{display:flex;gap:6px;overflow:auto}.thumbnails button{min-width:50px;line-height:1.1;padding:4px}.thumbnails img{display:block;width:33px;height:41px;object-fit:contain;margin:0 auto 3px}.thumbnails [aria-current=true]{border-color:var(--green);background:var(--light-green)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.field-button{text-align:left;display:grid;min-width:0;gap:3px;overflow-wrap:anywhere}.field-label{font-size:12px;color:var(--muted)}.field-button[aria-pressed=true],.cell-button[aria-pressed=true]{background:var(--light-green);border-color:var(--green)}.cell-button{min-height:36px;padding:4px 7px;border-color:transparent;white-space:nowrap}.line-table{min-width:580px}.back{margin-bottom:12px}input[type=range]{padding:0;accent-color:var(--green);background:transparent;border:0}
@media(max-width:899px){.workbench{grid-template-columns:1fr}.source{position:static}.resize-label{display:none}.source-scroll{max-height:56vh}}
.review-summary{background:#f7f9f4;border:1px solid var(--line);padding:13px;border-radius:7px}.amounts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.amount{display:grid;padding:8px 10px;border:1px solid var(--line);border-radius:5px;background:white}.amount strong{font-variant-numeric:tabular-nums;font-size:20px}.issue{padding:9px 11px;border-left:3px solid #a37317;background:#fff4d7;color:#513b11;display:grid;gap:5px;overflow-wrap:anywhere}.issue button{justify-self:start}.action-dialog{padding:20px;border:1px solid var(--line);border-radius:10px;width:min(460px,calc(100% - 28px));color:var(--ink);box-shadow:0 12px 40px #1f251f38}.action-dialog::backdrop{background:#20252073}.action-dialog select{max-width:100%}.action-dialog button{margin-top:4px}
.receipt{display:grid;gap:5px;background:#f7f9f4;border:1px solid var(--line);padding:12px;border-radius:6px}.receipt button{justify-self:start}
