.page-header{--row-bar:44px;--row-progress:16px;--row-title:34px;--row-info:30px;--row-gap:12px;background:var(--navy);flex-shrink:0;padding:12px 20px 18px}.page-header__inner{grid-template-rows:var(--row-bar) var(--row-progress) var(--row-title) var(--row-info);row-gap:var(--row-gap);min-width:0;display:grid}.page-header__bar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:8px;min-width:0;display:grid}.page-header__start{align-items:center;display:flex}.page-header__icon{width:var(--tap-target);height:var(--tap-target);color:var(--on-navy);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.page-header__back{justify-content:flex-start;width:32px}.page-header__logo{width:auto;height:36px;display:block}.page-header__actions{justify-self:end;align-items:center;gap:6px;display:flex}.lang-toggle{min-width:44px;height:32px;color:var(--on-navy);font:inherit;font-size:var(--hint-size);cursor:pointer;background:0 0;border:1px solid #ffffff73;border-radius:999px;padding:0 12px;font-weight:700}.lang-toggle:hover{background:#ffffff1f}.page-header__progress{grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:12px;display:grid}.page-header__progress.is-empty{visibility:hidden}.page-header__step{font-size:var(--hint-size);color:var(--mist);white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}.page-header__bars{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.page-header__bars span{background:var(--progress-off);border-radius:2px;height:4px}.page-header__bars span.is-done{background:var(--on-navy)}.page-header__title{min-width:0;font-size:var(--title-size);line-height:var(--row-title);color:var(--on-navy);align-items:center;gap:10px;margin:0;font-weight:700;display:flex}.page-header__title-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.page-header__info{align-items:center;min-width:0;display:flex;overflow:hidden}.page-header__chips{scrollbar-width:none;gap:6px;min-width:0;max-width:100%;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.page-header__chips::-webkit-scrollbar{display:none}.page-header__chips li{height:28px;color:var(--on-navy);white-space:nowrap;background:#ffffff24;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:0 12px;font-size:13.5px;font-weight:600;display:inline-flex}.page-header__chips li.is-clinic{background:var(--on-navy);color:var(--navy);padding-left:9px;font-weight:700}.page-header__chips li.is-clinic svg{width:15px;height:15px}.page-header__points{min-width:0;font-size:clamp(11px, 3.4vw, var(--hint-size));color:var(--mist);white-space:nowrap;gap:clamp(6px,2.4vw,10px);margin:0;padding:0;font-weight:500;list-style:none;display:flex;overflow:hidden}.page-header__points li{align-items:center;gap:3px;display:flex}.page-header__points svg{width:13px;height:13px}.page-header__note{min-width:0;font-size:var(--helper-size);color:var(--on-navy);align-items:center;gap:8px;margin:0;font-weight:600;display:flex}.page-header__note svg{stroke:var(--mist);flex-shrink:0}.page-header__note span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.page-header__title-mark{background:var(--on-navy);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}@media (width>=768px){.page-header{--row-title:42px;--row-info:32px;--row-gap:16px;padding:20px 32px 28px}.page-header__inner{max-width:var(--desktop-content-width);margin:0 auto}.page-header__logo{height:40px}.page-header__title{font-size:var(--title-size-desktop)}.page-header__step,.page-header__points{font-size:var(--helper-size)}}.step-layout{background:var(--bg);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.step-layout__main{flex:1;min-height:0;padding:18px 16px 24px;overflow-y:auto}.step-layout__content{flex-direction:column;gap:10px;display:flex}.step-layout__footer{padding:12px 20px max(28px, env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);flex-shrink:0}.step-layout__footer-inner{flex-direction:column;gap:8px;display:flex}.primary-button{width:100%;height:var(--button-height);border-radius:var(--button-radius);background:var(--navy);color:var(--on-navy);font-size:var(--card-title-size);font-variant-numeric:tabular-nums;cursor:pointer;border:none;font-weight:600}.primary-button:disabled{background:var(--disabled);cursor:not-allowed}@media (width>=768px){.step-layout__main{padding:32px 32px 48px}.step-layout__content,.step-layout__footer-inner{max-width:var(--desktop-content-width);margin:0 auto}.step-layout__content{gap:14px}.step-layout__footer{padding:16px 32px}.step-layout__footer-inner{align-items:flex-end}.primary-button{width:var(--desktop-button-width)}}.step-layout__footer.is-plain{background:0 0;border-top:none;padding-top:14px}.step-layout__footer.is-plain .step-layout__footer-inner{gap:6px}.outline-button{width:100%;height:var(--button-height);border:1.5px solid var(--navy);border-radius:var(--button-radius);background:var(--surface);color:var(--navy);font-size:var(--card-title-size);cursor:pointer;font-weight:600}.text-button{width:100%;height:48px;font-size:var(--body-size);color:var(--navy-mid);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-weight:500;text-decoration:none;display:flex}.inline-error{font-size:var(--helper-size);color:var(--hold-ink);text-align:center;margin:0}@media (width>=768px){.step-layout__content.is-narrow,.step-layout__footer-inner.is-narrow{max-width:560px}.step-layout__footer-inner.is-narrow{align-items:stretch}.step-layout__footer-inner.is-narrow .primary-button{width:100%}.outline-button,.text-button{width:var(--desktop-button-width)}.step-layout__footer-inner.is-narrow .outline-button,.step-layout__footer-inner.is-narrow .text-button{width:100%}}.info-note{background:var(--info-bg);border-radius:14px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.info-note svg{margin-top:2px}.info-note span{font-size:var(--helper-size);color:var(--info-ink);line-height:1.6}.info-note--small span{font-size:var(--hint-size)}.confirmed-ref{font-size:var(--helper-size);color:var(--mist);align-items:baseline;gap:10px;margin:0;display:flex}.confirmed-ref strong{letter-spacing:1px;color:var(--on-navy);font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.confirmed{flex-direction:column;gap:14px;display:flex}.confirmed-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;flex-direction:column;gap:14px;padding:18px;display:flex;box-shadow:0 4px 16px #041f3e14}.confirmed-card__when,.confirmed-card__where{flex-direction:column;gap:2px;display:flex}.confirmed-card__date{color:var(--navy);font-variant-numeric:tabular-nums;font-size:21px;font-weight:700}.confirmed-card__what{font-size:var(--body-size);color:var(--ink-soft)}.confirmed-card__rule{background:#eef2f7;height:1px}.confirmed-card__clinic{font-size:var(--input-size);font-weight:700}.confirmed-card__address{font-size:var(--helper-size);color:var(--muted)}.confirmed-card__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.confirmed-card__actions a{background:var(--tint);height:48px;font-size:var(--body-size);color:var(--navy);border-radius:14px;justify-content:center;align-items:center;gap:6px;font-weight:600;text-decoration:none;display:flex}.confirmed__email{font-size:var(--hint-size);color:var(--muted);align-items:center;gap:6px;margin:0;padding:0 4px;display:flex}.alternatives{flex-direction:column;gap:20px;padding-top:2px;display:flex}.alternatives__group{flex-direction:column;gap:10px;display:flex}.alternatives__title{font-size:var(--helper-size);color:var(--ink-soft);margin:0;padding:0 4px;font-weight:600}.alternatives__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.alternatives__slot{border:1px solid var(--border-input);background:var(--surface);height:50px;font-size:var(--input-size);color:var(--navy);font-variant-numeric:tabular-nums;cursor:pointer;border-radius:14px;font-weight:600}.alternatives__slot:disabled{cursor:wait}.still-free{background:var(--surface);border:2px solid var(--navy);border-radius:20px;align-items:center;gap:14px;padding:18px;display:flex}.still-free__check{background:var(--navy);width:44px;height:44px;color:var(--on-navy);border-radius:22px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.still-free__text{flex-direction:column;gap:2px;display:flex}.still-free__title{color:var(--navy);font-size:18px;font-weight:700}.still-free__when{font-size:var(--helper-size);color:var(--ink-soft);font-variant-numeric:tabular-nums}@media (width>=768px){.alternatives__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.hold-countdown{background:var(--hold-bg);border-bottom:1px solid var(--hold-border);flex-shrink:0;padding:11px 20px}.hold-countdown__inner{color:var(--hold-ink);justify-content:space-between;align-items:center;gap:12px;display:flex}.hold-countdown__label{font-size:var(--helper-size);font-variant-numeric:tabular-nums;align-items:center;gap:8px;display:flex}.hold-countdown__time{font-size:var(--input-size);font-variant-numeric:tabular-nums;font-weight:600}@media (width>=768px){.hold-countdown{padding:12px 32px}.hold-countdown__inner{max-width:560px;margin:0 auto}}.tooth-loader{--size:30px;width:var(--size);flex-direction:column;flex-shrink:0;align-items:center;gap:1px;display:inline-flex}.tooth-loader--large{--size:60px;gap:3px}.tooth-loader__tooth{width:var(--size);height:var(--size);transform-origin:50% 100%;animation:1s ease-in-out infinite tooth-hop;overflow:visible}.tooth-loader__body{fill:var(--surface);stroke:var(--navy);stroke-width:3.5px;stroke-linejoin:round}.tooth-loader__eye{fill:var(--navy)}.tooth-loader__smile{fill:none;stroke:var(--navy);stroke-width:2.4px;stroke-linecap:round}.tooth-loader__shadow{width:60%;height:calc(var(--size) / 10);background:var(--border-input);border-radius:50%;animation:1s ease-in-out infinite tooth-shadow}@keyframes tooth-hop{0%,to{transform:translateY(0)scale(1.06,.94)}15%{transform:translateY(0)scale(1)}50%{transform:translateY(-22%)rotate(-6deg)}85%{transform:translateY(0)scale(1)}}@keyframes tooth-shadow{0%,to{opacity:1;transform:scaleX(1)}50%{opacity:.5;transform:scaleX(.6)}}@keyframes spin{to{transform:rotate(360deg)}}.loading-state{padding:8px 0}.loading-state__head{background:var(--info-bg);border-radius:var(--card-radius);color:var(--info-ink);font-size:var(--body-size);align-items:center;gap:12px;margin-bottom:12px;padding:14px 16px;font-weight:600;display:flex}.loading-state__text{animation:.4s fade-in}.loading-state__slow{font-size:var(--hint-size);color:var(--muted);margin:-4px 4px 12px}.loading-state__cards{gap:10px;display:grid}.skeleton-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--card-radius);align-items:center;gap:14px;min-height:64px;padding:13px 16px;display:flex}.skeleton-card__lines{flex:1;gap:8px;display:grid}.skeleton{background:linear-gradient(90deg, var(--tint) 0%, var(--bg) 50%, var(--tint) 100%);background-size:200% 100%;border-radius:8px;animation:1.4s ease-in-out infinite shimmer;display:block}.skeleton--badge{border-radius:50%;flex-shrink:0;width:40px;height:40px}.skeleton--line{width:70%;height:12px}.skeleton--short{width:40%}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes fade-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.busy-overlay{z-index:100;background:#041f3e73;justify-content:center;align-items:center;padding:16px;animation:.2s fade-in;display:flex;position:fixed;inset:0}.busy-card{background:var(--surface);text-align:center;border-radius:22px;flex-direction:column;align-items:center;width:100%;max-width:340px;padding:28px 22px 22px;display:flex;box-shadow:0 12px 40px #041f3e40}.busy-card__title{font-size:var(--card-title-size);color:var(--navy);margin:16px 0 4px;font-weight:700}.busy-steps{text-align:left;gap:10px;width:100%;margin:12px 0 0;padding:0;list-style:none;display:grid}.busy-steps__item{font-size:var(--helper-size);color:var(--disabled);align-items:center;gap:10px;transition:color .3s;display:flex}.busy-steps__item.is-done{color:var(--ink-soft)}.busy-steps__item.is-now{color:var(--ink);font-weight:600}.busy-steps__mark{border:2px solid var(--border-input);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.busy-steps__item.is-done .busy-steps__mark{border-color:var(--navy);background:var(--navy);color:var(--on-navy)}.busy-steps__item.is-now .busy-steps__mark{border-color:var(--tint);border-top-color:var(--navy);animation:.9s linear infinite spin}.busy-card__slow{font-size:var(--hint-size);color:var(--muted);margin:14px 0 0}.busy-card__warning{background:var(--hold-bg);border:1px solid var(--hold-border);width:100%;color:var(--hold-ink);font-size:var(--helper-size);border-radius:12px;margin:18px 0 0;padding:10px 12px;font-weight:600}@media (prefers-reduced-motion:reduce){.busy-steps__item.is-now .busy-steps__mark{animation-duration:2.4s}.tooth-loader__tooth,.tooth-loader__shadow,.skeleton,.loading-state__text,.busy-overlay{animation:none}}.privacy-layer{z-index:50;background:#041f3e73;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.privacy-sheet{background:var(--surface);border-radius:20px 20px 0 0;flex-direction:column;width:100%;max-width:560px;max-height:85vh;padding:22px 20px 16px;display:flex}.privacy-sheet__title{color:var(--navy);margin:0 0 12px;font-size:20px;font-weight:700}.privacy-sheet__body{min-height:0;font-size:var(--helper-size);color:var(--ink-soft);flex:1;line-height:1.7;overflow-y:auto}.privacy-sheet__body section+section{margin-top:12px}.privacy-sheet__body h3{font-size:var(--body-size);color:var(--ink);margin:0 0 2px;font-weight:700}.privacy-sheet__body p{margin:0}.privacy-sheet__close{height:var(--button-height);border-radius:var(--button-radius);background:var(--navy);color:var(--on-navy);font:inherit;font-size:var(--body-size);cursor:pointer;border:none;margin-top:16px;font-weight:700}@media (width>=768px){.privacy-layer{align-items:center}.privacy-sheet{border-radius:20px;padding:28px 28px 20px}}.review-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--card-shadow);border-radius:20px;overflow:hidden}.review-card__head{background:var(--tint);justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;display:flex}.review-card__when{flex-direction:column;gap:2px;display:flex}.review-card__date{color:var(--navy);font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.review-card__what{font-size:var(--helper-size);color:var(--ink-soft)}.review-card__change{height:var(--tap-target);border:1px solid var(--mist);background:var(--surface);font-size:var(--helper-size);color:var(--navy-mid);cursor:pointer;border-radius:22px;flex-shrink:0;padding:0 14px;font-weight:500}.review-card__body{padding:2px 16px 6px}.review-row{border-bottom:1px solid #eef2f7;justify-content:space-between;gap:16px;padding:11px 0;display:flex}.review-row__key{font-size:var(--helper-size);color:var(--muted);flex-shrink:0}.review-row__value{font-size:var(--body-size);text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-weight:500}.review-remarks{flex-direction:column;gap:4px;padding:11px 0 8px;display:flex}.review-remarks__text{font-size:var(--body-size);color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.consent{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:16px;align-items:flex-start;gap:12px;padding:14px;display:flex}.consent input{width:24px;height:24px;accent-color:var(--navy);flex-shrink:0;margin:1px 0 0}.consent span{font-size:var(--helper-size);color:var(--info-ink);line-height:1.65}.consent__link{font:inherit;color:var(--navy-mid);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.option-list{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}.option-card{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--card-radius);width:100%;box-shadow:var(--card-shadow);color:var(--ink);cursor:pointer;align-items:center;display:flex}.option-card--clinic{gap:14px;min-height:64px;padding:13px 14px 13px 16px}.option-card--treatment{gap:12px;min-height:68px;padding:14px 14px 14px 16px}.option-card--dentist{gap:14px;padding:14px 14px 14px 16px}.option-card.is-selected{background:var(--tint);border:2px solid var(--navy);padding:12px 13px 12px 15px}.option-card--clinic.is-selected{padding:12px 13px 12px 15px}.option-card__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.option-card__title{font-size:var(--card-title-size);font-weight:700}.option-card__subtitle{font-size:var(--helper-size);color:var(--muted)}.option-badge{background:var(--tint);color:var(--navy-mid);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.option-badge--40{width:40px;height:40px}.option-badge--52{width:52px;height:52px;font-size:19px}@media (width>=768px){.option-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}.clinic-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);overflow:hidden}.clinic-card.is-selected{background:var(--tint);border:2px solid var(--navy)}.clinic-card>.option-card,.clinic-card>.option-card.is-selected{box-shadow:none;background:0 0;border:none;border-radius:0;padding:13px 14px 13px 16px}.clinic-card.is-selected>.option-card{padding:12px 13px 12px 15px}.clinic-card.has-photo>.option-card,.clinic-card.has-photo>.option-card.is-selected{align-items:stretch;min-height:104px;padding:0 14px 0 0}.clinic-card.has-photo .option-card__text{justify-content:center;padding:12px 0}.clinic-card.has-photo .option-card>svg{align-self:center}.clinic-card__photo{background:var(--tint);flex:none;width:116px;overflow:hidden}.clinic-card__photo img{object-fit:cover;width:100%;height:100%;display:block}.clinic-card__contacts{border-top:1px solid var(--border);display:flex}.clinic-card__contact{white-space:nowrap;min-width:0;min-height:var(--tap-target);font-size:var(--helper-size);color:var(--navy-mid);flex:1;justify-content:center;align-items:center;gap:6px;font-weight:600;text-decoration:none;display:inline-flex}.clinic-card__contact+.clinic-card__contact{border-left:1px solid var(--border)}.clinic-card__contact:hover{background:var(--tint)}.region-filter{flex-wrap:wrap;gap:8px;margin:0 0 14px;display:flex}.region-filter__chip{border:1px solid var(--border-input);background:var(--surface);min-height:36px;color:var(--ink-soft);font:inherit;font-size:var(--helper-size);cursor:pointer;border-radius:18px;padding:0 16px;font-weight:600}.region-filter__chip.is-on{background:var(--navy);border-color:var(--navy);color:var(--on-navy)}.region-group+.region-group{margin-top:18px}.region-group__title{font-size:var(--helper-size);color:var(--muted);margin:0 4px 8px;font-weight:700}.clinic-help{background:var(--info-bg);border-radius:16px;flex-direction:column;gap:12px;margin-top:16px;padding:14px;display:flex}.clinic-help__where{font-size:var(--helper-size);color:var(--info-ink);flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.clinic-help__clinic{background:var(--navy);height:30px;color:var(--on-navy);font-size:var(--body-size);border-radius:999px;align-items:center;gap:5px;padding:0 12px 0 9px;font-weight:700;display:inline-flex}.clinic-help__clinic svg{width:15px;height:15px}.clinic-help__row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.clinic-help__text{flex-direction:column;flex:1;gap:2px;min-width:180px;display:flex}.clinic-help__title{font-size:var(--body-size);color:var(--navy);font-weight:600}.clinic-help__body{font-size:var(--helper-size);color:var(--info-ink)}.clinic-help__buttons{flex-wrap:wrap;flex-shrink:0;gap:8px;display:flex}.clinic-help__button{height:var(--tap-target);background:var(--navy);color:var(--on-navy);font-size:var(--helper-size);white-space:nowrap;border-radius:22px;flex-shrink:0;align-items:center;gap:6px;padding:0 16px;font-weight:600;text-decoration:none;display:flex}.clinic-help__button:hover{color:var(--on-navy)}.clinic-help__button--light,.clinic-help__button--light:hover{background:var(--surface);color:var(--navy-mid);border:1px solid var(--border-input)}.date-time{flex-direction:column;gap:14px;display:flex}.soonest{text-align:left;background:var(--surface);border:1px dashed var(--sky);cursor:pointer;color:var(--ink);border-radius:16px;align-items:center;gap:12px;padding:12px 14px;display:flex}.soonest__icon{background:var(--tint);width:36px;height:36px;color:var(--navy-mid);border-radius:18px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.soonest__text{flex-direction:column;flex:1;gap:1px;display:flex}.soonest__label{font-size:var(--hint-size);color:var(--muted)}.soonest__value{color:var(--navy);font-variant-numeric:tabular-nums;font-size:16px;font-weight:600}.week-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--card-shadow);border-radius:20px;flex-direction:column;gap:10px;padding:12px 10px 14px;display:flex}.week-card__bar{justify-content:space-between;align-items:center;padding:0 4px;display:flex}.week-card__month{color:var(--navy);font-size:16px;font-weight:700}.week-card__nav{align-items:center;gap:2px;display:flex}.week-card__nav button{width:var(--tap-target);height:var(--tap-target);color:var(--navy);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.week-card__nav button:disabled{color:var(--chevron);cursor:default}.month-card{padding:12px 6px 14px}.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid}@media (width<=400px){.month-card{margin:0 -8px}}.month-grid__weekday{text-align:center;color:var(--ink-soft);padding:2px 0 4px;font-size:12px}.month-grid{--sunday:#c62828;--sunday-pale:#e7a3a3}.month-grid__weekday--sun{color:var(--sunday);font-weight:700}.day{font-variant-numeric:tabular-nums;border:none;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;height:48px;display:flex}.day__number{font-size:18px;font-weight:600}.day--on{background:var(--tint);color:var(--navy);cursor:pointer}.day__dot{background:var(--navy-mid);border-radius:3px;width:5px;height:5px}.day--on.is-selected{background:var(--navy);color:var(--on-navy)}.day--on.is-selected .day__dot{background:var(--on-navy)}.day--off{color:var(--disabled)}.day--off .day__number{font-weight:500}.day--on.day--sun .day__number{color:var(--sunday)}.day--off.day--sun .day__number{color:var(--sunday-pale)}.day--on.is-selected.day--sun .day__number{color:var(--on-navy)}.day__label{min-height:5px;font-size:10px;line-height:5px}.day--blank{height:48px}.date-time__dentist{color:var(--navy-mid);font-weight:600}.slot-dentist+.slot-dentist{margin-top:16px}.slot-dentist__name{font-size:var(--body-size);color:var(--ink);align-items:center;gap:8px;margin:0 0 8px;font-weight:700;display:flex}.slot-dentist__badge{background:var(--tint);width:26px;height:26px;color:var(--navy-mid);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid}.date-time__columns{flex-direction:column;gap:14px;display:flex}.lead-time-note{background:var(--hold-bg);border:1px solid var(--hold-border);color:var(--hold-ink);font-size:var(--helper-size);border-radius:14px;align-items:flex-start;gap:10px;margin:0;padding:12px 14px;font-weight:500;line-height:1.55;display:flex}.lead-time-note svg{flex-shrink:0;margin-top:1px}.lead-time-note strong{font-weight:800}.date-time__slots{flex-direction:column;gap:14px;display:flex}.date-time__day{color:var(--navy);margin:0;padding:0 4px;font-size:16px;font-weight:700}.slot-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.slot{border:1px solid var(--border-input);background:var(--surface);height:48px;color:var(--navy);font-variant-numeric:tabular-nums;cursor:pointer;border-radius:14px;font-size:16px;font-weight:600}.slot.is-selected{border-color:var(--navy);background:var(--navy);color:var(--on-navy)}.hold-hint{font-size:var(--hint-size);color:var(--muted);justify-content:center;align-items:center;gap:6px;display:flex}@media (width>=768px){.date-time__columns{grid-template-columns:minmax(0,440px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.day,.day--blank{height:54px}.month-card{padding:12px 10px 14px}.month-grid{gap:4px}.slot-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.hold-hint{justify-content:flex-end}}.any-dentist{border:1px dashed var(--sky);border-radius:var(--card-radius);background:var(--surface);text-align:left;width:100%;font:inherit;color:var(--ink);cursor:pointer;align-items:center;gap:14px;margin-bottom:18px;padding:14px 16px;display:flex}.any-dentist.is-selected{border:2px solid var(--navy);background:var(--tint);padding:13px 15px}.any-dentist__icon{background:var(--tint);width:44px;height:44px;color:var(--navy-mid);border-radius:50%;flex:none;place-items:center;display:grid}.any-dentist__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.any-dentist__title{font-size:var(--card-title-size);font-weight:700}.any-dentist__sub{font-size:var(--helper-size);color:var(--muted)}.dentist-list__label{font-size:var(--helper-size);color:var(--muted);margin:0 4px 8px;font-weight:700}.details-form{flex-direction:column;gap:14px;padding:0 4px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field__label{font-size:var(--body-size);color:var(--info-ink);font-weight:500}.field__optional{color:var(--muted);font-weight:400}.field__hint{font-size:var(--hint-size);color:var(--muted)}.field__hint.is-error,.input.is-invalid+.field__hint{color:var(--hold-ink)}.field__counter{font-size:var(--hint-size);color:var(--muted);font-variant-numeric:tabular-nums;align-self:flex-end}.input{border:1px solid var(--border-input);background:var(--surface);width:100%;min-width:0;height:48px;font-family:inherit;font-size:var(--input-size);color:var(--ink);border-radius:12px;padding:0 14px}.input:focus{outline:2px solid var(--navy);outline-offset:-1px}.input.is-invalid{border-color:var(--hold-ink)}.input--area{resize:none;height:84px;padding:12px 14px;line-height:1.45}.salutations{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.salutation{border:1px solid var(--border-input);background:var(--surface);height:46px;font-size:var(--input-size);color:var(--ink);cursor:pointer;border-radius:12px}.salutation.is-selected{border-color:var(--navy);background:var(--navy);color:var(--on-navy);font-weight:600}.phone-row{gap:8px;display:flex}.phone-row__prefix{border:1px solid var(--border);background:var(--tint);height:48px;font-size:var(--input-size);color:var(--navy-mid);border-radius:12px;align-items:center;padding:0 14px;font-weight:500;display:flex}.phone-row .input{font-variant-numeric:tabular-nums;flex:1}.otp{flex-direction:column;gap:18px;padding:10px 4px 0;display:flex}.otp__sent{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.otp__icon{background:var(--tint);width:56px;height:56px;color:var(--navy-mid);border-radius:28px;justify-content:center;align-items:center;display:flex}.otp__sent-to{font-size:var(--body-size);color:var(--ink-soft);margin:0;line-height:1.6}.otp__number{color:var(--navy);font-variant-numeric:tabular-nums;align-items:center;gap:10px;font-size:19px;font-weight:600;display:flex}.otp__change{height:var(--tap-target);font-size:var(--helper-size);color:var(--navy-mid);cursor:pointer;background:0 0;border:none;padding:0 4px;font-weight:500;text-decoration:underline}.otp__input{border:2px solid var(--navy);background:var(--surface);letter-spacing:14px;text-align:center;width:100%;height:68px;color:var(--navy);font-variant-numeric:tabular-nums;border-radius:16px;padding:0 18px;font-family:inherit;font-size:32px;font-weight:600}.otp__input:focus{outline:2px solid var(--sky);outline-offset:1px}.otp__hint{text-align:center}.otp__dev{font-size:var(--hint-size);color:var(--muted);text-align:center}.otp__resend{font-size:var(--helper-size);color:var(--muted);justify-content:center;align-items:center;gap:6px;display:flex}.otp__resend button{height:var(--tap-target);font-size:var(--helper-size);color:var(--navy-mid);cursor:pointer;background:0 0;border:none;padding:0 4px;font-weight:500}.otp__resend button:disabled{color:var(--chevron);cursor:default;font-weight:400}.otp__privacy{background:var(--info-bg);font-size:var(--helper-size);color:var(--info-ink);border-radius:14px;margin:8px 0 0;padding:12px 14px;line-height:1.6}.treatment-search{border:1px solid var(--border-input);background:var(--surface);height:48px;color:var(--muted);border-radius:12px;align-items:center;gap:8px;margin-bottom:12px;padding:0 6px 0 14px;display:flex}.treatment-search:focus-within{outline:2px solid var(--navy);outline-offset:-1px}.treatment-search__input{min-width:0;height:100%;font-family:inherit;font-size:var(--input-size);color:var(--ink);background:0 0;border:none;outline:none;flex:1}.treatment-search__input::-webkit-search-cancel-button{display:none}.treatment-search__clear{min-height:36px;font:inherit;font-size:var(--helper-size);color:var(--navy-mid);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:none;padding:0 10px;font-weight:600}.treatment-search__empty{background:var(--surface);border:1px solid var(--border);font-size:var(--helper-size);color:var(--muted);border-radius:14px;flex-direction:column;gap:4px;margin-bottom:12px;padding:14px 16px;display:flex}.treatment-search__reach{color:var(--navy);margin-top:6px;font-weight:700}.treatment-search__contacts{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.contact-chip{min-height:var(--tap-target);border:1px solid var(--border-input);font-size:var(--helper-size);color:var(--navy-mid);background:var(--surface);border-radius:22px;align-items:center;gap:6px;padding:0 16px;font-weight:600;text-decoration:none;display:inline-flex}.contact-chip:hover{background:var(--tint)}.treatment-search__or{font-size:var(--helper-size);color:var(--muted);margin:4px 4px 8px;font-weight:600}.treatment-search__empty strong{font-size:var(--body-size);color:var(--ink)}@media (width>=768px){.treatment-search__empty{grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:24px;display:grid}.treatment-search__empty>strong{grid-area:1/1}.treatment-search__empty>span:not(.treatment-search__reach){grid-area:2/1}.treatment-search__reach{text-align:right;grid-area:1/2;margin-top:0}.treatment-search__contacts{grid-area:2/2;justify-content:flex-end;margin-top:4px}}.welcome{flex-direction:column;gap:16px;display:flex}.welcome__heading{color:var(--navy);margin:4px 4px 0;font-size:18px;font-weight:700}.welcome__steps{gap:10px;margin:0;padding:0;list-style:none;display:grid}.welcome__steps li{background:var(--surface);border:1px solid var(--border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);align-items:center;gap:14px;padding:14px 16px;display:flex}.welcome__num{background:var(--tint);width:36px;height:36px;color:var(--navy);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:17px;font-weight:700;display:inline-flex}.welcome__text{flex-direction:column;gap:2px;min-width:0;display:flex}.welcome__title{font-size:var(--card-title-size);color:var(--ink);font-weight:700}.welcome__body{font-size:var(--helper-size);color:var(--muted)}.welcome__notice span{line-height:1.7}.welcome__link{font:inherit;color:var(--navy);cursor:pointer;background:0 0;border:none;padding:0 2px;font-weight:700;text-decoration:underline}:root{--navy:#002e5d;--navy-mid:#093f7c;--sky:#709dd1;--mist:#a0c2e8;--progress-off:#1e4a78;--tint:#eaf1fa;--info-bg:#e4edf8;--info-ink:#1f3a5a;--bg:#f4f7fb;--surface:#fff;--border:#dde5ef;--border-input:#c9d8ea;--ink:#0f1e2e;--ink-soft:#3c5674;--muted:#5b6b7d;--chevron:#8798ab;--disabled:#b9c5d3;--hold-bg:#fdefe4;--hold-border:#f6cba9;--hold-ink:#8c3d0b;--on-navy:#fff;--font:"Work Sans", "Noto Sans TC", sans-serif;--title-size:26px;--title-size-compact:24px;--card-title-size:17px;--body-size:15px;--helper-size:14px;--hint-size:13px;--input-size:16px;--button-height:56px;--button-radius:16px;--card-radius:18px;--card-shadow:0 1px 2px #041f3e0d;--tap-target:44px;--desktop-breakpoint:768px;--desktop-content-width:960px;--desktop-button-width:360px;--title-size-desktop:32px}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}#root{height:100%}a{color:var(--navy-mid)}a:hover{color:var(--navy)}button{font-family:inherit}.status-message{text-align:center;font-size:var(--body-size);color:var(--muted);margin:0;padding:24px 4px}.status-message p{margin:0 0 12px}.status-message__retry{height:var(--tap-target);border:1px solid var(--border-input);background:var(--surface);color:var(--navy);font-size:var(--body-size);cursor:pointer;border-radius:22px;padding:0 20px;font-weight:600}.step-hint{font-size:var(--helper-size);color:var(--ink-soft);margin:0 4px 14px;line-height:1.6}
