@layer components{.saga-calendar{--fc-page-bg-color:var(--card);--fc-neutral-bg-color:var(--muted);--fc-neutral-text-color:var(--muted-foreground);--fc-border-color:var(--border);--fc-today-bg-color:color-mix(in srgb, var(--primary) 7%, var(--card));--fc-now-indicator-color:var(--primary);--fc-event-bg-color:var(--primary);--fc-event-border-color:var(--primary);--fc-event-border-radius:var(--radius-lg);--fc-event-text-color:var(--primary-foreground)}.saga-calendar-event-feedback{opacity:0;pointer-events:none;transition:opacity .24s cubic-bezier(.16,1,.3,1),transform .28s cubic-bezier(.16,1,.3,1);transform:scale(.9)}.saga-calendar-event-feedback>*{pointer-events:none}.saga-calendar-event-content>*{transition:opacity .24s cubic-bezier(.16,1,.3,1)}.saga-calendar-event-feedback-prompt{max-width:100%;color:var(--foreground);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;font-weight:600;line-height:1.1;overflow:hidden}.fc-event:hover .saga-calendar-event-feedback,.fc-event:focus-within .saga-calendar-event-feedback{opacity:1;transform:scale(1)}.fc-event:hover .saga-calendar-event-feedback>*,.fc-event:focus-within .saga-calendar-event-feedback>*{pointer-events:auto}.fc-event.saga-event-feedback-eligible:hover .saga-calendar-event-content>:not(.saga-calendar-event-feedback),.fc-event.saga-event-feedback-eligible:focus-within .saga-calendar-event-content>:not(.saga-calendar-event-feedback){opacity:0}.saga-calendar .fc-event.saga-event-feedback-eligible{overflow:visible}.saga-calendar .fc-timegrid-event-harness:has(.saga-event-feedback-eligible){overflow:visible}.saga-calendar .fc-event.saga-event-feedback-eligible:before,.saga-calendar .fc-event.saga-event-feedback-eligible:after{content:"";z-index:4;background:var(--primary);pointer-events:none;border-radius:9999px;width:.625rem;height:.625rem;position:absolute;top:0;right:0}.saga-calendar .fc-event.saga-event-feedback-eligible:after{box-shadow:0 0 0 2px var(--card);transition:opacity .24s cubic-bezier(.16,1,.3,1);transform:translate(50%,-50%)}.saga-calendar .fc-event.saga-event-feedback-eligible:before{opacity:.55;animation:1.5s cubic-bezier(0,0,.2,1) infinite saga-feedback-ping}.saga-calendar .fc-event.saga-event-feedback-eligible:hover:after,.saga-calendar .fc-event.saga-event-feedback-eligible:hover:before,.saga-calendar .fc-event.saga-event-feedback-eligible:focus-within:after,.saga-calendar .fc-event.saga-event-feedback-eligible:focus-within:before{opacity:0;animation-play-state:paused}@keyframes saga-feedback-ping{0%{opacity:.55;transform:translate(50%,-50%)scale(1)}70%,to{opacity:0;transform:translate(50%,-50%)scale(2.4)}}.saga-calendar .fc{color:var(--foreground);font-family:var(--font-sans)}.saga-calendar .fc-scroller{overscroll-behavior-y:none}.saga-calendar .fc-theme-standard td,.saga-calendar .fc-theme-standard th,.saga-calendar.fc-theme-standard td,.saga-calendar.fc-theme-standard th{border-color:var(--border)}.saga-calendar .fc-scrollgrid{border-color:var(--border);border-radius:var(--radius-md);overflow:hidden}.saga-calendar .fc-col-header-cell{background:color-mix(in srgb, var(--muted) 72%, var(--card));padding:.5rem .35rem;border-inline:0!important}.saga-calendar .fc-col-header-cell.fc-day-today{background:color-mix(in srgb, var(--primary) 9%, var(--card))}.saga-calendar .fc-daygrid-day.fc-day-today{background:color-mix(in srgb, var(--primary) 7%, var(--card))!important}.saga-calendar .fc-col-header-cell+.fc-col-header-cell{border-left:1px solid var(--border)!important}.saga-calendar .fc-timegrid-col:not(.fc-timegrid-axis){position:relative;border-inline:0!important}.saga-calendar .fc-timegrid-col.fc-day-today,.saga-calendar .fc-timegrid-col.fc-day-today .fc-timegrid-col-frame{background:color-mix(in srgb, var(--primary) 7%, var(--card))!important}.saga-calendar .fc-timegrid-col.fc-day-today:after{z-index:0;background:color-mix(in srgb, var(--primary) 7%, var(--card));content:"";pointer-events:none;position:absolute;inset:0}.saga-calendar .fc-timegrid-now-indicator-line{z-index:4;border-color:var(--primary);border-width:2px 0 0}.saga-calendar .fc-timegrid-now-indicator-arrow{border-right-color:var(--primary);border-left-color:var(--primary)}.saga-calendar .fc-timegrid-col:not(.fc-timegrid-axis)+.fc-timegrid-col:not(.fc-timegrid-axis):before{z-index:1;background:color-mix(in srgb, var(--foreground) 14%, transparent);content:"";pointer-events:none;width:1px;position:absolute;top:0;bottom:0;left:0}.saga-calendar .fc-col-header-cell-cushion,.saga-calendar .fc-list-day-cushion{color:var(--muted-foreground);letter-spacing:0;font-size:.86rem;font-weight:600;text-decoration:none}.saga-calendar .fc-col-header-cell.fc-day-today .fc-col-header-cell-cushion{color:var(--primary);font-weight:750}.saga-calendar .fc-daygrid-day-number{color:var(--muted-foreground);font-size:.78rem;text-decoration:none}.saga-calendar .fc-timegrid-axis{background:var(--card);min-width:4.75rem;width:4.75rem!important}.saga-calendar .fc-timegrid-axis.fc-scrollgrid-shrink{background:color-mix(in srgb, var(--muted) 72%, var(--card))}.saga-calendar .fc-timegrid-slot{background:0 0;height:3rem!important}.saga-calendar .fc-event{cursor:pointer;font-size:.78rem;line-height:1.25;position:relative;overflow:hidden;border-radius:var(--radius-lg)!important}.saga-calendar .fc-v-event{border-width:0;padding:.25rem .35rem}.saga-calendar .fc-timegrid-event-short{padding-block:0}.saga-calendar .fc-event-main,.saga-calendar .fc-event-main-frame{min-height:0;overflow:hidden}.saga-calendar .fc-event.saga-event-feedback-eligible .fc-event-main,.saga-calendar .fc-event.saga-event-feedback-eligible .fc-event-main-frame{position:static}.saga-calendar .fc-h-event{border-width:0;padding:.1rem .25rem}.saga-calendar .fc-timegrid-axis-cushion,.saga-calendar .fc-timegrid-slot-label-cushion,.saga-calendar .fc-timegrid-axis-cushion.fc-scrollgrid-shrink-cushion{color:var(--muted-foreground);font-size:.78rem;font-weight:500;line-height:1.15}.saga-calendar .fc-timegrid-axis-cushion{text-align:right;white-space:nowrap;max-width:none}.saga-calendar .saga-calendar-all-day-event{border-style:solid!important;border-width:1px!important}.saga-calendar .saga-calendar-all-day-event-content{align-items:center;min-width:0;padding:.08rem;display:flex}.saga-calendar .saga-calendar-all-day-event-title{align-items:center;gap:.25rem;min-width:0;font-weight:400;line-height:1.1;display:flex}.saga-calendar .saga-calendar-all-day-event-title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.saga-calendar .saga-calendar-event-content{flex-direction:column;justify-content:flex-start;gap:.1rem;min-width:0;max-height:100%;display:flex;overflow:hidden}.saga-calendar .saga-calendar-event-row{align-items:center;gap:.28rem;min-width:0;display:flex}.saga-calendar .saga-calendar-event-type-icon{opacity:.86;flex:none;width:.82rem;height:.82rem}.saga-calendar .saga-calendar-event-time{min-width:0;color:color-mix(in srgb, currentcolor 92%, transparent);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-weight:550;line-height:1;display:block;overflow:hidden}.saga-calendar .saga-calendar-event-duration-mismatch{z-index:2;width:.9rem;height:.9rem;color:color-mix(in srgb, currentcolor 78%, var(--foreground));opacity:.9;flex:none;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:.03rem;right:.02rem}.saga-calendar .saga-calendar-event-duration-mismatch svg{stroke-width:2.4px;width:.86rem;height:.86rem}.saga-calendar .saga-calendar-event-title{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-weight:600;line-height:1.15;display:block;overflow:hidden}.saga-calendar .saga-calendar-event-module{min-width:0;color:color-mix(in srgb, currentcolor 94%, transparent);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;font-weight:450;line-height:1.1;display:block;overflow:hidden}.saga-calendar .fc-timegrid-event-short .saga-calendar-event-row{gap:.2rem}.saga-calendar .fc-timegrid-event-short .saga-calendar-event-type-icon{width:.68rem;height:.68rem}.saga-calendar .fc-timegrid-event-short .saga-calendar-event-duration-mismatch{width:.7rem;height:.7rem}.saga-calendar .fc-timegrid-event-short .saga-calendar-event-title{font-size:.68rem;line-height:1}.saga-calendar .fc-timegrid-event-short .saga-calendar-event-module{display:none}.saga-calendar .saga-calendar-event-unrecognized{opacity:.85}.saga-calendar .saga-calendar-event-planned{border-style:solid;border-width:1px}.saga-calendar .saga-calendar-event-unplanned{border-style:solid!important;border-width:1px!important}.saga-calendar .saga-calendar-event-selected{box-shadow:0 0 0 2px var(--card), 0 0 0 4px var(--primary);filter:brightness(1.04);z-index:5!important}.saga-calendar .saga-calendar-event-cancelled{text-decoration:none}.saga-calendar .saga-calendar-event-cancelled .saga-calendar-event-title{text-decoration:line-through;text-decoration-thickness:1.5px}.saga-calendar .fc-list{border-color:var(--border);border-radius:var(--radius-md);overflow:hidden}.saga-calendar .fc-list-event:hover td{background:var(--muted)}.saga-school-year-calendar .fc-multimonth{border:0}.saga-school-year-calendar .fc-multimonth-title{color:var(--foreground);text-transform:capitalize;padding:.5rem 0 .75rem;font-size:1rem;font-weight:650}.saga-school-year-calendar .fc-multimonth-daygrid{border-radius:var(--radius-md);overflow:hidden}.saga-school-year-calendar .fc-daygrid-day-frame{cursor:pointer;min-height:5.25rem}.saga-school-year-calendar .fc-daygrid-day:hover{background:color-mix(in srgb, var(--primary) 6%, var(--card))}.saga-school-year-calendar .fc-day-other{background:color-mix(in srgb, var(--muted) 64%, var(--card))}.saga-school-year-calendar .fc-day-today{background:color-mix(in srgb, var(--primary) 10%, var(--card))}.saga-school-year-calendar .fc-daygrid-event{margin-inline:.2rem}.saga-school-year-calendar .saga-school-year-calendar-event-content{flex-direction:column;gap:.06rem;min-width:0;padding:.05rem;display:flex}.saga-school-year-calendar .saga-school-year-calendar-event-title{align-items:center;gap:.25rem;min-width:0;font-size:.72rem;font-weight:650;line-height:1.1;display:flex}.saga-school-year-calendar .saga-school-year-calendar-event-title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.saga-school-year-calendar .saga-school-year-calendar-event-source{color:color-mix(in srgb, currentcolor 72%, transparent);text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;font-weight:500;line-height:1;overflow:hidden}.saga-school-year-calendar .saga-school-year-calendar-event-holiday{background-color:color-mix(in srgb, #b91c1c 14%, var(--card));border-color:color-mix(in srgb, #b91c1c 64%, var(--border));color:#7f1d1d}.saga-school-year-calendar .saga-school-year-calendar-event-break{background-color:color-mix(in srgb, #0f766e 14%, var(--card));border-color:color-mix(in srgb, #0f766e 64%, var(--border));color:#134e4a}.saga-school-year-calendar .saga-school-year-calendar-event-school-event{background-color:color-mix(in srgb, #2563eb 13%, var(--card));border-color:color-mix(in srgb, #2563eb 58%, var(--border));color:#1e3a8a}.saga-school-year-calendar .saga-school-year-calendar-event-camp{background-color:color-mix(in srgb, #15803d 14%, var(--card));border-color:color-mix(in srgb, #15803d 62%, var(--border));color:#14532d}.saga-school-year-calendar .saga-school-year-calendar-event-project-day{background-color:color-mix(in srgb, #b45309 14%, var(--card));border-color:color-mix(in srgb, #b45309 62%, var(--border));color:#78350f}.saga-school-year-calendar .saga-school-year-calendar-event-exam{background-color:color-mix(in srgb, #7c3aed 13%, var(--card));border-color:color-mix(in srgb, #7c3aed 58%, var(--border));color:#4c1d95}.saga-school-year-calendar .saga-school-year-calendar-event-custom{background-color:color-mix(in srgb, var(--foreground) 10%, var(--card));border-color:color-mix(in srgb, var(--foreground) 36%, var(--border));color:var(--foreground)}.saga-school-year-calendar .saga-school-year-calendar-event-overridden{border-style:solid;box-shadow:inset 3px 0}.saga-school-year-calendar .saga-school-year-calendar-event-local{border-style:solid}}
