@import url('../../fonts/edc-fonts.css');
        
        :root {
            --primary: #00ffaa;
            --secondary: #00d4ff;
            --accent-mint: #c4f0de;
            --bg-dark: #050505;
            
            /* Kalendářové barvy v dark mode */
            --deadline-bg: rgba(0, 255, 170, 0.15);
            --deadline-border: #00ffaa;
            --ean-deadline-bg: rgba(239, 68, 68, 0.15);
            --ean-deadline-border: #ef4444;
            --holiday-bg: rgba(138, 43, 226, 0.15);
            --holiday-text: #d8b4fe;
            --weekend-bg: rgba(255, 255, 255, 0.08); /* Zvýšeno na 0.08 pro jasnější vzhled */
        }

        body {
            font-family: 'Outfit', sans-serif;
            background-color: var(--bg-dark);
            color: #ffffff;
            margin: 0;
            overflow-x: hidden;
        }

        /* POZADÍ KLIKNI */
        #energy-canvas {
            position: fixed;
            top: 0; left: 0; width: 100vw; height: 100vh;
            z-index: -1;
            opacity: 0.5;
        }

        /* GLASSMORPHISMUS PRO HLAVNÍ KARTU */
        .glass-card {
            background: rgba(255, 255, 255, 0.03);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            border: 1px solid rgba(255, 255, 255, 0.05);
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
        }

        .text-gradient {
            background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        /* MŘÍŽKA KALENDÁŘE */
        .calendar-grid {
            display: grid;
            grid-template-columns: repeat(7, minmax(110px, 1fr));
            min-width: 770px; /* TVRDÝ ZÁMEK: 7 sloupců x 110px. Toto zaručeně spustí posuvník. */
            gap: 1px;
            background: rgba(255, 255, 255, 0.1);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 1rem;
        }

        /* Obalový prvek pro skrolování na mobilu */
        .calendar-container {
            width: 100%; /* Zásadní: zabrání kontejneru roztáhnout se mimo displej */
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
            padding-bottom: 15px; /* Větší prostor pro posuvník */
        }

        /* Viditelný posuvník, aby uživatel věděl, že může skrolovat */
        .calendar-container::-webkit-scrollbar {
            height: 6px;
        }
        .calendar-container::-webkit-scrollbar-track {
            background: rgba(255, 255, 255, 0.05);
            border-radius: 10px;
        }
        .calendar-container::-webkit-scrollbar-thumb {
            background: var(--primary);
            border-radius: 10px;
        }

        .weekday {
            background: rgba(0, 255, 170, 0.05);
            padding: 1rem 0.5rem;
            text-align: center;
            font-weight: 800;
            color: var(--primary);
            text-transform: uppercase;
            letter-spacing: 0.05em;
            font-size: 0.75rem;
        }

        .day-cell {
            min-height: 100px;
            padding: 0.75rem;
            background: rgba(20, 20, 20, 0.6);
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
            transition: all 0.3s ease;
        }

        .day-cell:hover {
            background: rgba(255, 255, 255, 0.05);
        }

        .day-number {
            font-weight: 800;
            font-size: 1.1rem;
            opacity: 0.9;
        }

        .is-weekend { background: var(--weekend-bg); }
        .is-weekend .day-number { opacity: 0.4; }

        .is-holiday { background: var(--holiday-bg); }
        .holiday-name {
            font-size: 0.65rem;
            color: var(--holiday-text);
            font-weight: 600;
            line-height: 1.2;
        }

        .is-deadline {
            background: var(--deadline-bg);
            border: 2px solid var(--deadline-border) !important;
            z-index: 1;
        }

        .is-ean-deadline {
            background: var(--ean-deadline-bg);
            border: 2px solid var(--ean-deadline-border) !important;
            z-index: 1;
        }

        .deadline-tag {
            font-size: 0.65rem;
            padding: 4px;
            border-radius: 4px;
            font-weight: 800;
            text-align: center;
            line-height: 1.2;
            color: #fff;
            word-wrap: break-word; /* PŘIDÁNO: Bezpečné zalomení dlouhých slov */
        }

        .tag-reg { background: var(--deadline-border); color: #000; }
        .tag-ean { background: var(--ean-deadline-border); }

        .is-today {
            box-shadow: inset 0 0 0 2px var(--secondary);
        }

        /* LEGENDA */
        .legend {
            background: rgba(255, 255, 255, 0.02);
            border: 1px solid rgba(255, 255, 255, 0.05);
            border-radius: 1.5rem;
            padding: 1.5rem;
        }

        .legend-item {
            display: flex;
            align-items: flex-start;
            gap: 1rem;
            font-size: 0.85rem;
            color: #9ca3af;
        }

        .legend-item strong { color: #fff; }

        .box {
            width: 18px;
            height: 18px;
            border-radius: 4px;
            flex-shrink: 0;
            margin-top: 2px;
        }
               /* --- STYLY PRO BÍLÉ LOGO --- */
        .logo-link {
            display: flex;
            align-items: center;
            text-decoration: none;
        }

        .logo-img {
            height: 48px;
            width: auto;
            display: block;
            filter: brightness(0) invert(1); 
            transition: transform 0.2s ease, filter 0.2s ease;
        }

        .logo-link:hover .logo-img {
            transform: scale(1.05);
        }

        .hero-reveal {
            opacity: 0;
            animation: fadeUp 1.2s cubic-bezier(0.16, 1, 0.3, 1) 0.2s forwards;
        }

        @keyframes fadeUp {
            0% { opacity: 0; transform: translateY(50px); }
            100% { opacity: 1; transform: translateY(0); }
        }

        .reveal {
            opacity: 0;
            transform: translateY(50px);
            transition: all 0.8s ease-out;
        }

        .reveal.active {
            opacity: 1;
            transform: translateY(0);
        }

        .float-anim { animation: floating 3s ease-in-out infinite; }
        @keyframes floating {
            0%, 100% { transform: translateY(0px); }
            50% { transform: translateY(-15px); }
        }

        /* WCAG AAA REŽIM */
        [data-theme="wcag-aaa"] { background: #000 !important; }
        [data-theme="wcag-aaa"] .glass-card { background: #000 !important; border: 2px solid #fff !important; }
        [data-theme="wcag-aaa"] .text-gradient { -webkit-text-fill-color: #ffff00 !important; }
        [data-theme="wcag-aaa"] .day-cell { background: #000 !important; border: 1px solid #fff !important; }
        [data-theme="wcag-aaa"] .weekday { color: #ffff00 !important; background: #000 !important; border: 1px solid #fff !important; },
        @media (max-width: 768px) {
            .day-cell {
                min-height: 80px;
                padding: 0.4rem;
            }
            .deadline-tag {
                font-size: 0.55rem;
                padding: 2px;
            }
            .holiday-name {
                font-size: 0.55rem;
            }
        }
