/* ============================================================================
   print.css — Reglas de impresión (boletín y escarapela en hoja A4)
   Se carga con media="print": no afecta a la pantalla.
   ========================================================================== */

@page {
  size: A4 portrait;
  margin: 14mm 12mm;
}

html, body {
  background: #fff !important;
  color: #0f172a !important;
}

/* Todo lo que no es contenido imprimible desaparece */
#carga, #login, #portada, .lateral, .topbar, .pie, .velo, .toasts, .modal,
.no-print, .pestanas, .filtros, .cab-vista__acciones, .btn, .btn-icono,
.nav, .lateral__pie, .enlace, .cred-item__lupa, .informes__lista,
.guardado, .acciones {
  display: none !important;
}

.app { display: block !important; }
.cuerpo { display: block !important; }
.vista { padding: 0 !important; max-width: none !important; }

/* Los paneles pierden sombras y fondos oscuros */
.tarjeta, .boletin, .hero, .hacker, .kpi, .escarapela {
  background: #fff !important;
  color: #0f172a !important;
  border-color: #cbd5e1 !important;
  box-shadow: none !important;
  break-inside: avoid;
}
.tarjeta::before, .hero__aura, .hacker__halo, .escarapela__trama, .rejilla-fondo { display: none !important; }

.tarjeta__head h2, .cab-vista__t, h1, h2, h3, h4 { color: #0f172a !important; }
p, td, th, dd, li, small, span { color: #334155 !important; }

/* --------------------------------- boletín -------------------------------- */

.boletin {
  padding: 0 !important;
  border: 0 !important;
  break-inside: avoid;
}
.boletin__head { border-bottom: 2px solid #0f172a !important; }
.boletin__logo, .escarapela__logo {
  background: #0f172a !important;
  color: #fff !important;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
.boletin__valor { color: #0f172a !important; }
.retro { background: #f1f5f9 !important; border-color: #cbd5e1 !important; }
.tabla th { color: #475569 !important; border-bottom-color: #cbd5e1 !important; }
.tabla td { border-bottom-color: #e2e8f0 !important; }
.tabla tbody tr:hover { background: transparent !important; }

.pill, .chip, .pill--mini {
  border-color: #cbd5e1 !important;
  background: #f8fafc !important;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

/* ------------------------------- escarapela ------------------------------- */

.escarapela-zona { display: block !important; }
.escarapela-info { display: none !important; }
.tarjeta3d { perspective: none !important; }
.tarjeta3d__interior { transform: none !important; }
.tarjeta3d.is-flip .tarjeta3d__interior { transform: none !important; }

.escarapela {
  width: 86mm !important;          /* tamaño carnet estándar */
  min-height: auto !important;
  margin: 0 auto !important;
  border: 1px solid #94a3b8 !important;
  break-inside: avoid;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
.escarapela--rev {
  position: static !important;
  transform: none !important;
  margin-top: 8mm !important;
  backface-visibility: visible !important;
}
.escarapela__qr { background: #fff !important; }

/* ---------------------- lotes del panel del docente ----------------------- */

/* Escarapelas: tres por fila, sin cortar ninguna tarjeta a la mitad. */
.cred-rejilla {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 6mm !important;
}
.cred-item { break-inside: avoid; }
.cred-item .escarapela { width: auto !important; min-height: auto !important; }

/* Informes: un boletín por página. */
.informes { display: block !important; }
.informes__hoja { width: 100% !important; }
.informes-todos { display: block !important; }
.informes-todos .boletin { break-after: page; }
.informes-todos .boletin:last-child { break-after: auto; }

/* ------------------------- informe académico en carta --------------------- */

.boletin { max-width: none !important; width: 100% !important; }
.inf-cab { border-bottom-color: #0f172a !important; }
.inf-cab__logo { background: #0f172a !important; color: #fff !important; }
.inf-tabla { font-size: 10.5pt; }
.inf-tabla th, .inf-tabla td { border-bottom-color: #cbd5e1 !important; }
.inf-tabla tbody tr:nth-child(even) { background: #f4f6fb !important; }
.inf-total { background: #eef4fb !important; }
.inf-retro, .inf-resumen { background: #f6f8fc !important; }
.inf-nota-final__valor, .inf-nota { color: #0f172a !important; }
.taller-export { display: none !important; }

/* --------------------------------- gráficas ------------------------------- */

.lienzo { break-inside: avoid; }
canvas { max-width: 100% !important; height: auto !important; }

a[href]::after { content: '' !important; }
