@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing: .25rem;--default-transition-duration: .15s;--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--default-font-family: var(--font-sans);--default-mono-font-family: var(--font-mono)}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:var(--default-mono-font-variation-settings, normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:currentcolor}@supports (color: color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.flex{display:flex}.inline{display:inline}.flex-shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%;width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f5f3ff;color:#111827;overscroll-behavior:none}app-root{display:block;height:100%;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}:root{--c-primary: #7C3AED;--c-primary-dark: #6D28D9;--c-primary-light: #8B5CF6;--c-accent: #3B82F6;--c-gradient: linear-gradient(135deg, #A855F7 0%, #3B82F6 100%);--c-gradient-deep: linear-gradient(160deg, #C026D3 0%, #7C3AED 50%, #3B82F6 100%);--c-surface: #ffffff;--c-bg: #f5f3ff;--c-border: #e5e7eb;--c-text-muted: #6b7280}.auth-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:var(--c-gradient-deep)}.auth-card{width:100%;max-width:400px;background:var(--c-surface);border-radius:1.25rem;padding:2rem;box-shadow:0 8px 32px #7c3aed40}.auth-logo__title{margin:0;font-size:2.25rem;font-weight:800;background:var(--c-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-align:center}.auth-logo__sub{margin:.25rem 0 1.5rem;text-align:center;color:var(--c-text-muted);font-size:.875rem}.auth-form__title{font-size:1.25rem;font-weight:700;margin:0 0 1rem;color:#1e1b4b}.auth-form__error{background:#fdf4ff;color:#7c3aed;border:1px solid #d8b4fe;border-radius:.625rem;padding:.75rem;font-size:.875rem;margin-bottom:1rem}.auth-form__field{display:flex;flex-direction:column;gap:.375rem;margin-bottom:.875rem;font-size:.875rem;font-weight:500;color:#374151}.auth-form__field input{border:1.5px solid var(--c-border);border-radius:.625rem;padding:.625rem .75rem;font-size:1rem;outline:none;transition:border-color .15s,box-shadow .15s}.auth-form__field input:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px #7c3aed26}.auth-form__btn{width:100%;padding:.8125rem;border:none;border-radius:.75rem;background:var(--c-gradient);color:#fff;font-size:1rem;font-weight:700;cursor:pointer;margin-top:.5rem;transition:opacity .15s;letter-spacing:.01em}.auth-form__btn:disabled{opacity:.6;cursor:not-allowed}.auth-form__btn:not(:disabled):hover{opacity:.9}.auth-footer{text-align:center;font-size:.875rem;color:var(--c-text-muted);margin:1rem 0 0}.auth-footer a{color:var(--c-primary);font-weight:600;text-decoration:none}.page{padding:1.25rem}.page__title{font-size:1.375rem;font-weight:700;margin:0 0 1rem;color:#1e1b4b}.page__placeholder{color:var(--c-text-muted)}.page__link{color:var(--c-primary);font-weight:600;text-decoration:none}.page__btn-logout{margin-top:1.5rem;padding:.625rem 1.25rem;border:1.5px solid var(--c-primary);border-radius:.625rem;background:transparent;color:var(--c-primary);font-size:.9rem;font-weight:600;cursor:pointer}.shell{display:flex;flex-direction:column;height:100dvh;overflow:hidden}.shell__content{flex:1;overflow-y:auto;padding-bottom:4rem}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--c-surface);border-top:1px solid var(--c-border);height:4rem;z-index:50;box-shadow:0 -2px 12px #7c3aed14}.bottom-nav__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:var(--c-text-muted);font-size:.68rem;gap:2px;transition:color .15s}.bottom-nav__item--active{color:var(--c-primary)}.bottom-nav__icon{width:22px;height:22px;flex-shrink:0}.home-page{padding:1.25rem}.home-header{margin-bottom:1.5rem}.home-header__greeting p{margin:0;font-size:1.125rem}.home-section__title{font-size:1.125rem;font-weight:700;margin:0 0 .875rem;color:#1e1b4b}.home-cta{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--c-surface);border:1px solid #ede9fe;border-radius:.875rem;text-decoration:none;color:#1e1b4b;font-weight:600;margin-bottom:.75rem;box-shadow:0 2px 8px #7c3aed14}.home-cta__icon{font-size:1.5rem}.account-info{background:var(--c-surface);border-radius:.875rem;padding:1rem;margin-bottom:1rem;border:1px solid #ede9fe}.account-info p{margin:.25rem 0}.cart-page{padding:1rem 1rem 6rem}.cart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.cart-header__title{font-size:1.375rem;font-weight:700;margin:0;color:#1e1b4b}.cart-header__clear{border:none;background:none;color:var(--c-text-muted);font-size:.875rem;cursor:pointer;padding:.25rem .5rem}.cart-loading,.cart-empty,.orders-loading,.orders-empty,.orders-error{text-align:center;padding:3rem 1rem;color:var(--c-text-muted)}.cart-empty svg{display:block;margin:0 auto 1rem;color:#c4b5fd}.cart-empty p,.orders-empty p{margin:0 0 1rem;font-size:1rem}.cart-empty__link,.orders-empty__link{display:inline-block;padding:.625rem 1.25rem;border-radius:.75rem;background:var(--c-gradient);color:#fff;font-weight:600;text-decoration:none;font-size:.9rem}.cart-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.cart-item{display:flex;align-items:center;gap:.75rem;background:var(--c-surface);border-radius:.875rem;padding:.75rem;border:1px solid #ede9fe;box-shadow:0 1px 4px #7c3aed0f}.cart-item__img{width:64px;height:64px;border-radius:.625rem;object-fit:cover;flex-shrink:0}.cart-item__img--placeholder{background:#ede9fe}.cart-item__info{flex:1;min-width:0}.cart-item__name{margin:0 0 .25rem;font-size:.875rem;font-weight:600;color:#1e1b4b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cart-item__price{margin:0 0 .5rem;font-size:.8rem;color:var(--c-text-muted)}.cart-item__controls{display:flex;align-items:center;gap:.5rem}.cart-item__right{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;flex-shrink:0}.cart-item__subtotal{font-size:.875rem;font-weight:700;color:var(--c-primary)}.cart-item__remove{border:none;background:none;cursor:pointer;color:#f87171;padding:.25rem;display:flex}.qty-btn{width:28px;height:28px;border-radius:50%;border:1.5px solid #d8b4fe;background:#faf5ff;color:var(--c-primary);font-size:1.1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.qty-btn:disabled{opacity:.4;cursor:not-allowed}.qty-value{font-size:.9rem;font-weight:700;min-width:1.25rem;text-align:center;color:#1e1b4b}.cart-footer{position:fixed;bottom:4rem;left:0;right:0;background:var(--c-surface);border-top:1px solid var(--c-border);padding:.875rem 1rem;z-index:40;box-shadow:0 -2px 12px #7c3aed14}.cart-footer__row{display:flex;justify-content:space-between;margin-bottom:.75rem;font-size:.9rem;font-weight:600;color:#1e1b4b}.cart-footer__btn{display:block;width:100%;padding:.875rem;border-radius:.75rem;background:var(--c-gradient);color:#fff;font-size:1rem;font-weight:700;text-align:center;text-decoration:none}.checkout-page{padding:0 0 6rem}.checkout-header{display:flex;align-items:center;gap:.75rem;padding:1rem;border-bottom:1px solid var(--c-border);margin-bottom:.5rem}.checkout-header__back{display:flex;color:var(--c-primary)}.checkout-header__title{margin:0;font-size:1.125rem;font-weight:700;color:#1e1b4b}.checkout-section{padding:.75rem 1rem;border-bottom:1px solid #f3f0ff}.checkout-section__title{font-size:.9rem;font-weight:700;color:#6d28d9;margin:0 0 .625rem;text-transform:uppercase;letter-spacing:.04em}.checkout-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.checkout-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.checkout-item__name{flex:1;color:#1e1b4b}.checkout-item__qty{color:var(--c-text-muted)}.checkout-item__subtotal{font-weight:600;color:#1e1b4b}.checkout-total{display:flex;justify-content:space-between;padding-top:.625rem;margin-top:.625rem;border-top:1px solid #ede9fe;font-size:.9375rem;font-weight:700;color:#1e1b4b}.od-payment-row{display:flex;justify-content:space-between;align-items:center;padding-top:.5rem;margin-top:.5rem;border-top:1px solid #ede9fe}.od-payment-label{font-size:.8125rem;color:#6b7280}.od-payment-badge{font-size:.75rem;padding:2px 8px;border-radius:10px;background:#e8f5e9;color:#2e7d32}.od-payment-badge--cash{background:#fff3e0;color:#e65100}.od-payment-badge--promo{background:#f0fdf4;color:#15803d}.od-promo-box{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.625rem;padding:.625rem .75rem;display:flex;flex-direction:column;gap:0}.od-promo-box__name{display:flex;align-items:center;gap:.375rem;font-size:.875rem;font-weight:700;color:#15803d;margin-bottom:.25rem}.od-promo-discount{font-size:.8125rem;font-weight:600;color:#15803d}.od-promo-excess-amount{font-size:.8125rem;font-weight:600;color:#92400e}.od-promo-total-row{display:flex;justify-content:space-between;align-items:center;padding-top:.5rem;margin-top:.5rem;border-top:1px solid #86efac}.od-promo-total-label,.od-promo-total-value{font-size:.875rem;font-weight:700;color:#14532d}.checkout-address{width:100%;border:1.5px solid var(--c-border);border-radius:.625rem;padding:.625rem .75rem;font-size:.9375rem;font-family:inherit;outline:none;resize:vertical;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.checkout-address:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px #7c3aed26}.checkout-label{display:block;font-size:.8125rem;font-weight:600;color:#4c1d95;margin:.75rem 0 .375rem}.checkout-required{color:#dc2626;margin-left:2px}.checkout-input{display:block;width:100%;box-sizing:border-box;height:44px;padding:0 .75rem;border:1.5px solid var(--c-border);border-radius:.625rem;font-size:.9375rem;font-family:inherit;color:#111827;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s}.checkout-input:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px #7c3aed26}.checkout-input--error{border-color:#dc2626!important}.checkout-input--error:focus{box-shadow:0 0 0 3px #dc26261f!important}.checkout-field-error{font-size:.75rem;color:#dc2626;margin:.25rem 0 0}.checkout-error{margin:.75rem 1rem 0;padding:.75rem;border-radius:.625rem;background:#fdf4ff;color:#7c3aed;border:1px solid #d8b4fe;font-size:.875rem}.checkout-footer{position:fixed;bottom:4rem;left:0;right:0;background:var(--c-surface);border-top:1px solid var(--c-border);padding:.875rem 1rem;z-index:40}.checkout-btn{width:100%;padding:.875rem;border:none;border-radius:.75rem;background:var(--c-gradient);color:#fff;font-size:1rem;font-weight:700;cursor:pointer}.checkout-btn:disabled{opacity:.6;cursor:not-allowed}.checkout-fee-hint{margin:0 0 .875rem;font-size:.8125rem;color:var(--c-text-muted);line-height:1.5}.checkout-fee-hint strong{color:#4c1d95}.checkout-fee-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:.375rem;margin-bottom:.875rem}.checkout-fee-step{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.625rem .25rem;border:2px solid #ede9fe;border-radius:.75rem;background:#faf8ff;cursor:pointer;transition:border-color .15s,background .15s,transform .1s;-webkit-tap-highlight-color:transparent}.checkout-fee-step:active{transform:scale(.96)}.checkout-fee-step__pct{font-size:.7rem;font-weight:700;color:#7c3aed;text-transform:uppercase;letter-spacing:.03em}.checkout-fee-step__amt{font-size:.7rem;font-weight:600;color:#6b7280;white-space:nowrap}.checkout-fee-step__badge{font-size:.75rem;line-height:1}.checkout-fee-step--active{border-color:var(--c-primary);background:linear-gradient(135deg,#ede9fe,#ddd6fe);box-shadow:0 2px 8px #7c3aed33}.checkout-fee-step--active .checkout-fee-step__pct{color:#4c1d95}.checkout-fee-step--active .checkout-fee-step__amt{color:#5b21b6;font-weight:700}.checkout-total--delivery{font-size:.875rem;font-weight:600;color:var(--c-text-muted);border-top:1px dashed #ddd6fe;padding-top:.5rem;margin-top:.5rem}.checkout-total--grand{font-size:1rem;font-weight:800;color:#4c1d95;border-top:2px solid #7c3aed;padding-top:.625rem;margin-top:.5rem}.checkout-section--receipt{background:#faf8ff}.checkout-receipt{background:#fff;border:1.5px solid #ede9fe;border-radius:.875rem;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.5rem}.checkout-receipt__row{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;color:#374151}.checkout-receipt__row--service{color:#6b7280}.checkout-receipt__row--total{padding-top:.5rem}.checkout-receipt__label{flex:1}.checkout-receipt__value{font-weight:600}.checkout-receipt__free{display:inline-block;font-size:.7rem;font-weight:700;color:#16a34a;background:#dcfce7;border-radius:4px;padding:1px 5px;margin-left:6px;vertical-align:middle}.checkout-receipt__divider{border:none;border-top:2px solid #7c3aed;margin:.25rem 0}.checkout-receipt__value--total{font-size:1.125rem;color:#4c1d95}.checkout-receipt__note{margin:.375rem 0 0;font-size:.75rem;color:#9ca3af;text-align:center}.checkout-payment-cash-only{display:flex;align-items:center;gap:.625rem;padding:.75rem 1rem;border-radius:.875rem;background:#f0fdf4;border:1.5px solid #bbf7d0}.checkout-payment-cash-only__icon{font-size:1.375rem;line-height:1}.checkout-payment-cash-only__label{font-size:.9375rem;font-weight:600;color:#15803d}.orders-page{padding:1rem 1rem 6rem}.orders-header{margin-bottom:1rem}.orders-header__title{font-size:1.375rem;font-weight:700;margin:0;color:#1e1b4b}.orders-error{color:#f87171}.orders-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.orders-tab{flex:1;padding:.5rem .75rem;background:#ede9fe;border:none;border-radius:.75rem;font-size:.875rem;font-weight:600;color:#7c3aed;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.375rem;transition:background .15s,color .15s}.orders-tab--active{background:#7c3aed;color:#fff}.orders-tab__badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;background:#ffffff4d;border-radius:999px;font-size:.7rem;font-weight:700}.orders-tab:not(.orders-tab--active) .orders-tab__badge{background:#7c3aed33}.orders-empty{padding:2.5rem 1rem;text-align:center;color:#9ca3af;font-size:.9375rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}.order-card{background:var(--c-surface);border-radius:.875rem;border:1px solid #ede9fe;box-shadow:0 1px 4px #7c3aed0f;overflow:hidden}.order-card__link{display:block;padding:.875rem 1rem;text-decoration:none}.order-card__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.375rem}.order-card__id{font-size:.875rem;font-weight:700;color:#1e1b4b}.order-card__info{display:flex;justify-content:space-between;font-size:.875rem;color:var(--c-text-muted);margin-bottom:.25rem}.order-card__date{font-size:.75rem;color:#a5b4fc}.order-card__status,.od-status-badge{display:inline-block;padding:.25rem .625rem;border-radius:999px;font-size:.75rem;font-weight:700}.status--pending{background:#fef9c3;color:#a16207}.status--confirmed,.status--preparing{background:#dbeafe;color:#1d4ed8}.status--ready{background:#ede9fe;color:#6d28d9}.status--out_for_delivery{background:#d1fae5;color:#065f46}.status--delivered{background:#f0fdf4;color:#15803d}.status--cancelled{background:#fee2e2;color:#b91c1c}.order-detail-page{padding:0 0 4rem}.od-status-badge{margin:.75rem 1rem}.od-tracker{display:flex;align-items:flex-start;gap:0;padding:.75rem 0 0}.od-tracker__step{flex:1;display:flex;flex-direction:column;align-items:center;position:relative}.od-tracker__dot{width:12px;height:12px;border-radius:50%;border:2px solid #d8b4fe;background:#fff;z-index:1}.od-tracker__step--done .od-tracker__dot{background:var(--c-primary);border-color:var(--c-primary)}.od-tracker__line{position:absolute;top:5px;left:50%;width:100%;height:2px;background:#e9d5ff}.od-tracker__step--done .od-tracker__line{background:var(--c-primary)}.od-tracker__label{font-size:.65rem;color:var(--c-text-muted);margin-top:.375rem;text-align:center}.od-tracker__step--done .od-tracker__label{color:var(--c-primary);font-weight:600}.od-address{margin:0;font-size:.9375rem;color:#374151;line-height:1.5}.od-date{padding:.5rem 1rem 0;font-size:.75rem;color:var(--c-text-muted)}.od-confirm-code{display:flex;flex-direction:column;align-items:center;gap:.625rem;padding:1rem .5rem}.od-confirm-code__label{font-size:.875rem;color:var(--c-text-muted);margin:0;text-align:center}.od-confirm-code__box{display:flex;gap:.5rem}.od-confirm-code__digit{display:flex;align-items:center;justify-content:center;width:2.75rem;height:3.25rem;background:#fff;border:2px solid var(--c-primary);border-radius:.625rem;font-size:1.75rem;font-weight:800;color:var(--c-primary);letter-spacing:0}.co-addr-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.875rem}.co-addr-chip{display:flex;flex-direction:column;align-items:flex-start;gap:.125rem;padding:.5rem .75rem;border:1.5px solid #ddd6fe;border-radius:.75rem;background:#faf8ff;cursor:pointer;text-align:left;min-width:100px;max-width:160px;transition:border-color .15s,background .15s,box-shadow .15s;-webkit-tap-highlight-color:transparent}.co-addr-chip:active{transform:scale(.97)}.co-addr-chip:hover{border-color:#c4b5fd}.co-addr-chip--active{border-color:var(--c-primary);background:#ede9fe;box-shadow:0 2px 8px #7c3aed2e}.co-addr-chip--add{align-items:center;justify-content:center;min-width:56px;max-width:56px;border-style:dashed;border-color:#c4b5fd;background:#faf8ff}.co-addr-chip--add:hover{background:#f5f0ff}.co-addr-chip__icon{font-size:1.125rem;font-weight:700;color:var(--c-primary);line-height:1}.co-addr-chip__label{font-size:.75rem;font-weight:700;color:#4c1d95;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.co-addr-chip--add .co-addr-chip__label{color:var(--c-primary);font-size:.7rem}.co-addr-chip__addr{font-size:.7rem;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.co-addr-save-row{display:flex;flex-direction:column;gap:.5rem;margin-top:.625rem}.co-addr-save-toggle{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--c-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.co-addr-save-toggle input[type=checkbox]{accent-color:var(--c-primary);width:16px;height:16px;flex-shrink:0;cursor:pointer}.co-addr-label-input{width:100%;box-sizing:border-box;border:1.5px solid #ddd6fe;border-radius:.625rem;padding:.5rem .75rem;font-size:.875rem;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s}.co-addr-label-input:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px #7c3aed1f}.co-addr-label-input::placeholder{color:#9ca3af}.co-addr-picker-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;margin-bottom:12px;border-radius:24px;border:1.5px solid #c4b5fd;background:#ede9fe;color:#7c3aed;font-size:13px;font-weight:700;font-family:inherit;cursor:pointer;transition:border-color .15s,background .15s;-webkit-tap-highlight-color:transparent}.co-addr-picker-btn:active{background:#ddd6fe}.co-addr-selected{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;margin-bottom:10px;border-radius:12px;background:#ede9fe;border:1.5px solid #7c3aed}.co-addr-selected__label{font-size:13px;font-weight:600;color:#4c1d95;flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.co-addr-selected__clear{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:none;background:#7c3aed26;color:#7c3aed;cursor:pointer}.co-addr-card{display:flex;align-items:center;gap:12px;padding:12px 14px;margin:8px 0 10px;border-radius:14px;border:1.5px solid #7c3aed;background:linear-gradient(135deg,#ede9fe,#f5f3ff);box-shadow:0 2px 10px #7c3aed1f}.co-addr-card__icon{flex-shrink:0;width:34px;height:34px;border-radius:50%;background:#7c3aed26;color:#7c3aed;display:flex;align-items:center;justify-content:center}.co-addr-card__body{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.co-addr-card__label{font-size:.8125rem;font-weight:700;color:#4c1d95;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-addr-card__text{font-size:.75rem;color:#6d28d9;opacity:.8;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4}.co-addr-card__change{flex-shrink:0;padding:6px 12px;border-radius:20px;border:1.5px solid rgba(124,58,237,.4);background:#ffffffb3;color:#7c3aed;font-size:.75rem;font-weight:700;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.co-addr-card__change:hover{background:#fff;border-color:#7c3aed}.co-addr-card__change:active{background:#ede9fe}.co-picker-panel{width:100%;max-width:480px}.od-confirm-code__hint{font-size:.75rem;color:var(--c-text-muted);margin:0;text-align:center}.od-cancel-wrap{padding:0 16px 32px;display:flex;justify-content:center}.od-cancel-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:12px;border:1.5px solid #fca5a5;background:#fff1f2;color:#dc2626;font-size:14px;font-weight:700;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s;-webkit-tap-highlight-color:transparent}.od-cancel-btn:not(:disabled):hover{background:#ffe4e6;border-color:#f87171}.od-cancel-btn:not(:disabled):active{background:#fecaca}.od-cancel-btn:disabled{opacity:.55;cursor:not-allowed}@keyframes od-spin{to{transform:rotate(360deg)}}.od-cancel-btn__spinner{animation:od-spin .8s linear infinite;flex-shrink:0}.od-chat-btn{display:flex;align-items:center;gap:8px;width:100%;padding:12px 16px;background:#f5f3ff;border:1.5px solid #c4b5fd;border-radius:10px;color:#6d28d9;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s;position:relative}.od-chat-btn:not(:disabled):active{background:#ede9fe}.od-chat-btn:disabled{opacity:.5;cursor:not-allowed}.od-chat-btn--history{background:none;border-color:#7c3aed;color:#7c3aed}.od-chat-btn--history:not(:disabled):active{background:#7c3aed0f}.od-chat-btn__badge{margin-left:auto;background:#ef4444;color:#fff;font-size:12px;font-weight:700;min-width:20px;height:20px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}.od-timer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:linear-gradient(135deg,#f5f3ff,#ede9fe);border:1.5px solid #c4b5fd;border-radius:.875rem;padding:.875rem 1rem}.od-timer__rider-info{display:flex;align-items:center;gap:.625rem;min-width:0}.od-timer__rider-avatar{width:36px;height:36px;border-radius:50%;background:#ddd6fe;display:flex;align-items:center;justify-content:center;color:#6d28d9;flex-shrink:0}.od-timer__rider-name{margin:0;font-size:.875rem;font-weight:700;color:#1e1b4b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.od-timer__rider-sub{margin:.125rem 0 0;font-size:.75rem;color:#6d28d9}.od-timer__clock{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.od-timer__time{font-size:1.75rem;font-weight:900;color:#4c1d95;letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums}.od-timer__clock-label{font-size:.65rem;font-weight:600;color:#7c3aed;text-transform:uppercase;letter-spacing:.06em}.od-timer__arriving{font-size:1rem;font-weight:800;color:#16a34a}.od-timer__arriving-dot{font-size:.625rem;color:#16a34a;animation:od-timer-blink 1s step-start infinite}@keyframes od-timer-blink{0%,to{opacity:1}50%{opacity:0}}.orders-history-toggle{display:flex;align-items:center;justify-content:center;gap:.375rem;width:100%;margin-top:.25rem;padding:.75rem 1rem;background:transparent;border:none;border-top:1px solid var(--c-border);color:var(--c-primary);font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.orders-history-toggle:active{color:var(--c-primary-dark)}.orders-history-toggle__chevron{transition:transform .2s ease;flex-shrink:0}.orders-history-toggle__chevron--up{transform:rotate(180deg)}.offer-flash{position:fixed;top:72px;left:50%;transform:translate(-50%);z-index:300;width:min(calc(100vw - 32px),400px);display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fff;border-radius:14px;box-shadow:0 8px 24px #0000002e;border-left:4px solid #7c3aed;animation:offerFlashIn .28s cubic-bezier(.34,1.56,.64,1)}@keyframes offerFlashIn{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.offer-flash__icon{font-size:22px;line-height:1;flex-shrink:0}.offer-flash__body{flex:1;min-width:0}.offer-flash__title{margin:0 0 3px;font-size:12px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.offer-flash__title strong{color:#111827;font-weight:600}.offer-flash__detail{margin:0;font-size:15px;font-weight:700;color:#111827}.offer-flash__close{background:none;border:none;padding:4px 8px;font-size:14px;color:#9ca3af;cursor:pointer;flex-shrink:0;line-height:1;border-radius:6px}.offer-flash__close:active{color:#374151}@property --tw-rotate-x{syntax: "*"; inherits: false;}@property --tw-rotate-y{syntax: "*"; inherits: false;}@property --tw-rotate-z{syntax: "*"; inherits: false;}@property --tw-skew-x{syntax: "*"; inherits: false;}@property --tw-skew-y{syntax: "*"; inherits: false;}@property --tw-border-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-outline-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-blur{syntax: "*"; inherits: false;}@property --tw-brightness{syntax: "*"; inherits: false;}@property --tw-contrast{syntax: "*"; inherits: false;}@property --tw-grayscale{syntax: "*"; inherits: false;}@property --tw-hue-rotate{syntax: "*"; inherits: false;}@property --tw-invert{syntax: "*"; inherits: false;}@property --tw-opacity{syntax: "*"; inherits: false;}@property --tw-saturate{syntax: "*"; inherits: false;}@property --tw-sepia{syntax: "*"; inherits: false;}@property --tw-drop-shadow{syntax: "*"; inherits: false;}@property --tw-drop-shadow-color{syntax: "*"; inherits: false;}@property --tw-drop-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-drop-shadow-size{syntax: "*"; inherits: false;}@property --tw-backdrop-blur{syntax: "*"; inherits: false;}@property --tw-backdrop-brightness{syntax: "*"; inherits: false;}@property --tw-backdrop-contrast{syntax: "*"; inherits: false;}@property --tw-backdrop-grayscale{syntax: "*"; inherits: false;}@property --tw-backdrop-hue-rotate{syntax: "*"; inherits: false;}@property --tw-backdrop-invert{syntax: "*"; inherits: false;}@property --tw-backdrop-opacity{syntax: "*"; inherits: false;}@property --tw-backdrop-saturate{syntax: "*"; inherits: false;}@property --tw-backdrop-sepia{syntax: "*"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x: initial;--tw-rotate-y: initial;--tw-rotate-z: initial;--tw-skew-x: initial;--tw-skew-y: initial;--tw-border-style: solid;--tw-outline-style: solid;--tw-blur: initial;--tw-brightness: initial;--tw-contrast: initial;--tw-grayscale: initial;--tw-hue-rotate: initial;--tw-invert: initial;--tw-opacity: initial;--tw-saturate: initial;--tw-sepia: initial;--tw-drop-shadow: initial;--tw-drop-shadow-color: initial;--tw-drop-shadow-alpha: 100%;--tw-drop-shadow-size: initial;--tw-backdrop-blur: initial;--tw-backdrop-brightness: initial;--tw-backdrop-contrast: initial;--tw-backdrop-grayscale: initial;--tw-backdrop-hue-rotate: initial;--tw-backdrop-invert: initial;--tw-backdrop-opacity: initial;--tw-backdrop-saturate: initial;--tw-backdrop-sepia: initial}}}
