export function resolveBrowserAppUrl(fallback: string): string {
  if (typeof window === 'undefined') return fallback
  const h = window.location.hostname
  if (h === 'localhost' || h === '127.0.0.1') return fallback.replace(/\/$/, '')

  try {
    const target = new URL(fallback)
    target.protocol = window.location.protocol
    target.hostname = h
    target.port = ''
    return target.toString().replace(/\/$/, '')
  } catch {
    return fallback
  }
}
