<?php
require_once __DIR__ . '/../../config/app.php';
require_once __DIR__ . '/../../config/onedrive.php';
require_once __DIR__ . '/../../includes/OneDriveStorage.php';
require_once __DIR__ . '/../../includes/auth.php';
require_once __DIR__ . '/../../includes/functions.php';
require_once __DIR__ . '/../../includes/flash.php';
requireRol(ROL_ESTUDIANTE);

$user      = currentUser();
$db        = getDB();
$pageTitle = 'Mis Documentos PPP';
$idInst    = instId();

// ── Datos del instituto según el token del usuario en sesión ────────
$instRow = $db->prepare("SELECT nombre, logo, ciudad, ruc, nombre_rector, email_contacto FROM institutos WHERE id_instituto = :id LIMIT 1");
$instRow->execute([':id' => $idInst]);
$instData    = $instRow->fetch() ?: [];
$instNombreI = $instData['nombre'] ?? 'Instituto Superior';
$instLogoUrl = !empty($instData['logo']) ? BASE_URL . '/uploads/institutos/' . $instData['logo'] : null;

// ── Datos completos del estudiante ────────────────────────────────
$est = $db->prepare("
    SELECT u.nombres, u.apellidos, u.cedula, u.telefono, u.email,
           u.email_personal,
           e.id_estudiante, e.codigo_estudiante, e.semestre_actual,
           c.nombre AS carrera,
           p.nombre AS periodo,
           me.genero, me.fecha_nacimiento, me.edad, me.domicilio,
           me.lugar_nacimiento, me.foto_carnet AS est_foto,
           -- Práctica activa
           pr.id_practica, pr.fecha_inicio, pr.fecha_fin,
           pr.area_practica, pr.cargo_practica,
           pr.horas_requeridas, pr.horas_cumplidas,
           pr.nombre_tutor_empresa, pr.email_tutor_empresa,
           pr.telefono_tutor_empresa,
           -- Empresa
           em.razon_social AS empresa, em.ruc AS emp_ruc,
           em.direccion AS emp_dir, em.canton AS emp_ciudad,
           em.telefono AS emp_tel, em.email_contacto AS emp_email,
           em.nombre_representante AS emp_rep, em.cargo_representante AS emp_rep_cargo,
           -- Tutor académico / coordinador
           CONCAT(uta.apellidos,' ',uta.nombres) AS tutor_academico,
           uta.cedula AS ta_cedula, uta.email AS ta_email,
           -- Tutor empresa (desde tutores table)
           CONCAT(ute.apellidos,' ',ute.nombres) AS tutor_empresa_nombre,
           ute.cedula AS te_cedula, ute.email AS te_email,
           tt.especialidad AS te_especialidad
    FROM   usuarios u
    JOIN   estudiantes e    ON e.id_usuario    = u.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
    LEFT JOIN practicas pr           ON pr.id_estudiante = e.id_estudiante
                                    AND pr.estado NOT IN ('rechazado','borrador')
    LEFT JOIN empresas em            ON em.id_empresa   = pr.id_empresa
    LEFT JOIN coordinadores co       ON co.id_coordinador = pr.id_coordinador
    LEFT JOIN usuarios uta           ON uta.id_usuario  = co.id_usuario
    LEFT JOIN tutores tt             ON tt.id_tutor     = pr.id_tutor
    LEFT JOIN usuarios ute           ON ute.id_usuario  = tt.id_usuario
    WHERE  u.id_usuario = :id
    ORDER BY pr.created_at DESC
    LIMIT 1
");
$est->execute([':id' => $user['id']]);
$d = $est->fetch() ?: [];

// ── Datos de la ficha PPP (estado de firma) ───────────────────────────────
$fichaData = ['ficha_estado'=>'no_enviada','ficha_doc_est'=>null,'ficha_doc_final'=>null,'id_practica'=>null];
if (!empty($d['id_estudiante'])) {
    $stFicha = $db->prepare("
        SELECT id_practica, ficha_estado, ficha_doc_est, ficha_doc_final
        FROM practicas
        WHERE id_estudiante = :ide
          AND estado NOT IN ('rechazado','borrador')
        ORDER BY created_at DESC LIMIT 1
    ");
    $stFicha->execute([':ide' => $d['id_estudiante']]);
    $fichaRow = $stFicha->fetch();
    if ($fichaRow) $fichaData = $fichaRow;
}

// ── POST: Estudiante sube ficha firmada ───────────────────────────────────
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['accion_ficha'])) {
    $idPracFicha = (int)($fichaData['id_practica'] ?? 0);
    if ($idPracFicha && $fichaData['ficha_estado'] === 'enviada') {
        if (isset($_FILES['ficha_firmada']) && $_FILES['ficha_firmada']['error'] === UPLOAD_ERR_OK) {
            $ext = strtolower(pathinfo($_FILES['ficha_firmada']['name'], PATHINFO_EXTENSION));
            if (in_array($ext, ['pdf','jpg','jpeg','png'])) {
                $nombre = 'ficha_est_' . $idPracFicha . '_' . time() . '.' . $ext;
                try {
                    $rutaOD = OneDriveStorage::upload(
                        $_FILES['ficha_firmada']['tmp_name'],
                        'fichas_ppp',
                        $nombre,
                        (string)$idPracFicha,
                        $idInst
                    );
                    $db->prepare("UPDATE practicas SET ficha_estado='firmada_est', ficha_doc_est=:doc
                                  WHERE id_practica=:id")
                       ->execute([':doc' => $rutaOD, ':id' => $idPracFicha]);
                    flashSet('ok', '✅ Ficha firmada enviada. El coordinador la revisará.');
                } catch(Exception $e) {
                    flashSet('err', '❌ Error al subir a OneDrive: ' . $e->getMessage());
                }
            } else {
                flashSet('err', '❌ Solo se permiten archivos PDF, JPG o PNG.');
            }
        } else {
            flashSet('err', '❌ Selecciona un archivo.');
        }
    } else {
        flashSet('err', '❌ No puedes subir la ficha en este momento.');
    }
    header('Location: certificado.php');
    exit;
}

// ── Certificados emitidos ─────────────────────────────────────────
$certs = [];
if (!empty($d['id_estudiante'])) {
    $q = $db->prepare("
        SELECT c.id_certificado AS id_cert_aux, c.codigo_qr, c.tipo, c.vigente, c.fecha_emision,
               c.url_verificacion, c.firmado,
               c.archivo_pdf_firmado,
               c.fecha_firma,
               pr.fecha_inicio, pr.fecha_fin, pr.horas_cumplidas,
               pr.horas_requeridas, pr.area_practica, pr.nota_final,
               pr.modalidad,
               COALESCE(em.razon_social, pr.emp_nueva_nombre) AS empresa,
               COALESCE(em.canton, pr.emp_nueva_canton) AS canton,
               pe.nombre AS periodo,
               CONCAT(uf.apellidos,' ',uf.nombres) AS emitido_por
        FROM   certificados c
        JOIN   practicas pr         ON pr.id_practica   = c.id_practica
        LEFT JOIN empresas em       ON em.id_empresa     = pr.id_empresa
        JOIN   periodos_academicos pe ON pe.id_periodo   = pr.id_periodo
        LEFT JOIN usuarios uf       ON uf.id_usuario     = c.firmado_por
        WHERE  pr.id_estudiante = :ide
        ORDER BY c.fecha_emision DESC
    ");
    $q->execute([':ide' => $d['id_estudiante']]);
    $certs = $q->fetchAll();
}

// ── Detectar si el estudiante es de modalidad convalidación ────────────────
$esConval = false;
if (!empty($d['id_estudiante'])) {
    // Revisar desde la práctica activa
    $stMod = $db->prepare("
        SELECT pr.modalidad FROM practicas pr
        WHERE  pr.id_estudiante = :e
        ORDER  BY pr.id_practica DESC LIMIT 1
    ");
    $stMod->execute([':e' => $d['id_estudiante']]);
    $modRow = $stMod->fetch();
    if (($modRow['modalidad'] ?? '') === 'convalidacion') {
        $esConval = true;
    } else {
        // También verificar en tabla convalidaciones
        $stCv2 = $db->prepare("
            SELECT COUNT(*) FROM convalidaciones cv
            JOIN practicas pr ON pr.id_practica = cv.id_practica
            WHERE cv.id_estudiante = :e
        ");
        $stCv2->execute([':e' => $d['id_estudiante']]);
        $esConval = (int)$stCv2->fetchColumn() > 0;
    }
}

// ── Helpers ────────────────────────────────────────────────────────
function v(string $key, array $d, string $def = '_______________'): string {
    $v = trim($d[$key] ?? '');
    return $v !== '' ? htmlspecialchars($v) : "<span style='color:#aaa;font-style:italic;'>$def</span>";
}
function fe(?string $f): string {
    if (!$f) return '___/___/______';
    try { return (new DateTime($f))->format('d/m/Y'); } catch(Exception){ return $f; }
}
// ── Rector desde configuracion_institucional ──────────────────────
$cfgStmt = $db->prepare("SELECT clave, valor FROM configuracion_institucional WHERE id_instituto = :id");
$cfgStmt->execute([':id' => $idInst]);
$cfgRows = $cfgStmt->fetchAll(PDO::FETCH_KEY_PAIR);
// Rector: prioridad → configuracion_institucional, luego institutos.nombre_rector
$rectorNombre = htmlspecialchars(
    (!empty($cfgRows['nombre_rector']) ? $cfgRows['nombre_rector'] : null)
    ?? (!empty($instData['nombre_rector']) ? $instData['nombre_rector'] : null)
    ?? 'Rector/a'
);
$rectorCedula = htmlspecialchars($cfgRows['cedula_rector'] ?? '');
$rectorCargo  = htmlspecialchars($cfgRows['cargo_rector']  ?? ('Rector del ' . $instNombreI));
$rectorUpper  = strtoupper($rectorNombre);

// Gestor PPP y Coordinador desde configuracion_institucional
$gestorNombre = htmlspecialchars($cfgRows['nombre_gestor_ppp'] ?? '');
$gestorCedula = htmlspecialchars($cfgRows['cedula_gestor_ppp'] ?? '');
$gestorCargo  = htmlspecialchars($cfgRows['cargo_gestor_ppp']  ?? 'Gestor de Prácticas Pre-Profesionales');
$coordNombre  = htmlspecialchars($cfgRows['nombre_coordinador'] ?? '');
$coordCedula  = htmlspecialchars($cfgRows['cedula_coordinador'] ?? '');
$coordCargo   = htmlspecialchars($cfgRows['cargo_coordinador']  ?? 'Coordinador/a de Prácticas Pre Profesionales');
$horasMinimas = htmlspecialchars($cfgRows['horas_minimas_ppp']  ?? '240');

$hoy = date('d/m/Y');
$ciudad = trim(($d['emp_ciudad'] ?? '') ?: 'Guayaquil');
$nEst   = htmlspecialchars(strtoupper(($d['apellidos']??'').' '.($d['nombres']??'')));
$nEstNorm = htmlspecialchars(($d['nombres']??'').' '.($d['apellidos']??''));
$semestre = ($d['semestre_actual'] ?? '') ? ordinal((int)$d['semestre_actual']) : '___';
function ordinal(int $n): string {
    return $n.'°';
}
$carrera  = htmlspecialchars($d['carrera'] ?? '___');
$cedula   = htmlspecialchars($d['cedula']  ?? '___');
$empresa  = htmlspecialchars(strtoupper($d['empresa'] ?? '___'));
$empresaN = htmlspecialchars($d['empresa'] ?? '___');
$area     = htmlspecialchars($d['area_practica'] ?? '___');
$cargo    = htmlspecialchars($d['cargo_practica'] ?? 'Practicante');
$empRuc   = htmlspecialchars($d['emp_ruc']  ?? '___');
$empDir   = htmlspecialchars($d['emp_dir']  ?? '___');
$empRep   = htmlspecialchars(strtoupper($d['emp_rep'] ?? ($d['nombre_tutor_empresa'] ?? '___')));
$empRepC  = htmlspecialchars($d['emp_rep_cargo'] ?? 'Representante Legal');
$empTel   = htmlspecialchars($d['emp_tel']  ?? '___');
$empEmail = htmlspecialchars($d['emp_email'] ?? '___');
$tuAc     = htmlspecialchars(strtoupper($d['tutor_academico'] ?? '___'));
$tuAcCed  = htmlspecialchars($d['ta_cedula']  ?? '___');
$tuAcEmail= htmlspecialchars($d['ta_email']   ?? '___');
$tuEm     = htmlspecialchars(strtoupper($d['tutor_empresa_nombre'] ?? ($d['nombre_tutor_empresa'] ?? '___')));
$tuEmCed  = htmlspecialchars($d['te_cedula']  ?? '___');
$tuEmEmail= htmlspecialchars($d['te_email'] ?: ($d['email_tutor_empresa'] ?? '___'));
$fIni     = fe($d['fecha_inicio'] ?? null);
$fFin     = fe($d['fecha_fin']    ?? null);
// Horas: desde la práctica activa; si no hay, usar el mínimo configurado por el instituto
$horas    = htmlspecialchars($d['horas_requeridas'] ?? $horasMinimas ?? '240');
$tel      = htmlspecialchars($d['telefono'] ?? '___');
$emailEst = htmlspecialchars($d['email']    ?? '___');

// ── Foto carnet del estudiante ────────────────────────────────────────────
$fotoEstUrl = '';
$fotoRaw = trim($d['est_foto'] ?? '');
if ($fotoRaw !== '') {
    if (OneDriveStorage::esOneDrive($fotoRaw)) {
        try { $fotoEstUrl = OneDriveStorage::getDownloadUrl($fotoRaw); } catch(Throwable) {}
    } else {
        $fotoEstUrl = BASE_URL . '/uploads/mat_estudiantes/' . ltrim($fotoRaw, '/');
    }
}
$fotoHtml = $fotoEstUrl
    ? '<img src="'.htmlspecialchars($fotoEstUrl).'" alt="Foto estudiante"
         style="width:90px;height:110px;object-fit:cover;border:1.5px solid #1a5276;border-radius:3px;display:block;"
         onerror="this.style.display=\'none\';this.nextElementSibling.style.display=\'flex\';">
       <div style="display:none;width:90px;height:110px;border:1.5px dashed #aaa;align-items:center;
         justify-content:center;font-size:9pt;color:#aaa;text-align:center;border-radius:3px;">Foto</div>'
    : '<div style="width:90px;height:110px;border:1.5px dashed #1a5276;display:flex;align-items:center;
        justify-content:center;font-size:9pt;color:#1a5276;text-align:center;border-radius:3px;">FOTO<br>ESTUDIANTE</div>';

$tipoLabel = [
    'completado' => 'Aprobación PPP',
    'horas'      => 'Horas cumplidas',
    'aprobacion' => 'Aprobación',
];
?>
<?php $paginaActual = 'certificado'; ?>
<!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-estudiante.css">

<style>
/* ── Tarjetas de documentos ── */
.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-bottom:32px;}
.doc-card{background:#161b22;border:1px solid #30363d;border-radius:12px;overflow:hidden;
  display:flex;flex-direction:column;transition:border-color .2s;}
.doc-card:hover{border-color:#2ea8ff55;}
.doc-card-head{padding:14px 16px;border-bottom:1px solid #30363d;display:flex;align-items:center;gap:10px;}
.doc-num{width:36px;height:36px;border-radius:8px;background:#2ea8ff22;color:#2ea8ff;
  border:1px solid #2ea8ff44;display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:700;flex-shrink:0;font-family:monospace;}
.doc-card-body{padding:12px 16px;flex:1;font-size:12px;color:#8b949e;line-height:1.5;}
.doc-card-foot{padding:10px 16px;border-top:1px solid #30363d;}
.btn-doc{display:block;width:100%;padding:8px;border-radius:7px;font-size:12px;
  font-weight:700;text-align:center;cursor:pointer;border:none;text-decoration:none;
  background:#2ea8ff22;color:#2ea8ff;border:1px solid #2ea8ff44;}
.btn-doc:hover{background:#2ea8ff33;color:#2ea8ff;}
/* ── Certificados ── */
.cert-card{background:#161b22;border:1px solid #30363d;border-radius:12px;overflow:hidden;margin-bottom:14px;}
.cert-head{padding:14px 18px;border-bottom:1px solid #30363d;display:flex;align-items:center;gap:12px;}
.cert-body{padding:14px 18px;}
.cert-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.cf label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:#8b949e;display:block;margin-bottom:2px;}
.cf span{font-size:13px;color:#e6edf3;}
.qr-tag{font-family:monospace;font-size:11px;color:#c792ea;background:#21262d;
  border:1px solid #30363d;border-radius:6px;padding:6px 10px;margin-top:10px;word-break:break-all;}
.cert-actions{padding:12px 18px;border-top:1px solid #30363d;display:flex;gap:8px;flex-wrap:wrap;}
.btn-sm-cert{padding:6px 13px;border-radius:7px;font-size:12px;font-weight:600;
  cursor:pointer;border:none;text-decoration:none;display:inline-flex;align-items:center;gap:5px;}
.btn-v{background:#2ea8ff22;color:#2ea8ff;border:1px solid #2ea8ff44;}
.btn-p{background:#3dffa022;color:#3dffa0;border:1px solid #3dffa044;}
/* ── Formulario imprimible ── */
.form-print-wrap{display:none;}
.section-label{font-size:11px;font-weight:700;color:#8b949e;text-transform:uppercase;
  letter-spacing:.7px;border-bottom:1px solid #30363d;padding-bottom:6px;margin:20px 0 14px;}
@media print{
  body{background:#fff!important;color:#000!important;}
  .no-print{display:none!important;}
  .form-print-wrap{display:block!important;}
  .page-header,.sidebar,.navbar{display:none!important;}
  .app-shell{display:block!important;}
  .main-area{padding:0!important;margin:0!important;}
}
/* ── Formulario HTML imprimible ── */
.ppp-doc{font-family:Arial,sans-serif;font-size:10pt;color:#000;padding:20mm 18mm;min-height:297mm;}
.ppp-logo-row{display:flex;align-items:center;gap:14px;margin-bottom:18px;}
.ppp-logo-box{width:80px;height:55px;border:1px solid #1a5276;border-radius:4px;
  display:flex;align-items:center;justify-content:center;font-size:9px;color:#1a5276;font-weight:700;text-align:center;}
.ppp-inst{font-size:11pt;font-weight:700;color:#1a5276;}
.ppp-sub{font-size:9pt;color:#555;margin-top:2px;}
.ppp-title{font-size:12pt;font-weight:700;text-align:center;text-transform:uppercase;
  border-bottom:2px solid #1a5276;padding-bottom:6px;margin:14px 0 16px;color:#1a5276;}
.ppp-field{margin-bottom:10px;}
.ppp-field .lbl{font-size:8.5pt;font-weight:700;color:#1a5276;margin-bottom:2px;}
.ppp-field .val{font-size:10pt;border-bottom:1px solid #888;padding:2px 4px;min-height:20px;}
.ppp-table{width:100%;border-collapse:collapse;font-size:9.5pt;margin:12px 0;}
.ppp-table th{background:#1a5276;color:#fff;padding:5px 8px;text-align:left;}
.ppp-table td{border:1px solid #aaa;padding:5px 8px;vertical-align:top;}
.ppp-table td.check{text-align:center;width:40px;}
.ppp-firma-row{display:flex;justify-content:space-around;margin-top:40px;}
.ppp-firma{text-align:center;width:40%;}
.ppp-firma-line{border-top:1px solid #000;margin-bottom:4px;}
.ppp-firma small{font-size:8pt;color:#555;}
.ppp-nota{font-size:8.5pt;background:#f0f8ff;border-left:3px solid #1a5276;
  padding:6px 10px;margin:12px 0;}
</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-estudiante.php'; ?>

  <main class="main-area">
    <!-- Vista normal (no imprimir) -->
    <div class="no-print">
      <div class="page-header">
        <h4><i class="fa fa-folder-open me-2" style="color:#f7b93e;"></i>Documentos de Prácticas Pre Profesionales</h4>
        <p>Formularios oficiales pre-llenados con tus datos — descárgalos como PDF directamente</p>
      </div>

      <!-- Instrucción -->
      <div class="mb-3 p-3" style="background:#2ea8ff11;border:1px solid #2ea8ff33;border-radius:8px;font-size:13px;color:#8b949e;">
        <i class="fa fa-circle-info me-2" style="color:#2ea8ff;"></i>
        <strong style="color:#e6edf3;">¿Cómo descargar?</strong>
        Haz clic en <strong>📄 Ver / Imprimir PDF</strong> en el documento que necesites
        → se abre en pantalla completa → presiona <kbd>Ctrl+P</kbd> → selecciona <em>Guardar como PDF</em>.
      </div>

      <!-- ══ CERTIFICADOS EMITIDOS ══ -->
      <div class="section-label"><i class="fa fa-certificate me-2" style="color:#f7b93e;"></i>Certificados Oficiales PPP</div>
      <?php if (!empty($certs)): ?>
      <?php foreach ($certs as $c):
        $vigente = (bool)$c['vigente'];
        $verUrl  = BASE_URL . '/verificar_cert.php?codigo=' . urlencode($c['codigo_qr']);
      ?>
      <div class="cert-card">
        <div class="cert-head">
          <div style="width:40px;height:40px;border-radius:9px;background:#f7b93e22;color:#f7b93e;
               border:1px solid #f7b93e44;display:flex;align-items:center;justify-content:center;font-size:17px;">
            <i class="fa fa-certificate"></i>
          </div>
          <div class="flex-grow-1">
            <div style="font-size:14px;font-weight:700;color:#e6edf3;"><?= $tipoLabel[$c['tipo']] ?? 'Certificado' ?></div>
            <div style="font-size:11px;color:#8b949e;"><?= htmlspecialchars($c['empresa']) ?> · <?= htmlspecialchars($c['periodo']) ?></div>
          </div>
          <span style="font-size:10px;padding:3px 9px;border-radius:20px;font-weight:700;
               <?= $vigente ? 'background:#3dffa022;color:#3dffa0;border:1px solid #3dffa044;' : 'background:#ff9d9322;color:#ff9d93;border:1px solid #ff9d9344;' ?>">
            <?= $vigente ? '✓ VIGENTE' : '✗ ANULADO' ?>
          </span>
        </div>
        <div class="cert-body">
          <div class="cert-grid">
            <div class="cf"><label>Horas</label><span style="color:#3dffa0;font-weight:700;"><?=(int)$c['horas_cumplidas']?>h <small style="color:#8b949e;font-weight:400;">/ <?=(int)$c['horas_requeridas']?>h</small></span></div>
            <div class="cf"><label>Nota final</label><span style="color:<?=$c['nota_final']?($c['nota_final']>=7?'#3dffa0':'#f7b93e'):'#8b949e'?>;font-weight:700;"><?=$c['nota_final']?number_format((float)$c['nota_final'],2):'—'?></span></div>
            <div class="cf"><label>Inicio</label><span><?=formatFecha($c['fecha_inicio'])?></span></div>
            <div class="cf"><label>Fin</label><span><?=formatFecha($c['fecha_fin'])?></span></div>
            <div class="cf"><label>Emitido</label><span><?=formatFecha($c['fecha_emision'],'d/m/Y')?></span></div>
            <div class="cf"><label>Firmado por</label><span style="color:#8b949e;"><?=htmlspecialchars($c['emitido_por']??'—')?></span></div>
          </div>
          <div class="qr-tag"><i class="fa fa-qrcode me-2"></i><?=htmlspecialchars($c['codigo_qr'])?></div>
        </div>
        <?php if ($vigente): ?>
        <div class="cert-actions">

          <?php if (!empty($c['archivo_pdf_firmado'])): ?>
            <!-- ✅ PDF firmado disponible — secretaría ya lo subió -->
            <a href="<?= BASE_URL ?>/api/ver_cert_pdf.php?id=<?= $c['id_cert_aux'] ?>&tipo=cert_firmado"
               target="_blank" class="btn-sm-cert btn-p">
              <i class="fa fa-file-pdf"></i> Ver PDF firmado
            </a>
            <a href="<?= BASE_URL ?>/api/ver_cert_pdf.php?id=<?= $c['id_cert_aux'] ?>&tipo=cert_firmado&dl=1"
               class="btn-sm-cert btn-v">
              <i class="fa fa-download"></i> Descargar
            </a>
            <?php if (!empty($c['fecha_firma'])): ?>
            <span style="font-size:10px;color:#8b949e;align-self:center;margin-left:4px;">
              Firmado el <?= date('d/m/Y', strtotime($c['fecha_firma'])) ?>
            </span>
            <?php endif; ?>

          <?php else: ?>
            <!-- ⏳ Emitido pero sin PDF firmado todavía -->
            <span style="font-size:11px;color:#f7b93e;display:flex;align-items:center;gap:6px;
                         background:#f7b93e12;border:1px solid #f7b93e33;
                         border-radius:7px;padding:6px 12px;">
              <i class="fa fa-clock"></i>
              El certificado firmado aún no está disponible. La secretaría lo subirá cuando esté listo.
            </span>
          <?php endif; ?>

          <a href="<?= htmlspecialchars($verUrl) ?>" target="_blank"
             class="btn-sm-cert btn-v" style="margin-left:auto;">
            <i class="fa fa-shield-halved"></i> Verificar autenticidad
          </a>
        </div>
        <?php endif; ?>
      </div>
      <?php endforeach; ?>
      <?php else: ?>
      <!-- Sin certificados emitidos todavía -->
      <div style="background:#161b22;border:1px solid #30363d;border-radius:12px;
                  padding:28px;text-align:center;margin-bottom:16px;">
        <div style="font-size:32px;margin-bottom:10px;">🏅</div>
        <div style="font-size:14px;font-weight:600;color:#e6edf3;margin-bottom:6px;">
          Aún no tienes certificados emitidos
        </div>
        <div style="font-size:12px;color:#8b949e;max-width:420px;margin:0 auto;line-height:1.7;">
          <?php if ($esConval): ?>
            Una vez que tu <strong style="color:#f97316;">Convalidación PPP</strong> sea aprobada,
            la secretaría emitirá y subirá aquí el certificado firmado para que puedas descargarlo.
          <?php else: ?>
            Una vez que completes tus <strong style="color:#3b82f6;">Prácticas Pre Profesionales</strong>,
            la secretaría emitirá y subirá aquí el certificado firmado para que puedas descargarlo.
          <?php endif; ?>
        </div>
      </div>
      <?php endif; ?>


      <!-- ══════════════════════════════════════════════════════════════════ -->
      <!-- ── SECCIÓN: FICHA PPP — FLUJO DE FIRMA ─────────────────────── -->
      <!-- ══════════════════════════════════════════════════════════════════ -->
      <div class="section-label">
        <i class="fa fa-file-signature me-2" style="color:#ef4444;"></i>
        Ficha PPP — Firma y Entrega (ISTT-PPP-002A)
      </div>

      <?php
      $fichasAll = [];
      if (!empty($d['id_estudiante'])) {
          $stAll = $db->prepare("
              SELECT pr.id_practica, pr.fecha_inicio, pr.fecha_fin, pr.estado,
                     pr.horas_requeridas, pr.horas_cumplidas,
                     pr.ficha_estado, pr.ficha_doc_est, pr.ficha_doc_final,
                     pr.ficha_enviada_at,
                     COALESCE(em.razon_social, pr.emp_nueva_nombre, '—') AS empresa
              FROM   practicas pr
              LEFT JOIN empresas em ON em.id_empresa = pr.id_empresa
              WHERE  pr.id_estudiante = :ide
              ORDER  BY pr.fecha_inicio DESC
          ");
          $stAll->execute([':ide' => $d['id_estudiante']]);
          $fichasAll = $stAll->fetchAll();
      }
      ?>

      <?php if (empty($fichasAll)): ?>
        <div style="background:#161b22;border:1px solid #30363d;border-radius:12px;
             padding:24px;text-align:center;margin-bottom:20px;">
          <div style="font-size:28px;margin-bottom:8px;">📂</div>
          <div style="color:#8b949e;font-size:13px;">No tienes prácticas registradas.</div>
        </div>
      <?php else: ?>
        <div style="background:#2ea8ff11;border:1px solid #2ea8ff33;border-radius:8px;
             padding:12px 16px;font-size:12px;color:#8b949e;margin-bottom:14px;">
          <i class="fa fa-circle-info me-2" style="color:#2ea8ff;"></i>
          <strong style="color:#e6edf3;">Pasos:</strong>
          ① Descarga el PDF → ② Imprímelo y fírmalo a mano → ③ Escanéalo → ④ Súbelo aquí firmado ✅
        </div>

        <?php foreach ($fichasAll as $fp):
          $fe     = $fp['ficha_estado'] ?? 'no_enviada';
          $idPrac = (int)$fp['id_practica'];
        ?>
        <div style="background:#161b22;border:1px solid <?= $fe==='firmada_final'?'#34d39944':($fe==='enviada'?'#60a5fa44':($fe==='firmada_est'?'#fbbf2444':'#30363d')) ?>;border-radius:12px;overflow:hidden;margin-bottom:14px;">
          <!-- Cabecera -->
          <div style="padding:12px 16px;border-bottom:1px solid #30363d;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;background:#0d1117;">
            <div>
              <span style="font-size:12px;font-weight:700;color:#ef4444;"><i class="fa fa-building me-1"></i><?= htmlspecialchars($fp['empresa']) ?></span>
              <span style="font-size:10px;color:#8b949e;margin-left:8px;">Práctica #<?= $idPrac ?> · <?= $fp['fecha_inicio'] ? date('d/m/Y', strtotime($fp['fecha_inicio'])) : '—' ?> al <?= $fp['fecha_fin'] ? date('d/m/Y', strtotime($fp['fecha_fin'])) : '—' ?></span>
            </div>
            <?php if ($fe==='no_enviada'): ?>
              <span style="font-size:10px;padding:2px 10px;border-radius:20px;font-weight:700;background:#21262d;color:#8b949e;border:1px solid #30363d;">📄 Descarga disponible</span>
            <?php elseif ($fe==='enviada'): ?>
              <span style="font-size:10px;padding:2px 10px;border-radius:20px;font-weight:700;background:#1d4ed822;color:#60a5fa;border:1px solid #60a5fa44;">📤 Descarga, firma y sube</span>
            <?php elseif ($fe==='firmada_est'): ?>
              <span style="font-size:10px;padding:2px 10px;border-radius:20px;font-weight:700;background:#78350f22;color:#fbbf24;border:1px solid #fbbf2444;">⏳ Esperando firma del coordinador</span>
            <?php elseif ($fe==='firmada_final'): ?>
              <span style="font-size:10px;padding:2px 10px;border-radius:20px;font-weight:700;background:#06400322;color:#34d399;border:1px solid #34d39944;">✅ Firmada y completa</span>
            <?php endif; ?>
          </div>
          <!-- Cuerpo -->
          <div style="padding:16px;">
            <?php if ($fe==='no_enviada'): ?>
              <div style="display:flex;align-items:center;gap:14px;flex-wrap:wrap;">
                <a href="generar_ficha_ppp.php?id=<?= $idPrac ?>" target="_blank" style="display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#fee2e233;color:#fca5a5;border:1px solid #fca5a544;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;"><i class="fa fa-file-pdf"></i> Descargar / Imprimir PDF</a>
                <span style="font-size:11px;color:#8b949e;"><i class="fa fa-clock me-1" style="color:#fbbf24;"></i> Cuando el coordinador lo habilite, podrás subir tu ficha firmada aquí.</span>
              </div>
            <?php elseif ($fe==='enviada'): ?>
              <div style="display:grid;grid-template-columns:1fr 1fr;gap:14px;">
                <div style="background:#0d1117;border:1px solid #30363d;border-radius:8px;padding:14px;">
                  <div style="font-size:11px;font-weight:700;color:#e6edf3;margin-bottom:8px;"><span style="background:#fee2e233;color:#fca5a5;padding:1px 7px;border-radius:4px;font-size:10px;margin-right:6px;">PASO 1</span>Descarga e imprime tu ficha</div>
                  <a href="generar_ficha_ppp.php?id=<?= $idPrac ?>" target="_blank" style="display:flex;align-items:center;justify-content:center;gap:6px;padding:8px;background:#fee2e233;color:#fca5a5;border:1px solid #fca5a544;border-radius:7px;font-size:12px;font-weight:700;text-decoration:none;"><i class="fa fa-file-pdf"></i> Descargar / Imprimir PDF</a>
                  <div style="font-size:10px;color:#8b949e;margin-top:6px;">📅 Habilitada: <?= $fp['ficha_enviada_at'] ? date('d/m/Y H:i', strtotime($fp['ficha_enviada_at'])) : '—' ?></div>
                </div>
                <div style="background:#0d1117;border:1px solid #60a5fa44;border-radius:8px;padding:14px;">
                  <div style="font-size:11px;font-weight:700;color:#e6edf3;margin-bottom:8px;"><span style="background:#1d4ed822;color:#60a5fa;padding:1px 7px;border-radius:4px;font-size:10px;margin-right:6px;">PASO 2</span>Sube tu ficha firmada (PDF, JPG o PNG)</div>
                  <form method="POST" action="accion_ficha_est.php" enctype="multipart/form-data" style="margin:0;">
                    <input type="hidden" name="accion" value="upload_est">
                    <input type="hidden" name="id_practica" value="<?= $idPrac ?>">
                    <input type="file" name="ficha_firmada" accept=".pdf,.jpg,.jpeg,.png" required id="fc_<?= $idPrac ?>" style="display:none;" onchange="document.getElementById('fl_<?= $idPrac ?>').textContent=this.files[0]?.name||'Ningún archivo'">
                    <label for="fc_<?= $idPrac ?>" style="display:flex;align-items:center;justify-content:center;gap:6px;padding:8px;background:#1d4ed822;color:#60a5fa;border:1px dashed #60a5fa44;border-radius:7px;cursor:pointer;font-size:12px;font-weight:700;margin-bottom:5px;"><i class="fa fa-cloud-arrow-up"></i> Seleccionar archivo</label>
                    <div id="fl_<?= $idPrac ?>" style="font-size:10px;color:#8b949e;text-align:center;margin-bottom:5px;">Ningún archivo seleccionado</div>
                    <button type="submit" onclick="return confirm('¿Confirmas enviar tu ficha firmada?')" style="width:100%;padding:7px;border-radius:7px;border:none;background:#2ea8ff;color:#fff;font-size:12px;font-weight:700;cursor:pointer;"><i class="fa fa-paper-plane me-1"></i> Enviar al coordinador</button>
                  </form>
                </div>
              </div>
            <?php elseif ($fe==='firmada_est'): ?>
              <div style="display:grid;grid-template-columns:1fr 1fr;gap:14px;">
                <div style="background:#78350f22;border:1px solid #fbbf2444;border-radius:8px;padding:14px;">
                  <p style="font-size:13px;font-weight:700;color:#fbbf24;margin-bottom:4px;">⏳ Tu ficha fue recibida correctamente</p>
                  <p style="font-size:12px;color:#8b949e;margin:0;">El coordinador revisará y agregará la firma de la autoridad.</p>
                </div>
                <div style="background:#0d1117;border:1px solid #30363d;border-radius:8px;padding:14px;">
                  <p style="font-size:11px;color:#8b949e;margin-bottom:8px;">¿Necesitas corregir el archivo subido?</p>
                  <form method="POST" action="accion_ficha_est.php" enctype="multipart/form-data" style="margin:0;">
                    <input type="hidden" name="accion" value="upload_est">
                    <input type="hidden" name="id_practica" value="<?= $idPrac ?>">
                    <div style="display:flex;gap:6px;flex-wrap:wrap;">
                      <input type="file" name="ficha_firmada" accept=".pdf,.jpg,.jpeg,.png" required style="font-size:10px;color:#e6edf3;background:#21262d;border:1px solid #30363d;border-radius:4px;padding:3px;flex:1;">
                      <button type="submit" onclick="return confirm('¿Reemplazar?')" style="padding:6px 12px;border-radius:6px;border:none;background:#f59e0b;color:#fff;font-size:11px;font-weight:700;cursor:pointer;"><i class="fa fa-rotate me-1"></i> Reemplazar</button>
                    </div>
                  </form>
                </div>
              </div>
            <?php elseif ($fe==='firmada_final'): ?>
              <div style="background:#06400322;border:1px solid #34d39944;border-radius:8px;padding:16px;">
                <div style="display:flex;align-items:center;gap:12px;flex-wrap:wrap;">
                  <span style="font-size:36px;">🎉</span>
                  <div style="flex:1;">
                    <p style="font-size:13px;font-weight:700;color:#34d399;margin-bottom:4px;">¡Tu ficha está firmada por ambas partes!</p>
                    <p style="font-size:12px;color:#8b949e;margin-bottom:12px;">Guarda este documento como comprobante oficial de tus prácticas.</p>
                    <div style="display:flex;gap:8px;flex-wrap:wrap;">
                      <a href="<?= BASE_URL ?>/api/ver_cert_pdf.php?id=<?= $fp['id_practica'] ?>&tipo=ficha_final" target="_blank" style="display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#06400322;color:#34d399;border:1px solid #34d39944;border-radius:7px;font-size:12px;font-weight:700;text-decoration:none;"><i class="fa fa-eye"></i> Ver ficha firmada</a>
                      <a href="<?= BASE_URL ?>/api/ver_cert_pdf.php?id=<?= $fp['id_practica'] ?>&tipo=ficha_final&dl=1" style="display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#05472a22;color:#6ee7b7;border:1px solid #6ee7b744;border-radius:7px;font-size:12px;font-weight:700;text-decoration:none;"><i class="fa fa-download"></i> Descargar</a>
                    </div>
                  </div>
                </div>
              </div>
            <?php endif; ?>
          </div>
        </div>
        <?php endforeach; ?>
      <?php endif; ?>

      <!-- ══ DOCUMENTOS PPP ══ -->
      <div class="section-label"><i class="fa fa-file-lines me-2" style="color:#2ea8ff;"></i>Formularios Oficiales PPP (pre-llenados)</div>
      <div class="doc-grid">
        <?php
        $docs = [
          ['num'=>'001','titulo'=>'Solicitud para Oficializar las Prácticas','desc'=>'Carta del estudiante al Rector solicitando iniciar prácticas','icon'=>'fa-envelope'],
          ['num'=>'002','titulo'=>'Carta del Instituto a la Empresa','desc'=>'Carta oficial del Rector a la empresa receptora','icon'=>'fa-building'],
          ['num'=>'003','titulo'=>'Carta de la Empresa al Instituto','desc'=>'Aceptación de la empresa para recibir al practicante','icon'=>'fa-handshake'],
          ['num'=>'004','titulo'=>'Ficha de Designación del Tutor Académico','desc'=>'Registro del tutor y empresa asignados a las prácticas','icon'=>'fa-user-tie'],
          ['num'=>'002A','titulo'=>'Ficha General Estudiante-Empresa','desc'=>'Ficha completa con todos los datos del practicante y la empresa','icon'=>'fa-id-card'],
          ['num'=>'005','titulo'=>'Orientaciones de Seguridad','desc'=>'Normas y medidas de protección en el lugar de prácticas','icon'=>'fa-shield-halved'],
          ['num'=>'008','titulo'=>'Ficha de Supervisión - Tutor Empresarial','desc'=>'Evaluación del tutor de la empresa al practicante','icon'=>'fa-star'],
          ['num'=>'009','titulo'=>'Ficha de Supervisión - Tutor Académico','desc'=>'Evaluación del tutor académico al practicante','icon'=>'fa-graduation-cap'],
          ['num'=>'010','titulo'=>'Ficha de Evaluación por la Empresa','desc'=>'Evaluación de rendimiento del practicante por la empresa','icon'=>'fa-chart-bar'],
          ['num'=>'011','titulo'=>'Certificado de Culminación - Empresa','desc'=>'Certificado emitido por la empresa al finalizar las prácticas','icon'=>'fa-certificate'],
          ['num'=>'012','titulo'=>'Certificado de Culminación - Instituto','desc'=>'Certificado oficial emitido por el Instituto Tecnópolis','icon'=>'fa-award'],
        ];
        foreach ($docs as $doc):
          $es002A = ($doc['num'] === '002A');
          $fe     = $fichaData['ficha_estado'] ?? 'no_enviada';
        ?>
        <div class="doc-card" <?= $es002A && $fe !== 'no_enviada' ? 'style="border-color:#2ea8ff88;"' : '' ?>>
          <div class="doc-card-head">
            <div class="doc-num"><?= $doc['num'] ?></div>
            <div>
              <div style="font-size:12px;font-weight:700;color:#e6edf3;line-height:1.3;"><?= $doc['titulo'] ?></div>
              <?php if ($es002A && $fe !== 'no_enviada'): ?>
              <div style="font-size:10px;margin-top:2px;">
                <?php if ($fe === 'enviada'): ?>
                  <span style="color:#60a5fa;">📤 Enviada — descarga, firma y sube</span>
                <?php elseif ($fe === 'firmada_est'): ?>
                  <span style="color:#fbbf24;">⏳ En revisión por el coordinador</span>
                <?php elseif ($fe === 'firmada_final'): ?>
                  <span style="color:#34d399;">✅ Firmada oficialmente — descárgala</span>
                <?php endif; ?>
              </div>
              <?php endif; ?>
            </div>
          </div>
          <div class="doc-card-body"><?= $doc['desc'] ?></div>
          <div class="doc-card-foot" style="display:flex;flex-direction:column;gap:6px;">

            <?php if (!$es002A): ?>
              <!-- Documentos normales -->
              <a href="?doc=<?= $doc['num'] ?>" target="_blank" class="btn-doc">
                <i class="fa fa-file-pdf me-1"></i> Ver / Imprimir PDF
              </a>

            <?php else: ?>
              <!-- ══ 002A — Ficha General con flujo de firma ══ -->

              <?php if ($fe === 'no_enviada'): ?>
                <!-- Aún no enviada por coordinador -->
                <a href="?doc=<?= $doc['num'] ?>" target="_blank" class="btn-doc">
                  <i class="fa fa-file-pdf me-1"></i> Ver / Imprimir PDF
                </a>
                <div style="font-size:10px;color:#8b949e;text-align:center;">
                  El coordinador aún no ha enviado esta ficha para firma.
                </div>

              <?php elseif ($fe === 'enviada'): ?>
                <!-- Coordinador envió — estudiante debe firmar y subir -->
                <a href="generar_ficha_ppp.php?id=<?= (int)$fichaData['id_practica'] ?>"
                   target="_blank" class="btn-doc"
                   style="background:#1d4ed822;color:#60a5fa;border-color:#60a5fa44;">
                  <i class="fa fa-download me-1"></i> Descargar ficha para firmar
                </a>
                <!-- Upload form -->
                <form method="POST" enctype="multipart/form-data" style="margin:0;">
                  <input type="hidden" name="accion_ficha" value="1">
                  <label style="font-size:10px;color:#fbbf24;font-weight:700;display:block;margin-bottom:3px;">
                    📤 Subir ficha firmada (PDF/imagen):
                  </label>
                  <div style="display:flex;gap:4px;align-items:center;flex-wrap:wrap;">
                    <input type="file" name="ficha_firmada" accept=".pdf,.jpg,.jpeg,.png" required
                           style="font-size:10px;color:#e6edf3;background:#21262d;
                                  border:1px solid #fbbf24;border-radius:4px;padding:3px;">
                    <button type="submit"
                            style="background:#f59e0b;color:#fff;border:none;border-radius:5px;
                                   padding:5px 10px;font-size:11px;font-weight:700;cursor:pointer;">
                      Subir
                    </button>
                  </div>
                </form>

              <?php elseif ($fe === 'firmada_est'): ?>
                <!-- Esperando que coordinador suba la final -->
                <a href="<?= BASE_URL ?>/api/ver_cert_pdf.php?id=<?= (int)($fichaData['id_practica'] ?? 0) ?>&tipo=ficha_est"
                   target="_blank" class="btn-doc"
                   style="background:#78350f22;color:#fbbf24;border-color:#fbbf2444;">
                  <i class="fa fa-eye me-1"></i> Ver mi ficha subida
                </a>
                <div style="font-size:10px;color:#8b949e;text-align:center;
                            background:#21262d;border-radius:5px;padding:5px;">
                  <i class="fa fa-clock me-1" style="color:#fbbf24;"></i>
                  Tu firma fue recibida. Esperando firma de la autoridad.
                </div>

              <?php elseif ($fe === 'firmada_final'): ?>
                <!-- Ficha completamente firmada — descargar -->
                <a href="<?= BASE_URL ?>/api/ver_cert_pdf.php?id=<?= (int)($fichaData['id_practica'] ?? 0) ?>&tipo=ficha_final"
                   target="_blank" class="btn-doc"
                   style="background:#06400322;color:#34d399;border-color:#34d39944;">
                  <i class="fa fa-file-pdf me-1"></i> Ver ficha firmada oficial
                </a>
                <a href="<?= BASE_URL ?>/api/ver_cert_pdf.php?id=<?= (int)($fichaData['id_practica'] ?? 0) ?>&tipo=ficha_final&dl=1"
                   class="btn-doc"
                   style="background:#05472a22;color:#6ee7b7;border-color:#6ee7b744;">
                  <i class="fa fa-download me-1"></i> Descargar ficha firmada
                </a>
              <?php endif; ?>

            <?php endif; // 002A ?>

          </div>
        </div>
        <?php endforeach; ?>
      </div>

    </div><!-- /no-print -->
  </main>
</div>

<?php
// ══════════════════════════════════════════════════════════════════════
//  MODO DOCUMENTO: muestra formulario imprimible en pantalla completa
// ══════════════════════════════════════════════════════════════════════
$docId = $_GET['doc'] ?? null;
if ($docId):
?>
<style>
body{background:#fff!important;}
.app-shell,.navbar{display:none!important;}
.ppp-page{max-width:210mm;margin:0 auto;background:#fff;}
.print-bar{position:fixed;top:0;left:0;right:0;background:#1a73e8;color:#fff;
  padding:10px 20px;display:flex;align-items:center;gap:14px;z-index:999;font-size:13px;}
.print-bar button{background:#fff;color:#1a73e8;border:none;border-radius:6px;
  padding:6px 16px;font-weight:700;cursor:pointer;}
.print-bar a{color:#fff;text-decoration:none;opacity:.8;}
.print-bar a:hover{opacity:1;}
.ppp-page{margin-top:52px;}
@media print{
  .print-bar{display:none!important;}
  .ppp-page{margin-top:0!important;}
}
</style>
<!-- Barra de impresión -->
<div class="print-bar no-print">
  <button onclick="window.print()">🖨️ Imprimir / Guardar PDF</button>
  <a href="certificado.php">← Volver a mis documentos</a>
  <span style="margin-left:auto;opacity:.7;font-size:11px;">Ctrl+P → Guardar como PDF</span>
</div>

<div class="ppp-page">
<?php
// ── Cabecera común a todos los docs ──────────────────────────────
function pppHeader(string $titulo, string $instNombreI = '', ?string $instLogoUrl = null): void {
$logoHtml = $instLogoUrl
    ? '<img src="'.htmlspecialchars($instLogoUrl).'" style="width:80px;height:55px;object-fit:contain;border:1px solid #1a5276;border-radius:4px;padding:3px;">'
    : '<div class="ppp-logo-box">'.htmlspecialchars(mb_strtoupper(mb_substr($instNombreI ?: 'IST', 0, 4))).'</div>';
$nombre = $instNombreI ? strtoupper($instNombreI) : 'INSTITUTO SUPERIOR';
echo '<div class="ppp-doc">';
echo '<div class="ppp-logo-row">
  '.$logoHtml.'
  <div>
    <div class="ppp-inst">'.htmlspecialchars($nombre).'</div>
    <div class="ppp-sub">Prácticas Pre Profesionales · Unidad de Vinculación</div>
  </div>
  <div style="margin-left:auto;text-align:right;font-size:9pt;color:#888;">
    PPP-'.$titulo.'<br>'.date('Y').'
  </div>
</div>
<div class="ppp-title">'.$titulo.'</div>';
}
function pppFooter(): void { echo '</div>'; }

// ── DOCUMENTO 001 — Solicitud para Oficializar ───────────────────
if ($docId === '001'):
pppHeader('SOLICITUD PARA OFICIALIZAR LAS PRÁCTICAS PRE PROFESIONALES', $instNombreI, $instLogoUrl);
echo "
<div style='display:flex;gap:16px;align-items:flex-start;margin-bottom:16px;'>
  <div style='flex:1;'>
    <p style='margin-bottom:14px;'>$ciudad, $hoy</p>
    <p><strong>$rectorNombre</strong><br>
    $rectorCargo<br>Ciudad.-</p>
  </div>
  <div style='flex:0 0 auto;text-align:center;'>
    $fotoHtml
    <div style='font-size:7.5pt;color:#555;margin-top:3px;'>Foto estudiante</div>
  </div>
</div>
<p style='margin:14px 0;'><strong>De mis consideraciones:</strong></p>
<p style='text-align:justify;line-height:1.9;'>
  Yo, <strong>$nEstNorm</strong>, con N° de cédula <strong>$cedula</strong>,
  estudiante matriculado(a) en el <strong>$semestre Nivel</strong>, de la carrera
  <strong>$carrera</strong>, solicito a Ud. muy respetuosamente y por su intermedio
  autorice a quien corresponda iniciar mi proceso de las Prácticas Pre Profesionales
  con carácter de formación académica en la empresa <strong>$empresaN</strong>,
  ubicada en <strong>$empDir, $ciudad</strong>, a cargo del representante legal
  <strong>$empRep</strong>, en el área de: <strong>$area</strong>,
  con un horario de 6 horas laborables, iniciando el <strong>$fIni</strong>
  hasta completar <strong>$horas horas</strong>.
</p>
<p style='margin:14px 0;text-align:justify;'>
  Por la favorable atención que brinde a la presente, agradezco y suscribo.<br>
  Adjunto mi hoja de vida, cédula de identidad y papeleta de votación,
  enviar todos estos documentos al correo: <strong>{$instData['email_contacto']}</strong>
</p>
<p>Atentamente,</p>
<div class='ppp-firma-row'>
  <div class='ppp-firma'>
    <div style='height:50px;'></div>
    <div class='ppp-firma-line'></div>
    <strong>$nEst</strong><br>
    <small>Firma del Estudiante</small><br>
    <small>Cédula: $cedula | Tel: $tel</small><br>
    <small>Email: $emailEst</small>
  </div>
</div>
<div class='ppp-nota'>El estudiante recibirá por correo (luego de ser aprobada su solicitud) la carta del Instituto para la Empresa.</div>
";
pppFooter();

// ── DOCUMENTO 002 — Carta Instituto a Empresa ────────────────────
elseif ($docId === '002'):
pppHeader('CARTA DE SOLICITUD DEL INSTITUTO A LA EMPRESA', $instNombreI, $instLogoUrl);
echo "
<p style='margin-bottom:16px;'>$ciudad, $hoy</p>
<p><strong>$empRep</strong><br>
$empRepC<br>
$empresaN<br>Ciudad.-</p>
<p style='margin:14px 0;'><strong>De mis consideraciones:</strong></p>
<p style='text-align:justify;line-height:1.9;'>
  $rectorNombre, con C.I. $rectorCedula, $rectorCargo, solicito a Ud. la autorización para que el(la) estudiante
  <strong>$nEstNorm</strong>, con C.I. <strong>$cedula</strong>, matriculado(a) en el
  <strong>$semestre Nivel</strong> de la carrera <strong>$carrera</strong>, realice las
  Prácticas Pre Profesionales en la empresa <strong>$empresaN</strong>, en el área
  <strong>$area</strong>, desempeñando las funciones de «PRACTICANTE», cumpliendo con
  un total de <strong>$horas horas</strong> según lo establecido en el Reglamento de
  Régimen Académico, Artículo 43, con un horario de 6 horas diarias.
</p>
<p style='margin:8px 0;'><strong>Fecha de inicio:</strong> $fIni &nbsp;&nbsp;&nbsp;
<strong>Fecha de fin:</strong> $fFin</p>
<p style='margin-top:14px;text-align:justify;'>Agradeciendo la atención a la presente,
  aprovecho para expresarle las muestras de especial consideración por la acogida del
  estudiante en su empresa, lo que beneficiará en su desempeño académico y futuro profesional.
</p>
<p>Atentamente,</p>
<div class='ppp-firma-row'>
  <div class='ppp-firma'>
    <div style='height:50px;'></div>
    <div class='ppp-firma-line'></div>
    <strong>$rectorUpper</strong><br>
    <small>$rectorCargo</small><br>
    <small>C.I. $rectorCedula</small>
  </div>
</div>
";
pppFooter();

// ── DOCUMENTO 003 — Carta Empresa al Instituto ───────────────────
elseif ($docId === '003'):
pppHeader('CARTA DE LA EMPRESA AL INSTITUTO — ACEPTACIÓN DEL PRACTICANTE', $instNombreI, $instLogoUrl);
echo "
<p style='margin-bottom:16px;'>$ciudad, $hoy</p>
<p><strong>$rectorNombre</strong><br>
$rectorCargo<br>Presente.-</p>
<p style='margin:14px 0;'><strong>De mis consideraciones:</strong></p>
<p style='text-align:justify;line-height:1.9;'>
  Por medio de la presente certifico que el(la) estudiante <strong>$nEstNorm</strong>
  con C.I. N° <strong>$cedula</strong>, de la carrera de <strong>$carrera</strong>,
  realizará sus Prácticas Pre Profesionales en la empresa <strong>$empresaN</strong>
  en el área de <strong>$area</strong>, desempeñándose en el cargo de PRACTICANTE,
  con un horario de 6 horas diarias hasta completar <strong>$horas horas</strong> de
  Prácticas Pre Profesionales.
</p>
<p><strong>Fecha inicio:</strong> $fIni &nbsp;&nbsp;&nbsp; <strong>Fecha fin:</strong> $fFin</p>
<p>Atentamente,</p>
<div class='ppp-firma-row'>
  <div class='ppp-firma'>
    <div style='height:50px;'></div>
    <div class='ppp-firma-line'></div>
    <strong>$rectorUpper</strong><br>
    <small>$rectorCargo | CC: $rectorCedula</small>
  </div>
  <div class='ppp-firma'>
    <div style='height:50px;'></div>
    <div class='ppp-firma-line'></div>
    <strong>$tuEm</strong><br>
    <small>Tutor(a) Empresarial | CC: $tuEmCed</small>
  </div>
</div>
";
pppFooter();

// ── DOCUMENTO 004 — Ficha Designación Tutor Académico ────────────
elseif ($docId === '004'):
pppHeader('FICHA DE DESIGNACIÓN DEL TUTOR ACADÉMICO', $instNombreI, $instLogoUrl);
echo "
<p>$ciudad, $hoy</p>
<p style='margin:12px 0;text-align:justify;'>
  El(la) estudiante <strong>$nEstNorm</strong> portador(a) del N° de cédula
  <strong>$cedula</strong>, del <strong>$semestre Semestre</strong>, de la carrera de
  <strong>$carrera</strong> aceptó participar en el Programa de Prácticas Pre Profesionales
  del {$instNombreI} y la empresa <strong>$empresaN</strong>
  ocupando el cargo de <strong>$cargo</strong> en el área de <strong>$area</strong>,
  declaro conocer y aceptar las normas establecidas en el Reglamento de la Institución.
</p>
<table class='ppp-table'>
  <tr><th colspan='2'>DATOS GENERALES</th></tr>
  <tr><td style='width:40%;font-weight:700;'>1. Coordinadora de Prácticas Pre Profesionales:</td><td>$tuAc</td></tr>
  <tr><td style='font-weight:700;'>2. Tutor(a) designado por la Empresa:</td><td>$tuEm</td></tr>
  <tr><td style='font-weight:700;'>3. Tutor(a) Académico designado:</td><td>$tuAc</td></tr>
  <tr><td style='font-weight:700;'>4. Fechas de las Prácticas:</td><td>Inicio: <strong>$fIni</strong> &nbsp; Fin: <strong>$fFin</strong></td></tr>
  <tr><td style='font-weight:700;'>5. Horario:</td><td>Desde: ___________ Hasta: ___________</td></tr>
  <tr><td style='font-weight:700;'>6. Objetivo de la Práctica:</td><td>Aplicación de conocimientos de la carrera de $carrera en entorno empresarial real.</td></tr>
  <tr><td style='font-weight:700;'>7. Empresa / Institución:</td><td>$empresaN — $empDir</td></tr>
  <tr><td style='font-weight:700;'>8. Área asignada:</td><td>$area</td></tr>
  <tr><td style='font-weight:700;'>9. Semestre:</td><td>$semestre</td></tr>
</table>
<div class='ppp-firma-row'>
  <div class='ppp-firma'>
    <div style='height:50px;'></div>
    <div class='ppp-firma-line'></div>
    <strong>$nEst</strong><br>
    <small>Firma del Estudiante | CC: $cedula</small>
  </div>
  <div class='ppp-firma'>
    <div style='height:50px;'></div>
    <div class='ppp-firma-line'></div>
    <strong>$tuAc</strong><br>
    <small>Tutor(a) Académico | CC: $tuAcCed</small>
  </div>
  <div class='ppp-firma'>
    <div style='height:50px;'></div>
    <div class='ppp-firma-line'></div>
    <strong>$tuEm</strong><br>
    <small>Tutor(a) Empresarial | CC: $tuEmCed</small>
  </div>
</div>
";
pppFooter();

// ── DOCUMENTO 002A — Ficha General ───────────────────────────────
elseif ($docId === '002A'):
pppHeader('FICHA DEL FORMULARIO GENERAL — ESTUDIANTE Y EMPRESA', $instNombreI, $instLogoUrl);
echo "
<table class='ppp-table'>
  <tr><th colspan='4' style='background:#1a5276;'>1. DATOS PERSONALES DEL ESTUDIANTE</th></tr>
  <tr><td colspan='4'><strong>Apellidos y Nombres:</strong> $nEst</td></tr>
  <tr><td><strong>Cédula:</strong> $cedula</td><td><strong>Teléfono:</strong> $tel</td>
      <td><strong>Email:</strong> $emailEst</td><td><strong>Semestre:</strong> $semestre</td></tr>
  <tr><th colspan='4' style='background:#1a5276;'>2. DATOS ACADÉMICOS</th></tr>
  <tr><td colspan='2'><strong>Carrera:</strong> $carrera</td>
      <td colspan='2'><strong>Semestre actual:</strong> $semestre</td></tr>
  <tr><th colspan='4' style='background:#1a5276;'>3. DATOS DE LA EMPRESA</th></tr>
  <tr><td colspan='2'><strong>Razón Social:</strong> $empresa</td>
      <td><strong>RUC:</strong> $empRuc</td><td><strong>Tel:</strong> $empTel</td></tr>
  <tr><td colspan='2'><strong>Representante:</strong> $empRep</td>
      <td colspan='2'><strong>Cargo:</strong> $empRepC</td></tr>
  <tr><td colspan='4'><strong>Dirección:</strong> $empDir, $ciudad</td></tr>
  <tr><th colspan='4' style='background:#1a5276;'>4. TUTOR EMPRESARIAL</th></tr>
  <tr><td colspan='2'><strong>Nombres:</strong> $tuEm</td>
      <td><strong>Cédula:</strong> $tuEmCed</td><td><strong>Email:</strong> $tuEmEmail</td></tr>
  <tr><th colspan='4' style='background:#1a5276;'>5. TUTOR ACADÉMICO</th></tr>
  <tr><td colspan='2'><strong>Nombres:</strong> $tuAc</td>
      <td><strong>Cédula:</strong> $tuAcCed</td><td><strong>Email:</strong> $tuAcEmail</td></tr>
  <tr><th colspan='4' style='background:#1a5276;'>6. DATOS DE LAS PRÁCTICAS</th></tr>
  <tr><td><strong>Inicio:</strong> $fIni</td><td><strong>Fin:</strong> $fFin</td>
      <td><strong>Horas:</strong> $horas</td><td><strong>Área:</strong> $area</td></tr>
</table>
<div class='ppp-firma-row'>
  <div class='ppp-firma'>
    <div style='height:50px;'></div>
    <div class='ppp-firma-line'></div>
    <strong>$nEst</strong><br><small>Firma del Estudiante | CC: $cedula</small>
  </div>
  <div class='ppp-firma'>
    <div style='height:50px;'></div>
    <div class='ppp-firma-line'></div>
    <strong>$tuAc</strong><br><small>Coordinadora de Prácticas</small>
  </div>
</div>
";
pppFooter();

// ── DOCUMENTO 005 — Orientaciones de Seguridad ───────────────────
elseif ($docId === '005'):
pppHeader('ORIENTACIONES SOBRE SEGURIDAD Y MEDIOS DE PROTECCIÓN', $instNombreI, $instLogoUrl);
echo "
<p>$ciudad, $hoy</p>
<p><strong>Estudiante:</strong> $nEstNorm &nbsp;&nbsp; <strong>Cédula:</strong> $cedula<br>
<strong>Carrera:</strong> $carrera &nbsp;&nbsp; <strong>Semestre:</strong> $semestre<br>
<strong>Empresa:</strong> $empresaN &nbsp;&nbsp; <strong>Área:</strong> $area<br>
<strong>Período de prácticas:</strong> $fIni al $fFin</p>
<table class='ppp-table'>
  <tr><th>N°</th><th>ORIENTACIÓN DE SEGURIDAD</th><th style='width:80px;'>CUMPLE</th></tr>
  <tr><td>1</td><td>Conoce las rutas de evacuación del lugar de prácticas</td><td class='check'>☐</td></tr>
  <tr><td>2</td><td>Usa equipo de protección personal requerido por el área</td><td class='check'>☐</td></tr>
  <tr><td>3</td><td>Conoce el plan de emergencias de la empresa</td><td class='check'>☐</td></tr>
  <tr><td>4</td><td>Reporta inmediatamente cualquier accidente o incidente</td><td class='check'>☐</td></tr>
  <tr><td>5</td><td>Mantiene su área de trabajo ordenada y limpia</td><td class='check'>☐</td></tr>
  <tr><td>6</td><td>No opera equipos sin previa capacitación y autorización</td><td class='check'>☐</td></tr>
  <tr><td>7</td><td>Respeta las señales de seguridad de la empresa</td><td class='check'>☐</td></tr>
  <tr><td>8</td><td>Conoce el contacto de emergencia de la empresa</td><td class='check'>☐</td></tr>
</table>
<p style='margin-top:14px;font-size:9pt;color:#555;text-align:justify;'>
  El practicante declara haber recibido las orientaciones de seguridad correspondientes
  y se compromete a cumplirlas durante toda la duración de sus Prácticas Pre Profesionales
  en la empresa <strong>$empresaN</strong>.
</p>
<div class='ppp-firma-row'>
  <div class='ppp-firma'>
    <div style='height:50px;'></div>
    <div class='ppp-firma-line'></div>
    <strong>$nEst</strong><br><small>Practicante | CC: $cedula</small>
  </div>
  <div class='ppp-firma'>
    <div style='height:50px;'></div>
    <div class='ppp-firma-line'></div>
    <strong>$tuEm</strong><br><small>Tutor Empresarial | CC: $tuEmCed</small>
  </div>
</div>
";
pppFooter();

// ── DOCUMENTO 008 — Ficha Supervisión Tutor Empresarial ──────────
elseif ($docId === '008'):
pppHeader('FICHA DE SUPERVISIÓN DEL TUTOR EMPRESARIAL', $instNombreI, $instLogoUrl);
echo "
<p><strong>Fecha:</strong> ________________ &nbsp;&nbsp; <strong>N° Visita:</strong> _____ &nbsp;&nbsp;
<strong>Hora:</strong> Desde ________ Hasta ________</p>
<table class='ppp-table'>
  <tr><th colspan='2' style='background:#1a5276;'>DATOS GENERALES</th></tr>
  <tr><td><strong>Apellidos y Nombres:</strong></td><td>$nEst</td></tr>
  <tr><td><strong>Edad / Cédula / Celular:</strong></td><td>___ años | $cedula | $tel</td></tr>
  <tr><td><strong>Correo electrónico:</strong></td><td>$emailEst</td></tr>
  <tr><td><strong>Carrera / Semestre:</strong></td><td>$carrera | $semestre</td></tr>
  <tr><td><strong>Empresa:</strong></td><td>$empresa</td></tr>
  <tr><td><strong>RUC / Área:</strong></td><td>$empRuc | $area</td></tr>
  <tr><td><strong>Tutor Empresarial:</strong></td><td>$tuEm</td></tr>
  <tr><td><strong>Cargo / Cédula tutor:</strong></td><td>$empRepC | $tuEmCed</td></tr>
  <tr><td><strong>Email tutor empresarial:</strong></td><td>$tuEmEmail</td></tr>
</table>
<p style='margin:10px 0 4px;font-size:9pt;'><strong>Escala:</strong> 5=Excelente | 4=Muy Satisfactorio | 3=Satisfactorio | 2=Poco Satisfactorio | 1=Nada Satisfactorio</p>
<table class='ppp-table'>
  <tr><th>ASPECTO</th><th class='check'>5</th><th class='check'>4</th><th class='check'>3</th><th class='check'>2</th><th class='check'>1</th><th>OBSERVACIONES</th></tr>
  <tr><td>Conocimiento técnico del área</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td></td></tr>
  <tr><td>Puntualidad y asistencia</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td></td></tr>
  <tr><td>Relaciones interpersonales</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td></td></tr>
  <tr><td>Cumplimiento de tareas</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td></td></tr>
  <tr><td>Iniciativa y creatividad</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td></td></tr>
  <tr><td>Presentación personal</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td></td></tr>
</table>
<div class='ppp-firma-row'>
  <div class='ppp-firma'>
    <div style='height:50px;'></div>
    <div class='ppp-firma-line'></div>
    <strong>$tuEm</strong><br><small>Tutor Empresarial | CC: $tuEmCed</small>
  </div>
</div>
";
pppFooter();

// ── DOCUMENTO 009 — Ficha Supervisión Tutor Académico ────────────
elseif ($docId === '009'):
pppHeader('FICHA DE SUPERVISIÓN DEL TUTOR ACADÉMICO', $instNombreI, $instLogoUrl);
echo "
<p><strong>Fecha:</strong> ________________ &nbsp;&nbsp; <strong>N° Visita:</strong> _____ &nbsp;&nbsp;
<strong>Hora:</strong> Desde ________ Hasta ________</p>
<table class='ppp-table'>
  <tr><th colspan='2' style='background:#1a5276;'>DATOS GENERALES</th></tr>
  <tr><td><strong>Apellidos y Nombres:</strong></td><td>$nEst</td></tr>
  <tr><td><strong>Cédula / Celular:</strong></td><td>$cedula | $tel</td></tr>
  <tr><td><strong>Correo electrónico:</strong></td><td>$emailEst</td></tr>
  <tr><td><strong>Carrera / Semestre:</strong></td><td>$carrera | $semestre</td></tr>
  <tr><td><strong>Empresa:</strong></td><td>$empresa | RUC: $empRuc</td></tr>
  <tr><td><strong>Área de Prácticas:</strong></td><td>$area</td></tr>
  <tr><td><strong>Tutor Académico:</strong></td><td>$tuAc</td></tr>
  <tr><td><strong>Cédula / Email tutor académico:</strong></td><td>$tuAcCed | $tuAcEmail</td></tr>
</table>
<p style='margin:10px 0 4px;font-size:9pt;'><strong>Escala:</strong> 5=Excelente | 4=Muy Satisfactorio | 3=Satisfactorio | 2=Poco Satisfactorio | 1=Nada Satisfactorio</p>
<table class='ppp-table'>
  <tr><th>ASPECTO</th><th class='check'>5</th><th class='check'>4</th><th class='check'>3</th><th class='check'>2</th><th class='check'>1</th><th>OBSERVACIONES</th></tr>
  <tr><td>Aplicación de conocimientos académicos</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td></td></tr>
  <tr><td>Cumplimiento del plan de prácticas</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td></td></tr>
  <tr><td>Elaboración de bitácoras</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td></td></tr>
  <tr><td>Responsabilidad y disciplina</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td></td></tr>
  <tr><td>Comunicación con el tutor académico</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td></td></tr>
</table>
<div class='ppp-firma-row'>
  <div class='ppp-firma'>
    <div style='height:50px;'></div>
    <div class='ppp-firma-line'></div>
    <strong>$tuAc</strong><br><small>Tutor(a) Académico | CC: $tuAcCed</small>
  </div>
</div>
";
pppFooter();

// ── DOCUMENTO 010 — Evaluación por la Empresa ────────────────────
elseif ($docId === '010'):
pppHeader('FICHA DE EVALUACIÓN Y RENDIMIENTO DEL PRACTICANTE', $instNombreI, $instLogoUrl);
echo "
<p><strong>Fecha:</strong> ________________</p>
<table class='ppp-table'>
  <tr><th colspan='2' style='background:#1a5276;'>DATOS DEL ESTUDIANTE</th></tr>
  <tr><td><strong>Nombres:</strong></td><td>$nEst | N° Cédula: $cedula</td></tr>
  <tr><td><strong>Carrera / Semestre:</strong></td><td>$carrera | $semestre</td></tr>
  <tr><td><strong>Empresa:</strong></td><td>$empresa | RUC: $empRuc</td></tr>
  <tr><td><strong>Dirección empresa:</strong></td><td>$empDir</td></tr>
  <tr><td><strong>Tutor Empresarial:</strong></td><td>$tuEm</td></tr>
  <tr><td><strong>Período de prácticas:</strong></td><td>$fIni al $fFin</td></tr>
</table>
<p style='margin:10px 0 4px;font-size:9pt;'><strong>Escala de evaluación:</strong> Regular | Bueno | Muy Bueno | Excelente</p>
<table class='ppp-table'>
  <tr><th>INDICADORES DE EVALUACIÓN</th><th>Regular</th><th>Bueno</th><th>Muy Bueno</th><th>Excelente</th><th>Observaciones</th></tr>
  <tr><td>Puntualidad y Asistencia</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td></td></tr>
  <tr><td>Habilidades y Destrezas técnicas</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td></td></tr>
  <tr><td>Actitudes y Valores</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td></td></tr>
  <tr><td>Iniciativa y Creatividad</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td></td></tr>
  <tr><td>Trabajo en equipo</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td></td></tr>
  <tr><td>Cumplimiento de objetivos</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td></td></tr>
  <tr><td>Presentación personal y disciplina</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td class='check'>☐</td><td></td></tr>
</table>
<div style='margin:10px 0;'><strong>Calificación total (sobre 10):</strong> _______</div>
<div class='ppp-firma-row'>
  <div class='ppp-firma'>
    <div style='height:50px;'></div>
    <div class='ppp-firma-line'></div>
    <strong>$tuEm</strong><br><small>Tutor(a) Empresarial | CC: $tuEmCed</small><br>
    <small>Sello de la empresa</small>
  </div>
</div>
";
pppFooter();

// ── DOCUMENTO 011 — Certificado Culminación Empresa ──────────────
elseif ($docId === '011'):
pppHeader('CERTIFICADO DE CULMINACIÓN — EMITIDO POR LA EMPRESA', $instNombreI, $instLogoUrl);
echo "
<p style='margin-bottom:16px;'>$ciudad, $hoy</p>
<p><strong>$rectorNombre</strong><br>
$rectorCargo<br>Presente.-</p>
<p style='margin:14px 0;'><strong>De mis consideraciones:</strong></p>
<p style='text-align:justify;line-height:2;'>
  Por medio de la presente, se certifica que el(la) estudiante <strong>$nEstNorm</strong>,
  portador(a) de la cédula de ciudadanía N° <strong>$cedula</strong>, ha realizado sus
  Prácticas Pre Profesionales en la empresa <strong>$empresa</strong>, específicamente
  en el área de <strong>$area</strong>, desempeñándose en el cargo de
  <strong>«{$cargo}»</strong>.
</p>
<p style='text-align:justify;line-height:2;'>
  Las prácticas se desarrollaron en el período comprendido entre el <strong>$fIni</strong>
  y el <strong>$fFin</strong>, conforme a lo establecido en el Artículo 12 del Reglamento
  de Prácticas Pre Profesionales del {$instNombreI},
  completando un total de <strong>$horas horas</strong>.
</p>
<p>Este certificado se emite para los fines académicos correspondientes.</p>
<p>Atentamente,</p>
<div class='ppp-firma-row'>
  <div class='ppp-firma'>
    <div style='height:50px;'></div>
    <div class='ppp-firma-line'></div>
    <strong>$empRep</strong><br>
    <small>$empRepC — $empresaN</small><br>
    <small>Sello de la empresa</small>
  </div>
  <div class='ppp-firma'>
    <div style='height:50px;'></div>
    <div class='ppp-firma-line'></div>
    <strong>$tuEm</strong><br>
    <small>Tutor(a) Empresarial | CC: $tuEmCed</small>
  </div>
</div>
";
pppFooter();

// ── DOCUMENTO 012 — Certificado Instituto ────────────────────────
elseif ($docId === '012'):
$logo012 = $instLogoUrl
    ? '<img src="'.htmlspecialchars($instLogoUrl).'" style="height:55px;object-fit:contain;display:block;margin:0 auto 10px;">'
    : '';
echo '<div class="ppp-doc" style="border:8px solid #1a5276;position:relative;">';
echo '<div style="position:absolute;top:16px;right:20px;font-size:9pt;color:#1a5276;font-weight:700;">PPP-012</div>';
echo $logo012.'
<div style="text-align:center;margin-bottom:20px;">
  <div style="font-size:11pt;font-weight:700;color:#1a5276;text-transform:uppercase;
       border-bottom:2px solid #1a5276;padding-bottom:8px;">
    '.htmlspecialchars(strtoupper($instNombreI)).'
  </div>
  <div style="font-size:9pt;color:#555;margin-top:4px;">Unidad de Vinculación · Prácticas Pre Profesionales</div>
</div>
<div style="text-align:center;margin-bottom:10px;font-size:9pt;color:#555;">Fecha: '.$hoy.'</div>
<div style="text-align:center;font-size:15pt;font-weight:700;text-transform:uppercase;
     color:#1a5276;margin:18px 0;letter-spacing:1px;">
  CERTIFICADO DE PRÁCTICAS PREPROFESIONALES
</div>
<p style="text-align:justify;line-height:2;font-size:11pt;margin:0 30px;">
  Por medio de la presente, se certifica que el(la) estudiante <strong>'.$nEstNorm.'</strong>,
  portador(a) de la cédula de ciudadanía N° <strong>'.$cedula.'</strong>, perteneciente
  a la carrera de <strong>'.$carrera.'</strong> del '.htmlspecialchars($instNombreI).'
  ha realizado sus Prácticas Pre Profesionales en la empresa
  <strong>'.$empresa.'</strong>, específicamente en el área de <strong>'.$area.'</strong>,
  desempeñándose en el cargo de «'.$cargo.'».
</p>
<p style="text-align:justify;line-height:2;font-size:11pt;margin:14px 30px;">
  Las prácticas se desarrollaron en el período comprendido entre el <strong>'.$fIni.'</strong>
  y el <strong>'.$fFin.'</strong>, conforme a lo establecido en el Artículo 12 del Reglamento
  de Prácticas Pre Profesionales, completando un total de <strong>'.$horas.' horas</strong>.
</p>
<p style="text-align:center;font-size:11pt;margin:10px 30px;">
  Este certificado se emite para los fines académicos correspondientes.
</p>
<div class="ppp-firma-row" style="margin-top:50px;">
  <div class="ppp-firma">
    <div style="height:60px;"></div>
    <div class="ppp-firma-line"></div>
    <strong>'.($coordNombre ?: $tuAc).'</strong><br>
    <small>'.($coordCargo ?: 'Coordinador/a de Prácticas Pre Profesionales').'</small><br>
    <small>'.htmlspecialchars($instNombreI).'</small>
  </div>
</div>
</div>';

endif; // $docId

?>
</div><!-- /ppp-page -->
<?php endif; // $docId ?>

<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>