/* ── CALENDAR ────────────────────────────────────── */
.cal-wrap{background:var(--sf);border:1px solid var(--bd);border-radius:var(--r5);box-shadow:var(--sh);overflow:hidden}
.cal-header{display:grid;grid-template-columns:repeat(7,1fr);background:var(--sf2);border-bottom:1px solid var(--bd2)}
.cal-wday{padding:9px;text-align:center;font-size:11px;font-weight:700;color:var(--tx3);text-transform:uppercase;letter-spacing:.4px}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.cal-cell{min-height:96px;padding:7px;border-right:1px solid var(--bd2);border-bottom:1px solid var(--bd2);overflow:hidden}
.cal-cell.empty{background:var(--sf2)}
.cal-cell.today{background:var(--brand-l)}
.cal-day-num{font-size:12.5px;font-weight:700;color:var(--tx3);display:flex;justify-content:flex-end;margin-bottom:4px}
.cal-day-today{display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;border-radius:50%;background:var(--brand);color:#fff;font-size:12px;font-weight:800}
.cal-event{font-size:10.5px;font-weight:700;color:#fff;padding:2px 6px;border-radius:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;margin-bottom:2px;transition:opacity var(--tr)}
.cal-event:hover{opacity:.85}
.cal-nav{display:flex;align-items:center;gap:12px;margin-bottom:14px}

/* Aliases usados pelos renders de calendar.js */
.cal-empty{background:var(--sf2);opacity:.5}
.cal-today{background:var(--brand-l)}
.cal-today-num{color:var(--brand)!important;font-weight:800!important}
.cal-has-events{cursor:default}
.cal-more{font-size:10px;font-weight:700;color:var(--tx3);margin-top:2px}
