.checkout-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#1a1a1a73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .25s ease-out}.checkout-drawer{width:100%;background:#fdfbf7;border-top-left-radius:28px;border-top-right-radius:28px;max-height:85%;display:flex;flex-direction:column;box-shadow:0 -10px 40px #0000001f;animation:slideUp .3s cubic-bezier(.16,1,.3,1);overflow:hidden}.checkout-header{padding:20px 24px;border-bottom:1px solid rgba(0,0,0,.05);display:flex;align-items:center;justify-content:space-between}.header-title{display:flex;align-items:center;gap:10px}.header-icon{color:var(--green)}.header-title h2{font-size:1.15rem;font-weight:700;color:var(--ink)}.item-count{font-size:.8rem;color:var(--muted);background:#0000000a;padding:2px 8px;border-radius:10px;font-weight:600}.close-btn{width:36px;height:36px;border-radius:50%;background:#0000000a;display:flex;align-items:center;justify-content:center;color:var(--ink);transition:background .2s}.close-btn:hover{background:#00000014}.checkout-content{flex:1;overflow-y:auto;padding:0 24px 100px;scrollbar-width:none}.checkout-content::-webkit-scrollbar{display:none}.checkout-section{padding:20px 0;border-bottom:1px solid rgba(0,0,0,.05)}.section-title{font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:14px}.basket-items{display:flex;flex-direction:column;gap:16px}.basket-item{display:flex;align-items:center;gap:14px}.item-img-wrapper{width:54px;height:54px;border-radius:16px;display:flex;align-items:center;justify-content:center;padding:6px}.item-img-wrapper img{width:100%;height:100%;object-fit:contain}.item-details{flex:1;text-align:left}.item-details h4{font-size:.95rem;font-weight:600;color:var(--ink);line-height:1.2}.item-addons{font-size:.75rem;color:var(--muted);margin-top:2px}.item-price{font-size:.9rem;font-weight:700;color:var(--green);display:block;margin-top:4px}.qty-controls{display:flex;align-items:center;background:#0000000a;border-radius:12px;padding:4px;gap:10px}.qty-btn{width:24px;height:24px;border-radius:8px;background:var(--white);display:flex;align-items:center;justify-content:center;color:var(--ink);box-shadow:var(--shadow-soft);transition:transform .1s}.qty-btn:active{transform:scale(.9)}.qty-val{font-size:.9rem;font-weight:700;min-width:16px;text-align:center}.order-type-toggle{display:flex;gap:12px}.toggle-option{flex:1;border:1px solid rgba(0,0,0,.08);border-radius:18px;padding:14px;display:flex;align-items:flex-start;gap:10px;background:var(--white);transition:all .25s ease;text-align:left}.toggle-option.active{border-color:var(--green);background:#5a7d2e0f;box-shadow:0 4px 12px #5a7d2e14}.toggle-option.active svg{color:var(--green)}.toggle-option svg{color:var(--muted);margin-top:2px;flex-shrink:0}.toggle-option strong{display:block;font-size:.88rem;font-weight:700;color:var(--ink)}.toggle-option small{display:block;font-size:.72rem;color:var(--muted);margin-top:2px}.select-wrapper{position:relative;width:100%}.select-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.select-wrapper select{width:100%;padding:14px 16px 14px 44px;border-radius:16px;border:1px solid rgba(0,0,0,.08);background:var(--white);font-family:inherit;font-size:.95rem;font-weight:600;color:var(--ink);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none}.select-wrapper:after{content:"";position:absolute;right:18px;top:50%;transform:translateY(-50%) rotate(45deg);width:6px;height:6px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);pointer-events:none}.bill-details{border-bottom:none}.bill-row{display:flex;justify-content:space-between;font-size:.9rem;color:var(--muted);margin-bottom:10px}.bill-row span:last-child{font-weight:600;color:var(--ink)}.bill-divider{border:none;border-top:1px dashed rgba(0,0,0,.08);margin:12px 0}.bill-row.total{font-size:1.05rem;color:var(--ink);font-weight:700;margin-bottom:0}.bill-row.total span:last-child{font-size:1.15rem;font-weight:800;color:var(--green)}.checkout-footer{position:absolute;bottom:0;left:0;right:0;background:var(--white);border-top:1px solid rgba(0,0,0,.05);padding:16px 24px 24px}.checkout-order-error{margin:0 0 12px;padding:10px 14px;border-radius:10px;background:#dc354514;color:#dc3545;font-size:.85rem;font-weight:600}.checkout-cta-wrapper{display:flex;align-items:center;justify-content:space-between;gap:20px}.price-summary{text-align:left}.price-summary small{display:block;font-size:.72rem;color:var(--muted);font-weight:600;letter-spacing:.5px}.price-summary strong{font-size:1.35rem;font-weight:800;color:var(--ink)}.place-order-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;font-weight:700;letter-spacing:.5px;background:var(--green);color:var(--white);border-radius:18px;padding:16px 20px;font-size:.95rem;box-shadow:0 6px 20px #5a7d2e40;transition:background .2s,transform .1s}.place-order-btn:active{transform:translateY(1px)}.place-order-btn:disabled{background:var(--muted-2);box-shadow:none;cursor:not-allowed}.checkout-empty{padding:60px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-icon-wrapper{width:90px;height:90px;border-radius:50%;background:#5a7d2e0f;color:var(--green);display:grid;place-items:center;margin-bottom:20px}.checkout-empty h3{font-size:1.15rem;font-weight:700;color:var(--ink);margin-bottom:8px}.checkout-empty p{font-size:.88rem;color:var(--muted);margin-bottom:24px;max-width:250px;line-height:1.4}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.notif-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;flex-direction:column;background:var(--bg);animation:notif-in .26s ease}@keyframes notif-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.notif-header{display:grid;grid-template-columns:40px 1fr auto;align-items:center;min-height:56px;padding-top:calc(10px + var(--safe-top));padding-bottom:8px;flex-shrink:0}.notif-header h1{text-align:center;font-size:18px;font-weight:700;color:var(--ink)}.notif-mark-all{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border-radius:10px;color:var(--green-deep);font-size:12px;font-weight:700;background:#eef3e6}.notif-filters{display:flex;gap:8px;padding-bottom:8px;flex-shrink:0}.notif-filter{padding:7px 14px;border-radius:12px;background:#0000000a;color:var(--muted);font-size:12px;font-weight:700}.notif-filter.is-active{background:var(--green);color:#fff}.notif-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:calc(24px + var(--safe-bottom))}.notif-body::-webkit-scrollbar{display:none}.notif-group{margin-bottom:18px}.notif-group__label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.notif-row{display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;background:#fff;border-radius:18px;padding:14px 14px 14px 16px;box-shadow:var(--shadow-soft);margin-bottom:8px;border:1.5px solid transparent;transition:border-color .18s,transform .12s}.notif-row.is-unread{border-color:#5a7d2e47;background:#f7faf2}.notif-row:active{transform:scale(.99)}.notif-row__icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex-shrink:0;background:#eef3e6;color:var(--green)}.notif-row__icon--promo{background:#fff1e4;color:#c46b2e}.notif-row__icon--system{background:#ececec;color:#555}.notif-row__copy{flex:1;min-width:0}.notif-row__copy strong{display:block;font-size:14px;font-weight:800;color:var(--ink)}.notif-row__copy p{margin-top:3px;font-size:12px;font-weight:500;color:#555;line-height:1.45}.notif-row__copy small{display:block;margin-top:6px;font-size:11px;font-weight:600;color:var(--muted)}.notif-row__dot{width:8px;height:8px;border-radius:50%;background:var(--green);flex-shrink:0;margin-top:8px}.notif-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:48px 20px 20px}.notif-empty__icon{width:64px;height:64px;border-radius:20px;background:#eef3e6;color:var(--green);display:grid;place-items:center;margin-bottom:16px}.notif-empty h2{font-size:18px;font-weight:800;color:var(--ink)}.notif-empty p{margin:8px 0 20px;font-size:13px;font-weight:500;color:var(--muted);max-width:260px;line-height:1.45}.notif-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:48px 0;color:var(--muted);font-size:13px;font-weight:600}.notif-spin{animation:notif-spin .7s linear infinite}@keyframes notif-spin{to{transform:rotate(360deg)}}.checkout-auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#1a1a1a73;display:flex;align-items:flex-end;justify-content:center;padding:0;animation:checkout-auth-fade .2s ease}.checkout-auth-sheet{width:100%;max-width:520px;max-height:min(92dvh,720px);overflow-y:auto;background:var(--bg);border-radius:28px 28px 0 0;padding:10px 20px calc(20px + var(--safe-bottom));box-shadow:0 -12px 40px #281e142e;animation:checkout-auth-up .28s ease}.checkout-auth-handle{width:40px;height:4px;border-radius:999px;background:#ddd4c8;margin:4px auto 14px}.checkout-auth-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.checkout-auth-header h2{font-size:20px;font-weight:700;color:var(--ink)}.checkout-auth-header p{margin-top:4px;font-size:13px;color:var(--muted);line-height:1.4;max-width:280px}.checkout-auth-close{width:36px;height:36px;border-radius:50%;background:#f0ebe3;color:var(--ink);display:grid;place-items:center;flex-shrink:0}.checkout-auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;background:#f0ebe3;border-radius:14px;margin-bottom:14px}.checkout-auth-tabs button{min-height:40px;border-radius:11px;font-size:13px;font-weight:700;color:var(--muted)}.checkout-auth-tabs button.is-on{background:#fff;color:var(--green-deep);box-shadow:var(--shadow-soft)}.checkout-auth-error{margin-bottom:12px;padding:10px 12px;border-radius:12px;background:#fdeceb;color:#b42318;font-size:12px;font-weight:600;line-height:1.35}.checkout-auth-form{display:flex;flex-direction:column;gap:12px}.checkout-auth-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#555}.checkout-auth-field{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #ebe4da;border-radius:14px;padding:0 14px;min-height:48px;color:var(--green-deep)}.checkout-auth-field:focus-within{border-color:var(--green)}.checkout-auth-field input{flex:1;min-width:0;font-size:14px;font-weight:600;color:var(--ink);outline:none}.checkout-auth-submit{width:100%;min-height:50px;margin-top:4px;letter-spacing:.03em;font-size:13px}.checkout-auth-divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:16px 0 12px;color:var(--muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.checkout-auth-divider:before,.checkout-auth-divider:after{content:"";height:1px;background:#e4ddd2}.checkout-auth-guest{width:100%;display:flex;align-items:center;gap:12px;text-align:left;background:#fff;border:1.5px dashed #cfd8c0;border-radius:16px;padding:14px 16px;color:var(--green-deep)}.checkout-auth-guest strong{display:block;font-size:14px;font-weight:700;color:var(--ink)}.checkout-auth-guest small{display:block;margin-top:2px;font-size:11px;font-weight:500;color:var(--muted)}.checkout-auth-guest:active{background:#f4f8ee}@keyframes checkout-auth-fade{0%{opacity:0}to{opacity:1}}@keyframes checkout-auth-up{0%{transform:translateY(24px);opacity:.6}to{transform:translateY(0);opacity:1}}.payment-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;flex-direction:column;background:var(--bg);animation:payment-in .28s ease}@keyframes payment-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.payment-header{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;min-height:52px;padding-top:calc(6px + var(--safe-top));flex-shrink:0}.payment-header h1{text-align:center;font-size:18px;font-weight:700}.payment-header__spacer{width:40px;height:40px}.payment-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:24px;scrollbar-width:none}.payment-body::-webkit-scrollbar{display:none}.payment-amount-card{display:flex;align-items:center;gap:14px;background:#fff;border-radius:var(--radius-lg);padding:16px 18px;box-shadow:var(--shadow-soft);margin-bottom:12px}.payment-amount-card__icon{width:48px;height:48px;border-radius:16px;background:var(--green);color:#fff;display:grid;place-items:center;flex-shrink:0}.payment-amount-card p{font-size:12px;font-weight:600;color:var(--muted)}.payment-amount-card strong{display:block;margin-top:2px;font-size:26px;font-weight:700;color:var(--ink);letter-spacing:-.02em}.payment-meta{display:flex;flex-direction:column;gap:4px;margin-bottom:20px;padding:0 2px;font-size:12px;font-weight:600;color:#555}.payment-meta span{display:inline-flex;align-items:center;gap:6px}.payment-section-title{font-size:15px;font-weight:700;margin-bottom:10px}.payment-methods{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.payment-method{display:grid;grid-template-columns:40px 1fr 24px;align-items:center;gap:12px;width:100%;text-align:left;background:#fff;border-radius:16px;padding:12px 14px;box-shadow:var(--shadow-soft);transition:box-shadow .15s ease,background .15s ease}.payment-method.is-on{background:#f4f8ee;box-shadow:0 0 0 1.5px var(--green),var(--shadow-soft)}.payment-method__icon{width:40px;height:40px;border-radius:12px;background:#eef3e6;color:var(--green-deep);display:grid;place-items:center}.payment-method.is-on .payment-method__icon{background:var(--green);color:#fff}.payment-method__text{display:flex;flex-direction:column;gap:2px;min-width:0}.payment-method__text strong{font-size:14px;font-weight:700;color:var(--ink)}.payment-method__text small{font-size:11px;color:var(--muted)}.payment-method__check{color:var(--green);display:grid;place-items:center}.payment-wallet-panel{background:#fff;border-radius:16px;padding:14px 16px 16px;box-shadow:var(--shadow-soft);margin-bottom:12px}.payment-wallet-panel__head h3{font-size:14px;font-weight:700;color:var(--ink)}.payment-wallet-panel__head p{margin-top:4px;font-size:12px;font-weight:500;color:var(--muted);line-height:1.4}.payment-wallet-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.payment-wallet-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 8px 10px;border-radius:16px;background:#f8f6f2;text-align:center;transition:box-shadow .15s ease,transform .12s ease,background .15s ease}.payment-wallet-tile:active:not(:disabled){transform:scale(.97)}.payment-wallet-tile.is-on{background:#f4f8ee;box-shadow:0 0 0 1.5px var(--green),var(--shadow-soft)}.payment-wallet-tile__logo{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;color:#fff;font-size:13px;font-weight:800;letter-spacing:-.02em}.payment-wallet-tile strong{font-size:11px;font-weight:700;color:var(--ink);line-height:1.2}.payment-wallet-tile__badge{position:absolute;top:6px;right:6px;color:var(--green)}.payment-wallet-quick-pay{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:14px;padding:13px 14px;border-radius:14px;background:var(--green);color:#fff;font-size:13px;font-weight:700;letter-spacing:.01em;box-shadow:0 8px 20px #5a7d2e40}.payment-wallet-quick-pay:disabled{opacity:.6}.payment-wallet-manual-toggle{display:block;width:100%;margin-top:12px;padding:8px 0;font-size:12px;font-weight:600;color:var(--green-deep);text-decoration:underline;text-underline-offset:3px}.payment-form--nested{margin-top:10px;margin-bottom:0;padding:12px 14px 14px;background:#fdfbf7;box-shadow:inset 0 0 0 1px #ebe4da}.payment-form{display:flex;flex-direction:column;gap:8px;background:#fff;border-radius:16px;padding:14px 16px 16px;box-shadow:var(--shadow-soft);margin-bottom:12px}.payment-form label{font-size:12px;font-weight:600;color:#555;margin-top:4px}.payment-form label:first-child{margin-top:0}.payment-form input{width:100%;border:1px solid #ebe4da;border-radius:12px;padding:12px 14px;font:inherit;font-size:14px;font-weight:600;color:var(--ink);background:#fdfbf7;outline:none}.payment-form input:focus{border-color:var(--green)}.payment-form__row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.payment-form__row>div{display:flex;flex-direction:column;gap:8px}.payment-counter-note{margin-bottom:12px;padding:12px 14px;border-radius:14px;background:#eef3e6;color:#3f5a22;font-size:12px;font-weight:600;line-height:1.45}.payment-error{margin-bottom:10px;font-size:12px;font-weight:700;color:#b42318}.payment-secure{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:500;color:#6b6b6b;margin-top:4px}.payment-footer{flex-shrink:0;padding-top:10px;padding-bottom:calc(14px + var(--safe-bottom));background:linear-gradient(180deg,rgba(253,251,247,0) 0%,var(--bg) 35%)}.payment-pay-btn{width:100%;min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:13px;letter-spacing:.03em;box-shadow:0 10px 24px #5a7d2e47}.payment-pay-btn:disabled{opacity:.85}.payment-pay-btn.is-paid{background:#3f5a22}.payment-spin{animation:payment-spin .8s linear infinite}@keyframes payment-spin{to{transform:rotate(360deg)}}.page.cart-page{padding-top:6px;padding-bottom:calc(var(--nav-h) + var(--safe-bottom) + 92px)}.cart-header{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;min-height:52px}.cart-header h1{text-align:center;font-size:18px;font-weight:700}.cart-header__spacer{width:40px;height:40px}.cart-empty,.cart-success{margin-top:64px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.cart-empty__icon,.cart-success__icon{width:64px;height:64px;border-radius:50%;background:#eef3e6;color:var(--green);display:grid;place-items:center;margin-bottom:6px}.cart-empty h2,.cart-success h2{font-size:22px;font-weight:700}.cart-empty p,.cart-success p{font-size:13px;color:var(--muted);max-width:280px;line-height:1.45;margin-bottom:10px}.cart-success__secondary{margin-top:8px;background:#eef3e6;color:var(--green-deep)}.cart-section-title{font-size:15px;font-weight:700;margin-bottom:10px}.order-type{margin-top:8px}.order-type h2{font-size:15px;font-weight:700;margin-bottom:12px}.order-type__scroll{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.order-type__card{display:flex;flex-direction:column;align-items:center;gap:4px;background:#fff;border-radius:16px;padding:12px 6px 10px;box-shadow:var(--shadow-soft);text-align:center;transition:box-shadow .2s ease,transform .15s ease}.order-type__card.is-on{box-shadow:0 0 0 1.5px var(--green),var(--shadow-soft);background:#f4f8ee}.order-type__icon{width:36px;height:36px;border-radius:12px;background:#eef3e6;color:var(--green-deep);display:grid;place-items:center;margin-bottom:2px}.order-type__card.is-on .order-type__icon{background:var(--green);color:#fff}.order-type__card strong{font-size:11px;font-weight:700;color:var(--ink)}.order-type__card small{font-size:9px;color:var(--muted);line-height:1.2}.fulfillment{margin-top:14px}.fulfillment__card{background:#fff;border-radius:var(--radius-lg);padding:14px 16px 16px;box-shadow:var(--shadow-soft)}.fulfillment__head{display:flex;align-items:center;gap:8px;color:var(--green-deep);margin-bottom:12px}.fulfillment__head h3{font-size:14px;font-weight:700;color:var(--ink)}.fulfillment__input{width:100%;border:1px solid #ebe4da;border-radius:14px;padding:12px 14px;font:inherit;font-size:13px;color:var(--ink);background:#fdfbf7;resize:none;outline:none}.fulfillment__input:focus{border-color:var(--green)}.fulfillment__note{margin-top:10px;font-size:11px;font-weight:500;color:#5c5c5c;line-height:1.45}.fulfillment__note--pad{margin-top:12px;padding:10px 12px;border-radius:12px;background:#eef3e6;color:#3f5a22}.fulfillment__head--spaced{margin-top:16px}.fulfillment__card--gap{margin-top:12px}.fulfillment__error{margin-top:10px;font-size:12px;font-weight:600;color:#b42318;line-height:1.4}.slot-row{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}.slot-row::-webkit-scrollbar{display:none}.slot-chip{flex-shrink:0;padding:10px 14px;border-radius:999px;background:#f4f1ea;font-size:12px;font-weight:600;color:#555}.slot-chip.is-on{background:var(--green);color:#fff}.slot-chip.is-disabled,.slot-chip:disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through}.date-chip{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:72px;border-radius:16px;padding:10px 12px}.date-chip strong{font-size:12px}.date-chip span{font-size:10px;font-weight:500;opacity:.85}.table-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px}.table-chip{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;border-radius:14px;background:#f4f1ea;color:#555}.table-chip strong{font-size:13px;font-weight:700;color:var(--ink)}.table-chip span{font-size:10px;font-weight:500}.table-chip.is-on{background:var(--green);color:#fff}.table-chip.is-on strong{color:#fff}.dine-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dine-grid--single{grid-template-columns:1fr}.dine-grid label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:600;color:#555}.dine-grid input{border:1px solid #ebe4da;border-radius:12px;padding:11px 12px;font:inherit;font-size:14px;font-weight:700;color:var(--ink);background:#fdfbf7;outline:none}.dine-grid input:focus{border-color:var(--green)}.dine-qty{width:fit-content}.cart-qty button:disabled{opacity:.35;cursor:not-allowed}.cart-list{display:flex;flex-direction:column;gap:12px;margin-top:14px}.cart-item{display:grid;grid-template-columns:84px 1fr;gap:12px;background:#fff;border-radius:18px;padding:10px;box-shadow:var(--shadow-soft)}.cart-item__img{width:84px;height:84px;border-radius:14px;overflow:hidden;display:grid;place-items:center;padding:6px}.cart-item__img img{width:100%;height:100%;object-fit:contain}.cart-item__body{display:flex;flex-direction:column;justify-content:space-between;min-width:0}.cart-item__top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.cart-item__top h3{font-size:14px;font-weight:700;line-height:1.25}.cart-item__top p{margin-top:2px;font-size:11px;color:var(--muted)}.cart-item__top small{display:block;margin-top:4px;font-size:11px;color:#6f7d58;line-height:1.3}.cart-item__remove{width:30px;height:30px;border-radius:10px;color:#9a9a9a;display:grid;place-items:center;flex-shrink:0}.cart-item__row{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.cart-item__row>span{font-size:14px;font-weight:700}.cart-qty{display:inline-flex;align-items:center;gap:8px;background:#f4f1ea;border-radius:999px;padding:4px}.cart-qty button{width:26px;height:26px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;box-shadow:var(--shadow-soft)}.cart-qty span{min-width:16px;text-align:center;font-size:13px;font-weight:700}.cart-summary{margin-top:18px;background:#fff;border-radius:var(--radius-lg);padding:16px 18px;box-shadow:var(--shadow-soft)}.cart-summary h2{font-size:15px;font-weight:700;margin-bottom:12px}.cart-summary__row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:13px;color:#555}.cart-summary__row strong{color:var(--ink);font-weight:700}.cart-summary__hint{font-size:11px;color:var(--green);margin:2px 0 10px}.cart-summary__total{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:12px;border-top:1px dashed #e4ddd2;font-size:15px;font-weight:700}.cart-checkout{position:fixed;left:0;right:0;bottom:calc(var(--nav-h) + var(--safe-bottom));z-index:30;margin:0;padding:10px 20px 12px;background:linear-gradient(180deg,rgba(253,251,247,0) 0%,rgba(253,251,247,.92) 28%,var(--bg) 55%);pointer-events:none}.cart-checkout__btn{width:100%;min-height:50px;font-size:13px;letter-spacing:.03em;box-shadow:0 10px 24px #5a7d2e47;pointer-events:auto}.cart-checkout__btn:disabled{opacity:.55;box-shadow:none}@media(max-width:360px){.order-type__card small{display:none}}.home-page{padding-top:0}.home-hero{position:relative;width:100%;height:min(70dvh,620px);min-height:520px;overflow:hidden;background:#fdfbf7;touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none}.home-hero:active{cursor:grabbing}.home-hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.home-hero__slide{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .45s ease;pointer-events:none}.home-hero__slide.is-active{opacity:1}.home-hero__img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center center;pointer-events:none}.home-hero__img--desktop,.home-hero__scrim{display:none}.home-hero__overlay{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;padding:8px 18px 16px;pointer-events:none}.home-hero__overlay>*{pointer-events:auto}.home-hero__header{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;min-height:96px}.home-hero__icon{width:40px;height:40px;display:grid;place-items:center;color:#2d2a26;border-radius:12px}.home-hero__icon:last-child{justify-self:end}.home-hero__bell{position:relative}.home-hero__badge{position:absolute;top:4px;right:4px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#c23a2e;color:#fff;font-size:9px;font-weight:800;line-height:16px;text-align:center}.home-hero__logo{width:100px;height:118px;margin:0 auto;display:grid;place-items:center}.home-hero__logo img{width:100%;height:100%;object-fit:contain;object-position:center}.home-hero__brand{display:none}.home-hero__copy{margin-top:6px;max-width:220px;padding-left:2px}.home-hero__copy h1{font-size:34px;line-height:1.08;font-weight:700;letter-spacing:-.03em;color:#2c241c}.home-hero__copy h1 span{display:block}.home-hero__copy h1 .accent{color:#6a9a2e}.home-hero__copy>p:not(.home-hero__brand){margin-top:10px;font-size:13px;line-height:1.45;font-weight:500;color:#5c5c5c;max-width:188px}.home-hero__cta{margin-top:18px;display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:999px;background:#5a7d2e;color:#fff;font-size:12.5px;font-weight:700;letter-spacing:.05em;box-shadow:0 6px 16px #5a7d2e47;transition:transform .15s ease,background .15s ease}.home-hero__cta:active{transform:scale(.97);background:#4a6824}.home-hero__dots{margin-top:auto;display:flex;justify-content:center;align-items:center;gap:7px;padding-bottom:2px}.home-hero__dots button{width:7px;height:7px;padding:0;border-radius:50%;background:#ffffffbf;box-shadow:0 0 0 1px #0000000f;transition:background .2s ease,transform .2s ease}.home-hero__dots button.is-active{background:#6a9a2e;box-shadow:none;transform:scale(1.12)}.home-cats{margin:14px 0 8px}.cat-item{width:72px;display:flex;flex-direction:column;align-items:center;gap:8px}.cat-item__img{width:64px;height:64px;border-radius:18px;overflow:hidden;background:#f6efe6;box-shadow:var(--shadow-soft)}.cat-item__img img{width:100%;height:100%;object-fit:cover}.cat-item span{font-size:11px;font-weight:600;color:#333;text-align:center;line-height:1.2}.home-promo{overflow:hidden}.promo-carousel{overflow:hidden;border-radius:var(--radius-lg);touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none}.promo-carousel:active{cursor:grabbing}.promo-track{display:flex;transition:transform .45s cubic-bezier(.25,.8,.25,1);will-change:transform}.promo-card{position:relative;flex:0 0 100%;width:100%;background:linear-gradient(135deg,#ffe8d4,#f7d9c0);border-radius:var(--radius-lg);padding:20px 18px;min-height:132px;overflow:hidden;display:flex;align-items:center}.promo-card__text{position:relative;z-index:2;max-width:62%}.promo-card__text h3{font-size:17px;font-weight:700;color:var(--ink-soft);line-height:1.2}.promo-card__text p{margin:6px 0 12px;font-size:11px;line-height:1.4;color:#5a4a40}.promo-card__img{position:absolute;right:-6px;bottom:-10px;width:140px;height:140px;object-fit:contain;pointer-events:none;filter:drop-shadow(0 8px 16px rgba(0,0,0,.12))}.home-promo__dots{margin-top:10px}.home-promo__dots button{width:6px;height:6px;padding:0;border-radius:50%;background:#d5d0c8;transition:background .2s ease,transform .2s ease}.home-promo__dots button.active{background:var(--green);transform:scale(1.15)}.home-popular{margin-top:22px}.home-popular .scroll-x,.home-popular__grid{padding-bottom:4px;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.popular-card{display:flex;flex-direction:column;width:152px;flex-shrink:0;border-radius:var(--radius-lg);overflow:hidden;background:var(--white);box-shadow:var(--shadow-soft);cursor:pointer;transition:transform .2s ease}.popular-card:active{transform:scale(.98)}.popular-card__img{flex:0 0 118px;height:118px;width:100%;display:grid;place-items:center;padding:10px;overflow:hidden;position:relative;z-index:0}.popular-card__img img{width:100%;height:100%;object-fit:contain;object-position:center;pointer-events:none;display:block}.popular-card__body{position:relative;z-index:1;flex:1 1 auto;background:var(--white);padding:10px 12px 12px;margin:0;border-radius:0}.popular-card__body h3{font-size:13px;font-weight:700;line-height:1.25;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.popular-card__body p{margin-top:2px;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.popular-card__row{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:8px}.popular-card__row span{font-size:14px;font-weight:700}.rewards-banner{margin:22px 0 12px;background:linear-gradient(90deg,#c9a4d8,#e8b39a);border-radius:14px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.rewards-banner p{color:#fff;font-size:12px;font-weight:600;line-height:1.35;max-width:210px}.home-popular__actions{display:flex;align-items:center;gap:12px}.home-popular__arrows{display:none}@media(min-width:1024px){.home-page{padding-bottom:72px;background:#fff}.home-hero{display:block;position:relative;height:min(58vh,520px);min-height:440px;max-height:560px;margin-top:var(--nav-h);background:#f5f0e8;cursor:grab}.home-hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;width:auto;height:auto}.home-hero__img--mobile{display:none}.home-hero__img--desktop{display:block;object-fit:cover;object-position:var(--hero-desktop-pos, center center);transform:none}.home-hero__scrim{display:block;position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(95deg,rgba(255,255,255,.88) 0%,rgba(255,255,255,.55) 28%,rgba(255,255,255,.12) 48%,transparent 62%);pointer-events:none}.home-hero__header--mobile{display:none}.home-hero__overlay{position:relative;z-index:2;max-width:var(--desktop-max);margin:0 auto;width:100%;height:100%;padding:48px 32px 36px;display:flex;flex-direction:column;justify-content:center;background:none}.home-hero__brand{display:none}.home-hero__copy{margin-top:0;max-width:460px;padding-left:0;animation:home-copy-in .5s ease both}.home-hero__copy h1{font-size:clamp(44px,4.8vw,58px);line-height:1.05;font-weight:700;letter-spacing:-.035em;color:#2c2c2c}.home-hero__copy h1 .accent{color:#5a7d2e}.home-hero__copy>p:not(.home-hero__brand){margin-top:14px;font-size:16px;line-height:1.5;max-width:380px;font-weight:500;color:#6b6b6b}.home-hero__cta{margin-top:24px;padding:13px 24px;font-size:13px;font-weight:700;background:#5a7d2e}.home-hero__cta:hover{background:#4a6824}.home-hero__dots{position:absolute;left:50%;bottom:22px;transform:translate(-50%);margin-top:0;justify-content:center;gap:8px}.home-hero__dots button{width:8px;height:8px;background:#ffffffd9;box-shadow:0 0 0 1px #00000014}.home-hero__dots button.is-active{background:#5a7d2e;box-shadow:none}.home-desktop-shell{max-width:var(--desktop-max);margin:0 auto;padding:28px 32px 48px;width:100%}.home-mid{display:grid;grid-template-columns:minmax(280px,.95fr) 1.25fr;gap:28px;align-items:center}.home-cats{margin:0}.home-cats__inner.scroll-x{display:flex;flex-wrap:nowrap;justify-content:space-between;gap:12px;overflow:visible;padding:0;scroll-snap-type:none}.cat-item{width:auto;flex:1;min-width:0;gap:10px;padding:4px}.cat-item:hover{background:transparent;transform:none}.cat-item:hover .cat-item__img{transform:translateY(-3px);box-shadow:0 8px 18px #281e141f}.cat-item__img{width:100%;aspect-ratio:1;max-width:92px;height:auto;margin:0 auto;border-radius:20px;transition:transform .18s ease,box-shadow .18s ease}.cat-item span{font-size:12.5px;font-weight:600;color:#333}.home-promo.section-pad{padding:0;margin:0;overflow:visible}.promo-carousel{border-radius:22px}.promo-card{min-height:168px;padding:24px 28px;border-radius:22px}.promo-card__text{max-width:55%}.promo-card__text h3{font-size:22px;font-weight:700;line-height:1.2;color:#2c2c2c}.promo-card__text p{margin:8px 0 14px;font-size:13px;line-height:1.45;color:#5a5a5a;max-width:280px}.promo-card__text .pill-btn.dark{padding:10px 18px;font-size:11px;background:#1b3c24}.promo-card__img{right:18px;bottom:8px;width:150px;height:150px}.home-promo__dots{display:none}.home-popular{margin-top:40px}.home-popular .section-pad{padding-left:0;padding-right:0}.home-popular .section-head{margin-bottom:18px}.home-popular .section-head h2{font-size:26px;font-weight:700;color:#2c2c2c;letter-spacing:-.02em}.home-popular .view-all{font-size:14px;font-weight:600;color:#5a7d2e}.home-popular__arrows{display:flex;gap:8px}.home-popular__arrow{width:36px;height:36px;border-radius:50%;border:1px solid #e4e0da;background:#fff;color:#333;display:grid;place-items:center;transition:background .15s ease,border-color .15s ease}.home-popular__arrow:hover{background:#f4f1eb;border-color:#d0cbc3}.home-popular__grid.scroll-x{display:flex;gap:20px;overflow-x:auto;overflow-y:hidden;padding:4px 2px 12px;scroll-snap-type:x mandatory;scroll-behavior:smooth}.home-popular__grid .popular-card{width:260px;flex:0 0 260px;scroll-snap-align:start;border-radius:20px;box-shadow:0 4px 16px #281e1412}.popular-card{transition:transform .2s ease,box-shadow .2s ease}.popular-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #281e141a}.popular-card:active{transform:translateY(-1px)}.popular-card__img{flex:0 0 150px;height:150px;padding:14px}.popular-card__body{padding:12px 16px 16px}.popular-card__body h3{font-size:15px;font-weight:700}.popular-card__body p{font-size:12px}.popular-card__row span{font-size:16px;font-weight:700}}@keyframes home-copy-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.menu-page{padding-top:64px}.menu-page__decor{display:none}.menu-header{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;min-height:52px}.menu-header h1{text-align:center;font-size:18px;font-weight:700}.cart-icon{position:relative}.badge{position:absolute;top:4px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--green);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center}.menu-search{display:flex;gap:10px;align-items:center;margin-top:8px}.search-field{flex:1;display:flex;align-items:center;gap:10px;background:#fff;border-radius:999px;padding:12px 16px;box-shadow:var(--shadow-soft)}.search-field input{flex:1;outline:none;font-size:13px;color:var(--ink)}.search-field input::placeholder{color:#b0b0b0}.filter-btn{position:relative;width:46px;height:46px;border-radius:50%;background:var(--green-deep);display:grid;place-items:center;flex-shrink:0;box-shadow:0 6px 14px #1b3c2440}.filter-btn.is-active{background:var(--green)}.filter-btn__dot{position:absolute;top:8px;right:8px;width:8px;height:8px;border-radius:50%;background:#f4c15d;box-shadow:0 0 0 2px var(--green-deep)}.filter-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;font-size:12px;color:var(--muted)}.filter-summary button{color:var(--green);font-size:12px;font-weight:700}.menu-chips{margin-top:16px;margin-left:8px}.chip{padding:8px 16px;border-radius:999px;font-size:13px;font-weight:600;color:#555;background:transparent;white-space:nowrap}.chip.active{background:var(--green);color:#fff;box-shadow:0 4px 12px #4f7c1e40}.menu-banner{margin-top:14px;overflow:hidden}.banner-carousel{overflow:hidden;border-radius:var(--radius-lg);touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none}.banner-carousel:active{cursor:grabbing}.banner-track{display:flex;transition:transform .9s cubic-bezier(.22,.61,.36,1);will-change:transform}.fresh-banner{position:relative;flex:0 0 100%;width:100%;background:linear-gradient(120deg,#f6d7b8,#efc49a);border-radius:var(--radius-lg);padding:20px 18px;min-height:140px;overflow:hidden}.fresh-banner__text{position:relative;z-index:1;max-width:62%}.fresh-banner h3{font-size:20px;font-weight:700;color:#3b2418;line-height:1.15}.fresh-banner__accent{color:inherit}.fresh-banner p{margin:8px 0 14px;font-size:11px;color:#5a4030;max-width:160px;line-height:1.4}.learn-btn{background:#3b2418;color:#fff;padding:9px 14px;font-size:11px}.fresh-banner__desktop-bg,.fresh-banner__scrim{display:none}.fresh-banner__mobile-img{position:absolute;right:-4px;bottom:-8px;width:130px;height:130px;object-fit:contain;pointer-events:none}.menu-banner__dots{margin-top:10px}.menu-banner__dots button{width:6px;height:6px;padding:0;border-radius:50%;background:#d5d0c8;transition:background .25s ease,transform .25s ease}.menu-banner__dots button.active{background:var(--green);transform:scale(1.15)}.menu-section{margin-top:22px}.menu-list{display:flex;flex-direction:column;gap:12px}.menu-row{display:grid;grid-template-columns:78px 1fr 28px;gap:12px;align-items:center;background:#fff;border-radius:18px;padding:10px;box-shadow:var(--shadow-soft);cursor:pointer}.menu-row__img{width:78px;height:78px;border-radius:14px;overflow:hidden;display:grid;place-items:center;position:relative}.menu-row__img img{width:100%;height:100%;object-fit:cover}.menu-row__info h3{font-size:14px;font-weight:700}.menu-row__info p{margin:4px 0 8px;font-size:11px;color:var(--muted);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.menu-row__info span{font-size:14px;font-weight:700}.menu-row .add-btn{align-self:end;margin-bottom:4px}.view-all{display:inline-flex;align-items:center;gap:2px}.view-all__chevron{display:none}.empty-msg{margin-top:40px;text-align:center;color:var(--muted);font-size:14px}.filter-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:flex-end}.filter-sheet__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#14100c6b;border:none;cursor:pointer}.filter-sheet__panel{position:relative;z-index:1;width:100%;max-height:min(86dvh,640px);overflow-y:auto;background:var(--bg);border-radius:24px 24px 0 0;padding:10px 20px calc(20px + var(--safe-bottom));box-shadow:0 -12px 40px #0000002e;animation:filterUp .32s ease}.filter-sheet__handle{width:40px;height:4px;border-radius:999px;background:#d8d2c8;margin:2px auto 12px}.filter-sheet__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.filter-sheet__head h2{font-size:20px;font-weight:700}.filter-sheet__section{margin-top:18px}.filter-sheet__section h3{font-size:14px;font-weight:700;margin-bottom:10px;color:var(--ink-soft)}.filter-options{display:flex;flex-direction:column;gap:8px}.filter-option{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#fff;border-radius:16px;padding:12px 14px;box-shadow:var(--shadow-soft);transition:box-shadow .2s ease,transform .15s ease}.filter-option.is-on{box-shadow:0 0 0 1.5px var(--green),var(--shadow-soft)}.filter-option__radio{width:18px;height:18px;border-radius:50%;border:2px solid #cfc8bc;flex-shrink:0;position:relative}.filter-option.is-on .filter-option__radio{border-color:var(--green)}.filter-option.is-on .filter-option__radio:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:var(--green)}.filter-option__copy{display:flex;flex-direction:column;gap:2px}.filter-option__copy strong{font-size:13px;font-weight:700;color:var(--ink)}.filter-option__copy small{font-size:11px;color:var(--muted)}.filter-sheet__actions{margin-top:22px;display:grid;grid-template-columns:1fr 1.4fr;gap:10px}.filter-sheet__actions .pill-btn{width:100%;min-height:46px}@keyframes filterUp{0%{opacity:.4;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1024px){.menu-page{position:relative;padding-top:calc(var(--nav-h) + 8px);padding-bottom:64px;background:#faf9f6;overflow-x:hidden}.menu-page.has-cart-bar{padding-bottom:64px}.menu-page__decor{display:block;position:absolute;width:280px;height:280px;pointer-events:none;z-index:0;background:url(/assets/hero/bg-green-splash.png) center / contain no-repeat;opacity:.28;filter:blur(.5px)}.menu-page__decor--tl{top:40px;right:-40px;transform:rotate(18deg) scale(1.05)}.menu-page__decor--br{left:-60px;bottom:80px;transform:rotate(-28deg) scale(1.15);opacity:.22}.menu-search,.filter-summary,.menu-banner,.menu-section,.empty-msg{position:relative;z-index:1}.menu-header{display:none}.menu-search{margin-top:28px;gap:14px}.search-field{padding:14px 22px;border-radius:999px;box-shadow:0 2px 12px #281e140f;border:1px solid rgba(0,0,0,.04)}.search-field input{font-size:15px;font-weight:500}.search-field input::placeholder{color:#a8a8a8;font-weight:500}.filter-btn{width:52px;height:52px;background:#1b3c24;box-shadow:0 8px 18px #1b3c2438;transition:background .15s ease,transform .12s ease}.filter-btn:hover{background:#254f30}.filter-btn:active{transform:scale(.96)}.filter-summary{font-size:13px}.menu-chips{position:relative;z-index:1;max-width:none;margin:22px 0 0;padding-left:max(28px,calc((100% - var(--desktop-max)) / 2 + 28px));padding-right:max(28px,calc((100% - var(--desktop-max)) / 2 + 28px));width:100%}.menu-chips__track{display:flex;gap:10px;overflow:visible;padding:0;scroll-snap-type:none}.chip{padding:10px 22px;font-size:14px;font-weight:600;color:#3a3a3a;background:#ececec;box-shadow:none;transition:background .15s ease,color .15s ease,transform .12s ease}.chip:hover:not(.active){background:#e2e2e2}.chip.active{background:#1b3c24;color:#fff;box-shadow:0 4px 14px #1b3c2447}.menu-banner{margin-top:28px}.banner-carousel{border-radius:28px}.fresh-banner{min-height:260px;height:clamp(240px,28vw,300px);padding:40px 48px;border-radius:28px;background:#f5efe8!important;overflow:hidden}.fresh-banner__desktop-bg{display:block;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:68% center;pointer-events:none;z-index:0}.fresh-banner__scrim{display:block;position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(95deg,rgba(255,252,248,.92) 0%,rgba(255,252,248,.72) 26%,rgba(255,252,248,.28) 48%,transparent 64%);pointer-events:none}.fresh-banner__mobile-img{display:none}.fresh-banner__text{position:relative;z-index:2;max-width:42%}.fresh-banner h3{font-size:clamp(32px,3.2vw,40px);font-weight:700;letter-spacing:-.03em;line-height:1.1;color:#2c2c2c}.fresh-banner__accent{color:#5a7d2e}.fresh-banner p{margin:12px 0 20px;font-size:15px;font-weight:500;color:#5f5f5f;max-width:340px;line-height:1.5}.learn-btn{background:#1b3c24;color:#fff;padding:12px 22px;font-size:12px;font-weight:700;letter-spacing:.06em;box-shadow:0 4px 12px #1b3c2433;transition:background .15s ease,transform .12s ease}.learn-btn:hover{background:#254f30}.menu-banner__dots{margin-top:16px;gap:8px}.menu-banner__dots button{width:8px;height:8px;background:#d0cbc3}.menu-banner__dots button.active{background:#5a7d2e;transform:scale(1.2)}.menu-section{margin-top:36px}.menu-section .section-head{margin-bottom:18px}.menu-section .section-head h2{font-size:22px;font-weight:700;letter-spacing:-.02em;color:#1f1f1f}.menu-section .view-all{font-size:14px;font-weight:600;color:#5a7d2e;gap:2px;transition:opacity .15s ease}.menu-section .view-all:hover{opacity:.8}.view-all__chevron{display:inline-block;margin-left:2px}.menu-list{gap:14px}.menu-row{grid-template-columns:110px 1fr 40px;gap:18px;padding:14px 16px;border-radius:22px;box-shadow:0 2px 14px #281e140f;transition:box-shadow .2s ease,transform .15s ease}.menu-row:hover{box-shadow:0 6px 22px #281e141a;transform:translateY(-1px)}.menu-row__img{width:110px;height:110px;border-radius:18px}.menu-row__info h3{font-size:17px;font-weight:700;letter-spacing:-.02em;color:#1f1f1f}.menu-row__info p{margin:6px 0 10px;font-size:13px;color:#8a8a8a;-webkit-line-clamp:1}.menu-row__info span{font-size:16px;font-weight:700;color:#1f1f1f}.menu-row .add-btn{width:36px;height:36px;align-self:center;margin-bottom:0;background:#5a7d2e;box-shadow:0 4px 12px #5a7d2e47;transition:background .15s ease,transform .12s ease}.menu-row .add-btn:hover:not(:disabled){background:#4a6824}.menu-row .add-btn:active:not(:disabled){transform:scale(.92)}.empty-msg{font-size:15px}.filter-sheet{align-items:center;justify-content:center;padding:24px}.filter-sheet__panel{width:min(440px,100%);max-height:min(80vh,640px);border-radius:24px;padding:8px 24px 24px;animation:filterFade .28s ease}.filter-sheet__handle,.menu-page .floating-cart{display:none}}@keyframes filterFade{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.detail-page{padding-top:0;background:var(--bg)}.detail-hero{position:relative;border-radius:0 0 36px 36px;min-height:340px;padding:64px 12px 28px;overflow:hidden;background:var(--lavender)}.detail-hero__top{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center}.detail-hero__img{display:grid;place-items:center;height:260px;margin-top:4px}.detail-hero__img img{max-height:100%;width:auto;max-width:92%;object-fit:contain;filter:drop-shadow(0 16px 28px rgba(80,40,80,.18))}.detail-hero__dots{position:absolute;left:0;right:0;bottom:14px}.detail-body{padding-top:20px;padding-bottom:24px}.detail-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.detail-title-row h1{font-size:24px;font-weight:700;letter-spacing:-.02em;line-height:1.15}.detail-title-row span{font-size:22px;font-weight:700;color:var(--green);white-space:nowrap}.detail-desc{margin-top:10px;font-size:13px;line-height:1.5;color:#6b6b6b}.detail-card{margin-top:18px;background:#fff;border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-soft)}.detail-card h2{font-size:16px;font-weight:700}.ingredients-row{margin-top:14px;display:flex;justify-content:space-between;gap:6px}.ingredient{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.ingredient__img{width:44px;height:44px;border-radius:50%;overflow:hidden;background:#f6f1ea;display:grid;place-items:center}.ingredient__img img{width:100%;height:100%;object-fit:cover}.ingredient span{font-size:10px;font-weight:600;color:#444;line-height:1.2}.addons-sub{margin-top:4px;font-size:12px;color:var(--muted)}.addons-list{list-style:none;margin-top:12px;display:flex;flex-direction:column;gap:12px}.addons-list label{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:10px;cursor:pointer}.addons-list input{position:absolute;opacity:0;pointer-events:none}.addons-list .box{width:20px;height:20px;border-radius:5px;border:1.5px solid #cfc9c0;display:grid;place-items:center}.addons-list .box.on{background:var(--green);border-color:var(--green)}.addons-list .box.on:after{content:"";width:5px;height:9px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg);margin-top:-2px}.addons-list .name{font-size:14px;font-weight:500}.addons-list .price{font-size:13px;font-weight:600}.detail-actions{margin-top:18px;display:flex;gap:10px;align-items:center;background:#fff;border-radius:999px;padding:6px;box-shadow:var(--shadow-soft)}.qty{display:flex;align-items:center;gap:4px;padding:0 6px;min-width:96px;justify-content:space-between}.qty button{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:var(--ink)}.qty span{font-size:15px;font-weight:700;min-width:18px;text-align:center}.add-cart-btn{flex:1;padding:13px 16px;gap:8px;font-size:12px}.add-cart-price{margin-left:auto;opacity:.9;font-weight:600}.preorder-card{margin-top:16px;background:#fff;border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-soft);border:1px solid #eee8df}.preorder-card__top{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}.preorder-card__top h3{font-size:14px;font-weight:700}.preorder-card__top p{margin-top:3px;font-size:12px;color:var(--muted);line-height:1.35}.orders-page{display:flex;flex-direction:column;height:100%;padding-top:64px}.orders-header{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;min-height:52px;padding-bottom:12px}.orders-header h1{text-align:center;font-size:18px;font-weight:700;color:var(--ink)}.orders-tabs{display:flex;background:#00000008;padding:4px;border-radius:16px;margin:12px 20px 16px}.dev-simulator-bar+.orders-tabs{margin-top:0}.tab-btn{flex:1;padding:10px 12px;border-radius:12px;font-size:.88rem;font-weight:700;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s ease}.tab-btn.active{background:var(--white);color:var(--ink);box-shadow:var(--shadow-soft)}.tab-badge{background:var(--green);color:var(--white);font-size:.72rem;padding:2px 6px;border-radius:8px;font-weight:700}.orders-list-container{flex:1;overflow-y:auto;padding-bottom:40px}.dev-simulator-bar{background:#1e1e1e;padding:10px 14px;border-radius:16px;margin:12px 20px 16px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 14px #0000001f;border:1px solid rgba(255,255,255,.06)}.dev-badge{font-size:.65rem;font-weight:800;color:#a0aec0;letter-spacing:.5px}.dev-controls{display:flex;gap:6px}.dev-sim-btn{background:#ffffff14;color:#fff;border:1px solid rgba(255,255,255,.1);padding:4px 8px;border-radius:10px;font-size:.68rem;font-weight:700;display:flex;align-items:center;gap:4px;cursor:pointer;transition:background .15s,transform .1s}.dev-sim-btn:hover{background:#ffffff1f}.dev-sim-btn:active{transform:scale(.95);background:#ffffff2e}.dev-sim-btn svg{color:var(--green-bright)}.orders-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center}.orders-empty-state .icon-circle{width:80px;height:80px;border-radius:50%;background:#5a7d2e0d;color:var(--green);display:grid;place-items:center;margin-bottom:20px}.orders-empty-state h3{font-size:1.1rem;font-weight:700;color:var(--ink);margin-bottom:6px}.orders-empty-state p{font-size:.85rem;color:var(--muted);margin-bottom:24px;max-width:240px;line-height:1.4}.orders-active-list{display:flex;flex-direction:column;gap:20px}.active-order-card{background:var(--white);border-radius:28px;box-shadow:0 12px 35px #281e140a;padding:24px;border:1px solid rgba(0,0,0,.02);margin:0 20px;display:flex;flex-direction:column}.card-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid rgba(0,0,0,.04);padding-bottom:14px;margin-bottom:16px}.header-meta{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.order-id{font-weight:850;font-size:1.05rem;color:var(--ink);letter-spacing:-.3px}.method-badge{font-size:.65rem;font-weight:800;text-transform:uppercase;padding:3px 8px;border-radius:8px;letter-spacing:.3px}.method-badge.preorder{background:#5a7d2e14;color:var(--green)}.method-badge.instant{background:#fce6d699;color:#c05621}.outlet-name{display:flex;align-items:center;gap:4px;font-size:.8rem;color:var(--muted);font-weight:600;background:#00000008;padding:4px 10px;border-radius:10px}.outlet-name svg{color:var(--green)}.live-timer-section{background:linear-gradient(135deg,#5a7d2e0d,#5a7d2e03);padding:16px 20px;border-radius:20px;margin-bottom:22px;border:1px solid rgba(90,125,46,.05);text-align:center}.timer-info{display:flex;flex-direction:column;align-items:center}.timer-info small{display:block;font-size:.65rem;font-weight:800;color:var(--muted);letter-spacing:.8px;text-transform:uppercase;margin-bottom:4px}.timer-ticking{font-size:1.8rem;font-weight:850;color:var(--green);margin:2px 0;font-variant-numeric:tabular-nums;letter-spacing:-.5px}.pending-confirmation-section{display:flex;align-items:center;gap:14px;background:#d69e2e0f;border:1px solid rgba(214,158,46,.15);border-radius:20px;padding:16px 20px;margin-bottom:22px;text-align:left}.pending-confirmation-section strong{display:block;font-size:.9rem;color:#b7791f;margin-bottom:2px}.pending-confirmation-section p{font-size:.78rem;color:var(--muted);margin:0}.pending-confirmation-spinner{width:14px;height:14px;border-radius:50%;background:#d69e2e;flex-shrink:0;animation:pending-pulse 1.2s ease-in-out infinite}@keyframes pending-pulse{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}.timer-ready{font-size:1.45rem;font-weight:850;color:#2f855a;margin:2px 0;animation:pulse 1.5s infinite}.scheduled-time{font-size:.76rem;color:var(--muted);margin-top:6px;display:flex;align-items:center;gap:4px}.scheduled-time svg{color:var(--green)}.order-progress-tracker{margin:10px 12px 28px;position:relative}.progress-bar-container{position:absolute;top:15px;left:10px;right:10px;height:6px;background:#0000000d;border-radius:10px;z-index:1;overflow:hidden}.progress-bar-fill{height:100%;background:var(--green);border-radius:10px;width:0%;transition:width .6s cubic-bezier(.16,1,.3,1);box-shadow:0 0 10px #5a7d2e4d}.progress-steps{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:2}.progress-step{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:default}.step-node{width:34px;height:34px;border-radius:50%;background:var(--white);border:2px solid rgba(0,0,0,.06);color:var(--muted-2);display:grid;place-items:center;transition:all .4s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-soft)}.progress-step.active .step-node{background:var(--green);border-color:var(--green);color:var(--white);box-shadow:0 0 0 6px #5a7d2e26;transform:scale(1.08);animation:stepGlow 2s infinite ease-in-out}.progress-step.completed .step-node{background:var(--green-deep);border-color:var(--green-deep);color:var(--white)}.step-label{font-size:.74rem;font-weight:700;color:var(--muted);transition:color .3s}.progress-step.active .step-label,.progress-step.completed .step-label{color:var(--ink);font-weight:800}@keyframes stepGlow{0%{box-shadow:0 0 #5a7d2e40}70%{box-shadow:0 0 0 6px #5a7d2e00}to{box-shadow:0 0 #5a7d2e00}}.pickup-pass-section{background:linear-gradient(135deg,var(--green-deep) 0%,#1a3c24 100%);color:var(--white);border-radius:20px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;margin-bottom:16px;position:relative;overflow:hidden;box-shadow:0 8px 24px #1b3c2426;transition:transform .2s,box-shadow .2s;border:1px solid rgba(255,255,255,.05)}.pickup-pass-section:hover{transform:translateY(-1px);box-shadow:0 10px 28px #1b3c2433}.pickup-pass-section:before,.pickup-pass-section:after{content:"";position:absolute;top:50%;width:14px;height:14px;border-radius:50%;background:var(--bg)}.pickup-pass-section:before{left:-7px;transform:translateY(-50%)}.pickup-pass-section:after{right:-7px;transform:translateY(-50%)}.pickup-pass-section:active{transform:scale(.98)}.pass-details{text-align:left}.pass-details strong{font-size:.82rem;font-weight:800;letter-spacing:.8px;display:block}.pass-details p{font-size:.72rem;opacity:.8;margin-top:2px}.pass-qr-mock{display:flex;align-items:center;gap:12px}.pass-qr-mock svg{background:var(--white);padding:4px 6px;border-radius:6px;box-shadow:var(--shadow-soft)}.qr-arrow{font-weight:800;font-size:1.1rem}.collapsible-details{border-top:1px solid rgba(0,0,0,.04);padding-top:12px}.collapse-trigger{width:100%;display:flex;justify-content:space-between;align-items:center;color:var(--ink-soft);font-size:.82rem;font-weight:750;padding:4px 0}.trigger-label{display:flex;align-items:center;gap:6px}.expanded-details-content{padding-top:12px;text-align:left;animation:slideDownFade .25s ease-out}.order-items-list{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.item-row{display:flex;justify-content:space-between;font-size:.84rem;color:var(--muted)}.item-row strong{color:var(--ink);margin-left:2px}.item-row span:last-child{font-weight:700;color:var(--ink)}.invoice-total{display:flex;justify-content:space-between;border-top:1px dashed rgba(0,0,0,.08);padding-top:10px;font-size:.9rem;font-weight:800;color:var(--ink)}.invoice-total span:last-child{color:var(--green)}.orders-past-list{display:flex;flex-direction:column;gap:16px;padding:0 20px}.past-order-card{background:var(--white);border-radius:24px;padding:18px 20px;box-shadow:0 6px 20px #281e1408;border:1px solid rgba(0,0,0,.02);display:flex;flex-direction:column;gap:12px}.past-card-top{display:flex;justify-content:space-between;align-items:center}.past-card-top div{display:flex;align-items:center;gap:8px}.past-date{font-size:.9rem;font-weight:800;color:var(--ink)}.past-id{font-size:.72rem;color:var(--muted);background:#0000000a;padding:2px 6px;border-radius:6px;font-weight:600}.past-price{font-size:1rem;font-weight:850;color:var(--green)}.past-card-middle{text-align:left}.past-items{font-size:.84rem;color:var(--muted);line-height:1.4;word-break:break-word}.past-outlet{font-size:.76rem;color:var(--muted-2);margin-top:4px;display:flex;align-items:center;gap:3px;font-weight:600}.past-card-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(0,0,0,.03);padding-top:10px}.status-indicator{font-size:.75rem;font-weight:800}.status-indicator.completed{color:#38a169}.status-indicator.declined{color:#c53030}.declined-reason-banner{display:flex;align-items:flex-start;gap:8px;background:#e53e3e0f;border:1px solid rgba(229,62,62,.12);color:#c53030;border-radius:12px;padding:10px 12px;font-size:.78rem;font-weight:600;margin:4px 0 12px}.declined-reason-banner svg{flex-shrink:0;margin-top:1px}.reorder-btn{background:#5a7d2e14;color:var(--green);font-size:.78rem;font-weight:750;border-radius:12px;padding:6px 14px;display:flex;align-items:center;gap:4px;transition:all .2s}.reorder-btn:hover{background:#5a7d2e1f}.reorder-btn:active{transform:scale(.95);background:#5a7d2e2e}.qr-modal-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#1a1a1a80;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1100;display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .2s ease-out}.qr-modal-card{width:100%;max-width:320px;background:var(--white);border-radius:28px;box-shadow:0 10px 30px #00000026;padding:24px;animation:scaleUp .25s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}.qr-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.qr-modal-header h3{font-size:1.1rem;font-weight:800;color:var(--ink)}.close-modal-btn{font-size:1.25rem;font-weight:300;color:var(--muted)}.qr-modal-body{display:flex;flex-direction:column;align-items:center;gap:16px;margin-bottom:24px}.modal-instruction{font-size:.8rem;color:var(--muted);text-align:center;line-height:1.4}.large-barcode{background:#fbfbfb;padding:16px;border-radius:16px;border:1px solid rgba(0,0,0,.05);display:flex;flex-direction:column;align-items:center;gap:10px}.barcode-label{font-family:monospace;font-weight:700;letter-spacing:2px;color:var(--ink);font-size:.9rem}.modal-order-summary{display:flex;flex-direction:column;gap:4px;width:100%;font-size:.82rem;color:var(--muted);text-align:left;border-top:1px dashed rgba(0,0,0,.08);padding-top:12px}.modal-order-summary span{display:flex;justify-content:space-between}.modal-order-summary strong{color:var(--ink)}.got-it-btn{width:100%;font-weight:700;padding:14px}@keyframes pulse{0%{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}to{opacity:.85;transform:scale(1)}}@keyframes slideDownFade{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleUp{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.diy-page{display:flex;flex-direction:column;height:100%;padding-top:64px;padding-bottom:110px!important}.diy-header{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;min-height:52px}.diy-header h1{text-align:center;font-size:18px;font-weight:700;color:var(--ink)}.diy-header .cart-icon{position:relative;display:grid;place-items:center}.diy-header .badge{position:absolute;top:4px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--green);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center}.diy-type-selector{display:flex;gap:12px;margin:14px 20px}.type-toggle-btn{flex:1;padding:12px;border-radius:16px;font-weight:700;font-size:.9rem;background:var(--white);border:1px solid rgba(0,0,0,.05);box-shadow:var(--shadow-soft);color:var(--muted);transition:all .2s ease}.type-toggle-btn.active{background:var(--green-deep);color:var(--white);border-color:var(--green-deep)}.diy-stepper{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:4px 20px;margin-top:12px;margin-bottom:16px}.diy-stepper::-webkit-scrollbar{display:none}.stepper-step{padding:6px 14px;border-radius:20px;font-size:.76rem;font-weight:700;color:var(--muted);background:#00000008;white-space:nowrap;transition:all .2s ease}.stepper-step.active{background:var(--green);color:var(--white);box-shadow:0 4px 10px #5a7d2e26}.diy-content-wrapper{flex:1;overflow-y:auto;padding:10px 20px 30px;scrollbar-width:none}.diy-content-wrapper::-webkit-scrollbar{display:none}.step-instruction{font-size:1.1rem;font-weight:800;color:var(--ink);margin-bottom:4px;text-align:left}.step-subtitle{font-size:.8rem;color:var(--muted);text-align:left;margin-bottom:18px;line-height:1.3}.selection-counter{text-align:right;font-size:.78rem;color:var(--muted);margin-top:-10px;margin-bottom:14px}.selection-counter strong{color:var(--green)}.options-grid{display:flex;flex-direction:column;gap:12px}.options-grid.items-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.option-card{background:var(--white);border-radius:20px;border:1px solid rgba(0,0,0,.04);box-shadow:var(--shadow-soft);position:relative;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);overflow:hidden}.card-check{position:absolute;top:10px;right:10px;width:18px;height:18px;border-radius:50%;background:#0000000a;border:1px solid rgba(0,0,0,.05);display:grid;place-items:center;color:transparent;transition:all .2s ease;z-index:2}.option-card.selected{border-color:var(--green);box-shadow:0 6px 18px #5a7d2e0f}.option-card.selected .card-check{background:var(--green);border-color:var(--green);color:var(--white)}.base-card{display:flex;align-items:center;padding:16px;gap:14px}.base-card-img{width:60px;height:60px;border-radius:14px;background:#00000005;padding:6px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.base-card-img img{max-width:100%;max-height:100%;object-fit:contain}.base-card-info{text-align:left;flex:1}.base-card-info h3{font-size:.95rem;font-weight:700;color:var(--ink);margin-bottom:2px}.base-card-info .desc{font-size:.72rem;color:var(--muted);line-height:1.3;margin-bottom:4px}.base-card-info .price{font-size:.88rem;font-weight:800;color:var(--green)}.item-card{padding:16px 14px 12px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;height:100px}.item-card h3{font-size:.88rem;font-weight:700;color:var(--ink);text-align:left;margin-right:12px;line-height:1.2}.item-card .card-footer{width:100%;display:flex;justify-content:space-between;align-items:center;margin-top:10px}.item-card .extra-price{font-size:.76rem;font-weight:700;color:var(--green)}.item-card small{font-size:.68rem;color:var(--muted);font-weight:600}.diy-floating-footer{position:absolute;bottom:var(--nav-h, 72px);left:12px;right:12px;background:transparent;border-top:none;z-index:500;box-shadow:none;display:flex;flex-direction:column;gap:8px;pointer-events:none}.live-macros-panel{background:var(--white);padding:10px 16px 12px;border-radius:16px;box-shadow:0 4px 16px #0000000f;border:1px solid rgba(0,0,0,.04);pointer-events:auto}.panel-label{display:flex;align-items:center;gap:4px;font-size:.65rem;font-weight:700;color:var(--muted);letter-spacing:.5px;margin-bottom:6px}.panel-label svg{color:var(--green)}.macros-row{display:flex;justify-content:space-between;gap:8px}.macro-chip{flex:1;background:var(--white);border-radius:10px;padding:4px 6px;box-shadow:var(--shadow-soft);border:1px solid rgba(0,0,0,.01);display:flex;flex-direction:column;align-items:center}.macro-chip .val{font-size:.8rem;font-weight:800;color:var(--ink)}.macro-chip .lbl{font-size:.6rem;color:var(--muted);text-transform:capitalize}.footer-actions{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;gap:16px;background:var(--white);border-radius:16px;box-shadow:0 4px 16px #0000000f;border:1px solid rgba(0,0,0,.04);pointer-events:auto}.diy-price-panel{text-align:left}.diy-price-panel small{display:block;font-size:.65rem;color:var(--muted);font-weight:700;letter-spacing:.5px}.diy-price-panel strong{font-size:1.25rem;font-weight:850;color:var(--ink)}.navigation-actions{display:flex;gap:8px;flex:1;justify-content:flex-end}.nav-btn{width:46px;height:46px;border-radius:14px;background:#00000008;display:flex;align-items:center;justify-content:center;color:var(--ink);transition:background .2s}.nav-btn:active{background:#0000000f}.next-step-btn{flex:1;max-width:140px;padding:12px 16px;font-size:.88rem;font-weight:700;border-radius:14px;background:var(--green);color:var(--white);box-shadow:0 4px 12px #5a7d2e33;display:flex;align-items:center;justify-content:center;gap:4px;transition:transform .1s}.next-step-btn:active{transform:translateY(1px)}.add-custom-btn{max-width:180px;background:var(--green-deep);box-shadow:0 4px 12px #1b3c2433}.out-of-stock-card{opacity:.55;background:#f7f5f2!important;border:1px dashed #d1c9bd!important;cursor:not-allowed!important;pointer-events:none}.out-of-stock-label{color:#c53030!important;font-size:.72rem!important;font-weight:700!important;text-transform:uppercase}.profile-page{display:flex;flex-direction:column;height:100%;padding-top:0}.profile-header{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;min-height:56px;padding-top:calc(10px + var(--safe-top));padding-bottom:10px;flex-shrink:0}.profile-header h1{text-align:center;font-size:18px;font-weight:700;color:var(--ink)}.profile-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:calc(var(--nav-h) + var(--safe-bottom) + 32px)}.profile-content::-webkit-scrollbar{display:none}.user-profile-card{display:flex;align-items:center;gap:16px;background:var(--white);padding:18px 20px;border-radius:24px;box-shadow:var(--shadow-soft);margin-bottom:14px;border:1px solid rgba(0,0,0,.02)}.avatar-wrapper{width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,var(--green) 0%,var(--green-deep) 100%);display:grid;place-items:center;box-shadow:0 4px 12px #5a7d2e38;flex-shrink:0}.avatar-letter{color:#fff;font-size:1.35rem;font-weight:800}.user-info h2{font-size:1.05rem;font-weight:800;color:var(--ink)}.user-info p{font-size:.78rem;color:var(--muted);margin-top:2px}.profile-options-section{background:var(--white);border-radius:24px;box-shadow:var(--shadow-soft);border:1px solid rgba(0,0,0,.02);padding:6px 0;margin-bottom:20px;overflow:hidden}.options-list{display:flex;flex-direction:column}.profile-option-row{display:flex;align-items:center;justify-content:space-between;padding:15px 20px;border-bottom:1px solid rgba(0,0,0,.035);background:none;width:100%;transition:background .18s}.profile-option-row:last-child{border-bottom:none}.profile-option-row:active{background:#5a7d2e0a}.option-meta{display:flex;align-items:center;gap:14px}.option-icon-box{width:36px;height:36px;border-radius:11px;background:#5a7d2e12;color:var(--green);display:grid;place-items:center;flex-shrink:0}.option-text{text-align:left}.option-text strong{display:block;font-size:.88rem;font-weight:700;color:var(--ink)}.option-text small{display:block;font-size:.72rem;color:var(--muted);margin-top:2px}.chevron-icon{color:var(--muted-2)}.logout-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;background:#e11d480d;color:#e11d48;border:1px solid rgba(225,29,72,.1);border-radius:18px;padding:14px;font-size:.9rem;font-weight:750;transition:background .18s,transform .1s}.logout-btn:active{background:#e11d481a;transform:scale(.98)}.pp-panel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--bg);display:flex;flex-direction:column}.pp-panel--slide{animation:pp-slide-in .26s ease}@keyframes pp-slide-in{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}.pp-panel-header{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;min-height:56px;padding-top:calc(10px + var(--safe-top));padding-bottom:10px;flex-shrink:0;background:var(--bg)}.pp-panel-header h1{text-align:center;font-size:18px;font-weight:700;color:var(--ink)}.pp-panel-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:calc(var(--nav-h) + var(--safe-bottom) + 40px)}.pp-panel-body::-webkit-scrollbar{display:none}.pp-section-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:10px}.pp-section-label--top{margin-top:22px}.pp-form{display:flex;flex-direction:column;gap:12px;background:#fff;border-radius:20px;padding:16px 18px 18px;box-shadow:var(--shadow-soft);margin-bottom:14px}.pp-form-title{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:2px}.pp-field{display:flex;flex-direction:column;gap:6px}.pp-field label{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#555}.pp-field input,.pp-field textarea{width:100%;border:1px solid #ebe4da;border-radius:12px;padding:12px 14px;font:inherit;font-size:14px;font-weight:600;color:var(--ink);background:#fdfbf7;outline:none;transition:border-color .18s}.pp-field input:focus,.pp-field textarea:focus{border-color:var(--green)}.pp-field--readonly input{color:var(--muted);background:#f8f5f0;cursor:default}.pp-field-hint{font-size:11px;color:var(--muted);font-weight:500}.pp-field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pp-form-error{display:flex;align-items:center;gap:7px;padding:10px 12px;border-radius:12px;background:#b4231812;border:1px solid rgba(180,35,24,.12);color:#b42318;font-size:12px;font-weight:600}.pp-form-btns{display:flex;gap:8px;margin-top:4px}.pp-save-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:48px;font-size:13px;letter-spacing:.03em;box-shadow:0 8px 20px #5a7d2e33}.pp-save-btn.is-saved{background:#3f5a22}.pp-cancel-btn{flex-shrink:0;min-height:48px;background:#f0ebe3;color:var(--ink);font-size:13px;font-weight:700;border-radius:999px;padding:0 20px}.pp-spin{animation:pp-spin-anim .7s linear infinite}@keyframes pp-spin-anim{to{transform:rotate(360deg)}}.pp-account-avatar{display:flex;align-items:center;gap:14px;margin-bottom:20px}.pp-avatar-circle{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--green) 0%,var(--green-deep) 100%);color:#fff;font-size:1.3rem;font-weight:800;display:grid;place-items:center;flex-shrink:0;box-shadow:0 4px 12px #5a7d2e33}.pp-account-avatar__name{font-size:15px;font-weight:800;color:var(--ink)}.pp-account-avatar__email{font-size:12px;color:var(--muted);margin-top:2px}.pp-danger-zone{padding:16px 18px;background:#e11d480a;border:1px solid rgba(225,29,72,.1);border-radius:18px}.pp-danger-zone p{font-size:13px;font-weight:700;color:#e11d48;margin-bottom:4px}.pp-danger-zone small{font-size:12px;color:var(--muted);line-height:1.4;display:block;margin-bottom:12px}.pp-danger-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:12px;background:#e11d4814;color:#e11d48;font-size:12px;font-weight:700;border:1px solid rgba(225,29,72,.15)}.pp-cards-stack{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.pp-card-tile{border-radius:18px;padding:16px 18px 14px;color:#fff;position:relative}.pp-card-tile__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.pp-card-tile__brand{font-size:13px;font-weight:800;letter-spacing:.04em;opacity:.92}.pp-card-tile__badge{display:inline-flex;align-items:center;gap:4px;background:#ffffff38;border-radius:8px;padding:3px 8px;font-size:10px;font-weight:700}.pp-card-tile__number{font-size:16px;font-weight:700;letter-spacing:.12em;margin-bottom:14px;font-variant-numeric:tabular-nums}.pp-card-tile__bottom{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:600;opacity:.85}.pp-card-tile__actions{display:flex;align-items:center;gap:8px}.pp-card-action{font-size:11px;font-weight:700;color:#fff;background:#ffffff2e;border-radius:8px;padding:4px 10px}.pp-card-action--remove{padding:4px 8px;background:#ffffff26}.pp-add-btn{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:13px;border-radius:14px;background:#eef3e6;color:var(--green-deep);font-size:13px;font-weight:700;border:1.5px dashed rgba(90,125,46,.35);margin-bottom:6px}.pp-wallet-list{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.pp-wallet-row{display:flex;align-items:center;gap:12px;background:#fff;border-radius:16px;padding:13px 16px;box-shadow:var(--shadow-soft)}.pp-wallet-row__icon{width:38px;height:38px;border-radius:12px;background:#eef3e6;color:var(--green);display:grid;place-items:center;flex-shrink:0}.pp-wallet-row__info{flex:1;text-align:left}.pp-wallet-row__info strong{font-size:13px;font-weight:700;display:block}.pp-wallet-row__info small{font-size:11px;color:var(--muted)}.pp-wallet-row__tag{font-size:10px;font-weight:700;background:#eef3e6;color:var(--green-deep);border-radius:8px;padding:3px 8px}.pp-wallet-row__secure{color:var(--muted-2);flex-shrink:0}.pp-payment-note{font-size:11px;color:var(--muted);font-weight:500;line-height:1.45;text-align:center;padding:0 8px}.pp-form--card{margin-top:4px}.pp-help-contact-row{display:flex;gap:8px;margin-bottom:22px}.pp-contact-chip{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;padding:12px 8px;border-radius:16px;background:#fff;box-shadow:var(--shadow-soft);font-size:11px;font-weight:700;color:var(--ink);text-decoration:none}.pp-contact-chip--green{background:#eef3e6;color:var(--green-deep)}.pp-faq-list{display:flex;flex-direction:column;gap:6px;margin-bottom:6px}.pp-faq-item{background:#fff;border-radius:16px;box-shadow:var(--shadow-soft);overflow:hidden;transition:box-shadow .18s}.pp-faq-item.is-open{box-shadow:0 0 0 1.5px var(--green),var(--shadow-soft)}.pp-faq-q{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:14px 16px;text-align:left;font-size:13px;font-weight:700;color:var(--ink)}.pp-faq-icon{color:var(--muted-2);flex-shrink:0;transition:transform .22s ease}.pp-faq-item.is-open .pp-faq-icon{transform:rotate(90deg);color:var(--green)}.pp-faq-a{padding:10px 16px 14px;font-size:12px;font-weight:500;color:#555;line-height:1.55;border-top:1px solid rgba(0,0,0,.04)}.pp-form--chat{gap:10px}.pp-chat-input{width:100%;border:1px solid #ebe4da;border-radius:14px;padding:12px 14px;font:inherit;font-size:13px;font-weight:500;color:var(--ink);background:#fdfbf7;outline:none;resize:none;line-height:1.5;transition:border-color .18s}.pp-chat-input:focus{border-color:var(--green)}.pp-sent-banner{display:flex;align-items:center;gap:9px;padding:14px 16px;border-radius:16px;background:#eef3e6;color:var(--green-deep);font-size:13px;font-weight:700;margin-bottom:10px}.pp-help-hours{margin-top:16px;font-size:11px;color:var(--muted);font-weight:500;text-align:center}.customer-login-container{display:flex;flex-direction:column;padding-top:0}.customer-login-card{background:#fff;border-radius:28px;padding:22px 20px 26px;box-shadow:var(--shadow)}.customer-login-logo-section{text-align:center;margin-bottom:20px}.customer-login-logo{width:52px;height:52px;object-fit:contain;margin-bottom:10px}.customer-login-logo-section h2{font-size:18px;font-weight:800;color:var(--ink)}.customer-login-logo-section .subtitle{font-size:12px;color:var(--muted);margin-top:4px}.customer-login-form{display:flex;flex-direction:column;gap:14px}.customer-login-btn{min-height:48px;font-size:13px;letter-spacing:.03em}.input-group{display:flex;flex-direction:column;gap:6px}.input-group label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#555}.input-field-wrapper{position:relative}.input-field-wrapper input{width:100%;border:1px solid #ebe4da;border-radius:12px;padding:12px 14px;font:inherit;font-size:14px;font-weight:600;color:var(--ink);background:#fdfbf7;outline:none;transition:border-color .18s}.input-field-wrapper input:focus{border-color:var(--green)}.password-toggle-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--muted-2);display:grid;place-items:center}.login-error-box{display:flex;align-items:center;gap:8px;padding:10px 13px;border-radius:12px;background:#b4231812;border:1px solid rgba(180,35,24,.12);color:#b42318;font-size:12px;font-weight:600}.login-success-box{display:flex;align-items:center;justify-content:center;gap:8px;background:#5a7d2e14;border:1px solid rgba(90,125,46,.15);border-radius:12px;padding:10px 14px;margin-bottom:14px;color:var(--green-deep);font-size:12px;font-weight:700}.auth-toggle-link{text-align:center;font-size:12px;color:var(--muted)}.auth-toggle-link button{background:none;color:var(--green);font-weight:800;cursor:pointer;padding:0 3px;text-decoration:underline;font-size:inherit;font-family:inherit}.login-type-switcher{display:flex;background:#00000008;padding:3px;border-radius:12px;gap:2px;margin-bottom:18px}.switcher-btn{flex:1;background:none;font-family:inherit;font-size:12px;font-weight:700;padding:8px 12px;border-radius:9px;color:var(--muted);cursor:pointer;transition:all .2s ease}.switcher-btn.active{background:#fff;color:var(--green);box-shadow:0 2px 6px #0000000f}.admin-login-page{background:var(--bg-cream);color:var(--ink);display:flex;flex-direction:column;height:100%;padding-top:64px}.admin-login-header{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;min-height:52px;padding-bottom:12px;border-bottom:1px solid rgba(0,0,0,.04)}.admin-login-header h1{font-size:1.15rem;font-weight:800;color:var(--ink-soft);letter-spacing:-.3px;text-align:center}.login-container{flex:1;display:flex;align-items:center;justify-content:center;padding-bottom:80px}.login-card{width:100%;background:var(--white);border:1px solid rgba(0,0,0,.04);border-radius:28px;padding:32px 24px;box-shadow:var(--shadow);text-align:center}.logo-section{display:flex;flex-direction:column;align-items:center;margin-bottom:28px}.admin-login-logo{width:64px;height:64px;object-fit:contain;margin-bottom:16px;filter:drop-shadow(0 4px 10px rgba(90,125,46,.12))}.logo-section h2{font-size:1.25rem;font-weight:800;color:var(--ink-soft);letter-spacing:-.3px}.logo-section .subtitle{font-size:.72rem;font-weight:750;color:var(--muted);text-transform:uppercase;letter-spacing:.8px;margin-top:6px}.login-form{display:flex;flex-direction:column;gap:18px}.login-error-box{background:#e53e3e0f;border:1px solid rgba(229,62,62,.12);color:#e53e3e;padding:10px 14px;border-radius:14px;font-size:.78rem;font-weight:750;display:flex;align-items:center;gap:8px;text-align:left}.input-group{display:flex;flex-direction:column;gap:6px;text-align:left}.input-group label{font-size:.7rem;font-weight:750;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;padding-left:2px}.input-field-wrapper{position:relative;width:100%}.input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted-2)}.input-field-wrapper input{width:100%;padding:12px 42px 12px 14px;background:#faf8f5;border:1px solid rgba(0,0,0,.05);border-radius:16px;color:var(--ink-soft);font-family:inherit;font-size:.9rem;outline:none;transition:all .25s ease}.input-field-wrapper .input-icon+input{padding-left:42px}.password-toggle-btn{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--muted-2);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:color .2s ease}.password-toggle-btn:hover{color:var(--ink-soft)}.input-field-wrapper input:focus{border-color:var(--green);background:var(--white);box-shadow:0 0 0 4px #5a7d2e1a}.input-field-wrapper input::placeholder{color:var(--muted-2)}.login-submit-btn{width:100%;font-weight:850;letter-spacing:.8px;padding:14px;margin-top:10px;background:var(--green);color:var(--white);border-radius:999px;border:none;box-shadow:0 6px 18px #5a7d2e33;font-size:.85rem;transition:all .15s ease;cursor:pointer}.login-submit-btn:active{transform:scale(.98);background:var(--green-deep)}.return-store-btn{background:none;border:none;font-size:.78rem;font-weight:750;color:var(--muted);margin-top:24px;text-decoration:underline;cursor:pointer;transition:color .2s}.return-store-btn:hover{color:var(--ink)}.admin-dashboard-page{background:#faf8f5;color:var(--ink);display:flex;flex-direction:column;height:100%;padding-top:64px}.admin-dashboard-header{display:grid;grid-template-columns:1fr auto;align-items:center;min-height:58px;padding:12px 20px;background:var(--white);box-shadow:0 2px 10px #00000005;z-index:10;border-bottom:1px solid rgba(0,0,0,.03);margin-bottom:16px}.admin-logo-row{display:flex;align-items:center;gap:12px}.admin-header-logo{width:34px;height:34px;object-fit:contain;border-radius:8px;background:var(--bg-cream);padding:2px;box-shadow:0 2px 6px #0000000a}.admin-logo-text{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.admin-logo-row h1{font-size:1.12rem;font-weight:800;color:var(--ink-soft);letter-spacing:-.3px}.badge-shield{background:var(--green-deep);color:var(--white);font-size:.62rem;font-weight:850;text-transform:uppercase;padding:3px 8px;border-radius:20px;letter-spacing:.5px}.logout-header-btn{background:#e53e3e0f;border:1px solid rgba(229,62,62,.1);color:#e53e3e;font-size:.75rem;font-weight:800;display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:12px;cursor:pointer;transition:all .2s ease}.logout-header-btn:hover{background:#e53e3e1a;transform:translateY(-1px)}.admin-nav-tabs{position:absolute;left:0;right:0;bottom:0;height:var(--nav-h);background:var(--white);border-top:1px solid rgba(0,0,0,.05);display:flex;align-items:center;justify-content:space-around;padding:0 6px 8px;z-index:100;box-shadow:0 -4px 16px #00000005}.admin-tab-item{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0;background:none;border:none;font-family:inherit;color:#9a9a9a;position:relative;cursor:pointer;transition:color .2s ease}.admin-tab-item span{font-size:10px;font-weight:500;letter-spacing:.1px}.admin-tab-item svg{width:22px;height:22px}.admin-tab-item.active{color:var(--green)}.admin-tab-item.active:after{display:none}.admin-badge-count{position:absolute;top:4px;right:18%;background:var(--green);color:var(--white);font-size:.6rem;font-weight:900;width:14px;height:14px;border-radius:50%;display:grid;place-items:center;box-shadow:0 2px 5px #5a7d2e33}.admin-badge-alert{position:absolute;top:4px;right:18%;background:#e53e3e;color:var(--white);font-size:.6rem;font-weight:900;width:14px;height:14px;border-radius:50%;display:grid;place-items:center;box-shadow:0 2px 5px #e53e3e33}.admin-dashboard-content{flex:1;overflow-y:auto;padding:12px 16px calc(var(--nav-h) + 24px)}.tab-title{font-size:1.12rem;font-weight:850;color:var(--ink-soft);text-align:left;margin-bottom:16px;letter-spacing:-.3px}.analytics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.analytics-header .tab-title{margin-bottom:0}.analytics-timeframe-selector{display:flex;background:#00000008;padding:3px;border-radius:12px;gap:2px}.timeframe-chip{background:none;border:none;font-family:inherit;font-size:.72rem;font-weight:800;padding:6px 12px;border-radius:9px;color:var(--muted);cursor:pointer;transition:all .2s ease}.timeframe-chip:hover{color:var(--ink-soft)}.timeframe-chip.active{background:var(--white);color:var(--green);box-shadow:0 2px 6px #0000000d}.custom-date-filters{display:flex;gap:12px;margin-bottom:20px;background:var(--white);padding:12px 16px;border-radius:20px;border:1px solid rgba(0,0,0,.02);box-shadow:var(--shadow-soft);animation:slideDownIn .3s cubic-bezier(.16,1,.3,1)}@keyframes slideDownIn{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.date-input-group{display:flex;flex-direction:column;gap:4px;flex:1;text-align:left}.date-input-group label{font-size:.62rem;text-transform:uppercase;font-weight:850;color:var(--muted);letter-spacing:.5px}.date-input-group input[type=date]{padding:8px 10px;border-radius:10px;border:1px solid rgba(0,0,0,.05);font-family:inherit;font-size:.78rem;font-weight:750;color:var(--ink-soft);background:#faf8f5;outline:none;transition:all .2s;width:100%}.date-input-group input[type=date]:focus{border-color:var(--green);background:var(--white);box-shadow:0 0 0 3px #5a7d2e14}.metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}@media(min-width:900px){.metrics-grid{grid-template-columns:1fr 1fr 1fr}}.metric-box{background:var(--white);border-radius:20px;padding:16px 14px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-soft);border:1px solid rgba(0,0,0,.01);transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease}.metric-box:hover{transform:translateY(-2px);box-shadow:0 8px 24px #281e140f}.metric-icon-box{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;flex-shrink:0}.metric-icon-box.green{background:#5a7d2e14;color:var(--green)}.metric-icon-box.orange{background:#dd9c4b14;color:#dd9c4b}.metric-icon-box.blue{background:#3182ce14;color:#3182ce}.metric-icon-box.red{background:#e53e3e14;color:#e53e3e}.metric-icon-box.purple{background:#805ad514;color:#805ad5}.metric-icon-box.pink{background:#ed64a614;color:#ed64a6}.metric-icon-box.yellow{background:#f6ad5514;color:#f6ad55}.metric-info{text-align:left}.metric-info small{display:block;font-size:.65rem;font-weight:750;color:var(--muted);letter-spacing:.4px;text-transform:uppercase}.metric-info strong{display:block;font-size:.95rem;font-weight:850;color:var(--ink-soft);margin-top:2px}.metric-subtext{display:block;font-size:.65rem;font-weight:700;color:var(--muted);margin-top:1px}.admin-card{background:var(--white);border-radius:24px;padding:20px;box-shadow:var(--shadow-soft);border:1px solid rgba(0,0,0,.01)}.admin-card h3{font-size:.92rem;font-weight:800;color:var(--ink-soft);margin-bottom:14px;letter-spacing:-.1px}.chart-card,.chart-header{margin-bottom:16px}.chart-subtitle{font-size:.7rem;color:var(--muted);font-weight:500;display:block;margin-top:2px}.chart-container-relative{position:relative;width:100%;padding-bottom:8px}.analytics-line-chart{width:100%;height:auto;overflow:visible}.chart-gridline{stroke:#00000008;stroke-width:1;stroke-dasharray:4 4}.chart-y-axis-text{font-size:7px;fill:var(--muted);font-weight:600;text-anchor:end}.chart-x-axis-text{font-size:8px;fill:var(--muted);font-weight:700;text-anchor:middle}.chart-trend-line{filter:drop-shadow(0 4px 10px rgba(90,125,46,.15))}.chart-data-node{fill:var(--green);stroke:var(--white);stroke-width:2;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}.chart-data-node.hovered{fill:var(--white);stroke:var(--green-deep);stroke-width:3.5;r:8px}.chart-html-tooltip{position:absolute;transform:translate(-50%,-100%);background:#1b1815f2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:8px 12px;pointer-events:none;box-shadow:0 8px 24px #0000001f;z-index:50;color:var(--white);display:flex;flex-direction:column;gap:2px;transition:left .12s ease-out,top .12s ease-out}.chart-html-tooltip:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%) rotate(45deg);width:8px;height:8px;background:#1b1815f2}.tooltip-title{font-size:.65rem;font-weight:800;text-transform:uppercase;color:var(--muted-2);letter-spacing:.4px}.tooltip-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.78rem;margin-top:1px}.tooltip-row span{color:#fff9;font-weight:500}.tooltip-row strong{color:var(--white);font-weight:800}.analytics-details-row{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:768px){.analytics-details-row{grid-template-columns:1.2fr 1fr}}.category-bars-list{display:flex;flex-direction:column;gap:12px}.category-bar-row{display:flex;flex-direction:column;gap:6px}.category-bar-info{display:flex;justify-content:space-between;align-items:center;font-size:.78rem;font-weight:700;color:var(--ink-soft)}.category-bar-track{width:100%;height:8px;background:#00000008;border-radius:999px;overflow:hidden}.category-bar-fill{height:100%;border-radius:999px;transition:width .8s cubic-bezier(.16,1,.3,1)}.sellers-list{display:flex;flex-direction:column;gap:12px}.seller-row{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;padding-bottom:10px;border-bottom:1px solid rgba(0,0,0,.04)}.seller-row:last-child{border-bottom:none;padding-bottom:0}.seller-row span{font-weight:650;color:var(--ink)}.seller-row strong{font-weight:850;color:var(--green)}.admin-empty-state{padding:40px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center}.empty-icon{color:var(--muted-2);margin-bottom:12px}.admin-empty-state h3{font-size:.95rem;font-weight:800;color:var(--ink)}.admin-empty-state p{font-size:.78rem;color:var(--muted);margin-top:2px}.order-summary-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.order-summary-chip{background:var(--white);border-radius:16px;padding:12px 10px;display:flex;flex-direction:column;align-items:center;gap:4px;box-shadow:0 2px 8px #0000000a;border:1.5px solid rgba(0,0,0,.03);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;font-family:inherit;text-align:center;width:100%}.order-summary-chip:hover{transform:translateY(-1px);box-shadow:0 4px 14px #00000012}.chip-sel-active{border-color:#d69e2e73!important;background:#d69e2e12!important}.chip-sel-completed{border-color:#5a7d2e59!important;background:#5a7d2e0f!important}.chip-sel-declined{border-color:#e53e3e59!important;background:#e53e3e0f!important}.chip-sel-all{border-color:#281e142e!important;background:#281e140a!important}.chip-count{font-size:1.5rem;font-weight:900;line-height:1}.chip-label{font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.chip-active{color:#b7791f}.chip-completed{color:var(--green-deep)}.chip-declined{color:#c53030}.chip-all{color:var(--ink-soft)}.order-filter-tabs{display:flex;gap:8px;margin-bottom:16px;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.order-filter-tabs::-webkit-scrollbar{display:none}.order-filter-tab{flex-shrink:0;padding:7px 16px;border-radius:20px;font-size:.75rem;font-weight:800;border:1.5px solid rgba(0,0,0,.08);background:var(--white);color:var(--ink-soft);cursor:pointer;transition:all .2s ease;white-space:nowrap}.order-filter-tab:hover{border-color:#00000024;transform:translateY(-1px)}.order-filter-tab.active.filter-active{background:#d69e2e1a;border-color:#d69e2e4d;color:#b7791f}.order-filter-tab.active.filter-completed{background:#5a7d2e14;border-color:#5a7d2e33;color:var(--green-deep)}.order-filter-tab.active.filter-declined{background:#e53e3e14;border-color:#e53e3e2e;color:#c53030}.order-filter-tab.active.filter-all{background:#281e140d;border-color:#281e141f;color:var(--ink)}.admin-orders-list{display:flex;flex-direction:column;gap:14px}.admin-order-card{background:var(--white);border-radius:24px;padding:18px;box-shadow:var(--shadow-soft);border:1px solid rgba(0,0,0,.01);transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease}.admin-order-card:hover{transform:translateY(-1px);box-shadow:0 8px 24px #281e140d}.order-card-historical{opacity:.82;background:#faf8f5;box-shadow:none;border:1px solid rgba(0,0,0,.04)}.order-card-historical:hover{opacity:1;box-shadow:0 4px 14px #281e140a}.decline-reason-box{display:flex;align-items:flex-start;gap:6px;margin-top:4px;padding:8px 12px;background:#e53e3e0f;border:1px solid rgba(229,62,62,.12);border-radius:10px;font-size:.75rem;font-weight:600;color:#c53030}.decline-reason-box svg{flex-shrink:0;margin-top:1px}.admin-order-card-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px dashed rgba(0,0,0,.06);margin-bottom:12px}.admin-order-card-header strong{font-size:1rem;font-weight:850;color:var(--ink-soft)}.status-pill{font-size:.65rem;font-weight:850;text-transform:uppercase;padding:3px 10px;border-radius:20px;margin-left:10px;display:inline-block;vertical-align:middle;letter-spacing:.4px}.badge-pending{background:#d69e2e1a;color:#b7791f;border:1px solid rgba(214,158,46,.15)}.badge-received{background:#3182ce14;color:#2b6cb0;border:1px solid rgba(49,130,206,.1)}.badge-preparing{background:#dd9c4b14;color:#c05621;border:1px solid rgba(221,156,75,.1)}.badge-ready{background:#5a7d2e14;color:var(--green);border:1px solid rgba(90,125,46,.1)}.badge-completed{background:#edf2f7;color:#4a5568}.badge-declined{background:#e53e3e14;color:#c53030;border:1px solid rgba(229,62,62,.12)}.order-price{font-weight:850;font-size:1rem;color:var(--green-deep)}.admin-order-card-body{display:flex;flex-direction:column;gap:8px}.body-row{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--muted);font-weight:600}.body-row svg{color:var(--muted-2)}.admin-order-items{margin-top:12px;padding:10px 14px;background:#faf8f5;border-radius:16px;border:1px solid rgba(0,0,0,.02)}.items-title{font-size:.72rem;font-weight:800;color:var(--muted);margin-bottom:6px;letter-spacing:.5px;text-transform:uppercase}.admin-order-item-row{display:flex;gap:12px;align-items:flex-start;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.03)}.admin-order-item-row:last-child{border-bottom:none;padding-bottom:0}.admin-order-item-row:first-child{padding-top:0}.admin-order-item-img-wrapper{width:40px;height:40px;border-radius:8px;display:grid;place-items:center;flex-shrink:0;box-shadow:0 2px 8px #00000005}.admin-order-item-img-wrapper img{width:30px;height:30px;object-fit:contain}.admin-order-item-info{display:flex;flex-direction:column;flex-grow:1;text-align:left}.admin-order-item-name-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.item-name{font-size:.85rem;font-weight:800;color:var(--ink-soft)}.item-qty{font-size:.68rem;font-weight:850;background:#5a7d2e14;color:var(--green);border:1px solid rgba(90,125,46,.15);padding:1px 6px;border-radius:6px;white-space:nowrap}.admin-order-item-price-row{display:flex;justify-content:space-between;align-items:center;font-size:.72rem;color:var(--muted);margin-top:2px;font-weight:600}.item-price-each{color:var(--muted)}.item-price-total{color:var(--green-deep);font-weight:800}.admin-order-item-addons{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.addon-tag{font-size:.62rem;font-weight:750;background:var(--white);border:1px solid rgba(0,0,0,.05);color:var(--muted);padding:1px 6px;border-radius:4px;text-transform:capitalize}.admin-order-progress-tracker{margin:16px 0 6px;position:relative}.admin-order-progress-tracker .progress-bar-container{position:relative;top:0;left:0;right:0;height:6px;background:#0000000d;border-radius:10px;z-index:1;overflow:hidden;margin-bottom:8px}.admin-order-progress-tracker .progress-bar-fill{height:100%;background:var(--green);border-radius:10px;width:0%;transition:width .6s cubic-bezier(.16,1,.3,1);box-shadow:0 0 8px #5a7d2e40}.progress-labels{display:flex;justify-content:space-between;align-items:center}.progress-label{font-size:.68rem;font-weight:750;color:var(--muted);transition:all .3s ease}.progress-label.current{color:var(--green-deep);font-weight:850}.progress-label.done{color:var(--ink)}.admin-status-action-btn{width:100%;margin-top:14px;padding:12px;font-size:.8rem;font-weight:850;gap:8px;border-radius:999px;background:var(--green);color:var(--white);border:none;box-shadow:0 4px 12px #5a7d2e33;transition:all .2s ease;cursor:pointer}.admin-status-action-btn:active{transform:scale(.98);background:var(--green-deep)}.admin-order-decision-row{display:flex;gap:10px;margin-top:14px}.admin-order-decision-row .decline-order-btn,.admin-order-decision-row .accept-order-btn{flex:1;padding:12px;font-size:.8rem;font-weight:850;gap:6px;border-radius:999px}.admin-order-decision-row .decline-order-btn{border-color:#e53e3e4d;color:#c53030}.admin-order-decision-row .decline-order-btn:active{background:#e53e3e0f}.admin-order-decision-row .accept-order-btn{box-shadow:0 4px 12px #5a7d2e33}.admin-menu-header-row{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:20px}.admin-add-btn{width:100%;justify-content:center;padding:14px;font-size:.88rem;font-weight:800;border-radius:14px}.admin-menu-list{display:flex;flex-direction:column;gap:12px}.admin-menu-row{background:var(--white);border-radius:20px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 10px #0000000a;border:1.5px solid rgba(0,0,0,.04);transition:all .22s cubic-bezier(.16,1,.3,1);cursor:default}.admin-menu-row:hover{box-shadow:0 6px 20px #00000012;border-color:#5a7d2e2e;transform:translateY(-1px)}.menu-product-meta{display:flex;align-items:center;gap:14px}.menu-product-img-wrapper{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;flex-shrink:0;box-shadow:0 2px 8px #00000014;overflow:hidden}.menu-product-img-wrapper img{width:46px;height:46px;object-fit:contain}.menu-product-info h4{font-size:.88rem;font-weight:800;color:var(--ink-soft);margin-bottom:2px}.menu-product-info small{font-size:.7rem;color:var(--muted);font-weight:600}.menu-product-controls{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.price-display-btn{background:#5a7d2e0f;border:1px dashed rgba(90,125,46,.3);padding:6px 12px;border-radius:10px;font-family:inherit;font-size:.82rem;font-weight:800;color:var(--green);display:flex;align-items:center;gap:6px;cursor:pointer;transition:all .2s ease}.price-display-btn:hover{background:#5a7d2e1a}.price-edit-box{display:flex;align-items:center;gap:4px}.price-edit-box span{font-size:.82rem;font-weight:800;color:var(--green)}.price-input{width:55px;padding:6px 8px;font-size:.8rem;font-family:inherit;border:1px solid rgba(0,0,0,.08);border-radius:8px;outline:none;font-weight:750;color:var(--ink-soft);background:#faf8f5}.save-price-btn{background:var(--green);color:var(--white);border:none;font-size:.72rem;font-weight:800;padding:6px 10px;border-radius:8px;cursor:pointer;box-shadow:0 2px 6px #5a7d2e26}.admin-menu-filter-container{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:20px;width:100%}.admin-menu-filter-container .search-box-wrapper{display:flex;align-items:center;background:var(--white);border:1px solid rgba(0,0,0,.05);padding:8px 14px;border-radius:12px;gap:8px;flex-grow:1;max-width:400px;box-shadow:var(--shadow-soft)}.admin-menu-filter-container .search-box-wrapper input{border:none;outline:none;font-size:.8rem;font-family:inherit;width:100%;color:var(--ink-soft);font-weight:600;background:transparent}.admin-menu-filter-container .search-icon{color:var(--muted-2)}.stock-filter-selector{display:flex;background:#00000008;padding:3px;border-radius:12px;border:1px solid rgba(0,0,0,.04)}.stock-filter-btn{padding:6px 14px;font-size:.74rem;border-radius:10px;font-weight:750;border:none;background:transparent;cursor:pointer;color:var(--muted);transition:all .2s cubic-bezier(.16,1,.3,1);font-family:inherit}.stock-filter-btn.active{background:var(--white);color:var(--green-deep);box-shadow:var(--shadow-soft)}.stock-toggle-wrapper{display:flex;align-items:center;gap:10px}.stock-status-label{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.3px}.stock-status-label.in-stock{color:var(--green)}.stock-status-label.out-of-stock{color:#e53e3e}.switch{position:relative;display:inline-block;width:44px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#cbd5e0;transition:.3s;border-radius:24px}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0000001a}input:checked+.slider{background-color:var(--green)}input:checked+.slider:before{transform:translate(20px)}@media(max-width:767px){.admin-menu-filter-container{flex-direction:column;align-items:stretch;gap:12px}.admin-menu-filter-container .search-box-wrapper{max-width:100%}}.admin-inventory-list{display:flex;flex-direction:column;gap:16px}.inventory-category-section{background:var(--white);border-radius:24px;padding:18px;box-shadow:var(--shadow-soft);border:1px solid rgba(0,0,0,.01)}.inventory-section-title{font-size:.76rem;font-weight:850;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:14px;border-left:3px solid var(--green);padding-left:8px}.inventory-category-items{display:flex;flex-direction:column;gap:10px}.inventory-item-row{display:flex;justify-content:space-between;align-items:center;padding-bottom:10px;border-bottom:1px solid rgba(0,0,0,.04)}.inventory-item-row:last-child{border-bottom:none;padding-bottom:0}.inventory-item-row span{font-size:.85rem;font-weight:700;color:var(--ink-soft)}.inventory-select{padding:6px 12px;font-size:.76rem;font-weight:800;border-radius:10px;border:1px solid rgba(0,0,0,.04);outline:none;cursor:pointer;transition:all .2s ease}.select-in_stock{background:#5a7d2e14;color:var(--green);border:1px solid rgba(90,125,46,.12)}.select-low_stock{background:#dd9c4b14;color:#c05621;border:1px solid rgba(221,156,75,.12)}.select-out_of_stock{background:#e53e3e14;color:#e53e3e;border:1px solid rgba(229,62,62,.12)}.admin-customer-list{display:flex;flex-direction:column;gap:12px}.admin-customer-card{background:var(--white);border-radius:24px;padding:16px 18px;box-shadow:var(--shadow-soft);border:1px solid rgba(0,0,0,.01)}.customer-card-header{display:flex;justify-content:space-between;align-items:center}.customer-card-header strong{font-size:.92rem;font-weight:800;color:var(--ink-soft)}.customer-delete-btn{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#e53e3e14;color:#e53e3e;border:none;cursor:pointer;flex-shrink:0}.customer-delete-btn:hover{background:#e53e3e;color:var(--white)}.customer-email{font-size:.75rem;color:var(--muted);margin-top:2px;text-align:left;font-weight:500}.customer-card-meta{display:flex;gap:18px;margin-top:10px;font-size:.78rem;color:var(--ink);border-top:1px solid rgba(0,0,0,.03);padding-top:8px;font-weight:600}.customer-card-meta strong{color:var(--green)}.admin-menu-categories{margin-bottom:16px;width:100%}.admin-category-chip-wrap{display:inline-flex;align-items:center;flex-shrink:0;gap:2px;background:var(--white);border:1px solid rgba(0,0,0,.05);border-radius:999px;padding:4px 4px 4px 16px;margin-right:8px;transition:all .2s cubic-bezier(.16,1,.3,1)}.admin-category-chip-wrap.active{background:var(--green);border-color:var(--green);box-shadow:0 4px 10px #5a7d2e26}.admin-category-chip{background:transparent;border:none;color:var(--muted);font-family:inherit;font-size:.78rem;font-weight:750;padding:4px 0;cursor:pointer;white-space:nowrap}.admin-category-chip-wrap.active .admin-category-chip{color:var(--white)}.admin-category-chip-wrap:active{transform:scale(.97)}.category-chip-delete{width:18px;height:18px;border-radius:50%;background:#0000000f;color:var(--muted);border:none;display:grid;place-items:center;cursor:pointer;padding:0;line-height:0;flex-shrink:0}.admin-category-chip-wrap.active .category-chip-delete{background:#ffffff40;color:var(--white)}.category-chip-delete:hover{background:#e53e3e;color:var(--white)}.admin-category-chip.add-category-chip{background:transparent;border:1.5px dashed var(--green);color:var(--green);font-weight:800;flex-shrink:0;padding:8px 16px;border-radius:999px;margin-right:8px}.admin-category-chip.add-category-chip:hover{background:#5a7d2e0f}.cat-error-msg{color:#e53e3e;font-size:.78rem;font-weight:650;margin:-4px 0 8px;padding:8px 12px;background:#e53e3e0d;border-radius:8px;border-left:3px solid #e53e3e}.field-hint{color:var(--muted-2);font-size:.72rem;margin-top:4px;display:block}.admin-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:grid;place-items:center;padding:20px}.admin-modal-card{background:var(--white);width:100%;max-width:440px;max-height:90vh;border-radius:28px;box-shadow:0 20px 40px #0000001f;border:1px solid rgba(0,0,0,.04);padding:24px;animation:modalSlideUp .3s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;gap:20px;overflow:hidden}@keyframes modalSlideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center}.modal-header h3{font-size:1.2rem;font-weight:850;color:var(--ink-soft)}.close-modal-btn{background:none;border:none;font-size:1.1rem;color:var(--muted);cursor:pointer}.admin-modal-form{display:flex;flex-direction:column;gap:14px;overflow-y:auto;padding-right:6px;flex:1}.admin-modal-form::-webkit-scrollbar{width:6px}.admin-modal-form::-webkit-scrollbar-track{background:transparent}.admin-modal-form::-webkit-scrollbar-thumb{background:#00000014;border-radius:10px}.admin-modal-form input[type=text],.admin-modal-form input[type=number],.admin-modal-form select,.admin-modal-form textarea{width:100%;background:#faf8f5;border:1px solid rgba(0,0,0,.05);border-radius:12px;padding:10px 12px;font-family:inherit;font-size:.88rem;color:var(--ink-soft);outline:none;transition:all .2s}.admin-modal-form input:focus,.admin-modal-form select:focus,.admin-modal-form textarea:focus{border-color:var(--green);background:var(--white);box-shadow:0 0 0 3px #5a7d2e14}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.image-theme-selector{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 8px}.theme-thumbnail-btn{width:50px;height:50px;border-radius:10px;border:2px solid transparent;cursor:pointer;display:grid;place-items:center;padding:4px;transition:border-color .2s}.theme-thumbnail-btn.selected{border-color:var(--green);box-shadow:0 0 0 3px #5a7d2e1a}.theme-thumbnail-btn img{width:80%;height:80%;object-fit:contain}.image-option-selector{display:flex;gap:8px;margin-bottom:6px}.option-chip-btn{background:#faf8f5;border:1px solid rgba(0,0,0,.05);border-radius:10px;padding:6px 12px;font-family:inherit;font-size:.72rem;font-weight:750;color:var(--muted);cursor:pointer;transition:all .2s ease}.option-chip-btn:hover{color:var(--ink-soft);border-color:#0000001a}.option-chip-btn.active{background:var(--green);color:var(--white);border-color:var(--green);box-shadow:0 2px 6px #5a7d2e26}.image-upload-wrapper{display:flex;flex-direction:column;gap:12px;background:#faf8f5;border:1.5px dashed rgba(0,0,0,.08);padding:14px;border-radius:14px;align-items:center;transition:border-color .2s}.image-upload-wrapper:hover{border-color:var(--green)}.image-upload-wrapper input[type=file]{font-size:.74rem;font-weight:700;color:var(--ink-soft);cursor:pointer;width:100%}.uploaded-preview-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;background:var(--white);padding:8px 10px;border-radius:10px;border:1px solid rgba(0,0,0,.04)}.uploaded-preview-img{width:44px;height:44px;object-fit:contain;border-radius:8px;background:#faf8f5;border:1px solid rgba(0,0,0,.02)}.remove-preview-btn{background:#e53e3e0f;border:1px solid rgba(229,62,62,.1);color:#e53e3e;font-size:.68rem;font-weight:800;padding:4px 10px;border-radius:8px;cursor:pointer;transition:all .2s}.remove-preview-btn:hover{background:#e53e3e1f}.modal-actions{display:flex;gap:12px;margin-top:14px}.modal-actions .pill-btn{flex:1;font-size:.82rem;font-weight:800;padding:12px 0}.modal-actions .cancel-btn{background:#faf8f5;border:1px solid rgba(0,0,0,.08);color:var(--ink-soft);transition:all .2s}.modal-actions .cancel-btn:hover{background:#f2efeb;border-color:#0000001f}.modal-actions .submit-btn{background:var(--green);color:var(--white);border:1px solid var(--green);transition:all .2s}.modal-actions .submit-btn:hover{background:var(--green-deep);border-color:var(--green-deep);box-shadow:0 4px 12px #5a7d2e26}.admin-menu-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.admin-menu-header-row .tab-title{margin-bottom:0!important}.admin-add-btn{font-size:.76rem!important;padding:8px 14px!important;font-weight:800}.placeholder-page{display:flex;align-items:center;justify-content:center;min-height:calc(100% - var(--nav-h));padding-top:40px}.placeholder-card{text-align:center;max-width:280px}.placeholder-logo{width:96px;height:96px;object-fit:contain;margin:0 auto 16px}.placeholder-card h1{font-size:24px;font-weight:700}.placeholder-card p{margin:10px 0 22px;color:var(--muted);font-size:14px;line-height:1.45}:root{--bg: #fdfbf7;--bg-cream: #fdfbf7;--white: #ffffff;--ink: #1a1a1a;--ink-soft: #3d2b1f;--muted: #7a7a7a;--muted-2: #9a9a9a;--green: #5a7d2e;--green-bright: #6a9a2e;--green-deep: #1b3c24;--green-cart: #1a3015;--peach: #ffecda;--peach-soft: #fceada;--lavender: #eadcf5;--shadow: 0 4px 18px rgba(40, 30, 20, .08);--shadow-soft: 0 2px 10px rgba(40, 30, 20, .06);--radius: 20px;--radius-lg: 24px;--radius-xl: 28px;--nav-h: 72px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--font: "Quicksand", "DM Sans", system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%;height:-webkit-fill-available}html,body,#root{width:100%;height:100%;height:100dvh;overflow:hidden}body{font-family:var(--font);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;overscroll-behavior:none;touch-action:manipulation}button,input{font:inherit;border:none;background:none;cursor:pointer}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.app{width:100%;height:100%;background:var(--bg);position:relative;overflow:hidden}.page{height:100%;overflow:hidden;padding-top:var(--safe-top);padding-bottom:calc(var(--nav-h) + var(--safe-bottom) + 24px);background:var(--bg)}.home-page,.menu-page,.detail-page,.cart-page,.orders-page,.diy-page,.profile-page{overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.home-page::-webkit-scrollbar,.menu-page::-webkit-scrollbar,.detail-page::-webkit-scrollbar,.cart-page::-webkit-scrollbar,.orders-page::-webkit-scrollbar,.diy-page::-webkit-scrollbar,.profile-page::-webkit-scrollbar{display:none}.page.has-cart-bar{padding-bottom:calc(var(--nav-h) + var(--safe-bottom) + 76px)}.scroll-x{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;padding:0 20px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.scroll-x::-webkit-scrollbar{display:none}.scroll-x>*{scroll-snap-align:start;flex-shrink:0}.section-pad{padding:0 20px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.section-head h2{font-size:18px;font-weight:700;letter-spacing:-.02em}.section-head .view-all{font-size:13px;color:var(--muted);font-weight:500}.pill-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;font-weight:700;letter-spacing:.04em;transition:transform .15s ease,filter .15s ease}.pill-btn:active{transform:scale(.97)}.pill-btn.primary{background:var(--green);color:#fff;padding:12px 20px;font-size:13px}.pill-btn.dark{background:var(--green-deep);color:#fff;padding:10px 16px;font-size:11px}.pill-btn.outline{border:1px solid #d8d4ce;color:var(--ink);padding:8px 14px;font-size:11px;font-weight:600;letter-spacing:.03em}.add-btn{width:28px;height:28px;border-radius:50%;background:var(--green-bright);color:#fff;display:grid;place-items:center;box-shadow:0 4px 10px #4f7c1e4d;transition:transform .15s ease}.add-btn:active{transform:scale(.9)}.dots{display:flex;justify-content:center;gap:6px}.dots span{width:6px;height:6px;border-radius:50%;background:#d5d0c8}.dots span.active{background:var(--green);width:7px;height:7px}.dots.light span{background:#ffffff73}.dots.light span.active{background:#fff}.main-nav{position:fixed;left:0;right:0;bottom:0;height:calc(var(--nav-h) + var(--safe-bottom));padding:0 6px calc(8px + var(--safe-bottom));background:var(--white);border-top:1px solid rgba(0,0,0,.05);display:flex;align-items:center;justify-content:space-around;z-index:40}.main-nav__brand,.main-nav__actions,.main-nav__links--desktop{display:none}.main-nav__links--mobile{display:contents}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;color:#9a9a9a;font-size:10px;font-weight:500;padding:8px 0}.nav-item.active{color:var(--green)}.nav-item svg{width:22px;height:22px}@media(min-width:1024px){:root{--nav-h: 72px;--desktop-max: 1180px}.main-nav{top:0;bottom:auto;height:var(--nav-h);padding:0 max(24px,calc((100% - var(--desktop-max)) / 2));border-top:none;border-bottom:1px solid rgba(0,0,0,.05);background:#fff;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;box-shadow:0 1px #00000008}.main-nav__brand{display:flex;align-items:center;gap:10px;color:#2c2c2c;font-weight:700;font-size:15px;letter-spacing:-.02em;white-space:nowrap}.main-nav__brand img{width:44px;height:44px;object-fit:contain}.main-nav__links--mobile{display:none}.main-nav__links--desktop{display:flex;align-items:center;justify-content:center;gap:4px}.nav-item--desk{flex:none;flex-direction:row;position:relative;padding:8px 14px;border-radius:0;font-size:14px;font-weight:600;color:#3a3a3a;background:none;transition:color .15s ease}.nav-item--desk:hover{color:var(--green);background:none}.nav-item--desk.active{color:#2c2c2c;font-weight:700;background:none}.nav-item--desk.active:after{content:"";position:absolute;left:14px;right:14px;bottom:2px;height:2.5px;border-radius:2px;background:var(--green)}.main-nav__actions{display:flex;align-items:center;gap:8px}.main-nav__icon-btn{position:relative;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:#2c2c2c;transition:background .15s ease}.main-nav__icon-btn:hover{background:#0000000a}.main-nav__cart-badge{position:absolute;top:4px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--green);color:#fff;font-size:10px;font-weight:800;line-height:18px;text-align:center}.main-nav__order-btn{margin-left:6px;padding:11px 20px;border-radius:999px;background:var(--green);color:#fff;font-size:13px;font-weight:700;letter-spacing:.02em;box-shadow:0 4px 12px #5a7d2e40;transition:background .15s ease,transform .12s ease}.main-nav__order-btn:hover{background:#4a6824}.main-nav__order-btn:active{transform:scale(.98)}.page{padding-top:var(--nav-h);padding-bottom:48px}.home-page{padding-top:0}.floating-cart{display:none}.section-pad{padding-left:max(28px,calc((100% - var(--desktop-max)) / 2 + 28px));padding-right:max(28px,calc((100% - var(--desktop-max)) / 2 + 28px))}}.floating-cart{position:fixed;left:16px;right:16px;bottom:calc(var(--nav-h) + var(--safe-bottom) + 10px);z-index:35;background:var(--green-cart);color:#fff;border-radius:999px;padding:10px 12px 10px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 10px 30px #1a301559;animation:slideUp .35s ease}.floating-cart .meta{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600}.floating-cart .meta small{display:block;font-size:11px;font-weight:400;opacity:.85;margin-top:1px}.floating-cart .view-btn{background:#fff;color:var(--green-deep);border-radius:999px;padding:10px 16px;font-size:12px;font-weight:700;white-space:nowrap}.floating-cart .arrow-btn{width:36px;height:36px;border-radius:50%;background:#ffffff26;display:grid;place-items:center;flex-shrink:0}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.float-anim{animation:floaty 3.5s ease-in-out infinite}.customer-login-container{display:flex;align-items:center;justify-content:center;padding-bottom:80px}.customer-login-card{width:100%;background:var(--white);border:1px solid rgba(0,0,0,.04);border-radius:28px;padding:32px 24px;box-shadow:var(--shadow-soft);text-align:center}.customer-login-logo-section{display:flex;flex-direction:column;align-items:center;margin-bottom:28px}.customer-login-logo{width:64px;height:64px;object-fit:contain;margin-bottom:16px;filter:drop-shadow(0 4px 10px rgba(90,125,46,.1))}.customer-login-logo-section h2{font-size:1.25rem;font-weight:800;color:var(--ink-soft);letter-spacing:-.3px}.customer-login-logo-section .subtitle{font-size:.72rem;font-weight:750;color:var(--muted);letter-spacing:.2px;margin-top:6px}.customer-login-form{display:flex;flex-direction:column;gap:18px}.customer-login-form input{width:100%;padding:12px 14px;background:#faf8f5;border:1px solid rgba(0,0,0,.05);border-radius:16px;color:var(--ink-soft);font-family:inherit;font-size:.9rem;outline:none;transition:all .25s ease}.customer-login-form input:focus{border-color:var(--green);background:var(--white);box-shadow:0 0 0 4px #5a7d2e14}.demo-credentials-info{background:#fbfbfd;border:1px dashed rgba(90,125,46,.15);padding:10px;border-radius:12px;font-size:.76rem;color:var(--muted);text-align:center}.demo-credentials-info strong{color:var(--ink-soft)}.customer-login-btn{width:100%;font-weight:850;letter-spacing:.8px;padding:14px;margin-top:10px;background:var(--green);color:var(--white);border-radius:999px;border:none;box-shadow:0 6px 18px #5a7d2e33;font-size:.85rem;transition:all .15s ease;cursor:pointer}.customer-login-btn:active{transform:scale(.98);background:var(--green-deep)}
