.fc-timegrid-event,
.fc-timegrid-event-short {
    position: relative;
    z-index: 1;
    box-sizing: border-box
}

.schedule-container {
    max-width: 1400px;
    margin: 2rem auto;
    padding: 0 1rem
}

.schedule-filters,
.schedule-header {
    border-radius: 12px;
    margin-bottom: 2rem
}

.schedule-header {
    background: var(--gradient-sidebar);
    color: var(--text-inverse);
    padding: 2rem;
    box-shadow: 0 4px 6px var(--shadow-md)
}

.calendar-wrapper,
.schedule-filters {
    background: var(--bg-card);
    padding: 1.5rem;
    box-shadow: 0 2px 4px var(--shadow-sm)
}

.schedule-header h1 {
    margin: 0 0 .5rem;
    font-size: 2rem;
    color: var(--text-inverse);
    font-family: var(--font-heading)
}

.schedule-header p {
    margin: 0;
    opacity: .9;
    color: var(--text-inverse);
    font-family: var(--font-body)
}

.filter-group label,
.filter-group select {
    color: var(--text-primary);
    font-family: var(--font-body)
}

.filter-group {
    margin-bottom: 1rem
}

.event-detail-item:last-child,
.filter-group:last-child {
    margin-bottom: 0
}

.filter-group label {
    display: block;
    font-weight: 600;
    margin-bottom: .5rem
}

.filter-group select {
    width: 100%;
    padding: .75rem;
    border: 2px solid var(--border-color);
    border-radius: 8px;
    font-size: 1rem;
    transition: border-color .3s;
    background-color: var(--bg-card)
}

.filter-group select:focus {
    outline: 0;
    border-color: var(--color-primary)
}

.calendar-wrapper {
    border-radius: 12px;
    transition: opacity .18s;
    scroll-margin-top: 90px
}

.fc-event,
.fc-timegrid-event {
    transition: transform .2s, z-index .2s, box-shadow .2s;
    word-wrap: break-word;
    word-break: break-word
}

.calendar-wrapper.is-loading {
    opacity: .3;
    pointer-events: none
}

@keyframes scheduleViewFadeIn {
    from {
        opacity: 0;
        transform: translateY(6px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.calendar-wrapper.view-ready>* {
    animation: .22s forwards scheduleViewFadeIn
}

#calendar {
    max-width: 100%
}

.fc-toolbar-title {
    font-size: 1.5rem !important;
    font-weight: 600 !important;
    color: var(--text-primary) !important;
    font-family: var(--font-heading) !important
}

.fc-button {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    text-transform: capitalize !important;
    color: var(--text-inverse) !important
}

.fc-button:hover {
    background-color: var(--color-primary-hover) !important;
    border-color: var(--color-primary-hover) !important
}

.fc-button:disabled {
    opacity: .5 !important
}

.fc-event {
    cursor: pointer;
    border-radius: 4px;
    padding: 2px 4px;
    overflow: hidden
}

.fc-event:hover {
    transform: scale(1.02);
    z-index: 10 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .2)
}

.fc-timegrid-event-short:hover,
.fc-timegrid-event:hover {
    z-index: 10 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .3);
    min-width: fit-content;
    max-width: none
}

.fc-event-main,
.fc-event-main-frame,
.fc-event-title,
.fc-event-title-container {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%
}

.fc-event:hover .fc-event-title {
    white-space: normal;
    word-wrap: break-word
}

.fc-daygrid-event {
    margin: 2px 0
}

:not(.dark-mode) .fc-event,
:not(.dark-mode) .fc-event-main,
:not(.dark-mode) .fc-event-main-frame,
:not(.dark-mode) .fc-event-time,
:not(.dark-mode) .fc-event-title,
:not(.dark-mode) .fc-event-title-container,
:not(.dark-mode) .fc-list-event,
:not(.dark-mode) .fc-list-event *,
:not(.dark-mode) .fc-list-event td,
:not(.dark-mode) .fc-list-event-time,
:not(.dark-mode) .fc-list-event-title,
:not(.dark-mode) .fc-timegrid-event,
:not(.dark-mode) .fc-timegrid-event .fc-event-main,
:not(.dark-mode) .fc-timegrid-event .fc-event-time,
:not(.dark-mode) .fc-timegrid-event .fc-event-title {
    color: #1f2937 !important
}

