.matter-calendar { padding: 1rem 0; }
.matter-calendar h3 { margin-top: 0; }
.matter-calendar-filters { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .75rem; margin: 1rem 0; }
.matter-calendar-filters label { display: grid; gap: .35rem; min-width: 160px; max-width: 230px; font-weight: 700; }
.matter-calendar-filters input { width: 100%; }
.matter-calendar-source { font-weight: 700; }
.matter-calendar-list { display: grid; gap: .8rem; list-style: none; padding: 0; margin: 1rem 0; }
.matter-calendar-event { display: grid; grid-template-columns: minmax(170px, 235px) minmax(0, 1fr); gap: 1rem; padding: 1rem; border: 1px solid var(--line); border-radius: 12px; background: #fbfcfe; }
.matter-calendar-event time { color: var(--primary); font-weight: 750; line-height: 1.5; }
.matter-calendar-event strong { display: block; line-height: 1.4; overflow-wrap: anywhere; }
.matter-calendar-location { margin: .4rem 0; color: var(--muted); overflow-wrap: anywhere; }
.matter-calendar-event details { margin-top: .6rem; }
.matter-calendar-event summary { color: var(--primary); cursor: pointer; }
.matter-calendar-description { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.5; }
@media (max-width: 650px) { .matter-calendar-event { grid-template-columns: 1fr; gap: .5rem; } }
