/*
  ╔══════════════════════════════════════════════════════╗
  ║  ECHO · Design System — District Vision              ║
  ║  À brancher après echo.css / styles existants        ║
  ║  <link rel="stylesheet" href="css/echo-dv.css">      ║
  ╚══════════════════════════════════════════════════════╝

  TYPOGRAPHIE
  ───────────
  Barlow Condensed 600 — titres de pages (MOIS / ANNÉE)
  Cormorant 300–400    — grands chiffres, noms clients
  Archivo 300–500      — UI, labels, tableaux, tout le reste

  COULEURS
  ────────
  #FAFAF8  blanc chaud       surfaces principales
  #F2F1EE  off-white         backgrounds, hover, chips
  #E4E2DC  line              séparateurs, bordures fines
  #B8B4AC  muted             textes tertiaires, placeholders
  #6E6A62  mid               textes secondaires, labels
  #1E1D1A  dark              textes principaux, bordures fortes
  #D0392B  red               urgences, retards, mois titres  ← UN SEUL accent
  #2E6644  green             statuts OK, dépôts confirmés
  #8B5E00  amber             en cours, avertissements
  #2A4A7A  blue              crédits TVA

  INTÉGRATION CURSOR
  ──────────────────
  1. Ajouter ce fichier dans /css/
  2. Dans index.html, après le dernier <link> CSS existant :
     <link rel="stylesheet" href="css/echo-dv.css">
  3. Ne pas modifier les JS — ce fichier surcharge uniquement le visuel
*/

@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600;700&family=Cormorant:ital,wght@0,300;0,400;1,300;1,400&family=Archivo:wght@200;300;400;500&display=swap');

/* ══════════════════════════════════════════
   TOKENS
══════════════════════════════════════════ */
:root {
  --dv-white:  #FAFAF8;
  --dv-off:    #F2F1EE;
  --dv-line:   #E4E2DC;
  --dv-muted:  #B8B4AC;
  --dv-mid:    #6E6A62;
  --dv-dark:   #1E1D1A;
  --dv-red:    #D0392B;
  --dv-red-bg: rgba(208,57,43,0.05);
  --dv-green:  #2E6644;
  --dv-amber:  #8B5E00;
  --dv-blue:   #2A4A7A;

  --bg:             var(--dv-off);
  --card:           var(--dv-white);
  --text-primary:   var(--dv-dark);
  --text-secondary: var(--dv-mid);
  --text-muted:     var(--dv-muted);
  --text-danger:    var(--dv-red);
  --border:         var(--dv-line);
  --border-subtle:  var(--dv-line);
  --border-color:   var(--dv-line);
  --primary:        var(--dv-dark);
}

/* ══════════════════════════════════════════
   RESET GLOBAL
══════════════════════════════════════════ */
*, *::before, *::after {
  box-sizing: border-box;
  border-radius: 0 !important;
}

body {
  background: var(--dv-off) !important;
  font-family: 'Archivo', sans-serif !important;
  font-weight: 400 !important;
  color: var(--dv-dark) !important;
  font-size: 13px !important;
  -webkit-font-smoothing: antialiased;
}

/* En-têtes de page : première partie en rouge (comme Administration) */
.ph .ph-t .tr {
  color: var(--dv-red) !important;
}
.ph .ph-t .tk {
  color: var(--dv-dark) !important;
}

/* ══════════════════════════════════════════
   SIDEBAR
══════════════════════════════════════════ */
.app-sidebar,
#sidebar,
.sidebar {
  background: var(--dv-white) !important;
  border-right: 1px solid var(--dv-dark) !important;
  box-shadow: none !important;
  width: 52px !important;
  transition: width 0.2s ease !important;
  overflow: hidden !important;
}

.app-sidebar:hover,
#sidebar:hover,
.sidebar:hover {
  width: 220px !important;
}

.sidebar-brand {
  padding: 28px 16px 24px !important;
  border-bottom: 1px solid var(--dv-line) !important;
  white-space: nowrap;
  overflow: hidden;
}

.sidebar-brand-icon {
  font-family: 'Cormorant', serif !important;
  font-size: 22px !important;
  font-weight: 300 !important;
  color: var(--dv-dark) !important;
  flex-shrink: 0;
}

.sidebar-nav-item,
.navbar-nav-item[data-view] {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  width: 100% !important;
  padding: 11px 16px !important;
  background: transparent !important;
  border: none !important;
  border-left: 2px solid transparent !important;
  cursor: pointer !important;
  white-space: nowrap;
  overflow: hidden;
  transition: background 0.12s !important;
  box-shadow: none !important;
  text-align: left !important;
}

.sidebar-nav-item:hover,
.navbar-nav-item[data-view]:hover {
  background: var(--dv-off) !important;
}

.sidebar-nav-item.active,
.navbar-nav-item[data-view].active {
  background: transparent !important;
  border-left: 2px solid var(--dv-dark) !important;
  padding-left: 14px !important;
}

.sidebar-icon {
  font-size: 14px !important;
  flex-shrink: 0;
  width: 20px;
  text-align: center;
  filter: grayscale(1);
  opacity: 0.5;
}

.sidebar-nav-item.active .sidebar-icon,
.navbar-nav-item[data-view].active .sidebar-icon {
  opacity: 1;
}

.sidebar-label {
  font-family: 'Archivo', sans-serif !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--dv-mid) !important;
  opacity: 0;
  transition: opacity 0.15s ease 0.05s;
}

.app-sidebar:hover .sidebar-label,
#sidebar:hover .sidebar-label,
.sidebar:hover .sidebar-label {
  opacity: 1;
}

.sidebar-nav-item.active .sidebar-label {
  color: var(--dv-dark) !important;
}

/* ══════════════════════════════════════════
   HEADERS DE PAGE
══════════════════════════════════════════ */
.shell-header,
.page-header {
  padding: 36px 48px 28px !important;
  border-bottom: 1px solid var(--dv-dark) !important;
  background: var(--dv-white) !important;
}

.shell-title,
.page-header h1,
h1.page-title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 52px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  color: var(--dv-dark) !important;
  line-height: 1 !important;
  margin: 0 !important;
}

/* Mois en rouge, année en noir — à appliquer dans le JS :
   element.innerHTML = `<span class="t-red">Mars</span> <span class="t-black">2026</span>` */
.t-red   { color: var(--dv-red) !important; }
.t-black { color: var(--dv-dark) !important; }

/* ══════════════════════════════════════════
   FILTRES
══════════════════════════════════════════ */
.filters-bar {
  padding: 10px 48px !important;
  border-bottom: 1px solid var(--dv-line) !important;
  background: var(--dv-white) !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

.filter-button {
  font-family: 'Archivo', sans-serif !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--dv-mid) !important;
  background: transparent !important;
  border: 1px solid var(--dv-line) !important;
  padding: 5px 11px !important;
  cursor: pointer !important;
  transition: all 0.12s !important;
  box-shadow: none !important;
}

.filter-button:hover {
  background: var(--dv-off) !important;
  border-color: var(--dv-mid) !important;
  color: var(--dv-dark) !important;
}

.filter-button.active,
.filter-button[data-active="true"] {
  background: var(--dv-dark) !important;
  border-color: var(--dv-dark) !important;
  color: var(--dv-white) !important;
}

.filter-button.mise-a-jour-button {
  color: var(--dv-red) !important;
  border-color: var(--dv-red) !important;
}

.filter-button.mise-a-jour-button:hover {
  background: var(--dv-red-bg) !important;
}

.filter-dropdown {
  border: 1px solid var(--dv-line) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.12) !important;
  background: var(--dv-white) !important;
  background-color: var(--dv-white) !important;
  padding: 4px 0 !important;
  z-index: 1100 !important;
}

/* Fond opaque pour ne pas se mélanger avec le contenu en dessous */
.filter-dropdown-content {
  background: var(--dv-white) !important;
  background-color: var(--dv-white) !important;
}

/* Déclaration & Plan de travail : même fond opaque (couleur barre de filtres / en-têtes tableau) */
#pageDeclaration .filter-dropdown,
#pagePlanTravail .filter-dropdown {
  background: var(--dv-off) !important;
  background-color: var(--dv-off) !important;
  border: 1px solid var(--dv-line) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.12) !important;
  z-index: 1100 !important;
}
#pageDeclaration .filter-dropdown-content,
#pagePlanTravail .filter-dropdown-content {
  background: var(--dv-off) !important;
  background-color: var(--dv-off) !important;
}

.filter-option {
  font-family: 'Archivo', sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: var(--dv-mid) !important;
  padding: 8px 16px !important;
  cursor: pointer !important;
}

.filter-option:hover {
  background: var(--dv-off) !important;
  color: var(--dv-dark) !important;
}

/* Recherche inline */
#suiviSearchInput,
#filterClotureAnnuelleDossier,
.filter-search-input {
  font-family: 'Archivo', sans-serif !important;
  font-size: 12px !important;
  font-style: italic !important;
  border: none !important;
  border-bottom: 1px solid var(--dv-line) !important;
  background: transparent !important;
  padding: 4px 0 !important;
  outline: none !important;
  color: var(--dv-dark) !important;
}

#suiviSearchInput:focus,
#filterClotureAnnuelleDossier:focus {
  border-bottom-color: var(--dv-dark) !important;
}

/* ══════════════════════════════════════════
   ONGLETS / TABS
══════════════════════════════════════════ */
.suivi-tabs-container,
.navbar-nav.suivi-cycles-nav {
  padding: 0 48px !important;
  border-bottom: 1px solid var(--dv-line) !important;
  background: var(--dv-white) !important;
  flex-wrap: wrap;
}

.navbar-nav-item {
  font-family: 'Archivo', sans-serif !important;
  font-size: 9.5px !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--dv-muted) !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  padding: 13px 14px !important;
  cursor: pointer !important;
  transition: all 0.12s !important;
  margin-bottom: -1px !important;
  box-shadow: none !important;
  white-space: nowrap;
}

.navbar-nav-item:hover { color: var(--dv-dark) !important; }

.navbar-nav-item.active {
  color: var(--dv-dark) !important;
  border-bottom-color: var(--dv-dark) !important;
  background: transparent !important;
}

/* ══════════════════════════════════════════
   COUNT BAR
══════════════════════════════════════════ */
.table-count-bar {
  padding: 8px 48px !important;
  border-bottom: 1px solid var(--dv-line) !important;
  font-size: 10px !important;
  font-weight: 300 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--dv-muted) !important;
  background: var(--dv-white) !important;
  gap: 16px !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
}

/* Barre de métriques (style dashboard : label au-dessus, chiffre serif, séparateurs) */
.metrics-bar {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  gap: 0 !important;
  margin-right: 16px !important;
}
.metrics-bar-dashboard {
  border-top: 1px solid var(--dv-line) !important;
  padding-top: 10px !important;
}
.metric-item {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 4px !important;
  padding: 0 16px !important;
  border-right: 1px solid var(--dv-line) !important;
}
.metric-item:first-child {
  padding-left: 0 !important;
}
.metric-item:last-child {
  border-right: none !important;
  padding-right: 0 !important;
}
.metric-label {
  font-family: "Archivo", sans-serif !important;
  font-size: 8px !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--dv-muted) !important;
  line-height: 1.2 !important;
}
.metric-value {
  font-family: "Cormorant", "Barlow Condensed", Georgia, serif !important;
  font-size: 24px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  color: var(--dv-dark) !important;
}
.metric-value.metric-ok {
  color: var(--dv-green, #2e6644) !important;
}
.metric-value.metric-warn {
  color: var(--dv-amber, #8b5e00) !important;
}
.metric-value.metric-danger {
  color: var(--dv-red, #d0392b) !important;
}

/* ══════════════════════════════════════════
   TABLEAUX
══════════════════════════════════════════ */
.table-wrapper,
.admin-table-wrapper,
.table-responsive {
  background: var(--dv-white) !important;
  border: none !important;
  box-shadow: none !important;
}

.client-table,
.admin-table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-family: 'Archivo', sans-serif !important;
}

.client-table thead tr,
.admin-table thead tr {
  border-bottom: 1px solid var(--dv-dark) !important;
  background: transparent !important;
}

.client-table th,
.admin-table th {
  padding: 10px 16px 8px !important;
  font-family: 'Archivo', sans-serif !important;
  font-size: 8.5px !important;
  font-weight: 400 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--dv-muted) !important;
  text-align: left !important;
  background: transparent !important;
  border: none !important;
  white-space: nowrap !important;
}

.client-table th:first-child,
.admin-table th:first-child { padding-left: 48px !important; }
.client-table th:last-child,
.admin-table th:last-child  { padding-right: 48px !important; }

.client-table tbody tr,
.admin-table tbody tr {
  border-bottom: 1px solid var(--dv-line) !important;
  background: transparent !important;
  transition: background 0.1s !important;
}

.client-table tbody tr:hover,
.admin-table tbody tr:hover {
  background: rgba(30,29,26,0.02) !important;
}

/* Lignes retard */
.client-table tbody tr.late,
.client-table tbody tr[data-retard="true"] {
  background: var(--dv-red-bg) !important;
}

/* Lignes NA / ghost */
.client-table tbody tr.ghost,
.client-table tbody tr[data-na="true"],
.client-table tbody tr.na-row {
  opacity: 0.28 !important;
}

.client-table td,
.admin-table td {
  padding: 11px 16px !important;
  border: none !important;
  border-bottom: 1px solid var(--dv-line) !important;
  vertical-align: middle !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
  color: var(--dv-mid) !important;
}

.client-table td:first-child,
.admin-table td:first-child { padding-left: 48px !important; }
.client-table td:last-child,
.admin-table td:last-child  { padding-right: 48px !important; }

/* Cellule éditable active (focus clavier ou souris) — surbrillance type tableur */
#pagePlanTravail #suiviTable tbody td:has(select.task-select):focus-within,
#pagePlanTravail #suiviTable tbody td:has(select.task-input):focus-within,
#pagePlanTravail #suiviTable tbody td:has(input.task-input):focus-within,
#pagePlanTravail #clientTable tbody td:has(select.task-select):focus-within,
#pagePlanTravail #clientTable tbody td:has(select.task-input):focus-within,
#pagePlanTravail #clientTable tbody td:has(input.task-input):focus-within,
#pageDeclaration #declarationTable tbody td:has(select.task-select):focus-within,
#pageDeclaration #declarationTable tbody td:has(select.task-input):focus-within,
#pageDeclaration #declarationTable tbody td:has(input.task-input):focus-within,
#pageClotureAnnuelle #clotureAnnuelleTable tbody td.cloture-task-col:focus-within {
  background: rgba(46, 102, 68, 0.11) !important;
  outline: none !important;
  box-shadow: none !important;
  position: relative;
  z-index: 1;
}

/* Tableau Administration (Base clients) : même rendu que Plan de travail */
#pageBaseClients .base-clients-layout,
body.page-baseClients #pageBaseClients .base-clients-layout {
  background: var(--dv-white) !important;
  border: none !important;
  box-shadow: none !important;
  max-height: none !important;
  overflow: visible !important;
  width: 100% !important;
  padding-bottom: 2.5rem !important;
}
/* Scroll natif fluide : désactive scroll-behavior: smooth global sur cette vue */
html:has(body.page-baseClients) {
  scroll-behavior: auto !important;
}
/* Base clients : une seule zone de scroll (document) + en-têtes de colonnes collants */
body.page-baseClients .layout,
.layout:has(#pageBaseClients.active) {
  min-height: 100vh !important;
}
body.page-baseClients .app-main .shell,
.layout:has(#pageBaseClients.active) .app-main .shell {
  overflow: visible !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
  height: auto !important;
  min-height: 0 !important;
}
/* Pas de flex sur cette page : le JS mettait display:flex inline et cassait sticky sur le tableau */
#pageBaseClients.active {
  display: block !important;
  width: 100% !important;
  padding-bottom: 2rem !important;
  box-sizing: border-box !important;
  min-height: auto !important;
  overflow: visible !important;
}
#pageBaseClients .base-clients-toolbar {
  flex-shrink: 0 !important;
}
#pageBaseClients .base-clients-filters {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0.45rem 0.65rem !important;
  margin-bottom: 1rem !important;
  padding: 0 0 0 2px !important;
}
#pageBaseClients .base-clients-filters-ey {
  font-family: "Archivo", sans-serif !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--dv-mid, #6e6a62) !important;
  margin-right: 0.35rem !important;
}
#pageBaseClients .base-clients-filters .task-input {
  max-width: 168px !important;
  min-width: 120px !important;
  font-size: 14px !important;
}
#pageBaseClients .base-clients-filters #btnBaseFiltersReset {
  margin-left: 0.25rem !important;
}
#pageBaseClients .admin-table,
#pageBaseClients table.admin-table {
  overflow: visible !important;
}
#pageBaseClients .admin-table,
#pageBaseClients table.admin-table,
body.page-baseClients #pageBaseClients .admin-table {
  width: 100% !important;
  /* separate + spacing 0 : collapse casse position:sticky sur les <th> (Chrome / Safari) */
  border-collapse: separate !important;
  border-spacing: 0 !important;
  table-layout: auto !important;
  background: var(--dv-white) !important;
}
#pageBaseClients .admin-table thead th,
#pageBaseClients table.admin-table thead th,
body.page-baseClients #pageBaseClients .admin-table thead th {
  border: none !important;
  border-bottom: 2px solid var(--dv-line) !important;
  color: var(--dv-red) !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 400 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  text-align: left !important;
  padding: 11px 16px 9px !important;
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 20 !important;
  background: var(--dv-off) !important;
  background-color: var(--dv-off) !important;
  white-space: nowrap !important;
  box-shadow: 0 1px 0 rgba(30, 29, 26, 0.08) !important;
}
#pageBaseClients .admin-table thead th:first-child,
#pageBaseClients table.admin-table thead th:first-child {
  padding-left: 48px !important;
}
#pageBaseClients .admin-table thead th:last-child,
#pageBaseClients table.admin-table thead th:last-child {
  padding-right: 48px !important;
}
#pageBaseClients .admin-table tbody tr,
#pageBaseClients table.admin-table tbody tr {
  border-bottom: 1px solid var(--dv-line) !important;
  background: transparent !important;
  transition: background-color 0.16s ease !important;
}
#pageBaseClients .admin-table tbody tr:hover td,
#pageBaseClients table.admin-table tbody tr:hover td {
  background: rgba(30, 29, 26, 0.02) !important;
}
/* Base clients : surbrillance ligne au survol + ligne active au focus clavier (Tab) */
#pageBaseClients #baseClientsTable tbody tr:hover td {
  background-color: rgba(208, 57, 43, 0.09) !important;
}
#pageBaseClients #baseClientsTable tbody tr:focus-within td {
  background-color: rgba(208, 57, 43, 0.12) !important;
}
#pageBaseClients .admin-table tbody td,
#pageBaseClients table.admin-table tbody td {
  border: none !important;
  border-bottom: 1px solid var(--dv-line) !important;
  background: transparent !important;
  color: var(--dv-mid) !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  text-align: left !important;
  padding: 11px 16px !important;
  vertical-align: middle !important;
}
#pageBaseClients .admin-table tbody td:first-child,
#pageBaseClients table.admin-table tbody td:first-child {
  padding-left: 48px !important;
}
#pageBaseClients .admin-table tbody td:last-child,
#pageBaseClients table.admin-table tbody td:last-child {
  padding-right: 48px !important;
}
#pageBaseClients .admin-table td input,
#pageBaseClients .admin-table td select,
#pageBaseClients table.admin-table td input,
#pageBaseClients table.admin-table td select {
  background: transparent !important;
  border: 1px solid transparent !important;
  border-bottom: none !important;
  color: var(--dv-dark) !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  padding: 2px 0 !important;
  min-height: 24px !important;
  box-shadow: none !important;
}
#pageBaseClients .admin-table td input:focus,
#pageBaseClients .admin-table td select:focus,
#pageBaseClients table.admin-table td input:focus,
#pageBaseClients table.admin-table td select:focus {
  outline: none !important;
  border-bottom: none !important;
}
#pageBaseClients #baseClientsTable tbody td input:focus-visible,
#pageBaseClients #baseClientsTable tbody td select:focus-visible,
#pageBaseClients #baseClientsTable tbody td button:focus-visible,
#pageBaseClients #baseClientsTable tbody td a:focus-visible {
  outline: 2px solid rgba(208, 57, 43, 0.55) !important;
  outline-offset: 2px !important;
}
#pageBaseClients .admin-table .btn-danger,
#pageBaseClients table.admin-table .btn-danger {
  color: var(--dv-red) !important;
  border-color: var(--dv-line) !important;
  background: transparent !important;
  font-size: 15px !important;
  padding: 4px 8px !important;
}
#pageBaseClients .admin-table .btn-danger:hover,
#pageBaseClients table.admin-table .btn-danger:hover {
  background: var(--dv-red-bg) !important;
  border-color: var(--dv-red) !important;
}
/* Tri au clic conservé ; pas d’icônes (classes sort-asc / sort-desc toujours posées par le JS) */
#pageBaseClients #baseClientsTable thead th.sortable {
  cursor: pointer !important;
  user-select: none !important;
  padding-right: 16px !important;
}
#pageBaseClients #baseClientsTable thead th.sortable:hover {
  color: var(--dv-dark) !important;
}
#pageBaseClients #baseClientsTable thead th.sortable.sort-asc,
#pageBaseClients #baseClientsTable thead th.sortable.sort-desc {
  font-weight: 500 !important;
}
#pageBaseClients #baseClientsTable thead th.sortable::after,
#pageBaseClients #baseClientsTable thead th.sort-asc::after,
#pageBaseClients #baseClientsTable thead th.sort-desc::after,
#pageBaseClients #baseClientsTable thead th.sortable:hover::after {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
}

/* Base clients : colonnes compactes + nom abrégé côté JS ; police homogène (Archivo) */
#pageBaseClients #baseClientsTable {
  table-layout: fixed !important;
}
#pageBaseClients #baseClientsTable thead th {
  font-family: "Archivo", sans-serif !important;
  font-size: 11.5px !important;
}
#pageBaseClients #baseClientsTable tbody td {
  font-family: "Archivo", sans-serif !important;
  font-size: 15px !important;
}
#pageBaseClients #baseClientsTable tbody td input.task-input,
#pageBaseClients #baseClientsTable tbody td select.task-input {
  font-family: "Archivo", sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: var(--dv-dark) !important;
}
#pageBaseClients #baseClientsTable thead th:nth-child(1) {
  width: 14% !important;
  max-width: 18% !important;
}
#pageBaseClients #baseClientsTable thead th:nth-child(2) {
  width: 7.25rem !important;
  min-width: 7rem !important;
}
#pageBaseClients #baseClientsTable tbody td:first-child {
  overflow: hidden !important;
  vertical-align: middle !important;
}
#pageBaseClients #baseClientsTable tbody td:first-child input.task-input {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  cursor: text !important;
}
#pageBaseClients #baseClientsTable tbody td:first-child input.task-input:focus {
  overflow-x: auto !important;
}

/* Noms clients — Cormorant */
.col-name, td.col-name,
.client-name, td.client-name {
  font-family: 'Cormorant', serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: var(--dv-dark) !important;
}

