<?php
// Al inicio de dashboard.php
$dashboardLoaded = isset($_COOKIE['dashboardLoaded']) && $_COOKIE['dashboardLoaded'] === 'true';
// Eliminar la cookie para la próxima vez
setcookie('dashboardLoaded', '', time() - 3600, '/');

session_start();
error_reporting(E_ALL & ~E_NOTICE); 
include_once "utils_database.php";
include_once "utils.php";

// Check if user is authenticated, if not redirect to login page
if (!isset($_SESSION['AccesoConcedido']) || !$_SESSION['AccesoConcedido']) {
    header("Location: login.php");
    exit;
}

// Get user information if logged in
$vAreasUsuario = isset($_SESSION['usr']) ? getDatUser($_SESSION['usr'], 9) : '';
$vTipo = isset($_SESSION['usr']) ? getDatUser($_SESSION['usr'], 2) : '';
$vIdUsr = isset($_SESSION['usr']) ? getDatUser($_SESSION['usr'], 1) : '';
$vIdEvaluador = ($vTipo == 'E' ? $vIdUsr : "");

// Statistics calculations
$totalTrabajos = 0;
$trabajosEvaluados = 0;
$trabajosPendientes = 0;
$evaluacionesCompletadas = 0;
$completionPercentage = 0;
$presentationTypes = [];
$areaCounts = [];
$recentEvaluations = null;
$evaluadoresActivos = 0;
$evaluadoresInactivos = 0;
$totalEvaluadores = 0;
$promedioEvaluaciones = 0;

// Ajustes para estadísticas según tipo de usuario
// Si el usuario es un evaluador (tipo 'E'), personalizar las consultas
if ($vTipo === 'E') {
    // 1. Contar SOLO trabajos asignados a este evaluador (totalTrabajos)
    $query = "SELECT COUNT(*) as total FROM ttrabajo 
              WHERE (evaluador1 = '$vIdUsr' OR evaluador2 = '$vIdUsr' OR evaluador3 = '$vIdUsr')
              AND activo = 1";
    $result = mysqli_query(Activarmysql(), $query);
    if ($result && $row = mysqli_fetch_assoc($result)) {
        $totalTrabajos = $row['total'];
    }
    
    // 2. Contar trabajos ya evaluados por este evaluador
    $query = "SELECT COUNT(*) as total FROM ttrabajo 
              WHERE ((evaluador1 = '$vIdUsr' AND calificacion1_fecha IS NOT NULL) OR
                    (evaluador2 = '$vIdUsr' AND calificacion2_fecha IS NOT NULL) OR
                    (evaluador3 = '$vIdUsr' AND calificacion3_fecha IS NOT NULL))
              AND activo = 1";
    $result = mysqli_query(Activarmysql(), $query);
    if ($result && $row = mysqli_fetch_assoc($result)) {
        $trabajosEvaluados = $row['total'];
    }
    
    // 3. Recalcular trabajos pendientes para este evaluador
    $trabajosPendientes = $totalTrabajos - $trabajosEvaluados;
    
    // 4. Recalcular porcentaje de completitud para este evaluador
    $completionPercentage = ($totalTrabajos > 0) ? round(($trabajosEvaluados / $totalTrabajos) * 100) : 0;
    
    // 5. Obtener solo las evaluaciones recientes de este evaluador específico
    $query = "SELECT t.codigo, t.titulo, u.nombre, 
                CASE 
                    WHEN t.evaluador1 = '$vIdUsr' THEN t.calificacion1_fecha
                    WHEN t.evaluador2 = '$vIdUsr' THEN t.calificacion2_fecha
                    WHEN t.evaluador3 = '$vIdUsr' THEN t.calificacion3_fecha
                END as last_eval_date
              FROM ttrabajo t
              LEFT JOIN tusuario u ON u.id = '$vIdUsr'
              WHERE ((t.evaluador1 = '$vIdUsr' AND t.calificacion1_fecha IS NOT NULL) OR
                   (t.evaluador2 = '$vIdUsr' AND t.calificacion2_fecha IS NOT NULL) OR
                   (t.evaluador3 = '$vIdUsr' AND t.calificacion3_fecha IS NOT NULL))
              ORDER BY last_eval_date DESC
              LIMIT 12";
    $recentEvaluations = mysqli_query(Activarmysql(), $query);
}
else {
    try {
        // Get all works
        $query = "SELECT COUNT(*) as total FROM ttrabajo";
        $result = mysqli_query(Activarmysql(), $query);
        if ($result && $row = mysqli_fetch_assoc($result)) {
            $totalTrabajos = $row['total'];
        }
        
        // Count evaluated works
        $query = "SELECT COUNT(*) as total FROM ttrabajo WHERE calificacion_promedio IS NOT NULL AND calificacion_promedio > 0";
        $result = mysqli_query(Activarmysql(), $query);
        if ($result && $row = mysqli_fetch_assoc($result)) {
            $trabajosEvaluados = $row['total'];
        }
        
        // Count pending works
        $trabajosPendientes = $totalTrabajos - $trabajosEvaluados;
        
        // Count completed evaluations
        $query = "SELECT SUM(CASE WHEN calificacion1_fecha IS NOT NULL THEN 1 ELSE 0 END) +
                        SUM(CASE WHEN calificacion2_fecha IS NOT NULL THEN 1 ELSE 0 END) +
                        SUM(CASE WHEN calificacion3_fecha IS NOT NULL THEN 1 ELSE 0 END) as total
                FROM ttrabajo";
        $result = mysqli_query(Activarmysql(), $query);
        if ($result && $row = mysqli_fetch_assoc($result)) {
            $evaluacionesCompletadas = $row['total'] ? $row['total'] : 0;
        }
        
        // Get completion percentage
        $completionPercentage = ($totalTrabajos > 0) ? round(($trabajosEvaluados / $totalTrabajos) * 100) : 0;
        
        // Get counts by type of presentation
        $query = "SELECT cod_tipo_presentacion_aprobado, COUNT(*) as count 
                FROM ttrabajo 
                WHERE cod_tipo_presentacion_aprobado IS NOT NULL 
                GROUP BY cod_tipo_presentacion_aprobado";
        $result = mysqli_query(Activarmysql(), $query);
        if ($result) {
            while ($row = mysqli_fetch_assoc($result)) {
                if ($row['cod_tipo_presentacion_aprobado']) {
                    $presentationTypes[$row['cod_tipo_presentacion_aprobado']] = $row['count'];
                }
            }
        }
        
        // Get counts by area
        $query = "SELECT codigo AS area_code, COUNT(*) AS count 
    FROM ttrabajo 
    GROUP BY codigo 
    ORDER BY codigo;
    ";
        $result = mysqli_query(Activarmysql(), $query);
        if ($result) {
            while ($row = mysqli_fetch_assoc($result)) {
                if ($row['area_code']) {
                    $areaCounts[$row['area_code']] = $row['count'];
                }
            }
        }
        
        // Get recent evaluations (last 12)
        $query = "SELECT t.codigo, t.titulo, u.nombre, 
                       GREATEST(
                           COALESCE(t.calificacion1_fecha, '1900-01-01'),
                           COALESCE(t.calificacion2_fecha, '1900-01-01'),
                           COALESCE(t.calificacion3_fecha, '1900-01-01')
                       ) as last_eval_date
                FROM ttrabajo t
                LEFT JOIN tusuario u ON 
                    (t.evaluador1 = u.id AND t.calificacion1_fecha IS NOT NULL) OR
                    (t.evaluador2 = u.id AND t.calificacion2_fecha IS NOT NULL) OR
                    (t.evaluador3 = u.id AND t.calificacion3_fecha IS NOT NULL)
                WHERE t.calificacion1_fecha IS NOT NULL OR 
                      t.calificacion2_fecha IS NOT NULL OR 
                      t.calificacion3_fecha IS NOT NULL
                ORDER BY last_eval_date DESC
                LIMIT 12";
        $recentEvaluations = mysqli_query(Activarmysql(), $query);

        // Contar evaluadores activos (activo=1)
        $query = "SELECT COUNT(*) as total FROM tusuario WHERE tipousuario = 'E' AND activo = 1";
        $result = mysqli_query(Activarmysql(), $query);
        if ($result && $row = mysqli_fetch_assoc($result)) {
            $evaluadoresActivos = $row['total'];
        }

        // Contar evaluadores inactivos (activo=0)
        $query = "SELECT COUNT(*) as total FROM tusuario WHERE tipousuario = 'E' AND activo = 0";
        $result = mysqli_query(Activarmysql(), $query);
        if ($result && $row = mysqli_fetch_assoc($result)) {
            $evaluadoresInactivos = $row['total'];
        }

        // Total de evaluadores
        $totalEvaluadores = $evaluadoresActivos + $evaluadoresInactivos;

        // Calcular promedio de evaluaciones
        $query = "SELECT AVG(calificacion_promedio) as promedio FROM ttrabajo WHERE calificacion_promedio IS NOT NULL AND calificacion_promedio > 0";
        $result = mysqli_query(Activarmysql(), $query);
        if ($result && $row = mysqli_fetch_assoc($result)) {
            $promedioEvaluaciones = $row['promedio'] ? round($row['promedio'], 1) : 0;
        }
    } catch (Exception $e) {
        // En caso de error, establecer valores predeterminados
        $totalTrabajos = 0;
        $trabajosEvaluados = 0;
        $trabajosPendientes = 0;
        $evaluacionesCompletadas = 0;
        $completionPercentage = 0;
        $evaluadoresActivos = 0;
        $evaluadoresInactivos = 0;
        $totalEvaluadores = 0;
        $promedioEvaluaciones = 0;
    }
}

