/* CalendarPage — Team & Personal Calendar */

.calendar-page { padding: var(--space-6); max-width: var(--content-max-width); margin: 0 auto; }
.calendar-page .page-header { margin-bottom: var(--space-6); }
.calendar-page .page-header h2 { font-size: var(--font-size-2xl); font-weight: var(--font-weight-bold); color: var(--color-text); margin: 0 0 var(--space-1); }
.calendar-page .page-header__subtitle { font-size: var(--font-size-sm); color: var(--color-text-secondary); margin: 0; }

.calendar-today { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-text); margin-bottom: var(--space-4); }

.calendar-week-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: var(--space-2); margin-bottom: var(--space-6); }

.calendar-day { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: var(--space-3); text-align: center; min-height: 80px; }
.calendar-day__name { font-size: var(--font-size-xs); color: var(--color-text-muted); margin-bottom: var(--space-1); text-transform: uppercase; }
.calendar-day__number { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-text); }

.calendar-day--today { border-color: var(--rdx-blue); background: var(--color-info-light); }
.calendar-day--today .calendar-day__number { color: var(--rdx-blue); }
.calendar-day--weekend .calendar-day__name { color: var(--color-danger); }

@media (max-width: 640px) {
  .calendar-week-grid { gap: var(--space-1); }
  .calendar-day { min-height: 56px; padding: var(--space-2); }
  .calendar-day__name { font-size: 10px; }
  .calendar-day__number { font-size: var(--font-size-base); }
}

@media (max-width: 480px) {
  .calendar-page { padding: var(--space-4); }
  .calendar-day { min-height: 48px; padding: var(--space-1); }
  .calendar-day__name { font-size: 9px; letter-spacing: 0; }
  .calendar-day__number { font-size: var(--font-size-sm); }
}
