.calendar-page{max-width:1600px;margin:0 auto;padding:30px 34px 48px;color:#233b70;font-family:'Jost',sans-serif}.calendar-heading{margin:0 0 18px}.calendar-heading h1{margin:0;color:#173d7d;font-size:29px;line-height:1.2;font-weight:600}.calendar-heading .subtitle{margin:7px 0 0;color:#617592;font-size:13px}.calendar-search-card,.calendar-filter-card,.calendar-card,.calendar-side-card{border:1px solid #e3eaf2;border-radius:10px;background:#fff;box-shadow:0 3px 12px #233b7008}.calendar-search-card{display:flex;align-items:center;gap:10px;height:54px;padding:0 14px;margin-bottom:12px}.calendar-search-wrap{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.calendar-search-icon{color:#2d6eb6;font-size:26px;line-height:1}.calendar-search-wrap input{width:100%;height:42px;border:0;outline:0;color:#233b70;font:400 14px 'Jost',sans-serif}.calendar-search-wrap input::placeholder{color:#8997aa}.calendar-clear-search{width:30px;height:30px;border:0;border-radius:50%;background:#f2f6fb;color:#536b8c;font-size:20px;cursor:pointer}.calendar-filter-card{display:grid;grid-template-columns:1fr 1.3fr 1fr 1.5fr auto;align-items:end;gap:12px;padding:14px;margin-bottom:5px}.calendar-filter-card>label{display:grid;gap:5px;color:#40577e;font-size:11px;font-weight:600}.calendar-filter-card select,.calendar-filter-card input{width:100%;height:36px;padding:0 9px;border:1px solid #dfe6ef;border-radius:6px;background:#fff;color:#33487d;font:400 12px 'Jost',sans-serif;min-width:0}.calendar-date-filter{display:flex;align-items:end;gap:7px;margin:0;padding:0;border:0;min-width:0}.calendar-date-filter legend{margin-bottom:5px;color:#40577e;font-size:11px;font-weight:600}.calendar-date-filter input{min-width:0;padding:0 6px}.calendar-date-filter span{padding-bottom:9px;color:#8290a5;font-size:11px}.calendar-clear-filters{height:36px;padding:0 12px;border:1px solid #dce6f1;border-radius:6px;background:#fff;color:#2d6eb6;font:500 11px 'Jost',sans-serif;white-space:nowrap;cursor:pointer}.calendar-clear-filters:hover,.calendar-nav-buttons button:hover,.calendar-view-switch button:hover{border-color:#9bb9da;background:#f6faff}.calendar-status{min-height:18px;padding:4px 2px 8px;color:#7888a0;font-size:10px}.calendar-status.error,.calendar-error{color:#a5483c}.calendar-layout{display:grid;grid-template-columns:minmax(0,7fr) minmax(290px,3fr);align-items:stretch;gap:16px}.calendar-card,.calendar-side-card{min-width:0;padding:18px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.calendar-toolbar-left{display:flex;align-items:center;gap:11px;min-width:0}.calendar-nav-buttons{display:flex;align-items:center;gap:5px}.calendar-nav-buttons button{height:32px;min-width:32px;padding:0 10px;border:1px solid #dce6f1;border-radius:6px;background:#fff;color:#33487d;font:500 12px 'Jost',sans-serif;cursor:pointer}.calendar-nav-buttons button[aria-label]{padding:0;font-size:20px}.calendar-month-picker input{width:132px;height:32px;padding:0 7px;border:1px solid #dce6f1;border-radius:6px;color:#33487d;font:500 12px 'Jost',sans-serif}.calendar-toolbar h2{overflow:hidden;margin:0;color:#193d78;font-size:18px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.calendar-view-switch{display:flex;align-items:center;border:1px solid #dce6f1;border-radius:7px;overflow:hidden}.calendar-view-switch button{height:31px;padding:0 11px;border:0;border-right:1px solid #e5ebf2;background:#fff;color:#5c7190;font:500 11px 'Jost',sans-serif;cursor:pointer}.calendar-view-switch button:last-child{border-right:0}.calendar-view-switch button[aria-pressed=true]{background:#2d6eb6;color:#fff}.calendar-side-heading{display:flex;align-items:end;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:1px solid #edf1f5}.calendar-side-heading .eyebrow{margin:0 0 3px;color:#35adbc;font-size:9px;font-weight:600;letter-spacing:.08em}.calendar-side-heading h2{margin:0;color:#193d78;font-size:17px;font-weight:600}.calendar-side-heading>span{color:#7b8ba3;font-size:10px;white-space:nowrap}.calendar-side-content{max-height:680px;overflow:auto}.calendar-upcoming-item{display:grid;width:100%;gap:5px;padding:13px 2px;border:0;border-bottom:1px solid #edf1f5;background:#fff;text-align:left;cursor:pointer}.calendar-upcoming-item:hover{background:#f8fbff}.calendar-upcoming-date{color:#2d6eb6;font-size:10px;font-weight:600}.calendar-upcoming-item strong{color:#203e78;font-size:12px;font-weight:600;line-height:1.35}.calendar-upcoming-location{color:#526b8c;font-size:10px}.calendar-upcoming-meta{color:#8290a5;font-size:9px;line-height:1.35}.calendar-empty,.calendar-loading,.calendar-error{padding:15px 3px;color:#7888a0;font-size:12px;line-height:1.5}.calendar-back-button{margin:12px 0;border:0;background:transparent;color:#2d6eb6;font:500 11px 'Jost',sans-serif;cursor:pointer}.calendar-back-button:hover{text-decoration:underline}.calendar-detail{padding:0 2px 18px}.calendar-detail h3{margin:8px 0 15px;color:#193d78;font-size:17px;line-height:1.35;font-weight:600}.calendar-type-badge{display:inline-block;padding:4px 8px;border-radius:12px;background:#eef6fc;color:#2d6eb6;font-size:9px;font-weight:600}.calendar-detail-list{display:grid;gap:9px;margin:0 0 18px}.calendar-detail-field{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px}.calendar-detail-field dt{color:#8290a5;font-size:10px}.calendar-detail-field dd{margin:0;color:#334b70;font-size:11px;line-height:1.45;overflow-wrap:anywhere}.calendar-detail section{margin-top:15px}.calendar-detail h4{margin:0 0 6px;color:#33487d;font-size:11px;font-weight:600}.calendar-detail section>p{margin:0;color:#617592;font-size:11px;line-height:1.55}.calendar-company-chips{display:flex;flex-wrap:wrap;gap:5px}.calendar-company-chip{padding:4px 7px;border:1px solid #e2eaf2;border-radius:14px;color:#526b8c;font-size:9px}.calendar-evidence{padding:9px 0;border-top:1px solid #edf1f5}.calendar-evidence strong{color:#40577e;font-size:10px;line-height:1.4}.calendar-evidence p{margin:5px 0;color:#617592;font-size:10px;line-height:1.45}.calendar-evidence a{color:#2d6eb6;font-size:10px;text-decoration:none}.calendar-evidence a:hover{text-decoration:underline}.fc{--fc-border-color:#e6ebf2;--fc-today-bg-color:#f2f8fc;--fc-page-bg-color:#fff;--fc-neutral-bg-color:#f7f9fc;--fc-button-text-color:#33487d;--fc-button-bg-color:#fff;--fc-button-border-color:#dce6f1;--fc-button-hover-bg-color:#f5f9fd;--fc-button-hover-border-color:#a9c4e1;--fc-button-active-bg-color:#2d6eb6;--fc-button-active-border-color:#2d6eb6;--fc-event-bg-color:#e8f3fb;--fc-event-border-color:#bcd9ed;--fc-event-text-color:#244b7c;font-family:'Jost',sans-serif;font-size:11px}.fc .fc-scrollgrid{border-radius:5px;overflow:hidden}.fc .fc-col-header-cell-cushion{padding:9px 3px;color:#607695;font-size:10px;font-weight:500;text-decoration:none}.fc .fc-daygrid-day-number{padding:6px;color:#536c8d;font-size:10px;text-decoration:none}.fc .fc-day-other .fc-daygrid-day-number{color:#a9b2bf}.fc .fc-daygrid-day-frame{min-height:102px}.fc .fc-daygrid-day-events{margin:0 3px 3px}.fc .fc-daygrid-event{margin:2px 0;border-radius:4px;white-space:normal}.fc .fc-event-main{padding:2px 4px}.calendar-event-copy{display:flex;min-width:0;flex-direction:column;gap:1px;overflow:hidden}.calendar-event-title{display:-webkit-box;overflow:hidden;color:#244b7c;font-size:9px;font-weight:600;line-height:1.2;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.calendar-event-location{overflow:hidden;color:#67809e;font-size:8px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.fc .fc-daygrid-more-link{color:#2d6eb6;font-size:9px;font-weight:600;text-decoration:none}.fc .fc-popover{z-index:30;border:1px solid #dbe5f0;border-radius:7px;box-shadow:0 8px 24px #203d7022}.fc .fc-popover-header{background:#f5f8fc;color:#33487d}.fc .fc-popover-body{max-height:55vh;overflow:auto}.fc .fc-list-event-title{white-space:normal}.fc .fc-list-event-time{font-size:10px}.fc .fc-timegrid-slot-label{color:#71819b;font-size:9px}.calendar-page .hidden{display:none!important}
.fc .calendar-event-dates{overflow:hidden;color:#8190a5;font-size:7px;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.calendar-official-link{color:#2d6eb6;font-size:10px;text-decoration:none}.calendar-official-link:hover{text-decoration:underline}
@media(max-width:1100px){.calendar-filter-card{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-date-filter{grid-column:span 1}.calendar-layout{grid-template-columns:minmax(0,1fr) minmax(270px,.55fr)}}
@media(max-width:800px){.calendar-page{padding:24px 18px 38px}.calendar-layout{grid-template-columns:minmax(0,1fr)}.calendar-side-content{max-height:420px}.calendar-side-card{order:2}.calendar-card{order:1}.calendar-toolbar{flex-wrap:wrap}.calendar-side-card,.calendar-card{padding:14px}}
@media(max-width:560px){.calendar-page{padding:20px 12px 30px}.calendar-heading h1{font-size:24px}.calendar-filter-card{grid-template-columns:minmax(0,1fr)}.calendar-date-filter{grid-column:auto}.calendar-date-filter input{font-size:10px}.calendar-clear-filters{justify-self:start}.calendar-toolbar{align-items:flex-start}.calendar-toolbar-left{flex-wrap:wrap;gap:7px}.calendar-toolbar h2{order:3;width:100%;font-size:16px}.calendar-view-switch button{padding:0 8px}.calendar-month-picker input{width:122px}.fc .fc-daygrid-day-frame{min-height:72px}.fc .fc-daygrid-day-number{padding:4px;font-size:9px}.fc .fc-daygrid-event{margin:1px 0}.calendar-event-title{font-size:8px;-webkit-line-clamp:2}.calendar-event-location{font-size:7px}.fc .fc-col-header-cell-cushion{padding:6px 1px;font-size:9px}}

/* Calendar-only classification and existing shared Finance filter controls. */
.calendar-category-control{display:flex;flex-wrap:wrap;gap:3px;width:fit-content;padding:4px;margin:0 0 16px;border:1px solid #dfe6ef;border-radius:9px;background:#fff}
.calendar-category-control button{border:0;border-radius:6px;background:transparent;padding:8px 14px;color:#526b8c;font:500 12px Jost,sans-serif;cursor:pointer}
.calendar-category-control button[aria-pressed=true]{background:#2d6eb6;color:#fff}.calendar-category-control button:hover{box-shadow:inset 0 -2px #ec6608}
.calendar-category-control span{margin-left:4px;font-size:10px;opacity:.85}
.calendar-category-note{margin:8px 0 0;color:#71819b;font-size:11px;line-height:1.5}
.calendar-filter-card .kpi-filter{min-width:0}.calendar-filter-card .kpi-filter-menu{z-index:35}
.calendar-filter-card input[type=checkbox]{width:auto;height:auto;padding:0;accent-color:#2d6eb6}
.calendar-filter-card .kpi-filter-options label{font-weight:400}
.calendar-filter-actions{display:flex;gap:6px;flex-wrap:wrap}
.calendar-apply-filters{height:36px;padding:0 12px;border:1px solid #2d6eb6;border-radius:6px;background:#2d6eb6;color:#fff;font:500 11px Jost,sans-serif;cursor:pointer}
.calendar-upcoming-sort{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:10px 0 2px;color:#71819b;font-size:10px}
.calendar-upcoming-sort select{min-width:0;max-width:180px;border:1px solid #dfe6ef;border-radius:5px;padding:4px;background:#fff;color:#33487d;font:400 10px Jost,sans-serif}
.calendar-organizer-badge{width:fit-content;padding:3px 6px;border-radius:8px;background:#edf4fb;color:#2d6eb6;font-size:9px;line-height:1.4;text-transform:uppercase;letter-spacing:.03em}
.calendar-organizer-badge.commercial{background:#eaf7f8;color:#237b86}.calendar-organizer-badge.association{background:#f0f5fb;color:#33487d}.calendar-organizer-badge.unclassified{background:#f1f3f6;color:#71819b}

.calendar-classification-details{margin-top:15px;padding-top:10px;border-top:1px solid #e4eaf1;font-size:11px;color:#60749a}.calendar-classification-details summary{color:#2d6eb6;cursor:pointer}.calendar-classification-details a{display:block;margin:5px 0;color:#2d6eb6}
@media(max-width:560px){.calendar-category-control{width:100%;display:grid;grid-template-columns:1fr 1fr}.calendar-category-control button{padding:8px}.calendar-filter-card .kpi-filter-menu{max-width:calc(100vw - 55px)}}
.calendar-filter-card .kpi-filter-options label[hidden]{display:none!important}

/* One organizer-category palette shared by every Calendar view and its legend. */
.calendar-page .calendar-category{--category-bg:#F1F3F5;--category-border:#A3AEC0}
.calendar-page .calendar-category.corporate{--category-bg:#E8F2FC;--category-border:#2D6EB6}
.calendar-page .calendar-category.commercial{--category-bg:#FFF0E3;--category-border:#EC6608}
.calendar-page .calendar-category.association{--category-bg:#E5F5F6;--category-border:#35ADBC}
.calendar-page .fc-event.calendar-category,.calendar-page .calendar-upcoming-item.calendar-category{background:var(--category-bg);border:1px solid var(--category-border);color:#33487D;border-radius:4px;cursor:pointer}
.calendar-page .calendar-upcoming-item.calendar-category{border-width:0 0 1px 3px}
.calendar-page .fc-event.calendar-category:hover,.calendar-page .calendar-upcoming-item.calendar-category:hover{background:var(--category-bg);box-shadow:0 2px 6px #33487D20,inset 0 0 0 1px var(--category-border)}
.calendar-page .calendar-category.calendar-event-selected{outline:2px solid var(--category-border);outline-offset:-2px}
.calendar-page .calendar-category .calendar-event-title,.calendar-page .calendar-category .calendar-event-location,.calendar-page .calendar-category .calendar-event-dates,.calendar-page .calendar-category .fc-event-main{color:#33487D}
.calendar-page .fc-list-event.calendar-category>td{background:var(--category-bg);color:#33487D;border-color:var(--category-border)}
.calendar-page .fc-list-event.calendar-category>td:first-child{border-left:3px solid var(--category-border)}
.calendar-page .fc-list-event.calendar-category .fc-list-event-dot{border-color:var(--category-border)}
.calendar-category-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:10px;color:#33487D;font-size:11px}
.calendar-category-legend>span{display:inline-flex;align-items:center;gap:5px}
.calendar-category-legend i{width:10px;height:10px;background:var(--category-bg);border:1px solid var(--category-border);border-radius:2px}
