/* ═══════════════════════════════════════════════════════════════
   TAMPILAN LMS MERSICS — ungu, jingga, putih
   ═══════════════════════════════════════════════════════════════ */
:root{
  --ungu-tua:#1C0844; --ungu:#6D28D9; --ungu-muda:#8B4FE6;
  --lilac:#F6F2FF; --lilac-2:#EDE4FF;
  --jingga:#F97316; --jingga-tua:#EA580C; --jingga-muda:#FFF6ED;
  --hijau:#1E6B38; --hijau-muda:#E7F6EC;
  --teks:#2E2A38; --teks-2:#5F5873; --garis:#E7E2F0; --kabut:#FBFAFD;
}
*{box-sizing:border-box}
body{margin:0;background:var(--kabut);color:var(--teks);
  font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.7}
h1,h2,h3{font-family:'Space Grotesk',system-ui,sans-serif;font-weight:600;color:var(--ungu-tua);
  margin:0;line-height:1.2;letter-spacing:-.01em}
h1{font-size:1.85rem}h2{font-size:1.35rem}h3{font-size:1.08rem}
a{color:var(--ungu)}
img{max-width:100%}
hr{border:0;border-top:1px solid var(--garis);margin:24px 0}

/* ── Batang atas ── */
.atas{background:var(--ungu-tua);color:#fff;position:sticky;top:0;z-index:40}
.atas-in{max-width:1280px;margin:0 auto;padding:0 22px;height:64px;display:flex;
  align-items:center;justify-content:space-between;gap:16px}
.merek{display:flex;align-items:center;gap:11px;text-decoration:none;color:#fff;font-weight:600}
.merek img{height:34px;width:34px;object-fit:cover;object-position:top center;border-radius:7px;background:#fff}
.atas-kanan{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.siapa{font-size:.86rem;color:rgba(255,255,255,.85);text-align:right;line-height:1.25}
.siapa small{display:block;font-size:.74rem;color:rgba(255,255,255,.55)}
.tbl-kecil{display:inline-block;padding:7px 14px;border:1px solid rgba(255,255,255,.3);
  border-radius:100px;font-size:.8rem;text-decoration:none;color:#fff;white-space:nowrap}
.tbl-kecil:hover{background:var(--jingga);border-color:var(--jingga)}

/* ── Kerangka dua kolom ── */
.wadah{max-width:1280px;margin:0 auto;padding:26px 22px 70px;display:grid;gap:26px}
@media(min-width:1000px){.wadah{grid-template-columns:310px 1fr;align-items:start}}
.wadah-lebar{display:block}

/* ── Bilah sisi: alur belajar ── */
.sisi{background:#fff;border:1px solid var(--garis);border-radius:16px;overflow:hidden}
@media(min-width:1000px){.sisi{position:sticky;top:88px;max-height:calc(100vh - 110px);overflow-y:auto}}
@media(max-width:999px){.sisi{display:none}.sisi.buka{display:block}}
.kemajuan{padding:20px;border-bottom:1px solid var(--garis);background:var(--lilac)}
.kemajuan-atas{display:flex;justify-content:space-between;align-items:baseline;
  font-size:.82rem;color:var(--teks-2);margin-bottom:9px}
.kemajuan-atas b{font-family:'Space Grotesk',sans-serif;font-size:1.35rem;color:var(--ungu)}
.batang{height:9px;background:#fff;border-radius:100px;overflow:hidden;border:1px solid var(--garis)}
.batang span{display:block;height:100%;background:linear-gradient(90deg,var(--ungu),var(--jingga));
  border-radius:100px;transition:width .4s}
.tbl-sertifikat{display:block;margin-top:14px;text-align:center;background:var(--jingga);color:#fff;
  padding:10px;border-radius:100px;text-decoration:none;font-size:.86rem;font-weight:600}
.tbl-sertifikat:hover{background:var(--jingga-tua)}

.alur{padding:8px 0 16px}
.modul{padding:14px 20px 6px}
.modul h3{font-size:.95rem;margin-bottom:3px}
.modul p{margin:0 0 10px;font-size:.79rem;color:var(--teks-2);line-height:1.5}
.modul ul{list-style:none;margin:0;padding:0}
.modul li a,.modul li > span{display:flex;align-items:flex-start;gap:10px;padding:9px 10px;
  border-radius:9px;text-decoration:none;color:var(--teks);font-size:.88rem;line-height:1.4}
.modul li a:hover{background:var(--lilac)}
.modul li small{display:block;font-size:.72rem;color:var(--teks-2)}
.modul li .jdl{flex:1}
.tanda-l{width:16px;height:16px;border-radius:50%;border:2px solid var(--garis);
  flex:none;margin-top:3px;display:block}
.modul li.sudah .tanda-l{background:var(--hijau);border-color:var(--hijau);position:relative}
.modul li.sudah .tanda-l::after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;
  border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.modul li.ini > a{background:var(--ungu);color:#fff;font-weight:500}
.modul li.ini small{color:rgba(255,255,255,.75)}
.modul li.ini .tanda-l{border-color:rgba(255,255,255,.7)}
.modul li.kunci > span{color:#A99EB4;cursor:not-allowed}
.modul li.kunci .tanda-l{border-style:dashed}

/* ── Kolom utama ── */
.utama{min-width:0}
.buka-sisi{display:none;background:#fff;border:1px solid var(--garis);border-radius:100px;
  padding:11px 20px;font-family:inherit;font-size:.88rem;font-weight:600;color:var(--ungu);
  cursor:pointer;margin-bottom:18px}
@media(max-width:999px){.buka-sisi{display:block}}
.utama.tengah{grid-column:1/-1;display:grid;place-items:center;min-height:60vh}

.sambut{margin-bottom:26px}
.label{display:inline-block;font-size:.74rem;font-weight:600;letter-spacing:.11em;
  text-transform:uppercase;color:var(--jingga);margin-bottom:9px}
.ket-besar{color:var(--teks-2);max-width:62ch;margin:10px 0 0}
.ket{color:var(--teks-2);font-size:.9rem}

.kisi-angka{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:26px}
.angka{background:#fff;border:1px solid var(--garis);border-radius:14px;padding:20px;text-align:center}
.angka b{display:block;font-family:'Space Grotesk',sans-serif;font-size:1.9rem;color:var(--ungu);line-height:1.1}
.angka span{font-size:.8rem;color:var(--teks-2)}

.lanjut{background:linear-gradient(135deg,var(--ungu),var(--ungu-tua));color:#fff;border-radius:16px;
  padding:26px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px;
  flex-wrap:wrap;margin-bottom:34px}
.lanjut h2{color:#fff;margin:4px 0}
.lanjut p{margin:0;color:rgba(255,255,255,.7);font-size:.88rem}
.lanjut.selesai-semua{background:linear-gradient(135deg,var(--hijau),#0F4423)}
.judul-bagian{margin-bottom:16px}

.modul-kartu{background:#fff;border:1px solid var(--garis);border-radius:16px;
  padding:22px 24px;margin-bottom:16px}
.modul-kartu header{margin-bottom:14px}
.modul-kartu header p{margin:5px 0 0;font-size:.88rem;color:var(--teks-2)}
.daftar-pelajaran{list-style:none;margin:0;padding:0}
.daftar-pelajaran li{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid var(--garis)}
.daftar-pelajaran li:first-child{border-top:0}
.daftar-pelajaran li > div{flex:1;min-width:0}
.daftar-pelajaran b{display:block;font-weight:500;font-size:.96rem}
.daftar-pelajaran .jenis{font-size:.78rem;color:var(--teks-2)}
.tanda-b{width:22px;height:22px;border-radius:50%;border:2px solid var(--garis);flex:none;position:relative}
.daftar-pelajaran li.sudah .tanda-b{background:var(--hijau);border-color:var(--hijau)}
.daftar-pelajaran li.sudah .tanda-b::after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;
  border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.daftar-pelajaran li.kunci{opacity:.55}
.daftar-pelajaran li.kunci .tanda-b{border-style:dashed}
.daftar-pelajaran .tbl-kecil{color:var(--ungu);border-color:var(--garis)}
.daftar-pelajaran .tbl-kecil:hover{background:var(--ungu);color:#fff;border-color:var(--ungu)}
.status-kecil{font-size:.78rem;color:var(--teks-2)}

/* ── Halaman pelajaran ── */
.remah{font-size:.8rem;color:var(--teks-2);margin-bottom:8px}
.judul-pelajaran{margin-bottom:10px}
.lencana-selesai{display:inline-block;background:var(--hijau-muda);color:var(--hijau);
  font-size:.76rem;font-weight:600;padding:5px 13px;border-radius:100px;margin-bottom:14px}
.isi-pelajaran{background:#fff;border:1px solid var(--garis);border-radius:16px;
  padding:30px 32px;margin:18px 0 24px;max-width:78ch}
.isi-pelajaran h2{font-size:1.3rem;margin:28px 0 12px}
.isi-pelajaran h3{font-size:1.08rem;margin:22px 0 8px}
.isi-pelajaran p{margin:0 0 1.05em}
.isi-pelajaran ul,.isi-pelajaran ol{padding-left:22px}
.isi-pelajaran li{margin-bottom:7px}
.isi-pelajaran img,.isi-pelajaran iframe{border-radius:12px;margin:18px 0;max-width:100%}
.isi-pelajaran iframe{width:100%;min-height:420px;border:1px solid var(--garis)}
.isi-pelajaran blockquote{margin:20px 0;padding:16px 22px;background:var(--lilac);
  border-left:4px solid var(--jingga);border-radius:0 12px 12px 0}
.isi-pelajaran table{width:100%;border-collapse:collapse;margin:18px 0;font-size:.93rem}
.isi-pelajaran th,.isi-pelajaran td{border:1px solid var(--garis);padding:9px 12px;text-align:left}
.isi-pelajaran th{background:var(--lilac)}
.isi-pelajaran pre{background:var(--ungu-tua);color:#fff;padding:16px;border-radius:12px;overflow:auto;font-size:.85rem}

.kotak-tugas{background:#fff;border:1px solid var(--garis);border-radius:16px;
  padding:26px 28px;margin-bottom:24px;max-width:78ch}
.kotak-tugas h2{margin-bottom:12px}
.tandai{background:var(--jingga-muda);border:1px solid #F5D3AE;border-radius:16px;
  padding:22px 26px;margin-bottom:24px;max-width:78ch}
.tandai .ket{margin:10px 0 0}
.kiriman-lama{background:var(--kabut);border:1px solid var(--garis);border-radius:12px;
  padding:16px 18px;margin-bottom:20px;font-size:.92rem}
.kiriman-lama p{margin:0 0 7px}
.nilai-kotak{display:flex;gap:16px;align-items:center;background:var(--hijau-muda);
  border-radius:12px;padding:16px 18px;margin-top:12px}
.nilai-kotak.belum{background:var(--jingga-muda)}
.nilai-kotak .nilai{font-family:'Space Grotesk',sans-serif;font-size:2rem;font-weight:600;color:var(--hijau);flex:none}
.nilai-kotak.belum .nilai{color:var(--jingga-tua)}
.nilai-kotak p{margin:3px 0 0;font-size:.88rem;color:var(--teks-2)}
.jawaban-mhs{background:var(--kabut);border:1px solid var(--garis);border-radius:12px;
  padding:16px 18px;font-size:.94rem;white-space:pre-wrap}

/* Kuis */
.kuis fieldset{border:1px solid var(--garis);border-radius:12px;padding:18px 20px;margin:0 0 16px}
.kuis legend{font-weight:600;color:var(--ungu-tua);padding:0 8px;display:flex;align-items:center;gap:10px}
.kuis legend span{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;
  background:var(--ungu);color:#fff;font-size:.78rem;flex:none}
.pilihan-kuis{display:flex;align-items:flex-start;gap:10px;padding:9px 12px;border-radius:9px;
  cursor:pointer;font-weight:400;margin:0}
.pilihan-kuis:hover{background:var(--lilac)}
.pilihan-kuis input{margin-top:5px}

.pindah{display:flex;justify-content:space-between;gap:14px;margin-top:30px}
.pindah a{background:#fff;border:1px solid var(--garis);border-radius:12px;padding:14px 20px;
  text-decoration:none;font-size:.78rem;color:var(--teks-2);max-width:48%}
.pindah a:hover{border-color:var(--jingga)}
.pindah a b{display:block;font-size:.95rem;color:var(--ungu-tua);margin-top:3px}
.pindah .kanan{text-align:right;margin-left:auto}

.kotak-kunci{background:#fff;border:1px solid var(--garis);border-radius:16px;padding:40px;text-align:center}
.kotak-kunci h1{margin-bottom:10px}
.kotak-kunci p{color:var(--teks-2)}

/* ── Formulir umum ── */
.kotak{background:#fff;border:1px solid var(--garis);border-radius:16px;padding:34px;width:100%;max-width:420px}
.kotak h1{margin-bottom:8px}
label{display:block;margin-bottom:16px;font-size:.86rem;font-weight:600;color:var(--ungu-tua)}
label small{font-weight:400;color:var(--teks-2)}
input[type=text],input[type=password],textarea,select{width:100%;margin-top:6px;padding:11px 14px;
  border:1px solid var(--garis);border-radius:10px;font-family:inherit;font-size:.95rem;
  font-weight:400;color:var(--teks);background:#fff}
input:focus,textarea:focus,select:focus{outline:2px solid var(--jingga);outline-offset:1px;border-color:transparent}
textarea{resize:vertical;line-height:1.6}
input[type=file]{margin-top:6px;font-size:.86rem;font-weight:400}
.tbl{display:inline-block;background:var(--jingga);color:#fff;border:0;border-radius:100px;
  padding:13px 28px;font-family:inherit;font-size:.92rem;font-weight:600;cursor:pointer;text-decoration:none}
.tbl:hover{background:var(--jingga-tua)}
.galat{background:#FDECEC;border:1px solid #F3C2C2;color:#9B2222;padding:11px 15px;
  border-radius:10px;margin-bottom:16px;font-size:.9rem}
.sukses{background:var(--hijau-muda);border:1px solid #B7E0C4;color:var(--hijau);padding:11px 15px;
  border-radius:10px;margin-bottom:16px;font-size:.9rem}

.kaki-lms{background:var(--ungu-tua);color:rgba(255,255,255,.55);font-size:.82rem;padding:20px 0}
.kaki-lms .atas-in{height:auto}
.kaki-lms a{color:rgba(255,255,255,.75);text-decoration:none}
.kaki-lms a:hover{color:var(--jingga)}

/* ── Dashboard admin: tambahan ── */
.modul-kepala{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;
  flex-wrap:wrap;margin-bottom:12px}

/* ═══════════════════════════════════════════════════════════════
   SERTIFIKAT
   ═══════════════════════════════════════════════════════════════ */
.halaman-sertifikat{background:#EDE7F2;padding:26px}
.alat-cetak{max-width:1000px;margin:0 auto 18px;display:flex;gap:10px;justify-content:flex-end}
.alat-cetak a,.alat-cetak button{background:#fff;border:1px solid var(--garis);border-radius:100px;
  padding:10px 20px;font-family:inherit;font-size:.86rem;font-weight:600;color:var(--ungu);
  text-decoration:none;cursor:pointer}
.alat-cetak button{background:var(--jingga);color:#fff;border-color:var(--jingga)}

.sertifikat{max-width:1000px;margin:0 auto;background:#fff;padding:14px;
  box-shadow:0 20px 50px rgba(44,15,69,.18)}
.tepi{border:2px solid var(--ungu);padding:56px 60px 44px;text-align:center;position:relative;overflow:hidden}
.tepi::before{content:"";position:absolute;left:0;right:0;top:0;height:10px;
  background-image:linear-gradient(135deg,var(--jingga) 25%,transparent 25%),
                   linear-gradient(225deg,var(--jingga) 25%,transparent 25%);
  background-size:10px 10px}
.sertifikat header{margin-bottom:30px}
.logo-sert{height:70px;width:auto;margin:0 auto 14px;display:block}
.sertifikat .lbl{display:block;font-size:.8rem;font-weight:600;letter-spacing:.22em;
  text-transform:uppercase;color:var(--jingga)}
.sertifikat .diberikan,.sertifikat .karena{color:var(--teks-2);font-size:.94rem;margin:0}
.sertifikat h1{font-size:2.7rem;margin:10px 0 4px;color:var(--ungu-tua)}
.sertifikat .nim-sert{font-size:.9rem;color:var(--teks-2);margin:0 0 26px}
.sertifikat h2{font-size:1.5rem;margin:8px 0 6px;color:var(--ungu)}
.ttd{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;
  margin-top:52px;text-align:left;flex-wrap:wrap}
.ttd b{display:block;font-size:.95rem;color:var(--ungu-tua)}
.ttd span{font-size:.82rem;color:var(--teks-2)}
.garis-ttd{display:block;width:210px;border-bottom:1px solid var(--teks-2);margin-bottom:8px;height:34px}
.kode-sert{text-align:right}
.kode-sert b{font-family:ui-monospace,monospace;font-size:.86rem;letter-spacing:.06em}
.motif-sert{position:absolute;left:0;right:0;bottom:0;height:8px;
  background-image:linear-gradient(135deg,var(--ungu) 25%,transparent 25%),
                   linear-gradient(225deg,var(--ungu) 25%,transparent 25%);
  background-size:8px 8px}

@media print{
  .alat-cetak{display:none}
  .halaman-sertifikat{background:#fff;padding:0}
  .sertifikat{box-shadow:none;max-width:none;padding:0}
  @page{size:A4 landscape;margin:12mm}
}

/* ════════════════════════════════════════════════════════════════
   14 · BERANDA BANYAK KURSUS
   ════════════════════════════════════════════════════════════════ */
.kisi-kursus{display:grid;gap:20px;grid-template-columns:1fr;margin-bottom:34px}
@media(min-width:720px){.kisi-kursus{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.kisi-kursus{grid-template-columns:repeat(3,1fr)}}
.kartu-kursus{display:flex;flex-direction:column;background:#fff;border:1px solid var(--garis);
  border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;
  transition:transform .2s,box-shadow .2s,border-color .2s}
a.kartu-kursus:hover{transform:translateY(-4px);border-color:transparent;
  box-shadow:0 18px 34px -20px rgba(28,8,68,.4)}
.sampul-kursus{display:block;position:relative;aspect-ratio:16/9;background:var(--lilac);overflow:hidden}
.sampul-kursus img{width:100%;height:100%;object-fit:cover;display:block}
.cap-kursus{position:absolute;left:12px;top:12px;background:rgba(255,255,255,.95);color:var(--ungu);
  font-family:'JetBrains Mono',monospace;font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;
  padding:5px 11px;border-radius:100px}
.isi-kursus{display:flex;flex-direction:column;gap:7px;padding:20px 22px 22px}
.isi-kursus b{font-family:'Space Grotesk',sans-serif;font-size:1.05rem;color:var(--ungu-tua);line-height:1.35}
.ringkas-kursus{font-size:.88rem;color:var(--teks-2);line-height:1.55}
.meta-kursus{font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.06em;color:var(--jingga)}
.batang-kecil{display:block;height:7px;margin-top:8px}
.persen-kursus{font-size:.78rem;color:var(--teks-2)}

.balik-kursus{display:inline-block;font-size:.78rem;color:var(--teks-2);text-decoration:none;margin-bottom:8px}
.balik-kursus::before{content:"← "}
.balik-kursus:hover{color:var(--ungu)}
.judul-sisi{font-size:1rem;margin:0 0 14px;line-height:1.3}

/* Ujian: keterangan bentuk soal & penilaian esai */
.cap-soal{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:.68rem;
  letter-spacing:.08em;text-transform:uppercase;color:var(--teks-2);
  background:var(--kabut);border:1px solid var(--garis);padding:4px 10px;border-radius:100px;margin-bottom:12px}
.kuis input[type=text],.kuis textarea{width:100%;margin-top:8px}
.soal-nilai{border-top:1px solid var(--garis);padding:20px 0}
.soal-nilai:first-of-type{border-top:0}
.soal-nilai b{display:block;color:var(--ungu-tua);margin-bottom:4px}
.contoh-soal{background:var(--ungu-tua);color:#fff;padding:16px 18px;border-radius:12px;
  font-size:.82rem;line-height:1.6;overflow:auto;white-space:pre}
.daftar-lampiran{list-style:none;margin:0;padding:0}
.daftar-lampiran li{border-top:1px solid var(--garis)}
.daftar-lampiran li:first-child{border-top:0}
.daftar-lampiran a{display:block;padding:14px 0;text-decoration:none}
.daftar-lampiran b{display:block;color:var(--ungu-tua);font-size:.96rem}
.daftar-lampiran span{font-size:.84rem;color:var(--teks-2)}
