/* Hospitals modal flatpickr layout */
.flatpickr-wrapper {
  display: block !important;
  width: 100% !important;
}

/* altInput: hide the original bound input (do not force display:block on all .flatpickr-input) */
input.flatpickr-input.crm-travel-datetime {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

input.flatpickr-alt-input.form-control {
  display: block !important;
  width: 100% !important;
}

/* ─── Flatpickr Styling (Matched to booking global.css) ─── */
/* Dark mode calendar shell and glow */
[data-bs-theme="dark"] .flatpickr-calendar{border:1px solid rgba(255,255,255,.05); box-shadow:0 0 12px 2px rgba(0,183,255,.35),0 0 25px 3px rgba(150,66,255,.2); background:linear-gradient(145deg,#1a1a1a,#2b2b2b); border-radius:.75rem; overflow:hidden; color:#f0f4f8}
[data-bs-theme="dark"] .flatpickr-innerContainer,
[data-bs-theme="dark"] .flatpickr-days,
[data-bs-theme="dark"] .flatpickr-days .dayContainer { background: transparent !important; }
[data-bs-theme="dark"] .flatpickr-day{background:transparent;border:none;color:#f0f4f8}
[data-bs-theme="dark"] .flatpickr-day.disabled,
[data-bs-theme="dark"] .flatpickr-day.flatpickr-disabled { 
  color: rgba(240,244,248,.28) !important; 
  cursor: not-allowed !important; 
  background-image: repeating-linear-gradient(-45deg, rgba(255,255,255,.05) 0 2px, transparent 2px 6px) !important; 
  border-radius: 6px !important;
}
[data-bs-theme="dark"] .flatpickr-day.prevMonthDay,
[data-bs-theme="dark"] .flatpickr-day.nextMonthDay { 
  color: rgba(240,244,248,.45) !important; 
  background: none !important;
}
[data-bs-theme="dark"] .flatpickr-day.prevMonthDay { 
  color: rgba(240,244,248,.45) !important; 
  background: none !important;
}
[data-bs-theme="dark"] .flatpickr-day.nextMonthDay:hover,
[data-bs-theme="dark"] .flatpickr-day.prevMonthDay:hover { background: none !important; }
[data-bs-theme="dark"] .flatpickr-day.prevMonthDay.disabled,
[data-bs-theme="dark"] .flatpickr-day.nextMonthDay.disabled,
[data-bs-theme="dark"] .flatpickr-day.prevMonthDay.flatpickr-disabled,
[data-bs-theme="dark"] .flatpickr-day.nextMonthDay.flatpickr-disabled {
  color: rgba(240,244,248,.28) !important;
  background-image: repeating-linear-gradient(-45deg, rgba(255,255,255,.05) 0 2px, transparent 2px 6px) !important;
  background-color: transparent !important;
  border-radius: 6px !important;
  cursor: not-allowed !important;
}
[data-bs-theme="dark"] .flatpickr-day.prevMonthDay.disabled:hover,
[data-bs-theme="dark"] .flatpickr-day.nextMonthDay.disabled:hover,
[data-bs-theme="dark"] .flatpickr-day.prevMonthDay.flatpickr-disabled:hover,
[data-bs-theme="dark"] .flatpickr-day.nextMonthDay.flatpickr-disabled:hover {
  background-image: repeating-linear-gradient(-45deg, rgba(255,255,255,.05) 0 2px, transparent 2px 6px) !important;
  background-color: transparent !important;
}
[data-bs-theme="dark"] .flatpickr-day.disabled:hover,
[data-bs-theme="dark"] .flatpickr-day.flatpickr-disabled:hover { 
  background-image: repeating-linear-gradient(-45deg, rgba(255,255,255,.05) 0 2px, transparent 2px 6px) !important; 
  background-color: transparent !important;
}
[data-bs-theme="dark"] .flatpickr-day:hover,[data-bs-theme="dark"] .flatpickr-day:focus{background:#1e90ff!important;color:#fff!important;border-color:#1e90ff!important}
[data-bs-theme="dark"] .flatpickr-day.selected,[data-bs-theme="dark"] .flatpickr-day.selected:hover{background:#00d4ff!important;color:#000!important;border-color:#00d4ff!important}
[data-bs-theme="dark"] .flatpickr-day.today{border-color:#00d4ff;background:rgba(0,212,255,.1)}
[data-bs-theme="dark"] .flatpickr-time{ background:#121e28 !important; border-top:1px solid rgba(255,255,255,.12) !important; }
[data-bs-theme="dark"] .flatpickr-time .numInputWrapper { background: transparent !important; }
[data-bs-theme="dark"] .flatpickr-months .flatpickr-month{color:#fff;font-weight:600;background:linear-gradient(135deg,#0d6efd,#3a86ff); box-shadow:0 0 10px rgba(0,123,255,.15)}
[data-bs-theme="dark"] .flatpickr-prev-month,[data-bs-theme="dark"] .flatpickr-next-month{color:#fff!important}
[data-bs-theme="dark"] .flatpickr-prev-month svg,[data-bs-theme="dark"] .flatpickr-next-month svg{fill:#fff!important}
[data-bs-theme="dark"] .flatpickr-current-month input.cur-year{color:#fff!important;background:transparent!important;border:none!important}
[data-bs-theme="dark"] .flatpickr-monthDropdown-months{background:transparent!important;color:#fff!important;border:none!important;border-radius:0!important;box-shadow:none!important;appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important}
[data-bs-theme="dark"] .flatpickr-monthDropdown-months:focus{outline:none!important;border:none!important;box-shadow:none!important}
[data-bs-theme="dark"] .flatpickr-weekdays{background:linear-gradient(135deg,#0d6efd,#3a86ff)!important;border:none!important;box-shadow:none!important}
[data-bs-theme="dark"] .flatpickr-weekday{background:transparent!important;color:#fff!important; font-weight:bold; padding:.5rem 0!important; margin:0!important; border:none!important}
[data-bs-theme="dark"] .flatpickr-time input{background-color:#0d6efd;color:#fff;border:1px solid rgba(13,110,253,.3);border-radius:5px;padding:4px 6px;text-align:center; box-shadow:inset 0 0 4px rgba(13,110,253,.4)}
[data-bs-theme="dark"] .flatpickr-time input:focus{outline:none; box-shadow:0 0 6px #00bfff, inset 0 0 4px #00bfff}
[data-bs-theme="dark"] .flatpickr-time .flatpickr-am-pm{
  background-color:#0d6efd !important;
  color:#fff !important;
  border:1px solid rgba(13,110,253,.3) !important;
  border-radius:5px !important;
  padding:4px 6px !important;
  text-align:center;
  box-shadow:inset 0 0 4px rgba(13,110,253,.4);
  font-weight:600;
}
[data-bs-theme="dark"] .flatpickr-time .flatpickr-am-pm:hover,
[data-bs-theme="dark"] .flatpickr-time .flatpickr-am-pm:focus{
  background-color:#0d6efd !important;
  color:#fff !important;
  outline:none;
  box-shadow:0 0 6px #00bfff, inset 0 0 4px #00bfff;
}
.flatpickr-calendar.open{z-index:999999!important}

/* Light mode parity with booking */
[data-bs-theme="light"] .flatpickr-calendar{ border:1px solid rgba(0,0,0,.08) !important; border-radius:.75rem !important; box-shadow:0 10px 30px rgba(0,0,0,.08) !important; background:#fff !important; overflow:hidden; }
[data-bs-theme="light"] .flatpickr-innerContainer,
[data-bs-theme="light"] .flatpickr-days,
[data-bs-theme="light"] .flatpickr-days .dayContainer{ background:#ffffff !important; }
[data-bs-theme="light"] .flatpickr-months .flatpickr-month{ color:#0e2433; font-weight:600; background:linear-gradient(135deg,#0d6efd,#3a86ff) !important; box-shadow:0 0 10px rgba(13,110,253,.15); }
[data-bs-theme="light"] .flatpickr-weekdays{ background:linear-gradient(135deg,#0d6efd,#3a86ff) !important; }
[data-bs-theme="light"] .flatpickr-weekday{ color:#fff !important; font-weight:600; background:transparent !important; box-shadow:none !important; border:none !important; }
[data-bs-theme="light"] .flatpickr-weekdays .flatpickr-weekdaycontainer{ background:transparent !important; box-shadow:none !important; border:none !important; }
[data-bs-theme="light"] .flatpickr-day{ color:#0e2433; }
[data-bs-theme="light"] .flatpickr-day.disabled,
[data-bs-theme="light"] .flatpickr-day.flatpickr-disabled { 
  color: rgba(14,36,51,.32) !important; 
  cursor: not-allowed !important; 
  background-image: repeating-linear-gradient(-45deg, rgba(0,0,0,.05) 0 2px, transparent 2px 6px) !important; 
  border-radius: 6px !important;
}
[data-bs-theme="light"] .flatpickr-day.prevMonthDay,
[data-bs-theme="light"] .flatpickr-day.nextMonthDay { 
  color: rgba(14,36,51,.5) !important; 
  background: none !important;
}
[data-bs-theme="light"] .flatpickr-day.prevMonthDay { 
  color: rgba(14,36,51,.5) !important; 
  background: none !important;
}
[data-bs-theme="light"] .flatpickr-day.nextMonthDay:hover,
[data-bs-theme="light"] .flatpickr-day.prevMonthDay:hover { background: none !important; }
[data-bs-theme="light"] .flatpickr-day.prevMonthDay.disabled,
[data-bs-theme="light"] .flatpickr-day.nextMonthDay.disabled,
[data-bs-theme="light"] .flatpickr-day.prevMonthDay.flatpickr-disabled,
[data-bs-theme="light"] .flatpickr-day.nextMonthDay.flatpickr-disabled {
  color: rgba(14,36,51,.32) !important;
  background-image: repeating-linear-gradient(-45deg, rgba(0,0,0,.05) 0 2px, transparent 2px 6px) !important;
  background-color: transparent !important;
  border-radius: 6px !important;
  cursor: not-allowed !important;
}
[data-bs-theme="light"] .flatpickr-day.prevMonthDay.disabled:hover,
[data-bs-theme="light"] .flatpickr-day.nextMonthDay.disabled:hover,
[data-bs-theme="light"] .flatpickr-day.prevMonthDay.flatpickr-disabled:hover,
[data-bs-theme="light"] .flatpickr-day.nextMonthDay.flatpickr-disabled:hover {
  background-image: repeating-linear-gradient(-45deg, rgba(0,0,0,.05) 0 2px, transparent 2px 6px) !important;
  background-color: transparent !important;
}
[data-bs-theme="light"] .flatpickr-day.disabled:hover,
[data-bs-theme="light"] .flatpickr-day.flatpickr-disabled:hover { 
  background-image: repeating-linear-gradient(-45deg, rgba(0,0,0,.05) 0 2px, transparent 2px 6px) !important; 
  background-color: transparent !important;
}
[data-bs-theme="light"] .flatpickr-day:hover,[data-bs-theme="light"] .flatpickr-day:focus{ background:#1e90ff !important; color:#fff !important; border-color:#1e90ff !important; }
[data-bs-theme="light"] .flatpickr-day.selected,[data-bs-theme="light"] .flatpickr-day.selected:hover{ background:#0d6efd !important; color:#fff !important; border-color:#0d6efd !important; }
[data-bs-theme="light"] .flatpickr-day.today{ border-color:#0d6efd; background:rgba(13,110,253,.08); }
[data-bs-theme="light"] .flatpickr-time{ background:#f6faff !important; border-top:1px solid rgba(13,110,253,.2) !important; }
[data-bs-theme="light"] .flatpickr-time input{ background:#0d6efd; color:#fff; border:1px solid rgba(13,110,253,.3); border-radius:5px; padding:4px 6px; text-align:center; box-shadow:inset 0 0 4px rgba(13,110,253,.25); }
[data-bs-theme="light"] .flatpickr-time input:focus{ outline:none; box-shadow:0 0 6px rgba(13,110,253,.45), inset 0 0 4px rgba(13,110,253,.3); }
[data-bs-theme="light"] .flatpickr-time .flatpickr-am-pm{
  background-color:#0d6efd !important;
  color:#fff !important;
  border:1px solid rgba(13,110,253,.3) !important;
  border-radius:5px !important;
  padding:4px 6px !important;
  text-align:center;
  box-shadow:inset 0 0 4px rgba(13,110,253,.25);
  font-weight:600;
}
[data-bs-theme="light"] .flatpickr-time .flatpickr-am-pm:hover,
[data-bs-theme="light"] .flatpickr-time .flatpickr-am-pm:focus{
  background-color:#0d6efd !important;
  color:#fff !important;
  outline:none;
  box-shadow:0 0 6px rgba(13,110,253,.45), inset 0 0 4px rgba(13,110,253,.3);
}

/* Light: remove border around month dropdown and year input */
[data-bs-theme="light"] .flatpickr-current-month input.cur-year{ background:transparent !important; border:none !important; color:#fff !important; }
[data-bs-theme="light"] .flatpickr-monthDropdown-months{ background:transparent !important; border:none !important; box-shadow:none !important; appearance:none !important; -webkit-appearance:none !important; -moz-appearance:none !important; color:#fff !important; }

/* Dark mode: ensure flatpickr input fields match */
[data-bs-theme="dark"] .flatpickr-current-month .cur-month,
[data-bs-theme="light"] .flatpickr-current-month .cur-month{
  background: transparent !important;
  color: #fff !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Month header container transparent in both themes */
[data-bs-theme="dark"] .flatpickr-current-month,
[data-bs-theme="light"] .flatpickr-current-month{
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Month dropdown option lists themed */
[data-bs-theme="dark"] .flatpickr-monthDropdown-months option{ background:#08151d !important; color:#e7eef7 !important; }
[data-bs-theme="dark"] .flatpickr-monthDropdown-months option:checked{ background-color: rgba(13,110,253,.35) !important; color:#fff !important; }
[data-bs-theme="light"] .flatpickr-monthDropdown-months option{ background:#ffffff !important; color:#0e2433 !important; }

/* Reduce OS highlight variance on hover/selected in dark mode */
[data-bs-theme="dark"] .flatpickr-monthDropdown-months option:hover,
[data-bs-theme="dark"] .flatpickr-monthDropdown-months option:focus{
  background-color:#0b1a23 !important;
  color:#e7eef7 !important;
}

/* Remove focus glow/border on the month select in both themes */
[data-bs-theme="light"] .flatpickr-monthDropdown-months:focus{ outline:none !important; border:none !important; box-shadow:none !important; background: transparent !important; }
[data-bs-theme="dark"] .flatpickr-monthDropdown-months:focus{ background: transparent !important; }

/* Academy: do not restyle bound flatpickr inputs (was #08151d — made /apply DOB blacker than .bg-slate-950). */

.crm-treatment-travel-block > .crm-travel-accordion.crm-travel-calendar-open {
  z-index: 40;
}

/* Edit patient modal — date fields same size as other form-control inputs */
#editPatientModalBody .patient-field > .flatpickr-wrapper {
  display: block;
  width: 100%;
}

#editPatientModalBody .patient-field .flatpickr-wrapper > input.flatpickr-input:not(.input),
#editPatientModalBody .patient-field .flatpickr-wrapper > .flatpickr-mobile-input {
  display: none !important;
}

#editPatientModalBody .patient-field input.form-control,
#editPatientModalBody .patient-field select.form-control,
#editPatientModalBody .patient-field select.form-select,
#editPatientModalBody .patient-field .flatpickr-wrapper input.form-control.input,
#editPatientModalBody .patient-field .flatpickr-wrapper input.form-control.flatpickr-input[readonly] {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem !important;
  font-size: 1rem !important;
  font-weight: 400;
  line-height: 1.5 !important;
  box-sizing: border-box !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
}

#editPatientModalBody .patient-field .flatpickr-wrapper input.form-control.input,
#editPatientModalBody .patient-field .flatpickr-wrapper input.form-control.flatpickr-input[readonly] {
  cursor: pointer;
}

[data-bs-theme="dark"] #editPatientModalBody .patient-field input.form-control,
[data-bs-theme="dark"] #editPatientModalBody .patient-field select.form-control,
[data-bs-theme="dark"] #editPatientModalBody .patient-field select.form-select,
[data-bs-theme="dark"] #editPatientModalBody .patient-field .flatpickr-wrapper input.form-control.input,
[data-bs-theme="dark"] #editPatientModalBody .patient-field .flatpickr-wrapper input.form-control.flatpickr-input[readonly] {
  background: #172635 !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  color: #ffffff !important;
}

[data-bs-theme="dark"] #editPatientModalBody .patient-field input.form-control:focus,
[data-bs-theme="dark"] #editPatientModalBody .patient-field select.form-control:focus,
[data-bs-theme="dark"] #editPatientModalBody .patient-field select.form-select:focus,
[data-bs-theme="dark"] #editPatientModalBody .patient-field .flatpickr-wrapper input.form-control.input:focus,
[data-bs-theme="dark"] #editPatientModalBody .patient-field .flatpickr-wrapper input.form-control.flatpickr-input[readonly]:focus {
  background: #1a2930 !important;
  border-color: #00baff !important;
  box-shadow: 0 0 0 0.2rem rgba(0, 186, 255, 0.25) !important;
  color: #ffffff !important;
}

[data-bs-theme="light"] #editPatientModalBody .patient-field .flatpickr-wrapper input.form-control.input,
[data-bs-theme="light"] #editPatientModalBody .patient-field .flatpickr-wrapper input.form-control.flatpickr-input[readonly] {
  background-color: #fbfbfb !important;
  color: #1f2937 !important;
  border: 1px solid #c8c8c8 !important;
}

/* Add patient modal — date fields same size as other form-control / form-select inputs */
#addPatientModal .flatpickr-wrapper,
#addPatientModalIndex .flatpickr-wrapper {
  display: block;
  width: 100%;
}

#addPatientModal .flatpickr-wrapper > input.flatpickr-input:not(.input),
#addPatientModal .flatpickr-wrapper > .flatpickr-mobile-input,
#addPatientModalIndex .flatpickr-wrapper > input.flatpickr-input:not(.input),
#addPatientModalIndex .flatpickr-wrapper > .flatpickr-mobile-input {
  display: none !important;
}

#addPatientModal input.form-control:not([type="file"]),
#addPatientModal select.form-select,
#addPatientModal .flatpickr-wrapper input.form-control.input,
#addPatientModal .flatpickr-wrapper input.form-control.flatpickr-input[readonly],
#addPatientModalIndex input.form-control:not([type="file"]),
#addPatientModalIndex select.form-select,
#addPatientModalIndex .flatpickr-wrapper input.form-control.input,
#addPatientModalIndex .flatpickr-wrapper input.form-control.flatpickr-input[readonly] {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem !important;
  font-size: 1rem !important;
  font-weight: 400;
  line-height: 1.5 !important;
  box-sizing: border-box !important;
  min-height: calc(1.5em + 0.75rem + 2px) !important;
  height: auto !important;
  margin: 0 !important;
}

#addPatientModal .flatpickr-wrapper input.form-control.input,
#addPatientModal .flatpickr-wrapper input.form-control.flatpickr-input[readonly],
#addPatientModalIndex .flatpickr-wrapper input.form-control.input,
#addPatientModalIndex .flatpickr-wrapper input.form-control.flatpickr-input[readonly] {
  cursor: pointer;
}

[data-bs-theme="dark"] #addPatientModal input.form-control:not([type="file"]),
[data-bs-theme="dark"] #addPatientModal select.form-select,
[data-bs-theme="dark"] #addPatientModal .flatpickr-wrapper input.form-control.input,
[data-bs-theme="dark"] #addPatientModal .flatpickr-wrapper input.form-control.flatpickr-input[readonly],
[data-bs-theme="dark"] #addPatientModalIndex input.form-control:not([type="file"]),
[data-bs-theme="dark"] #addPatientModalIndex select.form-select,
[data-bs-theme="dark"] #addPatientModalIndex .flatpickr-wrapper input.form-control.input,
[data-bs-theme="dark"] #addPatientModalIndex .flatpickr-wrapper input.form-control.flatpickr-input[readonly] {
  background: #172635 !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  color: #ffffff !important;
}

[data-bs-theme="dark"] #addPatientModal input.form-control:not([type="file"]):focus,
[data-bs-theme="dark"] #addPatientModal select.form-select:focus,
[data-bs-theme="dark"] #addPatientModal .flatpickr-wrapper input.form-control.input:focus,
[data-bs-theme="dark"] #addPatientModal .flatpickr-wrapper input.form-control.flatpickr-input[readonly]:focus,
[data-bs-theme="dark"] #addPatientModalIndex input.form-control:not([type="file"]):focus,
[data-bs-theme="dark"] #addPatientModalIndex select.form-select:focus,
[data-bs-theme="dark"] #addPatientModalIndex .flatpickr-wrapper input.form-control.input:focus,
[data-bs-theme="dark"] #addPatientModalIndex .flatpickr-wrapper input.form-control.flatpickr-input[readonly]:focus {
  background: #1a2930 !important;
  border-color: #00baff !important;
  box-shadow: 0 0 0 0.2rem rgba(0, 186, 255, 0.25) !important;
  color: #ffffff !important;
}

[data-bs-theme="light"] #addPatientModal .flatpickr-wrapper input.form-control.input,
[data-bs-theme="light"] #addPatientModal .flatpickr-wrapper input.form-control.flatpickr-input[readonly],
[data-bs-theme="light"] #addPatientModalIndex .flatpickr-wrapper input.form-control.input,
[data-bs-theme="light"] #addPatientModalIndex .flatpickr-wrapper input.form-control.flatpickr-input[readonly] {
  background-color: #fbfbfb !important;
  color: #1f2937 !important;
  border: 1px solid #c8c8c8 !important;
}

/* Hospitals parity: click year → select all → type to replace (keep native arrows) */
.flatpickr-current-month .numInputWrapper {
  width: 6ch !important;
  min-width: 6ch !important;
}

.flatpickr-current-month input.cur-year {
  cursor: text !important;
  text-align: left !important;
  padding: 0 0.15em !important;
  pointer-events: auto !important;
  -moz-appearance: textfield !important;
  appearance: textfield !important;
}

.flatpickr-current-month input.cur-year:focus {
  outline: none !important;
  background: rgba(255, 255, 255, 0.18) !important;
  border-radius: 3px !important;
}

.flatpickr-current-month input.cur-year::selection {
  background: rgba(0, 80, 160, 0.85) !important;
  color: #fff !important;
}

.flatpickr-current-month input.cur-year::-webkit-outer-spin-button,
.flatpickr-current-month input.cur-year::-webkit-inner-spin-button {
  opacity: 1 !important;
}

.flatpickr-current-month .numInputWrapper span.arrowUp,
.flatpickr-current-month .numInputWrapper span.arrowDown {
  opacity: 0.85 !important;
}

.flatpickr-current-month .numInputWrapper:hover span.arrowUp,
.flatpickr-current-month .numInputWrapper:hover span.arrowDown,
.flatpickr-current-month .numInputWrapper span.arrowUp:hover,
.flatpickr-current-month .numInputWrapper span.arrowDown:hover {
  opacity: 1 !important;
}

[data-bs-theme="dark"] .flatpickr-current-month .numInputWrapper span.arrowUp::after {
  border-bottom-color: #fff !important;
}

[data-bs-theme="dark"] .flatpickr-current-month .numInputWrapper span.arrowDown::after {
  border-top-color: #fff !important;
}

[data-bs-theme="light"] .flatpickr-current-month .numInputWrapper span.arrowUp::after {
  border-bottom-color: #fff !important;
}

[data-bs-theme="light"] .flatpickr-current-month .numInputWrapper span.arrowDown::after {
  border-top-color: #fff !important;
}

/* Today footer button — CRM blue outline parity */
.flatpickr-today-footer {
  display: flex;
  justify-content: flex-end;
  padding: 6px 10px 8px;
  border-top: 1px solid rgba(0, 186, 255, 0.15);
}

.flatpickr-calendar .flatpickr-today-footer .flatpickr-today-btn,
.flatpickr-today-btn {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background: rgba(0, 186, 255, 0.05) !important;
  border: 2px solid #00baff !important;
  padding: 5px 14px !important;
  border-radius: 4px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  min-height: 30px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  color: #00baff !important;
  box-shadow:
    0 0 0 1px rgba(0, 186, 255, 0.18),
    0 0 12px rgba(0, 186, 255, 0.38) !important;
  outline: none !important;
}

.flatpickr-calendar .flatpickr-today-footer .flatpickr-today-btn:hover,
.flatpickr-calendar .flatpickr-today-footer .flatpickr-today-btn:focus,
.flatpickr-today-btn:hover,
.flatpickr-today-btn:focus {
  color: #fff !important;
  background: rgba(0, 186, 255, 0.2) !important;
  border-color: #00baff !important;
  box-shadow:
    0 0 0 1px rgba(0, 186, 255, 0.28),
    0 0 16px rgba(0, 186, 255, 0.62),
    0 0 30px rgba(0, 186, 255, 0.28) !important;
}

[data-bs-theme="light"] .flatpickr-calendar .flatpickr-today-footer .flatpickr-today-btn,
[data-bs-theme="light"] .flatpickr-today-btn {
  border: 2px solid #1a88c9 !important;
  color: #1a88c9 !important;
  background: rgba(26, 136, 201, 0.05) !important;
  box-shadow: none !important;
}

[data-bs-theme="light"] .flatpickr-calendar .flatpickr-today-footer .flatpickr-today-btn:hover,
[data-bs-theme="light"] .flatpickr-calendar .flatpickr-today-footer .flatpickr-today-btn:focus,
[data-bs-theme="light"] .flatpickr-today-btn:hover,
[data-bs-theme="light"] .flatpickr-today-btn:focus {
  background: #1a88c9 !important;
  color: #fff !important;
  border-color: #1a88c9 !important;
}

/* MonthSelect plugin (coupons / payments filters) under hospitals-parity shell */
[data-bs-theme="dark"] .flatpickr-monthSelect-months {
  background: transparent !important;
}
[data-bs-theme="dark"] .flatpickr-monthSelect-month {
  color: #f0f4f8 !important;
  border-radius: 0.5rem !important;
  background: transparent !important;
}
[data-bs-theme="dark"] .flatpickr-monthSelect-month:hover {
  background: #1e90ff !important;
  color: #fff !important;
}
[data-bs-theme="dark"] .flatpickr-monthSelect-month.selected {
  background: #00d4ff !important;
  color: #000 !important;
}

/* Users date-range highlight helpers */
[data-bs-theme="dark"] .flatpickr-day.fp-other-date {
  background: rgba(0, 212, 255, 0.18) !important;
  border: 1px dashed rgba(0, 212, 255, 0.55) !important;
  color: #a5f3fc !important;
}
[data-bs-theme="dark"] .flatpickr-day.fp-in-range {
  background: rgba(0, 212, 255, 0.08) !important;
  border-color: transparent !important;
}

/* Inline reset control used by month filters */
.flatpickr-calendar .academy-calendar-reset-btn {
  position: absolute;
  top: 8px;
  right: 36px;
  z-index: 2;
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  border: none;
  background: transparent;
  color: #e2e8f0;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.flatpickr-calendar .academy-calendar-reset-btn:hover {
  background: rgba(30, 41, 59, 0.9);
  color: #f8fafc;
}
.flatpickr-calendar .academy-calendar-reset-btn svg {
  width: 13px;
  height: 13px;
}

