/* ==========================================
   SESSION STATUS COLOURS — THE EVENTS CALENDAR
   Classes are injected via the WordPress post_class filter on tribe_events
   posts (see TeamAPI.php). Works across month, list, and week/day views.
   ========================================== */

/* Month view: colour the event title chip */
.lc-status-scheduled     .tribe-events-calendar-month__calendar-event-title-link { background-color: #dbeafe; color: #1d4ed8 !important; }
.lc-status-completed     .tribe-events-calendar-month__calendar-event-title-link { background-color: #dcfce7; color: #166534 !important; }
.lc-status-rescheduled   .tribe-events-calendar-month__calendar-event-title-link { background-color: #fef3c7; color: #92400e !important; }
.lc-status-cancelled-billable     .tribe-events-calendar-month__calendar-event-title-link { background-color: #ffedd5; color: #9a3412 !important; }
.lc-status-cancelled-not-billable .tribe-events-calendar-month__calendar-event-title-link { background-color: #fee2e2; color: #991b1b !important; text-decoration: line-through; opacity: .75; }

/* List view: coloured left border on event articles */
.tribe-events-calendar-list__event-article.lc-status-scheduled           { border-left: 4px solid #3b82f6; padding-left: 12px; }
.tribe-events-calendar-list__event-article.lc-status-completed           { border-left: 4px solid #22c55e; padding-left: 12px; }
.tribe-events-calendar-list__event-article.lc-status-rescheduled         { border-left: 4px solid #f59e0b; padding-left: 12px; }
.tribe-events-calendar-list__event-article.lc-status-cancelled-billable     { border-left: 4px solid #f97316; padding-left: 12px; }
.tribe-events-calendar-list__event-article.lc-status-cancelled-not-billable { border-left: 4px solid #ef4444; padding-left: 12px; opacity: .75; }

/* Week/Day view (Events Calendar Pro, if active) */
.tribe-events-pro-week-grid__event.lc-status-scheduled           { background-color: #dbeafe; }
.tribe-events-pro-week-grid__event.lc-status-completed           { background-color: #dcfce7; }
.tribe-events-pro-week-grid__event.lc-status-rescheduled         { background-color: #fef3c7; }
.tribe-events-pro-week-grid__event.lc-status-cancelled-billable     { background-color: #ffedd5; }
.tribe-events-pro-week-grid__event.lc-status-cancelled-not-billable { background-color: #fee2e2; opacity: .75; }

/* ==========================================
   ADMIN CALENDAR — RESCHEDULED STATUS + MISSING NOTES WARNING
   ========================================== */

.admin-session-card.rescheduled {
    border-left: 4px solid #f59e0b;
    opacity: .92;
}
.status-rescheduled {
    background: #fef3c7;
    color: #92400e;
}

.admin-session-card.missing-notes {
    border-left-color: #f59e0b !important;
    background-color: #fffbeb;
}
.missing-notes-warning {
    display: inline-flex;
    align-items: center;
    background: #fef3c7;
    color: #92400e;
    padding: 3px 10px;
    border-radius: 12px;
    font-size: .78em;
    font-weight: 700;
    margin-left: 10px;
    vertical-align: middle;
    border: 1px solid #fcd34d;
}

/* ==========================================
   MODAL CENTERING FIX
   ========================================== */

/* 1. Force the container to cover the whole screen */
#reschedule-modal {
    z-index: 999999 !important;
    display: none; /* Default hidden */
}

/* 2. When visible, use Flexbox to center the child */
#reschedule-modal[style*="display: block"],
#reschedule-modal[style*="display:block"] {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* 3. Style the white box to sit in the middle */
.reschedule-modal-content {
    margin: 0 !important;      /* Remove old margins */
    max-height: 90vh !important; /* Prevent it from being taller than screen */
    overflow-y: auto !important; /* Scroll inside the box if needed */
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
}