.routine-calendar-page { max-width: 1800px; }
.routine-calendar-card { min-height: 720px; padding: 0; position: relative; }
.routine-fullcalendar { --fc-border-color: var(--cal-line); --fc-button-bg-color: #fff; --fc-button-border-color: var(--cal-line); --fc-button-hover-bg-color: #f4f7fb; --fc-button-hover-border-color: #d8dee8; --fc-button-active-bg-color: var(--cal-blue); --fc-button-active-border-color: var(--cal-blue); --fc-today-bg-color: #f5f9ff; }
.routine-fullcalendar.calendar-canvas { overflow: auto; }
.routine-fullcalendar .fc-toolbar { gap: 1rem; margin-bottom: 1rem; }
.routine-fullcalendar .fc-toolbar-title { color: var(--cal-ink); font-size: 1.08rem; font-weight: 750; text-transform: capitalize; }
.routine-fullcalendar .fc-button { border-radius: 7px; box-shadow: none; color: var(--cal-ink); font-size: .82rem; padding: .45rem .65rem; text-transform: none; }
.routine-fullcalendar .fc-button-active { color: #fff; }
.routine-fullcalendar .calendar-weekday .fc-col-header-cell-cushion { color: var(--cal-muted); font-size: .75rem; font-weight: 750; padding: .65rem; text-transform: capitalize; }
.routine-fullcalendar .calendar-day { min-height: 125px; padding: 0; }
.routine-fullcalendar .calendar-day .fc-daygrid-day-number { color: var(--cal-ink); display: grid; font-size: .78rem; height: 1.65rem; place-items: center; text-decoration: none; width: 1.65rem; }
.routine-fullcalendar .calendar-day.is-today .fc-daygrid-day-number { background: var(--cal-blue); border-radius: 50%; color: #fff; margin: .25rem; }
.routine-fullcalendar .calendar-day.is-outside { background: #fafbfc; color: #abb3c1; }
.routine-fullcalendar .calendar-event { cursor: pointer; font-size: .76rem; min-width: 0; padding: .18rem .35rem; }
.routine-fullcalendar .calendar-event.is-overdue { box-shadow: inset 3px 0 #991b1b; }
.routine-fullcalendar .calendar-event .fc-event-main { align-items: center; display: flex; gap: .35rem; min-width: 0; width: 100%; }
.routine-fullcalendar .calendar-event-title { flex: 1; }
.routine-fullcalendar .fc-view.calendar-month,
.routine-fullcalendar .fc-view.calendar-days-view { display: block; min-height: 0; min-width: 0; }
.routine-fullcalendar .fc-view.calendar-list { padding: 0; }
.routine-fullcalendar .fc-list-event:hover td { background: #f6f9fd; }
.routine-fullcalendar .fc-list-day-cushion { background: #f8f9fc; }
@media (max-width: 900px) {
    .routine-calendar-card { min-height: 600px; }
    .routine-fullcalendar { padding: .65rem; }
}
