/* ============================================
   FLATPICKR — TEMA COMPARTILHADO
   (Admin Dashboard + Formulários Públicos)
   ============================================ */

:root {
  --fp-primary: #0099CC;
  --fp-primary-dark: #0077AA;
  --fp-secondary: #63CC00;
  --fp-text: #333333;
  --fp-text-light: #666666;
  --fp-bg: #FFFFFF;
  --fp-bg-gray: #F5F5F5;
  --fp-border: #E0E0E0;
  --fp-radius: 12px;
  --fp-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
  --fp-font: 'Roboto', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.flatpickr-calendar {
  background: var(--fp-bg);
  border: 2px solid var(--fp-border);
  border-radius: var(--fp-radius);
  box-shadow: var(--fp-shadow);
  font-family: var(--fp-font);
  overflow: visible;
}

.flatpickr-innerContainer {
  overflow: visible !important;
}

.flatpickr-weekdays {
  overflow: visible !important;
  background: var(--fp-bg-gray);
}

.flatpickr-days {
  overflow: visible;
}

.flatpickr-month {
  color: var(--fp-text) !important;
  overflow: visible !important;
}

.flatpickr-weekday {
  color: var(--fp-text);
  font-weight: 700;
  font-size: 0.75em;
  text-transform: uppercase;
  font-family: var(--fp-font);
}

.flatpickr-day {
  border-radius: 8px;
  border: 2px solid transparent;
  box-sizing: border-box;
  color: var(--fp-text);
  font-family: var(--fp-font);
}

.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
  color: var(--fp-text-light);
  opacity: 0.45;
}

.flatpickr-day.flatpickr-available {
  color: var(--fp-text) !important;
}

.flatpickr-day.flatpickr-available:hover {
  background: rgba(0, 153, 204, 0.08);
  border-color: var(--fp-primary);
}

.flatpickr-day.flatpickr-unavailable {
  color: var(--fp-text-light);
  opacity: 0.45;
}

.flatpickr-day.selected {
  background: var(--fp-primary) !important;
  border-color: var(--fp-primary) !important;
  color: #fff !important;
  font-weight: 600 !important;
  box-shadow: 0 2px 8px rgba(0, 153, 204, 0.3);
}

.flatpickr-day.today {
  border-color: var(--fp-secondary);
}

.flatpickr-day.today.selected {
  background: var(--fp-primary) !important;
  border-color: var(--fp-primary) !important;
  color: #fff !important;
}

.flatpickr-input {
  padding: 10px 12px !important;
  border: 2px solid var(--fp-border) !important;
  border-radius: 6px !important;
  font-size: 1em !important;
  font-family: var(--fp-font) !important;
  color: var(--fp-text) !important;
  background: var(--fp-bg) !important;
  min-height: 44px !important;
}

.flatpickr-input:hover {
  border-color: var(--fp-primary) !important;
}

.flatpickr-input:focus,
.flatpickr-input:focus-visible {
  outline: none !important;
  border-color: var(--fp-primary) !important;
  box-shadow: 0 0 0 3px rgba(0, 153, 204, 0.1) !important;
}

.flatpickr-input:disabled {
  background: var(--fp-bg-gray) !important;
  color: var(--fp-text-light) !important;
  cursor: not-allowed !important;
}

@keyframes fpFadeIn {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}
