.data-table {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  overflow: hidden;
}
.data-table table { width: 100%; border-collapse: collapse; }
.data-table caption { text-align: left; padding: var(--space-md) var(--space-lg); font-family: var(--font-display); font-size: 1.15rem; }
.data-table th, .data-table td { padding: var(--space-sm) var(--space-md); text-align: left; border-bottom: 1px solid var(--color-border); }
.data-table th { background: var(--color-bg); font-weight: 600; }

@media (max-width: 640px) {
  .data-table thead { position: absolute; left: -9999px; }
  .data-table tr {
    display: block;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-card);
    margin: var(--space-sm); padding: var(--space-sm);
  }
  .data-table td {
    display: flex; justify-content: space-between; gap: var(--space-md);
    border-bottom: 1px dashed var(--color-border); padding: var(--space-xs) 0;
  }
  .data-table td:last-child { border-bottom: none; }
  .data-table td::before {
    content: attr(data-label);
    font-weight: 600; color: var(--color-text-muted);
  }
}
