/* Dark Mode Styles for Visor */

body.dark-mode {
    background-color: #1a1a1a;
    color: #c0c0c0;
}

body.dark-mode #page-wrapper.gray-bg {
    background-color: #1a1a1a;
}

body.dark-mode .white-bg {
    background-color: #252525 !important;
    color: #c0c0c0;
}

body.dark-mode .navbar-static-top.white-bg {
    background-color: #252525 !important;
    border-color: #3a3a3a;
}

body.dark-mode .navbar-static-top.white-bg .navbar-header,
body.dark-mode .navbar-static-top.white-bg .navbar-top-links {
    color: #c0c0c0;
}

body.dark-mode .navbar-static-top.white-bg a {
    color: #c0c0c0;
}

body.dark-mode .navbar-static-top.white-bg a:hover {
    color: #e0e0e0;
}

body.dark-mode .wrapper-content {
    background-color: #1a1a1a;
    color: #c0c0c0;
}

body.dark-mode .footer {
    background-color: #2d2d2d;
    color: #b0b0b0;
    border-top: 1px solid #404040;
}

body.dark-mode .ibox {
    background-color: #252525;
    border-color: #3a3a3a;
}

body.dark-mode .ibox-title {
    background-color: #252525;
    border-color: #3a3a3a;
    color: #c0c0c0;
}

body.dark-mode .ibox-content {
    background-color: #252525;
    color: #c0c0c0;
}

/* Don't override ibox-content background for dashboard widgets */
body.dark-mode .ibox-content .widget,
body.dark-mode .ibox-content .widget * {
    background-color: inherit !important;
}

body.dark-mode .panel {
    background-color: #2d2d2d;
    border-color: #404040;
}

body.dark-mode .panel-heading {
    background-color: #2d2d2d;
    border-color: #404040;
    color: #e0e0e0;
}

body.dark-mode .panel-body {
    background-color: #2d2d2d;
    color: #e0e0e0;
}

body.dark-mode .table {
    color: #c0c0c0;
    border-color: #3a3a3a;
}

body.dark-mode .table > thead > tr > th {
    background-color: #2a2a2a;
    border-color: #3a3a3a;
    color: #c0c0c0;
}

body.dark-mode .table > tbody > tr > td {
    border-color: #3a3a3a;
    color: #c0c0c0;
}

body.dark-mode .table > tbody > tr {
    background-color: #252525;
    color: #c0c0c0;
}

body.dark-mode .table-striped > tbody > tr:nth-of-type(odd) {
    background-color: #252525;
}

body.dark-mode .table-striped > tbody > tr:nth-of-type(even) {
    background-color: #1f1f1f;
}

body.dark-mode .table-hover > tbody > tr:hover {
    background-color: #2d2d2d;
}

body.dark-mode .form-control {
    background-color: #252525;
    border-color: #404040;
    color: #e0e0e0;
}

body.dark-mode .form-control:focus {
    background-color: #252525;
    border-color: #1ab394;
    color: #e0e0e0;
}

body.dark-mode .form-control::placeholder {
    color: #888;
}

body.dark-mode .dropdown-menu {
    background-color: #2d2d2d;
    border-color: #404040;
}

body.dark-mode .dropdown-menu > li > a {
    color: #e0e0e0;
}

body.dark-mode .dropdown-menu > li > a:hover,
body.dark-mode .dropdown-menu > li > a:focus {
    background-color: #353535;
    color: #ffffff;
}

body.dark-mode .dropdown-menu > .active > a,
body.dark-mode .dropdown-menu > .active > a:focus,
body.dark-mode .dropdown-menu > .active > a:hover {
    background-color: #2d6b5a;
    color: #ffffff;
}

body.dark-mode .btn-default {
    background-color: #2d2d2d;
    border-color: #404040;
    color: #e0e0e0;
}

body.dark-mode .btn-default:hover,
body.dark-mode .btn-default:focus {
    background-color: #353535;
    border-color: #505050;
    color: #ffffff;
}

body.dark-mode .label {
    color: #e0e0e0;
}

body.dark-mode .badge {
    background-color: #404040;
    color: #e0e0e0;
}

body.dark-mode .well {
    background-color: #252525;
    border-color: #404040;
    color: #e0e0e0;
}

body.dark-mode .list-group-item {
    background-color: #2d2d2d;
    border-color: #404040;
    color: #e0e0e0;
}

