@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#10131a;--ink-muted:#5b6472;--paper:#f7f8fa;--card:#fff;--line:#d9dee6;--accent:#1d4ed8;--accent-ink:#fff;--ok:#15803d;--warn:#b45309;--danger:#b91c1c;--radius:10px;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;font-family:Inter Variable,Inter,system-ui,sans-serif;font-size:18px;line-height:1.4}*{box-sizing:border-box}body{margin:0}.app{flex-direction:column;min-height:100vh;display:flex}.tabs{background:var(--line);border-bottom:1px solid var(--line);gap:2px;display:flex}.tab{background:var(--card);min-height:64px;color:var(--ink-muted);font:inherit;cursor:pointer;border:0;flex:1;font-weight:600}.tab-active{color:var(--ink);box-shadow:inset 0 -3px 0 var(--accent)}.screen{flex:1;padding:16px}.screen-centred{justify-content:center;align-items:flex-start;display:flex}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:14px;width:min(560px,100%);padding:20px;display:flex}h1{margin:0;font-size:1.5rem}h2{color:var(--ink-muted);margin:12px 0 0;font-size:1.05rem}.muted{color:var(--ink-muted);margin:0}.field{flex-direction:column;gap:6px;display:flex}.field>span{color:var(--ink-muted);font-size:.85rem}.input{min-height:64px;font:inherit;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);color:var(--ink);padding:0 14px}.input-scan{font-size:1.4rem}.input-narrow{text-align:right;font-variant-numeric:tabular-nums;max-width:120px}.input-code{letter-spacing:.35em;text-transform:uppercase;text-align:center;font-size:1.5rem}.button{min-height:64px;font:inherit;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);color:var(--ink);cursor:pointer;padding:0 18px;font-weight:600}.button:disabled{opacity:.45;cursor:default}.button-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.button-large{min-height:84px;font-size:1.2rem}.button-ghost{color:var(--ink-muted);background:0 0;border-color:#0000}.button-selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.button-wide{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.keypad{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.key{min-height:72px;font:inherit;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);cursor:pointer;font-size:1.5rem}.key-muted{color:var(--ink-muted)}.amount{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.totals{flex-direction:column;gap:10px;padding-top:12px;display:flex}.totals-row{justify-content:space-between;margin:0;display:flex}.totals-total{font-size:1.8rem;font-weight:700}.totals-change{color:var(--ok);font-weight:600}.sell{grid-template-rows:auto 1fr auto;gap:16px;display:grid}.basket{min-height:200px}.basket-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.basket-line{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:1fr auto auto 48px;align-items:center;gap:10px;padding:10px;display:grid}.basket-name{font-weight:600}.basket-qty{color:var(--ink-muted);font-variant-numeric:tabular-nums}.match-list{flex-direction:column;gap:4px;margin:8px 0 0;padding:0;list-style:none;display:flex}.tender{grid-template-columns:1fr;gap:16px;display:grid}.tender-kinds{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.tender-amount{text-align:right;font-variant-numeric:tabular-nums;margin:8px 0;font-size:2rem;font-weight:700}.tender-list{margin:8px 0;padding:0;list-style:none}.tender-list li{justify-content:space-between;padding:4px 0;display:flex}.tender-qr{width:200px;margin:12px auto}.tender-qr svg{width:100%;height:auto}.tender-actions{flex-direction:column;gap:8px;display:flex}.cashier-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.pin-display{letter-spacing:.4em;text-align:center;margin:8px 0;font-size:2rem}.tally-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tally-list li{justify-content:space-between;align-items:center;display:flex}.shift-expected{border-top:1px solid var(--line);padding-top:10px}.sales{grid-template-columns:minmax(260px,1fr) minmax(300px,1fr);gap:16px;display:grid}.sales-list ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.sales-actions{gap:8px;margin-top:12px;display:flex}.refund-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.refund-list li{grid-template-columns:1fr auto 120px;align-items:center;gap:10px;display:grid}.caps{color:var(--ink-muted);font-variant-numeric:tabular-nums;margin:0;padding:0;list-style:none}.status{border-top:1px solid var(--line);background:var(--card);justify-content:space-between;align-items:center;gap:12px;padding:8px 16px;display:flex}.link-badge{align-items:center;gap:8px;font-size:.9rem;display:inline-flex}.link-dot{background:currentColor;border-radius:50%;width:10px;height:10px}.link-neutral{color:var(--ink-muted)}.link-ok{color:var(--ok)}.link-warn{color:var(--warn)}.link-danger{color:var(--danger)}.link-pending{color:var(--ink-muted);font-variant-numeric:tabular-nums}.banner{margin:0;padding:12px 16px;font-weight:600}.banner-warn{color:#78350f;background:#fef3c7}.banner-danger{color:#7f1d1d;background:#fee2e2}.error{color:var(--danger);margin:0}.warn{color:var(--warn);margin:0}.chip{background:var(--paper);border-radius:999px;padding:2px 8px;font-size:.75rem}.chip-ok{color:var(--ok)}.chip-warn{color:var(--warn)}.chip-danger{color:var(--danger);background:#fee2e2}.slip{color:#000;border:1px solid var(--line);background:#fff;width:272px;margin:0 auto;padding:12px;font-size:12px;line-height:1.35}.slip-title{text-align:center;margin:0 0 2px;font-size:16px}.slip-subtitle{text-align:center;margin:0 0 2px;font-size:13px;font-weight:600}.slip-row{justify-content:space-between;gap:8px;margin:0;display:flex}.slip-row-strong{font-size:14px;font-weight:700}.slip-rule{border:0;border-top:1px dashed #000;margin:6px 0}.slip-gap{height:10px}.slip-item-name{margin:4px 0 0;font-weight:600}.slip-note{text-align:center;margin:4px 0}.slip-qr{text-align:center;margin:8px 0}.slip-qr svg{width:140px;height:140px}.slip-barcode{text-align:center;letter-spacing:.2em;margin:4px 0;font-weight:700}.slip-amount{font-variant-numeric:tabular-nums}@media print{.tabs,.status,.banner,.sales-list,.sales-actions{display:none!important}.slip{border:0;width:auto}}
