@layer components {
  .responsive-table {
    width: 100%;
    border-collapse: collapse;
  }

  .responsive-table th {
    font-size: 0.8em;
    font-weight: normal;
    text-transform: uppercase;
  }

  .responsive-table th,
  .responsive-table td {
    padding: 0.5rem;
    text-align: left;
    border-bottom: 1px solid var(--color-ink-lighter);
  }

  .responsive-table th:last-child,
  .responsive-table td:last-child {
    text-align: right;
  }

  .table-heading {
    position: sticky;
    top: max(env(safe-area-inset-top, 0), 1rem);
    z-index: 10;
    background-color: var(--color-table-heading, var(--color-ink-lightest));

    th { border: 0; }
    th:first-of-type {
      border-radius: 0.375rem 0 0 0.375rem;
    }
    th:last-of-type {
      border-radius: 0 0.375rem 0.375rem 0;
    }
  }
}