.calendar-container{grid-template-columns:1fr;gap:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:grid}@media (min-width:992px){.calendar-container.has-sidebar{grid-template-columns:1fr 360px}}.calendar-filters-scroll{scrollbar-width:none;-ms-overflow-style:none;gap:.75rem;margin-bottom:2rem;padding:.5rem .25rem;display:flex;overflow-x:auto}.calendar-filters-scroll::-webkit-scrollbar{display:none}.filter-pill{font-family:var(--font-sans,sans-serif);border-radius:var(--radius-feps,2px);cursor:pointer;border:1px solid var(--feps-border);background:var(--feps-paper);color:var(--feps-ink-secondary);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;align-items:center;padding:.4rem 1.2rem;font-size:.75rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex}.filter-pill:hover{background:var(--feps-surface);color:var(--feps-ink);border-color:var(--feps-ink);transform:translateY(-1px);box-shadow:0 4px 12px #1a3a6e14}.calendar-toolbar{border-bottom:1px solid var(--feps-border);background:0 0;margin-bottom:2.5rem;padding:1rem 0}.nav-chevron-btn{color:var(--feps-ink-secondary);cursor:pointer;border-radius:var(--radius-feps,2px);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;width:36px;height:36px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.nav-chevron-btn:hover{background:var(--feps-surface);color:var(--feps-ink)}.today-btn{border:1px solid var(--feps-border);color:var(--feps-ink);font-family:var(--font-sans,sans-serif);text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-feps,2px);cursor:pointer;background:0 0;padding:.45rem 1.15rem;font-size:.75rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1)}.today-btn:hover{background:var(--feps-navy);color:var(--feps-paper);border-color:var(--feps-navy);box-shadow:0 4px 12px #1a3a6e26}.view-toggle-container{background:var(--feps-surface);border:1px solid var(--feps-border);border-radius:var(--radius-feps,2px);gap:.25rem;padding:.25rem;display:inline-flex}.view-toggle-btn{font-family:var(--font-sans,sans-serif);text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-feps,2px);color:var(--feps-ink-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:.4rem;padding:.45rem 1.15rem;font-size:.75rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.view-toggle-btn:hover{color:var(--feps-ink)}.view-toggle-btn.active{box-shadow:0 2px 8px #0000000d;background:var(--feps-paper)!important;color:var(--feps-ink)!important}.day-headers{background:var(--feps-gradient);border:1px solid var(--feps-border);border-radius:var(--radius-feps,2px)var(--radius-feps,2px)0 0;border-bottom:none;grid-template-columns:repeat(7,1fr);display:grid}.day-header-cell{text-align:center;font-family:var(--font-sans,sans-serif);text-transform:uppercase;letter-spacing:.05em;color:var(--feps-ink);border-right:1px solid var(--feps-border);padding:1rem .5rem;font-size:.85rem;font-weight:700}.day-header-cell:last-child{border-right:none}.calendar-grid{border:1px solid var(--feps-border);border-radius:0 0 var(--radius-feps,2px)var(--radius-feps,2px);background:var(--feps-paper);grid-template-columns:repeat(7,1fr);display:grid}.calendar-cell{border-right:1px solid var(--feps-border);border-bottom:1px solid var(--feps-border);background:var(--feps-paper);cursor:pointer;flex-direction:column;min-height:140px;padding:.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.calendar-cell:hover:not(.empty){background:var(--feps-paper);box-shadow:inset 0 0 0 1px var(--feps-gold),0 4px 12px #1a3a6e0d;z-index:10}.calendar-cell.empty{background:var(--feps-surface-alt);cursor:default}.calendar-cell:nth-child(7n){border-right:none}.calendar-cell:nth-last-child(-n+7){border-bottom:none}.calendar-cell.selected{background:var(--feps-surface);box-shadow:inset 0 0 0 2px var(--feps-navy);z-index:10}.cell-header{justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;display:flex}.cell-day-num{font-family:var(--font-serif,serif);color:var(--feps-ink-secondary);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.25rem;font-weight:500;transition:all .3s;display:flex}.calendar-cell.has-events .cell-day-num{color:var(--feps-ink);font-weight:600}.calendar-cell.today .cell-day-num{background:var(--feps-gold);color:var(--feps-navy);font-weight:700}.cell-events-list{flex-direction:column;gap:4px;width:100%;display:flex}.cell-event-pill{font-family:var(--font-sans,sans-serif);border-radius:var(--radius-feps,2px);text-overflow:ellipsis;white-space:nowrap;text-align:inherit;border:1px solid var(--feps-border);padding:.25rem .5rem;font-size:.72rem;font-weight:500;line-height:1.3;transition:all .2s cubic-bezier(.4,0,.2,1);overflow:hidden}.cell-event-pill:hover{filter:brightness(.96)}.cell-events-more{font-family:var(--font-sans,sans-serif);color:var(--feps-ink-secondary);margin-top:1px;padding:.05rem .35rem;font-size:.65rem;font-weight:600}.cell-mobile-count{background:var(--feps-ink);color:var(--feps-paper);font-family:var(--font-sans,sans-serif);justify-content:center;align-items:center;width:18px;height:18px;font-size:.65rem;font-weight:600;display:inline-flex}@media (max-width:768px){.hide-mobile-only{display:none!important}.show-mobile-only{display:inline-flex!important}}@media (min-width:769px){.hide-mobile-only{display:flex!important}.show-mobile-only{display:none!important}}.agenda-list{flex-direction:column;gap:.75rem;margin-top:.5rem;display:flex}.agenda-item-card{background:var(--feps-paper);border:1px solid var(--feps-border);color:inherit;grid-template-columns:80px 1fr auto;align-items:center;gap:1.5rem;padding:1rem 1.25rem;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:grid}.agenda-item-card:hover{background:var(--feps-surface);border-color:var(--feps-gold);transform:translateY(-2px);box-shadow:0 12px 24px #1a3a6e14,0 4px 8px #1a3a6e0a}.agenda-date-badge{background:var(--feps-surface-alt);border-right:1px solid var(--feps-border);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:72px;padding:.6rem .5rem;display:flex}.agenda-day-num{font-family:var(--font-serif,serif);color:var(--feps-ink);font-size:1.5rem;font-weight:400;line-height:1}.agenda-month-name{font-family:var(--font-sans,sans-serif);text-transform:uppercase;color:var(--feps-ink-secondary);margin-top:.25rem;font-size:.65rem;font-weight:600}.agenda-day-name{font-family:var(--font-sans,sans-serif);color:var(--feps-ink-tertiary);margin-top:.15rem;font-size:.65rem}.agenda-details{flex-direction:column;display:flex}.category-indicator-tag{font-family:var(--font-sans,sans-serif);border-radius:var(--radius-feps,2px);text-transform:uppercase;letter-spacing:.04em;border:1px solid;align-items:center;padding:.2rem .5rem;font-size:.65rem;font-weight:600;display:inline-flex}.tag-dot{border-radius:0;width:5px;height:5px}.agenda-event-title{font-family:var(--font-serif,serif);color:var(--feps-ink);margin:.5rem 0 .3rem;font-size:1.25rem;font-weight:400;line-height:1.2}.agenda-event-desc{color:var(--feps-ink-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0 0 .5rem;font-size:.85rem;line-height:1.5;display:-webkit-box;overflow:hidden}.agenda-meta-row{flex-wrap:wrap;gap:.75rem;display:flex}.meta-item{font-family:var(--font-sans,sans-serif);color:var(--feps-ink-tertiary);align-items:center;gap:.3rem;font-size:.7rem;display:inline-flex}.meta-item svg{color:var(--feps-ink-secondary)}.agenda-action{color:var(--feps-ink-tertiary);padding:.5rem;transition:all .2s}.agenda-item-card:hover .agenda-action{color:var(--feps-ink);transform:translate(3px)}.event-sidebar{background:var(--feps-paper);border:1px solid var(--feps-border);flex-direction:column;align-self:start;animation:.3s cubic-bezier(.4,0,.2,1) slideIn;display:flex;position:sticky;top:100px;overflow:hidden}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.sidebar-header{border-bottom:1px solid var(--feps-border);background:var(--feps-surface);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.sidebar-title-date{font-family:var(--font-serif,serif);color:var(--feps-ink);font-size:1.5rem;font-weight:400;line-height:1.2}.sidebar-title-month{font-family:var(--font-sans,sans-serif);color:var(--feps-ink-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.sidebar-close-btn{background:var(--feps-surface);border:1px solid var(--feps-border);color:var(--feps-ink-secondary);border-radius:var(--radius-feps,2px);cursor:pointer;justify-content:center;align-items:center;width:28px;height:28px;transition:all .2s;display:flex}.sidebar-close-btn:hover{background:var(--feps-ink);color:var(--feps-paper)}.sidebar-event-list{flex-direction:column;gap:.75rem;max-height:520px;padding:1rem;display:flex;overflow-y:auto}.sidebar-event-card{background:var(--feps-surface);border:1px solid var(--feps-border);cursor:pointer;flex-direction:column;gap:.5rem;padding:1.25rem;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.sidebar-event-card:hover{border-color:var(--feps-ink);background:var(--feps-paper)}.sidebar-empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:3rem 1.5rem;display:flex}.empty-icon-wrapper{background:var(--feps-surface-alt);width:64px;height:64px;color:var(--feps-ink-secondary);border:1px solid var(--feps-border);justify-content:center;align-items:center;margin-bottom:1rem;display:flex}.empty-state-title{font-family:var(--font-serif,serif);color:var(--feps-ink);margin-bottom:.25rem;font-size:1.25rem;font-weight:400}.empty-state-desc{color:var(--feps-ink-secondary);max-width:220px;font-size:.85rem;line-height:1.4}@media (max-width:991px){.calendar-cell{min-height:70px;padding:.35rem}.cell-day-num{width:20px;height:20px;font-size:.85rem}.cell-event-text{display:none}.event-sidebar{margin-top:1.5rem;animation:.3s slideUp;position:static}}@media (max-width:600px){.calendar-toolbar{flex-direction:column;align-items:stretch;gap:.75rem}.view-toggle-container{align-self:flex-start}.agenda-item-card{grid-template-columns:1fr;gap:.75rem;padding:.85rem}.agenda-date-badge{border-right:none;border-bottom:1px solid var(--feps-border);flex-direction:row;justify-content:flex-start;align-items:center;gap:.5rem;min-height:auto;padding:.4rem .75rem}.agenda-day-num{font-size:1.2rem}.agenda-month-name,.agenda-day-name{margin:0}.agenda-action{display:none}}@keyframes slideUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
