.auth-page { width:100%; max-width:none; min-width:0; color:var(--theme-texte,#29342e); }
.auth-entete { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.4rem; background:linear-gradient(120deg,var(--theme-bandeau-debut,#edf5ef),var(--theme-bandeau-fin,#f6f8f5)); border:1px solid var(--theme-bordure,#dde5df); border-radius:1rem 1rem 0 0; }
.auth-entete h1 { margin:0; font-size:clamp(1.35rem,2vw,1.8rem); }
.auth-entete p { margin:.35rem 0 0; color:var(--theme-texte-secondaire,#526358); }
.auth-panneau { background:var(--theme-surface,#fff); border:1px solid var(--theme-bordure,#dde5df); border-top:0; border-radius:0 0 1rem 1rem; padding:clamp(1rem,2.5vw,2rem); }
.auth-champs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; margin:1.25rem 0; }
.auth-champ { min-width:0; }
.auth-page label { display:inline-block; margin-bottom:.4rem; font-size:1rem; }
.auth-page .form-control { min-height:46px; font-size:1rem; color:var(--theme-texte,#29342e); background:var(--theme-surface,#fff); border-color:var(--theme-bordure-champ,#cbd5ce); border-radius:.6rem; }
.auth-page .form-control:focus { border-color:var(--theme-principale,#35664c); box-shadow:0 0 0 .2rem var(--theme-ombre-44-82-130-15,rgba(53,102,76,.15)); }
.auth-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1rem; margin-top:1.5rem; padding-top:1.25rem; border-top:1px solid var(--theme-bordure,#dde5df); }
.auth-page .auth-valider { background:var(--theme-principale,#35664c); border-color:var(--theme-principale,#35664c); color:#fff; padding:.65rem 1.1rem; border-radius:.6rem; }
.auth-page .auth-valider:hover { background:var(--theme-principale-survol,#244b36); }
.auth-page a { color:var(--theme-principale,#35664c); text-underline-offset:3px; }
.auth-cgu { max-height:220px; overflow:auto; margin:.6rem 0 1rem; padding:1rem; background:var(--theme-fond-clair,#f8faf8); border:1px solid var(--theme-bordure,#dde5df); border-radius:.6rem; }
.auth-cgu:focus-visible { outline:2px solid var(--theme-principale,#35664c); }
.auth-page .form-check label { margin-bottom:0; }
@media(max-width:767.98px) { .auth-champs { grid-template-columns:1fr; } .auth-entete { padding:1rem; } }

.auth-entete.auth-entete-connexion { flex-wrap:nowrap; gap:.75rem; padding:.4rem 1rem; }
.auth-intro-connexion { display:flex; flex-wrap:wrap; align-items:baseline; gap:.15rem .85rem; min-width:0; }
.auth-intro-connexion h1 { font-size:1.3rem; line-height:1.25; }
.auth-intro-connexion p { margin:0; }
