/* ============================================
   COMPREHENSIVE DARK THEME OVERRIDE
   Override all Bootstrap white backgrounds
   ============================================ */

/* Body and HTML */
body, html {
    background-color: #000000 !important;
    color: #ffffff !important;
}

/* All white backgrounds to black */
.bg-white {
    background-color: #000000 !important;
}

/* Card components */
.card {
    background-color: #1a1a1a !important;
    border-color: #333333 !important;
    color: #ffffff !important;
}

.card-body {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
}

.card-header {
    background-color: #2a2a2a !important;
    border-color: #444444 !important;
    color: #ffffff !important;
}

.card-footer {
    background-color: #2a2a2a !important;
    border-color: #444444 !important;
    color: #ffffff !important;
}

/* Tables */
table {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
}

.table {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
}

.table thead th {
    background-color: #2a2a2a !important;
    color: #ffffff !important;
    border-color: #444444 !important;
}

.table tbody tr {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
}

.table tbody td {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
    border-color: #444444 !important;
}

.table tbody tr:hover {
    background-color: #2a2a2a !important;
}

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

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

.table-hover tbody tr:hover {
    background-color: #2a2a2a !important;
}

.table-bordered {
    border-color: #444444 !important;
}

.table-bordered th,
.table-bordered td {
    border-color: #444444 !important;
}

/* Modals */
.modal-content {
    background-color: #1a1a1a !important;
    border-color: #333333 !important;
    color: #ffffff !important;
}

.modal-header {
    background-color: #2a2a2a !important;
    border-color: #444444 !important;
    color: #ffffff !important;
}

.modal-body {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
}

.modal-footer {
    background-color: #2a2a2a !important;
    border-color: #444444 !important;
}

/* Dropdowns */
.dropdown-menu {
    background-color: #1a1a1a !important;
    border-color: #333333 !important;
}

.dropdown-item {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
    background-color: #2a2a2a !important;
    color: #ffffff !important;
}

.dropdown-divider {
    border-color: #444444 !important;
}

/* Navs and tabs */
.nav-tabs {
    border-color: #444444 !important;
}

.nav-tabs .nav-link {
    background-color: #1a1a1a !important;
    border-color: #444444 !important;
    color: #ffffff !important;
}

.nav-tabs .nav-link:hover {
    background-color: #2a2a2a !important;
    border-color: #444444 !important;
}

.nav-tabs .nav-link.active {
    background-color: #2a2a2a !important;
    border-color: #444444 !important;
    color: #ff8800 !important;
}

.nav-pills .nav-link {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
}

.nav-pills .nav-link:hover {
    background-color: #2a2a2a !important;
}

.nav-pills .nav-link.active {
    background-color: #ff8800 !important;
}

/* List groups */
.list-group {
    background-color: #1a1a1a !important;
}

.list-group-item {
    background-color: #1a1a1a !important;
    border-color: #444444 !important;
    color: #ffffff !important;
}

.list-group-item:hover {
    background-color: #2a2a2a !important;
}

.list-group-item.active {
    background-color: #ff8800 !important;
    border-color: #ff8800 !important;
}

/* Breadcrumbs */
.breadcrumb {
    background-color: #1a1a1a !important;
}

.breadcrumb-item + .breadcrumb-item::before {
    color: #ffffff !important;
}

/* Pagination */
.pagination {
    background-color: transparent !important;
}

.page-link {
    background-color: #1a1a1a !important;
    border-color: #444444 !important;
    color: #ffffff !important;
}

.page-link:hover {
    background-color: #2a2a2a !important;
    border-color: #444444 !important;
    color: #ffffff !important;
}

.page-item.active .page-link {
    background-color: #ff8800 !important;
    border-color: #ff8800 !important;
}

.page-item.disabled .page-link {
    background-color: #1a1a1a !important;
    border-color: #444444 !important;
    color: #666666 !important;
}

/* Forms */
.form-control {
    background-color: #2a2a2a !important;
    border-color: #444444 !important;
    color: #ffffff !important;
}

.form-control:focus {
    background-color: #2a2a2a !important;
    border-color: #ff8800 !important;
    color: #ffffff !important;
}

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

.form-select {
    background-color: #2a2a2a !important;
    border-color: #444444 !important;
    color: #ffffff !important;
}

.form-select:focus {
    background-color: #2a2a2a !important;
    border-color: #ff8800 !important;
}

.input-group-text {
    background-color: #2a2a2a !important;
    border-color: #444444 !important;
    color: #ffffff !important;
}

