.cosf-mo-calendar-enhancer {
    --cosf-calendar-category-default: #9ccaea;
    --cosf-calendar-category-0: #8a1024;
    --cosf-calendar-category-1: #ff9f2f;
    --cosf-calendar-category-2: #0b84d8;
    --cosf-calendar-category-3: #facc15;
    --cosf-calendar-category-4: #22a63a;
    --cosf-calendar-category-5: #30c6cc;
    --cosf-calendar-toolbar-bg: #f1f5f9;
    --cosf-calendar-toolbar-text: #1f2937;
}

.cosf-mo-calendar-enhancer .cosf-mo-calendar-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
    margin: 0;
    padding: 1.15rem 1.5rem;
    background: var(--cosf-calendar-toolbar-bg);
    border-radius: 8px;
    color: var(--cosf-calendar-toolbar-text);
    box-sizing: border-box;
}

.cosf-mo-calendar-enhancer .cosf-mo-inline-legend {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.25rem;
    min-width: 0;
}

.cosf-mo-calendar-enhancer .cosf-mo-calendar-controls {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-left: auto;
}

.cosf-mo-calendar-enhancer .cosf-mo-category-filter {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.75rem;
    margin: 0;
}

.cosf-mo-calendar-enhancer .cosf-mo-category-filter label {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0;
    font-weight: 700;
    color: var(--cosf-calendar-toolbar-text);
    white-space: nowrap;
}

.cosf-mo-calendar-enhancer .cosf-mo-category-filter select {
    min-width: 240px;
    max-width: 100%;
    min-height: 42px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    padding: 0.45rem 2rem 0.45rem 0.75rem;
    background-color: #fff;
    color: #0f172a;
    font-size: 15px;
    line-height: 1.4;
}

.cosf-mo-calendar-enhancer .motce_calendar_header_left_arrow,
.cosf-mo-calendar-enhancer .motce_calendar_header_right_arrow {
    top: 55px;
}

.cosf-mo-calendar-enhancer .motce_legend {
    background: var(--cosf-calendar-toolbar-bg) !important;
    color: var(--cosf-calendar-toolbar-text) !important;
    border-radius: 8px !important;
}

.cosf-mo-calendar-enhancer .motce_entry,
.cosf-mo-calendar-enhancer .cosf-mo-inline-legend .motce_entry {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    color: var(--cosf-calendar-toolbar-text) !important;
    background: transparent !important;
    padding-left: 18px !important;
    margin: 0 !important;
    line-height: 1.4 !important;
    font-size: 16px !important;
}

.cosf-mo-calendar-enhancer .motce_entry::after,
.cosf-mo-calendar-enhancer .cosf-mo-inline-legend .motce_entry::after {
    content: '' !important;
    position: absolute !important;
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    left: 2px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: block !important;
}

.cosf-mo-calendar-enhancer .motce_presetdefault:not(.motce_entry) {
    background: var(--cosf-calendar-category-default) !important;
}

.cosf-mo-calendar-enhancer .motce_preset0:not(.motce_entry) {
    background: var(--cosf-calendar-category-0) !important;
}

.cosf-mo-calendar-enhancer .motce_preset1:not(.motce_entry) {
    background: var(--cosf-calendar-category-1) !important;
}

.cosf-mo-calendar-enhancer .motce_preset2:not(.motce_entry) {
    background: var(--cosf-calendar-category-2) !important;
}

.cosf-mo-calendar-enhancer .motce_preset3:not(.motce_entry) {
    background: var(--cosf-calendar-category-3) !important;
}

.cosf-mo-calendar-enhancer .motce_preset4:not(.motce_entry) {
    background: var(--cosf-calendar-category-4) !important;
}

.cosf-mo-calendar-enhancer .motce_preset5:not(.motce_entry) {
    background: var(--cosf-calendar-category-5) !important;
}

.cosf-mo-calendar-enhancer .motce_entry.motce_presetdefault::after {
    background: var(--cosf-calendar-category-default) !important;
}

.cosf-mo-calendar-enhancer .motce_entry.motce_preset0::after {
    background: var(--cosf-calendar-category-0) !important;
}

.cosf-mo-calendar-enhancer .motce_entry.motce_preset1::after {
    background: var(--cosf-calendar-category-1) !important;
}

.cosf-mo-calendar-enhancer .motce_entry.motce_preset2::after {
    background: var(--cosf-calendar-category-2) !important;
}

.cosf-mo-calendar-enhancer .motce_entry.motce_preset3::after {
    background: var(--cosf-calendar-category-3) !important;
}

.cosf-mo-calendar-enhancer .motce_entry.motce_preset4::after {
    background: var(--cosf-calendar-category-4) !important;
}

.cosf-mo-calendar-enhancer .motce_entry.motce_preset5::after {
    background: var(--cosf-calendar-category-5) !important;
}

.cosf-mo-calendar-enhancer .motce_list_event_card.motce_presetdefault {
    border-left-color: var(--cosf-calendar-category-default) !important;
}

.cosf-mo-calendar-enhancer .motce_list_event_card.motce_preset0 {
    border-left-color: var(--cosf-calendar-category-0) !important;
}

.cosf-mo-calendar-enhancer .motce_list_event_card.motce_preset1 {
    border-left-color: var(--cosf-calendar-category-1) !important;
}

.cosf-mo-calendar-enhancer .motce_list_event_card.motce_preset2 {
    border-left-color: var(--cosf-calendar-category-2) !important;
}

.cosf-mo-calendar-enhancer .motce_list_event_card.motce_preset3 {
    border-left-color: var(--cosf-calendar-category-3) !important;
}

.cosf-mo-calendar-enhancer .motce_list_event_card.motce_preset4 {
    border-left-color: var(--cosf-calendar-category-4) !important;
}

.cosf-mo-calendar-enhancer .motce_list_event_card.motce_preset5 {
    border-left-color: var(--cosf-calendar-category-5) !important;
}

@media (max-width: 768px) {
    .cosf-mo-calendar-enhancer .cosf-mo-calendar-toolbar {
        align-items: stretch;
        flex-direction: column;
        padding: 1rem;
    }

    .cosf-mo-calendar-enhancer .cosf-mo-calendar-controls,
    .cosf-mo-calendar-enhancer .cosf-mo-category-filter,
    .cosf-mo-calendar-enhancer .cosf-mo-category-filter label,
    .cosf-mo-calendar-enhancer .cosf-mo-category-filter select {
        width: 100%;
    }

    .cosf-mo-calendar-enhancer .cosf-mo-category-filter label {
        align-items: stretch;
        flex-direction: column;
        gap: 0.5rem;
    }
}
