:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f5f3ee;--surface:#fff;--surface-2:#ebe7dd;--ink:#1d1b16;--muted:#625d52;--line:#dcd6c8;--accent:#136f45;--accent-ink:#fff;--accent-soft:#d9efe2;--warn:#8a5300;--warn-soft:#fbecc9;--danger:#b42318;--hl:#f5a100;--hl-soft:#fbe0a3;--hl-ink:#1d1b16;--floor:#fbfaf6;--wall:#8a8577;--shelf:#d8d1c0;--shelf-ink:#37342c;--fridge:#c9e0f4;--counter:#c9b99f;--door:#efe6d6;--radius:14px;--tabbar-h:66px;--shadow:0 1px 2px #0000000f, 0 6px 20px #00000014;--map-shadow:#3b2f184d;--map-lamp:.5;--map-ao:#2b2418;--map-ao-a:.16;--map-grout:#00000012;--map-sheen:.42;--map-glass:#ffffff73;--map-dim:.55;--map-dim-text:.7}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--bg:#141310;--surface:#1e1c18;--surface-2:#2a2821;--ink:#f3f0e8;--muted:#aaa496;--line:#38352d;--accent:#43c585;--accent-ink:#062112;--accent-soft:#163525;--warn:#f2b84e;--warn-soft:#3a2c10;--danger:#ff7b6b;--hl:#f5a524;--hl-soft:#5c4415;--floor:#1a1915;--wall:#6f6a5d;--shelf:#3a372f;--shelf-ink:#ebe6d9;--fridge:#20384d;--counter:#4d412f;--door:#2f2a21;--map-shadow:#0000008c;--map-lamp:.05;--map-ao:#000;--map-ao-a:.35;--map-grout:#ffffff0d;--map-sheen:.1;--map-glass:#ffffff24;--map-dim:.8;--map-dim-text:.85}}:root[data-theme=dark]{--bg:#141310;--surface:#1e1c18;--surface-2:#2a2821;--ink:#f3f0e8;--muted:#aaa496;--line:#38352d;--accent:#43c585;--accent-ink:#062112;--accent-soft:#163525;--warn:#f2b84e;--warn-soft:#3a2c10;--danger:#ff7b6b;--hl:#f5a524;--hl-soft:#5c4415;--floor:#1a1915;--wall:#6f6a5d;--shelf:#3a372f;--shelf-ink:#ebe6d9;--fridge:#20384d;--counter:#4d412f;--door:#2f2a21;--map-shadow:#0000008c;--map-lamp:.05;--map-ao:#000;--map-ao-a:.35;--map-grout:#ffffff0d;--map-sheen:.1;--map-glass:#ffffff24;--map-dim:.8;--map-dim-text:.85}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);margin:0}body{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;font:18px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}body.locked{overflow:hidden}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 65%, transparent);outline-offset:2px}h1,h2,h3{line-height:1.2}.slot{display:contents}.app{max-width:560px;min-height:100dvh;padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom));margin:0 auto}.header{z-index:5;padding:calc(10px + env(safe-area-inset-top)) 12px 10px 16px;background:var(--bg);align-items:center;gap:6px;display:flex;position:sticky;top:0}.install-screen{text-align:center;justify-items:center;gap:14px;padding:12px 0 8px;display:grid}.install-screen .install-help{text-align:left;justify-self:stretch}.header h1{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:21px;overflow:hidden}.screen{gap:14px;padding:4px 16px 28px;display:grid}.tabbar{z-index:10;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar-inner{width:100%;max-width:560px;display:flex}.tab{height:var(--tabbar-h);color:var(--muted);background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:14px;font-weight:600;display:flex}.tab[aria-current=page]{color:var(--accent)}.btn{border:1px solid var(--line);background:var(--surface);border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:50px;padding:0 18px;font-weight:650;text-decoration:none;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:#0000}.btn-big{border-radius:16px;width:100%;min-height:68px;font-size:21px}.btn-block{width:100%}.btn-ghost{background:0 0;border-color:#0000}.btn-inline{min-height:44px;color:var(--accent);justify-self:start;padding:0 6px}.btn-danger{color:var(--danger)}.icon-btn{background:0 0;border:0;border-radius:12px;flex:none;justify-content:center;align-items:center;width:46px;height:46px;display:inline-flex}.link{color:var(--accent);text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline;position:relative}.link:after{content:"";position:absolute;inset:-11px -6px}.option-line{color:var(--muted);margin:0}.input{border:1px solid var(--line);background:var(--surface);border-radius:12px;width:100%;min-height:54px;padding:12px 14px;font-size:19px}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.input[aria-invalid=true]{border-color:var(--danger)}.input-small{min-height:46px;font-size:16px}textarea.input{resize:vertical}.field{gap:8px;margin:18px 0;display:grid}.label{color:var(--muted);font-size:15px;font-weight:700}.hint{color:var(--muted);margin:0;font-size:15px}.error{color:var(--danger);font-size:15px;font-weight:600}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;align-items:center;gap:4px;min-height:42px;padding:0 15px;font-size:16px;display:inline-flex}.chip[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:#0000}.chip.code{font-variant-numeric:tabular-nums;letter-spacing:.02em;padding-right:4px}.chip-x{color:var(--muted);background:0 0;border:0;border-radius:999px;padding:8px;display:inline-flex}.pill{background:var(--surface-2);min-height:34px;color:var(--muted);white-space:nowrap;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:14px;font-weight:650;display:inline-flex}.pill .dot{background:currentColor;border-radius:50%;width:8px;height:8px}.pill.ok{color:var(--accent)}.pill.warn{color:var(--warn);background:var(--warn-soft)}.stepper{border:1px solid var(--line);background:var(--surface);border-radius:12px;align-items:center;gap:4px;display:inline-flex}.stepper-value{text-align:center;font-variant-numeric:tabular-nums;min-width:74px;font-weight:700}.size-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.row-actions{gap:10px;display:flex}.row-actions .btn{flex:1}.search{position:relative}.search>svg{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search .input{padding-left:46px}.search .input:not(:placeholder-shown){padding-right:52px}.search .input::-webkit-search-cancel-button{display:none}.search-clear{width:44px;height:44px;color:var(--muted);background:0 0;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.list{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin:0;padding:0;list-style:none;overflow:hidden}.row{border:0;border-top:1px solid var(--line);text-align:left;background:0 0;align-items:center;gap:12px;width:100%;min-height:64px;padding:10px 14px;display:flex}.list>li:first-child .row{border-top:0}.row-main{flex:1;min-width:0;display:grid}.row-title{font-weight:650}.row-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.row-multi{align-items:flex-start}.price-table{grid-template-columns:1fr auto;column-gap:12px;margin:4px 0 2px;display:grid}.pt-row{display:contents}.pt-label{color:var(--muted);align-self:baseline;font-size:16px}.pt-price{font-variant-numeric:tabular-nums;white-space:nowrap;place-self:baseline end;font-size:17px;font-weight:700}.pt-price.none{color:var(--warn);font-size:14px;font-weight:650}.pt-row.on .pt-label{color:var(--ink);font-weight:700}.pt-row.on .pt-price{color:var(--accent);font-size:22px;font-weight:800}.row.fresh .pt-row.on .pt-price{font-size:30px}.row-price{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:800}.row.fresh{background:var(--accent-soft)}.row.fresh .row-title{font-size:19px;font-weight:750}.row.fresh .row-price{color:var(--accent);font-size:30px}.row.fresh .row-price.none{color:var(--warn);font-size:17px}.row-price.none{color:var(--warn);font-size:14px;font-weight:650}.row-price.ask,.row.fresh .row-price.ask,.pt-price.ask{color:var(--muted);font-size:15px;font-weight:600}.price-none.ask{color:var(--muted);font-size:24px}.price-ask{color:var(--muted);font-size:20px;font-weight:650}.fixed-price{color:var(--muted);font-size:15px}.section{color:var(--muted);margin:10px 0 8px;font-size:16px}.section:first-letter{text-transform:uppercase}.bill-sum{margin-top:12px}.row.cancelled .row-title,.row.cancelled .row-price,.bill-sum.cancelled .price{color:var(--muted);text-decoration:line-through}.day-nav{align-items:center;gap:8px;margin-bottom:12px;display:flex}.day-now{text-align:center;flex:1;display:grid}.day-now b{font-size:20px}.day-now span{color:var(--muted);font-variant-numeric:tabular-nums}.day-nav .next svg{transform:rotate(180deg)}.day-nav .icon-btn:disabled{opacity:.3}.bill-meta{margin:0 0 12px;font-size:17px}.dup-warn{background:var(--warn-soft);color:var(--ink);border-radius:12px;gap:8px;padding:12px 14px;display:grid}.box-title{font-size:18px;font-weight:750}.banner.inline-banner,.cancelled-note{width:auto;margin:0 0 12px}.day-head{justify-content:space-between;gap:12px;margin-top:18px;display:flex}.section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-head h2{margin:0;font-size:20px}.cart-more{grid-auto-columns:1fr;grid-auto-flow:column;gap:10px;margin-top:20px;display:grid}.wholesale-row{justify-content:flex-end;display:flex}.wholesale-row .chip{min-height:44px;font-size:17px;font-weight:700}.add-amount{min-height:48px;margin:4px auto;font-size:17px;display:block}.bill-clear-link{min-height:36px;font-size:15px}.empty{text-align:center;color:var(--muted);margin:8px 0;padding:20px 4px}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:16px}.card p,.card .field{margin:0}.stack{gap:12px;display:grid}.layer .stack+.stack,.layer .card+.stack{margin-top:16px}.price-age{color:var(--muted);margin:8px 0 4px;font-size:15px}.price-age.stale{color:var(--warn);font-weight:650}.row-open{color:inherit;text-align:left;background:0 0;border:0;flex:1;padding:0}.row-open .row-sub{white-space:normal}.save-price{margin:6px 0 0}.spot{gap:14px;margin-bottom:12px;display:grid}.spot-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.spot-head.spot-empty{flex-wrap:nowrap}.spot-head.spot-empty .spot-text{flex:auto}.spot-head .spot-text{flex:9em}.spot-name.moved{border-radius:6px;animation:1s ease-out spot-moved}@keyframes spot-moved{0%{background:var(--hl);color:var(--hl-ink);box-shadow:0 0 0 4px var(--hl)}}.steps{--step-side:68px;align-items:stretch;gap:8px;display:grid}.step{gap:6px;min-height:48px;padding:0 8px;font-size:16px}.step.left,.step.right{flex-direction:column;gap:0;padding:0 4px}.step.up{grid-area:up}.step.down{grid-area:down}.step.left{grid-area:left}.step.right{grid-area:right}.step-arrow{font-size:24px;font-weight:800;line-height:1}.step-face{grid-area:face;align-self:center}.face-box{scroll-margin-top:72px}.spot-text{flex:1;gap:2px;min-width:0;display:grid}.spot-name{font-size:19px}.stats{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.banner{background:var(--warn-soft);width:calc(100% - 32px);color:var(--ink);text-align:left;border:0;border-radius:12px;margin:4px 16px 10px;padding:12px 14px;font-size:15px;display:block}.banner.install-row{background:var(--accent-soft);min-height:48px;color:var(--accent);align-items:center;gap:10px;padding:8px 14px;font-size:17px;font-weight:700;display:flex}.install-row span:first-of-type{flex:1}.banner.notice-row{background:var(--warn-soft);color:var(--ink);font-weight:650}.layer .banner{width:100%;margin:16px 0}.escape-actions{flex-wrap:wrap;gap:8px;margin:10px 0 8px;display:flex}.escape-hint{font-size:14px;display:block}.banner.update{background:var(--accent-soft);font-weight:650}.toast{left:16px;right:16px;bottom:calc(var(--tabbar-h) + 18px + env(safe-area-inset-bottom));z-index:50;pointer-events:none;background:var(--ink);width:-moz-fit-content;width:fit-content;max-width:528px;color:var(--bg);box-shadow:var(--shadow);border-radius:12px;margin:0 auto;padding:13px 18px;font-weight:650;position:fixed}.layer{z-index:20;overscroll-behavior:contain;background:var(--bg);position:fixed;inset:0;overflow-y:auto}.layer-inner{max-width:560px;padding:0 16px calc(28px + env(safe-area-inset-bottom));margin:0 auto}.topbar{z-index:2;padding:calc(8px + env(safe-area-inset-top)) 0 8px;background:var(--bg);align-items:center;gap:4px;margin:0 -8px;display:flex;position:sticky;top:0}.topbar h2{flex:1;min-width:0;margin:0;font-size:19px}.sticky-action{bottom:calc(12px + env(safe-area-inset-bottom));z-index:2;box-shadow:var(--shadow);margin-top:20px;position:sticky}.add-here{margin-top:16px}.name-taken{background:var(--warn-soft);color:var(--ink);text-align:left;border-radius:12px;gap:8px;padding:12px 14px;display:grid}.name-taken p{margin:0}.banner.name-clash{gap:8px;display:grid}.banner.name-clash p{margin:0}.phones{gap:2px;margin:0;padding:0;list-style:none;display:grid}.phones li{border-top:1px solid var(--line);align-items:center;gap:10px;padding:8px 0;display:flex}.phones li:first-child{border-top:0}.phone-ask{background:var(--warn-soft);border-radius:10px;gap:6px;margin-top:4px;padding:8px 10px;font-weight:650;display:grid}.phone-who{flex:1;gap:2px;min-width:0;display:grid}.shelf-detail{gap:10px;margin-top:16px;display:grid}.shelf-detail .section-head{margin:0}.product-name{margin:4px 0 8px;font-size:26px}.price-line{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.price{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--accent);font-size:52px;font-weight:850;line-height:1.05}.price-unit{color:var(--muted);font-size:21px;font-weight:650}.price-none{color:var(--warn);font-size:30px;font-weight:750}.deal-parts{color:var(--accent);margin:2px 0 0;font-size:15px;font-weight:650}.deal-count{align-items:center;gap:8px;font-weight:650;display:flex}.deal-count .input{text-align:center;width:76px}.option-edit{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:8px;margin-bottom:10px;padding:12px;display:grid}.option-edit .amount-chips{margin-top:0}.line-options{margin-top:8px}.options{gap:6px;margin:12px 0 0;padding:0;list-style:none;display:grid}.options li{border:1px solid var(--line);background:var(--surface);border-radius:12px;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 14px;display:flex}.option-label{font-size:19px;font-weight:650}.option-price{font-variant-numeric:tabular-nums;color:var(--accent);font-size:28px}.options .price-none{font-size:18px}.place{align-items:center;gap:8px;margin:18px 0 10px;font-size:21px;font-weight:700;display:flex}.place svg{color:var(--hl);flex:none}.where{max-width:520px}.note{border-left:4px solid var(--line);background:var(--surface);border-radius:0 10px 10px 0;margin:16px 0;padding:12px 14px}.meta{color:var(--muted);grid-template-columns:auto 1fr;gap:6px 12px;margin:18px 0 0;font-size:15px;display:grid}.meta dt{font-weight:700}.meta dd{overflow-wrap:anywhere;margin:0}.code{font-variant-numeric:tabular-nums;letter-spacing:.02em}.unknown{margin-top:8px}.price-input{grid-template-columns:1fr auto;gap:8px;display:grid}.amount-chips{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px;display:grid}.amount-chips .chip{font-variant-numeric:tabular-nums;justify-content:center;min-height:52px;padding:0 6px;font-size:18px;font-weight:750}.price-read{color:var(--accent);font-weight:700}.map{border-radius:var(--radius);touch-action:manipulation;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.map.editing{touch-action:none}.map .floor{fill:var(--floor);stroke:var(--wall);stroke-width:8px}.map .grid line{stroke:var(--line);stroke-width:2px}.map .shelf .body{fill:var(--shelf);stroke:#00000024;stroke-width:3px;transition:opacity .2s}.map .shelf.fridge .body{fill:var(--fridge)}.map .shelf.counter .body{fill:var(--counter)}.map .shelf.area .body{fill:#0000;stroke:var(--wall);stroke-dasharray:16 12}.map .shelf.door .body{fill:var(--door);stroke:var(--wall);stroke-dasharray:20 10}.map .shelf text{fill:var(--shelf-ink);text-anchor:middle;dominant-baseline:central;pointer-events:none;font-weight:650}.map .shelf text.name{paint-order:stroke;stroke:var(--shelf);stroke-width:12px;stroke-linejoin:round}.map .shelf.fridge text.name{stroke:var(--fridge)}.map .shelf.counter text.name{stroke:var(--counter)}.map .shelf.door text.name{stroke:var(--door)}.map .shelf.area text.name{stroke:var(--floor)}.map .shelf.hl text.name{stroke:var(--hl)}.map .shelf[role=button]{cursor:pointer}.map .shelf[role=button]:focus-visible,.map .shelf[role=button]:focus:not(:focus-visible){outline:none}.map .shelf[role=button]:focus-visible .body{stroke:var(--accent);stroke-width:10px}.map .shelf.dim .body,.map .shelf.dim .side,.map .shelf.dim .sheen,.map .shelf.dim .seg-cut{opacity:var(--map-dim)}.map .shelf.dim text{opacity:var(--map-dim-text)}.map .shelf.hl .body{fill:var(--hl);stroke:var(--ink);stroke-width:8px;animation:1.3s ease-in-out infinite pulse}.map .shelf.hl text{fill:var(--hl-ink);font-weight:800}.map .shelf.hl-bay .body{fill:var(--hl-soft);animation:none}.map .seg-lit{fill:var(--hl);pointer-events:none;animation:1.3s ease-in-out infinite pulse}.map .seg-cut{stroke:color-mix(in srgb, var(--shelf-ink) 45%, transparent);stroke-width:3px;pointer-events:none}.map .shelf.hl .seg-cut{stroke:color-mix(in srgb, var(--hl-ink) 55%, transparent)}.map .seg-num{font-weight:800}.map .shelf.hl-bay .seg-num{fill:color-mix(in srgb, var(--ink) 60%, transparent)}.map .shelf.hl-bay .seg-num.lit{fill:var(--hl-ink)}.map.editing .shelf{cursor:grab}.turns{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.chip.turn{padding:8px 14px}.chip.turn svg{display:block}.map.raised .floor{stroke:none}.map .room,.map .shadows,.map .sheen{pointer-events:none}.map .tile{fill:var(--floor)}.map .grout{fill:none;stroke:var(--map-grout);stroke-width:2px}.map .room .wall{fill:none;stroke:var(--wall);stroke-width:16px}.map .room .door-gap{fill:var(--floor)}.map .lamp-in{stop-color:#fff;stop-opacity:var(--map-lamp)}.map .lamp-out{stop-color:#fff;stop-opacity:0}.map .ao-in{stop-color:var(--map-ao);stop-opacity:var(--map-ao-a)}.map .ao-out{stop-color:var(--map-ao);stop-opacity:0}.map .sheen-in{stop-color:#fff;stop-opacity:var(--map-sheen)}.map .sheen-out{stop-color:#fff;stop-opacity:0}.map .shadows polygon{fill:var(--map-shadow)}.map .side polygon{stroke-width:2px;stroke-linejoin:round}.map .side .lip{stroke-width:3px}.map .side-grid{stroke:color-mix(in srgb, var(--hl) 55%, black);stroke-opacity:.55;stroke-width:2px}.map .side-lit{stroke:var(--ink);stroke-width:3px;stroke-linejoin:round}.map .side .glass{fill:var(--map-glass);stroke:#ffffffb3}.map .side .handle{stroke:color-mix(in srgb, var(--fridge), black 45%);stroke-width:5px;stroke-linecap:round}.map .shelf.sel .body{stroke:var(--accent);stroke-width:10px}.map .handle{fill:var(--accent);stroke:var(--surface);stroke-width:5px}.map .resize{cursor:nwse-resize}@keyframes pulse{50%{fill-opacity:.55}}.face{background:var(--shelf);border-radius:12px;gap:5px;padding:6px;display:grid}.face.fridge{background:var(--fridge)}.face .cell{background:var(--surface);min-width:0;min-height:44px;color:var(--muted);border:0;border-radius:8px;padding:0 8px;font-size:15px;font-weight:650}.face-head{text-align:center;color:var(--muted);padding:2px 0 0;font-size:13px;font-weight:800}.face-head.on{color:var(--ink)}.face.view .cell{justify-content:center;align-items:center;min-height:30px;font-size:13px;display:flex}.face .cell[aria-pressed=true],.face .cell.on{background:var(--hl);color:var(--hl-ink)}.face .cell{justify-content:center;align-items:center;gap:8px;display:flex;position:relative}.face.stocked .cell{min-height:52px;padding:4px}.face.view.stocked .cell{min-height:42px;padding:3px}.face .cell.has-goods.whole{justify-content:space-between;padding-left:10px}.face-title{margin:4px 0 -2px;font-size:18px;font-weight:800}.face-title span{color:var(--muted);font-size:15px;font-weight:600}.face-corner,.face-side{color:var(--muted);font-size:14px;font-weight:750}.face-corner{text-align:right;align-self:end;padding:2px 4px 0 0}.face-side{text-align:right;align-self:center;max-width:4.4em;padding-right:4px;line-height:1.1}.face-side.on{color:var(--ink)}.cell-pics{justify-content:center;gap:4px;min-width:0;display:flex}.cell-pic{aspect-ratio:1;object-fit:contain;background:#fff;border-radius:6px;flex:0 44px;width:44px;min-width:0;height:auto}.face.view .cell-pic{flex-basis:34px;width:34px}.zoomable{background:0 0;border:0;border-radius:12px;flex:none;padding:0;line-height:0;position:relative}.zoom-badge{border:1px solid var(--line);background:var(--surface);width:30px;height:30px;color:var(--ink);box-shadow:var(--shadow);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-6px;right:-6px}.picture-stage{place-items:center;margin-top:8px;animation:.16s ease-out picture-in;display:grid;position:relative}.picture-stage>.picture-full{grid-area:1/1}.picture-full.sharper{opacity:0;transition:opacity .25s ease-out}.picture-stage.done .picture-full.sharper{opacity:1}.picture-stage.loading .picture-full:not(.sharper){filter:blur(2px)}.picture-loading{color:#fff;white-space:nowrap;background:#000000b8;border-radius:999px;align-items:center;gap:10px;padding:9px 16px;font-size:16px;font-weight:650;display:inline-flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.spinner{border:3px solid #ffffff59;border-top-color:#fff;border-radius:50%;flex:none;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes picture-in{0%{opacity:.4;transform:scale(.96)}}.picture-full{width:100%;height:auto;max-height:calc(100vh - 200px);object-fit:contain;background:#fff;border-radius:12px;max-height:calc(100dvh - 200px)}.picture-full.thumb-none{aspect-ratio:1}.cell-pic.thumb-none{display:grid}.cell-name{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.15;display:-webkit-box;overflow:hidden}.cell-tick{background:var(--hl);width:24px;height:24px;color:var(--hl-ink);box-shadow:0 0 0 2px var(--surface);border-radius:50%;place-items:center;font-size:15px;display:grid;position:absolute;top:3px;right:3px}.face .cell.has-goods[aria-pressed=true]{box-shadow:0 0 0 3px var(--hl)}.face.compact{gap:3px;padding:4px}.face.compact .cell{min-height:18px;padding:0}.face.compact .face-head{padding:0;font-size:13px}.edit-bar{align-items:center;gap:10px;min-height:50px;display:flex}.edit-bar-name{font-weight:750}.edit-bar .hint{flex:1}.scan{z-index:30;color:#fff;background:#000;position:fixed;inset:0;overflow:hidden}.scan-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.scan-guide{border:3px solid #fffffff2;border-radius:16px;height:22%;position:absolute;top:36%;left:7%;right:7%;box-shadow:0 0 0 100vmax #0000006b}.scan-line{background:#ff5a4f;height:2px;animation:1.8s ease-in-out infinite sweep;position:absolute;top:50%;left:5%;right:5%;box-shadow:0 0 8px #ff5a4f}@keyframes sweep{0%,to{transform:translateY(-34px)}50%{transform:translateY(34px)}}.scan-top{padding:calc(10px + env(safe-area-inset-top)) 12px 10px;justify-content:space-between;align-items:center;gap:8px;display:flex;position:absolute;top:0;left:0;right:0}.scan-title{text-shadow:0 1px 3px #0009;font-weight:700}.scan .icon-btn{color:#fff;background:#00000080}.scan .icon-btn.spacer{visibility:hidden}.scan .icon-btn[aria-pressed=true]{color:#000;background:#fff}.scan-bottom{max-width:560px;padding:40px 16px calc(20px + env(safe-area-inset-bottom));background:linear-gradient(#0000,#000000c7 30%);gap:12px;margin:0 auto;display:grid;position:absolute;bottom:0;left:0;right:0}.scan-hint{text-align:center;margin:0;font-size:18px;font-weight:650}.scan-hint.warn{color:#ffd27a;font-size:16px}.order-banner{border-radius:var(--radius);background:var(--hl);width:calc(100% - 32px);color:var(--hl-ink);font:inherit;text-align:left;border:0;align-items:center;gap:8px;margin:0 16px 10px;padding:12px 14px;font-size:17px;display:flex}.sent-banner{border-radius:var(--radius);background:var(--surface-2);width:calc(100% - 32px);color:var(--ink);font:inherit;text-align:left;border:0;flex-wrap:wrap;align-items:center;gap:6px;margin:0 16px 10px;padding:12px 14px;display:flex}.sent-banner.ready{background:var(--accent-soft);color:var(--accent)}.order-strip{font:inherit;text-align:left;border:0;align-items:center;gap:8px;display:flex}.order-card{gap:8px;margin-bottom:12px;display:grid}.order-card.new{border-color:var(--hl);box-shadow:0 0 0 2px var(--hl-soft)}.order-card.done,.order-card.cancelled{opacity:.7}.order-card.order-closed{padding:0}.order-closed-row{width:100%;min-height:56px;color:inherit;font:inherit;text-align:left;background:0 0;border:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;padding:10px 14px;display:flex}.order-closed-end{align-items:center;gap:10px;margin-left:auto;display:inline-flex}.order-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.order-name{font-size:20px}.order-tag{border:1px solid var(--line);color:var(--muted);letter-spacing:.06em;vertical-align:2px;border-radius:6px;margin-left:6px;padding:0 6px;font-size:13px;font-weight:700;display:inline-block}.order-status{background:var(--surface-2);border-radius:999px;flex:none;padding:2px 10px;font-size:14px;font-weight:700}.order-status.new{background:var(--hl);color:var(--hl-ink)}.order-status.ready{background:var(--accent-soft);color:var(--accent)}.order-contact,.order-note{margin:0}.notify-offer{gap:10px;display:grid}.notify-offer p{margin:0}.order-choose{gap:8px;display:grid}.order-choose .btn{text-align:left;justify-content:flex-start;min-height:64px}.order-choose .btn>span{gap:2px;display:grid}.order-choose .btn-primary .hint{color:inherit;opacity:.85}.order-bill-row{border:1px solid var(--accent);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin:0 0 12px;padding:8px 8px 8px 14px;display:flex}.order-bill-who,.order-bill-sent{align-items:center;gap:6px;display:inline-flex}.order-bill-who{min-height:44px;color:inherit;font:inherit;text-align:left;background:0 0;border:0;padding:0}.order-bill-sent{color:var(--muted);padding-right:6px}.order-bill-send{min-height:46px}.notify-note{align-items:center;gap:6px;margin:0 0 10px;display:flex}.notify-note svg{flex:none}.order-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.order-read[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.order-diff{background:var(--hl-soft);color:var(--hl-ink);border-radius:10px;gap:6px;padding:10px 12px;display:grid}.order-diff ul,.order-diff p{margin:0}.order-diff ul{gap:4px;padding-left:1.2em;display:grid}.order-diff li{font-weight:700}.order-diff li.gone{color:var(--danger)}.order-status.changed{background:var(--hl);color:var(--hl-ink)}.basket-sent{margin:0}.order-note{color:var(--muted);font-style:italic}.order-items{border-top:1px solid var(--line);gap:6px;margin:0;padding:10px 0 0;list-style:none;display:grid}.order-items li,.order-total{justify-content:space-between;gap:12px;display:flex}.order-items b{font-variant-numeric:tabular-nums;flex:none}.order-total{border-top:1px solid var(--line);color:var(--muted);align-items:baseline;padding-top:8px}.order-total b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:24px}.order-actions{flex-wrap:wrap;gap:8px;display:flex}.order-actions .btn{flex:8em}.order-lines ul{gap:6px;margin:0;padding-left:1.2em;display:grid}.sent-orders{gap:8px;display:grid}.sent-order{gap:4px;padding:12px 14px;display:grid}.sent-order p{margin:0}.sent-head{flex-wrap:wrap;justify-content:space-between;gap:4px 10px;display:flex}.sent-status{color:var(--muted);font-weight:700}.sent-bill{gap:6px;padding:8px 0 2px;display:grid}.sent-bill ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.sent-bill li,.sent-bill-total{justify-content:space-between;gap:12px;display:flex}.sent-bill li b{font-variant-numeric:tabular-nums;flex:none}.sent-bill-total{border-top:1px solid var(--line);padding-top:6px}.sent-bill-total b{font-variant-numeric:tabular-nums;font-size:22px}.sent-order.ready .sent-status{color:var(--accent)}.sent-order.new .sent-status{color:var(--warn)}.poster-fit{margin:8px 0 20px;position:relative;overflow:hidden}.poster{width:520px;transform:translateX(-50%) scale(var(--fit,1));transform-origin:top;color:#111;text-align:center;background:#fff;border-radius:16px;justify-items:center;gap:10px;padding:24px 18px 22px;display:grid;position:absolute;top:0;left:50%}.poster p{margin:0}.poster-shop{font-size:28px;font-weight:800;line-height:1.2}.poster-say{font-size:19px;font-weight:650}.poster .qr{width:340px}.poster-how{color:#444;font-size:16px}@media print{.app>:not(:has(.poster)){display:none!important}.app{max-width:none;padding:0}html,body{background:#fff!important}.layer:has(.poster){background:#fff;position:static;overflow:visible}.no-print{display:none!important}.layer:has(.poster) .topbar{display:none!important}.layer:has(.poster) .layer-inner{max-width:none;padding:0}@page{margin:0}.poster-fit{margin:0;padding-top:14mm;overflow:visible;height:auto!important}.poster{break-inside:avoid;margin:0 auto;position:static;transform:scale(1.38)}}.face-turn{justify-self:start;margin-top:10px}.scan-help{background:#ffffff1a;border-radius:12px;gap:8px;margin:0;padding:12px 14px 12px 34px;font-size:17px;line-height:1.4;display:grid}p.scan-help{padding-left:14px}.scan-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.scan .btn{color:#fff;background:#ffffff24;border-color:#ffffff4d}.scan .btn-primary{color:#000;background:#fff}.type-code{gap:10px;display:grid}.type-code .input{color:#000;text-align:center;letter-spacing:.06em;background:#fff;font-size:22px}.input-row{grid-template-columns:1fr auto;align-items:center;gap:8px;display:grid}.mic-btn{width:54px;min-height:54px;padding:0}.mic-btn.on{background:var(--accent);color:var(--accent-ink);animation:1.4s ease-in-out infinite breathe}.voice-live{color:var(--accent);font-size:20px;font-weight:700;line-height:1.3}.voice-example{color:var(--muted);margin-top:2px;font-size:16px;font-weight:500;display:block}.say-all-btn{min-height:60px;font-size:19px}.voice-live.waiting{color:var(--muted);font-weight:600}.voice-alts{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.hint.found{color:var(--accent)}.add-mark{color:var(--accent);display:inline-flex}.cart-lines .cart-line{border-top:1px solid var(--line);gap:6px;padding:12px 14px;display:grid}.cart-lines .cart-line:first-child{border-top:0}.cl-main{align-items:center;gap:10px;display:flex}.cl-body{flex:1;gap:6px;min-width:0;display:grid}.cl-top,.cl-bottom{align-items:center;gap:10px;display:flex}.cl-bottom{flex-wrap:wrap}.price-edit{white-space:nowrap;min-height:40px;color:var(--muted);font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:5px;margin:-8px 0;padding:0;font-size:15px;display:inline-flex}.price-edit .icon,.price-edit svg{color:var(--accent);flex:none}.price-edit.missing{color:var(--warn);font-weight:700}.cl-top .row-title{flex:1;min-width:0}.cl-bottom .row-sub{white-space:normal;flex:auto;min-width:7em;overflow:visible}.qty{border:1px solid var(--line);border-radius:12px;align-items:center;display:inline-flex}.qty .icon-btn{width:44px;height:44px}.qty-value{font-variant-numeric:tabular-nums;background:0 0;border:0;min-width:44px;height:44px;font-size:19px;font-weight:750}.qty-input{text-align:center;width:72px;min-height:44px;padding:6px}.qty .icon-btn.drop{color:var(--danger)}.cart-sum .sum-line{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.cart-sum .price{font-size:40px}.sum-label{display:grid}.sum-label small{color:var(--muted);font-size:15px}.sum-line.short .price-none{font-size:26px}.bill-bar{bottom:calc(var(--tabbar-h) + 10px + env(safe-area-inset-bottom));z-index:3;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);align-items:center;gap:12px;margin-top:6px;padding:10px 10px 10px 16px;display:flex;position:sticky}.bill-due{flex:1;min-width:0;display:grid}.bill-due span{color:var(--muted);font-size:15px}.no-si{color:var(--warn);font-style:normal}.bill-top{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.bill-clear{min-height:38px;padding:0 12px;font-size:15px}.bill-due em{color:var(--warn);font-style:normal}.bill-due b{font-variant-numeric:tabular-nums;font-size:32px;font-weight:850;line-height:1.1}.bill-actions{flex:none;gap:8px;min-width:42%;display:grid}.bill-credit{border-radius:14px;min-height:48px;font-size:18px}.bill-go{border-radius:14px;flex:none;min-width:42%;min-height:60px;font-size:21px}.basket-bar{flex-direction:column;align-items:stretch;padding:12px}.basket-bar .bill-top{justify-content:space-between}.basket-bar .bill-clear{white-space:nowrap}.basket-bar .bill-go{width:100%}.basket-bar .basket-billed{color:var(--ink);font-size:22px}.checkout-due{gap:2px;margin:4px 0 16px;display:grid}.checkout-due .checkout-say{justify-self:start;margin-top:8px}.chips.pay-chips{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.pay-chips .chip{font-variant-numeric:tabular-nums;border-radius:12px;justify-content:center;min-height:52px;padding:0 18px;font-size:19px;font-weight:700}.pay-chips .chip.banknote{border:2px solid var(--note);background:var(--note-soft);color:#1d1b16;border-left-width:12px}.chip.n10{--note:#a8822a;--note-soft:#f2e4bb}.chip.n20{--note:#2f6db3;--note-soft:#d5e4f6}.chip.n50{--note:#b8467d;--note-soft:#f5d6e5}.chip.n100{--note:#5b8a32;--note-soft:#dcebc9}.chip.n200{--note:#b0503a;--note-soft:#f4d7cb}.chip.n500{--note:#1f8aa0;--note-soft:#cbeaf1}.lo-lead{margin:4px 0 14px;font-size:19px;line-height:1.4}.lo-lines{gap:8px;margin:0;padding:0;list-style:none;display:grid}.lo-lines li{justify-content:space-between;gap:12px;display:flex}.lo-lines b{font-variant-numeric:tabular-nums;flex:none}.lo-qty,.lo-more{color:var(--muted)}.lo-qty,.lo-total span{white-space:nowrap}.lo-total{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:baseline;gap:12px;margin-top:12px;padding-top:12px;display:flex}.lo-total b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:26px}.lo-actions{gap:12px;margin-top:20px;display:grid}.lo-choice{text-align:center;border-radius:16px;flex-direction:column;gap:2px;width:100%;min-height:72px;padding:10px 16px}.lo-choice b{font-size:20px}.lo-choice span{opacity:.85;font-size:15px;font-weight:500}.owed{border-radius:var(--radius);justify-content:space-between;align-items:baseline;gap:12px;margin:16px 0;padding:14px 16px;font-size:20px;font-weight:700;display:flex}.owed b{font-variant-numeric:tabular-nums;font-size:44px;font-weight:850}.owed.change{background:var(--accent-soft)}.owed.short{background:var(--warn-soft)}.paid{margin:4px 0}.scan-cart{background:#0000008c;border-radius:14px;gap:8px;padding:12px;display:grid}.scan-last{color:#b8f5cf;margin:0;font-size:17px;font-weight:700}.scan-last.miss{color:#ffd27a}.scan-cart-row{align-items:center;gap:12px;display:flex}.scan-cart-row b{font-variant-numeric:tabular-nums;flex:1;font-size:30px}.edit-search{scroll-margin-top:84px}.edit-results{min-height:70vh}.sweep-last{align-items:center;gap:10px;display:flex}.entry-more{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.entry-more .btn{min-height:52px;padding:6px 10px}.name-btn{background:var(--warn-soft);min-height:56px;color:var(--warn);border-color:#0000;font-size:19px}.draft-head{justify-items:center;gap:6px;margin-bottom:12px;display:grid}.draft-head .zoomable{max-width:100%}.draft-photo{object-fit:contain;background:#fff;border-radius:12px;width:auto;max-width:100%;height:auto;max-height:34vh;display:block}.thumb{object-fit:contain;background:#fff;border-radius:8px;flex:none;width:44px;height:44px}.thumb-lg{object-fit:contain;background:#fff;border-radius:10px;flex:none;width:72px;height:72px}.thumb-xl{object-fit:contain;background:#fff;border-radius:12px;flex:none;width:96px;height:96px}.thumb-none{background:color-mix(in srgb, var(--muted) 16%, transparent);color:var(--muted);place-items:center;display:grid}.product-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.form-picture,.guess{align-items:center;gap:12px;display:flex}.link-box{margin-top:10px}.link-box>.link{justify-self:start}.photo-actions{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.add-bill{margin-top:16px}.tab-icon{display:inline-flex;position:relative}.badge{background:var(--hl);min-width:20px;height:20px;color:var(--hl-ink);text-align:center;border-radius:999px;padding:0 5px;font-size:12px;font-weight:800;line-height:20px;position:absolute;top:-6px;right:-12px}.btn-voice{background:var(--accent-soft);color:var(--accent);border-color:#0000}.mic-hint{color:var(--accent);font-weight:650}@keyframes breathe{50%{box-shadow:0 0 0 20px color-mix(in srgb, var(--accent) 22%, transparent)}}.invite{border:1px solid var(--line);background:var(--bg);border-radius:12px;gap:8px;padding:14px;display:grid}.invite p{margin:0}.invite-who{font-size:18px;font-weight:800}.invite-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.invite-actions .btn{white-space:nowrap;flex:7.5em;padding:0 12px}.invite-fix{margin-top:4px}.invite-qr{justify-items:center;gap:8px;margin-top:4px;display:grid}.qr{border-radius:10px;width:min(100%,300px);height:auto;display:block}.viewer-note{width:100%;margin:8px 0 16px}.gate{place-items:center;min-height:100dvh;padding:24px 20px;display:grid}.gate-card{text-align:center;justify-items:center;gap:16px;width:100%;max-width:400px;display:grid}.gate-card h1{margin:0;font-size:26px}.gate-card p{margin:0}.gate-card img{border-radius:18px}.gate-stack{justify-items:center;gap:28px;width:100%;max-width:400px;display:grid}.gate-install{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:12px;width:100%;padding:16px;display:grid}.gate-install h2{text-align:center;margin:0;font-size:19px}.gate-install p{margin:0}.nowrap{white-space:nowrap}.inline-ico{vertical-align:-4px;color:var(--accent);display:inline-flex}.install-help{text-align:left;justify-self:stretch;margin:0}ol.install-help{gap:8px;padding-left:1.4em;display:grid}.version{text-align:center;margin-top:24px}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}.picture-full.sharper{transition:none}.picture-stage,.spot-name.moved,.map .shelf.hl .body,.map .seg-lit,.scan-line,.mic.on,.mic-btn.on{animation:none}}.account,.landing{width:100%;max-width:560px;padding:calc(20px + env(safe-area-inset-top)) 16px calc(32px + env(safe-area-inset-bottom));gap:16px;margin:0 auto;display:grid}.account-head h1,.landing-top h1{margin:0 0 4px;font-size:28px}.account-shop-name{margin:0;font-size:22px}.account .plan-soon,.account .plan-grace,.account .plan-locked{color:var(--warn);font-weight:650}.account-foot,.landing-foot{text-align:center}.landing-top{text-align:center;justify-items:center;gap:8px;display:grid}.landing-top img{border-radius:18px}.landing-say{margin:0;font-size:19px}.landing-list{gap:10px;margin:0;padding-left:22px;font-size:17px;display:grid}.banner.plan{font-weight:600}.banner.plan.locked{background:var(--warn-soft);border:1px solid var(--warn)}.renew-qr{background:#fff;border-radius:12px;justify-self:center;width:min(240px,70vw);height:auto}.renew-lines{grid-template-columns:auto 1fr;gap:6px 12px;margin:0;display:grid}.renew-lines dt{color:var(--muted)}.renew-lines dd{overflow-wrap:anywhere;margin:0}.section-head-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.debt-list,.debt-lines{gap:8px;margin:0;padding:0;list-style:none;display:grid}.debt-row{border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:12px;grid-template-columns:1fr auto auto;align-items:center;gap:2px 12px;width:100%;min-height:56px;padding:10px 14px;display:grid}.debt-row .hint{grid-column:1/-1}.debt-name{font-size:18px;font-weight:650}.debt-owes{color:var(--warn)}.debt-paid{color:var(--accent)}.debt-row.fresh{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.debt-fresh{color:var(--accent)}.debt-list.settled .debt-row{opacity:.75}.debt-lines li{border-bottom:1px solid var(--line)}.debt-entry{width:100%;min-height:56px;color:inherit;font:inherit;text-align:left;background:0 0;border:0;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;padding:10px 0;display:grid}.debt-entry>span:first-child{font-weight:650}.debt-entry .hint{grid-column:1/-1}.debt-bill-total{color:var(--muted);justify-content:space-between;gap:12px;margin:0;display:flex}.debt-bill-total b{color:var(--ink)}.hint.center{text-align:center}.debt-due .price{color:var(--warn)}.settings-group{color:var(--muted);margin:18px 4px 8px;font-size:17px}.setting{gap:8px;display:grid}.setting-more{justify-self:start;min-height:40px;font-size:16px}.settings-links{padding:0 14px;display:grid}.settings-row{border:0;border-bottom:1px solid var(--line);width:100%;min-height:64px;color:inherit;font:inherit;text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.settings-row:last-child{border-bottom:0}.settings-row>span{gap:2px;display:grid}.map-head{justify-content:flex-end;display:flex}
