.schedule-calendar-panel {
    padding: 24px;
    margin-bottom: 30px;
    background: #fff;
    border: 1px solid #e8edf2;
    border-radius: 8px;
    box-shadow: 0 5px 22px rgba(30, 55, 80, .07);
}

.schedule-calendar-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
}

.schedule-calendar-heading h1 {
    margin: 3px 0 6px;
    color: #263238;
    font-size: 28px;
}

.schedule-calendar-heading p { margin: 0; color: #78909c; }
.schedule-calendar-eyebrow { color: #1683c7; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.schedule-calendar-list { white-space: nowrap; }
#schedule-calendar .fc-header-toolbar {
    padding: 18px 20px;
    background: #f3f8fc;
    border: 1px solid #dce8f1;
    border-radius: 6px;
}
#schedule-calendar .fc-toolbar-title { color: #fff !important; font-size: 22px; font-weight: 700; text-transform: capitalize; }
#schedule-calendar .fc-button-primary { color: #fff !important; background: #176b9f; border-color: #176b9f; }
#schedule-calendar .fc-button-primary:hover,
#schedule-calendar .fc-button-primary:not(:disabled).fc-button-active { color: #fff !important; background: #0e527e; border-color: #0e527e; }
#schedule-calendar .fc-col-header-cell-cushion,
#schedule-calendar .fc-daygrid-day-number { color: #334e62 !important; }
#schedule-calendar .fc-day-other .fc-daygrid-day-number { color: #9aabb8 !important; }
#schedule-calendar .fc-event { color: #fff !important; border: 1px solid #0f638f; background: #1379ad; cursor: pointer; }
#schedule-calendar .fc-event:hover { border-color: #094c70; background: #0d628f; }
#schedule-calendar .fc-event,
#schedule-calendar .fc-event * { color: #fff !important; font-weight: 600; text-decoration: none !important; }
#schedule-calendar .fc-day-today { background: #eef8fd !important; }

.schedule-event-modal-content { overflow: hidden; border: 0; border-radius: 8px; box-shadow: 0 16px 45px rgba(24, 50, 71, .28); }
#schedule-event-modal .modal-header { padding: 22px 24px 18px; color: #fff; background: #176b9f; border-bottom: 0; }
#schedule-event-modal .modal-header .close { color: #fff; opacity: .85; text-shadow: none; }
#schedule-event-modal .modal-title { margin-top: 7px; color: #fff; font-size: 22px; line-height: 1.35; }
.schedule-event-modal-label { font-size: 12px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; opacity: .85; }
#schedule-event-modal .modal-body { padding: 24px; }
.schedule-event-time { display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; margin-bottom: 18px; color: #185f89; background: #eef7fc; border-radius: 5px; font-weight: 600; }
.schedule-event-time .fa { margin-top: 2px; }
#schedule-event-description { margin: 0; color: #526778; line-height: 1.7; }
#schedule-event-modal .modal-footer { padding: 15px 24px; background: #f8fafb; border-top-color: #e8eef2; }

@media (max-width: 767px) {
    .schedule-calendar-panel { padding: 16px; }
    .schedule-calendar-heading { display: block; }
    .schedule-calendar-list { margin-top: 15px; }
    #schedule-calendar .fc-header-toolbar { align-items: stretch; flex-direction: column; gap: 10px; }
    #schedule-calendar .fc-toolbar-chunk { text-align: center; }
    #schedule-calendar .fc-toolbar-chunk:last-child { display: flex; justify-content: center; }
    #schedule-calendar .fc-multimonth-month { width: 100% !important; }
}
