/* ============================================
   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 { page-break-inside: avoid; }

  /* Gantt: ajustar a ancho de pagina (17 semanas) */
  .gantt { overflow-x: visible !important; }
  .gantt-grid {
    min-width: 0 !important;
    grid-template-columns: 92px repeat(17, 1fr) !important;
    gap: 1px !important;
    font-size: 7pt !important;
  }
  .gantt-header-label { padding: 4px 5px !important; font-size: 6pt !important; letter-spacing: 0 !important; }
  .gantt-label { padding: 4px 5px !important; font-size: 6.5pt !important; }
  .gantt-header-week { padding: 3px 0 !important; font-size: 5.5pt !important; }
  .gantt-bar { height: 14px !important; }
  .gantt-cell { min-width: 0 !important; }
}
