@conscia-labs/design-system 0.3.1 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -309,6 +309,12 @@ Use the generated utilities such as `bg-sidebar-canvas`,
309
309
  Legacy aliases including `bg-sidebar`, `bg-sidebar-accent`, and
310
310
  `text-sidebar-foreground` remain supported.
311
311
 
312
+ Form controls and outline buttons use `bg-surface-control`, with
313
+ `bg-surface-control-hover` for the outline hover state. These semantic surfaces
314
+ are intentionally theme-aware: the base uses the muted surface in light mode
315
+ and the raised surface in dark mode; hover reverses that relationship so the
316
+ control remains visibly interactive without introducing a new color palette.
317
+
312
318
  `SidebarSearch` owns only the trigger, expanded field, Escape handling, and
313
319
  focus handoff. Applications provide the query value and filtering behavior.
314
320
  `NavigationGroup` accepts an optional `count`; application-owned group labels
@@ -13,7 +13,7 @@ var buttonVariants = cva(
13
13
  variant: {
14
14
  default: "bg-primary text-primary-foreground shadow-xs hover:bg-accent-hover active:bg-accent-active",
15
15
  destructive: "bg-danger text-white shadow-xs hover:bg-danger/90 focus-visible:ring-danger/20 dark:focus-visible:ring-danger/40",
16
- outline: "border border-border-default bg-background shadow-xs hover:bg-surface-muted hover:text-foreground",
16
+ outline: "border border-border-default bg-surface-control shadow-xs hover:bg-surface-control-hover hover:text-foreground",
17
17
  secondary: "bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",
18
18
  ghost: "hover:bg-surface-muted hover:text-foreground",
19
19
  link: "text-text-link underline-offset-4 hover:underline"
@@ -133,7 +133,7 @@ function SelectTrigger({
133
133
  "data-slot": "select-trigger",
134
134
  "data-size": size,
135
135
  className: cn(
136
- "border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-danger/20 aria-invalid:border-danger flex w-fit items-center justify-between gap-2 rounded-[var(--ds-field-control-radius)] border bg-card px-[var(--ds-field-control-padding-x)] py-2 text-sm whitespace-nowrap shadow-none transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[var(--ds-field-control-height)] data-[size=sm]:h-[var(--ds-control-height-sm)] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 dark:aria-invalid:ring-danger/40",
136
+ "border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-danger/20 aria-invalid:border-danger flex w-fit items-center justify-between gap-2 rounded-[var(--ds-field-control-radius)] border bg-surface-control px-[var(--ds-field-control-padding-x)] py-2 text-sm whitespace-nowrap shadow-none transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[var(--ds-field-control-height)] data-[size=sm]:h-[var(--ds-control-height-sm)] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 dark:aria-invalid:ring-danger/40",
137
137
  className
138
138
  ),
139
139
  ...props,
@@ -241,7 +241,7 @@ function Input({ className, type, ...props }) {
241
241
  type,
242
242
  "data-slot": "input",
243
243
  className: cn(
244
- "border-input bg-card flex h-[var(--ds-field-control-height)] w-full min-w-0 rounded-[var(--ds-field-control-radius)] border px-[var(--ds-field-control-padding-x)] py-2 text-base shadow-none transition-colors outline-none selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
244
+ "border-input bg-surface-control flex h-[var(--ds-field-control-height)] w-full min-w-0 rounded-[var(--ds-field-control-radius)] border px-[var(--ds-field-control-padding-x)] py-2 text-base shadow-none transition-colors outline-none selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
245
245
  "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
246
246
  "aria-invalid:border-danger aria-invalid:ring-danger/20 dark:aria-invalid:ring-danger/40",
247
247
  className
@@ -954,4 +954,4 @@ export {
954
954
  DropdownMenuLabel,
955
955
  DropdownMenuSeparator
956
956
  };
957
- //# sourceMappingURL=chunk-HLND6FZS.js.map
957
+ //# sourceMappingURL=chunk-JC7W5VB3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/primitives/button.tsx","../src/primitives/checkbox.tsx","../src/primitives/table.tsx","../src/primitives/select.tsx","../src/primitives/input.tsx","../src/primitives/separator.tsx","../src/primitives/sheet.tsx","../src/primitives/tooltip.tsx","../src/primitives/dialog.tsx","../src/primitives/tabs.tsx","../src/primitives/card.tsx","../src/primitives/skeleton.tsx","../src/primitives/collapsible.tsx","../src/primitives/dropdown-menu.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"./utils\";\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n default:\n \"bg-primary text-primary-foreground shadow-xs hover:bg-accent-hover active:bg-accent-active\",\n destructive:\n \"bg-danger text-white shadow-xs hover:bg-danger/90 focus-visible:ring-danger/20 dark:focus-visible:ring-danger/40\",\n outline:\n \"border border-border-default bg-surface-control shadow-xs hover:bg-surface-control-hover hover:text-foreground\",\n secondary: \"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80\",\n ghost: \"hover:bg-surface-muted hover:text-foreground\",\n link: \"text-text-link underline-offset-4 hover:underline\"\n },\n size: {\n default: \"h-[var(--ds-control-height)] px-3 py-2 has-[>svg]:px-3\",\n sm: \"h-[var(--ds-control-height-sm)] rounded-md gap-1.5 px-2.5 has-[>svg]:px-2\",\n lg: \"h-[var(--ds-control-height-lg)] rounded-md px-4 has-[>svg]:px-3.5\",\n icon: \"size-[var(--ds-control-height)]\"\n }\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\"\n }\n },\n);\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n type,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean;\n }) {\n const Comp = asChild ? Slot : \"button\";\n\n return (\n <Comp\n data-slot=\"button\"\n type={asChild ? undefined : (type ?? \"button\")}\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n );\n}\n\nexport { Button, buttonVariants };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { CheckIcon } from \"lucide-react\";\n\nimport { cn } from \"./utils\";\n\nfunction Checkbox({\n className,\n ...props\n}: React.ComponentProps<typeof CheckboxPrimitive.Root>) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n \"peer size-4 shrink-0 rounded-[4px] border border-input shadow-xs transition-shadow outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-danger aria-invalid:ring-danger/20 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:bg-input/30 dark:aria-invalid:ring-danger/40 dark:data-[state=checked]:bg-primary\",\n className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator data-slot=\"checkbox-indicator\" className=\"grid place-content-center text-current transition-none\">\n <CheckIcon className=\"size-3.5\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n}\n\nexport { Checkbox };\n","import * as React from \"react\";\n\nimport { cn } from \"./utils\";\n\nfunction Table({ className, ...props }: React.ComponentProps<\"table\">) {\n return (\n <div data-slot=\"table-container\" className=\"relative w-full overflow-x-auto\">\n <table data-slot=\"table\" className={cn(\"w-full caption-bottom text-sm\", className)} {...props} />\n </div>\n );\n}\n\nfunction TableHeader({ className, ...props }: React.ComponentProps<\"thead\">) {\n return <thead data-slot=\"table-header\" className={cn(\"[&_tr]:border-b [&_tr]:border-border-subtle\", className)} {...props} />;\n}\n\nfunction TableBody({ className, ...props }: React.ComponentProps<\"tbody\">) {\n return <tbody data-slot=\"table-body\" className={cn(\"[&_tr:last-child]:border-0\", className)} {...props} />;\n}\n\nfunction TableRow({ className, ...props }: React.ComponentProps<\"tr\">) {\n return (\n <tr\n data-slot=\"table-row\"\n className={cn(\"h-[var(--ds-row-height)] border-b border-border-subtle transition-colors hover:bg-surface-muted/70 data-[state=selected]:bg-accent-background\", className)}\n {...props}\n />\n );\n}\n\nfunction TableHead({ className, ...props }: React.ComponentProps<\"th\">) {\n return (\n <th\n data-slot=\"table-head\"\n className={cn(\"h-[var(--ds-table-header-height)] whitespace-nowrap px-3 text-left align-middle text-[var(--ds-metadata)] font-semibold uppercase text-muted-foreground\", className)}\n {...props}\n />\n );\n}\n\nfunction TableCell({ className, ...props }: React.ComponentProps<\"td\">) {\n return <td data-slot=\"table-cell\" className={cn(\"whitespace-nowrap px-3 py-2 align-middle text-sm\", className)} {...props} />;\n}\n\nexport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow\n};\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from \"lucide-react\";\n\nimport { cn } from \"./utils\";\n\nfunction Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\nfunction SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />;\n}\n\nfunction SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n}\n\nfunction SelectTrigger({\n className,\n size = \"default\",\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: \"sm\" | \"default\";\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n \"border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-danger/20 aria-invalid:border-danger flex w-fit items-center justify-between gap-2 rounded-[var(--ds-field-control-radius)] border bg-surface-control px-[var(--ds-field-control-padding-x)] py-2 text-sm whitespace-nowrap shadow-none transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[var(--ds-field-control-height)] data-[size=sm]:h-[var(--ds-control-height-sm)] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 dark:aria-invalid:ring-danger/40\",\n className,\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"size-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n );\n}\n\nfunction SelectContent({\n className,\n children,\n position = \"popper\",\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className,\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1\",\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"focus:bg-surface-muted focus:text-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-[length:var(--ds-menu-item-size)] outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n );\n}\n\nfunction SelectLabel({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn(\"text-muted-foreground px-2 py-1.5 text-[length:var(--ds-menu-label-size)]\", className)}\n {...props}\n />\n );\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn(\"bg-border pointer-events-none -mx-1 my-1 h-px\", className)}\n {...props}\n />\n );\n}\n\nfunction SelectScrollUpButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton data-slot=\"select-scroll-up-button\" className={cn(\"flex cursor-default items-center justify-center py-1\", className)} {...props}>\n <ChevronUpIcon className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n );\n}\n\nfunction SelectScrollDownButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton data-slot=\"select-scroll-down-button\" className={cn(\"flex cursor-default items-center justify-center py-1\", className)} {...props}>\n <ChevronDownIcon className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n );\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue\n};\n","import * as React from \"react\";\n\nimport { cn } from \"./utils\";\n\nfunction Input({ className, type, ...props }: React.ComponentProps<\"input\">) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n \"border-input bg-surface-control flex h-[var(--ds-field-control-height)] w-full min-w-0 rounded-[var(--ds-field-control-radius)] border px-[var(--ds-field-control-padding-x)] py-2 text-base shadow-none transition-colors outline-none selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n \"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]\",\n \"aria-invalid:border-danger aria-invalid:ring-danger/20 dark:aria-invalid:ring-danger/40\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Input };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as SeparatorPrimitive from \"@radix-ui/react-separator\";\n\nimport { cn } from \"./utils\";\n\nfunction Separator({\n className,\n orientation = \"horizontal\",\n decorative = true,\n ...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n return (\n <SeparatorPrimitive.Root\n data-slot=\"separator\"\n decorative={decorative}\n orientation={orientation}\n className={cn(\n \"shrink-0 bg-border-subtle data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Separator };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { XIcon } from \"lucide-react\";\n\nimport { cn } from \"./utils\";\n\nfunction Sheet({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"sheet\" {...props} />;\n}\n\nfunction SheetTrigger({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"sheet-trigger\" {...props} />;\n}\n\nfunction SheetPortal({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"sheet-portal\" {...props} />;\n}\n\nfunction SheetClose({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"sheet-close\" {...props} />;\n}\n\nfunction SheetOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"sheet-overlay\"\n className={cn(\"fixed inset-0 z-50 bg-black/50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\", className)}\n {...props}\n />\n );\n}\n\nconst sheetSideClasses = {\n top: \"inset-x-0 top-0 h-auto border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top\",\n right: \"right-0 top-0 h-full max-w-md border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-lg\",\n bottom: \"inset-x-0 bottom-0 h-auto border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom\",\n left: \"left-0 top-0 h-full max-w-md border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-lg\",\n};\n\nfunction SheetContent({\n className,\n children,\n side = \"right\",\n closeLabel = \"Close\",\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content> & {\n side?: keyof typeof sheetSideClasses;\n closeLabel?: string;\n}) {\n return (\n <SheetPortal>\n <SheetOverlay />\n <DialogPrimitive.Content\n data-slot=\"sheet-content\"\n className={cn(\n \"fixed z-50 flex w-full flex-col gap-6 bg-background p-6 text-foreground shadow-lg outline-none data-[state=open]:animate-in data-[state=closed]:animate-out\",\n sheetSideClasses[side],\n className,\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close\n data-slot=\"sheet-close\"\n className=\"absolute right-4 top-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:ring-offset-background disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\"\n >\n <XIcon />\n <span className=\"sr-only\">{closeLabel}</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </SheetPortal>\n );\n}\n\nfunction SheetHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div data-slot=\"sheet-header\" className={cn(\"grid gap-2 pr-8\", className)} {...props} />;\n}\n\nfunction SheetTitle({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return (\n <DialogPrimitive.Title\n data-slot=\"sheet-title\"\n className={cn(\"text-lg font-semibold leading-tight\", className)}\n {...props}\n />\n );\n}\n\nfunction SheetDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return (\n <DialogPrimitive.Description\n data-slot=\"sheet-description\"\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n );\n}\n\nfunction SheetBody({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sheet-body\"\n className={cn(\"flex min-h-0 flex-1 flex-col gap-[var(--ds-space-group)] overflow-y-auto pr-1\", className)}\n {...props}\n />\n );\n}\n\nfunction SheetFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sheet-footer\"\n className={cn(\"mt-auto flex flex-wrap items-center justify-between gap-2 border-t border-border-subtle pt-4\", className)}\n {...props}\n />\n );\n}\n\nexport {\n Sheet,\n SheetBody,\n SheetClose,\n SheetContent,\n SheetDescription,\n SheetFooter,\n SheetHeader,\n SheetOverlay,\n SheetPortal,\n SheetTitle,\n SheetTrigger,\n};\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\n\nimport { cn } from \"./utils\";\n\nfunction TooltipProvider({ delayDuration = 150, ...props }: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return <TooltipPrimitive.Provider data-slot=\"tooltip-provider\" delayDuration={delayDuration} {...props} />;\n}\n\nfunction Tooltip({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />;\n}\n\nfunction TooltipTrigger({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />;\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 6,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\"z-50 w-fit rounded-md bg-foreground px-3 py-1.5 text-balance text-xs text-background shadow-[var(--ds-shadow-floating)]\", className)}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n );\n}\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { XIcon } from \"lucide-react\";\n\nimport { cn } from \"./utils\";\n\nfunction Dialog({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />;\n}\n\nfunction DialogTrigger({ ...props }: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />;\n}\n\nfunction DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />;\n}\n\nfunction DialogPortal({ ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />;\n}\n\nfunction DialogOverlay({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return <DialogPrimitive.Overlay data-slot=\"dialog-overlay\" className={cn(\"fixed inset-0 z-50 bg-black/50\", className)} {...props} />;\n}\n\nfunction DialogContent({\n className,\n children,\n showCloseButton = true,\n size = \"default\",\n closeLabel = \"Close\",\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content> & {\n showCloseButton?: boolean;\n size?: \"small\" | \"default\" | \"large\";\n closeLabel?: string;\n}) {\n return (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n data-size={size}\n className={cn(\n \"fixed left-1/2 top-1/2 z-50 grid max-h-[min(42rem,calc(100vh-2rem))] w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 grid-rows-[auto_minmax(0,1fr)_auto] gap-5 overflow-hidden rounded-lg border bg-background p-5 text-foreground shadow-lg sm:p-6\",\n \"data-[size=small]:sm:max-w-sm data-[size=default]:sm:max-w-lg data-[size=large]:sm:max-w-3xl\",\n className,\n )}\n {...props}\n >\n {children}\n {showCloseButton ? (\n <DialogPrimitive.Close\n data-slot=\"dialog-close\"\n className=\"absolute right-4 top-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:ring-offset-background disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\"\n >\n <XIcon className=\"size-4\" />\n <span className=\"sr-only\">{closeLabel}</span>\n </DialogPrimitive.Close>\n ) : null}\n </DialogPrimitive.Content>\n </DialogPortal>\n );\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div data-slot=\"dialog-header\" className={cn(\"flex flex-col gap-2 text-left\", className)} {...props} />;\n}\n\nfunction DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return <DialogPrimitive.Title data-slot=\"dialog-title\" className={cn(\"text-base font-semibold leading-none\", className)} {...props} />;\n}\n\nfunction DialogDescription({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return <DialogPrimitive.Description data-slot=\"dialog-description\" className={cn(\"text-sm text-muted-foreground\", className)} {...props} />;\n}\n\nfunction DialogBody({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div data-slot=\"dialog-body\" className={cn(\"min-h-0 overflow-y-auto text-sm\", className)} {...props} />;\n}\n\nfunction DialogFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div data-slot=\"dialog-footer\" className={cn(\"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\", className)} {...props} />;\n}\n\nexport {\n Dialog,\n DialogBody,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger\n};\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\nimport { cn } from \"./utils\";\n\ntype TabsVariant = \"underline\" | \"segmented\";\ntype TabsSize = \"default\" | \"compact\";\ntype ScrollPosition = \"none\" | \"start\" | \"middle\" | \"end\";\n\ntype TabsVisualContextValue = {\n variant: TabsVariant;\n size: TabsSize;\n};\n\nconst defaultTabsVisualContext: TabsVisualContextValue = {\n variant: \"underline\",\n size: \"default\",\n};\n\nconst TabsRootVisualContext = React.createContext(defaultTabsVisualContext);\nconst TabsListVisualContext = React.createContext(defaultTabsVisualContext);\n\nconst tabRailClasses =\n \"flex min-w-0 items-stretch overflow-x-auto overscroll-x-contain border-b border-border-subtle scroll-px-2 snap-x [scrollbar-width:none] [&::-webkit-scrollbar]:hidden\";\n\nconst navigationTabClasses =\n \"relative inline-flex h-full shrink-0 snap-start items-center justify-center gap-2 whitespace-nowrap rounded-t-[var(--ds-radius-control)] px-[var(--ds-tab-padding-x)] text-sm font-medium outline-none transition-[background-color,color,box-shadow] duration-150 after:absolute after:inset-x-0 after:bottom-0 after:h-0.5 after:bg-transparent after:transition-colors hover:bg-surface-muted focus-visible:z-10 focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring/60 data-[active=false]:text-muted-foreground data-[active=false]:hover:text-foreground data-[active=true]:bg-selection-background data-[active=true]:font-semibold data-[active=true]:text-selection-foreground data-[active=true]:after:bg-selection-indicator\";\n\nfunction assignRef<T>(ref: React.Ref<T> | undefined, value: T | null) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref) {\n (ref as React.MutableRefObject<T | null>).current = value;\n }\n}\n\nfunction useHorizontalScrollRail<T extends HTMLElement>(externalRef?: React.Ref<T>) {\n const internalRef = React.useRef<T | null>(null);\n const [scrollPosition, setScrollPosition] = React.useState<ScrollPosition>(\"none\");\n\n const updateScrollPosition = React.useCallback(() => {\n const element = internalRef.current;\n if (!element) return;\n\n const maximumScroll = element.scrollWidth - element.clientWidth;\n const nextPosition: ScrollPosition =\n maximumScroll <= 1\n ? \"none\"\n : element.scrollLeft <= 1\n ? \"start\"\n : element.scrollLeft >= maximumScroll - 1\n ? \"end\"\n : \"middle\";\n\n setScrollPosition((current) =>\n current === nextPosition ? current : nextPosition,\n );\n }, []);\n\n const ref = React.useCallback(\n (node: T | null) => {\n internalRef.current = node;\n assignRef(externalRef, node);\n },\n [externalRef],\n );\n\n React.useEffect(() => {\n updateScrollPosition();\n const element = internalRef.current;\n if (!element || typeof ResizeObserver === \"undefined\") return;\n\n const observer = new ResizeObserver(updateScrollPosition);\n observer.observe(element);\n return () => observer.disconnect();\n }, [updateScrollPosition]);\n\n return [scrollPosition, ref, updateScrollPosition] as const;\n}\n\nfunction Tabs({\n className,\n variant = \"underline\",\n size = \"default\",\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Root> & {\n variant?: TabsVariant;\n size?: TabsSize;\n}) {\n return (\n <TabsRootVisualContext.Provider value={{ variant, size }}>\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n data-variant={variant}\n data-size={size}\n className={cn(\"flex min-w-0 flex-col gap-2\", className)}\n {...props}\n />\n </TabsRootVisualContext.Provider>\n );\n}\n\nfunction TabsList({\n className,\n variant,\n size,\n children,\n ref: externalRef,\n onScroll,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.List> & {\n variant?: TabsVariant;\n size?: TabsSize;\n}) {\n const rootVisuals = React.useContext(TabsRootVisualContext);\n const resolvedVariant = variant ?? rootVisuals.variant;\n const resolvedSize = size ?? rootVisuals.size;\n const [scrollPosition, scrollRailRef, updateScrollPosition] =\n useHorizontalScrollRail<HTMLDivElement>(externalRef);\n\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n data-variant={resolvedVariant}\n data-size={resolvedSize}\n data-scroll-position={\n resolvedVariant === \"underline\" ? scrollPosition : undefined\n }\n ref={scrollRailRef}\n onScroll={(event) => {\n updateScrollPosition();\n onScroll?.(event);\n }}\n className={cn(\n \"text-muted-foreground\",\n resolvedVariant === \"underline\" && tabRailClasses,\n resolvedVariant === \"underline\" &&\n (resolvedSize === \"compact\"\n ? \"h-[var(--ds-tab-rail-height-compact)]\"\n : \"h-[var(--ds-tab-rail-height)]\"),\n resolvedVariant === \"segmented\" &&\n \"inline-flex h-[var(--ds-control-height)] items-center gap-1 self-start rounded-md bg-surface-muted p-1\",\n className,\n )}\n {...props}\n >\n <TabsListVisualContext.Provider\n value={{ variant: resolvedVariant, size: resolvedSize }}\n >\n {children}\n </TabsListVisualContext.Provider>\n </TabsPrimitive.List>\n );\n}\n\nfunction TabsTrigger({\n className,\n variant,\n size,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Trigger> & {\n variant?: TabsVariant;\n size?: TabsSize;\n}) {\n const listVisuals = React.useContext(TabsListVisualContext);\n const resolvedVariant = variant ?? listVisuals.variant;\n const resolvedSize = size ?? listVisuals.size;\n\n return (\n <TabsPrimitive.Trigger\n data-slot=\"tabs-trigger\"\n data-variant={resolvedVariant}\n data-size={resolvedSize}\n className={cn(\n \"disabled:pointer-events-none disabled:opacity-50\",\n resolvedVariant === \"underline\" &&\n cn(\n navigationTabClasses,\n \"data-[state=active]:bg-selection-background data-[state=active]:font-semibold data-[state=active]:text-selection-foreground data-[state=active]:after:bg-selection-indicator\",\n ),\n resolvedVariant === \"segmented\" &&\n \"inline-flex h-full items-center justify-center gap-2 whitespace-nowrap rounded-[calc(var(--ds-radius-control)-2px)] px-3 text-sm font-medium text-muted-foreground outline-none transition-[background-color,color,box-shadow] hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring/60 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-xs\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsContent({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return (\n <TabsPrimitive.Content\n data-slot=\"tabs-content\"\n className={cn(\n \"outline-none focus-visible:ring-2 focus-visible:ring-ring/50\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction NavigationTabs({\n className,\n ...props\n}: React.ComponentProps<\"nav\">) {\n return (\n <nav\n data-slot=\"navigation-tabs\"\n className={cn(\"min-w-0\", className)}\n {...props}\n />\n );\n}\n\nfunction NavigationTabsList({\n className,\n ref: externalRef,\n onScroll,\n ...props\n}: React.ComponentProps<\"div\">) {\n const [scrollPosition, scrollRailRef, updateScrollPosition] =\n useHorizontalScrollRail<HTMLDivElement>(externalRef);\n\n return (\n <div\n data-slot=\"navigation-tabs-list\"\n data-scroll-position={scrollPosition}\n ref={scrollRailRef}\n onScroll={(event) => {\n updateScrollPosition();\n onScroll?.(event);\n }}\n className={cn(\n tabRailClasses,\n \"h-[var(--ds-tab-rail-height)]\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction NavigationTab({\n className,\n active = false,\n asChild = false,\n ref: externalRef,\n ...props\n}: React.ComponentProps<\"a\"> & {\n active?: boolean;\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot : \"a\";\n const internalRef = React.useRef<HTMLAnchorElement | null>(null);\n const ref = React.useCallback(\n (node: HTMLAnchorElement | null) => {\n internalRef.current = node;\n assignRef(externalRef, node);\n },\n [externalRef],\n );\n\n React.useEffect(() => {\n if (!active) return;\n internalRef.current?.scrollIntoView({\n behavior: \"auto\",\n block: \"nearest\",\n inline: \"nearest\",\n });\n }, [active]);\n\n return (\n <Comp\n {...props}\n data-slot=\"navigation-tab\"\n data-active={active ? \"true\" : \"false\"}\n aria-current={active ? \"page\" : undefined}\n ref={ref}\n className={cn(\n navigationTabClasses,\n className,\n )}\n />\n );\n}\n\nexport {\n NavigationTab,\n NavigationTabs,\n NavigationTabsList,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n};\nexport type { TabsSize, TabsVariant };\n","import * as React from \"react\";\n\nimport { cn } from \"./utils\";\n\nfunction Card({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card\"\n className={cn(\"flex flex-col gap-5 rounded-lg border border-border-default bg-card py-[var(--ds-surface-padding)] text-card-foreground shadow-sm\", className)}\n {...props}\n />\n );\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div data-slot=\"card-header\" className={cn(\"grid auto-rows-min gap-1.5 px-[var(--ds-surface-padding)]\", className)} {...props} />;\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div data-slot=\"card-title\" className={cn(\"font-semibold leading-none\", className)} {...props} />;\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div data-slot=\"card-description\" className={cn(\"text-sm text-muted-foreground\", className)} {...props} />;\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div data-slot=\"card-content\" className={cn(\"px-[var(--ds-surface-padding)]\", className)} {...props} />;\n}\n\nexport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle\n};\n","import * as React from \"react\";\n\nimport { cn } from \"./utils\";\n\nfunction Skeleton({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"skeleton\"\n className={cn(\"animate-pulse rounded-md bg-surface-muted\", className)}\n {...props}\n />\n );\n}\n\nexport { Skeleton };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\";\n\nfunction Collapsible({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.Root>) {\n return <CollapsiblePrimitive.Root data-slot=\"collapsible\" {...props} />;\n}\n\nfunction CollapsibleTrigger({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.Trigger>) {\n return (\n <CollapsiblePrimitive.Trigger\n data-slot=\"collapsible-trigger\"\n {...props}\n />\n );\n}\n\nfunction CollapsibleContent({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.Content>) {\n return (\n <CollapsiblePrimitive.Content\n data-slot=\"collapsible-content\"\n {...props}\n />\n );\n}\n\nexport { Collapsible, CollapsibleContent, CollapsibleTrigger };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport { ChevronRight } from \"lucide-react\";\n\nimport { cn } from \"./utils\";\n\nfunction DropdownMenu({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />;\n}\n\nfunction DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({ className, children, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger>) {\n return <DropdownMenuPrimitive.SubTrigger data-slot=\"dropdown-menu-sub-trigger\" className={cn(\"focus:bg-surface-muted flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-[length:var(--ds-menu-item-size)] outline-hidden\", className)} {...props}>{children}<ChevronRight className=\"ml-auto size-4 text-muted-foreground\" /></DropdownMenuPrimitive.SubTrigger>;\n}\n\nfunction DropdownMenuSubContent({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return <DropdownMenuPrimitive.Portal><DropdownMenuPrimitive.SubContent data-slot=\"dropdown-menu-sub-content\" className={cn(\"z-50 min-w-56 overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-[var(--ds-shadow-floating)]\", className)} {...props} /></DropdownMenuPrimitive.Portal>;\n}\n\nfunction DropdownMenuTrigger({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return <DropdownMenuPrimitive.Trigger data-slot=\"dropdown-menu-trigger\" {...props} />;\n}\n\nfunction DropdownMenuContent({\n className,\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n className={cn(\"z-50 min-w-40 overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-[var(--ds-shadow-floating)]\", className)}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: \"default\" | \"destructive\";\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\"focus:bg-surface-muted focus:text-foreground data-[variant=destructive]:text-danger-foreground data-[variant=destructive]:focus:bg-danger-background relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-[length:var(--ds-menu-item-size)] outline-hidden transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset=true]:pl-8\", className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return <DropdownMenuPrimitive.Label data-slot=\"dropdown-menu-label\" data-inset={inset} className={cn(\"px-2 py-1.5 text-[length:var(--ds-menu-label-size)] font-medium data-[inset=true]:pl-8\", className)} {...props} />;\n}\n\nfunction DropdownMenuSeparator({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return <DropdownMenuPrimitive.Separator data-slot=\"dropdown-menu-separator\" className={cn(\"-mx-1 my-1 h-px bg-border\", className)} {...props} />;\n}\n\nexport { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger };\n"],"mappings":"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","names":["jsx","jsx","CheckIcon","jsx","CheckIcon","jsx","jsx","Separator","jsx","jsxs","jsx","jsxs","DialogPrimitive","XIcon","jsx","jsxs","XIcon","Slot","jsx","Slot","jsx","jsx","jsx","jsx","jsxs"]}
@@ -19,7 +19,7 @@ import {
19
19
  TableHead,
20
20
  TableHeader,
21
21
  TableRow
22
- } from "./chunk-HLND6FZS.js";
22
+ } from "./chunk-JC7W5VB3.js";
23
23
  import {
24
24
  cn
25
25
  } from "./chunk-JU5DQXFC.js";
@@ -192,7 +192,7 @@ function Textarea({ className, ...props }) {
192
192
  "textarea",
193
193
  {
194
194
  "data-slot": "textarea",
195
- className: cn("min-h-28 w-full rounded-[var(--ds-field-control-radius)] border border-input bg-card px-[var(--ds-field-control-padding-x)] py-3 text-sm outline-none transition-colors placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50", className),
195
+ className: cn("min-h-28 w-full rounded-[var(--ds-field-control-radius)] border border-input bg-surface-control px-[var(--ds-field-control-padding-x)] py-3 text-sm outline-none transition-colors placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50", className),
196
196
  ...props
197
197
  }
198
198
  );
@@ -642,4 +642,4 @@ export {
642
642
  Label,
643
643
  SearchableSelect
644
644
  };
645
- //# sourceMappingURL=chunk-VVTTFVCC.js.map
645
+ //# sourceMappingURL=chunk-OFYVHEIH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/primitives/alert.tsx","../src/primitives/avatar.tsx","../src/primitives/badge.tsx","../src/primitives/switch.tsx","../src/primitives/textarea.tsx","../src/primitives/compat.tsx","../src/primitives/field.tsx","../src/primitives/form-select.tsx","../src/primitives/label.tsx","../src/primitives/searchable-select.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"./utils\";\n\nconst alertVariants = cva(\n \"relative grid w-full grid-cols-[auto_1fr] items-start gap-x-3 rounded-[var(--ds-radius-surface)] border px-4 py-3.5 text-sm [&>svg]:mt-0.5 [&>svg]:size-5\",\n {\n variants: {\n variant: {\n default: \"border-border-default bg-card text-foreground\",\n information:\n \"border-information-border bg-information-background text-information-foreground\",\n success:\n \"border-success-border bg-success-background text-success-foreground\",\n warning:\n \"border-warning-border bg-warning-background text-warning-foreground\",\n danger: \"border-danger-border bg-danger-background text-danger-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof alertVariants>) {\n return (\n <div\n data-slot=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\"font-medium leading-5\", className)}\n {...props}\n />\n );\n}\n\nfunction AlertDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\"col-start-2 mt-0.5 text-sm leading-5 opacity-80\", className)}\n {...props}\n />\n );\n}\n\nexport { Alert, AlertDescription, AlertTitle, alertVariants };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\";\n\nimport { cn } from \"./utils\";\n\nfunction Avatar({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Root>) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n className={cn(\"relative flex size-8 shrink-0 overflow-hidden rounded-full\", className)}\n {...props}\n />\n );\n}\n\nfunction AvatarImage({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn(\"aspect-square size-full\", className)}\n {...props}\n />\n );\n}\n\nfunction AvatarFallback({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\"flex size-full items-center justify-center rounded-full bg-surface-muted text-xs font-medium text-muted-foreground\", className)}\n {...props}\n />\n );\n}\n\nexport { Avatar, AvatarFallback, AvatarImage };\n","import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"./utils\";\n\nconst badgeVariants = cva(\n \"inline-flex items-center rounded-md border px-1.5 py-0.5 text-[var(--ds-metadata)] font-medium leading-4 transition-colors\",\n {\n variants: {\n variant: {\n default: \"border-primary bg-primary text-primary-foreground\",\n accent: \"border-selection-border bg-selection-background text-selection-foreground\",\n secondary: \"border-neutral-border bg-neutral-background text-neutral-foreground\",\n neutral: \"border-neutral-border bg-neutral-background text-neutral-foreground\",\n outline: \"border-border-default text-foreground\",\n information: \"border-information-border bg-information-background text-information-foreground\",\n info: \"border-information-border bg-information-background text-information-foreground\",\n success: \"border-success-border bg-success-background text-success-foreground\",\n warning: \"border-warning-border bg-warning-background text-warning-foreground\",\n danger: \"border-danger-border bg-danger-background text-danger-foreground\",\n destructive: \"border-danger-border bg-danger-background text-danger-foreground\"\n }\n },\n defaultVariants: {\n variant: \"neutral\"\n }\n },\n);\n\nfunction Badge({\n className,\n variant,\n ...props\n}: React.ComponentProps<\"span\"> & VariantProps<typeof badgeVariants>) {\n return <span data-slot=\"badge\" className={cn(badgeVariants({ variant, className }))} {...props} />;\n}\n\nexport { Badge, badgeVariants };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as SwitchPrimitive from \"@radix-ui/react-switch\";\n\nimport { cn } from \"./utils\";\n\nfunction Switch({\n className,\n size = \"default\",\n ...props\n}: React.ComponentProps<typeof SwitchPrimitive.Root> & {\n size?: \"sm\" | \"default\";\n}) {\n return (\n <SwitchPrimitive.Root\n data-slot=\"switch\"\n data-size={size}\n className={cn(\n \"peer group/switch inline-flex shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[1.15rem] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80\",\n className,\n )}\n {...props}\n >\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n className=\"pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0 dark:data-[state=checked]:bg-primary-foreground dark:data-[state=unchecked]:bg-foreground\"\n />\n </SwitchPrimitive.Root>\n );\n}\n\nexport { Switch };\n","import * as React from \"react\";\n\nimport { cn } from \"./utils\";\n\nfunction Textarea({ className, ...props }: React.ComponentProps<\"textarea\">) {\n return (\n <textarea\n data-slot=\"textarea\"\n className={cn(\"min-h-28 w-full rounded-[var(--ds-field-control-radius)] border border-input bg-surface-control px-[var(--ds-field-control-padding-x)] py-3 text-sm outline-none transition-colors placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50\", className)}\n {...props}\n />\n );\n}\n\nexport { Textarea };\n","import * as React from \"react\";\n\nimport { Button } from \"./button\";\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from \"./card\";\nimport { Checkbox } from \"./checkbox\";\nimport { Input } from \"./input\";\nimport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"./select\";\nimport { Switch } from \"./switch\";\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"./table\";\nimport { Textarea } from \"./textarea\";\nimport { cn } from \"./utils\";\n\n/**\n * Temporary Admin UI migration aliases. New product code should import the\n * clean primitive names from @conscia-labs/design-system.\n */\nconst ConsciaButton = Button;\n\nfunction ConsciaIconButton({\n size = \"icon\",\n ...props\n}: React.ComponentProps<typeof Button>) {\n return <Button size={size} {...props} />;\n}\n\nconst ConsciaCard = Card;\nconst ConsciaCardContent = CardContent;\nconst ConsciaCardDescription = CardDescription;\n\nfunction ConsciaCardHeader({\n actionRight,\n className,\n children,\n ...props\n}: React.ComponentProps<typeof CardHeader> & {\n actionRight?: React.ReactNode;\n}) {\n if (!actionRight) {\n return (\n <CardHeader className={className} {...props}>\n {children}\n </CardHeader>\n );\n }\n\n return (\n <CardHeader\n className={cn(\n \"grid grid-cols-[minmax(0,1fr)_auto] items-start gap-4\",\n className,\n )}\n {...props}\n >\n <div className=\"grid gap-2\">{children}</div>\n <div className=\"justify-self-end\">{actionRight}</div>\n </CardHeader>\n );\n}\n\nconst ConsciaCardTitle = CardTitle;\nconst ConsciaCheckbox = Checkbox;\nconst ConsciaInput = Input;\nconst ConsciaSwitch = Switch;\nconst ConsciaTextarea = Textarea;\nconst ConsciaSelect = Select;\nconst ConsciaSelectContent = SelectContent;\nconst ConsciaSelectGroup = SelectGroup;\nconst ConsciaSelectItem = SelectItem;\nconst ConsciaSelectTrigger = SelectTrigger;\nconst ConsciaSelectValue = SelectValue;\nconst ConsciaTable = Table;\nconst ConsciaTableBody = TableBody;\nconst ConsciaTableCell = TableCell;\nconst ConsciaTableHeader = TableHeader;\nconst ConsciaTableHead = TableHead;\nconst ConsciaTableRow = TableRow;\n\nexport {\n ConsciaButton,\n ConsciaCard,\n ConsciaCardContent,\n ConsciaCardDescription,\n ConsciaCardHeader,\n ConsciaCardTitle,\n ConsciaCheckbox,\n ConsciaIconButton,\n ConsciaInput,\n ConsciaSwitch,\n ConsciaTextarea,\n ConsciaSelect,\n ConsciaSelectContent,\n ConsciaSelectGroup,\n ConsciaSelectItem,\n ConsciaSelectTrigger,\n ConsciaSelectValue,\n ConsciaTable,\n ConsciaTableBody,\n ConsciaTableCell,\n ConsciaTableHeader,\n ConsciaTableHead,\n ConsciaTableRow,\n};\n","import * as React from \"react\";\n\nimport { cn } from \"./utils\";\n\nfunction Field({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field\"\n className={cn(\"grid gap-[var(--ds-field-label-gap)]\", className)}\n {...props}\n />\n );\n}\n\nfunction FieldGroup({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field-group\"\n className={cn(\"grid gap-[var(--ds-field-gap)]\", className)}\n {...props}\n />\n );\n}\n\nfunction FieldLabel({\n className,\n ...props\n}: React.ComponentProps<\"label\">) {\n return (\n <label\n data-slot=\"field-label\"\n className={cn(\"text-[length:var(--ds-field-label-size)] font-medium leading-[var(--ds-field-label-line-height)] text-foreground\", className)}\n {...props}\n />\n );\n}\n\nfunction FieldDescription({\n className,\n ...props\n}: React.ComponentProps<\"p\">) {\n return (\n <p\n data-slot=\"field-description\"\n className={cn(\"mt-[var(--ds-field-message-gap)] text-[var(--ds-metadata)] text-muted-foreground\", className)}\n {...props}\n />\n );\n}\n\nfunction FieldError({\n className,\n ...props\n}: React.ComponentProps<\"p\">) {\n return (\n <p\n data-slot=\"field-error\"\n className={cn(\"mt-[var(--ds-field-message-gap)] text-[var(--ds-metadata)] font-medium text-danger-foreground\", className)}\n {...props}\n />\n );\n}\n\nexport { Field, FieldDescription, FieldError, FieldGroup, FieldLabel };\n","\"use client\";\n\nimport * as React from \"react\";\n\nimport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"./select\";\nimport { cn } from \"./utils\";\n\ntype FormSelectOption = {\n value: string;\n label: React.ReactNode;\n disabled?: boolean;\n};\n\ntype FormSelectProps = {\n id?: string;\n name?: string;\n value?: string;\n defaultValue?: string;\n required?: boolean;\n disabled?: boolean;\n placeholder?: string;\n options: FormSelectOption[];\n className?: string;\n triggerClassName?: string;\n contentClassName?: string;\n onValueChange?: (value: string) => void;\n onClick?: React.MouseEventHandler<HTMLDivElement>;\n \"aria-label\"?: string;\n};\n\nconst emptyValue = \"__conscia_empty_select_value__\";\n\nfunction toSelectValue(value: string | undefined) {\n if (value === undefined) {\n return undefined;\n }\n\n return value === \"\" ? emptyValue : value;\n}\n\nfunction fromSelectValue(value: string) {\n return value === emptyValue ? \"\" : value;\n}\n\nfunction FormSelect({\n name,\n id,\n value,\n defaultValue,\n required,\n disabled,\n placeholder,\n options,\n className,\n triggerClassName,\n contentClassName,\n onValueChange,\n onClick,\n \"aria-label\": ariaLabel,\n}: FormSelectProps) {\n const [internalValue, setInternalValue] = React.useState(defaultValue ?? \"\");\n const currentValue = value ?? internalValue;\n\n function handleValueChange(nextValue: string) {\n const actualValue = fromSelectValue(nextValue);\n\n if (value === undefined) {\n setInternalValue(actualValue);\n }\n\n onValueChange?.(actualValue);\n }\n\n return (\n <div className={cn(\"min-w-0\", className)} onClick={onClick}>\n <Select\n name={name}\n value={toSelectValue(currentValue)}\n required={required}\n disabled={disabled}\n onValueChange={handleValueChange}\n >\n <SelectTrigger id={id} aria-label={ariaLabel} className={triggerClassName}>\n <SelectValue placeholder={placeholder} />\n </SelectTrigger>\n <SelectContent className={contentClassName}>\n <SelectGroup>\n {options.map((option) => (\n <SelectItem\n key={option.value}\n value={toSelectValue(option.value) ?? emptyValue}\n disabled={option.disabled}\n >\n {option.label}\n </SelectItem>\n ))}\n </SelectGroup>\n </SelectContent>\n </Select>\n </div>\n );\n}\n\nconst ConsciaFormSelect = FormSelect;\n\nexport { ConsciaFormSelect, FormSelect };\nexport type { FormSelectOption, FormSelectProps };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\n\nimport { cn } from \"./utils\";\n\nfunction Label({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n \"flex items-center gap-2 text-[length:var(--ds-field-label-size)] font-medium leading-[var(--ds-field-label-line-height)] text-foreground select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Label };\n","\"use client\";\n\nimport * as React from \"react\";\nimport { Check, ChevronsUpDown, Search, X } from \"lucide-react\";\n\nimport { Button } from \"./button\";\nimport { Input } from \"./input\";\nimport { cn } from \"./utils\";\n\ntype SearchableSelectOption = {\n value: string;\n label: string;\n description?: string;\n keywords?: string[];\n disabled?: boolean;\n};\n\ntype SearchableSelectProps = {\n id?: string;\n name?: string;\n value?: string;\n options: SearchableSelectOption[];\n onValueChange: (value: string) => void;\n placeholder?: string;\n searchPlaceholder?: string;\n emptyMessage?: string;\n disabled?: boolean;\n clearable?: boolean;\n clearLabel?: string;\n optionsLabel?: string;\n className?: string;\n \"aria-label\"?: string;\n};\n\nfunction SearchableSelect({\n id,\n name,\n value = \"\",\n options,\n onValueChange,\n placeholder = \"Select an option\",\n searchPlaceholder = \"Search...\",\n emptyMessage = \"No matching options.\",\n disabled = false,\n clearable = false,\n clearLabel = \"Clear selection\",\n optionsLabel,\n className,\n \"aria-label\": ariaLabel,\n}: SearchableSelectProps) {\n const generatedId = React.useId();\n const listboxId = `${id ?? generatedId}-listbox`;\n const rootRef = React.useRef<HTMLDivElement>(null);\n const activeOptionRef = React.useRef<HTMLButtonElement>(null);\n const [open, setOpen] = React.useState(false);\n const [search, setSearch] = React.useState(\"\");\n const [activeIndex, setActiveIndex] = React.useState(0);\n const selected = options.find((option) => option.value === value);\n const normalizedSearch = search.trim().toLowerCase();\n const filteredOptions = normalizedSearch\n ? options.filter((option) =>\n [option.label, option.description, ...(option.keywords ?? [])]\n .filter(Boolean)\n .join(\" \")\n .toLowerCase()\n .includes(normalizedSearch),\n )\n : options;\n const enabledIndexes = filteredOptions.reduce<number[]>((indexes, option, index) => {\n if (!option.disabled) {\n indexes.push(index);\n }\n\n return indexes;\n }, []);\n const resolvedActiveIndex = enabledIndexes.includes(activeIndex)\n ? activeIndex\n : (enabledIndexes[0] ?? -1);\n\n React.useEffect(() => {\n if (!open) {\n return;\n }\n\n function closeWhenOutside(event: PointerEvent) {\n if (!rootRef.current?.contains(event.target as Node)) {\n setOpen(false);\n setSearch(\"\");\n }\n }\n document.addEventListener(\"pointerdown\", closeWhenOutside);\n return () => document.removeEventListener(\"pointerdown\", closeWhenOutside);\n }, [open]);\n\n React.useEffect(() => {\n if (open) {\n activeOptionRef.current?.scrollIntoView({ block: \"nearest\" });\n }\n }, [open, resolvedActiveIndex]);\n\n function select(option: SearchableSelectOption) {\n if (option.disabled) {\n return;\n }\n\n onValueChange(option.value);\n setSearch(\"\");\n setOpen(false);\n }\n\n function onKeyDown(event: React.KeyboardEvent<HTMLInputElement>) {\n if (event.key === \"ArrowDown\") {\n event.preventDefault();\n setOpen(true);\n setActiveIndex((current) => {\n const position = enabledIndexes.indexOf(current);\n return enabledIndexes[Math.min(enabledIndexes.length - 1, position + 1)] ?? -1;\n });\n } else if (event.key === \"ArrowUp\") {\n event.preventDefault();\n setOpen(true);\n setActiveIndex((current) => {\n const position = enabledIndexes.indexOf(current);\n return enabledIndexes[Math.max(0, position === -1 ? 0 : position - 1)] ?? -1;\n });\n } else if (event.key === \"Home\") {\n event.preventDefault();\n setOpen(true);\n setActiveIndex(enabledIndexes[0] ?? -1);\n } else if (event.key === \"End\") {\n event.preventDefault();\n setOpen(true);\n setActiveIndex(enabledIndexes.at(-1) ?? -1);\n } else if (event.key === \"Enter\" && open && filteredOptions[resolvedActiveIndex]) {\n event.preventDefault();\n select(filteredOptions[resolvedActiveIndex]);\n } else if (event.key === \"Escape\") {\n setOpen(false);\n setSearch(\"\");\n } else if (event.key === \"Tab\") {\n setOpen(false);\n setSearch(\"\");\n }\n }\n\n return (\n <div ref={rootRef} data-slot=\"searchable-select\" className={cn(\"relative min-w-0\", className)}>\n {name ? <input type=\"hidden\" name={name} value={value} /> : null}\n <div className=\"relative\">\n <Search className=\"pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground\" aria-hidden=\"true\" />\n <Input\n id={id}\n role=\"combobox\"\n aria-label={ariaLabel}\n aria-autocomplete=\"list\"\n aria-expanded={open}\n aria-controls={open ? listboxId : undefined}\n aria-activedescendant={open && filteredOptions[resolvedActiveIndex] ? `${listboxId}-${resolvedActiveIndex}` : undefined}\n autoComplete=\"off\"\n className=\"px-9\"\n disabled={disabled}\n placeholder={open ? searchPlaceholder : placeholder}\n value={open ? search : selected?.label ?? \"\"}\n onFocus={(event) => {\n setOpen(true);\n setSearch(\"\");\n event.currentTarget.select();\n }}\n onClick={() => {\n if (!open) {\n setOpen(true);\n setSearch(\"\");\n }\n }}\n onChange={(event) => {\n setSearch(event.target.value);\n setOpen(true);\n setActiveIndex(0);\n }}\n onKeyDown={onKeyDown}\n />\n {clearable && value ? (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon\"\n disabled={disabled}\n className=\"absolute right-8 top-1/2 -translate-y-1/2\"\n aria-label={clearLabel}\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => {\n onValueChange(\"\");\n setSearch(\"\");\n }}\n >\n <X />\n </Button>\n ) : null}\n <ChevronsUpDown className=\"pointer-events-none absolute right-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground\" aria-hidden=\"true\" />\n </div>\n\n {open ? (\n <div\n id={listboxId}\n role=\"listbox\"\n aria-label={optionsLabel ?? (ariaLabel ? `${ariaLabel} options` : \"Options\")}\n className=\"absolute z-50 mt-1 max-h-72 w-full overflow-y-auto rounded-md border border-border-subtle bg-popover p-1 text-popover-foreground shadow-md\"\n >\n {filteredOptions.length ? filteredOptions.map((option, index) => (\n <button\n key={option.value}\n id={`${listboxId}-${index}`}\n type=\"button\"\n role=\"option\"\n aria-selected={option.value === value}\n aria-disabled={option.disabled || undefined}\n disabled={option.disabled}\n tabIndex={-1}\n ref={index === resolvedActiveIndex ? activeOptionRef : undefined}\n data-active={index === resolvedActiveIndex}\n className=\"flex w-full items-center gap-3 rounded-sm px-3 py-2 text-left text-[length:var(--ds-menu-item-size)] outline-none hover:bg-surface-muted focus-visible:bg-surface-muted data-[active=true]:bg-surface-muted disabled:pointer-events-none disabled:opacity-50\"\n onMouseDown={(event) => event.preventDefault()}\n onMouseEnter={() => setActiveIndex(index)}\n onClick={() => select(option)}\n >\n <span className=\"grid min-w-0 flex-1 gap-0.5\">\n <span className=\"truncate font-medium\">{option.label}</span>\n {option.description ? <span className=\"truncate text-[length:var(--ds-menu-label-size)] text-muted-foreground\">{option.description}</span> : null}\n </span>\n {option.value === value ? <Check className=\"size-4 shrink-0 text-success-foreground\" aria-hidden=\"true\" /> : null}\n </button>\n )) : <p className=\"px-3 py-6 text-center text-[length:var(--ds-menu-item-size)] text-muted-foreground\">{emptyMessage}</p>}\n </div>\n ) : null}\n </div>\n );\n}\n\nexport { SearchableSelect };\nexport type { SearchableSelectOption, SearchableSelectProps };\n"],"mappings":"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","names":["jsx","cva","jsx","cva","jsx","jsx","jsx","jsx","jsx","jsxs","jsx","React","jsx","jsxs"]}
@@ -52,7 +52,7 @@ import {
52
52
  TooltipContent,
53
53
  TooltipProvider,
54
54
  TooltipTrigger
55
- } from "./chunk-HLND6FZS.js";
55
+ } from "./chunk-JC7W5VB3.js";
56
56
  import {
57
57
  cn
58
58
  } from "./chunk-JU5DQXFC.js";
@@ -1879,4 +1879,4 @@ export {
1879
1879
  ErrorState,
1880
1880
  ValueMeter
1881
1881
  };
1882
- //# sourceMappingURL=chunk-TXCHAKNG.js.map
1882
+ //# sourceMappingURL=chunk-RFSIC55H.js.map
@@ -81,6 +81,8 @@
81
81
  --surface-raised: #ffffff;
82
82
  --surface-floating: #ffffff;
83
83
  --surface-overlay: #ffffff;
84
+ --surface-control: var(--surface-muted);
85
+ --surface-control-hover: var(--surface-raised);
84
86
  --text-primary: var(--foreground);
85
87
  --text-secondary: #373b4a;
86
88
  --text-supporting: #5f6270;
@@ -253,6 +255,8 @@
253
255
  --surface-raised: #1d1f24;
254
256
  --surface-floating: #22242a;
255
257
  --surface-overlay: #282a31;
258
+ --surface-control: var(--surface-raised);
259
+ --surface-control-hover: var(--surface-muted);
256
260
  --text-primary: var(--foreground);
257
261
  --text-secondary: #e7e8eb;
258
262
  --text-supporting: #c5c7cf;
@@ -400,6 +404,8 @@
400
404
  --color-surface-raised: var(--surface-raised);
401
405
  --color-surface-floating: var(--surface-floating);
402
406
  --color-surface-overlay: var(--surface-overlay);
407
+ --color-surface-control: var(--surface-control);
408
+ --color-surface-control-hover: var(--surface-control-hover);
403
409
  --color-text-primary: var(--text-primary);
404
410
  --color-text-secondary: var(--text-secondary);
405
411
  --color-text-supporting: var(--text-supporting);
package/dist/index.js CHANGED
@@ -52,7 +52,7 @@ import {
52
52
  ValueMeter,
53
53
  useAppShell,
54
54
  useConsciaPreferences
55
- } from "./chunk-TXCHAKNG.js";
55
+ } from "./chunk-RFSIC55H.js";
56
56
  import {
57
57
  appearanceOptions,
58
58
  applyConsciaPreferences,
@@ -102,7 +102,7 @@ import {
102
102
  Textarea,
103
103
  alertVariants,
104
104
  badgeVariants
105
- } from "./chunk-VVTTFVCC.js";
105
+ } from "./chunk-OFYVHEIH.js";
106
106
  import {
107
107
  Button,
108
108
  Card,
@@ -177,7 +177,7 @@ import {
177
177
  TooltipProvider,
178
178
  TooltipTrigger,
179
179
  buttonVariants
180
- } from "./chunk-HLND6FZS.js";
180
+ } from "./chunk-JC7W5VB3.js";
181
181
  import {
182
182
  cn
183
183
  } from "./chunk-JU5DQXFC.js";
@@ -51,9 +51,9 @@ import {
51
51
  ValueMeter,
52
52
  useAppShell,
53
53
  useConsciaPreferences
54
- } from "../chunk-TXCHAKNG.js";
54
+ } from "../chunk-RFSIC55H.js";
55
55
  import "../chunk-D5LYROOM.js";
56
- import "../chunk-HLND6FZS.js";
56
+ import "../chunk-JC7W5VB3.js";
57
57
  import "../chunk-JU5DQXFC.js";
58
58
  export {
59
59
  ActivityItem,
@@ -43,7 +43,7 @@ import {
43
43
  Textarea,
44
44
  alertVariants,
45
45
  badgeVariants
46
- } from "../chunk-VVTTFVCC.js";
46
+ } from "../chunk-OFYVHEIH.js";
47
47
  import {
48
48
  Button,
49
49
  Card,
@@ -118,7 +118,7 @@ import {
118
118
  TooltipProvider,
119
119
  TooltipTrigger,
120
120
  buttonVariants
121
- } from "../chunk-HLND6FZS.js";
121
+ } from "../chunk-JC7W5VB3.js";
122
122
  import {
123
123
  cn
124
124
  } from "../chunk-JU5DQXFC.js";
@@ -1,2 +1,2 @@
1
1
  /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
2
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scroll-snap-strictness:proximity;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking: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-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-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:var(--font-sans);--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-3xl:48rem;--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);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-normal:0em;--leading-tight:1.25;--leading-snug:1.375;--radius-xs:.125rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-sidebar-active:var(--sidebar-active)}}@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;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)}}html{min-height:100%}body{background:var(--background);min-height:100vh;color:var(--foreground);font-family:var(--font-sans);font-size:var(--ds-body);text-rendering:optimizelegibility;font-weight:380;line-height:1.5}h1,h2,h3,h4{color:var(--foreground);letter-spacing:0;font-weight:570}button,input,select,textarea{font:inherit}::selection{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){::selection{background:color-mix(in oklab, var(--primary) 22%, transparent)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@layer components{[data-slot=tabs-list][data-scroll-position=start],[data-slot=navigation-tabs-list][data-scroll-position=start]{-webkit-mask-image:linear-gradient(90deg,#000 0 calc(100% - 1.5rem),#0000 100%);mask-image:linear-gradient(90deg,#000 0 calc(100% - 1.5rem),#0000 100%)}[data-slot=tabs-list][data-scroll-position=middle],[data-slot=navigation-tabs-list][data-scroll-position=middle]{-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 1.5rem calc(100% - 1.5rem),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 1.5rem calc(100% - 1.5rem),#0000 100%)}[data-slot=tabs-list][data-scroll-position=end],[data-slot=navigation-tabs-list][data-scroll-position=end]{-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 1.5rem 100%);mask-image:linear-gradient(90deg,#0000 0,#000 1.5rem 100%)}}@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing) * 4)}.right-0{right:0}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.right-8{right:calc(var(--spacing) * 8)}.bottom-0{bottom:0}.left-0{left:0}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing) * 3)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.col-start-2{grid-column-start:2}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:0}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-auto{margin-inline:auto}.my-1{margin-block:var(--spacing)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-\[var\(--ds-field-message-gap\)\]{margin-top:var(--ds-field-message-gap)}.mt-auto{margin-top:auto}.-ml-2{margin-left:calc(var(--spacing) * -2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.table-cell{display:table-cell}.table-row{display:table-row}.aspect-square{aspect-ratio:1}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-\[var\(--ds-control-height\)\]{width:var(--ds-control-height);height:var(--ds-control-height)}.size-full{width:100%;height:100%}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-\[var\(--ds-control-height\)\]{height:var(--ds-control-height)}.h-\[var\(--ds-control-height-lg\)\]{height:var(--ds-control-height-lg)}.h-\[var\(--ds-control-height-sm\)\]{height:var(--ds-control-height-sm)}.h-\[var\(--ds-field-control-height\)\]{height:var(--ds-field-control-height)}.h-\[var\(--ds-row-height\)\]{height:var(--ds-row-height)}.h-\[var\(--ds-tab-rail-height\)\]{height:var(--ds-tab-rail-height)}.h-\[var\(--ds-tab-rail-height-compact\)\]{height:var(--ds-tab-rail-height-compact)}.h-\[var\(--ds-table-header-height\)\]{height:var(--ds-table-header-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-fit{height:fit-content}.h-full{height:100%}.h-px{height:1px}.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-\[32rem\]{max-height:32rem}.max-h-\[min\(42rem\,calc\(100vh-2rem\)\)\]{max-height:min(42rem,100vh - 2rem)}.min-h-0{min-height:0}.min-h-6{min-height:calc(var(--spacing) * 6)}.min-h-9{min-height:calc(var(--spacing) * 9)}.min-h-28{min-height:calc(var(--spacing) * 28)}.min-h-72{min-height:calc(var(--spacing) * 72)}.min-h-\[var\(--ds-control-height\)\]{min-height:var(--ds-control-height)}.min-h-\[var\(--ds-sidebar-item-height-touch\)\]{min-height:var(--ds-sidebar-item-height-touch)}.min-h-\[var\(--ds-topbar-height\)\]{min-height:var(--ds-topbar-height)}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-24{width:calc(var(--spacing) * 24)}.w-36{width:calc(var(--spacing) * 36)}.w-44{width:calc(var(--spacing) * 44)}.w-\[4\.5rem\]{width:4.5rem}.w-\[var\(--ds-app-sidebar-width\)\]{width:var(--ds-app-sidebar-width)}.w-\[var\(--ds-sidebar-width-mobile\)\]{width:var(--ds-sidebar-width-mobile)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[48rem\]{max-width:48rem}.max-w-\[64rem\]{max-width:64rem}.max-w-\[86rem\]{max-width:86rem}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:0}.min-w-40{min-width:calc(var(--spacing) * 40)}.min-w-56{min-width:calc(var(--spacing) * 56)}.min-w-72{min-width:calc(var(--spacing) * 72)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-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-\[calc\(-50\%_-_2px\)\]{--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.animate-pulse{animation:var(--animate-pulse)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-start{scroll-snap-align:start}.scroll-my-1{scroll-margin-block:var(--spacing)}.scroll-px-2{scroll-padding-inline:calc(var(--spacing) * 2)}.\[scrollbar-width\:none\]{scrollbar-width:none}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[1rem_minmax\(0\,1fr\)\]{grid-template-columns:1rem minmax(0,1fr)}.grid-cols-\[2\.5rem_minmax\(0\,1fr\)\]{grid-template-columns:2.5rem minmax(0,1fr)}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.grid-cols-\[auto_minmax\(0\,1fr\)_auto\]{grid-template-columns:auto minmax(0,1fr) auto}.grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.grid-rows-\[auto_minmax\(0\,1fr\)_auto\]{grid-template-rows:auto minmax(0,1fr) auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.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}.gap-0{gap:0}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-\[var\(--ds-field-gap\)\]{gap:var(--ds-field-gap)}.gap-\[var\(--ds-field-label-gap\)\]{gap:var(--ds-field-label-gap)}.gap-\[var\(--ds-sidebar-group-gap\)\]{gap:var(--ds-sidebar-group-gap)}.gap-\[var\(--ds-space-control\)\]{gap:var(--ds-space-control)}.gap-\[var\(--ds-space-field\)\]{gap:var(--ds-space-field)}.gap-\[var\(--ds-space-group\)\]{gap:var(--ds-space-group)}.gap-\[var\(--ds-space-section\)\]{gap:var(--ds-space-section)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}: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)))}:where(.divide-border-subtle>:not(:last-child)){border-color:var(--border-subtle)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-x-contain{overscroll-behavior-x:contain}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[4px\]{border-radius:4px}.rounded-\[calc\(var\(--ds-radius-control\)-2px\)\]{border-radius:calc(var(--ds-radius-control) - 2px)}.rounded-\[var\(--ds-field-control-radius\)\]{border-radius:var(--ds-field-control-radius)}.rounded-\[var\(--ds-radius-control\)\]{border-radius:var(--ds-radius-control)}.rounded-\[var\(--ds-radius-surface\)\]{border-radius:var(--ds-radius-surface)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-t-\[var\(--ds-radius-control\)\]{border-top-left-radius:var(--ds-radius-control);border-top-right-radius:var(--ds-radius-control)}.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-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-border-default{border-color:var(--border-default)}.border-border-subtle{border-color:var(--border-subtle)}.border-brand-secondary-border{border-color:var(--brand-secondary-border)}.border-card{border-color:var(--card)}.border-danger-border{border-color:var(--danger-border)}.border-information-border{border-color:var(--information-border)}.border-input{border-color:var(--input)}.border-neutral-border{border-color:var(--neutral-border)}.border-primary{border-color:var(--primary)}.border-selection-border{border-color:var(--selection-border)}.border-sidebar-border{border-color:var(--sidebar-border)}.border-success-border{border-color:var(--success-border)}.border-transparent{border-color:#0000}.border-warning-border{border-color:var(--warning-border)}.bg-background,.bg-background\/96{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/96{background-color:color-mix(in oklab, var(--background) 96%, transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-border{background-color:var(--border)}.bg-border-subtle{background-color:var(--border-subtle)}.bg-brand{background-color:var(--brand)}.bg-brand-secondary-background{background-color:var(--brand-secondary-background)}.bg-canvas{background-color:var(--canvas)}.bg-card{background-color:var(--card)}.bg-danger{background-color:var(--danger)}.bg-danger-background,.bg-danger-background\/60{background-color:var(--danger-background)}@supports (color:color-mix(in lab, red, red)){.bg-danger-background\/60{background-color:color-mix(in oklab, var(--danger-background) 60%, transparent)}}.bg-danger-foreground{background-color:var(--danger-foreground)}.bg-foreground{background-color:var(--foreground)}.bg-information-background{background-color:var(--information-background)}.bg-muted{background-color:var(--muted)}.bg-neutral-background{background-color:var(--neutral-background)}.bg-neutral-foreground{background-color:var(--neutral-foreground)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-selection-background{background-color:var(--selection-background)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-accent{background-color:var(--sidebar-accent)}.bg-sidebar-active{background-color:var(--sidebar-active)}.bg-sidebar-border{background-color:var(--sidebar-border)}.bg-sidebar-canvas{background-color:var(--sidebar-canvas)}.bg-sidebar-content{background-color:var(--sidebar-content)}.bg-sidebar-footer{background-color:var(--sidebar-footer)}.bg-sidebar-header{background-color:var(--sidebar-header)}.bg-sidebar-hover{background-color:var(--sidebar-hover)}.bg-sidebar-search{background-color:var(--sidebar-search)}.bg-success-background{background-color:var(--success-background)}.bg-success-foreground{background-color:var(--success-foreground)}.bg-surface{background-color:var(--surface)}.bg-surface-floating{background-color:var(--surface-floating)}.bg-surface-muted{background-color:var(--surface-muted)}.bg-surface-overlay{background-color:var(--surface-overlay)}.bg-surface-raised{background-color:var(--surface-raised)}.bg-transparent{background-color:#0000}.bg-warning-background{background-color:var(--warning-background)}.bg-warning-foreground{background-color:var(--warning-foreground)}.fill-foreground{fill:var(--foreground)}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-\[var\(--ds-sidebar-footer-padding\)\]{padding:var(--ds-sidebar-footer-padding)}.p-\[var\(--ds-space-section\)\]{padding:var(--ds-space-section)}.p-\[var\(--ds-surface-padding\)\]{padding:var(--ds-surface-padding)}.px-0{padding-inline:0}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-9{padding-inline:calc(var(--spacing) * 9)}.px-\[var\(--ds-field-control-padding-x\)\]{padding-inline:var(--ds-field-control-padding-x)}.px-\[var\(--ds-sidebar-content-padding-x\)\]{padding-inline:var(--ds-sidebar-content-padding-x)}.px-\[var\(--ds-surface-padding\)\]{padding-inline:var(--ds-surface-padding)}.px-\[var\(--ds-tab-padding-x\)\]{padding-inline:var(--ds-tab-padding-x)}.py-0{padding-block:0}.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-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-\[var\(--ds-sidebar-content-padding-y\)\]{padding-block:var(--ds-sidebar-content-padding-y)}.py-\[var\(--ds-space-section\)\]{padding-block:var(--ds-space-section)}.py-\[var\(--ds-surface-padding\)\]{padding-block:var(--ds-surface-padding)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-1{padding-right:var(--spacing)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-1{padding-bottom:var(--spacing)}.pb-\[var\(--ds-space-section\)\]{padding-bottom:var(--ds-space-section)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[length\:var\(--ds-field-label-size\)\]{font-size:var(--ds-field-label-size)}.text-\[length\:var\(--ds-menu-item-size\)\]{font-size:var(--ds-menu-item-size)}.text-\[length\:var\(--ds-menu-label-size\)\]{font-size:var(--ds-menu-label-size)}.text-\[length\:var\(--ds-metadata\)\]{font-size:var(--ds-metadata)}.text-\[length\:var\(--ds-page-title\)\]{font-size:var(--ds-page-title)}.text-\[length\:var\(--ds-sidebar-group-label-size\)\]{font-size:var(--ds-sidebar-group-label-size)}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-\[var\(--ds-field-label-line-height\)\]{--tw-leading:var(--ds-field-label-line-height);line-height:var(--ds-field-label-line-height)}.leading-none{--tw-leading:1;line-height:1}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-balance{text-wrap:balance}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.text-\[var\(--ds-metadata\)\]{color:var(--ds-metadata)}.text-\[var\(--ds-page-title\)\]{color:var(--ds-page-title)}.text-\[var\(--ds-section-title\)\]{color:var(--ds-section-title)}.text-background{color:var(--background)}.text-brand-foreground{color:var(--brand-foreground)}.text-brand-secondary{color:var(--brand-secondary)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-danger-foreground{color:var(--danger-foreground)}.text-foreground{color:var(--foreground)}.text-information-foreground{color:var(--information-foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-neutral-foreground{color:var(--neutral-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-selection-foreground{color:var(--selection-foreground)}.text-sidebar-active-foreground{color:var(--sidebar-active-foreground)}.text-sidebar-foreground{color:var(--sidebar-foreground)}.text-sidebar-group-count{color:var(--sidebar-group-count)}.text-sidebar-group-label{color:var(--sidebar-group-label)}.text-sidebar-icon{color:var(--sidebar-icon)}.text-sidebar-metadata-text{color:var(--sidebar-metadata-text)}.text-sidebar-primary-text{color:var(--sidebar-primary-text)}.text-sidebar-secondary-text{color:var(--sidebar-secondary-text)}.text-success-foreground{color:var(--success-foreground)}.text-text-link{color:var(--text-link)}.text-text-muted{color:var(--text-muted)}.text-text-primary{color:var(--text-primary)}.text-text-secondary{color:var(--text-secondary)}.text-text-supporting{color:var(--text-supporting)}.text-warning-foreground{color:var(--warning-foreground)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow-\[inset_2px_0_0_var\(--selection-indicator\)\]{--tw-shadow:inset 2px 0 0 var(--tw-shadow-color,var(--selection-indicator));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[inset_3px_0_0_var\(--sidebar-active-indicator\)\]{--tw-shadow:inset 3px 0 0 var(--tw-shadow-color,var(--sidebar-active-indicator));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[var\(--ds-shadow-floating\)\]{--tw-shadow:var(--ds-shadow-floating);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[var\(--ds-shadow-raised\)\]{--tw-shadow:var(--ds-shadow-raised);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.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}.backdrop-blur{--tw-backdrop-blur:blur(8px);-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,)}.transition-\[background-color\,color\,box-shadow\]{transition-property:background-color,color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[padding\]{transition-property:padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[--ds-app-sidebar-width-mobile\:var\(--ds-sidebar-width-mobile\)\]{--ds-app-sidebar-width-mobile:var(--ds-sidebar-width-mobile)}.\[--ds-app-sidebar-width\:var\(--ds-sidebar-width\)\]{--ds-app-sidebar-width:var(--ds-sidebar-width)}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.group-data-\[sidebar-state\=collapsed\]\/shell\:hidden:is(:where(.group\/shell)[data-sidebar-state=collapsed] *){display:none}.group-data-\[sidebar-state\=collapsed\]\/shell\:w-\[var\(--ds-app-sidebar-width\)\]:is(:where(.group\/shell)[data-sidebar-state=collapsed] *){width:var(--ds-app-sidebar-width)}.group-data-\[sidebar-state\=collapsed\]\/shell\:justify-center:is(:where(.group\/shell)[data-sidebar-state=collapsed] *){justify-content:center}.group-data-\[sidebar-state\=collapsed\]\/shell\:px-0:is(:where(.group\/shell)[data-sidebar-state=collapsed] *){padding-inline:0}.group-data-\[size\=default\]\/switch\:size-4:is(:where(.group\/switch)[data-size=default] *){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.group-data-\[size\=sm\]\/switch\:size-3:is(:where(.group\/switch)[data-size=sm] *){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.group-data-\[state\=open\]\/collapsible\:rotate-90:is(:where(.group\/collapsible)[data-state=open] *){rotate:90deg}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-x-0:after{content:var(--tw-content);inset-inline:0}.after\:bottom-0:after{content:var(--tw-content);bottom:0}.after\:h-0\.5:after{content:var(--tw-content);height:calc(var(--spacing) * .5)}.after\:bg-transparent:after{content:var(--tw-content);background-color:#0000}.after\:transition-colors:after{content:var(--tw-content);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))}.last\:border-r-0:last-child{border-right-style:var(--tw-border-style);border-right-width:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:bg-accent-hover:hover{background-color:var(--accent-hover)}.hover\:bg-danger\/90:hover{background-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-danger\/90:hover{background-color:color-mix(in oklab, var(--danger) 90%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:bg-sidebar-active:hover{background-color:var(--sidebar-active)}.hover\:bg-sidebar-hover:hover{background-color:var(--sidebar-hover)}.hover\:bg-surface-muted:hover,.hover\:bg-surface-muted\/70:hover{background-color:var(--surface-muted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-surface-muted\/70:hover{background-color:color-mix(in oklab, var(--surface-muted) 70%, transparent)}}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-sidebar-active-foreground:hover{color:var(--sidebar-active-foreground)}.hover\:text-sidebar-primary-text:hover{color:var(--sidebar-primary-text)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:bg-selection-background:focus{background-color:var(--selection-background)}.focus\:bg-surface-muted:focus{background-color:var(--surface-muted)}.focus\:text-foreground:focus{color:var(--foreground)}.focus\:text-selection-foreground:focus{color:var(--selection-foreground)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:ring-offset-background:focus{--tw-ring-offset-color:var(--background)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:z-10:focus-visible{z-index:10}.focus-visible\:border-0:focus-visible{border-style:var(--tw-border-style);border-width:0}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:bg-surface-muted:focus-visible{background-color:var(--surface-muted)}.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-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-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-danger\/20:focus-visible{--tw-ring-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-danger\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--danger) 20%, transparent)}}.focus-visible\:ring-ring:focus-visible,.focus-visible\:ring-ring\/45:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/45:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 45%, 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)}}.focus-visible\:ring-ring\/60:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/60:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 60%, transparent)}}.focus-visible\:ring-sidebar-focus-ring:focus-visible{--tw-ring-color:var(--sidebar-focus-ring)}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset:inset}.active\:bg-accent-active:active{background-color:var(--accent-active)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-\[\>svg\]\:px-2:has(>svg){padding-inline:calc(var(--spacing) * 2)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-3\.5:has(>svg){padding-inline:calc(var(--spacing) * 3.5)}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:cursor-not-allowed[aria-disabled=true]{cursor:not-allowed}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-invalid\:border-danger[aria-invalid=true]{border-color:var(--danger)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-danger\/20[aria-invalid=true]{--tw-ring-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-danger\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--danger) 20%, transparent)}}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.aria-pressed\:bg-background[aria-pressed=true]{background-color:var(--background)}.aria-pressed\:text-foreground[aria-pressed=true]{color:var(--foreground)}.aria-pressed\:shadow-xs[aria-pressed=true]{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[active\=false\]\:text-muted-foreground[data-active=false]{color:var(--muted-foreground)}@media (hover:hover){.data-\[active\=false\]\:hover\:text-foreground[data-active=false]:hover{color:var(--foreground)}}.data-\[active\=true\]\:bg-selection-background[data-active=true]{background-color:var(--selection-background)}.data-\[active\=true\]\:bg-surface-muted[data-active=true]{background-color:var(--surface-muted)}.data-\[active\=true\]\:font-semibold[data-active=true]{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.data-\[active\=true\]\:text-selection-foreground[data-active=true]{color:var(--selection-foreground)}.data-\[active\=true\]\:after\:bg-selection-indicator[data-active=true]:after{content:var(--tw-content);background-color:var(--selection-indicator)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[inset\=true\]\:pl-8[data-inset=true]{padding-left:calc(var(--spacing) * 8)}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.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\=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\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.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-\[sidebar-state\=collapsed\]\:\[--ds-app-sidebar-width\:3\.5rem\][data-sidebar-state=collapsed]{--ds-app-sidebar-width:3.5rem}.data-\[size\=default\]\:h-\[1\.15rem\][data-size=default]{height:1.15rem}.data-\[size\=default\]\:h-\[var\(--ds-field-control-height\)\][data-size=default]{height:var(--ds-field-control-height)}.data-\[size\=default\]\:w-8[data-size=default]{width:calc(var(--spacing) * 8)}.data-\[size\=sm\]\:h-3\.5[data-size=sm]{height:calc(var(--spacing) * 3.5)}.data-\[size\=sm\]\:h-\[var\(--ds-control-height-sm\)\][data-size=sm]{height:var(--ds-control-height-sm)}.data-\[size\=sm\]\:w-6[data-size=sm]{width:calc(var(--spacing) * 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-2>*)[data-slot=select-value]{gap:calc(var(--spacing) * 2)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:bg-selection-background[data-state=active]{background-color:var(--selection-background)}.data-\[state\=active\]\:font-semibold[data-state=active]{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.data-\[state\=active\]\:text-selection-foreground[data-state=active]{color:var(--selection-foreground)}.data-\[state\=active\]\:shadow-xs[data-state=active]{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[state\=active\]\:after\:bg-selection-indicator[data-state=active]:after{content:var(--tw-content);background-color:var(--selection-indicator)}.data-\[state\=checked\]\:translate-x-\[calc\(100\%-2px\)\][data-state=checked]{--tw-translate-x:calc(100% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:border-primary[data-state=checked]{border-color:var(--primary)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=selected\]\:bg-accent-background[data-state=selected]{background-color:var(--accent-background)}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--input)}.data-\[variant\=destructive\]\:text-danger-foreground[data-variant=destructive]{color:var(--danger-foreground)}.data-\[variant\=destructive\]\:focus\:bg-danger-background[data-variant=destructive]:focus{background-color:var(--danger-background)}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-\[backdrop-filter\]\:bg-background\/88{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.supports-\[backdrop-filter\]\:bg-background\/88{background-color:color-mix(in oklab, var(--background) 88%, transparent)}}}@media (min-width:40rem){.sm\:w-auto{width:auto}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:min-w-48{min-width:calc(var(--spacing) * 48)}.sm\:flex-row{flex-direction:row}.sm\:flex-wrap{flex-wrap:wrap}.sm\:items-center{align-items:center}.sm\:items-start{align-items:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:justify-end{justify-content:flex-end}.sm\:gap-4{gap:calc(var(--spacing) * 4)}.sm\:p-5{padding:calc(var(--spacing) * 5)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.data-\[size\=default\]\:sm\:max-w-lg[data-size=default]{max-width:var(--container-lg)}.data-\[size\=large\]\:sm\:max-w-3xl[data-size=large]{max-width:var(--container-3xl)}.data-\[size\=small\]\:sm\:max-w-sm[data-size=small]{max-width:var(--container-sm)}}@media (min-width:48rem){.md\:block{display:block}.md\:hidden{display:none}.md\:w-\[20rem\]{width:20rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:px-4{padding-inline:calc(var(--spacing) * 4)}.md\:px-\[var\(--ds-space-page\)\]{padding-inline:var(--ds-space-page)}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (min-width:64rem){.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:h-\[calc\(var\(--ds-sidebar-item-height\)-0\.25rem\)\]{height:calc(var(--ds-sidebar-item-height) - .25rem)}.lg\:h-\[var\(--ds-sidebar-item-height\)\]{height:var(--ds-sidebar-item-height)}.lg\:min-h-0{min-height:0}.lg\:min-h-\[var\(--ds-sidebar-item-height\)\]{min-height:var(--ds-sidebar-item-height)}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:items-start{align-items:flex-start}.lg\:justify-between{justify-content:space-between}.lg\:justify-end{justify-content:flex-end}.group-data-\[sidebar-side\=left\]\/shell\:lg\:pl-\[var\(--ds-app-sidebar-width\)\]:is(:where(.group\/shell)[data-sidebar-side=left] *){padding-left:var(--ds-app-sidebar-width)}.group-data-\[sidebar-side\=right\]\/shell\:lg\:pr-\[var\(--ds-app-sidebar-width\)\]:is(:where(.group\/shell)[data-sidebar-side=right] *){padding-right:var(--ds-app-sidebar-width)}}@media (min-width:80rem){.xl\:w-\[24rem\]{width:24rem}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-\[minmax\(0\,1fr\)_22rem\]{grid-template-columns:minmax(0,1fr) 22rem}}.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-sidebar:is(.dark *){background-color:var(--sidebar)}.dark\:focus-visible\:ring-danger\/40:is(.dark *):focus-visible{--tw-ring-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-danger\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--danger) 40%, transparent)}}.dark\:aria-invalid\:ring-danger\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-danger\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--danger) 40%, 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-\[state\=checked\]\:bg-primary:is(.dark *)[data-state=checked]{background-color:var(--primary)}.dark\:data-\[state\=checked\]\:bg-primary-foreground:is(.dark *)[data-state=checked]{background-color:var(--primary-foreground)}.dark\:data-\[state\=unchecked\]\:bg-foreground:is(.dark *)[data-state=unchecked]{background-color:var(--foreground)}.dark\:data-\[state\=unchecked\]\:bg-input\/80:is(.dark *)[data-state=unchecked]{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[state\=unchecked\]\:bg-input\/80:is(.dark *)[data-state=unchecked]{background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:size-5 svg{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\]\:border-border-subtle tr{border-color:var(--border-subtle)}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}.\[\&\:nth-child\(-n\+2\)\]\:border-b:nth-child(-n+2){border-bottom-style:var(--tw-border-style);border-bottom-width:1px}@media (min-width:64rem){.lg\:\[\&\:nth-child\(-n\+2\)\]\:border-b-0:nth-child(-n+2){border-bottom-style:var(--tw-border-style);border-bottom-width:0}}.\[\&\>\[data-slot\=sheet-close\]\]\:top-3>[data-slot=sheet-close]{top:calc(var(--spacing) * 3)}.\[\&\>\[data-slot\=sheet-close\]\]\:right-3>[data-slot=sheet-close]{right:calc(var(--spacing) * 3)}.\[\&\>\[data-slot\=sheet-close\]\]\:text-sidebar-secondary-text>[data-slot=sheet-close]{color:var(--sidebar-secondary-text)}@media (hover:hover){.\[\&\>\[data-slot\=sheet-close\]\]\:hover\:text-sidebar-primary-text>[data-slot=sheet-close]:hover{color:var(--sidebar-primary-text)}}.\[\&\>svg\]\:mt-0\.5>svg{margin-top:calc(var(--spacing) * .5)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>svg\]\:size-5>svg{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:stroke-\[1\.75\]>svg{stroke-width:1.75px}.\[\&\>svg\]\:text-sidebar-active-foreground>svg{color:var(--sidebar-active-foreground)}.\[\&\>svg\]\:text-sidebar-icon>svg{color:var(--sidebar-icon)}}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./files/inter-cyrillic-ext-wght-normal.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./files/inter-cyrillic-wght-normal.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./files/inter-greek-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./files/inter-greek-wght-normal.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./files/inter-vietnamese-wght-normal.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./files/inter-latin-ext-wght-normal.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./files/inter-latin-wght-normal.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}@keyframes ds-sidebar-expand{0%{opacity:0;height:0}to{height:var(--radix-collapsible-content-height);opacity:1}}@keyframes ds-sidebar-collapse{0%{height:var(--radix-collapsible-content-height);opacity:1}to{opacity:0;height:0}}[data-slot=sidebar-collapsible-content][data-state=open]{animation:.18s cubic-bezier(.2,0,0,1) ds-sidebar-expand}[data-slot=sidebar-collapsible-content][data-state=closed]{animation:.15s cubic-bezier(.4,0,1,1) ds-sidebar-collapse}@media (prefers-reduced-motion:reduce){[data-slot=sidebar-collapsible-content]{animation:none!important}}:root,[data-appearance-scope=light]{color-scheme:light;--radius:.5rem;--background:#f9f9fa;--foreground:#140c15;--card:#fff;--card-foreground:#140c15;--popover:#fff;--popover-foreground:#140c15;--brand:#4962ff;--brand-foreground:#fff;--brand-secondary:#1c4e51;--brand-secondary-foreground:#fff;--brand-secondary-background:#eaf3f1;--brand-secondary-border:#b2d4cf;--primary:#3f55df;--primary-foreground:#fff;--secondary:#1e0721;--secondary-foreground:#fff;--muted:#f3f4f5;--muted-foreground:#5f6270;--accent:#3f55df;--accent-hover:#3344c7;--accent-active:#293999;--accent-background:#eef0ff;--accent-foreground:#fff;--selection-background:#f0f1f6;--selection-border:#aeb6e3;--selection-indicator:#6672dc;--selection-foreground:#242a44;--destructive:#c44a53;--border:#e4e5e5;--input:#e4e5e5;--ring:#6371d9;--canvas:var(--background);--surface:var(--card);--surface-muted:#f3f4f5;--surface-raised:#fff;--surface-floating:#fff;--surface-overlay:#fff;--text-primary:var(--foreground);--text-secondary:#373b4a;--text-supporting:#5f6270;--text-muted:#838692;--text-disabled:#a7a9b3;--text-inverse:#fff;--text-link:#3f4da8;--border-subtle:#ececed;--border-default:#d9dadd;--border-strong:#babdc5;--border-focus:var(--ring);--information:#28758a;--information-background:#eaf5f7;--information-border:#b8dce3;--information-foreground:#194d5a;--success:#1c6b62;--success-background:#e7f5f2;--success-border:#a3d6cf;--success-foreground:#164946;--warning:#9a6500;--warning-background:#fff4d8;--warning-border:#ffd083;--warning-foreground:#654000;--danger:#c44a53;--danger-background:#ffe8e9;--danger-border:#ffa1a8;--danger-foreground:#822c35;--neutral:#5f6270;--neutral-background:#f3f4f5;--neutral-border:#d9dadd;--neutral-foreground:#373b4a;--sidebar:#19141a;--sidebar-foreground:#fff;--sidebar-accent:#ffffff12;--sidebar-active:#ffffff17;--sidebar-active-foreground:#fff;--sidebar-active-indicator:#7f8ae8;--sidebar-border:#ffffff14;--sidebar-canvas:var(--sidebar);--sidebar-header:var(--sidebar);--sidebar-content:var(--sidebar);--sidebar-hover:var(--sidebar-accent);--sidebar-primary-text:var(--sidebar-foreground);--sidebar-secondary-text:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){:root,[data-appearance-scope=light]{--sidebar-secondary-text:color-mix(in oklab, var(--sidebar-foreground) 78%, transparent)}}:root,[data-appearance-scope=light]{--sidebar-metadata-text:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){:root,[data-appearance-scope=light]{--sidebar-metadata-text:color-mix(in oklab, var(--sidebar-foreground) 62%, transparent)}}:root,[data-appearance-scope=light]{--sidebar-icon:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){:root,[data-appearance-scope=light]{--sidebar-icon:color-mix(in oklab, var(--sidebar-foreground) 72%, transparent)}}:root,[data-appearance-scope=light]{--sidebar-search:var(--sidebar-accent);--sidebar-footer:var(--sidebar);--sidebar-group-label:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){:root,[data-appearance-scope=light]{--sidebar-group-label:color-mix(in oklab, var(--sidebar-foreground) 72%, transparent)}}:root,[data-appearance-scope=light]{--sidebar-group-count:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){:root,[data-appearance-scope=light]{--sidebar-group-count:color-mix(in oklab, var(--sidebar-foreground) 62%, transparent)}}:root,[data-appearance-scope=light]{--sidebar-focus-ring:var(--ring);--font-sans:"Inter Variable", "Inter", "Aptos", "Segoe UI", Arial, sans-serif;--ds-space-inline:.5rem;--ds-space-control:.625rem;--ds-field-gap:1.25rem;--ds-field-label-gap:.5rem;--ds-field-message-gap:.375rem;--ds-field-control-height:2.75rem;--ds-field-control-padding-x:.875rem;--ds-field-control-radius:.5rem;--ds-field-label-size:.8125rem;--ds-field-label-line-height:1.25rem;--ds-space-field:var(--ds-field-gap);--ds-space-group:1.25rem;--ds-space-section:2rem;--ds-space-page:2.5rem;--ds-tab-padding-x:.875rem;--ds-tab-rail-height:2.75rem;--ds-tab-rail-height-compact:2.5rem;--ds-control-height:2.5rem;--ds-control-height-sm:2rem;--ds-control-height-lg:2.75rem;--ds-control-padding-x:1rem;--ds-topbar-height:3.5rem;--ds-sidebar-width:16rem;--ds-sidebar-width-mobile:18rem;--ds-sidebar-item-height:2.25rem;--ds-sidebar-item-height-touch:2.75rem;--ds-sidebar-header-height:var(--ds-topbar-height);--ds-sidebar-content-padding-x:.625rem;--ds-sidebar-content-padding-y:.75rem;--ds-sidebar-footer-padding:.625rem;--ds-sidebar-group-gap:.25rem;--ds-sidebar-group-label-size:var(--ds-field-label-size);--ds-surface-padding:1.25rem;--ds-table-header-height:2.25rem;--ds-row-height:2.75rem;--ds-page-title:1.75rem;--ds-section-title:1.0625rem;--ds-body:.9375rem;--ds-metadata:.8125rem;--ds-menu-item-size:.75rem;--ds-menu-label-size:.6875rem;--ds-radius-control:.375rem;--ds-radius-surface:.5rem;--ds-shadow-raised:0 1px 2px #140c150f;--ds-shadow-floating:0 12px 28px #140c151a;--ds-focus-ring:0 0 0 3px var(--ring)}@supports (color:color-mix(in lab, red, red)){:root,[data-appearance-scope=light]{--ds-focus-ring:0 0 0 3px color-mix(in oklab, var(--ring) 26%, transparent)}}:root[data-density=compact]{--ds-space-inline:.375rem;--ds-space-control:.5rem;--ds-space-field:1rem;--ds-space-group:1rem;--ds-space-section:1.5rem;--ds-space-page:2rem;--ds-tab-padding-x:.75rem;--ds-tab-rail-height:2.5rem;--ds-tab-rail-height-compact:2.25rem;--ds-control-height:2rem;--ds-control-height-sm:1.75rem;--ds-control-height-lg:2.25rem;--ds-control-padding-x:.75rem;--ds-sidebar-width:15rem;--ds-sidebar-width-mobile:17rem;--ds-sidebar-item-height:2rem;--ds-surface-padding:1rem;--ds-table-header-height:2rem;--ds-row-height:2.5rem;--ds-field-gap:1rem;--ds-page-title:1.5rem;--ds-section-title:.9375rem;--ds-body:.875rem;--ds-metadata:.75rem}:root.dark,:root[data-appearance=dark]{color-scheme:dark;--background:#111214;--foreground:#f7f7f8;--card:#191a1e;--card-foreground:#f7f7f8;--popover:#202126;--popover-foreground:#f7f7f8;--brand:#6b7cff;--brand-foreground:#fff;--brand-secondary:#a3d6cf;--brand-secondary-foreground:#102a2c;--brand-secondary-background:#162c2d;--brand-secondary-border:#315c59;--primary:#5965cc;--primary-foreground:#fff;--secondary:#f3f4f5;--secondary-foreground:#17181b;--muted:#25272d;--muted-foreground:#c5c7cf;--accent:#5965cc;--accent-hover:#5f6bd2;--accent-active:#505bb8;--accent-background:#252a46;--accent-foreground:#fff;--selection-background:#272a35;--selection-border:#555e92;--selection-indicator:#7c86df;--selection-foreground:#f2f3f8;--destructive:#ffa1a8;--border:#ffffff26;--input:#ffffff26;--ring:#7c86df;--canvas:var(--background);--surface:var(--card);--surface-muted:#25272d;--surface-raised:#1d1f24;--surface-floating:#22242a;--surface-overlay:#282a31;--text-primary:var(--foreground);--text-secondary:#e7e8eb;--text-supporting:#c5c7cf;--text-muted:#989ba5;--text-disabled:#696c75;--text-inverse:#17181b;--text-link:#aeb6ef;--border-subtle:#ffffff14;--border-default:#ffffff21;--border-strong:#ffffff38;--border-focus:var(--ring);--information:#8ed4df;--information-background:#163238;--information-border:#346b75;--information-foreground:#d9f2f5;--success:#a3d6cf;--success-background:#143b3d;--success-border:#2f7471;--success-foreground:#d8eeeb;--warning:#ffd083;--warning-background:#4b350c;--warning-border:#8a650f;--warning-foreground:#fff4d8;--danger:#ffa1a8;--danger-background:#55212a;--danger-border:#9d3c48;--danger-foreground:#ffe8e9;--neutral:#a7a9b3;--neutral-background:#25272d;--neutral-border:#ffffff24;--neutral-foreground:#f3f4f5;--sidebar:#151116;--sidebar-foreground:#fff;--sidebar-accent:#ffffff12;--sidebar-active:#ffffff17;--sidebar-active-foreground:#fff;--sidebar-active-indicator:#7c86df;--sidebar-border:#ffffff14;--sidebar-canvas:var(--sidebar);--sidebar-header:var(--sidebar);--sidebar-content:var(--sidebar);--sidebar-hover:var(--sidebar-accent);--sidebar-primary-text:var(--sidebar-foreground);--sidebar-secondary-text:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){:root.dark,:root[data-appearance=dark]{--sidebar-secondary-text:color-mix(in oklab, var(--sidebar-foreground) 78%, transparent)}}:root.dark,:root[data-appearance=dark]{--sidebar-metadata-text:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){:root.dark,:root[data-appearance=dark]{--sidebar-metadata-text:color-mix(in oklab, var(--sidebar-foreground) 62%, transparent)}}:root.dark,:root[data-appearance=dark]{--sidebar-icon:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){:root.dark,:root[data-appearance=dark]{--sidebar-icon:color-mix(in oklab, var(--sidebar-foreground) 72%, transparent)}}:root.dark,:root[data-appearance=dark]{--sidebar-search:var(--sidebar-accent);--sidebar-footer:var(--sidebar);--sidebar-group-label:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){:root.dark,:root[data-appearance=dark]{--sidebar-group-label:color-mix(in oklab, var(--sidebar-foreground) 72%, transparent)}}:root.dark,:root[data-appearance=dark]{--sidebar-group-count:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){:root.dark,:root[data-appearance=dark]{--sidebar-group-count:color-mix(in oklab, var(--sidebar-foreground) 62%, transparent)}}:root.dark,:root[data-appearance=dark]{--sidebar-focus-ring:var(--ring);--ds-shadow-raised:0 1px 2px #00000047;--ds-shadow-floating:0 16px 32px #00000057}[data-sidebar-variant=light],:root:not(.dark):not([data-appearance=dark]) [data-sidebar-variant=auto]{--sidebar:var(--surface-muted);--sidebar-foreground:var(--text-primary);--sidebar-accent:var(--surface-raised);--sidebar-active:var(--accent-background);--sidebar-active-foreground:var(--selection-foreground);--sidebar-active-indicator:var(--selection-indicator);--sidebar-border:var(--border-subtle);--sidebar-canvas:var(--surface-muted);--sidebar-header:var(--surface);--sidebar-content:var(--surface-muted);--sidebar-hover:var(--surface-raised);--sidebar-primary-text:var(--text-primary);--sidebar-secondary-text:var(--text-secondary);--sidebar-metadata-text:var(--text-supporting);--sidebar-icon:var(--text-secondary);--sidebar-search:var(--surface-raised);--sidebar-footer:var(--surface);--sidebar-group-label:var(--text-secondary);--sidebar-group-count:var(--text-supporting);--sidebar-focus-ring:var(--border-focus)}@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-scroll-snap-strictness{syntax:"*";inherits:false;initial-value:proximity}@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-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-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}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes pulse{50%{opacity:.5}}
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scroll-snap-strictness:proximity;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking: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-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-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:var(--font-sans);--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-3xl:48rem;--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);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-normal:0em;--leading-tight:1.25;--leading-snug:1.375;--radius-xs:.125rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-surface-control:var(--surface-control);--color-surface-control-hover:var(--surface-control-hover);--color-sidebar-active:var(--sidebar-active)}}@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;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)}}html{min-height:100%}body{background:var(--background);min-height:100vh;color:var(--foreground);font-family:var(--font-sans);font-size:var(--ds-body);text-rendering:optimizelegibility;font-weight:380;line-height:1.5}h1,h2,h3,h4{color:var(--foreground);letter-spacing:0;font-weight:570}button,input,select,textarea{font:inherit}::selection{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){::selection{background:color-mix(in oklab, var(--primary) 22%, transparent)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@layer components{[data-slot=tabs-list][data-scroll-position=start],[data-slot=navigation-tabs-list][data-scroll-position=start]{-webkit-mask-image:linear-gradient(90deg,#000 0 calc(100% - 1.5rem),#0000 100%);mask-image:linear-gradient(90deg,#000 0 calc(100% - 1.5rem),#0000 100%)}[data-slot=tabs-list][data-scroll-position=middle],[data-slot=navigation-tabs-list][data-scroll-position=middle]{-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 1.5rem calc(100% - 1.5rem),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 1.5rem calc(100% - 1.5rem),#0000 100%)}[data-slot=tabs-list][data-scroll-position=end],[data-slot=navigation-tabs-list][data-scroll-position=end]{-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 1.5rem 100%);mask-image:linear-gradient(90deg,#0000 0,#000 1.5rem 100%)}}@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing) * 4)}.right-0{right:0}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.right-8{right:calc(var(--spacing) * 8)}.bottom-0{bottom:0}.left-0{left:0}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing) * 3)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.col-start-2{grid-column-start:2}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:0}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-auto{margin-inline:auto}.my-1{margin-block:var(--spacing)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-\[var\(--ds-field-message-gap\)\]{margin-top:var(--ds-field-message-gap)}.mt-auto{margin-top:auto}.-ml-2{margin-left:calc(var(--spacing) * -2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.table-cell{display:table-cell}.table-row{display:table-row}.aspect-square{aspect-ratio:1}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-\[var\(--ds-control-height\)\]{width:var(--ds-control-height);height:var(--ds-control-height)}.size-full{width:100%;height:100%}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-\[var\(--ds-control-height\)\]{height:var(--ds-control-height)}.h-\[var\(--ds-control-height-lg\)\]{height:var(--ds-control-height-lg)}.h-\[var\(--ds-control-height-sm\)\]{height:var(--ds-control-height-sm)}.h-\[var\(--ds-field-control-height\)\]{height:var(--ds-field-control-height)}.h-\[var\(--ds-row-height\)\]{height:var(--ds-row-height)}.h-\[var\(--ds-tab-rail-height\)\]{height:var(--ds-tab-rail-height)}.h-\[var\(--ds-tab-rail-height-compact\)\]{height:var(--ds-tab-rail-height-compact)}.h-\[var\(--ds-table-header-height\)\]{height:var(--ds-table-header-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-fit{height:fit-content}.h-full{height:100%}.h-px{height:1px}.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-\[32rem\]{max-height:32rem}.max-h-\[min\(42rem\,calc\(100vh-2rem\)\)\]{max-height:min(42rem,100vh - 2rem)}.min-h-0{min-height:0}.min-h-6{min-height:calc(var(--spacing) * 6)}.min-h-9{min-height:calc(var(--spacing) * 9)}.min-h-28{min-height:calc(var(--spacing) * 28)}.min-h-72{min-height:calc(var(--spacing) * 72)}.min-h-\[var\(--ds-control-height\)\]{min-height:var(--ds-control-height)}.min-h-\[var\(--ds-sidebar-item-height-touch\)\]{min-height:var(--ds-sidebar-item-height-touch)}.min-h-\[var\(--ds-topbar-height\)\]{min-height:var(--ds-topbar-height)}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-24{width:calc(var(--spacing) * 24)}.w-36{width:calc(var(--spacing) * 36)}.w-44{width:calc(var(--spacing) * 44)}.w-\[4\.5rem\]{width:4.5rem}.w-\[var\(--ds-app-sidebar-width\)\]{width:var(--ds-app-sidebar-width)}.w-\[var\(--ds-sidebar-width-mobile\)\]{width:var(--ds-sidebar-width-mobile)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[48rem\]{max-width:48rem}.max-w-\[64rem\]{max-width:64rem}.max-w-\[86rem\]{max-width:86rem}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:0}.min-w-40{min-width:calc(var(--spacing) * 40)}.min-w-56{min-width:calc(var(--spacing) * 56)}.min-w-72{min-width:calc(var(--spacing) * 72)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-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-\[calc\(-50\%_-_2px\)\]{--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.animate-pulse{animation:var(--animate-pulse)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-start{scroll-snap-align:start}.scroll-my-1{scroll-margin-block:var(--spacing)}.scroll-px-2{scroll-padding-inline:calc(var(--spacing) * 2)}.\[scrollbar-width\:none\]{scrollbar-width:none}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[1rem_minmax\(0\,1fr\)\]{grid-template-columns:1rem minmax(0,1fr)}.grid-cols-\[2\.5rem_minmax\(0\,1fr\)\]{grid-template-columns:2.5rem minmax(0,1fr)}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.grid-cols-\[auto_minmax\(0\,1fr\)_auto\]{grid-template-columns:auto minmax(0,1fr) auto}.grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.grid-rows-\[auto_minmax\(0\,1fr\)_auto\]{grid-template-rows:auto minmax(0,1fr) auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.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}.gap-0{gap:0}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-\[var\(--ds-field-gap\)\]{gap:var(--ds-field-gap)}.gap-\[var\(--ds-field-label-gap\)\]{gap:var(--ds-field-label-gap)}.gap-\[var\(--ds-sidebar-group-gap\)\]{gap:var(--ds-sidebar-group-gap)}.gap-\[var\(--ds-space-control\)\]{gap:var(--ds-space-control)}.gap-\[var\(--ds-space-field\)\]{gap:var(--ds-space-field)}.gap-\[var\(--ds-space-group\)\]{gap:var(--ds-space-group)}.gap-\[var\(--ds-space-section\)\]{gap:var(--ds-space-section)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}: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)))}:where(.divide-border-subtle>:not(:last-child)){border-color:var(--border-subtle)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-x-contain{overscroll-behavior-x:contain}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[4px\]{border-radius:4px}.rounded-\[calc\(var\(--ds-radius-control\)-2px\)\]{border-radius:calc(var(--ds-radius-control) - 2px)}.rounded-\[var\(--ds-field-control-radius\)\]{border-radius:var(--ds-field-control-radius)}.rounded-\[var\(--ds-radius-control\)\]{border-radius:var(--ds-radius-control)}.rounded-\[var\(--ds-radius-surface\)\]{border-radius:var(--ds-radius-surface)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-t-\[var\(--ds-radius-control\)\]{border-top-left-radius:var(--ds-radius-control);border-top-right-radius:var(--ds-radius-control)}.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-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-border-default{border-color:var(--border-default)}.border-border-subtle{border-color:var(--border-subtle)}.border-brand-secondary-border{border-color:var(--brand-secondary-border)}.border-card{border-color:var(--card)}.border-danger-border{border-color:var(--danger-border)}.border-information-border{border-color:var(--information-border)}.border-input{border-color:var(--input)}.border-neutral-border{border-color:var(--neutral-border)}.border-primary{border-color:var(--primary)}.border-selection-border{border-color:var(--selection-border)}.border-sidebar-border{border-color:var(--sidebar-border)}.border-success-border{border-color:var(--success-border)}.border-transparent{border-color:#0000}.border-warning-border{border-color:var(--warning-border)}.bg-background,.bg-background\/96{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/96{background-color:color-mix(in oklab, var(--background) 96%, transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-border{background-color:var(--border)}.bg-border-subtle{background-color:var(--border-subtle)}.bg-brand{background-color:var(--brand)}.bg-brand-secondary-background{background-color:var(--brand-secondary-background)}.bg-canvas{background-color:var(--canvas)}.bg-card{background-color:var(--card)}.bg-danger{background-color:var(--danger)}.bg-danger-background,.bg-danger-background\/60{background-color:var(--danger-background)}@supports (color:color-mix(in lab, red, red)){.bg-danger-background\/60{background-color:color-mix(in oklab, var(--danger-background) 60%, transparent)}}.bg-danger-foreground{background-color:var(--danger-foreground)}.bg-foreground{background-color:var(--foreground)}.bg-information-background{background-color:var(--information-background)}.bg-muted{background-color:var(--muted)}.bg-neutral-background{background-color:var(--neutral-background)}.bg-neutral-foreground{background-color:var(--neutral-foreground)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-selection-background{background-color:var(--selection-background)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-accent{background-color:var(--sidebar-accent)}.bg-sidebar-active{background-color:var(--sidebar-active)}.bg-sidebar-border{background-color:var(--sidebar-border)}.bg-sidebar-canvas{background-color:var(--sidebar-canvas)}.bg-sidebar-content{background-color:var(--sidebar-content)}.bg-sidebar-footer{background-color:var(--sidebar-footer)}.bg-sidebar-header{background-color:var(--sidebar-header)}.bg-sidebar-hover{background-color:var(--sidebar-hover)}.bg-sidebar-search{background-color:var(--sidebar-search)}.bg-success-background{background-color:var(--success-background)}.bg-success-foreground{background-color:var(--success-foreground)}.bg-surface{background-color:var(--surface)}.bg-surface-control{background-color:var(--surface-control)}.bg-surface-control-hover{background-color:var(--surface-control-hover)}.bg-surface-floating{background-color:var(--surface-floating)}.bg-surface-muted{background-color:var(--surface-muted)}.bg-surface-overlay{background-color:var(--surface-overlay)}.bg-surface-raised{background-color:var(--surface-raised)}.bg-transparent{background-color:#0000}.bg-warning-background{background-color:var(--warning-background)}.bg-warning-foreground{background-color:var(--warning-foreground)}.fill-foreground{fill:var(--foreground)}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-\[var\(--ds-sidebar-footer-padding\)\]{padding:var(--ds-sidebar-footer-padding)}.p-\[var\(--ds-space-section\)\]{padding:var(--ds-space-section)}.p-\[var\(--ds-surface-padding\)\]{padding:var(--ds-surface-padding)}.px-0{padding-inline:0}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-9{padding-inline:calc(var(--spacing) * 9)}.px-\[var\(--ds-field-control-padding-x\)\]{padding-inline:var(--ds-field-control-padding-x)}.px-\[var\(--ds-sidebar-content-padding-x\)\]{padding-inline:var(--ds-sidebar-content-padding-x)}.px-\[var\(--ds-surface-padding\)\]{padding-inline:var(--ds-surface-padding)}.px-\[var\(--ds-tab-padding-x\)\]{padding-inline:var(--ds-tab-padding-x)}.py-0{padding-block:0}.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-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-\[var\(--ds-sidebar-content-padding-y\)\]{padding-block:var(--ds-sidebar-content-padding-y)}.py-\[var\(--ds-space-section\)\]{padding-block:var(--ds-space-section)}.py-\[var\(--ds-surface-padding\)\]{padding-block:var(--ds-surface-padding)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-1{padding-right:var(--spacing)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-1{padding-bottom:var(--spacing)}.pb-\[var\(--ds-space-section\)\]{padding-bottom:var(--ds-space-section)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[length\:var\(--ds-field-label-size\)\]{font-size:var(--ds-field-label-size)}.text-\[length\:var\(--ds-menu-item-size\)\]{font-size:var(--ds-menu-item-size)}.text-\[length\:var\(--ds-menu-label-size\)\]{font-size:var(--ds-menu-label-size)}.text-\[length\:var\(--ds-metadata\)\]{font-size:var(--ds-metadata)}.text-\[length\:var\(--ds-page-title\)\]{font-size:var(--ds-page-title)}.text-\[length\:var\(--ds-sidebar-group-label-size\)\]{font-size:var(--ds-sidebar-group-label-size)}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-\[var\(--ds-field-label-line-height\)\]{--tw-leading:var(--ds-field-label-line-height);line-height:var(--ds-field-label-line-height)}.leading-none{--tw-leading:1;line-height:1}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-balance{text-wrap:balance}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.text-\[var\(--ds-metadata\)\]{color:var(--ds-metadata)}.text-\[var\(--ds-page-title\)\]{color:var(--ds-page-title)}.text-\[var\(--ds-section-title\)\]{color:var(--ds-section-title)}.text-background{color:var(--background)}.text-brand-foreground{color:var(--brand-foreground)}.text-brand-secondary{color:var(--brand-secondary)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-danger-foreground{color:var(--danger-foreground)}.text-foreground{color:var(--foreground)}.text-information-foreground{color:var(--information-foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-neutral-foreground{color:var(--neutral-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-selection-foreground{color:var(--selection-foreground)}.text-sidebar-active-foreground{color:var(--sidebar-active-foreground)}.text-sidebar-foreground{color:var(--sidebar-foreground)}.text-sidebar-group-count{color:var(--sidebar-group-count)}.text-sidebar-group-label{color:var(--sidebar-group-label)}.text-sidebar-icon{color:var(--sidebar-icon)}.text-sidebar-metadata-text{color:var(--sidebar-metadata-text)}.text-sidebar-primary-text{color:var(--sidebar-primary-text)}.text-sidebar-secondary-text{color:var(--sidebar-secondary-text)}.text-success-foreground{color:var(--success-foreground)}.text-text-link{color:var(--text-link)}.text-text-muted{color:var(--text-muted)}.text-text-primary{color:var(--text-primary)}.text-text-secondary{color:var(--text-secondary)}.text-text-supporting{color:var(--text-supporting)}.text-warning-foreground{color:var(--warning-foreground)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow-\[inset_2px_0_0_var\(--selection-indicator\)\]{--tw-shadow:inset 2px 0 0 var(--tw-shadow-color,var(--selection-indicator));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[inset_3px_0_0_var\(--sidebar-active-indicator\)\]{--tw-shadow:inset 3px 0 0 var(--tw-shadow-color,var(--sidebar-active-indicator));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[var\(--ds-shadow-floating\)\]{--tw-shadow:var(--ds-shadow-floating);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[var\(--ds-shadow-raised\)\]{--tw-shadow:var(--ds-shadow-raised);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.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}.backdrop-blur{--tw-backdrop-blur:blur(8px);-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,)}.transition-\[background-color\,color\,box-shadow\]{transition-property:background-color,color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[padding\]{transition-property:padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[--ds-app-sidebar-width-mobile\:var\(--ds-sidebar-width-mobile\)\]{--ds-app-sidebar-width-mobile:var(--ds-sidebar-width-mobile)}.\[--ds-app-sidebar-width\:var\(--ds-sidebar-width\)\]{--ds-app-sidebar-width:var(--ds-sidebar-width)}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.group-data-\[sidebar-state\=collapsed\]\/shell\:hidden:is(:where(.group\/shell)[data-sidebar-state=collapsed] *){display:none}.group-data-\[sidebar-state\=collapsed\]\/shell\:w-\[var\(--ds-app-sidebar-width\)\]:is(:where(.group\/shell)[data-sidebar-state=collapsed] *){width:var(--ds-app-sidebar-width)}.group-data-\[sidebar-state\=collapsed\]\/shell\:justify-center:is(:where(.group\/shell)[data-sidebar-state=collapsed] *){justify-content:center}.group-data-\[sidebar-state\=collapsed\]\/shell\:px-0:is(:where(.group\/shell)[data-sidebar-state=collapsed] *){padding-inline:0}.group-data-\[size\=default\]\/switch\:size-4:is(:where(.group\/switch)[data-size=default] *){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.group-data-\[size\=sm\]\/switch\:size-3:is(:where(.group\/switch)[data-size=sm] *){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.group-data-\[state\=open\]\/collapsible\:rotate-90:is(:where(.group\/collapsible)[data-state=open] *){rotate:90deg}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-x-0:after{content:var(--tw-content);inset-inline:0}.after\:bottom-0:after{content:var(--tw-content);bottom:0}.after\:h-0\.5:after{content:var(--tw-content);height:calc(var(--spacing) * .5)}.after\:bg-transparent:after{content:var(--tw-content);background-color:#0000}.after\:transition-colors:after{content:var(--tw-content);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))}.last\:border-r-0:last-child{border-right-style:var(--tw-border-style);border-right-width:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:bg-accent-hover:hover{background-color:var(--accent-hover)}.hover\:bg-danger\/90:hover{background-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-danger\/90:hover{background-color:color-mix(in oklab, var(--danger) 90%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:bg-sidebar-active:hover{background-color:var(--sidebar-active)}.hover\:bg-sidebar-hover:hover{background-color:var(--sidebar-hover)}.hover\:bg-surface-control-hover:hover{background-color:var(--surface-control-hover)}.hover\:bg-surface-muted:hover,.hover\:bg-surface-muted\/70:hover{background-color:var(--surface-muted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-surface-muted\/70:hover{background-color:color-mix(in oklab, var(--surface-muted) 70%, transparent)}}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-sidebar-active-foreground:hover{color:var(--sidebar-active-foreground)}.hover\:text-sidebar-primary-text:hover{color:var(--sidebar-primary-text)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:bg-selection-background:focus{background-color:var(--selection-background)}.focus\:bg-surface-muted:focus{background-color:var(--surface-muted)}.focus\:text-foreground:focus{color:var(--foreground)}.focus\:text-selection-foreground:focus{color:var(--selection-foreground)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:ring-offset-background:focus{--tw-ring-offset-color:var(--background)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:z-10:focus-visible{z-index:10}.focus-visible\:border-0:focus-visible{border-style:var(--tw-border-style);border-width:0}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:bg-surface-muted:focus-visible{background-color:var(--surface-muted)}.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-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-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-danger\/20:focus-visible{--tw-ring-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-danger\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--danger) 20%, transparent)}}.focus-visible\:ring-ring:focus-visible,.focus-visible\:ring-ring\/45:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/45:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 45%, 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)}}.focus-visible\:ring-ring\/60:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/60:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 60%, transparent)}}.focus-visible\:ring-sidebar-focus-ring:focus-visible{--tw-ring-color:var(--sidebar-focus-ring)}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset:inset}.active\:bg-accent-active:active{background-color:var(--accent-active)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-\[\>svg\]\:px-2:has(>svg){padding-inline:calc(var(--spacing) * 2)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-3\.5:has(>svg){padding-inline:calc(var(--spacing) * 3.5)}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:cursor-not-allowed[aria-disabled=true]{cursor:not-allowed}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-invalid\:border-danger[aria-invalid=true]{border-color:var(--danger)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-danger\/20[aria-invalid=true]{--tw-ring-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-danger\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--danger) 20%, transparent)}}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.aria-pressed\:bg-background[aria-pressed=true]{background-color:var(--background)}.aria-pressed\:text-foreground[aria-pressed=true]{color:var(--foreground)}.aria-pressed\:shadow-xs[aria-pressed=true]{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[active\=false\]\:text-muted-foreground[data-active=false]{color:var(--muted-foreground)}@media (hover:hover){.data-\[active\=false\]\:hover\:text-foreground[data-active=false]:hover{color:var(--foreground)}}.data-\[active\=true\]\:bg-selection-background[data-active=true]{background-color:var(--selection-background)}.data-\[active\=true\]\:bg-surface-muted[data-active=true]{background-color:var(--surface-muted)}.data-\[active\=true\]\:font-semibold[data-active=true]{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.data-\[active\=true\]\:text-selection-foreground[data-active=true]{color:var(--selection-foreground)}.data-\[active\=true\]\:after\:bg-selection-indicator[data-active=true]:after{content:var(--tw-content);background-color:var(--selection-indicator)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[inset\=true\]\:pl-8[data-inset=true]{padding-left:calc(var(--spacing) * 8)}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.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\=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\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.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-\[sidebar-state\=collapsed\]\:\[--ds-app-sidebar-width\:3\.5rem\][data-sidebar-state=collapsed]{--ds-app-sidebar-width:3.5rem}.data-\[size\=default\]\:h-\[1\.15rem\][data-size=default]{height:1.15rem}.data-\[size\=default\]\:h-\[var\(--ds-field-control-height\)\][data-size=default]{height:var(--ds-field-control-height)}.data-\[size\=default\]\:w-8[data-size=default]{width:calc(var(--spacing) * 8)}.data-\[size\=sm\]\:h-3\.5[data-size=sm]{height:calc(var(--spacing) * 3.5)}.data-\[size\=sm\]\:h-\[var\(--ds-control-height-sm\)\][data-size=sm]{height:var(--ds-control-height-sm)}.data-\[size\=sm\]\:w-6[data-size=sm]{width:calc(var(--spacing) * 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-2>*)[data-slot=select-value]{gap:calc(var(--spacing) * 2)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:bg-selection-background[data-state=active]{background-color:var(--selection-background)}.data-\[state\=active\]\:font-semibold[data-state=active]{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.data-\[state\=active\]\:text-selection-foreground[data-state=active]{color:var(--selection-foreground)}.data-\[state\=active\]\:shadow-xs[data-state=active]{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[state\=active\]\:after\:bg-selection-indicator[data-state=active]:after{content:var(--tw-content);background-color:var(--selection-indicator)}.data-\[state\=checked\]\:translate-x-\[calc\(100\%-2px\)\][data-state=checked]{--tw-translate-x:calc(100% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:border-primary[data-state=checked]{border-color:var(--primary)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=selected\]\:bg-accent-background[data-state=selected]{background-color:var(--accent-background)}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--input)}.data-\[variant\=destructive\]\:text-danger-foreground[data-variant=destructive]{color:var(--danger-foreground)}.data-\[variant\=destructive\]\:focus\:bg-danger-background[data-variant=destructive]:focus{background-color:var(--danger-background)}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-\[backdrop-filter\]\:bg-background\/88{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.supports-\[backdrop-filter\]\:bg-background\/88{background-color:color-mix(in oklab, var(--background) 88%, transparent)}}}@media (min-width:40rem){.sm\:w-auto{width:auto}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:min-w-48{min-width:calc(var(--spacing) * 48)}.sm\:flex-row{flex-direction:row}.sm\:flex-wrap{flex-wrap:wrap}.sm\:items-center{align-items:center}.sm\:items-start{align-items:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:justify-end{justify-content:flex-end}.sm\:gap-4{gap:calc(var(--spacing) * 4)}.sm\:p-5{padding:calc(var(--spacing) * 5)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.data-\[size\=default\]\:sm\:max-w-lg[data-size=default]{max-width:var(--container-lg)}.data-\[size\=large\]\:sm\:max-w-3xl[data-size=large]{max-width:var(--container-3xl)}.data-\[size\=small\]\:sm\:max-w-sm[data-size=small]{max-width:var(--container-sm)}}@media (min-width:48rem){.md\:block{display:block}.md\:hidden{display:none}.md\:w-\[20rem\]{width:20rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:px-4{padding-inline:calc(var(--spacing) * 4)}.md\:px-\[var\(--ds-space-page\)\]{padding-inline:var(--ds-space-page)}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (min-width:64rem){.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:h-\[calc\(var\(--ds-sidebar-item-height\)-0\.25rem\)\]{height:calc(var(--ds-sidebar-item-height) - .25rem)}.lg\:h-\[var\(--ds-sidebar-item-height\)\]{height:var(--ds-sidebar-item-height)}.lg\:min-h-0{min-height:0}.lg\:min-h-\[var\(--ds-sidebar-item-height\)\]{min-height:var(--ds-sidebar-item-height)}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:items-start{align-items:flex-start}.lg\:justify-between{justify-content:space-between}.lg\:justify-end{justify-content:flex-end}.group-data-\[sidebar-side\=left\]\/shell\:lg\:pl-\[var\(--ds-app-sidebar-width\)\]:is(:where(.group\/shell)[data-sidebar-side=left] *){padding-left:var(--ds-app-sidebar-width)}.group-data-\[sidebar-side\=right\]\/shell\:lg\:pr-\[var\(--ds-app-sidebar-width\)\]:is(:where(.group\/shell)[data-sidebar-side=right] *){padding-right:var(--ds-app-sidebar-width)}}@media (min-width:80rem){.xl\:w-\[24rem\]{width:24rem}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-\[minmax\(0\,1fr\)_22rem\]{grid-template-columns:minmax(0,1fr) 22rem}}.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-sidebar:is(.dark *){background-color:var(--sidebar)}.dark\:focus-visible\:ring-danger\/40:is(.dark *):focus-visible{--tw-ring-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-danger\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--danger) 40%, transparent)}}.dark\:aria-invalid\:ring-danger\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-danger\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--danger) 40%, 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-\[state\=checked\]\:bg-primary:is(.dark *)[data-state=checked]{background-color:var(--primary)}.dark\:data-\[state\=checked\]\:bg-primary-foreground:is(.dark *)[data-state=checked]{background-color:var(--primary-foreground)}.dark\:data-\[state\=unchecked\]\:bg-foreground:is(.dark *)[data-state=unchecked]{background-color:var(--foreground)}.dark\:data-\[state\=unchecked\]\:bg-input\/80:is(.dark *)[data-state=unchecked]{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[state\=unchecked\]\:bg-input\/80:is(.dark *)[data-state=unchecked]{background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:size-5 svg{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\]\:border-border-subtle tr{border-color:var(--border-subtle)}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}.\[\&\:nth-child\(-n\+2\)\]\:border-b:nth-child(-n+2){border-bottom-style:var(--tw-border-style);border-bottom-width:1px}@media (min-width:64rem){.lg\:\[\&\:nth-child\(-n\+2\)\]\:border-b-0:nth-child(-n+2){border-bottom-style:var(--tw-border-style);border-bottom-width:0}}.\[\&\>\[data-slot\=sheet-close\]\]\:top-3>[data-slot=sheet-close]{top:calc(var(--spacing) * 3)}.\[\&\>\[data-slot\=sheet-close\]\]\:right-3>[data-slot=sheet-close]{right:calc(var(--spacing) * 3)}.\[\&\>\[data-slot\=sheet-close\]\]\:text-sidebar-secondary-text>[data-slot=sheet-close]{color:var(--sidebar-secondary-text)}@media (hover:hover){.\[\&\>\[data-slot\=sheet-close\]\]\:hover\:text-sidebar-primary-text>[data-slot=sheet-close]:hover{color:var(--sidebar-primary-text)}}.\[\&\>svg\]\:mt-0\.5>svg{margin-top:calc(var(--spacing) * .5)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>svg\]\:size-5>svg{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:stroke-\[1\.75\]>svg{stroke-width:1.75px}.\[\&\>svg\]\:text-sidebar-active-foreground>svg{color:var(--sidebar-active-foreground)}.\[\&\>svg\]\:text-sidebar-icon>svg{color:var(--sidebar-icon)}}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./files/inter-cyrillic-ext-wght-normal.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./files/inter-cyrillic-wght-normal.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./files/inter-greek-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./files/inter-greek-wght-normal.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./files/inter-vietnamese-wght-normal.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./files/inter-latin-ext-wght-normal.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./files/inter-latin-wght-normal.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}@keyframes ds-sidebar-expand{0%{opacity:0;height:0}to{height:var(--radix-collapsible-content-height);opacity:1}}@keyframes ds-sidebar-collapse{0%{height:var(--radix-collapsible-content-height);opacity:1}to{opacity:0;height:0}}[data-slot=sidebar-collapsible-content][data-state=open]{animation:.18s cubic-bezier(.2,0,0,1) ds-sidebar-expand}[data-slot=sidebar-collapsible-content][data-state=closed]{animation:.15s cubic-bezier(.4,0,1,1) ds-sidebar-collapse}@media (prefers-reduced-motion:reduce){[data-slot=sidebar-collapsible-content]{animation:none!important}}:root,[data-appearance-scope=light]{color-scheme:light;--radius:.5rem;--background:#f9f9fa;--foreground:#140c15;--card:#fff;--card-foreground:#140c15;--popover:#fff;--popover-foreground:#140c15;--brand:#4962ff;--brand-foreground:#fff;--brand-secondary:#1c4e51;--brand-secondary-foreground:#fff;--brand-secondary-background:#eaf3f1;--brand-secondary-border:#b2d4cf;--primary:#3f55df;--primary-foreground:#fff;--secondary:#1e0721;--secondary-foreground:#fff;--muted:#f3f4f5;--muted-foreground:#5f6270;--accent:#3f55df;--accent-hover:#3344c7;--accent-active:#293999;--accent-background:#eef0ff;--accent-foreground:#fff;--selection-background:#f0f1f6;--selection-border:#aeb6e3;--selection-indicator:#6672dc;--selection-foreground:#242a44;--destructive:#c44a53;--border:#e4e5e5;--input:#e4e5e5;--ring:#6371d9;--canvas:var(--background);--surface:var(--card);--surface-muted:#f3f4f5;--surface-raised:#fff;--surface-floating:#fff;--surface-overlay:#fff;--surface-control:var(--surface-muted);--surface-control-hover:var(--surface-raised);--text-primary:var(--foreground);--text-secondary:#373b4a;--text-supporting:#5f6270;--text-muted:#838692;--text-disabled:#a7a9b3;--text-inverse:#fff;--text-link:#3f4da8;--border-subtle:#ececed;--border-default:#d9dadd;--border-strong:#babdc5;--border-focus:var(--ring);--information:#28758a;--information-background:#eaf5f7;--information-border:#b8dce3;--information-foreground:#194d5a;--success:#1c6b62;--success-background:#e7f5f2;--success-border:#a3d6cf;--success-foreground:#164946;--warning:#9a6500;--warning-background:#fff4d8;--warning-border:#ffd083;--warning-foreground:#654000;--danger:#c44a53;--danger-background:#ffe8e9;--danger-border:#ffa1a8;--danger-foreground:#822c35;--neutral:#5f6270;--neutral-background:#f3f4f5;--neutral-border:#d9dadd;--neutral-foreground:#373b4a;--sidebar:#19141a;--sidebar-foreground:#fff;--sidebar-accent:#ffffff12;--sidebar-active:#ffffff17;--sidebar-active-foreground:#fff;--sidebar-active-indicator:#7f8ae8;--sidebar-border:#ffffff14;--sidebar-canvas:var(--sidebar);--sidebar-header:var(--sidebar);--sidebar-content:var(--sidebar);--sidebar-hover:var(--sidebar-accent);--sidebar-primary-text:var(--sidebar-foreground);--sidebar-secondary-text:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){:root,[data-appearance-scope=light]{--sidebar-secondary-text:color-mix(in oklab, var(--sidebar-foreground) 78%, transparent)}}:root,[data-appearance-scope=light]{--sidebar-metadata-text:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){:root,[data-appearance-scope=light]{--sidebar-metadata-text:color-mix(in oklab, var(--sidebar-foreground) 62%, transparent)}}:root,[data-appearance-scope=light]{--sidebar-icon:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){:root,[data-appearance-scope=light]{--sidebar-icon:color-mix(in oklab, var(--sidebar-foreground) 72%, transparent)}}:root,[data-appearance-scope=light]{--sidebar-search:var(--sidebar-accent);--sidebar-footer:var(--sidebar);--sidebar-group-label:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){:root,[data-appearance-scope=light]{--sidebar-group-label:color-mix(in oklab, var(--sidebar-foreground) 72%, transparent)}}:root,[data-appearance-scope=light]{--sidebar-group-count:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){:root,[data-appearance-scope=light]{--sidebar-group-count:color-mix(in oklab, var(--sidebar-foreground) 62%, transparent)}}:root,[data-appearance-scope=light]{--sidebar-focus-ring:var(--ring);--font-sans:"Inter Variable", "Inter", "Aptos", "Segoe UI", Arial, sans-serif;--ds-space-inline:.5rem;--ds-space-control:.625rem;--ds-field-gap:1.25rem;--ds-field-label-gap:.5rem;--ds-field-message-gap:.375rem;--ds-field-control-height:2.75rem;--ds-field-control-padding-x:.875rem;--ds-field-control-radius:.5rem;--ds-field-label-size:.8125rem;--ds-field-label-line-height:1.25rem;--ds-space-field:var(--ds-field-gap);--ds-space-group:1.25rem;--ds-space-section:2rem;--ds-space-page:2.5rem;--ds-tab-padding-x:.875rem;--ds-tab-rail-height:2.75rem;--ds-tab-rail-height-compact:2.5rem;--ds-control-height:2.5rem;--ds-control-height-sm:2rem;--ds-control-height-lg:2.75rem;--ds-control-padding-x:1rem;--ds-topbar-height:3.5rem;--ds-sidebar-width:16rem;--ds-sidebar-width-mobile:18rem;--ds-sidebar-item-height:2.25rem;--ds-sidebar-item-height-touch:2.75rem;--ds-sidebar-header-height:var(--ds-topbar-height);--ds-sidebar-content-padding-x:.625rem;--ds-sidebar-content-padding-y:.75rem;--ds-sidebar-footer-padding:.625rem;--ds-sidebar-group-gap:.25rem;--ds-sidebar-group-label-size:var(--ds-field-label-size);--ds-surface-padding:1.25rem;--ds-table-header-height:2.25rem;--ds-row-height:2.75rem;--ds-page-title:1.75rem;--ds-section-title:1.0625rem;--ds-body:.9375rem;--ds-metadata:.8125rem;--ds-menu-item-size:.75rem;--ds-menu-label-size:.6875rem;--ds-radius-control:.375rem;--ds-radius-surface:.5rem;--ds-shadow-raised:0 1px 2px #140c150f;--ds-shadow-floating:0 12px 28px #140c151a;--ds-focus-ring:0 0 0 3px var(--ring)}@supports (color:color-mix(in lab, red, red)){:root,[data-appearance-scope=light]{--ds-focus-ring:0 0 0 3px color-mix(in oklab, var(--ring) 26%, transparent)}}:root[data-density=compact]{--ds-space-inline:.375rem;--ds-space-control:.5rem;--ds-space-field:1rem;--ds-space-group:1rem;--ds-space-section:1.5rem;--ds-space-page:2rem;--ds-tab-padding-x:.75rem;--ds-tab-rail-height:2.5rem;--ds-tab-rail-height-compact:2.25rem;--ds-control-height:2rem;--ds-control-height-sm:1.75rem;--ds-control-height-lg:2.25rem;--ds-control-padding-x:.75rem;--ds-sidebar-width:15rem;--ds-sidebar-width-mobile:17rem;--ds-sidebar-item-height:2rem;--ds-surface-padding:1rem;--ds-table-header-height:2rem;--ds-row-height:2.5rem;--ds-field-gap:1rem;--ds-page-title:1.5rem;--ds-section-title:.9375rem;--ds-body:.875rem;--ds-metadata:.75rem}:root.dark,:root[data-appearance=dark]{color-scheme:dark;--background:#111214;--foreground:#f7f7f8;--card:#191a1e;--card-foreground:#f7f7f8;--popover:#202126;--popover-foreground:#f7f7f8;--brand:#6b7cff;--brand-foreground:#fff;--brand-secondary:#a3d6cf;--brand-secondary-foreground:#102a2c;--brand-secondary-background:#162c2d;--brand-secondary-border:#315c59;--primary:#5965cc;--primary-foreground:#fff;--secondary:#f3f4f5;--secondary-foreground:#17181b;--muted:#25272d;--muted-foreground:#c5c7cf;--accent:#5965cc;--accent-hover:#5f6bd2;--accent-active:#505bb8;--accent-background:#252a46;--accent-foreground:#fff;--selection-background:#272a35;--selection-border:#555e92;--selection-indicator:#7c86df;--selection-foreground:#f2f3f8;--destructive:#ffa1a8;--border:#ffffff26;--input:#ffffff26;--ring:#7c86df;--canvas:var(--background);--surface:var(--card);--surface-muted:#25272d;--surface-raised:#1d1f24;--surface-floating:#22242a;--surface-overlay:#282a31;--surface-control:var(--surface-raised);--surface-control-hover:var(--surface-muted);--text-primary:var(--foreground);--text-secondary:#e7e8eb;--text-supporting:#c5c7cf;--text-muted:#989ba5;--text-disabled:#696c75;--text-inverse:#17181b;--text-link:#aeb6ef;--border-subtle:#ffffff14;--border-default:#ffffff21;--border-strong:#ffffff38;--border-focus:var(--ring);--information:#8ed4df;--information-background:#163238;--information-border:#346b75;--information-foreground:#d9f2f5;--success:#a3d6cf;--success-background:#143b3d;--success-border:#2f7471;--success-foreground:#d8eeeb;--warning:#ffd083;--warning-background:#4b350c;--warning-border:#8a650f;--warning-foreground:#fff4d8;--danger:#ffa1a8;--danger-background:#55212a;--danger-border:#9d3c48;--danger-foreground:#ffe8e9;--neutral:#a7a9b3;--neutral-background:#25272d;--neutral-border:#ffffff24;--neutral-foreground:#f3f4f5;--sidebar:#151116;--sidebar-foreground:#fff;--sidebar-accent:#ffffff12;--sidebar-active:#ffffff17;--sidebar-active-foreground:#fff;--sidebar-active-indicator:#7c86df;--sidebar-border:#ffffff14;--sidebar-canvas:var(--sidebar);--sidebar-header:var(--sidebar);--sidebar-content:var(--sidebar);--sidebar-hover:var(--sidebar-accent);--sidebar-primary-text:var(--sidebar-foreground);--sidebar-secondary-text:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){:root.dark,:root[data-appearance=dark]{--sidebar-secondary-text:color-mix(in oklab, var(--sidebar-foreground) 78%, transparent)}}:root.dark,:root[data-appearance=dark]{--sidebar-metadata-text:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){:root.dark,:root[data-appearance=dark]{--sidebar-metadata-text:color-mix(in oklab, var(--sidebar-foreground) 62%, transparent)}}:root.dark,:root[data-appearance=dark]{--sidebar-icon:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){:root.dark,:root[data-appearance=dark]{--sidebar-icon:color-mix(in oklab, var(--sidebar-foreground) 72%, transparent)}}:root.dark,:root[data-appearance=dark]{--sidebar-search:var(--sidebar-accent);--sidebar-footer:var(--sidebar);--sidebar-group-label:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){:root.dark,:root[data-appearance=dark]{--sidebar-group-label:color-mix(in oklab, var(--sidebar-foreground) 72%, transparent)}}:root.dark,:root[data-appearance=dark]{--sidebar-group-count:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){:root.dark,:root[data-appearance=dark]{--sidebar-group-count:color-mix(in oklab, var(--sidebar-foreground) 62%, transparent)}}:root.dark,:root[data-appearance=dark]{--sidebar-focus-ring:var(--ring);--ds-shadow-raised:0 1px 2px #00000047;--ds-shadow-floating:0 16px 32px #00000057}[data-sidebar-variant=light],:root:not(.dark):not([data-appearance=dark]) [data-sidebar-variant=auto]{--sidebar:var(--surface-muted);--sidebar-foreground:var(--text-primary);--sidebar-accent:var(--surface-raised);--sidebar-active:var(--accent-background);--sidebar-active-foreground:var(--selection-foreground);--sidebar-active-indicator:var(--selection-indicator);--sidebar-border:var(--border-subtle);--sidebar-canvas:var(--surface-muted);--sidebar-header:var(--surface);--sidebar-content:var(--surface-muted);--sidebar-hover:var(--surface-raised);--sidebar-primary-text:var(--text-primary);--sidebar-secondary-text:var(--text-secondary);--sidebar-metadata-text:var(--text-supporting);--sidebar-icon:var(--text-secondary);--sidebar-search:var(--surface-raised);--sidebar-footer:var(--surface);--sidebar-group-label:var(--text-secondary);--sidebar-group-count:var(--text-supporting);--sidebar-focus-ring:var(--border-focus)}@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-scroll-snap-strictness{syntax:"*";inherits:false;initial-value:proximity}@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-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-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}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes pulse{50%{opacity:.5}}
package/dist/styles.css CHANGED
@@ -81,6 +81,8 @@
81
81
  --surface-raised: #ffffff;
82
82
  --surface-floating: #ffffff;
83
83
  --surface-overlay: #ffffff;
84
+ --surface-control: var(--surface-muted);
85
+ --surface-control-hover: var(--surface-raised);
84
86
  --text-primary: var(--foreground);
85
87
  --text-secondary: #373b4a;
86
88
  --text-supporting: #5f6270;
@@ -253,6 +255,8 @@
253
255
  --surface-raised: #1d1f24;
254
256
  --surface-floating: #22242a;
255
257
  --surface-overlay: #282a31;
258
+ --surface-control: var(--surface-raised);
259
+ --surface-control-hover: var(--surface-muted);
256
260
  --text-primary: var(--foreground);
257
261
  --text-secondary: #e7e8eb;
258
262
  --text-supporting: #c5c7cf;
@@ -400,6 +404,8 @@
400
404
  --color-surface-raised: var(--surface-raised);
401
405
  --color-surface-floating: var(--surface-floating);
402
406
  --color-surface-overlay: var(--surface-overlay);
407
+ --color-surface-control: var(--surface-control);
408
+ --color-surface-control-hover: var(--surface-control-hover);
403
409
  --color-text-primary: var(--text-primary);
404
410
  --color-text-secondary: var(--text-secondary);
405
411
  --color-text-supporting: var(--text-supporting);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@conscia-labs/design-system",
3
- "version": "0.3.1",
3
+ "version": "0.3.2",
4
4
  "description": "The shared React component library for building clear, consistent, and accessible Conscia product experiences.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/primitives/button.tsx","../src/primitives/checkbox.tsx","../src/primitives/table.tsx","../src/primitives/select.tsx","../src/primitives/input.tsx","../src/primitives/separator.tsx","../src/primitives/sheet.tsx","../src/primitives/tooltip.tsx","../src/primitives/dialog.tsx","../src/primitives/tabs.tsx","../src/primitives/card.tsx","../src/primitives/skeleton.tsx","../src/primitives/collapsible.tsx","../src/primitives/dropdown-menu.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"./utils\";\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n default:\n \"bg-primary text-primary-foreground shadow-xs hover:bg-accent-hover active:bg-accent-active\",\n destructive:\n \"bg-danger text-white shadow-xs hover:bg-danger/90 focus-visible:ring-danger/20 dark:focus-visible:ring-danger/40\",\n outline:\n \"border border-border-default bg-background shadow-xs hover:bg-surface-muted hover:text-foreground\",\n secondary: \"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80\",\n ghost: \"hover:bg-surface-muted hover:text-foreground\",\n link: \"text-text-link underline-offset-4 hover:underline\"\n },\n size: {\n default: \"h-[var(--ds-control-height)] px-3 py-2 has-[>svg]:px-3\",\n sm: \"h-[var(--ds-control-height-sm)] rounded-md gap-1.5 px-2.5 has-[>svg]:px-2\",\n lg: \"h-[var(--ds-control-height-lg)] rounded-md px-4 has-[>svg]:px-3.5\",\n icon: \"size-[var(--ds-control-height)]\"\n }\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\"\n }\n },\n);\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n type,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean;\n }) {\n const Comp = asChild ? Slot : \"button\";\n\n return (\n <Comp\n data-slot=\"button\"\n type={asChild ? undefined : (type ?? \"button\")}\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n );\n}\n\nexport { Button, buttonVariants };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { CheckIcon } from \"lucide-react\";\n\nimport { cn } from \"./utils\";\n\nfunction Checkbox({\n className,\n ...props\n}: React.ComponentProps<typeof CheckboxPrimitive.Root>) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n \"peer size-4 shrink-0 rounded-[4px] border border-input shadow-xs transition-shadow outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-danger aria-invalid:ring-danger/20 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:bg-input/30 dark:aria-invalid:ring-danger/40 dark:data-[state=checked]:bg-primary\",\n className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator data-slot=\"checkbox-indicator\" className=\"grid place-content-center text-current transition-none\">\n <CheckIcon className=\"size-3.5\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n}\n\nexport { Checkbox };\n","import * as React from \"react\";\n\nimport { cn } from \"./utils\";\n\nfunction Table({ className, ...props }: React.ComponentProps<\"table\">) {\n return (\n <div data-slot=\"table-container\" className=\"relative w-full overflow-x-auto\">\n <table data-slot=\"table\" className={cn(\"w-full caption-bottom text-sm\", className)} {...props} />\n </div>\n );\n}\n\nfunction TableHeader({ className, ...props }: React.ComponentProps<\"thead\">) {\n return <thead data-slot=\"table-header\" className={cn(\"[&_tr]:border-b [&_tr]:border-border-subtle\", className)} {...props} />;\n}\n\nfunction TableBody({ className, ...props }: React.ComponentProps<\"tbody\">) {\n return <tbody data-slot=\"table-body\" className={cn(\"[&_tr:last-child]:border-0\", className)} {...props} />;\n}\n\nfunction TableRow({ className, ...props }: React.ComponentProps<\"tr\">) {\n return (\n <tr\n data-slot=\"table-row\"\n className={cn(\"h-[var(--ds-row-height)] border-b border-border-subtle transition-colors hover:bg-surface-muted/70 data-[state=selected]:bg-accent-background\", className)}\n {...props}\n />\n );\n}\n\nfunction TableHead({ className, ...props }: React.ComponentProps<\"th\">) {\n return (\n <th\n data-slot=\"table-head\"\n className={cn(\"h-[var(--ds-table-header-height)] whitespace-nowrap px-3 text-left align-middle text-[var(--ds-metadata)] font-semibold uppercase text-muted-foreground\", className)}\n {...props}\n />\n );\n}\n\nfunction TableCell({ className, ...props }: React.ComponentProps<\"td\">) {\n return <td data-slot=\"table-cell\" className={cn(\"whitespace-nowrap px-3 py-2 align-middle text-sm\", className)} {...props} />;\n}\n\nexport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow\n};\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from \"lucide-react\";\n\nimport { cn } from \"./utils\";\n\nfunction Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\nfunction SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />;\n}\n\nfunction SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n}\n\nfunction SelectTrigger({\n className,\n size = \"default\",\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: \"sm\" | \"default\";\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n \"border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-danger/20 aria-invalid:border-danger flex w-fit items-center justify-between gap-2 rounded-[var(--ds-field-control-radius)] border bg-card px-[var(--ds-field-control-padding-x)] py-2 text-sm whitespace-nowrap shadow-none transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[var(--ds-field-control-height)] data-[size=sm]:h-[var(--ds-control-height-sm)] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 dark:aria-invalid:ring-danger/40\",\n className,\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"size-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n );\n}\n\nfunction SelectContent({\n className,\n children,\n position = \"popper\",\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className,\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1\",\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"focus:bg-surface-muted focus:text-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-[length:var(--ds-menu-item-size)] outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n );\n}\n\nfunction SelectLabel({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn(\"text-muted-foreground px-2 py-1.5 text-[length:var(--ds-menu-label-size)]\", className)}\n {...props}\n />\n );\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn(\"bg-border pointer-events-none -mx-1 my-1 h-px\", className)}\n {...props}\n />\n );\n}\n\nfunction SelectScrollUpButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton data-slot=\"select-scroll-up-button\" className={cn(\"flex cursor-default items-center justify-center py-1\", className)} {...props}>\n <ChevronUpIcon className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n );\n}\n\nfunction SelectScrollDownButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton data-slot=\"select-scroll-down-button\" className={cn(\"flex cursor-default items-center justify-center py-1\", className)} {...props}>\n <ChevronDownIcon className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n );\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue\n};\n","import * as React from \"react\";\n\nimport { cn } from \"./utils\";\n\nfunction Input({ className, type, ...props }: React.ComponentProps<\"input\">) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n \"border-input bg-card flex h-[var(--ds-field-control-height)] w-full min-w-0 rounded-[var(--ds-field-control-radius)] border px-[var(--ds-field-control-padding-x)] py-2 text-base shadow-none transition-colors outline-none selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n \"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]\",\n \"aria-invalid:border-danger aria-invalid:ring-danger/20 dark:aria-invalid:ring-danger/40\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Input };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as SeparatorPrimitive from \"@radix-ui/react-separator\";\n\nimport { cn } from \"./utils\";\n\nfunction Separator({\n className,\n orientation = \"horizontal\",\n decorative = true,\n ...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n return (\n <SeparatorPrimitive.Root\n data-slot=\"separator\"\n decorative={decorative}\n orientation={orientation}\n className={cn(\n \"shrink-0 bg-border-subtle data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Separator };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { XIcon } from \"lucide-react\";\n\nimport { cn } from \"./utils\";\n\nfunction Sheet({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"sheet\" {...props} />;\n}\n\nfunction SheetTrigger({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"sheet-trigger\" {...props} />;\n}\n\nfunction SheetPortal({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"sheet-portal\" {...props} />;\n}\n\nfunction SheetClose({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"sheet-close\" {...props} />;\n}\n\nfunction SheetOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"sheet-overlay\"\n className={cn(\"fixed inset-0 z-50 bg-black/50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\", className)}\n {...props}\n />\n );\n}\n\nconst sheetSideClasses = {\n top: \"inset-x-0 top-0 h-auto border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top\",\n right: \"right-0 top-0 h-full max-w-md border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-lg\",\n bottom: \"inset-x-0 bottom-0 h-auto border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom\",\n left: \"left-0 top-0 h-full max-w-md border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-lg\",\n};\n\nfunction SheetContent({\n className,\n children,\n side = \"right\",\n closeLabel = \"Close\",\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content> & {\n side?: keyof typeof sheetSideClasses;\n closeLabel?: string;\n}) {\n return (\n <SheetPortal>\n <SheetOverlay />\n <DialogPrimitive.Content\n data-slot=\"sheet-content\"\n className={cn(\n \"fixed z-50 flex w-full flex-col gap-6 bg-background p-6 text-foreground shadow-lg outline-none data-[state=open]:animate-in data-[state=closed]:animate-out\",\n sheetSideClasses[side],\n className,\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close\n data-slot=\"sheet-close\"\n className=\"absolute right-4 top-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:ring-offset-background disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\"\n >\n <XIcon />\n <span className=\"sr-only\">{closeLabel}</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </SheetPortal>\n );\n}\n\nfunction SheetHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div data-slot=\"sheet-header\" className={cn(\"grid gap-2 pr-8\", className)} {...props} />;\n}\n\nfunction SheetTitle({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return (\n <DialogPrimitive.Title\n data-slot=\"sheet-title\"\n className={cn(\"text-lg font-semibold leading-tight\", className)}\n {...props}\n />\n );\n}\n\nfunction SheetDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return (\n <DialogPrimitive.Description\n data-slot=\"sheet-description\"\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n );\n}\n\nfunction SheetBody({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sheet-body\"\n className={cn(\"flex min-h-0 flex-1 flex-col gap-[var(--ds-space-group)] overflow-y-auto pr-1\", className)}\n {...props}\n />\n );\n}\n\nfunction SheetFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sheet-footer\"\n className={cn(\"mt-auto flex flex-wrap items-center justify-between gap-2 border-t border-border-subtle pt-4\", className)}\n {...props}\n />\n );\n}\n\nexport {\n Sheet,\n SheetBody,\n SheetClose,\n SheetContent,\n SheetDescription,\n SheetFooter,\n SheetHeader,\n SheetOverlay,\n SheetPortal,\n SheetTitle,\n SheetTrigger,\n};\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\n\nimport { cn } from \"./utils\";\n\nfunction TooltipProvider({ delayDuration = 150, ...props }: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return <TooltipPrimitive.Provider data-slot=\"tooltip-provider\" delayDuration={delayDuration} {...props} />;\n}\n\nfunction Tooltip({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />;\n}\n\nfunction TooltipTrigger({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />;\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 6,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\"z-50 w-fit rounded-md bg-foreground px-3 py-1.5 text-balance text-xs text-background shadow-[var(--ds-shadow-floating)]\", className)}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n );\n}\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { XIcon } from \"lucide-react\";\n\nimport { cn } from \"./utils\";\n\nfunction Dialog({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />;\n}\n\nfunction DialogTrigger({ ...props }: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />;\n}\n\nfunction DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />;\n}\n\nfunction DialogPortal({ ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />;\n}\n\nfunction DialogOverlay({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return <DialogPrimitive.Overlay data-slot=\"dialog-overlay\" className={cn(\"fixed inset-0 z-50 bg-black/50\", className)} {...props} />;\n}\n\nfunction DialogContent({\n className,\n children,\n showCloseButton = true,\n size = \"default\",\n closeLabel = \"Close\",\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content> & {\n showCloseButton?: boolean;\n size?: \"small\" | \"default\" | \"large\";\n closeLabel?: string;\n}) {\n return (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n data-size={size}\n className={cn(\n \"fixed left-1/2 top-1/2 z-50 grid max-h-[min(42rem,calc(100vh-2rem))] w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 grid-rows-[auto_minmax(0,1fr)_auto] gap-5 overflow-hidden rounded-lg border bg-background p-5 text-foreground shadow-lg sm:p-6\",\n \"data-[size=small]:sm:max-w-sm data-[size=default]:sm:max-w-lg data-[size=large]:sm:max-w-3xl\",\n className,\n )}\n {...props}\n >\n {children}\n {showCloseButton ? (\n <DialogPrimitive.Close\n data-slot=\"dialog-close\"\n className=\"absolute right-4 top-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:ring-offset-background disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\"\n >\n <XIcon className=\"size-4\" />\n <span className=\"sr-only\">{closeLabel}</span>\n </DialogPrimitive.Close>\n ) : null}\n </DialogPrimitive.Content>\n </DialogPortal>\n );\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div data-slot=\"dialog-header\" className={cn(\"flex flex-col gap-2 text-left\", className)} {...props} />;\n}\n\nfunction DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return <DialogPrimitive.Title data-slot=\"dialog-title\" className={cn(\"text-base font-semibold leading-none\", className)} {...props} />;\n}\n\nfunction DialogDescription({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return <DialogPrimitive.Description data-slot=\"dialog-description\" className={cn(\"text-sm text-muted-foreground\", className)} {...props} />;\n}\n\nfunction DialogBody({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div data-slot=\"dialog-body\" className={cn(\"min-h-0 overflow-y-auto text-sm\", className)} {...props} />;\n}\n\nfunction DialogFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div data-slot=\"dialog-footer\" className={cn(\"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\", className)} {...props} />;\n}\n\nexport {\n Dialog,\n DialogBody,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger\n};\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\nimport { cn } from \"./utils\";\n\ntype TabsVariant = \"underline\" | \"segmented\";\ntype TabsSize = \"default\" | \"compact\";\ntype ScrollPosition = \"none\" | \"start\" | \"middle\" | \"end\";\n\ntype TabsVisualContextValue = {\n variant: TabsVariant;\n size: TabsSize;\n};\n\nconst defaultTabsVisualContext: TabsVisualContextValue = {\n variant: \"underline\",\n size: \"default\",\n};\n\nconst TabsRootVisualContext = React.createContext(defaultTabsVisualContext);\nconst TabsListVisualContext = React.createContext(defaultTabsVisualContext);\n\nconst tabRailClasses =\n \"flex min-w-0 items-stretch overflow-x-auto overscroll-x-contain border-b border-border-subtle scroll-px-2 snap-x [scrollbar-width:none] [&::-webkit-scrollbar]:hidden\";\n\nconst navigationTabClasses =\n \"relative inline-flex h-full shrink-0 snap-start items-center justify-center gap-2 whitespace-nowrap rounded-t-[var(--ds-radius-control)] px-[var(--ds-tab-padding-x)] text-sm font-medium outline-none transition-[background-color,color,box-shadow] duration-150 after:absolute after:inset-x-0 after:bottom-0 after:h-0.5 after:bg-transparent after:transition-colors hover:bg-surface-muted focus-visible:z-10 focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring/60 data-[active=false]:text-muted-foreground data-[active=false]:hover:text-foreground data-[active=true]:bg-selection-background data-[active=true]:font-semibold data-[active=true]:text-selection-foreground data-[active=true]:after:bg-selection-indicator\";\n\nfunction assignRef<T>(ref: React.Ref<T> | undefined, value: T | null) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref) {\n (ref as React.MutableRefObject<T | null>).current = value;\n }\n}\n\nfunction useHorizontalScrollRail<T extends HTMLElement>(externalRef?: React.Ref<T>) {\n const internalRef = React.useRef<T | null>(null);\n const [scrollPosition, setScrollPosition] = React.useState<ScrollPosition>(\"none\");\n\n const updateScrollPosition = React.useCallback(() => {\n const element = internalRef.current;\n if (!element) return;\n\n const maximumScroll = element.scrollWidth - element.clientWidth;\n const nextPosition: ScrollPosition =\n maximumScroll <= 1\n ? \"none\"\n : element.scrollLeft <= 1\n ? \"start\"\n : element.scrollLeft >= maximumScroll - 1\n ? \"end\"\n : \"middle\";\n\n setScrollPosition((current) =>\n current === nextPosition ? current : nextPosition,\n );\n }, []);\n\n const ref = React.useCallback(\n (node: T | null) => {\n internalRef.current = node;\n assignRef(externalRef, node);\n },\n [externalRef],\n );\n\n React.useEffect(() => {\n updateScrollPosition();\n const element = internalRef.current;\n if (!element || typeof ResizeObserver === \"undefined\") return;\n\n const observer = new ResizeObserver(updateScrollPosition);\n observer.observe(element);\n return () => observer.disconnect();\n }, [updateScrollPosition]);\n\n return [scrollPosition, ref, updateScrollPosition] as const;\n}\n\nfunction Tabs({\n className,\n variant = \"underline\",\n size = \"default\",\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Root> & {\n variant?: TabsVariant;\n size?: TabsSize;\n}) {\n return (\n <TabsRootVisualContext.Provider value={{ variant, size }}>\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n data-variant={variant}\n data-size={size}\n className={cn(\"flex min-w-0 flex-col gap-2\", className)}\n {...props}\n />\n </TabsRootVisualContext.Provider>\n );\n}\n\nfunction TabsList({\n className,\n variant,\n size,\n children,\n ref: externalRef,\n onScroll,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.List> & {\n variant?: TabsVariant;\n size?: TabsSize;\n}) {\n const rootVisuals = React.useContext(TabsRootVisualContext);\n const resolvedVariant = variant ?? rootVisuals.variant;\n const resolvedSize = size ?? rootVisuals.size;\n const [scrollPosition, scrollRailRef, updateScrollPosition] =\n useHorizontalScrollRail<HTMLDivElement>(externalRef);\n\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n data-variant={resolvedVariant}\n data-size={resolvedSize}\n data-scroll-position={\n resolvedVariant === \"underline\" ? scrollPosition : undefined\n }\n ref={scrollRailRef}\n onScroll={(event) => {\n updateScrollPosition();\n onScroll?.(event);\n }}\n className={cn(\n \"text-muted-foreground\",\n resolvedVariant === \"underline\" && tabRailClasses,\n resolvedVariant === \"underline\" &&\n (resolvedSize === \"compact\"\n ? \"h-[var(--ds-tab-rail-height-compact)]\"\n : \"h-[var(--ds-tab-rail-height)]\"),\n resolvedVariant === \"segmented\" &&\n \"inline-flex h-[var(--ds-control-height)] items-center gap-1 self-start rounded-md bg-surface-muted p-1\",\n className,\n )}\n {...props}\n >\n <TabsListVisualContext.Provider\n value={{ variant: resolvedVariant, size: resolvedSize }}\n >\n {children}\n </TabsListVisualContext.Provider>\n </TabsPrimitive.List>\n );\n}\n\nfunction TabsTrigger({\n className,\n variant,\n size,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Trigger> & {\n variant?: TabsVariant;\n size?: TabsSize;\n}) {\n const listVisuals = React.useContext(TabsListVisualContext);\n const resolvedVariant = variant ?? listVisuals.variant;\n const resolvedSize = size ?? listVisuals.size;\n\n return (\n <TabsPrimitive.Trigger\n data-slot=\"tabs-trigger\"\n data-variant={resolvedVariant}\n data-size={resolvedSize}\n className={cn(\n \"disabled:pointer-events-none disabled:opacity-50\",\n resolvedVariant === \"underline\" &&\n cn(\n navigationTabClasses,\n \"data-[state=active]:bg-selection-background data-[state=active]:font-semibold data-[state=active]:text-selection-foreground data-[state=active]:after:bg-selection-indicator\",\n ),\n resolvedVariant === \"segmented\" &&\n \"inline-flex h-full items-center justify-center gap-2 whitespace-nowrap rounded-[calc(var(--ds-radius-control)-2px)] px-3 text-sm font-medium text-muted-foreground outline-none transition-[background-color,color,box-shadow] hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring/60 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-xs\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsContent({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return (\n <TabsPrimitive.Content\n data-slot=\"tabs-content\"\n className={cn(\n \"outline-none focus-visible:ring-2 focus-visible:ring-ring/50\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction NavigationTabs({\n className,\n ...props\n}: React.ComponentProps<\"nav\">) {\n return (\n <nav\n data-slot=\"navigation-tabs\"\n className={cn(\"min-w-0\", className)}\n {...props}\n />\n );\n}\n\nfunction NavigationTabsList({\n className,\n ref: externalRef,\n onScroll,\n ...props\n}: React.ComponentProps<\"div\">) {\n const [scrollPosition, scrollRailRef, updateScrollPosition] =\n useHorizontalScrollRail<HTMLDivElement>(externalRef);\n\n return (\n <div\n data-slot=\"navigation-tabs-list\"\n data-scroll-position={scrollPosition}\n ref={scrollRailRef}\n onScroll={(event) => {\n updateScrollPosition();\n onScroll?.(event);\n }}\n className={cn(\n tabRailClasses,\n \"h-[var(--ds-tab-rail-height)]\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction NavigationTab({\n className,\n active = false,\n asChild = false,\n ref: externalRef,\n ...props\n}: React.ComponentProps<\"a\"> & {\n active?: boolean;\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot : \"a\";\n const internalRef = React.useRef<HTMLAnchorElement | null>(null);\n const ref = React.useCallback(\n (node: HTMLAnchorElement | null) => {\n internalRef.current = node;\n assignRef(externalRef, node);\n },\n [externalRef],\n );\n\n React.useEffect(() => {\n if (!active) return;\n internalRef.current?.scrollIntoView({\n behavior: \"auto\",\n block: \"nearest\",\n inline: \"nearest\",\n });\n }, [active]);\n\n return (\n <Comp\n {...props}\n data-slot=\"navigation-tab\"\n data-active={active ? \"true\" : \"false\"}\n aria-current={active ? \"page\" : undefined}\n ref={ref}\n className={cn(\n navigationTabClasses,\n className,\n )}\n />\n );\n}\n\nexport {\n NavigationTab,\n NavigationTabs,\n NavigationTabsList,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n};\nexport type { TabsSize, TabsVariant };\n","import * as React from \"react\";\n\nimport { cn } from \"./utils\";\n\nfunction Card({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card\"\n className={cn(\"flex flex-col gap-5 rounded-lg border border-border-default bg-card py-[var(--ds-surface-padding)] text-card-foreground shadow-sm\", className)}\n {...props}\n />\n );\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div data-slot=\"card-header\" className={cn(\"grid auto-rows-min gap-1.5 px-[var(--ds-surface-padding)]\", className)} {...props} />;\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div data-slot=\"card-title\" className={cn(\"font-semibold leading-none\", className)} {...props} />;\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div data-slot=\"card-description\" className={cn(\"text-sm text-muted-foreground\", className)} {...props} />;\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div data-slot=\"card-content\" className={cn(\"px-[var(--ds-surface-padding)]\", className)} {...props} />;\n}\n\nexport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle\n};\n","import * as React from \"react\";\n\nimport { cn } from \"./utils\";\n\nfunction Skeleton({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"skeleton\"\n className={cn(\"animate-pulse rounded-md bg-surface-muted\", className)}\n {...props}\n />\n );\n}\n\nexport { Skeleton };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\";\n\nfunction Collapsible({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.Root>) {\n return <CollapsiblePrimitive.Root data-slot=\"collapsible\" {...props} />;\n}\n\nfunction CollapsibleTrigger({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.Trigger>) {\n return (\n <CollapsiblePrimitive.Trigger\n data-slot=\"collapsible-trigger\"\n {...props}\n />\n );\n}\n\nfunction CollapsibleContent({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.Content>) {\n return (\n <CollapsiblePrimitive.Content\n data-slot=\"collapsible-content\"\n {...props}\n />\n );\n}\n\nexport { Collapsible, CollapsibleContent, CollapsibleTrigger };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport { ChevronRight } from \"lucide-react\";\n\nimport { cn } from \"./utils\";\n\nfunction DropdownMenu({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />;\n}\n\nfunction DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({ className, children, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger>) {\n return <DropdownMenuPrimitive.SubTrigger data-slot=\"dropdown-menu-sub-trigger\" className={cn(\"focus:bg-surface-muted flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-[length:var(--ds-menu-item-size)] outline-hidden\", className)} {...props}>{children}<ChevronRight className=\"ml-auto size-4 text-muted-foreground\" /></DropdownMenuPrimitive.SubTrigger>;\n}\n\nfunction DropdownMenuSubContent({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return <DropdownMenuPrimitive.Portal><DropdownMenuPrimitive.SubContent data-slot=\"dropdown-menu-sub-content\" className={cn(\"z-50 min-w-56 overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-[var(--ds-shadow-floating)]\", className)} {...props} /></DropdownMenuPrimitive.Portal>;\n}\n\nfunction DropdownMenuTrigger({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return <DropdownMenuPrimitive.Trigger data-slot=\"dropdown-menu-trigger\" {...props} />;\n}\n\nfunction DropdownMenuContent({\n className,\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n className={cn(\"z-50 min-w-40 overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-[var(--ds-shadow-floating)]\", className)}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: \"default\" | \"destructive\";\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\"focus:bg-surface-muted focus:text-foreground data-[variant=destructive]:text-danger-foreground data-[variant=destructive]:focus:bg-danger-background relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-[length:var(--ds-menu-item-size)] outline-hidden transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset=true]:pl-8\", className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return <DropdownMenuPrimitive.Label data-slot=\"dropdown-menu-label\" data-inset={inset} className={cn(\"px-2 py-1.5 text-[length:var(--ds-menu-label-size)] font-medium data-[inset=true]:pl-8\", className)} {...props} />;\n}\n\nfunction DropdownMenuSeparator({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return <DropdownMenuPrimitive.Separator data-slot=\"dropdown-menu-separator\" className={cn(\"-mx-1 my-1 h-px bg-border\", className)} {...props} />;\n}\n\nexport { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger };\n"],"mappings":"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","names":["jsx","jsx","CheckIcon","jsx","CheckIcon","jsx","jsx","Separator","jsx","jsxs","jsx","jsxs","DialogPrimitive","XIcon","jsx","jsxs","XIcon","Slot","jsx","Slot","jsx","jsx","jsx","jsx","jsxs"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/primitives/alert.tsx","../src/primitives/avatar.tsx","../src/primitives/badge.tsx","../src/primitives/switch.tsx","../src/primitives/textarea.tsx","../src/primitives/compat.tsx","../src/primitives/field.tsx","../src/primitives/form-select.tsx","../src/primitives/label.tsx","../src/primitives/searchable-select.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"./utils\";\n\nconst alertVariants = cva(\n \"relative grid w-full grid-cols-[auto_1fr] items-start gap-x-3 rounded-[var(--ds-radius-surface)] border px-4 py-3.5 text-sm [&>svg]:mt-0.5 [&>svg]:size-5\",\n {\n variants: {\n variant: {\n default: \"border-border-default bg-card text-foreground\",\n information:\n \"border-information-border bg-information-background text-information-foreground\",\n success:\n \"border-success-border bg-success-background text-success-foreground\",\n warning:\n \"border-warning-border bg-warning-background text-warning-foreground\",\n danger: \"border-danger-border bg-danger-background text-danger-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof alertVariants>) {\n return (\n <div\n data-slot=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\"font-medium leading-5\", className)}\n {...props}\n />\n );\n}\n\nfunction AlertDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\"col-start-2 mt-0.5 text-sm leading-5 opacity-80\", className)}\n {...props}\n />\n );\n}\n\nexport { Alert, AlertDescription, AlertTitle, alertVariants };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\";\n\nimport { cn } from \"./utils\";\n\nfunction Avatar({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Root>) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n className={cn(\"relative flex size-8 shrink-0 overflow-hidden rounded-full\", className)}\n {...props}\n />\n );\n}\n\nfunction AvatarImage({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn(\"aspect-square size-full\", className)}\n {...props}\n />\n );\n}\n\nfunction AvatarFallback({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\"flex size-full items-center justify-center rounded-full bg-surface-muted text-xs font-medium text-muted-foreground\", className)}\n {...props}\n />\n );\n}\n\nexport { Avatar, AvatarFallback, AvatarImage };\n","import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"./utils\";\n\nconst badgeVariants = cva(\n \"inline-flex items-center rounded-md border px-1.5 py-0.5 text-[var(--ds-metadata)] font-medium leading-4 transition-colors\",\n {\n variants: {\n variant: {\n default: \"border-primary bg-primary text-primary-foreground\",\n accent: \"border-selection-border bg-selection-background text-selection-foreground\",\n secondary: \"border-neutral-border bg-neutral-background text-neutral-foreground\",\n neutral: \"border-neutral-border bg-neutral-background text-neutral-foreground\",\n outline: \"border-border-default text-foreground\",\n information: \"border-information-border bg-information-background text-information-foreground\",\n info: \"border-information-border bg-information-background text-information-foreground\",\n success: \"border-success-border bg-success-background text-success-foreground\",\n warning: \"border-warning-border bg-warning-background text-warning-foreground\",\n danger: \"border-danger-border bg-danger-background text-danger-foreground\",\n destructive: \"border-danger-border bg-danger-background text-danger-foreground\"\n }\n },\n defaultVariants: {\n variant: \"neutral\"\n }\n },\n);\n\nfunction Badge({\n className,\n variant,\n ...props\n}: React.ComponentProps<\"span\"> & VariantProps<typeof badgeVariants>) {\n return <span data-slot=\"badge\" className={cn(badgeVariants({ variant, className }))} {...props} />;\n}\n\nexport { Badge, badgeVariants };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as SwitchPrimitive from \"@radix-ui/react-switch\";\n\nimport { cn } from \"./utils\";\n\nfunction Switch({\n className,\n size = \"default\",\n ...props\n}: React.ComponentProps<typeof SwitchPrimitive.Root> & {\n size?: \"sm\" | \"default\";\n}) {\n return (\n <SwitchPrimitive.Root\n data-slot=\"switch\"\n data-size={size}\n className={cn(\n \"peer group/switch inline-flex shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[1.15rem] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80\",\n className,\n )}\n {...props}\n >\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n className=\"pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0 dark:data-[state=checked]:bg-primary-foreground dark:data-[state=unchecked]:bg-foreground\"\n />\n </SwitchPrimitive.Root>\n );\n}\n\nexport { Switch };\n","import * as React from \"react\";\n\nimport { cn } from \"./utils\";\n\nfunction Textarea({ className, ...props }: React.ComponentProps<\"textarea\">) {\n return (\n <textarea\n data-slot=\"textarea\"\n className={cn(\"min-h-28 w-full rounded-[var(--ds-field-control-radius)] border border-input bg-card px-[var(--ds-field-control-padding-x)] py-3 text-sm outline-none transition-colors placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50\", className)}\n {...props}\n />\n );\n}\n\nexport { Textarea };\n","import * as React from \"react\";\n\nimport { Button } from \"./button\";\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from \"./card\";\nimport { Checkbox } from \"./checkbox\";\nimport { Input } from \"./input\";\nimport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"./select\";\nimport { Switch } from \"./switch\";\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"./table\";\nimport { Textarea } from \"./textarea\";\nimport { cn } from \"./utils\";\n\n/**\n * Temporary Admin UI migration aliases. New product code should import the\n * clean primitive names from @conscia-labs/design-system.\n */\nconst ConsciaButton = Button;\n\nfunction ConsciaIconButton({\n size = \"icon\",\n ...props\n}: React.ComponentProps<typeof Button>) {\n return <Button size={size} {...props} />;\n}\n\nconst ConsciaCard = Card;\nconst ConsciaCardContent = CardContent;\nconst ConsciaCardDescription = CardDescription;\n\nfunction ConsciaCardHeader({\n actionRight,\n className,\n children,\n ...props\n}: React.ComponentProps<typeof CardHeader> & {\n actionRight?: React.ReactNode;\n}) {\n if (!actionRight) {\n return (\n <CardHeader className={className} {...props}>\n {children}\n </CardHeader>\n );\n }\n\n return (\n <CardHeader\n className={cn(\n \"grid grid-cols-[minmax(0,1fr)_auto] items-start gap-4\",\n className,\n )}\n {...props}\n >\n <div className=\"grid gap-2\">{children}</div>\n <div className=\"justify-self-end\">{actionRight}</div>\n </CardHeader>\n );\n}\n\nconst ConsciaCardTitle = CardTitle;\nconst ConsciaCheckbox = Checkbox;\nconst ConsciaInput = Input;\nconst ConsciaSwitch = Switch;\nconst ConsciaTextarea = Textarea;\nconst ConsciaSelect = Select;\nconst ConsciaSelectContent = SelectContent;\nconst ConsciaSelectGroup = SelectGroup;\nconst ConsciaSelectItem = SelectItem;\nconst ConsciaSelectTrigger = SelectTrigger;\nconst ConsciaSelectValue = SelectValue;\nconst ConsciaTable = Table;\nconst ConsciaTableBody = TableBody;\nconst ConsciaTableCell = TableCell;\nconst ConsciaTableHeader = TableHeader;\nconst ConsciaTableHead = TableHead;\nconst ConsciaTableRow = TableRow;\n\nexport {\n ConsciaButton,\n ConsciaCard,\n ConsciaCardContent,\n ConsciaCardDescription,\n ConsciaCardHeader,\n ConsciaCardTitle,\n ConsciaCheckbox,\n ConsciaIconButton,\n ConsciaInput,\n ConsciaSwitch,\n ConsciaTextarea,\n ConsciaSelect,\n ConsciaSelectContent,\n ConsciaSelectGroup,\n ConsciaSelectItem,\n ConsciaSelectTrigger,\n ConsciaSelectValue,\n ConsciaTable,\n ConsciaTableBody,\n ConsciaTableCell,\n ConsciaTableHeader,\n ConsciaTableHead,\n ConsciaTableRow,\n};\n","import * as React from \"react\";\n\nimport { cn } from \"./utils\";\n\nfunction Field({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field\"\n className={cn(\"grid gap-[var(--ds-field-label-gap)]\", className)}\n {...props}\n />\n );\n}\n\nfunction FieldGroup({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field-group\"\n className={cn(\"grid gap-[var(--ds-field-gap)]\", className)}\n {...props}\n />\n );\n}\n\nfunction FieldLabel({\n className,\n ...props\n}: React.ComponentProps<\"label\">) {\n return (\n <label\n data-slot=\"field-label\"\n className={cn(\"text-[length:var(--ds-field-label-size)] font-medium leading-[var(--ds-field-label-line-height)] text-foreground\", className)}\n {...props}\n />\n );\n}\n\nfunction FieldDescription({\n className,\n ...props\n}: React.ComponentProps<\"p\">) {\n return (\n <p\n data-slot=\"field-description\"\n className={cn(\"mt-[var(--ds-field-message-gap)] text-[var(--ds-metadata)] text-muted-foreground\", className)}\n {...props}\n />\n );\n}\n\nfunction FieldError({\n className,\n ...props\n}: React.ComponentProps<\"p\">) {\n return (\n <p\n data-slot=\"field-error\"\n className={cn(\"mt-[var(--ds-field-message-gap)] text-[var(--ds-metadata)] font-medium text-danger-foreground\", className)}\n {...props}\n />\n );\n}\n\nexport { Field, FieldDescription, FieldError, FieldGroup, FieldLabel };\n","\"use client\";\n\nimport * as React from \"react\";\n\nimport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"./select\";\nimport { cn } from \"./utils\";\n\ntype FormSelectOption = {\n value: string;\n label: React.ReactNode;\n disabled?: boolean;\n};\n\ntype FormSelectProps = {\n id?: string;\n name?: string;\n value?: string;\n defaultValue?: string;\n required?: boolean;\n disabled?: boolean;\n placeholder?: string;\n options: FormSelectOption[];\n className?: string;\n triggerClassName?: string;\n contentClassName?: string;\n onValueChange?: (value: string) => void;\n onClick?: React.MouseEventHandler<HTMLDivElement>;\n \"aria-label\"?: string;\n};\n\nconst emptyValue = \"__conscia_empty_select_value__\";\n\nfunction toSelectValue(value: string | undefined) {\n if (value === undefined) {\n return undefined;\n }\n\n return value === \"\" ? emptyValue : value;\n}\n\nfunction fromSelectValue(value: string) {\n return value === emptyValue ? \"\" : value;\n}\n\nfunction FormSelect({\n name,\n id,\n value,\n defaultValue,\n required,\n disabled,\n placeholder,\n options,\n className,\n triggerClassName,\n contentClassName,\n onValueChange,\n onClick,\n \"aria-label\": ariaLabel,\n}: FormSelectProps) {\n const [internalValue, setInternalValue] = React.useState(defaultValue ?? \"\");\n const currentValue = value ?? internalValue;\n\n function handleValueChange(nextValue: string) {\n const actualValue = fromSelectValue(nextValue);\n\n if (value === undefined) {\n setInternalValue(actualValue);\n }\n\n onValueChange?.(actualValue);\n }\n\n return (\n <div className={cn(\"min-w-0\", className)} onClick={onClick}>\n <Select\n name={name}\n value={toSelectValue(currentValue)}\n required={required}\n disabled={disabled}\n onValueChange={handleValueChange}\n >\n <SelectTrigger id={id} aria-label={ariaLabel} className={triggerClassName}>\n <SelectValue placeholder={placeholder} />\n </SelectTrigger>\n <SelectContent className={contentClassName}>\n <SelectGroup>\n {options.map((option) => (\n <SelectItem\n key={option.value}\n value={toSelectValue(option.value) ?? emptyValue}\n disabled={option.disabled}\n >\n {option.label}\n </SelectItem>\n ))}\n </SelectGroup>\n </SelectContent>\n </Select>\n </div>\n );\n}\n\nconst ConsciaFormSelect = FormSelect;\n\nexport { ConsciaFormSelect, FormSelect };\nexport type { FormSelectOption, FormSelectProps };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\n\nimport { cn } from \"./utils\";\n\nfunction Label({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n \"flex items-center gap-2 text-[length:var(--ds-field-label-size)] font-medium leading-[var(--ds-field-label-line-height)] text-foreground select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Label };\n","\"use client\";\n\nimport * as React from \"react\";\nimport { Check, ChevronsUpDown, Search, X } from \"lucide-react\";\n\nimport { Button } from \"./button\";\nimport { Input } from \"./input\";\nimport { cn } from \"./utils\";\n\ntype SearchableSelectOption = {\n value: string;\n label: string;\n description?: string;\n keywords?: string[];\n disabled?: boolean;\n};\n\ntype SearchableSelectProps = {\n id?: string;\n name?: string;\n value?: string;\n options: SearchableSelectOption[];\n onValueChange: (value: string) => void;\n placeholder?: string;\n searchPlaceholder?: string;\n emptyMessage?: string;\n disabled?: boolean;\n clearable?: boolean;\n clearLabel?: string;\n optionsLabel?: string;\n className?: string;\n \"aria-label\"?: string;\n};\n\nfunction SearchableSelect({\n id,\n name,\n value = \"\",\n options,\n onValueChange,\n placeholder = \"Select an option\",\n searchPlaceholder = \"Search...\",\n emptyMessage = \"No matching options.\",\n disabled = false,\n clearable = false,\n clearLabel = \"Clear selection\",\n optionsLabel,\n className,\n \"aria-label\": ariaLabel,\n}: SearchableSelectProps) {\n const generatedId = React.useId();\n const listboxId = `${id ?? generatedId}-listbox`;\n const rootRef = React.useRef<HTMLDivElement>(null);\n const activeOptionRef = React.useRef<HTMLButtonElement>(null);\n const [open, setOpen] = React.useState(false);\n const [search, setSearch] = React.useState(\"\");\n const [activeIndex, setActiveIndex] = React.useState(0);\n const selected = options.find((option) => option.value === value);\n const normalizedSearch = search.trim().toLowerCase();\n const filteredOptions = normalizedSearch\n ? options.filter((option) =>\n [option.label, option.description, ...(option.keywords ?? [])]\n .filter(Boolean)\n .join(\" \")\n .toLowerCase()\n .includes(normalizedSearch),\n )\n : options;\n const enabledIndexes = filteredOptions.reduce<number[]>((indexes, option, index) => {\n if (!option.disabled) {\n indexes.push(index);\n }\n\n return indexes;\n }, []);\n const resolvedActiveIndex = enabledIndexes.includes(activeIndex)\n ? activeIndex\n : (enabledIndexes[0] ?? -1);\n\n React.useEffect(() => {\n if (!open) {\n return;\n }\n\n function closeWhenOutside(event: PointerEvent) {\n if (!rootRef.current?.contains(event.target as Node)) {\n setOpen(false);\n setSearch(\"\");\n }\n }\n document.addEventListener(\"pointerdown\", closeWhenOutside);\n return () => document.removeEventListener(\"pointerdown\", closeWhenOutside);\n }, [open]);\n\n React.useEffect(() => {\n if (open) {\n activeOptionRef.current?.scrollIntoView({ block: \"nearest\" });\n }\n }, [open, resolvedActiveIndex]);\n\n function select(option: SearchableSelectOption) {\n if (option.disabled) {\n return;\n }\n\n onValueChange(option.value);\n setSearch(\"\");\n setOpen(false);\n }\n\n function onKeyDown(event: React.KeyboardEvent<HTMLInputElement>) {\n if (event.key === \"ArrowDown\") {\n event.preventDefault();\n setOpen(true);\n setActiveIndex((current) => {\n const position = enabledIndexes.indexOf(current);\n return enabledIndexes[Math.min(enabledIndexes.length - 1, position + 1)] ?? -1;\n });\n } else if (event.key === \"ArrowUp\") {\n event.preventDefault();\n setOpen(true);\n setActiveIndex((current) => {\n const position = enabledIndexes.indexOf(current);\n return enabledIndexes[Math.max(0, position === -1 ? 0 : position - 1)] ?? -1;\n });\n } else if (event.key === \"Home\") {\n event.preventDefault();\n setOpen(true);\n setActiveIndex(enabledIndexes[0] ?? -1);\n } else if (event.key === \"End\") {\n event.preventDefault();\n setOpen(true);\n setActiveIndex(enabledIndexes.at(-1) ?? -1);\n } else if (event.key === \"Enter\" && open && filteredOptions[resolvedActiveIndex]) {\n event.preventDefault();\n select(filteredOptions[resolvedActiveIndex]);\n } else if (event.key === \"Escape\") {\n setOpen(false);\n setSearch(\"\");\n } else if (event.key === \"Tab\") {\n setOpen(false);\n setSearch(\"\");\n }\n }\n\n return (\n <div ref={rootRef} data-slot=\"searchable-select\" className={cn(\"relative min-w-0\", className)}>\n {name ? <input type=\"hidden\" name={name} value={value} /> : null}\n <div className=\"relative\">\n <Search className=\"pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground\" aria-hidden=\"true\" />\n <Input\n id={id}\n role=\"combobox\"\n aria-label={ariaLabel}\n aria-autocomplete=\"list\"\n aria-expanded={open}\n aria-controls={open ? listboxId : undefined}\n aria-activedescendant={open && filteredOptions[resolvedActiveIndex] ? `${listboxId}-${resolvedActiveIndex}` : undefined}\n autoComplete=\"off\"\n className=\"px-9\"\n disabled={disabled}\n placeholder={open ? searchPlaceholder : placeholder}\n value={open ? search : selected?.label ?? \"\"}\n onFocus={(event) => {\n setOpen(true);\n setSearch(\"\");\n event.currentTarget.select();\n }}\n onClick={() => {\n if (!open) {\n setOpen(true);\n setSearch(\"\");\n }\n }}\n onChange={(event) => {\n setSearch(event.target.value);\n setOpen(true);\n setActiveIndex(0);\n }}\n onKeyDown={onKeyDown}\n />\n {clearable && value ? (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon\"\n disabled={disabled}\n className=\"absolute right-8 top-1/2 -translate-y-1/2\"\n aria-label={clearLabel}\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => {\n onValueChange(\"\");\n setSearch(\"\");\n }}\n >\n <X />\n </Button>\n ) : null}\n <ChevronsUpDown className=\"pointer-events-none absolute right-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground\" aria-hidden=\"true\" />\n </div>\n\n {open ? (\n <div\n id={listboxId}\n role=\"listbox\"\n aria-label={optionsLabel ?? (ariaLabel ? `${ariaLabel} options` : \"Options\")}\n className=\"absolute z-50 mt-1 max-h-72 w-full overflow-y-auto rounded-md border border-border-subtle bg-popover p-1 text-popover-foreground shadow-md\"\n >\n {filteredOptions.length ? filteredOptions.map((option, index) => (\n <button\n key={option.value}\n id={`${listboxId}-${index}`}\n type=\"button\"\n role=\"option\"\n aria-selected={option.value === value}\n aria-disabled={option.disabled || undefined}\n disabled={option.disabled}\n tabIndex={-1}\n ref={index === resolvedActiveIndex ? activeOptionRef : undefined}\n data-active={index === resolvedActiveIndex}\n className=\"flex w-full items-center gap-3 rounded-sm px-3 py-2 text-left text-[length:var(--ds-menu-item-size)] outline-none hover:bg-surface-muted focus-visible:bg-surface-muted data-[active=true]:bg-surface-muted disabled:pointer-events-none disabled:opacity-50\"\n onMouseDown={(event) => event.preventDefault()}\n onMouseEnter={() => setActiveIndex(index)}\n onClick={() => select(option)}\n >\n <span className=\"grid min-w-0 flex-1 gap-0.5\">\n <span className=\"truncate font-medium\">{option.label}</span>\n {option.description ? <span className=\"truncate text-[length:var(--ds-menu-label-size)] text-muted-foreground\">{option.description}</span> : null}\n </span>\n {option.value === value ? <Check className=\"size-4 shrink-0 text-success-foreground\" aria-hidden=\"true\" /> : null}\n </button>\n )) : <p className=\"px-3 py-6 text-center text-[length:var(--ds-menu-item-size)] text-muted-foreground\">{emptyMessage}</p>}\n </div>\n ) : null}\n </div>\n );\n}\n\nexport { SearchableSelect };\nexport type { SearchableSelectOption, SearchableSelectProps };\n"],"mappings":"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","names":["jsx","cva","jsx","cva","jsx","jsx","jsx","jsx","jsx","jsxs","jsx","React","jsx","jsxs"]}