:root{
  --fccc-maroon: #560529;
  --fccc-white: #ffffff;
  --fccc-charcoal: #2b2b2b;
  --fccc-muted-bg: #f8f9fa;
}

/* Base */
body {
  background-color: var(--fccc-muted-bg);
  color: var(--fccc-charcoal);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
}

/* Navbar */
.app-navbar {
  background-color: var(--fccc-maroon);
  color: var(--fccc-white);
  box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}
.app-navbar .navbar-brand,
.app-navbar .nav-link,
.app-navbar .navbar-text {
  color: var(--fccc-white) !important;
}
.app-navbar .nav-link:hover,
.app-navbar .navbar-brand:hover {
  color: rgba(255,255,255,0.95) !important;
  text-decoration: none;
}
.brand-logo { height: 32px; display: inline-block; vertical-align: middle; }
.brand-text { margin-left: .5rem; font-weight: 600; color: var(--fccc-white); }

/* Sidebar */
.sidebar {
  background: var(--fccc-white);
  border-right: 1px solid #dee2e6;
  min-height: calc(100vh - 56px);
}
.sidebar .nav-link {
  color: var(--fccc-charcoal);
  padding: .5rem 1rem;
}
.sidebar .nav-link:hover { background: var(--fccc-muted-bg); color: var(--fccc-charcoal); }
.sidebar .nav-link.active {
  background: var(--fccc-maroon);
  color: var(--fccc-white) !important;
  font-weight: 500;
  border-radius: 4px;
}

/* Charcoal background utility for dashboard hero/header */
.bg-charcoal {
  background-color: var(--fccc-charcoal) !important;
  color: var(--fccc-white) !important;
}
.bg-charcoal .text-primary,
.bg-charcoal .text-gray-800,
.bg-charcoal .text-muted {
  /* Ensure readable contrast inside the charcoal hero */
  color: var(--fccc-white) !important;
}
.bg-charcoal .bg-white {
  background-color: rgba(255,255,255,0.08) !important;
  color: var(--fccc-white) !important;
}

/* Dashboard welcome header (ensure charcoal color for titles when used elsewhere) */
.dashboard-welcome,
.welcome-header,
.page-header,
.page-title,
.dashboard .page-title,
.dashboard .welcome-header,
.dashboard .page-header h1,
.dashboard h1 {
  color: var(--fccc-charcoal) !important;
}

/* Footer: charcoal background with readable white text */
.app-footer {
  background-color: var(--fccc-charcoal) !important;
  color: var(--fccc-white) !important;
  border-top: 1px solid rgba(255,255,255,0.06);
}
.app-footer .text-muted,
.app-footer .footer-text {
  color: rgba(255,255,255,0.85) !important;
}
.app-footer a {
  color: rgba(255,255,255,0.9) !important;
}
.app-footer .bi {
  color: rgba(255,255,255,0.9) !important;
}

/* Badges and accents */
.badge.fccc-maroon,
.badge.fccc-maroon.rounded-pill { background: var(--fccc-maroon); color: var(--fccc-white); }
.notification-badge {
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  font-size: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  color: var(--fccc-white);
  background: #dc3545; /* keep danger red for alerts */
}

/* Utility */
.app-navbar .navbar-toggler-icon { background-image: none; }
@media (max-width: 767px) {
  .sidebar { display: none; }
}