.annual-calendar-page{background:#f7f7f3}.annual-calendar-section{padding:2rem 0 5rem;background:linear-gradient(180deg,#f8f7f2,#f2f4f6)}.section-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:1rem;flex-wrap:wrap}.eyebrow{display:inline-flex;align-items:center;gap:.45rem;font-size:.82rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#006d38;margin-bottom:.75rem}.section-title{font-size:clamp(1.8rem,3vw,2.5rem);font-weight:800;color:#14213d;margin:0}.overview-title .hl,.section-title .hl,.section-title-accent{color:#006d38}.section-subtitle{max-width:38rem;margin:.65rem 0 0;color:#5f6672;font-size:1rem;line-height:1.7}.calendar-shell{background:#ffffff;border:1px solid #e9ecf2;border-radius:24px;box-shadow:0 18px 40px rgba(20,33,61,.08);padding:1.25rem}.calendar-card{border-radius:18px;padding:1rem;background:linear-gradient(180deg,#fcfcfd,#f7f9fc)}.status-card{margin-bottom:1rem;border-radius:14px;padding:1rem 1.1rem;background:#fff8e9;color:#7a4d00;font-weight:600}.list-view-filters{display:flex;gap:.75rem;margin-bottom:1.25rem;flex-wrap:wrap}.list-filter{position:relative;display:inline-flex;min-width:140px}.list-filter-select{width:100%;padding:.55rem 2.3rem .55rem .9rem;border-radius:10px;border:1px solid #d8dee7;background:#ffffff;color:#14213d;font-weight:600;font-size:.88rem;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;transition:border-color .15s ease,box-shadow .15s ease}.list-filter-select::-ms-expand{display:none}.list-filter-select:focus{outline:none;border-color:#006d38;box-shadow:0 0 0 3px rgba(0,109,56,.12)}.list-filter-select:hover{border-color:#b7c2d0}.list-filter__arrow{position:absolute;top:50%;right:.9rem;transform:translateY(-50%);font-size:.72rem;color:#5f6672;pointer-events:none;transition:transform .15s ease,color .15s ease}.list-filter:focus-within .list-filter__arrow{color:#006d38}.event-list{display:grid;grid-gap:1rem;gap:1rem}.event-list-card{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.15rem;border:1px solid #edf1f5;border-radius:16px;background:#fbfcfe}.event-list-card__body h3{margin:0 0 .45rem;color:#14213d;font-size:1.05rem;font-weight:700}.event-list-card__body p{display:flex;flex-wrap:wrap;gap:.9rem;margin:0;color:#64748b;font-size:.95rem}.event-badge{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:.5rem .85rem;border-radius:999px;font-size:.84rem;font-weight:700;text-transform:uppercase}.event-badge.online{background:#eaf7ee;color:#0f7c45}.event-badge.offline{background:#fff3dc;color:#a16300}.event-badge.tba{background:#eef1f6;color:#5f6672}.annual-overview{margin-top:2rem}.overview-header{margin-bottom:1.1rem}.overview-title{font-size:clamp(1.3rem,2vw,1.75rem);font-weight:800;color:#14213d;margin:0}.overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1.2rem;gap:1.2rem}.overview-card{background:#ffffff;border:1px solid #e9ecf2;border-radius:22px;padding:1rem;box-shadow:0 12px 30px rgba(20,33,61,.06)}.image-button{display:block;width:100%;padding:0;border:0;background:transparent;cursor:pointer;overflow:hidden;border-radius:16px}.image-button img{width:100%;aspect-ratio:4/3;display:block;object-fit:cover;transition:transform .25s ease}.image-button:hover img{transform:scale(1.02)}.overview-card p{margin:.9rem 0 0;text-align:center;font-weight:700;color:#45505f}.image-modal{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:1.25rem;background:rgba(4,12,20,.78)}.image-modal__content{position:relative;max-width:min(950px,100%);width:100%;border-radius:20px;overflow:hidden;background:#ffffff;box-shadow:0 30px 70px rgba(0,0,0,.35)}.image-modal__content img{display:block;width:100%;height:auto}.image-modal__close{position:absolute;top:.7rem;right:.7rem;width:2.2rem;height:2.2rem;border:0;border-radius:999px;background:rgba(0,0,0,.75);color:#ffffff;font-size:1.2rem;cursor:pointer}.event-tooltip{pointer-events:none;max-width:260px;animation:tooltip-pop-in .15s ease-out}@keyframes tooltip-pop-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.tooltip-content{position:relative;background:#ffffff;color:#14213d;border-radius:16px;padding:1rem 1.1rem;border:1px solid #e9ecf2;box-shadow:0 18px 40px rgba(20,33,61,.16);overflow:hidden}.tooltip-content:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#006d38,#d8b445)}.tooltip-title{margin:.15rem 0 .75rem;font-size:.98rem;font-weight:800;color:#14213d;line-height:1.35}.tooltip-details{display:grid;grid-gap:.65rem;gap:.65rem}.tooltip-item{display:flex;align-items:flex-start;gap:.65rem;font-size:.84rem}.tooltip-item__icon{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#eefaf3;color:#006d38;font-size:.72rem;margin-top:.05rem}.tooltip-label{display:block;color:#94a0b8;font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.1rem}.tooltip-value{display:block;color:#14213d;font-weight:600}.annual-calendar-page .fc{--fc-border-color:#e9ecf2;--fc-today-bg-color:#f8f5e8;--fc-event-bg-color:#006d38;--fc-event-border-color:#006d38;--fc-button-bg-color:#ffffff;--fc-button-text-color:#14213d;--fc-button-border-color:#d8dee7;--fc-button-hover-bg-color:#f5f7fa;--fc-button-active-bg-color:#006d38;--fc-button-active-border-color:#006d38;--fc-page-bg-color:#ffffff}.annual-calendar-page .fc .fc-toolbar.fc-header-toolbar{flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem}.annual-calendar-page .fc .fc-header-toolbar>*{display:flex!important;flex-direction:row!important;align-items:center!important;gap:.9rem}.annual-calendar-page .fc-toolbar-title{display:inline-block!important;margin:0!important;padding:0 15px;white-space:nowrap;font-size:1.15rem!important;color:#14213d!important;font-weight:800!important}.annual-calendar-page .fc .fc-button{border-radius:999px!important;padding:.55rem .95rem!important;font-weight:700!important;text-transform:capitalize!important;box-shadow:none!important}.annual-calendar-page .fc .fc-next-button,.annual-calendar-page .fc .fc-prev-button{width:42px;height:42px;padding:0!important;border-radius:50%!important;display:inline-grid!important;place-items:center}.annual-calendar-page .fc .fc-button-primary:not(:disabled).fc-button-active{color:#ffffff!important}.annual-calendar-page .fc .fc-col-header-cell-cushion{font-weight:700;font-size:.8rem;letter-spacing:.06em;color:#006d38;text-decoration:none;padding:.6rem 0}.annual-calendar-page .fc .fc-daygrid-day-number{color:#5f6672;text-decoration:none;font-weight:600;font-size:.85rem;padding:.45rem .6rem}.annual-calendar-page .fc a{text-decoration:none!important}.annual-calendar-page .fc .fc-event{border-radius:10px;padding:2px 6px;font-size:.78rem;font-weight:700}.annual-calendar-page .fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-number{color:#006d38;font-weight:800}.annual-calendar-page .fc .fc-daygrid-more-link{font-weight:700;font-size:.78rem;color:#006d38}.annual-calendar-page .fc .fc-daygrid-more-link:hover{color:#005a2f;text-decoration:underline!important}.annual-calendar-page .fc .fc-more-popover{z-index:20;border-radius:14px;border:1px solid #e9ecf2;box-shadow:0 18px 40px rgba(20,33,61,.16);overflow:hidden}.annual-calendar-page .fc .fc-more-popover .fc-popover-header{background:#f7f9fc;padding:.6rem .85rem;font-weight:700;color:#14213d}.annual-calendar-page .fc .fc-more-popover .fc-popover-body{padding:.5rem}.annual-calendar-page .fc .fc-more-popover .fc-event{margin-bottom:4px}@media (max-width:768px){.annual-calendar-section{padding:3rem 0 4rem}.calendar-shell{padding:.8rem}.list-view-filters{flex-direction:column}.list-filter{width:100%}.overview-grid{grid-template-columns:1fr}.event-list-card{flex-direction:column;align-items:flex-start}}@media (max-width:576px){.section-intro{flex-direction:column;align-items:flex-start}.annual-calendar-page .tabs{width:100%;justify-content:space-between}.annual-calendar-page .tab{flex:1 1}.annual-calendar-page .fc .fc-toolbar{flex-wrap:wrap}}@media (max-width:640px){.annual-calendar-page .fc .fc-toolbar-title{font-size:1.1rem!important}.annual-calendar-page .fc .fc-button{padding:.4rem .75rem!important;font-size:.8rem!important}}@media (max-width:576px){.calendar-shell{padding:.5rem;border-radius:14px}.annual-calendar-page .fc .fc-toolbar.fc-header-toolbar{gap:.4rem;margin-bottom:.6rem}.annual-calendar-page .fc .fc-header-toolbar>*{gap:.4rem}.annual-calendar-page .fc .fc-today-button{padding:.32rem .7rem!important;font-size:.72rem!important}.annual-calendar-page .fc .fc-next-button,.annual-calendar-page .fc .fc-prev-button{width:30px;height:30px}.annual-calendar-page .fc .fc-next-button .fc-icon,.annual-calendar-page .fc .fc-prev-button .fc-icon{font-size:.85rem}.annual-calendar-page .fc-toolbar-title{font-size:.92rem!important;padding:0 6px}.annual-calendar-page .fc .fc-toolbar-chunk:last-child{margin-top:.35rem}.annual-calendar-page .fc .fc-dayGridMonth-button,.annual-calendar-page .fc .fc-timeGridDay-button,.annual-calendar-page .fc .fc-timeGridWeek-button{padding:.32rem .65rem!important;font-size:.72rem!important}.annual-calendar-page .fc .fc-col-header-cell-cushion{font-size:.62rem;padding:.35rem 0;letter-spacing:.02em}.annual-calendar-page .fc .fc-daygrid-day-number{font-size:.72rem;padding:.2rem .3rem}.annual-calendar-page .fc .fc-daygrid-day-frame{min-height:52px}.annual-calendar-page .fc .fc-daygrid-day-events{margin-top:1px}.annual-calendar-page .fc .fc-event{border-radius:6px;padding:1px 4px;font-size:.6rem}.annual-calendar-page .fc .fc-daygrid-more-link{font-size:.62rem}.annual-calendar-page .fc .fc-more-popover{max-width:220px}}