.fc-event-location {
    font-size: .85em;
    color: #fff !important;
    background-color: transparent !important;
    margin-top: 2px
}

.dark-mode .fc-daygrid-event,
.dark-mode .fc-event,
.dark-mode .fc-event-location,
.dark-mode .fc-event-main,
.dark-mode .fc-event-main-frame,
.dark-mode .fc-event-time,
.dark-mode .fc-event-title,
.dark-mode .fc-event-title-container,
.dark-mode .fc-list-event,
.dark-mode .fc-list-event *,
.dark-mode .fc-list-event td *,
.dark-mode .fc-list-event-time,
.dark-mode .fc-list-event-title,
.dark-mode .fc-list-event:hover *,
.dark-mode .fc-list-event:hover .fc-list-event-time,
.dark-mode .fc-list-event:hover .fc-list-event-title,
.dark-mode .fc-list-event:hover td *,
.dark-mode .fc-timegrid-event .fc-event-main,
.dark-mode .fc-timegrid-event .fc-event-main-frame,
.dark-mode .fc-timegrid-event .fc-event-time,
.dark-mode .fc-timegrid-event .fc-event-title,
.dark-mode .fc-timegrid-event .fc-event-title-container,
.dark-mode .fc-timegrid-event-short .fc-event-main,
.dark-mode .fc-timegrid-event-short .fc-event-main-frame,
.dark-mode .fc-timegrid-event-short .fc-event-time,
.dark-mode .fc-timegrid-event-short .fc-event-title,
.dark-mode .fc-timegrid-event-short .fc-event-title-container {
    color: var(--text-inverse) !important
}

.dark-mode .fc-daygrid-event:hover,
.dark-mode .fc-event:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, .5)
}

.dark-mode .fc-daygrid-event-dot {
    border-color: var(--text-inverse) !important
}

.dark-mode .fc-timegrid-event,
.dark-mode .fc-timegrid-event-short {
    color: var(--text-inverse) !important;
    overflow: hidden !important
}

.dark-mode .fc-timegrid-event-short:hover,
.dark-mode .fc-timegrid-event:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, .5)
}

.fc-timegrid-event {
    overflow: hidden !important
}

.fc-timegrid-event .fc-event-main-frame {
    width: 100%;
    height: 100%;
    box-sizing: border-box
}

.fc-timegrid-event .fc-event-title-container {
    width: 100%;
    box-sizing: border-box
}

.fc-timegrid-event .fc-event-title {
    box-sizing: border-box
}

.fc-timegrid-event .fc-event-time {
    box-sizing: border-box;
    font-size: .85em
}

.fc-timegrid-event:hover {
    overflow: visible;
    transform: scale(1.05)
}

.fc-timegrid-event:hover .fc-event-title {
    word-wrap: break-word;
    word-break: break-word;
    overflow: visible
}

.fc-timegrid-event:hover .fc-event-time {
    word-wrap: break-word;
    overflow: visible
}

.fc-timegrid-event-short {
    transition: transform .2s, z-index .2s, box-shadow .2s, width .2s;
    word-wrap: break-word;
    word-break: break-word;
    overflow: hidden !important
}

.fc-timegrid-event-short:hover {
    transform: scale(1.1)
}

.fc-timegrid-event .fc-event-main,
.fc-timegrid-event .fc-event-main-frame,
.fc-timegrid-event .fc-event-title-container {
    overflow: hidden;
    max-width: 100%
}

.fc-timegrid-event .fc-event-time,
.fc-timegrid-event .fc-event-title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
    display: block
}

.fc-timegrid-event-short:hover .fc-event-time,
.fc-timegrid-event-short:hover .fc-event-title,
.fc-timegrid-event:hover .fc-event-time,
.fc-timegrid-event:hover .fc-event-title {
    white-space: normal;
    word-wrap: break-word;
    text-overflow: clip
}

.fc-timegrid-event-mirror,
.fc-timegrid-event.fc-event-mirror {
    z-index: 999 !important
}

