/* ===== parametres.css ===== */
/* Paramètres de l'organisation.
   Feuille de domaine du lot P1 (vague 1), créée et importée par assets/app.js au lot T0.
   Seul ce lot l'écrit ; app.css reste réservé aux jetons et composants (docs/DESIGN-SYSTEM.md §9.9). */

/* Accueil des paramètres : sections titrées, cartes-liens. */
.parametres-sections { display: flex; flex-direction: column; gap: var(--e-6); }
.parametres-section__titre { margin: 0 0 var(--e-3); font: 500 var(--t-sm)/1.4 var(--police); color: var(--encre-douce); }
.parametres-section .grille { grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 1fr)); align-items: stretch; }
.carte-parametre { position: relative; padding-right: calc(var(--e-carte) + 20px); }
.carte-parametre::after {
    content: "→"; position: absolute; top: calc(var(--e-carte) + 1px); right: var(--e-carte);
    color: var(--encre-pale); transition: transform var(--duree-rapide) var(--courbe), color var(--duree-rapide) var(--courbe);
}
.carte-parametre:hover, .carte-parametre:focus-visible { background: var(--surface-2); }
.carte-parametre:hover::after, .carte-parametre:focus-visible::after { color: var(--encre); transform: translateX(2px); }
.carte-parametre .carte-parametre__titre { display: flex; align-items: center; gap: var(--e-2); margin: 0 0 var(--e-1); font: 500 var(--t-base)/1.4 var(--police); color: var(--encre); }
.carte-parametre__titre .compteur { margin-left: auto; }
.carte-parametre .aide { margin: 0; font-size: var(--t-sm); line-height: 1.45; }

/* Pages à une colonne (paramètres généraux, modules) : formulaire ou liste, historique dessous. */
.parametres-colonne { display: flex; flex-direction: column; gap: var(--e-3); max-width: 960px; }
.utilisateur__seul { max-width: 960px; }

/* Historique repliable (variable historique_replie de _historique.html.twig). */
.historique--repliable > summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: var(--e-2); }
.historique--repliable > summary::-webkit-details-marker { display: none; }
.historique--repliable > summary::before { content: '▸'; color: var(--encre-douce); transition: transform var(--duree) var(--courbe); }
.historique--repliable[open] > summary::before { transform: rotate(90deg); }
.historique--repliable > summary h2 { margin: 0; display: flex; align-items: center; }
.historique--repliable[open] > summary { margin-bottom: var(--e-3); }

/* Texte d'aide replié sous une phrase d'introduction. */
.parametres-details { margin: var(--e-1) 0 var(--e-4); font-size: var(--t-sm); }
.parametres-details > summary { cursor: pointer; color: var(--primaire); font-weight: 500; width: fit-content; }
.parametres-details > p { margin: var(--e-2) 0 0; max-width: 72ch; }

/* Modules : une ligne pleine largeur par module, bascule à droite. */
.modules { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--e-3); }
.module { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--e-3) var(--e-5); }
.module__corps { min-width: 0; flex: 1 1 auto; }
.module__titre { display: flex; flex-wrap: wrap; align-items: center; gap: var(--e-2); margin: 0 0 var(--e-1); font-size: var(--t-titre-carte); }
.module__description { margin: 0; color: var(--encre); font-size: var(--t-sm); max-width: 72ch; }
.module__sous-titre { margin: var(--e-3) 0 0; font: 500 var(--t-xs)/1.4 var(--police); color: var(--encre-douce); }
.module .prerequis { margin: var(--e-1) 0 0; font-size: var(--t-sm); }
.module__bascule { flex: none; margin: 0; }

/* Utilisateurs. */
.utilisateur__actions { display: flex; flex-wrap: wrap; gap: var(--e-2); }
.utilisateur__actions form { margin: 0; }
/* « Accès à tous les cabinets » cochée : la liste des cabinets n'a plus de sens (valeur conservée). */
.section-formulaire__grille:has(#utilisateur_perimetreGroupe:checked) > .utilisateur-cabinets { display: none; }
.utilisateurs__compte { margin: 0; }
/* Nom et e-mail gris (cellule-titre), badge Admin à droite du nom. */
.utilisateurs__identite { display: flex; align-items: center; gap: var(--e-2); }
.utilisateurs__identite .etiquette { flex: none; }
.affectations .etiquette { font-family: var(--police); }

@media (max-width: 720px) {
    .parametres-sections { gap: var(--e-5); }
    .module { flex-direction: column; }
    .module__bascule, .module__bascule .bouton { width: 100%; }
    .utilisateur__actions { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .carte-parametre:hover::after, .carte-parametre:focus-visible::after { transform: none; }
}

/* ===== parametres-2.css ===== */
/* Paramètres techniques et contenus.
   Feuille de domaine du lot P2 (vague 1), créée et importée par assets/app.js au lot T0.
   Seul ce lot l'écrit ; app.css reste réservé aux jetons et composants (docs/DESIGN-SYSTEM.md §9.9). */

/* Le conteneur de tableau est le bloc de référence des `.sr-only` (app.css). */

/* Textes d'aide repliés sous la phrase d'introduction (connecteurs, e-mails). */
.connecteurs__details, .emails__details { margin: var(--e-1) 0 var(--e-4); }
.connecteurs__details summary, .emails__details summary { cursor: pointer; font-size: var(--t-xs); color: var(--primaire); font-weight: 500; }
.connecteurs__details p, .emails__details p { margin-top: var(--e-2); }

/* Connecteurs comptables : une entité par onglet, état en badge, actions côte à côte. */
.connecteurs .onglets__onglet .etiquette { margin-left: var(--e-1); }
.connecteur__etat { display: flex; align-items: center; flex-wrap: wrap; gap: var(--e-2); margin-bottom: var(--e-4); }
.connecteur__produits { width: 100%; font-family: var(--police); font-size: var(--t-xs); }
.connecteur__actions { margin-top: var(--e-4); }
/* Action destructive à l'écart des autres, à droite au bureau. */
.connecteur__retirer, .emails__retirer { margin-left: auto; }
@media (max-width: 720px) {
    .connecteur__retirer, .emails__retirer { margin-left: 0; }
    .connecteur__actions .bouton, .emails__actions .bouton { height: 40px; }
}

/* E-mails : journal filtrable, destinataires un par ligne. */
.emails__filtres { margin-top: 0; padding: 0; }
.emails__destinataires { list-style: none; margin: 0; padding: 0; }
.emails__date { white-space: nowrap; }

/* Formulaire de contact : adresse publique à copier. */
.contact-adresse { margin-bottom: var(--e-4); }
.contact-adresse > label { display: block; font-weight: 500; margin-bottom: var(--e-2); }
.contact-adresse .aide { margin: var(--e-2) 0 0; }

/* ===== transverse.css ===== */
/* Coque et mobile : tiroir, menu profil.
   Feuille de domaine du lot T1 (vague 1), créée et importée par assets/app.js au lot T0.
   Seul ce lot l'écrit ; app.css reste réservé aux jetons et composants (docs/DESIGN-SYSTEM.md §9.9). */