body.dark-mode .list-group-item:hover {
    background-color: #353535;
}

body.dark-mode .nav-tabs {
    border-color: #404040;
}

body.dark-mode .nav-tabs > li > a {
    color: #b0b0b0;
}

body.dark-mode .nav-tabs > li > a:hover {
    background-color: #353535;
    border-color: #404040;
    color: #e0e0e0;
}

body.dark-mode .nav-tabs > li.active > a,
body.dark-mode .nav-tabs > li.active > a:hover,
body.dark-mode .nav-tabs > li.active > a:focus {
    background-color: #2d2d2d;
    border-color: #404040;
    color: #e0e0e0;
}

body.dark-mode .modal-content {
    background-color: #2d2d2d;
    border-color: #404040;
}

body.dark-mode .modal-header {
    border-color: #404040;
    color: #e0e0e0;
}

body.dark-mode .modal-body {
    background-color: #2d2d2d;
    color: #e0e0e0;
}

body.dark-mode .modal-footer {
    border-color: #404040;
}

body.dark-mode .close:not(.fa):not(.glyphicon) {
    background-color: #252525 !important;
    border-color: #3a3a3a !important;
    color: #c0c0c0 !important;
    opacity: 0.8;
}

body.dark-mode .close:hover:not(.fa):not(.glyphicon) {
    opacity: 1;
    color: #ffffff !important;
    background-color: #2d2d2d !important;
}

body.dark-mode pre {
    background-color: #252525;
    border-color: #404040;
    color: #e0e0e0;
}

body.dark-mode code {
    background-color: #252525;
    color: #e0e0e0;
}

body.dark-mode .text-muted {
    color: #888 !important;
}

body.dark-mode .border-bottom {
    border-color: #404040 !important;
}

body.dark-mode .alert {
    border-color: #404040;
}

body.dark-mode .alert-info {
    background-color: #1e3a5f;
    border-color: #2d5a8a;
    color: #b8d4f0;
}

body.dark-mode .alert-success {
    background-color: #1e5f3a;
    border-color: #2d8a5a;
    color: #b8f0d4;
}

body.dark-mode .alert-warning {
    background-color: #5f4a1e;
    border-color: #8a6d2d;
    color: #f0e4b8;
}

body.dark-mode .alert-danger {
    background-color: #5f1e1e;
    border-color: #8a2d2d;
    color: #f0b8b8;
}

body.dark-mode .pagination > li > a,
body.dark-mode .pagination > li > span {
    background-color: #2d2d2d;
    border-color: #404040;
    color: #e0e0e0;
}

body.dark-mode .pagination > li > a:hover,
body.dark-mode .pagination > li > span:hover {
    background-color: #353535;
    border-color: #505050;
    color: #ffffff;
}

body.dark-mode .pagination > .active > a,
body.dark-mode .pagination > .active > span {
    background-color: #2d6b5a;
    border-color: #2d6b5a;
    color: #ffffff;
}

body.dark-mode .breadcrumb {
    background-color: #252525;
}

body.dark-mode .breadcrumb > li {
    color: #b0b0b0;
}

body.dark-mode .breadcrumb > li.active {
    color: #e0e0e0;
}

body.dark-mode h1, body.dark-mode h2, body.dark-mode h3,
body.dark-mode h4, body.dark-mode h5, body.dark-mode h6 {
    color: #e0e0e0;
}

body.dark-mode a {
    color: #4a9e8a;
}

body.dark-mode a:hover {
    color: #5ab39f;
}

/* Fix inline styles with color:#000 */
body.dark-mode a[style*="color:#000"],
body.dark-mode a[style*="color:#000000"],
body.dark-mode a[style*="color: #000"],
body.dark-mode a[style*="color: #000000"] {
    color: #c0c0c0 !important;
}

body.dark-mode span[style*="color:#000"],
body.dark-mode span[style*="color:#000000"],
body.dark-mode span[style*="color: #000"],
body.dark-mode span[style*="color: #000000"] {
    color: #c0c0c0 !important;
}

body.dark-mode .dark-mode-toggle {
    color: #e0e0e0;
}

body.dark-mode .dark-mode-toggle:hover {
    color: #ffffff;
}

/* DataTables dark mode */
body.dark-mode .dataTables_wrapper .dataTables_filter input {
    background-color: #252525 !important;
    border-color: #3a3a3a !important;
    color: #c0c0c0 !important;
}

