.fc{font-size:.85rem;color:hsl(var(--foreground));--fc-today-bg-color:transparent}.fc .fc-toolbar{gap:.75rem}.fc .fc-toolbar-title{font-family:var(--font-fraunces);font-size:1.2rem;letter-spacing:-.01em}.fc .fc-col-header-cell,.fc .fc-scrollgrid,.fc .fc-scrollgrid table,.fc .fc-timegrid-slot{border-color:hsl(var(--calendar-grid)/var(--calendar-grid-alpha))}.fc .fc-timegrid-axis-cushion,.fc .fc-timegrid-slot-label{font-size:11px;color:hsl(var(--foreground)/.86);font-weight:600}.fc .fc-timegrid-axis{background:hsl(var(--card))}.fc .fc-timegrid-slot{height:2.3rem}.fc .fc-col-header-cell-cushion{font-size:12px;font-weight:600;color:hsl(var(--foreground));display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fc .fc-col-header-cell,.fc .fc-timegrid-col{min-width:140px}.fc .fc-scrollgrid-section-header>th{background:hsl(var(--card));position:sticky;top:0;z-index:5}.fc .fc-daygrid-body,.fc .fc-daygrid-day-frame,.fc .fc-daygrid-event,.fc .fc-timegrid-all-day,.fc .fc-timegrid-allday,.fc .fc-timegrid-allday-slot,.fc .fc-timegrid-divider{display:none}.fc .fc-col-header-cell.fc-day-today{background:hsl(var(--primary)/.1)}.fc .fc-col-header-cell.fc-day-today .fc-col-header-cell-cushion{color:hsl(var(--primary-700))}.dark .fc .fc-timegrid-col.fc-day-today,.fc .fc-timegrid-col.fc-day-today,.fc .fc-timegrid-col.fc-day-today .fc-timegrid-col-bg,.fc .fc-timegrid-col.fc-day-today .fc-timegrid-col-events,.fc .fc-timegrid-col.fc-day-today .fc-timegrid-col-frame{background:transparent!important}.dark .fc .fc-col-header-cell.fc-day-today{background:hsl(var(--primary-500)/.12)}.fc .fc-timegrid-now-indicator-line{border-color:hsl(var(--primary));border-width:2px}.fc .fc-event{border-radius:.75rem;padding:.1rem .28rem;border:1px solid transparent;box-shadow:0 6px 16px -12px hsl(var(--primary-700)/.35);transition:transform .12s ease,box-shadow .12s ease;min-height:24px;overflow:hidden;z-index:3}.fc .fc-event-main,.fc .fc-event-main-frame,.fc .fc-event-main-frame>*{height:100%;min-width:0;overflow:hidden}.fc .fc-event-main{padding:0!important}.calendar-event-content{display:grid;align-content:start;gap:1px;height:100%;max-height:100%;min-width:0;max-width:100%;overflow:hidden}.calendar-event-line{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.15}.calendar-event-line--primary{font-size:11px;font-weight:700}.calendar-event-line--secondary{font-size:10px;color:currentColor;opacity:.88}.calendar-event-line--meta{display:flex;align-items:center;gap:.2rem;font-size:9px;color:currentColor;opacity:.9}.calendar-event-meta{display:flex;align-items:center;gap:.2rem;min-width:0;overflow:hidden;white-space:nowrap}.calendar-event-pill{display:inline-flex;align-items:center;padding:0 .3rem;border-radius:999px;border:1px solid hsl(var(--primary-foreground)/.35);background:hsl(var(--primary-foreground)/.14);font-size:9px;font-weight:600;line-height:1.25}.calendar-event-pill--waitlist{background:hsl(var(--warning)/.2);border-color:hsl(var(--warning)/.5);color:hsl(var(--warning-text))}.fc .fc-event:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.fc .fc-event.fc-event-scheduled{background:hsl(var(--primary-500));border-color:hsl(var(--primary-600));color:hsl(var(--primary-foreground))}.fc .fc-event.fc-event-cancelled{background:hsl(var(--danger-bg));border:1px dashed hsl(var(--danger-text));color:hsl(var(--danger-text));box-shadow:none}.fc .fc-event.fc-event-occupied{background:hsl(var(--neutral-200));border-color:hsl(var(--neutral-300));color:hsl(var(--neutral-700));box-shadow:none;cursor:not-allowed}.dark .fc .fc-event.fc-event-occupied{background:hsl(var(--neutral-800));border-color:hsl(var(--neutral-700));color:hsl(var(--neutral-300))}.fc .fc-event.fc-event-full{border-left:3px solid hsl(var(--warning))}.fc .fc-event.fc-event-waitlist{border-left:3px solid hsl(var(--warning-text))}.fc .fc-event.fc-event-no-teacher{border-left:3px solid hsl(var(--danger))}.fc .fc-event:hover{transform:translateY(-1px);box-shadow:0 10px 18px -14px hsl(var(--primary-700)/.5)}.fc .fc-event.fc-event-occupied:hover{transform:none;box-shadow:none}.calendar-ops-mode .fc .fc-event.fc-event-scheduled:not(.fc-event-full):not(.fc-event-waitlist):not(.fc-event-no-teacher){opacity:.35;filter:saturate(.3)}.calendar-ops-mode .fc .fc-event.fc-event-full,.calendar-ops-mode .fc .fc-event.fc-event-no-teacher,.calendar-ops-mode .fc .fc-event.fc-event-waitlist{border-left-width:4px;box-shadow:0 0 0 1px hsl(var(--warning)/.3)}.calendar-ops-mode .fc .fc-event.fc-event-no-teacher{animation:pulse-border 2s ease-in-out infinite}@keyframes pulse-border{0%,to{border-color:hsl(var(--danger))}50%{border-color:hsl(var(--danger)/.3)}}.fc .fc-highlight{background:hsl(var(--primary)/.15)!important;border:2px dashed hsl(var(--primary)/.5);border-radius:.5rem}.fc .fc-event.fc-event-dragging{opacity:.55;transform:scale(.97)}.fc .fc-event.fc-event-mirror{opacity:.7;border:2px dashed hsl(var(--primary));background:hsl(var(--primary)/.1)}.fc .fc-button{border-radius:999px;border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--foreground));padding:.3rem .7rem;box-shadow:inset 0 0 0 1px hsl(var(--border)/.4)}.fc .fc-button-primary:not(:disabled):hover{background:hsl(var(--muted))}.fc .fc-button-primary:not(:disabled).fc-button-active{background:hsl(var(--primary)/.12);color:hsl(var(--primary));border-color:hsl(var(--primary)/.34);box-shadow:inset 0 0 0 1px hsl(var(--primary)/.12)}.fc .fc-toolbar-chunk .fc-button-group{border-radius:999px;background:hsl(var(--muted)/.45);padding:2px}.fc .fc-button-primary:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.fc .fc-popover{background:hsl(var(--card));color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:1rem;box-shadow:0 24px 40px -30px hsl(var(--foreground)/.4)}.fc .fc-more-popover .fc-popover-body{padding:.5rem}.fc-event .fc-event-time,.fc-event .fc-event-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope Fallback;src:local("Arial");ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.00%;size-adjust:103.19%}.__className_73ee6c{font-family:Manrope,Manrope Fallback;font-style:normal}.__variable_73ee6c{--font-manrope:"Manrope","Manrope Fallback"}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_eb41fe{font-family:Fraunces,Fraunces Fallback;font-style:normal}.__variable_eb41fe{--font-fraunces:"Fraunces","Fraunces Fallback"}