fix: handle both URL and prefixed client IDs in consent screen
- Check if client ID starts with ikc_ prefix
- For custom apps, use name from DB or client ID
- For anonymous apps, parse URL and show hostname
- Only show app URL if it's a URL-based client ID