/* Fondations communes aux écrans de gestion — charte graphique MARS v1.2. */
:root {
  --mars-texte: #14202E;
  --mars-titre: #14202E;
  --mars-secondaire: #465364;
  --mars-bord: #E2E0D9;
  --mars-separateur: #E2E0D9;
  --mars-fond: #F3F2EE;
  --mars-accent: #0E2A47;
  --mars-accent-fonce: #1F3B5A;
  --mars-accent-doux: #E6ECF3;
  --mars-arrondi: 12px;
  --mars-controle: 8px;
  --ui-text: var(--mars-texte);
  --ui-muted: var(--mars-secondaire);
  --ui-border: var(--mars-bord);
  --ui-border-strong: #E2E0D9;
  --ui-surface: #ffffff;
  --ui-canvas: var(--mars-fond);
  --ui-primary: var(--mars-accent);
  --ui-primary-hover: var(--mars-accent-fonce);
  --ui-radius: var(--mars-arrondi);
  --ui-focus: var(--mars-accent-fonce);
}

/* Charte MARS : fondations visuelles partagées, sans toucher aux grilles. */
#content-wrapper :is(h1,h2,h3,h4,h5,h6), .modal :is(h1,h2,h3,h4,h5,h6) {
  color: var(--mars-titre);
  font-family: var(--mars-police-titre);
  font-weight: 600;
}

/* Composant de bouton MARS : Communes, fiche commune, tableau de bord et comptes.
   La définition vient de la fiche commune ; ses anciens noms sont des alias. */