/* ══════════════════════════════════════════
   STATUTS INLINE (pas de pills/badges)
══════════════════════════════════════════ */
.status-ok, [class*="ok-status"] {
  color: var(--dv-green) !important;
  font-weight: 500 !important;
  font-size: 11px !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

.status-late, .status-retard,
[class*="retard"], [class*="late-status"] {
  color: var(--dv-red) !important;
  font-weight: 500 !important;
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  background: transparent !important;
}

.status-credit {
  color: var(--dv-blue) !important;
  font-weight: 500 !important;
}

.status-warn, .status-encours {
  color: var(--dv-amber) !important;
  font-weight: 400 !important;
}

/* Jours restants */
.jours-restants-retard { color: var(--dv-red) !important; font-weight: 600 !important; }
.jours-restants-proche { color: var(--dv-amber) !important; font-weight: 500 !important; }
.jours-restants-ok     { color: var(--dv-green) !important; font-weight: 400 !important; }

/* ══════════════════════════════════════════
   BOUTONS
══════════════════════════════════════════ */
.btn, button.btn {
  font-family: 'Archivo', sans-serif !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 8px 16px !important;
  cursor: pointer !important;
  transition: all 0.12s !important;
  box-shadow: none !important;
  border: 1px solid var(--dv-line) !important;
  background: transparent !important;
  color: var(--dv-mid) !important;
}

.btn:hover, button.btn:hover {
  background: var(--dv-off) !important;
  border-color: var(--dv-mid) !important;
  color: var(--dv-dark) !important;
}

.btn-primary, button.btn-primary {
  background: var(--dv-dark) !important;
  border-color: var(--dv-dark) !important;
  color: var(--dv-white) !important;
}

.btn-primary:hover, button.btn-primary:hover {
  background: #2d2b27 !important;
  color: var(--dv-white) !important;
}

.btn-secondary, button.btn-secondary {
  background: transparent !important;
  border-color: var(--dv-line) !important;
  color: var(--dv-mid) !important;
}

.btn-danger, button.btn-danger,
.btn[style*="dc3545"], button[style*="dc3545"] {
  background: transparent !important;
  border-color: var(--dv-red) !important;
  color: var(--dv-red) !important;
}

.btn-danger:hover {
  background: var(--dv-red-bg) !important;
}

/* Stopper export */
#btnStopExportTVADeclarationRow,
#btnStopExportTVA,
#btnStopExportTVADeclaration {
  background: transparent !important;
  border-color: var(--dv-red) !important;
  color: var(--dv-red) !important;
}

/* ══════════════════════════════════════════
   INPUTS / SELECTS
══════════════════════════════════════════ */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="date"],
input[type="time"],
input[type="number"],
select,
textarea {
  font-family: 'Archivo', sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: var(--dv-dark) !important;
  background: transparent !important;
  border: 1px solid var(--dv-line) !important;
  padding: 6px 10px !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color 0.15s !important;
}

input:focus, select:focus, textarea:focus {
  border-color: var(--dv-dark) !important;
  box-shadow: none !important;
}

input::placeholder, textarea::placeholder {
  color: var(--dv-muted) !important;
  font-style: italic !important;
}

input[type="checkbox"], input[type="radio"] {
  accent-color: var(--dv-dark) !important;
}

/* ══════════════════════════════════════════
   GRANDS CHIFFRES / KPIs
══════════════════════════════════════════ */
.consultation-stat-label,
.stat-label, .kpi-label {
  font-family: 'Archivo', sans-serif !important;
  font-size: 9px !important;
  font-weight: 300 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--dv-muted) !important;
}

.consultation-stat-value,
.stat-value, .kpi-value {
  font-family: 'Cormorant', serif !important;
  font-size: 36px !important;
  font-weight: 300 !important;
  color: var(--dv-dark) !important;
  line-height: 1 !important;
}

/* ══════════════════════════════════════════
   CARDS / DASHBOARD
══════════════════════════════════════════ */
.card, .dashboard-table-card {
  background: var(--dv-white) !important;
  border: 1px solid var(--dv-line) !important;
  box-shadow: none !important;
  padding: 24px 32px !important;
}

.dashboard-chart-title {
  font-family: 'Archivo', sans-serif !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--dv-muted) !important;
}

/* ══════════════════════════════════════════
   MODALS
══════════════════════════════════════════ */
.time-entry-modal,
.modal {
  background: rgba(30,29,26,0.5) !important;
}

.time-entry-modal-content,
.modal-content {
  background: var(--dv-white) !important;
  border: 1px solid var(--dv-dark) !important;
  box-shadow: none !important;
}

.time-entry-modal-header,
.modal-header {
  border-bottom: 1px solid var(--dv-line) !important;
  padding: 20px 28px !important;
}

.time-entry-modal-title,
.modal-title {
  font-family: 'Cormorant', serif !important;
  font-size: 24px !important;
  font-weight: 300 !important;
  color: var(--dv-dark) !important;
}

.time-entry-modal-label,
.modal-label {
  font-family: 'Archivo', sans-serif !important;
  font-size: 8.5px !important;
  font-weight: 400 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--dv-muted) !important;
  display: block !important;
  margin-bottom: 5px !important;
}

.time-entry-modal-close {
  color: var(--dv-muted) !important;
  font-size: 20px !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  transition: color 0.15s !important;
}

.time-entry-modal-close:hover { color: var(--dv-dark) !important; }

/* ══════════════════════════════════════════
   TOASTS / NOTIFICATIONS
══════════════════════════════════════════ */
.toast, .notification {
  background: var(--dv-dark) !important;
  color: var(--dv-white) !important;
  border: none !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.2) !important;
  font-family: 'Archivo', sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0.05em !important;
}

.toast.success { background: var(--dv-green) !important; }
.toast.error   { background: var(--dv-red) !important; }

/* ══════════════════════════════════════════
   BANNERS INFO
══════════════════════════════════════════ */
[style*="background: #fff3cd"],
[style*="background:#fff3cd"] {
  background: var(--dv-off) !important;
  border-left-color: var(--dv-dark) !important;
  color: var(--dv-mid) !important;
}

[style*="background: #e7f3ff"],
[style*="background:#e7f3ff"],
[style*="background: rgb(231, 243, 255)"] {
  background: rgba(42,74,122,0.04) !important;
  border-left-color: var(--dv-blue) !important;
}

[style*="background: #f8f9fa"],
[style*="background:#f8f9fa"] {
  background: var(--dv-off) !important;
  border-color: var(--dv-line) !important;
}

/* ══════════════════════════════════════════
   LOADING
══════════════════════════════════════════ */
.loading-overlay { background: var(--dv-white) !important; }

.loading-spinner {
  border-color: var(--dv-line) !important;
  border-top-color: var(--dv-dark) !important;
  width: 24px !important;
  height: 24px !important;
  border-width: 1px !important;
}

.loading-message {
  font-family: 'Archivo', sans-serif !important;
  font-size: 10px !important;
  font-weight: 300 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: var(--dv-muted) !important;
}

/* ══════════════════════════════════════════
   EXPORT PROGRESS
══════════════════════════════════════════ */
.tva-export-loading-bar {
  background: var(--dv-line) !important;
  height: 2px !important;
}

.tva-export-loading-bar-inner {
  background: var(--dv-dark) !important;
  height: 100% !important;
}

/* ══════════════════════════════════════════
   CALENDRIER SUIVI TEMPS
   IMPORTANT: conserver la structure JS existante
   on surcharge uniquement les couleurs/typo
══════════════════════════════════════════ */
#timeCalendarContainer {
  background: var(--dv-white) !important;
}

.time-calendar-header-day {
  font-family: 'Archivo', sans-serif !important;
  font-size: 8.5px !important;
  font-weight: 400 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--dv-muted) !important;
  border-bottom: 1px solid var(--dv-line) !important;
}

.time-calendar-cell {
  border-right: 1px solid var(--dv-line) !important;
  border-bottom: 1px solid var(--dv-line) !important;
  background: var(--dv-white) !important;
  transition: background 0.1s !important;
}

.time-calendar-cell:hover { background: rgba(30,29,26,0.015) !important; }
.time-calendar-cell.today { background: rgba(30,29,26,0.035) !important; }
.time-calendar-cell.empty { background: rgba(30,29,26,0.012) !important; }

.time-calendar-day-number {
  font-family: 'Cormorant', serif !important;
  font-size: 18px !important;
  font-weight: 300 !important;
  color: var(--dv-muted) !important;
}

.time-calendar-day-number.today { color: var(--dv-dark) !important; }
.time-calendar-day-number.past  { color: var(--dv-line) !important; }

.time-entry-chip, .calendar-entry {
  font-family: 'Archivo', sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 400 !important;
  color: var(--dv-mid) !important;
  background: var(--dv-off) !important;
  border-left: 2px solid var(--dv-line) !important;
  box-shadow: none !important;
  transition: all 0.12s !important;
}

.time-entry-chip:hover, .calendar-entry:hover {
  background: var(--dv-line) !important;
  color: var(--dv-dark) !important;
}

/* Couleurs collaborateurs sur les chips */
.time-entry-chip[data-collab="TMA"], .entry-TMA { border-left-color: #7A9CB8 !important; }
.time-entry-chip[data-collab="DGU"], .entry-DGU { border-left-color: #9B8BB4 !important; }
.time-entry-chip[data-collab="HMO"], .entry-HMO { border-left-color: #8BB49B !important; }
.time-entry-chip[data-collab="BRL"], .entry-BRL { border-left-color: #B4A08B !important; }

/* ══════════════════════════════════════════
   CONTRÔLE HABILITATIONS — sticky cols
══════════════════════════════════════════ */
#controleHabilitationsTable th,
#controleHabilitationsTable td {
  font-family: 'Archivo', sans-serif !important;
  border: none !important;
  border-bottom: 1px solid var(--dv-line) !important;
  text-align: center !important;
}

#controleHabilitationsTable th:nth-child(1),
#controleHabilitationsTable td:nth-child(1) {
  position: sticky !important;
  left: 0 !important;
  background: var(--dv-white) !important;
  z-index: 2 !important;
  text-align: left !important;
  padding-left: 48px !important;
}

#controleHabilitationsTable th:nth-child(2),
#controleHabilitationsTable td:nth-child(2) {
  position: sticky !important;
  left: 200px !important;
  background: var(--dv-white) !important;
  z-index: 2 !important;
  text-align: left !important;
}

/* ══════════════════════════════════════════
   LOGIN / INVITATIONS
══════════════════════════════════════════ */
.login-overlay { background: var(--dv-off) !important; }

.login-box {
  background: var(--dv-white) !important;
  border: 1px solid var(--dv-dark) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.08) !important;
  padding: 48px !important;
}

/* ══════════════════════════════════════════
   SCROLLBARS
══════════════════════════════════════════ */
::-webkit-scrollbar { width: 4px; height: 4px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--dv-line); }
::-webkit-scrollbar-thumb:hover { background: var(--dv-muted); }

/* ══════════════════════════════════════════
   LIENS
══════════════════════════════════════════ */
a {
  color: var(--dv-mid) !important;
  text-underline-offset: 3px !important;
  text-decoration-color: var(--dv-line) !important;
  transition: color 0.15s !important;
}

a:hover {
  color: var(--dv-dark) !important;
  text-decoration-color: var(--dv-mid) !important;
}

/* ══════════════════════════════════════════
   INLINE STYLES OVERRIDES (urgences)
   Surcharge les styles inline hardcodés
══════════════════════════════════════════ */
[style*="color: #d32f2f"],
[style*="color:#d32f2f"],
[style*="color: rgb(211, 47, 47)"] {
  color: var(--dv-red) !important;
}

[style*="color: #28a745"],
[style*="color:#28a745"],
[style*="color: #2e7d32"] {
  color: var(--dv-green) !important;
}

[style*="color: #f57c00"],
[style*="color:#f57c00"],
[style*="color: #856404"] {
  color: var(--dv-amber) !important;
}

[style*="color: #2196F3"],
[style*="color:#2196F3"],
[style*="color: #007bff"] {
  color: var(--dv-blue) !important;
}

[style*="background-color: #007bff"],
[style*="background: #007bff"] {
  background: var(--dv-blue) !important;
}

[style*="border-radius: 6px"],
[style*="border-radius:6px"],
[style*="border-radius: 12px"],
[style*="border-radius: 8px"] {
  border-radius: 0 !important;
}

/* ==================================================
   PLAN TRAVAIL (colonnes historiques conservées)
   Alignement visuel strict avec la référence
   ================================================== */

/* Pleine largeur globale sur toutes les pages */
body .app-main {
  width: 100% !important;
  max-width: none !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Shell + page active : alignés sur echo-inline.css (flex:1, min-height:0).
   L’ancienne règle flex:0 0 auto sur le shell cassait la hauteur utile (écran blanc à droite)
   pour Échéances, Clôture, Suivi des temps, Charge dossiers, Occupation, etc. */
body .layout .app-main .shell,
body .app-main .shell {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  min-height: 0 !important;
  align-self: stretch !important;
  height: auto !important;
  overflow: hidden !important;
  justify-content: flex-start !important;
}

body .app-main .shell .page {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

body .app-main .shell .page.active {
  flex: 1 !important;
  min-height: 0 !important;
  align-self: stretch !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

/* Plan de travail, Déclaration : scroll du tableau uniquement — en-têtes page + ligne de colonnes restent visibles */
#pagePlanTravail .tw.table-wrapper,
#pagePlanTravail .table-wrapper.table-responsive,
#pageDeclaration .tw.table-wrapper,
#pageDeclaration .table-wrapper.table-responsive {
  overflow-y: auto !important;
  overflow-x: auto !important;
  max-height: min(70vh, 800px) !important;
  scroll-behavior: auto !important;
  overscroll-behavior-y: contain !important;
}

/* Page Synthèse : contenu en haut, pas d’espace blanc au-dessus du titre */
body.page-synthese .layout {
  align-items: flex-start !important;
}
body.page-synthese .app-main .shell,
.app-main .shell:has(#pageSynthese.active) {
  display: block !important;
  min-height: 0 !important;
  height: auto !important;
  overflow-y: visible !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
}
body.page-synthese .app-main {
  min-height: 0 !important;
  height: auto !important;
  align-self: flex-start !important;
}
body.page-synthese .app-main .shell #pageSynthese.active,
.app-main .shell:has(#pageSynthese.active) #pageSynthese.active {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
}

#pagePlanTravail {
  background: var(--dv-white) !important;
  color: var(--dv-dark) !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

/* Supprime les marges conteneur sur cette page uniquement */
body.page-planTravail .app-main .shell {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Conserver les contrôles JS mais les sortir du rendu visuel */
#pagePlanTravail .pt-hidden-controls {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
}

/* Header Plan de travail : sticky pour garder Période + filtres toujours visibles */
#pagePlanTravail .ph {
  padding: 36px 48px 28px !important;
  border-bottom: 1px solid var(--dv-line) !important;
  background: var(--dv-white) !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
}

#pagePlanTravail .ph-left {
  flex-shrink: 0;
}

/* Filtres à côté du titre (Période + Année) */
/* Header : métriques (chiffrés) en haut à droite, comme page Déclaration */
#pagePlanTravail .ph-r.ph-filters#suiviHeaderMetrics {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-end !important;
  justify-content: flex-end !important;
  gap: 20px 24px !important;
  padding-bottom: 4px !important;
}

#pagePlanTravail .ph-r.ph-filters#suiviHeaderMetrics .metrics-bar {
  margin-right: 0 !important;
}

/* Filtres pills (ligne sous le header) : style identique à avant */
#pagePlanTravail .pt-pills-row.fpill,
#pagePlanTravail .pt-pills-row .fpill {
  font-size: 9px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 6px 12px !important;
}

#pagePlanTravail .pt-pills-row .fpill.on {
  background: var(--dv-dark) !important;
  color: var(--dv-white) !important;
  border-color: var(--dv-dark) !important;
}

/* Métriques Plan de travail : cliquables, style actif (noir) */
#pagePlanTravail #suiviMetricsBar .metric-item {
  cursor: pointer !important;
  transition: background-color 0.15s ease, color 0.15s ease;
}
#pagePlanTravail #suiviMetricsBar .metric-item:hover {
  background-color: rgba(0,0,0,0.04);
  border-radius: 2px;
}
#pagePlanTravail #suiviMetricsBar .metric-item.on {
  background: var(--dv-dark) !important;
  color: var(--dv-white) !important;
  border-radius: 2px;
}
#pagePlanTravail #suiviMetricsBar .metric-item.on .metric-label,
#pagePlanTravail #suiviMetricsBar .metric-item.on .metric-value {
  color: var(--dv-white) !important;
}

#pagePlanTravail .ph-ey {
  font-family: "Archivo", sans-serif !important;
  font-size: 9px !important;
  font-weight: 300 !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  color: var(--dv-muted) !important;
  margin-bottom: 8px !important;
}

#pagePlanTravail .ph-ey {
  display: none !important;
}

#pagePlanTravail .ph-t {
  font-family: "Barlow Condensed", sans-serif !important;
  font-size: 56px !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
}

#pagePlanTravail .ph-t.pt-month-picker {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 10px !important;
}

#pagePlanTravail .ph-t.pt-month-picker .filter-dropdown-wrapper {
  position: relative !important;
}

#pagePlanTravail .ph-t.pt-month-picker #filterMonthButton,
#pagePlanTravail .ph-t.pt-month-picker #filterYearButton {
  font-family: "Barlow Condensed", sans-serif !important;
  font-size: 56px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0.01em !important;
  text-transform: uppercase !important;
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
  box-shadow: none !important;
}

#pagePlanTravail .ph-t.pt-month-picker #filterMonthButton {
  color: var(--dv-red) !important;
}

#pagePlanTravail .ph-t.pt-month-picker #filterMonthButton .filter-button-text {
  color: var(--dv-red) !important;
}

#pagePlanTravail .ph-t.pt-month-picker #filterYearButton {
  color: var(--dv-dark) !important;
}

#pagePlanTravail .ph-t.pt-month-picker #filterMonthButton .filter-button-text,
#pagePlanTravail .ph-t.pt-month-picker #filterYearButton .filter-button-text {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  letter-spacing: inherit !important;
  text-transform: inherit !important;
}

#pagePlanTravail .ph-t.pt-month-picker #filterMonthButton:hover,
#pagePlanTravail .ph-t.pt-month-picker #filterYearButton:hover {
  opacity: 0.82 !important;
}

#pagePlanTravail .ph-t.pt-month-picker #filterMonthButton:focus,
#pagePlanTravail .ph-t.pt-month-picker #filterYearButton:focus,
#pagePlanTravail .ph-t.pt-month-picker #filterMonthButton:focus-visible,
#pagePlanTravail .ph-t.pt-month-picker #filterYearButton:focus-visible {
  outline: none !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
}

#pagePlanTravail .ph-t.pt-month-picker #filterMonthButton .filter-button-text:focus,
#pagePlanTravail .ph-t.pt-month-picker #filterYearButton .filter-button-text:focus,
#pagePlanTravail .ph-t.pt-month-picker #filterMonthButton .filter-button-text:focus-visible,
#pagePlanTravail .ph-t.pt-month-picker #filterYearButton .filter-button-text:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

#pagePlanTravail .ph-t .tr {
  color: var(--dv-red) !important;
}

#pagePlanTravail .ph-t .tk {
  color: var(--dv-dark) !important;
}

#pagePlanTravail .ph-r {
  display: flex !important;
  gap: 12px !important;
  align-items: center !important;
  padding-bottom: 4px !important;
}

#pagePlanTravail .ph-r:empty {
  display: none !important;
}

#pagePlanTravail .ph-r .btn {
  font-family: "Archivo", sans-serif !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 8px 16px !important;
  border: 1px solid var(--dv-line) !important;
  background: transparent !important;
  color: var(--dv-mid) !important;
}

#pagePlanTravail .ph-r .btn:hover {
  background: var(--dv-off) !important;
  border-color: var(--dv-mid) !important;
  color: var(--dv-dark) !important;
}

#pagePlanTravail .tabs.suivi-tabs-container {
  display: flex !important;
  align-items: center !important;
  padding: 0 420px 0 48px !important;
  border-bottom: 1px solid var(--dv-line) !important;
  background: var(--dv-white) !important;
  position: relative !important;
}

#pagePlanTravail .tabs .navbar-nav.suivi-cycles-nav {
  display: flex !important;
  gap: 0 !important;
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  border-bottom: none !important;
  background: transparent !important;
}

#pagePlanTravail .tabs .navbar-nav-item.tab {
  font-family: "Archivo", sans-serif !important;
  font-size: 9.5px !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #9d988f !important;
  opacity: 1 !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  background: transparent !important;
  padding: 13px 14px !important;
  margin-bottom: -1px !important;
}

#pagePlanTravail .tabs .navbar-nav-item.tab:hover {
  color: var(--dv-dark) !important;
}

#pagePlanTravail .tabs .navbar-nav-item.tab.active,
#pagePlanTravail .tabs .navbar-nav-item.tab.on {
  color: var(--dv-dark) !important;
  font-weight: 500 !important;
  border-bottom-color: var(--dv-dark) !important;
}

/* Ligne : pills (gauche) + recherche client (droite), au-dessus des onglets */
#pagePlanTravail .fb.pt-cycle-toolbar {
  padding: 10px 48px !important;
  border-bottom: 1px solid var(--dv-line) !important;
  background: var(--dv-white) !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
}

#pagePlanTravail .fb.pt-cycle-toolbar .pt-pills-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  margin-right: auto !important;
}

#pagePlanTravail .fb.pt-cycle-toolbar .pt-pills-row .fpill {
  font-size: 9px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 6px 12px !important;
  border: 1px solid var(--dv-line) !important;
  background: transparent !important;
  color: var(--dv-mid) !important;
  cursor: pointer !important;
}

#pagePlanTravail .fb.pt-cycle-toolbar .pt-pills-row .fpill.on {
  background: var(--dv-dark) !important;
  color: var(--dv-white) !important;
  border-color: var(--dv-dark) !important;
}

#pagePlanTravail .fb.pt-cycle-toolbar .pt-pills-row + .fi,
#pagePlanTravail .fb.pt-cycle-toolbar .pt-pills-row ~ .fpill {
  margin-left: 0 !important;
}

#pagePlanTravail #suiviSearchInput.fi {
  font-family: "Archivo", sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: var(--dv-dark) !important;
  width: 280px !important;
  border: none !important;
  border-bottom: 1px solid var(--dv-line) !important;
  background: transparent !important;
  padding: 4px 0 !important;
  font-style: italic !important;
  position: static !important;
  right: auto !important;
  top: auto !important;
  z-index: auto !important;
  order: 99 !important;
  margin-left: auto !important;
}

#pagePlanTravail #suiviSearchInput.fi::placeholder {
  color: var(--dv-muted) !important;
}

#pagePlanTravail .fpill {
  font-family: "Archivo", sans-serif !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--dv-mid) !important;
  background: transparent !important;
  border: 1px solid var(--dv-line) !important;
  padding: 5px 12px !important;
  cursor: pointer !important;
}

