:root {
            --brand-navy: #0B3D62; 
            --brand-orange: #E8743B;
            --bg-body: #f8f9fa;
            --surface: #ffffff;
            --text-dark: #1e293b;
            --text-muted: #64748b;
            --border-color: #e2e8f0;
            --hover-bg: #f1f5f9;
        }
        
        body {
            background-color: var(--bg-body); 
            color: var(--text-dark);
            font-family: 'Tajawal', sans-serif;
            margin: 0;
            line-height: 1.5;
            -webkit-font-smoothing: antialiased;
        }

        /* Navigation */
        .main-nav { 
            display: flex; justify-content: space-between; align-items: center; 
            padding: 1rem 5%; background: var(--brand-navy); color: white;
            box-shadow: 0 2px 8px rgba(0,0,0,0.1);
        }
        .main-nav-logo { font-weight: 800; font-size: 1.2rem; }
        .main-nav-links a { color: rgba(255,255,255,0.9); text-decoration: none; margin-right: 1.5rem; font-weight: 500; }
        .main-nav-toggle { display: none; background: transparent; border: none; color: white; font-size: 1.5rem; }
        
        /* Hero */
        .page-hero { 
            background: var(--brand-navy); color: white; text-align: center; 
            padding: 3rem 1rem 4rem;
        }
        .page-hero-title { margin: 0 0 0.5rem; font-size: 2rem; font-weight: 800; }
        
        /* Filters */
        .schedule-filter-wrap { padding: 0 5%; margin-top: -2rem; }
        .filter-bar { 
            display: flex; gap: 1rem; background: var(--surface); padding: 1rem; 
            border-radius: 10px; box-shadow: 0 4px 15px rgba(0,0,0,0.05);
            max-width: 900px; margin: 0 auto; align-items: center; border: 1px solid var(--border-color);
        }
        .filter-group { 
            flex: 1; display: flex; align-items: center; gap: 0.5rem;
            background: var(--bg-body); padding: 0.5rem 1rem; border-radius: 6px;
        }
        .filter-group i { color: var(--brand-orange); }
        .filter-group select { 
            width: 100%; border: none; background: transparent; 
            font-family: 'Tajawal'; font-weight: 500; outline: none;
        }
        .reset-btn { 
            background: rgba(232, 116, 59, 0.1); color: var(--brand-orange); 
            border: none; padding: 0.7rem 1rem; border-radius: 6px; 
            font-weight: 700; cursor: pointer; font-family: inherit;
        }

        /* Results Meta */
        .schedule-results {
            max-width: 900px; margin: 1.5rem auto 1rem; padding: 0 5%;
            display: flex; justify-content: space-between; font-size: 0.9rem;
        }
        .results-count { font-weight: 700; color: var(--brand-navy); }

        /* Table */
        .schedule-table-wrap { max-width: 900px; margin: 0 auto 3rem; padding: 0 5%; }
        .schedule-table-card { background: var(--surface); border-radius: 10px; border: 1px solid var(--border-color); overflow: hidden; }
        table.schedule-table { width: 100%; border-collapse: collapse; text-align: right; }
        .schedule-table thead th { background: var(--hover-bg); padding: 1rem; font-size: 0.9rem; border-bottom: 2px solid var(--border-color); color: var(--text-muted); }
        .schedule-table tbody td { padding: 1rem; border-bottom: 1px solid var(--border-color); font-size: 0.95rem; font-weight: 500; }
        .schedule-table tbody tr:hover { background: var(--hover-bg); }
        .schedule-table tbody tr.hidden-row { display: none !important; }

        .date-cell { font-weight: 700; color: var(--brand-navy); }
        .duration-pill { background: #fef08a; color: #854d0e; padding: 0.2rem 0.8rem; border-radius: 20px; font-size: 0.8rem; font-weight: 700; }
        .airline-cell { display: flex; align-items: center; gap: 8px; }
        .airline-logo { height: 20px; }

        /* Footer */
        .main-footer { background: var(--brand-navy); color: white; padding: 2rem 5%; text-align: center; font-size: 0.9rem; }

        /* Mobile Compact UI */
        @media (max-width: 768px) {
            .main-nav-links { display: none; }
            .main-nav-toggle { display: block; }
            .filter-bar { flex-direction: column; padding: 1rem; }
            .schedule-table-card { border: none; background: transparent; }
            .schedule-table thead { display: none; }
            
            table.schedule-table, .schedule-table tbody, .schedule-table tr, .schedule-table td { display: block; width: 100%; box-sizing: border-box; }
            
            .schedule-table tbody tr {
                background: var(--surface); border: 1px solid var(--border-color);
                border-radius: 10px; margin-bottom: 1rem; padding: 1rem;
                display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
                box-shadow: 0 2px 5px rgba(0,0,0,0.02);
            }
            .schedule-table tbody td { padding: 0; border: none; font-size: 0.9rem; }
            
            /* الذهاب */
            .schedule-table tbody td:nth-child(1) { font-size: 1rem; font-weight: 800; color: var(--brand-navy); grid-column: 1 / 2; }
            .schedule-table tbody td:nth-child(1)::before { content: "🛫 الذهاب: "; color: var(--text-muted); font-size: 0.8rem; font-weight: 500; display: block; margin-bottom: 2px;}
            
            /* العودة */
            .schedule-table tbody td:nth-child(3) { font-size: 1rem; font-weight: 800; color: var(--brand-orange); grid-column: 2 / 3; text-align: left; }
            .schedule-table tbody td:nth-child(3)::before { content: "🛬 العودة: "; color: var(--text-muted); font-size: 0.8rem; font-weight: 500; display: block; margin-bottom: 2px; }
            
            /* المطار */
            .schedule-table tbody td:nth-child(2) { color: var(--text-muted); grid-column: 1 / 2; align-self: center;}
            .schedule-table tbody td:nth-child(2)::before { content: "📍 من: "; font-weight: 700; }
            
            /* المدة */
            .schedule-table tbody td:nth-child(4) { text-align: left; grid-column: 2 / 3; align-self: center;}
            
            /* الناقل */
            .schedule-table tbody td:nth-child(5) { 
                grid-column: 1 / 3; border-top: 1px dashed var(--border-color); 
                padding-top: 10px; margin-top: 5px; 
            }
        }
