.password-field-wrapper {
    position: relative;
}

.password-field-wrapper input {
    padding-right: 40px;
    width: 100%;
    box-sizing: border-box;
}

.password-toggle-btn {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    padding: 4px;
    cursor: pointer;
    color: #727272;
    line-height: 1;
}

.password-toggle-btn:hover {
    color: #333;
}

.password-toggle-btn:focus {
    outline: none;
}

.password-criteria {
    list-style: none;
    margin: 8px 0 0;
    padding: 0;
    font-size: 12px;
    color: #666;
}

.password-criteria li {
    margin-bottom: 4px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.password-criteria .criteria-icon {
    display: inline-block;
    width: 16px;
    text-align: center;
    font-size: 14px;
}

.password-criteria li.criteria-neutral {
    color: #666;
}

.password-criteria li.criteria-neutral .criteria-icon {
    color: #999;
    font-size: 12px;
    font-weight: bold;
}

.password-criteria li.criteria-met {
    color: #2e7d32;
}

.password-criteria li.criteria-met .criteria-icon {
    color: #2e7d32;
}

.password-criteria li.criteria-unmet {
    color: #c62828;
}

.password-criteria li.criteria-unmet .criteria-icon {
    color: #c62828;
}

.password-match-message {
    margin-top: 6px;
    font-size: 12px;
    font-weight: 500;
    display: none;
    align-items: center;
    gap: 6px;
}

.password-match-message.password-match,
.password-match-message.password-mismatch {
    display: flex;
}

.password-match-message .match-status-icon {
    display: inline-block;
    width: 16px;
    text-align: center;
    font-size: 14px;
    font-weight: bold;
}

.password-match-message.password-match {
    color: #2e7d32;
}

.password-match-message.password-match .match-status-icon {
    color: #2e7d32;
}

.password-match-message.password-mismatch {
    color: #c62828;
}

.password-match-message.password-mismatch .match-status-icon {
    color: #c62828;
}

.password-fields-row .row {
    margin-left: 0;
    margin-right: 0;
}

.password-fields-row .col-md-6 {
    padding-left: 0;
    padding-right: 12px;
}

.password-fields-row .col-md-6:last-child {
    padding-left: 12px;
    padding-right: 0;
}

@media (max-width: 991px) {
    .password-fields-row .col-md-6,
    .password-fields-row .col-md-6:last-child {
        padding-left: 0;
        padding-right: 0;
        margin-bottom: 12px;
    }

    .password-fields-row .col-md-6:last-child {
        margin-bottom: 0;
    }
}