body.dark-mode .dataTables_wrapper .dataTables_length select {
    background-color: #252525 !important;
    border-color: #3a3a3a !important;
    color: #c0c0c0 !important;
}

body.dark-mode .dataTables_wrapper .dataTables_length select option {
    background-color: #252525 !important;
    color: #c0c0c0 !important;
}

body.dark-mode .dataTables_wrapper .dataTables_info {
    color: #b0b0b0;
}

body.dark-mode .dataTables_wrapper .dataTables_paginate .paginate_button {
    color: #e0e0e0 !important;
}

body.dark-mode .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background-color: #353535 !important;
    border-color: #505050 !important;
    color: #ffffff !important;
}

body.dark-mode .dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background-color: #1ab394 !important;
    border-color: #1ab394 !important;
    color: #ffffff !important;
}

/* Toastr dark mode */
body.dark-mode #toast-container > div {
    background-color: #2d2d2d;
    color: #e0e0e0;
    box-shadow: 0 0 12px rgba(0, 0, 0, 0.5);
}

/* CodeMirror dark mode */
body.dark-mode .CodeMirror {
    background-color: #252525;
    color: #e0e0e0;
}

body.dark-mode .CodeMirror-gutters {
    background-color: #1e1e1e;
    border-color: #404040;
}

/* Flatpickr dark mode */
body.dark-mode .flatpickr-calendar {
    background-color: #2d2d2d;
    border-color: #404040;
    color: #e0e0e0;
}

body.dark-mode .flatpickr-day {
    color: #e0e0e0;
}

body.dark-mode .flatpickr-day:hover {
    background-color: #353535;
}

body.dark-mode .flatpickr-day.selected {
    background-color: #2d6b5a;
    color: #ffffff;
}

/* Log page specific styles */
body.dark-mode .faq-item {
    background-color: #252525;
    border-color: #3a3a3a;
    color: #c0c0c0;
}

body.dark-mode .faq-question {
    color: #c0c0c0;
}

body.dark-mode .faq-answer {
    background-color: #252525;
    color: #c0c0c0;
}

body.dark-mode .ex-type {
    background-color: #252525;
    border-color: #3a3a3a;
    color: #c0c0c0;
}

body.dark-mode .ex-type.lazur-bg {
    background-color: #2d4a3f !important;
    border-color: #3a5a4f !important;
    color: #a0c0b0 !important;
}

body.dark-mode .lazur-bg {
    background-color: #2d4a3f !important;
    color: #a0c0b0 !important;
}

/* Label colors - darker variants */
body.dark-mode .label-success {
    background-color: #2d5a3f !important;
    color: #a0d0b0 !important;
}

body.dark-mode .label-danger {
    background-color: #5a2d2d !important;
    color: #d0a0a0 !important;
}

body.dark-mode .label-warning {
    background-color: #5a4a2d !important;
    color: #d0c0a0 !important;
}

body.dark-mode .label-info {
    background-color: #2d3a5a !important;
    color: #a0b0d0 !important;
}

/* Only apply dark mode override to label-primary without inline background styles */
body.dark-mode .label-primary:not([style*="background"]):not([style*="background-color"]) {
    background-color: #3a3a5a !important;
    color: #b0b0d0 !important;
}

/* Log tags with inline background colors - preserve server-side inline styles */
/* Use very specific selector to override .label-primary rule */
/* The JavaScript will re-apply the inline style to ensure it takes precedence */
body.dark-mode span.log-tag.label-primary[style*="background-color"],
body.dark-mode span.log-tag.label-primary[style*="background"],
body.dark-mode .log-tag.label-primary[style*="background-color"],
body.dark-mode .log-tag.label-primary[style*="background"],
body.dark-mode span.pull-left.label.label-primary.log-tag[style*="background-color"],
body.dark-mode span.pull-left.label.label-primary.log-tag[style*="background"] {
    /* Don't set background-color - let inline style work (JavaScript will ensure it) */
    /* Just ensure white text for visibility */
    color: #ffffff !important;
}

/* Button colors - darker variants */
body.dark-mode .btn-primary {
    background-color: #2d5a4a;
    border-color: #3a6a5a;
    color: #ffffff;
}

body.dark-mode .btn-primary:hover {
    background-color: #3a6a5a;
    border-color: #4a7a6a;
}

