.tb-password-field { position: relative; width: 100%; min-width: 0; }
.tb-password-field > input[data-tb-password-toggle][type] { box-sizing: border-box; width: 100%; min-width: 0; min-height: 52px; padding-right: 112px !important; }
.tb-password-toggle { position: absolute; top: 4px; right: 4px; display: flex; align-items: center; justify-content: center; gap: 6px; width: 100px; min-height: 44px; padding: 8px 6px; border: 0; border-radius: 4px; background: #eef2e8; color: #0b523b; font: inherit; font-size: 16px; line-height: 1.5; cursor: pointer; -webkit-tap-highlight-color: rgba(11,82,59,.14); }
.tb-password-toggle svg { flex: 0 0 20px; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.tb-password-toggle__label { white-space: nowrap; }
.tb-password-toggle__slash { display: none; }
.tb-password-toggle[aria-pressed="true"] .tb-password-toggle__slash { display: block; }
.tb-password-toggle:hover { background: #e3ecd9; }
.tb-password-toggle:focus-visible { outline: 3px solid #b48a36; outline-offset: 2px; }
.tb-password-field > input:disabled + .tb-password-toggle,
.tb-password-field > input[readonly] + .tb-password-toggle { opacity: .5; cursor: default; }
.tb-password-field > input::-ms-reveal,
.tb-password-field > input::-ms-clear { display: none; }
