/* Global Styles */
body {
    transition: background-color 0.3s, color 0.3s;
}

/* Light Theme (Default) */
body.light-theme {
    background-color: #f8f9fa; /* Slightly off-white for better contrast */
    color: #212529;
}

/* Dark Theme */
body.dark-theme {
    background-color: #121212;
    color: #e0e0e0;
}

body.dark-theme .card {
    background-color: #1e1e1e;
    border-color: #333;
}

body.dark-theme .card-header {
    background-color: #252525;
    border-bottom-color: #333;
}

body.dark-theme .list-group-item {
    background-color: #1e1e1e;
    border-color: #333;
    color: #e0e0e0;
}

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

body.dark-theme .table thead th {
    border-color: #333;
    background-color: #252525;
    color: #fff;
}

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

body.dark-theme .form-control {
    background-color: #2c2c2c;
    border-color: #444;
    color: #e0e0e0;
}

body.dark-theme .form-control:focus {
    background-color: #333;
    color: #fff;
    border-color: #66afe9;
}

body.dark-theme .alert-info {
    background-color: #1d3846;
    border-color: #234659;
    color: #b8daff;
}

body.dark-theme .alert-warning {
    background-color: #3e2b06;
    border-color: #523a08;
    color: #ffeeba;
}

body.dark-theme .alert-success {
    background-color: #103316;
    border-color: #15461e;
    color: #c3e6cb;
}

/* Dark theme: make muted text and small hints readable on dark backgrounds */
body.dark-theme .text-muted {
    color: #ced4da !important;
}

/* Dark theme: ensure alert headings and strong text are bright enough */
body.dark-theme .alert h4,
body.dark-theme .alert strong {
    color: #f8f9fa;
}

/* Dark theme: override Bootstrap .text-dark to stay readable */
body.dark-theme .text-dark {
    color: #f8f9fa !important;
}

/* Navbar Overrides */
.navbar-brand {
    font-weight: bold;
}

/* Utility */
.timestamp {
    font-size: 0.9rem;
    color: #6c757d;
}
body.dark-theme .timestamp {
    color: #adb5bd;
}

/* filtered-out helper */
.filtered-out {
    display: none !important;
}
