.report-period { display: flex; align-items: center; gap: 8px; }
.report-period input { height: 35px; border: 1px solid #dfe5e5; border-radius: 7px; padding: 0 9px; color: #435159; background: #fff; font: 12px 'DM Sans', sans-serif; }
.report-period span { color: #7b868c; font-size: 11px; }
.report-search-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 22px; }
.report-search-row .search { width: min(420px, 100%); }
.report-group { margin: 0 0 27px; }
.report-group > h3 { margin: 0 0 11px; font: 800 15px Manrope, sans-serif; color: #33434a; }
.report-group .report-grid { grid-template-columns: repeat(4, 1fr); gap: 12px; }
.report-group .report-tile { min-height: 132px; padding: 16px; }
.report-tile.selected { border-color: #008d7b; background: #f4fcfa; box-shadow: 0 0 0 2px #008d7b1c; }
.report-output { margin-top: 32px; scroll-margin-top: 18px; }
.report-output .table-toolbar small { display: block; margin-top: 4px; color: #758188; font-size: 10px; }
.report-table-scroll { max-height: 620px; overflow: auto; border-top: 1px solid #eef1f1; }
.report-table-scroll thead { position: sticky; top: 0; z-index: 1; }
.report-table-scroll tfoot { position: sticky; bottom: 0; background: #f8fafa; }
.report-table-scroll td.numeric { text-align: right; font-variant-numeric: tabular-nums; }
.report-table-scroll th:has(+ th), .report-table-scroll th { white-space: nowrap; }
.report-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; border-top: 1px solid #eef1f1; background: #eef1f1; }
.report-kpis > div { display: grid; gap: 5px; padding: 14px 19px; background: #fff; }
.report-kpis small { color: #748087; }
.report-kpis b { font: 800 19px Manrope, sans-serif; }
.report-warning { margin: 0 19px 12px; padding: 10px 12px; border: 1px solid #f1d39a; border-radius: 7px; background: #fff7e6; color: #8a5b0a; font-size: 11px; }
.costing-note { margin: 12px 0 0; padding: 10px 12px; border-radius: 7px; background: #e8f6f2; color: #317268; font-size: 11px; line-height: 1.5; }
.costing-note.warning { background: #fff2d8; color: #8a5b0a; }
.costing-recovery-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.costing-recovery-head > div { display: grid; gap: 3px; }
.costing-recovery-head small, .items-editor td small { display: block; color: #78848a; font-size: 10px; margin-top: 3px; }
.historical-summary { display: flex; justify-content: space-between; align-items: center; margin-top: 14px; padding: 12px; border-radius: 7px; background: #f7f9f9; color: #667179; }
.historical-summary b { color: #243239; font: 800 16px Manrope, sans-serif; }

@media (max-width: 1100px) { .report-group .report-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 760px) {
  .report-period { width: 100%; flex-wrap: wrap; margin-top: 13px; }
  .section-head:has(.report-period) { display: block; }
  .report-group .report-grid { grid-template-columns: 1fr; }
  .report-kpis { grid-template-columns: 1fr; }
}
