/* ============================================
   Print Styles
   ============================================ */

@media print {
  @page {
    size: A4;
    margin: 20mm 18mm 15mm 22mm;
  }

  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  body {
    font-size: 10pt;
    color: #000;
  }

  .toc-sidebar,
  .toc-toggle {
    display: none !important;
  }

  .proposal-content {
    margin-left: 0 !important;
  }

  .cover-page {
    min-height: 100vh;
    page-break-after: always;
  }

  .proposal-section {
    padding: 10mm 0;
    page-break-before: always;
    max-width: 100%;
  }

  .proposal-section + .proposal-section {
    border-top: none;
  }

  h2.section-heading { font-size: 16pt; }
  h3.subsection-heading { font-size: 12pt; }

  p {
    max-width: 100%;
    orphans: 3;
    widows: 3;
  }

  .proposal-table {
    box-shadow: none;
    font-size: 8pt;
    page-break-inside: avoid;
  }

  .module-card:hover,
  .metric-card:hover {
    transform: none !important;
    box-shadow: none !important;
  }

  a { color: var(--dark-text) !important; text-decoration: none; }

  /* Gantt en impresion.
     En pantalla el grid usa min-width: 900px + overflow-x: auto para poder
     hacerle scroll horizontal. En impresion NO hay scroll: sin esto, el ancho
     imprimible (~642px en A4 con estos margenes) recorta las ultimas semanas
     y las fases que caen ahi salen VACIAS — el cliente lee que esa fase no
     tiene trabajo. Verificado en CRM-iuris v0.1 (2026-07-29): se cortaba en S5
     de 8 y la Fase 3 aparecia sin barras. */
  .gantt {
    page-break-inside: avoid;
    overflow: visible !important;
  }

  .gantt-grid {
    min-width: 0 !important;
    width: 100% !important;
    font-size: 7pt !important;
  }

  .gantt-label {
    padding: 4px 6px !important;
    font-size: 7pt !important;
  }

  .gantt-header-week {
    padding: 3px 1px !important;
    font-size: 6.5pt !important;
  }

  .gantt-header-label { padding: 4px 6px !important; font-size: 7pt !important; }

  .gantt-bar { height: 16px !important; }

  /* Cronogramas muy largos (>12 semanas) siguen quedando apretados: ahi conviene
     partir el Gantt en dos bloques o agrupar por quincenas en vez de semanas. */
}
