.calendar-page{overflow:visible!important}.calendar-container{width:100%;max-width:1400px;margin:0 auto;overflow:visible;position:relative}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:calc(var(--spacing) * 6);padding-bottom:calc(var(--spacing) * 4);border-bottom:1px solid rgba(0,0,0,.3)}.calendar-header-left{display:flex;align-items:center;gap:calc(var(--spacing) * 4)}.calendar-title{font-size:2rem;font-weight:500;margin:0}.calendar-nav{display:flex;gap:calc(var(--spacing) * 3)}.calendar-filter{display:flex;align-items:center}.calendar-filter [class*=-control]{min-height:unset;padding:calc(var(--spacing) * .5) 0;border-color:rgba(0,0,0,.3);border-radius:0}.calendar-filter [class*=-control]:hover{border-color:rgba(0,0,0,.5)}.calendar-filter [class*=-valueContainer]{padding:calc(var(--spacing) * .5) calc(var(--spacing) * 2)}.calendar-filter [class*=-indicatorContainer]{padding:calc(var(--spacing) * 1)}.calendar-nav-btn{background:transparent;border:1px solid rgba(0,0,0,.3);padding:calc(var(--spacing) * 2) calc(var(--spacing) * 4);cursor:pointer;font-family:var(--default-font-family);font-size:1rem;transition:all .2s ease}.calendar-nav-btn:hover{background:rgba(0,0,0,.05);border-color:rgba(0,0,0,.5)}.calendar-today-btn{font-family:var(--default-mono-font-family);font-size:.9rem}.calendar-loading{display:inline-block;margin-left:calc(var(--spacing) * 2);font-size:1rem;opacity:.5;animation:calendar-pulse 1s ease-in-out infinite}@keyframes calendar-pulse{0%,to{opacity:.5}50%{opacity:1}}.calendar-grid{border:1px solid rgba(0,0,0,.3);overflow:visible}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid rgba(0,0,0,.3)}.calendar-weekday{padding:calc(var(--spacing) * 4);text-align:center;font-family:var(--default-mono-font-family);font-size:.8rem;text-transform:uppercase;opacity:.7;border-right:1px solid rgba(0,0,0,.15)}.calendar-weekday:last-child{border-right:none}.calendar-week,.calendar-weeks{display:flex;flex-direction:column;overflow:visible}.calendar-week{border-bottom:1px solid rgba(0,0,0,.3);min-height:100px;position:relative}.calendar-week:last-child{border-bottom:none}.calendar-days-row{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day{padding:calc(var(--spacing) * 3);min-height:50px;border-right:1px solid rgba(0,0,0,.15);background:transparent}.calendar-day:last-child{border-right:none}.calendar-day-outside{opacity:.3}.calendar-day-number{font-family:var(--default-mono-font-family);font-size:1rem;font-weight:500;background:transparent;border:none;padding:0;cursor:default;color:inherit}.calendar-day-number.has-activities{cursor:pointer;transition:opacity .2s ease}.calendar-day-number.has-activities:hover{opacity:.6}.calendar-day-today .calendar-day-number{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:rgba(0,0,0,.8);color:var(--background-color);border-radius:50%}.calendar-day-today .calendar-day-number.has-activities:hover{opacity:.8}.calendar-activities-row{display:grid;grid-template-columns:repeat(7,1fr);min-height:32px;position:relative;overflow:visible}.calendar-activity{position:relative;display:flex;align-items:center;padding:6px 10px;margin:2px 0;font-size:.75rem;font-family:var(--default-mono-font-family);text-decoration:none;color:rgba(0,0,0,.8);border-top:1px solid rgba(0,0,0,.2);border-bottom:1px solid rgba(0,0,0,.2);transition:all .2s ease;overflow:visible}.calendar-activity:hover{background-color:rgba(0,0,0,.25)!important;color:rgba(0,0,0,1);z-index:100}.calendar-activity.activity-start{margin-left:4px;border-left:1px solid rgba(0,0,0,.2);border-top-left-radius:3px;border-bottom-left-radius:3px}.calendar-activity.activity-end{margin-right:4px;border-right:1px solid rgba(0,0,0,.2);border-top-right-radius:3px;border-bottom-right-radius:3px}.calendar-activity-content{display:flex;align-items:center;gap:8px;overflow:hidden;flex:1;min-width:0;white-space:nowrap;text-overflow:ellipsis}.calendar-activity-title{overflow:hidden;text-overflow:ellipsis;font-weight:500}.calendar-activity-space{opacity:.6;font-size:.7rem;overflow:hidden;text-overflow:ellipsis}.calendar-activity-tooltip{position:absolute;bottom:calc(100% + 12px);left:0;background:#fff;border-radius:8px;padding:0;min-width:260px;max-width:320px;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;z-index:1000;pointer-events:none;box-shadow:0 8px 24px rgba(0,0,0,.2);overflow:hidden;border:1px solid rgba(0,0,0,.1)}.calendar-activity-tooltip:after{content:"";position:absolute;top:100%;left:24px;border:8px solid transparent;border-top-color:#fff}.calendar-activity:hover .calendar-activity-tooltip{opacity:1;visibility:visible;pointer-events:auto}.calendar-tooltip-image{width:100%;height:140px;overflow:hidden}.calendar-tooltip-image img{width:100%;height:100%;object-fit:cover}.calendar-tooltip-content{padding:16px;display:flex;flex-direction:column;gap:6px}.calendar-tooltip-title{font-family:var(--default-font-family);font-size:1rem;font-weight:600;line-height:1.3;white-space:normal;color:#1a1a1a}.calendar-tooltip-space{font-family:var(--default-mono-font-family);font-size:.8rem;color:rgba(0,0,0,.5);white-space:normal}.calendar-more-row{display:grid;grid-template-columns:repeat(7,1fr);min-height:24px}.calendar-more-cell{display:flex;align-items:center;justify-content:center;padding:2px 4px}.calendar-more-btn{background:transparent;border:none;font-family:var(--default-mono-font-family);font-size:.7rem;color:rgba(0,0,0,.6);cursor:pointer;padding:2px 6px;transition:all .2s ease}.calendar-more-btn:hover{color:rgba(0,0,0,1);background:rgba(0,0,0,.05)}.calendar-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:calc(var(--spacing) * 4)}.calendar-popup{background:#fff;border-radius:12px;max-width:420px;width:100%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 12px 48px rgba(0,0,0,.25);overflow:hidden}.calendar-popup-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(0,0,0,.1);background:#fff}.calendar-popup-title{font-family:var(--default-font-family);font-size:1.1rem;font-weight:600;margin:0;color:#1a1a1a}.calendar-popup-close{background:rgba(0,0,0,.05);border:none;width:32px;height:32px;border-radius:50%;font-size:1.25rem;cursor:pointer;color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;transition:all .2s ease}.calendar-popup-close:hover{background:rgba(0,0,0,.1);color:rgba(0,0,0,.8)}.calendar-popup-content{overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;background:#fff}.calendar-popup-activity{display:flex;align-items:center;gap:16px;padding:12px;text-decoration:none;color:inherit;border:1px solid rgba(0,0,0,.15);border-radius:8px;background:#fff}.calendar-popup-activity-image{width:64px;height:64px;flex-shrink:0;overflow:hidden;border-radius:6px}.calendar-popup-activity-image img{width:100%;height:100%;object-fit:cover}.calendar-popup-activity-info{display:flex;flex-direction:column;gap:4px;min-width:0}.calendar-popup-activity-title{font-family:var(--default-font-family);font-size:.95rem;font-weight:600;line-height:1.3;color:#1a1a1a}.calendar-popup-activity-space{font-family:var(--default-mono-font-family);font-size:.8rem;color:rgba(0,0,0,.5)}@media (max-width:768px){.calendar-header{gap:calc(var(--spacing) * 3)}.calendar-header,.calendar-header-left{flex-direction:column;align-items:flex-start}.calendar-header-left{gap:calc(var(--spacing) * 2);width:100%}.calendar-filter{width:100%}.calendar-title{font-size:1.5rem}.calendar-weekday{padding:calc(var(--spacing) * 2);font-size:.65rem}.calendar-week{min-height:80px}.calendar-day{padding:calc(var(--spacing) * 2);min-height:40px}.calendar-day-number{font-size:.85rem}.calendar-activity{font-size:.65rem;padding:4px 6px}.calendar-activity-space,.calendar-activity-tooltip{display:none}.calendar-more-btn{font-size:.6rem;padding:1px 3px}.calendar-popup{max-width:100%;max-height:90vh;border-radius:8px}.calendar-popup-header{padding:16px 20px}.calendar-popup-activity-image{width:56px;height:56px}.calendar-popup-activity{padding:10px;gap:12px}}