/* GED — écrans des comptes (connexion, double authentification, gestion des comptes).
   Complète core/ged.css ; toute classe qui pose un display reste masquable par [hidden] (règle de ged.css). */

/* Pages autonomes (connexion, 2FA, changement imposé) : pas de navigation, carte centrée, lisible sur tablette. */
.page-autonome { min-height: 100vh; display: flex; flex-direction: column; }
.autonome { flex: 1; width: min(30rem, 94vw); margin: 0 auto; padding: 2rem 0 1rem; }
.autonome-marque { text-align: center; font-size: 1.35rem; font-weight: 700; color: var(--bleu-nuit); margin: 0 0 1.25rem; }
.carte-autonome { padding: 1.5rem; }
.carte-autonome .champ input[type="text"], .carte-autonome .champ input[type="password"] { font-size: 1.1rem; padding: .65rem; }
.bouton-large { padding: .7rem 1.4rem; font-size: 1.05rem; }

/* Enrôlement 2FA */
.etapes { padding-left: 1.25rem; }
.etapes li { margin-bottom: .9rem; }
.qr-code { margin: .75rem 0; }
.qr-code img { display: block; width: 240px; height: 240px; image-rendering: pixelated; border: 1px solid var(--bordure); }
.cle-secrete, .mdp-provisoire { font-family: "DejaVu Sans Mono", "Liberation Mono", Consolas, monospace; font-size: 1.15rem;
  letter-spacing: .08em; background: var(--fond); border: 1px dashed var(--bordure); border-radius: var(--rayon);
  padding: .5rem .75rem; display: inline-block; user-select: all; }
.mdp-provisoire { font-size: 1.6rem; padding: .75rem 1rem; }
.aides-mdp { color: var(--texte-discret); font-size: .92rem; padding-left: 1.2rem; }

/* Pastilles d’état et de rôle */
.pastille { display: inline-block; padding: .05rem .5rem; border-radius: 999px; font-size: .8rem; font-weight: 600;
  border: 1px solid var(--bordure); background: var(--surface); color: var(--texte); white-space: nowrap; margin: .05rem 0; }
.pastille-actif { background: var(--succes-fond); border-color: var(--succes); color: var(--succes); }
.pastille-inactif { background: #eef0f3; border-color: #9ca3af; color: #4b5563; }
.pastille-verrouille { background: var(--alerte-fond); border-color: var(--alerte); color: var(--alerte); }
.pastille-attente { background: var(--avertissement-fond); border-color: var(--avertissement); color: var(--avertissement); }
.pastille-generique { background: var(--accent-clair); border-color: var(--accent); color: var(--bleu-nuit); }
.pastille-role { background: var(--accent-clair); border-color: transparent; color: var(--bleu-nuit); font-weight: 500; }

/* Fiches et formulaires de gestion */
.entete-page { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem; margin-bottom: var(--espace); }
.entete-page h1 { margin: 0; }
.fiche { display: grid; grid-template-columns: minmax(10rem, max-content) 1fr; gap: .35rem 1rem; margin: 0 0 var(--espace); }
.fiche dt { font-weight: 600; color: var(--texte-discret); }
.fiche dd { margin: 0; }
.filtres { display: flex; flex-wrap: wrap; gap: 0 1rem; align-items: flex-end; }
.filtres .champ { min-width: 12rem; flex: 1; }
.filtres .actions { margin-top: 0; margin-bottom: .9rem; }
.groupe { border: 1px solid var(--bordure); border-radius: var(--rayon); padding: .75rem 1rem; margin: 0 0 var(--espace); }
.groupe legend { font-weight: 700; color: var(--bleu-nuit); padding: 0 .35rem; }
.grille-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 0 1rem; }
.cases { display: grid; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); gap: .2rem 1rem; margin-bottom: .5rem; }
.cases label, .champ-case label { font-weight: 500; display: flex; align-items: center; gap: .5rem; min-height: 2.2rem; cursor: pointer; }
.cases input[type="checkbox"], .champ-case input[type="checkbox"] { width: 1.2rem; height: 1.2rem; }
.champ .libelle { display: block; font-weight: 600; margin-bottom: .25rem; }
.champ-case { margin-bottom: .4rem; }
.diff { margin: 0; padding-left: 1rem; }

@media (max-width: 600px) {
  .fiche { grid-template-columns: 1fr; }
  .fiche dt { margin-top: .4rem; }
}
