.calendar-event-popup,.add-event-popup,.event-edit-popup{border-radius:var(--radius-lg);width:320px;z-index:var(--z-popover);border:1px solid var(--border-color);background:#fff;animation:.15s ease-out popupSlideIn;position:absolute;box-shadow:0 4px 16px #0003}.add-event-popup.popup-centered,.event-edit-popup.popup-centered{animation:.15s ease-out popupSlideInCentered;transform:translate(-50%);left:50%!important}.calendar-popup-header{padding:var(--spacing-sm)var(--spacing-sm)0 var(--spacing-sm);justify-content:flex-end;align-items:center;display:flex}.calendar-popup-close{cursor:pointer;width:32px;height:32px;color:var(--text-secondary);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex}.calendar-popup-close:hover{background:var(--light-color);color:var(--text-primary)}.calendar-popup-close:active{transform:scale(.95)}.calendar-popup-content{padding:0 var(--spacing-lg)var(--spacing-lg)var(--spacing-lg)}.calendar-popup-input-container{margin-bottom:var(--spacing-lg)}.calendar-popup-title-input{width:100%;padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--card-bg);color:var(--text-primary);transition:border-color var(--transition-normal),box-shadow var(--transition-normal);box-sizing:border-box}.calendar-popup-title-input::placeholder{color:var(--text-secondary);opacity:.7}.calendar-popup-title-input:focus{border-color:var(--primary-light);outline:none;box-shadow:0 0 0 3px #ff8a8a26}.calendar-popup-date-display{align-items:center;gap:8px;padding:8px 0;display:flex}.calendar-popup-date-icon{color:var(--text-secondary);flex-shrink:0}.calendar-popup-date-text{font-size:var(--font-size-sm);color:var(--text-secondary)}.calendar-popup-search-link{color:var(--primary-color);font-size:var(--font-size-sm);cursor:pointer;transition:color var(--transition-normal);margin-bottom:var(--spacing-md);background:0 0;border:none;align-items:center;gap:8px;padding:8px 0;display:flex}.calendar-popup-search-icon{flex-shrink:0}.calendar-popup-search-link:hover:not(:disabled){color:var(--primary-dark);text-decoration:underline}.calendar-popup-search-link:disabled{color:var(--text-secondary);cursor:not-allowed;opacity:.6}.add-event-actions{justify-content:flex-end;gap:var(--spacing-sm);display:flex}.add-event-actions .btn{min-width:80px}.event-edit-actions{justify-content:space-between;align-items:center;gap:var(--spacing-sm);display:flex}.event-edit-actions .btn{flex:1;min-width:0}.btn--danger{color:#fff;background:#dc3545;border:1px solid #dc3545}.btn--danger:hover{background:#c82333;border-color:#bd2130}.btn--danger:disabled{cursor:not-allowed;opacity:.6;background:#e4606d;border-color:#e4606d}.camps-search-modal-overlay{z-index:var(--z-modal);padding:var(--spacing-lg);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.camps-search-modal{background:var(--card-bg);border-radius:var(--radius-lg);flex-direction:column;width:100%;max-width:1100px;max-height:90vh;animation:.2s ease-out modalSlideIn;display:flex;box-shadow:0 8px 32px #0000004d}.camps-search-modal-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.camps-search-modal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.camps-search-modal-close{cursor:pointer;width:36px;height:36px;color:var(--text-secondary);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex}.camps-search-modal-close:hover{background:var(--light-color);color:var(--text-primary)}.camps-search-modal-content{padding:var(--spacing-lg);flex:1;min-height:400px;overflow-y:auto}.camps-search-modal-empty{height:100%;min-height:300px;font-size:var(--font-size-lg);color:var(--text-secondary);justify-content:center;align-items:center;display:flex}.camps-search-modal-grid{gap:var(--spacing-lg);grid-template-columns:repeat(3,1fr);display:grid}.camps-search-modal-footer{justify-content:flex-end;gap:var(--spacing-md);padding:var(--spacing-lg);border-top:1px solid var(--border-color);display:flex}.camps-search-modal-footer .btn{align-items:center;gap:var(--spacing-xs);display:flex}@media (max-width:1200px){.camps-search-modal-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.add-event-popup,.event-edit-popup{width:calc(100vw - 2*var(--spacing-md));max-width:320px}.add-event-popup.popup-centered,.event-edit-popup.popup-centered{transform:translate(-50%);left:50%!important}.calendar-popup-header{padding:var(--spacing-xs)var(--spacing-xs)0 var(--spacing-xs)}.calendar-popup-content{padding:0 var(--spacing-md)var(--spacing-md)var(--spacing-md)}.calendar-popup-close{width:28px;height:28px}.camps-search-modal{border-radius:0;max-width:100%;max-height:100%}.camps-search-modal-grid{grid-template-columns:1fr}.camps-search-modal-content{min-height:200px}.camps-search-modal-footer{flex-direction:column}.camps-search-modal-footer .btn{justify-content:center;width:100%}}
.calendars-list{gap:var(--spacing-xs);margin-bottom:var(--spacing-md);flex-direction:column;display:flex}.calendar-item{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-normal);border:1px solid #0000;display:flex}.calendar-item-checkbox{width:16px;height:16px;accent-color:var(--primary-color);cursor:pointer;flex-shrink:0}.calendar-item-color{border-radius:50%;flex-shrink:0;width:8px;height:8px}.calendar-item:hover{background:var(--light-color)}.calendar-item--active{background:var(--light-color);border-color:var(--primary-color)}.calendar-item-icon{width:18px;height:18px;color:var(--text-secondary)}.calendar-item--active .calendar-item-icon{color:var(--primary-color)}.calendar-item-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);flex:1}.add-calendar-btn{justify-content:center;align-items:center;gap:var(--spacing-xs);width:100%;display:flex}.add-calendar-form{gap:var(--spacing-sm);flex-direction:column;display:flex}.add-calendar-input{width:100%;padding:var(--spacing-sm)var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--card-bg);color:var(--text-primary);transition:border-color var(--transition-normal),box-shadow var(--transition-normal);box-sizing:border-box}.add-calendar-input::placeholder{color:var(--text-secondary);opacity:.7}.add-calendar-input:focus{border-color:var(--primary-light);outline:none;box-shadow:0 0 0 3px #ff8a8a26}.add-calendar-actions{gap:var(--spacing-sm);display:flex}.add-calendar-actions .btn{justify-content:center;align-items:center;gap:var(--spacing-xs);flex:1;display:flex}.schedule-sidebar-message{padding:var(--spacing-md);text-align:center;color:var(--text-secondary);font-size:var(--font-size-sm)}.calendar-item-edit{padding:var(--spacing-xs);cursor:pointer;color:var(--text-secondary);background:0 0;border:none;margin-left:auto;transition:all .2s}.calendar-item-edit:hover{color:var(--text-primary)}.calendar-item-delete{padding:var(--spacing-xs);cursor:pointer;color:var(--text-secondary);background:0 0;border:none;transition:all .2s}.calendar-item-delete:hover{color:var(--text-primary)}.edit-calendar-form{gap:var(--spacing-sm);flex-direction:column;display:flex}.edit-calendar-input{width:100%;padding:var(--spacing-sm)var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--card-bg);color:var(--text-primary);transition:border-color var(--transition-normal),box-shadow var(--transition-normal);box-sizing:border-box}.edit-calendar-input::placeholder{color:var(--text-secondary);opacity:.7}.edit-calendar-input:focus{border-color:var(--primary-light);outline:none;box-shadow:0 0 0 3px #ff8a8a26}.edit-calendar-actions{gap:var(--spacing-sm);display:flex}.edit-calendar-actions .btn{justify-content:center;align-items:center;gap:var(--spacing-xs);flex:1;display:flex}.delete-confirm-overlay{z-index:var(--z-modal);padding:var(--spacing-lg);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.delete-confirm-modal{background:var(--card-bg);border-radius:var(--radius-lg);padding:var(--spacing-lg);width:100%;max-width:400px;box-shadow:0 8px 32px #0000004d}.delete-confirm-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-md)0}.delete-confirm-message{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 var(--spacing-lg)0;line-height:1.5}.delete-confirm-actions{gap:var(--spacing-sm);justify-content:flex-end;display:flex}
.calendar{background:var(--card-bg);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin:var(--spacing-md)0;overflow-y:auto}.fc{font-family:var(--font-family);color:var(--text-primary)}.fc-header-toolbar{margin-bottom:var(--spacing-lg)!important}.fc-toolbar-title{font-size:var(--font-size-2xl)!important;font-weight:var(--font-weight-bold)!important;color:var(--primary-color)!important}.fc-button{background:var(--primary-color)!important;border-radius:var(--radius-full)!important;padding:var(--spacing-sm)var(--spacing-md)!important;font-weight:var(--font-weight-semibold)!important;font-size:var(--font-size-sm)!important;color:#fff!important;transition:var(--transition-normal)!important;box-shadow:var(--shadow-sm)!important;border:none!important}.fc-button:hover{background:var(--primary-dark)!important;box-shadow:var(--shadow)!important;transform:translateY(-1px)!important}.fc-button:active{transform:translateY(0)!important}.fc-button:focus{outline:none!important;box-shadow:0 0 0 3px #e44e4e33!important}.fc-button:disabled{cursor:not-allowed!important;transform:none!important}.fc-today-button{background:var(--secondary-color)!important;color:var(--primary-dark)!important}.fc-today-button:hover{background:var(--accent-color)!important}.fc-prev-button,.fc-summaryButton-button{margin-right:var(--spacing-sm)!important}.fc-daygrid-day{border-color:var(--border-color)!important}.fc-daygrid-day-number{color:var(--text-primary)!important;padding:8px!important;font-weight:500!important}.fc-day-today{background:var(--light-color)!important}.fc-day-today .fc-daygrid-day-number{background:var(--primary-color)!important;color:#fff!important;border-radius:50%!important;justify-content:center!important;align-items:center!important;width:32px!important;height:32px!important;margin:4px!important;display:flex!important}.fc-day-sun .fc-daygrid-day-number,.fc-day-sat .fc-daygrid-day-number{color:var(--primary-color)!important;font-weight:600!important}.fc-col-header-cell{background:var(--light-color)!important;border-color:var(--border-color)!important}.fc-col-header-cell-cushion{color:var(--text-primary)!important;padding:12px 8px!important;font-size:.9rem!important;font-weight:600!important}.fc-event{color:#fff!important;box-shadow:var(--shadow-sm)!important;cursor:pointer!important;border:none!important;border-radius:6px!important;padding:2px 6px!important;font-size:.8rem!important;font-weight:500!important;transition:all .2s!important}.fc-event:hover{filter:brightness(.85)!important;box-shadow:var(--shadow)!important;cursor:pointer!important;transform:translateY(-1px)!important}.calendar-holiday-event{cursor:default!important;font-style:italic!important}.calendar-holiday-event:hover{filter:none!important;cursor:default!important;transform:none!important}.fc-event-title{font-weight:600!important}.fc-event-time{opacity:.9!important;font-size:.75rem!important}.fc-daygrid-more-link{background:var(--secondary-color)!important;color:var(--primary-dark)!important;border-radius:4px!important;padding:2px 6px!important;font-size:.75rem!important;font-weight:500!important}.fc-daygrid-more-link:hover{background:var(--accent-color)!important}.fc-highlight{border:2px solid var(--primary-color)!important;background:#e44e4e26!important}.fc-daygrid-day.fc-day-selected{background:#e44e4e1a!important}.fc-daygrid-day:hover{cursor:pointer}.fc-daygrid-day.fc-day-today.fc-highlight{background:#e44e4e40!important}@media (max-width:768px){.calendar{margin:.5rem 0;padding:1rem}.fc-toolbar-title{font-size:1.1rem!important}.fc-button{background:var(--primary-color)!important;border-radius:var(--radius-full)!important;padding:var(--spacing-xs)var(--spacing-sm)!important;font-size:var(--font-size-xs)!important;color:#fff!important;transition:var(--transition-normal)!important;box-shadow:var(--shadow-sm)!important;border:none!important}.fc-today-button{display:none!important}.fc-prev-button,.fc-summaryButton-button{margin-right:4px!important}.fc-shareButton-button{font-size:0!important}.fc-shareButton-button:before{content:"Share";font-size:var(--font-size-xs)}.fc-daygrid-day-number{padding:4px!important;font-size:.9rem!important}.fc-col-header-cell-cushion{padding:8px 4px!important;font-size:.8rem!important}.fc-view-harness{height:600px!important}}.fc-daygrid-day.fc-day-disabled{background:var(--light-color)!important}.fc-daygrid-day.fc-day-disabled .fc-daygrid-day-number{color:var(--text-secondary)!important;opacity:.5!important}.calendar-modal-popup{border-radius:var(--radius-lg);width:500px;max-height:600px;z-index:var(--z-popover);background:#fff;animation:.2s ease-out popupSlideIn;position:absolute;overflow-y:auto;box-shadow:0 10px 40px #0003}.calendar-modal-popup.calendar-modal-centered{transform:translate(-50%);left:50%!important;right:auto!important}.calendar-modal-centered{animation:.2s ease-out popupSlideIn}.calendar-modal-close{border:1px solid var(--border-color);cursor:pointer;z-index:10;width:32px;height:32px;box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:20px;right:20px}.calendar-modal-close:hover{background:var(--light-color);border-color:var(--primary-color);transform:scale(1.05)}.calendar-modal-close:active{transform:scale(.95)}.calendar-modal-body{padding:var(--spacing-sm)}.calendar-modal-body .camp-card{box-shadow:none;border:none;margin:0}.calendar-modal-body .camp-favorite-button{right:52px}@media (max-width:768px){.calendar-modal-popup{width:calc(100vw - 2*var(--spacing-md));opacity:0;pointer-events:none;max-width:500px}.calendar-modal-popup.calendar-modal-centered{opacity:1;pointer-events:auto;animation:.2s ease-out popupSlideInCentered;transform:translate(-50%);left:50%!important;right:auto!important}.calendar-modal-close{width:28px;height:28px;top:14px;right:14px}}
