:root{--pri: #0f766e;--pri-d: #115e59;--pri-l: #ccfbf1;--warn: #f59e0b;--danger: #dc2626;--ok: #16a34a;--bg: #f1f5f9;--card: #fff;--soft: #f8fafc;--pri-xl: #f0fdfa;--logo: #fbbf24;--logo-text: #111;--top-bg: var(--pri);--line: #e2e8f0;--text: #0f172a;--muted: #64748b;--r: 12px;font-family:Sarabun,Noto Sans Thai,Leelawadee UI,Thonburi,system-ui,-apple-system,sans-serif;color:var(--text);background:var(--bg);-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--card);width:100%}input:focus,select:focus,textarea:focus{outline:2px solid var(--pri-l);border-color:var(--pri)}h2{margin:0;font-size:1.25rem}h3{margin:0 0 10px;font-size:1.05rem}h4{margin:16px 0 4px}.splash{display:grid;place-items:center;height:100%;color:var(--muted)}.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center}.err{color:var(--danger)}.ok-t{color:var(--ok)}.r{text-align:right}.app{display:grid;grid-template-columns:92px minmax(0,1fr);grid-template-rows:52px 1fr;height:100%}.top{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;padding:0 14px;background:var(--top-bg);color:#fff}.brand{display:flex;align-items:center;gap:10px;min-width:0;flex-shrink:1}.logo{background:var(--logo);color:var(--logo-text);font-weight:800;border-radius:8px;padding:2px 8px}.shop{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-r{display:flex;gap:8px;align-items:center;min-width:0;margin-left:auto;overflow-x:auto;scrollbar-width:none}.top-r::-webkit-scrollbar{display:none}.clock{font-variant-numeric:tabular-nums}.chip{border:0;border-radius:999px;padding:4px 10px;font-size:.8rem;background:#fff2;color:#fff;cursor:pointer;white-space:nowrap}.chip.ok{background:#dcfce7;color:#166534}.chip.warn{background:#fef3c7;color:#92400e}.chip.off{background:#fee2e2;color:#991b1b}.nav{background:var(--card);border-right:1px solid var(--line);display:flex;flex-direction:column;overflow-y:auto}.nav-b{position:relative;border:0;background:none;padding:12px 4px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;color:var(--muted);font-size:.78rem;text-align:center}.nav-b.on{color:var(--pri);background:var(--pri-l);font-weight:700}.nav-i{font-size:1.4rem}.badge{position:absolute;top:6px;right:14px;background:var(--danger);color:#fff;border-radius:999px;font-size:.7rem;padding:0 6px}.main{overflow:auto;min-width:0}.page{padding:16px;max-width:1400px;margin:0 auto}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}.toolbar .search,.toolbar input[type=date]{width:auto}.btn{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:10px 14px;cursor:pointer;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:6px;user-select:none}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--pri);border-color:var(--pri);color:#fff}.btn.primary:hover:not(:disabled){background:var(--pri-d)}.btn.warn{background:var(--warn);border-color:var(--warn);color:#111}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.ghost{background:transparent}.danger-t{color:var(--danger)}.btn.sm{padding:5px 10px;font-size:.85rem}.btn.big{padding:14px 18px;font-size:1.05rem}.btn.icon{padding:6px 10px}.link{border:0;background:none;color:var(--pri);cursor:pointer;padding:0;text-decoration:underline}.row-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.tabs{display:flex;gap:6px;flex-wrap:wrap}.tab{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:7px 14px;cursor:pointer}.tab.on{background:var(--pri);color:#fff;border-color:var(--pri)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.chip-b{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:8px 14px;cursor:pointer}.chip-b.on{background:var(--pri-l);border-color:var(--pri);color:var(--pri-d);font-weight:700}.legend{display:flex;gap:8px;margin-left:auto;font-size:.85rem}.lg{padding:3px 10px;border-radius:999px}.lg.free{background:var(--card);border:1px solid var(--line)}.lg.busy{background:var(--pri-l)}.lg.bill{background:#fef3c7}.table-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.table-grid.small{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.tcard{border:2px solid var(--line);background:var(--card);border-radius:14px;padding:14px;min-height:120px;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left}.tcard.busy{background:var(--pri-xl);border-color:var(--pri)}.tcard.bill{background:#fffbeb;border-color:var(--warn)}.tcard:disabled{opacity:.4}.tname{font-size:1.35rem;font-weight:800}.tinfo{color:var(--muted);font-size:.85rem}.tamt{margin-top:auto;font-weight:700;color:var(--pri-d)}.guest-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.order{display:flex;flex-direction:column;height:100%}.order-h{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--card);border-bottom:1px solid var(--line);flex-wrap:wrap}.order-t{display:flex;flex-direction:column}.order-t b{font-size:1.15rem}.order-actions{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}.mtabs{display:none}.more-b{display:none;margin-left:auto;font-size:1.3rem}.zone-sec{margin-bottom:18px}.zone-h{color:var(--muted);font-size:.95rem;margin:0 0 8px}.order-body{flex:1;min-height:0;display:grid;grid-template-columns:150px 1fr 380px}.cats{background:var(--card);border-right:1px solid var(--line);overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:6px}.cat{border:0;border-left:5px solid var(--line);background:var(--bg);padding:12px 10px;border-radius:8px;text-align:left;cursor:pointer;display:flex;justify-content:space-between;gap:6px}.cat.on{background:var(--pri-l);font-weight:700}.menu{padding:12px;overflow-y:auto}.menu .search{margin-bottom:12px}.item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.item{border:1px solid var(--line);border-top:5px solid var(--pri);background:var(--card);border-radius:12px;padding:12px;min-height:96px;display:flex;flex-direction:column;justify-content:space-between;text-align:left;cursor:pointer}.item:active{background:var(--pri-l)}.item.out{opacity:.45}.iname{font-weight:700}.iprice{color:var(--pri-d);font-weight:700}.cart{background:var(--card);border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.lines{flex:1;overflow-y:auto;padding:8px 12px}.line{border-bottom:1px dashed var(--line);padding:8px 0}.line.st-void{opacity:.45;text-decoration:line-through}.line-main{display:flex;justify-content:space-between;gap:8px}.lname{font-weight:700}.lsub{font-size:.82rem;color:var(--muted)}.lsub.note{color:#b45309}.lst{font-size:.7rem;border-radius:6px;padding:1px 6px;background:var(--bg)}.lst.st-new{background:#fef3c7;color:#92400e}.lst.st-sent{background:#dbeafe;color:#1e40af}.lst.st-done{background:#dcfce7;color:#166534}.lright{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.lamt{font-weight:700}.qty{display:flex;align-items:center;gap:8px}.qty.big span{min-width:28px;text-align:center;font-size:1.2rem;font-weight:700}.sum{border-top:1px solid var(--line);padding:10px 12px;background:var(--soft)}.srow{display:flex;justify-content:space-between;padding:3px 0;gap:8px}.srow.total{font-size:1.35rem;font-weight:800;color:var(--pri-d)}.cart-btns{display:grid;grid-template-columns:1fr 1.4fr;gap:8px;margin-top:8px}.overlay{position:fixed;inset:0;background:#0f172a88;display:grid;place-items:center;z-index:50;padding:12px}.modal{background:var(--card);border-radius:16px;width:min(480px,100%);max-height:92vh;display:flex;flex-direction:column;box-shadow:0 20px 50px #0004}.modal.wide{width:min(860px,100%)}.modal-h{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}.modal-h h3{margin:0}.modal-b{padding:16px;overflow-y:auto}.modal-f{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--line);align-items:center}.modal-f .qty{margin-right:auto}.field{display:flex;flex-direction:column;gap:4px;margin:10px 0}.field>span{font-size:.85rem;color:var(--muted)}.field.check{flex-direction:row;align-items:center;gap:8px}.field.check input{width:auto}.optgroup{margin-bottom:14px}.og-h{font-weight:700}.req{color:var(--danger);font-size:.8rem;font-weight:400}.toasts{position:fixed;bottom:20px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:6px;z-index:60;pointer-events:none}.toast{background:#0f172a;color:#fff;padding:10px 18px;border-radius:999px;box-shadow:0 6px 20px #0003}.pay{display:grid;grid-template-columns:1fr 1.2fr;gap:16px}.pay-due{background:var(--pri-l);border-radius:12px;padding:14px;display:flex;flex-direction:column}.pay-due b{font-size:2rem;color:var(--pri-d)}.pay-methods{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.pm{border:2px solid var(--line);background:var(--card);border-radius:12px;padding:14px 8px;cursor:pointer;font-weight:700}.pm.on{border-color:var(--pri);background:var(--pri-l);color:var(--pri-d)}.cash-in{display:flex;justify-content:space-between;align-items:baseline;font-size:1.1rem}.cash-in b{font-size:1.8rem}.cash-change{color:var(--danger);font-weight:700;margin:4px 0}.cash-change.ok{color:var(--ok)}.numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 12px}.numpad .btn{padding:16px 0;font-size:1.3rem}.paid{text-align:center;display:flex;flex-direction:column;gap:6px;align-items:center}.paid-ok{width:64px;height:64px;border-radius:50%;background:var(--ok);color:#fff;font-size:2rem;display:grid;place-items:center}.paid-total{font-size:1.6rem;font-weight:800}.paid-change{font-size:1.4rem}.paid-change b{color:var(--ok);font-size:2.2rem}.kds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;align-items:start}.ticket{background:var(--card);border-radius:14px;border:2px solid var(--line);overflow:hidden;display:flex;flex-direction:column}.ticket.warn{border-color:var(--warn)}.ticket.late{border-color:var(--danger)}.ticket-h{padding:10px 12px;background:var(--soft);display:flex;flex-direction:column}.ticket.warn .ticket-h{background:#fef3c7}.ticket.late .ticket-h{background:#fee2e2}.ticket-h b{font-size:1.15rem}.ticket-b{padding:6px 12px}.tline{display:flex;gap:10px;width:100%;border:0;border-bottom:1px dashed var(--line);background:none;text-align:left;padding:8px 0;cursor:pointer}.tq{font-weight:800;font-size:1.1rem;min-width:30px}.ticket>.btn{border-radius:0}.big-empty{font-size:1.3rem;margin-top:60px}.card{background:var(--card);border-radius:var(--r);border:1px solid var(--line);padding:16px;margin-bottom:14px}.card.narrow{max-width:420px}.grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}.grid2>.card{margin-bottom:0}.settings .grid2{gap:14px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px}.kpi{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column}.kpi span{color:var(--muted);font-size:.85rem}.kpi b{font-size:1.35rem}.kpi.main{background:var(--pri);color:#fff}.kpi.main span{color:#fffc}.tbl{width:100%;border-collapse:collapse;background:var(--card);border-radius:12px;overflow:hidden}.tbl th,.tbl td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left}.tbl th{background:var(--soft);font-size:.85rem;color:var(--muted)}.tbl th.r,.tbl td.r{text-align:right}.tbl tr.click{cursor:pointer}.tbl tr.click:hover{background:var(--soft)}.tbl tr.voided td{color:var(--muted);text-decoration:line-through}.bars{display:flex;flex-direction:column;gap:4px}.bar-row{display:grid;grid-template-columns:48px 1fr 80px;gap:8px;align-items:center;font-size:.82rem}.bar{height:14px;background:var(--bg);border-radius:4px;overflow:hidden}.bar span{display:block;height:100%;background:var(--pri)}.bar-v{text-align:right}.admin{display:grid;grid-template-columns:220px 1fr;gap:14px;align-items:start}.admin .cats{border-radius:12px;border:1px solid var(--line)}.og-edit{border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:10px}.og-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px}.og-row input[type=text],.og-row>input:not([type]){flex:1;min-width:160px}.og-row label{display:flex;align-items:center;gap:4px;white-space:nowrap}.og-row label input{width:auto}.zone-edit{margin-bottom:12px}.receipt-preview{background:#fafafa;border:1px dashed var(--line);padding:10px;font-size:.9rem}@media(max-width:900px){.order-body{grid-template-columns:110px 1fr}.order-body .cart,.order-body.show-cart .cats,.order-body.show-cart .menu{display:none}.order-body.show-cart{grid-template-columns:1fr}.order-body.show-cart .cart{display:flex}.mtabs{display:flex;gap:6px;padding:6px 10px;background:var(--card);border-bottom:1px solid var(--line)}.mtabs .tab{flex:1}.grid2,.pay,.admin{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){.app{grid-template-columns:minmax(0,1fr);grid-template-rows:52px 1fr 64px}.top{gap:8px;overflow:hidden}.toolbar h2{flex-basis:100%}.toolbar .search{flex:1;min-width:0}.nav{grid-row:3;flex-direction:row;border-right:0;border-top:1px solid var(--line);overflow-x:auto}.nav-b{min-width:68px;padding:6px 4px;font-size:.68rem;white-space:nowrap}.nav-i{font-size:1.2rem}.main{grid-row:2}.shop{max-width:120px}.clock{display:none}.legend{margin-left:0}.table-grid{grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:8px}.tcard{min-height:100px;padding:10px}.toasts{bottom:80px}.more-b{display:inline-flex}.order-h{position:relative;flex-wrap:nowrap}.order-actions{display:none;position:absolute;right:8px;top:100%;z-index:20;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:6px;box-shadow:0 10px 30px #0002}.order-actions.open{display:flex}.mtabs .tab{padding:6px 8px;font-size:.9rem}.order-body{grid-template-columns:1fr}.order-body .cats{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line)}.order-body .cat{border-left:0;border-bottom:4px solid var(--line);white-space:nowrap}.order-body.show-menu{grid-template-rows:auto 1fr}.item-grid{grid-template-columns:repeat(2,1fr)}.page{padding:12px}.tbl{font-size:.85rem}}#print-area{display:none}.pr{font-family:Sarabun,Noto Sans Thai,monospace;font-size:12px;color:#000}.pr hr{border:0;border-top:1px dashed #000;margin:6px 0}.pr-row{display:flex;justify-content:space-between;gap:6px}.pr-c{text-align:center}.pr-b{font-weight:700}.pr-lg{font-size:15px}.pr-xl{font-size:22px}.pr-sub{padding-left:12px;font-size:11px}.pr-qr{width:45mm;height:45mm;margin-top:6px}@media print{@page{margin:0}body>#root{display:none!important}#print-area{display:block;width:var(--paper, 80mm);padding:3mm 4mm}}.card.inner{background:var(--soft);margin:10px 0}.file-row{display:flex;justify-content:space-between;gap:10px;width:100%;border:1px solid var(--line);background:var(--card);border-radius:10px;padding:12px;margin-bottom:8px;cursor:pointer;text-align:left}.file-row:hover{background:var(--pri-l)}.usage{margin:8px 0}.usage-h{display:flex;justify-content:space-between;gap:8px;font-size:.85rem}.usage-bar{height:8px;background:var(--line);border-radius:99px;overflow:hidden;margin-top:4px}.usage-fill{height:100%;background:var(--pri)}.usage-fill.hot{background:var(--danger)}.storage-banner{position:sticky;top:0;z-index:15;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;background:#fef3c7;color:#92400e;border-bottom:1px solid var(--warn);font-size:.9rem}.storage-banner>span{flex:1;min-width:200px}.storage-banner.hot{background:#fee2e2;color:#991b1b;border-color:var(--danger)}.steps{padding-left:20px;margin:8px 0}.steps li{margin:4px 0}textarea.sql{width:100%;font-family:ui-monospace,monospace;font-size:.75rem;margin-top:8px}.istock{display:block;font-size:.72rem;color:var(--muted)}.istock.low{color:var(--danger);font-weight:600}.tbl tr.low td{background:#fff7ed}.list{display:flex;flex-direction:column;gap:4px;margin:8px 0}.list-b{display:flex;gap:8px;align-items:baseline;text-align:left;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--card);cursor:pointer}.list-b .r{margin-left:auto}.list-b.on{border-color:var(--pri);background:var(--pri-xl)}.issues{padding-left:4px;list-style:none}.issues li{margin:4px 0}.lock{min-height:100%;display:grid;place-items:center;padding:16px;background:var(--bg)}.lock-card{width:100%;max-width:320px;background:var(--card);border-radius:16px;padding:20px;text-align:center;box-shadow:0 10px 30px #0001}.lock-card .logo{display:inline-block;margin-bottom:8px}.lock-pin{text-align:center;font-size:1.6rem;letter-spacing:.4em;margin:8px 0}.list-b input[type=radio]{width:auto;margin:0;flex:none}.list-b{align-items:center}.btn.full{width:100%}.link.small{font-size:.85rem}.steps-live{list-style:none;padding:0;margin:0 0 8px}.steps-live li{margin:6px 0}.retail{display:flex;flex-direction:column;height:100%;min-height:0}.retail-scan{display:flex;gap:8px;padding:10px 12px;background:var(--card);border-bottom:1px solid var(--line)}.retail-scan form{flex:1}.scan-input{font-size:1.15rem;padding:12px 14px;border:2px solid var(--pri)}.parked{padding:6px 12px;margin:0;align-items:center}.chips.parked{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;flex:none}.chips.parked::-webkit-scrollbar{display:none}.chips.parked>*{flex:none;white-space:nowrap}.chips.parked .chip-b{padding:6px 12px}.retail-body{flex:1;min-height:0;display:grid;grid-template-columns:1fr}.retail-body.with-items{grid-template-columns:1.2fr 1fr}.retail-items{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:10px 12px 0;border-right:1px solid var(--line)}.retail-items>.search,.retail-items>.chips{flex:none}.retail-items>.item-grid{flex:1;min-height:0;overflow-y:auto;align-content:start;padding-bottom:12px;overscroll-behavior:contain}.m-only{display:none}.retail-cart{overflow:auto;padding:10px 12px}.cart-tbl td{vertical-align:middle}.nowrap{white-space:nowrap}.qty-n{display:inline-block;min-width:34px;text-align:center;font-weight:700}.empty-cart{text-align:center;padding:40px 12px;color:var(--muted)}.big-icon{font-size:3rem}.retail-pay{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--card);border-top:1px solid var(--line)}.retail-total{display:flex;flex-direction:column}.retail-total b{font-size:1.6rem;color:var(--pri)}.type-card{max-width:380px}.type-b{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;margin-top:12px;padding:16px;border:2px solid var(--line);border-radius:14px;background:var(--card);cursor:pointer}.type-b:hover{border-color:var(--pri);background:var(--pri-xl)}.type-i{font-size:2rem}@media(max-width:900px){.retail-body.with-items{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.retail-items{border-right:0;border-bottom:1px solid var(--line)}}@media(max-width:640px){.retail-body.with-items{grid-template-rows:1fr}.retail-body.with-items .retail-cart{display:none}.retail-body.with-items .retail-items{border-bottom:0}.retail-items>.chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:8px -12px;padding:0 12px}.retail-items>.chips::-webkit-scrollbar{display:none}.retail-items>.chips .chip-b{flex:none;white-space:nowrap}.w-only{display:none}.m-only{display:inline}.retail-pay .btn.big{flex:1}.retail-pay{position:sticky;bottom:0}}.cam{position:relative;background:#000;border-radius:12px;overflow:hidden;aspect-ratio:4 / 3}.cam-video{width:100%;height:100%;object-fit:cover;display:block}.cam-guide{position:absolute;inset:32% 10%;border:3px solid #22c55e;border-radius:10px;box-shadow:0 0 0 9999px #0006;pointer-events:none}.cam-msg{position:absolute;inset:0;display:grid;place-items:center;color:#fff}.input-row{display:flex;gap:8px}.input-row input{flex:1}@media(max-width:640px){.grid2{grid-template-columns:minmax(0,1fr)}.tbl{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.tbl th,.tbl td{white-space:nowrap}}.tbl td.link{cursor:pointer;color:var(--pri);font-weight:600;text-decoration:underline dotted}.qty-in{width:72px;text-align:right;padding:6px 8px}.pick-g{margin-bottom:12px}.pick-h{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;border-left:5px solid var(--line);background:var(--soft);border-radius:8px;padding:8px 10px;font-weight:700;cursor:pointer;text-align:left}.pick-i{display:flex;align-items:center;gap:10px;padding:10px 6px;border-bottom:1px solid var(--line);cursor:pointer}.pick-i input{width:22px;height:22px;flex:none}.pick-i .pick-n{flex:1}.pick-i.dis{opacity:.55}.avatar{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--pri);color:#fff;font-weight:700;flex:none}.avatar.sm{width:28px;height:28px;font-size:.85rem;background:#fbbf24;color:#111}.avatar.big{width:64px;height:64px;font-size:1.6rem}.users{display:flex;flex-direction:column;gap:8px;text-align:left}.user-b{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card);cursor:pointer}.user-b:hover,.user-b.on{border-color:var(--pri);background:var(--pri-xl)}.user-n{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.me-b{display:flex;align-items:center;gap:6px;flex:none;margin-left:8px;border:0;border-radius:999px;padding:3px 10px 3px 3px;background:#ffffff26;color:#fff;cursor:pointer;white-space:nowrap}.me-n{font-weight:700;max-width:90px;overflow:hidden;text-overflow:ellipsis}.me-r{font-size:.75rem;opacity:.85}@media(max-width:640px){.me-r{display:none}.me-n{max-width:64px}}.pick-list{display:flex;flex-direction:column;gap:8px}.pick-row{display:flex;align-items:center;gap:10px;justify-content:space-between;width:100%;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--card);cursor:pointer;text-align:left;font-size:1rem}.pick-row b{flex:1}.pick-row:hover,.pick-row.on{border-color:var(--pri);background:var(--pri-xl)}.pick-row.out{opacity:.5}.btn.on-b{border-color:var(--pri);background:var(--pri-l);color:var(--pri-d);font-weight:700}.warn-card{border-color:#fcd34d;background:#fffbeb}.pack-row input{flex:1 1 90px;min-width:70px}.bk-list{display:flex;flex-direction:column;gap:8px}.bk{display:flex;align-items:center;gap:12px;padding:12px;margin:0}.bk-t{font-size:1.2rem;font-weight:800;color:var(--pri);min-width:56px}.bk-m{flex:1;display:flex;flex-direction:column;cursor:pointer;min-width:0}.bk-a{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.bk.done{opacity:.6}.bk.cancel{opacity:.45;text-decoration:line-through}.type-card{max-width:640px}.type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:12px}.type-grid .type-b{margin-top:0;padding:12px 8px}@media(max-width:640px){.type-grid{grid-template-columns:1fr 1fr}.type-grid .type-i{font-size:1.6rem}}.comm-row{flex-wrap:nowrap;padding:6px 0;border-bottom:1px solid var(--line)}.comm-row .comm-n{flex:1;min-width:0}.comm-row input{width:76px;flex:none;text-align:right;padding:8px}.og-row.comm-row>input:not([type]){flex:none;width:80px;min-width:0}.pay-parts{margin:8px 0;padding:8px;border:1px dashed var(--line);border-radius:10px}.credit-box{margin-bottom:8px}.promo-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.promo-row.off{opacity:.55}.promo-m{flex:1;display:flex;flex-direction:column;cursor:pointer;min-width:0}.check-inline input{width:22px;height:22px}.modal{max-width:100%;min-width:0}.modal-f{flex-wrap:wrap}.modal-b{overflow-x:hidden}.modal-b .tbl{max-width:100%}.a4{font-family:Sarabun,Noto Sans Thai,sans-serif;font-size:12px;color:#000;padding:10mm}.a4-head{display:flex;justify-content:space-between;gap:16px;border-bottom:2px solid #000;padding-bottom:8px}.a4-shop{font-size:18px;font-weight:700}.a4-title{text-align:right;min-width:70mm}.a4-title>div:first-child{font-size:18px;font-weight:700;margin-bottom:4px}.a4-meta{display:flex;justify-content:space-between;gap:12px}.a4-meta.b{font-weight:700;font-size:14px;border-top:1px solid #000;margin-top:4px;padding-top:4px}.a4-party{margin:10px 0;padding:8px;border:1px solid #000;border-radius:4px}.a4-tbl{width:100%;border-collapse:collapse}.a4-tbl th,.a4-tbl td{border:1px solid #000;padding:4px 6px}.a4-tbl th{background:#eee}.a4-tbl .r{text-align:right}.a4-sum{display:flex;justify-content:space-between;gap:16px;margin-top:8px}.a4-sum>div:last-child{min-width:70mm}.a4-words{font-weight:700;align-self:flex-end}.a4-note{margin-top:10px}.a4-sign{display:flex;justify-content:space-around;margin-top:30mm;text-align:center}.a4-line{border-top:1px dotted #000;width:50mm;margin:0 auto 4px}.doc-preview{border:1px solid var(--line);border-radius:8px;overflow:auto;max-height:50vh;background:var(--card)}.doc-preview .a4{padding:8px;font-size:10px;min-width:520px}fieldset.plain{border:0;padding:0;margin:0;min-width:0}.doc-line{flex-wrap:nowrap}.og-row.doc-line>input:not([type]){min-width:0}.doc-line input:nth-child(1){flex:3 1 120px}.doc-line input:nth-child(2){flex:0 0 64px;text-align:right}.doc-line input:nth-child(3){flex:0 0 80px;text-align:right}.doc-amt{flex:0 0 72px;font-size:.85rem}@media(max-width:640px){.doc-line{flex-wrap:wrap}.doc-line input:nth-child(1){flex-basis:100%}}.cu-page{max-width:720px;margin:0 auto;padding:12px 12px 90px;min-height:100%}.cu-page.center{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px}.cu-head{display:flex;justify-content:space-between;align-items:center;padding:8px 0 12px;font-size:1.2rem}.cu-bar{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;background:var(--card);border-top:1px solid var(--line);box-shadow:0 -6px 20px #0001}.cd{min-height:100%;background:var(--pri);color:#fff;display:flex;flex-direction:column;padding:24px}.cd-shop{font-size:1.6rem;font-weight:800}.cd-big{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:3rem;font-weight:800;text-align:center}.cd-change{font-size:2rem;margin-top:12px;color:#fde68a}.cd-body{flex:1;display:flex;gap:24px;margin-top:16px;flex-wrap:wrap}.cd-lines{flex:1 1 300px;background:#ffffff1a;border-radius:16px;padding:16px;font-size:1.3rem}.cd-row{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid #ffffff22}.cd-side{flex:0 1 300px;display:flex;flex-direction:column;align-items:center;gap:10px;background:var(--card);color:#111;border-radius:16px;padding:20px}.cd-total-l{font-size:1.2rem}.cd-total{font-size:3rem;font-weight:800;color:var(--pri)}.qr-sheet{display:grid;grid-template-columns:1fr 1fr;gap:8mm;padding:8mm;font-family:Sarabun,sans-serif}.qr-card{border:1px dashed #000;border-radius:4mm;padding:6mm;text-align:center;break-inside:avoid}.qr-card svg{width:55mm;height:55mm}.qr-shop{font-weight:700;font-size:14px}.qr-table{font-size:22px;font-weight:800}.buddy{position:fixed;right:8px;top:52%;z-index:40;display:flex;flex-direction:row-reverse;align-items:center;gap:6px;pointer-events:none}.buddy>*{pointer-events:auto}.buddy-b{width:54px;height:54px;flex:none;border-radius:50%;border:0;background:var(--card);box-shadow:0 6px 18px #0f172a40;display:grid;place-items:center;cursor:pointer;padding:0;animation:buddy-bob 2.6s ease-in-out infinite}.buddy-b:active{transform:scale(.92)}.buddy-hint{max-width:210px;text-align:left;background:#0f172a;color:#fff;border:0;border-radius:14px 4px 14px 14px;padding:8px 12px;font:inherit;font-size:.85rem;box-shadow:0 6px 18px #0f172a40;cursor:pointer}.buddy-eye{animation:buddy-blink 4s infinite;transform-origin:center;transform-box:fill-box}@keyframes buddy-bob{0%,to{translate:0 0}50%{translate:0 -4px}}@keyframes buddy-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@media print{.buddy{display:none}}[data-dark="1"] .chip.ok{background:#14532d;color:#bbf7d0}[data-dark="1"] .chip.warn{background:#78350f;color:#fde68a}[data-dark="1"] .chip.off{background:#7f1d1d;color:#fecaca}[data-dark="1"] .modal,[data-dark="1"] .lock-card{box-shadow:0 20px 50px #000a}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}.theme-b{border:2px solid var(--line);border-radius:12px;padding:0;overflow:hidden;cursor:pointer;text-align:left;background:var(--card)}.theme-b.on{border-color:var(--pri);box-shadow:0 0 0 2px var(--pri-l)}.theme-b .tp{height:16px}.theme-b .tb{display:flex;gap:4px;padding:6px}.theme-b .tb i{flex:1;height:14px;border-radius:4px}.theme-b .tn{display:block;padding:0 8px 8px;font-size:.8rem}.fest-greet{flex:none;white-space:nowrap;font-size:.85rem;font-weight:700;padding:3px 10px;border-radius:999px;background:#ffffff26}.decor{position:fixed;inset:0;pointer-events:none;z-index:30;overflow:hidden}.decor span{position:absolute;top:-40px;font-size:22px;opacity:.55;animation:decor-fall linear infinite}@keyframes decor-fall{0%{transform:translate(0) rotate(0)}to{transform:translate(40px,110vh) rotate(200deg)}}@media(prefers-reduced-motion:reduce){.decor{display:none}}@media print{.decor,.fest-greet{display:none}}[data-dark="1"] .lg.bill,[data-dark="1"] .tcard.bill,[data-dark="1"] .ticket.warn .ticket-h,[data-dark="1"] .ticket.late .ticket-h,[data-dark="1"] .tbl tr.low td,[data-dark="1"] .receipt-preview{color:#111}[data-dark="1"] .tbl tr.low td .muted,[data-dark="1"] .receipt-preview .muted{color:#555}@media(max-width:700px){.fest-greet .fg-t{display:none}.fest-greet{padding:2px 6px}}.field.locked{opacity:.85}.field.locked .lock-ic{width:20px;flex:none;text-align:center}.pi-row{display:flex;gap:8px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--line)}.pi-row.off{opacity:.5}.pi-row img{width:64px;height:64px;object-fit:cover;border-radius:10px;flex:none;background:var(--soft)}.pi-row>input[type=checkbox]{width:22px;height:22px;margin-top:10px;flex:none}.pi-f{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.pi-f input{padding:8px 10px}.pi-2{display:flex;gap:6px}.pi-2 input{min-width:0;flex:1}html[data-style=cartoon] body{font-family:Mali,Itim,system-ui,sans-serif}html[data-style=cartoon] :is(.btn,.card,.item,.tcard,.modal,.nav button,.field input,.field select){border:2.5px solid var(--outline)!important;border-radius:16px;box-shadow:3px 3px 0 var(--outline)}html[data-style=cartoon] .item{border-top-width:6px!important;border-top-color:var(--pri)!important}html[data-style=cartoon] .modal{box-shadow:6px 6px 0 var(--outline)}html[data-style=cartoon] .btn{font-weight:700;transition:transform .08s,box-shadow .08s}html[data-style=cartoon] :is(.btn,.item,.tcard):active{transform:translate(3px,3px);box-shadow:0 0 0 var(--outline)}html[data-style=cartoon] .top{border-bottom:3px solid var(--outline)}html[data-style=cartoon][data-motion=on] :is(.item,.tcard):hover{animation:toon-wiggle .35s ease}@keyframes toon-wiggle{30%{transform:rotate(-1.2deg)}70%{transform:rotate(1.2deg)}}html[data-bg]:not([data-bg=""]) body:before{content:"";position:fixed;inset:-120px;z-index:-1;pointer-events:none;opacity:.8}html[data-bg=dots] body:before{background-image:radial-gradient(circle,color-mix(in srgb,var(--pri) 22%,transparent) 16%,transparent 18%),radial-gradient(circle,#99f6e4aa 16%,transparent 18%);background-size:60px 60px;background-position:0 0,30px 30px;animation:toon-pan 18s linear infinite}html[data-bg=bubbles] body:before{background-image:radial-gradient(circle at 30% 30%,#fff 8%,color-mix(in srgb,var(--pri) 25%,transparent) 20%,transparent 22%);background-size:90px 110px;animation:toon-rise 14s linear infinite}html[data-bg=leaves] body:before{background-image:radial-gradient(ellipse 14px 7px,#86efac 60%,transparent 62%),radial-gradient(ellipse 7px 14px,#bef264 60%,transparent 62%);background-size:80px 80px,120px 120px;background-position:0 0,40px 60px;animation:toon-pan 22s linear infinite}html[data-bg=waves] body:before{background-image:radial-gradient(circle at 50% 120%,transparent 55%,#7dd3fc 56%,#7dd3fc 62%,transparent 63%);background-size:80px 40px;animation:toon-wave 6s linear infinite}html[data-bg=stars] body:before{opacity:.9;background-image:radial-gradient(2.5px 2.5px at 20px 30px,#fff 50%,transparent 51%),radial-gradient(2px 2px at 90px 70px,#fde68a 50%,transparent 51%),radial-gradient(3px 3px at 150px 140px,#c4b5fd 50%,transparent 51%),radial-gradient(2px 2px at 60px 160px,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 170px 40px,#fff 50%,transparent 51%);background-size:200px 200px;animation:toon-twinkle 3s ease-in-out infinite alternate,toon-pan 60s linear infinite}@keyframes toon-pan{to{transform:translate(60px,60px)}}@keyframes toon-rise{to{transform:translateY(-110px)}}@keyframes toon-wave{to{transform:translate(80px)}}@keyframes toon-twinkle{0%{opacity:.5}to{opacity:1}}html[data-motion=off] body:before{animation:none!important}@media(prefers-reduced-motion:reduce){html body:before{animation:none!important}}@media print{html body:before{display:none}html[data-style=cartoon] *{box-shadow:none!important}}.name-cell{display:flex;align-items:center;gap:10px;min-width:0}.thumb{width:44px;height:44px;flex:none;border-radius:10px;overflow:hidden;padding:0;border:1px solid var(--line);background:var(--soft);display:grid;place-items:center;cursor:pointer;font-size:18px}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb.empty{opacity:.45;border-style:dashed}.thumb.empty:hover{opacity:1}.photo-big{display:grid;place-items:center;min-height:200px}.photo-big img{width:100%;max-width:420px;aspect-ratio:1;object-fit:contain;border-radius:14px;background:var(--soft)}.photo-edit{display:flex;align-items:center;gap:12px;margin-bottom:12px}.photo-edit img,.photo-edit .ph{width:84px;height:84px;border-radius:14px;object-fit:cover;flex:none;background:var(--soft);border:1px solid var(--line)}.photo-edit .ph{display:grid;place-items:center;font-size:28px;opacity:.5;border-style:dashed}.photo-edit .row-btns{display:flex;flex-wrap:wrap;gap:8px}.update-bar{position:fixed;left:50%;transform:translate(-50%);top:calc(env(safe-area-inset-top,0px) + 58px);z-index:45;border:0;border-radius:999px;padding:10px 18px;background:#f59e0b;color:#1f1300;font:inherit;font-weight:700;box-shadow:0 8px 24px #0003;cursor:pointer;max-width:calc(100vw - 24px)}.update-bar small{font-weight:400;opacity:.8}@media print{.update-bar{display:none}}.rp{padding-bottom:96px}.rp-head{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}.rp-head h2{margin:0}.rp-ranges{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin-bottom:10px;padding-bottom:2px}.rp-ranges::-webkit-scrollbar{display:none}.rp-ranges .tab{white-space:nowrap;flex-shrink:0}.rp-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.rp-filters label{display:flex;flex-direction:column;gap:2px;flex:1;min-width:130px}.rp-hero{background:linear-gradient(135deg,var(--pri),var(--pri-d));color:#fff;border-radius:18px;padding:18px;margin-bottom:12px;box-shadow:0 8px 24px color-mix(in srgb,var(--pri) 30%,transparent);display:flex;flex-direction:column;align-items:flex-start;gap:4px}.rp-hero-g{font-size:.9rem;opacity:.9}.rp-hero-l{font-size:1rem;opacity:.95}.rp-hero-v{font-size:2.4rem;font-weight:800;line-height:1.1;letter-spacing:-.5px}.rp-hero-row{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px;font-size:.9rem;opacity:.95}.rp-hero-row span{background:#fff2;border-radius:999px;padding:4px 10px}.rp-hero-empty{margin:8px 0 0;font-size:.92rem;opacity:.95}.rp-delta{display:inline-block;font-size:.78rem;font-weight:700;border-radius:999px;padding:2px 8px}.rp-delta.up{background:color-mix(in srgb,var(--ok) 16%,transparent);color:var(--ok)}.rp-delta.down{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}.rp-delta.same{background:var(--soft);color:var(--muted)}.rp-hero .rp-delta{background:#ffffffe6}.rp-hero .rp-delta.same{color:#475569}.rp-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:14px}.rp-kpi{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}.rp-kpi small{color:var(--muted);font-size:.8rem}.rp-kpi b{font-size:1.3rem}.rp-kpi-i{font-size:1.15rem;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--pri-xl);margin-bottom:2px}.rp-kpi.good{border-color:color-mix(in srgb,var(--ok) 45%,var(--line))}.rp-kpi.good b{color:var(--ok)}.rp-kpi.warn .rp-kpi-i{background:color-mix(in srgb,var(--warn) 18%,transparent)}.rp-sec{border-radius:16px}.rp-sec-h{display:flex;align-items:center;gap:10px;margin-bottom:12px}.rp-sec-h h3{margin:0;font-size:1.05rem}.rp-sec-t{flex:1;min-width:0;display:flex;flex-direction:column}.rp-sec-i{font-size:1.2rem;width:36px;height:36px;flex-shrink:0;display:grid;place-items:center;border-radius:10px;background:var(--pri-xl)}.rp-tips{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.rp-tips li{display:flex;gap:10px;align-items:flex-start;background:var(--soft);border-radius:12px;padding:10px 12px}.rp-tips li>span{font-size:1.2rem;line-height:1.4}.rp-tips p{margin:0;line-height:1.5}.rp-cols{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:3px;align-items:end;height:150px}.rp-col{display:flex;flex-direction:column;align-items:center;height:100%;gap:4px;min-width:0}.rp-col-bar{flex:1;width:100%;display:flex;align-items:flex-end;background:var(--soft);border-radius:6px 6px 3px 3px;overflow:hidden}.rp-col-bar span{display:block;width:100%;background:color-mix(in srgb,var(--pri) 55%,transparent);border-radius:6px 6px 0 0;min-height:0;transition:height .3s}.rp-col.best .rp-col-bar span{background:var(--pri)}.rp-col small{font-size:.68rem;color:var(--muted);height:14px;line-height:14px}.rp-col.best small{color:var(--pri);font-weight:800}.rp-stack{display:flex;height:14px;border-radius:999px;overflow:hidden;margin-bottom:12px;background:var(--soft)}.rp-stack span{display:block;height:100%}.rp-share{display:flex;flex-direction:column;gap:10px}.rp-share-top{display:flex;justify-content:space-between;gap:8px;align-items:baseline;margin-bottom:4px}.rp-share-top b{white-space:nowrap}.rp-ico{margin-right:6px}.rp-track{height:8px;background:var(--soft);border-radius:999px;overflow:hidden}.rp-track.thin{height:6px;margin:4px 0 2px}.rp-track span{display:block;height:100%;border-radius:999px;background:var(--pri)}.rp-items{display:flex;flex-direction:column;gap:10px}.rp-item{display:flex;gap:10px;align-items:center}.rp-rank{width:32px;height:32px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:var(--soft);font-weight:700;color:var(--muted);font-size:.9rem}.rp-rank.r1,.rp-rank.r2,.rp-rank.r3{font-size:1.3rem;background:none}.rp-item-m{flex:1;min-width:0}.rp-item-top{display:flex;justify-content:space-between;gap:8px}.rp-item-n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.rp-more{align-self:center;margin-top:4px}.rp-chips{display:flex;flex-wrap:wrap;gap:6px}.rp-chip{background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:.85rem}.rp-export{display:flex;flex-wrap:wrap;gap:8px}.rp-export .btn{flex:1;min-width:150px}.rp .grid2{margin-bottom:14px}@media(max-width:640px){.rp-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rp-hero-v{font-size:2.1rem}.rp-cols{height:130px;gap:2px}}.rp-cols.hours{gap:2px}.rp-cols.hours .rp-col-bar{border-radius:4px 4px 2px 2px}.rp-cols.hours .rp-col small{overflow:visible;white-space:nowrap}.rp-col.now .rp-col-bar{outline:2px dashed var(--warn);outline-offset:-2px}.rp-col.now small{color:var(--warn);font-weight:800}.rp-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px;font-size:.78rem;margin-top:8px}.rp-legend span{display:inline-flex;align-items:center;gap:4px}.rp-legend .dot{width:10px;height:10px;border-radius:3px;display:inline-block}.rp-legend .dot.best{background:var(--pri)}.rp-legend .dot.now{border:2px dashed var(--warn)}html:is([data-bg=galaxy],[data-bg=snow],[data-bg=fireflies]) body:after{content:"";position:fixed;inset:-120px;z-index:-1;pointer-events:none}html[data-bg=blobs] body:before,html[data-bg=galaxy] body:after{inset:-20%;opacity:1;background:radial-gradient(38% 42% at 22% 28%,var(--b1),transparent 70%),radial-gradient(42% 46% at 80% 22%,var(--b2),transparent 70%),radial-gradient(46% 44% at 55% 85%,var(--b3),transparent 70%);animation:bg-drift 26s ease-in-out infinite alternate}html[data-bg=galaxy] body:before{opacity:.9;background-image:radial-gradient(2.5px 2.5px at 20px 30px,#fff 50%,transparent 51%),radial-gradient(2px 2px at 90px 70px,#fde68a 50%,transparent 51%),radial-gradient(3px 3px at 150px 140px,#c4b5fd 50%,transparent 51%),radial-gradient(2px 2px at 60px 160px,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 170px 40px,#fff 50%,transparent 51%);background-size:200px 200px;animation:toon-twinkle 3s ease-in-out infinite alternate}html[data-bg=snow] body:before,html[data-bg=snow] body:after{background-image:radial-gradient(3px 3px at 30px 20px,#fff 50%,transparent 52%),radial-gradient(4px 4px at 120px 90px,#fff 50%,transparent 52%),radial-gradient(2.5px 2.5px at 180px 40px,#fff 50%,transparent 52%),radial-gradient(3.5px 3.5px at 80px 150px,#fff 50%,transparent 52%);background-size:220px 220px;opacity:.95;animation:bg-fall 14s linear infinite}html[data-bg=snow] body:after{background-size:150px 150px;opacity:.6;animation-duration:9s}html[data-bg=rain] body:before{background-image:linear-gradient(transparent 0 70%,#64748b55 70% 100%),linear-gradient(transparent 0 78%,#60a5fa66 78% 100%);background-size:1.5px 60px,1.5px 90px;background-repeat:repeat;-webkit-mask-image:repeating-linear-gradient(90deg,#000 0 1.5px,transparent 1.5px 46px);mask-image:repeating-linear-gradient(90deg,#000 0 1.5px,transparent 1.5px 46px);opacity:.7;animation:bg-rain 1.1s linear infinite}html[data-bg=grid] body:before{background-image:linear-gradient(color-mix(in srgb,var(--pri) 28%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--pri) 28%,transparent) 1px,transparent 1px);background-size:44px 44px;opacity:.55;animation:bg-grid 4s linear infinite}html[data-bg=fireflies] body:before,html[data-bg=fireflies] body:after{background-image:radial-gradient(5px 5px at 40px 60px,#fde047 30%,#fde04755 55%,transparent 70%),radial-gradient(4px 4px at 190px 130px,#bef264 30%,#bef26455 55%,transparent 70%),radial-gradient(6px 6px at 120px 230px,#fde047 30%,#fde04744 55%,transparent 70%);background-size:260px 280px;animation:toon-twinkle 2.6s ease-in-out infinite alternate,bg-drift 30s ease-in-out infinite alternate}html[data-bg=fireflies] body:after{background-size:340px 300px;animation-duration:4.1s,38s;animation-direction:alternate-reverse}html[data-bg=clouds] body:before{background-image:radial-gradient(60px 26px at 90px 60px,#fff 60%,transparent 62%),radial-gradient(40px 22px at 130px 48px,#fff 60%,transparent 62%),radial-gradient(70px 28px at 330px 190px,#fffc 60%,transparent 62%),radial-gradient(44px 22px at 290px 176px,#fffc 60%,transparent 62%);background-size:460px 300px;opacity:.9;animation:bg-clouds 70s linear infinite}html[data-bg=shimmer] body:before{inset:-50% -100%;opacity:1;background:linear-gradient(115deg,transparent 42%,#fde68a14 47%,#fde68a2e 50%,#fde68a14 53%,transparent 58%);animation:bg-shimmer 7s ease-in-out infinite}@keyframes bg-drift{0%{transform:translate(-4%,-3%) rotate(-6deg) scale(1)}to{transform:translate(4%,3%) rotate(8deg) scale(1.15)}}@keyframes bg-fall{to{transform:translateY(220px)}}@keyframes bg-rain{to{transform:translateY(180px)}}@keyframes bg-grid{to{transform:translateY(44px)}}@keyframes bg-clouds{to{transform:translate(460px)}}@keyframes bg-shimmer{0%{transform:translate(-35%)}to{transform:translate(35%)}}html[data-bg=snow] body:after{animation-name:bg-fall-s}@keyframes bg-fall-s{to{transform:translateY(150px)}}html[data-topanim="1"] .top{background-size:300% 100%;animation:top-flow 14s ease-in-out infinite alternate}@keyframes top-flow{0%{background-position:0% 50%}to{background-position:100% 50%}}html[data-motion=on] .overlay{animation:fade-in .16s ease-out}html[data-motion=on] .modal{animation:modal-in .2s cubic-bezier(.2,.9,.3,1.2)}html[data-motion=on] .page{animation:fade-in .2s ease-out}@keyframes fade-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(14px) scale(.97)}}html[data-style=soft] :is(.btn,.card,.item,.tcard,.modal,.chip-b,input,select,textarea){border-radius:20px}html[data-style=soft] :is(.card,.item,.tcard,.modal){border-color:transparent;box-shadow:0 10px 30px color-mix(in srgb,var(--text) 10%,transparent),0 2px 6px color-mix(in srgb,var(--text) 6%,transparent)}html[data-style=soft] .btn{border-color:transparent;box-shadow:0 4px 12px color-mix(in srgb,var(--text) 10%,transparent);transition:transform .12s,box-shadow .12s}html[data-style=soft] .btn.ghost{box-shadow:none}html[data-style=soft] .btn:active{transform:scale(.96);box-shadow:0 1px 3px color-mix(in srgb,var(--text) 14%,transparent)}html[data-style=soft] .item{border-top-color:var(--pri)}html[data-style=soft] .top{border-radius:0 0 20px 20px}html[data-style=glass] :is(.card,.modal,.nav,.item,.tcard,.btn:not(.primary):not(.danger):not(.warn):not(.ghost)){background:color-mix(in srgb,var(--card) 66%,transparent);border-color:color-mix(in srgb,var(--text) 14%,transparent);border-radius:18px}html[data-style=glass] :is(.card,.modal,.nav){-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);box-shadow:0 8px 28px #0000001f,inset 0 1px #fff3}html[data-style=glass] .modal{background:color-mix(in srgb,var(--card) 86%,transparent)}html[data-style=glass] .item{border-top-color:var(--pri)}html[data-style=glass] .btn{border-radius:14px}html[data-style=sharp] :is(.btn,.card,.item,.tcard,.modal,.chip-b,.chip,input,select,textarea,.thumb){border-radius:3px;box-shadow:none}html[data-style=sharp] .btn{font-weight:600;letter-spacing:.01em}html[data-style=sharp] :is(.card,.item,.tcard){border-color:color-mix(in srgb,var(--text) 22%,transparent)}html[data-style=sharp] .item{border-top-color:var(--pri)}html[data-style=neon] :is(.card,.item,.tcard,.modal){border-color:color-mix(in srgb,var(--pri) 60%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--pri) 22%,transparent),0 0 18px color-mix(in srgb,var(--pri) 26%,transparent)}html[data-style=neon] .btn{border-color:color-mix(in srgb,var(--pri) 50%,transparent);border-radius:12px}html[data-style=neon] .btn.primary{box-shadow:0 0 18px color-mix(in srgb,var(--pri) 70%,transparent)}html[data-style=neon] .top{box-shadow:0 2px 26px color-mix(in srgb,var(--pri) 70%,transparent)}html[data-style=neon][data-motion=on] .btn.primary{animation:neon-pulse 2.4s ease-in-out infinite alternate}@keyframes neon-pulse{0%{box-shadow:0 0 10px color-mix(in srgb,var(--pri) 45%,transparent)}to{box-shadow:0 0 24px color-mix(in srgb,var(--pri) 85%,transparent)}}.style-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}.style-b{display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;padding:8px;border:2px solid var(--line);border-radius:12px;background:var(--card);color:var(--text);cursor:pointer;font:inherit}.style-b.on{border-color:var(--pri);box-shadow:0 0 0 2px var(--pri-l)}.style-b b{font-size:.86rem}.style-b small{font-size:.72rem;color:var(--muted);line-height:1.25}.style-b .sp{display:flex;gap:5px;width:100%;padding:8px 6px;background:var(--bg);border-radius:8px}.style-b .sp i{flex:1;height:18px;background:var(--card);border:1px solid var(--line);border-radius:6px}.style-b .sp i+i{background:var(--pri);border-color:var(--pri)}.style-b[data-ui=soft] .sp i{border-radius:9px;border-color:transparent;box-shadow:0 3px 8px #0002}.style-b[data-ui=glass] .sp{background:linear-gradient(120deg,var(--pri-l),var(--bg))}.style-b[data-ui=glass] .sp i:first-child{background:#fff6;border-color:#fff9}.style-b[data-ui=sharp] .sp i{border-radius:1px}.style-b[data-ui=neon] .sp i{border-color:var(--pri);box-shadow:0 0 8px var(--pri)}.style-b[data-ui=cartoon] .sp i{border:2px solid var(--text);box-shadow:2px 2px 0 var(--text);border-radius:7px}.style-b[data-ui=auto] .sp i:first-child{background:linear-gradient(90deg,var(--card),var(--pri-l))}html[data-motion=off] body:before,html[data-motion=off] body:after,html[data-motion=off] .top{animation:none!important}@media(prefers-reduced-motion:reduce){html body:before,html body:after,html .top,html .modal,html .overlay,html .page,html .btn.primary{animation:none!important}}@media print{html body:before,html body:after{display:none!important}html[data-style] *{box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;animation:none!important}}.tap-ring{position:fixed;z-index:80;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;pointer-events:none;border:2px solid var(--pri);background:color-mix(in srgb,var(--pri) 18%,transparent);animation:tap-ring .5s ease-out forwards}@keyframes tap-ring{to{transform:scale(5.5);opacity:0}}.confetti{position:fixed;inset:0;width:100%;height:100%;z-index:70;pointer-events:none}html[data-fade="1"] :is(body,.top,.nav,.card,.item,.tcard,.btn,.modal,input,select){transition:background-color .4s ease,color .4s ease,border-color .4s ease,box-shadow .4s ease}html[data-motion=on]{.btn{transition:transform .12s cubic-bezier(.3,1.6,.5,1),background-color .15s,box-shadow .15s,border-color .15s}.btn:active:not(:disabled){transform:scale(.94)}:is(.item,.tcard,.theme-b,.style-b,.chip-b,.nav-b){transition:transform .14s cubic-bezier(.3,1.6,.5,1),box-shadow .15s,border-color .15s,background-color .15s}:is(.item,.tcard,.theme-b,.style-b,.chip-b):active{transform:scale(.95)}@media(hover:hover){:is(.item,.tcard):hover{transform:translateY(-3px);box-shadow:0 8px 20px color-mix(in srgb,var(--text) 14%,transparent)}}:is(.item,.tcard){animation:pop-in .26s cubic-bezier(.2,.9,.3,1.15) backwards}:is(.item,.tcard):nth-child(2){animation-delay:18ms}:is(.item,.tcard):nth-child(3){animation-delay:36ms}:is(.item,.tcard):nth-child(4){animation-delay:54ms}:is(.item,.tcard):nth-child(5){animation-delay:72ms}:is(.item,.tcard):nth-child(6){animation-delay:90ms}:is(.item,.tcard):nth-child(7){animation-delay:108ms}:is(.item,.tcard):nth-child(8){animation-delay:126ms}:is(.item,.tcard):nth-child(9){animation-delay:144ms}:is(.item,.tcard):nth-child(n+10){animation-delay:.16s}:is(.line,.cart-tbl tbody tr){animation:line-in .32s ease-out}.bump{display:inline-block;animation:bump .3s cubic-bezier(.3,1.8,.5,1)}.empty-cart .big-icon{animation:floaty 3.2s ease-in-out infinite}.nav-b.on .nav-i{display:inline-block;animation:nav-pop .4s cubic-bezier(.3,1.8,.5,1)}.toast{animation:toast-in .28s cubic-bezier(.2,.9,.3,1.2)}.toast.err{animation:toast-in .28s cubic-bezier(.2,.9,.3,1.2),shake .36s .1s}.paid-ok{animation:paid-pop .55s cubic-bezier(.2,1.6,.4,1);position:relative}.paid-ok:after{content:"";position:absolute;inset:0;border-radius:50%;border:3px solid var(--ok);animation:paid-ring .9s .15s ease-out both}.paid-total{animation:pop-in .4s .2s cubic-bezier(.2,.9,.3,1.2) backwards}.paid-change{animation:pop-in .45s .38s cubic-bezier(.2,1.4,.4,1) backwards}.chip.warn{animation:soft-pulse 2.4s ease-in-out infinite}.buddy-b{animation:floaty 3.6s ease-in-out infinite}.nav-b .badge,.badge{animation:pop-in .35s cubic-bezier(.2,1.8,.4,1)}.update-bar{animation:toast-in .35s cubic-bezier(.2,.9,.3,1.2),soft-pulse 2.2s .5s ease-in-out infinite}.theme-b.on,.style-b.on{animation:bump .32s cubic-bezier(.3,1.8,.5,1)}.page>.card{animation:rise-in .3s ease-out backwards}.page>.card:nth-child(2){animation-delay:40ms}.page>.card:nth-child(3){animation-delay:80ms}.page>.card:nth-child(n+4){animation-delay:.12s}:is(input,select,textarea){transition:border-color .15s,box-shadow .15s}:is(input,select,textarea):focus{box-shadow:0 0 0 4px color-mix(in srgb,var(--pri) 18%,transparent)}& input[type=checkbox]:checked{animation:bump .25s cubic-bezier(.3,1.8,.5,1)}}@keyframes pop-in{0%{opacity:0;transform:scale(.88)}}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}}@keyframes line-in{0%{opacity:0;transform:translate(18px);background:var(--pri-l)}60%{background:var(--pri-l)}}@keyframes bump{40%{transform:scale(1.18)}}@keyframes floaty{50%{transform:translateY(-6px)}}@keyframes nav-pop{40%{transform:scale(1.35) rotate(-8deg)}}@keyframes toast-in{0%{opacity:0;transform:translateY(16px) scale(.92)}}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}@keyframes paid-pop{0%{transform:scale(0) rotate(-90deg)}}@keyframes paid-ring{0%{transform:scale(1);opacity:.9}to{transform:scale(2.4);opacity:0}}@keyframes soft-pulse{50%{filter:brightness(1.12);transform:scale(1.04)}}.toast.err{background:#b91c1c}@media(prefers-reduced-motion:reduce){html *,html *:before,html *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.tap-ring,.confetti{display:none}}@media print{.tap-ring,.confetti{display:none!important}}.float-sec{margin-bottom:18px}.float-h{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.float-h .zone-h{margin:0}.tcard.float{border-style:dashed;border-width:2px}.tcard.home{background:#fff7ed;border-color:#fb923c}html[data-dark="1"] .tcard.home{background:color-mix(in srgb,#fb923c 18%,var(--card))}.tname.sm{font-size:1.05rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(min-width:1700px)and (min-height:900px){html{zoom:1.15}}@media(min-width:2200px)and (min-height:1200px){html{zoom:1.4}}@media(min-width:3200px)and (min-height:1800px){html{zoom:1.9}}@media(max-height:520px){.app{grid-template-columns:46px minmax(0,1fr);grid-template-rows:34px 1fr}.top{padding:0 8px;gap:6px}.logo{padding:0 6px;font-size:.8rem}.shop{font-size:.85rem;max-width:110px}.chip{padding:2px 8px;font-size:.7rem}.clock{display:none}.nav{grid-row:2;grid-column:1;flex-direction:column;border-top:0;border-right:1px solid var(--line);overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav-b{min-width:0;padding:7px 2px}.nav-l{display:none}.nav-i{font-size:1.15rem}.badge{top:0;right:2px}.main{grid-row:2;grid-column:2}.page{padding:8px}.btn{padding:6px 10px}.btn.big{padding:8px 12px;font-size:.95rem}.toolbar{gap:6px;margin-bottom:8px}.retail-pay{padding:4px 8px;gap:6px}.retail-cart{padding:6px 8px}.empty-cart .big-icon{display:none}.empty-cart p{margin:4px 0}.order-h{padding:4px 8px;gap:6px}.overlay{padding:4px}.modal{max-height:98vh}.modal-h{padding:6px 12px}.modal-b{padding:8px 12px}.modal-f{padding:6px 12px}.numpad{gap:4px;margin:4px 0 6px}.numpad .btn{padding:5px 0;font-size:1.05rem}.tcard{padding:8px;min-height:0}.lock{padding:8px;align-items:flex-start;overflow:auto}.lock-card{padding:12px 16px}.toasts{bottom:6px}.buddy{transform:scale(.7);transform-origin:bottom right}}@media(max-height:340px),(max-width:340px){html{font-size:13px}.top-r .chip:not(.warn):not(.off){display:none}}.rp-branches{margin-top:-4px}.rp-branches .tab{white-space:nowrap}.fly-dot{position:fixed;z-index:75;width:26px;height:26px;border-radius:50%;pointer-events:none;background:radial-gradient(circle at 35% 30%,#fff,var(--logo) 45%,var(--pri));box-shadow:0 0 14px var(--pri),0 4px 10px #0004}.pm{display:inline-flex;align-items:center;justify-content:center;gap:6px}html[data-motion=on]{.fly-hit b,button.fly-hit{display:inline-block;animation:fly-hit .38s cubic-bezier(.3,1.8,.5,1)}.rp-track span{transform-origin:left center;animation:grow-x .7s cubic-bezier(.2,.8,.2,1) backwards}.rp-share-r:nth-child(2) .rp-track span,.rp-item:nth-child(2) .rp-track span{animation-delay:.08s}.rp-share-r:nth-child(3) .rp-track span,.rp-item:nth-child(3) .rp-track span{animation-delay:.16s}.rp-share-r:nth-child(n+4) .rp-track span,.rp-item:nth-child(n+4) .rp-track span{animation-delay:.24s}.rp-col-bar span{transform-origin:center bottom;animation:grow-y .6s cubic-bezier(.2,.9,.3,1.15) backwards}.rp-col:nth-child(3n+2) .rp-col-bar span{animation-delay:.06s}.rp-col:nth-child(3n) .rp-col-bar span{animation-delay:.12s}.rp-hero{position:relative;overflow:hidden;animation:rise-in .35s ease-out backwards}.rp-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,#ffffff40 50%,transparent 65%);transform:translate(-120%);animation:sweep 3.6s ease-in-out .5s infinite;pointer-events:none}.rp-kpi{animation:pop-in .35s cubic-bezier(.2,.9,.3,1.2) backwards}.rp-kpi:nth-child(2){animation-delay:.06s}.rp-kpi:nth-child(3){animation-delay:.12s}.rp-kpi:nth-child(4){animation-delay:.18s}.rp-kpi-i,.rp-sec-i{display:inline-grid;animation:icon-pop .5s cubic-bezier(.3,1.8,.5,1) .15s backwards}.rp-rank.r1{animation:medal 1.6s ease-in-out .4s 2;display:inline-block}.rp-delta{animation:pop-in .4s cubic-bezier(.2,1.8,.4,1) .3s backwards}.rp>.rp-sec{animation:rise-in .4s ease-out backwards}.rp>.rp-sec:nth-of-type(2){animation-delay:.05s}.rp>.rp-sec:nth-of-type(3){animation-delay:.1s}.rp>.rp-sec:nth-of-type(n+4){animation-delay:.15s}.pay-due{position:relative;overflow:hidden;animation:pop-in .3s cubic-bezier(.2,.9,.3,1.2) backwards}.pay-due:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,#ffffff66 50%,transparent 65%);transform:translate(-120%);animation:sweep 3s ease-in-out .3s infinite;pointer-events:none}.pm{transition:transform .15s cubic-bezier(.3,1.6,.5,1),background-color .15s,border-color .15s,box-shadow .2s;animation:pop-in .3s cubic-bezier(.2,.9,.3,1.2) backwards}.pm:nth-child(2){animation-delay:.05s}.pm:nth-child(3){animation-delay:.1s}.pm:active{transform:scale(.93)}.pm.on{box-shadow:0 0 0 4px color-mix(in srgb,var(--pri) 20%,transparent)}.pm.on .pm-i{display:inline-block;animation:icon-pop .45s cubic-bezier(.3,1.8,.5,1)}.numpad .btn{transition:transform .08s,background-color .12s}.numpad .btn:active{transform:scale(.88);background:var(--pri-l)}.modal .btn.primary.big.full:not(:disabled){position:relative;overflow:hidden;animation:ready-pulse 1.6s ease-in-out infinite}.modal .btn.primary.big.full:not(:disabled):after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,#ffffff55 50%,transparent 65%);transform:translate(-120%);animation:sweep 2.2s ease-in-out infinite;pointer-events:none}.paid-change b{display:inline-block;animation:paid-pop .6s cubic-bezier(.2,1.6,.4,1) .3s backwards}.chips.parked .chip-b{animation:slide-in-r .3s ease-out backwards}.retail-pay .btn.primary:not(:disabled){animation:ready-pulse 1.8s ease-in-out infinite}}@keyframes fly-hit{40%{transform:scale(1.25)}}@keyframes grow-x{0%{transform:scaleX(0)}}@keyframes grow-y{0%{transform:scaleY(0)}}@keyframes sweep{0%{transform:translate(-120%)}45%,to{transform:translate(120%)}}@keyframes icon-pop{0%{transform:scale(0) rotate(-30deg)}}@keyframes medal{0%,to{transform:rotate(0)}25%{transform:rotate(-14deg) scale(1.15)}75%{transform:rotate(14deg) scale(1.15)}}@keyframes ready-pulse{50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--pri) 22%,transparent)}}@keyframes slide-in-r{0%{opacity:0;transform:translate(20px)}}@media print{.fly-dot{display:none!important}}.pay-methods{grid-template-columns:repeat(auto-fit,minmax(92px,1fr))}.pay-methods .pm{flex-direction:column;gap:2px;padding:10px 4px}.pm-i{font-size:1.4rem;line-height:1}.move-ov{z-index:90}.move-card{max-width:420px;text-align:center;padding:22px 20px}.move-card h2{margin:4px 0 6px}.move-logo{font-size:3.2rem}html[data-motion=on] .move-logo{display:inline-block;animation:floaty 2.4s ease-in-out infinite}.move-list{text-align:left;padding-left:4px;list-style:none;margin:12px 0}.move-list li{margin:6px 0}.move-step{font-weight:700;color:var(--pri-d)}