/* Alerts */
.alert {
    border-color: #444444 !important;
}

.alert-primary {
    background-color: #1a3a5a !important;
    color: #ffffff !important;
}

.alert-secondary {
    background-color: #2a2a2a !important;
    color: #ffffff !important;
}

.alert-success {
    background-color: #1a4d1a !important;
    color: #ffffff !important;
}

.alert-danger {
    background-color: #5a1a1a !important;
    color: #ffffff !important;
}

.alert-warning {
    background-color: #5a4d1a !important;
    color: #ffffff !important;
}

.alert-info {
    background-color: #1a4d5a !important;
    color: #ffffff !important;
}

.alert-light {
    background-color: #2a2a2a !important;
    color: #ffffff !important;
}

.alert-dark {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
}

/* Badges */
.badge {
    color: #ffffff !important;
}

/* Popovers */
.popover {
    background-color: #1a1a1a !important;
    border-color: #444444 !important;
}

.popover-header {
    background-color: #2a2a2a !important;
    border-color: #444444 !important;
    color: #ffffff !important;
}

.popover-body {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
}

/* Tooltips */
.tooltip-inner {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
}

/* Offcanvas */
.offcanvas {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
}

.offcanvas-header {
    background-color: #2a2a2a !important;
    border-color: #444444 !important;
}

.offcanvas-body {
    background-color: #1a1a1a !important;
}

/* Accordion */
.accordion {
    background-color: #1a1a1a !important;
}

.accordion-item {
    background-color: #1a1a1a !important;
    border-color: #444444 !important;
}

.accordion-button {
    background-color: #2a2a2a !important;
    color: #ffffff !important;
}

.accordion-button:not(.collapsed) {
    background-color: #ff8800 !important;
    color: #000000 !important;
}

.accordion-body {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
}

/* Progress bars */
.progress {
    background-color: #2a2a2a !important;
}

/* Carousels */
.carousel {
    background-color: #1a1a1a !important;
}

.carousel-caption {
    background-color: rgba(0, 0, 0, 0.7) !important;
}

/* Wells/Jumbotron equivalents */
.bg-light {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
}

.bg-dark {
    background-color: #000000 !important;
    color: #ffffff !important;
}

/* Text colors for readability */
.text-muted {
    color: #999999 !important;
}

.text-dark {
    color: #ffffff !important;
}

/* Borders */
.border {
    border-color: #444444 !important;
}

.border-top,
.border-bottom,
.border-start,
.border-end {
    border-color: #444444 !important;
}

/* Container backgrounds */
.container,
.container-fluid {
    background-color: transparent !important;
}

/* Row backgrounds */
.row {
    background-color: transparent !important;
}

/* Close button */
.btn-close {
    filter: invert(1) grayscale(100%) brightness(200%) !important;
}

/* Navbar (if not already dark) */
.navbar-light {
    background-color: #1a1a1a !important;
}

.navbar-light .navbar-brand,
.navbar-light .navbar-nav .nav-link {
    color: #ffffff !important;
}

/* Custom select (for older browsers) */
select {
    background-color: #2a2a2a !important;
    color: #ffffff !important;
    border-color: #444444 !important;
}

select option {
    background-color: #2a2a2a !important;
    color: #ffffff !important;
}

/* Textareas */
textarea {
    background-color: #2a2a2a !important;
    color: #ffffff !important;
    border-color: #444444 !important;
}

/* Input fields */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="search"],
input[type="date"],
input[type="datetime-local"],
input[type="time"] {
    background-color: #2a2a2a !important;
    color: #ffffff !important;
    border-color: #444444 !important;
}

/* Checkbox and radio buttons */
input[type="checkbox"],
input[type="radio"] {
    filter: invert(1) hue-rotate(180deg) !important;
}

/* File inputs */
input[type="file"] {
    color: #ffffff !important;
}

input[type="file"]::file-selector-button {
    background-color: #2a2a2a !important;
    color: #ffffff !important;
    border-color: #444444 !important;
}

/* Scrollbars (webkit browsers) */
::-webkit-scrollbar {
    width: 12px;
    background-color: #1a1a1a;
}

::-webkit-scrollbar-track {
    background-color: #1a1a1a;
}

::-webkit-scrollbar-thumb {
    background-color: #444444;
    border-radius: 6px;
}

::-webkit-scrollbar-thumb:hover {
    background-color: #666666;
}

/* Selection color */
::selection {
    background-color: #ff8800 !important;
    color: #000000 !important;
}

::-moz-selection {
    background-color: #ff8800 !important;
    color: #000000 !important;
}
