/* Atodosol Flatpickr theme — canon datepicker */
.flatpickr-calendar {
  position: fixed !important;
  background: var(--card-bg, #fff) !important;
  border: 1px solid var(--border-color, #e2e8f0) !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18) !important;
  font-family: var(--font-family, system-ui, sans-serif) !important;
  z-index: var(--z-above-modal, 99999) !important;
  max-height: calc(100vh - 16px);
  overflow-y: auto;
  /* Evitar translate de la animación open que empuja ~1% fuera del viewport */
  animation: none !important;
  transform: none !important;
}
.flatpickr-months,
.flatpickr-weekdays,
.flatpickr-days {
  background: transparent !important;
}
.flatpickr-months .flatpickr-month,
.flatpickr-current-month .flatpickr-monthDropdown-months,
span.flatpickr-weekday,
.flatpickr-time input,
.flatpickr-time .flatpickr-time-separator,
.flatpickr-time .flatpickr-am-pm {
  color: var(--text-primary, #0f172a) !important;
  fill: var(--text-primary, #0f172a) !important;
}
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  color: var(--text-secondary, #64748b) !important;
  fill: var(--text-secondary, #64748b) !important;
}
.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
  fill: var(--accent, #0ea5e9) !important;
}
.flatpickr-day {
  color: var(--text-primary, #0f172a) !important;
  border-radius: 8px !important;
}
.flatpickr-day:hover,
.flatpickr-day:focus {
  background: color-mix(in srgb, var(--accent, #0ea5e9) 14%, transparent) !important;
  border-color: transparent !important;
}
.flatpickr-day.today {
  border-color: var(--accent, #0ea5e9) !important;
}
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
  background: var(--solid-info-bg) !important;
  border-color: var(--accent, #0ea5e9) !important;
  color: #fff !important;
}
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
  color: var(--text-muted, #94a3b8) !important;
}
.flatpickr-time {
  border-top: 1px solid var(--border-color, #e2e8f0) !important;
  max-height: none !important;
}
.numInputWrapper span {
  border-color: var(--border-color, #e2e8f0) !important;
}
.flatpickr-confirm {
  display: none !important;
}
/* Acciones Atodosol bajo el calendar (inyectadas por el wrapper) */
.atodosol-fp-actions {
  display: flex;
  gap: 8px;
  padding: 8px 10px 10px;
  border-top: 1px solid var(--border-color, #e2e8f0);
  background: var(--card-bg, #fff);
}
.atodosol-fp-actions button {
  flex: 1;
  font-size: 12px;
  font-weight: 600;
  padding: 7px 8px;
  border-radius: 8px;
  border: 1px solid var(--border-color, #e2e8f0);
  background: var(--bg-secondary, #f8fafc);
  color: var(--text-primary, #0f172a);
  cursor: pointer;
}
.atodosol-fp-actions button.primary {
  background: var(--solid-info-bg);
  border-color: var(--accent, #0ea5e9);
  color: #fff;
}
.atodosol-fp-actions button:hover {
  filter: brightness(0.97);
}
.atodosol-fp-ghost-input {
  position: fixed !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 1px !important;
  height: 1px !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
