/* Report tables: search, filters, sort, group, columns, PDF/CSV/print (2026-11-07). Source /root/report-kit/report-table.css */
.rt-bar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 10px 0 8px; }
.rt-search { flex: 1 1 220px; min-width: 0; padding: 8px 12px; border: 1px solid #cbd5e1; border-radius: 10px; font: inherit; margin-bottom: 6px; }
.rt-bar .rt-btn { white-space: nowrap; }
.rt-bar .rt-btn.on { background: #e0f2fe; border-color: #38bdf8; }
.rt-lab { display: inline-flex; align-items: center; gap: 6px; font-size: .9rem; white-space: nowrap; }
.rt-sel { padding: 6px 8px; border: 1px solid #cbd5e1; border-radius: 8px; font: inherit; font-size: .9rem; max-width: 180px; }
.rt-cols { position: relative; }
.rt-cols > summary { list-style: none; cursor: pointer; } .rt-cols > summary::-webkit-details-marker { display: none; }
.rt-colbox { position: absolute; z-index: 30; top: calc(100% + 4px); left: 0; background: #fff; border: 1px solid #cbd5e1; border-radius: 10px; padding: 8px 12px; box-shadow: 0 10px 24px rgba(0,0,0,.12); display: grid; gap: 4px; min-width: 200px; max-height: 60vh; overflow: auto; }
.rt-colbox label { display: flex; gap: 8px; align-items: center; font-size: .92rem; white-space: nowrap; }
.rt-colbox input { width: auto; margin: 0; }
.rt-count { margin-left: auto; }
th.rt-sortable { cursor: pointer; user-select: none; white-space: nowrap; }
th.rt-sortable::after { content: " ↕"; opacity: .35; font-size: .85em; }
th.rt-asc::after { content: " ▲"; opacity: .8; } th.rt-desc::after { content: " ▼"; opacity: .8; }
.rt-frow th { padding: 4px !important; background: #f8fafc; }
.rt-f { width: 100%; min-width: 70px; padding: 5px 7px; border: 1px solid #cbd5e1; border-radius: 6px; font: inherit; font-size: .85rem; box-sizing: border-box; }
tr.rt-grow td { background: #eef2f7; font-weight: 700; }
@media (max-width: 640px) { .rt-count { margin-left: 0; width: 100%; } .rt-colbox { left: auto; right: 0; } }
@media print {
  .rt-bar, .rt-frow { display: none !important; }
  body.rt-printing .rt-print-this { width: 100%; }
  th.rt-sortable::after { content: none !important; }
}
