.password-control { position: relative; min-width: 0; }
.password-control input { width: 100%; padding-right: 54px !important; }
.password-control .password-toggle { position: absolute; right: 3px; top: 50%; transform: translateY(-50%); display: grid; place-items: center; width: 44px; min-height: 44px; margin: 0; padding: 0; border: 0; border-radius: 9px; background: transparent; color: #536479; cursor: pointer; }
.password-control .password-toggle:hover { color: #5944bd; background: #f1effb; }
.password-control .password-toggle:focus-visible { outline: 3px solid #7052d9; outline-offset: -3px; }
.password-toggle[hidden], .password-toggle svg[hidden] { display: none; }
.password-requirements { margin-top: 10px; padding: 12px 14px; border: 1px solid #e2e8f0; border-radius: 12px; background: #f8fafc; font-size: 13px; color: #475569; }
.password-requirements .password-requirements-title { margin: 0 0 8px; font-size: 13px; color: #334155; font-weight: 700; }
.password-requirements ul { list-style: none; display: grid; gap: 5px; margin: 0; padding: 0; }
.password-requirements li { display: flex; align-items: baseline; gap: 7px; }
.password-requirements li.is-met { color: #08765f; }
.password-requirements [data-password-rule-icon] { width: 15px; flex: 0 0 15px; font-weight: 800; }
.password-requirements [data-password-summary] { margin: 9px 0 0; font-size: 12px; line-height: 1.5; color: #536479; }
.password-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }

.signup-form .password-requirements { margin-top: 0; }
.signup-form .password-requirements ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 600px) { .signup-form .password-requirements ul { grid-template-columns: 1fr; } }
