:root{--ink: #1a1f16;--muted: #6b7263;--line: #d9ddd2;--paper: #fbfbf8;--accent: #1f6f43;--danger: #a03123;--warning-bg: #fcf3d7;--pending-bg: #f4f7ee;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--paper)}button{font:inherit;padding:.3rem .8rem;border:1px solid var(--line);border-radius:4px;background:#fff;cursor:pointer}button:disabled{opacity:.5;cursor:default}button.active{border-color:var(--accent);color:var(--accent)}button.danger{border-color:var(--danger);color:var(--danger)}button.link{border:none;background:none;padding:0;color:var(--accent);text-decoration:underline}input,select,textarea{font:inherit;padding:.25rem .4rem;border:1px solid var(--line);border-radius:3px;background:#fff;max-width:100%}input.money{text-align:right;width:6.5rem}label{display:inline-flex;flex-direction:column;gap:.15rem}.error{color:var(--danger)}.muted{color:var(--muted)}.warning{background:var(--warning-bg);padding:.4rem .6rem;border-radius:4px}.topbar{display:flex;align-items:center;gap:1rem;padding:.5rem 1rem;border-bottom:1px solid var(--line);background:#fff}.topbar nav{display:flex;gap:.4rem;flex:1}.brand{font-weight:700;color:var(--accent)}main{padding:1rem;max-width:75rem;margin:0 auto}.signin{max-width:26rem;margin:15vh auto;text-align:center;display:flex;flex-direction:column;gap:.8rem}.dev-token{display:flex;flex-direction:column;gap:.5rem;text-align:left}.dev-token input{width:100%}.table-controls{display:flex;flex-wrap:wrap;gap:.7rem;align-items:end;margin-bottom:.8rem}.table-controls .grow{flex:1;min-width:12rem}.table-controls .grow input{width:100%}table.receipts{width:100%;border-collapse:collapse}table.receipts th{text-align:left;font-weight:600;border-bottom:2px solid var(--line);padding:.3rem .4rem}table.receipts th.num,table.receipts td.num{text-align:right}table.receipts td{border-bottom:1px solid var(--line);padding:.15rem .4rem}table.receipts td input,table.receipts td select{border-color:transparent;background:transparent;width:100%}table.receipts td input.money{width:6.5rem}table.receipts td input:focus,table.receipts td select:focus{border-color:var(--accent);background:#fff;outline:none}tr.pending{background:var(--pending-bg)}tr.row-error td{padding:.3rem .4rem;background:#fdf0ee}.load-more{margin-top:.8rem}.confirm-queue{border-color:var(--accent);color:var(--accent)}.detail-header{display:flex;justify-content:space-between;margin-bottom:.8rem}.status-tag{text-transform:uppercase;font-size:.8rem;letter-spacing:.05em}.status-tag.pending{color:var(--accent)}.detail-body{display:flex;gap:1.5rem;align-items:flex-start}.detail-image{flex:1;min-width:0}.receipt-photo{max-width:100%;border:1px solid var(--line)}.receipt-pdf{width:100%;height:75vh;border:1px solid var(--line)}.detail-fields{flex:1;min-width:20rem}.field-grid{display:flex;flex-wrap:wrap;gap:.7rem}.field-grid label{flex:1 1 12rem}.field-grid .notes{flex-basis:100%}.field-grid textarea{width:100%}.business-choice{border:1px solid var(--line);border-radius:4px;flex-basis:100%}.business-choice label{display:inline-flex;flex-direction:row;gap:.3rem;margin-right:1rem}.detail-actions{margin-top:.9rem;display:flex;gap:.6rem;align-items:center}.delete-confirm{display:inline-flex;gap:.5rem;align-items:center;color:var(--danger)}.upload-view{max-width:45rem}.dropzone{border:2px dashed var(--line);border-radius:6px;padding:2.2rem 1rem;text-align:center;margin:.9rem 0}.dropzone.dragging{border-color:var(--accent);background:var(--pending-bg)}.dropzone.disabled{opacity:.6}.upload-queue{list-style:none;padding:0}.upload-queue li{display:flex;justify-content:space-between;gap:1rem;padding:.25rem 0;border-bottom:1px solid var(--line)}.upload-queue li.duplicate span:last-child{color:var(--muted)}.upload-queue li.failed span:last-child,.upload-queue li.unsupported span:last-child{color:var(--danger)}.upload-queue li.created span:last-child{color:var(--accent)}.filename{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.export-view{max-width:55rem}.export-starters{display:flex;gap:2rem;flex-wrap:wrap;margin:1rem 0}.starter{display:flex;gap:.7rem;align-items:end;flex-wrap:wrap}table.export-jobs{width:100%;border-collapse:collapse;margin-top:1rem}table.export-jobs th,table.export-jobs td{text-align:left;padding:.3rem .4rem;border-bottom:1px solid var(--line)}.export-status.failed{color:var(--danger)}.export-status.complete{color:var(--accent)}
