/* Course grid: selectable/deletable tiles with a color swatch, term, and open-assignment
   count. (The "no courses yet" placeholder text is the shared .empty-state in base.css.) */

.courses-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 12px;
}
.course-tile {
  position: relative;
  text-align: left;
  background: var(--surface-sunken);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 12px 12px 10px;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: border-color 120ms ease, background-color 120ms ease;
}
.course-tile:hover { background: var(--accent-soft); }
.course-tile.selected { border-bottom-color: var(--accent); background: var(--accent-soft); }
.course-swatch {
  width: 10px; height: 10px;
  display: inline-block;
  margin-right: 6px;
  border-radius: 2px;
  vertical-align: middle;
}
.course-term {
  float: right;
  font-family: var(--font-mono);
  font-size: 0.68rem;
  color: var(--ink-muted);
}
.course-name {
  display: block;
  margin-top: 10px;
  font-weight: 600;
  font-size: 0.92rem;
}
.course-count {
  display: block;
  margin-top: 6px;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  color: var(--ink-muted);
}
.course-del {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 20px; height: 20px;
  border: none;
  background: transparent;
  color: var(--ink-muted);
  cursor: pointer;
  font-size: 0.9rem;
  line-height: 1;
  opacity: 0;
  transition: opacity 120ms ease;
}
.course-tile:hover .course-del,
.course-del:focus-visible { opacity: 1; }
.course-del:hover { color: var(--danger); }
