        :root {
            --bg-color: #EEEEEE;
            --text-color: #1F1F1F;
            --header-bg: linear-gradient(to bottom, #E0E0E0 0%, #CCCCCC 100%);
            --nav-bg: linear-gradient(to bottom, #444444 0%, #222222 100%);
            --nav-text: #FFFFFF;
            --nav-hover: linear-gradient(to bottom, #555555 0%, #333333 100%);
            --glass-bg: linear-gradient(135deg, rgba(255, 255, 255, 0.8) 0%, rgba(240, 240, 240, 0.5) 100%);
            --glass-border: 1px solid rgba(255, 255, 255, 0.8);
            --glass-shadow: 0 4px 10px rgba(0, 0, 0, 0.15), inset 0 1px 2px rgba(255, 255, 255, 1);
            --card-header: linear-gradient(to bottom, #E6E6E6 0%, #D8D8D8 100%);
            --live-bg: #CC0000;
            --live-text: #FFFFFF;
            --border-color: #B0B0B0;
            --footer-bg: linear-gradient(to bottom, #333333 0%, #1A1A1A 100%);
            --footer-text: #CCCCCC;
            --skeleton-bg: linear-gradient(90deg, #E0E0E0 25%, #EDF0F2 50%, #E0E0E0 75%);
            --offline-bg: #FFF3CD;
            --offline-text: #856404;
            --offline-border: #FFEEBA;
            --player-bg: linear-gradient(to bottom, #F5F5F5 0%, #E8E8E8 100%);
            --player-border: 1px solid #C0C0C0;
            --player-shadow: inset 0 1px 0 #FFF, 0 2px 5px rgba(0,0,0,0.1);
        }

        [data-theme="dark"] {
            --bg-color: #1F1F1F;
            --text-color: #F7F7F7;
            --header-bg: linear-gradient(to bottom, #2C2C2C 0%, #1A1A1A 100%);
            --nav-bg: linear-gradient(to bottom, #1A1A1A 0%, #0D0D0D 100%);
            --nav-text: #F7F7F7;
            --nav-hover: linear-gradient(to bottom, #333333 0%, #222222 100%);
            --glass-bg: linear-gradient(135deg, rgba(44, 44, 44, 0.8) 0%, rgba(30, 30, 30, 0.6) 100%);
            --glass-border: 1px solid rgba(255, 255, 255, 0.15);
            --glass-shadow: 0 4px 12px rgba(0, 0, 0, 0.4), inset 0 1px 1px rgba(255, 255, 255, 0.2);
            --card-header: linear-gradient(to bottom, #333333 0%, #252525 100%);
            --live-bg: #FF3333;
            --live-text: #FFFFFF;
            --border-color: #444444;
            --footer-bg: linear-gradient(to bottom, #0D0D0D 0%, #050505 100%);
            --footer-text: #A0A0A0;
            --skeleton-bg: linear-gradient(90deg, #2A2A2A 25%, #383838 50%, #2A2A2A 75%);
            --offline-bg: #413512;
            --offline-text: #FFE699;
            --offline-border: #574719;
            --player-bg: linear-gradient(to bottom, #2A2A2A 0%, #202020 100%);
            --player-border: 1px solid #444;
            --player-shadow: inset 0 1px 0 #333, 0 2px 5px rgba(0,0,0,0.3);
        }

        * {
            box-sizing: border-box;
        }

        html, body {
            height: 100%;
            margin: 0;
            padding: 0;
        }

        body {
            background-color: var(--bg-color);
            color: var(--text-color);
            font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
            font-size: 14px;
            line-height: 1.4;
            display: flex;
            flex-direction: column;
        }

        #offline-banner {
            display: none;
            background: var(--offline-bg);
            color: var(--offline-text);
            border-bottom: 1px solid var(--offline-border);
            padding: 10px;
            text-align: center;
            font-weight: bold;
            font-size: 13px;
        }

        header {
            background: var(--header-bg);
            border-bottom: 1px solid var(--border-color);
            padding: 15px 20px;
            position: relative;
        }

        .header-container {
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 15px;
        }

        .logo-area {
            display: flex;
            flex-direction: column;
            gap: 5px;
        }

        .logo {
            width: 255px;
            height: 60px;
            background-image: url("img/logo-nav.png");
            position: relative;
        }

        .slogan {
            font-size: 12px;
            font-style: italic;
            opacity: 0.8;
            font-weight: bold;
        }

        .header-actions {
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .theme-toggle-btn {
            background: var(--nav-bg);
            color: var(--nav-text);
            border: 1px solid var(--border-color);
            padding: 8px 12px;
            cursor: pointer;
            font-family: inherit;
            font-size: 12px;
            font-weight: bold;
            box-shadow: inset 0 1px 0 rgba(255,255,255,0.2);
        }

        .menu-toggle-btn {
            display: none;
            background: var(--nav-bg);
            color: var(--nav-text);
            border: 1px solid var(--border-color);
            padding: 8px 12px;
            cursor: pointer;
            font-size: 16px;
            width: 40px;
            height: 35px;
            align-items: center;
            justify-content: center;
            flex-direction: column;
            gap: 4px;
        }

        .menu-toggle-btn span {
            display: block;
            width: 20px;
            height: 2px;
            background-color: var(--nav-text);
            will-change: transform, opacity;
        }

        nav {
            background: var(--nav-bg);
            border-bottom: 3px solid var(--live-bg);
        }

        .nav-container {
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            flex-wrap: wrap;
        }

        .nav-link {
            color: var(--nav-text);
            text-decoration: none;
            padding: 12px 20px;
            font-weight: bold;
            font-size: 13px;
            border-right: 1px solid rgba(255,255,255,0.1);
            text-transform: uppercase;
        }

        .nav-link:hover {
            background: var(--nav-hover);
        }

        @media (max-width: 768px) {
            .menu-toggle-btn {
                display: flex;
            }
            nav {
                display: none;
                width: 100%;
            }
            nav.active {
                display: block;
            }
            .nav-container {
                flex-direction: column;
            }
            .nav-link {
                border-right: none;
                border-bottom: 1px solid rgba(255,255,255,0.1);
                width: 100%;
                padding: 14px 20px;
            }
        }

        .main-layout {
            max-width: 1200px;
            margin: 15px auto;
            padding: 0 15px;
            display: grid;
            grid-template-columns: 1fr 320px;
            gap: 15px;
            flex: 1 0 auto;
            width: 100%;
        }

        @media (max-width: 992px) {
            .main-layout {
                grid-template-columns: 1fr;
            }
        }

        .glass-card {
            background: var(--glass-bg);
            border: var(--glass-border);
            box-shadow: var(--glass-shadow);
            margin-bottom: 15px;
            position: relative;
            overflow: hidden;
        }

        .card-header {
            background: var(--card-header);
            border-bottom: 1px solid var(--border-color);
            padding: 8px 12px;
            font-weight: bold;
            font-size: 13px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            box-shadow: inset 0 1px 0 rgba(255,255,255,0.6);
        }

        .card-body {
            padding: 12px;
        }

        .plantao-card {
            border: 2px solid #CC0000;
            background: linear-gradient(135deg, rgba(204, 0, 0, 0.1) 0%, rgba(204, 0, 0, 0.02) 100%);
            display: none;
        }

        .plantao-card .card-header {
            background: linear-gradient(to bottom, #CC0000 0%, #990000 100%);
            color: #FFFFFF;
            border-bottom: 1px solid #770000;
        }

        .empty-state {
            text-align: center;
            padding: 20px;
            color: var(--text-color);
            opacity: 0.7;
            font-size: 13px;
            font-style: italic;
        }

        .news-item {
            border-bottom: 1px dashed var(--border-color);
            padding: 10px 0;
        }
        .news-item:last-child { border-bottom: none; }
        .news-title { font-weight: bold; font-size: 15px; margin-bottom: 3px; }
        .news-sub { opacity: 0.8; font-size: 12px; }

        .prog-item {
            display: flex;
            justify-content: space-between;
            align-items: center;
            border-bottom: 1px solid var(--border-color);
            padding: 8px 0;
        }
        .prog-item:last-child { border-bottom: none; }
        .prog-time { font-weight: bold; background: rgba(0,0,0,0.05); padding: 2px 6px; font-size: 12px; }
        .prog-info { text-align: right; }
        .prog-name { font-weight: bold; }
        .prog-host { font-size: 12px; opacity: 0.7; }

        .player-panel {
            display: flex;
            flex-direction: column;
            gap: 12px;
        }

        .live-indicator {
            background: var(--live-bg);
            color: var(--live-text);
            padding: 4px 8px;
            font-size: 11px;
            font-weight: bold;
            text-transform: uppercase;
            display: inline-flex;
            align-items: center;
            gap: 6px;
            align-self: flex-start;
            border-radius: 2px;
            box-shadow: 0 1px 3px rgba(0,0,0,0.2);
        }

        .live-indicator span {
            width: 8px;
            height: 8px;
            background-color: #FFFFFF;
            border-radius: 50%;
            display: inline-block;
        }

        .audio-wrapper {
            background: var(--player-bg);
            border: var(--player-border);
            box-shadow: var(--player-shadow);
            padding: 10px;
            border-radius: 4px;
        }

        .audio-wrapper audio {
            width: 100%;
            display: block;
            height: 36px;
        }

        .skeleton-wrapper {
            display: flex;
            flex-direction: column;
            gap: 10px;
            padding: 5px;
        }

        .skeleton-block {
            background: var(--skeleton-bg);
            background-size: 200% 100%;
            animation: skeleton-loading 1.5s infinite linear;
            height: 14px;
            width: 100%;
        }

        .skeleton-block.title {
            height: 18px;
            width: 70%;
        }

        @keyframes skeleton-loading {
            0% { background-position: 200% 0; }
            100% { background-position: -200% 0; }
        }

        footer {
            flex-shrink: 0;
            background: var(--footer-bg);
            color: var(--footer-text);
            border-top: 4px solid var(--live-bg);
            padding: 25px 20px;
            font-size: 12px;
            margin-top: 30px;
        }

        @media (min-width: 993px) {
            footer {
                margin-top: auto;
            }
        }

        .footer-container {
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 20px;
        }

        .footer-info {
            max-width: 600px;
        }

        .footer-links {
            display: flex;
            gap: 15px;
        }

        .footer-links a {
            color: var(--footer-text);
            text-decoration: none;
        }

        .footer-links a:hover {
            color: #FFFFFF;
        }
