/* LMS Events Calendar Styles */
.lms-calendar-wrapper { max-width: 1200px; margin: 40px auto; font-family: 'Figtree', sans-serif; display: grid; grid-template-columns: 2fr 1fr; gap: 40px; }
.lms-calendar-main { background: white; border-radius: 16px; padding: 30px; box-shadow: 0 10px 30px rgba(0,0,0,0.05); }
.lms-calendar-sidebar { background: #F8FAFC; border-radius: 16px; padding: 30px; border: 1px solid #E2E8F0; }
.calendar-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.calendar-header h2 { margin: 0; font-size: 24px; color: #1E293B; }
.calendar-nav-btn { background: white; border: 1px solid #CBD5E1; padding: 5px 12px; border-radius: 6px; cursor: pointer; transition: all 0.2s; }
.calendar-nav-btn:hover { background: #F1F5F9; border-color: #94A3B8; }
.calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 1px; background: #E2E8F0; border: 1px solid #E2E8F0; border-radius: 8px; overflow: hidden; }
.calendar-day-header { background: #F1F5F9; padding: 10px; text-align: center; font-weight: 700; color: #64748B; font-size: 13px; text-transform: uppercase; }
.calendar-day { background: white; min-height: 100px; padding: 10px; position: relative; transition: background 0.2s; }
.calendar-day:hover { background: #FAFAFA; }
.calendar-day.today { background: #F0F9FF; }
.day-number { font-weight: 700; color: #334155; display: block; margin-bottom: 5px; }
.calendar-day.empty { background: #F8FAFC; }
.event-marker { display: block; background: #3B82F6; color: white; font-size: 11px; padding: 2px 6px; border-radius: 4px; margin-bottom: 4px; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: pointer; }
.event-list-item { margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid #E2E8F0; }
.event-list-item:last-child { border-bottom: none; }
.event-date-badge { display: inline-block; background: #1E293B; color: white; padding: 4px 10px; border-radius: 20px; font-size: 12px; font-weight: 700; margin-bottom: 5px; }
.event-list-title { font-size: 16px; font-weight: 700; margin: 5px 0; color: #0F172A; }
.event-meta { font-size: 13px; color: #64748B; display: flex; align-items: center; gap: 5px; margin-top: 5px; }
@media (max-width: 768px) { .lms-calendar-wrapper { grid-template-columns: 1fr; } .calendar-day { min-height: 60px; } .event-marker { font-size: 0; width: 8px; height: 8px; padding: 0; border-radius: 50%; display: inline-block; margin-right: 2px; } }