.fc-timegrid-event-short .fc-event-main-frame,
.fc-timegrid-event-short .fc-event-time,
.fc-timegrid-event-short .fc-event-title,
.fc-timegrid-event-short .fc-event-title-container {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
    box-sizing: border-box
}

.fc-timegrid-event-short:hover {
    overflow: visible
}

.fc-timegrid-event-short:hover .fc-event-time,
.fc-timegrid-event-short:hover .fc-event-title {
    white-space: normal;
    word-wrap: break-word;
    word-break: break-word;
    overflow: visible
}

.dark-mode .fc,
.dark-mode .fc-daygrid-day-top {
    color: var(--text-primary)
}

.dark-mode .fc-theme-standard .fc-scrollgrid,
.dark-mode .fc-theme-standard td,
.dark-mode .fc-theme-standard th {
    border-color: var(--border-color)
}

.dark-mode .fc-list-table,
.dark-mode .fc-list-table td,
.dark-mode .fc-timegrid-col,
.dark-mode .fc-timegrid-col-frame,
.dark-mode .fc-timegrid-slot {
    border-color: var(--border-color) !important
}

.dark-mode .fc-col-header-cell {
    background-color: var(--bg-secondary);
    color: var(--text-primary)
}

.fc-col-header-cell a,
.fc-col-header-cell-cushion,
.fc-daygrid-day-number a,
.fc-daygrid-day-top a,
.fc-list-day a,
.fc-list-day-cushion,
.fc-timegrid-col-header-cell a,
.fc-timegrid-col-header-cell-cushion {
    text-decoration: none !important;
    cursor: default !important;
    pointer-events: none !important
}

.fc-col-header-cell a:hover,
.fc-col-header-cell-cushion:hover,
.fc-daygrid-day-number a:hover,
.fc-daygrid-day-top a:hover,
.fc-list-day a:hover,
.fc-list-day-cushion:hover,
.fc-timegrid-col-header-cell a:hover,
.fc-timegrid-col-header-cell-cushion:hover {
    text-decoration: none !important;
    cursor: default !important;
    color: inherit !important
}

.dark-mode .fc-daygrid-day-number,
.dark-mode .fc-daygrid-day-number a,
.dark-mode .fc-daygrid-day-top a,
.dark-mode .fc-list,
.dark-mode .fc-list-day *,
.dark-mode .fc-list-day-cushion,
.dark-mode .fc-list-table,
.dark-mode .fc-list-table th,
.dark-mode .fc-list>*,
.dark-mode .fc-timeGridDay-view .fc-timegrid-col-header,
.dark-mode .fc-timeGridDay-view .fc-timegrid-slot-label,
.dark-mode .fc-timegrid-axis-cushion,
.dark-mode .fc-timegrid-col-header,
.dark-mode .fc-timegrid-col-header-cell-cushion,
.dark-mode .fc-timegrid-slot-label {
    color: var(--text-primary) !important
}

.dark-mode .fc-daygrid-day {
    background-color: var(--bg-card)
}

.dark-mode .fc-day-today {
    background-color: var(--bg-hover) !important
}

.dark-mode .fc-daygrid-day.fc-day-today .fc-daygrid-day-number {
    color: var(--color-primary) !important;
    font-weight: 700
}

.dark-mode .fc-day-other .fc-daygrid-day-top {
    opacity: .5
}

.dark-mode .fc-timegrid-col-header {
    background-color: var(--bg-secondary) !important
}

.dark-mode .fc-list-day,
.dark-mode .fc-list-table th,
.dark-mode .fc-timegrid-axis,
.dark-mode .fc-timegrid-col-header-cell {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important
}

.dark-mode .fc-timegrid-col {
    background-color: var(--bg-card) !important
}

.dark-mode .fc-list {
    background-color: var(--bg-card) !important
}

.dark-mode .fc-list-event:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, .3)
}

.dark-mode .fc-list-event td,
.dark-mode .fc-list-event:hover td {
    color: var(--text-inverse) !important;
    background-color: inherit !important
}

.no-group-selected {
    text-align: center;
    padding: 3rem;
    color: var(--text-tertiary)
}

