/* One scrolling viewport per table keeps headings visible on every screen.
   The THEAD moves as a unit, including multi-row headings. Existing frozen
   column left offsets remain intact inside it. */
@media screen{
 .table-wrap,.sticky-table-scroll{max-height:65vh;overflow:auto;position:relative;isolation:isolate}
 .sticky-table-viewport{position:relative;isolation:isolate}
 #app table>thead,#modal table>thead{position:sticky!important;top:0!important;z-index:20!important;background:#edf5fc}
 #app table>thead>tr>th,#modal table>thead>tr>th{position:sticky!important;top:auto!important}
}
@media print{
 .sticky-table-scroll,.table-wrap{max-height:none!important;overflow:visible!important}
 .sticky-table-scroll thead,.table-wrap thead{position:static!important;display:table-header-group}
}
