:root{--foreground:#0a0a0a;--background:#f8f9fa;--bs-body-color:#212529;--bs-body-bg:#ffffff;--bs-border-color:#dee2e6;--bs-card-bg:#ffffff;--bs-card-border-color:rgba(0,0,0,0.125)}[data-bs-theme=dark]{--foreground:#e9ecef;--background:#212529;--bs-body-color:#dee2e6;--bs-body-bg:#212529;--bs-border-color:#495057;--bs-card-bg:#2c3034;--bs-card-border-color:rgba(255,255,255,0.125)}[data-bs-theme=dark] body{background-color:#212529;color:#dee2e6}[data-bs-theme=dark] .card{border-color:rgba(255,255,255,.125)!important}[data-bs-theme=dark] .card,[data-bs-theme=dark] .card-body{background-color:#2c3034!important;color:#dee2e6!important}[data-bs-theme=dark] .fc{background-color:#2c3034}[data-bs-theme=dark] .fc-list,[data-bs-theme=dark] .fc-scrollgrid,[data-bs-theme=dark] .fc-theme-standard td,[data-bs-theme=dark] .fc-theme-standard th{border-color:#495057}[data-bs-theme=dark] .fc-list-event:hover{background-color:rgba(255,255,255,.05)}[data-bs-theme=dark] .fc-day-today{background-color:rgba(13,110,253,.1)!important}[data-bs-theme=dark] .fc-day,[data-bs-theme=dark] .fc-list-day-cushion,[data-bs-theme=dark] .fc-timegrid-axis{background-color:#2c3034!important}[data-bs-theme=dark] .fc-list-day-cushion{background-color:#1f2022!important}[data-bs-theme=dark] .fc .fc-list-event:hover td{background-color:#44494e!important}[data-bs-theme=dark] .footer{background-color:#2c3034!important;border-color:#495057}[data-bs-theme=dark] .modal-content,[data-bs-theme=dark] .modal-header{background-color:#2c3034!important;border-color:#495057!important;color:#dee2e6!important}[data-bs-theme=dark] .modal-body{background-color:#2c3034cc!important;color:#dee2e6!important}[data-bs-theme=dark] .modal-footer{border-color:#495057!important;background-color:#2c3034!important}[data-bs-theme=dark] .modal-title{color:#dee2e6!important}[data-bs-theme=dark] .modal-backdrop{--bs-backdrop-bg:rgba(0,0,0,0.5);opacity:1!important}[data-bs-theme=dark] .modal-backdrop.show{opacity:1!important}[data-bs-theme=dark] .modal .card{border-color:#495057!important}[data-bs-theme=dark] .modal .card,[data-bs-theme=dark] .modal .card-body{background-color:#2c3034!important;color:#dee2e6!important}[data-bs-theme=dark] .btn-close{filter:invert(1) grayscale(100%) brightness(200%)}[data-bs-theme=dark] .form-control,[data-bs-theme=dark] .form-select{background-color:#212529;border-color:#495057;color:#dee2e6}[data-bs-theme=dark] .form-control:focus,[data-bs-theme=dark] .form-select:focus{background-color:#212529;border-color:#86b7fe;color:#dee2e6}[data-bs-theme=dark] .form-check-input{background-color:#212529;border-color:#495057}[data-bs-theme=dark] .form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}[data-bs-theme=dark] .badge{background-color:#495057;color:#dee2e6}[data-bs-theme=dark] .alert-success{background-color:#198754;border-color:#198754;color:#ffffff}[data-bs-theme=dark] .text-muted{color:#adb5bd!important}[data-bs-theme=dark] .hover-primary:hover{color:#6ea8fe!important}[data-bs-theme=dark] .fc-timegrid-event-harness-inset .fc-timegrid-event{box-shadow:none!important}body{color:var(--foreground);background:var(--background);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}.btn,button{font-family:inherit}.year-button{min-width:60px;transition:all .2s ease}.year-button.btn-outline-primary:hover{background-color:#e7f1ff;border-color:#0d6efd;transform:translateY(-1px)}.fc-event-title-container{display:flex;flex-direction:column;gap:2px}.fc-event-main-frame{padding:2px 4px}.fc-event-title{line-height:1.3;overflow:visible!important;min-height:1.3em;flex-shrink:0}.fc-event-location,.fc-event-time{flex-shrink:1;overflow:hidden}.fc-event-location{font-size:.8em;opacity:.85;font-weight:400;line-height:1.2;margin-top:1px}.fc-list-event-title .fc-event-location{display:inline;margin-left:6px}.fc-list-event-title .fc-event-location:before{content:"• ";margin-right:4px}.year-button:hover{border-color:#0d6efd;background-color:#f8f9fa;color:#0d6efd}.year-button.selected{border-color:#0d6efd;background-color:#0d6efd;color:white}.fc-event{font-size:.85em;padding:2px;cursor:pointer!important;transition:opacity .2s ease}.fc-event:hover{opacity:.8;transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,.1)}.fc-event-title{font-weight:600}.fc-daygrid-event{white-space:normal}.fc-daygrid-event,.fc-list-event{cursor:pointer!important}.fc-list-event:hover{background-color:rgba(0,0,0,.05)}.fc-timegrid-now-indicator-line{border-width:1px!important}.fc-event{z-index:2!important;position:relative}.hover-primary:hover{color:#0d6efd!important;transition:color .2s ease}#groupsModal .modal-content{background-color:rgba(255,255,255,.65)!important;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px rgba(0,0,0,.15);border-radius:16px}#groupsModal .modal-header{background:linear-gradient(135deg,rgba(3,50,200,1),rgba(13,110,253,.85))!important;color:white;border-bottom:1px solid rgba(255,255,255,.15);border-radius:16px 16px 0 0;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}#groupsModal .modal-body{background-color:transparent}#groupsModal .modal-footer{background-color:rgba(248,249,250,.9);border-top:1px solid rgba(0,0,0,.1);border-radius:0 0 16px 16px}#groupsModal .card{background-color:#ffffff!important;border:1px solid #dee2e6;box-shadow:0 2px 4px rgba(0,0,0,.1)}.modal-backdrop{background-color:rgba(0,0,0,.2)!important}@media (max-width:768px){.form-select-sm{min-width:120px;font-size:.75rem}.year-button{font-size:.75rem;padding:.2rem .4rem}.fc-header-toolbar{flex-direction:column;gap:10px}.fc-toolbar-chunk{display:flex;justify-content:center}#groupsModal .modal-dialog{margin:.5rem;max-width:none}#groupsModal .modal-content{background-color:rgba(255,255,255,.98)}.fc-daygrid-event .fc-event-time{display:inline-block!important;font-size:.7em!important;white-space:nowrap!important;overflow:visible!important;vertical-align:top!important;margin-right:2px!important;line-height:1!important}.fc-daygrid-event .fc-event-title{display:inline!important;font-size:.8em!important;line-height:1.1!important}.fc-daygrid-event .fc-event-main-frame{display:block!important;white-space:normal!important;padding:1px 2px!important;line-height:1.1!important}.fc-daygrid-dot-event .fc-event-time{display:inline-block!important;white-space:nowrap!important;line-height:1!important}.fc-timegrid-event .fc-event-time{display:none!important}.fc-timegrid-event .fc-event-title{display:block!important;font-size:.75em!important;white-space:normal!important;overflow:visible!important;line-height:1.2!important;margin-top:2px!important;min-height:.9em!important;flex-shrink:0!important}.fc-timegrid-event .fc-event-location{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.fc-timegrid-event .fc-event-main-frame{padding:2px 2px 1px!important;overflow:visible!important;white-space:normal!important;display:flex!important;flex-direction:column!important}.fc-timegrid-event-harness{overflow:visible!important;margin-right:0!important;right:0!important}.fc-timegrid-event{overflow:visible!important}}.fc-timegrid-event.fc-timegrid-event-short .fc-event-time{display:none!important}.fc-timegrid-event.fc-timegrid-event-short .fc-event-title-container{display:flex!important;flex-direction:column!important;height:auto!important}.fc-timegrid-event.fc-timegrid-event-short .fc-event-title{display:block!important;overflow:visible!important;white-space:normal!important;order:1!important;flex:1 1 auto!important}.fc-timegrid-event.fc-timegrid-event-short .fc-event-location{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;order:2!important;flex:0 0 auto!important}.fc-timegrid-event .fc-event-location{font-size:.8em;opacity:.85}.footer{border-top:1px solid #dee2e6;margin-top:3rem}.footer h5{font-size:1.1rem;font-weight:600;color:#212529}.footer h6{font-size:.9rem;font-weight:600;color:#495057;text-transform:uppercase;letter-spacing:.5px}.footer a{color:#6c757d;transition:color .2s ease}.footer a:hover{color:#0d6efd;text-decoration:none}.footer .hover-primary:hover{color:#0d6efd}.footer ul{padding-left:0}.footer li{list-style:none}*{box-sizing:border-box}