.app-content table:not(.nested-table):not(.details-table):not(.detail-table):not(.table-borderless):not(.time-rule-grid):not(.generation-overlay):not(table table) {
  background: var(--card-background, #fff);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  font-size: 0.85rem !important;
}

.app-content table:not(.nested-table):not(.details-table):not(.detail-table):not(.table-borderless):not(.time-rule-grid):not(.generation-overlay):not(table table) thead th {
  padding: 0.4rem 0.3rem;
  --bs-table-bg: var(--surface-light, #f8fafc);
  --bs-table-bg-state: var(--surface-light, #f8fafc);
  --bs-table-color: var(--text-primary, #1f2937);
  --bs-table-color-state: var(--text-primary, #1f2937);
  --bs-table-border-color: var(--border-color, #e2e8f0);
  background: var(--surface-light, #f8fafc) !important;
  color: var(--text-primary, #1f2937) !important;
  font-size: 0.85rem !important;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
  vertical-align: middle;
}

.app-content table:not(.nested-table):not(.details-table):not(.detail-table):not(.table-borderless):not(.time-rule-grid):not(.generation-overlay):not(table table) thead tr {
  border-bottom: 6px solid transparent;
}

.app-content table:not(.nested-table):not(.details-table):not(.detail-table):not(.table-borderless):not(.time-rule-grid):not(.generation-overlay):not(table table) tbody td {
  padding: 0.35rem 0.3rem;
  border-color: var(--table-border, #e9ecef);
  font-size: 0.85rem !important;
  vertical-align: middle;
}

.app-content table:not(.nested-table):not(.details-table):not(.detail-table):not(.table-borderless):not(.time-rule-grid):not(.generation-overlay):not(table table) .course-title {
  font-weight: 400;
}
