.business-report { min-width: 0; max-width: 100%; }
.business-report .btn { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; padding: 0; flex-shrink: 0; }
.report-controls { display: flex; flex-wrap: wrap; align-items: end; gap: .75rem; }
.report-control { flex: 0 1 220px; min-width: 150px; max-width: 100%; }
.report-control[data-report-scope="exhibit"] { flex-basis: 400px; }
.report-control[hidden] { display: none; }
.report-criteria { display: flex; flex-wrap: wrap; gap: .4rem 1.25rem; }
.report-criteria span, .report-quality li { overflow-wrap: anywhere; }
.business-report-table { font-size: .9rem; border-collapse: separate; border-spacing: 0; }
.business-report .business-report-table th, .business-report .business-report-table td { border-width: 0 1px 1px 0; }
.business-report-table td { min-width: 90px; overflow-wrap: anywhere; vertical-align: top; }
.business-report-table th { white-space: nowrap; }
.report-column-filters .form-control, .report-column-filters .form-select { min-width: 125px; }
.business-report .table-responsive { max-height: min(65vh, 42rem); overflow: auto; }
.business-report-table thead { position: sticky; top: 0; z-index: 3; background: var(--bs-body-bg, white); }
.business-report-table thead th, .business-report-table thead td { background: var(--bs-body-bg, white); }
.report-totals { overflow-x: auto; }
.report-totals table { min-width: 500px; }
.business-report-print { padding: 20px; color: #202020; background: white; font: 14px Arial, sans-serif; }
.business-report-print h1 { font-size: 24px; margin-bottom: 8px; }
.business-report-print header { margin-bottom: 18px; }
.business-report-print .table { width: 100%; border-collapse: collapse; }
.business-report-print th, .business-report-print td { border-bottom: 1px solid #bbb; padding: 6px; text-align: left; vertical-align: top; }
.business-report-print tbody tr:nth-child(even) { background: #f1f1f1; }
.business-report-print .report-quality { border: 1px solid #aaa; padding: 8px; margin-bottom: 12px; }
.business-report-print .table-responsive { overflow-x: auto; }
@media print {
  @page { size: landscape; margin: 10mm; }
  .business-report-print { padding: 0; font-size: 10px; }
  .business-report-print h1 { font-size: 18px; }
  .business-report-print .business-report-table { font-size: 10px; table-layout: fixed; }
  .business-report-print .business-report-table td { min-width: 0; }
  .business-report-print th, .business-report-print td { white-space: normal; overflow-wrap: anywhere; }
  .business-report-print .table-responsive, .business-report-print .report-totals { overflow: visible; max-height: none; }
  .business-report-print thead { display: table-header-group; position: static; }
  .business-report-print tr { break-inside: avoid; }
  .business-report-print .report-totals table { min-width: 0; table-layout: fixed; }
}