.cf-button,
.communes-page .communes-commandes .btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:38px; padding:8px 13px; border:1px solid #E2E0D9;
  border-radius:var(--mars-controle); background:#fff; color:#465364;
  font:700 13px/1.4 "Avenir Next",Avenir,"Segoe UI",Helvetica,sans-serif; text-decoration:none;
  cursor:pointer; transition:background-color .14s,color .14s,border-color .14s;
}
.cf-button:hover:not(:disabled),
.communes-page .communes-commandes .btn:hover {
  background:#E6ECF3; color:#14202E; border-color:#E2E0D9; text-decoration:none;
}
.cf-button.cf-primary,
.communes-page .communes-commandes .btn {
  background:var(--mars-accent); border-color:var(--mars-accent); color:#fff;
}
.cf-button.cf-primary:hover:not(:disabled),
.communes-page .communes-commandes .btn:hover {
  background:var(--mars-accent-fonce); border-color:var(--mars-accent-fonce); color:#fff;
}
.cf-button.cf-small { min-height:36px; padding:6px 10px; font-size:12px; }
.cf-button:disabled { opacity:.45; cursor:not-allowed; }
:is(.cf-page-tools > div, .communes-page .actions-ligne) { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
@media(pointer:coarse) { .cf-button, .cf-button.cf-small { min-height:44px; } }
@media(prefers-reduced-motion:reduce) { .cf-button { transition:none; } }

/* Alias recalculés dans la rubrique pour respecter ses couleurs propres. */
:is(.ar-page, .ar-comptes, .communes-page, .cf-commune, .gf-page-liste, .gf-page-fiche, .brevo-listes-refonte, .formations-liste, .annuaire-page, .page-contacts, .page-contact-form, .page-projets, .page-projet-form, .page-projet-details, .page-sites, .page-moniteur, .page-inscriptions) {
  --ui-text:var(--mars-texte); --ui-muted:var(--mars-secondaire); --ui-border:var(--mars-bord);
  --ui-primary:var(--mars-accent); --ui-primary-hover:var(--mars-accent-fonce); --ui-focus:var(--mars-accent-fonce);
  font-family:var(--mars-police-texte);
}

/* Seule règle prioritaire de focus : les anciens thèmes ne doivent pas la masquer. */
#content-wrapper :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible,
.modal :is(a,button,input,select,textarea):focus-visible,
.mars-login-body :is(a,button,input):focus-visible,
.ui-evitement:focus-visible {
  outline:2px solid var(--mars-accent-fonce, #0E2A47) !important;
  outline-offset:3px !important;
}
#content-wrapper :is(.btn,.ar-btn,.page-link) { min-height:38px !important; }
#content-wrapper .gf-bouton-icone { min-height:32px !important; }
.modal .btn { min-height:38px; border-radius:8px; }
#content-wrapper :is(.page-link,.gf-bouton-icone) { min-width:32px !important; }
#content-wrapper .gf-bouton-icone { flex-basis:32px; width:32px; height:32px; }
#content-wrapper .page-link { display:inline-flex; align-items:center; justify-content:center; }
.ui-evitement { position:fixed; top:8px; left:16px; z-index:3000; transform:translateY(-160%); padding:12px 16px; border:1px solid var(--mars-bord); border-radius:8px; background:#fff; color:var(--mars-accent-fonce); font-weight:800; }
.ui-evitement:focus { transform:none; }
.ui-envoi-statut:not(:empty) { position:fixed; bottom:16px; left:50%; transform:translateX(-50%); z-index:2000; max-width:calc(100vw - 32px); margin:0; padding:12px 18px; color:var(--mars-titre); background:#fff; border:1px solid var(--mars-bord); border-radius:12px; box-shadow:0 4px 24px #14202E20; }
.ui-envoi-statut:empty { display:none; }
#accordionSidebar :is(a,button):focus-visible { outline:2px solid #2D5A8C !important; outline-offset:-2px !important; }
.nav-sub a:focus-visible { outline:2px solid var(--mars-accent-fonce) !important; outline-offset:-3px !important; }
.nav-sub:not(.open) { visibility:hidden; }
.nav-sub.open { visibility:visible; }
#ajoutContactModal label { color:var(--mars-texte); font-size:.85rem; font-weight:700; }
#ajoutContactModal .form-row > .col { min-width:0; }
@media(max-width:575.98px) { #ajoutContactModal .form-row > .col { flex:0 0 100%; margin-bottom:12px; } }
[aria-busy=true] [aria-disabled=true] { cursor:wait; opacity:.75; }
@media(pointer:coarse) {
  .modal .btn { min-height:44px; }
  #content-wrapper :is(.btn,.ar-btn,.page-link,.gf-bouton-icone) { min-height:44px !important; }
  #content-wrapper :is(.page-link,.gf-bouton-icone) { min-width:44px !important; }
  #content-wrapper .gf-bouton-icone { flex-basis:44px; width:44px; height:44px; }
  #content-wrapper :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]) { font-size:16px; }
}
@media(forced-colors:active) {
  #content-wrapper :focus-visible, .modal :focus-visible, #accordionSidebar :focus-visible, .nav-sub a:focus-visible, .mars-login-body :focus-visible, .ui-evitement:focus-visible { outline-color:Highlight !important; }
  #content-wrapper :is(.btn,.ar-btn,.page-link) { border:1px solid ButtonText; }
}

/* Charte graphique MARS — surcharge commune, sans règles de grille. */
:root {
  --ui-border-strong:#E2E0D9;
  --mars-ambre:#E8A33D; --mars-survol:#1F3B5A; --mars-voile:#E6ECF3;
  --mars-succes:#2F7D5B; --mars-succes-fond:#E3F1EA;
  --mars-attention:#8A5A10; --mars-attention-fond:#FBF0DC;
  --mars-erreur:#C2412D; --mars-erreur-fond:#F9E4DE;
  --mars-info:#2D5A8C; --mars-info-fond:#E3ECF6;
  --mars-ombre:0 1px 2px rgba(20,32,46,.04), 0 2px 8px rgba(20,32,46,.08);
  --mars-police-titre:"Iowan Old Style",Charter,Palatino,Georgia,serif;
  --mars-police-texte:"Avenir Next",Avenir,"Segoe UI",Helvetica,sans-serif;
  --mars-police-code:"SF Mono",Menlo,Consolas,monospace;
}
body, #content-wrapper, #content, .container-fluid {
  color:#14202E; background-color:#F3F2EE;
  font-family:var(--mars-police-texte); font-size:14px; line-height:1.5;
}
#content-wrapper :is(h1,h2,h3,h4,h5,h6), .modal :is(h1,h2,h3,h4,h5,h6) {
  color:#14202E; font-family:var(--mars-police-titre);
}
#content-wrapper :is(.card,.modal-content,.dropdown-menu,.popover,.list-group-item,
  .table,.dataTables_wrapper .dataTable) { border-color:#E2E0D9; }
#content-wrapper :is(.card,.modal-content,.dropdown-menu,.popover,.list-group-item) {
  border-radius:12px;
}
#content-wrapper :is(.table thead th,.dataTable thead th) {
  color:#465364; border-color:#E2E0D9; background-color:#F3F2EE;
}
#content-wrapper :is(.table td,.table th,.dataTable td,.dataTable th) { border-color:#E2E0D9; }
#content-wrapper :is(input:not([type=checkbox]):not([type=radio]),select,textarea),
.modal :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {
  color:#14202E; border-color:#E2E0D9; border-radius:8px;
}
#content-wrapper :is(input,select,textarea):focus, .modal :is(input,select,textarea):focus {
  border-color:#2D5A8C; box-shadow:0 0 0 2px #2D5A8C33;
}
#content-wrapper :is(.btn-primary,.bg-primary,.cf-button.cf-primary), .modal .btn-primary {
  color:#fff; background-color:var(--mars-accent); border-color:var(--mars-accent);
}
#content-wrapper :is(.btn-primary,.cf-button.cf-primary):hover, .modal .btn-primary:hover {
  color:#fff; background-color:var(--mars-accent-fonce); border-color:var(--mars-accent);
}
:where(#content-wrapper, .modal) a:where(:not(.btn):not(.nav-link):not(.cf-button)) { color:#2D5A8C; }
:where(#content-wrapper, .modal) a:where(:not(.btn):not(.nav-link):not(.cf-button)):hover { color:#1F3B5A; }
#content-wrapper :is(.text-primary,.badge-primary) { color:#2D5A8C !important; }
#content-wrapper .badge-primary { background-color:#E6ECF3; }
#content-wrapper :is(.badge-success,.text-success,.alert-success) { color:#2F7D5B; }
#content-wrapper .alert-success { background-color:#E3F1EA; border-color:#E2E0D9; }
#content-wrapper :is(.badge-warning,.text-warning,.alert-warning) { color:#8A5A10; }
#content-wrapper .alert-warning { background-color:#FBF0DC; border-color:#E2E0D9; }
#content-wrapper :is(.badge-danger,.text-danger,.alert-danger) { color:#C2412D; }
#content-wrapper .alert-danger { background-color:#F9E4DE; border-color:#E2E0D9; }
#content-wrapper :is(.badge-info,.text-info,.alert-info) { color:#2D5A8C; }
#content-wrapper .alert-info { background-color:#E3ECF6; border-color:#E2E0D9; }
@media(prefers-reduced-motion:reduce) {
  #content-wrapper :is(.btn,.ar-btn,.page-link,.modal,.fade,.collapsing), .ui-evitement { transition:none !important; scroll-behavior:auto; }
  #accordionSidebar, .nav-sub { transition:none !important; }
}
@media print { .ui-evitement, .ui-envoi-statut { display:none !important; } }

.page-sites,
.page-moniteur,
.page-projet-form,
.page-projets,
.page-projet-details,
.page-contacts,
.page-contact-form {
  color: var(--ui-text);
}

:is(.page-sites, .page-moniteur, .page-projet-form, .page-projets, .page-projet-details, .page-contacts, .page-contact-form) .card {
  border-color: var(--ui-border);
  border-radius: var(--ui-radius);
}

:is(.page-projets, .page-projet-details, .page-contacts) .table thead th {
  color: var(--ui-muted);
  background: var(--ui-canvas);
  font-size: .75rem;
  font-weight: 800;
  vertical-align: middle;
}

.page-projets .text-warning { color: #8A5A10 !important; }

:is(.page-projets, .page-projet-details, .page-contacts, .page-projet-form, .page-contact-form) .btn {
  min-height: 38px;
  border-radius: var(--mars-controle);
  font-weight: 700;
}

:is(.page-projets, .page-projet-details, .page-contacts, .page-projet-form, .page-contact-form) .btn-primary {
  background-color: var(--ui-primary);
  border-color: var(--ui-primary);
}

:is(.page-projets, .page-projet-details, .page-contacts, .page-projet-form, .page-contact-form) .btn-primary:hover {
  background-color: var(--ui-primary-hover);
  border-color: var(--ui-primary-hover);
}

:is(.page-projets, .page-projet-details, .page-contacts, .page-projet-form, .page-contact-form) :is(input, select, textarea, button, a, summary):focus-visible {
  outline: 3px solid var(--ui-focus);
  outline-offset: 2px;
}

:is(.page-projet-form, .page-contact-form) .form-control {
  min-height: 44px;
  border-color: var(--ui-border-strong);
  border-radius: var(--mars-controle);
}

:is(.page-projet-form, .page-contact-form) label {
  color: var(--ui-text);
  font-weight: 700;
}

.exports-specialises {
  margin: 0 0 1rem;
  padding: .75rem 1rem;
  border: 1px solid var(--ui-border);
  border-radius: var(--ui-radius);
  background: var(--ui-surface);
}

.exports-specialises > summary {
  min-height: 40px;
  display: flex;
  align-items: center;
  color: var(--ui-primary-hover);
  cursor: pointer;
  font-weight: 800;
}

.exports-specialises .exports-grille {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  padding-top: .75rem;
}

.filtres-avances-sites {
  display: contents;
}

.filtres-avances-sites > summary {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 0 .75rem;
  border: 1px solid var(--ui-border-strong);
  border-radius: 12px;
  color: var(--ui-primary-hover);
  font-size: .8125rem;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}

.filtres-avances-sites > summary::-webkit-details-marker { display: none; }
.filtres-avances-sites > summary::before { content: '＋'; margin-right: .4rem; }
.filtres-avances-sites[open] > summary::before { content: '−'; }

.filtres-avances-sites[open] {
  display: flex;
  flex: 1 0 100%;
  flex-wrap: wrap;
  align-items: center;
  gap: .6rem .75rem;
  padding: .75rem;
  border: 1px solid var(--ui-border);
  border-radius: 12px;
  background: var(--ui-canvas);
}

.filtres-avances-sites[open] > summary { flex: 0 0 100%; border: 0; padding: 0; }

@media (max-width: 767.98px) {
  .filtres-avances-sites:not([open]) { display: contents; }
  .exports-specialises { padding: .5rem .75rem; }
  .exports-specialises .exports-grille > a { flex: 1 1 170px; }
}

#content-wrapper :is(.alert-success,.badge-success) { color:#2F7D5B; background-color:#E3F1EA; }
#content-wrapper :is(.alert-warning,.badge-warning) { color:#8A5A10; background-color:#FBF0DC; }
#content-wrapper :is(.alert-danger,.badge-danger) { color:#C2412D; background-color:#F9E4DE; }
#content-wrapper :is(.alert-info,.badge-info) { color:#2D5A8C; background-color:#E3ECF6; }

/* Charte v1.2 : échelle typographique et composants (tailles et couleurs uniquement). */
#content-wrapper h1, .modal h1 { font-size:30px; font-weight:500; }
#content-wrapper h2, .modal h2 { font-size:21px; font-weight:600; }
#content-wrapper :is(h3,h4,h5,h6), .modal :is(h3,h4,h5,h6) { font-family:var(--mars-police-texte); font-weight:700; }
#content-wrapper :is(code,pre,kbd,samp) { font-family:var(--mars-police-code); font-size:12px; }
.card, .modal-content, .dropdown-menu { border-radius:12px; }
.shadow, .shadow-sm, .card.shadow { box-shadow:var(--mars-ombre) !important; }
#content-wrapper .card { border:1px solid var(--mars-bord); }
#content-wrapper :is(.btn,.ar-btn), .modal .btn, .cf-button { border-radius:8px; font-size:13px; font-weight:600; }
#content-wrapper .btn-sm, .modal .btn-sm, .cf-button.cf-small { min-height:32px !important; }
#content-wrapper .btn-secondary, .modal .btn-secondary, #content-wrapper .btn-light, #content-wrapper .btn-outline-primary, #content-wrapper .btn-outline-secondary {
  color:var(--mars-texte); background-color:#fff; border-color:var(--mars-bord);
}
#content-wrapper :is(.btn-secondary,.btn-light,.btn-outline-primary,.btn-outline-secondary):hover, .modal .btn-secondary:hover { color:var(--mars-texte); background-color:var(--mars-fond); border-color:var(--mars-bord); }
#content-wrapper .btn-danger, .modal .btn-danger { color:#fff; background-color:var(--mars-erreur); border-color:var(--mars-erreur); }
#content-wrapper .btn-success, .modal .btn-success { color:#fff; background-color:var(--mars-succes); border-color:var(--mars-succes); }
#content-wrapper .btn-warning, .modal .btn-warning { color:#fff; background-color:var(--mars-attention); border-color:var(--mars-attention); }
#content-wrapper .btn-info, .modal .btn-info { color:#fff; background-color:var(--mars-info); border-color:var(--mars-info); }
#content-wrapper :is(.btn,.cf-button):disabled, #content-wrapper .btn.disabled { opacity:.45; }
#content-wrapper .badge { border-radius:20px; }
.bg-gradient-primary { background:var(--mars-accent) !important; }
:is(.text-gray-500,.text-gray-600,.text-gray-700,.text-gray-800,.text-muted) { color:var(--mars-secondaire) !important; }

/* Tableaux : même style partout, sur le modèle des pages Communes et Sites.
   Le tableau de la page Sites garde sa densité (.zone-tableau) ; les tableaux de mise en forme (.table-borderless) restent sans style. */
#content-wrapper :is(.table:not(.table-borderless),.ar-table,.mt-table,.mon-table,.cf-table,.bf-table):not(.zone-tableau table) {
  color:var(--mars-texte); border:0; border-collapse:collapse !important; background:#fff;
}
#content-wrapper :is(.table:not(.table-borderless),.ar-table,.mt-table,.mon-table,.cf-table,.bf-table):not(.zone-tableau table) > thead > tr > :is(th,td) {
  color:#6E7A8A; background-color:#FAF9F6; border:0; border-bottom:1px solid var(--mars-bord);
  font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; vertical-align:middle;
}
#content-wrapper :is(.table:not(.table-borderless),.ar-table,.mt-table,.mon-table,.cf-table,.bf-table):not(.zone-tableau table) > tbody > tr > :is(td,th) {
  border:0; border-top:1px solid var(--mars-bord); font-size:14px; line-height:1.5; vertical-align:middle;
}
#content-wrapper :is(.table:not(.table-borderless),.ar-table,.mt-table,.mon-table,.cf-table,.bf-table):not(.zone-tableau table) > tbody > tr { background-color:#fff; }
#content-wrapper :is(.table:not(.table-borderless),.ar-table,.mt-table,.mon-table,.cf-table,.bf-table):not(.zone-tableau table) > tbody > tr:hover { background-color:var(--mars-voile); }
@media(min-width:768px) {
  #content-wrapper :is(.table:not(.table-borderless),.ar-table,.mt-table,.mon-table,.cf-table,.bf-table):not(.zone-tableau table) > thead > tr > :is(th,td) { padding:12px 28px 12px 15px; }
  #content-wrapper :is(.table:not(.table-borderless),.ar-table,.mt-table,.mon-table,.cf-table,.bf-table):not(.zone-tableau table) > tbody > tr > :is(td,th) { padding:10px 15px; }
}
#content-wrapper .table-responsive { border-radius:12px; }
#content-wrapper .dataTables_wrapper :is(.dataTables_info,.dataTables_length,.dataTables_filter) { color:var(--mars-secondaire); font-size:13px; }
#content-wrapper :is(.table:not(.table-borderless),.ar-table,.mt-table,.mon-table,.cf-table,.bf-table):not(.zone-tableau table) > tfoot > tr > :is(th,td) {
  padding:12px 15px; color:#6E7A8A; background-color:#FAF9F6; border:0; border-top:1px solid var(--mars-bord);
  font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; vertical-align:middle;
}
/* Listes Google Forms : l'icône du fichier occupe le début de la première colonne. */
#content-wrapper .gf-page-liste .gf-table > tbody > tr > td:first-child { padding-left:3.4rem !important; }
#content-wrapper :is(.table:not(.table-borderless),.ar-table,.mt-table,.mon-table,.cf-table,.bf-table):not(.zone-tableau table) > tbody > tr > td:first-child { font-weight:600; }
#content-wrapper :is(.table:not(.table-borderless),.ar-table,.mt-table,.mon-table,.cf-table,.bf-table):not(.zone-tableau table) > tbody a:not(.btn) { font-weight:600; text-decoration:none; }
#content-wrapper .zone-tableau #dataTable thead th { color:#6E7A8A; font-weight:600; letter-spacing:.08em; }

