body { background:var(--ch-canvas); color:var(--ch-ink); font-family:var(--ch-body-font); }
body .calendar_wrap,body .confirmation_page { background:var(--ch-canvas); min-height:100vh; height:auto; padding:24px 16px 48px; }
.ch-booking-header { display:flex; align-items:center; justify-content:space-between; gap:20px; max-width:1000px; margin:0 auto 28px; padding:20px 0; border-bottom:1px solid var(--ch-line); }
.ch-booking-header a { color:var(--ch-ink); text-decoration:none; font:600 15px/1.4 var(--ch-body-font); }
.ch-booking-header a:first-child { font:700 clamp(20px,4vw,28px)/1.15 var(--ch-heading-font); }
.ch-booking-header a:last-child { padding:12px 16px; border:1px solid var(--ch-line); border-radius:30px; }
body .fluent_booking_app,body .fcal_booking_inner,body .fcal_loading { background:var(--ch-surface); color:var(--ch-ink); }
body .fluent_booking_app { font-family:var(--ch-body-font); }
body .fluent_booking_app h1,body .fluent_booking_app h2,body .fluent_booking_app h3,body .fcal_booking_confirmed h2 { font-family:var(--ch-heading-font); color:var(--ch-ink); }
body .fluent_booking_app .fcal_form_item .fcal_input,body .fcal_cancellation_wrap textarea { background:var(--ch-surface); color:var(--ch-ink); border-color:var(--ch-line); font-family:var(--ch-body-font); }
body .fcal_cancellation_wrap { color:var(--ch-ink); }
body .fcal_cancellation_wrap .fcal_btn.fcal_btn_primary,body .fluent_booking_app .fcal_btn_submit { background:var(--ch-accent); border-color:var(--ch-accent); color:var(--ch-accent-text); }
body .confirmation_page .fcal_conf_wrap { max-width:760px; }
body .confirmation_page .ch-booking-header { margin-bottom:20px; padding:0 0 20px; }
body .confirmation_page .fcal_booking_confirmed { min-width:0; padding:20px 0; }
body .confirmation_page .fcal_confirm_header h2 { color:var(--ch-ink); font:700 24px/1.3 var(--ch-heading-font); }
/* Provider dark mode must not invert black calendar icons on our light buttons. */
body .confirmation_page .fcal_to_calendars .fcal_cal_items a { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; background:#fff; border-color:var(--ch-line); }
body .confirmation_page .fcal_to_calendars .fcal_cal_items a img { filter:none; }
body a:focus-visible,body button:focus-visible,body input:focus-visible,body select:focus-visible,body textarea:focus-visible { outline:3px solid var(--ch-accent); outline-offset:3px; }
@media(max-width:600px) {
  .ch-booking-header { align-items:flex-start; flex-direction:column; gap:14px; }
  body .calendar_wrap,body .confirmation_page { padding:16px 10px 30px; }
  body .confirmation_page .fcal_conf_wrap { padding:18px; }
}
