:root {
  --schedule-font-size: 0.9rem;
  --schedule-cell-padding-y: 2px;
  --schedule-cell-padding-x: 6px;
  --schedule-header-bg: #f3f4f6; /* light gray */
  --schedule-border-color: #e5e7eb; /* gray-200 */
}

/* Day heading above each table */
.sequence-day-title {
  margin: 0.6rem 0 0.2rem;
}

/* Make schedule tables compact */
.table.sequence-table,
.sequence-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--schedule-font-size);
}

.sequence-table.compact thead tr {
  background: var(--schedule-header-bg);
}

.sequence-table.compact th,
.sequence-table.compact td,
.sequence-table.compact .row > .entry,
.sequence-table.compact .thead > .row > .entry,
.sequence-table.compact .tbody > .row > .entry {
  padding: var(--schedule-cell-padding-y) var(--schedule-cell-padding-x);
  border: 1px solid var(--schedule-border-color);
  vertical-align: top;
}

/* Reduce spacing within paragraphs and lists inside cells */
.sequence-table.compact p {
  margin: 0.1rem 0;
}

.sequence-table.compact ul {
  margin: 0.1rem 0 0.1rem 1rem;
}

/* Optional zebra striping for readability */
.sequence-table.compact tbody tr:nth-child(odd) {
  background-color: #fafafa;
}

/* Scrollable containers inside cells for tall content */
.sequence-table.compact .cell-scroll {
  max-height: 10rem; /* adjust as needed */
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 2px; /* room for scrollbar */
}
