/* Password fields: the show/hide eye, the live rule checklist, the match line (password_fields.js). */
input.pw-has-eye { padding-right: 2.6em !important; }
input.pw-has-eye::-ms-reveal, input.pw-has-eye::-ms-clear { display: none; }   /* Edge's own eye: one is enough */
.pw-eye {
    position: absolute; z-index: 3; width: 32px; height: 32px; padding: 6px; margin: 0;
    display: inline-flex; align-items: center; justify-content: center;
    background: transparent; border: 0; border-radius: 4px; color: #5b6573; cursor: pointer; line-height: 0;
}
.pw-eye:hover { color: #00356e; background: rgba(0, 53, 110, .06); }
.pw-eye:focus-visible { outline: 2px solid #00356e; outline-offset: 1px; }
.pw-eye[hidden] { display: none; }

.pw-status { margin: .35em 0 .6em; font-size: .85rem; line-height: 1.35; text-align: left; }
.pw-head { color: #4b5563; font-weight: 600; margin-bottom: .15em; }
.pw-head.ok { color: #1e6b37; }
.pw-rules { list-style: none; margin: 0; padding: 0; }
.pw-rules li { display: flex; gap: .45em; align-items: baseline; padding: .05em 0; }
.pw-rules li.unmet { color: #5b6573; }
.pw-rules li.met { color: #1e6b37; }
.pw-mark { display: inline-block; width: 1em; text-align: center; font-weight: 700; }
.pw-match { margin: .3em 0 .6em; font-size: .85rem; font-weight: 600; text-align: left; min-height: 1.2em; }
.pw-match.ok { color: #1e6b37; }
.pw-match.bad { color: #9c2a00; }
.pw-match.wait { color: #5b6573; font-weight: 500; }
.pw-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
