/* ============================================================
   EPSPilot AI — Tables
   ============================================================ */

.table-container {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
}

.data-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--font-size-sm);
}

.data-table thead {
  position: sticky;
  top: 0;
  z-index: 1;
}

.data-table th {
  background: var(--color-surface-alt);
  padding: var(--space-3) var(--space-4);
  text-align: left;
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-text-secondary);
  border-bottom: 1px solid var(--color-border);
  white-space: nowrap;
}

.data-table td {
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid var(--color-divider);
  white-space: nowrap;
}

.data-table tbody tr:last-child td {
  border-bottom: none;
}

.data-table tbody tr:hover {
  background: var(--color-surface-hover);
}

/* Right-align numeric columns */
.data-table .col-number {
  text-align: right;
}

/* Status column */
.data-table .col-status {
  text-align: center;
}

/* Positive/negative styling */
.data-table .value-positive {
  color: var(--color-positive);
  font-weight: var(--font-weight-medium);
}

.data-table .value-negative {
  color: var(--color-negative);
  font-weight: var(--font-weight-medium);
}

.data-table .value-na {
  color: var(--color-text-tertiary);
  font-style: italic;
}

/* Source link in table */
.data-table .source-link {
  color: var(--color-primary);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
}

.data-table .source-link:hover {
  text-decoration: underline;
}

/* Forecast table distinction */
.data-table--forecast {
  background: var(--color-surface-alt);
}

.data-table--forecast th {
  background: var(--color-primary-subtle);
  color: var(--color-primary);
}

/* Comparison table */
.data-table--compare th:first-child {
  min-width: 180px;
}

.data-table--compare .company-col {
  min-width: 200px;
}

/* Scroll hint for mobile */
.table-scroll-hint {
  display: none;
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  padding: var(--space-2) var(--space-4);
  text-align: center;
}