body.dark-mode .btn-success {
    background-color: #2d5a3f;
    border-color: #3a6a4f;
    color: #ffffff;
}

body.dark-mode .btn-danger {
    background-color: #5a2d2d;
    border-color: #6a3a3a;
    color: #ffffff;
}

body.dark-mode .btn-warning {
    background-color: #5a4a2d;
    border-color: #6a5a3a;
    color: #ffffff;
}

body.dark-mode .btn-info {
    background-color: #2d3a5a;
    border-color: #3a4a6a;
    color: #ffffff;
}

/* Input group addon */
body.dark-mode .input-group-addon {
    background-color: #2a2a2a;
    border-color: #3a3a3a;
    color: #c0c0c0;
}

/* Container fluid */
body.dark-mode .container-fluid {
    background-color: #1a1a1a;
    color: #c0c0c0;
}

/* Small text */
body.dark-mode .small,
body.dark-mode small {
    color: #a0a0a0;
}

/* Font bold */
body.dark-mode .font-bold {
    color: #d0d0d0;
}

/* JSON Tree Viewer */
body.dark-mode .jsonTree {
    background-color: #252525;
    color: #c0c0c0;
}

body.dark-mode .jsonTree .key {
    color: #8ab3d0;
}

body.dark-mode .jsonTree .value {
    color: #c0c0c0;
}

body.dark-mode .jsonTree .string {
    color: #a0c0a0;
}

body.dark-mode .jsonTree .number {
    color: #d0a0a0;
}

body.dark-mode .jsonTree .boolean {
    color: #a0a0d0;
}

/* Additional fixes for borders and backgrounds - specific elements only */
body.dark-mode .border-bottom,
body.dark-mode .border-top,
body.dark-mode .border-left,
body.dark-mode .border-right,
body.dark-mode .border-size-sm,
body.dark-mode .border-top-bottom,
body.dark-mode .border-left-right {
    border-color: #3a3a3a !important;
}

/* Dashboard widgets - completely preserve original styling */
body.dark-mode .widget {
    /* Don't override - preserve original background, border, and text colors */
    background-color: inherit !important;
}

/* Preserve colored background classes - override any dark mode rules */
body.dark-mode .red-bg,
body.dark-mode .widget.red-bg {
    background-color: #ed5565 !important;
    color: #ffffff !important;
    border-color: transparent !important;
}

body.dark-mode .navy-bg,
body.dark-mode .widget.navy-bg {
    background-color: #1ab394 !important;
    color: #ffffff !important;
    border-color: transparent !important;
}

body.dark-mode .lazur-bg,
body.dark-mode .widget.lazur-bg {
    background-color: #23c6c8 !important;
    color: #ffffff !important;
    border-color: transparent !important;
}

body.dark-mode .yellow-bg,
body.dark-mode .widget.yellow-bg {
    background-color: #f8ac59 !important;
    color: #ffffff !important;
    border-color: transparent !important;
}

body.dark-mode .green-bg,
body.dark-mode .widget.green-bg {
    background-color: #1c84c6 !important;
    color: #ffffff !important;
    border-color: transparent !important;
}

body.dark-mode .blue-bg,
body.dark-mode .widget.blue-bg {
    background-color: #1c84c6 !important;
    color: #ffffff !important;
    border-color: transparent !important;
}

/* Preserve text colors in colored backgrounds */
body.dark-mode .red-bg *,
body.dark-mode .navy-bg *,
body.dark-mode .lazur-bg *,
body.dark-mode .yellow-bg *,
body.dark-mode .green-bg *,
body.dark-mode .blue-bg *,
body.dark-mode .widget.red-bg *,
body.dark-mode .widget.navy-bg *,
body.dark-mode .widget.lazur-bg *,
body.dark-mode .widget.yellow-bg *,
body.dark-mode .widget.green-bg *,
body.dark-mode .widget.blue-bg * {
    color: #ffffff !important;
}

/* Don't override borders on dashboard column elements */
body.dark-mode .ibox-content .row .col-md-2,
body.dark-mode .ibox-content .row .col-md-3,
body.dark-mode .ibox-content .row .col-md-4,
body.dark-mode .ibox-content .row .col-md-6,
body.dark-mode .ibox-content .row .col-md-12 {
    border-color: transparent !important;
}

body.dark-mode .border-top-bottom,
body.dark-mode .border-left-right,
body.dark-mode .border-size-sm {
    border-color: #3a3a3a !important;
}

