@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url('/assets/fonts/geist-variable.woff2') format('woff2')}
:root{--calendar-font:"DM Sans",Arial,sans-serif;--calendar-orange:#ff3b1f}
.flatpickr-calendar{width:340px;padding:14px;border:1px solid #dce0e3;border-radius:14px;box-shadow:0 18px 50px rgba(10,15,20,.18);font-family:var(--calendar-font)!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.flatpickr-calendar,.flatpickr-calendar *,.flatpickr-calendar button,.flatpickr-calendar input,.flatpickr-calendar select,.flatpickr-calendar option{font-family:var(--calendar-font)!important}
.flatpickr-months{margin-bottom:12px}.flatpickr-months .flatpickr-month,.flatpickr-current-month,.flatpickr-current-month .flatpickr-monthDropdown-months,.flatpickr-current-month input.cur-year{height:38px;color:#101419;font-size:15px!important;font-weight:650!important;line-height:1.2!important;letter-spacing:-.15px!important}
.flatpickr-current-month .flatpickr-monthDropdown-months{font-size:15px!important;font-weight:650!important}.flatpickr-current-month input.cur-year{font-size:15px!important;font-weight:650!important}
.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{top:12px;width:38px;height:38px;padding:11px;border-radius:50%}.flatpickr-months .flatpickr-prev-month:hover,.flatpickr-months .flatpickr-next-month:hover{background:#fff0e8}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:var(--calendar-orange)}
.flatpickr-weekdays,.flatpickr-days,.dayContainer{width:310px;min-width:310px;max-width:310px}span.flatpickr-weekday{color:#626d77;font-size:11px!important;font-weight:600!important;line-height:1!important;letter-spacing:.2px!important;text-transform:none!important}
.flatpickr-day{max-width:44px;height:40px;line-height:40px!important;border-radius:9px;font-size:13px!important;font-weight:500!important;letter-spacing:0!important;font-variant-numeric:tabular-nums!important}.flatpickr-day:hover,.flatpickr-day:focus{background:#fff0e8;border-color:#fff0e8}.flatpickr-day.today{border-color:var(--calendar-orange)}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected:hover{background:var(--calendar-orange);border-color:var(--calendar-orange);box-shadow:none;font-weight:650!important}
.flatpickr-time{height:48px;max-height:48px;margin-top:12px;border-top:1px solid #e3e6e8}.flatpickr-time input,.flatpickr-time .flatpickr-am-pm{font-size:14px!important;font-weight:550!important;font-variant-numeric:tabular-nums!important}.flatpickr-input[readonly]{cursor:pointer}
.flatpickr-input,.flatpickr-input[readonly],input.flatpickr-input.form-control,input.form-control.input,input[type='date'],input[type='datetime-local'],input[type='time']{font-family:var(--calendar-font)!important;font-size:15px!important;font-weight:500!important;line-height:1.4!important;letter-spacing:0!important;font-variant-numeric:tabular-nums!important}
input[type='date']::-webkit-datetime-edit,input[type='datetime-local']::-webkit-datetime-edit,input[type='time']::-webkit-datetime-edit,input[type='date']::-webkit-datetime-edit-fields-wrapper,input[type='datetime-local']::-webkit-datetime-edit-fields-wrapper,input[type='time']::-webkit-datetime-edit-fields-wrapper,input[type='date']::-webkit-datetime-edit-text,input[type='date']::-webkit-datetime-edit-month-field,input[type='date']::-webkit-datetime-edit-day-field,input[type='date']::-webkit-datetime-edit-year-field,input[type='time']::-webkit-datetime-edit-hour-field,input[type='time']::-webkit-datetime-edit-minute-field,input[type='time']::-webkit-datetime-edit-ampm-field{font:inherit!important;color:inherit!important;letter-spacing:0!important}
@media(max-width:420px){.flatpickr-calendar{width:calc(100vw - 24px);padding:10px}.flatpickr-weekdays,.flatpickr-days,.dayContainer{width:calc(100vw - 44px);min-width:calc(100vw - 44px);max-width:calc(100vw - 44px)}.flatpickr-day{max-width:calc((100vw - 44px)/7);font-size:13px!important}.flatpickr-current-month,.flatpickr-current-month .flatpickr-monthDropdown-months,.flatpickr-current-month input.cur-year{font-size:14px!important}span.flatpickr-weekday{font-size:10px!important}}


/* Client dashboard calendar typography: match the dashboard UI. */
body.customer-dashboard-active{
  --client-calendar-font:"DM Sans",Arial,sans-serif;
}
body.customer-dashboard-active .flatpickr-calendar,
body.customer-dashboard-active .flatpickr-calendar *,
body.customer-dashboard-active .flatpickr-calendar button,
body.customer-dashboard-active .flatpickr-calendar input,
body.customer-dashboard-active .flatpickr-calendar select,
body.customer-dashboard-active .flatpickr-calendar option,
body.customer-dashboard-active input[type="date"],
body.customer-dashboard-active input[type="datetime-local"],
body.customer-dashboard-active input[type="time"]{
  font-family:var(--client-calendar-font)!important;
  font-style:normal!important;
  letter-spacing:0!important;
}
body.customer-dashboard-active .flatpickr-current-month,
body.customer-dashboard-active .flatpickr-current-month .flatpickr-monthDropdown-months,
body.customer-dashboard-active .flatpickr-current-month input.cur-year{
  font-family:var(--client-calendar-font)!important;
  font-size:15px!important;
  font-weight:700!important;
  line-height:1.2!important;
}
body.customer-dashboard-active span.flatpickr-weekday{
  font-family:var(--client-calendar-font)!important;
  font-size:11px!important;
  font-weight:700!important;
}
body.customer-dashboard-active .flatpickr-day{
  font-family:var(--client-calendar-font)!important;
  font-size:13px!important;
  font-weight:600!important;
  font-variant-numeric:tabular-nums!important;
}
body.customer-dashboard-active .flatpickr-time input,
body.customer-dashboard-active .flatpickr-time .flatpickr-am-pm{
  font-family:var(--client-calendar-font)!important;
  font-size:14px!important;
  font-weight:600!important;
}
body.customer-dashboard-active input[type="date"]::-webkit-datetime-edit,
body.customer-dashboard-active input[type="datetime-local"]::-webkit-datetime-edit,
body.customer-dashboard-active input[type="time"]::-webkit-datetime-edit,
body.customer-dashboard-active input[type="date"]::-webkit-datetime-edit-fields-wrapper,
body.customer-dashboard-active input[type="datetime-local"]::-webkit-datetime-edit-fields-wrapper,
body.customer-dashboard-active input[type="time"]::-webkit-datetime-edit-fields-wrapper,
body.customer-dashboard-active input[type="date"]::-webkit-datetime-edit-text,
body.customer-dashboard-active input[type="date"]::-webkit-datetime-edit-month-field,
body.customer-dashboard-active input[type="date"]::-webkit-datetime-edit-day-field,
body.customer-dashboard-active input[type="date"]::-webkit-datetime-edit-year-field,
body.customer-dashboard-active input[type="time"]::-webkit-datetime-edit-hour-field,
body.customer-dashboard-active input[type="time"]::-webkit-datetime-edit-minute-field,
body.customer-dashboard-active input[type="time"]::-webkit-datetime-edit-ampm-field{
  font-family:var(--client-calendar-font)!important;
  font-size:14px!important;
  font-weight:600!important;
  font-variant-numeric:tabular-nums!important;
}


/* Enforce one font across every calendar instance and date control. */
.flatpickr-calendar,
.flatpickr-calendar *,
.flatpickr-calendar button,
.flatpickr-calendar input,
.flatpickr-calendar select,
.flatpickr-calendar option,
.flatpickr-current-month,
.flatpickr-current-month span,
.flatpickr-current-month input,
span.flatpickr-weekday,
.flatpickr-day,
.flatpickr-time,
.flatpickr-time input,
.flatpickr-time .flatpickr-am-pm,
input.flatpickr-input,
input[type="date"],
input[type="datetime-local"],
input[type="time"]{
  font-family:"DM Sans",Arial,sans-serif!important;
}

/* Final font normalization for every Flatpickr popup — 2026-09-03 */
.flatpickr-calendar,.flatpickr-calendar *,.flatpickr-calendar button,.flatpickr-calendar input,.flatpickr-calendar select,.flatpickr-calendar option{font-family:"DM Sans",Arial,sans-serif!important;letter-spacing:0!important}.flatpickr-current-month,.flatpickr-current-month .flatpickr-monthDropdown-months,.flatpickr-current-month input.cur-year{font-family:Manrope,"DM Sans",Arial,sans-serif!important;font-size:17px!important;font-weight:800!important;line-height:1.3!important}.flatpickr-weekday,span.flatpickr-weekday{font-size:13px!important;font-weight:800!important;line-height:1.35!important}.flatpickr-day{font-size:15px!important;font-weight:650!important;line-height:40px!important}.flatpickr-time,.flatpickr-time input,.flatpickr-time .flatpickr-am-pm{font-size:15px!important;font-weight:650!important}.flatpickr-monthDropdown-month,.numInputWrapper span{font-family:"DM Sans",Arial,sans-serif!important}@media(max-width:420px){.flatpickr-current-month,.flatpickr-current-month .flatpickr-monthDropdown-months,.flatpickr-current-month input.cur-year{font-size:16px!important}.flatpickr-weekday,span.flatpickr-weekday{font-size:12px!important}.flatpickr-day,.flatpickr-time,.flatpickr-time input,.flatpickr-time .flatpickr-am-pm{font-size:15px!important}}

/* All Flatpickr popups stay inside the mobile viewport, including early-open instances. */
@media(max-width:820px){
 html,body{max-width:100%;overflow-x:clip}
 body .flatpickr-calendar.open{
   box-sizing:border-box!important;
   position:fixed!important;
   left:50%!important;
   top:50%!important;
   right:auto!important;
   bottom:auto!important;
   transform:translate(-50%,-50%)!important;
   width:min(340px,calc(100vw - 24px))!important;
   max-width:calc(100vw - 24px)!important;
   max-height:calc(100dvh - 32px)!important;
   overflow-y:auto!important;
   overflow-x:hidden!important;
   z-index:12020!important;
 }
 body .flatpickr-calendar.open:before,
 body .flatpickr-calendar.open:after{display:none!important}
 body .flatpickr-calendar.open .flatpickr-innerContainer,
 body .flatpickr-calendar.open .flatpickr-rContainer,
 body .flatpickr-calendar.open .flatpickr-days,
 body .flatpickr-calendar.open .dayContainer,
 body .flatpickr-calendar.open .flatpickr-weekdays{
   width:100%!important;
   min-width:0!important;
   max-width:100%!important;
 }
 body .flatpickr-calendar.open .flatpickr-day{max-width:14.2857%!important}
}
