.visitor-layout{--visitor-header-h:2.75rem;--sheet-scale:1.5;--visitor-summary-h:5.375rem;--v-bg:#f4f6f8;--v-surface:#fff;--v-surface-muted:#f1f5f9;--v-border:#e2e8f0;--v-border-strong:#cbd5e1;--v-border-subtle:#f1f5f9;--v-text:#0f172a;--v-text-secondary:#475569;--v-text-muted:#94a3b8;--v-accent:#0891b2;--v-accent-hover:#0e7490;--v-accent-soft:#ecfeff;--v-accent-muted:#cffafe;--v-accent-text:#0e7490;--v-primary-gradient:linear-gradient(135deg, #0e7490, #06b6d4);--v-primary-gradient-hover:linear-gradient(135deg, #0c6678, #0891b2);--v-success-bg:#ecfdf5;--v-success-border:#6ee7b7;--v-success-text:#047857;--v-error-bg:#fff1f2;--v-error-border:#fda4af;--v-error-text:#be123c;--v-warning-bg:#fffbeb;--v-warning-border:#fcd34d;--v-warning-text:#b45309;--v-key-bg:#f8fafc;--v-key-bg-hover:#e2e8f0;--v-key-delete-bg:#e2e8f0;--v-disabled:#cbd5e1;--v-shadow-sm:0 1px 2px #0f172a0d;--v-shadow-md:0 4px 16px #0f172a14;--v-shadow-sheet:0 -12px 40px #0f172a1f, 0 -2px 8px #0f172a0f;--v-radius-md:.75rem;--v-radius-lg:.875rem;--v-radius-xl:1rem;--v-radius-2xl:1.25rem;background-color:var(--v-bg);color:var(--v-text)}@media (width>=640px){.visitor-layout{--visitor-header-h:3.25rem}}.visitor-layout main{padding-bottom:calc(var(--visitor-summary-h) + env(safe-area-inset-bottom,0px))}.visitor-layout--no-summary main{padding-bottom:env(safe-area-inset-bottom,0)}.visitor-layout--bottom-nav{--visitor-bottom-nav-h:3.5rem}.visitor-layout--assistant-chat main,.visitor-layout--bottom-nav main{padding-bottom:calc(var(--visitor-bottom-nav-h) + env(safe-area-inset-bottom,0px))}.visitor-layout--assistant-chat main{padding-top:.5rem}@media (width>=1024px){.visitor-layout--bottom-nav main{padding-bottom:calc(var(--visitor-bottom-nav-h) + 1.5rem + env(safe-area-inset-bottom,0px))}.visitor-layout--assistant-chat main{padding-bottom:calc(var(--visitor-bottom-nav-h) + env(safe-area-inset-bottom,0px))}}.visitor-header__return-order{color:var(--v-accent-text);background:var(--v-accent-soft);border-radius:.5rem;align-items:center;gap:.25rem;margin-right:.125rem;padding:.375rem .5rem;font-size:.75rem;font-weight:700;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.visitor-header__return-order:active{background:var(--v-accent-muted)}.visitor-return-order-link{color:var(--v-accent-text);align-items:center;gap:.375rem;font-size:.875rem;font-weight:700;text-decoration:none;transition:color .15s;display:inline-flex}.visitor-return-order-link:active{color:var(--v-accent-hover)}.visitor-return-order-link--button{color:#fff;background:linear-gradient(135deg,#2563eb,#4f46e5);border-radius:.75rem;justify-content:center;width:100%;padding:.875rem 1rem;font-size:1rem;box-shadow:0 4px 14px #2563eb59}.visitor-return-order-link--button:active{color:#fff;filter:brightness(.95)}.visitor-return-order-link__icon{flex-shrink:0;width:1.125rem;height:1.125rem}.visitor-return-order-link--button .visitor-return-order-link__icon{width:1.25rem;height:1.25rem}.visitor-modal-overlay{z-index:70;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.visitor-order-page{--visitor-main-pad:.75rem;--number-key-h:min(7dvh, 7vh);--number-input-panel-h:min(35dvh, 35vh);--visitor-category-sidebar-w:5.5rem}@media (width>=1024px){.visitor-layout main{padding-bottom:calc(1.5rem + env(safe-area-inset-bottom,0px))}.visitor-layout--no-summary main{padding-bottom:env(safe-area-inset-bottom,0)}.visitor-layout--bottom-nav main{padding-bottom:calc(var(--visitor-bottom-nav-h) + 1.5rem + env(safe-area-inset-bottom,0px))}}.visitor-order-summary-root{z-index:55;position:relative}.visitor-order-summary-backdrop{z-index:54;cursor:default;-webkit-backdrop-filter:blur(4px);background:#0f172a66;border:none;animation:.25s visitor-sheet-backdrop-in;position:fixed;inset:0}@keyframes visitor-sheet-backdrop-in{0%{opacity:0}to{opacity:1}}.visitor-order-summary-sheet{z-index:55;max-height:var(--visitor-summary-h);border-radius:var(--v-radius-2xl) var(--v-radius-2xl) 0 0;background:var(--v-surface);box-shadow:var(--v-shadow-sheet);padding-bottom:env(safe-area-inset-bottom,0);isolation:isolate;flex-direction:column;font-size:.875rem;transition:max-height .32s cubic-bezier(.32,.72,0,1);display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden}.visitor-order-summary-sheet:before{content:"";border-radius:inherit;pointer-events:none;z-index:0;background:linear-gradient(#ecfeff8c,#0000);height:5rem;position:absolute;inset:0 0 auto}.visitor-order-summary-root--expanded .visitor-order-summary-sheet{max-height:min(78dvh,78vh)}.visitor-order-float-submit{right:.875rem;bottom:calc(var(--visitor-summary-h) + env(safe-area-inset-bottom,0px) + .625rem);z-index:56;color:#fff;letter-spacing:.02em;cursor:pointer;touch-action:manipulation;background:linear-gradient(135deg,#4f46e5,#7c3aed);border:none;border-radius:9999px;padding:.8125rem 1.375rem;font-size:1rem;font-weight:700;line-height:1.2;transition:filter .15s,opacity .15s,transform .15s;animation:2.5s ease-in-out 3 visitor-order-float-bob;position:fixed;box-shadow:0 8px 24px #4f46e561}@media (prefers-reduced-motion:reduce){.visitor-order-float-submit{animation:none}}.visitor-order-float-submit:not(:disabled):active{filter:brightness(.95);animation-play-state:paused;transform:scale(.98)}.visitor-order-float-submit:disabled{opacity:.55;cursor:not-allowed;animation:none}@keyframes visitor-order-float-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.visitor-order-summary{z-index:1;cursor:pointer;touch-action:manipulation;background:0 0;border:none;flex-direction:column;flex-shrink:0;align-items:stretch;width:100%;padding:.5rem 1rem .875rem;display:flex;position:relative}.visitor-order-summary__handle{background:var(--v-border-strong);opacity:.85;border-radius:9999px;width:2.75rem;height:.3125rem;margin:0 auto .625rem;display:block}.visitor-order-summary__bar{justify-content:space-between;align-items:center;gap:.75rem;min-width:0;display:flex}.visitor-order-summary__metrics{flex-wrap:wrap;align-items:center;gap:.375rem;min-width:0;display:flex}.visitor-order-summary__chip{background:var(--v-accent-soft);border:1px solid var(--v-accent-muted);border-radius:9999px;align-items:baseline;gap:.2rem;padding:.3125rem .625rem;display:inline-flex}.visitor-order-summary__chip--submitted{background:var(--v-surface-muted);border-color:var(--v-border)}.visitor-order-summary__metric{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:1.125rem}.visitor-order-summary__total-block{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.visitor-order-summary__total-group{text-align:right;flex-wrap:wrap;justify-content:flex-end;align-items:baseline;gap:.2rem;display:flex}.visitor-order-summary__chevron-wrap{background:var(--v-surface-muted);width:1.75rem;height:1.75rem;color:var(--v-text-muted);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.visitor-order-summary__chevron{width:1rem;height:1rem;transition:transform .28s cubic-bezier(.32,.72,0,1)}.visitor-order-summary-sheet__body{z-index:1;flex-direction:column;flex:auto;min-height:0;display:flex;position:relative;overflow:hidden}.visitor-order-summary__label{letter-spacing:.02em;color:var(--v-text-muted);font-size:.6875rem;font-weight:600}.visitor-order-summary__count{color:var(--v-accent-text);font-weight:800}.visitor-order-summary__count--submitted{color:var(--v-text-secondary)}.visitor-order-summary__total{color:var(--v-accent-text);font-weight:800}.visitor-order-summary__tax-note{color:var(--v-text-muted);font-size:.625rem;font-weight:500}@media (width>=640px){.visitor-order-summary-sheet{font-size:.9375rem}.visitor-order-summary__metric{font-size:1.25rem}.visitor-order-summary__tax-note{font-size:.6875rem}}.visitor-order-summary-root--expanded .visitor-order-summary__chevron{transform:rotate(180deg)}.visitor-order-summary-sheet__list{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--v-border-strong) transparent;flex:auto;min-height:0;margin:0;padding:.375rem 1rem .5rem;list-style:none;overflow-y:auto}.visitor-order-summary-sheet__item{margin-bottom:.5rem}.visitor-order-summary-sheet__item:last-child{margin-bottom:0}.visitor-order-summary-sheet__item-btn{border:1px solid var(--v-border-subtle);border-radius:var(--v-radius-lg);background:var(--v-surface);width:100%;box-shadow:var(--v-shadow-sm);cursor:pointer;touch-action:manipulation;padding:.75rem .875rem;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.visitor-order-summary-sheet__item-btn:active{border-color:var(--v-accent-muted);box-shadow:var(--v-shadow-md);transform:scale(.99)}.visitor-order-summary-sheet__item-name{color:var(--v-text);font-size:.9375rem;font-weight:600;line-height:1.4}.visitor-order-summary-sheet__item-qty-inline{color:var(--v-text-secondary);font-weight:700}.visitor-order-summary-sheet__item-options{color:var(--v-text-muted);margin-top:.25rem;font-size:.75rem;line-height:1.45}.visitor-order-summary-sheet__item-price{font-variant-numeric:tabular-nums;color:var(--v-accent-text);margin-top:.375rem;font-size:.875rem;font-weight:700}.visitor-order-summary-sheet__empty{padding:.5rem 1rem 1rem}.visitor-order-summary-sheet__empty-text{text-align:center;color:var(--v-text-muted);border-radius:var(--v-radius-lg);background:var(--v-surface-muted);border:1px dashed var(--v-border);padding:2rem 1rem;font-size:.875rem}.visitor-order-summary-sheet__section{flex-direction:column;min-height:0;display:flex}.visitor-order-summary-sheet__section--history{flex:auto;min-height:0;padding-top:.25rem}.visitor-order-summary-sheet__section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--v-text-muted);align-items:center;gap:.5rem;margin:0;padding:.5rem 1rem .625rem;font-size:.6875rem;font-weight:700;display:flex}.visitor-order-summary-sheet__section-meta{background:var(--v-surface-muted);letter-spacing:0;text-transform:none;color:var(--v-text-secondary);border-radius:9999px;padding:.125rem .5rem;font-size:.625rem;font-weight:700}.visitor-order-summary-sheet__history{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--v-border-strong) transparent;flex:auto;min-height:0;padding:0 1rem .75rem;overflow-y:auto}.visitor-order-summary-sheet__history-order{border:1px solid var(--v-border-subtle);border-radius:var(--v-radius-lg);background:linear-gradient(180deg,#fff 0,var(--v-surface-muted) 100%);box-shadow:var(--v-shadow-sm);margin-bottom:.625rem;padding:.875rem}.visitor-order-summary-sheet__history-order:last-child{margin-bottom:0}.visitor-order-summary-sheet__history-head{border-bottom:1px solid var(--v-border-subtle);justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.625rem;padding-bottom:.625rem;display:flex}.visitor-order-summary-sheet__history-title{flex-wrap:wrap;align-items:baseline;gap:.375rem;margin:0;line-height:1.2;display:flex}.visitor-order-summary-sheet__history-title-time{font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--v-text);font-size:1.25rem;font-weight:800}.visitor-order-summary-sheet__history-title-qty{color:var(--v-accent-text);font-size:1.125rem;font-weight:800}.visitor-order-summary-sheet__history-meta{color:var(--v-text-muted);margin-top:.375rem;font-size:.6875rem;font-weight:500}.visitor-order-summary-sheet__history-side{text-align:right;flex-shrink:0}.visitor-order-summary-sheet__history-status{letter-spacing:.02em;color:var(--v-text-secondary);background:var(--v-surface-muted);border:1px solid #0000;border-radius:9999px;padding:.1875rem .5625rem;font-size:.625rem;font-weight:700;display:inline-block}.visitor-order-summary-sheet__history-status--pending{color:var(--v-warning-text);background:var(--v-warning-bg);border-color:var(--v-warning-border)}.visitor-order-summary-sheet__history-status--accepted{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.visitor-order-summary-sheet__history-status--cooking{color:#c2410c;background:#fff7ed;border-color:#fdba74}.visitor-order-summary-sheet__history-status--completed{color:var(--v-success-text);background:var(--v-success-bg);border-color:var(--v-success-border)}.visitor-order-summary-sheet__history-status--cancelled{color:var(--v-error-text);background:var(--v-error-bg);border-color:var(--v-error-border)}.visitor-order-summary-sheet__history-status--checkout_pending{color:#6d28d9;background:#f5f3ff;border-color:#c4b5fd}.visitor-order-summary-sheet__history-total{font-variant-numeric:tabular-nums;color:var(--v-accent-text);margin-top:.375rem;font-size:.9375rem;font-weight:800}.visitor-order-summary-sheet__history-list{margin:0;padding:0;list-style:none}.visitor-order-summary-sheet__history-item{padding:.375rem 0}.visitor-order-summary-sheet__history-item+.visitor-order-summary-sheet__history-item{border-top:1px dashed var(--v-border-subtle)}.visitor-order-summary-sheet__history-link{color:var(--v-accent-text);background:var(--v-accent-soft);border-radius:.5rem;align-items:center;margin-top:.625rem;padding:.375rem .625rem;font-size:.75rem;font-weight:700;text-decoration:none;transition:background .15s;display:inline-flex}.visitor-order-summary-sheet__history-link:active{background:var(--v-accent-muted)}.visitor-order-summary-sheet__footer--history-only{margin-top:auto}.visitor-order-summary-sheet__tax-row{font-variant-numeric:tabular-nums;color:var(--v-text-muted);justify-content:space-between;margin-bottom:.25rem;font-size:.75rem;display:flex}.visitor-order-summary-sheet__tax-row:last-of-type{margin-bottom:.625rem}.visitor-order-summary-sheet__recitation-notice{border-radius:var(--v-radius-lg);color:#991b1b;background:#fef2f2;border:1px solid #fecaca;flex-shrink:0;margin:.5rem 1rem 0;padding:.75rem .875rem;font-size:.8125rem;font-weight:600;line-height:1.5}.visitor-order-summary-root--recitation .visitor-order-summary-sheet{box-shadow:0 -12px 40px #dc262633,0 -2px 8px #dc262614}.visitor-order-summary-sheet__footer{border-top:1px solid var(--v-border-subtle);background:linear-gradient(180deg,#f8fafc99 0,var(--v-surface-muted) 100%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-shrink:0;padding:.75rem 1rem .875rem}.visitor-order-summary-sheet__submit{color:#fff;letter-spacing:.02em;background:linear-gradient(135deg,#dc2626,#f43f5e);border:none;border-radius:9999px;width:100%;padding:.875rem 1rem;font-size:.9375rem;font-weight:700;transition:filter .15s,transform .15s;box-shadow:0 6px 20px #dc262659}.visitor-order-summary-sheet__submit:not(:disabled):active{filter:brightness(.95);transform:scale(.99)}.visitor-order-summary-sheet__submit:disabled{background:var(--v-disabled);box-shadow:none;cursor:not-allowed}.visitor-order-summary-sheet__nav{border-radius:var(--v-radius-lg);background:var(--v-surface);border:1px solid var(--v-border-subtle);box-shadow:var(--v-shadow-sm);justify-content:space-between;gap:.375rem;margin-top:.625rem;padding:.25rem;display:flex}.visitor-order-summary-sheet__nav-link{min-height:2.25rem;color:var(--v-text-muted);text-align:center;background:0 0;border:none;border-radius:.625rem;flex:1 1 0;justify-content:center;align-items:center;padding:.375rem .25rem;font-size:.6875rem;font-weight:700;text-decoration:none;transition:background .15s,color .15s;display:flex}.visitor-order-summary-sheet__nav-link:active:not(:disabled){background:var(--v-accent-soft);color:var(--v-accent-text)}.visitor-order-summary-sheet__nav-link:disabled{opacity:.35;cursor:not-allowed}.visitor-menu-order-status{border:1px solid var(--v-border-subtle);border-radius:var(--v-radius-lg);background:var(--v-surface);box-shadow:var(--v-shadow-sm,0 1px 2px #0f172a0f);justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.625rem .875rem;display:flex}.visitor-menu-order-status__counts{flex-wrap:wrap;align-items:center;gap:.375rem;min-width:0;display:flex}.visitor-menu-order-status__item{align-items:baseline;gap:.2rem;display:inline-flex}.visitor-menu-order-status__label{color:var(--v-text-muted);font-size:.8125rem;font-weight:600}.visitor-menu-order-status__value{color:var(--v-text);font-size:1.125rem;font-weight:800;line-height:1}.visitor-menu-order-status__item--submitted .visitor-menu-order-status__value{color:var(--v-text-secondary)}.visitor-menu-order-status__unit{color:var(--v-text-muted);font-size:.75rem;font-weight:600}.visitor-menu-order-status__divider{color:var(--v-text-muted);font-weight:700}.visitor-menu-order-status__amount{color:var(--v-text-muted);text-align:right;white-space:nowrap;flex-shrink:0;margin:0;font-size:.75rem}.visitor-menu-order-status__total{color:var(--v-accent-text);font-size:.9375rem;font-weight:800}.visitor-menu-order-status__tax{font-size:.625rem}.visitor-add-menu-modal{--ams:1.5;--ams-font:var(--ams);max-width:min(calc(28rem*var(--ams)),calc(100vw - 2rem));width:100%;padding:calc(1.5rem*var(--ams));border-radius:calc(1rem*var(--ams));background:#fff;margin-inline:1rem;box-shadow:0 25px 50px -12px #00000040}.visitor-add-menu-modal__title{margin-bottom:calc(1rem*var(--ams));font-size:calc(1.25rem*var(--ams-font));text-align:center;color:#111827;font-weight:700;line-height:1.3}.visitor-add-menu-modal__panel{margin-bottom:calc(1.5rem*var(--ams));padding:calc(1rem*var(--ams));border-radius:calc(.5rem*var(--ams));background:#f9fafb}.visitor-add-menu-modal__panel--spaced{gap:calc(1rem*var(--ams));flex-direction:column;display:flex}.visitor-add-menu-modal__name{font-size:calc(1rem*var(--ams-font));color:#1f2937;font-weight:600;line-height:1.35}.visitor-add-menu-modal__desc{margin-top:calc(.25rem*var(--ams));font-size:calc(.875rem*var(--ams-font));color:#4b5563;line-height:1.4}.visitor-add-menu-modal__unit-price{margin-top:calc(.5rem*var(--ams));font-size:calc(.875rem*var(--ams-font));color:#2563eb}.visitor-add-menu-modal__unit-price-note{color:#6b7280}.visitor-add-menu-modal__qty-row{justify-content:space-between;align-items:center;gap:calc(1rem*var(--ams));display:flex}.visitor-add-menu-modal__qty-label{font-size:calc(.875rem*var(--ams-font));color:#4b5563;font-weight:500}.visitor-add-menu-modal__qty-control{align-items:center;gap:calc(.5rem*var(--ams));border-radius:calc(.5rem*var(--ams));background:#fff;border:1px solid #e5e7eb;padding:0;display:flex}.visitor-add-menu-modal__qty-btn{width:calc(2.5rem*var(--ams));height:calc(2.5rem*var(--ams));font-size:calc(1.125rem*var(--ams-font));color:#374151;cursor:pointer;touch-action:manipulation;background:#f3f4f6;border:none;justify-content:center;align-items:center;font-weight:700;line-height:1;transition:background .15s;display:flex}.visitor-add-menu-modal__qty-btn:first-child{border-radius:calc(.5rem*var(--ams)) 0 0 calc(.5rem*var(--ams))}.visitor-add-menu-modal__qty-btn:last-child{border-radius:0 calc(.5rem*var(--ams)) calc(.5rem*var(--ams)) 0}.visitor-add-menu-modal__qty-btn:hover:not(:disabled){background:#e5e7eb}.visitor-add-menu-modal__qty-btn:disabled{opacity:.5;cursor:not-allowed}.visitor-add-menu-modal__qty-input{width:calc(3.5rem*var(--ams));height:calc(2.5rem*var(--ams));font-size:calc(1rem*var(--ams-font));text-align:center;color:#111827;background:0 0;border:none;font-weight:600}.visitor-add-menu-modal__qty-input:focus{outline:none}.visitor-add-menu-modal__subtotal-block{padding-top:calc(.75rem*var(--ams));font-size:calc(.875rem*var(--ams-font));color:#4b5563;border-top:1px solid #e5e7eb}.visitor-add-menu-modal__subtotal{font-size:calc(1.125rem*var(--ams-font));color:#2563eb;font-weight:700}.visitor-add-menu-modal__subtotal-note{font-size:calc(.875rem*var(--ams-font));color:#6b7280;font-weight:400}.visitor-add-menu-modal__actions{gap:calc(.75rem*var(--ams));display:flex}.visitor-add-menu-modal__actions--three{flex-wrap:wrap}.visitor-add-menu-modal__actions--three .visitor-add-menu-modal__btn{flex:calc(33.333% - .5rem);min-width:5.5rem}.visitor-add-menu-modal__btn{padding:calc(.75rem*var(--ams)) calc(1rem*var(--ams));border-radius:calc(.5rem*var(--ams));font-size:calc(1rem*var(--ams-font));cursor:pointer;touch-action:manipulation;border:none;flex:1 1 0;font-weight:600;line-height:1.2;transition:background .15s,filter .15s}.visitor-add-menu-modal__btn--cancel{color:#374151;background:#e5e7eb}.visitor-add-menu-modal__btn--cancel:hover{background:#d1d5db}.visitor-add-menu-modal__btn--delete{color:#be123c;background:#fff1f2;border:1px solid #fda4af}.visitor-add-menu-modal__btn--delete:hover{background:#ffe4e6}.visitor-add-menu-modal__btn--confirm{color:#fff;background:#2563eb}.visitor-add-menu-modal__btn--confirm:hover:not(:disabled){background:#1d4ed8}.visitor-add-menu-modal__btn--confirm:disabled{cursor:not-allowed;background:#9ca3af}@media (width<=639px){.visitor-add-menu-modal{--ams-font:1}}.visitor-order-bottom-spacer{flex-shrink:0;height:0}@media (width<=1023px) and (orientation:portrait){.visitor-order-first-view{min-height:calc(100dvh - var(--visitor-header-h) - var(--visitor-summary-h) - var(--visitor-main-pad));min-height:calc(100vh - var(--visitor-header-h) - var(--visitor-summary-h) - var(--visitor-main-pad));touch-action:pan-y;flex-direction:column;display:flex}.visitor-order-first-view .number-input--fit{touch-action:pan-y;flex:0 auto;height:auto;min-height:0;overflow:visible}.visitor-order-page .number-input__panel{height:auto;min-height:var(--number-input-panel-h);overflow:visible}.visitor-order-page .number-input__key{touch-action:pan-y}}.visitor-order-below{scroll-margin-top:calc(var(--visitor-header-h) + .25rem)}.visitor-assistant-resume{margin-bottom:.25rem}.visitor-assistant-resume__btn{border-radius:var(--v-radius-xl);width:100%;box-shadow:var(--v-shadow-sm);text-align:left;cursor:pointer;touch-action:manipulation;background:linear-gradient(135deg,#eef2ff 0,#fff 55%,#f5f3ff);border:1px solid #c7d2fe;align-items:center;gap:.75rem;padding:.875rem 1rem;transition:border-color .15s,box-shadow .15s,transform .1s;display:flex}.visitor-assistant-resume__btn:hover{box-shadow:var(--v-shadow-md);border-color:#a5b4fc}.visitor-assistant-resume__btn:active{transform:scale(.99)}.visitor-assistant-resume__icon{background:linear-gradient(135deg,#dc2626,#f43f5e);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1.125rem;line-height:1;display:inline-flex}.visitor-assistant-resume__text{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.visitor-assistant-resume__title-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.visitor-assistant-resume__title{color:var(--v-text);font-size:.9375rem;font-weight:700;line-height:1.3}.visitor-assistant-resume__live-badge{color:#fff;letter-spacing:.06em;background:#dc2626;border-radius:9999px;align-items:center;padding:.0625rem .4375rem;font-size:.625rem;font-weight:800;line-height:1.4;display:inline-flex}.visitor-assistant-resume__desc{color:var(--v-text-secondary);font-size:.75rem;line-height:1.45}.visitor-assistant-resume__arrow{color:#6366f1;flex-shrink:0;font-size:1.5rem;font-weight:300;line-height:1}.visitor-category-filter{top:calc(var(--visitor-header-h) + .25rem);z-index:40;background:linear-gradient(to bottom,var(--v-bg) 70%,#f4f6f8eb);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--v-border-subtle);margin-bottom:.5rem;padding-top:.25rem;padding-bottom:.125rem;position:sticky}.visitor-category-filter__scroll{-webkit-overflow-scrolling:touch}@media (width>=1024px){.visitor-category-filter{background:var(--v-bg);-webkit-backdrop-filter:none;backdrop-filter:none;margin-left:0;margin-right:0;padding-top:0;top:0}}.visitor-scroll-to-menu{border:1px solid var(--v-accent-muted);background:linear-gradient(to bottom,var(--v-accent-soft),var(--v-surface));width:100%;color:var(--v-accent-text);box-shadow:var(--v-shadow-sm);touch-action:manipulation;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;gap:.375rem;margin-top:.5rem;padding:.5rem 1rem;font-size:1.0625rem;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.visitor-scroll-to-menu-wrapper{flex-shrink:0;min-height:3.5rem;margin-top:.5rem}.visitor-scroll-to-menu--floating{z-index:50;width:auto;left:.75rem;right:9.5rem;bottom:calc(var(--visitor-summary-h) + env(safe-area-inset-bottom,0px) + .5rem);box-shadow:var(--v-shadow-md);margin-top:0;position:fixed}.visitor-scroll-to-menu:active{background:var(--v-accent-muted);border-color:var(--v-accent)}.visitor-menu-list-sentinel{pointer-events:none;height:1px;margin-top:-1px}.visitor-menu-list-body{scroll-margin-top:calc(var(--visitor-header-h) + .5rem);align-items:flex-start;gap:.5rem;display:flex;position:relative}.visitor-menu-list-content{min-width:0}.visitor-menu-list-body--sidebar-active .visitor-menu-list-content{min-width:0;min-height:calc(100vh - var(--visitor-header-h) - var(--visitor-summary-h) - env(safe-area-inset-bottom,0px));min-height:calc(100dvh - var(--visitor-header-h) - var(--visitor-summary-h) - env(safe-area-inset-bottom,0px));flex:1}.visitor-category-sidebar{top:calc(var(--visitor-header-h) + .25rem);z-index:45;width:var(--visitor-category-sidebar-w);max-height:calc(100dvh - var(--visitor-header-h) - var(--visitor-summary-h) - env(safe-area-inset-bottom,0px) - .5rem);background:var(--v-surface);border:1px solid var(--v-border-subtle);border-radius:.75rem;flex-direction:column;flex-shrink:0;align-self:flex-start;display:flex;position:sticky;overflow:hidden;box-shadow:0 2px 12px #0f172a0f}.visitor-category-sidebar__heading{letter-spacing:.08em;text-align:center;color:var(--v-text-secondary);border-bottom:1px solid var(--v-border-subtle);background:linear-gradient(to bottom,var(--v-bg),var(--v-surface));flex-shrink:0;margin:0;padding:.5rem .375rem .375rem;font-size:.625rem;font-weight:800}.visitor-category-sidebar__list,.visitor-category-sidebar__sublist{margin:0;padding:.25rem .1875rem;list-style:none}.visitor-category-sidebar__sublist{padding-top:0;padding-bottom:.125rem}.visitor-category-sidebar__list{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;overflow-y:auto}.visitor-category-sidebar__item{border-radius:var(--v-radius-lg);width:100%;color:var(--v-text-secondary);text-align:center;word-break:break-all;cursor:pointer;touch-action:manipulation;background:0 0;border:1px solid #0000;margin-bottom:.1875rem;padding:.4375rem .25rem;font-size:.6875rem;font-weight:600;line-height:1.35;transition:background .15s,color .15s,border-color .15s;display:block}.visitor-category-sidebar__item--sub{color:var(--v-text-muted,#64748b);padding:.3125rem .1875rem;font-size:.625rem;font-weight:500}.visitor-category-sidebar__item:hover{background:var(--v-accent-soft);color:var(--v-accent-text)}.visitor-category-sidebar__item--active{color:#fff;background:linear-gradient(135deg,#2563eb,#4f46e5);border-color:#2563eb59;box-shadow:0 2px 8px #2563eb47}.visitor-category-sidebar__item--sub.visitor-category-sidebar__item--active{color:#4338ca;box-shadow:none;background:#eef2ff;border-color:#c7d2fe}.visitor-category-sidebar__loading{flex:1;justify-content:center;align-items:center;display:flex}.visitor-category-sidebar__loading-dot{background:var(--v-border-strong);border-radius:9999px;width:1.25rem;height:1.25rem;animation:1.5s ease-in-out infinite pulse}@media (width>=1024px){.visitor-order-page{--visitor-category-sidebar-w:6.75rem}.visitor-menu-list-body{gap:.75rem}.visitor-menu-list-body--sidebar-active .visitor-menu-list-content{min-height:0}.visitor-category-sidebar{max-height:calc(100vh - var(--visitor-header-h) - 2rem);border:none;border-right:1px solid var(--v-border-subtle);box-shadow:none;border-radius:0;top:0}.visitor-category-sidebar__item{padding:.5rem .375rem;font-size:.75rem}.visitor-category-sidebar__item--sub{font-size:.6875rem}.visitor-scroll-to-menu-wrapper{min-height:0;margin-top:0}}.visitor-scroll-to-menu__icon{flex-shrink:0;animation:1.1s ease-in-out infinite visitor-scroll-to-menu-icon-bounce}@keyframes visitor-scroll-to-menu-icon-bounce{0%,to{transform:translateY(0)}40%{transform:translateY(.45rem)}60%{transform:translateY(.2rem)}}@media (prefers-reduced-motion:reduce){.visitor-scroll-to-menu__icon{animation:none}}@media (width>=1024px){.visitor-order-page{--number-key-h:min(10dvh, 10vh)}.visitor-order-main{align-items:flex-start;gap:1.5rem;display:flex}.visitor-order-first-view{top:calc(var(--visitor-header-h) + .75rem);position:sticky}.visitor-order-below,.visitor-order-first-view{width:50%;min-width:0;max-width:50%;max-height:calc(100vh - var(--visitor-header-h) - 2rem);flex:0 0 50%;overflow-y:auto}.visitor-order-below{overscroll-behavior:contain;scroll-padding-bottom:calc(var(--visitor-summary-h) + env(safe-area-inset-bottom,0px));margin-top:0}.visitor-order-bottom-spacer{height:calc(var(--visitor-summary-h) + env(safe-area-inset-bottom,0px))}}.visitor-order-page .number-input__panel{height:var(--number-input-panel-h);flex-direction:column;min-height:8.5rem;padding:clamp(.375rem,1.2vh,.75rem) clamp(.5rem,2.5vw,1.5rem);display:flex;overflow:hidden}.visitor-order-page .number-input__heading{flex-shrink:0;margin-bottom:clamp(.2rem,.7vh,.5rem)}.visitor-order-page .number-input__heading-label{font-size:clamp(.8125rem,2.8vw,1.125rem);line-height:1.2}.visitor-order-page .number-input__field-row{flex-shrink:0;margin-bottom:clamp(.2rem,.7vh,.5rem)}.visitor-order-page .number-input__field{width:clamp(5rem,28vw,8rem);padding:clamp(.25rem,1vh,.625rem) clamp(.5rem,2vw,1rem);font-size:clamp(1.25rem,5.5vw,1.875rem);line-height:1.1}.visitor-order-page .number-input__preview{flex-direction:column;flex:1 1 0;gap:clamp(.125rem,.4vh,.25rem);min-height:0;margin-bottom:clamp(.2rem,.7vh,.5rem);display:flex;overflow:hidden}.visitor-order-page .number-input__preview-slot{overflow:hidden}.visitor-order-page .number-input__preview-slot:empty{flex:0 0 0;min-height:0}.visitor-order-page .number-input__preview-slot:not(:empty){flex:1 1 0;min-height:0}.visitor-order-page .number-input__preview-slot--secondary:not(:empty){flex:none;min-height:clamp(1.25rem,3.5vh,2.75rem);max-height:35%}.visitor-order-page .number-input__preview-card{border-width:1px;border-radius:.5rem;height:100%;padding:clamp(.25rem,.8vh,.75rem);overflow:hidden}.visitor-order-page .number-input__keypad,.visitor-order-page .number-input__panel{background:var(--v-surface);border:1px solid var(--v-border-subtle);border-radius:var(--v-radius-lg);box-shadow:var(--v-shadow-md)}.visitor-order-page .number-input__heading-label{color:var(--v-text)}.visitor-order-page .number-input__field{color:var(--v-text);background:var(--v-surface);border-radius:var(--v-radius-lg)}.visitor-order-page .number-input__field--default{border-color:var(--v-accent)}.visitor-order-page .number-input__field--default:focus{border-color:var(--v-accent-hover);--tw-ring-color:var(--v-accent-muted)}.visitor-order-page .number-input__field--success{border-color:var(--v-success-text)}.visitor-order-page .number-input__field--success:focus{border-color:var(--v-success-text);--tw-ring-color:var(--v-success-border)}.visitor-order-page .number-input__field--error{border-color:var(--v-error-text)}.visitor-order-page .number-input__field--error:focus{border-color:var(--v-error-text);--tw-ring-color:var(--v-error-border)}.visitor-order-page .number-input__preview-card--success{background:var(--v-success-bg);border-color:var(--v-success-border)}.visitor-order-page .number-input__preview-price{color:var(--v-success-text);opacity:.85}.visitor-order-page .number-input__preview-icon{color:var(--v-success-text)}.visitor-order-page .number-input__preview-card--error{background:var(--v-error-bg);border-color:var(--v-error-border);align-items:center;display:flex}.visitor-order-page .number-input__preview-card--error .number-input__preview-message{color:var(--v-error-text)}.visitor-order-page .number-input__preview-card--warning{background:var(--v-warning-bg);border-color:var(--v-warning-border);align-items:center;display:flex}.visitor-order-page .number-input__preview-card--warning .number-input__preview-message{color:var(--v-warning-text)}.visitor-order-page .number-input__preview-card--idle{background:var(--v-surface-muted);border-color:var(--v-border-strong);border-style:dashed;justify-content:center;align-items:center;display:flex}.visitor-order-page .number-input__preview-message--idle{text-align:center;color:var(--v-text-muted);line-height:1.35}.visitor-order-page .number-input__add-btn{border-radius:var(--v-radius-lg);background:var(--v-primary-gradient);color:#fff;box-shadow:var(--v-shadow-sm);border:none;flex-shrink:0;margin-top:auto;padding:clamp(.5rem,1.5vh,.875rem) .75rem;font-size:clamp(1.625rem,5vw,2rem);font-weight:600;line-height:1.2;transition:filter .15s}.visitor-order-page .number-input__add-btn:not(:disabled):hover{filter:brightness(1.03)}.visitor-order-page .number-input__add-btn:not(:disabled):active{filter:brightness(.95)}.visitor-order-page .number-input__add-btn:disabled{background:var(--v-disabled);cursor:not-allowed}.visitor-order-page .number-input__key--digit{background:var(--v-key-bg);color:var(--v-text);border:1px solid var(--v-border-subtle);border-radius:var(--v-radius-lg);font-size:clamp(1.875rem,6.75vw,2.625rem);font-weight:700;line-height:1;transition:background .15s,border-color .15s}.visitor-order-page .number-input__key--digit:active{background:var(--v-key-bg-hover);border-color:var(--v-border)}.visitor-order-page .number-input__key--delete{background:var(--v-key-delete-bg);color:var(--v-text-secondary);border:1px solid var(--v-border-subtle);border-radius:var(--v-radius-lg);transition:background .15s}.visitor-order-page .number-input__key--delete:disabled{opacity:.45;cursor:not-allowed}.visitor-order-page .number-input__key--confirm{background:var(--v-primary-gradient);color:#fff;border-radius:var(--v-radius-lg);border:none;font-weight:600;transition:filter .15s}.visitor-order-page .number-input__key--confirm:disabled{background:var(--v-disabled);cursor:not-allowed}.visitor-order-page .number-input__success-toast{background:var(--v-success-text);color:#fff;border-radius:var(--v-radius-lg);box-shadow:var(--v-shadow-md)}.visitor-order-page .number-input__preview-card-inner{justify-content:space-between;align-items:center;gap:.375rem;height:100%;display:flex}.visitor-order-page .number-input__preview-name{color:var(--v-success-text);font-size:clamp(1.375rem,4.8vw,1.75rem);line-height:1.2}.visitor-order-page .number-input__preview-price{margin-top:.125rem;font-size:clamp(1.1875rem,4.2vw,1.5rem)}.visitor-order-page .number-input__preview-message{font-size:clamp(1.0625rem,3.6vw,1.3125rem);line-height:1.4}.visitor-order-page .number-input__preview-card--idle .number-input__preview-message--idle{font-size:clamp(1.25rem,4.4vw,1.5rem)}.visitor-order-page .number-input__preview-icon{width:clamp(1rem,4vw,1.5rem);height:clamp(1rem,4vw,1.5rem)}.visitor-order-page .number-input__keypad-grid{grid-template-rows:repeat(4,var(--number-key-h,min(7dvh,7vh)))}.visitor-order-page .number-input__key{aspect-ratio:auto;width:100%;height:var(--number-key-h,min(7dvh,7vh));min-height:var(--number-key-h,min(7dvh,7vh));max-height:var(--number-key-h,min(7dvh,7vh))}.number-input--fit{flex-direction:column;gap:.5rem;height:100%;min-height:0;display:flex}.number-input--fit .number-input__panel{flex:none;min-height:0}.number-input--fit .number-input__preview{flex:1 1 0;min-height:0}.number-input--fit .number-input__keypad{flex-direction:column;flex:none;padding:.5rem;display:flex}.number-input--fit .number-input__keypad-grid{grid-template-rows:repeat(4,var(--number-key-h,min(7dvh,7vh)));flex:none;gap:.5rem}.number-input--fit .number-input__key{aspect-ratio:auto;width:100%;height:var(--number-key-h,min(7dvh,7vh));min-height:var(--number-key-h,min(7dvh,7vh))}.number-input--fit .number-input__key--digit{font-size:clamp(1.875rem,6.75vw,2.625rem)}.number-input--fit .number-input__key--confirm{font-size:clamp(1.125rem,4vw,1.5rem)}@media (width>=640px){.number-input--fit{height:auto}}@media (width>=1024px){.visitor-order-first-view .number-input--fit,.visitor-order-first-view .number-input--fit .number-input__keypad{height:auto;min-height:0}.visitor-order-first-view .number-input--fit .number-input__panel{height:var(--number-input-panel-h);min-height:8.5rem}}.visitor-header{background:var(--v-surface);border-bottom:1px solid var(--v-border);box-shadow:var(--v-shadow-sm)}.visitor-header__logo{background:var(--v-primary-gradient)}.visitor-header__brand-name{color:var(--v-accent-text)}.visitor-header__brand-sub{color:var(--v-text-muted)}.customer-header__shop-name{color:var(--v-text)}.customer-header__shop-name--unset{color:var(--v-warning-text)}@media (width>=1024px){.visitor-header .customer-header__shop-name{font-size:1.75rem;line-height:1.25}}.visitor-header__table{background:var(--v-accent-soft);border:1px solid var(--v-accent-muted)}.visitor-header__table-icon,.visitor-header__table-text{color:var(--v-accent-text)}.visitor-header__table--unset{background:var(--v-warning-bg);border-color:var(--v-warning-border)}.visitor-header__table--unset .visitor-header__table-icon,.visitor-header__table--unset .visitor-header__table-text{color:var(--v-warning-text)}.visitor-assistant-page{height:calc(100dvh - var(--visitor-header-h) - var(--visitor-summary-h) - env(safe-area-inset-bottom,0px) - .75rem);height:calc(100vh - var(--visitor-header-h) - var(--visitor-summary-h) - env(safe-area-inset-bottom,0px) - .75rem);flex-direction:column;gap:.75rem;min-height:18rem;display:flex;overflow:hidden}.visitor-layout--bottom-nav .visitor-assistant-page{--visitor-assistant-input-dock-h:4.875rem;--visitor-assistant-main-pad-y:1rem;height:calc(100dvh - var(--visitor-header-h) - var(--visitor-assistant-main-pad-y) - var(--visitor-bottom-nav-h) - var(--visitor-assistant-input-dock-h) - env(safe-area-inset-bottom,0px));height:calc(100vh - var(--visitor-header-h) - var(--visitor-assistant-main-pad-y) - var(--visitor-bottom-nav-h) - var(--visitor-assistant-input-dock-h) - env(safe-area-inset-bottom,0px))}@media (width>=640px){.visitor-assistant-page{height:calc(100dvh - var(--visitor-header-h) - var(--visitor-summary-h) - env(safe-area-inset-bottom,0px) - 1.5rem);height:calc(100vh - var(--visitor-header-h) - var(--visitor-summary-h) - env(safe-area-inset-bottom,0px) - 1.5rem)}.visitor-layout--bottom-nav .visitor-assistant-page{--visitor-assistant-main-pad-y:1.25rem}}.visitor-assistant-page__banner{opacity:1;flex-shrink:0;grid-template-rows:1fr;transition:grid-template-rows .45s cubic-bezier(.4,0,.2,1),opacity .35s,margin .45s cubic-bezier(.4,0,.2,1);display:grid;overflow:hidden}.visitor-assistant-page__banner--hidden{opacity:0;pointer-events:none;grid-template-rows:0fr;margin-bottom:-.75rem}.visitor-assistant-page__banner-inner{border-radius:var(--v-radius-xl);color:#fff;min-height:0;box-shadow:var(--v-shadow-md);background:linear-gradient(135deg,#dc2626,#f43f5e);padding:1rem 1.25rem;transition:transform .45s cubic-bezier(.4,0,.2,1);overflow:hidden;transform:translateY(0)}.visitor-assistant-page__banner--hidden .visitor-assistant-page__banner-inner{transform:translateY(-100%)}@media (prefers-reduced-motion:reduce){.visitor-assistant-page__banner,.visitor-assistant-page__banner-inner{transition:none}.visitor-assistant-page__banner--hidden{margin-bottom:0;display:none}}.visitor-assistant-page__title{font-size:1.25rem;font-weight:700;line-height:1.3}.visitor-assistant-page__live-badge{letter-spacing:.06em;background:#fff3;border-radius:9999px;align-items:center;padding:.125rem .5rem;font-size:.6875rem;font-weight:800;display:inline-flex}.visitor-assistant-page__lead{color:#fff1f2;margin-top:.5rem;font-size:.8125rem;line-height:1.5}.visitor-assistant-page__mode-switch{flex-shrink:0;grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.visitor-assistant-page__mode-btn{border:1px solid var(--v-border);border-radius:var(--v-radius-lg);background:var(--v-surface);color:var(--v-text);cursor:pointer;touch-action:manipulation;justify-content:center;align-items:center;gap:.375rem;padding:.625rem .75rem;font-size:.875rem;font-weight:600;line-height:1.2;transition:background .15s,border-color .15s;display:inline-flex}.visitor-assistant-page__mode-btn:hover{background:var(--v-surface-muted);border-color:var(--v-border-strong)}.visitor-assistant-page__mode-btn:active{background:var(--v-accent-soft);border-color:var(--v-accent-muted)}.visitor-assistant-page__mode-icon{font-size:1rem;line-height:1}.visitor-assistant-page__loading{flex:auto;justify-content:center;align-items:center;display:flex}.visitor-assistant-page__chat{flex:auto;min-height:0}.menu-assistant-chat__composer{flex-shrink:0}.menu-assistant-chat--dock-input{height:100%;min-height:0;box-shadow:none;background:0 0;border:none;border-radius:0;position:relative;overflow:visible}.menu-assistant-chat--dock-input .menu-assistant-chat__body{background:var(--v-surface);border-radius:var(--v-radius-xl);border:1px solid var(--v-border);height:100%;min-height:0;box-shadow:var(--v-shadow-md);flex-direction:column;display:flex;overflow:hidden}.menu-assistant-chat--dock-input .menu-assistant-chat__messages{flex:auto;min-height:0}.menu-assistant-chat--dock-input .menu-assistant-chat__composer{left:0;right:0;bottom:calc(var(--visitor-bottom-nav-h,3.5rem) + env(safe-area-inset-bottom,0px));z-index:57;background:var(--v-surface);border-top:1px solid var(--v-border);border-bottom:none;border-radius:0;margin:0;padding:.5rem .75rem .625rem;position:fixed;box-shadow:0 -6px 20px #0f172a14}.menu-assistant-chat__composer-inner{max-width:80rem;margin:0 auto;padding:0 .75rem}.menu-assistant-chat__composer-alert{border-radius:.5rem;margin-bottom:.5rem;padding:.5rem .625rem;font-size:.8125rem;line-height:1.4}.menu-assistant-chat__composer-alert--error{color:#dc2626;background:#fef2f2}.menu-assistant-chat__composer-alert--warn{color:#b45309;background:#fffbeb}.menu-assistant-chat__composer-alert--success{color:#16a34a;background:#f0fdf4}.menu-assistant-chat__composer-alert--audit{color:#92400e;white-space:pre-line;background:#fffbeb;border:1px solid #fde68a}.menu-assistant-chat__composer-row{align-items:stretch}.menu-assistant-chat__composer-input{min-width:0}@media (width<=639px){.menu-assistant-chat--dock-input .menu-assistant-chat__composer{padding:.4375rem .5rem .5rem}.menu-assistant-chat--dock-input .menu-assistant-chat__composer-inner{padding:0 .375rem}.menu-assistant-chat--dock-input .menu-assistant-chat__header{padding:.625rem .75rem}.menu-assistant-chat--dock-input .menu-assistant-chat__messages{padding:.75rem}.menu-assistant-chat__composer-row{gap:.375rem}.menu-assistant-chat__composer-input{border-radius:.75rem;padding:.6875rem .75rem;font-size:1rem}.menu-assistant-chat__composer-submit{border-radius:.75rem;padding:.6875rem .875rem;font-size:.875rem}.menu-assistant-chat__composer-alert{margin-bottom:.375rem;padding:.375rem .5rem;font-size:.75rem}.menu-assistant-chat__mic-level{margin-bottom:.375rem}}@media (width>=640px){.menu-assistant-chat__composer-inner{padding:0 1.5rem}}@media (width>=1024px){.menu-assistant-chat__composer-inner{padding:0 2rem}}.menu-assistant-chat form{flex-shrink:0}.menu-assistant-debug{border:1px solid var(--v-border);border-radius:var(--v-radius-lg);color:var(--v-text-secondary);background:#f8fafc;margin-top:.75rem;font-size:.75rem}.menu-assistant-debug__summary{cursor:pointer;color:var(--v-text);padding:.625rem .75rem;font-weight:700}.menu-assistant-debug__body{flex-direction:column;gap:.5rem;padding:0 .75rem .75rem;display:flex}.menu-assistant-debug__empty,.menu-assistant-debug__item{box-shadow:var(--v-shadow-sm);background:#fff;border-radius:.625rem;padding:.625rem}.menu-assistant-debug__row{justify-content:space-between;align-items:center;gap:.75rem;line-height:1.5;display:flex}.menu-assistant-debug__row strong{color:var(--v-text);text-align:right;font-weight:700}.menu-assistant-debug__note{color:var(--v-text-muted);margin-top:.375rem;line-height:1.45}.menu-assistant-chat__header{border-bottom:1px solid var(--v-border);background:linear-gradient(135deg,#fff1f2,#fff);flex-shrink:0;align-items:center;gap:.75rem;padding:.875rem 1rem;display:flex}.menu-assistant-chat__header-title{color:var(--v-text);font-size:.9375rem;font-weight:700;line-height:1.3}.menu-assistant-chat__header-status{color:var(--v-text-secondary);margin-top:.125rem;font-size:.75rem;line-height:1.3}.menu-assistant-volume-modal__header{text-align:center;padding:1.5rem 1.25rem 1rem}.menu-assistant-volume-modal__icon{background:linear-gradient(135deg,#fff1f2,#ffe4e6);border-radius:9999px;justify-content:center;align-items:center;width:3rem;height:3rem;margin-bottom:.75rem;font-size:1.5rem;line-height:1;display:inline-flex}.menu-assistant-volume-modal__title{color:var(--v-text);font-size:1.125rem;font-weight:700;line-height:1.35}.menu-assistant-volume-modal__lead{color:var(--v-text);margin-top:.625rem;font-size:.9375rem;line-height:1.55}.menu-assistant-volume-modal__note{color:var(--v-text-secondary);margin-top:.5rem;font-size:.8125rem;line-height:1.5}.menu-assistant-volume-modal__footer{flex-direction:column;gap:.625rem;padding:0 1.25rem 1.25rem;display:flex}.menu-assistant-volume-modal__accept{border-radius:var(--v-radius-lg);color:#fff;cursor:pointer;touch-action:manipulation;background:linear-gradient(135deg,#dc2626,#f43f5e);border:none;justify-content:center;align-items:center;width:100%;min-height:3rem;padding:.75rem 1rem;font-size:1rem;font-weight:700;line-height:1.2;transition:opacity .15s,transform .1s;display:flex}.menu-assistant-volume-modal__accept:hover{opacity:.95}.menu-assistant-volume-modal__accept:active{transform:scale(.98)}.menu-assistant-volume-modal__decline{border:1px solid var(--v-border);border-radius:var(--v-radius-lg);background:var(--v-surface);width:100%;min-height:2.75rem;color:var(--v-text-secondary);cursor:pointer;touch-action:manipulation;justify-content:center;align-items:center;padding:.625rem 1rem;font-size:.9375rem;font-weight:600;line-height:1.2;transition:background .15s,border-color .15s;display:flex}.menu-assistant-volume-modal__decline:hover{background:var(--v-surface-muted);border-color:var(--v-border-strong)}.menu-assistant-volume-modal__decline:active{transform:scale(.98)}.menu-assistant-voice-guide-modal__header{text-align:center;padding:1.5rem 1.25rem .75rem}.menu-assistant-voice-guide-modal__icon{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:9999px;justify-content:center;align-items:center;width:3rem;height:3rem;margin-bottom:.75rem;font-size:1.5rem;line-height:1;display:inline-flex}.menu-assistant-voice-guide-modal__title{color:var(--v-text);font-size:1.125rem;font-weight:700;line-height:1.35}.menu-assistant-voice-guide-modal__lead{color:var(--v-text-secondary);margin-top:.5rem;font-size:.875rem;line-height:1.5}.menu-assistant-voice-guide-modal__steps{flex-direction:column;gap:.75rem;margin:0;padding:.75rem 1.25rem 0;list-style:none;display:flex}.menu-assistant-voice-guide-modal__step{align-items:flex-start;gap:.75rem;display:flex}.menu-assistant-voice-guide-modal__step-num{color:#fff;background:#2563eb;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:.75rem;font-weight:700;line-height:1;display:inline-flex}.menu-assistant-voice-guide-modal__step-text{min-width:0;color:var(--v-text);flex:1;font-size:.875rem;line-height:1.55}.menu-assistant-voice-guide-modal__mic-demo{vertical-align:middle;background:#eff6ff;border:1px solid #bfdbfe;border-radius:.5rem;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;margin:0 .125rem;font-size:.875rem;line-height:1;display:inline-flex}.menu-assistant-voice-guide-modal__note{color:var(--v-text-secondary);margin:.875rem 1.25rem 0;font-size:.8125rem;line-height:1.5}.menu-assistant-voice-guide-modal__footer{padding:1rem 1.25rem 1.25rem}.menu-assistant-voice-guide-modal__accept{border-radius:var(--v-radius-lg);color:#fff;cursor:pointer;touch-action:manipulation;background:linear-gradient(135deg,#2563eb,#3b82f6);border:none;justify-content:center;align-items:center;width:100%;min-height:3rem;padding:.75rem 1rem;font-size:1rem;font-weight:700;line-height:1.2;transition:opacity .15s,transform .1s;display:flex}.menu-assistant-voice-guide-modal__accept:hover{opacity:.95}.menu-assistant-voice-guide-modal__accept:active{transform:scale(.98)}.menu-assistant-chat__mic-btn{border:1px solid var(--v-border);border-radius:var(--v-radius-lg);background:var(--v-surface);cursor:pointer;touch-action:manipulation;flex-shrink:0;justify-content:center;align-items:center;width:3rem;height:3rem;padding:0;font-size:1.125rem;line-height:1;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.menu-assistant-chat__mic-btn:hover:not(:disabled){background:var(--v-surface-muted);border-color:var(--v-border-strong)}.menu-assistant-chat__mic-btn--active{background:#eff6ff;border-color:#2563eb;animation:1.2s ease-in-out infinite menu-assistant-mic-pulse;box-shadow:0 0 0 3px #2563eb26}.menu-assistant-chat__mic-btn:disabled{opacity:.45;cursor:not-allowed}@keyframes menu-assistant-mic-pulse{0%,to{box-shadow:0 0 0 3px #2563eb1f}50%{box-shadow:0 0 0 6px #2563eb33}}.menu-assistant-chat__mic-level{border:1px solid var(--v-border);border-radius:var(--v-radius-lg);background:var(--v-surface-muted);align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.625rem .75rem;display:flex}.menu-assistant-chat__mic-level-bars{align-items:flex-end;gap:.2rem;height:1.25rem;display:flex}.menu-assistant-chat__mic-level-bar{background:var(--v-border-strong);border-radius:999px;width:.3rem;height:.35rem;transition:height 80ms,background-color .12s}.menu-assistant-chat__mic-level-bar--on{background:#94a3b8}.menu-assistant-chat__mic-level-bars--active .menu-assistant-chat__mic-level-bar--on{background:#16a34a}.menu-assistant-chat__mic-level-bar:first-child.menu-assistant-chat__mic-level-bar--on{height:.4rem}.menu-assistant-chat__mic-level-bar:nth-child(2).menu-assistant-chat__mic-level-bar--on{height:.55rem}.menu-assistant-chat__mic-level-bar:nth-child(3).menu-assistant-chat__mic-level-bar--on{height:.7rem}.menu-assistant-chat__mic-level-bar:nth-child(4).menu-assistant-chat__mic-level-bar--on{height:.9rem}.menu-assistant-chat__mic-level-bar:nth-child(5).menu-assistant-chat__mic-level-bar--on{height:1.1rem}.menu-assistant-chat__mic-level-label{color:var(--v-text-secondary);margin:0;font-size:.75rem;line-height:1.4}.menu-assistant-avatar{flex-shrink:0;width:2.75rem;height:2.75rem;position:relative}.menu-assistant-avatar__ring{opacity:0;border:2px solid #0000;border-radius:9999px;transition:opacity .2s;position:absolute;inset:-3px}.menu-assistant-avatar--speaking .menu-assistant-avatar__ring,.menu-assistant-avatar--thinking .menu-assistant-avatar__ring{opacity:1;border-color:#f43f5e;animation:1.4s ease-in-out infinite menu-assistant-avatar-pulse}.menu-assistant-avatar__face{z-index:1;position:relative}.menu-assistant-avatar__face,.menu-assistant-avatar__face svg{width:100%;height:100%;display:block}.menu-assistant-avatar__live{z-index:2;color:#fff;letter-spacing:.04em;background:#dc2626;border-radius:9999px;padding:.0625rem .3125rem;font-size:.5rem;font-weight:800;line-height:1.4;position:absolute;bottom:-.125rem;right:-.25rem}@keyframes menu-assistant-avatar-pulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.visitor-bottom-nav{overflow:visible}.visitor-bottom-nav__item{position:relative;overflow:visible}
