<?php
// 1. إدارة الجلسة والاتصال
session_start();
include 'db_connect.php';
// تحديث حالة التواجد (متصل الآن)
// 🚀 قفل اللوحة وإجبار الطالب على تغيير الباسورد
if (isset($_SESSION['must_change_password']) && $_SESSION['must_change_password'] === true) {
    // استخدمنا المسار المطلق لضمان الوصول للملف من أي رابط
    header("Location: /academy/force_change_password.php"); 
    exit;
}
require_once 'theme_lang_loader.php';
if (isset($_SESSION['student_id'])) {
    $conn->query("UPDATE students SET last_active = NOW() WHERE student_id = '" . $conn->real_escape_string($_SESSION['student_id']) . "'");
}

// --- [نظام استقبال طلبات التعديل الموحد] ---
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_GET['ajax_action']) && $_GET['ajax_action'] === 'update_profile') {
    error_reporting(0);
    ob_clean(); 
    header('Content-Type: application/json; charset=utf-8');
    
    $data = json_decode(file_get_contents('php://input'), true);
    if (!$data) { echo json_encode(['status' => 'error', 'message' => 'بيانات غير صالحة'], JSON_UNESCAPED_UNICODE); exit; }

    $student_id = $conn->real_escape_string($data['student_id'] ?? '');
    $old_name   = $conn->real_escape_string($data['old_name'] ?? '');
    $new_name   = $conn->real_escape_string($data['new_name'] ?? '');
    $old_stage  = $conn->real_escape_string($data['old_stage'] ?? '');
    $new_stage  = $conn->real_escape_string($data['new_stage'] ?? '');

    if (empty($student_id) || empty($new_name) || empty($new_stage)) {
        echo json_encode(['status' => 'error', 'message' => 'بعض البيانات مفقودة.'], JSON_UNESCAPED_UNICODE); exit;
    }

    // فحص الطلبات المعلقة
    $check = $conn->query("SELECT id FROM profile_update_requests WHERE student_id = '$student_id' AND status = 'pending'");
    if($check && $check->num_rows > 0) {
        echo json_encode(['status' => 'error', 'message' => 'لديك طلب تعديل قيد المراجعة بالفعل.'], JSON_UNESCAPED_UNICODE); exit;
    }

    $sql = "INSERT INTO profile_update_requests (student_id, old_name, new_name, old_stage, new_stage, status) 
            VALUES ('$student_id', '$old_name', '$new_name', '$old_stage', '$new_stage', 'pending')";

    if ($conn->query($sql)) {
        echo json_encode(['status' => 'success', 'message' => 'تم رفع طلبك للإدارة بنجاح.'], JSON_UNESCAPED_UNICODE);
    } else {
        echo json_encode(['status' => 'error', 'message' => 'خطأ في قاعدة البيانات.'], JSON_UNESCAPED_UNICODE);
    }
    exit; 
}

// 2. جلب البيانات الأساسية للطالب (تعديل لضمان عدم القبول بقيمة null)
$sid = $_GET['sid'] ?? '';

// إذا كان الـ sid فارغاً أو يساوي كلمة 'null'، حاول جلبه من الجلسة
if (empty($sid) || $sid === 'null') {
    $sid = $_SESSION['student_id'] ?? '';
}

if (empty($sid)) { 
    die("عذراً، المعرف غير موجود. يرجى تسجيل الدخول مرة أخرى."); 
}

$safe_sid = $conn->real_escape_string($sid);
$query = "SELECT * FROM students WHERE student_id = ?";
$stmt = $conn->prepare($query);
$stmt->bind_param("s", $safe_sid);
$stmt->execute();
$student_data = $stmt->get_result()->fetch_assoc();

if (!$student_data) { die("عذراً، المعرف ($safe_sid) غير مسجل في قاعدة البيانات."); }

$student_real_name = $student_data['student_name'];
$student_real_id   = $student_data['student_id'];
$student_grade     = $student_data['stage'];
$student_dept      = $student_data['department'] ?? 'عام';
$student_branch    = $student_data['branch'] ?? 'الكل';
$student_phone     = $student_data['phone'] ?? '---';


// 3. التنشيط التلقائي للحساب
$check_act = $conn->query("SELECT id FROM course_activations WHERE access_code = '$safe_sid'");
if ($check_act && $check_act->num_rows === 0) {
    $conn->query("INSERT INTO course_activations (student_id, access_code, course_name, is_active) VALUES ('$safe_sid', '$safe_sid', 'الوصول العام / الحساب النشط', 1)");
}

// 4. الصلاحيات
$perm_sql = "SELECT can_live, can_exams, can_archive, can_videos FROM student_permissions WHERE student_id = '$safe_sid'";
$perms = $conn->query($perm_sql)->fetch_assoc();
$can_live    = $perms['can_live'] ?? 1;
$can_exams   = $perms['can_exams'] ?? 1;

// 🔥 السطران أدناه هما الإضافة الوحيدة لكي تختفي الأقفال وتفتح الدروس والفيديوهات
$can_archive = $perms['can_archive'] ?? 1; 
$can_videos  = $perms['can_videos'] ?? 1;

// 5. تواريخ الغياب (Hover Text)
$dates_query = $conn->query("SELECT attendance_date FROM attendance WHERE student_id = '$safe_sid' ORDER BY attendance_date DESC");
$absence_dates_arr = [];
while($row_date = $dates_query->fetch_assoc()) { $absence_dates_arr[] = $row_date['attendance_date']; }
$absence_hover_text = !empty($absence_dates_arr) ? implode("&#10;", $absence_dates_arr) : "لا توجد غيابات";

// ب. نتيجة طلب التعديل
$update_req_check = $conn->query("SELECT id, status FROM profile_update_requests WHERE student_id = '$safe_sid' AND status != 'pending' LIMIT 1");
if ($update_req_check && $update_req_check->num_rows > 0) {
    $req = $update_req_check->fetch_assoc();
    $msg = ($req['status'] == 'approved') ? "✅ تمت الموافقة على طلب تعديل بياناتك." : "❌ تم رفض طلب تعديل البيانات.";
    echo "<script>document.addEventListener('DOMContentLoaded', function() { setTimeout(function() { alert('$msg'); }, 800); });</script>";
    $conn->query("DELETE FROM profile_update_requests WHERE id = " . $req['id']);
}
?>
<?php
// تأكد من جلب رقم الطالب واسم المدرسة من الجلسة أولاً
$student_id = $_SESSION['student_id'] ?? '';
$school_name = $_SESSION['school_name'] ?? '';

