Adds validations with error messages
Refactors to condense BCrypt method
Adds hidden password field, error handling, and fixes more css issues