/* Comptes élèves (J4) : connexion, mot de passe oublié, nouveau mot de passe, lien expiré, mon espace, règles.
   D'après design/maquette-espace-eleve.html, corrigé : champs de 48 px (au lieu de 50 + bordure), aucune largeur fixe,
   textes longs coupés (overflow-wrap), police 16 px dans les champs (pas de zoom automatique sur iPhone). */
.auth{min-height:calc(100vh - 69px);display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;align-items:center;padding:32px 16px 56px;background:radial-gradient(900px 400px at 50% -10%,#E9E3F8,transparent 70%),var(--cream)}
.auth-card{width:100%;min-width:0;max-width:440px;background:#fff;border-radius:var(--r-lg);padding:30px 24px;box-shadow:var(--shadow);overflow-wrap:anywhere}
.auth-card.large{max-width:620px}
.auth-card h1{font:700 1.5rem/1.2 Poppins,sans-serif;margin-bottom:6px}
.auth-card .lead{color:var(--muted);margin-bottom:20px;font-size:.95rem}
.auth-logo{display:block;width:72px;height:72px;margin:0 auto 12px}

.champ-a{display:block;margin-bottom:16px;min-width:0}
.champ-a .etiquette{display:block;font-weight:600;font-size:.88rem;margin-bottom:6px}
.saisie{display:flex;align-items:center;gap:10px;min-width:0;min-height:48px;padding:0 6px 0 12px;border:2px solid #DAD7EA;border-radius:var(--r-sm);background:#fff}
.saisie:focus-within{border-color:var(--royal)}
.saisie>.ic{flex:none;width:20px;height:20px;color:var(--muted)}
.saisie input{flex:1 1 0;min-width:0;width:100%;height:44px;border:0;outline:0;background:transparent;font:16px Inter,sans-serif;color:var(--ink)}
.saisie input:focus-visible{outline:0}
.oeil{flex:none;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer}
.oeil:hover{background:#F1F2FA}
.oeil:focus-visible{outline:3px solid var(--apricot);outline-offset:1px}
.oeil .ic{width:20px;height:20px}
.aide-a{display:block;font-size:.82rem;color:var(--muted);margin-top:6px}

.alerte{display:flex;gap:10px;align-items:flex-start;border-radius:var(--r-sm);padding:12px 14px;font-size:.9rem;margin-bottom:16px}
.alerte .ic{flex:none;width:18px;height:18px;margin-top:2px}
.alerte-info{background:#E4E7FB;color:#3A4CB0}
.alerte-warn{background:#FFF1E9;color:#8A3410}
.alerte-ok{background:#E3F3E4;color:#2E7339}

.regles-mdp{list-style:none;display:grid;gap:6px;margin:0 0 16px;font-size:.85rem;color:var(--muted)}
.regles-mdp li{display:flex;gap:8px;align-items:flex-start}
.regles-mdp .ic{flex:none;width:16px;height:16px;margin-top:3px;color:var(--green)}
.case-a{display:flex;gap:10px;align-items:flex-start;margin:0 0 18px;font-size:.9rem;cursor:pointer}
.case-a input{flex:none;width:20px;height:20px;margin-top:2px;accent-color:var(--royal)}
.case-a a{color:var(--royal);font-weight:600;text-decoration:underline}

.btn-bloc{width:100%}
.auth-card .btn-primary{white-space:normal;text-align:center}
.btn-clair{background:#fff;color:#3A4CB0;border:2px solid var(--lavender)}
.liens-a{display:flex;justify-content:flex-end;margin:-4px 0 16px;font-size:.9rem}
.liens-a.centre{justify-content:center;margin:14px 0 0}
.liens-a a{color:var(--royal);font-weight:600}

.envoye{text-align:center}
.envoye .grand{width:64px;height:64px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;background:#E3F3E4;color:#2E7339}
.envoye .grand.attention{background:#FFF1E9;color:#8A3410}
.envoye .grand .ic{width:30px;height:30px}
.envoye .btn{margin-top:4px}
.envoye .btn+.btn{margin-top:10px}

/* Mon espace (page d'attente J4) */
.espace-infos{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 16px;margin:0 0 20px;font-size:.92rem}
.espace-infos dt{color:var(--muted)}
.espace-infos dd{font-weight:600;min-width:0}
.espace-bientot{display:flex;gap:12px;align-items:flex-start;padding:16px;border-radius:var(--r-md);background:#F1F2FA;border:1.5px dashed var(--lavender);margin-bottom:20px;font-size:.92rem}
.espace-bientot .ic{flex:none;width:22px;height:22px;color:var(--royal);margin-top:2px}
.espace-actions{display:flex;flex-wrap:wrap;gap:10px}
.espace-actions>*{flex:1 1 200px;min-width:0}
.espace-actions form{display:flex}
.espace-actions form .btn{flex:1}
.protection{display:flex;gap:10px;align-items:flex-start;margin-top:20px;font-size:.8rem;color:var(--muted)}
.protection .ic{flex:none;width:18px;height:18px;margin-top:1px}

/* Règles d'utilisation */
.regles-page{padding:40px 0 64px;background:var(--cream)}
.regles-page article{max-width:760px;margin:0 auto;background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-soft);padding:32px 28px;overflow-wrap:anywhere}
.regles-page h1{font:700 1.8rem/1.2 Poppins,sans-serif;margin-bottom:6px}
.regles-page h2{font:700 1.1rem/1.3 Poppins,sans-serif;color:var(--royal);margin:24px 0 8px}
.regles-page ul{padding-left:20px;display:grid;gap:6px}
.regles-page .version{color:var(--muted);font-size:.9rem}
.regles-page .resume{margin-top:18px;padding:14px 16px;border-radius:var(--r-sm);background:#FFF1E9;color:#8A3410;font-size:.92rem}

@media(max-width:400px){
  .auth{padding:20px 12px 40px}
  .auth-card{padding:24px 16px;border-radius:var(--r-md)}
  .auth-card h1{font-size:1.3rem}
  .regles-page article{padding:24px 16px}
  .espace-infos{grid-template-columns:minmax(0,1fr);gap:2px}
  .espace-infos dd{margin-bottom:8px}
}
.lien-bouton{border:0;background:none;padding:6px;font:600 .9rem Inter,sans-serif;color:var(--royal);cursor:pointer;text-decoration:underline}
