.fc-muted { color: var(--bs-secondary-color); }

.fc-cal-item:hover { background: var(--bs-tertiary-bg); cursor: pointer; }
.fc-cal-check { appearance: none; width: 1rem; height: 1rem; border-radius: .25rem; border: 2px solid var(--fc-cal-color); flex-shrink: 0; cursor: pointer; }
.fc-cal-check:checked { background: var(--fc-cal-color); }
.fc-dot { width: .6rem; height: .6rem; border-radius: 50%; flex-shrink: 0; display: inline-block; }

.fc-month { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-top: 1px solid var(--bs-border-color); border-left: 1px solid var(--bs-border-color); }
.fc-month-head { padding: .25rem; border-right: 1px solid var(--bs-border-color); border-bottom: 1px solid var(--bs-border-color); background: var(--bs-tertiary-bg); }
.fc-month-cell { min-height: 7rem; padding: .25rem; border-right: 1px solid var(--bs-border-color); border-bottom: 1px solid var(--bs-border-color); overflow: hidden; }
.fc-outside { background: var(--bs-tertiary-bg); opacity: .7; }
.fc-today { background: rgba(var(--bs-primary-rgb), .06); }
.fc-today .fc-day-num { background: var(--bs-primary); color: #fff !important; border-radius: 50%; width: 1.6rem; }

.fc-chip { display: block; border: 0; border-left: 3px solid var(--fc-cal-color); background: color-mix(in srgb, var(--fc-cal-color) 14%, transparent); border-radius: .25rem; padding: 0 .3rem; margin-top: 2px; font-size: .75rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: inherit; }
.fc-chip:hover { background: color-mix(in srgb, var(--fc-cal-color) 28%, transparent); }
.fc-chip-time { font-weight: 600; margin-right: .25rem; }
.fc-chip-detailed { white-space: normal; padding: .25rem .4rem; font-size: .85rem; }

.fc-week { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .5rem; }
.fc-week-col { border: 1px solid var(--bs-border-color); border-radius: .375rem; padding: .4rem; min-height: 14rem; }
.fc-week-head { border-bottom: 1px solid var(--bs-border-color); margin-bottom: .25rem; padding-bottom: .25rem; }

.fc-agenda-row:hover { background: var(--bs-tertiary-bg); }

@media (max-width: 767.98px) {
    .fc-week { grid-template-columns: 1fr; }
    .fc-week-col { min-height: 0; }
    .fc-month-cell { min-height: 4rem; }
    .fc-chip-time { display: none; }
}
