/* Keep the existing input and its theme styling; reserve room for a native button. */
.portal-password-field{position:relative;display:block;flex:1 1 auto;width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.portal-password-field[hidden]{display:none!important}
.portal-password-field>input.portal-password-input{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding-inline-end:54px!important}
body .portal-password-field>button.portal-password-toggle{position:absolute;inset-inline-end:3px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:44px;height:44px;min-width:44px;min-height:44px;max-width:44px;margin:0!important;padding:0!important;border:0!important;border-radius:6px;background:transparent!important;box-shadow:none!important;color:inherit;font:inherit;line-height:1;cursor:pointer;opacity:.65;appearance:none;-webkit-appearance:none}
body .portal-password-field>button.portal-password-toggle:hover{opacity:1;background:rgba(111,96,170,.08)!important}
body .portal-password-field>button.portal-password-toggle:focus-visible{outline:2px solid currentColor;outline-offset:-4px;opacity:1}
body .portal-password-field>button.portal-password-toggle:disabled{opacity:.35;cursor:not-allowed}
body .portal-password-field>button.portal-password-toggle>svg{display:block;width:21px;height:21px;flex:none;pointer-events:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
/* Avoid a second browser-supplied reveal icon beside our control. */
.portal-password-field>input::-ms-reveal,.portal-password-field>input::-ms-clear{display:none}
