/* BackDoor theme tokens and framework bridges */
:root {
  --bd-color-primary: #1d4ed8;
  --bd-color-secondary: #64748b;
  --bd-color-accent: #0f766e;
  --bd-color-surface: #f8fafc;
  --bd-color-surface-alt: #ffffff;
  --bd-color-body: #0f172a;
  --bd-color-border: #dbe3ee;
  --bd-color-link: #2563eb;
  --bd-color-link-hover: #1d4ed8;
  --bd-font-body: system-ui, -apple-system, Segoe UI, sans-serif;
  --bd-font-heading: system-ui, -apple-system, Segoe UI, sans-serif;
  --bd-border-radius-sm: 0.25rem;
  --bd-border-radius-md: 0.5rem;
  --bd-border-radius-lg: 0.75rem;
  --bd-content-max-width: 1200px;
  --bd-header-height: 72px;
  --bd-color-header-bg: #183e91;
  --bd-color-footer-bg: #b5bec9;
  --bd-color-nav-bg: #1d4ed8;
  --bd-color-nav-link: #b5bec9;
  --bd-color-nav-link-hover: #ffffff;
  --bd-color-header-link: #ffffff;
  --bd-color-header-link-hover: #08c1fc;
  --bd-color-footer-text: #0f172a;
  --bd-color-footer-link: #183e91;
  --bd-color-footer-link-hover: #0386fc;
  --bs-primary: var(--bd-color-primary);
  --bs-secondary: var(--bd-color-secondary);
  --bs-body-bg: var(--bd-color-surface-alt);
  --bs-body-color: var(--bd-color-body);
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-primary-rgb: 29, 78, 216;
  --bs-secondary-rgb: 100, 116, 139;
  --bs-link-color: var(--bd-color-link);
  --bs-link-hover-color: var(--bd-color-link-hover);
  --bs-border-color: var(--bd-color-border);
  --bs-border-radius-sm: var(--bd-border-radius-sm);
  --bs-border-radius: var(--bd-border-radius-md);
  --bs-border-radius-lg: var(--bd-border-radius-lg);
  --bs-navbar-color: var(--bd-color-nav-link);
  --bs-navbar-hover-color: var(--bd-color-nav-link-hover);
  --bs-navbar-active-color: var(--bd-color-nav-link-hover);
  --bs-navbar-brand-color: var(--bd-color-nav-link);
  --bs-navbar-toggler-border-color: var(--bd-color-surface);
  --bs-tertiary-bg: var(--bd-color-surface);
  --color-sf-primary: var(--bd-color-primary);
  --color-sf-primary-rgb: 29, 78, 216;
  --color-sf-secondary: var(--bd-color-secondary);
  --color-sf-surface: var(--bd-color-surface);
  --color-sf-body-bg: var(--bd-color-surface-alt);
  --color-sf-body-text: var(--bd-color-body);
  --color-sf-border: var(--bd-color-border);
}

body {
  background-color: var(--bd-color-surface-alt);
  color: var(--bd-color-body);
  font-family: var(--bd-font-body);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--bd-font-heading);
}

