:root{--primary: #2563eb;--primary-dark: #1e40af;--primary-light: #e8f0fe;--accent: #f0a91b;--danger: #d9534f;--gray: #6b7280;--border: #e5e7eb;--bg: #f4f6f8;--text: #1f2937}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);font-size:14px}a{color:var(--primary);text-decoration:none}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:none;border-radius:6px;background:var(--primary);color:#fff;cursor:pointer;font-size:13px;font-weight:600;transition:.15s}.btn:hover{background:var(--primary-dark)}.btn.secondary{background:#fff;color:var(--text);border:1px solid var(--border)}.btn.secondary:hover{background:#f9fafb}.btn.danger{background:var(--danger)}.btn.small{padding:5px 10px;font-size:12px}.btn:disabled{opacity:.6;cursor:not-allowed}.field{margin-bottom:14px}.field label{display:block;margin-bottom:5px;font-weight:600;font-size:13px}input,select,textarea{width:100%;padding:9px 11px;border:1px solid var(--border);border-radius:6px;font-size:14px;font-family:inherit;background:#fff}input:focus,select:focus,textarea:focus{outline:2px solid var(--primary-light);border-color:var(--primary)}textarea{resize:vertical;min-height:80px}.card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:20px}.card+.card{margin-top:16px}.table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--border);border-radius:10px}table{width:100%;border-collapse:collapse}th,td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--border);font-size:13px}th{background:#f9fafb;font-weight:600;color:var(--gray);white-space:nowrap}tr:last-child td{border-bottom:none}.badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:600}.badge.green{background:var(--primary-light);color:var(--primary-dark)}.badge.orange{background:#fdf0d5;color:#92600a}.badge.red{background:#fbe4e3;color:#a12622}.badge.gray{background:#eef0f2;color:var(--gray)}.badge.biru{background:#dbeafe;color:#1e40af}.layout{display:flex;min-height:100vh}.sidebar{width:240px;background:var(--primary-dark);color:#fff;display:flex;flex-direction:column;flex-shrink:0}.sidebar .brand{padding:20px 18px;font-weight:700;font-size:15px;line-height:1.35;border-bottom:1px solid rgba(255,255,255,.12)}.sidebar nav{flex:1;padding:10px 0}.sidebar nav a{display:flex;align-items:center;gap:10px;padding:11px 20px;color:#ffffffd1;font-weight:500;font-size:13.5px}.sidebar nav a:hover{background:#ffffff14;color:#fff}.sidebar nav a.active{background:var(--primary);color:#fff;box-shadow:inset 3px 0 0 var(--accent)}.sidebar .foot{padding:14px 18px;border-top:1px solid rgba(255,255,255,.12);font-size:12px}.main{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{height:60px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 24px}.topbar .title{font-weight:700;font-size:16px}.topbar .user{display:flex;align-items:center;gap:12px;font-size:13px}.avatar{width:34px;height:34px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}.content{padding:24px}.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-bottom:22px}.stat{background:#fff;border:1px solid var(--border);border-radius:10px;padding:18px}.stat .num{font-size:28px;font-weight:700;color:var(--primary)}.stat .lbl{color:var(--gray);font-size:12.5px;margin-top:4px}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap;gap:12px}.page-head h2{font-size:20px}.muted{color:var(--gray)}.row-actions{display:flex;gap:6px}.center-msg{padding:40px;text-align:center;color:var(--gray)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.modal{background:#fff;border-radius:12px;padding:24px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.modal h3{margin-bottom:16px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-dark),var(--primary));padding:20px}.login-card{background:#fff;border-radius:14px;padding:34px;width:100%;max-width:400px;box-shadow:0 20px 50px #0003}.login-card h1{font-size:20px;text-align:center;color:var(--primary-dark)}.login-card .sub{text-align:center;color:var(--gray);font-size:13px;margin:6px 0 22px}.error-box{background:#fbe4e3;color:#a12622;padding:10px 12px;border-radius:6px;font-size:13px;margin-bottom:14px}.hint{background:var(--primary-light);border-radius:8px;padding:12px;font-size:12px;margin-top:18px;color:var(--primary-dark);line-height:1.7}@media (max-width: 720px){.sidebar{position:fixed;z-index:40;height:100%;transform:translate(-100%);transition:.2s}.sidebar.open{transform:translate(0)}.menu-toggle{display:inline-flex!important}}.periode-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:600;background:var(--primary-light);color:var(--primary-dark);border:1px solid #c7d8fb}.periode-chip.warn{background:#fdf0d5;color:#92600a;border-color:#f2ddaa}.notice{display:flex;gap:10px;align-items:flex-start;padding:13px 16px;border-radius:10px;font-size:13px;line-height:1.6;border:1px solid var(--border);background:#fff;margin-bottom:18px}.notice .ikon{font-size:18px;line-height:1}.notice.kunci{background:#fdf0d5;border-color:#f2ddaa;color:#7a5108}.notice.info{background:var(--primary-light);border-color:#c7d8fb;color:var(--primary-dark)}.notice.bahaya{background:#fbe4e3;border-color:#f4c9c7;color:#a12622}.kartu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}.kartu-mapel{background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:10px;transition:.15s;border-top:4px solid var(--primary)}.kartu-mapel:hover{box-shadow:0 6px 20px #11182717;transform:translateY(-2px)}.kartu-mapel.terkunci{border-top-color:var(--gray);background:#fbfbfc}.kartu-mapel h3{font-size:15.5px;line-height:1.35}.kartu-mapel .guru{font-size:12.5px;color:var(--gray)}.kartu-mapel .angka{display:flex;gap:16px;margin-top:2px}.kartu-mapel .angka div{font-size:12px;color:var(--gray)}.kartu-mapel .angka strong{display:block;font-size:17px;color:var(--text)}.kartu-mapel .kaki{margin-top:auto;padding-top:10px;border-top:1px dashed var(--border)}.pertemuan-item{background:#fff;border:1px solid var(--border);border-radius:10px;padding:16px 18px;margin-bottom:12px;display:flex;gap:16px;align-items:flex-start}.pertemuan-item .nomor{flex-shrink:0;width:46px;height:46px;border-radius:10px;background:var(--primary-light);color:var(--primary-dark);display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;line-height:1.1}.pertemuan-item .nomor small{font-size:9px;font-weight:600;opacity:.8}.pertemuan-item .isi{flex:1;min-width:0}.pertemuan-item .isi h3{font-size:15px;margin-bottom:4px}.pertemuan-item .meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.blok{background:#fff;border:1px solid var(--border);border-radius:10px;margin-bottom:14px}.blok>.kepala{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:700;font-size:14px;background:#fafbfc;border-radius:10px 10px 0 0}.blok>.badan{padding:16px}.materi-item{border:1px solid var(--border);border-radius:8px;padding:14px}.materi-item+.materi-item{margin-top:10px}.materi-item .judul{font-weight:600;font-size:14px}.video-wrap{position:relative;padding-top:56.25%;margin-top:10px;border-radius:8px;overflow:hidden;background:#000}.video-wrap iframe,.video-wrap video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.deadline{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:700}.deadline.aman{background:var(--primary-light);color:var(--primary-dark)}.deadline.mendesak{background:#fdf0d5;color:#92600a}.deadline.kritis{background:#ffe3e0;color:#b3261e;animation:denyut 1.6s ease-in-out infinite}.deadline.lewat,.deadline.tanpa_batas{background:#eef0f2;color:var(--gray)}@keyframes denyut{0%,to{opacity:1}50%{opacity:.55}}.grup-tugas{margin-bottom:24px}.grup-tugas>h3{font-size:14px;margin-bottom:10px;display:flex;align-items:center;gap:8px}.grup-tugas>h3 .hitung{background:#eef0f2;color:var(--gray);border-radius:999px;padding:1px 9px;font-size:11.5px}.nilai-mapel{background:#fff;border:1px solid var(--border);border-radius:10px;margin-bottom:14px;overflow:hidden}.nilai-mapel .kepala{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fafbfc;border-bottom:1px solid var(--border);flex-wrap:wrap}.nilai-mapel .rata{text-align:right}.nilai-mapel .rata .angka{font-size:22px;font-weight:700;color:var(--primary);line-height:1}.nilai-mapel .rata .lbl{font-size:11px;color:var(--gray)}.pilih-periode{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pilih-periode select{width:auto;min-width:230px}a.polos{color:inherit;display:block}.menu-toggle{display:none}@media (max-width: 860px){.sidebar{position:fixed;inset:0 auto 0 0;transform:translate(-100%);transition:.2s;z-index:40}.sidebar.open{transform:translate(0)}.menu-toggle{display:inline-flex}.content{padding:16px}.topbar{padding:0 14px}.topbar .periode-chip{display:none}}.kartu-tugas{background:#fff;border:1px solid var(--border);border-radius:10px;padding:16px 18px;margin-bottom:12px;display:flex;gap:16px;align-items:center;flex-wrap:wrap;transition:.15s;border-left:4px solid var(--border)}.kartu-tugas:hover{box-shadow:0 4px 16px #11182714}.kartu-tugas.kritis{border-left-color:#b3261e}.kartu-tugas.mendesak{border-left-color:var(--accent)}.kartu-tugas.aman{border-left-color:var(--primary)}.kartu-tugas.lewat,.kartu-tugas.tanpa_batas{border-left-color:var(--gray)}.kartu-tugas .utama{flex:1;min-width:220px}.kartu-tugas .judul{font-weight:700;font-size:15px;margin:6px 0 2px}.kartu-tugas .mapel{font-size:12.5px;color:var(--gray)}.kartu-tugas .aksi{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.kartu-tugas .rincian{width:100%;border-top:1px dashed var(--border);padding-top:10px;margin-top:4px;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;font-size:12.5px;color:var(--gray)}.kartu-tugas .rincian strong{color:var(--text);font-weight:600}.tombol-rincian{background:none;border:none;color:var(--primary);cursor:pointer;font-size:12px;font-weight:600;padding:0;text-align:left}.kartu-ringkas{background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:10px;transition:.15s;cursor:pointer;border-top:4px solid var(--primary)}.kartu-ringkas:hover{box-shadow:0 6px 20px #11182717;transform:translateY(-2px)}.kartu-ringkas.abu{border-top-color:var(--gray)}.kartu-ringkas h3{font-size:15.5px;line-height:1.3}.kartu-ringkas .sub{font-size:12.5px;color:var(--gray)}.kartu-ringkas .angka-baris{display:flex;gap:18px;margin-top:2px}.kartu-ringkas .angka-baris div{font-size:12px;color:var(--gray)}.kartu-ringkas .angka-baris strong{display:block;font-size:18px;color:var(--text)}.kartu-ringkas .kaki{margin-top:auto;padding-top:10px;border-top:1px dashed var(--border);font-size:12px;color:var(--primary);font-weight:600}.paginasi{display:flex;align-items:center;justify-content:center;gap:8px;margin:18px 0 4px;flex-wrap:wrap}.paginasi button{min-width:34px;padding:6px 10px;border:1px solid var(--border);background:#fff;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;color:var(--text)}.paginasi button:not(.aktif):hover:not(:disabled){background:#f9fafb}.paginasi button.aktif:hover{background:var(--primary-dark)}.paginasi button.aktif{background:var(--primary);color:#fff;border-color:var(--primary)}.paginasi button:disabled{opacity:.45;cursor:not-allowed}.paginasi .info{font-size:12.5px;color:var(--gray);margin-right:6px}.rincian-list{display:grid;gap:10px}.rincian-item{border:1px solid var(--border);border-radius:8px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.rincian-item .kiri{min-width:180px}.rincian-item .nama{font-weight:600;font-size:14px}.rincian-item .ket{font-size:12.5px;color:var(--gray);margin-top:2px}.tab-bar{display:flex;gap:6px;border-bottom:1px solid var(--border);margin-bottom:16px}.tab-bar button{border:none;background:none;padding:10px 16px;cursor:pointer;font-size:13.5px;font-weight:600;color:var(--gray);border-bottom:3px solid transparent}.tab-bar button.aktif{color:var(--primary-dark);border-bottom-color:var(--primary)}.landing{background:#fff}.landing-isi{width:100%;max-width:1080px;margin:0 auto;padding:0 20px}.landing-bar{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--border)}.landing-bar .bar-isi{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px;padding-bottom:12px}.landing-bar .identitas{display:flex;align-items:center;gap:10px}.landing-bar .lambang{width:42px;height:42px;border-radius:9px;object-fit:contain;background:#fff;flex-shrink:0}.landing-bar .identitas strong{display:block;font-size:14.5px;color:var(--primary-dark)}.landing-bar .identitas span{font-size:11.5px;color:var(--gray)}.landing-bar nav{display:flex;align-items:center;gap:20px}.landing-bar nav a{color:var(--text);font-size:13.5px;font-weight:500}.landing-bar nav a:hover{color:var(--primary)}.landing-bar nav a.btn{color:#fff}.landing-hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(135deg,#1e40af,#2563eb 55%,#3b82f6);color:#fff;padding:64px 0 72px}.landing-hero .latar-hero{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center 38%;z-index:-2}.landing-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(135deg,#14296de6,#1e40afcc 45%,#2563ebad)}.landing-hero .landing-isi{position:relative}.landing-hero .tanda{display:inline-block;background:#ffffff29;border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:5px 14px;font-size:12.5px;margin-bottom:18px}.landing-hero .kata-sistem{font-size:15px;letter-spacing:7px;font-weight:600;color:#ffffffbf;margin-bottom:2px}.landing-hero .kata-elearning{font-size:clamp(52px,11vw,132px);line-height:.95;font-weight:800;letter-spacing:-2px;margin-bottom:10px;text-transform:uppercase;text-shadow:0 6px 24px rgba(0,0,0,.18)}.landing-hero .kata-sekolah{font-size:clamp(14px,2.2vw,22px);font-weight:600;letter-spacing:2px;color:#fffffff2;margin-bottom:14px}.landing-hero .slogan-hero{font-size:19px;font-weight:500;line-height:1.5;color:#fff;max-width:620px;margin-bottom:14px;padding-left:14px;border-left:3px solid rgba(255,255,255,.5)}.landing-hero h1{font-size:38px;line-height:1.22;margin-bottom:16px}.landing-hero p{max-width:640px;font-size:15px;line-height:1.75;color:#ffffffe6}.tombol-hero{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}.btn.besar{padding:11px 24px;font-size:14.5px}.landing-hero .btn{background:#fff;color:var(--primary-dark)}.landing-hero .btn.secondary{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.55)}.angka-sekolah{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-top:-34px;margin-bottom:20px;position:relative}.angka-sekolah .angka{background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px;text-align:center;box-shadow:0 6px 18px #10182812}.angka-sekolah .angka strong{display:block;font-size:30px;color:var(--primary);line-height:1.1}.angka-sekolah .angka span{font-size:12.5px;color:var(--gray)}.blok-landing{padding:44px 20px}.blok-landing h2{font-size:22px;margin-bottom:6px}.blok-landing .penjelas{color:var(--gray);font-size:14px;margin-bottom:22px}.kartu-fitur-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.kartu-fitur{border:1px solid var(--border);border-radius:12px;padding:22px;background:#fff}.kartu-fitur .ikon{font-size:26px;margin-bottom:10px}.kartu-fitur h3{font-size:16px;margin-bottom:8px}.kartu-fitur p{font-size:13.5px;color:var(--gray);line-height:1.7}.alur-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.alur-item{display:flex;gap:12px;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:16px}.alur-item .nomor{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}.alur-item h3{font-size:14.5px;margin-bottom:4px}.alur-item p{font-size:12.5px;color:var(--gray);line-height:1.6}.profil-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:20px;align-items:start}.profil-identitas{border:1px solid var(--border);border-radius:12px;overflow:hidden}.profil-identitas>div{display:grid;grid-template-columns:170px 1fr;gap:10px;padding:12px 16px;font-size:13.5px}.profil-identitas>div:nth-child(odd){background:var(--bg)}.profil-identitas dt{color:var(--gray)}.profil-identitas dd{font-weight:500}.profil-ajakan{background:var(--primary-light);border-radius:12px;padding:22px}.profil-ajakan h3{font-size:16px;margin-bottom:8px;color:var(--primary-dark)}.profil-ajakan p{font-size:13px;color:var(--text);line-height:1.7;margin-bottom:16px}.landing-kaki{background:#111827;color:#d1d5db;padding:26px 0;margin-top:20px}.landing-kaki strong{display:block;color:#fff;margin-bottom:5px}.landing-kaki span{display:block;font-size:12.5px;line-height:1.7}.landing-kaki .muted{color:#9ca3af;margin-top:6px}.landing-kaki .tautan-sosial{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:7px 14px 7px 10px;border-radius:999px;border:1px solid #374151;background:#1f2937;color:#e5e7eb;font-size:12.5px;font-weight:500}.landing-kaki .tautan-sosial:hover{background:#374151;color:#fff;border-color:#4b5563}.landing-kaki .ikon-ig{width:16px;height:16px;border-radius:5px;flex-shrink:0;background:linear-gradient(45deg,#f9ce34,#ee2a7b,#6228d7);position:relative}.landing-kaki .ikon-ig:before{content:"";position:absolute;top:3.5px;right:3.5px;bottom:3.5px;left:3.5px;border:1.5px solid #fff;border-radius:50%}.landing-kaki .ikon-ig:after{content:"";position:absolute;top:2.5px;right:2.5px;width:2px;height:2px;border-radius:50%;background:#fff}@media (max-width: 760px){.landing-hero h1{font-size:27px}.landing-hero .kata-sistem{letter-spacing:4px;font-size:13px}.landing-hero .kata-elearning{letter-spacing:-1px}.landing-bar nav a:not(.btn){display:none}.profil-grid{grid-template-columns:1fr}.profil-identitas>div{grid-template-columns:1fr;gap:2px}}.pilih-status{width:auto;min-width:136px;padding:5px 8px;font-size:12.5px;font-weight:600;border-radius:6px;cursor:pointer}.pilih-status.aktif{color:#166534;border-color:#bbf7d0;background:#f0fdf4}.pilih-status.nonaktif{color:#4b5563;border-color:var(--border);background:#f9fafb}.pilih-status option{font-weight:500;color:var(--text);background:#fff}.lembar-raport{background:#fff;border:1px solid var(--border);border-radius:10px;padding:22px}.kepala-raport{text-align:center;border-bottom:2px solid var(--text);padding-bottom:14px;margin-bottom:18px}.kepala-raport h3{font-size:17px;letter-spacing:.5px}.kepala-raport>p{font-size:13.5px;color:var(--gray);margin-top:2px}.identitas-raport{width:100%;margin-top:14px;text-align:left;font-size:13px}.identitas-raport td{padding:2px 6px}.identitas-raport td:nth-child(odd){width:110px;color:var(--gray)}.ringkas-raport{margin:0 0 18px}.ringkas-raport .stat{text-align:center}.ringkas-raport .num{font-size:24px}.tabel-raport{font-size:13px}.tabel-raport th.tegak{writing-mode:vertical-rl;transform:rotate(180deg);height:108px;white-space:nowrap;font-size:11.5px;padding:8px 4px}.tabel-raport th.lekat,.tabel-raport td.lekat{position:sticky;left:0;background:#fff;z-index:1}.tabel-raport th.lekat{background:#f9fafb}.tabel-raport th.nama,.tabel-raport td.nama{left:44px;min-width:190px}.tabel-raport .angka-nilai{text-align:center;font-variant-numeric:tabular-nums}.tabel-raport .angka-nilai.tuntas{color:#166534}.tabel-raport .angka-nilai.belum{color:#b45309}.tabel-raport .angka-nilai.muted{color:#d1d5db}.tabel-raport .tebal{font-weight:700}.tabel-raport .tengah{text-align:center}.keterangan-raport{display:grid;grid-template-columns:1.6fr 1fr;gap:24px;margin-top:18px;padding-top:16px;border-top:1px dashed var(--border);font-size:12.5px}.keterangan-raport ul{list-style:none;margin-top:6px;line-height:1.9}.keterangan-raport strong{font-size:13px}@media (max-width: 760px){.keterangan-raport{grid-template-columns:1fr}}@media print{.sidebar,.topbar,.tanpa-cetak,.notice,.paginasi{display:none!important}.content{padding:0!important}.layout{display:block}.lembar-raport{border:0;padding:0}.table-wrap{overflow:visible;border:0}.tabel-raport{font-size:10.5px}.tabel-raport th.tegak{height:92px}body{background:#fff}@page{size:A4 landscape;margin:12mm}}.tautan-beranda{text-align:center;margin-top:16px;font-size:12.5px}.tab-pilih{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.tab-pilih button{border:0;background:#fff;padding:8px 14px;font-size:13px;font-weight:600;color:var(--gray);cursor:pointer}.tab-pilih button+button{border-left:1px solid var(--border)}.tab-pilih button.aktif{background:var(--primary);color:#fff}.lembar-jadwal{background:#fff;border:1px solid var(--border);border-radius:10px;padding:22px}.kepala-jadwal{text-align:center;border-bottom:2px solid var(--text);padding-bottom:12px;margin-bottom:18px}.kepala-jadwal h3{font-size:16px;letter-spacing:.4px}.kepala-jadwal p{font-size:13.5px;margin-top:2px}.jadwal-hari+.jadwal-hari{margin-top:22px}.jadwal-hari .judul-hari{font-weight:700;font-size:13.5px;letter-spacing:.5px;background:var(--primary-light);color:var(--primary-dark);padding:6px 10px;border-radius:6px 6px 0 0}.tabel-jadwal{width:100%;border-collapse:collapse;font-size:12px}.tabel-jadwal th,.tabel-jadwal td{border:1px solid #cbd5e1;padding:4px 6px;text-align:center;white-space:nowrap}.tabel-jadwal thead th{background:#f1f5f9;font-size:11.5px;font-weight:700}.tabel-jadwal .kol-jam{width:62px;background:#f8fafc;font-weight:600}.tabel-jadwal td.kegiatan{background:#fef9c3;font-weight:600;font-size:11px;letter-spacing:.3px}.tabel-jadwal td.sorot,.tabel-jadwal th.sorot{background:var(--primary-light);color:var(--primary-dark);font-weight:700}.tabel-jadwal .baris-istirahat td{background:#f8fafc;color:var(--gray);font-size:11px;letter-spacing:.4px}.legenda-jadwal{display:grid;grid-template-columns:1.3fr 1.1fr .8fr;gap:24px;margin-top:22px;padding-top:16px;border-top:1px dashed var(--border);font-size:12.5px}.legenda-jadwal h4{font-size:12.5px;letter-spacing:.4px;margin-bottom:8px}.legenda-jadwal ul,.legenda-jadwal ol{list-style:none;line-height:1.85}.kode-guru li .no{display:inline-block;min-width:22px;font-weight:700;color:var(--primary)}.kode-mapel li{display:flex;gap:6px;align-items:baseline}.tabel-waktu{width:100%;border-collapse:collapse;font-size:12px}.tabel-waktu td{border:1px solid var(--border);padding:3px 6px}.tabel-waktu td:first-child{width:58px;text-align:center;font-weight:600}.tabel-waktu tr.istirahat td{background:#f8fafc;color:var(--gray);font-weight:400}@media (max-width: 900px){.legenda-jadwal{grid-template-columns:1fr}}.jadwal-saya-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.kartu-hari{background:#fff;border:1px solid var(--border);border-radius:10px;padding:16px}.kartu-hari h3{font-size:13.5px;letter-spacing:.5px;color:var(--primary-dark);padding-bottom:8px;border-bottom:1px solid var(--border);margin-bottom:10px}.kartu-hari ul{list-style:none}.kartu-hari li{display:flex;gap:10px;padding:7px 0}.kartu-hari li+li{border-top:1px dashed var(--border)}.kartu-hari li.kegiatan .nama{color:#92600a}.kartu-hari .jam{flex-shrink:0;width:56px;text-align:center}.kartu-hari .jam strong{display:block;font-size:15px;color:var(--primary);line-height:1.1}.kartu-hari .jam small{font-size:10px;color:var(--gray)}.kartu-hari .isi{min-width:0}.kartu-hari .nama{display:block;font-weight:600;font-size:12.5px}.kartu-hari .ket{font-size:11.5px;color:var(--gray)}.kartu-hari .kosong{font-size:12.5px;padding:6px 0}.kartu-hari h3{display:flex;align-items:center;justify-content:space-between;gap:8px}.kartu-hari.hari-ini{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary) inset}.kartu-hari.hari-ini h3{color:var(--primary)}.jadwal-saya-grid.ringkas{grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:12px}.jadwal-saya-grid.ringkas .kartu-hari{padding:12px}.jadwal-saya-grid.ringkas .jam{width:52px}.jadwal-saya-grid.ringkas .jam small{font-size:9.5px;white-space:nowrap}.jadwal-saya-grid.ringkas li{gap:8px}.kartu-sapaan h3{margin-bottom:8px}.kartu-sapaan p{line-height:1.8}.kartu-sapaan p+p{margin-top:8px}.presensi-saya{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px dashed var(--border)}.presensi-saya .status-besar{margin-top:4px;font-size:15px}.rekap-presensi{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:10px;margin-top:14px}.rekap-presensi div{background:#f8fafc;border:1px solid var(--border);border-radius:8px;padding:10px;text-align:center;font-size:11.5px;color:var(--gray)}.rekap-presensi strong{display:block;font-size:19px;color:var(--text);line-height:1.2}.tabel-raport .sel-hadir{text-align:center;font-weight:700;font-size:11.5px}.tabel-raport .sel-hadir.hadir{color:#166534;background:#f0fdf4}.tabel-raport .sel-hadir.sakit{color:#92600a;background:#fdf9ed}.tabel-raport .sel-hadir.izin{color:#1e40af;background:#eff6ff}.tabel-raport .sel-hadir.alpa{color:#a12622;background:#fdf2f2}@media print{.tab-pilih{display:none!important}.lembar-jadwal{border:0;padding:0}.tabel-jadwal{font-size:9px}.tabel-jadwal th,.tabel-jadwal td{padding:2px 3px}.jadwal-hari{break-inside:avoid}}.tabel-jadwal-sunting td.dapat-disunting{cursor:pointer}.tabel-jadwal-sunting td.dapat-disunting:hover{background:var(--primary-light);outline:2px solid var(--primary);outline-offset:-2px}.tabel-jadwal-sunting td.kosong{color:#cbd5e1;font-weight:700}.tabel-raport .baris-rata td{background:#f8fafc;border-top:2px solid var(--border)}.cari-siswa{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0 10px}.cari-siswa input{flex:1;min-width:220px;max-width:420px}.cari-siswa .muted{font-size:12.5px;white-space:nowrap}.lampiran-gambar{display:block;margin:6px 0}.lampiran-gambar img{max-width:100%;max-height:260px;border-radius:8px;border:1px solid var(--border);background:#fff;display:block}.lampiran-gambar:hover img{border-color:var(--primary)}.lampiran-berkas{display:inline-flex;align-items:center;gap:6px;margin:6px 0;padding:6px 12px;border:1px solid var(--border);border-radius:999px;background:#fff;font-size:12.5px;color:var(--primary-dark);word-break:break-all}.lampiran-berkas:hover{background:var(--primary-light);border-color:var(--primary)}.isian-lampiran{margin-top:8px;padding:10px;border:1px dashed var(--border);border-radius:8px;background:#fbfcfe}.isian-lampiran>label{display:block;font-size:11.5px;margin-bottom:6px;font-weight:500}.isian-lampiran input[type=file]{font-size:12px;padding:6px}.lampiran-tersimpan{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;margin-bottom:8px}.akun-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;align-items:start}.akun-grid .card+.card{margin-top:0}.daftar-identitas>div{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:9px 0;font-size:13.5px}.daftar-identitas>div+div{border-top:1px dashed var(--border)}.daftar-identitas dt{color:var(--gray)}.daftar-identitas dd{font-weight:600;word-break:break-word}.pilih-tampak{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--gray);cursor:pointer}.pilih-tampak input{width:auto;margin:0}.field small{display:block;margin-top:4px;font-size:11.5px}.tautan-akun{display:flex;align-items:center;gap:10px;color:inherit;padding:4px 8px 4px 4px;border-radius:999px}.tautan-akun:hover{background:var(--bg)}.tautan-akun.active{background:var(--primary-light)}.tabel-raport .sisa-bobot{display:block;font-size:9.5px;font-weight:500;color:var(--gray);line-height:1.3;margin-top:1px}
