/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--shimmer-angle:20deg}*,:before,:after{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-scroll-snap-strictness:proximity;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial}::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-scroll-snap-strictness:proximity;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-xs:.125rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;--default-mono-font-family:var(--font-mono);--color-border:var(--border)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.\@container\/field-group{container:field-group/inline-size}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.inset-s-1\/2{inset-inline-start:50%}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-12{top:calc(var(--spacing) * -12)}.top-0{top:calc(var(--spacing) * 0)}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-1\/2{top:50%}.top-3\.5{top:calc(var(--spacing) * 3.5)}.top-4{top:calc(var(--spacing) * 4)}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.-right-12{right:calc(var(--spacing) * -12)}.right-0{right:calc(var(--spacing) * 0)}.right-1{right:calc(var(--spacing) * 1)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-3\.5{right:calc(var(--spacing) * 3.5)}.right-4{right:calc(var(--spacing) * 4)}.-bottom-12{bottom:calc(var(--spacing) * -12)}.bottom-0{bottom:calc(var(--spacing) * 0)}.-left-12{left:calc(var(--spacing) * -12)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.left-\[50\%\]{left:50%}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[1\]{z-index:1}.order-first{order:-9999}.order-last{order:9999}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.m-0\!{margin:calc(var(--spacing) * 0)!important}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-3\.5{margin-inline:calc(var(--spacing) * 3.5)}.mx-auto{margin-inline:auto}.-my-2{margin-block:calc(var(--spacing) * -2)}.my-0{margin-block:calc(var(--spacing) * 0)}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:calc(var(--spacing) * 1)}.-mt-4{margin-top:calc(var(--spacing) * -4)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-auto{margin-top:auto}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.-ml-4{margin-left:calc(var(--spacing) * -4)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.field-sizing-content{field-sizing:content}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:var(--aspect-video)}.size-\(--cell-size\){width:var(--cell-size);height:var(--cell-size)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16)}.size-auto{width:auto;height:auto}.size-full{width:100%;height:100%}.h-\(--cell-size\){height:var(--cell-size)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-20{height:calc(var(--spacing) * 20)}.h-64{height:calc(var(--spacing) * 64)}.h-\[calc\(--spacing\(5\.5\)\)\]{height:calc(calc(var(--spacing) * 5.5))}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-max{height:max-content}.h-px{height:1px}.h-svh{height:100svh}.max-h-\(--radix-context-menu-content-available-height\){max-height:var(--radix-context-menu-content-available-height)}.max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.max-h-96{max-height:calc(var(--spacing) * 96)}.max-h-\[300px\]{max-height:300px}.max-h-\[min\(calc\(--spacing\(96\)---spacing\(9\)\)\,calc\(var\(--available-height\)---spacing\(9\)\)\)\]{max-height:min(calc(calc(var(--spacing) * 96) - calc(var(--spacing) * 9)), calc(var(--available-height) - calc(var(--spacing) * 9)))}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-4{min-height:calc(var(--spacing) * 4)}.min-h-9{min-height:calc(var(--spacing) * 9)}.min-h-16{min-height:calc(var(--spacing) * 16)}.min-h-full{min-height:100%}.min-h-svh{min-height:100svh}.w-\(--anchor-width\){width:var(--anchor-width)}.w-\(--cell-size\){width:var(--cell-size)}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-0{width:calc(var(--spacing) * 0)}.w-1{width:calc(var(--spacing) * 1)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-24{width:calc(var(--spacing) * 24)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-\[100px\]{width:100px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-\(--available-width\){max-width:var(--available-width)}.max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.max-w-\[80\%\]{max-width:80%}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-full{max-width:100%}.max-w-max{max-width:max-content}.max-w-sm{max-width:var(--container-sm)}.min-w-\(--cell-size\){min-width:var(--cell-size)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-8{min-width:calc(var(--spacing) * 8)}.min-w-9{min-width:calc(var(--spacing) * 9)}.min-w-10{min-width:calc(var(--spacing) * 10)}.min-w-16{min-width:calc(var(--spacing) * 16)}.min-w-40{min-width:calc(var(--spacing) * 40)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[calc\(var\(--anchor-width\)\+--spacing\(7\)\)\]{min-width:calc(var(--anchor-width) + calc(var(--spacing) * 7))}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-\(--radix-context-menu-content-transform-origin\){transform-origin:var(--radix-context-menu-content-transform-origin)}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\(--radix-hover-card-content-transform-origin\){transform-origin:var(--radix-hover-card-content-transform-origin)}.origin-\(--radix-menubar-content-transform-origin\){transform-origin:var(--radix-menubar-content-transform-origin)}.origin-\(--radix-popover-content-transform-origin\){transform-origin:var(--radix-popover-content-transform-origin)}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.origin-\(--transform-origin\){transform-origin:var(--transform-origin)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-3\/4{--tw-translate-y:calc(calc(3 / 4 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-0\.5{--tw-translate-y:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-3\/4{--tw-translate-y:calc(3 / 4 * 100%);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.scroll-fade-x{--_scroll-fade-size-s:var(--scroll-fade-s-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))));--_scroll-fade-size-e:var(--scroll-fade-e-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))));--scroll-fade-inline:linear-gradient(to right, transparent 0, #000 var(--scroll-fade-s,0px), #000 calc(100% - var(--scroll-fade-e,0px)), transparent 100%)}.scroll-fade-x:where([dir=rtl],[dir=rtl] *){--scroll-fade-inline:linear-gradient(to left, transparent 0, #000 var(--scroll-fade-s,0px), #000 calc(100% - var(--scroll-fade-e,0px)), transparent 100%)}.scroll-fade-x{-webkit-mask-image:var(--scroll-fade-mask,var(--scroll-fade-inline));-webkit-mask-image:var(--scroll-fade-mask,var(--scroll-fade-inline));-webkit-mask-image:var(--scroll-fade-mask,var(--scroll-fade-inline));-webkit-mask-image:var(--scroll-fade-mask,var(--scroll-fade-inline));mask-image:var(--scroll-fade-mask,var(--scroll-fade-inline));-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-composite:source-in;mask-composite:intersect}@supports (animation-timeline:scroll()){.scroll-fade-x{animation:1ms ease-in-out scroll-fade-reveal-s,1ms ease-in-out scroll-fade-reveal-e;animation-timeline:scroll(self inline),scroll(self inline);animation-range:0 var(--scroll-fade-reveal,calc(var(--spacing) * 24)), calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%;animation-fill-mode:both}}@supports not (animation-timeline:scroll()){.scroll-fade-x{--scroll-fade-s:var(--_scroll-fade-size-s);--scroll-fade-e:var(--_scroll-fade-size-e)}}.scroll-fade-b{--_scroll-fade-size-b:var(--scroll-fade-b-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))));--scroll-fade-mask:linear-gradient(to bottom, #000 0, #000 calc(100% - var(--scroll-fade-b,0px)), transparent 100%);-webkit-mask-image:var(--scroll-fade-mask);-webkit-mask-image:var(--scroll-fade-mask);-webkit-mask-image:var(--scroll-fade-mask);-webkit-mask-image:var(--scroll-fade-mask);mask-image:var(--scroll-fade-mask);-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-composite:source-in;mask-composite:intersect}@supports (animation-timeline:scroll()){.scroll-fade-b{animation:1ms ease-in-out scroll-fade-reveal-b;animation-timeline:scroll(self y);animation-range:calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%;animation-fill-mode:both}}@supports not (animation-timeline:scroll()){.scroll-fade-b{--scroll-fade-b:var(--_scroll-fade-size-b)}}.animate-caret-blink{animation:1.25s ease-out infinite caret-blink}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-text{cursor:text}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-mandatory{--tw-scroll-snap-strictness:mandatory}.scroll-my-1{scroll-margin-block:calc(var(--spacing) * 1)}.scroll-px-1{scroll-padding-inline:calc(var(--spacing) * 1)}.scroll-py-1{scroll-padding-block:calc(var(--spacing) * 1)}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;appearance:none}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-\[0_1fr\]{grid-template-columns:0 1fr}.grid-rows-\[auto_1fr\]{grid-template-rows:auto 1fr}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.justify-items-start{justify-items:start}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-\[--spacing\(var\(--gap\)\)\]{gap:calc(var(--spacing) * var(--gap))}:where(.-space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * -2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * -2) * calc(1 - var(--tw-space-x-reverse)))}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.overscroll-x-contain{overscroll-behavior-x:contain}.rounded-\[2px\]{border-radius:2px}.rounded-\[4px\]{border-radius:4px}.rounded-\[calc\(var\(--radius\)-5px\)\]{border-radius:calc(var(--radius) - 5px)}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-l-md{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.rounded-r-md{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-\(--color-border\){border-color:var(--color-border)}.border-border,.border-border\/50{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\/50{border-color:color-mix(in oklab, var(--border) 50%, transparent)}}.border-input{border-color:var(--input)}.border-primary{border-color:var(--primary)}.border-sidebar-border{border-color:var(--sidebar-border)}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-\(--color-bg\){background-color:var(--color-bg)}.bg-\[Canvas\]{background-color:canvas}.bg-accent{background-color:var(--accent)}.bg-background{background-color:var(--background)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-foreground{background-color:var(--foreground)}.bg-input{background-color:var(--input)}.bg-muted,.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\/20{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/20{background-color:color-mix(in oklab, var(--primary) 20%, transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-border{background-color:var(--sidebar-border)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-clip-padding{background-clip:padding-box}.fill-current{fill:currentColor}.fill-foreground{fill:var(--foreground)}.fill-primary{fill:var(--primary)}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-\[3px\]{padding:3px}.p-px{padding:1px}.px-\(--cell-size\){padding-inline:var(--cell-size)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.pt-0{padding-top:calc(var(--spacing) * 0)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pr-9{padding-right:calc(var(--spacing) * 9)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-sm\/relaxed{font-size:var(--text-sm);line-height:var(--leading-relaxed)}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.leading-none{--tw-leading:1;line-height:1}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.break-words,.wrap-break-word{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.text-\[CanvasText\]{color:canvastext}.text-accent-foreground{color:var(--accent-foreground)}.text-background{color:var(--background)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-destructive{color:var(--destructive)}.text-foreground,.text-foreground\/60{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/60{color:color-mix(in oklab, var(--foreground) 60%, transparent)}}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sidebar-foreground,.text-sidebar-foreground\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.text-sidebar-foreground\/70{color:color-mix(in oklab, var(--sidebar-foreground) 70%, transparent)}}.text-white{color:var(--color-white)}.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,)}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_0_1px_var\(--sidebar-border\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-3{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-background{--tw-ring-color:var(--background)}.ring-card{--tw-ring-color:var(--card)}.ring-foreground\/10{--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.ring-foreground\/10{--tw-ring-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.ring-ring\/50{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.ring-ring\/50{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[translate\,scale\,opacity\]{transition-property:translate,scale,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-1000{--tw-duration:1s;transition-duration:1s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.contain-content{contain:content}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.\[--cell-size\:--spacing\(8\)\]{--cell-size:calc(var(--spacing) * 8)}.\[contain-intrinsic-size\:auto_10rem\]{contain-intrinsic-size:auto 10rem}.\[content-visibility\:auto\]{content-visibility:auto}.paused{animation-play-state:paused}.running{animation-play-state:running}.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}@media (hover:hover){.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *){opacity:1}}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing) * 8)}.group-has-data-\[size\=lg\]\/avatar-group\:size-10:is(:where(.group\/avatar-group):has([data-size=lg]) *){width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.group-has-data-\[size\=sm\]\/avatar-group\:size-6:is(:where(.group\/avatar-group):has([data-size=sm]) *){width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.group-has-data-\[slot\=combobox-clear\]\/input-group\:hidden:is(:where(.group\/input-group):has([data-slot=combobox-clear]) *){display:none}.group-has-data-\[slot\=message-footer\]\/message\:-translate-y-8:is(:where(.group\/message):has([data-slot=message-footer]) *){--tw-translate-y:calc(var(--spacing) * -8);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-has-data-\[variant\=ghost\]\/message\:px-0:is(:where(.group\/message):has([data-variant=ghost]) *){padding-inline:calc(var(--spacing) * 0)}.group-has-\[\[data-orientation\=horizontal\]\]\/field\:text-balance:is(:where(.group\/field):has([data-orientation=horizontal]) *){text-wrap:balance}.group-has-\[\[data-slot\=item-description\]\]\/item\:translate-y-0\.5:is(:where(.group\/item):has([data-slot=item-description]) *){--tw-translate-y:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-has-\[\[data-slot\=item-description\]\]\/item\:self-start:is(:where(.group\/item):has([data-slot=item-description]) *){align-self:flex-start}.group-has-\[\>input\]\/input-group\:pt-2\.5:is(:where(.group\/input-group):has(>input) *){padding-top:calc(var(--spacing) * 2.5)}.group-has-\[\>input\]\/input-group\:pb-2\.5:is(:where(.group\/input-group):has(>input) *){padding-bottom:calc(var(--spacing) * 2.5)}.group-data-empty\/combobox-content\:flex:is(:where(.group\/combobox-content)[data-empty] *){display:flex}.group-data-\[align\=end\]\/bubble\:self-end:is(:where(.group\/bubble)[data-align=end] *){align-self:flex-end}.group-data-\[align\=end\]\/message\:justify-end:is(:where(.group\/message)[data-align=end] *){justify-content:flex-end}.group-data-\[align\=end\]\/message\:self-end:is(:where(.group\/message)[data-align=end] *){align-self:flex-end}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing) * -8)}.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing) * 8)!important;height:calc(var(--spacing) * 8)!important}.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)))}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)) + 2px)}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 0)!important}.group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 2)!important}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width) * -1)}.group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width) * -1)}.group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:calc(var(--spacing) * 0)}.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *),.group-data-\[disabled\=true\]\/field\:opacity-50:is(:where(.group\/field)[data-disabled=true] *),.group-data-\[disabled\=true\]\/input-group\:opacity-50:is(:where(.group\/input-group)[data-disabled=true] *){opacity:.5}.group-data-\[focused\=true\]\/day\:relative:is(:where(.group\/day)[data-focused=true] *){position:relative}.group-data-\[focused\=true\]\/day\:z-10:is(:where(.group\/day)[data-focused=true] *){z-index:10}.group-data-\[focused\=true\]\/day\:border-ring:is(:where(.group\/day)[data-focused=true] *){border-color:var(--ring)}.group-data-\[focused\=true\]\/day\:ring-\[3px\]:is(:where(.group\/day)[data-focused=true] *){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[focused\=true\]\/day\:ring-ring\/50:is(:where(.group\/day)[data-focused=true] *){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.group-data-\[focused\=true\]\/day\:ring-ring\/50:is(:where(.group\/day)[data-focused=true] *){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.group-data-\[orientation\=horizontal\]\/tabs\:h-9:is(:where(.group\/tabs)[data-orientation=horizontal] *){height:calc(var(--spacing) * 9)}.group-data-\[orientation\=vertical\]\/attachment\:absolute:is(:where(.group\/attachment)[data-orientation=vertical] *){position:absolute}.group-data-\[orientation\=vertical\]\/attachment\:top-3:is(:where(.group\/attachment)[data-orientation=vertical] *){top:calc(var(--spacing) * 3)}.group-data-\[orientation\=vertical\]\/attachment\:right-3:is(:where(.group\/attachment)[data-orientation=vertical] *){right:calc(var(--spacing) * 3)}.group-data-\[orientation\=vertical\]\/attachment\:w-full:is(:where(.group\/attachment)[data-orientation=vertical] *){width:100%}.group-data-\[orientation\=vertical\]\/attachment\:gap-1:is(:where(.group\/attachment)[data-orientation=vertical] *){gap:calc(var(--spacing) * 1)}.group-data-\[orientation\=vertical\]\/attachment\:px-1:is(:where(.group\/attachment)[data-orientation=vertical] *){padding-inline:calc(var(--spacing) * 1)}.group-data-\[orientation\=vertical\]\/tabs\:h-fit:is(:where(.group\/tabs)[data-orientation=vertical] *){height:fit-content}.group-data-\[orientation\=vertical\]\/tabs\:w-full:is(:where(.group\/tabs)[data-orientation=vertical] *){width:100%}.group-data-\[orientation\=vertical\]\/tabs\:flex-col:is(:where(.group\/tabs)[data-orientation=vertical] *){flex-direction:column}.group-data-\[orientation\=vertical\]\/tabs\:justify-start:is(:where(.group\/tabs)[data-orientation=vertical] *){justify-content:flex-start}.group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing) * -4)}.group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}.group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *){left:calc(var(--spacing) * 0)}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-\[size\=default\]\/avatar\:size-2\.5:is(:where(.group\/avatar)[data-size=default] *){width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.group-data-\[size\=default\]\/switch\:size-4:is(:where(.group\/switch)[data-size=default] *){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.group-data-\[size\=lg\]\/avatar\:size-3:is(:where(.group\/avatar)[data-size=lg] *){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.group-data-\[size\=sm\]\/alert-dialog-content\:grid:is(:where(.group\/alert-dialog-content)[data-size=sm] *){display:grid}.group-data-\[size\=sm\]\/alert-dialog-content\:grid-cols-2:is(:where(.group\/alert-dialog-content)[data-size=sm] *){grid-template-columns:repeat(2,minmax(0,1fr))}.group-data-\[size\=sm\]\/attachment\:w-8:is(:where(.group\/attachment)[data-size=sm] *){width:calc(var(--spacing) * 8)}.group-data-\[size\=sm\]\/avatar\:size-2:is(:where(.group\/avatar)[data-size=sm] *){width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.group-data-\[size\=sm\]\/avatar\:text-xs:is(:where(.group\/avatar)[data-size=sm] *){font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.group-data-\[size\=sm\]\/switch\:size-3:is(:where(.group\/switch)[data-size=sm] *){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.group-data-\[size\=xs\]\/attachment\:w-7:is(:where(.group\/attachment)[data-size=xs] *){width:calc(var(--spacing) * 7)}.group-data-\[size\=xs\]\/attachment\:rounded-md:is(:where(.group\/attachment)[data-size=xs] *){border-radius:calc(var(--radius) - 2px)}.group-data-\[state\=done\]\/attachment\:opacity-100:is(:where(.group\/attachment)[data-state=done] *){opacity:1}.group-data-\[state\=error\]\/attachment\:bg-destructive\/10:is(:where(.group\/attachment)[data-state=error] *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.group-data-\[state\=error\]\/attachment\:bg-destructive\/10:is(:where(.group\/attachment)[data-state=error] *){background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.group-data-\[state\=error\]\/attachment\:text-destructive:is(:where(.group\/attachment)[data-state=error] *),.group-data-\[state\=error\]\/attachment\:text-destructive\/80:is(:where(.group\/attachment)[data-state=error] *){color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.group-data-\[state\=error\]\/attachment\:text-destructive\/80:is(:where(.group\/attachment)[data-state=error] *){color:color-mix(in oklab, var(--destructive) 80%, transparent)}}.group-data-\[state\=idle\]\/attachment\:opacity-100:is(:where(.group\/attachment)[data-state=idle] *){opacity:1}.group-data-\[state\=open\]\:rotate-180:is(:where(.group)[data-state=open] *){rotate:180deg}.group-data-\[state\=processing\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=processing] *){--_spread:var(--shimmer-spread,calc(3ch + 40px));--_base:currentColor;--_highlight:var(--shimmer-color,oklch(from currentColor l c h / calc(alpha* .2)));background-image:var(--shimmer-image,linear-gradient(calc(90deg + var(--shimmer-angle)), var(--_base) calc(50% - var(--_spread)), var(--_highlight) calc(50% - var(--_spread) * .5), var(--_highlight) 50%, var(--_highlight) calc(50% + var(--_spread) * .5), var(--_base) calc(50% + var(--_spread))))}@supports (color:color-mix(in lab, red, red)){.group-data-\[state\=processing\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=processing] *){background-image:var(--shimmer-image,linear-gradient(calc(90deg + var(--shimmer-angle)), var(--_base) calc(50% - var(--_spread)), color-mix(in oklch, var(--_highlight), var(--_base) 50%) calc(50% - var(--_spread) * .5), var(--_highlight) 50%, color-mix(in oklch, var(--_highlight), var(--_base) 50%) calc(50% + var(--_spread) * .5), var(--_base) calc(50% + var(--_spread))))}}.group-data-\[state\=processing\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=processing] *){background-repeat:no-repeat;background-size:calc(200% + var(--_spread) * 2) 100%;-webkit-text-fill-color:var(--shimmer-text-fill,transparent);animation:tw-shimmer var(--shimmer-duration,2s) linear infinite;background-position:0 0;-webkit-background-clip:text;background-clip:text}@media (prefers-color-scheme:dark){.group-data-\[state\=processing\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=processing] *){--_highlight:var(--shimmer-color,oklch(from currentColor max(.8, calc(l + .4)) c h / calc(alpha + .4)))}}.group-data-\[state\=processing\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=processing] *):where([dir=rtl],[dir=rtl] *){animation-direction:reverse}.group-data-\[state\=uploading\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=uploading] *){--_spread:var(--shimmer-spread,calc(3ch + 40px));--_base:currentColor;--_highlight:var(--shimmer-color,oklch(from currentColor l c h / calc(alpha* .2)));background-image:var(--shimmer-image,linear-gradient(calc(90deg + var(--shimmer-angle)), var(--_base) calc(50% - var(--_spread)), var(--_highlight) calc(50% - var(--_spread) * .5), var(--_highlight) 50%, var(--_highlight) calc(50% + var(--_spread) * .5), var(--_base) calc(50% + var(--_spread))))}@supports (color:color-mix(in lab, red, red)){.group-data-\[state\=uploading\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=uploading] *){background-image:var(--shimmer-image,linear-gradient(calc(90deg + var(--shimmer-angle)), var(--_base) calc(50% - var(--_spread)), color-mix(in oklch, var(--_highlight), var(--_base) 50%) calc(50% - var(--_spread) * .5), var(--_highlight) 50%, color-mix(in oklch, var(--_highlight), var(--_base) 50%) calc(50% + var(--_spread) * .5), var(--_base) calc(50% + var(--_spread))))}}.group-data-\[state\=uploading\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=uploading] *){background-repeat:no-repeat;background-size:calc(200% + var(--_spread) * 2) 100%;-webkit-text-fill-color:var(--shimmer-text-fill,transparent);animation:tw-shimmer var(--shimmer-duration,2s) linear infinite;background-position:0 0;-webkit-background-clip:text;background-clip:text}@media (prefers-color-scheme:dark){.group-data-\[state\=uploading\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=uploading] *){--_highlight:var(--shimmer-color,oklch(from currentColor max(.8, calc(l + .4)) c h / calc(alpha + .4)))}}.group-data-\[state\=uploading\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=uploading] *):where([dir=rtl],[dir=rtl] *){animation-direction:reverse}.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:var(--radius)}.group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[variant\=floating\]\:border-sidebar-border:is(:where(.group)[data-variant=floating] *){border-color:var(--sidebar-border)}.group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *){background-color:#0000}.group-data-\[variant\=outline\]\/field-group\:-mb-2:is(:where(.group\/field-group)[data-variant=outline] *){margin-bottom:calc(var(--spacing) * -2)}.group-data-\[variant\=separator\]\/marker\:flex-none:is(:where(.group\/marker)[data-variant=separator] *){flex:none}.group-data-\[variant\=separator\]\/marker\:text-center:is(:where(.group\/marker)[data-variant=separator] *){text-align:center}.group-data-\[vaul-drawer-direction\=bottom\]\/drawer-content\:block:is(:where(.group\/drawer-content)[data-vaul-drawer-direction=bottom] *){display:block}.group-data-\[vaul-drawer-direction\=bottom\]\/drawer-content\:text-center:is(:where(.group\/drawer-content)[data-vaul-drawer-direction=bottom] *),.group-data-\[vaul-drawer-direction\=top\]\/drawer-content\:text-center:is(:where(.group\/drawer-content)[data-vaul-drawer-direction=top] *){text-align:center}.group-data-\[viewport\=false\]\/navigation-menu\:top-full:is(:where(.group\/navigation-menu)[data-viewport=false] *){top:100%}.group-data-\[viewport\=false\]\/navigation-menu\:mt-1\.5:is(:where(.group\/navigation-menu)[data-viewport=false] *){margin-top:calc(var(--spacing) * 1.5)}.group-data-\[viewport\=false\]\/navigation-menu\:overflow-hidden:is(:where(.group\/navigation-menu)[data-viewport=false] *){overflow:hidden}.group-data-\[viewport\=false\]\/navigation-menu\:rounded-md:is(:where(.group\/navigation-menu)[data-viewport=false] *){border-radius:calc(var(--radius) - 2px)}.group-data-\[viewport\=false\]\/navigation-menu\:border:is(:where(.group\/navigation-menu)[data-viewport=false] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[viewport\=false\]\/navigation-menu\:bg-popover:is(:where(.group\/navigation-menu)[data-viewport=false] *){background-color:var(--popover)}.group-data-\[viewport\=false\]\/navigation-menu\:text-popover-foreground:is(:where(.group\/navigation-menu)[data-viewport=false] *){color:var(--popover-foreground)}.group-data-\[viewport\=false\]\/navigation-menu\:shadow:is(:where(.group\/navigation-menu)[data-viewport=false] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[viewport\=false\]\/navigation-menu\:duration-200:is(:where(.group\/navigation-menu)[data-viewport=false] *){--tw-duration:.2s;transition-duration:.2s}@media (hover:hover){.peer-hover\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button)[data-active=true]~*){color:var(--sidebar-accent-foreground)}.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing) * 1.5)}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing) * 2.5)}.peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*){top:calc(var(--spacing) * 1)}.selection\:bg-primary ::selection,.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection,.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing) * 7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.before\:mr-1:before{content:var(--tw-content);margin-right:calc(var(--spacing) * 1)}.before\:h-px:before{content:var(--tw-content);height:1px}.before\:min-w-0:before{content:var(--tw-content);min-width:calc(var(--spacing) * 0)}.before\:flex-1:before{content:var(--tw-content);flex:1}.before\:bg-border:before{content:var(--tw-content);background-color:var(--border)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing) * -2)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:ml-1:after{content:var(--tw-content);margin-left:calc(var(--spacing) * 1)}.after\:h-px:after{content:var(--tw-content);height:1px}.after\:w-1:after{content:var(--tw-content);width:calc(var(--spacing) * 1)}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:min-w-0:after{content:var(--tw-content);min-width:calc(var(--spacing) * 0)}.after\:flex-1:after{content:var(--tw-content);flex:1}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.after\:bg-border:after{content:var(--tw-content);background-color:var(--border)}.after\:bg-foreground:after{content:var(--tw-content);background-color:var(--foreground)}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);left:100%}.group-data-\[orientation\=horizontal\]\/tabs\:after\:inset-x-0:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);inset-inline:calc(var(--spacing) * 0)}.group-data-\[orientation\=horizontal\]\/tabs\:after\:bottom-\[-5px\]:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);bottom:-5px}.group-data-\[orientation\=horizontal\]\/tabs\:after\:h-0\.5:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);height:calc(var(--spacing) * .5)}.group-data-\[orientation\=vertical\]\/tabs\:after\:inset-y-0:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}.group-data-\[orientation\=vertical\]\/tabs\:after\:-right-1:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);right:calc(var(--spacing) * -1)}.group-data-\[orientation\=vertical\]\/tabs\:after\:w-0\.5:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);width:calc(var(--spacing) * .5)}.first\:rounded-l-md:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.first\:border-l:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}.last\:mt-0:last-child{margin-top:calc(var(--spacing) * 0)}.last\:rounded-r-md:last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.focus-within\:border-ring:focus-within{border-color:var(--ring)}.focus-within\:ring-1:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-within\:ring-\[3px\]:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-within\:ring-ring\/50:focus-within{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-within\:ring-ring\/50:focus-within{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}}.hover\:bg-muted:hover,.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_var\(--sidebar-accent\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-accent));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:ring-4:hover{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover:is(:where(.group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.focus\:z-10:focus{z-index:10}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:z-10:focus-visible{z-index:10}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-4:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}:is(.focus-visible\:ring-ring:focus-visible,.focus-visible\:ring-ring\/50:focus-visible){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus-visible\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.active\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.active\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}:where([data-side=left]) .in-data-\[side\=left\]\:cursor-w-resize{cursor:w-resize}:where([data-side=right]) .in-data-\[side\=right\]\:cursor-e-resize{cursor:e-resize}.has-focus\:border-ring:has(:focus){border-color:var(--ring)}.has-focus\:ring-\[3px\]:has(:focus){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.has-focus\:ring-ring\/50:has(:focus){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.has-focus\:ring-ring\/50:has(:focus){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.has-disabled\:pointer-events-none:has(:disabled){pointer-events:none}.has-disabled\:cursor-not-allowed:has(:disabled){cursor:not-allowed}.has-disabled\:opacity-50:has(:disabled){opacity:.5}.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.has-aria-invalid\:border-destructive:has([aria-invalid=true]){border-color:var(--destructive)}.has-aria-invalid\:ring-\[3px\]:has([aria-invalid=true]){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.has-aria-invalid\:ring-destructive\/20:has([aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.has-aria-invalid\:ring-destructive\/20:has([aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_auto_1fr\]:has([data-slot=alert-dialog-media]){grid-template-rows:auto auto 1fr}.has-data-\[slot\=alert-dialog-media\]\:gap-x-6:has([data-slot=alert-dialog-media]){column-gap:calc(var(--spacing) * 6)}.has-data-\[slot\=attachment-content\]\:w-30:has([data-slot=attachment-content]){width:calc(var(--spacing) * 30)}.has-data-\[slot\=attachment-content\]\:px-1\.5:has([data-slot=attachment-content]){padding-inline:calc(var(--spacing) * 1.5)}.has-data-\[slot\=attachment-content\]\:px-2:has([data-slot=attachment-content]){padding-inline:calc(var(--spacing) * 2)}.has-data-\[slot\=attachment-content\]\:px-2\.5:has([data-slot=attachment-content]){padding-inline:calc(var(--spacing) * 2.5)}.has-data-\[slot\=attachment-content\]\:py-1:has([data-slot=attachment-content]){padding-block:calc(var(--spacing) * 1)}.has-data-\[slot\=attachment-content\]\:py-1\.5:has([data-slot=attachment-content]){padding-block:calc(var(--spacing) * 1.5)}.has-data-\[slot\=attachment-content\]\:py-2:has([data-slot=attachment-content]){padding-block:calc(var(--spacing) * 2)}.has-data-\[slot\=attachment-media\]\:p-1:has([data-slot=attachment-media]){padding:calc(var(--spacing) * 1)}.has-data-\[slot\=attachment-media\]\:p-1\.5:has([data-slot=attachment-media]){padding:calc(var(--spacing) * 1.5)}.has-data-\[slot\=attachment-media\]\:p-2:has([data-slot=attachment-media]){padding:calc(var(--spacing) * 2)}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-data-\[slot\=combobox-chip\]\:px-1\.5:has([data-slot=combobox-chip]){padding-inline:calc(var(--spacing) * 1.5)}.has-data-\[slot\=combobox-chip-remove\]\:pr-0:has([data-slot=combobox-chip-remove]){padding-right:calc(var(--spacing) * 0)}.has-data-\[state\=checked\]\:border-primary:has([data-state=checked]){border-color:var(--primary)}.has-data-\[state\=checked\]\:bg-primary\/5:has([data-state=checked]){background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.has-data-\[state\=checked\]\:bg-primary\/5:has([data-state=checked]){background-color:color-mix(in oklab, var(--primary) 5%, transparent)}}.has-data-\[variant\=inset\]\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:border-ring:has([data-slot=input-group-control]:focus-visible){border-color:var(--ring)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-\[3px\]:has([data-slot=input-group-control]:focus-visible){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:border-destructive:has([data-slot][aria-invalid=true]){border-color:var(--destructive)}.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.has-\[button\]\:p-0:has(:is(button)){padding:calc(var(--spacing) * 0)}.has-\[select\:disabled\]\:opacity-50:has(:is(select:disabled)){opacity:.5}.has-\[\>\[data-align\=block-end\]\]\:h-auto:has(>[data-align=block-end]){height:auto}.has-\[\>\[data-align\=block-end\]\]\:flex-col:has(>[data-align=block-end]){flex-direction:column}.has-\[\>\[data-align\=block-start\]\]\:h-auto:has(>[data-align=block-start]){height:auto}.has-\[\>\[data-align\=block-start\]\]\:flex-col:has(>[data-align=block-start]){flex-direction:column}.has-\[\>\[data-slot\=button-group\]\]\:gap-2:has(>[data-slot=button-group]){gap:calc(var(--spacing) * 2)}.has-\[\>\[data-slot\=checkbox-group\]\]\:gap-3:has(>[data-slot=checkbox-group]){gap:calc(var(--spacing) * 3)}.has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]){align-items:flex-start}.has-\[\>\[data-slot\=field\]\]\:w-full:has(>[data-slot=field]){width:100%}.has-\[\>\[data-slot\=field\]\]\:flex-col:has(>[data-slot=field]){flex-direction:column}.has-\[\>\[data-slot\=field\]\]\:rounded-md:has(>[data-slot=field]){border-radius:calc(var(--radius) - 2px)}.has-\[\>\[data-slot\=field\]\]\:border:has(>[data-slot=field]){border-style:var(--tw-border-style);border-width:1px}.has-\[\>\[data-slot\=radio-group\]\]\:gap-3:has(>[data-slot=radio-group]){gap:calc(var(--spacing) * 3)}@media (hover:hover){.has-\[\>a\,\>button\]\:hover\:bg-muted\/50:has(>a,>button):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.has-\[\>a\,\>button\]\:hover\:bg-muted\/50:has(>a,>button):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}}.has-\[\>button\]\:mr-\[-0\.45rem\]:has(>button){margin-right:-.45rem}.has-\[\>button\]\:ml-\[-0\.45rem\]:has(>button){margin-left:-.45rem}.has-\[\>kbd\]\:mr-\[-0\.35rem\]:has(>kbd){margin-right:-.35rem}.has-\[\>kbd\]\:ml-\[-0\.35rem\]:has(>kbd){margin-left:-.35rem}.has-\[\>svg\]\:grid-cols-\[calc\(var\(--spacing\)\*4\)_1fr\]:has(>svg){grid-template-columns:calc(var(--spacing) * 4) 1fr}.has-\[\>svg\]\:gap-x-3:has(>svg){column-gap:calc(var(--spacing) * 3)}.has-\[\>svg\]\:p-0:has(>svg){padding:calc(var(--spacing) * 0)}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:px-2:has(>svg){padding-inline:calc(var(--spacing) * 2)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.has-\[\>textarea\]\:h-auto:has(>textarea){height:auto}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.aria-selected\:text-muted-foreground[aria-selected=true]{color:var(--muted-foreground)}.aria-\[orientation\=horizontal\]\:h-px[aria-orientation=horizontal]{height:1px}.aria-\[orientation\=horizontal\]\:w-full[aria-orientation=horizontal]{width:100%}.aria-\[orientation\=horizontal\]\:after\:left-0[aria-orientation=horizontal]:after{content:var(--tw-content);left:calc(var(--spacing) * 0)}.aria-\[orientation\=horizontal\]\:after\:h-1[aria-orientation=horizontal]:after{content:var(--tw-content);height:calc(var(--spacing) * 1)}.aria-\[orientation\=horizontal\]\:after\:w-full[aria-orientation=horizontal]:after{content:var(--tw-content);width:100%}.aria-\[orientation\=horizontal\]\:after\:translate-x-0[aria-orientation=horizontal]:after{content:var(--tw-content);--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.aria-\[orientation\=horizontal\]\:after\:-translate-y-1\/2[aria-orientation=horizontal]:after{content:var(--tw-content);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.aria-\[orientation\=vertical\]\:flex-col[aria-orientation=vertical]{flex-direction:column}.data-empty\:p-0[data-empty]{padding:calc(var(--spacing) * 0)}.data-highlighted\:bg-accent[data-highlighted]{background-color:var(--accent)}.data-highlighted\:text-accent-foreground[data-highlighted]{color:var(--accent-foreground)}.data-pressed\:bg-transparent[data-pressed]{background-color:#0000}:is(.group-data-\[align\=end\]\/message\:\*\:data-slot\:self-end:is(:where(.group\/message)[data-align=end] *)>*)[data-slot]{align-self:flex-end}.data-\[active\=false\]\:pointer-events-none[data-active=false]{pointer-events:none}.data-\[active\=false\]\:scale-95[data-active=false]{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.data-\[active\=false\]\:opacity-0[data-active=false]{opacity:0}.data-\[active\=false\]\:duration-400[data-active=false]{--tw-duration:.4s;transition-duration:.4s}.data-\[active\=false\]\:ease-\[cubic-bezier\(0\.7\,0\,0\.84\,0\)\][data-active=false]{--tw-ease:cubic-bezier(.7,0,.84,0);transition-timing-function:cubic-bezier(.7,0,.84,0)}.data-\[active\=true\]\:z-10[data-active=true]{z-index:10}.data-\[active\=true\]\:translate-y-0[data-active=true]{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[active\=true\]\:scale-100[data-active=true]{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.data-\[active\=true\]\:border-ring[data-active=true]{border-color:var(--ring)}.data-\[active\=true\]\:bg-accent\/50[data-active=true]{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.data-\[active\=true\]\:bg-accent\/50[data-active=true]{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:var(--sidebar-accent)}.data-\[active\=true\]\:font-medium[data-active=true]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[active\=true\]\:text-accent-foreground[data-active=true]{color:var(--accent-foreground)}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:var(--sidebar-accent-foreground)}.data-\[active\=true\]\:opacity-100[data-active=true]{opacity:1}.data-\[active\=true\]\:ring-\[3px\][data-active=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[active\=true\]\:ring-ring\/50[data-active=true]{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.data-\[active\=true\]\:ring-ring\/50[data-active=true]{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.data-\[active\=true\]\:ease-\[cubic-bezier\(0\.23\,1\,0\.32\,1\)\][data-active=true]{--tw-ease:cubic-bezier(.23,1,.32,1);transition-timing-function:cubic-bezier(.23,1,.32,1)}@media (hover:hover){.data-\[active\=true\]\:hover\:bg-accent[data-active=true]:hover{background-color:var(--accent)}}.data-\[active\=true\]\:focus\:bg-accent[data-active=true]:focus{background-color:var(--accent)}.data-\[active\=true\]\:aria-invalid\:border-destructive[data-active=true][aria-invalid=true]{border-color:var(--destructive)}.data-\[active\=true\]\:aria-invalid\:ring-destructive\/20[data-active=true][aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.data-\[active\=true\]\:aria-invalid\:ring-destructive\/20[data-active=true][aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-\[align\=end\]\:flex-row-reverse[data-align=end]{flex-direction:row-reverse}.data-\[align\=end\]\:self-end[data-align=end]{align-self:flex-end}.data-\[chips\=true\]\:min-w-\(--anchor-width\)[data-chips=true]{min-width:var(--anchor-width)}.data-\[direction\=end\]\:bottom-4[data-direction=end]{bottom:calc(var(--spacing) * 4)}.data-\[direction\=end\]\:data-\[active\=false\]\:translate-y-full[data-direction=end][data-active=false]{--tw-translate-y:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[direction\=start\]\:top-4[data-direction=start]{top:calc(var(--spacing) * 4)}.data-\[direction\=start\]\:data-\[active\=false\]\:-translate-y-full[data-direction=start][data-active=false]{--tw-translate-y:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[error\=true\]\:text-destructive[data-error=true]{color:var(--destructive)}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing) * 8)}.data-\[invalid\=true\]\:text-destructive[data-invalid=true]{color:var(--destructive)}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x:calc(52*var(--spacing))}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x:calc(52*var(--spacing)*-1)}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x:calc(52*var(--spacing))}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x:calc(52*var(--spacing)*-1)}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity:0}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-]{--tw-exit-opacity:0}.data-\[orientation\=horizontal\]\:h-1\.5[data-orientation=horizontal]{height:calc(var(--spacing) * 1.5)}.data-\[orientation\=horizontal\]\:h-full[data-orientation=horizontal]{height:100%}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=horizontal\]\:flex-col[data-orientation=horizontal]{flex-direction:column}.data-\[orientation\=vertical\]\:h-auto[data-orientation=vertical]{height:auto}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:min-h-44[data-orientation=vertical]{min-height:calc(var(--spacing) * 44)}.data-\[orientation\=vertical\]\:w-1\.5[data-orientation=vertical]{width:calc(var(--spacing) * 1.5)}.data-\[orientation\=vertical\]\:w-auto[data-orientation=vertical]{width:auto}.data-\[orientation\=vertical\]\:w-full[data-orientation=vertical]{width:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[orientation\=vertical\]\:flex-col[data-orientation=vertical]{flex-direction:column}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[range-end\=true\]\:rounded-md[data-range-end=true]{border-radius:calc(var(--radius) - 2px)}.data-\[range-end\=true\]\:rounded-r-md[data-range-end=true]{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.data-\[range-end\=true\]\:bg-primary[data-range-end=true]{background-color:var(--primary)}.data-\[range-end\=true\]\:text-primary-foreground[data-range-end=true]{color:var(--primary-foreground)}.data-\[range-middle\=true\]\:rounded-none[data-range-middle=true]{border-radius:0}.data-\[range-middle\=true\]\:bg-accent[data-range-middle=true]{background-color:var(--accent)}.data-\[range-middle\=true\]\:text-accent-foreground[data-range-middle=true]{color:var(--accent-foreground)}.data-\[range-start\=true\]\:rounded-md[data-range-start=true]{border-radius:calc(var(--radius) - 2px)}.data-\[range-start\=true\]\:rounded-l-md[data-range-start=true]{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.data-\[range-start\=true\]\:bg-primary[data-range-start=true]{background-color:var(--primary)}.data-\[range-start\=true\]\:text-primary-foreground[data-range-start=true]{color:var(--primary-foreground)}.data-\[selected-single\=true\]\:bg-primary[data-selected-single=true]{background-color:var(--primary)}.data-\[selected-single\=true\]\:text-primary-foreground[data-selected-single=true]{color:var(--primary-foreground)}.data-\[selected\=true\]\:rounded-none[data-selected=true]{border-radius:0}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:var(--accent)}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--accent-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing) * 9)}.data-\[size\=default\]\:h-\[1\.15rem\][data-size=default]{height:1.15rem}.data-\[size\=default\]\:w-8[data-size=default]{width:calc(var(--spacing) * 8)}.data-\[size\=lg\]\:size-10[data-size=lg]{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.data-\[size\=sm\]\:size-6[data-size=sm]{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.data-\[size\=sm\]\:h-3\.5[data-size=sm]{height:calc(var(--spacing) * 3.5)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing) * 8)}.data-\[size\=sm\]\:w-6[data-size=sm]{width:calc(var(--spacing) * 6)}.data-\[size\=sm\]\:max-w-xs[data-size=sm]{max-width:var(--container-xs)}.data-\[size\=sm\]\:py-1[data-size=sm]{padding-block:calc(var(--spacing) * 1)}:is(.\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description]{color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){:is(.\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description]{color:color-mix(in oklab, var(--destructive) 90%, transparent)}}:is(.\*\:data-\[slot\=attachment\]\:flex-none>*)[data-slot=attachment]{flex:none}:is(.\*\:data-\[slot\=attachment\]\:snap-start>*)[data-slot=attachment]{scroll-snap-align:start}:is(.\*\:data-\[slot\=avatar\]\:ring-2>*)[data-slot=avatar]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:is(.\*\:data-\[slot\=avatar\]\:ring-background>*)[data-slot=avatar]{--tw-ring-color:var(--background)}:is(.\*\:data-\[slot\=bubble-content\]\:rounded-none>*)[data-slot=bubble-content]{border-radius:0}:is(.\*\:data-\[slot\=bubble-content\]\:border-border>*)[data-slot=bubble-content]{border-color:var(--border)}:is(.\*\:data-\[slot\=bubble-content\]\:bg-\[oklch\(from_var\(--primary\)_0\.93_calc\(c\*0\.4\)_h\)\]>*)[data-slot=bubble-content]{background-color:oklch(from var(--primary) .93 calc(c * .4) h)}:is(.\*\:data-\[slot\=bubble-content\]\:bg-background>*)[data-slot=bubble-content]{background-color:var(--background)}:is(.\*\:data-\[slot\=bubble-content\]\:bg-destructive\/10>*)[data-slot=bubble-content]{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){:is(.\*\:data-\[slot\=bubble-content\]\:bg-destructive\/10>*)[data-slot=bubble-content]{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}:is(.\*\:data-\[slot\=bubble-content\]\:bg-muted>*)[data-slot=bubble-content]{background-color:var(--muted)}:is(.\*\:data-\[slot\=bubble-content\]\:bg-primary>*)[data-slot=bubble-content]{background-color:var(--primary)}:is(.\*\:data-\[slot\=bubble-content\]\:bg-secondary>*)[data-slot=bubble-content]{background-color:var(--secondary)}:is(.\*\:data-\[slot\=bubble-content\]\:bg-transparent>*)[data-slot=bubble-content]{background-color:#0000}:is(.\*\:data-\[slot\=bubble-content\]\:p-0>*)[data-slot=bubble-content]{padding:calc(var(--spacing) * 0)}:is(.\*\:data-\[slot\=bubble-content\]\:text-destructive>*)[data-slot=bubble-content]{color:var(--destructive)}:is(.\*\:data-\[slot\=bubble-content\]\:text-foreground>*)[data-slot=bubble-content]{color:var(--foreground)}:is(.\*\:data-\[slot\=bubble-content\]\:text-primary-foreground>*)[data-slot=bubble-content]{color:var(--primary-foreground)}:is(.\*\:data-\[slot\=bubble-content\]\:text-secondary-foreground>*)[data-slot=bubble-content]{color:var(--secondary-foreground)}.data-\[slot\=checkbox-group\]\:gap-3[data-slot=checkbox-group]{gap:calc(var(--spacing) * 3)}:is(.\*\*\:data-\[slot\=command-input-wrapper\]\:h-12 *)[data-slot=command-input-wrapper]{height:calc(var(--spacing) * 12)}:is(.\*\:data-\[slot\=input-group\]\:m-1>*)[data-slot=input-group]{margin:calc(var(--spacing) * 1)}:is(.\*\:data-\[slot\=input-group\]\:mb-0>*)[data-slot=input-group]{margin-bottom:calc(var(--spacing) * 0)}:is(.\*\:data-\[slot\=input-group\]\:h-8>*)[data-slot=input-group]{height:calc(var(--spacing) * 8)}:is(.\*\:data-\[slot\=input-group\]\:border-input\/30>*)[data-slot=input-group]{border-color:var(--input)}@supports (color:color-mix(in lab, red, red)){:is(.\*\:data-\[slot\=input-group\]\:border-input\/30>*)[data-slot=input-group]{border-color:color-mix(in oklab, var(--input) 30%, transparent)}}:is(.\*\:data-\[slot\=input-group\]\:bg-input\/30>*)[data-slot=input-group]{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){:is(.\*\:data-\[slot\=input-group\]\:bg-input\/30>*)[data-slot=input-group]{background-color:color-mix(in oklab, var(--input) 30%, transparent)}}:is(.\*\:data-\[slot\=input-group\]\:shadow-none>*)[data-slot=input-group]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:is(.\*\*\:data-\[slot\=navigation-menu-link\]\:focus\:ring-0 *)[data-slot=navigation-menu-link]:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:is(.\*\*\:data-\[slot\=navigation-menu-link\]\:focus\:outline-none *)[data-slot=navigation-menu-link]:focus{--tw-outline-style:none;outline-style:none}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing) * 2)}:is(.group-data-\[orientation\=vertical\]\/attachment\:\*\:data-\[slot\=spinner\]\:size-6\!:is(:where(.group\/attachment)[data-orientation=vertical] *)>*)[data-slot=spinner]{width:calc(var(--spacing) * 6)!important;height:calc(var(--spacing) * 6)!important}.data-\[spacing\=0\]\:rounded-none[data-spacing="0"]{border-radius:0}.data-\[spacing\=0\]\:shadow-none[data-spacing="0"]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[spacing\=0\]\:first\:rounded-l-md[data-spacing="0"]:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.data-\[spacing\=0\]\:last\:rounded-r-md[data-spacing="0"]:last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.group-data-\[variant\=default\]\/tabs-list\:data-\[state\=active\]\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *)[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]:after{content:var(--tw-content);opacity:1}.data-\[state\=checked\]\:translate-x-\[calc\(100\%-2px\)\][data-state=checked]{--tw-translate-x:calc(100% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:border-primary[data-state=checked]{border-color:var(--primary)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=closed\]\:animate-out:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=closed\]\:fade-out-0:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=closed]{--tw-exit-opacity:0}.group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=closed\]\:zoom-out-95:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=error\]\:border-destructive\/30[data-state=error]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.data-\[state\=error\]\:border-destructive\/30[data-state=error]{border-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.data-\[state\=hidden\]\:animate-out[data-state=hidden]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity:0}.data-\[state\=idle\]\:border-dashed[data-state=idle]{--tw-border-style:dashed;border-style:dashed}.data-\[state\=on\]\:bg-accent[data-state=on]{background-color:var(--accent)}.data-\[state\=on\]\:text-accent-foreground[data-state=on]{color:var(--accent-foreground)}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open],.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:var(--secondary)}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--accent-foreground)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale:.9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=open\]\:animate-in:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=open\]\:fade-in-0:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=open]{--tw-enter-opacity:0}.group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=open\]\:zoom-in-95:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=open]{--tw-enter-scale:.95}@media (hover:hover){.data-\[state\=open\]\:hover\:bg-accent[data-state=open]:hover{background-color:var(--accent)}.data-\[state\=open\]\:hover\:bg-sidebar-accent[data-state=open]:hover{background-color:var(--sidebar-accent)}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground[data-state=open]:hover{color:var(--sidebar-accent-foreground)}}.data-\[state\=open\]\:focus\:bg-accent[data-state=open]:focus{background-color:var(--accent)}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--input)}.data-\[state\=visible\]\:animate-in[data-state=visible]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity:0}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}.data-\[variant\=ghost\]\:max-w-full[data-variant=ghost]{max-width:100%}.data-\[variant\=label\]\:text-sm[data-variant=label]{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.data-\[variant\=legend\]\:text-base[data-variant=legend]{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.data-\[variant\=line\]\:rounded-none[data-variant=line]{border-radius:0}.data-\[spacing\=0\]\:data-\[variant\=outline\]\:border-l-0[data-spacing="0"][data-variant=outline]{border-left-style:var(--tw-border-style);border-left-width:0}.data-\[spacing\=0\]\:data-\[variant\=outline\]\:first\:border-l[data-spacing="0"][data-variant=outline]:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\[spacing\=default\]\:data-\[variant\=outline\]\:shadow-xs[data-spacing=default][data-variant=outline]{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[vaul-drawer-direction\=bottom\]\:inset-x-0[data-vaul-drawer-direction=bottom]{inset-inline:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=bottom\]\:bottom-0[data-vaul-drawer-direction=bottom]{bottom:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=bottom\]\:mt-24[data-vaul-drawer-direction=bottom]{margin-top:calc(var(--spacing) * 24)}.data-\[vaul-drawer-direction\=bottom\]\:max-h-\[80vh\][data-vaul-drawer-direction=bottom]{max-height:80vh}.data-\[vaul-drawer-direction\=bottom\]\:rounded-t-lg[data-vaul-drawer-direction=bottom]{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.data-\[vaul-drawer-direction\=bottom\]\:border-t[data-vaul-drawer-direction=bottom]{border-top-style:var(--tw-border-style);border-top-width:1px}.data-\[vaul-drawer-direction\=left\]\:inset-y-0[data-vaul-drawer-direction=left]{inset-block:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=left\]\:left-0[data-vaul-drawer-direction=left]{left:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=left\]\:w-3\/4[data-vaul-drawer-direction=left]{width:75%}.data-\[vaul-drawer-direction\=left\]\:border-r[data-vaul-drawer-direction=left]{border-right-style:var(--tw-border-style);border-right-width:1px}.data-\[vaul-drawer-direction\=right\]\:inset-y-0[data-vaul-drawer-direction=right]{inset-block:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=right\]\:right-0[data-vaul-drawer-direction=right]{right:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=right\]\:w-3\/4[data-vaul-drawer-direction=right]{width:75%}.data-\[vaul-drawer-direction\=right\]\:border-l[data-vaul-drawer-direction=right]{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\[vaul-drawer-direction\=top\]\:inset-x-0[data-vaul-drawer-direction=top]{inset-inline:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=top\]\:top-0[data-vaul-drawer-direction=top]{top:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=top\]\:mb-24[data-vaul-drawer-direction=top]{margin-bottom:calc(var(--spacing) * 24)}.data-\[vaul-drawer-direction\=top\]\:max-h-\[80vh\][data-vaul-drawer-direction=top]{max-height:80vh}.data-\[vaul-drawer-direction\=top\]\:rounded-b-lg[data-vaul-drawer-direction=top]{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.data-\[vaul-drawer-direction\=top\]\:border-b[data-vaul-drawer-direction=top]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.nth-last-2\:-mt-1:nth-last-child(2){margin-top:calc(var(--spacing) * -1)}@media (min-width:40rem){.sm\:block{display:block}.sm\:flex{display:flex}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:calc(var(--spacing) * 2.5)}.sm\:pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.sm\:pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.sm\:text-left{text-align:left}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:row-span-2:is(:where(.group\/alert-dialog-content)[data-size=default] *){grid-row:span 2/span 2}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:place-items-start:is(:where(.group\/alert-dialog-content)[data-size=default] *){place-items:start}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:text-left:is(:where(.group\/alert-dialog-content)[data-size=default] *){text-align:left}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:group-has-data-\[slot\=alert-dialog-media\]\/alert-dialog-content\:col-start-2:is(:where(.group\/alert-dialog-content)[data-size=default] *):is(:where(.group\/alert-dialog-content):has([data-slot=alert-dialog-media]) *){grid-column-start:2}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_1fr\]:is(:where(.group\/alert-dialog-content)[data-size=default] *):has([data-slot=alert-dialog-media]){grid-template-rows:auto 1fr}.data-\[size\=default\]\:sm\:max-w-lg[data-size=default]{max-width:var(--container-lg)}.data-\[vaul-drawer-direction\=left\]\:sm\:max-w-sm[data-vaul-drawer-direction=left],.data-\[vaul-drawer-direction\=right\]\:sm\:max-w-sm[data-vaul-drawer-direction=right]{max-width:var(--container-sm)}}@media (min-width:48rem){.md\:absolute{position:absolute}.md\:block{display:block}.md\:flex{display:flex}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:flex-row{flex-direction:row}.md\:gap-1\.5{gap:calc(var(--spacing) * 1.5)}.md\:p-12{padding:calc(var(--spacing) * 12)}.md\:text-left{text-align:left}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:opacity-0{opacity:0}.md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing) * 2)}.md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*){margin-left:calc(var(--spacing) * 0)}.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:calc(var(--radius) + 4px)}.md\:peer-data-\[variant\=inset\]\:shadow-sm:is(:where(.peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2:is(:where(.peer)[data-variant=inset]~*):is(:where(.peer)[data-state=collapsed]~*){margin-left:calc(var(--spacing) * 2)}.md\:after\:hidden:after{content:var(--tw-content);display:none}}@container field-group (width>=28rem){.\@md\/field-group\:flex-row{flex-direction:row}.\@md\/field-group\:items-center{align-items:center}.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]){align-items:flex-start}}.rtl\:translate-x-1\/2:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(1 / 2 * 100%);translate:var(--tw-translate-x) var(--tw-translate-y)}@media (prefers-color-scheme:dark){.dark\:border-input{border-color:var(--input)}.dark\:bg-destructive\/60{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/60{background-color:color-mix(in oklab, var(--destructive) 60%, transparent)}}.dark\:bg-input\/30{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30{background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:bg-transparent{background-color:#0000}.dark\:text-muted-foreground{color:var(--muted-foreground)}@media (hover:hover){.dark\:hover\:bg-accent\/50:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-accent\/50:hover{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.dark\:hover\:bg-input\/50:hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.dark\:hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.dark\:hover\:text-foreground:hover{color:var(--foreground)}}.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:has-aria-invalid\:border-destructive\/50:has([aria-invalid=true]){border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:has-aria-invalid\:border-destructive\/50:has([aria-invalid=true]){border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.dark\:has-aria-invalid\:ring-destructive\/40:has([aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:has-aria-invalid\:ring-destructive\/40:has([aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:has-data-\[state\=checked\]\:bg-primary\/10:has([data-state=checked]){background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.dark\:has-data-\[state\=checked\]\:bg-primary\/10:has([data-state=checked]){background-color:color-mix(in oklab, var(--primary) 10%, transparent)}}.dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40:has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40:has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:data-\[active\=true\]\:aria-invalid\:ring-destructive\/40[data-active=true][aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[active\=true\]\:aria-invalid\:ring-destructive\/40[data-active=true][aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}:is(.dark\:\*\:data-\[slot\=bubble-content\]\:bg-\[oklch\(from_var\(--primary\)_0\.3_calc\(c\*0\.4\)_h\)\]>*)[data-slot=bubble-content]{background-color:oklch(from var(--primary) .3 calc(c * .4) h)}:is(.dark\:\*\:data-\[slot\=bubble-content\]\:bg-destructive\/20>*)[data-slot=bubble-content]{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){:is(.dark\:\*\:data-\[slot\=bubble-content\]\:bg-destructive\/20>*)[data-slot=bubble-content]{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.dark\:data-\[state\=active\]\:border-input[data-state=active]{border-color:var(--input)}.dark\:data-\[state\=active\]\:bg-input\/30[data-state=active]{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[state\=active\]\:bg-input\/30[data-state=active]{background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:border-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{border-color:#0000}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}.dark\:data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.dark\:data-\[state\=checked\]\:bg-primary-foreground[data-state=checked]{background-color:var(--primary-foreground)}.dark\:data-\[state\=unchecked\]\:bg-foreground[data-state=unchecked]{background-color:var(--foreground)}.dark\:data-\[state\=unchecked\]\:bg-input\/80[data-state=unchecked]{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[state\=unchecked\]\:bg-input\/80[data-state=unchecked]{background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}}@media (pointer:coarse){.pointer-coarse\:size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.pointer-coarse\:px-3{padding-inline:calc(var(--spacing) * 3)}.pointer-coarse\:py-2{padding-block:calc(var(--spacing) * 2)}.pointer-coarse\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.data-open\:animate-in:where([data-state=open]),.data-open\:animate-in:where([data-open]:not([data-open=false])){animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-open\:fade-in-0:where([data-state=open]),.data-open\:fade-in-0:where([data-open]:not([data-open=false])){--tw-enter-opacity:0}.data-open\:zoom-in-95:where([data-state=open]),.data-open\:zoom-in-95:where([data-open]:not([data-open=false])){--tw-enter-scale:.95}.data-closed\:animate-out:where([data-state=closed]),.data-closed\:animate-out:where([data-closed]:not([data-closed=false])){animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-closed\:fade-out-0:where([data-state=closed]),.data-closed\:fade-out-0:where([data-closed]:not([data-closed=false])){--tw-exit-opacity:0}.data-closed\:zoom-out-95:where([data-state=closed]),.data-closed\:zoom-out-95:where([data-closed]:not([data-closed=false])){--tw-exit-scale:.95}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:var(--muted-foreground)}.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke=\#ccc]{stroke:var(--border)}@supports (color:color-mix(in lab, red, red)){.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke=\#ccc]{stroke:color-mix(in oklab, var(--border) 50%, transparent)}}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:var(--border)}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke=\#fff]{stroke:#0000}.\[\&_\.recharts-layer\]\:outline-hidden .recharts-layer{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.\[\&_\.recharts-layer\]\:outline-hidden .recharts-layer{outline-offset:2px;outline:2px solid #0000}}.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke=\#ccc]{stroke:var(--border)}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:var(--muted)}.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke=\#ccc]{stroke:var(--border)}.\[\&_\.recharts-sector\]\:outline-hidden .recharts-sector{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.\[\&_\.recharts-sector\]\:outline-hidden .recharts-sector{outline-offset:2px;outline:2px solid #0000}}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke=\#fff]{stroke:#0000}.\[\&_\.recharts-surface\]\:outline-hidden .recharts-surface{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.\[\&_\.recharts-surface\]\:outline-hidden .recharts-surface{outline-offset:2px;outline:2px solid #0000}}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing) * 1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--muted-foreground)}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:calc(var(--spacing) * 0)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing) * 12)}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing) * 3)}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing) * 5)}.\[\&_img\]\:size-full img{width:100%;height:100%}.\[\&_img\]\:object-cover img{object-fit:cover}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.data-\[direction\=start\]\:\[\&_svg\]\:rotate-180[data-direction=start] svg{rotate:180deg}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-6 svg:not([class*=size-]),.group-data-\[orientation\=vertical\]\/attachment\:\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-6:is(:where(.group\/attachment)[data-orientation=vertical] *) svg:not([class*=size-]){width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.group-data-\[size\=xs\]\/attachment\:\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5:is(:where(.group\/attachment)[data-size=xs] *) svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\+\[data-slot\=item-content\]\]\:flex-none+[data-slot=item-content]{flex:none}.\[\&\:first-child\[data-selected\=true\]_button\]\:rounded-l-md:first-child[data-selected=true] button{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing) * 0)}.\[\.border-b\]\:pb-3.border-b{padding-bottom:calc(var(--spacing) * 3)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing) * 6)}.\[\.border-t\]\:pt-3.border-t{padding-top:calc(var(--spacing) * 3)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing) * 6)}:is(.rtl\:\*\*\:\[\.rdp-button\\_next\>svg\]\:rotate-180:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *) *):is(.rdp-button_next>svg),:is(.rtl\:\*\*\:\[\.rdp-button\\_previous\>svg\]\:rotate-180:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *) *):is(.rdp-button_previous>svg){rotate:180deg}.\[a\]\:underline:is(a){text-decoration-line:underline}.\[a\]\:underline-offset-3:is(a){text-underline-offset:3px}.\[a\]\:transition-colors:is(a){transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}:is(.\*\:\[a\]\:underline>*):is(a){text-decoration-line:underline}:is(.\*\:\[a\]\:underline-offset-3>*):is(a){text-underline-offset:3px}@media (hover:hover){.\[a\]\:hover\:bg-accent\/50:is(a):hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-accent\/50:is(a):hover{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.\[a\]\:hover\:text-foreground:is(a):hover,:is(.\*\:\[a\]\:hover\:text-foreground>*):is(a):hover{color:var(--foreground)}}.\[button\]\:text-left:is(button){text-align:left}.\[button\,a\]\:transition-colors:is(button,a){transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.\[button\,a\]\:outline-none:is(button,a){--tw-outline-style:none;outline-style:none}.\[button\,a\]\:focus-visible\:border-ring:is(button,a):focus-visible{border-color:var(--ring)}.\[button\,a\]\:focus-visible\:ring-3:is(button,a):focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.\[button\,a\]\:focus-visible\:ring-ring\/50:is(button,a):focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.\[button\,a\]\:focus-visible\:ring-ring\/50:is(button,a):focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}:is(.\*\:\[img\]\:aspect-square>*):is(img){aspect-ratio:1}:is(.\*\:\[img\]\:w-full>*):is(img){width:100%}:is(.\*\:\[img\]\:object-cover>*):is(img){object-fit:cover}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing) * 2)}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive\![data-variant=destructive]>*):is(svg){color:var(--destructive)!important}:is(.\*\:\[svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-8>*):is(svg:not([class*=size-])){width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.\[\&\:last-child\[data-selected\=true\]_button\]\:rounded-r-md:last-child[data-selected=true] button{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:nth-child\(2\)\[data-selected\=true\]_button\]\:rounded-l-md:nth-child(2)[data-selected=true] button{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.\[\&\>\*\]\:w-full>*{width:100%}.\[\&\>\*\]\:focus-visible\:relative>:focus-visible{position:relative}.\[\&\>\*\]\:focus-visible\:z-10>:focus-visible{z-index:10}.\[\&\>\*\]\:data-\[slot\=field\]\:p-4>[data-slot=field]{padding:calc(var(--spacing) * 4)}@container field-group (width>=28rem){.\@md\/field-group\:\[\&\>\*\]\:w-auto>*{width:auto}}.\[\&\>\*\:not\(\:first-child\)\]\:rounded-t-none>:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.\[\&\>\*\:not\(\:first-child\)\]\:rounded-l-none>:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.\[\&\>\*\:not\(\:first-child\)\]\:border-t-0>:not(:first-child){border-top-style:var(--tw-border-style);border-top-width:0}.\[\&\>\*\:not\(\:first-child\)\]\:border-l-0>:not(:first-child){border-left-style:var(--tw-border-style);border-left-width:0}.\[\&\>\*\:not\(\:last-child\)\]\:rounded-r-none>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.\[\&\>\*\:not\(\:last-child\)\]\:rounded-b-none>:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.\[\&\>\.sr-only\]\:w-auto>.sr-only{width:auto}.\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[color-mix\(in_oklch\,var\(--muted\)\,var\(--foreground\)_5\%\)\]>[data-slot=bubble-content]:is(button,a):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[color-mix\(in_oklch\,var\(--muted\)\,var\(--foreground\)_5\%\)\]>[data-slot=bubble-content]:is(button,a):hover{background-color:color-mix(in oklch,var(--muted),var(--foreground) 5%)}}.\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]>[data-slot=bubble-content]:is(button,a):hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]>[data-slot=bubble-content]:is(button,a):hover{background-color:color-mix(in oklch,var(--secondary),var(--foreground) 5%)}}.\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[oklch\(from_var\(--primary\)_0\.88_calc\(c\*0\.5\)_h\)\]>[data-slot=bubble-content]:is(button,a):hover{background-color:oklch(from var(--primary) .88 calc(c * .5) h)}.\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-destructive\/20>[data-slot=bubble-content]:is(button,a):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-destructive\/20>[data-slot=bubble-content]:is(button,a):hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-muted>[data-slot=bubble-content]:is(button,a):hover{background-color:var(--muted)}.\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-primary\/80>[data-slot=bubble-content]:is(button,a):hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-primary\/80>[data-slot=bubble-content]:is(button,a):hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:text-foreground>[data-slot=bubble-content]:is(button,a):hover{color:var(--foreground)}@media (prefers-color-scheme:dark){.dark\:\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[oklch\(from_var\(--primary\)_0\.35_calc\(c\*0\.5\)_h\)\]>[data-slot=bubble-content]:is(button,a):hover{background-color:oklch(from var(--primary) .35 calc(c * .5) h)}.dark\:\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-destructive\/30>[data-slot=bubble-content]:is(button,a):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-destructive\/30>[data-slot=bubble-content]:is(button,a):hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.dark\:\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-input\/30>[data-slot=bubble-content]:is(button,a):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-input\/30>[data-slot=bubble-content]:is(button,a):hover{background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-muted\/50>[data-slot=bubble-content]:is(button,a):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-muted\/50>[data-slot=bubble-content]:is(button,a):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}}.\[\&\>\[data-slot\=field-group\]\]\:gap-4>[data-slot=field-group]{gap:calc(var(--spacing) * 4)}.\[\&\>\[data-slot\=field-label\]\]\:flex-auto>[data-slot=field-label]{flex:auto}@container field-group (width>=28rem){.\@md\/field-group\:\[\&\>\[data-slot\=field-label\]\]\:flex-auto>[data-slot=field-label]{flex:auto}}.has-\[select\[aria-hidden\=true\]\:last-child\]\:\[\&\>\[data-slot\=select-trigger\]\:last-of-type\]\:rounded-r-md:has(:is(select[aria-hidden=true]:last-child))>[data-slot=select-trigger]:last-of-type{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\>\[data-slot\=select-trigger\]\:not\(\[class\*\=\'w-\'\]\)\]\:w-fit>[data-slot=select-trigger]:not([class*=w-]){width:fit-content}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}:is(.has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content])>[role=checkbox],.has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content]) [role=radio]){margin-top:1px}@container field-group (width>=28rem){:is(.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content])>[role=checkbox],.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content]) [role=radio]){margin-top:1px}}.\[\&\>a\]\:underline>a{text-decoration-line:underline}.\[\&\>a\]\:underline-offset-4>a{text-underline-offset:4px}.\[\&\>a\:hover\]\:text-primary>a:hover{color:var(--primary)}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>input\]\:flex-1>input{flex:1}.has-\[\>\[data-align\=block-end\]\]\:\[\&\>input\]\:pt-3:has(>[data-align=block-end])>input{padding-top:calc(var(--spacing) * 3)}.has-\[\>\[data-align\=block-start\]\]\:\[\&\>input\]\:pb-3:has(>[data-align=block-start])>input{padding-bottom:calc(var(--spacing) * 3)}.has-\[\>\[data-align\=inline-end\]\]\:\[\&\>input\]\:pr-2:has(>[data-align=inline-end])>input{padding-right:calc(var(--spacing) * 2)}.has-\[\>\[data-align\=inline-start\]\]\:\[\&\>input\]\:pl-2:has(>[data-align=inline-start])>input{padding-left:calc(var(--spacing) * 2)}.\[\&\>kbd\]\:rounded-\[calc\(var\(--radius\)-5px\)\]>kbd{border-radius:calc(var(--radius) - 5px)}.\[\&\>span\]\:text-xs>span{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&\>span\]\:opacity-70>span{opacity:.7}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&\>svg\]\:size-3\.5>svg{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>svg\]\:h-2\.5>svg{height:calc(var(--spacing) * 2.5)}.\[\&\>svg\]\:h-3>svg{height:calc(var(--spacing) * 3)}.\[\&\>svg\]\:w-2\.5>svg{width:calc(var(--spacing) * 2.5)}.\[\&\>svg\]\:w-3>svg{width:calc(var(--spacing) * 3)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:translate-y-0\.5>svg{--tw-translate-y:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>svg\]\:text-current>svg{color:currentColor}.\[\&\>svg\]\:text-muted-foreground>svg{color:var(--muted-foreground)}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}.group-has-data-\[size\=lg\]\/avatar-group\:\[\&\>svg\]\:size-5:is(:where(.group\/avatar-group):has([data-size=lg]) *)>svg{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.group-has-data-\[size\=sm\]\/avatar-group\:\[\&\>svg\]\:size-3:is(:where(.group\/avatar-group):has([data-size=sm]) *)>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.group-data-\[size\=default\]\/avatar\:\[\&\>svg\]\:size-2:is(:where(.group\/avatar)[data-size=default] *)>svg,.group-data-\[size\=lg\]\/avatar\:\[\&\>svg\]\:size-2:is(:where(.group\/avatar)[data-size=lg] *)>svg{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.group-data-\[size\=sm\]\/avatar\:\[\&\>svg\]\:hidden:is(:where(.group\/avatar)[data-size=sm] *)>svg{display:none}.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5>svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4>svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.\[\&\[aria-orientation\=horizontal\]\>div\]\:rotate-90[aria-orientation=horizontal]>div{rotate:90deg}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{rotate:180deg}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:calc(var(--spacing) * -2)}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:calc(var(--spacing) * -2)}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-slot=card-content] .\[\[data-slot\=card-content\]_\&\]\:bg-transparent,[data-slot=popover-content] .\[\[data-slot\=popover-content\]_\&\]\:bg-transparent{background-color:#0000}[data-slot=tooltip-content] .\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/20{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){[data-slot=tooltip-content] .\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/20{background-color:color-mix(in oklab, var(--background) 20%, transparent)}}[data-slot=tooltip-content] .\[\[data-slot\=tooltip-content\]_\&\]\:text-background{color:var(--background)}@media (prefers-color-scheme:dark){[data-slot=tooltip-content] .dark\:\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/10{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){[data-slot=tooltip-content] .dark\:\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/10{background-color:color-mix(in oklab, var(--background) 10%, transparent)}}}[data-variant=legend]+.\[\[data-variant\=legend\]\+\&\]\:-mt-1\.5{margin-top:calc(var(--spacing) * -1.5)}@media (hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--accent)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab, var(--secondary) 90%, transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--accent-foreground)}a.\[a\&\]\:hover\:underline:hover{text-decoration-line:underline}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}:root{--course-reg:#eaf4fe;--course-reg-ink:#245e9e;--course-neo:#f1f9e9;--course-neo-ink:#567f26;--course-one:#f1eefc;--course-one-ink:#5b45b0;--course-trial:#fff8e7;--course-trial-ink:#96651a;--course-off:#ffe8ee;--course-off-ink:#be2e56;--background:#f5f7fa;--foreground:#1a2c36;--card:#fff;--card-foreground:#1a2c36;--popover:#fff;--popover-foreground:#1a2c36;--primary:#087562;--primary-foreground:#fff;--secondary:#edf3f2;--secondary-foreground:#20463e;--muted:#f2f5f8;--muted-foreground:#78858f;--accent:#eaf5f0;--accent-foreground:#087562;--destructive:#cf4545;--border:#e5eaf0;--input:#dde4eb;--ring:#299a83;--radius:.65rem;--sidebar:#fff;--sidebar-foreground:#596974;--sidebar-primary:#087562;--sidebar-primary-foreground:#fff;--sidebar-accent:#eaf5f0;--sidebar-accent-foreground:#087562;--sidebar-border:#e5eaf0;--sidebar-ring:#299a83;--chart-1:#087562;--chart-2:#567fce;--chart-3:#dda655;--chart-4:#8b77bf;--chart-5:#49aa94;--pink-100:#ffd1dc;--blue-100:#dcedfd;--mint-100:#e8f5d8;--vanilla-100:#fff1cf;--lilac-100:#e6e0fa;--sky-100:#d7edf0;--pink-600:#be2e56;--blue-600:#245e9e;--blue-700:#1a4b80;--mint-600:#567f26;--vanilla-600:#96651a;--lilac-600:#5b45b0;--sky-600:#1e7280;--ink:#26262b;--ink-2:#6e6e76;--ink-3:#a5a5ad;--line:#e9e9ee;--surface:#fff;--page:#fafafb}*{box-sizing:border-box}body{background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-size:16px;line-height:1.6}button,a,input,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h2{letter-spacing:.01em;font-size:17px;font-weight:650}h3{font-size:16px;font-weight:600}small{font-size:13px}strong,b{font-weight:600}:is(button:focus-visible,a:focus-visible){outline-offset:3px;outline:3px solid #40a793}input,textarea{border:1px solid var(--input);width:100%;color:var(--foreground);background:#fff;border-radius:7px;outline:none;min-height:42px;padding:10px 12px;font-size:14px;transition:border-color .15s}input:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #08756212}textarea{resize:vertical;line-height:1.8}input[type=date],input[type=month],input[type=time]{color:#526471;width:auto;max-width:100%}::placeholder{color:#8d9aa4}.primary,.secondary{white-space:nowrap;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 16px;font-size:14px;font-weight:500;line-height:1.4;transition:background .15s;display:inline-flex}.primary{background:var(--primary);color:#fff}.primary:hover:not(:disabled){background:#056552}.secondary{color:#4e6370;border-color:var(--border);background:#fff}.secondary:hover:not(:disabled){background:#f4f7f8;border-color:#c8d4dd}.icon-button{color:#788a98;background:0 0;border:0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.icon-button:hover{color:var(--primary);background:#f0f5f4}.text-button{color:var(--primary);white-space:nowrap;background:0 0;border:0;align-items:center;gap:4px;padding:3px 0;font-size:14px;font-weight:500;display:inline-flex}.text-button:hover{color:#024b40;text-decoration:underline}.muted{color:#84919a;font-size:13px}.block{display:block}.flex-actions,.table-actions,.filter-group{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.table-actions{flex-wrap:nowrap;gap:10px}.pick{width:100%!important;min-width:130px!important;min-height:42px!important;box-shadow:none!important;border-color:var(--input)!important;background:#fff!important;font-size:14px!important}.check-label{color:#596f7a;cursor:pointer;align-items:center;gap:10px;min-height:38px;font-size:14px;display:inline-flex}.check-label [data-slot=checkbox]{border-color:#b6c4cd;width:18px;height:18px}.field{color:#576b78;flex-direction:column;gap:7px;font-size:14px;display:flex}.field>span{font-weight:500}.field>input{width:100%}.wide{grid-column:1/-1}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin-top:18px;display:grid}.form-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:12px;margin-top:24px;padding-top:18px;display:flex}.form-note{background:var(--mint-100);color:var(--mint-600);border-radius:8px;margin:14px 0 0;padding:9px 12px;font-size:13px}.form-error{color:#b43e39;background:#fff2f1;border:1px solid #f7d7d4;border-radius:6px;margin:16px 0;padding:12px 15px;font-size:14px}.info-line{color:#788b97;align-items:center;gap:8px;margin:18px 0;font-size:13px;line-height:1.8;display:flex}.status{white-space:nowrap;border-radius:5px;padding:3px 8px;font-size:14px;font-weight:500;line-height:1.7;display:inline-flex}.status.green{color:#228568;background:#eaf6f0}.status.red{color:#c35b52;background:#fff0ef}.status.amber{color:#b38232;background:#fff5e5}.status.blue{color:#3d6ea8;background:#e8f1fb}.status.gray{color:#768895;background:#f0f4f7}.avatar{color:#087562;background:#e6f2ed;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;display:flex}.avatar.blue{color:#6687c0;background:#eef3fb}.name-cell{align-items:center;gap:9px;display:flex}.cell-preview{text-overflow:ellipsis;white-space:nowrap;max-width:200px;display:block;overflow:hidden}.template-preview{max-width:600px;line-height:1.85;display:block;white-space:normal!important}.empty-state{color:#99a5af;min-height:170px;gap:10px!important;padding:36px 20px!important}.empty-state [data-slot=empty-title]{color:#6c808e;font-size:15px}.empty-state [data-slot=empty-description]{font-size:14px}.empty-foot{text-align:center;color:#8497a2;padding:0 20px 26px;font-size:14px}.panel{border:1px solid var(--border);background:#fff;border-radius:11px;overflow:hidden;box-shadow:0 3px 10px #26334202}.section-heading{justify-content:space-between;align-items:center;gap:16px;padding:21px 22px;display:flex}.section-heading p{color:#8b98a3;margin-top:5px;font-size:13px}.count-label{color:#899aa5;background:#f2f5f8;border-radius:5px;margin-left:6px;padding:4px 8px;font-size:12px;font-weight:400}.count-live{background:var(--blue-100);color:var(--blue-600);white-space:nowrap;border-radius:5px;margin-left:14px;padding:4px 8px;font-size:12px;font-weight:400}.panel [data-slot=table-container]{border-top:1px solid #edf1f4}.panel th{color:#85949f;background:#fafbfd;border:0;height:48px;padding:12px 20px;font-size:13px;font-weight:400}.panel td{color:#526775;border-bottom:1px solid #f0f3f6;padding:19px 20px;font-size:14px}.panel tr:last-child td{border-bottom:0}.panel tbody tr:hover{background:#fbfcfd}.toolbar{justify-content:space-between;align-items:center;gap:14px;margin:22px 0;display:flex}.filter-group>.pick{max-width:230px;width:auto!important;min-width:140px!important}.filter-group input{width:auto}.toolbar>.pick{max-width:260px}.search-input{border:1px solid var(--input);color:#95a3ab;background:#fff;border-radius:7px;align-items:center;gap:8px;min-width:200px;padding:0 11px;display:flex}.search-input input{box-shadow:none;border:0;width:230px;padding-left:0}.tabs-list,[data-slot=tabs-list]{background:#edf1f5;border-radius:7px;height:42px;padding:4px}.tabs-list [data-slot=tabs-trigger],[data-slot=tabs-trigger]{border:0;padding:6px 17px;font-size:14px}.tabs-list [data-slot=tabs-trigger][data-state=active],[data-slot=tabs-trigger][data-state=active]{color:var(--primary);background:#fff;box-shadow:0 1px 4px #00000008}.site-shell{min-height:100vh}.app-sidebar [data-slot=sidebar-inner]{border-right:1px solid var(--border);background:#fff}.app-sidebar [data-slot=sidebar-header]{border-bottom:1px solid #f1f4f6;padding:25px 21px 23px}.brand-line{align-items:center;gap:11px;display:flex}.brand-line img{width:35px;height:35px}.brand-line strong{color:#233741;font-size:18px;font-weight:700}.brand-line small{color:#899aa6;letter-spacing:.1em;margin-top:-2px;font-size:12px;display:block}.brand-mark{background:var(--primary);color:#fff;border-radius:11px;justify-content:center;align-items:center;width:43px;height:43px;font-size:24px;display:flex}.app-sidebar [data-slot=sidebar-content]{gap:6px;padding:16px 10px}.app-sidebar [data-slot=sidebar-group]{padding:0}.app-sidebar [data-slot=sidebar-group-label]{color:#a0adb7;height:35px;padding:0 16px;font-size:12px;font-weight:400}.app-sidebar [data-slot=sidebar-menu]{gap:5px}.nav-button{color:#667b8a!important;border-radius:7px!important;gap:12px!important;height:41px!important;padding:0 16px!important;font-size:14px!important}.nav-button svg{color:#8a9ba7!important;stroke-width:1.65px!important}.nav-button[data-active=true]{font-weight:500;color:var(--blue-700)!important;background:var(--blue-100)!important}.nav-button[data-active=true] svg{color:var(--blue-600)!important;stroke-width:1.9px!important}.nav-button em{color:#b88442;background:#fbebde;border-radius:5px;min-width:19px;margin-left:auto;padding:1px 6px;font-size:12px;font-style:normal;font-weight:500}.sidebar-campus{border-top:1px solid var(--border);color:#748c9a;align-items:center;gap:10px;padding:16px 7px 10px;font-size:13px;display:flex}.sidebar-campus strong{color:#5d7885;font-size:13px;font-weight:500;display:block}.sidebar-campus small{color:#96a7b1;font-size:12px;display:block}.app-sidebar [data-slot=sidebar-footer]{gap:5px;padding:8px 19px 22px}.sidebar-footer-note{color:#9aadb6;align-items:center;gap:7px;padding-left:7px;font-size:12px;display:flex}.app-main{background:#f5f7fa;min-width:0!important}.topbar{border-bottom:1px solid var(--border);background:#fff;flex-shrink:0;justify-content:space-between;align-items:center;gap:24px;height:76px;padding:0 30px;display:flex}.topbar-left{align-items:center;gap:12px;display:flex}.topbar-left [data-slot=sidebar-trigger]{display:none}.breadcrumb{color:#8395a3;align-items:center;gap:12px;font-size:13px;display:flex}.breadcrumb svg{color:#bec8ce}.topbar-right{align-items:center;gap:22px;display:flex}.global-search{color:#8b9aa6;background:#f8fafc;border:1px solid #edf1f4;border-radius:7px;align-items:center;gap:9px;padding:0 11px;display:flex}.global-search input{min-height:35px;box-shadow:none;background:0 0;border:0;width:190px;padding:8px 0;font-size:12px}.notification{position:relative}.notification i{background:#d98c58;border:1px solid #fff;border-radius:50%;width:5px;height:5px;position:absolute;top:5px;right:6px}.topbar-profile{border-left:1px solid #edf1f4;align-items:center;gap:9px;padding-left:20px;display:flex}.topbar-profile>span{min-width:34px;font-size:13px;line-height:1.5}.topbar-profile small{color:#93a3af;font-size:12px;display:block}.topbar-profile>a{color:#95a6b3;margin-left:10px}.workspace{width:100%;min-width:0;max-width:1600px;margin:0 auto;padding:29px 31px 0}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.eyebrow{color:#8e9fab;letter-spacing:.12em;margin-bottom:4px;font-size:12px;font-weight:500}.page-heading h1{letter-spacing:.015em;color:#203641;font-size:26px;font-weight:650;line-height:1.5}.page-heading p{color:#8a9aa7;margin-top:4px;font-size:13px}.heading-actions{align-items:center;gap:13px;display:flex}.heading-actions .pick{width:150px!important;min-width:130px!important}.refresh-button{border:1px solid var(--border);background:#fff;width:38px;height:40px}.demo-notice{color:#6f8a9d;background:#edf4f8;border:1px solid #e1eaf1;border-radius:6px;align-items:center;gap:8px;margin:0 0 21px;padding:8px 12px;font-size:12px;line-height:1.6;display:flex}.demo-notice svg{flex-shrink:0}.demo-notice .demo-badge{white-space:nowrap;color:#8aa0b0;border-left:1px solid #d7e5ed;margin-left:auto;padding-left:12px;font-size:12px}.today-caption{color:#8296a5;justify-content:space-between;align-items:center;margin-bottom:13px;font-size:12px;display:flex}.today-caption span:first-child{color:#577482;font-size:13px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:23px;display:grid}.stat-card{border:1px solid var(--border);background:#fff;border-radius:10px;padding:21px 22px 19px;position:relative;overflow:hidden}.stat-top{color:#81939f;justify-content:space-between;align-items:center;font-size:14px;display:flex}.stat-icon{border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.green{color:#248f77;background:#eaf7f1}.blue{color:#7296cc;background:#f0f5fc}.amber{color:#c29750;background:#fbf4e7}.purple{color:#9884c7;background:#f5f1fb}.stat-value{color:#27424c;letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin:12px 0 11px;font-family:Inter,system-ui,sans-serif;font-size:34px;font-weight:600;line-height:1.2}.stat-value small{color:#879ba7;letter-spacing:0;margin-left:7px;font-size:13px;font-weight:400}.stat-note{color:#9cabb5;font-size:12px}.stat-progress{margin-top:15px;background:#eef5f1!important;height:3px!important}.stat-progress [data-slot=progress-indicator]{background:#60ac96}.stat-progress.purple{background:#f3eef9!important}.stat-progress.purple [data-slot=progress-indicator]{background:#aa97ce}.dashboard-main-grid.solo{grid-template-columns:minmax(0,1fr)}.dashboard-main-grid{grid-template-columns:minmax(0,1fr) 300px;gap:21px;margin-bottom:22px;display:grid}.today-panel th{padding:12px 19px}.today-panel td{padding:21px 18px}.time-cell strong,.class-cell strong{white-space:nowrap;color:#435f6d;font-size:13px;font-weight:550;display:block}.time-cell small,.class-cell small{color:#9cacb6;margin-top:5px;font-size:12px;display:block}.stacked-status{flex-direction:column;gap:7px;display:flex}.stacked-status>span{align-items:center;gap:5px;display:flex}.stacked-status i{background:#deab62;border-radius:50%;width:5px;height:5px;display:block}.stacked-status i.complete{background:#3ca88b}.stacked-status small{color:#98a5ae;font-size:12px}.record-progress{flex-direction:column;gap:5px;display:flex}.record-progress>span{color:#8397a4;align-items:center;gap:6px;font-size:12px;display:flex}.record-progress .status{padding:2px 5px;font-size:12px}.record-progress>small{color:#93a6b4;font-size:12px}.today-panel-footer{color:#92a5b3;background:#fcfdfe;border-top:1px solid #edf1f4;justify-content:flex-start;gap:25px;padding:14px 20px;font-size:12px;display:flex}.todo-panel>.section-heading{padding:21px 19px}.todo-count{color:#bd934f;background:#f8efe3;border-radius:5px;padding:1px 7px;font-size:12px}.todo-list{padding:0 18px}.todo-row{text-align:left;background:0 0;border:0;border-bottom:1px solid #f1f4f7;align-items:center;gap:10px;width:100%;padding:14px 0;display:flex}.todo-row:last-child{border-bottom:0}.todo-icon{border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:31px;height:31px;display:flex}.todo-icon.green{background:var(--mint-100);color:var(--mint-600)}.todo-icon.amber{background:var(--vanilla-100);color:var(--vanilla-600)}.todo-icon.red{background:var(--pink-100);color:var(--pink-600)}.todo-icon.blue{background:var(--blue-100);color:var(--blue-600)}.todo-row>span:nth-child(2){flex:1;min-width:0}.todo-row strong{color:#55717f;font-size:12px;font-weight:500;display:block}.todo-row small{color:#a0afb9;white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:12px;display:block;overflow:hidden}.todo-row>svg{color:#bbc7ce;flex-shrink:0}.todo-footer{color:#96a9b6;background:#fcfdfe;border:0;border-top:1px solid #edf1f4;justify-content:center;align-items:center;gap:5px;width:100%;padding:12px;font-size:12px;display:flex}.dashboard-bottom-grid{grid-template-columns:minmax(0,1.25fr) minmax(330px,1fr);gap:21px;display:grid}.weekly-chart{grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;padding:5px 25px 30px;display:grid}.week-day{color:#94a4ae;background:0 0;border:0;flex-direction:column;align-items:center;gap:6px;padding:8px 0 22px;display:flex;position:relative}.week-day.today{background:#f1f8f5;border-radius:7px}.week-count{color:#91a5b0;height:17px;font-size:12px}.bar-space{border-bottom:1px solid #edf3f5;justify-content:center;align-items:flex-end;width:100%;height:81px;margin:4px 0 6px;display:flex}.week-bar{background:#dcebe5;border-radius:5px 5px 0 0;width:25px;max-height:100%}.today .week-bar{background:#489d85}.week-day b{color:#7c939f;font-size:12px;font-weight:400}.week-day small{font-size:12px}.week-day.today b{color:#2a8c73}.week-day em{color:#439981;font-size:12px;font-style:normal;position:absolute;bottom:0}.monthly-metrics{grid-template-columns:repeat(2,1fr);gap:22px 15px;padding:4px 25px 25px;display:grid}.monthly-metrics>div>span{color:#9babb7;font-size:12px;display:block}.monthly-metrics strong{color:#456470;margin-top:4px;font-size:25px;font-weight:550;display:block}.monthly-metrics small{color:#9caeb9;margin-left:6px;font-size:12px;font-weight:400}.quality-progress{border-top:1px solid #eff3f5;padding:16px 25px 20px}.quality-progress>span{color:#94a8b5;justify-content:space-between;font-size:12px;display:flex}.quality-progress b{color:#65a58f;font-weight:400}.quality-progress [data-slot=progress]{background:#f0f5f3;height:4px;margin:10px 0}.quality-progress [data-slot=progress-indicator]{background:#68a891}.quality-progress>small{color:#a7b5bf;font-size:12px}.workspace-footer{color:#aab7c0;justify-content:space-between;margin-top:7px;padding:25px 0 21px;font-size:12px;display:flex}.mobile-bottom-nav{display:none}.mini-demo{color:#b69a60;background:#fcf6e8;border-radius:4px;padding:1px 5px;font-size:12px}.student-name{color:#506b79;background:0 0;border:0;align-items:center;gap:9px;padding:0;font-size:14px;display:flex}.student-avatar{color:#7c9aab;background:#edf3f8;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;display:flex}.student-avatar.large{width:52px;height:52px;font-size:22px}.focus-mark{color:#b78c3d;align-items:center;gap:4px;font-size:12px;display:flex}.class-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:21px;display:grid}.class-toolbar{justify-content:space-between;align-items:center;gap:16px;margin:18px 0 16px;display:flex}.term-seg{border:1px solid var(--line);background:#fff;border-radius:8px;display:inline-flex;overflow:hidden}.term-seg button{font:inherit;color:var(--ink-2);cursor:pointer;border:0;border-right:1px solid var(--line);background:0 0;padding:6px 16px;font-size:13px}.term-seg button:last-child{border-right:0}.term-seg button.active{background:var(--primary);color:#fff;font-weight:500}.term-seg button:disabled{opacity:.6;cursor:default}.notice-dialog{max-width:640px}.notice-switches{flex-wrap:wrap;align-items:center;gap:18px;margin:10px 0;display:flex}.notice-preview{border:1px solid var(--line);color:var(--ink);white-space:pre-wrap;background:#fbfcfd;border-radius:10px;max-height:320px;margin:0;padding:14px 16px;font-family:-apple-system,PingFang SC,Microsoft YaHei,sans-serif;font-size:13px;line-height:1.9;overflow:auto}.notice-fields{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.notice-fields .text-button{color:var(--blue-600);font-size:12px}.notice-edit{box-sizing:border-box;border:1px solid var(--input);resize:vertical;border-radius:8px;width:100%;padding:10px 12px;font-family:inherit;font-size:13px;line-height:1.8}.trial-scroll{border:1px solid var(--line);background:#fff;border-radius:12px;max-height:calc(100vh - 300px);overflow:auto}.trial-seg-head{z-index:2;border-bottom:1px solid var(--line);color:var(--ink);background:#fff;align-items:center;gap:9px;padding:10px 14px;font-size:13px;display:flex;position:sticky;top:0}.trial-seg-head b{font-weight:600}.trial-seg-head.past{border-bottom-color:#e9e9ee}.trial-seg-head.past b,.trial-seg-head.past>span{color:#6e6e76}.trial-seg-head .caliber{margin-left:2px}.trial-toggle{cursor:pointer;font:inherit;color:var(--blue-600);background:0 0;border:0;align-items:center;gap:3px;margin-left:auto;padding:0;font-size:12px;display:inline-flex}.trial-toggle:hover{color:var(--blue-700)}.trial-split{background:#e9e9ee;height:1px}.trial-empty{color:var(--ink-3);margin:0;padding:18px 14px;font-size:13px}.trial-more{width:100%;color:var(--blue-600);font:inherit;cursor:pointer;background:#fcfdfe;border:0;border-top:1px solid #f3f3f5;padding:10px;font-size:12px;display:block}.enroll-cell{align-items:center;gap:6px;display:inline-flex}.enroll-badge{white-space:nowrap;border-radius:999px;align-items:center;padding:2px 9px;font-size:12px;display:inline-flex}.enroll-badge.ok{background:var(--mint-100);color:var(--mint-600)}.enroll-badge.wait{background:var(--vanilla-100);color:var(--vanilla-600)}.enroll-badge.none{color:var(--ink-3);background:#f2f2f5}.enroll-date{color:var(--ink-3);font-size:11px;font-style:normal}.tr-status{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:14px;display:flex}.tr-status-label{color:var(--ink-3);font-size:12px}.tr-seg{border:1px solid var(--line);border-radius:8px;display:inline-flex;overflow:hidden}.tr-seg button{border:0;border-right:1px solid var(--line);font:inherit;color:var(--ink-2);cursor:pointer;background:#fff;padding:6px 14px;font-size:12px}.tr-seg button:last-child{border-right:0}.tr-seg button.active{background:var(--blue-100);color:var(--blue-700);font-weight:500}.tr-seg button:disabled{opacity:.45;cursor:not-allowed}.tr-status-hint{color:var(--ink-3);font-size:11px}.row-clickable{cursor:pointer}.row-clickable:hover td{background:#fafafb}.expand-row td{background:#fcfcfd;border-top:0!important;padding:0!important}.tr-expand{border-left:3px solid var(--blue-600);padding:16px 18px 18px}.tr-act{border-bottom:1px solid var(--line);margin-bottom:14px;padding-bottom:14px}.tr-act-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.tr-cur{color:var(--ink-2);font-size:12px}.tr-cur strong{color:var(--ink);font-size:14px;font-weight:500}.tr-time{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.tr-time label{display:block}.tr-time label span{color:var(--ink-3);margin-bottom:4px;font-size:11px;display:block}.tr-time input{border:1px solid var(--input);font:inherit;border-radius:8px;padding:8px 10px;font-size:13px}.tr-time-btns{gap:8px;display:flex}.tr-hint{color:var(--ink-3);padding-bottom:10px;font-size:11px}.tr-warn{color:var(--vanilla-600);padding-bottom:10px;font-size:11px}.tr-time-open{border:1px solid var(--blue-600);background:var(--blue-100);color:var(--blue-700);font:inherit;cursor:pointer;border-radius:8px;padding:8px 16px;font-size:13px;transition:background .2s}.tr-quick{align-items:center;gap:14px;margin-left:auto;display:flex}.tr-quick .text-button{color:var(--blue-600);font-size:12px}.tr-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;max-width:820px;display:grid}.tr-col h4{color:var(--ink-3);letter-spacing:.02em;margin:0 0 10px;font-size:12px;font-weight:500}.tr-dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 16px;margin:0;display:grid}.tr-dl>div{gap:8px;min-width:0;display:flex}.tr-dl>div.wide{grid-column:1/-1}.tr-dl dt{color:var(--ink-3);flex:0 0 52px;font-size:12px}.tr-dl dd{min-width:0;color:var(--ink);text-overflow:ellipsis;margin:0;font-size:13px;overflow:hidden}.tr-time-open:hover{background:#cbe3fb}.tr-quick .text-button:hover{text-decoration:underline}@media (max-width:900px){.tr-cols{grid-template-columns:1fr;max-width:none}}.trial-more:hover{background:var(--blue-100)}.dot-hollow{background:#fff;border:1.5px solid #c9c9cf;border-radius:50%;width:10px;height:10px;display:inline-block}.grid-table tr.row-past td,.row-past td{color:#a5a5ad;opacity:.7}.grid-table tr.row-past:hover td,.row-past:hover td{opacity:.85}.skip-mark{color:#c9c9cf;justify-content:center;align-items:center;display:inline-flex}.valid-badge{color:#a5a5ad;white-space:nowrap;background:#f2f2f5;border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-size:12px;display:inline-flex}.valid-badge.on{background:var(--mint-100);color:var(--mint-600)}.valid-badge em{opacity:.8;font-size:10px;font-style:normal}.skip-note{color:var(--vanilla-600);margin-left:8px;font-weight:500}.notice-hint{color:var(--ink-3);margin:10px 0 0;font-size:12px}.shot-box{border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;gap:2px;padding:6px 10px;display:flex}.shot-box.over{border-color:var(--blue-600);background:var(--blue-100)}.shot-row{border-bottom:1px solid #f3f3f5;align-items:center;gap:12px;padding:8px 0;display:flex}.shot-open{border:1px solid var(--line);cursor:zoom-in;background:#fff;border-radius:8px;flex-shrink:0;width:56px;height:56px;padding:0;overflow:hidden}.shot-open:hover{border-color:var(--blue-600)}.shot-thumb{object-fit:cover;width:54px;height:54px;display:block}.shot-name{min-width:0;color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.shot-del{border:1px solid var(--line);width:24px;height:24px;color:var(--ink-3);cursor:pointer;background:#fff;border-radius:6px;flex-shrink:0;padding:0;font-size:15px;line-height:1}.shot-del:hover{border-color:var(--pink-600);background:var(--pink-100);color:var(--pink-600)}.shot-add{justify-content:space-between;align-items:center;gap:10px;padding:9px 0 5px;display:flex}.shot-hint{color:var(--ink-3);font-size:12px}.ov{flex-direction:column;gap:12px;max-width:1200px;display:flex}.ov-kpis{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.ov-kpi{border:.5px solid var(--line);background:var(--surface);font:inherit;text-align:left;cursor:pointer;border-radius:12px;padding:14px 16px;transition:border-color .2s,box-shadow .2s,transform .2s;animation:.42s cubic-bezier(.16,1,.3,1) both cardIn}.ov-kpi:hover{border-color:var(--blue-600);transform:translateY(-1px);box-shadow:0 2px 4px #26262b0f,0 12px 28px -18px #26262b2e}.ov-kpi:focus,.ov-frow:focus,.ov-brow:focus,.ov-todo-item:focus{outline:none}:is(.ov-kpi:focus-visible,.ov-frow:focus-visible,.ov-brow:focus-visible,.ov-todo-item:focus-visible,.ov-back:focus-visible){outline:2px solid var(--blue-600);outline-offset:2px}.ov-frow{width:100%;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:0;transition:background .2s;display:flex}.ov-frow:hover{background:#f4f4f7}.ov-brow{width:100%;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;margin:0 -6px;padding:3px 6px;transition:background .2s;display:flex}.ov-brow:hover{background:#f4f4f7}.ov-todo-item{font:inherit;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:3px 8px;font-size:12px;transition:background .2s}.ov-todo-item:hover{background:#f4f4f7}.ov-back{border:1px solid var(--line);font:inherit;color:var(--ink-2);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:4px;margin-bottom:12px;padding:6px 12px;font-size:13px;display:inline-flex}.ov-back:hover{border-color:var(--blue-600);color:var(--blue-600)}.ov-kpi-label{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.ov-kpi-value{letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;align-items:baseline;gap:3px;margin-top:6px;font-size:30px;font-weight:500;line-height:1.1;display:flex}.ov-kpi-value em{color:var(--ink-2);font-size:14px;font-style:normal;font-weight:400}.ov-kpi-value.zero,.ov-kpi-value.dash{color:var(--ink-3)}.ov-kpi-value.accent{color:var(--blue-600)}.ov-kpi-value.quit{color:var(--pink-600)}.ov-kpi-hint{color:var(--ink-3);margin-top:7px;font-size:11px;display:block}.ov-track{background:var(--line);border-radius:2px;height:3px;margin-top:9px;display:block;overflow:hidden}.ov-track i{background:var(--blue-600);transform-origin:0;border-radius:2px;height:100%;animation:.72s cubic-bezier(.16,1,.3,1) .2s both barGrow;display:block}.ov-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:12px;display:grid}.ov-card{border:.5px solid var(--line);background:var(--surface);border-radius:12px;padding:16px 18px;animation:.42s cubic-bezier(.16,1,.3,1) .12s both cardIn}.ov-card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.ov-card-head h3{color:var(--ink);margin:0;font-size:13px;font-weight:500}.ov-note{color:var(--ink-3);font-size:11px}.ov-legend{color:var(--ink-2);align-items:center;gap:5px;font-size:11px;display:inline-flex}.ov-legend i{border-radius:3px;width:10px;height:10px;margin-left:8px}.ov-legend i.deep{background:var(--blue-600)}.ov-legend i.light{background:#7faedd}.ov-funnel{flex-direction:column;gap:0;display:flex}.ov-flabel{text-align:right;color:var(--ink-2);flex:0 0 34px;font-size:12px}.ov-ftrack{background:var(--line);border-radius:6px;flex:1;height:30px;position:relative;overflow:hidden}.ov-ftrack i{background:var(--blue-600);transform-origin:0;border-radius:6px;justify-content:flex-end;align-items:center;height:100%;padding-right:10px;animation:.48s cubic-bezier(.16,1,.3,1) both barGrow;display:flex}.ov-ftrack i em{color:#fff;white-space:nowrap;font-size:13px;font-style:normal;font-weight:500}.ov-loss{color:var(--pink-600);padding:5px 0 5px 44px;font-size:11px}.ov-loss span.zero{color:var(--ink-3)}.ov-loss span:not(.zero):before{content:"";vertical-align:1px;border-top:5px solid;border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0;margin-right:6px;display:inline-block}.ov-caliber{color:var(--ink-3);margin:12px 0 0;font-size:11px}.ov-empty-line{color:var(--ink-2);margin:6px 0 0;font-size:12px}.ov-empty-actions{gap:10px;margin-top:12px;display:flex}.ov-bars-head{color:var(--ink-3);justify-content:space-between;padding-bottom:6px;font-size:11px;display:flex}.ov-bars{margin:0;padding:0;list-style:none}.ov-bars li{align-items:center;gap:10px;margin-bottom:10px;display:flex}.ov-bname{color:var(--ink);text-align:left;flex:0 0 70px;font-size:12px}.ov-btrack{background:#f2f2f5;border-radius:999px;flex:1;height:10px;overflow:hidden}.ov-btrack i{transform-origin:0;background:#7faedd;border-radius:999px;height:100%;animation:.72s cubic-bezier(.16,1,.3,1) both barGrow;display:block}.ov-btrack i b{background:var(--blue-600);border-radius:999px;height:100%;display:block}.ov-bval{text-align:right;color:var(--ink-2);font-variant-numeric:tabular-nums;flex:0 0 78px;font-size:12px}.ov-month-head{width:100%;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.ov-month-head h3{color:var(--ink);margin:0;font-size:13px;font-weight:500}.ov-month-toggle{color:var(--blue-600);align-items:center;gap:3px;margin-left:auto;font-size:12px;display:inline-flex}.ov-month-body{margin-top:14px}.ov-month-bar{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.ov-month-bar .caliber{margin:0 0 12px}.ov-todo{box-sizing:border-box;border:.5px solid var(--line);background:var(--surface);border-radius:12px;align-items:center;gap:12px;height:48px;padding:0 18px;animation:.42s cubic-bezier(.16,1,.3,1) .18s both cardIn;display:flex}.ov-todo-icon{background:var(--vanilla-100);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.ov-todo-icon i{background:var(--vanilla-600);border-radius:50%;width:6px;height:6px}.ov-todo-count{color:var(--ink);font-size:12px;font-weight:500}.ov-todo-item{color:var(--ink-2);font-size:12px}.ov-todo-item b{color:var(--vanilla-600);font-weight:500}.ov-todo-go{font:inherit;color:var(--blue-600);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0;font-size:12px}.ov-todo-go:hover{color:var(--blue-700)}@media (max-width:1360px){.ov-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1100px){.ov-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.ov-grid{grid-template-columns:1fr}}@media (max-width:760px){.ov-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.ov-kpi,.ov-card,.ov-todo,.ov-track i,.ov-ftrack i,.ov-btrack i{animation-duration:.2s}}.pay-tab{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;gap:16px;max-width:1120px;padding:16px;display:flex}.pay-acts{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}.pay-act{box-sizing:border-box;border:1px solid var(--line);background:var(--surface);text-align:left;height:120px;font:inherit;cursor:pointer;border-radius:12px;align-items:center;gap:14px;padding:20px;transition:border-color .2s,box-shadow .2s;display:flex}.pay-act.pay{border-color:var(--blue-600);animation:.42s cubic-bezier(.16,1,.3,1) both cardIn}.pay-act.refund{border-color:var(--pink-600);animation:.42s cubic-bezier(.16,1,.3,1) 60ms both cardIn}.pay-act:hover{box-shadow:0 2px 4px #26262b0f,0 12px 28px -18px #26262b2e}.pay-act.pay:hover{border-color:var(--blue-700)}.pay-act.refund:hover{border-color:#a3234a}.pay-act-icon{color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;transition:transform .2s;display:flex}.pay-act.pay .pay-act-icon{background:var(--blue-600)}.pay-act.refund .pay-act-icon{background:var(--pink-600)}.pay-act:hover .pay-act-icon{transform:translateY(-1px)}.pay-act-text{flex:1;min-width:0}.pay-act-text strong{margin-bottom:4px;font-size:16px;font-weight:500;display:block}.pay-act.pay .pay-act-text strong{color:var(--blue-700)}.pay-act.refund .pay-act-text strong{color:var(--pink-600)}.pay-act-text small{color:var(--ink-2);font-size:12.5px;line-height:1.5;display:block}.pay-act-arrow{flex-shrink:0;align-self:center;font-size:16px}.pay-act.pay .pay-act-arrow{color:var(--blue-600)}.pay-act.refund .pay-act-arrow{color:var(--pink-600)}.pay-ledger{border:1px solid var(--line);background:var(--surface);border-radius:12px;animation:.42s cubic-bezier(.16,1,.3,1) .12s both cardIn;overflow:hidden}.pay-ledger-head{color:var(--ink);justify-content:space-between;align-items:baseline;gap:12px;padding:18px 20px 12px;font-size:13px;font-weight:500;display:flex}.pay-ledger-head-right{align-items:center;gap:10px;display:inline-flex}.pay-eye{border:1px solid var(--blue-100);background:var(--blue-100);width:28px;height:28px;color:var(--blue-600);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:background .2s,border-color .2s;display:inline-flex}.pay-eye:hover{border-color:var(--blue-600);background:#cbe3fb}.pay-eye:focus{outline:none}.pay-eye:focus-visible{outline:2px solid var(--blue-600);outline-offset:2px}.pay-ledger-time{color:var(--ink-3);font-size:11px;font-weight:400}.pay-ledger-body{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.pay-col{text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:0;padding:18px 20px;transition:background .2s;display:block}.pay-col:first-child{border-right:1px solid var(--line)}.pay-col:hover{background:#f4f4f7}.pay-col-label{color:var(--ink-2);justify-content:space-between;align-items:center;font-size:12px;display:flex}.pay-col-arrow{color:var(--ink-3);font-size:12px;transition:color .2s}.pay-col:hover .pay-col-arrow{color:var(--blue-600)}.pay-col.refund-col:hover .pay-col-arrow{color:var(--pink-600)}.pay-col-num{letter-spacing:-.02em;color:var(--blue-600);font-variant-numeric:tabular-nums;align-items:baseline;gap:5px;margin:6px 0 5px;font-size:28px;font-weight:500;line-height:1.1;display:flex}.pay-col.refund-col .pay-col-num{color:var(--pink-600)}.pay-col-num.zero{color:var(--ink-3)}.pay-col-num em{color:var(--ink-2);font-size:12px;font-style:normal;font-weight:400}.pay-col-sub{color:var(--ink-2);font-size:12px;display:block}.pay-col-sub .warn{color:var(--vanilla-600)}.pay-ledger-foot{box-sizing:border-box;border-top:1px solid var(--line);background:var(--page);height:44px;color:var(--ink-2);justify-content:flex-end;align-items:center;gap:10px;padding:0 20px;font-size:12px;display:flex}.pay-ledger-foot strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:14px;font-weight:500}.pay-ledger-foot strong.neg{color:var(--pink-600)}.pay-empty{box-sizing:border-box;border:1px solid var(--line);background:var(--surface);height:52px;color:var(--ink-2);border-radius:12px;align-items:center;gap:12px;padding:0 20px;font-size:13px;animation:.42s cubic-bezier(.16,1,.3,1) .18s both cardIn;display:flex}.pay-empty-icon{background:var(--blue-100);width:20px;height:20px;color:var(--blue-600);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.pay-link{font:inherit;color:var(--blue-600);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px}.pay-link:hover{text-decoration:underline}.ledger-bar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.ledger-seg{background:#fff}.ledger-search{border:1px solid var(--line);min-width:220px;max-width:400px;height:36px;color:var(--ink-3);background:#fff;border-radius:8px;flex:1;align-items:center;gap:7px;padding:0 12px;display:flex}.ledger-search:focus-within{border-color:var(--blue-600);color:var(--blue-600)}.ledger-search input{min-width:0;font:inherit;color:var(--ink);background:0 0;border:0;outline:none;flex:1;font-size:13px}.ledger-search input::placeholder{color:var(--ink-3)}.ledger-clear{color:var(--ink-3);cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:16px;line-height:1}.ledger-clear:hover{color:var(--pink-600)}.ledger-hit{color:var(--ink-3);font-size:12px}.ledger-seg.pay button.active{background:var(--blue-600);color:#fff}.ledger-seg.refund button.active{background:var(--pink-600);color:#fff}.consult-tabs button.active{background:var(--blue-600)}.pay-act:focus,.pay-col:focus{outline:none}:is(.pay-act:focus-visible,.pay-col:focus-visible,.pay-link:focus-visible){outline:2px solid var(--blue-600);outline-offset:2px}@media (max-width:1024px){.pay-acts,.pay-ledger-body{grid-template-columns:1fr}.pay-col:first-child{border-right:0;border-bottom:1px solid var(--line)}}@media (prefers-reduced-motion:reduce){.pay-act,.pay-ledger,.pay-empty{animation-duration:.2s}}.icon-button.zoom{color:var(--blue-600);border-color:var(--blue-100);background:var(--blue-100)}.icon-button.zoom:hover{background:#cbe3fb}.shot-strip{flex-wrap:wrap;gap:10px;padding:10px 0;display:flex}.shot-strip .shot-open{flex-shrink:0}.paid-dialog{background:#fff;max-width:1180px}.paid-dialog [data-slot=dialog-header],.paid-dialog [data-slot=dialog-footer],.paid-table table,.paid-table thead tr,.paid-table thead th{background:#fff}.paid-table{max-height:56vh;overflow:auto}@media (max-width:900px){.pay-actions{max-width:none}}.shot-add-right{flex-shrink:0;align-items:center;gap:10px;display:inline-flex}.shot-pick{font:inherit;color:var(--blue-600);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px}.shot-pick:hover{color:var(--blue-700)}.shot-busy{color:var(--ink-3);font-size:12px}.shot-dialog{max-width:760px}.shot-view{border:1px solid var(--line);background:#fbfcfd;border-radius:10px;justify-content:center;align-items:center;max-height:60vh;padding:8px;display:flex;overflow:auto}.shot-view img{object-fit:contain;max-width:100%;max-height:56vh}.shot-nav{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.shot-dot{border:1px solid var(--line);width:26px;height:26px;color:var(--ink-2);font:inherit;cursor:pointer;background:#fff;border-radius:6px;font-size:12px}.shot-dot.active{border-color:var(--blue-600);background:var(--blue-100);color:var(--blue-700)}.shot-link{color:var(--blue-600);font-size:13px}.shot-link:hover{text-decoration:underline}.notice-hint code{color:var(--ink-2);background:#f2f2f5;border-radius:4px;padding:1px 4px}.month-pick{color:var(--ink-2);align-items:center;gap:8px;font-size:13px;display:inline-flex}.month-pick button{border:1px solid var(--line);width:24px;height:24px;color:var(--ink-2);cursor:pointer;font:inherit;background:#fff;border-radius:6px;line-height:1}.month-pick button:hover{border-color:var(--blue-600);color:var(--blue-600)}.caliber{color:var(--ink-3);margin:0 0 12px;font-size:12px}.stat-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.stat-table th{text-align:left;color:var(--ink-3);padding:0 0 10px;font-size:12px;font-weight:500}.stat-table td{color:var(--ink-2);border-top:1px solid #f3f3f5;padding:9px 0}.stat-table td.mint{color:var(--mint-600);font-weight:500}.stat-table tfoot td{border-top:1px solid var(--line);color:var(--ink);font-weight:500}.stat-cell{align-items:center;gap:10px;display:flex}.stat-bar{background:var(--mint-100);border-radius:999px;flex:1;max-width:180px;height:8px;overflow:hidden}.stat-bar i{background:var(--mint-600);transform-origin:0;border-radius:999px;height:100%;animation:.72s cubic-bezier(.16,1,.3,1) both barGrow;display:block}.stat-bar i.lead{background:#3f5f1b}.stat-pct{text-align:right;color:var(--ink);flex:0 0 40px}.row-sub{color:var(--ink-3);font-size:11px;font-style:normal}.board-rows.mint .board-row-track{background:var(--mint-100)}.board-rows.mint .board-row-track i{background:var(--mint-600)}@media (max-width:900px){.trial-scroll{max-height:none}}.auto-field{border:1px dashed var(--input);min-height:38px;color:var(--ink-2);background:#f6f8fa;border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex}.auto-field em{color:var(--vanilla-600);margin-left:auto;font-size:11px;font-style:normal}.form-warn{background:var(--vanilla-100);color:var(--vanilla-600);border-radius:8px;margin:12px 0 0;padding:10px 12px;font-size:13px}.warn-dot{background:var(--pink-600);border-radius:50%;width:8px;height:8px;display:inline-block}.cell-warn{color:var(--pink-600);font-weight:500}.seq-label{color:var(--ink-2);font-size:15px}.changed-mark{color:var(--vanilla-600);margin-left:1px;font-style:normal}.primary-action{background:var(--blue-100);border-radius:6px;font-weight:500;border:1px solid var(--blue-600)!important;color:var(--blue-700)!important;padding:3px 10px!important}.primary-action:hover{background:#cfe4fb}.group-title{background:var(--mint-100);color:var(--mint-600);border-radius:8px;margin:0 0 10px;padding:8px 12px;font-size:13px;font-weight:500}.class-card{padding:20px}.class-card .section-heading{padding:0 0 16px}.class-symbol{color:#41917d;background:#eaf5f0;border-radius:9px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.class-card h2{margin-bottom:12px;font-size:18px}.class-tags{flex-wrap:wrap;gap:6px;display:flex}.class-tags span{color:#8b9ba4;background:#f2f5f7;border-radius:4px;padding:3px 7px;font-size:12px}.class-info{flex-direction:column;gap:12px;padding:22px 0;display:flex}.class-info>div{color:#94a5af;justify-content:space-between;gap:10px;font-size:13px;display:flex}.class-info strong{color:#657e8c;text-align:right;font-weight:400}.class-card-footer{color:#9aabb5;border-top:1px solid #edf1f4;justify-content:space-between;align-items:center;gap:16px;padding-top:16px;font-size:12px;display:flex}.class-card-footer strong{color:#408d78;font-size:20px}.compact-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:20px 0;display:grid}.compact-stats>div{border:1px solid var(--border);background:#fff;border-radius:8px;padding:17px 21px}.compact-stats span{color:#91a1ad;font-size:12px;display:block}.compact-stats strong{color:#3d646f;margin-top:5px;font-size:28px;font-weight:500;display:block}.compact-stats small{color:#9babba;margin-left:5px;font-size:12px;font-weight:400}.table-progress{min-width:120px;max-width:150px;font-size:12px}.table-progress [data-slot=progress]{background:#edf3f1;height:4px;margin-top:8px}.table-progress [data-slot=progress-indicator]{background:#55a98e}.review-stats{margin-top:24px}.alert-title{align-items:center;gap:10px;display:flex}.rules-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:21px;display:grid}.rule-card{padding:23px}.rule-card .section-heading{padding:0 0 18px}.role-pill{color:#6b9a88;align-items:center;gap:8px;font-size:12px;display:flex}.role-pill.assistant{color:#7696c6}.rule-card h2{margin-bottom:7px}.rule-card>p{color:#99aab5;font-size:12px}.rule-formula{color:#489881;background:#f1f7f4;border-radius:6px;margin:19px 0;padding:16px 14px;font-size:14px}.bracket-display{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:18px;display:grid}.bracket-display>div{text-align:center;background:#f8fafb;border:1px solid #eff3f5;border-radius:5px;padding:10px}.bracket-display span{color:#9babb5;font-size:12px;display:block}.bracket-display strong{color:#5b7886;font-size:16px;font-weight:500}.rule-details{color:#95a8b3;flex-direction:column;gap:9px;margin:20px 0;font-size:12px;display:flex}.rule-details span{justify-content:space-between;display:flex}.rule-details b{color:#6d8794;font-weight:400}.payroll-summary{color:#fff;background:#096e5d;border-radius:11px;grid-template-columns:2fr 1fr 1fr;gap:30px;margin:4px 0 23px;padding:25px 30px;display:grid;box-shadow:0 6px 18px #0b6b5a12}.payroll-summary>div:first-child>span{color:#b1d3c9;font-size:13px}.payroll-summary h2{letter-spacing:-.01em;margin-top:6px;font-size:38px;font-weight:550;line-height:1.4}.payroll-summary p{color:#a2cbbb;margin-top:7px;font-size:12px}.salary-metric{border-left:1px solid #ffffff20;flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;padding-left:28px;display:flex}.salary-metric>svg{color:#97c6b7;stroke-width:1.5px}.salary-metric strong{font-size:27px;font-weight:500}.salary-metric span{color:#aed2c8;font-size:12px}.amount{color:#368f77;font-weight:600}.wage-total{background:#edf6f1;border-radius:8px;flex-wrap:wrap;align-items:center;gap:20px;padding:17px 21px;display:flex}.wage-total>span{color:#68a28e;font-size:13px}.wage-total strong{color:#167d62;font-size:29px;font-weight:500}.wage-total small{color:#84a795;width:100%;margin-top:-9px;font-size:12px}.audit-info{color:#91a4b0;padding:10px 0;font-size:12px}.slot-groups{flex-direction:column;gap:18px;padding:0 20px 20px;display:flex}.slot-head{align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.slot-head strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:16px;font-weight:600}.slot-head span{color:var(--ink-3);background:#f2f5f8;border-radius:6px;padding:3px 8px;font-size:12px}.slot-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.slot-card{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:104px minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px;display:grid;box-shadow:0 2px 6px #2633420a}.slot-card.live{background:#fbfdff;border-color:#cfe3f6 #cfe3f6 #cfe3f6 #6fa8dc;border-left-style:solid;border-left-width:4px}.slot-card.wait{border-color:#f0e2c6}.slot-left{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.slot-left strong{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap;font-size:17px;font-weight:600}.slot-left strong i{color:var(--ink-3);margin:0 1px;font-style:normal;font-weight:400}.room-chip{border-radius:6px;align-items:center;padding:3px 8px;font-size:12px;font-weight:500;line-height:1.6;display:inline-flex}.room-chip.red{color:#b4554a;background:#fdeceb}.room-chip.blue{color:#3d6ea8;background:#e8f1fb}.room-chip.gray{color:#6b7883;background:#f0f2f5}.slot-mid{flex-direction:column;gap:7px;min-width:0;display:flex}.slot-mid h3{color:#2f3d47;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;font-weight:600;overflow:hidden}.slot-mid p{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;overflow:hidden}.slot-badges{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mini-chip{white-space:nowrap;border-radius:6px;padding:3px 8px;font-size:12px;line-height:1.6}.mini-chip.ok{color:#228568;background:#eaf6f0}.mini-chip.warn{color:#b07c2a;background:#fdf3e3}.mini-chip.none{color:#9aa8b2;background:#f3f5f6}.mini-bar{color:#8ba0ac;align-items:center;gap:7px;font-size:12px;display:inline-flex}.mini-bar>i{background:#7fb79f;border-radius:3px;min-width:2px;height:5px;transition:width .2s;display:block}.mini-bar.zero>i{background:#e0a75c}.mini-bar>em{font-style:normal}.slot-right{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.slot-btns{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.slot-btns .primary{color:#15543d;background:#a9d8c4;border-radius:8px;min-height:36px;padding:8px 14px;font-size:13px}.slot-btns .primary:hover{background:#9bcfb9}.slot-btns .soft{color:#4b8a73;background:#f2f8f5;border:1px solid #e3efe9;border-radius:8px;min-height:36px;padding:8px 14px;font-size:13px}.slot-btns .soft:hover{background:#eaf4ef}@media (max-width:1200px){.slot-cards{grid-template-columns:1fr}}@media (max-width:760px){.slot-groups{padding:0 16px 16px}.slot-card{grid-template-columns:1fr;gap:12px}.slot-right{align-items:flex-start}.slot-btns{justify-content:flex-start}.slot-btns .soft,.slot-btns .primary{flex:1}}.course-toolbar{flex-direction:column;gap:12px;margin:18px 0;display:flex}.course-toolbar-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.course-toolbar-row .muted{color:var(--ink-3);font-size:12px}.course-toolbar-row .primary{border-radius:10px;margin-left:auto}.course-toolbar .filter-group{gap:10px}.att-cell{color:#5f7483;white-space:nowrap;font-size:13px}.att-cell b{color:#2f3d47;margin-left:2px;font-weight:600}.att-cell b.zero{color:#c07a2a}.time-badge.breath{animation:1.6s ease-in-out infinite breath}@keyframes breath{0%,to{opacity:1}50%{opacity:.45}}.course-row.live{background:#fbfefc;border-left:3px solid #55a98e}.table-actions .primary{color:#15543d;background:#a9d8c4;border-radius:8px;min-height:33px;padding:7px 13px;font-size:12px}.table-actions .primary:hover{background:#9bcfb9}.alert-filter{flex-wrap:wrap;align-items:center;gap:8px;margin:18px 0 14px;display:flex}.alert-filter button{border:1px solid var(--line);color:#5f7483;cursor:pointer;background:#fff;border-radius:999px;padding:7px 14px;font-size:13px}.alert-filter button.active{color:#15543d;background:#a9d8c4;border-color:#a9d8c4}.alert-filter .muted{color:var(--ink-3);margin-left:auto;font-size:12px}.alert-bulk{align-items:center;gap:12px;display:flex}.alert-bulk .check-label{color:#5f7483;font-size:13px}.alert-bulk .secondary{border-radius:8px;min-height:33px;padding:7px 13px;font-size:12px}.alert-done{opacity:.55}.alert-done .alert-title strong{text-decoration:line-through}.lb-sheet-row{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.lb-statedot.soon{background:#e0a75c;animation:1.6s ease-in-out infinite breath;box-shadow:0 0 0 3px #e0a75c1f}.lb-soon{color:#c07a2a;white-space:nowrap;font-size:12px}.lb-sheet{z-index:1;touch-action:manipulation;-webkit-user-select:none;user-select:none;color:#2f7f66;cursor:pointer;font:inherit;white-space:nowrap;background:#f1f8f4;border:1px solid #cfe3d8;border-radius:6px;align-items:center;padding:3px 11px;font-size:12px;line-height:1.6;display:inline-flex;position:relative}.lb-sheet:hover{background:#e6f2ec}.lb-sheet:active{background:#dcece4}.lb-sheet.mark{color:#b07c2a;background:#fdf3e3;border-color:#f0dfc0}.lb-sheet.mark:hover{background:#fbeed8}.lb-title{white-space:nowrap}.lb-badge{white-space:nowrap;flex-shrink:0;line-height:1.7}.lb-updated,.lb-hint{white-space:nowrap}@media (max-width:760px){.lb-head{gap:8px;padding:0 14px}.lb-title{font-size:13.5px}.lb-badge{padding:2px 8px}.lb-updated{margin-left:auto;font-size:11.5px}.lb-hint{display:none}}.roster-list{flex-direction:column;padding:0 20px 20px;display:flex}.roster-row{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.roster-row:first-child{border-top:0}.roster-info{min-width:0}.roster-info strong{color:var(--ink);font-size:14px;font-weight:500;display:block}.roster-info small{color:var(--ink-3);margin-top:4px;font-size:12px;display:block}.roster-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.roster-actions .soft{color:#2f7f66;background:#eef4f1;border-color:#0000;border-radius:8px;padding:8px 14px;font-size:13px}.roster-actions .soft:hover{background:#e4efe9}.rc-brief{color:#b07c2a;background:#fdf3e3;border-radius:6px;padding:4px 8px;font-size:12px}.rollcall-dialog{max-width:920px!important}.rc-search{color:#9aa5ad;background:#f1f3f4;border-radius:8px;align-items:center;gap:7px;margin:2px 0 8px;padding:7px 10px;display:flex}.rc-search svg{flex-shrink:0}.rc-search input{min-width:0;box-shadow:none;background:0 0;border:0;outline:none;flex:1;min-height:0;padding:0;font-size:13px}.rc-search input:focus{box-shadow:none;border:0}.rc-search-x{color:#a9b4bb;cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:16px;line-height:1}.rc-add-row{flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 2px;display:flex}.rc-add{color:#2f7f66;cursor:pointer;background:#f6faf8;border:1px dashed #b7d3c5;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;display:inline-flex}.rc-add:hover{background:#eaf5ef;border-color:#93c2ac}.rc-add-form{align-items:center;gap:8px;width:100%;display:flex}.rc-add-form input{flex:1;min-width:0;min-height:38px}.rc-add-note{color:#9aa8b0;font-size:12px}.rc-undo{color:#8a6f2e;cursor:pointer;background:#fdf9f0;border:1px solid #e2d6bd;border-radius:8px;align-items:center;gap:5px;padding:7px 12px;font-size:13px;display:inline-flex}.rc-undo:hover{background:#faf2e2;border-color:#d6c39c}.rc-del{color:#c0ccd2;cursor:pointer;vertical-align:middle;background:0 0;border:0;margin-left:4px;padding:0 4px;font-size:15px;line-height:1}.rc-del:hover{color:#d9705f}.rc-row.rc-none td{text-align:center;color:#a3b0b8;padding:16px;font-size:13px}.rc-print{margin:14px 0 6px;overflow-x:auto}.rc-table{border-collapse:collapse;table-layout:fixed;color:#2f3d47;width:100%;font-size:14px}.rc-table td,.rc-table th{text-align:center;border:1px solid #d8e0e6;padding:9px 10px;font-weight:400}.rc-title{color:#1f4e6b;letter-spacing:.02em;background:#cfe6f7;font-size:17px;font-weight:500;padding:12px!important}.rc-info>td{color:#7a4a63;text-align:left;background:#fbe4f0;padding:0;font-size:13px}.rc-info-inner>span{padding:9px 12px;display:block}@media (min-width:761px){.rc-info-inner{display:flex}.rc-info-inner>span{border-left:1px solid #f3d3e3;flex:1}.rc-info-inner>span:first-child{border-left:0}}.rc-head td{color:#6b5a1f;background:#fdf7dc;font-size:14px}.rc-col-no{width:64px}.rc-no{color:#5f7483}.rc-name{width:auto;font-size:15px}.rc-section td{color:#2f7f66;text-align:left;letter-spacing:.06em;background:#eef4f1;font-weight:500}.rc-in{text-align:center;color:#2f3d47;background:0 0;border:0;border-radius:4px;width:100%;padding:3px 2px;font-size:14px}.rc-in:focus{background:#fffbe9;outline:none;box-shadow:inset 0 0 0 1px #e6d9a8}.rc-max{text-align:center;color:#8a6f2e;background:#fffaf0;border:0;border-radius:5px;width:46px;margin:0 2px;padding:2px 3px;font-size:14px;box-shadow:inset 0 0 0 1px #ecdcae}.rc-max:focus{background:#fffbe9;outline:none}.rc-cell-label{display:none}.rc-table td{position:relative}.rc-full{pointer-events:none;border-radius:3px;width:auto;height:24px;position:absolute;bottom:2px;right:2px}.rc-head .rc-max{width:26px;margin:0 1px;padding:1px;font-size:11px}.rc-head .rc-max.rc-label{text-align:left;width:46px;min-width:0;padding:1px 3px}.rc-marks{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 10px;display:flex}.rc-mark{cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:4px 2px;font-size:13px;line-height:1.4;display:inline-flex}.rc-mark i{box-sizing:border-box;border:2px solid;border-radius:50%;justify-content:center;align-items:center;width:21px;height:21px;font-size:13px;font-style:normal;font-weight:700;line-height:1;transition:background .12s,color .12s;display:inline-flex}.rc-mark span{white-space:nowrap}.rc-mark.ok{color:#2c9a6d}.rc-mark.late{color:#d0912f}.rc-mark.leave{color:#d97a6c}.rc-mark.online{color:#4a86c8}.rc-mark{max-width:180px;transition:max-width .3s cubic-bezier(.4,0,.2,1),opacity .2s,padding .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1),background .2s}.rc-marks{transition:gap .3s cubic-bezier(.4,0,.2,1)}.rc-marks.collapsed{gap:0}.rc-marks.collapsed .rc-mark{opacity:0;pointer-events:none;max-width:0;padding-left:0;padding-right:0;overflow:hidden;transform:scale(.8)}.rc-marks.collapsed .rc-mark.on{opacity:1;pointer-events:auto;border-radius:999px;max-width:180px;padding:4px 12px;transform:none}.rc-mark.on{font-weight:600}.rc-mark.ok.on{color:#22855f}.rc-mark.late.on{color:#b5761c}.rc-mark.leave.on{color:#c2564a}.rc-mark.online.on{color:#2f6cab}.rc-mark.ok.on i{color:#fff;background:#35a574;border-color:#35a574;box-shadow:0 0 0 3px #35a57422}.rc-mark.late.on i{color:#fff;background:#d0912f;border-color:#d0912f;box-shadow:0 0 0 3px #d0912f22}.rc-mark.leave.on i{color:#fff;background:#d97a6c;border-color:#d97a6c;box-shadow:0 0 0 3px #d97a6c22}.rc-mark.online.on i{color:#fff;background:#4a86c8;border-color:#4a86c8;box-shadow:0 0 0 3px #4a86c822}.rc-marks.collapsed .rc-mark.ok.on{background:#e7f5ee}.rc-marks.collapsed .rc-mark.late.on{background:#fbf0db}.rc-marks.collapsed .rc-mark.leave.on{background:#fbe9e6}.rc-marks.collapsed .rc-mark.online.on{background:#e7f0fa}.nav-msg{color:#fff!important;background:#d9534f!important}.wx{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:280px minmax(0,1fr);height:calc(100vh - 340px);min-height:240px;display:grid;overflow:hidden}@supports (height:100dvh){.wx{height:calc(100dvh - 340px)}}.wx-side{border-right:1px solid var(--line);background:#f7f8f9;flex-direction:column;min-width:0;min-height:0;display:flex}.wx-search{color:#9aa5ad;background:#eceef0;border-radius:8px;flex-shrink:0;align-items:center;gap:7px;margin:10px 12px;padding:7px 10px;display:flex}.wx-search input{background:0 0;border:0;outline:none;flex:1;min-width:0;font-family:inherit;font-size:13px}.wx-list{flex:auto;min-height:0;padding-bottom:6px;overflow-y:auto}.wx-item{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:11px 14px;font-family:inherit;display:flex}.wx-item:hover{background:#eef0f2}.wx-item.active{background:#e4e7ea}.wx-avatar{color:#5c79b3;background:#dfe6f5;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:16px;display:flex}.wx-avatar.boss{color:#2f8a70;background:#d8efe4}.wx-item-main{flex:1;min-width:0}.wx-item-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.wx-item-top strong{color:#2f3d47;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.wx-tag{color:#228568;background:#eaf6f0;border-radius:4px;margin-left:6px;padding:0 5px;font-size:11px;font-style:normal;font-weight:400;display:inline-block}.wx-time{color:#adb8bf;flex-shrink:0;font-size:11px;font-style:normal}.wx-item-bot{justify-content:space-between;align-items:center;gap:8px;margin-top:3px;display:flex}.wx-item-bot small{color:#9aa5ad;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.wx-dot{color:#fff;background:#d9534f;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 5px;font-size:11px;font-style:normal;display:inline-flex}.wx-none{text-align:center;color:#a9b4bb;padding:26px;font-size:13px}.wx-side-foot{border-top:1px solid var(--line);color:#9aa5ad;background:#f2f4f5;flex-shrink:0;padding:9px 14px;font-size:12px}.wx-main{background:#f5f6f7;flex-direction:column;min-width:0;min-height:0;display:flex}.wx-blank{color:#b3bdc4;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;display:flex}.wx-blank p{color:#8b98a1;margin:6px 0 0;font-size:14px}.wx-blank small{font-size:12px}.wx-head{border-bottom:1px solid var(--line);background:#fff;flex-shrink:0;align-items:center;gap:10px;padding:12px 18px;display:flex}.wx-head-main{flex:1;min-width:0}.wx-head-main strong{color:#2f3d47;font-size:15px;display:block}.wx-head-main small{color:#9aa5ad;font-size:12px}.wx-read-hint{color:#a9b4bb;font-size:11px}.wx-back{color:#7a8b95;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:4px;display:none}.wx-back:hover{background:#f2f6f5}.wx-body{flex-direction:column;flex:auto;min-height:0;padding:14px 18px 4px;display:flex;overflow-y:auto}.wx-stamp{text-align:center;color:#a9b4bb;margin:10px 0;font-size:11px}.wx-note{width:min(90%,360px);margin:26px auto 34px;transform:rotate(-.7deg)}.wx-note-paper{background:linear-gradient(158deg,#fff,#fdfcf8 60%,#faf8f2);border-radius:2px;padding:20px 22px 46px;position:relative;box-shadow:0 12px 24px #2f4a411f,0 2px 5px #00000012,inset 0 0 0 1px #0000000a}.wx-note-paper .tape{opacity:.72;background:linear-gradient(#f0e0c2,#e4cfa6);border-left:1px solid #00000008;border-right:1px solid #00000008;width:78px;height:26px;position:absolute;box-shadow:0 1px 3px #0000001a}.wx-note-paper .tape.t1{top:-10px;left:-24px;transform:rotate(-38deg)}.wx-note-paper .tape.t2{top:-8px;right:-22px;transform:rotate(34deg)}.wx-note-paper .tape.t3{bottom:-10px;left:-26px;transform:rotate(28deg)}.wx-note-in p{text-align:left;white-space:pre-wrap;word-break:break-word;color:#54544e;margin:0;font-size:13px;line-height:2}.wx-note-in p.t{color:#2f3d47;letter-spacing:.01em;border-bottom:1px dashed #d9d2c2;margin-bottom:5px;padding-bottom:6px;font-size:14.5px;font-weight:700}.wx-note-mic{opacity:.95;pointer-events:none;width:78px;height:auto;position:absolute;bottom:4px;right:8px}.wx-note-mic.stop{width:84px;bottom:2px}.wx-note-mic.quit{width:86px;bottom:-2px}@media (max-width:760px){.wx-note{width:min(94%,320px)}.wx-note-mic{width:62px}}.wx-board{width:min(92%,390px);margin:30px auto 22px;padding-top:34px;position:relative}.wx-board:before{content:"";z-index:2;background:radial-gradient(circle at 35% 28%,#9aa2ab,#454b52 72%);border-radius:50%;width:11px;height:11px;margin-left:-5.5px;position:absolute;top:0;left:50%;box-shadow:0 2px 3px #00000030}.wx-hang{width:100%;height:32px;position:absolute;top:4px;left:0;overflow:visible}.wx-board-in{background:linear-gradient(158deg,#f3ddb0,#e2bd80 30%,#f0d9a8 55%,#d9b675 100%);border-radius:7px;padding:9px;position:relative;box-shadow:0 9px 20px #2f4a4124,0 2px 4px #0000001a}.wx-chalk{background:radial-gradient(130% 130% at 26% 0,#4d6d56,#33493c 78%);border-radius:3px;padding:14px 16px 30px;position:relative;box-shadow:inset 0 0 22px #00000038,inset 0 0 0 1px #ffffff14}.wx-chalk p{text-align:left;white-space:pre-wrap;word-break:break-word;color:#e9f1e7;text-shadow:0 0 1.5px #ffffff59;margin:0;font-family:Chalkboard SE,Comic Sans MS,PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-size:13px;line-height:1.95}.wx-chalk p.t{color:#f7fcf5;letter-spacing:.02em;margin-bottom:2px;font-size:14px;font-weight:700}.wx-chalk-tag{color:#fffafc;background:#f2adc5;border-radius:3px;padding:0 8px;font-family:Chalkboard SE,Comic Sans MS,cursive;font-size:12px;font-weight:400;line-height:1.75;position:absolute;bottom:8px;left:12px;transform:rotate(-2.5deg);box-shadow:0 1px #00000024}.wx-eraser{background:#fdfdfb;border-radius:3px;width:30px;height:9px;position:absolute;bottom:8px;right:11px;transform:rotate(-3deg);box-shadow:0 2px 3px #0003,inset 0 -3px #e7e4db}.wx-row{align-items:flex-start;gap:9px;margin-bottom:14px;display:flex}.wx-row.mine{flex-direction:row-reverse}.wx-ava{color:#5c79b3;background:#dfe6f5;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;display:flex}.wx-bub{color:#2f3d47;background:#fff;border-radius:6px;max-width:70%;padding:9px 12px;font-size:14px;line-height:1.7;position:relative;box-shadow:0 1px 2px #0000000a}.wx-bub p{white-space:pre-wrap;word-break:break-word;margin:0}.wx-bub.me{background:#a9e07f}.wx-bub.me:after,.wx-bub:before{content:"";border:5px solid #0000;position:absolute;top:11px}.wx-bub:before{border-right-color:#fff;left:-9px}.wx-bub.me:after{border-left-color:#a9e07f;border-right-color:#0000;right:-9px}.wx-read{color:#9aa5ad;white-space:nowrap;flex-shrink:0;align-self:flex-end;margin-bottom:2px;font-size:11px;font-style:normal}.wx-read.on{color:#3f8f4a}.wx-emoji-grid{border-top:1px solid var(--line);background:#fff;grid-template-columns:repeat(10,1fr);gap:2px;max-height:150px;padding:10px 14px;display:grid;overflow-y:auto}.wx-emoji-grid button{cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 0;font-size:20px;line-height:1}.wx-emoji-grid button:hover{background:#f2f5f4}.wx-send{border-top:1px solid var(--line);background:#fff;flex-shrink:0;align-items:flex-end;gap:8px;padding:10px 14px;display:flex}.wx-tool{color:#8b98a1;cursor:pointer;background:0 0;border:0;border-radius:8px;flex-shrink:0;padding:8px}.wx-tool:hover,.wx-tool.on{color:#3f8f4a;background:#f2f5f4}.wx-send textarea{border:1px solid var(--border);resize:none;border-radius:8px;flex:1;min-height:40px;max-height:120px;padding:9px 11px;font-family:inherit;font-size:14px;line-height:1.6}.wx-send .primary{border-radius:8px;min-height:40px}@media (max-width:760px){.wx{grid-template-columns:1fr;height:calc(100vh - 255px);min-height:200px;max-height:none}.wx-side{border-right:0}.wx.in-chat .wx-side,.wx:not(.in-chat) .wx-main{display:none}.wx-back{display:flex}.wx-emoji-grid{grid-template-columns:repeat(8,1fr)}.wx-board{width:min(96%,330px);margin:26px auto 18px}.wx-chalk{padding:12px 13px 28px}.wx-bub{max-width:78%}.wx{height:calc(100dvh - 255px)}}.att-wrap{background:#fff9f3;border-radius:14px;padding:14px}.att-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:11px;display:flex}.att-head h3{color:#3f4d57;margin:0;font-size:16px}.att-head small{color:#9aa5ad;font-size:12px}.att-stats{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.att-stat{color:#5b6b76;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:12px;display:inline-flex;box-shadow:0 1px 2px #00000008}.att-stat i{border-radius:50%;flex-shrink:0;width:8px;height:8px}.att-stat.warn{color:#b07c2a;background:#fff7ea}.att-list{background:#fff;border-radius:14px}.att-row{border-top:1px solid #f4f0ea;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:46px;padding:6px 12px;display:grid}.att-row:first-child{border-top:0}.att-row.pending{background:#fffbf3}.att-row.pending .att-name{color:#a8a29a}.att-row.flash{background:#fff1df;transition:background .2s}.att-no{color:#b9b2a8;text-align:center;font-size:12px}.att-name{color:#3f4d57;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;min-width:0;font-size:15px;display:flex;overflow:hidden}.att-name svg{color:#b89956;flex-shrink:0}.att-pick{justify-content:flex-end;display:flex;position:relative}.att-cur{cursor:pointer;touch-action:manipulation;border:0;border-radius:999px;align-items:center;gap:6px;min-height:32px;padding:7px 12px;font-family:inherit;font-size:13px;transition:background .18s,color .18s;display:inline-flex}.att-cur i{border-radius:50%;flex-shrink:0;width:9px;height:9px}.att-cur.pending{color:#a8a29a;background:0 0;border:1px dashed #d8d2c8}.att-opts{transform-origin:100%;opacity:0;pointer-events:none;z-index:3;background:#fff;border-radius:999px;grid-template-columns:repeat(5,1fr);width:330px;padding:4px;transition:opacity .2s,transform .28s cubic-bezier(.22,.61,.36,1);display:grid;position:absolute;top:50%;right:0;transform:translateY(-50%)scale(.96);box-shadow:0 6px 20px #3a322614}.att-pick.open .att-opts{opacity:1;pointer-events:auto;transform:translateY(-50%)scale(1)}.att-thumb{border-radius:999px;width:calc(20% - 1.6px);transition:transform .28s cubic-bezier(.22,.61,.36,1),background .2s;position:absolute;top:4px;bottom:4px;left:4px}.att-opt{z-index:1;color:#6b7883;cursor:pointer;touch-action:manipulation;white-space:nowrap;background:0 0;border:0;border-radius:999px;min-height:32px;padding:7px 2px;font-family:inherit;font-size:12.5px;position:relative}.att-opt.on{font-weight:600}@media (max-width:430px){.att-opts{width:300px}.att-opt{font-size:12px}}@media (max-width:380px){.att-opts{width:270px}.att-opt{font-size:11.5px}}.rc-img-mask{z-index:120;background:#0f1a1fc9;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.rc-img-box{background:#fff;border-radius:12px;flex-direction:column;gap:10px;max-width:min(96vw,900px);max-height:92dvh;padding:14px;display:flex}.rc-img-tip{color:#7a8b95;text-align:center;font-size:12px}.rc-img-msg{color:#2f7f66;background:#f2f8f5;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;font-size:13px;display:flex}.rc-img-msg .text-button{white-space:nowrap;color:#1f7a5f;font-weight:500}.rc-img-scroll{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:auto}.rc-img-scroll img{width:100%;height:auto;display:block}.rc-img-box .flex-actions{justify-content:flex-end;gap:10px}@media (max-width:760px){.rc-img-mask{padding:10px}.rc-img-box{padding:12px}.rc-img-box .flex-actions{flex-direction:column;align-items:stretch}.rc-img-box .flex-actions .primary,.rc-img-box .flex-actions .secondary{width:100%;min-height:42px}}.rc-out{border:1px solid var(--line);background:#fbfcfd;border-radius:10px;margin-top:16px;padding:14px}.rc-out-head{align-items:baseline;gap:10px;margin-bottom:9px;display:flex}.rc-out-head strong{color:#4d7080;font-size:14px}.rc-out-head span{color:#9aaab5;font-size:12px}.rc-out-text{color:#33424c;resize:vertical;box-sizing:border-box;background:#fff;border:1px solid #e3eaee;border-radius:8px;width:100%;padding:11px 12px;font-family:inherit;font-size:13px;line-height:1.9}.rc-out .flex-actions{justify-content:flex-end;gap:10px;margin-top:10px}@media (max-width:760px){.rc-out{padding:12px}.rc-out .flex-actions{flex-direction:column;align-items:stretch}.rc-out .flex-actions .primary,.rc-out .flex-actions .secondary{width:100%;min-height:42px}}.rc-actions{justify-content:flex-end;gap:10px}.rc-actions .soft{color:#1f7a5e;background:#e3f2ea;border-color:#cbe4d8}.rc-actions .soft:hover:not(:disabled){background:#d6ebdf;border-color:#b9d9c9}@media (max-width:760px){.roster-list{padding:0 16px 16px}.roster-actions{width:100%}.roster-actions .soft{flex:1}.rollcall-dialog{border-radius:12px!important;gap:10px!important;max-width:calc(100% - 10px)!important;padding:16px 12px!important}.rollcall-dialog [data-slot=dialog-title]{font-size:17px}.rollcall-dialog [data-slot=dialog-description]{font-size:12px;line-height:1.7}.rc-print{margin:10px 0 4px}.rc-table{font-size:12.5px}.rc-no{padding-left:2px;padding-right:2px;font-size:12px}.rc-col-no{width:22px}.rc-col-name{width:20%}.rc-marks{grid-template-columns:repeat(2,minmax(0,1fr));justify-items:start;gap:6px 4px;padding:2px 4px;display:grid}.rc-mark{gap:5px;padding:2px 0;font-size:12.5px}.rc-mark i{width:18px;height:18px;font-size:11.5px}.rc-table td,.rc-table th{padding:7px 4px}.rc-title{font-size:14px;line-height:1.5;padding:9px 6px!important}.rc-info>td{padding:0}.rc-info-inner>span{border-bottom:1px solid #f6dfeb;padding:6px 10px;font-size:12px;line-height:1.7;display:block}.rc-info-inner>span:last-child{border-bottom:0}.rc-head td{white-space:nowrap;padding:6px 1px;font-size:11px}.rc-roll,.rc-roll thead,.rc-roll tbody{display:block}.rc-roll colgroup{display:none}.rc-roll tr{display:block}.rc-roll .rc-head{display:none}.rc-roll .rc-titlerow .rc-title{border:1px solid #d8e0e6;border-bottom:0;border-radius:10px 10px 0 0;display:block}.rc-roll .rc-info>td{border:0;border-left:1px solid #d8e0e6;border-right:1px solid #d8e0e6;width:100%;display:block}.rc-roll .rc-row.rc-blank{display:none}.rc-roll .rc-row{background:#fff;border:1px solid #e6edf1;border-radius:9px;flex-wrap:wrap;align-items:center;gap:0 8px;margin:5px 0;padding:7px 10px;display:flex;box-shadow:0 1px 2px #26334208}.rc-roll .rc-row td{display:block;border:0!important;width:auto!important;padding:0!important}.rc-roll .rc-row .rc-no{color:#a7b8c2;text-align:center;flex:0 0 18px;font-size:11.5px}.rc-roll .rc-row .rc-name{text-align:left;color:#2f3d47;flex:auto;font-size:14.5px}.rc-roll .rc-row td:last-child{flex:1 0 100%;margin-top:5px}.rc-roll .rc-row .rc-marks{gap:5px;padding:0;display:flex}.rc-roll .rc-row .rc-mark{background:#f5f8f7;border-radius:8px;flex-direction:row;flex:1;justify-content:center;gap:4px;min-height:0;padding:5px 2px;font-size:11.5px}.rc-roll .rc-row .rc-mark i{border-width:1.5px;width:15px;height:15px;font-size:10.5px}.rc-roll .rc-row .rc-mark.ok.on{background:#e7f5ee}.rc-roll .rc-row .rc-mark.late.on{background:#fbf0db}.rc-roll .rc-row .rc-mark.leave.on{background:#fbe9e6}.rc-roll .rc-row .rc-mark.online.on{background:#e7f0fa}.rc-roll .rc-row .rc-marks.collapsed{justify-content:flex-start;padding-left:28px}.rc-roll .rc-row .rc-marks.collapsed .rc-mark.on{flex:0 auto;justify-content:center;padding:5px 14px}.rc-roll .rc-row .rc-mark.on i{box-shadow:none}.rc-roll .rc-section{background:#eef4f1;border-radius:8px;margin:14px 0 6px;padding:7px 12px;display:block}.rc-roll .rc-section td{background:0 0;display:block;border:0!important;padding:0!important}.rc-status,.rc-status thead,.rc-status tbody{display:block}.rc-status colgroup{display:none}.rc-status tr{display:block}.rc-status .rc-head{display:none}.rc-status .rc-titlerow .rc-title{border:1px solid #d8e0e6;border-bottom:0;border-radius:10px 10px 0 0;display:block}.rc-status .rc-info>td{border:0;border-left:1px solid #d8e0e6;border-right:1px solid #d8e0e6;width:100%;display:block}.rc-status .rc-row.rc-blank{display:none}.rc-status .rc-row{background:#fff;border:1px solid #e6edf1;border-radius:10px;flex-wrap:wrap;gap:0 10px;margin:6px 0;padding:8px 10px;display:flex;box-shadow:0 1px 3px #2633420a}.rc-status .rc-row td{display:block;border:0!important;width:auto!important;padding:0!important}.rc-status .rc-row .rc-no{color:#a7b8c2;text-align:center;flex:0 0 20px;font-size:12px}.rc-status .rc-row .rc-name{text-align:left;color:#2f3d47;flex:calc(100% - 30px);font-size:15px}.rc-status .rc-row td.rc-cell{text-align:left;flex-direction:column;flex:calc(50% - 5px);gap:1px;min-width:0;margin-top:6px;display:flex}.rc-status .rc-row .rc-cell-label{color:#8ba0ac;text-align:left;box-shadow:none;background:0 0;border:0;align-items:center;gap:2px;width:100%;margin-bottom:1px;padding:0;font-size:10.5px;line-height:1.4;display:flex}.rc-status .rc-row .rc-cell-label .rc-label,.rc-status .rc-row .rc-cell-label .rc-max{box-shadow:none;color:#a08a52;background:0 0;border:0;border-bottom:1px dashed #e0d3a8;border-radius:0;height:auto;min-height:0;margin:0;padding:0 2px;font-size:10.5px;line-height:1.4}.rc-status .rc-row .rc-cell-label .rc-label{text-align:left;flex:auto;width:auto;min-width:32px}.rc-status .rc-row .rc-cell-label .rc-max{text-align:center;border-bottom-color:#eae0c6;flex:0 0 24px;width:24px}.rc-status .rc-row .rc-cell-label.rc-label{color:#a08a52;border-bottom:1px dashed #e0d3a8}.rc-status .rc-row .rc-in{text-align:left;background:#f6f9f8;border-radius:7px;min-height:32px;padding:5px 9px;font-size:15px}.rc-status .rc-row .rc-in:focus{background:#fffbe9;box-shadow:inset 0 0 0 1px #e6d9a8}.rc-status .rc-section{background:#eef4f1;border-radius:8px;margin:14px 0 6px;padding:7px 12px;display:block}.rc-status .rc-section td{background:0 0;display:block;border:0!important;padding:0!important}.rc-label{width:100%;box-shadow:none;color:#8a6f2e;background:#fffdf2;border-bottom:1px dashed #d8c68a;border-radius:0}.rc-label::placeholder{color:#c3b283}.rc-status .rc-col-name{width:34%}.rc-head .rc-max{width:26px;margin:0 1px;padding:1px;font-size:10.5px}.rc-no{width:32px}.rc-name{font-size:13.5px}.rc-section td{padding:6px 9px;font-size:12.5px}.rc-in{min-height:26px;font-size:12.5px}.rc-max{border-bottom-style:solid;width:30px;font-size:12px}.rc-actions{flex-direction:column;align-items:stretch;gap:8px}.rc-actions .primary,.rc-actions .secondary{width:100%;min-height:42px}}@media print{body *{visibility:hidden!important}.rc-print,.rc-print *{visibility:visible!important}.rc-print{width:100%;margin:0;position:absolute;top:0;left:0}.rc-in,.rc-max{background:0 0!important;border:0!important}.rc-mark i{border-width:1.5px!important}.rc-table{font-size:13px}}.tier-bar{color:#5d8a78;background:#f1f7f4;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px 20px;margin:14px 0 0;padding:13px 16px;font-size:12px;display:flex}.tier-bar span{white-space:nowrap}.tier-bar b{color:#2f8a70;font-weight:500}.tier-bar em{color:#a08a52;border-top:1px dashed #d8e6de;flex:100%;padding-top:7px;font-style:normal}.tier-src{color:#8fa8a0}.tier-src:before{content:"· "}.tier-cell{flex-direction:column;gap:5px;min-width:190px;display:flex}.tier-cell>b{color:#4d7080;font-size:13px;font-weight:500}.tier-cell>div:first-child{align-items:baseline;gap:7px;display:flex}.tier-cell small{color:#95a8b3;font-size:12px}.tier-flag{color:#3d8a71;background:#eef6f1;border-radius:5px;align-items:center;gap:5px;padding:3px 8px;font-size:12px;display:inline-flex}.tier-flag.down{color:#b5675c;background:#fdf1ef}.tier-flag svg{flex-shrink:0}.tier-flag em{color:#8fa8a0;font-style:normal}.tier-history{color:#9db0ba;flex-direction:column;gap:2px;font-size:12px;display:flex}.pay-parts{border:1px solid var(--line);background:#fbfcfd;border-radius:10px;margin:20px 0;padding:18px 20px}.pay-parts>.section-heading{padding:0 0 15px}.pay-parts .section-heading h3{color:#5c7c8b;font-size:15px}.pay-parts .form-grid{margin-bottom:4px}.pay-hint{color:#9c8347;background:#fff7ea;border-radius:7px;margin:14px 0 16px;padding:11px 14px;font-size:12px;line-height:1.9}.pay-hint b{color:#8a6f2e;font-weight:500}.pay-lines>h3{color:#5c7c8b;margin:22px 0 12px;font-size:15px}@media (max-width:760px){.tier-bar{gap:6px 14px}.pay-parts{padding:15px 14px}}.payroll-dialog [data-slot=table-container]{margin:15px 0}.payroll-dialog th{color:#94a4af;padding:12px;font-size:12px}.payroll-dialog td{padding:14px 12px;font-size:13px}.import-steps{grid-template-columns:repeat(3,1fr);gap:20px;margin:5px 0 24px;display:grid}.step{border:1px solid var(--border);background:#fff;border-radius:8px;grid-template-columns:auto 1fr;align-items:center;column-gap:14px;padding:20px;display:grid}.step>span{color:#a5c9bb;grid-row:span 2;font-family:Inter,system-ui;font-size:28px;font-weight:300}.step strong{color:#698895;font-size:14px}.step p{color:#9eafb9;margin-top:4px;font-size:12px}.import-panel{padding:0 24px 24px}.import-panel .section-heading{padding-left:0;padding-right:0}.drop-zone{cursor:pointer;background:#f8fbfa;border:1px dashed #b6d0c5;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:245px;padding:30px;display:flex}.file-icon{color:#6ca691;background:#edf6f0;border-radius:10px;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.drop-zone strong{color:#5f8478;margin-top:7px;font-size:16px}.drop-zone>span{color:#9eb3aa;font-size:12px}.upload-pill{background:#fff;border:1px solid #c9dcd2;border-radius:6px;align-items:center;gap:7px;margin-top:10px;padding:9px 17px;display:flex;color:#699d86!important}.import-result{border:1px solid var(--border);border-radius:8px;margin-top:23px;padding:18px}.import-result .section-heading{padding:0 0 15px}.import-success{color:#569d82;background:#f2f8f4;align-items:center;gap:8px;padding:15px;font-size:14px;display:flex}.export-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.export-card{padding:24px}.export-card h3{color:#617c8b;margin:18px 0 6px}.export-card p{color:#9cabb7;margin-bottom:22px;font-size:12px}.export-card .secondary{min-height:36px;font-size:12px}.settings-tabs{margin-bottom:17px}.settings-room{margin-top:22px}.system-info{padding:26px}.system-info>.info-grid{margin:22px 0}.info-grid{color:#839ba7;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;font-size:13px;display:grid}.info-grid>div>span{color:#a0b1bb;margin-bottom:5px;font-size:12px;display:block}.info-grid strong{color:#627e8c;font-size:14px;font-weight:400}.system-note{color:#8298a5;background:#f6f9fb;border-radius:7px;padding:20px;font-size:13px;line-height:2}.clear-demo{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;margin-top:26px;padding-top:24px;display:flex}.clear-demo p{color:#9aaab6;margin-top:6px;font-size:12px}.entity-dialog,.course-dialog,.student-dialog,.payroll-dialog{border-color:var(--border)!important;background:#fff!important;border-radius:12px!important;max-height:90dvh!important;padding:26px!important;overflow-y:auto!important}.entity-dialog{max-width:710px!important}.course-dialog,.payroll-dialog{max-width:1050px!important}.student-dialog{max-width:900px!important}.entity-dialog [data-slot=dialog-description],.course-dialog [data-slot=dialog-description],.student-dialog [data-slot=dialog-description],.payroll-dialog [data-slot=dialog-description]{color:#98a8b3;margin-top:5px;font-size:13px;line-height:1.7}.course-heading{align-items:center;gap:12px;padding-right:20px;display:flex}.course-heading [data-slot=dialog-title]{font-size:21px;line-height:1.7}.course-meta{flex-wrap:wrap;gap:18px;margin:9px 0;display:flex}.course-meta>span{color:#869eac;align-items:center;gap:5px;font-size:12px;display:flex}.detail-tabs{flex-wrap:wrap;justify-content:flex-start;gap:4px;margin:13px 0 10px;height:auto!important;display:flex!important}.detail-tabs [data-slot=tabs-trigger]{padding:9px 17px;font-size:14px}.detail-section{padding:7px 0}.detail-section>.section-heading{padding:15px 0 19px}.sign-report{border:1px solid var(--line);background:#fbfcfd;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;margin:0 0 18px;padding:16px 18px;display:grid}.sign-report>div{gap:10px;min-width:0;display:flex}.sign-report dt{color:var(--ink-3);flex:0 0 68px;font-size:12px}.sign-report dd{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:13px;overflow:hidden}@media (max-width:760px){.sign-report{grid-template-columns:1fr}}.sign-subsidy{color:#4f8f79;background:#f1f7f4;border-radius:7px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:11px 14px;font-size:12px;display:flex}.sign-subsidy b{color:#2f8a70;font-weight:500}.sign-subsidy.warn{color:#ad8f56;background:#fff7ea}.salary-policy{margin-top:22px;padding:22px}.salary-policy .section-heading{padding:0 0 16px}.policy-formula{color:#489881;background:#f1f7f4;border-radius:6px;margin:2px 0 18px;padding:14px 16px;font-size:14px}.policy-sub{color:#5c7c8b;margin:25px 0 13px;font-size:15px}.policy-note{color:#8ea1ac;margin-top:13px;font-size:12px;line-height:1.95}.policy-list{color:#6b8492;margin:0;padding-left:17px;font-size:13px;line-height:1.95}@media (max-width:760px){.salary-policy{padding:18px 16px}}.signin-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:12px 0 22px;display:grid}.signin-card{border:1px solid var(--border);border-radius:9px;padding:21px}.person-line{align-items:center;gap:10px;margin-bottom:21px;display:flex}.person-line>div:nth-child(2){flex:1}.person-line strong{color:#58727f;font-size:15px;font-weight:500}.person-line small{color:#9cadb6;font-size:12px;display:block}.sign-times{flex-direction:column;gap:13px;display:flex}.sign-times>div{color:#96a9b5;justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.sign-times b{color:#6f8896;font-size:13px;font-weight:400}.mini-tags{gap:8px;margin-top:12px;display:flex}.sign-actions{border-top:1px solid #edf1f4;flex-wrap:wrap;gap:10px;margin-top:9px;padding-top:19px;display:flex}.process-guide{color:#91a99d;background:#f4f8f6;border-radius:7px;justify-content:space-between;gap:16px;padding:14px 18px;font-size:12px;display:flex}.inset-form{background:#f8fbf9;border:1px solid #e5ede8;border-radius:8px;margin-top:23px;padding:21px}.inset-form h3{color:#587f6f}.inset-form>.primary,.inset-form>.flex-actions{margin-top:20px}.attendance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.attendance-row{border:1px solid var(--border);border-radius:9px;flex-direction:column;gap:9px;padding:12px 13px;display:flex}.attendance-row .att-name{color:#607b88;align-items:center;gap:8px;font-size:14px;display:flex}.attendance-row .rc-marks{grid-template-columns:repeat(3,minmax(0,1fr));justify-items:start;gap:7px 4px;padding:0;display:grid}.attendance-row>span>b{color:#a7b8c2;font-size:12px;font-weight:400}.attendance-row>span>svg{color:#b89956}.attendance-row .pick{width:106px!important;min-width:106px!important}.sticky-actions{border-top:1px solid var(--border);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:24px;padding:18px 0 0;display:flex;position:sticky;bottom:-26px}.sticky-actions>span{color:#9eaeb8;font-size:12px}.feedback-layout{grid-template-columns:185px minmax(0,1fr);gap:24px;margin-top:15px;display:grid}.feedback-roster{border:1px solid var(--border);background:#f8fafc;border-radius:7px;height:max-content;padding:13px}.feedback-roster>.check-label{margin-bottom:8px;font-size:12px}.roster-item{border-radius:5px;align-items:center;gap:7px;margin:4px -3px;padding:6px 8px;display:flex}.roster-item.active{background:#eaf4ef}.roster-item .check-label{min-height:26px}.roster-item>button{text-align:left;color:#6b8794;background:0 0;border:0;flex-direction:column;flex:1;min-height:35px;font-size:13px;display:flex}.roster-item strong{font-weight:400}.roster-item small{color:#a0b4bf;font-size:12px}.feedback-form>.section-heading{padding:0 0 15px}.feedback-form>.section-heading h3{color:#4d7080;font-size:18px}.review-note{color:#b59862;background:#fff7ea;border:1px solid #f4e8d3;border-radius:6px;margin:12px 0;padding:12px 15px;font-size:13px}.template-line{align-items:center;gap:10px;margin-bottom:21px;display:flex}.template-line .pick{flex:1}.evaluation-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.evaluation-grid .field>span{color:#8a9faa;font-size:12px}.evaluation-grid .pick{min-width:0!important}.feedback-images{flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0 7px;display:flex}.feedback-image{position:relative}.feedback-images img{object-fit:cover;border-radius:6px;width:90px;height:80px}.feedback-image>button{color:#9da7ae;background:#fffe;border:0;border-radius:50%;width:19px;height:19px;font-size:13px;line-height:1;position:absolute;top:3px;right:3px}.upload-button{cursor:pointer;color:#8dabb9;background:#f8fafc;border:1px dashed #b9cdd6;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-width:90px;height:80px;font-size:12px;display:flex;position:relative}.review-panel>.section-heading{padding:18px 0}.review-panel [data-slot=table-container]{border:1px solid var(--border);border-radius:7px}.review-panel th{color:#91a4b0;background:#f8fafb;padding:12px;font-size:12px}.review-panel td{padding:14px 12px;font-size:13px}.feedback-full{color:#6e8c97;margin:15px 0;font-size:14px;line-height:2}.admin-review{color:#86a095;margin-top:25px;font-size:13px}.admin-review summary{cursor:pointer;background:#f3f8f5;border-radius:7px;padding:12px}.bracket-editor{color:#819ea7;font-size:13px}.bracket-row{align-items:flex-end;gap:12px;margin:12px 0;display:flex}.bracket-row>label{flex:1;min-width:0}.bracket-row label span{margin-bottom:5px;font-size:12px;display:block}.bracket-row .icon-button{margin-bottom:4px}.student-profile-heading{align-items:center;gap:15px;display:flex}.student-profile-heading>div:nth-child(2){flex:1}.student-profile-heading [data-slot=dialog-title]{font-size:21px;line-height:1.7}.student-profile-info{color:#90a6b0;flex-wrap:wrap;align-items:center;gap:18px;padding:13px 0;font-size:12px;display:flex}.student-profile-info>.secondary{min-height:34px;margin-left:auto;font-size:12px}.student-dialog .compact-stats{gap:12px}.student-dialog .compact-stats>div{background:#f8fafb;border:0;padding:13px}.student-dialog .compact-stats strong{font-size:24px}.student-dialog th{color:#8ca3af;background:#f8fafb;padding:12px;font-size:12px}.student-dialog td{padding:13px;font-size:13px}.growth-timeline{padding:20px 5px 5px 17px}.growth-timeline>article{border-left:1px solid #dae9e1;margin-left:4px;padding:0 0 26px 23px;position:relative}.timeline-point{background:#91bba7;border-radius:50%;width:7px;height:7px;position:absolute;top:7px;left:-4px;box-shadow:0 0 0 3px #f3f9f5}.timeline-top{color:#79a18e;align-items:center;gap:14px;margin-bottom:9px;font-size:14px;display:flex}.timeline-top>.text-button{margin-left:auto;font-size:12px}.timeline-tags{color:#9bafba;flex-wrap:wrap;gap:18px;margin-bottom:8px;font-size:12px;display:flex}.growth-timeline p{color:#788f9c;font-size:13px;line-height:1.9}.loading-page{max-width:900px;margin:70px auto;padding:30px}.loading-cards{flex-direction:column;gap:20px;margin-top:45px;display:flex}.loading-cards p{color:#869ca8;font-size:14px}.load-error{border:1px solid var(--border);color:#95a6ae;background:#fff;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:17px;margin-top:35px;padding:60px 20px;display:flex}.load-error p{text-align:center;font-size:14px}.load-error h2{color:#6a838e;font-size:20px}.load-error a{color:var(--primary);font-size:13px}.login-page{background:#f1f6f4;justify-content:center;align-items:center;min-height:100dvh;padding:30px;display:flex}.login-card{background:#fff;border:1px solid #e0ebe5;border-radius:15px;flex-direction:column;align-items:center;width:460px;padding:45px 42px;display:flex;box-shadow:0 14px 60px #254b3c07}.login-card .brand-mark{border-radius:13px;width:55px;height:55px;font-size:31px}.login-card .eyebrow{color:#6ba78f;letter-spacing:.17em;margin:24px 0 8px;font-size:12px}.login-card h1{letter-spacing:.02em;color:#355e4f;font-size:25px;font-weight:600;line-height:1.8}.login-card>p:not(.eyebrow){color:#94aba0;margin-top:9px;font-size:13px}.login-button{width:100%;min-height:48px;margin:33px 0 23px;padding:14px;font-size:14px}.login-note{color:#9bb0a4;text-align:center;border-top:1px solid #edf3ef;padding-top:21px;font-size:12px;line-height:1.9}.login-probe{color:#6ba78f;cursor:pointer;background:0 0;border:0;margin:2px 0 12px;padding:4px;font-size:12px;text-decoration:underline}.stu-status{-webkit-appearance:none;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M1 1l4 4 4-4' fill='none' stroke='%23788a98' stroke-width='1.6' stroke-linecap='round'/></svg>");background-position:right 6px center;background-repeat:no-repeat;background-size:9px;border:0;border-radius:6px;padding:5px 20px 5px 9px;font-family:inherit;font-size:12.5px;line-height:1.5}.stu-status:focus{outline-offset:2px;outline:2px solid #40a793}.stu-status.st-在读{color:#3b6d11;background-color:#eaf3de}.stu-status.st-停课{color:#854f0b;background-color:#faeeda}.stu-status.st-结课{color:#185fa5;background-color:#e6f1fb}.stu-status.st-退学{color:#a32d2d;background-color:#fcebeb}.clock-switch{border:1px solid var(--border);color:#4e6370;white-space:nowrap;cursor:pointer;background:#fff;border-radius:7px;align-items:center;gap:6px;height:34px;padding:0 11px;font-size:13px;display:inline-flex}.clock-switch:hover{border-color:var(--primary);color:var(--primary);background:#f0f5f4}.clock-switch.on{color:#a8762c;background:#fdf3e3;border-color:#f0dcb8;font-weight:500}.clock-dialog{max-width:520px!important}.clock-row input{width:100%;min-height:44px;font-size:15px}.clock-hint{color:#9aa9b3;margin:10px 0 0;font-size:12px}@media (max-width:760px){.clock-switch{padding:0 9px}.clock-switch>span{display:none}}.login-probe-ok{color:#2f7f66;background:#eef7f2;border-radius:8px;margin:0 0 12px;padding:10px 12px;font-size:12px;line-height:1.8}.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.combo{position:relative}.combo-list{z-index:60;border:1px solid var(--border);background:#fff;border-radius:10px;max-height:236px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 28px #1f3a331f}.combo-item{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:baseline;gap:10px;width:100%;padding:8px 10px;font-family:inherit;display:flex}.combo-item:hover,.combo-item:focus{background:#f2f8f5}.combo-item b{color:#2f3d47;font-size:13.5px;font-weight:500}.combo-item small{color:#93a3af;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.pf-grid{background:#fafafb;border-radius:10px;grid-template-columns:1fr 1fr;gap:10px 24px;margin:2px 0 12px;padding:12px 16px;display:grid}.pf-cell{flex-direction:column;gap:3px;min-width:0;display:flex}.pf-cell>span{color:#93a3af;font-size:11.5px}.pf-cell>b{color:#2f3d47;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:500;overflow:hidden}.pf-miss{align-items:center;gap:6px;display:flex;color:#b3bdc4!important}.pf-tag{color:#96651a;background:#fff1cf;border-radius:4px;padding:1px 6px;font-size:11px;font-style:normal}.timeline-list li{grid-template-columns:56px minmax(0,1fr) 96px auto;align-items:center;gap:10px;display:grid}.pf-tl-st{color:#5b6b76;white-space:nowrap;background:#f2f2f5;border-radius:5px;justify-self:end;padding:2px 8px;font-size:12px}.pf-tl-st.on{color:#567f26;background:#e8f5d8}.pf-tl-st.off{color:#be2e56;background:#ffd1dc}.gt-card{border:1px solid var(--border);background:#fff;border-radius:12px;margin-bottom:12px;padding:12px 14px}.gt-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;display:flex}.gt-title{color:#2f3d47;font-size:14px;font-weight:600}.seg{background:#eef2f1;border-radius:9px;gap:3px;padding:3px;display:inline-flex}.seg button{color:#6b8794;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:7px;padding:6px 13px;font-family:inherit;font-size:12.5px}.seg button.on{color:#2f7f66;background:#fff;font-weight:600;box-shadow:0 1px 3px #0000000f}.gt-add{min-height:32px;margin-left:auto;padding:0 12px;font-size:12.5px}.gt-row{border-top:1px dashed #eef2f0;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:9px 2px;display:grid}.gt-row:first-of-type{border-top:0}.gt-l{flex-direction:column;gap:2px;min-width:0;display:flex}.gt-l b{color:#2f3d47;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:500;overflow:hidden}.gt-l small{color:#93a3af;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.gt-r{text-align:right;flex-direction:column;align-items:flex-end;gap:2px;display:flex}.gt-r strong{color:#2f7f66;font-size:21px;font-weight:600;line-height:1.2}.gt-r small{color:#93a3af;font-size:12px}.gt-sub{color:#93a3af;grid-column:1/-1;font-size:12px}.gt-sub i{font-style:normal}.gt-sub i.ok{color:#2f7f66}.gt-sub i.warn{color:#96651a}.gt-note{color:#9aa9b3;grid-column:1/-1;font-size:12px;line-height:1.7}.gt-tag{color:#5b6b76;white-space:nowrap;background:#f2f2f5;border-radius:5px;padding:3px 9px;font-size:12px}.gt-tag.on{color:#567f26;background:#e8f5d8}.gt-tag.off{color:#be2e56;background:#ffd1dc}.gt-more{color:var(--primary);cursor:pointer;background:0 0;border:0;margin-top:6px;padding:4px 0;font-family:inherit;font-size:12.5px}.gt-empty{color:#a9b4bb;justify-content:center;align-items:center;height:72px;font-size:12px;display:flex}.pf-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 12px;display:grid}.pf-stats>div{background:#fafafb;border:0;border-radius:10px;min-width:0;padding:12px 14px}.pf-stats span{color:#93a3af;white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.pf-stats strong{color:#2f7f66;font-size:28px;font-weight:600;line-height:1.3}.pf-stats strong small{color:#93a3af;margin-left:4px;font-size:12px;font-weight:400}@media (max-width:767px){.pf-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.pf-tabs{scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;justify-content:flex-start;gap:2px;margin:12px 0 10px;position:relative;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 12px calc(100% - 12px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 12px calc(100% - 12px),#0000 100%);height:auto!important;display:flex!important}.pf-tabs::-webkit-scrollbar{display:none}.pf-tabs [data-slot=tabs-trigger]{white-space:nowrap;flex:none}.student-profile-foot{justify-content:flex-end;margin-top:12px;display:flex}@media (max-width:767px){.pf-grid{gap:10px 14px;padding:12px}.timeline-list li{grid-template-columns:44px minmax(0,1fr) auto;gap:8px}.timeline-list li small{display:none}}.task-head{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;margin:0 0 16px;padding-bottom:14px;display:flex}.task-day strong{color:#2f3d47;font-size:24px;font-weight:650;line-height:1.4;display:block}.task-day span{color:#93a3af;font-size:12px}.task-head-stats{color:#8b9aa3;gap:16px;font-size:12px;display:flex}.task-head-stats b{color:#2f7f66;font-size:15px;font-weight:600}.task-head-stats .warn b{color:#c2564a}.task-progbar{border:1px solid var(--border);background:#fff;border-radius:12px;align-items:center;gap:14px;min-height:76px;margin:-2px 0 20px;padding:12px 16px 16px;display:flex;position:relative}.tp-start{flex-shrink:0;width:38px;height:auto;margin-bottom:-6px}.tp-line{background:#eef1f3;border-radius:8px;flex:1;min-width:60px;height:12px;position:relative}.tp-line i{background:linear-gradient(90deg,#a9e07f,#35a574);border-radius:8px;height:100%;transition:width .45s cubic-bezier(.4,0,.2,1);display:block}.tp-knob{pointer-events:none;width:44px;height:auto;transition:left .45s cubic-bezier(.4,0,.2,1);position:absolute;bottom:-10px;transform:translate(-58%)}.tp-num{color:#8b9aa3;flex-shrink:0;font-size:12.5px}.tp-num b{color:#2f7f66;font-size:17px;font-weight:650}.tp-yay{width:50px;height:auto;animation:.45s cubic-bezier(.2,1.4,.4,1) tp-pop;position:absolute;bottom:-9px;right:-10px}@keyframes tp-pop{0%{opacity:0;transform:scale(.3)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (max-width:760px){.task-progbar{gap:10px;padding:10px 12px 14px}.tp-start{width:32px}.tp-knob{width:38px;transform:translate(-58%)}.tp-num b{font-size:15px}.tp-yay{width:42px;bottom:-7px;right:-8px}}.task-block{margin-bottom:24px}.task-block>h3{color:#5d7686;align-items:center;gap:7px;margin:0 0 10px;font-size:14px;font-weight:600;display:flex}.task-block>h3 em{color:#9aa9b3;font-size:12px;font-style:normal;font-weight:400}.task-block-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.task-block-head>h3{align-items:center;gap:7px;display:flex}.task-block-head>h3 em{margin-left:2px}.task-block-head>h3{margin:0}.task-block-tools{align-items:center;gap:8px;display:flex}.task-block-tools .pick{width:104px!important;min-width:104px!important;min-height:34px!important;font-size:12.5px!important}.task-mine{border:1px solid var(--border);color:#6b8794;background:#fff;border-radius:7px;padding:6px 11px;font-size:12.5px}.task-mine.on{color:#2f7f66;background:#eef4f1;border-color:#bfdfd0}.task-card{border:1px solid var(--border);background:#fff;border-radius:10px;margin-bottom:8px;padding:11px 13px 9px}.task-card.done{opacity:.72;background:#fbfdfc}.task-card.done .task-title{color:#93a3af;text-decoration:line-through}.tc-top{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.tc-row{align-items:flex-start;gap:9px;margin-top:7px;display:flex}.tc-label{color:#9aa9b3;text-align:right;flex:0 0 62px;font-size:12px;line-height:2.1}.tc-text{color:#41525c;resize:vertical;min-width:0;box-shadow:none;background:#f7faf9;border:1px solid #0000;border-radius:7px;flex:1;min-height:34px;padding:6px 9px;font-family:inherit;font-size:13.5px;line-height:1.7}.tc-text:hover:not(:disabled){background:#f2f7f5}.tc-text:focus{border-color:var(--primary);box-shadow:none;background:#fff}.tc-shots{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-height:36px;display:flex}.tc-shot{display:inline-flex;position:relative}.tc-shot img{object-fit:cover;border:1px solid var(--border);border-radius:7px;width:74px;height:62px;display:block}.tc-shot>button{color:#9da7ae;cursor:pointer;background:#fffe;border:0;border-radius:50%;width:18px;height:18px;padding:0;font-size:13px;line-height:1;position:absolute;top:-5px;right:-5px}.tc-shot>button:hover{color:#c2564a}.tc-upload{color:#7c9c8e;cursor:pointer;background:#f8fbfa;border:1px dashed #b9cdc4;border-radius:7px;align-items:center;gap:5px;padding:9px 13px;font-size:12px;display:inline-flex}.tc-upload:hover{background:#eef6f1;border-color:#9dc9b3}.tc-upload input{display:none}.tc-empty{color:#b3bdc4;font-size:12px}.tc-drop-hint{color:#a9b6be;font-size:11.5px}.tc-drop-hint b{color:#5f8478;font-weight:600}.tc-shots:focus{outline:none}.tc-shots:focus-visible{outline-offset:2px;border-radius:8px;outline:2px solid #40a793}.task-card.dragging{border-color:#7fbfa4;box-shadow:0 0 0 3px #35a5741f}.task-card.dragging .tc-shots{background:#f0f8f4;border:1px dashed #7fbfa4;border-radius:8px;padding:8px}.task-card.dragging .tc-shots:after{content:"松手就上传";color:#2f7f66;font-size:12px}.task-check{color:#fff;cursor:pointer;background:#fff;border:2px solid #c3d2d9;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:21px;height:21px;padding:0;display:flex}.task-check.on{background:#35a574;border-color:#35a574}.task-check:disabled{cursor:default}.task-title{color:#2f3d47;min-width:120px;box-shadow:none;background:0 0;border:1px solid #0000;border-radius:6px;flex:1;min-height:0;padding:5px 7px;font-size:14.5px}.task-title:hover:not(:disabled){background:#f7faf9}.task-title:focus{border-color:var(--primary);box-shadow:none;background:#fff}.task-urgent{flex-shrink:0;align-items:center;gap:3px;display:flex}.task-urgent>em{color:#b3bdc4;margin-right:2px;font-size:11px;font-style:normal}.urg{border:1px solid var(--border);color:#a9b6be;cursor:pointer;background:#fff;border-radius:6px;width:24px;height:24px;padding:0;font-size:11.5px}.urg:disabled{cursor:default}.urg.on.u-高{color:#c2564a;background:#fbeae8;border-color:#f0c7c1;font-weight:600}.urg.on.u-中{color:#a8762c;background:#fdf3e3;border-color:#f0dcb8;font-weight:600}.urg.on.u-低{color:#2f7f66;background:#eef4f1;border-color:#cfe4d9;font-weight:600}.urg.on{transform:scale(1.05)}.task-prog{flex-shrink:0;align-items:center;gap:5px;width:148px;display:flex}.task-prog-bar{background:#eef1f3;border-radius:5px;flex:1;height:8px;overflow:hidden}.task-prog-bar i{background:linear-gradient(90deg,#8fd0a8,#35a574);border-radius:5px;height:100%;transition:width .2s;display:block}.task-prog-num{color:#5d7686;text-align:right;width:44px;min-height:0;box-shadow:none;background:0 0;border:1px solid #0000;padding:3px 2px;font-size:12.5px}.task-prog-num:focus{border-color:var(--primary);background:#fff}.task-prog span{color:#a9b6be;font-size:11.5px}.task-owner{color:#2f7f66;white-space:nowrap;background:#eef4f1;border-radius:5px;flex-shrink:0;padding:2px 7px;font-size:11.5px;font-style:normal}.task-owner-pick{color:#2f7f66;background:#eef4f1;border:1px solid #0000;border-radius:5px;flex-shrink:0;max-width:96px;padding:3px 5px;font-family:inherit;font-size:11.5px}.task-owner-pick.r-teacher{color:#4a6fa8;background:#eef2fb}.task-owner-pick.r-enroller{color:#a8762c;background:#fdf3e6}.task-owner-pick.r-principal{color:#6a5fa8;background:#f2f0fb}.task-owner-pick:disabled{opacity:1;-webkit-appearance:none;appearance:none;text-align:center;padding-right:5px}.task-cycle,.task-due{color:#9aa9b3;white-space:nowrap;flex-shrink:0;font-size:11.5px}.task-due.late{color:#c2564a}.task-line .task-del{flex-shrink:0;width:28px;height:28px}.task-line .task-del:hover{color:#c2564a;background:#fdeceb}.task-grp{margin-bottom:14px}.task-grp>h4{color:#7c8f9b;align-items:center;gap:7px;margin:0 0 7px;font-size:12.5px;font-weight:600;display:flex}.task-grp>h4 em{color:#9aa9b3;background:#f1f5f6;border-radius:8px;padding:0 6px;font-size:11.5px;font-style:normal;font-weight:400}.task-grp>h4.late{color:#c2564a}.task-grp>h4.late em{color:#c2564a;background:#fbeae8}.task-none{color:#9aa9b3;margin:2px 0 8px;font-size:12.5px;line-height:1.9}.task-addbar{align-items:center;gap:8px;margin:8px 0;display:flex}.task-addbar input{flex:1;min-width:0;min-height:38px;font-size:14px}.task-addbtn{color:#2f7f66;cursor:pointer;background:#f7fbf9;border:1px dashed #bfd6ca;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;display:inline-flex}.task-addbtn:hover{background:#eef6f1;border-color:#9dc9b3}.task-tabs{background:#eef2f1;border-radius:9px;gap:4px;margin:0 0 16px;padding:3px;display:inline-flex}.task-tabs button{color:#6b8794;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:7px 16px;font-family:inherit;font-size:13px}.task-tabs button.on{color:#2f7f66;background:#fff;font-weight:600;box-shadow:0 1px 3px #0000000f}.task-tabs .tab-dot{color:#fff;vertical-align:1px;background:#d9534f;border-radius:9px;justify-content:center;align-items:center;min-width:17px;height:17px;margin-left:6px;padding:0 5px;font-size:11px;font-style:normal;font-weight:600;line-height:1;display:inline-flex}.hist-list{flex-direction:column;gap:14px;display:flex}.hist-day{border:1px solid var(--border);background:#fff;border-radius:10px;padding:12px 14px}.hist-date{border-bottom:1px dashed #dfe8e4;align-items:baseline;gap:9px;margin-bottom:8px;padding-bottom:7px;display:flex}.hist-date b{color:#2f3d47;font-size:15px}.hist-date span{color:#9aa9b3;font-size:12px}.hist-item{color:#41525c;flex-wrap:wrap;align-items:center;gap:10px;padding:5px 0;font-size:13.5px;display:flex}.hist-owner{color:#2f7f66;background:#eef4f1;border-radius:5px;flex-shrink:0;padding:2px 7px;font-size:11.5px}.hist-title{flex:1;min-width:140px}.hist-cat{color:#8ba0ac;background:#f2f5f6;border-radius:5px;padding:2px 7px;font-size:11.5px}.hist-problem{color:#a8762c;text-overflow:ellipsis;white-space:nowrap;background:#fdf3e3;border-radius:5px;max-width:280px;padding:2px 7px;font-size:11.5px;overflow:hidden}@media (max-width:760px){.task-tabs{justify-content:center;width:100%}.task-tabs button{flex:1}.hist-problem{max-width:100%}}.submit-bar{border:1px solid var(--border);background:#fff;border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin:6px 0 18px;padding:14px 16px;display:flex}.submit-bar .submit-btn{min-height:44px;padding:0 20px;font-size:14.5px}.submit-hint{color:#9aa9b3;font-size:12px}.submit-state{color:#8b9aa3;align-items:center;gap:12px;font-size:14px;display:flex}.submit-state.ok{color:#2f7f66}.submit-state.warn{color:#a8762c}@media (max-width:760px){.submit-bar{flex-direction:column;align-items:stretch}.submit-hint{text-align:center}}.board-sub{flex-direction:column;gap:10px;margin-top:10px;display:flex}@media (max-width:760px){.audit-sum{width:100%}.audit-who{flex:auto}}.audit-chip{border-radius:6px;flex-shrink:0;align-items:center;gap:5px;padding:3px 8px;font-size:12px;display:inline-flex}.audit-chip.none{color:#93a3af;background:#f2f4f5}.audit-chip.ok{color:#2f7f66;background:#e7f5ee}.audit-chip.warn{color:#a8762c;background:#fdf0dc}.audit-chip small{opacity:.75;font-size:11px}.task-hint{color:#9aa9b3;align-items:center;gap:6px;margin-top:8px;font-size:12px;line-height:1.9;display:flex}@media (max-width:760px){.tc-top{gap:7px}.task-title{flex:100%;order:-1;min-width:0;font-size:15px}.tc-label{text-align:left;flex:0 0 100%;margin-bottom:-2px;line-height:1.6}.tc-row{flex-wrap:wrap;gap:4px}.task-prog{order:5;width:100%}.task-head-stats{justify-content:space-between;width:100%}.task-block-head{flex-direction:column;align-items:stretch}}.task-tabs-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px;display:flex}.task-tabs-row .task-tabs{margin:0}.rv-view button{padding:5px 12px;font-size:12.5px}.rv-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px;display:flex}.rv-stats{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex:1;min-width:280px;display:flex;overflow:hidden}.rv-stat{border:0;border-left:1px solid var(--line);cursor:pointer;background:0 0;flex-direction:column;flex:1 1 0;align-items:center;gap:1px;padding:9px 6px;font-family:inherit;transition:background .15s;display:flex}.rv-stat:first-child{border-left:0}.rv-stat:hover{background:#f7f8f9}.rv-stat b{color:var(--ink-2);font-size:21px;font-weight:650;line-height:1.15}.rv-stat span{color:var(--ink-3);font-size:11.5px}.rv-stat.s-pending b{color:var(--vanilla-600)}.rv-stat.s-idle b{color:var(--pink-600)}.rv-stat.s-doing b{color:var(--blue-600)}.rv-stat.on{background:#f4f7f8}.rv-stat.on.s-pending{background:var(--vanilla-100)}.rv-stat.on.s-idle{background:var(--pink-100)}.rv-stat.on.s-doing{background:var(--blue-100)}.rv-tools{align-items:center;gap:8px;display:flex}.rv-tools .pick{width:132px!important;min-width:132px!important;min-height:36px!important;font-size:12.5px!important}.rv-group{margin:0 0 20px}.rv-group-head{color:#5d7686;align-items:center;gap:8px;margin:0 0 8px;font-size:13px;font-weight:600;display:flex}.rv-group-head em{color:var(--ink-2);background:#f1f5f6;border-radius:8px;padding:0 7px;font-size:12px;font-style:normal;font-weight:400}.rv-group-head small{color:var(--ink-3);font-size:11.5px;font-weight:400}.rv-group-head.s-pending{color:var(--vanilla-600)}.rv-group-head.s-pending em{background:var(--vanilla-100);color:var(--vanilla-600)}.rv-group-head.s-idle{color:var(--pink-600)}.rv-group-head.s-idle em{background:var(--pink-100);color:var(--pink-600)}.rv-group-head.s-doing{color:var(--blue-600)}.rv-group-head.s-doing em{background:var(--blue-100);color:var(--blue-600)}.rv-item{margin-bottom:7px;animation:.42s cubic-bezier(.4,0,.2,1) both cardIn}.rv-item.faded{opacity:.62}.rv-row{background:var(--surface);border:1px solid var(--line);border-radius:12px;align-items:center;gap:10px;min-height:52px;padding:0 10px 0 12px;transition:border-color .15s,box-shadow .15s;display:flex}.rv-row:hover{border-color:#d7dee4;box-shadow:0 1px 3px #0000000a}.rv-row.open{border-color:#cfd9e0;border-bottom-right-radius:0;border-bottom-left-radius:0;box-shadow:0 2px 8px #0000000f}.rv-main{text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:10px;min-width:0;padding:9px 0;font-family:inherit;display:flex}.rv-badge{white-space:nowrap;border-radius:6px;flex-shrink:0;padding:3px 9px;font-size:12px}.rv-badge.s-pending{background:var(--vanilla-100);color:var(--vanilla-600)}.rv-badge.s-idle{background:var(--pink-100);color:var(--pink-600)}.rv-badge.s-doing{background:var(--blue-100);color:var(--blue-600)}.rv-badge.s-approved,.rv-badge.s-skip{color:#93a3af;background:#f2f4f5}.rv-who{color:#2f3d47;flex:none;align-items:center;gap:7px;min-width:118px;font-size:14.5px;font-weight:500;display:flex}.rv-av{color:#2f7f66;background:#eef4f1;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:11.5px;font-style:normal;display:flex}.rv-av.r-teacher{color:#4a6fa8;background:#eef2fb}.rv-av.r-enroller{color:#a8762c;background:#fdf3e6}.rv-av.r-principal{color:#6a5fa8;background:#f2f0fb}.rv-urgent{background:var(--pink-100);color:var(--pink-600);border-radius:5px;flex-shrink:0;padding:2px 7px;font-size:11.5px}.rv-count{color:#5d7686;flex:none;font-size:12.5px}.rv-prog{background:var(--blue-100);border-radius:2px;flex:80px;max-width:190px;height:4px;overflow:hidden}.rv-prog i{background:var(--blue-600);border-radius:2px;height:100%;transition:width .3s;display:block}.rv-time{color:var(--ink-3);white-space:nowrap;flex:none;font-size:11.5px}.rv-acts{flex-shrink:0;align-items:center;gap:6px;display:flex}.rv-acts .ok{color:#2f7f66}.rv-acts .warn{color:#a8762c}.rv-acts .muted{color:var(--ink-3)}.rv-caret{color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;padding:4px;display:flex}.rv-caret:hover{background:#f2f5f6}.rv-caret svg,.rv-caret-s{transition:transform .2s}.rv-caret svg.open,.rv-caret-s.open{transform:rotate(180deg)}.rv-detail{background:#fbfcfd;border:1px solid #cfd9e0;border-top:0;border-bottom-right-radius:12px;border-bottom-left-radius:12px;padding:8px 12px 10px}.rv-task{border-top:1px dashed #e3e9ed;animation:.34s cubic-bezier(.4,0,.2,1) both cardIn}.rv-task:first-child{border-top:0}.rv-task-head{text-align:left;cursor:default;background:0 0;border:0;align-items:center;gap:9px;width:100%;padding:9px 2px;font-family:inherit;display:flex}.rv-task-head[aria-expanded]{cursor:pointer}.rv-task-head[aria-expanded=false]:hover .rv-ttitle{color:var(--primary)}.rv-tbadge{white-space:nowrap;border-radius:5px;flex-shrink:0;padding:2px 8px;font-size:11.5px}.rv-tbadge.t-done{color:#93a3af;background:#f2f4f5}.rv-tbadge.t-doing{background:var(--blue-100);color:var(--blue-600)}.rv-tbadge.t-idle{background:var(--pink-100);color:var(--pink-600)}.rv-ttitle{color:#41525c;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13.5px;overflow:hidden}.rv-cycle{color:var(--ink-3);white-space:nowrap;flex-shrink:0;font-size:11.5px}.rv-cycle.late{color:#c2564a}.rv-tprog{background:var(--blue-100);border-radius:2px;flex:0 0 64px;height:4px;overflow:hidden}.rv-tprog i{background:var(--blue-600);border-radius:2px;height:100%;display:block}.rv-tpct{color:var(--ink-3);flex:none;font-size:11.5px}.rv-caret-s{color:var(--ink-3);flex-shrink:0}.rv-tdetail{padding:0 2px 10px 24px}.rv-drow{gap:12px;padding:6px 0;font-size:12.5px;display:flex}.rv-drow>span{color:var(--ink-3);flex:0 0 68px;font-size:12px;line-height:1.8}.rv-drow>p{color:#41525c;white-space:pre-wrap;word-break:break-word;flex:1;min-width:0;margin:0;line-height:1.8}.rv-shots-big{flex-wrap:wrap;flex:1;gap:8px;min-width:0;display:flex}.rv-shot{cursor:zoom-in;background:0 0;border:0;padding:0;line-height:0}.rv-shot img{object-fit:cover;border:1px solid var(--line);border-radius:8px;width:96px;height:80px;display:block}.rv-shot:hover img{border-color:var(--blue-600)}@media (max-width:760px){.rv-bar{flex-direction:column;align-items:stretch}.rv-stats{min-width:0}.rv-stat b{font-size:18px}.rv-stat span{font-size:11px}.rv-tools .pick{width:100%!important}.rv-row{gap:6px;padding:0 8px}.rv-main{flex-wrap:wrap;gap:6px 8px}.rv-who{flex:auto;min-width:0}.rv-count{margin-left:auto}.rv-prog{flex:60px;max-width:none}.rv-time{flex:100%}.rv-tdetail{padding-left:4px}}@media (prefers-reduced-motion:reduce){.rv-item,.rv-task{animation:none}}.task-stats{margin:0 0 16px}.task-stats .warn{color:#c2564a}.task-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px;display:flex}.task-bar .filter-group{flex:1;min-width:240px}.task-bar .primary{margin-left:auto}.task-group{margin-bottom:20px}.task-group h3{color:#5d7686;align-items:center;gap:8px;margin:0 0 9px;font-size:14px;font-weight:600;display:flex}.task-group h3 em{color:#9aa9b3;background:#f1f5f6;border-radius:9px;padding:0 7px;font-size:12px;font-style:normal;font-weight:400;line-height:1.8}.task-group h3.late{color:#c2564a}.task-group h3.late em{color:#c2564a;background:#fbeae8}.task-list{flex-direction:column;gap:9px;display:flex}.task-row{border:1px solid var(--border);background:#fff;border-radius:10px;align-items:flex-start;gap:12px;padding:13px 15px;display:flex}.task-row.late{background:#fffbfa;border-color:#f2d3cf}.task-row.done{opacity:.6}.task-row.done strong{color:#8b9aa3;text-decoration:line-through}.task-check{color:#fff;cursor:pointer;background:#fff;border:2px solid #c3d2d9;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-top:1px;padding:0;display:flex}.task-check:hover:not(:disabled){border-color:var(--primary)}.task-row.done .task-check{background:#35a574;border-color:#35a574}.task-check:disabled{cursor:default;opacity:.7}.task-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.task-main strong{color:#2f3d47;font-size:14.5px;font-weight:500;line-height:1.6}.task-meta{color:#94a4ae;flex-wrap:wrap;align-items:center;gap:12px;font-size:12px;display:flex}.task-meta>span{align-items:center;gap:4px;display:inline-flex}.task-owner{color:#2f7f66;background:#eef4f1;border-radius:5px;padding:1px 7px;font-style:normal}.task-owner.r-teacher{color:#4a6fa8;background:#eef2fb}.task-owner.r-assistant{color:#2f7f66;background:#eef4f1}.task-owner.r-enroller{color:#a8762c;background:#fdf3e6}.task-late{color:#c2564a}.task-note{color:#8b9aa3;text-overflow:ellipsis;white-space:nowrap;max-width:320px;overflow:hidden}.task-acts{flex-shrink:0;gap:2px;display:flex}.task-acts .task-del:hover{color:#c2564a;background:#fdeceb}.task-hint{color:#9aa9b3;align-items:center;gap:6px;margin-top:14px;font-size:12px;display:flex}.task-dialog{max-width:560px!important}@media (max-width:760px){.task-bar{flex-direction:column;align-items:stretch}.task-bar .primary{width:100%;min-height:44px}.task-note{max-width:180px}.task-row{gap:10px;padding:12px 13px}}.login-footer{color:#b8c8c0;margin-top:36px;font-size:12px}@media (min-width:1450px){.workspace{padding:33px 38px 0}.dashboard-main-grid{grid-template-columns:minmax(0,1fr) 330px}.stat-card{padding:24px}.today-panel td{padding:25px 22px}}@media (max-width:1200px){.workspace{padding:25px 23px 0}.topbar{padding:0 22px}.dashboard-main-grid{grid-template-columns:minmax(0,1fr) 260px;gap:17px}.stats-grid{gap:13px}.stat-card{padding:17px}.today-panel td{padding:18px 13px}.class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.global-search{display:none}.dashboard-bottom-grid{grid-template-columns:1fr 1fr;gap:17px}.bracket-display{grid-template-columns:repeat(2,1fr)}.section-heading{padding:19px}.todo-list{padding:0 14px}.topbar-right{gap:16px}.payroll-summary{gap:20px}.filter-group{gap:9px}.toolbar{flex-wrap:wrap}.monthly-metrics{padding:4px 20px 20px}.weekly-chart{gap:6px;padding:5px 17px 25px}}@media (max-width:1000px){.dashboard-main-grid{grid-template-columns:1fr}.todo-panel .todo-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;display:grid}.dashboard-bottom-grid{grid-template-columns:1fr}.monthly-metrics{grid-template-columns:repeat(4,1fr)}.export-grid,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-value{font-size:32px}.step{column-gap:10px;padding:16px}.step p{font-size:12px}.step>span{font-size:23px}.step strong{font-size:13px}.rules-grid{grid-template-columns:1fr}.page-heading h1{font-size:24px}.page-heading p{font-size:12px}}@media (max-width:767px){body{font-size:16px}.app-main{padding-bottom:72px}.topbar{z-index:20;gap:10px;height:62px;padding:0 16px;position:sticky;top:0}.topbar-left [data-slot=sidebar-trigger]{display:inline-flex}.breadcrumb{display:none}.topbar-right{gap:7px}.topbar-profile{gap:7px;padding-left:8px}.term-count{display:none}.term-switch{gap:0}.topbar-profile>span{display:none}.topbar-profile>a{margin-left:2px}.topbar-profile .avatar{width:29px;height:29px;font-size:12px}.notification{width:28px}.workspace{padding:24px 16px 0}.page-heading{align-items:flex-start;gap:12px;margin-bottom:17px}.page-heading h1{font-size:23px;line-height:1.6}.page-heading .eyebrow{margin-bottom:5px;font-size:12px}.page-heading p{max-width:260px;font-size:12px;line-height:1.8}.heading-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px}.heading-actions .primary{min-height:37px;padding:10px 12px;font-size:12px}.heading-actions .pick{width:104px!important;min-width:100px!important;min-height:37px!important;font-size:12px!important}.refresh-button{display:none}.demo-notice{align-items:flex-start;margin-bottom:18px;padding:10px;font-size:12px;line-height:1.9}.demo-notice .demo-badge{display:none}.demo-notice svg{margin-top:3px}.today-caption{margin:18px 0 12px;font-size:12px}.today-caption span:first-child{font-size:12px}.stats-grid{gap:12px;margin-bottom:18px}.stat-card{padding:16px 14px}.stat-top{gap:5px;font-size:12px}.stat-icon{border-radius:7px;width:29px;height:29px}.stat-icon svg{width:17px;height:17px}.stat-value{margin-top:11px;margin-bottom:9px;font-size:32px}.stat-value small{margin-left:6px;font-size:12px}.stat-note{font-size:12px}.stat-progress{margin-top:12px}.dashboard-main-grid{gap:17px;margin-bottom:17px}.section-heading{padding:17px 16px}.section-heading h2{font-size:15px}.section-heading p,.section-heading .text-button{font-size:12px}.today-panel th{padding:12px 16px;font-size:12px}.today-panel td{padding:19px 16px}.today-panel-footer{flex-wrap:wrap;justify-content:space-between;gap:11px;padding:13px 15px;font-size:12px}.todo-panel .todo-list{grid-template-columns:1fr}.todo-row strong{font-size:13px}.todo-row small{font-size:12px}.todo-row{padding:15px 0}.todo-footer{padding:14px;font-size:12px}.dashboard-bottom-grid{gap:17px}.weekly-chart{gap:2px;padding:3px 14px 21px}.week-bar{width:20px}.week-day b,.week-day small,.week-count{font-size:12px}.monthly-metrics{grid-template-columns:repeat(2,1fr);gap:20px;padding:5px 20px 21px}.monthly-metrics strong{font-size:26px}.monthly-metrics>div>span,.quality-progress>span,.quality-progress>small{font-size:12px}.quality-progress{padding:16px 20px}.workspace-footer{flex-direction:column;align-items:center;gap:5px;margin-top:10px;padding-bottom:20px;font-size:12px;line-height:1.8}.mobile-bottom-nav{border-top:1px solid var(--border);z-index:40;height:68px;padding:7px 8px max(7px,env(safe-area-inset-bottom));background:#fff;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-bottom-nav button{color:#99adb8;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:12px;display:flex}.mobile-bottom-nav button.active{color:#168f72}.mobile-bottom-nav button.active svg{fill:#08756208}.primary,.secondary{min-height:44px;padding:11px 14px;font-size:14px}.toolbar{align-items:flex-start;gap:14px;margin:18px 0}.filter-group{flex-wrap:wrap;gap:10px;width:100%}.filter-group .pick{flex:1;max-width:none;min-width:130px!important}.filter-group input{flex:1;min-width:130px}.search-input{width:100%;min-width:0}.search-input input{flex:1;width:100%;min-width:0}.class-grid,.export-grid,.rules-grid{grid-template-columns:1fr;gap:17px}.class-card{padding:20px}.class-card h2{font-size:18px}.class-info{font-size:14px}.compact-stats{grid-template-columns:repeat(2,1fr);gap:12px;margin:18px 0}.compact-stats>div{padding:15px 17px}.compact-stats span{font-size:12px}.compact-stats strong{font-size:29px}.compact-stats small{font-size:12px}.payroll-summary{grid-template-columns:repeat(2,1fr);gap:20px;padding:24px 21px}.payroll-summary>div:first-child{grid-column:span 2}.payroll-summary h2{font-size:38px}.salary-metric{border-top:1px solid #ffffff20;border-left:0;padding-top:15px;padding-left:0}.salary-metric strong{font-size:25px}.salary-metric span{font-size:12px}.salary-metric>svg{display:none}.import-steps{gap:10px;margin-bottom:19px}.step{flex-direction:column;align-items:flex-start;gap:3px;padding:14px 10px;display:flex}.step>span{font-size:21px}.step strong{font-size:12px}.step p{display:none}.import-panel{padding:0 17px 20px}.drop-zone{min-height:220px;padding:25px 12px}.drop-zone>span{text-align:center;font-size:12px}.drop-zone strong{font-size:16px}.export-card{padding:23px}.export-card .secondary{min-height:44px;font-size:14px}.export-card p{font-size:12px}.system-info{padding:21px}.system-info .info-grid{grid-template-columns:1fr}.system-note{padding:17px;font-size:13px}.clear-demo{flex-direction:column;align-items:flex-start}.settings-tabs{flex-wrap:wrap;justify-content:flex-start;gap:4px;display:flex;height:auto!important}.settings-tabs [data-slot=tabs-trigger]{padding:9px 12px;font-size:13px}.entity-dialog,.course-dialog,.student-dialog,.payroll-dialog{border-radius:11px!important;gap:14px!important;max-width:calc(100% - 16px)!important;max-height:94dvh!important;padding:20px 16px!important}.entity-dialog [data-slot=dialog-title],.course-dialog [data-slot=dialog-title],.student-dialog [data-slot=dialog-title]{font-size:19px;line-height:1.6}.course-meta{flex-direction:column;gap:6px;margin:6px 0;font-size:12px}.course-meta>span{font-size:12px}.detail-tabs{flex-wrap:wrap;gap:3px;padding:4px!important}.detail-tabs [data-slot=tabs-trigger]{padding:9px 11px;font-size:13px}.signin-cards{grid-template-columns:1fr;gap:14px;margin:6px 0 18px}.signin-card{padding:18px 16px}.sign-times b{font-size:13px}.sign-actions{margin-top:12px;padding-top:14px}.sign-actions .primary,.sign-actions .secondary{flex:1;min-width:120px}.process-guide{grid-template-columns:repeat(2,1fr);gap:8px 14px;padding:13px;font-size:12px;display:grid}.form-grid{grid-template-columns:1fr;gap:15px}.field{font-size:14px}.field input,.field textarea{min-height:44px;font-size:16px}.field .pick{min-height:44px!important;font-size:15px!important}.check-label{font-size:14px}.form-footer{gap:10px;margin-top:19px;padding-top:15px}.form-footer>.primary{flex:1}.inset-form{padding:17px 14px}.inset-form .info-grid,.attendance-grid{grid-template-columns:1fr;gap:10px}.attendance-row{padding:11px 13px}.attendance-row>span{font-size:15px}.attendance-row>.pick{width:112px!important;min-height:44px!important;font-size:15px!important}.feedback-layout{grid-template-columns:1fr;gap:20px}.feedback-roster{white-space:nowrap;align-items:center;gap:10px;max-width:100%;padding:10px;display:flex;overflow-x:auto}.feedback-roster>.check-label{flex-shrink:0;margin:0;font-size:12px}.roster-item{border:1px solid #e7edf2;flex-shrink:0;min-width:110px;margin:0;padding:7px 9px}.roster-item>button{font-size:13px}.roster-item small{font-size:12px}.evaluation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.evaluation-grid .field>span{font-size:13px}.template-line{gap:8px}.template-line .secondary{min-height:42px;padding:10px;font-size:12px}.template-line .pick{min-width:0!important;font-size:13px!important}.sticky-actions{flex-direction:column;align-items:stretch;gap:10px;margin-top:21px;padding-top:14px;bottom:-20px;box-shadow:0 -5px 10px #ffffffd9}.sticky-actions>.flex-actions{grid-template-columns:repeat(2,1fr);gap:8px;width:100%;display:grid}.sticky-actions>.secondary{min-height:35px;padding:7px;font-size:12px}.sticky-actions .flex-actions .primary,.sticky-actions .flex-actions .secondary{padding:10px 8px;font-size:12px}.detail-section .sticky-actions:has(>span){flex-direction:row;align-items:center}.detail-section .sticky-actions>span{flex:1;max-width:160px;font-size:12px}.feedback-images img{width:85px;height:75px}.student-profile-info{gap:10px;font-size:12px}.student-profile-info>.secondary{margin-left:0}.student-dialog .compact-stats{grid-template-columns:repeat(2,1fr)}.student-profile-heading{gap:10px}.student-avatar.large{width:43px;height:43px;font-size:20px}.timeline-top{flex-wrap:wrap;gap:9px;font-size:13px}.timeline-top>.text-button{font-size:12px}.growth-timeline p{font-size:14px}.growth-timeline .timeline-tags{gap:10px;font-size:12px}@media (max-width:760px){.today-head{flex-wrap:wrap;padding:18px 16px 14px}.today-courses{gap:10px;padding:0 16px 16px}.tc-card{padding:16px}.tc-time strong{font-size:17px}.tc-actions .primary,.tc-actions .soft{flex:1;min-width:110px}}.my-course-card{border-top:1px solid #edf1f4;margin:0 16px;padding:22px 0}.my-course-card:first-child{border-top:0}.course-card-top{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.course-time{color:#2f8a6d;font-size:16px;font-weight:500}.my-course-card h3{color:#527282;font-size:18px}.my-course-card p{color:#99adb7;align-items:center;gap:5px;margin:8px 0 18px;font-size:12px;display:flex}.my-course-card .flex-actions>.primary,.my-course-card .flex-actions>.secondary{flex:1;min-width:125px;font-size:13px}.bracket-row{gap:8px}.bracket-row input{padding:8px;font-size:14px}.bracket-row label span{font-size:12px}.bracket-row .icon-button{width:23px}.login-page{padding:20px}.login-card{width:100%;max-width:430px;padding:36px 24px}.login-card h1{font-size:22px}.login-card>p:not(.eyebrow){font-size:12px}.login-button{font-size:15px}.login-note,.login-footer{font-size:12px}}.batch-evaluation{color:#8ca4b0;background:#f6f9fb;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:17px;padding:10px 12px;font-size:12px;display:flex}.batch-evaluation .secondary{min-height:34px;padding:8px 10px;font-size:12px}.course-roster-editor{color:#76968a;border:1px solid #e4ebe7;border-radius:7px;padding:13px 15px;font-size:14px}.course-roster-editor summary{cursor:pointer}.course-roster-editor>div{grid-template-columns:repeat(3,1fr);gap:6px 15px;margin:12px 0;display:grid}.course-roster-editor>small{color:#9cadb6;font-size:12px}@media (max-width:767px){.course-roster-editor>div{grid-template-columns:repeat(2,1fr)}}.local-login-form{flex-direction:column;gap:15px;width:100%;margin-top:25px;display:flex}.local-login-form .field input{width:100%}.local-login-form .login-button{width:100%;margin:6px 0 4px}.local-login-form .form-error{margin:2px 0}.login-card:has(.local-login-form){max-width:460px}.local-login-form+.login-note{margin-top:24px}.role-switch{border:1px solid var(--border);color:#4e6370;white-space:nowrap;background:#fff;border-radius:7px;align-items:center;gap:6px;height:34px;padding:0 11px;font-size:13px;font-weight:500;display:inline-flex}.role-switch:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:#f0f5f4}.role-switch>svg:last-child{color:#93a3af}.role-switch-menu{min-width:272px}.role-switch-menu [data-slot=dropdown-menu-label]{color:#93a3af;font-size:12px}.role-switch-menu [data-slot=dropdown-menu-item]{gap:9px}.role-switch-menu [data-slot=dropdown-menu-item] small{color:#93a3af;margin-left:auto;font-size:12px}.role-switch-set{color:#2f7f66;white-space:nowrap;background:#f2f8f5;border:1px solid #cfe3d8;border-radius:6px;flex-shrink:0;margin-left:8px;padding:2px 8px;font-size:11px;line-height:1.6}.role-switch-set:hover{background:#e3f2ea;border-color:#b6dcc8}.acct-dialog{max-width:520px!important}.acct-grid{margin-top:4px}.acct-dialog .field input:disabled{color:#8b98a1;background:#f5f7f8}.preview-notice{color:#8a6b32;background:#fdf6ec;border:1px solid #f3e2c7;border-radius:6px;align-items:center;gap:9px;margin:0 0 21px;padding:9px 12px;font-size:13px;line-height:1.7;display:flex}.preview-notice svg{flex-shrink:0}.preview-notice .text-button{white-space:nowrap;color:#8a6b32;margin-left:auto;font-weight:600}@media (max-width:767px){.role-switch{padding:0 9px}.role-switch>span,.role-switch>svg:last-child{display:none}.preview-notice{align-items:flex-start;margin-bottom:18px;padding:10px;font-size:12px;line-height:1.9}.preview-notice svg{margin-top:3px}}.today-panel,.todo-panel{flex-direction:column;display:flex}.today-panel-footer,.todo-footer{margin-top:auto}.dashboard-bottom-grid>:only-child{grid-column:1/-1}.calendar-panel{margin-bottom:22px;overflow:hidden}.calendar-tools{align-items:center;gap:4px;display:flex}.calendar-tools .text-button{padding:0 8px;font-size:12px}.view-switch{border:1px solid var(--border);border-radius:7px;margin-left:8px;display:inline-flex;overflow:hidden}.view-switch button{color:#6d818e;background:#fff;border:0;padding:6px 14px;font-size:12px}.view-switch button+button{border-left:1px solid var(--border)}.view-switch button.active{background:var(--course-reg);color:var(--course-reg-ink);font-weight:500}.wk-legend{color:var(--ink-2);background:#fcfdfe;border-top:1px solid #edf1f4;border-bottom:1px solid #edf1f4;flex-wrap:wrap;align-items:center;gap:16px;padding:12px 22px;font-size:12px;display:flex}.wk-legend span{align-items:center;gap:6px;display:inline-flex}.wk-legend i{border-left:3px solid var(--course-reg-ink);background:var(--course-reg);border-radius:3px;width:12px;height:12px}.wk-legend i.neo{border-left-color:var(--course-neo-ink);background:var(--course-neo)}.wk-legend i.one{border-left-color:var(--course-one-ink);background:var(--course-one)}.wk-legend i.trial{border-left-color:var(--course-trial-ink);background:var(--course-trial)}.wk-legend i.off{border-left-color:var(--course-off-ink);background:var(--course-off)}.wk-toggle{color:var(--ink-2);cursor:pointer;align-items:center;gap:6px;margin-left:auto;font-size:12px;display:inline-flex}.wk-mobile-seg{gap:6px;padding:12px 16px 0;display:flex}.wk-mobile-seg button{border:1px solid var(--line);font:inherit;color:var(--ink-2);cursor:pointer;background:#fff;border-radius:8px;flex:1;padding:8px;font-size:12px}.wk-mobile-seg button.active{background:var(--course-reg);border-color:var(--course-reg-ink);color:var(--course-reg-ink);font-weight:500}.wk{align-items:start;max-width:980px;padding:14px 22px 20px;animation:.16s both fadeIn;display:grid}.wk-head{flex-direction:column;gap:2px;padding:0 10px 12px;display:flex}.wk-head b{color:var(--ink);font-size:12px;font-weight:600}.wk-head small{color:var(--ink-3);font-size:11px}.wk-axis{color:var(--ink-3);font-variant-numeric:tabular-nums;justify-content:flex-end;padding:0 8px 0 0;font-size:11px;line-height:60px;display:flex}.wk-axis-gap{line-height:20px}.wk-axis-gap.mid{color:var(--ink-3)}.wk-cell{border-left:1px solid var(--line);align-items:stretch;padding:0 8px;display:flex}.wk-cell+.wk-cell{border-left:1px solid var(--line)}.wk-cell:first-of-type{border-left:0}.wk-slot{gap:6px;width:100%;display:grid}.wk-gap{height:8px}.wk-gap.mid{height:20px}.wk-gap.band{justify-content:center;align-items:center;height:20px;display:flex;position:relative}.wk-band{z-index:1;color:var(--ink-3);background:#fff;padding:0 10px;font-size:11px;position:relative}.wk-gap.band:before{content:"";border-top:1px dashed var(--line);position:absolute;top:50%;left:0;right:0}.wk-block{box-sizing:border-box;border:0;border-left:3px solid var(--course-reg-ink);background:var(--course-reg);height:60px;color:var(--course-reg-ink);text-align:left;font:inherit;cursor:pointer;border-radius:6px;flex-direction:column;justify-content:center;gap:3px;padding:8px 12px;transition:box-shadow .2s;display:flex;position:relative;overflow:visible}.wk-block:hover{box-shadow:0 2px 6px #26262b1f}.wk-block:focus{outline:none}.wk-block:focus-visible{outline:2px solid var(--course-reg-ink);outline-offset:2px}.wk-block.neo{border-left-color:var(--course-neo-ink);background:var(--course-neo);color:var(--course-neo-ink)}.wk-block.one{border-left-color:var(--course-one-ink);background:var(--course-one);color:var(--course-one-ink)}.wk-block.trial{border-left-color:var(--course-trial-ink);background:var(--course-trial);color:var(--course-trial-ink)}.wk-block.off{border-left-color:var(--course-off-ink);background:var(--course-off);color:var(--course-off-ink)}.wk-b1{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.wk-b1 strong{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.wk-b1 em{color:var(--ink-2);white-space:nowrap;font-size:11px;font-style:normal}.wk-b2{color:inherit;opacity:.72;justify-content:space-between;align-items:baseline;gap:8px;font-size:11px;display:flex}.wk-b2 span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.wk-b2 em{color:var(--ink-3);opacity:1;white-space:nowrap;font-style:normal}.wk-block.off .wk-b1 strong{text-decoration:line-through}.wk-tip{z-index:20;color:#fff;pointer-events:none;background:#26262bf0;border-radius:8px;flex-direction:column;gap:3px;min-width:230px;padding:10px 12px;font-size:12px;line-height:1.5;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 22px -10px #00000080}.wk-tip strong{color:#fff;font-size:13px;font-weight:500}.wk-tip span{color:#ffffffd1;white-space:nowrap}@media (max-width:900px){.wk{padding:12px 14px 16px}.wk-legend{gap:12px;padding:10px 14px}.wk-toggle{margin-left:0}}.cal-blank{color:#9aacb8;background:#fcfdfe;border-top:1px solid #edf1f4;padding:16px 22px;font-size:12px}.cal-month-head{background:#fcfdfe;border-top:1px solid #edf1f4;border-bottom:1px solid #edf1f4;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-month-head span{text-align:center;color:var(--ink-3);padding:8px 0;font-size:12px}.cal-month-head span.wk{color:var(--ink);font-weight:500}.cal-month{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-cell{border-bottom:1px solid #f1f5f7;border-left:1px solid #f1f5f7;flex-direction:column;gap:4px;min-height:104px;padding:7px 8px;display:flex}.cal-cell>b{color:#5b7a87;font-size:12px;font-weight:600}.cal-cell.outside{background:#fbfcfd}.cal-cell:not(.weekend){background:#fcfcfd}.cal-cell.weekend>b{color:var(--ink)}.cal-cell.outside>b{color:#c0ccd4}.cal-cell.today{background:#f4faf8}.cal-cell.today>b{color:var(--primary)}.cal-chip{border:0;border-left:3px solid var(--course-reg-ink);background:var(--course-reg);color:var(--course-reg-ink);text-align:left;cursor:pointer;border-radius:5px;align-items:center;gap:5px;padding:3px 6px;font-size:11px;display:flex;overflow:hidden}.cal-chip:hover{filter:brightness(.96)}.cal-chip i{opacity:.8;font-size:10px;font-style:normal}.cal-chip.neo{border-left-color:var(--course-neo-ink);background:var(--course-neo);color:var(--course-neo-ink)}.cal-chip.one{border-left-color:var(--course-one-ink);background:var(--course-one);color:var(--course-one-ink)}.cal-chip.trial{border-left-color:var(--course-trial-ink);background:var(--course-trial);color:var(--course-trial-ink)}.cal-chip.off{border-left-color:var(--course-off-ink);background:var(--course-off);color:var(--course-off-ink);opacity:.7;text-decoration:line-through}.cal-more{color:#8b9daa;text-align:left;cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:11px}@media (max-width:900px){.cal-cell{min-height:76px;padding:5px 6px}.cal-chip i{display:none}}.pager{border-top:1px solid var(--border);color:#78858f;justify-content:flex-end;align-items:center;gap:12px;padding:14px 22px;font-size:13px;display:flex}.pager-button{border:1px solid var(--border);color:var(--primary);background:#fff;border-radius:6px;padding:6px 13px;font-size:13px}.pager-button:disabled{color:#b6c0c7;cursor:not-allowed;background:#f7f9fb}.board{margin:20px 0}.board-head{align-items:baseline;gap:10px;margin-bottom:16px;display:flex}.board-head h2{color:var(--ink);letter-spacing:.01em;margin:0;font-size:14px;font-weight:600}.board-sub{color:var(--ink-3);font-size:11px}.board-kpis{gap:12px;margin-bottom:18px;display:flex}.board-kpi{text-align:left;border:1px solid var(--line);border-left:3px solid var(--line);cursor:pointer;min-width:0;font:inherit;background:#fff;border-radius:12px;flex:1 1 0;padding:20px;animation:.42s cubic-bezier(.16,1,.3,1) both cardIn;display:block;box-shadow:0 1px 2px #26262b0a,0 8px 24px -16px #26262b1a}.board-kpi:first-child{animation-delay:0s}.board-kpi:nth-child(2){animation-delay:60ms}.board-kpi:nth-child(3){animation-delay:.12s}.board-kpi:nth-child(4){animation-delay:.18s}.board-kpi.ink{color:var(--blue-600);border-left-color:var(--blue-600)}.board-kpi.good{color:var(--mint-600);border-left-color:var(--mint-600)}.board-kpi.bad{color:var(--pink-600);border-left-color:var(--pink-600);border-left-width:5px}.board-kpi:hover{background:#fcfdfe;border-color:#d5dde3}.board-kpi>span{color:inherit;font-size:12px;display:block}.board-kpi strong{letter-spacing:-.02em;color:inherit;font-variant-numeric:tabular-nums;font-family:DIN Alternate,ui-monospace,-apple-system,PingFang SC,sans-serif;font-size:40px;font-weight:600;line-height:1.08;display:block}.board-kpi strong.missing{letter-spacing:0;font-size:22px;font-weight:500;line-height:1.6}.board-note{color:var(--ink-3);margin:6px 0 0;font-size:12px}.board-foot{border-top:1px solid var(--line);color:var(--ink-3);justify-content:space-between;align-items:center;gap:16px;margin-top:20px;padding-top:14px;font-size:11px;animation:.42s cubic-bezier(.16,1,.3,1) .24s both cardIn;display:flex}.timeline{border:1px solid var(--line);background:#fbfcfd;border-radius:10px;margin:14px 0 4px;padding:12px 14px}.timeline-title{color:var(--ink-2);margin-bottom:9px;font-size:12px;font-weight:600;display:block}.timeline-list{flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.timeline-list li{color:var(--ink-2);align-items:center;gap:10px;font-size:12px;display:flex}.timeline-list b{color:var(--ink);flex:0 0 52px;font-weight:600}.timeline-list span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.timeline-list small{color:var(--ink-3);flex:0 0 72px}.term-switch{align-items:center;gap:8px;margin-right:4px;display:flex}.term-switch .pick{min-width:104px!important;min-height:34px!important}.term-count{color:var(--ink-3);white-space:nowrap;font-size:12px}.board-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr) minmax(0,.85fr);gap:18px;display:grid}.board-panel{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:20px;animation:.42s cubic-bezier(.16,1,.3,1) .18s both cardIn;box-shadow:0 1px 2px #26262b0a,0 8px 24px -16px #26262b1a}.board-panel-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.board-panel h3{color:var(--ink);margin:0 0 14px;font-size:14px;font-weight:600}.board-panel-head h3{margin:0}.board-stack{background:var(--surface);transform-origin:0;border-radius:999px;gap:2px;height:34px;animation:.72s cubic-bezier(.16,1,.3,1) .12s both barGrow;display:flex;overflow:hidden}.board-seg{cursor:pointer;font:inherit;color:#fff;white-space:nowrap;border:0;justify-content:center;align-items:center;min-width:0;font-size:12px;display:flex;overflow:hidden}.board-seg.deep{background:var(--blue-600)}.board-seg.light{color:var(--blue-700);background:#9cc6eb}.board-seg.grey{color:var(--ink-2);background:#c9d6e2}.board-seg:hover{filter:brightness(1.06)}.board-legend{color:var(--ink-2);margin:14px 0 0;padding:0;font-size:12px;list-style:none}.board-legend li{margin-bottom:8px}.board-legend button{width:100%;font:inherit;color:var(--ink-2);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;margin:0 -6px;padding:3px 6px;font-size:12px;display:flex}.board-legend button:hover{color:var(--blue-600);background:#f4f4f7}.board-legend i{border-radius:3px;width:10px;height:10px}.board-legend i.deep{background:var(--blue-600)}.board-legend i.light{background:#9cc6eb}.board-legend i.grey{background:#c9d6e2}.board-rows{margin:0;padding:0;list-style:none;position:relative}.board-rows:after{content:"";pointer-events:none;z-index:1;background-image:repeating-linear-gradient(90deg,#26262b0f 0 1px,#0000 1px 25%);position:absolute;inset:0 56px 0 84px}.board-rows li{margin-bottom:12px}.board-rows button{cursor:pointer;width:100%;font:inherit;background:0 0;border:0;align-items:center;gap:12px;padding:2px 0;display:flex}.board-rows button:hover .board-row-name{color:var(--blue-600)}.board-rows button:hover .board-row-value{transform:translate(1px)}.board-row-name{text-align:left;color:var(--ink);flex:0 0 72px;font-size:12px}.board-row-track{background:var(--blue-100);border-radius:999px;flex:1;height:10px;overflow:hidden}.board-row-track i{background:var(--blue-600);transform-origin:0;border-radius:999px;height:100%;animation:.72s cubic-bezier(.16,1,.3,1) both barGrow;display:block}.board-rows li:first-child i{animation-delay:0s}.board-rows li:nth-child(2) i{animation-delay:70ms}.board-rows li:nth-child(3) i{animation-delay:.14s}.board-rows li:nth-child(4) i{animation-delay:.21s}.board-rows li:nth-child(5) i{animation-delay:.28s}.board-row-track i.lead{background:var(--blue-700)}.board-row-track i.warn{background:var(--pink-600)}.board-row-value{text-align:right;color:var(--ink);font-variant-numeric:tabular-nums;flex:0 0 44px;font-size:12px;transition:transform .25s cubic-bezier(.16,1,.3,1)}.board-row-value.lead{color:var(--blue-700);font-weight:600}.board-row-value.warn{color:var(--pink-600)}@keyframes cardIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes barGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.board-kpi,.board-panel,.board-stack,.board-row-track i,.board-foot{animation:10ms both fadeIn}}@media (max-width:900px){.board-grid{grid-template-columns:minmax(0,1fr)}.board-kpis{flex-wrap:wrap}.board-kpi{flex:44%}}.drawer-mask{z-index:40;background:#1c242a4d;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:#fff;border-left:1px solid #e8e7e3;flex-direction:column;width:min(440px,92vw);height:100%;animation:.18s ease-out drawer-in;display:flex}@keyframes drawer-in{0%{opacity:.55;transform:translate(18px)}to{opacity:1;transform:none}}.drawer-head{border-bottom:1px solid #e8e7e3;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 14px;display:flex}.drawer-head h3{color:#2c2c2a;margin:0;font-size:16px}.drawer-head small{color:#888780;font-size:12px}.drawer-body{flex:1;padding:8px 10px;overflow:auto}.drawer-row{cursor:pointer;width:100%;font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:10px;display:flex}.drawer-row:hover{background:#f7f7f5}.drawer-name{color:#2c2c2a;flex:0 0 72px;font-size:14px;font-weight:500}.drawer-meta{color:#888780;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.drawer-foot{text-align:right;border-top:1px solid #e8e7e3;padding:12px 20px 16px}.filter-chip{color:#4a5b66;background:#f4f7f9;border:1px solid #d9dfe4;border-radius:6px;align-items:center;gap:6px;padding:5px 8px 5px 10px;font-size:12px;display:inline-flex}.filter-chip button{cursor:pointer;color:#7d8f98;background:0 0;border:0;padding:0 2px;font-size:15px;line-height:1}.lb-mark{border:1px solid var(--pink-600);background:var(--pink-100);color:var(--pink-600);cursor:pointer;font:inherit;white-space:nowrap;border-radius:6px;flex-shrink:0;align-items:center;padding:2px 9px;font-size:12px;display:inline-flex}.lb-mark:hover{background:#ffc3d1}.inline-add{align-items:center;gap:10px;width:100%;display:flex}.inline-add input{flex:1;min-width:0}.recruit-xiaolu{color:#a1652b;font-weight:500}.lb{--lb-row:52px;--lb-cols:26px 96px 170px 76px 132px 96px 190px;border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;margin:0 0 16px;animation:.42s cubic-bezier(.16,1,.3,1) both cardIn;display:flex;overflow:hidden;box-shadow:0 1px 2px #26262b0a,0 8px 24px -16px #26262b1a}.lb-head{border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:12px;height:48px;padding:0 20px;display:flex}.lb-dot{background:var(--mint-600);transform-origin:50%;border-radius:50%;width:8px;height:8px;animation:1.6s ease-in-out infinite lbBeat}.lb-title{color:var(--ink);font-size:14px;font-weight:600}.lb-badge{color:var(--mint-600);background:var(--mint-100);border-radius:999px;padding:2px 10px;font-size:12px}.lb-updated{color:var(--ink-3);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.lb-enter{cursor:pointer;font:inherit;color:var(--blue-600);background:0 0;border:0;align-items:center;gap:3px;margin-left:auto;padding:0;font-size:13px;display:inline-flex}.lb-enter:hover{color:var(--blue-700)}.lb-updated+.lb-enter{margin-left:12px}.lb-view{overflow:hidden}.lb-track{will-change:transform}.lb-row{height:var(--lb-row);background:#fff;border-top:1px solid #f3f3f5;flex-direction:column;justify-content:center;padding:0 20px;display:flex}.lb-line{grid-template-columns:var(--lb-cols);align-items:center;width:100%;display:grid}.lb-trial{color:var(--ink-3);white-space:nowrap;align-items:center;gap:8px;margin-top:6px;font-size:12px;display:flex;overflow:hidden}.lb-trial b{color:var(--mint-600);flex-shrink:0;font-weight:500}.lb-trial em{color:var(--ink-2);font-style:normal}.lb-trial-note{color:var(--vanilla-600);background:var(--vanilla-100);border-radius:999px;flex-shrink:0;padding:1px 8px;font-size:11px;font-style:normal}.lb-trial-none{color:var(--ink-3);opacity:.7}.lb-sign{border:1px solid var(--mint-600);background:var(--mint-100);color:var(--mint-600);cursor:pointer;font:inherit;white-space:nowrap;border-radius:6px;align-items:center;gap:3px;padding:2px 9px;font-size:12px;display:inline-flex}.lb-sign:hover{background:#dcefc0}.lb-sign.out{border-color:var(--line);color:var(--ink-2);background:#fff}.lb-sign.out:hover{border-color:var(--blue-600);color:var(--blue-600)}.lb-sign:disabled{opacity:.5;cursor:default}.lb-done{color:var(--mint-600);white-space:nowrap;font-size:12px}.lb-row:first-child{border-top:0}.lb-line-click{cursor:pointer}.lb-row:hover{background:var(--page)}.lb-actions{cursor:default}.lb-hint{color:var(--ink-3);margin-left:12px;font-size:12px}.lb-dialog{max-width:560px}.lb-facts{border:1px solid var(--line);background:#fbfcfd;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;margin:4px 0 16px;padding:14px 16px;display:grid}.lb-facts div{align-items:baseline;gap:8px;min-width:0;display:flex}.lb-facts dt{color:var(--ink-3);flex:0 0 62px;font-size:12px}.lb-facts dd{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:13px;overflow:hidden}.lb-trial-box{margin-bottom:16px}.lb-trial-box>strong{color:var(--mint-600);margin-bottom:8px;font-size:13px;display:block}.lb-trial-box ul{margin:0;padding:0;list-style:none}.lb-trial-box li{color:var(--ink);border-top:1px solid #f3f3f5;padding:8px 0;font-size:13px}.lb-trial-box li:first-child{border-top:0}.lb-trial-box li span{font-weight:500}.lb-trial-box li small{color:var(--ink-2);margin-top:2px;font-size:12px;display:block}.lb-trial-box li em{color:var(--vanilla-600);margin-top:2px;font-size:12px;font-style:normal;display:block}.lb-trial-box p{margin:0;font-size:13px}.lb-dialog-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.lb-cell{min-width:0;color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.lb-teacher{color:var(--ink);font-size:14px;font-weight:600}.lb-class{color:var(--ink);font-size:14px}.lb-right{text-align:right;font-variant-numeric:tabular-nums}.lb-elapsed{color:var(--ink);font-size:14px;font-weight:600}.lb-statedot{background:var(--mint-600);transform-origin:50%;border-radius:50%;width:10px;height:10px;animation:1.6s ease-in-out infinite lbBeat;display:inline-block}@keyframes lbBeat{0%,to{opacity:1;transform:scale(1)}12%{opacity:1;transform:scale(1.38)}24%{opacity:.85;transform:scale(1)}36%{opacity:1;transform:scale(1.3)}48%{opacity:.85;transform:scale(1)}}.lb-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.lb-go{cursor:pointer;font:inherit;color:var(--blue-600);background:0 0;border:0;padding:0;font-size:13px}.lb-go:hover{color:var(--blue-700)}.lb-empty{height:48px;color:var(--ink-3);align-items:center;padding:0 20px;font-size:13px;display:flex}@media (prefers-reduced-motion:reduce){.lb-dot,.lb-statedot{animation:none}}@keyframes live-pulse{0%{box-shadow:0 0 #0875628c}70%{box-shadow:0 0 0 9px #08756200}to{box-shadow:0 0 #08756200}}.time-badge{border-radius:20px;align-items:center;gap:5px;margin-top:5px;padding:2px 8px;font-size:11px;display:inline-flex}.time-badge i{background:currentColor;border-radius:50%;width:6px;height:6px;animation:1.8s infinite live-pulse}.time-badge.live{color:#0b7a63;background:#ddf5ec;font-weight:600}.time-badge.past{color:#93a2ab;background:#f1f4f7}.course-row.past td,.course-row.past td strong{color:#a9b5bd}.course-row.past .status{opacity:.6}.course-row.off td{color:#b8c2c9}.course-row.live td{background:linear-gradient(90deg,#08756213,#08756200 60%)}.course-row.live td:first-child{box-shadow:inset 3px 0 0 var(--primary)}.course-row.live td strong{color:#0b6b58}.type-chip{white-space:nowrap;border-radius:5px;align-items:center;padding:3px 9px;font-size:13px;font-weight:500;line-height:1.7;display:inline-flex}.type-chip.new{color:#3a63c8;background:#e8efff;box-shadow:inset 0 0 0 1px #3a63c829}.type-chip.old{color:#a1652b;background:#fdf1e4;box-shadow:inset 0 0 0 1px #f0d8bd}.type-chip.none{color:#93a2ab;background:0 0;border:1px dashed #c9d3da}.profile-transfer{white-space:nowrap;flex-shrink:0;align-items:center;gap:5px;font-size:12.5px;display:inline-flex}.transfer-body{flex-direction:column;gap:14px;display:flex}.transfer-cur{border:1px solid var(--line);background:#fafafb;border-radius:10px;align-items:baseline;gap:10px;padding:11px 14px;display:flex}.transfer-cur>span{color:var(--ink-3);flex:0 0 62px;font-size:12px}.transfer-cur>b{color:#2f3d47;font-size:14.5px;font-weight:500}.transfer-impact{background:var(--blue-100);border-radius:10px;flex-direction:column;gap:6px;padding:11px 14px;display:flex}.transfer-impact>div{color:var(--blue-700);align-items:baseline;gap:5px;font-size:13px;display:flex}.transfer-impact b{color:var(--blue-600);font-size:17px;font-weight:650;line-height:1}.transfer-warn{background:var(--vanilla-100);color:var(--vanilla-600);border-radius:10px;margin:0;padding:11px 14px;font-size:12.5px;line-height:1.8}@media (max-width:767px){.transfer-cur{flex-direction:column;gap:3px}.transfer-cur>span{flex:none}}.class-swap{margin-left:auto}.swap-dialog{max-width:660px!important}.swap-cols{grid-template-columns:1fr 1fr;gap:16px;margin-top:4px;display:grid}.swap-col{flex-direction:column;gap:8px;min-width:0;display:flex}.swap-list{border:1px solid var(--line);background:var(--surface);border-radius:10px;min-height:96px;max-height:280px;padding:6px;overflow-y:auto}.swap-list .check-label{border-radius:7px;gap:9px;width:100%;min-height:0;padding:7px 9px;display:flex}.swap-list .check-label:hover{background:#f6f8f9}.swap-list .check-label>span{flex:1;justify-content:space-between;align-items:baseline;gap:8px;min-width:0;display:flex}.swap-name{color:#2f3d47;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;overflow:hidden}.swap-list small{color:var(--ink-3);white-space:nowrap;flex-shrink:0;font-size:11.5px}.swap-none{color:var(--ink-3);text-align:center;margin:0;padding:10px;font-size:12.5px}.swap-count{color:var(--ink-3);font-size:12px}.swap-count b{color:var(--blue-600);font-size:14px}.swap-preview{background:var(--blue-100);border-radius:10px;flex-direction:column;gap:5px;margin-top:2px;padding:11px 14px;display:flex}.swap-preview>div{color:var(--blue-700);flex-wrap:wrap;align-items:baseline;gap:5px;font-size:13px;display:flex}.swap-preview b{color:var(--blue-600);font-size:15px;font-weight:650}.swap-warn{color:var(--ink-3);margin:0;font-size:12px;line-height:1.8}@media (max-width:767px){.swap-cols{grid-template-columns:1fr}.swap-list{max-height:200px}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-scroll-snap-strictness{syntax:"*";inherits:false;initial-value:proximity}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height,var(--accordion-panel-height,auto))}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height,var(--accordion-panel-height,auto))}to{height:0}}@keyframes caret-blink{0%,70%,to{opacity:1}20%,50%{opacity:0}}@keyframes scroll-fade-reveal-b{0%{--scroll-fade-b:var(--_scroll-fade-size-b,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))))}to{--scroll-fade-b:0px}}@keyframes scroll-fade-reveal-s{0%{--scroll-fade-s:0px}to{--scroll-fade-s:var(--_scroll-fade-size-s,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))))}}@keyframes scroll-fade-reveal-e{0%{--scroll-fade-e:var(--_scroll-fade-size-e,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))))}to{--scroll-fade-e:0px}}@keyframes tw-shimmer{0%{background-position:100% 0}to{background-position:0 0}}
