.EventCalendarGrid-module__5gAvgG__section{margin-bottom:var(--space-12)}.EventCalendarGrid-module__5gAvgG__grid{border:1.5px solid var(--color-border);border-radius:8px;grid-template-columns:repeat(7,1fr);gap:2px;display:grid;overflow:hidden}.EventCalendarGrid-module__5gAvgG__weekday{padding:var(--space-2) var(--space-1);text-align:center;font-size:var(--text-xs);color:var(--color-text);opacity:.5;background:var(--color-bg);border-bottom:1.5px solid var(--color-border);letter-spacing:.05em;text-transform:uppercase;font-weight:700}.EventCalendarGrid-module__5gAvgG__emptyCell{background:var(--color-bg);opacity:.3;min-height:72px}.EventCalendarGrid-module__5gAvgG__dayCell{padding:var(--space-2);background:var(--color-bg);gap:var(--space-1);border:1px solid #0000;flex-direction:column;min-height:72px;transition:background .1s;display:flex}.EventCalendarGrid-module__5gAvgG__dayCell.EventCalendarGrid-module__5gAvgG__hasEvents{background:color-mix(in srgb, var(--color-accent) 5%, var(--color-bg))}.EventCalendarGrid-module__5gAvgG__dayNumber{font-size:var(--text-sm);color:var(--color-text);opacity:.7;font-weight:500;line-height:1}.EventCalendarGrid-module__5gAvgG__eventDot{align-items:center;gap:var(--space-1);padding:2px var(--space-1);border-radius:4px;text-decoration:none;transition:background .1s;display:flex}.EventCalendarGrid-module__5gAvgG__eventDot:hover{background:color-mix(in srgb, var(--color-accent) 12%, transparent)}.EventCalendarGrid-module__5gAvgG__eventDot:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.EventCalendarGrid-module__5gAvgG__eventDot.EventCalendarGrid-module__5gAvgG__cancelled .EventCalendarGrid-module__5gAvgG__dotIndicator{background:#c0392b}[data-theme=dark] .EventCalendarGrid-module__5gAvgG__eventDot.EventCalendarGrid-module__5gAvgG__cancelled .EventCalendarGrid-module__5gAvgG__dotIndicator{background:#e74c3c}.EventCalendarGrid-module__5gAvgG__dotIndicator{background:var(--color-accent);border-radius:50%;flex-shrink:0;width:6px;height:6px}.EventCalendarGrid-module__5gAvgG__eventLabel{color:var(--color-accent);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:10px;font-weight:600;overflow:hidden}.EventCalendarGrid-module__5gAvgG__eventDot.EventCalendarGrid-module__5gAvgG__cancelled .EventCalendarGrid-module__5gAvgG__eventLabel{color:#c0392b;text-decoration:line-through}[data-theme=dark] .EventCalendarGrid-module__5gAvgG__eventDot.EventCalendarGrid-module__5gAvgG__cancelled .EventCalendarGrid-module__5gAvgG__eventLabel{color:#e74c3c}@media (max-width:640px){.EventCalendarGrid-module__5gAvgG__grid{border-radius:8px;flex-direction:column;display:flex}.EventCalendarGrid-module__5gAvgG__weekday,.EventCalendarGrid-module__5gAvgG__emptyCell{display:none}.EventCalendarGrid-module__5gAvgG__dayCell{min-height:unset;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.EventCalendarGrid-module__5gAvgG__dayCell:not(.EventCalendarGrid-module__5gAvgG__hasEvents){display:none}.EventCalendarGrid-module__5gAvgG__dayCell:last-child{border-bottom:none}}@media (prefers-reduced-motion:reduce){.EventCalendarGrid-module__5gAvgG__eventDot,.EventCalendarGrid-module__5gAvgG__dayCell{transition:none}}
.EventList-module__fCRJKa__list{gap:var(--space-6);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.EventList-module__fCRJKa__card{padding:var(--space-6);border:1.5px solid var(--color-border);background:var(--color-bg);border-radius:8px}.EventList-module__fCRJKa__header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.EventList-module__fCRJKa__title{font-size:var(--text-lg);color:var(--color-text);margin:0;font-weight:700}.EventList-module__fCRJKa__cancelled{opacity:.6;text-decoration:line-through}.EventList-module__fCRJKa__badges{gap:var(--space-2);flex-shrink:0;display:flex}.EventList-module__fCRJKa__typeBadge,.EventList-module__fCRJKa__cancelledBadge,.EventList-module__fCRJKa__tentativeBadge{padding:2px var(--space-3);font-size:var(--text-xs);white-space:nowrap;border-radius:999px;font-weight:600;display:inline-block}.EventList-module__fCRJKa__typeBadge{background:color-mix(in srgb, var(--color-accent) 15%, transparent);color:var(--color-accent);border:1px solid color-mix(in srgb, var(--color-accent) 30%, transparent)}.EventList-module__fCRJKa__cancelledBadge{color:#c0392b;background:#c0392b1f;border:1px solid #c0392b40}[data-theme=dark] .EventList-module__fCRJKa__cancelledBadge{color:#e74c3c;background:#e74c3c1f;border-color:#e74c3c40}.EventList-module__fCRJKa__tentativeBadge{color:#b8860b;background:#b8860b1f;border:1px solid #b8860b40}[data-theme=dark] .EventList-module__fCRJKa__tentativeBadge{color:#f0c040;background:#f0c0401f;border-color:#f0c04040}.EventList-module__fCRJKa__meta{gap:var(--space-2);margin:0 0 var(--space-4);flex-direction:column;display:flex}.EventList-module__fCRJKa__metaRow{gap:var(--space-3);display:flex}.EventList-module__fCRJKa__metaRow dt{font-size:var(--text-sm);color:var(--color-muted,var(--color-text));opacity:.7;min-width:64px;font-weight:600}.EventList-module__fCRJKa__metaRow dd{font-size:var(--text-sm);color:var(--color-text);margin:0}.EventList-module__fCRJKa__description{font-size:var(--text-sm);color:var(--color-text);margin:0 0 var(--space-3);line-height:1.6}.EventList-module__fCRJKa__source{font-size:var(--text-xs);color:var(--color-text);opacity:.5;margin:0}.EventList-module__fCRJKa__empty{color:var(--color-text);opacity:.6;font-size:var(--text-base)}
.page-module__WA46rq__container{max-width:900px;margin:0 auto}.page-module__WA46rq__monthNav{align-items:center;gap:var(--space-6);margin-bottom:var(--space-3);display:flex}.page-module__WA46rq__monthTitle{text-align:center;flex:1;margin:0}.page-module__WA46rq__navBtn{font-size:var(--text-sm);color:var(--color-accent);white-space:nowrap;font-weight:500;transition:opacity .15s}.page-module__WA46rq__navBtn:hover{opacity:.75}.page-module__WA46rq__navBtnDisabled{font-size:var(--text-sm);color:var(--color-text-muted);opacity:.35;white-space:nowrap;font-weight:500}.page-module__WA46rq__listSection{margin-top:var(--space-12)}.page-module__WA46rq__listHeading{font-size:var(--text-xl);margin:0 0 var(--space-6);color:var(--color-text);font-weight:700}
