/* Cadeia única de importação do frontend.
   Ordem: fonte -> tokens -> reset -> layout -> componentes -> utilitários -> páginas.
   Nenhum CSS pode existir fora desta cadeia (check_frontend.py: orphan_css). */

@import './../vendor/fonts/fonts.css';

@import './tokens.css';
@import './base.css';
@import './layout.css';

@import './components/marca.css';
@import './components/buttons.css';
@import './components/forms.css';
@import './components/table.css';
@import './components/badge.css';
@import './components/surface.css';
@import './components/overlay.css';
@import './components/viewer.css';
@import './components/feedback.css';

@import './utilities.css';

@import './pages/login.css';
@import './pages/publico.css';
@import './pages/dashboard.css';
@import './pages/invoices.css';
@import './pages/sync.css';
@import './pages/clients.css';
@import './pages/reports.css';
@import './pages/settings.css';
@import './pages/about.css';

/* --- Flatpickr ---
   A lib escreve estilo próprio com especificidade alta; o !important fica só onde
   ela realmente exige. Tudo em tokens, para o calendário acompanhar o tema. */
.flatpickr-calendar {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r);
  box-shadow: var(--shadow-2);
  font-family: var(--sans);
}
.flatpickr-calendar.arrowTop::after { border-bottom-color: var(--surface); }
.flatpickr-calendar.arrowTop::before { border-bottom-color: var(--border); }

.flatpickr-months .flatpickr-month,
.flatpickr-current-month .flatpickr-monthDropdown-months {
  background: var(--surface);
  color: var(--text);
  fill: var(--text);
}
.flatpickr-current-month .flatpickr-monthDropdown-months { font-weight: 600; }

.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month { fill: var(--text-2); }
.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg { fill: var(--accent); }

.flatpickr-weekday {
  color: var(--text-3) !important;
  font-size: var(--fs-xs);
  font-weight: 600;
}

.flatpickr-day { color: var(--text); border-radius: var(--r-sm); }
.flatpickr-day:hover { background: var(--surface-2); border-color: var(--surface-2); }
.flatpickr-day.today { border-color: var(--border-2); }
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--on-accent);
}
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay { color: var(--text-3); }

.numInputWrapper span.arrowUp::after { border-bottom-color: var(--text-2); }
.numInputWrapper span.arrowDown::after { border-top-color: var(--text-2); }
