.password-field-wrap {
    position: relative;
}

.password-field-wrap input[type="password"],
.password-field-wrap input[type="text"] {
    padding-right: 46px;
}

.password-toggle {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--text-muted);
    cursor: pointer;
}

.password-toggle svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.password-requirements {
    margin: 10px 0 0;
    padding: 0;
    list-style: none;
    font-size: 0.9rem;
}

.password-requirements li {
    margin: 3px 0;
    color: var(--text-muted);
}

.password-requirements li::before {
    content: '○';
    display: inline-block;
    width: 1.4em;
}

.password-requirements li.is-valid {
    color: #059669;
}

.password-requirements li.is-valid::before {
    content: '✓';
}

.password-match {
    margin-top: 6px;
    font-size: 0.9rem;
}

.password-match.is-valid {
    color: #059669;
}

.password-match.is-invalid {
    color: var(--error);
}
