/* Keep every financial table and its outer rule inside the printable area. */
@media print {
  .finance-shell, .finance-main, .finance-weekly-report,
  .finance-weekly-paper, .finance-report-scroll, .finance-weekly-grid,
  .collection-cohort-block {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }
  .finance-main { width: 100% !important; margin: 0 !important; padding: 0 1.5mm !important; }
  .finance-weekly-paper { width: 100% !important; padding: 0 !important; }
  .finance-weekly-report table, .finance-report-table {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    table-layout: fixed !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 0 !important;
  }
  .finance-weekly-report :is(th,td), .finance-report-table :is(th,td) {
    box-sizing: border-box !important;
    border: 0 !important;
    border-right: .25mm solid #454d46 !important;
    border-bottom: .25mm solid #454d46 !important;
    overflow-wrap: anywhere;
  }
  .finance-weekly-report tr > :first-child, .finance-report-table tr > :first-child {
    border-left: .25mm solid #454d46 !important;
  }
  .finance-weekly-report thead tr:first-child > *, .finance-report-table thead tr:first-child > * {
    border-top: .25mm solid #454d46 !important;
  }
  .finance-weekly-report thead tr:nth-child(2) th { white-space: normal !important; }
  .finance-weekly-report .numeric { white-space: normal !important; overflow-wrap: anywhere; }
  .finance-weekly-report thead, .finance-report-table thead { display: table-header-group; }
  .finance-weekly-report tr, .finance-report-table tr { break-inside: avoid; }
}
