:root{--colors-primary-50:#f0f2ff;--colors-primary-100:#e0e4ff;--colors-primary-200:#c7ceff;--colors-primary-300:#9da8ff;--colors-primary-400:#6b73ff;--colors-primary-500:#4338ca;--colors-primary-600:#3730a3;--colors-primary-700:#312e81;--colors-primary-800:#1e1b4b;--colors-primary-900:#0f0e26;--colors-secondary-50:#fff3ec;--colors-secondary-100:#ffe3d3;--colors-secondary-200:#ffc4a4;--colors-secondary-300:#ff9b68;--colors-secondary-400:#ff6022;--colors-secondary-500:#f05a28;--colors-secondary-600:#d93806;--colors-secondary-700:#b32505;--colors-secondary-800:#8f210c;--colors-secondary-900:#741f0e;--colors-accent-50:#fefce8;--colors-accent-100:#fef9c3;--colors-accent-200:#fef08a;--colors-accent-300:#fde047;--colors-accent-400:#facc15;--colors-accent-500:#eab308;--colors-accent-600:#ca8a04;--colors-accent-700:#a16207;--colors-accent-800:#854d0e;--colors-accent-900:#713f12;--colors-neutral-0:#fff;--colors-neutral-50:#f9fafb;--colors-neutral-100:#f3f4f6;--colors-neutral-200:#e5e7eb;--colors-neutral-300:#d1d5db;--colors-neutral-400:#9ca3af;--colors-neutral-500:#6b7280;--colors-neutral-600:#4b5563;--colors-neutral-700:#374151;--colors-neutral-800:#1f2937;--colors-neutral-900:#111827;--colors-success-50:#f0fdf4;--colors-success-500:#00c853;--colors-success-700:#15803d;--colors-warning-50:#fffbeb;--colors-warning-500:#ff9100;--colors-warning-700:#b45309;--colors-danger-50:#fff1f2;--colors-danger-500:#ff1744;--colors-danger-700:#be123c;--spacing-3xs:.125rem;--spacing-2xs:.25rem;--spacing-xs:.375rem;--spacing-sm:.5rem;--spacing-md:.75rem;--spacing-lg:1rem;--spacing-xl:1.25rem;--spacing-2xl:1.5rem;--spacing-3xl:2rem;--spacing-4xl:2.5rem;--spacing-5xl:3rem;--font-size-2xs:.625rem;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-none:1;--line-height-tight:1.25;--line-height-snug:1.4;--line-height-normal:1.5;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--shadow-sm:0 1px 3px #0000001a;--shadow-md:0 4px 20px #4338ca26;--shadow-card:0 4px 16px #0000000f;--shadow-panel:0 4px 20px #0000000a;--ease-out:cubic-bezier(.16, 1, .3, 1);--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;min-height:100dvh}img{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}ol,ul{padding:0;list-style:none}[hidden]{display:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{font-family:var(--font-sans);font-size:var(--font-size-md);color:var(--colors-neutral-900);background:var(--colors-neutral-50)}h1,h2,h3{line-height:var(--line-height-tight);font-weight:var(--font-weight-semibold);text-wrap:balance}.text-muted{font-size:var(--font-size-sm);color:var(--colors-neutral-500)}p{text-wrap:pretty}::selection{background:var(--colors-primary-100);color:var(--colors-primary-800)}#app{width:100%;padding:var(--spacing-2xl) var(--spacing-4xl) var(--spacing-5xl);margin:0 auto}@media (width<=640px){#app{padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-4xl)}}.header{z-index:100;width:100%;padding:var(--spacing-md) var(--spacing-2xl);background:color-mix(in srgb, var(--colors-neutral-0) 92%, transparent);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--colors-neutral-200);box-shadow:var(--shadow-sm);position:sticky;top:0}.header__container{justify-content:space-between;align-items:center;gap:var(--spacing-xl);display:flex}.header__logo{flex-shrink:0;align-items:center;display:flex}.header__logo img{object-fit:contain;width:auto;height:38px;transition:transform .2s}.header__logo:active img{transform:scale(.96)}.header__title-group{text-align:right;flex-direction:column;align-items:flex-end;display:flex}.header__title{font-size:clamp(var(--font-size-md), 2.5vw, var(--font-size-xl));font-weight:var(--font-weight-bold);color:var(--colors-neutral-900);line-height:var(--line-height-tight);letter-spacing:-.02em}.header__title-br{display:inline}.header__subtitle{margin-top:var(--spacing-2xs);padding:var(--spacing-3xs) var(--spacing-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.02em;white-space:nowrap;color:var(--colors-primary-500);background:var(--colors-primary-50);border:1px solid var(--colors-primary-100);border-radius:var(--radius-sm);align-items:center;display:inline-flex}@media (width<=768px){.header{padding:var(--spacing-md) var(--spacing-lg)}.header__container{gap:var(--spacing-md)}.header__logo img{height:30px}.header__title{font-size:var(--font-size-md)}.header__subtitle{margin-top:var(--spacing-3xs);padding:var(--spacing-3xs) var(--spacing-xs)}}@media (width<=499px){.header__logo img{height:24px}.header__title{font-size:var(--font-size-sm);line-height:var(--line-height-tight)}.header__title-br{display:block}.header__subtitle{padding:0 var(--spacing-2xs);font-size:var(--font-size-2xs)}}@media (width<=320px){.header__logo img{height:20px}.header__title{font-size:var(--font-size-xs)}.header__subtitle{display:none}}.material-symbols-outlined{font-size:1.25rem;line-height:var(--line-height-none);font-variation-settings:"FILL" 0, "wght" 400;-webkit-user-select:none;user-select:none;flex-shrink:0}.btn{justify-content:center;align-items:center;gap:var(--spacing-sm);min-width:8rem;height:2.875rem;padding:0 var(--spacing-2xl);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-none);letter-spacing:.01em;white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;color:var(--colors-neutral-0);background-image:linear-gradient(135deg, var(--colors-primary-500), var(--colors-primary-600), var(--colors-primary-700));box-shadow:0 2px 8px color-mix(in srgb, var(--colors-primary-500) 25%, transparent), inset 0 1px 0 color-mix(in srgb, var(--colors-neutral-0) 15%, transparent);transition:background-position .3s var(--ease-out), background-color .2s var(--ease-out), border-color .2s var(--ease-out), box-shadow .2s var(--ease-out), transform .15s var(--ease-out), opacity .2s ease;background-position:0 0;background-size:200% 200%;border:1px solid #0000;display:inline-flex;position:relative}.btn:hover:not(:disabled){box-shadow:0 4px 14px color-mix(in srgb, var(--colors-primary-500) 35%, transparent), inset 0 1px 0 color-mix(in srgb, var(--colors-neutral-0) 20%, transparent);background-position:100% 100%;transform:translateY(-1px)}.btn:active:not(:disabled){box-shadow:0 1px 4px color-mix(in srgb, var(--colors-primary-500) 20%, transparent);transform:translateY(0)scale(.98)}.btn:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--colors-primary-500) 25%, transparent), 0 2px 8px color-mix(in srgb, var(--colors-primary-500) 20%, transparent);outline:none}.btn:disabled{background:var(--colors-neutral-200);color:var(--colors-neutral-400);box-shadow:none;opacity:.75;cursor:not-allowed;border-color:#0000;transform:none}.btn--ghost{color:var(--colors-neutral-700);box-shadow:none;background:0 0}.btn--ghost:hover:not(:disabled){background:var(--colors-neutral-100);color:var(--colors-neutral-900);box-shadow:none;transform:none}.btn--ghost:active:not(:disabled){background:var(--colors-neutral-200);transform:scale(.98)}.btn--ghost:disabled{background:0 0}.btn--secondary{background:var(--colors-primary-50);color:var(--colors-primary-600);border-color:var(--colors-primary-100);box-shadow:none}.btn--secondary:hover:not(:disabled){background:var(--colors-primary-100);color:var(--colors-primary-700);border-color:var(--colors-primary-200);box-shadow:0 2px 8px color-mix(in srgb, var(--colors-primary-500) 8%, transparent)}.btn--outline{background:var(--colors-neutral-0);color:var(--colors-neutral-800);border-color:var(--colors-neutral-300);box-shadow:0 1px 2px color-mix(in srgb, var(--colors-neutral-900) 4%, transparent)}.btn--outline:hover:not(:disabled){background:var(--colors-neutral-50);color:var(--colors-neutral-900);border-color:var(--colors-neutral-400);box-shadow:0 2px 6px color-mix(in srgb, var(--colors-neutral-900) 6%, transparent)}.btn--full{width:100%}@media (width<=499px){.btn{padding:var(--spacing-md) var(--spacing-2xl)}}.stepper{--dot:2rem;margin-bottom:var(--spacing-2xl)}.stepper__list{display:flex}.stepper__item{align-items:center;gap:var(--spacing-xs);flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.stepper__dot{z-index:1;width:var(--dot);height:var(--dot);background:var(--colors-neutral-0);border:2px solid var(--colors-neutral-300);color:var(--colors-neutral-400);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:50%;place-items:center;transition:background .25s,border-color .25s,color .25s,box-shadow .25s;display:grid;position:relative}.stepper__num,.stepper__check{grid-area:1/1}.stepper__num{transition:opacity .15s var(--ease-out), transform .15s var(--ease-out)}.stepper__check{font-size:var(--font-size-sm);font-variation-settings:"wght" 600;opacity:0;transition:opacity .15s var(--ease-out)}.stepper__label{max-width:100%;font-weight:var(--font-weight-medium);color:var(--colors-neutral-400);white-space:nowrap;text-overflow:ellipsis;transition:color .25s;overflow:hidden}.stepper__line{top:calc(var(--dot) / 2 - 1px);left:calc(50% + var(--dot) / 2 + var(--spacing-xs));right:calc(-50% + var(--dot) / 2 + var(--spacing-xs));background:var(--colors-neutral-200);border-radius:999px;height:2px;position:absolute;overflow:hidden}.stepper__line-fill{background:var(--colors-primary-500);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.stepper__item[data-state=active] .stepper__dot{border-color:var(--colors-primary-500);color:var(--colors-primary-500);box-shadow:0 0 0 4px var(--colors-primary-100)}.stepper__item[data-state=active] .stepper__label{color:var(--colors-neutral-900);font-weight:var(--font-weight-semibold)}.stepper__item[data-state=done] .stepper__dot{background:var(--colors-primary-500);border-color:var(--colors-primary-500);color:var(--colors-neutral-0)}.stepper__item[data-state=done] .stepper__label{color:var(--colors-neutral-600)}.stepper__item[data-state=done] .stepper__num{opacity:0;transform:scale(.5)}.stepper__item[data-state=done] .stepper__check{opacity:1;visibility:visible}@media (width<=499px){.stepper{--dot:1.75rem}}.step{gap:var(--spacing-lg);flex-direction:column;display:flex}.step__header{gap:var(--spacing-2xs);flex-direction:column;display:flex}.step__title{font-size:var(--font-size-lg)}.step__desc{font-size:var(--font-size-sm);color:var(--colors-neutral-500)}.step__empty,.step__error{align-items:center;gap:var(--spacing-md);padding:var(--spacing-3xl) var(--spacing-lg);text-align:center;font-size:var(--font-size-sm);color:var(--colors-neutral-500);border:1.5px dashed var(--colors-neutral-200);border-radius:var(--radius-lg);flex-direction:column;grid-column:1/-1;display:flex}.step__error p{color:var(--colors-danger-700)}.step__actions{justify-content:flex-end;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-sm);width:100%;display:flex}.step__actions .btn{flex:1}@media (width<=499px){.step__actions{margin-top:var(--spacing-2xl)}.step__actions .btn{height:2.75rem}}.chip-grid{gap:var(--spacing-sm);grid-template-columns:repeat(auto-fill,minmax(130px,1fr));display:grid}.chip{height:2.5rem;padding:0 var(--spacing-md);background:var(--colors-neutral-50);border:1px solid var(--colors-neutral-200);border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--colors-neutral-800);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background .2s var(--ease-out), border-color .2s var(--ease-out), color .2s var(--ease-out), transform .15s var(--ease-out), box-shadow .2s var(--ease-out);justify-content:center;align-items:center;display:inline-flex}.chip:hover:not(:disabled,.is-selected){background:var(--colors-primary-50);border-color:var(--colors-primary-200);color:var(--colors-primary-600)}.chip:active:not(:disabled){transform:scale(.96)}.chip:focus-visible{outline:2px solid var(--colors-primary-500);outline-offset:2px}.chip:disabled{background:var(--colors-neutral-100);opacity:.35;cursor:not-allowed;border-color:#0000;text-decoration:line-through}.chip.is-selected{background:linear-gradient(135deg, var(--colors-primary-500), var(--colors-primary-600));color:var(--colors-neutral-0);box-shadow:0 3px 10px color-mix(in srgb, var(--colors-primary-500) 30%, transparent);border-color:#0000}.chip.is-original:disabled{opacity:1;background:var(--colors-neutral-0);border:1.5px dashed var(--colors-neutral-400);color:var(--colors-neutral-500);text-decoration:none}@media (width<=499px){.chip-grid{grid-template-columns:repeat(auto-fill,minmax(6rem,1fr))}.chip{height:2.375rem;padding:0 var(--spacing-xs)}}.field{gap:var(--spacing-xs);flex-direction:column;display:flex}.field--full{grid-column:1/-1}.field__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--colors-neutral-800)}.field__optional{font-weight:var(--font-weight-regular);color:var(--colors-neutral-400)}.field__required{margin-left:var(--spacing-3xs);color:var(--colors-danger-500)}.field__input{width:100%;height:2.875rem;padding:0 var(--spacing-md);background:var(--colors-neutral-0);border:1.5px solid var(--colors-neutral-200);border-radius:var(--radius-md);font-size:var(--font-size-md);color:var(--colors-neutral-900);transition:border-color .15s var(--ease-out), box-shadow .15s var(--ease-out)}.field__input::placeholder{color:var(--colors-neutral-400)}.field__input:hover:not(:focus){border-color:var(--colors-neutral-300)}.field__input:focus{border-color:var(--colors-primary-500);box-shadow:0 0 0 3px color-mix(in srgb, var(--colors-primary-500) 15%, transparent);outline:none}.field textarea.field__input{height:auto;min-height:6rem;padding:var(--spacing-md);line-height:var(--line-height-snug);resize:vertical}.field__error{font-size:var(--font-size-xs);color:var(--colors-danger-700)}.field__error:empty{display:none}.field.has-error .field__input{border-color:var(--colors-danger-500)}.field.has-error .field__input:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--colors-danger-500) 15%, transparent)}.field--consent{margin-top:var(--spacing-xl)}.field--consent .consent{align-items:flex-start;gap:var(--spacing-sm);font-size:var(--font-size-sm);line-height:var(--line-height-snug);color:var(--colors-neutral-700);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}.field--consent .consent__input{opacity:0;width:1px;height:1px;position:absolute}.field--consent .consent__box{background:var(--colors-neutral-0);border:1.5px solid var(--colors-neutral-300);border-radius:var(--radius-sm);width:1.25rem;height:1.25rem;color:var(--colors-neutral-0);transition:background .15s var(--ease-out), border-color .15s var(--ease-out), box-shadow .15s var(--ease-out);flex-shrink:0;place-items:center;margin-top:1px;display:grid}.field--consent .consent__box .material-symbols-outlined{font-variation-settings:"wght" 700;opacity:0;transition:opacity .15s var(--ease-out), transform .2s var(--ease-out);font-size:1rem;transform:scale(.5)}.field--consent .consent:hover .consent__box{border-color:var(--colors-primary-400)}.field--consent .consent .consent__input:checked+.consent__box{background:var(--colors-primary-500);border-color:var(--colors-primary-500)}.field--consent .consent .consent__input:checked+.consent__box .material-symbols-outlined{opacity:1;transform:none}.field--consent .consent .consent__input:focus-visible+.consent__box{box-shadow:0 0 0 3px color-mix(in srgb, var(--colors-primary-500) 20%, transparent)}.field--consent.has-error .consent__box{border-color:var(--colors-danger-500)}.skeleton{background:var(--colors-neutral-100);animation:1.2s ease-in-out infinite skeleton-pulse}.skeleton--title,.skeleton--text,.skeleton--label{border-radius:var(--radius-sm);display:block}.skeleton--title{width:70%;height:var(--font-size-md)}.skeleton--text{width:90%;height:var(--font-size-xs)}.skeleton--label{width:4.5rem;height:var(--font-size-xs)}@keyframes skeleton-pulse{50%{opacity:.5}}.grecaptcha-badge{visibility:hidden}.recaptcha-notice{margin-top:var(--spacing-2xl);font-size:var(--font-size-xs);line-height:var(--line-height-snug);text-align:center;color:var(--colors-neutral-400)}.recaptcha-notice a{color:inherit;text-decoration:underline}.recaptcha-notice a:hover{color:var(--colors-neutral-600)}#context{margin-bottom:var(--spacing-xl)}.original-booking{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--colors-warning-50);border:1px solid color-mix(in srgb, var(--colors-warning-500) 25%, transparent);border-radius:var(--radius-lg);display:flex}.original-booking>.material-symbols-outlined{color:var(--colors-warning-700)}.original-booking__body{min-width:0}.original-booking__label{font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--colors-warning-700)}.original-booking__value{margin-top:var(--spacing-3xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--colors-neutral-900)}.location-list{gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));width:100%;max-width:1440px;margin:0 auto;display:grid}@media (width<=499px){.location-list{gap:var(--spacing-md);grid-template-columns:1fr}}.location-card{text-align:left;background:var(--colors-neutral-0);border:1.5px solid var(--colors-neutral-200);border-radius:var(--radius-lg);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;flex-direction:column;width:100%;transition:border-color .25s,box-shadow .25s,background-color .25s;display:flex;position:relative;overflow:hidden}.location-card:hover{border-color:var(--colors-primary-300);box-shadow:var(--shadow-card)}.location-card:hover .location-card__media img{transform:scale(1.04)}.location-card:focus-visible{outline:2px solid var(--colors-primary-500);outline-offset:2px}.location-card__media{aspect-ratio:16/9;background:var(--colors-neutral-100);width:100%;position:relative;overflow:hidden}.location-card__media img{object-fit:cover;width:100%;height:100%;transition:transform .4s cubic-bezier(.16,1,.3,1)}.location-card__check{top:var(--spacing-md);right:var(--spacing-md);z-index:2;background:var(--colors-primary-500);width:1.75rem;height:1.75rem;color:var(--colors-neutral-0);box-shadow:0 2px 8px color-mix(in srgb, var(--colors-primary-500) 35%, transparent);opacity:0;will-change:transform, opacity;border-radius:50%;place-items:center;display:grid;position:absolute;transform:scale(.4)rotate(-20deg)}.location-card__check .material-symbols-outlined{font-size:var(--font-size-md);font-variation-settings:"wght" 600}.location-card__body{gap:var(--spacing-2xs);padding:var(--spacing-md) var(--spacing-lg);flex-direction:column;flex:1;display:flex}.location-card__title{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--colors-neutral-900)}.location-card__address{font-size:var(--font-size-sm);line-height:var(--line-height-snug);color:var(--colors-neutral-500)}.location-card.is-selected{border:2px solid var(--colors-primary-500);background-color:color-mix(in srgb, var(--colors-primary-500) 2%, var(--colors-neutral-0));box-shadow:0 0 0 3px color-mix(in srgb, var(--colors-primary-500) 12%, transparent), 0 4px 12px color-mix(in srgb, var(--colors-primary-500) 8%, transparent)}.location-card.is-selected .location-card__title{color:var(--colors-primary-700)}.location-card.is-selected .location-card__check{opacity:1;transform:none}.location-card.is-loading{pointer-events:none}@media (width<=499px){.location-card{padding:var(--spacing-sm);flex-direction:row;align-items:center}.location-card__media{aspect-ratio:1;border-radius:var(--radius-sm);flex-shrink:0;width:108px;height:108px}.location-card__body{padding:0 var(--spacing-md);justify-content:center}.location-card__title{font-size:var(--font-size-sm)}.location-card__address{font-size:var(--font-size-xs);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.location-card__check{top:var(--spacing-sm);right:var(--spacing-sm);width:1.5rem;height:1.5rem}.location-card__check .material-symbols-outlined{font-size:var(--font-size-sm)}}@media (width<=399px){.location-card__media{width:72px;height:72px}}.schedule{gap:var(--spacing-2xl);grid-template-columns:1fr;align-items:start;width:100%;margin:0 auto;display:grid}@media (width>=769px){.schedule{gap:var(--spacing-3xl);grid-template-columns:minmax(320px,1fr) minmax(0,580px)}}.calendar{width:100%;padding:var(--spacing-2xl) var(--spacing-4xl) var(--spacing-3xl);background:var(--colors-neutral-0);border:1.5px solid var(--colors-neutral-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-panel)}.calendar__header{margin-bottom:var(--spacing-2xl);padding:0 var(--spacing-2xs);justify-content:space-between;align-items:center;display:flex}.calendar__month{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:-.02em;color:var(--colors-neutral-900)}.calendar__nav{border:1px solid var(--colors-neutral-200);background:var(--colors-neutral-0);width:2.5rem;height:2.5rem;color:var(--colors-neutral-700);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background .2s var(--ease-out), border-color .2s var(--ease-out), transform .15s var(--ease-out);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.calendar__nav:hover:not(:disabled){background:var(--colors-neutral-100);border-color:var(--colors-neutral-300);transform:scale(1.08)}.calendar__nav:active:not(:disabled){transform:scale(.95)}.calendar__nav:focus-visible{outline:2px solid var(--colors-primary-500);outline-offset:2px}.calendar__nav:disabled{opacity:.25;cursor:not-allowed;border-color:#0000}.calendar__nav .material-symbols-outlined{font-size:var(--font-size-lg)}.calendar__weekdays,.calendar__grid{gap:var(--spacing-sm);grid-template-columns:repeat(7,1fr);display:grid}.calendar__weekdays{margin-bottom:var(--spacing-md)}.calendar__weekdays span{padding:var(--spacing-sm) 0;text-align:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:.05em;text-transform:uppercase;color:var(--colors-neutral-400)}.calendar__grid.is-loading{pointer-events:none}.calendar__grid.is-loading .calendar__day:disabled{color:var(--colors-neutral-800);cursor:wait}.calendar__day{aspect-ratio:1;width:100%;padding:var(--spacing-2xs);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;color:var(--colors-neutral-800);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background .2s var(--ease-out), color .2s var(--ease-out), transform .15s var(--ease-out), box-shadow .2s var(--ease-out);border-radius:50%;place-items:center;display:grid;position:relative}.calendar__day:hover:not(:disabled,.is-selected){background:var(--colors-primary-50);color:var(--colors-primary-600);transform:scale(1.1)}.calendar__day:focus-visible{outline:2px solid var(--colors-primary-500);outline-offset:2px}.calendar__day:disabled{color:var(--colors-neutral-300);cursor:not-allowed}.calendar__day.is-today{color:var(--colors-primary-600);font-weight:var(--font-weight-bold);background:var(--colors-primary-50)}.calendar__day.is-today:after{content:"";background:var(--colors-primary-500);border-radius:50%;width:5px;height:5px;position:absolute;bottom:12%}.calendar__day.is-today:disabled{color:var(--colors-neutral-300);font-weight:var(--font-weight-semibold);background:0 0}.calendar__day.is-today:disabled:after{background:var(--colors-neutral-300)}.calendar__day.is-selected{background:linear-gradient(135deg, var(--colors-primary-500), var(--colors-primary-600));color:var(--colors-neutral-0);font-weight:var(--font-weight-bold);box-shadow:0 6px 16px color-mix(in srgb, var(--colors-primary-500) 35%, transparent);transform:scale(1.05)}.calendar__day.is-selected:after{background:var(--colors-neutral-0)}.calendar__day.is-original:not(.is-selected){outline:1.5px dashed var(--colors-neutral-400);outline-offset:-3px}.slots{width:100%;min-height:380px;padding:var(--spacing-2xl);background:var(--colors-neutral-0);border:1.5px solid var(--colors-neutral-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-panel);flex-direction:column;scroll-margin-top:6rem;display:flex}.slots__header{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--colors-neutral-100)}.slots__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--colors-neutral-900)}.slots__date{margin-top:var(--spacing-2xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--colors-primary-600)}.slots__body{gap:var(--spacing-xl);flex-direction:column;flex:1;display:flex}.slots__group{gap:var(--spacing-sm);flex-direction:column;display:flex}.slots__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.05em;text-transform:uppercase;color:var(--colors-neutral-400)}.slots__empty{align-items:center;gap:var(--spacing-md);padding:var(--spacing-3xl) var(--spacing-lg);text-align:center;font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--colors-neutral-400);flex-direction:column;margin:auto;display:flex}.slots__placeholder{border-radius:var(--radius-md);height:2.5rem}.slots__loading{gap:var(--spacing-xl);flex-direction:column;display:flex}.slots__notice{margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--colors-warning-700);background:var(--colors-warning-50);border-radius:var(--radius-md)}@media (width<=499px){.schedule{gap:var(--spacing-lg)}.calendar,.slots{padding:var(--spacing-lg) var(--spacing-md);border-radius:var(--radius-lg);min-height:auto}.calendar__header{margin-bottom:var(--spacing-md)}.calendar__month{font-size:var(--font-size-md)}.calendar__nav{width:2rem;height:2rem}.calendar__nav .material-symbols-outlined{font-size:var(--font-size-md)}.calendar__weekdays,.calendar__grid{gap:var(--spacing-2xs)}.calendar__weekdays span{padding:var(--spacing-2xs) 0;font-size:var(--font-size-2xs)}.calendar__day{font-size:var(--font-size-sm)}}.details{gap:var(--spacing-2xl);flex-direction:column;width:100%;margin:0 auto;display:flex}.booking-summary{justify-content:space-between;align-items:center;gap:var(--spacing-2xl);padding:var(--spacing-xl) var(--spacing-2xl);background:var(--colors-neutral-0);border:1.5px solid var(--colors-neutral-200);border-left:4px solid var(--colors-primary-500);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);transition:border-color .25s var(--ease-out), box-shadow .25s var(--ease-out);display:flex;position:relative}.booking-summary:hover{border-color:var(--colors-neutral-300);border-left-color:var(--colors-primary-600);box-shadow:var(--shadow-card)}.booking-summary__content{align-items:center;gap:var(--spacing-3xl);flex:1;min-width:0;display:flex}.booking-summary__item{align-items:center;gap:var(--spacing-md);min-width:0;display:flex}.booking-summary__item .material-symbols-outlined{padding:var(--spacing-sm);border-radius:var(--radius-md);background:var(--colors-primary-50);color:var(--colors-primary-600)}.booking-summary__item>div{min-width:0}.booking-summary__label{font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--colors-neutral-400)}.booking-summary__value{margin-top:var(--spacing-3xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--colors-neutral-900);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.booking-summary__divider{background:var(--colors-neutral-200);flex-shrink:0;width:1px;height:2rem}.booking-summary__change{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);border:1px solid var(--colors-neutral-200);border-radius:var(--radius-md);background:var(--colors-neutral-0);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--colors-neutral-700);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background .2s var(--ease-out), border-color .2s var(--ease-out), color .2s var(--ease-out), transform .15s var(--ease-out);flex-shrink:0;display:inline-flex}.booking-summary__change .material-symbols-outlined{color:var(--colors-neutral-500);transition:color .2s var(--ease-out);font-size:1rem}.booking-summary__change:hover{background:var(--colors-primary-50);border-color:var(--colors-primary-200);color:var(--colors-primary-700)}.booking-summary__change:hover .material-symbols-outlined{color:var(--colors-primary-600)}.booking-summary__change:active{transform:scale(.96)}.booking-summary__change:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--colors-primary-500) 20%, transparent);outline:none}@media (width<=640px){.booking-summary{align-items:stretch;gap:var(--spacing-lg);padding:var(--spacing-lg) var(--spacing-xl);border-left-width:1.5px;border-top:3.5px solid var(--colors-primary-500);flex-direction:column}.booking-summary__content{gap:var(--spacing-md) var(--spacing-lg);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.booking-summary__item:first-child{padding-bottom:var(--spacing-md);border-bottom:1px solid var(--colors-neutral-100);grid-column:1/-1}.booking-summary__divider{display:none}.booking-summary__change{width:100%;padding:var(--spacing-sm);justify-content:center}}.details-form{padding:var(--spacing-3xl);background:var(--colors-neutral-0);border:1.5px solid var(--colors-neutral-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-panel)}.details-form__grid{gap:var(--spacing-xl) var(--spacing-2xl);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width<=640px){.details-form__grid{gap:var(--spacing-lg);grid-template-columns:1fr}}.details-form .step__actions{justify-content:space-between;gap:var(--spacing-lg);margin-top:var(--spacing-3xl);padding-top:var(--spacing-2xl);border-top:1px solid var(--colors-neutral-100)}@media (width<=499px){.details-form .step__actions{margin-top:var(--spacing-2xl);padding-top:var(--spacing-lg)}.details-form .step__actions .btn{flex:1}.details-form{padding:var(--spacing-xl) var(--spacing-lg);border-radius:var(--radius-lg)}}.form-error{align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-xl);padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--colors-danger-700);background:var(--colors-danger-50);border:1px solid color-mix(in srgb, var(--colors-danger-500) 25%, transparent);border-radius:var(--radius-md);box-shadow:0 2px 8px color-mix(in srgb, var(--colors-danger-500) 6%, transparent);display:flex}.form-error .material-symbols-outlined{color:var(--colors-danger-500);font-size:1.125rem}.done{align-items:center;gap:var(--spacing-2xl);width:100%;max-width:560px;padding:var(--spacing-3xl) var(--spacing-2xl);text-align:center;background:var(--colors-neutral-0);border:1.5px solid var(--colors-neutral-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-panel);flex-direction:column;margin:0 auto;display:flex}.done__icon{background:var(--colors-success-50);width:4rem;height:4rem;color:var(--colors-success-700);box-shadow:0 0 0 8px color-mix(in srgb, var(--colors-success-500) 8%, transparent);border-radius:100%;place-items:center;display:grid;position:relative}.done__icon .material-symbols-outlined{font-variation-settings:"wght" 600;font-size:2.25rem}.done__header{gap:var(--spacing-xs);flex-direction:column;display:flex}.done__title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:-.02em}.done__desc{font-size:var(--font-size-sm);line-height:var(--line-height-snug);color:var(--colors-neutral-500)}.done__ref{justify-content:space-between;align-items:center;gap:var(--spacing-lg);width:100%;padding:var(--spacing-md) var(--spacing-lg);text-align:left;background:var(--colors-primary-50);border:1.5px dashed var(--colors-primary-200);border-radius:var(--radius-lg);display:flex}.done__ref-label{font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--colors-neutral-500)}.done__ref-code{margin-top:var(--spacing-3xs);font-family:var(--font-mono);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:.04em;color:var(--colors-primary-700);-webkit-user-select:all;user-select:all}.done__copy{border-radius:var(--radius-md);width:2.5rem;height:2.5rem;color:var(--colors-primary-600);transition:background .2s var(--ease-out), color .2s var(--ease-out);flex-shrink:0;place-items:center;display:grid}.done__copy .material-symbols-outlined{font-size:1.25rem}.done__copy:hover{background:var(--colors-primary-100)}.done__copy:focus-visible{outline:2px solid var(--colors-primary-500);outline-offset:2px}.done__copy.is-copied{background:var(--colors-success-50);color:var(--colors-success-700)}.done__copy.is-copied .material-symbols-outlined{font-variation-settings:"wght" 600}.done__list{text-align:left;border-top:1px solid var(--colors-neutral-100);width:100%}.done__row{justify-content:space-between;gap:var(--spacing-lg);padding:var(--spacing-md) 0;border-bottom:1px solid var(--colors-neutral-100);display:flex}.done__row dt{font-size:var(--font-size-sm);color:var(--colors-neutral-500);font-weight:var(--font-weight-semibold);flex-shrink:0}.done__row dd{text-align:right;min-width:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--colors-neutral-900);overflow-wrap:anywhere}.done__row.is-muted dd{font-weight:var(--font-weight-medium);color:var(--colors-neutral-400);text-decoration:line-through}.done__sub{margin-top:var(--spacing-3xs);font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);color:var(--colors-neutral-500);padding-left:var(--spacing-xl);display:block}.done__actions{gap:var(--spacing-md);width:100%;display:flex}.done__actions .btn{flex:1}.done__actions a{text-decoration:none}.done__actions .material-symbols-outlined{font-size:1.125rem}.ripple{border:2px solid var(--colors-success-500);pointer-events:none;border-radius:100%;position:absolute;inset:0}@media (width<=499px){.done{padding:var(--spacing-2xl) var(--spacing-lg);border-radius:var(--radius-lg)}.done__title{font-size:var(--font-size-xl)}.done__ref-code{font-size:var(--font-size-lg)}.done__actions{flex-direction:column}}.reschedule-compare{align-items:stretch;gap:var(--spacing-lg);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.reschedule-compare__side{padding:var(--spacing-xl);border-radius:var(--radius-lg);background:var(--colors-neutral-0);border:1.5px solid var(--colors-neutral-200)}.reschedule-compare__side.is-original{background:var(--colors-neutral-50);color:var(--colors-neutral-500)}.reschedule-compare__side.is-new{border-color:var(--colors-primary-500);box-shadow:0 0 0 3px color-mix(in srgb, var(--colors-primary-500) 12%, transparent)}.reschedule-compare__col{gap:var(--spacing-md);flex-direction:column;display:flex}.reschedule-compare__title{font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--colors-neutral-400)}.reschedule-compare__row{align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);display:flex}.reschedule-compare__row .material-symbols-outlined{color:var(--colors-neutral-400);font-size:1.125rem}.reschedule-compare__row.is-changed{font-weight:var(--font-weight-bold);color:var(--colors-primary-700)}.reschedule-compare__row.is-changed .material-symbols-outlined{color:var(--colors-primary-500)}.reschedule-compare__arrow{color:var(--colors-neutral-400);align-self:center}@media (width<=640px){.reschedule-compare{gap:var(--spacing-sm);grid-template-columns:1fr}.reschedule-compare__arrow{justify-self:center;transform:rotate(90deg)}}