#pagePlanTravail .fpill:hover {
  background: var(--dv-off) !important;
  border-color: var(--dv-mid) !important;
  color: var(--dv-dark) !important;
}

#pagePlanTravail .fpill.on {
  background: var(--dv-dark) !important;
  border-color: var(--dv-dark) !important;
  color: var(--dv-white) !important;
}

#pagePlanTravail #resetSuiviFilters {
  display: none !important;
}

#pagePlanTravail #filterSuiviToutBtn {
  display: none !important;
}

#pagePlanTravail select.fpill {
  appearance: none !important;
  -webkit-appearance: none !important;
  padding-right: 24px !important;
}

#pagePlanTravail #suiviTableCountBar {
  padding: 0 48px 8px !important;
  border-bottom: none !important;
  background: transparent !important;
  color: var(--dv-muted) !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 10px !important;
  font-weight: 300 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  justify-content: flex-start !important;
  min-height: 28px !important;
  margin-top: 0 !important;
  position: relative !important;
  z-index: 2 !important;
}

#pagePlanTravail[data-suivi-tab]:not([data-suivi-tab="cycle"]) #suiviTableCountBar {
  justify-content: flex-start !important;
  padding: 8px 48px 6px !important;
  margin-top: 0 !important;
  z-index: 2 !important;
}

#pagePlanTravail #suiviPaginationWrap {
  margin-left: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  white-space: nowrap !important;
  position: absolute !important;
  right: 48px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 8 !important;
}

#pagePlanTravail .tw.table-wrapper {
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  max-height: min(70vh, 800px) !important;
  background: var(--dv-white) !important;
  width: 100% !important;
  max-width: none !important;
  overflow-x: auto !important;
  overflow-y: auto !important;
}

/* Clôture annuelle : zone tableau occupe le reste de la hauteur viewport (scroll interne, pas de cap 70vh) */
#pageClotureAnnuelle .tw.table-wrapper,
#pageClotureAnnuelle .table-wrapper.table-responsive {
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  flex: 1 1 0% !important;
  min-height: 0 !important;
  max-height: none !important;
  background: var(--dv-white) !important;
  width: 100% !important;
  max-width: none !important;
  overflow-x: auto !important;
  overflow-y: auto !important;
  scroll-behavior: auto !important;
  overscroll-behavior-y: contain !important;
}

/* Onglet Cycle : masquer clientTable (le JS affiche suiviTable) */
#pagePlanTravail[data-suivi-tab="cycle"] #clientTable {
  display: none !important;
}

/* Tableau historique : rendu référence (sans changer les colonnes/IDs) */
#pagePlanTravail #suiviTable,
#pagePlanTravail #clientTable {
  width: 100% !important;
  border-collapse: collapse !important;
  table-layout: auto !important;
  background: var(--dv-white) !important;
}

/* En-têtes tableau Plan de travail : identique à Administration - Base client (fond off-white, texte rouge) */
#pagePlanTravail #suiviTable thead th,
#pagePlanTravail #clientTable thead th {
  border: none !important;
  border-bottom: 2px solid var(--dv-line) !important;
  color: var(--dv-red) !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 8.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  text-align: left !important;
  padding: 10px 16px 8px !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 12 !important;
  background: var(--dv-off) !important;
  background-color: var(--dv-off) !important;
  white-space: nowrap !important;
}

#pagePlanTravail #suiviTable thead,
#pagePlanTravail #clientTable thead,
#pagePlanTravail #suiviTable thead tr,
#pagePlanTravail #clientTable thead tr,
#pagePlanTravail #suiviTable thead th,
#pagePlanTravail #clientTable thead th {
  background: var(--dv-off) !important;
  background-color: var(--dv-off) !important;
  background-image: none !important;
}

#pagePlanTravail #suiviTable thead th:first-child,
#pagePlanTravail #clientTable thead th:first-child {
  padding-left: 48px !important;
}

#pagePlanTravail #suiviTable thead th:last-child,
#pagePlanTravail #clientTable thead th:last-child {
  padding-right: 48px !important;
}

#pagePlanTravail #suiviTable tbody tr,
#pagePlanTravail #clientTable tbody tr {
  border-bottom: 1px solid var(--dv-line) !important;
  background: transparent !important;
}

#pagePlanTravail #suiviTable tbody tr:hover td,
#pagePlanTravail #clientTable tbody tr:hover td {
  background: rgba(30, 29, 26, 0.02) !important;
}

#pagePlanTravail #suiviTable tbody td,
#pagePlanTravail #clientTable tbody td {
  border: none !important;
  border-bottom: 1px solid var(--dv-line) !important;
  background: transparent !important;
  color: var(--dv-mid) !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  text-align: left !important;
  padding: 11px 16px !important;
  opacity: 1 !important;
}

/* Conserver l'UX d'alerte deadlines : pas de fond, barre latérale + texte en gras/couleur */
#pagePlanTravail #suiviTable tbody tr.row-overdue td,
#pagePlanTravail #suiviTable tbody tr[data-due-status="overdue"] td,
#pagePlanTravail #clientTable tbody tr.row-overdue td,
#pagePlanTravail #clientTable tbody tr[data-due-status="overdue"] td {
  background: transparent !important;
}

#pagePlanTravail #suiviTable tbody tr.row-urgent td,
#pagePlanTravail #suiviTable tbody tr[data-due-status="urgent"] td,
#pagePlanTravail #clientTable tbody tr.row-urgent td,
#pagePlanTravail #clientTable tbody tr[data-due-status="urgent"] td {
  background: transparent !important;
}

#pagePlanTravail #suiviTable tbody tr.row-approaching td,
#pagePlanTravail #suiviTable tbody tr[data-due-status="approaching"] td,
#pagePlanTravail #clientTable tbody tr.row-approaching td,
#pagePlanTravail #clientTable tbody tr[data-due-status="approaching"] td {
  background: transparent !important;
}

#pagePlanTravail #suiviTable tbody tr.row-jpo-ok td,
#pagePlanTravail #suiviTable tbody tr[data-jpo-ok="true"] td,
#pagePlanTravail #clientTable tbody tr.row-jpo-ok td,
#pagePlanTravail #clientTable tbody tr[data-jpo-ok="true"] td {
  background: transparent !important;
}

#pagePlanTravail #suiviTable tbody tr.row-overdue td:first-child,
#pagePlanTravail #suiviTable tbody tr[data-due-status="overdue"] td:first-child,
#pagePlanTravail #clientTable tbody tr.row-overdue td:first-child,
#pagePlanTravail #clientTable tbody tr[data-due-status="overdue"] td:first-child {
  box-shadow: inset 3px 0 0 var(--dv-red) !important;
}

#pagePlanTravail #suiviTable tbody tr.row-urgent td:first-child,
#pagePlanTravail #suiviTable tbody tr[data-due-status="urgent"] td:first-child,
#pagePlanTravail #clientTable tbody tr.row-urgent td:first-child,
#pagePlanTravail #clientTable tbody tr[data-due-status="urgent"] td:first-child {
  box-shadow: inset 3px 0 0 var(--dv-amber) !important;
}

#pagePlanTravail #suiviTable tbody tr.row-approaching td:first-child,
#pagePlanTravail #suiviTable tbody tr[data-due-status="approaching"] td:first-child,
#pagePlanTravail #clientTable tbody tr.row-approaching td:first-child,
#pagePlanTravail #clientTable tbody tr[data-due-status="approaching"] td:first-child {
  box-shadow: inset 3px 0 0 #b08a3d !important;
}

#pagePlanTravail #suiviTable tbody tr.row-jpo-ok td:first-child,
#pagePlanTravail #suiviTable tbody tr[data-jpo-ok="true"] td:first-child,
#pagePlanTravail #clientTable tbody tr.row-jpo-ok td:first-child,
#pagePlanTravail #clientTable tbody tr[data-jpo-ok="true"] td:first-child {
  box-shadow: inset 3px 0 0 var(--dv-green) !important;
}

#pagePlanTravail #suiviTable tbody tr.row-ap-na td,
#pagePlanTravail #suiviTable tbody tr[data-ap-na="true"] td,
#pagePlanTravail #clientTable tbody tr.row-ap-na td,
#pagePlanTravail #clientTable tbody tr[data-ap-na="true"] td {
  opacity: 0.42 !important;
}

#pagePlanTravail #suiviTable td.due-overdue,
#pagePlanTravail #clientTable td.due-overdue {
  color: var(--dv-red) !important;
}

#pagePlanTravail #suiviTable td.due-urgent,
#pagePlanTravail #clientTable td.due-urgent,
#pagePlanTravail #suiviTable td.due-approaching,
#pagePlanTravail #clientTable td.due-approaching {
  color: var(--dv-amber) !important;
}

#pagePlanTravail #suiviTable .due-days-badge,
#pagePlanTravail #clientTable .due-days-badge {
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid currentColor !important;
  padding: 1px 6px !important;
  font-size: 9px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  background: transparent !important;
}

#pagePlanTravail #suiviTable th[data-group]:not([data-group="infos"]),
#pagePlanTravail #suiviTable td[data-group]:not([data-group="infos"]),
#pagePlanTravail #clientTable th[data-group]:not([data-group="infos"]),
#pagePlanTravail #clientTable td[data-group]:not([data-group="infos"]) {
  text-align: center !important;
}

#pagePlanTravail #suiviTable tbody td:first-child,
#pagePlanTravail #clientTable tbody td:first-child {
  padding-left: 48px !important;
}

#pagePlanTravail #suiviTable tbody td:last-child,
#pagePlanTravail #clientTable tbody td:last-child {
  padding-right: 48px !important;
}

#pagePlanTravail #suiviTable tbody td.col-name,
#pagePlanTravail #suiviTable tbody td.col-name *,
#pagePlanTravail #clientTable tbody td.col-name,
#pagePlanTravail #clientTable tbody td.col-name * {
  font-family: "Cormorant", serif !important;
  font-size: 15px !important;
  color: var(--dv-dark) !important;
}

/* Statuts / indicateurs historiques : lisibilité modèle */
#pagePlanTravail #suiviTable .st,
#pagePlanTravail #suiviTable [class*="status-"],
#pagePlanTravail #clientTable .st,
#pagePlanTravail #clientTable [class*="status-"] {
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  background: transparent !important;
}

/* UX statuts : lecture immédiate des états de production */
/* Statuts Plan de travail : pas de fond, police en gras + couleurs bien visibles */
#pagePlanTravail #suiviTable .task-select.status-ok,
#pagePlanTravail #clientTable .task-select.status-ok {
  color: var(--dv-green) !important;
  font-weight: 700 !important;
}

#pagePlanTravail #suiviTable .task-select.status-encours,
#pagePlanTravail #clientTable .task-select.status-encours {
  color: var(--dv-amber) !important;
  font-weight: 700 !important;
}

#pagePlanTravail #suiviTable .task-select.status-a-revoir,
#pagePlanTravail #clientTable .task-select.status-a-revoir,
#pagePlanTravail #suiviTable .task-select.status-refus,
#pagePlanTravail #clientTable .task-select.status-refus {
  color: var(--dv-red) !important;
  font-weight: 700 !important;
}

#pagePlanTravail #suiviTable .task-select.status-suspens,
#pagePlanTravail #clientTable .task-select.status-suspens,
#pagePlanTravail #suiviTable .task-select.status-mail,
#pagePlanTravail #clientTable .task-select.status-mail {
  color: var(--dv-blue) !important;
  font-weight: 700 !important;
}

#pagePlanTravail #suiviTable .task-select.status-na,
#pagePlanTravail #clientTable .task-select.status-na {
  color: var(--dv-muted) !important;
}

#pagePlanTravail #suiviTable .task-select.status-en-attente,
#pagePlanTravail #clientTable .task-select.status-en-attente {
  color: var(--dv-amber) !important;
  font-weight: 700 !important;
}

#pagePlanTravail #suiviTable .task-select.status-retard,
#pagePlanTravail #clientTable .task-select.status-retard {
  color: var(--dv-red) !important;
  font-weight: 700 !important;
}

#pagePlanTravail #suiviTable .dot,
#pagePlanTravail #clientTable .dot {
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  display: inline-block !important;
}

/* Champs dynamiques en mode discret (garde la logique d'édition) */
#pagePlanTravail #suiviTable td input,
#pagePlanTravail #suiviTable td select,
#pagePlanTravail #clientTable td input,
#pagePlanTravail #clientTable td select {
  background: transparent !important;
  border: 1px solid transparent !important;
  border-bottom: none !important;
  color: var(--dv-dark) !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  padding: 2px 0 !important;
  min-height: 20px !important;
  box-shadow: none !important;
}

#pagePlanTravail #suiviTable td input:focus,
#pagePlanTravail #suiviTable td select:focus,
#pagePlanTravail #clientTable td input:focus,
#pagePlanTravail #clientTable td select:focus {
  outline: none !important;
  border-bottom: none !important;
}

#pagePlanTravail .foot {
  padding: 14px 48px !important;
  border-top: 1px solid var(--dv-line) !important;
  background: var(--dv-white) !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

#pagePlanTravail .foot .foot-i {
  font-family: "Archivo", sans-serif !important;
  font-size: 9px !important;
  font-weight: 300 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: var(--dv-muted) !important;
}

/* =========================================================
   PAGE DECLARATION — alignée UX Plan de travail
========================================================= */
#pageDeclaration {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: var(--dv-white) !important;
}

#pageDeclaration .filters-bar {
  padding: 0 !important;
  background: var(--dv-white) !important;
  border-bottom: 1px solid var(--dv-line) !important;
}

#pageDeclaration .filters-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  padding: 10px 48px !important;
  border-bottom: 1px solid var(--dv-line) !important;
}

#pageDeclaration .filters-row.filters-row-actions {
  justify-content: flex-end !important;
}

#pageDeclaration .filter-button,
#pageDeclaration .filter-button.btn,
#pageDeclaration .filters-row .btn {
  font-family: "Archivo", sans-serif !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--dv-mid) !important;
  background: transparent !important;
  border: 1px solid var(--dv-line) !important;
  border-radius: 0 !important;
  padding: 6px 12px !important;
}

#pageDeclaration .filter-button:hover,
#pageDeclaration .filter-button.btn:hover,
#pageDeclaration .filters-row .btn:hover {
  color: var(--dv-dark) !important;
  border-color: var(--dv-mid) !important;
  background: var(--dv-off) !important;
}

/* Pills Déclaration (dans le ph à droite) : pas de fond gris, même style que Plan de travail */
#pageDeclaration .declaration-pills-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
}
#pageDeclaration .declaration-pill,
#pageDeclaration .declaration-pills-row .fpill {
  font-family: "Archivo", sans-serif !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--dv-mid) !important;
  background: var(--dv-white) !important;
  border: 1px solid var(--dv-line) !important;
  border-radius: 0 !important;
  padding: 6px 12px !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  transition: background 0.12s, border-color 0.12s, color 0.12s !important;
}
#pageDeclaration .declaration-pill:hover,
#pageDeclaration .declaration-pills-row .fpill:hover {
  background: var(--dv-off) !important;
  border-color: var(--dv-mid) !important;
  color: var(--dv-dark) !important;
}
/* Pill active (coché) : pas d’effet noir, même style que non coché */
#pageDeclaration .declaration-pill:has(.declaration-pill-input:checked),
#pageDeclaration #declarationCheckboxFiltersBar .declaration-pill:has(.declaration-pill-input:checked),
#pageDeclaration .declaration-pills-row .fpill.on {
  background: var(--dv-dark) !important;
  border-color: var(--dv-dark) !important;
  color: var(--dv-white) !important;
}
/* Supprimer toute icône (::after) sur les pills Déclaration */
#pageDeclaration #declarationCheckboxFiltersBar .declaration-pill::after,
#pageDeclaration #declarationCheckboxFiltersBar span[id$="Wrapper"]::after {
  display: none !important;
  content: none !important;
  background: none !important;
  width: 0 !important;
  height: 0 !important;
}
/* Input masqué visuellement mais restant cliquable via le label (pas de pointer-events: none) */
#pageDeclaration .declaration-pill-input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
}

#pageDeclaration #declarationTableCountBar {
  padding: 0 48px 8px !important;
  border: none !important;
  border-bottom: 1px solid var(--dv-line) !important;
  background: var(--dv-white) !important;
  color: var(--dv-muted) !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 10px !important;
  font-weight: 300 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

#pageDeclaration #declarationTableCountText {
  margin-right: 8px !important;
  white-space: nowrap !important;
}

#pageDeclaration #declarationSearchInput {
  margin-left: auto !important;
  order: 90 !important;
  width: 300px !important;
  max-width: 300px !important;
  min-width: 220px !important;
  border: none !important;
  border-bottom: 1px solid var(--dv-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--dv-dark) !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 12px !important;
  font-style: italic !important;
  padding: 4px 0 !important;
}

#pageDeclaration #declarationSearchInput::placeholder {
  color: var(--dv-muted) !important;
}

#pageDeclaration #declarationTableCountBar > span[id$="Wrapper"] label {
  font-family: "Archivo", sans-serif !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--dv-mid) !important;
  white-space: nowrap !important;
}

#pageDeclaration #declarationPaginationWrap {
  margin-left: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  white-space: nowrap !important;
}

#pageDeclaration #declarationPaginationPrev,
#pageDeclaration #declarationPaginationNext {
  font-family: "Archivo", sans-serif !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--dv-mid) !important;
  border: 1px solid var(--dv-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 4px 10px !important;
}

#pageDeclaration #declarationPaginationPrev:hover,
#pageDeclaration #declarationPaginationNext:hover {
  color: var(--dv-dark) !important;
  border-color: var(--dv-mid) !important;
  background: var(--dv-off) !important;
}

#pageDeclaration .table-wrapper.table-responsive {
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  max-height: min(70vh, 800px) !important;
  background: var(--dv-white) !important;
  width: 100% !important;
  max-width: none !important;
  overflow-y: auto !important;
  overflow-x: auto !important;
}

#pageDeclaration #declarationTable {
  width: 100% !important;
  border-collapse: collapse !important;
  table-layout: auto !important;
  background: var(--dv-white) !important;
}

/* En-têtes tableau Déclaration : gris discret (UX type suivi déclarations) */
/* En-tête tableau Déclaration : identique à Administration / Plan de travail (fond off-white, texte rouge) */
#pageDeclaration #declarationTable thead th {
  border: none !important;
  border-bottom: 2px solid var(--dv-line) !important;
  color: var(--dv-red) !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 8.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  padding: 10px 16px 8px !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 12 !important;
  background: var(--dv-off) !important;
  background-color: var(--dv-off) !important;
  white-space: nowrap !important;
}

#pageDeclaration #declarationTable thead,
#pageDeclaration #declarationTable thead tr,
#pageDeclaration #declarationTable thead th {
  background: var(--dv-off) !important;
  background-color: var(--dv-off) !important;
}

#pageDeclaration #declarationTable thead th:first-child {
  padding-left: 48px !important;
}

#pageDeclaration #declarationTable thead th:last-child {
  padding-right: 48px !important;
}

#pageDeclaration #declarationTable tbody tr {
  border-bottom: 1px solid #ddd9d0 !important;
  background: transparent !important;
}

/* Ligne en retard : pas de fond, barre latérale rouge suffit */
#pageDeclaration #declarationTable tbody tr.row-overdue td,
#pageDeclaration #declarationTable tbody tr[data-due-status="overdue"] td {
  background: transparent !important;
}

#pageDeclaration #declarationTable tbody tr:hover td {
  background: rgba(30, 29, 26, 0.02) !important;
}

#pageDeclaration #declarationTable tbody td {
  border: none !important;
  border-bottom: 1px solid #ddd9d0 !important;
  background: transparent !important;
  color: #5f5b54 !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  text-align: center !important;
  padding: 11px 16px !important;
  opacity: 1 !important;
}

#pageDeclaration #declarationTable tbody td:first-child {
  padding-left: 48px !important;
}

#pageDeclaration #declarationTable tbody td:last-child {
  padding-right: 48px !important;
}

#pageDeclaration #declarationTable tbody td.col-name,
#pageDeclaration #declarationTable tbody td.col-name * {
  font-family: "Cormorant", serif !important;
  font-size: 15px !important;
  color: var(--dv-dark) !important;
}

/* Statuts : pas de fond, police en gras + couleurs bien visibles */
#pageDeclaration #declarationTable .task-select.status-ok {
  color: var(--dv-green) !important;
  font-weight: 700 !important;
}

#pageDeclaration #declarationTable .task-select.status-encours {
  color: var(--dv-amber) !important;
  font-weight: 700 !important;
}

#pageDeclaration #declarationTable .task-select.status-a-revoir,
#pageDeclaration #declarationTable .task-select.status-refus {
  color: var(--dv-red) !important;
  font-weight: 700 !important;
}

#pageDeclaration #declarationTable .task-select.status-suspens,
#pageDeclaration #declarationTable .task-select.status-mail {
  color: var(--dv-blue) !important;
  font-weight: 700 !important;
}

#pageDeclaration #declarationTable .task-select.status-na {
  color: var(--dv-muted) !important;
}

#pageDeclaration #declarationTable .task-select.status-en-attente {
  color: var(--dv-amber) !important;
  font-weight: 700 !important;
}

#pageDeclaration #declarationTable .task-select.status-retard {
  color: var(--dv-red) !important;
  font-weight: 700 !important;
}

/* Échéance en retard : date en rouge */
#pageDeclaration #declarationTable td.echeance-alert-overdue,
#pageDeclaration #declarationTable .echeance-overdue {
  color: var(--dv-red) !important;
}

#pageDeclaration #declarationTable td input,
#pageDeclaration #declarationTable td select {
  background: transparent !important;
  border: 1px solid transparent !important;
  border-bottom: none !important;
  color: var(--dv-dark) !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  padding: 2px 0 !important;
  min-height: 20px !important;
  box-shadow: none !important;
}

#pageDeclaration #declarationTable td input:focus,
#pageDeclaration #declarationTable td select:focus {
  outline: none !important;
  border-bottom: none !important;
}

/* Ajustement strict : structure visuelle Plan de travail */
#pageDeclaration .filters-row:first-child {
  padding: 18px 48px 12px !important;
  border-bottom: 1px solid var(--dv-line) !important;
  gap: 10px !important;
  justify-content: flex-start !important;
}

#pageDeclaration .filters-row:first-child .filter-dropdown-wrapper:nth-child(3) {
  margin-left: auto !important;
}

#pageDeclaration #filterDeclarationMonthButton,
#pageDeclaration #filterDeclarationYearButton {
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  min-height: 0 !important;
  line-height: 0.9 !important;
}

#pageDeclaration #filterDeclarationMonthButton .filter-button-text {
  font-family: "Archivo", sans-serif !important;
  font-size: 56px !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  color: var(--dv-red) !important;
}

#pageDeclaration #filterDeclarationYearButton .filter-button-text {
  font-family: "Archivo", sans-serif !important;
  font-size: 52px !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  color: var(--dv-dark) !important;
}

#pageDeclaration #filterDeclarationDateEcheanceButton,
#pageDeclaration #filterDeclarationCollaborateurButton,
#pageDeclaration #filterDeclarationStatutButton,
#pageDeclaration #filterDeclarationRegimeButton {
  font-size: 9px !important;
  padding: 6px 12px !important;
}

