#modal-change-password {
    position: fixed; inset: 0; align-items: center; justify-content: center;
    background: rgba(17, 24, 39, .55); padding: 12px; box-sizing: border-box;
}
#modal-change-password .modal-content {
    flex: none;
    width: min(400px, calc(100vw - 24px));
    max-height: calc(100dvh - 32px);
    box-sizing: border-box;
    overflow-y: auto;
    border-radius: 8px !important;
    padding: 20px;
    background: #fff;
    color: #111827;
}
#modal-change-password .cp-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
#modal-change-password h3 { margin: 0; font-size: 20px; }
#modal-change-password .input-group { margin-bottom: 16px; }
#modal-change-password label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; }
#modal-change-password label span { color: #b91c1c; }
#modal-change-password input {
    box-sizing: border-box; width: 100%; min-height: 44px; padding: 10px 12px;
    border: 1px solid #cbd5e1; border-radius: 8px; font-size: 16px;
}
/* Global legacy input styles use !important; keep validation visible in this dialog only. */
#modal-change-password input[aria-invalid="true"] { border: 2px solid #b91c1c !important; transition: none !important; }
#modal-change-password button { min-height: 44px; border-radius: 8px; cursor: pointer; font-size: 14px; font-weight: 600; }
#modal-change-password #cp-close-btn { flex: 0 0 44px; width: 44px; height: 44px; border: 1px solid #cbd5e1; background: #fff; color: #475569; }
#modal-change-password #cp-submit-btn { width: 100%; padding: 12px; background: var(--brand-primary, #ff542b); color: #fff; border: 0; }
#modal-change-password #cp-relogin-btn { width: 100%; padding: 12px; margin-top: 12px; background: #e4f8f1; color: #006e59; border: 1px solid #8ad6be; }
#modal-change-password #cp-relogin-btn[hidden] { display: none !important; }
#modal-change-password button:disabled { opacity: .6; cursor: not-allowed; }
#modal-change-password button:not(:disabled):active { transform: translateY(1px); }
#modal-change-password :focus-visible { outline: 2px solid #007a63; outline-offset: 2px; }
#modal-change-password #cp-status { font-size: 14px; line-height: 1.5; margin: 0 0 12px; color: #7c3b13; overflow-wrap: anywhere; }
#modal-change-password #cp-status:empty { margin: 0; }
