@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;700;800&display=swap";:root{--ink-900: #11212b;--ink-700: #355166;--ink-500: #638098;--surface-100: #f3f7f9;--surface-200: #e7eef3;--surface-300: #d5e0e8;--brand-500: #0a8f76;--brand-700: #076e5b;--accent-500: #f39237;--danger-600: #c0392b;--shadow-strong: 0 18px 42px rgba(17, 33, 43, .16);--shadow-soft: 0 8px 24px rgba(17, 33, 43, .1)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-height:100vh;color:var(--ink-900);font-family:Outfit,Segoe UI,sans-serif;-webkit-tap-highlight-color:transparent;background:radial-gradient(circle at 100% 0%,#c9f5eb 0%,transparent 32%),radial-gradient(circle at 0% 100%,#fee4c8 0%,transparent 35%),var(--surface-100)}button,input,select{font:inherit}label{display:flex;flex-direction:column;gap:8px;color:var(--ink-700);font-size:.9rem}input,select{border:1px solid var(--surface-300);border-radius:12px;background:#fff;color:var(--ink-900);padding:10px 12px}button{border:0;border-radius:12px;cursor:pointer;transition:transform .15s cubic-bezier(.16,1,.3,1),opacity .15s ease,box-shadow .15s ease}button:active:not(:disabled){transform:scale(.97)}button:disabled{cursor:not-allowed;opacity:.45;box-shadow:none!important;transform:none!important}.entry-screen,.confirmation-screen{min-height:100vh;padding:28px;display:grid;place-items:center}.entry-card,.confirmation-card{width:min(780px,100%);border-radius:28px;background:#fff;border:1px solid var(--surface-300);box-shadow:var(--shadow-strong);padding:clamp(20px,4vw,36px);animation:revealUp .28s ease-out}.active-order-card{display:grid;gap:12px}.active-order-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.active-order-number{font-weight:700;color:var(--ink-700)}.status-pill{padding:4px 10px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.04em;border:1px solid transparent}.status-pill.pending{background:#fff4e5;color:#9a5b13;border-color:#f2c78a}.status-pill.preparing{background:#e8f1ff;color:#1d4ed8;border-color:#a5c8ff}.status-pill.completed{background:#e8faf4;color:#0a5f53;border-color:#b7e9d7}.status-pill.cancelled{background:#fdeceb;color:var(--danger-600);border-color:#f2b8b5}.active-order-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.active-order-warning{margin:4px 0 0;color:var(--ink-500);font-size:.85rem}.danger-action{padding:11px 14px;border-radius:12px;border:1px solid #f2b8b5;background:#fff;color:var(--danger-600);font-weight:700}.orders-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;background:#11212b73;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeIn .18s ease-out}.orders-modal{width:min(620px,calc(100% - 32px));max-height:min(88vh,680px);border-radius:24px;background:#fff;box-shadow:0 24px 64px #11212b38;display:flex;flex-direction:column;animation:revealUp .24s ease-out;overflow:hidden}.orders-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid var(--surface-200);background:#fff;position:sticky;top:0}.orders-modal-header h2{margin:0 0 2px;font-size:1.35rem}.orders-modal-header .subtle{margin:0;font-size:.88rem}.orders-modal-close{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--surface-200);color:var(--ink-700);font-size:1.1rem;display:grid;place-items:center}.orders-modal-body{flex:1;min-height:0;overflow-y:auto;padding:12px 16px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.orders-modal-footer{padding:12px 16px;border-top:1px solid var(--surface-200);background:#fff;position:sticky;bottom:0;display:flex;gap:10px}.orders-empty{display:grid;gap:12px;padding:24px 12px;text-align:center}.orders-list{display:grid;gap:12px}.order-history-card{padding:12px;border-radius:14px;border:1px solid var(--surface-300);background:linear-gradient(135deg,#fafbfd,#f7f9fb);display:grid;gap:8px;animation:revealUp .2s ease-out}.order-history-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.order-history-header-left{display:flex;align-items:center;gap:8px}.order-history-id{margin:0;font-weight:700;font-size:.92rem}.order-history-time{margin:0;font-size:.78rem;color:var(--ink-500);white-space:nowrap}.order-history-items{display:grid;gap:3px;padding:6px 0;border-top:1px solid var(--surface-300);border-bottom:1px solid var(--surface-300)}.order-history-line{display:flex;justify-content:space-between;gap:8px;font-size:.82rem;color:var(--ink-700)}.order-history-line span:last-child{font-weight:600}.order-history-total{display:flex;justify-content:space-between;gap:8px;font-size:.88rem;font-weight:700;color:var(--ink-900)}.order-history-actions{display:flex;gap:8px}.order-history-actions button{flex:1;padding:8px 10px;font-size:.8rem}.header-orders{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:12px;border:1px solid var(--surface-300);background:#fff;color:var(--ink-700);font-weight:700;font-size:.78rem}.kicker{margin:0 0 10px;text-transform:uppercase;letter-spacing:.11em;font-weight:700;color:var(--ink-500)}.entry-card h1,.confirmation-card h1{margin:0;font-size:clamp(1.65rem,4.2vw,2.4rem)}.store-input{margin-top:18px;max-width:320px}.mode-buttons{margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.mode-card{text-align:left;background:linear-gradient(170deg,#ffffff 0%,var(--surface-200) 100%);border:1px solid var(--surface-300);border-radius:18px;padding:18px;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.mode-card:hover,.mode-card:focus-visible{transform:translateY(-2px);border-color:#9fdbc8;box-shadow:var(--shadow-soft)}.mode-title{display:block;font-weight:800;font-size:1.2rem;color:var(--ink-900)}.mode-copy{display:block;margin-top:8px;color:var(--ink-700)}.page{min-height:100vh;height:100svh;max-width:1520px;margin:0 auto;padding:12px;display:flex;flex-direction:column;gap:6px;overflow:hidden}.main-scroll{flex:1;min-height:0;overflow-y:auto;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding-bottom:calc(72px + env(safe-area-inset-bottom))}.topbar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:2px}.topbar.compact{padding:4px 2px}.topbar-left{display:flex;align-items:center;gap:6px;min-width:0}.topbar-title{font-size:.95rem;font-weight:700;color:var(--ink-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-right{display:flex;align-items:center;gap:8px}.topbar-mode{font-size:.75rem;font-weight:600;color:var(--ink-500);text-transform:uppercase;letter-spacing:.08em}.topbar-actions{display:flex;align-items:center;gap:6px;position:relative}.header-cart{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:12px;border:1px solid var(--surface-300);background:#fff;color:var(--ink-700);font-weight:700;font-size:.78rem}.cart-icon{width:14px;height:12px;border:2px solid var(--ink-700);border-radius:3px;position:relative}.cart-icon:after{content:"";position:absolute;top:-6px;left:2px;width:6px;height:4px;border:2px solid var(--ink-700);border-bottom:0;border-radius:4px 4px 0 0}.cart-label{font-size:.78rem}.header-cart-count{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--accent-500);color:#fff;font-size:.66rem;font-weight:800;display:grid;place-items:center}.menu-trigger{width:28px;height:28px;border-radius:10px;border:1px solid var(--surface-300);background:#fff;color:var(--ink-700);font-weight:800;font-size:.9rem;line-height:0;display:grid;place-items:center}.topbar-menu{position:absolute;right:0;top:36px;min-width:180px;padding:6px;border-radius:12px;border:1px solid var(--surface-300);background:#fff;box-shadow:0 12px 30px #11212b24;display:grid;gap:4px;z-index:30}.topbar-menu-item{width:100%;text-align:left;padding:8px 10px;border-radius:8px;border:1px solid transparent;background:#fff;color:var(--ink-700);font-size:.82rem;font-weight:600}.topbar-menu-item:hover{background:var(--surface-100);border-color:var(--surface-300)}.controls,.control-actions{display:flex;align-items:end;gap:10px}.mobile-cart-trigger,.label-mobile{display:none}.ghost{padding:11px 14px;background:#fff;color:var(--ink-700);border:1px solid var(--surface-300)}.secondary-action{align-self:start;font-weight:700}.status-actions{display:grid;gap:10px;margin-top:10px}.status-actions.inline{margin:0 0 8px}.layout{display:grid;gap:10px;grid-template-columns:minmax(0,1fr);align-items:start;min-height:100%}.menu,.cart{background:#fff;border:1px solid var(--surface-300);border-radius:18px;padding:12px 16px;box-shadow:var(--shadow-soft)}.menu h2,.cart h2{margin-top:2px}.cart-header{display:flex;align-items:start;justify-content:space-between;gap:12px}.cart-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:22;border:0;background:#11212b61;opacity:0;pointer-events:none;transition:opacity .25s cubic-bezier(.16,1,.3,1)}.cart-drawer-backdrop.visible{opacity:1;pointer-events:auto}.cart-drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:flex-end;justify-content:center;pointer-events:none}.cart-drawer.open{pointer-events:auto}.cart-drawer-panel{width:min(520px,100%);max-height:min(88vh,760px);background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -18px 42px #11212b2e;transform:translateY(100%);transition:transform .25s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}.cart-drawer.open .cart-drawer-panel{transform:translateY(0)}.cart-drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px;border-bottom:1px solid var(--surface-200)}.cart-drawer-close{padding:8px 12px;border-radius:12px;background:var(--surface-200);color:var(--ink-700);font-weight:700}.cart-drawer-body{padding:12px 16px 0;overflow-y:auto;flex:1;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.cart-drawer-footer{padding:12px 16px 16px;border-top:1px solid var(--surface-200);background:#fff;position:sticky;bottom:0;box-shadow:0 -8px 18px #11212b14}.loyalty-block{display:grid;gap:10px}.points-preview-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:10px}.points-preview-label{font-size:.85rem;color:#64748b}.points-preview-change{font-size:.8rem;color:#0ea5e9;background:none;border:0;padding:0;cursor:pointer;font-weight:600}.loyalty-skeleton{display:grid;gap:8px;padding:8px 10px;border-radius:12px;border:1px dashed var(--surface-300);background:#fff}.sticky-cart-bar{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:18;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(7,110,91,.16);border-radius:22px;background:#fffffff2;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 18px 34px #11212b24}.sticky-cart-summary{display:flex;flex-direction:column;gap:2px;color:var(--ink-700);font-size:.84rem}.sticky-cart-summary strong{color:#0a5f53;font-size:1rem}.sticky-cart-action{min-width:144px;padding:12px 16px;border-radius:16px;background:linear-gradient(180deg,var(--brand-500),var(--brand-700));color:#fff;font-weight:800}.cart-meta{margin:6px 0 0;color:var(--ink-500);font-size:.86rem}.sticky{position:sticky;top:14px}.menu-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.menu-header h2{margin:0;font-size:1.1rem}.category-chips{display:flex;gap:6px;overflow-x:auto;padding:4px 2px 6px;margin-bottom:6px;scrollbar-width:none}.category-chips::-webkit-scrollbar{display:none}.category-chip{white-space:nowrap;border:1px solid var(--surface-300);background:#fff;color:var(--ink-700);border-radius:999px;padding:4px 10px;font-size:.75rem;font-weight:600;transition:background .14s ease,border-color .14s ease,color .14s ease}.category-chip.active{background:#0a8f76;border-color:#0a8f76;color:#fff}.menu-section+.menu-section{margin-top:8px}.menu-section-header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px}.menu-section-header h3{margin:0;font-size:.92rem}.menu-section-meta{font-size:.72rem;color:var(--ink-500)}.item-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.menu-item{display:grid;gap:4px}.item-card{border:1px solid var(--surface-300);border-radius:12px;background:#fff;padding:12px;display:flex;flex-direction:column;gap:8px;position:relative;overflow:hidden;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.item-card:hover{transform:translateY(-1px);border-color:#9fdbc8;box-shadow:0 8px 18px #11212b1f}.item-card:active{transform:scale(.98);background-color:var(--surface-100)}.item-thumb{width:100%}.item-image{width:100%;height:96px;object-fit:cover;border-radius:10px;background:var(--surface-200)}.item-image.placeholder{display:grid;place-items:center;color:var(--ink-500);font-weight:600;font-size:.78rem}.item-info{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.item-name{margin:0;font-size:.84rem;font-weight:700;color:var(--ink-900)}.item-price{margin:0;font-size:.82rem;font-weight:800;color:#0a5f53}.item-in-cart-badge{margin:2px 0 0;font-size:.66rem;font-weight:600;color:#0ea5e9;letter-spacing:.02em}.item-card.sold-out{opacity:.55;pointer-events:none;filter:grayscale(.4);border-color:var(--surface-200);background:var(--surface-100)}.item-card.sold-out:hover{transform:none;box-shadow:none;border-color:var(--surface-200)}.item-card.sold-out .item-image{filter:grayscale(.5) brightness(.9)}.item-card.sold-out .item-price{text-decoration:line-through;color:var(--ink-500)}.sold-out-badge{color:var(--danger-600)!important;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.64rem}.add-button.compact:disabled{background:var(--surface-300);color:var(--ink-500);font-weight:700;box-shadow:none}.item-actions{display:flex;justify-content:flex-end}.item-stepper{display:inline-flex;align-items:center;gap:6px;padding:3px 6px;border-radius:999px;border:1px solid var(--surface-300);background:#f7fafc}.stepper-btn{width:24px;height:24px;border-radius:50%;background:var(--surface-200);color:var(--ink-900);font-weight:700;display:grid;place-items:center;transition:transform .1s ease,background .1s ease}.stepper-btn:active{transform:scale(.92)}.stepper-qty{min-width:18px;text-align:center;font-weight:700;font-size:.78rem}.item-addons{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.item-addons::-webkit-scrollbar{display:none}.addon-chip{border:1px solid var(--surface-300);background:#fff;color:var(--ink-700);border-radius:999px;padding:3px 6px;font-size:.68rem;white-space:nowrap}.addon-chip.selected{border-color:#6dcdb7;background:#d6f6ec;color:#0a5f53}.add-button,.primary-action,.checkout button,.cart-primary-cta{background:linear-gradient(180deg,var(--brand-500),var(--brand-700));color:#fff;font-weight:700;padding:11px 14px}.cart-primary-cta{width:100%;padding:15px 16px;border-radius:16px;font-size:1.05rem;font-weight:800;display:flex;align-items:center;justify-content:center;gap:6px;box-shadow:0 10px 20px #076e5b33}.add-button.compact{padding:5px 10px;font-size:.7rem;border-radius:999px}.cart-line{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--surface-200)}.cart-line p{margin:4px 0 0;color:var(--ink-700);font-size:.86rem}.addons-summary{color:#076e5b}.qty-controls{display:inline-flex;align-items:center;gap:8px}.qty-controls button{width:30px;height:30px;border-radius:50%;background:var(--surface-200);color:var(--ink-900);font-weight:700}.checkout{margin-top:8px;display:grid;gap:8px}.payment-method-summary{display:grid;gap:4px;border:1px solid var(--surface-300);border-radius:12px;background:#fff;padding:12px 14px}.payment-method-summary span{color:var(--ink-500);font-size:.78rem;font-weight:700;text-transform:uppercase}.payment-method-summary strong{color:var(--ink-900)}.payment-method-summary p{margin:0;color:var(--ink-600);font-size:.88rem}.subtotal{margin:0;font-size:1.18rem;font-weight:800;color:#0a5f53}.confirmation-subtitle{margin-top:10px;color:var(--ink-700)}.order-number-spotlight,.order-number-fallback{margin-top:22px;padding:clamp(18px,4vw,28px);border-radius:24px;border:1px solid #b7d7ea;background:linear-gradient(180deg,#f7fcff,#e7f4ff);box-shadow:inset 0 1px #ffffffd9}.order-number-spotlight{display:grid;gap:8px;justify-items:center;text-align:center}.order-number-label{margin:0;font-size:.82rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#29566f}.order-number{margin:0;font-size:clamp(3.8rem,18vw,7rem);font-weight:900;letter-spacing:.06em;line-height:.95;color:#083f5a;font-variant-numeric:tabular-nums;text-shadow:0 10px 24px rgba(8,63,90,.12)}.order-number-help{margin:0;max-width:26ch;font-size:1rem;font-weight:600;color:#29566f}.order-number-fallback{display:grid;gap:8px;text-align:left}.order-number-missing{margin:0;font-size:clamp(1.25rem,4vw,1.65rem);font-weight:800;color:#083f5a}.dinein-note{margin:10px 0 16px;padding:10px 12px;border-radius:10px;border:1px solid #b7d7ea;background:#edf7ff;color:#1c5070}.confirmation-card.pending{border-color:#ffd49f}.confirmation-card.paid{border-color:#a8e0cf}.confirmation-card.cash{border-color:#f5c7a7}.subtle{margin:6px 0 0;color:var(--ink-500)}.error{margin:8px 0 16px;color:var(--danger-600);font-weight:500}.skeleton-card{pointer-events:none}.skeleton-image,.skeleton-line{border-radius:10px;background:linear-gradient(90deg,#edf3f7,#f7fafc,#edf3f7);background-size:200% 100%;animation:shimmer 1.5s infinite linear}.skeleton-image{height:110px}.skeleton-line{height:14px}.skeleton-line.short{width:55%}.skeleton-line.tiny{width:35%}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes numberChange{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.anim-number{display:inline-block;animation:numberChange .2s ease-out}@keyframes totalUpdate{0%{opacity:.4;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.anim-total{display:inline-block;animation:totalUpdate .25s ease-out}@keyframes highlightSuccess{0%{background-color:#0a8f7633}to{background-color:transparent}}.highlight-row{animation:highlightSuccess .6s ease-out;border-radius:4px;padding-inline:4px;margin-inline:-4px}@keyframes revealUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.offline-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:14px;border:1px solid #f5c78a;background:linear-gradient(135deg,#fffbf0,#fff4e0);box-shadow:0 2px 8px #f392371f;animation:slideDown .22s ease-out}.offline-banner-icon{font-size:1.2rem;line-height:1;flex-shrink:0}.offline-banner-text{display:flex;flex-direction:column;gap:1px}.offline-banner-title{margin:0;font-weight:700;font-size:.82rem;color:#92400e}.offline-banner-sub{margin:0;font-size:.72rem;color:#a16207}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.loyalty-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;padding:8px 10px;border-radius:12px;background:linear-gradient(135deg,#e8faf4,#fef6e8);border:1px solid #c6eede;animation:revealUp .28s ease-out}.loyalty-banner-text{display:flex;flex-direction:column;gap:2px}.loyalty-banner-title{margin:0;font-weight:700;font-size:.88rem}.loyalty-banner-sub{margin:0;font-size:.74rem;color:var(--ink-700)}.loyalty-banner-btn{white-space:nowrap;padding:6px 12px;border-radius:10px;background:linear-gradient(180deg,var(--brand-500),var(--brand-700));color:#fff;font-weight:700;font-size:.78rem;transition:transform .12s ease}.loyalty-banner-btn:hover{transform:translateY(-1px)}.loyalty-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;background:#11212b73;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeIn .18s ease-out}.loyalty-modal{width:min(400px,calc(100% - 32px));padding:clamp(22px,4vw,32px);border-radius:24px;background:#fff;box-shadow:0 24px 64px #11212b38;animation:revealUp .24s ease-out;position:relative}.loyalty-modal-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:50%;background:var(--surface-200);color:var(--ink-700);font-size:1.1rem;display:grid;place-items:center}.loyalty-modal h2{margin:0 0 4px;font-size:1.35rem}.loyalty-modal .modal-sub{margin:0 0 18px;color:var(--ink-700);font-size:.92rem}.loyalty-modal input[type=tel]{width:100%;padding:14px 16px;font-size:1.15rem;letter-spacing:.04em;border:2px solid var(--surface-300);border-radius:14px;transition:border-color .14s ease}.loyalty-modal input[type=tel]:focus{outline:none;border-color:var(--brand-500)}.loyalty-modal-submit{width:100%;margin-top:14px;padding:14px;border-radius:14px;background:linear-gradient(180deg,var(--brand-500),var(--brand-700));color:#fff;font-weight:700;font-size:1.05rem}.loyalty-modal-submit:disabled{opacity:.4}.points-preview{margin:6px 0;padding:8px 10px;border-radius:12px;background:linear-gradient(135deg,#e8faf4,#f0fdf7);border:1px solid #c6eede;animation:revealUp .2s ease-out}.points-preview p{margin:0;font-size:.82rem;color:#0a5f53;font-weight:600}.points-preview p+p{margin-top:3px;font-weight:500;color:var(--ink-700)}.points-pending-notice{font-size:.82rem;font-weight:600;color:#92610a;margin:0}.redeem-card{padding:8px 10px;border-radius:12px;border:1px dashed #c6eede;background:#f7fdfa;display:flex;align-items:center;justify-content:space-between;gap:10px;animation:revealUp .2s ease-out}.redeem-info{display:flex;flex-direction:column;gap:2px}.redeem-title{margin:0;font-weight:700;font-size:.92rem}.redeem-sub{margin:0;font-size:.82rem;color:var(--ink-700)}.redeem-toggle{white-space:nowrap;padding:6px 12px;border-radius:10px;font-weight:700;font-size:.8rem;transition:all .14s ease}.redeem-toggle.apply{background:linear-gradient(180deg,var(--brand-500),var(--brand-700));color:#fff}.redeem-toggle.remove{background:#e6fcf5;color:#0a8f76;border:1px solid #c6eede}.redeem-toggle-full{width:100%;padding:10px 14px;font-size:.88rem;border-radius:10px;text-align:center}.redeem-toggle:disabled{opacity:.45;cursor:not-allowed}.redeem-sub-ineligible{color:#ef4444!important}.redeem-card-refreshing{opacity:.6;pointer-events:none;transition:opacity .15s ease}.redeem-applied{margin:0;font-size:.88rem;color:#0a5f53;font-weight:600}.checkout-total-lines{display:grid;gap:4px;margin-top:6px;color:var(--ink-700);font-size:.88rem}.checkout-total-lines p{display:flex;justify-content:space-between;gap:12px;margin:0}.checkout-total-lines .discount-line{color:#0a5f53;font-weight:700}.loyalty-success{margin-top:16px;padding:14px 18px;border-radius:14px;background:linear-gradient(135deg,#e8faf4,#fef6e8);border:1px solid #c6eede;animation:revealUp .3s ease-out .2s both}.loyalty-success p{margin:0;font-size:.95rem;color:#0a5f53;font-weight:600}.loyalty-success p+p{margin-top:4px}.loyalty-success .comeback{margin-top:8px;color:var(--ink-700);font-weight:500;font-size:.88rem}@media (min-width: 960px){.item-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1280px){.item-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 960px){.layout{grid-template-columns:1fr}.sticky{position:static}.page{max-width:520px;padding:10px}.topbar{position:sticky;top:0;z-index:10;padding:8px 10px;border:1px solid rgba(213,224,232,.9);border-radius:16px;background:#f3f7f9eb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 10px 22px #11212b14}.topbar-title{font-size:.88rem}.header-cart{padding:5px 6px;font-size:.72rem}.header-cart-count{min-width:16px;height:16px;font-size:.6rem}.menu-trigger{width:26px;height:26px;border-radius:8px}.topbar-menu{top:32px}.sticky-cart-bar{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom))}}@media (max-width: 700px){.mode-buttons{grid-template-columns:1fr}.entry-screen,.confirmation-screen,.page{padding:14px}.controls{gap:8px}.status-actions.inline{margin-bottom:14px}.entry-card,.confirmation-card,.menu,.cart{border-radius:24px}.order-number-spotlight,.order-number-fallback{border-radius:20px}.item-card{border-radius:16px;padding:10px}.item-image,.skeleton-image{height:100px}.mode-card,.add-button,.primary-action,.checkout button,.cart-primary-cta,.sticky-cart-action{min-height:44px}.sticky-cart-bar{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:10px 12px}.sticky-cart-summary{min-width:0}.sticky-cart-action{min-width:128px;width:auto;padding-inline:14px}}.tracking-page{min-height:100vh;padding:16px;display:grid;place-items:center;background:radial-gradient(circle at 100% 0%,#c9f5eb 0%,transparent 32%),radial-gradient(circle at 0% 100%,#fee4c8 0%,transparent 35%),var(--surface-100)}.tracking-container{width:min(520px,100%);display:grid;gap:14px}.tracking-header{text-align:center;padding:8px 0 4px}.tracking-store-name{margin:0;font-size:1.3rem;font-weight:800;color:var(--ink-900)}.tracking-subtitle{margin:4px 0 0;font-size:.88rem;color:var(--ink-500);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.tracking-card{border-radius:22px;background:#fff;border:1px solid var(--surface-300);box-shadow:var(--shadow-soft);padding:clamp(16px,3.5vw,24px);animation:revealUp .28s ease-out}.tracking-status-card{display:flex;align-items:center;gap:16px;position:relative;overflow:hidden}.tracking-status-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.06;border-radius:inherit}.tracking-status-card.status-queued:before{background:linear-gradient(135deg,#f59e0b,#fbbf24)}.tracking-status-card.status-preparing:before{background:linear-gradient(135deg,#3b82f6,#60a5fa)}.tracking-status-card.status-ready:before{background:linear-gradient(135deg,#10b981,#34d399)}.tracking-status-card.status-completed:before{background:linear-gradient(135deg,#8b5cf6,#a78bfa)}.tracking-status-card.status-cancelled:before{background:linear-gradient(135deg,#ef4444,#f87171)}.tracking-status-icon-wrap{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:var(--surface-100);flex-shrink:0;position:relative;z-index:1}.tracking-status-icon{font-size:1.6rem}.tracking-status-info{flex:1;min-width:0;position:relative;z-index:1}.tracking-status-label{margin:0;font-size:1.2rem;font-weight:800;color:var(--ink-900)}.tracking-order-number{margin:3px 0 0;font-size:.92rem;color:var(--ink-500);font-weight:600}.tracking-live-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:#ecfdf5;color:#059669;font-size:.72rem;font-weight:700;letter-spacing:.03em;position:relative;z-index:1;flex-shrink:0}.tracking-live-dot{width:6px;height:6px;border-radius:50%;background:#10b981;animation:livePulse 1.5s ease-in-out infinite}@keyframes livePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}.tracking-progress{display:flex;align-items:flex-start;justify-content:space-between;padding:12px 8px 4px;gap:0}.tracking-step{display:flex;flex-direction:column;align-items:center;flex:1;position:relative;gap:8px}.tracking-step-dot{width:32px;height:32px;border-radius:50%;background:var(--surface-300);display:grid;place-items:center;position:relative;z-index:2;transition:background-color .3s ease,transform .3s ease}.tracking-step.active .tracking-step-dot{transform:scale(1)}.tracking-step.current .tracking-step-dot{transform:scale(1.15);box-shadow:0 0 0 4px #10b9812e;animation:currentPulse 2s ease-in-out infinite}@keyframes currentPulse{0%,to{box-shadow:0 0 0 4px #10b9812e}50%{box-shadow:0 0 0 8px #10b98114}}.tracking-step-check{color:#fff;font-size:.7rem;font-weight:800}.tracking-step-line{position:absolute;top:16px;left:calc(50% + 16px);right:calc(-50% + 16px);height:3px;background:var(--surface-300);z-index:1;border-radius:2px;transition:background-color .3s ease}.tracking-step-line.active{background:var(--brand-500)}.tracking-step-label{margin:0;font-size:.7rem;font-weight:600;color:var(--ink-500);text-align:center}.tracking-step.active .tracking-step-label{color:var(--ink-900);font-weight:700}.tracking-cancelled-banner,.tracking-completed-banner{text-align:center;padding:14px 16px;border-radius:16px;font-weight:700;font-size:.92rem;animation:revealUp .28s ease-out}.tracking-cancelled-banner{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.tracking-completed-banner{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.tracking-details-card h3{margin:0 0 12px;font-size:1rem;font-weight:700;color:var(--ink-900)}.tracking-items-list{display:grid;gap:6px;padding-bottom:12px;border-bottom:1px solid var(--surface-200)}.tracking-item-row{display:flex;align-items:baseline;gap:8px;font-size:.9rem;color:var(--ink-700)}.tracking-item-qty{font-weight:700;color:var(--brand-500);flex-shrink:0;min-width:24px}.tracking-item-name{flex:1;min-width:0;word-break:break-word}.tracking-meta{padding-top:12px;display:grid;gap:6px}.tracking-meta-row{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.85rem}.tracking-meta-label{color:var(--ink-500);font-weight:500}.tracking-meta-value{color:var(--ink-900);font-weight:600;text-align:right}.tracking-footer{text-align:center;padding:4px 0 12px}.tracking-connection-status{margin:0;font-size:.78rem;color:var(--ink-500)}.tracking-loading{display:grid;place-items:center;gap:16px;padding:48px 24px;text-align:center}.tracking-loading h2{margin:0;font-size:1.1rem;color:var(--ink-900)}.tracking-spinner{width:40px;height:40px;border:3px solid var(--surface-300);border-top-color:var(--brand-500);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.tracking-subtle{margin:0;font-size:.88rem;color:var(--ink-500)}.tracking-error-card{display:grid;place-items:center;gap:12px;padding:48px 24px;text-align:center}.tracking-error-icon{font-size:2.4rem}.tracking-error-card h2{margin:0;font-size:1.2rem;color:var(--ink-900)}.tracking-retry-btn{margin-top:8px;padding:11px 24px;border-radius:14px;background:linear-gradient(180deg,var(--brand-500),var(--brand-700));color:#fff;font-weight:700;font-size:.9rem;box-shadow:0 4px 14px #0a8f7640}.tracking-retry-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px #0a8f764d}@media (max-width: 480px){.tracking-page{padding:10px}.tracking-status-icon-wrap{width:46px;height:46px;border-radius:14px}.tracking-status-icon{font-size:1.3rem}.tracking-status-label{font-size:1.05rem}.tracking-step-dot{width:26px;height:26px}.tracking-step-label{font-size:.62rem}.tracking-step-line{top:13px}}
