/* ============================================================
   SaaSDrop — connexion v2 (complète les règles .login de v2.css)
   Google, e-mail + mot de passe, code à 6 chiffres, choix du mot de passe.
   Mobile d'abord : champs 56 px, cibles ≥ 44 px, rien ne déborde à 375 px.
   ============================================================ */
.login{padding-top:14px}
.login .q-s{margin-bottom:22px}
/* bouton Google : pleine largeur du conteneur (max 400 px, imposé par Google) */
.login .lg-google{display:flex;justify-content:center;min-height:44px;overflow:hidden}
.login .lg-google>div{max-width:100%}
.login .lg-or{margin:16px 0}
/* formulaire */
.login .lg-form{display:block}
.login .lg-f{margin-top:14px}
.login .lg-pw{position:relative}
.login .lg-pw .field{padding-right:58px}
.login .lg-eye{position:absolute;right:6px;top:6px;width:44px;height:44px;border-radius:11px;display:grid;place-items:center;color:var(--muted2);transition:background .2s,color .2s}
.login .lg-eye:hover,.login .lg-eye[aria-pressed="true"]{background:var(--card2);color:var(--txt)}
.login .field::placeholder{color:var(--muted)}
.login .field:disabled{opacity:.5}
/* erreurs : visibles, avec une porte de sortie (« code à la place ») */
.login .err{line-height:1.5}
/* cibles ≥ 44 px : 13 px × 1,5 + 2 × 13 ; les marges négatives gardent l'espacement visuel */
.login .err .lk,.login .lk{display:inline-block;color:var(--muted2);text-decoration:underline;text-underline-offset:3px;padding:13px 0;margin:-9px 0 -13px}
.login .err .lk:hover{color:var(--txt)}
/* liens sous le bouton : texte discret, cible tactile ≥ 44 px */
.login .lg-alt{margin:12px 0 0;text-align:center;font-size:14px;color:var(--muted);line-height:1.5}
.login .lg-alt button,.login .lg-alt a{display:inline-block;min-height:44px;padding:12px 6px;color:var(--muted);transition:color .2s;max-width:100%}
.login .lg-alt a{color:var(--muted2);text-decoration:underline;text-underline-offset:3px}
.login .lg-alt u{color:var(--muted2);text-underline-offset:3px}
.login .lg-alt button:hover,.login .lg-alt button:hover u,.login .lg-alt a:hover{color:var(--txt)}
.login .lg-alt button[disabled]{opacity:.6;pointer-events:none}
.login .lg-alt2{margin-top:0;padding-top:6px;border-top:1px solid var(--line)}
.login .lg-alt2 a{padding-left:2px;padding-right:2px}
.login .lg-later{margin-top:6px}
.login .lg-later a{display:inline-block;min-height:44px;padding:12px 8px}
/* écran code : les deux boutons restent tapables, même désactivés */
.login .lg-links{flex-wrap:wrap;row-gap:0}
.login .lg-links button{min-height:44px;padding:12px 4px}
.login .lg-code{font-weight:500}
.login .lg-code::placeholder{letter-spacing:.45em;color:var(--line3)}
.login .lg-note a{color:var(--muted2);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.login .q-s a{color:var(--txt);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.login .q-s b{color:var(--txt);overflow-wrap:anywhere}
/* jauge de mot de passe : sobre (faible / correct / fort) */
.login .lg-meter{display:flex;gap:5px;margin:10px 0 0}
.login .lg-meter i{flex:1;height:4px;border-radius:4px;background:var(--line2);transition:background .25s}
.login .lg-meter.s1 i:nth-child(1){background:var(--red)}
.login .lg-meter.s2 i:nth-child(-n+2){background:var(--muted2)}
.login .lg-meter.s3 i{background:var(--green)}
.login .lg-mlab{margin:7px 0 0;font-size:13px;color:var(--muted);min-height:20px}
.login .lg-meter.s1+.lg-mlab{color:var(--red)}
.login .lg-meter.s3+.lg-mlab{color:var(--green)}
/* champ e-mail invisible (pour que les gestionnaires de mots de passe enregistrent la bonne adresse) */
.login .lg-vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* attente */
.login .lg-wait p{margin:0;font-size:15px}
@media(prefers-reduced-motion:reduce){.login .lg-wait .spin{animation-duration:2s}}
@media(max-width:360px){.login .lg-alt{font-size:13.5px}.login .lg-alt button,.login .lg-alt a{padding-top:13px;padding-bottom:13px}}
