:root{--background-start-rgb:0,0,0;--background-end-rgb:0,0,0;--foreground-rgb:255,255,255}@media (prefers-color-scheme:light){:root{--foreground-rgb:255,255,255;--background-start-rgb:214,219,220;--background-end-rgb:255,255,255}}body{color:rgb(var(--foreground-rgb));background:linear-gradient(to bottom,transparent,rgb(var(--background-end-rgb))) rgb(var(--background-start-rgb));position:relative;overflow-x:hidden;background-color:hsl(var(--background));font-family:Calluna,system-ui,sans-serif;color:hsl(var(--foreground))}@keyframes move-gradients{0%,to{--purple-x:20%;--purple-y:20%;--blue-x:80%;--blue-y:80%}25%{--purple-x:80%;--purple-y:20%;--blue-x:20%;--blue-y:80%}50%{--purple-x:80%;--purple-y:80%;--blue-x:20%;--blue-y:20%}75%{--purple-x:20%;--purple-y:80%;--blue-x:80%;--blue-y:20%}}.bg-admin,.bg-qr,.bg-social{background-color:hsl(var(--background));color:hsl(var(--foreground))}.bg-homepage{position:relative}.bg-homepage:after{background:radial-gradient(circle at var(--purple-x,20%) var(--purple-y,20%),rgba(120,119,198,.3) 0,transparent 50%),radial-gradient(circle at var(--blue-x,80%) var(--blue-y,80%),rgba(255,119,198,.15) 0,transparent 50%);z-index:-1;animation:move-gradients 15s ease-in-out infinite}.bg-homepage:after,.bg-homepage:before{content:"";position:absolute;inset:0;pointer-events:none}.bg-homepage:before{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.4'/%3E%3C/svg%3E");opacity:.02;z-index:-2;filter:blur(8px);-webkit-filter:blur(8px)}.bg-transparent-override{background:transparent!important}.bg-glass{background:rgba(255,255,255,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.bg-section-gradient{background:linear-gradient(135deg,rgba(120,119,198,.1),rgba(255,119,198,.05))}.calendar-container{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}@supports (padding:max(0px)){.calendar-page{padding-top:max(env(safe-area-inset-top),0px);padding-bottom:max(env(safe-area-inset-bottom),0px)}}input[type=datetime-local],input[type=password],input[type=text],select,textarea{font-size:16px!important}@media (max-width:768px){::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:hsl(var(--muted-foreground)/.3);border-radius:2px}}*{touch-action:manipulation}.swipeable{transition:transform .3s cubic-bezier(.4,0,.2,1)}.pull-to-refresh{transform:translateY(0);transition:transform .2s ease-out}.pull-to-refresh.pulling{transform:translateY(60px)}.fab{box-shadow:0 4px 12px rgba(0,0,0,.15),0 2px 4px rgba(0,0,0,.12)}.touch-feedback:active{transform:scale(.98);opacity:.9}@keyframes haptic-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.haptic-feedback{animation:haptic-pulse .2s ease-out}