@darthcharles/greda 1.1.0 → 1.3.0

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/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/components/ui/button.tsx","../src/components/ui/input.tsx","../src/components/ui/textarea.tsx","../src/components/ui/label.tsx","../src/components/ui/select.tsx","../src/components/ui/dialog.tsx","../src/components/ui/card.tsx","../src/components/ui/badge.tsx","../src/components/ui/checkbox.tsx","../src/components/ui/tabs.tsx","../src/components/ui/toast.tsx","../src/components/ui/tooltip.tsx"],"sourcesContent":["// Adapted from shadcn/ui (New York). See upstream/shadcn-ui for source and MIT license.\nimport * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst buttonVariants = cva(\n \"comal-ui inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all active:[&:not([aria-haspopup])]:translate-y-px motion-reduce:active:[&:not([aria-haspopup])]:transform-none focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-disabled [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n default:\n \"bg-primary text-primary-foreground shadow hover:bg-primary-hover\",\n destructive:\n \"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90\",\n outline:\n \"border border-primary surface-primary shadow-sm hover:bg-accent hover:text-accent-foreground\",\n secondary:\n \"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-action underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-9 px-4 py-2\",\n sm: \"h-8 rounded-md px-3 text-xs\",\n lg: \"h-10 rounded-md px-8\",\n icon: \"h-9 w-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n);\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n loading?: boolean;\n asChild?: boolean;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n variant,\n size,\n asChild = false,\n loading = false,\n disabled,\n type,\n ...props\n },\n ref\n ) => {\n const Comp = asChild ? Slot : \"button\";\n return (\n <Comp\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref}\n type={asChild ? undefined : type ?? \"button\"}\n disabled={asChild ? undefined : disabled || loading}\n aria-busy={loading || undefined}\n {...props}\n />\n );\n }\n);\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\n","// Adapted from shadcn/ui (New York). See upstream/shadcn-ui for source and MIT license.\nimport * as React from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst Input = React.forwardRef<HTMLInputElement, React.ComponentProps<\"input\">>(\n ({ className, type, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(\n \"comal-ui\",\n \"flex h-9 w-full rounded-md border border-primary bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-primary placeholder:text-muted focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-disabled aria-[invalid=true]:border-destructive md:text-sm\",\n className\n )}\n ref={ref}\n {...props}\n />\n );\n }\n);\nInput.displayName = \"Input\";\n\nexport { Input };\n","// Adapted from shadcn/ui (New York). See upstream/shadcn-ui for source and MIT license.\nimport * as React from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst Textarea = React.forwardRef<\n HTMLTextAreaElement,\n React.ComponentProps<\"textarea\">\n>(({ className, ...props }, ref) => {\n return (\n <textarea\n className={cn(\n \"comal-ui\",\n \"flex min-h-[60px] w-full rounded-md border border-primary bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-muted focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-disabled aria-[invalid=true]:border-destructive md:text-sm\",\n className\n )}\n ref={ref}\n {...props}\n />\n );\n});\nTextarea.displayName = \"Textarea\";\n\nexport { Textarea };\n","// Adapted from shadcn/ui (New York). See upstream/shadcn-ui for source and MIT license.\n\"use client\";\n\nimport * as React from \"react\";\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst labelVariants = cva(\n \"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\n);\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <LabelPrimitive.Root\n ref={ref}\n className={cn(\"comal-ui\", labelVariants(), className)}\n {...props}\n />\n));\nLabel.displayName = LabelPrimitive.Root.displayName;\n\nexport { Label };\n","// Adapted from shadcn/ui (New York). See upstream/shadcn-ui for source and MIT license.\n\"use client\";\n\nimport * as React from \"react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { Check, ChevronDown, ChevronUp } from \"lucide-react\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst Select = SelectPrimitive.Root;\n\nconst SelectGroup = SelectPrimitive.Group;\n\nconst SelectValue = SelectPrimitive.Value;\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-primary bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background data-[placeholder]:text-muted focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-disabled aria-[invalid=true]:border-destructive [&>span]:line-clamp-1\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDown className=\"h-4 w-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n));\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronUp className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollUpButton>\n));\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronDown className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollDownButton>\n));\nSelectScrollDownButton.displayName =\n SelectPrimitive.ScrollDownButton.displayName;\n\nexport type SelectContentProps = React.ComponentPropsWithoutRef<\n typeof SelectPrimitive.Content\n> & {\n container?: React.ComponentPropsWithoutRef<\n typeof SelectPrimitive.Portal\n >[\"container\"];\n};\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n SelectContentProps\n>(({ className, container, children, position = \"popper\", ...props }, ref) => (\n <SelectPrimitive.Portal container={container}>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"relative z-popover max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border surface-raised text-primary shadow-md 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 origin-[--radix-select-content-transform-origin]\",\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 \"comal-ui\",\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]\"\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n));\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"px-2 py-1.5 text-sm font-semibold\",\n className\n )}\n {...props}\n />\n));\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex h-3.5 w-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n));\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"-mx-1 my-1 h-px bg-muted\",\n className\n )}\n {...props}\n />\n));\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n};\n","// Adapted from shadcn/ui (New York). See upstream/shadcn-ui for source and MIT license.\n\"use client\";\n\nimport * as React from \"react\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { X } from \"lucide-react\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst Dialog = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"fixed inset-0 z-overlay bg-overlay data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className\n )}\n {...props}\n />\n));\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\nexport type DialogContentProps = React.ComponentPropsWithoutRef<\n typeof DialogPrimitive.Content\n> & {\n container?: React.ComponentPropsWithoutRef<\n typeof DialogPrimitive.Portal\n >[\"container\"];\n};\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n DialogContentProps\n>(({ className, container, children, ...props }, ref) => (\n <DialogPortal container={container}>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"fixed left-[50%] top-[50%] z-overlay grid text-primary w-[calc(100%-2rem)] max-w-lg max-h-[calc(100dvh-2rem)] overflow-y-auto translate-x-[-50%] translate-y-[-50%] gap-4 border surface-primary p-6 shadow-lg duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg\",\n className\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"comal-ui absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted\">\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n));\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"comal-ui\",\n \"flex flex-col space-y-1.5 text-center sm:text-left\",\n className\n )}\n {...props}\n />\n);\nDialogHeader.displayName = \"DialogHeader\";\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"comal-ui\",\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className\n )}\n {...props}\n />\n);\nDialogFooter.displayName = \"DialogFooter\";\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"comal-heading text-lg font-semibold leading-none tracking-tight\",\n className\n )}\n {...props}\n />\n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\"comal-ui\", \"text-sm text-muted\", className)}\n {...props}\n />\n));\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogTrigger,\n DialogClose,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n};\n","// Adapted from shadcn/ui (New York). See upstream/shadcn-ui for source and MIT license.\nimport * as React from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"rounded-xl border surface-raised text-primary shadow\",\n className\n )}\n {...props}\n />\n));\nCard.displayName = \"Card\";\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"flex flex-col space-y-1.5 p-6\",\n className\n )}\n {...props}\n />\n));\nCardHeader.displayName = \"CardHeader\";\n\nconst CardTitle = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"comal-heading font-semibold leading-none tracking-tight\",\n className\n )}\n {...props}\n />\n));\nCardTitle.displayName = \"CardTitle\";\n\nconst CardDescription = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"comal-ui\", \"text-sm text-muted\", className)}\n {...props}\n />\n));\nCardDescription.displayName = \"CardDescription\";\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"comal-ui\", \"p-6 pt-0\", className)}\n {...props}\n />\n));\nCardContent.displayName = \"CardContent\";\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"flex items-center p-6 pt-0\",\n className\n )}\n {...props}\n />\n));\nCardFooter.displayName = \"CardFooter\";\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardDescription,\n CardContent,\n};\n","// Adapted from shadcn/ui (New York). See upstream/shadcn-ui for source and MIT license.\nimport * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst badgeVariants = cva(\n \"comal-ui inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2\",\n {\n variants: {\n variant: {\n default:\n \"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n destructive:\n \"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80\",\n outline: \"text-primary\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n);\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof badgeVariants> {}\n\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n return (\n <div className={cn(badgeVariants({ variant }), className)} {...props} />\n );\n}\n\nexport { Badge, badgeVariants };\n","// Adapted from shadcn/ui (New York). See upstream/shadcn-ui for source and MIT license.\n\"use client\";\n\nimport * as React from \"react\";\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { Check, Minus } from \"lucide-react\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst Checkbox = React.forwardRef<\n React.ElementRef<typeof CheckboxPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"grid place-content-center peer h-4 w-4 shrink-0 rounded-sm border border-action shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-disabled aria-[invalid=true]:border-destructive data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground\",\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className={cn(\n \"comal-ui\",\n \"grid place-content-center text-current\"\n )}\n >\n <Check className=\"h-4 w-4\" data-check-icon=\"\" />\n <Minus className=\"h-4 w-4\" data-mixed-icon=\"\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n));\nCheckbox.displayName = CheckboxPrimitive.Root.displayName;\n\nexport { Checkbox };\n","// Adapted from shadcn/ui (New York). See upstream/shadcn-ui for source and MIT license.\n\"use client\";\n\nimport * as React from \"react\";\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst Tabs = TabsPrimitive.Root;\n\nconst TabsList = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.List\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted data-[orientation=vertical]:h-auto data-[orientation=vertical]:flex-col\",\n className\n )}\n {...props}\n />\n));\nTabsList.displayName = TabsPrimitive.List.displayName;\n\nconst TabsTrigger = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Trigger\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:surface-primary data-[state=active]:text-primary data-[state=active]:shadow\",\n className\n )}\n {...props}\n />\n));\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName;\n\nconst TabsContent = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Content\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n className\n )}\n {...props}\n />\n));\nTabsContent.displayName = TabsPrimitive.Content.displayName;\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent };\n","// Adapted from shadcn/ui (New York). See upstream/shadcn-ui for source and MIT license.\n\"use client\";\n\nimport * as React from \"react\";\nimport * as ToastPrimitives from \"@radix-ui/react-toast\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { X } from \"lucide-react\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst ToastProvider = ToastPrimitives.Provider;\n\nconst ToastViewport = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Viewport>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Viewport>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Viewport\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"fixed top-0 z-toast flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[var(--toast-width)]\",\n className\n )}\n {...props}\n />\n));\nToastViewport.displayName = ToastPrimitives.Viewport.displayName;\n\nconst toastVariants = cva(\n \"group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full\",\n {\n variants: {\n variant: {\n default: \"border surface-primary text-primary\",\n destructive:\n \"destructive group border-destructive bg-destructive text-destructive-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n);\n\nconst Toast = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Root> &\n VariantProps<typeof toastVariants>\n>(({ className, variant, ...props }, ref) => {\n return (\n <ToastPrimitives.Root\n ref={ref}\n className={cn(\"comal-ui\", toastVariants({ variant }), className)}\n {...props}\n />\n );\n});\nToast.displayName = ToastPrimitives.Root.displayName;\n\nconst ToastAction = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Action>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Action>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Action\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary focus:outline-none focus:ring-1 focus:ring-ring disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive\",\n className\n )}\n {...props}\n />\n));\nToastAction.displayName = ToastPrimitives.Action.displayName;\n\nconst ToastClose = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Close>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Close>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Close\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"absolute right-1 top-1 rounded-md p-1 text-primary/50 opacity-0 transition-opacity hover:text-primary focus:opacity-100 focus:outline-none focus:ring-1 group-hover:opacity-100 group-[.destructive]:text-destructive-foreground/80 group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive-foreground group-[.destructive]:focus:ring-offset-destructive\",\n className\n )}\n aria-label=\"Dismiss notification\"\n toast-close=\"\"\n {...props}\n >\n <X className=\"h-4 w-4\" />\n </ToastPrimitives.Close>\n));\nToastClose.displayName = ToastPrimitives.Close.displayName;\n\nconst ToastTitle = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Title>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Title>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Title\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"text-sm font-semibold [&+div]:text-xs\",\n className\n )}\n {...props}\n />\n));\nToastTitle.displayName = ToastPrimitives.Title.displayName;\n\nconst ToastDescription = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Description>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Description>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Description\n ref={ref}\n className={cn(\"comal-ui\", \"text-sm opacity-90\", className)}\n {...props}\n />\n));\nToastDescription.displayName = ToastPrimitives.Description.displayName;\n\ntype ToastProps = React.ComponentPropsWithoutRef<typeof Toast>;\n\ntype ToastActionElement = React.ReactElement<typeof ToastAction>;\n\nexport {\n type ToastProps,\n type ToastActionElement,\n ToastProvider,\n ToastViewport,\n Toast,\n ToastTitle,\n ToastDescription,\n ToastClose,\n ToastAction,\n};\n","// Adapted from shadcn/ui (New York). See upstream/shadcn-ui for source and MIT license.\n\"use client\";\n\nimport * as React from \"react\";\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst TooltipProvider = TooltipPrimitive.Provider;\n\nconst Tooltip = TooltipPrimitive.Root;\n\nconst TooltipTrigger = TooltipPrimitive.Trigger;\n\nexport type TooltipContentProps = React.ComponentPropsWithoutRef<\n typeof TooltipPrimitive.Content\n> & {\n container?: React.ComponentPropsWithoutRef<\n typeof TooltipPrimitive.Portal\n >[\"container\"];\n};\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n TooltipContentProps\n>(({ className, container, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Portal container={container}>\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"comal-ui\",\n \"z-popover max-w-[var(--tooltip-width)] overflow-hidden rounded-md surface-inverse px-3 py-1.5 text-xs text-inverse animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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 origin-[--radix-tooltip-content-transform-origin]\",\n className\n )}\n {...props}\n />\n </TooltipPrimitive.Portal>\n));\nTooltipContent.displayName = TooltipPrimitive.Content.displayName;\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };\n"],"names":["buttonVariants","cva","Button","React","className","variant","size","asChild","loading","disabled","type","props","ref","jsx","Slot","cn","Input","Textarea","labelVariants","Label","LabelPrimitive","Select","SelectPrimitive","SelectGroup","SelectValue","SelectTrigger","children","jsxs","ChevronDown","SelectScrollUpButton","ChevronUp","SelectScrollDownButton","SelectContent","container","position","SelectLabel","SelectItem","Check","SelectSeparator","Dialog","DialogPrimitive","DialogTrigger","DialogPortal","DialogClose","DialogOverlay","DialogContent","X","DialogHeader","DialogFooter","DialogTitle","DialogDescription","Card","CardHeader","CardTitle","CardDescription","CardContent","CardFooter","badgeVariants","Badge","Checkbox","CheckboxPrimitive","Minus","Tabs","TabsPrimitive","TabsList","TabsTrigger","TabsContent","ToastProvider","ToastPrimitives","ToastViewport","toastVariants","Toast","ToastAction","ToastClose","ToastTitle","ToastDescription","TooltipProvider","TooltipPrimitive","Tooltip","TooltipTrigger","TooltipContent","sideOffset"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/components/ui/button.tsx","../src/components/ui/input.tsx","../src/components/ui/textarea.tsx","../src/components/ui/label.tsx","../src/components/ui/select.tsx","../src/components/ui/popover.tsx","../src/components/ui/combobox.tsx","../src/components/ui/dialog.tsx","../src/components/ui/card.tsx","../src/components/ui/badge.tsx","../src/components/ui/checkbox.tsx","../src/components/ui/tabs.tsx","../src/components/ui/toast.tsx","../src/components/ui/tooltip.tsx"],"sourcesContent":["// Adapted from shadcn/ui (New York). See upstream/shadcn-ui for source and MIT license.\nimport * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst buttonVariants = cva(\n \"comal-ui inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all active:[&:not([aria-haspopup])]:translate-y-px motion-reduce:active:[&:not([aria-haspopup])]:transform-none focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-disabled [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n default:\n \"bg-primary text-primary-foreground shadow hover:bg-primary-hover\",\n destructive:\n \"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90\",\n outline:\n \"border border-primary surface-primary shadow-sm hover:bg-accent hover:text-accent-foreground\",\n secondary:\n \"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-action underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-9 px-4 py-2\",\n sm: \"h-8 rounded-md px-3 text-xs\",\n lg: \"h-10 rounded-md px-8\",\n icon: \"h-9 w-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n);\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n loading?: boolean;\n asChild?: boolean;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n variant,\n size,\n asChild = false,\n loading = false,\n disabled,\n type,\n ...props\n },\n ref\n ) => {\n const Comp = asChild ? Slot : \"button\";\n return (\n <Comp\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref}\n type={asChild ? undefined : type ?? \"button\"}\n disabled={asChild ? undefined : disabled || loading}\n aria-busy={loading || undefined}\n {...props}\n />\n );\n }\n);\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\n","// Adapted from shadcn/ui (New York). See upstream/shadcn-ui for source and MIT license.\nimport * as React from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst Input = React.forwardRef<HTMLInputElement, React.ComponentProps<\"input\">>(\n ({ className, type, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(\n \"comal-ui\",\n \"flex h-9 w-full rounded-md border border-primary bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-primary placeholder:text-muted focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-disabled aria-[invalid=true]:border-destructive md:text-sm\",\n className\n )}\n ref={ref}\n {...props}\n />\n );\n }\n);\nInput.displayName = \"Input\";\n\nexport { Input };\n","// Adapted from shadcn/ui (New York). See upstream/shadcn-ui for source and MIT license.\nimport * as React from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst Textarea = React.forwardRef<\n HTMLTextAreaElement,\n React.ComponentProps<\"textarea\">\n>(({ className, ...props }, ref) => {\n return (\n <textarea\n className={cn(\n \"comal-ui\",\n \"flex min-h-[60px] w-full rounded-md border border-primary bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-muted focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-disabled aria-[invalid=true]:border-destructive md:text-sm\",\n className\n )}\n ref={ref}\n {...props}\n />\n );\n});\nTextarea.displayName = \"Textarea\";\n\nexport { Textarea };\n","// Adapted from shadcn/ui (New York). See upstream/shadcn-ui for source and MIT license.\n\"use client\";\n\nimport * as React from \"react\";\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst labelVariants = cva(\n \"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\n);\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <LabelPrimitive.Root\n ref={ref}\n className={cn(\"comal-ui\", labelVariants(), className)}\n {...props}\n />\n));\nLabel.displayName = LabelPrimitive.Root.displayName;\n\nexport { Label };\n","// Adapted from shadcn/ui (New York). See upstream/shadcn-ui for source and MIT license.\n\"use client\";\n\nimport * as React from \"react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { Check, ChevronDown, ChevronUp } from \"lucide-react\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst Select = SelectPrimitive.Root;\n\nconst SelectGroup = SelectPrimitive.Group;\n\nconst SelectValue = SelectPrimitive.Value;\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-primary bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background data-[placeholder]:text-muted focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-disabled aria-[invalid=true]:border-destructive [&>span]:line-clamp-1\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDown className=\"h-4 w-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n));\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronUp className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollUpButton>\n));\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronDown className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollDownButton>\n));\nSelectScrollDownButton.displayName =\n SelectPrimitive.ScrollDownButton.displayName;\n\nexport type SelectContentProps = React.ComponentPropsWithoutRef<\n typeof SelectPrimitive.Content\n> & {\n container?: React.ComponentPropsWithoutRef<\n typeof SelectPrimitive.Portal\n >[\"container\"];\n};\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n SelectContentProps\n>(({ className, container, children, position = \"popper\", ...props }, ref) => (\n <SelectPrimitive.Portal container={container}>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"relative z-popover max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border surface-raised text-primary shadow-md 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 origin-[--radix-select-content-transform-origin]\",\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 \"comal-ui\",\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]\"\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n));\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"px-2 py-1.5 text-sm font-semibold\",\n className\n )}\n {...props}\n />\n));\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex h-3.5 w-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n));\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"-mx-1 my-1 h-px bg-muted\",\n className\n )}\n {...props}\n />\n));\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n};\n","// Adapted from shadcn/ui (New York). See upstream/shadcn-ui for source and MIT license.\n\"use client\";\n\nimport * as React from \"react\";\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst PopoverAnchor = PopoverPrimitive.Anchor;\n\nexport type PopoverAnchorProps = React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Anchor>;\n\ntype Side = NonNullable<React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>[\"side\"]>;\ntype Align = NonNullable<React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>[\"align\"]>;\n\nexport interface PopoverProps extends React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Root> {\n placement?: Side | `${Side}-${Exclude<Align, \"center\">}`;\n sideOffset?: number;\n}\n\n// Keep root-level positioning options compatible with the original Popover API.\nconst PopoverPositionContext = React.createContext<{\n side: Side;\n align: Align;\n sideOffset: number;\n}>({ side: \"bottom\", align: \"center\", sideOffset: 4 });\n\nfunction Popover({ placement = \"bottom\", sideOffset = 4, ...props }: PopoverProps) {\n const [side, align = \"center\"] = placement.split(\"-\") as [Side, Align?];\n return (\n <PopoverPositionContext.Provider value={{ side, align, sideOffset }}>\n <PopoverPrimitive.Root {...props} />\n </PopoverPositionContext.Provider>\n );\n}\n\nexport type PopoverTriggerProps = React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Trigger>;\n\nconst PopoverTrigger = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Trigger>,\n PopoverTriggerProps\n>(({ className, ...props }, ref) => (\n <PopoverPrimitive.Trigger\n ref={ref}\n className={cn(\"comal-ui\", className)}\n {...props}\n />\n));\nPopoverTrigger.displayName = PopoverPrimitive.Trigger.displayName;\n\nexport type PopoverContentProps = React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> & {\n container?: React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Portal>[\"container\"]\n | React.RefObject<HTMLElement | null>;\n};\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n PopoverContentProps\n>(({ container, className, collisionPadding = 8, forceMount, ...props }, ref) => {\n const position = React.useContext(PopoverPositionContext);\n const containerRef = container && \"current\" in container ? container : undefined;\n const [refContainer, setRefContainer] = React.useState<HTMLElement | null>(null);\n React.useEffect(() => {\n setRefContainer(containerRef?.current ?? null);\n }, [containerRef]);\n if (containerRef && !refContainer) return null;\n const portalContainer = container && \"current\" in container ? refContainer : container;\n return (\n <PopoverPrimitive.Portal container={portalContainer} forceMount={forceMount}>\n <PopoverPrimitive.Content\n ref={ref}\n side={position.side}\n align={position.align}\n sideOffset={position.sideOffset}\n collisionPadding={collisionPadding}\n forceMount={forceMount}\n className={cn(\n \"comal-ui\",\n \"z-popover w-72 max-w-[var(--radix-popover-content-available-width)] max-h-[var(--radix-popover-content-available-height)] overflow-y-auto rounded-md border bg-popover p-4 text-popover-foreground shadow-md 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 origin-[--radix-popover-content-transform-origin]\",\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n );\n});\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\n\nexport type PopoverCloseProps = React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Close>;\n\nconst PopoverClose = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Close>,\n PopoverCloseProps\n>(({ className, ...props }, ref) => (\n <PopoverPrimitive.Close\n ref={ref}\n className={cn(\"comal-ui\", className)}\n {...props}\n />\n));\nPopoverClose.displayName = PopoverPrimitive.Close.displayName;\n\nexport { Popover, PopoverTrigger, PopoverContent, PopoverClose, PopoverAnchor };\n","\"use client\";\n\nimport * as React from \"react\";\nimport { Check, ChevronDown } from \"lucide-react\";\n\nimport { cn } from \"../../lib/utils\";\nimport { Input } from \"./input\";\nimport { Popover, PopoverAnchor, PopoverContent, type PopoverContentProps } from \"./popover\";\n\nexport interface ComboboxOption {\n /** Stable, unique ID used for selection and form submission. */\n value: string;\n label: string;\n disabled?: boolean;\n keywords?: string[];\n}\n\nexport type ComboboxFilter = (option: ComboboxOption, query: string) => boolean;\n\nexport interface ComboboxProps {\n children: React.ReactNode;\n options: ComboboxOption[];\n value?: ComboboxOption | null;\n defaultValue?: ComboboxOption | null;\n onValueChange?: (option: ComboboxOption | null) => void;\n inputValue?: string;\n defaultInputValue?: string;\n onInputValueChange?: (query: string) => void;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n /** false preserves remote results and their ordering without filtering again. */\n filter?: ComboboxFilter | false;\n loading?: boolean;\n error?: React.ReactNode;\n disabled?: boolean;\n name?: string;\n form?: string;\n onCreate?: (query: string) => ComboboxOption | Promise<ComboboxOption>;\n /** Additional eligibility check; the server must still enforce uniqueness. */\n isValidNewOption?: (query: string, options: ComboboxOption[]) => boolean;\n}\n\ninterface ComboboxEntry {\n id: string;\n option?: ComboboxOption;\n}\n\ninterface ComboboxContextValue {\n listId: string;\n statusId: string;\n selected: ComboboxOption | null;\n query: string;\n open: boolean;\n disabled: boolean;\n loading: boolean;\n creating: boolean;\n creationFailed: boolean;\n error: React.ReactNode;\n options: ComboboxOption[];\n entries: ComboboxEntry[];\n activeId: string | null;\n createId: string | null;\n inputRef: React.MutableRefObject<HTMLInputElement | null>;\n composingRef: React.MutableRefObject<boolean>;\n form?: string;\n optionId: (option: ComboboxOption) => string;\n setOpen: (open: boolean) => void;\n setQuery: (query: string) => void;\n setActiveId: (id: string | null) => void;\n select: (entry: ComboboxEntry) => void;\n}\n\nconst ComboboxContext = React.createContext<ComboboxContextValue | null>(null);\n\nfunction useCombobox() {\n const context = React.useContext(ComboboxContext);\n if (!context) throw new Error(\"Combobox parts must be used inside Combobox.\");\n return context;\n}\n\nfunction normalize(value: string) {\n return value.trim().toLocaleLowerCase();\n}\n\nconst defaultFilter: ComboboxFilter = (option, query) =>\n [option.label, ...(option.keywords ?? [])].some((text) =>\n normalize(text).includes(normalize(query))\n );\n\nfunction Combobox({\n children,\n options,\n value,\n defaultValue = null,\n onValueChange,\n inputValue,\n defaultInputValue = \"\",\n onInputValueChange,\n open: controlledOpen,\n defaultOpen = false,\n onOpenChange,\n filter = defaultFilter,\n loading = false,\n error,\n disabled = false,\n name,\n form,\n onCreate,\n isValidNewOption,\n}: ComboboxProps) {\n const id = React.useId();\n const [internalValue, setInternalValue] = React.useState(defaultValue);\n const [internalQuery, setInternalQuery] = React.useState(defaultInputValue);\n const [internalOpen, setInternalOpen] = React.useState(defaultOpen);\n const [createdOptions, setCreatedOptions] = React.useState<ComboboxOption[]>([]);\n const [activeId, setActiveId] = React.useState<string | null>(null);\n const [creating, setCreating] = React.useState(false);\n const [creationFailed, setCreationFailed] = React.useState(false);\n const inputRef = React.useRef<HTMLInputElement | null>(null);\n const composingRef = React.useRef(false);\n const formInputRef = React.useRef<HTMLInputElement>(null);\n const mounted = React.useRef(false);\n const creationPending = React.useRef(false);\n const operation = React.useRef(0);\n const selected = value === undefined ? internalValue : value;\n const query = inputValue === undefined ? internalQuery : inputValue;\n const open = !disabled && (controlledOpen ?? internalOpen);\n const previousOpen = React.useRef(open);\n const optionId = (option: ComboboxOption) => `${id}-option-${encodeURIComponent(option.value)}`;\n\n React.useEffect(() => {\n mounted.current = true;\n return () => {\n mounted.current = false;\n operation.current += 1;\n };\n }, []);\n\n // Dismissal, replacement of a controlled value, or a new query invalidates\n // the selection side effect of an outstanding creation request.\n React.useEffect(() => {\n operation.current += 1;\n }, [open, query, selected?.value]);\n\n function setQuery(next: string) {\n if (next === query) return;\n operation.current += 1;\n if (inputValue === undefined) setInternalQuery(next);\n onInputValueChange?.(next);\n setActiveId(null);\n setCreationFailed(false);\n }\n\n function setOpen(next: boolean) {\n if (disabled && next) return;\n if (next !== open) {\n operation.current += 1;\n if (controlledOpen === undefined) setInternalOpen(next);\n onOpenChange?.(next);\n }\n }\n\n function setSelected(next: ComboboxOption | null) {\n if (value === undefined) setInternalValue(next);\n onValueChange?.(next);\n }\n\n React.useEffect(() => {\n if (previousOpen.current && !open) {\n setQuery(\"\");\n setActiveId(null);\n setCreationFailed(false);\n }\n previousOpen.current = open;\n }, [open]);\n\n React.useEffect(() => {\n const owner = formInputRef.current?.form;\n if (!owner) return;\n const reset = (event: Event) => {\n // React's delegated onReset can cancel the native reset after this listener.\n queueMicrotask(() => {\n if (event.defaultPrevented || !mounted.current) return;\n operation.current += 1;\n if (value === undefined) setInternalValue(defaultValue);\n if (inputValue === undefined) setInternalQuery(defaultInputValue);\n if (controlledOpen === undefined) {\n previousOpen.current = false;\n setInternalOpen(false);\n }\n setActiveId(null);\n setCreationFailed(false);\n });\n };\n owner.addEventListener(\"reset\", reset);\n return () => owner.removeEventListener(\"reset\", reset);\n }, [form, value, inputValue, controlledOpen, defaultValue, defaultInputValue]);\n\n const allOptions = filter === false ? options : [\n ...options,\n ...createdOptions.filter((created) => !options.some((option) => option.value === created.value)),\n ];\n const visibleOptions = loading || error ? [] : allOptions.filter((option) =>\n filter === false || filter(option, query)\n );\n const trimmedQuery = query.trim();\n const existingMatch = [...allOptions, ...(selected ? [selected] : [])].some((option) =>\n normalize(option.label) === normalize(trimmedQuery)\n );\n const createId = onCreate && trimmedQuery && !existingMatch && !loading && !error &&\n !creating && (isValidNewOption?.(trimmedQuery, allOptions) ?? true)\n ? `${id}-create` : null;\n const entries: ComboboxEntry[] = creating ? [] : [\n ...visibleOptions.filter((option) => !option.disabled).map((option) => ({ id: optionId(option), option })),\n ...(createId ? [{ id: createId }] : []),\n ];\n const currentActiveId = entries.some((entry) => entry.id === activeId) ? activeId : null;\n\n async function select(entry: ComboboxEntry) {\n if (disabled || inputRef.current?.readOnly || loading || error || creationPending.current) return;\n if (entry.option) {\n if (entry.option.disabled) return;\n setSelected(entry.option);\n setOpen(false);\n return;\n }\n if (!onCreate || !createId || entry.id !== createId) return;\n const request = ++operation.current;\n creationPending.current = true;\n setCreating(true);\n setCreationFailed(false);\n try {\n const option = await onCreate(trimmedQuery);\n if (!mounted.current || operation.current !== request || inputRef.current?.readOnly) return;\n if (option.disabled) throw new Error(\"The created option is disabled.\");\n if (filter !== false) setCreatedOptions((previous) => [\n ...previous.filter((item) => item.value !== option.value), option,\n ]);\n setSelected(option);\n setOpen(false);\n } catch {\n if (mounted.current && operation.current === request) setCreationFailed(true);\n } finally {\n creationPending.current = false;\n if (mounted.current) setCreating(false);\n }\n }\n\n return (\n <ComboboxContext.Provider value={{\n listId: `${id}-list`, statusId: `${id}-status`, selected, query, open,\n disabled, loading, creating, creationFailed, error, options: visibleOptions,\n entries, activeId: currentActiveId, createId, inputRef, composingRef, form, optionId,\n setOpen, setQuery, setActiveId, select,\n }}>\n <Popover open={open} onOpenChange={setOpen} placement=\"bottom-start\">\n <input ref={formInputRef} type=\"hidden\" name={name} form={form}\n value={selected?.value ?? \"\"} disabled={disabled} />\n {children}\n </Popover>\n </ComboboxContext.Provider>\n );\n}\n\nexport type ComboboxInputProps = Omit<\n React.ComponentPropsWithoutRef<typeof Input>,\n \"value\" | \"defaultValue\" | \"type\" | \"role\" | \"name\" | \"disabled\"\n>;\n\nconst ComboboxInput = React.forwardRef<HTMLInputElement, ComboboxInputProps>(\n ({ className, onChange, onFocus, onClick, onBlur, onKeyDown, onCompositionStart,\n onCompositionEnd, readOnly, required, form, ...props }, ref) => {\n const context = useCombobox();\n const composing = context.composingRef;\n const { inputRef, selected, query, open, disabled, creating } = context;\n\n React.useEffect(() => {\n inputRef.current?.setCustomValidity(required && !selected ? \"Please select an option.\" : \"\");\n }, [inputRef, required, selected]);\n\n function handleKeyDown(event: React.KeyboardEvent<HTMLInputElement>) {\n onKeyDown?.(event);\n if (event.defaultPrevented || composing.current || event.nativeEvent.isComposing ||\n event.keyCode === 229 || readOnly) return;\n if (event.key === \"ArrowDown\" || event.key === \"ArrowUp\") {\n event.preventDefault();\n context.setOpen(true);\n const entries = context.entries;\n const index = entries.findIndex((entry) => entry.id === context.activeId);\n const next = event.key === \"ArrowDown\"\n ? (index + 1) % entries.length\n : (index < 0 ? entries.length - 1 : (index - 1 + entries.length) % entries.length);\n context.setActiveId(entries[next]?.id ?? null);\n } else if (event.key === \"Enter\" && open) {\n event.preventDefault();\n const entry = context.entries.find((item) => item.id === context.activeId);\n if (entry) context.select(entry);\n } else if (event.key === \"Escape\" && open) {\n event.preventDefault();\n event.stopPropagation();\n context.setOpen(false);\n }\n }\n\n return (\n <PopoverAnchor asChild>\n <div className=\"comal-ui relative w-full\">\n <Input\n {...props}\n ref={(element) => {\n inputRef.current = element;\n if (typeof ref === \"function\") ref(element);\n else if (ref) ref.current = element;\n }}\n className={cn(\"pr-8\", className)}\n type=\"text\"\n role=\"combobox\"\n autoComplete=\"off\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n aria-expanded={open}\n aria-controls={open ? context.listId : undefined}\n aria-activedescendant={open ? context.activeId ?? undefined : undefined}\n aria-describedby={[props[\"aria-describedby\"], open ? context.statusId : null].filter(Boolean).join(\" \") || undefined}\n aria-busy={context.loading || creating || props[\"aria-busy\"]}\n aria-readonly={readOnly || creating || props[\"aria-readonly\"]}\n aria-required={required || props[\"aria-required\"]}\n value={open ? query : selected?.label ?? \"\"}\n disabled={disabled}\n // Keep pending creation subject to required form validation.\n readOnly={readOnly}\n required={required && !selected}\n form={form ?? context.form}\n onChange={(event) => {\n onChange?.(event);\n if (event.defaultPrevented || readOnly || creating) return;\n context.setQuery(event.target.value);\n context.setOpen(true);\n }}\n onFocus={(event) => {\n onFocus?.(event);\n if (!event.defaultPrevented && !readOnly) context.setOpen(true);\n }}\n onClick={(event) => {\n onClick?.(event);\n if (!event.defaultPrevented && !readOnly) context.setOpen(true);\n }}\n onBlur={onBlur}\n onKeyDown={handleKeyDown}\n onCompositionStart={(event) => {\n composing.current = true;\n onCompositionStart?.(event);\n }}\n onCompositionEnd={(event) => {\n composing.current = false;\n onCompositionEnd?.(event);\n }}\n />\n <ChevronDown aria-hidden=\"true\" className=\"pointer-events-none absolute right-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted\" />\n </div>\n </PopoverAnchor>\n );\n }\n);\nComboboxInput.displayName = \"ComboboxInput\";\n\nexport interface ComboboxContentProps extends Omit<PopoverContentProps, \"children\" | \"role\"> {\n emptyText?: React.ReactNode;\n loadingText?: React.ReactNode;\n creatingText?: React.ReactNode;\n createErrorText?: React.ReactNode;\n renderCreateLabel?: (query: string) => React.ReactNode;\n renderOption?: (option: ComboboxOption) => React.ReactNode;\n getStatusText?: (count: number, canCreate: boolean) => string;\n}\n\nconst ComboboxContent = React.forwardRef<HTMLDivElement, ComboboxContentProps>(\n ({ className, emptyText = \"No options found.\", loadingText = \"Loading options…\",\n creatingText = \"Creating option…\", createErrorText = \"Could not create the option. Try again.\",\n renderCreateLabel = (query) => `Create “${query}”`, renderOption = (option) => option.label,\n getStatusText = (count, canCreate) => `${count} ${count === 1 ? \"option\" : \"options\"} available.${canCreate ? \" You can also create an option.\" : \"\"}`,\n onOpenAutoFocus, onCloseAutoFocus, onInteractOutside, onEscapeKeyDown, onPointerDown,\n \"aria-label\": ariaLabel = \"Suggestions\",\n ...props }, ref) => {\n const context = useCombobox();\n const lastOpenContext = React.useRef(context);\n\n React.useEffect(() => {\n if (context.open) lastOpenContext.current = context;\n }, [context]);\n\n // The query resets on close, but Radix keeps the popup mounted for its exit\n // animation. Keep the outgoing results stable until it is hidden.\n const display = context.open ? context : lastOpenContext.current;\n\n React.useEffect(() => {\n if (context.open && context.activeId) {\n context.inputRef.current?.ownerDocument.getElementById(context.activeId)?.scrollIntoView({ block: \"nearest\" });\n }\n }, [context.open, context.activeId, context.inputRef]);\n\n const status = display.creating ? creatingText : display.loading ? loadingText : display.error ||\n (display.creationFailed ? createErrorText : display.options.length === 0 && !display.createId\n ? emptyText : null);\n\n return (\n <PopoverContent\n {...props}\n ref={ref}\n role=\"presentation\"\n className={cn(\"w-[var(--radix-popover-trigger-width)] p-1\", className)}\n onOpenAutoFocus={(event) => {\n onOpenAutoFocus?.(event);\n // Editable combobox focus stays on the input; options use active-descendant.\n event.preventDefault();\n }}\n onCloseAutoFocus={(event) => {\n onCloseAutoFocus?.(event);\n // Preserve the next field's focus when dismissing with Tab/outside press.\n event.preventDefault();\n }}\n onInteractOutside={(event) => {\n onInteractOutside?.(event);\n if (event.target === context.inputRef.current) event.preventDefault();\n }}\n onEscapeKeyDown={(event) => {\n onEscapeKeyDown?.(event);\n if (context.composingRef.current || event.isComposing || event.keyCode === 229) event.preventDefault();\n }}\n onPointerDown={(event) => {\n onPointerDown?.(event);\n event.preventDefault();\n }}\n >\n <div id={context.listId} role=\"listbox\" aria-label={ariaLabel}\n aria-busy={display.loading || display.creating || undefined}>\n {display.options.map((option) => {\n const id = context.optionId(option);\n return (\n <div key={option.value} id={id} role=\"option\"\n aria-selected={context.selected?.value === option.value}\n aria-disabled={option.disabled || display.creating || undefined}\n data-highlighted={display.activeId === id ? \"\" : undefined}\n className=\"comal-ui relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground aria-disabled:opacity-disabled\"\n onPointerMove={() => {\n if (!option.disabled && !context.creating) context.setActiveId(id);\n }}\n onClick={() => context.select({ id, option })}\n >\n {renderOption(option)}\n {context.selected?.value === option.value && (\n <Check aria-hidden=\"true\" className=\"absolute right-2 h-4 w-4\" />\n )}\n </div>\n );\n })}\n {display.createId && (\n <div id={display.createId} role=\"option\" aria-selected=\"false\"\n data-highlighted={display.activeId === display.createId ? \"\" : undefined}\n className=\"comal-ui cursor-default select-none rounded-sm px-2 py-1.5 text-sm outline-none data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground\"\n onPointerMove={() => context.setActiveId(display.createId)}\n onClick={() => context.select({ id: display.createId! })}\n >\n {renderCreateLabel(display.query.trim())}\n </div>\n )}\n </div>\n <div id={context.statusId} role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"\n className={cn(\"comal-ui\", status ? \"px-2 py-1.5 text-sm\" : \"sr-only\",\n status && (display.creationFailed ? \"text-destructive\" : \"text-muted\"))}>\n {status ?? getStatusText(display.options.length, Boolean(display.createId))}\n </div>\n </PopoverContent>\n );\n }\n);\nComboboxContent.displayName = \"ComboboxContent\";\n\nexport { Combobox, ComboboxInput, ComboboxContent };\n","// Adapted from shadcn/ui (New York). See upstream/shadcn-ui for source and MIT license.\n\"use client\";\n\nimport * as React from \"react\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { X } from \"lucide-react\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst Dialog = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"fixed inset-0 z-overlay bg-overlay data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className\n )}\n {...props}\n />\n));\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\nexport type DialogContentProps = React.ComponentPropsWithoutRef<\n typeof DialogPrimitive.Content\n> & {\n container?: React.ComponentPropsWithoutRef<\n typeof DialogPrimitive.Portal\n >[\"container\"];\n};\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n DialogContentProps\n>(({ className, container, children, ...props }, ref) => (\n <DialogPortal container={container}>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"fixed left-[50%] top-[50%] z-overlay grid text-primary w-[calc(100%-2rem)] max-w-lg max-h-[calc(100dvh-2rem)] overflow-y-auto translate-x-[-50%] translate-y-[-50%] gap-4 border surface-primary p-6 shadow-lg duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg\",\n className\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"comal-ui absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted\">\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n));\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"comal-ui\",\n \"flex flex-col space-y-1.5 text-center sm:text-left\",\n className\n )}\n {...props}\n />\n);\nDialogHeader.displayName = \"DialogHeader\";\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"comal-ui\",\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className\n )}\n {...props}\n />\n);\nDialogFooter.displayName = \"DialogFooter\";\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"comal-heading text-lg font-semibold leading-none tracking-tight\",\n className\n )}\n {...props}\n />\n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\"comal-ui\", \"text-sm text-muted\", className)}\n {...props}\n />\n));\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogTrigger,\n DialogClose,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n};\n","// Adapted from shadcn/ui (New York). See upstream/shadcn-ui for source and MIT license.\nimport * as React from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"rounded-xl border surface-raised text-primary shadow\",\n className\n )}\n {...props}\n />\n));\nCard.displayName = \"Card\";\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"flex flex-col space-y-1.5 p-6\",\n className\n )}\n {...props}\n />\n));\nCardHeader.displayName = \"CardHeader\";\n\nconst CardTitle = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"comal-heading font-semibold leading-none tracking-tight\",\n className\n )}\n {...props}\n />\n));\nCardTitle.displayName = \"CardTitle\";\n\nconst CardDescription = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"comal-ui\", \"text-sm text-muted\", className)}\n {...props}\n />\n));\nCardDescription.displayName = \"CardDescription\";\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"comal-ui\", \"p-6 pt-0\", className)}\n {...props}\n />\n));\nCardContent.displayName = \"CardContent\";\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"flex items-center p-6 pt-0\",\n className\n )}\n {...props}\n />\n));\nCardFooter.displayName = \"CardFooter\";\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardDescription,\n CardContent,\n};\n","// Adapted from shadcn/ui (New York). See upstream/shadcn-ui for source and MIT license.\nimport * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst badgeVariants = cva(\n \"comal-ui inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2\",\n {\n variants: {\n variant: {\n default:\n \"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n destructive:\n \"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80\",\n outline: \"text-primary\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n);\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof badgeVariants> {}\n\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n return (\n <div className={cn(badgeVariants({ variant }), className)} {...props} />\n );\n}\n\nexport { Badge, badgeVariants };\n","// Adapted from shadcn/ui (New York). See upstream/shadcn-ui for source and MIT license.\n\"use client\";\n\nimport * as React from \"react\";\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { Check, Minus } from \"lucide-react\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst Checkbox = React.forwardRef<\n React.ElementRef<typeof CheckboxPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"grid place-content-center peer h-4 w-4 shrink-0 rounded-sm border border-action shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-disabled aria-[invalid=true]:border-destructive data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground\",\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className={cn(\n \"comal-ui\",\n \"grid place-content-center text-current\"\n )}\n >\n <Check className=\"h-4 w-4\" data-check-icon=\"\" />\n <Minus className=\"h-4 w-4\" data-mixed-icon=\"\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n));\nCheckbox.displayName = CheckboxPrimitive.Root.displayName;\n\nexport { Checkbox };\n","// Adapted from shadcn/ui (New York). See upstream/shadcn-ui for source and MIT license.\n\"use client\";\n\nimport * as React from \"react\";\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst Tabs = TabsPrimitive.Root;\n\nconst TabsList = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.List\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted data-[orientation=vertical]:h-auto data-[orientation=vertical]:flex-col\",\n className\n )}\n {...props}\n />\n));\nTabsList.displayName = TabsPrimitive.List.displayName;\n\nconst TabsTrigger = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Trigger\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:surface-primary data-[state=active]:text-primary data-[state=active]:shadow\",\n className\n )}\n {...props}\n />\n));\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName;\n\nconst TabsContent = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Content\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n className\n )}\n {...props}\n />\n));\nTabsContent.displayName = TabsPrimitive.Content.displayName;\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent };\n","// Adapted from shadcn/ui (New York). See upstream/shadcn-ui for source and MIT license.\n\"use client\";\n\nimport * as React from \"react\";\nimport * as ToastPrimitives from \"@radix-ui/react-toast\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { X } from \"lucide-react\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst ToastProvider = ToastPrimitives.Provider;\n\nconst ToastViewport = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Viewport>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Viewport>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Viewport\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"fixed top-0 z-toast flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[var(--toast-width)]\",\n className\n )}\n {...props}\n />\n));\nToastViewport.displayName = ToastPrimitives.Viewport.displayName;\n\nconst toastVariants = cva(\n \"group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full\",\n {\n variants: {\n variant: {\n default: \"border surface-primary text-primary\",\n destructive:\n \"destructive group border-destructive bg-destructive text-destructive-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n);\n\nconst Toast = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Root> &\n VariantProps<typeof toastVariants>\n>(({ className, variant, ...props }, ref) => {\n return (\n <ToastPrimitives.Root\n ref={ref}\n className={cn(\"comal-ui\", toastVariants({ variant }), className)}\n {...props}\n />\n );\n});\nToast.displayName = ToastPrimitives.Root.displayName;\n\nconst ToastAction = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Action>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Action>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Action\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary focus:outline-none focus:ring-1 focus:ring-ring disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive\",\n className\n )}\n {...props}\n />\n));\nToastAction.displayName = ToastPrimitives.Action.displayName;\n\nconst ToastClose = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Close>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Close>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Close\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"absolute right-1 top-1 rounded-md p-1 text-primary/50 opacity-0 transition-opacity hover:text-primary focus:opacity-100 focus:outline-none focus:ring-1 group-hover:opacity-100 group-[.destructive]:text-destructive-foreground/80 group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive-foreground group-[.destructive]:focus:ring-offset-destructive\",\n className\n )}\n aria-label=\"Dismiss notification\"\n toast-close=\"\"\n {...props}\n >\n <X className=\"h-4 w-4\" />\n </ToastPrimitives.Close>\n));\nToastClose.displayName = ToastPrimitives.Close.displayName;\n\nconst ToastTitle = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Title>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Title>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Title\n ref={ref}\n className={cn(\n \"comal-ui\",\n \"text-sm font-semibold [&+div]:text-xs\",\n className\n )}\n {...props}\n />\n));\nToastTitle.displayName = ToastPrimitives.Title.displayName;\n\nconst ToastDescription = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Description>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Description>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Description\n ref={ref}\n className={cn(\"comal-ui\", \"text-sm opacity-90\", className)}\n {...props}\n />\n));\nToastDescription.displayName = ToastPrimitives.Description.displayName;\n\ntype ToastProps = React.ComponentPropsWithoutRef<typeof Toast>;\n\ntype ToastActionElement = React.ReactElement<typeof ToastAction>;\n\nexport {\n type ToastProps,\n type ToastActionElement,\n ToastProvider,\n ToastViewport,\n Toast,\n ToastTitle,\n ToastDescription,\n ToastClose,\n ToastAction,\n};\n","// Adapted from shadcn/ui (New York). See upstream/shadcn-ui for source and MIT license.\n\"use client\";\n\nimport * as React from \"react\";\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst TooltipProvider = TooltipPrimitive.Provider;\n\nconst Tooltip = TooltipPrimitive.Root;\n\nconst TooltipTrigger = TooltipPrimitive.Trigger;\n\nexport type TooltipContentProps = React.ComponentPropsWithoutRef<\n typeof TooltipPrimitive.Content\n> & {\n container?: React.ComponentPropsWithoutRef<\n typeof TooltipPrimitive.Portal\n >[\"container\"];\n};\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n TooltipContentProps\n>(({ className, container, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Portal container={container}>\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"comal-ui\",\n \"z-popover max-w-[var(--tooltip-width)] overflow-hidden rounded-md surface-inverse px-3 py-1.5 text-xs text-inverse animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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 origin-[--radix-tooltip-content-transform-origin]\",\n className\n )}\n {...props}\n />\n </TooltipPrimitive.Portal>\n));\nTooltipContent.displayName = TooltipPrimitive.Content.displayName;\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };\n"],"names":["buttonVariants","cva","Button","React","className","variant","size","asChild","loading","disabled","type","props","ref","jsx","Slot","cn","Input","Textarea","labelVariants","Label","LabelPrimitive","Select","SelectPrimitive","SelectGroup","SelectValue","SelectTrigger","children","jsxs","ChevronDown","SelectScrollUpButton","ChevronUp","SelectScrollDownButton","SelectContent","container","position","SelectLabel","SelectItem","Check","SelectSeparator","PopoverAnchor","PopoverPrimitive","PopoverPositionContext","Popover","placement","sideOffset","side","align","PopoverTrigger","PopoverContent","collisionPadding","forceMount","containerRef","refContainer","setRefContainer","portalContainer","PopoverClose","ComboboxContext","useCombobox","context","normalize","value","defaultFilter","option","query","text","Combobox","options","defaultValue","onValueChange","inputValue","defaultInputValue","onInputValueChange","controlledOpen","defaultOpen","onOpenChange","filter","error","name","form","onCreate","isValidNewOption","id","internalValue","setInternalValue","internalQuery","setInternalQuery","internalOpen","setInternalOpen","createdOptions","setCreatedOptions","activeId","setActiveId","creating","setCreating","creationFailed","setCreationFailed","inputRef","composingRef","formInputRef","mounted","creationPending","operation","selected","open","previousOpen","optionId","setQuery","next","setOpen","setSelected","owner","reset","event","allOptions","created","visibleOptions","trimmedQuery","existingMatch","createId","entries","currentActiveId","entry","select","request","previous","item","ComboboxInput","onChange","onFocus","onClick","onBlur","onKeyDown","onCompositionStart","onCompositionEnd","readOnly","required","composing","handleKeyDown","index","element","ComboboxContent","emptyText","loadingText","creatingText","createErrorText","renderCreateLabel","renderOption","getStatusText","count","canCreate","onOpenAutoFocus","onCloseAutoFocus","onInteractOutside","onEscapeKeyDown","onPointerDown","ariaLabel","lastOpenContext","display","status","Dialog","DialogPrimitive","DialogTrigger","DialogPortal","DialogClose","DialogOverlay","DialogContent","X","DialogHeader","DialogFooter","DialogTitle","DialogDescription","Card","CardHeader","CardTitle","CardDescription","CardContent","CardFooter","badgeVariants","Badge","Checkbox","CheckboxPrimitive","Minus","Tabs","TabsPrimitive","TabsList","TabsTrigger","TabsContent","ToastProvider","ToastPrimitives","ToastViewport","toastVariants","Toast","ToastAction","ToastClose","ToastTitle","ToastDescription","TooltipProvider","TooltipPrimitive","Tooltip","TooltipTrigger","TooltipContent"],"mappings":"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"}
package/dist/styles.css CHANGED
@@ -170,4 +170,4 @@
170
170
  --overlay: var(--base-black) / 0.7;