// Preparar datos para los gráficos en JSON para JavaScript
$areaLabels = [];
$evaluatedValues = [];
$pendingValues = [];
$areaCodes = [];

// Obtener solo áreas que tienen trabajos
$areasWithWorksQuery = "SELECT 
    tarea.codigo AS area_code, 
    tarea.descripcion AS area_description
FROM tarea
LEFT JOIN ttrabajo ON ttrabajo.area_tematica = tarea.codigo
GROUP BY tarea.codigo, tarea.descripcion
ORDER BY tarea.codigo;
";
                      
$areasResult = mysqli_query(Activarmysql(), $areasWithWorksQuery);

if ($areasResult) {
    while ($areaRow = mysqli_fetch_assoc($areasResult)) {
        $code = $areaRow['area_code'];
        $areaCodes[] = $code;
        $areaLabels[] = $areaRow['area_description'];
        
        // Evaluados
        $evaluatedQuery = mysqli_query(Activarmysql(), "SELECT COUNT(*) AS count 
                                                        FROM ttrabajo 
                                                        WHERE area_tematica = '$code'  
                                                        AND calificacion_promedio IS NOT NULL 
                                                        AND calificacion_promedio > 0;
                                                        ");
        if ($evaluatedQuery && $row = mysqli_fetch_assoc($evaluatedQuery)) {
            $evaluatedValues[] = (int)$row['count'];
        } else {
            $evaluatedValues[] = 0;
        }
        
        // Total para calcular pendientes
        $totalQuery = mysqli_query(Activarmysql(), "SELECT COUNT(*) AS count 
FROM ttrabajo 
WHERE area_tematica = '$code';
");
        $totalRow = mysqli_fetch_assoc($totalQuery);
        $pendingValues[] = (int)$totalRow['count'] - (int)$evaluatedValues[count($evaluatedValues) - 1];
    }
}

// Datos adicionales para nuevos gráficos
// Obtener distribución por estado
$evaluationStatusData = [
    'Completado' => $trabajosEvaluados,
    'Pendiente' => $trabajosPendientes
];

// Obtener distribución por rango de calificaciones
$scoreDistributionQuery = "SELECT 
    CASE
        WHEN calificacion_promedio >= 4.5 THEN 'Excelente (4.5-5.0)'
        WHEN calificacion_promedio >= 4.0 THEN 'Bueno (4.0-4.4)'
        WHEN calificacion_promedio >= 3.0 THEN 'Regular (3.0-3.9)'
        ELSE 'Deficiente (<3.0)'
    END AS rango,
    COUNT(*) as total
    FROM ttrabajo 
    WHERE calificacion_promedio IS NOT NULL AND calificacion_promedio > 0
    GROUP BY rango
    ORDER BY MIN(calificacion_promedio) DESC";

$scoreDistribution = [];
$result = mysqli_query(Activarmysql(), $scoreDistributionQuery);
if ($result) {
    while ($row = mysqli_fetch_assoc($result)) {
        $scoreDistribution[$row['rango']] = (int)$row['total'];
    }
}

// Obtener progreso de evaluación por mes
$monthlyProgressQuery = "SELECT 
    MONTH(COALESCE(calificacion1_fecha, calificacion2_fecha, calificacion3_fecha)) as month,
    COUNT(*) as count
    FROM ttrabajo
    WHERE calificacion1_fecha IS NOT NULL 
       OR calificacion2_fecha IS NOT NULL 
       OR calificacion3_fecha IS NOT NULL
    GROUP BY MONTH(COALESCE(calificacion1_fecha, calificacion2_fecha, calificacion3_fecha))
    ORDER BY month";
    
    
$monthlyProgress = [];
$result = mysqli_query(Activarmysql(), $monthlyProgressQuery);
if ($result) {
    $months = ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'];
    while ($row = mysqli_fetch_assoc($result)) {
        $monthIndex = $row['month'] - 1; // Months are 1-based in SQL
        if (isset($months[$monthIndex])) {
            $monthlyProgress[$months[$monthIndex]] = (int)$row['count'];
        }
    }
}

// Obtener datos para gráfico de tipos de presentación
$presentationTypesQuery = "SELECT 
    t.codigo, 
    t.descripcion_esp,
    COUNT(tr.id) as count 
FROM ttipo_presentacion t
LEFT JOIN ttrabajo tr ON tr.cod_tipo_presentacion_propuesto = t.codigo
WHERE tr.activo = 1
GROUP BY t.codigo, t.descripcion_esp
ORDER BY COUNT(tr.id) DESC";

$presentationTypesData = [];
$presentationTypesLabels = [];

$result = mysqli_query(Activarmysql(), $presentationTypesQuery);
if ($result) {
    while ($row = mysqli_fetch_assoc($result)) {
        $presentationTypesLabels[] = $row['descripcion_esp'];
        $presentationTypesData[] = (int)$row['count'];
    }
}

// Convertir arrays a JSON para JavaScript
$chartData = [
    'areaLabels' => json_encode($areaLabels),
    'evaluatedData' => json_encode($evaluatedValues),
    'pendingData' => json_encode($pendingValues),
    'evaluationStatus' => json_encode(array_values($evaluationStatusData)),
    'evaluationStatusLabels' => json_encode(array_keys($evaluationStatusData)),
    'scoreDistribution' => json_encode(array_values($scoreDistribution)),
    'scoreDistributionLabels' => json_encode(array_keys($scoreDistribution)),
    'monthlyProgress' => json_encode(array_values($monthlyProgress)),
    'monthlyProgressLabels' => json_encode(array_keys($monthlyProgress)),
    'presentationTypesLabels' => json_encode($presentationTypesLabels),
    'presentationTypesData' => json_encode($presentationTypesData),
    'evaluadoresActivos' => $evaluadoresActivos,
    'evaluadoresInactivos' => $evaluadoresInactivos,
    'totalEvaluadores' => $totalEvaluadores
];

// Get user avatar and name for display
$username = getDatUser($_SESSION['usr'], 5);
$avatarFilename = getDatUser($_SESSION['usr'], 10); 

// Use avatar from database with specified path, fallback to UI Avatars
$avatarUrl = !empty($avatarFilename) 
    ? "dist/pages/evaluadores/acciones_evaluador/fotos_empleados/" . htmlspecialchars($avatarFilename) 
    : "https://ui-avatars.com/api/?name=" . urlencode($username) . "&background=3970fc&color=ffffff&size=128&rounded=true";
?>

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="Panamtrauma Admin Portal">
    <meta name="author" content="Contactos SAS">
    <title>Panamtrauma 2026 - Portal Administrativo</title>
    
    <!-- CSS -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css">
    <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap" rel="stylesheet">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.9.1/chart.min.css">
    <link rel="stylesheet" href="assets/css/dashboard.css">
</head>

<body>
    <!-- Sidebar - Ahora es un div estático -->
    <div class="sidebar">
        <div class="sidebar-brand">
            <!-- Logo de Panamtrauma (texto con icono como alternativa) -->
            <div class="logo-panamtrauma">
                <i class="fas fa-hospital logo-icon"></i>
                <span>Panamtrauma</span>
            </div>
        </div>
        
        <ul class="sidebar-menu">
            <li class="sidebar-header">PRINCIPAL</li>
            <li class="active">
                <a href="dashboard.php">
                    <i class="fas fa-tachometer-alt"></i>
                    <span>Dashboard</span>
                </a>
            </li>
            
            <?php if ($vTipo === 'S'): ?>
            <li class="sidebar-header">ADMINISTRACIÓN</li>
            <li>
                <a href="asignartrabajos.php" target="_blank">
                    <i class="fas fa-tasks"></i>
                    <span>Asignar Trabajos</span>
                </a>
            </li>
            <li>
                <a href="asignar_areas.php" target="_blank">
                    <i class="fas fa-circle-check"></i>
                    <span>Asignar Áreas</span>
                </a>
            </li>
            <li>
                <a href="transferir_resumenes.php" target="_blank">
                    <i class="fas fa-rotate"></i>
                    <span>Transferencia</span>
                </a>
            </li>
            <li>
                <a href="cargar_evaluadores.php" target="_blank">
                    <i class="fas fa-cloud-upload"></i>
                    <span>Cargar Evaluadores</span>
                </a>
            </li>
            <li>
                <a href="evaluadores.php" target="_blank">
                    <i class="fas fa-user-check"></i>
                    <span>Evaluadores</span>
                </a>
            </li>
            <?php endif; ?>
            
            <?php if ($vTipo === "S" || $vTipo === "A"): ?>
            <li class="sidebar-header">REPORTES</li>
            <li>
                <a href="resumen.php" target="_blank">
                    <i class="fas fa-chart-bar"></i>
                    <span>Reportes Generales</span>
                </a>
            </li>
            <li>
                <a href="resultados.php" target="_blank">
                    <i class="fas fa-trophy"></i>
                    <span>Podium</span>
                </a>
            </li>
               <li>
                <a href="envio_certificados.php" target="_blank">
                    <i class="fas fa-award"></i>
                    <span>Certificados</span>
                </a>
            </li>
            <li class="sidebar-header">HERRAMIENTAS</li>
            <li>
                <a href="crud_evaluadores.php" target="_blank">
                    <i class="fas fa-user"></i>
                    <span>Usuarios</span>
                </a>
            </li>
            <li>
                <a href="mailer.php" target="_blank">
                    <i class="fas fa-envelope"></i>
                    <span>Mailing</span>
                </a>
            </li>
            
              <li>
                <a href="php-research-scheduler.php" target="_blank">
                    <i class="fas fa-calendar-days"></i>
                    <span>Programar Sesiones</span>
                </a>
            </li>
            
                     <li>
                <a href="crud.php" target="_blank">
                    <i class="fas fa-user-times"></i>
                    <span>Edicion Campos</span>
                </a>
            </li>
            
              <li>
                <a href="formularios.php" target="_blank">
                    <i class="fas fa-paper-plane"></i>
                    <span>Formulario</span>
                </a>
            </li>
            <li>
                <a href="Abstracts.php" target="_blank">
                    <i class="fas fa-file"></i>
                    <span>Abstracts en PDF</span>
                </a>
            </li>
            <?php endif; ?>
            
            <!-- Agregar opción de cerrar sesión explícitamente en el menú -->
            <li class="sidebar-header">CUENTA</li>
            <li>
                <a href="logout.php">
                    <i class="fas fa-sign-out-alt"></i>
                    <span>Cerrar Sesión</span>
                </a>
            </li>
        </ul>
    </div>

    <!-- Main Content -->
    <div class="main-content">
        <!-- Header -->
        <div class="header">
            <div class="header-title">
                <h1>Bienvenido(a), <?php echo getDatUser($_SESSION['usr'], 5); ?></h1>
                <p>Panel de administración de trabajos científicos - Panamtrauma 2025</p>
            </div>
            
            <div class="header-tools">
                <div class="search-box">
                    <i class="fas fa-search"></i>
                    <input type="text" class="form-control" placeholder="Buscar...">
                </div>
                
                
                            <!-- Reloj elegante - Insertar dentro del div header-tools, antes del div user-menu -->
            <div class="elegant-clock">
                <div class="clock-icon">
                    <i class="far fa-clock"></i>
                </div>
                <div class="clock-content">
                    <div id="elegant-time">--:--:--</div>
                    <div id="elegant-date" class="clock-date">-- de ----- de ----</div>
                </div>
            </div>
                           
                 <div class="user-menu">
                    <div class="notification-icon">
                        <i class="fas fa-bell"></i>
                        <span class="notification-badge">3</span>
                    </div>
                    
                    <div class="user-profile">
                        <div class="user-avatar">
                            <img src="<?php echo $avatarUrl; ?>" alt="Perfil de usuario">
                        </div>
                        <div class="user-info">
                            <h6><?php echo getDatUser($_SESSION['usr'], 5); ?></h6>
                            <span><?php echo $vTipo === 'S' ? 'Administrador' : ($vTipo === 'A' ? 'Admin. Área' : 'Evaluador'); ?></span>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        
        <!-- Stats Cards -->
        <?php if ($vTipo === "S" || $vTipo === "A"): ?>
        <div class="row mb-4">
            <!-- Trabajos Evaluados Card -->
            <div class="col-xl-3 col-md-6">
                <div class="card h-100">
                    <div class="stats-card primary">
                        <i class="fas fa-chart-bar stats-icon"></i>
                        <div class="stats-title">Trabajos Evaluados</div>
                        <div class="stats-value"><?php echo $trabajosEvaluados; ?></div>
                        <div class="stats-progress">
                            <div class="progress">
                                <div class="progress-bar" role="progressbar" style="width: <?php echo $completionPercentage; ?>%" aria-valuenow="<?php echo $completionPercentage; ?>" aria-valuemin="0" aria-valuemax="100"></div>
                            </div>
                            <div class="stats-info">
                                <span><?php echo $completionPercentage; ?>% completado</span>
                                <span><?php echo $trabajosEvaluados; ?> de <?php echo $totalTrabajos; ?></span>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            
            <!-- Total Trabajos Card -->
            <div class="col-xl-3 col-md-6">
                <div class="card h-100">
                    <div class="stats-card info">
                        <i class="fas fa-file-alt stats-icon"></i>
                        <div class="stats-title">Total de Trabajos</div>
                        <div class="stats-value"><?php echo $totalTrabajos; ?></div>
                        <div class="stats-progress">
                            <div class="progress">
                                <div class="progress-bar" role="progressbar" style="width: 100%" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100"></div>
                            </div>
                            <div class="stats-info">
                                <span>Total registrados</span>
                                <span><?php echo $totalTrabajos; ?> trabajos</span>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            
            <!-- Trabajos Pendientes Card -->
            <div class="col-xl-3 col-md-6">
                <div class="card h-100">
                    <div class="stats-card warning">
                        <i class="fas fa-hourglass-half stats-icon"></i>
                        <div class="stats-title">Trabajos Pendientes</div>
                        <div class="stats-value"><?php echo $trabajosPendientes; ?></div>
                        <div class="stats-progress">
                            <div class="progress">
                                <div class="progress-bar" role="progressbar" style="width: <?php echo 100 - $completionPercentage; ?>%" aria-valuenow="<?php echo 100 - $completionPercentage; ?>" aria-valuemin="0" aria-valuemax="100"></div>
                            </div>
                            <div class="stats-info">
                                <span><?php echo 100 - $completionPercentage; ?>% restante</span>
                                <span><?php echo $trabajosPendientes; ?> trabajos</span>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            
            <!-- Evaluaciones Realizadas Card -->
            <div class="col-xl-3 col-md-6">
                <div class="card h-100">
                    <div class="stats-card success">
                        <i class="fas fa-star stats-icon"></i>
                        <div class="stats-title">Promedio Calificaciones</div>
                        <div class="stats-value"><?php echo number_format($promedioEvaluaciones, 1); ?></div>
                        <div class="stats-progress">
                            <div class="progress">
                                <div class="progress-bar" role="progressbar" style="width: <?php echo ($promedioEvaluaciones / 5) * 100; ?>%" aria-valuenow="<?php echo ($promedioEvaluaciones / 5) * 100; ?>" aria-valuemin="0" aria-valuemax="100"></div>
                            </div>
                            <div class="stats-info">
                                <span>Promedio general</span>
                                <span>Escala 1.0 - 5.0</span>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <?php else: ?>
        <!-- Tarjetas específicas para evaluadores (tipo 'E') -->
        <div class="row mb-4">
            <!-- Trabajos Asignados Card -->
            <div class="col-xl-3 col-md-6">
                <div class="card h-100">
                    <div class="stats-card primary">
                        <i class="fas fa-clipboard-list stats-icon"></i>
                        <div class="stats-title">Trabajos Asignados</div>
                        <div class="stats-value"><?php echo $totalTrabajos; ?></div>
                        <div class="stats-progress">
                            <div class="progress">
                                <div class="progress-bar" role="progressbar" style="width: 100%" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100"></div>
                            </div>
                            <div class="stats-info">
                                <span>Total asignados a ti</span>
                                <span><?php echo $totalTrabajos; ?> trabajos</span>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            
            <!-- Trabajos Evaluados Card -->
            <div class="col-xl-3 col-md-6">
                <div class="card h-100">
                    <div class="stats-card success">
                        <i class="fas fa-check-circle stats-icon"></i>
                        <div class="stats-title">Trabajos Evaluados</div>
                        <div class="stats-value"><?php echo $trabajosEvaluados; ?></div>
                        <div class="stats-progress">
                            <div class="progress">
                                <div class="progress-bar" role="progressbar" style="width: <?php echo $completionPercentage; ?>%" aria-valuenow="<?php echo $completionPercentage; ?>" aria-valuemin="0" aria-valuemax="100"></div>
                            </div>
                            <div class="stats-info">
                                <span><?php echo $completionPercentage; ?>% completado</span>
                                <span><?php echo $trabajosEvaluados; ?> de <?php echo $totalTrabajos; ?></span>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            
            <!-- Trabajos Pendientes Card -->
            <div class="col-xl-3 col-md-6">
                <div class="card h-100">
                    <div class="stats-card warning">
                        <i class="fas fa-hourglass-half stats-icon"></i>
                        <div class="stats-title">Pendientes por Evaluar</div>
                        <div class="stats-value"><?php echo $trabajosPendientes; ?></div>
                        <div class="stats-progress">
                            <div class="progress">
                                <div class="progress-bar" role="progressbar" style="width: <?php echo 100 - $completionPercentage; ?>%" aria-valuenow="<?php echo 100 - $completionPercentage; ?>" aria-valuemin="0" aria-valuemax="100"></div>
                            </div>
                            <div class="stats-info">
                                <span><?php echo 100 - $completionPercentage; ?>% restante</span>
                                <span><?php echo $trabajosPendientes; ?> trabajos</span>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            
            <!-- Tiempo Promedio Card -->
            <div class="col-xl-3 col-md-6">
                <div class="card h-100">
                    <div class="stats-card info">
                        <i class="fas fa-clock stats-icon"></i>
                        <div class="stats-title">Tiempo Promedio</div>
                        <div class="stats-value">2.3 días</div>
                        <div class="stats-progress">
                            <div class="progress">
                                <div class="progress-bar" role="progressbar" style="width: 80%" aria-valuenow="80" aria-valuemin="0" aria-valuemax="100"></div>
                            </div>
                            <div class="stats-info">
                                <span>Tu respuesta promedio</span>
                                <span>Meta: 3 días</span>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <!-- Section heading for evaluator -->
        <div class="row mb-4">
            <div class="col-12">
                <div class="section-heading">
                    <h5>
                        <i class="fas fa-tasks me-2" style="color: var(--orange);"></i>
                        Mis Trabajos para Evaluar
                    </h5>
                    <p class="text-muted">Estos son los trabajos científicos asignados a tu evaluación</p>
                </div>
            </div>
        </div>
        <?php endif; ?>
        
        <!-- Múltiples gráficos pequeños -->
        <?php if ($vTipo === "S" || $vTipo === "A"): ?>
        <div class="row mb-4">
            <!-- Estado de Evaluación -->
            <div class="col-lg-4 mb-4">
                <div class="card h-100">
                    <div class="card-header">
                        <h5 class="card-title">
                            <i class="fas fa-chart-pie"></i> Estado de Evaluación
                        </h5>
                    </div>
                    <div class="card-body">
                        <div class="chart-container">
                            <canvas id="evaluationStatusChart" height="200"></canvas>
                        </div>
                    </div>
                </div>
            </div>
            
            <!-- Distribución de Calificaciones -->
            <div class="col-lg-4 mb-4">
                <div class="card h-100">
                    <div class="card-header">
                        <h5 class="card-title">
                            <i class="fas fa-star-half-alt"></i> Distribución de Calificaciones
                        </h5>
                    </div>
                    <div class="card-body">
                        <div class="chart-container">
                            <canvas id="scoreDistributionChart" height="200"></canvas>
                        </div>
                    </div>
                </div>
            </div>
            
            <!-- Progreso Mensual -->
            <div class="col-lg-4 mb-4">
                <div class="card h-100">
                    <div class="card-header">
                        <h5 class="card-title">
                            <i class="fas fa-calendar-check"></i> Evaluaciones por Mes
                        </h5>
                    </div>
                    <div class="card-body">
                        <div class="chart-container">
                            <canvas id="monthlyProgressChart" height="200"></canvas>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        
        <!-- Segunda fila de gráficos -->
        <div class="row mb-4">
            <!-- Evaluadores activos vs total -->
            <div class="col-lg-4 mb-4">
                <div class="card h-100">
                    <div class="card-header">
                        <h5 class="card-title">
                            <i class="fas fa-users"></i> Evaluadores
                        </h5>
                    </div>
                    <div class="card-body">
                        <div class="chart-container">
                            <canvas id="evaluatorsChart" height="200"></canvas>
                        </div>
                        <div class="text-center mt-3">
                            <div class="d-flex justify-content-between">
                                <span><i class="fas fa-circle text-primary"></i> Activos: <?php echo $evaluadoresActivos; ?></span>
                                <span><i class="fas fa-circle text-secondary"></i> Inactivos: <?php echo $evaluadoresInactivos; ?></span>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            
            <!-- Tipos de presentación -->
            <div class="col-lg-8 mb-4">
                <div class="card h-100">
                    <div class="card-header">
                        <h5 class="card-title">
                            <i class="fas fa-award"></i> Tipos de Presentación
                        </h5>
                    </div>
                    <div class="card-body">
                        <div class="chart-container">
                            <canvas id="presentationTypesChart" height="200"></canvas>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <?php endif; ?>
        
        <!-- Charts Row & User Profile -->
        <div class="row mb-4">
            <!-- Progreso por Área -->
            <div class="col-lg-9">
                <div class="card h-100">
                    <div class="card-header">
                        <h5 class="card-title">
                            <i class="fas fa-tasks"></i> Áreas de Trabajos
                        </h5>
                        <div>
                            <button id="expandAllAreas" class="btn btn-sm btn-primary me-2">
                                <i class="fas fa-expand-alt me-1"></i>Expandir Todo
                            </button>
                            <button id="collapseAllAreas" class="btn btn-sm btn-outline-primary">
                                <i class="fas fa-compress-alt me-1"></i>Colapsar Todo
                            </button>
                        </div>
                    </div>
                    <div class="card-body p-0">
                        <?php
                        // Display areas based on user permissions
                        $vAreas = GetFile("tarea", "", "id");
                        if ($vAreas) {
                            while ($vArea = mysqli_fetch_assoc($vAreas)) {
                                if (strstr($vAreasUsuario, $vArea['codigo'])):
                                    $vDiv_Area = "area_" . preg_replace('/[^a-zA-Z0-9_-]/', '_', $vArea['codigo']);
                                    
                                    // Count works in this area - PERSONALIZADO POR TIPO DE USUARIO
                                    $areaCount = 0;
                                    if ($vTipo === 'E') {
                                        // Si es evaluador, contar solo trabajos asignados a este evaluador en esta área
                                        $areaQuery = "SELECT COUNT(*) as count 
                                                     FROM ttrabajo 
                                                     WHERE codigo LIKE '" . $vArea['codigo'] . "%' 
                                                     AND activo = 1 
                                                     AND (evaluador1 = '$vIdUsr' OR evaluador2 = '$vIdUsr' OR evaluador3 = '$vIdUsr')";
                                    } else {
                                        // Si es administrador, contar todos los trabajos de esta área
                                        $areaQuery = "SELECT COUNT(*) as count 
                                                     FROM ttrabajo 
                                                     WHERE codigo LIKE '" . $vArea['codigo'] . "%'";
                                    }

                                    $areaResult = mysqli_query(Activarmysql(), $areaQuery);
                                    if ($areaResult && $row = mysqli_fetch_assoc($areaResult)) {
                                        $areaCount = $row['count'];
                                    }
                        ?>
                        <div class="mb-3">
                            <div class="collapser-header" data-bs-toggle="collapse" data-bs-target="#collapse_<?php echo $vDiv_Area; ?>" aria-expanded="false" aria-controls="collapse_<?php echo $vDiv_Area; ?>">
                                <div>
                                    <h5>
                                        <i class="fas fa-folder me-2"></i>
                                        <span class="badge badge-primary"><?php echo $vArea['codigo']; ?></span> 
                                        <?php echo $vArea['descripcion']; ?>
                                    </h5>
                                </div>
                                <div class="d-flex align-items-center">
                                    <span class="badge badge-success me-3">
                                        <?php if ($vTipo === 'E'): ?>
                                            <?php echo $areaCount; ?> trabajos asignados
                                        <?php else: ?>
                                            <?php echo $areaCount; ?> trabajos
                                        <?php endif; ?>
                                    </span>
                                    <i class="fas fa-chevron-down collapser-icon"></i>
                                </div>
                            </div>
                            
                            <div class="collapse" id="collapse_<?php echo $vDiv_Area; ?>">
                                <div class="collapser-content">
                                    <div class="table-responsive">
                                        <table class="table table-hover">
                                            <thead>
                                                <tr>
                                                    <th>Código</th>
                                                    <th>Título</th>
                                                    <?php if ($vTipo != 'E'): ?>
                                                        <th>Evaluadores</th>
                                                    <?php endif; ?>
                                                    <th class="text-center">Acciones</th>
                                                </tr>
                                            </thead>
                                            <tbody>
                                            <?php
                                            $vWhere = "codigo like '" . $vArea['codigo'] . "%'" . 
                                                    ($vTipo === 'E' ? " and activo='1' and cod_tipo_presentacion_propuesto!='T' and 
                                                                        (evaluador1=" . $vIdEvaluador . " or evaluador2=" . $vIdEvaluador . 
                                                                        " or evaluador3=" . $vIdEvaluador . ")" : "");
                                            
                                            $vTrabajos = GetFile("ttrabajo", $vWhere, "id");
                                            if ($vTrabajos) {
                                                while ($vTrabajo = mysqli_fetch_assoc($vTrabajos)):
                                                    // Determine row status class
                                                    $rowClass = '';
                                                    if ($vTrabajo['activo'] === '0') {
                                                        $rowClass = 'bg-danger bg-opacity-10';
                                                    } else {
                                                        $valores = array(NULL, '0');
                                                        if (($vTrabajo['evaluador1'] != NULL && $vTrabajo['evaluador2'] != NULL && 
                                                            $vTrabajo['evaluador3'] != NULL) && 
                                                            (($vIdEvaluador == $vTrabajo['evaluador1'] && $vTrabajo['calificacion1_fecha'] != NULL) || 
                                                            ($vIdEvaluador == $vTrabajo['evaluador2'] && $vTrabajo['calificacion2_fecha'] != NULL) || 
                                                            ($vIdEvaluador == $vTrabajo['evaluador3'] && $vTrabajo['calificacion3_fecha'] != NULL))) {
                                                            $rowClass = 'bg-success bg-opacity-10';
                                                        }
                                                    }
                                            ?>
                                                <tr class="<?php echo $rowClass; ?>">
                                                    <td>
                                                        <span class="badge badge-primary"><?php echo $vTrabajo['codigo']; ?></span>
                                                    </td>
                                                    <td>
                                                        <?php if ($vTrabajo['cod_tipo_presentacion_propuesto'] === 'T'): ?>
                                                            <a href="../trabajos/<?php echo $vTrabajo['codigo'] . "." . extension($vTrabajo['codigo']); ?>" 
                                                            target="_blank" class="text-decoration-none">
                                                                <?php echo strtoupper($vTrabajo['titulo']); ?>
                                                            </a>
                                                        <?php else: ?>
                                                            <?php echo strtoupper($vTrabajo['titulo']); ?>
                                                        <?php endif; ?>
                                                    </td>
                                                 <?php if ($vTipo != 'E'):
                                                        $valores = array(NULL, '0');
                                                        // Calculate totals
                                                        $CalTotal1 = $vTrabajo['calificacion1_1'] + $vTrabajo['calificacion1_2'] + 
                                                                    $vTrabajo['calificacion1_3'] + $vTrabajo['calificacion1_4'] + 
                                                                    $vTrabajo['calificacion1_5'] + $vTrabajo['calificacion1_6'];
                                                        
                                                        $CalTotal2 = $vTrabajo['calificacion2_1'] + $vTrabajo['calificacion2_2'] + 
                                                                    $vTrabajo['calificacion2_3'] + $vTrabajo['calificacion2_4'] + 
                                                                    $vTrabajo['calificacion2_5'] + $vTrabajo['calificacion2_6'];
                                                        
                                                        $CalTotal3 = $vTrabajo['calificacion3_1'] + $vTrabajo['calificacion3_2'] + 
                                                                    $vTrabajo['calificacion3_3'] + $vTrabajo['calificacion3_4'] + 
                                                                    $vTrabajo['calificacion3_5'] + $vTrabajo['calificacion3_6'];
                                                    ?>
                                                    <td>
                                                        <div class="d-flex flex-column gap-2">
                                                     <!-- Evaluator 1 Card con data-evaluator-id -->
                                                    <div class="evaluator-card <?php echo (!in_array($vTrabajo['calificacion1_fecha'], $valores) ? 'evaluator-completed' : 'evaluator-pending'); ?>" data-evaluator-id="<?php echo $vTrabajo['evaluador1']; ?>" data-index="1">
                                                        <?php 
                                                        $evaluator1_id = $vTrabajo['evaluador1']; 
                                                        $evaluator1 = GetDato("tusuario", "id", $evaluator1_id, "nombre");
                                                        
                                                        // Verificar si existe avatar y construir la URL correctamente
                                                        $evaluator1_avatar = GetDato("tusuario", "id", $evaluator1_id, "avatar");
                                                        
                                                        if (!empty($evaluator1_avatar)) {
                                                            // Ruta física a la imagen
                                                            $avatar_file = "dist/pages/evaluadores/acciones_evaluador/fotos_empleados/" . $evaluator1_avatar;
                                                            // Verificar si el archivo existe para evitar problemas
                                                            $avatar1 = file_exists($avatar_file) ? $avatar_file : "https://ui-avatars.com/api/?name=" . urlencode($evaluator1) . "&background=3970fc&color=ffffff&size=60&rounded=true";
                                                        } else {
                                                            $avatar1 = "https://ui-avatars.com/api/?name=" . urlencode($evaluator1) . "&background=3970fc&color=ffffff&size=60&rounded=true";
                                                        }
                                                        ?>
                                                        <div class="evaluator-avatar">
                                                            <img src="<?php echo $avatar1; ?>" alt="<?php echo $evaluator1; ?>">
                                                        </div>
                                                        <div class="evaluator-info">
                                                            <h6><?php echo $evaluator1; ?></h6>
                                                            <span><?php echo !in_array($vTrabajo['calificacion1_fecha'], $valores) ? 'Completado' : 'Pendiente'; ?></span>
                                                        </div>
                                                        <?php if (!in_array($vTrabajo['calificacion1_fecha'], $valores)): ?>
                                                            <span class="evaluator-status badge-success">
                                                                <?php echo $CalTotal1 . " / " . $vTrabajo['cod_tipo_presentacion_recomendado1']; ?>
                                                            </span>
                                                        <?php endif; ?>
                                                    </div>
                                                    
                                                    <!-- Evaluator 2 Card con data-evaluator-id -->
                                                    <div class="evaluator-card <?php echo (!in_array($vTrabajo['calificacion2_fecha'], $valores) ? 'evaluator-completed' : 'evaluator-pending'); ?>" data-evaluator-id="<?php echo $vTrabajo['evaluador2']; ?>" data-index="2">
                                                        <?php 
                                                        $evaluator2_id = $vTrabajo['evaluador2']; 
                                                        $evaluator2 = GetDato("tusuario", "id", $evaluator2_id, "nombre");
                                                        
                                                        // Verificar si existe avatar y construir la URL correctamente
                                                        $evaluator2_avatar = GetDato("tusuario", "id", $evaluator2_id, "avatar");
                                                        
                                                        if (!empty($evaluator2_avatar)) {
                                                            // Ruta física a la imagen
                                                            $avatar_file = "dist/pages/evaluadores/acciones_evaluador/fotos_empleados/" . $evaluator2_avatar;
                                                            // Verificar si el archivo existe para evitar problemas
                                                            $avatar2 = file_exists($avatar_file) ? $avatar_file : "https://ui-avatars.com/api/?name=" . urlencode($evaluator2) . "&background=3970fc&color=ffffff&size=60&rounded=true";
                                                        } else {
                                                            $avatar2 = "https://ui-avatars.com/api/?name=" . urlencode($evaluator2) . "&background=3970fc&color=ffffff&size=60&rounded=true";
                                                        }
                                                        ?>
                                                        <div class="evaluator-avatar">
                                                            <img src="<?php echo $avatar2; ?>" alt="<?php echo $evaluator2; ?>">
                                                        </div>
                                                        <div class="evaluator-info">
                                                            <h6><?php echo $evaluator2; ?></h6>
                                                            <span><?php echo !in_array($vTrabajo['calificacion2_fecha'], $valores) ? 'Completado' : 'Pendiente'; ?></span>
                                                        </div>
                                                        <?php if (!in_array($vTrabajo['calificacion2_fecha'], $valores)): ?>
                                                            <span class="evaluator-status badge-success">
                                                                <?php echo $CalTotal2 . " / " . $vTrabajo['cod_tipo_presentacion_recomendado2']; ?>
                                                            </span>
                                                        <?php endif; ?>
                                                    </div>
                                                    
                                                    <!-- Evaluator 3 Card con data-evaluator-id -->
                                                    <div class="evaluator-card <?php echo (!in_array($vTrabajo['calificacion3_fecha'], $valores) ? 'evaluator-completed' : 'evaluator-pending'); ?>" data-evaluator-id="<?php echo $vTrabajo['evaluador3']; ?>" data-index="3">
                                                        <?php 
                                                        $evaluator3_id = $vTrabajo['evaluador3']; 
                                                        $evaluator3 = GetDato("tusuario", "id", $evaluator3_id, "nombre");
                                                        
                                                        // Verificar si existe avatar y construir la URL correctamente
                                                        $evaluator3_avatar = GetDato("tusuario", "id", $evaluator3_id, "avatar");
                                                        
                                                        if (!empty($evaluator3_avatar)) {
                                                            // Ruta física a la imagen
                                                            $avatar_file = "dist/pages/evaluadores/acciones_evaluador/fotos_empleados/" . $evaluator3_avatar;
                                                            // Verificar si el archivo existe para evitar problemas
                                                            $avatar3 = file_exists($avatar_file) ? $avatar_file : "https://ui-avatars.com/api/?name=" . urlencode($evaluator3) . "&background=3970fc&color=ffffff&size=60&rounded=true";
                                                        } else {
                                                            $avatar3 = "https://ui-avatars.com/api/?name=" . urlencode($evaluator3) . "&background=3970fc&color=ffffff&size=60&rounded=true";
                                                        }
                                                        ?>
                                                        <div class="evaluator-avatar">
                                                            <img src="<?php echo $avatar3; ?>" alt="<?php echo $evaluator3; ?>">
                                                        </div>
                                                        <div class="evaluator-info">
                                                            <h6><?php echo $evaluator3; ?></h6>
                                                            <span><?php echo !in_array($vTrabajo['calificacion3_fecha'], $valores) ? 'Completado' : 'Pendiente'; ?></span>
                                                        </div>
                                                        <?php if (!in_array($vTrabajo['calificacion3_fecha'], $valores)): ?>
                                                            <span class="evaluator-status badge-success">
                                                                <?php echo $CalTotal3 . " / " . $vTrabajo['cod_tipo_presentacion_recomendado3']; ?>
                                                            </span>
                                                        <?php endif; ?>
                                                    </div>
                                                        </div>
                                                    </td>
                                                    <?php endif; ?>
                                                    
                                                    <td class="text-center">
                                                        <div class="d-flex flex-column align-items-center justify-content-center gap-2">
                                                            <a href="trabajo.php?opc=<?php echo $vTipo . $vTrabajo['codigo'] . "&m=" . md5($vTrabajo['codigo']) . "&U=" . $vIdUsr; ?>" 
                                                                class="btn btn-sm btn-primary" target="_blank">
                                                                <i class="fas fa-eye me-1"></i> Ver
                                                            </a>
                                                            <?php
                                                            if ($vTipo != 'E') {
                                                                $valores = array(NULL, '0');
                                                                if (!in_array($vTrabajo['calificacion1_fecha'], $valores) && 
                                                                    !in_array($vTrabajo['calificacion2_fecha'], $valores) && 
                                                                    !in_array($vTrabajo['calificacion3_fecha'], $valores)) {
                                                                    
                                                                    $CalPromedio = round((($CalTotal1 + $CalTotal2 + $CalTotal3) / 3), 0);
                                                                    if ($vTrabajo['calificacion_promedio'] != $CalPromedio) {
                                                                        UpdateReg("ttrabajo", "calificacion_promedio", $CalPromedio, "id='" . $vTrabajo['id'] . "'");
                                                                    }
                                                                    
                                                                    $vcod_tipo_presentacion_aprobado = ($vTrabajo['cod_tipo_presentacion_recomendado1'] == 
                                                                                                        $vTrabajo['cod_tipo_presentacion_recomendado2'] 
                                                                                                        ? $vTrabajo['cod_tipo_presentacion_recomendado1'] 
                                                                                                        : $vTrabajo['cod_tipo_presentacion_recomendado3']);
                                                                    
                                                                    if ($vTrabajo['cod_tipo_presentacion_aprobado'] != $vcod_tipo_presentacion_aprobado) {
                                                                        UpdateReg("ttrabajo", "cod_tipo_presentacion_aprobado", $vcod_tipo_presentacion_aprobado, 
                                                                                "id='" . $vTrabajo['id'] . "'");
                                                                    }
                                                            ?>
                                                                <div class="final-score-card">
                                                                    <div class="score-title">Calificación Final</div>
                                                                    <div class="score-value"><?php echo $CalPromedio; ?></div>
                                                                    <div class="score-type">
                                                                        <?php echo GetDato("ttipo_presentacion", "codigo", $vcod_tipo_presentacion_aprobado, "descripcion_esp"); ?>
                                                                    </div>
                                                                </div>
                                                            <?php
                                                                }
                                                            }
                                                            ?>
                                                        </div>
                                                    </td>
                                                </tr>
                                            <?php 
                                                endwhile;
                                            }
                                            ?>
                                            </tbody>
                                        </table>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <?php 
                                endif;
                            }
                        } 
                        ?>
                    </div>
                </div>
            </div>
            
            <!-- Sidebar de usuario -->
            <div class="col-lg-3">
                <!-- User Panel Card -->
                <div class="card mb-4">
                    <div class="card-body text-center p-4">
                        <div class="mb-3">
                            <img src="<?php echo $avatarUrl; ?>" class="rounded-circle" alt="User Avatar" style="width: 90px; height: 90px; object-fit: cover;">
                        </div>
                        <h5 class="card-title mb-1"><?php echo getDatUser($_SESSION['usr'], 5); ?></h5>
                        <p class="text-muted mb-3"><?php echo $vTipo === 'S' ? 'Administrador' : ($vTipo === 'A' ? 'Admin. Área' : 'Evaluador'); ?></p>
                        <div class="d-grid">
                            <!-- Botón mejorado de cerrar sesión -->
                            <a href="logout.php" class="btn btn-outline-primary">
                                <i class="fas fa-sign-out-alt me-2"></i>Cerrar Sesión
                            </a>
                        </div>
                    </div>
                </div>
                
                <!-- Recent Evaluations -->
            <!-- Recent Evaluations (Rediseñado) -->
<?php if ($recentEvaluations && mysqli_num_rows($recentEvaluations) > 0): 
    // Reiniciar el puntero del resultado
    mysqli_data_seek($recentEvaluations, 0);
?>
<div class="card">
    <div class="card-header d-flex justify-content-between align-items-center">
        <h5 class="mb-0">
            <?php if ($vTipo === 'E'): ?>
                <i class="fas fa-history text-primary me-2"></i> Mis Evaluaciones Recientes
            <?php else: ?>
                <i class="fas fa-history text-primary me-2"></i> Evaluaciones Recientes
            <?php endif; ?>
        </h5>
        <span class="badge bg-primary"><?php echo mysqli_num_rows($recentEvaluations); ?></span>
    </div>
    <div class="card-body p-0">
        <div class="activity-timeline">
            <?php 
            $now = new DateTime();
            while ($evaluation = mysqli_fetch_assoc($recentEvaluations)): 
                $evalDate = new DateTime($evaluation['last_eval_date']);
                $interval = $now->diff($evalDate);
                
                // Determinar cuánto tiempo ha pasado
                if ($interval->days == 0) {
                    if ($interval->h == 0) {
                        $timeAgo = "Hace " . $interval->i . " minutos";
                    } else {
                        $timeAgo = "Hace " . $interval->h . " horas";
                    }
                } elseif ($interval->days == 1) {
                    $timeAgo = "Ayer";
                } elseif ($interval->days < 7) {
                    $timeAgo = "Hace " . $interval->days . " días";
                } else {
                    $timeAgo = $evalDate->format('d/m/Y H:i:s');
                }
            ?>
            <div class="activity-item">
                <div class="activity-dot">
                    <i class="fas fa-check"></i>
                </div>
                <div class="activity-content">
                    <div class="activity-title">
                        <?php if ($vTipo === 'E'): ?>
                            Has evaluado el trabajo <strong><?php echo htmlspecialchars(substr($evaluation['titulo'], 0, 30)) . (strlen($evaluation['titulo']) > 30 ? '...' : ''); ?></strong>
                        <?php else: ?>
                            <strong><?php echo htmlspecialchars($evaluation['nombre']); ?></strong> evaluó el trabajo <strong><?php echo htmlspecialchars(substr($evaluation['titulo'], 0, 30)) . (strlen($evaluation['titulo']) > 30 ? '...' : ''); ?></strong>
                        <?php endif; ?>
                    </div>
                    <div class="activity-meta">
                        <div class="activity-time">
                            <i class="far fa-clock"></i> <?php echo $timeAgo; ?>
                        </div>
                        <div class="activity-status completed">
                            <i class="fas fa-check-circle"></i> Completada
                        </div>
                    </div>
                </div>
            </div>
            <?php endwhile; ?>
        </div>
        <?php if (mysqli_num_rows($recentEvaluations) > 4): ?>
        <div class="card-footer text-center py-2">
            <a href="#" class="text-decoration-none">
                Ver todas mis evaluaciones <i class="fas fa-arrow-right ms-1"></i>
            </a>
        </div>
        <?php endif; ?>
    </div>
</div>
<?php else: ?>
<div class="card">
    <div class="card-header">
        <h5 class="mb-0">
            <?php if ($vTipo === 'E'): ?>
                <i class="fas fa-history text-primary me-2"></i> Mis Evaluaciones Recientes
            <?php else: ?>
                <i class="fas fa-history text-primary me-2"></i> Evaluaciones Recientes
            <?php endif; ?>
        </h5>
    </div>
    <div class="card-body text-center py-5">
        <div class="empty-state">
            <i class="fas fa-clipboard-list"></i>
            <h6>No hay evaluaciones recientes</h6>
            <p class="text-muted small mb-0">
                <?php if ($vTipo === 'E'): ?>
                    Las evaluaciones que completes aparecerán aquí
                <?php else: ?>
                    Las evaluaciones completadas aparecerán aquí
                <?php endif; ?>
            </p>
        </div>
    </div>
</div>
<?php endif; ?>
    
    <!-- Toast Notification -->
    <div class="position-fixed bottom-0 end-0 p-3" style="z-index: 11">
        <div id="successToast" class="toast" role="alert" aria-live="assertive" aria-atomic="true" data-bs-autohide="true" data-bs-delay="5000">
            <div class="toast-header bg-success text-white">
                <i class="fas fa-check-circle me-2"></i>
                <strong class="me-auto">Sistema Cargado</strong>
                <small>Ahora</small>
                <button type="button" class="btn-close btn-close-white" data-bs-dismiss="toast" aria-label="Close"></button>
            </div>
            <div class="toast-body d-flex align-items-center">
                <div class="toast-icon">
                    <i class="fas fa-check-circle"></i>
                </div>
                <div>
                    <p class="mb-1 fw-bold">¡Portal administrativo listo!</p>
                    <p class="mb-0 text-muted small">Todos los módulos han sido cargados correctamente. Puede comenzar a usar el sistema.</p>
                </div>
            </div>
        </div>
    </div>

 <!-- Modal para perfil de evaluador (Actualizado) -->
<div class="modal fade" id="evaluatorProfileModal" tabindex="-1" aria-labelledby="evaluatorProfileModalLabel" aria-hidden="true">
    <div class="modal-dialog modal-dialog-centered modal-lg">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="evaluatorProfileModalLabel">Ficha del Evaluador</h5>
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
            </div>
            <div class="modal-body" id="evaluatorModalContent">
                <!-- El contenido se cargará dinámicamente desde obtenerevaluador.php -->
                <div class="text-center">
                    <div class="spinner-border text-primary" role="status">
                        <span class="visually-hidden">Cargando...</span>
                    </div>
                    <p class="mt-2">Cargando información del evaluador...</p>
                </div>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cerrar</button>
                <a href="#" id="viewFullProfileBtn" class="btn btn-primary">
                    <i class="fas fa-user me-1"></i>Ver Perfil Completo
                </a>
            </div>
        </div>
    </div>
</div>

    <!-- JavaScript libraries -->
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.9.1/chart.min.js"></script>
    
    <!-- Datos para las gráficas -->
    <script>
        // Exportar datos PHP a JavaScript para los gráficos
        const chartData = {
            areaLabels: <?php echo $chartData['areaLabels']; ?>,
            evaluatedData: <?php echo $chartData['evaluatedData']; ?>,
            pendingData: <?php echo $chartData['pendingData']; ?>,
            evaluationStatus: <?php echo $chartData['evaluationStatus']; ?>,
            evaluationStatusLabels: <?php echo $chartData['evaluationStatusLabels']; ?>,
            scoreDistribution: <?php echo $chartData['scoreDistribution']; ?>,
            scoreDistributionLabels: <?php echo $chartData['scoreDistributionLabels']; ?>,
            monthlyProgress: <?php echo $chartData['monthlyProgress']; ?>,
            monthlyProgressLabels: <?php echo $chartData['monthlyProgressLabels']; ?>,
            presentationTypesLabels: <?php echo $chartData['presentationTypesLabels']; ?>,
            presentationTypesData: <?php echo $chartData['presentationTypesData']; ?>,
            evaluadoresActivos: <?php echo $chartData['evaluadoresActivos']; ?>,
            evaluadoresInactivos: <?php echo $chartData['evaluadoresInactivos']; ?>,
            totalEvaluadores: <?php echo $chartData['totalEvaluadores']; ?>
        };
        
        // Variable global para rastrear si el dashboard ya se cargó previamente
        const dashboardLoaded = <?php echo $dashboardLoaded ? 'true' : 'false'; ?>;
    </script>
    
    <!-- JavaScript personalizado -->
    <script src="assets/js/dashboard.js"></script>
    <!-- Coloca esto justo antes del cierre de </body> -->
<script>
/**
 * Fix inmediato para problemas con modal backdrop
 * Esta solución se ejecuta inmediatamente y no depende del DOMContentLoaded
 */
(function() {
    // Limpiar cualquier backdrop existente al inicio
    document.querySelectorAll('.modal-backdrop').forEach(function(el) {
        el.parentNode.removeChild(el);
    });
    
    // Restablecer estado del body
    document.body.classList.remove('modal-open');
    document.body.style.overflow = '';
    document.body.style.paddingRight = '';
    
    // Función para limpiar backdops
    function cleanupModals() {
        document.querySelectorAll('.modal-backdrop').forEach(function(el) {
            el.parentNode.removeChild(el);
        });
        document.body.classList.remove('modal-open');
        document.body.style.overflow = '';
        document.body.style.paddingRight = '';
    }
    
    // Crear un observador de mutaciones para detectar cambios en el DOM
    // y limpiar backdrops si aparecen residuos después de cerrar un modal
    const observer = new MutationObserver(function(mutations) {
        mutations.forEach(function(mutation) {
            if (mutation.addedNodes.length > 0) {
                // Si se ha añadido un backdrop pero no hay modales visibles
                const backdrops = document.querySelectorAll('.modal-backdrop');
                const visibleModals = document.querySelectorAll('.modal.show');
                
                if (backdrops.length > 0 && visibleModals.length === 0) {
                    cleanupModals();
                }
            }
        });
    });
    
    // Configurar el observador
    observer.observe(document.body, {
        childList: true,
        subtree: true
    });
    
    // Hacer disponible globalmente para uso desde el código
    window.cleanupModalBackdrops = cleanupModals;
    
    // Añadir parches a los métodos de bootstrap cuando esté disponible
    function patchBootstrapModal() {
        if (typeof bootstrap !== 'undefined' && bootstrap.Modal) {
            const originalHide = bootstrap.Modal.prototype.hide;
            bootstrap.Modal.prototype.hide = function() {
                originalHide.call(this);
                setTimeout(cleanupModals, 350);
            };
        } else {
            // Si bootstrap no está disponible todavía, intentar de nuevo
            setTimeout(patchBootstrapModal, 100);
        }
    }
    
    // Intentar parchar Bootstrap Modal
    patchBootstrapModal();
    
    // Mejorar todos los botones que cierran modales
    document.addEventListener('click', function(e) {
        const target = e.target;
        if (target.hasAttribute('data-bs-dismiss') || 
            target.classList.contains('btn-close') ||
            target.closest('[data-bs-dismiss="modal"]')) {
            setTimeout(cleanupModals, 350);
        }
    });
})();
</script>
</body>
</html>