/* Composant réutilisable : indicateur de robustesse du mot de passe.
   Utilisé par l'installateur (install.php) et le formulaire d'inscription.
   Les variables --success-color / --danger-color sont fournies par le thème ;
   des valeurs de repli sont définies au cas où elles n'existent pas. */

.pw-strength { margin-top: .6rem; }

.pw-strength-bar {
    height: 8px;
    border-radius: 6px;
    background: #e9ecef;
    overflow: hidden;
}

.pw-strength-fill {
    display: block;
    height: 100%;
    width: 0%;
    border-radius: 6px;
    background: var(--danger-color, #dc3545);
    transition: width .25s ease, background-color .25s ease;
}

.pw-strength-label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: .8rem;
    color: #6c757d;
    margin-top: .35rem;
}
.pw-strength-label strong { transition: color .25s ease; }

.pw-req-list {
    list-style: none;
    margin: .5rem 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .15rem .9rem;
    font-size: .78rem;
}
.pw-req-list li {
    color: #adb5bd;
    transition: color .2s ease;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.pw-req-list li i {
    font-size: .55rem;
    margin-right: .35rem;
    vertical-align: middle;
}
.pw-req-list li.met { color: var(--success-color, #28a745); }

@media (max-width: 575.98px) {
    .pw-req-list { grid-template-columns: 1fr; }
}
