1) Убери раскрытие на js
2) то что должно раскрыться - должно быть абсолютно спозиционировано относительно карточки своей. По умолчанию с visibility:hidden; opacity:0;
3) само раскрытие пиши по ховеру на карточку на css. Т.е. при ховере на карточку меняй стили у раскрывающегося блока на opacity: 1; visibility: visible;
При смене пароля запоминать время последней смены пароля для конкретного юзера.
Если юзер попытается сменить пароль раньше, чем через сутки с момента последней смены его пароля - выдавать ошибку, что пароль был сменён менее суток назад и необходимо подождать.
Причём саму форму смены пароля можно при этом даже не выводить (чтобы юзер зря не пытался) а сразу выводить сообщение о невозможности смены пароля, но на стороне сервера всё равно проверять.