.calendar-public-events .card,
.calendar-event-detail .card {
    border-radius: 0.75rem;
}

.calendar-event-meta {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.calendar-event-meta > i {
    margin-top: 0.25rem;
    width: 1rem;
    text-align: center;
}

.calendar-event-content {
    line-height: 1.7;
}

.calendar-admin-month {
    display: grid;
    grid-template-columns: repeat(7, minmax(9rem, 1fr));
    min-width: 70rem;
}
.calendar-admin-weekday {
    padding: .7rem;
    font-weight: 600;
    text-align: center;
    border-bottom: 1px solid var(--bs-border-color);
    background: var(--bs-tertiary-bg);
}
.calendar-admin-day {
    min-height: 9rem;
    border-right: 1px solid var(--bs-border-color);
    border-bottom: 1px solid var(--bs-border-color);
    padding: .4rem;
    background: var(--bs-body-bg);
}
.calendar-admin-day.is-outside { background: var(--bs-tertiary-bg); opacity: .72; }
.calendar-admin-day.is-today { box-shadow: inset 0 0 0 2px var(--bs-primary); }
.calendar-admin-day-header { display:flex; justify-content:space-between; align-items:center; min-height:1.75rem; font-weight:600; }
.calendar-admin-day-header a { opacity:0; transition:opacity .15s ease; }
.calendar-admin-day:hover .calendar-admin-day-header a, .calendar-admin-day:focus-within .calendar-admin-day-header a { opacity:1; }
.calendar-admin-day-events { display:flex; flex-direction:column; gap:.25rem; }
.calendar-admin-event { display:flex; align-items:center; gap:.35rem; padding:.25rem .4rem; border-left:.3rem solid var(--calendar-event-color); border-radius:.25rem; background:var(--bs-tertiary-bg); color:var(--bs-body-color); text-decoration:none; font-size:.8rem; line-height:1.2; }
.calendar-admin-event:hover { background:var(--bs-secondary-bg); }
.calendar-admin-event-time { font-variant-numeric:tabular-nums; font-weight:600; }
.calendar-admin-event-title { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
@media (max-width: 991.98px) { .calendar-admin-month { min-width: 60rem; } }
