<?php
$base = dirname(__FILE__);
require_once $base . '/config/app.php';
require_once $base . '/config/database.php';

$codigo = trim($_GET['codigo'] ?? '');
$cert   = null;
$error  = null;

if ($codigo) {
    try {
        $db   = getDB();
        $stmt = $db->prepare("
            SELECT
                c.id_certificado,
                c.codigo_qr,
                c.url_verificacion,
                c.archivo_pdf,
                c.tipo,
                c.firmado,
                c.firmado_por,
                c.fecha_emision,
                c.vigente,
                CONCAT(u.apellidos,' ',u.nombres)    AS estudiante,
                u.cedula,
                car.nombre                           AS carrera,
                car.horas_minimas,
                em.razon_social                      AS empresa,
                em.canton,
                em.provincia,
                pe.nombre                            AS periodo,
                pe.fecha_inicio                      AS per_inicio,
                pe.fecha_fin                         AS per_fin,
                pr.horas_cumplidas,
                pr.horas_requeridas,
                pr.nota_final,
                pr.nota_tutor_academico,
                pr.nota_tutor_empresa,
                pr.nota_empresa_100,
                pr.nota_bitacoras,
                pr.nota_informe,
                pr.fecha_inicio                      AS prac_inicio,
                pr.fecha_fin                         AS prac_fin,
                pr.area_practica,
                pr.cargo_practica,
                CONCAT(uf.apellidos,' ',uf.nombres)  AS firmado_por_nombre
            FROM   certificados c
            JOIN   practicas pr   ON pr.id_practica  = c.id_practica
            JOIN   estudiantes e  ON e.id_estudiante = pr.id_estudiante
            JOIN   usuarios u     ON u.id_usuario    = e.id_usuario
            JOIN   carreras car   ON car.id_carrera  = e.id_carrera
            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  c.codigo_qr = :cod
            LIMIT  1
        ");
        $stmt->execute([':cod' => $codigo]);
        $cert = $stmt->fetch(PDO::FETCH_ASSOC);
        if ($cert === false) $cert = null;
    } catch (Exception $ex) {
        $error = $ex->getMessage();
    }
}

function fd(?string $f, string $fmt = 'd/m/Y'): string {
    if (!$f) return '—';
    try { return (new DateTime($f))->format($fmt); } catch(Exception){ return $f; }
}
function fdEs(?string $f): string {
    if (!$f) return '—';
    $m = ['','enero','febrero','marzo','abril','mayo','junio',
          'julio','agosto','septiembre','octubre','noviembre','diciembre'];
    try {
        $d = new DateTime($f);
        return $d->format('d').' de '.$m[(int)$d->format('m')].' de '.$d->format('Y');
    } catch(Exception){ return $f; }
}
$tipoTexto = [
    'completado' => 'CERTIFICADO DE APROBACIÓN DE PRÁCTICAS PREPROFESIONALES',
    'horas'      => 'CERTIFICADO DE CUMPLIMIENTO DE HORAS',
    'aprobacion' => 'CERTIFICADO DE APROBACIÓN',
];
?>
<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8"/>
  <meta name="viewport" content="width=device-width,initial-scale=1.0"/>
  <title>Verificación de Certificado — SIGVP</title>
  <link href="https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,600;0,700;1,400&family=Sora:wght@400;600;700&family=JetBrains+Mono:wght@500&display=swap" rel="stylesheet"/>
  <style>
  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
  :root{--bg:#0d1117;--card:#161b22;--border:#30363d;--accent:#2ea8ff;
        --green:#3dffa0;--yellow:#f7b93e;--red:#ff9d93;--muted:#8b949e;--text:#e6edf3;}
  body{background:var(--bg);color:var(--text);font-family:'Sora',sans-serif;min-height:100vh;}
  body::before{content:'';position:fixed;inset:0;pointer-events:none;
    background:linear-gradient(var(--border) 1px,transparent 1px),
               linear-gradient(90deg,var(--border) 1px,transparent 1px);
    background-size:40px 40px;opacity:.18;}
  .portal{max-width:700px;margin:0 auto;padding:40px 20px;position:relative;z-index:1;}
  .inst-logo{text-align:center;margin-bottom:28px;}
  .inst-logo h1{font-size:26px;font-weight:700;letter-spacing:-.5px;}
  .inst-logo h1 span{color:var(--accent);}
  .inst-logo p{font-size:12px;color:var(--muted);margin-top:2px;}
  .search-wrap{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:22px;margin-bottom:24px;}
  .search-wrap h5{font-size:13px;font-weight:700;color:var(--muted);margin-bottom:12px;letter-spacing:.5px;text-transform:uppercase;}
  .input-row{display:flex;gap:0;}
  .input-row input{flex:1;background:#0d1117;border:1px solid var(--border);border-right:none;
                   color:var(--text);border-radius:8px 0 0 8px;padding:10px 14px;
                   font-family:'JetBrains Mono',monospace;font-size:13px;outline:none;}
  .input-row input:focus{border-color:var(--accent);}
  .input-row button{background:var(--accent);border:none;color:#fff;padding:10px 20px;
                    border-radius:0 8px 8px 0;font-weight:700;font-size:13px;cursor:pointer;}
  .not-found{background:var(--card);border:1px solid #ff9d9333;border-radius:12px;padding:40px;text-align:center;}
  .not-found .ico{font-size:44px;margin-bottom:12px;}
  .not-found h3{color:var(--red);margin-bottom:8px;}
  .not-found p{color:var(--muted);font-size:13px;}
  .empty-state{text-align:center;padding:50px 20px;color:var(--muted);}
  .empty-state .ico{font-size:48px;opacity:.35;margin-bottom:14px;}
  .empty-state p{font-size:14px;max-width:340px;margin:0 auto;line-height:1.7;}
  .cert-outer{background:var(--card);border:1px solid var(--border);border-radius:14px;overflow:hidden;margin-bottom:16px;}
  .cert-head{background:linear-gradient(160deg,#061a2e 0%,#0c2a1a 100%);
    border-bottom:3px solid;border-image:linear-gradient(90deg,#2ea8ff,#3dffa0,#2ea8ff) 1;
    padding:28px 36px 22px;display:flex;align-items:center;gap:20px;}
  .cert-seal{width:72px;height:72px;border:2px solid rgba(255,255,255,.2);border-radius:50%;
             display:flex;align-items:center;justify-content:center;font-size:30px;flex-shrink:0;
             background:rgba(255,255,255,.05);}
  .cert-inst h2{font-family:'EB Garamond',Georgia,serif;font-size:20px;font-weight:700;color:#fff;margin-bottom:2px;letter-spacing:.3px;}
  .cert-inst p{font-size:11px;color:rgba(255,255,255,.5);letter-spacing:.5px;text-transform:uppercase;}
  .cert-inst .badges{display:flex;gap:6px;margin-top:8px;}
  .badge-ces{font-size:9px;padding:2px 8px;border-radius:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;}
  .badge-ces.ces{background:#2ea8ff22;color:#2ea8ff;border:1px solid #2ea8ff44;}
  .badge-ces.caces{background:#3dffa022;color:#3dffa0;border:1px solid #3dffa044;}
  .cert-title-row{background:#0f1f30;padding:18px 36px;text-align:center;border-bottom:1px solid var(--border);}
  .cert-title-row h3{font-family:'EB Garamond',Georgia,serif;font-size:17px;font-weight:700;
                     letter-spacing:1.5px;text-transform:uppercase;color:var(--text);}
  .cert-title-row .cert-num{font-family:'JetBrains Mono',monospace;font-size:11px;color:#c792ea;margin-top:4px;}
  .cert-body{padding:28px 36px;}
  .cert-intro{font-family:'EB Garamond',Georgia,serif;font-size:14px;color:var(--muted);
              text-align:center;margin-bottom:22px;line-height:1.7;font-style:italic;}
  .student-name{text-align:center;margin-bottom:6px;}
  .student-name .name{font-family:'EB Garamond',Georgia,serif;font-size:30px;font-weight:700;color:var(--text);line-height:1.2;}
  .student-name .cedula{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--muted);margin-top:4px;}
  .name-divider{height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);
                margin:14px auto;width:60%;max-width:300px;}
  .cert-text{font-family:'EB Garamond',Georgia,serif;font-size:14px;line-height:1.9;
             color:rgba(230,237,243,.85);text-align:center;margin-bottom:24px;}
  .cert-text strong{color:var(--text);font-weight:700;}
  .cert-text em{color:var(--green);font-style:normal;font-weight:700;}
  .data-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;}
  .data-grid.cols3{grid-template-columns:1fr 1fr 1fr;}
  .data-cell{background:#0d1117;border:1px solid var(--border);border-radius:8px;padding:12px 14px;}
  .data-cell .lbl{font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:4px;}
  .data-cell .val{font-size:13px;color:var(--text);font-weight:600;}
  .data-cell .val.green{color:var(--green);font-size:20px;}
  .data-cell .val.yellow{color:var(--yellow);font-size:20px;}
  .data-cell .val.accent{color:var(--accent);font-size:20px;}
  .firma-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;
             margin-top:28px;padding-top:20px;border-top:1px solid var(--border);}
  .firma-box{text-align:center;}
  .firma-line{height:1px;background:var(--border);margin:0 10px 6px;}
  .firma-nombre{font-size:11px;font-weight:700;color:var(--text);}
  .firma-cargo{font-size:10px;color:var(--muted);margin-top:2px;}
  .cert-foot{background:#0a0f16;border-top:1px solid var(--border);
             padding:14px 36px;display:flex;justify-content:space-between;
             align-items:center;flex-wrap:wrap;gap:10px;}
  .cert-foot .qr-code{font-family:'JetBrains Mono',monospace;font-size:11px;color:#c792ea;}
  .cert-foot .fecha-em{font-size:11px;color:var(--muted);}
  .vigente-tag{font-size:10px;padding:3px 10px;border-radius:20px;font-weight:700;letter-spacing:.5px;}
  .tag-ok{background:#3dffa022;color:var(--green);border:1px solid #3dffa044;}
  .tag-no{background:#ff9d9322;color:var(--red);border:1px solid #ff9d9344;}
  .verify-stamp{background:var(--card);border:1px solid #3dffa033;border-radius:10px;
                padding:14px 20px;display:flex;align-items:center;gap:12px;margin-bottom:24px;}
  .verify-stamp .v-icon{font-size:24px;}
  .verify-stamp .v-text{font-size:12px;color:var(--muted);line-height:1.6;}
  .verify-stamp .v-text strong{color:var(--green);}
  .actions{display:flex;gap:10px;justify-content:center;margin-bottom:24px;}
  .btn-act{padding:10px 20px;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;
           border:1px solid var(--border);background:var(--card);color:var(--text);text-decoration:none;
           display:inline-flex;align-items:center;gap:6px;}
  .btn-act:hover{border-color:var(--accent);color:var(--accent);}
  .error-box{background:var(--card);border:1px solid #ff9d9344;border-radius:10px;
             padding:16px;margin-bottom:16px;font-size:12px;color:var(--red);font-family:'JetBrains Mono',monospace;}
  @media print{
    body{background:#fff!important;color:#000!important;}
    body::before{display:none;}
    .portal{padding:0;max-width:100%;}
    .inst-logo,.search-wrap,.actions,.verify-stamp,.error-box{display:none!important;}
    .cert-outer{border:2px solid #000;border-radius:0;}
    .cert-head{background:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
    .cert-body,.cert-title-row,.cert-foot{background:#fff!important;color:#000!important;
      -webkit-print-color-adjust:exact;print-color-adjust:exact;}
    .data-cell{border:1px solid #ccc!important;background:#f9f9f9!important;}
    .data-cell .lbl{color:#666!important;}
    .data-cell .val{color:#000!important;}
    .cert-text,.cert-intro{color:#333!important;}
    .student-name .name{color:#000!important;}
  }
  @media(max-width:520px){.data-grid,.data-grid.cols3,.firma-row{grid-template-columns:1fr;}}
  </style>
</head>
<body>
<div class="portal">

  <div class="inst-logo">
    <h1>SIG<span>VP</span></h1>
    <p>Sistema de Gestión de Vinculación y Prácticas Preprofesionales</p>
  </div>

  <div class="search-wrap">
    <h5>🔍 Verificar autenticidad del certificado</h5>
    <form method="GET">
      <div class="input-row">
        <input type="text" name="codigo"
               placeholder="Código — ej: SIGVP-C-00001-46A73"
               value="<?= htmlspecialchars($codigo) ?>" required>
        <button type="submit">Verificar</button>
      </div>
    </form>
  </div>

<?php if ($error): ?>
  <div class="error-box">⚠️ Error de consulta: <?= htmlspecialchars($error) ?></div>
<?php endif; ?>

<?php if ($codigo && !$cert && !$error): ?>
  <div class="not-found">
    <div class="ico">❌</div>
    <h3>Certificado no encontrado</h3>
    <p>El código <code style="color:#c792ea;"><?= htmlspecialchars($codigo) ?></code> no corresponde a ningún certificado en el sistema SIGVP.</p>
    <p style="margin-top:10px;">Si crees que es un error, contacta a la secretaría de la institución.</p>
  </div>

<?php elseif ($cert): ?>
  <div class="verify-stamp">
    <div class="v-icon"><?= $cert['vigente'] ? '✅' : '🚫' ?></div>
    <div class="v-text">
      <strong><?= $cert['vigente'] ? 'Certificado verificado y vigente' : 'Certificado ANULADO' ?></strong><br>
      Verificado el <?= date('d/m/Y \a \l\a\s H:i:s') ?> · Sistema SIGVP
      · Código: <code style="color:#c792ea;"><?= htmlspecialchars($cert['codigo_qr']) ?></code>
    </div>
  </div>

  <div class="actions">
    <button class="btn-act" onclick="window.print()">🖨️ Imprimir certificado</button>
  </div>

  <div class="cert-outer">
    <div class="cert-head">
      <div class="cert-seal">🎓</div>
      <div class="cert-inst">
        <h2>Institución de Educación Superior</h2>
        <p>Unidad de Vinculación con la Colectividad · Prácticas Preprofesionales</p>
        <div class="badges">
          <span class="badge-ces ces">CES</span>
          <span class="badge-ces caces">CACES</span>
          <span class="badge-ces" style="background:#f7b93e22;color:#f7b93e;border:1px solid #f7b93e44;">SIGVP <?= defined('APP_VERSION') ? APP_VERSION : '1.0' ?></span>
        </div>
      </div>
    </div>

    <div class="cert-title-row">
      <h3><?= $tipoTexto[$cert['tipo']] ?? 'CERTIFICADO DE PRÁCTICAS PREPROFESIONALES' ?></h3>
      <div class="cert-num">N.° <?= htmlspecialchars($cert['codigo_qr']) ?></div>
    </div>

    <div class="cert-body">
      <p class="cert-intro">La Institución de Educación Superior, a través de la Unidad de Vinculación<br>con la Colectividad, certifica que:</p>

      <div class="student-name">
        <div class="name"><?= htmlspecialchars($cert['estudiante']) ?></div>
        <div class="cedula">Cédula de identidad: <?= htmlspecialchars($cert['cedula']) ?></div>
      </div>
      <div class="name-divider"></div>

      <p class="cert-text">
        estudiante de la carrera de <strong><?= htmlspecialchars($cert['carrera']) ?></strong>,
        ha completado satisfactoriamente sus prácticas preprofesionales
        en la organización <strong><?= htmlspecialchars($cert['empresa']) ?></strong>
        <?php if ($cert['area_practica']): ?>
          en el área de <strong><?= htmlspecialchars($cert['area_practica']) ?></strong><?php if ($cert['cargo_practica']): ?>,
          desempeñando el cargo de <strong><?= htmlspecialchars($cert['cargo_practica']) ?></strong><?php endif; ?>
        <?php endif; ?>,
        durante el período académico <strong><?= htmlspecialchars($cert['periodo']) ?></strong>,
        cumpliendo <em><?= $cert['horas_cumplidas'] ?> horas</em> de prácticas preprofesionales,
        conforme a los requisitos establecidos por el Consejo de Educación Superior (CES).
      </p>

      <div class="data-grid cols3">
        <div class="data-cell">
          <div class="lbl">Horas cumplidas</div>
          <div class="val green"><?= $cert['horas_cumplidas'] ?><span style="font-size:13px;font-weight:400;color:var(--muted);"> h</span></div>
          <div style="font-size:10px;color:var(--muted);">Requeridas: <?= $cert['horas_requeridas'] ?>h</div>
        </div>
        <div class="data-cell">
          <div class="lbl">Nota final</div>
          <div class="val <?= $cert['nota_final'] ? ($cert['nota_final']>=60?'green':'yellow') : '' ?>">
            <?= $cert['nota_final'] ? number_format((float)$cert['nota_final'],2) : '—' ?>
          </div>
          <?php if ($cert['nota_final']): ?>
          <div style="font-size:10px;color:<?= $cert['nota_final']>=7?'var(--green)':'var(--yellow)' ?>;">
            <?= $cert['nota_final']>=60 ? 'Aprobado' : 'No aprobado' ?>
          </div>
          <?php endif; ?>
        </div>
        <div class="data-cell">
          <div class="lbl">Período académico</div>
          <div class="val"><?= htmlspecialchars($cert['periodo']) ?></div>
        </div>
      </div>

      <div class="data-grid">
        <div class="data-cell">
          <div class="lbl">Fecha de inicio</div>
          <div class="val"><?= fdEs($cert['prac_inicio']) ?></div>
        </div>
        <div class="data-cell">
          <div class="lbl">Fecha de finalización</div>
          <div class="val"><?= fdEs($cert['prac_fin']) ?></div>
        </div>
        <div class="data-cell">
          <div class="lbl">Empresa / Institución</div>
          <div class="val"><?= htmlspecialchars($cert['empresa']) ?></div>
        </div>
        <div class="data-cell">
          <div class="lbl">Carrera</div>
          <div class="val"><?= htmlspecialchars($cert['carrera']) ?></div>
        </div>
      </div>

      <?php
        $nTutAcad = $cert['nota_tutor_academico'] !== null ? (float)$cert['nota_tutor_academico'] : null;
        $nTutEmp  = $cert['nota_empresa_100']     !== null ? (float)$cert['nota_empresa_100']     :
                   ($cert['nota_tutor_empresa']   !== null ? (float)$cert['nota_tutor_empresa'] * 10 : null);
        $nBits    = $cert['nota_bitacoras']        !== null ? (float)$cert['nota_bitacoras']        : null;
        $nInf     = $cert['nota_informe']          !== null ? (float)$cert['nota_informe']           : null;
        $hayNotas = ($nTutAcad !== null || $nTutEmp !== null || $nBits !== null || $nInf !== null);
      ?>
      <?php if ($hayNotas): ?>
      <div style="font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;
                  color:var(--muted);margin-bottom:8px;">
        <i style="color:var(--yellow);">★</i> Calificaciones — escala 0 a 100 pts
      </div>
      <div class="data-grid" style="grid-template-columns:1fr 1fr 1fr 1fr;margin-bottom:20px;">
        <div class="data-cell" style="border-top:2px solid #2ea8ff;">
          <div class="lbl">Tutor Académico</div>
          <div class="lbl" style="color:#4a5568;margin-bottom:6px;">peso 25%</div>
          <?php if ($nTutAcad !== null): ?>
          <div class="val" style="color:#2ea8ff;font-size:20px;"><?= number_format($nTutAcad,1) ?></div>
          <div style="font-size:9px;color:var(--muted);margin-top:2px;">/100 pts</div>
          <?php else: ?>
          <div style="font-size:12px;color:var(--muted);">Pendiente</div>
          <?php endif; ?>
        </div>
        <div class="data-cell" style="border-top:2px solid #c792ea;">
          <div class="lbl">Tutor Empresa</div>
          <div class="lbl" style="color:#4a5568;margin-bottom:6px;">peso 30%</div>
          <?php if ($nTutEmp !== null): ?>
          <div class="val" style="color:#c792ea;font-size:20px;"><?= number_format($nTutEmp,1) ?></div>
          <div style="font-size:9px;color:var(--muted);margin-top:2px;">/100 pts</div>
          <?php else: ?>
          <div style="font-size:12px;color:var(--muted);">Pendiente</div>
          <?php endif; ?>
        </div>
        <div class="data-cell" style="border-top:2px solid #f7b93e;">
          <div class="lbl">Bitácoras</div>
          <div class="lbl" style="color:#4a5568;margin-bottom:6px;">peso 20%</div>
          <?php if ($nBits !== null): ?>
          <div class="val" style="color:#f7b93e;font-size:20px;"><?= number_format($nBits,1) ?></div>
          <div style="font-size:9px;color:var(--muted);margin-top:2px;">/100 pts</div>
          <?php else: ?>
          <div style="font-size:12px;color:var(--muted);">Pendiente</div>
          <?php endif; ?>
        </div>
        <div class="data-cell" style="border-top:2px solid #3dffa0;">
          <div class="lbl">Informe Final</div>
          <div class="lbl" style="color:#4a5568;margin-bottom:6px;">peso 25%</div>
          <?php if ($nInf !== null): ?>
          <div class="val" style="color:#3dffa0;font-size:20px;"><?= number_format($nInf,1) ?></div>
          <div style="font-size:9px;color:var(--muted);margin-top:2px;">/100 pts</div>
          <?php else: ?>
          <div style="font-size:12px;color:var(--muted);">Pendiente</div>
          <?php endif; ?>
        </div>
      </div>
      <?php endif; ?>

      <p class="cert-text" style="font-size:13px;margin-bottom:0;">
        Se expide el presente certificado en cumplimiento del artículo 87 de la Ley Orgánica de Educación Superior (LOES)
        y los requerimientos del sistema de información CES, para los fines legales que el interesado estime convenientes.
      </p>

      <div class="firma-row">
        <div class="firma-box">
          <div style="height:40px;"></div>
          <div class="firma-line"></div>
          <div class="firma-nombre">Coordinador/a de Prácticas</div>
          <div class="firma-cargo">Unidad de Vinculación</div>
        </div>
        <div class="firma-box">
          <div style="height:40px;"></div>
          <div class="firma-line"></div>
          <div class="firma-nombre">Director/a de Carrera</div>
          <div class="firma-cargo"><?= htmlspecialchars($cert['carrera']) ?></div>
        </div>
        <div class="firma-box">
          <div style="height:40px;"></div>
          <div class="firma-line"></div>
          <div class="firma-nombre"><?= htmlspecialchars($cert['firmado_por_nombre'] ?? 'Secretaría General') ?></div>
          <div class="firma-cargo">Secretaría General</div>
        </div>
      </div>
    </div>

    <div class="cert-foot">
      <div>
        <div class="qr-code"><?= htmlspecialchars($cert['codigo_qr']) ?></div>
        <div class="fecha-em">Emitido: <?= fdEs($cert['fecha_emision']) ?></div>
      </div>
      <div style="text-align:center;">
        <div style="font-size:10px;color:var(--muted);margin-bottom:4px;">Verificar en:</div>
        <div style="font-size:10px;color:var(--accent);word-break:break-all;max-width:220px;">
          <?= htmlspecialchars($cert['url_verificacion'] ?? (defined('BASE_URL') ? BASE_URL.'/verificar_cert.php?codigo='.$cert['codigo_qr'] : '')) ?>
        </div>
      </div>
      <div>
        <span class="vigente-tag <?= $cert['vigente'] ? 'tag-ok' : 'tag-no' ?>">
          <?= $cert['vigente'] ? '✓ VIGENTE' : '✗ ANULADO' ?>
        </span>
      </div>
    </div>
  </div>

<?php else: ?>
  <div class="empty-state">
    <div class="ico">🔍</div>
    <p>Ingresa el código QR del certificado para verificar su autenticidad en tiempo real.</p>
  </div>
<?php endif; ?>

  <div style="text-align:center;margin-top:24px;font-size:11px;color:var(--muted);padding-bottom:40px;">
    SIGVP · Verificador público de certificados · Requerimiento CES Art. 87 LOES / CACES
  </div>
</div>
</body>
</html>