@keyframes gradient{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes flow{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}:root{--header-height:64px;--content-padding:1.5rem;--container-spacing:calc(var(--header-height) + var(--content-padding));--flow-color-1:#3f51b5;--flow-color-2:#5c6bc0;--flow-color-3:#7e57c2;--flow-color-4:#9575cd;--primary:#6366f1;--primary-hover:#5558d9;--text:#6366f1;--text-muted:#818cf8;--text-on-primary:white;--foreground:240, 46%, 55%;--body-text:#6366f1;--body-text-muted:#818cf8;--class-text-color:#0f172a;--class-text-muted-color:#475569;--alternating-row-bg:rgba(var(--primary-rgb,16, 185, 129), .08)}@media (max-width:640px){:root{--header-height:72px}}@media (max-width:767px){.schedule-cancellation-wizard.dialog-container-rounded,.schedule-cancellation-wizard.dialog-container-rounded:hover,.schedule-cancellation-wizard.dialog-container-rounded:focus,.schedule-cancellation-wizard.dialog-container-rounded:focus-visible,.schedule-cancellation-wizard.dialog-container-rounded:active,.z-50>.schedule-cancellation-wizard.dialog-container-rounded,.z-50>.schedule-cancellation-wizard.dialog-container-rounded:hover,.z-50>.schedule-cancellation-wizard.dialog-container-rounded:focus,.z-50>.schedule-cancellation-wizard.dialog-container-rounded:focus-visible,.z-50>.schedule-cancellation-wizard.dialog-container-rounded:active,[data-radix-dialog-content].schedule-cancellation-wizard,[data-radix-dialog-content].schedule-cancellation-wizard:hover,[data-radix-dialog-content].schedule-cancellation-wizard:focus,[data-radix-dialog-content].schedule-cancellation-wizard:focus-visible,[data-radix-dialog-content].schedule-cancellation-wizard:active,.z-50>[data-radix-dialog-content].schedule-cancellation-wizard,.z-50>[data-radix-dialog-content].schedule-cancellation-wizard:hover,.z-50>[data-radix-dialog-content].schedule-cancellation-wizard:focus,.z-50>[data-radix-dialog-content].schedule-cancellation-wizard:focus-visible,.z-50>[data-radix-dialog-content].schedule-cancellation-wizard:active{corner-shape:initial!important;width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;box-shadow:none!important;border-radius:0!important;flex-direction:column!important;display:flex!important;position:fixed!important;inset:0!important;overflow:hidden!important;-webkit-mask-box-image-source:none!important}.schedule-cancellation-wizard>[data-dialog-header=true],.schedule-cancellation-wizard>[data-dialog-header=true]:hover,.schedule-cancellation-wizard>[data-dialog-header=true]:focus,.schedule-cancellation-wizard>[data-dialog-header=true]:active{flex-shrink:0;corner-shape:initial!important;padding:calc(env(safe-area-inset-top,0px) + 1rem) 1rem 1rem!important;border-radius:0!important;-webkit-mask-box-image-source:none!important}.schedule-cancellation-wizard>.schedule-cancellation-wizard-body,.schedule-cancellation-wizard>.schedule-cancellation-wizard-body:hover,.schedule-cancellation-wizard>.schedule-cancellation-wizard-body:focus,.schedule-cancellation-wizard>.schedule-cancellation-wizard-body:active{flex:auto;overflow-y:auto;corner-shape:initial!important;min-height:0!important;max-height:none!important;padding:1rem 1rem calc(env(safe-area-inset-bottom,0px) + 1rem)!important;border-radius:0!important;-webkit-mask-box-image-source:none!important}.schedule-cancellation-wizard>:last-child:not(.absolute):not([data-dialog-footer=true]):not([data-dialog-header=true]){corner-shape:initial!important;border-radius:0!important;-webkit-mask-box-image-source:none!important}@supports (corner-shape:squircle){.schedule-cancellation-wizard.dialog-container-rounded,.schedule-cancellation-wizard.dialog-container-rounded:hover,.schedule-cancellation-wizard.dialog-container-rounded:focus,.schedule-cancellation-wizard.dialog-container-rounded:focus-visible,.schedule-cancellation-wizard.dialog-container-rounded:active,.z-50>.schedule-cancellation-wizard.dialog-container-rounded,.z-50>.schedule-cancellation-wizard.dialog-container-rounded:hover,.z-50>.schedule-cancellation-wizard.dialog-container-rounded:focus,.z-50>.schedule-cancellation-wizard.dialog-container-rounded:focus-visible,.z-50>.schedule-cancellation-wizard.dialog-container-rounded:active,[data-radix-dialog-content].schedule-cancellation-wizard,[data-radix-dialog-content].schedule-cancellation-wizard:hover,[data-radix-dialog-content].schedule-cancellation-wizard:focus,[data-radix-dialog-content].schedule-cancellation-wizard:focus-visible,[data-radix-dialog-content].schedule-cancellation-wizard:active,.z-50>[data-radix-dialog-content].schedule-cancellation-wizard,.z-50>[data-radix-dialog-content].schedule-cancellation-wizard:hover,.z-50>[data-radix-dialog-content].schedule-cancellation-wizard:focus,.z-50>[data-radix-dialog-content].schedule-cancellation-wizard:focus-visible,.z-50>[data-radix-dialog-content].schedule-cancellation-wizard:active,.schedule-cancellation-wizard>[data-dialog-header=true],.schedule-cancellation-wizard>[data-dialog-header=true]:hover,.schedule-cancellation-wizard>[data-dialog-header=true]:focus,.schedule-cancellation-wizard>[data-dialog-header=true]:active,.schedule-cancellation-wizard>.schedule-cancellation-wizard-body,.schedule-cancellation-wizard>.schedule-cancellation-wizard-body:hover,.schedule-cancellation-wizard>.schedule-cancellation-wizard-body:focus,.schedule-cancellation-wizard>.schedule-cancellation-wizard-body:active{corner-shape:initial!important;border-radius:0!important}}}.flowing-background{background:linear-gradient(-45deg, var(--flow-color-1), var(--flow-color-2), var(--flow-color-3), var(--flow-color-4));z-index:0;background-position:28%;background-size:300% 300%}.animate-gradient{background-position:28%;background-size:400% 400%;animation:none}.schedule-rounded-fix{isolation:isolate;-webkit-mask-composite:destination-out;transform:translateZ(0);-webkit-mask-composite:source-out;mask-composite:subtract}.flowing-background,.animate-gradient{backface-visibility:hidden}.flowing-header{background:linear-gradient(90deg, var(--flow-color-1), var(--flow-color-2), var(--flow-color-3), var(--flow-color-4));z-index:1;background-position:28%;background-size:300% 300%;border-radius:1rem 1rem 0 0}.schedule-grid{grid-template-columns:auto repeat(7,minmax(200px,1fr));min-width:100%;height:100%;display:grid;overflow:auto}.time-column{z-index:30;background:hsl(var(--card) / .72);backdrop-filter:blur(14px);width:100px;position:sticky;left:0}.day-header{z-index:30;background:var(--primary);color:#fff;position:sticky;top:64px}.schedule-time-column{background-color:hsl(var(--card));z-index:10;position:sticky;left:0}.schedule-time-cell{text-align:right;color:#6b7280;padding:.75rem}.schedule-time-cell:nth-child(2n){background-color:#f9fafb}.schedule-day-cell{height:3.5rem;position:relative}.schedule-day-cell:nth-child(2n){background-color:var(--class-cell-background)}.schedule-header-cell{text-align:center;color:#374151;padding:.75rem;font-weight:500}.schedule-content-cell{min-height:3.5rem;position:relative}.class-block{border-radius:.75rem;margin:.25rem;padding:.5rem;transition:all .2s ease-in-out;position:absolute;inset:0;overflow:hidden}.class-block:hover{transform:scale(1.02)translateY(-1px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.class-block.cancelled{opacity:.5;background-image:repeating-linear-gradient(45deg,#d1d5db80,#d1d5db80 10px,#e5e7eb80 10px 20px)}.class-block-content{flex-direction:column;justify-content:space-between;height:100%;display:flex}.class-name{color:#1f2937;white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500;overflow:hidden}.class-time{color:#6b7280;font-size:.75rem}.class-capacity{color:#374151;font-size:.75rem;font-weight:500}.waiting-list{color:#dc2626;font-size:.75rem;font-weight:500}.flow-background{background:linear-gradient(-45deg,#ee7752,#e73c7e,#23a6d5,#23d5ab) 28%/400% 400%}.class-block-text{color:#374151;font-size:.75rem;font-weight:500;line-height:1rem}.class-block-text-muted{color:var(--class-text-muted-color)}.class-block-animation{backface-visibility:hidden;will-change:transform, box-shadow, background;transition:all .15s cubic-bezier(.4,0,.2,1);position:relative;transform:translateZ(0)}.class-block-animation:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(135deg,#ffffff40 0%,#ffffff1f 50%,#fff0 100%);border-radius:.75rem;display:block;position:absolute;inset:0}.class-block-animation:hover{transform:translateY(-1px)scale(1.02);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.class-block-animation.selected{transform:translateY(-2px)scale(1.03);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.class-block-cancelled{opacity:.5;filter:grayscale();position:relative}.cancel-mode-faded{opacity:.45;filter:grayscale(80%)brightness(1.1);transition:opacity .2s,filter .2s}.class-block-cancelled:before{content:"";z-index:2;pointer-events:none;background:repeating-linear-gradient(45deg,#fff3,#fff3 10px,#0000 10px 20px);position:absolute;inset:0}.class-block-cancelled:after{content:"CANCELLED";color:#ef4444;letter-spacing:.05em;text-transform:uppercase;z-index:3;pointer-events:none;text-align:center;background:#ffffffe6;border-radius:.25rem;justify-content:center;align-items:center;min-width:80px;padding:2px 8px;font-size:.875rem;font-weight:600;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.class-block-selected{outline-offset:-3px;box-shadow:0 0 0 3px #6366f14d;outline:3px solid var(--primary)!important;opacity:1!important}.select-all-button{color:#fff;cursor:pointer;background-color:#fff3;border-radius:4px;padding:2px 8px;font-size:12px;transition:background-color .2s;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.select-all-button:hover{background-color:#ffffff4d}.sticky-header-container{flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.filters-section{z-index:40;background:hsl(var(--card));padding:1rem;position:sticky;top:0}.class-block-red{background:linear-gradient(135deg,#ef444433,#ef44441a)}.class-block-yellow{background:linear-gradient(135deg,#eab30833,#eab3081a)}.class-block-green{background:linear-gradient(135deg,#22c55e33,#22c55e1a)}.class-block-blue{background:linear-gradient(135deg,#3b82f633,#3b82f61a)}.table-header{background:linear-gradient(-35deg, var(--flow-color-1), var(--flow-color-2), var(--flow-color-3), var(--flow-color-4));background-position:28%;background-size:250% 250%}.table-content{background-color:hsl(var(--card))!important}.schedule-grid::-webkit-scrollbar{width:8px;height:8px}.schedule-grid::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.schedule-grid::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.schedule-grid::-webkit-scrollbar-thumb:hover{background:#555}.class-block-cancelled.in-header{opacity:.7;filter:grayscale();position:relative}.class-block-cancelled.in-header:before{content:"";z-index:2;pointer-events:none;background:repeating-linear-gradient(45deg,#fff3,#fff3 20px,#0000 20px 40px);position:absolute;inset:0}.class-block-cancelled.in-header:after{content:"CANCELLED";color:#ef4444;letter-spacing:.05em;text-transform:uppercase;z-index:20;pointer-events:none;text-align:center;background:#ffffffe6;border-radius:4px;justify-content:center;align-items:center;min-width:200px;padding:4px 16px;font-size:1.5rem;font-weight:700;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-10deg);box-shadow:0 2px 4px #0000001a}.bg-stripes{background-image:repeating-linear-gradient(45deg,#ffffff1a,#ffffff1a 10px,#0000 10px 20px)}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.schedule-row-even{background-color:hsl(var(--primary) / .04);border-radius:.75rem;position:relative}.schedule-col-odd{background-color:hsl(var(--foreground) / .02)}.schedule-col-divider{position:relative}.schedule-col-divider:before{content:"";background:linear-gradient(to bottom, transparent 0%, hsl(var(--border) / .4) 10%, hsl(var(--border) / .4) 90%, transparent 100%);width:1px;position:absolute;top:0;bottom:0;left:0}
.schedule-calendar-grid{background:var(--schedule-grid-background,transparent)}:root{--overlay-darkness-factor:0}[data-theme=midnight] .schedule-cell-text,[data-theme=midnight] .schedule-cell-text :not(.schedule-waiting-list):not(.schedule-held-spots):not(.schedule-basket-holds),[data-theme=twilight] .schedule-cell-text,[data-theme=twilight] .schedule-cell-text :not(.schedule-waiting-list):not(.schedule-held-spots):not(.schedule-basket-holds),.dark .schedule-cell-text,.dark .schedule-cell-text :not(.schedule-waiting-list):not(.schedule-held-spots):not(.schedule-basket-holds),[data-mode=dark] .schedule-cell-text,[data-mode=dark] .schedule-cell-text :not(.schedule-waiting-list):not(.schedule-held-spots):not(.schedule-basket-holds){text-shadow:none;font-weight:600;color:hsl(var(--muted-foreground))!important}.light .schedule-cell-text,.light .schedule-cell-text :not(.schedule-waiting-list):not(.schedule-held-spots):not(.schedule-basket-holds):not(.schedule-secondary-details),[data-mode=light] .schedule-cell-text,[data-mode=light] .schedule-cell-text :not(.schedule-waiting-list):not(.schedule-held-spots):not(.schedule-basket-holds):not(.schedule-secondary-details){transition:color .3s ease-out;color:#4a5568!important}.schedule-cell-cancelled .schedule-cell-text,.schedule-cell-cancelled .schedule-cell-text *{color:#6b7280!important}.enhanced-contrast .schedule-cell-text{text-shadow:0 1px 2px #0003;font-weight:500}.schedule-cell-hovered .schedule-cell-text{filter:brightness(1.1)}.schedule-availability-text{letter-spacing:-.01em;font-weight:600}.schedule-meta-text{opacity:.9}.schedule-waiting-list{font-weight:600;color:#fb923c!important}.schedule-held-spots{font-weight:600;color:#3b82f6!important}.schedule-basket-holds{font-weight:600;color:#10b981!important}
