<?php
// ═══════════════════════════════════════════════════════════════════
//  modules/coordinador/ficha_estudiante.php
//  Ficha completa del estudiante migrado desde matrícula
// ═══════════════════════════════════════════════════════════════════
require_once __DIR__ . '/../../config/app.php';
require_once __DIR__ . '/../../includes/auth.php';
require_once __DIR__ . '/../../includes/flash.php';
require_once __DIR__ . '/../../includes/functions.php';
requireRol(ROL_COORDINADOR, ROL_ADMIN, ROL_SECRETARIA);

$user      = currentUser();
$db        = getDB();
$pageTitle = 'Ficha del Estudiante';
$idEst     = (int)($_GET['id'] ?? 0);
if (!$idEst) { header('Location: postulaciones.php'); exit; }

// Datos completos
$u = $db->prepare("
    SELECT e.*, u.cedula, u.nombres, u.apellidos, u.email, u.email_personal,
           u.telefono, u.activo, u.created_at AS fecha_registro_sigvp,
           c.nombre AS carrera_nombre, p.nombre AS periodo_nombre,
           me.genero, me.fecha_nacimiento, me.edad, me.lugar_nacimiento,
           me.domicilio, me.numero_hijos AS nhijos_ext, me.tiene_discapacidad,
           me.porcentaje_discapacidad, me.dispositivos_tecnologicos,
           me.acceso_internet, me.foto_carnet, me.numero_matricula
    FROM   estudiantes e
    JOIN   usuarios u     ON u.id_usuario     = e.id_usuario
    JOIN   carreras c     ON c.id_carrera     = e.id_carrera
    LEFT JOIN periodos_academicos p ON p.id_periodo = e.id_periodo_ingreso
    LEFT JOIN mat_estudiantes me   ON me.id_estudiante = e.id_estudiante
    WHERE  e.id_estudiante = :id
");
$u->execute([':id'=>$idEst]); $est = $u->fetch();
if (!$est) { header('Location: postulaciones.php'); exit; }

// Postulación
$post = $db->prepare("SELECT * FROM mat_postulaciones WHERE id_estudiante=:id ORDER BY fecha_postulacion DESC LIMIT 1");
$post->execute([':id'=>$idEst]); $post = $post->fetch();

// Ficha socioeconomica
$ficha = $db->prepare("SELECT * FROM mat_ficha_socioeconomica WHERE id_estudiante=:id LIMIT 1");
$ficha->execute([':id'=>$idEst]); $ficha = $ficha->fetch();

// Documentos
$docs = $db->prepare("SELECT * FROM mat_documentos WHERE id_estudiante=:id ORDER BY tipo_documento");
$docs->execute([':id'=>$idEst]); $docs = $docs->fetchAll();

// Pagos
$pagos = $db->prepare("SELECT * FROM mat_pagos WHERE id_estudiante=:id ORDER BY creado_en DESC");
$pagos->execute([':id'=>$idEst]); $pagos = $pagos->fetchAll();

// Labels de documentos
$docLabels = [
    'doc_cedula'               => '🪪 Cédula de Identidad',
    'doc_titulo'               => '🎓 Título de Bachiller',
    'doc_notas'                => '📊 Record de Notas',
    'doc_carnetdiscapacidad'   => '♿ Carnet de Discapacidad',
    'doc_servicios_basicos_beca'=> '💡 Servicios Básicos',
    'foto_carnet_beca'         => '📷 Foto Carnet',
];

// Ingresos/gastos calculados (si existen)
$totalIngresos = $totalGastos = $balance = null;
if ($ficha) {
    $totalIngresos = (float)$ficha['ingresos_estudiante']+(float)$ficha['ingresos_padre']+(float)$ficha['ingresos_madre']+(float)$ficha['otros_ingresos'];
    $totalGastos   = (float)$ficha['gasto_vivienda']+(float)$ficha['servicios_basicos']+(float)$ficha['gasto_alimentacion']+(float)$ficha['gasto_transporte']+(float)$ficha['gasto_educacion']+(float)$ficha['otros_gastos'];
    $balance       = $totalIngresos - $totalGastos;
}
?>
<?php $paginaActual = 'expedientes'; ?>
<!DOCTYPE html><html lang="es">
<head><?php include __DIR__.'/../../includes/head.php'; ?>
<style>
.ficha-section{background:#161b22;border:1px solid #30363d;border-radius:10px;padding:22px;margin-bottom:18px;}
.ficha-title{font-size:13px;font-weight:600;color:#8b949e;text-transform:uppercase;letter-spacing:.8px;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid #30363d;}
.ficha-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;}
.ficha-item label{font-size:11px;color:#8b949e;display:block;margin-bottom:2px;}
.ficha-item span{font-size:13px;color:#e6edf3;}
.doc-chip{display:inline-flex;align-items:center;gap:6px;background:#21262d;border:1px solid #30363d;border-radius:6px;padding:6px 12px;font-size:12px;color:#e6edf3;text-decoration:none;margin:4px;}
.doc-chip:hover{border-color:#2ea8ff;color:#2ea8ff;}
.money-pos{color:#3dffa0;} .money-neg{color:#ff9d93;} .money-neu{color:#f7b93e;}
.foto-wrap{width:110px;height:130px;border-radius:8px;overflow:hidden;border:2px solid #30363d;background:#21262d;display:flex;align-items:center;justify-content:center;}
.foto-wrap img{width:100%;height:100%;object-fit:cover;}
</style>
</head>
<body>
<?php include __DIR__.'/../../includes/navbar.php'; ?>
<div class="app-shell">
  <?php include __DIR__ . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'includes' . DIRECTORY_SEPARATOR . 'sidebar-coordinador.php'; ?>
  <main class="main-area">

    <!-- Breadcrumb -->
    <div class="mb-3" style="font-size:13px;color:#8b949e;">
      <a href="postulaciones.php" style="color:#2ea8ff;text-decoration:none;">Estudiantes</a>
      <span class="mx-2">›</span> Ficha completa
    </div>

    <!-- Cabecera -->
    <div class="ficha-section d-flex align-items-start gap-4 flex-wrap">
      <!-- Foto -->
      <div class="foto-wrap flex-shrink-0">
        <?php if (!empty($est['foto_carnet'])): ?>
          <img src="<?=UPLOAD_URL?>/<?=htmlspecialchars($est['foto_carnet'])?>"
               onerror="this.src='<?=BASE_URL?>/assets/img/placeholder.jpg'">
        <?php else: ?>
          <i class="fa fa-user" style="font-size:40px;color:#30363d;"></i>
        <?php endif; ?>
      </div>
      <!-- Datos principales -->
      <div class="flex-grow-1">
        <h4 class="mb-1"><?=htmlspecialchars($est['apellidos'].' '.$est['nombres'])?></h4>
        <div class="d-flex flex-wrap gap-3 mb-2" style="font-size:13px;color:#8b949e;">
          <span><i class="fa fa-id-card me-1"></i><?=htmlspecialchars($est['cedula'])?></span>
          <span><i class="fa fa-graduation-cap me-1"></i><?=htmlspecialchars($est['carrera_nombre'])?></span>
          <span><i class="fa fa-calendar me-1"></i><?=htmlspecialchars($est['periodo_nombre']??'—')?></span>
          <span><i class="fa fa-hashtag me-1"></i><?=htmlspecialchars($est['numero_matricula']??$est['codigo_estudiante'])?></span>
        </div>
        <div class="d-flex flex-wrap gap-2">
          <?php if ($est['activo']): ?>
            <span class="badge-estado st-aprobado">Activo en SIGVP</span>
          <?php endif; ?>
          <?php if ($post): ?>
            <span class="badge-estado st-aprobado">Postulación Aprobada</span>
            <?php if($post['nombre_beca']): ?>
              <span class="badge-estado st-postulado"><?=htmlspecialchars($post['nombre_beca'])?></span>
            <?php endif; ?>
          <?php endif; ?>
          <?php if ($est['tiene_discapacidad']==='si'): ?>
            <span class="badge-estado st-calificado">Discapacidad <?=$est['porcentaje_discapacidad']?>%</span>
          <?php endif; ?>
        </div>
      </div>
      <!-- Acciones -->
      <div class="d-flex flex-column gap-2">
        <a href="<?=BASE_URL?>/modules/estudiante/perfil.php" target="_blank"
           class="btn btn-sm btn-outline-secondary"><i class="fa fa-user me-1"></i>Ver perfil</a>
        <a href="postulaciones.php" class="btn btn-sm btn-outline-secondary">
          <i class="fa fa-arrow-left me-1"></i>Regresar</a>
      </div>
    </div>

    <!-- ── DATOS PERSONALES ────────────────────────────────────── -->
    <div class="ficha-section">
      <div class="ficha-title">👤 Datos Personales</div>
      <div class="ficha-row">
        <div class="ficha-item"><label>Género</label><span><?=$est['genero']==='M'?'Masculino':($est['genero']==='F'?'Femenino':'—')?></span></div>
        <div class="ficha-item"><label>Fecha de Nacimiento</label><span><?=formatFecha($est['fecha_nacimiento'])?> (<?=$est['edad']??'—'?> años)</span></div>
        <div class="ficha-item"><label>Lugar de Nacimiento</label><span><?=htmlspecialchars($est['lugar_nacimiento']??'—')?></span></div>
        <div class="ficha-item"><label>Domicilio</label><span><?=htmlspecialchars($est['domicilio']??'—')?></span></div>
        <div class="ficha-item"><label>Número de Hijos</label><span><?=$est['nhijos_ext']??'0'?></span></div>
        <div class="ficha-item"><label>Email Personal</label><span><?=htmlspecialchars($est['email_personal']??$est['email'])?></span></div>
        <div class="ficha-item"><label>Email Institucional</label><span><?=htmlspecialchars($est['email'])?></span></div>
        <div class="ficha-item"><label>Teléfono</label><span><?=htmlspecialchars($est['telefono']??'—')?></span></div>
        <div class="ficha-item"><label>Acceso a Internet</label><span><?=$est['acceso_internet']==='si'?'✅ Sí':'❌ No'?></span></div>
        <div class="ficha-item"><label>Dispositivos</label><span><?=htmlspecialchars($est['dispositivos_tecnologicos']??'—')?></span></div>
      </div>
    </div>

    <!-- ── POSTULACIÓN ─────────────────────────────────────────── -->
    <?php if ($post): ?>
    <div class="ficha-section">
      <div class="ficha-title">📋 Postulación de Matrícula</div>
      <div class="ficha-row">
        <div class="ficha-item"><label>Tipo de Proceso</label><span><?=strtoupper($post['tipo_proceso']??'—')?></span></div>
        <div class="ficha-item"><label>Modalidad</label><span><?=htmlspecialchars($post['modalidad']??'—')?></span></div>
        <div class="ficha-item"><label>Nivel</label><span>Nivel <?=$post['nivel']??'1'?></span></div>
        <div class="ficha-item"><label>Período</label><span><?=htmlspecialchars($post['periodo_lectivo']??'—')?></span></div>
        <div class="ficha-item"><label>Tipo de Beca</label><span style="color:#c792ea;"><?=htmlspecialchars($post['nombre_beca']??'Sin beca')?></span></div>
        <div class="ficha-item"><label>% Beca</label><span><?=$post['porcentaje_beca']??'—'?>%</span></div>
        <div class="ficha-item"><label>Valor Mensual</label><span class="money-pos"><?=$post['valor_mensual']?'$'.number_format((float)$post['valor_mensual'],2):'—'?></span></div>
        <div class="ficha-item"><label>Correo Institucional</label><span><?=htmlspecialchars($post['correo_institucional']??'—')?></span></div>
        <div class="ficha-item"><label>Fecha Postulación</label><span><?=formatFecha($post['fecha_postulacion'],'d/m/Y H:i')?></span></div>
        <div class="ficha-item"><label>Fecha Aprobación</label><span><?=formatFecha($post['fecha_aprobacion'],'d/m/Y H:i')?></span></div>
      </div>
      <?php if($post['observaciones_admin']): ?>
      <div class="mt-3 p-3" style="background:#21262d;border-radius:6px;font-size:13px;">
        <label style="font-size:11px;color:#8b949e;">Observaciones del administrador</label>
        <p class="mb-0 mt-1"><?=nl2br(htmlspecialchars($post['observaciones_admin']))?></p>
      </div>
      <?php endif; ?>
    </div>
    <?php endif; ?>

    <!-- ── FICHA SOCIOECONÓMICA ───────────────────────────────── -->
    <?php if ($ficha): ?>
    <div class="ficha-section">
      <div class="ficha-title">💰 Ficha Socioeconómica</div>
      <div class="row g-4">
        <!-- Situación familiar -->
        <div class="col-md-6">
          <p style="font-size:12px;color:#8b949e;margin-bottom:8px;">SITUACIÓN FAMILIAR</p>
          <div class="ficha-row">
            <div class="ficha-item"><label>Estado Civil</label><span><?=htmlspecialchars($ficha['estado_civil']??'—')?></span></div>
            <div class="ficha-item"><label>Integrantes del Hogar</label><span><?=$ficha['num_integrantes_hogar']?></span></div>
            <div class="ficha-item"><label>Número de Hijos</label><span><?=$ficha['numero_hijos']??0?></span></div>
            <div class="ficha-item"><label>Tipo de Vivienda</label><span><?=ucfirst($ficha['tipo_vivienda'])?></span></div>
            <div class="ficha-item"><label>¿Trabaja?</label><span><?=$ficha['estudiante_trabaja']==='si'?'✅ Sí — '.$ficha['horas_trabajo_semanal'].'h/sem':'❌ No'?></span></div>
          </div>
        </div>
        <!-- Educación previa -->
        <div class="col-md-6">
          <p style="font-size:12px;color:#8b949e;margin-bottom:8px;">EDUCACIÓN PREVIA</p>
          <div class="ficha-row">
            <div class="ficha-item"><label>Carrera de Bachillerato</label><span><?=htmlspecialchars($ficha['carrera_bachillerato']??'—')?></span></div>
            <div class="ficha-item"><label>Promedio Académico</label><span><?=$ficha['promedio_academico']??'—'?></span></div>
            <div class="ficha-item" style="grid-column:1/-1;"><label>Centro Educativo Anterior</label><span><?=htmlspecialchars($ficha['centro_educativo_anterior']??'—')?></span></div>
          </div>
        </div>
        <!-- Ingresos -->
        <div class="col-md-6">
          <p style="font-size:12px;color:#8b949e;margin-bottom:8px;">INGRESOS MENSUALES</p>
          <table style="width:100%;font-size:13px;">
            <tr><td style="color:#8b949e;padding:3px 0;">Estudiante</td><td class="text-end money-pos">$<?=number_format((float)$ficha['ingresos_estudiante'],2)?></td></tr>
            <tr><td style="color:#8b949e;padding:3px 0;">Padre</td><td class="text-end money-pos">$<?=number_format((float)$ficha['ingresos_padre'],2)?></td></tr>
            <tr><td style="color:#8b949e;padding:3px 0;">Madre</td><td class="text-end money-pos">$<?=number_format((float)$ficha['ingresos_madre'],2)?></td></tr>
            <tr><td style="color:#8b949e;padding:3px 0;">Otros</td><td class="text-end money-pos">$<?=number_format((float)$ficha['otros_ingresos'],2)?></td></tr>
            <tr style="border-top:1px solid #30363d;"><td style="font-weight:600;padding-top:6px;">Total ingresos</td><td class="text-end money-pos" style="font-weight:600;padding-top:6px;">$<?=number_format($totalIngresos,2)?></td></tr>
          </table>
        </div>
        <!-- Gastos -->
        <div class="col-md-6">
          <p style="font-size:12px;color:#8b949e;margin-bottom:8px;">GASTOS MENSUALES</p>
          <table style="width:100%;font-size:13px;">
            <tr><td style="color:#8b949e;padding:3px 0;">Vivienda</td><td class="text-end money-neg">$<?=number_format((float)$ficha['gasto_vivienda'],2)?></td></tr>
            <tr><td style="color:#8b949e;padding:3px 0;">Servicios básicos</td><td class="text-end money-neg">$<?=number_format((float)$ficha['servicios_basicos'],2)?></td></tr>
            <tr><td style="color:#8b949e;padding:3px 0;">Alimentación</td><td class="text-end money-neg">$<?=number_format((float)$ficha['gasto_alimentacion'],2)?></td></tr>
            <tr><td style="color:#8b949e;padding:3px 0;">Transporte</td><td class="text-end money-neg">$<?=number_format((float)$ficha['gasto_transporte'],2)?></td></tr>
            <tr><td style="color:#8b949e;padding:3px 0;">Educación</td><td class="text-end money-neg">$<?=number_format((float)$ficha['gasto_educacion'],2)?></td></tr>
            <tr><td style="color:#8b949e;padding:3px 0;">Otros gastos</td><td class="text-end money-neg">$<?=number_format((float)$ficha['otros_gastos'],2)?></td></tr>
            <tr style="border-top:1px solid #30363d;"><td style="font-weight:600;padding-top:6px;">Total gastos</td><td class="text-end money-neg" style="font-weight:600;padding-top:6px;">$<?=number_format($totalGastos,2)?></td></tr>
          </table>
        </div>
        <!-- Balance -->
        <div class="col-12">
          <div class="p-3 text-center" style="background:#21262d;border-radius:8px;">
            <span style="font-size:13px;color:#8b949e;">Balance familiar mensual: </span>
            <strong style="font-size:18px;color:<?=$balance>=0?'#3dffa0':'#ff9d93';?>">
              $<?=number_format(abs($balance),2)?> <?=$balance>=0?'superávit':'déficit'?>
            </strong>
          </div>
        </div>
      </div>
      <?php if($ficha['observaciones_socioeconomicas']): ?>
      <div class="mt-3 p-3" style="background:#21262d;border-radius:6px;font-size:13px;">
        <label style="font-size:11px;color:#8b949e;">Observaciones socioeconómicas</label>
        <p class="mb-0 mt-1"><?=nl2br(htmlspecialchars($ficha['observaciones_socioeconomicas']))?></p>
      </div>
      <?php endif; ?>
    </div>
    <?php else: ?>
    <div class="ficha-section"><div class="ficha-title">💰 Ficha Socioeconómica</div>
      <p style="color:#8b949e;font-size:13px;">No se registró ficha socioeconómica para este estudiante.</p>
    </div>
    <?php endif; ?>

    <!-- ── DOCUMENTOS ─────────────────────────────────────────── -->
    <div class="ficha-section">
      <div class="ficha-title">📁 Documentos subidos</div>
      <?php if (empty($docs)): ?>
        <p style="color:#8b949e;font-size:13px;">Sin documentos registrados.</p>
      <?php else: ?>
        <?php foreach($docs as $doc):
          $label = $docLabels[$doc['tipo_documento']] ?? ucfirst(str_replace('_',' ',$doc['tipo_documento']));
        ?>
        <a class="doc-chip" href="<?=BASE_URL?>/assets/uploads/<?=htmlspecialchars(basename($doc['ruta_archivo']))?>" target="_blank">
          <i class="fa fa-file-pdf"></i>
          <?=htmlspecialchars($label)?><span style="color:#8b949e;font-size:11px;"> — <?=htmlspecialchars($doc['nombre_archivo'])?></span>
        </a>
        <?php endforeach; ?>
      <?php endif; ?>
    </div>

    <!-- ── PAGOS ──────────────────────────────────────────────── -->
    <div class="ficha-section">
      <div class="ficha-title">💳 Pagos registrados</div>
      <?php if (empty($pagos)): ?>
        <p style="color:#8b949e;font-size:13px;">Sin pagos registrados.</p>
      <?php else: ?>
      <table class="table table-borderless mb-0" style="font-size:13px;">
        <thead><tr><th>Concepto</th><th>Monto</th><th>Vencimiento</th><th>Fecha pago</th><th>Estado</th></tr></thead>
        <tbody>
          <?php foreach($pagos as $pago): ?>
          <tr>
            <td><?=htmlspecialchars($pago['concepto'])?></td>
            <td class="money-pos">$<?=number_format((float)$pago['monto'],2)?></td>
            <td style="color:#8b949e;"><?=formatFecha($pago['fecha_vencimiento'])?></td>
            <td style="color:#8b949e;"><?=formatFecha($pago['fecha_pago'])?></td>
            <td><?=badgeEstado($pago['estado'])?></td>
          </tr>
          <?php endforeach; ?>
        </tbody>
      </table>
      <?php endif; ?>
    </div>

  </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>
</body></html>