/* Dark mode overrides */
:root[data-theme="dark"] {
    body {
        background-color: #121212;
        color: #e6e6e6;
    }

    .navbar {
        background-color: #1f1f1f !important;
    }

    .filter-controls,
    .card,
    .table,
    .alert,
    .timeline-container {
        background-color: #1a1a1a;
        color: #e6e6e6;
        border-color: #2a2a2a;
    }

    .table thead,
    .table thead tr,
    .table thead th,
    .timeline-header {
        background-color: #222 !important;
        color: #f1f1f1 !important;
    }

    .table-hover tbody tr:hover {
        background-color: #242424;
    }

    .channel-column {
        background-color: #1a1a1a !important;
        color: #e6e6e6;
        border-right-color: #2f2f2f;
        box-shadow: 2px 0 4px rgba(0,0,0,0.6);
    }

    .program-cell {
        background-color: #1f2a3a;
        border-color: #2f3e55;
        color: #e6e6e6;
    }

    .program-cell:hover {
        background-color: #243248;
    }

    .program-cell.short {
        background-color: #2a1f2f;
        border-color: #5a3b66;
    }

    .program-cell.medium {
        background-color: #1f2a22;
        border-color: #3b5a46;
    }

    .program-cell.long {
        background-color: #2b241a;
        border-color: #6a5a33;
    }

    .program-cell.movie {
        background-color: #2b1a24;
        border-color: #7a3b56;
    }

    .program-cell.news {
        background-color: #1f2a22;
        border-color: #3b5a46;
    }

    .program-title {
        color: #8ab4f8;
    }

    .program-time {
        color: #b0b0b0;
    }

    .time-slot {
        border-left-color: #2f2f2f;
    }

    .empty-slot {
        background-color: #1a1a1a;
        border-color: #2f2f2f;
    }

    .footer,
    footer,
    .bg-light {
        background-color: #1a1a1a !important;
        color: #bdbdbd !important;
    }

    a,
    .nav-link {
        color: #8ab4f8;
    }

    a:hover,
    .nav-link:hover {
        color: #a5c7ff;
    }

    .btn-outline-primary {
        color: #8ab4f8;
        border-color: #8ab4f8;
    }

    .btn-outline-primary:hover {
        background-color: #2a3b55;
        border-color: #8ab4f8;
    }
}

@media (prefers-color-scheme: dark) {
    :root[data-theme="light"] body {
        background-color: #ffffff;
        color: #212529;
    }
}

.spg-bar{background:linear-gradient(90deg, rgba(9,12,27,0.9), rgba(6,8,20,0.9));color:rgba(200,210,230,0.7);padding:12px 0}
.spg-bar-inner{max-width:1000px;margin:0 auto;padding:6px 16px;display:block;text-align:center;font-size:13px}
.spg-production{font-weight:600;display:block}
.spg-small{opacity:0.8;display:block;margin-top:4px}

@media(max-width:700px){.spg-bar-inner{flex-direction:column;gap:6px;text-align:center}}

/* fix spg-bar to page bottom and reserve space */
.spg-bar{position:fixed;left:0;right:0;bottom:0;z-index:10000}
.container{padding-bottom:120px}
