.password-requirements {
    display: grid;
    gap: .45rem;
    padding: .9rem 1rem;
    border: 1px solid var(--tb-border);
    border-radius: .9rem;
    background: var(--tb-bg);
}

.password-rule,
.password-match {
    display: flex;
    align-items: center;
    gap: .55rem;
    color: var(--tb-muted);
    font-size: .92rem;
    transition: color .2s ease;
}

.password-rule.is-valid,
.password-match.is-valid {
    color: var(--tb-teal);
    font-weight: 700;
}

.password-rule.is-invalid,
.password-match.is-invalid {
    color: #d9485f;
}

.password-toggle {
    min-width: 3.25rem;
    border-color: var(--tb-border);
}

.password-toggle:hover,
.password-toggle:focus {
    color: var(--tb-blue);
    background: rgba(37, 99, 235, .06);
    border-color: rgba(37, 99, 235, .3);
}