.no-group-selected i {
    font-size: 4rem;
    margin-bottom: 1rem;
    color: var(--text-muted)
}

.calendar-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 1rem;
    padding: 1rem;
    background: var(--bg-secondary);
    border-radius: 8px
}

.legend-item {
    display: flex;
    align-items: center;
    gap: .5rem
}

.legend-color {
    width: 20px;
    height: 20px;
    border-radius: 4px
}

.event-modal,
.event-modal-overlay {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.legend-label {
    font-size: .9rem;
    color: var(--text-secondary)
}

.event-modal {
    display: none;
    position: fixed;
    z-index: 10000;
    align-items: center;
    justify-content: center
}

.event-modal-overlay {
    position: absolute;
    background-color: rgba(0, 0, 0, .6);
    backdrop-filter: blur(4px)
}

.event-modal-content {
    position: relative;
    background-color: var(--bg-card);
    border-radius: 12px;
    box-shadow: 0 8px 32px var(--shadow-lg);
    max-width: 500px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    z-index: 10001;
    animation: .3s modalFadeIn
}

@keyframes modalFadeIn {
    from {
        opacity: 0;
        transform: scale(.9)
    }

    to {
        opacity: 1;
        transform: scale(1)
    }
}

.event-modal-close {
    position: absolute;
    top: 15px;
    right: 15px;
    background: 0 0;
    border: none;
    font-size: 28px;
    color: var(--text-tertiary);
    cursor: pointer;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: .3s;
    line-height: 1;
    padding: 0
}

.event-modal-close:hover {
    background-color: var(--bg-hover);
    color: var(--text-primary);
    transform: rotate(90deg)
}

.event-modal-header {
    padding: 24px 24px 16px;
    border-bottom: 1px solid var(--border-light)
}

.event-modal-header h2 {
    margin: 0;
    color: var(--text-primary);
    font-size: 1.5rem;
    font-weight: 600
}

.event-modal-body {
    padding: 20px 24px
}

.event-detail-item {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
    padding: 12px;
    background-color: var(--bg-secondary);
    border-radius: 8px;
    transition: background-color .3s
}

.event-detail-icon {
    font-size: 1.2rem;
    flex-shrink: 0
}

.event-detail-text {
    color: var(--text-primary);
    font-size: 1rem;
    flex: 1
}

.event-modal-footer {
    padding: 16px 24px 24px;
    border-top: 1px solid var(--border-light);
    display: flex;
    justify-content: flex-end
}

.event-modal-button {
    background-color: var(--color-primary);
    color: var(--text-inverse);
    border: none;
    padding: 10px 24px;
    border-radius: 6px;
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
    transition: .3s
}

.event-modal-button:hover {
    background-color: var(--color-primary-hover);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px var(--shadow-md)
}

.event-modal-button:active {
    transform: translateY(0)
}

@media (min-width:768px) {
    .schedule-filters {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1.5rem
    }

    .filter-group {
        margin-bottom: 0
    }
}

@media (max-width:767px) {

    .calendar-wrapper,
    .fc-timeGridWeek-view {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch
    }

    #calendar,
    .calendar-wrapper,
    .fc-timeGridWeek-view {
        -webkit-overflow-scrolling: touch
    }

    .schedule-container {
        padding: 0 .5rem;
        margin: 1rem auto;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box
    }

    .filter-group,
    .schedule-filters,
    .schedule-header {
        margin-bottom: 1rem
    }

    #calendar,
    .calendar-wrapper,
    .fc {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box
    }

    #calendar {
        overflow-x: hidden !important;
        scrollbar-width: thin
    }

    .schedule-header {
        padding: 1.5rem 1rem
    }

    .schedule-header h1 {
        font-size: 1.5rem;
        margin-bottom: .25rem
    }

    .event-detail-text,
    .no-group-selected p,
    .schedule-header p {
        font-size: .9rem
    }

    .schedule-filters {
        padding: 1rem
    }

    .filter-group label {
        font-size: .9rem;
        margin-bottom: .4rem
    }

    .filter-group select {
        padding: .6rem;
        font-size: .95rem
    }

    .calendar-wrapper {
        padding: .75rem
    }

    .fc-toolbar {
        flex-direction: column;
        gap: .5rem
    }

    .fc-toolbar-chunk {
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center
    }

    .fc-toolbar-title {
        font-size: 1.1rem !important;
        margin: .5rem 0;
        text-align: center
    }

    .fc-button-group {
        display: flex;
        flex-wrap: wrap;
        gap: .25rem;
        justify-content: center
    }

    .fc-button {
        font-size: .75rem !important;
        padding: .4rem .6rem !important;
        border-radius: 4px !important
    }

    .fc-next-button,
    .fc-prev-button,
    .fc-today-button {
        font-size: .7rem !important;
        padding: .35rem .5rem !important
    }

    .fc-timeGridDay-view .fc-timegrid-slot-label {
        font-size: .7rem;
        padding: .25rem;
        width: 3rem
    }

    .fc-timeGridDay-view .fc-timegrid-col {
        min-width: auto
    }

    .fc-timeGridDay-view .fc-timegrid-event {
        font-size: .75rem;
        padding: 2px 4px;
        margin: 1px 0
    }

    .fc-timeGridDay-view .fc-event-title {
        font-size: .7rem;
        line-height: 1.2
    }

    .fc-timeGridDay-view .fc-event-time {
        font-size: .65rem
    }

    .fc-timeGridWeek-view .fc-timegrid-col,
    .fc-timeGridWeek-view .fc-timegrid-col-header {
        min-width: 80px
    }

    .fc-timeGridWeek-view .fc-timegrid-slot-label {
        font-size: .65rem;
        padding: .2rem .25rem;
        width: 2.5rem
    }

    .fc-timeGridWeek-view .fc-timegrid-event {
        font-size: .7rem;
        padding: 1px 2px;
        margin: .5px 0
    }

    .fc-timeGridWeek-view .fc-event-title {
        font-size: .65rem;
        line-height: 1.1;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis
    }

    .fc-listWeek-view,
    .fc-listWeek-view .fc-scroller,
    .fc-listWeek-view .fc-view-harness {
        overflow-x: hidden !important;
        max-width: 100% !important;
        width: 100% !important
    }

    .fc-timeGridWeek-view .fc-event-time {
        font-size: .6rem;
        display: none
    }

    .fc-timeGridWeek-view .fc-col-header-cell {
        font-size: .75rem;
        padding: .5rem .25rem
    }

    .fc-timeGridWeek-view .fc-col-header-cell-cushion {
        padding: .25rem;
        font-weight: 600
    }

    .fc-listWeek-view .fc-scroller {
        overflow-y: auto !important
    }

    .fc-listWeek-view .fc-scroller-liquid-absolute {
        width: 100% !important;
        max-width: 100% !important
    }

    .fc-listWeek-view .fc-list-table {
        font-size: .85rem;
        width: 100% !important;
        max-width: 100% !important;
        table-layout: fixed !important;
        box-sizing: border-box !important
    }

    .fc-listWeek-view .fc-list-day {
        font-size: .9rem;
        padding: .5rem;
        width: 100% !important;
        box-sizing: border-box !important
    }

    .fc-listWeek-view .fc-list-day-cushion {
        padding: .5rem .75rem;
        font-weight: 600;
        word-wrap: break-word;
        overflow-wrap: break-word
    }

    .fc-listWeek-view .fc-list-event {
        font-size: .8rem;
        padding: .5rem .75rem;
        margin: .25rem 0;
        width: 100% !important;
        box-sizing: border-box !important;
        display: table-row !important
    }

    .fc-listWeek-view .fc-list-event td {
        padding: .5rem !important;
        word-wrap: break-word;
        overflow-wrap: break-word;
        max-width: 0 !important
    }

    .fc-listWeek-view .fc-list-event-title {
        font-size: .85rem;
        font-weight: 500;
        margin-bottom: .25rem;
        word-wrap: break-word;
        overflow-wrap: break-word;
        max-width: 100%
    }

    .fc-listWeek-view .fc-list-event-time {
        font-size: .75rem;
        opacity: .9;
        white-space: nowrap;
        width: 60px !important;
        min-width: 60px !important;
        max-width: 60px !important
    }

    .fc-listWeek-view .fc-list-table td,
    .fc-listWeek-view .fc-list-table th {
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important
    }

    .calendar-legend {
        flex-direction: column;
        gap: .5rem;
        padding: .75rem;
        margin-top: .75rem;
        flex-wrap: wrap
    }

    .legend-item {
        gap: .4rem
    }

    .legend-color {
        width: 16px;
        height: 16px
    }

    .legend-label {
        font-size: .8rem
    }

    .event-modal-content {
        width: 95%;
        max-width: 95%;
        margin: 1rem;
        max-height: 85vh
    }

    .event-modal-header {
        padding: 1rem 1rem .75rem
    }

    .event-modal-header h2 {
        font-size: 1.2rem;
        padding-right: 2rem
    }

    .event-modal-close {
        top: 10px;
        right: 10px;
        width: 28px;
        height: 28px;
        font-size: 24px
    }

    .event-modal-body {
        padding: 1rem
    }

    .event-detail-item {
        padding: .75rem;
        margin-bottom: .75rem;
        gap: .75rem
    }

    .event-detail-icon {
        font-size: 1rem
    }

    .event-modal-footer {
        padding: .75rem 1rem 1rem
    }

    .event-modal-button {
        padding: .75rem 1.5rem;
        font-size: .9rem;
        width: 100%
    }

    .no-group-selected {
        padding: 2rem 1rem
    }

    .no-group-selected h3 {
        font-size: 1.2rem
    }

    #calendar::-webkit-scrollbar {
        height: 6px
    }

    #calendar::-webkit-scrollbar-track {
        background: rgba(0, 0, 0, .1)
    }

    #calendar::-webkit-scrollbar-thumb {
        background: rgba(0, 0, 0, .3);
        border-radius: 3px
    }

    .fc-view-selector-mobile {
        width: 100%;
        margin-top: .5rem;
        padding: .5rem;
        background: var(--bg-secondary);
        border-radius: 8px
    }

    .fc-view-selector-mobile button {
        flex: 1;
        min-width: 80px;
        padding: .5rem .75rem;
        font-size: .85rem;
        font-weight: 500;
        border-radius: 6px;
        transition: .3s
    }

    .fc-view-selector-mobile button.fc-button-active {
        background-color: var(--color-primary) !important;
        border-color: var(--color-primary) !important;
        color: var(--text-inverse) !important;
        font-weight: 600;
        transform: scale(1.05)
    }

    .fc-view-selector-mobile button:hover {
        transform: translateY(-1px)
    }
}