/* Filtre sélectionné : fond noir comme Plan de travail */
#pageDeclaration .filter-dropdown-wrapper.has-active .filter-button {
  background: var(--dv-dark) !important;
  border-color: var(--dv-dark) !important;
  color: var(--dv-white) !important;
  font-weight: 700 !important;
}

#pageDeclaration .filter-dropdown-wrapper.has-active .filter-button .filter-button-text {
  font-weight: 700 !important;
  color: var(--dv-white) !important;
}

#pageDeclaration .filter-dropdown-wrapper.has-active .filter-button:hover {
  background: var(--dv-dark) !important;
  border-color: var(--dv-dark) !important;
  color: var(--dv-white) !important;
  opacity: 0.9;
}

#pageDeclaration .filters-row.filters-row-actions {
  padding: 10px 48px !important;
  justify-content: flex-start !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  border-bottom: 1px solid var(--dv-line) !important;
}

#pageDeclaration .filters-row.filters-row-actions .filter-dropdown-wrapper {
  margin-right: 2px !important;
}

#pageDeclaration #declarationSearchInput {
  order: 80 !important;
  margin-left: auto !important;
  width: 280px !important;
  max-width: 280px !important;
  align-self: center !important;
}

#pageDeclaration #declarationPaginationWrap {
  order: 90 !important;
  margin-left: 10px !important;
  align-self: center !important;
}

#pageDeclaration #declarationTableCountBar {
  padding: 7px 48px !important;
  gap: 8px !important;
}

#pageDeclaration #declarationTableCountBar > span[id$="Wrapper"] {
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid var(--dv-line) !important;
  padding: 3px 8px !important;
  background: transparent !important;
}

/* Finition typographique stricte — Déclaration = Plan de travail */
#pageDeclaration,
#pageDeclaration button,
#pageDeclaration input,
#pageDeclaration select,
#pageDeclaration label,
#pageDeclaration span,
#pageDeclaration div,
#pageDeclaration td,
#pageDeclaration th {
  font-family: "Archivo", sans-serif !important;
}

#pageDeclaration #declarationTable tbody td.col-name,
#pageDeclaration #declarationTable tbody td.col-name *,
#pageDeclaration #declarationTable tbody td[data-sort="name"],
#pageDeclaration #declarationTable tbody td[data-sort="name"] * {
  font-family: "Cormorant", serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: var(--dv-dark) !important;
}

#pageDeclaration .filter-button .filter-button-text,
#pageDeclaration .filters-row .filter-button-text {
  font-size: 9px !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

#pageDeclaration #filterDeclarationMonthButton .filter-button-text {
  font-size: 56px !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  line-height: 0.92 !important;
}

#pageDeclaration #filterDeclarationYearButton .filter-button-text {
  font-size: 52px !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  line-height: 0.92 !important;
}

#pageDeclaration #declarationTableCountText {
  font-size: 10px !important;
  font-weight: 300 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

#pageDeclaration #declarationTableCountBar > span[id$="Wrapper"] label {
  font-size: 8.5px !important;
  letter-spacing: 0.1em !important;
}

#pageDeclaration #declarationTableCountBar input[type="checkbox"] {
  transform: scale(0.9) !important;
}

/* Match exact du bloc titre avec Plan de travail */
#pageDeclaration .filters-row:first-child {
  align-items: baseline !important;
  gap: 10px !important;
}

#pageDeclaration .filters-row:first-child .filter-dropdown-wrapper {
  display: inline-flex !important;
  align-items: baseline !important;
}

#pageDeclaration #filterDeclarationMonthButton,
#pageDeclaration #filterDeclarationYearButton {
  font-family: "Barlow Condensed", sans-serif !important;
  font-size: 56px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0.01em !important;
  text-transform: uppercase !important;
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
  box-shadow: none !important;
}

#pageDeclaration #filterDeclarationMonthButton .filter-button-text,
#pageDeclaration #filterDeclarationYearButton .filter-button-text {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  letter-spacing: inherit !important;
  text-transform: inherit !important;
}

#pageDeclaration #filterDeclarationMonthButton {
  color: var(--dv-red) !important;
}

#pageDeclaration #filterDeclarationYearButton {
  color: var(--dv-dark) !important;
}

#pageDeclaration #filterDeclarationMonthButton:hover,
#pageDeclaration #filterDeclarationYearButton:hover {
  opacity: 0.82 !important;
}

#pageDeclaration #filterDeclarationMonthButton:focus,
#pageDeclaration #filterDeclarationYearButton:focus,
#pageDeclaration #filterDeclarationMonthButton:focus-visible,
#pageDeclaration #filterDeclarationYearButton:focus-visible {
  outline: none !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
  -webkit-tap-highlight-color: transparent !important;
}
#pageDeclaration .ph-t #filterDeclarationMonthButton:focus,
#pageDeclaration .ph-t #filterDeclarationYearButton:focus,
#pageDeclaration .ph-t #filterDeclarationMonthButton:focus-visible,
#pageDeclaration .ph-t #filterDeclarationYearButton:focus-visible,
#pageDeclaration .ph-t #filterDeclarationMonthButton *:focus,
#pageDeclaration .ph-t #filterDeclarationYearButton *:focus,
#pageDeclaration .ph-t #filterDeclarationMonthButton *:focus-visible,
#pageDeclaration .ph-t #filterDeclarationYearButton *:focus-visible {
  outline: none !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
}

/* =========================================================
   PAGE CLOTURE ANNUELLE — alignée UX Plan de travail
========================================================= */
#pageClotureAnnuelle {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: var(--dv-white) !important;
  font-family: "Archivo", sans-serif !important;
}

#pageClotureAnnuelle .shell-title {
  font-family: "Barlow Condensed", sans-serif !important;
  font-size: 56px !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  line-height: 1 !important;
  color: var(--dv-dark) !important;
  margin: 0 0 10px 0 !important;
  padding: 0 48px !important;
  text-transform: uppercase !important;
}

#pageClotureAnnuelle .filters-bar {
  border-bottom: 1px solid var(--dv-line) !important;
  background: var(--dv-white) !important;
}

#pageClotureAnnuelle .filters-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  padding: 10px 48px !important;
  border-bottom: 1px solid var(--dv-line) !important;
}

#pageClotureAnnuelle .filter-button {
  font-family: "Archivo", sans-serif !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--dv-mid) !important;
  background: transparent !important;
  border: 1px solid var(--dv-line) !important;
  border-radius: 0 !important;
  padding: 6px 12px !important;
}

#pageClotureAnnuelle .filter-button:hover {
  color: var(--dv-dark) !important;
  border-color: var(--dv-mid) !important;
  background: var(--dv-off) !important;
}

#pageClotureAnnuelle .suivi-tabs-container {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0 48px !important;
  border-bottom: 1px solid var(--dv-line) !important;
  background: var(--dv-white) !important;
  position: relative !important;
}

#pageClotureAnnuelle .suivi-cycles-nav {
  display: flex !important;
  gap: 0 !important;
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  border-bottom: none !important;
  background: transparent !important;
}

#pageClotureAnnuelle .suivi-cycles-nav .navbar-nav-item {
  font-family: "Archivo", sans-serif !important;
  font-size: 9.5px !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #9d988f !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  background: transparent !important;
  padding: 13px 14px !important;
  margin-bottom: -1px !important;
}

#pageClotureAnnuelle .suivi-cycles-nav .navbar-nav-item.active {
  color: var(--dv-dark) !important;
  font-weight: 500 !important;
  border-bottom-color: var(--dv-dark) !important;
}

#pageClotureAnnuelle #filterClotureAnnuelleDossier {
  margin-left: auto !important;
  width: 280px !important;
  max-width: 280px !important;
  min-width: 220px !important;
  border: none !important;
  border-bottom: 1px solid var(--dv-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--dv-dark) !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 12px !important;
  font-style: italic !important;
  padding: 4px 0 !important;
}

#pageClotureAnnuelle #filterClotureAnnuelleDossier::placeholder {
  color: var(--dv-muted) !important;
}

#pageClotureAnnuelle #clotureAnnuellePaginationWrap {
  margin-left: 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  white-space: nowrap !important;
}

#pageClotureAnnuelle #clotureAnnuellePaginationPrev,
#pageClotureAnnuelle #clotureAnnuellePaginationNext {
  font-family: "Archivo", sans-serif !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--dv-mid) !important;
  border: 1px solid var(--dv-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 4px 10px !important;
}

#pageClotureAnnuelle #clotureAnnuellePaginationPrev:hover,
#pageClotureAnnuelle #clotureAnnuellePaginationNext:hover {
  color: var(--dv-dark) !important;
  border-color: var(--dv-mid) !important;
  background: var(--dv-off) !important;
}

#pageClotureAnnuelle #clotureAnnuelleTableCountBar {
  padding: 9px 48px !important;
  border: none !important;
  border-bottom: 1px solid var(--dv-line) !important;
  color: #5a6b62 !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: rgba(255, 255, 255, 0.65) !important;
}

#pageClotureAnnuelle .table-wrapper.table-responsive {
  border: none !important;
  border-radius: 0 !important;
  box-shadow: 0 1px 0 rgba(30, 29, 26, 0.04) !important;
  margin: 0 !important;
  background: rgba(255, 255, 255, 0.92) !important;
  width: 100% !important;
  max-width: none !important;
}

#pageClotureAnnuelle #clotureAnnuelleTable {
  width: 100% !important;
  /* separate + spacing 0 : collapse casse position:sticky sur les <th> (Chrome / Safari) */
  border-collapse: separate !important;
  border-spacing: 0 !important;
  table-layout: auto !important;
  background: var(--dv-white) !important;
}

#pageClotureAnnuelle #clotureAnnuelleTable thead th {
  border: none !important;
  border-bottom: 1px solid rgba(30, 64, 48, 0.2) !important;
  color: #1a3d2e !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  text-align: left !important;
  padding: 12px 16px 10px !important;
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 20 !important;
  background: linear-gradient(180deg, #eef4f0 0%, #e4ebe6 100%) !important;
  background-color: #e8efe9 !important;
  white-space: nowrap !important;
  box-shadow: 0 1px 0 rgba(30, 29, 26, 0.06) !important;
}

#pageClotureAnnuelle #clotureAnnuelleTable thead th:first-child,
#pageClotureAnnuelle #clotureAnnuelleTable tbody td:first-child {
  padding-left: 48px !important;
}

#pageClotureAnnuelle #clotureAnnuelleTable thead th:last-child,
#pageClotureAnnuelle #clotureAnnuelleTable tbody td:last-child {
  padding-right: 48px !important;
}

#pageClotureAnnuelle #clotureAnnuelleTable tbody tr {
  border-bottom: 1px solid var(--dv-line) !important;
  background: transparent !important;
}

#pageClotureAnnuelle #clotureAnnuelleTable tbody tr:hover td {
  background: rgba(0, 0, 0, 0.03) !important;
}

#pageClotureAnnuelle #clotureAnnuelleTable tbody td {
  border: none !important;
  border-bottom: 1px solid var(--dv-line) !important;
  background: transparent !important;
  color: #3d3a36 !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  text-align: left !important;
  padding: 11px 16px !important;
}

#pageClotureAnnuelle #clotureAnnuelleTable tbody td .task-input,
#pageClotureAnnuelle #clotureAnnuelleTable tbody td input.task-input,
#pageClotureAnnuelle #clotureAnnuelleTable tbody td select.task-input {
  font-weight: 700 !important;
}

/* Dossier : même police que le reste du tableau (Archivo) ; nom tronqué côté JS si > 30 car. */
#pageClotureAnnuelle #clotureAnnuelleTable tbody td.col-name {
  font-family: "Archivo", sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--dv-dark) !important;
  max-width: 14rem !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Clôture annuelle — listes statuts : pas de fond coloré ; seul N/A a un fond grisé discret. */
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding: 8px 12px !important;
  min-height: 32px !important;
  border-radius: 0 !important;
  border: none !important;
  border-bottom: none !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  line-height: 1.35 !important;
  text-align: center !important;
  cursor: pointer !important;
  box-shadow: none !important;
  background-color: transparent !important;
  color: var(--dv-mid) !important;
  transition: background-color 0.15s ease, color 0.15s ease !important;
}
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select:hover {
  filter: none !important;
  background-color: rgba(0, 0, 0, 0.04) !important;
}
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select:focus {
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
  background-color: rgba(0, 0, 0, 0.05) !important;
}

#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="OK"],
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="ok"] {
  background-color: transparent !important;
  color: #15803d !important;
  font-weight: 700 !important;
  font-style: normal !important;
}
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="Refus"],
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="refus"] {
  background-color: transparent !important;
  color: var(--dv-red) !important;
  font-weight: 700 !important;
  font-style: normal !important;
}
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="A faire"],
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="À faire"],
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="a faire"] {
  background-color: transparent !important;
  color: var(--dv-amber) !important;
  font-weight: 700 !important;
  font-style: normal !important;
}
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="Suspens"],
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="suspens"] {
  background-color: transparent !important;
  color: #c2410c !important;
  font-weight: 700 !important;
  font-style: normal !important;
}
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="Supervisé"],
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="Supervise"],
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="supervisé"],
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="supervise"] {
  background-color: transparent !important;
  background-image: none !important;
  color: #14532d !important;
  font-weight: 700 !important;
  font-style: normal !important;
}
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="Prête pour revue"],
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="Prêt pour revue"],
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="Pret pour revue"],
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="prête pour revue"],
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="pret pour revue"] {
  background-color: transparent !important;
  color: #1d4ed8 !important;
  font-weight: 700 !important;
  font-style: normal !important;
}
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="A revoir"],
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="À revoir"],
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="a revoir"] {
  background-color: transparent !important;
  color: var(--dv-red) !important;
  font-weight: 700 !important;
  font-style: normal !important;
}
/* N/A uniquement : fond très grisé (les autres statuts restent sans fond) */
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="N/A"],
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="n/a"],
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="NA"],
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="na"] {
  background-color: rgba(0, 0, 0, 0.09) !important;
  color: var(--dv-muted) !important;
  font-weight: 700 !important;
  font-style: italic !important;
  letter-spacing: 0.02em !important;
}
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="N/A"]:hover,
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="n/a"]:hover,
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="NA"]:hover,
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="na"]:hover {
  background-color: rgba(0, 0, 0, 0.12) !important;
}
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status=""] {
  background-color: transparent !important;
  color: var(--dv-muted) !important;
  font-weight: 700 !important;
  font-style: normal !important;
}
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="Transmis"],
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="transmis"] {
  background-color: transparent !important;
  color: var(--dv-blue) !important;
  font-style: normal !important;
  font-weight: 700 !important;
}
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="Reçu"],
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="recu"] {
  background-color: transparent !important;
  color: #0f766e !important;
  font-style: normal !important;
  font-weight: 700 !important;
}
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="Validé"],
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="Valide"],
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="validé"],
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="valide"] {
  background-color: transparent !important;
  color: #15803d !important;
  font-style: normal !important;
  font-weight: 700 !important;
}
/* Colonne LDM (lettre de mission) */
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="OK"] {
  color: #15803d !important;
  font-weight: 700 !important;
}
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="A Faire"] {
  color: #b45309 !important;
  font-weight: 700 !important;
}
#pageClotureAnnuelle #clotureAnnuelleTable td.cloture-task-col select.task-select[data-status="En attente"] {
  color: #4b5563 !important;
  font-weight: 700 !important;
}

/* =========================================================
   UX GLOBAL — toutes les pages / tous les tableaux
========================================================= */
.page .table-count-bar {
  background: var(--dv-white) !important;
  border-bottom: 1px solid var(--dv-line) !important;
  color: var(--dv-muted) !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 10px !important;
  font-weight: 300 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

.page .table-count-bar input[type="text"],
.page .table-count-bar input[type="search"] {
  border: none !important;
  border-bottom: 1px solid var(--dv-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--dv-dark) !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 12px !important;
  font-style: italic !important;
  padding: 4px 0 !important;
}

.page .table-count-bar input[type="text"]::placeholder,
.page .table-count-bar input[type="search"]::placeholder {
  color: var(--dv-muted) !important;
}

.page .table-wrapper,
.page .table-wrapper.table-responsive {
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: var(--dv-white) !important;
}

.page .client-table {
  width: 100% !important;
  border-collapse: collapse !important;
  table-layout: auto !important;
  background: var(--dv-white) !important;
}

.page .client-table thead th {
  border: none !important;
  border-bottom: 1px solid var(--dv-dark) !important;
  color: var(--dv-red) !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 8.5px !important;
  font-weight: 400 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  text-align: left !important;
  padding: 10px 16px 8px !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 10 !important;
  background: #fff !important;
}

.page .client-table tbody tr {
  border-bottom: 1px solid var(--dv-line) !important;
  background: transparent !important;
}

.page .client-table tbody tr:hover td {
  background: rgba(30, 29, 26, 0.02) !important;
}

.page .client-table tbody td {
  border: none !important;
  border-bottom: 1px solid var(--dv-line) !important;
  background: transparent !important;
  color: #5f5b54 !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  text-align: left !important;
  padding: 10px 16px !important;
}

.page .client-table tbody td.col-name,
.page .client-table tbody td.col-name * {
  font-family: "Cormorant", serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: var(--dv-dark) !important;
}
/* Dossier / nom : éviter le chevauchement sur la colonne suivante (hors Base clients, géré au-dessus) */
.page .client-table tbody td.col-name {
  max-width: min(32rem, 42vw) !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
}
.page .client-table tbody td.col-name button.occ-collab-link {
  display: inline-block !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  vertical-align: bottom !important;
}

.page .client-table td input,
.page .client-table td select {
  background: transparent !important;
  border: 1px solid transparent !important;
  border-bottom: none !important;
  color: var(--dv-dark) !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  padding: 2px 0 !important;
  min-height: 20px !important;
  box-shadow: none !important;
}

.page .client-table td input:focus,
.page .client-table td select:focus {
  outline: none !important;
  border-bottom: none !important;
}

.page .client-table .task-select[data-status="OK"],
.page .client-table .task-select[data-status="ok"] {
  color: #15803d !important;
  font-weight: 600 !important;
  background-color: rgba(22, 163, 74, 0.14) !important;
}

.page .client-table .task-select[data-status="A faire"],
.page .client-table .task-select[data-status="À faire"],
.page .client-table .task-select[data-status="a faire"] {
  color: var(--dv-amber) !important;
}

.page .client-table .task-select[data-status="Suspens"],
.page .client-table .task-select[data-status="suspens"] {
  color: #c2410c !important;
  font-weight: 600 !important;
  background-color: rgba(234, 88, 12, 0.14) !important;
}

.page .client-table .task-select[data-status="Prête pour revue"],
.page .client-table .task-select[data-status="Prêt pour revue"],
.page .client-table .task-select[data-status="Pret pour revue"],
.page .client-table .task-select[data-status="prête pour revue"],
.page .client-table .task-select[data-status="pret pour revue"] {
  color: #1d4ed8 !important;
  font-weight: 600 !important;
  background-color: rgba(37, 99, 235, 0.12) !important;
}

.page .client-table .task-select[data-status="Refus"],
.page .client-table .task-select[data-status="refus"] {
  color: var(--dv-red) !important;
  font-weight: 600 !important;
}

[id$="PaginationWrap"] {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  white-space: nowrap !important;
}

[id$="PaginationWrap"] button {
  font-family: "Archivo", sans-serif !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--dv-mid) !important;
  border: 1px solid var(--dv-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 4px 10px !important;
}

[id$="PaginationWrap"] button:hover {
  color: var(--dv-dark) !important;
  border-color: var(--dv-mid) !important;
  background: var(--dv-off) !important;
}

/* === Synthèse (recréée de 0 : flux block, contenu en haut) === */
#pageSynthese.synthese-page {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  background: #fafaf8 !important;
}

#pageSynthese.synthese-page .synthese-page-inner {
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  background: #fafaf8 !important;
}

#pageSynthese {
  flex-direction: column !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fafaf8 !important;
}

#pageSynthese.active {
  display: flex !important;
  flex: 0 1 auto !important;
}

/* avec .synthese-page, priorité au block */
#pageSynthese.synthese-page.active {
  display: block !important;
}

#pageSynthese .ph {
  padding: 36px 48px 28px !important;
  border-bottom: 1px solid #1e1d1a !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  flex-shrink: 0 !important;
}

#pageSynthese .ph-ey {
  font-family: "Archivo", sans-serif !important;
  font-size: 9px !important;
  font-weight: 300 !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  color: #b8b4ac !important;
  margin-bottom: 8px !important;
}

#pageSynthese .ph-t {
  font-family: "Barlow Condensed", sans-serif !important;
  font-size: 52px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
}

#pageSynthese .ph-t .tr { color: #d0392b !important; }
#pageSynthese .ph-t .tk { color: #1e1d1a !important; }

#pageSynthese .sb {
  display: flex !important;
  border-bottom: 1px solid #e4e2dc !important;
  flex-wrap: wrap !important;
  flex-shrink: 0 !important;
  background: #fafaf8 !important;
}

#pageSynthese .sbl {
  padding: 18px 40px !important;
  border-right: 1px solid #e4e2dc !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  min-width: 130px !important;
}

#pageSynthese .sbl:last-child { border-right: none !important; }

#pageSynthese .sbl-l {
  font-family: "Archivo", sans-serif !important;
  font-size: 9px !important;
  font-weight: 300 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: #b8b4ac !important;
}

#pageSynthese .sbl-v {
  font-family: "Cormorant", serif !important;
  font-size: 36px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  color: #1e1d1a !important;
}

#pageSynthese .sbl-v.r { color: #d0392b !important; }
#pageSynthese .sbl-v.a { color: #8b5e00 !important; }
#pageSynthese .sbl-v.g { color: #2e6644 !important; }

#pageSynthese .fb {
  padding: 10px 48px !important;
  border-bottom: 1px solid #e4e2dc !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  flex-shrink: 0 !important;
  background: #fafaf8 !important;
}

#pageSynthese .fb .fi {
  width: 280px !important;
  border: none !important;
  border-bottom: 1px solid #e4e2dc !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #1e1d1a !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 12px !important;
  font-style: italic !important;
  padding: 4px 0 !important;
  outline: none !important;
}

#pageSynthese .fb .fi::placeholder { color: #b8b4ac !important; }

#pageSynthese #syntheseTableCountBar.cb-bar {
  padding: 8px 48px !important;
  border-bottom: 1px solid #e4e2dc !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 10px !important;
  font-weight: 300 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #b8b4ac !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  background: #fafaf8 !important;
}

#pageSynthese .tw {
  overflow-x: auto !important;
  flex: 1 !important;
  background: #fafaf8 !important;
}

#pageSynthese #syntheseTable {
  width: 100% !important;
  border-collapse: collapse !important;
  table-layout: auto !important;
  background: #fafaf8 !important;
}

#pageSynthese #syntheseTable thead tr { border-bottom: 1px solid #1e1d1a !important; }

#pageSynthese #syntheseTable thead th {
  padding: 10px 16px 8px !important;
  border: none !important;
  color: #b8b4ac !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 8.5px !important;
  font-weight: 400 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  text-align: left !important;
  white-space: nowrap !important;
  background: #fafaf8 !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 6 !important;
}

