body { 
            font-family: 'Plus Jakarta Sans', sans-serif; 
            -webkit-tap-highlight-color: transparent; 
            scroll-behavior: smooth;
        }
        .app-container { 
            display: flex; 
            flex-direction: column; 
            min-height: 100vh;
        }

        @media (max-width: 768px) {
            body {
            font-size: 14px;
            }
            .day-sidebar {
            width: 48px;
            }
            .date-badge {
            width: 48px;
            height: 60px;
            font-size: 12px;
            }
            .sticky-wrapper {
            top: 16px;
            }
        }

        @media (max-width: 480px) {
            .day-section {
            gap: 12px;
            }
            .day-sidebar {
            width: 40px;
            }
            .date-badge {
            width: 40px;
            height: 52px;
            font-size: 11px;
            }
            .nav-link-minimal {
            font-size: 8px;
            padding: 6px 10px;
            }
        }
        .glass-header { background: linear-gradient(135deg, #1e1b4b 0%, #312e81 100%); position: relative; z-index: 50; }
        .day-section { position: relative; display: flex; gap: 16px; }
        .day-sidebar { width: 56px; flex-shrink: 0; position: relative; }
        .sticky-wrapper { position: sticky; top: 24px; z-index: 20; height: fit-content; }
        .date-badge {
            display: flex; flex-direction: column; align-items: center; justify-content: center;
            width: 56px; height: 68px; background: white; border: 2px solid #1e1b4b;
            border-radius: 18px; box-shadow: 0 8px 20px rgba(30, 27, 75, 0.12);
        }
        .rsvp-active { background-color: white !important; color: #1e1b4b !important; transform: scale(1.05); }
        .timeline-line-bg { position: absolute; left: 27px; top: 0; bottom: 0; width: 2px; background: #f1f5f9; z-index: 0; }
        .card-expand-content { display: none; margin-top: 12px; padding-top: 12px; border-top: 1px dashed #f1f5f9; }
        .card-expand-content.open, .card-expand-content.always-open { display: block; }
        .category-pill { font-size: 9px; font-weight: 800; padding: 3px 8px; border-radius: 6px; text-transform: uppercase; display: flex; align-items: center; gap: 4px; }
        
        .nav-link-minimal {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            font-size: 10px;
            font-weight: 800;
            color: #4f46e5;
            background: #f5f3ff;
            padding: 8px 14px;
            border-radius: 12px;
            transition: all 0.2s;
            text-transform: uppercase;
            letter-spacing: 0.025em;
        }
        .nav-link-minimal:hover { background: #ede9fe; }
        .nav-link-minimal:active { transform: scale(0.95); background: #ede9fe; }

        #bottom-status-bar.hidden-bar { transform: translate(-50%, 150%); opacity: 0; }
        #name-modal, #admin-modal { display: none; position: fixed; inset: 0; background: rgba(15, 23, 42, 0.9); backdrop-filter: blur(8px); z-index: 100; align-items: center; justify-content: center; padding: 24px; }
        #name-modal.active, #admin-modal.active { display: flex; }

        .lang-switch { position: absolute; top: 12px; right: 12px; display: flex; background: rgba(255,255,255,0.1); padding: 4px; border-radius: 12px; }
        .lang-btn { font-size: 9px; font-weight: 800; padding: 4px 8px; border-radius: 8px; transition: all 0.2s; color: white; opacity: 0.6; }
        .lang-btn.active { background: white; color: #1e1b4b; opacity: 1; }
        
        [dir="rtl"] { text-align: right; }
        /* [dir="rtl"] .day-section { flex-direction: row-reverse; } */
        [dir="rtl"] .timeline-line-bg { right: 27px; left: auto; }
        /* [dir="rtl"] .category-pill { flex-direction: row-reverse; } */
        [dir="rtl"] .nav-link-minimal { flex-direction: row-reverse; }
        [dir="rtl"] .category-pill svg { transform: scaleX(-1); }
        [dir="rtl"] .nav-link-minimal svg { transform: scaleX(-1); }

        /* Tab styles */
        .tab-active {
            background: #1e1b4b;
            color: white;
        }
        .tab-inactive {
            background: #f8fafc;
            color: #94a3b8;
        }
        .tab-inactive:hover {
            background: #f1f5f9;
            color: #64748b;
        }

        /* Sidebar attendees scroll */
        .sidebar-attendees-scroll::-webkit-scrollbar {
            width: 3px;
        }
        .sidebar-attendees-scroll::-webkit-scrollbar-thumb {
            background: rgba(255,255,255,0.2);
            border-radius: 4px;
        }

        /* ===== DESKTOP (1024px+) ===== */
        @media (min-width: 1024px) {
            body {
                background: #f8fafc;
            }

            .app-container {
                max-width: none;
                border-radius: 0;
                overflow: visible;
                min-height: 100vh;
            }

            /* Header becomes left sidebar */
            .glass-header {
                position: sticky;
                top: 0;
                width: 340px;
                min-width: 340px;
                height: 100vh;
                overflow-y: auto;
                padding: 2rem 1.5rem;
                border-radius: 0;
                flex-shrink: 0;
            }

            .glass-header .lang-switch {
                position: relative;
                top: 0;
                right: 0;
                margin-bottom: 1rem;
                justify-content: flex-end;
            }

            /* Main content fills remaining space */
            #main {
                flex: 1;
                min-width: 0;
                padding: 0 2rem 4rem 2rem;
                overflow-y: auto;
                height: 100vh;
            }

            .date-badge {
                width: 64px;
                height: 76px;
            }

            .day-sidebar {
                width: 64px;
            }

            .timeline-line-bg {
                left: 31px;
            }

            .category-pill {
                font-size: 10px;
                padding: 4px 10px;
            }

            .nav-link-minimal {
                font-size: 11px;
                padding: 8px 16px;
            }

            .itinerary-card {
                transition: box-shadow 0.2s, border-color 0.2s;
            }
            .itinerary-card:hover {
                box-shadow: 0 4px 16px rgba(30, 27, 75, 0.08);
                border-color: #e2e8f0;
            }

            .itinerary-card.map-active {
                border-left: 3px solid #6366f1;
                background: #faf5ff08;
            }

            #map-iframe {
                transition: opacity 0.3s ease;
            }
            #map-iframe.loading {
                opacity: 0.5;
            }

            /* Show sidebar roster, hide mobile roster */
            #sidebar-roster {
                display: block !important;
            }

            /* RTL desktop */
            [dir="rtl"] .timeline-line-bg {
                right: 31px;
                left: auto;
            }
            [dir="rtl"] .itinerary-card.map-active {
                border-left: none;
                border-right: 3px solid #6366f1;
            }
        }