@media (max-width:480px) {
    .schedule-header h1 {
        font-size: 1.25rem
    }

    .schedule-header p {
        font-size: .85rem
    }

    .fc-toolbar-title {
        font-size: 1rem !important
    }

    .fc-button {
        font-size: .7rem !important;
        padding: .35rem .5rem !important
    }

    .fc-timeGridWeek-view .fc-timegrid-col,
    .fc-timeGridWeek-view .fc-timegrid-col-header {
        min-width: 70px
    }

    .fc-timeGridWeek-view .fc-col-header-cell {
        font-size: .7rem;
        padding: .4rem .2rem
    }

    .calendar-legend {
        padding: .5rem
    }

    .legend-item {
        gap: .3rem
    }

    .legend-color {
        width: 14px;
        height: 14px
    }

    .fc-listWeek-view .fc-list-table,
    .legend-label {
        font-size: .75rem
    }

    .fc-listWeek-view .fc-list-day {
        font-size: .8rem;
        padding: .4rem
    }

    .fc-listWeek-view .fc-list-day-cushion {
        padding: .4rem .5rem
    }

    .fc-listWeek-view .fc-list-event {
        font-size: .7rem;
        padding: .4rem .5rem;
        margin: .2rem 0
    }

    .fc-listWeek-view .fc-list-event-title {
        font-size: .75rem;
        margin-bottom: .2rem
    }

    .fc-listWeek-view .fc-list-event-time {
        font-size: .65rem;
        width: 50px !important;
        min-width: 50px !important;
        max-width: 50px !important
    }

    .fc-listWeek-view .fc-list-event td {
        padding: .3rem .4rem !important
    }
}
