/* ══════════════════════════════════════════════════════════
   SEKOLAH PRO — MODUL KALENDER
   Diekstrak dari index.html <style> — selektor tidak diubah.
   ══════════════════════════════════════════════════════════ */
/* ══ KALENDER AKADEMIK ══ */
.kal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.kal-day-hdr{text-align:center;font-size:9px;font-weight:700;color:var(--t3);padding:4px}
.kal-day{min-height:52px;border-radius:6px;border:1px solid var(--bdr);padding:3px 4px;cursor:pointer;transition:all .12s;position:relative}
.kal-day:hover{border-color:var(--grn)}
.kal-day.today{border-color:var(--grn);background:var(--grn-bg)}
.kal-day.other-month{opacity:.3}
.kal-day.has-event{border-color:var(--blu)}
.kal-day.libur{background:var(--red-bg);border-color:rgba(255,82,82,.3)}
.kal-day-num{font-size:10px;font-weight:700}
.kal-event-chip{font-size:7px;font-weight:700;border-radius:3px;padding:1px 3px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.event-item{display:flex;align-items:start;gap:10px;padding:9px 0;border-bottom:1px solid var(--bdr)}
.event-item:last-child{border-bottom:none}
.event-date-box{min-width:44px;text-align:center;background:var(--s2);border-radius:8px;padding:5px 4px;flex-shrink:0}
.event-date-day{font-size:18px;font-weight:900;line-height:1;font-family:'Courier New',monospace}
.event-date-mon{font-size:9px;color:var(--t3);text-transform:uppercase}
.event-info{flex:1}
.event-title{font-size:13px;font-weight:700}
.event-desc{font-size:11px;color:var(--t3);margin-top:2px}
.event-badge{font-size:9px;font-weight:700;padding:2px 7px;border-radius:8px;display:inline-block;margin-top:4px}
.ev-libur{background:var(--red-bg);color:var(--red)}
.ev-ujian{background:var(--amb-bg);color:var(--amb)}
.ev-kegiatan{background:var(--blu-bg);color:var(--blu)}
.ev-rapat{background:var(--pur-bg);color:var(--pur)}
.ev-lain{background:rgba(255,255,255,.06);color:var(--t2)}
.ev-libur-cal{background:var(--red-bg)!important;color:var(--red)!important}
.ev-ujian-cal{background:var(--amb-bg)!important;color:var(--amb)!important}
.ev-kegiatan-cal{background:var(--blu-bg)!important;color:var(--blu)!important}
.ev-rapat-cal{background:var(--pur-bg)!important;color:var(--pur)!important}
