/* General dark mode styles */
body.dark-mode {
    background-color: var(--background-color);
    color: var(--text-color);
}

.dark-mode .text-muted {
    color: #a0a0a0 !important; /* Lighter muted text */
}

/* Navbar */
.dark-mode .main-header {
    background-color: var(--main-color) !important;
    border-bottom: 1px solid var(--border-color);
}

.dark-mode .navbar-brand,
.dark-mode .nav-link,
.dark-mode .navbar-toggler-icon {
    color: var(--text-color) !important;
}

.dark-mode .navbar-toggler {
    border-color: var(--border-color);
}

/* Dropdowns */
.dark-mode .dropdown-menu {
    background-color: var(--secondary-color);
    border-color: var(--border-color);
}

.dark-mode .dropdown-item {
    color: var(--text-color);
}

.dark-mode .dropdown-item:hover,
.dark-mode .dropdown-item:focus {
    background-color: var(--main-color);
    color: var(--text-color);
}

.dark-mode .dropdown-divider {
    border-top: 1px solid var(--border-color);
}

/* Cards */
.dark-mode .card {
    background-color: var(--secondary-color);
    border-color: var(--border-color);
}

.dark-mode .card-title,
.dark-mode .card-subtitle,
.dark-mode .card-text,
.dark-mode h1,
.dark-mode h2,
.dark-mode h3,
.dark-mode h4,
.dark-mode h5,
.dark-mode h6,
.dark-mode p {
    color: var(--text-color);
}

.dark-mode a {
    color: var(--accent-color);
}

.dark-mode a:hover {
    color: var(--main-color);
}


/* Forms */
.dark-mode .form-control,
.dark-mode .form-select {
    background-color: var(--secondary-color);
    color: var(--text-color);
    border-color: var(--border-color);
}

.dark-mode .form-control:focus,
.dark-mode .form-select:focus {
    background-color: var(--secondary-color);
    color: var(--text-color);
    border-color: var(--accent-color);
    box-shadow: 0 0 0 0.25rem rgba(250, 149, 0, 0.25);
}

.dark-mode .form-label {
    color: var(--text-color);
}

/* Buttons */
.dark-mode .btn-primary {
    background-color: var(--accent-color);
    border-color: var(--accent-color);
    color: var(--text-color);
}

.dark-mode .btn-primary:hover {
    background-color: var(--main-color);
    border-color: var(--main-color);
}

.dark-mode .btn-outline-primary {
    color: var(--accent-color);
    border-color: var(--accent-color);
}

.dark-mode .btn-outline-primary:hover {
    background-color: var(--accent-color);
    color: var(--text-color);
}

.dark-mode .btn-outline-secondary {
    color: var(--text-color);
    border-color: var(--text-color);
}

.dark-mode .btn-outline-secondary:hover {
    background-color: var(--text-color);
    color: var(--background-color);
}


.dark-mode .btn-outline-success {
    color: #198754;
    border-color: #198754;
}

.dark-mode .btn-outline-success:hover {
    background-color: #198754;
    color: #fff;
}

.dark-mode .btn-outline-danger {
    color: #dc3545;
    border-color: #dc3545;
}

.dark-mode .btn-outline-danger:hover {
    background-color: #dc3545;
    color: #fff;
}

/* Modals */
.dark-mode .modal-content {
    background-color: var(--background-color);
    border-color: var(--border-color);
}

.dark-mode .modal-header {
    border-bottom-color: var(--border-color);
}

.dark-mode .modal-footer {
    border-top-color: var(--border-color);
}

/* Tables */
.dark-mode .table {
    color: var(--text-color);
}

.dark-mode .table-striped > tbody > tr:nth-of-type(odd) > * {
    --bs-table-accent-bg: rgba(255, 255, 255, 0.05);
}

.dark-mode .table-hover > tbody > tr:hover > * {
    --bs-table-accent-bg: rgba(255, 255, 255, 0.075);
}

.dark-mode .table-bordered {
    border-color: var(--border-color);
}

/* Footer */
.dark-mode .footer {
    background-color: var(--main-color) !important;
    border-top: 1px solid var(--border-color);
}

/* Other components */
.dark-mode .blockquote-footer {
    color: #a0a0a0;
}

.dark-mode .list-group-item {
    background-color: var(--background-color);
    border-color: var(--border-color);
}

.dark-mode .nav-tabs .nav-link {
    color: var(--text-color);
    border-color: var(--border-color);
}

.dark-mode .nav-tabs .nav-link.active {
    background-color: var(--secondary-color);
    border-color: var(--border-color);
    color: var(--text-color);
}

.dark-mode hr {
    border-top: 1px solid var(--border-color);
}

.dark-mode .station-status {
    background-color: var(--secondary-color);
}
