.portal-password-field { position: relative; display: block; width: 100%; margin-top: 8px; }
.portal-password-field > input { display: block; width: 100%; min-width: 0; margin: 0; padding-right: 50px; }
.portal-password-field > .portal-password-toggle { position: absolute; top: 50%; right: 3px; transform: translateY(-50%); display: grid; place-items: center; width: 42px; height: 42px; min-height: 0; padding: 0; margin: 0; border: 0; border-radius: 7px; background: transparent; color: inherit; box-shadow: none; cursor: pointer; }
.portal-password-field > .portal-password-toggle:hover { background: rgba(127,127,127,.1); transform: translateY(-50%); }
.portal-password-toggle:focus-visible { outline: 2px solid var(--blue, #315fce); outline-offset: 1px; }
.portal-password-eye-slash { display: none; }
.portal-password-toggle[aria-pressed="true"] .portal-password-eye-slash { display: block; }
.portal-password-requirements { margin: 14px 0 18px; font-size: 12px; line-height: 1.65; font-weight: 400; color: var(--muted, #696d75); }
.portal-password-requirements > span { font-weight: 600; }
.portal-password-requirements ul { list-style: none; padding: 0; margin: 6px 0 0; }
.portal-password-requirements li { margin: 2px 0; }
.portal-password-requirements [data-rule-icon] { display: inline-block; width: 16px; }
.portal-password-requirements .is-met { color: var(--green, #26935d); }
.portal-password-match { color: var(--red, #c94d4d); font-size: 12px; line-height: 1.5; }
.portal-password-match:empty { display: none; }
.portal-password-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