/* Pagination : même rendu partout. */
#content-wrapper .pagination { gap:6px; }
#content-wrapper .page-item .page-link { min-width:38px !important; margin:0; padding:0 12px; border:1px solid var(--mars-bord); border-radius:8px !important; color:var(--mars-info) !important; background-color:#fff; font-size:13px; font-weight:600; box-shadow:none; }
#content-wrapper .page-item .page-link:hover { background-color:var(--mars-fond); }
#content-wrapper .page-item.active .page-link { color:#fff !important; background-color:var(--mars-accent); border-color:var(--mars-accent); }
#content-wrapper .page-item.disabled .page-link { color:var(--mars-secondaire) !important; background-color:#fff; opacity:.45; }

/* Actions de ligne des tableaux : icône seule de 32 px (js/actions-tableaux.js). */
#content-wrapper .mars-action { display:inline-grid; place-items:center; width:32px; height:32px; min-width:32px; min-height:32px !important; margin:2px; padding:0; border:1px solid var(--mars-bord); border-radius:8px; background-color:#fff; color:var(--mars-texte) !important; font-size:13px; font-weight:400; line-height:1; vertical-align:middle; box-shadow:none; }
#content-wrapper .mars-action:hover { background-color:var(--mars-fond); border-color:var(--mars-bord); }
#content-wrapper .mars-action--supprimer:hover { background-color:var(--mars-erreur); border-color:var(--mars-erreur); }
#content-wrapper .mars-action--supprimer:hover i { color:#fff !important; }
#content-wrapper input.mars-action { color:transparent !important; font-size:0; background:#fff center / 16px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C2412D' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M9.5 7V4.500A1.500 1.500 0 0 1 11 3h2a1.500 1.500 0 0 1 1.500 1.500V7M6 7l1 12.500A1.700 1.700 0 0 0 8.700 21h6.600a1.700 1.700 0 0 0 1.700-1.500L18 7M10 11v6M14 11v6'/%3E%3C/svg%3E"); }
@media(pointer:coarse) { #content-wrapper .mars-action { width:44px; height:44px; } }

/* Barre des tableaux DataTables : recherche à gauche, nombre de lignes à droite, sur toutes les pages. */
#content-wrapper .dataTables_wrapper > .row:first-child { display:flex; flex-wrap:nowrap; align-items:center; gap:8px; margin-bottom:12px; }
#content-wrapper .dataTables_wrapper > .row:first-child > [class*="col-"] { padding-left:0; padding-right:0; }
#content-wrapper .dataTables_wrapper > .row:first-child { margin-left:0; margin-right:0; }
#content-wrapper .dataTables_wrapper > .row:first-child > :nth-child(1) { order:2; flex:0 0 auto; width:auto; max-width:none; }
#content-wrapper .dataTables_wrapper > .row:first-child > :nth-child(2) { order:1; flex:1 1 auto; width:auto; max-width:none; min-width:0; }
#content-wrapper .dataTables_filter { text-align:left !important; }
#content-wrapper .dataTables_filter label { display:block; width:100%; margin:0; font-size:0; }
#content-wrapper .dataTables_filter input {
  display:block; width:100%; height:38px; margin:0 !important; padding:0 12px 0 36px; border:1px solid var(--mars-bord); border-radius:8px;
  background:#FAF9F6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23465364' stroke-width='1.7' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.800-3.800'/%3E%3C/svg%3E") 11px center / 17px no-repeat;
  color:var(--mars-texte); font-size:14px;
}
#content-wrapper .dataTables_length { margin:0; }
#content-wrapper .dataTables_length label { display:flex; align-items:center; gap:6px; height:38px; margin:0; padding:0 10px; border:1px solid var(--mars-bord); border-radius:8px; background:#fff; color:var(--mars-secondaire); font-size:13px; white-space:nowrap; }
#content-wrapper .dataTables_length select { width:auto; height:30px; min-height:0; padding:0 20px 0 4px; border:0; color:var(--mars-texte); font-weight:600; }
#content-wrapper tfoot.mars-pied-repete { display:none; }
#content-wrapper .card:has(> .card-body > .table-responsive > .dataTables_wrapper), #content-wrapper .card:has(> .card-body > .dataTables_wrapper) { border:1px solid var(--mars-bord); border-radius:12px; box-shadow:none !important; }
@media(max-width:767.98px) {
  #content-wrapper .dataTables_wrapper > .row:first-child { flex-wrap:wrap; }
  #content-wrapper .dataTables_wrapper > .row:first-child > :nth-child(2) { flex-basis:100%; }
}

