Platform admin invita usuarios de empresa desde /admin/usuarios.
inviteUserByEmail + insert inmediato en user_roles (org_admin).
Rollback explícito si falla el insert. /auth/confirm maneja el link
de invitación con PASSWORD_RECOVERY event. Middleware no requirió
cambios — /auth/confirm ya queda fuera del matcher de rutas protegidas.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- lib/supabase.ts: ?? placeholders para que el módulo cargue en build
time sin las env vars; force-dynamic garantiza que nunca se llame
en build time.
- next.config.ts: env fallbacks vacíos para que Next.js no aborte
al no encontrar NEXT_PUBLIC_SUPABASE_* en build time.
- .gitignore: agrega .next/ (artefactos de build no van a git).
- git rm --cached .next/**: saca los artefactos ya trackeados.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>