:root {
  --white: #1e2229;
  --light: #252830;
  --dark: #f5f5f5;
  --bs-body-bg: #0f1117;
  --bs-body-color: #e5e7eb;
}

html,
body {
  background-color: #0f1117 !important;
  color: #e5e7eb !important;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  color: #ffffff !important;
}

p,
span,
li,
label,
.text-body,
.card-text,
.lead {
  color: #d1d5db;
}

small,
.text-muted,
.text-secondary,
.form-text,
.text-gray,
.text-gray-light {
  color: #9ca3af !important;
}

.text-dark,
.text-black {
  color: #f3f4f6 !important;
}

a:not(.btn):not(.nav-link):not(.dropdown-item):not(.navbar-brand) {
  color: #93c5fd;
}

a:not(.btn):not(.nav-link):not(.dropdown-item):not(.navbar-brand):hover {
  color: #bfdbfe;
}

.bg-white,
.bg-light,
.bg-neutral,
.bg-secondary,
.bg-default,
.bg-white-opacity {
  background-color: #1e2229 !important;
}

.bg-transparent {
  background-color: transparent !important;
}

.card,
.card-body,
.card-header,
.card-footer,
.accordion .card,
.modal-content,
.dropdown-menu,
.list-group-item,
.table,
.table td,
.table th,
.table-responsive,
.custom-select,
.form-control,
.input-group-text,
.select2-container--default .select2-selection--single,
.select2-dropdown,
.quill-editor,
.ql-toolbar,
.ql-container,
.nav-tabs .nav-link,
.tab-content,
.breadcrumb,
.pagination .page-link,
.alert,
.toast,
.popover,
.tooltip-inner,
.navbar-vertical.navbar-light,
.navbar-light,
.header,
.footer,
footer,
.bg-section,
.section,
.content-section,
.pricing-card,
.feature-card,
.testimonial-card,
.blog-card,
.contact-box,
.auth-card,
.login-card,
.register-card,
.payment-box,
.invoice-box,
.stat-card,
.widget,
.panel,
.box,
.white-box,
.content-wrapper,
.main-content,
.page-content,
#content,
.main,
.wrapper,
.container-card,
.shadow-soft,
.card-shadow,
.card-bordered,
.card-frame,
.card-lg,
.card-sm {
  background-color: #1e2229 !important;
  color: #e5e7eb !important;
  border-color: #2d3340 !important;
}

.card-header,
.modal-header,
.modal-footer,
.table thead th,
.table-light,
.table-light td,
.table-light th,
thead.thead-light th {
  background-color: #252830 !important;
  color: #ffffff !important;
  border-color: #2d3340 !important;
}

.table-hover tbody tr:hover,
.dropdown-item:hover,
.dropdown-item:focus,
.list-group-item:hover,
.list-group-item:focus,
.nav-tabs .nav-link:hover,
.nav-tabs .nav-link.active,
.pagination .page-link:hover,
.pagination .page-item.active .page-link {
  background-color: #252830 !important;
  color: #ffffff !important;
}

.form-control,
.custom-select,
.input-group-text,
select,
textarea,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="date"],
input[type="time"] {
  background-color: #252830 !important;
  color: #f3f4f6 !important;
  border-color: #374151 !important;
}

.form-control:focus,
.custom-select:focus,
select:focus,
textarea:focus,
input:focus {
  background-color: #2a2f38 !important;
  color: #ffffff !important;
  border-color: #4b5563 !important;
  box-shadow: 0 0 0 0.2rem rgba(55, 125, 255, 0.15) !important;
}

.form-control::placeholder {
  color: #9ca3af !important;
}

.dropdown-menu,
.dropdown-item {
  color: #e5e7eb !important;
}

hr,
.border,
.border-top,
.border-bottom,
.border-left,
.border-right,
.card > hr,
.table td,
.table th {
  border-color: #2d3340 !important;
}