/* Priorité des actions de ligne sur les couleurs de bouton ; champs et petits boutons à la même hauteur partout. */
#content-wrapper :is(a,button,input).mars-action { background-color:#fff !important; border-color:var(--mars-bord) !important; }
#content-wrapper :is(a,button).mars-action:hover { background-color:var(--mars-fond) !important; }
#content-wrapper :is(a,button).mars-action--supprimer:hover { background-color:var(--mars-erreur) !important; border-color:var(--mars-erreur) !important; }
#content-wrapper :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]):not([type=submit]):not([type=button]):not([type=color]):not(.custom-file-input),select:not([multiple])):not(.dataTables_length select):not(#topbarModern input) { height:38px; min-height:38px; }
#content-wrapper .btn-sm:not(.mars-action) { min-height:32px; padding-top:0; padding-bottom:0; display:inline-flex; align-items:center; }

/* Survols : la couleur du bouton reste celle de la charte, légèrement assombrie. */
#content-wrapper .page-item.active .page-link:hover { background-color:var(--mars-survol); }
#content-wrapper :is(.btn-danger,.btn-success,.btn-warning,.btn-info):hover, .modal :is(.btn-danger,.btn-success,.btn-warning,.btn-info):hover { color:#fff; filter:brightness(.9); }
#content-wrapper .btn-danger:hover, .modal .btn-danger:hover { background-color:var(--mars-erreur); border-color:var(--mars-erreur); }
#content-wrapper .btn-success:hover, .modal .btn-success:hover { background-color:var(--mars-succes); border-color:var(--mars-succes); }
#content-wrapper .btn-warning:hover, .modal .btn-warning:hover { background-color:var(--mars-attention); border-color:var(--mars-attention); }
#content-wrapper .btn-info:hover, .modal .btn-info:hover { background-color:var(--mars-info); border-color:var(--mars-info); }

