@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;700&display=swap');

/* Brand Font Stacks from Style Guide */
h1, h2, h3, h4, h5, h6, .headline, .stats-number {
  font-family: 'Oswald', 'Century Gothic', 'Avenir', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-weight: 700;
  letter-spacing: 0.01em;
}

body, .body, .card, .table, .form-control, .btn {
  font-family: 'Helvetica Neue', Helvetica, Arial, 'Century Gothic', Georgia, serif;
  font-size: 1rem;
  font-weight: 400;
}

blockquote, .blockquote, .number, .stat-number {
  font-family: 'Oswald', 'Aachen', 'Century Gothic', 'Avenir', Helvetica, Arial, sans-serif;
}

/* Brand Colors from Brand Guide 2021 */
:root {
  --brand-red: #BA0C2F;
  --brand-black: #000000;
  --brand-dark-red: #76232F;
  --brand-white: #FFFFFF;
  --brand-gray-light: #E0E0E0;
  --brand-gray-medium: #B1B3B3;
  --brand-gray: #A2AAAD;
  --brand-gray-dark: #63666A;
  --brand-blue: #7A99AC;
  --brand-teal: #00587C;
  --brand-purple: #612C51;
  --brand-gold-light: #DDCBA4;
  --brand-gold: #F2A900;
  --brand-green: #8F993E;

  /* Bootstrap color overrides */
  --bs-primary: var(--brand-red);
  --bs-secondary: var(--brand-black);
  --bs-success: var(--brand-green);
  --bs-info: var(--brand-blue);
  --bs-warning: var(--brand-gold);
  --bs-danger: var(--brand-dark-red);
  --bs-light: var(--brand-gray-light);
  --bs-dark: var(--brand-gray-dark);
}

/* Utility classes for brand colors */
.bg-brand-red { background-color: var(--brand-red) !important; color: #fff !important; }
.bg-brand-black { background-color: var(--brand-black) !important; color: #fff !important; }
.bg-brand-dark-red { background-color: var(--brand-dark-red) !important; color: #fff !important; }
.bg-brand-blue { background-color: var(--brand-blue) !important; color: #fff !important; }
.bg-brand-teal { background-color: var(--brand-teal) !important; color: #fff !important; }
.bg-brand-purple { background-color: var(--brand-purple) !important; color: #fff !important; }
.bg-brand-gold { background-color: var(--brand-gold) !important; color: #000 !important; }
.bg-brand-gold-light { background-color: var(--brand-gold-light) !important; color: #000 !important; }
.bg-brand-green { background-color: var(--brand-green) !important; color: #fff !important; }
.bg-brand-gray { background-color: var(--brand-gray) !important; color: #fff !important; }
.bg-brand-gray-dark { background-color: var(--brand-gray-dark) !important; color: #fff !important; }
.bg-brand-gray-light { background-color: var(--brand-gray-light) !important; color: #000 !important; }

.text-brand-red { color: var(--brand-red) !important; }
.text-brand-black { color: var(--brand-black) !important; }
.text-brand-dark-red { color: var(--brand-dark-red) !important; }
.text-brand-blue { color: var(--brand-blue) !important; }
.text-brand-teal { color: var(--brand-teal) !important; }
.text-brand-purple { color: var(--brand-purple) !important; }
.text-brand-gold { color: var(--brand-gold) !important; }
.text-brand-gold-light { color: var(--brand-gold-light) !important; }
.text-brand-green { color: var(--brand-green) !important; }
.text-brand-gray { color: var(--brand-gray) !important; }
.text-brand-gray-dark { color: var(--brand-gray-dark) !important; }
.text-brand-gray-light { color: var(--brand-gray-light) !important; }

/* Button overrides */
.btn-primary {
  background-color: var(--brand-red) !important;
  border-color: var(--brand-red) !important;
}
.btn-primary:hover, .btn-primary:focus {
  background-color: #8a0a24 !important;
  border-color: #8a0a24 !important;
}
.btn-secondary {
  background-color: var(--brand-black) !important;
  border-color: var(--brand-black) !important;
}
.btn-secondary:hover, .btn-secondary:focus {
  background-color: #222 !important;
  border-color: #222 !important;
}
.btn-success {
  background-color: var(--brand-green) !important;
  border-color: var(--brand-green) !important;
}
.btn-info {
  background-color: var(--brand-blue) !important;
  border-color: var(--brand-blue) !important;
}
.btn-warning {
  background-color: var(--brand-gold) !important;
  border-color: var(--brand-gold) !important;
  color: #000 !important;
}
.btn-danger {
  background-color: var(--brand-dark-red) !important;
  border-color: var(--brand-dark-red) !important;
}
.btn-outline-primary {
  color: var(--brand-red) !important;
  border-color: var(--brand-red) !important;
  background-color: transparent !important;
}
.btn-outline-primary:hover, .btn-outline-primary:focus {
  color: #fff !important;
  background-color: var(--brand-red) !important;
  border-color: var(--brand-red) !important;
}

/* Card and alert overrides */
.card {
  border-radius: 0.5rem;
  border-color: var(--brand-gray-light);
}
.alert-primary {
  background-color: var(--brand-red) !important;
  color: #fff !important;
  border-color: var(--brand-red) !important;
}
.alert-secondary {
  background-color: var(--brand-black) !important;
  color: #fff !important;
  border-color: var(--brand-black) !important;
}
.alert-success {
  background-color: var(--brand-green) !important;
  color: #fff !important;
  border-color: var(--brand-green) !important;
}
.alert-info {
  background-color: var(--brand-blue) !important;
  color: #fff !important;
  border-color: var(--brand-blue) !important;
}
.alert-warning {
  background-color: var(--brand-gold) !important;
  color: #000 !important;
  border-color: var(--brand-gold) !important;
}
.alert-danger {
  background-color: var(--brand-dark-red) !important;
  color: #fff !important;
  border-color: var(--brand-dark-red) !important;
}

/* Navbar overrides (if used) */
.navbar, .navbar-light, .navbar-dark {
  background-color: var(--brand-black) !important;
}
.navbar .navbar-brand, .navbar .nav-link, .navbar .navbar-text {
  color: var(--brand-red) !important;
}

/* Misc */
body {
  background-color: var(--brand-gray-light);
} 

/* --- Moved from header.php <style> block --- */
.sidebar {
    min-height: 100vh;
    background: var(--brand-black);
}
.sidebar .nav-link {
    color: rgba(255, 255, 255, 0.8);
    padding: 0.75rem 1rem;
    border-radius: 0.5rem;
    margin: 0.25rem 0;
}
.sidebar .nav-link:hover,
.sidebar .nav-link.active {
    color: #fff;
    background-color: var(--brand-red);
}
.main-content {
    background-color: var(--brand-gray-light);
    min-height: 100vh;
}
.card {
    border: none;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    border-radius: 0.75rem;
}
.btn {
    border-radius: 0.5rem;
}
.table {
    border-radius: 0.5rem;
    overflow: hidden;
}
.badge {
    border-radius: 0.375rem;
}
.stats-card {
    background: linear-gradient(135deg, var(--brand-red) 0%, var(--brand-dark-red) 100%);
    color: #fff;
}
.stats-card .card-body {
    padding: 1.5rem;
}
.stats-number {
    font-size: 2.5rem;
    font-weight: bold;
} 