26a10ac4f7
Causa raiz do login não navegar: getCurrentRole() retornava null quando vinculos.role era NULL no banco, fazendo isViewAllowed() retornar false e handleNavigate() falhar silenciosamente sem nenhum feedback. Fixes: - backend.ts: getCurrentRole usa workspace?.role || 'paciente' para garantir que nunca retorne null/undefined - App.tsx: onLoginSuccess usa setCurrentView+navigate diretamente, sem passar pela guarda de permissão (desnecessária pós-autenticação) - App.tsx: mount effect sempre chama navigate(currentView) para sincronizar a URL com a view real — antes só executava com hash vazio, deixando /#/login na URL ao recarregar com usuário autenticado - LoginView.tsx: remove spinner isInitializing de 3s que bloqueava o formulário em toda montagem do componente Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>