.table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.responsive-table { width: 100%; border-collapse: collapse; }
.responsive-table th, .responsive-table td {
  padding: .5rem .75rem; border-bottom: 1px solid #eaeaea; white-space: nowrap;
}
/* Sticky first column for context while scrolling */
.responsive-table th.sticky, .responsive-table td.sticky {
  position: sticky; left: 0; z-index: 1; background: #fff;
}
.responsive-table thead th.sticky { z-index: 2; background: #fafafa; }
/* Hide non-priority columns on mobile; reveal on row expand */
@media (max-width: 768px) {
  .responsive-table .col-low { display: none; }
  .responsive-table tr.expanded .col-low { display: table-cell; }
}