/* Ensure all white backgrounds are overridden */
body.dark-mode [style*="background-color: white"],
body.dark-mode [style*="background-color:#fff"],
body.dark-mode [style*="background-color:#ffffff"],
body.dark-mode [style*="background: white"],
body.dark-mode [style*="background:#fff"],
body.dark-mode [style*="background:#ffffff"] {
    background-color: #252525 !important;
}

/* Fix any remaining white text */
body.dark-mode [style*="color: white"],
body.dark-mode [style*="color:#fff"],
body.dark-mode [style*="color:#ffffff"],
body.dark-mode [style*="color: white"] {
    color: #c0c0c0 !important;
}

/* Lead text */
body.dark-mode .lead {
    color: #c0c0c0;
}

/* Font normal */
body.dark-mode .font-normal {
    color: #c0c0c0;
}

/* No margins */
body.dark-mode .no-margins {
    color: #c0c0c0;
}

/* Add product button */
body.dark-mode #btn-add-product {
    background-color: #2d5a4a !important;
    border-color: #3a6a5a !important;
    color: #ffffff !important;
}

body.dark-mode #btn-add-product:hover {
    background-color: #3a6a5a !important;
    border-color: #4a7a6a !important;
}

/* Login page */
body.dark-mode .loginscreen {
    background-color: #1a1a1a !important;
}

body.dark-mode .middle-box.loginscreen {
    background-color: transparent !important;
}

body.dark-mode .middle-box.loginscreen > div {
    background-color: #252525 !important;
    border-color: #3a3a3a !important;
    color: #c0c0c0 !important;
}

body.dark-mode .logo-name {
    color: #c0c0c0 !important;
}

body.dark-mode .block.full-width {
    background-color: #2d5a4a !important;
    border-color: #3a6a5a !important;
    color: #ffffff !important;
}

body.dark-mode .block.full-width:hover {
    background-color: #3a6a5a !important;
    border-color: #4a7a6a !important;
}

/* Select boxes - comprehensive fix */
body.dark-mode select,
body.dark-mode select.form-control,
body.dark-mode select[multiple],
body.dark-mode select[multiple].form-control {
    background-color: #252525 !important;
    border-color: #3a3a3a !important;
    color: #c0c0c0 !important;
}

body.dark-mode select option {
    background-color: #252525 !important;
    color: #c0c0c0 !important;
}

body.dark-mode select option:checked {
    background-color: #2d6b5a !important;
    color: #ffffff !important;
}

body.dark-mode select option:hover {
    background-color: #2d2d2d !important;
}

/* Bootstrap select plugin */
body.dark-mode .bootstrap-select .dropdown-toggle {
    background-color: #252525 !important;
    border-color: #3a3a3a !important;
    color: #c0c0c0 !important;
}

body.dark-mode .bootstrap-select .dropdown-menu {
    background-color: #252525 !important;
    border-color: #3a3a3a !important;
}

body.dark-mode .bootstrap-select .dropdown-menu > li > a {
    background-color: #252525 !important;
    color: #c0c0c0 !important;
}

body.dark-mode .bootstrap-select .dropdown-menu > li > a:hover,
body.dark-mode .bootstrap-select .dropdown-menu > li > a:focus {
    background-color: #2d2d2d !important;
    color: #ffffff !important;
}

body.dark-mode .bootstrap-select .dropdown-menu > .active > a {
    background-color: #2d6b5a !important;
    color: #ffffff !important;
}

/* Chosen select plugin */
body.dark-mode .chosen-container .chosen-single {
    background-color: #252525 !important;
    border-color: #3a3a3a !important;
    color: #c0c0c0 !important;
}

body.dark-mode .chosen-container .chosen-drop {
    background-color: #252525 !important;
    border-color: #3a3a3a !important;
}

body.dark-mode .chosen-container .chosen-results li {
    color: #c0c0c0 !important;
}

body.dark-mode .chosen-container .chosen-results li.highlighted {
    background-color: #2d6b5a !important;
    color: #ffffff !important;
}

/* DataTables select boxes - consolidated above */

/* Cloudflare purge - latest purges list items - only if no inline style */
body.dark-mode .purge-item:not([style*="background"]),
body.dark-mode [class*="purge-item"]:not([style*="background"]),
body.dark-mode .list-item:not([style*="background"]) {
    background-color: #252525 !important;
    color: #c0c0c0 !important;
    border-color: #3a3a3a !important;
}

