/* Dark Mode Styles */
body.dark-mode {
    background-color: #121212;
    color: #e0e0e0;
}

body.dark-mode .navbar-light {
    background-color: #1f1f1f !important;
    border-bottom: 1px solid #333;
}

body.dark-mode .navbar-light .navbar-brand,
body.dark-mode .navbar-light .navbar-nav .nav-link {
    color: #e0e0e0;
}

body.dark-mode .navbar-light .navbar-nav .nav-link:hover {
    color: #fff;
}

body.dark-mode .card {
    background-color: #1f1f1f;
    border-color: #333;
}

body.dark-mode .card-header {
    background-color: #2c2c2c;
    border-bottom-color: #333;
}

body.dark-mode .card-footer {
    background-color: #2c2c2c;
    border-top-color: #333;
}

body.dark-mode .card-body {
    background-color: #1f1f1f !important;
}

body.dark-mode .jumbotron {
    background-color: #1f1f1f;
    border: 1px solid #333;
}

body.dark-mode .list-group-item {
    background-color: #1f1f1f;
    border-color: #333;
}

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

body.dark-mode .table td,
body.dark-mode .table th {
    border-top-color: #333;
}

body.dark-mode .btn-light {
    background-color: #333;
    border-color: #444;
    color: #e0e0e0;
}

body.dark-mode .btn-light:hover {
    background-color: #444;
    border-color: #555;
    color: #fff;
}

body.dark-mode .dropdown-menu {
    background-color: #1f1f1f;
    border-color: #333;
}

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

body.dark-mode .dropdown-item:hover {
    background-color: #333;
    color: #fff;
}

body.dark-mode input.form-control,
body.dark-mode select.form-control,
body.dark-mode textarea.form-control {
    background-color: #2c2c2c;
    border-color: #444;
    color: #e0e0e0;
}

body.dark-mode input.form-control:focus,
body.dark-mode select.form-control:focus,
body.dark-mode textarea.form-control:focus {
    background-color: #333;
    color: #fff;
    border-color: #555;
}

/* Specific overrides for this app */
body.dark-mode #logo span {
    color: #e0e0e0 !important;
}

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

/* Landing Page Overrides */
body.dark-mode .description {
    color: #e0e0e0;
    -webkit-text-stroke-color: transparent;
    opacity: 0.8;
}

body.dark-mode .footer div[style*="color:black"] {
    color: #e0e0e0 !important;
}

body.dark-mode #fblink {
    color: #8b9dc3 !important;
    opacity: 1 !important;
}

/* About Page Overrides */
body.dark-mode .navbar-brand {
    color: #e0e0e0 !important;
}

/* Table Overrides */
body.dark-mode .table thead tr {
    background-color: #1f1f1f !important;
    color: #e0e0e0;
}

body.dark-mode .table td,
body.dark-mode .table th {
    border-color: #444;
}

/* Graph Overrides */
body.dark-mode #chart-div {
    filter: invert(1) hue-rotate(180deg);
}