.password-control {
    position: relative;
    display: block;
}

.password-control input {
    padding-right: 48px !important;
    font-weight: 400 !important;
}

.password-toggle {
    position: absolute !important;
    top: 50%;
    right: 7px;
    width: 34px !important;
    min-height: 0 !important;
    height: 34px;
    display: grid !important;
    place-items: center;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateY(-50%);
    border: 0 !important;
    border-radius: 6px;
    background: transparent !important;
    color: #667085 !important;
    cursor: pointer;
}

.password-toggle:hover { background: transparent !important; color: #0f766e !important; }
.password-toggle:focus-visible { outline: 3px solid rgba(15, 118, 110, .22); outline-offset: 1px; }
.password-toggle span { width: 20px; height: 20px; display: block; }
.password-toggle svg { width: 20px; height: 20px; display: block; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.password-toggle__show { display: none !important; }
.password-toggle__hide { display: block !important; opacity: .58; }
.password-toggle[aria-pressed="true"] .password-toggle__show { display: block !important; }
.password-toggle[aria-pressed="true"] .password-toggle__hide { display: none !important; }

.field-error {
    margin: 0;
    padding: 8px 10px;
    border: 1px solid #f0b8b8;
    border-radius: 6px;
    background: #fff5f5;
    color: #9b1c1c;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.4;
}

.field-error[hidden] { display: none; }
input[aria-invalid="true"], textarea[aria-invalid="true"], select[aria-invalid="true"] { border-color: #d92d20 !important; }