/* Corbeille des tableaux : toujours brique, même sur les anciens boutons rouges. */
#content-wrapper .mars-action :is(.fa-trash,.fa-trash-alt) { color:#C2412D !important; }
#content-wrapper .mars-action:hover :is(.fa-trash,.fa-trash-alt) { color:#fff !important; }

/* Transitions : le contenu apparaît une fois la page prête ; en-tête et rail restent fixes.
   Sans le signal de js/actions-tableaux.js, l'animation de secours l'affiche quand même. */
@keyframes mars-apparition { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }
#content > :not(#topbarModern):not(.modal) { opacity:0; animation:mars-apparition 240ms ease-out 900ms forwards; }
.mars-pret #content > :not(#topbarModern):not(.modal) { opacity:1; animation:mars-apparition 240ms ease-out; }
.tab-pane.active { animation:mars-apparition 240ms ease-out; }
@media (prefers-reduced-motion: reduce), print {
  #content > :not(#topbarModern):not(.modal), .mars-pret #content > :not(#topbarModern):not(.modal), .tab-pane.active { opacity:1; animation:none; }
}

/* Boutons d'action : ils n'agrandissent pas la ligne du tableau. */
#content-wrapper .mars-action { margin:0 2px; vertical-align:middle; }
#content-wrapper td:has(> .mars-action) { padding-top:4px !important; padding-bottom:4px !important; }