171
171
  }
172
172
 
173
- :where(.comal-ui),:where(.comal-ui)::after,:where(.comal-ui)::before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }:where(.comal-ui)::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }:where(.comal-ui){box-sizing:border-box;margin:0;border:0 solid hsl(var(--border-primary));font-family:var(--font-sans);font-size:var(--font-size-md);line-height:var(--line-height);color:inherit}:where(button.comal-ui){background-color:transparent;cursor:pointer;padding:0}:where(button.comal-ui:disabled){cursor:not-allowed}:where(input.comal-ui,textarea.comal-ui){color:hsl(var(--text-primary))}:where(input.comal-ui,textarea.comal-ui)::-moz-placeholder{opacity:1}:where(input.comal-ui,textarea.comal-ui)::placeholder{opacity:1}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.text-display{font-family:var(--type-display-family);font-size:var(--type-display-size);font-weight:var(--type-display-weight);line-height:var(--type-display-leading);letter-spacing:var(--type-display-tracking)}.text-title{font-family:var(--type-title-family);font-size:var(--type-title-size);font-weight:var(--type-title-weight);line-height:var(--type-title-leading);letter-spacing:var(--type-title-tracking)}.text-body{font-family:var(--type-body-family);font-size:var(--type-body-size);font-weight:var(--type-body-weight);line-height:var(--type-body-leading);letter-spacing:var(--type-body-tracking)}.text-label{font-family:var(--type-label-family);font-size:var(--type-label-size);font-weight:var(--type-label-weight);line-height:var(--type-label-leading);letter-spacing:var(--type-label-tracking)}.text-caption{font-family:var(--type-caption-family);font-size:var(--type-caption-size);font-weight:var(--type-caption-weight);line-height:var(--type-caption-leading);letter-spacing:var(--type-caption-tracking)}.text-eyebrow{font-family:var(--type-eyebrow-family);font-size:var(--type-eyebrow-size);font-weight:var(--type-eyebrow-weight);line-height:var(--type-eyebrow-leading);letter-spacing:var(--type-eyebrow-tracking)}.comal-heading{font-family:var(--font-heading)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-auto{pointer-events:auto}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:var(--space-0,calc(var(--spacing-unit)*0))}.left-\[50\%\]{left:50%}.right-1{right:var(--space-1,calc(var(--spacing-unit)*1))}.right-2{right:var(--space-2,calc(var(--spacing-unit)*2))}.right-4{right:var(--space-4,calc(var(--spacing-unit)*4))}.top-0{top:var(--space-0,calc(var(--spacing-unit)*0))}.top-1{top:var(--space-1,calc(var(--spacing-unit)*1))}.top-4{top:var(--space-4,calc(var(--spacing-unit)*4))}.top-\[50\%\]{top:50%}.z-overlay{z-index:var(--z-overlay)}.z-popover{z-index:var(--z-popover)}.z-toast{z-index:var(--z-toast)}.-mx-1{margin-left:calc(var(--space-1, calc(var(--spacing-unit) * 1)) * -1);margin-right:calc(var(--space-1, calc(var(--spacing-unit) * 1)) * -1)}.my-1{margin-top:var(--space-1,calc(var(--spacing-unit)*1));margin-bottom:var(--space-1,calc(var(--spacing-unit)*1))}.mt-2{margin-top:var(--space-2,calc(var(--spacing-unit)*2))}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.h-10{height:var(--space-10,calc(var(--spacing-unit)*10))}.h-3\.5{height:var(--space-3-5,calc(var(--spacing-unit)*3.5))}.h-4{height:var(--space-4,calc(var(--spacing-unit)*4))}.h-8{height:var(--space-8,calc(var(--spacing-unit)*8))}.h-9{height:var(--space-9,calc(var(--spacing-unit)*9))}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-px{height:1px}.max-h-\[--radix-select-content-available-height\]{max-height:var(--radix-select-content-available-height)}.max-h-\[calc\(100dvh-2rem\)\]{max-height:calc(100dvh - 2rem)}.max-h-screen{max-height:100vh}.min-h-\[60px\]{min-height:60px}.w-3\.5{width:var(--space-3-5,calc(var(--spacing-unit)*3.5))}.w-4{width:var(--space-4,calc(var(--spacing-unit)*4))}.w-9{width:var(--space-9,calc(var(--spacing-unit)*9))}.w-\[calc\(100\%-2rem\)\]{width:calc(100% - 2rem)}.w-full{width:100%}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-\[var\(--tooltip-width\)\]{max-width:var(--tooltip-width)}.max-w-lg{max-width:var(--dialog-width)}.shrink-0{flex-shrink:0}.origin-\[--radix-select-content-transform-origin\]{transform-origin:var(--radix-select-content-transform-origin)}.origin-\[--radix-tooltip-content-transform-origin\]{transform-origin:var(--radix-tooltip-content-transform-origin)}.translate-x-\[-50\%\]{--tw-translate-x:-50%}.translate-x-\[-50\%\],.translate-y-\[-50\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y:-50%}.cursor-default{cursor:default}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.place-content-center{place-content:center}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2,calc(var(--spacing-unit)*2))}.gap-4{gap:var(--space-4,calc(var(--spacing-unit)*4))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(var(--space-2, calc(var(--spacing-unit) * 2)) * var(--tw-space-x-reverse));margin-left:calc(var(--space-2, calc(var(--spacing-unit) * 2)) * calc(1 - var(--tw-space-x-reverse)))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(var(--space-1-5, calc(var(--spacing-unit) * 1.5)) * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(var(--space-1-5, calc(var(--spacing-unit) * 1.5)) * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-lg)}.border{border-width:var(--border-width)}.border-accent{--tw-border-opacity:1;border-color:hsl(var(--accent)/var(--tw-border-opacity,1))}.border-accent-foreground{--tw-border-opacity:1;border-color:hsl(var(--accent-foreground)/var(--tw-border-opacity,1))}.border-action{--tw-border-opacity:1;border-color:hsl(var(--border-action)/var(--tw-border-opacity,1))}.border-background{--tw-border-opacity:1;border-color:hsl(var(--background)/var(--tw-border-opacity,1))}.border-border{--tw-border-opacity:1;border-color:hsl(var(--border)/var(--tw-border-opacity,1))}.border-card{--tw-border-opacity:1;border-color:hsl(var(--card)/var(--tw-border-opacity,1))}.border-card-foreground{--tw-border-opacity:1;border-color:hsl(var(--card-foreground)/var(--tw-border-opacity,1))}.border-destructive{--tw-border-opacity:1;border-color:hsl(var(--destructive)/var(--tw-border-opacity,1))}.border-destructive-foreground{--tw-border-opacity:1;border-color:hsl(var(--destructive-foreground)/var(--tw-border-opacity,1))}.border-foreground{--tw-border-opacity:1;border-color:hsl(var(--foreground)/var(--tw-border-opacity,1))}.border-input{--tw-border-opacity:1;border-color:hsl(var(--input)/var(--tw-border-opacity,1))}.border-inverse{--tw-border-opacity:1;border-color:hsl(var(--border-inverse)/var(--tw-border-opacity,1))}.border-muted{--tw-border-opacity:1;border-color:hsl(var(--muted)/var(--tw-border-opacity,1))}.border-muted-foreground{--tw-border-opacity:1;border-color:hsl(var(--muted-foreground)/var(--tw-border-opacity,1))}.border-overlay{border-color:hsl(var(--overlay))}.border-popover{--tw-border-opacity:1;border-color:hsl(var(--popover)/var(--tw-border-opacity,1))}.border-popover-foreground{--tw-border-opacity:1;border-color:hsl(var(--popover-foreground)/var(--tw-border-opacity,1))}.border-primary{--tw-border-opacity:1;border-color:hsl(var(--border-primary)/var(--tw-border-opacity,1))}.border-primary-foreground{--tw-border-opacity:1;border-color:hsl(var(--primary-foreground)/var(--tw-border-opacity,1))}.border-primary-hover{--tw-border-opacity:1;border-color:hsl(var(--primary-hover)/var(--tw-border-opacity,1))}.border-ring{--tw-border-opacity:1;border-color:hsl(var(--ring)/var(--tw-border-opacity,1))}.border-secondary{--tw-border-opacity:1;border-color:hsl(var(--border-secondary)/var(--tw-border-opacity,1))}.border-secondary-foreground{--tw-border-opacity:1;border-color:hsl(var(--secondary-foreground)/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.bg-accent{--tw-bg-opacity:1;background-color:hsl(var(--accent)/var(--tw-bg-opacity,1))}.bg-accent-foreground{--tw-bg-opacity:1;background-color:hsl(var(--accent-foreground)/var(--tw-bg-opacity,1))}.bg-background{--tw-bg-opacity:1;background-color:hsl(var(--background)/var(--tw-bg-opacity,1))}.bg-border{background-color:hsl(var(--border)/var(--tw-bg-opacity,1))}.bg-border,.bg-card{--tw-bg-opacity:1}.bg-card{background-color:hsl(var(--card)/var(--tw-bg-opacity,1))}.bg-card-foreground{--tw-bg-opacity:1;background-color:hsl(var(--card-foreground)/var(--tw-bg-opacity,1))}.bg-destructive{--tw-bg-opacity:1;background-color:hsl(var(--destructive)/var(--tw-bg-opacity,1))}.bg-destructive-foreground{--tw-bg-opacity:1;background-color:hsl(var(--destructive-foreground)/var(--tw-bg-opacity,1))}.bg-foreground{--tw-bg-opacity:1;background-color:hsl(var(--foreground)/var(--tw-bg-opacity,1))}.bg-input{background-color:hsl(var(--input)/var(--tw-bg-opacity,1))}.bg-input,.bg-muted{--tw-bg-opacity:1}.bg-muted{background-color:hsl(var(--muted)/var(--tw-bg-opacity,1))}.bg-muted-foreground{--tw-bg-opacity:1;background-color:hsl(var(--muted-foreground)/var(--tw-bg-opacity,1))}.bg-overlay{background-color:hsl(var(--overlay))}.bg-popover{--tw-bg-opacity:1;background-color:hsl(var(--popover)/var(--tw-bg-opacity,1))}.bg-popover-foreground{--tw-bg-opacity:1;background-color:hsl(var(--popover-foreground)/var(--tw-bg-opacity,1))}.bg-primary{--tw-bg-opacity:1;background-color:hsl(var(--primary)/var(--tw-bg-opacity,1))}.bg-primary-foreground{--tw-bg-opacity:1;background-color:hsl(var(--primary-foreground)/var(--tw-bg-opacity,1))}.bg-primary-hover{--tw-bg-opacity:1;background-color:hsl(var(--primary-hover)/var(--tw-bg-opacity,1))}.bg-ring{--tw-bg-opacity:1;background-color:hsl(var(--ring)/var(--tw-bg-opacity,1))}.bg-secondary{--tw-bg-opacity:1;background-color:hsl(var(--secondary)/var(--tw-bg-opacity,1))}.bg-secondary-foreground{--tw-bg-opacity:1;background-color:hsl(var(--secondary-foreground)/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.p-1{padding:var(--space-1,calc(var(--spacing-unit)*1))}.p-4{padding:var(--space-4,calc(var(--spacing-unit)*4))}.p-6{padding:var(--space-6,calc(var(--spacing-unit)*6))}.px-2{padding-left:var(--space-2,calc(var(--spacing-unit)*2));padding-right:var(--space-2,calc(var(--spacing-unit)*2))}.px-2\.5{padding-left:var(--space-2-5,calc(var(--spacing-unit)*2.5));padding-right:var(--space-2-5,calc(var(--spacing-unit)*2.5))}.px-3{padding-left:var(--space-3,calc(var(--spacing-unit)*3));padding-right:var(--space-3,calc(var(--spacing-unit)*3))}.px-4{padding-left:var(--space-4,calc(var(--spacing-unit)*4));padding-right:var(--space-4,calc(var(--spacing-unit)*4))}.px-8{padding-left:var(--space-8,calc(var(--spacing-unit)*8));padding-right:var(--space-8,calc(var(--spacing-unit)*8))}.py-0\.5{padding-top:var(--space-0-5,calc(var(--spacing-unit)*.5));padding-bottom:var(--space-0-5,calc(var(--spacing-unit)*.5))}.py-1{padding-top:var(--space-1,calc(var(--spacing-unit)*1));padding-bottom:var(--space-1,calc(var(--spacing-unit)*1))}.py-1\.5{padding-top:var(--space-1-5,calc(var(--spacing-unit)*1.5));padding-bottom:var(--space-1-5,calc(var(--spacing-unit)*1.5))}.py-2{padding-top:var(--space-2,calc(var(--spacing-unit)*2));padding-bottom:var(--space-2,calc(var(--spacing-unit)*2))}.pl-2{padding-left:var(--space-2,calc(var(--spacing-unit)*2))}.pr-6{padding-right:var(--space-6,calc(var(--spacing-unit)*6))}.pr-8{padding-right:var(--space-8,calc(var(--spacing-unit)*8))}.pt-0{padding-top:var(--space-0,calc(var(--spacing-unit)*0))}.text-center{text-align:center}.text-base{font-size:var(--font-size-md)}.text-base,.text-lg{line-height:var(--line-height)}.text-lg{font-size:var(--font-size-lg)}.text-sm{font-size:var(--font-size-sm)}.text-sm,.text-xs{line-height:var(--line-height)}.text-xs{font-size:var(--font-size-xs)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-bold)}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.text-accent{--tw-text-opacity:1;color:hsl(var(--accent)/var(--tw-text-opacity,1))}.text-accent-foreground{--tw-text-opacity:1;color:hsl(var(--accent-foreground)/var(--tw-text-opacity,1))}.text-action{--tw-text-opacity:1;color:hsl(var(--text-action)/var(--tw-text-opacity,1))}.text-background{--tw-text-opacity:1;color:hsl(var(--background)/var(--tw-text-opacity,1))}.text-border{color:hsl(var(--border)/var(--tw-text-opacity,1))}.text-border,.text-card{--tw-text-opacity:1}.text-card{color:hsl(var(--card)/var(--tw-text-opacity,1))}.text-card-foreground{--tw-text-opacity:1;color:hsl(var(--card-foreground)/var(--tw-text-opacity,1))}.text-current{color:currentColor}.text-destructive{--tw-text-opacity:1;color:hsl(var(--destructive)/var(--tw-text-opacity,1))}.text-destructive-foreground{--tw-text-opacity:1;color:hsl(var(--destructive-foreground)/var(--tw-text-opacity,1))}.text-foreground{--tw-text-opacity:1;color:hsl(var(--foreground)/var(--tw-text-opacity,1))}.text-input{--tw-text-opacity:1;color:hsl(var(--input)/var(--tw-text-opacity,1))}.text-inverse{--tw-text-opacity:1;color:hsl(var(--text-inverse)/var(--tw-text-opacity,1))}.text-muted{--tw-text-opacity:1;color:hsl(var(--text-muted)/var(--tw-text-opacity,1))}.text-muted-foreground{--tw-text-opacity:1;color:hsl(var(--muted-foreground)/var(--tw-text-opacity,1))}.text-overlay{color:hsl(var(--overlay))}.text-popover{--tw-text-opacity:1;color:hsl(var(--popover)/var(--tw-text-opacity,1))}.text-popover-foreground{--tw-text-opacity:1;color:hsl(var(--popover-foreground)/var(--tw-text-opacity,1))}.text-primary{--tw-text-opacity:1;color:hsl(var(--text-primary)/var(--tw-text-opacity,1))}.text-primary-foreground{--tw-text-opacity:1;color:hsl(var(--primary-foreground)/var(--tw-text-opacity,1))}.text-primary-hover{--tw-text-opacity:1;color:hsl(var(--primary-hover)/var(--tw-text-opacity,1))}.text-primary\/50{color:hsl(var(--text-primary)/.5)}.text-ring{--tw-text-opacity:1;color:hsl(var(--ring)/var(--tw-text-opacity,1))}.text-secondary{--tw-text-opacity:1;color:hsl(var(--text-secondary)/var(--tw-text-opacity,1))}.text-secondary-foreground{--tw-text-opacity:1;color:hsl(var(--secondary-foreground)/var(--tw-text-opacity,1))}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow{--tw-shadow:var(--shadow);--tw-shadow-colored:var(--shadow)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:var(--shadow-dialog);--tw-shadow-colored:var(--shadow-dialog)}.shadow-md{--tw-shadow:var(--shadow);--tw-shadow-colored:var(--shadow)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:var(--shadow-sm);--tw-shadow-colored:var(--shadow-sm)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background)/1)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:var(--duration)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:var(--duration)}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:var(--duration)}.duration-200{transition-duration:.2s}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{animation-name:enter;animation-duration:var(--duration);--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.duration-200{animation-duration:.2s}.surface-inverse{background-color:hsl(var(--surface-inverse))}.surface-primary{background-color:hsl(var(--surface-primary))}.surface-raised{background-color:hsl(var(--surface-raised))}.surface-secondary{background-color:hsl(var(--surface-secondary))}.surface-tertiary{background-color:hsl(var(--surface-tertiary))}@media (prefers-reduced-motion:reduce){:where(.comal-ui){animation:none!important;transition:none!important}}[data-slot=checkbox-indicator]:not([data-state=indeterminate])>[data-mixed-icon],[data-slot=checkbox-indicator][data-state=indeterminate]>[data-check-icon]{display:none}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:var(--font-size-sm);line-height:var(--line-height)}.file\:font-medium::file-selector-button{font-weight:var(--font-weight-medium)}.file\:text-primary::file-selector-button{--tw-text-opacity:1;color:hsl(var(--text-primary)/var(--tw-text-opacity,1))}.placeholder\:text-muted::-moz-placeholder{--tw-text-opacity:1;color:hsl(var(--text-muted)/var(--tw-text-opacity,1))}.placeholder\:text-muted::placeholder{--tw-text-opacity:1;color:hsl(var(--text-muted)/var(--tw-text-opacity,1))}.hover\:border-accent:hover{--tw-border-opacity:1;border-color:hsl(var(--accent)/var(--tw-border-opacity,1))}.hover\:border-accent-foreground:hover{--tw-border-opacity:1;border-color:hsl(var(--accent-foreground)/var(--tw-border-opacity,1))}.hover\:border-action:hover{--tw-border-opacity:1;border-color:hsl(var(--border-action)/var(--tw-border-opacity,1))}.hover\:border-background:hover{--tw-border-opacity:1;border-color:hsl(var(--background)/var(--tw-border-opacity,1))}.hover\:border-border:hover{--tw-border-opacity:1;border-color:hsl(var(--border)/var(--tw-border-opacity,1))}.hover\:border-card:hover{--tw-border-opacity:1;border-color:hsl(var(--card)/var(--tw-border-opacity,1))}.hover\:border-card-foreground:hover{--tw-border-opacity:1;border-color:hsl(var(--card-foreground)/var(--tw-border-opacity,1))}.hover\:border-destructive:hover{--tw-border-opacity:1;border-color:hsl(var(--destructive)/var(--tw-border-opacity,1))}.hover\:border-destructive-foreground:hover{--tw-border-opacity:1;border-color:hsl(var(--destructive-foreground)/var(--tw-border-opacity,1))}.hover\:border-foreground:hover{--tw-border-opacity:1;border-color:hsl(var(--foreground)/var(--tw-border-opacity,1))}.hover\:border-input:hover{--tw-border-opacity:1;border-color:hsl(var(--input)/var(--tw-border-opacity,1))}.hover\:border-inverse:hover{--tw-border-opacity:1;border-color:hsl(var(--border-inverse)/var(--tw-border-opacity,1))}.hover\:border-muted:hover{--tw-border-opacity:1;border-color:hsl(var(--muted)/var(--tw-border-opacity,1))}.hover\:border-muted-foreground:hover{--tw-border-opacity:1;border-color:hsl(var(--muted-foreground)/var(--tw-border-opacity,1))}.hover\:border-overlay:hover{border-color:hsl(var(--overlay))}.hover\:border-popover:hover{--tw-border-opacity:1;border-color:hsl(var(--popover)/var(--tw-border-opacity,1))}.hover\:border-popover-foreground:hover{--tw-border-opacity:1;border-color:hsl(var(--popover-foreground)/var(--tw-border-opacity,1))}.hover\:border-primary:hover{--tw-border-opacity:1;border-color:hsl(var(--border-primary)/var(--tw-border-opacity,1))}.hover\:border-primary-foreground:hover{--tw-border-opacity:1;border-color:hsl(var(--primary-foreground)/var(--tw-border-opacity,1))}.hover\:border-primary-hover:hover{--tw-border-opacity:1;border-color:hsl(var(--primary-hover)/var(--tw-border-opacity,1))}.hover\:border-ring:hover{--tw-border-opacity:1;border-color:hsl(var(--ring)/var(--tw-border-opacity,1))}.hover\:border-secondary:hover{--tw-border-opacity:1;border-color:hsl(var(--border-secondary)/var(--tw-border-opacity,1))}.hover\:border-secondary-foreground:hover{--tw-border-opacity:1;border-color:hsl(var(--secondary-foreground)/var(--tw-border-opacity,1))}.hover\:bg-accent:hover{--tw-bg-opacity:1;background-color:hsl(var(--accent)/var(--tw-bg-opacity,1))}.hover\:bg-accent-foreground:hover{--tw-bg-opacity:1;background-color:hsl(var(--accent-foreground)/var(--tw-bg-opacity,1))}.hover\:bg-background:hover{--tw-bg-opacity:1;background-color:hsl(var(--background)/var(--tw-bg-opacity,1))}.hover\:bg-border:hover{--tw-bg-opacity:1;background-color:hsl(var(--border)/var(--tw-bg-opacity,1))}.hover\:bg-card:hover{--tw-bg-opacity:1;background-color:hsl(var(--card)/var(--tw-bg-opacity,1))}.hover\:bg-card-foreground:hover{--tw-bg-opacity:1;background-color:hsl(var(--card-foreground)/var(--tw-bg-opacity,1))}.hover\:bg-destructive:hover{--tw-bg-opacity:1;background-color:hsl(var(--destructive)/var(--tw-bg-opacity,1))}.hover\:bg-destructive-foreground:hover{--tw-bg-opacity:1;background-color:hsl(var(--destructive-foreground)/var(--tw-bg-opacity,1))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive)/.8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:bg-foreground:hover{--tw-bg-opacity:1;background-color:hsl(var(--foreground)/var(--tw-bg-opacity,1))}.hover\:bg-input:hover{--tw-bg-opacity:1;background-color:hsl(var(--input)/var(--tw-bg-opacity,1))}.hover\:bg-muted:hover{--tw-bg-opacity:1;background-color:hsl(var(--muted)/var(--tw-bg-opacity,1))}.hover\:bg-muted-foreground:hover{--tw-bg-opacity:1;background-color:hsl(var(--muted-foreground)/var(--tw-bg-opacity,1))}.hover\:bg-overlay:hover{background-color:hsl(var(--overlay))}.hover\:bg-popover:hover{--tw-bg-opacity:1;background-color:hsl(var(--popover)/var(--tw-bg-opacity,1))}.hover\:bg-popover-foreground:hover{--tw-bg-opacity:1;background-color:hsl(var(--popover-foreground)/var(--tw-bg-opacity,1))}.hover\:bg-primary:hover{--tw-bg-opacity:1;background-color:hsl(var(--primary)/var(--tw-bg-opacity,1))}.hover\:bg-primary-foreground:hover{--tw-bg-opacity:1;background-color:hsl(var(--primary-foreground)/var(--tw-bg-opacity,1))}.hover\:bg-primary-hover:hover{--tw-bg-opacity:1;background-color:hsl(var(--primary-hover)/var(--tw-bg-opacity,1))}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary)/.8)}.hover\:bg-ring:hover{--tw-bg-opacity:1;background-color:hsl(var(--ring)/var(--tw-bg-opacity,1))}.hover\:bg-secondary:hover{--tw-bg-opacity:1;background-color:hsl(var(--secondary)/var(--tw-bg-opacity,1))}.hover\:bg-secondary-foreground:hover{--tw-bg-opacity:1;background-color:hsl(var(--secondary-foreground)/var(--tw-bg-opacity,1))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\:text-accent:hover{--tw-text-opacity:1;color:hsl(var(--accent)/var(--tw-text-opacity,1))}.hover\:text-accent-foreground:hover{--tw-text-opacity:1;color:hsl(var(--accent-foreground)/var(--tw-text-opacity,1))}.hover\:text-action:hover{--tw-text-opacity:1;color:hsl(var(--text-action)/var(--tw-text-opacity,1))}.hover\:text-background:hover{--tw-text-opacity:1;color:hsl(var(--background)/var(--tw-text-opacity,1))}.hover\:text-border:hover{--tw-text-opacity:1;color:hsl(var(--border)/var(--tw-text-opacity,1))}.hover\:text-card:hover{--tw-text-opacity:1;color:hsl(var(--card)/var(--tw-text-opacity,1))}.hover\:text-card-foreground:hover{--tw-text-opacity:1;color:hsl(var(--card-foreground)/var(--tw-text-opacity,1))}.hover\:text-destructive:hover{--tw-text-opacity:1;color:hsl(var(--destructive)/var(--tw-text-opacity,1))}.hover\:text-destructive-foreground:hover{--tw-text-opacity:1;color:hsl(var(--destructive-foreground)/var(--tw-text-opacity,1))}.hover\:text-foreground:hover{--tw-text-opacity:1;color:hsl(var(--foreground)/var(--tw-text-opacity,1))}.hover\:text-input:hover{--tw-text-opacity:1;color:hsl(var(--input)/var(--tw-text-opacity,1))}.hover\:text-inverse:hover{--tw-text-opacity:1;color:hsl(var(--text-inverse)/var(--tw-text-opacity,1))}.hover\:text-muted:hover{--tw-text-opacity:1;color:hsl(var(--text-muted)/var(--tw-text-opacity,1))}.hover\:text-muted-foreground:hover{--tw-text-opacity:1;color:hsl(var(--muted-foreground)/var(--tw-text-opacity,1))}.hover\:text-overlay:hover{color:hsl(var(--overlay))}.hover\:text-popover:hover{--tw-text-opacity:1;color:hsl(var(--popover)/var(--tw-text-opacity,1))}.hover\:text-popover-foreground:hover{--tw-text-opacity:1;color:hsl(var(--popover-foreground)/var(--tw-text-opacity,1))}.hover\:text-primary:hover{--tw-text-opacity:1;color:hsl(var(--text-primary)/var(--tw-text-opacity,1))}.hover\:text-primary-foreground:hover{--tw-text-opacity:1;color:hsl(var(--primary-foreground)/var(--tw-text-opacity,1))}.hover\:text-primary-hover:hover{--tw-text-opacity:1;color:hsl(var(--primary-hover)/var(--tw-text-opacity,1))}.hover\:text-ring:hover{--tw-text-opacity:1;color:hsl(var(--ring)/var(--tw-text-opacity,1))}.hover\:text-secondary:hover{--tw-text-opacity:1;color:hsl(var(--text-secondary)/var(--tw-text-opacity,1))}.hover\:text-secondary-foreground:hover{--tw-text-opacity:1;color:hsl(var(--secondary-foreground)/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:surface-inverse:hover{background-color:hsl(var(--surface-inverse))}.hover\:surface-primary:hover{background-color:hsl(var(--surface-primary))}.hover\:surface-raised:hover{background-color:hsl(var(--surface-raised))}.hover\:surface-secondary:hover{background-color:hsl(var(--surface-secondary))}.hover\:surface-tertiary:hover{background-color:hsl(var(--surface-tertiary))}.focus\:border-accent:focus{--tw-border-opacity:1;border-color:hsl(var(--accent)/var(--tw-border-opacity,1))}.focus\:border-accent-foreground:focus{--tw-border-opacity:1;border-color:hsl(var(--accent-foreground)/var(--tw-border-opacity,1))}.focus\:border-action:focus{--tw-border-opacity:1;border-color:hsl(var(--border-action)/var(--tw-border-opacity,1))}.focus\:border-background:focus{--tw-border-opacity:1;border-color:hsl(var(--background)/var(--tw-border-opacity,1))}.focus\:border-border:focus{--tw-border-opacity:1;border-color:hsl(var(--border)/var(--tw-border-opacity,1))}.focus\:border-card:focus{--tw-border-opacity:1;border-color:hsl(var(--card)/var(--tw-border-opacity,1))}.focus\:border-card-foreground:focus{--tw-border-opacity:1;border-color:hsl(var(--card-foreground)/var(--tw-border-opacity,1))}.focus\:border-destructive:focus{--tw-border-opacity:1;border-color:hsl(var(--destructive)/var(--tw-border-opacity,1))}.focus\:border-destructive-foreground:focus{--tw-border-opacity:1;border-color:hsl(var(--destructive-foreground)/var(--tw-border-opacity,1))}.focus\:border-foreground:focus{--tw-border-opacity:1;border-color:hsl(var(--foreground)/var(--tw-border-opacity,1))}.focus\:border-input:focus{--tw-border-opacity:1;border-color:hsl(var(--input)/var(--tw-border-opacity,1))}.focus\:border-inverse:focus{--tw-border-opacity:1;border-color:hsl(var(--border-inverse)/var(--tw-border-opacity,1))}.focus\:border-muted:focus{--tw-border-opacity:1;border-color:hsl(var(--muted)/var(--tw-border-opacity,1))}.focus\:border-muted-foreground:focus{--tw-border-opacity:1;border-color:hsl(var(--muted-foreground)/var(--tw-border-opacity,1))}.focus\:border-overlay:focus{border-color:hsl(var(--overlay))}.focus\:border-popover:focus{--tw-border-opacity:1;border-color:hsl(var(--popover)/var(--tw-border-opacity,1))}.focus\:border-popover-foreground:focus{--tw-border-opacity:1;border-color:hsl(var(--popover-foreground)/var(--tw-border-opacity,1))}.focus\:border-primary:focus{--tw-border-opacity:1;border-color:hsl(var(--border-primary)/var(--tw-border-opacity,1))}.focus\:border-primary-foreground:focus{--tw-border-opacity:1;border-color:hsl(var(--primary-foreground)/var(--tw-border-opacity,1))}.focus\:border-primary-hover:focus{--tw-border-opacity:1;border-color:hsl(var(--primary-hover)/var(--tw-border-opacity,1))}.focus\:border-ring:focus{--tw-border-opacity:1;border-color:hsl(var(--ring)/var(--tw-border-opacity,1))}.focus\:border-secondary:focus{--tw-border-opacity:1;border-color:hsl(var(--border-secondary)/var(--tw-border-opacity,1))}.focus\:border-secondary-foreground:focus{--tw-border-opacity:1;border-color:hsl(var(--secondary-foreground)/var(--tw-border-opacity,1))}.focus\:bg-accent:focus{--tw-bg-opacity:1;background-color:hsl(var(--accent)/var(--tw-bg-opacity,1))}.focus\:bg-accent-foreground:focus{--tw-bg-opacity:1;background-color:hsl(var(--accent-foreground)/var(--tw-bg-opacity,1))}.focus\:bg-background:focus{--tw-bg-opacity:1;background-color:hsl(var(--background)/var(--tw-bg-opacity,1))}.focus\:bg-border:focus{--tw-bg-opacity:1;background-color:hsl(var(--border)/var(--tw-bg-opacity,1))}.focus\:bg-card:focus{--tw-bg-opacity:1;background-color:hsl(var(--card)/var(--tw-bg-opacity,1))}.focus\:bg-card-foreground:focus{--tw-bg-opacity:1;background-color:hsl(var(--card-foreground)/var(--tw-bg-opacity,1))}.focus\:bg-destructive:focus{--tw-bg-opacity:1;background-color:hsl(var(--destructive)/var(--tw-bg-opacity,1))}.focus\:bg-destructive-foreground:focus{--tw-bg-opacity:1;background-color:hsl(var(--destructive-foreground)/var(--tw-bg-opacity,1))}.focus\:bg-foreground:focus{--tw-bg-opacity:1;background-color:hsl(var(--foreground)/var(--tw-bg-opacity,1))}.focus\:bg-input:focus{--tw-bg-opacity:1;background-color:hsl(var(--input)/var(--tw-bg-opacity,1))}.focus\:bg-muted:focus{--tw-bg-opacity:1;background-color:hsl(var(--muted)/var(--tw-bg-opacity,1))}.focus\:bg-muted-foreground:focus{--tw-bg-opacity:1;background-color:hsl(var(--muted-foreground)/var(--tw-bg-opacity,1))}.focus\:bg-overlay:focus{background-color:hsl(var(--overlay))}.focus\:bg-popover:focus{--tw-bg-opacity:1;background-color:hsl(var(--popover)/var(--tw-bg-opacity,1))}.focus\:bg-popover-foreground:focus{--tw-bg-opacity:1;background-color:hsl(var(--popover-foreground)/var(--tw-bg-opacity,1))}.focus\:bg-primary:focus{--tw-bg-opacity:1;background-color:hsl(var(--primary)/var(--tw-bg-opacity,1))}.focus\:bg-primary-foreground:focus{--tw-bg-opacity:1;background-color:hsl(var(--primary-foreground)/var(--tw-bg-opacity,1))}.focus\:bg-primary-hover:focus{--tw-bg-opacity:1;background-color:hsl(var(--primary-hover)/var(--tw-bg-opacity,1))}.focus\:bg-ring:focus{--tw-bg-opacity:1;background-color:hsl(var(--ring)/var(--tw-bg-opacity,1))}.focus\:bg-secondary:focus{--tw-bg-opacity:1;background-color:hsl(var(--secondary)/var(--tw-bg-opacity,1))}.focus\:bg-secondary-foreground:focus{--tw-bg-opacity:1;background-color:hsl(var(--secondary-foreground)/var(--tw-bg-opacity,1))}.focus\:text-accent:focus{--tw-text-opacity:1;color:hsl(var(--accent)/var(--tw-text-opacity,1))}.focus\:text-accent-foreground:focus{--tw-text-opacity:1;color:hsl(var(--accent-foreground)/var(--tw-text-opacity,1))}.focus\:text-action:focus{--tw-text-opacity:1;color:hsl(var(--text-action)/var(--tw-text-opacity,1))}.focus\:text-background:focus{--tw-text-opacity:1;color:hsl(var(--background)/var(--tw-text-opacity,1))}.focus\:text-border:focus{--tw-text-opacity:1;color:hsl(var(--border)/var(--tw-text-opacity,1))}.focus\:text-card:focus{--tw-text-opacity:1;color:hsl(var(--card)/var(--tw-text-opacity,1))}.focus\:text-card-foreground:focus{--tw-text-opacity:1;color:hsl(var(--card-foreground)/var(--tw-text-opacity,1))}.focus\:text-destructive:focus{--tw-text-opacity:1;color:hsl(var(--destructive)/var(--tw-text-opacity,1))}.focus\:text-destructive-foreground:focus{--tw-text-opacity:1;color:hsl(var(--destructive-foreground)/var(--tw-text-opacity,1))}.focus\:text-foreground:focus{--tw-text-opacity:1;color:hsl(var(--foreground)/var(--tw-text-opacity,1))}.focus\:text-input:focus{--tw-text-opacity:1;color:hsl(var(--input)/var(--tw-text-opacity,1))}.focus\:text-inverse:focus{--tw-text-opacity:1;color:hsl(var(--text-inverse)/var(--tw-text-opacity,1))}.focus\:text-muted:focus{--tw-text-opacity:1;color:hsl(var(--text-muted)/var(--tw-text-opacity,1))}.focus\:text-muted-foreground:focus{--tw-text-opacity:1;color:hsl(var(--muted-foreground)/var(--tw-text-opacity,1))}.focus\:text-overlay:focus{color:hsl(var(--overlay))}.focus\:text-popover:focus{--tw-text-opacity:1;color:hsl(var(--popover)/var(--tw-text-opacity,1))}.focus\:text-popover-foreground:focus{--tw-text-opacity:1;color:hsl(var(--popover-foreground)/var(--tw-text-opacity,1))}.focus\:text-primary:focus{--tw-text-opacity:1;color:hsl(var(--text-primary)/var(--tw-text-opacity,1))}.focus\:text-primary-foreground:focus{--tw-text-opacity:1;color:hsl(var(--primary-foreground)/var(--tw-text-opacity,1))}.focus\:text-primary-hover:focus{--tw-text-opacity:1;color:hsl(var(--primary-hover)/var(--tw-text-opacity,1))}.focus\:text-ring:focus{--tw-text-opacity:1;color:hsl(var(--ring)/var(--tw-text-opacity,1))}.focus\:text-secondary:focus{--tw-text-opacity:1;color:hsl(var(--text-secondary)/var(--tw-text-opacity,1))}.focus\:text-secondary-foreground:focus{--tw-text-opacity:1;color:hsl(var(--secondary-foreground)/var(--tw-text-opacity,1))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus,.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--focus-width) + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-opacity:1;--tw-ring-color:hsl(var(--ring)/var(--tw-ring-opacity,1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:var(--focus-offset)}.focus\:surface-inverse:focus{background-color:hsl(var(--surface-inverse))}.focus\:surface-primary:focus{background-color:hsl(var(--surface-primary))}.focus\:surface-raised:focus{background-color:hsl(var(--surface-raised))}.focus\:surface-secondary:focus{background-color:hsl(var(--surface-secondary))}.focus\:surface-tertiary:focus{background-color:hsl(var(--surface-tertiary))}.focus-visible\:border-accent:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--accent)/var(--tw-border-opacity,1))}.focus-visible\:border-accent-foreground:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--accent-foreground)/var(--tw-border-opacity,1))}.focus-visible\:border-action:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--border-action)/var(--tw-border-opacity,1))}.focus-visible\:border-background:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--background)/var(--tw-border-opacity,1))}.focus-visible\:border-border:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--border)/var(--tw-border-opacity,1))}.focus-visible\:border-card:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--card)/var(--tw-border-opacity,1))}.focus-visible\:border-card-foreground:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--card-foreground)/var(--tw-border-opacity,1))}.focus-visible\:border-destructive:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--destructive)/var(--tw-border-opacity,1))}.focus-visible\:border-destructive-foreground:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--destructive-foreground)/var(--tw-border-opacity,1))}.focus-visible\:border-foreground:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--foreground)/var(--tw-border-opacity,1))}.focus-visible\:border-input:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--input)/var(--tw-border-opacity,1))}.focus-visible\:border-inverse:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--border-inverse)/var(--tw-border-opacity,1))}.focus-visible\:border-muted:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--muted)/var(--tw-border-opacity,1))}.focus-visible\:border-muted-foreground:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--muted-foreground)/var(--tw-border-opacity,1))}.focus-visible\:border-overlay:focus-visible{border-color:hsl(var(--overlay))}.focus-visible\:border-popover:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--popover)/var(--tw-border-opacity,1))}.focus-visible\:border-popover-foreground:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--popover-foreground)/var(--tw-border-opacity,1))}.focus-visible\:border-primary:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--border-primary)/var(--tw-border-opacity,1))}.focus-visible\:border-primary-foreground:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--primary-foreground)/var(--tw-border-opacity,1))}.focus-visible\:border-primary-hover:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--primary-hover)/var(--tw-border-opacity,1))}.focus-visible\:border-ring:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--ring)/var(--tw-border-opacity,1))}.focus-visible\:border-secondary:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--border-secondary)/var(--tw-border-opacity,1))}.focus-visible\:border-secondary-foreground:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--secondary-foreground)/var(--tw-border-opacity,1))}.focus-visible\:bg-accent:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--accent)/var(--tw-bg-opacity,1))}.focus-visible\:bg-accent-foreground:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--accent-foreground)/var(--tw-bg-opacity,1))}.focus-visible\:bg-background:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--background)/var(--tw-bg-opacity,1))}.focus-visible\:bg-border:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--border)/var(--tw-bg-opacity,1))}.focus-visible\:bg-card:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--card)/var(--tw-bg-opacity,1))}.focus-visible\:bg-card-foreground:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--card-foreground)/var(--tw-bg-opacity,1))}.focus-visible\:bg-destructive:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--destructive)/var(--tw-bg-opacity,1))}.focus-visible\:bg-destructive-foreground:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--destructive-foreground)/var(--tw-bg-opacity,1))}.focus-visible\:bg-foreground:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--foreground)/var(--tw-bg-opacity,1))}.focus-visible\:bg-input:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--input)/var(--tw-bg-opacity,1))}.focus-visible\:bg-muted:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--muted)/var(--tw-bg-opacity,1))}.focus-visible\:bg-muted-foreground:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--muted-foreground)/var(--tw-bg-opacity,1))}.focus-visible\:bg-overlay:focus-visible{background-color:hsl(var(--overlay))}.focus-visible\:bg-popover:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--popover)/var(--tw-bg-opacity,1))}.focus-visible\:bg-popover-foreground:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--popover-foreground)/var(--tw-bg-opacity,1))}.focus-visible\:bg-primary:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--primary)/var(--tw-bg-opacity,1))}.focus-visible\:bg-primary-foreground:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--primary-foreground)/var(--tw-bg-opacity,1))}.focus-visible\:bg-primary-hover:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--primary-hover)/var(--tw-bg-opacity,1))}.focus-visible\:bg-ring:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--ring)/var(--tw-bg-opacity,1))}.focus-visible\:bg-secondary:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--secondary)/var(--tw-bg-opacity,1))}.focus-visible\:bg-secondary-foreground:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--secondary-foreground)/var(--tw-bg-opacity,1))}.focus-visible\:text-accent:focus-visible{--tw-text-opacity:1;color:hsl(var(--accent)/var(--tw-text-opacity,1))}.focus-visible\:text-accent-foreground:focus-visible{--tw-text-opacity:1;color:hsl(var(--accent-foreground)/var(--tw-text-opacity,1))}.focus-visible\:text-action:focus-visible{--tw-text-opacity:1;color:hsl(var(--text-action)/var(--tw-text-opacity,1))}.focus-visible\:text-background:focus-visible{--tw-text-opacity:1;color:hsl(var(--background)/var(--tw-text-opacity,1))}.focus-visible\:text-border:focus-visible{--tw-text-opacity:1;color:hsl(var(--border)/var(--tw-text-opacity,1))}.focus-visible\:text-card:focus-visible{--tw-text-opacity:1;color:hsl(var(--card)/var(--tw-text-opacity,1))}.focus-visible\:text-card-foreground:focus-visible{--tw-text-opacity:1;color:hsl(var(--card-foreground)/var(--tw-text-opacity,1))}.focus-visible\:text-destructive:focus-visible{--tw-text-opacity:1;color:hsl(var(--destructive)/var(--tw-text-opacity,1))}.focus-visible\:text-destructive-foreground:focus-visible{--tw-text-opacity:1;color:hsl(var(--destructive-foreground)/var(--tw-text-opacity,1))}.focus-visible\:text-foreground:focus-visible{--tw-text-opacity:1;color:hsl(var(--foreground)/var(--tw-text-opacity,1))}.focus-visible\:text-input:focus-visible{--tw-text-opacity:1;color:hsl(var(--input)/var(--tw-text-opacity,1))}.focus-visible\:text-inverse:focus-visible{--tw-text-opacity:1;color:hsl(var(--text-inverse)/var(--tw-text-opacity,1))}.focus-visible\:text-muted:focus-visible{--tw-text-opacity:1;color:hsl(var(--text-muted)/var(--tw-text-opacity,1))}.focus-visible\:text-muted-foreground:focus-visible{--tw-text-opacity:1;color:hsl(var(--muted-foreground)/var(--tw-text-opacity,1))}.focus-visible\:text-overlay:focus-visible{color:hsl(var(--overlay))}.focus-visible\:text-popover:focus-visible{--tw-text-opacity:1;color:hsl(var(--popover)/var(--tw-text-opacity,1))}.focus-visible\:text-popover-foreground:focus-visible{--tw-text-opacity:1;color:hsl(var(--popover-foreground)/var(--tw-text-opacity,1))}.focus-visible\:text-primary:focus-visible{--tw-text-opacity:1;color:hsl(var(--text-primary)/var(--tw-text-opacity,1))}.focus-visible\:text-primary-foreground:focus-visible{--tw-text-opacity:1;color:hsl(var(--primary-foreground)/var(--tw-text-opacity,1))}.focus-visible\:text-primary-hover:focus-visible{--tw-text-opacity:1;color:hsl(var(--primary-hover)/var(--tw-text-opacity,1))}.focus-visible\:text-ring:focus-visible{--tw-text-opacity:1;color:hsl(var(--ring)/var(--tw-text-opacity,1))}.focus-visible\:text-secondary:focus-visible{--tw-text-opacity:1;color:hsl(var(--text-secondary)/var(--tw-text-opacity,1))}.focus-visible\:text-secondary-foreground:focus-visible{--tw-text-opacity:1;color:hsl(var(--secondary-foreground)/var(--tw-text-opacity,1))}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--focus-width) + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--focus-width) + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-opacity:1;--tw-ring-color:hsl(var(--ring)/var(--tw-ring-opacity,1))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:var(--focus-offset)}.focus-visible\:surface-inverse:focus-visible{background-color:hsl(var(--surface-inverse))}.focus-visible\:surface-primary:focus-visible{background-color:hsl(var(--surface-primary))}.focus-visible\:surface-raised:focus-visible{background-color:hsl(var(--surface-raised))}.focus-visible\:surface-secondary:focus-visible{background-color:hsl(var(--surface-secondary))}.focus-visible\:surface-tertiary:focus-visible{background-color:hsl(var(--surface-tertiary))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-disabled:disabled{opacity:var(--disabled-opacity)}.group:hover .group-hover\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:hsl(var(--muted)/.4)}.group.destructive .group-\[\.destructive\]\:text-destructive-foreground\/80{color:hsl(var(--destructive-foreground)/.8)}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive)/.3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{--tw-bg-opacity:1;background-color:hsl(var(--destructive)/var(--tw-bg-opacity,1))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{--tw-text-opacity:1;color:hsl(var(--destructive-foreground)/var(--tw-text-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-opacity:1;--tw-ring-color:hsl(var(--destructive)/var(--tw-ring-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive-foreground:focus{--tw-ring-opacity:1;--tw-ring-color:hsl(var(--destructive-foreground)/var(--tw-ring-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-destructive:focus{--tw-ring-offset-color:hsl(var(--destructive)/1)}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.aria-\[invalid\=true\]\:border-destructive[aria-invalid=true]{--tw-border-opacity:1;border-color:hsl(var(--destructive)/var(--tw-border-opacity,1))}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[orientation\=vertical\]\:h-auto[data-orientation=vertical]{height:auto}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:var(--space-1,calc(var(--spacing-unit)*1))}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom],.data-\[side\=left\]\:-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--space-1, calc(var(--spacing-unit) * 1)) * -1)}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:var(--space-1,calc(var(--spacing-unit)*1))}.data-\[side\=right\]\:translate-x-1[data-side=right],.data-\[side\=top\]\:-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--space-1, calc(var(--spacing-unit) * 1)) * -1)}.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x:var(--space-0,calc(var(--spacing-unit)*0))}.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel],.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x:var(--radix-toast-swipe-end-x)}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x:var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[orientation\=vertical\]\:flex-col[data-orientation=vertical]{flex-direction:column}.data-\[state\=checked\]\:bg-primary[data-state=checked],.data-\[state\=indeterminate\]\:bg-primary[data-state=indeterminate]{--tw-bg-opacity:1;background-color:hsl(var(--primary)/var(--tw-bg-opacity,1))}.data-\[state\=open\]\:bg-accent[data-state=open]{--tw-bg-opacity:1;background-color:hsl(var(--accent)/var(--tw-bg-opacity,1))}.data-\[placeholder\]\:text-muted[data-placeholder]{--tw-text-opacity:1;color:hsl(var(--text-muted)/var(--tw-text-opacity,1))}.data-\[state\=active\]\:text-primary[data-state=active]{--tw-text-opacity:1;color:hsl(var(--text-primary)/var(--tw-text-opacity,1))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked],.data-\[state\=indeterminate\]\:text-primary-foreground[data-state=indeterminate]{--tw-text-opacity:1;color:hsl(var(--primary-foreground)/var(--tw-text-opacity,1))}.data-\[state\=open\]\:text-muted[data-state=open]{--tw-text-opacity:1;color:hsl(var(--text-muted)/var(--tw-text-opacity,1))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:var(--shadow);--tw-shadow-colored:var(--shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:var(--duration);--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{animation-name:exit;animation-duration:var(--duration);--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity:0.8}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-var(--space-2,calc(var(--spacing-unit)*2))}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:var(--space-2,calc(var(--spacing-unit)*2))}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-var(--space-2,calc(var(--spacing-unit)*2))}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:var(--space-2,calc(var(--spacing-unit)*2))}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=active\]\:surface-primary[data-state=active]{background-color:hsl(var(--surface-primary))}@media (min-width:640px){.sm\:bottom-0{bottom:var(--space-0,calc(var(--spacing-unit)*0))}.sm\:right-0{right:var(--space-0,calc(var(--spacing-unit)*0))}.sm\:top-auto{top:auto}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(var(--space-2, calc(var(--spacing-unit) * 2)) * var(--tw-space-x-reverse));margin-left:calc(var(--space-2, calc(var(--spacing-unit) * 2)) * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius-lg)}.sm\:text-left{text-align:left}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y:100%}}@media (min-width:768px){.md\:max-w-\[var\(--toast-width\)\]{max-width:var(--toast-width)}.md\:text-sm{font-size:var(--font-size-sm);line-height:var(--line-height)}}.\[\&\+div\]\:text-xs+div{font-size:var(--font-size-xs);line-height:var(--line-height)}.active\:\[\&\:not\(\[aria-haspopup\]\)\]\:translate-y-px:not([aria-haspopup]):active{--tw-translate-y:1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (prefers-reduced-motion:reduce){.motion-reduce\:active\:\[\&\:not\(\[aria-haspopup\]\)\]\:transform-none:not([aria-haspopup]):active{transform:none}}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:var(--space-4,calc(var(--spacing-unit)*4));height:var(--space-4,calc(var(--spacing-unit)*4))}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}
173
+ :where(.comal-ui),:where(.comal-ui)::after,:where(.comal-ui)::before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }:where(.comal-ui)::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }:where(.comal-ui){box-sizing:border-box;margin:0;border:0 solid hsl(var(--border-primary));font-family:var(--font-sans);font-size:var(--font-size-md);line-height:var(--line-height);color:inherit}:where(button.comal-ui){background-color:transparent;cursor:pointer;padding:0}:where(button.comal-ui:disabled){cursor:not-allowed}:where(input.comal-ui,textarea.comal-ui){color:hsl(var(--text-primary))}:where(input.comal-ui,textarea.comal-ui)::-moz-placeholder{opacity:1}:where(input.comal-ui,textarea.comal-ui)::placeholder{opacity:1}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.text-display{font-family:var(--type-display-family);font-size:var(--type-display-size);font-weight:var(--type-display-weight);line-height:var(--type-display-leading);letter-spacing:var(--type-display-tracking)}.text-title{font-family:var(--type-title-family);font-size:var(--type-title-size);font-weight:var(--type-title-weight);line-height:var(--type-title-leading);letter-spacing:var(--type-title-tracking)}.text-body{font-family:var(--type-body-family);font-size:var(--type-body-size);font-weight:var(--type-body-weight);line-height:var(--type-body-leading);letter-spacing:var(--type-body-tracking)}.text-label{font-family:var(--type-label-family);font-size:var(--type-label-size);font-weight:var(--type-label-weight);line-height:var(--type-label-leading);letter-spacing:var(--type-label-tracking)}.text-caption{font-family:var(--type-caption-family);font-size:var(--type-caption-size);font-weight:var(--type-caption-weight);line-height:var(--type-caption-leading);letter-spacing:var(--type-caption-tracking)}.text-eyebrow{font-family:var(--type-eyebrow-family);font-size:var(--type-eyebrow-size);font-weight:var(--type-eyebrow-weight);line-height:var(--type-eyebrow-leading);letter-spacing:var(--type-eyebrow-tracking)}.comal-heading{font-family:var(--font-heading)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:var(--space-0,calc(var(--spacing-unit)*0))}.left-\[50\%\]{left:50%}.right-1{right:var(--space-1,calc(var(--spacing-unit)*1))}.right-2{right:var(--space-2,calc(var(--spacing-unit)*2))}.right-3{right:var(--space-3,calc(var(--spacing-unit)*3))}.right-4{right:var(--space-4,calc(var(--spacing-unit)*4))}.top-0{top:var(--space-0,calc(var(--spacing-unit)*0))}.top-1{top:var(--space-1,calc(var(--spacing-unit)*1))}.top-1\/2{top:50%}.top-4{top:var(--space-4,calc(var(--spacing-unit)*4))}.top-\[50\%\]{top:50%}.z-overlay{z-index:var(--z-overlay)}.z-popover{z-index:var(--z-popover)}.z-toast{z-index:var(--z-toast)}.-mx-1{margin-left:calc(var(--space-1, calc(var(--spacing-unit) * 1)) * -1);margin-right:calc(var(--space-1, calc(var(--spacing-unit) * 1)) * -1)}.my-1{margin-top:var(--space-1,calc(var(--spacing-unit)*1));margin-bottom:var(--space-1,calc(var(--spacing-unit)*1))}.mt-2{margin-top:var(--space-2,calc(var(--spacing-unit)*2))}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-10{height:var(--space-10,calc(var(--spacing-unit)*10))}.h-3\.5{height:var(--space-3-5,calc(var(--spacing-unit)*3.5))}.h-4{height:var(--space-4,calc(var(--spacing-unit)*4))}.h-8{height:var(--space-8,calc(var(--spacing-unit)*8))}.h-9{height:var(--space-9,calc(var(--spacing-unit)*9))}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-px{height:1px}.max-h-\[--radix-select-content-available-height\]{max-height:var(--radix-select-content-available-height)}.max-h-\[calc\(100dvh-2rem\)\]{max-height:calc(100dvh - 2rem)}.max-h-\[var\(--radix-popover-content-available-height\)\]{max-height:var(--radix-popover-content-available-height)}.max-h-screen{max-height:100vh}.min-h-\[60px\]{min-height:60px}.w-3\.5{width:var(--space-3-5,calc(var(--spacing-unit)*3.5))}.w-4{width:var(--space-4,calc(var(--spacing-unit)*4))}.w-72{width:var(--space-72,calc(var(--spacing-unit)*72))}.w-9{width:var(--space-9,calc(var(--spacing-unit)*9))}.w-\[calc\(100\%-2rem\)\]{width:calc(100% - 2rem)}.w-\[var\(--radix-popover-trigger-width\)\]{width:var(--radix-popover-trigger-width)}.w-full{width:100%}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-\[var\(--radix-popover-content-available-width\)\]{max-width:var(--radix-popover-content-available-width)}.max-w-\[var\(--tooltip-width\)\]{max-width:var(--tooltip-width)}.max-w-lg{max-width:var(--dialog-width)}.shrink-0{flex-shrink:0}.origin-\[--radix-popover-content-transform-origin\]{transform-origin:var(--radix-popover-content-transform-origin)}.origin-\[--radix-select-content-transform-origin\]{transform-origin:var(--radix-select-content-transform-origin)}.origin-\[--radix-tooltip-content-transform-origin\]{transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.translate-x-\[-50\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x:-50%}.translate-y-\[-50\%\]{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-default{cursor:default}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.place-content-center{place-content:center}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2,calc(var(--spacing-unit)*2))}.gap-4{gap:var(--space-4,calc(var(--spacing-unit)*4))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(var(--space-2, calc(var(--spacing-unit) * 2)) * var(--tw-space-x-reverse));margin-left:calc(var(--space-2, calc(var(--spacing-unit) * 2)) * calc(1 - var(--tw-space-x-reverse)))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(var(--space-1-5, calc(var(--spacing-unit) * 1.5)) * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(var(--space-1-5, calc(var(--spacing-unit) * 1.5)) * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-lg)}.border{border-width:var(--border-width)}.border-accent{--tw-border-opacity:1;border-color:hsl(var(--accent)/var(--tw-border-opacity,1))}.border-accent-foreground{--tw-border-opacity:1;border-color:hsl(var(--accent-foreground)/var(--tw-border-opacity,1))}.border-action{--tw-border-opacity:1;border-color:hsl(var(--border-action)/var(--tw-border-opacity,1))}.border-background{--tw-border-opacity:1;border-color:hsl(var(--background)/var(--tw-border-opacity,1))}.border-border{--tw-border-opacity:1;border-color:hsl(var(--border)/var(--tw-border-opacity,1))}.border-card{--tw-border-opacity:1;border-color:hsl(var(--card)/var(--tw-border-opacity,1))}.border-card-foreground{--tw-border-opacity:1;border-color:hsl(var(--card-foreground)/var(--tw-border-opacity,1))}.border-destructive{--tw-border-opacity:1;border-color:hsl(var(--destructive)/var(--tw-border-opacity,1))}.border-destructive-foreground{--tw-border-opacity:1;border-color:hsl(var(--destructive-foreground)/var(--tw-border-opacity,1))}.border-foreground{--tw-border-opacity:1;border-color:hsl(var(--foreground)/var(--tw-border-opacity,1))}.border-input{--tw-border-opacity:1;border-color:hsl(var(--input)/var(--tw-border-opacity,1))}.border-inverse{--tw-border-opacity:1;border-color:hsl(var(--border-inverse)/var(--tw-border-opacity,1))}.border-muted{--tw-border-opacity:1;border-color:hsl(var(--muted)/var(--tw-border-opacity,1))}.border-muted-foreground{--tw-border-opacity:1;border-color:hsl(var(--muted-foreground)/var(--tw-border-opacity,1))}.border-overlay{border-color:hsl(var(--overlay))}.border-popover{--tw-border-opacity:1;border-color:hsl(var(--popover)/var(--tw-border-opacity,1))}.border-popover-foreground{--tw-border-opacity:1;border-color:hsl(var(--popover-foreground)/var(--tw-border-opacity,1))}.border-primary{--tw-border-opacity:1;border-color:hsl(var(--border-primary)/var(--tw-border-opacity,1))}.border-primary-foreground{--tw-border-opacity:1;border-color:hsl(var(--primary-foreground)/var(--tw-border-opacity,1))}.border-primary-hover{--tw-border-opacity:1;border-color:hsl(var(--primary-hover)/var(--tw-border-opacity,1))}.border-ring{--tw-border-opacity:1;border-color:hsl(var(--ring)/var(--tw-border-opacity,1))}.border-secondary{--tw-border-opacity:1;border-color:hsl(var(--border-secondary)/var(--tw-border-opacity,1))}.border-secondary-foreground{--tw-border-opacity:1;border-color:hsl(var(--secondary-foreground)/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.bg-accent{--tw-bg-opacity:1;background-color:hsl(var(--accent)/var(--tw-bg-opacity,1))}.bg-accent-foreground{--tw-bg-opacity:1;background-color:hsl(var(--accent-foreground)/var(--tw-bg-opacity,1))}.bg-background{--tw-bg-opacity:1;background-color:hsl(var(--background)/var(--tw-bg-opacity,1))}.bg-border{background-color:hsl(var(--border)/var(--tw-bg-opacity,1))}.bg-border,.bg-card{--tw-bg-opacity:1}.bg-card{background-color:hsl(var(--card)/var(--tw-bg-opacity,1))}.bg-card-foreground{--tw-bg-opacity:1;background-color:hsl(var(--card-foreground)/var(--tw-bg-opacity,1))}.bg-destructive{--tw-bg-opacity:1;background-color:hsl(var(--destructive)/var(--tw-bg-opacity,1))}.bg-destructive-foreground{--tw-bg-opacity:1;background-color:hsl(var(--destructive-foreground)/var(--tw-bg-opacity,1))}.bg-foreground{--tw-bg-opacity:1;background-color:hsl(var(--foreground)/var(--tw-bg-opacity,1))}.bg-input{background-color:hsl(var(--input)/var(--tw-bg-opacity,1))}.bg-input,.bg-muted{--tw-bg-opacity:1}.bg-muted{background-color:hsl(var(--muted)/var(--tw-bg-opacity,1))}.bg-muted-foreground{--tw-bg-opacity:1;background-color:hsl(var(--muted-foreground)/var(--tw-bg-opacity,1))}.bg-overlay{background-color:hsl(var(--overlay))}.bg-popover{--tw-bg-opacity:1;background-color:hsl(var(--popover)/var(--tw-bg-opacity,1))}.bg-popover-foreground{--tw-bg-opacity:1;background-color:hsl(var(--popover-foreground)/var(--tw-bg-opacity,1))}.bg-primary{--tw-bg-opacity:1;background-color:hsl(var(--primary)/var(--tw-bg-opacity,1))}.bg-primary-foreground{--tw-bg-opacity:1;background-color:hsl(var(--primary-foreground)/var(--tw-bg-opacity,1))}.bg-primary-hover{--tw-bg-opacity:1;background-color:hsl(var(--primary-hover)/var(--tw-bg-opacity,1))}.bg-ring{--tw-bg-opacity:1;background-color:hsl(var(--ring)/var(--tw-bg-opacity,1))}.bg-secondary{--tw-bg-opacity:1;background-color:hsl(var(--secondary)/var(--tw-bg-opacity,1))}.bg-secondary-foreground{--tw-bg-opacity:1;background-color:hsl(var(--secondary-foreground)/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.p-1{padding:var(--space-1,calc(var(--spacing-unit)*1))}.p-4{padding:var(--space-4,calc(var(--spacing-unit)*4))}.p-6{padding:var(--space-6,calc(var(--spacing-unit)*6))}.px-2{padding-left:var(--space-2,calc(var(--spacing-unit)*2));padding-right:var(--space-2,calc(var(--spacing-unit)*2))}.px-2\.5{padding-left:var(--space-2-5,calc(var(--spacing-unit)*2.5));padding-right:var(--space-2-5,calc(var(--spacing-unit)*2.5))}.px-3{padding-left:var(--space-3,calc(var(--spacing-unit)*3));padding-right:var(--space-3,calc(var(--spacing-unit)*3))}.px-4{padding-left:var(--space-4,calc(var(--spacing-unit)*4));padding-right:var(--space-4,calc(var(--spacing-unit)*4))}.px-8{padding-left:var(--space-8,calc(var(--spacing-unit)*8));padding-right:var(--space-8,calc(var(--spacing-unit)*8))}.py-0\.5{padding-top:var(--space-0-5,calc(var(--spacing-unit)*.5));padding-bottom:var(--space-0-5,calc(var(--spacing-unit)*.5))}.py-1{padding-top:var(--space-1,calc(var(--spacing-unit)*1));padding-bottom:var(--space-1,calc(var(--spacing-unit)*1))}.py-1\.5{padding-top:var(--space-1-5,calc(var(--spacing-unit)*1.5));padding-bottom:var(--space-1-5,calc(var(--spacing-unit)*1.5))}.py-2{padding-top:var(--space-2,calc(var(--spacing-unit)*2));padding-bottom:var(--space-2,calc(var(--spacing-unit)*2))}.pl-2{padding-left:var(--space-2,calc(var(--spacing-unit)*2))}.pr-6{padding-right:var(--space-6,calc(var(--spacing-unit)*6))}.pr-8{padding-right:var(--space-8,calc(var(--spacing-unit)*8))}.pt-0{padding-top:var(--space-0,calc(var(--spacing-unit)*0))}.text-center{text-align:center}.text-base{font-size:var(--font-size-md)}.text-base,.text-lg{line-height:var(--line-height)}.text-lg{font-size:var(--font-size-lg)}.text-sm{font-size:var(--font-size-sm)}.text-sm,.text-xs{line-height:var(--line-height)}.text-xs{font-size:var(--font-size-xs)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-bold)}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.text-accent{--tw-text-opacity:1;color:hsl(var(--accent)/var(--tw-text-opacity,1))}.text-accent-foreground{--tw-text-opacity:1;color:hsl(var(--accent-foreground)/var(--tw-text-opacity,1))}.text-action{--tw-text-opacity:1;color:hsl(var(--text-action)/var(--tw-text-opacity,1))}.text-background{--tw-text-opacity:1;color:hsl(var(--background)/var(--tw-text-opacity,1))}.text-border{color:hsl(var(--border)/var(--tw-text-opacity,1))}.text-border,.text-card{--tw-text-opacity:1}.text-card{color:hsl(var(--card)/var(--tw-text-opacity,1))}.text-card-foreground{--tw-text-opacity:1;color:hsl(var(--card-foreground)/var(--tw-text-opacity,1))}.text-current{color:currentColor}.text-destructive{--tw-text-opacity:1;color:hsl(var(--destructive)/var(--tw-text-opacity,1))}.text-destructive-foreground{--tw-text-opacity:1;color:hsl(var(--destructive-foreground)/var(--tw-text-opacity,1))}.text-foreground{--tw-text-opacity:1;color:hsl(var(--foreground)/var(--tw-text-opacity,1))}.text-input{--tw-text-opacity:1;color:hsl(var(--input)/var(--tw-text-opacity,1))}.text-inverse{--tw-text-opacity:1;color:hsl(var(--text-inverse)/var(--tw-text-opacity,1))}.text-muted{--tw-text-opacity:1;color:hsl(var(--text-muted)/var(--tw-text-opacity,1))}.text-muted-foreground{--tw-text-opacity:1;color:hsl(var(--muted-foreground)/var(--tw-text-opacity,1))}.text-overlay{color:hsl(var(--overlay))}.text-popover{--tw-text-opacity:1;color:hsl(var(--popover)/var(--tw-text-opacity,1))}.text-popover-foreground{--tw-text-opacity:1;color:hsl(var(--popover-foreground)/var(--tw-text-opacity,1))}.text-primary{--tw-text-opacity:1;color:hsl(var(--text-primary)/var(--tw-text-opacity,1))}.text-primary-foreground{--tw-text-opacity:1;color:hsl(var(--primary-foreground)/var(--tw-text-opacity,1))}.text-primary-hover{--tw-text-opacity:1;color:hsl(var(--primary-hover)/var(--tw-text-opacity,1))}.text-primary\/50{color:hsl(var(--text-primary)/.5)}.text-ring{--tw-text-opacity:1;color:hsl(var(--ring)/var(--tw-text-opacity,1))}.text-secondary{--tw-text-opacity:1;color:hsl(var(--text-secondary)/var(--tw-text-opacity,1))}.text-secondary-foreground{--tw-text-opacity:1;color:hsl(var(--secondary-foreground)/var(--tw-text-opacity,1))}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow{--tw-shadow:var(--shadow);--tw-shadow-colored:var(--shadow)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:var(--shadow-dialog);--tw-shadow-colored:var(--shadow-dialog)}.shadow-md{--tw-shadow:var(--shadow);--tw-shadow-colored:var(--shadow)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:var(--shadow-sm);--tw-shadow-colored:var(--shadow-sm)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background)/1)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:var(--duration)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:var(--duration)}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:var(--duration)}.duration-200{transition-duration:.2s}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{animation-name:enter;animation-duration:var(--duration);--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.duration-200{animation-duration:.2s}.surface-inverse{background-color:hsl(var(--surface-inverse))}.surface-primary{background-color:hsl(var(--surface-primary))}.surface-raised{background-color:hsl(var(--surface-raised))}.surface-secondary{background-color:hsl(var(--surface-secondary))}.surface-tertiary{background-color:hsl(var(--surface-tertiary))}@media (prefers-reduced-motion:reduce){:where(.comal-ui){animation:none!important;transition:none!important}}[data-slot=checkbox-indicator]:not([data-state=indeterminate])>[data-mixed-icon],[data-slot=checkbox-indicator][data-state=indeterminate]>[data-check-icon]{display:none}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:var(--font-size-sm);line-height:var(--line-height)}.file\:font-medium::file-selector-button{font-weight:var(--font-weight-medium)}.file\:text-primary::file-selector-button{--tw-text-opacity:1;color:hsl(var(--text-primary)/var(--tw-text-opacity,1))}.placeholder\:text-muted::-moz-placeholder{--tw-text-opacity:1;color:hsl(var(--text-muted)/var(--tw-text-opacity,1))}.placeholder\:text-muted::placeholder{--tw-text-opacity:1;color:hsl(var(--text-muted)/var(--tw-text-opacity,1))}.hover\:border-accent:hover{--tw-border-opacity:1;border-color:hsl(var(--accent)/var(--tw-border-opacity,1))}.hover\:border-accent-foreground:hover{--tw-border-opacity:1;border-color:hsl(var(--accent-foreground)/var(--tw-border-opacity,1))}.hover\:border-action:hover{--tw-border-opacity:1;border-color:hsl(var(--border-action)/var(--tw-border-opacity,1))}.hover\:border-background:hover{--tw-border-opacity:1;border-color:hsl(var(--background)/var(--tw-border-opacity,1))}.hover\:border-border:hover{--tw-border-opacity:1;border-color:hsl(var(--border)/var(--tw-border-opacity,1))}.hover\:border-card:hover{--tw-border-opacity:1;border-color:hsl(var(--card)/var(--tw-border-opacity,1))}.hover\:border-card-foreground:hover{--tw-border-opacity:1;border-color:hsl(var(--card-foreground)/var(--tw-border-opacity,1))}.hover\:border-destructive:hover{--tw-border-opacity:1;border-color:hsl(var(--destructive)/var(--tw-border-opacity,1))}.hover\:border-destructive-foreground:hover{--tw-border-opacity:1;border-color:hsl(var(--destructive-foreground)/var(--tw-border-opacity,1))}.hover\:border-foreground:hover{--tw-border-opacity:1;border-color:hsl(var(--foreground)/var(--tw-border-opacity,1))}.hover\:border-input:hover{--tw-border-opacity:1;border-color:hsl(var(--input)/var(--tw-border-opacity,1))}.hover\:border-inverse:hover{--tw-border-opacity:1;border-color:hsl(var(--border-inverse)/var(--tw-border-opacity,1))}.hover\:border-muted:hover{--tw-border-opacity:1;border-color:hsl(var(--muted)/var(--tw-border-opacity,1))}.hover\:border-muted-foreground:hover{--tw-border-opacity:1;border-color:hsl(var(--muted-foreground)/var(--tw-border-opacity,1))}.hover\:border-overlay:hover{border-color:hsl(var(--overlay))}.hover\:border-popover:hover{--tw-border-opacity:1;border-color:hsl(var(--popover)/var(--tw-border-opacity,1))}.hover\:border-popover-foreground:hover{--tw-border-opacity:1;border-color:hsl(var(--popover-foreground)/var(--tw-border-opacity,1))}.hover\:border-primary:hover{--tw-border-opacity:1;border-color:hsl(var(--border-primary)/var(--tw-border-opacity,1))}.hover\:border-primary-foreground:hover{--tw-border-opacity:1;border-color:hsl(var(--primary-foreground)/var(--tw-border-opacity,1))}.hover\:border-primary-hover:hover{--tw-border-opacity:1;border-color:hsl(var(--primary-hover)/var(--tw-border-opacity,1))}.hover\:border-ring:hover{--tw-border-opacity:1;border-color:hsl(var(--ring)/var(--tw-border-opacity,1))}.hover\:border-secondary:hover{--tw-border-opacity:1;border-color:hsl(var(--border-secondary)/var(--tw-border-opacity,1))}.hover\:border-secondary-foreground:hover{--tw-border-opacity:1;border-color:hsl(var(--secondary-foreground)/var(--tw-border-opacity,1))}.hover\:bg-accent:hover{--tw-bg-opacity:1;background-color:hsl(var(--accent)/var(--tw-bg-opacity,1))}.hover\:bg-accent-foreground:hover{--tw-bg-opacity:1;background-color:hsl(var(--accent-foreground)/var(--tw-bg-opacity,1))}.hover\:bg-background:hover{--tw-bg-opacity:1;background-color:hsl(var(--background)/var(--tw-bg-opacity,1))}.hover\:bg-border:hover{--tw-bg-opacity:1;background-color:hsl(var(--border)/var(--tw-bg-opacity,1))}.hover\:bg-card:hover{--tw-bg-opacity:1;background-color:hsl(var(--card)/var(--tw-bg-opacity,1))}.hover\:bg-card-foreground:hover{--tw-bg-opacity:1;background-color:hsl(var(--card-foreground)/var(--tw-bg-opacity,1))}.hover\:bg-destructive:hover{--tw-bg-opacity:1;background-color:hsl(var(--destructive)/var(--tw-bg-opacity,1))}.hover\:bg-destructive-foreground:hover{--tw-bg-opacity:1;background-color:hsl(var(--destructive-foreground)/var(--tw-bg-opacity,1))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive)/.8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:bg-foreground:hover{--tw-bg-opacity:1;background-color:hsl(var(--foreground)/var(--tw-bg-opacity,1))}.hover\:bg-input:hover{--tw-bg-opacity:1;background-color:hsl(var(--input)/var(--tw-bg-opacity,1))}.hover\:bg-muted:hover{--tw-bg-opacity:1;background-color:hsl(var(--muted)/var(--tw-bg-opacity,1))}.hover\:bg-muted-foreground:hover{--tw-bg-opacity:1;background-color:hsl(var(--muted-foreground)/var(--tw-bg-opacity,1))}.hover\:bg-overlay:hover{background-color:hsl(var(--overlay))}.hover\:bg-popover:hover{--tw-bg-opacity:1;background-color:hsl(var(--popover)/var(--tw-bg-opacity,1))}.hover\:bg-popover-foreground:hover{--tw-bg-opacity:1;background-color:hsl(var(--popover-foreground)/var(--tw-bg-opacity,1))}.hover\:bg-primary:hover{--tw-bg-opacity:1;background-color:hsl(var(--primary)/var(--tw-bg-opacity,1))}.hover\:bg-primary-foreground:hover{--tw-bg-opacity:1;background-color:hsl(var(--primary-foreground)/var(--tw-bg-opacity,1))}.hover\:bg-primary-hover:hover{--tw-bg-opacity:1;background-color:hsl(var(--primary-hover)/var(--tw-bg-opacity,1))}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary)/.8)}.hover\:bg-ring:hover{--tw-bg-opacity:1;background-color:hsl(var(--ring)/var(--tw-bg-opacity,1))}.hover\:bg-secondary:hover{--tw-bg-opacity:1;background-color:hsl(var(--secondary)/var(--tw-bg-opacity,1))}.hover\:bg-secondary-foreground:hover{--tw-bg-opacity:1;background-color:hsl(var(--secondary-foreground)/var(--tw-bg-opacity,1))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\:text-accent:hover{--tw-text-opacity:1;color:hsl(var(--accent)/var(--tw-text-opacity,1))}.hover\:text-accent-foreground:hover{--tw-text-opacity:1;color:hsl(var(--accent-foreground)/var(--tw-text-opacity,1))}.hover\:text-action:hover{--tw-text-opacity:1;color:hsl(var(--text-action)/var(--tw-text-opacity,1))}.hover\:text-background:hover{--tw-text-opacity:1;color:hsl(var(--background)/var(--tw-text-opacity,1))}.hover\:text-border:hover{--tw-text-opacity:1;color:hsl(var(--border)/var(--tw-text-opacity,1))}.hover\:text-card:hover{--tw-text-opacity:1;color:hsl(var(--card)/var(--tw-text-opacity,1))}.hover\:text-card-foreground:hover{--tw-text-opacity:1;color:hsl(var(--card-foreground)/var(--tw-text-opacity,1))}.hover\:text-destructive:hover{--tw-text-opacity:1;color:hsl(var(--destructive)/var(--tw-text-opacity,1))}.hover\:text-destructive-foreground:hover{--tw-text-opacity:1;color:hsl(var(--destructive-foreground)/var(--tw-text-opacity,1))}.hover\:text-foreground:hover{--tw-text-opacity:1;color:hsl(var(--foreground)/var(--tw-text-opacity,1))}.hover\:text-input:hover{--tw-text-opacity:1;color:hsl(var(--input)/var(--tw-text-opacity,1))}.hover\:text-inverse:hover{--tw-text-opacity:1;color:hsl(var(--text-inverse)/var(--tw-text-opacity,1))}.hover\:text-muted:hover{--tw-text-opacity:1;color:hsl(var(--text-muted)/var(--tw-text-opacity,1))}.hover\:text-muted-foreground:hover{--tw-text-opacity:1;color:hsl(var(--muted-foreground)/var(--tw-text-opacity,1))}.hover\:text-overlay:hover{color:hsl(var(--overlay))}.hover\:text-popover:hover{--tw-text-opacity:1;color:hsl(var(--popover)/var(--tw-text-opacity,1))}.hover\:text-popover-foreground:hover{--tw-text-opacity:1;color:hsl(var(--popover-foreground)/var(--tw-text-opacity,1))}.hover\:text-primary:hover{--tw-text-opacity:1;color:hsl(var(--text-primary)/var(--tw-text-opacity,1))}.hover\:text-primary-foreground:hover{--tw-text-opacity:1;color:hsl(var(--primary-foreground)/var(--tw-text-opacity,1))}.hover\:text-primary-hover:hover{--tw-text-opacity:1;color:hsl(var(--primary-hover)/var(--tw-text-opacity,1))}.hover\:text-ring:hover{--tw-text-opacity:1;color:hsl(var(--ring)/var(--tw-text-opacity,1))}.hover\:text-secondary:hover{--tw-text-opacity:1;color:hsl(var(--text-secondary)/var(--tw-text-opacity,1))}.hover\:text-secondary-foreground:hover{--tw-text-opacity:1;color:hsl(var(--secondary-foreground)/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:surface-inverse:hover{background-color:hsl(var(--surface-inverse))}.hover\:surface-primary:hover{background-color:hsl(var(--surface-primary))}.hover\:surface-raised:hover{background-color:hsl(var(--surface-raised))}.hover\:surface-secondary:hover{background-color:hsl(var(--surface-secondary))}.hover\:surface-tertiary:hover{background-color:hsl(var(--surface-tertiary))}.focus\:border-accent:focus{--tw-border-opacity:1;border-color:hsl(var(--accent)/var(--tw-border-opacity,1))}.focus\:border-accent-foreground:focus{--tw-border-opacity:1;border-color:hsl(var(--accent-foreground)/var(--tw-border-opacity,1))}.focus\:border-action:focus{--tw-border-opacity:1;border-color:hsl(var(--border-action)/var(--tw-border-opacity,1))}.focus\:border-background:focus{--tw-border-opacity:1;border-color:hsl(var(--background)/var(--tw-border-opacity,1))}.focus\:border-border:focus{--tw-border-opacity:1;border-color:hsl(var(--border)/var(--tw-border-opacity,1))}.focus\:border-card:focus{--tw-border-opacity:1;border-color:hsl(var(--card)/var(--tw-border-opacity,1))}.focus\:border-card-foreground:focus{--tw-border-opacity:1;border-color:hsl(var(--card-foreground)/var(--tw-border-opacity,1))}.focus\:border-destructive:focus{--tw-border-opacity:1;border-color:hsl(var(--destructive)/var(--tw-border-opacity,1))}.focus\:border-destructive-foreground:focus{--tw-border-opacity:1;border-color:hsl(var(--destructive-foreground)/var(--tw-border-opacity,1))}.focus\:border-foreground:focus{--tw-border-opacity:1;border-color:hsl(var(--foreground)/var(--tw-border-opacity,1))}.focus\:border-input:focus{--tw-border-opacity:1;border-color:hsl(var(--input)/var(--tw-border-opacity,1))}.focus\:border-inverse:focus{--tw-border-opacity:1;border-color:hsl(var(--border-inverse)/var(--tw-border-opacity,1))}.focus\:border-muted:focus{--tw-border-opacity:1;border-color:hsl(var(--muted)/var(--tw-border-opacity,1))}.focus\:border-muted-foreground:focus{--tw-border-opacity:1;border-color:hsl(var(--muted-foreground)/var(--tw-border-opacity,1))}.focus\:border-overlay:focus{border-color:hsl(var(--overlay))}.focus\:border-popover:focus{--tw-border-opacity:1;border-color:hsl(var(--popover)/var(--tw-border-opacity,1))}.focus\:border-popover-foreground:focus{--tw-border-opacity:1;border-color:hsl(var(--popover-foreground)/var(--tw-border-opacity,1))}.focus\:border-primary:focus{--tw-border-opacity:1;border-color:hsl(var(--border-primary)/var(--tw-border-opacity,1))}.focus\:border-primary-foreground:focus{--tw-border-opacity:1;border-color:hsl(var(--primary-foreground)/var(--tw-border-opacity,1))}.focus\:border-primary-hover:focus{--tw-border-opacity:1;border-color:hsl(var(--primary-hover)/var(--tw-border-opacity,1))}.focus\:border-ring:focus{--tw-border-opacity:1;border-color:hsl(var(--ring)/var(--tw-border-opacity,1))}.focus\:border-secondary:focus{--tw-border-opacity:1;border-color:hsl(var(--border-secondary)/var(--tw-border-opacity,1))}.focus\:border-secondary-foreground:focus{--tw-border-opacity:1;border-color:hsl(var(--secondary-foreground)/var(--tw-border-opacity,1))}.focus\:bg-accent:focus{--tw-bg-opacity:1;background-color:hsl(var(--accent)/var(--tw-bg-opacity,1))}.focus\:bg-accent-foreground:focus{--tw-bg-opacity:1;background-color:hsl(var(--accent-foreground)/var(--tw-bg-opacity,1))}.focus\:bg-background:focus{--tw-bg-opacity:1;background-color:hsl(var(--background)/var(--tw-bg-opacity,1))}.focus\:bg-border:focus{--tw-bg-opacity:1;background-color:hsl(var(--border)/var(--tw-bg-opacity,1))}.focus\:bg-card:focus{--tw-bg-opacity:1;background-color:hsl(var(--card)/var(--tw-bg-opacity,1))}.focus\:bg-card-foreground:focus{--tw-bg-opacity:1;background-color:hsl(var(--card-foreground)/var(--tw-bg-opacity,1))}.focus\:bg-destructive:focus{--tw-bg-opacity:1;background-color:hsl(var(--destructive)/var(--tw-bg-opacity,1))}.focus\:bg-destructive-foreground:focus{--tw-bg-opacity:1;background-color:hsl(var(--destructive-foreground)/var(--tw-bg-opacity,1))}.focus\:bg-foreground:focus{--tw-bg-opacity:1;background-color:hsl(var(--foreground)/var(--tw-bg-opacity,1))}.focus\:bg-input:focus{--tw-bg-opacity:1;background-color:hsl(var(--input)/var(--tw-bg-opacity,1))}.focus\:bg-muted:focus{--tw-bg-opacity:1;background-color:hsl(var(--muted)/var(--tw-bg-opacity,1))}.focus\:bg-muted-foreground:focus{--tw-bg-opacity:1;background-color:hsl(var(--muted-foreground)/var(--tw-bg-opacity,1))}.focus\:bg-overlay:focus{background-color:hsl(var(--overlay))}.focus\:bg-popover:focus{--tw-bg-opacity:1;background-color:hsl(var(--popover)/var(--tw-bg-opacity,1))}.focus\:bg-popover-foreground:focus{--tw-bg-opacity:1;background-color:hsl(var(--popover-foreground)/var(--tw-bg-opacity,1))}.focus\:bg-primary:focus{--tw-bg-opacity:1;background-color:hsl(var(--primary)/var(--tw-bg-opacity,1))}.focus\:bg-primary-foreground:focus{--tw-bg-opacity:1;background-color:hsl(var(--primary-foreground)/var(--tw-bg-opacity,1))}.focus\:bg-primary-hover:focus{--tw-bg-opacity:1;background-color:hsl(var(--primary-hover)/var(--tw-bg-opacity,1))}.focus\:bg-ring:focus{--tw-bg-opacity:1;background-color:hsl(var(--ring)/var(--tw-bg-opacity,1))}.focus\:bg-secondary:focus{--tw-bg-opacity:1;background-color:hsl(var(--secondary)/var(--tw-bg-opacity,1))}.focus\:bg-secondary-foreground:focus{--tw-bg-opacity:1;background-color:hsl(var(--secondary-foreground)/var(--tw-bg-opacity,1))}.focus\:text-accent:focus{--tw-text-opacity:1;color:hsl(var(--accent)/var(--tw-text-opacity,1))}.focus\:text-accent-foreground:focus{--tw-text-opacity:1;color:hsl(var(--accent-foreground)/var(--tw-text-opacity,1))}.focus\:text-action:focus{--tw-text-opacity:1;color:hsl(var(--text-action)/var(--tw-text-opacity,1))}.focus\:text-background:focus{--tw-text-opacity:1;color:hsl(var(--background)/var(--tw-text-opacity,1))}.focus\:text-border:focus{--tw-text-opacity:1;color:hsl(var(--border)/var(--tw-text-opacity,1))}.focus\:text-card:focus{--tw-text-opacity:1;color:hsl(var(--card)/var(--tw-text-opacity,1))}.focus\:text-card-foreground:focus{--tw-text-opacity:1;color:hsl(var(--card-foreground)/var(--tw-text-opacity,1))}.focus\:text-destructive:focus{--tw-text-opacity:1;color:hsl(var(--destructive)/var(--tw-text-opacity,1))}.focus\:text-destructive-foreground:focus{--tw-text-opacity:1;color:hsl(var(--destructive-foreground)/var(--tw-text-opacity,1))}.focus\:text-foreground:focus{--tw-text-opacity:1;color:hsl(var(--foreground)/var(--tw-text-opacity,1))}.focus\:text-input:focus{--tw-text-opacity:1;color:hsl(var(--input)/var(--tw-text-opacity,1))}.focus\:text-inverse:focus{--tw-text-opacity:1;color:hsl(var(--text-inverse)/var(--tw-text-opacity,1))}.focus\:text-muted:focus{--tw-text-opacity:1;color:hsl(var(--text-muted)/var(--tw-text-opacity,1))}.focus\:text-muted-foreground:focus{--tw-text-opacity:1;color:hsl(var(--muted-foreground)/var(--tw-text-opacity,1))}.focus\:text-overlay:focus{color:hsl(var(--overlay))}.focus\:text-popover:focus{--tw-text-opacity:1;color:hsl(var(--popover)/var(--tw-text-opacity,1))}.focus\:text-popover-foreground:focus{--tw-text-opacity:1;color:hsl(var(--popover-foreground)/var(--tw-text-opacity,1))}.focus\:text-primary:focus{--tw-text-opacity:1;color:hsl(var(--text-primary)/var(--tw-text-opacity,1))}.focus\:text-primary-foreground:focus{--tw-text-opacity:1;color:hsl(var(--primary-foreground)/var(--tw-text-opacity,1))}.focus\:text-primary-hover:focus{--tw-text-opacity:1;color:hsl(var(--primary-hover)/var(--tw-text-opacity,1))}.focus\:text-ring:focus{--tw-text-opacity:1;color:hsl(var(--ring)/var(--tw-text-opacity,1))}.focus\:text-secondary:focus{--tw-text-opacity:1;color:hsl(var(--text-secondary)/var(--tw-text-opacity,1))}.focus\:text-secondary-foreground:focus{--tw-text-opacity:1;color:hsl(var(--secondary-foreground)/var(--tw-text-opacity,1))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus,.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--focus-width) + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-opacity:1;--tw-ring-color:hsl(var(--ring)/var(--tw-ring-opacity,1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:var(--focus-offset)}.focus\:surface-inverse:focus{background-color:hsl(var(--surface-inverse))}.focus\:surface-primary:focus{background-color:hsl(var(--surface-primary))}.focus\:surface-raised:focus{background-color:hsl(var(--surface-raised))}.focus\:surface-secondary:focus{background-color:hsl(var(--surface-secondary))}.focus\:surface-tertiary:focus{background-color:hsl(var(--surface-tertiary))}.focus-visible\:border-accent:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--accent)/var(--tw-border-opacity,1))}.focus-visible\:border-accent-foreground:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--accent-foreground)/var(--tw-border-opacity,1))}.focus-visible\:border-action:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--border-action)/var(--tw-border-opacity,1))}.focus-visible\:border-background:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--background)/var(--tw-border-opacity,1))}.focus-visible\:border-border:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--border)/var(--tw-border-opacity,1))}.focus-visible\:border-card:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--card)/var(--tw-border-opacity,1))}.focus-visible\:border-card-foreground:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--card-foreground)/var(--tw-border-opacity,1))}.focus-visible\:border-destructive:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--destructive)/var(--tw-border-opacity,1))}.focus-visible\:border-destructive-foreground:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--destructive-foreground)/var(--tw-border-opacity,1))}.focus-visible\:border-foreground:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--foreground)/var(--tw-border-opacity,1))}.focus-visible\:border-input:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--input)/var(--tw-border-opacity,1))}.focus-visible\:border-inverse:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--border-inverse)/var(--tw-border-opacity,1))}.focus-visible\:border-muted:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--muted)/var(--tw-border-opacity,1))}.focus-visible\:border-muted-foreground:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--muted-foreground)/var(--tw-border-opacity,1))}.focus-visible\:border-overlay:focus-visible{border-color:hsl(var(--overlay))}.focus-visible\:border-popover:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--popover)/var(--tw-border-opacity,1))}.focus-visible\:border-popover-foreground:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--popover-foreground)/var(--tw-border-opacity,1))}.focus-visible\:border-primary:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--border-primary)/var(--tw-border-opacity,1))}.focus-visible\:border-primary-foreground:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--primary-foreground)/var(--tw-border-opacity,1))}.focus-visible\:border-primary-hover:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--primary-hover)/var(--tw-border-opacity,1))}.focus-visible\:border-ring:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--ring)/var(--tw-border-opacity,1))}.focus-visible\:border-secondary:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--border-secondary)/var(--tw-border-opacity,1))}.focus-visible\:border-secondary-foreground:focus-visible{--tw-border-opacity:1;border-color:hsl(var(--secondary-foreground)/var(--tw-border-opacity,1))}.focus-visible\:bg-accent:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--accent)/var(--tw-bg-opacity,1))}.focus-visible\:bg-accent-foreground:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--accent-foreground)/var(--tw-bg-opacity,1))}.focus-visible\:bg-background:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--background)/var(--tw-bg-opacity,1))}.focus-visible\:bg-border:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--border)/var(--tw-bg-opacity,1))}.focus-visible\:bg-card:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--card)/var(--tw-bg-opacity,1))}.focus-visible\:bg-card-foreground:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--card-foreground)/var(--tw-bg-opacity,1))}.focus-visible\:bg-destructive:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--destructive)/var(--tw-bg-opacity,1))}.focus-visible\:bg-destructive-foreground:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--destructive-foreground)/var(--tw-bg-opacity,1))}.focus-visible\:bg-foreground:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--foreground)/var(--tw-bg-opacity,1))}.focus-visible\:bg-input:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--input)/var(--tw-bg-opacity,1))}.focus-visible\:bg-muted:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--muted)/var(--tw-bg-opacity,1))}.focus-visible\:bg-muted-foreground:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--muted-foreground)/var(--tw-bg-opacity,1))}.focus-visible\:bg-overlay:focus-visible{background-color:hsl(var(--overlay))}.focus-visible\:bg-popover:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--popover)/var(--tw-bg-opacity,1))}.focus-visible\:bg-popover-foreground:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--popover-foreground)/var(--tw-bg-opacity,1))}.focus-visible\:bg-primary:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--primary)/var(--tw-bg-opacity,1))}.focus-visible\:bg-primary-foreground:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--primary-foreground)/var(--tw-bg-opacity,1))}.focus-visible\:bg-primary-hover:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--primary-hover)/var(--tw-bg-opacity,1))}.focus-visible\:bg-ring:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--ring)/var(--tw-bg-opacity,1))}.focus-visible\:bg-secondary:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--secondary)/var(--tw-bg-opacity,1))}.focus-visible\:bg-secondary-foreground:focus-visible{--tw-bg-opacity:1;background-color:hsl(var(--secondary-foreground)/var(--tw-bg-opacity,1))}.focus-visible\:text-accent:focus-visible{--tw-text-opacity:1;color:hsl(var(--accent)/var(--tw-text-opacity,1))}.focus-visible\:text-accent-foreground:focus-visible{--tw-text-opacity:1;color:hsl(var(--accent-foreground)/var(--tw-text-opacity,1))}.focus-visible\:text-action:focus-visible{--tw-text-opacity:1;color:hsl(var(--text-action)/var(--tw-text-opacity,1))}.focus-visible\:text-background:focus-visible{--tw-text-opacity:1;color:hsl(var(--background)/var(--tw-text-opacity,1))}.focus-visible\:text-border:focus-visible{--tw-text-opacity:1;color:hsl(var(--border)/var(--tw-text-opacity,1))}.focus-visible\:text-card:focus-visible{--tw-text-opacity:1;color:hsl(var(--card)/var(--tw-text-opacity,1))}.focus-visible\:text-card-foreground:focus-visible{--tw-text-opacity:1;color:hsl(var(--card-foreground)/var(--tw-text-opacity,1))}.focus-visible\:text-destructive:focus-visible{--tw-text-opacity:1;color:hsl(var(--destructive)/var(--tw-text-opacity,1))}.focus-visible\:text-destructive-foreground:focus-visible{--tw-text-opacity:1;color:hsl(var(--destructive-foreground)/var(--tw-text-opacity,1))}.focus-visible\:text-foreground:focus-visible{--tw-text-opacity:1;color:hsl(var(--foreground)/var(--tw-text-opacity,1))}.focus-visible\:text-input:focus-visible{--tw-text-opacity:1;color:hsl(var(--input)/var(--tw-text-opacity,1))}.focus-visible\:text-inverse:focus-visible{--tw-text-opacity:1;color:hsl(var(--text-inverse)/var(--tw-text-opacity,1))}.focus-visible\:text-muted:focus-visible{--tw-text-opacity:1;color:hsl(var(--text-muted)/var(--tw-text-opacity,1))}.focus-visible\:text-muted-foreground:focus-visible{--tw-text-opacity:1;color:hsl(var(--muted-foreground)/var(--tw-text-opacity,1))}.focus-visible\:text-overlay:focus-visible{color:hsl(var(--overlay))}.focus-visible\:text-popover:focus-visible{--tw-text-opacity:1;color:hsl(var(--popover)/var(--tw-text-opacity,1))}.focus-visible\:text-popover-foreground:focus-visible{--tw-text-opacity:1;color:hsl(var(--popover-foreground)/var(--tw-text-opacity,1))}.focus-visible\:text-primary:focus-visible{--tw-text-opacity:1;color:hsl(var(--text-primary)/var(--tw-text-opacity,1))}.focus-visible\:text-primary-foreground:focus-visible{--tw-text-opacity:1;color:hsl(var(--primary-foreground)/var(--tw-text-opacity,1))}.focus-visible\:text-primary-hover:focus-visible{--tw-text-opacity:1;color:hsl(var(--primary-hover)/var(--tw-text-opacity,1))}.focus-visible\:text-ring:focus-visible{--tw-text-opacity:1;color:hsl(var(--ring)/var(--tw-text-opacity,1))}.focus-visible\:text-secondary:focus-visible{--tw-text-opacity:1;color:hsl(var(--text-secondary)/var(--tw-text-opacity,1))}.focus-visible\:text-secondary-foreground:focus-visible{--tw-text-opacity:1;color:hsl(var(--secondary-foreground)/var(--tw-text-opacity,1))}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--focus-width) + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--focus-width) + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-opacity:1;--tw-ring-color:hsl(var(--ring)/var(--tw-ring-opacity,1))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:var(--focus-offset)}.focus-visible\:surface-inverse:focus-visible{background-color:hsl(var(--surface-inverse))}.focus-visible\:surface-primary:focus-visible{background-color:hsl(var(--surface-primary))}.focus-visible\:surface-raised:focus-visible{background-color:hsl(var(--surface-raised))}.focus-visible\:surface-secondary:focus-visible{background-color:hsl(var(--surface-secondary))}.focus-visible\:surface-tertiary:focus-visible{background-color:hsl(var(--surface-tertiary))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-disabled:disabled{opacity:var(--disabled-opacity)}.group:hover .group-hover\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:hsl(var(--muted)/.4)}.group.destructive .group-\[\.destructive\]\:text-destructive-foreground\/80{color:hsl(var(--destructive-foreground)/.8)}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive)/.3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{--tw-bg-opacity:1;background-color:hsl(var(--destructive)/var(--tw-bg-opacity,1))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{--tw-text-opacity:1;color:hsl(var(--destructive-foreground)/var(--tw-text-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-opacity:1;--tw-ring-color:hsl(var(--destructive)/var(--tw-ring-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive-foreground:focus{--tw-ring-opacity:1;--tw-ring-color:hsl(var(--destructive-foreground)/var(--tw-ring-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-destructive:focus{--tw-ring-offset-color:hsl(var(--destructive)/1)}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.aria-disabled\:opacity-disabled[aria-disabled=true]{opacity:var(--disabled-opacity)}.aria-\[invalid\=true\]\:border-destructive[aria-invalid=true]{--tw-border-opacity:1;border-color:hsl(var(--destructive)/var(--tw-border-opacity,1))}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[orientation\=vertical\]\:h-auto[data-orientation=vertical]{height:auto}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:var(--space-1,calc(var(--spacing-unit)*1))}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom],.data-\[side\=left\]\:-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--space-1, calc(var(--spacing-unit) * 1)) * -1)}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:var(--space-1,calc(var(--spacing-unit)*1))}.data-\[side\=right\]\:translate-x-1[data-side=right],.data-\[side\=top\]\:-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--space-1, calc(var(--spacing-unit) * 1)) * -1)}.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x:var(--space-0,calc(var(--spacing-unit)*0))}.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel],.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x:var(--radix-toast-swipe-end-x)}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x:var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[orientation\=vertical\]\:flex-col[data-orientation=vertical]{flex-direction:column}.data-\[highlighted\]\:bg-accent[data-highlighted]{--tw-bg-opacity:1;background-color:hsl(var(--accent)/var(--tw-bg-opacity,1))}.data-\[state\=checked\]\:bg-primary[data-state=checked],.data-\[state\=indeterminate\]\:bg-primary[data-state=indeterminate]{--tw-bg-opacity:1;background-color:hsl(var(--primary)/var(--tw-bg-opacity,1))}.data-\[state\=open\]\:bg-accent[data-state=open]{--tw-bg-opacity:1;background-color:hsl(var(--accent)/var(--tw-bg-opacity,1))}.data-\[highlighted\]\:text-accent-foreground[data-highlighted]{--tw-text-opacity:1;color:hsl(var(--accent-foreground)/var(--tw-text-opacity,1))}.data-\[placeholder\]\:text-muted[data-placeholder]{--tw-text-opacity:1;color:hsl(var(--text-muted)/var(--tw-text-opacity,1))}.data-\[state\=active\]\:text-primary[data-state=active]{--tw-text-opacity:1;color:hsl(var(--text-primary)/var(--tw-text-opacity,1))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked],.data-\[state\=indeterminate\]\:text-primary-foreground[data-state=indeterminate]{--tw-text-opacity:1;color:hsl(var(--primary-foreground)/var(--tw-text-opacity,1))}.data-\[state\=open\]\:text-muted[data-state=open]{--tw-text-opacity:1;color:hsl(var(--text-muted)/var(--tw-text-opacity,1))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:var(--shadow);--tw-shadow-colored:var(--shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:var(--duration);--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{animation-name:exit;animation-duration:var(--duration);--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity:0.8}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-var(--space-2,calc(var(--spacing-unit)*2))}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:var(--space-2,calc(var(--spacing-unit)*2))}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-var(--space-2,calc(var(--spacing-unit)*2))}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:var(--space-2,calc(var(--spacing-unit)*2))}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=active\]\:surface-primary[data-state=active]{background-color:hsl(var(--surface-primary))}@media (min-width:640px){.sm\:bottom-0{bottom:var(--space-0,calc(var(--spacing-unit)*0))}.sm\:right-0{right:var(--space-0,calc(var(--spacing-unit)*0))}.sm\:top-auto{top:auto}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(var(--space-2, calc(var(--spacing-unit) * 2)) * var(--tw-space-x-reverse));margin-left:calc(var(--space-2, calc(var(--spacing-unit) * 2)) * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius-lg)}.sm\:text-left{text-align:left}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y:100%}}@media (min-width:768px){.md\:max-w-\[var\(--toast-width\)\]{max-width:var(--toast-width)}.md\:text-sm{font-size:var(--font-size-sm);line-height:var(--line-height)}}.\[\&\+div\]\:text-xs+div{font-size:var(--font-size-xs);line-height:var(--line-height)}.active\:\[\&\:not\(\[aria-haspopup\]\)\]\:translate-y-px:not([aria-haspopup]):active{--tw-translate-y:1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (prefers-reduced-motion:reduce){.motion-reduce\:active\:\[\&\:not\(\[aria-haspopup\]\)\]\:transform-none:not([aria-haspopup]):active{transform:none}}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:var(--space-4,calc(var(--spacing-unit)*4));height:var(--space-4,calc(var(--spacing-unit)*4))}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}