Frontend auth flow alignment: axios client, OTP-first reset, and registration UX cleanup
- Introduces a shared axios client with request/response interceptors:
- Auto-injects Bearer token
- Handles expired token cleanup
- Redirects to /login on unauthorized responses
- Adds auth utilities for token storage and token parsing/expiration checks.
- Refactors auth service calls to use the shared axios instance.
- Removes Google/Apple sign-in actions from Login/Register UI.
- Reworks forgot-password flow to OTP-first UX:
- Send OTP from email
- Show OTP validation step first
- Show new password form only after OTP is validated
- Updates register UI to use separate first-name/last-name inputs and improves payload compatibility handling.
- Removes dependency on email-verification page in the registration journey (frontend routing now redirects /verify-email to login).