/* Colonnes figées des tableaux DataTables (public/js/datatable-sticky-columns.js) : fond opaque, sinon les colonnes
   qui défilent dessous se lisent à travers. Le tableau doit défiler dans son conteneur (.table-responsive). */
.dt-sticky-col { position: sticky; z-index: 2; background-color: #fff; box-shadow: 2px 0 4px rgba(22, 39, 55, .08); }
thead .dt-sticky-col { z-index: 3; background-color: #f4f7fa; }
.table-striped tbody tr:nth-of-type(odd) .dt-sticky-col { background-color: #f2f2f2; }
.table-hover tbody tr:hover .dt-sticky-col { background-color: #ececec; }

html[data-cn-theme="dark"] .dt-sticky-col { background-color: var(--cn-surface, #1e2733); box-shadow: 2px 0 4px rgba(0, 0, 0, .35); }
html[data-cn-theme="dark"] thead .dt-sticky-col { background-color: var(--cn-surface-2, #243040); }
html[data-cn-theme="dark"] .table-striped tbody tr:nth-of-type(odd) .dt-sticky-col { background-color: var(--cn-surface-2, #243040); }

/* Panneaux de filtres repliables (public/js/collapsible-filters.js) : titre cliquable et chevron. */
.cf-toggle { display: flex; align-items: center; gap: 8px; cursor: pointer; font-weight: 600; color: #16324F; padding: 8px 0; user-select: none; }
.cf-toggle .cf-chevron { margin-left: auto; transition: transform .2s; color: #8a95a5; }
.cf-toggle[aria-expanded="true"] { border-bottom: 1px dashed #dbe5ee; margin-bottom: 12px; }
.cf-toggle[aria-expanded="true"] .cf-chevron { transform: rotate(180deg); color: #185fa5; }
html[data-cn-theme="dark"] .cf-toggle { color: var(--cn-texte, #e6edf3); }
