.password-feedback {
    display: grid;
    gap: var(--rc-form-help-gap);
    margin: 2px 0 0;
    color: var(--rc-icon);
    font-size: var(--rc-form-help-font-size);
    line-height: 1.4;
}

.password-feedback__title,
.password-match {
    margin: 0;
}

.password-feedback__title {
    color: var(--rc-text);
    font-weight: 500;
}

.password-rules {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px 18px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.password-rules li,
.password-match {
    position: relative;
    padding-left: 20px;
    transition: color 160ms ease;
}

.password-rules li::before,
.password-match::before {
    content: "•";
    position: absolute;
    left: 2px;
    top: 0;
    width: 14px;
    color: currentColor;
    font-weight: 700;
    text-align: center;
}

.password-rules li.is-met,
.password-match.is-match {
    color: var(--rc-success);
}

.password-rules li.is-met::before,
.password-match.is-match::before {
    content: "✓";
}

.password-rules li.is-unmet,
.password-match.is-mismatch {
    color: var(--rc-error);
}

.password-rules li.is-unmet::before,
.password-match.is-mismatch::before {
    content: "×";
}

@media (max-width: 620px) {
    .password-rules {
        grid-template-columns: 1fr;
    }
}