#pageSynthese #syntheseTable thead th:first-child,
#pageSynthese #syntheseTable tbody td:first-child { padding-left: 48px !important; }

#pageSynthese #syntheseTable thead th:last-child,
#pageSynthese #syntheseTable tbody td:last-child { padding-right: 48px !important; }

#pageSynthese #syntheseTable tbody tr {
  border-bottom: 1px solid #e4e2dc !important;
  background: transparent !important;
}

#pageSynthese #syntheseTable tbody tr.late {
  background: rgba(208, 57, 43, 0.05) !important;
}

#pageSynthese #syntheseTable tbody tr:hover td { background: rgba(30, 29, 26, 0.02) !important; }

#pageSynthese #syntheseTable tbody td {
  padding: 11px 16px !important;
  border: none !important;
  border-bottom: 1px solid #e4e2dc !important;
  color: #6e6a62 !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
}

#pageSynthese #syntheseTable tbody td:first-child,
#pageSynthese #syntheseTable tbody td:first-child * {
  font-family: "Cormorant", serif !important;
  font-size: 15px !important;
  color: #1e1d1a !important;
}

#pageSynthese .foot {
  padding: 14px 48px !important;
  border-top: 1px solid #1e1d1a !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-shrink: 0 !important;
  background: #fafaf8 !important;
}

#pageSynthese .foot-i {
  font-family: "Archivo", sans-serif !important;
  font-size: 9px !important;
  font-weight: 300 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: #b8b4ac !important;
}

#pageSynthese .tag {
  font-family: "Archivo", sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 400 !important;
  color: #b8b4ac !important;
}

#pageSynthese .jrr {
  color: #d0392b !important;
  font-weight: 600 !important;
  font-size: 11px !important;
}

#pageSynthese .jra {
  color: #8b5e00 !important;
  font-weight: 500 !important;
  font-size: 11px !important;
}

#pageSynthese .jrg {
  color: #2e6644 !important;
  font-weight: 400 !important;
  font-size: 11px !important;
}

#pageSynthese .st {
  font-family: "Archivo", sans-serif !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
}

#pageSynthese .st.g { color: #2e6644 !important; }
#pageSynthese .st.r { color: #d0392b !important; }
#pageSynthese .st.a { color: #8b5e00 !important; }
#pageSynthese .st.n { color: #b8b4ac !important; }

/* === Declaration TVA (structure 03-declaration-tva) === */
#pageDeclaration {
  flex-direction: column !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fafaf8 !important;
}

#pageDeclaration.active {
  display: flex !important;
}

#pageDeclaration .ph {
  padding: 36px 48px 28px !important;
  border-bottom: 1px solid var(--dv-line) !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  flex-shrink: 0 !important;
}
#pageDeclaration .ph-left {
  flex-shrink: 0 !important;
}

#pageDeclaration .ph-ey {
  font-family: "Archivo", sans-serif !important;
  font-size: 9px !important;
  font-weight: 300 !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  color: #b8b4ac !important;
  margin-bottom: 8px !important;
  display: none !important;
}

#pageDeclaration .ph-t {
  font-family: "Barlow Condensed", sans-serif !important;
  font-size: 52px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
}

#pageDeclaration .ph-t .tr { color: #d0392b !important; }
#pageDeclaration .ph-t .tk { color: #1e1d1a !important; }

#pageDeclaration .ph-r {
  display: flex !important;
  gap: 12px !important;
  align-items: center !important;
  padding-bottom: 4px !important;
}
#pageDeclaration .ph-r.ph-filters,
#pageDeclaration #declarationCheckboxFiltersBar {
  background: transparent !important;
  padding: 0 0 4px 0 !important;
  border: none !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
#pageDeclaration .ph-r.ph-filters .filter-dropdown-wrapper.declaration-collab-pill {
  position: relative !important;
  display: inline-flex !important;
}
#pageDeclaration .ph-r.ph-filters .filter-dropdown-wrapper.declaration-collab-pill .filter-button {
  font-family: "Archivo", sans-serif !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--dv-mid) !important;
  background: var(--dv-white) !important;
  border: 1px solid var(--dv-line) !important;
  border-radius: 0 !important;
  padding: 6px 12px !important;
  white-space: nowrap !important;
}
#pageDeclaration .ph-r.ph-filters .filter-dropdown-wrapper.declaration-collab-pill .filter-button:hover {
  background: var(--dv-off) !important;
  border-color: var(--dv-mid) !important;
  color: var(--dv-dark) !important;
}
#pageDeclaration .ph-r.ph-filters .filter-dropdown-wrapper.declaration-collab-pill.has-active .filter-button {
  background: var(--dv-dark) !important;
  border-color: var(--dv-dark) !important;
  color: var(--dv-white) !important;
}
/* Pas d’icône bleue sur les boutons filtres Déclaration */
#pageDeclaration .filter-dropdown-wrapper.has-active .filter-button::after {
  display: none !important;
  content: none !important;
  background: none !important;
  width: 0 !important;
  height: 0 !important;
}
#pageDeclaration .ph-r:empty {
  display: none !important;
}

/* Métriques Déclaration : même position et même style que Plan de travail (police, taille, couleurs) */
#pageDeclaration .ph-r.ph-filters#declarationHeaderMetrics {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-end !important;
  justify-content: flex-end !important;
  gap: 20px 24px !important;
  padding-bottom: 4px !important;
}
#pageDeclaration .ph-r.ph-filters#declarationHeaderMetrics .metrics-bar {
  margin-right: 0 !important;
}
#pageDeclaration .ph-r.ph-filters#declarationHeaderMetrics .metric-label {
  font-family: "Archivo", sans-serif !important;
  font-size: 8px !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--dv-muted) !important;
  line-height: 1.2 !important;
}
#pageDeclaration .ph-r.ph-filters#declarationHeaderMetrics .metric-value {
  font-family: "Cormorant", "Barlow Condensed", Georgia, serif !important;
  font-size: 24px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  color: var(--dv-dark) !important;
}
#pageDeclaration .ph-r.ph-filters#declarationHeaderMetrics .metric-value.metric-ok {
  color: var(--dv-green, #2e6644) !important;
}
#pageDeclaration .ph-r.ph-filters#declarationHeaderMetrics .metric-value.metric-warn {
  color: var(--dv-amber, #8b5e00) !important;
}
#pageDeclaration #declarationMetricsBar .metric-item {
  cursor: pointer !important;
  transition: background-color 0.15s ease;
}
#pageDeclaration #declarationMetricsBar .metric-item:hover {
  background-color: rgba(0,0,0,0.04);
  border-radius: 2px;
}

#pageDeclaration .fb {
  padding: 10px 48px !important;
  border-bottom: 1px solid #e4e2dc !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 10px !important;
  flex-shrink: 0 !important;
  background: #fafaf8 !important;
}

#pageDeclaration .fb .filters-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

/* Pills et boutons d’actions sur la même ligne */
#pageDeclaration .fb .filters-row:first-child {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
}
#pageDeclaration .fb .filters-row:first-child #declarationCheckboxFiltersBar.declaration-pills-inline,
#pageDeclaration .fb .filters-row:first-child .ph-r.ph-filters#declarationCheckboxFiltersBar {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  margin-right: auto !important;
}

#pageDeclaration .fb .filter-button.fpill,
#pageDeclaration .fb .fpill {
  font-family: "Archivo", sans-serif !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #6e6a62 !important;
  background: transparent !important;
  border: 1px solid #e4e2dc !important;
  border-radius: 0 !important;
  padding: 5px 12px !important;
}

#pageDeclaration .fb .filter-button.fpill.red,
#pageDeclaration .fb .fpill.red {
  border-color: #d0392b !important;
  color: #d0392b !important;
}

#pageDeclaration #declarationTableCountBar.cb-bar {
  padding: 8px 48px !important;
  border-bottom: 1px solid #e4e2dc !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 10px !important;
  font-weight: 300 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #b8b4ac !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  background: #fafaf8 !important;
}

#pageDeclaration #declarationSearchInput.fi {
  border: none !important;
  border-bottom: 1px solid #e4e2dc !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #1e1d1a !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 12px !important;
  font-style: italic !important;
  padding: 4px 0 !important;
  outline: none !important;
}

#pageDeclaration #declarationSearchInput.fi::placeholder { color: #b8b4ac !important; }

#pageDeclaration .tw {
  overflow-x: auto !important;
  flex: 1 !important;
  background: #fafaf8 !important;
}

#pageDeclaration #declarationTable {
  width: 100% !important;
  border-collapse: collapse !important;
  table-layout: auto !important;
  background: #fafaf8 !important;
}

#pageDeclaration #declarationTable thead tr { border-bottom: 1px solid var(--dv-line) !important; }

#pageDeclaration #declarationTable thead th {
  padding: 10px 16px 8px !important;
  color: var(--dv-red) !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 8.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  white-space: nowrap !important;
  background: var(--dv-off) !important;
  background-color: var(--dv-off) !important;
}

/* Colonne Nom : garder alignement à gauche */
#pageDeclaration #declarationTable thead th.col-name,
#pageDeclaration #declarationTable tbody td.col-name {
  text-align: left !important;
}

#pageDeclaration #declarationTable tbody td {
  padding: 11px 16px !important;
  border-bottom: 1px solid #e4e2dc !important;
  color: #6e6a62 !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
}

/* Separation visuelle entre infos dossier (1-6) et infos declaration (7+) */
#pageDeclaration #declarationTable thead th:nth-child(6),
#pageDeclaration #declarationTable tbody td:nth-child(6) {
  border-right: 2px solid #d6d3cc !important;
  padding-right: 24px !important;
}

#pageDeclaration #declarationTable thead th:nth-child(7),
#pageDeclaration #declarationTable tbody td:nth-child(7) {
  padding-left: 24px !important;
}

#pageDeclaration #declarationTable tbody td:first-child,
#pageDeclaration #declarationTable tbody td:first-child * {
  font-family: "Cormorant", serif !important;
  font-size: 15px !important;
  color: #1e1d1a !important;
}

#pageDeclaration .foot {
  padding: 14px 48px !important;
  border-top: 1px solid #1e1d1a !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-shrink: 0 !important;
  background: #fafaf8 !important;
}

#pageDeclaration .foot-i {
  font-family: "Archivo", sans-serif !important;
  font-size: 9px !important;
  font-weight: 300 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: #b8b4ac !important;
}

/* Header declaration aligne sur Plan de travail (MARS 2026) */
#pageDeclaration .filters-row:first-child {
  padding: 0 !important;
  border-bottom: 0 !important;
  gap: 8px !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

#pageDeclaration .filters-row:first-child .filter-dropdown-wrapper:nth-child(3) {
  margin-left: 0 !important;
}

#pageDeclaration .ph-t.pt-month-picker {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 10px !important;
}

#pageDeclaration .ph-t.pt-month-picker .filter-dropdown-wrapper {
  position: relative !important;
}

#pageDeclaration .ph-t.pt-month-picker #filterDeclarationMonthButton,
#pageDeclaration .ph-t.pt-month-picker #filterDeclarationYearButton {
  font-family: "Barlow Condensed", sans-serif !important;
  font-size: 56px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0.01em !important;
  text-transform: uppercase !important;
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
  box-shadow: none !important;
}

#pageDeclaration .ph-t.pt-month-picker #filterDeclarationMonthButton,
#pageDeclaration .ph-t.pt-month-picker #filterDeclarationMonthButton .filter-button-text {
  color: #d0392b !important;
}

#pageDeclaration .ph-t.pt-month-picker #filterDeclarationYearButton,
#pageDeclaration .ph-t.pt-month-picker #filterDeclarationYearButton .filter-button-text {
  color: #1e1d1a !important;
}

#pageDeclaration .ph-t.pt-month-picker #filterDeclarationMonthButton .filter-button-text,
#pageDeclaration .ph-t.pt-month-picker #filterDeclarationYearButton .filter-button-text {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  letter-spacing: inherit !important;
  text-transform: inherit !important;
}

#pageDeclaration .ph-t.pt-month-picker #filterDeclarationMonthButton:hover,
#pageDeclaration .ph-t.pt-month-picker #filterDeclarationYearButton:hover {
  opacity: 0.82 !important;
}

#pageDeclaration .ph-t.pt-month-picker #filterDeclarationMonthButton:focus,
#pageDeclaration .ph-t.pt-month-picker #filterDeclarationYearButton:focus,
#pageDeclaration .ph-t.pt-month-picker #filterDeclarationMonthButton:focus-visible,
#pageDeclaration .ph-t.pt-month-picker #filterDeclarationYearButton:focus-visible {
  outline: none !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
  -webkit-tap-highlight-color: transparent !important;
}

#pageDeclaration .ph-t.pt-month-picker #filterDeclarationMonthButton .filter-button-text:focus,
#pageDeclaration .ph-t.pt-month-picker #filterDeclarationYearButton .filter-button-text:focus,
#pageDeclaration .ph-t.pt-month-picker #filterDeclarationMonthButton .filter-button-text:focus-visible,
#pageDeclaration .ph-t.pt-month-picker #filterDeclarationYearButton .filter-button-text:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

/* Suppression totale des indicateurs de focus (carrés bleus) sur MARS 2026 — Déclaration */
#pageDeclarationHeader .ph-t.pt-month-picker #filterDeclarationMonthButton,
#pageDeclarationHeader .ph-t.pt-month-picker #filterDeclarationYearButton {
  outline: 0 !important;
  outline-width: 0 !important;
  outline-style: none !important;
  outline-color: transparent !important;
  box-shadow: none !important;
}
#pageDeclarationHeader .ph-t.pt-month-picker #filterDeclarationMonthButton:focus,
#pageDeclarationHeader .ph-t.pt-month-picker #filterDeclarationYearButton:focus,
#pageDeclarationHeader .ph-t.pt-month-picker #filterDeclarationMonthButton:focus-visible,
#pageDeclarationHeader .ph-t.pt-month-picker #filterDeclarationYearButton:focus-visible,
#pageDeclarationHeader .ph-t.pt-month-picker #filterDeclarationMonthButton:active,
#pageDeclarationHeader .ph-t.pt-month-picker #filterDeclarationYearButton:active {
  outline: 0 !important;
  outline-width: 0 !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
  -webkit-tap-highlight-color: transparent !important;
}
#pageDeclarationHeader .ph-t.pt-month-picker #filterDeclarationMonthButton::-moz-focus-inner,
#pageDeclarationHeader .ph-t.pt-month-picker #filterDeclarationYearButton::-moz-focus-inner {
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
#pageDeclarationHeader .ph-t.pt-month-picker #filterDeclarationMonthButton .filter-button-text,
#pageDeclarationHeader .ph-t.pt-month-picker #filterDeclarationYearButton .filter-button-text {
  outline: 0 !important;
  box-shadow: none !important;
}
#pageDeclarationHeader .ph-t.pt-month-picker #filterDeclarationMonthButton .filter-button-text:focus,
#pageDeclarationHeader .ph-t.pt-month-picker #filterDeclarationYearButton .filter-button-text:focus,
#pageDeclarationHeader .ph-t.pt-month-picker #filterDeclarationMonthButton .filter-button-text:focus-visible,
#pageDeclarationHeader .ph-t.pt-month-picker #filterDeclarationYearButton .filter-button-text:focus-visible {
  outline: 0 !important;
  box-shadow: none !important;
}

/* Remplacer le ring de focus par une outline transparente (contourne le dessin natif du navigateur) */
#pageDeclarationHeader .declaration-title-btn:focus,
#pageDeclarationHeader .declaration-title-btn:focus-visible,
#pageDeclarationHeader .declaration-title-btn:active {
  outline: 2px solid transparent !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 2px transparent !important;
}
#pageDeclarationHeader .declaration-title-btn .filter-button-text {
  outline: none !important;
  box-shadow: none !important;
}

/* Ne pas afficher l'indicateur "filtre actif" (point/cercle) sur MARS et 2026 */
#pageDeclarationHeader .ph-t.pt-month-picker .filter-dropdown-wrapper.has-active .filter-button::after,
#pageDeclarationHeader .ph-t.pt-month-picker #filterDeclarationMonthButton::after,
#pageDeclarationHeader .ph-t.pt-month-picker #filterDeclarationYearButton::after {
  display: none !important;
  content: none !important;
  background: none !important;
  width: 0 !important;
  height: 0 !important;
}

/* === Echeances fiscales (Gantt) === */
/* Layout : quand cette page est active, le shell et la page prennent la hauteur pour afficher le contenu.
   On utilise :has() en plus de body.page-echeancesFiscales pour ne pas dépendre du moment où la classe body est appliquée. */
body.page-echeancesFiscales .layout,
.layout:has(#pageEcheancesFiscales.active) {
  display: flex !important;
  flex-direction: row !important;
  min-height: 100vh !important;
  height: 100vh !important;
}
body.page-echeancesFiscales .app-main,
body.page-echeancesFiscales .app-main .shell,
.layout:has(#pageEcheancesFiscales.active) .app-main,
.layout:has(#pageEcheancesFiscales.active) .app-main .shell {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  min-height: 0 !important;
}
body.page-echeancesFiscales .app-main .shell,
.layout:has(#pageEcheancesFiscales.active) .app-main .shell {
  flex: 1 !important;
  min-height: 0 !important;
  overflow: auto !important;
}
body.page-echeancesFiscales .app-main .shell #pageEcheancesFiscales.active,
.layout:has(#pageEcheancesFiscales.active) .app-main .shell #pageEcheancesFiscales.active {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.layout:has(#pageEcheancesFiscales.active) #pageEcheancesFiscales.active #echeancesFiscalesContent {
  display: block !important;
  visibility: visible !important;
  flex: 1 !important;
  min-height: 280px !important;
  overflow-y: auto !important;
  overflow-x: auto !important;
}

/* Charge dossiers & Occupation : chaîne flex comme Échéances fiscales.
   Sans cela, après Base clients (ou certaines navigations), .app-main peut rester à largeur / hauteur nulle → écran blanc à droite. */
body.page-affectationTemps .layout,
.layout:has(#pageAffectationTemps.active) {
  display: flex !important;
  flex-direction: row !important;
  min-height: 100vh !important;
  height: 100vh !important;
}
body.page-affectationTemps .app-main,
body.page-affectationTemps .app-main .shell,
.layout:has(#pageAffectationTemps.active) .app-main,
.layout:has(#pageAffectationTemps.active) .app-main .shell {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 0% !important;
  min-width: 0 !important;
  min-height: 0 !important;
}
body.page-affectationTemps .app-main .shell,
.layout:has(#pageAffectationTemps.active) .app-main .shell {
  flex: 1 1 0% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
body.page-affectationTemps .app-main .shell #pageAffectationTemps.active,
.layout:has(#pageAffectationTemps.active) .app-main .shell #pageAffectationTemps.active {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 0% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
}

body.page-occupationCollaborateurs .layout,
.layout:has(#pageOccupationCollaborateurs.active) {
  display: flex !important;
  flex-direction: row !important;
  min-height: 100vh !important;
  height: 100vh !important;
}
body.page-occupationCollaborateurs .app-main,
body.page-occupationCollaborateurs .app-main .shell,
.layout:has(#pageOccupationCollaborateurs.active) .app-main,
.layout:has(#pageOccupationCollaborateurs.active) .app-main .shell {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 0% !important;
  min-width: 0 !important;
  min-height: 0 !important;
}
body.page-occupationCollaborateurs .app-main .shell,
.layout:has(#pageOccupationCollaborateurs.active) .app-main .shell {
  flex: 1 1 0% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
body.page-occupationCollaborateurs .app-main .shell #pageOccupationCollaborateurs.active,
.layout:has(#pageOccupationCollaborateurs.active) .app-main .shell #pageOccupationCollaborateurs.active {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 0% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
}

/* Clôture annuelle : même chaîne flex pleine hauteur que Charge dossiers (tableau jusqu’en bas de l’écran) */
body.page-clotureAnnuelle .layout,
.layout:has(#pageClotureAnnuelle.active) {
  display: flex !important;
  flex-direction: row !important;
  min-height: 100vh !important;
  height: 100vh !important;
}
body.page-clotureAnnuelle .app-main,
body.page-clotureAnnuelle .app-main .shell,
.layout:has(#pageClotureAnnuelle.active) .app-main,
.layout:has(#pageClotureAnnuelle.active) .app-main .shell {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 0% !important;
  min-width: 0 !important;
  min-height: 0 !important;
}
body.page-clotureAnnuelle .app-main .shell,
.layout:has(#pageClotureAnnuelle.active) .app-main .shell {
  flex: 1 1 0% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
body.page-clotureAnnuelle .app-main .shell #pageClotureAnnuelle.active,
.layout:has(#pageClotureAnnuelle.active) .app-main .shell #pageClotureAnnuelle.active {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 0% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
}

/* Charge dossiers / Occupation : zone tableau scrollable (layout global corrigé plus haut) */
#pageAffectationTemps.active .tw.table-wrapper {
  flex: 1 !important;
  min-height: 120px !important;
  overflow: auto !important;
}
#pageOccupationCollaborateurs.active #occupationCollaborateursContent {
  flex: 1 !important;
  min-height: 120px !important;
  overflow: auto !important;
}

/* Clôture annuelle : zone tableau = flex restant (redondant avec règles dédiées, sans cap hauteur) */
#pageClotureAnnuelle.active .tw.table-wrapper,
#pageClotureAnnuelle.active .table-wrapper.table-responsive {
  flex: 1 1 0% !important;
  min-height: 0 !important;
  min-width: 0 !important;
  overflow: auto !important;
  max-height: none !important;
}
#pageSuiviTemps.active .temps-tab-content {
  flex: 1 !important;
  min-height: 0 !important;
  overflow: auto !important;
}

/* Identité visuelle alignée sur page DECLARATION (structure, espacements 48px, typo Archivo) */
#pageEcheancesFiscales {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--dv-white) !important;
  color: var(--dv-dark) !important;
}

#pageEcheancesFiscales.active { display: flex !important; flex-direction: column !important; }

#pageEcheancesFiscales #echeancesFiscalesContent {
  flex: 1 !important;
  min-height: 280px !important;
  overflow-y: auto !important;
  overflow-x: auto !important;
  background: var(--dv-white) !important;
}

/* État de chargement : spinner centré (aligné visuel Déclaration / Plan de travail) */
#pageEcheancesFiscales .echeances-fiscales-loading .table-loading-spinner {
  border-top-color: var(--dv-red) !important;
}

/* En-tête : même structure que DECLARATION (ph padding 18px 48px 12px) */
#pageEcheancesFiscales .ph {
  padding: 18px 48px 12px !important;
  border-bottom: 1px solid var(--dv-line) !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  flex-shrink: 0 !important;
}

/* Sous-titre et titre : polices identiques à la page DECLARATION (ph-ey Archivo, ph-t Barlow Condensed) */
#pageEcheancesFiscales .ph-ey {
  font-family: "Archivo", sans-serif !important;
  font-size: 9px !important;
  font-weight: 300 !important;
  letter-spacing: .25em !important;
  text-transform: uppercase !important;
  color: var(--dv-muted) !important;
  margin-bottom: 8px !important;
}

