@layer reset, base, themes, layouts, components, pages, utilities, overrides;.rdp-root{--rdp-accent-color:blue;--rdp-accent-background-color:#f0f0ff;--rdp-day-height:44px;--rdp-day-width:44px;--rdp-day_button-border-radius:100%;--rdp-day_button-border:2px solid transparent;--rdp-day_button-height:42px;--rdp-day_button-width:42px;--rdp-selected-border:2px solid var(--rdp-accent-color);--rdp-disabled-opacity:0.5;--rdp-outside-opacity:0.75;--rdp-today-color:var(--rdp-accent-color);--rdp-dropdown-gap:0.5rem;--rdp-months-gap:2rem;--rdp-nav_button-disabled-opacity:0.5;--rdp-nav_button-height:2.25rem;--rdp-nav_button-width:2.25rem;--rdp-nav-height:2.75rem;--rdp-range_middle-background-color:var(--rdp-accent-background-color);--rdp-range_middle-color:inherit;--rdp-range_start-color:#fff;--rdp-range_start-background:linear-gradient(var(--rdp-gradient-direction),transparent 50%,var(--rdp-range_middle-background-color) 50%);--rdp-range_start-date-background-color:var(--rdp-accent-color);--rdp-range_end-background:linear-gradient(var(--rdp-gradient-direction),var(--rdp-range_middle-background-color) 50%,transparent 50%);--rdp-range_end-color:#fff;--rdp-range_end-date-background-color:var(--rdp-accent-color);--rdp-week_number-border-radius:100%;--rdp-week_number-border:2px solid transparent;--rdp-week_number-height:var(--rdp-day-height);--rdp-week_number-opacity:0.75;--rdp-week_number-width:var(--rdp-day-width);--rdp-weeknumber-text-align:center;--rdp-weekday-opacity:0.75;--rdp-weekday-padding:0.5rem 0rem;--rdp-weekday-text-align:center;--rdp-gradient-direction:90deg;--rdp-animation_duration:0.3s;--rdp-animation_timing:cubic-bezier(0.4,0,0.2,1)}.rdp-root[dir=rtl]{--rdp-gradient-direction:-90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity:unset}.rdp-root{position:relative;box-sizing:border-box}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;justify-content:center;align-items:center;display:flex;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius)}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;position:relative;display:inline-flex;align-items:center;white-space:nowrap;border:0}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto Highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{border:none;background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;-moz-appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;position:relative;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height)}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{display:inline-block;fill:var(--rdp-accent-color)}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform:rotate(180deg);transform-origin:50%}.rdp-dropdowns{position:relative;display:inline-flex;align-items:center;gap:var(--rdp-dropdown-gap)}.rdp-dropdown{z-index:2;opacity:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;inset-block-start:0;inset-block-end:0;inset-inline-start:0;width:100%;margin:0;padding:0;cursor:inherit;border:none;line-height:inherit}.rdp-dropdown_root{position:relative;display:inline-flex;align-items:center}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{display:flex;align-content:center;height:var(--rdp-nav-height);font-weight:700;font-size:large}.rdp-root[data-nav-layout=after] .rdp-month,.rdp-root[data-nav-layout=around] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{position:absolute;inset-inline-start:0;top:0;height:var(--rdp-nav-height);display:inline-flex}.rdp-root[data-nav-layout=around] .rdp-button_next{position:absolute;inset-inline-end:0;top:0;height:var(--rdp-nav-height);display:inline-flex;justify-content:center}.rdp-months{position:relative;display:flex;flex-wrap:wrap;gap:var(--rdp-months-gap);max-width:-moz-fit-content;max-width:fit-content}.rdp-month_grid{border-collapse:collapse}.rdp-nav{position:absolute;inset-block-start:0;inset-inline-end:0;display:flex;align-items:center;height:var(--rdp-nav-height)}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);font-weight:500;font-size:smaller;text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform)}.rdp-week_number{opacity:var(--rdp-week_number-opacity);font-weight:400;font-size:small;height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align)}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-weight:700;font-size:large}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled{opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes rdp-slide_in_right{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes rdp-slide_out_left{0%{transform:translateX(0)}to{transform:translateX(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translateX(0)}to{transform:translateX(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@layer themes{:root{--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--font-family-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-family-display:"Bricolage Grotesque","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-family-public-display:"Space Grotesk","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-family-public-body:"Atkinson Hyperlegible","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-family-mono:"JetBrains Mono","Fira Code",Monaco,"Cascadia Code",monospace;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-loose:1.75;--border-width-thin:1px;--border-width-medium:2px;--border-width-thick:3px;--size-xs:1rem;--size-sm:1.25rem;--size-md:2rem;--size-lg:2.5rem;--size-xl:3rem;--size-2xl:4rem;--blur-sm:4px;--blur-md:10px;--blur-lg:20px;--sidebar-width-collapsed:4rem;--sidebar-width-expanded:16rem;--sidebar-width-mobile:17.5rem;--radius-none:0;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--radius:var(--radius-lg);--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,.25);--duration-fast:150ms;--duration-normal:250ms;--duration-slow:350ms;--duration-slower:500ms;--easing-ease:ease;--easing-ease-in:ease-in;--easing-ease-out:ease-out;--easing-ease-in-out:ease-in-out;--easing-bounce:cubic-bezier(0.68,-0.55,0.265,1.55);--z-base:0;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-modal-content:1055;--z-popover:1060;--z-popover-content:1065;--z-tooltip:1070;--z-toast:1080;--z-max:9999;--drawer-width-sm:20rem;--drawer-width-md:24rem;--drawer-width-lg:32rem;--drawer-width-xl:48rem;--drawer-width-wide:60vw;--drawer-width-full:90vw;--drawer-height-sm:33.333333%;--drawer-height-md:50%;--drawer-height-lg:66.666667%;--drawer-height-xl:75%;--drawer-height-full:90vh;--drawer-border-width:1px;--drawer-backdrop-blur:4px;--drawer-focus-ring-width:2px}}@layer reset{*,:after,:before{box-sizing:border-box}*{margin:0;padding:0}canvas,img,picture,svg,video{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:none;cursor:pointer}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word;hyphens:auto}ol,ul{list-style:none}a{text-decoration:none;color:inherit}table{border-collapse:collapse;border-spacing:0}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px;border-radius:var(--radius-sm)}@media (max-width:768px){input,select,textarea{font-size:16px}}}@layer themes{.dark,:root{--background:215 28% 9%;--foreground:48 38% 96%;--card:215 22% 12%;--card-foreground:48 38% 96%;--popover:215 22% 12%;--popover-foreground:48 38% 96%;--primary:173 60% 45%;--primary-foreground:0 0% 100%;--secondary:215 18% 16%;--secondary-foreground:48 38% 96%;--muted:215 14% 19%;--muted-foreground:203 20% 65%;--accent:342 100% 65%;--accent-foreground:0 0% 100%;--destructive:0 72% 55%;--destructive-foreground:0 0% 100%;--success:142 71% 50%;--warning:32 90% 55%;--info:199 89% 55%;--border:215 16% 23%;--input:215 14% 28%;--ring:173 60% 45%;--sidebar-bg:215 38% 7%;--sidebar-border:215 22% 18%;--glass-overlay:hsla(0,0%,100%,.05);--dot-pattern:hsla(0,0%,100%,.05);--shadow-color:0 0% 0%;--shadow-alpha-sm:0.15;--shadow-alpha-md:0.3;--shadow-alpha-lg:0.5}body{background-image:radial-gradient(circle at 1px 1px,var(--dot-pattern) 1px,transparent 0);background-size:20px 20px}.dark[data-register=public]{--background:45 80% 95%;--foreground:0 0% 7%;--card:0 0% 100%;--card-foreground:0 0% 7%;--popover:0 0% 100%;--popover-foreground:0 0% 7%;--primary:79 100% 62%;--primary-foreground:0 0% 7%;--secondary:342 100% 62%;--secondary-foreground:0 0% 7%;--accent:330 95% 60%;--accent-foreground:0 0% 7%;--muted:45 40% 90%;--muted-foreground:0 0% 30%;--destructive:0 84% 50%;--destructive-foreground:0 0% 100%;--border:0 0% 7%;--input:0 0% 100%;--ring:79 100% 62%;--radius:0.5rem;--shadow-sm:2px 2px 0 #121212;--shadow-md:4px 4px 0 #121212;--shadow-lg:6px 6px 0 #121212;--shadow-xl:8px 8px 0 #121212;--font-family-sans:var(--font-family-public-body);--font-family-display:var(--font-family-public-display)}}@layer themes{.light{--background:48 38% 98%;--foreground:0 0% 12%;--card:0 0% 100%;--card-foreground:0 0% 12%;--popover:0 0% 100%;--popover-foreground:0 0% 12%;--primary:173 58% 36%;--primary-foreground:0 0% 100%;--secondary:48 38% 92%;--secondary-foreground:0 0% 12%;--muted:48 30% 88%;--muted-foreground:0 0% 38%;--accent:342 100% 55%;--accent-foreground:0 0% 100%;--destructive:0 72% 50%;--destructive-foreground:0 0% 100%;--success:142 71% 38%;--warning:32 90% 50%;--info:199 89% 48%;--border:0 0% 88%;--input:0 0% 100%;--ring:173 58% 36%;--sidebar-bg:48 38% 96%;--sidebar-border:0 0% 88%;--glass-overlay:rgba(0,0,0,.04);--dot-pattern:rgba(0,0,0,.04);--shadow-color:0 0% 0%;--shadow-alpha-sm:0.06;--shadow-alpha-md:0.1;--shadow-alpha-lg:0.16}.light body{background-image:radial-gradient(circle at 1px 1px,var(--dot-pattern) 1px,transparent 0);background-size:20px 20px}[data-register=public]{--background:45 80% 95%;--foreground:0 0% 7%;--card:0 0% 100%;--card-foreground:0 0% 7%;--popover:0 0% 100%;--popover-foreground:0 0% 7%;--primary:79 100% 62%;--primary-foreground:0 0% 7%;--secondary:342 100% 62%;--secondary-foreground:0 0% 7%;--accent:330 95% 60%;--accent-foreground:0 0% 7%;--muted:45 40% 90%;--muted-foreground:0 0% 30%;--destructive:0 84% 50%;--destructive-foreground:0 0% 100%;--border:0 0% 7%;--input:0 0% 100%;--ring:79 100% 62%;--radius:0.5rem;--shadow-sm:2px 2px 0 #121212;--shadow-md:4px 4px 0 #121212;--shadow-lg:6px 6px 0 #121212;--shadow-xl:8px 8px 0 #121212;--font-family-sans:var(--font-family-public-body);--font-family-display:var(--font-family-public-display)}[data-register=public] body,body:has([data-register=public]){background-image:none}}@layer layouts{.root-layout{display:flex;height:100vh;overflow:hidden;background-color:hsl(var(--background));color:hsl(var(--foreground))}.main-content{flex:1;transition:all var(--duration-normal) var(--easing-ease-in-out);position:relative}@media (max-width:1024px){.root-layout{flex-direction:column}}.content-container{height:100%;padding:var(--spacing-lg);max-width:100%;overflow-y:auto}@media (max-width:640px){.content-container{padding:var(--spacing-md)}}.mobile-menu-button{position:fixed;top:var(--spacing-md);left:var(--spacing-md);z-index:var(--z-modal-backdrop);width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:hsl(var(--background)/.95);border:1px solid hsl(var(--border));border-radius:var(--radius-lg);color:hsl(var(--foreground));cursor:pointer;transition:all var(--duration-normal) var(--easing-ease-out);backdrop-filter:blur(16px);box-shadow:0 4px 16px hsl(var(--shadow-color)/var(--shadow-alpha-md)),0 2px 8px hsl(var(--shadow-color)/var(--shadow-alpha-sm))}.mobile-menu-button:hover{background:hsl(var(--accent)/.75);color:hsl(var(--accent-foreground));transform:scale(1.05);box-shadow:0 8px 32px hsl(var(--primary)/.2),0 4px 16px hsl(var(--shadow-color)/var(--shadow-alpha-lg))}.mobile-menu-button:active{transform:scale(.95)}.mobile-backdrop{position:fixed;inset:0;background:hsl(var(--background)/.8);backdrop-filter:blur(8px);z-index:var(--z-modal-backdrop);animation:backdrop-fade-in var(--duration-normal) var(--easing-ease-out)}@keyframes backdrop-fade-in{0%{opacity:0;backdrop-filter:blur(0)}to{opacity:1;backdrop-filter:blur(8px)}}.mobile-content-shifted{filter:blur(2px);transition:filter var(--duration-normal) var(--easing-ease-out)}.page-enter{opacity:0;transform:translateY(16px)}.page-enter-active{opacity:1;transform:translateY(0);transition:all var(--duration-slow) var(--easing-ease-out)}.page-exit{opacity:1;transform:translateY(0)}.page-exit-active{opacity:0;transform:translateY(-16px);transition:all var(--duration-normal) var(--easing-ease-in)}@media (prefers-reduced-motion:reduce){.main-content,.mobile-backdrop,.mobile-content-shifted,.mobile-menu-button,.page-enter-active,.page-exit-active{transition:none!important;animation:none!important}}}.public-layout__header{position:sticky;top:0;z-index:50;background-color:hsl(var(--background));border-bottom:var(--border-width-thin) solid hsl(var(--border))}.public-layout__header-content{display:flex;height:4rem;align-items:center;justify-content:space-between;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}@media (min-width:640px){.public-layout__header-content{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}}@media (min-width:768px){.public-layout__header-content{padding-left:var(--spacing-xl);padding-right:var(--spacing-xl)}}.public-layout__nav{display:flex;align-items:center;gap:1rem}.public-layout__nav-link{font-size:.875rem;line-height:1.25rem;color:hsl(var(--muted-foreground))}.public-layout__nav-link:hover{color:hsl(var(--foreground))}.public-layout__nav-link{padding:.5rem .75rem}.public-layout__nav-link:hover{background-color:hsl(var(--accent))}.public-layout__nav-link{border-radius:var(--radius-md);transition:all var(--duration-normal) var(--easing-ease-out)}.public-layout__main{display:flex;flex:1 1 0%;flex-direction:column}.public-layout__content{flex:1 1 0%;padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}.public-layout__footer{margin-top:auto;background-color:hsl(var(--muted)/.3);border-top:var(--border-width-thin) solid hsl(var(--border))}.public-layout__footer-content{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:2rem}@media (min-width:768px){.public-layout__footer-content{grid-template-columns:repeat(3,minmax(0,1fr))}}.public-layout__footer-content{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}.setup-step .public-layout__footer-section>*+*{margin-top:1rem}.public-layout__footer-section>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.public-layout__footer-title{font-size:1.125rem;line-height:1.75rem;font-weight:600;color:hsl(var(--foreground))}.public-layout__footer-subtitle{font-size:.875rem;line-height:1.25rem;font-weight:500;color:hsl(var(--foreground))}.public-layout__footer-description{font-size:.875rem;line-height:1.25rem;line-height:1.625;color:hsl(var(--muted-foreground))}.public-layout__footer-links>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.public-layout__footer-link{font-size:.875rem;line-height:1.25rem;color:hsl(var(--muted-foreground))}.public-layout__footer-link:hover{color:hsl(var(--foreground))}.public-layout__footer-link{display:block;transition:color var(--duration-normal) var(--easing-ease-out)}.public-layout__footer-bottom{text-align:center;border-top:var(--border-width-thin) solid hsl(var(--border));padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.public-layout__footer-copyright{font-size:.75rem;line-height:1rem;color:hsl(var(--muted-foreground))}@media (max-width:768px){.public-layout__content{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.public-layout__footer-content{grid-template-columns:repeat(1,minmax(0,1fr));gap:1.5rem;padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.public-layout__footer-bottom{padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}.public-layout__nav{gap:.5rem}.public-layout__nav-link{padding:.25rem .5rem;font-size:.75rem;line-height:1rem}}@media (prefers-reduced-motion:reduce){.public-layout__footer-link,.public-layout__nav-link{transition:none!important}}@media (prefers-contrast:high){.public-layout__header{border-bottom-width:var(--border-width-medium)}.public-layout__footer{border-top-width:var(--border-width-medium)}.public-layout__footer-bottom{border-top-width:var(--border-width-medium)}}.public-layout__main{background-image:radial-gradient(circle at var(--border-width-thin) var(--border-width-thin),hsl(var(--muted)) var(--border-width-thin),transparent 0);background-size:var(--size-sm) var(--size-sm);background-attachment:fixed}@media (max-width:768px){.public-layout__main{background-image:none}}@layer layouts{.auth-layout{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-lg);background:hsl(var(--background));position:relative;overflow:hidden}.auth-layout:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 1px 1px,hsla(0,0%,100%,.015) 1px,transparent 0);background-size:20px 20px;pointer-events:none;z-index:0}.auth-layout:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at top,hsl(var(--primary)/.1) 0,transparent 50%);pointer-events:none;z-index:1}.auth-header{text-align:center;margin-bottom:var(--spacing-2xl);position:relative;z-index:2}.auth-header h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:hsl(var(--foreground));margin-bottom:var(--spacing-sm);background:linear-gradient(135deg,hsl(var(--foreground)),hsl(var(--primary)));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-header h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-normal);color:hsl(var(--muted-foreground))}.auth-layout .cl-rootBox{box-shadow:0 8px 32px hsl(var(--shadow-color)/var(--shadow-alpha-lg)),0 2px 8px hsl(var(--shadow-color)/var(--shadow-alpha-sm));border-radius:var(--radius-xl);border:1px solid hsl(var(--border));overflow:hidden}.auth-layout .cl-card{border-radius:var(--radius-xl);border:none;background:hsl(var(--card))}@media (max-width:640px){.auth-layout{padding:var(--spacing-md)}.auth-header{margin-bottom:var(--spacing-xl)}.auth-header h1{font-size:var(--font-size-3xl)}.auth-header h2{font-size:var(--font-size-lg)}}.auth-loading{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);color:hsl(var(--muted-foreground))}.auth-loading .loading-spinner{width:24px;height:24px}}.logo{display:flex;align-items:flex-end;gap:var(--spacing-sm);text-decoration:none;transition:all var(--duration-normal) var(--easing-ease-out)}.logo:hover{opacity:.9}.logo__icon{flex-shrink:0;-o-object-fit:contain;object-fit:contain;filter:brightness(0) saturate(100%) invert(54%) sepia(35%) saturate(650%) hue-rotate(141deg) brightness(92%) contrast(88%);transition:filter var(--duration-normal) var(--easing-ease-out)}.logo:hover .logo__icon{filter:brightness(0) saturate(100%) invert(54%) sepia(35%) saturate(700%) hue-rotate(141deg) brightness(96%) contrast(88%)}.logo__icon--sm{width:1.375rem;height:1.375rem}.logo__icon--md{width:2rem;height:2rem}.logo__icon--lg{width:3rem;height:3rem}.logo__text{font-weight:var(--font-weight-semibold);color:hsl(var(--foreground));white-space:nowrap;margin:0}.logo__text--sm{font-size:var(--font-size-lg);line-height:1}.logo__text--md{font-size:1.625rem;line-height:1}.logo__text--lg{font-size:2.5rem;line-height:1}.logo--sm{gap:.375rem}.logo--md{gap:var(--spacing-sm)}.logo--lg{gap:.75rem}@media (max-width:768px){.logo__text--lg{font-size:var(--font-size-3xl)}.logo__icon--lg{width:2.5rem;height:2.5rem}}@media (prefers-reduced-motion:reduce){.logo,.logo__icon{transition:none}}.rich-text-editor{border:var(--border-width-medium) solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background));overflow:visible;transition:border-color var(--duration-fast) var(--easing-ease-in-out)}.rich-text-editor--error{border-color:hsl(var(--destructive))}.rich-text-editor--disabled{opacity:.6;cursor:not-allowed}.rich-text-editor__toolbar{position:relative;display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);border-bottom:var(--border-width-thin) solid hsl(var(--border));background:hsl(var(--muted)/.3)}.rich-text-editor__toolbar-buttons{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.rich-text-editor__toolbar-btn{width:var(--size-lg);height:var(--size-lg);padding:0;display:flex;align-items:center;justify-content:center}.rich-text-editor__toolbar-btn svg{width:1.125rem;height:1.125rem}.rich-text-editor__toolbar-btn--active{background:hsl(var(--accent)/.75);color:hsl(var(--accent-foreground))}.rich-text-editor__toolbar-btn:hover:not(:disabled){background:hsl(var(--muted))}.rich-text-editor__dropdown{position:relative}.rich-text-editor__dropdown-menu{position:absolute;top:100%;left:0;margin-top:var(--spacing-xs);padding:var(--spacing-xs);background:hsl(var(--popover));border:var(--border-width-thin) solid hsl(var(--border));border-radius:var(--radius);box-shadow:var(--shadow-lg);min-width:9.375rem;max-height:18.75rem;overflow-y:auto;z-index:50}.rich-text-editor__dropdown-item{width:100%;padding:var(--spacing-sm) var(--spacing-md);text-align:left;background:transparent;border:none;border-radius:calc(var(--radius) - var(--border-width-medium));cursor:pointer;transition:background-color var(--duration-fast) var(--easing-ease-in-out);color:hsl(var(--popover-foreground));font-size:var(--font-size-sm);line-height:1.4}.rich-text-editor__dropdown-item:hover{background:hsl(var(--muted))}.rich-text-editor__dropdown-item--active{background:hsl(var(--accent)/.75);color:hsl(var(--accent-foreground));font-weight:500}.rich-text-editor__editor-wrapper{overflow-y:auto;padding:var(--spacing-md)}.rich-text-editor__content{outline:none;min-height:inherit}.rich-text-editor__content:before{content:attr(data-placeholder);float:left;color:hsl(var(--muted-foreground));pointer-events:none;height:0}.rich-text-editor__content:not(.is-empty):before{content:none}.rich-text-editor__content p{margin-bottom:var(--spacing-md);line-height:1.6}.rich-text-editor__content p:last-child{margin-bottom:0}.rich-text-editor__content h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin-top:var(--spacing-lg);margin-bottom:var(--spacing-md);line-height:var(--line-height-tight)}.rich-text-editor__content h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);margin-top:var(--spacing-lg);margin-bottom:var(--spacing-md);line-height:1.3}.rich-text-editor__content h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-top:var(--spacing-md);margin-bottom:var(--spacing-sm);line-height:1.4}.rich-text-editor__content h1:first-child,.rich-text-editor__content h2:first-child,.rich-text-editor__content h3:first-child{margin-top:0}.rich-text-editor__content ol,.rich-text-editor__content ul{margin-left:var(--spacing-lg);margin-bottom:var(--spacing-md);line-height:1.6}.rich-text-editor__content ul{list-style-type:disc}.rich-text-editor__content ol{list-style-type:decimal}.rich-text-editor__content li{margin-bottom:var(--spacing-xs)}.rich-text-editor__content li p{margin-bottom:var(--spacing-xs)}.rich-text-editor__content ol ol,.rich-text-editor__content ol ul,.rich-text-editor__content ul ol,.rich-text-editor__content ul ul{margin-top:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.rich-text-editor__content code{background:hsl(var(--muted));color:hsl(var(--foreground));padding:.125rem .375rem;border-radius:.1875rem;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:.875em}.rich-text-editor__content pre{background:hsl(var(--muted));color:hsl(var(--foreground));padding:var(--spacing-md);border-radius:var(--radius);margin-bottom:var(--spacing-md);overflow-x:auto;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.rich-text-editor__content pre code{background:none;padding:0;font-size:inherit;color:inherit}.rich-text-editor__content blockquote{padding-left:var(--spacing-lg);border-left:var(--border-width-thick) solid hsl(var(--border));margin-bottom:var(--spacing-md);color:hsl(var(--muted-foreground));font-style:italic}.rich-text-editor__content blockquote p{margin-bottom:var(--spacing-sm)}.rich-text-editor__content hr{border:none;border-top:var(--border-width-thin) solid hsl(var(--border));margin:var(--spacing-lg) 0}.rich-text-editor__content a{color:hsl(var(--primary));text-decoration:underline;text-underline-offset:var(--border-width-medium)}.rich-text-editor__content a:hover{text-decoration:none}.rich-text-editor__content strong{font-weight:var(--font-weight-semibold)}.rich-text-editor__content em{font-style:italic}.rich-text-editor__content u{text-decoration:underline;text-underline-offset:var(--border-width-medium)}.rich-text-editor__content s{text-decoration:line-through}.rich-text-editor__content:focus{outline:none}.rich-text-editor--disabled .rich-text-editor__content{cursor:not-allowed;-webkit-user-select:none;-moz-user-select:none;user-select:none}.rich-text-editor--disabled .rich-text-editor__toolbar{opacity:.5;pointer-events:none}@media (max-width:768px){.rich-text-editor__toolbar{padding:var(--spacing-sm)}.rich-text-editor__toolbar-buttons{gap:var(--spacing-xs)}.rich-text-editor__toolbar-btn{width:2.25rem;height:2.25rem}.rich-text-editor__toolbar-btn svg{width:var(--size-xs);height:var(--size-xs)}.rich-text-editor__editor-wrapper{padding:var(--spacing-sm)}}@media (prefers-reduced-motion:reduce){.rich-text-editor,.rich-text-editor__dropdown-item{transition:none}}.rich-text-viewer{overflow-y:auto;word-wrap:break-word;overflow-wrap:break-word}.form-field{display:flex;flex-direction:column;gap:var(--spacing-sm);width:100%}.form-field__required{color:hsl(var(--destructive));font-weight:var(--font-weight-medium);margin-left:var(--spacing-xs)}.form-field__error{font-size:var(--font-size-sm);color:hsl(var(--destructive));line-height:1.4;margin-top:calc(var(--spacing-sm)*-.5)}.form-field__helper{font-size:var(--font-size-sm);color:hsl(var(--muted-foreground));line-height:1.4;margin-top:calc(var(--spacing-sm)*-.5)}@media (max-width:640px){.form-field{gap:var(--spacing-xs)}}.section-header>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.section-header__title{line-height:1.25;letter-spacing:-.025em;color:hsl(var(--foreground))}.section-header__description{line-height:1.625}.section-header--sm .section-header__title{font-size:1rem;line-height:1.5rem;font-weight:600}.section-header--sm .section-header__description{font-size:.75rem;line-height:1rem;color:hsl(var(--muted-foreground))}.section-header--md .section-header__title{font-size:1.125rem;line-height:1.75rem;font-weight:600}.section-header--md .section-header__description{font-size:.875rem;line-height:1.25rem;color:hsl(var(--muted-foreground))}.section-header--lg .section-header__title{font-size:1.5rem;line-height:2rem;font-weight:700}.section-header--lg .section-header__description{font-size:1rem;line-height:1.5rem;color:hsl(var(--muted-foreground))}.modal-header-content .section-header__title{font-size:1.25rem;line-height:1.75rem;font-weight:600;letter-spacing:-.025em}.drawer-header-content .section-header__title{font-size:1.5rem;line-height:2rem;font-weight:600;letter-spacing:-.025em}.drawer-header-content .section-header__description{margin-top:.25rem;font-size:.875rem;line-height:1.25rem}@media (max-width:640px){.section-header--lg .section-header__title{font-size:1.25rem;line-height:1.75rem;font-weight:600}.section-header--lg .section-header__description{font-size:.875rem;line-height:1.25rem}.drawer-header-content .section-header__title{font-size:1.25rem;line-height:1.75rem}}.step-progress{width:100%}.step-progress__list{display:flex;align-items:flex-start;list-style:none;margin:0;padding:0}.step-progress__list--horizontal{flex-direction:row;align-items:center;justify-content:space-between}.step-progress__list--vertical{flex-direction:column;align-items:flex-start;gap:1rem}.step-progress__list-item{flex:1 1 0%}.step-progress--vertical .step-progress__list-item{width:100%;flex:none}.step-progress__item{display:flex;gap:.75rem;position:relative}.step-progress__item--horizontal{flex-direction:column;align-items:center;text-align:center}.step-progress__item--vertical{flex-direction:row;align-items:flex-start;text-align:left}.step-progress__step-wrapper{display:flex;align-items:center;justify-content:center;position:relative}.step-progress__step-wrapper--with-connector{flex:1 1 0%}.step-progress__item--horizontal .step-progress__step-wrapper--with-connector{width:100%}.step-progress__item--vertical .step-progress__step-wrapper--with-connector{flex-direction:column;height:100%}.step-progress__step{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-full);border:2px solid;background:hsl(var(--background));transition:all var(--duration-normal) ease;position:relative;z-index:1}.step-progress__step--upcoming{border-color:hsl(var(--muted-foreground)/.35);color:hsl(var(--muted-foreground));cursor:not-allowed}.step-progress__step--current{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground));box-shadow:3px 3px 0 hsl(var(--primary)/.5)}.step-progress__step--completed{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground));box-shadow:2px 2px 0 hsl(var(--primary)/.35)}.step-progress__step--error{border-color:hsl(var(--destructive));background:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}.step-progress__step--clickable{cursor:pointer}.step-progress__step--clickable:hover:not(:disabled){transform:scale(1.05);box-shadow:0 0 0 4px hsl(var(--primary)/.15)}.step-progress__step--clickable:active:not(:disabled){transform:scale(.98)}.step-progress__step:disabled{cursor:not-allowed;opacity:1}.step-progress__number{font-size:1rem;line-height:1.5rem;font-weight:600}.step-progress__icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px}.step-progress__icon--check{width:24px;height:24px;stroke-width:3}.step-progress__icon--error{font-size:1.25rem;line-height:1.75rem;font-weight:700}.step-progress__icon--custom{font-size:1.25rem;line-height:1.75rem}.step-progress__connector{position:absolute;background:hsl(var(--muted-foreground)/.25);transition:background-color var(--duration-normal) ease}.step-progress__connector--horizontal{height:3px;top:50%;left:36px;right:calc(-100% + 36px);transform:translateY(-50%)}.step-progress__item--horizontal .step-progress__connector--horizontal{left:calc(50% + 24px);right:calc(-50% - 24px)}.step-progress__connector--vertical{width:2px;top:56px;bottom:calc(-100% + 8px);left:50%;transform:translateX(-50%)}.step-progress__connector--completed{background:hsl(var(--primary))}.step-progress__content{display:flex;flex-direction:column;gap:.25rem}.step-progress__item--horizontal .step-progress__content{align-items:center;margin-top:var(--spacing-md)}.step-progress__item--vertical .step-progress__content{flex:1 1 0%;align-items:flex-start}.step-progress__label{font-size:.875rem;line-height:1.25rem;font-weight:500;transition:color var(--duration-normal) ease}.step-progress__label--upcoming{color:hsl(var(--muted-foreground))}.step-progress__label--current{color:hsl(var(--foreground));font-weight:600}.step-progress__label--completed{color:hsl(var(--foreground))}.step-progress__label--error{color:hsl(var(--destructive))}.step-progress__description{font-size:.75rem;line-height:1rem;color:hsl(var(--muted-foreground));margin-top:var(--spacing-1)}@media (max-width:768px){.step-progress__step{width:40px;height:40px}.step-progress__number{font-size:.875rem;line-height:1.25rem}.step-progress__icon--check{width:20px;height:20px}.step-progress__label{font-size:.75rem;line-height:1rem}.step-progress__description{font-size:.75rem;line-height:1rem}.step-progress__item--horizontal .step-progress__connector--horizontal{left:calc(50% + 20px);right:calc(-50% - 20px)}}@media (max-width:640px){.step-progress--horizontal.step-progress--mobile-vertical .step-progress__list{flex-direction:column;align-items:flex-start;gap:.75rem}.step-progress--horizontal.step-progress--mobile-vertical .step-progress__item{width:100%;flex-direction:row;align-items:flex-start;text-align:left}.step-progress--horizontal.step-progress--mobile-vertical .step-progress__content{align-items:flex-start;margin-top:0}.step-progress--horizontal.step-progress--mobile-vertical .step-progress__connector--horizontal{display:none}.step-progress--horizontal.step-progress--mobile-vertical .step-progress__connector--vertical{display:block}}.step-progress__step:focus{outline:2px solid hsl(var(--primary));outline-offset:2px}.step-progress__step:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion:reduce){.step-progress__connector,.step-progress__label,.step-progress__step{transition:none}}@media (prefers-contrast:high){.step-progress__step{border-width:3px}}.time-picker{width:100%}.time-picker__trigger{width:100%}.time-picker__content{max-height:15rem;overflow-y:auto}.time-picker__item--disabled{cursor:not-allowed;opacity:.5}.setup-step .time-range-picker>*+*{margin-top:1rem}.time-range-picker>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.time-range-picker__field>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.time-range-picker__label{font-size:.875rem;line-height:1.25rem;font-weight:500;line-height:1;color:hsl(var(--foreground))}.time-range-picker__required{margin-left:.25rem;color:hsl(var(--destructive))}.time-range-picker__help{font-size:.75rem;line-height:1rem;color:hsl(var(--muted-foreground))}@media (max-width:768px){.setup-step .time-range-picker>*+*{margin-top:.75rem}.time-range-picker>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}}.shimmer{background:linear-gradient(110deg,hsl(var(--muted)/.9) 0,hsl(var(--muted)/.9) 40%,hsl(var(--foreground)/.08) 50%,hsl(var(--muted)/.9) 60%,hsl(var(--muted)/.9) 100%);background-size:200% 100%;animation:shimmer-wave 2.5s ease-in-out infinite;position:relative;overflow:hidden}.shimmer:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsl(var(--primary)/.08),transparent);animation:shimmer-glow 2.5s ease-in-out infinite}.shimmer--none{border-radius:0}.shimmer--sm{border-radius:var(--radius-sm)}.shimmer--md{border-radius:var(--radius-md)}.shimmer--lg{border-radius:var(--radius-lg)}.shimmer--xl{border-radius:var(--radius-xl)}.shimmer--full{border-radius:9999px}.studio-dropdown-skeleton{padding:calc(var(--spacing-xs)/2) 0}.studio-dropdown-skeleton__item{padding:var(--spacing-sm) var(--spacing-md)}.studio-dropdown-skeleton__line{width:100%;height:2.5rem}.avatar-skeleton{display:flex;align-items:center;gap:var(--spacing-sm)}.avatar-skeleton__image{width:40px;height:40px;border-radius:var(--radius-full)}.avatar-skeleton__content{flex:1;display:flex;flex-direction:column;gap:calc(var(--spacing-xs)/2)}.avatar-skeleton__name{width:70%;height:1rem}.avatar-skeleton__subtitle{width:50%;height:.875rem}.card-skeleton{padding:var(--spacing-md);border:1px solid hsl(var(--border));border-radius:var(--radius-lg);background:hsl(var(--card));box-shadow:0 1px 3px 0 hsl(var(--ring)/.1)}.card-skeleton__header{margin-bottom:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs)}.card-skeleton__title{width:60%;height:1.5rem}.card-skeleton__subtitle{width:80%;height:1rem}.card-skeleton__content{display:flex;flex-direction:column;gap:var(--spacing-sm)}.card-skeleton__line{height:1rem}.card-skeleton__line--full{width:100%}.card-skeleton__line--partial{width:75%}.card-skeleton__line--short{width:50%}.button-skeleton{height:40px;border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center}.button-skeleton--sm{height:32px;padding:0 var(--spacing-sm)}.button-skeleton--md{height:40px;padding:0 var(--spacing-md)}.button-skeleton--lg{height:48px;padding:0 var(--spacing-lg)}.list-item-skeleton{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) 0}.list-item-skeleton__avatar{width:32px;height:32px;border-radius:var(--radius-full);flex-shrink:0}.list-item-skeleton__content{flex:1;display:flex;flex-direction:column;gap:calc(var(--spacing-xs)/2)}.list-item-skeleton__title{width:70%;height:1rem}.list-item-skeleton__meta{width:50%;height:.875rem}.table-row-skeleton{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid hsl(var(--border))}.table-row-skeleton__cell{flex:1;height:1rem}.table-row-skeleton__cell--narrow{flex:0.5}.table-row-skeleton__cell--wide{flex:2}.form-skeleton{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-skeleton__title{width:35%;height:1.75rem;margin-bottom:var(--spacing-md)}.form-skeleton__fields{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-skeleton__field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-skeleton__label{width:25%;height:1rem}.form-skeleton__input{width:100%;height:2.5rem}@keyframes shimmer-wave{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes shimmer-glow{0%{left:-100%}to{left:100%}}@media (max-width:768px){.studio-dropdown-skeleton__item{padding:var(--spacing-xs) var(--spacing-sm)}.list-item-skeleton__avatar{width:28px;height:28px}.card-skeleton{padding:var(--spacing-sm);box-shadow:0 1px 2px 0 hsl(var(--ring)/.05)}.form-skeleton{gap:var(--spacing-md)}.form-skeleton__fields{gap:var(--spacing-sm)}}@media (prefers-reduced-motion:reduce){.shimmer,.shimmer:before{animation:none}}.data-table{display:flex;flex-direction:column;gap:var(--spacing-md)}.table-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);flex-wrap:wrap}.table-toolbar__left{display:flex;align-items:flex-start;gap:var(--spacing-sm);flex-wrap:wrap;flex:1;min-width:0}@media (max-width:640px){.table-toolbar{flex-direction:column;align-items:stretch}.table-toolbar__left{flex-direction:column;align-items:stretch}}.table-search-container{position:relative;width:100%;min-width:16rem}@media (min-width:640px){.table-search-container{width:auto}}.table-search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);height:1rem;width:1rem;color:hsl(var(--muted-foreground));pointer-events:none;z-index:1}.table-search-input{padding-left:2.5rem!important;width:100%;background-color:hsl(var(--background));border-color:hsl(var(--border));color:hsl(var(--foreground))}.table-search-input::-moz-placeholder{color:hsl(var(--muted-foreground));opacity:1}.table-search-input::placeholder{color:hsl(var(--muted-foreground));opacity:1}.table-search-input:focus{outline:none;ring:var(--border-width-medium) solid hsl(var(--ring));ring-offset:var(--border-width-medium);border-color:hsl(var(--ring))}.table-add-button{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}@media (min-width:640px){.table-add-button{width:auto}}.table-card{border:2px solid hsl(var(--border));box-shadow:4px 4px 0 hsl(var(--foreground)/.1);border-radius:var(--radius-md);background:hsl(var(--card));overflow:hidden}.table-card-content{padding:0}.table-error-state{text-align:center;padding:var(--spacing-xl) var(--spacing-md)}.table-error-title{color:hsl(var(--destructive));margin-bottom:var(--spacing-xs);font-weight:var(--font-weight-medium)}.table-error-message{font-size:var(--font-size-sm);color:hsl(var(--muted-foreground))}.table-loading-state{padding:var(--spacing-md)}.table-loading-skeleton{display:flex;flex-direction:column;gap:var(--spacing-sm)}.table-loading-toolbar{height:2.5rem;background:hsl(var(--muted));border-radius:var(--radius-md);animation:skeleton-loading 2s ease-in-out infinite}.table-empty-state{border:2px solid hsl(var(--foreground));box-shadow:4px 4px 0 hsl(var(--foreground));border-radius:var(--radius-md);background:hsl(var(--card));padding:3rem 2rem;text-align:center;margin:1.5rem}.table-empty-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs);color:hsl(var(--foreground))}.table-empty-description{color:hsl(var(--muted-foreground));margin-bottom:var(--spacing-md)}.table-empty-action{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.table-container{overflow-x:auto}.data-table-element{width:100%;border-collapse:collapse}.table-header-cell{background:hsl(var(--muted));font-weight:700;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;border-bottom:2px solid hsl(var(--border));padding:.75rem 1rem;text-align:left;color:hsl(var(--muted-foreground))}.table-header-cell:first-child{box-shadow:inset 3px 0 0 hsl(var(--primary))}.table-header-cell:last-child{width:1%}.table-row{transition:background-color var(--duration-fast) var(--easing-ease-out)}.table-row:nth-child(2n) td{background:hsl(var(--muted)/.35)}.table-row:hover td{background:hsl(var(--muted)/.6)}.table-row:hover td:first-child{box-shadow:inset 3px 0 0 hsl(var(--accent))}.table-cell{padding:.875rem 1rem;vertical-align:middle;border-bottom:1px solid hsl(var(--border));transition:background-color var(--duration-fast) var(--easing-ease-out),box-shadow var(--duration-fast) var(--easing-ease-out)}.table-cell--expand{width:2.5rem;padding:var(--spacing-xs) var(--spacing-sm)}.table-cell--actions{width:1%;white-space:nowrap;text-align:right}.table-header-cell--actions{width:1%}.table-row-actions{display:flex;gap:.25rem;justify-content:flex-end;opacity:0;transition:opacity .12s ease-out}.table-row:focus-within .table-row-actions,.table-row:hover .table-row-actions{opacity:1}@media (max-width:1024px){.table-row-actions{opacity:1}}@media (prefers-reduced-motion:reduce){.table-row-actions{transition:none}.table-card,.table-row td{transition:none!important}}.expandable-row__toggle{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-md);background:transparent;border:none;cursor:pointer;transition:background-color var(--duration-fast) var(--easing-ease-out);color:hsl(var(--muted-foreground))}.expandable-row__toggle:hover{background-color:hsl(var(--muted)/.5);color:hsl(var(--foreground))}.expandable-row__toggle:focus-visible{outline:none;ring:var(--border-width-medium) solid hsl(var(--ring));ring-offset:var(--border-width-medium)}.expandable-row__toggle-icon{width:1.125rem;height:1.125rem;transition:transform var(--duration-normal) var(--easing-ease-out);transform:rotate(-90deg)}.expandable-row__toggle-icon--expanded{transform:rotate(0deg)}.expandable-row__expanded{border-bottom:var(--border-width-thin) solid hsl(var(--border));background:hsl(var(--muted)/.3)}.expandable-row__expanded-cell{padding:0}.expandable-row__content{padding:var(--spacing-md);animation:expandable-row-slide-down var(--duration-normal) var(--easing-ease-out)}@keyframes expandable-row-slide-down{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.expandable-row__toggle-icon{transition:none}.expandable-row__content{animation:none}}.table-pagination-container{padding:var(--spacing-sm) var(--spacing-md);border-top:var(--border-width-thin) solid hsl(var(--border))}.table-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-sm)}.table-pagination-info{font-size:var(--font-size-sm);color:hsl(var(--muted-foreground))}.table-pagination-controls{display:flex;align-items:center;gap:var(--spacing-sm)}.table-actions-cell{display:flex;gap:var(--spacing-xs);align-items:center;justify-content:flex-start;min-width:-moz-fit-content;min-width:fit-content;white-space:nowrap}.table-action-button{height:2rem;padding:0 var(--spacing-xs);display:inline-flex;align-items:center;justify-content:center;gap:calc(var(--spacing-xs)/2);font-size:var(--font-size-sm)}.table-action-button--icon-only{width:2rem;padding:0;aspect-ratio:1}.table-action-icon{height:1.125rem;width:1.125rem;flex-shrink:0;display:block;fill:currentColor;stroke:currentColor;stroke-width:0;min-height:1.125rem;min-width:1.125rem;max-height:1.125rem;max-width:1.125rem}.table-text-cell{color:hsl(var(--foreground))}.table-text-cell--medium{font-weight:var(--font-weight-medium)}.table-text-cell--muted{color:hsl(var(--muted-foreground));font-style:italic}.table-text-cell--truncated{max-width:18.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:768px){.table-cell,.table-header-cell{padding:var(--spacing-xs) var(--spacing-sm)}.table-actions-cell{flex-direction:column;gap:calc(var(--spacing-xs)/2)}.table-action-button{width:100%;justify-content:center}.table-action-button--icon-only{width:2rem}}@layer pages{.home-page{display:flex;flex-direction:column;gap:1.5rem}.home-page__up-next{max-width:48rem;margin:0 auto;width:100%}.home-page__up-next-content{padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.5rem}.home-page__up-next-eyebrow{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;opacity:.85}.home-page__up-next-title{margin:0;font-size:clamp(1.25rem,1rem + 1.5vw,2rem);line-height:1.05;hyphens:manual;overflow-wrap:anywhere}.home-page__up-next-meta{font-size:.9375rem;opacity:.85}.home-page__up-next-attendance{font-size:.875rem;font-weight:600;opacity:.85}.home-page__sessions{display:flex;flex-direction:column;gap:1rem}.home-page__sessions-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.home-page__session-row{display:grid;grid-template-columns:6.5rem 1fr auto;gap:1rem;align-items:center;padding:.875rem 1rem;background-color:hsl(var(--card));color:hsl(var(--card-foreground));border:1px solid hsl(var(--border));border-radius:var(--radius-md)}.home-page__session-time{font-variant-numeric:tabular-nums;font-weight:600;font-size:.9375rem}.home-page__session-body{display:flex;flex-direction:column;gap:.125rem;min-width:0}.home-page__session-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-page__session-meta{font-size:.8125rem;color:hsl(var(--muted-foreground));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-page__session-status{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.home-page__session-attendance{font-size:.75rem;color:hsl(var(--muted-foreground));font-variant-numeric:tabular-nums}.home-page__empty{text-align:center;padding:3rem 1.5rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}.home-page__empty-title{margin:0}.home-page__empty-description{margin:0;color:hsl(var(--muted-foreground));max-width:28rem}.home-page__empty-cta{text-decoration:none;margin-top:.5rem}.home-page__empty-cta-link{margin-top:.5rem;color:hsl(var(--primary));text-decoration:none;font-weight:500}.home-page__empty-cta-link:hover{text-decoration:underline}.home-page__skeleton-greeting{height:9rem;border-radius:var(--radius-md)}.home-page__skeleton-up-next{height:6rem;border-radius:var(--radius-md);max-width:48rem;margin:0 auto;width:100%}.home-page__skeleton-rows{display:flex;flex-direction:column;gap:.5rem}.home-page__skeleton-row{height:3.5rem}.home-page__error{text-align:center;padding:4rem 1.5rem;color:hsl(var(--muted-foreground))}@media (max-width:640px){.home-page__session-row{grid-template-columns:5.5rem 1fr;grid-template-rows:auto auto}.home-page__session-status{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center}}}.reward-anchor{position:fixed;top:50%;left:50%;z-index:9999;pointer-events:none}@layer pages{.coming-soon-page{max-width:64rem;margin:0 auto;padding:var(--spacing-xl) var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-2xl);min-height:100vh;justify-content:center}.coming-soon-page__hero{text-align:center;padding:var(--spacing-2xl)}.coming-soon-page__title{margin:0 0 var(--spacing-md);letter-spacing:-.04em}.coming-soon-page__subhead{font-size:var(--font-size-lg);color:hsl(var(--muted-foreground));margin:0}.coming-soon-page__values{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg)}@media (min-width:768px){.coming-soon-page__values{grid-template-columns:repeat(3,1fr)}}.coming-soon-page__cta{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.coming-soon-page__cta-button{display:inline-block;padding:var(--spacing-md) var(--spacing-xl);background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));font-family:var(--font-family-display);font-weight:700;font-size:var(--font-size-lg);text-decoration:none;cursor:pointer}.coming-soon-page__cta-button:focus-visible{outline:3px solid hsl(var(--ring));outline-offset:2px}.coming-soon-page__cta-hint{font-size:var(--font-size-sm);color:hsl(var(--muted-foreground));margin:0}@media (prefers-reduced-motion:reduce){.coming-soon-page__cta-button{transition:none}}}.links-page-card{overflow:hidden;border-radius:var(--radius);border-width:1px;border-color:hsl(var(--border));background-color:hsl(var(--card))}[data-register=public] .links-page-card{border-width:3px}.links-page-card__header{display:flex;width:100%;align-items:center;gap:.75rem;padding:1rem;border-bottom-width:1px;border-color:hsl(var(--border))}[data-register=public] .links-page-card__header{border-bottom-width:3px}.links-page-card__title{font-size:1.125rem;line-height:1.75rem;font-weight:600;color:hsl(var(--foreground))}.links-page-card__content{padding:.75rem 1rem 1rem}.auth-page{background:linear-gradient(135deg,var(--color-background) 0,var(--gray-2) 100%);min-height:100vh;display:flex;align-items:center;justify-content:center}.auth-page__container{width:100%;max-width:480px;padding:2rem}.auth-page__header{text-align:center;margin-bottom:2rem}.auth-page__title{background:linear-gradient(135deg,var(--accent-9) 0,var(--accent-11) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.auth-page__subtitle{color:var(--gray-11);font-weight:400}.cl-rootBox{box-shadow:0 8px 32px rgba(0,0,0,.1)!important;border-radius:12px!important}.cl-card{border-radius:12px!important;border:1px solid var(--gray-6)!important;box-shadow:none!important}.studio-selector--sm{height:32px;font-size:var(--font-size-xs)}.studio-selector--md{height:40px;font-size:var(--font-size-sm)}.studio-selector--lg{height:48px;font-size:var(--font-size-base)}.studio-selector--error{border-color:hsl(var(--destructive))}.studio-selector__trigger{width:100%;display:flex;align-items:center;justify-content:space-between}.studio-selector__loading-placeholder{display:flex;align-items:center;width:100%;justify-content:space-between;gap:var(--spacing-sm)}.studio-selector__loading-text{max-width:160px;flex-shrink:1}.studio-selector__loading-icon{flex-shrink:0}.studio-selector__error-state{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);color:hsl(var(--destructive))}.studio-selector__empty-state{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);color:hsl(var(--muted-foreground))}.studio-item{display:flex;flex-direction:column;gap:calc(var(--spacing-xs)/2)}.studio-item__name{font-weight:var(--font-weight-medium);color:hsl(var(--foreground))}.studio-item__location{font-size:var(--font-size-xs);color:hsl(var(--muted-foreground))}.sidebar-studio-selector{padding:var(--spacing-sm) var(--spacing-md)}.sidebar-studio-selector--collapsed{padding:var(--spacing-sm) var(--spacing-md)}.sidebar-studio-icon{height:32px;width:32px;border-radius:var(--radius-md);background:hsl(var(--primary)/.1);display:flex;align-items:center;justify-content:center}.sidebar-studio-icon__text{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:hsl(var(--primary))}@media (max-width:768px){.studio-selector__trigger{min-height:44px}.studio-item{padding:var(--spacing-sm) 0}}.classes-page{padding:var(--spacing-lg) 0}.classes-page__header{margin-bottom:var(--spacing-xl)}.classes-page__no-studio{text-align:center;padding:var(--spacing-xl) 0}.classes-page__no-studio-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs);color:hsl(var(--foreground))}.classes-page__no-studio-description{color:hsl(var(--muted-foreground))}@media (max-width:768px){.classes-page{padding:var(--spacing-md) 0}.classes-page__header{margin-bottom:var(--spacing-lg)}}.classes-page__skeleton-card{height:6.5rem;border-radius:.5rem;background-color:hsl(var(--muted));position:relative;overflow:hidden}.classes-page__skeleton-card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0,hsl(var(--background)/.4) 50%,transparent 100%);animation:classes-page-shimmer 1.4s linear infinite}@keyframes classes-page-shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@media (prefers-reduced-motion:reduce){.classes-page__skeleton-card:after{animation:none}}.classes-page__empty,.classes-page__error{text-align:center;padding:2rem 1.5rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.classes-page__empty-title,.classes-page__error h3{font-size:1.25rem;font-weight:700;margin:0}.classes-page__empty-description,.classes-page__error p{color:hsl(var(--muted-foreground));margin:0;max-width:28rem}.classes-page__pagination{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:1.5rem;padding:.75rem 0}.classes-page__page-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid hsl(var(--border));padding:.5rem .875rem;border-radius:.5rem;font-size:.875rem;cursor:pointer;transition:background-color .12s ease}.classes-page__page-button:hover:not(:disabled){background-color:hsl(var(--muted))}.classes-page__page-button:disabled{opacity:.4;cursor:not-allowed}.classes-page__page-status{font-size:.875rem;color:hsl(var(--muted-foreground))}@layer pages{.batches-page{display:flex;flex-direction:column;gap:1.5rem}.batches-page__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.batches-page__add-button{flex-shrink:0;white-space:nowrap}.batches-page__no-studio{display:flex;min-height:400px;flex-direction:column;align-items:center;justify-content:center;text-align:center}.batches-page__no-studio-title{margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:500;color:hsl(var(--muted-foreground))}.batches-page__no-studio-description{max-width:28rem;font-size:.875rem;line-height:1.25rem;color:hsl(var(--muted-foreground))}.batches-page__no-class-selected{display:flex;min-height:400px;flex-direction:column;align-items:center;justify-content:center;text-align:center}.batches-page__no-class-title{margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:500;color:hsl(var(--muted-foreground))}.batches-page__no-class-description{max-width:28rem;font-size:.875rem;line-height:1.25rem;color:hsl(var(--muted-foreground))}.batches-page__toolbar{display:flex;align-items:center;gap:1.5rem;width:100%;flex-wrap:wrap}.batches-page__search-input{flex:1;min-width:12rem}.batches-page__toolbar-filters{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;flex-shrink:0}.batches-page__class-select{min-width:10rem}.class-item{display:flex;align-items:center;gap:.5rem}.class-item__name{font-weight:500}.class-item__style{font-size:.75rem;line-height:1rem;color:hsl(var(--muted-foreground))}@media (max-width:640px){.batches-page__header{flex-direction:column;align-items:stretch}.batches-page__toolbar{flex-direction:column;align-items:stretch}.batches-page__toolbar-filters{flex-direction:column;align-items:stretch}.batches-page__class-select,.batches-page__search-input{flex:none;width:100%;min-width:0}}@media (prefers-reduced-motion:reduce){.batches-page__published-chip{transition:none}}}.batch-details-modal{display:flex;height:100%;flex-direction:column;background-color:hsl(var(--background))}.batch-details-modal__header{display:flex;align-items:center;justify-content:space-between;border-bottom-width:1px;border-color:hsl(var(--border));background-color:hsl(var(--card));padding:1.5rem}[data-register=public] .batch-details-modal__header{border-bottom-width:3px}.batch-details-modal__content{flex:1 1 0%;overflow:hidden;padding:1.5rem}.batch-details-content{display:flex;height:100%;flex-direction:column}.batch-details-content__tabs{display:flex;height:100%;flex-direction:column}.batch-details-content__tabs .tabs__content{flex:1 1 0%;overflow-y:auto}.batch-details-content__table{flex:1 1 0%;overflow:hidden}.batch-overview{display:flex;flex-direction:column;height:100%;overflow:hidden}.batch-overview__enrollments{flex:1;overflow:hidden;display:flex;flex-direction:column}.batch-overview__content{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-lg)}.batch-overview__enrollments-header{margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between}@media (max-width:768px){.batch-overview__content{padding:var(--spacing-md)}}.batch-schedules{display:flex;height:100%;flex-direction:column}.batch-schedules__placeholder{display:flex;flex:1 1 0%;align-items:center;justify-content:center}.setup-step .batch-schedules__section>*+*{margin-top:1rem}.batch-schedules__section>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.batch-schedules__grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.batch-schedule-item{border-radius:var(--radius);border-width:1px;border-color:hsl(var(--border));padding:1rem}[data-register=public] .batch-schedule-item{border-width:3px}.batch-schedule-item{background-color:hsl(var(--card));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.batch-schedule-item:hover{background-color:hsl(var(--accent)/.5)}.setup-step .batch-schedule-item>*+*{margin-top:.75rem}.batch-schedule-item>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.batch-schedule-item__header{display:flex;align-items:center;justify-content:space-between}.batch-schedule-item__icon{flex-shrink:0}.batch-schedule-item__meta{display:flex;align-items:center;gap:.5rem}.batch-schedule-item__badge{font-size:.75rem;line-height:1rem}.batch-schedule-item__number{font-size:.75rem;line-height:1rem;font-weight:500;color:hsl(var(--muted-foreground))}.batch-schedule-item__content>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.batch-schedule-item__day,.batch-schedule-item__time{display:flex;align-items:center;gap:.5rem}.batch-schedules__summary{border-top-width:1px;border-color:hsl(var(--border));padding-top:1rem}[data-register=public] .batch-schedules__summary{border-top-width:3px}.setup-step .batch-schedules__summary-card>*+*{margin-top:.75rem}.batch-schedules__summary-card>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.batch-schedules__summary-card{border-radius:var(--radius);background-color:hsl(var(--muted)/.3);padding:1rem}.batch-schedules__summary-header{display:flex;align-items:center;gap:.5rem}.batch-schedules__summary-content{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.batch-schedules__summary-item{display:flex;flex-direction:column}.batch-schedules__summary-item>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}@media (max-width:768px){.batch-schedules__grid{grid-template-columns:1fr}.batch-schedules__summary-content{grid-template-columns:repeat(1,minmax(0,1fr));gap:.5rem}.batch-schedules__summary-item{flex-direction:row;justify-content:space-between}.batch-schedules__summary-item>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}}@media (max-width:768px){.batch-details-modal__header{padding:1rem}.batch-details-modal__content{padding:1rem}}@media (prefers-reduced-motion:reduce){.batch-schedule-item{transition:none}}.setup-step .registration-links-section>*+*{margin-top:1rem}.registration-links-section>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.registration-links-section__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.registration-links-section__add-button{flex-shrink:0}.registration-links-section__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));gap:1rem;margin-top:1rem}@media (max-width:480px){.registration-links-section__grid{grid-template-columns:1fr}}.registration-links-section__empty-state{padding-top:2rem;padding-bottom:2rem;text-align:center;color:hsl(var(--muted-foreground))}.registration-links-section__empty-description{margin-top:.25rem;font-size:.875rem;line-height:1.25rem}.create-registration-link-form{display:flex;height:100%;flex-direction:column}.create-registration-link-form__content{flex:1 1 0%;overflow-y:auto}.registration-link-form-fields>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.registration-link-form-field>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.registration-link-form-field__label{font-size:.875rem;line-height:1.25rem;font-weight:500;line-height:1;color:hsl(var(--foreground))}.registration-link-form-field__required{margin-left:.25rem;color:hsl(var(--destructive))}.registration-link-form-field__select{width:100%}.registration-link-form-field__help{font-size:.75rem;line-height:1rem;color:hsl(var(--muted-foreground))}.registration-link-form-field--error .registration-link-form-field__select{border-color:hsl(var(--destructive))}.registration-link-form-field--success .registration-link-form-field__select{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}@media (max-width:768px){.setup-step .registration-link-form-fields>*+*{margin-top:1rem}.registration-link-form-fields>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}}@layer pages{.workshops-page{display:flex;flex-direction:column;gap:1.5rem}.workshops-page__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.workshops-page__no-studio{display:flex;min-height:400px;flex-direction:column;align-items:center;justify-content:center;text-align:center}.workshops-page__no-studio-title{margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:500;color:hsl(var(--muted-foreground))}.workshops-page__no-studio-description{max-width:28rem;font-size:.875rem;line-height:1.25rem;color:hsl(var(--muted-foreground))}.workshops-page__toolbar{display:flex;align-items:center;gap:1.5rem;width:100%;flex-wrap:wrap}.workshops-page__search-input{flex:1;min-width:12rem}.workshops-page__toolbar-filters{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;flex-shrink:0}.workshops-page__class-select{min-width:10rem}.workshops-page__add-button{flex-shrink:0;white-space:nowrap}@media (max-width:640px){.workshops-page__header{flex-direction:column;align-items:stretch}.workshops-page__toolbar{flex-direction:column;align-items:stretch}.workshops-page__toolbar-filters{flex-direction:column;align-items:stretch}.workshops-page__class-select,.workshops-page__search-input{flex:none;width:100%;min-width:0}}@media (prefers-reduced-motion:reduce){.workshops-page__published-chip{transition:none}}}.create-schedule-form{display:flex;height:100%;flex-direction:column}.create-schedule-form__content{flex:1 1 0%;overflow-y:auto}.schedule-form-fields>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.schedule-form-field>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.schedule-form-field__label{font-size:.875rem;line-height:1.25rem;font-weight:500;line-height:1;color:hsl(var(--foreground))}.schedule-form-field__required{margin-left:.25rem;color:hsl(var(--destructive))}.schedule-form-field__select{width:100%}.schedule-form-field__help{font-size:.75rem;line-height:1rem;color:hsl(var(--muted-foreground))}.schedule-form-time-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.setup-step .schedule-form-time-range>*+*{margin-top:1rem}.schedule-form-time-range>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.schedule-form-field--error .schedule-form-field__select{border-color:hsl(var(--destructive))}.schedule-form-field--success .schedule-form-field__select{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}@media (max-width:768px){.schedule-form-time-grid{grid-template-columns:repeat(1,minmax(0,1fr));gap:.75rem}}.setup-step .schedule-form-section>*+*{margin-top:1rem}.schedule-form-section>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.schedule-form-section{border-radius:var(--radius);border-width:1px;border-color:hsl(var(--border));background-color:hsl(var(--card));padding:1rem}[data-register=public] .schedule-form-section{border-width:3px}.schedule-form-section__title{margin-bottom:.75rem;font-size:.875rem;line-height:1.25rem;font-weight:500;color:hsl(var(--foreground))}.schedule-form-section__description{font-size:.75rem;line-height:1rem;color:hsl(var(--muted-foreground))}.setup-step .schedule-form-field-group>*+*{margin-top:1rem}.schedule-form-field-group>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.schedule-form-field-row{display:flex;gap:1rem}.schedule-form-field-row>*{flex:1 1 0%}.batch-sessions>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.batch-sessions{display:flex;flex-direction:column;height:100%}.batch-sessions__placeholder{border-radius:var(--radius);border-width:1px;border-color:hsl(var(--border));background-color:hsl(var(--background));padding:2rem;text-align:center}[data-register=public] .batch-sessions__placeholder{border-width:3px}.batch-sessions__header{margin-bottom:1.5rem}.batch-sessions__content{flex:1 1 0%;overflow-y:auto;scrollbar-width:thin}.batch-sessions__content::-webkit-scrollbar{width:6px;height:6px}.batch-sessions__content::-webkit-scrollbar-thumb{border-width:1px}.batch-sessions__content-inner>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.batch-sessions__content-inner{padding-right:var(--spacing-xs)}.setup-step .batch-sessions__section>*+*{margin-top:1rem}.batch-sessions__section>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.batch-sessions__grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}@media (max-width:768px){.batch-sessions__grid{grid-template-columns:repeat(1,minmax(0,1fr))}}.batch-session-item{border-radius:var(--radius);border-width:1px;border-color:hsl(var(--border));background-color:hsl(var(--card));padding:1rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}[data-register=public] .batch-session-item{border-width:3px}.batch-session-item:hover{background-color:hsl(var(--accent)/.5)}.batch-session-item__header{margin-bottom:.75rem;display:flex;align-items:center;justify-content:space-between}.batch-session-item__icon{flex-shrink:0}.batch-session-item__meta{display:flex;align-items:center;gap:.5rem}.batch-session-item__number{font-size:.75rem;line-height:1rem;font-weight:500;color:hsl(var(--muted-foreground))}.batch-session-item__content>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.batch-session-item__time{display:flex;align-items:center;gap:.5rem}.batch-session-item__attendance{border-top-width:1px;border-color:hsl(var(--border));padding-top:.5rem}[data-register=public] .batch-session-item__attendance{border-top-width:3px}.batch-sessions__summary{margin-top:2rem}.batch-sessions__summary-card{border-radius:var(--radius);border-width:1px;border-color:hsl(var(--border));background-color:hsl(var(--muted)/.5);padding:1rem}[data-register=public] .batch-sessions__summary-card{border-width:3px}.batch-sessions__summary-header{margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.batch-sessions__summary-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}@media (max-width:640px){.batch-sessions__summary-content{grid-template-columns:repeat(1,minmax(0,1fr))}}.batch-sessions__summary-item{display:flex;align-items:center;justify-content:space-between;padding-top:.25rem;padding-bottom:.25rem}@media (max-width:640px){.batch-session-item{padding:.75rem}.batch-session-item__meta{flex-direction:column;align-items:flex-end;gap:.25rem}}@media (prefers-reduced-motion:reduce){.batch-session-item{transition:none}}.session-summary{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:var(--spacing-lg)}.session-summary__header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.session-summary__icon{width:1.25rem;height:1.25rem;color:hsl(var(--primary))}.session-summary__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:hsl(var(--foreground));margin:0}.session-summary__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.session-summary__item{display:flex;justify-content:space-between;align-items:center}.session-summary__label{font-size:var(--font-size-sm);color:hsl(var(--muted-foreground))}.session-summary__value{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:hsl(var(--foreground))}.enrollment-notes{display:flex;flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg)}.enrollment-notes__section{display:flex;flex-direction:column;gap:var(--spacing-sm)}.enrollment-notes__header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);min-height:24px}.enrollment-notes__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.08em;line-height:1.2;margin:0;padding:0}.enrollment-notes__edit-btn{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm);height:auto}.enrollment-notes__text{font-size:var(--font-size-sm);color:hsl(var(--foreground));line-height:1.6;padding:var(--spacing-sm) var(--spacing-md);background:hsl(var(--muted)/.3);border-radius:var(--radius-md);border-left:3px solid hsl(var(--border));min-height:44px;display:flex;align-items:center}.enrollment-notes__text:empty:before,.enrollment-notes__text:has(>:only-child:empty):before{content:"No notes";font-style:italic;opacity:.6;color:hsl(var(--muted-foreground))}.enrollment-notes__edit-container{display:flex;flex-direction:column;gap:var(--spacing-md)}.enrollment-notes__textarea{width:100%;min-height:120px;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);line-height:1.6;color:hsl(var(--foreground));background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius-md);resize:vertical;font-family:inherit;transition:border-color var(--duration-fast) var(--easing-ease-out)}.enrollment-notes__textarea:focus{outline:none;border-color:hsl(var(--ring));ring:2px solid hsl(var(--ring));ring-offset:2px}.enrollment-notes__textarea::-moz-placeholder{color:hsl(var(--muted-foreground));opacity:.6}.enrollment-notes__textarea::placeholder{color:hsl(var(--muted-foreground));opacity:.6}.enrollment-notes__actions{display:flex;align-items:center;gap:var(--spacing-sm)}.enrollment-notes__save-btn{display:flex;align-items:center;gap:var(--spacing-xs)}@media (prefers-reduced-motion:reduce){.enrollment-notes__textarea{transition:none}}.scrollable-container{overflow-y:auto;overflow-x:hidden;position:relative}.scrollable-container__content{width:100%}.scrollable-container__content--padded{padding-right:var(--spacing-xs)}.scrollable-container--thin{scrollbar-width:thin}.scrollable-container--thin::-webkit-scrollbar{width:6px;height:6px}.scrollable-container--thin::-webkit-scrollbar-thumb{border-width:1px}.scrollable-container--hidden{scrollbar-width:none;-ms-overflow-style:none}.scrollable-container--hidden::-webkit-scrollbar{display:none}.scrollable-container{scroll-behavior:smooth}.scrollable-container--sm{max-height:200px}.scrollable-container--md{max-height:400px}.scrollable-container--lg{max-height:600px}.scrollable-container--full{height:100%}.product-selector{display:flex;flex-direction:column;gap:var(--spacing-md)}.product-selector__label{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:hsl(var(--foreground));line-height:var(--line-height-tight);letter-spacing:-.01em}.product-selector__required{color:hsl(var(--destructive));margin-left:2px}.product-selector__description{font-size:13px;color:hsl(var(--muted-foreground));line-height:1.5;margin-top:var(--spacing-xs);margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-normal);opacity:.85}.product-selector__empty,.product-selector__loading{font-size:var(--font-size-sm);color:hsl(var(--muted-foreground));padding:var(--spacing-md)}.product-selector__list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.product-selector__item{position:relative;display:flex;align-items:flex-start;gap:var(--spacing-lg);padding:var(--spacing-lg);background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-fast) var(--easing-ease-in-out)}.product-selector__item:hover{background:hsl(var(--accent)/.5);border-color:hsl(var(--primary)/.3)}.product-selector__item--selected{background:hsl(var(--primary)/.05);border-color:hsl(var(--primary));border-width:2px}.product-selector__item--selected:hover{background:hsl(var(--primary)/.08)}.product-selector__checkbox{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:20px;height:20px;min-width:20px;margin-top:2px;border-radius:var(--radius-full);border:2px solid hsl(var(--border));background:hsl(var(--background));transition:all var(--duration-fast) var(--easing-ease-in-out);cursor:pointer;outline:none}.product-selector__checkbox:hover{border-color:hsl(var(--primary))}.product-selector__checkbox:focus-visible{box-shadow:0 0 0 3px hsl(var(--primary)/.2)}.product-selector__checkbox:checked{background:hsl(var(--primary));border-color:hsl(var(--primary));position:relative}.product-selector__checkbox:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;border-radius:var(--radius-full);background:hsl(var(--primary-foreground))}.product-selector__checkbox:disabled{opacity:.5;cursor:not-allowed}.product-selector__content{flex:1;min-width:0}.product-option{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-xl);flex:1;min-width:0}.product-option__details{display:flex;flex-direction:column;gap:var(--spacing-sm);flex:1;min-width:0}.product-option__name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:hsl(var(--foreground));line-height:var(--line-height-tight);margin:0}.product-option__meta{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:hsl(var(--muted-foreground));line-height:var(--line-height-normal);flex-wrap:wrap}.product-option__separator{opacity:.5}.product-option__description{font-size:var(--font-size-sm);color:hsl(var(--muted-foreground));line-height:var(--line-height-normal);margin:0}.product-option__price{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:hsl(var(--primary));line-height:1;letter-spacing:-.02em;flex-shrink:0;text-align:right}.product-selector__count{font-size:var(--font-size-sm);color:hsl(var(--muted-foreground));padding-top:var(--spacing-xs)}@media (max-width:640px){.product-selector__item{padding:var(--spacing-md);gap:var(--spacing-md)}.product-option{flex-direction:column;gap:var(--spacing-md)}.product-option__price{font-size:var(--font-size-xl);text-align:left}}@media (prefers-reduced-motion:reduce){.product-selector__checkbox,.product-selector__item{transition:none}}.location-selector{display:flex;flex-direction:column;gap:var(--spacing-md)}.location-selector__label{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:hsl(var(--foreground));line-height:var(--line-height-tight);letter-spacing:-.01em}.location-selector__required{color:hsl(var(--destructive));margin-left:2px}.location-selector__description{font-size:13px;color:hsl(var(--muted-foreground));line-height:1.5;margin-top:var(--spacing-xs);margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-normal);opacity:.85}.location-selector__empty,.location-selector__loading{font-size:var(--font-size-sm);color:hsl(var(--muted-foreground));padding:var(--spacing-md)}.location-selector__list{display:flex;flex-direction:column;gap:var(--spacing-md)}.location-selector__item{position:relative;display:flex;align-items:flex-start;gap:var(--spacing-lg);padding:var(--spacing-lg);background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-fast) var(--easing-ease-in-out)}.location-selector__item:hover{background:hsl(var(--accent)/.5);border-color:hsl(var(--primary)/.3)}.location-selector__item--selected{background:hsl(var(--primary)/.05);border-color:hsl(var(--primary));border-width:2px}.location-selector__item--selected:hover{background:hsl(var(--primary)/.08)}.location-selector__radio{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:20px;height:20px;min-width:20px;margin-top:2px;border-radius:var(--radius-full);border:2px solid hsl(var(--border));background:hsl(var(--background));transition:all var(--duration-fast) var(--easing-ease-in-out);cursor:pointer;outline:none}.location-selector__radio:hover{border-color:hsl(var(--primary))}.location-selector__radio:focus-visible{box-shadow:0 0 0 3px hsl(var(--primary)/.2)}.location-selector__radio:checked{background:hsl(var(--primary));border-color:hsl(var(--primary));position:relative}.location-selector__radio:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;border-radius:var(--radius-full);background:hsl(var(--primary-foreground))}.location-selector__radio:disabled{opacity:.5;cursor:not-allowed}.location-selector__content{flex:1;min-width:0}.location-option{display:flex;flex-direction:column;gap:var(--spacing-sm);flex:1;min-width:0}.location-option__details{display:flex;flex-direction:column;gap:var(--spacing-sm);flex:1;min-width:0}.location-option__name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:hsl(var(--foreground));line-height:var(--line-height-tight);margin:0}.location-option__address{font-size:var(--font-size-sm);color:hsl(var(--muted-foreground));line-height:var(--line-height-normal);margin:0}.location-option__notes{font-size:var(--font-size-sm);color:hsl(var(--muted-foreground));line-height:var(--line-height-normal);margin:0;display:flex;gap:var(--spacing-xs)}.location-option__notes-label{font-weight:var(--font-weight-medium);color:hsl(var(--foreground))}@media (max-width:640px){.location-selector__item{padding:var(--spacing-md);gap:var(--spacing-md)}}@media (prefers-reduced-motion:reduce){.location-selector__item,.location-selector__radio{transition:none}}.instructor-selector{display:flex;flex-direction:column;gap:var(--spacing-md)}.instructor-selector__label{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:hsl(var(--foreground));line-height:var(--line-height-tight);letter-spacing:-.01em}.instructor-selector__required{color:hsl(var(--destructive));margin-left:2px}.instructor-selector__description{font-size:13px;color:hsl(var(--muted-foreground));line-height:1.5;margin-top:var(--spacing-xs);margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-normal);opacity:.85}.instructor-selector__empty,.instructor-selector__loading{font-size:var(--font-size-sm);color:hsl(var(--muted-foreground));padding:var(--spacing-md)}.instructor-selector__list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.instructor-selector__item{position:relative;display:flex;align-items:flex-start;gap:var(--spacing-lg);padding:var(--spacing-lg);background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-fast) var(--easing-ease-in-out)}.instructor-selector__item:hover{background:hsl(var(--accent)/.5);border-color:hsl(var(--primary)/.3)}.instructor-selector__item--selected{background:hsl(var(--primary)/.05);border-color:hsl(var(--primary));border-width:2px}.instructor-selector__item--selected:hover{background:hsl(var(--primary)/.08)}.instructor-selector__checkbox{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:20px;height:20px;min-width:20px;margin-top:2px;border-radius:var(--radius-full);border:2px solid hsl(var(--border));background:hsl(var(--background));transition:all var(--duration-fast) var(--easing-ease-in-out);cursor:pointer;outline:none}.instructor-selector__checkbox:hover{border-color:hsl(var(--primary))}.instructor-selector__checkbox:focus-visible{box-shadow:0 0 0 3px hsl(var(--primary)/.2)}.instructor-selector__checkbox:checked{background:hsl(var(--primary));border-color:hsl(var(--primary));position:relative}.instructor-selector__checkbox:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;border-radius:var(--radius-full);background:hsl(var(--primary-foreground))}.instructor-selector__checkbox:disabled{opacity:.5;cursor:not-allowed}.instructor-selector__content{flex:1;min-width:0}.instructor-option{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-xl);flex:1;min-width:0}.instructor-option__details{display:flex;flex-direction:column;gap:var(--spacing-sm);flex:1;min-width:0}.instructor-option__name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:hsl(var(--foreground));line-height:var(--line-height-tight);margin:0}.instructor-option__meta{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:hsl(var(--muted-foreground));line-height:var(--line-height-normal);flex-wrap:wrap}.instructor-option__separator{opacity:.5}.instructor-option__description{font-size:var(--font-size-sm);color:hsl(var(--muted-foreground));line-height:var(--line-height-normal);margin:0}.instructor-selector__count{font-size:var(--font-size-sm);color:hsl(var(--muted-foreground));padding-top:var(--spacing-xs)}@media (max-width:640px){.instructor-selector__item{padding:var(--spacing-md);gap:var(--spacing-md)}.instructor-option{flex-direction:column;gap:var(--spacing-md)}}@media (prefers-reduced-motion:reduce){.instructor-selector__checkbox,.instructor-selector__item{transition:none}}.product-option-card{display:flex;align-items:flex-start;gap:var(--spacing-lg);padding:var(--spacing-lg);background:hsl(var(--card));border:2px solid hsl(var(--border));border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-fast) ease;text-align:left;width:100%}.product-option-card:hover:not(.product-option-card--disabled){border-color:hsl(var(--primary));background:hsl(var(--accent)/.1);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.08)}.product-option-card--selected{border-color:hsl(var(--primary));background:hsl(var(--primary)/.05)}.product-option-card--selected:hover:not(.product-option-card--disabled){background:hsl(var(--primary)/.08)}.product-option-card--disabled{opacity:.5;cursor:not-allowed}.product-option-card__radio{flex-shrink:0;width:20px;height:20px;border:2px solid hsl(var(--border));border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;transition:all var(--duration-fast) ease;margin-top:2px}.product-option-card:hover:not(.product-option-card--disabled) .product-option-card__radio{border-color:hsl(var(--primary))}.product-option-card--selected .product-option-card__radio{border-color:hsl(var(--primary));background:hsl(var(--primary))}.product-option-card__radio-dot{width:10px;height:10px;border-radius:var(--radius-full);background:hsl(var(--primary-foreground));transform:scale(0);transition:transform var(--duration-fast) ease}.product-option-card--selected .product-option-card__radio-dot{transform:scale(1)}.product-option-card__content{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.product-option-card__header{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.product-option-card__name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:hsl(var(--foreground));line-height:var(--line-height-tight);margin:0}.product-option-card__summary{font-size:var(--font-size-sm);color:hsl(var(--muted-foreground));line-height:var(--line-height-normal);margin:0}.product-option-card__price{flex-shrink:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:hsl(var(--foreground));line-height:1;margin-top:2px}@media (max-width:640px){.product-option-card{flex-direction:column;gap:var(--spacing-md)}.product-option-card__radio{align-self:flex-start}.product-option-card__price{align-self:flex-start;margin-top:0}}@media (prefers-reduced-motion:reduce){.product-option-card,.product-option-card__radio,.product-option-card__radio-dot{transition:none}.product-option-card:hover:not(.product-option-card--disabled){transform:none}}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}body{font-family:var(--font-family-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"rlig" 1,"calt" 1,"ss01" 1,"ss02" 1}.font-tabular{font-variant-numeric:tabular-nums}h1{font-family:var(--font-family-display);font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:-.02em}h2{font-family:var(--font-family-display);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:-.02em}h3{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}h4{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}h5{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight)}h6{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight)}p{line-height:var(--line-height-normal);margin-bottom:var(--spacing-md)}code,kbd,pre{font-family:var(--font-family-mono);font-size:.875em}code{padding:.125rem .25rem;border-radius:var(--radius-sm);background:hsl(var(--muted));color:hsl(var(--muted-foreground))}pre{padding:var(--spacing-md);border-radius:var(--radius-md);background:hsl(var(--muted));overflow-x:auto;line-height:1.5}pre code{padding:0;background:none;border-radius:0}@media (max-width:768px){h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}}*{scrollbar-width:thin;scrollbar-color:hsl(var(--muted-foreground)/.3) hsl(var(--muted)/.3)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:hsl(var(--muted)/.3);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb{background:hsl(var(--muted-foreground)/.3);border-radius:var(--radius-sm);border:2px solid hsl(var(--muted)/.3);-webkit-transition:background var(--duration-fast) var(--easing-ease),border-color var(--duration-fast) var(--easing-ease);transition:background var(--duration-fast) var(--easing-ease),border-color var(--duration-fast) var(--easing-ease)}::-webkit-scrollbar-thumb:hover{background:hsl(var(--primary)/.6);border-color:hsl(var(--primary)/.2)}::-webkit-scrollbar-thumb:active{background:hsl(var(--primary)/.8)}::-webkit-scrollbar-corner{background:hsl(var(--muted)/.3)}@media (max-width:768px){::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{border-width:1px}}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.public-layout{min-height:100vh;background-color:hsl(var(--background));color:hsl(var(--foreground));display:flex;flex-direction:column}.public-layout__container{width:100%;max-width:80rem;margin-left:auto;margin-right:auto}.public-shell{min-height:100vh;background-color:hsl(var(--background));color:hsl(var(--foreground));-webkit-tap-highlight-color:transparent}.badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-weight:var(--font-weight-semibold);white-space:nowrap;transition:box-shadow .15s ease-out,transform .15s ease-out}.badge--sm{padding:2px var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.badge--md{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.badge--lg{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.badge--default{background:hsl(var(--muted));color:hsl(var(--muted-foreground));border:var(--border-width-medium) solid hsl(var(--border));box-shadow:2px 2px 0 hsl(var(--foreground)/.08)}.badge--secondary{background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));border:var(--border-width-medium) solid hsl(var(--border));box-shadow:2px 2px 0 hsl(var(--foreground)/.08)}.badge--success{background:hsl(var(--success)/.15);color:hsl(var(--success));border:var(--border-width-medium) solid hsl(var(--success)/.6);box-shadow:2px 2px 0 hsl(var(--success)/.25)}.badge--warning{background:hsl(var(--warning)/.15);color:hsl(var(--warning));border:var(--border-width-medium) solid hsl(var(--warning)/.6);box-shadow:2px 2px 0 hsl(var(--warning)/.25)}.badge--danger,.badge--destructive{background:hsl(var(--destructive)/.15);color:hsl(var(--destructive));border:var(--border-width-medium) solid hsl(var(--destructive)/.6);box-shadow:2px 2px 0 hsl(var(--destructive)/.25)}.badge--info{background:hsl(var(--info)/.15);color:hsl(var(--info));border:var(--border-width-medium) solid hsl(var(--info)/.6);box-shadow:2px 2px 0 hsl(var(--info)/.25)}.badge--outline{background:transparent;color:hsl(var(--foreground));border:var(--border-width-medium) solid hsl(var(--border));box-shadow:2px 2px 0 hsl(var(--foreground)/.08)}@media (max-width:768px){.badge--lg{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}}@media (prefers-reduced-motion:reduce){.badge{transition:none}}[role=button],button{gap:var(--spacing-xs)}[role=button]>svg,button>svg{margin:0}.btn-loading{position:relative;color:transparent!important}.btn-loading:after{content:"";position:absolute;top:50%;left:50%;width:var(--size-xs);height:var(--size-xs);margin:-.5rem 0 0 -.5rem;border-top-color:currentcolor;border:var(--border-width-medium) solid;border-top:var(--border-width-medium) solid transparent;border-radius:50%;animation:spin .8s linear infinite;color:hsl(var(--primary-foreground))}.fab{bottom:var(--spacing-lg);right:var(--spacing-lg);width:3.5rem;height:3.5rem;border-radius:50%;display:flex;box-shadow:var(--shadow-lg);z-index:var(--z-fixed);transition:all var(--duration-normal) var(--easing-ease-out)}.fab:hover{transform:translateY(-.125rem);box-shadow:var(--shadow-xl)}.button--icon{border-radius:.25rem;padding:.5rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.button--icon:hover{background-color:hsl(var(--muted))}.button--icon:focus-visible{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:hsl(var(--ring))}.button--delete-icon{height:var(--size-md)!important;width:var(--size-md)!important;padding:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;color:hsl(var(--muted-foreground));background-color:hsl(var(--muted)/.3);border:var(--border-width-thin) solid hsl(var(--border));transition:color var(--duration-fast) var(--easing-ease-out),background-color var(--duration-fast) var(--easing-ease-out),border-color var(--duration-fast) var(--easing-ease-out)}.button--delete-icon svg{width:1rem!important;height:1rem!important;flex-shrink:0}.button--delete-icon:hover:not(:disabled){color:hsl(var(--destructive));background-color:hsl(var(--destructive)/.1);border-color:hsl(var(--destructive)/.5)}.button--delete-icon:disabled{opacity:.5;cursor:not-allowed}@media (prefers-reduced-motion:reduce){.btn-loading:after{animation:none}.button--delete-icon,.fab{transition:none}.fab:hover{transform:none}}.card-interactive{cursor:pointer;transition:all var(--duration-normal) var(--easing-ease-out)}.card-interactive:hover{transform:translateY(-.125rem);box-shadow:var(--shadow-md),0 0 0 var(--border-width-thin) hsl(var(--primary)/.15)}.card-elevated{box-shadow:var(--shadow-lg);border:none}.card-bordered{border:var(--border-width-medium) solid hsl(var(--border))}.card-gradient-border{position:relative;background:hsl(var(--card));border:none}.card-gradient-border:before{content:"";position:absolute;inset:0;padding:var(--border-width-thin);background:linear-gradient(135deg,hsl(var(--primary)/.5),hsl(var(--primary)/.1),hsl(var(--primary)/.5));border-radius:inherit;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:xor;-webkit-mask-composite:xor}@keyframes card-shimmer{0%{left:-100%}to{left:100%}}@media (prefers-reduced-motion:reduce){.card-interactive,.card-interactive:hover{transform:none;transition:none}}.picker-trigger{width:100%;display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:var(--border-width-medium) solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background));color:hsl(var(--foreground));text-align:left;cursor:pointer;transition:border-color var(--duration-fast);min-height:2.5rem}.picker-trigger:hover{border-color:hsl(var(--border)/.8)}.picker-trigger:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.picker-trigger--placeholder{color:hsl(var(--muted-foreground))}.picker-trigger__icon{width:1rem;height:1rem;color:hsl(var(--muted-foreground));flex-shrink:0}.picker-popover{width:auto;padding:var(--spacing-md);background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:var(--z-popover)}.picker-popover--small{min-width:280px}.picker-popover--large{min-width:320px}@media (max-width:640px){.picker-popover{padding:var(--spacing-sm)}.picker-popover--small{min-width:260px}.picker-popover--large{min-width:280px}}@media (prefers-reduced-motion:reduce){.picker-trigger{transition:none}}.rdp{--rdp-cell-size:2.75rem;--rdp-accent-color:hsl(var(--primary));--rdp-background-color:hsl(var(--background));margin:0;color:hsl(var(--foreground));font-family:var(--font-family-sans)}@media (max-width:640px){.rdp{--rdp-cell-size:2.5rem}.rdp-caption_label{font-size:var(--font-size-base)}.rdp-nav_button{width:2rem;height:2rem}}@media (max-width:480px){.rdp{--rdp-cell-size:2.25rem}.rdp-caption_label{font-size:var(--font-size-sm)}}.datetime-picker-content{display:flex;flex-direction:column;gap:var(--spacing-md)}.datetime-picker-time{border-top:1px solid hsl(var(--border));padding-top:var(--spacing-md)}.datetime-picker-time__label{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:hsl(var(--muted-foreground))}.datetime-picker-time__icon{width:1rem;height:1rem}.datetime-picker-time__selects{display:flex;gap:var(--spacing-sm);align-items:center;width:100%}.datetime-picker-time__select{flex:1;min-width:0}.datetime-picker-time__select:last-child{flex:0 0 4rem;min-width:4rem}.datetime-picker-time__separator{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:hsl(var(--muted-foreground));-webkit-user-select:none;-moz-user-select:none;user-select:none}.datetime-picker-time__select [data-radix-select-trigger]{width:100%;height:2.5rem;display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--foreground));font-size:var(--font-size-sm);cursor:pointer;transition:all var(--duration-fast)}.datetime-picker-time__select [data-radix-select-trigger]:hover{border-color:hsl(var(--border)/.8);background:hsl(var(--muted))}.datetime-picker-time__select [data-radix-select-trigger]:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.datetime-picker-time__select *,.datetime-picker-time__select :after,.datetime-picker-time__select :before{color:hsl(var(--foreground))!important;opacity:1!important;visibility:visible!important}.datetime-picker-time__select button[data-radix-select-trigger]{color:hsl(var(--foreground))!important;font-size:var(--font-size-sm)!important}.datetime-picker-time__select button[data-radix-select-trigger]>span:first-child{color:hsl(var(--foreground))!important;opacity:1!important;visibility:visible!important;display:block!important}.datetime-picker-time__select [data-radix-select-trigger][data-placeholder] [data-radix-select-value],.datetime-picker-time__select [data-radix-select-trigger][data-placeholder] span{color:hsl(var(--muted-foreground))!important;font-weight:var(--font-weight-normal)!important}.datetime-picker-select-content,.datetime-picker-time__select [data-radix-select-content],[data-radix-popper-content-wrapper] .datetime-picker-select-content{z-index:1080!important;background:hsl(var(--background))!important;border:1px solid hsl(var(--border))!important;border-radius:var(--radius)!important;box-shadow:var(--shadow-lg)!important;padding:var(--spacing-xs)!important;max-height:200px!important;overflow-y:auto!important}[data-radix-portal] .datetime-picker-select-content{z-index:1080!important}.datetime-picker-select-content [role=option]{position:relative;padding:var(--spacing-sm) var(--spacing-lg);padding-left:2.5rem;font-size:var(--font-size-sm);color:hsl(var(--foreground));cursor:pointer;border-radius:var(--radius-sm);transition:all var(--duration-fast);display:flex;align-items:center;min-height:2.25rem}.datetime-picker-select-content [role=option]:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.datetime-picker-select-content [role=option][data-state=checked]{background:hsl(var(--primary));color:hsl(var(--primary-foreground));font-weight:var(--font-weight-semibold)}.datetime-picker-select-content [data-radix-select-item-indicator]{display:none}.datetime-picker-select-content [role=option][data-state=checked]:before{content:"✓";position:absolute;left:var(--spacing-sm);top:50%;transform:translateY(-50%);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:hsl(var(--primary-foreground));line-height:1}.datetime-picker-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);border-top:1px solid hsl(var(--border));padding-top:var(--spacing-md)}@media (max-width:640px){.datetime-picker-popover{min-width:280px;padding:var(--spacing-sm)}.datetime-picker-actions{flex-direction:column}}@media (max-width:480px){.datetime-picker-time__selects{flex-direction:column;gap:var(--spacing-sm)}.datetime-picker-time__select,.datetime-picker-time__select:last-child{flex:none;width:100%}.datetime-picker-time__separator{display:none}}@media (prefers-reduced-motion:reduce){.datetime-picker-select-content [role=option],.datetime-picker-time__select [data-radix-select-trigger]{transition:none}}.datetime-range-picker-trigger{min-width:20rem}.datetime-range-picker-popover{min-width:22rem;max-width:24rem}.datetime-range-picker-content{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md)}.datetime-range-picker-times{border-top:var(--border-width-thin) solid hsl(var(--border));padding-top:var(--spacing-sm)}.datetime-range-picker-times__selects{display:flex;flex-direction:row;align-items:center;gap:var(--spacing-sm)}.datetime-range-picker-time-field{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1}.datetime-range-picker-times__separator{display:flex;align-items:center;color:hsl(var(--muted-foreground));font-weight:var(--font-weight-medium)}.datetime-range-picker-time-select{color:hsl(var(--foreground))}.datetime-range-picker-time-select [data-placeholder]{color:hsl(var(--muted-foreground))}.datetime-range-picker-times__errors{display:flex;gap:var(--spacing-md)}.datetime-range-picker-times__errors>*{flex:1}.datetime-range-picker-duration{margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:hsl(var(--muted)/.3);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:hsl(var(--muted-foreground));text-align:left}.datetime-range-picker-duration__label{font-weight:var(--font-weight-medium)}.datetime-range-picker-duration__value{color:hsl(var(--foreground));font-weight:var(--font-weight-semibold)}.datetime-range-picker-actions{display:flex;align-items:center;gap:var(--spacing-sm);border-top:var(--border-width-thin) solid hsl(var(--border));padding-top:var(--spacing-md)}.datetime-range-picker-actions__clear{color:hsl(var(--muted-foreground))}.datetime-range-picker-actions__clear:hover{color:hsl(var(--destructive))}.datetime-range-picker-actions__spacer{flex:1}@media (max-width:640px){.datetime-range-picker-trigger{min-width:100%}.datetime-range-picker-popover{min-width:90vw;max-width:90vw}.datetime-range-picker-times__selects{flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.datetime-range-picker-times__separator{display:none}.datetime-range-picker-times__errors{flex-direction:column;gap:var(--spacing-xs)}.datetime-range-picker-actions{justify-content:space-between}}.drawer-container{background:hsl(var(--background));border-color:hsl(var(--border));color:hsl(var(--foreground));height:100%}.drawer-header{background:hsl(var(--background));border-color:hsl(var(--border));color:hsl(var(--foreground))}.drawer-content{background:hsl(var(--background));color:hsl(var(--foreground))}.drawer-footer{background:hsl(var(--background));border-color:hsl(var(--border));color:hsl(var(--foreground))}.drawer-close-button{color:hsl(var(--muted-foreground));transition:all var(--duration-normal) var(--easing-ease-out)}.drawer-close-button:hover{color:hsl(var(--foreground));background:hsl(var(--muted))}.drawer-close-button:focus{color:hsl(var(--foreground));ring:var(--drawer-focus-ring-width) solid hsl(var(--ring));ring-offset:var(--drawer-focus-ring-width);ring-offset-color:hsl(var(--background))}[data-modal-context=drawer].drawer-container.drawer-left.drawer-sm,[data-modal-context=drawer].drawer-container.drawer-right.drawer-sm{width:var(--drawer-width-sm)!important}[data-modal-context=drawer].drawer-container.drawer-left.drawer-md,[data-modal-context=drawer].drawer-container.drawer-right.drawer-md{width:var(--drawer-width-md)!important}[data-modal-context=drawer].drawer-container.drawer-left.drawer-lg,[data-modal-context=drawer].drawer-container.drawer-right.drawer-lg{width:var(--drawer-width-lg)!important}[data-modal-context=drawer].drawer-container.drawer-left.drawer-xl,[data-modal-context=drawer].drawer-container.drawer-right.drawer-xl{width:var(--drawer-width-xl)!important}[data-modal-context=drawer].drawer-container.drawer-left.drawer-wide,[data-modal-context=drawer].drawer-container.drawer-right.drawer-wide{width:var(--drawer-width-wide)!important}[data-modal-context=drawer].drawer-container.drawer-left.drawer-full,[data-modal-context=drawer].drawer-container.drawer-right.drawer-full{width:var(--drawer-width-full)!important}@media (max-width:640px){:root{--drawer-width-sm:100vw;--drawer-width-md:100vw;--drawer-width-lg:100vw;--drawer-width-xl:100vw;--drawer-width-wide:100vw;--drawer-width-full:95vw}.drawer-bottom,.drawer-top{height:100vh!important;max-height:100vh!important}}@keyframes slide-in-from-right{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slide-out-to-right{0%{transform:translateX(0);opacity:1}to{transform:translateX(100%);opacity:0}}@keyframes slide-in-from-left{0%{transform:translateX(-100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slide-out-to-left{0%{transform:translateX(0);opacity:1}to{transform:translateX(-100%);opacity:0}}@keyframes slide-in-from-top{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slide-out-to-top{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}@keyframes slide-in-from-bottom{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slide-out-to-bottom{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}.drawer-container{transition:all var(--duration-normal) var(--easing-ease-out)}.drawer-backdrop{backdrop-filter:blur(var(--drawer-backdrop-blur));transition:backdrop-filter var(--duration-normal) var(--easing-ease-out)}.modal-blurred-background{filter:blur(var(--border-width-medium)) brightness(.8);transition:filter var(--duration-normal) var(--easing-ease-out);pointer-events:none}@media (prefers-reduced-motion:reduce){.slide-in-from-bottom,.slide-in-from-left,.slide-in-from-right,.slide-in-from-top,.slide-out-to-bottom,.slide-out-to-left,.slide-out-to-right,.slide-out-to-top,[data-state=closed].slide-out-to-bottom,[data-state=closed].slide-out-to-left,[data-state=closed].slide-out-to-right,[data-state=closed].slide-out-to-top,[data-state=open].slide-in-from-bottom,[data-state=open].slide-in-from-left,[data-state=open].slide-in-from-right,[data-state=open].slide-in-from-top{animation:none}.drawer-backdrop,.drawer-close-button,.drawer-container,.modal-blurred-background{transition:none}}.number-input-wrapper{position:relative;display:flex;align-items:stretch;width:100%}.number-input{-moz-appearance:textfield;flex:1;padding-right:3rem}.number-input::-webkit-inner-spin-button,.number-input::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.number-input-controls{position:absolute;right:var(--border-width-medium);top:var(--border-width-medium);bottom:var(--border-width-medium);display:flex;flex-direction:column;width:2.5rem;background:hsl(var(--background));border-left:var(--border-width-medium) solid hsl(var(--border));border-radius:0 calc(var(--radius) - var(--border-width-medium)) calc(var(--radius) - var(--border-width-medium)) 0;overflow:hidden}.number-input-btn{flex:1;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:hsl(var(--muted-foreground));transition:all var(--duration-fast) ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;min-height:1.125rem}.number-input-btn:hover:not(:disabled){background:hsl(var(--muted));color:hsl(var(--foreground))}.number-input-btn:active:not(:disabled){background:hsl(var(--primary)/.1);color:hsl(var(--primary));transform:scale(.95)}.number-input-btn:disabled{opacity:.5;cursor:not-allowed;background:transparent;color:hsl(var(--muted-foreground))}.number-input-btn--increment{border-bottom:var(--border-width-medium) solid hsl(var(--border));border-radius:0 calc(var(--radius) - var(--border-width-medium)) 0 0}.number-input-btn--decrement{border-radius:0 0 calc(var(--radius) - var(--border-width-medium)) 0}.number-input-wrapper:focus-within .number-input-controls{border-left-color:hsl(var(--ring))}.number-input:disabled+.number-input-controls{opacity:.5;pointer-events:none;background:hsl(var(--muted))}.number-input:disabled+.number-input-controls .number-input-btn{color:hsl(var(--muted-foreground))}@media (prefers-reduced-motion:reduce){.number-input-btn{transition:none}.number-input-btn:active:not(:disabled){transform:none}}.nav-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:hsl(var(--muted-foreground));border:var(--border-width-medium) solid transparent;text-decoration:none;white-space:nowrap;cursor:pointer;transition:color var(--duration-fast) var(--easing-ease-out),background-color var(--duration-fast) var(--easing-ease-out),border-color var(--duration-fast) var(--easing-ease-out),box-shadow var(--duration-fast) var(--easing-ease-out)}.nav-item:hover{background:hsl(var(--muted));color:hsl(var(--foreground));border-color:hsl(var(--border))}.nav-item:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.nav-item--active{background:hsl(var(--muted)/.5);color:hsl(var(--foreground));font-weight:var(--font-weight-bold);border-color:hsl(var(--primary));box-shadow:2px 2px 0 hsl(var(--primary)/.35)}.nav-item--active:hover{border-color:hsl(var(--border));box-shadow:3px 3px 0 hsl(var(--primary)/.35)}.nav-item>svg,.nav-item__icon{flex-shrink:0;width:1rem;height:1rem;color:inherit;transition:color var(--duration-fast) var(--easing-ease-out)}.nav-item--active .nav-item__icon,.nav-item--active>svg{color:hsl(var(--primary))}@media (prefers-reduced-motion:reduce){.nav-item,.nav-item>svg,.nav-item__icon{transition:none}}.sidebar{height:100vh;background:hsl(var(--sidebar-bg));border-right:2px solid hsl(var(--border));box-shadow:4px 0 0 hsl(var(--foreground)/.06);transition:width var(--duration-normal) var(--easing-ease-in-out);position:relative;overflow:hidden}.sidebar.collapsed{width:var(--sidebar-width-collapsed)}.sidebar.expanded{width:var(--sidebar-width-expanded)}.sidebar-content{display:flex;flex-direction:column;height:100%;position:relative}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);border-bottom:2px solid hsl(var(--border))}.sidebar-logo{font-family:var(--font-family-display);letter-spacing:-.01em}.sidebar-toggle{width:var(--size-md);height:var(--size-md);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:transparent;border:none;color:hsl(var(--muted-foreground));transition:all var(--duration-normal) var(--easing-ease-out);cursor:pointer;flex-shrink:0}.sidebar-toggle:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.sidebar-nav{flex:1;padding:var(--spacing-md) var(--spacing-xs);overflow-y:auto;overflow-x:hidden}.sidebar-nav-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.sidebar-nav-item{width:100%;height:var(--size-lg);display:flex;align-items:center;padding:0 var(--spacing-md);position:relative;overflow:hidden;gap:var(--spacing-md)}.sidebar-nav-icon{width:var(--size-xs);height:var(--size-xs);flex-shrink:0;transition:transform var(--duration-normal) var(--easing-ease-out)}.sidebar-nav-item:hover .sidebar-nav-icon{transform:scale(1.1)}.sidebar-nav-text{white-space:nowrap;transition:opacity var(--duration-normal) var(--easing-ease-out)}.sidebar.collapsed .sidebar-nav-text{opacity:0;width:0}.sidebar-signout-button.expanded:hover{background:hsl(var(--destructive)/.15)}.sidebar.collapsed .sidebar-signout-button{justify-content:center;padding:0;height:var(--size-md);width:var(--size-md);margin:0 auto;border-radius:var(--radius-md)}.sidebar.collapsed .sidebar-signout{padding:var(--spacing-sm) var(--spacing-md)}.sidebar.collapsed .sidebar-footer{opacity:0;height:0;padding:0;overflow:hidden}.sidebar.collapsed .sidebar-logo-text{opacity:0;width:0}.sidebar.collapsed .sidebar-nav-item{justify-content:center;padding:0;height:var(--size-md);width:var(--size-md);margin:0 auto;border-radius:var(--radius-md)}.sidebar.collapsed .sidebar-nav-item.nav-item--active{background:hsl(var(--primary)/.12);border-color:hsl(var(--primary));box-shadow:2px 2px 0 hsl(var(--primary)/.35)}.sidebar.collapsed .sidebar-toggle{margin:0 auto}.sidebar.mobile{position:fixed;top:0;left:0;z-index:var(--z-modal);transform:translateX(-100%);transition:transform var(--duration-normal) var(--easing-ease-out);width:var(--sidebar-width-mobile);box-shadow:var(--shadow-xl)}.sidebar.mobile.mobile-open{transform:translateX(0)}.sidebar.mobile .sidebar-toggle.mobile-close{background:transparent;color:hsl(var(--muted-foreground));border:var(--border-width-thin) solid hsl(var(--border))}.sidebar.mobile .sidebar-toggle.mobile-close:hover{background:hsl(var(--destructive)/.1);color:hsl(var(--destructive));border-color:hsl(var(--destructive))}.sidebar.mobile .sidebar-nav-item{height:var(--size-xl);padding:0 var(--spacing-lg);font-size:var(--font-size-md)}.sidebar.mobile .sidebar-nav-icon{width:var(--size-sm);height:var(--size-sm)}.sidebar.mobile .sidebar-signout-button{height:var(--size-xl);padding:0 var(--spacing-lg);font-size:var(--font-size-md)}@media (max-width:1024px){.content-container{padding-top:calc(48px + var(--spacing-lg) + var(--spacing-md))}}.sidebar-nav-item:focus-visible{outline:var(--border-width-medium) solid hsl(var(--primary));outline-offset:var(--border-width-medium)}.sidebar-toggle:focus-visible{outline:var(--border-width-medium) solid hsl(var(--primary));outline-offset:var(--border-width-medium)}.sidebar-bottom{border-top:2px solid hsl(var(--border));margin-top:auto}.sidebar-bottom-item .theme-switch{padding:0}.sidebar-bottom-item .theme-switch-container{height:var(--size-lg);padding:0 var(--spacing-md);display:flex;align-items:center;justify-content:space-between;border-radius:var(--radius-md);transition:background-color var(--duration-normal) var(--easing-ease-out)}.sidebar-bottom-item .theme-switch-container:hover{background:hsl(var(--muted))}.sidebar-bottom-item .theme-switch-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:hsl(var(--muted-foreground))}.sidebar.collapsed .sidebar-bottom-item .theme-switch-container{justify-content:center;padding:0;height:var(--size-md);width:2.75rem;margin:0 auto;border-radius:var(--radius-md)}.sidebar.collapsed .sidebar-bottom-item .theme-switch-root{width:var(--size-md);height:1rem}.sidebar.collapsed .sidebar-bottom-item .theme-switch-thumb{width:.75rem;height:.75rem;top:var(--border-width-medium);left:var(--border-width-medium)}.sidebar.collapsed .sidebar-bottom-item .theme-switch-root[data-state=checked] .theme-switch-thumb{transform:translateX(1rem)}.sidebar.collapsed .sidebar-bottom-item .theme-switch-icon{width:.375rem;height:.375rem}.sidebar-nav-item--danger{color:hsl(var(--muted-foreground))}.sidebar-nav-item--danger:hover{background:hsl(var(--destructive)/.1);color:hsl(var(--destructive))}.sidebar-nav-item--danger:focus{background:hsl(var(--destructive)/.1);color:hsl(var(--destructive));outline:var(--border-width-medium) solid hsl(var(--destructive));outline-offset:var(--border-width-medium)}@media (prefers-reduced-motion:reduce){.sidebar,.sidebar *,.sidebar :after,.sidebar :before{transition:none!important;animation:none!important}}.fab{position:fixed;right:1rem;bottom:calc(80px + env(safe-area-inset-bottom, 0px));z-index:40;display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:9999px;border:none;cursor:pointer;background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));box-shadow:0 10px 25px hsla(var(--shadow-color),var(--shadow-alpha-lg)),0 4px 10px hsla(var(--shadow-color),var(--shadow-alpha-md));transition:transform .15s ease-out,box-shadow .2s ease-out}.fab:hover{transform:translateY(-1px)}.fab:active{transform:scale(.95)}@media (prefers-reduced-motion:reduce){.fab{transition:none}.fab:active,.fab:hover{transform:none}}.fab:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:3px}.fab-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px}@media (min-width:1024px){.fab{display:none}}.heading{margin:0;color:inherit}.heading--poster{font-family:var(--font-family-public-display);font-weight:800;letter-spacing:-.03em;line-height:.95;text-wrap:balance}.heading--poster.heading--h1{font-size:4rem}.heading--poster.heading--h2{font-size:3rem}.heading--poster.heading--h3{font-size:2.25rem}.heading--poster.heading--h4{font-size:1.75rem}.heading--poster.heading--h5{font-size:1.375rem}.heading--poster.heading--h6{font-size:1.125rem}@media (max-width:640px){.heading--poster.heading--h1{font-size:2.75rem}.heading--poster.heading--h2{font-size:2.25rem}}.greeting{width:100%;max-width:48rem;margin:0 auto}.greeting__content{padding:1.5rem 2rem;display:flex;flex-direction:column;gap:.5rem}.greeting__title{margin:0;font-size:clamp(1.75rem,1.25rem + 2vw,2.75rem);line-height:1.05;hyphens:manual;overflow-wrap:anywhere}.greeting__subtitle{margin:0;font-size:1rem;opacity:.85}@media (max-width:640px){.greeting__content{padding:1.25rem 1.5rem}}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;align-items:stretch;height:calc(64px + env(safe-area-inset-bottom, 0px));padding-bottom:env(safe-area-inset-bottom,0);background-color:hsl(var(--background));border-top:1px solid hsl(var(--border))}.bottom-nav-item{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:48px;padding:.25rem .5rem;color:hsl(var(--muted-foreground));text-decoration:none;transition:color .15s ease-out}.bottom-nav-item:hover{color:hsl(var(--foreground))}.bottom-nav-item.active{color:hsl(var(--primary));position:relative}.bottom-nav-item.active:before{content:"";position:absolute;top:0;left:25%;right:25%;height:2px;border-radius:0 0 2px 2px;background-color:hsl(var(--primary))}.bottom-nav-item:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:-2px}.bottom-nav-icon{width:22px;height:22px}.bottom-nav-label{font-size:.75rem;line-height:1;font-weight:500}@media (min-width:1024px){.bottom-nav{display:none}}@media (prefers-reduced-motion:reduce){.bottom-nav-item{transition:none}}.breadcrumb{font-size:.875rem;line-height:1.25rem;color:hsl(var(--muted-foreground))}.breadcrumb-list{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;padding:0;list-style:none}.breadcrumb-link{color:hsl(var(--muted-foreground));text-decoration:none;transition:color .15s ease-out}.breadcrumb-link:hover{color:hsl(var(--foreground))}.breadcrumb-link:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px;border-radius:2px}.breadcrumb-current{color:hsl(var(--foreground));font-weight:500}.breadcrumb-separator{color:hsl(var(--muted-foreground));-webkit-user-select:none;-moz-user-select:none;user-select:none}@media (prefers-reduced-motion:reduce){.breadcrumb-link{transition:none}}.command-palette{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh}.command-palette-overlay{position:absolute;inset:0;background-color:rgba(0,0,0,.4);backdrop-filter:blur(4px)}.command-palette-window{position:relative;z-index:1;width:min(640px,calc(100vw - 2rem));background-color:hsl(var(--popover));color:hsl(var(--popover-foreground));border:1px solid hsl(var(--border));border-radius:.75rem;box-shadow:0 24px 60px hsla(var(--shadow-color),var(--shadow-alpha-lg)),0 8px 20px hsla(var(--shadow-color),var(--shadow-alpha-md));overflow:hidden}.command-palette-input{width:100%;padding:1rem 1.25rem;border:none;outline:none;background-color:hsl(var(--input));color:hsl(var(--foreground));font-size:1rem;border-bottom:1px solid hsl(var(--border))}.command-palette-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.command-palette-input::placeholder{color:hsl(var(--muted-foreground))}.command-palette-list{max-height:60vh;overflow-y:auto;padding:.5rem}.command-palette-group [cmdk-group-heading]{padding:.5rem .75rem .25rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.command-palette-item{padding:.5rem .75rem;border-radius:.5rem;cursor:pointer;color:hsl(var(--foreground))}.command-palette-item[data-selected=true]{background-color:hsl(var(--accent)/.75);color:hsl(var(--accent-foreground))}.command-palette-empty{padding:1rem;text-align:center;color:hsl(var(--muted-foreground))}.switch-root{width:2.75rem;height:1.5rem;background:hsl(var(--input));border-radius:.75rem;position:relative;border:none;cursor:pointer;box-shadow:inset 0 var(--border-width-thin) var(--border-width-medium) hsl(var(--foreground)/.08);transition:background-color var(--duration-normal) var(--easing-ease-out);-webkit-tap-highlight-color:rgba(0,0,0,0)}.switch-root:focus-visible{outline:var(--border-width-medium) solid hsl(var(--ring));outline-offset:var(--border-width-medium)}.switch-root:disabled{cursor:not-allowed;opacity:.5}.switch-root[data-state=checked]{background:hsl(var(--primary))}.switch-root[data-state=checked]:disabled{background:hsl(var(--primary)/.5)}.switch-thumb{position:absolute;top:var(--border-width-medium);left:var(--border-width-medium);width:1.25rem;height:1.25rem;background:hsl(var(--background));border-radius:.625rem;transition:transform var(--duration-normal) var(--easing-ease-out);transform:translateX(0);will-change:transform;box-shadow:0 var(--border-width-medium) var(--spacing-xs) hsl(var(--foreground)/.12)}.switch-root[data-state=checked] .switch-thumb{transform:translateX(1.25rem)}.switch-root--sm{width:2.25rem;height:1.25rem}.switch-root--sm .switch-thumb{width:1rem;height:1rem;border-radius:.5rem}.switch-root--sm[data-state=checked] .switch-thumb{transform:translateX(1rem)}.switch-root--lg .switch-thumb{width:1.5rem;height:1.5rem;border-radius:.75rem}.switch-root--lg[data-state=checked] .switch-thumb{transform:translateX(1.5rem)}@media (prefers-reduced-motion:reduce){.switch-root,.switch-thumb{transition:none}}@media (prefers-contrast:high){.switch-root{border:var(--border-width-medium) solid hsl(var(--border))}.switch-root:focus-visible{box-shadow:0 0 0 .1875rem hsl(var(--ring))}}.tooltip-wrapper{position:relative;display:inline-block}.tooltip-wrapper--full-width{display:block;width:100%}.tooltip-wrapper--disabled-child{cursor:not-allowed}.tooltip-wrapper--disabled-child>*{pointer-events:none}.tooltip-content{z-index:var(--z-tooltip,1000);padding:var(--spacing-sm) calc(var(--spacing-md) + .125rem);background-color:hsl(var(--popover));color:hsl(var(--popover-foreground));border:var(--border-width-thin) solid hsl(var(--border));border-radius:var(--radius-md);font-size:var(--font-size-sm);line-height:1.5;box-shadow:var(--shadow-md);white-space:normal;word-wrap:break-word;pointer-events:none}.tooltip-content--cursor{position:fixed;animation:tooltip-fade-in .15s ease-out}@keyframes tooltip-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.tooltip-content{max-width:200px!important;font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm)}}@media (prefers-reduced-motion:reduce){.tooltip-content--cursor{animation:none}}.textarea-field{display:flex;flex-direction:column;gap:var(--spacing-sm);width:100%}.textarea-field__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:hsl(var(--foreground));display:flex;align-items:center;gap:var(--spacing-xs)}.textarea-field__required-indicator{color:hsl(var(--destructive));font-weight:var(--font-weight-semibold)}.textarea-field__wrapper{position:relative;width:100%}.textarea-field__input{width:100%;min-height:100px;padding:var(--spacing-md);padding-bottom:var(--spacing-xl);font-size:var(--font-size-base);font-family:inherit;line-height:1.6;color:hsl(var(--foreground));background:hsl(var(--background));border:var(--border-width-medium) solid hsl(var(--border));border-radius:var(--radius-md);resize:vertical;transition:all var(--duration-fast) var(--easing-ease-out)}.textarea-field__input:hover:not(:disabled){border-color:hsl(var(--ring))}.textarea-field__input:focus{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 .1875rem hsl(var(--ring)/.1)}.textarea-field__input--error{border-color:hsl(var(--destructive))}.textarea-field__input--error:focus{border-color:hsl(var(--destructive));box-shadow:0 0 0 .1875rem hsl(var(--destructive)/.1)}.textarea-field__input--disabled{opacity:.5;cursor:not-allowed;background:hsl(var(--muted)/.3)}.textarea-field__input::-moz-placeholder{color:hsl(var(--muted-foreground))}.textarea-field__input::placeholder{color:hsl(var(--muted-foreground))}.textarea-field__char-count{position:absolute;bottom:var(--spacing-sm);right:var(--spacing-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:hsl(var(--muted-foreground));background:hsl(var(--background));padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color var(--duration-fast) var(--easing-ease-out)}.textarea-field__char-count--warning{color:hsl(var(--warning))}.textarea-field__char-count--error{color:hsl(var(--destructive));font-weight:var(--font-weight-semibold)}.textarea-field__helper{font-size:var(--font-size-xs);color:hsl(var(--muted-foreground));line-height:1.5;margin:0}.textarea-field__helper--error{color:hsl(var(--destructive));font-weight:var(--font-weight-medium)}@media (max-width:640px){.textarea-field__input{font-size:var(--font-size-base);min-height:120px}.textarea-field__char-count{font-size:var(--font-size-xs)}}@media (prefers-reduced-motion:reduce){.textarea-field__char-count,.textarea-field__input{transition:none}}.alert{position:relative;transition:all var(--duration-normal) var(--easing-ease-out)}.alert:focus-within{outline:var(--border-width-medium) solid hsl(var(--ring));outline-offset:var(--border-width-medium)}.alert{animation:alert-fade-in var(--duration-normal) var(--easing-ease-out)}@keyframes alert-fade-in{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}.alert.alert--warning{animation:alert-fade-in var(--duration-normal) var(--easing-ease-out)}@media (prefers-color-scheme:light){.alert.alert--warning{animation:alert-fade-in var(--duration-normal) var(--easing-ease-out),alert-warning-pulse 5s ease-in-out infinite}}@keyframes alert-warning-pulse{0%,to{box-shadow:0 0 0 0 rgba(245,158,11,.15)}50%{box-shadow:0 0 0 var(--border-width-medium) rgba(245,158,11,.05)}}.alert.alert--error{animation:alert-fade-in var(--duration-normal) var(--easing-ease-out)}@media (prefers-color-scheme:light){.alert.alert--error{animation:alert-fade-in var(--duration-normal) var(--easing-ease-out),alert-error-pulse 3s ease-in-out infinite}}@keyframes alert-error-pulse{0%,to{box-shadow:0 0 0 0 rgba(239,68,68,.2)}50%{box-shadow:0 0 0 var(--border-width-medium) rgba(239,68,68,.08)}}@media (max-width:640px){.alert{padding:var(--spacing-md)}.alert .alert__icon{font-size:1rem}}@media (prefers-reduced-motion:reduce){.alert,.alert.alert--error,.alert.alert--warning{animation:none;transition:none}}.skeleton{background:hsl(var(--muted));border-radius:var(--radius-md);overflow:hidden;position:relative}.skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0,hsl(var(--background)/.4) 50%,transparent 100%);animation:skeleton-shimmer 1.6s ease-in-out infinite}@keyframes skeleton-shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.skeleton--circle{border-radius:9999px}.skeleton--text{background:transparent;overflow:visible;display:flex;flex-direction:column;gap:var(--spacing-xs)}.skeleton--text:after{display:none}.skeleton__line{display:block;height:.875rem;background:hsl(var(--muted));border-radius:var(--radius-sm);overflow:hidden;position:relative}.skeleton__line:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0,hsl(var(--background)/.4) 50%,transparent 100%);animation:skeleton-shimmer 1.6s ease-in-out infinite}.skeleton__line[data-last=true]{width:75%}@media (prefers-reduced-motion:reduce){.skeleton:after,.skeleton__line:after{animation:none}}.sticker{position:relative;background-color:hsl(var(--sticker-fill,var(--card)));color:hsl(var(--sticker-fill-fg,var(--card-foreground)));border:2px solid hsl(var(--foreground));border-radius:var(--radius-md);box-shadow:4px 4px 0 hsl(var(--foreground));transform:rotate(-1.5deg);transition:transform .15s cubic-bezier(.16,1,.3,1),box-shadow .15s cubic-bezier(.16,1,.3,1)}.sticker:hover{transform:rotate(-.5deg) translate(-1px,-1px);box-shadow:5px 5px 0 hsl(var(--foreground))}.sticker:active{transform:rotate(0deg) translate(4px,4px);box-shadow:0 0 0 hsl(var(--foreground))}.sticker:has(button:active,[role=switch]:active,a:active,input:active){transform:rotate(-.5deg) translate(-1px,-1px);box-shadow:5px 5px 0 hsl(var(--foreground))}.sticker-grid>.sticker:nth-child(2n){transform:rotate(1.5deg)}.sticker-grid>.sticker:nth-child(2n):hover{transform:rotate(.5deg) translate(-1px,-1px)}@media (prefers-reduced-motion:reduce){.sticker,.sticker:active,.sticker:hover{transform:none;transition:none}}.theme-switch{padding:var(--spacing-sm) var(--spacing-md)}.theme-switch-container{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.theme-switch-label{font-size:var(--font-size-sm);font-weight:500;color:hsl(var(--muted-foreground));-webkit-user-select:none;-moz-user-select:none;user-select:none}.theme-switch-root{width:40px;height:20px;background:hsl(var(--muted));border-radius:10px;position:relative;border:none;cursor:pointer;transition:background-color var(--duration-normal) var(--easing-ease-out);-webkit-tap-highlight-color:rgba(0,0,0,0)}.theme-switch-root.collapsed{margin:0 auto}.theme-switch-root:focus{outline:2px solid hsl(var(--ring));outline-offset:2px}.theme-switch-root[data-state=checked]{background:hsl(var(--primary))}.theme-switch-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;background:hsl(var(--background));border-radius:8px;display:flex;align-items:center;justify-content:center;transition:transform var(--duration-normal) var(--easing-ease-out);box-shadow:0 1px 2px rgba(0,0,0,.1);transform:translateX(0);will-change:transform}.theme-switch-root[data-state=checked] .theme-switch-thumb{transform:translateX(20px)}.theme-switch-icon{width:10px;height:10px;color:hsl(var(--muted-foreground));transition:all var(--duration-fast) var(--easing-ease-out)}.theme-switch-root[data-state=checked] .theme-switch-icon{color:hsl(var(--primary))}@media (max-width:640px){.theme-switch{padding:var(--spacing-xs) var(--spacing-sm)}.theme-switch-root{width:36px;height:18px}.theme-switch-thumb{width:14px;height:14px}.theme-switch-root[data-state=checked] .theme-switch-thumb{transform:translateX(18px)}.theme-switch-icon{width:8px;height:8px}}@media (prefers-reduced-motion:reduce){.theme-switch-icon,.theme-switch-root,.theme-switch-thumb{transition:none}}@media (prefers-contrast:high){.theme-switch-root{border:1px solid}.theme-switch-root:focus{box-shadow:0 0 0 3px hsl(var(--ring))}}.sidebar.collapsed .theme-switch-container{justify-content:center}.sidebar.collapsed .theme-switch-label{display:none}.tabs{display:flex;flex-direction:column;width:100%}.tabs__list{display:flex;border-bottom:var(--border-width-thin) solid hsl(var(--border))}.tabs--vertical .tabs__list{flex-direction:column;border-bottom-width:0;border-right-width:1px}[data-register=public] .tabs--vertical .tabs__list{border-right-width:3px}.tabs--vertical .tabs__list{border-right:var(--border-width-thin) solid hsl(var(--border));min-width:12.5rem}.tabs--full-width .tabs__list{width:100%}.tabs--full-width .tabs__tab{flex:1 1 0%}.tabs__tab{position:relative;display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500;color:hsl(var(--muted-foreground))}.tabs__tab:focus-visible{outline:2px solid transparent;outline-offset:2px}.tabs__tab:disabled{cursor:not-allowed;opacity:.5}.tabs__tab{border:var(--border-width-medium) solid transparent;background:transparent;white-space:nowrap;transition:color .15s ease-out,background-color .15s ease-out,border-color .15s ease-out,box-shadow .15s ease-out}.tabs__tab:hover:not(.tabs__tab--active):not(:disabled){color:hsl(var(--foreground));background:hsl(var(--accent)/.5);border-color:hsl(var(--border))}.tabs__tab--active{color:hsl(var(--foreground));background:hsl(var(--muted)/.5);font-weight:var(--font-weight-bold);border-color:hsl(var(--primary));box-shadow:2px 2px 0 hsl(var(--primary)/.35)}.tabs__tab--active .tabs__tab-icon{color:hsl(var(--primary))}.tabs__tab--disabled{cursor:not-allowed;opacity:.5}.tabs__tab--disabled:hover{color:hsl(var(--muted-foreground));background:transparent}.tabs__tab-icon{height:1rem;width:1rem;flex-shrink:0;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}.tabs__tab:hover .tabs__tab-icon{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.tabs__tab-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabs__content{margin-top:1.5rem;flex:1 1 0%}.tabs__content:focus-visible{outline:2px solid transparent;outline-offset:2px}.tabs--vertical .tabs__content{margin-top:0;margin-left:1.5rem}.tabs--sm .tabs__tab{padding:.375rem .75rem;font-size:.75rem;line-height:1rem}.tabs--sm .tabs__tab-icon{height:.75rem;width:.75rem}.tabs--sm .tabs__content{margin-top:1rem}.tabs--vertical.tabs--sm .tabs__content{margin-top:0;margin-left:1rem}.tabs--lg .tabs__tab{padding:.75rem 1.5rem;font-size:1rem;line-height:1.5rem}.tabs--lg .tabs__tab-icon{height:1.25rem;width:1.25rem}.tabs--lg .tabs__content{margin-top:2rem}.tabs--vertical.tabs--lg .tabs__content{margin-top:0;margin-left:2rem}.tabs--pills .tabs__list{gap:.25rem;border-bottom-width:0;background-color:hsl(var(--muted)/.3);padding:.25rem;border-radius:var(--radius-lg)}.tabs--pills .tabs__tab{border-radius:calc(var(--radius) - 2px);border-bottom-width:0}.tabs--pills .tabs__tab--active{background:hsl(var(--background));color:hsl(var(--foreground));border-color:transparent;box-shadow:var(--shadow-sm)}.tabs--pills .tabs__tab:hover:not(.tabs__tab--active):not(:disabled){border-color:transparent}.tabs--underline .tabs__list{border-bottom-width:0}.tabs--underline .tabs__tab{position:relative;border-bottom-width:0}.tabs--underline .tabs__tab:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:var(--border-width-medium);background:hsl(var(--primary));transition:all var(--duration-normal) var(--easing-ease-out);transform:translateX(-50%)}.tabs--underline .tabs__tab--active:after{width:100%}.tabs--underline .tabs__tab--active{border-color:transparent;box-shadow:none}.tabs--underline .tabs__tab:hover:not(.tabs__tab--active):not(:disabled){border-color:transparent}@media (max-width:768px){.tabs--vertical{flex-direction:column}.tabs--vertical .tabs__list{flex-direction:row;border-right-width:0;border-bottom-width:1px}[data-register=public] .tabs--vertical .tabs__list{border-bottom-width:3px}.tabs--vertical .tabs__list{border-bottom:var(--border-width-thin) solid hsl(var(--border));min-width:auto}.tabs--vertical .tabs__content{margin-top:1rem;margin-left:0}.tabs__tab{padding:.5rem .75rem;font-size:.75rem;line-height:1rem}.tabs__tab-label{display:none}.tabs--lg .tabs__tab-label,.tabs--md .tabs__tab-label,.tabs--sm .tabs__tab-label{display:block}}@media (prefers-reduced-motion:reduce){.tabs__tab,.tabs__tab-icon,.tabs__tab:after{transition:none!important}}@media (prefers-contrast:high){.tabs__list{border-bottom-width:var(--border-width-medium)}.tabs--vertical .tabs__list{border-right-width:var(--border-width-medium)}.tabs__tab--active{border-width:var(--border-width-thick)}.tabs--underline .tabs__tab:after{height:var(--border-width-thick)}}.tabs__tab:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:hsl(var(--ring));--tw-ring-offset-width:2px;--tw-ring-offset-color:hsl(var(--background));border-radius:var(--radius-sm)}.tabs--pills .tabs__tab:focus-visible{--tw-ring-offset-color:hsl(var(--muted))}.accordion-content{border-top-width:1px;border-color:hsl(var(--border));padding:.75rem 1rem 1rem}[data-register=public] .accordion-content{border-top-width:3px}[data-sonner-toaster]{--normal-bg:hsl(var(--background));--normal-border:hsl(var(--border));--normal-text:hsl(var(--foreground));--success-bg:hsl(var(--background));--success-border:hsl(var(--success)/0.4);--success-text:hsl(var(--success));--error-bg:hsl(var(--background));--error-border:hsl(var(--destructive)/0.4);--error-text:hsl(var(--destructive));--warning-bg:hsl(var(--background));--warning-border:hsl(var(--warning)/0.4);--warning-text:hsl(var(--warning));--info-bg:hsl(var(--background));--info-border:hsl(var(--info)/0.4);--info-text:hsl(var(--info));font-family:var(--font-family-sans)}[data-sonner-toast]{border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.vaul-drawer-overlay{position:fixed;inset:0;background:hsl(var(--background)/.8);backdrop-filter:blur(4px);z-index:var(--z-modal)}.vaul-drawer-content{position:fixed;background:hsl(var(--background));border:var(--border-width-thin) solid hsl(var(--border));box-shadow:var(--shadow-xl);z-index:calc(var(--z-modal) + 1);display:flex;flex-direction:column;outline:none}.vaul-drawer-handle{width:3rem;height:.25rem;background:hsl(var(--muted-foreground)/.4);border-radius:9999px;margin:var(--spacing-sm) auto;flex-shrink:0}.vaul-drawer-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:var(--border-width-thin) solid hsl(var(--border))}.vaul-drawer-title{font-family:var(--font-family-display);font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);margin:0;color:hsl(var(--foreground))}.vaul-drawer-description{font-size:var(--font-size-sm);color:hsl(var(--muted-foreground));margin:var(--spacing-xs) 0 0}.vaul-drawer-body{flex:1;overflow-y:auto;padding:var(--spacing-lg)}.vaul-drawer-footer{padding:var(--spacing-md) var(--spacing-lg);border-top:var(--border-width-thin) solid hsl(var(--border));display:flex;gap:var(--spacing-sm);justify-content:flex-end;flex-shrink:0}@media (prefers-reduced-motion:reduce){.vaul-drawer-content{transition:none!important}}.loading-spinner{width:20px;height:20px;border-top:2px solid hsl(var(--muted)/.3);border:2px solid hsl(var(--muted)/.3);border-top-color:hsl(var(--primary));border-radius:50%;animation:spin 1s linear infinite;filter:drop-shadow(0 1px 2px hsl(var(--shadow-color)/.3))}.loading-spinner.sm{width:16px;height:16px;border-width:1.5px}.loading-spinner.lg{width:32px;height:32px;border-width:3px}.loading-spinner.xl{width:48px;height:48px;border-width:4px}.loading-dots .dot{width:6px;height:6px;background-color:hsl(var(--primary));border-radius:50%;animation:loading-dots 1.4s ease-in-out infinite}.loading-dots .dot:first-child{animation-delay:-.32s}.loading-dots .dot:nth-child(2){animation-delay:-.16s}@keyframes loading-dots{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.skeleton.text{height:1rem;width:100%}.skeleton.\!text{height:1rem!important;width:100%!important}.skeleton.text.sm{height:.75rem}.skeleton.\!text.sm{height:.75rem!important}.skeleton.text.lg{height:1.25rem}.skeleton.\!text.lg{height:1.25rem!important}.skeleton.avatar{width:40px;height:40px;border-radius:50%}.skeleton.button{height:40px;width:100px;border-radius:var(--radius)}.skeleton.card{height:200px;width:100%;border-radius:var(--radius-lg)}@keyframes shimmer-studio{0%{background-position:200% 200%}50%{background-position:0 0}to{background-position:200% 200%}}.progress-bar .fill{height:100%;background-color:hsl(var(--primary));border-radius:4px;transition:width var(--duration-normal) var(--easing-ease-out)}.progress-bar.indeterminate .fill{width:30%;animation:progress-indeterminate 2s infinite}@keyframes progress-indeterminate{0%{transform:translateX(-100%)}to{transform:translateX(400%)}}.loading-overlay{position:absolute;inset:0;background-color:hsl(var(--background)/.8);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.loading-inline{display:inline-flex;align-items:center;gap:.5rem;color:hsl(var(--muted-foreground));font-size:var(--font-size-sm)}.fullscreen-loader{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1100;pointer-events:auto;touch-action:none;overflow:hidden;animation:fullscreen-loader-enter var(--duration-normal) var(--easing-ease-out)}.fullscreen-loader__content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-xl);background:hsl(var(--card)/.8);border:1px solid hsl(var(--border)/.3);border-radius:var(--radius-xl);backdrop-filter:blur(12px);box-shadow:0 8px 32px hsl(var(--shadow-color)/var(--shadow-alpha-lg)),0 2px 8px hsl(var(--shadow-color)/var(--shadow-alpha-sm)),inset 0 1px 0 hsl(var(--foreground)/.1);animation:fullscreen-loader-content-enter var(--duration-normal) var(--easing-ease-out) var(--duration-fast)}.fullscreen-loader__spinner{opacity:1;filter:drop-shadow(0 2px 4px hsl(var(--shadow-color)/.3))}.fullscreen-loader__text{color:hsl(var(--foreground));font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);text-align:center;margin:0;text-shadow:0 1px 2px hsl(var(--shadow-color)/.5);animation:fullscreen-loader-text-enter var(--duration-normal) var(--easing-ease-out) calc(var(--duration-fast)*2)}.fullscreen-loader--dark .fullscreen-loader__content{background:hsla(0,0%,6%,.9);border:1px solid hsla(0,0%,100%,.1)}.fullscreen-loader--dark .fullscreen-loader__text{color:hsla(0,0%,100%,.95);text-shadow:0 1px 2px rgba(0,0,0,.8)}@keyframes fullscreen-loader-enter{0%{opacity:0;backdrop-filter:blur(0)}to{opacity:1;backdrop-filter:blur(8px)}}@keyframes fullscreen-loader-content-enter{0%{opacity:0;transform:scale(.9) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes fullscreen-loader-text-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.fullscreen-loader__content{padding:var(--spacing-lg);gap:var(--spacing-md)}.fullscreen-loader__text{font-size:var(--font-size-base)}}@media (prefers-reduced-motion:reduce){.fullscreen-loader,.fullscreen-loader__content,.fullscreen-loader__text,.loading-dots .dot,.loading-spinner,.progress-bar.indeterminate .fill,.pulse-loading,.shimmer-studio-item{animation:none}.progress-bar .fill{transition:none}}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;position:relative}.status-dot.success{background-color:hsl(var(--success));box-shadow:0 0 6px hsl(var(--success)/.6)}.status-dot.success:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border-radius:50%;background:hsl(var(--success)/.2);animation:pulse-success 2s infinite}.status-dot.error{background-color:hsl(var(--destructive));box-shadow:0 0 6px hsl(var(--destructive)/.6)}.status-dot.\!error{background-color:hsl(var(--destructive))!important;box-shadow:0 0 6px hsl(var(--destructive)/.6)!important}.status-dot.warning{background-color:hsl(var(--warning));box-shadow:0 0 6px hsl(var(--warning)/.6)}.status-dot.info{background-color:hsl(var(--info));box-shadow:0 0 6px hsl(var(--info)/.6)}.status-dot.neutral{background-color:hsl(var(--muted-foreground));box-shadow:0 0 6px hsl(var(--muted-foreground)/.3)}.status-badge.success{background-color:hsl(var(--success)/.1);color:hsl(var(--success));border:1px solid hsl(var(--success)/.2)}.status-badge.\!error{background-color:hsl(var(--destructive)/.1)!important;color:hsl(var(--destructive))!important;border:1px solid hsl(var(--destructive)/.2)!important}.status-badge.error{background-color:hsl(var(--destructive)/.1);color:hsl(var(--destructive));border:1px solid hsl(var(--destructive)/.2)}.status-badge.warning{background-color:hsl(var(--warning)/.1);color:hsl(var(--warning));border:1px solid hsl(var(--warning)/.2)}.status-badge.info{background-color:hsl(var(--info)/.1);color:hsl(var(--info));border:1px solid hsl(var(--info)/.2)}.connection-status.offline{color:hsl(var(--destructive))}.health-status{display:flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:50%;position:relative;transition:all var(--duration-normal) var(--easing-ease-out)}.health-status.success{background-color:hsl(var(--success)/.2);color:hsl(var(--success))}.health-status.error{background-color:hsl(var(--destructive)/.2);color:hsl(var(--destructive))}.health-status.\!error{background-color:hsl(var(--destructive)/.2)!important;color:hsl(var(--destructive))!important}.health-status.loading{background-color:hsl(var(--primary)/.2);color:hsl(var(--primary))}.health-status:after{content:"";position:absolute;top:-4px;right:-4px;width:12px;height:12px;border-radius:50%;border:2px solid hsl(var(--background))}.health-status.success:after{background-color:hsl(var(--success))}.health-status.error:after{background-color:hsl(var(--destructive))}.health-status.\!error:after{background-color:hsl(var(--destructive))!important}.health-status.loading:after{background-color:hsl(var(--warning));animation:pulse 1s infinite}@media (prefers-reduced-motion:reduce){.health-status.loading:after,.status-dot.success:before{animation:none}.health-status{transition:none}}.settings-card{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border-radius:var(--radius);border-width:2px;border-color:hsl(var(--border));background-color:hsl(var(--card));padding:1rem}[data-register=public] .settings-card{border-width:3px}.settings-card{box-shadow:3px 3px 0 hsl(var(--foreground)/.08)}.settings-card__body{display:flex;min-width:0;flex-direction:column;gap:.25rem}.settings-card__header{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.settings-card__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;line-height:1.25rem;font-weight:500;color:hsl(var(--card-foreground))}.settings-card__actions{display:flex;flex-shrink:0;align-items:center;gap:.25rem}.settings-card__actions--wide{display:flex;flex-shrink:0;align-items:center;gap:.5rem}.quick-link-card-wrapper{display:block;width:100%;text-decoration:none}.quick-link-card-wrapper:focus{outline:2px solid transparent;outline-offset:2px}.quick-link-card-wrapper:focus-visible .quick-link-card{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:hsl(var(--ring));--tw-ring-offset-width:2px}.quick-link-card{cursor:pointer}.quick-link-card:hover{border-color:hsl(var(--primary)/.2)}.quick-link-card__content{display:flex;align-items:flex-start;gap:.75rem;padding:1rem!important}.quick-link-card__icon-wrapper{flex-shrink:0;margin-top:2px}.quick-link-card__icon{display:flex;height:2rem;width:2rem;align-items:center;justify-content:center;border-radius:calc(var(--radius) - 2px);background-color:hsl(var(--primary)/.1);color:hsl(var(--primary));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.quick-link-card:hover .quick-link-card__icon{background-color:hsl(var(--primary)/.15)}.quick-link-card__text{min-width:0;flex:1 1 0%}.quick-link-card__title{font-size:1rem;line-height:1.5rem;font-weight:500;line-height:1.25;letter-spacing:-.025em;color:hsl(var(--foreground));margin:0 0 4px}.quick-link-card__description{font-size:.875rem;line-height:1.25rem;line-height:1.625;color:hsl(var(--muted-foreground));margin:0}.quick-link-card__arrow{flex-shrink:0;opacity:.6;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;margin-top:2px}.quick-link-card__arrow-icon{height:1rem;width:1rem;color:hsl(var(--muted-foreground))}.quick-link-card:hover .quick-link-card__arrow{--tw-translate-x:0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));opacity:1}.quick-link-card:hover .quick-link-card__arrow-icon{color:hsl(var(--foreground))}@media (max-width:640px){.quick-link-card__content{padding:.75rem!important;gap:.625rem}.quick-link-card__icon{height:1.75rem;width:1.75rem}.quick-link-card__title{font-size:.875rem;line-height:1.25rem}.quick-link-card__description{font-size:.75rem;line-height:1rem}.quick-link-card__arrow-icon{height:.875rem;width:.875rem}.quick-link-card__arrow,.quick-link-card__icon-wrapper{margin-top:1px}}@media (prefers-reduced-motion:reduce){.quick-link-card,.quick-link-card__arrow,.quick-link-card__icon{transition:none}.quick-link-card:hover .quick-link-card__arrow{transform:none}}@media (prefers-contrast:high){.quick-link-card{border-width:2px}[data-register=public] .quick-link-card{border-width:3px}.quick-link-card:hover{border-color:hsl(var(--primary))}.quick-link-card__icon{border-width:1px;border-color:hsl(var(--primary)/.2)}[data-register=public] .quick-link-card__icon{border-width:3px}}.registration-page{min-height:100vh;background-color:hsl(var(--background));padding-top:2rem;padding-bottom:2rem}.setup-step .registration-page__content>*+*{margin-top:1rem}.registration-page__content>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.setup-step .registration-page__section>*+*{margin-top:1rem}.registration-page__section>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.registration-page__section--packages{margin-top:calc(var(--spacing-2xl)*2)}.registration-page__section-title{font-size:1.125rem;line-height:1.75rem;font-weight:600;line-height:1.25;letter-spacing:-.025em;color:hsl(var(--foreground));margin-bottom:var(--spacing-md)}.registration-page__event-header-area{display:flex;flex-direction:column;gap:var(--spacing-md)}.registration-page__studio-label{font-size:.875rem;line-height:1.25rem;font-weight:500;color:hsl(var(--foreground));margin:0;letter-spacing:.01em}.registration-page__event-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:hsl(var(--foreground));margin:0}.registration-page__event-meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-sm)}.registration-page__instructor-chip{display:flex;align-items:center;gap:6px}.registration-page__instructor-avatar-sm{width:28px;height:28px;border-radius:50%;background:hsl(var(--muted));border:1px solid hsl(var(--border));display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:var(--font-weight-semibold);color:hsl(var(--foreground));flex-shrink:0;text-transform:uppercase;letter-spacing:.03em}.registration-page__instructor-name-sm{font-size:.875rem;line-height:1.25rem;font-weight:500;color:hsl(var(--foreground))}.registration-page__description-section{display:flex;flex-direction:column;gap:var(--spacing-xs)}.registration-page__description-label{font-size:.875rem;line-height:1.25rem;font-weight:600;color:hsl(var(--foreground));margin:0}.registration-page__description--flush{margin-bottom:0}.registration-page__content{padding-bottom:80px}.registration-page__sticky-bar{position:fixed;bottom:0;left:0;right:0;z-index:40;background:hsl(var(--card));border-top:1px solid hsl(var(--border));padding:var(--spacing-sm) var(--spacing-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.registration-page__sticky-bar-info{display:flex;flex-direction:column;gap:2px;min-width:0}.registration-page__sticky-bar-name{font-size:.875rem;line-height:1.25rem;font-weight:500;color:hsl(var(--foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.registration-page__sticky-bar-price{font-size:1.125rem;line-height:1.75rem;font-weight:700;color:hsl(var(--foreground))}.registration-page__sticky-bar-hint{font-size:.875rem;line-height:1.25rem;color:hsl(var(--muted-foreground))}.registration-page__sticky-enroll-btn{flex-shrink:0}.enrollment-form-modal__backdrop{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.5);display:flex;align-items:flex-end;justify-content:center;padding:0}@media (min-width:640px){.enrollment-form-modal__backdrop{align-items:center;padding:var(--spacing-xl)}}.enrollment-form-modal__panel{position:relative;background:hsl(var(--card));border:2px solid hsl(var(--foreground));border-bottom:none;border-radius:var(--radius-md) var(--radius-md) 0 0;padding:var(--spacing-2xl) var(--spacing-xl) var(--spacing-xl);width:100%;max-width:520px;max-height:90vh;overflow-y:auto}@media (min-width:640px){.enrollment-form-modal__panel{border-bottom:2px solid hsl(var(--foreground));border-radius:var(--radius-md);box-shadow:var(--shadow-xl)}}.enrollment-form-modal__close{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);width:36px;height:36px;border:2px solid hsl(var(--foreground));border-radius:var(--radius-sm);background:hsl(var(--card));cursor:pointer;font-size:var(--font-size-sm);display:flex;align-items:center;justify-content:center;z-index:2}.enrollment-form-modal__close:hover{background:hsl(var(--foreground));color:hsl(var(--card))}.enrollment-form-modal__summary{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid hsl(var(--border))}.enrollment-form-modal__summary-title{font-size:1rem;line-height:1.5rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 4px}.enrollment-form-modal__summary-package{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.enrollment-form-modal__summary-package-name{font-size:.875rem;line-height:1.25rem;color:hsl(var(--muted-foreground))}.enrollment-form-modal__summary-price{font-size:1.125rem;line-height:1.75rem;font-weight:700;color:hsl(var(--foreground))}.registration-page__info-block{padding-top:var(--spacing-xs,4px)}.registration-page__info-row{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:9px 0}.registration-page__info-row:last-child{border-bottom:none}.registration-page__info-row-icon{flex-shrink:0;width:18px;height:18px;color:hsl(var(--muted-foreground));margin-top:1px}.registration-page__info-row-icon svg{width:100%;height:100%}.registration-page__info-row-content{font-size:.875rem;line-height:1.25rem;color:hsl(var(--foreground));line-height:var(--line-height-normal);display:flex;flex-direction:column;gap:2px}.registration-page__info-row-location-name{font-weight:var(--font-weight-normal)}.registration-page__info-row-location-link{color:inherit;text-decoration:none;display:contents}.registration-page__info-row-location-link .registration-page__info-row-location-name{text-decoration:underline;text-underline-offset:2px;text-decoration-color:hsl(var(--foreground)/.4)}.registration-page__info-row-location-link:hover .registration-page__info-row-location-name{text-decoration-color:hsl(var(--foreground))}.registration-page__info-row-location-address{font-size:.75rem;line-height:1rem;color:hsl(var(--muted-foreground))}.registration-page__info-row-note{font-size:.75rem;line-height:1rem;color:hsl(var(--muted-foreground))}.registration-page__description{line-height:1.625;color:hsl(var(--muted-foreground));margin-bottom:var(--spacing-lg)}.registration-page__schedules>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.setup-step .registration-page__schedule-group>*+*{margin-top:.75rem}.registration-page__schedule-group>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.registration-page__schedule-group-title{font-size:.875rem;line-height:1.25rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;color:hsl(var(--muted-foreground));margin-bottom:var(--spacing-sm)}.registration-page__schedule-list>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.registration-page__schedule-item{display:flex;flex-direction:column;gap:.5rem}@media (min-width:640px){.registration-page__schedule-item{flex-direction:row;align-items:center}}.registration-page__schedule-item{padding:var(--spacing-md);border-radius:var(--radius-md);border:1px solid hsl(var(--border))}.registration-page__schedule-item--recurring{background:hsl(var(--muted)/.2)}.registration-page__schedule-item--onetime{background:hsl(var(--muted)/.2)}.registration-page__schedule-day{font-size:.875rem;line-height:1.25rem;font-weight:500;color:hsl(var(--foreground));flex:1}.registration-page__schedule-time{font-size:.875rem;line-height:1.25rem;color:hsl(var(--muted-foreground));min-width:-moz-fit-content;min-width:fit-content}.registration-page__schedule-date{font-size:.875rem;line-height:1.25rem;font-weight:500;color:hsl(var(--foreground));flex:1}.registration-page__auth-banner{display:flex;align-items:center;gap:1rem;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);border:1px solid;margin-bottom:var(--spacing-lg)}.registration-page__auth-banner--authenticated{background:hsl(var(--primary)/.1);border-color:hsl(var(--primary)/.3)}.registration-page__auth-banner--info{background:hsl(var(--muted)/.3);border-color:hsl(var(--border))}.registration-page__auth-banner-content{display:flex;flex:1 1 0%;align-items:center;gap:.75rem}.registration-page__auth-banner-icon{flex-shrink:0;color:hsl(var(--primary))}.registration-page__auth-banner--info .registration-page__auth-banner-icon{color:hsl(var(--muted-foreground))}.registration-page__auth-banner-text{font-size:.875rem;line-height:1.25rem;color:hsl(var(--foreground))}.registration-page__auth-banner-text strong{font-weight:600;color:hsl(var(--primary))}.registration-page__auth-banner-button{flex-shrink:0;font-size:.875rem;line-height:1.25rem;font-weight:500;padding:var(--spacing-sm) var(--spacing-xl);color:hsl(var(--primary));background:transparent;border:1px solid hsl(var(--primary));border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) ease;white-space:nowrap;min-width:100px}.registration-page__auth-banner-button:hover{background:hsl(var(--primary)/.1)}.registration-page__auth-banner-button:active{transform:scale(.98)}.registration-page__enrollment-form{background-color:hsl(var(--card));padding:var(--spacing-lg);border-radius:var(--radius-lg);border:1px solid hsl(var(--border));margin-bottom:var(--spacing-lg)}.registration-page__section-description{font-size:.875rem;line-height:1.25rem;line-height:1.5;color:hsl(var(--muted-foreground));margin-top:calc(var(--spacing-xs)*-1);margin-bottom:var(--spacing-lg)}.registration-page__product-options{display:grid;grid-template-columns:1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}@media (min-width:768px){.registration-page__product-options{grid-template-columns:repeat(2,1fr)}}.registration-page__notes{display:flex;gap:1rem;padding:var(--spacing-lg);margin-bottom:var(--spacing-xl);background:hsl(var(--primary)/.1);border:2px solid hsl(var(--primary)/.3);border-radius:var(--radius-lg);position:relative}.registration-page__notes-icon{flex-shrink:0;display:flex;align-items:flex-start;justify-content:center;width:48px;height:48px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-radius:var(--radius-full);padding:var(--spacing-2)}.registration-page__notes-icon svg{width:100%;height:100%}.registration-page__notes-content{flex:1 1 0%;padding-top:6px}.registration-page__notes-text{font-size:1rem;line-height:1.5rem;line-height:1.625;color:hsl(var(--foreground));margin:0;white-space:pre-wrap}.registration-page__form-field>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.registration-page__form-field{margin-bottom:var(--spacing-lg)}.registration-page__form-label{font-size:.875rem;line-height:1.25rem;font-weight:500;color:hsl(var(--foreground));display:flex;align-items:center}.registration-page__form-label-optional{font-weight:400;color:hsl(var(--muted-foreground));margin-left:2px}.registration-page__form-label-required{font-weight:500;color:hsl(var(--destructive));margin-left:2px}.registration-page__form-lock-icon{display:inline-block;width:14px;height:14px;color:hsl(var(--muted-foreground));margin-left:4px}.registration-page__form-helper{font-size:.75rem;line-height:1rem;font-style:italic;color:hsl(var(--muted-foreground));margin-top:var(--spacing-1);margin-bottom:0}.registration-page__form-input{width:100%;padding:var(--spacing-md);font-size:var(--font-size-base);color:hsl(var(--foreground));background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius-md);transition:all var(--duration-fast) ease}.registration-page__form-input:hover:not(:disabled){border-color:hsl(var(--primary))}.registration-page__form-input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary)/.1)}.registration-page__form-input:disabled{opacity:.5;cursor:not-allowed}.registration-page__form-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.registration-page__form-input::placeholder{color:hsl(var(--muted-foreground))}.registration-page__waiver-consent{background-color:hsl(var(--card));padding:var(--spacing-lg);border-radius:var(--radius-lg);border:1px solid hsl(var(--border))}.registration-page__waiver-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer}.registration-page__waiver-checkbox{flex-shrink:0;width:20px;height:20px;margin-top:2px;cursor:pointer;accent-color:hsl(var(--primary))}.registration-page__waiver-checkbox:disabled{opacity:.5;cursor:not-allowed}.registration-page__waiver-text{font-size:.875rem;line-height:1.25rem;line-height:1.625;color:hsl(var(--foreground));flex:1}.registration-page__waiver-link{font-weight:500;text-decoration-line:underline;color:hsl(var(--primary));text-decoration-color:hsl(var(--primary)/.5);transition:all var(--duration-fast) ease}.registration-page__waiver-link:hover{text-decoration-color:hsl(var(--primary));color:hsl(var(--primary))}.registration-page__waiver-link:focus{outline:2px solid hsl(var(--primary));outline-offset:2px;border-radius:2px}.registration-page__actions{display:flex;align-items:center;justify-content:flex-end;gap:1rem;margin-top:var(--spacing-xl)}.registration-page__enroll-button{min-width:200px}.registration-page__step>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.registration-page__step{animation:fadeInSlide .3s ease-in-out}.registration-page__nav-button{min-width:120px}.registration-page__summary{background-color:hsl(var(--card));padding:var(--spacing-lg);border-radius:var(--radius-lg);border:1px solid hsl(var(--border))}.registration-page__summary-item{display:grid;grid-template-columns:120px 1fr;gap:1rem}.registration-page__summary-label{font-size:.875rem;line-height:1.25rem;font-weight:500;color:hsl(var(--muted-foreground))}.registration-page__summary-value{display:flex;align-items:center;gap:.5rem;font-size:.875rem;line-height:1.25rem;color:hsl(var(--foreground))}.registration-page__success-header{text-align:center;margin-bottom:var(--spacing-md)}.registration-page__success-icon{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,hsl(var(--primary)) 0,hsl(var(--primary)/.7) 100%);color:#fff;margin:0 auto var(--spacing-lg);animation:successPulse 1s ease-in-out}.registration-page__success-icon svg{width:48px;height:48px}.registration-page__success-title{font-size:1.875rem;line-height:2.25rem;font-weight:700;color:hsl(var(--foreground));margin-bottom:var(--spacing-md);animation:fadeInUp .6s ease-out}.registration-page__success-description{font-size:1.125rem;line-height:1.75rem;color:hsl(var(--muted-foreground));animation:fadeInUp .6s ease-out .1s backwards}@media (max-width:768px){.registration-page{padding-top:1rem;padding-bottom:1rem}.registration-page__auth-banner{flex-direction:column;align-items:flex-start;gap:.75rem;padding:var(--spacing-md)}.registration-page__auth-banner-button{width:100%;text-align:center}.registration-page__schedule-item{padding:var(--spacing-sm)}.registration-page__description,.registration-page__enrollment-form,.registration-page__enrollment-placeholder,.registration-page__location{padding:var(--spacing-md)}.registration-page__instructors{grid-template-columns:1fr;gap:var(--spacing-md)}.registration-page__instructor-card{padding:var(--spacing-md)}.registration-page__instructor-avatar{width:48px;height:48px;font-size:var(--font-size-base)}.registration-page__notes{flex-direction:column;gap:.75rem;padding:var(--spacing-md)}.registration-page__notes-icon{width:40px;height:40px}.registration-page__notes-text{font-size:.875rem;line-height:1.25rem}.registration-page__enroll-button{min-width:100%}.registration-page__actions{flex-direction:column;align-items:stretch}}@keyframes fadeInSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes successPulse{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.registration-page *{transition:none!important;animation:none!important}}@media (prefers-contrast:high){.registration-page__description,.registration-page__enrollment-placeholder,.registration-page__instructor-card,.registration-page__schedule-item{border-width:2px;border-color:hsl(var(--border))}}[data-register=public]{.registration-page__studio-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:hsl(var(--foreground));letter-spacing:.02em}.registration-page__event-title{font-family:var(--font-family-display);font-size:var(--font-size-4xl);line-height:1}.registration-page__instructor-avatar-sm{border:2px solid hsl(var(--foreground));background:hsl(var(--primary));color:hsl(var(--foreground))}.registration-page__description-label{font-family:var(--font-family-display);font-size:var(--font-size-base);font-weight:var(--font-weight-bold)}.registration-page__sticky-bar{border-top:2px solid hsl(var(--foreground));background:hsl(var(--card))}.registration-page__sticky-bar-price{color:hsl(var(--foreground));font-family:var(--font-family-display)}.registration-page__section-title{font-family:var(--font-family-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:.01em}.registration-page__info-block{border:none;box-shadow:none;border-radius:0}.registration-page__enrollment-form{border:2px solid hsl(var(--border));box-shadow:var(--shadow-md);border-radius:var(--radius-md)}.registration-page__summary{border:2px solid hsl(var(--border));box-shadow:var(--shadow-sm);border-radius:var(--radius-md)}.registration-page__waiver-consent{border:2px solid hsl(var(--border));box-shadow:var(--shadow-sm);border-radius:var(--radius-md)}.registration-page__schedule-item{border:2px solid hsl(var(--border))}.registration-page__instructor-card{border:2px solid hsl(var(--border))}.registration-page__notes{border:2px solid hsl(var(--border));background:hsl(var(--primary)/.12);box-shadow:var(--shadow-sm)}.registration-page__notes-icon{background:hsl(var(--foreground));color:hsl(var(--background));border-radius:var(--radius-sm)}.registration-page__form-input{border:2px solid hsl(var(--border));border-radius:var(--radius-sm);padding-top:10px;padding-bottom:10px}.registration-page__form-input:hover:not(:disabled){border-color:hsl(var(--foreground))}.registration-page__form-input:focus{border-color:hsl(var(--foreground));box-shadow:var(--shadow-sm);outline:none}.registration-page__auth-banner--authenticated{border:2px solid hsl(var(--foreground));box-shadow:var(--shadow-sm);background:hsl(var(--primary)/.15)}.registration-page__auth-banner-icon{color:hsl(var(--foreground))}.registration-page__auth-banner-text strong{color:hsl(var(--foreground))}.registration-page__auth-banner-button{color:hsl(var(--foreground));border:2px solid hsl(var(--foreground));border-radius:var(--radius-sm)}.registration-page__auth-banner-button:hover{background:hsl(var(--foreground)/.08)}.registration-page__waiver-link{color:hsl(var(--foreground));text-decoration-color:hsl(var(--foreground)/.5)}.registration-page__waiver-link:hover{text-decoration-color:hsl(var(--foreground))}.registration-page__waiver-link:focus{outline-color:hsl(var(--foreground))}}.enrollment-auth-modal__backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg)}.enrollment-auth-modal__panel{position:relative;background:hsl(var(--card));border:2px solid hsl(var(--foreground));box-shadow:var(--shadow-xl);border-radius:var(--radius-md);padding:var(--spacing-2xl) var(--spacing-xl) var(--spacing-xl);width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.enrollment-auth-modal__close{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);width:36px;height:36px;border:2px solid hsl(var(--foreground));border-radius:var(--radius-sm);background:hsl(var(--card));cursor:pointer;font-size:var(--font-size-sm);display:flex;align-items:center;justify-content:center;z-index:2}.enrollment-auth-modal__close:hover{background:hsl(var(--foreground));color:hsl(var(--card))}.enrollment-auth-modal__divider{display:flex;align-items:center;gap:.75rem;font-size:.875rem;line-height:1.25rem;color:hsl(var(--muted-foreground));margin:var(--spacing-lg) 0}.enrollment-auth-modal__divider:after,.enrollment-auth-modal__divider:before{content:"";flex:1;height:1px;background:hsl(var(--border))}.enrollment-auth-modal__guest-link{width:100%;text-align:center;font-size:.875rem;line-height:1.25rem;font-weight:500;padding:var(--spacing-md);background:transparent;border:2px solid hsl(var(--border));border-radius:var(--radius-sm);cursor:pointer;color:hsl(var(--foreground));transition:background var(--duration-fast) ease}.enrollment-auth-modal__guest-link:hover{background:hsl(var(--foreground)/.06)}.enrollment-auth-modal__guest-form{display:flex;flex-direction:column;gap:1.25rem}.enrollment-auth-modal__guest-heading{font-size:1.25rem;line-height:1.75rem;font-weight:700;color:hsl(var(--foreground));margin:0}.enrollment-auth-modal__field{display:flex;flex-direction:column;gap:.5rem}.enrollment-auth-modal__label{font-size:.875rem;line-height:1.25rem;font-weight:500;color:hsl(var(--foreground))}.enrollment-auth-modal__input{width:100%;padding:var(--spacing-md);font-size:var(--font-size-base);color:hsl(var(--foreground));background:hsl(var(--background));border:2px solid hsl(var(--border));border-radius:var(--radius-sm)}.enrollment-auth-modal__input:focus{outline:none;border-color:hsl(var(--foreground));box-shadow:var(--shadow-sm)}.enrollment-auth-modal__enroll-btn{width:100%}.enrollment-auth-modal__back-link{text-align:center;font-size:.875rem;line-height:1.25rem;color:hsl(var(--muted-foreground));background:transparent;border:none;cursor:pointer;padding:0}.enrollment-auth-modal__back-link:hover{color:hsl(var(--foreground))}.enrollment-auth-modal__optional{font-weight:400;color:hsl(var(--muted-foreground));font-size:var(--font-size-xs)}.enrollment-auth-modal__input-prefix-wrap{display:flex;align-items:center;border:2px solid hsl(var(--border));border-radius:var(--radius-sm);background:hsl(var(--background))}.enrollment-auth-modal__input-prefix{flex-shrink:0;font-weight:600;color:hsl(var(--muted-foreground));padding:0 6px 0 10px;font-size:var(--font-size-base);line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.enrollment-auth-modal__input--prefixed{border:none!important;border-radius:0!important;padding-left:0!important;box-shadow:none!important;flex:1;min-width:0}.enrollment-auth-modal__input--prefixed:focus{outline:none!important;box-shadow:none!important}.enrollment-auth-modal__input-prefix-wrap:focus-within{border-color:hsl(var(--foreground));box-shadow:2px 2px 0 hsl(var(--foreground))}.enrollment-auth-modal__panel .cl-rootBox{background:transparent!important;box-shadow:none!important;border:none!important;border-radius:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;overflow:visible!important;width:100%}.enrollment-auth-modal__panel .cl-card{background:transparent!important;border:none!important;box-shadow:none!important;border-radius:0!important;width:100%!important;margin:0!important}.enrollment-auth-modal__panel .cl-headerTitle{color:hsl(var(--foreground));font-family:var(--font-family-display)}.enrollment-auth-modal__panel .cl-headerSubtitle{color:hsl(var(--muted-foreground))}.enrollment-auth-modal__panel .cl-socialButtonsBlockButton{background:hsl(var(--card));border:2px solid hsl(var(--border));border-radius:var(--radius-sm);color:hsl(var(--foreground))}.enrollment-auth-modal__panel .cl-socialButtonsBlockButton:hover{background:hsl(var(--muted))}.enrollment-auth-modal__panel .cl-formFieldInput{background:hsl(var(--background));border:2px solid hsl(var(--border));border-radius:var(--radius-sm);color:hsl(var(--foreground))}.enrollment-auth-modal__panel .cl-formFieldInput:focus{outline:none;box-shadow:var(--shadow-sm)}.enrollment-auth-modal__panel .cl-formFieldLabel{color:hsl(var(--foreground))}.enrollment-auth-modal__panel .cl-formButtonPrimary{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border:2px solid hsl(var(--foreground));box-shadow:var(--shadow-sm);border-radius:var(--radius-sm);font-weight:var(--font-weight-semibold)}.enrollment-auth-modal__panel .cl-formButtonPrimary:hover{box-shadow:none;translate:2px 2px}.enrollment-auth-modal__panel .cl-footerActionLink{color:hsl(var(--primary));font-weight:var(--font-weight-semibold)}.enrollment-auth-modal__panel .cl-footerActionText{color:hsl(var(--muted-foreground))}.enrollment-auth-modal__panel .cl-dividerLine{background:hsl(var(--border))}.enrollment-auth-modal__panel .cl-dividerText{color:hsl(var(--muted-foreground))}.enrollment-auth-modal__panel .cl-footer{background:hsl(var(--muted))!important;border-top:1px solid hsl(var(--border))!important;border-bottom:1px solid hsl(var(--border))!important;border-radius:0!important;margin:0 calc(var(--spacing-xl)*-1)!important;padding:var(--spacing-md) var(--spacing-xl)!important}.enrollment-auth-modal__panel .cl-badge,.enrollment-auth-modal__panel .cl-footer__badge{background:transparent!important}.enrollment-auth-modal__panel .cl-footer *,.enrollment-auth-modal__panel .cl-footer__action{color:hsl(var(--muted-foreground))}.enrollment-auth-modal__panel .cl-footer .cl-footerActionLink,.enrollment-auth-modal__panel .cl-footer a{color:hsl(var(--primary))!important;font-weight:var(--font-weight-semibold)}.class-card-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.class-card-list__item{margin:0}.class-card-list__button{all:unset;display:block;width:100%;cursor:pointer;text-align:left}.class-card-list__button:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.class-card-list__content{display:flex;flex-direction:column;gap:.5rem}.class-card-list__title{margin:0;font-size:1.125rem;line-height:1.2}.class-card-list__meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.class-card-list__style{font-size:.875rem;color:hsl(var(--muted-foreground))}.class-card-list__capacity{display:flex;align-items:baseline;gap:.25rem;margin-top:.25rem;font-size:.875rem;color:hsl(var(--muted-foreground))}.class-card-list__capacity-value{font-weight:700;font-size:1rem;color:hsl(var(--foreground))}@media (min-width:640px){.class-card-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:.875rem}}.batch-sections--stepper{display:flex;flex-direction:column;min-height:0;flex:1}.batch-sections__presentation-toggle{display:flex;flex-shrink:0;justify-content:flex-end;border-bottom-width:1px;border-color:hsl(var(--border));padding:.5rem 1.5rem}[data-register=public] .batch-sections__presentation-toggle{border-bottom-width:3px}.batch-sections__step-header{flex-shrink:0;padding-left:1.5rem;padding-right:1.5rem;padding-top:1.5rem}.batch-sections__step-body{min-height:0;flex:1 1 0%;overflow:hidden}.batch-sections__loading{padding-top:3rem;padding-bottom:3rem;text-align:center}.batch-sections__footer{flex-shrink:0;border-top-width:1px;padding:1.5rem}[data-register=public] .batch-sections__footer{border-top-width:3px}.batch-sections__footer-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}.batch-sections__footer-caption{font-size:.875rem;line-height:1.25rem;color:hsl(var(--muted-foreground))}.registration-link-card__content{display:flex;flex-direction:column;gap:.75rem}.registration-link-card__subtitle{margin:0;font-size:1.125rem;line-height:1.2}.registration-link-card__url-row{display:flex;align-items:center;gap:.5rem;background-color:hsl(var(--background)/.5);padding:.5rem .75rem;border-radius:.5rem;border:1px solid hsl(var(--foreground)/.1)}.registration-link-card__url{flex:1;font-family:var(--font-family-mono,monospace);font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.registration-link-card__copy{flex-shrink:0}.registration-link-card__meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.registration-link-card__uses{display:flex;align-items:baseline;gap:.375rem;font-size:.875rem}.registration-link-card__uses-label{font-weight:500;opacity:.8}.registration-link-card__uses-value{font-weight:700;font-size:1rem}.registration-link-card__badges{display:inline-flex;align-items:center;gap:.375rem;flex-wrap:wrap}.registration-link-card__expires{font-size:.8125rem;opacity:.85}.batch-item-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-radius:var(--radius);border-width:1px;border-color:hsl(var(--border));background-color:hsl(var(--card));padding:1rem}[data-register=public] .batch-item-row{border-width:3px}.batch-item-row__body{flex:1 1 0%}.batch-item-row__body>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.batch-item-row__title{font-size:1.125rem;line-height:1.75rem;font-weight:600;color:hsl(var(--foreground))}.batch-item-row__meta{font-size:.875rem;line-height:1.25rem;color:hsl(var(--muted-foreground))}.batch-item-row__aside{display:flex;align-items:center}.batch-item-row__price{white-space:nowrap;font-size:1.125rem;line-height:1.75rem;font-weight:600;color:hsl(var(--foreground))}.settings-tab__completion-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-left:5px;vertical-align:middle;flex-shrink:0}.settings-tab__completion-dot--complete{background-color:var(--color-success,#22c55e)}.settings-tab__completion-dot--empty{background-color:transparent;border:1.5px solid var(--color-warning,#fbbf24)}.editable-section__header{margin-bottom:.75rem;display:flex;justify-content:flex-end}.editable-section__body{width:100%}.workshop-poster-card__button{all:unset;display:block;width:100%;cursor:pointer;text-align:left}.workshop-poster-card__button:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.workshop-poster-card__content{display:flex;flex-direction:column;gap:.5rem}.workshop-poster-card__title{margin:0;line-height:1.05;font-size:clamp(1.5rem,1.25rem + 1vw,2rem);hyphens:manual;word-break:normal;overflow-wrap:anywhere}.workshop-poster-card__date{font-size:1.125rem;font-weight:700;letter-spacing:-.01em}.workshop-poster-card__location,.workshop-poster-card__meta{font-size:.9375rem;opacity:.92}.workshop-poster-card__ratio{display:flex;justify-content:space-between;align-items:baseline;margin-top:auto;padding-top:.75rem;font-size:.875rem}.workshop-poster-card__ratio-label{font-weight:500;opacity:.8}.workshop-poster-card__ratio-value{font-weight:700;font-size:1rem}.setup-step>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.setup-step h3{font-size:1.125rem;line-height:1.75rem;font-weight:600;color:hsl(var(--foreground))}.setup-step p{font-size:.875rem;line-height:1.25rem;color:hsl(var(--muted-foreground))}.setup-step .space-y-4>*+*{margin-top:1rem}.setup-step .space-y-3>*+*{margin-top:.75rem}.setup-layout{display:flex;flex-direction:column}@media (min-width:1024px){.setup-layout{height:100%;flex-direction:row;overflow:hidden}}.setup-nav{display:flex;flex-direction:row;gap:.25rem;overflow-x:auto;white-space:nowrap;border-bottom-width:1px;border-color:hsl(var(--border));padding:.5rem}[data-register=public] .setup-nav{border-bottom-width:3px}@media (min-width:1024px){.setup-nav{width:13rem;flex-shrink:0;flex-direction:column;gap:0}.setup-nav>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.setup-nav{overflow-x:visible;white-space:normal;border-right-width:1px;border-bottom-width:0;padding:1rem .5rem}[data-register=public] .setup-nav{border-right-width:3px}}.setup-nav .nav-item{flex-shrink:0}.setup-nav__label{margin-bottom:.5rem;display:none;padding:.25rem .5rem;font-size:.75rem;line-height:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}@media (min-width:1024px){.setup-nav__label{display:block}}.setup-content{flex:1 1 0%;overflow:auto;padding:1rem}@media (min-width:1024px){.setup-content{padding:1.5rem}}.inline-icon{display:inline-block;vertical-align:middle;margin-right:.25em}.badge__icon{display:inline-block;margin-right:.25em}.attendance-tab{display:flex;flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-lg)}.attendance-tab__actions{display:flex;gap:var(--spacing-md);align-items:center;flex-wrap:wrap}.attendance-tab__search{flex:1;min-width:250px}.attendance-tab__empty{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-xl)}.attendance-tab__session-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.attendance-tab__pagination{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid hsl(var(--border))}.session-card{transition:all var(--duration-normal) var(--easing-ease-out)}.session-card:hover{box-shadow:var(--shadow-md)}.session-card>div{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg)!important}.session-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);flex-wrap:wrap}.session-card__date{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:hsl(var(--foreground));margin:0}.session-card__info{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);color:hsl(var(--muted-foreground));font-size:var(--font-size-sm);align-items:center}.session-card__attendance{display:flex;flex-direction:column;gap:var(--spacing-sm)}.session-card__stats{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.session-card__actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;margin-top:var(--spacing-xs)}.enrollee-attendance-card{transition:all var(--duration-normal) var(--easing-ease-out);border:1px solid hsl(var(--border));background:hsl(var(--card))}.enrollee-attendance-card:hover{border-color:hsl(var(--border)/.8);box-shadow:var(--shadow-sm)}.enrollee-attendance-card__content{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md)!important}.enrollee-attendance-card__student{flex:1;min-width:0}.enrollee-attendance-card__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:hsl(var(--foreground));margin:0 0 2px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.enrollee-attendance-card__email{font-size:var(--font-size-xs);color:hsl(var(--muted-foreground));margin:0;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.enrollee-attendance-card__actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.attendance-buttons{display:flex;gap:var(--spacing-xs);align-items:center}.attendance-button{padding:var(--spacing-sm);min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;transition:all var(--duration-fast) var(--easing-ease-out);white-space:nowrap}.attendance-button>svg{width:1em;height:1em;flex-shrink:0}.attendance-button--present{border-color:hsl(var(--primary)/.5);color:hsl(var(--primary))}.attendance-button--present:hover:not(.attendance-button--active){background:hsl(var(--primary)/.1);border-color:hsl(var(--primary));transform:translateY(-1px)}.attendance-button--late{border-color:hsl(var(--warning)/.5);color:hsl(var(--warning))}.attendance-button--late:hover:not(.attendance-button--active){background:hsl(var(--warning)/.1);border-color:hsl(var(--warning));transform:translateY(-1px)}.attendance-button--absent{border-color:hsl(var(--destructive)/.5);color:hsl(var(--destructive))}.attendance-button--absent:hover:not(.attendance-button--active){background:hsl(var(--destructive)/.1);border-color:hsl(var(--destructive));transform:translateY(-1px)}.attendance-button--excused{border-color:hsl(var(--border));color:hsl(var(--muted-foreground))}.attendance-button--excused:hover:not(.attendance-button--active){background:hsl(var(--muted)/.5);transform:translateY(-1px)}.attendance-button--active{cursor:default;opacity:1}.attendance-button--active:hover{transform:none}.attendance-button:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.credit-indicator{white-space:nowrap;display:inline-flex;align-items:center;gap:var(--spacing-xs)}.inline-icon{width:1em;height:1em;vertical-align:-.125em;margin-right:var(--spacing-xs)}.badge__icon{width:.875em;height:.875em;flex-shrink:0;margin-right:var(--spacing-xs)}.attendance-drawer-content button,.attendance-tab button,.session-card button,[class*=attendance] button{gap:var(--spacing-xs)}button>svg{flex-shrink:0}@media (max-width:768px){.attendance-tab{padding:var(--spacing-md)}.attendance-tab__actions{flex-direction:column;align-items:stretch}.attendance-tab__search{min-width:100%}.attendance-tab__session-list{grid-template-columns:1fr}.session-card>div{padding:var(--spacing-md)!important}.enrollee-attendance-card__content{flex-direction:column;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md)!important}.enrollee-attendance-card__student{width:100%}.enrollee-attendance-card__name{font-size:var(--font-size-md);margin-bottom:var(--spacing-xs)}.enrollee-attendance-card__email{font-size:var(--font-size-sm)}.enrollee-attendance-card__actions{width:100%;flex-wrap:wrap;gap:var(--spacing-sm)}.attendance-buttons{gap:var(--spacing-xs);flex:1;justify-content:flex-end}.attendance-button{min-width:40px;height:40px;padding:var(--spacing-sm)}.attendance-button>svg{width:1.2em;height:1.2em}.credit-indicator{font-size:var(--font-size-xs);flex-shrink:0}.attendance-status-badge{font-size:var(--font-size-xs);flex-shrink:0}}@media (prefers-reduced-motion:reduce){.attendance-button,.enrollee-attendance-card,.session-card{transition:none}.attendance-button--absent:hover:not(.attendance-button--active),.attendance-button--excused:hover:not(.attendance-button--active),.attendance-button--late:hover:not(.attendance-button--active),.attendance-button--present:hover:not(.attendance-button--active){transform:none}}.attendance-reward-anchor{position:fixed;bottom:50vh;left:50vw;width:0;height:0;z-index:-1;pointer-events:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-0{bottom:0}.left-0{left:0}.left-2{left:.5rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.top-4{top:1rem}.top-\[50\%\]{top:50%}.z-10{z-index:10}.z-50{z-index:50}.m-auto{margin:auto}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-4{margin-top:1rem;margin-bottom:1rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.table-cell{display:table-cell}.table-row{display:table-row}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-full{height:100%}.h-px{height:1px}.max-h-72{max-height:18rem}.max-h-96{max-height:24rem}.max-h-\[85vh\]{max-height:85vh}.max-h-\[95vh\]{max-height:95vh}.max-h-\[min\(420px\2c 55vh\)\]{max-height:min(420px,55vh)}.min-h-0{min-height:0}.min-h-\[120px\]{min-height:120px}.min-h-\[80px\]{min-height:80px}.min-h-\[85vh\]{min-height:85vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-80{width:20rem}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[100px\]{min-width:100px}.min-w-\[120px\]{min-width:120px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-\[80vw\]{max-width:80vw}.max-w-\[95vw\]{max-width:95vw}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.shrink-0{flex-shrink:0}.translate-x-\[-50\%\]{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-default{cursor:default}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-border{border-color:hsl(var(--border))}.border-border\/40{border-color:hsl(var(--border)/.4)}.border-destructive{border-color:hsl(var(--destructive))}.border-destructive\/20{border-color:hsl(var(--destructive)/.2)}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-primary\/20{border-color:hsl(var(--primary)/.2)}.border-primary\/30{border-color:hsl(var(--primary)/.3)}.border-secondary\/30{border-color:hsl(var(--secondary)/.3)}.border-white\/30{border-color:hsla(0,0%,100%,.3)}.border-t-primary{border-top-color:hsl(var(--primary))}.border-t-secondary{border-top-color:hsl(var(--secondary))}.border-t-white{--tw-border-opacity:1;border-top-color:rgb(255 255 255/var(--tw-border-opacity,1))}.bg-background{background-color:hsl(var(--background))}.bg-background\/80{background-color:hsl(var(--background)/.8)}.bg-black\/50{background-color:rgba(0,0,0,.5)}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/30{background-color:hsl(var(--muted)/.3)}.bg-muted\/40{background-color:hsl(var(--muted)/.4)}.bg-muted\/50{background-color:hsl(var(--muted)/.5)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary)/.1)}.bg-primary\/5{background-color:hsl(var(--primary)/.05)}.bg-secondary{background-color:hsl(var(--secondary))}.\!p-4{padding:1rem!important}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-20{padding-bottom:5rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-20{padding-right:5rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/80{color:hsla(0,0%,100%,.8)}.text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-foreground{--tw-ring-color:hsl(var(--foreground))}.ring-offset-2{--tw-ring-offset-width:2px}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-sm{--tw-blur:blur(4px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,.1)) drop-shadow(0 1px 1px rgba(0,0,0,.06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[color\2c background-color\2c border-color\2c transform\]{transition-property:color,background-color,border-color,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-\[120ms\]{transition-duration:.12s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@media (prefers-reduced-motion:reduce){::-webkit-scrollbar-thumb{-webkit-transition:none;transition:none}}.\!container{width:100%!important;padding-left:var(--spacing-md)!important;padding-right:var(--spacing-md)!important;margin-left:auto!important;margin-right:auto!important}.container{width:100%;padding-left:var(--spacing-md);padding-right:var(--spacing-md);margin-left:auto;margin-right:auto}@media (min-width:640px){.\!container{max-width:640px!important;padding-left:var(--spacing-lg)!important;padding-right:var(--spacing-lg)!important}.container{max-width:640px;padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}.sm\:row{flex-direction:row}.sm\:col{flex-direction:column}.sm\:grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.sm\:text-left{text-align:left}.sm\:text-center{text-align:center}.sm\:text-right{text-align:right}.sm\:space-x-lg>*+*{margin-left:var(--spacing-lg)}.sm\:space-y-lg>*+*{margin-top:var(--spacing-lg)}.sm\:hidden{display:none}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:grid{display:grid}}@media (min-width:768px){.\!container{max-width:768px!important;padding-left:var(--spacing-xl)!important;padding-right:var(--spacing-xl)!important}.container{max-width:768px;padding-left:var(--spacing-xl);padding-right:var(--spacing-xl)}.md\:row{flex-direction:row}.md\:col{flex-direction:column}.md\:grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-xl)}.md\:grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-xl)}.md\:justify-between{justify-content:space-between}.md\:justify-center{justify-content:center}.md\:items-center{align-items:center}.md\:text-left{text-align:left}.md\:text-center{text-align:center}.md\:text-right{text-align:right}.md\:space-x-xl>*+*{margin-left:var(--spacing-xl)}.md\:space-y-xl>*+*{margin-top:var(--spacing-xl)}.md\:hidden{display:none}.md\:block{display:block}.md\:flex{display:flex}.md\:grid{display:grid}.md\:sidebar-adjusted{margin-left:64px}.md\:sidebar-adjusted.expanded{margin-left:256px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}.lg\:row{flex-direction:row}.lg\:col{flex-direction:column}.lg\:grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-2xl)}.lg\:grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-2xl)}.lg\:grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-2xl)}.lg\:space-x-2xl>*+*{margin-left:var(--spacing-2xl)}.lg\:space-y-2xl>*+*{margin-top:var(--spacing-2xl)}.lg\:hidden{display:none}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:grid{display:grid}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}.xl\:grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--spacing-2xl)}.xl\:grid-6{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--spacing-2xl)}.xl\:hidden{display:none}.xl\:block{display:block}.xl\:flex{display:flex}.xl\:grid{display:grid}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}.\32xl\:grid-8{display:grid;grid-template-columns:repeat(8,1fr);gap:var(--spacing-3xl)}.\32xl\:space-x-3xl>*+*{margin-left:var(--spacing-3xl)}.\32xl\:space-y-3xl>*+*{margin-top:var(--spacing-3xl)}}@media (max-width:1023px){.mobile-only{display:block}.desktop-only{display:none}.mobile-full-screen{width:100vw;height:100vh;position:fixed;top:0;left:0;z-index:var(--z-modal)}.mobile-safe-area{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}}@media (min-width:1024px){.mobile-only{display:none}.desktop-only{display:block}}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse-success{0%,to{box-shadow:0 0 0 0 hsl(var(--success)/.4)}50%{box-shadow:0 0 0 10px hsl(var(--success)/0)}}@keyframes pulse-primary{0%,to{box-shadow:0 0 0 0 hsl(var(--primary)/.4)}50%{box-shadow:0 0 0 10px hsl(var(--primary)/0)}}@keyframes glow-pulse{0%,to{box-shadow:0 0 5px hsl(var(--primary)/.5)}50%{box-shadow:0 0 20px hsl(var(--primary)/.8),0 0 30px hsl(var(--primary)/.3)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes bounce{0%,20%,53%,80%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:translateZ(0)}40%,43%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-30px,0)}70%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-15px,0)}90%{transform:translate3d(0,-4px,0)}}.animate-pulse-success{animation:pulse-success 2s infinite}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.staggered-enter>:first-child{animation:fade-in var(--duration-slow) var(--easing-ease-out) both}.staggered-enter>:nth-child(2){animation:fade-in var(--duration-slow) var(--easing-ease-out) 30ms both}.staggered-enter>:nth-child(3){animation:fade-in var(--duration-slow) var(--easing-ease-out) 60ms both}.staggered-enter>:nth-child(4){animation:fade-in var(--duration-slow) var(--easing-ease-out) 90ms both}.staggered-enter>:nth-child(5){animation:fade-in var(--duration-slow) var(--easing-ease-out) .12s both}.staggered-enter>:nth-child(6){animation:fade-in var(--duration-slow) var(--easing-ease-out) .15s both}.staggered-enter>:nth-child(7){animation:fade-in var(--duration-slow) var(--easing-ease-out) .18s both}.staggered-enter>:nth-child(8){animation:fade-in var(--duration-slow) var(--easing-ease-out) .21s both}.staggered-enter>:nth-child(n+9){animation:fade-in var(--duration-slow) var(--easing-ease-out) .24s both}@media (prefers-reduced-motion:reduce){.staggered-enter>*{animation:none}}.glass-card{background:hsl(var(--card)/.8);backdrop-filter:blur(16px);border:1px solid hsl(var(--border)/.5);box-shadow:0 0 0 1px var(--glass-overlay) inset,0 4px 32px hsl(var(--shadow-color)/var(--shadow-alpha-md)),0 2px 8px hsl(var(--shadow-color)/var(--shadow-alpha-sm))}.btn-glow:hover{box-shadow:0 0 20px hsl(var(--primary)/.3);transform:translateY(-1px);transition:all var(--duration-normal) var(--easing-ease-out)}.primary-glow{box-shadow:0 0 20px hsl(var(--primary)/.4)}.hover-lift{transition:transform var(--duration-normal) var(--easing-ease-out)}.hover-lift:hover{transform:translateY(-2px)}.hover-scale{transition:transform var(--duration-normal) var(--easing-ease-out)}.hover-scale:hover{transform:scale(1.05)}@media (prefers-reduced-motion:reduce){.btn-glow:hover,.hover-lift,.hover-lift:hover,.hover-scale,.hover-scale:hover{transition:none;transform:none}.focus-ring{transition:none}}.center{display:flex;align-items:center;justify-content:center}.full-height{min-height:100vh}.full-width{width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.z-modal-backdrop{z-index:calc(var(--z-modal-backdrop) + var(--modal-index, 0))}.z-modal-content{z-index:calc(var(--z-modal-content) + var(--modal-index, 0))}.z-popover-content{z-index:var(--z-popover-content)}.drawer-container .z-popover,[data-drawer-context] .z-popover{z-index:var(--z-popover-content)}[data-radix-portal]>*{z-index:var(--z-popover-content)}[data-radix-portal][data-portal-type=select]>*{z-index:var(--z-popover-content)}[data-radix-portal][data-portal-type=tooltip]>*{z-index:var(--z-tooltip)}[data-radix-portal][data-portal-type=toast]>*{z-index:var(--z-toast)}[data-register=public] .border{border-width:3px}[data-register=public] .border-2{border-width:3px}[data-register=public] .border-t{border-top-width:3px}[data-register=public] .border-b{border-bottom-width:3px}[data-register=public] .shadow-sm{box-shadow:2px 2px 0 hsl(var(--foreground))}[data-register=public] .shadow{box-shadow:3px 3px 0 hsl(var(--foreground))}[data-register=public] .shadow-md{box-shadow:4px 4px 0 hsl(var(--foreground))}[data-register=public] .shadow-lg{box-shadow:6px 6px 0 hsl(var(--foreground))}[data-register=public] .sticker{border-width:3px;box-shadow:6px 6px 0 hsl(var(--foreground))}[data-register=public] .sticker:hover{box-shadow:7px 7px 0 hsl(var(--foreground))}[data-register=public] .sticker:active{box-shadow:0 0 0 hsl(var(--foreground))}.\[--sticker-fill-fg\:0_0\%_100\%\]{--sticker-fill-fg:0 0% 100%}.\[--sticker-fill-fg\:0_0\%_7\%\]{--sticker-fill-fg:0 0% 7%}.\[--sticker-fill\:0_0\%_7\%\]{--sticker-fill:0 0% 7%}.\[--sticker-fill\:191_85\%_56\%\]{--sticker-fill:191 85% 56%}.\[--sticker-fill\:330_95\%_60\%\]{--sticker-fill:330 95% 60%}.\[--sticker-fill\:346_84\%_56\%\]{--sticker-fill:346 84% 56%}.\[--sticker-fill\:45_80\%_95\%\]{--sticker-fill:45 80% 95%}.\[--sticker-fill\:49_100\%_60\%\]{--sticker-fill:49 100% 60%}.\[--sticker-fill\:79_100\%_62\%\]{--sticker-fill:79 100% 62%}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.data-\[state\=open\]\:slide-in-from-right[data-state=open][data-state=open]{animation:slide-in-from-right var(--duration-normal) var(--easing-ease-out)}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed][data-state=closed]{animation:slide-out-to-right var(--duration-normal) var(--easing-ease-in)}.data-\[state\=open\]\:slide-in-from-left[data-state=open][data-state=open]{animation:slide-in-from-left var(--duration-normal) var(--easing-ease-out)}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed][data-state=closed]{animation:slide-out-to-left var(--duration-normal) var(--easing-ease-in)}.data-\[state\=open\]\:slide-in-from-top[data-state=open][data-state=open]{animation:slide-in-from-top var(--duration-normal) var(--easing-ease-out)}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed][data-state=closed]{animation:slide-out-to-top var(--duration-normal) var(--easing-ease-in)}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open][data-state=open]{animation:slide-in-from-bottom var(--duration-normal) var(--easing-ease-out)}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed][data-state=closed]{animation:slide-out-to-bottom var(--duration-normal) var(--easing-ease-in)}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{animation:slide-in-from-right var(--duration-normal) var(--easing-ease-out)}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{animation:slide-out-to-right var(--duration-normal) var(--easing-ease-in)}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{animation:slide-in-from-left var(--duration-normal) var(--easing-ease-out)}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{animation:slide-out-to-left var(--duration-normal) var(--easing-ease-in)}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{animation:slide-in-from-top var(--duration-normal) var(--easing-ease-out)}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{animation:slide-out-to-top var(--duration-normal) var(--easing-ease-in)}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{animation:slide-in-from-bottom var(--duration-normal) var(--easing-ease-out)}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{animation:slide-out-to-bottom var(--duration-normal) var(--easing-ease-in)}@media (prefers-reduced-motion:reduce){.data-\[state\=open\]\:slide-in-from-right[data-state=open],.data-\[state\=open\]\:slide-in-from-right[data-state=open][data-state=open]{animation:none}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed],.data-\[state\=closed\]\:slide-out-to-right[data-state=closed] [data-state=closed]{animation:none}.data-\[state\=open\]\:slide-in-from-left[data-state=open],.data-\[state\=open\]\:slide-in-from-left[data-state=open] [data-state=open]{animation:none}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed],.data-\[state\=closed\]\:slide-out-to-left[data-state=closed] [data-state=closed]{animation:none}.data-\[state\=open\]\:slide-in-from-top[data-state=open],.data-\[state\=open\]\:slide-in-from-top[data-state=open] [data-state=open]{animation:none}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed],.data-\[state\=closed\]\:slide-out-to-top[data-state=closed] [data-state=closed]{animation:none}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open],.data-\[state\=open\]\:slide-in-from-bottom[data-state=open] [data-state=open]{animation:none}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed],.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed] [data-state=closed]{animation:none}}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.first\:border-t-0:first-child{border-top-width:0}.first\:pt-0:first-child{padding-top:0}.hover\:scale-100:hover{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-accent\/75:hover{background-color:hsl(var(--accent)/.75)}.hover\:bg-card:hover{background-color:hsl(var(--card))}.hover\:bg-destructive\/10:hover{background-color:hsl(var(--destructive)/.1)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted)/.5)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}[data-register=public] .hover\:shadow-md:hover{box-shadow:4px 4px 0 hsl(var(--foreground))}.focus\:border-destructive:focus{border-color:hsl(var(--destructive))}.focus\:bg-accent\/75:focus{background-color:hsl(var(--accent)/.75)}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset:inset}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.active\:translate-y-\[1px\]:active{--tw-translate-y:1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}@media (prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none}.motion-reduce\:active\:translate-y-0:active{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}}@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.lg\:block{display:block}.lg\:hidden{display:none}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:pb-0{padding-bottom:0}}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&_\.bottom-nav\]\:\!relative .bottom-nav{position:relative!important}.\[\&_\.bottom-nav\]\:\!block .bottom-nav{display:block!important}.\[\&_\.fab\]\:\!relative .fab{position:relative!important}.\[\&_\.fab\]\:\!bottom-auto .fab{bottom:auto!important}.\[\&_\.fab\]\:\!right-auto .fab{right:auto!important}.\[\&_\.fab\]\:\!flex .fab{display:flex!important}