:root {
  --accent: #1971c2;
  --accent-dark: #1864ab;
  --surface: #f8f9fa;
  --border: #e9ecef;
}

body {
  background-color: var(--surface);
  color: #1c2733;
}

/* Blue accent for primary buttons/links (overrides BS default indigo) */
.btn-primary {
  --bs-btn-bg: var(--accent);
  --bs-btn-border-color: var(--accent);
  --bs-btn-hover-bg: var(--accent-dark);
  --bs-btn-hover-border-color: var(--accent-dark);
  --bs-btn-active-bg: var(--accent-dark);
  --bs-btn-active-border-color: var(--accent-dark);
}
.btn-outline-primary {
  --bs-btn-color: var(--accent);
  --bs-btn-border-color: var(--accent);
  --bs-btn-hover-bg: var(--accent);
  --bs-btn-hover-border-color: var(--accent);
  --bs-btn-active-bg: var(--accent);
}
a { color: var(--accent); }
a:hover { color: var(--accent-dark); }

.navbar-brand { font-weight: 700; }

/* Broadcast grid */
.slot-card { margin-bottom: 1.25rem; }
.slot-card .card-header {
  background: #fff;
  font-weight: 600;
  border-bottom: 2px solid var(--accent);
}
.slot-row { margin-bottom: .4rem; }
/* Free (unassigned) slot inputs are visually muted */
.slot-free .form-control { background-color: var(--surface); }
.broker-cell { font-size: .85rem; color: #495057; }

@media print {
  .navbar, .btn, .no-print { display: none !important; }
}