.navbar-light .navbar-nav .nav-link,
.navbar-light .navbar-brand,
.navbar-light .navbar-text,
.navbar-vertical .navbar-nav .nav-link,
.navbar-vertical .navbar-heading,
.sidenav .nav-link,
.sidenav .navbar-heading {
  color: #e5e7eb !important;
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus,
.sidenav .nav-link:hover,
.sidenav .nav-link.active {
  color: #ffffff !important;
}

footer,
.footer,
.bg-light footer,
footer.bg-light {
  background-color: #12151c !important;
  color: #d1d5db !important;
}

footer h1,
footer h2,
footer h3,
footer h4,
footer h5,
footer h6,
footer .text-dark {
  color: #ffffff !important;
}

footer a {
  color: #9ca3af !important;
}

footer a:hover {
  color: #ffffff !important;
}

.header-bg-transparent:not(.js-header-fix-moment),
.header-abs-top,
.header-section,
.navbar-expand-lg.header-navbar {
  background-color: rgba(15, 17, 23, 0.92) !important;
}

.header .nav-link,
.header .header-nav-link,
.header .navbar-nav .nav-link,
.header .nav-link-toggle,
.header .navbar-nav-item .nav-link {
  color: #ffffff !important;
}

.header .navbar-nav-item:hover .nav-link,
.header .navbar-nav-item:focus .nav-link,
.header .nav-link:hover,
.header .nav-link:focus {
  color: #d1d5db !important;
}

.header .active > .nav-link,
.header .nav-link.active {
  color: #ffffff !important;
}

.header .navbar-toggler,
.header .navbar-nav-wrap-toggler {
  color: #ffffff !important;
  background-color: #252830 !important;
}

.header .navbar-toggler svg path {
  fill: #ffffff !important;
}

@media (max-width: 991.98px) {
  #header.header-bg-transparent .navbar-nav,
  #header.header-bg-transparent-sm .navbar-nav,
  #header.header-bg-transparent-md .navbar-nav,
  #header.header-bg-transparent-lg .navbar-nav,
  #header .navbar-nav {
    background-color: #0a0d14 !important;
    color: #ffffff !important;
  }

  #header #navBar,
  #header #navBar.show,
  #header #navBar.collapsing,
  #header .navbar-nav-wrap-collapse,
  #header .navbar-body,
  #header .navbar-body.header-abs-top-inner {
    background-color: #0a0d14 !important;
  }
}

.js-header-fix-moment,
.header-fix-moment,
.header-box-shadow-on-scroll.js-header-fix-moment .header-section {
  background-color: #12151c !important;
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.35) !important;
}

.dropdown-menu,
.navbar-dropdown-menu,
.hs-mega-menu,
.hs-sub-menu,
.mega-menu,
.submenu,
.u-header__sub-menu {
  background-color: #0a0d14 !important;
  border-color: #2d3340 !important;
}

.dropdown-item,
.dropdown-nav-link,
.u-header__sub-menu-nav-link,
.mega-menu-link {
  color: #e5e7eb !important;
}

.dropdown-item:hover,
.dropdown-item:focus,
.dropdown-nav-link:hover,
.u-header__sub-menu-nav-link:hover {
  background-color: #252830 !important;
  color: #ffffff !important;
}

.btn-white,
.btn-light {
  background-color: #252830 !important;
  color: #f3f4f6 !important;
  border-color: #374151 !important;
}

.btn-white:hover,
.btn-light:hover {
  background-color: #2a2f38 !important;
  color: #ffffff !important;
}

.badge-light,
.badge-white {
  background-color: #252830 !important;
  color: #e5e7eb !important;
}

.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_processing,
.dataTables_wrapper .dataTables_paginate {
  color: #d1d5db !important;
}

.page-item.disabled .page-link {
  background-color: #1a1d24 !important;
  color: #6b7280 !important;
  border-color: #2d3340 !important;
}

.navbar-text .notification-panel .notification-dropdown,
.navbar-text .notification-panel .no-notification-dropdown {
  background: #1e2229 !important;
  border: 1px solid #2d3340 !important;
}

.navbar-text .notification-panel .notification-dropdown li,
.navbar-text .notification-panel .no-notification-dropdown li {
  border-bottom-color: #2d3340 !important;
}