#pageEcheancesFiscales .ph-t {
  font-family: "Barlow Condensed", sans-serif !important;
  font-size: 56px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
}

#pageEcheancesFiscales .ph-t .tr { color: #d0392b !important; }
#pageEcheancesFiscales .ph-t .tk { color: #1e1d1a !important; }

#pageEcheancesFiscales .ph-r {
  display: flex !important;
  gap: 10px !important;
  align-items: center !important;
  flex-wrap: wrap !important;
}

/* Boutons / filtres : même style que DECLARATION (Archivo 9px, border line, hover off) */
#pageEcheancesFiscales .btn,
#pageEcheancesFiscales .ph-r select,
#pageEcheancesFiscales .ph-r label {
  font-family: "Archivo", sans-serif !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 6px 12px !important;
  cursor: pointer !important;
  border: 1px solid var(--dv-line) !important;
  background: var(--dv-white) !important;
  color: var(--dv-mid) !important;
}

#pageEcheancesFiscales .btn:hover,
#pageEcheancesFiscales .ph-r select:hover,
#pageEcheancesFiscales .ph-r label:hover {
  color: var(--dv-dark) !important;
  border-color: var(--dv-mid) !important;
  background: var(--dv-off) !important;
}

#pageEcheancesFiscales .btn.p { background: var(--dv-dark) !important; border-color: var(--dv-dark) !important; color: var(--dv-white) !important; }

#pageEcheancesFiscales .fb {
  padding: 10px 48px !important;
  border-bottom: 1px solid var(--dv-line) !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  flex-shrink: 0 !important;
}

#pageEcheancesFiscales .fi {
  font-family: "Archivo", sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: var(--dv-dark) !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--dv-line) !important;
  padding: 4px 0 !important;
  outline: none !important;
}

#pageEcheancesFiscales .fpill {
  font-family: "Archivo", sans-serif !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--dv-mid) !important;
  background: var(--dv-white) !important;
  border: 1px solid var(--dv-line) !important;
  padding: 6px 12px !important;
}

#pageEcheancesFiscales .fpill.on { background: var(--dv-dark) !important; border-color: var(--dv-dark) !important; color: var(--dv-white) !important; }

/* Barre compteur / pagination : même padding que DECLARATION (#declarationTableCountBar) */
#pageEcheancesFiscales .cb-bar {
  padding: 0 48px 8px !important;
  border: none !important;
  border-bottom: 1px solid var(--dv-line) !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--dv-muted) !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  flex-shrink: 0 !important;
}

#pageEcheancesFiscales #echeancesFiscalesTableCountBar {
  padding: 0 48px 8px !important;
  border-bottom: 1px solid var(--dv-line) !important;
}

#pageEcheancesFiscales #echeancesFiscalesTableCountBar .btn,
#pageEcheancesFiscales #echeancesFiscalesTableCountBar button {
  font-family: "Archivo", sans-serif !important;
  font-size: 10px !important;
  letter-spacing: .08em !important;
  padding: 6px 12px !important;
  border: 1px solid var(--dv-line) !important;
  background: var(--dv-white) !important;
  color: var(--dv-dark) !important;
  cursor: pointer !important;
  border-radius: 4px !important;
}

#pageEcheancesFiscales #echeancesFiscalesTableCountBar .btn:hover:not(:disabled),
#pageEcheancesFiscales #echeancesFiscalesTableCountBar button:hover:not(:disabled) {
  background: var(--dv-off) !important;
  border-color: var(--dv-mid) !important;
}

#pageEcheancesFiscales #echeancesFiscalesTableCountBar .btn:disabled,
#pageEcheancesFiscales #echeancesFiscalesTableCountBar button:disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
}

#pageEcheancesFiscales #echeancesFiscalesTableCountBar select {
  font-family: "Archivo", sans-serif !important;
  font-size: 12px !important;
  color: var(--dv-dark) !important;
  border: 1px solid var(--dv-line) !important;
  background: var(--dv-white) !important;
  border-radius: 4px !important;
}

#pageEcheancesFiscales .echeances-matrix-wrap {
  overflow-x: auto !important;
  flex: 1 !important;
}

#pageEcheancesFiscales .echeances-matrix {
  width: max-content !important;
  min-width: 100% !important;
  border-collapse: collapse !important;
}

/* Ligne verticale noire de séparation entre les mois */
#pageEcheancesFiscales .echeances-matrix thead th.echeances-month-sep,
#pageEcheancesFiscales .echeances-matrix tbody td.echeances-month-sep {
  border-left: 2px solid var(--dv-dark) !important;
}

/* Tableau Échéances : même identité que Plan de travail / Déclaration ; contenu des colonnes centré */
#pageEcheancesFiscales #echeancesFiscalesTable thead th,
#pageEcheancesFiscales #echeancesFiscalesTable thead tr,
#pageEcheancesFiscales .echeances-matrix thead th,
#pageEcheancesFiscales .echeances-matrix thead tr {
  background: var(--dv-off) !important;
  background-color: var(--dv-off) !important;
  border-bottom: 1px solid var(--dv-line) !important;
  font-family: "Archivo", sans-serif !important;
  text-align: center !important;
}

#pageEcheancesFiscales #echeancesFiscalesTable thead th {
  color: var(--dv-red) !important;
}

#pageEcheancesFiscales #echeancesFiscalesTable tbody tr,
#pageEcheancesFiscales #echeancesFiscalesTable td,
#pageEcheancesFiscales .echeances-matrix tbody tr,
#pageEcheancesFiscales .echeances-matrix td {
  background: var(--dv-white) !important;
  background-color: var(--dv-white) !important;
  color: var(--dv-dark) !important;
  border: none !important;
  border-bottom: 1px solid var(--dv-line) !important;
  text-align: center !important;
}

#pageEcheancesFiscales #echeancesFiscalesTable tbody td,
#pageEcheancesFiscales .echeances-matrix tbody td {
  text-align: center !important;
}

#pageEcheancesFiscales #echeancesFiscalesTable tbody td .echeances-cell-select,
#pageEcheancesFiscales .echeances-matrix tbody td .echeances-cell-select {
  text-align: center !important;
  margin: 0 auto !important;
}

/* Colonnes Dossier, SIREN, Clôture, Forme : centrage (override .client-table th/td text-align left) */
#pageEcheancesFiscales #echeancesFiscalesTable thead th:first-child,
#pageEcheancesFiscales #echeancesFiscalesTable thead th:nth-child(2),
#pageEcheancesFiscales #echeancesFiscalesTable thead th:nth-child(3),
#pageEcheancesFiscales #echeancesFiscalesTable thead th:nth-child(4),
#pageEcheancesFiscales #echeancesFiscalesTable tbody td:first-child,
#pageEcheancesFiscales #echeancesFiscalesTable tbody td:nth-child(2),
#pageEcheancesFiscales #echeancesFiscalesTable tbody td:nth-child(3),
#pageEcheancesFiscales #echeancesFiscalesTable tbody td:nth-child(4),
#pageEcheancesFiscales .echeances-matrix thead th:first-child,
#pageEcheancesFiscales .echeances-matrix thead th:nth-child(2),
#pageEcheancesFiscales .echeances-matrix thead th:nth-child(3),
#pageEcheancesFiscales .echeances-matrix thead th:nth-child(4),
#pageEcheancesFiscales .echeances-matrix tbody td:first-child,
#pageEcheancesFiscales .echeances-matrix tbody td:nth-child(2),
#pageEcheancesFiscales .echeances-matrix tbody td:nth-child(3),
#pageEcheancesFiscales .echeances-matrix tbody td:nth-child(4) {
  text-align: center !important;
}

#pageEcheancesFiscales #echeancesFiscalesTable thead th {
  border: none !important;
  border-bottom: 2px solid var(--dv-line) !important;
  padding: 10px 16px 8px !important;
  color: var(--dv-red) !important;
  font-family: "Archivo", sans-serif !important;
}

#pageEcheancesFiscales #echeancesFiscalesTable tbody tr:hover td,
#pageEcheancesFiscales .echeances-matrix tbody tr:hover td {
  background: var(--dv-off) !important;
  background-color: var(--dv-off) !important;
}

/* Contenu des colonnes : mêmes règles UX que PLAN DE TRAVAIL et DÉCLARATION (texte uniquement, pas de fond coloré) */
/* OK : vert, gras, fond transparent (comme .task-select.status-ok Plan de travail) */
#pageEcheancesFiscales #echeancesFiscalesTable td.cell-status-ok,
#pageEcheancesFiscales #echeancesFiscalesTable .cell-status-ok,
#pageEcheancesFiscales .echeances-matrix td.cell-status-ok {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--dv-green) !important;
  font-weight: 700 !important;
}

#pageEcheancesFiscales #echeancesFiscalesTable td.cell-status-ok .echeances-cell-select,
#pageEcheancesFiscales .echeances-matrix td.cell-status-ok .echeances-cell-select {
  color: var(--dv-green) !important;
  font-weight: 700 !important;
}

/* NA : gris, fond transparent (comme .task-select.status-na Plan de travail) */
#pageEcheancesFiscales #echeancesFiscalesTable td.cell-status-na,
#pageEcheancesFiscales #echeancesFiscalesTable .cell-status-na,
#pageEcheancesFiscales .echeances-matrix td.cell-status-na {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--dv-muted) !important;
}

#pageEcheancesFiscales #echeancesFiscalesTable td.cell-status-na .echeances-cell-select,
#pageEcheancesFiscales .echeances-matrix td.cell-status-na .echeances-cell-select {
  color: var(--dv-muted) !important;
}

/* En retard : rouge + bordure gauche, pas de fond (comme Plan de travail td.due-overdue) */
#pageEcheancesFiscales #echeancesFiscalesTable td.echeances-due-overdue,
#pageEcheancesFiscales #echeancesFiscalesTable td[data-due-status="overdue"],
#pageEcheancesFiscales .echeances-matrix td.echeances-due-overdue,
#pageEcheancesFiscales .echeances-matrix td[data-due-status="overdue"] {
  background: transparent !important;
  background-color: transparent !important;
  border-left: 3px solid var(--dv-red) !important;
  color: var(--dv-red) !important;
  font-weight: 600 !important;
}

#pageEcheancesFiscales #echeancesFiscalesTable td.echeances-due-overdue .echeances-cell-select,
#pageEcheancesFiscales #echeancesFiscalesTable td[data-due-status="overdue"] .echeances-cell-select,
#pageEcheancesFiscales .echeances-matrix td.echeances-due-overdue .echeances-cell-select,
#pageEcheancesFiscales .echeances-matrix td[data-due-status="overdue"] .echeances-cell-select {
  color: var(--dv-red) !important;
  font-weight: 600 !important;
}

/* Urgent : ambre + bordure gauche, pas de fond (comme Plan de travail td.due-urgent) */
#pageEcheancesFiscales #echeancesFiscalesTable td.echeances-due-urgent,
#pageEcheancesFiscales #echeancesFiscalesTable td[data-due-status="urgent"],
#pageEcheancesFiscales .echeances-matrix td.echeances-due-urgent,
#pageEcheancesFiscales .echeances-matrix td[data-due-status="urgent"] {
  background: transparent !important;
  background-color: transparent !important;
  border-left: 3px solid var(--dv-amber) !important;
  color: var(--dv-amber) !important;
  font-weight: 500 !important;
}

#pageEcheancesFiscales #echeancesFiscalesTable td.echeances-due-urgent .echeances-cell-select,
#pageEcheancesFiscales #echeancesFiscalesTable td[data-due-status="urgent"] .echeances-cell-select,
#pageEcheancesFiscales .echeances-matrix td.echeances-due-urgent .echeances-cell-select,
#pageEcheancesFiscales .echeances-matrix td[data-due-status="urgent"] .echeances-cell-select {
  color: var(--dv-amber) !important;
  font-weight: 500 !important;
}

/* À l'approche : ambre + bordure gauche, pas de fond */
#pageEcheancesFiscales #echeancesFiscalesTable td.echeances-due-approaching,
#pageEcheancesFiscales #echeancesFiscalesTable td[data-due-status="approaching"],
#pageEcheancesFiscales .echeances-matrix td.echeances-due-approaching,
#pageEcheancesFiscales .echeances-matrix td[data-due-status="approaching"] {
  background: transparent !important;
  background-color: transparent !important;
  border-left: 2px solid var(--dv-amber) !important;
  color: var(--dv-amber) !important;
}

#pageEcheancesFiscales #echeancesFiscalesTable td.echeances-due-approaching .echeances-cell-select,
#pageEcheancesFiscales #echeancesFiscalesTable td[data-due-status="approaching"] .echeances-cell-select,
#pageEcheancesFiscales .echeances-matrix td.echeances-due-approaching .echeances-cell-select,
#pageEcheancesFiscales .echeances-matrix td[data-due-status="approaching"] .echeances-cell-select {
  color: var(--dv-amber) !important;
}

/* Séparateur des mois : toujours ligne noire (priorité sur bordure rouge/ambre des statuts) */
#pageEcheancesFiscales #echeancesFiscalesTable thead th.echeances-month-sep,
#pageEcheancesFiscales #echeancesFiscalesTable tbody td.echeances-month-sep,
#pageEcheancesFiscales .echeances-matrix thead th.echeances-month-sep,
#pageEcheancesFiscales .echeances-matrix tbody td.echeances-month-sep {
  border-left: 2px solid #1e1d1a !important;
}

/* Date (échéance à venir) : pas de fond coloré, texte normal (comme Plan de travail / Déclaration) */
#pageEcheancesFiscales #echeancesFiscalesTable tbody td:has(.echeances-cell-select):not(.cell-status-ok):not(.cell-status-na):not([data-due-status]):not(.echeances-due-overdue):not(.echeances-due-urgent):not(.echeances-due-approaching),
#pageEcheancesFiscales .echeances-matrix tbody td:has(.echeances-cell-select):not(.cell-status-ok):not(.cell-status-na):not([data-due-status]):not(.echeances-due-overdue):not(.echeances-due-urgent):not(.echeances-due-approaching) {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--dv-dark) !important;
}

#pageEcheancesFiscales .echeances-matrix thead tr:first-child th {
  border-bottom: 1px solid var(--dv-line) !important;
  color: var(--dv-red) !important;
}

#pageEcheancesFiscales .echeances-matrix thead tr:nth-child(2) th {
  font-size: 7.8px !important;
  letter-spacing: .14em !important;
  padding-top: 6px !important;
  padding-bottom: 8px !important;
  color: var(--dv-mid) !important;
}

#pageEcheancesFiscales .echeances-matrix thead th {
  position: sticky !important;
  top: 0 !important;
  z-index: 1 !important;
}

#pageEcheancesFiscales .echeances-matrix th:first-child,
#pageEcheancesFiscales .echeances-matrix td:first-child {
  position: sticky !important;
  left: 0 !important;
  z-index: 2 !important;
  background: var(--dv-white) !important;
  background-color: var(--dv-white) !important;
  min-width: 220px !important;
  padding-left: 48px !important;
}

#pageEcheancesFiscales .echeances-matrix thead tr:nth-child(2) th:last-child,
#pageEcheancesFiscales .echeances-matrix tbody td:last-child {
  padding-right: 48px !important;
}

#pageEcheancesFiscales .echeances-matrix thead th:first-child,
#pageEcheancesFiscales .echeances-matrix thead th:nth-child(2) {
  background: var(--dv-off) !important;
  background-color: var(--dv-off) !important;
}

#pageEcheancesFiscales .echeances-matrix th:nth-child(2),
#pageEcheancesFiscales .echeances-matrix td:nth-child(2) {
  position: sticky !important;
  left: 220px !important;
  z-index: 2 !important;
  background: var(--dv-white) !important;
  background-color: var(--dv-white) !important;
  min-width: 90px !important;
}

#pageEcheancesFiscales .echeances-matrix td.c,
#pageEcheancesFiscales .echeances-matrix th.c {
  text-align: center !important;
  min-width: 44px !important;
}

#pageEcheancesFiscales .dot.d { background: var(--dv-dark) !important; }

#pageEcheancesFiscales .gantt-wrap { padding: 0 48px 24px !important; flex: 1 !important; overflow-x: auto !important; }
#pageEcheancesFiscales .gantt-grid { display: grid !important; grid-template-columns: 220px repeat(12,1fr) !important; width: max-content !important; min-width: 100% !important; gap: 0 !important; }
#pageEcheancesFiscales .gantt-hcell { padding: 9px 6px !important; font-size: 8px !important; font-weight: 400 !important; letter-spacing: .18em !important; text-transform: uppercase !important; color: var(--dv-muted) !important; text-align: center !important; border-bottom: 1px solid var(--dv-line) !important; border-right: 1px solid var(--dv-line) !important; background: var(--dv-off) !important; }
#pageEcheancesFiscales .gantt-hcell:first-child { text-align: left !important; padding-left: 0 !important; border-right: 1px solid var(--dv-line) !important; }
#pageEcheancesFiscales .gantt-row { display: contents !important; }
#pageEcheancesFiscales .gantt-label { padding: 10px 12px 10px 0 !important; font-family: "Cormorant", serif !important; font-size: 14px !important; font-weight: 400 !important; color: var(--dv-dark) !important; display: flex !important; align-items: center !important; border-bottom: 1px solid var(--dv-line) !important; border-right: 1px solid var(--dv-line) !important; white-space: nowrap !important; }
#pageEcheancesFiscales .gantt-label .sub { font-family: "Archivo", sans-serif !important; font-size: 10px !important; font-weight: 300 !important; color: var(--dv-muted) !important; margin-top: 1px !important; }
#pageEcheancesFiscales .gantt-cell { border-bottom: 1px solid var(--dv-line) !important; border-right: 1px solid var(--dv-line) !important; position: relative !important; min-height: 48px !important; display: flex !important; align-items: center !important; justify-content: center !important; background: var(--dv-white) !important; }
#pageEcheancesFiscales .gantt-cell.today-col { background: var(--dv-off) !important; }
#pageEcheancesFiscales .ev { position: absolute !important; height: 16px !important; background: var(--dv-dark) !important; display: flex !important; align-items: center !important; padding: 0 6px !important; font-size: 9px !important; font-weight: 400 !important; color: var(--dv-white) !important; letter-spacing: .06em !important; text-transform: uppercase !important; white-space: nowrap !important; cursor: pointer !important; transition: opacity .12s !important; }
#pageEcheancesFiscales .ev:hover { opacity: .8 !important; }
#pageEcheancesFiscales .ev.r { background: var(--dv-red) !important; }
#pageEcheancesFiscales .ev.a { background: var(--dv-amber) !important; }
#pageEcheancesFiscales .ev.g { background: var(--dv-green) !important; }
#pageEcheancesFiscales .ev.b { background: var(--dv-blue, #2a4a7a) !important; }
#pageEcheancesFiscales .ev.dot-only { width: 8px !important; height: 8px !important; background: var(--dv-dark) !important; padding: 0 !important; }

#pageEcheancesFiscales .foot {
  padding: 14px 48px !important;
  border-top: 1px solid var(--dv-line) !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-shrink: 0 !important;
}

#pageEcheancesFiscales .foot-i {
  font-family: "Archivo", sans-serif !important;
  font-size: 9px !important;
  font-weight: 300 !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  color: var(--dv-muted) !important;
}

