/**
 * impresion.css — cómo se ve cualquier pantalla al imprimirla.
 *
 * El mismo documento sirve para papel y para PDF: el diálogo del navegador
 * ofrece «Guardar como PDF», así que no hay un segundo diseño que mantener ni
 * una dependencia que actualizar. Lo que está en pantalla es lo que sale.
 *
 * Todo lo de aquí vive dentro de `@media print`: en pantalla no cambia nada.
 */

/* Cabecera del documento: solo existe en papel. En pantalla estorbaría, porque
   esos datos ya están en la barra superior. */
.solo-impresion { display: none; }

@media print {
  /* Nada de lo que solo sirve para tocar: barra lateral, botones, filtros.
     Un botón «Exportar» impreso en papel es ruido que además confunde. */
  .sidebar, .topbar, .caja-bajo, .esperas, .toast-stack,
  .no-imprimir, .btn, .modal-backdrop { display: none !important; }

  .solo-impresion { display: block; }

  html, body, #root {
    height: auto;
    background: #fff;
    color: #000;
  }

  .shell { display: block; }
  .main, .content { overflow: visible; padding: 0; background: #fff; }

  /* Márgenes del papel. 14 mm entra en cualquier impresora y deja sitio para
     la fecha y el número de página que añade el navegador. */
  @page { margin: 14mm; size: A4; }

  /* Sin sombras ni fondos: gastan tinta y en blanco y negro solo ensucian. */
  .card, .notice, .kpi {
    box-shadow: none !important;
    background: #fff !important;
    border: 1px solid #999 !important;
    break-inside: avoid;
  }

  .grid, .grid-2, .grid-3, .grid-4 {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)) !important;
    gap: 6mm !important;
  }

  /* Una tabla partida entre dos páginas sin repetir la cabecera obliga a pasar
     hojas para saber qué columna es cuál. */
  table { width: 100%; border-collapse: collapse; }
  thead { display: table-header-group; }
  tr { break-inside: avoid; }
  th, td {
    border-bottom: 1px solid #bbb;
    padding: 2mm 1.5mm;
    font-size: 9.5pt;
    color: #000;
  }
  th { border-bottom: 1.5px solid #333; text-align: left; }
  .num, td.num, th.num { text-align: right; }

  /* Las etiquetas de color se leen igual en blanco y negro. */
  .tag {
    border: 1px solid #666 !important;
    background: #fff !important;
    color: #000 !important;
  }

  /* Las barras de proporción sí se conservan: son el dato, no decoración. */
  .oc-barra { border: 1px solid #999; }
  .oc-relleno { background: #555 !important; print-color-adjust: exact; }

  h1 { font-size: 15pt; }
  h2 { font-size: 12pt; }
  body { font-size: 10pt; }

  a[href]::after { content: ''; }   /* sin URLs impresas tras cada enlace */
}

/* --------------------------- cabecera del papel --------------------------- */

.hoja-cabecera {
  border-bottom: 2px solid #000;
  padding-bottom: 3mm;
  margin-bottom: 5mm;
}
.hoja-cabecera .hc-titulo { font-size: 15pt; font-weight: 700; }
.hoja-cabecera .hc-sub    { font-size: 10pt; color: #333; margin-top: 1mm; }
.hoja-cabecera .hc-pie    { font-size: 8.5pt; color: #555; margin-top: 2mm; }

/* Firma para el arqueo: un documento que se archiva necesita dónde firmar. */
.hoja-firmas {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20mm;
  margin-top: 18mm;
}
.hoja-firmas div {
  border-top: 1px solid #000;
  padding-top: 2mm;
  font-size: 9pt;
  text-align: center;
}
