:root {
  /* Corpus design tokens */
  --corpus-color-primary: #183b78;
  --corpus-color-primary-soft: #5d7ca6;
  --corpus-color-surface-soft: #bfdaf1;
  --corpus-color-body-bg: #f7f7f2;
  --corpus-color-white: #ffffff;

  --corpus-font-sans: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  /* Map to Bootstrap variables */
  --bs-primary: var(--corpus-color-primary);
  --bs-link-color: var(--corpus-color-primary);
  --bs-link-hover-color: var(--corpus-color-primary-soft);
  --bs-body-bg: var(--corpus-color-body-bg);
  --bs-body-font-family: var(--corpus-font-sans);

  /* Soft UI Dashboard overrides with Corpus branding */
  --bs-primary-rgb: 24, 59, 120; /* RGB of #183b78 */
  --bs-info: var(--corpus-color-primary); /* Override info color with Corpus primary */
  --bs-info-rgb: 24, 59, 120;

  /* Gradient overrides for primary color */
  --bs-gradient: linear-gradient(310deg, var(--corpus-color-primary) 0%, var(--corpus-color-primary-soft) 100%);
}

/* Override Soft UI gradient classes with Corpus branding */
.bg-gradient-primary {
  background-image: linear-gradient(310deg, var(--corpus-color-primary) 0%, var(--corpus-color-primary-soft) 100%) !important;
}

.bg-gradient-info {
  background-image: linear-gradient(310deg, var(--corpus-color-primary) 0%, var(--corpus-color-primary-soft) 100%) !important;
}

/* Active navigation link styling */
.sidenav .navbar-nav .nav-link.active {
  background-color: var(--corpus-color-primary) !important;
  color: var(--corpus-color-white) !important;
}

.sidenav .navbar-nav .nav-link.active .icon {
  background: var(--corpus-color-primary) !important;
}

.sidenav .navbar-nav .nav-link.active .nav-link-text {
  color: var(--corpus-color-white) !important;
}

/* Button primary color override */
.btn-primary {
  background-color: var(--corpus-color-primary);
  border-color: var(--corpus-color-primary);
  color: var(--corpus-color-white);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background-color: var(--corpus-color-primary-soft);
  border-color: var(--corpus-color-primary-soft);
  color: var(--corpus-color-white);
}

/* Background gradient elements should have white text */
.bg-gradient-primary {
  color: var(--corpus-color-white);
}

.bg-gradient-primary:hover,
.bg-gradient-primary:focus {
  color: var(--corpus-color-white);
}

/* Text color overrides */
.text-primary {
  color: var(--corpus-color-primary) !important;
}

.text-info {
  color: var(--corpus-color-primary) !important;
}

/* Ensure Montserrat font is used throughout */
body, .navbar-brand, .sidenav .navbar-nav .nav-link {
  font-family: var(--corpus-font-sans) !important;
}
