:root {
  color-scheme: dark;
}

html,
body {
  background: #1e2535 !important;
  color: #dde3ed !important;
}

a {
  color: #90c4f9 !important;
}

a:hover,
a:focus {
  color: #b3d8fb !important;
}

/* Core containers and cards */
.container,
.container-fluid,
.card,
.panel,
.well,
.box,
.content,
.content-wrapper,
.main-content,
.modal-content,
.dropdown-menu,
.list-group-item,
.breadcrumb-wrapper,
.stats-section,
.post-card,
.empty-state,
.pagination a,
.pagination span,
.page,
table,
thead,
tbody,
tfoot,
tr,
th,
td {
  background-color: #252e42 !important;
  color: #dde3ed !important;
  border-color: #3d4f6b !important;
}

/* Bootstrap helpers */
.bg-light,
.bg-white,
.navbar,
.navbar-default,
.nav,
.pagination .disabled:hover {
  background-color: #252e42 !important;
  color: #dde3ed !important;
}

.text-dark,
.text-muted,
.text-secondary,
small,
label,
.program-info,
.stat-label {
  color: #b0bdd0 !important;
}

/* Page background */
.page {
  background: #1e2535 !important;
}

/* Forms */
input,
textarea,
select,
.form-control {
  background: #2a3347 !important;
  color: #dde3ed !important;
  border-color: #4a5c78 !important;
}

input::placeholder,
textarea::placeholder {
  color: #7d92ad !important;
}

/* Buttons */
.btn-outline-primary,
.btn-outline-secondary,
.btn-secondary {
  border-color: #5a7199 !important;
  color: #d0daea !important;
}

/* Borders */
hr,
.border,
[class*="border-"] {
  border-color: #3d4f6b !important;
}

/* Navbar nav link text */
.site-navbar .nav-link .nav-text {
  color: #dde3ed !important;
}

.site-navbar .navbar-container {
  background-color: #252e42 !important;
}

/* advice section (hardcoded white in app5.css) */
.advice {
  background-color: #2a3347 !important;
  color: #dde3ed !important;
}

.advice strong,
.advice b {
  color: #edf1f7 !important;
}

/* article section */
.article {
  background: #2a3347 !important;
  color: #dde3ed !important;
  border-color: #3d4f6b !important;
}

/* title-default */
.title-default {
  color: #dde3ed !important;
  background-color: #2a3347 !important;
}

/* listSearch buttons */
.listSearch .input-group .btn-default {
  background-color: #2a3347 !important;
  color: #dde3ed !important;
  border-color: #3d4f6b !important;
}

.listSearch .input-group .btn:hover {
  background-color: #344159 !important;
}

/* pub section */
.pub-v {
  background: #2a3347 !important;
  border-color: #90c4f9 !important;
}

/* site-footer */
.site-footer,
.site-menubar-footer > a {
  background-color: #252e42 !important;
  color: #8fa3bf !important;
}

/* Handle hardcoded white backgrounds from inline/style blocks */
[style*="background:#fff"],
[style*="background: #fff"],
[style*="background-color:#fff"],
[style*="background-color: #fff"],
[style*="background:white"],
[style*="background: white"],
[style*="background-color:white"],
[style*="background-color: white"] {
  background: #252e42 !important;
  color: #dde3ed !important;
}

/* Handle inline color:black or color:#000 on text */
[style*="color:black"],
[style*="color: black"],
[style*="color:#000"],
[style*="color: #000"],
[style*="color:#333"],
[style*="color: #333"],
[style*="color:#37474f"],
[style*="color: #37474f"],
[style*="color:#76838f"],
[style*="color: #76838f"] {
  color: #dde3ed !important;
}

/* Scrollbar */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #1e2535;
}
::-webkit-scrollbar-thumb {
  background: #3d4f6b;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #4d6285;
}
