.password-entry{position:relative;display:flex;align-items:center}
.password-entry input{width:100%;padding-right:65px}
.password-toggle{position:absolute;right:5px;min-width:52px;min-height:38px;border:0;background:transparent;color:var(--text-primary,#222);font:inherit;font-size:12px;border-radius:5px}
.password-toggle:hover{background:var(--bg-muted,#f4f4f4)}
.password-toggle:focus-visible{outline:2px solid #f45a13;outline-offset:1px}
.password-guidance{margin-top:12px;--password-tone:#81908a}
.password-guidance[data-level=caution]{--password-tone:#b45309}
.password-guidance[data-level=long]{--password-tone:#24724d}
.password-meter{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.password-cell{height:6px;overflow:hidden;border-radius:2px;background:var(--border,#dedbd5)}
.password-cell::before{content:"";display:block;height:100%;background:var(--password-tone);transform:scaleX(0);transform-origin:left;transition:transform .38s cubic-bezier(.2,1.35,.5,1),background-color .2s}
.password-cell.filled::before{transform:scaleX(1)}
.password-cell:nth-child(2)::before{transition-delay:30ms}
.password-cell:nth-child(3)::before{transition-delay:60ms}
.password-cell:nth-child(4)::before{transition-delay:90ms}
.password-label{font-size:12px;font-weight:600;line-height:1.5;min-height:18px;margin:7px 0 5px;color:var(--text-primary,#222)}
.password-hint{font-size:11.5px;line-height:1.55;margin:4px 0;color:var(--text-secondary,#616161)}
.password-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(prefers-reduced-motion:reduce){.password-cell::before{transition:none}}
