#pllReportView .pllReportShell { padding:16px; min-width:0; }
#pllReportView .pllReportFilters { display:flex; flex-wrap:wrap; align-items:end; gap:12px; }
#pllReportView .pllReportFilters label { display:flex; flex-direction:column; gap:6px; min-width:150px; flex:1 1 150px; }
#pllReportView .pllReportFilters input, #pllReportView .pllReportFilters select { width:100%; min-height:44px; }
#pllReportView .pllReportFilters button { min-height:44px; }
#pllReportView .pllReportSearch { flex-basis:220px; }
#pllReportView .pllReportWarning { border-left:3px solid var(--warning, #a16207); background:var(--warning-bg, #fef9e7); color:var(--text, #172534); padding:12px; line-height:1.5; }
#pllReportView .pllReportHint { font-size:14px; line-height:1.5; }
#pllReportView .pllReportTotals { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0; }
#pllReportView .pllReportTotals span { border:1px solid var(--border, #dae4eb); border-radius:8px; padding:8px 12px; }
#pllReportView .pllReportHeading { font-size:18px; margin:20px 0 12px; }
#pllReportView .pllReportSummary { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:12px; }
#pllReportView .pllReportClassCard { border:1px solid var(--border, #dae4eb); border-radius:10px; padding:12px; min-width:0; }
#pllReportView .pllReportClassCard p { line-height:1.5; margin:8px 0; }
#pllReportView .pllReportClassCard button { min-height:44px; width:100%; }
#pllReportView .pllReportTable { min-width:1000px; }
#pllReportView .pllReportTable td { vertical-align:top; white-space:normal; line-height:1.5; }
#pllReportView .pllReportTable small { display:block; margin-top:4px; }
#pllReportView .pllReportTable td:last-child { min-width:260px; max-width:380px; }
#pllReportView .pllReportPager { display:flex; justify-content:center; align-items:center; gap:12px; padding:16px 0; }
#pllReportView .pllReportPager button { min-height:44px; }
@media (max-width:600px) {
  #pllReportView .pllReportShell { padding:12px; }
  #pllReportView .pllReportFilters label { min-width:0; flex-basis:calc(50% - 12px); }
  #pllReportView .pllReportFilters .pllReportSearch { flex-basis:100%; }
  #pllReportView .pllReportFilters input, #pllReportView .pllReportFilters select { font-size:16px; }
  #pllReportView .pllReportSummary { grid-template-columns:1fr; }
  #pllReportView .pllReportTableWrap { overflow:visible; }
  #pllReportView .pllReportTable, #pllReportView .pllReportTable tbody { display:block; min-width:0; width:100%; }
  #pllReportView .pllReportTable thead { display:none; }
  #pllReportView .pllReportTable tr { display:block; padding:12px; border:1px solid var(--border, #dae4eb); border-radius:10px; margin:8px 0; }
  #pllReportView .pllReportTable td, #pllReportView .pllReportTable td:last-child { display:block; width:auto; min-width:0; max-width:none; padding:6px 0; border:0; overflow-wrap:anywhere; }
  #pllReportView .pllReportTable td::before { content:attr(data-label) ': '; font-weight:600; }
}
