<?php
session_start();
include '../config/database.php';

// --- CEK SESSION LOGIN ---
if (!isset($_SESSION['id_siswa'])) {
    header("Location: login");
    exit();
}

$id_siswa = $_SESSION['id_siswa'];

// --- PROSES PERMINTAAN BUKA KUNCI BIODATA ---
if (isset($_POST['ajukan_buka_kunci'])) {
    $alasan = mysqli_real_escape_string($koneksi, trim($_POST['alasan']));
    
    // Simpan alasan ke database agar dibaca oleh panitia
    $q_unlock = "UPDATE tbl_ppdb SET req_buka_kunci = '$alasan' WHERE id = '$id_siswa'";
    if(mysqli_query($koneksi, $q_unlock)){
        $_SESSION['alert'] = ['type' => 'success', 'title' => 'Terkirim!', 'message' => 'Permintaan buka kunci berhasil dikirim. Silakan tunggu persetujuan panitia.'];
    } else {
        $_SESSION['alert'] = ['type' => 'error', 'title' => 'Gagal', 'message' => 'Terjadi kesalahan sistem saat mengirim permintaan.'];
    }
    header("Location: index.php");
    exit();
}

// --- AMBIL DATA SISWA & PERIODE TERBARU ---
$q_siswa = mysqli_query($koneksi, "
    SELECT p.*, pr.nama_periode, pr.skema_tahapan, pr.biaya_daftar 
    FROM tbl_ppdb p 
    LEFT JOIN tbl_ppdb_periode pr ON p.id_periode = pr.id 
    WHERE p.id = '$id_siswa'
");
$d_siswa = mysqli_fetch_assoc($q_siswa);

// Variabel Kunci Keamanan
$is_locked = $d_siswa['is_locked'];
$req_buka_kunci = $d_siswa['req_buka_kunci'];

// --- AMBIL IDENTITAS SEKOLAH ---
$q_identitas = mysqli_query($koneksi, "SELECT * FROM tbl_identitas WHERE id=1");
$d_identitas = mysqli_fetch_assoc($q_identitas);

$path_logo    = $base_url . "uploads/identitas/" . $d_identitas['logo_utama'];
$path_favicon = $base_url . "uploads/identitas/" . $d_identitas['favicon'];

// --- AMBIL STATUS SAKLAR UJIAN (CBT) ---
$q_ujian = mysqli_query($koneksi, "SELECT status_ujian FROM tbl_ppdb_ujian_setting WHERE id=1");
$status_cbt = mysqli_fetch_assoc($q_ujian)['status_ujian'] ?? 'Tutup';

// --- HITUNG PERSENTASE KELENGKAPAN (DINAMIS) ---
// 1. Cek Biodata Pokok
$biodata_fields = ['jenis_kelamin', 'tgl_lahir', 'nama_ayah', 'no_hp_ortu', 'alamat'];
$filled_bio = 0;
foreach($biodata_fields as $field) {
    if(!empty($d_siswa[$field]) && $d_siswa[$field] != '0000-00-00') $filled_bio++;
}
$total_bio = count($biodata_fields);

// 2. Cek Berkas Syarat Wajib
$q_wajib = mysqli_query($koneksi, "SELECT id FROM tbl_ppdb_syarat WHERE is_wajib='1' AND status='Aktif'");
$total_syarat_wajib = mysqli_num_rows($q_wajib);

$q_uploaded = mysqli_query($koneksi, "
    SELECT b.id FROM tbl_ppdb_berkas b 
    JOIN tbl_ppdb_syarat s ON b.id_syarat = s.id 
    WHERE b.id_pendaftar = '$id_siswa' AND s.is_wajib='1' AND s.status='Aktif' AND b.nama_file != ''
");
$uploaded_wajib = mysqli_num_rows($q_uploaded);

// 3. Kalkulasi Total
$total_items = $total_bio + $total_syarat_wajib;
$filled_items = $filled_bio + $uploaded_wajib;
$progress = ($total_items > 0) ? round(($filled_items / $total_items) * 100) : 100;

// --- LOGIKA STATUS & WARNA PESAN ---
$status_label = $d_siswa['status'];
$status_badge = "bg-secondary";
$status_msg   = "Silakan lengkapi biodata dan berkas Anda.";
$alert_color  = "alert-theme"; 

if ($status_label == 'Baru') {
    $status_badge = "bg-warning text-dark";
    if ($progress < 100) {
        $status_msg = "Status akun Anda <strong>BARU</strong>. Saat ini kelengkapan Anda <strong>$progress%</strong>. Segera lengkapi agar bisa diverifikasi panitia.";
    } else {
        $status_msg = "Hebat! Data Anda sudah <strong>100% lengkap</strong>. Mohon tunggu panitia memverifikasi berkas Anda.";
    }
} elseif ($status_label == 'Diverifikasi') {
    $status_badge = "bg-info text-dark";
    $alert_color  = "alert-info border-info";
    $status_msg   = "Berkas Anda telah selesai <strong>DIVERIFIKASI</strong> dan dinyatakan valid. Silakan ikuti tahapan selanjutnya (Pembayaran / Ujian).";
} elseif ($status_label == 'Diterima') {
    $status_badge = "bg-success";
    $alert_color  = "alert-success border-success";
    $status_msg   = "Selamat! Anda dinyatakan <strong>LULUS / DITERIMA</strong>. Segera lakukan Daftar Ulang untuk mengamankan kursi Anda.";
} elseif ($status_label == 'Registrasi Ulang') {
    $status_badge = "bg-primary"; 
    $alert_color  = "alert-primary border-primary";
    $status_msg   = "Selamat! Anda telah resmi berstatus sebagai <strong>SISWA SAH</strong> di " . htmlspecialchars($d_identitas['nama_website']) . ". Sampai jumpa di hari pertama sekolah!";
} elseif ($status_label == 'Ditolak') {
    $status_badge = "bg-danger";
    $alert_color  = "alert-danger border-danger";
    $status_msg   = "Mohon maaf, Anda dinyatakan <strong>TIDAK DITERIMA</strong>. Tetap semangat dan jangan menyerah!";
}

// --- PERSIAPAN FOTO PROFIL DINAMIS ---
$bg_avatar = str_replace('#', '', (!empty($d_identitas['warna_utama']) ? $d_identitas['warna_utama'] : '166534'));
$foto_profil = "https://ui-avatars.com/api/?name=" . urlencode($d_siswa['nama_siswa']) . "&background=$bg_avatar&color=fff&bold=true";

$q_foto = mysqli_query($koneksi, "
    SELECT b.nama_file 
    FROM tbl_ppdb_berkas b 
    JOIN tbl_ppdb_syarat s ON b.id_syarat = s.id 
    WHERE b.id_pendaftar = '$id_siswa' 
    AND LOWER(s.nama_syarat) REGEXP 'foto|photo|poto|pas foto|pas photo|pas poto'
    LIMIT 1
");

if (mysqli_num_rows($q_foto) > 0) {
    $d_foto = mysqli_fetch_assoc($q_foto);
    $folder_upload = "../uploads/ppdb/";
    if (!empty($d_foto['nama_file']) && file_exists($folder_upload . $d_foto['nama_file'])) {
        $foto_profil = $folder_upload . $d_foto['nama_file'];
    }
}
?>

<!DOCTYPE html>
<html lang="id">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Dashboard Siswa - <?= htmlspecialchars($d_identitas['nama_website']) ?></title>
    <link rel="shortcut icon" href="<?= $path_favicon ?>" type="image/x-icon">

    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
    <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>

    <style>
        :root {
            --primary-bg: <?= !empty($d_identitas['warna_utama']) ? $d_identitas['warna_utama'] : '#166534' ?>;
            --navbar-bg: <?= !empty($d_identitas['warna_navbar']) ? $d_identitas['warna_navbar'] : '#14532d' ?>;
            --accent-color: <?= !empty($d_identitas['warna_sekunder']) ? $d_identitas['warna_sekunder'] : '#facc15' ?>;
        }

        body { background-color: #f0f2f5; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }
        
        .navbar-spmb { background: linear-gradient(135deg, var(--primary-bg), var(--navbar-bg)) !important; box-shadow: 0 2px 15px rgba(0,0,0,0.1); }
        .navbar-brand img { height: 40px; margin-right: 10px; background: #fff; border-radius: 50%; padding: 2px; }
        
        .profile-card { background: #fff; border-radius: 20px; overflow: hidden; border: none; box-shadow: 0 10px 30px rgba(0,0,0,0.05); }
        .profile-header { background-color: var(--navbar-bg); opacity: 0.1; height: 100px; }
        .profile-img-wrap { margin-top: -50px; text-align: center; }
        .profile-img { width: 100px; height: 100px; border-radius: 50%; border: 5px solid #fff; object-fit: cover; background: #fff; }

        .menu-card { border: none; border-radius: 18px; transition: all 0.3s ease; background: #fff; box-shadow: 0 4px 6px rgba(0,0,0,0.02); }
        .menu-card:hover { transform: translateY(-8px); box-shadow: 0 15px 30px rgba(0,0,0,0.08); color: var(--primary-bg) !important; }
        .icon-box { width: 65px; height: 65px; display: flex; align-items: center; justify-content: center; border-radius: 15px; font-size: 1.6rem; margin-bottom: 15px; transition: 0.3s; }

        .bg-icon-theme { background-color: rgba(0,0,0,0.05); color: var(--primary-bg); }
        .bg-icon-danger { background-color: #fee2e2; color: #dc2626; }
        .bg-icon-warning { background-color: #fef9c3; color: #d97706; }
        .bg-icon-info { background-color: #e0f2fe; color: #0284c7; }
        .menu-card:hover .bg-icon-theme, .menu-card:hover .bg-icon-danger, .menu-card:hover .bg-icon-warning, .menu-card:hover .bg-icon-info { background-color: var(--primary-bg); color: #fff; }

        .btn-theme { background-color: var(--primary-bg); color: #fff; border: none; }
        .btn-theme:hover { background-color: var(--navbar-bg); color: #fff; }
        .text-theme { color: var(--primary-bg) !important; }
        .progress-bar { background-color: var(--primary-bg) !important; }
        
        .alert-theme { background: #fff; border-left: 5px solid var(--primary-bg) !important; box-shadow: 0 4px 12px rgba(0,0,0,0.05); }

        footer { font-size: 0.85rem; color: #6c757d; }
    </style>
</head>
<body>

    <nav class="navbar navbar-expand-lg navbar-dark navbar-spmb sticky-top">
        <div class="container">
            <a class="navbar-brand fw-bold" href="#">
                <img src="<?= $path_logo ?>" alt="Logo">
                PPDB Online
            </a>
            <button class="navbar-toggler border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
                <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse" id="navbarNav">
                <ul class="navbar-nav ms-auto align-items-center text-center pt-3 pt-lg-0">
                    <li class="nav-item me-lg-3 mb-3 mb-lg-0">
                        <a href="../" class="btn btn-outline-light btn-sm rounded-pill px-4 fw-bold">
                            <i class="fas fa-external-link-alt me-1"></i> Lihat Web
                        </a>
                    </li>
                    <li class="nav-item me-3 text-white d-none d-lg-block border-start ps-3">
                        <small class="opacity-75">Siswa:</small> <strong><?= explode(' ', $d_siswa['nama_siswa'])[0] ?></strong>
                    </li>
                    <li class="nav-item">
                        <a href="logout.php" class="btn btn-light btn-sm rounded-pill text-theme fw-bold px-4">
                            <i class="fas fa-power-off me-1"></i> Keluar
                        </a>
                    </li>
                </ul>
            </div>
        </div>
    </nav>

    <div class="container py-5">
        <div class="row g-4">
            
            <div class="col-lg-4">
                <div class="profile-card text-center pb-4 mb-4">
                    <div class="profile-header"></div>
                    <div class="profile-img-wrap">
                        <img src="<?= $foto_profil ?>" class="profile-img shadow-sm" alt="Foto Profil">
                    </div>
                    <h5 class="mt-3 mb-1 fw-bold"><?= htmlspecialchars($d_siswa['nama_siswa']) ?></h5>
                    <p class="text-muted small mb-1 fw-bold text-theme"><?= $d_siswa['no_pendaftaran'] ?></p>
                    <p class="text-muted small mb-3 fst-italic">Gelombang: <?= htmlspecialchars($d_siswa['nama_periode'] ?? 'Belum Diatur') ?></p>
                    
                    <span class="badge rounded-pill <?= $status_badge ?> px-4 py-2 shadow-sm text-wrap">
                        <?= strtoupper($status_label) ?>
                    </span>
                </div>

                <div class="card border-0 shadow-sm rounded-4">
                    <div class="card-body p-4">
                        <h6 class="fw-bold mb-3 text-theme"><i class="fas fa-info-circle me-2"></i>Kontak Panitia</h6>
                        <div class="d-flex align-items-center mb-3">
                            <div class="bg-light p-2 rounded-circle me-3"><i class="fas fa-phone text-muted"></i></div>
                            <small class="text-muted"><?= $d_identitas['no_telepon'] ?></small>
                        </div>
                        <div class="d-flex align-items-center">
                            <div class="bg-light p-2 rounded-circle me-3"><i class="fas fa-envelope text-muted"></i></div>
                            <small class="text-muted"><?= $d_identitas['email'] ?></small>
                        </div>
                    </div>
                </div>
            </div>

            <div class="col-lg-8">
                
                <div class="alert <?= $alert_color ?> fade show mb-4 rounded-4" role="alert">
                    <h5 class="alert-heading fw-bold">Halo, <?= explode(' ', $d_siswa['nama_siswa'])[0] ?>!</h5>
                    <p class="mb-0 text-dark"><?= $status_msg ?></p>
                </div>

                <?php if ($is_locked == '1'): ?>
                <div class="alert alert-danger fade show mb-4 rounded-4 shadow-sm border-danger" role="alert" style="background-color: #fff1f2;">
                    <div class="d-flex align-items-start gap-3 mb-2">
                        <div class="bg-danger text-white rounded-circle d-flex align-items-center justify-content-center flex-shrink-0 mt-1" style="width: 45px; height: 45px;">
                            <i class="fas fa-lock fs-5"></i>
                        </div>
                        <div>
                            <h6 class="alert-heading fw-bold mb-1 text-danger">Biodata & Berkas Terkunci <small>(Lock System Aktif)</small></h6>
                            <p class="mb-0 small text-danger">Demi menjaga keabsahan data saat proses seleksi, menu Edit Biodata dan Upload Berkas telah dinonaktifkan (Terkunci) karena berkas Anda telah/sedang diverifikasi oleh Panitia.</p>
                        </div>
                    </div>
                    <hr class="border-danger opacity-25">
                    
                    <?php if (empty($req_buka_kunci)): ?>
                        <p class="mb-2 text-danger small fw-bold"><i class="fas fa-question-circle"></i> Ada kesalahan ketik nama atau salah unggah dokumen penting?</p>
                        <form action="" method="POST" class="d-flex gap-2 align-items-center">
    <input type="hidden" name="csrf_token" value="<?= generate_csrf_token() ?>">
                            <input type="text" name="alasan" class="form-control form-control-sm border-danger" placeholder="Tulis alasan, misal: Salah upload foto KK..." required>
                            <button type="submit" name="ajukan_buka_kunci" class="btn btn-danger btn-sm text-nowrap fw-bold shadow-sm">
                                Ajukan Buka Kunci
                            </button>
                        </form>
                    <?php else: ?>
                        <div class="bg-white p-3 rounded-3 text-danger small border border-danger shadow-sm">
                            <div class="d-flex justify-content-between align-items-center">
                                <strong><i class="fas fa-clock fa-spin me-1"></i> Menunggu Persetujuan Panitia</strong>
                                <span class="badge bg-danger">Pending</span>
                            </div>
                            <p class="mt-2 mb-0 fst-italic">Alasan Anda: "<?= htmlspecialchars($req_buka_kunci) ?>"</p>
                        </div>
                    <?php endif; ?>
                </div>
                <?php endif; ?>
                <div class="card border-0 shadow-sm rounded-4 mb-4">
                    <div class="card-body d-flex align-items-center justify-content-between p-4">
                        <div>
                            <h6 class="fw-bold mb-1">Panduan PPDB</h6>
                            <small class="text-muted">Lihat tahapan pendaftaran Anda di sini.</small>
                        </div>
                        <button class="btn btn-theme rounded-pill px-4 shadow-sm fw-bold" data-bs-toggle="modal" data-bs-target="#modalAlurPendaftaran">
                            <i class="fas fa-map-signs me-1"></i> Lihat Alur
                        </button>
                    </div>
                </div>

                <div class="card border-0 shadow-sm rounded-4 mb-4">
                    <div class="card-body p-4">
                        <div class="d-flex justify-content-between mb-2">
                            <span class="small fw-bold text-muted text-uppercase">Kelengkapan Data & Berkas</span>
                            <span class="small fw-bold text-theme"><?= $progress ?>%</span>
                        </div>
                        <div class="progress" style="height: 12px; border-radius: 20px; background: #eee;">
                            <div class="progress-bar progress-bar-striped progress-bar-animated" role="progressbar" style="width: <?= $progress ?>%"></div>
                        </div>
                    </div>
                </div>

                <?php if ($progress == 100 && $status_label == 'Baru'): ?>
                <div class="card border-0 shadow-sm rounded-4 mb-4" style="background-color: #fffbeb; border-left: 5px solid #f59e0b !important;">
                    <div class="card-body p-4 d-flex align-items-center gap-3">
                        <div class="bg-warning text-dark rounded-circle d-flex align-items-center justify-content-center flex-shrink-0" style="width: 50px; height: 50px;">
                            <i class="fas fa-user-clock fs-4"></i>
                        </div>
                        <div>
                            <h6 class="fw-bold mb-1 text-dark">Menunggu Verifikasi Berkas</h6>
                            <p class="mb-0 text-muted small">Saat ini Tim Panitia sedang mengecek keabsahan dokumen Anda. Mohon cek status secara berkala.</p>
                        </div>
                    </div>
                </div>
                <?php endif; ?>

                <h6 class="fw-bold mb-4 text-muted"><i class="fas fa-layer-group me-2"></i>Menu Pendaftaran</h6>
                <div class="row g-3">
                    
                    <div class="col-6 col-md-4">
                        <a href="biodata.php" class="card menu-card p-4 text-center text-decoration-none h-100 position-relative">
                            <?php if($is_locked == '1'): ?>
                                <span class="position-absolute top-0 end-0 p-3 text-danger fs-5" title="Menu Terkunci"><i class="fas fa-lock"></i></span>
                            <?php endif; ?>
                            <div class="d-flex flex-column align-items-center">
                                <div class="icon-box bg-icon-theme">
                                    <i class="fas fa-user-edit"></i>
                                </div>
                                <h6 class="fw-bold mb-1">Biodata</h6>
                                <small class="text-muted" style="font-size: 11px;">Lengkapi Profil Pokok</small>
                            </div>
                        </a>
                    </div>

                    <div class="col-6 col-md-4">
                        <a href="upload_berkas.php" class="card menu-card p-4 text-center text-decoration-none h-100 position-relative">
                            <?php if($is_locked == '1'): ?>
                                <span class="position-absolute top-0 end-0 p-3 text-danger fs-5" title="Menu Terkunci"><i class="fas fa-lock"></i></span>
                            <?php endif; ?>
                            <div class="d-flex flex-column align-items-center">
                                <div class="icon-box bg-icon-warning">
                                    <i class="fas fa-cloud-upload-alt"></i>
                                </div>
                                <h6 class="fw-bold mb-1">Upload Berkas</h6>
                                <small class="text-muted" style="font-size: 11px;">Ijazah, KK, dll.</small>
                            </div>
                        </a>
                    </div>

                    <div class="col-6 col-md-4">
                        <a href="pembayaran.php" class="card menu-card p-4 text-center text-decoration-none h-100">
                            <div class="d-flex flex-column align-items-center">
                                <div class="icon-box bg-icon-info">
                                    <i class="fas fa-wallet"></i>
                                </div>
                                <h6 class="fw-bold mb-1">Keuangan</h6>
                                <small class="text-muted" style="font-size: 11px;">Tagihan & Bayar</small>
                            </div>
                        </a>
                    </div>

                    <?php if($status_cbt == 'Buka'): 
                        $bisa_ujian = ($status_label == 'Diverifikasi' || $status_label == 'Diterima' || $status_label == 'Registrasi Ulang');
                    ?>
                    <div class="col-6 col-md-4">
                        <a href="<?= $bisa_ujian ? 'ujian_cbt.php' : 'javascript:void(0)' ?>" 
                           class="card menu-card p-4 text-center text-decoration-none h-100 <?= !$bisa_ujian ? 'opacity-50 btn-lock-ujian' : '' ?>">
                            <div class="d-flex flex-column align-items-center">
                                <div class="icon-box bg-icon-danger">
                                    <i class="fas fa-laptop-code"></i>
                                </div>
                                <h6 class="fw-bold mb-1">Ujian CBT</h6>
                                <small class="text-muted" style="font-size: 11px;">Tes Seleksi Masuk</small>
                            </div>
                        </a>
                    </div>
                    <?php endif; ?>

                    <div class="col-6 col-md-4">
                        <a href="pengumuman.php" class="card menu-card p-4 text-center text-decoration-none h-100">
                            <div class="d-flex flex-column align-items-center">
                                <div class="icon-box bg-icon-theme">
                                    <i class="fas fa-bullhorn"></i>
                                </div>
                                <h6 class="fw-bold mb-1">Pengumuman</h6>
                                <small class="text-muted" style="font-size: 11px;">Update Info Penting</small>
                            </div>
                        </a>
                    </div>

                    <div class="col-6 col-md-4">
                        <?php 
                        $bisa_cetak = ($status_label == 'Diverifikasi' || $status_label == 'Diterima' || $status_label == 'Registrasi Ulang');
                        $alasan = "";
                        if ($progress < 100) $alasan = "belum_lengkap";
                        elseif ($status_label == 'Baru') $alasan = "tunggu_verifikasi";
                        elseif ($status_label == 'Ditolak') $alasan = "ditolak";
                        ?>
                        <a href="<?= $bisa_cetak ? 'cetak_bukti.php' : 'javascript:void(0)' ?>" 
                           class="card menu-card p-4 text-center text-decoration-none h-100 <?= !$bisa_cetak ? 'opacity-50 btn-lock' : '' ?>"
                           data-alasan="<?= $alasan ?>">
                            <div class="d-flex flex-column align-items-center">
                                <div class="icon-box bg-icon-theme">
                                    <i class="fas fa-print"></i>
                                </div>
                                <h6 class="fw-bold mb-1">Cetak Kartu</h6>
                                <small class="text-muted fw-bold" style="font-size: 10px;">
                                    <?php 
                                    if ($bisa_cetak) echo "<span class='text-success'>Siap Cetak</span>";
                                    elseif ($progress == 100) echo "<span class='text-warning'>Tunggu Verifikasi</span>";
                                    else echo "<span class='text-danger'>Lengkapi Data</span>";
                                    ?>
                                </small>
                            </div>
                        </a>
                    </div>

                </div>
            </div>
        </div>
    </div>

    <footer class="text-center py-5 border-top bg-white mt-5">
        <div class="container">
            <strong>Copyright &copy; <?= date('Y') ?> <a href="#" class="text-theme text-decoration-none"><?= htmlspecialchars($d_identitas['nama_website']) ?></a>.</strong>
            <br>
            <small>Sistem Manajemen PPDB Terpadu - Powered by <strong><a href="https://gobook.ptgbk.id" style="text-decoration:none">Gobook Softindo</a></strong></small>
        </div>
    </footer>

    <div class="modal fade" id="modalAlurPendaftaran" tabindex="-1">
        <div class="modal-dialog modal-dialog-centered">
            <div class="modal-content rounded-4 border-0 shadow-lg">
                <div class="modal-header border-0 pb-0">
                    <h5 class="modal-title fw-bold text-theme">Tahapan & Skema PPDB</h5>
                    <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
                </div>
                <div class="modal-body p-4 pt-3">
                    <?php if(!empty($d_siswa['skema_tahapan'])): ?>
                        <div class="bg-light p-4 rounded-4 text-dark" style="font-size: 15px; line-height: 1.8;">
                            <?= nl2br(htmlspecialchars($d_siswa['skema_tahapan'])) ?>
                        </div>
                    <?php else: ?>
                        <div class="list-group list-group-flush">
                            <div class="list-group-item border-0 d-flex gap-3 mb-3">
                                <div class="bg-success text-white rounded-circle flex-shrink-0 d-flex align-items-center justify-content-center" style="width:30px; height:30px;">1</div>
                                <div><h6 class="mb-0 fw-bold">Registrasi Akun</h6><small class="text-muted">Selesai dilakukan</small></div>
                            </div>
                            <div class="list-group-item border-0 d-flex gap-3 mb-3">
                                <div class="bg-theme text-white rounded-circle flex-shrink-0 d-flex align-items-center justify-content-center" style="width:30px; height:30px;">2</div>
                                <div><h6 class="mb-0 fw-bold">Lengkapi Biodata & Berkas</h6><small class="text-muted">Wajib diisi hingga 100%</small></div>
                            </div>
                            <div class="list-group-item border-0 d-flex gap-3 mb-3">
                                <div class="bg-light text-muted rounded-circle flex-shrink-0 d-flex align-items-center justify-content-center" style="width:30px; height:30px;">3</div>
                                <div><h6 class="mb-0 fw-bold text-muted">Verifikasi Admin & Bayar</h6><small class="text-muted">Pemeriksaan dokumen & tagihan</small></div>
                            </div>
                            <div class="list-group-item border-0 d-flex gap-3 mb-3">
                                <div class="bg-light text-muted rounded-circle flex-shrink-0 d-flex align-items-center justify-content-center" style="width:30px; height:30px;">4</div>
                                <div><h6 class="mb-0 fw-bold text-muted">Ujian Seleksi CBT</h6><small class="text-muted">Jika diwajibkan oleh panitia</small></div>
                            </div>
                            <div class="list-group-item border-0 d-flex gap-3">
                                <div class="bg-light text-muted rounded-circle flex-shrink-0 d-flex align-items-center justify-content-center" style="width:30px; height:30px;">5</div>
                                <div><h6 class="mb-0 fw-bold text-muted">Pengumuman & Daftar Ulang</h6><small class="text-muted">Tahap akhir menjadi siswa sah</small></div>
                            </div>
                        </div>
                    <?php endif; ?>
                </div>
                <div class="modal-footer border-0">
                    <button type="button" class="btn btn-theme w-100 rounded-pill fw-bold" data-bs-dismiss="modal">Saya Mengerti</button>
                </div>
            </div>
        </div>
    </div>

    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
    <script>
    document.addEventListener('DOMContentLoaded', function() {
        
        // Peringatan SweetAlert dari Session PHP
        <?php if(isset($_SESSION['alert'])): ?>
            Swal.fire({
                icon: '<?= $_SESSION['alert']['type'] ?>',
                title: '<?= $_SESSION['alert']['title'] ?>',
                text: '<?= $_SESSION['alert']['message'] ?>',
                confirmButtonColor: 'var(--primary-bg)'
            });
            <?php unset($_SESSION['alert']); ?>
        <?php endif; ?>

        // Logika Kunci Tombol Cetak
        const lockBtn = document.querySelector('.btn-lock');
        if (lockBtn) {
            lockBtn.addEventListener('click', function(e) {
                const alasan = this.getAttribute('data-alasan');
                if (alasan === "belum_lengkap") {
                    Swal.fire({ icon: 'warning', title: 'Berkas Belum Lengkap', text: 'Silakan lengkapi biodata dan upload semua berkas wajib hingga progres 100%.', confirmButtonColor: 'var(--primary-bg)' });
                } else if (alasan === "tunggu_verifikasi") {
                    Swal.fire({ icon: 'info', title: 'Menunggu Verifikasi', text: 'Data Anda sudah lengkap. Tim admin sedang memeriksa berkas Anda. Mohon bersabar.', confirmButtonColor: 'var(--primary-bg)' });
                } else if (alasan === "ditolak") {
                    Swal.fire({ icon: 'error', title: 'Akses Terkunci', text: 'Mohon maaf, Anda tidak dapat mencetak kartu karena status pendaftaran Anda dinyatakan tidak diterima.', confirmButtonColor: '#dc3545' });
                }
            });
        }

        // Logika Kunci Tombol Ujian CBT
        const lockUjianBtn = document.querySelector('.btn-lock-ujian');
        if(lockUjianBtn) {
            lockUjianBtn.addEventListener('click', function(e) {
                Swal.fire({ 
                    icon: 'warning', 
                    title: 'Ujian Terkunci', 
                    text: 'Anda belum bisa mengakses Ujian CBT. Pastikan berkas Anda sudah berstatus "Diverifikasi" atau "Lulus" oleh Panitia.', 
                    confirmButtonColor: 'var(--primary-bg)' 
                });
            });
        }

    });
    </script>
</body>
</html>