:root{color:#262626;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--brand-500:#ff4b35;--brand-600:#ef2f22;--brand-soft:#fff2ee;--brand-gradient:linear-gradient(135deg, #ff8058 0%, #ff3928 56%, #ed291f 100%);--success:#159455;--danger:#d9382d;--ink:#262626;--muted:#767b82;--muted-light:#a4a8ad;--line:#eceef1;--surface:#fff;--canvas:#f6f7f9;--radius-sm:12px;--radius-md:16px;--radius-lg:22px;--shadow-soft:0 10px 28px #242b3312;background:#eceff2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%}html{background:#eceff2}body{background:linear-gradient(90deg,#ffffffb8,#fff0),#eceff2;min-width:320px;min-height:100svh;margin:0;overflow:hidden}button,textarea{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed}button:focus-visible,textarea:focus-visible,[role=button]:focus-visible{outline-offset:2px;outline:3px solid #2f72ff8c}#root{min-height:100svh}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.phone-shell{width:min(100vw,430px);height:100dvh;min-height:0;color:var(--ink);background:var(--canvas);flex-direction:column;margin:0 auto;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 60px #1c120c29}.image-crop{background-color:#eceff2;background-repeat:no-repeat;background-size:cover}.image-crop-empty{color:#9a9da2;background:#eef0f2;flex-direction:column;justify-content:center;align-items:center;gap:7px;font-size:12px;display:flex}.image-crop-empty svg{color:#b0b3b8}.square-btn,.header-spacer{flex:0 0 46px;width:46px;height:46px}.square-btn{color:#35383c;background:#fffffff5;border-radius:14px;place-items:center;display:grid;box-shadow:0 8px 18px #8f24181f}.app-header{z-index:40;padding:calc(12px + env(safe-area-inset-top)) 16px 14px;color:#fff;background:var(--brand-gradient);border-radius:0 0 24px 24px;flex:none;position:relative;box-shadow:0 12px 28px #ef2f222e}.header-title-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;min-width:0;display:grid}.header-title-row.has-back{grid-template-columns:46px minmax(0,1fr) auto}.header-metrics{color:#fff;text-align:left;background:0 0;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;min-width:0;min-height:42px;padding:0;display:flex}.header-food-court-name{color:#fffc;overflow-wrap:break-word;word-break:normal;white-space:normal;width:100%;min-width:0;font-size:12px;font-weight:600;line-height:1.25;display:block}.header-stall-line{align-items:center;gap:7px;width:100%;min-width:0;display:flex}.header-stall-line strong{color:#fff;letter-spacing:-.02em;overflow-wrap:break-word;word-break:normal;white-space:normal;min-width:0;font-size:22px;line-height:1.12}.header-service-row{justify-content:space-between;align-items:center;gap:10px;min-width:0;min-height:38px;margin-top:10px;display:flex}.header-order-status{flex-wrap:wrap;align-items:center;gap:7px;min-width:0;display:flex}.header-queue-line{color:#ffffffeb;font-size:12px;line-height:1.3}.table-chip{color:var(--brand-600);white-space:nowrap;background:#ffffffed;border-radius:99px;flex:none;padding:6px 10px;font-size:12px;font-style:normal;font-weight:800}.header-quick-actions{flex:none;gap:6px;display:flex}.header-quick-actions button{color:#fff;background:#ffffff1f;border:1px solid #fff3;border-radius:99px;justify-content:center;align-items:center;gap:5px;width:auto;min-width:62px;min-height:36px;padding:0 9px;font-size:11px;display:flex}.header-quick-actions button:active{background:#ffffff26}.language-toggle{font-weight:800}.language-toggle span{white-space:nowrap}.header-language-toggle{color:#fff;background:#ffffff26;border:1px solid #ffffff47;border-radius:99px;justify-content:center;align-items:center;gap:5px;min-width:68px;min-height:38px;padding:0 10px;font-size:11px;display:flex}.header-controls{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.menu-header-title{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"food-court controls""stall stall";align-items:center;gap:4px 8px}.menu-header-title.has-back{grid-template-columns:46px minmax(0,1fr) auto;grid-template-areas:"back food-court controls""back stall stall"}.menu-header-title>.square-btn{grid-area:back;align-self:center}.menu-header-title>.header-food-court-name{color:#ffffffeb;text-overflow:ellipsis;white-space:nowrap;grid-area:food-court;align-self:center;font-size:15px;font-weight:700;line-height:1.2;overflow:hidden}.menu-header-title>.header-controls{grid-area:controls;gap:6px}.menu-header-title>.menu-stall-metrics{grid-area:stall;gap:0;min-height:28px}.menu-header-title .header-language-toggle{gap:3px;min-width:56px;min-height:34px;padding-inline:7px;font-size:10px}.menu-header-title .header-language-toggle svg,.menu-header-title .header-layout-switch svg{width:16px;height:16px}.menu-header-title .layout-switch.header-layout-switch{grid-template-columns:repeat(2,28px);gap:2px;padding:2px}.menu-header-title .layout-switch.header-layout-switch button{width:28px;height:28px}.layout-switch.header-layout-switch{box-shadow:none;border-radius:99px;grid-template-columns:repeat(2,32px);gap:2px;padding:3px}.layout-switch.header-layout-switch button{border-radius:99px;width:32px;height:32px}.compact-language-toggle{color:#fff;background:#ffffff24;border-radius:14px;flex-direction:column;justify-content:center;justify-self:end;align-items:center;gap:2px;width:46px;height:46px;font-size:10px;display:flex}.stall-language-toggle{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #ffffff57;border-radius:13px;justify-content:center;align-items:center;gap:6px;min-height:40px;margin:0 0 12px auto;padding:0 13px;display:flex}.mobile-nav{min-width:0;height:64px;box-shadow:var(--shadow-soft);background:#fff;border-radius:18px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.mobile-nav button{color:#33363a;background:0 0;justify-content:center;align-items:center;gap:8px;min-width:0;min-height:54px;font-size:15px;font-weight:700;display:flex;position:relative}.mobile-nav button+button:before{content:"";background:#f0f1f3;width:1px;position:absolute;top:16px;bottom:16px;left:0}.mobile-nav button.active{color:var(--brand-600);background:linear-gradient(#fff 0%,#fff8f5 100%)}.mobile-nav button.active:after{content:"";background:var(--brand-500);border-radius:99px;width:28px;height:3px;position:absolute;bottom:7px;left:50%;transform:translate(-50%)}.mobile-nav b{color:#fff;background:var(--brand-500);border:2px solid #fff;border-radius:99px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:10px;line-height:1;display:grid;position:absolute;top:7px;right:max(13px,50% - 42px)}.header-nav{margin-top:11px}.orders-list-header .header-nav,.cart-list-header .header-nav{margin-top:0}.compact-header{min-height:calc(74px + env(safe-area-inset-top));border-radius:0;grid-template-columns:46px 1fr 46px;align-items:center;display:grid}.compact-header h1{color:#fff;text-align:center;margin:0;font-size:21px}.stall-screen{min-height:0;padding:calc(24px + env(safe-area-inset-top)) 16px calc(28px + env(safe-area-inset-bottom));scrollbar-width:none;background:linear-gradient(160deg,#f33b2d 0%,#ff7658 45%,#ffd9ca 100%);flex:auto;overflow-y:auto}.stall-screen::-webkit-scrollbar{display:none}.canteen-hero{color:#fff;justify-content:space-between;align-items:flex-start;gap:18px;min-height:150px;display:flex}.canteen-copy{min-width:0}.canteen-hero h1{color:#fff;letter-spacing:-.04em;margin:0;font-size:clamp(31px,10vw,46px);line-height:1.05}.canteen-hero strong{color:#ffffffed;margin-top:5px;font-size:17px;display:block}.canteen-hero p{color:#ffffffeb;align-items:flex-start;gap:8px;max-width:290px;margin:20px 0 0;font-size:13px;line-height:1.55;display:flex}.canteen-hero p svg{flex:none;margin-top:1px}.canteen-mark{color:#b94a18;background:#ffd36d;border-radius:22px 10px;flex:0 0 66px;place-items:center;width:66px;height:56px;display:grid;transform:rotate(7deg);box-shadow:0 12px 28px #992e152e}.stall-section-title{color:#fff;justify-content:space-between;align-items:flex-end;gap:12px;margin:10px 0 12px;display:flex}.stall-section-title strong,.stall-section-title span{display:block}.stall-section-title strong{font-size:19px}.stall-section-title span,.stall-section-title small{color:#ffffffd1;font-size:12px}.stall-grid{grid-template-columns:1fr;gap:16px;display:grid}.stall-card{color:var(--ink);text-align:left;background:#fff;border-radius:22px;padding:0;position:relative;overflow:hidden;box-shadow:0 18px 36px #70251826}.stall-card .image-crop{width:100%;height:clamp(180px,30dvh,250px)}.stall-copy{padding:16px}.stall-copy h2{color:var(--ink);margin:0;font-size:21px;line-height:1.2}.stall-copy p{color:var(--muted);margin:5px 0 14px;font-size:14px}.stall-status-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.stall-status-row span{color:#6e7075;background:#fff3f0;border-radius:12px;align-items:center;gap:6px;min-width:0;min-height:42px;padding:8px 10px;font-size:12px;display:flex}.stall-status-row span:last-child{color:#277d52;background:#eff9f3}.stall-status-row svg,.stall-status-row b{color:var(--brand-600);flex:none}.stall-status-row span:last-child svg,.stall-status-row span:last-child b{color:var(--success)}.stall-card.is-closed{cursor:not-allowed}.closed-mask,.sold-mask,.row-sold{color:#fff;background:#1414149e;place-items:center;font-weight:800;display:grid}.closed-mask{text-align:center;height:clamp(180px,30dvh,250px);font-size:19px;position:absolute;inset:0 0 auto}.menu-screen,.cart-page,.orders-page,.detail-screen,.ticket-screen{flex:auto;min-height:0;position:relative;overflow:hidden}.menu-screen,.cart-page,.orders-page{background:var(--canvas);display:flex}.menu-scroll,.page-scroll,.detail-scroll,.ticket-scroll{scrollbar-width:none;-webkit-overflow-scrolling:touch;width:100%;min-height:0;overflow-y:auto}.menu-scroll::-webkit-scrollbar{display:none}.page-scroll::-webkit-scrollbar{display:none}.detail-scroll::-webkit-scrollbar{display:none}.ticket-scroll::-webkit-scrollbar{display:none}.menu-scroll{padding:16px 16px calc(90px + env(safe-area-inset-bottom))}.menu-search{color:#8a8d92;background:#fff;border:1px solid #e7e9ec;border-radius:15px;align-items:center;gap:9px;min-height:48px;padding:0 12px;display:flex;box-shadow:0 7px 18px #242b330d}.menu-search:focus-within{color:var(--brand-600);border-color:#ff9e8b;box-shadow:0 0 0 3px #ff4d371a}.menu-search input{min-width:0;height:46px;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;flex:auto;padding:0}.menu-search input::-webkit-search-cancel-button{display:none}.menu-search button{color:#85888d;background:#f1f2f4;border-radius:50%;flex:0 0 32px;place-items:center;width:32px;height:32px;display:grid}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.search-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:160px;display:flex}.search-empty strong{color:var(--ink);font-size:14px}.search-empty span{color:var(--muted);font-size:12px}.product-grid>.grid-empty{grid-column:1/-1}.category-rail{scrollbar-width:none;z-index:8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f6f7f9f2;gap:10px;margin:12px -16px 0;padding:10px 16px 12px;display:flex;position:sticky;top:0;overflow-x:auto}.category-rail::-webkit-scrollbar{display:none}.category-rail button{color:#7d8085;background:#fff;border:1px solid #eff0f2;border-radius:99px;flex:none;min-width:72px;min-height:46px;padding:0 16px;font-size:16px;font-weight:800;position:relative;box-shadow:0 6px 16px #242b330a}.category-rail button.active{color:var(--brand-600);background:#fff7f4;border-color:#ffb8a9}.category-rail button.active:after{content:"";background:var(--brand-500);border-radius:99px;width:24px;height:3px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.layout-switch{background:#fff;border:1px solid #eceef1;border-radius:13px;flex:none;grid-template-columns:repeat(2,42px);gap:4px;padding:4px;display:grid;box-shadow:0 6px 16px #242b330d}.layout-switch button{color:#8a8d92;background:0 0;border-radius:10px;place-items:center;width:42px;height:38px;display:grid}.layout-switch button.active{color:#fff;background:var(--brand-gradient)}.layout-switch span{display:none}.product-list,.product-grid{padding-bottom:8px}.product-list{gap:10px;display:grid}.product-row{text-align:left;content-visibility:auto;contain-intrinsic-size:126px;background:#fff;border:1px solid #eef0f2;border-radius:15px;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:10px;min-height:126px;padding:11px;display:grid;position:relative;overflow:hidden;box-shadow:0 8px 22px #242b330f}.product-row .image-crop{border-radius:12px;width:88px;height:102px}.product-row h3,.product-card h3,.cart-line h3{color:var(--ink);margin:0;font-size:17px;line-height:1.25}.product-row h3 span,.product-card h3 span,.detail-title h1 span{color:var(--brand-600);margin-right:2px}.product-row p,.product-card p{min-height:18px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:4px 0 8px;font-size:13px;overflow:hidden}.row-copy strong,.price-row strong,.cart-line-copy strong{color:var(--brand-600);font-size:18px}del{color:var(--muted-light);margin-left:6px;font-size:12px}.row-control{justify-content:flex-end;min-width:42px;display:flex;position:absolute;bottom:9px;right:10px}.product-row .row-copy{align-self:stretch;min-width:0;padding:6px 0 38px}.row-sold{z-index:2;border-radius:99px;min-width:72px;min-height:32px;padding:0 10px;font-size:13px;position:absolute;top:48px;left:22px}.sold-out .image-crop{filter:grayscale(.35)brightness(.72)}.sold-out .row-copy{opacity:.58}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.product-card{content-visibility:auto;contain-intrinsic-size:270px;background:#fff;border:1px solid #eef0f2;border-radius:16px;min-width:0;position:relative;overflow:hidden;box-shadow:0 8px 22px #242b330f}.product-card .image-crop{aspect-ratio:1/.94;width:100%}.product-card-copy{padding:11px}.price-row{align-items:center;gap:6px;min-height:44px;display:flex}.product-card .product-card-price{flex-direction:column;min-width:0;line-height:1.15;display:flex}.product-card .product-card-price del{color:var(--muted-light);margin:0;font-size:12px}.price-row>span{margin-left:auto}.product-card .price-row>span>.qty-control{gap:4px;min-height:36px;padding:2px}.product-card .price-row>span>.qty-control button{width:30px;height:30px}.product-card .price-row>span>.qty-control span{min-width:20px;font-size:14px}.sold-mask{z-index:2;aspect-ratio:1/.94;font-size:17px;position:absolute;inset:0 0 auto}.qty-control{background:#fff;border:1px solid #ffc3b6;border-radius:99px;align-items:center;gap:5px;min-height:44px;padding:3px;display:inline-flex}.qty-control button{width:36px;height:36px;color:var(--brand-600);background:#fff;border-radius:50%;place-items:center;display:grid}.qty-control button:last-child{color:#fff;background:var(--brand-gradient)}.qty-control button:disabled{color:#c4c6ca;background:#f1f2f4}.qty-control span{min-width:24px;color:var(--ink);text-align:center;font-size:15px;font-weight:800}.qty-control.is-disabled{opacity:.58}.menu-dock{z-index:35;padding:8px 16px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(#f6f7f900 0%,#f6f7f9f5 14%,#fff 38%);position:absolute;bottom:0;left:0;right:0;box-shadow:0 -12px 30px #242b3312}.modal-backdrop,.drawer-backdrop{z-index:80;padding-top:env(safe-area-inset-top);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#12121294;place-items:center;display:grid;position:absolute;inset:0}.sheet-handle{background:#d7d9dc;border-radius:99px;width:54px;height:5px;margin:10px auto 2px;display:block}.dine-modal,.quote-modal,.payment-method-modal{width:100%;color:var(--ink);background:#fff;border-radius:24px 24px 0 0;align-self:end;box-shadow:0 -18px 50px #14141433}.dine-modal{padding:0 16px calc(18px + env(safe-area-inset-bottom));position:relative}.dine-modal .close-btn,.close-btn{color:#898d92;background:#fff;border:1px solid #dadcdf;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.dine-modal .close-btn{position:absolute;top:16px;right:13px}.dine-modal header{text-align:center;padding:25px 48px 19px}.dine-modal h2,.dine-modal p{margin:0}.dine-modal h2{font-size:22px}.dine-modal p{color:var(--muted);margin-top:5px;font-size:14px}.dine-modal>button:not(.close-btn){color:#42454a;text-align:left;background:#fff;border:1.5px solid #e5e7e9;border-radius:16px;grid-template-columns:32px 1fr 26px;align-items:center;gap:12px;width:100%;min-height:82px;margin-bottom:10px;padding:12px 16px;display:grid}.dine-modal>button.active{color:var(--brand-600);border-color:var(--brand-500);background:#fff7f4}.dine-modal>button span,.dine-modal>button strong,.dine-modal>button small{display:block}.dine-modal>button strong{color:var(--ink);font-size:18px}.dine-modal>button small{color:var(--muted);margin-top:3px;font-size:13px}.detail-screen{background:#fff;flex-direction:column;display:flex}.detail-scroll{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.detail-hero{height:clamp(210px,30dvh,254px);position:relative}.detail-hero .image-crop{width:100%;height:100%;background-position:50% 67%!important}.detail-back-button{left:16px;top:calc(14px + env(safe-area-inset-top));z-index:36;color:#fff;box-shadow:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#16161694;position:absolute}.detail-language-toggle{right:16px;top:calc(14px + env(safe-area-inset-top));color:#fff;min-height:40px;box-shadow:none;background:#16161694;border-radius:13px;justify-content:center;align-items:center;gap:5px;padding:0 12px;display:flex;position:absolute}.detail-panel{z-index:2;background:#fff;border-radius:22px 22px 0 0;margin-top:-18px;padding:20px 16px 24px;position:relative}.detail-title h1,.detail-title p{margin:0}.detail-title h1{color:var(--ink);font-size:24px;line-height:1.2}.detail-title p{color:var(--muted);margin-top:4px;font-size:14px}.dish-desc{color:#5f6368;background:#f4f5f6;border-radius:12px;margin:14px 0 0;padding:11px 12px;font-size:13px;line-height:1.55}.detail-price-row{top:calc(70px + env(safe-area-inset-top));z-index:12;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffffa;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;margin-inline:-16px;padding:17px 16px 16px;display:grid;position:sticky;box-shadow:0 9px 18px #242b330f}.detail-price-row small,.detail-price-row strong{display:block}.detail-price-row small{color:var(--muted);font-size:11px}.detail-price-row strong{color:var(--brand-600);font-size:25px}.detail-price-row>.qty-control{justify-self:center}.detail-price-row>.detail-total{color:var(--muted);white-space:nowrap;justify-self:end;font-size:13px}.detail-price-row>.detail-total b{color:var(--brand-600);font-size:17px}.detail-loading{min-height:86px;color:var(--muted);place-items:center;display:grid}.option-section{--option-heading:var(--brand-600);--option-rule-bg:var(--brand-soft);--option-label:var(--ink);--option-meta:var(--brand-600);--option-border:#e3e5e8;--option-active-border:var(--brand-500);--option-active-bg:#fff7f4;border-bottom:1px solid var(--line);padding:18px 0}.option-section.is-optional{--option-heading:#2d6eb6;--option-rule-bg:#eef6ff;--option-label:#2d6eb6;--option-meta:#2d6eb6;--option-border:#b7d8ff;--option-active-border:#2d6eb6;--option-active-bg:#eef6ff}.option-section h2{color:var(--option-heading);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:0 0 11px;font-size:22px;line-height:1.25;display:flex}.option-section h2 small{color:var(--option-heading);background:var(--option-rule-bg);border-radius:99px;padding:5px 8px;font-size:11px;font-weight:800}.option-choices{gap:9px;display:grid}.option-choice{color:#4d5055;border:1.5px solid var(--option-border);background:#fff;border-radius:14px;align-items:stretch;min-width:0;min-height:62px;display:flex;overflow:hidden}.option-choice.active{color:var(--option-heading);background:var(--option-active-bg);border-color:var(--option-active-border)}.option-choice.is-disabled{--option-label:#aeb3ba;--option-meta:#b9bec4;--option-border:#dfe2e6;--option-active-border:#dfe2e6;--option-active-bg:#f7f8fa;color:#aeb3ba;opacity:1;background:#f7f8fa;border-color:#dfe2e6}.option-choice>.option-select{min-width:0;min-height:59px;color:inherit;text-align:left;background:0 0;border:0;border-radius:13px;flex:auto;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.option-copy{flex:auto;min-width:0}.option-choice>.option-select:disabled{cursor:not-allowed}.option-choice>.option-select strong,.option-choice>.option-select small{display:block}.option-choice>.option-select strong{color:var(--option-label);font-size:15px}.option-choice>.option-select small{color:var(--option-meta);margin-top:3px;font-size:12px}.option-stepper{background:#fff;border:1px solid #ffc3b6;border-radius:99px;flex:none;align-self:center;align-items:center;gap:4px;height:46px;margin-right:8px;padding:3px;display:inline-flex}.option-stepper button{width:36px;height:36px;color:var(--brand-600);background:#fff;border-radius:50%;place-items:center;font-size:21px;display:grid}.option-stepper span{text-align:center;min-width:24px;font-weight:900}.instruction-box{padding:18px 0 10px;display:block}.instruction-box>span{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.instruction-box strong{font-size:18px}.instruction-box small{color:var(--muted-light);font-size:12px}.instruction-box textarea{resize:vertical;width:100%;min-height:92px;color:var(--ink);background:#fff;border:1.5px solid #e3e5e8;border-radius:14px;padding:13px;font-size:14px;line-height:1.5}.page-action-dock{z-index:34;padding:11px 16px calc(11px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff7;border-top:1px solid #e6e8ebe6;gap:10px;display:grid;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -12px 30px #242b3314}.page-action-dock button,.drawer-actions button,.quote-modal footer button,.payment-method-modal footer button{color:#fff;background:var(--brand-gradient);border-radius:99px;justify-content:center;align-items:center;gap:7px;min-width:0;min-height:52px;padding:0 13px;font-weight:900;display:flex}.page-action-dock button:disabled,.drawer-actions button:disabled,.quote-modal footer button:disabled,.payment-method-modal footer button:disabled{opacity:.5}.page-action-dock .outline,.drawer-actions .outline,.quote-modal footer .outline,.payment-method-modal footer .outline{color:var(--brand-600);border:1.5px solid var(--brand-500);background:#fff}.detail-actions{grid-template-columns:1fr 1fr}.detail-actions>button:only-child{grid-column:1/-1}.page-scroll{padding:16px 16px calc(96px + env(safe-area-inset-bottom))}.cart-split-notice{color:#7a4a16;background:#fff3df;border:1px solid #f3d29f;border-radius:14px;margin:0 0 12px;padding:11px 13px;font-size:12px;line-height:1.5}.cart-stall-groups{gap:14px;display:grid}.cart-stall-group{min-width:0;box-shadow:var(--shadow-soft);background:#fff;border-radius:18px;overflow:hidden}.cart-stall-header{border-bottom:1px solid var(--line);min-width:0;padding:13px 14px 12px}.cart-stall-header>div{width:100%;min-width:0}.cart-stall-header small,.cart-stall-header strong,.cart-stall-header em{display:block}.cart-stall-header small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-bottom:3px;font-size:11px;font-weight:700;overflow:hidden}.cart-stall-header strong{color:var(--ink);overflow-wrap:anywhere;font-size:16px;line-height:1.35}.cart-stall-header strong>span{color:var(--brand-600);background:var(--brand-soft);vertical-align:2px;border-radius:7px;margin-right:7px;padding:3px 6px;font-size:10px}.cart-stall-header em{color:var(--brand-600);margin-top:4px;font-size:11px;font-style:normal;font-weight:800}.cart-stall-header p{color:var(--muted);text-align:left;margin:6px 0 0;font-size:11px;font-weight:700;line-height:1.3}.cart-lines{box-shadow:var(--shadow-soft);background:#fff;border-radius:18px;margin-top:14px;overflow:hidden}.cart-page .cart-lines{box-shadow:none;border-radius:0;margin-top:0}.cart-stall-footer{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px 12px;display:grid}.cart-stall-footer>span{color:var(--muted);font-size:11px;line-height:1.35}.cart-stall-footer>button{color:#fff;background:var(--brand-gradient);border-radius:13px;justify-content:center;align-items:center;gap:5px;min-height:44px;padding:0 13px;font-size:12px;font-weight:900;display:inline-flex}.cart-stall-footer>button:disabled{color:#a5a8ac;background:#eceef0}.cart-line{border-bottom:1px solid var(--line);grid-template-columns:26px minmax(0,1fr);align-items:start;gap:10px;min-width:0;padding:14px 12px;display:grid}.cart-line:last-child{border-bottom:0}.cart-line.compact{grid-template-columns:minmax(0,1fr) auto}.select-dot{color:#fff;background:var(--brand-500);border:1px solid var(--brand-500);border-radius:50%;place-items:center;width:24px;height:24px;margin-top:2px;display:grid}.cart-line.unselected .select-dot{color:#0000;background:#fff;border-color:#b9bdc1}.cart-line.unselected .cart-line-copy,.cart-line.unselected .cart-line-image{opacity:.5}.cart-line-image{border-radius:13px;width:80px;height:80px;background-position:50% 68%!important}.cart-line-body{grid-column:2;min-width:0}.cart-line-body>.cart-line-editor{width:100%}.cart-line-editor{min-width:0;color:inherit;text-align:left;background:0 0;border-radius:13px;grid-template-columns:80px minmax(0,1fr);align-items:start;gap:10px;padding:0;display:grid}.cart-line-editor:disabled{cursor:not-allowed}.cart-line.compact .cart-line-editor{grid-column:1;grid-template-columns:58px minmax(0,1fr);align-items:center}.cart-line.compact .cart-line-image{width:58px;height:58px}.cart-line-copy{min-width:0}.cart-line-title-row{justify-content:space-between;align-items:flex-start;gap:8px;min-width:0;display:flex}.cart-line-title-row h3{overflow-wrap:anywhere;min-width:0}.cart-line-copy .cart-line-base-price{color:#30343a;white-space:nowrap;flex:none;font-size:14px;line-height:1.3}.cart-line-edit-label{color:var(--brand-600);margin-left:8px;font-size:12px;font-weight:800;display:inline-flex}.cart-line-copy p{color:var(--muted);overflow-wrap:anywhere;margin:4px 0 6px;font-size:13px;line-height:1.4}.cart-line-pricing-row{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:6px;min-width:0;margin-top:12px;padding:11px 8px 0;display:grid}.cart-line-unit-price{min-width:0;color:var(--muted);white-space:nowrap;font-size:14px;font-weight:700;line-height:1.35}.cart-line-pricing-row>.qty-control{background:#fff8f6;border-color:#ffb8aa;justify-content:space-between;justify-self:center;gap:1px;width:106px;min-height:40px;padding:3px;box-shadow:0 5px 14px #ef2f2214}.cart-line-pricing-row>.qty-control button{width:32px;height:32px}.cart-line-pricing-row>.qty-control button:first-child{background:#fff}.cart-line-pricing-row>.qty-control button:active:not(:disabled){transform:scale(.94)}.cart-line-pricing-row>.qty-control button:focus-visible{outline-offset:2px;outline:2px solid #ef2f226b}.cart-line-pricing-row>.qty-control span{min-width:20px;font-size:15px}.cart-line-total{min-width:0;color:var(--muted);text-align:right;white-space:nowrap;justify-content:flex-end;align-items:baseline;gap:3px;font-size:10px;font-weight:700;display:inline-flex}.cart-line-total strong{color:var(--brand-600);font-size:17px}.cart-line>.qty-control{grid-column:2;justify-self:end;margin-top:8px}.cart-line.compact>.qty-control{grid-column:2;align-self:center;margin:0}.cart-check-note{color:var(--muted);text-align:center;margin:14px 0 0;font-size:12px}.empty-cart,.empty-menu,.empty-stalls{color:var(--muted);text-align:center;margin:0;padding:42px 20px;line-height:1.6}.cart-actions{grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr)}.cart-actions button{white-space:normal;padding-inline:8px;font-size:clamp(11px,3.2vw,14px);line-height:1.2}.cart-submit-label{text-align:center;min-width:0}.cart-selection-summary{min-width:0;min-height:52px;color:var(--ink);text-align:center;background:#fff2ef;border:1px solid #ffd1c8;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;padding:8px 12px;display:flex}.cart-selection-summary strong,.cart-selection-summary span{overflow-wrap:anywhere}.cart-selection-summary strong{font-size:13px}.cart-selection-summary span{color:var(--brand-600);font-size:11px;font-weight:800}.drawer-backdrop{place-items:end center}.cart-drawer{width:100%;max-height:min(74dvh,620px);padding:18px 16px calc(14px + env(safe-area-inset-bottom));color:var(--ink);background:#fff;border-radius:24px 24px 0 0;grid-template-rows:auto minmax(0,1fr) auto;display:grid}.cart-drawer header{align-items:center;gap:10px;padding-bottom:12px;display:flex}.cart-drawer header strong{align-items:center;gap:7px;display:flex}.cart-drawer header button{min-height:44px;color:var(--brand-600);background:0 0;margin-left:auto}.drawer-scroll{min-height:0;overflow-y:auto}.drawer-cart-groups{gap:12px;display:grid}.drawer-cart-group>strong{color:var(--ink);padding:8px 4px;font-size:14px;display:block}.drawer-actions{grid-template-columns:92px 1fr;gap:10px;padding-top:12px;display:grid}.quote-modal{max-height:88dvh;padding-bottom:env(safe-area-inset-bottom);flex-direction:column;display:flex}.quote-body{min-height:0;padding:10px 18px 0;overflow-y:auto}.quote-modal header{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 0 18px;display:flex}.quote-modal header svg{color:var(--brand-600)}.quote-modal h2,.quote-modal header p{margin:0}.quote-modal h2{font-size:21px}.quote-modal header p{color:var(--muted);margin-top:3px;font-size:13px}.quote-items article{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:start;gap:12px;min-width:0;padding:16px 0;display:grid}.quote-items strong,.quote-items small{display:block}.quote-items strong{color:var(--ink);font-size:15px}.quote-items small{color:var(--muted);overflow-wrap:anywhere;margin-top:5px;font-size:12px;line-height:1.45}.quote-items article>span{color:var(--muted);font-size:13px}.quote-items article>b,.quote-amounts b{color:var(--brand-600)}.quote-amounts{padding:8px 0 2px}.quote-amounts>div{min-height:42px;color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.quote-amounts .quote-total{min-height:68px;color:var(--ink);border-top:1px solid var(--line);margin-top:4px;font-size:18px;font-weight:900}.quote-total b{font-size:31px}.quote-warning{color:var(--danger);background:#fff0ef;border-radius:11px;margin:8px 0;padding:10px;font-size:12px}.quote-modal footer{border-top:1px solid var(--line);background:#fff;flex:none;grid-template-columns:1fr 1fr;gap:10px;padding:12px 16px 14px;display:grid}.payment-method-modal{max-height:88dvh;padding-bottom:env(safe-area-inset-bottom);align-self:end}.payment-method-modal>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:88px;padding:14px 18px;display:flex}.payment-method-modal h2,.payment-method-modal header p{margin:0}.payment-method-modal h2{font-size:21px}.payment-method-modal header p{color:var(--muted);margin-top:4px;font-size:12px}.payment-method-modal header>strong{color:var(--brand-600);flex:none;font-size:27px}.payment-method-list{gap:9px;max-height:min(54dvh,460px);padding:12px 16px;display:grid;overflow-y:auto}.payment-method-list>button{min-height:72px;color:var(--ink);text-align:left;background:#f8f9fa;border:1.5px solid #eceef1;border-radius:16px;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 13px;display:grid}.payment-method-list>button.selected{border-color:var(--brand-500);background:#fff5f1;box-shadow:0 8px 20px #ef2f2217}.payment-method-list>button.current{opacity:1;cursor:default;background:#f3f5f7;border-color:#dfe3e8}.payment-method-icon{width:46px;height:46px;color:var(--brand-600);background:#fff;border-radius:14px;place-items:center;display:grid}.payment-method-list strong,.payment-method-list small{display:block}.payment-method-list strong{font-size:16px}.payment-method-list small{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.4}.payment-method-list em{color:#fff;background:var(--brand-500);border-radius:50%;place-items:center;width:24px;height:24px;font-style:normal;display:grid}.payment-method-list>button:not(.selected) em{background:#e2e4e7}.payment-method-list em.current-label,.payment-method-list>button:not(.selected) em.current-label{width:auto;min-width:max-content;color:var(--brand-600);background:var(--brand-soft);border-radius:99px;padding:0 8px;font-size:10px;font-weight:800}.payment-method-modal footer{border-top:1px solid var(--line);background:#fff;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:10px;padding:12px 16px 14px;display:grid}.orders-page .page-scroll{padding-bottom:calc(94px + env(safe-area-inset-bottom))}.orders-list-page .orders-state,.orders-list-page .order-card-list{margin-top:0}.orders-state{min-height:310px;color:var(--muted);box-shadow:var(--shadow-soft);text-align:center;background:#fff;border-radius:18px;align-content:center;place-items:center;gap:12px;margin-top:14px;display:grid}.order-card-list{gap:14px;margin-top:14px;display:grid}.order-ticket{--ticket-accent:#d75d0d;--ticket-border:#ee7f25;--ticket-panel:#ffffffe6;color:#4d3928;border:2px solid var(--ticket-border);content-visibility:auto;contain-intrinsic-size:510px;background-color:#fff0df;background-image:url(/assets/order-waiting-bg.webp);background-position:50%;background-size:cover;border-radius:17px;min-width:0;position:relative;overflow:hidden;box-shadow:0 10px 24px #b95f1221}.order-ticket.is-ready{--ticket-accent:#15943a;--ticket-border:#4f7c35;--ticket-panel:#ffffffe0;color:#31532d;background-color:#eaf8c9;background-image:url(/assets/order-ready-bg.webp);box-shadow:0 10px 24px #41772c24}.order-ticket-content{z-index:1;pointer-events:none;padding:11px 14px 9px;position:relative}.order-ticket-notice{justify-content:space-between;align-items:flex-start;gap:9px;min-height:38px;display:flex}.order-ticket-notice p{color:currentColor;opacity:.85;max-width:270px;margin:0;font-size:11px;font-weight:650;line-height:1.55}.order-ticket-notice em{color:var(--ticket-accent);background:#ffffff9e;border:1px solid;border-radius:99px;flex:none;padding:4px 7px;font-size:9px;font-style:normal;font-weight:800;line-height:1.2}.order-ticket-hero{text-align:center;padding:0 52px 8px}.order-ticket-number-row{justify-content:center;align-items:center;min-height:62px;display:flex;position:relative}.order-ticket-number-row>strong{color:var(--ticket-accent);letter-spacing:-.045em;text-shadow:0 2px #ffffff80;font-size:clamp(52px,17vw,72px);font-weight:900;line-height:.95}.order-ticket-state-mark{color:#fff;place-items:center;width:48px;height:48px;display:grid;position:absolute;top:72%;right:calc(100% + 4px);transform:translateY(-50%)}.is-waiting .order-ticket-state-mark{color:#36a94f}.order-ticket-state-mark img{width:76px;max-width:none;height:auto;display:block}.order-ticket-hero h2{color:var(--ticket-accent);border-top:2px solid color-mix(in srgb, var(--ticket-accent) 55%, transparent);letter-spacing:.01em;margin:3px -38px 0;padding-top:8px;font-size:clamp(22px,7vw,29px);font-weight:750;line-height:1.16}.order-ticket-summary,.order-ticket-items{background:var(--ticket-panel);border:1px solid #ffffffe0;border-radius:12px;overflow:hidden;box-shadow:0 3px 10px #4e3c2712}.order-ticket-summary{padding:6px 12px}.order-ticket-summary-row{border-bottom:1px solid color-mix(in srgb, var(--ticket-accent) 14%, transparent);color:#77736f;align-items:center;gap:9px;min-height:28px;font-size:12px;display:flex}.order-ticket-summary-row:last-child{border-bottom:0}.order-ticket-summary-row>svg{color:var(--ticket-accent);flex:none}.order-ticket-location>span{min-width:0}.order-ticket-location strong,.order-ticket-location small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.order-ticket-location strong{color:#514f4c;font-size:12px}.order-ticket-location small{color:#96938f;margin-top:2px;font-size:9px}.order-ticket-payment-row>span{color:#77736f}.order-ticket-payment-row>b{color:var(--ticket-accent);margin-left:auto;font-size:15px}.order-ticket-payment-row>em{color:#77736f;font-size:11px;font-style:normal;font-weight:750}.order-ticket-items{margin-top:7px;padding:3px 12px}.order-ticket-item{border-bottom:1px solid #4b4a4617;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;min-height:39px;display:grid}.order-ticket-item:last-child{border-bottom:0}.order-ticket-item>span{min-width:0}.order-ticket-item strong,.order-ticket-item small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.order-ticket-item strong{color:#42413f;font-size:12px}.order-ticket-item small{color:#92908c;margin-top:3px;font-size:9px}.order-ticket-item>em,.order-ticket-item>b{color:#ff655b;white-space:nowrap;font-size:11px;font-style:normal;font-weight:800}.order-ticket-open{z-index:2;background:0 0;width:100%;position:absolute;inset:0}.order-ticket-open:focus-visible{outline-offset:-5px}.order-ticket-refresh{z-index:3;width:48px;color:var(--ticket-accent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff85;border:1px solid #ffffffb8;border-radius:12px;justify-items:center;gap:3px;padding:6px 2px;font-size:8px;font-weight:750;line-height:1.1;display:grid;position:absolute;top:59px;right:12px}.order-ticket-refresh:active{transform:scale(.96)}.order-card{width:100%;min-height:146px;color:var(--ink);border-bottom:1px solid var(--line);text-align:left;box-shadow:var(--shadow-soft);background:#fff;border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;display:grid}.order-card:last-child{border-bottom:0}.order-card-copy{min-width:0}.order-card-head{align-items:center;gap:9px;min-height:27px;display:flex}.order-card-head em,.order-detail-hero span{color:var(--brand-600);background:var(--brand-soft);border:1px solid #ffab9b;border-radius:8px;padding:5px 8px;font-size:11px;font-style:normal;font-weight:800}.order-card-head em.shared,.order-detail-hero span.shared{color:#2d6eb6;background:#eef6ff;border-color:#b7d8ff}.order-card-head em.visitor,.order-detail-hero span.visitor{color:#28639b;background:#edf6ff;border-color:#a9d1f4}.shared-order-note.visitor{color:#28639b;background:#edf6ff}.order-card-head time{color:var(--muted);margin-left:auto;font-size:12px}.order-queue{color:var(--ink);letter-spacing:.02em;margin-top:12px;font-size:25px;display:block}.order-card-copy>span,.order-card-copy>small{color:var(--muted);margin-top:4px;font-size:13px;display:block}.order-card-copy>small{font-size:11px}.order-card-total{justify-items:end;gap:8px;min-width:78px;display:grid}.order-card-total b{color:var(--brand-600);font-size:20px}.order-status{color:var(--brand-600);font-size:13px;font-weight:900}.order-status.paid{color:var(--success)}.order-status.muted{color:var(--muted)}.order-detail-card{gap:12px;display:grid}.order-detail-hero,.order-meta,.order-detail-lines,.order-detail-total{box-shadow:var(--shadow-soft);background:#fff;border-radius:18px}.order-detail-hero{flex-direction:column;justify-content:center;align-items:flex-start;min-height:150px;padding:21px;display:flex;position:relative}.order-detail-hero strong{color:var(--ink);font-size:clamp(38px,14vw,58px);line-height:1}.order-detail-hero em{color:var(--brand-600);margin-top:10px;font-size:15px;font-style:normal;font-weight:900}.order-detail-hero span{position:absolute;top:18px;right:18px}.order-meta{margin:0;padding:4px 16px}.order-meta>div{border-bottom:1px solid var(--line);grid-template-columns:88px minmax(0,1fr);align-items:center;gap:10px;min-height:50px;display:grid}.order-meta>div:last-child{border-bottom:0}.order-meta dt{color:var(--muted);font-size:13px}.order-meta dd{min-width:0;color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:14px}.order-detail-lines{overflow:hidden}.order-detail-lines h2{color:var(--ink);border-bottom:1px solid var(--line);margin:0;padding:16px;font-size:18px}.order-detail-lines article{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:start;gap:12px;min-width:0;padding:15px 16px;display:grid}.order-detail-lines article:last-child{border-bottom:0}.order-detail-lines strong,.order-detail-lines small{display:block}.order-detail-lines small{color:var(--muted);overflow-wrap:anywhere;margin-top:5px;font-size:12px;line-height:1.45}.order-detail-lines article>span{color:var(--muted);font-size:13px}.order-detail-lines article>b{color:var(--brand-600)}.order-detail-total{justify-content:space-between;align-items:center;min-height:70px;padding:15px 16px;font-size:17px;font-weight:900;display:flex}.order-detail-total b{color:var(--brand-600);font-size:29px}.shared-order-note,.online-pay-note{color:#52606c;text-align:center;background:#f1f5f8;border-radius:14px;justify-content:center;align-items:center;gap:7px;min-height:48px;margin:0;padding:11px 14px;font-size:13px;display:flex}.online-pay-note{color:#9a3d25;background:#fff2ed}.online-pay-note svg{color:var(--brand-600)}.online-pay-note.counter{color:#765223;background:#fff7df}.online-pay-note.counter svg{color:#d58a16}.orders-bottom-nav{z-index:34;padding:9px 16px calc(10px + env(safe-area-inset-bottom));background:#fffffff7;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -12px 30px #242b3314}.order-actions{grid-template-columns:.8fr 1.6fr}.order-actions.has-cancel{grid-template-columns:70px 106px minmax(0,1fr)}.page-action-dock .danger{color:var(--danger);border-color:#e4564e}.ticket-screen{background:var(--canvas);flex-direction:column;display:flex}.payment-page-header{z-index:3;min-height:calc(92px + env(safe-area-inset-top));padding:calc(13px + env(safe-area-inset-top)) 16px 13px;color:#fff;background:var(--brand-gradient);text-align:center;flex:none;grid-template-columns:46px 1fr 46px;align-items:center;gap:10px;display:grid;position:relative}.payment-page-header div span,.payment-page-header div strong{display:block}.payment-page-header div span{letter-spacing:.08em;font-size:10px}.payment-page-header div strong{margin-top:3px;font-size:19px}.payment-language-toggle{color:#fff;background:#ffffff24;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:46px;height:46px;font-size:10px;display:flex}.ticket-card,.payment-state-card{width:100%;color:var(--ink);box-shadow:var(--shadow-soft);background:#fff;border-radius:20px}.payment-ticket{padding-bottom:18px;overflow:hidden}.payment-brand{min-height:68px;color:var(--brand-600);border-bottom:1px solid var(--line);justify-content:center;align-items:center;gap:9px;display:flex}.payment-brand strong{color:var(--ink);font-size:23px}.payment-order-meta{color:var(--muted);grid-template-columns:68px minmax(0,1fr);gap:9px 12px;padding:14px 18px 8px;font-size:12px;display:grid}.payment-order-meta b{color:#4e5257;overflow-wrap:anywhere;min-width:0;font-weight:700}.payment-amount{justify-content:space-between;align-items:baseline;padding:8px 18px 0;display:flex}.payment-amount span{color:var(--muted);font-size:14px}.payment-amount b{color:var(--brand-600);font-size:35px}.payment-qr-image{aspect-ratio:1;object-fit:contain;background:#fff;border:1.5px solid #ffb9aa;border-radius:16px;width:min(68vw,250px);margin:12px auto;padding:10px;display:block}.pay-countdown,.payment-safe-note,.payment-auto-note{text-align:center;justify-content:center;align-items:center;gap:6px;margin:0;display:flex}.pay-countdown{color:#3f4348;font-size:14px}.pay-countdown.expired{color:var(--danger);font-weight:900}.payment-safe-note{color:#8d4936;background:#fff2ed;border-radius:13px;min-height:46px;margin:13px 16px 0;padding:9px 12px;font-size:12px}.payment-safe-note svg{color:var(--brand-600);flex:none}.payment-auto-note{color:var(--muted);margin-top:10px;font-size:12px}.payment-result{text-align:center;align-content:center;place-items:center;gap:10px;min-height:360px;padding:30px 24px;display:grid}.payment-result h1,.payment-result p{margin:0}.payment-result h1{color:var(--ink);font-size:25px}.payment-result p{color:var(--muted);line-height:1.6}.payment-result.success svg{color:var(--success)}.payment-result.failed svg{color:var(--brand-500)}.counter-payment-result{text-align:center;align-content:center;place-items:center;gap:12px;min-height:360px;padding:25px 20px;display:grid}.counter-payment-result h1,.counter-payment-result p{margin:0}.counter-payment-result h1{font-size:24px}.counter-payment-result>p:not(.pay-countdown){max-width:290px;color:var(--muted);font-size:14px;line-height:1.65}.counter-payment-icon{color:#fff;background:linear-gradient(145deg,#f6a92f,#e57916);border-radius:28px;place-items:center;width:88px;height:88px;display:grid;box-shadow:0 14px 30px #d884183d}.counter-payment-result .payment-amount{width:100%;padding:0 4px}.payment-state-card{text-align:center;align-content:center;place-items:center;gap:12px;min-height:390px;padding:28px;display:grid}.payment-state-card h1,.payment-state-card p{margin:0}.payment-state-card h1{font-size:22px}.payment-state-card p{color:var(--muted);line-height:1.6}.ticket-actions.can-change-method{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.check-pay{width:100%}.spin{animation:.8s linear infinite scan-loading}.ticket-scroll{padding:0 16px calc(88px + env(safe-area-inset-bottom))}.payment-capture-instruction{color:#32373d;text-align:center;margin:0;padding:16px 4px 14px;font-size:14px;line-height:1.45}.payment-ticket{padding:20px 18px 14px;overflow:hidden}.payment-summary{border-bottom:1px solid var(--line);gap:13px;padding-bottom:18px;display:grid}.payment-summary-row{color:#3f454d;grid-template-columns:22px auto minmax(0,1fr);align-items:center;gap:9px;min-width:0;font-size:14px;line-height:1.35;display:grid}.payment-summary-row>svg{color:var(--brand-600);stroke-width:2.2px}.payment-summary-row>span{white-space:nowrap}.payment-summary-row>time,.payment-summary-row>b{color:#333943;overflow-wrap:anywhere;min-width:0;font-weight:500}.payment-summary-location{grid-template-columns:22px minmax(0,1fr)}.payment-summary-location>div{align-items:center;gap:16px;min-width:0;display:flex}.payment-summary-location strong{overflow-wrap:anywhere;min-width:0;font-size:15px;font-weight:500}.payment-summary-location i{background:var(--line);flex:0 0 1px;width:1px;height:23px}.payment-summary-totals{grid-template-columns:22px auto auto minmax(0,1fr) auto}.payment-summary-totals>b{white-space:nowrap}.payment-summary-totals .payment-summary-amount-label{justify-self:end;margin-left:8px}.payment-summary-totals .payment-summary-amount{color:var(--brand-600);white-space:nowrap;font-size:clamp(25px,7.3vw,32px);line-height:1}.payment-summary-order-no>b{color:#697181;font-size:12px}.payment-online-panel{text-align:center;padding:14px 0 18px}.payment-online-panel .payment-brand{border:0;gap:9px;min-height:40px;margin:0}.payment-online-panel .payment-brand strong{color:#1f2632;font-size:23px}.payment-queue-number{color:#ef1616;letter-spacing:-.02em;margin-top:2px;font-size:clamp(38px,12vw,52px);line-height:1.08;display:block}.payment-qr-image{border:1.5px solid #ffaaa0;border-radius:13px;width:min(62vw,214px);margin:9px auto 8px;padding:8px}.pay-countdown{min-height:24px;font-size:14px}.payment-inline-action{color:#fff;background:var(--brand-gradient);border-radius:99px;justify-content:center;align-items:center;gap:8px;width:min(100%,228px);min-height:48px;margin:10px auto 0;padding:0 18px;font-size:15px;font-weight:800;display:flex;box-shadow:0 10px 20px #ef2f2233}.payment-inline-action:disabled{opacity:.55}.payment-result{border-bottom:1px solid var(--line);min-height:250px;padding:28px 18px}.payment-result .payment-inline-action{margin-top:8px}.counter-payment-result{border-bottom:1px solid var(--line);min-height:300px;padding:26px 10px}.counter-payment-result .payment-inline-action{margin-top:4px}.payment-dish-details{border-top:1px solid var(--line);padding:14px 0 0}.payment-dish-details h2{color:#202631;margin:0 0 4px;font-size:16px}.payment-dish-details article{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;min-width:0;min-height:53px;padding:8px 0;display:grid}.payment-dish-details article>div{gap:3px;min-width:0;display:grid}.payment-dish-details article strong{color:#303640;overflow-wrap:anywhere;font-size:14px;font-weight:650}.payment-dish-details article small{color:#818895;overflow-wrap:anywhere;font-size:12px;line-height:1.35}.payment-dish-details article em{color:#ef2822;white-space:nowrap;font-size:14px;font-style:normal}.payment-dish-details article>b{color:#2c333e;white-space:nowrap;font-size:14px;font-weight:500}.payment-payee{text-align:center;place-items:center;gap:3px;padding:12px 0 2px;display:grid}.payment-payee span{color:#858b94;font-size:12px}.payment-payee strong{color:#303640;overflow-wrap:anywhere;max-width:100%;font-size:14px;font-weight:500}.ticket-actions{grid-template-columns:1fr}.ticket-actions .ticket-back-action{font-size:16px}@media (width<=359px){.payment-ticket{padding-inline:12px}.payment-capture-instruction{font-size:13px}.payment-summary-row{gap:7px;font-size:12px}.payment-summary-location>div{gap:9px}.payment-summary-location strong{font-size:13px}.payment-summary-totals{grid-template-columns:22px auto minmax(0,1fr) auto}.payment-summary-totals .payment-summary-amount-label{grid-area:2/2/auto/4;justify-self:start;margin:2px 0 0}.payment-summary-totals .payment-summary-amount{grid-area:2/4}.payment-dish-details article{gap:8px}}.notice-modal,.confirm-modal{width:min(100% - 32px,340px);color:var(--ink);text-align:center;background:#fff;border-radius:22px;padding:28px 20px 20px;position:relative;box-shadow:0 24px 60px #14141438}.notice-modal .close-btn{width:38px;height:38px;position:absolute;top:12px;right:12px}.notice-modal-icon{color:#fff;background:var(--brand-gradient);border-radius:18px;place-items:center;width:58px;height:58px;margin:0 auto 13px;display:grid}.notice-modal h2,.confirm-modal h2{margin:0;font-size:21px}.notice-modal p,.confirm-modal p{color:var(--muted);margin:10px 0 0;font-size:14px;line-height:1.65}.notice-confirm{color:#fff;background:var(--brand-gradient);border-radius:99px;width:100%;min-height:50px;margin-top:18px;font-weight:900}.confirm-modal>div{grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;display:grid}.confirm-modal button{color:#fff;background:var(--brand-gradient);border-radius:99px;min-height:50px;font-weight:900}.confirm-modal button.outline{color:var(--brand-600);border:1.5px solid var(--brand-500);background:#fff}.scan-state-screen{color:var(--ink);text-align:center;background:radial-gradient(circle at 50% 28%,#ff6f4929,#0000 28%),#fff;flex:auto;align-content:center;place-items:center;gap:12px;padding:42px 26px;display:grid;position:relative}.scan-state-screen h1,.scan-state-screen p{margin:0}.scan-state-screen h1{margin-top:4px;font-size:23px}.scan-state-screen p{max-width:310px;color:var(--muted);font-size:14px;line-height:1.65}.scan-state-screen small{color:var(--muted-light);overflow-wrap:anywhere}.scan-state-screen button{color:#fff;background:var(--brand-gradient);border-radius:99px;min-width:142px;min-height:48px;margin-top:6px;font-weight:900}.scan-state-screen .state-language-toggle{top:calc(16px + env(safe-area-inset-top));width:auto;min-width:82px;min-height:40px;color:var(--brand-600);background:#fff;border:1px solid #ffd0c6;border-radius:99px;justify-content:center;align-items:center;gap:6px;margin:0;padding:0 12px;font-size:12px;display:inline-flex;position:absolute;right:16px;box-shadow:0 8px 22px #8f24181a}.loading-ring{border:4px solid #ffe4da;border-top-color:var(--brand-500);border-radius:50%;width:42px;height:42px;animation:.8s linear infinite scan-loading}.state-mark{color:#fff;background:var(--brand-gradient);border-radius:18px;place-items:center;width:52px;height:52px;font-size:28px;font-weight:900;display:grid}.scan-state-screen.closed .state-mark{color:#8a5718;background:#fff0d8;box-shadow:inset 0 0 0 1px #b0691724}.empty-state{place-items:center;gap:10px;display:grid}@keyframes scan-loading{to{transform:rotate(360deg)}}@media (width<=359px){.app-header{padding-inline:12px}.header-title-row{gap:8px}.header-title-row.has-back,.menu-header-title.has-back{grid-template-columns:44px minmax(0,1fr) auto}.square-btn,.header-spacer{flex-basis:44px;width:44px;height:44px}.header-stall-line strong{font-size:19px}.header-language-toggle{min-width:56px;padding-inline:8px}.header-controls{gap:6px}.layout-switch.header-layout-switch{grid-template-columns:repeat(2,29px)}.layout-switch.header-layout-switch button{width:29px}.header-food-court-name{font-size:11px}.menu-header-title>.header-food-court-name{font-size:14px}.header-service-row{flex-direction:column;align-items:stretch;gap:7px}.header-order-status{min-height:28px}.header-quick-actions{gap:4px;width:100%}.header-quick-actions button{flex:1 1 0;min-width:0;padding-inline:7px;font-size:10px}.mobile-nav button{gap:5px;font-size:13px}.menu-scroll,.page-scroll,.ticket-scroll{padding-inline:12px}.category-rail{margin-inline:-12px;padding-inline:12px}.product-row{grid-template-columns:72px minmax(0,1fr);gap:8px;padding:8px}.product-row .image-crop{width:72px;height:88px}.product-row h3{font-size:15px}.row-copy strong{font-size:16px}.row-control .qty-control{gap:2px}.row-control .qty-control button{width:32px;height:32px}.row-control .qty-control span{min-width:18px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.product-card-copy{padding:9px}.product-card h3{font-size:15px}.product-card p{font-size:12px}.price-row strong{font-size:16px}.stall-screen{padding-inline:12px}.canteen-mark{flex-basis:56px;width:56px;height:50px}.option-choice>.option-select{gap:6px;padding-inline:10px 6px}.detail-price-row{gap:6px}.detail-price-row strong{font-size:21px}.detail-price-row>.qty-control{gap:2px;min-height:40px}.detail-price-row>.qty-control button{width:32px;height:32px}.detail-price-row>.qty-control span{min-width:18px}.detail-price-row>.detail-total{font-size:11px}.detail-price-row>.detail-total b{font-size:15px}.option-stepper{gap:2px;height:42px;margin-right:6px}.option-stepper button{width:32px;height:32px}.option-stepper span{min-width:20px}.cart-line{grid-template-columns:24px minmax(0,1fr);gap:8px}.cart-line-editor{grid-template-columns:68px minmax(0,1fr);gap:8px}.cart-line-image{width:68px;height:68px}.cart-actions{grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr)}.cart-actions button{min-height:60px;padding-inline:6px;font-size:11px}.cart-line-pricing-row{gap:3px;padding-inline:2px}.cart-line-total{font-size:9px}.cart-line-unit-price{font-size:12px}.cart-line-pricing-row>.qty-control{gap:1px;width:82px;min-height:34px;padding:2px}.cart-line-pricing-row>.qty-control button{width:28px;height:28px}.cart-line-pricing-row>.qty-control span{min-width:16px;font-size:12px}.cart-line-total strong{font-size:14px}.cart-stall-footer{grid-template-columns:1fr}.cart-stall-footer>button{width:100%}.order-card{padding:14px 12px}.order-ticket-content{padding-inline:11px}.order-ticket-notice p{max-width:220px}.order-ticket-hero{padding-inline:46px}.order-ticket-number-row>strong{font-size:clamp(48px,17vw,64px)}.order-ticket-summary,.order-ticket-items{border-radius:11px}.order-actions.has-cancel{grid-template-columns:58px 82px minmax(0,1fr)}.order-actions button{padding-inline:7px;font-size:11px}.icon-action span{display:none}.payment-order-meta{grid-template-columns:58px minmax(0,1fr);padding-inline:14px}.payment-amount{padding-inline:14px}}@media (width>=400px){.product-row{grid-template-columns:96px minmax(0,1fr)}.product-row .image-crop{width:96px;height:108px}}@media (height<=700px){.app-header{padding-top:calc(8px + env(safe-area-inset-top));padding-bottom:10px}.header-nav{height:56px;margin-top:8px}.header-nav button{min-height:48px}.detail-hero{height:190px}.ticket-scroll{padding-top:9px}.payment-page-header{min-height:calc(78px + env(safe-area-inset-top));padding-block:calc(8px + env(safe-area-inset-top)) 8px}.payment-qr-image{width:min(58vw,205px);margin-block:8px}}@media (width>=431px){.phone-shell{border-radius:0}}
