diff --git a/MOBILE_SAFARI_KEYCLOAK_FIXES_SUMMARY.md b/MOBILE_SAFARI_KEYCLOAK_FIXES_SUMMARY.md
index b33a26f..42c271a 100644
--- a/MOBILE_SAFARI_KEYCLOAK_FIXES_SUMMARY.md
+++ b/MOBILE_SAFARI_KEYCLOAK_FIXES_SUMMARY.md
@@ -10,6 +10,10 @@
**Problem:** "Set Your Password" button leading to "Page not found"
**Status:** ✅ FIXED
+### **3. Country Dropdown Completely Broken on Mobile**
+**Problem:** Country selection dropdown overlapping with other elements, unusable interface
+**Status:** ✅ FIXED
+
---
## 🔍 **Root Causes & Solutions**
@@ -84,6 +88,42 @@ const setupPasswordUrl = computed(() => {
});
```
+### **Country Dropdown Broken on Mobile**
+
+#### **Root Causes:**
+1. **Vuetify v-select Issues:** Mobile Safari incompatibility with complex dropdown positioning
+2. **Z-index Conflicts:** Dropdown overlapping with other form elements
+3. **Touch Interaction Problems:** Poor touch responsiveness on mobile devices
+4. **Layout Disruption:** Dropdown breaking the form layout and rendering incorrectly
+
+#### **Solutions Implemented:**
+```typescript
+// 1. Mobile-Optimized Country Selector
+components/MultipleNationalityInput.vue
+- Device detection to switch between desktop v-select and mobile dialog
+- Full-screen country selection dialog for mobile Safari
+- Touch-optimized interface with larger touch targets
+- Search functionality with smooth scrolling
+
+// 2. Mobile Dialog Interface
+
+
+
+
+
+
+// 3. Performance Optimizations
+- Hardware acceleration for smooth scrolling
+- Disabled transitions for performance mode
+- Touch-friendly 60px minimum button heights
+- -webkit-overflow-scrolling: touch for iOS
+```
+
---
## 📁 **Files Modified**
diff --git a/components/MultipleNationalityInput.vue b/components/MultipleNationalityInput.vue
index 223793a..a7b5fc3 100644
--- a/components/MultipleNationalityInput.vue
+++ b/components/MultipleNationalityInput.vue
@@ -6,7 +6,33 @@
:key="`nationality-${index}`"
class="nationality-item d-flex align-center gap-2 mb-2"
>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Select Country
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ country.name }}
+
+
+
+ mdi-check
+
+
+
+
+
+
+ No countries found
+
+
+
+
+
+
+
+
+
+
+ Cancel
+
+
+
+
+
+
diff --git a/server/api/registration.post.ts b/server/api/registration.post.ts
index 89e9135..e80b9d2 100644
--- a/server/api/registration.post.ts
+++ b/server/api/registration.post.ts
@@ -144,7 +144,8 @@ export default defineEventHandler(async (event) => {
const emailService = await getEmailService();
const verificationToken = await generateEmailVerificationToken(createdKeycloakId, body.email);
const config = useRuntimeConfig();
- const verificationLink = `${config.public.domain}/api/auth/verify-email?token=${verificationToken}`;
+ // Fix: Point to user-friendly verification page instead of direct API endpoint
+ const verificationLink = `${config.public.domain}/auth/verify?token=${verificationToken}`;
await emailService.sendWelcomeEmail(body.email, {
firstName: body.first_name,