/*! tailwindcss v4.3.3 | 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,::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-space-y-reverse:0;--tw-divide-y-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-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--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-sans:"Geist Variable", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--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;--tracking-wide:.025em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--radius-xs:.125rem;--radius-sm:calc(var(--radius) * .6);--radius-md:calc(var(--radius) * .8);--radius-lg:var(--radius);--animate-spin:spin 1s linear infinite;--blur-xs:4px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Geist Variable", sans-serif;--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}body{background-color:var(--background);color:var(--foreground)}html{font-family:Geist Variable,sans-serif}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.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}.static{position:static}.inset-0{inset:0}.top-1\/2{top:50%}.top-1\/3{top:33.3333%}.top-2{top:calc(var(--spacing) * 2)}.right-2{right:calc(var(--spacing) * 2)}.left-1\/2{left:50%}.isolate{isolation:isolate}.z-10{z-index:10}.z-50{z-index:50}.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}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.-mx-4{margin-inline:calc(var(--spacing) * -4)}.my-0{margin-block:0}.my-1{margin-block:var(--spacing)}.-mt-2{margin-top:calc(var(--spacing) * -2)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mr-1{margin-right:var(--spacing)}.-mb-4{margin-bottom:calc(var(--spacing) * -4)}.mb-1{margin-bottom:var(--spacing)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.field-sizing-content{field-sizing:content}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.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-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.size-full{width:100%;height:100%}.h-1{height:var(--spacing)}.h-2{height:calc(var(--spacing) * 2)}.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-8\!{height:calc(var(--spacing) * 8)!important}.h-9{height:calc(var(--spacing) * 9)}.h-auto{height:auto}.h-px{height:1px}.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-72{max-height:calc(var(--spacing) * 72)}.max-h-\[200px\]{max-height:200px}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-16{min-height:calc(var(--spacing) * 16)}.w-\(--radix-dropdown-menu-trigger-width\){width:var(--radix-dropdown-menu-trigger-width)}.w-64{width:calc(var(--spacing) * 64)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-32{min-width:calc(var(--spacing) * 32)}.min-w-36{min-width:calc(var(--spacing) * 36)}.min-w-64{min-width:calc(var(--spacing) * 64)}.min-w-\[96px\]{min-width:96px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.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-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)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);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-0{--tw-translate-y:0px;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}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.resize{resize:both}.resize-none{resize:none}.scroll-my-1{scroll-margin-block:var(--spacing)}.scroll-py-1{scroll-padding-block:var(--spacing)}.auto-rows-min{grid-auto-rows:min-content}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.place-content-center{place-content:center}.items-center{align-items:center}.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}.gap-\(--card-spacing\){gap:var(--card-spacing)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-y-4{row-gap:calc(var(--spacing) * 4)}.gap-y-6{row-gap:calc(var(--spacing) * 6)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.justify-self-end{justify-self:flex-end}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-4xl{border-radius:calc(var(--radius) * 2.6)}.rounded-\[2px\]{border-radius:2px}.rounded-\[calc\(var\(--radius\)-3px\)\]{border-radius:calc(var(--radius) - 3px)}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md), 10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md), 12px)}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius)}.rounded-lg\!{border-radius:var(--radius)!important}.rounded-md{border-radius:calc(var(--radius) * .8)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) * .6)}.rounded-xl{border-radius:calc(var(--radius) * 1.4)}.rounded-xl\!{border-radius:calc(var(--radius) * 1.4)!important}.rounded-t-xl{border-top-left-radius:calc(var(--radius) * 1.4);border-top-right-radius:calc(var(--radius) * 1.4)}.rounded-b-xl{border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-border{border-color:var(--border)}.border-input,.border-input\/30{border-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.border-input\/30{border-color:color-mix(in oklab, var(--input) 30%, transparent)}}.border-transparent{border-color:#0000}.bg-background{background-color:var(--background)}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.bg-black\/10{background-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.bg-foreground{background-color:var(--foreground)}.bg-input,.bg-input\/30{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.bg-input\/30{background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.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{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-clip-padding{background-clip:padding-box}.fill-foreground{fill:var(--foreground)}.p-\(--card-spacing\){padding:var(--card-spacing)}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-4{padding:calc(var(--spacing) * 4)}.px-\(--card-spacing\){padding-inline:var(--card-spacing)}.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)}.py-\(--card-spacing\){padding-block:var(--card-spacing)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-0{padding-bottom:0}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pl-1\.5{padding-left:calc(var(--spacing) * 1.5)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.text-center{text-align:center}.font-heading{font-family:var(--font-sans)}.font-mono{font-family:var(--font-mono)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-base\/6{font-size:var(--text-base);line-height:calc(var(--spacing) * 6)}.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-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-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.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)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.text-background{color:var(--background)}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-muted{color:var(--muted)}.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)}.uppercase{text-transform:uppercase}.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,)}.line-through{text-decoration-line:line-through}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.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-none\!{--tw-shadow:0 0 #0000!important;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)!important}.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-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)}}.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}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.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-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))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[--card-spacing\:--spacing\(4\)\]{--card-spacing:calc(var(--spacing) * 4)}.running{animation-play-state:running}.group-focus\/dropdown-menu-item\:text-accent-foreground:is(:where(.group\/dropdown-menu-item):focus *){color:var(--accent-foreground)}.group-disabled\:opacity-50:is(:where(.group):disabled *){opacity:.5}.group-has-data-\[slot\=command-shortcut\]\/command-item\:hidden:is(:where(.group\/command-item):has([data-slot=command-shortcut]) *){display:none}.group-has-\[\>input\]\/input-group\:pt-2:is(:where(.group\/input-group):has(>input) *){padding-top:calc(var(--spacing) * 2)}.group-has-\[\>input\]\/input-group\:pb-2:is(:where(.group\/input-group):has(>input) *){padding-bottom:calc(var(--spacing) * 2)}.group-data-\[checked\=true\]\/command-item\:opacity-100:is(:where(.group\/command-item)[data-checked=true] *){opacity:1}.group-data-\[disabled\=true\]\/input-group\:opacity-50:is(:where(.group\/input-group)[data-disabled=true] *){opacity:.5}.group-data-\[size\=sm\]\/card\:text-sm:is(:where(.group\/card)[data-size=sm] *){font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.group-data-selected\/command-item\:text-foreground:is(:where(.group\/command-item):where([data-selected=true]) *){color:var(--foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-6::file-selector-button{height:calc(var(--spacing) * 6)}.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)}@media (hover:hover){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:color-mix(in oklch,var(--secondary),var(--foreground) 5%)}}.hover\:bg-destructive\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/20:hover{background-color:color-mix(in oklab, var(--destructive) 20%, 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\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus,:is(.focus\:\*\*\:text-accent-foreground:focus *),:is(.not-data-\[variant\=destructive\]\:focus\:\*\*\:text-accent-foreground:not([data-variant=destructive]):focus *){color:var(--accent-foreground)}.focus-visible\:border-destructive\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:border-destructive\/40:focus-visible{border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.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-3:focus-visible,.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)}}.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)}}:is(.\*\:focus-visible\:relative>*):focus-visible{position:relative}:is(.\*\:focus-visible\:z-10>*):focus-visible{z-index:10}.active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-input\/50:disabled{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.disabled\:bg-input\/50:disabled{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.disabled\:bg-transparent:disabled{background-color:#0000}.disabled\:opacity-50:disabled{opacity:.5}:where([data-slot=button-group]) .in-data-\[slot\=button-group\]\:rounded-lg{border-radius:var(--radius)}:where([data-slot=combobox-content]) .in-data-\[slot\=combobox-content\]\:focus-within\:border-inherit:focus-within{border-color:inherit}:where([data-slot=combobox-content]) .in-data-\[slot\=combobox-content\]\:focus-within\:ring-0:focus-within{--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)}:where([data-slot=dialog-content]) .in-data-\[slot\=dialog-content\]\:rounded-lg\!{border-radius:var(--radius)!important}.has-disabled\:bg-input\/50:has(:disabled){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.has-disabled\:bg-input\/50:has(:disabled){background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.has-disabled\:opacity-50:has(:disabled){opacity:.5}.has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]){padding-left: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\=card-description\]\:grid-rows-\[auto_auto\]:has([data-slot=card-description]){grid-template-rows:auto auto}.has-data-\[slot\=card-footer\]\:pb-0:has([data-slot=card-footer]){padding-bottom:0}.has-data-\[slot\=kbd\]\:pr-1\.5:has([data-slot=kbd]){padding-right:calc(var(--spacing) * 1.5)}.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-3: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-3:has([data-slot][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-\[\[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-\[\>\[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-\[\>button\]\:mr-\[-0\.3rem\]:has(>button){margin-right:-.3rem}.has-\[\>button\]\:ml-\[-0\.3rem\]:has(>button){margin-left:-.3rem}.has-\[\>img\:first-child\]\:pt-0:has(>img:first-child){padding-top:0}.has-\[\>kbd\]\:mr-\[-0\.15rem\]:has(>kbd){margin-right:-.15rem}.has-\[\>kbd\]\:ml-\[-0\.15rem\]:has(>kbd){margin-left:-.15rem}.has-\[\>svg\]\:p-0:has(>svg){padding:0}.has-\[\>textarea\]\:h-auto:has(>textarea){height:auto}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-0[aria-invalid=true]{--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)}.aria-invalid\:ring-3[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)}.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)}}.data-inset\:pl-7[data-inset]{padding-left:calc(var(--spacing) * 7)}.data-placeholder\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[align-trigger\=true\]\:animate-none[data-align-trigger=true]{animation:none}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[position\=popper\]\:h-\(--radix-select-trigger-height\)[data-position=popper]{height:var(--radix-select-trigger-height)}.data-\[position\=popper\]\:w-full[data-position=popper]{width:100%}.data-\[position\=popper\]\:min-w-\(--radix-select-trigger-width\)[data-position=popper]{min-width:var(--radix-select-trigger-width)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:var(--spacing);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:var(--spacing);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-8[data-size=default]{height:calc(var(--spacing) * 8)}.data-\[size\=sm\]\:h-7[data-size=sm]{height:calc(var(--spacing) * 7)}.data-\[size\=sm\]\:rounded-\[min\(var\(--radius-md\)\,10px\)\][data-size=sm]{border-radius:min(var(--radius-md), 10px)}.data-\[size\=sm\]\:\[--card-spacing\:--spacing\(3\)\][data-size=sm]{--card-spacing:calc(var(--spacing) * 3)}.data-\[size\=sm\]\:has-data-\[slot\=card-footer\]\:pb-0[data-size=sm]:has([data-slot=card-footer]){padding-bottom:0}:is(.\*\:data-\[slot\=input-group-addon\]\:pl-2\!>*)[data-slot=input-group-addon]{padding-left:calc(var(--spacing) * 2)!important}:is(.\*\*\:data-\[slot\=kbd\]\:relative *)[data-slot=kbd]{position:relative}:is(.\*\*\:data-\[slot\=kbd\]\:isolate *)[data-slot=kbd]{isolation:isolate}:is(.\*\*\:data-\[slot\=kbd\]\:z-50 *)[data-slot=kbd]{z-index:50}:is(.\*\*\:data-\[slot\=kbd\]\:rounded-sm *)[data-slot=kbd]{border-radius:calc(var(--radius) * .6)}: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-1\.5>*)[data-slot=select-value]{gap:calc(var(--spacing) * 1.5)}.data-\[state\=closed\]\:overflow-hidden[data-state=closed]{overflow:hidden}.data-\[state\=delayed-open\]\:animate-in[data-state=delayed-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\=delayed-open\]\:fade-in-0[data-state=delayed-open]{--tw-enter-opacity:0}.data-\[state\=delayed-open\]\:zoom-in-95[data-state=delayed-open]{--tw-enter-scale:.95}.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)}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-backdrop-filter\:backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}}@media (width>=40rem){.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:text-sm\/6{font-size:var(--text-sm);line-height:calc(var(--spacing) * 6)}.sm\:text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}}@media (width>=48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/20:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/20:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:bg-transparent:is(.dark *){background-color:#0000}@media (hover:hover){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:disabled\:bg-input\/80:is(.dark *):disabled{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:disabled\:bg-input\/80:is(.dark *):disabled{background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.dark\:disabled\:bg-transparent:is(.dark *):disabled{background-color:#0000}.dark\:has-disabled\:bg-input\/80:is(.dark *):has(:disabled){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:has-disabled\:bg-input\/80:is(.dark *):has(:disabled){background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40:is(.dark *):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:is(.dark *):has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.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\:bg-accent:where([data-state=open]),.data-open\:bg-accent:where([data-open]:not([data-open=false])){background-color:var(--accent)}.data-open\:text-accent-foreground:where([data-state=open]),.data-open\:text-accent-foreground:where([data-open]:not([data-open=false])){color:var(--accent-foreground)}.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}.data-selected\:bg-muted:where([data-selected=true]){background-color:var(--muted)}.data-selected\:text-foreground:where([data-selected=true]){color:var(--foreground)}.data-disabled\:pointer-events-none:where([data-disabled=true]),.data-disabled\:pointer-events-none:where([data-disabled]:not([data-disabled=false])){pointer-events:none}.data-disabled\:opacity-50:where([data-disabled=true]),.data-disabled\:opacity-50:where([data-disabled]:not([data-disabled=false])){opacity:.5}.data-horizontal\:mx-px:where([data-orientation=horizontal]){margin-inline:1px}.data-horizontal\:h-px:where([data-orientation=horizontal]){height:1px}.data-horizontal\:w-auto:where([data-orientation=horizontal]){width:auto}.data-horizontal\:w-full:where([data-orientation=horizontal]){width:100%}.data-vertical\:my-px:where([data-orientation=vertical]){margin-block:1px}.data-vertical\:h-auto:where([data-orientation=vertical]){height:auto}.data-vertical\:w-px:where([data-orientation=vertical]){width:1px}.data-vertical\:self-stretch:where([data-orientation=vertical]){align-self:stretch}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_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-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)}.\[\.border-b\]\:pb-\(--card-spacing\).border-b{padding-bottom:var(--card-spacing)}.\[\.border-b\]\:pb-2.border-b{padding-bottom:calc(var(--spacing) * 2)}.\[\.border-t\]\:pt-2.border-t{padding-top:calc(var(--spacing) * 2)}:is(.\*\*\:\[\[cmdk-group-heading\]\]\:px-2 *)[cmdk-group-heading]{padding-inline:calc(var(--spacing) * 2)}:is(.\*\*\:\[\[cmdk-group-heading\]\]\:py-1\.5 *)[cmdk-group-heading]{padding-block:calc(var(--spacing) * 1.5)}:is(.\*\*\:\[\[cmdk-group-heading\]\]\:text-xs *)[cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}:is(.\*\*\:\[\[cmdk-group-heading\]\]\:font-medium *)[cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}:is(.\*\*\:\[\[cmdk-group-heading\]\]\:text-muted-foreground *)[cmdk-group-heading]{color:var(--muted-foreground)}: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-destructive\/20:is(a):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-destructive\/20:is(a):hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.\[a\]\:hover\:bg-muted:is(a):hover{background-color:var(--muted)}.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.\[a\]\:hover\:text-muted-foreground:is(a):hover{color:var(--muted-foreground)}:is(.\*\:\[a\]\:hover\:text-foreground>*):is(a):hover{color:var(--foreground)}}:is(.\*\:\[img\:first-child\]\:rounded-t-xl>*):is(img:first-child){border-top-left-radius:calc(var(--radius) * 1.4);border-top-right-radius:calc(var(--radius) * 1.4)}:is(.\*\:\[img\:last-child\]\:rounded-b-xl>*):is(img:last-child){border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}: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)}:is(.data-selected\:\*\:\[svg\]\:text-foreground:where([data-selected=true])>*):is(svg){color:var(--foreground)}.\[\&\>\*\: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}.has-\[select\[aria-hidden\=true\]\:last-child\]\:\[\&\>\[data-slot\=select-trigger\]\:last-of-type\]\:rounded-r-lg:has(:is(select[aria-hidden=true]:last-child))>[data-slot=select-trigger]:last-of-type{border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius)}.\[\&\>\[data-slot\=select-trigger\]\:not\(\[class\*\=\'w-\'\]\)\]\:w-fit>[data-slot=select-trigger]:not([class*=w-]){width:fit-content}.\[\&\>\[data-slot\]\:not\(\:has\(\~\[data-slot\]\)\)\]\:rounded-r-lg\!>[data-slot]:not(:has(~[data-slot])){border-top-right-radius:var(--radius)!important;border-bottom-right-radius:var(--radius)!important}.\[\&\>\[data-slot\]\:not\(\:has\(\~\[data-slot\]\)\)\]\:rounded-b-lg\!>[data-slot]:not(:has(~[data-slot])){border-bottom-right-radius:var(--radius)!important;border-bottom-left-radius:var(--radius)!important}.\[\&\>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-1\.5:has(>[data-align=inline-end])>input{padding-right:calc(var(--spacing) * 1.5)}.has-\[\>\[data-align\=inline-start\]\]\:\[\&\>input\]\:pl-1\.5:has(>[data-align=inline-start])>input{padding-left:calc(var(--spacing) * 1.5)}.\[\&\>kbd\]\:rounded-\[calc\(var\(--radius\)-5px\)\]>kbd{border-radius:calc(var(--radius) - 5px)}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3\!>svg{width:calc(var(--spacing) * 3)!important;height:calc(var(--spacing) * 3)!important}.\[\&\>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)}}@font-face{font-family:Montserrat;font-style:normal;font-weight:300 900;font-display:swap;src:url(/assets/Montserrat-Variable-l_AIctKy.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/Montserrat-Italic-CnlIvBC9.woff2)format("woff2")}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/NotoSansThai-Variable-CtQSZ1tK.woff2)format("woff2")}*,:before,:after{box-sizing:border-box;margin:0;padding:0}a{text-decoration:none}:root{--bg-primary:#f8f9fc;--bg-secondary:#fff;--bg-tertiary:#f1f3f7;--border-color:#eceef3;--text-primary:#111318;--text-secondary:#4b5163;--text-muted:#8a90a2;--brand-primary:#111318;--brand-secondary:#212529;--brand-btn-text:#fff;--card-shadow:0 1px 2px #1018280a, 0 1px 3px #10182808;--shadow-pop:0 12px 32px #1018281f, 0 2px 6px #1018280f;--focus-ring:#1113181a;--accent-success:#16794c;--accent-danger:#d4380d;--accent-warning:#b45309;--accent-info:#0b6bcb;--badge-bg:#1113180d;--badge-text:#111318;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--date-icon-filter:invert(1) brightness(1.6);--bg-primary:#0b0c0f;--bg-secondary:#131418;--bg-tertiary:#1c1e24;--border-color:#272a32;--text-primary:#f4f5f8;--text-secondary:#c3c8d4;--text-muted:#7c8194;--brand-primary:#fff;--brand-secondary:#e9ecef;--brand-btn-text:#0b0c0f;--card-shadow:0 1px 2px #0006;--shadow-pop:0 16px 40px #0000008c, 0 2px 8px #0006;--focus-ring:#ffffff26;--accent-success:#3ecf8e;--accent-danger:#f0644a;--accent-warning:#f5a524;--accent-info:#4c9ffe;--badge-bg:#ffffff14;--badge-text:#fff}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--date-icon-filter:invert(1) brightness(1.6);--bg-primary:#0b0c0f;--bg-secondary:#131418;--bg-tertiary:#1c1e24;--border-color:#272a32;--text-primary:#f4f5f8;--text-secondary:#c3c8d4;--text-muted:#7c8194;--brand-primary:#fff;--brand-secondary:#e9ecef;--brand-btn-text:#0b0c0f;--card-shadow:0 1px 2px #0006;--shadow-pop:0 16px 40px #0000008c, 0 2px 8px #0006;--focus-ring:#ffffff26;--accent-success:#3ecf8e;--accent-danger:#f0644a;--accent-warning:#f5a524;--accent-info:#4c9ffe;--badge-bg:#ffffff14;--badge-text:#fff}:root{--radius-xs:6px;--radius-sm:8px;--radius-md:10px;--radius-lg:12px;--check-box:.15s;--check-draw:.35s;--check-delay:0s;--check-uncheck:.15s;--check-ease:cubic-bezier(.22, 1, .36, 1);--check-len:15;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--text-xs:11px;--text-sm:12px;--text-base-sm:13px;--text-base:14px;--text-base-lg:15px;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--tracking-snug:-.02em;--tracking-wide:.05em;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--dur-base:.2s;--ease-btn:cubic-bezier(.4, 0, .2, 1);--leading-tight:1.3}body{background-color:var(--bg-primary);color:var(--text-primary);flex-direction:column;min-height:100vh;font-family:Montserrat,Noto Sans Thai,sans-serif;transition:background-color .3s,color .3s;display:flex;position:relative;overflow-x:hidden}:focus-visible{outline:2px solid var(--text-primary);outline-offset:2px}:focus:not(:focus-visible){outline:none}.skip-link{z-index:2000;background:var(--text-primary);color:var(--bg-primary);border-radius:10px;padding:12px 20px;font-size:14px;font-weight:600;text-decoration:none;transition:top .15s;position:fixed;top:-100px;left:16px}.skip-link:focus-visible{top:16px}@media (pointer:coarse){.icon-btn{justify-content:center;min-width:44px;min-height:44px}.ai-chat-panel__icon-btn{width:44px;height:44px}}#admin-panel,#login-section,#unauthorized-section{z-index:1;display:none}.btn{border-radius:var(--radius-sm);cursor:pointer;letter-spacing:-.01em;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s cubic-bezier(.4,0,.2,1),background-color .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary{background-color:var(--brand-primary);color:var(--brand-btn-text);border-color:var(--brand-primary)}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-secondary{border:1px solid var(--border-color);color:var(--text-secondary);background-color:#0000}.btn-secondary:hover{background-color:var(--bg-tertiary);color:var(--text-primary);border-color:var(--text-primary)}.btn-success{border:1px solid var(--accent-success);color:var(--accent-success);background-color:#0000}.btn-success:hover{background-color:var(--accent-success);color:#fff;transform:translateY(-1px)}.btn-danger{border:1px solid var(--accent-danger);color:var(--accent-danger);background-color:#0000}.btn-danger:hover{background-color:var(--accent-danger);color:#fff;transform:translateY(-1px)}.hamburger-btn{border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:16px;transition:color .2s,background-color .2s,border-color .2s;display:none}.hamburger-btn:hover{background-color:var(--bg-tertiary);border-color:var(--text-primary)}.mobile-menu-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;opacity:0;visibility:hidden;transition:opacity var(--modal-open-dur) var(--modal-ease), visibility var(--modal-open-dur) var(--modal-ease);background:#00000080;position:fixed;inset:0}.mobile-menu-overlay.active{opacity:1;visibility:visible}.mobile-menu-panel{background-color:var(--bg-secondary);border-left:1px solid var(--border-color);z-index:1000;width:280px;max-width:85vw;height:100%;transition:transform var(--modal-open-dur) var(--modal-ease);flex-direction:column;display:flex;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(100%)}.mobile-menu-overlay.active .mobile-menu-panel{transform:translate(0)}.mobile-menu-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.mobile-menu-header span{text-transform:uppercase;letter-spacing:.05em;color:var(--text-primary);font-size:14px;font-weight:700}.mobile-menu-close{border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;transition:color .2s,background-color .2s,border-color .2s;display:flex}.mobile-menu-close:hover{background-color:var(--bg-tertiary)}.mobile-menu-nav{flex-direction:column;gap:4px;padding:12px;display:flex}.mobile-menu-nav a{color:var(--text-secondary);border-radius:6px;align-items:center;gap:10px;padding:12px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s,background-color .2s,border-color .2s;display:flex}.mobile-menu-nav a:hover{color:var(--text-primary);background-color:var(--bg-tertiary)}.mobile-menu-nav a.active{color:var(--text-primary);background-color:var(--bg-tertiary);border:1px solid var(--border-color);font-weight:600}.mobile-menu-footer{border-top:1px solid var(--border-color);margin-top:auto;padding:16px}.mobile-menu-email{color:var(--text-muted);word-break:break-all;margin-bottom:12px;font-family:monospace;font-size:12px;font-weight:500}.mobile-menu-footer .btn{width:100%}.login-page{z-index:10;width:100%;min-height:100vh;position:relative}.login-wrapper{grid-template-columns:1.2fr 1fr;width:100%;min-height:100vh;display:grid}.login-brand-side{color:#fff;background:linear-gradient(135deg,#0f0f11 0%,#000 100%);justify-content:center;align-items:center;padding:60px;transition:background .3s;display:flex;position:relative;overflow:hidden}:root[data-theme=light] .login-brand-side{background:linear-gradient(135deg,#18181b 0%,#000 100%)}.login-brand-side:before{content:"";background:radial-gradient(circle,#ffffff0d 0%,#0000 70%);border-radius:50%;width:400px;height:400px;position:absolute;top:-10%;right:-10%}.brand-content{z-index:2;max-width:460px;position:relative}.brand-logo-container{align-items:center;gap:12px;margin-bottom:30px;display:flex}.brand-logo-container .logo-img{filter:brightness(0)invert();width:auto;height:52px}.brand-tagline h2{letter-spacing:-.5px;color:#fff;margin-bottom:12px;font-size:32px;font-weight:700}.brand-tagline p{color:#d4d4d8;margin-bottom:40px;font-size:16px;line-height:1.6}.brand-features{flex-direction:column;gap:20px;margin:0;padding:0;list-style:none;display:flex}.brand-features li{color:#eaeaea;align-items:center;gap:14px;font-size:15px;display:flex}.brand-features li i{color:#a1a1aa;font-size:18px}.login-form-side{background-color:var(--bg-secondary);justify-content:center;align-items:center;padding:60px;transition:background-color .3s;display:flex;position:relative}.login-form-container{width:100%;max-width:400px}.mobile-logo{text-align:center;margin-bottom:30px;display:none}.mobile-logo img{width:auto;height:48px}.login-title{color:var(--text-primary);letter-spacing:-.5px;margin-bottom:8px;font-size:28px;font-weight:700}.login-subtitle{color:var(--text-secondary);margin-bottom:36px;font-size:15px;line-height:1.5}.login-card{background-color:var(--bg-tertiary);border:1px solid var(--border-color);box-shadow:var(--card-shadow);border-radius:8px;padding:30px;transition:background-color .3s,border-color .3s}.login-desc-box{color:var(--text-secondary);align-items:flex-start;gap:12px;margin-bottom:24px;font-size:13px;line-height:1.6;display:flex}.login-desc-box i{color:var(--text-primary);margin-top:2px;font-size:16px}.unauthorized-page{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.error-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:var(--card-shadow);text-align:center;border-radius:8px;width:100%;max-width:420px;padding:40px 30px}.error-icon{color:var(--accent-danger);margin-bottom:16px;font-size:32px}.error-card h2{letter-spacing:-.02em;margin-bottom:12px;font-size:18px;font-weight:700}.error-card p{color:var(--text-secondary);margin-bottom:24px;font-size:13px;line-height:1.6}.logo-img{width:auto;height:24px;transition:filter .3s}[data-theme=dark] .logo-img{filter:brightness(0)invert()}.admin-badge-text{font-size:var(--text-xs);font-weight:var(--weight-bold);background-color:var(--badge-bg);color:var(--badge-text);border-radius:var(--radius-xs);letter-spacing:var(--tracking-wide);border:1px solid var(--border-color);padding:2px 6px}.admin-dashboard{background-color:var(--bg-primary);z-index:1;height:100vh;display:flex;overflow:hidden}.sidebar{background-color:var(--bg-secondary);border:1px solid var(--border-color);width:240px;height:calc(100vh - 20px);box-shadow:var(--shadow-pop);border-radius:16px;flex-direction:column;flex-shrink:0;margin:10px;transition:width .25s cubic-bezier(.22,1,.36,1);display:flex;overflow:hidden}.sidebar.icon-collapsed{width:68px}.sidebar.icon-collapsed .sidebar-label,.sidebar.icon-collapsed .sidebar-nav-heading,.sidebar.icon-collapsed .admin-badge-text,.sidebar.icon-collapsed .sidebar-wordmark{display:none!important}.sidebar.icon-collapsed .sidebar-header{justify-content:center;padding:18px 10px}.sidebar.icon-collapsed .sidebar-collapse-btn{margin-left:0}.sidebar.icon-collapsed .sidebar-nav-item{justify-content:center;padding:10px}.sidebar.icon-collapsed .sidebar-nav-section-items{grid-template-rows:1fr!important}.sidebar.icon-collapsed .sidebar-collapse-btn i{transform:rotate(180deg)}.sidebar.icon-collapsed .sidebar-footer-row{justify-content:center}.sidebar.icon-collapsed #admin-logout-btn{padding-left:0;padding-right:0}.sidebar-header{border-bottom:1px solid var(--border-color);align-items:center;gap:10px;padding:18px 20px;display:flex}.sidebar-header .logo-img{height:22px}.sidebar-collapse-btn{border:1px solid var(--border-color);border-radius:var(--radius-xs);width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;font-size:11px;transition:color .15s,background-color .15s,border-color .15s;display:flex}.sidebar-collapse-btn:hover{color:var(--text-primary);background-color:var(--bg-tertiary)}.sidebar-collapse-btn i{transition:transform .25s cubic-bezier(.22,1,.36,1)}.sidebar-nav{scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;flex:1;gap:4px;padding:14px 12px;display:flex;overflow:hidden auto}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-nav-section{flex-direction:column;display:flex}.sidebar-nav-heading{width:100%;font-family:inherit;font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:4px 10px 6px;transition:color .15s;display:flex}.sidebar-nav-heading .section-chevron{font-size:9px;transition:transform .25s cubic-bezier(.22,1,.36,1)}.sidebar-nav-section-items{grid-template-rows:1fr;transition:grid-template-rows .25s cubic-bezier(.22,1,.36,1);display:grid}.sidebar-nav-section-items .nav-items-inner{flex-direction:column;gap:4px;min-height:0;display:flex;overflow:hidden}.sidebar-nav-section.collapsed .sidebar-nav-section-items{grid-template-rows:0fr}.sidebar-nav-section.collapsed .section-chevron{transform:rotate(-90deg)}@media (prefers-reduced-motion:reduce){.sidebar,.sidebar-nav-section-items,.sidebar-collapse-btn i,.section-chevron{transition:none!important}}.sidebar-nav-item{border-radius:var(--radius-md);text-align:left;width:100%;font-size:var(--text-base-lg);cursor:pointer;font-family:inherit;font-weight:var(--weight-medium);color:var(--text-secondary);transition:color var(--dur-base) var(--ease-btn), background-color var(--dur-base) var(--ease-btn), border-color var(--dur-base) var(--ease-btn);background-color:#0000;border:1px solid #0000;align-items:center;gap:10px;padding:10px 12px;display:flex}.sidebar-nav-item i{text-align:center;width:18px;font-size:13px}.sidebar-nav-item:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.sidebar-nav-item.active{font-weight:var(--weight-semibold);color:var(--text-primary);background-color:var(--bg-tertiary);border-color:var(--border-color)}.sidebar-footer{border-top:1px solid var(--border-color);flex-direction:column;gap:12px;padding:14px 16px;display:flex}.sidebar-footer-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.sidebar-email{font-size:var(--text-sm);color:var(--text-muted);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-main{flex:1;height:100vh;overflow-y:auto}.dashboard-content{width:100%;max-width:1080px;margin:0 auto;padding:28px 32px 64px}.screen-header{margin-bottom:18px}.screen-header h1{font-size:26px;font-weight:var(--weight-bold);letter-spacing:var(--tracking-snug);color:var(--text-primary);margin:0 0 4px}.screen-header p{font-size:var(--text-base);color:var(--text-muted);margin:0}.dashboard-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.dashboard-top .screen-header{margin-bottom:0}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:22px;display:grid}.stat-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);flex-direction:column;gap:6px;padding:18px 20px;display:flex}.stat-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.stat-card-label{font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-muted)}.stat-card-top i{color:var(--text-muted);font-size:12px}.stat-card-value{font-size:28px;font-weight:var(--weight-bold);letter-spacing:var(--tracking-snug);color:var(--text-primary);line-height:1.1}.stat-card-sub{font-size:var(--text-base-sm);color:var(--text-muted)}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));align-items:start;gap:18px;display:grid}.dashboard-col{flex-direction:column;gap:18px;display:flex}.row-list{flex-direction:column;gap:10px;display:flex}.row-list.tight{gap:14px}.class-row{border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-tertiary);flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 14px;display:flex}.class-row .class-time{text-align:center;width:52px;font-weight:var(--weight-semibold);font-size:var(--text-base);color:var(--text-primary);border-right:1px solid var(--border-color);flex-shrink:0;padding-right:12px}.class-row .class-info{flex:1;min-width:160px}.class-row .class-info .name{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text-primary)}.class-row .class-info .course{font-size:var(--text-base-sm);color:var(--text-muted)}.class-status{font-size:var(--text-sm);font-weight:var(--weight-medium);flex-shrink:0;align-items:center;gap:5px;display:inline-flex}.class-status.done{color:var(--accent-success)}.class-status.pending{color:var(--text-muted)}.class-log-btn{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);font-size:var(--text-sm);font-family:inherit;font-weight:var(--weight-medium);cursor:pointer;transition:color var(--dur-base) var(--ease-btn), background-color var(--dur-base) var(--ease-btn), border-color var(--dur-base) var(--ease-btn);align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.class-log-btn:hover{color:var(--text-primary);border-color:var(--text-primary)}.alert-row{border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-tertiary);align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.alert-row i{flex-shrink:0;margin-top:3px;font-size:13px}.alert-row .alert-text{font-size:var(--text-base-sm);color:var(--text-secondary);line-height:var(--leading-tight)}.alert-row .alert-action{color:var(--text-primary);font-size:var(--text-sm);font-family:inherit;font-weight:var(--weight-semibold);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;align-items:center;gap:5px;margin-top:6px;padding:0;text-decoration:underline;display:inline-flex}.payment-row{align-items:center;gap:10px;display:flex}.payment-row .payment-info{flex:1;min-width:0}.payment-row .payment-info .name{font-size:var(--text-base-sm);font-weight:var(--weight-semibold);color:var(--text-primary)}.payment-row .payment-info .meta{font-size:var(--text-sm);color:var(--text-muted)}.payment-row .amount{font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--accent-success);flex-shrink:0}.sticky-picker{z-index:50;background-color:var(--bg-primary);flex-direction:column;gap:10px;padding:8px 0 14px;display:flex;position:sticky;top:0}.files-table{flex-direction:column;display:flex}.files-table-head,.files-table-row{grid-template-columns:1.4fr 1fr 1fr 1.2fr auto;align-items:center;gap:12px;display:grid}.files-table-head{border-bottom:1px solid var(--border-color);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide);padding:8px 10px}.files-table-row{border-bottom:1px solid var(--border-color);padding:10px}.files-table-row .filename{font-size:var(--text-base-sm);font-weight:var(--weight-semibold);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.files-table-row .filename i{color:var(--text-muted);flex-shrink:0}.files-table-row .file-type{font-size:var(--text-base-sm);color:var(--text-secondary)}.files-table-row .uploaded-at,.files-table-row .uploaded-by{font-size:var(--text-sm);color:var(--text-muted)}.files-table-row .uploaded-by{font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.files-table-row .file-actions{gap:6px;display:flex}.icon-btn{border-radius:var(--radius-sm);border:1px solid var(--border-color);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:color var(--dur-base) var(--ease-btn), background-color var(--dur-base) var(--ease-btn), border-color var(--dur-base) var(--ease-btn);background:0 0;align-items:center;gap:5px;padding:5px 10px;font-family:inherit;display:inline-flex}.icon-btn:hover{background-color:var(--bg-tertiary);color:var(--text-primary);border-color:var(--text-primary)}.icon-btn-danger{border-color:var(--accent-danger);color:var(--accent-danger)}.icon-btn-danger:hover{background-color:var(--accent-danger);color:#fff}.booking-wrap{gap:var(--space-3);flex-direction:column;max-width:640px;margin:0 auto;display:flex}.tab-content .booking-wrap>*{margin-top:0;margin-bottom:0}.step-indicator{align-items:center;gap:8px;margin-bottom:20px;display:flex}.step-item{flex:1;align-items:center;gap:8px;display:flex}.step-circle{width:24px;height:24px;font-size:var(--text-sm);font-weight:var(--weight-semibold);background-color:var(--bg-tertiary);color:var(--text-muted);border:1px solid var(--border-color);transition:color var(--dur-base) var(--ease-btn), background-color var(--dur-base) var(--ease-btn), border-color var(--dur-base) var(--ease-btn);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.step-circle.active,.step-circle.done{background-color:var(--brand-primary);color:var(--brand-btn-text);border-color:var(--brand-primary)}.step-label{font-size:var(--text-base-sm);font-weight:var(--weight-medium);color:var(--text-muted);white-space:nowrap}.step-label.active{font-weight:var(--weight-semibold);color:var(--text-primary)}.step-line{background-color:var(--border-color);flex:1;height:1px}.slot-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.slot-btn{text-align:center;border-radius:var(--radius-sm);font-size:var(--text-base-sm);font-family:inherit;font-weight:var(--weight-medium);cursor:pointer;border:1px solid var(--border-color);background-color:var(--bg-tertiary);color:var(--text-primary);transition:color var(--dur-base) var(--ease-btn), background-color var(--dur-base) var(--ease-btn), border-color var(--dur-base) var(--ease-btn);padding:10px 0}.slot-btn.booked{cursor:not-allowed;background-color:var(--bg-primary);color:var(--text-muted);text-decoration:line-through}.slot-btn.selected{border-color:var(--brand-primary);background-color:var(--brand-primary);color:var(--brand-btn-text)}.summary-list{border:1px solid var(--border-color);border-radius:var(--radius-md);flex-direction:column;display:flex;overflow:hidden}.summary-row{border-bottom:1px solid var(--border-color);background-color:var(--bg-tertiary);justify-content:space-between;gap:16px;padding:12px 16px;display:flex}.summary-row:last-child{border-bottom:none}.summary-row .label{font-size:var(--text-base-sm);color:var(--text-muted);align-items:center;gap:8px;display:flex}.summary-row .label i{text-align:center;width:14px}.summary-row .value{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text-primary)}.wizard-footer{justify-content:space-between;display:flex}.wizard-footer.end{justify-content:flex-end}:root{--tabs-dur:.25s;--tabs-ease:cubic-bezier(.22, 1, .36, 1);--tabs-bar-bg:var(--bg-tertiary);--tabs-pill-bg:var(--bg-secondary);--tabs-text-muted:var(--text-secondary);--tabs-text-active:var(--text-primary)}.tab-menu{background:var(--tabs-bar-bg);border:1px solid var(--border-color);border-radius:48px;align-items:center;gap:3px;margin-bottom:24px;padding:3px;display:inline-flex;position:relative}.tab-btn{appearance:none;height:38px;color:var(--tabs-text-muted);cursor:pointer;z-index:1;transition:color var(--tabs-dur) var(--tabs-ease);background:0 0;border:0;border-radius:48px;align-items:center;gap:8px;padding:6px 20px;font-family:inherit;font-size:14px;font-weight:500;display:flex;position:relative}.tab-btn:hover:not([aria-selected=true]){color:var(--tabs-text-active)}.tab-btn[aria-selected=true]{color:var(--tabs-text-active);font-weight:600}.tab-menu-pill{background:var(--tabs-pill-bg);width:0;height:38px;transition:transform var(--tabs-dur) var(--tabs-ease), width var(--tabs-dur) var(--tabs-ease);will-change:transform, width;z-index:0;pointer-events:none;border:1px solid var(--border-color);border-radius:48px;position:absolute;top:3px;left:0;transform:translate(0);box-shadow:0 2px 8px #0000000d,0 1px 3px #00000005}@media (prefers-reduced-motion:reduce){.tab-menu-pill,.tab-btn,.tab-menu-pill-mini,.tab-btn-mini{transition:none!important}}.tab-content{animation:.25s cubic-bezier(.22,1,.36,1) fadeIn;display:none}.tab-content.active{gap:var(--space-3);flex-direction:column;display:flex}.tab-content.active>*{margin-top:0;margin-bottom:0}@media (prefers-reduced-motion:reduce){.tab-content,[data-profile-panel].active{animation:none!important}}.t-check-row{cursor:pointer;align-items:center;gap:10px;font-weight:400;display:inline-flex}.t-check{flex-shrink:0;width:20px;height:20px;display:inline-flex;position:relative}.t-check input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.t-check-box{border:1.5px solid var(--border-color);background-color:var(--bg-tertiary);pointer-events:none;transition:background-color var(--check-box) var(--check-ease), border-color var(--check-box) var(--check-ease), box-shadow var(--check-box) var(--check-ease);border-radius:6px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.t-check input:checked~.t-check-box{background-color:var(--text-primary);border-color:var(--text-primary)}.t-check input:focus-visible~.t-check-box{box-shadow:0 0 0 3px #3b82f659}.t-check input:disabled~.t-check-box{opacity:.5;cursor:not-allowed}.t-check-box svg{width:12px;height:12px;overflow:visible}.t-check-box svg path{fill:none;stroke:var(--bg-secondary);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:var(--check-len);stroke-dashoffset:var(--check-len);transition:stroke-dashoffset var(--check-uncheck) var(--check-ease)}.t-check input:checked~.t-check-box svg path{stroke-dashoffset:0;transition:stroke-dashoffset var(--check-draw) var(--check-ease) var(--check-delay)}.t-check-label{line-height:1.45}@media (prefers-reduced-motion:reduce){.t-check-box,.t-check-box svg path{transition:none!important}}.t-tabs{background:var(--tabs-bar-bg);border:1px solid var(--border-color);border-radius:48px;align-items:center;gap:3px;padding:3px;display:inline-flex;position:relative}.t-tab{appearance:none;height:30px;color:var(--tabs-text-muted);cursor:pointer;z-index:1;transition:color var(--tabs-dur) var(--tabs-ease);font-family:inherit;font-size:var(--text-base-sm);font-weight:var(--weight-medium);background:0 0;border:0;border-radius:48px;padding:4px 12px;position:relative}.t-tab:not([aria-selected=true]):hover,.t-tab[aria-selected=true]{color:var(--tabs-text-active)}.t-tab[aria-selected=true]{font-weight:var(--weight-semibold)}.t-tabs-pill{background:var(--tabs-pill-bg);border:1px solid var(--border-color);width:0;height:30px;transition:transform var(--tabs-dur) var(--tabs-ease), width var(--tabs-dur) var(--tabs-ease);will-change:transform, width;z-index:0;pointer-events:none;border-radius:48px;position:absolute;top:3px;left:0;transform:translate(0)}@media (prefers-reduced-motion:reduce){.t-tabs-pill,.t-tab{transition:none!important}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}:root{--dropdown-open-dur:.25s;--dropdown-close-dur:.15s;--dropdown-pre-scale:.97;--dropdown-closing-scale:.99;--dropdown-ease:cubic-bezier(.22, 1, .36, 1)}.custom-dropdown{-webkit-user-select:none;user-select:none;width:100%;position:relative}.dropdown-trigger{background-color:var(--bg-tertiary);border:1px solid var(--border-color);cursor:pointer;color:var(--text-primary);border-radius:6px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:13px;transition:color .15s,background-color .15s,border-color .15s;display:flex}.dropdown-trigger:hover{border-color:var(--text-primary)}.dropdown-actions{color:var(--text-muted);align-items:center;gap:8px;display:flex}.clear-btn{cursor:pointer;padding:4px;font-size:12px;transition:color .15s}.clear-btn:hover{color:var(--accent-danger)}.arrow-icon{transition:transform var(--dropdown-open-dur) var(--dropdown-ease);font-size:10px}.custom-dropdown.active .arrow-icon{transform:rotate(180deg)}.dropdown-menu-panel{background-color:var(--bg-secondary);border:1px solid var(--border-color);z-index:100;transform-origin:top;width:100%;transform:scale(var(--dropdown-pre-scale));opacity:0;transition:transform var(--dropdown-open-dur) var(--dropdown-ease), opacity var(--dropdown-open-dur) var(--dropdown-ease);will-change:transform, opacity;border-radius:6px;flex-direction:column;display:none;position:absolute;top:calc(100% + 6px);left:0;overflow:hidden;box-shadow:0 10px 30px #00000026}.custom-dropdown.active .dropdown-menu-panel{opacity:1;display:flex;transform:scale(1)}.custom-dropdown.is-closing .dropdown-menu-panel{transform:scale(var(--dropdown-closing-scale));opacity:0;transition:transform var(--dropdown-close-dur) var(--dropdown-ease), opacity var(--dropdown-close-dur) var(--dropdown-ease);display:flex}@media (prefers-reduced-motion:reduce){.dropdown-menu-panel{transition:none!important}}.dropdown-search-box{border-bottom:1px solid var(--border-color);background-color:var(--bg-tertiary);align-items:center;padding:10px 12px;display:flex}.dropdown-search-box .search-icon{color:var(--text-muted);margin-right:8px;font-size:12px}.dropdown-search-box input{color:var(--text-primary)!important;width:100%!important;box-shadow:none!important;background:0 0!important;border:none!important;outline:none!important;margin:0!important;padding:0!important;font-size:13px!important}.dropdown-options-list{flex-direction:column;max-height:240px;display:flex;overflow-y:auto}.dropdown-option{cursor:pointer;color:var(--text-secondary);align-items:center;gap:8px;padding:10px 14px;font-size:13px;transition:color .15s,background-color .15s,border-color .15s;display:flex}.dropdown-option:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.dropdown-option.selected{background-color:var(--bg-tertiary);color:var(--text-primary);font-weight:600}.dropdown-option.disabled{cursor:not-allowed;opacity:.5}.dropdown-option.disabled:hover{color:var(--text-secondary);background-color:#0000}.dropdown-no-results{color:var(--text-muted);text-align:center;padding:14px;font-size:13px;font-style:italic}.simple-select{width:100%;position:relative}.simple-select-native{display:none!important}.simple-select-trigger{width:100%}.simple-select-trigger.disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.simple-select-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.simple-select.active .simple-select-trigger .arrow-icon{transform:rotate(180deg)}.simple-select.active .simple-select-panel{opacity:1;display:flex;transform:scale(1)}.simple-select.is-closing .simple-select-panel{transform:scale(var(--dropdown-closing-scale));opacity:0;transition:transform var(--dropdown-close-dur) var(--dropdown-ease), opacity var(--dropdown-close-dur) var(--dropdown-ease);display:flex}.select-wrapper.js-enhanced:after{display:none}.student-indicator{border-radius:6px;align-items:center;gap:10px;margin-bottom:20px;padding:12px 16px;font-size:13px;font-weight:500;transition:color .2s,background-color .2s,border-color .2s;display:flex}.student-indicator.empty{background-color:var(--bg-tertiary);border:1px dashed var(--border-color);color:var(--text-muted)}.student-indicator.selected{color:var(--accent-success);background-color:#19875414;border:1px solid #19875440}@media (prefers-color-scheme:dark){.student-indicator.selected{background-color:#2ecc7114;border-color:#2ecc7140}}.student-indicator i{flex-shrink:0;font-size:15px}.form-cards-wrapper{flex-direction:column;gap:24px;display:flex}.form-cards-wrapper.disabled{opacity:.45;pointer-events:none;-webkit-user-select:none;user-select:none}.form-hint{color:var(--text-muted);margin-top:2px;font-size:12px;line-height:1.4}.upload-progress{background-color:var(--bg-tertiary);border-radius:3px;height:6px;margin-bottom:6px;overflow:hidden}.upload-progress__fill{background-color:var(--brand-primary);height:100%;transition:width .25s cubic-bezier(.4,0,.2,1)}.admin-main-forms{flex-direction:column;gap:24px;display:flex}.admin-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-3);box-shadow:var(--card-shadow)}.card-title-bar{border-bottom:1px solid var(--border-color);align-items:flex-start;gap:14px;margin-bottom:24px;padding-bottom:16px;display:flex}.card-icon{border-radius:var(--radius-sm);background-color:var(--bg-tertiary);border:1px solid var(--border-color);width:36px;height:36px;color:var(--text-primary);flex-shrink:0;justify-content:center;align-items:center;font-size:14px;display:flex}.card-title-bar h3{color:var(--text-primary);letter-spacing:-.01em;margin-bottom:4px;font-size:15px;font-weight:700}.card-title-bar p{color:var(--text-muted);font-size:12px}.form-body{flex-direction:column;gap:16px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-primary);align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.form-group label i{color:var(--text-muted);font-size:13px}.form-group input,.form-group textarea,.form-group select{border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--bg-tertiary);width:100%;color:var(--text-primary);padding:10px 12px;font-family:inherit;font-size:13px;line-height:1.4;transition:color .15s,background-color .15s,border-color .15s,box-shadow .15s}.form-group input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=color]),.form-group select{appearance:none}.form-group input[type=checkbox],.form-group input[type=radio]{flex:none;width:auto}.form-group input[type=date],.form-group input[type=time],.form-group input[type=datetime-local],.form-group input[type=month],.form-group input[type=number]{box-sizing:border-box;min-height:40px}.form-group input[type=date]::-webkit-datetime-edit{padding:0}.form-group input[type=time]::-webkit-datetime-edit{padding:0}.form-group input[type=datetime-local]::-webkit-datetime-edit{padding:0}.form-group input[type=month]::-webkit-datetime-edit{padding:0}.form-group input[type=date]::-webkit-calendar-picker-indicator{opacity:.65;cursor:pointer;filter:var(--date-icon-filter,none)}.form-group input[type=time]::-webkit-calendar-picker-indicator{opacity:.65;cursor:pointer;filter:var(--date-icon-filter,none)}.form-group input[type=datetime-local]::-webkit-calendar-picker-indicator{opacity:.65;cursor:pointer;filter:var(--date-icon-filter,none)}.form-group input[type=month]::-webkit-calendar-picker-indicator{opacity:.65;cursor:pointer;filter:var(--date-icon-filter,none)}.form-group input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.form-group input[type=time]::-webkit-calendar-picker-indicator:hover{opacity:1}.form-group input[type=datetime-local]::-webkit-calendar-picker-indicator:hover{opacity:1}.form-group input[type=month]::-webkit-calendar-picker-indicator:hover{opacity:1}.form-group input[type=number]{-moz-appearance:textfield}.form-group input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-group input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--text-primary);background-color:var(--bg-secondary);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group input[readonly]{background-color:var(--bg-tertiary);color:var(--text-muted);cursor:not-allowed;border-style:dashed}.select-wrapper{width:100%;position:relative}.select-wrapper select{appearance:none;padding-right:32px}.select-wrapper:after{content:"";color:var(--text-muted);pointer-events:none;font-family:"Font Awesome 5 Free";font-size:10px;font-weight:900;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.btn-submit{width:100%;margin-top:8px}:root{--shake-distance:6px;--shake-overshoot:4px;--shake-dur-a:80ms;--shake-dur-b:60ms;--shake-ease:cubic-bezier(.22, 1, .36, 1);--revert-hold:3s;--revert-dur:.28s}.form-group input,.form-group select,.form-group textarea,.form-group .dropdown-trigger{will-change:transform;transition:color .15s ease-out,background-color .15s ease-out,border-color .15s ease-out,box-shadow .15s ease-out}.form-group.is-error input,.form-group.is-error select,.form-group.is-error textarea,.form-group.is-error .dropdown-trigger{transition:border-color var(--revert-dur) ease-out;border-color:var(--accent-danger)!important}.form-group.is-shaking input,.form-group.is-shaking select,.form-group.is-shaking textarea,.form-group.is-shaking .dropdown-trigger{animation:t-input-shake calc(var(--shake-dur-a) * 2 + var(--shake-dur-b) * 2) linear}.t-error-msg{color:var(--accent-danger);opacity:0;visibility:hidden;transition:opacity var(--revert-dur) ease-out, visibility 0s linear var(--revert-dur);align-items:center;gap:4px;margin-top:6px;font-size:12px;font-weight:500;display:flex}.form-group.is-error .t-error-msg{opacity:1;visibility:visible;transition:opacity var(--revert-dur) ease-out, visibility 0s linear 0s}@keyframes t-input-shake{0%{animation-timing-function:var(--shake-ease);transform:translate(0)}28.57%{transform:translateX(var(--shake-distance));animation-timing-function:var(--shake-ease)}57.14%{transform:translateX(calc(var(--shake-distance) * -1));animation-timing-function:var(--shake-ease)}78.57%{transform:translateX(var(--shake-overshoot));animation-timing-function:var(--shake-ease)}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){.form-group input,.form-group select,.form-group textarea,.form-group .dropdown-trigger{animation:none!important;transform:none!important}}:root{--clear-dur:1s;--clear-out-dur:.4s;--clear-in-dur:.4s;--clear-out-fly:12px;--clear-in-fly:12px;--clear-out-ease:cubic-bezier(.22, 1, .36, 1);--clear-in-ease:cubic-bezier(.22, 1, .36, 1);--clear-blur:2px;--glow-delay:50ms;--glow-peak-at:.15;--glow-opacity:.42;--glow-spread:1.5}.t-clear{flex:1;align-items:center;display:flex;position:relative;overflow:hidden}.t-clear>input{padding-right:32px!important}.t-clear-mirror,.t-clear-placeholder{pointer-events:none;white-space:nowrap;z-index:2;color:var(--text-primary);align-items:center;padding-left:12px;font-family:inherit;font-size:13px;display:flex;position:absolute;inset:0;overflow:hidden}.t-clear-placeholder{color:var(--text-muted);opacity:0;transform:translateY(0)}.t-clear:not(.has-value) .t-clear-placeholder{opacity:1}.t-clear-mirror{opacity:0}.t-clear.has-value .t-clear-mirror,.t-clear.is-clearing .t-clear-mirror{opacity:1}.t-clear.has-value>input,.t-clear.is-clearing>input{-webkit-text-fill-color:transparent}.t-clear-glow{pointer-events:none;opacity:0;z-index:3;mix-blend-mode:multiply;position:absolute;inset:0}@media (prefers-color-scheme:dark){.t-clear-glow{mix-blend-mode:screen}}.t-clear-btn{color:var(--text-muted);cursor:pointer;z-index:4;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;font-size:14px;transition:color .15s,background-color .15s;display:none;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.t-clear-btn:hover{color:var(--text-primary);background-color:var(--bg-tertiary)}.t-clear.has-value .t-clear-btn{display:flex}@media (prefers-reduced-motion:reduce){.t-clear-glow{opacity:0!important}}:root{--check-opacity-dur:.5s;--check-rotate-dur:.5s;--check-rotate-from:80deg;--check-bob-dur:.5s;--check-y-amount:40px;--check-blur-dur:.5s;--check-blur-from:10px;--check-path-dur:.5s;--check-path-delay:80ms;--check-ease-out:cubic-bezier(.22, 1, .36, 1);--check-ease-opacity:cubic-bezier(.22, 1, .36, 1);--check-ease-rotate:cubic-bezier(.22, 1, .36, 1);--check-ease-bob:cubic-bezier(.34, 1.35, .64, 1);--check-ease-path:cubic-bezier(.22, 1, .36, 1)}.t-success-check{transform-origin:50%;opacity:0;will-change:transform, opacity, filter;display:inline-block}.t-success-check svg{display:block;overflow:visible}.t-success-check[data-state=in]{animation:t-check-fade var(--check-opacity-dur) var(--check-ease-opacity) forwards, t-check-rotate var(--check-rotate-dur) var(--check-ease-rotate) forwards, t-check-blur var(--check-blur-dur) var(--check-ease-out) forwards, t-check-bob var(--check-bob-dur) var(--check-ease-bob) forwards}.t-success-check[data-state=in] svg path{animation:t-check-draw var(--check-path-dur) var(--check-ease-path) var(--check-path-delay,0s) forwards}@keyframes t-check-fade{0%{opacity:0}to{opacity:1}}@keyframes t-check-rotate{0%{transform:rotate(var(--check-rotate-from))}to{transform:rotate(0)}}@keyframes t-check-blur{0%{filter:blur(var(--check-blur-from))}to{filter:blur()}}@keyframes t-check-bob{0%{translate:0 var(--check-y-amount)}to{translate:0}}@keyframes t-check-draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.t-success-check{opacity:1;animation:none!important}.t-success-check svg path{stroke-dashoffset:0!important;animation:none!important}}.info-notice{background-color:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-md);align-items:flex-start;gap:12px;margin-bottom:20px;padding:14px 16px;font-size:12px;line-height:1.5;display:flex}.info-notice i{flex-shrink:0;margin-top:3px}:root{--modal-open-dur:.25s;--modal-close-dur:.15s;--modal-scale:.96;--modal-scale-close:.96;--modal-ease:cubic-bezier(.22, 1, .36, 1)}.modal-overlay{-webkit-backdrop-filter:blur(12px);z-index:9999;opacity:0;visibility:hidden;width:100%;height:100%;transition:opacity var(--modal-open-dur) var(--modal-ease), visibility var(--modal-open-dur) var(--modal-ease);background:#00000040;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0}.modal-overlay.active{opacity:1;visibility:visible}.modal-overlay.is-closing{opacity:0;visibility:hidden;transition:opacity var(--modal-close-dur) var(--modal-ease), visibility var(--modal-close-dur) var(--modal-ease)}.modal-box{background-color:var(--bg-secondary);border:1px solid var(--border-color);text-align:center;transform-origin:50%;width:90%;max-width:360px;transform:scale(var(--modal-scale));opacity:0;transition:transform var(--modal-open-dur) var(--modal-ease), opacity var(--modal-open-dur) var(--modal-ease);will-change:transform, opacity;border-radius:16px;padding:36px 32px 32px;position:relative;box-shadow:0 20px 40px #0000000f,0 1px 3px #00000005}.modal-overlay.active .modal-box{opacity:1;transform:scale(1)}.modal-overlay.is-closing .modal-box{transform:scale(var(--modal-scale-close));opacity:0;transition:transform var(--modal-close-dur) var(--modal-ease), opacity var(--modal-close-dur) var(--modal-ease)}@media (prefers-reduced-motion:reduce){.modal-overlay,.modal-box{transition:none!important}}.modal-icon{justify-content:center;align-items:center;margin-bottom:20px;font-size:40px;display:inline-flex}.modal-icon.success{color:var(--accent-success)}.modal-icon.error{color:var(--accent-danger)}.modal-icon.info{color:var(--text-primary)}.modal-title{color:var(--text-primary);letter-spacing:-.02em;margin-bottom:12px;font-size:18px;font-weight:600}.modal-message{color:var(--text-secondary);white-space:pre-wrap;text-align:center;word-break:break-word;margin-bottom:28px;font-family:inherit;font-size:13.5px;line-height:1.6}.modal-message a{color:var(--text-primary);font-weight:500;text-decoration:underline}.modal-box .btn{border-radius:8px;padding:10px 24px;font-size:13.5px;font-weight:500}.mobile-menu-overlay.is-closing{opacity:0;visibility:hidden;transition:opacity var(--modal-close-dur) var(--modal-ease), visibility var(--modal-close-dur) var(--modal-ease)}.mobile-menu-overlay.is-closing .mobile-menu-panel{transition:transform var(--modal-close-dur) var(--modal-ease);transform:translate(100%)}@media (prefers-reduced-motion:reduce){.mobile-menu-overlay,.mobile-menu-panel{transition:none!important}}:root{--icon-swap-dur:.25s;--icon-swap-blur:2px;--icon-swap-start-scale:.25;--icon-swap-ease:ease-in-out}.t-icon-swap{justify-content:center;align-items:center;width:16px;height:16px;display:inline-grid;position:relative}.t-icon-swap .t-icon{transition:opacity var(--icon-swap-dur) var(--icon-swap-ease), filter var(--icon-swap-dur) var(--icon-swap-ease), transform var(--icon-swap-dur) var(--icon-swap-ease);will-change:opacity, filter, transform;grid-area:1/1;justify-content:center;align-items:center;display:flex}.t-icon-swap[data-state=light] .t-icon[data-icon=light],.t-icon-swap[data-state=dark] .t-icon[data-icon=dark]{opacity:1;filter:blur();transform:scale(1)}.t-icon-swap[data-state=light] .t-icon[data-icon=dark],.t-icon-swap[data-state=dark] .t-icon[data-icon=light]{opacity:0;filter:blur(var(--icon-swap-blur));transform:scale(var(--icon-swap-start-scale))}@media (prefers-reduced-motion:reduce){.t-icon-swap .t-icon{transition:none!important}}.tab-menu-mini{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;padding:2px;display:flex;position:relative}.tab-btn-mini{color:var(--text-secondary);cursor:pointer;z-index:1;transition:color var(--tabs-dur) var(--tabs-ease);background:0 0;border:none;border-radius:4px;padding:4px 10px;font-family:inherit;font-size:11px;font-weight:500}.tab-btn-mini.active{color:var(--brand-btn-text);background:0 0!important;border:none!important}.tab-btn-mini:hover:not(.active){color:var(--text-primary);background:0 0!important}.tab-menu-pill-mini{background:var(--brand-primary);width:0;height:calc(100% - 4px);transition:transform var(--tabs-dur) var(--tabs-ease), width var(--tabs-dur) var(--tabs-ease);will-change:transform, width;z-index:0;pointer-events:none;border-radius:4px;position:absolute;top:2px;left:2px;transform:translate(0)}.loader{aspect-ratio:1;width:65px;margin:0 auto 16px;position:relative}.loader:before,.loader:after{content:"";box-shadow:0 0 0 3px inset var(--text-primary);border-radius:50px;animation:2.5s linear infinite l4;position:absolute}.loader:after{animation-delay:-1.25s}@keyframes l4{0%{inset:0 35px 35px 0}12.5%{inset:0 35px 0 0}25%{inset:35px 35px 0 0}37.5%{inset:35px 0 0}50%{inset:35px 0 0 35px}62.5%{inset:0 0 0 35px}75%{inset:0 0 35px 35px}87.5%{inset:0 0 35px}to{inset:0 35px 35px 0}}.loader-text{color:var(--text-secondary);font-size:13px;font-weight:500}.mobile-topbar{border-bottom:1px solid var(--border-color);background-color:var(--bg-secondary);z-index:60;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:none;position:sticky;top:0}.mobile-topbar .sidebar-header{border-bottom:none;padding:0}.qr-code-holder{background:#fff;border-radius:12px;justify-content:center;margin:14px 0;padding:16px;display:flex}.checkin-badge{color:var(--accent-success);white-space:nowrap;align-items:center;gap:5px;font-size:12.5px;font-weight:600;display:inline-flex}.analytics-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=700px){.analytics-grid{grid-template-columns:1fr}}.analytics-block h4{color:var(--text-secondary);margin-bottom:8px;font-size:13px;font-weight:600}.analytics-block svg{width:100%;height:auto;display:block}.analytics-block svg text{font-family:Montserrat,Noto Sans Thai,sans-serif}.chart-tooltip{z-index:1500;background-color:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:var(--shadow-pop);color:var(--text-primary);pointer-events:none;white-space:nowrap;border-radius:8px;padding:6px 10px;font-size:12px;display:none;position:fixed}.chart-tooltip .tt-label{color:var(--text-muted);margin-right:6px}.chart-table{margin-top:6px}.chart-table summary{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:11.5px}.chart-table table{border-collapse:collapse;width:100%;margin-top:6px;font-size:12px}.chart-table th,.chart-table td{text-align:left;border-bottom:1px solid var(--border-color);color:var(--text-secondary);padding:4px 8px}.chart-table td:last-child,.chart-table th:last-child{text-align:right}.hbar-row{grid-template-columns:minmax(90px,160px) 1fr 48px;align-items:center;gap:10px;padding:5px 0;display:grid}.hbar-label{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.hbar-track{background-color:var(--bg-tertiary);border-radius:5px;height:10px;overflow:hidden}.hbar-fill{background-color:var(--text-primary);border-radius:5px;min-width:2px;height:100%}.hbar-value{color:var(--text-primary);text-align:right;font-size:12px;font-weight:600}.admin-bottom-nav{z-index:500;background-color:var(--bg-secondary);border-top:1px solid var(--border-color);padding-bottom:env(safe-area-inset-bottom);display:none;position:fixed;bottom:0;left:0;right:0}.admin-bottom-nav button{cursor:pointer;min-height:56px;color:var(--text-muted);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-family:inherit;font-size:10.5px;font-weight:600;display:flex}.admin-bottom-nav button i{font-size:17px}.admin-bottom-nav button.active{color:var(--text-primary)}@media (width<=900px){.admin-bottom-nav{display:flex}#admin-panel .app-main{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.fab-wrap{bottom:calc(80px + env(safe-area-inset-bottom))}button.ai-chat-fab{display:none}.login-wrapper{grid-template-columns:1fr}.login-brand-side{display:none}.mobile-logo{display:block}.login-form-side{padding:40px 24px}.tab-menu{padding-bottom:8px;overflow-x:auto}.tab-btn{padding:6px 12px;font-size:13px}.sidebar{display:none}.mobile-topbar,.hamburger-btn{display:flex}.sticky-picker{top:48px}}@media (width<=600px){.dashboard-content{padding:20px 16px}.admin-card{padding:20px}[style*="grid-template-columns: 1fr 1fr"]{grid-template-columns:1fr!important}.files-table{overflow-x:auto}.files-table-head,.files-table-row{min-width:560px}}.markdown-preview{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-tertiary);min-height:104px;max-height:300px;padding:12px;overflow-y:auto}.timeline-feedback{color:var(--text-primary);font-size:14px;line-height:1.6}.timeline-feedback p{margin-bottom:12px}.timeline-feedback p:last-child{margin-bottom:0}.timeline-feedback ul,.timeline-feedback ol{margin-bottom:12px;margin-left:20px}.timeline-feedback li{margin-bottom:4px}.timeline-feedback strong{font-weight:600}.timeline-feedback em{font-style:italic}.timeline-feedback code{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;padding:2px 6px;font-family:monospace;font-size:.9em}.timeline-feedback pre{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;margin:12px 0;padding:12px;overflow-x:auto}.timeline-feedback pre code{background-color:#0000;border:none;padding:0}.timeline-feedback a{color:var(--brand-primary);text-decoration:underline}.timeline-feedback blockquote{border-left:4px solid var(--border-color);color:var(--text-secondary);margin:12px 0;padding-left:12px;font-style:italic}.timeline-feedback h1,.timeline-feedback h2,.timeline-feedback h3,.timeline-feedback h4{color:var(--text-primary);margin-top:16px;margin-bottom:8px;font-weight:600}.timeline-feedback h1{font-size:1.3rem}.timeline-feedback h2{font-size:1.2rem}.timeline-feedback h3{font-size:1.1rem}.timeline-feedback h4{font-size:1rem}.week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.week-day{border:1px solid var(--border-color);border-radius:var(--radius-md);min-width:0;overflow:hidden}.week-day-head{background:var(--bg-tertiary);font-size:var(--text-sm);font-weight:var(--weight-semibold);justify-content:space-between;gap:4px;padding:6px 8px;display:flex}.week-day-head span{color:var(--text-muted);font-weight:var(--weight-medium)}.week-day-body{flex-direction:column;gap:4px;min-height:44px;padding:6px;display:flex}.week-slot{font-size:var(--text-xs);background:var(--badge-bg);color:var(--badge-text);border-radius:var(--radius-sm);white-space:nowrap;text-overflow:ellipsis;padding:3px 5px;overflow:hidden}.week-empty{font-size:var(--text-xs);color:var(--text-muted);text-align:center}@media (width<=700px){.week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.data-table{border-collapse:collapse;width:100%;font-size:var(--text-base-sm)}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border-color);white-space:nowrap;padding:8px 10px}.data-table th{color:var(--text-muted);font-weight:var(--weight-semibold)}.data-table tbody tr:hover{background:var(--bg-tertiary)}.table-scroll{overflow-x:auto}.topbar{padding:12px var(--space-4);border-bottom:1px solid var(--border-color);background-color:var(--bg-primary);align-items:center;gap:12px;display:flex}@supports (color:color-mix(in lab, red, red)){.topbar{background-color:color-mix(in srgb, var(--bg-primary) 82%, transparent)}}.topbar{-webkit-backdrop-filter:blur(10px);z-index:80;position:sticky;top:0}.breadcrumb{font-size:var(--text-base-sm);flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.breadcrumb-item{color:var(--text-muted);font-weight:var(--weight-medium);white-space:nowrap}.breadcrumb-sep{color:var(--text-muted);opacity:.7;font-size:10px}.breadcrumb-current{color:var(--text-primary);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-snug);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.topbar-spacer{flex:1}.search-trigger{border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--bg-secondary);min-width:220px;color:var(--text-muted);font-size:var(--text-base-sm);cursor:pointer;transition:color var(--dur-base) var(--ease-btn), background-color var(--dur-base) var(--ease-btn), border-color var(--dur-base) var(--ease-btn);align-items:center;gap:10px;padding:8px 12px;font-family:inherit;display:inline-flex}.search-trigger:hover{border-color:var(--text-muted);color:var(--text-secondary)}.search-trigger .kbd-group{gap:4px;margin-left:auto;display:inline-flex}.kbd{font-family:var(--font-mono);font-size:10px;font-weight:var(--weight-semibold);color:var(--text-muted);background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-xs);padding:2px 5px;line-height:1}.topbar-icon-btn{border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--bg-secondary);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;transition:color var(--dur-base) var(--ease-btn), background-color var(--dur-base) var(--ease-btn), border-color var(--dur-base) var(--ease-btn);justify-content:center;align-items:center;font-size:14px;display:inline-flex}.topbar-icon-btn:hover{color:var(--text-primary);border-color:var(--text-muted)}.topbar-search-btn{border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--bg-secondary);min-width:200px;height:36px;color:var(--text-muted);cursor:pointer;transition:color var(--dur-base) var(--ease-btn), background-color var(--dur-base) var(--ease-btn), border-color var(--dur-base) var(--ease-btn);align-items:center;gap:8px;margin-right:8px;padding:0 10px 0 12px;font-family:inherit;font-size:13px;display:inline-flex}.topbar-search-btn:hover{border-color:var(--text-muted);color:var(--text-secondary)}.topbar-search-label{text-align:left;flex:1}.topbar-search-kbd{color:var(--text-muted);border:1px solid var(--border-color);background-color:var(--bg-tertiary);border-radius:4px;padding:1px 5px;font-size:11px;font-weight:600}@media (width<=900px){.topbar{display:none}}.notif-wrap{position:relative}.notif-badge{background:var(--accent-danger);color:#fff;border:2px solid var(--bg-secondary);border-radius:999px;justify-content:center;align-items:center;min-width:15px;height:15px;padding:0 3px;font-size:9px;font-weight:700;line-height:1;display:flex;position:absolute;top:2px;right:2px}.notif-panel{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:340px;max-width:calc(100vw - 40px);box-shadow:var(--shadow-pop);z-index:300;transform-origin:100% 0;transform:scale(var(--dropdown-pre-scale));opacity:0;transition:transform var(--dropdown-open-dur) var(--dropdown-ease), opacity var(--dropdown-open-dur) var(--dropdown-ease);will-change:transform, opacity;flex-direction:column;display:none;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.notif-wrap.open .notif-panel{opacity:1;display:flex;transform:scale(1)}.notif-wrap.is-closing .notif-panel{transform:scale(var(--dropdown-closing-scale));opacity:0;transition:transform var(--dropdown-close-dur) var(--dropdown-ease), opacity var(--dropdown-close-dur) var(--dropdown-ease);display:flex}@media (prefers-reduced-motion:reduce){.notif-panel{transition:none!important}}.notif-panel-header{font-size:var(--text-base-sm);font-weight:var(--weight-bold);border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:12px 16px}.notif-list{flex-direction:column;max-height:320px;padding:6px;display:flex;overflow-y:auto}.notif-item{border-radius:var(--radius-sm);text-align:left;cursor:pointer;background:0 0;border:none;align-items:flex-start;gap:10px;width:100%;padding:10px;font-family:inherit;transition:background-color .12s;display:flex}.notif-item:hover{background-color:var(--bg-tertiary)}.notif-item i{flex-shrink:0;margin-top:2px;font-size:12px}.notif-item-body{min-width:0}.notif-item-text{font-size:var(--text-base-sm);color:var(--text-primary);line-height:1.4}.notif-item-action{font-size:var(--text-sm);color:var(--text-muted);align-items:center;gap:4px;margin-top:2px;display:flex}.cmdk-overlay{-webkit-backdrop-filter:blur(6px);z-index:10000;opacity:0;transition:opacity var(--modal-open-dur) var(--modal-ease);background:#0a0c1059;justify-content:center;align-items:flex-start;padding:12vh 16px 16px;display:none;position:fixed;inset:0}.cmdk-overlay.active{opacity:1;display:flex}.cmdk-overlay.is-closing{opacity:0;transition:opacity var(--modal-close-dur) var(--modal-ease);display:flex}.cmdk-box{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:560px;box-shadow:var(--shadow-pop);transform-origin:50%;transform:scale(var(--modal-scale));opacity:0;transition:transform var(--modal-open-dur) var(--modal-ease), opacity var(--modal-open-dur) var(--modal-ease);will-change:transform, opacity;flex-direction:column;display:flex;overflow:hidden}.cmdk-overlay.active .cmdk-box{opacity:1;transform:scale(1)}.cmdk-overlay.is-closing .cmdk-box{transform:scale(var(--modal-scale-close));opacity:0;transition:transform var(--modal-close-dur) var(--modal-ease), opacity var(--modal-close-dur) var(--modal-ease)}@media (prefers-reduced-motion:reduce){.cmdk-overlay,.cmdk-box{transition:none!important}}.cmdk-input-row{border-bottom:1px solid var(--border-color);align-items:center;gap:12px;padding:14px 18px;display:flex}.cmdk-input-row i{color:var(--text-muted);font-size:14px}.cmdk-input-row input{font-family:inherit;font-size:var(--text-base-lg);color:var(--text-primary);background:0 0;border:none;outline:none;flex:1}.cmdk-input-row input::placeholder{color:var(--text-muted)}.cmdk-list{max-height:380px;padding:8px;overflow-y:auto}.cmdk-section-label{font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-muted);padding:10px 12px 4px}.cmdk-item{border-radius:var(--radius-sm);font-size:var(--text-base);color:var(--text-secondary);cursor:pointer;align-items:center;gap:12px;padding:10px 12px;display:flex}.cmdk-item i{text-align:center;width:18px;color:var(--text-muted);font-size:13px}.cmdk-item .cmdk-item-sub{font-size:var(--text-sm);color:var(--text-muted);font-family:var(--font-mono);margin-left:auto}.cmdk-item.selected{background-color:var(--bg-tertiary);color:var(--text-primary)}.cmdk-empty{text-align:center;font-size:var(--text-base-sm);color:var(--text-muted);padding:28px 16px}.cmdk-footer{border-top:1px solid var(--border-color);font-size:var(--text-sm);color:var(--text-muted);gap:16px;padding:10px 16px;display:flex}.cmdk-footer span{align-items:center;gap:6px;display:inline-flex}.fab-wrap{z-index:500;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.fab-menu{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);min-width:220px;box-shadow:var(--shadow-pop);transform-origin:100% 100%;transform:scale(var(--dropdown-pre-scale));opacity:0;transition:transform var(--dropdown-open-dur) var(--dropdown-ease), opacity var(--dropdown-open-dur) var(--dropdown-ease);will-change:transform, opacity;flex-direction:column;padding:6px;display:none}.fab-wrap.open .fab-menu{opacity:1;display:flex;transform:scale(1)}.fab-wrap.is-closing .fab-menu{transform:scale(var(--dropdown-closing-scale));opacity:0;transition:transform var(--dropdown-close-dur) var(--dropdown-ease), opacity var(--dropdown-close-dur) var(--dropdown-ease);display:flex}@media (prefers-reduced-motion:reduce){.fab-menu{transition:none!important}}.fab-menu-item{border-radius:var(--radius-sm);font-size:var(--text-base);font-family:inherit;font-weight:var(--weight-medium);color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:10px 12px;transition:color .12s,background-color .12s,border-color .12s;display:flex}.fab-menu-item i{text-align:center;width:18px;color:var(--text-muted);font-size:13px}.fab-menu-item:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.fab-btn{background-color:var(--brand-primary);width:52px;height:52px;color:var(--brand-btn-text);cursor:pointer;box-shadow:var(--shadow-pop);transition:transform .2s var(--ease-btn);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:18px;display:flex}.fab-btn:hover{transform:scale(1.05)}.fab-wrap.open .fab-btn i{transform:rotate(45deg)}.fab-btn i{transition:transform .2s var(--ease-btn)}.table-toolbar{margin-bottom:var(--space-2);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.table-toolbar .search-box{border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--bg-secondary);flex:1;align-items:center;gap:10px;min-width:200px;max-width:340px;padding:9px 12px;display:flex}.table-toolbar .search-box i{color:var(--text-muted);font-size:12px}.table-toolbar .search-box input{font-family:inherit;font-size:var(--text-base-sm);color:var(--text-primary);background:0 0;border:none;outline:none;flex:1}.table-toolbar select{border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--bg-secondary);color:var(--text-secondary);font-family:inherit;font-size:var(--text-base-sm);appearance:none;cursor:pointer;padding:9px 32px 9px 12px}.students-table-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);overflow:visible}.students-table{border-collapse:collapse;width:100%;font-size:var(--text-base-sm)}.students-table th{text-align:left;font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-muted);border-bottom:1px solid var(--border-color);white-space:nowrap;padding:12px 16px}.students-table td{border-bottom:1px solid var(--border-color);vertical-align:middle;white-space:nowrap;padding:12px 16px}.students-table tbody tr{cursor:pointer;transition:background-color .12s}.students-table tbody tr:hover{background-color:var(--bg-tertiary)}.students-table tbody tr:last-child td{border-bottom:none}.students-table tbody tr.row-selected{background-color:var(--text-primary)}@supports (color:color-mix(in lab, red, red)){.students-table tbody tr.row-selected{background-color:color-mix(in srgb, var(--text-primary) 5%, transparent)}}.students-table th input[type=checkbox],.students-table td input[type=checkbox]{cursor:pointer;width:15px;height:15px;accent-color:var(--brand-primary)}.th-sort-btn{font:inherit;font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;transition:color .15s;display:inline-flex}.th-sort-btn:hover{color:var(--text-primary)}.th-sort-btn i{opacity:.5;font-size:10px}.th-sort-btn.active i{opacity:1;color:var(--text-primary)}.bulk-action-bar{margin-bottom:var(--space-2);border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-tertiary);font-size:var(--text-base-sm);font-weight:var(--weight-medium);color:var(--text-secondary);align-items:center;gap:10px;padding:10px 14px;animation:.15s fadeIn;display:flex}@media (prefers-reduced-motion:reduce){.bulk-action-bar{animation:none}}.bulk-action-spacer{flex:1}.table-pagination{border-top:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.pagination-summary{font-size:var(--text-sm);color:var(--text-muted)}.pagination-controls{align-items:center;gap:4px;display:flex}.page-btn{border-radius:var(--radius-sm);min-width:32px;height:32px;color:var(--text-secondary);font-family:inherit;font-size:var(--text-base-sm);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0 8px;transition:color .12s,background-color .12s,border-color .12s;display:inline-flex}.page-btn:hover:not(:disabled){background-color:var(--bg-tertiary);color:var(--text-primary)}.page-btn:disabled{color:var(--text-muted);cursor:not-allowed;opacity:.5}.page-btn.active{border-color:var(--border-color);background-color:var(--bg-secondary);color:var(--text-primary);font-weight:var(--weight-semibold);box-shadow:var(--card-shadow)}.page-btn.ellipsis{cursor:default}.page-btn.ellipsis:hover{color:var(--text-secondary);background:0 0}.student-cell{align-items:center;gap:12px;min-width:0;display:flex}.avatar{width:34px;height:34px;font-size:var(--text-sm);font-weight:var(--weight-bold);background-color:var(--badge-bg);color:var(--badge-text);border:1px solid var(--border-color);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.profile-avatar{border-radius:50%;overflow:hidden}.profile-avatar img{object-fit:cover;width:100%;height:100%}.avatar-xl{width:64px;height:64px;font-size:22px}.student-cell .s-name{font-weight:var(--weight-semibold);color:var(--text-primary);font-size:var(--text-base-sm)}.student-cell .s-id{font-size:var(--text-sm);color:var(--text-muted);font-family:var(--font-mono)}.badge-soft{font-size:var(--text-sm);font-weight:var(--weight-medium);background-color:var(--badge-bg);color:var(--badge-text);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;display:inline-flex}.row-actions{display:inline-block;position:relative}.row-actions-btn{border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--bg-secondary);color:var(--text-secondary);font-size:var(--text-sm);font-family:inherit;font-weight:var(--weight-medium);cursor:pointer;transition:color var(--dur-base) var(--ease-btn), background-color var(--dur-base) var(--ease-btn), border-color var(--dur-base) var(--ease-btn);align-items:center;gap:8px;padding:6px 12px;display:inline-flex}.row-actions-btn:hover{color:var(--text-primary);border-color:var(--text-muted)}.row-actions-menu{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);min-width:210px;box-shadow:var(--shadow-pop);z-index:300;transform-origin:100% 0;transform:scale(var(--dropdown-pre-scale));opacity:0;transition:transform var(--dropdown-open-dur) var(--dropdown-ease), opacity var(--dropdown-open-dur) var(--dropdown-ease);will-change:transform, opacity;flex-direction:column;padding:6px;display:none;position:absolute;top:calc(100% + 6px);right:0}.row-actions.open .row-actions-menu{opacity:1;display:flex;transform:scale(1)}.row-actions.is-closing .row-actions-menu{transform:scale(var(--dropdown-closing-scale));opacity:0;transition:transform var(--dropdown-close-dur) var(--dropdown-ease), opacity var(--dropdown-close-dur) var(--dropdown-ease);display:flex}.row-actions-menu.drop-up{transform-origin:100% 100%;top:auto;bottom:calc(100% + 6px)}@media (prefers-reduced-motion:reduce){.row-actions-menu{transition:none!important}}.row-actions-item{border-radius:var(--radius-xs);width:100%;font-size:var(--text-base-sm);color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:8px 10px;font-family:inherit;transition:color .12s,background-color .12s,border-color .12s;display:flex}.row-actions-item i{text-align:center;width:16px;color:var(--text-muted);font-size:12px}.row-actions-item:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.row-actions-item.danger,.row-actions-item.danger i{color:var(--accent-danger)}.row-actions-item.danger:hover{background-color:var(--accent-danger)}@supports (color:color-mix(in lab, red, red)){.row-actions-item.danger:hover{background-color:color-mix(in srgb, var(--accent-danger) 10%, transparent)}}.row-actions-item.danger:hover{color:var(--accent-danger)}.row-actions-divider{background-color:var(--border-color);height:1px;margin:6px 4px}.profile-tabs{border-bottom:1px solid var(--border-color);margin-bottom:var(--space-2);gap:4px;display:flex;overflow-x:auto}.profile-tab{font-family:inherit;font-size:var(--text-base-sm);font-weight:var(--weight-medium);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:10px 14px;transition:color .15s;display:inline-flex}.profile-tab:hover{color:var(--text-primary)}.profile-tab.active{color:var(--text-primary);font-weight:var(--weight-semibold);border-bottom-color:var(--brand-primary)}[data-profile-panel]{display:none}[data-profile-panel].active{animation:.25s cubic-bezier(.22,1,.36,1) fadeIn;display:block}.skeleton{background-color:var(--bg-tertiary);border-radius:var(--radius-xs);position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg, transparent, var(--text-muted), transparent);position:absolute;inset:0;transform:translate(-100%)}@supports (color:color-mix(in lab, red, red)){.skeleton:after{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--text-muted) 12%, transparent), transparent)}}.skeleton:after{animation:1.4s linear infinite skeleton-sweep}@keyframes skeleton-sweep{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.skeleton:after{animation:none}}.skeleton-line{height:12px;margin-bottom:10px}.skeleton-line:last-child{margin-bottom:0}:root{--reveal-dur:.4s;--reveal-blur:2px;--reveal-ease:ease-in-out}.dash-reveal{animation:t-skel-reveal-in var(--reveal-dur) var(--reveal-ease)}@keyframes t-skel-reveal-in{0%{opacity:0;filter:blur(var(--reveal-blur))}to{opacity:1;filter:blur()}}@media (prefers-reduced-motion:reduce){.dash-reveal{animation:none}}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:40px 20px;display:flex}.empty-state i{color:var(--text-muted);margin-bottom:4px;font-size:24px}.empty-state .empty-title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text-primary)}.empty-state .empty-sub{font-size:var(--text-base-sm);color:var(--text-muted);max-width:320px;line-height:1.5}.access-student-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;max-height:320px;padding:4px;display:grid;overflow-y:auto}.access-student-item{border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:10px;padding:8px 10px;transition:background-color .12s,border-color .12s;display:flex}.access-student-item:hover{background-color:var(--bg-tertiary)}.access-student-item input[type=checkbox]{cursor:pointer;width:15px;height:15px;accent-color:var(--brand-primary);flex-shrink:0}.access-student-item .a-name{font-size:var(--text-base-sm);font-weight:var(--weight-medium);color:var(--text-primary);overflow-wrap:anywhere}.access-student-item .a-id{font-size:var(--text-sm);color:var(--text-muted);font-family:var(--font-mono)}.toast-viewport{z-index:10050;pointer-events:none;flex-direction:column;gap:10px;width:360px;max-width:calc(100vw - 40px);display:flex;position:fixed;top:72px;right:20px}@media (width<=900px){.toast-viewport{top:64px;right:12px}}.toast{pointer-events:auto;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);filter:blur(2px);opacity:0;align-items:flex-start;gap:12px;padding:14px 16px;transition:transform .35s cubic-bezier(.22,1,.36,1),filter .35s cubic-bezier(.22,1,.36,1),opacity .35s cubic-bezier(.22,1,.36,1);display:flex;transform:translate(16px)scale(.97)}.toast.show{filter:blur();opacity:1;transform:translate(0)scale(1)}.toast.hide{filter:blur(2px);opacity:0;transition-duration:.25s;transform:translate(16px)scale(.97)}.toast-icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:1px;font-size:16px;display:flex}.toast.success .toast-icon{color:var(--accent-success)}.toast.error .toast-icon{color:var(--accent-danger)}.toast.info .toast-icon{color:var(--text-primary)}.toast-body{flex:1;min-width:0}.toast-title{font-size:var(--text-base-sm);font-weight:var(--weight-semibold);color:var(--text-primary);line-height:1.35}.toast-message{font-size:var(--text-sm);color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;margin-top:2px;line-height:1.45}.toast-close{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-xs);background:0 0;border:none;flex-shrink:0;padding:2px;font-size:12px;transition:color .15s,background-color .15s}.toast-close:hover{color:var(--text-primary);background-color:var(--bg-tertiary)}@media (prefers-reduced-motion:reduce){.toast,.toast.hide{transition:opacity .15s}}@media (width<=700px){.students-table thead{display:none}.students-table td{white-space:normal;border-bottom:none;padding:4px 16px;display:block}.students-table td:first-child{padding-top:14px}.students-table td:last-child{padding-bottom:14px}.students-table tbody tr{border-bottom:1px solid var(--border-color);display:block}.fab-wrap{right:16px;bottom:calc(76px + env(safe-area-inset-bottom))}}.ai-chat-fab{background-color:var(--brand-primary);width:52px;height:52px;color:var(--brand-btn-text);cursor:pointer;box-shadow:var(--shadow-pop);z-index:500;transition:transform .2s var(--ease-btn);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:20px;display:flex;position:fixed;bottom:24px;left:24px}.ai-chat-fab:hover{transform:scale(1.05)}.ai-chat-panel{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:360px;max-width:calc(100vw - 32px);height:480px;max-height:calc(100vh - 140px);box-shadow:var(--shadow-pop);z-index:501;flex-direction:column;display:none;position:fixed;bottom:88px;left:24px;overflow:hidden}.ai-chat-panel.open{display:flex}.ai-chat-panel__header{border-bottom:1px solid var(--border-color);color:var(--text-primary);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.ai-chat-panel__title{align-items:center;gap:8px;display:flex}.ai-chat-panel__avatar{background-color:var(--bg-tertiary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:15px;display:flex}.ai-chat-panel__name{font-size:13.5px;font-weight:600;line-height:1.3}.ai-chat-panel__status{color:var(--text-muted);align-items:center;gap:4px;font-size:11px;display:flex}.ai-chat-status-dot{background-color:var(--accent-success,#22c55e);border-radius:50%;width:6px;height:6px;display:inline-block}.ai-chat-panel__actions{align-items:center;gap:2px;display:flex}.ai-chat-panel__icon-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:flex}.ai-chat-panel__icon-btn:hover{background-color:var(--bg-tertiary)}.ai-chat-panel__close{font-size:15px}.ai-chat-panel__messages{flex-direction:column;flex:1;gap:10px;padding:12px 14px;display:flex;position:relative;overflow-y:auto}.ai-chat-msg-row{align-self:flex-start;align-items:flex-end;gap:6px;max-width:88%;display:flex}.ai-chat-msg-avatar{background-color:var(--bg-tertiary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;display:flex}.ai-chat-scroll-btn{border:1px solid var(--border-color);background-color:var(--bg-primary);width:30px;height:30px;color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-pop);border-radius:50%;justify-content:center;align-items:center;font-size:12px;display:none;position:absolute;bottom:10px;right:14px}.ai-chat-scroll-btn.show{display:flex}.ai-chat-msg{white-space:pre-wrap;word-break:break-word;border-radius:10px;max-width:88%;padding:8px 12px;font-size:13px;line-height:1.45}.ai-chat-msg--user{background-color:var(--brand-primary);color:var(--brand-btn-text);align-self:flex-end}.ai-chat-msg-row .ai-chat-msg--assistant{align-self:auto;max-width:none}.ai-chat-msg--assistant{background-color:var(--bg-tertiary);color:var(--text-primary);white-space:normal;align-self:flex-start}.ai-chat-msg--assistant p{margin:0 0 6px}.ai-chat-msg--assistant p:last-child{margin-bottom:0}.ai-chat-msg--assistant ul,.ai-chat-msg--assistant ol{margin:0 0 6px;padding-left:18px}.ai-chat-msg--assistant code{background-color:var(--bg-primary);border-radius:4px;padding:1px 4px;font-size:12px}.ai-chat-msg--assistant pre{background-color:var(--bg-primary);border-radius:6px;margin:0 0 6px;padding:8px;overflow-x:auto}.ai-chat-msg--assistant pre code{background:0 0;padding:0}.ai-chat-msg--assistant a{color:var(--brand-primary)}.ai-chat-msg--error{color:var(--accent-danger);text-align:center;align-self:center;font-size:12px}.ai-chat-msg--pending{color:var(--text-muted);align-self:flex-start;font-size:12.5px}.ai-chat-panel__form{border-top:1px solid var(--border-color);gap:8px;padding:10px;display:flex}.ai-chat-panel__input{resize:none;border:1px solid var(--border-color);border-radius:var(--radius-md,8px);font:inherit;background-color:var(--bg-primary);max-height:80px;color:var(--text-primary);flex:1;padding:8px 10px}.ai-chat-panel__send{background-color:var(--brand-primary);color:var(--brand-btn-text);border-radius:var(--radius-md,8px);cursor:pointer;border:none;padding:0 14px}.ai-chat-panel__send:disabled{opacity:.5;cursor:default}.ai-chat-settings{background-color:var(--bg-secondary);flex-direction:column;gap:8px;padding:12px 14px;display:none;position:absolute;inset:0}.ai-chat-settings.open{display:flex}.ai-chat-settings__label{color:var(--text-muted);font-size:12.5px}.ai-chat-settings__textarea{resize:none;border:1px solid var(--border-color);border-radius:var(--radius-md,8px);font:inherit;background-color:var(--bg-primary);color:var(--text-primary);flex:1;padding:8px 10px;font-size:13px}.ai-chat-settings__actions{justify-content:flex-end;gap:8px;display:flex}@media (width<=700px){.ai-chat-panel{left:16px;bottom:calc(76px + env(safe-area-inset-bottom));max-height:calc(100vh - 150px)}}.blog-wizard-steps{align-items:center;margin-bottom:24px;display:flex}.blog-wizard-step{cursor:pointer;background:0 0;border:none;flex-direction:column;flex-shrink:0;align-items:center;gap:6px;padding:4px 8px;display:flex}.blog-wizard-step:disabled{cursor:default}.blog-wizard-step__num{width:30px;height:30px;color:var(--text-muted);border:2px solid var(--border-color);background:var(--bg-secondary);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;transition:background .15s,border-color .15s,color .15s;display:flex}.blog-wizard-step__label{color:var(--text-muted);white-space:nowrap;font-size:11.5px;font-weight:600}.blog-wizard-step.active .blog-wizard-step__num{border-color:var(--brand-primary);color:var(--brand-primary)}.blog-wizard-step.active .blog-wizard-step__label{color:var(--text-primary)}.blog-wizard-step.done .blog-wizard-step__num{background:var(--accent-success);border-color:var(--accent-success);color:#fff}.blog-wizard-step.done .blog-wizard-step__label{color:var(--text-secondary)}.blog-wizard-step__line{background:var(--border-color);flex:1;min-width:16px;height:2px;margin:0 4px 20px}.blog-wizard-panel{display:none}.blog-wizard-panel.active{display:block}.blog-wizard-nav{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:10px;margin-top:20px;padding-top:16px;display:flex}.blog-wizard-nav__right{gap:10px;margin-left:auto;display:flex}.blog-cover-drop{text-align:center;border:1.5px dashed var(--border-color);border-radius:var(--radius-md,8px);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:28px 16px;transition:border-color .15s,background-color .15s;display:flex}.blog-cover-drop:hover,.blog-cover-drop.dragover{border-color:var(--brand-primary);background-color:var(--bg-tertiary)}.blog-cover-drop .fa-cloud-arrow-up{color:var(--text-muted);font-size:22px}.blog-cover-drop__text{color:var(--text-secondary);font-size:13.5px}.blog-cover-drop__choose{color:var(--brand-primary);text-underline-offset:2px;font-weight:600;text-decoration:underline}.blog-cover-card{border-radius:var(--radius-md,8px);background-color:var(--bg-tertiary);margin-top:12px;padding:12px;display:none;position:relative}.blog-cover-card__remove{border-radius:var(--radius-sm,6px);width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:flex;position:absolute;top:4px;right:4px}.blog-cover-card__remove:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.blog-cover-card__row{align-items:center;gap:10px;display:flex}.blog-cover-card__thumb{border-radius:var(--radius-sm,6px);background-color:var(--bg-secondary);border:1px solid var(--border-color);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex;overflow:hidden}.blog-cover-card__thumb img,.blog-cover-card__thumb video{object-fit:cover;width:100%;height:100%;display:block}.blog-cover-card__thumb i{color:var(--text-muted);font-size:16px}.blog-cover-card__info{flex:1;min-width:0}.blog-cover-card__name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}.blog-cover-card__meta{color:var(--text-muted);justify-content:space-between;gap:8px;margin-top:2px;font-size:11.5px;display:flex}.blog-preview-frame-wrap{border:1px solid var(--border-color);border-radius:var(--radius-lg,12px);background:#fff;overflow:hidden}.blog-preview-frame{border:none;width:100%;height:640px;display:block}.blog-preview-note{color:var(--text-muted);align-items:center;gap:8px;margin-bottom:10px;font-size:12.5px;display:flex}@media (width<=700px){.blog-wizard-step__label{display:none}.blog-wizard-steps{margin-bottom:16px}}.idcard-modal-box.modal-box{text-align:left;max-width:400px;padding:0;overflow:hidden}.idcard-modal-head{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.idcard-modal-head h3{color:var(--text-primary);align-items:center;gap:8px;margin:0;font-size:16px;font-weight:700;display:flex}.idcard-modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:15px;display:flex}.idcard-modal-close:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.idcard-modal-body{padding:20px}.idcard{border-radius:var(--radius-lg,12px);border:1px solid var(--border-color);background:var(--bg-secondary);box-shadow:var(--shadow-pop);overflow:hidden}.idcard-top{background:linear-gradient(135deg, var(--brand-secondary), var(--brand-primary));color:var(--brand-btn-text);align-items:center;gap:10px;padding:16px 20px;display:flex;position:relative;overflow:hidden}.idcard-top:before{content:"";pointer-events:none;background:repeating-linear-gradient(135deg,#ffffff0f 0 2px,#0000 2px 16px);position:absolute;inset:0}.idcard-logo{object-fit:contain;background:#ffffff26;border-radius:7px;width:26px;height:26px;padding:3px;position:relative}.idcard-brand{letter-spacing:.2px;font-size:15px;font-weight:700;position:relative}.idcard-main{gap:16px;padding:22px 20px 18px;display:flex}.idcard-photo{border-radius:var(--radius-md,10px);background:var(--bg-tertiary);width:76px;height:76px;box-shadow:0 0 0 1px var(--border-color);flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.idcard-photo img{object-fit:cover;width:100%;height:100%}.idcard-photo-fallback{color:var(--text-muted);font-size:26px;font-weight:700}.idcard-info{flex-direction:column;gap:3px;min-width:0;display:flex}.idcard-role{letter-spacing:.08em;color:var(--brand-primary);background:var(--bg-tertiary);border-radius:999px;width:fit-content;padding:2px 8px;font-size:10px;font-weight:700}.idcard-name{letter-spacing:-.01em;color:var(--text-primary);overflow-wrap:anywhere;margin:3px 0 0;font-size:17px;font-weight:700}.idcard-title{color:var(--text-muted);font-size:12.5px}.idcard-field{flex-direction:column;gap:1px;margin-top:5px;display:flex}.idcard-field[hidden]{display:none}.idcard-field-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:10.5px;font-weight:600}.idcard-field-value{color:var(--text-secondary);overflow-wrap:anywhere;font-size:13px;font-weight:600}.idcard-qr-wrap{border-top:1px dashed var(--border-color);flex-direction:column;align-items:center;gap:8px;padding:18px 20px 22px;display:flex}.idcard-qr-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);align-items:center;gap:6px;margin-bottom:2px;font-size:11px;font-weight:700;display:inline-flex}.idcard-qr{border-radius:var(--radius-sm,8px);width:200px;height:200px;box-shadow:0 0 0 1px var(--border-color);background:#fff;justify-content:center;align-items:center;padding:24px;display:flex}.idcard-qr-fallback{color:#1d1d1f;text-align:center;word-break:break-all;font-size:13px;font-weight:700}.idcard-qr-fallback.idcard-qr-error{color:var(--accent-danger);font-size:12px;font-weight:600;line-height:1.5}.idcard-qr-countdown{color:var(--text-secondary);align-items:center;gap:6px;font-size:11.5px;font-weight:600;display:inline-flex}.idcard-qr-countdown:before{content:"";background:var(--accent-success);border-radius:50%;width:6px;height:6px;animation:1.6s ease-in-out infinite idcard-qr-pulse}@keyframes idcard-qr-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.75)}}.idcard-qr-hint{color:var(--text-muted);text-align:center;font-size:12px}@media (prefers-reduced-motion:reduce){.idcard-qr-countdown:before{animation:none}}.ai-status-strip{flex-wrap:wrap;gap:8px;margin-bottom:4px;display:flex}.ai-status-pill{border:1px solid var(--border-color);background-color:var(--bg-tertiary);color:var(--text-secondary);border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:12px;font-weight:600;display:inline-flex}.ai-status-pill i{font-size:10px}.ai-status-pill.is-on{color:var(--accent-success);border-color:var(--accent-success)}@supports (color:color-mix(in lab, red, red)){.ai-status-pill.is-on{border-color:color-mix(in srgb, var(--accent-success) 35%, var(--border-color))}}.ai-status-pill.is-off{color:var(--accent-danger);border-color:var(--accent-danger)}@supports (color:color-mix(in lab, red, red)){.ai-status-pill.is-off{border-color:color-mix(in srgb, var(--accent-danger) 35%, var(--border-color))}}.ai-option-grid{grid-template-columns:1fr;gap:4px 20px;display:grid}@media (width>=720px){.ai-option-grid{grid-template-columns:1fr 1fr}}.ai-toggle-row{border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--bg-secondary);cursor:pointer;align-items:flex-start;gap:14px;margin-bottom:10px;padding:14px 16px;transition:border-color .15s ease-out,background-color .15s ease-out;display:flex}.ai-toggle-row:hover{border-color:var(--text-muted)}.ai-toggle-row:last-child{margin-bottom:0}.ai-toggle-text{flex:1;min-width:0}.ai-toggle-title{color:var(--text-primary);font-size:13px;font-weight:600}.ai-toggle-hint{color:var(--text-muted);margin-top:3px;font-size:12px;line-height:1.5}.ai-switch{flex-shrink:0;width:42px;height:24px;margin-top:1px;position:relative}.ai-switch input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.ai-switch-track{border:1px solid var(--border-color);background-color:var(--bg-tertiary);pointer-events:none;border-radius:999px;transition:background-color .15s ease-out,border-color .15s ease-out,box-shadow .15s ease-out;position:absolute;inset:0}.ai-switch-track:after{content:"";background-color:var(--text-muted);border-radius:50%;width:16px;height:16px;transition:transform .25s cubic-bezier(.22,1,.36,1),background-color .15s ease-out;position:absolute;top:3px;left:3px}.ai-switch input:checked+.ai-switch-track{background-color:var(--brand-primary);border-color:var(--brand-primary)}.ai-switch input:checked+.ai-switch-track:after{background-color:var(--brand-btn-text);transform:translate(18px)}.ai-switch input:focus-visible+.ai-switch-track{box-shadow:0 0 0 3px var(--focus-ring)}.ai-preview-list{margin:0;padding:0;list-style:none}.ai-preview-list li{color:var(--text-secondary);border-bottom:1px solid var(--border-color);align-items:flex-start;gap:10px;padding:9px 0;font-size:13px;line-height:1.6;display:flex}.ai-preview-list li:last-child{border-bottom:0;padding-bottom:0}.ai-preview-list li i{color:var(--accent-success);flex-shrink:0;margin-top:5px;font-size:11px}.ai-advanced-toggle{width:100%;font:inherit;color:inherit;text-align:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:0;display:flex}.ai-advanced-toggle .ai-advanced-chevron{color:var(--text-muted);flex-shrink:0;margin-left:auto;transition:transform .25s cubic-bezier(.22,1,.36,1)}.ai-advanced-toggle[aria-expanded=true] .ai-advanced-chevron{transform:rotate(180deg)}.ai-save-bar{z-index:2;border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--bg-secondary);box-shadow:var(--shadow-pop);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px;padding:14px 16px;display:flex;position:sticky;bottom:0}.ai-dirty-dot{background-color:var(--accent-warning,var(--accent-danger));vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-left:6px;display:inline-block}@media (prefers-reduced-motion:reduce){.ai-switch-track:after,.ai-advanced-toggle .ai-advanced-chevron{transition:none}}@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}}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:oklch(87% 0 0);--chart-2:oklch(55.6% 0 0);--chart-3:oklch(43.9% 0 0);--chart-4:oklch(37.1% 0 0);--chart-5:oklch(26.9% 0 0);--radius:.625rem;--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:oklch(87% 0 0);--chart-2:oklch(55.6% 0 0);--chart-3:oklch(43.9% 0 0);--chart-4:oklch(37.1% 0 0);--chart-5:oklch(26.9% 0 0);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0)}@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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-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-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@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))}}:root{--ui-shell-gap:18px;--ui-sidebar-width:268px;--ui-content-max:1520px;--ui-surface:color-mix(in srgb, var(--bg-secondary) 96%, transparent);--ui-surface-soft:color-mix(in srgb, var(--bg-tertiary) 72%, transparent);--ui-border:color-mix(in srgb, var(--border-color) 92%, transparent);--ui-shadow:0 1px 2px #1018280a, 0 8px 24px #1018280d}html,body,#root{min-height:100%}body{background:radial-gradient(circle at 0 0, color-mix(in srgb, var(--bg-secondary) 70%, transparent), transparent 32rem), var(--bg-primary)}.admin-dashboard{gap:var(--ui-shell-gap);width:100%;min-height:100vh;padding:var(--ui-shell-gap);align-items:stretch}.app-main{background:0 0;flex-direction:column;flex:auto;min-width:0;display:flex}.dashboard-content{width:min(100%, var(--ui-content-max));margin:0 auto;padding:24px 4px 40px}.tab-content.active{gap:20px!important}.sidebar{width:var(--ui-sidebar-width);min-width:var(--ui-sidebar-width);height:calc(100vh - (var(--ui-shell-gap) * 2));top:var(--ui-shell-gap);border:1px solid var(--ui-border);background:var(--ui-surface);box-shadow:var(--ui-shadow);border-radius:20px;position:sticky;overflow:hidden}.sidebar-header{border-bottom:1px solid var(--ui-border);min-height:68px;padding:18px 16px 14px}.sidebar-wordmark{object-fit:contain;max-width:138px}.sidebar-collapse-btn{border:1px solid var(--ui-border);background:var(--ui-surface-soft);width:34px;height:34px;color:var(--text-secondary);border-radius:10px}.sidebar-nav{scrollbar-gutter:stable;gap:0;padding:12px}.sidebar-primary-nav{border-bottom:1px solid var(--ui-border);padding-bottom:10px}.sidebar-dashboard-item{min-height:44px;font-weight:700}.sidebar-section-list{flex-direction:column;gap:2px;padding-top:8px;display:flex}.sidebar-nav-section{margin-top:0}.sidebar-nav-heading{width:100%;color:var(--text-muted);letter-spacing:.065em;text-transform:uppercase;justify-content:space-between;padding:9px 10px 5px;font-size:10px;font-weight:750;margin-top:0!important}.sidebar-nav-heading:hover{color:var(--text-secondary)}.sidebar-nav-heading .section-chevron{opacity:.7;font-size:9px}.nav-items-inner{flex-direction:column;gap:2px;display:flex}.sidebar-nav-item{border:1px solid #0000;border-radius:10px;gap:10px;min-height:40px;padding:9px 11px;font-size:13px;font-weight:550}.sidebar-nav-item>i{text-align:center;width:18px;color:var(--text-muted)}.sidebar-nav-item:hover{background:var(--ui-surface-soft);border-color:var(--ui-border)}.sidebar-nav-item.active{background:var(--text-primary);color:var(--bg-secondary);border-color:var(--text-primary);box-shadow:0 1px 2px #00000014}.sidebar-nav-item.active>i{color:inherit}.sidebar-footer{border-top:1px solid var(--ui-border);background:color-mix(in srgb, var(--bg-secondary) 94%, transparent);padding:12px}.sidebar-footer-row{align-items:center;gap:9px;min-width:0;padding:2px 3px 10px;display:flex}.sidebar-account-icon{color:var(--text-muted);flex:none}.sidebar-email{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-muted);padding:0;display:block;overflow:hidden}.sidebar-logout-btn{width:100%}.sidebar-footer .btn{border-radius:10px;min-height:40px}.sidebar.icon-collapsed{width:76px;min-width:76px}.sidebar.icon-collapsed .sidebar-header{justify-content:center;padding-inline:10px}.sidebar.icon-collapsed .sidebar-collapse-btn{margin:0}.sidebar.icon-collapsed .sidebar-nav{padding-inline:10px}.sidebar.icon-collapsed .sidebar-primary-nav{border-bottom:0;padding-bottom:4px}.sidebar.icon-collapsed .sidebar-section-list{gap:5px;padding-top:2px}.sidebar.icon-collapsed .sidebar-nav-section{margin:0}.sidebar.icon-collapsed .sidebar-nav-heading{display:none}.sidebar.icon-collapsed .sidebar-nav-item{justify-content:center;padding-inline:10px}.sidebar.icon-collapsed .sidebar-footer-row{justify-content:center;padding-bottom:8px}.topbar{min-height:64px;width:min(100%, var(--ui-content-max));background:0 0;border-bottom:0;margin:0 auto;padding:10px 4px}.topbar h1,.topbar-title{letter-spacing:-.03em;font-size:clamp(20px,2vw,26px);font-weight:700}.card,.content-card,.stat-card,.panel,.table-container,.settings-card{box-shadow:var(--ui-shadow);border-color:var(--ui-border)!important}.card,.content-card,.panel,.settings-card{border-radius:16px!important}.stat-card{border-radius:14px!important}.table-container{overflow:hidden;border-radius:14px!important}input,select,textarea,.form-control,.search-input{min-height:40px;border-radius:10px!important}textarea{min-height:96px}.btn{border-radius:10px;min-height:40px;font-weight:600}.btn-sm,.btn-small{min-height:34px}table{border-collapse:separate;border-spacing:0}th{letter-spacing:.045em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}th,td{padding-top:13px!important;padding-bottom:13px!important}tbody tr{transition:background-color .15s}tbody tr:hover{background:color-mix(in srgb, var(--bg-tertiary) 68%, transparent)}.modal-content,.dialog-content{border-color:var(--ui-border)!important;border-radius:18px!important;box-shadow:0 20px 60px #00000029!important}.mobile-topbar-actions,.mobile-menu-header-actions{align-items:center;gap:8px;display:flex}.mobile-menu-header>div:first-child{flex-direction:column;gap:2px;display:flex}.mobile-menu-header small{color:var(--text-muted);letter-spacing:0;text-transform:none;font-size:11px;font-weight:500}.mobile-menu-nav{gap:8px;padding:14px}.mobile-menu-nav>a{border:1px solid var(--ui-border);background:var(--ui-surface-soft);min-height:44px;font-weight:700}.mobile-nav-section{padding-top:4px}.mobile-nav-section-title{color:var(--text-muted);letter-spacing:.065em;text-transform:uppercase;padding:7px 8px 5px;font-size:10px;font-weight:750}.mobile-nav-section-items{flex-direction:column;gap:3px;display:flex}.mobile-nav-section-items a{border:1px solid #0000;min-height:42px}.mobile-nav-section-items a>i,.mobile-menu-nav>a>i{text-align:center;width:18px;color:var(--text-muted)}.mobile-nav-section-items a.active>i,.mobile-menu-nav>a.active>i{color:inherit}.mobile-menu-account{color:var(--text-muted);align-items:center;gap:9px;margin-bottom:10px;display:flex}.mobile-menu-account .mobile-menu-email{min-width:0;margin-bottom:0}.admin-bottom-nav button{min-width:0}.admin-bottom-nav button span{text-overflow:ellipsis;white-space:nowrap;max-width:68px;overflow:hidden}:is(.admin-card:has(>.card-title-bar .fa-graduation-cap),.admin-card:has(>.card-title-bar .fa-clipboard-question),.admin-card:has(>.card-title-bar .fa-clipboard-list)){border:1px solid var(--ui-border);box-shadow:var(--ui-shadow);border-radius:18px;overflow:hidden}:is(.admin-card:has(>.card-title-bar .fa-graduation-cap)>.card-title-bar,.admin-card:has(>.card-title-bar .fa-clipboard-question)>.card-title-bar){z-index:3;background:color-mix(in srgb, var(--bg-secondary) 96%, transparent);border-bottom:1px solid var(--ui-border);-webkit-backdrop-filter:blur(14px);padding:16px 18px;position:sticky;top:0}.admin-card:has(>.card-title-bar .fa-clipboard-list)>.card-title-bar{border-bottom:1px solid var(--ui-border);background:var(--ui-surface-soft);padding:18px}:is(.admin-card:has(>.card-title-bar .fa-graduation-cap)>.form-body,.admin-card:has(>.card-title-bar .fa-clipboard-question)>.form-body,.admin-card:has(>.card-title-bar .fa-clipboard-list)>.form-body){padding:18px}:is(.admin-card:has(>.card-title-bar .fa-graduation-cap) .form-group,.admin-card:has(>.card-title-bar .fa-clipboard-question) .form-group){border:1px solid var(--ui-border);background:color-mix(in srgb, var(--bg-tertiary) 38%, transparent);border-radius:13px;margin-bottom:12px;padding:14px}:is(.admin-card:has(>.card-title-bar .fa-graduation-cap) .form-group>label,.admin-card:has(>.card-title-bar .fa-clipboard-question) .form-group>label){align-items:center;gap:7px;margin-bottom:8px;font-size:12px;font-weight:700;display:flex}:is(.admin-card:has(>.card-title-bar .fa-graduation-cap) input:focus,.admin-card:has(>.card-title-bar .fa-graduation-cap) select:focus,.admin-card:has(>.card-title-bar .fa-graduation-cap) textarea:focus,.admin-card:has(>.card-title-bar .fa-clipboard-question) input:focus,.admin-card:has(>.card-title-bar .fa-clipboard-question) select:focus,.admin-card:has(>.card-title-bar .fa-clipboard-question) textarea:focus){outline:2px solid color-mix(in srgb, var(--text-primary) 16%, transparent);outline-offset:1px;border-color:color-mix(in srgb, var(--text-primary) 28%, var(--ui-border))}.admin-card:has(>.card-title-bar .fa-clipboard-question) .admin-card{border:1px solid var(--ui-border);box-shadow:none;background:var(--bg-secondary);border-radius:14px;margin-bottom:12px!important}.admin-card:has(>.card-title-bar .fa-clipboard-question) .admin-card>.card-title-bar{background:var(--ui-surface-soft);border-bottom:1px solid var(--ui-border);min-height:54px;padding:10px 12px}.admin-card:has(>.card-title-bar .fa-clipboard-question) .blog-wizard-nav{z-index:4;border-top:1px solid var(--ui-border);background:color-mix(in srgb, var(--bg-secondary) 96%, transparent);-webkit-backdrop-filter:blur(14px);padding:12px 18px;position:sticky;bottom:0;margin:22px -18px -18px!important}.admin-card:has(>.card-title-bar .fa-clipboard-list) input[type=search]{background:var(--bg-secondary);min-height:44px;padding-left:14px}.admin-card:has(>.card-title-bar .fa-clipboard-list) select{background:var(--bg-secondary);min-width:150px;min-height:44px}:is(.admin-card:has(>.card-title-bar .fa-clipboard-list) table,.admin-card:has(>.card-title-bar .fa-graduation-cap) table){width:100%}:is(.admin-card:has(>.card-title-bar .fa-clipboard-list) tbody tr,.admin-card:has(>.card-title-bar .fa-graduation-cap) tbody tr){background:var(--bg-secondary)}:is(.admin-card:has(>.card-title-bar .fa-clipboard-list) tbody tr:hover,.admin-card:has(>.card-title-bar .fa-graduation-cap) tbody tr:hover){background:var(--ui-surface-soft)}:is(.admin-card:has(>.card-title-bar .fa-clipboard-list) .btn,.admin-card:has(>.card-title-bar .fa-graduation-cap) .btn,.admin-card:has(>.card-title-bar .fa-clipboard-question) .btn){transition:transform .12s,background-color .15s,border-color .15s,opacity .15s}:is(.admin-card:has(>.card-title-bar .fa-clipboard-list) .btn:active:not(:disabled),.admin-card:has(>.card-title-bar .fa-graduation-cap) .btn:active:not(:disabled),.admin-card:has(>.card-title-bar .fa-clipboard-question) .btn:active:not(:disabled)){transform:translateY(1px)scale(.99)}@media (width<=1180px){:root{--ui-sidebar-width:236px;--ui-shell-gap:14px}.dashboard-content{padding-top:18px}}@media (width<=900px){.admin-dashboard{padding:0;display:block!important}.app-main{width:100%}.dashboard-content{padding:16px 16px 96px}.topbar{display:none!important}.mobile-topbar,.mobile-nav,.mobile-header{border-bottom:1px solid var(--ui-border);background:color-mix(in srgb, var(--bg-secondary) 94%, transparent);-webkit-backdrop-filter:blur(18px)}.mobile-menu-panel{width:min(360px,92vw)}.card,.content-card,.panel,.settings-card,.table-container{border-radius:14px!important}:is(.admin-card:has(>.card-title-bar .fa-graduation-cap)>.card-title-bar,.admin-card:has(>.card-title-bar .fa-clipboard-question)>.card-title-bar,.admin-card:has(>.card-title-bar .fa-clipboard-list)>.card-title-bar){flex-wrap:wrap;align-items:flex-start;position:static}:is(.admin-card:has(>.card-title-bar .fa-graduation-cap)>.form-body,.admin-card:has(>.card-title-bar .fa-clipboard-question)>.form-body,.admin-card:has(>.card-title-bar .fa-clipboard-list)>.form-body){padding:14px}.admin-card:has(>.card-title-bar .fa-clipboard-question) .blog-wizard-nav{padding:12px 14px;margin:18px -14px -14px!important}}@media (width<=560px){.dashboard-content{padding-inline:12px}.tab-content.active{gap:14px!important}.btn{min-height:42px}.mobile-menu-panel{width:92vw;max-width:92vw}.admin-bottom-nav button span{font-size:10px}:is(.admin-card:has(>.card-title-bar .fa-graduation-cap) .form-group,.admin-card:has(>.card-title-bar .fa-clipboard-question) .form-group){padding:11px}.admin-card:has(>.card-title-bar .fa-clipboard-list) select{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}}.online-learning-hub{border:1px solid var(--ui-border);background:linear-gradient(135deg,var(--bg-secondary),color-mix(in srgb,var(--bg-tertiary) 58%,transparent));box-shadow:var(--ui-shadow);border-radius:20px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:20px;margin-bottom:22px;padding:24px;display:grid}.online-learning-hub-copy{max-width:820px}.online-learning-eyebrow{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px;font-size:11px;font-weight:800;display:block}.online-learning-hub h1{letter-spacing:-.035em;margin:0 0 8px;font-size:clamp(24px,3vw,36px)}.online-learning-hub p{color:var(--text-secondary);margin:0;line-height:1.65}.online-learning-flow{grid-column:1/-1;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.online-learning-flow>div{border:1px solid var(--ui-border);background:var(--bg-secondary);border-radius:14px;flex-direction:column;gap:4px;min-width:0;padding:14px;display:flex}.online-learning-flow i{color:var(--text-muted);margin-bottom:5px;font-size:17px}.online-learning-flow strong{font-size:13px}.online-learning-flow span{color:var(--text-muted);font-size:11px;line-height:1.45}.online-learning-flow .is-plus{background:color-mix(in srgb,var(--bg-tertiary) 74%,var(--bg-secondary))}.tutored-exam-header{max-width:900px}.tutored-exam-student-card,.tutored-exam-editor,.tutored-exam-list-card{border:1px solid var(--ui-border);box-shadow:var(--ui-shadow);border-radius:18px;overflow:hidden}.tutored-exam-student-row{align-items:center;gap:12px;display:flex}.tutored-exam-student-row select{flex:1;min-width:220px;min-height:46px}.tutored-exam-editor>.card-title-bar{z-index:3;background:color-mix(in srgb,var(--bg-secondary) 96%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--ui-border);position:sticky;top:0}.tutored-exam-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.tutored-span-2{grid-column:1/-1}.tutored-exam-grid .form-group,.tutored-question-card .form-group{border:1px solid var(--ui-border);background:color-mix(in srgb,var(--bg-tertiary) 38%,transparent);border-radius:12px;margin:0;padding:12px}.tutored-exam-grid label,.tutored-question-card label{margin-bottom:7px;font-size:12px;font-weight:700;display:block}.tutored-exam-options{border:1px solid var(--ui-border);background:var(--ui-surface-soft);border-radius:12px;flex-wrap:wrap;gap:18px;margin:14px 0 20px;padding:12px 14px;display:flex}.tutored-exam-options label{align-items:center;gap:8px;font-size:13px;display:flex}.tutored-question-head{justify-content:space-between;align-items:center;gap:16px;margin:22px 0 12px;display:flex}.tutored-question-head h3,.tutored-question-head p{margin:0}.tutored-question-head p{color:var(--text-muted);margin-top:4px;font-size:12px}.tutored-question-list{gap:12px;display:grid}.tutored-question-card{border:1px solid var(--ui-border)!important;box-shadow:none!important;border-radius:15px!important;margin:0!important}.tutored-question-card>.card-title-bar{background:var(--ui-surface-soft);border-bottom:1px solid var(--ui-border);min-height:52px;padding:10px 12px}.tutored-question-card>.form-body{gap:12px;padding:12px;display:grid}.tutored-options-list{border:1px solid var(--ui-border);border-radius:12px;gap:8px;padding:12px;display:grid}.tutored-option-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.tutored-option-row input[type=text],.tutored-option-row input:not([type]){min-width:0}.tutored-question-meta{grid-template-columns:120px minmax(0,1fr);gap:10px;display:grid}.tutored-exam-actions{z-index:4;border-top:1px solid var(--ui-border);background:color-mix(in srgb,var(--bg-secondary) 96%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);justify-content:flex-end;gap:10px;margin:22px -18px -18px;padding:13px 18px;display:flex;position:sticky;bottom:0}.tutored-exam-list-card>.form-body{gap:14px;display:grid}.tutored-exam-list-card input[type=search]{min-height:44px}.tutored-exam-list-card .table-actions{justify-content:flex-end;gap:6px;display:flex}.tutored-results-modal{width:min(620px,100vw - 28px)}.tutored-attempt{border-bottom:1px solid var(--ui-border);justify-content:space-between;gap:14px;padding:12px 0;display:flex}.tutored-attempt:last-child{border-bottom:0}.tutored-attempt small{color:var(--text-muted)}@media (width<=1000px){.online-learning-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.online-learning-flow .is-plus{grid-column:span 2}}@media (width<=700px){.online-learning-hub{grid-template-columns:1fr;padding:18px}.online-learning-hub>.btn{width:100%}.online-learning-flow{grid-template-columns:1fr}.online-learning-flow .is-plus{grid-column:auto}.tutored-exam-student-row{flex-direction:column;align-items:stretch}.tutored-exam-student-row select,.tutored-exam-student-row .btn{width:100%}.tutored-exam-grid{grid-template-columns:1fr}.tutored-span-2{grid-column:auto}.tutored-question-head{flex-direction:column;align-items:stretch}.tutored-question-meta{grid-template-columns:1fr}.tutored-question-card>.card-title-bar{flex-wrap:wrap}.tutored-question-card>.card-title-bar select{order:3;width:100%}.tutored-exam-actions{flex-direction:column;position:static}.tutored-exam-actions .btn{width:100%}.tutored-exam-list-card .table-container{overflow-x:auto}.tutored-exam-list-card table{min-width:760px}}
