.aviso-senha-fraca {
    margin: 10px 0 20px 0;
    padding: 12px 15px;
    color: #856404;
    background-color: #fff3cd;
    border: 1px solid #ffeeba;
    border-left: 5px solid #ffc107;
    border-radius: 4px;
    font-size: 13px;
    line-height: 20px;
}

    .aviso-senha-fraca strong {
        display: block;
        margin-bottom: 3px;
    }

.password-rules {
    display: inline-block;
    margin-top: 8px;
    padding: 10px 12px;
    background-color: #f8f9fa;
    border: 1px solid #e2e2e2;
    border-radius: 4px;
    font-size: 12px;
    line-height: 18px;
}

.password-rule {
    display: flex;
    align-items: flex-start;
    color: #666;
}

    .password-rule .rule-icon {
        display: inline-block;
        width: 20px;
        flex: 0 0 20px;
        font-weight: bold;
    }

    .password-rule.is-valid {
        color: #218838;
    }

    .password-rule.is-invalid {
        color: #b02a37;
    }

/* Mantém todas as regras neutras antes da digitação. */
.password-rules:not(.senha-em-validacao) .password-rule {
    color: #666 !important;
}

.password-rules:not(.senha-em-validacao) .rule-icon {
    font-size: 0;
}

    .password-rules:not(.senha-em-validacao) .rule-icon::before {
        content: "\2610";
        font-size: 12px;
    }

/* =========================================================
   CAMPO DE SENHA COM BOTÃO MOSTRAR/OCULTAR
   ========================================================= */

.senha-container {
    position: relative;
    display: inline-block;
    width: auto;
}

    .senha-container input {
        padding-right: 38px !important;
        box-sizing: border-box;
    }

.senha-olho {
    position: absolute;
    right: 4px;
    top: 50%;
    transform: translateY(-50%);
    border: 0;
    background: transparent;
    padding: 4px;
    margin: 0;
    cursor: pointer;
    color: #666;
    line-height: 1;
    z-index: 10;
}

    .senha-olho:hover {
        color: #222;
    }

    .senha-olho:focus {
        outline: none;
    }

    .senha-olho svg {
        display: block;
        width: 20px;
        height: 20px;
    }
