:root{--ground:#f4f1ea;--surface:#fff;--mid:#f6f3ec;--text:#0c1a3a;--sub:#5a6379;--line:#0c1a3a1a;--navy:#012169;--hero:#0a2a63;--gold:#ad841f;--gold-light:#c9a24c;--green:#1e7a3c;--green-bg:#e8f4ec;--amber:#9a6b00;--amber-bg:#fdf3dd;--red:#a33}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--ground);color:var(--text);font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.45}#root{text-align:left;flex-direction:column;width:100%;min-height:100vh;display:flex}button{font:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.topbar{background:linear-gradient(135deg, var(--navy), var(--hero));color:#fff;border-bottom:3px solid var(--gold);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:18px 28px;display:flex}.brand .co{letter-spacing:.22em;color:var(--gold-light);text-transform:uppercase;margin-bottom:3px;font-size:11px}.brand h1{letter-spacing:.01em;font-size:21px;font-weight:600}.brand .ctx{color:#ffffffb8;margin-top:3px;font-size:12px}.post-btn{background:var(--gold);color:#fff;letter-spacing:.02em;border:none;border-radius:4px;align-items:center;gap:9px;padding:11px 22px;font-size:14px;font-weight:600;transition:background .15s;display:flex}.post-btn:hover:not(:disabled){background:#8f6c18}.post-btn:disabled{color:#ffffff8c;cursor:not-allowed;background:#ffffff2e}.post-btn .count{background:#ffffff40;border-radius:10px;padding:1px 9px;font-size:12.5px}.stats{background:var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:1px;display:flex}.stat{background:var(--surface);flex:140px;padding:13px 24px}.stat .v{font-variant-numeric:tabular-nums;font-size:19px;font-weight:650}.stat .k{color:var(--sub);text-transform:uppercase;letter-spacing:.08em;margin-top:1px;font-size:11px}.stat .v.gold{color:var(--gold)}.stat .v.green{color:var(--green)}.stat .v.amber{color:var(--amber)}.wrap{width:100%;max-width:1280px;margin:0 auto;padding:22px 28px 60px}.table-scroll{background:var(--surface);border:1px solid var(--line);border-radius:6px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:1020px}thead th{text-align:left;text-transform:uppercase;letter-spacing:.09em;color:var(--sub);background:var(--mid);border-bottom:1px solid var(--line);white-space:nowrap;padding:11px 14px;font-size:11px;font-weight:600}thead th.r{text-align:right}thead th.c{text-align:center}tbody td{border-bottom:1px solid var(--line);vertical-align:top;padding:13px 14px}tbody tr:last-child td{border-bottom:none}tbody tr.posted{background:var(--green-bg)}td.date{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--sub)}td.amt{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:650}td.desc .ref{font-family:Consolas,Courier New,monospace;font-size:13px}td.desc .bank{color:var(--sub);margin-top:2px;font-size:11.5px}td.confirm{text-align:center}.cust .name{font-weight:600}.cust .no{color:var(--sub);font-family:Consolas,monospace;font-size:11.5px}.chip{letter-spacing:.04em;text-transform:uppercase;border-radius:3px;margin-top:5px;padding:2px 7px;font-size:10.5px;font-weight:600;display:inline-block}.chip.match{background:var(--green-bg);color:var(--green)}.chip.review{background:var(--amber-bg);color:var(--amber)}.chip.none{background:var(--mid);color:var(--sub)}select.order{border:1px solid var(--line);background:var(--surface);width:100%;min-width:230px;color:var(--text);font:inherit;border-radius:4px;padding:7px 8px;font-size:13px}select.order:disabled{background:var(--mid);color:var(--sub)}.order-hint{color:var(--sub);margin-top:4px;font-size:11.5px}.order-hint.warn{color:var(--amber)}.tick{width:21px;height:21px;accent-color:var(--gold);cursor:pointer}.tick:disabled{cursor:not-allowed}.emailed{color:var(--green);margin-top:6px;font-size:12px}.dropzone-wrap{padding:40px 0}.dropzone{border:2px dashed var(--line);background:var(--surface);text-align:center;cursor:pointer;border-radius:8px;padding:48px 32px;transition:border-color .15s,background .15s}.dropzone:hover,.dropzone.active{border-color:var(--gold);background:var(--mid)}.dropzone-icon{margin-bottom:12px;font-size:36px}.dropzone-label{color:var(--text);margin-bottom:6px;font-size:16px;font-weight:600}.dropzone-sub{color:var(--sub);font-size:13px}.overlay{z-index:10;background:#0c1a3a73;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.overlay.open{display:flex}.dialog{background:var(--surface);border-top:3px solid var(--gold);border-radius:6px;width:100%;max-width:460px;padding:22px 24px;box-shadow:0 18px 50px #0c1a3a59}.dialog h2{margin-bottom:10px;font-size:16px}.dialog p{color:var(--sub);margin-bottom:8px;font-size:13px}.dialog ul{margin:10px 0 14px 18px;font-size:13px}.dialog li{font-variant-numeric:tabular-nums;margin-bottom:4px}.dialog .actions{justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.btn-ghost{background:var(--surface);border:1px solid var(--line);color:var(--text);border-radius:4px;padding:8px 16px}.btn-gold{background:var(--gold);color:#fff;border:none;border-radius:4px;padding:8px 18px;font-weight:600}.btn-gold:hover{background:#8f6c18}.toast{background:var(--navy);color:#fff;border-left:4px solid var(--gold);z-index:20;border-radius:5px;padding:13px 22px;font-size:13.5px;transition:transform .3s;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(80px);box-shadow:0 10px 30px #0c1a3a66}.toast.show{transform:translate(-50%)translateY(0)}.login-screen{justify-content:center;align-items:center;height:100vh;display:flex}.loading{text-align:center;color:var(--sub);padding:40px}.error-msg{color:var(--red);background:#fde8e8;border:1px solid #f5c6c6;border-radius:6px;margin-top:16px;padding:12px 16px}
