.table {
  width: 100%;
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--color-border-subtle);
}

.table__head {
  background: #f9fafb;
}

.table__row {
  display: grid;
  grid-template-columns: minmax(0, 2.2fr) minmax(0, 1.3fr) minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1.6fr);
  gap: 0.5rem;
  align-items: center;
  padding: 0.6rem 0.9rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.3);
}

.table__row--head {
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-text-muted);
}

.table__cell {
  font-size: var(--font-size-sm);
}

.table__cell--muted {
  color: var(--color-text-muted);
}

.table__cell--actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}

.table--stacked .table__row[data-label]::before {
  content: attr(data-label);
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
  display: none;
}

@media (max-width: 720px) {
  .table__row {
    grid-template-columns: minmax(0, 2.2fr) minmax(0, 1.4fr);
    grid-auto-rows: auto;
    grid-template-areas:
      "file status"
      "file progress"
      "file eta"
      "file actions";
  }

  .table__row--head {
    display: none;
  }

  .table__cell:nth-child(1) {
    grid-area: file;
  }

  .table__cell:nth-child(2) {
    grid-area: status;
  }

  .table__cell:nth-child(3) {
    grid-area: progress;
  }

  .table__cell:nth-child(4) {
    grid-area: eta;
  }

  .table__cell:nth-child(5) {
    grid-area: actions;
  }
}
