/* Password fields (src/password-field.js): one show/hide button per input. */
.nesa-password-wrap{position:relative;display:block;min-width:0}
.nesa-password-wrap>input{width:100%;box-sizing:border-box;padding-right:52px!important}
.nesa-password-eye{position:absolute;top:50%;right:2px;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;margin:0;padding:0;border:0;border-radius:8px;background:transparent;color:#61718d;cursor:pointer}
.nesa-password-eye:hover,.nesa-password-toggle:hover{color:#18304a;background:#18304a0d}
.nesa-password-eye:focus-visible,.nesa-password-toggle:focus-visible{outline:2px solid #0b49d0;outline-offset:1px}
.nesa-password-eye .nesa-icon{width:22px;height:22px}
/* Login: the existing toggle keeps its place; only its touch target grows to 44 px. */
.nesa-login-field .nesa-password-toggle{flex:0 0 44px;width:44px;height:44px;margin:0 -8px 0 0}
.nesa-password-meter-row{display:flex;justify-content:space-between;gap:12px;margin:8px 0 0;font-size:12px;line-height:1.5;color:#46556f}
.nesa-password-meter-row strong{color:#18304a;font-weight:650}
.nesa-password-meter{height:6px;margin:6px 0 0;border-radius:999px;background:#e8eef6;overflow:hidden}
.nesa-password-meter span{display:block;height:100%;width:0;border-radius:inherit;background:#b42318}
.nesa-password-meter[data-level="1"] span{width:33%;background:#b42318}
.nesa-password-meter[data-level="2"] span{width:66%;background:#b54708}
.nesa-password-meter[data-level="3"] span{width:100%;background:#067647}
.nesa-password-note{margin:7px 0 0;font-size:12px;line-height:1.6;color:#46556f;overflow-wrap:anywhere}
.nesa-password-note.is-error{color:#b42318}
.nesa-password-note.is-ok{color:#067647}
@media (prefers-reduced-motion:no-preference){.nesa-password-eye,.nesa-password-toggle{transition:color .15s,background-color .15s}.nesa-password-meter span{transition:width .2s}}
.nesa-form-row{display:grid;gap:0;margin:0 0 16px;min-width:0}
.nesa-form-label{display:block;margin:0 0 7px;font-size:14px;font-weight:600;line-height:1.4;color:#18304a}
.nesa-form-input{display:block;width:100%;box-sizing:border-box;min-height:52px;padding:0 15px;border:1px solid #dce5f1;border-radius:9px;background:#fff;color:#0e2047;font:inherit;font-size:16px}
.nesa-form-input:focus{outline:2px solid #0b49d0;outline-offset:0;border-color:#0b49d0}
.nesa-form-input[aria-invalid="true"]{border-color:#d92d20}
.nesa-login-forgot{justify-self:end;display:inline-flex;align-items:center;min-height:44px;margin:-6px 0 0 auto;padding:0 2px;color:#0b49d0;font-size:14px;font-weight:600;text-decoration:none}
.nesa-login-forgot[hidden]{display:none}
.nesa-login-forgot:hover{text-decoration:underline}
.nesa-login-forgot:focus-visible{outline:2px solid #0b49d0;outline-offset:2px;border-radius:4px}
.nesa-login-notice{margin:0;padding:10px 12px;border:1px solid #b7e2c6;border-radius:7px;background:#effaf3;color:#065f35;font-size:14px;line-height:1.5}
.nesa-change-logout{width:100%;border:0;background:none;cursor:pointer;font:inherit}
