: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}.launch{background:radial-gradient(circle at 50% 40%, var(--hero), #06224f 70%, #050f24);z-index:100;place-items:center;display:grid;position:fixed;inset:0}.launch:before{content:"";opacity:.06;pointer-events:none;background:repeating-linear-gradient(-32deg,#0000 0 15px,#ffffffe6 15px 17px);position:absolute;inset:0}.launch-card{text-align:center;flex-direction:column;align-items:center;display:flex;position:relative}.launch.show .launch-card{animation:.38s cubic-bezier(.22,1,.36,1) 50ms both lc-cardin}@keyframes lc-cardin{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:none}}.launch-mark{margin-bottom:22px}.launch-mark svg g rect{stroke-dasharray:240;stroke-dashoffset:240px}.launch.show .launch-mark svg g:first-child rect{animation:.42s .12s forwards lc-draw}.launch.show .launch-mark svg g:nth-child(2) rect{animation:.42s .22s forwards lc-draw}.launch.show .launch-mark svg g:nth-child(3) rect{animation:.42s .32s forwards lc-draw}@keyframes lc-draw{to{stroke-dashoffset:0}}.launch-code{letter-spacing:.32em;color:var(--gold-light);text-transform:uppercase;font-size:13px;font-weight:800}.launch-name{letter-spacing:-.5px;color:#f7f5ee;margin-top:8px;font-family:Newsreader,serif;font-size:34px;font-weight:500}.launch-bar{background:#ffffff1f;border-radius:999px;width:220px;height:4px;margin-top:26px;overflow:hidden}.launch-bar span{background:linear-gradient(90deg, var(--gold), var(--gold-light));border-radius:999px;width:40%;height:100%;display:block;transform:translate(-110%)}.launch.show .launch-bar span{animation:1.2s cubic-bezier(.5,.05,.2,1) .35s infinite lc-load}@keyframes lc-load{0%{width:40%;transform:translate(-110%)}60%{width:60%}to{width:60%;transform:translate(260%)}}.launch-status{letter-spacing:.04em;color:#edeae099;margin-top:16px;font-size:12.5px;font-weight:600}@media (prefers-reduced-motion:reduce){.launch.show .launch-card{animation-duration:.2s}.launch-mark svg g rect{stroke-dashoffset:0;animation:none!important}.launch-bar span{width:100%;transform:none;animation:none!important}}.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}.topbar-actions{align-items:center;gap:12px;display:flex}.logout-btn{color:#ffffffbf;cursor:pointer;background:0 0;border:1px solid #ffffff59;border-radius:8px;padding:9px 18px;font-size:14px;font-weight:500;transition:background .15s,color .15s}.logout-btn:hover{color:#fff;background:#ffffff1f}.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}.search-bar{align-items:center;gap:12px;margin-bottom:12px;display:flex}.search-bar input{border:1px solid var(--line);background:var(--surface);max-width:360px;color:var(--text);font:inherit;border-radius:8px;outline:none;flex:1;padding:8px 14px;font-size:13.5px;transition:border-color .15s}.search-bar input:focus{border-color:var(--gold)}.search-count{color:var(--sub);white-space:nowrap;font-size:12.5px}.no-results{text-align:center;color:var(--sub);padding:28px;font-style:italic}.paid-amt{color:var(--amber);font-variant-numeric:tabular-nums}
