/* OnlyFanOuts — Table Styles */

table { width: 100%; border-collapse: collapse; margin-top: 20px; }
th, td { padding: 12px; text-align: left; border-bottom: 1px solid #ddd; }
th { background: #f8f9fa; font-weight: 600; color: #333; }
thead th { position: sticky; top: 0; background: #f8f9fa; z-index: 10; }
tbody tr:nth-child(odd) { background: #ffffff; }
tbody tr:nth-child(even) { background: #f5f5f5; }
tbody tr:hover { background: #eef6ff; }

/* Rotated table headers */
th.rotate { height: 180px; white-space: nowrap; vertical-align: bottom; padding: 8px 4px; }
th.rotate > div:not(.col-tooltip) { transform: rotate(-90deg); transform-origin: bottom; margin-bottom: 10px; margin-left: 10px; width: 20px; text-align: left; }

/* Responsive actions column */
@media (max-width: 900px) {
  th.actions-col, td.actions-col { width: 340px; }
}

/* Scroll wrapper for wide tables */
.table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.table-scroll > table.vis-table,
.table-scroll > table.wa-table,
.table-scroll > table.wa-results-table {
  width: max-content;
  min-width: 100%;
}
