/* styles.css — broadcast calendar.
   Program colors are INJECTED at runtime from public/js/config.js (single source of
   truth) by injectProgramStyles() in calendar.js. The documented hex pairs
   (base / darker "Ready for Air") are mirrored here for reference — keep in sync:
     Morning Edition       (.me)      #E8B500 / #A87E00   (dark text)
     Lake Effect           (.le)      #2E73C7 / #1B4C86
     All Things Considered (.atc)     #3FA34D / #27692F
     Special Programs      (.special) #8A5A2B / #5E3C1A
*/

:root { --bc-font: -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }
html, body { margin: 0; padding: 0; font-family: var(--bc-font); color: #1a1a1a; }
#app { max-width: 1100px; margin: 0 auto; padding: 16px; }

header.bc-head { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; margin-bottom: 12px; }
header.bc-head h1 { font-size: 1.15rem; margin: 0; }
header.bc-head .bc-sub { color: #666; font-size: .85rem; }

/* Color legend (program swatches + Ready-for-Air note). */
.bc-legend { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-left: auto; font-size: .8rem; align-items: center; }
.bc-legend-item { display: inline-flex; align-items: center; gap: 5px; color: #444; }
.bc-legend-dot { width: 12px; height: 12px; border-radius: 3px; display: inline-block; }
.bc-legend-dot-ready { background: #555; border: 1px solid #222; }

/* List-view program sub-header rows (Day -> Program -> stories). */
.fc-list-program-row td { background: #fafafa; font-weight: 600; font-size: .8rem;
  color: #333; padding: 4px 14px; border-top: 1px solid #eee; }
.bc-prog-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%;
  margin-right: 8px; vertical-align: middle; }

.fc .fc-toolbar-title { font-size: 1.1rem; }

/* "Ready for Air" gets a weight bump in addition to the darker shade. */
.fc-event.ready { font-weight: 600; }

/* Fallback for events with an unknown/unmapped program. */
.unknown { background-color: #9aa0a6; border-color: #9aa0a6; color: #fff; }
