<?php
session_start();
require_once 'includes/config.php';

if (!isset($_SESSION['vai_tro']) || $_SESSION['vai_tro'] !== 'admin') {
    die("Khu vực đặc quyền Ban Quản Trị. Truy cập bị từ chối.");
}

try {
    $pdo->exec(<<<SQL
        CREATE TABLE IF NOT EXISTS lop_hoc (
            id INT AUTO_INCREMENT PRIMARY KEY,
            ma_lop VARCHAR(50) NOT NULL UNIQUE,
            ten_lop VARCHAR(255) NOT NULL,
            tinh_thanh VARCHAR(100) DEFAULT NULL,
            id_to_chuc_quan_ly INT DEFAULT NULL,
            ngay_bat_dau DATE DEFAULT NULL,
            ngay_ket_thuc DATE DEFAULT NULL,
            so_buoi INT NOT NULL DEFAULT 0,
            so_luong_hoc_vien INT NOT NULL DEFAULT 0,
            trang_thai VARCHAR(50) NOT NULL DEFAULT 'dang_mo',
            ngay_tao TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
            KEY idx_lop_tinh_thanh (tinh_thanh),
            CONSTRAINT fk_lop_to_chuc FOREIGN KEY (id_to_chuc_quan_ly) REFERENCES thanh_vien(id) ON DELETE SET NULL
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
SQL);
    $pdo->exec("ALTER TABLE lop_hoc ADD COLUMN IF NOT EXISTS id_to_chuc_quan_ly INT DEFAULT NULL");
    $pdo->exec("ALTER TABLE lop_hoc ADD COLUMN IF NOT EXISTS ngay_bat_dau DATE DEFAULT NULL");
    $pdo->exec("ALTER TABLE lop_hoc ADD COLUMN IF NOT EXISTS ngay_ket_thuc DATE DEFAULT NULL");
    $pdo->exec("ALTER TABLE lop_hoc ADD COLUMN IF NOT EXISTS so_buoi INT NOT NULL DEFAULT 0");
    $pdo->exec("ALTER TABLE lop_hoc ADD COLUMN IF NOT EXISTS so_luong_hoc_vien INT NOT NULL DEFAULT 0");

    $pdo->exec(<<<SQL
        CREATE TABLE IF NOT EXISTS tien_do_hoc_tap (
            id INT AUTO_INCREMENT PRIMARY KEY,
            id_lop INT NOT NULL,
            id_hoc_vien INT NOT NULL,
            phan_tram_hoan_thanh INT NOT NULL DEFAULT 0,
            trang_thai_hoc VARCHAR(50) NOT NULL DEFAULT 'dang_hoc',
            nhan_xet_giao_vien TEXT DEFAULT NULL,
            ngay_cap_nhat TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
            UNIQUE KEY uk_tien_do_lop_hoc_vien (id_lop, id_hoc_vien),
            CONSTRAINT fk_tien_do_lop FOREIGN KEY (id_lop) REFERENCES lop_hoc(id) ON DELETE CASCADE,
            CONSTRAINT fk_tien_do_hoc_vien FOREIGN KEY (id_hoc_vien) REFERENCES thanh_vien(id) ON DELETE CASCADE
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
SQL);
    $pdo->exec("ALTER TABLE tien_do_hoc_tap ADD COLUMN IF NOT EXISTS nhan_xet_giao_vien TEXT DEFAULT NULL");
    $pdo->exec("ALTER TABLE tien_do_hoc_tap ADD COLUMN IF NOT EXISTS ngay_cap_nhat TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP");
    
    // Thêm cột id_lop vào bảng yeu_cau_dat_lich để lưu lớp học được gán
    $pdo->exec("ALTER TABLE yeu_cau_dat_lich ADD COLUMN IF NOT EXISTS id_lop INT DEFAULT NULL");
} catch (PDOException $e) {
    $loi_schema = "Không thể khởi tạo cấu trúc lớp học: " . $e->getMessage();
}

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    if (isset($_POST['cap_nhat_tien_do'])) {
        $id_tien_do = (int)$_POST['id_tien_do'];
        $phan_tram = (int)$_POST['phan_tram_hoan_thanh'];
        $nhan_xet = htmlspecialchars(trim($_POST['nhan_xet'] ?? ''), ENT_QUOTES, 'UTF-8');
        $trang_thai = ($phan_tram >= 100) ? 'hoan_thanh' : 'dang_hoc';

        try {
            $stmt_update = $pdo->prepare("UPDATE tien_do_hoc_tap SET phan_tram_hoan_thanh = ?, trang_thai_hoc = ?, nhan_xet_giao_vien = ? WHERE id = ?");
            $stmt_update->execute([$phan_tram, $trang_thai, $nhan_xet, $id_tien_do]);
            $thong_bao = "Cập nhật tiến độ thành công!";
        } catch (PDOException $e) {
            $loi = "Lỗi cập nhật: " . $e->getMessage();
        }
    }

    if (isset($_POST['xac_nhan_yeu_cau'])) {
        $id_yeu_cau = (int)($_POST['id_yeu_cau'] ?? 0);
        if ($id_yeu_cau > 0) {
            try {
                $stmt_xac_nhan = $pdo->prepare("UPDATE yeu_cau_dat_lich SET trang_thai = 'da_phan_lop' WHERE id = ?");
                $stmt_xac_nhan->execute([$id_yeu_cau]);
                $thong_bao = "Đã xác nhận yêu cầu. Khách hàng sẽ xuất hiện trong danh sách đăng ký.";
            } catch (PDOException $e) {
                $loi = "Lỗi xác nhận: " . $e->getMessage();
            }
        }
    }

    if (isset($_POST['gan_lop'])) {
        $id_yeu_cau = (int)($_POST['id_yeu_cau'] ?? 0);
        $id_lop = (int)($_POST['id_lop'] ?? 0);

        if ($id_yeu_cau > 0 && $id_lop > 0) {
            try {
                $stmt_yc = $pdo->prepare("SELECT * FROM yeu_cau_dat_lich WHERE id = ? LIMIT 1");
                $stmt_yc->execute([$id_yeu_cau]);
                $yeu_cau = $stmt_yc->fetch(PDO::FETCH_ASSOC);

                if ($yeu_cau) {
                    $id_hoc_vien = null;
                    $tim_thay_hoc_vien = false;
                    
                    // Tìm học viên theo số điện thoại
                    if (!empty($yeu_cau['so_dien_thoai'])) {
                        $stmt_find = $pdo->prepare("SELECT id FROM thanh_vien WHERE dien_thoai = ? LIMIT 1");
                        $stmt_find->execute([$yeu_cau['so_dien_thoai']]);
                        $found = $stmt_find->fetch(PDO::FETCH_ASSOC);
                        if ($found) {
                            $id_hoc_vien = (int)$found['id'];
                            $tim_thay_hoc_vien = true;
                        }
                    }

                    // Nếu chưa tìm thấy, tìm theo email
                    if (!$id_hoc_vien && !empty($yeu_cau['email'])) {
                        $stmt_find = $pdo->prepare("SELECT id FROM thanh_vien WHERE email = ? LIMIT 1");
                        $stmt_find->execute([$yeu_cau['email']]);
                        $found = $stmt_find->fetch(PDO::FETCH_ASSOC);
                        if ($found) {
                            $id_hoc_vien = (int)$found['id'];
                            $tim_thay_hoc_vien = true;
                        }
                    }

                    // Nếu tìm thấy học viên cũ, UPDATE tên và thông tin từ yêu cầu đăng ký
                    if ($tim_thay_hoc_vien && $id_hoc_vien > 0) {
                        $email_update = '';
                        if (!empty($yeu_cau['email'])) {
                            $email_update = $yeu_cau['email'];
                        } elseif (!empty($yeu_cau['so_dien_thoai'])) {
                            $email_update = 'hocvien_' . str_replace(' ', '', $yeu_cau['so_dien_thoai']) . '@trongdongnghethuat.local';
                        } else {
                            $email_update = 'hocvien_' . time() . '_' . rand(100, 999) . '@trongdongnghethuat.local';
                        }
                        
                        $stmt_update_hv = $pdo->prepare("UPDATE thanh_vien SET ho_ten = ?, dien_thoai = ?, email = ? WHERE id = ?");
                        $stmt_update_hv->execute([
                            $yeu_cau['ten_khach_hang'] ?? 'Học viên',
                            !empty($yeu_cau['so_dien_thoai']) ? $yeu_cau['so_dien_thoai'] : null,
                            $email_update,
                            $id_hoc_vien
                        ]);
                    }

                    // Nếu chưa có học viên, tạo record mới
                    if (!$id_hoc_vien) {
                        // Tạo email tự động nếu không có
                        $email_moi = '';
                        if (!empty($yeu_cau['email'])) {
                            $email_moi = $yeu_cau['email'];
                        } elseif (!empty($yeu_cau['so_dien_thoai'])) {
                            $email_moi = 'hocvien_' . str_replace(' ', '', $yeu_cau['so_dien_thoai']) . '@trongdongnghethuat.local';
                        } else {
                            $email_moi = 'hocvien_' . time() . '_' . rand(100, 999) . '@trongdongnghethuat.local';
                        }
                        
                        $stmt_create = $pdo->prepare("INSERT INTO thanh_vien (ho_ten, email, dien_thoai, mat_khau, vai_tro, linh_vuc) VALUES (?, ?, ?, ?, 'ca_nhan', 'khoa_hoc')");
                        $stmt_create->execute([
                            $yeu_cau['ten_khach_hang'] ?? 'Học viên',
                            $email_moi,
                            !empty($yeu_cau['so_dien_thoai']) ? $yeu_cau['so_dien_thoai'] : null,
                            ''
                        ]);
                        $id_hoc_vien = (int)$pdo->lastInsertId();
                    }

                    if ($id_hoc_vien > 0) {
                        $stmt_check = $pdo->prepare("SELECT id FROM tien_do_hoc_tap WHERE id_lop = ? AND id_hoc_vien = ? LIMIT 1");
                        $stmt_check->execute([$id_lop, $id_hoc_vien]);
                        if (!$stmt_check->fetch()) {
                            $stmt_insert = $pdo->prepare("INSERT INTO tien_do_hoc_tap (id_lop, id_hoc_vien, phan_tram_hoan_thanh, trang_thai_hoc) VALUES (?, ?, 0, 'dang_hoc')");
                            $stmt_insert->execute([$id_lop, $id_hoc_vien]);
                        }

                        $stmt_update_yc = $pdo->prepare("UPDATE yeu_cau_dat_lich SET trang_thai = 'da_phan_lop', id_lop = ? WHERE id = ?");
                        $stmt_update_yc->execute([$id_lop, $id_yeu_cau]);
                        $thong_bao = "Đã gán khách hàng vào lớp học thành công.";
                    } else {
                        $loi = "Không tìm thấy hoặc tạo được học viên tương ứng.";
                    }
                } else {
                    $loi = "Yêu cầu đăng ký không tồn tại.";
                }
            } catch (PDOException $e) {
                $loi = "Lỗi gán lớp: " . $e->getMessage();
            }
        } else {
            $loi = "Vui lòng chọn lớp học hợp lệ.";
        }
    }

    if (isset($_POST['tao_lop'])) {
        $ma_lop = trim($_POST['ma_lop'] ?? '');
        $ten_lop = trim($_POST['ten_lop'] ?? '');
        $tinh_thanh = trim($_POST['tinh_thanh'] ?? '');
        $id_to_chuc = (isset($_POST['id_to_chuc_quan_ly']) && $_POST['id_to_chuc_quan_ly'] !== '') ? (int)$_POST['id_to_chuc_quan_ly'] : null;
        $ngay_bat_dau = !empty($_POST['ngay_bat_dau']) ? $_POST['ngay_bat_dau'] : null;
        $ngay_ket_thuc = !empty($_POST['ngay_ket_thuc']) ? $_POST['ngay_ket_thuc'] : null;
        $so_buoi = max(0, (int)($_POST['so_buoi'] ?? 0));
        $so_luong_hoc_vien = max(0, (int)($_POST['so_luong_hoc_vien'] ?? 0));

        if ($ten_lop !== '' && $tinh_thanh !== '') {
            $ma_lop = $ma_lop !== '' ? $ma_lop : 'LOP-' . strtoupper(substr(str_replace(' ', '', $ten_lop), 0, 5)) . '-' . date('ymdHi');
            try {
                $stmt_insert = $pdo->prepare("INSERT INTO lop_hoc (ma_lop, ten_lop, tinh_thanh, id_to_chuc_quan_ly, ngay_bat_dau, ngay_ket_thuc, so_buoi, so_luong_hoc_vien, trang_thai) VALUES (?, ?, ?, ?, ?, ?, ?, ?, 'dang_mo')");
                $stmt_insert->execute([$ma_lop, $ten_lop, $tinh_thanh, $id_to_chuc, $ngay_bat_dau, $ngay_ket_thuc, $so_buoi, $so_luong_hoc_vien]);
                $thong_bao = "Đã tạo lớp học mới thành công.";
            } catch (PDOException $e) {
                $loi = "Lỗi tạo lớp: " . $e->getMessage();
            }
        } else {
            $loi = "Vui lòng nhập tên lớp và tỉnh/thành.";
        }
    }

    if (isset($_POST['cap_nhat_phan_bo'])) {
        $id_lop = (int)$_POST['id_lop'];
        $id_to_chuc = (isset($_POST['id_to_chuc_quan_ly']) && $_POST['id_to_chuc_quan_ly'] !== '') ? (int)$_POST['id_to_chuc_quan_ly'] : null;
        try {
            $stmt_update_lop = $pdo->prepare("UPDATE lop_hoc SET id_to_chuc_quan_ly = ? WHERE id = ?");
            $stmt_update_lop->execute([$id_to_chuc, $id_lop]);
            $thong_bao = "Đã cập nhật cơ sở liên kết cho lớp học.";
        } catch (PDOException $e) {
            $loi = "Lỗi phân bổ cơ sở: " . $e->getMessage();
        }
    }

    if (isset($_POST['cap_nhat_lop'])) {
        $id_lop = (int)($_POST['edit_id'] ?? 0);
        $ma_lop = trim($_POST['ma_lop'] ?? '');
        $ten_lop = trim($_POST['ten_lop'] ?? '');
        $tinh_thanh = trim($_POST['tinh_thanh'] ?? '');
        $id_to_chuc = (isset($_POST['id_to_chuc_quan_ly']) && $_POST['id_to_chuc_quan_ly'] !== '') ? (int)$_POST['id_to_chuc_quan_ly'] : null;
        $ngay_bat_dau = !empty($_POST['ngay_bat_dau']) ? $_POST['ngay_bat_dau'] : null;
        $ngay_ket_thuc = !empty($_POST['ngay_ket_thuc']) ? $_POST['ngay_ket_thuc'] : null;
        $so_buoi = max(0, (int)($_POST['so_buoi'] ?? 0));
        $so_luong_hoc_vien = max(0, (int)($_POST['so_luong_hoc_vien'] ?? 0));

        if ($id_lop > 0 && $ten_lop !== '' && $tinh_thanh !== '') {
            try {
                $stmt_update = $pdo->prepare("UPDATE lop_hoc SET ma_lop = ?, ten_lop = ?, tinh_thanh = ?, id_to_chuc_quan_ly = ?, ngay_bat_dau = ?, ngay_ket_thuc = ?, so_buoi = ?, so_luong_hoc_vien = ? WHERE id = ?");
                $stmt_update->execute([$ma_lop, $ten_lop, $tinh_thanh, $id_to_chuc, $ngay_bat_dau, $ngay_ket_thuc, $so_buoi, $so_luong_hoc_vien, $id_lop]);
                $thong_bao = "Đã cập nhật lớp học thành công.";
            } catch (PDOException $e) {
                $loi = "Lỗi cập nhật lớp: " . $e->getMessage();
            }
        } else {
            $loi = "Vui lòng nhập đầy đủ thông tin lớp học để cập nhật.";
        }
    }

    if (isset($_POST['xoa_lop'])) {
        $id_lop = (int)($_POST['delete_id'] ?? 0);
        if ($id_lop > 0) {
            try {
                $stmt_delete = $pdo->prepare("DELETE FROM lop_hoc WHERE id = ?");
                $stmt_delete->execute([$id_lop]);
                $thong_bao = "Đã xóa lớp học.";
            } catch (PDOException $e) {
                $loi = "Lỗi xóa lớp: " . $e->getMessage();
            }
        }
    }

    // Xử lý xóa học viên khỏi lớp học
    if (isset($_GET['action']) && $_GET['action'] === 'dang_ky' && isset($_GET['delete_id'])) {
        $id_tien_do = (int)$_GET['delete_id'];
        if ($id_tien_do > 0) {
            try {
                $stmt_delete_hv = $pdo->prepare("DELETE FROM tien_do_hoc_tap WHERE id = ?");
                $stmt_delete_hv->execute([$id_tien_do]);
                $thong_bao = "Đã xóa học viên khỏi lớp học.";
                header("Location: admin-quan-ly-lop.php?action=dang_ky");
                exit;
            } catch (PDOException $e) {
                $loi = "Lỗi xóa học viên: " . $e->getMessage();
            }
        }
    }

    // Xuất danh sách học viên thành file Excel/CSV
    if (isset($_POST['xuat_excel'])) {
        $id_lop_export = (int)($_POST['id_lop_export'] ?? 0);
        
        try {
            if ($id_lop_export > 0) {
                // Lấy thông tin lớp
                $stmt_lop_info = $pdo->prepare("SELECT * FROM lop_hoc WHERE id = ?");
                $stmt_lop_info->execute([$id_lop_export]);
                $lop_info = $stmt_lop_info->fetch(PDO::FETCH_ASSOC);
                
                // Lấy danh sách học viên
                $stmt_export = $pdo->prepare(<<<'SQL'
                    SELECT 
                        COALESCE(yc.ten_khach_hang, tv.ho_ten) AS ten_hoc_vien,
                        COALESCE(yc.so_dien_thoai, tv.dien_thoai) AS dien_thoai,
                        tv.email,
                        tv.tinh_thanh,
                        tv.dia_chi,
                        lh.ma_lop,
                        lh.ten_lop,
                        COALESCE(tvc.ten_to_chuc, tvc.ho_ten) AS ten_co_so,
                        td.phan_tram_hoan_thanh,
                        td.trang_thai_hoc,
                        td.nhan_xet_giao_vien,
                        td.ngay_cap_nhat
                    FROM tien_do_hoc_tap td
                    JOIN thanh_vien tv ON td.id_hoc_vien = tv.id
                    JOIN lop_hoc lh ON td.id_lop = lh.id
                    LEFT JOIN thanh_vien tvc ON lh.id_to_chuc_quan_ly = tvc.id
                    LEFT JOIN yeu_cau_dat_lich yc ON yc.id_lop = lh.id AND yc.id = (
                        SELECT MAX(yc2.id) FROM yeu_cau_dat_lich yc2 
                        WHERE yc2.id_lop = lh.id AND yc2.linh_vuc = 'khoa_hoc' AND yc2.trang_thai IN ('hoan_thanh', 'da_phan_lop')
                    )
                    WHERE td.id_lop = ?
                    ORDER BY tv.ho_ten
                SQL);
                $stmt_export->execute([$id_lop_export]);
                $danh_sach_export = $stmt_export->fetchAll(PDO::FETCH_ASSOC);
                
                // Tạo file CSV
                $filename = 'Danh_sach_hoc_vien_' . ($lop_info['ma_lop'] ?? 'Lop') . '_' . date('d_m_Y_His') . '.csv';
                header('Content-Type: text/csv; charset=utf-8-sig');
                header('Content-Disposition: attachment; filename="' . $filename . '"');
                
                $output = fopen('php://output', 'w');
                
                // BOM cho UTF-8
                fwrite($output, "\xEF\xBB\xBF");
                
                // Header
                fputcsv($output, [
                    'STT',
                    'Họ và tên',
                    'Điện thoại',
                    'Email',
                    'Tỉnh/Thành',
                    'Địa chỉ',
                    'Mã lớp',
                    'Tên lớp',
                    'Cơ sở liên kết',
                    'Tiến độ (%)',
                    'Trạng thái',
                    'Ghi chú giáo viên',
                    'Ngày cập nhật'
                ], ',');
                
                // Data
                $stt = 0;
                foreach ($danh_sach_export as $row) {
                    $stt++;
                    fputcsv($output, [
                        $stt,
                        $row['ten_hoc_vien'] ?? '-',
                        $row['dien_thoai'] ?? '-',
                        $row['email'] ?? '-',
                        $row['tinh_thanh'] ?? '-',
                        $row['dia_chi'] ?? '-',
                        $row['ma_lop'] ?? '-',
                        $row['ten_lop'] ?? '-',
                        $row['ten_co_so'] ?? '-',
                        $row['phan_tram_hoan_thanh'] ?? 0,
                        $row['trang_thai_hoc'] ?? '-',
                        $row['nhan_xet_giao_vien'] ?? '-',
                        $row['ngay_cap_nhat'] ? date('d/m/Y H:i', strtotime($row['ngay_cap_nhat'])) : '-'
                    ], ',');
                }
                
                fclose($output);
                exit;
            } else {
                $loi = "Vui lòng chọn lớp học để xuất.";
            }
        } catch (Exception $e) {
            $loi = "Lỗi xuất file: " . $e->getMessage();
        }
    }
}

$id_lop_xem = isset($_GET['id_lop']) ? (int)$_GET['id_lop'] : 0;
$edit_id = isset($_GET['edit_id']) ? (int)$_GET['edit_id'] : 0;
$view_id = isset($_GET['view_id']) ? (int)$_GET['view_id'] : 0;
$id_lop_filter = isset($_GET['filter_lop']) ? (int)$_GET['filter_lop'] : 0;
$view_lop = isset($_GET['view_lop']) ? 1 : 0;
$edit_lop = null;
$edit_hoc_vien = null;
$view_hoc_vien = null;
$view_lop_info = null;
$action = trim($_GET['action'] ?? '');
$tinh_thanh_loc = isset($_GET['loc_tinh']) ? trim($_GET['loc_tinh']) : '';
$loc_chua_phan_bo = isset($_GET['loc_chua_phan_bo']) ? trim($_GET['loc_chua_phan_bo']) : '';

// Lấy thông tin chi tiết học viên khi view hoặc edit
if ($view_id > 0 && $action === 'dang_ky') {
    $stmt_view = $pdo->prepare(<<<'SQL'
        SELECT 
            td.id AS id_tien_do,
            tv.id AS id_hoc_vien,
            COALESCE(yc.ten_khach_hang, tv.ho_ten) AS ho_ten,
            COALESCE(yc.so_dien_thoai, tv.dien_thoai) AS dien_thoai, 
            tv.email, tv.tinh_thanh, tv.dia_chi,
            lh.id AS id_lop, lh.ma_lop, lh.ten_lop, lh.tinh_thanh AS lop_tinh_thanh,
            td.phan_tram_hoan_thanh, td.trang_thai_hoc, td.nhan_xet_giao_vien,
            COALESCE(tvc.ten_to_chuc, tvc.ho_ten) AS ten_co_so
        FROM tien_do_hoc_tap td
        JOIN thanh_vien tv ON td.id_hoc_vien = tv.id
        JOIN lop_hoc lh ON td.id_lop = lh.id
        LEFT JOIN thanh_vien tvc ON lh.id_to_chuc_quan_ly = tvc.id
        LEFT JOIN yeu_cau_dat_lich yc ON yc.id_lop = lh.id AND yc.id = (
            SELECT MAX(yc2.id) FROM yeu_cau_dat_lich yc2 
            WHERE yc2.id_lop = lh.id AND yc2.linh_vuc = 'khoa_hoc' AND yc2.trang_thai IN ('hoan_thanh', 'da_phan_lop')
        )
        WHERE td.id = ?
SQL);
    $stmt_view->execute([$view_id]);
    $view_hoc_vien = $stmt_view->fetch(PDO::FETCH_ASSOC);
}

if ($edit_id > 0 && $action === 'dang_ky') {
    $stmt_edit_hv = $pdo->prepare(<<<'SQL'
        SELECT 
            td.id AS id_tien_do,
            tv.id AS id_hoc_vien,
            COALESCE(yc.ten_khach_hang, tv.ho_ten) AS ho_ten,
            COALESCE(yc.so_dien_thoai, tv.dien_thoai) AS dien_thoai,
            tv.email, tv.tinh_thanh, tv.dia_chi,
            lh.id AS id_lop, lh.ma_lop, lh.ten_lop, lh.tinh_thanh AS lop_tinh_thanh,
            td.phan_tram_hoan_thanh, td.trang_thai_hoc, td.nhan_xet_giao_vien,
            COALESCE(tvc.ten_to_chuc, tvc.ho_ten) AS ten_co_so
        FROM tien_do_hoc_tap td
        JOIN thanh_vien tv ON td.id_hoc_vien = tv.id
        JOIN lop_hoc lh ON td.id_lop = lh.id
        LEFT JOIN thanh_vien tvc ON lh.id_to_chuc_quan_ly = tvc.id
        LEFT JOIN yeu_cau_dat_lich yc ON yc.id_lop = lh.id AND yc.id = (
            SELECT MAX(yc2.id) FROM yeu_cau_dat_lich yc2 
            WHERE yc2.id_lop = lh.id AND yc2.linh_vuc = 'khoa_hoc' AND yc2.trang_thai IN ('hoan_thanh', 'da_phan_lop')
        )
        WHERE td.id = ?
SQL);
    $stmt_edit_hv->execute([$edit_id]);
    $edit_hoc_vien = $stmt_edit_hv->fetch(PDO::FETCH_ASSOC);
}

// Lấy thông tin chi tiết lớp học khi view_lop được chỉ định
if ($view_lop > 0 && $id_lop_filter > 0 && $action === 'dang_ky') {
    $stmt_view_lop = $pdo->prepare(<<<'SQL'
        SELECT 
            lh.*,
            COALESCE(tvc.ten_to_chuc, tvc.ho_ten) AS ten_co_so,
            COUNT(td.id) AS tong_hoc_vien,
            SUM(CASE WHEN td.trang_thai_hoc = 'hoan_thanh' THEN 1 ELSE 0 END) AS hoc_vien_hoan_thanh,
            ROUND(AVG(td.phan_tram_hoan_thanh), 1) AS tien_do_trung_binh
        FROM lop_hoc lh
        LEFT JOIN thanh_vien tvc ON lh.id_to_chuc_quan_ly = tvc.id
        LEFT JOIN tien_do_hoc_tap td ON td.id_lop = lh.id
        WHERE lh.id = ?
        GROUP BY lh.id
SQL);
    $stmt_view_lop->execute([$id_lop_filter]);
    $view_lop_info = $stmt_view_lop->fetch(PDO::FETCH_ASSOC);
}

try {
    $stmt_to_chuc = $pdo->prepare("SELECT id, ho_ten, ten_to_chuc, tinh_thanh, nganh_nghe_chinh, gioi_thieu_to_chuc FROM thanh_vien WHERE vai_tro = 'to_chuc' ORDER BY COALESCE(ten_to_chuc, ho_ten, '')");
    $stmt_to_chuc->execute();
    $danh_sach_to_chuc = $stmt_to_chuc->fetchAll(PDO::FETCH_ASSOC);

    $danh_sach_dang_ky = [];
    $danh_sach_lop = [];
    $danh_sach_yeu_cau_cho_xu_ly = [];
    $danh_sach_lop_filter = [];

    if ($action === 'cho_xu_ly') {
        $stmt_yc_cho = $pdo->prepare(<<<'SQL'
            SELECT id, ten_khach_hang, email, so_dien_thoai, tinh_thanh, dia_chi, dich_vu_quan_tam, ngay_tao
            FROM yeu_cau_dat_lich
            WHERE linh_vuc = 'khoa_hoc' AND trang_thai IN ('hoan_thanh', 'da_phan_lop')
            ORDER BY ngay_tao DESC
SQL);
        $stmt_yc_cho->execute();
        $danh_sach_yeu_cau_cho_xu_ly = $stmt_yc_cho->fetchAll(PDO::FETCH_ASSOC);
        
        // Load danh sách lớp học để chọn
        $stmt_lop_hoc = $pdo->prepare("SELECT id, ma_lop, ten_lop, tinh_thanh, so_luong_hoc_vien FROM lop_hoc ORDER BY tinh_thanh, ten_lop");
        $stmt_lop_hoc->execute();
        $danh_sach_lop_hoc = $stmt_lop_hoc->fetchAll(PDO::FETCH_ASSOC);
    } elseif ($action === 'dang_ky') {
        // Lấy danh sách lớp học để dropdown filter
        $stmt_lop_filter = $pdo->prepare("SELECT id, ma_lop, ten_lop, tinh_thanh, so_luong_hoc_vien FROM lop_hoc ORDER BY tinh_thanh, ten_lop");
        $stmt_lop_filter->execute();
        $danh_sach_lop_filter = $stmt_lop_filter->fetchAll(PDO::FETCH_ASSOC);
        
        // Lấy danh sách học viên từ tien_do_hoc_tap (đã gán vào lớp thành công)
        $sql_dk = <<<'SQL'
            SELECT 
                td.id AS id_tien_do,
                tv.id AS id_hoc_vien,
                COALESCE(yc.ten_khach_hang, tv.ho_ten) AS ten_hoc_vien,
                COALESCE(yc.so_dien_thoai, tv.dien_thoai) AS dien_thoai,
                lh.id AS id_lop,
                lh.ma_lop,
                lh.ten_lop,
                lh.tinh_thanh,
                lh.ngay_bat_dau,
                lh.ngay_ket_thuc,
                lh.so_buoi,
                lh.so_luong_hoc_vien,
                td.phan_tram_hoan_thanh,
                td.trang_thai_hoc,
                td.nhan_xet_giao_vien,
                COALESCE(tvc.ten_to_chuc, tvc.ho_ten) AS ten_co_so
            FROM tien_do_hoc_tap td
            JOIN thanh_vien tv ON td.id_hoc_vien = tv.id
            JOIN lop_hoc lh ON td.id_lop = lh.id
            LEFT JOIN thanh_vien tvc ON lh.id_to_chuc_quan_ly = tvc.id
            LEFT JOIN yeu_cau_dat_lich yc ON yc.id_lop = lh.id AND yc.id = (
                SELECT MAX(yc2.id) FROM yeu_cau_dat_lich yc2 
                WHERE yc2.id_lop = lh.id AND yc2.linh_vuc = 'khoa_hoc' AND yc2.trang_thai IN ('hoan_thanh', 'da_phan_lop')
            )
SQL;
        
        // Thêm WHERE nếu có filter lớp học
        if ($id_lop_filter > 0) {
            $sql_dk .= " WHERE td.id_lop = ?";
        }
        
        $sql_dk .= " ORDER BY lh.id, tv.ho_ten";
        
        $stmt_dk = $pdo->prepare($sql_dk);
        if ($id_lop_filter > 0) {
            $stmt_dk->execute([$id_lop_filter]);
        } else {
            $stmt_dk->execute();
        }
        $danh_sach_dang_ky = $stmt_dk->fetchAll(PDO::FETCH_ASSOC);
    } else {
        // Lấy thông tin lớp cần chỉnh sửa nếu edit_id được chỉ định
        if ($edit_id > 0) {
            $stmt_edit_lop = $pdo->prepare("SELECT * FROM lop_hoc WHERE id = ?");
            $stmt_edit_lop->execute([$edit_id]);
            $edit_lop = $stmt_edit_lop->fetch(PDO::FETCH_ASSOC);
        }
        
        $sql_lop = "SELECT lh.*, COALESCE(tv.ten_to_chuc, tv.ho_ten) AS ten_to_chuc FROM lop_hoc lh LEFT JOIN thanh_vien tv ON lh.id_to_chuc_quan_ly = tv.id";
        $params = [];
        $where = [];

        if (!empty($tinh_thanh_loc)) {
            $where[] = "lh.tinh_thanh = ?";
            $params[] = $tinh_thanh_loc;
        }
        if ($action === 'phan_bo' && $loc_chua_phan_bo === '1') {
            $where[] = "lh.id_to_chuc_quan_ly IS NULL";
        }
        if (!empty($where)) {
            $sql_lop .= ' WHERE ' . implode(' AND ', $where);
        }
        $sql_lop .= " ORDER BY lh.id DESC";

        $stmt_lop = $pdo->prepare($sql_lop);
        $stmt_lop->execute($params);
        $danh_sach_lop = $stmt_lop->fetchAll(PDO::FETCH_ASSOC);
    }
} catch (PDOException $e) {
    $danh_sach_to_chuc = [];
    $danh_sach_lop = [];
    $danh_sach_dang_ky = [];
}
?>
<!DOCTYPE html>
<html lang="vi">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Quản Lý Lớp Học - PHẠM NGỌC TV</title>
    <style>
        body { font-family: sans-serif; background: #f8fafc; margin: 0; padding: 20px; color: #334155; }
        .admin-container { max-width: 1300px; margin: 0 auto; background: #fff; padding: 30px; border-radius: 12px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); }
        h1 { color: #1e3a8a; margin-top: 0; }
        .subtitle { color: #64748b; margin-bottom: 25px; font-style: italic; }
        .alert { padding: 12px; border-radius: 6px; margin-bottom: 20px; font-weight: bold; }
        .alert-success { background: #dcfce7; color: #166534; }
        .alert-danger { background: #fee2e2; color: #991b1b; }
        .card { background: #f8fafc; border: 1px solid #e2e8f0; padding: 16px; border-radius: 10px; margin-bottom: 20px; }
        .filter-bar, .toolbar { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 20px; align-items: center; }
        select, input[type="number"], input[type="text"] { padding: 8px 12px; border: 1px solid #cbd5e1; border-radius: 6px; outline: none; }
        .btn { padding: 9px 16px; background: #2563eb; color: #fff; border: none; border-radius: 6px; cursor: pointer; text-decoration: none; font-weight: bold; }
        .btn:hover { background: #1d4ed8; }
        .btn-sm { padding: 5px 10px; font-size: 0.85rem; }
        table { width: 100%; border-collapse: collapse; margin-top: 10px; }
        th, td { padding: 12px; border-bottom: 1px solid #e2e8f0; text-align: left; }
        th { background: #f1f5f9; color: #0f172a; }
        .progress-bar-bg { width: 100px; background: #e2e8f0; border-radius: 10px; height: 10px; overflow: hidden; display: inline-block; vertical-align: middle; margin-right: 10px; }
        .progress-bar-fill { height: 100%; background: #22c55e; transition: width 0.3s; }
        .tag-status { padding: 4px 8px; border-radius: 20px; font-size: 0.8rem; font-weight: bold; }
        .status-hoan_thanh { background: #dcfce7; color: #166534; }
        .status-dang_hoc { background: #e0f2fe; color: #0284c7; }
        .status-dang_mo { background: #fef3c7; color: #92400e; }
    </style>
    <link rel="stylesheet" href="includes/admin-style.css">
    <style>
        .action-tabs { display:flex; gap:10px; flex-wrap: wrap; margin-bottom:20px; }
        .action-tabs a { display:inline-flex; align-items:center; gap:6px; padding:10px 16px; border-radius:8px; border:1px solid transparent; text-decoration:none; font-weight:600; font-size:13px; }
        .action-tabs a.active { background:#007bff; color:#fff; border-color:#007bff; }
        .action-tabs a.inactive { background:#fff; color:#1f2937; border-color:#d1d5db; }
        .form-grid { display:grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap:12px; align-items:center; margin-bottom:16px; }
        .filter-bar { display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-bottom:18px; }
        .tag-status { padding: 6px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; display: inline-block; }
        .form-grid input, .form-grid select { width: 100%; }
        .khung-bang .form-grid { margin-bottom: 0; }
        /* Icon action buttons */
        a[title="Xem chi tiết"], a[title="Chỉnh sửa"], a[title="Xóa"] {
            transition: all 0.2s ease;
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        }
        a[title="Xem chi tiết"]:hover, a[title="Chỉnh sửa"]:hover, a[title="Xóa"]:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 8px rgba(0,0,0,0.15);
            opacity: 0.9;
        }
        a[title="Xem chi tiết"]:active, a[title="Chỉnh sửa"]:active, a[title="Xóa"]:active {
            transform: translateY(0);
        }
        /* Modal styles */
        .modal {
            display: none;
            position: fixed;
            z-index: 1000;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0,0,0,0.5);
        }
        .modal.show {
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .modal-content {
            background-color: #fff;
            padding: 24px;
            border-radius: 12px;
            box-shadow: 0 10px 25px rgba(0,0,0,0.2);
            max-width: 500px;
            width: 90%;
            max-height: 80vh;
            overflow-y: auto;
        }
        .modal-header {
            font-size: 18px;
            font-weight: bold;
            margin-bottom: 16px;
            color: #1e3a8a;
            border-bottom: 2px solid #e2e8f0;
            padding-bottom: 12px;
        }
        .modal-body {
            margin-bottom: 16px;
        }
        .modal-body select {
            width: 100%;
            padding: 10px 12px;
            border: 1px solid #cbd5e1;
            border-radius: 6px;
            font-size: 14px;
        }
        .modal-footer {
            display: flex;
            gap: 8px;
            justify-content: flex-end;
        }
        .modal-footer button {
            padding: 10px 16px;
            border: none;
            border-radius: 6px;
            cursor: pointer;
            font-weight: bold;
        }
        .btn-primary {
            background: #10b981;
            color: #fff;
        }
        .btn-primary:hover {
            background: #059669;
        }
        .btn-secondary {
            background: #64748b;
            color: #fff;
        }
        .btn-secondary:hover {
            background: #475569;
        }
        /* Icon button hover effects */
        a[title="Chỉnh sửa lớp học"], a[title="Phân bổ cơ sở liên kết"] {
            transition: all 0.2s ease;
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        }
        a[title="Chỉnh sửa lớp học"]:hover, a[title="Phân bổ cơ sở liên kết"]:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 8px rgba(0,0,0,0.15);
            opacity: 0.9;
        }
        a[title="Chỉnh sửa lớp học"]:active, a[title="Phân bổ cơ sở liên kết"]:active {
            transform: translateY(0);
        }
        /* Delete button in action row */
        button[title="Xóa lớp học"] {
            transition: all 0.2s ease;
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        }
        button[title="Xóa lớp học"]:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 8px rgba(0,0,0,0.15);
            opacity: 0.9;
        }
        button[title="Xóa lớp học"]:active {
            transform: translateY(0);
        }
    </style>
</head>
<body>
<?php require_once 'includes/menu-admin.php'; ?>
<div class="khu-vuc-du-lieu">
    <div class="thanh-tren">🏫 Quản lý Lớp học</div>
    <div class="noi-dung-chinh">
        <h1 style="margin-top:0; font-size:22px;">Bảng Quản Trị Hệ Thống Lớp Học</h1>
        <p class="subtitle">Theo dõi sát sao chất lượng đào tạo và phân bổ lớp học cho các cơ sở đào tạo liên kết.</p>

        <div class="action-tabs">
            <a href="admin-quan-ly-lop.php" class="<?= $action === '' ? 'active' : 'inactive' ?>">Danh sách lớp</a>
            <a href="admin-quan-ly-lop.php?action=cho_xu_ly" class="<?= $action === 'cho_xu_ly' ? 'active' : 'inactive' ?>">Yêu cầu chờ xử lý</a>
            <a href="admin-quan-ly-lop.php?action=dang_ky" class="<?= $action === 'dang_ky' ? 'active' : 'inactive' ?>">Khách hàng đã đăng ký</a>
            <a href="admin-quan-ly-lop.php?action=phan_bo" class="<?= $action === 'phan_bo' ? 'active' : 'inactive' ?>">Phân bổ địa chỉ liên kết</a>
        </div>

        <?php if (!empty($thong_bao)): ?>
            <div class="hop-thong-ke alert-success"><?= htmlspecialchars($thong_bao) ?></div>
        <?php endif; ?>
        <?php if (!empty($loi)): ?>
            <div class="hop-thong-ke alert-danger"><?= htmlspecialchars($loi) ?></div>
        <?php endif; ?>
        <?php if (!empty($loi_schema)): ?>
            <div class="hop-thong-ke alert-danger"><?= htmlspecialchars($loi_schema) ?></div>
        <?php endif; ?>

    <?php if ($action === ''): ?>
    <div class="card">
        <h3 style="margin-top:0;">Tạo lớp học mới</h3>
        <form action="admin-quan-ly-lop.php" method="POST" class="toolbar">
            <?php if ($edit_lop): ?>
                <input type="hidden" name="edit_id" value="<?= (int)$edit_lop['id'] ?>">
            <?php endif; ?>
            <input type="text" name="ma_lop" placeholder="Mã lớp (tùy chọn)" value="<?= htmlspecialchars($edit_lop['ma_lop'] ?? '') ?>" style="min-width: 170px;">
            <input type="text" name="ten_lop" placeholder="Tên lớp học" required value="<?= htmlspecialchars($edit_lop['ten_lop'] ?? '') ?>" style="min-width: 220px;">
            <input type="text" id="tinh_thanh_lop" name="tinh_thanh" placeholder="Tỉnh/Thành" required value="<?= htmlspecialchars($edit_lop['tinh_thanh'] ?? '') ?>" style="min-width: 160px;">
            <input type="date" name="ngay_bat_dau" placeholder="Ngày bắt đầu" value="<?= htmlspecialchars($edit_lop['ngay_bat_dau'] ?? '') ?>" style="min-width: 160px;">
            <input type="date" name="ngay_ket_thuc" placeholder="Ngày kết thúc" value="<?= htmlspecialchars($edit_lop['ngay_ket_thuc'] ?? '') ?>" style="min-width: 160px;">
            <input type="number" name="so_buoi" min="0" placeholder="Số buổi" value="<?= htmlspecialchars($edit_lop['so_buoi'] ?? '') ?>" style="min-width: 120px;">
            <input type="number" name="so_luong_hoc_vien" min="0" placeholder="Số lượng học viên" value="<?= htmlspecialchars($edit_lop['so_luong_hoc_vien'] ?? '') ?>" style="min-width: 160px;">
            <select name="id_to_chuc_quan_ly" id="id_to_chuc_quan_ly">
                <option value="">-- Chọn cơ sở liên kết --</option>
                <?php foreach ($danh_sach_to_chuc as $to_chuc): ?>
                    <option value="<?= (int)$to_chuc['id'] ?>" data-tinh="<?= htmlspecialchars(mb_strtolower($to_chuc['tinh_thanh'] ?? '', 'UTF-8')) ?>" <?= ($edit_lop && (int)$edit_lop['id_to_chuc_quan_ly'] === (int)$to_chuc['id']) ? 'selected' : '' ?>><?= htmlspecialchars(!empty($to_chuc['ten_to_chuc']) ? $to_chuc['ten_to_chuc'] : $to_chuc['ho_ten']) ?> | <?= htmlspecialchars($to_chuc['tinh_thanh'] ?? 'Chưa cập nhật vị trí') ?> | <?= htmlspecialchars(!empty($to_chuc['nganh_nghe_chinh']) ? $to_chuc['nganh_nghe_chinh'] : 'Chưa cập nhật chuyên môn') ?></option>
                <?php endforeach; ?>
            </select>
            <button type="submit" name="<?= $edit_lop ? 'cap_nhat_lop' : 'tao_lop' ?>" class="btn"><?= $edit_lop ? 'Cập nhật lớp' : 'Tạo lớp' ?></button>
            <?php if ($edit_lop): ?>
                <a href="admin-quan-ly-lop.php" class="btn" style="background:#64748b;">Hủy</a>
            <?php endif; ?>
        </form>
    </div>
    <?php endif; ?>

    <?php if ($id_lop_xem === 0): ?>
        <?php if ($action === 'cho_xu_ly'): ?>
            <div class="khung-bang">
                <div class="khung-bang-header">
                    <h3>Danh sách yêu cầu đăng ký chờ xử lý</h3>
                </div>
                <div class="bang-cuon">
                    <table class="bang-du-lieu">
                        <thead>
                            <tr>
                                <th>Họ Tên</th>
                                <th>Email</th>
                                <th>Điện thoại</th>
                                <th>Tỉnh/Thành</th>
                                <th>Địa chỉ</th>
                                <th>Dịch vụ quan tâm</th>
                                <th>Mã khóa học / Lớp học</th>
                                <th>Ngày đăng ký</th>
                                <th>Hành động</th>
                            </tr>
                        </thead>
                        <tbody>
                            <?php if (count($danh_sach_yeu_cau_cho_xu_ly) > 0): ?>
                                <?php foreach ($danh_sach_yeu_cau_cho_xu_ly as $yc): ?>
                                    <tr>
                                        <td><strong><?= htmlspecialchars($yc['ten_khach_hang']) ?></strong></td>
                                        <td><?= htmlspecialchars($yc['email'] ?? '-') ?></td>
                                        <td><?= htmlspecialchars($yc['so_dien_thoai']) ?></td>
                                        <td><?= htmlspecialchars($yc['tinh_thanh'] ?? '-') ?></td>
                                        <td><?= htmlspecialchars($yc['dia_chi'] ?? '-') ?></td>
                                        <td><?= htmlspecialchars($yc['dich_vu_quan_tam']) ?></td>
                                        <td>
                                            <form action="admin-quan-ly-lop.php" method="POST" style="display:flex;gap:6px;align-items:center;">
                                                <input type="hidden" name="id_yeu_cau" value="<?= (int)$yc['id'] ?>">
                                                <select name="id_lop" required style="padding:6px;border:1px solid #cbd5e1;border-radius:4px;font-size:12px;flex:1;min-width:200px;">
                                                    <option value="">-- Chọn lớp học --</option>
                                                    <?php foreach ($danh_sach_lop_hoc as $lop): ?>
                                                        <option value="<?= (int)$lop['id'] ?>">📚 <?= htmlspecialchars($lop['ma_lop']) ?> - <?= htmlspecialchars($lop['ten_lop']) ?> (<?= htmlspecialchars($lop['tinh_thanh']) ?>)</option>
                                                    <?php endforeach; ?>
                                                </select>
                                                <button type="submit" name="gan_lop" class="nut-hanh-dong" style="background:#10b981;white-space:nowrap;">Gán lớp</button>
                                            </form>
                                        </td>
                                        <td><?= date('d/m/Y H:i', strtotime($yc['ngay_tao'])) ?></td>
                                        <td style="text-align:center;">-</td>
                                    </tr>
                                <?php endforeach; ?>
                            <?php else: ?>
                                <tr><td colspan="9" style="text-align:center; padding: 30px; color: #94a3b8;">Không có yêu cầu chờ xử lý.</td></tr>
                            <?php endif; ?>
                        </tbody>
                    </table>
                </div>
            </div>
        <?php elseif ($action === 'dang_ky'): ?>
            <?php if ($view_lop > 0 && $view_lop_info): ?>
            <div class="card" style="background:#ecfdf5; border:2px solid #10b981; margin-bottom:20px;">
                <h3 style="margin-top:0; color:#10b981;">📖 Chi tiết khóa học</h3>
                <div style="display:grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap:16px; margin-bottom:16px;">
                    <div>
                        <label style="display:block; font-weight:bold; margin-bottom:4px;">Mã khóa học:</label>
                        <p style="margin:0; padding:8px; background:#fff; border:1px solid #cbd5e1; border-radius:4px;"><?= htmlspecialchars($view_lop_info['ma_lop']) ?></p>
                    </div>
                    <div>
                        <label style="display:block; font-weight:bold; margin-bottom:4px;">Tên khóa học:</label>
                        <p style="margin:0; padding:8px; background:#fff; border:1px solid #cbd5e1; border-radius:4px;"><?= htmlspecialchars($view_lop_info['ten_lop']) ?></p>
                    </div>
                    <div>
                        <label style="display:block; font-weight:bold; margin-bottom:4px;">Tỉnh/Thành:</label>
                        <p style="margin:0; padding:8px; background:#fff; border:1px solid #cbd5e1; border-radius:4px;"><?= htmlspecialchars($view_lop_info['tinh_thanh']) ?></p>
                    </div>
                    <div>
                        <label style="display:block; font-weight:bold; margin-bottom:4px;">Ngày bắt đầu:</label>
                        <p style="margin:0; padding:8px; background:#fff; border:1px solid #cbd5e1; border-radius:4px;"><?= !empty($view_lop_info['ngay_bat_dau']) ? date('d/m/Y', strtotime($view_lop_info['ngay_bat_dau'])) : '-' ?></p>
                    </div>
                    <div>
                        <label style="display:block; font-weight:bold; margin-bottom:4px;">Ngày kết thúc:</label>
                        <p style="margin:0; padding:8px; background:#fff; border:1px solid #cbd5e1; border-radius:4px;"><?= !empty($view_lop_info['ngay_ket_thuc']) ? date('d/m/Y', strtotime($view_lop_info['ngay_ket_thuc'])) : '-' ?></p>
                    </div>
                    <div>
                        <label style="display:block; font-weight:bold; margin-bottom:4px;">Số buổi:</label>
                        <p style="margin:0; padding:8px; background:#fff; border:1px solid #cbd5e1; border-radius:4px;"><?= (int)$view_lop_info['so_buoi'] ?> buổi</p>
                    </div>
                    <div>
                        <label style="display:block; font-weight:bold; margin-bottom:4px;">Cơ sở liên kết:</label>
                        <p style="margin:0; padding:8px; background:#fff; border:1px solid #cbd5e1; border-radius:4px;"><?= htmlspecialchars($view_lop_info['ten_co_so'] ?? 'Chưa phân bổ') ?></p>
                    </div>
                    <div>
                        <label style="display:block; font-weight:bold; margin-bottom:4px;">Trạng thái:</label>
                        <p style="margin:0; padding:8px; background:#fff; border:1px solid #cbd5e1; border-radius:4px;"><span class="tag-status status-<?= htmlspecialchars($view_lop_info['trang_thai']) ?>"><?= htmlspecialchars($view_lop_info['trang_thai']) ?></span></p>
                    </div>
                </div>
                <div style="display:grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap:16px; margin-bottom:16px;">
                    <div style="background:#fff; padding:16px; border-radius:8px; border:1px solid #cbd5e1;">
                        <p style="margin:0; font-size:12px; color:#64748b;">👥 Tổng học viên</p>
                        <p style="margin:8px 0 0 0; font-size:24px; font-weight:bold; color:#10b981;"><?= (int)($view_lop_info['tong_hoc_vien'] ?? 0) ?></p>
                    </div>
                    <div style="background:#fff; padding:16px; border-radius:8px; border:1px solid #cbd5e1;">
                        <p style="margin:0; font-size:12px; color:#64748b;">✅ Đã hoàn thành</p>
                        <p style="margin:8px 0 0 0; font-size:24px; font-weight:bold; color:#0284c7;"><?= (int)($view_lop_info['hoc_vien_hoan_thanh'] ?? 0) ?></p>
                    </div>
                    <div style="background:#fff; padding:16px; border-radius:8px; border:1px solid #cbd5e1;">
                        <p style="margin:0; font-size:12px; color:#64748b;">📊 Tiến độ trung bình</p>
                        <p style="margin:8px 0 0 0; font-size:24px; font-weight:bold; color:#f59e0b;"><?= round($view_lop_info['tien_do_trung_binh'] ?? 0, 1) ?>%</p>
                    </div>
                </div>
                <div style="display:flex; gap:8px;">
                    <a href="admin-quan-ly-lop.php?action=dang_ky&filter_lop=<?= (int)$id_lop_filter ?>" class="btn" style="background:#64748b; text-decoration:none;">← Ẩn chi tiết</a>
                </div>
            </div>
            <?php endif; ?>

            <?php if ($view_hoc_vien): ?>
            <div class="card" style="background:#f0f9ff; border:2px solid #0284c7; margin-bottom:20px;">
                <h3 style="margin-top:0; color:#0284c7;">👁️ Xem chi tiết học viên</h3>
                <div style="display:grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap:16px; margin-bottom:16px;">
                    <div>
                        <label style="display:block; font-weight:bold; margin-bottom:4px;">Họ và tên:</label>
                        <p style="margin:0; padding:8px; background:#fff; border:1px solid #cbd5e1; border-radius:4px;"><?= htmlspecialchars($view_hoc_vien['ho_ten']) ?></p>
                    </div>
                    <div>
                        <label style="display:block; font-weight:bold; margin-bottom:4px;">Điện thoại:</label>
                        <p style="margin:0; padding:8px; background:#fff; border:1px solid #cbd5e1; border-radius:4px;"><?= htmlspecialchars($view_hoc_vien['dien_thoai']) ?></p>
                    </div>
                    <div>
                        <label style="display:block; font-weight:bold; margin-bottom:4px;">Email:</label>
                        <p style="margin:0; padding:8px; background:#fff; border:1px solid #cbd5e1; border-radius:4px;"><?= htmlspecialchars($view_hoc_vien['email'] ?? '-') ?></p>
                    </div>
                    <div>
                        <label style="display:block; font-weight:bold; margin-bottom:4px;">Tỉnh/Thành:</label>
                        <p style="margin:0; padding:8px; background:#fff; border:1px solid #cbd5e1; border-radius:4px;"><?= htmlspecialchars($view_hoc_vien['tinh_thanh'] ?? '-') ?></p>
                    </div>
                    <div>
                        <label style="display:block; font-weight:bold; margin-bottom:4px;">Địa chỉ:</label>
                        <p style="margin:0; padding:8px; background:#fff; border:1px solid #cbd5e1; border-radius:4px;"><?= htmlspecialchars($view_hoc_vien['dia_chi'] ?? '-') ?></p>
                    </div>
                    <div>
                        <label style="display:block; font-weight:bold; margin-bottom:4px;">Tên lớp học:</label>
                        <p style="margin:0; padding:8px; background:#fff; border:1px solid #cbd5e1; border-radius:4px;"><?= htmlspecialchars($view_hoc_vien['ma_lop'] . ' - ' . $view_hoc_vien['ten_lop']) ?></p>
                    </div>
                    <div>
                        <label style="display:block; font-weight:bold; margin-bottom:4px;">Tỉnh/Thành lớp:</label>
                        <p style="margin:0; padding:8px; background:#fff; border:1px solid #cbd5e1; border-radius:4px;"><?= htmlspecialchars($view_hoc_vien['lop_tinh_thanh']) ?></p>
                    </div>
                    <div>
                        <label style="display:block; font-weight:bold; margin-bottom:4px;">Cơ sở liên kết:</label>
                        <p style="margin:0; padding:8px; background:#fff; border:1px solid #cbd5e1; border-radius:4px;"><?= htmlspecialchars($view_hoc_vien['ten_co_so'] ?? 'Chưa phân bổ') ?></p>
                    </div>
                    <div>
                        <label style="display:block; font-weight:bold; margin-bottom:4px;">Tiến độ:</label>
                        <p style="margin:0; padding:8px; background:#fff; border:1px solid #cbd5e1; border-radius:4px;"><?= (int)$view_hoc_vien['phan_tram_hoan_thanh'] ?>%</p>
                    </div>
                    <div>
                        <label style="display:block; font-weight:bold; margin-bottom:4px;">Trạng thái:</label>
                        <p style="margin:0; padding:8px; background:#fff; border:1px solid #cbd5e1; border-radius:4px;"><span class="tag-status status-<?= htmlspecialchars($view_hoc_vien['trang_thai_hoc']) ?>"><?= htmlspecialchars($view_hoc_vien['trang_thai_hoc']) ?></span></p>
                    </div>
                </div>
                <div>
                    <label style="display:block; font-weight:bold; margin-bottom:4px;">Ghi chú giáo viên:</label>
                    <p style="margin:0; padding:8px; background:#fff; border:1px solid #cbd5e1; border-radius:4px; min-height:60px;"><?= nl2br(htmlspecialchars($view_hoc_vien['nhan_xet_giao_vien'] ?? '-')) ?></p>
                </div>
                <div style="margin-top:16px; display:flex; gap:8px;">
                    <a href="admin-quan-ly-lop.php?action=dang_ky" class="btn" style="background:#64748b;">← Quay lại</a>
                </div>
            </div>
            <?php endif; ?>

            <?php if ($edit_hoc_vien): ?>
            <div class="card" style="background:#fef3c7; border:2px solid #f59e0b; margin-bottom:20px;">
                <h3 style="margin-top:0; color:#f59e0b;">✏️ Chỉnh sửa tiến độ học viên</h3>
                <form action="admin-quan-ly-lop.php" method="POST" style="display:grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap:12px;">
                    <input type="hidden" name="id_tien_do" value="<?= (int)$edit_hoc_vien['id_tien_do'] ?>">
                    <div>
                        <label style="display:block; font-weight:bold; margin-bottom:4px;">Họ và tên:</label>
                        <input type="text" value="<?= htmlspecialchars($edit_hoc_vien['ho_ten']) ?>" disabled style="width:100%; padding:8px; border:1px solid #cbd5e1; border-radius:4px; background:#f5f5f5;">
                    </div>
                    <div>
                        <label style="display:block; font-weight:bold; margin-bottom:4px;">Tên lớp:</label>
                        <input type="text" value="<?= htmlspecialchars($edit_hoc_vien['ten_lop']) ?>" disabled style="width:100%; padding:8px; border:1px solid #cbd5e1; border-radius:4px; background:#f5f5f5;">
                    </div>
                    <div>
                        <label style="display:block; font-weight:bold; margin-bottom:4px;">Tiến độ (%):</label>
                        <input type="number" name="phan_tram_hoan_thanh" min="0" max="100" value="<?= (int)$edit_hoc_vien['phan_tram_hoan_thanh'] ?>" required style="width:100%; padding:8px; border:1px solid #cbd5e1; border-radius:4px;">
                    </div>
                    <div>
                        <label style="display:block; font-weight:bold; margin-bottom:4px;">Trạng thái:</label>
                        <select name="trang_thai_hoc" style="width:100%; padding:8px; border:1px solid #cbd5e1; border-radius:4px;">
                            <option value="dang_hoc" <?= $edit_hoc_vien['trang_thai_hoc'] === 'dang_hoc' ? 'selected' : '' ?>>Đang học</option>
                            <option value="hoan_thanh" <?= $edit_hoc_vien['trang_thai_hoc'] === 'hoan_thanh' ? 'selected' : '' ?>>Hoàn thành</option>
                            <option value="dang_mo" <?= $edit_hoc_vien['trang_thai_hoc'] === 'dang_mo' ? 'selected' : '' ?>>Dạng mở</option>
                        </select>
                    </div>
                    <div style="grid-column: 1 / -1;">
                        <label style="display:block; font-weight:bold; margin-bottom:4px;">Ghi chú giáo viên:</label>
                        <textarea name="nhan_xet" rows="3" style="width:100%; padding:8px; border:1px solid #cbd5e1; border-radius:4px;"><?= htmlspecialchars($edit_hoc_vien['nhan_xet_giao_vien'] ?? '') ?></textarea>
                    </div>
                    <div style="grid-column: 1 / -1; display:flex; gap:8px;">
                        <button type="submit" name="cap_nhat_tien_do" class="btn" style="background:#f59e0b;">💾 Lưu thay đổi</button>
                        <a href="admin-quan-ly-lop.php?action=dang_ky" class="btn" style="background:#64748b;">← Hủy</a>
                    </div>
                </form>
            </div>
            <?php endif; ?>

            <div class="khung-bang">
                <div class="khung-bang-header">
                    <h3>Danh sách khách hàng đã đăng ký các lớp học</h3>
                </div>
                <div class="filter-bar" style="margin-bottom:16px; display:flex; gap:12px; flex-wrap:wrap; align-items:center; padding:12px; background:#f8fafc; border-radius:8px;">
                    <form action="admin-quan-ly-lop.php" method="GET" style="display:flex; gap:10px; flex-wrap:wrap; align-items:center;">
                        <input type="hidden" name="action" value="dang_ky">
                        <select name="filter_lop" style="padding:8px 12px; border:1px solid #cbd5e1; border-radius:6px; min-width:250px;" onchange="this.form.submit();">
                            <option value="">-- Chọn khóa học để lọc --</option>
                            <?php foreach ($danh_sach_lop_filter as $lop): ?>
                                <option value="<?= (int)$lop['id'] ?>" <?= ($id_lop_filter == (int)$lop['id']) ? 'selected' : '' ?>>
                                    📚 <?= htmlspecialchars($lop['ma_lop']) ?> - <?= htmlspecialchars($lop['ten_lop']) ?> (<?= htmlspecialchars($lop['tinh_thanh']) ?>) - <?= (int)$lop['so_luong_hoc_vien'] ?> học viên
                                </option>
                            <?php endforeach; ?>
                        </select>
                    </form>
                    
                    <?php if ($id_lop_filter > 0): ?>
                        <form action="admin-quan-ly-lop.php" method="POST" style="display:flex; gap:8px; align-items:center;">
                            <input type="hidden" name="id_lop_export" value="<?= (int)$id_lop_filter ?>">
                            <button type="submit" name="xuat_excel" class="btn" style="background:#10b981; white-space:nowrap;">📥 Xuất Excel</button>
                            <a href="admin-quan-ly-lop.php?action=dang_ky&filter_lop=<?= (int)$id_lop_filter ?>&view_lop=1" class="btn" style="background:#06b6d4; white-space:nowrap; text-decoration:none;">📖 Xem chi tiết khóa</a>
                            <a href="admin-quan-ly-lop.php?action=dang_ky" class="btn" style="background:#64748b; white-space:nowrap; text-decoration:none;">✕ Xóa lọc</a>
                        </form>
                    <?php endif; ?>
                </div>
                <div class="bang-cuon">
                    <table class="bang-du-lieu">
                        <thead>
                            <tr>
                                <th style="width: 50px;">STT</th>
                                <th>Họ và tên</th>
                                <th>Điện thoại</th>
                                <th>Tên lớp học</th>
                                <th>Tỉnh/Thành</th>
                                <th>Cơ sở liên kết học tập</th>
                                <th>Tiến độ</th>
                                <th style="width: 120px;">Thao tác</th>
                            </tr>
                        </thead>
                        <tbody>
                            <?php if (count($danh_sach_dang_ky) > 0): ?>
                                <?php $stt = 0; foreach ($danh_sach_dang_ky as $dk): $stt++; ?>
                                    <tr>
                                        <td><strong><?= $stt ?></strong></td>
                                        <td><strong><?= htmlspecialchars($dk['ten_hoc_vien']) ?></strong></td>
                                        <td><?= htmlspecialchars($dk['dien_thoai'] ?? $dk['so_dien_thoai'] ?? '-') ?></td>
                                        <td><?= htmlspecialchars($dk['ten_lop'] ?? '-') ?></td>
                                        <td><?= htmlspecialchars($dk['tinh_thanh'] ?? '-') ?></td>
                                        <td><?= htmlspecialchars($dk['ten_co_so'] ?? 'Chưa phân bổ') ?></td>
                                        <td>
                                            <div style="display:flex; align-items:center; gap:8px;">
                                                <div class="progress-bar-bg" style="flex:1; min-width:100px;">
                                                    <div class="progress-bar-fill" style="width: <?= (int)$dk['phan_tram_hoan_thanh'] ?>%;"></div>
                                                </div>
                                                <span style="min-width:40px; font-weight:bold;"><?= (int)$dk['phan_tram_hoan_thanh'] ?>%</span>
                                            </div>
                                        </td>
                                        <td style="text-align:center;">
                                            <div style="display:flex; gap:8px; align-items:center; justify-content:center;">
                                                <a href="admin-quan-ly-lop.php?action=dang_ky&view_id=<?= (int)$dk['id_tien_do'] ?>" title="Xem chi tiết" style="background:#0284c7; color:#fff; border:none; padding:7px 8px; border-radius:5px; cursor:pointer; font-size:16px; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; transition:all 0.2s;">👁️</a>
                                                <a href="admin-quan-ly-lop.php?action=dang_ky&edit_id=<?= (int)$dk['id_tien_do'] ?>" title="Chỉnh sửa" style="background:#f59e0b; color:#fff; border:none; padding:7px 8px; border-radius:5px; cursor:pointer; font-size:16px; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; transition:all 0.2s;">✏️</a>
                                                <a href="admin-quan-ly-lop.php?action=dang_ky&delete_id=<?= (int)$dk['id_tien_do'] ?>" title="Xóa" style="background:#dc2626; color:#fff; border:none; padding:7px 8px; border-radius:5px; cursor:pointer; font-size:16px; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; transition:all 0.2s;" onclick="return confirm('Xóa học viên này khỏi lớp?');">🗑️</a>
                                            </div>
                                        </td>
                                    </tr>
                                <?php endforeach; ?>
                            <?php else: ?>
                                <tr><td colspan="8" style="text-align:center; padding: 30px; color: #94a3b8;">Chưa có khách hàng đăng ký lớp học.</td></tr>
                            <?php endif; ?>
                        </tbody>
                    </table>
                </div>
            </div>
        <?php elseif ($action === 'phan_bo'): ?>
            <div class="khung-bang">
                <div class="khung-bang-header">
                    <h3>Phân bổ địa chỉ liên kết cho lớp học</h3>
                </div>
                <div class="filter-bar">
                    <form action="admin-quan-ly-lop.php" method="GET" style="display:flex; gap:10px; flex-wrap:wrap; align-items:center;">
                        <input type="hidden" name="action" value="phan_bo">
                        <select name="loc_tinh">
                            <option value="">Tất cả Tỉnh/Thành</option>
                            <option value="Hà Nội" <?= ($tinh_thanh_loc == 'Hà Nội') ? 'selected' : '' ?>>Hà Nội</option>
                            <option value="Hồ Chí Minh" <?= ($tinh_thanh_loc == 'Hồ Chí Minh') ? 'selected' : '' ?>>Hồ Chí Minh</option>
                            <option value="Đà Nẵng" <?= ($tinh_thanh_loc == 'Đà Nẵng') ? 'selected' : '' ?>>Đà Nẵng</option>
                        </select>
                        <label style="display:inline-flex; align-items:center; gap:8px; white-space:nowrap;">
                            <input type="checkbox" name="loc_chua_phan_bo" value="1" <?= $loc_chua_phan_bo === '1' ? 'checked' : '' ?>> Chỉ lớp chưa phân bổ
                        </label>
                        <button type="submit" class="nut-hanh-dong">Lọc</button>
                    </form>
                </div>
                <div class="bang-cuon">
                    <table class="bang-du-lieu">
                        <thead>
                            <tr>
                                <th>Mã lớp</th>
                                <th>Tên lớp</th>
                                <th>Tỉnh/Thành</th>
                                <th>Ngày bắt đầu</th>
                                <th>Số buổi</th>
                                <th>Số học viên</th>
                                <th>Trạng thái</th>
                                <th>Cơ sở liên kết</th>
                                <th>Hành động</th>
                            </tr>
                        </thead>
                        <tbody>
                            <?php if (count($danh_sach_lop) > 0): ?>
                                <?php foreach ($danh_sach_lop as $lop): ?>
                                    <tr>
                                        <td><strong><?= htmlspecialchars($lop['ma_lop']) ?></strong></td>
                                        <td><?= htmlspecialchars($lop['ten_lop']) ?></td>
                                        <td><?= htmlspecialchars($lop['tinh_thanh']) ?></td>
                                        <td><?= htmlspecialchars($lop['ngay_bat_dau'] ?? '-') ?></td>
                                        <td><?= (int)($lop['so_buoi'] ?? 0) ?></td>
                                        <td><?= (int)($lop['so_luong_hoc_vien'] ?? 0) ?></td>
                                        <td><span class="tag-status status-<?= htmlspecialchars($lop['trang_thai']) ?>"><?= htmlspecialchars($lop['trang_thai']) ?></span></td>
                                        <td><?= htmlspecialchars($lop['ten_to_chuc'] ?? 'Chưa phân bổ') ?></td>
                                        <td style="text-align:center;">
                                            <div style="display:flex; gap:8px; align-items:center; justify-content:center;">
                                                <a href="?edit_id=<?= (int)$lop['id'] ?>" title="Chỉnh sửa lớp học" style="background:#f59e0b; color:#fff; border:none; padding:7px 8px; border-radius:5px; cursor:pointer; font-size:16px; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; transition:all 0.2s;">✏️</a>
                                                <a href="javascript:void(0)" onclick="openPhanBoModal(<?= (int)$lop['id'] ?>, this)" title="Phân bổ cơ sở liên kết" style="background:#10b981; color:#fff; border:none; padding:7px 8px; border-radius:5px; cursor:pointer; font-size:16px; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; transition:all 0.2s;">🏢</a>
                                                <form action="admin-quan-ly-lop.php" method="POST" style="display:inline-block; margin:0;">
                                                    <input type="hidden" name="delete_id" value="<?= (int)$lop['id'] ?>">
                                                    <button type="submit" name="xoa_lop" title="Xóa lớp học" style="background:#dc2626; color:#fff; border:none; padding:7px 8px; border-radius:5px; cursor:pointer; font-size:16px; width:32px; height:32px; display:inline-flex; align-items:center; justify-content:center; transition:all 0.2s;" onclick="return confirm('Bạn có chắc chắn muốn xóa lớp này?');">🗑️</button>
                                                </form>
                                            </div>
                                        </td>
                                    </tr>
                                <?php endforeach; ?>
                            <?php else: ?>
                                <tr><td colspan="6" style="text-align:center; padding: 30px; color: #94a3b8;">Không tìm thấy lớp phù hợp.</td></tr>
                            <?php endif; ?>
                        </tbody>
                    </table>
                </div>
            </div>
        <?php else: ?>
            <div class="khung-bang">
                <div class="khung-bang-header">
                    <h3>Danh sách lớp học</h3>
                </div>
                <div class="filter-bar">
                    <form action="admin-quan-ly-lop.php" method="GET" style="display:flex; gap:10px; flex-wrap:wrap; align-items:center;">
                        <select name="loc_tinh">
                            <option value="">Tất cả Tỉnh/Thành</option>
                            <option value="Hà Nội" <?= ($tinh_thanh_loc == 'Hà Nội') ? 'selected' : '' ?>>Hà Nội</option>
                            <option value="Hồ Chí Minh" <?= ($tinh_thanh_loc == 'Hồ Chí Minh') ? 'selected' : '' ?>>Hồ Chí Minh</option>
                            <option value="Đà Nẵng" <?= ($tinh_thanh_loc == 'Đà Nẵng') ? 'selected' : '' ?>>Đà Nẵng</option>
                        </select>
                        <button type="submit" class="nut-hanh-dong">Lọc</button>
                    </form>
                </div>
                <div class="bang-cuon">
                    <table class="bang-du-lieu">
                        <thead>
                            <tr>
                                <th>Mã lớp</th>
                                <th>Tên lớp</th>
                                <th>Tỉnh Thành</th>
                                <th>Ngày bắt đầu</th>
                                <th>Số buổi</th>
                                <th>Số học viên</th>
                                <th>Cơ Sở Liên Kết</th>
                                <th>Trạng Thái</th>
                                <th>Hành động</th>
                            </tr>
                        </thead>
                        <tbody>
                            <?php if (count($danh_sach_lop) > 0): ?>
                                <?php foreach ($danh_sach_lop as $lop): ?>
                                    <tr>
                                        <td><strong><?= htmlspecialchars($lop['ma_lop']) ?></strong></td>
                                        <td><?= htmlspecialchars($lop['ten_lop']) ?></td>
                                        <td><?= htmlspecialchars($lop['tinh_thanh']) ?></td>
                                        <td><?= htmlspecialchars($lop['ngay_bat_dau'] ?? '-') ?></td>
                                        <td><?= (int)($lop['so_buoi'] ?? 0) ?></td>
                                        <td><?= (int)($lop['so_luong_hoc_vien'] ?? 0) ?></td>
                                        <td><?= htmlspecialchars($lop['ten_to_chuc'] ?? 'Chưa phân bổ') ?></td>
                                        <td><span class="tag-status status-<?= htmlspecialchars($lop['trang_thai']) ?>"><?= htmlspecialchars($lop['trang_thai']) ?></span></td>
                                        <td>
                                            <a href="?id_lop=<?= (int)$lop['id'] ?>" class="nut-hanh-dong">Xem</a>
                                            <a href="?edit_id=<?= (int)$lop['id'] ?>" class="nut-hanh-dong" style="background:#059669;">Sửa</a>
                                            <form action="admin-quan-ly-lop.php" method="POST" style="display:inline-block; margin:0;">
                                                <input type="hidden" name="delete_id" value="<?= (int)$lop['id'] ?>">
                                                <button type="submit" name="xoa_lop" class="nut-hanh-dong" style="background:#dc2626;">Xóa</button>
                                            </form>
                                        </td>
                                    </tr>
                                <?php endforeach; ?>
                            <?php else: ?>
                                <tr><td colspan="6" style="text-align:center; padding: 30px; color: #94a3b8;">Chưa có lớp học phù hợp.</td></tr>
                            <?php endif; ?>
                        </tbody>
                    </table>
                </div>
            </div>
        <?php endif; ?>
    <?php else: ?>
        <div style="margin-bottom: 20px;">
            <a href="admin-quan-ly-lop.php" class="btn btn-sm" style="background:#64748b;">&larr; Quay lại danh sách lớp</a>
        </div>

        <?php
        try {
            $stmt_chi_tiet_lop = $pdo->prepare("SELECT ma_lop, ten_lop, tinh_thanh, trang_thai FROM lop_hoc WHERE id = ?");
            $stmt_chi_tiet_lop->execute([$id_lop_xem]);
            $info_lop = $stmt_chi_tiet_lop->fetch();

            if ($info_lop) {
                echo "<h2>Chi tiết lớp: " . htmlspecialchars($info_lop['ten_lop']) . " (" . htmlspecialchars($info_lop['tinh_thanh']) . ")</h2>";
                echo "<p><strong>Mã lớp:</strong> " . htmlspecialchars($info_lop['ma_lop']) . " &nbsp; | &nbsp; <strong>Trạng thái:</strong> " . htmlspecialchars($info_lop['trang_thai']) . "</p>";
            }

            $stmt_tien_do = $pdo->prepare(<<<SQL
                SELECT td.id as id_tien_do, tv.ho_ten, tv.dien_thoai, td.phan_tram_hoan_thanh, td.trang_thai_hoc, td.nhan_xet_giao_vien
                FROM tien_do_hoc_tap td
                JOIN thanh_vien tv ON td.id_hoc_vien = tv.id
                WHERE td.id_lop = ?
                ORDER BY td.phan_tram_hoan_thanh DESC
SQL);
            $stmt_tien_do->execute([$id_lop_xem]);
            $danh_sach_hoc_vien = $stmt_tien_do->fetchAll(PDO::FETCH_ASSOC);
        } catch (PDOException $e) {
            die("Lỗi truy xuất: " . $e->getMessage());
        }
        ?>

        <table>
            <thead>
                <tr>
                    <th>Họ Tên Học Viên</th>
                    <th>Tiến Độ (%)</th>
                    <th>Trạng Thái</th>
                    <th>Đánh Giá Của Giáo Viên</th>
                    <th>Cập Nhật</th>
                </tr>
            </thead>
            <tbody>
                <?php if (count($danh_sach_hoc_vien) > 0): ?>
                    <?php foreach ($danh_sach_hoc_vien as $hv): ?>
                        <tr>
                            <td>
                                <strong><?= htmlspecialchars($hv['ho_ten']) ?></strong><br>
                                <span style="font-size:0.85rem; color:#64748b;">SĐT: <?= htmlspecialchars($hv['dien_thoai'] ?? '-') ?></span>
                            </td>
                            <td>
                                <div class="progress-bar-bg">
                                    <div class="progress-bar-fill" style="width: <?= (int)$hv['phan_tram_hoan_thanh'] ?>%;"></div>
                                </div>
                                <span><?= (int)$hv['phan_tram_hoan_thanh'] ?>%</span>
                            </td>
                            <td><span class="tag-status status-<?= $hv['trang_thai_hoc'] ?>"><?= htmlspecialchars($hv['trang_thai_hoc']) ?></span></td>
                            <form action="admin-quan-ly-lop.php?id_lop=<?= $id_lop_xem ?>" method="POST">
                                <td>
                                    <input type="text" name="nhan_xet" value="<?= htmlspecialchars($hv['nhan_xet_giao_vien'] ?? '') ?>" placeholder="Ghi chú năng lực...">
                                </td>
                                <td>
                                    <input type="hidden" name="id_tien_do" value="<?= (int)$hv['id_tien_do'] ?>">
                                    <input type="number" name="phan_tram_hoan_thanh" value="<?= (int)$hv['phan_tram_hoan_thanh'] ?>" min="0" max="100" style="width: 70px;">
                                    <button type="submit" name="cap_nhat_tien_do" class="btn btn-sm" style="background:#0ea5e9;">Lưu</button>
                                </td>
                            </form>
                        </tr>
                    <?php endforeach; ?>
                <?php else: ?>
                    <tr><td colspan='5' style='text-align:center;'>Chưa có học viên nào được xếp vào lớp này.</td></tr>
                <?php endif; ?>
            </tbody>
        </table>
    <?php endif; ?>
</div>

<!-- Modal Phân bổ cơ sở liên kết -->
<div id="modalPhanBo" class="modal">
    <div class="modal-content">
        <div class="modal-header">🏢 Phân bổ cơ sở liên kết</div>
        <form action="admin-quan-ly-lop.php" method="POST" id="formPhanBo">
            <div class="modal-body">
                <input type="hidden" name="id_lop" id="modalLopId" value="">
                <label style="display:block; font-weight:bold; margin-bottom:8px;">Chọn cơ sở liên kết:</label>
                <select name="id_to_chuc_quan_ly" id="selectCoSo" required>
                    <option value="">-- Chọn cơ sở --</option>
                    <?php foreach ($danh_sach_to_chuc as $tc): ?>
                        <option value="<?= (int)$tc['id'] ?>"><?= htmlspecialchars(!empty($tc['ten_to_chuc']) ? $tc['ten_to_chuc'] : $tc['ho_ten']) ?> (<?= htmlspecialchars($tc['tinh_thanh'] ?? 'Chưa cập nhật vị trí') ?>)</option>
                    <?php endforeach; ?>
                </select>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn-secondary" onclick="closePhanBoModal()">Hủy</button>
                <button type="submit" name="cap_nhat_phan_bo" class="btn-primary">Lưu thay đổi</button>
            </div>
        </form>
    </div>
</div>

<script>
function openPhanBoModal(lopId, element) {
    document.getElementById('modalLopId').value = lopId;
    document.getElementById('modalPhanBo').classList.add('show');
}

function closePhanBoModal() {
    document.getElementById('modalPhanBo').classList.remove('show');
    document.getElementById('selectCoSo').value = '';
}

// Close modal when clicking outside
document.getElementById('modalPhanBo').addEventListener('click', function(e) {
    if (e.target === this) {
        closePhanBoModal();
    }
});

// Close modal on Escape key
document.addEventListener('keydown', function(e) {
    if (e.key === 'Escape') {
        closePhanBoModal();
    }
});
</script>

<script src="admin-quan-ly-lop.js"></script>
</body>
</html>