.navbar-text .notification-panel .notification-dropdown li a,
.navbar-text .notification-panel .no-notification-dropdown li a,
.navbar-text .notification-panel .notification-dropdown li a p,
.navbar-text .notification-panel .no-notification-dropdown li a p {
  color: #e5e7eb !important;
}

.navbar-text .notification-panel .notification-dropdown li a:active,
.navbar-text .notification-panel .notification-dropdown li a:focus,
.navbar-text .notification-panel .notification-dropdown li a:hover,
.navbar-text .notification-panel .no-notification-dropdown li a:active,
.navbar-text .notification-panel .no-notification-dropdown li a:focus,
.navbar-text .notification-panel .no-notification-dropdown li a:hover {
  background: #252830 !important;
}

.navbar-text .notification-panel .notification-dropdown li a i,
.navbar-text .notification-panel .no-notification-dropdown li a i {
  background: #374151 !important;
  color: #ffffff !important;
}

[style*="background: #fff"],
[style*="background:#fff"],
[style*="background-color: #fff"],
[style*="background-color:#fff"],
[style*="background: white"],
[style*="background-color: white"],
[style*="background: #ffffff"],
[style*="background-color: #ffffff"],
[style*="background: #edeeef"],
[style*="background-color: #edeeef"],
[style*="background: #f7faff"],
[style*="background-color: #f7faff"],
[style*="background: #f8f9fe"],
[style*="background-color: #f8f9fe"] {
  background-color: #1e2229 !important;
}

[style*="color: #000"],
[style*="color:#000"],
[style*="color: black"],
[style*="color: #677788"],
[style*="color:#677788"],
[style*="color: #57584e"],
[style*="color:#57584e"] {
  color: #e5e7eb !important;
}

.preloader {
  background-color: #0f1117 !important;
}

.castro-secret {
  background-color: #0f1117 !important;
}

.main-content,
#panel,
.header-section,
.content,
.page-wrapper {
  background-color: #0f1117 !important;
}

.navbar-top,
.navbar-top.navbar-light,
.navbar-top.navbar-dark,
.navbar.navbar-top {
  background-color: #12151c !important;
  border-color: #2d3340 !important;
}

.navbar-top .navbar-nav .nav-link,
.navbar-top .navbar-brand,
.navbar-top .media-body,
.navbar-top .text-sm,
.navbar-top .h4,
.navbar-top .mb-0 {
  color: #e5e7eb !important;
}

.navbar-top .dropdown-menu {
  background-color: #1e2229 !important;
}

.table-striped tbody tr:nth-of-type(odd) {
  background-color: #181b22 !important;
}

.table tbody tr {
  color: #d1d5db !important;
}

.custom-control-label::before {
  background-color: #252830 !important;
  border-color: #374151 !important;
}

.custom-control-input:checked ~ .custom-control-label::before {
  background-color: #377dff !important;
  border-color: #377dff !important;
}

.close,
.close span {
  color: #e5e7eb !important;
  text-shadow: none !important;
}

.modal-backdrop {
  background-color: #000 !important;
}

blockquote,
.blockquote {
  color: #d1d5db !important;
}

.text-dark,
.text-body,
.text-default,
.text-heading {
  color: #f3f4f6 !important;
}

.bg-section-light,
.bg-soft-primary,
.bg-soft-secondary,
.bg-soft-success,
.bg-soft-info,
.bg-soft-warning,
.bg-soft-danger {
  background-color: #252830 !important;
}

/* User & admin pages — remove #0f1117 shell background */
html:has(body.bs-dashboard),
body.bs-dashboard {
  --bs-body-bg: #1e2229;
  background-color: #1e2229 !important;
}

body.bs-dashboard .preloader,
body.bs-dashboard.castro-secret,
body.bs-dashboard .main-content,
body.bs-dashboard #panel,
body.bs-dashboard .header-section,
body.bs-dashboard .content,
body.bs-dashboard .page-wrapper {
  background-color: #1e2229 !important;
}
