.event-calendar{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;background:white;border-radius:var(--radius-xl);border:1px solid rgba(74,159,212,.08);overflow:hidden}.ec-main{padding:28px}.ec-header{gap:12px;margin-bottom:20px}.ec-header,.ec-nav-btn{display:flex;align-items:center}.ec-nav-btn{justify-content:center;width:34px;height:34px;border-radius:50%;border:1px solid rgba(74,159,212,.12);background:transparent;cursor:pointer;color:var(--text-primary);transition:all .2s}.ec-nav-btn:hover{background:var(--bg-secondary);border-color:var(--mpact-orange);color:var(--mpact-orange)}.ec-month-year{display:flex;align-items:baseline;gap:8px;flex:1}.ec-month{font-size:1.3rem;font-weight:800;color:var(--text-primary);letter-spacing:-.5px}.ec-year{font-size:.8rem;font-weight:600;color:var(--text-muted);letter-spacing:.5px}.ec-today-btn,.ec-year{font-family:var(--font-data)}.ec-today-btn{font-size:.65rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:6px 14px;border-radius:100px;border:1px solid var(--mpact-orange);color:var(--mpact-orange);background:transparent;cursor:pointer;transition:all .2s}.ec-today-btn:hover{background:var(--mpact-orange);color:white}.ec-day-labels{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.ec-day-label{text-align:center;font-family:var(--font-data);font-size:.6rem;font-weight:700;letter-spacing:1px;color:var(--text-muted);text-transform:uppercase;padding:6px 0}.ec-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.ec-cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1;border-radius:10px;border:2px solid transparent;background:transparent;cursor:pointer;transition:all .2s var(--bezier-kinetic);padding:0;min-width:0}.ec-cell:hover:not(:disabled){background:var(--bg-secondary)}.ec-cell--other{opacity:.25;pointer-events:none}.ec-cell--today{background:var(--mpact-navy);border-color:var(--mpact-navy)}.ec-cell--today .ec-cell-day{color:white;font-weight:800}.ec-cell--event{cursor:pointer}.ec-cell--event:not(.ec-cell--today){background:rgba(232,119,34,.08)}.ec-cell--event:hover{border-color:var(--mpact-orange)}.ec-cell--selected{border-color:var(--mpact-orange)!important;background:rgba(232,119,34,.12)!important}.ec-cell-day{font-family:var(--font-data);font-size:.8rem;font-weight:600;color:var(--text-primary);line-height:1}.ec-cell-dot{position:absolute;bottom:4px;width:5px;height:5px;border-radius:50%;background:var(--mpact-orange)}.ec-cell--today .ec-cell-dot{background:white}.ec-cell-count{position:absolute;top:2px;right:2px;font-family:var(--font-data);font-size:.45rem;font-weight:700;background:var(--mpact-orange);color:white;width:14px;height:14px;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1}.ec-sidebar{background:var(--bg-secondary);padding:28px 24px;border-left:1px solid rgba(74,159,212,.08);overflow-y:auto;max-height:460px}.ec-sidebar-title{font-size:1rem;font-weight:800;color:var(--text-primary);letter-spacing:-.3px;margin-bottom:16px}.ec-sidebar-events{display:flex;flex-direction:column;gap:14px}.ec-event-card{background:white;border-radius:var(--radius-lg);overflow:hidden;border:1px solid rgba(74,159,212,.08);transition:all .3s var(--bezier-kinetic)}.ec-event-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(10,20,32,.08)}.ec-event-img-wrap{width:100%;aspect-ratio:16/9;overflow:hidden}.ec-event-img{width:100%;height:100%;object-fit:cover}.ec-event-info{padding:14px}.ec-event-tag-badge{display:inline-block;font-family:var(--font-data);font-size:.5rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:white;background:var(--mpact-navy);padding:2px 8px;border-radius:100px;margin-bottom:6px}.ec-event-name{font-size:.9rem;font-weight:800;color:var(--text-primary);letter-spacing:-.3px;margin-bottom:4px;line-height:1.3}.ec-event-date{font-family:var(--font-data);font-size:.65rem;font-weight:700;color:var(--mpact-orange)}.ec-event-desc{font-size:.78rem;color:var(--text-secondary);line-height:1.5;margin-top:6px}.ec-no-events{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 0;text-align:center}.ec-no-events p{font-size:.75rem;color:var(--text-muted)}.ec-clear-btn,.ec-no-events p{font-family:var(--font-data);letter-spacing:.5px}.ec-clear-btn{display:block;margin-top:14px;width:100%;font-size:.65rem;font-weight:700;color:var(--mpact-orange);background:transparent;border:none;cursor:pointer;text-align:left;padding:8px 0;transition:letter-spacing .2s}.ec-clear-btn:hover{letter-spacing:1px}.event-calendar--compact{grid-template-columns:1fr;border:1px solid rgba(74,159,212,.1)}.event-calendar--compact .ec-main{padding:20px}.event-calendar--compact .ec-header{margin-bottom:14px}.event-calendar--compact .ec-month{font-size:1.05rem}.event-calendar--compact .ec-cell{border-radius:8px}.event-calendar--compact .ec-cell-day{font-size:.7rem}.event-calendar--compact .ec-cell-dot{width:4px;height:4px;bottom:3px}.event-calendar--compact .ec-cell-count{display:none}.ec-selected-detail{margin-top:12px;padding:14px;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid rgba(232,119,34,.15);animation:ecSlideUp .25s var(--bezier-kinetic)}@keyframes ecSlideUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.ec-selected-event{display:flex;align-items:center;gap:8px;margin-bottom:8px}.ec-selected-event:last-of-type{margin-bottom:10px}.ec-selected-tag{font-family:var(--font-data);font-size:.5rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;background:var(--mpact-navy);color:white;padding:2px 8px;border-radius:100px;white-space:nowrap}.ec-selected-title{font-size:.8rem;font-weight:700;color:var(--text-primary);letter-spacing:-.2px}.ec-view-all-btn{font-family:var(--font-data);font-size:.65rem;font-weight:700;letter-spacing:.5px;color:var(--mpact-orange);background:transparent;border:none;cursor:pointer;padding:0;transition:letter-spacing .2s}.ec-view-all-btn:hover{letter-spacing:1px}@media (max-width:900px){.event-calendar{grid-template-columns:1fr}.ec-sidebar{border-left:none;border-top:1px solid rgba(74,159,212,.08);max-height:none}}@media (max-width:600px){.ec-main{padding:16px}.ec-sidebar{padding:20px 16px}.ec-month{font-size:1.1rem}.ec-cell-day{font-size:.7rem}.ec-cell-dot{width:4px;height:4px}.event-calendar--compact .ec-main{padding:14px}.event-calendar--compact .ec-cell-day{font-size:.65rem}}@media (max-width:480px){.ec-cell{border-radius:6px}.ec-cell-day{font-size:.65rem}.ec-nav-btn{width:30px;height:30px}}