.tab.active { background: #0f172a; color: white; }
.conflict { outline: 2px solid #dc2626; }
.slot { min-height: 3rem; }
.entry { cursor: pointer; overflow: hidden; }

/* Reveal an entry's actions on hover (desktop) or tap-select (touch): grow to
   fit its content (never below its time footprint) and show the buttons, so
   short shows aren't truncated. */
.entry:hover,
.entry.selected { height: auto !important; min-height: var(--h); overflow: visible; z-index: 20; }
.entry-actions { display: none; }
.entry:hover .entry-actions,
.entry.selected .entry-actions { display: flex; }

/* Mobile: show one day full-width (the day selector picks which). */
@media (max-width: 767px) {
  .day-hidden-mobile { display: none; }
}

/* Light hour gridlines + faint hour labels behind the blocks. */
.hour-line { position: absolute; left: 0; right: 0; border-top: 1px solid #eef2f7; pointer-events: none; }
.hour-label { position: absolute; left: 3px; transform: translateY(3px); font-size: 9px; line-height: 1; color: #cbd5e1; pointer-events: none; }
