.intendance-expenses-page { display: flex; flex-direction: column; gap: var(--spacing-4); min-width: 0; }
.intendance-expenses-page .page-tabs { display: flex; gap: var(--spacing-1); overflow-x: auto; border-bottom: 1px solid var(--color-border-light); }
.intendance-expenses-page .page-tab { padding: var(--spacing-2) var(--spacing-3); border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--color-text-secondary); font-size: var(--font-size-sm); }
.intendance-expenses-page .page-tab.active { color: var(--color-primary); border-bottom-color: var(--color-primary); }
.intendance-expenses-page .page-tab:disabled { opacity: .65; cursor: not-allowed; }
.intendance-expenses-page .page-filters, .intendance-expenses-page .page-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--spacing-2); }
.intendance-expenses-page .page-filters .filter-group { flex: 1 1 220px; }
.intendance-expenses-page .page-actions { justify-content: flex-end; }
.intendance-expenses-page .btn input { display: none; }
.intendance-expenses-page [data-tab-content] > .page-filters { display: grid; grid-template-columns: minmax(260px, 1fr) 240px auto; align-items: center; gap: var(--spacing-2); margin-bottom: var(--spacing-3); }
.intendance-expenses-page [data-tab-content] > .page-filters [data-ref-search] { width: 100%; min-width: 0; }
.intendance-expenses-page [data-tab-content] > .page-filters [data-add-ref] { flex: 0 0 auto; }
.intendance-expenses-page [data-tab-content] > .page-filters [data-search] { width: 100%; min-width: 0; }
.intendance-expenses-page [data-tab-content] > .page-filters [data-missing] { width: 100%; min-width: 0; }
.intendance-expenses-page [data-tab-content] > .page-filters [data-refresh] { width: auto; white-space: nowrap; }
.intendance-expenses-page [data-tab-content] > .page-filters:has([data-site]) { grid-template-columns: minmax(220px, 1fr) auto 260px auto; }
.intendance-expenses-page [data-tab-content] > .page-filters [data-site] { width: 100%; min-width: 0; }
.intendance-expenses-page [data-tab-content] > .page-filters [data-bulk] { width: auto; white-space: nowrap; }
.intendance-expenses-page .table-sort-button { padding: 0; border: 0; background: transparent; color: inherit; font: inherit; font-weight: inherit; cursor: pointer; text-align: left; }
.intendance-expenses-page th[data-ref-sort] { cursor: pointer; }
.intendance-expenses-page .table-pagination { display: flex; align-items: center; justify-content: center; gap: var(--spacing-3); padding: var(--spacing-3) 0; }
@media (max-width: 720px) {
  .intendance-expenses-page [data-tab-content] > .page-filters { grid-template-columns: 1fr auto; }
  .intendance-expenses-page [data-tab-content] > .page-filters:has([data-site]) { grid-template-columns: 1fr auto; }
  .intendance-expenses-page [data-tab-content] > .page-filters [data-site] { grid-column: 1 / -1; }
  .intendance-expenses-page [data-tab-content] > .page-filters [data-missing] { grid-column: 1 / -1; }
}
.intendance-expenses-page .import-progress { padding: var(--spacing-3); border: 1px solid var(--color-border-light); border-radius: var(--radius-md); background: var(--color-bg-secondary); color: var(--color-text-secondary); }
.intendance-expenses-page .import-progress-bar { height: 8px; margin-top: var(--spacing-2); overflow: hidden; border-radius: 99px; background: var(--color-border-light); }
.intendance-expenses-page .import-progress-bar span { display: block; height: 100%; background: var(--color-primary); transition: width .25s ease; }
.intendance-expenses-page .import-summary { display: flex; flex-wrap: wrap; gap: var(--spacing-3); margin-top: var(--spacing-2); font-size: var(--font-size-sm); }

.intendance-expenses-page .page-filters .filter-group { flex: 1 1 220px; }
.intendance-expenses-page .period-filter { flex: 1 1 320px; min-width: 280px; }
.intendance-expenses-page .period-filter .period-nav { display: flex; align-items: center; gap: var(--spacing-2); margin-bottom: var(--spacing-1); }
.intendance-expenses-page .period-filter .period-label { min-width: 140px; text-align: center; font-size: var(--font-size-sm); font-weight: 500; color: var(--color-text-primary); }
.intendance-expenses-page .period-filter .period-modes { display: flex; gap: var(--spacing-1); margin-bottom: var(--spacing-1); }
.intendance-expenses-page .period-filter .period-dates { display: flex; gap: var(--spacing-2); }
.intendance-expenses-page .period-filter .period-dates label { display: flex; flex-direction: column; gap: var(--spacing-1); flex: 1; }
.intendance-expenses-page .period-filter .period-dates input[type="date"] { width: 100%; }
.intendance-expenses-page .period-filter .period-modes .btn { flex: 1; white-space: nowrap; }
@media (max-width: 720px) {
  .intendance-expenses-page .period-filter { min-width: 100%; }
  .intendance-expenses-page .period-filter .period-dates { flex-direction: column; gap: var(--spacing-2); }
}

/* Bouton « Imprimer / PDF » de la synthèse (vue Repas) */
.intendance-dashboard-page .dashboard-filters-row--top { grid-template-columns: minmax(0, 1fr) auto; }
.intendance-dashboard-page .dashboard-print-action { align-self: end; }

/* Synthèse imprimée : en-tête masqué à l'écran, visible à l'impression */
.intendance-dashboard-page .print-header { display: none; }

@media print {
  @page { size: A4; margin: 12mm; }
  #sidebar, #header, .mobile-sidebar-overlay { display: none !important; }
  .app-shell { display: block; }
  .main-content { padding: 0 !important; overflow: visible !important; }
  .intendance-expenses-page .page-header,
  .intendance-expenses-page .admin-tabs,
  .intendance-dashboard-page .dashboard-filters,
  .intendance-dashboard-page .intendance-expense-list { display: none !important; }
  .intendance-dashboard-page .print-header { display: block; margin-bottom: var(--spacing-4); }
  .intendance-dashboard-page .print-header h1 { margin: 0 0 var(--spacing-1); font-size: 18px; }
  .intendance-dashboard-page .print-header p { margin: 0; font-size: 12px; color: var(--color-text-secondary); }
  .intendance-dashboard-page .print-header .print-filters { font-style: italic; }
  .intendance-dashboard-page * { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .intendance-dashboard-page .intendance-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .intendance-dashboard-page .chart-card,
  .intendance-dashboard-page .histogram-container,
  .intendance-dashboard-page .intendance-kpi-card { break-inside: avoid; border-color: var(--color-border-light); }
  .intendance-dashboard-page .intendance-dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

