 (Arquivo principal modificado)

<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>EstagioPro - Sistema de Gestão de Estágios</title>
    <script src="https://cdn.tailwindcss.com"></script>
    <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" rel="stylesheet">
    <style>
        /* Seus estilos CSS aqui - mesmo do arquivo anterior */
        :root {
            --primary-yellow: #FFEB3B;
            --dark-gray: #333333;
            --white: #FFFFFF;
        }
        
        .sidebar-transition {
            transition: all 0.3s ease;
        }
        
        .kanban-card {
            transition: transform 0.2s ease, box-shadow 0.2s ease;
        }
        
        .kanban-card:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 25px rgba(0,0,0,0.15);
        }
        
        /* ... resto dos estilos ... */
    </style>
</head>
<body class="bg-gray-50">
    <!-- Seu HTML aqui - mesmo do arquivo anterior -->
    
    <script>
        // Variáveis globais modificadas para usar API
        let currentUser = null;
        let isLoggedIn = false;
        
        // Função de login modificada para usar API
        async function setupLoginHandler() {
            const loginForm = document.getElementById('loginForm');
            if (loginForm) {
                loginForm.addEventListener('submit', async function(e) {
                    e.preventDefault();
                    
                    const email = document.getElementById('loginEmail').value;
                    const password = document.getElementById('loginPassword').value;
                    
                    try {
                        const response = await fetch('api/auth/login.php', {
                            method: 'POST',
                            headers: {
                                'Content-Type': 'application/json',
                            },
                            body: JSON.stringify({ email, password })
                        });
                        
                        const data = await response.json();
                        
                        if (data.success) {
                            currentUser = data.user;
                            isLoggedIn = true;
                            
                            document.getElementById('loginScreen').style.display = 'none';
                            document.getElementById('mainApp').style.display = 'block';
                            
                            initializeApp();
                            showNotification(data.message, 'success');
                        } else {
                            showNotification(data.error, 'error');
                        }
                    } catch (error) {
                        showNotification('Erro de conexão!', 'error');
                    }
                });
            }
        }
        
        // Função de logout modificada
        async function confirmLogout() {
            try {
                const response = await fetch('api/auth/logout.php', {
                    method: 'POST'
                });
                
                const data = await response.json();
                
                // Remove confirmation modal
                const modal = document.getElementById('logoutConfirmModal');
                if (modal) {
                    modal.remove();
                }
                
                // Reset variables
                currentUser = null;
                isLoggedIn = false;
                
                // Show login screen
                document.getElementById('mainApp').style.display = 'none';
                document.getElementById('loginScreen').style.display = 'flex';
                
                // Clear form
                document.getElementById('loginForm').reset();
                
                showNotification(data.message, 'success');
                
            } catch (error) {
                showNotification('Erro ao fazer logout!', 'error');
            }
        }
        
        // Função para carregar estágios da API
        async function loadEstagiosFromAPI() {
            try {
                const response = await fetch('api/estagios/index.php');
                const data = await response.json();
                
                if (data.success) {
                    estagios = data.data;
                    filteredEstagios = [...estagios];
                    filterEstagios();
                    filterEstagiosRemunerados();
                    loadKanbanBoard();
                    loadDashboardCharts();
                }
            } catch (error) {
                showNotification('Erro ao carregar estágios!', 'error');
            }
        }
        
        // Função para carregar usuários da API
        async function loadUsuariosFromAPI() {
            try {
                const response = await fetch('api/usuarios/index.php');
                const data = await response.json();
                
                if (data.success) {
                    usuarios = data.data;
                    filteredUsuarios = [...usuarios];
                    loadUsuariosTable();
                }
            } catch (error) {
                showNotification('Erro ao carregar usuários!', 'error');
            }
        }
        
        // Função para carregar estatísticas do dashboard
        async function loadDashboardStats() {
            try {
                const response = await fetch('api/dashboard/stats.php');
                const data = await response.json();
                
                if (data.success) {
                    const stats = data.data.stats;
                    updateDashboardCards(
                        parseInt(stats.obrigatorios),
                        parseInt(stats.remunerados),
                        {
                            aguardando: parseInt(stats.aguardando),
                            processo: parseInt(stats.processo),
                            campo: parseInt(stats.campo),
                            concluido: parseInt(stats.concluidos)
                        }
                    );
                }
            } catch (error) {
                console.error('Erro ao carregar estatísticas:', error);
            }
        }
        
        // Modificar função de inicialização
        function initializeApp() {
            console.log('Initializing app for user:', currentUser);
            
            try {
                // Apply platform customizations first
                applyPlatformChanges();
                
                // Set user info
                const userNameEl = document.getElementById('userName');
                const userRoleEl = document.getElementById('userRole');
                
                if (userNameEl) userNameEl.textContent = currentUser.name;
                if (userRoleEl) {
                    userRoleEl.textContent = 
                        currentUser.role === 'superadmin' ? 'Superadmin' : 
                        currentUser.role === 'admin' ? 'Admin' : 'Colaborador';
                }
                
                // Setup navigation based on role
                setupNavigation();
                
                // Load data from API
                if (currentUser.role === 'superadmin') {
                    loadSuperadminDashboard();
                    showSection('superadmin-dashboard');
                } else {
                    loadEstagiosFromAPI();
                    loadUsuariosFromAPI();
                    loadDashboardStats();
                    showSection('dashboard');
                }
                
                console.log('App initialization complete');
            } catch (error) {
                console.error('Error initializing app:', error);
            }
        }
        
        // Inicializar quando DOM carregar
        document.addEventListener('DOMContentLoaded', function() {
            if (isLoggedIn && currentUser) {
                document.getElementById('loginScreen').style.display = 'none';
                document.getElementById('mainApp').style.display = 'block';
                initializeApp();
            } else {
                initializeSystem();
            }
        });
        
        // Resto das suas funções JavaScript aqui...
        // (Copie todas as outras funções do arquivo anterior)
        
    </script>
</body>
</html>