@media print {
  body { background: white; }
  .sidebar, .topbar, .banner, .no-print, .skip-link, .menu-btn { display: none !important; }
  .app, .workspace, main { display: block; padding: 0; }
  .card, .hero, .report-cover, .gantt-chart, .schedule-summary { box-shadow: none; }
  .kpi, .project-card, .list-card, .keep, .track, .alert-card, .step-card, .gantt-row, .gantt-axis, .schedule-summary { break-inside: avoid; }
  .report-block h2, .section-head, h3 { break-after: avoid; }
  .data-table thead { display: table-header-group; }
  .project-details summary { display: none; }
  .project-details > * { display: block; }
  .data-table tr { break-inside: avoid; }
  .hero, .report-cover, .progress span, .bar-fill, .chip, .brand-mark,
  .gantt-head, .gantt-bar, .gantt-bar-fill, .gantt-diamond, .gantt-cutoff, .gantt-week-line,
  .gantt-axis, .gantt-axis-line, .gantt-axis-tick i, .gantt-group, .gantt-row-index, .gantt-key, .gantt-key-fill, .gantt-key-diamond {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .gantt-head, .gantt-row, .gantt-axis { grid-template-columns: 34% 66%; }
  .gantt-head-track { display: block !important; }
  .gantt-row-label { background: #fbfdff !important; padding-bottom: 9px !important; }
  .gantt-row-track, .gantt-axis-track { border-left: 1px solid #e8f0f8 !important; padding-top: 8px !important; }
  .followup .data-table { font-size: 10px; table-layout: fixed; width: 100%; }
  .followup .data-table th, .followup .data-table td { padding: 6px 5px; }
  .followup .data-table th { font-size: 9px; letter-spacing: 0; }
  .followup .data-table th:nth-child(1) { width: 22%; }
  .followup .data-table th:nth-child(2) { width: 13%; }
  .followup .data-table th:nth-child(3) { width: 23%; }
  .followup .data-table th:nth-child(4) { width: 16%; }
  .followup .data-table th:nth-child(5) { width: 12%; }
  .followup .data-table th:nth-child(6) { width: 14%; }
  .followup .chip, .followup .signal { font-size: 9px; }
  .followup-progress { min-width: 0; }
  .followup-progress strong { font-size: 13px; }
  .followup-facts { font-size: 10px; grid-template-columns: auto 1fr; }
  .gantt-row-label strong { font-size: 12px; }
  .gantt-row-label span:not(.gantt-row-index) { font-size: 10px; }
  .gantt-axis-tick em { font-size: 9px; }
  .followup { overflow: visible; }
  .print-footer {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    font-size: 10px;
  }
  .report { padding-bottom: 28px; }
  a { text-decoration: none; }
  @page { size: portrait; margin: 12mm; }
}