/* === Cloture annuelle === */
#pageClotureAnnuelle { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; background: linear-gradient(165deg, #faf9f6 0%, #f0f2ee 45%, #f5f3ef 100%) !important; flex-direction: column !important; }
#pageClotureAnnuelle.active { display: flex !important; flex-direction: column !important; }
/* En-tête : même structure que DECLARATION (titre + métriques en haut à droite) */
#pageClotureAnnuelle .ph { padding: 22px 48px 16px !important; border-bottom: 1px solid rgba(228, 226, 220, 0.9) !important; display: flex !important; align-items: flex-end !important; justify-content: space-between !important; flex-shrink: 0 !important; gap: 24px !important; }
#pageClotureAnnuelle .ph-ey { font-family: "Archivo", sans-serif !important; font-size: 10px !important; font-weight: 400 !important; letter-spacing: .22em !important; text-transform: uppercase !important; color: #6e7a72 !important; margin-bottom: 10px !important; }
/* Titre : Barlow Condensed, taille augmentée */
#pageClotureAnnuelle .ph-t { font-family: "Barlow Condensed", sans-serif !important; font-size: 68px !important; font-weight: 600 !important; letter-spacing: .02em !important; text-transform: uppercase !important; line-height: 1 !important; }
#pageClotureAnnuelle .ph-t .tr { color: #d0392b !important; }
#pageClotureAnnuelle .ph-t .tk { color: #1e1d1a !important; }
#pageClotureAnnuelle .ph-t.pt-month-picker { display: inline-flex !important; align-items: baseline !important; gap: 10px !important; }
#pageClotureAnnuelle .ph-t.pt-month-picker .filter-dropdown-wrapper { position: relative !important; }
/* Titre "CLOTURE" (fixe) + année : même police que DECLARATION */
#pageClotureAnnuelle .ph-t-title-cloture,
#pageClotureAnnuelle #clotureAnnuelleTitleCloture {
  font-family: "Barlow Condensed", sans-serif !important;
  font-size: 68px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  color: #1e4d36 !important;
  margin: 0 !important;
  padding: 0 !important;
}
#pageClotureAnnuelle .ph-t.pt-month-picker #filterClotureAnnuelleYearButton {
  font-family: "Barlow Condensed", sans-serif !important;
  font-size: 68px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0.01em !important;
  text-transform: uppercase !important;
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
  box-shadow: none !important;
}
#pageClotureAnnuelle .ph-t.pt-month-picker #filterClotureAnnuelleYearButton,
#pageClotureAnnuelle .ph-t.pt-month-picker #filterClotureAnnuelleYearButton .filter-button-text { color: #1e1d1a !important; }
#pageClotureAnnuelle .ph-t.pt-month-picker #filterClotureAnnuelleYearButton:hover { opacity: .82 !important; }
/* Titre année (bouton sélecteur) : Barlow Condensed */
#pageClotureAnnuelle #filterClotureAnnuelleYearButton {
  font-family: "Barlow Condensed", sans-serif !important;
  font-size: 68px !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
}
#pageClotureAnnuelle #filterClotureAnnuelleYearButton .filter-button-text {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  color: #1e1d1a !important;
}
/* Métriques et boutons en haut à droite (comme page DECLARATION) */
#pageClotureAnnuelle .ph-r.ph-cloture-metrics { display: flex !important; flex-direction: row !important; align-items: flex-end !important; flex-wrap: wrap !important; gap: 12px !important; padding-bottom: 0 !important; flex-shrink: 0 !important; min-width: 0 !important; }
#pageClotureAnnuelle .ph-r.ph-cloture-metrics .prog-band { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; gap: 8px !important; border: none !important; padding: 0 !important; margin: 0 !important; max-width: none !important; }
#pageClotureAnnuelle .ph-r.ph-cloture-metrics .pb { padding: 8px 12px !important; border: none !important; border-left: 3px solid transparent !important; border-radius: 0 !important; min-width: 100px !important; max-width: 140px !important; text-align: left !important; flex-shrink: 0 !important; }
#pageClotureAnnuelle .ph-r.ph-cloture-metrics .pb.on { border-left-color: #14532d !important; background: rgba(20, 83, 45, 0.08) !important; }
#pageClotureAnnuelle .ph-r.ph-cloture-metrics .pb-l { font-size: 7.5px !important; letter-spacing: .14em !important; margin-bottom: 2px !important; }
#pageClotureAnnuelle .ph-r.ph-cloture-metrics .pb-pct { font-size: 16px !important; }
#pageClotureAnnuelle .ph-r.ph-cloture-metrics .pb-bar { height: 2px !important; margin-bottom: 3px !important; }
#pageClotureAnnuelle .ph-r.ph-cloture-metrics .pb-nums { font-size: 9px !important; }
#pageClotureAnnuelle .ph-r.ph-cloture-metrics .btn { flex-shrink: 0 !important; }
#pageClotureAnnuelle .btn { font-family: "Archivo", sans-serif !important; font-size: 9px !important; font-weight: 400 !important; letter-spacing: .12em !important; text-transform: uppercase !important; padding: 8px 16px !important; cursor: pointer !important; border: 1px solid var(--dv-line) !important; background: transparent !important; color: var(--dv-mid) !important; }
#pageClotureAnnuelle .btn.p { background: var(--dv-dark) !important; border-color: var(--dv-dark) !important; color: var(--dv-white) !important; }
#pageClotureAnnuelle .pb-l { font-family: "Archivo", sans-serif !important; font-size: 8px !important; font-weight: 400 !important; letter-spacing: .18em !important; text-transform: uppercase !important; color: var(--dv-muted) !important; margin-bottom: 6px !important; }
#pageClotureAnnuelle .pb-pct { font-family: "Cormorant", serif !important; font-size: 20px !important; font-weight: 300 !important; color: var(--dv-dark) !important; }
#pageClotureAnnuelle .pb-bar { height: 2px !important; background: var(--dv-line) !important; margin-bottom: 5px !important; }
#pageClotureAnnuelle .pb-fill { height: 2px !important; transition: width .4s !important; }
#pageClotureAnnuelle .pb-fill.g { background: var(--dv-green) !important; }
#pageClotureAnnuelle .pb-fill.a { background: var(--dv-amber) !important; }
#pageClotureAnnuelle .pb-fill.d { background: var(--dv-dark) !important; }
#pageClotureAnnuelle .pb-nums { font-family: "Archivo", sans-serif !important; font-size: 10px !important; font-weight: 400 !important; color: var(--dv-mid) !important; display: flex !important; justify-content: space-between !important; }
#pageClotureAnnuelle .tabs { display: flex !important; padding: 0 48px !important; border-bottom: 1px solid #e4e2dc !important; flex-wrap: wrap !important; flex-shrink: 0 !important; gap: 4px !important; }
#pageClotureAnnuelle .tab { font-family: "Archivo", sans-serif !important; font-size: 13px !important; font-weight: 500 !important; letter-spacing: .06em !important; text-transform: uppercase !important; color: #7a847c !important; background: transparent !important; border: none !important; border-bottom: 3px solid transparent !important; padding: 16px 18px !important; margin-bottom: -1px !important; }
#pageClotureAnnuelle .tab.on, #pageClotureAnnuelle .tab.active { color: #14532d !important; font-weight: 600 !important; border-bottom-color: #14532d !important; }
#pageClotureAnnuelle .fb { padding: 10px 48px !important; border-bottom: 1px solid #e4e2dc !important; display: flex !important; align-items: center !important; gap: 8px !important; flex-wrap: wrap !important; }
#pageClotureAnnuelle .fpill { font-family: "Archivo", sans-serif !important; font-size: 9px !important; font-weight: 400 !important; letter-spacing: .12em !important; text-transform: uppercase !important; color: #6e6a62 !important; background: transparent !important; border: 1px solid #e4e2dc !important; padding: 5px 12px !important; }
#pageClotureAnnuelle .fpill.on { background: #1e1d1a !important; border-color: #1e1d1a !important; color: #fafaf8 !important; }
#pageClotureAnnuelle .fi { font-family: "Archivo", sans-serif !important; font-size: 12px !important; color: #1e1d1a !important; background: transparent !important; border: none !important; border-bottom: 1px solid #e4e2dc !important; padding: 4px 0 !important; font-style: italic !important; }
#pageClotureAnnuelle .cb-bar { padding: 8px 48px !important; border-bottom: 1px solid #e4e2dc !important; font-family: "Archivo", sans-serif !important; font-size: 10px !important; font-weight: 300 !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: #b8b4ac !important; }
#pageClotureAnnuelle .ph,
#pageClotureAnnuelle .tabs,
#pageClotureAnnuelle .fb,
#pageClotureAnnuelle .cb-bar,
#pageClotureAnnuelle .foot {
  flex-shrink: 0 !important;
}
#pageClotureAnnuelle .tw {
  overflow-x: auto !important;
  overflow-y: auto !important;
  min-height: 0 !important;
  flex: 1 1 0% !important;
}
#pageClotureAnnuelle #clotureAnnuelleTable {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}
#pageClotureAnnuelle #clotureAnnuelleTable thead tr { border-bottom: 2px solid var(--dv-line) !important; }
#pageClotureAnnuelle #clotureAnnuelleTable thead th {
  padding: 12px 16px 10px !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: #1a3d2e !important;
  background: linear-gradient(180deg, #eef4f0 0%, #e4ebe6 100%) !important;
  background-color: #e8efe9 !important;
  text-align: center !important;
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 20 !important;
  white-space: nowrap !important;
  box-shadow: 0 1px 0 rgba(30, 29, 26, 0.06) !important;
  border-bottom: 1px solid rgba(30, 64, 48, 0.2) !important;
}
#pageClotureAnnuelle #clotureAnnuelleTable tbody td { padding: 11px 16px !important; font-size: 14px !important; color: var(--dv-dark) !important; border-bottom: 1px solid var(--dv-line) !important; text-align: center !important; }
#pageClotureAnnuelle #clotureAnnuelleTable tbody tr:hover td { background: rgba(46, 102, 68, 0.06) !important; }
/* Colonne Dossier : fond opaque + sticky (override tbody td transparent) — évite la superposition au scroll horizontal */
#pageClotureAnnuelle #clotureAnnuelleTable thead th.col-name {
  left: 0 !important;
  z-index: 25 !important;
  text-align: left !important;
}
#pageClotureAnnuelle #clotureAnnuelleTable tbody td.col-name {
  position: -webkit-sticky !important;
  position: sticky !important;
  left: 0 !important;
  z-index: 3 !important;
  background: var(--dv-white) !important;
  background-color: var(--dv-white) !important;
  box-shadow: 4px 0 14px -6px rgba(30, 29, 26, 0.14) !important;
  text-align: left !important;
}
#pageClotureAnnuelle #clotureAnnuelleTable tbody tr:hover td.col-name {
  background-color: rgba(46, 102, 68, 0.06) !important;
  background: rgba(46, 102, 68, 0.06) !important;
}
#pageClotureAnnuelle .foot { padding: 14px 48px !important; border-top: 1px solid #1e1d1a !important; display: flex !important; justify-content: space-between !important; align-items: center !important; flex-shrink: 0 !important; }
#pageClotureAnnuelle .foot-i { font-family: "Archivo", sans-serif !important; font-size: 9px !important; font-weight: 300 !important; letter-spacing: .15em !important; text-transform: uppercase !important; color: #b8b4ac !important; }

/* === Suivi des temps === */
#pageSuiviTemps { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; background: #fafaf8 !important; display: flex !important; flex-direction: column !important; }
#pageSuiviTemps .tr { color: #d0392b !important; }
#pageSuiviTemps .tk { color: #1e1d1a !important; }
#pageSuiviTemps .ph { padding: 36px 48px 28px !important; border-bottom: 1px solid #1e1d1a !important; display: flex !important; align-items: flex-end !important; justify-content: space-between !important; flex-shrink: 0 !important; }
#pageSuiviTemps .ph-ey { font-family: "Archivo", sans-serif !important; font-size: 9px !important; font-weight: 300 !important; letter-spacing: .25em !important; text-transform: uppercase !important; color: #b8b4ac !important; margin-bottom: 8px !important; }
#pageSuiviTemps .ph-t { font-family: "Barlow Condensed", sans-serif !important; font-size: 52px !important; font-weight: 600 !important; letter-spacing: .02em !important; text-transform: uppercase !important; line-height: 1 !important; }
#pageSuiviTemps .ph-r { display: flex !important; gap: 12px !important; align-items: center !important; padding-bottom: 4px !important; }
#pageSuiviTemps .btn { font-family: "Archivo", sans-serif !important; font-size: 9px !important; font-weight: 400 !important; letter-spacing: .12em !important; text-transform: uppercase !important; padding: 8px 16px !important; cursor: pointer !important; border: 1px solid #e4e2dc !important; background: transparent !important; color: #6e6a62 !important; }
#pageSuiviTemps .btn.p { background: #1e1d1a !important; border-color: #1e1d1a !important; color: #fafaf8 !important; }
#pageSuiviTemps .tabs { display: flex !important; padding: 0 48px !important; border-bottom: 1px solid #e4e2dc !important; flex-wrap: wrap !important; flex-shrink: 0 !important; }
#pageSuiviTemps .tab { font-family: "Archivo", sans-serif !important; font-size: 9.5px !important; font-weight: 400 !important; letter-spacing: .12em !important; text-transform: uppercase !important; color: #b8b4ac !important; background: transparent !important; border: none !important; border-bottom: 2px solid transparent !important; padding: 13px 14px !important; margin-bottom: -1px !important; white-space: nowrap !important; }
#pageSuiviTemps .tab.on, #pageSuiviTemps .tab.active { color: #1e1d1a !important; border-bottom-color: #1e1d1a !important; }
#pageSuiviTemps .fpill { font-family: "Archivo", sans-serif !important; font-size: 9px !important; font-weight: 400 !important; letter-spacing: .12em !important; text-transform: uppercase !important; color: #6e6a62 !important; background: transparent !important; border: 1px solid #e4e2dc !important; padding: 5px 12px !important; }
#pageSuiviTemps .fpill.on { background: #1e1d1a !important; border-color: #1e1d1a !important; color: #fafaf8 !important; }
#pageSuiviTemps .cal-nav { padding: 8px 48px !important; border-bottom: 1px solid #e4e2dc !important; display: flex !important; align-items: center !important; gap: 10px !important; flex-shrink: 0 !important; }
#pageSuiviTemps .cal-period { font-family: "Cormorant", serif !important; font-size: 20px !important; font-weight: 300 !important; color: #1e1d1a !important; padding: 0 12px !important; }
#pageSuiviTemps .cal { display: grid !important; grid-template-columns: repeat(7,1fr) !important; flex: 1 !important; overflow-y: auto !important; }
#pageSuiviTemps #timeCalendarContainer.cal {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding: 0 48px 24px !important;
  flex: 1 !important;
  min-height: 380px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  align-content: start !important;
}
#pageSuiviTemps #timeCalendarContainer.cal .cal-cell {
  min-height: 104px !important;
}
#pageSuiviTemps #timeCalendarContainer.cal .chip.time-month-chip {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  font-size: 10px !important;
  line-height: 1.35 !important;
  max-width: 100%;
}
#pageSuiviTemps .cal-hd { padding: 9px 12px !important; font-family: "Archivo", sans-serif !important; font-size: 8px !important; font-weight: 400 !important; letter-spacing: .18em !important; text-transform: uppercase !important; color: #b8b4ac !important; border-bottom: 1px solid #1e1d1a !important; border-right: 1px solid #e4e2dc !important; text-align: center !important; }
#pageSuiviTemps .cal-hd:last-child { border-right: none !important; }
#pageSuiviTemps .cal-cell { border-right: 1px solid #e4e2dc !important; border-bottom: 1px solid #e4e2dc !important; min-height: 90px !important; padding: 8px !important; display: flex !important; flex-direction: column !important; gap: 4px !important; }
#pageSuiviTemps .cal-cell.empty { background: rgba(30,29,26,.015) !important; }
#pageSuiviTemps .cal-cell.today { background: rgba(30,29,26,.035) !important; }
#pageSuiviTemps .cal-dn { font-family: "Cormorant", serif !important; font-size: 16px !important; font-weight: 300 !important; color: #b8b4ac !important; }
#pageSuiviTemps .cal-dn.today { color: #1e1d1a !important; }
#pageSuiviTemps .chip { font-family: "Archivo", sans-serif !important; font-size: 10.5px !important; font-weight: 400 !important; color: #6e6a62 !important; background: #f2f1ee !important; border-left: 2px solid #e4e2dc !important; padding: 3px 6px !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
#pageSuiviTemps .chip.tma { border-left-color: #7A9CB8 !important; }
#pageSuiviTemps .chip.dgu { border-left-color: #9B8BB4 !important; }
#pageSuiviTemps .chip.hmo { border-left-color: #8BB49B !important; }
#pageSuiviTemps .chip.brl { border-left-color: #B4A08B !important; }
#pageSuiviTemps .add-btn { font-size: 16px !important; color: #e4e2dc !important; align-self: center !important; margin-top: auto !important; line-height: 1 !important; }
#pageSuiviTemps .foot { padding: 14px 48px !important; border-top: 1px solid #1e1d1a !important; display: flex !important; justify-content: space-between !important; align-items: center !important; flex-shrink: 0 !important; }
#pageSuiviTemps .foot-i { font-family: "Archivo", sans-serif !important; font-size: 9px !important; font-weight: 300 !important; letter-spacing: .15em !important; text-transform: uppercase !important; color: #b8b4ac !important; }

/* === Autres declarations (CFE/CVAE/IFU) === */
#pageAutresDeclarations { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; background: #fafaf8 !important; display: flex !important; flex-direction: column !important; }
#pageAutresDeclarations .tr { color: #d0392b !important; }
#pageAutresDeclarations .tk { color: #1e1d1a !important; }
#pageAutresDeclarations .ph { padding: 36px 48px 28px !important; border-bottom: 1px solid #1e1d1a !important; display: flex !important; align-items: flex-end !important; justify-content: space-between !important; flex-shrink: 0 !important; }
#pageAutresDeclarations .ph-ey { font-family: "Archivo", sans-serif !important; font-size: 9px !important; font-weight: 300 !important; letter-spacing: .25em !important; text-transform: uppercase !important; color: #b8b4ac !important; margin-bottom: 8px !important; }
#pageAutresDeclarations .ph-t { font-family: "Barlow Condensed", sans-serif !important; font-size: 52px !important; font-weight: 600 !important; letter-spacing: .02em !important; text-transform: uppercase !important; line-height: 1 !important; }
#pageAutresDeclarations .tabs { display: flex !important; padding: 0 48px !important; border-bottom: 1px solid #e4e2dc !important; flex-wrap: wrap !important; flex-shrink: 0 !important; }
#pageAutresDeclarations .tab { font-family: "Archivo", sans-serif !important; font-size: 9.5px !important; font-weight: 400 !important; letter-spacing: .12em !important; text-transform: uppercase !important; color: #b8b4ac !important; background: transparent !important; border: none !important; border-bottom: 2px solid transparent !important; padding: 13px 14px !important; margin-bottom: -1px !important; white-space: nowrap !important; }
#pageAutresDeclarations .tab.on, #pageAutresDeclarations .tab.active { color: #1e1d1a !important; border-bottom-color: #1e1d1a !important; }
#pageAutresDeclarations .fb { padding: 10px 48px !important; border-bottom: 1px solid #e4e2dc !important; display: flex !important; align-items: center !important; gap: 8px !important; flex-wrap: wrap !important; }
#pageAutresDeclarations .fpill { font-family: "Archivo", sans-serif !important; font-size: 9px !important; font-weight: 400 !important; letter-spacing: .12em !important; text-transform: uppercase !important; color: #6e6a62 !important; background: transparent !important; border: 1px solid #e4e2dc !important; padding: 5px 12px !important; }
#pageAutresDeclarations .cb-bar { padding: 8px 48px !important; border-bottom: 1px solid #e4e2dc !important; font-family: "Archivo", sans-serif !important; font-size: 10px !important; font-weight: 300 !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: #b8b4ac !important; }
#pageAutresDeclarations .autres-tab-content[style*="display: block"] { display: flex !important; flex-direction: column !important; flex: 1 !important; }
#pageAutresDeclarations .tw { overflow-x: auto !important; flex: 1 !important; }
#pageAutresDeclarations table { width: 100% !important; border-collapse: collapse !important; }
#pageAutresDeclarations thead tr { border-bottom: 1px solid #1e1d1a !important; }
#pageAutresDeclarations th { padding: 10px 16px 8px !important; font-size: 8.5px !important; font-weight: 400 !important; letter-spacing: .2em !important; text-transform: uppercase !important; color: #b8b4ac !important; text-align: left !important; white-space: nowrap !important; }
#pageAutresDeclarations th { border-bottom: 0 !important; }
#pageAutresDeclarations th, #pageAutresDeclarations th.c { border-top: 0 !important; box-shadow: none !important; outline: none !important; background: #fafaf8 !important; }
#pageAutresDeclarations td { padding: 11px 16px !important; font-size: 12.5px !important; color: #6e6a62 !important; border-bottom: 1px solid #e4e2dc !important; }
#pageAutresDeclarations td { border-top: 0 !important; }
#pageAutresDeclarations .c { text-align: center !important; }
#pageAutresDeclarations .cn { font-family: "Cormorant", serif !important; font-size: 15px !important; color: #1e1d1a !important; }
#pageAutresDeclarations .tag { font-size: 11.5px !important; color: #b8b4ac !important; }
#pageAutresDeclarations .dot { width: 7px !important; height: 7px !important; border-radius: 50% !important; display: inline-block !important; }
#pageAutresDeclarations .dot.g { background: #2e6644 !important; }
#pageAutresDeclarations .dot.n { background: #e4e2dc !important; }
#pageAutresDeclarations .st { font-size: 10px !important; font-weight: 500 !important; letter-spacing: .05em !important; text-transform: uppercase !important; }
#pageAutresDeclarations .st.g { color: #2e6644 !important; }
#pageAutresDeclarations .st.a { color: #8b5e00 !important; }
#pageAutresDeclarations .st.n { color: #b8b4ac !important; }
#pageAutresDeclarations .ghost { opacity: .28 !important; }
#pageAutresDeclarations .foot { padding: 14px 48px !important; border-top: 1px solid #1e1d1a !important; display: flex !important; align-items: center !important; }
#pageAutresDeclarations .foot-i { font-family: "Archivo", sans-serif !important; font-size: 9px !important; font-weight: 300 !important; letter-spacing: .15em !important; text-transform: uppercase !important; color: #b8b4ac !important; }

/* === TVA annuelle / IS / Suivi declarations === */
#pageTVAAnnuelle, #pageIS, #pageSuiviDeclarations {
  width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; background: #fafaf8 !important;
}
#pageTVAAnnuelle .tr, #pageIS .tr, #pageSuiviDeclarations .tr { color: #d0392b !important; }
#pageTVAAnnuelle .tk, #pageIS .tk, #pageSuiviDeclarations .tk { color: #1e1d1a !important; }
#pageTVAAnnuelle .ph, #pageIS .ph, #pageSuiviDeclarations .ph { padding: 36px 48px 28px !important; border-bottom: 1px solid #1e1d1a !important; display: flex !important; align-items: flex-end !important; justify-content: space-between !important; }
#pageTVAAnnuelle .ph-ey, #pageIS .ph-ey, #pageSuiviDeclarations .ph-ey { font-family: "Archivo", sans-serif !important; font-size: 9px !important; font-weight: 300 !important; letter-spacing: .25em !important; text-transform: uppercase !important; color: #b8b4ac !important; margin-bottom: 8px !important; }
#pageTVAAnnuelle .ph-t, #pageIS .ph-t, #pageSuiviDeclarations .ph-t { font-family: "Barlow Condensed", sans-serif !important; font-size: 52px !important; font-weight: 600 !important; letter-spacing: .02em !important; text-transform: uppercase !important; line-height: 1 !important; }
#pageTVAAnnuelle .ph-sub, #pageIS .ph-sub, #pageSuiviDeclarations .ph-sub { font-size: 11px !important; font-weight: 300 !important; color: #b8b4ac !important; margin-top: 8px !important; max-width: 520px !important; line-height: 1.6 !important; }
#pageTVAAnnuelle .fb, #pageIS .fb, #pageSuiviDeclarations .fb { padding: 10px 48px !important; border-bottom: 1px solid #e4e2dc !important; display: flex !important; align-items: center !important; gap: 8px !important; flex-wrap: wrap !important; }
#pageTVAAnnuelle .fpill, #pageIS .fpill, #pageSuiviDeclarations .fpill { font-family: "Archivo", sans-serif !important; font-size: 9px !important; font-weight: 400 !important; letter-spacing: .12em !important; text-transform: uppercase !important; color: #6e6a62 !important; background: transparent !important; border: 1px solid #e4e2dc !important; padding: 5px 12px !important; }
#pageTVAAnnuelle .cb-bar, #pageIS .cb-bar, #pageSuiviDeclarations .cb-bar { padding: 8px 48px !important; border-bottom: 1px solid #e4e2dc !important; font-family: "Archivo", sans-serif !important; font-size: 10px !important; font-weight: 300 !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: #b8b4ac !important; }
#pageTVAAnnuelle .tw, #pageIS .tw, #pageSuiviDeclarations .tw { overflow-x: auto !important; flex: 1 !important; }
#pageTVAAnnuelle table, #pageIS table, #pageSuiviDeclarations table { width: 100% !important; border-collapse: collapse !important; }
#pageTVAAnnuelle thead tr, #pageIS thead tr, #pageSuiviDeclarations thead tr { border-bottom: 1px solid #1e1d1a !important; }
#pageTVAAnnuelle th, #pageIS th, #pageSuiviDeclarations th { padding: 10px 16px 8px !important; font-size: 8.5px !important; font-weight: 400 !important; letter-spacing: .2em !important; text-transform: uppercase !important; color: #b8b4ac !important; text-align: left !important; white-space: nowrap !important; }
#pageTVAAnnuelle td, #pageIS td, #pageSuiviDeclarations td { padding: 11px 16px !important; font-size: 12.5px !important; color: #6e6a62 !important; border-bottom: 1px solid #e4e2dc !important; }
#pageTVAAnnuelle .cn, #pageIS .cn, #pageSuiviDeclarations .cn, #pageAffectationTemps .cn, #pageInvitations .cn { font-family: "Cormorant", serif !important; font-size: 24px !important; font-weight: 300 !important; color: #1e1d1a !important; }
#pageTVAAnnuelle .tag, #pageIS .tag, #pageSuiviDeclarations .tag, #pageAffectationTemps .tag, #pageInvitations .tag { font-size: 11.5px !important; color: #b8b4ac !important; }
#pageTVAAnnuelle .dot, #pageIS .dot, #pageSuiviDeclarations .dot { width: 7px !important; height: 7px !important; border-radius: 50% !important; display: inline-block !important; }
#pageTVAAnnuelle .dot.g, #pageIS .dot.g, #pageSuiviDeclarations .dot.g { background: #2e6644 !important; }
#pageTVAAnnuelle .dot.r, #pageIS .dot.r, #pageSuiviDeclarations .dot.r { background: #d0392b !important; }
#pageTVAAnnuelle .dot.a, #pageIS .dot.a, #pageSuiviDeclarations .dot.a { background: #8b5e00 !important; }
#pageTVAAnnuelle .dot.n, #pageIS .dot.n, #pageSuiviDeclarations .dot.n { background: #e4e2dc !important; }
#pageAffectationTemps .st { font-size: 10px !important; font-weight: 500 !important; letter-spacing: .05em !important; text-transform: uppercase !important; }
#pageAffectationTemps .st.g { color: #2e6644 !important; }
#pageAffectationTemps .st.r { color: #d0392b !important; }
#pageAffectationTemps .st.a { color: #8b5e00 !important; }
#pageTVAAnnuelle .foot, #pageIS .foot, #pageSuiviDeclarations .foot { padding: 14px 48px !important; border-top: 1px solid #1e1d1a !important; display: flex !important; justify-content: space-between !important; align-items: center !important; }
#pageTVAAnnuelle .foot-i, #pageIS .foot-i, #pageSuiviDeclarations .foot-i { font-family: "Archivo", sans-serif !important; font-size: 9px !important; font-weight: 300 !important; letter-spacing: .15em !important; text-transform: uppercase !important; color: #b8b4ac !important; }