/* Cloudflare purge items with inline background colors */
/* Override light gray backgrounds (#f3f3f4) with dark background in dark mode */
body.dark-mode #cache-holder li[style*="background:#f3f3f4"],
body.dark-mode #cache-holder li[style*="background: #f3f3f4"],
body.dark-mode #cache-holder li[style*="background-color:#f3f3f4"],
body.dark-mode #cache-holder li[style*="background-color: #f3f3f4"] {
    background-color: #252525 !important;
    background: #252525 !important;
    color: #c0c0c0 !important;
}

body.dark-mode #cache-holder li[style*="background:#f3f3f4"] a,
body.dark-mode #cache-holder li[style*="background: #f3f3f4"] a,
body.dark-mode #cache-holder li[style*="background-color:#f3f3f4"] a,
body.dark-mode #cache-holder li[style*="background-color: #f3f3f4"] a,
body.dark-mode #cache-holder li[style*="background:#f3f3f4"] a.load-last,
body.dark-mode #cache-holder li[style*="background: #f3f3f4"] a.load-last {
    color: #c0c0c0 !important;
}

/* For colored backgrounds (like #4444e2, #2828f7), preserve them but make text white */
body.dark-mode #cache-holder li[style*="background"]:not([style*="background:#f3f3f4"]):not([style*="background: #f3f3f4"]):not([style*="background-color:#f3f3f4"]):not([style*="background-color: #f3f3f4"]) {
    /* Preserve colored background from inline style */
    /* But ensure text is visible on colored backgrounds */
    color: #ffffff !important;
}

body.dark-mode #cache-holder li[style*="background"]:not([style*="background:#f3f3f4"]):not([style*="background: #f3f3f4"]) a,
body.dark-mode #cache-holder li[style*="background"]:not([style*="background:#f3f3f4"]):not([style*="background: #f3f3f4"]) a.load-last {
    color: #ffffff !important;
}

/* For items without inline background, use dark mode styling */
body.dark-mode #cache-holder li:not([style*="background"]) {
    background-color: #252525 !important;
    color: #c0c0c0 !important;
}

/* Hetzner balancer management - selected items */
body.dark-mode [class*="balancer"] [class*="selected"],
body.dark-mode [class*="management"] [class*="selected"],
body.dark-mode .selected {
    background-color: #2d4a3f !important;
    color: #c0c0c0 !important;
    border-color: #3a5a4f !important;
}

/* Adlog logs - tags and hold - preserve original colors from inline styles */
body.dark-mode .log-tag[style*="background"],
body.dark-mode .log-tag[style*="background-color"],
body.dark-mode span.log-tag[style*="background"],
body.dark-mode span.log-tag[style*="background-color"] {
    /* Don't set background-color - let inline style from server work directly */
    /* Inline styles have highest specificity, but !important can override them */
    /* So we just don't set background-color at all for these elements */
    border-color: inherit !important;
    /* Always white text for tags with colored backgrounds */
    color: #ffffff !important;
}

body.dark-mode .log-tag.label-primary,
body.dark-mode .log-tag.label,
body.dark-mode span.log-tag.label-primary,
body.dark-mode span.log-tag.label {
    /* For tags without inline styles, use white text */
    color: #ffffff !important;
}

body.dark-mode .tag:not(.log-tag),
body.dark-mode [class*="tag"]:not(.log-tag):not([style*="background"]):not([style*="background-color"]),
body.dark-mode .hold,
body.dark-mode [class*="hold"] {
    background-color: #252525 !important;
    color: #c0c0c0 !important;
    border-color: #3a3a3a !important;
}

/* Search button and load more button divs - be more specific */
body.dark-mode button[class*="search"] + div,
body.dark-mode .btn[class*="search"] + div,
body.dark-mode button[class*="load"] + div,
body.dark-mode .btn[class*="load"] + div,
body.dark-mode #search-button + div,
body.dark-mode #load-more-button + div {
    background-color: #252525 !important;
    color: #c0c0c0 !important;
}

/* Test user lists - Parent label and Owner users boxes */
body.dark-mode label:contains("Parent") + select,
body.dark-mode label:contains("Owner") + select,
body.dark-mode select[name*="parent"],
body.dark-mode select[name*="owner"],
body.dark-mode select[id*="parent"],
body.dark-mode select[id*="owner"] {
    background-color: #252525 !important;
    border-color: #3a3a3a !important;
    color: #c0c0c0 !important;
}

