/* ── Dark Mode Override: white ↔ black swap ── */

/* Base */
html, body {
  background-color: #000 !important;
  color: #fff !important;
}

/* Navbar */
nav.navbar {
  background-color: #000 !important;
  border-bottom: 1px solid #333;
}
nav.navbar .text-dark,
nav.navbar a.nav-link {
  color: #eee !important;
}
nav.navbar a.nav-link:hover {
  color: #fff !important;
}

/* Jumbotron / hero section */
.jumbotron {
  background-color: #000 !important;
  color: #fff !important;
}
.jumbotron .type_headline {
  color: #fff !important;
}

/* Search input */
.form-control,
.form-control-main {
  background-color: #111 !important;
  color: #fff !important;
  border-color: #444 !important;
}
.form-control::placeholder {
  color: #888 !important;
}
.form-control:focus {
  background-color: #1a1a1a !important;
  color: #fff !important;
  border-color: #007bff !important;
  box-shadow: none !important;
}

/* Buttons */
.btn-outline-primary {
  color: #66aaff !important;
  border-color: #66aaff !important;
  background-color: transparent !important;
}
.btn-outline-primary:hover {
  background-color: #66aaff !important;
  color: #000 !important;
}

/* Search results */
.search-result {
  background: #111 !important;
  color: #eee !important;
  border: 1px solid #333;
}

/* Pre / code blocks */
pre {
  background: #111 !important;
  color: #eee !important;
}
.pre-details.tree {
  background: #111 !important;
  border-color: rgba(255,255,255,0.3) !important;
}

/* Footer */
.footer {
  background-color: #0a0a0a !important;
  color: #aaa !important;
  border-top: 1px solid #222;
}
.footer .text-muted {
  color: #888 !important;
}
.footer a {
  color: #aaa !important;
}
.footer a:hover {
  color: #fff !important;
}
.footer i.fa {
  color: #aaa !important;
}

/* Dropdown menus */
.dropdown-menu {
  background-color: #111 !important;
  border-color: #333 !important;
}
.dropdown-menu > li > a,
.dropdown-menu > li > span {
  color: #eee !important;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
  background-color: #222 !important;
  color: #fff !important;
}

/* Modals */
.modal-content {
  background-color: #111 !important;
  color: #eee !important;
  border-color: #333 !important;
}
.modal-header {
  background-color: #000 !important;
  border-bottom-color: #333 !important;
}
.modal-footer {
  border-top-color: #333 !important;
}
.modal-body {
  background-color: #111 !important;
}
.modal-title {
  color: #fff !important;
}
.close {
  color: #ccc !important;
  text-shadow: none !important;
}
.close:hover {
  color: #fff !important;
}

/* Form sign-in inside modal */
.form-signin .form-control {
  background-color: #1a1a1a !important;
  color: #fff !important;
  border-color: #444 !important;
}

/* Advanced search panel */
#adv_search {
  background-color: #111 !important;
  border-color: #333 !important;
}
#adv_header td {
  color: #eee !important;
}

/* Tables */
table, th, td {
  color: #eee !important;
  border-color: #333 !important;
}
thead th {
  background-color: #1a1a1a !important;
}

/* Progress overlay */
.progress-radial .overlay {
  background-color: #000 !important;
  color: #fff !important;
}

/* Full-data panel */
.full_data {
  background-color: #0a0a0a !important;
  color: #eee !important;
}

/* Alert / info box */
.alert-info,
.container-fluid[style*="background-color: #d1ecf1"] {
  background-color: #0a2a2e !important;
  border-color: #0d4f5c !important;
  color: #7ee8f8 !important;
}
.alert-danger {
  background-color: #2a0000 !important;
  border-color: #8f130c !important;
  color: #ff9999 !important;
}

/* Chart tooltip */
#chartTooltip {
  background: #333 !important;
  color: #fff !important;
}

/* Legend rows */
.legendRow {
  color: #eee !important;
}
.legendRow:hover {
  color: #fff !important;
}
.activeFilter {
  background-color: #0e6170 !important;
  color: #fff !important;
}

/* New results popup */
#newResultsGroupedPopup {
  background: #111 !important;
  border-color: #333 !important;
  color: #eee !important;
}

/* Loader */
.loader {
  border-color: #333 !important;
  border-top-color: #3498db !important;
}

/* Upload zone */
.uploadZone {
  border-color: #007bff !important;
}
.uploadZone.state-over {
  background-color: #1a1a1a !important;
}

/* Links */
a {
  color: #66aaff !important;
}
a:hover {
  color: #99ccff !important;
}
a:visited {
  color: #8888ff !important;
}

/* Heatmap text colors (already white in chart JS, but ensure SVG text) */
svg text {
  fill: #fff !important;
}

/* xlsx / jexcel */
.jexcel_filter {
  background-color: #222 !important;
  color: #eee !important;
}
#xlsx_tabs {
  background-color: #1a1a1a !important;
}
#xlsx_tabs button {
  color: #eee !important;
  background-color: #1a1a1a !important;
}
#xlsx_tabs button:hover {
  background: #333 !important;
}

/* Scrollbar (Webkit) */
::-webkit-scrollbar {
  background: #111;
}
::-webkit-scrollbar-thumb {
  background: #444;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #666;
}




/* ══ LAYOUT ══ */

html, body {
  height: 100%;
  margin: 0;
  background: #000;
  overflow: hidden;
}

/* Navbar fixed at top */
nav.navbar {
  position: fixed !important;
  top: 0; left: 0; right: 0;
  height: 56px;
  z-index: 1000;
  background: #000 !important;
  border-bottom: 1px solid #1a1a1a !important;
}

/* Footer fixed at bottom */
.footer {
  position: fixed !important;
  bottom: 0; left: 0; right: 0;
  height: 50px !important;
  line-height: 50px !important;
  background: #0a0a0a !important;
  border-top: 1px solid #1a1a1a !important;
  z-index: 1000;
}

/* main: just needs to exist, hero inside is position:fixed */
main.container-fluid.nopadding {
  display: block !important;
  background: transparent;
}