.calendar.calendar-compact {
    --calendar-card-size: 52px;
    --calendar-side-scale: .88;
}

.calendar.calendar-compact .calender-holder .swiper-calendar .swiper-slide .box {
    transform: translateX(var(--calendar-focus-shift, 0px)) scale(var(--calendar-side-scale));
    transform-origin: center center;
    transition: transform .3s ease;
}

.calendar.calendar-compact .calender-holder .swiper-calendar .swiper-slide-active .box,
.calendar.calendar-compact .calender-holder .swiper-calendar .swiper-container:not(.swiper-initialized) .box.today {
    transform: scale(1);
}

.calendar.calendar-compact .calender-holder .swiper-calendar .swiper-slide .box .head {
    margin-bottom: 12px;
}

.calendar.calendar-compact .calender-holder .swiper-calendar .swiper-slide .box .head .day {
    transform: scale(.7);
    transition: transform .3s ease;
}

.calendar.calendar-compact .calender-holder .swiper-calendar .swiper-slide-active .box .head .day,
.calendar.calendar-compact .calender-holder .swiper-calendar .swiper-container:not(.swiper-initialized) .box.today .head .day {
    transform: scale(1);
}

.calendar.calendar-compact .calender-holder .swiper-calendar .swiper-slide .box .head .date {
    color: #777e89;
}

.calendar.calendar-compact .calender-holder .swiper-calendar .swiper-slide .box .data {
    padding: 10px 8px;
    background: #f7f8fa;
    border-color: #b4bbc5;
    border-radius: 0;
    scrollbar-width: thin;
    scrollbar-color: #a7adb6 #f5f6f8;
}

.calendar.calendar-compact .calender-holder .swiper-calendar .swiper-slide .box .data::-webkit-scrollbar:vertical {
    width: 8px;
}

.calendar.calendar-compact .calender-holder .swiper-calendar .swiper-slide .box .data::-webkit-scrollbar-thumb {
    background: #a7adb6;
    border: 2px solid #f5f6f8;
}

.calendar.calendar-compact .calender-holder .swiper-calendar .swiper-slide .box .data::-webkit-scrollbar-track {
    background: #f5f6f8;
}

.calendar.calendar-compact .calender-holder .swiper-calendar .swiper-slide .box.today .head .day {
    color: #b8192b;
}

.calendar.calendar-compact .calender-holder .swiper-calendar .swiper-slide.swiper-slide-active .box .data,
.calendar.calendar-compact .calender-holder .swiper-calendar .swiper-container:not(.swiper-initialized) .box.today .data {
    background: #fff8ec;
    border-color: #929aa7;
}

.calendar.calendar-compact .calender-holder .swiper-calendar .swiper-slide .box .data .group {
    margin-bottom: 14px;
}

.calendar.calendar-compact .calender-holder .swiper-calendar .swiper-slide .box .data .group:last-child {
    margin-bottom: 0;
}

.calendar.calendar-compact .calender-holder .swiper-calendar .swiper-slide .box .data .group .time {
    margin-bottom: 5px;
    padding-left: 6px;
}

.calendar.calendar-compact .calender-holder .swiper-calendar .swiper-slide .box .data .group .time .value {
    color: #242936;
    font-size: 18px;
    line-height: 22px;
    font-variant-numeric: tabular-nums;
}

.calendar.calendar-compact .calender-holder .swiper-calendar .swiper-slide .box .data .group .time .flag {
    border-radius: 0;
}

.calendar.calendar-compact .calender-holder .swiper-calendar .swiper-slide .box .data .group .schedules .item {
    height: auto;
    min-height: var(--calendar-card-size);
    margin-bottom: 5px;
    background: #fff;
    border-color: #ccd1d8;
    border-radius: 0;
    box-shadow: 0 1px 2px rgba(25, 35, 50, .04);
    transition: border-color .15s ease, background-color .15s ease;
}

.calendar.calendar-compact .calender-holder .swiper-calendar .swiper-slide .box .data .group .schedules .item:hover {
    background: #fffafb;
    border-color: #c7858e;
}

.calendar.calendar-compact .calender-holder .swiper-calendar .swiper-slide .box .data .group .schedules .item:focus-visible {
    outline: 2px solid #b8192b;
    outline-offset: -2px;
}

.calendar.calendar-compact .calender-holder .swiper-calendar .swiper-slide .box .data .group .schedules .item:last-of-type {
    margin-bottom: 0;
}

.calendar.calendar-compact .calender-holder .swiper-calendar .swiper-slide .box .data .group .schedules .item .image {
    flex: 0 0 var(--calendar-card-size);
    height: var(--calendar-card-size);
}

.calendar.calendar-compact .calender-holder .swiper-calendar .swiper-slide .box .data .group .schedules .item .holder {
    min-width: 0;
    padding: 5px 8px;
    color: #535b68;
}

.calendar.calendar-compact .calender-holder .swiper-calendar .swiper-slide .box .data .group .schedules .item .holder .home {
    margin-bottom: 4px;
}

@media (min-width: 768px) {
    .calendar.calendar-compact {
        --calendar-card-size: 60px;
    }

    .calendar.calendar-compact .calender-holder .swiper-calendar .swiper-slide .box .data .group .time .value {
        font-size: 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .calendar.calendar-compact .calender-holder .swiper-calendar .swiper-slide .box,
    .calendar.calendar-compact .calender-holder .swiper-calendar .swiper-slide .box .head .day {
        transition: none;
    }
}
