:root{--sched-1:#2a78d6;--sched-2:#eb6834;--sched-3:#1baf7a;--sched-4:#eda100}.dark{--sched-1:#3987e5;--sched-2:#d95926;--sched-3:#199e70;--sched-4:#c98500}.app-calendar .fc{--fc-border-color:var(--color-border);--fc-page-bg-color:var(--color-background);--fc-neutral-bg-color:color-mix(in srgb,var(--color-muted) 70%,transparent);--fc-list-event-hover-bg-color:color-mix(in srgb,var(--color-muted) 60%,transparent);--fc-today-bg-color:color-mix(in srgb,var(--color-primary) 6%,transparent);--fc-event-bg-color:transparent;--fc-event-border-color:transparent;--fc-event-text-color:var(--color-text);--fc-small-font-size:0.75rem;color:var(--color-text);font-size:.875rem}.dark .app-calendar .fc{--fc-border-color:rgba(255,255,255,0.1);--fc-neutral-bg-color:rgba(255,255,255,0.04);--fc-list-event-hover-bg-color:rgba(255,255,255,0.06);--fc-today-bg-color:color-mix(in srgb,var(--color-primary) 14%,transparent)}.app-calendar .fc .fc-header-toolbar{flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem}.app-calendar .fc .fc-toolbar-chunk{display:flex;align-items:center;gap:.5rem}.app-calendar .fc .fc-toolbar-title{font-size:1.125rem;font-weight:600;color:var(--color-text)}.app-calendar .fc .fc-button{height:2.5rem;padding:0 .875rem;border:1px solid var(--color-border);border-radius:.75rem;background:var(--color-background);color:var(--color-text);font-size:.875rem;font-weight:500;text-transform:none;box-shadow:none!important;transform:none;transition:background-color .15s,border-color .15s,color .15s}.dark .app-calendar .fc .fc-button{border-color:rgba(255,255,255,.15)}.app-calendar .fc .fc-button:hover{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 6%,var(--color-background));color:var(--color-primary)}.app-calendar .fc .fc-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.app-calendar .fc .fc-button:disabled{border-color:var(--color-border);background:var(--color-background);color:var(--color-text-muted);opacity:.6;cursor:not-allowed}.app-calendar .fc .fc-next-button,.app-calendar .fc .fc-prev-button{display:inline-grid;place-items:center;width:2.5rem;padding:0}.app-calendar .fc .fc-button-group{gap:.375rem}.app-calendar .fc .fc-button-group>.fc-button{flex:none;margin:0!important;border-radius:.75rem!important}.app-calendar .fc .fc-toolbar-chunk:last-child .fc-button-group{gap:0;padding:.25rem;border-radius:.875rem;background:var(--color-muted)}.dark .app-calendar .fc .fc-toolbar-chunk:last-child .fc-button-group{background:rgba(255,255,255,.05)}.app-calendar .fc .fc-toolbar-chunk:last-child .fc-button-group>.fc-button{height:2rem;padding:0 .875rem;border-color:transparent;border-radius:.625rem!important;background:transparent;color:var(--color-text-muted)}.app-calendar .fc .fc-toolbar-chunk:last-child .fc-button-group>.fc-button:hover{border-color:transparent;background:transparent;color:var(--color-text)}.app-calendar .fc .fc-toolbar-chunk:last-child .fc-button-group>.fc-button.fc-button-active{background:var(--color-background);color:var(--color-primary);box-shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1)!important}.dark .app-calendar .fc .fc-toolbar-chunk:last-child .fc-button-group>.fc-button.fc-button-active{background:rgba(255,255,255,.1)}.app-calendar .fc .fc-yearDropdown-button{display:inline-flex;align-items:center;gap:.375rem}.app-calendar .fc .fc-yearDropdown-button:after{content:"";width:.4rem;height:.4rem;margin-top:-.2rem;border-right:1.5px solid;border-bottom:1.5px solid;transform:rotate(45deg);opacity:.7}.app-calendar .fc .fc-scrollgrid{overflow:hidden;border-radius:.875rem}.app-calendar .fc .fc-col-header-cell{background:var(--fc-neutral-bg-color)}.app-calendar .fc .fc-col-header-cell-cushion{padding:.625rem .25rem;color:var(--color-text-muted);font-size:.75rem;font-weight:500;text-decoration:none}.app-calendar .fc .fc-daygrid-day{cursor:pointer;transition:background-color .15s}.app-calendar .fc .fc-daygrid-day:hover{background:color-mix(in srgb,var(--color-muted) 45%,transparent)}.app-calendar .fc .fc-daygrid-day-number{display:inline-grid;place-items:center;min-width:1.75rem;height:1.75rem;margin:.25rem;padding:0 .375rem;border-radius:9999px;color:var(--color-text-muted);font-size:.75rem;font-weight:500;text-decoration:none}.app-calendar .fc .fc-day-today .fc-daygrid-day-number{background:var(--color-primary);color:#fff}.app-calendar .fc .fc-day-other .fc-daygrid-day-top{opacity:.45}.app-calendar .fc .fc-daygrid-event-harness .fc-daygrid-event{margin:2px 4px 0!important}.app-calendar .fc .fc-daygrid-more-link{margin:2px 4px 0;color:var(--color-primary);font-size:.75rem;font-weight:500}.app-calendar .fc .fc-list{overflow:hidden;border-radius:.875rem}.app-calendar .fc .fc-list-day-cushion{padding:.25rem 1rem;background:var(--fc-neutral-bg-color);font-size:.75rem;font-weight:600}.app-calendar .fc .fc-list-day-cushion a{display:inline-block;padding:.25rem 0;color:var(--color-text);text-decoration:none}.app-calendar .fc .fc-list-event td{padding:.5rem 1rem}.app-calendar .fc .fc-list-event-time{color:var(--color-text-muted);font-size:.75rem;white-space:nowrap}.app-calendar .fc .fc-list-event-graphic{display:none}.app-calendar .fc .fc-list-empty{background:transparent;color:var(--color-text-muted)}.app-calendar .fc .fc-popover{overflow:hidden;border:1px solid var(--color-border)!important;border-radius:1rem;background:var(--color-background)!important;box-shadow:0 20px 48px -16px rgba(0,0,0,.35)!important}.app-calendar .fc .fc-popover-header{padding:.625rem .875rem;background:var(--fc-neutral-bg-color)!important;color:var(--color-text)!important;font-size:.875rem;font-weight:600}@media (max-width:768px){.app-calendar .fc .fc-toolbar-title{font-size:1rem!important}.app-calendar .fc .fc-toolbar-chunk:last-child .fc-button-group{width:100%}.app-calendar .fc .fc-toolbar-chunk:last-child .fc-button-group>.fc-button{flex:1 1 0!important;max-width:none!important;font-size:.75rem!important}}@media (prefers-reduced-motion:reduce){.app-calendar .fc .fc-button,.app-calendar .fc .fc-daygrid-day{transition:none}}