// توليد التوكن بنفس الخوارزمية الموجودة في ملف الشهادة
$secret_salt = "Rooz" . substr(md5($school_name), 0, 10);
$auth_token = hash('sha256', $student_id . $secret_salt);
?>
<!DOCTYPE html>
<html lang="ar" dir="rtl">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>لوحة الطالب | أكاديمية روزماري</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
    <?php require_once 'theme_lang_loader.php'; ?>
    <style>
    /* 1. إزالة أي طبقات سابقة ليعود الهيدر لشكله الطبيعي */
    .top-header, .header-container, .main-header {
        z-index: 1 !important; 
    }

    /* 2. تصميم القائمة الطافية المستقلة (ستكون في منتصف الشاشة العلوي) */
    #notif-dropdown {
        position: fixed !important;
        top: 75px !important; 
        left: 50% !important;
        transform: translateX(-50%) !important;
        z-index: 999999999 !important; /* طبقة نهائية مطلقة فوق كل شيء */
        box-shadow: 0 15px 50px rgba(0,0,0,0.5) !important;
        max-height: 80vh !important;
    }
    </style>
    <style>
        :root {
            --main-bg: #f8fafc;
            --sidebar-bg: #1e293b;
            /* عنابي صافي وعميق جداً بدون أحمر */
            --gradient-3d: linear-gradient(135deg, #1e050e 0%, #4a0d26 50%, #6b1437 100%);
            --accent: #6b1437; /* لون عنابي للأيقونات */
            --text-dark: #1e293b;
        }

        body { margin: 0; font-family: 'Segoe UI', sans-serif; background: var(--main-bg); display: flex; height: 100vh; overflow: hidden; }

        /* العمود الأيمن (القائمة) */
        .sidebar { width: 250px; background: var(--sidebar-bg); color: white; display: flex; flex-direction: column; z-index: 1000; box-shadow: -5px 0 15px rgba(0,0,0,0.1); }
        .sidebar-logo { padding: 20px; text-align: center; background: rgba(0,0,0,0.2); font-weight: bold; font-size: 1.2rem; border-bottom: 1px solid rgba(255,255,255,0.05); }
        .sidebar-menu { flex: 1; padding: 15px 10px; list-style: none; margin: 0; overflow-y: auto; }
        .sidebar-menu li { padding: 12px 15px; margin-bottom: 8px; border-radius: 10px; cursor: pointer; transition: 0.3s; display: flex; align-items: center; gap: 12px; font-size: 15px; }
        .sidebar-menu li:hover, .sidebar-menu li.active { background: var(--gradient-3d); box-shadow: 0 4px 10px rgba(125, 6, 51, 0.3); }
        .logout-btn { margin-top: auto; padding: 15px; text-align: center; border-top: 1px solid rgba(255,255,255,0.1); color: #f87171; cursor: pointer; transition: 0.3s; }
        .logout-btn:hover { background: rgba(248, 113, 113, 0.1); }

        /* الصفحة البيضاء (المحتوى الرئيسي) */
        .main-content { flex: 1; display: flex; flex-direction: column; overflow-y: auto; background: white; border-radius: 0 20px 20px 0; margin: 10px 0 10px 10px; box-shadow: 0 0 20px rgba(0,0,0,0.05); }
        
        /* الهيدر المدمج */
        .top-header { 
            background: var(--gradient-3d); 
            padding: 25px 40px 150px 40px; 
            color: white; 
            border-radius: 0 20px 0 0; 
            display: flex; 
            flex-direction: column; 
            gap: 15px; 
            position: relative; /* ضروري لاحتواء البالونات داخله */
            overflow: hidden; /* لمنع خروج البالونات عن حدود الهيدر */
        }
        
        /* توضيح الخط الفاصل بلون أبيض أكثر سطوعاً */
        .header-top-row { 
            display: flex; 
            justify-content: space-between; 
            align-items: center; 
            border-bottom: 1px solid rgba(255, 255, 255, 0.4); 
            padding-bottom: 15px; 
            position: relative; 
            z-index: 2; /* لإبقاء النص فوق البالونات */
        }

        .header-bottom-row { 
            display: flex; 
            justify-content: space-between; 
            align-items: center; 
            position: relative; 
            z-index: 2; /* لإبقاء النص فوق البالونات */
        }

        /* --- حركة البالونات الشفافة (الروح الديناميكية) --- */
        .bg-bubbles {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 1;
            margin: 0;
            padding: 0;
            pointer-events: none; /* كي لا تعيق النقر على أي شيء */
        }

        .bg-bubbles li {
            position: absolute;
            list-style: none;
            display: block;
            background-color: rgba(255, 255, 255, 0.07); /* بياض شفاف جداً */
            bottom: -50px;
            animation: float-up 15s linear infinite;
            border-radius: 50%; /* شكل البالون الدائري */
        }

        /* توزيع البالونات بأحجام وسرعات مختلفة لتبدو طبيعية */
        .bg-bubbles li:nth-child(1) { left: 10%; width: 80px; height: 80px; animation-duration: 18s; }
        .bg-bubbles li:nth-child(2) { left: 25%; width: 40px; height: 40px; animation-duration: 12s; animation-delay: 2s; }
        .bg-bubbles li:nth-child(3) { left: 55%; width: 60px; height: 60px; animation-duration: 15s; animation-delay: 4s; }
        .bg-bubbles li:nth-child(4) { left: 80%; width: 100px; height: 100px; animation-duration: 20s; background-color: rgba(255, 255, 255, 0.04); }
        .bg-bubbles li:nth-child(5) { left: 90%; width: 30px; height: 30px; animation-duration: 10s; animation-delay: 3s; }

        @keyframes float-up {
            0% { transform: translateY(0) scale(1); opacity: 1; }
            100% { transform: translateY(-400px) scale(1.2); opacity: 0; }
        }
        .user-welcome { display: flex; align-items: center; gap: 10px; font-size: 1.1rem; }
        
        /* أيقونة الطالب بلون عنابي غامق جداً */
        .user-icon { 
            background: #2a0815; 
            color: white;
            width: 38px; 
            height: 38px; 
            border-radius: 50%; 
            display: flex; 
            align-items: center; 
            justify-content: center; 
        }
        
        .brand-logo { font-weight: bold; font-size: 1.3rem; letter-spacing: 1px; }
        .header-bottom-row { display: flex; justify-content: space-between; align-items: center; }
        .header-bottom-row h1 { margin: 0; font-size: 1.8rem; }
        .header-bottom-row p { margin: 8px 0 0 0; opacity: 0.9; }

        /* منطقة الأقسام (تتغير بالـ JS) */
        .section-container { padding: 30px 40px; display: none; }
        .section-container.active { display: block; animation: fadeIn 0.4s ease-in-out; }
        @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        /* -- تصميم الإحصائيات (عائمة تحت الهيدر) -- */
        .stats-grid { 
            display: grid; 
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); 
            gap: 20px; 
            /* هذا السطر هو ما يجعلها تطفو فوق نهاية الهيدر بدلاً من داخله */
            margin-top: -40px; 
            position: relative;
            z-index: 10;
        }

        .stat-box { 
            background: #ffffff; 
            padding: 25px; 
            border-radius: 15px; 
            text-align: center; 
            border: 1px solid #e2e8f0; 
            border-bottom: 4px solid var(--accent);
            box-shadow: 0 8px 15px rgba(0,0,0,0.05);
            /* حركة مرنة وناعمة عند تمرير الماوس */
            transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease; 
        }

        /* تأثير الحركة الجذاب */
        .stat-box:hover {
            transform: translateY(-12px); /* يقفز للأعلى */
            box-shadow: 0 20px 35px rgba(107, 20, 55, 0.15); /* ظل عنابي متوهج */
        }

        /* إظهار الأرقام والنصوص بشكل حقيقي وواضح */
        .stat-box h2 {
            color: var(--text-dark);
            font-size: 2.2rem;
            margin: 10px 0;
            font-weight: bold;
        }

        .stat-box p {
            color: #64748b;
            margin: 0;
            font-weight: bold;
            font-size: 1.1rem;
        }

        .stat-box i { 
            font-size: 2.5rem; 
            color: var(--accent); 
        }
        /* -- تصميم الأشكال 3D للدروس/الاختبارات الجديدة في المنتصف -- */
        .new-items-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); 
            gap: 20px;
            width: 100%;
            padding: 10px;
        }
        .bubble-card { background: white; border-radius: 20px; padding: 20px; text-align: center; box-shadow: 0 10px 20px rgba(0,0,0,0.08); transition: 0.3s; border: 1px solid #f1f5f9; position: relative; overflow: hidden; }
        .bubble-card::before { content: ''; position: absolute; top: 0; right: 0; width: 100%; height: 5px; background: var(--gradient-3d); }
        .bubble-card:hover { transform: translateY(-5px); box-shadow: 0 15px 30px rgba(125, 6, 51, 0.15); }
        .bubble-icon { width: 70px; height: 70px; background: var(--gradient-3d); color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.8rem; margin: 0 auto 15px; }
        .start-btn { background: var(--gradient-3d); color: white; border: none; padding: 10px 20px; border-radius: 10px; cursor: pointer; width: 100%; margin-top: 15px; font-weight: bold; }

        /* -- تصميم الجدول بالأسفل (للمنجزات) -- */
        .completed-section-title { border-bottom: 2px solid #e2e8f0; padding-bottom: 20px; margin-bottom: -10px; color: var(--text-dark); }
        .data-table { width: 100%; border-collapse: collapse; background: white; border-radius: 15px; overflow: hidden; border: 1px solid #e2e8f0; }
        .data-table th { background: #f8fafc; padding: 15px; text-align: right; color: #64748b; font-weight: bold; }
        .data-table td { padding: 15px; border-top: 1px solid #e2e8f0; color: var(--text-dark); }
        .eye-btn { color: var(--accent); background: rgba(173, 20, 87, 0.1); padding: 8px 12px; border-radius: 8px; cursor: pointer; transition: 0.3s; }
        .eye-btn:hover { background: var(--accent); color: white; }

        /* -- الملف التعريفي ونظام المعرف -- */
        .profile-form { background: #f8fafc; padding: 25px; border-radius: 15px; margin-bottom: 30px; border: 1px solid #e2e8f0; }
        .profile-form input { width: 100%; padding: 10px; margin: 10px 0 20px; border-radius: 8px; border: 1px solid #cbd5e1; box-sizing: border-box; }
        .id-system-box { background: white; padding: 30px; border-radius: 15px; text-align: center; border: 2px dashed var(--accent); box-shadow: 0 10px 20px rgba(0,0,0,0.05); }
        .generate-btn { background: #1e293b; color: white; padding: 10px 20px; border: none; border-radius: 8px; cursor: pointer; margin-bottom: 15px; display: none; /* يظهر فقط عبر الـ JS إذا كان مضافاً */ }
        #profile-id-display {
            box-shadow: inset 0 2px 4px rgba(0,0,0,0.06);
            display: inline-block;
            min-width: 200px;
            text-shadow: 1px 1px 0px white;
        }

        .id-system-box i {
            margin-left: 8px;
        }
        /* ======================================================= */
        /* 📱 درع التجاوب الذكي للموبايل والتابلت (شاشات أقل من 768px) */
        /* ======================================================= */
        @media screen and (max-width: 768px) {
            
            /* 1. تحويل اتجاه الصفحة الرئيسي من أفقي إلى عمودي */
            body {
                flex-direction: column !important;
                overflow-y: auto !important; /* السماح بالنزول لأسفل في الموبايل */
                height: auto !important;
            }

            /* 2. تحويل الشريط الجانبي إلى شريط علوي أنيق في الموبايل */
            .sidebar {
                width: 100% !important;
                height: auto !important;
                padding: 10px 0 !important;
                position: relative !important;
                border-right: none !important;
                border-bottom: 1px solid rgba(255,255,255,0.05);
            }

            /* جعل عناصر القائمة الجانبية تظهر بجانب بعضها بشكل عرضي قابل للتمرير */
            .sidebar ul {
                display: flex !important;
                flex-direction: row !important;
                overflow-x: auto !important; /* تمرير أفقي للقائمة */
                white-space: nowrap;
                padding: 0 10px !important;
                gap: 10px !important;
            }

            .sidebar ul li {
                padding: 10px 15px !important;
                font-size: 13px !important;
                border-radius: 8px !important;
            }

            /* 3. تعديل منطقة المحتوى الرئيسية لتأخذ الشاشة كاملة */
            .content-area {
                width: 100% !important;
                padding: 15px !important;
                box-sizing: border-box;
            }

            /* 4. 🚀 نسف مشكلة الكروت الإحصائية وجعلها تنزل تحت بعضها (سطرين بكل سطر كرتين) */
            .content-area .grid-container, 
            .cards-wrapper,
            div[style*="display: flex"] { 
                flex-wrap: wrap !important; /* السماح بالعناصر بالنزول لسطر جديد */
                flex-direction: row !important;
                gap: 12px !important;
            }

            /* إجبار كل كرت إحصائي على أخذ نصف عرض الشاشة بالضبط */
            .content-area .card, 
            div[style*="width: 25%"],
            div[style*="flex: 1"] {
                flex: 1 1 calc(50% - 12px) !important; /* كرتين في كل سطر */
                min-width: 140px !important;
                margin: 0 !important;
                padding: 15px 10px !important;
            }

            /* 5. ضبط الخطوط والعناوين لتناسب حجم الموبايل */
            h1 { font-size: 1.8rem !important; }
            h2 { font-size: 1.4rem !important; }
            
            /* 6. تحسين مظهر نافذة البث المباشر المنبثقة (SweetAlert) على الموبايل */
            .swal2-popup {
                width: 90% !important;
                font-size: 14px !important;
            }
        }

        /* ======================================================= */
        /* 📐 ضبط متوسط لشاشات التابلت (بين 769px و 1024px) */
        /* ======================================================= */
        @media screen and (min-width: 769px) and (max-width: 1024px) {
            .sidebar { width: 220px !important; }
            div[style*="width: 25%"] { flex: 1 1 calc(50% - 15px) !important; }
        }
    </style>
</head>
<body>
    <aside class="sidebar">
        <div class="sidebar-logo">roozmari</div>
        <ul class="sidebar-menu">
            <li class="active" onclick="switchTab('dashboard')"><i class="fas fa-home"></i> <?php echo $lang['std_sidebar_home']; ?></li>
            <li onclick="switchTab('profile')"><i class="fas fa-user-edit"></i> <?php echo $lang['std_sidebar_profile']; ?></li>
            <li onclick="switchTab('lessons')"><i class="fas fa-book-open"></i> <?php echo $lang['std_sidebar_lessons']; ?></li>
            <li onclick="switchTab('exams')"><i class="fas fa-tasks"></i> <?php echo $lang['std_sidebar_exams']; ?></li>
            <li onclick="switchTab('videos')"><i class="fas fa-play-circle"></i> <?php echo $lang['std_sidebar_videos']; ?></li>
            <li onclick="switchTab('live')"><i class="fas fa-broadcast-tower"></i> <?php echo $lang['std_sidebar_live']; ?></li>
            <li onclick="switchTab('evaluations')"><i class="fas fa-chart-bar"></i> <?php echo $lang['std_sidebar_evals']; ?></li>
            <li onclick="switchTab('student-schedule-view')"><i class="fas fa-calendar-check"></i> <?php echo $lang['std_sidebar_schedule']; ?></li>
            <li onclick="switchTab('tab-student-schedule')" class="menu-item">
                <i class="fas fa-calendar-alt" style="color: #3b82f6;"></i> 
                <span>جدولي الدراسي</span>
            </li>
            <li onclick="switchTab('games')"><i class="fas fa-gamepad"></i> الألعاب الذكية</li>
        </ul>
       <div class="logout-btn" onclick="window.location.href='../logout.php';" style="cursor: pointer;">
    <i class="fas fa-sign-out-alt"></i> <?php echo $lang['sidebar_logout']; ?>
</div>
    </aside>

    <main class="main-content">
        <header class="top-header">
            <ul class="bg-bubbles">
                <li></li><li></li><li></li><li></li><li></li>
            </ul>

            <div class="header-top-row">
                <div class="user-welcome">
                    <span class="user-icon"><i class="fas fa-user-graduate"></i></span>
                    <?php echo $student_real_name; ?>
                    <div style="position: relative; display: inline-flex; align-items: center; margin-left: 20px; z-index: 999999;" id="bell-container">
                        <div style="cursor: pointer; position: relative; padding: 5px;" onclick="toggleNotifMenu()">
                            <i class="fas fa-bell" style="font-size: 1.8rem; color: #fff;"></i>
                            <span id="notif-badge" style="display: none; position: absolute; top: -5px; right: -5px; background: #ef4444; color: white; border-radius: 50%; padding: 3px 6px; font-size: 0.8rem; font-weight: bold; box-shadow: 0 2px 5px rgba(0,0,0,0.3);">0</span>
                        </div>
                        
                        <div id="notif-dropdown" style="display: none; position: absolute; top: 50px; left: -150px; background: white; width: 320px; border-radius: 12px; box-shadow: 0 15px 50px rgba(0,0,0,0.5); z-index: 999999; border: 1px solid #e2e8f0; direction: rtl; overflow: hidden;">
                            <div style="background: #f8fafc; padding: 15px; border-bottom: 1px solid #e2e8f0; display: flex; justify-content: space-between; align-items: center;">
                                <strong style="color: #1e293b; font-size: 1.1rem;"><i class="fas fa-bell text-primary"></i> <?php echo $lang['std_header_notifications']; ?></strong>
                            </div>
                            <div id="notif-list" style="max-height: 350px; overflow-y: auto; padding: 0; background: white;">
                                <div style="padding: 20px; text-align: center; color: #94a3b8; font-size: 0.9rem;"><?php echo $lang['loading']; ?></div>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="brand-logo">ROOZMARI</div>
            </div>

            <div class="header-bottom-row">
                <div>
                    <h1 id="header-title"><?php echo $lang['std_header_motto']; ?></h1>
                    <p id="header-desc" style="font-weight: bold; color: #fde047;"><?php echo $lang['std_header_checking']; ?></p>
                </div>
                <div style="font-size: 3.5rem; opacity: 0.15;"><i class="fas fa-rocket"></i></div>
            </div>
        </header>
       
        <!-- ========================================== -->
        <!-- قسم النظرة العامة (الرئيسية) -->
        <!-- ========================================== -->
        <div id="dashboard" class="section-container active">
            <div style="margin-top: -120px; position: relative; z-index: 10;"></div>
            
            <div class="stats-grid">
                <div class="stat-box">
                    <i class="fas fa-chart-line"></i>
                    <h2><?php echo htmlspecialchars($student_data['success_rate'] ?? '0'); ?>%</h2>
                    <p><?php echo $lang['std_stat_interaction']; ?></p>
                </div>

                <div class="stat-box">
                    <i class="fas fa-star"></i>
                    <h2><?php echo htmlspecialchars($student_data['month_grade'] ?? '0'); ?></h2>
                    <p><?php echo $lang['std_stat_month_eval']; ?></p>
                </div>

                <div class="stat-box">
                    <i class="fas fa-video"></i>
                    <h2>8</h2>
                    <p><?php echo $lang['std_stat_live_attend']; ?></p>
                </div>

                <div class="stat-box">
                    <i class="fas fa-user-clock"></i>
                    <h2 style="color: #ef4444;"><?php echo htmlspecialchars($student_data['absence_days'] ?? '0'); ?></h2>
                    <p><?php echo $lang['std_stat_absent_days']; ?></p>
                </div>
            </div>

            <?php if (!empty($student_data['teacher_note'])): ?>
            <div style="background-color: #f8fafc; border-right: 4px solid #3b82f6; padding: 15px; margin-top: 25px; border-radius: 8px;">
                <h4 style="color: #1e293b; margin-top: 0; margin-bottom: 10px;"><i class="fas fa-comment-dots" style="color: #3b82f6;"></i> <?php echo $lang['std_admin_note']; ?></h4>
                <p style="color: #475569; margin-bottom: 0; font-weight: bold;">
                    <?php echo htmlspecialchars($student_data['teacher_note']); ?>
                </p>
            </div>
            <?php endif; ?>
        </div>
        <!-- نهاية قسم النظرة العامة -->

        <!-- ========================================== -->
        <!-- قسم الملف التعريفي -->
        <!-- ========================================== -->
        <div id="profile" class="section-container">
            <div style="height: 100px; width: 100%; clear: both;"></div>

            <div class="profile-form" id="profile-update-section">
                <h3 style="color: var(--accent);"><i class="fas fa-user-edit"></i> <?php echo $lang['std_prof_edit_title']; ?></h3>
                <p style="color: #64748b; font-size: 0.9rem; margin-top: 40px; margin-bottom: 20px;"><?php echo $lang['std_prof_edit_desc']; ?></p>
                
                <label style="font-weight: bold; color: #1e293b;"><?php echo $lang['std_prof_fullname']; ?></label>
                <input type="text" id="edit_name" value="<?php echo htmlspecialchars($student_real_name ?? ''); ?>">

                <div style="display: flex; gap: 15px; margin-top: 15px;">
                    <?php
                    // جلب جميع الوسوم المتاحة للمدرسة الحالية من قاعدة البيانات لملء القوائم
                    $current_school = $_SESSION['school_name'] ?? 'المدرسة';
                    $stages_list = []; $depts_list = []; $branches_list = [];
                    $tags_query = $conn->query("SELECT DISTINCT stage_name, department_name, section_name FROM school_tags WHERE school_name = '$current_school'");
                    if($tags_query) {
                        while($t = $tags_query->fetch_assoc()) {
                            if(!empty($t['stage_name']) && !in_array($t['stage_name'], $stages_list)) $stages_list[] = $t['stage_name'];
                            if(!empty($t['department_name']) && !in_array($t['department_name'], $depts_list)) $depts_list[] = $t['department_name'];
                            if(!empty($t['section_name']) && !in_array($t['section_name'], $branches_list)) $branches_list[] = $t['section_name'];
                        }
                    }
                    // القيم الحالية للطالب لكي تظهر مختارة تلقائياً
                    $current_stage = $student_data['stage'] ?? '';
                    $current_dept = $student_data['department'] ?? '';
                    $current_branch = $student_data['branch'] ?? '';
                    ?>

                    <div style="flex: 1;">
                        <label style="font-weight: bold; color: #1e293b;">المرحلة / المجموعة:</label>
                        <select id="edit_stage" style="width: 100%; padding: 10px; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff;">
                            <option value="">اختر المرحلة...</option>
                            <?php foreach($stages_list as $stg): ?>
                                <option value="<?= htmlspecialchars($stg) ?>" <?= ($stg == $current_stage) ? 'selected' : '' ?>><?= htmlspecialchars($stg) ?></option>
                            <?php endforeach; ?>
                        </select>
                    </div>

                    <div style="flex: 1;">
                        <label style="font-weight: bold; color: #1e293b;">القسم / الصف:</label>
                        <select id="edit_dept" style="width: 100%; padding: 10px; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff;">
                            <option value="عام">عام (بدون قسم)</option>
                            <?php foreach($depts_list as $dpt): ?>
                                <option value="<?= htmlspecialchars($dpt) ?>" <?= ($dpt == $current_dept) ? 'selected' : '' ?>><?= htmlspecialchars($dpt) ?></option>
                            <?php endforeach; ?>
                        </select>
                    </div>

                    <div style="flex: 1;">
                        <label style="font-weight: bold; color: #1e293b;">الشعبة:</label>
                        <select id="edit_branch" style="width: 100%; padding: 10px; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff;">
                            <option value="الكل">الكل (بدون شعبة)</option>
                            <?php foreach($branches_list as $brn): ?>
                                <option value="<?= htmlspecialchars($brn) ?>" <?= ($brn == $current_branch) ? 'selected' : '' ?>><?= htmlspecialchars($brn) ?></option>
                            <?php endforeach; ?>
                        </select>
                    </div>
                </div>
                
                <div id="update-msg" style="display:none; margin: 15px 0; padding: 12px; border-radius: 8px; font-weight: bold; font-size: 0.95rem; border: 1px dashed;"></div>

                <button type="button" id="save-profile-btn" class="start-btn" style="width: 100%; background: #1e293b; margin-top: 10px;" onclick="sendUpdateRequest()">
                    <i class="fas fa-paper-plane"></i> <?php echo $lang['std_prof_btn_send_req']; ?>
                </button>
            </div>

            <div class="profile-form" style="margin-top: 25px;">
                <h3 style="color: var(--accent);"><i class="fas fa-lock"></i> <?php echo $lang['std_prof_change_pass']; ?></h3>
                <div style="display: flex; gap: 15px; margin-top: 15px; align-items: flex-end;">
                    <div style="flex: 1;">
                        <label style="font-weight: bold; color: #1e293b; display:block; margin-bottom: 5px;"><?php echo $lang['std_prof_new_pass']; ?></label>
                        <input type="password" id="new_password" placeholder="أدخل كلمة مرور قوية" style="width: 100%; padding: 10px; border: 1px solid #cbd5e1; border-radius: 5px;">
                    </div>
                    <div style="flex: 1;">
                        <label style="font-weight: bold; color: #1e293b; display:block; margin-bottom: 5px;"><?php echo $lang['std_prof_confirm_pass']; ?></label>
                        <input type="password" id="confirm_password" placeholder="أعد إدخال كلمة المرور" style="width: 100%; padding: 10px; border: 1px solid #cbd5e1; border-radius: 5px;">
                    </div>
                    <div>
                        <button onclick="changeMyPassword()" style="background: var(--accent); color: white; border: none; padding: 11px 25px; border-radius: 5px; cursor: pointer; font-weight: bold;">
                            <i class="fas fa-save"></i> <?php echo $lang['std_prof_btn_save_pass']; ?>
                        </button>
                    </div>
                </div>
            </div>

            <div class="id-system-box" style="margin-top: 25px;">
                <h3 style="color: var(--accent); margin-top: 0;">
                    <i class="fas fa-fingerprint"></i> <?php echo $lang['std_prof_sync_id_title']; ?>
                </h3>
                <p style="color: #64748b; font-size: 0.9rem;"><?php echo $lang['std_prof_sync_id_desc']; ?></p>
                
                <div id="real-student-id" style="font-family: monospace; font-size: 2.2rem; font-weight: bold; color: var(--accent); letter-spacing: 2px; margin: 20px 0; padding: 15px; background: #fff5f8; border-radius: 10px; border: 1px solid #ffccd5;">
                    <?php 
                        // قراءة المعرف من الرابط مباشرة لضمان التطابق 100%
                        echo htmlspecialchars($_GET['sid'] ?? $safe_sid ?? $lang['std_prof_not_registered']); 
                    ?>
                </div>

                <div class="id-system-box" style="border: 1px dashed var(--accent, #6b1437); padding: 25px; border-radius: 15px; margin-top: 30px; text-align: center;">
                    <h3 style="color: var(--accent, #6b1437); margin-top: 0;"><i class="fas fa-key"></i> <?php echo $lang['std_courses_activation_title']; ?></h3>
                    <p style="color: #64748b; font-size: 0.9rem;"><?php echo $lang['std_courses_activation_desc']; ?></p>
                    
                    <div style="display: flex; gap: 10px; max-width: 500px; margin: 0 auto 20px auto;">
                        <input type="text" id="courseIdInput" placeholder="<?php echo $lang['std_courses_input_placeholder']; ?>" style="flex: 1; padding: 12px; border: 1px solid #cbd5e1; border-radius: 8px; font-family: monospace; font-size: 1.1rem; text-align: center; letter-spacing: 1px;">        <button onclick="activateCourse()" style="background: var(--accent, #6b1437); color: white; border: none; padding: 10px 25px; border-radius: 8px; cursor: pointer; font-weight: bold; font-size: 1rem;"><i class="fas fa-plus"></i> <?php echo $lang['std_courses_btn_activate']; ?></button>
                    </div>
                </div>
                
                <div style="text-align: right; margin-top: 30px;">
                    <h4 style="margin-bottom: 15px; color: #1e293b;"><i class="fas fa-list-check"></i> <?php echo $lang['std_courses_active_codes']; ?></h4>
                    <table class="data-table" style="width: 100%;">
                        <thead>
                            <tr>
                                <th><?php echo $lang['std_courses_tbl_code']; ?></th>
                                <th><?php echo $lang['std_courses_tbl_subject']; ?></th>
                                <th><?php echo $lang['std_courses_tbl_status']; ?></th>
                                <th><?php echo $lang['std_courses_tbl_remove']; ?></th>
                            </tr>
                        </thead>
                        <tbody id="activeCoursesBody">
                        </tbody>
                    </table>
                </div> 
            </div>
        </div>
        <!-- نهاية قسم الملف التعريفي -->

        <!-- ========================================== -->
        <!-- قسم الدروس -->
        <!-- ========================================== -->
        <div id="lessons" class="section-container <?php echo ($can_archive == 0) ? 'is-locked' : ''; ?>" style="position: relative;">
            <?php if ($can_archive == 0): ?>
            <div class="lock-overlay" style="position: absolute; top:0; left:0; width:100%; height:100%; background:rgba(255,255,255,0.85); z-index:100; display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:15px; backdrop-filter: blur(4px);">
                <i class="fas fa-lock" style="font-size: 60px; color: #93003c; margin-bottom: 15px;"></i>
                <h3 style="color: #93003c; font-weight: bold; font-size: 1.5rem;"><?php echo $lang['std_lessons_locked_title']; ?></h3>
                <p style="color: #475569; font-weight: 500;"><?php echo $lang['std_lessons_locked_desc']; ?></p>
            </div>
            <?php endif; ?>

            <div class="new-items-grid">
                <?php
                $student_grade = $_SESSION['student_class'] ?? 'عام';
                $safe_sid = isset($sid) ? $conn->real_escape_string($sid) : '';

                // 1. جلب بيانات العزل التام (مرحلة، قسم، شعبة، مدرس، مدرسة)
                $student_dept = ''; $student_branch = ''; $my_teacher = ''; $my_school = '';
                
                $st_q = @$conn->query("SELECT stage, department, branch, teacher_name, school_name FROM students WHERE student_id = '$safe_sid' LIMIT 1");
                if($st_q && $st_q->num_rows > 0) {
                    $st_d = $st_q->fetch_assoc();
                    if(!empty($st_d['stage'])) { $student_grade = $conn->real_escape_string(trim($st_d['stage'])); }
                    $student_dept   = $conn->real_escape_string(trim($st_d['department'] ?? ''));
                    $student_branch = $conn->real_escape_string(trim($st_d['branch'] ?? ''));
                    $my_teacher     = $conn->real_escape_string(trim($st_d['teacher_name'] ?? ''));
                    $my_school      = $conn->real_escape_string(trim($st_d['school_name'] ?? ''));
                }

                // 2. استنتاج الاختصار الإنجليزي
                $eng_stage = '';
                if (strpos($student_grade, 'الأول') !== false || strpos($student_grade, '1') !== false) $eng_stage = '1sec';
                elseif (strpos($student_grade, 'الثاني') !== false || strpos($student_grade, '2') !== false) $eng_stage = '2sec';
                elseif (strpos($student_grade, 'الثالث') !== false || strpos($student_grade, '3') !== false) $eng_stage = '3sec';

                // 3. جلب أرقام الدروس المنجزة لإخفائها
                $done_ids = [];
                $dq = @$conn->query("SELECT lesson_id FROM student_progress WHERE student_id = '$safe_sid'");
                if($dq){
                    while($dr = $dq->fetch_assoc()) { $done_ids[] = $dr['lesson_id']; }
                }
                $done_list = empty($done_ids) ? '0' : implode(',', $done_ids);

                // 4. الاستعلام الخارق: يطبق العزل التام
                $sql_lessons = "SELECT * FROM archived_lessons 
                                WHERE status = 'published' 
                                AND id NOT IN ($done_list)
                                AND teacher_name = '$my_teacher'
                                AND (school_name = '$my_school' OR school_name = 'المدرسة العامة' OR school_name = '' OR school_name IS NULL)
                                AND (
                                    TRIM(class_name) = '$student_grade' 
                                    OR '$student_grade' LIKE CONCAT('%', TRIM(class_name), '%')
                                    OR TRIM(class_name) = '$eng_stage'
                                    OR TRIM(class_name) IN ('كل المراحل', 'all', 'عام', '')
                                ) 
                                AND (TRIM(department) = '$student_dept' OR TRIM(department) IN ('الكل', 'عام', ''))
                                AND (TRIM(branch) = '$student_branch' OR TRIM(branch) IN ('الكل', 'عام', ''))
                                ORDER BY id DESC LIMIT 50";
                                
                $result_lessons = @$conn->query($sql_lessons);
                
                // تنسيق الشبكة
                echo '<style>.new-items-grid { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important; gap: 20px !important; }</style>';

                // 5. مصفوفة الإشعارات
                $real_pending_subjects = []; 

                if ($result_lessons && $result_lessons->num_rows > 0) {
                    while($row = $result_lessons->fetch_assoc()) {
                        $lesson_id = $row['id']; 
                        $lesson_title = htmlspecialchars($row['title'] ?? 'بدون عنوان');
                        $lesson_teacher = htmlspecialchars($row['teacher_name'] ?? 'إدارة');
                        
                        $teacher_subject = 'مادة عامة';
                        $tech_q = @$conn->query("SELECT specialization FROM teachers WHERE teacher_name = '".$conn->real_escape_string($row['teacher_name'])."' LIMIT 1");
                        if ($tech_q && $tech_q->num_rows > 0) {
                            $t_row = $tech_q->fetch_assoc();
                            $teacher_subject = $t_row['specialization'] ?? 'مادة التخصص';
                        }

                        if (!in_array($teacher_subject, $real_pending_subjects)) {
                            $real_pending_subjects[] = $teacher_subject;
                        }

                        $raw_date = $row['date_added'] ?? date('Y-m-d');
                        $lesson_date = date('Y-m-d', strtotime($raw_date));
                        
                        $db_url = trim($row['video_url']);
                        if ($db_url == '#' || empty($db_url) || !filter_var($db_url, FILTER_VALIDATE_URL)) {
                            $lesson_url = "/academy/read_lesson.php?id=" . $lesson_id . "&sid=" . urlencode($sid);
                        } else {
                            $lesson_url = htmlspecialchars($db_url);
                        }

                        $btn_style = (isset($can_archive) && $can_archive == 0) ? 'background: #cbd5e1; cursor: not-allowed;' : 'background: #93003c; cursor: pointer;';
                        $btn_action = (isset($can_archive) && $can_archive == 0) ? 'disabled' : 'onclick="window.open(\'' . $lesson_url . '\', \'_blank\')"';

                        echo '
                        <div class="bubble-card" style="border: 1px solid #cbd5e1; padding: 15px;">
                            <div class="bubble-icon" style="background: #93003c; color: white;"><i class="fas fa-book-reader"></i></div>
                            <h3 style="white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: bold;" title="'.$lesson_title.'">' . $lesson_title . '</h3>
                            <p style="color: #6b1437; font-size: 14px; font-weight: bold; margin-bottom: 5px;">
                                <i class="fas fa-chalkboard-teacher"></i> أ. ' . $lesson_teacher . '
                            </p>
                            <p style="color: #475569; font-size: 12px; margin-bottom: 5px;">
                                <i class="fas fa-book"></i> ' . htmlspecialchars($teacher_subject) . '
                            </p>
                            <p style="color: #94a3b8; font-size: 12px; margin-bottom: 15px;">
                                <i class="far fa-calendar-alt"></i> ' . $lesson_date . '
                            </p>
                            <button class="start-btn" style="border: none; color: white; transition: 0.3s; width: 100%; padding: 8px; ' . $btn_style . '" ' . $btn_action . '>
                                <i class="fas fa-play-circle"></i> ' . $lang['std_lessons_btn_start'] . '
                            </button>
                        </div>';
                    }
                } else {
                    echo '<div style="text-align: center; color: #64748b; grid-column: 1 / -1; padding: 40px; background: white; border-radius: 15px; box-shadow: 0 4px 6px rgba(0,0,0,0.05);">
                            <i class="fas fa-info-circle fa-2x" style="color: #93003c; margin-bottom: 10px;"></i>
                            <p style="font-weight: bold; margin: 0;">' . $lang['std_lessons_no_lessons'] . '</p>
                          </div>';
                }
                ?>
            </div>

            <h3 class="completed-section-title" style="margin-top: 30px;">
                <i class="fas fa-check-double" style="color: #93003c;"></i> <?php echo $lang['std_lessons_completed_title']; ?>
            </h3>
            <table class="data-table" style="width: 100%; border-collapse: collapse; background: white; border-radius: 10px; overflow: hidden;">
                <thead style="background: #f8f9fa;">
                    <tr>
                        <th style="padding: 15px; text-align: right;"><?php echo $lang['std_lessons_tbl_lesson']; ?></th>
                        <th style="padding: 15px; text-align: center;"><?php echo $lang['std_lessons_tbl_teacher']; ?></th>
                        <th style="padding: 15px; text-align: center;"><?php echo $lang['std_lessons_tbl_status']; ?></th>
                        <th style="padding: 15px; text-align: center;"><?php echo $lang['std_lessons_tbl_review']; ?></th>
                    </tr>
                </thead>
                <tbody>
                    <?php
                    $completed_sql = "SELECT al.id, al.title, al.class_name, al.teacher_name 
                                      FROM student_progress sp
                                      JOIN archived_lessons al ON sp.lesson_id = al.id
                                      WHERE sp.student_id = '$safe_sid'
                                      ORDER BY sp.completed_at DESC";
                    
                    $completed_result = @$conn->query($completed_sql);

                    if ($completed_result && $completed_result->num_rows > 0) {
                        while($c_row = $completed_result->fetch_assoc()) {
                            $c_id = $c_row['id'];
                            $c_title = htmlspecialchars($c_row['title']);
                            
                            // 🔥 الفلتر الكاسح لتنظيف اسم المدرس (تمت إضافته هنا)
                            $raw_c_teacher = !empty($c_row['teacher_name']) ? htmlspecialchars($c_row['teacher_name']) : 'إدارة';
                            $clean_c_teacher = str_ireplace('teacher', '', $raw_c_teacher); 
                            $clean_c_teacher = preg_replace('/[0-9]+/', '', $clean_c_teacher); 
                            $clean_c_teacher = str_replace('_', ' ', $clean_c_teacher); 
                            $clean_c_teacher = preg_replace('/\s+/', ' ', $clean_c_teacher); 
                            $clean_c_teacher = trim($clean_c_teacher);

                            $c_subject = 'عام';
                            $tech_cq = @$conn->query("SELECT specialization FROM teachers WHERE teacher_name = '".$conn->real_escape_string($c_row['teacher_name'])."' LIMIT 1");
                            if ($tech_cq && $tech_cq->num_rows > 0) {
                                $tc_row = $tech_cq->fetch_assoc();
                                $c_subject = htmlspecialchars($tc_row['specialization'] ?? 'عام');
                            }

                            $review_btn_style = ($can_archive == 0) ? '#cbd5e1' : '#93003c';
                            $review_btn_cursor = ($can_archive == 0) ? 'not-allowed' : 'pointer';
                            $review_btn_action = ($can_archive == 0) ? '' : 'window.open(\'/academy/read_lesson.php?id='.$c_id.'&sid='.$sid.'\', \'_blank\')';

                            echo '
                            <tr style="border-bottom: 1px solid #eee; transition: 0.3s;">
                                <td style="padding: 12px; font-weight: bold; color: #1e293b;">'.$c_title.'</td>
                                <td style="text-align: center; color: #475569; font-size: 0.9rem;">'.$c_subject.' <br> <span style="font-weight:bold;">أ. '.$clean_c_teacher.'</span></td>
                                <td style="text-align: center;"><span style="color: #10b981; font-weight: bold; background: #dcfce7; padding: 5px 10px; border-radius: 20px;"><i class="fas fa-check-circle"></i> ' . $lang['std_lessons_status_done'] . '</span></td>
                                <td style="text-align: center;">
                                    <i class="fas fa-eye eye-btn" 
                                       style="color: '.$review_btn_style.'; cursor: '.$review_btn_cursor.'; padding: 8px; border-radius: 5px; background: rgba(147, 0, 60, 0.1);" 
                                       title="'.(($can_archive == 0) ? 'المراجعة محجوبة' : 'مراجعة الدرس').'"
                                       onclick="'.$review_btn_action.'">
                                    </i>
                                </td>
                            </tr>';
                        }
                    } else {
                        echo "<tr><td colspan='4' style='padding: 30px; color: #94a3b8; text-align: center;'><i class='fas fa-book-open fa-2x' style='margin-bottom:10px; color:#cbd5e1;'></i><br>" . $lang['std_lessons_no_completed'] . "</td></tr>";
                    }
                    ?>
                </tbody>
            </table>
        </div>
        <!-- نهاية قسم الدروس -->

        <!-- ========================================== -->
        <!-- قسم الاختبارات -->
        <!-- ========================================== -->
        <div id="exams" class="section-container <?php echo ($can_exams == 0) ? 'is-locked' : ''; ?>" style="position: relative;">
            <?php if ($can_exams == 0): ?>
                <div class="lock-overlay" style="position: absolute; top:0; left:0; width:100%; height:100%; background:rgba(255,255,255,0.85); z-index:100; display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:15px; backdrop-filter: blur(3px);">
                    <i class="fas fa-lock" style="font-size: 50px; color: #93003c; margin-bottom: 15px;"></i>
                    <h3 style="color: #93003c; font-weight: bold;"><?php echo $lang['std_exams_locked_title']; ?></h3>
                    <p style="color: #64748b; font-weight: bold;"><?php echo $lang['std_exams_locked_desc']; ?></p>
                </div>
            <?php endif; ?>

            <div class="new-items-grid">
                <div class="bubble-card" style="border: 2px solid var(--accent, #6b1437);">
                    <div class="bubble-icon" style="background: var(--accent, #6b1437);"><i class="fas fa-stopwatch"></i></div>
                    <h3>اختبار النحو النصفي</h3>
                    <p style="color: var(--accent, #6b1437); font-weight: bold;"><?php echo $lang['std_exams_duration']; ?> 30 دقيقة</p>
                    <button class="start-btn" 
                        style="background: <?php echo ($can_exams == 0) ? '#cbd5e1' : 'var(--accent, #6b1437)'; ?>;" 
                        <?php echo ($can_exams == 0) ? 'disabled style="cursor: not-allowed;"' : 'onclick="startExam()"'; ?>>
                        <?php echo $lang['std_exams_btn_enter']; ?>
                    </button>
                </div>
            </div>

            <h3 class="completed-section-title"><i class="fas fa-history"></i> <?php echo $lang['std_exams_history_title']; ?></h3>
            <table class="data-table">
                <thead><tr><th><?php echo $lang['std_exams_tbl_exam']; ?></th><th><?php echo $lang['std_exams_tbl_score']; ?></th><th><?php echo $lang['std_lessons_tbl_status']; ?></th><th><?php echo $lang['std_lessons_tbl_review']; ?></th></tr></thead>
                <tbody>
                    <tr>
                        <td>اختبار الأدب</td>
                        <td>18/20</td>
                        <td><span style="color: #10b981; font-weight: bold;"><?php echo $lang['std_exams_status_submitted']; ?></span></td>
                        <td>
                            <i class="fas fa-eye eye-btn" style="color: <?php echo ($can_exams == 0) ? '#cbd5e1' : 'var(--accent, #6b1437)'; ?>; cursor: <?php echo ($can_exams == 0) ? 'not-allowed' : 'pointer'; ?>;"></i>
                        </td>
                    </tr>
                </tbody>
            </table>
        </div>
        <!-- نهاية قسم الاختبارات -->

        <!-- ========================================== -->
        <!-- قسم الفيديوهات -->
        <!-- ========================================== -->
        <div id="videos" class="section-container <?php echo ($can_videos == 0) ? 'is-locked' : ''; ?>" style="position: relative;">
            <?php if ($can_videos == 0): ?>
                <div class="lock-overlay" style="position: absolute; top:0; left:0; width:100%; height:100%; background:rgba(255,255,255,0.8); z-index:100; display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:15px; backdrop-filter: blur(2px);">
                    <i class="fas fa-lock" style="font-size: 50px; color: #93003c; margin-bottom: 15px;"></i>
                    <h3 style="color: #93003c; font-weight: bold;"><?php echo $lang['std_videos_locked_title']; ?></h3>
                    <p style="color: #64748b;"><?php echo $lang['std_videos_locked_desc']; ?></p>
                </div>
            <?php endif; ?>

            <h3 class="completed-section-title" style="color: var(--accent, #6b1437);"><i class="fas fa-play-circle"></i> <?php echo $lang['std_videos_title']; ?></h3>
            <div class="new-items-grid">
                <?php
                $current_sid = $conn->real_escape_string($sid ?? $_GET['sid'] ?? $_SESSION['student_id'] ?? '');
                
                // جلب بيانات الطالب
                $st_q = $conn->query("SELECT * FROM students WHERE student_id = '$current_sid' LIMIT 1");
                $s_grade = 'عام'; $s_dept = 'all'; $s_sect = 'all'; $t_id = ''; $t_name = '';
                
                if($st_q && $st_q->num_rows > 0) {
                    $st_d = $st_q->fetch_assoc();
                    $s_grade = trim($st_d['stage'] ?? $st_d['class_name'] ?? 'عام');
                    $s_dept  = trim($st_d['department'] ?? $st_d['dept'] ?? 'all');
                    $s_sect  = trim($st_d['section'] ?? $st_d['branch'] ?? 'all');
                    $t_id    = trim($st_d['teacher_id'] ?? '');
                    $t_name  = trim($st_d['teacher_name'] ?? '');
                }

                // --- 🌟 السر الذي كشفته أداة التشخيص 🌟 ---
                // استخراج الرقم الصافي من صيغة اليوزرنيم مثل "teacher_1778675284"
                $extracted_id = str_replace('teacher_', '', $t_name);

                $s_grade_s = $conn->real_escape_string($s_grade);
                $s_dept_s  = $conn->real_escape_string($s_dept);
                $s_sect_s  = $conn->real_escape_string($s_sect);
                $t_id_s    = $conn->real_escape_string($t_id);
                $extracted_id_s = $conn->real_escape_string($extracted_id);
                
                // معالجة الاسم إذا كان مدخلاً كنص وليس كيوزرنيم
                $first_name = explode(' ', $t_name)[0] ?? '';
                if ($first_name == 'احسين') $first_name = 'حسين';
                if (strpos($first_name, 'teacher_') !== false) {
                    $first_name = ''; // تفريغ الاسم كي لا يبحث بكلمة إنجليزية داخل الأسماء العربية
                }
                $f_name_s  = $conn->real_escape_string($first_name);

                // 2. الاستعلام الصارم
                $sql = "SELECT * FROM lessons_archive WHERE TRIM(status) LIKE '%published%' ";

                // مطابقة المدرس بالرقم المستخرج أو الـ ID أو الاسم
                $sql .= " AND (TRIM(teacher_id) = '$t_id_s' OR TRIM(teacher_id) = '$extracted_id_s' ";
                if (!empty($f_name_s)) {
                    $sql .= " OR teacher_name LIKE '%$f_name_s%' ";
                }
                $sql .= ") ";

                // فلتر المرحلة والقسم والشعبة
                $sql .= " AND (TRIM(class_name) = '$s_grade_s' OR TRIM(class_name) IN ('all', 'عام', 'كل المراحل', '')) ";
                $sql .= " AND (TRIM(dept) = '$s_dept_s' OR TRIM(dept) IN ('all', 'عام', '')) ";
                $sql .= " AND (TRIM(section) = '$s_sect_s' OR TRIM(section) IN ('all', 'الكل', '')) ";
                $sql .= " ORDER BY id DESC";

                $result = $conn->query($sql);

                // 3. عرض الفيديوهات
                if ($result && $result->num_rows > 0) {
                    while($row = $result->fetch_assoc()) {
                        $v_title = htmlspecialchars($row['video_title'] ?? 'حصة مؤرشفة');
                        $v_date  = date('Y-m-d', strtotime($row['created_at']));
                        $v_path  = htmlspecialchars($row['video_path']); 
                        $btn_attr = ($can_videos == 0) ? 'disabled style="background: #cbd5e1; cursor: not-allowed;"' : 'onclick="window.open(\'' . $v_path . '\', \'_blank\')"';

                        echo '
                        <div class="bubble-card" style="border: 1px solid #cbd5e1; padding: 15px;">
                            <div style="background: #e2e8f0; height: 140px; border-radius: 10px; display: flex; justify-content: center; align-items: center; margin-bottom: 15px; color: var(--accent, #6b1437); font-size: 3rem;">
                                <i class="fas fa-video"></i>
                            </div>
                            <h4 style="margin: 0 0 10px 0; color: #1e293b; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;" title="'.$v_title.'">' . $v_title . '</h4>
                            <p style="color: #64748b; font-size: 0.9rem; margin-bottom: 15px;">' . $lang['std_videos_publish_date'] . ' ' . $v_date . '</p>
                            <button class="start-btn" style="background: var(--accent, #6b1437); width: 100%; padding: 8px;" ' . $btn_attr . '>
                                <i class="fas fa-play"></i> ' . $lang['std_videos_btn_play'] . '
                            </button>
                        </div>';
                    }
                } else {
                    echo '<p style="text-align: center; color: #64748b; grid-column: 1 / -1; font-weight: bold; padding: 20px;">' . $lang['std_videos_no_videos'] . '</p>';
                }
                ?>
            </div>
        </div>
        <!-- نهاية قسم الفيديوهات -->

        <!-- ========================================== -->
        <!-- قسم البث المباشر -->
        <!-- ========================================== -->
        <div id="live" class="section-container <?php echo ($can_live == 0) ? 'is-locked' : ''; ?>" style="position: relative;">
            <?php if ($can_live == 0): ?>
            <div class="lock-overlay" style="position: absolute; top:0; left:0; width:100%; height:100%; background:rgba(255,255,255,0.85); z-index:100; display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:15px; backdrop-filter: blur(4px);">
                <i class="fas fa-lock" style="font-size: 60px; color: #93003c; margin-bottom: 15px;"></i>
                <h3 style="color: #93003c; font-weight: bold; font-size: 1.5rem;"><?php echo $lang['std_live_locked_title']; ?></h3>
                <p style="color: #475569; font-weight: 500;"><?php echo $lang['std_live_locked_desc']; ?></p>
            </div>
            <?php endif; ?>

            <div style="background: <?php echo ($can_live == 0) ? '#94a3b8' : 'linear-gradient(135deg, #4a0d26, #6b1437)'; ?>; color: white; padding: 15px 25px; border-radius: 15px; display: flex; justify-content: space-between; align-items: center; margin-bottom: 25px; box-shadow: 0 5px 15px rgba(107, 20, 55, 0.3);">
                <div>
                    <h3 style="margin: 0; color: <?php echo ($can_live == 0) ? '#e2e8f0' : '#fde047'; ?>;"><i class="fas fa-bell"></i> <?php echo $lang['std_live_alert_title']; ?></h3>
                    <p style="margin: 5px 0 0 0; font-size: 14px; opacity: 0.9;"><?php echo $lang['std_live_alert_desc']; ?></p>
                </div>
                <div style="text-align: left; background: rgba(0,0,0,0.3); padding: 8px 20px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.1);">
                    <span style="font-size: 1.1rem; font-weight: bold; color: <?php echo ($can_live == 0) ? '#e2e8f0' : '#fde047'; ?>;"><?php echo $lang['std_live_status']; ?> <span id="countdown"><?php echo $lang['std_live_status_closed']; ?></span></span>
                </div>
            </div>

            <div class="new-items-grid">
                <div class="bubble-card" style="border: 2px solid <?php echo ($can_live == 0) ? '#cbd5e1' : '#6b1437'; ?>;">
                    <div class="bubble-icon" style="background: <?php echo ($can_live == 0) ? '#94a3b8' : '#6b1437'; ?>; <?php echo ($can_live == 0) ? '' : 'animation: pulse 2s infinite;'; ?>"><i class="fas fa-video"></i></div>
                    <h3 style="color: #1e293b;"><?php echo $lang['std_live_box_title']; ?></h3>
                    <p style="color: <?php echo ($can_live == 0) ? '#94a3b8' : '#6b1437'; ?>; font-weight: bold;"><?php echo $lang['std_live_box_desc']; ?></p>
                    <button class="start-btn" 
                        style="background: <?php echo ($can_live == 0) ? '#cbd5e1' : '#6b1437'; ?>;" 
                        <?php echo ($can_live == 0) ? 'disabled style="cursor: not-allowed;"' : 'onclick="checkAndJoinLive()"'; ?>>
                        <?php echo $lang['std_live_btn_enter']; ?>
                    </button>
                </div>
            </div>

            <h3 class="completed-section-title"><i class="fas fa-archive"></i> <?php echo $lang['std_live_archive_title']; ?></h3>
            <table class="data-table">
                <thead>
                    <tr>
                        <th><?php echo $lang['std_live_tbl_title']; ?></th>
                        <th><?php echo $lang['std_live_tbl_teacher']; ?></th>
                        <th><?php echo $lang['std_live_tbl_date']; ?></th>
                        <th><?php echo $lang['std_live_tbl_watch']; ?></th>
                    </tr>
                </thead>
                <tbody>
                    <tr><td colspan='4' style='padding: 20px; color: #94a3b8; text-align: center;'><?php echo $lang['std_live_no_archive']; ?></td></tr>
                </tbody>
            </table>
        </div>
        <!-- نهاية قسم البث المباشر -->

        <!-- ========================================== -->
        <!-- قسم التقييمات -->
        <!-- ========================================== -->
        <div id="evaluations" class="section-container">
            <div style="background-color: #ffffff; padding: 25px; border-radius: 12px; box-shadow: 0 4px 15px rgba(0,0,0,0.05); margin-top: 20px;">
                
                <h3 style="color: #60052a; border-bottom: 2px solid #f3f4f6; padding-bottom: 15px; margin-bottom: 25px; font-family: 'Tajawal', sans-serif;">
                    <i class="fas fa-clipboard-list"></i> <?php echo $lang['std_evals_title']; ?>
                </h3>

                <?php
                $table_content = "";
                $avg_success = 0; 
                $avg_grade = 0;

                try {
                    if (isset($conn) && !empty($sid)) {
                        $safe_sid = $conn->real_escape_string($sid);
                        
                        $all_grades_query = "SELECT * FROM students WHERE student_id = '$safe_sid'";
                        $all_grades_result = @$conn->query($all_grades_query);

                        if ($all_grades_result && $all_grades_result->num_rows > 0) {
                            $total_s = 0; $total_g = 0; $count = 0;
                            
                            while ($row = $all_grades_result->fetch_assoc()) {
                                $count++;
                                
                                $stage_section = !empty($row['stage']) ? htmlspecialchars($row['stage']) : 'عام';
                                
                                // 🔥 الفلتر الكاسح لتنظيف اسم المدرس 100%
                                $raw_teacher = !empty($row['teacher_name']) ? htmlspecialchars($row['teacher_name']) : 'الإدارة';
                                $clean_teacher = str_ireplace('teacher', '', $raw_teacher); // مسح كلمة teacher
                                $clean_teacher = preg_replace('/[0-9]+/', '', $clean_teacher); // مسح أي أرقام (المعرف)
                                $clean_teacher = str_replace('_', ' ', $clean_teacher); // تحويل الشرطات لمسافات
                                $clean_teacher = preg_replace('/\s+/', ' ', $clean_teacher); // مسح المسافات المزدوجة
                                $clean_teacher = trim($clean_teacher); // تنظيف الأطراف
                                
                                $subject_name = 'مادة التخصص';
                                try {
                                    if (!empty($row['teacher_name'])) {
                                        $safe_teacher = $conn->real_escape_string($row['teacher_name']);
                                        $tech_q = @$conn->query("SELECT specialization FROM teachers WHERE teacher_name = '$safe_teacher' LIMIT 1");
                                        if ($tech_q && $tech_q->num_rows > 0) {
                                            $tech_row = $tech_q->fetch_assoc();
                                            if (!empty($tech_row['specialization'])) {
                                                $subject_name = $tech_row['specialization'];
                                            }
                                        }
                                    }
                                } catch (Exception $e) { } 
                                
                                // دمج الاسم النظيف مع المادة
                                $teacher_subject_combined = "<b>أ. " . $clean_teacher . "</b><br><span style='font-size: 0.85rem; color: #6b1437;'><i class='fas fa-book'></i> " . htmlspecialchars($subject_name) . "</span>";

                                // تفاصيل الدرجات
                                $monthly_exam = (int)($row['month_grade'] ?? 0);
                                $activity_grade = (int)($row['success_rate'] ?? 0); 
                                $final_grade = $monthly_exam + $activity_grade;
                                
                                $eval_type = !empty($row['evaluation_type']) ? htmlspecialchars($row['evaluation_type']) : 'تقييم عام';
                                
                                $grade_tooltip = "تفاصيل التقييم ( $eval_type ):&#10;";
                                $grade_tooltip .= "• درجة الامتحان: $monthly_exam&#10;";
                                $grade_tooltip .= "• درجة النشاط: $activity_grade";

                                $a_days = (int)($row['absence_days'] ?? 0);
                                $t_note = !empty($row['teacher_note']) ? htmlspecialchars($row['teacher_note']) : 'لا توجد ملاحظات';

                                $total_s += $activity_grade; 
                                $total_g += $final_grade;

                                // الغياب
                                $safe_tname = $conn->real_escape_string($row['teacher_name']);
                                $dates_q = @$conn->query("SELECT attendance_date FROM attendance WHERE student_id = '$safe_sid' AND teacher_name = '$safe_tname' ORDER BY attendance_date DESC");
                                $date_list = [];
                                if ($dates_q && $dates_q->num_rows > 0) {
                                    while($d = $dates_q->fetch_assoc()) { 
                                        if($d['attendance_date'] != '0000-00-00' && !empty($d['attendance_date'])) {
                                            $date_list[] = "• " . $d['attendance_date']; 
                                        }
                                    }
                                }
                                $hover_txt = !empty($date_list) ? "سجل التواريخ الموثقة:&#10;" . implode("&#10;", $date_list) : "غياب يدوي بدون تاريخ";

                                $table_content .= "
                                <tr style='border-bottom: 1px solid #f1f5f9; transition: background-color 0.3s;'>
                                    <td style='padding: 15px; font-weight: bold; color: #1e293b; width: 15%;'>$stage_section</td>
                                    <td style='padding: 15px; color: #475569; width: 20%;'>$teacher_subject_combined</td>
                                    <td style='padding: 15px; width: 20%;'>
                                        <div style='font-size: 0.85rem; color: #64748b; margin-bottom: 5px;'><i class='fas fa-tag'></i> $eval_type</div>
                                        <span title='$grade_tooltip' style='cursor: help; color: #10b981; font-weight: bold; border-bottom: 1px dashed #10b981; padding-bottom: 2px; font-size: 1.1rem;'>
                                            $final_grade 
                                        </span>
                                    </td>
                                    <td style='padding: 15px; width: 10%;'>
                                        <span title='$hover_txt' style='color: #ef4444; background-color: #fee2e2; padding: 6px 12px; border-radius: 6px; font-weight: bold; cursor: help; border: 1px dashed #f87171;'>
                                            $a_days أيام
                                        </span>
                                    </td>
                                    <td style='padding: 15px; color: #64748b; text-align: right; width: 35%; line-height: 1.6;'>$t_note</td>
                                </tr>";
                            }
                            $avg_success = round($total_s / $count);
                            $avg_grade = round($total_g / $count);
                        } else {
                            $table_content = "<tr><td colspan='5' style='padding: 20px; text-align: center; color: #94a3b8;'>" . $lang['std_evals_no_records'] . "</td></tr>";
                        }
                    }
                } catch (Exception $e) {
                    $table_content = "<tr><td colspan='5' style='padding: 20px; text-align: center; color: red;'>عذراً، حدث خطأ في معالجة البيانات.</td></tr>";
                }
                ?>

                <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; margin-bottom: 30px;">
                    <div style="background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; text-align: center;">
                        <i class="fas fa-chart-line" style="font-size: 2rem; color: #10b981; margin-bottom: 10px;"></i>
                        <h3 style="margin: 0; color: #1e293b; font-size: 1.8rem;"><?php echo $avg_success; ?></h3>
                        <p style="margin: 5px 0 0 0; color: #64748b; font-weight: bold;"><?php echo $lang['std_evals_avg_activity']; ?></p>
                    </div>
                    <div style="background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; text-align: center;">
                        <i class="fas fa-star" style="font-size: 2rem; color: #f59e0b; margin-bottom: 10px;"></i>
                        <h3 style="margin: 0; color: #1e293b; font-size: 1.8rem;"><?php echo $avg_grade; ?></h3>
                        <p style="margin: 5px 0 0 0; color: #64748b; font-weight: bold;"><?php echo $lang['std_evals_avg_grade']; ?></p>
                    </div>
                </div>

                <div style="overflow-x: auto; border-radius: 8px; border: 1px solid #e2e8f0;">
                    <table style="width: 100%; border-collapse: collapse; text-align: center; font-family: 'Tajawal', sans-serif;">
                        <thead>
                            <tr style="background-color: #f1f5f9; color: #334155; font-size: 0.95rem;">
                                <th style="padding: 15px; border-bottom: 2px solid #e2e8f0; width: 15%;"><?php echo $lang['std_evals_tbl_stage']; ?></th>
                                <th style="padding: 15px; border-bottom: 2px solid #e2e8f0; width: 20%;"><?php echo $lang['std_evals_tbl_teacher']; ?></th>
                                <th style="padding: 15px; border-bottom: 2px solid #e2e8f0; width: 20%;"><?php echo $lang['std_evals_tbl_type']; ?></th>
                                <th style="padding: 15px; border-bottom: 2px solid #e2e8f0; width: 10%;"><?php echo $lang['std_evals_tbl_absent']; ?></th>
                                <th style="padding: 15px; border-bottom: 2px solid #e2e8f0; text-align: right; width: 35%;"><?php echo $lang['std_evals_tbl_notes']; ?></th>
                            </tr>
                        </thead>
                        <tbody>
                            <?php echo $table_content; ?>
                        </tbody>
                    </table>
                </div>
                
                <div style="margin-top: 15px; font-size: 0.85rem; color: #94a3b8; text-align: right;">
                    <i class="fas fa-mouse-pointer"></i> <b><?php echo $lang['std_evals_tooltip_hint']; ?></b>
                </div>
            </div>
            <?php
// التحقق مما إذا كانت الإدارة تسمح بعرض الشهادات
$cert_setting_res = $conn->query("SELECT setting_value FROM system_settings WHERE setting_key = 'allow_student_certificates'");
$allow_certificates = ($cert_setting_res && $cert_setting_res->fetch_assoc()['setting_value'] === '1') ? true : false;
?>

<!-- زر عرض الشهادة المدرسية -->
<div style="background: rgba(16, 185, 129, 0.1); border: 1px solid #10b981; padding: 20px; border-radius: 12px; margin-bottom: 25px; display: flex; justify-content: space-between; align-items: center;">
    <div>
        <h3 style="color: #10b981; margin: 0; font-size: 1.2rem;"><i class="fas fa-file-certificate"></i> الشهادة المدرسية الرسمية</h3>
        <p style="color: #94a3b8; font-size: 0.9rem; margin: 5px 0 0;">يمكنك الآن استعراض وطباعة سجل درجاتك الشامل لجميع المواد.</p>
    </div>
    
    <?php if ($allow_certificates): ?>
        <button onclick="openStudentCertificateModal()" style="background: #10b981; color: #fff; border: none; padding: 10px 20px; border-radius: 8px; font-weight: bold; cursor: pointer; transition: 0.3s; box-shadow: 0 4px 15px rgba(16,185,129,0.3);" onmouseover="this.style.background='#059669'" onmouseout="this.style.background='#10b981'">
            <i class="fas fa-eye"></i> عرض وطباعة الشهادة
        </button>
    <?php else: ?>
        <span style="background: rgba(239, 68, 68, 0.2); color: #ef4444; padding: 8px 15px; border-radius: 8px; font-weight: bold; font-size: 0.9rem;">
            <i class="fas fa-lock"></i> الشهادات محجوبة حالياً من قبل الإدارة
        </span>
    <?php endif; ?>
</div>

<!-- 🚀 النافذة المنبثقة للشهادة (توضع في أي مكان قبل إغلاق body) 🚀 -->
<div id="certificateModal" style="display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.8); z-index: 100000; align-items: center; justify-content: center;">
    <div style="background: #fff; width: 95%; max-width: 900px; height: 90vh; border-radius: 15px; overflow: hidden; display: flex; flex-direction: column; position: relative;">
        <!-- شريط التحكم العلوي -->
        <div style="background: #1e293b; padding: 15px 20px; display: flex; justify-content: space-between; align-items: center;">
            <h3 style="margin: 0; color: #fff;"><i class="fas fa-file-certificate" style="color: #3b82f6;"></i> الشهادة المدرسية</h3>
            <div>
                <button onclick="document.getElementById('certFrame').contentWindow.print()" style="background: #3b82f6; color: #fff; border: none; padding: 8px 15px; border-radius: 6px; cursor: pointer; margin-left: 10px; font-weight: bold;"><i class="fas fa-print"></i> طباعة / حفظ PDF</button>
                <button onclick="document.getElementById('certificateModal').style.display='none'" style="background: transparent; color: #ef4444; border: none; font-size: 25px; cursor: pointer; line-height: 1;">&times;</button>
            </div>
        </div>
        <!-- إطار استدعاء الشهادة -->
        <iframe id="certFrame" src="" style="width: 100%; height: 100%; border: none;"></iframe>
    </div>
</div>

<script>

function openStudentCertificateModal() {
    const studentId = '<?php echo $student_id; ?>';
    const token = '<?php echo $auth_token; ?>'; // نمرر التوكن هنا
    
    // استدعاء ملف الشهادة مع التوكن الآمن
    document.getElementById('certFrame').src = 'print_student_certificate.php?student_id=' + studentId + '&token=' + token;
    document.getElementById('certificateModal').style.display = 'flex';
}

</script>
        </div>
        <!-- نهاية قسم التقييمات -->
        

        <!-- ========================================== -->
        <!-- قسم جدول الامتحانات (الجدول الدراسي الأول) -->
        <!-- ========================================== -->
        <div id="student-schedule-view" class="section-container" style="padding: 20px;">
            <div class="card" style="background: #fff; border-top: 5px solid var(--accent, #6b1437); border-radius: 15px; box-shadow: 0 10px 20px rgba(0,0,0,0.05); padding: 25px;">
                <h3 style="color: var(--accent, #6b1437); margin-top: 0; display: flex; align-items: center; gap: 10px; margin-bottom: 20px;">
                    <i class="fas fa-calendar-check"></i> <?php echo $lang['std_schedule_title']; ?>
                </h3>
                
                <div class="table-responsive">
                    <table style="width: 100%; border-collapse: collapse; text-align: center;">
                        <thead style="background: #f1f5f9; color: #0f172a;">
                            <tr>
                                <th style="padding: 15px; border-bottom: 2px solid #e2e8f0; text-align: right;"><?php echo $lang['std_schedule_tbl_title']; ?></th>
                                <th style="padding: 15px; border-bottom: 2px solid #e2e8f0;"><?php echo $lang['std_schedule_tbl_teacher']; ?></th>
                                <th style="padding: 15px; border-bottom: 2px solid #e2e8f0;"><?php echo $lang['std_schedule_tbl_date']; ?></th>
                                <th style="padding: 15px; border-bottom: 2px solid #e2e8f0;"><?php echo $lang['std_tbl_actions']; ?></th>
                            </tr>
                        </thead>
                        <tbody id="student-schedules-body">
                            <tr><td colspan="4" style="text-align:center; padding:20px;"><i class="fas fa-spinner fa-spin"></i> <?php echo $lang['loading']; ?></td></tr>
                        </tbody>
                    </table>
                </div>
            </div>
        </div>

        <!-- ========================================== -->
        <!-- 🚀 قسم 1: الجدول الدراسي المعتمد (الحصص) 🚀 -->
        <!-- ========================================== -->
        <div id="tab-student-schedule" class="section-container tab-content" style="display: none; animation: fadeIn 0.5s;">
            <div style="background-color: #ffffff; padding: 25px; border-radius: 12px; box-shadow: 0 4px 15px rgba(0,0,0,0.05); margin-top: 20px;">
                
                <div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 25px; border-bottom: 2px solid #f3f4f6; padding-bottom: 15px;">
                    <h2 style="font-size: 1.5rem; font-weight: bold; margin: 0; color: #1e293b;">
                        <i class="fas fa-calendar-alt" style="color: #3b82f6; margin-left: 10px;"></i> جدولي الدراسي (الحصص)
                    </h2>
                    <button onclick="printStudentSchedule()" style="background: #3b82f6; color: #fff; border: none; padding: 10px 20px; border-radius: 8px; font-weight: bold; cursor: pointer; transition: 0.3s;">
                        <i class="fas fa-print"></i> طباعة الجدول
                    </button>
                </div>

                <?php
                // جلب البيانات الأساسية للطالب
                $current_school_name = isset($_SESSION['school_name']) ? $conn->real_escape_string($_SESSION['school_name']) : '';
                $sg = isset($student_grade) ? trim($student_grade) : '';
                $sd = isset($student_dept) ? trim($student_dept) : '';
                $sb = isset($student_branch) ? trim($student_branch) : '';

                // رسالة توضيحية
                echo '<div style="background: #eff6ff; border: 1px dashed #3b82f6; padding: 15px; border-radius: 12px; margin-bottom: 20px; color: #1e40af; font-weight: bold;">';
                echo '<i class="fas fa-info-circle"></i> يتم عرض الجدول المخصص لـ: ' . htmlspecialchars($sg) . ' ' . (!empty($sd) && $sd != 'عام' ? ' - ' . htmlspecialchars($sd) : '') . (!empty($sb) && $sb != 'عام' && $sb != 'الكل' ? ' - شعبة ' . htmlspecialchars($sb) : '');
                echo '</div>';

                // 🚀 الخوارزمية الفائقة لتنظيف وتوحيد النصوص للمطابقة 🚀
                if (!function_exists('superCleanMatch')) {
                    function superCleanMatch($str) {
                        if(empty($str)) return '';
                        $unify = ['أ', 'إ', 'آ', 'ة', 'ه', 'ي', 'ى'];
                        $with  = ['ا', 'ا', 'ا', ' ', ' ', 'ي', 'ي'];
                        $str = str_replace($unify, $with, mb_strtolower(trim($str)));
                        $remove = ['المرحلة', 'المرحله', 'الصف', 'شعبة', 'شعبه', 'قسم'];
                        $str = str_replace($remove, '', $str);
                        $str = preg_replace('/\s+/', '', $str);
                        return $str;
                    }
                }

                $c_sg = superCleanMatch($sg);
                $c_sd = superCleanMatch($sd);
                $c_sb = superCleanMatch($sb);

                $my_schedule_matrix = [];
                $days = ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس'];
                $has_published_schedule = false;

                // جلب كل الجداول المنشورة للمدرسة للمطابقة الذكية
                $q_sched = "SELECT * FROM generated_schedules 
                            WHERE school_name = '$current_school_name' 
                            AND is_published = 1";
                
                $res_sched = @$conn->query($q_sched);
                
                if ($res_sched && $res_sched->num_rows > 0) {
                    while($row = $res_sched->fetch_assoc()) {
                        
                        $row_sg = superCleanMatch($row['stage_name']);
                        $row_sd = superCleanMatch($row['department_name']);
                        $row_sb = superCleanMatch($row['section_name']);

                        // شرط المطابقة الجوهري
                        $stage_match = empty($c_sg) || ($c_sg === $row_sg);
                        $dept_match = empty($c_sd) || $sd == 'عام' || ($c_sd === $row_sd);
                        $branch_match = empty($c_sb) || $sb == 'الكل' || $sb == 'عام' || ($c_sb === $row_sb);

                        if ($stage_match && $dept_match && $branch_match) {
                            $has_published_schedule = true;
                            $p_num = (int)$row['period_number'];
                            
                            // توحيد اسم اليوم
                            $day_db = superCleanMatch($row['day_of_week']);
                            if (strpos($day_db, 'احد') !== false) $day_key = 'الأحد';
                            elseif (strpos($day_db, 'اثنين') !== false) $day_key = 'الاثنين';
                            elseif (strpos($day_db, 'ثلاثاء') !== false) $day_key = 'الثلاثاء';
                            elseif (strpos($day_db, 'اربعاء') !== false) $day_key = 'الأربعاء';
                            elseif (strpos($day_db, 'خميس') !== false) $day_key = 'الخميس';
                            else $day_key = trim($row['day_of_week']);

                            $my_schedule_matrix[$day_key][$p_num] = $row;
                        }
                    }
                }
                ?>

                <!-- منطقة الطباعة والعرض -->
                <div id="printable-student-schedule">
                    <?php if(!$has_published_schedule): ?>
                        <div style="background: rgba(148, 163, 184, 0.1); border: 1px dashed rgba(148, 163, 184, 0.5); border-radius: 20px; padding: 60px; text-align: center; margin-top: 20px;">
                            <i class="fas fa-calendar-times" style="font-size: 5rem; color: #94a3b8; margin-bottom: 25px; opacity: 0.8;"></i>
                            <h3 style="color: #fff; font-size: 1.8rem; margin-bottom: 10px; font-weight: 900;">الجدول قيد التحديث</h3>
                            <p style="color: #cbd5e1; font-size: 1.1rem;">لم تقم الإدارة بنشر جدول الحصص الأسبوعي لصفك حتى الآن.</p>
                        </div>
                    <?php else: ?>
                        <div style="position: relative; border-radius: 20px; padding: 2px; overflow: hidden; margin-top: 20px;">
                            <div style="position: absolute; top: -50px; right: -50px; width: 250px; height: 250px; background: rgba(59, 130, 246, 0.15); filter: blur(60px); border-radius: 50%; z-index: 0;"></div>
                            <div style="position: absolute; bottom: -50px; left: -50px; width: 250px; height: 250px; background: rgba(16, 185, 129, 0.15); filter: blur(60px); border-radius: 50%; z-index: 0;"></div>

                            <div style="position: relative; z-index: 1; background: rgba(15, 23, 42, 0.65); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border: 1px solid rgba(59, 130, 246, 0.2); border-radius: 20px; box-shadow: 0 25px 50px rgba(0,0,0,0.5); overflow-x: auto;">
                                <table style="width: 100%; border-collapse: separate; border-spacing: 0; text-align: center; color: #fff; font-family: 'Tajawal', sans-serif; min-width: 900px;">
                                    <thead>
                                        <tr>
                                            <th style="padding: 20px; border-bottom: 2px solid rgba(59,130,246,0.3); background: rgba(0,0,0,0.3); border-left: 1px solid rgba(255,255,255,0.05);">
                                                <span style="color: #cbd5e1; font-weight: 900; font-size: 1.1rem;">اليوم</span>
                                            </th>
                                            <?php for($i=1; $i<=6; $i++): ?>
                                            <th style="padding: 20px; border-bottom: 2px solid rgba(59,130,246,0.3); background: rgba(0,0,0,0.3); border-left: 1px solid rgba(255,255,255,0.02);">
                                                <div style="background: linear-gradient(135deg, #3b82f6, #2563eb); color: white; padding: 8px 20px; border-radius: 10px; display: inline-block; font-weight: 900; box-shadow: 0 5px 15px rgba(59, 130, 246, 0.4);">
                                                    الحصة <?= $i ?>
                                                </div>
                                            </th>
                                            <?php endfor; ?>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <?php foreach($days as $index => $day): ?>
                                            <tr style="transition: all 0.3s ease; background: <?= $index % 2 == 0 ? 'rgba(255,255,255,0.02)' : 'transparent' ?>;">
                                                <td style="padding: 20px; font-weight: 900; color: #60a5fa; font-size: 1.3rem; border-bottom: 1px solid rgba(255,255,255,0.05); background: rgba(0,0,0,0.2); border-left: 1px solid rgba(59,130,246,0.2);">
                                                    <?= $day ?>
                                                </td>
                                                <?php for($p=1; $p<=6; $p++): ?>
                                                    <td style="padding: 15px; border-bottom: 1px solid rgba(255,255,255,0.05); border-left: 1px solid rgba(255,255,255,0.02); vertical-align: middle;">
                                                        <?php if(isset($my_schedule_matrix[$day][$p])): $cell = $my_schedule_matrix[$day][$p]; ?>
                                                            <div style="background: rgba(16, 185, 129, 0.08); border: 1px solid rgba(16, 185, 129, 0.3); padding: 15px 10px; border-radius: 12px; display: inline-block; min-width: 140px; box-shadow: inset 0 0 20px rgba(0,0,0,0.2);">
                                                                <div style="font-weight: 900; font-size: 1.3rem; color: #34d399; margin-bottom: 8px;">
                                                                    <?= htmlspecialchars($cell['subject_name']) ?>
                                                                </div>
                                                                <div style="font-size: 0.85rem; color: #e2e8f0; font-weight: 700;">
                                                                    <?php
                                                                    $raw_teacher = $cell['teacher_name'];
                                                                    $tech_n = @$conn->query("SELECT display_name FROM teachers WHERE teacher_name = '$raw_teacher' LIMIT 1");
                                                                    if($tech_n && $tech_n->num_rows > 0) {
                                                                        echo htmlspecialchars($tech_n->fetch_assoc()['display_name']);
                                                                    } else {
                                                                        echo htmlspecialchars(trim(preg_replace('/[0-9]+/', '', str_ireplace('teacher_', '', $raw_teacher))));
                                                                    }
                                                                    ?>
                                                                </div>
                                                            </div>
                                                        <?php else: ?>
                                                            <span style="color: #334155; font-size: 1.5rem; opacity: 0.5;">---</span>
                                                        <?php endif; ?>
                                                    </td>
                                                <?php endfor; ?>
                                            </tr>
                                        <?php endforeach; ?>
                                    </tbody>
                                </table>
                            </div>
                        </div>
                    <?php endif; ?>
                </div>
            </div>
        </div>

        <!-- ========================================== -->
        <!-- 🚀 قسم 2: الألعاب الذكية 🚀 -->
        <!-- ========================================== -->
        <div id="games" class="section-container tab-content" style="display: none; animation: fadeIn 0.4s;">
            <div style="background-color: #ffffff; padding: 25px; border-radius: 12px; box-shadow: 0 4px 15px rgba(0,0,0,0.05); margin-top: 20px;">
                <div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 25px; border-bottom: 2px solid #f3f4f6; padding-bottom: 15px;">
                    <h2 style="font-size: 1.5rem; font-weight: bold; margin: 0; color: #1e293b;">
                        <i class="fas fa-gamepad" style="color: #f59e0b; margin-left: 10px;"></i> الألعاب الذكية
                    </h2>
                </div>
                
                <div style="border-radius: 12px; overflow: hidden; border: 2px solid #cbd5e1; height: 75vh; min-height: 600px;">
    <iframe src="../games_hub.html" style="width: 100%; height: 100%; border: none;"></iframe>
</div>
            </div>
        </div>

        <!-- ========================================== -->
        <!-- نوافذ منبثقة (Modals) -->
        <!-- ========================================== -->
        <div id="studentViewModal" style="display:none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.8); z-index: 99999; justify-content: center; align-items: center; backdrop-filter: blur(5px);">
            <div class="card" style="width: 95%; max-width: 900px; max-height: 90vh; background: white; padding: 30px; border-radius: 15px; position: relative; overflow-y: auto; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);">
                <span onclick="document.getElementById('studentViewModal').style.display='none'" style="position: absolute; left: 20px; top: 15px; font-size: 35px; cursor: pointer; color: #e74c3c; transition: 0.3s;" onmouseover="this.style.color='#c0392b'" onmouseout="this.style.color='#e74c3c'">&times;</span>
                
                <div id="student-view-content"></div>
                
                <div style="text-align: center; margin-top: 25px; border-top: 1px solid #e2e8f0; padding-top: 20px;">
                    <button id="modal-print-btn" style="background: #34495e; color: white; border: none; padding: 12px 30px; border-radius: 8px; font-weight: bold; cursor: pointer; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                        <i class="fas fa-print"></i> <?php echo $lang['std_schedule_btn_print_now']; ?>
                    </button>
                </div>
            </div>
        </div>

        <div id="studentNotifModal" style="display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.7); z-index:999999; justify-content:center; align-items:center; backdrop-filter:blur(4px);">
            <div style="background:white; width:90%; max-width:400px; border-radius:15px; padding:25px; text-align:center; box-shadow: 0 10px 25px rgba(0,0,0,0.2);">
                <div style="background:#e0e7ff; width:60px; height:60px; border-radius:50%; display:flex; justify-content:center; align-items:center; margin:0 auto 15px;">
                    <i class="fas fa-envelope-open-text" style="font-size:25px; color:#4f46e5;"></i>
                </div>
                <h3 style="color:#1e293b; margin-top:0;">تفاصيل الإشعار</h3>
                <p id="studentNotifMessage" style="color:#475569; font-size:16px; line-height:1.6; font-weight:bold;"></p>
                <button onclick="document.getElementById('studentNotifModal').style.display='none'" style="background:#3b82f6; color:white; border:none; padding:10px 25px; border-radius:8px; font-weight:bold; cursor:pointer; margin-top:15px;">
                    إغلاق
                </button>
            </div>
        </div>

    </main>
</body>

<script>
var studentSchedulesList = []; 

// 1. دالة التنقل بين الأقسام (مدمجة مع الجدول الدراسي)
function switchTab(tabId) {
    document.querySelectorAll('.section-container').forEach(sec => sec.classList.remove('active'));
    document.querySelectorAll('.tab-content').forEach(sec => sec.style.display = 'none'); // للتعامل مع الأقسام الجديدة

    const target = document.getElementById(tabId);
    if(target) {
        target.classList.add('active');
        if (target.classList.contains('tab-content')) {
            target.style.display = 'block';
        }
    }
    
    document.querySelectorAll('.sidebar-menu li').forEach(li => li.classList.remove('active'));
    if(event && event.currentTarget) event.currentTarget.classList.add('active');

    const headerTitle = document.getElementById('header-title');
    const headerDesc = document.getElementById('header-desc');
    const headerIcon = document.getElementById('header-icon');

    // منطق التنبيهات
    let pendingSubjects = ["العربي", "العلوم"]; 
    let lessonsDescription = pendingSubjects.length > 0 ? "تم نشر دروس جديدة (" + pendingSubjects.join(" و ") + ")" : "لا توجد دروس جديدة حالياً.";

    const tabData = {
    'dashboard': { t: 'نظرة عامة', d: 'الإحصائيات والمنجزات', i: 'fa-home' },
    'profile': { t: 'الملف التعريفي', d: 'إدارة بياناتك ومعرفات الدخول', i: 'fa-user-edit' },
    'lessons': { t: 'الدروس الجديدة', d: lessonsDescription, i: 'fa-book-open' },
    'exams': { t: 'الاختبارات', d: 'أكمل اختباراتك قبل انتهاء الوقت', i: 'fa-tasks' },
    'videos': { t: 'الفيديوهات', d: 'مكتبة الشروحات المسجلة', i: 'fa-play-circle' },
    'live': { t: 'البث المباشر', d: 'تفاعل مع مدرسك الآن', i: 'fa-broadcast-tower' },
    'evaluations': { t: 'التقييمات', d: 'سجل الحضور والدرجات', i: 'fa-chart-bar' },
    'student-schedule-view': { t: 'الجدول الدراسي', d: 'مواعيد المحاضرات والدروس الأسبوعية', i: 'fa-calendar-check' },
    'tab-student-schedule': { t: 'جدولي الدراسي الأسبوعي', d: 'جدول الحصص المعتمد من الإدارة', i: 'fa-calendar-alt' },
    'games': { t: 'الألعاب الذكية', d: 'العب، تحدَّ أصدقاءك، واجمع النقاط', i: 'fa-gamepad' }
    };

    if(tabData[tabId]) {
        if(headerTitle) headerTitle.innerText = tabData[tabId].t;
        if(headerDesc) headerDesc.innerText = tabData[tabId].d;
        if(headerIcon) headerIcon.className = 'fas ' + tabData[tabId].i;
    }

    if(tabId === 'profile') {
        const genBtn = document.getElementById('generateIdBtn');
        if(genBtn) genBtn.style.display = 'inline-block';
    }
}

// 2. جلب الجداول من السيرفر (Fetch)
document.addEventListener('DOMContentLoaded', function() {
    // 🔥 التعديل الحاسم: سحب معرف الطالب (sid) من الرابط لإرساله للسيرفر
    const urlParams = new URLSearchParams(window.location.search);
    const currentSid = urlParams.get('sid') || '';
    
    // إرفاق المعرف مع رابط الطلب
    const fullUrl = '/academy/fetch_student_schedules.php?sid=' + currentSid + '&v=' + Math.random();
    const tbody = document.getElementById('student-schedules-body');
    
    if (!tbody) return; // حماية إضافية
    
    fetch(fullUrl)
    .then(response => response.json())
    .then(data => {
        if (data.status === 'success') {
            studentSchedulesList = data.data;
            if (studentSchedulesList.length === 0) {
                tbody.innerHTML = '<tr><td colspan="4" style="text-align:center; padding:30px; color:#94a3b8;">لا توجد جداول متاحة حالياً.</td></tr>';
            } else {
                if (typeof renderStudentTable === 'function') {
                    renderStudentTable();
                } else {
                    let html = '';
                    studentSchedulesList.forEach(item => {
                        html += `<tr>
                            <td style="padding: 15px; font-weight:bold;">${item.schedule_title}</td>
                            <td style="padding: 15px; text-align: center; color:#475569;">${item.clean_teacher_name || item.teacher_name}</td>
                            <td style="padding: 15px; text-align: center;">${item.created_at || '-'}</td>
                            <td style="padding: 15px; text-align: center;">
                                <button class="btn-action" style="background:#93003c; color:white; border:none; padding:6px 15px; border-radius:5px; cursor:pointer;" onclick="viewSchedule(${item.id})"><i class="fas fa-eye"></i> عرض</button>
                            </td>
                        </tr>`;
                    });
                    tbody.innerHTML = html;
                }
            }
        } else {
            // رسالة الخطأ ستختفي الآن لأن السيرفر سيتعرف على الطالب
            tbody.innerHTML = `<tr><td colspan="4" style="text-align:center; padding:30px; color:red;">${data.message}</td></tr>`;
        }
    })
    .catch(error => {
        if(tbody) tbody.innerHTML = '<tr><td colspan="4" style="text-align:center; padding:20px; color:red;">تعذر الاتصال ببيانات الجدول. يرجى مراجعة الإدارة.</td></tr>';
    });
});

// 3. رسم الأرشيف
function renderStudentTable() {
    const tbody = document.getElementById('student-schedules-body');
    tbody.innerHTML = studentSchedulesList.map((sch, index) => {
        const formattedDate = new Date(sch.created_at).toLocaleDateString('ar-EG');
        return `
        <tr style="border-bottom: 1px solid #f1f5f9;">
            <td style="padding: 15px; font-weight: bold; color: var(--accent, #6b1437); text-align: right;">${sch.schedule_title}</td>
            <td style="padding: 15px; color: #475569;"><i class="fas fa-chalkboard-teacher" style="margin-left:5px; color:#94a3b8;"></i> ${sch.teacher_name}</td>
            <td style="padding: 15px; color: #64748b;">${formattedDate}</td>
            <td style="padding: 15px;">
                <div style="display: flex; justify-content: center; gap: 8px;">
                    <button style="background: #3498db; padding: 8px 15px; color: white; border: none; border-radius: 6px; cursor: pointer;" onclick="viewStudentSchedule(${index})"><i class="fas fa-eye"></i></button>
                    <button style="background: #34495e; padding: 8px 15px; color: white; border: none; border-radius: 6px; cursor: pointer;" onclick="printStudentScheduleOld(${index})"><i class="fas fa-print"></i></button>
                </div>
            </td>
        </tr>`;
    }).join('');
}

// 3. بناء التصميم الفخم (للرؤية في الـ Modal وللطباعة)
function buildElegantHTML(sch) {
    // 🚀 جلب الاسم واللوجو الافتراضي (الرئيسي للمنصة)
    let schoolName = (typeof globalSiteConfig !== 'undefined' && globalSiteConfig.site_title) ? globalSiteConfig.site_title : 'واصل نجاحك يا بطل 🚀';
    let academyLogoUrl = (typeof globalSiteConfig !== 'undefined' && globalSiteConfig.logo_url) ? globalSiteConfig.logo_url : '';

    // 🚀 الإضافة الذكية: إذا كان المدرس قد رفع لوجو خاص به، نستخدمه. وإلا نستخدم اللوجو الافتراضي للمنصة.
    let finalLogo = sch.teacher_personal_logo ? '/academy/' + sch.teacher_personal_logo : academyLogoUrl;

    const dateObj = new Date(sch.created_at);
    const formattedDate = dateObj.toLocaleDateString('ar-EG');

    // 🚀 تصحيح المسميات (تحويل all أو الفراغ إلى مسميات عربية مفهومة) 🚀
    let displayStage = sch.target_stage && sch.target_stage !== 'all' ? sch.target_stage : 'كل المراحل';
    let displayDept  = sch.target_dept && sch.target_dept !== 'all' ? sch.target_dept : 'عام';
    let displayBranch= sch.target_branch && sch.target_branch !== 'all' ? sch.target_branch : 'الكل';

    return `
        <div style="font-family: 'Tajawal', sans-serif; direction: rtl; text-align: right; color: #333;">
            <div style="display: flex; justify-content: space-between; align-items: center; border-bottom: 4px solid #6b1437; padding-bottom: 15px; margin-bottom: 25px;">
                <div>
                    <h2 style="color: #6b1437; margin: 0; font-size: 24px; font-weight: bold;">${sch.teacher_name}</h2>
                    <p style="color: #555; margin: 5px 0 0; font-size: 14px; font-weight: bold;">أستاذ المادة</p>
                </div>
                
                <div style="text-align: left; display: flex; flex-direction: column; align-items: flex-end;">
                    <h3 style="color: #1e293b; margin: 0 0 8px 0; font-size: 18px; font-weight: bold;">${schoolName}</h3>
                    <img src="${finalLogo}" style="max-height: 60px; object-fit: contain;" alt="" onerror="this.style.display='none'">
                </div>
            </div>

            <h1 style="text-align: center; color: #1e293b; font-size: 26px; margin-bottom: 20px; text-decoration: underline; text-decoration-color: #6b1437; text-underline-offset: 10px;">${sch.schedule_title}</h1>

            <div style="display: flex; justify-content: space-around; background: #f8fafc; border: 2px solid #e2e8f0; border-radius: 12px; padding: 15px; margin-bottom: 30px;">
                <div style="text-align: center;">
                    <span style="display: block; color: #64748b; font-size: 13px; margin-bottom: 5px;">المرحلة الدراسية</span>
                    <strong style="display: block; color: #0f172a; font-size: 16px;">${displayStage}</strong>
                </div>
                <div style="text-align: center;">
                    <span style="display: block; color: #64748b; font-size: 13px; margin-bottom: 5px;">الصف / القسم</span>
                    <strong style="display: block; color: #0f172a; font-size: 16px;">${displayDept}</strong>
                </div>
                <div style="text-align: center;">
                    <span style="display: block; color: #64748b; font-size: 13px; margin-bottom: 5px;">الشعبة</span>
                    <strong style="display: block; color: #0f172a; font-size: 16px;">${displayBranch}</strong>
                </div>
                <div style="text-align: center;">
                    <span style="display: block; color: #64748b; font-size: 13px; margin-bottom: 5px;">تاريخ الإصدار</span>
                    <strong style="display: block; color: #0f172a; font-size: 16px;">${formattedDate}</strong>
                </div>
            </div>

            <div style="overflow-x: auto;">
                ${sch.table_html.replace(/<th /g, '<th style="background-color: #f1f5f9 !important; color: #0f172a !important; padding: 15px; border: 2px solid #cbd5e1; font-size: 16px; text-align: center;" ').replace(/<td /g, '<td style="padding: 15px; border: 2px solid #cbd5e1; font-weight: bold; color: #1e293b; text-align: center;" ')}
            </div>
            
            <div style="margin-top: 40px; text-align: center; font-size: 13px; color: #94a3b8; border-top: 1px solid #e2e8f0; padding-top: 15px;">
                تم إنشاء وطباعة هذا الجدول بواسطة نظام الأكاديمية الذكي © ${new Date().getFullYear()}
            </div>
        </div>
    `;
}

function viewStudentSchedule(index) {
    const sch = studentSchedulesList[index];
    if(sch) {
        document.getElementById('student-view-content').innerHTML = buildElegantHTML(sch);
        document.getElementById('modal-print-btn').onclick = function() { printStudentScheduleOld(index); };
        document.getElementById('studentViewModal').style.display = 'flex';
    }
}

function printStudentScheduleOld(index) {
    const sch = studentSchedulesList[index];
    if(sch) {
        const elegantHTML = buildElegantHTML(sch);
        const printWindow = window.open('', '_blank');
        printWindow.document.write(`<html dir="rtl"><head><style>@import url('https://fonts.googleapis.com/css2?family=Tajawal:wght@400;700&display=swap'); body { font-family: 'Tajawal', sans-serif; } @page { size: A4 landscape; margin: 15mm; } table { width:100%; border-collapse: collapse; }</style></head><body onload="window.print(); window.close();">${elegantHTML}</body></html>`);
        printWindow.document.close();
    }
}
        // دالة توليد المعرف للطالب المضاف
        function generateID() {
            document.getElementById('courseIdInput').value = "ARB-" + Math.floor(Math.random() * 1000000);
            alert("تم توليد المعرف الخاص بك. اضغط حفظ لربطه بجهازك الحالي وعدم السماح بتكراره.");
            document.getElementById('generateIdBtn').style.display = 'none'; // يخفى بعد التوليد
        }

        // دالة محاكاة دخول الاختبار وفتح العداد
        function startExam() {
            alert("سيتم نقلك لصفحة الاختبار. \n تذكر: بمجرد انتهاء الوقت سيتم إغلاق الصفحة وإرسال الإجابات تلقائياً للمدرس.");
        }
        // دالة فحص التنبيهات الديناميكية (مربوطة فعلياً بما ينشره المدرس للدروس)
        function checkNotifications() {
            // 🚀 التعديل: جلبنا الدروس والمواد ديناميكياً من قاعدة البيانات بدلاً من الرقم الوهمي
            let pendingSubjects = <?php echo json_encode(array_values(array_unique($real_pending_subjects ?? []))); ?>;
            let newLessons = pendingSubjects.length; 

            // هذه الأرقام بقيت كما هي لغرض برمجتها مستقبلاً كما طلبت
            let newExams = 1;   // ومدرس آخر نشر اختبار
            let liveNow = 1;    // وهناك بث شغال الآن

            let alerts = []; // مصفوفة لجمع التنبيهات

            // تكوين الجمل حسب المنشور فعلياً
            if (newLessons > 0) alerts.push("دروس بانتظارك في (" + pendingSubjects.join(" و ") + ")");
            if (newExams > 0) alerts.push("اختبار جديد في العلوم");
            if (liveNow > 0) alerts.push("بث مباشر متاح الآن");

            let headerDesc = document.getElementById('header-desc');

            if (headerDesc) {
                // إذا كان هناك تحديثات، ندمجها معاً، وإلا نظهر رسالة تشجيعية
                if (alerts.length > 0) {
                    // دمج التنبيهات بحرف "و" لتصبح جملة واحدة متناسقة
                    headerDesc.innerText = "لديك: " + alerts.join("، و ") + ".";
                    headerDesc.style.color = "#fde047"; // أضفنا لون تنبيه أصفر جميل
                } else {
                    headerDesc.innerText = "لقد أنجزت كل مهامك، لا يوجد شيء جديد حالياً.";
                    headerDesc.style.color = "#dcfce7"; // لون أخضر للإنجاز
                }
            }
        }

        // تشغيل فحص التنبيهات بمجرد فتح الطالب للوحة
        window.addEventListener('load', checkNotifications);
        // دالة الفحص: تمنع دخول البث إذا لم يقم الطالب بإدخال معرف الكورس
        // دالة الفحص الذكية مع صلاحيات المبرمج (Master Key)
        // ==========================================
        // نظام محفظة المعرفات (متصل بالذاكرة المحلية)
        // ==========================================

        // 1. جلب الكورسات من ذاكرة المتصفح (حتى لا تختفي عند التحديث)
        let activatedCourses = JSON.parse(localStorage.getItem('student_courses')) || [];

        // الدالة المحدثة لاستقبال ورسم الكورسات القادمة من قاعدة البيانات
function renderCoursesTable(coursesArray) {
    let tbody = document.getElementById('activeCoursesBody');
    if(!tbody) return;
    
    tbody.innerHTML = ''; 

    // إذا لم تكن هناك كورسات مسجلة لهذا الطالب في قاعدة البيانات
    if(!coursesArray || coursesArray.length === 0) {
        tbody.innerHTML = '<tr><td colspan="4" style="text-align:center; color:#94a3b8; padding: 20px;">لا توجد مواد مفعلة حالياً في حسابك.</td></tr>';
        return;
    }

    // رسم الكورسات القادمة من السيرفر
    coursesArray.forEach((course, index) => {
        let tr = document.createElement('tr');
        tr.innerHTML = `
            <td style="font-family: monospace; font-weight: bold; color: #6b1437;">${course.code}</td>
            <td style="font-weight: bold;">${course.subject}</td>
            <td style="color: #10b981; font-weight: bold;"><i class="fas fa-check-circle"></i> نشط</td>
            <td>
    <button onclick="removeCourse('${course.code}')" style="background:#ef4444; color:white; border:none; padding:6px 12px; border-radius:5px; cursor:pointer;">
        <i class="fas fa-trash"></i>
    </button>
            </td>
        `;
        tbody.appendChild(tr);
    });
}

        
    </script>
    <script>
        // نضع الكود هنا لكي يعمل بمجرد تحميل الصفحة
        window.onload = function() {
            // قراءة المعرف من ذاكرة المتصفح التي خزنها الطالب عند التسجيل
            const savedID = localStorage.getItem('student_sync_id');
            
            // إظهار المعرف في المكان المخصص له
            const displayElement = document.getElementById('profile-id-display');
            
            if (displayElement) {
                displayElement.innerText = savedID || "لم يتم التسجيل بعد";
            }
        };
    </script>
    <script>
// المتغير الذي سيحفظ اللوجو واسم المدرسة
let globalSiteConfig = { site_title: 'واصل نجاحك يا بطل 🚀', logo_url: '' };

document.addEventListener('DOMContentLoaded', function() {
    // ==========================================
    // 1. الكود الخاص بك (المعرف) - لم نلمس فيه حرفاً
    // ==========================================
    const savedStudentID = localStorage.getItem('student_sync_id');
    const idDisplay = document.getElementById('profile-id-display');
    const statusMsg = document.getElementById('id-status-msg');

    if (savedStudentID) {
        if(idDisplay) idDisplay.innerText = savedStudentID;
    } else {
        if(idDisplay) idDisplay.innerText = "غير مسجل";
        if(statusMsg) statusMsg.innerHTML = "يرجى تسجيل بياناتك لتفعيل المعرف";
    }

    // ==========================================
    // 2. كود جلب الجداول واللوجو من قاعدة البيانات
    // ==========================================
    const fullUrl = '/academy/fetch_student_schedules.php?v=' + Math.random();
    fetch(fullUrl)
    .then(response => response.json())
    .then(data => {
        const tbody = document.getElementById('student-schedules-body');
        if (data.status === 'success') {
            // حفظ اللوجو والاسم
            if(data.config) {
                globalSiteConfig = data.config;
            }
            // جلب الجداول
            studentSchedulesList = data.data;
            if (studentSchedulesList.length === 0) {
                if(tbody) tbody.innerHTML = '<tr><td colspan="4" style="text-align:center; padding:30px;">لا توجد جداول متاحة حالياً.</td></tr>';
            } else {
                renderStudentTable();
            }
        }
    })
    .catch(error => {
        console.error('Fetch error:', error);
    });
});
</script>
<script>
    // وظيفة لتحديث المعرف في واجهة الطالب
    function syncStudentID() {
        const savedID = localStorage.getItem('student_sync_id');
        const display = document.getElementById('profile-id-display');
        
        if (savedID && display) {
            display.innerText = savedID;
            // اختياري: تغيير لون النص ليدل على التفعيل
            display.style.color = "#5A002A"; 
        }
    }

    // تشغيل المزامنة فور تحميل الصفحة
    document.addEventListener('DOMContentLoaded', syncStudentID);
</script>
<script>
    document.addEventListener('DOMContentLoaded', function() {
        const urlID = "<?php echo $sid_url ?? ''; ?>";
        if (urlID && urlID !== "") {
            localStorage.setItem('student_sync_id', urlID);
        }

        const finalID = localStorage.getItem('student_sync_id');
        const display = document.getElementById('profile-id-display');
        if (display) {
            display.innerText = finalID || "لم يتم التسجيل بعد";
        }
    });
    
</script>
<script>
// جلب المعرف ليكون متاحاً لكل الدوال
const studentId = "<?php echo isset($sid) ? $sid : (isset($student_real_id) ? $student_real_id : ''); ?>";

// 1. دالة جلب الكورسات ورسم الجدول
function fetchMyCourses() {
    const tbody = document.getElementById('activeCoursesBody');
    if (!tbody) return;

    tbody.innerHTML = '<tr><td colspan="4" style="text-align:center; padding:15px;"><i class="fas fa-spinner fa-spin"></i> جاري جلب البيانات...</td></tr>';

    fetch(`/academy/api_get_student_courses.php?student_id=${studentId}`)
        .then(async response => {
            const text = await response.text(); // نقرأ كـ Text أولاً لنكتشف أي خطأ من الـ PHP
            try {
                return JSON.parse(text);
            } catch (e) {
                console.error("خطأ قادم من السيرفر (PHP Error):", text);
                throw new Error("السيرفر لم يرسل بيانات بصيغة JSON صحيحة.");
            }
        })
        .then(data => {
            if(data.length === 0) {
                tbody.innerHTML = '<tr><td colspan="4" style="text-align:center; color:#64748b; padding:15px;">لا توجد مواد مفعلة حالياً في حسابك.</td></tr>';
                return;
            }
            
            let rows = '';
            data.forEach(course => {
                let statusLabel = (course.status === 'active' || !course.status) 
                    ? '<span style="background: #dcfce7; color: #166534; padding: 4px 8px; border-radius: 4px; font-size: 0.85rem;"><i class="fas fa-check-circle"></i> نشط</span>' 
                    : '<span style="background: #fee2e2; color: #991b1b; padding: 4px 8px; border-radius: 4px; font-size: 0.85rem;"><i class="fas fa-times-circle"></i> متوقف</span>';
                    
                rows += `
                <tr style="border-bottom: 1px solid #eee;">
                    <td style="font-family: monospace; font-weight: bold; color: #334155; padding: 12px; text-align: center;">${course.code}</td>
                    <td style="padding: 12px; text-align: center;">${course.subject}</td>
                    <td style="padding: 12px; text-align: center;">${statusLabel}</td>
                    <td style="padding: 12px; text-align: center;">
                        <button onclick="removeCourse('${course.code}')" style="background: #ef4444; color: white; border: none; padding: 5px 10px; border-radius: 4px; cursor: pointer;">
                            <i class="fas fa-trash-alt"></i> إزالة
                        </button>
                    </td>
                </tr>`;
            });
            tbody.innerHTML = rows;
        })
        .catch(err => {
            console.error(err);
            tbody.innerHTML = '<tr><td colspan="4" style="text-align:center; color:red; padding:15px;">حدث خطأ في قراءة البيانات. (تم تسجيل الخطأ في الـ Console)</td></tr>';
        });
}

// تشغيل الجلب بمجرد تحميل الصفحة
document.addEventListener('DOMContentLoaded', fetchMyCourses);

// 2. دالة تفعيل كورس جديد (كما كانت لديك بالضبط)
async function activateCourse() {
    let input = document.getElementById('courseIdInput'); 
    let code = input ? input.value.trim() : '';

    if (code === "") {
        alert("يرجى إدخال الكود أولاً!");
        return;
    }

    try {
        let response = await fetch('/academy/activate_course.php', {
            method: 'POST',
            headers: { 'Content-Type': 'application/json' },
            body: JSON.stringify({ code: code, student_id: studentId })
        });
        let result = await response.json();

        if (result.status === 'success') {
            alert(result.message);
            input.value = ''; 
            fetchMyCourses(); // تحديث الجدول فوراً
        } else {
            alert("خطأ: " + result.message);
        }
    } catch (error) {
        console.error('Error:', error);
        alert("حدث خطأ في الاتصال بالخادم.");
    }
}

// 3. دالة الحذف (كما كانت لديك بالضبط)
async function removeCourse(courseCode) {
    let confirmDel = confirm("هل أنت متأكد أنك تريد إزالة هذا الكورس من حسابك؟");
    if(!confirmDel) return;

    try {
        let response = await fetch('/academy/api_remove_course.php', {
            method: 'POST',
            headers: { 'Content-Type': 'application/json' },
            body: JSON.stringify({ student_id: studentId, course_code: courseCode })
        });
        let result = await response.json();
        
        if(result.status === 'success') {
            fetchMyCourses(); // تحديث الجدول فوراً بعد الحذف
        } else {
            alert("فشل الحذف من الخادم.");
        }
    } catch (error) {
        console.error("خطأ أثناء الحذف:", error);
    }
}
// 1. جلب اسم المدرس الخاص بهذا الطالب من PHP
const studentTeacher = "<?php echo $student_data['teacher_name']; ?>";


// دالة مساعدة لتعبئة الخيارات واختيار القيمة الحالية للطالب
function updateSelectOptions(elementId, options, currentValue) {
    const select = document.getElementById(elementId);
    if (!select) return;

    let html = '<option value="">اختر...</option>';
    options.forEach(opt => {
        const isSelected = (opt === currentValue) ? 'selected' : '';
        html += `<option value="${opt}" ${isSelected}>${opt}</option>`;
    });
    select.innerHTML = html;
}

// تشغيل الجلب فور تحميل الصفحة
document.addEventListener('DOMContentLoaded', populateStudentTaxonomy);

// 🚀 دالة طباعة الجدول الرسمي 🚀
function printStudentSchedule() {
    var printContents = document.getElementById('printable-student-schedule').innerHTML;
    var printWindow = window.open('', '', 'height=600,width=1000');
    printWindow.document.write('<html dir="rtl"><head><title>طباعة الجدول الأسبوعي</title>');
    printWindow.document.write('<style>@import url("https://fonts.googleapis.com/css2?family=Tajawal:wght@400;700;900&display=swap"); body { font-family: "Tajawal", sans-serif; padding: 20px; color: #000; } table { width: 100%; border-collapse: collapse; text-align: center; margin-top: 15px; } th, td { border: 2px solid #000; padding: 12px; } th { background-color: #f1f5f9 !important; font-weight: bold; font-size: 1.2rem; -webkit-print-color-adjust: exact; } @page { size: landscape; margin: 1cm; }</style>');
    printWindow.document.write('</head><body><h2 style="text-align:center;">الجدول الدراسي الأسبوعي</h2>');
    printWindow.document.write(printContents.replace(/style="[^"]*"/g, ''));
    printWindow.document.write('</body></html>');
    printWindow.document.close();
    printWindow.focus();
    setTimeout(function() { printWindow.print(); printWindow.close(); }, 500);
}
</script>
<style>
@keyframes pulse-green {
    0% { background-color: transparent; box-shadow: 0 0 0 0 rgba(46, 204, 113, 0.7); }
    50% { background-color: #2ecc71; color: white !important; box-shadow: 0 0 15px 5px rgba(46, 204, 113, 0.5); }
    100% { background-color: transparent; box-shadow: 0 0 0 0 rgba(46, 204, 113, 0); }
}
.live-active-blink {
    animation: pulse-green 1.5s infinite !important;
    border-radius: 8px !important;
    font-weight: bold !important;
    transition: 0.3s;
}
</style>

<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script> 
<script>
document.addEventListener("DOMContentLoaded", function() {
    let alertShown = false; 
    let liveMenuBtn = document.querySelector('li[onclick*="switchTab(\\\'live\')"]'); 
    
    // سحب البيانات من السيرفر وقت تحميل الصفحة
    let studentStage = "<?php echo htmlspecialchars($student_data['stage'] ?? ''); ?>";
    let studentDept = "<?php echo htmlspecialchars($student_data['department'] ?? 'عام'); ?>";
    let currentStudentId = new URLSearchParams(window.location.search).get('sid') || localStorage.getItem('student_sync_id');
    let activeLiveTeacherId = ""; 

    setInterval(() => {
        // 🚀 إرسال الهوية + المرحلة + القسم معاً للمطابقة المباشرة
        fetch(`api_live_notify.php?action=check&stage=${encodeURIComponent(studentStage)}&dept=${encodeURIComponent(studentDept)}&sid=${encodeURIComponent(currentStudentId)}`)
        .then(res => res.json())
        .then(data => {
            if (data.is_live && data.tid) {
                activeLiveTeacherId = data.tid; 

                if (liveMenuBtn) liveMenuBtn.classList.add('live-active-blink');
                let countdownTxt = document.getElementById('countdown');
                if(countdownTxt) { countdownTxt.innerText = "🔴 بث مباشر الآن"; countdownTxt.style.color = "#ef4444"; }
                
                if (!alertShown && sessionStorage.getItem('dismissed_live') !== 'true') {
                    Swal.fire({
                        title: '🔴 بث مباشر الآن!',
                        text: 'أستاذك بدأ البث المباشر الآن، هل تريد الدخول للغرفة؟',
                        icon: 'info',
                        showCancelButton: true,
                        confirmButtonColor: '#2ecc71',
                        cancelButtonColor: '#e74c3c',
                        confirmButtonText: 'نعم، دخول الغرفة',
                        cancelButtonText: 'ليس الآن',
                        allowOutsideClick: false
                    }).then((result) => {
                        if (result.isConfirmed) {
                            window.location.href = 'live_v2/student_live_v2.php?sid=' + encodeURIComponent(currentStudentId) + '&tid=' + encodeURIComponent(activeLiveTeacherId);
                        } else {
                            sessionStorage.setItem('dismissed_live', 'true');
                        }
                    });
                    alertShown = true; 
                }
            } else {
                if (liveMenuBtn) liveMenuBtn.classList.remove('live-active-blink');
                alertShown = false;
                sessionStorage.removeItem('dismissed_live');
                let countdownTxt = document.getElementById('countdown');
                if(countdownTxt && countdownTxt.innerText.includes("بث مباشر")) {
                    countdownTxt.innerText = "مغلق حالياً"; countdownTxt.style.color = "";
                }
            }
        }).catch(e => console.log('جاري المراقبة...'));
    }, 5000); 
});

// دالة الدخول (التعديل للرابط الجديد)
function checkAndJoinLive() {
    let currentSid = "<?php echo $sid; ?>";
    let studentStage = "<?php echo $student_grade; ?>";
    let studentDept = "<?php echo $student_dept; ?>";
    
    Swal.fire({ title: 'جاري التحقق...', allowOutsideClick: false, didOpen: () => { Swal.showLoading(); } });

    fetch('api_live_notify.php?action=check&sid=' + currentSid + '&stage=' + encodeURIComponent(studentStage) + '&dept=' + encodeURIComponent(studentDept))
    .then(res => res.json())
    .then(data => {
        if (data.is_live && data.tid) {
            Swal.fire({ title: 'تم التحقق!', text: 'جاري تحويلك للسبورة الذكية...', icon: 'success', timer: 1500, showConfirmButton: false })
            .then(() => {
                // 🚀 هنا السحر: التوجيه للملف الموجود في live_v2
                window.location.href = '/academy/live_v2/student_live_v2.php?sid=' + encodeURIComponent(currentSid) + '&tid=' + encodeURIComponent(data.tid);
            });
        } else {
            Swal.fire('عذراً!', 'لا يوجد بث مباشر نشط حالياً.', 'warning');
        }
    }).catch(err => { Swal.fire('خطأ', 'حدث خطأ في الاتصال.', 'error'); });
}
// دالة التحقق من البث (المصححة لتربطك بالمجلد الجديد live_v2)
setInterval(function() {
    // 🔥 تصحيح المتغيرات: نستخدم المتغيرات التي استخرجناها فعلاً من قاعدة البيانات
    const sid = "<?php echo $sid; ?>"; 
    const stage = "<?php echo $student_grade; ?>";
    const dept = "<?php echo $student_dept; ?>";

    fetch('api_live_notify.php?action=check&sid=' + sid + '&stage=' + encodeURIComponent(stage) + '&dept=' + encodeURIComponent(dept))
    .then(response => response.json())
    .then(data => {
        if(data.is_live) {
            console.log("هناك بث مباشر نشط!");
            // 🚀 التعديل: التوجيه للملف الصحيح في live_v2
            showLiveButton(data.tid); 
        } else {
           // hideLiveButton();
        }
    });
}, 3000);
// دالة إظهار زر الدخول (تأكد أن لديك div في الصفحة يحمل id="live-join-btn")
function showLiveButton(tid) {
    const btn = document.getElementById('live-join-btn'); // تأكد من وجود هذا الزر في صفحتك
    if (btn) {
        btn.style.display = 'block';
        btn.onclick = function() { checkAndJoinLive(); };
    }
}
</script>
<script>
var rooz_session_id = "<?php echo $_SESSION['student_id'] ?? $_SESSION['sync_id'] ?? ''; ?>";
var rooz_url_params = new URLSearchParams(window.location.search);
var rooz_raw_id = rooz_url_params.get('sid') || rooz_session_id; 
var rooz_final_student_id = rooz_raw_id ? rooz_raw_id.trim().replace(/\s+/g, '-') : '';

function toggleNotifMenu() {
    var menu = document.getElementById('notif-dropdown');
    if(menu) {
        menu.style.display = (menu.style.display === 'none' || menu.style.display === '') ? 'block' : 'none';
    }
}

function openNotif(id, message) {
    document.getElementById('studentNotifMessage').innerHTML = message;
    document.getElementById('studentNotifModal').style.display = 'flex';
    document.getElementById('notif-dropdown').style.display = 'none'; 
    
    fetch(`api_mark_notif_read.php`, {
        method: 'POST',
        headers: {'Content-Type': 'application/json'},
        body: JSON.stringify({ notif_id: id })
    }).then(() => roozFetchNotifications());
}

function roozFetchNotifications() {
    if (!rooz_final_student_id) return; 
    var noCacheTime = new Date().getTime();
    
    fetch(`api_get_student_notifs.php?student_id=${encodeURIComponent(rooz_final_student_id)}&t=${noCacheTime}`)
    .then(res => res.text()) 
    .then(text => {
        try {
            var data = JSON.parse(text);
            if (data.status === 'success') {
                var list = document.getElementById('notif-list');
                var badge = document.getElementById('notif-badge');
                
                if (!data.notifications || data.notifications.length === 0) {
                    if(list) list.innerHTML = '<div style="padding: 20px; text-align: center; color: #94a3b8;">لا توجد إشعارات حالياً</div>';
                    if(badge) badge.style.display = 'none';
                    return;
                }

                var unreadCount = 0;
                var html = '';
                
                data.notifications.forEach(n => {
                    var isUnread = (n.is_read == 0);
                    if (isUnread) unreadCount++;
                    
                    var bg = isUnread ? '#eff6ff' : '#ffffff'; 
                    var fw = isUnread ? 'bold' : 'normal';
                    var safeMsg = n.message ? n.message.replace(/'/g, "\\'").replace(/"/g, "&quot;").replace(/\n/g, "<br>") : '';

                    html += `
                    <div style="padding: 12px 15px; border-bottom: 1px solid #f1f5f9; background: ${bg}; cursor: pointer; text-align: right;" onclick="openNotif(${n.id}, '${safeMsg}')">
                        <p style="margin: 0; font-size: 13px; color: #1e293b; font-weight: ${fw}; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;">${n.message}</p>
                        <small style="color: #94a3b8; font-size: 10px;">${n.created_at}</small>
                    </div>`;
                });

                if(list) list.innerHTML = html;

                if (badge) {
                    if (unreadCount > 0) {
                        badge.innerText = unreadCount;
                        badge.style.display = 'block';
                    } else {
                        badge.style.display = 'none';
                    }
                }
            }
        } catch(e) {}
    }).catch(e => console.error("خطأ اتصال:", e));
}

// تعديل للإغلاق عند النقر خارج القائمة (بمكانها الجديد)
document.addEventListener('click', function(event) {
    var container = document.getElementById('bell-container');
    var menu = document.getElementById('notif-dropdown');
    if (container && menu && !container.contains(event.target) && !menu.contains(event.target)) {
        menu.style.display = 'none';
    }
});

document.addEventListener("DOMContentLoaded", function() {
    // 🚀 الخدعة السحرية: نقل القائمة من الهيدر إلى جسم الصفحة الخارجي لتطفو بحرية 🚀
    var menu = document.getElementById('notif-dropdown');
    if(menu) {
        document.body.appendChild(menu);
    }

    roozFetchNotifications();
    setInterval(roozFetchNotifications, 5000); 
});
</script>
<?php include __DIR__ . '/dynamic_watermark.php'; ?>

</body>
</html>