.app-calendar-wrapper .card-body {
    padding-top: 1rem;
}

#eventDetailModal .modal-body dt {
    font-weight: 600;
}

#eventDetailModal .modal-body dd {
    margin-bottom: 0.5rem;
}

#app-calendar-sidebar {
    max-width: 320px;
}

/* Allow the internal scroller to actually scroll inside flex layouts */
#calendar {
    min-height: 0;
}

/* Make sure the grid sizing includes borders within the fixed height */
.fc .fc-scrollgrid {
    box-sizing: border-box;
}

.fc .fc-day-disabled {
    --fc-neutral-bg-color: #f3f2f3 !important;
}

.fc-theme-standard td.fc-day-disabled {
    border: none !important;
}

.inline-calendar .flatpickr-calendar {
    box-shadow: none;
    width: 100%;
}

.app-calendar-wrapper
    .fc-button-group
    .fc-dayGridMonth-button:not(.fc-prev-button):not(.fc-next-button),
.app-calendar-wrapper
    .fc-button-group
    .fc-timeGridWeek-button:not(.fc-prev-button):not(.fc-next-button),
.app-calendar-wrapper
    .fc-button-group
    .fc-timeGridDay-button:not(.fc-prev-button):not(.fc-next-button),
.app-calendar-wrapper
    .fc-button-group
    .fc-listMonth-button:not(.fc-prev-button):not(.fc-next-button) {
    --fc-button-active-bg-color: var(--bs-primary);
    --fc-button-bg-color: white;
}

.fc {
    --fc-today-bg-color: white;
}

.fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-number {
    background: #f9f2e7;
    color: var(--bs-primary);
    border-radius: 100%;
}

.fc .fc-day-today .fc-col-header-cell-cushion {
    color: var(--bs-primary);
}

.fc
    .fc-view-harness
    .fc-daygrid-body
    .fc-daygrid-day
    .fc-daygrid-day-top
    .fc-daygrid-day-number {
    padding: 4px 8px;
    margin: 0.2rem;
}

.fc-daygrid-day-number {
    cursor: pointer;
}

.fc .fc-day-other .fc-daygrid-day-top {
    opacity: 0.6;
}

.fc .fc-button-group .fc-dayGridMonth-button:not(:disabled).fc-button-active,
.fc .fc-button-group .fc-timeGridWeek-button:not(:disabled).fc-button-active,
.fc .fc-button-group .fc-timeGridDay-button:not(:disabled).fc-button-active,
.fc .fc-button-group .fc-listMonth-button:not(:disabled).fc-button-active,
.fc .fc-button-group .fc-dayGridMonth-button:focus,
.fc .fc-button-group .fc-timeGridWeek-button:focus,
.fc .fc-button-group .fc-timeGridDay-button:focus,
.fc .fc-button-group .fc-listMonth-button:focus {
    color: white;
}

.fc-button:not(.fc-button-active):not([aria-pressed="true"]):not(:active) {
    color: var(--bs-primary) !important;
}

.fc .fc-button-group .fc-dayGridMonth-button,
.fc .fc-button-group .fc-timeGridWeek-button,
.fc .fc-button-group .fc-timeGridDay-button,
.fc .fc-button-group .fc-listMonth-button {
    border: var(--bs-primary) 1px solid !important;
}

.fc-today-button {
    text-transform: capitalize !important;
}

.fc .fc-event {
    cursor: pointer;
    /* box-shadow: var(--bs-card-box-shadow); */
}

.fc-today-button:disabled {
    visibility: hidden;
}

.fc .fc-list-sticky .fc-list-day > * {
    z-index: 1;
}

.fc-button-group,
.fc .fc-today-button,
.fc .fc-col-header-cell,
.fc .fc-daygrid-day-number,
.flatpickr-wrapper .flatpickr-day,
.flatpickr-wrapper .flatpickr-month,
#calendar-type-filter h6,
#calendar-type-filter .form-check-label {
    font-size: 14px;
}

.fc .fc-daygrid-day-events .fc-event,
.fc .fc-view-harness .fc-event,
.fc-list-day,
.fc .fc-view-harness .fc-v-event .fc-event-title,
#calendar-type-filter .form-check {
    font-size: 12px;
}

.fc .fc-toolbar-chunk h2 {
    font-size: 20px;
    font-weight: bold;
}

.fc-timegrid-event-harness {
    box-shadow: var(--bs-card-box-shadow);
    padding: 4px;
}

.fc .fc-view-harness .fc-timegrid-event .fc-event-main,
.fc .fc-view-harness .fc-event {
    padding-inline: 0.25rem;
}

#app-calendar-sidebar .numInputWrapper {
    min-width: 60px;
}

/* Always show the Flatpickr year spinners */
.flatpickr-current-month .numInputWrapper .arrowUp,
.flatpickr-current-month .numInputWrapper .arrowDown {
    opacity: 1 !important; /* override the :hover rule */
    visibility: visible !important;
    display: block !important;
    pointer-events: auto; /* make sure they’re clickable */
}

/* Optional: keep the year non-editable while spinners still work */
.flatpickr-current-month .numInput.cur-year {
    caret-color: transparent;
}

/* Chrome, Safari, Edge, Opera */
#app-calendar-sidebar input[type="number"]::-webkit-outer-spin-button,
#app-calendar-sidebar input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
#app-calendar-sidebar input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield; /* standardized fallback */
}

.flatpickr-calendar .numInputWrapper span.arrowUp,
.flatpickr-calendar .numInputWrapper span.arrowDown {
    padding: 2px 4px;
}
