- Updated VerificationController::verify() to:
- Distinguish between invalid and expired verification codes
- Preserve expired codes to allow resend and proper feedback
- Log verification attempts with safe type handling
- Display a clear message for already-verified submissions
- Avoid DB errors from unknown 'type' values (supports contact+newsletter)
- Updated verify_success.php and verify_failed.php:
- Unified layout using Arsha theme with View::render() wrapping buffered output
- `verify_failed.php` now shows a resend form only if applicable
- If code is invalid and no email context is known, redirect prompt is shown
- Ensured fallback logic for all messaging variables is robust and user-safe