:root{--t-bg:#F4F7F8;--t-surface:#FFFFFF;--t-surface-2:#EAF0F1;--t-surface-3:#DDE6E8;--t-line:#D3DEE0;--t-line-soft:#E6ECED;--t-text:#101A1C;--t-text-2:#3A4A4D;--t-text-3:#68787B;--t-brand:#0F6E78;--t-brand-hover:#0B565E;--t-brand-press:#094248;--t-brand-wash:#DEEEF0;--t-brand-line:#9FCBD1;--t-brand-text:#0A525A;--t-ok:#177245;--t-ok-wash:#E0EFE7;--t-ok-line:#A6D3BC;--t-pending:#96590C;--t-pending-wash:#F7EFE0;--t-pending-line:#E0C48C;--t-error:#A5322A;--t-error-wash:#F8E9E7;--t-error-line:#E3AFA9;--r-sm:3px;--r-md:5px;--r-lg:8px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-6:24px;--s-8:32px;--f-ui:"IBM Plex Sans","IBM Plex Sans Devanagari",system-ui,-apple-system,sans-serif;--f-data:"IBM Plex Mono",ui-monospace,Menlo,monospace;--e-1:0 1px 2px rgba(16,26,28,.06);--e-2:0 2px 4px rgba(16,26,28,.06), 0 8px 20px -12px rgba(16,26,28,.24);--d-row:32px;--d-control:34px;--d-pad:10px;--d-fs:14px;--d-gap:8px}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--t-bg:#0B1315;--t-surface:#121E21;--t-surface-2:#19282B;--t-surface-3:#223338;--t-line:#27383C;--t-line-soft:#1D2C30;--t-text:#E3EBEC;--t-text-2:#ADBDBF;--t-text-3:#7C8D90;--t-brand:#4FC0CC;--t-brand-hover:#6FCFD9;--t-brand-press:#8ADCE4;--t-brand-wash:#0E3239;--t-brand-line:#1E5A64;--t-brand-text:#7BD3DC;--t-ok:#5FBE8C;--t-ok-wash:#142B21;--t-ok-line:#245C42;--t-pending:#D9A44F;--t-pending-wash:#2C2415;--t-pending-line:#5D4820;--t-error:#DB8C84;--t-error-wash:#321E1C;--t-error-line:#683933;--e-1:0 1px 2px rgba(0,0,0,.4);--e-2:0 2px 4px rgba(0,0,0,.4), 0 8px 20px -12px rgba(0,0,0,.7)}}:root[data-theme=dark]{--t-bg:#0B1315;--t-surface:#121E21;--t-surface-2:#19282B;--t-surface-3:#223338;--t-line:#27383C;--t-line-soft:#1D2C30;--t-text:#E3EBEC;--t-text-2:#ADBDBF;--t-text-3:#7C8D90;--t-brand:#4FC0CC;--t-brand-hover:#6FCFD9;--t-brand-press:#8ADCE4;--t-brand-wash:#0E3239;--t-brand-line:#1E5A64;--t-brand-text:#7BD3DC;--t-ok:#5FBE8C;--t-ok-wash:#142B21;--t-ok-line:#245C42;--t-pending:#D9A44F;--t-pending-wash:#2C2415;--t-pending-line:#5D4820;--t-error:#DB8C84;--t-error-wash:#321E1C;--t-error-line:#683933}[data-density=counter]{--d-row:46px;--d-control:48px;--d-pad:14px;--d-fs:16px;--d-gap:12px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--t-bg);color:var(--t-text);font-family:var(--f-ui);font-size:var(--d-fs);line-height:1.5;-webkit-font-smoothing:antialiased;overflow:hidden}:focus-visible{outline:2px solid var(--t-brand);outline-offset:2px;border-radius:2px}button{font-family:inherit}.mono{font-family:var(--f-data);font-variant-numeric:tabular-nums}.btn{font-family:var(--f-ui);font-size:var(--d-fs);font-weight:600;height:var(--d-control);padding:0 calc(var(--d-pad) + 4px);border-radius:var(--r-md);border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:var(--s-2);line-height:1;transition:background .12s,border-color .12s}.btn-primary{background:var(--t-brand);color:#fff;border-color:var(--t-brand)}.btn-primary:hover{background:var(--t-brand-hover)}.btn-secondary{background:var(--t-surface);color:var(--t-text);border-color:var(--t-line)}.btn-secondary:hover{background:var(--t-surface-2)}.btn-ghost{background:transparent;color:var(--t-brand-text)}.btn-ghost:hover{background:var(--t-brand-wash)}.btn-danger{background:var(--t-error);color:#fff;border-color:var(--t-error)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn kbd{font-family:var(--f-data);font-size:.72em;font-weight:500;opacity:.75;border:1px solid currentColor;border-radius:2px;padding:1px 4px;line-height:1}.btn-pay{font-size:calc(var(--d-fs) + 4px);height:calc(var(--d-control) + 12px);padding:0 28px}.input{font-family:var(--f-ui);font-size:var(--d-fs);height:var(--d-control);padding:0 var(--d-pad);background:var(--t-surface);color:var(--t-text);border:1px solid var(--t-line);border-radius:var(--r-md);width:100%}.input::placeholder{color:var(--t-text-3)}.input:focus{border-color:var(--t-brand);outline:2px solid var(--t-brand);outline-offset:-1px}.input.money{font-family:var(--f-data);font-variant-numeric:tabular-nums;text-align:right;font-weight:500}.pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-data);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:4px 9px;border-radius:100px;border:1px solid;line-height:1.3}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.pill-ok{color:var(--t-ok);background:var(--t-ok-wash);border-color:var(--t-ok-line)}.pill-pending{color:var(--t-pending);background:var(--t-pending-wash);border-color:var(--t-pending-line)}.pill-error{color:var(--t-error);background:var(--t-error-wash);border-color:var(--t-error-line)}.pill-neutral{color:var(--t-text-3);background:var(--t-surface-2);border-color:var(--t-line)}.app{display:flex;flex-direction:column;height:100%}.strip{display:flex;align-items:center;gap:var(--s-3);padding:8px var(--s-4);font-family:var(--f-data);font-size:13px;font-weight:500;border-bottom:1px solid}.strip .dot{width:9px;height:9px;border-radius:50%;background:currentColor;flex:none}.strip .grow{margin-left:auto;display:flex;flex-wrap:wrap;justify-content:flex-end;row-gap:4px;gap:var(--s-4);align-items:center;font-size:12px;opacity:.9;min-width:0}.strip-ok{color:var(--t-ok);background:var(--t-ok-wash);border-color:var(--t-ok-line)}.strip-pending,.strip-offline{color:var(--t-pending);background:var(--t-pending-wash);border-color:var(--t-pending-line)}.strip-error{color:var(--t-error);background:var(--t-error-wash);border-color:var(--t-error-line)}.counter{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:var(--s-4);padding:var(--s-4);min-height:0;overflow:hidden;flex:1 1 auto}@media (max-width: 900px){.counter{grid-template-columns:minmax(0,1fr)}}.panel{background:var(--t-surface);border:1px solid var(--t-line);border-radius:var(--r-md);display:flex;flex-direction:column;min-height:0}.panel-head{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--t-line-soft)}.panel-head h2{margin:0;font-size:11px;font-family:var(--f-data);font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--t-text-3)}.lines{flex:1;overflow-y:auto;min-height:0}.line{display:grid;grid-template-columns:1fr auto auto auto;gap:var(--d-gap);align-items:center;padding:0 var(--d-pad);min-height:var(--d-row);border-bottom:1px solid var(--t-line-soft);cursor:pointer}.line[aria-selected=true]{background:var(--t-brand-wash);box-shadow:inset 3px 0 0 var(--t-brand)}.l-name{font-size:var(--d-fs);font-weight:500;line-height:1.25;min-width:0}.l-meta{font-family:var(--f-data);font-size:11px;color:var(--t-text-3);display:block;font-weight:400}.l-qty,.l-amt{font-family:var(--f-data);font-variant-numeric:tabular-nums;font-size:var(--d-fs);white-space:nowrap}.l-qty{color:var(--t-text-2)}.l-amt{font-weight:600;text-align:right;min-width:86px}.l-del{border:none;background:transparent;color:var(--t-text-3);cursor:pointer;font-size:16px;padding:0 4px;line-height:1}.l-del:hover{color:var(--t-error)}.totals{border-top:1px solid var(--t-line);background:var(--t-surface-2);padding:var(--d-pad)}.totals-main{display:grid;grid-template-columns:1fr auto;align-items:end;gap:var(--s-2)}.totals-main .lbl{font-family:var(--f-data);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--t-text-3)}.totals-main .val{font-family:var(--f-data);font-variant-numeric:tabular-nums;font-size:28px;font-weight:600;line-height:1.05}.totals-tax{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-4);font-family:var(--f-data);font-size:11.5px;color:var(--t-text-3);padding-top:6px;margin-top:6px;border-top:1px dashed var(--t-line)}.cart{border:1px solid var(--t-line);border-radius:var(--r-md);overflow:hidden;background:var(--t-surface)}.cart-line{display:grid;grid-template-columns:1fr auto;gap:var(--d-gap);align-items:center;padding:0 var(--d-pad);min-height:var(--d-row);border-bottom:1px solid var(--t-line-soft)}.cart-line:last-child{border-bottom:none}.cl-name{font-size:var(--d-fs);font-weight:500;line-height:1.3;min-width:0}.cl-meta{font-family:var(--f-data);font-size:11px;color:var(--t-text-3);display:block;font-weight:400}.results{border:1px solid var(--t-line);border-radius:var(--r-md);background:var(--t-surface);box-shadow:var(--e-2);overflow:hidden}.result{display:grid;grid-template-columns:1fr auto;gap:var(--s-3);padding:var(--s-2) var(--d-pad);cursor:pointer;align-items:center;border-bottom:1px solid var(--t-line-soft)}.result:last-child{border-bottom:none}.result[aria-selected=true]{background:var(--t-brand-wash)}.result .rn{font-size:14px;font-weight:500}.result .rm{font-family:var(--f-data);font-size:11px;color:var(--t-text-3);display:block}.result .rp{font-family:var(--f-data);font-variant-numeric:tabular-nums;font-weight:600;font-size:14px}.tender-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:var(--s-2)}.tender-btn{padding:10px 8px;border:1px solid var(--t-line);border-radius:var(--r-md);background:var(--t-surface);cursor:pointer;display:flex;flex-direction:column;gap:2px;align-items:flex-start;color:var(--t-text)}.tender-btn[aria-pressed=true]{border-color:var(--t-brand);background:var(--t-brand-wash);box-shadow:inset 0 0 0 1px var(--t-brand)}.tender-btn .m{font-size:13.5px;font-weight:600}.tender-btn .k{font-family:var(--f-data);font-size:10.5px;color:var(--t-text-3)}.tender-row{display:flex;gap:var(--s-3);align-items:center}.tender-row .lbl{font-family:var(--f-data);font-size:12.5px;color:var(--t-text-3);min-width:56px}.balance{font-family:var(--f-data);font-variant-numeric:tabular-nums;font-size:20px;font-weight:600}.balance.ok{color:var(--t-ok)}.balance.due{color:var(--t-pending)}.empty{padding:var(--s-8) var(--s-4);text-align:center;color:var(--t-text-3);font-size:14px}.stack{display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-4);min-height:0;overflow-y:auto}.row{display:flex;gap:var(--s-2);align-items:center;flex-wrap:wrap}.login-wrap{display:grid;place-items:center;height:100%;padding:var(--s-4)}.login{background:var(--t-surface);border:1px solid var(--t-line);border-radius:var(--r-lg);padding:var(--s-8);width:min(380px,100%);box-shadow:var(--e-2);display:flex;flex-direction:column;gap:var(--s-4)}.login h1{margin:0;font-size:22px;letter-spacing:-.02em}.login .hint{margin:0;font-size:13px;color:var(--t-text-3)}.field{display:flex;flex-direction:column;gap:5px}.field label{font-family:var(--f-data);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--t-text-3);font-weight:600}.errmsg{font-size:13px;color:var(--t-error)}.receipt{position:fixed;inset:0;background:#080e108c;display:grid;place-items:center;padding:var(--s-4);z-index:50}.receipt-paper{background:#fff;color:#111;width:min(340px,100%);max-height:86vh;overflow-y:auto;padding:18px 20px;border-radius:var(--r-sm);font-family:var(--f-data);font-size:12px;line-height:1.55}.receipt-paper h3{margin:0 0 2px;font-size:15px;text-align:center;font-family:var(--f-ui)}.receipt-paper .c{text-align:center}.receipt-paper hr{border:none;border-top:1px dashed #999;margin:8px 0}.receipt-paper table{width:100%;border-collapse:collapse}.receipt-paper td{padding:1px 0;vertical-align:top}.receipt-paper td.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.receipt-actions{display:flex;gap:var(--s-2);justify-content:center;margin-top:var(--s-3)}.notice{display:flex;align-items:center;gap:var(--s-3);padding:8px var(--s-4);background:var(--t-pending-wash);color:var(--t-pending);border-bottom:1px solid var(--t-pending-line);font-size:13px}.notice span{flex:1}.strip .skew{color:var(--t-error);background:var(--t-error-wash);border:1px solid var(--t-error-line);border-radius:var(--r-sm);padding:1px 8px;font-size:12px}.misc-form{margin-top:8px;padding:8px;background:var(--t-surface-2);border-radius:var(--r-md)}.line-editor{padding:6px var(--s-4);gap:6px;border-top:1px solid var(--t-line-soft)}.line-editor .hint{font-size:12px;color:var(--t-text-3)}.customer-box{display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid var(--t-line);border-radius:var(--r-md);background:var(--t-surface-2)}.receipt-barcode{display:flex;justify-content:center;margin:4px 0 6px}.receipt-barcode svg{width:100%;max-width:260px;height:44px}.hint{color:var(--t-text-3)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--s-3)}.kpis>div{border:1px solid var(--t-line);border-radius:var(--r-md);padding:10px 12px;background:var(--t-surface);display:flex;flex-direction:column;gap:2px}.kpis .k{font-family:var(--f-data);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--t-text-3)}.kpis .v{font-family:var(--f-data);font-variant-numeric:tabular-nums;font-size:20px;font-weight:600}.grid-table{border-collapse:collapse;font-size:13px}.grid-table th,.grid-table td{padding:5px 10px;border-bottom:1px solid var(--t-line-soft);text-align:left}.grid-table th{font-family:var(--f-data);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--t-text-3);font-weight:600}.grid-table td{font-variant-numeric:tabular-nums}.section-title{margin:var(--s-4) 0 0;font-family:var(--f-data);font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--t-text-3)}.exception-card{border:1px solid var(--t-line);border-radius:var(--r-md);padding:10px 12px;background:var(--t-surface)}.edit-item{padding:10px var(--d-pad);gap:8px;align-items:flex-end;border-bottom:1px solid var(--t-line-soft);background:var(--t-brand-wash)}.import-title{margin:0;font-family:var(--f-ui);font-size:19px;font-weight:600}.linkish{background:none;border:none;padding:0;font:inherit;color:var(--t-brand-text);text-decoration:underline;cursor:pointer}.table-scroll{overflow-x:auto;max-width:100%}.import,.receive,.printer{max-width:980px}.import>*,.receive>*,.printer>*,.import-done>*,.gst>*{flex-shrink:0}.gst{max-width:1200px}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:150px;padding:var(--s-6);cursor:pointer;text-align:center;border:2px dashed var(--t-brand-line);border-radius:var(--r-md);background:var(--t-brand-wash);color:var(--t-text)}.dropzone:hover,.dropzone.over{border-color:var(--t-brand)}.dropzone:focus-within{outline:2px solid var(--t-brand);outline-offset:2px}.dz-main{font-size:17px;font-weight:600}.dz-sub{color:var(--t-text-2);font-size:14px}.import-help{font-size:14px;color:var(--t-text-2)}.import-help p{margin:0 0 4px}.import-help ul{margin:0 0 8px;padding-left:20px}.import-help li{margin-bottom:3px}.import-map{border:1px solid var(--t-line);border-radius:var(--r-md);background:var(--t-surface);padding:10px 12px}.import-map summary{cursor:pointer;font-weight:600;font-size:14px}.map-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px 14px;margin-top:10px}.map-grid .field>span{font-family:var(--f-data);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--t-text-3);font-weight:600}.map-grid .field small{color:var(--t-text-3);font-size:11.5px}.import-chips{display:flex;gap:8px;flex-wrap:wrap}.bulk-fix{padding:8px 10px;border-radius:var(--r-md);background:var(--t-pending-wash);border:1px solid var(--t-pending-line);font-size:14px}.import-problems{display:flex;flex-direction:column;gap:8px}.problem-row{border:1px solid var(--t-pending-line);border-left-width:3px;border-radius:var(--r-md);background:var(--t-surface);padding:8px 12px}.pr-head{display:flex;gap:10px;align-items:baseline}.pr-num{font-family:var(--f-data);font-size:11.5px;color:var(--t-text-3)}.problem-row ul{margin:4px 0 6px;padding-left:18px;font-size:13.5px;color:var(--t-pending)}.pr-fix .input{height:32px;font-size:14px}.import-table td{vertical-align:top}.import-go{display:flex;gap:12px;align-items:center;position:sticky;bottom:calc(-1 * var(--s-4));margin:0 calc(-1 * var(--s-4)) calc(-1 * var(--s-4));padding:10px var(--s-4);background:var(--t-surface);border-top:1px solid var(--t-line)}.import-go .btn{flex:none;height:40px}.import-go .hint{font-size:13px;line-height:1.35}.import-warn{padding:8px 10px;border-radius:var(--r-md);background:var(--t-pending-wash);color:var(--t-text)}.import-nudge{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:var(--s-4) var(--s-4) 0;padding:12px 14px;border-radius:var(--r-md);background:var(--t-brand-wash);border:1px solid var(--t-brand-line)}.receive-head{align-items:flex-end}.receive-search{position:relative;max-width:640px}.receive-search>.input{height:calc(var(--d-control) + 6px);font-size:16px}.suggest{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:20;overflow:hidden;border:1px solid var(--t-line);border-radius:var(--r-md);background:var(--t-surface);box-shadow:var(--e-2)}.suggest button{display:flex;justify-content:space-between;gap:12px;width:100%;padding:8px 12px;border:none;border-bottom:1px solid var(--t-line-soft);background:none;color:var(--t-text);font:inherit;font-size:14px;text-align:left;cursor:pointer}.suggest button:hover,.suggest button:focus{background:var(--t-brand-wash)}.receive-lines td{vertical-align:middle}.dup-warn{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border-radius:var(--r-md);background:var(--t-error-wash);border:1px solid var(--t-error-line);color:var(--t-text)}.step{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start}.step-num{margin:0;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--t-brand);color:#fff;font-weight:600;font-family:var(--f-data)}.step-title{margin:3px 0 4px;font-weight:600}.step .hint{margin:0 0 8px;max-width:70ch;font-size:14px}.paper-choice{display:flex;flex-direction:column;gap:2px;padding:10px 14px;min-width:150px;cursor:pointer;border:1px solid var(--t-line);border-radius:var(--r-md);background:var(--t-surface)}.paper-choice input{position:absolute;opacity:0;pointer-events:none}.paper-choice.on{border-color:var(--t-brand);box-shadow:inset 0 0 0 1px var(--t-brand);background:var(--t-brand-wash)}.paper-choice:focus-within{outline:2px solid var(--t-brand);outline-offset:2px}.toggle{cursor:pointer}@media (prefers-reduced-motion: reduce){*{transition:none!important}}@page{margin:0}@media print{body *{visibility:hidden}.receipt-paper,.receipt-paper *{visibility:visible}.receipt-paper{position:fixed;inset:0 auto auto 0;width:80mm;max-height:none;box-shadow:none;padding:4mm;overflow:visible}:root[data-paper="58mm"] .receipt-paper{width:58mm;padding:2mm;font-size:10.5px}:root[data-paper="58mm"] .receipt-paper h3{font-size:13px}.receipt-actions{display:none!important}}