/* === Affectation / Occupation / Invitations === */
#pageAffectationTemps, #pageOccupationCollaborateurs, #pageInvitations { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; background: #fafaf8 !important; }
#pageAffectationTemps .tr, #pageOccupationCollaborateurs .tr, #pageInvitations .tr { color: #d0392b !important; }
#pageAffectationTemps .tk, #pageOccupationCollaborateurs .tk, #pageInvitations .tk { color: #1e1d1a !important; }
#pageAffectationTemps .ph, #pageOccupationCollaborateurs .ph, #pageInvitations .ph { padding: 36px 48px 28px !important; border-bottom: 1px solid #1e1d1a !important; display: flex !important; align-items: flex-end !important; justify-content: space-between !important; }
#pageAffectationTemps .ph-ey, #pageOccupationCollaborateurs .ph-ey, #pageInvitations .ph-ey { font-family: "Archivo", sans-serif !important; font-size: 9px !important; font-weight: 300 !important; letter-spacing: .25em !important; text-transform: uppercase !important; color: #b8b4ac !important; margin-bottom: 8px !important; }
#pageAffectationTemps .ph-t, #pageOccupationCollaborateurs .ph-t, #pageInvitations .ph-t { font-family: "Barlow Condensed", sans-serif !important; font-size: 52px !important; font-weight: 600 !important; letter-spacing: .02em !important; text-transform: uppercase !important; line-height: 1 !important; }
#pageAffectationTemps .ph-sub, #pageOccupationCollaborateurs .ph-sub, #pageInvitations .ph-sub { font-size: 11px !important; font-weight: 300 !important; color: #b8b4ac !important; margin-top: 8px !important; max-width: 640px !important; line-height: 1.6 !important; }
#pageOccupationCollaborateurs .occ-legend { padding: 0 48px 20px !important; font-family: "Archivo", sans-serif !important; font-size: 11px !important; font-weight: 300 !important; color: #6e6a62 !important; line-height: 1.55 !important; max-width: 720px !important; border-bottom: 1px solid #e4e2dc !important; }
#pageAffectationTemps .fb, #pageOccupationCollaborateurs .fb { padding: 10px 48px !important; border-bottom: 1px solid #e4e2dc !important; display: flex !important; align-items: center !important; gap: 8px !important; flex-wrap: wrap !important; }
/* Charge dossiers : barre de contrôle structurée (mode → période → filtre) */
#pageAffectationTemps .fb.affectation-toolbar {
  align-items: flex-start !important;
  gap: 14px 28px !important;
  padding-top: 14px !important;
  padding-bottom: 14px !important;
}
#pageAffectationTemps .affectation-toolbar-group {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px 10px !important;
  min-width: 0 !important;
}
#pageAffectationTemps .affectation-toolbar-label {
  font-family: "Archivo", sans-serif !important;
  font-size: 8px !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: #b8b4ac !important;
  flex: 0 0 auto !important;
  margin-right: 4px !important;
}
#pageAffectationTemps .affectation-toolbar-group + .affectation-toolbar-group {
  padding-left: 20px !important;
  border-left: 1px solid #e4e2dc !important;
  margin-left: 4px !important;
}
@media (max-width: 900px) {
  #pageAffectationTemps .affectation-toolbar-group + .affectation-toolbar-group {
    padding-left: 0 !important;
    border-left: none !important;
    margin-left: 0 !important;
  }
}
#pageAffectationTemps .fpill, #pageOccupationCollaborateurs .fpill, #pageInvitations .btn { font-family: "Archivo", sans-serif !important; font-size: 9px !important; font-weight: 400 !important; letter-spacing: .12em !important; text-transform: uppercase !important; }
#pageAffectationTemps .cb-bar { padding: 8px 48px !important; border-bottom: 1px solid #e4e2dc !important; font-size: 10px !important; font-weight: 300 !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: #b8b4ac !important; }
/* Barre de compte au-dessus du tableau : alignée sur Plan de travail / Suivi */
#pageAffectationTemps #affectationTempsTableCountBar {
  padding: 8px 48px 6px !important;
  border-bottom: none !important;
  background: transparent !important;
  color: var(--dv-muted) !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 10px !important;
  font-weight: 300 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  display: flex !important;
  align-items: center !important;
  min-height: 28px !important;
}
#pageAffectationTemps .tw, #pageInvitations .tw { overflow-x: auto !important; flex: 1 !important; }
#pageInvitations table { width: 100% !important; border-collapse: collapse !important; }
#pageInvitations th { padding: 10px 16px 8px !important; font-size: 8.5px !important; font-weight: 400 !important; letter-spacing: .2em !important; text-transform: uppercase !important; color: #b8b4ac !important; text-align: left !important; }
#pageInvitations thead tr { border-bottom: 1px solid #1e1d1a !important; }

/* Affectation dossiers & charge : même en-tête que Plan de travail / Suivi (fond off-white, libellés bordeaux) */
#pageAffectationTemps #affectationTempsTable {
  width: 100% !important;
  border-collapse: collapse !important;
  table-layout: fixed !important;
  background: var(--dv-white) !important;
}
/* Colonne Dossier : largeur pilotée par colgroup ; texte peut revenir à la ligne */
#pageAffectationTemps #affectationTempsTable thead th.col-name,
#pageAffectationTemps #affectationTempsTable tbody td.col-name {
  min-width: 0 !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: break-word !important;
  hyphens: auto !important;
}
#pageAffectationTemps #affectationTempsTable thead th.col-num,
#pageAffectationTemps #affectationTempsTable tbody td.col-num {
  text-align: right !important;
  font-variant-numeric: tabular-nums !important;
}
#pageAffectationTemps #affectationTempsTable tbody td.col-num .task-input {
  margin-left: auto !important;
  display: block !important;
}
#pageAffectationTemps #affectationTempsTable thead th {
  border: none !important;
  border-bottom: 2px solid var(--dv-line) !important;
  color: var(--dv-red) !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 8.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  text-align: left !important;
  padding: 10px 16px 8px !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 12 !important;
  background: var(--dv-off) !important;
  background-color: var(--dv-off) !important;
  white-space: nowrap !important;
}
#pageAffectationTemps #affectationTempsTable thead th.col-name {
  white-space: normal !important;
}
#pageAffectationTemps #affectationTempsTable thead,
#pageAffectationTemps #affectationTempsTable thead tr,
#pageAffectationTemps #affectationTempsTable thead th {
  background: var(--dv-off) !important;
  background-color: var(--dv-off) !important;
  background-image: none !important;
}
#pageAffectationTemps #affectationTempsTable thead th:first-child {
  padding-left: 48px !important;
}
#pageAffectationTemps #affectationTempsTable thead th:last-child {
  padding-right: 48px !important;
}
/* En-têtes : tri sans icônes — indication par couleur / bordure */
#pageAffectationTemps #affectationTempsTable thead th.affectation-th {
  position: relative !important;
  padding-right: 16px !important;
  user-select: none !important;
  cursor: pointer !important;
}
#pageAffectationTemps #affectationTempsTable thead th.affectation-th:hover {
  color: var(--dv-dark) !important;
}
#pageAffectationTemps #affectationTempsTable thead th.affectation-th::after {
  display: none !important;
  content: none !important;
}
#pageAffectationTemps #affectationTempsTable thead th.affectation-th--sorted {
  color: var(--dv-dark) !important;
  box-shadow: inset 0 -2px 0 0 var(--dv-dark) !important;
}

#pageAffectationTemps #affectationTempsTable tbody tr {
  border-bottom: 1px solid var(--dv-line) !important;
  background: transparent !important;
}
#pageAffectationTemps #affectationTempsTable tbody td {
  border: none !important;
  border-bottom: 1px solid var(--dv-line) !important;
  background: transparent !important;
  color: var(--dv-mid) !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  text-align: left !important;
  padding: 11px 16px !important;
}
#pageAffectationTemps #affectationTempsTable tbody td:first-child {
  padding-left: 48px !important;
}
#pageAffectationTemps #affectationTempsTable tbody td:last-child {
  padding-right: 48px !important;
}
#pageAffectationTemps #affectationTempsTable tbody tr:hover td {
  background: rgba(30, 29, 26, 0.02) !important;
}
/* Ligne en cours de saisie : fond très léger, sans ombre par cellule (évite les traits entre colonnes) */
#pageAffectationTemps #affectationTempsTable tbody tr.affectation-temps-row-focus td {
  background: rgba(30, 29, 26, 0.04) !important;
}
#pageAffectationTemps #affectationTempsTable tbody tr.affectation-temps-row-focus:hover td {
  background: rgba(30, 29, 26, 0.055) !important;
}
#pageAffectationTemps #affectationTempsTable tbody td.affectation-temps-total {
  text-align: right !important;
  font-variant-numeric: tabular-nums !important;
  color: var(--dv-dark) !important;
}
#pageAffectationTemps #affectationTempsTable tbody td .affectation-type-mission-input {
  min-width: 0 !important;
}

#pageInvitations td { padding: 11px 16px !important; font-size: 12.5px !important; color: #6e6a62 !important; border-bottom: 1px solid #e4e2dc !important; }
#pageAffectationTemps .foot, #pageOccupationCollaborateurs .foot, #pageInvitations .foot { padding: 14px 48px !important; border-top: 1px solid #1e1d1a !important; display: flex !important; justify-content: space-between !important; align-items: center !important; }
#pageAffectationTemps .foot-i, #pageOccupationCollaborateurs .foot-i, #pageInvitations .foot-i { font-family: "Archivo", sans-serif !important; font-size: 9px !important; font-weight: 300 !important; letter-spacing: .15em !important; text-transform: uppercase !important; color: #b8b4ac !important; }

#pageInvitations .inv-form { padding: 14px 48px !important; border-bottom: 1px solid #e4e2dc !important; display: flex !important; align-items: flex-end !important; gap: 16px !important; flex-wrap: wrap !important; }
#pageInvitations .fld { display: flex !important; flex-direction: column !important; gap: 4px !important; }
#pageInvitations .fld-lbl { font-size: 8.5px !important; font-weight: 400 !important; letter-spacing: .18em !important; text-transform: uppercase !important; color: #b8b4ac !important; }
#pageInvitations .fld-inp { font-family: "Archivo", sans-serif !important; font-size: 12px !important; font-weight: 400 !important; color: #1e1d1a !important; background: transparent !important; border: none !important; border-bottom: 1px solid #e4e2dc !important; padding: 5px 0 !important; outline: none !important; width: 220px !important; }
#pageInvitations .sec { padding: 20px 48px 0 !important; flex-shrink: 0 !important; }
#pageInvitations .sec-t { font-size: 9px !important; font-weight: 500 !important; letter-spacing: .2em !important; text-transform: uppercase !important; color: #6e6a62 !important; margin-bottom: 14px !important; display: flex !important; align-items: center !important; gap: 10px !important; }
#pageInvitations .badge { font-size: 8.5px !important; font-weight: 500 !important; padding: 2px 8px !important; background: #8b5e00 !important; color: #fafaf8 !important; letter-spacing: .06em !important; }
#pageInvitations .badge.g { background: #2e6644 !important; }

#pageOccupationCollaborateurs .sb { display: flex !important; border-bottom: 1px solid #e4e2dc !important; flex-wrap: wrap !important; }
#pageOccupationCollaborateurs .sbl { padding: 18px 40px !important; border-right: 1px solid #e4e2dc !important; min-width: 130px !important; }
#pageOccupationCollaborateurs .sbl-l { font-size: 9px !important; font-weight: 300 !important; letter-spacing: .2em !important; text-transform: uppercase !important; color: #b8b4ac !important; }
#pageOccupationCollaborateurs .sbl-v { font-family: "Cormorant", serif !important; font-size: 48px !important; font-weight: 300 !important; color: #1e1d1a !important; }
#pageOccupationCollaborateurs .sbl-v.g { color: #2e6644 !important; }
#pageOccupationCollaborateurs .sbl-v.r { color: #d0392b !important; }
#pageOccupationCollaborateurs .sbl-v.a { color: #8b5e00 !important; }
#pageOccupationCollaborateurs .occ-grid { display: grid !important; grid-template-columns: repeat(2,1fr) !important; gap: 1px !important; background: #e4e2dc !important; padding: 0 48px !important; margin: 24px 0 !important; }
#pageOccupationCollaborateurs .occ-card { background: #fafaf8 !important; padding: 24px 28px !important; }
#pageOccupationCollaborateurs .occ-name { font-family: "Cormorant", serif !important; font-size: 36px !important; font-weight: 300 !important; color: #1e1d1a !important; margin-bottom: 16px !important; display: flex !important; justify-content: space-between !important; align-items: baseline !important; }
#pageOccupationCollaborateurs .occ-name-sub { font-family: "Archivo", sans-serif !important; font-size: 11px !important; font-weight: 300 !important; color: #b8b4ac !important; }
#pageOccupationCollaborateurs .occ-bar-wrap { display: flex !important; flex-direction: column !important; gap: 8px !important; }
#pageOccupationCollaborateurs .occ-row { display: flex !important; align-items: center !important; gap: 10px !important; }
#pageOccupationCollaborateurs .occ-row-lbl { font-size: 11px !important; font-weight: 300 !important; color: #6e6a62 !important; width: 140px !important; }
#pageOccupationCollaborateurs .occ-track { flex: 1 !important; height: 4px !important; background: #e4e2dc !important; }
#pageOccupationCollaborateurs .occ-fill { height: 4px !important; background: #1e1d1a !important; }
#pageOccupationCollaborateurs .occ-fill.over { background: #d0392b !important; }
#pageOccupationCollaborateurs .occ-val { font-size: 11px !important; font-weight: 500 !important; color: #1e1d1a !important; width: 50px !important; text-align: right !important; }
#pageOccupationCollaborateurs .occ-total { margin-top: 14px !important; padding-top: 12px !important; border-top: 1px solid #e4e2dc !important; display: flex !important; justify-content: space-between !important; align-items: center !important; }
#pageOccupationCollaborateurs .occ-total-lbl { font-size: 9px !important; letter-spacing: .15em !important; text-transform: uppercase !important; color: #b8b4ac !important; }
#pageOccupationCollaborateurs .occ-total-val { font-family: "Cormorant", serif !important; font-size: 44px !important; font-weight: 300 !important; color: #1e1d1a !important; }

/* Occupation : lien collaborateur + modale dossiers */
#pageOccupationCollaborateurs .occ-collab-link {
  font: inherit !important;
  font-family: "Cormorant", serif !important;
  font-size: 1.05em !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
  color: #1e1d1a !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  text-align: left !important;
}
#pageOccupationCollaborateurs .occ-collab-link:hover,
#pageOccupationCollaborateurs .occ-collab-link:focus-visible {
  color: #d0392b !important;
  outline: none !important;
}

.occ-dossiers-backdrop {
  position: fixed !important;
  inset: 0 !important;
  z-index: 12000 !important;
  background: rgba(30, 29, 26, 0.48) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
  box-sizing: border-box !important;
}
.occ-dossiers-panel {
  background: #fafaf8 !important;
  border: 1px solid #1e1d1a !important;
  max-width: 520px !important;
  width: 100% !important;
  max-height: min(82vh, 560px) !important;
  overflow: auto !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18) !important;
}
.occ-dossiers-panel-hd {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 18px 22px 12px !important;
  border-bottom: 1px solid #e4e2dc !important;
}
.occ-dossiers-panel-hd #occDossiersTitle {
  font-family: "Cormorant", serif !important;
  font-size: 22px !important;
  font-weight: 300 !important;
  color: #1e1d1a !important;
  line-height: 1.2 !important;
}
.occ-dossiers-close {
  flex-shrink: 0 !important;
  width: 36px !important;
  height: 36px !important;
  font-size: 22px !important;
  line-height: 1 !important;
  color: #b8b4ac !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  padding: 0 !important;
}
.occ-dossiers-close:hover {
  color: #1e1d1a !important;
}
.occ-dossiers-panel-sub {
  padding: 0 22px 14px !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 11px !important;
  font-weight: 300 !important;
  color: #6e6a62 !important;
  line-height: 1.45 !important;
}
.occ-dossiers-table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 12.5px !important;
}
.occ-dossiers-table thead tr {
  border-bottom: 1px solid #1e1d1a !important;
}
.occ-dossiers-table th {
  padding: 8px 22px 10px !important;
  font-size: 8.5px !important;
  font-weight: 400 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #b8b4ac !important;
  text-align: left !important;
}
.occ-dossiers-table th:last-child {
  text-align: right !important;
}
.occ-dossiers-table td {
  padding: 10px 22px !important;
  color: #1e1d1a !important;
  border-bottom: 1px solid #e4e2dc !important;
}
.occ-dossiers-table td:last-child {
  text-align: right !important;
  font-variant-numeric: tabular-nums !important;
}

/* === Controle habilitations / Administration === */
#pageControleHabilitations, #pageAdministration { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; background: #fafaf8 !important; flex-direction: column !important; }
#pageControleHabilitations .ph, #pageAdministration .ph { padding: 36px 48px 28px !important; border-bottom: 1px solid #1e1d1a !important; display: flex !important; align-items: flex-end !important; justify-content: space-between !important; }
#pageControleHabilitations .ph-ey, #pageAdministration .ph-ey { font-family: "Archivo", sans-serif !important; font-size: 9px !important; font-weight: 300 !important; letter-spacing: .25em !important; text-transform: uppercase !important; color: #b8b4ac !important; margin-bottom: 8px !important; }
#pageControleHabilitations .ph-t, #pageAdministration .ph-t { font-family: "Barlow Condensed", sans-serif !important; font-size: 52px !important; font-weight: 600 !important; letter-spacing: .02em !important; text-transform: uppercase !important; line-height: 1 !important; }
#pageControleHabilitations .tr, #pageAdministration .tr { color: #d0392b !important; }
#pageControleHabilitations .tk, #pageAdministration .tk { color: #1e1d1a !important; }
#pageControleHabilitations .sb { display: flex !important; border-bottom: 1px solid #e4e2dc !important; flex-wrap: wrap !important; }
#pageControleHabilitations .sbl { padding: 18px 40px !important; border-right: 1px solid #e4e2dc !important; min-width: 130px !important; }
#pageControleHabilitations .sbl-l { font-size: 9px !important; letter-spacing: .2em !important; text-transform: uppercase !important; color: #b8b4ac !important; }
#pageControleHabilitations .sbl-v { font-family: "Cormorant", serif !important; font-size: 36px !important; font-weight: 300 !important; color: #1e1d1a !important; }
#pageControleHabilitations .sbl-v.g { color: #2e6644 !important; }
#pageControleHabilitations .sbl-v.r { color: #d0392b !important; }
#pageControleHabilitations .fb { padding: 10px 48px !important; border-bottom: 1px solid #e4e2dc !important; display: flex !important; align-items: center !important; gap: 8px !important; flex-wrap: wrap !important; }
#pageControleHabilitations .fpill, #pageControleHabilitations .fi { font-family: "Archivo", sans-serif !important; }
#pageControleHabilitations .tw { overflow-x: auto !important; flex: 1 !important; }
#pageControleHabilitations #controleHabilitationsTable { border-collapse: collapse !important; }
#pageControleHabilitations #controleHabilitationsTable thead tr { border-bottom: 1px solid #1e1d1a !important; }
#pageControleHabilitations #controleHabilitationsTable th { padding: 10px 16px 8px !important; font-size: 8.5px !important; letter-spacing: .2em !important; text-transform: uppercase !important; color: #b8b4ac !important; background: #fafaf8 !important; }
#pageControleHabilitations #controleHabilitationsTable td { padding: 11px 16px !important; font-size: 12.5px !important; color: #6e6a62 !important; border-bottom: 1px solid #e4e2dc !important; }
#pageControleHabilitations #controleHabilitationsTable th.s1, #pageControleHabilitations #controleHabilitationsTable td.s1 { position: sticky !important; left: 0 !important; background: #fafaf8 !important; z-index: 2 !important; min-width: 200px !important; }
#pageControleHabilitations #controleHabilitationsTable th.s2, #pageControleHabilitations #controleHabilitationsTable td.s2 { position: sticky !important; left: 200px !important; background: #fafaf8 !important; z-index: 2 !important; min-width: 130px !important; }
#pageControleHabilitations .c { text-align: center !important; }
#pageControleHabilitations .foot { padding: 14px 48px !important; border-top: 1px solid #1e1d1a !important; display: flex !important; justify-content: space-between !important; align-items: center !important; }
#pageControleHabilitations .foot-i { font-size: 9px !important; letter-spacing: .15em !important; text-transform: uppercase !important; color: #b8b4ac !important; }

#pageAdministration .tabs { display: flex !important; padding: 0 48px !important; border-bottom: 1px solid #e4e2dc !important; flex-wrap: wrap !important; }
#pageAdministration .tab { font-size: 9.5px !important; font-weight: 400 !important; letter-spacing: .12em !important; text-transform: uppercase !important; color: #b8b4ac !important; background: transparent !important; border: none !important; border-bottom: 2px solid transparent !important; padding: 13px 14px !important; }
#pageAdministration .tab.active, #pageAdministration .tab.on { color: #1e1d1a !important; border-bottom-color: #1e1d1a !important; }

/* Entetes fixes pour tous les tableaux */
.page table thead th {
  position: sticky !important;
  top: 0 !important;
  z-index: 10 !important;
  background: #fafaf8 !important;
}

/* Colonnes figees : priorite d'empilement */
#pageControleHabilitations #controleHabilitationsTable thead th.s1,
#pageControleHabilitations #controleHabilitationsTable thead th.s2 {
  z-index: 12 !important;
}

#pageEcheancesFiscales .echeances-matrix thead th:first-child,
#pageEcheancesFiscales .echeances-matrix thead th:nth-child(2) {
  z-index: 12 !important;
}
