/* 密碼小眼睛：一體化樣式（完全參考 login 頁） */
.password-hold-group .form-control {
    border-width: var(--bs-border-width, 1px);
    border-style: var(--bs-border-style, solid);
    border-color: var(--bs-border-color, #dee2e6);
    border-right-color: transparent; /* 交界處不出現分隔線 */
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.password-hold-group .password-hold-btn {
    border-width: var(--bs-border-width, 1px);
    border-style: var(--bs-border-style, solid);
    border-color: var(--bs-border-color, #dee2e6);
    border-left-color: transparent; /* 交界處不出現分隔線 */
    margin-left: -1px; /* 重疊 1px，消除縫/邊界 */
    background: var(--bs-body-bg, #fff);
    color: var(--bs-primary, #0d6efd);
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.password-hold-group .password-hold-btn:hover,
.password-hold-group .password-hold-btn:focus-visible {
    background: var(--bs-body-bg, #fff);
    border-color: var(--bs-border-color, #dee2e6);
    border-left-color: transparent; /* 交界處不出現分隔線 */
    color: var(--bs-primary, #0d6efd);
}
.password-hold-group .password-hold-btn:active {
    background: var(--bs-tertiary-bg, #f8f9fa);
}
.password-hold-group .password-hold-btn i {
    font-size: 1.1rem;
    pointer-events: none; /* 點在 icon 也算點按鈕 */
}

/* 驗證錯誤時，讓按鈕邊框顏色跟著變 */
.password-hold-group .form-control.is-invalid + .password-hold-btn {
    border-color: var(--bs-form-invalid-border-color);
}
.password-hold-group .form-control.is-valid + .password-hold-btn {
    border-color: var(--bs-form-valid-border-color);
}

