.event-calendar{width:100%;max-width:42rem;color:var(--ink, #20272c);font-variant-numeric:tabular-nums}.calendar-empty{padding:.75rem 0;color:var(--muted, #667279);font-size:.82rem}.calendar-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.9rem}.calendar-period,.calendar-actions{display:flex;align-items:center;gap:.15rem}.calendar-actions{margin-left:auto}.calendar-period select{min-width:0;border:0;border-radius:4px;background:transparent;color:var(--ink, #20272c);cursor:pointer;font:720 .94rem/1.2 inherit}.calendar-period select:hover{background:#eef2f0}.calendar-month-select{width:6.5rem;padding:.28rem .2rem}.calendar-year-select{width:4.3rem;padding:.28rem .1rem}.calendar-icon-button,.calendar-legend-key{border:0;border-radius:4px;background:transparent;color:var(--muted, #667279);cursor:pointer;font:inherit}.calendar-icon-button{display:grid;width:1.9rem;height:1.9rem;padding:0;place-items:center;font-size:1.35rem;line-height:1}.calendar-icon-button:hover,.calendar-legend-key:hover{background:#eef2f0;color:var(--ink, #20272c)}.calendar-icon-button:disabled{cursor:default;opacity:.3}button:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid #2463a5;outline-offset:2px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{border-bottom:1px solid var(--line, #d9e0e2);color:var(--muted, #667279);font-size:.63rem;font-weight:700;text-align:center;text-transform:uppercase}.calendar-weekdays span{padding:0 0 .38rem}.calendar-grid{border-bottom:1px solid var(--line, #d9e0e2)}.calendar-day{position:relative;display:flex;min-width:0;height:3.15rem;align-items:flex-start;justify-content:center;border:0;border-bottom:1px solid color-mix(in srgb,var(--line, #d9e0e2) 75%,transparent);background:transparent;color:var(--ink, #20272c);font:650 .78rem/1 inherit}button.calendar-day{cursor:pointer}button.calendar-day:hover .calendar-day-number{background:#e9efed}.calendar-day:nth-last-child(-n+7){border-bottom:0}.calendar-day-number{display:grid;width:1.65rem;height:1.65rem;margin-top:.34rem;border-radius:50%;place-items:center}.calendar-day.is-outside{color:#adb4b6}.calendar-day.is-selected .calendar-day-number{background:var(--accent, #0f5f64);color:#fff}.calendar-day.is-today:not(.is-selected) .calendar-day-number{box-shadow:inset 0 0 0 1px #99a7aa}.calendar-indicators{position:absolute;bottom:.42rem;left:50%;display:flex;max-width:calc(100% - .3rem);gap:.14rem;transform:translate(-50%)}.calendar-indicators i,.calendar-legend i,.calendar-event-marker{display:block;flex:0 0 auto;border-radius:50%}.calendar-indicators i{width:.34rem;height:.34rem}.calendar-legend{display:flex;flex-wrap:wrap;gap:.4rem .8rem;min-height:1.7rem;align-items:center;padding-top:.5rem;color:var(--muted, #667279);font-size:.68rem}.calendar-legend-key{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .35rem}.calendar-legend i{width:.42rem;height:.42rem}.calendar-details{margin-top:.55rem;border-top:1px solid var(--line, #d9e0e2)}.calendar-details-header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;padding:.65rem 0 .45rem}.calendar-details-header h3{margin:0;font-size:.84rem;letter-spacing:0}.calendar-details-header span{color:var(--muted, #667279);font-size:.68rem}.calendar-event{display:grid;grid-template-columns:.5rem minmax(0,1fr);gap:.45rem;padding:.65rem 0;border-top:1px solid color-mix(in srgb,var(--line, #d9e0e2) 70%,transparent)}.calendar-event-marker{width:.4rem;height:.4rem;margin-top:.35rem}.calendar-event-body{display:grid;min-width:0;gap:.24rem}.calendar-event-body strong{font-size:.78rem;line-height:1.35}.calendar-event-meta{color:var(--muted, #667279);font-size:.66rem}.calendar-sections{display:flex;flex-wrap:wrap;gap:.22rem .45rem}.calendar-sections a,.calendar-source{color:var(--accent, #0f5f64);font-size:.69rem;font-weight:650;text-decoration:none}.calendar-sections a:hover,.calendar-source:hover{text-decoration:underline}.calendar-source{justify-self:start}@media(max-width:380px){.calendar-month-select{width:5.7rem}.calendar-year-select{width:3.9rem}.calendar-day{height:2.9rem}}
