:root{--bg: #faf6f0;--surface: #ffffff;--surface-2: #f2ebe0;--ink: #2b2320;--ink-soft: #6b5f56;--line: #e0d6c8;--brand: #8a3324;--brand-ink: #ffffff;--good: #1f7a4d;--bad: #b23b2e;--accent: #c98a1b;--radius: 14px;--tap: 56px;font-synthesis-weight:none}@media(prefers-color-scheme:dark){:root{--bg: #1a1613;--surface: #241f1b;--surface-2: #2e2822;--ink: #f3ece2;--ink-soft: #b3a595;--line: #3a322b;--brand: #c9553f;--good: #4cc088;--bad: #e2705f}}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--bg);color:var(--ink);font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-text-size-adjust:100%;overscroll-behavior:none}#app{min-height:100%;display:flex;flex-direction:column}button{font:inherit;cursor:pointer}h1,h2,h3{line-height:1.2;margin:0 0 .4em}input,select,textarea{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;width:100%}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand);outline-offset:1px}.btn{min-height:var(--tap);padding:0 20px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.primary{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.btn.good{background:var(--good);color:#fff;border-color:var(--good)}.btn.ghost{background:transparent}.btn.wide{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.lg{min-height:68px;font-size:20px}.topbar{position:sticky;top:0;z-index:5;background:var(--surface);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;grid-template-areas:"id status" "tabs tabs";gap:6px 12px;padding:10px 14px calc(10px + env(safe-area-inset-top));padding-top:max(10px,env(safe-area-inset-top))}.topbar-id{grid-area:id;display:flex;align-items:baseline;gap:10px;min-width:0}.topbar-id .brand{font-weight:800;color:var(--brand);letter-spacing:.2px}.topbar-id .biz{color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-status{grid-area:status;display:flex;align-items:center;gap:10px}.session-chip{border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;background:var(--surface-2);white-space:nowrap}.session-chip.on{background:color-mix(in srgb,var(--good) 16%,var(--surface));border-color:var(--good);color:var(--good)}.session-chip.off{color:var(--ink-soft)}.net-dot{width:10px;height:10px;border-radius:50%;flex:none}.net-dot.online{background:var(--good)}.net-dot.offline{background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.tabs{grid-area:tabs;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{border:none;background:transparent;color:var(--ink-soft);font-weight:600;padding:8px 12px;border-radius:9px;white-space:nowrap}.tab.active{background:var(--surface-2);color:var(--ink)}.screen{flex:1;padding:16px;max-width:1100px;width:100%;margin:0 auto}.stack{display:flex;flex-direction:column;gap:14px}.row{display:flex;gap:10px;flex-wrap:wrap}.row.tight{gap:6px}.spread{display:flex;justify-content:space-between;align-items:center;gap:12px}.muted{color:var(--ink-soft)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.pill{display:inline-block;background:var(--surface-2);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.picker{max-width:860px;margin:0 auto;padding:32px 18px 60px}.picker h1{font-size:34px;color:var(--brand)}.picker .lede{color:var(--ink-soft);font-size:17px;max-width:46ch}.type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:24px}.type-card{text-align:left;padding:18px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;gap:6px;min-height:132px}.type-card .emoji{font-size:30px}.type-card .t{font-weight:700}.type-card .d{color:var(--ink-soft);font-size:13px}.type-card[disabled]{opacity:.55}.type-card:not([disabled]):hover{border-color:var(--brand)}.type-card .soon{color:var(--accent);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.sell{display:grid;grid-template-columns:1fr 340px;gap:16px;align-items:start}@media(max-width:820px){.sell{grid-template-columns:1fr}}.cat-bar{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}.cat-bar::-webkit-scrollbar{display:none}.cat-bar button{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:8px 14px;white-space:nowrap;font-weight:600;color:var(--ink-soft)}.cat-bar button.active{background:var(--brand);color:#fff;border-color:var(--brand)}.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:12px}.prod{min-height:92px;border-radius:12px;border:1px solid var(--line);background:var(--surface);padding:12px;text-align:left;display:flex;flex-direction:column;justify-content:space-between;gap:6px}.prod .pn{font-weight:650}.prod .pp{color:var(--ink-soft);font-size:13px}.prod .tag{align-self:flex-start;font-size:11px}.cart{position:sticky;top:128px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:10px}.cart h3{margin:0}.cart-lines{display:flex;flex-direction:column;gap:2px;max-height:44vh;overflow:auto}.cart-line{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:9px 6px;border-radius:8px}.cart-line:hover{background:var(--surface-2)}.cart-line .cl-name{font-weight:600}.cart-line .cl-sub{grid-column:1 / -1;color:var(--ink-soft);font-size:12px}.cart-total{display:flex;justify-content:space-between;font-size:24px;font-weight:800;padding-top:8px;border-top:2px solid var(--line)}.pay-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.empty-cart{color:var(--ink-soft);text-align:center;padding:24px 0}.modal-back{position:fixed;inset:0;background:#00000073;display:flex;align-items:flex-end;justify-content:center;z-index:30}@media(min-width:640px){.modal-back{align-items:center}}.modal{background:var(--surface);width:100%;max-width:460px;border-radius:18px 18px 0 0;padding:20px;display:flex;flex-direction:column;gap:14px;max-height:92vh;overflow:auto}@media(min-width:640px){.modal{border-radius:18px}}.modal h2{margin:0}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.keypad button{min-height:60px;font-size:22px;font-weight:700;border-radius:12px;border:1px solid var(--line);background:var(--surface-2)}.readout{font-size:34px;font-weight:800;text-align:right;padding:10px 14px;background:var(--surface-2);border-radius:12px;min-height:56px}.list{display:flex;flex-direction:column;gap:8px}.list-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.list-item.void{opacity:.5;text-decoration:line-through}.kv{display:grid;grid-template-columns:1fr auto;gap:6px 16px}.kv .k{color:var(--ink-soft)}.kv .v{font-weight:700;text-align:right}.big-num{font-size:30px;font-weight:800}.good-txt{color:var(--good)}.bad-txt{color:var(--bad)}.section-h{font-size:13px;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-soft);font-weight:700;margin-top:6px}.banner{background:color-mix(in srgb,var(--accent) 14%,var(--surface));border:1px solid var(--accent);border-radius:12px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:12px}.receipt-print{display:none}@media print{body>*:not(.receipt-print){display:none!important}body{background:#fff;color:#000}.receipt-print{display:block!important;width:72mm;margin:0 auto;padding:4mm 0;font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#000}.receipt-print hr{border:none;border-top:1px dashed #000;margin:6px 0}.receipt-print .rp-head{font-size:15px;font-weight:700;text-align:center}.receipt-print .rp-sub{text-align:center}.receipt-print .rp-row{display:flex;justify-content:space-between;gap:8px}.receipt-print .rp-row.rp-total{font-weight:700;font-size:14px}.receipt-print .rp-foot{margin-top:8px;text-align:center;font-size:11px}}@media(prefers-reduced-motion:no-preference){.prod:active{transform:scale(.98)}}
