@page { size: A3 landscape; margin: 10mm; }
@media print {
  :root { --tl-label-w: 60mm; --tl-col-w: 15mm; }
  html, body { background: #fff; font-size: 9px; }
  .nav, .toolbar, .tabs, .btn, .drawer, .drawer-backdrop, .palette-backdrop, .toast, .tl-zoom, .no-print { display: none !important; }
  .page { max-width: none; padding: 0; }
  .page-head { margin-bottom: 6mm; }
  .tl-wrap { overflow: visible; max-height: none; border: 0; }
  .tl { width: 100%; grid-template-columns: var(--tl-label-w) repeat(var(--months), minmax(0, 1fr)); }
  .tl .bar { font-size: 7px; height: 5mm; padding: 0 1px; }
  .tl .c-cell { padding: 1px; }
  .tl .c-total { font-size: 7px; padding: 0 1px; }
  .tl .h-month { font-size: 6.5px; letter-spacing: 0; }
  .tl .c-cell.is-eos::after { font-size: 6px; }
  .tl .c-label, .tl .h-year, .tl .h-month { position: static; }
  .tl > div { min-height: 8mm; }
  .tl .bar, .tl .c-group, .tl .h-year, .tl .h-month, .chip--capex, .tl .r-grand > div { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .print-only { display: block !important; }
  .tl .c-label--item { grid-template-rows: auto auto auto; }
  .tl .c-label--item .sub--desc { display: block !important; }
  .print-section { break-inside: avoid; margin-top: 8mm; }
  .print-section h2 { font-size: 14px; margin-bottom: 3mm; }
  .tl .c-group, .tl .r-total { break-inside: avoid; }
  a { color: inherit; }
}
.print-only { display: none; }