/* Adlog logs add - text and save button div */
body.dark-mode form[action*="add"] > div:not(.form-group):not(.ibox):not(.ibox-content):not(.ibox-title),
body.dark-mode button[type="submit"][class*="save"] + div,
body.dark-mode button[type="submit"]:not(.btn-primary):not(.btn-success) + div:not(.ibox):not(.modal) {
    background-color: #252525 !important;
    color: #c0c0c0 !important;
}

/* Filepool - view as select box, select files box */
body.dark-mode select[name*="view"],
body.dark-mode select[id*="view"],
body.dark-mode select[name*="files"],
body.dark-mode select[id*="files"] {
    background-color: #252525 !important;
    border-color: #3a3a3a !important;
    color: #c0c0c0 !important;
}

/* Text areas */
body.dark-mode textarea,
body.dark-mode textarea.form-control {
    background-color: #252525 !important;
    border-color: #3a3a3a !important;
    color: #c0c0c0 !important;
}

body.dark-mode textarea:focus {
    background-color: #252525 !important;
    border-color: #2d6b5a !important;
    color: #c0c0c0 !important;
}

/* Labels */
body.dark-mode label {
    color: #c0c0c0;
}

body.dark-mode .form-group label {
    color: #c0c0c0;
}

/* Test user lists - ensure text is visible, but don't override if already set */
body.dark-mode [class*="testuser"] p:not([style*="color"]),
body.dark-mode [class*="testuser"] span:not([style*="color"]),
body.dark-mode [class*="testuser"] div:not([style*="color"]) {
    color: #c0c0c0;
}

/* Test user lists - badge-list-label text color */
body.dark-mode .badge-list-label {
    color: #ffffff !important;
}

body.dark-mode .badge-list-label[style*="background-color"] {
    /* Preserve background color, ensure white text is visible */
    color: #ffffff !important;
}

/* Input groups */
body.dark-mode .input-group {
    color: #c0c0c0;
}

body.dark-mode .input-group .form-control {
    background-color: #252525 !important;
    border-color: #3a3a3a !important;
    color: #c0c0c0 !important;
}

/* ibox-footer */
body.dark-mode .ibox-footer {
    background-color: #252525 !important;
    border-color: #3a3a3a !important;
    color: #c0c0c0 !important;
}

/* Select2 plugin */
body.dark-mode .select2-selection {
    background-color: #252525 !important;
    border-color: #3a3a3a !important;
    color: #c0c0c0 !important;
}

body.dark-mode .select2-selection--multiple {
    background-color: #252525 !important;
    border-color: #3a3a3a !important;
    color: #c0c0c0 !important;
}

body.dark-mode .select2-selection__choice {
    background-color: #2d2d2d !important;
    border-color: #3a3a3a !important;
    color: #c0c0c0 !important;
}

body.dark-mode .select2-selection__choice__remove {
    color: #c0c0c0 !important;
}

body.dark-mode .select2-selection__choice__remove:hover {
    color: #ffffff !important;
}

body.dark-mode .select2-dropdown {
    background-color: #252525 !important;
    border-color: #3a3a3a !important;
}

body.dark-mode .select2-results__option {
    background-color: #252525 !important;
    color: #c0c0c0 !important;
}

body.dark-mode .select2-results__option--highlighted {
    background-color: #2d6b5a !important;
    color: #ffffff !important;
}

body.dark-mode .select2-search--dropdown .select2-search__field {
    background-color: #252525 !important;
    border-color: #3a3a3a !important;
    color: #c0c0c0 !important;
}

/* Auto refresh button in logs */
body.dark-mode #toggle-refresh-btn {
    background-color: #252525 !important;
    border-color: #3a3a3a !important;
    color: #c0c0c0 !important;
}

body.dark-mode #toggle-refresh-btn.btn-primary {
    background-color: #2d5a4a !important;
    border-color: #3a6a5a !important;
    color: #ffffff !important;
}

body.dark-mode #toggle-refresh-btn #on-off {
    color: inherit !important;
}

/* Login page dark mode toggle */
body.dark-mode .loginscreen .dark-mode-toggle {
    color: #c0c0c0 !important;
}

body.dark-mode .loginscreen .dark-mode-toggle:hover {
    color: #ffffff !important;
}