.bd-site-nav {
  background-color: var(--bd-color-nav-bg);
}
.bd-site-nav .navbar.bd-site-navbar, .bd-site-nav .navbar.bd-site-navbar .navbar-collapse, .bd-site-nav .navbar.bd-site-navbar .navbar-nav {
  background-color: transparent;
}
.bd-site-sidebar {
  background-color: var(--bd-color-nav-bg);
  color: var(--bd-color-nav-link);
}
.bd-site-sidebar .navbar.bd-site-navbar, .bd-site-sidebar .navbar.bd-site-navbar .navbar-collapse, .bd-site-sidebar .navbar.bd-site-navbar .navbar-nav {
  background-color: transparent;
}
.navbar.bd-site-navbar .nav-link, .navbar.bd-site-navbar .navbar-brand, .navbar.bd-site-navbar .btn-link.nav-link {
  color: var(--bd-color-nav-link) !important;
}
.navbar.bd-site-navbar .nav-link:hover, .navbar.bd-site-navbar .nav-link:focus, .navbar.bd-site-navbar .navbar-brand:hover, .navbar.bd-site-navbar .btn-link.nav-link:hover {
  color: var(--bd-color-nav-link-hover) !important;
}
.bd-site-header, .bd-site-header .navbar.bd-site-navbar {
  background-color: var(--bd-color-header-bg);
  color: var(--bd-color-header-link);
}
.bd-site-header .navbar.bd-site-navbar {
  background-color: transparent;
}
.bd-site-header .navbar.bd-site-navbar .nav-link, .bd-site-header .navbar.bd-site-navbar .navbar-brand { color: var(--bd-color-header-link) !important; }
.bd-site-header .navbar.bd-site-navbar .nav-link:hover, .bd-site-header .navbar.bd-site-navbar .nav-link:focus, .bd-site-header .navbar.bd-site-navbar .navbar-brand:hover { color: var(--bd-color-header-link-hover) !important; }
.bd-site-footer {
  background-color: var(--bd-color-footer-bg);
  color: var(--bd-color-footer-text);
}
.bd-site-footer a { color: var(--bd-color-footer-link); }
.bd-site-footer a:hover, .bd-site-footer a:focus { color: var(--bd-color-footer-link-hover); }
}
.card {
  background-color: var(--bd-color-surface);
}

/* Bootstrap component bridges */
.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--bd-color-primary);
  --bs-btn-border-color: var(--bd-color-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bd-color-accent);
  --bs-btn-hover-border-color: var(--bd-color-accent);
  --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bd-color-secondary);
  --bs-btn-active-border-color: var(--bd-color-secondary);
}
.btn-outline-primary {
  --bs-btn-color: var(--bd-color-primary);
  --bs-btn-border-color: var(--bd-color-primary);
  --bs-btn-hover-bg: var(--bd-color-primary);
  --bs-btn-hover-border-color: var(--bd-color-primary);
  --bs-btn-active-bg: var(--bd-color-secondary);
  --bs-btn-active-border-color: var(--bd-color-secondary);
}
.accordion {
  --bs-accordion-color: var(--bd-color-body);
  --bs-accordion-bg: var(--bd-color-surface);
  --bs-accordion-border-color: var(--bd-color-border);
  --bs-accordion-btn-color: var(--bd-color-body);
  --bs-accordion-btn-bg: var(--bd-color-surface);
  --bs-accordion-active-color: var(--bd-color-primary);
  --bs-accordion-active-bg: var(--bd-color-surface-alt);
  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgb(var(--bs-primary-rgb) / 0.25);
}
.carousel-control-prev, .carousel-control-next { background-color: var(--bd-color-primary); opacity: 0.8; }
.carousel-indicators [data-bs-target] { background-color: var(--bd-color-secondary); }
.carousel-indicators .active { background-color: var(--bd-color-accent); }
.progress { --bs-progress-bar-bg: var(--bd-color-accent); }

/* Syncfusion component bridges */
.bd-site-shell .e-btn.e-primary { background-color: var(--bd-color-primary) !important; border-color: var(--bd-color-primary) !important; }
.bd-site-shell .e-btn.e-primary:hover, .bd-site-shell .e-btn.e-primary:focus { background-color: var(--bd-color-accent) !important; border-color: var(--bd-color-accent) !important; }
.bd-site-shell .e-accordion .e-acrdn-item { border-color: var(--bd-color-border) !important; }
.bd-site-shell .e-accordion .e-acrdn-header { background-color: var(--bd-color-surface) !important; color: var(--bd-color-body) !important; }
.bd-site-shell .e-accordion .e-acrdn-item.e-select > .e-acrdn-header { background-color: var(--bd-color-surface-alt) !important; color: var(--bd-color-primary) !important; }
.bd-site-shell .e-accordion .e-acrdn-panel { background-color: var(--bd-color-surface) !important; color: var(--bd-color-body) !important; }
.bd-site-shell .e-carousel .e-carousel-indicators .e-indicator-bar.e-active .e-indicator { background-color: var(--bd-color-primary) !important; }

/* Syncfusion grids add .e-altrow when EnableAltRow is enabled. */
.e-grid .e-altrow > .e-rowcell {
  background-color: var(--bd-color-surface-alt);
}
