.calendar-header, .calendar-event-card, .calendar-active-filters { overflow-wrap:anywhere; }
.calendar-actions { display:flex; flex-wrap:wrap; gap:.5rem; }
.calendar-actions .btn, .calendar-results-heading .btn, .calendar-filter-details button { min-height:44px; display:inline-flex; align-items:center; justify-content:center; }
.calendar-filter-details > summary, .calendar-event-details > summary { cursor:pointer; min-height:44px; padding:.65rem .85rem; }
.calendar-event-details > summary { padding-left:0; }
.calendar-filters .form-control { min-height:44px; min-width:0; max-width:100%; }
.calendar-results-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.75rem; }
.calendar-event-amount { font-size:1.25rem; font-weight:600; }
.calendar-event-dates { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
.calendar-event-dates dt { font-size:.85rem; font-weight:500; }
.calendar-event-dates dd { margin-bottom:0; font-variant-numeric:tabular-nums; }
.calendar-event-card .card-body { padding:1rem; }
.calendar-table-wrap { overflow-x:auto; }
.calendar-table { min-width:1050px; }
.calendar-table td, .calendar-table th { vertical-align:middle; }
.calendar-table td:first-child { min-width:180px; max-width:250px; overflow-wrap:anywhere; }
.calendar-estimate-control { min-width:125px; }
.calendar-estimate { display:block; min-height:1.25rem; margin-top:.3rem; }
.calendar-event-cards { display:none; }
@media (max-width:991.98px) {
    .calendar-event-cards { display:block; }
    .calendar-table-wrap.table-responsive { display:none; }
}
@media (max-width:359.98px) {
    .calendar-filters .col-6 { flex:0 0 100%; max-width:100%; }
}

.calendar-event-review { color: #805600; }
body.dark-mode .calendar-event-review, .theme-dark .calendar-event-review { color: #ffd36b; }

.calendar-source-records { overflow-wrap:anywhere; }
.calendar-source-records > summary { cursor:pointer; min-height:44px; padding:.65rem 0; }
.calendar-table { min-width: 760px; }
.calendar-table td:first-child { min-width: 105px; max-width: none; }
.calendar-table th:nth-child(2) { width: 28%; }
.calendar-table th:last-child { width: 23%; }
.calendar-pagination { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 12px 0; }
.calendar-date-heading { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px; font-size: 15px; font-weight: 600; margin: 16px 0 2px; }
.calendar-date-heading small { color: var(--ui-muted); font-size: 12px; font-weight: 400; }
.calendar-event-card.card { border: 0; border-bottom: 1px solid var(--ui-line); border-radius: 0; background: transparent; margin-bottom: 0 !important; }
.calendar-event-card .card-body { padding: 12px 0; }
.calendar-event-card .card-body > p:last-child { margin-bottom: 0; }
.calendar-event-card .card-body h3 { font-size: 17px; }
.calendar-event-amount { font-size: 18px; margin-bottom: 4px; }
.calendar-method > summary { cursor: pointer; min-height: 44px; padding: 12px 0; }
.calendar-filter-details.card { border: 0; background: transparent; }
.calendar-filter-details > summary { padding-left: 0; }
.calendar-results-heading { margin-bottom: 8px !important; }
@media(min-width:992px) { .calendar-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; } }
