.nb-password-field { position: relative; display: block; width: 100%; }
.nb-password-field > input { width: 100%; padding-inline-end: 3rem; }
/* ★2026-10-26（W-709 ②）: 高さは「36px か、欄の高さ − 4px の小さいほう」＝ 32px の欄では 28px で欄の内側に収まる（旧 = 36px で上下 2px はみ出した）。幅は高さと同じ（正方形）。 */
.nb-password-field__toggle { position: absolute; inset-inline-end: .375rem; top: 50%; transform: translateY(-50%); display: grid; place-items: center; width: auto; height: min(2.25rem, calc(100% - 4px)); aspect-ratio: 1; padding: 0; border: 0; border-radius: .375rem; background: transparent; color: currentColor; cursor: pointer; }
.nb-password-field__toggle:hover { background: var(--cl-border, #E3E3E3); }   /* ★2026-10-11: 生の黒 6% をトークンへ（hover.md ③ = 絵だけのボタンは `.ies-icon-btn:hover` と同じ `border` の面・暗い配色でも見える） */
.nb-password-field__toggle:focus-visible { outline: 2px solid var(--cl-primary, #008658); outline-offset: 1px; }
.nb-password-field__toggle svg { width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
