@media(min-width: 768px){.fc .fc-header-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:nowrap;gap:1rem}.fc .fc-header-toolbar .fc-toolbar-chunk{display:flex;align-items:center;gap:.5rem}.fc .fc-header-toolbar .fc-toolbar-title{font-size:1.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1;text-align:center}}@media(min-width: 768px)and (min-width: 992px){.fc .fc-header-toolbar .fc-toolbar-title{font-size:1.75rem}}@media(max-width: 767.98px){.fc .fc-header-toolbar{display:flex !important;flex-wrap:wrap;flex-direction:row-reverse !important;justify-content:space-between !important;align-items:center;width:100%}.fc .fc-header-toolbar .fc-toolbar-chunk:first-child{flex:0 0 auto}.fc .fc-header-toolbar .fc-toolbar-chunk:last-child{flex:0 0 auto}.fc .fc-header-toolbar .fc-toolbar-chunk:nth-child(2){order:3;flex-basis:100%;text-align:center;margin-top:.5rem}.fc .fc-header-toolbar .fc-toolbar-title{font-size:1.25rem;margin:0}.fc .fc-header-toolbar .fc-button-group .fc-button{font-size:.875rem;padding:.25rem .5rem}.fc .fc-daygrid-event{font-size:.75rem;padding:1px 2px}.fc .fc-list-event .fc-list-event-title{font-size:.875rem}.fc .fc-button{min-height:44px;min-width:44px}.fc .fc-daygrid-day{min-height:44px}}@media(max-width: 575.98px){.fc .fc-header-toolbar .fc-toolbar-title{font-size:1.125rem}.fc .fc-button-group .fc-button{font-size:.75rem;padding:.2rem .4rem}}.choices{margin-bottom:0}.choices .choices__inner{background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);color:var(--bs-body-color);font-size:var(--bs-body-font-size);min-height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem}.choices .choices__inner:focus-within{border-color:var(--bs-primary);box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.choices .choices__list--dropdown{background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);box-shadow:var(--bs-box-shadow);z-index:1050}.choices .choices__list--dropdown .choices__item{color:var(--bs-body-color)}.choices .choices__list--dropdown .choices__item:hover,.choices .choices__list--dropdown .choices__item.is-highlighted{background-color:var(--bs-primary);color:var(--bs-white)}.choices.is-open .choices__inner{border-radius:var(--bs-border-radius) var(--bs-border-radius) 0 0}.choices .choices__item--choice.is-selected{background-color:var(--bs-primary);color:var(--bs-white)}.fc{font-family:var(--bs-font-sans-serif)}.fc .fc-toolbar{margin-bottom:1.5rem;flex-wrap:wrap;gap:.5rem}@media(max-width: 768px){.fc .fc-toolbar .fc-toolbar-chunk{flex:1 1 100%;justify-content:center}.fc .fc-toolbar .fc-toolbar-chunk:first-child{order:2}.fc .fc-toolbar .fc-toolbar-chunk:last-child{order:1}}.fc .fc-button-group .fc-button{border-color:var(--bs-border-color);transition:all .2s ease-in-out}.fc .fc-button-group .fc-button:hover{transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,.1)}.fc .fc-daygrid-day{transition:all .2s ease-in-out}.fc .fc-daygrid-day:hover{background-color:var(--bs-light)}.fc .fc-event{border-radius:var(--bs-border-radius, 0.375rem);border:none;box-shadow:var(--bs-box-shadow, 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075));transition:all .2s ease-in-out;cursor:pointer}.fc .fc-event:hover{transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.15)}.fc .fc-event .fc-event-title{font-weight:500}.fc .fc-event.recurring-event{border-left:3px solid var(--bs-warning)}.fc .fc-event.recurring-event::after{content:"↻";position:absolute;top:2px;right:4px;font-size:.75rem;opacity:.7}.fc .fc-list-event:hover{background-color:var(--bs-light)}.fc .fc-list-event .fc-list-event-title{font-weight:500}@media(max-width: 768px){.fc .fc-toolbar-title{font-size:1.25rem}.fc .fc-button{padding:.25rem .5rem;font-size:.875rem}.fc .fc-daygrid-event{font-size:.75rem}}.calendar-container{background:var(--bs-body-bg, white);border-radius:var(--bs-border-radius, 0.375rem);box-shadow:var(--bs-box-shadow, 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075));padding:var(--bs-gutter-x, 1.5rem);margin-bottom:2rem;border:1px solid var(--bs-border-color, #dee2e6)}@media(max-width: 768px){.calendar-container{padding:1rem;margin-bottom:1rem}}.calendar-filter-form{transition:all .3s ease}.calendar-filter-form .filter-header{cursor:pointer;user-select:none;transition:background-color .2s ease}.calendar-filter-form .filter-header:hover{background-color:rgba(0,0,0,.05)}.calendar-filter-form .filter-header:focus-visible{outline:2px solid var(--bs-primary);outline-offset:-2px}.calendar-filter-form .filter-header .filter-toggle-icon{transition:transform .3s ease;font-size:1.1rem}.calendar-filter-form .filter-header[aria-expanded=true] .filter-toggle-icon{transform:rotate(180deg)}.calendar-filter-form .filter-header h5{color:var(--bs-gray-800);font-weight:600}.calendar-filter-form .filter-header h5 .badge{font-size:.75rem;animation:pulse 2s infinite}.calendar-filter-form .active-filters-summary{font-size:.875rem;color:var(--bs-gray-600);margin-top:.5rem}.calendar-filter-form .collapse .form-control,.calendar-filter-form .collapse .form-select{border:1px solid var(--bs-gray-300);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.calendar-filter-form .collapse .form-control:focus,.calendar-filter-form .collapse .form-select:focus{border-color:var(--bs-primary);box-shadow:0 0 0 .2rem rgba(var(--bs-primary-rgb), 0.25)}.calendar-filter-form .collapse .btn{transition:all .15s ease-in-out}@media(max-width: 768px){.calendar-filter-form .filter-header{padding:1rem !important}.calendar-filter-form .filter-header h5{font-size:1.1rem}.calendar-filter-form .filter-header .filter-toggle-icon{font-size:1.2rem}.calendar-filter-form .collapse .p-4{padding:1rem !important}.calendar-filter-form .row .col-md-2,.calendar-filter-form .row .col-md-3,.calendar-filter-form .row .col-md-4,.calendar-filter-form .row .col-md-6{margin-bottom:1rem}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}100%{transform:scale(1)}}.quick-filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.quick-filters .quick-filter-btn{display:inline-block;padding:.25rem .75rem;margin-bottom:0;font-size:.8rem;font-weight:400;line-height:1.5;color:var(--bs-primary);text-decoration:none;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;border:1px solid var(--bs-primary);border-radius:1rem;background-color:rgba(0,0,0,0);transition:all .15s ease-in-out}.quick-filters .quick-filter-btn:hover{color:#fff;background-color:var(--bs-primary);border-color:var(--bs-primary)}.quick-filters .quick-filter-btn.active{color:#fff;background-color:var(--bs-primary);border-color:var(--bs-primary)}.saved-filters .dropdown-toggle{display:inline-block;padding:.375rem .75rem;margin-bottom:0;font-size:.875rem;font-weight:400;line-height:1.5;color:var(--bs-gray-600);text-decoration:none;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;border:1px solid var(--bs-gray-300);border-radius:var(--bs-border-radius);background-color:rgba(0,0,0,0);transition:all .15s ease-in-out}.saved-filters .dropdown-toggle:hover{color:var(--bs-gray-700);background-color:var(--bs-gray-50);border-color:var(--bs-gray-400)}.saved-filters .dropdown-menu{min-width:200px}@media(max-width: 768px){.event-card{margin-bottom:1rem}.event-card:hover{transform:none;box-shadow:var(--bs-box-shadow)}.event-card .event-card-header{padding:.75rem}.event-card .event-card-header .event-date-badge{position:static;display:inline-block;margin-bottom:.5rem}.event-card .event-card-body{padding:.75rem}.event-card .event-card-body .event-title{font-size:1rem}.event-card .event-card-body .event-summary{font-size:.875rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.event-card .event-card-footer{padding:.5rem .75rem;flex-direction:column;align-items:flex-start;gap:.5rem}.fc-toolbar{flex-wrap:wrap;gap:.5rem}.fc-toolbar .fc-toolbar-chunk .fc-button-group .fc-button{padding:.5rem .75rem;font-size:.875rem;min-width:44px;min-height:44px}.fc-toolbar .fc-toolbar-title{font-size:1.25rem;flex:1;text-align:center;min-width:0}.event-grid .event-grid-item{margin-bottom:1rem}.calendar-filters{position:sticky;top:0;z-index:1020;margin-bottom:1rem}.calendar-filters .calendar-filters-body{padding:.75rem}.calendar-filters .filter-section{margin-bottom:1rem}.calendar-filters .date-range-shortcuts{justify-content:space-between}.calendar-filters .date-range-shortcuts .date-shortcut{flex:1;margin:0 .125rem;font-size:.75rem;padding:.25rem .5rem}.calendar-filters .view-toggle .view-option{flex:1;padding:.5rem}.calendar-filters .view-toggle .view-option .view-label{display:none}.calendar-filters .view-toggle .view-option i{margin-right:0;font-size:1.1rem}.quick-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.5rem}.quick-filters .quick-filter{flex-shrink:0;white-space:nowrap}}.calendar-container{-webkit-overflow-scrolling:touch;touch-action:manipulation}.swipe-indicator{position:absolute;top:50%;transform:translateY(-50%);background:rgba(var(--bs-primary-rgb), 0.1);color:var(--bs-primary);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;pointer-events:none}.swipe-indicator.show{opacity:1}.swipe-indicator.swipe-left{right:1rem}.swipe-indicator.swipe-right{left:1rem}.pull-refresh{position:relative}.pull-refresh .pull-refresh-indicator{position:absolute;top:-60px;left:50%;transform:translateX(-50%);background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:var(--bs-border-radius);padding:.5rem 1rem;box-shadow:var(--bs-box-shadow);opacity:0;transition:all .3s ease}.pull-refresh .pull-refresh-indicator.active{opacity:1;top:10px}.pull-refresh .pull-refresh-indicator .spinner-border{width:1rem;height:1rem;margin-right:.5rem}@media(max-width: 768px){.btn,.form-control,.form-select,.event-card,.list-group-item{min-height:44px}.badge,.category-pill{min-height:32px;padding:.375rem .75rem;display:inline-flex;align-items:center}.form-group,.filter-section{margin-bottom:1.5rem}.btn-group .btn{margin:.125rem}}@media(prefers-reduced-motion: reduce){.event-card,.calendar-filters,.quick-filter{transition:none}.swipe-indicator,.pull-refresh-indicator{transition:none}}@media(prefers-contrast: high){.event-card{border:2px solid var(--bs-border-color)}.event-card:hover,.event-card:focus{border-color:var(--bs-primary)}.calendar-filters{border:2px solid var(--bs-border-color)}.quick-filter{border-width:2px}.quick-filter.active{border-color:var(--bs-primary);box-shadow:0 0 0 2px var(--bs-primary)}}@media(prefers-color-scheme: dark){.calendar-container{background:var(--bs-dark, #212529);border-color:var(--bs-secondary, #6c757d)}.event-card{background:var(--bs-dark, #212529);border-color:var(--bs-secondary, #6c757d)}.event-card .event-card-header{border-color:var(--bs-secondary, #6c757d)}.swipe-indicator{background:hsla(0,0%,100%,.1);color:var(--bs-light, #f8f9fa)}}.sr-only,.visually-hidden{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.skip-link{position:absolute;top:-40px;left:6px;background:var(--bs-primary);color:#fff;padding:8px;text-decoration:none;border-radius:var(--bs-border-radius);z-index:2000;transition:top .3s}.skip-link:focus{top:6px}.calendar-container *:focus{outline:2px solid var(--bs-primary);outline-offset:2px;border-radius:var(--bs-border-radius)}.calendar-container .event-card:focus{outline:2px solid var(--bs-primary);outline-offset:2px;box-shadow:0 0 0 4px rgba(var(--bs-primary-rgb), 0.25)}.event-grid[role=grid] .event-card[role=gridcell]{cursor:pointer}.event-grid[role=grid] .event-card[role=gridcell]:focus{z-index:1}.event-grid[role=grid] .event-card[role=gridcell][tabindex="0"]{position:relative}.event-grid[role=grid] .event-card[role=gridcell][tabindex="0"]::before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border:2px solid rgba(0,0,0,0);border-radius:calc(var(--bs-border-radius) + 2px);transition:border-color .2s ease}.event-grid[role=grid] .event-card[role=gridcell][tabindex="0"]:focus::before{border-color:var(--bs-primary)}.fc .fc-button:focus{outline:2px solid var(--bs-primary);outline-offset:2px;z-index:1}.fc .fc-button .fc-icon::after{content:attr(aria-label);position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.fc .fc-daygrid-day:focus{outline:2px solid var(--bs-primary);outline-offset:-2px;background-color:rgba(var(--bs-primary-rgb), 0.1)}.fc .fc-daygrid-day[aria-selected=true]{background-color:rgba(var(--bs-primary-rgb), 0.2)}.fc .fc-daygrid-day[aria-selected=true]::after{content:"Selected";position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.fc .fc-event:focus{outline:2px solid var(--bs-light);outline-offset:1px;z-index:10}.fc .fc-event[style*=background-color]{border:1px solid rgba(0,0,0,.2)}.calendar-filters .form-label{font-weight:600}.calendar-filters .form-label[for]{cursor:pointer}.calendar-filters .form-control.is-invalid,.calendar-filters .form-select.is-invalid{border-color:var(--bs-danger)}.calendar-filters .form-control.is-invalid:focus,.calendar-filters .form-select.is-invalid:focus{border-color:var(--bs-danger);box-shadow:0 0 0 .2rem rgba(var(--bs-danger-rgb), 0.25)}.calendar-filters .form-control.is-valid,.calendar-filters .form-select.is-valid{border-color:var(--bs-success)}.calendar-filters .form-control.is-valid:focus,.calendar-filters .form-select.is-valid:focus{border-color:var(--bs-success);box-shadow:0 0 0 .2rem rgba(var(--bs-success-rgb), 0.25)}.calendar-filters .form-label.required::after{content:" *";color:var(--bs-danger);font-weight:bold}.calendar-filters .form-text{font-size:.875rem;color:var(--bs-secondary)}.calendar-filters .form-text.error{color:var(--bs-danger)}.calendar-filters .form-text.error::before{content:"⚠ ";font-weight:bold}.live-region{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}@media(prefers-contrast: high){.event-card{border:2px solid}.event-card:hover,.event-card:focus{border-width:3px}.fc-event{border:2px solid !important}.fc-event:hover,.fc-event:focus{border-width:3px !important}.calendar-filters{border:2px solid}.text-muted{color:var(--bs-secondary) !important}}@media(prefers-reduced-motion: reduce){*,::before,::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}.fc-event{transition:none !important}.event-card{transition:none !important}.event-card:hover{transform:none !important}}.event-colorblind-friendly .fc-event.event-type-meeting{background-image:repeating-linear-gradient(45deg, transparent, transparent 2px, rgba(255, 255, 255, 0.3) 2px, rgba(255, 255, 255, 0.3) 4px)}.event-colorblind-friendly .fc-event.event-type-deadline{border-left:4px solid !important}.event-colorblind-friendly .fc-event.event-type-holiday{background-image:radial-gradient(circle at 2px 2px, rgba(255, 255, 255, 0.3) 1px, transparent 1px);background-size:8px 8px}.event-colorblind-friendly .event-card.event-type-meeting::before{content:"📅";position:absolute;top:.5rem;left:.5rem;font-size:.875rem}.event-colorblind-friendly .event-card.event-type-deadline::before{content:"⏰";position:absolute;top:.5rem;left:.5rem;font-size:.875rem}.event-colorblind-friendly .event-card.event-type-holiday::before{content:"🎉";position:absolute;top:.5rem;left:.5rem;font-size:.875rem}[dir=rtl] .event-card .event-date-badge{right:auto;left:.75rem}[dir=rtl] .event-card .event-recurring-indicator::before{content:"↻ ";margin-left:.25rem;margin-right:0}[dir=rtl] .calendar-filters .filter-toggle{margin-left:0;margin-right:auto}[dir=rtl] .quick-filters{direction:rtl}
