<?php
require_once __DIR__ . '/../../config/app.php';
require_once __DIR__ . '/../../includes/auth.php';
require_once __DIR__ . '/../../includes/functions.php';
requireRol([ROL_TUTOR_EMPRESA, ROL_ADMIN]);

$user = currentUser(); $db = getDB(); $pageTitle = 'Mis Estudiantes';

$te = $db->prepare("SELECT te.id, te.id_empresa FROM tutores_empresa te WHERE te.id_usuario=:uid AND te.activo=1");
$te->execute([':uid'=>$user['id']]);
$teRows         = $te->fetchAll();
$idTutorEmpresa = (int)($teRows[0]['id'] ?? 0);
$sinEmpresa     = empty($teRows);

$estudiantes = [];
if (!$sinEmpresa) {
    $stEst = $db->prepare("
        SELECT p.id_practica, p.estado, p.horas_requeridas, p.horas_cumplidas,
               p.area_practica, p.cargo_practica, p.fecha_inicio, p.fecha_fin,
               p.nota_empresa_100, p.nota_tutor_empresa,
               CONCAT(u.apellidos,' ',u.nombres) AS estudiante,
               u.email, u.cedula, c.nombre AS carrera,
               em.razon_social AS empresa, pa.nombre AS periodo,
               (SELECT COUNT(*) FROM bitacoras b WHERE b.id_practica=p.id_practica) AS total_bit,
               (SELECT COUNT(*) FROM bitacoras b WHERE b.id_practica=p.id_practica AND b.estado='validada') AS bit_val,
               (SELECT MAX(b.updated_at) FROM bitacoras b WHERE b.id_practica=p.id_practica) AS ultima_bit
        FROM practicas p
        JOIN estudiantes est ON est.id_estudiante=p.id_estudiante
        JOIN usuarios u      ON u.id_usuario=est.id_usuario
        JOIN carreras c      ON c.id_carrera=est.id_carrera
        JOIN empresas em     ON em.id_empresa=p.id_empresa
        JOIN periodos_academicos pa ON pa.id_periodo=p.id_periodo
        WHERE p.id_tutor_empresa = :tid
        ORDER BY p.estado, u.apellidos
    ");
    $stEst->execute([':tid' => $idTutorEmpresa]);
    $estudiantes = $stEst->fetchAll();
} // end if !sinEmpresa
?>
<!DOCTYPE html>
<html lang="es">
<head><?php include __DIR__ . '/../../includes/head.php'; ?>
<link rel="stylesheet" href="<?= BASE_URL ?>/assets/css/sidebar.css">
<link rel="stylesheet" href="<?= BASE_URL ?>/assets/css/sidebar-tutor-empresa.css">
</head>
<body>
<?php include __DIR__ . '/../../includes/navbar.php'; ?>
<div class="app-shell">
  <aside class="sidebar">
    <div class="sidebar-label">Tutor Empresa</div>
    <a href="dashboard.php"><span class="icon"><i class="fa fa-gauge"></i></span> Dashboard</a>

    <div class="sidebar-group g-practicas">
      <span class="sg-label"><i class="fa fa-briefcase me-1"></i>Prácticas</span>
      <a href="mis_estudiantes.php" class="active"><span class="icon"><i class="fa fa-users"></i></span> Mis Estudiantes</a>
      <a href="bitacoras.php"><span class="icon"><i class="fa fa-book-open"></i></span> Bitácoras</a>
    </div>


    <!-- Calificación — Ámbar -->
    <div class="sidebar-group g-calificacion">
      <span class="sg-label"><i class="fa fa-star me-1"></i>Calificación</span>
      <a href="calificacion.php"><span class="icon"><i class="fa fa-star"></i></span> Calificar</a>
    </div>

    <!-- Cuenta — Neutro -->
    <div class="sidebar-group g-cuenta">
      <span class="sg-label"><i class="fa fa-user me-1"></i>Cuenta</span>
      <a href="<?= BASE_URL ?>/auth/cambiar_password.php"><span class="icon"><i class="fa fa-lock"></i></span> Contraseña</a>
    </div>

    <div class="sidebar-sep"></div>
    <a href="<?= BASE_URL ?>/auth/logout.php"><span class="icon"><i class="fa fa-right-from-bracket"></i></span> Salir</a>
  </aside>
  <main class="main-area">
    <div class="page-header">
      <h4><i class="fa fa-users me-2" style="color:var(--accent);"></i>Mis Estudiantes</h4>
      <p><?= $sinEmpresa ? 'Panel del supervisor de empresa' : count($estudiantes) . ' practicante(s) asignado(s) a tu empresa' ?></p>
    </div>

    <?php if ($sinEmpresa): ?>
    <!-- ── Mensaje profesional: sin empresa asignada ── -->
    <div style="max-width:560px;margin:60px auto;text-align:center;">
      <div style="width:80px;height:80px;border-radius:50%;background:#1a2a3a;border:2px solid #2ea8ff44;
                  display:flex;align-items:center;justify-content:center;margin:0 auto 24px;">
        <i class="fa fa-building" style="font-size:2rem;color:#2ea8ff66;"></i>
      </div>
      <h5 style="font-size:18px;font-weight:700;margin-bottom:10px;">Perfil en proceso de activación</h5>
      <p style="color:#8b949e;font-size:14px;line-height:1.7;margin-bottom:24px;">
        Tu cuenta ha sido creada correctamente, pero aún no has sido vinculado a una empresa en el sistema.<br>
        El coordinador académico completará esta asignación en breve.
      </p>
      <div style="background:#1a2332;border:1px solid #2ea8ff33;border-radius:12px;padding:20px 24px;text-align:left;font-size:13px;">
        <div style="font-size:11px;color:#7cb9e8;text-transform:uppercase;letter-spacing:.6px;margin-bottom:12px;">
          <i class="fa fa-circle-info me-1"></i> ¿Qué puedes hacer mientras tanto?
        </div>
        <div style="display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;color:#c9d1d9;">
          <i class="fa fa-check-circle" style="color:#3dffa0;margin-top:2px;flex-shrink:0;"></i>
          <span>Verifica que tu correo electrónico sea correcto en tu perfil.</span>
        </div>
        <div style="display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;color:#c9d1d9;">
          <i class="fa fa-check-circle" style="color:#3dffa0;margin-top:2px;flex-shrink:0;"></i>
          <span>Cambia tu contraseña si aún usas la inicial (tu cédula).</span>
        </div>
        <div style="display:flex;align-items:flex-start;gap:10px;color:#c9d1d9;">
          <i class="fa fa-check-circle" style="color:#3dffa0;margin-top:2px;flex-shrink:0;"></i>
          <span>Contacta al coordinador académico si ya deberías tener practicantes asignados.</span>
        </div>
      </div>
      <a href="<?= BASE_URL ?>/auth/cambiar_password.php" class="btn btn-outline-secondary mt-4" style="font-size:13px;">
        <i class="fa fa-lock me-2"></i>Cambiar contraseña
      </a>
    </div>

    <?php else: ?>
    <div class="tbl-wrap">
      <table class="table table-borderless mb-0" style="font-size:12px;">
        <thead>
          <tr>
            <th>Estudiante</th><th>Carrera</th><th>Área / Cargo</th>
            <th style="text-align:center;">Bitácoras</th>
            <th style="text-align:center;">Horas</th>
            <th>Última bitácora</th>
            <th>Estado</th>
            <th style="text-align:center;">Mi nota</th>
            <th></th>
          </tr>
        </thead>
        <tbody>
          <?php if(empty($estudiantes)): ?>
          <tr><td colspan="9" class="text-center text-muted py-5">Sin practicantes registrados.</td></tr>
          <?php else: foreach($estudiantes as $r):
            $pct = $r['horas_requeridas']>0 ? min(100,round($r['horas_cumplidas']/$r['horas_requeridas']*100)) : 0;
            $pc  = $pct>=80?'var(--green)':($pct>=40?'var(--yellow)':'var(--red)');
          ?>
          <tr>
            <td>
              <strong><?= htmlspecialchars($r['estudiante']) ?></strong>
              <div style="font-size:10px;color:var(--text-2);font-family:monospace;"><?= htmlspecialchars($r['cedula']) ?></div>
              <div style="font-size:10px;color:var(--text-2);"><?= htmlspecialchars($r['email']) ?></div>
            </td>
            <td style="color:var(--text-2);"><?= htmlspecialchars($r['carrera']) ?></td>
            <td>
              <div><?= htmlspecialchars($r['area_practica']??'—') ?></div>
              <div style="font-size:10px;color:var(--text-2);"><?= htmlspecialchars($r['cargo_practica']??'') ?></div>
            </td>
            <td style="text-align:center;">
              <span style="font-weight:700;color:var(--green);"><?= $r['bit_val'] ?></span>
              <span style="color:var(--text-2);">/<?= $r['total_bit'] ?></span>
            </td>
            <td style="text-align:center;min-width:100px;">
              <div style="display:flex;align-items:center;gap:4px;">
                <div style="flex:1;background:var(--border);border-radius:3px;height:5px;">
                  <div style="width:<?= $pct ?>%;height:5px;border-radius:3px;background:<?= $pc ?>;"></div>
                </div>
                <span style="font-size:10px;color:<?= $pc ?>;"><?= $pct ?>%</span>
              </div>
              <div style="font-size:10px;color:var(--text-2);"><?= $r['horas_cumplidas'] ?>/<?= $r['horas_requeridas'] ?>h</div>
            </td>
            <td style="color:var(--text-2);">
              <?= $r['ultima_bit'] ? date('d/m/Y', strtotime($r['ultima_bit'])) : '—' ?>
            </td>
            <td><?= badgeEstado($r['estado']) ?></td>
            <td style="text-align:center;">
              <?php if($r['nota_empresa_100'] !== null): ?>
              <span style="font-size:16px;font-weight:800;color:<?= $r['nota_empresa_100']>=60?'var(--green)':'var(--red)' ?>;">
                <?= number_format($r['nota_empresa_100'],1) ?>
              </span>
              <div style="font-size:9px;color:var(--text-2);">/100</div>
              <?php else: ?>
              <span style="font-size:10px;color:#ec4899;">Sin nota</span>
              <?php endif; ?>
            </td>
            <td>
              <a href="calificacion.php?id=<?= $r['id_practica'] ?>" class="btn btn-sm"
                 style="background:#ec4899;color:#fff;border:none;font-size:11px;">
                <i class="fa fa-star me-1"></i><?= $r['nota_empresa_100']!==null?'Editar':'Calificar' ?>
              </a>
            </td>
          </tr>
          <?php endforeach; endif; ?>
        </tbody>
      </table>
    </div>
    <?php endif; // sinEmpresa ?>
  </main>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.3/js/bootstrap.bundle.min.js"></script>
<script>var BASE_URL='<?= BASE_URL ?>';</script>
<script src="<?= BASE_URL ?>/assets/js/sigvp.js"></script>
</body></html>