@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@600;700;800&display=swap";/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */:root{color-scheme:light;--app-height:100vh;--app-min-height:100vh;--safe-area-top:env(safe-area-inset-top,0px);--safe-area-right:env(safe-area-inset-right,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px);--font-body:"Geist Variable", "Inter Variable", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Plus Jakarta Sans", "Inter Variable", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--background:#fefefe;--foreground:#1a2332;--card:#fafafa;--card-foreground:#1a2332;--popover:#fff;--popover-foreground:#1a2332;--primary:#1a5dc6;--primary-foreground:#f7f7f7;--secondary:#d6e2f5;--secondary-foreground:#0d2d54;--muted:#f0f1f4;--muted-foreground:#7c8290;--accent:#6b9dd6;--accent-foreground:#f7f7f7;--destructive:#c73822;--destructive-foreground:#f7f7f7;--border:#e4e7eb;--input:#f0f1f4;--ring:#1a5dc6;--radius:.5rem;--radius-panel:1.5rem;--radius-pill:9999px;--shadow-soft:0 10px 30px #0f172a14;--shadow-raised:0 24px 60px #0f172a1a;--surface-page:#f7f9fc;--surface-card:#fff;--surface-card-muted:#f8fafc;--chart-1:#1a5dc6;--chart-2:#b04a20;--chart-3:#003a7d;--chart-4:#329960;--chart-5:#1a2d40;--sidebar:#fcfcfc;--sidebar-foreground:#242e3c;--sidebar-primary:#1a5dc6;--sidebar-primary-foreground:#f7f7f7;--sidebar-accent:#b8ccf0;--sidebar-accent-foreground:#0d2d54;--sidebar-border:#e8e9eb;--sidebar-ring:#1a5dc6}@supports (height:100dvh){:root{--app-height:100dvh;--app-min-height:100dvh}}.dark{color-scheme:light;--background:#fefefe;--foreground:#1a2332;--card:#fafafa;--card-foreground:#1a2332;--popover:#fff;--popover-foreground:#1a2332;--primary:#1a5dc6;--primary-foreground:#f7f7f7;--secondary:#d6e2f5;--secondary-foreground:#0d2d54;--muted:#f0f1f4;--muted-foreground:#7c8290;--accent:#6b9dd6;--accent-foreground:#f7f7f7;--destructive:#c73822;--destructive-foreground:#f7f7f7;--border:#e4e7eb;--input:#f0f1f4;--ring:#1a5dc6;--chart-1:#1a5dc6;--chart-2:#b04a20;--chart-3:#003a7d;--chart-4:#329960;--chart-5:#1a2d40;--sidebar:#fcfcfc;--sidebar-foreground:#242e3c;--sidebar-primary:#1a5dc6;--sidebar-primary-foreground:#f7f7f7;--sidebar-accent:#b8ccf0;--sidebar-accent-foreground:#0d2d54;--sidebar-border:#e8e9eb;--sidebar-ring:#1a5dc6}@supports (color:oklch(.5 .1 240)){:root,.dark{--background:oklch(99.5% 0 0);--foreground:oklch(25% .02 250);--card:oklch(98.5% 0 0);--card-foreground:oklch(25% .02 250);--popover:oklch(100% 0 0);--popover-foreground:oklch(25% .02 250);--primary:oklch(50% .18 240);--primary-foreground:oklch(98% 0 0);--secondary:oklch(92% .06 240);--secondary-foreground:oklch(30% .08 240);--muted:oklch(96% .005 250);--muted-foreground:oklch(55% .01 250);--accent:oklch(75% .12 240);--accent-foreground:oklch(98% 0 0);--destructive:oklch(55% .2 25);--destructive-foreground:oklch(98% 0 0);--border:oklch(92% .01 250);--input:oklch(96% .005 250);--ring:oklch(50% .18 240);--chart-1:oklch(50% .18 240);--chart-2:oklch(55% .15 35);--chart-3:oklch(40% .12 250);--chart-4:oklch(65% .12 150);--chart-5:oklch(35% .08 250);--sidebar:oklch(99% 0 0);--sidebar-foreground:oklch(30% .02 250);--sidebar-primary:oklch(50% .18 240);--sidebar-primary-foreground:oklch(98% 0 0);--sidebar-accent:oklch(88% .08 240);--sidebar-accent-foreground:oklch(30% .08 240);--sidebar-border:oklch(93% .005 250);--sidebar-ring:oklch(50% .18 240)}}:root,:host{--font-display:var(--font-display);--radius:.5rem;--radius-md:var(--radius)}::selection{background:var(--primary)}@supports (color:color-mix(in lab,red,red)){::selection{background:color-mix(in srgb,var(--primary) 30%,transparent 70%)}}::selection{color:var(--foreground)}@layer base{html{font-family:var(--font-body);background-color:var(--background);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-feature-settings:"cv11" 1,"ss01" 1,"ss03" 1;font-kerning:normal;scrollbar-gutter:stable;width:100%;min-height:100%}html,body,#root{min-height:100%}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring) 50%,transparent)}}*,:before,:after{box-sizing:border-box}body{background-color:var(--background);font-family:var(--font-body);color:var(--foreground);width:100%;min-height:var(--app-min-height);font-synthesis-weight:none;line-height:1.5;overflow-x:hidden}button,input,textarea,select{font:inherit}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),textarea,select{border-width:0!important;border-color:#0000!important}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.02em;overflow-wrap:anywhere;font-weight:700;line-height:1.15}p,label,input,textarea,select,button{letter-spacing:-.01em}img,svg,video,canvas{max-width:100%;display:block}}@supports (text-wrap:balance){@layer base{h1,h2,h3,h4,h5,h6{text-wrap:balance;overflow-wrap:normal}}}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar,.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.custom-scrollbar::-webkit-scrollbar{width:8px;height:8px}.custom-scrollbar::-webkit-scrollbar-track{background:#e5e7eb4d;border-radius:4px}.custom-scrollbar::-webkit-scrollbar-thumb{background:#9ca3af80;border-radius:4px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#6b7280b3}.touch-target{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.scroll-snap-x{scroll-snap-type:x mandatory;overflow-x:auto}.scroll-snap-item{scroll-snap-align:start}.glass{-webkit-backdrop-filter:blur(8px);background:#fefefed9;border:1px solid #e4e7eb80}.glass-strong{-webkit-backdrop-filter:blur(16px);background:#fcfcfcb3;border:1px solid #dcdfe480}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass,.glass-strong{background:#fefefef5}}.mobile-shell{background:var(--background);width:100%;max-width:430px;min-height:100dvh;margin-inline:auto;box-shadow:0 0 80px #09090b14}@media(max-width:640px){.mobile-shell{box-shadow:none}}.app-page{background:radial-gradient(circle at top,#1a5dc60f,transparent 32%),linear-gradient(180deg,var(--surface-page),var(--background))}.app-shell{background:var(--card)}@supports (color:color-mix(in lab,red,red)){.app-shell{background:color-mix(in srgb,var(--card) 94%,white 6%)}}.app-shell{border:1px solid var(--border)}@supports (color:color-mix(in lab,red,red)){.app-shell{border:1px solid color-mix(in srgb,var(--border) 88%,white 12%)}}.app-shell{border-radius:var(--radius-panel);box-shadow:var(--shadow-soft)}.app-card{background:var(--card)}@supports (color:color-mix(in lab,red,red)){.app-card{background:color-mix(in srgb,var(--card) 97%,white 3%)}}.app-card{border:1px solid var(--border)}@supports (color:color-mix(in lab,red,red)){.app-card{border:1px solid color-mix(in srgb,var(--border) 92%,white 8%)}}.app-card{border-radius:var(--radius-panel);box-shadow:0 6px 18px #0f172a0d}.card-elevated{border:1px solid var(--border);border-radius:var(--radius-panel);box-shadow:var(--shadow-raised);background:#fff}.app-card-strong{background:linear-gradient(180deg,var(--card),var(--muted))}@supports (color:color-mix(in lab,red,red)){.app-card-strong{background:linear-gradient(180deg,color-mix(in srgb,var(--card) 98%,white 2%),color-mix(in srgb,var(--muted) 32%,white 68%))}}.app-card-strong{border:1px solid var(--border)}@supports (color:color-mix(in lab,red,red)){.app-card-strong{border:1px solid color-mix(in srgb,var(--border) 90%,white 10%)}}.app-card-strong{border-radius:calc(var(--radius-panel) + .25rem);box-shadow:var(--shadow-raised)}.app-pill{border-radius:var(--radius-pill)}.app-bottom-bar{background:var(--background)}@supports (color:color-mix(in lab,red,red)){.app-bottom-bar{background:color-mix(in srgb,var(--background) 92%,white 8%)}}.app-bottom-bar{border-top:1px solid var(--border)}@supports (color:color-mix(in lab,red,red)){.app-bottom-bar{border-top:1px solid color-mix(in srgb,var(--border) 92%,white 8%)}}.app-bottom-bar{-webkit-backdrop-filter:blur(18px);box-shadow:0 -10px 30px #0f172a14}.app-overline{letter-spacing:.18em;text-transform:uppercase;color:var(--primary);font-size:11px;font-weight:800}@supports (color:color-mix(in lab,red,red)){.app-overline{color:color-mix(in srgb,var(--primary) 74%,var(--foreground) 26%)}}.app-section-title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--foreground);font-size:1.25rem;font-weight:900}.min-h-app{min-height:var(--app-min-height)}.h-app{height:var(--app-height)}.max-h-app{max-height:var(--app-height)}.safe-area-bottom{padding-bottom:var(--safe-area-bottom)}.pb-safe-area{padding-bottom:max(var(--safe-area-bottom),1rem)}.pb-safe{padding-bottom:max(var(--safe-area-bottom),.75rem)}.pb-safe-with-nav{padding-bottom:calc(var(--safe-area-bottom) + 80px)}.pt-safe-area{padding-top:max(var(--safe-area-top),.5rem)}@media(max-width:767px){.admin-mobile input,.admin-mobile select,.admin-mobile textarea{min-height:40px}}:root{--ease-ios:cubic-bezier(.32,.72,0,1);--dur-micro:.18s;--dur-transition:.32s;--dur-spring:.42s}.press-ios{transition:transform var(--dur-micro) var(--ease-ios),box-shadow var(--dur-micro) var(--ease-ios)}.press-ios:active{transform:scale(.97)}.lift-ios{transition:transform var(--dur-transition) var(--ease-ios),box-shadow var(--dur-transition) var(--ease-ios)}@media(hover:hover){.lift-ios:hover{transform:translateY(-2px);box-shadow:0 12px 40px #09090b1a}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.animate-shimmer{animation:2s infinite shimmer}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fadeIn{animation:fadeIn var(--dur-micro) var(--ease-ios)}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-slideUp{animation:slideUp var(--dur-transition) var(--ease-ios)}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-scaleIn{animation:scaleIn var(--dur-micro) var(--ease-ios)}@keyframes slideUpBouncy{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.animate-slideUpBouncy{animation:slideUpBouncy var(--dur-spring) var(--ease-ios)}@keyframes scaleInBouncy{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-scaleInBouncy{animation:scaleInBouncy var(--dur-spring) var(--ease-ios)}@keyframes pulseRing{0%{opacity:.5;transform:scale(.8)}to{opacity:0;transform:scale(1.3)}}.animate-pulseRing{animation:1.5s cubic-bezier(.215,.61,.355,1) infinite pulseRing}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-rise{animation:.44s cubic-bezier(.32,.72,0,1) both rise}.route-entry,[data-route-entry]{animation:rise var(--dur-transition) var(--ease-ios) both}@keyframes bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}.animate-bounce{animation:.6s infinite bounce}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin-slow{animation:3s linear infinite spin-slow}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sr-only-focusable:active,.sr-only-focusable:focus{width:auto;height:auto;padding:inherit;margin:inherit;clip:auto;white-space:normal;position:static;overflow:visible}:focus-visible{outline:2px solid var(--foreground,#1a2332);outline-offset:3px;box-shadow:0 0 0 5px var(--primary)}@supports (color:color-mix(in lab,red,red)){:focus-visible{box-shadow:0 0 0 5px color-mix(in srgb,var(--primary) 35%,transparent 65%)}}:focus-visible{border-radius:var(--radius-md,.5rem)}:focus:not(:focus-visible){outline:none}.skip-link{background:var(--primary,#1a5dc6);color:var(--primary-foreground,#f7f7f7);z-index:100;border-radius:0 .5rem .5rem 0;padding:.5rem 1rem;text-decoration:none;position:absolute;top:-100px;left:0}.skip-link:focus{top:0}@media(prefers-contrast:high){:focus-visible{outline-offset:3px;outline-width:3px}}@media(prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{font-family:var(--font-body,Inter),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--foreground,#1a2332);background:var(--surface-page,#f7f9fc);font-synthesis:none;--booking-accent:var(--primary,#1a5dc6);--booking-accent-soft:#edf4ff;--ink:var(--foreground,#111827);--muted:var(--muted-foreground,#667085);--line:var(--border,#e5e7eb);--surface:var(--surface-card,#fff);--surface-muted:var(--surface-page,#f7f9fc);--shadow-soft:0 10px 30px #0f172a14;--shadow-raised:0 24px 60px #0f172a1a;--ease-ios:cubic-bezier(.32, .72, 0, 1)}*{box-sizing:border-box}html{background:var(--surface-muted);min-width:320px}body{background:var(--surface-muted);min-width:320px;margin:0}button,input,textarea{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;border:0}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--booking-accent)}@supports (color:color-mix(in lab,red,red)){button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--booking-accent) 28%,transparent)}}button:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:3px}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),textarea,select{border-width:0!important;border-color:#0000!important}h1,h2,h3,strong{font-family:Plus Jakarta Sans,Inter,sans-serif}p{color:var(--muted);line-height:1.6}.app-shell{background:var(--surface-muted);flex-direction:column;width:min(100%,520px);min-height:100dvh;margin:0 auto;display:flex;box-shadow:0 0 60px #0f172a0f}.topbar{z-index:30;width:100%;padding:calc(10px + env(safe-area-inset-top)) 12px 10px;background:var(--surface);border-bottom:1px solid #0000000a;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}@supports (color:color-mix(in lab,red,red)){.topbar{background:color-mix(in srgb,var(--surface) 90%,transparent)}}.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 1px #0f172a05}.brand{align-items:center;gap:10px;min-width:0;display:flex}.brand-mark,.brand-logo{width:40px;height:40px;color:var(--booking-accent);background:var(--booking-accent-soft);box-shadow:none;border-radius:14px;flex:0 0 40px;place-items:center;display:grid}.brand-logo{object-fit:cover;display:block}.brand>div:last-child{min-width:0}.brand strong{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.02em;min-width:0;font-size:14px;display:block;overflow:hidden}.brand span{color:var(--muted);margin-top:3px;font-size:11px;display:block}.icon-button{width:44px;height:44px;color:var(--ink);background:var(--surface);border:1px solid var(--line);transition:transform .18s var(--ease-ios);border-radius:14px;box-shadow:0 5px 18px #0f172a0d}.icon-button:active,.button:active,.date-card:active,.add-button:active,.stepper button:active,.quantity-control button:active{transform:scale(.97)}main{width:100%;padding:8px 18px calc(8px + env(safe-area-inset-bottom));flex:1}.landing{min-height:auto;padding:12px 0 18px;display:block}.hero{background:var(--surface);box-shadow:var(--shadow-soft);border:1px solid #e4e7ebe6;border-radius:24px;padding:18px}.eyebrow{color:var(--booking-accent);letter-spacing:.01em;align-items:center;gap:7px;font-size:11px;font-weight:700;display:inline-flex}h1{letter-spacing:-.065em;max-width:none;margin:13px 0 12px;font-size:clamp(35px,9vw,46px);line-height:1.06}h1 em{color:var(--booking-accent);font-style:normal}.hero>p{max-width:none;margin:0;font-size:14px}.hero-actions{grid-template-columns:1fr;gap:8px;margin-top:16px;display:grid}.button{width:100%;min-height:48px;transition:transform .18s var(--ease-ios),box-shadow .18s var(--ease-ios),background .18s var(--ease-ios);border-radius:15px;justify-content:center;align-items:center;gap:9px;padding:0 18px;font-size:14px;font-weight:700;display:inline-flex}.button.primary{color:#fff;background:var(--booking-accent);box-shadow:0 10px 22px #1a5dc638}.button.primary:hover{background:#164fa9;box-shadow:0 14px 28px #1a5dc642}.button.secondary{color:var(--ink);background:var(--surface);border:1px solid var(--line)}.button.secondary:hover{background:var(--booking-accent-soft);border-color:#c6d8f5}.button.full{width:100%}.payment-note{color:#164fa9;background:var(--booking-accent-soft);border:1px solid #cfe0fa;border-radius:14px;align-items:flex-start;gap:8px;max-width:none;margin-top:9px;padding:9px 10px;font-size:11px;line-height:1.45;display:flex}.payment-note svg{flex:none;margin-top:1px}.info-grid{grid-template-columns:1fr;gap:9px;margin-top:12px;display:grid}.booking-promo{background:var(--surface);box-shadow:var(--shadow-soft);transition:transform .18s var(--ease-ios),box-shadow .18s var(--ease-ios);border:1px solid #e4e7ebe6;border-radius:24px;margin-top:12px;display:block;overflow:hidden}.booking-promo:hover{transform:translateY(-2px);box-shadow:0 14px 30px #0f172a1a}.booking-promo:active{transform:scale(.99)}.booking-promo:focus-visible{outline-offset:3px;outline:3px solid #1a5dc659}.booking-promo img{width:100%;height:auto;display:block}.info-card,.panel,.form-card,.review-card,.success,.state-card{background:var(--surface);box-shadow:var(--shadow-soft);border:1px solid #e4e7ebe6;border-radius:22px}.info-card{grid-template-rows:auto auto;grid-template-columns:40px minmax(0,1fr);align-items:center;column-gap:12px;min-height:0;padding:15px;display:grid}.info-card .info-icon{grid-area:1/1/span 2}.info-icon{width:40px;height:40px;color:var(--booking-accent);background:var(--booking-accent-soft);border-radius:14px;place-items:center;display:grid}.info-icon svg{width:19px}.info-card strong{grid-area:1/2;font-size:13px;line-height:1.28}.info-card span:last-child{color:var(--muted);grid-area:2/2;font-size:12px;line-height:1.45}.flow{width:100%;max-width:480px;margin:0 auto}.progress{gap:8px;margin:8px 0 28px;display:flex}.progress span{color:#0000;background:#dce3ee;border-radius:99px;width:32px;height:6px;overflow:hidden}.progress span.active,.progress span.done{background:var(--booking-accent)}.step-heading{align-items:flex-start;gap:15px;margin-bottom:25px;display:flex}.step-number{color:var(--booking-accent);padding-top:8px;font-size:12px;font-weight:800}.step-heading h2{letter-spacing:-.045em;font-size:clamp(25px,4vw,34px)}.step-heading p{margin:7px 0 0;font-size:14px}.calendar-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:24px;padding:18px}.calendar-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.calendar-toolbar>div{align-items:center;gap:10px;display:flex}.calendar-toolbar strong{color:var(--ink);text-transform:capitalize;font-size:17px}.month-arrow{border:1px solid var(--line);width:44px;height:44px;color:var(--ink);background:var(--surface);border-radius:14px;place-items:center;display:grid}.month-arrow.next{color:var(--booking-accent)}.month-arrow:hover:not(:disabled){border-color:var(--booking-accent);color:var(--booking-accent);background:var(--booking-accent-soft)}.today-button{min-height:32px;color:var(--booking-accent);background:var(--booking-accent-soft);border-radius:10px;padding:0 10px;font-size:11px;font-weight:800}.weekday-row,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;display:grid}.weekday-row{color:var(--muted);text-align:center;margin-bottom:8px;font-size:10px;font-weight:800}.calendar-day,.calendar-empty{min-width:0;min-height:62px}.calendar-day{color:var(--ink);background:var(--surface-muted);transition:transform .18s var(--ease-ios),border-color .18s var(--ease-ios),background .18s var(--ease-ios);border:1px solid #0000;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px 4px 6px;display:flex}.calendar-day:hover:not(:disabled){background:var(--booking-accent-soft);border-color:#c6d8f5;transform:translateY(-1px)}.calendar-day span{font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:16px;font-weight:800;line-height:1}.calendar-day small{color:#329960;font-size:9px;font-weight:700}.calendar-day.available{background:#f4fbf7}.calendar-day.limited small{color:#b7791f}.calendar-day.full{color:#98a2b3;background:#f5f6f8}.calendar-day.full small{color:#98a2b3}.calendar-day.today{box-shadow:inset 0 0 0 1px var(--booking-accent)}.calendar-day.selected{color:#fff;border-color:var(--booking-accent);background:var(--booking-accent);transform:translateY(-1px);box-shadow:0 9px 20px #1a5dc633}.calendar-day.selected small{color:#ffffffd1}.calendar-empty-state{color:var(--muted);background:var(--surface-muted);text-align:center;border-radius:14px;margin:16px 0 0;padding:12px;font-size:12px}.availability-legend{color:var(--muted);flex-wrap:wrap;gap:12px;margin-top:18px;font-size:11px;font-weight:600;display:flex}.availability-legend span{align-items:center;gap:5px;display:inline-flex}.availability-legend i{background:#329960;border-radius:50%;width:7px;height:7px}.availability-legend i.limited{background:#d69e2e}.availability-legend i.full{background:#b8c0cc}.panel{margin-top:18px;padding:20px}.arrival-details{box-shadow:var(--shadow-soft);background:linear-gradient(145deg,#fff,#f8fbff);border:1px solid #d8e4f3;border-radius:24px;margin-top:18px;padding:20px}.arrival-details.has-date{border-color:#c6d8f5}.arrival-summary{border-bottom:1px solid var(--line);padding-bottom:17px}.arrival-summary .field-label{margin-bottom:5px}.arrival-summary strong{color:var(--ink);letter-spacing:-.03em;font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:18px;display:block}.arrival-summary small{color:var(--muted);margin-top:5px;font-size:11px;display:block}.arrival-fields{grid-template-columns:minmax(0,1fr) minmax(170px,.8fr);gap:24px;padding-top:17px;display:grid}.guest-field,.arrival-time-field{min-width:0}.arrival-time-field .field-label{align-items:center;gap:7px;display:flex}.arrival-time-field .field-label svg{color:var(--booking-accent)}.time-input-shell{min-height:56px;color:var(--booking-accent);background:var(--surface);transition:border-color .18s var(--ease-ios),box-shadow .18s var(--ease-ios),background .18s var(--ease-ios);border:1px solid #cfd9e8;border-radius:16px;align-items:center;gap:10px;margin-top:8px;padding:0 13px;display:flex;box-shadow:0 4px 12px #0f172a0a}.time-input-shell:focus-within{border-color:var(--booking-accent);box-shadow:0 0 0 4px var(--booking-accent)}@supports (color:color-mix(in lab,red,red)){.time-input-shell:focus-within{box-shadow:0 0 0 4px color-mix(in srgb,var(--booking-accent) 13%,transparent)}}.time-input-icon{flex:none}.arrival-time-field .time-input{width:100%;min-width:0;min-height:52px;color:var(--ink);letter-spacing:-.025em;text-align:left;background:0 0;border:0;outline:0;flex:1;padding:0;font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:20px;font-weight:800}.arrival-time-field .time-input:disabled{color:#98a2b3;background:0 0}.time-zone{color:var(--booking-accent);background:var(--booking-accent-soft);letter-spacing:.04em;border-radius:8px;flex:none;padding:6px 8px;font-size:10px;font-weight:800}.arrival-time-field small{color:var(--muted);margin-top:7px;font-size:11px;display:block}.selection-panel{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 24px;padding:16px 18px;display:grid}.selection-date{color:var(--ink);margin:-2px 0 0;font-size:13px;font-weight:600;line-height:1.35}.selection-panel .stepper{grid-area:1/2/span 2;justify-content:center;align-self:center;gap:10px;max-width:none}.stepper strong small{color:var(--muted);font-family:Inter,sans-serif;font-size:12px;font-weight:600}.selection-panel .helper{grid-column:1}.field-label{color:var(--muted);margin-bottom:7px;font-size:12px;font-weight:700;display:block}.stepper{justify-content:flex-start;align-items:center;gap:10px;max-width:240px;display:flex}.stepper button,.quantity-control button{width:44px;height:44px;color:var(--booking-accent);background:var(--booking-accent-soft);border-radius:14px;place-items:center;display:grid}.selection-panel .stepper button{width:42px;height:42px}.stepper strong{text-align:center;min-width:64px;font-size:26px}.helper{margin:8px 0 0;font-size:13px}.search-box{border:1px solid var(--line);background:var(--surface);min-height:50px;color:var(--muted);border-radius:15px;align-items:center;gap:9px;margin-bottom:17px;padding:0 15px;display:flex}.menu-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:-3px 0 8px;display:grid}.menu-filters label{color:var(--muted);gap:5px;font-size:10px;font-weight:800;display:grid}.menu-filters select{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);background:var(--surface);border-radius:13px;outline:0;padding:0 12px;font-size:13px;font-weight:700}.menu-filters select:focus{border-color:var(--booking-accent);box-shadow:0 0 0 3px var(--booking-accent)}@supports (color:color-mix(in lab,red,red)){.menu-filters select:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--booking-accent) 14%,transparent)}}.clear-filter{color:var(--booking-accent);margin:0 0 10px;font-size:11px;font-weight:800}.product-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.product-card{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:20px;transition:border-color .16s,box-shadow .16s,transform .16s;overflow:hidden}.product-card:hover,.product-card:focus-visible{box-shadow:var(--shadow-soft);border-color:#b9d0f5;outline:0}.product-card.selected{border-color:var(--booking-accent);box-shadow:0 0 0 2px var(--booking-accent)}@supports (color:color-mix(in lab,red,red)){.product-card.selected{box-shadow:0 0 0 2px color-mix(in srgb,var(--booking-accent) 16%,transparent)}}.product-card img,.product-image{object-fit:cover;color:#98a8bf;background:#eef3fa;place-items:center;width:100%;height:135px;display:grid}.product-body{padding:14px}.menu-number{color:var(--booking-accent);font-size:10px;font-weight:800}.product-body h3{min-height:38px;margin:6px 0 11px;line-height:1.35}.product-body>strong{font-size:14px}.quantity-control{align-items:center;gap:9px;margin-top:13px;display:flex}.quantity-control b{text-align:center;min-width:20px}.add-button{width:100%;min-height:44px;color:var(--booking-accent);background:var(--booking-accent-soft);border-radius:12px;font-weight:700}.sticky-action{bottom:calc(12px + env(safe-area-inset-bottom));z-index:2;background:linear-gradient(to bottom,transparent,var(--surface-muted) 28%);justify-content:flex-end;padding:25px 0 10px;display:flex;position:sticky}.menu-flow.has-cart{padding-bottom:104px}.menu-flow .sticky-action{left:50%;bottom:max(12px,env(safe-area-inset-bottom));pointer-events:none;z-index:20;background:linear-gradient(#0000,#f8fafcf5 30%);width:min(100% - 36px,976px);padding:12px 0;position:fixed;transform:translate(-50%)}.menu-flow .sticky-action .button{pointer-events:auto;box-shadow:0 12px 28px #1a5dc640}.skip-link{margin:10px auto;display:block}.form-card,.review-card{padding:22px}.form-field{color:var(--ink);margin-bottom:17px;font-size:13px;font-weight:700;display:block}.form-field sup{color:#c75050;margin-left:3px}.form-field input,.form-field textarea{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);background:#fbfcfe;border-radius:14px;outline:0;margin-top:8px;padding:13px 14px;display:block}.form-field textarea{resize:vertical}.form-error{color:#c75050;margin-top:6px;font-size:11px;display:block}.review-row{border-bottom:1px solid var(--line);justify-content:space-between;gap:15px;padding:16px 0;display:flex}.review-row span,.review-section>span{color:var(--muted);margin-bottom:5px;font-size:11px;display:block}.review-row strong{font-size:14px}.review-section{padding-top:18px}.line,.total{justify-content:space-between;gap:15px;padding:9px 0;font-size:13px;display:flex}.total{border-top:1px solid var(--line);margin-top:10px;padding-top:15px;font-weight:700}.muted{color:var(--muted);font-size:13px}.terms{text-align:center;font-size:11px}.success{text-align:center;max-width:530px;margin:50px auto;padding:34px}.success-icon{color:#fff;background:#329960;border-radius:22px;place-items:center;width:64px;height:64px;margin:0 auto 20px;display:grid}.success h1{margin:14px 0;font-size:42px}.code-card{background:var(--surface-muted);border-radius:18px;margin:26px 0;padding:19px}.code-card span{color:var(--muted);font-size:11px;display:block}.code-card strong{color:var(--booking-accent);letter-spacing:.1em;margin:8px 0 12px;font-size:25px;display:block}.code-card button{min-height:44px;color:var(--booking-accent);background:0 0;align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.summary-mini{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:13px;margin-bottom:24px;font-size:12px;display:flex}.summary-mini span{align-items:center;gap:6px;display:inline-flex}.status-hero{text-align:center;margin:25px 0}.status-hero .info-icon{margin:auto}.status-hero h1{margin:15px 0 8px;font-size:40px}.status-result{text-align:left;margin:18px 0 0;padding:24px}.status-result h2{margin:8px 0}.status-result a{color:var(--booking-accent);align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.progress-wrap{margin-bottom:18px}.progress-label{color:var(--muted);margin-bottom:8px;font-size:11px;font-weight:700}.choice-list{gap:12px;display:grid}.choice-list.compact{gap:9px}.choice-card{border:1px solid var(--line);width:100%;min-height:82px;color:var(--ink);background:var(--surface);text-align:left;box-shadow:var(--shadow-soft);transition:transform .18s var(--ease-ios),border-color .18s var(--ease-ios),background .18s var(--ease-ios),box-shadow .18s var(--ease-ios);border-radius:20px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:13px;padding:16px;display:grid}.choice-card:hover{border-color:#c6d8f5;transform:translateY(-1px)}.choice-card.selected{border-color:var(--booking-accent);background:var(--booking-accent-soft);box-shadow:0 9px 20px #1a5dc621}.choice-card>span:nth-child(2){min-width:0}.choice-card strong,.choice-card small{display:block}.choice-card strong{font-size:15px}.choice-card small{color:var(--muted);margin-top:5px;font-size:12px;line-height:1.4}.choice-icon{width:44px;height:44px;color:var(--booking-accent);background:var(--booking-accent-soft);border-radius:15px;place-items:center;display:grid}.choice-icon svg{width:21px;height:21px}.context-summary{color:var(--muted);flex-wrap:wrap;align-items:center;gap:7px;margin:-11px 0 16px 30px;font-size:11px;font-weight:700;display:flex}.context-summary b{color:#b0bac8}.form-field select{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);background:#fbfcfe;border-radius:14px;outline:0;margin-top:8px;padding:0 14px;display:block}.checkout-total{color:var(--booking-accent);background:var(--booking-accent-soft);border:1px solid #cfe0fa;border-radius:18px;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;margin-top:16px;padding:15px 18px;display:grid}.checkout-total span{color:var(--muted);font-size:12px;font-weight:700}.checkout-total strong{font-size:18px}.checkout-total small{color:var(--muted);grid-column:1/-1;font-size:10px}.review-edit{margin-top:12px}.menu-shell .topbar{padding:calc(14px + env(safe-area-inset-top)) 18px 18px;background:linear-gradient(135deg,#f8fcff,#e4f5ff)}.menu-shell .brand{gap:12px}.menu-shell .brand-mark,.menu-shell .brand-logo{border-radius:20px;flex-basis:52px;width:52px;height:52px}.menu-shell .brand strong{font-size:18px}.menu-shell .brand span{font-size:13px}.menu-back-button{width:48px;height:48px;color:var(--ink);background:#ffffffe0;border-radius:50%;flex:0 0 48px;place-items:center;display:grid}.menu-eyebrow{letter-spacing:.28em;margin-bottom:3px;color:var(--booking-accent)!important;font-size:10px!important;font-weight:900!important;display:block!important}.menu-item-count{min-width:64px;color:var(--booking-accent);text-align:center;background:#bde2ffbf;border-radius:30px;padding:9px 12px}.menu-item-count strong,.menu-item-count span{display:block}.menu-item-count strong{font-size:20px;line-height:1}.menu-item-count span{letter-spacing:.2em;margin-top:4px;font-size:9px;font-weight:900}.header-progress{background:linear-gradient(135deg,#f8fcff,#e4f5ff);padding:0 18px 14px}.header-progress-label{color:var(--booking-accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px;font-size:10px;font-weight:800;display:block}.header-progress .progress{gap:6px;margin:0}.header-progress .progress span{width:100%;height:5px}.menu-intro{color:var(--muted);margin:0 0 16px;font-size:15px;line-height:1.45}.menu-catalog-panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:24px;margin-bottom:14px;padding:18px}.menu-catalog-panel h2{letter-spacing:-.04em;align-items:center;gap:10px;margin:0 0 16px;font-size:20px;display:flex}.catalog-icon{width:28px;height:28px;color:var(--booking-accent);place-items:center;display:grid}.menu-catalog-panel .search-box{margin:0 0 14px}.category-chips{scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.category-chips::-webkit-scrollbar{display:none}.category-chips button{border:1px solid var(--line);min-height:44px;color:var(--muted);background:var(--surface);border-radius:24px;flex:none;padding:0 18px;font-size:13px;font-weight:800}.category-chips button.active{color:var(--booking-accent);background:var(--booking-accent-soft);border-color:#b9d0f5}.subcategory-chips{border-top:1px solid var(--line);scrollbar-width:none;gap:8px;margin-top:12px;padding-top:12px;display:flex;overflow-x:auto}.subcategory-chips::-webkit-scrollbar{display:none}.subcategory-chips button{min-height:38px;color:var(--muted);background:#fbfcfe;border:1px solid #e7ebf1;border-radius:20px;flex:none;padding:0 14px;font-size:12px;font-weight:700}.subcategory-chips button.active{color:var(--booking-accent);background:var(--booking-accent-soft);border-color:#b9d0f5}.menu-catalog-panel+.menu-filters{display:none}.app-shell>.owner-footer{color:#667085;text-align:center;background:#ffffffeb;border:1px solid #e4e7ebe6;border-radius:14px;width:calc(100% - 2rem);margin:6px auto 8px;padding:8px 12px;font-size:11px;line-height:16px;overflow:hidden;box-shadow:0 4px 16px #0f172a0a}.app-shell>.owner-footer>.owner-footer-two-line{text-align:center;place-items:center;gap:3px;width:100%;min-width:0;display:grid;overflow:hidden}.app-shell>.owner-footer>.owner-footer-two-line .owner-footer-row{white-space:nowrap;text-align:center;letter-spacing:-.01em;justify-content:center;align-items:center;width:100%;min-width:0;max-width:100%;min-height:16px;margin:0;font-size:10px;line-height:16px;display:flex;overflow:hidden}.app-shell>.owner-footer>.owner-footer-two-line .owner-footer-row span,.app-shell>.owner-footer>.owner-footer-two-line .owner-footer-row a{flex:none;font-size:10px;line-height:16px;display:inline}.app-shell>.owner-footer>.owner-footer-two-line .owner-footer-row:first-child span[aria-hidden=true]{vertical-align:middle;width:6px;height:6px;margin-right:7px;display:inline-block}@media(min-width:761px){.app-shell.menu-shell{width:min(100%,1040px)}.menu-shell main{padding:24px 32px 32px}.menu-shell .topbar{padding-left:32px;padding-right:32px}.menu-flow{max-width:976px}.menu-flow .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.menu-flow .product-card{border-radius:24px;grid-template-columns:112px minmax(0,1fr);align-items:stretch;gap:14px;min-height:132px;padding:10px;display:grid}.menu-flow .product-card img,.menu-flow .product-card .product-image{border-radius:18px;width:112px;min-width:112px;height:112px;min-height:112px}.menu-flow .product-body{padding:3px 0}.menu-flow .product-body h3{min-height:0;margin:5px 0 7px;font-size:14px;line-height:1.25}.menu-flow .product-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:5px 0 8px;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.menu-flow .product-body>strong{color:var(--booking-accent);font-size:14px}.menu-flow .quantity-control{margin-top:9px}.menu-flow .quantity-control .add-button{color:#fff;background:var(--booking-accent);width:42px;min-width:42px;min-height:38px;padding:0}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:760px){main{padding:4px 16px calc(8px + env(safe-area-inset-bottom))}.topbar{padding-left:16px;padding-right:16px}.landing{min-height:auto;padding:12px 0 14px;display:block}.hero{padding:18px}h1{letter-spacing:-.065em;margin-top:13px;font-size:clamp(35px,9vw,46px);line-height:1.06}.hero>p{font-size:14px}.hero-actions{gap:8px;margin-top:16px}.hero-actions .button{width:100%}.info-grid{grid-template-columns:1fr;gap:10px;margin-top:18px}.info-card{grid-template-columns:auto 1fr;align-items:center;column-gap:12px;min-height:0;padding:16px;display:grid}.info-card .info-icon{grid-row:span 2}.info-card strong{align-self:end}.info-card span:last-child{align-self:start}.menu-filters{scrollbar-width:none;gap:8px;margin:0 0 10px;padding-bottom:2px;display:flex;overflow-x:auto}.menu-filters::-webkit-scrollbar{display:none}.menu-filters label{min-width:150px;color:var(--muted);flex:none;font-size:10px;font-weight:800;display:block}.menu-filters select{border-radius:14px;min-height:44px;padding:0 10px;font-size:12px}.product-grid{flex-direction:column;gap:10px;display:flex}.product-card{border-radius:24px;align-items:center;gap:12px;min-height:0;padding:10px;display:flex}.product-card img,.product-card .product-image{object-fit:cover;border-radius:18px;flex:0 0 88px;width:88px;min-width:88px;height:88px;min-height:88px}.product-body{flex:1;min-width:0;padding:2px 0}.menu-number{font-size:10px}.product-body h3{min-height:0;margin:4px 0 7px;font-size:14px;line-height:1.25}.product-description{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:5px 0 8px;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.product-body>strong{color:var(--booking-accent);font-size:15px}.quantity-control{gap:7px;min-height:38px;margin-top:9px}.quantity-control button{border-radius:11px;width:38px;height:38px}.quantity-control .add-button{color:#fff;background:var(--booking-accent);width:54px;min-width:54px;padding:0}.quantity-control b{min-width:24px}.calendar-card{padding:14px}.calendar-toolbar{margin-bottom:16px}.calendar-toolbar strong{font-size:15px}.weekday-row,.calendar-grid{gap:4px}.calendar-day,.calendar-empty{min-height:54px}.calendar-day{border-radius:13px}.calendar-day small{font-size:8px}.sticky-action{bottom:calc(8px + env(safe-area-inset-bottom));padding:24px 0 8px}.sticky-action .button{width:100%}.arrival-details{border-radius:20px;padding:17px}.arrival-fields{grid-template-columns:1fr;gap:18px}.arrival-time-field input{min-height:50px}.selection-panel{grid-template-columns:1fr}.selection-panel .stepper{grid-area:auto/1;justify-content:flex-start;max-width:none}.selection-panel .helper{grid-column:1}.success{margin:25px 0;padding:25px 18px}.success h1{font-size:36px}}@media(prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.app-update-overlay{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:app-update-fade .18s var(--ease-ios);background:#11182747;place-items:center;padding:20px;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.app-update-dialog{width:min(100%,390px);animation:app-update-rise .32s var(--ease-ios);background:#fffffff5;border:1px solid #fffc;border-radius:26px;padding:25px;box-shadow:0 28px 80px #0f172a33}.app-update-icon{color:#fff;background:var(--booking-accent);border-radius:16px;place-items:center;width:46px;height:46px;display:grid;box-shadow:0 10px 24px #1a5dc633}.app-update-eyebrow{color:var(--booking-accent);letter-spacing:.08em;text-transform:uppercase;margin:18px 0 7px;font-size:11px;font-weight:800}.app-update-dialog h2{color:var(--ink);letter-spacing:-.045em;margin:0;font-size:23px}.app-update-copy{margin:8px 0 18px;font-size:13px;line-height:1.55}.app-update-meta{border:1px solid var(--line);background:#fafcff;border-radius:16px;margin:0;padding:13px;font-size:12px}.app-update-meta div{justify-content:space-between;align-items:baseline;gap:16px;padding:5px 0;display:flex}.app-update-meta dt{color:var(--muted)}.app-update-meta dd{max-width:66%;color:var(--ink);text-align:right;overflow-wrap:anywhere;margin:0;font-weight:700}.app-update-actions{grid-template-columns:1fr 1.25fr;gap:9px;margin-top:18px;display:grid}.app-update-actions button{min-height:46px;transition:transform .18s var(--ease-ios);border-radius:14px;padding:0 13px;font-size:12px;font-weight:800}.app-update-actions button:active{transform:scale(.97)}.app-update-later{color:var(--ink);border:1px solid var(--line);background:#fff}.app-update-now{color:#fff;background:var(--booking-accent);justify-content:center;align-items:center;gap:7px;display:inline-flex}.app-update-spin{animation:.8s linear infinite spin}@keyframes app-update-fade{0%{opacity:0}to{opacity:1}}@keyframes app-update-rise{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}
