.password-input{position:relative;display:block;width:100%;min-width:0}
.password-input>input[type=password],.password-input>input[type=text]{box-sizing:border-box;width:100%;padding-inline-end:47px!important}
.password-toggle{position:absolute;inset-inline-end:6px;top:50%;transform:translateY(-50%);width:34px;height:34px;padding:7px;display:grid;place-items:center;border:0;background:transparent;color:var(--portal-muted,var(--body-quiet-color,#66776d));border-radius:7px;cursor:pointer;touch-action:manipulation}
.password-toggle:hover{color:var(--portal-green,var(--body-fg,#315b43));background:var(--portal-soft,var(--darkened-bg,#f0f3ef))}
.password-toggle:focus-visible{outline:2px solid var(--portal-green,var(--link-fg,#467457));outline-offset:1px}
.password-toggle svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.password-rules{list-style:none!important;display:grid;gap:8px;margin:10px 0 2px!important;padding:0!important;color:var(--portal-muted,var(--body-quiet-color,#6c776f));line-height:1.9}
.password-rules .password-rule{font-size:var(--text-caption)!important;display:flex;align-items:flex-start;gap:8px;margin:0;padding:0;list-style:none!important;color:inherit}
.password-rule-icon{margin-top:3px;width:16px;height:16px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;flex-shrink:0;opacity:.45;transition:color .18s,background .18s,border-color .18s,opacity .18s}
.password-rule-icon svg{display:block;width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;opacity:0}
.password-rule[data-state=met]{color:#287a46}
.password-rule[data-state=met] .password-rule-icon{background:#287a4611;border-color:#287a4638;opacity:1}
.password-rule[data-state=met] .password-rule-icon svg{opacity:1}
:root[data-theme=dark] .password-rule[data-state=met],html[data-theme=dark] body:not(.portal) .password-rule[data-state=met]{color:#8dcc9c}
:root[data-theme=dark] .password-rule[data-state=met] .password-rule-icon{background:#8dcc9c12;border-color:#8dcc9c55}
.password-status-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body:not(.portal) .password-input{display:inline-block;width:fit-content;max-width:100%;vertical-align:middle}
body.login .password-input{width:100%}
body:not(.portal) .password-rules{max-width:420px}
body:not(.portal) .form-row .password-rules{margin-inline-start:0!important}
@media(prefers-reduced-motion:reduce){.password-rule-icon{transition:none}}
@media(prefers-color-scheme:dark){html[data-theme=auto] .password-rule[data-state=met]{color:#8dcc9c}html[data-theme=auto] .password-rule[data-state=met] .password-rule-icon{background:#8dcc9c12;border-color:#8dcc9c55}}
