.password-field{position:relative}
.password-field input{width:100%;padding-right:56px}
.password-field .password-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:44px;min-height:44px;padding:8px;margin:0;border:0;border-radius:6px;background:transparent;color:inherit;cursor:pointer}
.password-toggle svg{fill:none;stroke:currentColor;stroke-width:1.8}
.password-toggle[aria-pressed=true]{background:var(--soft,#e5e7eb)}
.password-toggle:focus-visible{outline:2px solid currentColor;outline-offset:1px}
.password-hint,.password-error{font-size:14px;margin:8px 0;line-height:1.5}
.password-hint[data-met=true]{color:#16703a}
.password-error{color:#991b1b}
.password-strength{display:block;width:100%;height:10px;margin:8px 0}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .password-hint[data-met=true]{color:#86efac}:root:not([data-theme=light]) .password-error{color:#fca5a5}}
:root[data-theme=dark] .password-hint[data-met=true]{color:#86efac}
:root[data-theme=dark] .password-error{color:#fca5a5}
/* Native meter semantics; the length thresholds are shared with password-ui.js. */
.password-strength[hidden]{display:none}
.password-strength{appearance:none;border:0;border-radius:999px;overflow:hidden;background:var(--line);--strength-color:var(--loss,#b62c42)}
.password-strength[data-strength=medium]{--strength-color:var(--warning,#785800)}
.password-strength[data-strength=long]{--strength-color:var(--profit,#17663e)}
.password-strength::-webkit-meter-bar{background:var(--line);border:0;border-radius:999px}
.password-strength::-webkit-meter-optimum-value,.password-strength::-webkit-meter-suboptimum-value,.password-strength::-webkit-meter-even-less-good-value{background:var(--strength-color);border-radius:999px}
.password-strength::-moz-meter-bar{background:var(--strength-color);border-radius:999px}
