/* Bouton « Afficher le mot de passe » des pages d'authentification (connexion,
   inscription, réinitialisation, mot de passe provisoire ; script password.js).

   Un vrai <button> de 40 x 36 px, posé dans le champ à droite : focalisable,
   annoncé (aria-pressed), actionné par Espace et Entrée. Il remplaçait une icône
   <i> cliquable de 21 x 16 px, hors du clavier. Il flotte au-dessus du champ
   Bootstrap de 38 px qui le précède (marge négative), 1 px à l'intérieur de sa
   bordure. */
.toggle-password,
.toggle-password-alone {
    position: relative;
    float: right;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 36px;
    margin-top: -37px;
    margin-right: 1px;
    padding: 0;
    border: 0;
    border-radius: 0 6px 6px 0;
    background: none;
    color: #434343;
    cursor: pointer;
}

.toggle-password:focus-visible,
.toggle-password-alone:focus-visible {
    outline: 2px solid #4D3DFF;
    outline-offset: -2px;
}

/* Le texte saisi s'arrête avant le bouton : sans cette réserve, une phrase de
   passe affichée en clair passait sous l'icône. Même spécificité que
   .form-control.is-invalid de Bootstrap et déclarée après lui : vaut aussi en
   erreur (style.css retire déjà l'icône rouge de Bootstrap).
   Points de suite en filet de sécurité : les textes indicatifs tiennent dans
   les 148 px restants à 280 px (« 15 caractères min. » en fait 145), mais une
   longueur minimale aux chiffres plus larges ou une police de repli peuvent
   les dépasser de quelques pixels : le texte finit alors par « … » au lieu
   d'une lettre coupée en deux. */
.form-control.password-field-alone,
.form-control.password-field-first,
.form-control.password-field-second {
    padding-right: 44px;
    text-overflow: ellipsis;
}
