/* Checklist de requisitos + barra de força de senha (assets/js/senhaForca.js) — arquivo à
   parte porque é usado tanto dentro da SPA (dialogs em app.js/usuarios.js) quanto em
   login.html, que não carrega components.css. Só depende de variables.css. */

.senha-forca {
    margin-top: 2px;
}

/* Formulário de 2 colunas (ex: Cadastrar Usuário) — o checklist vira filho direto do
   .form-row (não aninhado dentro do form-group da Senha) exatamente pra poder ocupar a
   largura das 2 colunas aqui, em vez de ficar espremido só na coluna da Senha. */
.form-row > .senha-forca {
    grid-column: 1 / -1;
}

.senha-forca-barra {
    display: flex;
    gap: 4px;
    margin-bottom: var(--space-xs);
}

.senha-forca-segmento {
    flex: 1;
    height: 4px;
    border-radius: 2px;
    background: var(--c-border);
    transition: background var(--transition);
}

.senha-forca-segmento.fraca       { background: var(--c-danger); }
.senha-forca-segmento.media       { background: var(--c-warning); }
.senha-forca-segmento.forte       { background: var(--c-info); }
.senha-forca-segmento.muito-forte { background: var(--c-success); }

.senha-forca-label {
    display: block;
    min-height: 1em;
    font-size: .74rem;
    font-weight: 600;
    margin-bottom: var(--space-xs);
    color: var(--c-text-muted);
}

.senha-forca-label.fraca       { color: var(--c-danger); }
.senha-forca-label.media       { color: var(--c-warning); }
.senha-forca-label.forte       { color: var(--c-info); }
.senha-forca-label.muito-forte { color: var(--c-success); }

.senha-requisitos {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 4px var(--space-sm);
}

.senha-requisito {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: .76rem;
    color: var(--c-text-muted);
    transition: color var(--transition);
}

.senha-requisito-icone {
    position: relative;
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    border: 1.5px solid var(--c-border-strong);
    border-radius: 50%;
    transition: background var(--transition), border-color var(--transition);
}

.senha-requisito.ok {
    color: var(--c-success);
}

.senha-requisito.ok .senha-requisito-icone {
    background: var(--c-success);
    border-color: var(--c-success);
}

.senha-requisito.ok .senha-requisito-icone::after {
    content: "";
    position: absolute;
    left: 3px;
    top: 1px;
    width: 4px;
    height: 7px;
    border: solid #fff;
    border-width: 0 1.5px 1.5px 0;
    transform: rotate(45deg);
}
