/* New warning color for “due” items */
:root {
  --color-due:       #fff9db; /* pale yellow */
  --color-cancel:    #fde2e4; /* pale red */
  --color-exam: #e6f4ea; /* light green */
	--color-subheader: var(--color-accent-lighter); /* light blue */
}


/* Hover effect */
.schedule-table tbody tr:hover td {
  background: var(--color-accent-light);
}


/* ——— Modern Schedule Table Styles ——— */

/* Container lift */

.schedule-table {
  width: 100%;
  min-width: 600px;
  table-layout: fixed; /* Ensures even column widths */
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.08);
  margin: var(--spacing-lg) 0;
}

/* Header row as a solid bar */
.schedule-table thead {
  background: var(--color-accent);
}

.schedule-table thead th {
  box-shadow: 0 2px 2px rgba(0,0,0,0.05);
  color: var(--color-bg);
  font-weight: 600;

  padding: var(--spacing-sm);
	border: none;
  border-bottom: 2px solid rgba(255,255,255,0.2);
}




/* Body rows: light separators only */
.schedule-table tbody td {
  padding: var(--spacing-sm);
  color: var(--color-text);
  border: none;
  border-bottom: 1px solid #e9ecef;
  transition: background 0.25s ease;
  vertical-align: middle;
}


/* Remove last-row border */
.schedule-table tbody tr:last-child td {
  border-bottom: none;
}


/* Hover glow */
.schedule-table tbody tr:hover td {
  background: var(--color-accent-light);
}


/* When an assignment is due */
.schedule-table td.due {
  background: var(--color-due) !important;
  color: var(--color-primary);
  font-weight: 600;
	border-left: 4px solid var(--color-accent) !important; /* optional left border for emphasis */
}

.schedule-table .cancelled td {
  background: var(--color-cancel) !important;  /* softer red */
  color: #842029;
}
.schedule-table .exam td {
  background: var(--color-exam) !important;  /* lighter green */
  color: var(--color-primary);
	font-weight: 600;
}


/* Sub-section header rows */
.schedule-table tr.subheading td {
  background: var(--color-subheader);   /* gentle accent background */
  color: var(--color-primary);             /* your dark slate text */
  font-weight: 700;                        /* bold */
  font-size: 1.0rem;                      /* slightly larger */
  padding: var(--spacing-sm);
}

/* Remove bottom border for the row immediately below */
.schedule-table tr.subheading + tr td {
  border-top: none;
}

.table-responsive {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 16px; /* makes space for scrollbar */
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
}



.schedule-table th,
.schedule-table td {
    border: 1px solid var(--color-muted-text);
    padding: var(--spacing-sm);
		text-align: left;
}

.schedule-table .no-lecture {
    background: var(--color-accent-light);
}

/* Always show horizontal scrollbar on mobile */
@media (max-width: 768px) {
  .schedule-table {
    display: block;
    overflow-x: auto;
    font-size: 0.9rem;
  }

  .schedule-table table {
    min-width: 600px; /* Prevent squishing */
  }
}



@media (max-width: 768px) {
  .table-responsive {
    scrollbar-width: thin;
  }

  .table-responsive::-webkit-scrollbar {
    height: 8px;
  }

  .table-responsive::-webkit-scrollbar-thumb {
    background-color: #999; /*var(--color-muted-text);*/
    border-radius: 4px;
  }

  .table-responsive::-webkit-scrollbar-track {
    background-color: #f0f0f0;
  }
}

