/* Schedule page specific styles – built on base.css; minimal, non-duplicative overrides */

.table-responsive { overflow-x: auto; }

.schedule-table { width: 100%; border-collapse: collapse; }
.schedule-table th, .schedule-table td { padding: var(--space-3); border-bottom: 1px solid var(--color-gray-200); vertical-align: top; }
.schedule-table thead th { position: sticky; top: 0; background: var(--color-sand-light); z-index: var(--z-sticky); text-align: left; }
.schedule-table tbody tr:nth-child(even) td { background-color: var(--color-gray-50); }

/* Cards in lists */
.class-card { display: flex; flex-direction: column; gap: var(--space-2); }
.class-card h3 { margin: 0; font-size: var(--text-xl); }
.class-meta { color: var(--color-text-light); font-size: var(--text-sm); }

/* Availability chips */
.chip { display: inline-flex; align-items: center; gap: .5rem; padding: .25rem .6rem; border-radius: var(--radius-full); font-size: var(--text-sm); border: 1px solid var(--color-gray-200); }
.chip-available { background-color: rgba(130,168,132,.1); color: var(--color-success); border-color: var(--color-success); }
.chip-full { background-color: rgba(200,155,155,.1); color: var(--color-danger); border-color: var(--color-danger); }

/* Details element polishing */
details summary { cursor: pointer; list-style: none; }
details summary::-webkit-details-marker { display: none; }
details[open] summary { color: var(--color-primary); }

/* Helper spacing on mobile */
@media (max-width: 768px) {
  #today-classes { grid-template-columns: 1fr; }
  #realtime-list { grid-template-columns: 1fr; }
}
