/* src/ui/estilos/impresion.css
 *
 * Estilos de @media print para el informe consolidado (src/ui/informe.js). Reemplaza
 * deliberadamente el mecanismo de iframe + doc.write() de app-referencia.html (ver
 * docs/ANALISIS_APP_REFERENCIA.md §8): se imprime la propia página con window.print(),
 * ocultando el chrome de navegación vía .no-imprimir.
 *
 * El documento impreso NO es una copia de la pantalla: usa su propia portada de página
 * completa con membrete e índice (.informe-portada-impresion, oculta en pantalla,
 * definida en pantallas.css) en vez de la franja de color interactiva, y aplana las
 * tarjetas de la interfaz web a secciones de documento separadas por líneas finas — se
 * conservan únicamente los colores semánticos de cumplimiento (semáforo, urgencia),
 * que comunican información real, no decoración.
 */

@page {
  size: A4;
  margin: 2cm 1.5cm 2.2cm 1.5cm;
}
/* Intento de pie de página con número; el soporte de @page margin boxes es inconsistente
 * entre navegadores (no funciona en Chrome al momento de escribir esto) — se deja porque
 * es inofensivo donde no aplica, pero el documento no depende de él: ya trae portada e
 * índice propios, la numeración de página no es indispensable para navegarlo.
 */
@page {
  @bottom-center {
    content: "IA Law Digital Lawyers — Informe de cumplimiento de IA — Página " counter(page);
    font-size: 8pt;
    color: #787878;
  }
}

@media print {
  .no-imprimir { display: none !important; }

  body { background: #fff; font-size: 11pt; color: #1a1a1a; }

  /* Fuerza la impresión de fondos de color (badges de semáforo/riesgo/urgencia,
     membrete de la portada) — sin esto, la mayoría de navegadores los omiten. */
  * { print-color-adjust: exact; -webkit-print-color-adjust: exact; }

  /* La portada de impresión ocupa su propia primera página; el resto del documento
     empieza limpio en la página siguiente. */
  .informe-portada-impresion { display: block; break-after: page; }

  /* Tarjetas de interfaz web -> secciones de documento: sin fondo, sin esquinas
     redondeadas, sin sombra ni hover — separadas por una línea fina, no por una caja. */
  .card, .tarjeta-sistema, .timeline-card {
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 0 1.2em !important;
    margin-bottom: 1.2em !important;
    border-bottom: 1px solid #ccc !important;
    break-inside: avoid;
  }
  .card:last-child, .tarjeta-sistema:last-child, .timeline-card:last-child { border-bottom: none !important; }
  .card-title { color: #1a1a1a !important; }

  /* La portada empieza su propia página impresa; el resto del informe no compite por
     espacio con la banda de color y el logo de la primera hoja. */
  .informe-portada { break-after: page; }

  /* Las tablas del informe (portafolio, dimensiones) no deben partir una fila a la
     mitad ni perder el encabezado de columnas al saltar de página. */
  table { break-inside: auto; }
  thead { display: table-header-group; }
  tr { break-inside: avoid; break-after: auto; }

  /* Evita dejar una sola línea de párrafo suelta al pie o inicio de página. */
  p, li { orphans: 3; widows: 3; }

  .shell-header, .shell-footer, .tab-nav, .tab-nav-envoltorio, .btn-home { display: none !important; }

  /* Chrome de interacción que nunca debe aparecer en un PDF/impresión: el gate de
     aviso legal, los modales (glosario/historial/fuentes) y el widget de contacto. */
  .disclaimer-screen, .modal-overlay, .wa__btn_popup, .wa__popup_chat_box { display: none !important; }

  a { color: inherit; text-decoration: none; }

  /* padding-left uniforme: sin él, la primera palabra de cada fila (la ficha de datos
     y el índice de la portada, los títulos y párrafos de cada sección) queda pegada al
     margen izquierdo de la página impresa. Se aplica una sola vez aquí, en el
     contenedor raíz que envuelve toda página del informe (portada incluida, ver
     informe.js), para que la separación sea la misma en todas las hojas en vez de
     corregirla hoja por hoja. */
  .contenedor { max-width: 100%; padding: 0 0 0 var(--space-2); }

  /* Tablas: encabezado repetido en cada página, filas que no se parten a la mitad. */
  table.tabla-limpia thead { display: table-header-group; }
  table.tabla-limpia tr { break-inside: avoid; }
  table.tabla-limpia th { background: none !important; }

  /* Evita dejar una sola línea de párrafo suelta al pie o inicio de página. */
  p, li { orphans: 3; widows: 3; }
}
