:root{--cal-bg:#ffffff;--cal-panel:#ffffff;--cal-border:rgba(100,116,139,0.16);--cal-grid:rgba(100,116,139,0.14);--cal-muted:#64748b;--chip-shadow:0 4px 20px rgba(0,0,0,0.1);--chip-1:#C645F9;--chip-2:#5E6CE7;--chip-3:#FDE68A;--chip-4:#34D399;--chip-5:#FCA5A5;--chip-6:#60A5FA;--chip-7:#F9A8D4;--chip-8:#FDBA74}.cal-canvas{background:transparent;color:#0D0425}.cal-panel{background:var(--cal-panel);border:1px solid var(--cal-border);border-radius:20px}.cal-grid-border{border-color:var(--cal-grid)}.cal-column-divider{border-color:rgba(100,116,139,.35)}.cal-muted{color:var(--cal-muted)}.cal-scrollbar::-webkit-scrollbar{height:10px;width:10px}.cal-scrollbar::-webkit-scrollbar-thumb{background:var(--cal-grid);border-radius:9999px}.cal-scrollbar::-webkit-scrollbar-track{background:transparent}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.cal-chip{border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.08);transition:box-shadow .15s ease,transform .15s ease;color:rgba(255,255,255,.98);border:1px solid rgba(255,255,255,.15)}@keyframes cal-chip-fade-in{0%{opacity:0}to{opacity:1}}.cal-chip-enter{animation:cal-chip-fade-in .15s ease-out both}.cal-chip:hover{box-shadow:0 4px 12px rgba(0,0,0,.16),0 2px 4px rgba(0,0,0,.12)}.cal-chip[data-color-index="0"]{background:color-mix(in hsl,var(--chip-1) 92%,black 0%);--glow:198,69,249}.cal-chip[data-color-index="1"]{background:color-mix(in hsl,var(--chip-2) 92%,black 0%);--glow:94,108,231}.cal-chip[data-color-index="2"]{background:color-mix(in hsl,var(--chip-3) 92%,black 0%);color:#1a1a1a;--glow:253,230,138}.cal-chip[data-color-index="3"]{background:color-mix(in hsl,var(--chip-4) 92%,black 0%);--glow:52,211,153}.cal-chip[data-color-index="4"]{background:color-mix(in hsl,var(--chip-5) 92%,black 0%);--glow:252,165,165}.cal-chip[data-color-index="5"]{background:color-mix(in hsl,var(--chip-6) 92%,black 0%);--glow:96,165,250}.cal-chip[data-color-index="6"]{background:color-mix(in hsl,var(--chip-7) 92%,black 0%);--glow:249,168,212}.cal-chip[data-color-index="7"]{background:color-mix(in hsl,var(--chip-8) 92%,black 0%);color:#1a1a1a;--glow:253,186,116}.cal-chip.cal-chip-surface{color:hsl(var(--card-foreground));border:none;box-shadow:0 1px 2px rgba(15,23,42,.06),0 0 0 1px rgba(15,23,42,.05)}.cal-chip.cal-chip-surface:hover{box-shadow:0 2px 6px rgba(15,23,42,.1),0 0 0 1px rgba(15,23,42,.06)}.cal-chip.cal-chip-surface.cal-chip-unconfirmed{box-shadow:0 1px 2px rgba(15,23,42,.06),0 0 0 1px rgba(15,23,42,.1)!important}.cal-chip.cal-chip-surface.cal-chip-unconfirmed:before{background:repeating-linear-gradient(90deg,rgba(15,23,42,.45) 0,rgba(15,23,42,.45) 8px,transparent 0,transparent 16px) top /100% 2px no-repeat,repeating-linear-gradient(180deg,rgba(15,23,42,.45) 0,rgba(15,23,42,.45) 8px,transparent 0,transparent 16px) 100% /2px 100% no-repeat,repeating-linear-gradient(90deg,rgba(15,23,42,.45) 0,rgba(15,23,42,.45) 8px,transparent 0,transparent 16px) bottom /100% 2px no-repeat,repeating-linear-gradient(180deg,rgba(15,23,42,.45) 0,rgba(15,23,42,.45) 8px,transparent 0,transparent 16px) 0 /2px 100% no-repeat}.cal-chip.cal-chip-surface.cal-chip-move-source{border:2px dashed rgba(15,23,42,.5)!important}.cal-chip-outline{border:2px dashed rgba(13,148,136,.6);background:rgba(13,148,136,.08);animation:draft-pulse 3s ease-in-out infinite;position:relative;overflow:hidden;opacity:.75}@keyframes draft-pulse{0%,to{opacity:.6;box-shadow:0 2px 8px rgba(13,148,136,.2),inset 0 1px 0 rgba(255,255,255,.1)}50%{opacity:.9;box-shadow:0 8px 24px rgba(13,148,136,.4),inset 0 2px 4px rgba(255,255,255,.2)}}.cal-chip-outline-recurring{border:2px dashed rgba(147,51,234,.6);background:rgba(147,51,234,.08);animation:draft-pulse-recurring 3s ease-in-out infinite;position:relative;overflow:hidden;opacity:.75}@keyframes draft-pulse-recurring{0%,to{opacity:.6;box-shadow:0 2px 8px rgba(147,51,234,.2),inset 0 1px 0 rgba(255,255,255,.1)}50%{opacity:.9;box-shadow:0 8px 24px rgba(147,51,234,.4),inset 0 2px 4px rgba(255,255,255,.2)}}.cal-chip.cal-chip-unconfirmed,.cal-chip[data-color-index].cal-chip-unconfirmed{opacity:.8!important;position:relative;border:2px dashed rgba(255,255,255,.9)!important;border-image:none!important}.cal-chip.cal-chip-unconfirmed:before{content:"";position:absolute;inset:-2px;border-radius:12px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.9) 0,rgba(255,255,255,.9) 8px,transparent 0,transparent 16px) top /100% 2px no-repeat,repeating-linear-gradient(180deg,rgba(255,255,255,.9) 0,rgba(255,255,255,.9) 8px,transparent 0,transparent 16px) 100% /2px 100% no-repeat,repeating-linear-gradient(90deg,rgba(255,255,255,.9) 0,rgba(255,255,255,.9) 8px,transparent 0,transparent 16px) bottom /100% 2px no-repeat,repeating-linear-gradient(180deg,rgba(255,255,255,.9) 0,rgba(255,255,255,.9) 8px,transparent 0,transparent 16px) 0 /2px 100% no-repeat;pointer-events:none;z-index:1}.month-unconfirmed-session{background-image:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(255,255,255,.15) 0,rgba(255,255,255,.15) 8px)!important;background-size:8px 8px}.cal-hairline-now{height:2px;background:var(--accent);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 60%,transparent)}.cal-unavailable,.cal-unavailable-tutor{position:absolute;left:0;right:0;background:rgba(100,116,139,.3);pointer-events:none}.cal-unavailable-swatch,.cal-unavailable-tutor-swatch{background:rgba(100,116,139,.3)}.cal-sticky{position:sticky;top:0;z-index:30}.cal-fab{position:fixed;right:16px;bottom:16px;background:linear-gradient(135deg,#C645F9,#5E6CE7);color:white;border-radius:9999px;padding:10px 14px;box-shadow:0 10px 34px rgba(98,79,216,.32)}@keyframes cal-tick{0%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.85}to{transform:scale(1);opacity:1}}.cal-hour-active{animation:cal-tick 1.2s ease-in-out}.cursor-grab{cursor:grab}.cursor-grab:active{cursor:grabbing}@keyframes cal-chip-glow{0%,to{box-shadow:0 0 10px 3px rgba(var(--glow),.45),0 0 22px 5px rgba(var(--glow),.15),0 2px 8px rgba(0,0,0,.1)}50%{box-shadow:0 0 18px 6px rgba(var(--glow),.6),0 0 38px 10px rgba(var(--glow),.25),0 2px 8px rgba(0,0,0,.1)}}.cal-chip.cal-chip-selected{outline:2px solid rgba(255,255,255,.95);outline-offset:1px}.cal-chip.cal-chip-move-target,.cal-chip.cal-chip-selected{animation:cal-chip-glow 2s ease-in-out infinite;transition:none;z-index:2}.cal-chip.cal-chip-move-target{cursor:pointer!important;opacity:1!important;overflow:visible!important;position:relative}.cal-chip.cal-chip-move-target:hover{transform:scale(1.02);transition:transform .15s ease}@keyframes cal-tooltip-fade-in{0%{opacity:0}to{opacity:1}}.cal-chip.cal-chip-move-target:hover:after{content:"Click to move here";position:absolute;top:calc(100% + 4px);left:50%;transform:translateX(-50%);white-space:nowrap;font-size:11px;font-weight:500;color:#1a1a1a;background:rgba(255,255,255,.95);padding:2px 8px;border-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.15);pointer-events:none;z-index:50;animation:cal-tooltip-fade-in .15s ease}.cal-chip.cal-chip-move-loading{animation:none;box-shadow:0 0 0 2px rgba(255,255,255,.9),0 0 16px 4px rgba(var(--glow),.5);cursor:wait!important;pointer-events:none;z-index:3}.cal-chip.cal-chip-move-source{animation:none;opacity:.5!important;border:2px dashed rgba(255,255,255,.7)!important;pointer-events:none;transition:opacity .2s ease}.cal-chip.cal-chip-move-dimmed{animation:none;opacity:.25!important;pointer-events:none;filter:grayscale(.6);transition:opacity .2s ease,filter .2s ease}