.mobile-menu{position:fixed;z-index:50;left:calc(16px + var(--tg-safe-area-left) + var(--tg-content-safe-area-left));right:calc(16px + var(--tg-safe-area-right) + var(--tg-content-safe-area-right));bottom:calc(12px + var(--tg-safe-area-bottom) + var(--tg-content-safe-area-bottom));display:grid;grid-template-columns:repeat(5,1fr);align-items:end;gap:0;padding:10px 8px 12px;background:var(--app-surface);border:1px solid var(--app-border);border-radius:22px;box-shadow:0 8px 32px #2d1e1414,0 1px #ffffffbf inset;-webkit-tap-highlight-color:transparent}.menu-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px;min-height:48px;padding:4px 2px 2px;border-radius:16px;text-decoration:none;font-size:10px;font-weight:500;letter-spacing:.02em;color:var(--app-muted);background:transparent;outline:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:color .1s ease}.menu-item__icon-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;line-height:0}.menu-item__icon{display:flex;align-items:center;justify-content:center;color:inherit;line-height:0}.menu-item__svg{display:block;flex-shrink:0}.menu-item__label{line-height:1.15;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 1px}.menu-item__badge{position:absolute;top:-6px;right:-9px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:#dc2626;color:#fff;font-size:10px;font-weight:700;line-height:17px;text-align:center;box-shadow:0 1px 4px #dc262666;pointer-events:none}.menu-item:focus-visible{box-shadow:0 0 0 2px var(--app-surface),0 0 0 4px var(--app-accent);border-radius:16px}.menu-item--active{color:var(--app-text);font-weight:600}.menu-item--active .menu-item__icon{color:var(--app-accent)}@media (prefers-reduced-motion: reduce){.menu-item{transition:none}}@media (min-width: 1024px){.mobile-menu{left:calc(16px + var(--tg-safe-area-left) + var(--tg-content-safe-area-left));right:auto;top:calc(16px + var(--tg-safe-area-top) + var(--tg-content-safe-area-top));bottom:calc(16px + var(--tg-safe-area-bottom) + var(--tg-content-safe-area-bottom));width:92px;grid-template-columns:1fr;align-items:stretch;padding:12px 8px;border-radius:18px;box-shadow:0 10px 30px #2d1e141a,0 1px #ffffffb8 inset}.menu-item{min-height:56px;justify-content:center;gap:6px;border-radius:12px}.menu-item__label{font-size:11px;line-height:1.2;white-space:normal}}.btn{border:none;border-radius:12px;padding:12px 16px;font-weight:600;cursor:pointer;transition:transform .15s ease,opacity .15s ease}.btn.primary{background:var(--app-accent);color:var(--app-accent-contrast)}.btn.primary:hover{background:var(--app-accent-hover, var(--app-accent))}.btn.ghost{background:transparent;border:1px solid var(--app-border);color:var(--app-text)}.btn:active{transform:scale(.98);opacity:.85}.status-page{min-height:calc(var(--tg-viewport-stable-height, 100vh) - var(--tg-safe-area-top) - var(--tg-safe-area-bottom));display:grid;place-items:center;padding:calc(24px + var(--tg-content-safe-area-top)) calc(20px + var(--tg-content-safe-area-right)) calc(24px + var(--tg-content-safe-area-bottom)) calc(20px + var(--tg-content-safe-area-left))}.status-card{width:min(420px,100%);background:var(--app-surface);border:1px solid var(--app-border);border-radius:20px;padding:24px;box-shadow:var(--app-shadow);text-align:center}.status-code{font-size:48px;font-weight:700;color:var(--app-accent);margin-bottom:4px}.status-title{margin:0 0 8px;font-size:18px;font-weight:600}.status-text{margin:0 0 18px;color:var(--app-muted);font-size:14px}.point-toggle{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.point-pill{border:1px solid var(--app-border);border-radius:999px;background:var(--app-surface);color:var(--app-text);padding:8px 12px;font-size:12px;white-space:nowrap}.point-pill-active{background:var(--app-text);color:#fff}.point-pill-inactive{opacity:.75}.product-line{display:flex;flex-direction:column;gap:12px;padding:14px 16px;border-radius:16px;background:var(--app-surface);border:1px solid var(--app-border);box-shadow:0 2px 12px #2d1e140d;-webkit-tap-highlight-color:transparent}.product-line__main{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.product-line__text{min-width:0;flex:1}.product-line__name{margin:0 0 8px;font-size:16px;font-weight:700;line-height:1.35;color:var(--app-text);letter-spacing:-.01em}.product-line__badges{display:flex;flex-wrap:wrap;gap:6px}.product-line__badge{display:inline-block;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:600;line-height:1.2}.product-line__badge--warn{background:#fff4d9;color:#744d00}.product-line__badge--qty{background:#f0f4ff;color:#334155}.product-line__fav{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:42px;height:42px;margin:-4px -6px -4px 0;padding:0;border:none;border-radius:12px;background:transparent;color:var(--app-muted);cursor:pointer;transition:color .12s ease,background .12s ease}.product-line__fav:active{background:hsl(var(--muted) / .45)}.product-line__fav--on{color:#dc2626}.product-line__fav-svg{display:block;width:24px;height:24px}.product-line__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-top:4px;border-top:1px solid hsl(var(--border) / .65)}.product-line__price{margin:0;font-size:17px;font-weight:800;color:hsl(var(--secondary));letter-spacing:-.02em}.product-line__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:flex-end;flex:1;min-width:0}.product-line__qty{display:inline-flex;align-items:center;border:1px solid var(--app-border);border-radius:999px;overflow:hidden;background:hsl(var(--muted) / .25)}.product-line__qty button{display:flex;align-items:center;justify-content:center;width:36px;height:34px;border:0;background:var(--app-surface);color:var(--app-text);font-size:18px;font-weight:600;line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent}.product-line__qty span{min-width:32px;text-align:center;font-size:14px;font-weight:700;color:var(--app-text)}.product-line__cart-btn{min-height:38px;padding:0 16px;border:none;border-radius:12px;font-size:14px;font-weight:600;font-family:inherit;color:hsl(var(--accent-foreground));background:linear-gradient(180deg,hsl(var(--accent)),#774d32);box-shadow:0 4px 14px hsl(var(--accent) / .35);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent}@media (max-width: 380px){.product-line__actions{width:100%;justify-content:space-between}.product-line__cart-btn{flex:1;min-width:0}}.catalog-page{display:flex;flex-direction:column;gap:14px;padding-bottom:4px}.catalog-banner{padding:12px 14px;border-radius:14px;font-size:14px;line-height:1.45}.catalog-banner--error{background:#dc262614;border:1px solid rgba(220,38,38,.2);color:#991b1b}.category-scroll{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;padding:4px 2px 10px;margin:0 -2px;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.category-scroll::-webkit-scrollbar{display:none}.category-chip{position:relative;display:flex;flex-direction:column;align-items:stretch;width:100px;flex:0 0 auto;padding:0;border:2px solid transparent;border-radius:14px;overflow:hidden;background:var(--app-surface);cursor:pointer;text-align:left;color:var(--app-text);box-shadow:0 2px 10px #2d1e1412;transition:border-color .15s ease,box-shadow .15s ease;-webkit-tap-highlight-color:transparent}.category-chip--active{border-color:var(--app-accent);box-shadow:0 4px 16px hsl(var(--accent) / .22)}.category-chip__media{display:block;height:64px;overflow:hidden}.category-chip__media img{width:100%;height:100%;object-fit:cover;display:block}.category-chip__label{display:block;padding:8px 8px 10px;font-size:11px;font-weight:700;line-height:1.25;text-align:center;background:linear-gradient(180deg,hsl(var(--muted) / .2) 0%,var(--app-surface) 100%)}.catalog-list-wrap{display:flex;flex-direction:column;gap:12px;min-width:0}.catalog-list-title{margin:0;font-size:1.2rem;font-weight:800;letter-spacing:-.02em;color:var(--app-text)}.catalog-empty{padding:24px 16px;text-align:center;font-size:14px;color:var(--app-muted);border-radius:16px;border:1px dashed var(--app-border);background:hsl(var(--muted) / .2)}.catalog-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.catalog-list__item{margin:0}.favorites-page{display:flex;flex-direction:column;gap:12px;padding-bottom:8px}.favorites-page__title{margin:0;font-size:1.35rem;font-weight:800;letter-spacing:-.02em;color:var(--app-text)}.favorites-page__intro{margin:0;font-size:13px;line-height:1.5;color:var(--app-muted)}.favorites-page__banner{padding:11px 14px;border-radius:14px;font-size:13px;line-height:1.45}.favorites-page__banner--warn{background:#d977061a;border:1px solid rgba(217,119,6,.25);color:#92400e}.favorites-page__hint{margin:0;font-size:12px;color:var(--app-muted)}.favorites-page__to-catalog{width:100%;justify-content:center;padding:12px 16px;border-radius:14px;font-weight:600}.favorites-empty{padding:28px 18px;text-align:center;border-radius:16px;border:1px dashed var(--app-border);background:hsl(var(--muted) / .22)}.favorites-empty__title{margin:0 0 8px;font-size:16px;font-weight:700;color:var(--app-text)}.favorites-empty__text{margin:0;font-size:14px;line-height:1.5;color:var(--app-muted)}.favorites-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.favorites-list__item{margin:0}body.modal-open{overflow:hidden;touch-action:none}.bottom-sheet{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c0f1773;display:flex;align-items:flex-end;justify-content:center;padding:0;z-index:3000}.bottom-sheet__sheet{width:100%;background:var(--app-surface);color:var(--app-text);border-radius:18px 18px 0 0;box-shadow:0 -12px 30px #0f172a2e;display:flex;flex-direction:column;overflow:hidden;animation:bottomSheetSlideUp .25s ease}.bottom-sheet__handle{width:46px;height:4px;border-radius:999px;background:#7f7f7f73;margin:10px auto 8px;cursor:grab;touch-action:none}.bottom-sheet__handle:active{cursor:grabbing}.bottom-sheet__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px 12px}.bottom-sheet__title{font-size:16px;font-weight:600}.bottom-sheet__close{border:none;background:transparent;color:var(--app-accent);font-weight:600;cursor:pointer;padding:4px 6px}.bottom-sheet__content{padding:0 16px calc(16px + var(--tg-content-safe-area-bottom));overflow:auto}@keyframes bottomSheetSlideUp{0%{transform:translateY(100%);opacity:.4}to{transform:translateY(0);opacity:1}}.bounce-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3200;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:#0c0f1780;animation:bounceModalFade .2s ease}.bounce-modal__dialog{width:100%;max-width:420px;max-height:min(85vh,640px);display:flex;flex-direction:column;background:var(--app-surface);color:var(--app-text);border-radius:20px;box-shadow:0 24px 48px #0f172a38;border:1px solid var(--app-border);overflow:hidden;animation:bounceModalIn .45s cubic-bezier(.34,1.56,.64,1)}.bounce-modal__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 16px 0;flex-shrink:0}.bounce-modal__title{margin:0;font-size:18px;font-weight:700}.bounce-modal__close{border:none;background:transparent;color:var(--app-accent);font-weight:600;cursor:pointer;padding:4px 8px;font-size:14px}.bounce-modal__body{padding:12px 16px calc(20px + var(--tg-content-safe-area-bottom));overflow:auto}@keyframes bounceModalFade{0%{opacity:0}to{opacity:1}}@keyframes bounceModalIn{0%{opacity:0;transform:scale(.88) translateY(12px)}60%{opacity:1;transform:scale(1.02) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.orders-page{display:grid;gap:14px}.orders-page h2{margin:0}.order-card{display:grid;gap:12px;padding:16px;border-radius:18px;border:1px solid var(--app-border);background:linear-gradient(165deg,var(--app-warm-100) 0%,var(--app-surface) 48%,var(--app-warm-200) 100%);box-shadow:var(--app-shadow-card, var(--app-shadow))}.order-card__top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px}.order-card__ids{display:flex;flex-direction:column;gap:2px}.order-card__number{font-size:15px;font-weight:800;letter-spacing:.02em;color:var(--app-text)}.order-card__id-muted{font-size:12px;color:var(--app-muted)}.order-card__status{font-size:12px;font-weight:700;padding:6px 12px;border-radius:999px;background:var(--app-warm-200);color:#25304a;white-space:nowrap}.order-card__status--success{background:#e8f5e9;color:#1b5e20}.order-card__status--danger{background:#ffebee;color:#b71c1c}.order-card__outlet{font-size:14px;font-weight:600;color:var(--app-text);line-height:1.35}.order-card__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.order-card__metric{display:flex;flex-direction:column;gap:4px;min-width:0}.order-card__metric-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--app-muted)}.order-card__metric strong{font-size:14px;font-weight:600;line-height:1.3}.order-card__created{font-size:12px;color:var(--app-muted)}.order-card__money{display:grid;gap:6px;padding-top:4px;border-top:1px dashed var(--app-border)}.order-card__money-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:14px}.order-card__money-row span{color:var(--app-muted)}.order-card__money-total{margin-top:4px;padding-top:8px;border-top:1px solid var(--app-border);font-size:16px;font-weight:700}.order-card__money-total span{color:var(--app-text)}.order-row{display:flex;justify-content:space-between;gap:10px}.order-row span{color:var(--app-muted)}.order-buttons{display:flex;flex-wrap:wrap;gap:8px}.order-schedule{font-size:12px;color:#744d00;background:#fff4d9;border-radius:999px;padding:4px 10px;width:fit-content}.order-items-modal{list-style:none;margin:0;padding:0;display:grid;gap:0}.order-items-modal__row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--app-border)}.order-items-modal__row:last-child{border-bottom:none}.order-items-modal__main{display:flex;flex-direction:column;gap:4px;min-width:0}.order-items-modal__name{font-weight:600;font-size:15px;line-height:1.35}.order-items-modal__qty{font-size:13px;color:var(--app-muted)}.order-items-modal__sum{font-size:15px;font-weight:700;flex-shrink:0}.orders-sheet{display:grid;gap:12px;padding-bottom:8px}.orders-sheet p{margin:0}.orders-sheet__weekdays{display:grid;gap:8px}.orders-sheet__weekday{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--app-border);border-radius:10px;background:var(--app-warm-100)}.orders-sheet__actions{display:grid;gap:8px}.orders-sheet__btn{width:100%}@media (max-width: 380px){.order-card__grid{grid-template-columns:1fr}}.profile-page{display:flex;flex-direction:column;gap:14px;padding-bottom:8px}.profile-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.profile-header__title{margin:0;font-size:1.35rem;font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--app-text)}.profile-header__logout{flex-shrink:0;font-size:13px;padding:8px 12px}.profile-alert{padding:12px 14px;border-radius:14px;background:#dc262614;border:1px solid rgba(220,38,38,.2);color:#991b1b;font-size:14px;line-height:1.45}.profile-placeholder{padding:20px 16px;text-align:center;border-radius:16px;background:var(--app-surface);border:1px solid var(--app-border);box-shadow:var(--app-shadow);color:var(--app-muted);font-size:14px}.profile-info{display:flex;flex-direction:column;gap:12px}.profile-section-card{margin:0;padding:0;border-radius:16px;background:var(--app-surface);border:1px solid var(--app-border);box-shadow:var(--app-shadow);overflow:hidden}.profile-section-card--accent{background:linear-gradient(180deg,hsl(var(--card)),hsl(var(--muted) / .35))}.profile-section-card__title{margin:0;padding:14px 16px 10px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--app-muted);border-bottom:1px solid var(--app-border);background:hsl(var(--muted) / .25)}.profile-section-card--accent .profile-section-card__title{background:transparent;border-bottom-color:var(--app-border)}.profile-section-card__lead{margin:0;padding:12px 16px 0;font-size:13px;line-height:1.5;color:var(--app-muted)}.profile-fields{margin:0;padding:4px 0 6px}.profile-field{margin:0;padding:12px 16px;border-bottom:1px solid hsl(var(--border) / .65)}.profile-field:last-of-type{border-bottom:none}.profile-field__label{margin:0 0 6px;font-size:12px;font-weight:600;color:var(--app-muted);line-height:1.25}.profile-field__value{margin:0;font-size:15px;font-weight:500;line-height:1.45;color:var(--app-text);word-break:break-word;overflow-wrap:anywhere}.profile-section-card--accent .profile-actions{padding:14px 16px 16px}.profile-actions{display:flex;flex-direction:column;gap:8px}.profile-action-btn{width:100%;justify-content:center;text-align:center;font-size:14px;padding:12px 14px;border-radius:12px;border:1px solid var(--app-border);background:var(--app-surface)}.tasting-form{display:flex;flex-direction:column;gap:10px;padding:12px 16px 8px}.tasting-form textarea,.tasting-form input[type=datetime-local]{width:100%;box-sizing:border-box;border:1px solid var(--app-border);background:hsl(var(--muted) / .35);color:var(--app-text);border-radius:12px;padding:12px 14px;font-size:15px;font-family:inherit;line-height:1.4}.tasting-form textarea{min-height:5rem;resize:vertical}.tasting-form .btn.primary{margin-top:4px;width:100%;padding:14px 16px;border-radius:12px;font-size:15px;font-weight:600}.tasting-list{padding:8px 16px 16px;border-top:1px solid var(--app-border)}.tasting-list__item{margin:0;padding:10px 0;font-size:13px;line-height:1.45;color:var(--app-text);border-bottom:1px solid hsl(var(--border) / .5)}.tasting-list__item:last-child{border-bottom:none}.tasting-list__empty{margin:0;padding:12px 0 4px;font-size:14px;color:var(--app-muted)}.cart-page{display:flex;flex-direction:column;gap:14px;min-height:0}.cart-page__title{margin:0;font-size:1.35rem;font-weight:800;letter-spacing:-.02em;color:var(--app-text)}.cart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px 20px 40px;text-align:center;border-radius:18px;border:1px dashed var(--app-border);background:hsl(var(--muted) / .2)}.cart-empty__icon{width:56px;height:56px;color:hsl(var(--accent));opacity:.85;margin-bottom:4px}.cart-empty__heading{margin:0;font-size:17px;font-weight:700;color:var(--app-text)}.cart-empty__text{margin:0;max-width:260px;font-size:14px;line-height:1.45;color:var(--app-muted)}.cart-empty__btn{margin-top:8px;min-width:200px;padding:12px 20px;border-radius:14px;font-weight:600}.cart-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:14px;background:var(--app-surface);border:1px solid var(--app-border);box-shadow:0 1px 8px #2d1e140a}.cart-toolbar__meta{margin:0;font-size:14px;font-weight:600;color:var(--app-text)}.cart-toolbar__clear{flex-shrink:0;font-size:13px;padding:8px 12px}.cart-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.cart-line{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:16px;background:var(--app-surface);border:1px solid var(--app-border);box-shadow:0 2px 12px #2d1e140d}.cart-line__top{display:flex;flex-direction:column;gap:8px}.cart-line__name{margin:0;font-size:16px;font-weight:700;line-height:1.35;color:var(--app-text)}.cart-line__badges{display:flex;flex-wrap:wrap;gap:6px}.cart-line__badge{font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;background:hsl(var(--muted) / .45);color:var(--app-muted)}.cart-line__badge--lead{background:#fff4d9;color:#744d00}.cart-line__mid{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-top:4px;border-top:1px solid hsl(var(--border) / .6)}.cart-line__unit{font-size:13px;color:var(--app-muted)}.cart-line__sum{font-size:17px;font-weight:800;color:hsl(var(--secondary));letter-spacing:-.02em}.cart-line__controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.cart-line__qty{display:inline-flex;align-items:center;border:1px solid var(--app-border);border-radius:999px;overflow:hidden;background:hsl(var(--muted) / .2)}.cart-line__qty button{width:38px;height:36px;border:0;background:var(--app-surface);color:var(--app-text);font-size:18px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.cart-line__qty span{min-width:36px;text-align:center;font-size:14px;font-weight:700}.cart-line__remove{border:none;background:transparent;color:var(--app-muted);font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:8px 4px;font-family:inherit;-webkit-tap-highlight-color:transparent}.cart-totals{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:16px;border:1px solid var(--app-border);background:linear-gradient(180deg,var(--app-surface) 0%,hsl(var(--muted) / .15) 100%)}.cart-totals__row{display:flex;justify-content:space-between;align-items:center;font-size:15px;color:var(--app-text)}.cart-totals__row strong{font-weight:700}.cart-totals__row--total{padding-top:8px;margin-top:4px;border-top:1px solid var(--app-border);font-size:17px;font-weight:700}.cart-totals__checkout{width:100%;margin-top:4px;padding:14px 16px;border-radius:14px;font-size:16px;font-weight:600}.cart-pending{display:grid;gap:12px;padding:14px 16px}.cart-pending p{margin:0;font-size:14px;line-height:1.45}.cart-split-sheet{display:grid;gap:10px;padding-bottom:8px}.cart-split-sheet p{margin:0}@media (max-width: 520px){.cart-toolbar{flex-direction:column;align-items:stretch}.cart-toolbar__clear{width:100%}}.checkout-page{display:grid;gap:12px}.checkout-page h2,.checkout-page h3{margin:0}.checkout-hero{background:linear-gradient(120deg,#fffaf2,#f6ebde);border:1px solid rgba(45,30,20,.07);box-shadow:0 6px 18px #2d1e1412}.checkout-hero__top{display:flex;align-items:center;justify-content:space-between;gap:10px}.checkout-hero__stage{font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:hsl(var(--accent))}.checkout-hero h2{margin-top:6px}.checkout-hero__eyebrow{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--app-muted)}.checkout-hero__subtitle{margin:0;font-size:13px;line-height:1.45;color:var(--app-muted)}.checkout-hero__meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.checkout-chip{border:1px solid var(--app-border);border-radius:999px;padding:5px 10px;font-size:12px;font-weight:600;background:#ffffffad}.checkout-error{border-color:hsl(var(--destructive) / .35);background:hsl(var(--destructive) / .08)}.progress-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.progress-step{border:1px solid var(--app-border);border-radius:14px;background:var(--app-warm-100);padding:10px 8px;display:grid;justify-items:center;gap:2px;color:var(--app-muted)}.progress-step:disabled{opacity:.9}.progress-step__number{width:22px;height:22px;border-radius:999px;display:grid;place-items:center;font-size:11px;font-weight:700;border:1px solid var(--app-border)}.progress-step__label{font-size:12px;font-weight:700}.progress-step__sub{font-size:11px;text-align:center;line-height:1.25}.progress-step.active{border-color:hsl(var(--accent) / .4);color:var(--app-text);background:linear-gradient(180deg,var(--app-warm-100),#fff6e8)}.progress-step.active .progress-step__number{border-color:hsl(var(--accent) / .45)}.progress-step.current{box-shadow:0 8px 18px #2d1e141a}.progress-step.current .progress-step__number{background:var(--app-accent);color:var(--app-accent-contrast);border-color:var(--app-accent)}.checkout-stage{display:grid;gap:12px}.checkout-stage__note{margin:-4px 0 0;font-size:13px;line-height:1.45;color:var(--app-muted)}.checkout-items{display:grid;gap:8px}.checkout-item{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;border:1px solid var(--app-border);border-radius:12px;padding:10px 12px;background:#fffaf2}.checkout-item__main{display:grid;gap:3px}.checkout-item__main strong{font-size:14px;line-height:1.3}.checkout-item__main span{font-size:12px;color:var(--app-muted)}.checkout-item__qty{min-width:36px;border:1px solid var(--app-border);border-radius:999px;text-align:center;padding:4px 6px;font-size:12px;font-weight:700;background:var(--app-surface)}.checkout-totals{display:grid;gap:8px;border:1px dashed var(--app-border);border-radius:12px;padding:12px}.checkout-row{display:flex;justify-content:space-between;gap:10px}.checkout-row--total{border-top:1px solid var(--app-border);padding-top:8px;margin-top:2px}.calendar-card{border:1px solid var(--app-border);border-radius:16px;padding:12px;margin:2px 0;background:linear-gradient(180deg,var(--app-warm-100),var(--app-warm-200))}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.calendar-month{text-transform:capitalize}.calendar-nav{width:32px;height:32px;border-radius:8px;border:1px solid var(--app-border);background:var(--app-warm-100);color:var(--app-text)}.calendar-nav:disabled{opacity:.45}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:8px}.calendar-weekdays span{text-align:center;font-size:11px;color:var(--app-muted)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-empty{display:block;height:38px}.calendar-day{border:1px solid var(--app-border);border-radius:10px;background:var(--app-warm-100);color:var(--app-text);height:38px;font-weight:600}.calendar-day:disabled{opacity:.3}.calendar-day.active{border-color:var(--app-accent);background:var(--app-accent);color:var(--app-accent-contrast)}.date-picked{display:flex;justify-content:space-between;align-items:center;border:1px dashed var(--app-border);border-radius:12px;padding:10px 12px}.date-picked span{color:var(--app-muted)}.confirm-panel{display:grid;gap:10px;background:linear-gradient(180deg,#fffaf2,#f6ebde);border:1px solid var(--app-border);border-radius:14px;padding:12px}.confirm-item{display:flex;justify-content:space-between;gap:10px}.confirm-item span{color:var(--app-muted)}.confirm-item.total{padding-top:10px;border-top:1px solid var(--app-border)}.checkout-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.checkout-actions--single{grid-template-columns:1fr}.checkout-actions--confirm{grid-template-columns:1fr 1fr}.checkout-actions__confirm{grid-column:1 / -1}.order-success-page{display:grid;gap:12px}.order-success-page h2{margin:0}.order-success-hero{display:flex;gap:12px;align-items:center;padding:14px;border-radius:16px;border:1px solid var(--app-border);background:linear-gradient(135deg,color-mix(in srgb,var(--app-accent) 8%,white),var(--app-warm-100))}.order-success-hero p{margin:4px 0 0;color:var(--app-muted)}.order-success-icon{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--app-accent);color:var(--app-accent-contrast);font-weight:700}.order-success-card{display:grid;gap:10px}.order-success-row{display:flex;justify-content:space-between;gap:12px}.order-success-row span{color:var(--app-muted)}.order-success-status{color:var(--app-accent)}.order-success-actions{display:grid;gap:8px;margin-top:6px}.login-splash{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;background:#fff;color:#3d2918;padding:20px 24px 24px;box-sizing:border-box}.login-brand{text-align:center}.login-brand__title{margin:0 0 10px;font-size:clamp(2.75rem,11vw,4rem);font-weight:600;line-height:1.08;color:#4a3024;letter-spacing:.04em}.login-brand__tagline{margin:0 0 6px;font-size:clamp(1.05rem,3.8vw,1.25rem);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#6b4a38}.login-brand__tagline-sub{margin:0 auto;max-width:22rem;font-size:clamp(.8125rem,3.2vw,.9375rem);line-height:1.45;color:#7a6354}.login-splash__brand-slot{flex-shrink:0;padding:8px 0 12px}.login-splash__image-zone{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:16px 12px}.login-splash__image{width:min(100%,92vw);max-width:420px;max-height:min(52vh,100%);height:auto;object-fit:contain;object-position:center}.login-auth{--login-panel-bg: #f0e8dc;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;background:var(--login-panel-bg);box-sizing:border-box}.login-auth__hero{flex-shrink:0;display:flex;flex-direction:column;align-items:center;padding:12px 20px 20px;background:#fff}.login-auth__hero-brand{width:100%;max-width:24rem;padding-bottom:4px}.login-auth__logo-wrap{display:flex;align-items:center;justify-content:center;width:100%;padding:8px 0 4px}.login-auth__logo{width:min(100%,88vw);max-width:360px;height:auto;object-fit:contain}.login-auth__panel{flex:1;min-height:0;margin-top:0;padding:48px 20px 28px;position:relative;display:flex;flex-direction:column;background:var(--login-panel-bg);border-radius:22px 22px 0 0;box-shadow:0 -8px 32px #2d1e1414}.login-auth__panel-inner{position:relative;z-index:1;flex:1;min-height:0;display:flex;flex-direction:column;width:100%;max-width:400px;margin:0 auto;padding-top:20px}.login-auth__title{margin:0 0 6px;font-size:1.75rem;font-weight:700;color:#3d2918;letter-spacing:-.02em}.login-auth__lead{margin:0 0 24px;font-size:14px;color:#6b5344;line-height:1.4}.login-auth__form{display:flex;flex-direction:column;flex:1;min-height:0}.login-auth__fields{display:grid;gap:20px;flex-shrink:0}.login-auth__form-footer{margin-top:auto;padding-top:28px;display:flex;justify-content:center}.login-auth__field{display:block;margin:0}.login-auth__field-row{display:flex;align-items:center;gap:12px;border-bottom:2px solid #3d2918;padding-bottom:8px;transition:border-color .2s ease}.login-auth__field:focus-within .login-auth__field-row{border-color:#8b5a3c}.login-auth__field-icon{flex-shrink:0;color:#5c4033;opacity:.85}.login-auth__field input{flex:1;min-width:0;border:none;background:transparent;font-size:16px;font-family:inherit;color:#2a1810;padding:4px 0}.login-auth__field input::placeholder{color:#9a8478}.login-auth__field input:focus{outline:none}.login-auth__error{margin:-4px 0 0;font-size:14px;color:#b42318}.login-auth__submit{width:min(100%,17rem);border:none;border-radius:999px;padding:16px 24px;font-size:16px;font-weight:600;font-family:inherit;color:#fff;background:linear-gradient(180deg,#4a3024,#2f1f18);box-shadow:0 10px 24px #2d1e1447;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,opacity .2s ease}.login-auth__submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 28px #2d1e1452}.login-auth__submit:disabled{opacity:.65;cursor:not-allowed}.login-auth__hint{margin:16px 0 0;flex-shrink:0;font-size:12px;line-height:1.45;color:#8a7568;text-align:center}.flow-screen{flex:1;min-height:0;display:flex;flex-direction:column;background:#f0e8dc;width:100%;max-width:480px;margin:0 auto}.flow-screen__hero{flex-shrink:0;background:transparent;padding:22px 20px 18px;text-align:center;border-bottom:1px solid rgba(45,30,20,.08)}.flow-screen__title{margin:0 0 8px;font-size:clamp(1.35rem,5vw,1.75rem);font-weight:700;color:#3d2918;letter-spacing:-.02em}.flow-screen__lead{margin:0 auto;max-width:22rem;font-size:14px;line-height:1.5;color:#6b5344}.flow-screen__panel{flex:1;min-height:0;display:flex;flex-direction:column;gap:16px;padding:16px;padding-bottom:calc(16px + var(--tg-safe-area-bottom))}.flow-screen__sheet{flex:1;min-height:0;display:flex;flex-direction:column;background:#fff;border-radius:20px;box-shadow:0 1px #ffffffa6 inset,0 8px 28px #2d1e1417;border:1px solid rgba(45,30,20,.06);overflow:hidden}.flow-screen__body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.flow-screen__sheet--static{flex:0 1 auto}.flow-screen__sheet--static .flow-screen__body{overflow:visible}.flow-screen__btn-wrap{flex-shrink:0;display:flex;justify-content:center;padding-top:2px}.flow-screen__btn{width:min(100%,17rem);border:none;border-radius:999px;padding:15px 24px;font-size:16px;font-weight:600;font-family:inherit;color:#fff;background:linear-gradient(180deg,#4a3024,#2f1f18);box-shadow:0 10px 24px #2d1e1447;cursor:pointer;transition:transform .15s ease,opacity .2s ease}.flow-screen__btn:hover:not(:disabled){transform:translateY(-1px)}.flow-screen__btn:disabled{opacity:.5;cursor:not-allowed}.outlet-select__list{padding:4px 0 8px}.outlet-select__empty-body{padding:20px 18px 22px;display:flex;align-items:center;justify-content:center;min-height:6rem}.outlet-select__row{display:flex;align-items:flex-start;gap:12px;margin:0;padding:14px 16px;border-bottom:1px solid rgba(45,30,20,.08);cursor:pointer;-webkit-tap-highlight-color:transparent}.outlet-select__row:last-child{border-bottom:none}.outlet-select__radio{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.outlet-select__check{flex-shrink:0;width:22px;height:22px;margin-top:2px;border:2px solid #c4b5a8;border-radius:50%;position:relative;transition:border-color .2s ease,background .2s ease}.outlet-select__row--active .outlet-select__check{border-color:#4a3024;background:#4a3024;box-shadow:inset 0 0 0 3px #fff}.outlet-select__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;text-align:left}.outlet-select__name{font-weight:600;font-size:15px;color:#3d2918;line-height:1.25}.outlet-select__address{font-size:13px;line-height:1.4;color:#7a6354}.outlet-select__empty-text{margin:0;font-size:14px;line-height:1.5;color:#6b5344;text-align:center}.notice-flow__hero .notice-flow__icon-wrap{margin-bottom:8px}.notice-flow__icon-wrap{display:flex;justify-content:center}.notice-flow__icon-svg{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;line-height:0;color:#895939;background:#8b5a3c1f}.notice-flow__icon-svg svg{display:block}.notice-flow__body{padding:16px 18px 20px}.notice-flow__list{margin:0;padding:0 0 0 1.1rem;display:grid;gap:12px;color:#3d2918;font-size:14px;line-height:1.5}.notice-flow__list li{padding-left:4px}.notice-flow__list strong{font-weight:700;color:#2a1810}.notice-flow__accent{margin:16px 0 0;padding:12px 14px;border-radius:12px;background:#8b5a3c1a;border:1px solid rgba(139,90,60,.2);font-size:14px;font-weight:600;line-height:1.45;color:#4a3024}*,*:before,*:after{box-sizing:border-box;overscroll-behavior:none;overscroll-behavior-x:none;overscroll-behavior-y:none}html,body{margin:0;padding:0}button,input,select,textarea{font:inherit}img,svg{display:block;max-width:100%}:root{--background: 30 33% 94%;--foreground: 24 31% 18%;--card: 0 0% 100%;--card-foreground: 24 31% 18%;--popover: 0 0% 100%;--popover-foreground: 24 31% 18%;--primary: 24 31% 18%;--primary-foreground: 30 33% 94%;--secondary: 24 41% 39%;--secondary-foreground: 0 0% 100%;--muted: 30 20% 90%;--muted-foreground: 24 15% 42%;--accent: 24 41% 39%;--accent-foreground: 0 0% 100%;--destructive: 5 73% 53%;--destructive-foreground: 0 0% 100%;--border: 30 20% 85%;--input: 30 20% 85%;--ring: 24 31% 18%;--radius: 1.25rem;--card-shadow: 0 6px 18px rgba(20, 20, 20, .06);--toast-bg: 24 31% 18%;--toast-foreground: 0 0% 100%;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--app-bg: hsl(var(--background));--app-surface: hsl(var(--card));--app-text: hsl(var(--foreground));--app-muted: hsl(var(--muted-foreground));--app-caret: hsl(var(--ring));--app-accent: hsl(var(--accent));--app-accent-contrast: hsl(var(--accent-foreground));--app-accent-hover: hsl(24 41% 33%);--app-border: hsl(var(--border));--app-shadow: var(--card-shadow);--app-shadow-card: var(--card-shadow);--app-warm-100: hsl(var(--card));--app-warm-200: hsl(var(--background));--app-warm-300: hsl(var(--muted));--app-warm-400: hsl(var(--border))}[data-theme=dark],[data-theme=light]{--background: 30 33% 94%;--foreground: 24 31% 18%;--card: 0 0% 100%;--card-foreground: 24 31% 18%;--popover: 0 0% 100%;--popover-foreground: 24 31% 18%;--primary: 24 31% 18%;--primary-foreground: 30 33% 94%;--secondary: 24 41% 39%;--secondary-foreground: 0 0% 100%;--muted: 30 20% 90%;--muted-foreground: 24 15% 42%;--accent: 24 41% 39%;--accent-foreground: 0 0% 100%;--destructive: 5 73% 53%;--destructive-foreground: 0 0% 100%;--border: 30 20% 85%;--input: 30 20% 85%;--ring: 24 31% 18%;--radius: 1.25rem;--card-shadow: 0 6px 18px rgba(20, 20, 20, .06);--toast-bg: 24 31% 18%;--toast-foreground: 0 0% 100%;--app-bg: hsl(var(--background));--app-surface: hsl(var(--card));--app-text: hsl(var(--foreground));--app-muted: hsl(var(--muted-foreground));--app-caret: hsl(var(--ring));--app-accent: hsl(var(--accent));--app-accent-contrast: hsl(var(--accent-foreground));--app-accent-hover: hsl(24 41% 33%);--app-border: hsl(var(--border));--app-shadow: var(--card-shadow);--app-shadow-card: var(--card-shadow);--app-warm-100: hsl(var(--card));--app-warm-200: hsl(var(--background));--app-warm-300: hsl(var(--muted));--app-warm-400: hsl(var(--border))}:root{--tg-safe-area-top: env(safe-area-inset-top);--tg-safe-area-right: env(safe-area-inset-right);--tg-safe-area-bottom: env(safe-area-inset-bottom);--tg-safe-area-left: env(safe-area-inset-left);--tg-content-safe-area-top: 0px;--tg-content-safe-area-right: 0px;--tg-content-safe-area-bottom: 0px;--tg-content-safe-area-left: 0px;--tg-viewport-stable-height: 100vh}@media (display-mode: standalone),(display-mode: fullscreen),(display-mode: minimal-ui){:root{--tg-safe-area-bottom: calc(env(safe-area-inset-bottom, 0px)/2) }}html.pwa-standalone{--tg-safe-area-bottom: calc(env(safe-area-inset-bottom, 0px)/2) }@supports (height: 100dvh){:root{--tg-viewport-stable-height: 100dvh}}html{height:100%;overflow:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:Montserrat,sans-serif;font-optical-sizing:auto;background-color:var(--app-bg);color:var(--app-text);height:100%;height:var(--tg-viewport-stable-height, 100vh);min-height:0;overflow:hidden;overscroll-behavior:none;overscroll-behavior-x:none;overscroll-behavior-y:none;padding:var(--tg-safe-area-top) var(--tg-safe-area-right) var(--tg-safe-area-bottom) var(--tg-safe-area-left);transition:background .2s ease,color .2s ease;touch-action:manipulation}body.login-flow-splash{background-color:#fff}body.login-flow-auth,body.baton-flow-cream{background-color:#f0e8dc}input,textarea,[contenteditable=true]{caret-color:var(--app-caret)}@media (hover: none) and (pointer: coarse){body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}}#root{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.app{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:calc(4px + var(--tg-content-safe-area-top)) calc(16px + var(--tg-content-safe-area-right)) calc(88px + var(--tg-content-safe-area-bottom)) calc(16px + var(--tg-content-safe-area-left))}@media (min-width: 1024px){.app{padding:calc(12px + var(--tg-content-safe-area-top)) calc(20px + var(--tg-content-safe-area-right)) calc(20px + var(--tg-content-safe-area-bottom)) calc(132px + var(--tg-content-safe-area-left))}}.app__header{flex-shrink:0}.app__main{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-x:none;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.app--preloader .app__main{display:flex;flex-direction:column}.app--preloader{padding:0;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.app--chat{padding:0;height:100%;min-height:0;overflow:hidden}.page{display:grid;gap:16px}.section-title{font-size:18px;font-weight:600}.page-header{padding-bottom:4px}.page-header__title{margin:0;font-size:22px;font-weight:600;letter-spacing:.02em}.legal-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;font-size:13px}.legal-links a{color:var(--app-accent);text-decoration:none}.legal-links a:hover{text-decoration:underline}
