<table class="table-data">
  <thead>
    <tr>
      <th>Código Estudiante</th>
      <th>Nombre Estudiante</th>
      <th>Curso</th>
      <th>Período</th>
      <th>Nota</th>
      <th>Estado Académico</th>
      <th>Programa</th>
      <th>Archivo</th>
      <th>Fecha Subida</th>
      <?php if (isset($_SESSION['UsuarioId']) && $_SESSION['UsuarioId'] == 1): ?>
        <th>Usuario Subió</th>
      <?php endif; ?>
      <th>Observaciones</th>
    </tr>
  </thead> 
  <tbody>
  <?php if (!empty($listado)): ?>
      <?php foreach ($listado as $registro): ?>
        <tr>
          <td><?= htmlspecialchars($registro['CodigoEstudiante'] ?? 'N/A') ?></td>
          <td><?= htmlspecialchars($registro['EstudianteNombre'] ?? 'N/A') ?></td>
          <td>
            <strong><?= htmlspecialchars($registro['CursoNombre'] ?? 'N/A') ?></strong><br>
            <small><?= htmlspecialchars($registro['CursoCodigo'] ?? '') ?></small>
          </td>
          <td><?= htmlspecialchars($registro['Periodo'] ?? 'N/A') ?></td>
          <td><?= htmlspecialchars($registro['Nota'] ?? 'N/A') ?></td>
          <td><?= htmlspecialchars($registro['NombreEstado'] ?? 'N/A') ?></td>
          <td>
            <?= htmlspecialchars($registro['ProgramaNombre'] ?? 'N/A') ?><br>
            <small><?= htmlspecialchars($registro['ProgramaCodigo'] ?? '') ?></small>
          </td>
          <td>
              <?= htmlspecialchars(mb_strimwidth($registro['NombreArchivo'] ?? 'N/A', 0, 20, '...')) ?>
          </td>
          <td>
            <?php 
            $fecha = $registro['FechaSubida'] ?? '';
            echo $fecha ? date('d/m/Y H:i', strtotime($fecha)) : 'N/A';
            ?>
          </td>
          <?php if (isset($_SESSION['UsuarioId']) && $_SESSION['UsuarioId'] == 1): ?>
            <td>
              <?= htmlspecialchars($registro['UsuarioNombre'] ?? '') ?> 
              <?= htmlspecialchars($registro['UsuarioApellidos'] ?? '') ?><br>
              <small><?= htmlspecialchars($registro['Usuario'] ?? 'N/A') ?></small>
            </td>
          <?php endif; ?>
          <td>
            <div class="observaciones-cell" title="<?= htmlspecialchars($registro['Observaciones'] ?? '') ?>">
              <?= htmlspecialchars(mb_strimwidth($registro['Observaciones'] ?? '', 0, 50, '...')) ?>
            </div>
          </td>
        </tr>
      <?php endforeach; ?>
    <?php else: ?>
      <tr>
        <td colspan="11" style="text-align:center; padding: 20px;">
          <em>No se encontraron registros con los filtros aplicados.</em>
        </td>
      </tr>
    <?php endif; ?>
  </tbody>
</table>


<div class="pagination">
    <?php 
    // Verificar que las variables de paginación estén definidas
    $totalPaginas = $totalPaginas ?? 0;
    $pagina = $pagina ?? 1;
    $totalRegistros = $totalRegistros ?? 0;
    
    if ($totalPaginas > 1): 
    ?>
        <?php
        // Configuración de paginación
        $maxPaginas = 5; // Máximo 5 números visibles
        $mitad = floor($maxPaginas / 2); // 2 páginas a cada lado
        
        // Calcular inicio y fin del rango
        $inicio = max(1, $pagina - $mitad);
        $fin = min($totalPaginas, $inicio + $maxPaginas - 1);
        
        // Ajustar inicio si estamos cerca del final
        if ($fin - $inicio < $maxPaginas - 1) {
            $inicio = max(1, $fin - $maxPaginas + 1);
        }
        ?>
        
        <!-- Botón Primera Página -->
        <?php if ($pagina > 1): ?>
            <a href="#" class="pagina-link" data-pagina="1" title="Primera página">
                &laquo;&laquo;
            </a>
        <?php endif; ?>
        
        <!-- Botón Página Anterior -->
        <?php if ($pagina > 1): ?>
            <a href="#" class="pagina-link" data-pagina="<?= $pagina - 1 ?>" title="Página anterior">
                &laquo;
            </a>
        <?php endif; ?>
        
        <!-- Mostrar primera página si no está en el rango -->
        <?php if ($inicio > 1): ?>
            <a href="#" class="pagina-link" data-pagina="1">1</a>
            <?php if ($inicio > 2): ?>
                <span class="pagina-dots">...</span>
            <?php endif; ?>
        <?php endif; ?>
        
        <!-- Páginas en el rango visible -->
        <?php for ($i = $inicio; $i <= $fin; $i++): ?>
            <a href="#" 
               class="pagina-link <?= ($i == $pagina) ? 'active' : '' ?>" 
               data-pagina="<?= $i ?>">
                <?= $i ?>
            </a>
        <?php endfor; ?>
        
        <!-- Mostrar última página si no está en el rango -->
        <?php if ($fin < $totalPaginas): ?>
            <?php if ($fin < $totalPaginas - 1): ?>
                <span class="pagina-dots">...</span>
            <?php endif; ?>
            <a href="#" class="pagina-link" data-pagina="<?= $totalPaginas ?>"><?= $totalPaginas ?></a>
        <?php endif; ?>
        
        <!-- Botón Página Siguiente -->
        <?php if ($pagina < $totalPaginas): ?>
            <a href="#" class="pagina-link" data-pagina="<?= $pagina + 1 ?>" title="Página siguiente">
                &raquo;
            </a>
        <?php endif; ?>
        
        <!-- Botón Última Página -->
        <?php if ($pagina < $totalPaginas): ?>
            <a href="#" class="pagina-link" data-pagina="<?= $totalPaginas ?>" title="Última página">
                &raquo;&raquo;
            </a>
        <?php endif; ?>
        
    <?php endif; ?>
</div>
