/* Flatpickr — tema moderno VEXIA */

.flatpickr-calendar {
  border: none !important;
  border-radius: 16px !important;
  box-shadow: 0 18px 48px rgba(10, 35, 66, 0.18), 0 4px 12px rgba(10, 35, 66, 0.08) !important;
  font-family: 'Exo 2', 'Segoe UI', sans-serif !important;
  padding: 0.65rem 0.75rem 0.85rem !important;
  width: 320px !important;
  background: #fff !important;
  overflow: visible;
  z-index: 10050 !important;
}

.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after,
.flatpickr-calendar.arrowBottom:before,
.flatpickr-calendar.arrowBottom:after {
  display: none;
}

.flatpickr-months {
  align-items: center;
  margin-bottom: 0.35rem;
  position: relative;
}

.flatpickr-months .flatpickr-month {
  background: linear-gradient(135deg, #029b87 0%, #029b87 100%) !important;
  border-radius: 12px !important;
  height: 52px !important;
  color: #fff !important;
  overflow: visible;
}

.flatpickr-current-month {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  padding-top: 0 !important;
  height: 52px !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #fff !important;
}

.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year,
.flatpickr-current-month .flatpickr-yearDropdown-years {
  background: rgba(255, 255, 255, 0.12) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 8px !important;
  color: #fff !important;
  font-weight: 600 !important;
  font-size: 0.9rem !important;
  padding: 0.2rem 0.45rem !important;
  margin: 0 0.15rem !important;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}

.flatpickr-current-month .flatpickr-monthDropdown-months option,
.flatpickr-current-month .flatpickr-yearDropdown-years option {
  color: #029b87;
  background: #fff;
}

.flatpickr-current-month .flatpickr-yearDropdown-years {
  min-width: 4.6rem;
  max-width: 5.4rem;
}

.flatpickr-current-month .numInputWrapper {
  width: auto;
  min-width: 4.8rem;
}

.flatpickr-current-month .numInputWrapper span {
  display: none;
}

.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  top: 10px !important;
  height: 32px !important;
  width: 32px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.14);
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  fill: #fff !important;
  transition: background 0.15s ease;
}

.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
  background: rgba(255, 255, 255, 0.28);
}

.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg {
  fill: #fff !important;
  width: 12px;
  height: 12px;
}

.flatpickr-weekdays {
  margin-top: 0.55rem;
  background: transparent !important;
}

span.flatpickr-weekday {
  color: #64748b !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.flatpickr-days {
  width: 100% !important;
}

.dayContainer {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
}

.flatpickr-day {
  border-radius: 10px !important;
  border: none !important;
  color: #1a1f36 !important;
  font-weight: 500 !important;
  max-width: 40px;
  height: 40px;
  line-height: 40px;
  margin: 1px 0;
  transition: background 0.15s ease, color 0.15s ease, transform 0.12s ease;
}

.flatpickr-day:hover,
.flatpickr-day:focus {
  background: rgba(0, 91, 150, 0.12) !important;
  color: #029b87 !important;
  border: none !important;
}

.flatpickr-day.today {
  background: rgba(10, 35, 66, 0.08) !important;
  color: #029b87 !important;
  font-weight: 700 !important;
  box-shadow: inset 0 0 0 1.5px #029b87;
}

.flatpickr-day.today:hover {
  background: rgba(0, 91, 150, 0.16) !important;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover {
  background: linear-gradient(135deg, #029b87 0%, #029b87 100%) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: 0 4px 12px rgba(0, 91, 150, 0.35);
  transform: scale(1.04);
}

.flatpickr-day.inRange {
  background: rgba(0, 91, 150, 0.1) !important;
  box-shadow: none !important;
  color: #029b87 !important;
  border-radius: 0 !important;
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
  color: #cbd5e1 !important;
}

.flatpickr-day.flatpickr-disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.flatpickr-time {
  border-top: 1px solid #eef2f7 !important;
  max-height: 48px;
}

/* Campo de data */
.vexia-date-wrap,
.vexia-date-field {
  position: relative;
}

.vexia-date-wrap .mdl-textfield__input,
.vexia-date-wrap .form-control,
.vexia-date-field .form-control,
input.date,
input.vexia-datepicker {
  padding-right: 2.6rem !important;
  cursor: pointer;
  background-color: #fff;
}

.vexia-date-wrap__icon {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #029b87;
  pointer-events: none;
  font-size: 0.95rem;
  z-index: 2;
  opacity: 0.9;
}

.vexia-form-page .vexia-date-wrap__icon,
.provider-create-page .vexia-date-wrap__icon {
  top: auto;
  bottom: 14px;
  transform: none;
}

.vexia-date-wrap .flatpickr-input[readonly],
.vexia-date-field .flatpickr-input[readonly] {
  background-color: #fff !important;
  cursor: pointer;
}

/* Fallback jQuery UI — mesmo visual VEXIA */
.ui-datepicker,
.vexia-ui-datepicker {
  display: block !important;
  border: none !important;
  border-radius: 16px !important;
  box-shadow: 0 18px 48px rgba(10, 35, 66, 0.18), 0 4px 12px rgba(10, 35, 66, 0.08) !important;
  padding: 0.75rem !important;
  font-family: 'Exo 2', 'Segoe UI', sans-serif !important;
  z-index: 10050 !important;
  width: 300px !important;
  background: #fff !important;
}

.ui-datepicker-header {
  background: linear-gradient(135deg, #029b87 0%, #029b87 100%) !important;
  border: none !important;
  border-radius: 12px !important;
  color: #fff !important;
  padding: 0.55rem !important;
}

.ui-datepicker-title {
  color: #fff !important;
  font-weight: 700 !important;
}

.ui-datepicker-title select {
  border-radius: 6px;
  border: none;
  margin: 0 2px;
  padding: 2px 4px;
}

.ui-datepicker-prev,
.ui-datepicker-next {
  cursor: pointer;
  top: 10px !important;
}

.ui-datepicker-prev span,
.ui-datepicker-next span {
  filter: brightness(10);
}

.ui-datepicker-calendar thead th {
  color: #64748b;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
}

.ui-datepicker-calendar td a {
  border-radius: 10px !important;
  text-align: center !important;
  padding: 0.4rem !important;
  border: none !important;
  background: transparent !important;
  color: #1a1f36 !important;
}

.ui-datepicker-calendar td a.ui-state-active,
.ui-datepicker-calendar td a.ui-state-hover {
  background: linear-gradient(135deg, #029b87 0%, #029b87 100%) !important;
  color: #fff !important;
}

.ui-datepicker-calendar td a.ui-state-highlight {
  box-shadow: inset 0 0 0 1.5px #029b87;
  font-weight: 700;
}

.ui-datepicker .ui-datepicker-buttonpane button {
  border-radius: 8px !important;
  font-weight: 600 !important;
  border: none !important;
  background: #029b87 !important;
  color: #fff !important;
}
