:root{--font-ui: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-num: ui-monospace, "SF Mono", "Cascadia Mono", Consolas, monospace;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-pill: 999px;--ease: cubic-bezier(.2, .7, .3, 1);--dur: .18s;--ok: #12a150;--warn: #c77700;--danger: #d92d20;--info: #0a7ea4;--bg: #f4f6fa;--surface: #fff;--surface-3: #eef1f7;--border: #dfe4ec;--border-soft: #ecf0f6;--text: #131722;--text-2: #576072;--text-3: #8a93a3;--accent: #0e7c66;--accent-ink: #fff;--accent-soft: rgba(14, 124, 102, .1)}:root[data-theme=midnight]{--bg: #0d0f14;--surface: #151922;--surface-3: #232b3b;--border: #2a3346;--border-soft: #1f2634;--text: #eef2f9;--text-2: #9aa6bd;--text-3: #626e86;--accent: #6f8dff;--accent-ink: #0b0d12;--accent-soft: rgba(111, 141, 255, .15)}:root[data-theme=bazaar]{--bg: #f7f2e9;--surface: #fffdf8;--surface-3: #f2ebdd;--border: #e3d8c4;--border-soft: #ece3d3;--text: #24190f;--text-2: #6b5a45;--text-3: #9b8a73;--accent: #b8541f;--accent-ink: #fffdf8;--accent-soft: rgba(184, 84, 31, .12)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%}body{font-family:var(--font-ui);background:var(--bg);color:var(--text);font-size:14.5px;line-height:1.5;-webkit-font-smoothing:antialiased}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums}.btn{height:40px;padding:0 16px;border-radius:var(--r-md);cursor:pointer;border:1px solid transparent;font:600 13.5px/1 var(--font-ui);display:inline-flex;align-items:center;gap:7px;transition:all var(--dur) var(--ease)}.btn.primary{background:var(--accent);color:var(--accent-ink)}.btn.primary:hover{filter:brightness(1.08)}.btn.ghost{background:var(--surface);color:var(--text-2);border-color:var(--border)}.btn.ghost:hover{color:var(--text);border-color:var(--text-3)}.btn:disabled{opacity:.5;cursor:not-allowed;filter:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;margin-bottom:16px}.card>header{padding:15px 18px;border-bottom:1px solid var(--border-soft);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.card>header h2{margin:0;font-size:15px;font-weight:650}.card>header .sub{font-size:12.5px;color:var(--text-3)}.card>header .spacer{flex:1}table.t{width:100%;border-collapse:collapse}table.t th{text-align:left;font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);padding:10px 18px;border-bottom:1px solid var(--border);background:var(--surface-3)}table.t td{padding:13px 18px;border-bottom:1px solid var(--border-soft)}table.t tbody tr:last-child td{border-bottom:0}table.t .r{text-align:right}.tw{overflow-x:auto}.chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:3px 9px;border-radius:var(--r-pill);background:var(--surface-3);color:var(--text-2);border:1px solid var(--border-soft)}.chip.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 30%,transparent);background:color-mix(in srgb,var(--ok) 10%,transparent)}.chip.warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 32%,transparent);background:color-mix(in srgb,var(--warn) 11%,transparent)}.chip.bad{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,transparent);background:color-mix(in srgb,var(--danger) 10%,transparent)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:18px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px 18px}.kpi .lbl{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3)}.kpi .v{font-family:var(--font-num);font-size:27px;font-weight:700;letter-spacing:-.02em;margin-top:6px}.kpi .d{font-size:12px;color:var(--text-3);margin-top:3px}.kpi.due .v{color:var(--warn)}.qtybox{display:inline-flex;align-items:center;gap:8px}.qtybox input{width:74px;height:36px;text-align:center;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface-3);color:var(--text);font:600 14px/1 var(--font-num)}.qtybox input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.qtybox input:disabled{opacity:.6;cursor:not-allowed}.drop{border:2px dashed var(--border);border-radius:var(--r-lg);padding:26px;text-align:center;color:var(--text-3);cursor:pointer;transition:all var(--dur) var(--ease);display:block}.drop:hover,.drop.over{border-color:var(--accent);color:var(--accent)}.drop .i{font-size:26px;display:block;margin-bottom:8px;opacity:.6}.pay-note{padding:13px 16px;border-radius:var(--r-md);font-size:13px;background:var(--accent-soft);color:var(--accent);margin-bottom:16px}.ageing{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.ageing>div{background:var(--surface);padding:13px 14px}.ageing .b{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.ageing .a{font-family:var(--font-num);font-size:17px;font-weight:700;margin-top:4px}.ageing .late .a{color:var(--danger)}.field{margin-bottom:12px}.field label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);margin-bottom:6px}.field input,.field select{width:100%;height:42px;padding:0 13px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-3);color:var(--text);font:500 15px var(--font-ui)}.field.num input{font-family:var(--font-num)}.field input:focus,.field select:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.err{padding:12px 14px;border-radius:var(--r-md);font-size:13px;margin-bottom:14px;background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger)}.note{padding:12px 14px;border-radius:var(--r-md);font-size:13px;margin-bottom:14px;background:var(--surface-3);color:var(--text-2)}.muted{color:var(--text-3)}.empty{padding:26px;text-align:center;color:var(--text-3);font-size:13.5px}