/* Derniers restes de l'ancien thème, sur toutes les pages */
#content .text-danger { color: #C2412D !important; }
:where(#content) .card-header { background-color: #fff; border-bottom-color: #E2E0D9; }
#content .card-title.text-dark, #content table.table-borderless { color: #14202E !important; }
:where(#content) .nav-pills .nav-link { color: #0E2A47; }
:where(#content) .nav-pills .nav-link.active { background-color: #0E2A47; color: #fff; }
:where(body:has(.tbm-titre-ligne[data-marque="brevo"]) #content) .nav-pills .nav-link { color: #0B7A57; }
:where(body:has(.tbm-titre-ligne[data-marque="brevo"]) #content) .nav-pills .nav-link.active { background-color: #0B7A57; color: #fff; }

/* Boutons colorés écrits en <input> : même texte blanc que les <button> */
#content-wrapper input:is(.btn-primary, .btn-success, .btn-danger, .btn-warning, .btn-info), .modal input:is(.btn-primary, .btn-success, .btn-danger, .btn-warning, .btn-info) { color: #fff !important; }


/* Boutons d'action écrits en <input> : chacun son icône, côte à côte sur une ligne */
#content-wrapper input.mars-action--modifier { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314202E' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20l1-4L16 5l3 3L8 19l-4 1zM14 7l3 3'/%3E%3C/svg%3E"); }
#content-wrapper input.mars-action--archiver { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A5A10' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v4H4zM5 9v10h14V9M10 13h4'/%3E%3C/svg%3E"); }
#content-wrapper td:has(input.mars-action) { width:1%; white-space:nowrap; }
#content-wrapper td:has(input.mars-action) > :is(div, form), #content-wrapper td:has(input.mars-action) > div > form { display:inline-block; margin:0; }
#content-wrapper td.mars-tel { white-space:nowrap; }

/* Vert d'état de la charte, à la place du vert de l'ancien thème */
#content .text-success, .modal .text-success { color: #2F7D5B !important; }

/* Panneau d'export : cartes d'options claires, le style des boutons de page ne s'y applique pas */
#content-wrapper :is(.communes-export-dialog .export-actions, .exports-actions) .btn { display: flex; align-items: center; justify-content: flex-start; width: 100%; height: auto; min-height: 62px; padding: 10px 12px; border: 1px solid #E2E0D9; border-radius: 8px; background: #fff; color: #14202E; font-size: 13px; font-weight: 600; text-align: left; white-space: normal; }
#content-wrapper :is(.communes-export-dialog .export-actions, .exports-actions) .btn:hover { background: #E6ECF3; border-color: #E2E0D9; color: #0E2A47; filter: none; }
#content-wrapper .communes-export-dialog .export-actions #communesExportSelection { background: #E6ECF3; }
#content-wrapper :is(.communes-export-dialog .export-actions, .exports-actions) .btn small { display: block; color: #465364; font-size: 12px; font-weight: 400; line-height: 1.45; }
