@moontra/moonui-pro 2.0.11 → 2.0.13

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.
Files changed (2) hide show
  1. package/dist/index.mjs +1405 -433
  2. package/package.json +1 -1
package/dist/index.mjs CHANGED
@@ -1,11 +1,11 @@
1
- import * as React50 from 'react';
2
- import React50__default, { useState, forwardRef, createContext, Children, isValidElement, createElement, cloneElement, useEffect, useRef, useContext, useMemo, useCallback, Fragment as Fragment$1, useLayoutEffect, useDebugValue } from 'react';
3
- import { cva } from 'class-variance-authority';
4
- import { motion, useMotionValue, useTransform, animate } from 'framer-motion';
1
+ import * as React55 from 'react';
2
+ import React55__default, { useState, useRef, useCallback, forwardRef, createContext, Children, isValidElement, createElement, cloneElement, useEffect, useContext, useMemo, Fragment as Fragment$1, useLayoutEffect, useDebugValue, Component } from 'react';
3
+ import { motion, AnimatePresence, useMotionValue, useSpring, useTransform, animate } from 'framer-motion';
4
+ import { Loader2, Lock, Sparkles, Plus, ChevronDown, ChevronUp, Check, X, ChevronRight, Circle, Calendar, ChevronLeft, Edit, Trash2, Clock, MapPin, User, MoreHorizontal, GripVertical, MessageCircle, Paperclip, Bold as Bold$1, Italic as Italic$1, Underline as Underline$1, Strikethrough, Code as Code$1, Type, Heading1, Heading2, Heading3, AlignLeft, AlignCenter, AlignRight, AlignJustify, List, ListOrdered, CheckSquare, Quote, Palette, Highlighter, Link2, Image, Table as Table$1, Settings, Undo, Redo, Eye, RefreshCw, Wand2, Maximize, FileText, Languages, TrendingUp, TrendingDown, Minus, Download, Maximize2, Activity, Star, ExternalLink, BarChart3, Users, DollarSign, AlertTriangle, CheckCircle2, AlertCircle, XCircle, ArrowDownRight, ArrowUpRight } from 'lucide-react';
5
5
  import { clsx } from 'clsx';
6
6
  import { twMerge } from 'tailwind-merge';
7
+ import { cva } from 'class-variance-authority';
7
8
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
8
- import { Loader2, ChevronDown, ChevronUp, Check, X, ChevronRight, Circle, Lock, Sparkles, Calendar, ChevronLeft, Edit, Trash2, Clock, MapPin, User, Plus, MoreHorizontal, GripVertical, MessageCircle, Paperclip, Bold as Bold$1, Italic as Italic$1, Underline as Underline$1, Strikethrough, Code as Code$1, Type, Heading1, Heading2, Heading3, AlignLeft, AlignCenter, AlignRight, AlignJustify, List, ListOrdered, CheckSquare, Quote, Palette, Highlighter, Link2, Image, Table as Table$1, Settings, Undo, Redo, Eye, RefreshCw, Wand2, Maximize, FileText, Languages, TrendingUp, TrendingDown, Minus, Download, Maximize2, Activity, Star, ExternalLink, BarChart3, Users, DollarSign, CheckCircle2, AlertCircle, XCircle, ArrowDownRight, ArrowUpRight } from 'lucide-react';
9
9
  import * as ReactDOM from 'react-dom';
10
10
  import ReactDOM__default, { createPortal, flushSync } from 'react-dom';
11
11
  import * as AvatarPrimitive from '@radix-ui/react-avatar';
@@ -14,6 +14,7 @@ import { useSyncExternalStoreWithSelector } from 'use-sync-external-store/shim/w
14
14
  import * as TooltipPrimitive from '@radix-ui/react-tooltip';
15
15
  import { cn as cn$1 } from '@moontra/moonui';
16
16
  import { ResponsiveContainer, ScatterChart, CartesianGrid, XAxis, YAxis, Tooltip as Tooltip$1, Legend, Scatter, PieChart, Pie, Cell, AreaChart, Area, ReferenceLine, Brush, BarChart, Bar, LineChart, Line, ReferenceArea } from 'recharts';
17
+ import { DragDropContext, Droppable, Draggable } from '@hello-pangea/dnd';
17
18
 
18
19
  /**
19
20
  * @moontra/moonui-pro v2.0.9
@@ -1728,7 +1729,7 @@ function styleInject(css2, { insertAt } = {}) {
1728
1729
  }
1729
1730
 
1730
1731
  // src/styles/index.css
1731
- styleInject('*,\n::before,\n::after {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: ;\n}\n::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: ;\n}\n*,\n::before,\n::after {\n box-sizing: border-box;\n border-width: 0;\n border-style: solid;\n border-color: #e5e7eb;\n}\n::before,\n::after {\n --tw-content: "";\n}\nhtml,\n:host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n font-family: var(--font-sans);\n font-feature-settings: normal;\n font-variation-settings: normal;\n -webkit-tap-highlight-color: transparent;\n}\nbody {\n margin: 0;\n line-height: inherit;\n}\nhr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n}\nabbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\na {\n color: inherit;\n text-decoration: inherit;\n}\nb,\nstrong {\n font-weight: bolder;\n}\ncode,\nkbd,\nsamp,\npre {\n font-family: var(--font-mono);\n font-feature-settings: normal;\n font-variation-settings: normal;\n font-size: 1em;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\nsub {\n bottom: -0.25em;\n}\nsup {\n top: -0.5em;\n}\ntable {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n font-size: 100%;\n font-weight: inherit;\n line-height: inherit;\n letter-spacing: inherit;\n color: inherit;\n margin: 0;\n padding: 0;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\ninput:where([type="button"]),\ninput:where([type="reset"]),\ninput:where([type="submit"]) {\n -webkit-appearance: button;\n background-color: transparent;\n background-image: none;\n}\n:-moz-focusring {\n outline: auto;\n}\n:-moz-ui-invalid {\n box-shadow: none;\n}\nprogress {\n vertical-align: baseline;\n}\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n[type=search] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\nsummary {\n display: list-item;\n}\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\nfieldset {\n margin: 0;\n padding: 0;\n}\nlegend {\n padding: 0;\n}\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\ndialog {\n padding: 0;\n}\ntextarea {\n resize: vertical;\n}\ninput::-moz-placeholder,\ntextarea::-moz-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1;\n color: #9ca3af;\n}\nbutton,\n[role=button] {\n cursor: pointer;\n}\n:disabled {\n cursor: default;\n}\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block;\n vertical-align: middle;\n}\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n[hidden]:where(:not([hidden="until-found"])) {\n display: none;\n}\n:root {\n --bg-base: var(--background);\n --bg-subtle: var(--gray-50);\n --bg-muted: var(--gray-100);\n --bg-emphasis: var(--gray-200);\n --bg-inverse: var(--foreground);\n --surface-base: var(--background);\n --surface-overlay: var(--gray-50);\n --surface-raised: var(--background);\n --surface-sunken: var(--gray-100);\n --text-primary: var(--foreground);\n --text-secondary: var(--gray-600);\n --text-tertiary: var(--gray-500);\n --text-disabled: var(--gray-400);\n --text-inverse: var(--background);\n --text-link: var(--primary);\n --text-link-hover: var(--primary-hover);\n --brand-primary: var(--primary);\n --brand-primary-hover: var(--primary-hover);\n --brand-primary-active: var(--primary-active);\n --brand-secondary: var(--secondary);\n --state-hover: var(--gray-100);\n --state-active: var(--gray-200);\n --state-selected: var(--primary);\n --state-disabled: var(--gray-300);\n --state-focus: var(--primary);\n --feedback-success: var(--success);\n --feedback-success-light: 142 71% 95%;\n --feedback-success-dark: 142 71% 35%;\n --feedback-warning: var(--warning);\n --feedback-warning-light: 38 92% 95%;\n --feedback-warning-dark: 38 92% 40%;\n --feedback-error: var(--error);\n --feedback-error-light: 0 84% 95%;\n --feedback-error-dark: 0 84% 50%;\n --feedback-info: 217 91% 60%;\n --feedback-info-light: 217 91% 95%;\n --feedback-info-dark: 217 91% 50%;\n --border-default: var(--border);\n --border-subtle: var(--gray-200);\n --border-strong: var(--gray-400);\n --border-interactive: var(--primary);\n --border-error: var(--error);\n --border-success: var(--success);\n --border-warning: var(--warning);\n --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n --shadow-primary: 0 4px 14px 0 hsl(var(--primary) / 0.3);\n --shadow-success: 0 4px 14px 0 hsl(var(--success) / 0.3);\n --shadow-error: 0 4px 14px 0 hsl(var(--error) / 0.3);\n --shadow-warning: 0 4px 14px 0 hsl(var(--warning) / 0.3);\n --shadow-inner-xs: inset 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --shadow-inner-sm: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);\n --shadow-inner-md: inset 0 4px 6px -1px rgb(0 0 0 / 0.1);\n --ease-linear: linear;\n --ease-in: cubic-bezier(0.4, 0, 1, 1);\n --ease-out: cubic-bezier(0, 0, 0.2, 1);\n --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);\n --ease-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);\n --ease-elastic: cubic-bezier(0.68, -0.55, 0.265, 1.55);\n --ease-back-in: cubic-bezier(0.6, -0.28, 0.735, 0.045);\n --ease-back-out: cubic-bezier(0.175, 0.885, 0.32, 1.275);\n --ease-back-in-out: cubic-bezier(0.68, -0.55, 0.265, 1.55);\n --duration-instant: 0ms;\n --duration-fast: 150ms;\n --duration-normal: 250ms;\n --duration-slow: 350ms;\n --duration-slower: 500ms;\n --duration-slowest: 750ms;\n --space-0: 0;\n --space-px: 1px;\n --space-0\\.5: 0.125rem;\n --space-1: 0.25rem;\n --space-1\\.5: 0.375rem;\n --space-2: 0.5rem;\n --space-2\\.5: 0.625rem;\n --space-3: 0.75rem;\n --space-3\\.5: 0.875rem;\n --space-4: 1rem;\n --space-5: 1.25rem;\n --space-6: 1.5rem;\n --space-7: 1.75rem;\n --space-8: 2rem;\n --space-9: 2.25rem;\n --space-10: 2.5rem;\n --space-11: 2.75rem;\n --space-12: 3rem;\n --space-14: 3.5rem;\n --space-16: 4rem;\n --space-20: 5rem;\n --space-24: 6rem;\n --space-28: 7rem;\n --space-32: 8rem;\n --space-36: 9rem;\n --space-40: 10rem;\n --space-44: 11rem;\n --space-48: 12rem;\n --space-52: 13rem;\n --space-56: 14rem;\n --space-60: 15rem;\n --space-64: 16rem;\n --space-72: 18rem;\n --space-80: 20rem;\n --space-96: 24rem;\n --text-2xs: 0.625rem;\n --text-xs: 0.75rem;\n --text-sm: 0.875rem;\n --text-base: 1rem;\n --text-lg: 1.125rem;\n --text-xl: 1.25rem;\n --text-2xl: 1.5rem;\n --text-3xl: 1.875rem;\n --text-4xl: 2.25rem;\n --text-5xl: 3rem;\n --text-6xl: 3.75rem;\n --text-7xl: 4.5rem;\n --text-8xl: 6rem;\n --text-9xl: 8rem;\n --leading-none: 1;\n --leading-tight: 1.25;\n --leading-snug: 1.375;\n --leading-normal: 1.5;\n --leading-relaxed: 1.625;\n --leading-loose: 2;\n --tracking-tighter: -0.05em;\n --tracking-tight: -0.025em;\n --tracking-normal: 0;\n --tracking-wide: 0.025em;\n --tracking-wider: 0.05em;\n --tracking-widest: 0.1em;\n --font-thin: 100;\n --font-extralight: 200;\n --font-light: 300;\n --font-normal: 400;\n --font-medium: 500;\n --font-semibold: 600;\n --font-bold: 700;\n --font-extrabold: 800;\n --font-black: 900;\n --radius-none: 0;\n --radius-sm: 0.125rem;\n --radius-base: 0.25rem;\n --radius-md: 0.375rem;\n --radius-lg: 0.5rem;\n --radius-xl: 0.75rem;\n --radius-2xl: 1rem;\n --radius-3xl: 1.5rem;\n --radius-full: 9999px;\n --z-0: 0;\n --z-10: 10;\n --z-20: 20;\n --z-30: 30;\n --z-40: 40;\n --z-50: 50;\n --z-dropdown: 1000;\n --z-sticky: 1020;\n --z-fixed: 1030;\n --z-modal-backdrop: 1040;\n --z-modal: 1050;\n --z-popover: 1060;\n --z-tooltip: 1070;\n --z-notification: 1080;\n --blur-none: 0;\n --blur-sm: 4px;\n --blur-base: 8px;\n --blur-md: 12px;\n --blur-lg: 16px;\n --blur-xl: 24px;\n --blur-2xl: 40px;\n --blur-3xl: 64px;\n}\n.dark {\n --bg-base: var(--background);\n --bg-subtle: var(--gray-800);\n --bg-muted: var(--gray-700);\n --bg-emphasis: var(--gray-600);\n --surface-overlay: var(--gray-800);\n --surface-raised: var(--gray-800);\n --surface-sunken: var(--background);\n --text-secondary: var(--gray-400);\n --text-tertiary: var(--gray-500);\n --text-disabled: var(--gray-600);\n --state-hover: var(--gray-700);\n --state-active: var(--gray-600);\n --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.3);\n --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.4), 0 1px 2px -1px rgb(0 0 0 / 0.3);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.4), 0 2px 4px -2px rgb(0 0 0 / 0.3);\n --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.4), 0 4px 6px -4px rgb(0 0 0 / 0.3);\n --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.4), 0 8px 10px -6px rgb(0 0 0 / 0.3);\n --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.5);\n}\n.container {\n width: 100%;\n margin-right: auto;\n margin-left: auto;\n padding-right: 1rem;\n padding-left: 1rem;\n}\n@media (min-width: 640px) {\n .container {\n max-width: 640px;\n padding-right: 2rem;\n padding-left: 2rem;\n }\n}\n@media (min-width: 768px) {\n .container {\n max-width: 768px;\n }\n}\n@media (min-width: 1024px) {\n .container {\n max-width: 1024px;\n padding-right: 4rem;\n padding-left: 4rem;\n }\n}\n@media (min-width: 1280px) {\n .container {\n max-width: 1280px;\n padding-right: 5rem;\n padding-left: 5rem;\n }\n}\n@media (min-width: 1536px) {\n .container {\n max-width: 1536px;\n padding-right: 6rem;\n padding-left: 6rem;\n }\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n.pointer-events-none {\n pointer-events: none;\n}\n.pointer-events-auto {\n pointer-events: auto;\n}\n.visible {\n visibility: visible;\n}\n.collapse {\n visibility: collapse;\n}\n.static {\n position: static;\n}\n.fixed {\n position: fixed;\n}\n.absolute {\n position: absolute;\n}\n.relative {\n position: relative;\n}\n.sticky {\n position: sticky;\n}\n.inset-0 {\n inset: 0px;\n}\n.bottom-2 {\n bottom: 0.5rem;\n}\n.bottom-\\[5\\%\\] {\n bottom: 5%;\n}\n.left-2 {\n left: 0.5rem;\n}\n.left-3 {\n left: 0.75rem;\n}\n.left-4 {\n left: 1rem;\n}\n.left-\\[50\\%\\] {\n left: 50%;\n}\n.right-1 {\n right: 0.25rem;\n}\n.right-2 {\n right: 0.5rem;\n}\n.right-3 {\n right: 0.75rem;\n}\n.right-4 {\n right: 1rem;\n}\n.top-0 {\n top: 0px;\n}\n.top-1 {\n top: 0.25rem;\n}\n.top-2 {\n top: 0.5rem;\n}\n.top-2\\.5 {\n top: 0.625rem;\n}\n.top-4 {\n top: 1rem;\n}\n.top-\\[5\\%\\] {\n top: 5%;\n}\n.top-\\[50\\%\\] {\n top: 50%;\n}\n.top-auto {\n top: auto;\n}\n.z-0 {\n z-index: 0;\n}\n.z-10 {\n z-index: 10;\n}\n.z-40 {\n z-index: 40;\n}\n.z-50 {\n z-index: 50;\n}\n.z-\\[100\\] {\n z-index: 100;\n}\n.col-span-1 {\n grid-column: span 1 / span 1;\n}\n.col-span-2 {\n grid-column: span 2 / span 2;\n}\n.col-span-3 {\n grid-column: span 3 / span 3;\n}\n.col-span-4 {\n grid-column: span 4 / span 4;\n}\n.-m-2 {\n margin: -0.5rem;\n}\n.-mx-1 {\n margin-left: -0.25rem;\n margin-right: -0.25rem;\n}\n.-mx-4 {\n margin-left: -1rem;\n margin-right: -1rem;\n}\n.mx-1 {\n margin-left: 0.25rem;\n margin-right: 0.25rem;\n}\n.mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n.my-1 {\n margin-top: 0.25rem;\n margin-bottom: 0.25rem;\n}\n.my-2 {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n}\n.-mb-4 {\n margin-bottom: -1rem;\n}\n.-mr-1 {\n margin-right: -0.25rem;\n}\n.-mt-4 {\n margin-top: -1rem;\n}\n.mb-1 {\n margin-bottom: 0.25rem;\n}\n.mb-2 {\n margin-bottom: 0.5rem;\n}\n.mb-3 {\n margin-bottom: 0.75rem;\n}\n.mb-4 {\n margin-bottom: 1rem;\n}\n.mb-8 {\n margin-bottom: 2rem;\n}\n.ml-1 {\n margin-left: 0.25rem;\n}\n.ml-2 {\n margin-left: 0.5rem;\n}\n.ml-auto {\n margin-left: auto;\n}\n.mr-1 {\n margin-right: 0.25rem;\n}\n.mr-2 {\n margin-right: 0.5rem;\n}\n.mr-auto {\n margin-right: auto;\n}\n.mt-1 {\n margin-top: 0.25rem;\n}\n.mt-2 {\n margin-top: 0.5rem;\n}\n.mt-3 {\n margin-top: 0.75rem;\n}\n.mt-6 {\n margin-top: 1.5rem;\n}\n.line-clamp-2 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n}\n.block {\n display: block;\n}\n.inline-block {\n display: inline-block;\n}\n.inline {\n display: inline;\n}\n.flex {\n display: flex;\n}\n.inline-flex {\n display: inline-flex;\n}\n.\\!table {\n display: table !important;\n}\n.table {\n display: table;\n}\n.grid {\n display: grid;\n}\n.hidden {\n display: none;\n}\n.aspect-square {\n aspect-ratio: 1 / 1;\n}\n.h-0 {\n height: 0px;\n}\n.h-1\\.5 {\n height: 0.375rem;\n}\n.h-10 {\n height: 2.5rem;\n}\n.h-11 {\n height: 2.75rem;\n}\n.h-12 {\n height: 3rem;\n}\n.h-14 {\n height: 3.5rem;\n}\n.h-16 {\n height: 4rem;\n}\n.h-2 {\n height: 0.5rem;\n}\n.h-20 {\n height: 5rem;\n}\n.h-24 {\n height: 6rem;\n}\n.h-3 {\n height: 0.75rem;\n}\n.h-3\\.5 {\n height: 0.875rem;\n}\n.h-32 {\n height: 8rem;\n}\n.h-4 {\n height: 1rem;\n}\n.h-5 {\n height: 1.25rem;\n}\n.h-6 {\n height: 1.5rem;\n}\n.h-7 {\n height: 1.75rem;\n}\n.h-8 {\n height: 2rem;\n}\n.h-9 {\n height: 2.25rem;\n}\n.h-96 {\n height: 24rem;\n}\n.h-\\[0\\.5px\\] {\n height: 0.5px;\n}\n.h-\\[1px\\] {\n height: 1px;\n}\n.h-\\[2px\\] {\n height: 2px;\n}\n.h-\\[65\\%\\] {\n height: 65%;\n}\n.h-\\[var\\(--radix-select-trigger-height\\)\\] {\n height: var(--radix-select-trigger-height);\n}\n.h-auto {\n height: auto;\n}\n.h-fit {\n height: -moz-fit-content;\n height: fit-content;\n}\n.h-full {\n height: 100%;\n}\n.h-px {\n height: 1px;\n}\n.max-h-96 {\n max-height: 24rem;\n}\n.max-h-\\[95vh\\] {\n max-height: 95vh;\n}\n.max-h-screen {\n max-height: 100vh;\n}\n.min-h-\\[200px\\] {\n min-height: 200px;\n}\n.min-h-\\[80px\\] {\n min-height: 80px;\n}\n.w-0 {\n width: 0px;\n}\n.w-0\\.5 {\n width: 0.125rem;\n}\n.w-1\\/4 {\n width: 25%;\n}\n.w-10 {\n width: 2.5rem;\n}\n.w-11 {\n width: 2.75rem;\n}\n.w-12 {\n width: 3rem;\n}\n.w-14 {\n width: 3.5rem;\n}\n.w-16 {\n width: 4rem;\n}\n.w-2 {\n width: 0.5rem;\n}\n.w-20 {\n width: 5rem;\n}\n.w-3 {\n width: 0.75rem;\n}\n.w-3\\.5 {\n width: 0.875rem;\n}\n.w-4 {\n width: 1rem;\n}\n.w-48 {\n width: 12rem;\n}\n.w-5 {\n width: 1.25rem;\n}\n.w-56 {\n width: 14rem;\n}\n.w-6 {\n width: 1.5rem;\n}\n.w-64 {\n width: 16rem;\n}\n.w-72 {\n width: 18rem;\n}\n.w-8 {\n width: 2rem;\n}\n.w-80 {\n width: 20rem;\n}\n.w-96 {\n width: 24rem;\n}\n.w-\\[0\\.5px\\] {\n width: 0.5px;\n}\n.w-\\[100px\\] {\n width: 100px;\n}\n.w-\\[1px\\] {\n width: 1px;\n}\n.w-\\[2px\\] {\n width: 2px;\n}\n.w-\\[65\\%\\] {\n width: 65%;\n}\n.w-\\[70px\\] {\n width: 70px;\n}\n.w-auto {\n width: auto;\n}\n.w-fit {\n width: -moz-fit-content;\n width: fit-content;\n}\n.w-full {\n width: 100%;\n}\n.w-px {\n width: 1px;\n}\n.min-w-0 {\n min-width: 0px;\n}\n.min-w-\\[70px\\] {\n min-width: 70px;\n}\n.min-w-\\[8rem\\] {\n min-width: 8rem;\n}\n.min-w-\\[var\\(--radix-select-trigger-width\\)\\] {\n min-width: var(--radix-select-trigger-width);\n}\n.max-w-2xl {\n max-width: 42rem;\n}\n.max-w-4xl {\n max-width: 56rem;\n}\n.max-w-\\[95vw\\] {\n max-width: 95vw;\n}\n.max-w-full {\n max-width: 100%;\n}\n.max-w-lg {\n max-width: 32rem;\n}\n.max-w-md {\n max-width: 28rem;\n}\n.max-w-none {\n max-width: none;\n}\n.max-w-sm {\n max-width: 24rem;\n}\n.max-w-xs {\n max-width: 20rem;\n}\n.flex-1 {\n flex: 1 1 0%;\n}\n.flex-shrink-0 {\n flex-shrink: 0;\n}\n.shrink-0 {\n flex-shrink: 0;\n}\n.grow {\n flex-grow: 1;\n}\n.translate-x-\\[-50\\%\\] {\n --tw-translate-x: -50%;\n 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));\n}\n.translate-y-0 {\n --tw-translate-y: 0px;\n 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));\n}\n.translate-y-\\[-50\\%\\] {\n --tw-translate-y: -50%;\n 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));\n}\n.rotate-2 {\n --tw-rotate: 2deg;\n 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));\n}\n.rotate-\\[-15deg\\] {\n --tw-rotate: -15deg;\n 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));\n}\n.rotate-\\[15deg\\] {\n --tw-rotate: 15deg;\n 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));\n}\n.scale-105 {\n --tw-scale-x: 1.05;\n --tw-scale-y: 1.05;\n 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));\n}\n.scale-95 {\n --tw-scale-x: .95;\n --tw-scale-y: .95;\n 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));\n}\n.transform {\n 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));\n}\n@keyframes pulse {\n 50% {\n opacity: .5;\n }\n}\n.animate-pulse {\n animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n.animate-spin {\n animation: spin 1s linear infinite;\n}\n.cursor-default {\n cursor: default;\n}\n.cursor-grab {\n cursor: grab;\n}\n.cursor-help {\n cursor: help;\n}\n.cursor-move {\n cursor: move;\n}\n.cursor-not-allowed {\n cursor: not-allowed;\n}\n.cursor-pointer {\n cursor: pointer;\n}\n.cursor-text {\n cursor: text;\n}\n.cursor-wait {\n cursor: wait;\n}\n.touch-none {\n touch-action: none;\n}\n.select-none {\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n.resize-none {\n resize: none;\n}\n.resize {\n resize: both;\n}\n.grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n.grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n.grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n}\n.grid-cols-6 {\n grid-template-columns: repeat(6, minmax(0, 1fr));\n}\n.grid-cols-7 {\n grid-template-columns: repeat(7, minmax(0, 1fr));\n}\n.flex-row {\n flex-direction: row;\n}\n.flex-col {\n flex-direction: column;\n}\n.flex-col-reverse {\n flex-direction: column-reverse;\n}\n.flex-wrap {\n flex-wrap: wrap;\n}\n.items-start {\n align-items: flex-start;\n}\n.items-center {\n align-items: center;\n}\n.justify-start {\n justify-content: flex-start;\n}\n.justify-end {\n justify-content: flex-end;\n}\n.justify-center {\n justify-content: center;\n}\n.justify-between {\n justify-content: space-between;\n}\n.gap-1 {\n gap: 0.25rem;\n}\n.gap-1\\.5 {\n gap: 0.375rem;\n}\n.gap-2 {\n gap: 0.5rem;\n}\n.gap-3 {\n gap: 0.75rem;\n}\n.gap-4 {\n gap: 1rem;\n}\n.gap-6 {\n gap: 1.5rem;\n}\n.gap-8 {\n gap: 2rem;\n}\n.space-x-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.25rem * var(--tw-space-x-reverse));\n margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));\n}\n.space-x-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.5rem * var(--tw-space-x-reverse));\n margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));\n}\n.space-x-6 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(1.5rem * var(--tw-space-x-reverse));\n margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse)));\n}\n.space-y-0 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0px * var(--tw-space-y-reverse));\n}\n.space-y-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));\n}\n.space-y-1\\.5 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));\n}\n.space-y-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));\n}\n.space-y-3 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));\n}\n.space-y-4 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(1rem * var(--tw-space-y-reverse));\n}\n.space-y-6 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));\n}\n.overflow-auto {\n overflow: auto;\n}\n.overflow-hidden {\n overflow: hidden;\n}\n.overflow-x-auto {\n overflow-x: auto;\n}\n.truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.whitespace-nowrap {\n white-space: nowrap;\n}\n.rounded {\n border-radius: 0.25rem;\n}\n.rounded-2xl {\n border-radius: 1rem;\n}\n.rounded-3xl {\n border-radius: 1.5rem;\n}\n.rounded-\\[inherit\\] {\n border-radius: inherit;\n}\n.rounded-\\[var\\(--login-border-radius\\)\\] {\n border-radius: var(--login-border-radius);\n}\n.rounded-full {\n border-radius: 9999px;\n}\n.rounded-lg {\n border-radius: var(--radius);\n}\n.rounded-md {\n border-radius: calc(var(--radius) - 2px);\n}\n.rounded-none {\n border-radius: 0px;\n}\n.rounded-sm {\n border-radius: calc(var(--radius) - 4px);\n}\n.rounded-xl {\n border-radius: 0.75rem;\n}\n.border {\n border-width: 1px;\n}\n.border-2 {\n border-width: 2px;\n}\n.border-b {\n border-bottom-width: 1px;\n}\n.border-b-2 {\n border-bottom-width: 2px;\n}\n.border-l {\n border-left-width: 1px;\n}\n.border-l-0 {\n border-left-width: 0px;\n}\n.border-l-2 {\n border-left-width: 2px;\n}\n.border-l-4 {\n border-left-width: 4px;\n}\n.border-l-\\[0\\.5px\\] {\n border-left-width: 0.5px;\n}\n.border-r-0 {\n border-right-width: 0px;\n}\n.border-t {\n border-top-width: 1px;\n}\n.border-t-0 {\n border-top-width: 0px;\n}\n.border-t-2 {\n border-top-width: 2px;\n}\n.border-t-\\[0\\.5px\\] {\n border-top-width: 0.5px;\n}\n.border-dashed {\n border-style: dashed;\n}\n.border-dotted {\n border-style: dotted;\n}\n.border-none {\n border-style: none;\n}\n.border-accent {\n --tw-border-opacity: 1;\n border-color: hsl(var(--accent) / var(--tw-border-opacity, 1));\n}\n.border-blue-200 {\n --tw-border-opacity: 1;\n border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));\n}\n.border-blue-500 {\n --tw-border-opacity: 1;\n border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));\n}\n.border-blue-600 {\n --tw-border-opacity: 1;\n border-color: rgb(37 99 235 / var(--tw-border-opacity, 1));\n}\n.border-border {\n --tw-border-opacity: 1;\n border-color: hsl(var(--border) / var(--tw-border-opacity, 1));\n}\n.border-border\\/50 {\n border-color: hsl(var(--border) / 0.5);\n}\n.border-destructive {\n --tw-border-opacity: 1;\n border-color: hsl(var(--destructive) / var(--tw-border-opacity, 1));\n}\n.border-error {\n --tw-border-opacity: 1;\n border-color: hsl(var(--error) / var(--tw-border-opacity, 1));\n}\n.border-error\\/20 {\n border-color: hsl(var(--error) / 0.2);\n}\n.border-foreground {\n --tw-border-opacity: 1;\n border-color: hsl(var(--foreground) / var(--tw-border-opacity, 1));\n}\n.border-gray-200 {\n --tw-border-opacity: 1;\n border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));\n}\n.border-gray-300 {\n --tw-border-opacity: 1;\n border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));\n}\n.border-gray-400 {\n --tw-border-opacity: 1;\n border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));\n}\n.border-green-200 {\n --tw-border-opacity: 1;\n border-color: rgb(187 247 208 / var(--tw-border-opacity, 1));\n}\n.border-green-500 {\n --tw-border-opacity: 1;\n border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));\n}\n.border-green-600 {\n --tw-border-opacity: 1;\n border-color: rgb(22 163 74 / var(--tw-border-opacity, 1));\n}\n.border-input {\n --tw-border-opacity: 1;\n border-color: hsl(var(--input) / var(--tw-border-opacity, 1));\n}\n.border-muted {\n --tw-border-opacity: 1;\n border-color: hsl(var(--muted) / var(--tw-border-opacity, 1));\n}\n.border-muted-foreground\\/25 {\n border-color: hsl(var(--muted-foreground) / 0.25);\n}\n.border-orange-200 {\n --tw-border-opacity: 1;\n border-color: rgb(254 215 170 / var(--tw-border-opacity, 1));\n}\n.border-primary {\n --tw-border-opacity: 1;\n border-color: hsl(var(--primary) / var(--tw-border-opacity, 1));\n}\n.border-primary\\/20 {\n border-color: hsl(var(--primary) / 0.2);\n}\n.border-primary\\/50 {\n border-color: hsl(var(--primary) / 0.5);\n}\n.border-red-200 {\n --tw-border-opacity: 1;\n border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));\n}\n.border-red-500 {\n --tw-border-opacity: 1;\n border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));\n}\n.border-secondary {\n --tw-border-opacity: 1;\n border-color: hsl(var(--secondary) / var(--tw-border-opacity, 1));\n}\n.border-success {\n --tw-border-opacity: 1;\n border-color: hsl(var(--success) / var(--tw-border-opacity, 1));\n}\n.border-success\\/40 {\n border-color: hsl(var(--success) / 0.4);\n}\n.border-transparent {\n border-color: transparent;\n}\n.border-warning {\n --tw-border-opacity: 1;\n border-color: hsl(var(--warning) / var(--tw-border-opacity, 1));\n}\n.border-white\\/20 {\n border-color: rgb(255 255 255 / 0.2);\n}\n.border-yellow-200 {\n --tw-border-opacity: 1;\n border-color: rgb(254 240 138 / var(--tw-border-opacity, 1));\n}\n.border-yellow-500 {\n --tw-border-opacity: 1;\n border-color: rgb(234 179 8 / var(--tw-border-opacity, 1));\n}\n.border-yellow-600 {\n --tw-border-opacity: 1;\n border-color: rgb(202 138 4 / var(--tw-border-opacity, 1));\n}\n.border-t-primary {\n --tw-border-opacity: 1;\n border-top-color: hsl(var(--primary) / var(--tw-border-opacity, 1));\n}\n.bg-\\[var\\(--login-background\\)\\] {\n background-color: var(--login-background);\n}\n.bg-\\[var\\(--login-primary\\)\\] {\n background-color: var(--login-primary);\n}\n.bg-accent {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--accent) / var(--tw-bg-opacity, 1));\n}\n.bg-accent\\/20 {\n background-color: hsl(var(--accent) / 0.2);\n}\n.bg-background {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--background) / var(--tw-bg-opacity, 1));\n}\n.bg-background\\/80 {\n background-color: hsl(var(--background) / 0.8);\n}\n.bg-black\\/20 {\n background-color: rgb(0 0 0 / 0.2);\n}\n.bg-black\\/40 {\n background-color: rgb(0 0 0 / 0.4);\n}\n.bg-black\\/60 {\n background-color: rgb(0 0 0 / 0.6);\n}\n.bg-black\\/80 {\n background-color: rgb(0 0 0 / 0.8);\n}\n.bg-blue-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));\n}\n.bg-blue-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));\n}\n.bg-border {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--border) / var(--tw-bg-opacity, 1));\n}\n.bg-card {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--card) / var(--tw-bg-opacity, 1));\n}\n.bg-destructive {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--destructive) / var(--tw-bg-opacity, 1));\n}\n.bg-destructive\\/5 {\n background-color: hsl(var(--destructive) / 0.05);\n}\n.bg-error {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--error) / var(--tw-bg-opacity, 1));\n}\n.bg-error\\/20 {\n background-color: hsl(var(--error) / 0.2);\n}\n.bg-foreground {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--foreground) / var(--tw-bg-opacity, 1));\n}\n.bg-gray-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));\n}\n.bg-gray-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));\n}\n.bg-gray-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));\n}\n.bg-green-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));\n}\n.bg-green-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));\n}\n.bg-green-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));\n}\n.bg-muted {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--muted) / var(--tw-bg-opacity, 1));\n}\n.bg-muted\\/20 {\n background-color: hsl(var(--muted) / 0.2);\n}\n.bg-muted\\/50 {\n background-color: hsl(var(--muted) / 0.5);\n}\n.bg-muted\\/80 {\n background-color: hsl(var(--muted) / 0.8);\n}\n.bg-orange-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));\n}\n.bg-orange-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1));\n}\n.bg-orange-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(249 115 22 / var(--tw-bg-opacity, 1));\n}\n.bg-popover {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--popover) / var(--tw-bg-opacity, 1));\n}\n.bg-primary {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--primary) / var(--tw-bg-opacity, 1));\n}\n.bg-primary-foreground {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--primary-foreground) / var(--tw-bg-opacity, 1));\n}\n.bg-primary\\/10 {\n background-color: hsl(var(--primary) / 0.1);\n}\n.bg-primary\\/20 {\n background-color: hsl(var(--primary) / 0.2);\n}\n.bg-primary\\/30 {\n background-color: hsl(var(--primary) / 0.3);\n}\n.bg-primary\\/5 {\n background-color: hsl(var(--primary) / 0.05);\n}\n.bg-purple-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));\n}\n.bg-purple-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(168 85 247 / var(--tw-bg-opacity, 1));\n}\n.bg-red-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));\n}\n.bg-red-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));\n}\n.bg-secondary {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--secondary) / var(--tw-bg-opacity, 1));\n}\n.bg-secondary-foreground {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--secondary-foreground) / var(--tw-bg-opacity, 1));\n}\n.bg-secondary\\/20 {\n background-color: hsl(var(--secondary) / 0.2);\n}\n.bg-success {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--success) / var(--tw-bg-opacity, 1));\n}\n.bg-success\\/20 {\n background-color: hsl(var(--success) / 0.2);\n}\n.bg-transparent {\n background-color: transparent;\n}\n.bg-warning {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--warning) / var(--tw-bg-opacity, 1));\n}\n.bg-warning\\/20 {\n background-color: hsl(var(--warning) / 0.2);\n}\n.bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n}\n.bg-white\\/10 {\n background-color: rgb(255 255 255 / 0.1);\n}\n.bg-yellow-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));\n}\n.bg-yellow-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(234 179 8 / var(--tw-bg-opacity, 1));\n}\n.bg-opacity-80 {\n --tw-bg-opacity: 0.8;\n}\n.bg-gradient-to-br {\n background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));\n}\n.bg-gradient-to-r {\n background-image: linear-gradient(to right, var(--tw-gradient-stops));\n}\n.from-blue-600 {\n --tw-gradient-from: #2563eb var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-primary\\/5 {\n --tw-gradient-from: hsl(var(--primary) / 0.05) var(--tw-gradient-from-position);\n --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-purple-600 {\n --tw-gradient-from: #9333ea var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(147 51 234 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-transparent {\n --tw-gradient-from: transparent var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-white\\/20 {\n --tw-gradient-from: rgb(255 255 255 / 0.2) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.via-border {\n --tw-gradient-to: hsl(var(--border) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops:\n var(--tw-gradient-from),\n hsl(var(--border) / 1) var(--tw-gradient-via-position),\n var(--tw-gradient-to);\n}\n.to-pink-600 {\n --tw-gradient-to: #db2777 var(--tw-gradient-to-position);\n}\n.to-primary\\/10 {\n --tw-gradient-to: hsl(var(--primary) / 0.1) var(--tw-gradient-to-position);\n}\n.to-purple-600 {\n --tw-gradient-to: #9333ea var(--tw-gradient-to-position);\n}\n.to-transparent {\n --tw-gradient-to: transparent var(--tw-gradient-to-position);\n}\n.to-white\\/0 {\n --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);\n}\n.fill-current {\n fill: currentColor;\n}\n.p-0 {\n padding: 0px;\n}\n.p-1 {\n padding: 0.25rem;\n}\n.p-1\\.5 {\n padding: 0.375rem;\n}\n.p-10 {\n padding: 2.5rem;\n}\n.p-2 {\n padding: 0.5rem;\n}\n.p-3 {\n padding: 0.75rem;\n}\n.p-4 {\n padding: 1rem;\n}\n.p-5 {\n padding: 1.25rem;\n}\n.p-6 {\n padding: 1.5rem;\n}\n.p-7 {\n padding: 1.75rem;\n}\n.p-8 {\n padding: 2rem;\n}\n.px-0 {\n padding-left: 0px;\n padding-right: 0px;\n}\n.px-1 {\n padding-left: 0.25rem;\n padding-right: 0.25rem;\n}\n.px-2 {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n}\n.px-2\\.5 {\n padding-left: 0.625rem;\n padding-right: 0.625rem;\n}\n.px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n}\n.px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n.px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n}\n.px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n}\n.py-0 {\n padding-top: 0px;\n padding-bottom: 0px;\n}\n.py-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n}\n.py-1\\.5 {\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n}\n.py-12 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n}\n.py-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n.py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n.py-8 {\n padding-top: 2rem;\n padding-bottom: 2rem;\n}\n.pb-2 {\n padding-bottom: 0.5rem;\n}\n.pb-3 {\n padding-bottom: 0.75rem;\n}\n.pb-4 {\n padding-bottom: 1rem;\n}\n.pb-8 {\n padding-bottom: 2rem;\n}\n.pl-10 {\n padding-left: 2.5rem;\n}\n.pl-2 {\n padding-left: 0.5rem;\n}\n.pl-7 {\n padding-left: 1.75rem;\n}\n.pl-8 {\n padding-left: 2rem;\n}\n.pl-9 {\n padding-left: 2.25rem;\n}\n.pr-10 {\n padding-right: 2.5rem;\n}\n.pr-2 {\n padding-right: 0.5rem;\n}\n.pr-3 {\n padding-right: 0.75rem;\n}\n.pr-8 {\n padding-right: 2rem;\n}\n.pt-0 {\n padding-top: 0px;\n}\n.pt-3 {\n padding-top: 0.75rem;\n}\n.pt-4 {\n padding-top: 1rem;\n}\n.text-left {\n text-align: left;\n}\n.text-center {\n text-align: center;\n}\n.align-middle {\n vertical-align: middle;\n}\n.font-mono {\n font-family: var(--font-mono);\n}\n.text-2xl {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n.text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n.text-lg {\n font-size: 1.125rem;\n line-height: 1.75rem;\n}\n.text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n}\n.text-xl {\n font-size: 1.25rem;\n line-height: 1.75rem;\n}\n.text-xs {\n font-size: 0.75rem;\n line-height: 1rem;\n}\n.font-bold {\n font-weight: 700;\n}\n.font-medium {\n font-weight: 500;\n}\n.font-normal {\n font-weight: 400;\n}\n.font-semibold {\n font-weight: 600;\n}\n.capitalize {\n text-transform: capitalize;\n}\n.italic {\n font-style: italic;\n}\n.leading-none {\n line-height: 1;\n}\n.leading-normal {\n line-height: 1.5;\n}\n.leading-snug {\n line-height: 1.375;\n}\n.tracking-tight {\n letter-spacing: -0.025em;\n}\n.tracking-widest {\n letter-spacing: 0.1em;\n}\n.text-\\[var\\(--login-primary\\)\\] {\n color: var(--login-primary);\n}\n.text-\\[var\\(--login-text\\)\\] {\n color: var(--login-text);\n}\n.text-blue-600 {\n --tw-text-opacity: 1;\n color: rgb(37 99 235 / var(--tw-text-opacity, 1));\n}\n.text-blue-700 {\n --tw-text-opacity: 1;\n color: rgb(29 78 216 / var(--tw-text-opacity, 1));\n}\n.text-blue-900 {\n --tw-text-opacity: 1;\n color: rgb(30 58 138 / var(--tw-text-opacity, 1));\n}\n.text-card-foreground {\n --tw-text-opacity: 1;\n color: hsl(var(--card-foreground) / var(--tw-text-opacity, 1));\n}\n.text-current {\n color: currentColor;\n}\n.text-destructive {\n --tw-text-opacity: 1;\n color: hsl(var(--destructive) / var(--tw-text-opacity, 1));\n}\n.text-destructive-foreground {\n --tw-text-opacity: 1;\n color: hsl(var(--destructive-foreground) / var(--tw-text-opacity, 1));\n}\n.text-error {\n --tw-text-opacity: 1;\n color: hsl(var(--error) / var(--tw-text-opacity, 1));\n}\n.text-foreground {\n --tw-text-opacity: 1;\n color: hsl(var(--foreground) / var(--tw-text-opacity, 1));\n}\n.text-foreground\\/50 {\n color: hsl(var(--foreground) / 0.5);\n}\n.text-gray-500 {\n --tw-text-opacity: 1;\n color: rgb(107 114 128 / var(--tw-text-opacity, 1));\n}\n.text-gray-600 {\n --tw-text-opacity: 1;\n color: rgb(75 85 99 / var(--tw-text-opacity, 1));\n}\n.text-gray-700 {\n --tw-text-opacity: 1;\n color: rgb(55 65 81 / var(--tw-text-opacity, 1));\n}\n.text-gray-900 {\n --tw-text-opacity: 1;\n color: rgb(17 24 39 / var(--tw-text-opacity, 1));\n}\n.text-green-500 {\n --tw-text-opacity: 1;\n color: rgb(34 197 94 / var(--tw-text-opacity, 1));\n}\n.text-green-600 {\n --tw-text-opacity: 1;\n color: rgb(22 163 74 / var(--tw-text-opacity, 1));\n}\n.text-green-700 {\n --tw-text-opacity: 1;\n color: rgb(21 128 61 / var(--tw-text-opacity, 1));\n}\n.text-green-800 {\n --tw-text-opacity: 1;\n color: rgb(22 101 52 / var(--tw-text-opacity, 1));\n}\n.text-green-900 {\n --tw-text-opacity: 1;\n color: rgb(20 83 45 / var(--tw-text-opacity, 1));\n}\n.text-muted-foreground {\n --tw-text-opacity: 1;\n color: hsl(var(--muted-foreground) / var(--tw-text-opacity, 1));\n}\n.text-orange-800 {\n --tw-text-opacity: 1;\n color: rgb(154 52 18 / var(--tw-text-opacity, 1));\n}\n.text-orange-900 {\n --tw-text-opacity: 1;\n color: rgb(124 45 18 / var(--tw-text-opacity, 1));\n}\n.text-popover-foreground {\n --tw-text-opacity: 1;\n color: hsl(var(--popover-foreground) / var(--tw-text-opacity, 1));\n}\n.text-primary {\n --tw-text-opacity: 1;\n color: hsl(var(--primary) / var(--tw-text-opacity, 1));\n}\n.text-primary-foreground {\n --tw-text-opacity: 1;\n color: hsl(var(--primary-foreground) / var(--tw-text-opacity, 1));\n}\n.text-purple-600 {\n --tw-text-opacity: 1;\n color: rgb(147 51 234 / var(--tw-text-opacity, 1));\n}\n.text-red-500 {\n --tw-text-opacity: 1;\n color: rgb(239 68 68 / var(--tw-text-opacity, 1));\n}\n.text-red-600 {\n --tw-text-opacity: 1;\n color: rgb(220 38 38 / var(--tw-text-opacity, 1));\n}\n.text-red-700 {\n --tw-text-opacity: 1;\n color: rgb(185 28 28 / var(--tw-text-opacity, 1));\n}\n.text-red-800 {\n --tw-text-opacity: 1;\n color: rgb(153 27 27 / var(--tw-text-opacity, 1));\n}\n.text-secondary-foreground {\n --tw-text-opacity: 1;\n color: hsl(var(--secondary-foreground) / var(--tw-text-opacity, 1));\n}\n.text-success {\n --tw-text-opacity: 1;\n color: hsl(var(--success) / var(--tw-text-opacity, 1));\n}\n.text-warning {\n --tw-text-opacity: 1;\n color: hsl(var(--warning) / var(--tw-text-opacity, 1));\n}\n.text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n}\n.text-white\\/80 {\n color: rgb(255 255 255 / 0.8);\n}\n.text-yellow-600 {\n --tw-text-opacity: 1;\n color: rgb(202 138 4 / var(--tw-text-opacity, 1));\n}\n.text-yellow-700 {\n --tw-text-opacity: 1;\n color: rgb(161 98 7 / var(--tw-text-opacity, 1));\n}\n.text-yellow-800 {\n --tw-text-opacity: 1;\n color: rgb(133 77 14 / var(--tw-text-opacity, 1));\n}\n.underline {\n text-decoration-line: underline;\n}\n.underline-offset-4 {\n text-underline-offset: 4px;\n}\n.opacity-0 {\n opacity: 0;\n}\n.opacity-30 {\n opacity: 0.3;\n}\n.opacity-50 {\n opacity: 0.5;\n}\n.opacity-60 {\n opacity: 0.6;\n}\n.opacity-70 {\n opacity: 0.7;\n}\n.opacity-80 {\n opacity: 0.8;\n}\n.opacity-90 {\n opacity: 0.9;\n}\n.shadow {\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.shadow-lg {\n --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.shadow-md {\n --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.shadow-none {\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.shadow-sm {\n --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.shadow-xl {\n --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.shadow-primary\\/50 {\n --tw-shadow-color: hsl(var(--primary) / 0.5);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.shadow-purple-500\\/25 {\n --tw-shadow-color: rgb(168 85 247 / 0.25);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.outline-none {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.outline {\n outline-style: solid;\n}\n.ring {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow:\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow, 0 0 #0000);\n}\n.ring-0 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow:\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow, 0 0 #0000);\n}\n.ring-2 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow:\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow, 0 0 #0000);\n}\n.ring-gray-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity, 1));\n}\n.ring-offset-2 {\n --tw-ring-offset-width: 2px;\n}\n.ring-offset-background {\n --tw-ring-offset-color: hsl(var(--background) / 1);\n}\n.blur {\n --tw-blur: blur(8px);\n 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);\n}\n.filter {\n 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);\n}\n.backdrop-blur-md {\n --tw-backdrop-blur: blur(12px);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n.backdrop-blur-sm {\n --tw-backdrop-blur: blur(4px);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n.transition {\n transition-property:\n color,\n background-color,\n border-color,\n text-decoration-color,\n fill,\n stroke,\n opacity,\n box-shadow,\n transform,\n filter,\n -webkit-backdrop-filter;\n transition-property:\n color,\n background-color,\n border-color,\n text-decoration-color,\n fill,\n stroke,\n opacity,\n box-shadow,\n transform,\n filter,\n backdrop-filter;\n transition-property:\n color,\n background-color,\n border-color,\n text-decoration-color,\n fill,\n stroke,\n opacity,\n box-shadow,\n transform,\n filter,\n backdrop-filter,\n -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.transition-all {\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.transition-colors {\n transition-property:\n color,\n background-color,\n border-color,\n text-decoration-color,\n fill,\n stroke;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.transition-opacity {\n transition-property: opacity;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.transition-shadow {\n transition-property: box-shadow;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.transition-transform {\n transition-property: transform;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.duration-100 {\n transition-duration: 100ms;\n}\n.duration-200 {\n transition-duration: 200ms;\n}\n.duration-300 {\n transition-duration: 300ms;\n}\n.ease-out {\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n}\n.shadow-sm {\n box-shadow: var(--shadow-sm);\n}\n.shadow-md {\n box-shadow: var(--shadow-md);\n}\n.shadow-lg {\n box-shadow: var(--shadow-lg);\n}\n.shadow-xl {\n box-shadow: var(--shadow-xl);\n}\n.animate-spin {\n animation: spin 1s linear infinite;\n}\n.animate-pulse {\n animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n}\n.transition-all {\n transition-property: all;\n}\n.transition-colors {\n transition-property:\n color,\n background-color,\n border-color,\n text-decoration-color,\n fill,\n stroke;\n}\n.transition-opacity {\n transition-property: opacity;\n}\n.transition-shadow {\n transition-property: box-shadow;\n}\n.transition-transform {\n transition-property: transform;\n}\n.ease-out {\n transition-timing-function: var(--ease-out);\n}\n:root {\n --primary-50: 240 249 255;\n --primary-100: 224 242 254;\n --primary-200: 186 230 253;\n --primary-300: 125 211 252;\n --primary-400: 56 189 248;\n --primary-500: 14 165 233;\n --primary-600: 2 132 199;\n --primary-700: 3 105 161;\n --primary-800: 7 89 133;\n --primary-900: 12 74 110;\n --primary-950: 8 47 73;\n --secondary-50: 248 250 252;\n --secondary-100: 241 245 249;\n --secondary-200: 226 232 240;\n --secondary-300: 203 213 225;\n --secondary-400: 148 163 184;\n --secondary-500: 100 116 139;\n --secondary-600: 71 85 105;\n --secondary-700: 51 65 85;\n --secondary-800: 30 41 59;\n --secondary-900: 15 23 42;\n --secondary-950: 2 6 23;\n --success-50: 240 253 244;\n --success-100: 220 252 231;\n --success-200: 187 247 208;\n --success-300: 134 239 172;\n --success-400: 74 222 128;\n --success-500: 34 197 94;\n --success-600: 22 163 74;\n --success-700: 21 128 61;\n --success-800: 22 101 52;\n --success-900: 20 83 45;\n --success-950: 5 46 22;\n --warning-50: 254 252 232;\n --warning-100: 254 249 195;\n --warning-200: 254 240 138;\n --warning-300: 253 224 71;\n --warning-400: 250 204 21;\n --warning-500: 234 179 8;\n --warning-600: 202 138 4;\n --warning-700: 161 98 7;\n --warning-800: 133 77 14;\n --warning-900: 113 63 18;\n --warning-950: 66 32 6;\n --error-50: 254 242 242;\n --error-100: 254 226 226;\n --error-200: 254 202 202;\n --error-300: 252 165 165;\n --error-400: 248 113 113;\n --error-500: 239 68 68;\n --error-600: 220 38 38;\n --error-700: 185 28 28;\n --error-800: 153 27 27;\n --error-900: 127 29 29;\n --error-950: 69 10 10;\n --background: 0 0% 100%;\n --foreground: 222.2 47.4% 11.2%;\n --card: 0 0% 100%;\n --card-foreground: 222.2 47.4% 11.2%;\n --popover: 0 0% 100%;\n --popover-foreground: 222.2 47.4% 11.2%;\n --primary: 222.2 47.4% 11.2%;\n --primary-foreground: 210 40% 98%;\n --secondary: 210 40% 96%;\n --secondary-foreground: 222.2 47.4% 11.2%;\n --muted: 210 40% 96%;\n --muted-foreground: 215.4 16.3% 46.9%;\n --accent: 210 40% 96%;\n --accent-foreground: 222.2 47.4% 11.2%;\n --destructive: 0 100% 50%;\n --destructive-foreground: 210 40% 98%;\n --border: 214.3 31.8% 91.4%;\n --input: 214.3 31.8% 91.4%;\n --ring: 215 20.2% 65.1%;\n --chart-1: 12 76% 61%;\n --chart-2: 173 58% 39%;\n --chart-3: 197 37% 24%;\n --chart-4: 43 74% 66%;\n --chart-5: 27 87% 67%;\n --font-sans:\n "Inter",\n -apple-system,\n BlinkMacSystemFont,\n "Segoe UI",\n Roboto,\n "Helvetica Neue",\n Arial,\n sans-serif;\n --font-serif:\n "Crimson Text",\n Georgia,\n "Times New Roman",\n serif;\n --font-mono:\n "JetBrains Mono",\n "Fira Code",\n "Consolas",\n monospace;\n --text-xs: 0.75rem;\n --text-sm: 0.875rem;\n --text-base: 1rem;\n --text-lg: 1.125rem;\n --text-xl: 1.25rem;\n --text-2xl: 1.5rem;\n --text-3xl: 1.875rem;\n --text-4xl: 2.25rem;\n --text-5xl: 3rem;\n --text-6xl: 3.75rem;\n --text-7xl: 4.5rem;\n --text-8xl: 6rem;\n --text-9xl: 8rem;\n --leading-none: 1;\n --leading-tight: 1.25;\n --leading-snug: 1.375;\n --leading-normal: 1.5;\n --leading-relaxed: 1.625;\n --leading-loose: 2;\n --font-thin: 100;\n --font-extralight: 200;\n --font-light: 300;\n --font-normal: 400;\n --font-medium: 500;\n --font-semibold: 600;\n --font-bold: 700;\n --font-extrabold: 800;\n --font-black: 900;\n --spacing-0: 0;\n --spacing-px: 1px;\n --spacing-0-5: 0.125rem;\n --spacing-1: 0.25rem;\n --spacing-1-5: 0.375rem;\n --spacing-2: 0.5rem;\n --spacing-2-5: 0.625rem;\n --spacing-3: 0.75rem;\n --spacing-3-5: 0.875rem;\n --spacing-4: 1rem;\n --spacing-5: 1.25rem;\n --spacing-6: 1.5rem;\n --spacing-7: 1.75rem;\n --spacing-8: 2rem;\n --spacing-9: 2.25rem;\n --spacing-10: 2.5rem;\n --spacing-11: 2.75rem;\n --spacing-12: 3rem;\n --spacing-14: 3.5rem;\n --spacing-16: 4rem;\n --spacing-20: 5rem;\n --spacing-24: 6rem;\n --spacing-28: 7rem;\n --spacing-32: 8rem;\n --spacing-36: 9rem;\n --spacing-40: 10rem;\n --spacing-44: 11rem;\n --spacing-48: 12rem;\n --spacing-52: 13rem;\n --spacing-56: 14rem;\n --spacing-60: 15rem;\n --spacing-64: 16rem;\n --spacing-72: 18rem;\n --spacing-80: 20rem;\n --spacing-96: 24rem;\n --radius-none: 0;\n --radius-sm: 0.125rem;\n --radius-base: 0.25rem;\n --radius-md: 0.375rem;\n --radius-lg: 0.5rem;\n --radius-xl: 0.75rem;\n --radius-2xl: 1rem;\n --radius-3xl: 1.5rem;\n --radius-full: 9999px;\n --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);\n --shadow-base: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);\n --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);\n --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);\n --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);\n --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);\n --shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);\n --shadow-none: 0 0 #0000;\n --elevation-0: var(--shadow-none);\n --elevation-1: var(--shadow-sm);\n --elevation-2: var(--shadow-base);\n --elevation-3: var(--shadow-md);\n --elevation-4: var(--shadow-lg);\n --elevation-5: var(--shadow-xl);\n --elevation-6: var(--shadow-2xl);\n --duration-75: 75ms;\n --duration-100: 100ms;\n --duration-150: 150ms;\n --duration-200: 200ms;\n --duration-300: 300ms;\n --duration-500: 500ms;\n --duration-700: 700ms;\n --duration-1000: 1000ms;\n --ease-linear: linear;\n --ease-in: cubic-bezier(0.4, 0, 1, 1);\n --ease-out: cubic-bezier(0, 0, 0.2, 1);\n --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);\n --ease-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);\n --ease-spring: cubic-bezier(0.175, 0.885, 0.32, 1.275);\n --animate-fade-in: fadeIn var(--duration-300) var(--ease-out);\n --animate-fade-out: fadeOut var(--duration-300) var(--ease-in);\n --animate-slide-in-up: slideInUp var(--duration-300) var(--ease-out);\n --animate-slide-in-down: slideInDown var(--duration-300) var(--ease-out);\n --animate-slide-in-left: slideInLeft var(--duration-300) var(--ease-out);\n --animate-slide-in-right: slideInRight var(--duration-300) var(--ease-out);\n --animate-scale-in: scaleIn var(--duration-200) var(--ease-out);\n --animate-scale-out: scaleOut var(--duration-200) var(--ease-in);\n --animate-bounce: bounce var(--duration-500) var(--ease-bounce);\n --animate-pulse: pulse var(--duration-1000) var(--ease-in-out) infinite;\n --animate-spin: spin var(--duration-1000) var(--ease-linear) infinite;\n --breakpoint-sm: 640px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 1024px;\n --breakpoint-xl: 1280px;\n --breakpoint-2xl: 1536px;\n --container-sm: 640px;\n --container-md: 768px;\n --container-lg: 1024px;\n --container-xl: 1280px;\n --container-2xl: 1536px;\n --z-0: 0;\n --z-10: 10;\n --z-20: 20;\n --z-30: 30;\n --z-40: 40;\n --z-50: 50;\n --z-auto: auto;\n --z-dropdown: 1000;\n --z-sticky: 1020;\n --z-fixed: 1030;\n --z-modal-backdrop: 1040;\n --z-modal: 1050;\n --z-popover: 1060;\n --z-tooltip: 1070;\n --z-toast: 1080;\n --button-height-sm: 2rem;\n --button-height-md: 2.5rem;\n --button-height-lg: 3rem;\n --button-height-xl: 3.5rem;\n --button-padding-sm: 0.5rem 0.75rem;\n --button-padding-md: 0.625rem 1rem;\n --button-padding-lg: 0.75rem 1.25rem;\n --button-padding-xl: 1rem 1.5rem;\n --button-font-size-sm: var(--text-sm);\n --button-font-size-md: var(--text-base);\n --button-font-size-lg: var(--text-lg);\n --button-font-size-xl: var(--text-xl);\n --input-height-sm: 2rem;\n --input-height-md: 2.5rem;\n --input-height-lg: 3rem;\n --input-height-xl: 3.5rem;\n --input-padding-sm: 0.5rem 0.75rem;\n --input-padding-md: 0.625rem 1rem;\n --input-padding-lg: 0.75rem 1.25rem;\n --input-padding-xl: 1rem 1.5rem;\n --input-border-width: 1px;\n --input-border-radius: var(--radius-md);\n --input-focus-ring-width: 2px;\n --input-focus-ring-offset: 2px;\n --card-padding-sm: 1rem;\n --card-padding-md: 1.5rem;\n --card-padding-lg: 2rem;\n --card-padding-xl: 2.5rem;\n --card-border-radius: var(--radius-lg);\n --card-border-width: 1px;\n --card-shadow: var(--elevation-1);\n --card-hover-shadow: var(--elevation-2);\n}\n.dark {\n --background: 224 71% 4%;\n --foreground: 213 31% 91%;\n --card: 224 71% 4%;\n --card-foreground: 213 31% 91%;\n --popover: 224 71% 4%;\n --popover-foreground: 213 31% 91%;\n --primary: 210 40% 98%;\n --primary-foreground: 222.2 47.4% 1.2%;\n --secondary: 222.2 84% 4.9%;\n --secondary-foreground: 210 40% 98%;\n --muted: 223 47% 11%;\n --muted-foreground: 215.4 16.3% 56.9%;\n --accent: 216 34% 17%;\n --accent-foreground: 210 40% 98%;\n --destructive: 0 63% 31%;\n --destructive-foreground: 210 40% 98%;\n --border: 216 34% 17%;\n --input: 216 34% 17%;\n --ring: 216 34% 17%;\n --chart-1: 220 70% 50%;\n --chart-2: 160 60% 45%;\n --chart-3: 30 80% 55%;\n --chart-4: 280 65% 60%;\n --chart-5: 340 75% 55%;\n}\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes fadeOut {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n}\n@keyframes slideInUp {\n from {\n transform: translateY(100%);\n opacity: 0;\n }\n to {\n transform: translateY(0);\n opacity: 1;\n }\n}\n@keyframes slideInDown {\n from {\n transform: translateY(-100%);\n opacity: 0;\n }\n to {\n transform: translateY(0);\n opacity: 1;\n }\n}\n@keyframes slideInLeft {\n from {\n transform: translateX(-100%);\n opacity: 0;\n }\n to {\n transform: translateX(0);\n opacity: 1;\n }\n}\n@keyframes slideInRight {\n from {\n transform: translateX(100%);\n opacity: 0;\n }\n to {\n transform: translateX(0);\n opacity: 1;\n }\n}\n@keyframes scaleIn {\n from {\n transform: scale(0.95);\n opacity: 0;\n }\n to {\n transform: scale(1);\n opacity: 1;\n }\n}\n@keyframes scaleOut {\n from {\n transform: scale(1);\n opacity: 1;\n }\n to {\n transform: scale(0.95);\n opacity: 0;\n }\n}\n@keyframes bounce {\n 0%, 20%, 53%, 80%, 100% {\n transform: translate3d(0, 0, 0);\n }\n 40%, 43% {\n transform: translate3d(0, -30px, 0);\n }\n 70% {\n transform: translate3d(0, -15px, 0);\n }\n 90% {\n transform: translate3d(0, -4px, 0);\n }\n}\n@keyframes pulse {\n 0%, 100% {\n opacity: 1;\n }\n 50% {\n opacity: 0.5;\n }\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n.animate-fade-in {\n animation: var(--animate-fade-in);\n}\n.animate-fade-out {\n animation: var(--animate-fade-out);\n}\n.animate-slide-in-up {\n animation: var(--animate-slide-in-up);\n}\n.animate-slide-in-down {\n animation: var(--animate-slide-in-down);\n}\n.animate-slide-in-left {\n animation: var(--animate-slide-in-left);\n}\n.animate-slide-in-right {\n animation: var(--animate-slide-in-right);\n}\n.animate-scale-in {\n animation: var(--animate-scale-in);\n}\n.animate-scale-out {\n animation: var(--animate-scale-out);\n}\n.animate-bounce {\n animation: var(--animate-bounce);\n}\n.animate-pulse {\n animation: var(--animate-pulse);\n}\n.animate-spin {\n animation: var(--animate-spin);\n}\n@media (max-width: 639px) {\n .container {\n max-width: 100%;\n }\n}\n@media (min-width: 640px) {\n .container {\n max-width: var(--container-sm);\n }\n}\n@media (min-width: 768px) {\n .container {\n max-width: var(--container-md);\n }\n}\n@media (min-width: 1024px) {\n .container {\n max-width: var(--container-lg);\n }\n}\n@media (min-width: 1280px) {\n .container {\n max-width: var(--container-xl);\n }\n}\n@media (min-width: 1536px) {\n .container {\n max-width: var(--container-2xl);\n }\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes ping {\n 75%, 100% {\n transform: scale(2);\n opacity: 0;\n }\n}\n@keyframes pulse {\n 0%, 100% {\n opacity: 1;\n }\n 50% {\n opacity: .5;\n }\n}\n@keyframes bounce {\n 0%, 100% {\n transform: translateY(-25%);\n animation-timing-function: cubic-bezier(0.8, 0, 1, 1);\n }\n 50% {\n transform: translateY(0);\n animation-timing-function: cubic-bezier(0, 0, 0.2, 1);\n }\n}\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes fadeOut {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n}\n@keyframes slideIn {\n from {\n transform: translateX(-100%);\n }\n to {\n transform: translateX(0);\n }\n}\n@keyframes scaleIn {\n from {\n transform: scale(0.95);\n opacity: 0;\n }\n to {\n transform: scale(1);\n opacity: 1;\n }\n}\n.file\\:border-0::file-selector-button {\n border-width: 0px;\n}\n.file\\:bg-transparent::file-selector-button {\n background-color: transparent;\n}\n.file\\:font-medium::file-selector-button {\n font-weight: 500;\n}\n.placeholder\\:text-muted-foreground::-moz-placeholder {\n --tw-text-opacity: 1;\n color: hsl(var(--muted-foreground) / var(--tw-text-opacity, 1));\n}\n.placeholder\\:text-muted-foreground::placeholder {\n --tw-text-opacity: 1;\n color: hsl(var(--muted-foreground) / var(--tw-text-opacity, 1));\n}\n.hover\\:-translate-y-0\\.5:hover {\n --tw-translate-y: -0.125rem;\n 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));\n}\n.hover\\:scale-105:hover {\n --tw-scale-x: 1.05;\n --tw-scale-y: 1.05;\n 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));\n}\n.hover\\:scale-110:hover {\n --tw-scale-x: 1.1;\n --tw-scale-y: 1.1;\n 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));\n}\n.hover\\:border-error\\/80:hover {\n border-color: hsl(var(--error) / 0.8);\n}\n.hover\\:border-gray-300:hover {\n --tw-border-opacity: 1;\n border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));\n}\n.hover\\:border-gray-400:hover {\n --tw-border-opacity: 1;\n border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));\n}\n.hover\\:border-primary\\/20:hover {\n border-color: hsl(var(--primary) / 0.2);\n}\n.hover\\:border-primary\\/50:hover {\n border-color: hsl(var(--primary) / 0.5);\n}\n.hover\\:border-success\\/80:hover {\n border-color: hsl(var(--success) / 0.8);\n}\n.hover\\:border-white\\/30:hover {\n border-color: rgb(255 255 255 / 0.3);\n}\n.hover\\:bg-accent:hover {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--accent) / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-black\\/10:hover {\n background-color: rgb(0 0 0 / 0.1);\n}\n.hover\\:bg-destructive\\/90:hover {\n background-color: hsl(var(--destructive) / 0.9);\n}\n.hover\\:bg-error\\/90:hover {\n background-color: hsl(var(--error) / 0.9);\n}\n.hover\\:bg-gray-100:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-gray-100\\/50:hover {\n background-color: rgb(243 244 246 / 0.5);\n}\n.hover\\:bg-gray-200:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-gray-50:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-muted:hover {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--muted) / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-muted\\/30:hover {\n background-color: hsl(var(--muted) / 0.3);\n}\n.hover\\:bg-muted\\/50:hover {\n background-color: hsl(var(--muted) / 0.5);\n}\n.hover\\:bg-muted\\/80:hover {\n background-color: hsl(var(--muted) / 0.8);\n}\n.hover\\:bg-primary:hover {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--primary) / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-primary\\/20:hover {\n background-color: hsl(var(--primary) / 0.2);\n}\n.hover\\:bg-primary\\/90:hover {\n background-color: hsl(var(--primary) / 0.9);\n}\n.hover\\:bg-purple-200:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(233 213 255 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-secondary:hover {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--secondary) / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-secondary\\/80:hover {\n background-color: hsl(var(--secondary) / 0.8);\n}\n.hover\\:bg-success\\/90:hover {\n background-color: hsl(var(--success) / 0.9);\n}\n.hover\\:bg-warning\\/90:hover {\n background-color: hsl(var(--warning) / 0.9);\n}\n.hover\\:bg-white\\/20:hover {\n background-color: rgb(255 255 255 / 0.2);\n}\n.hover\\:from-blue-700:hover {\n --tw-gradient-from: #1d4ed8 var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(29 78 216 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.hover\\:from-purple-700:hover {\n --tw-gradient-from: #7e22ce var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(126 34 206 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.hover\\:to-pink-700:hover {\n --tw-gradient-to: #be185d var(--tw-gradient-to-position);\n}\n.hover\\:to-purple-700:hover {\n --tw-gradient-to: #7e22ce var(--tw-gradient-to-position);\n}\n.hover\\:text-accent-foreground:hover {\n --tw-text-opacity: 1;\n color: hsl(var(--accent-foreground) / var(--tw-text-opacity, 1));\n}\n.hover\\:text-foreground:hover {\n --tw-text-opacity: 1;\n color: hsl(var(--foreground) / var(--tw-text-opacity, 1));\n}\n.hover\\:text-primary-foreground:hover {\n --tw-text-opacity: 1;\n color: hsl(var(--primary-foreground) / var(--tw-text-opacity, 1));\n}\n.hover\\:text-white:hover {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n}\n.hover\\:underline:hover {\n text-decoration-line: underline;\n}\n.hover\\:opacity-100:hover {\n opacity: 1;\n}\n.hover\\:opacity-90:hover {\n opacity: 0.9;\n}\n.hover\\:shadow-\\[0_0_20px_rgba\\(var\\(--primary\\)\\,0\\.5\\)\\]:hover {\n --tw-shadow: 0 0 20px rgba(var(--primary),0.5);\n --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.hover\\:shadow-lg:hover {\n --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.hover\\:shadow-md:hover {\n --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.hover\\:shadow-xl:hover {\n --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.hover\\:shadow-primary\\/20:hover {\n --tw-shadow-color: hsl(var(--primary) / 0.2);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.hover\\:shadow-primary\\/60:hover {\n --tw-shadow-color: hsl(var(--primary) / 0.6);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.hover\\:brightness-110:hover {\n --tw-brightness: brightness(1.1);\n 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);\n}\n.hover\\:shadow-md:hover {\n box-shadow: var(--shadow-md);\n}\n.hover\\:shadow-lg:hover {\n box-shadow: var(--shadow-lg);\n}\n.hover\\:shadow-xl:hover {\n box-shadow: var(--shadow-xl);\n}\n.focus\\:bg-accent:focus {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--accent) / var(--tw-bg-opacity, 1));\n}\n.focus\\:bg-error\\/10:focus {\n background-color: hsl(var(--error) / 0.1);\n}\n.focus\\:bg-gray-100:focus {\n --tw-bg-opacity: 1;\n background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));\n}\n.focus\\:bg-success\\/10:focus {\n background-color: hsl(var(--success) / 0.1);\n}\n.focus\\:bg-warning\\/10:focus {\n background-color: hsl(var(--warning) / 0.1);\n}\n.focus\\:text-accent-foreground:focus {\n --tw-text-opacity: 1;\n color: hsl(var(--accent-foreground) / var(--tw-text-opacity, 1));\n}\n.focus\\:text-error:focus {\n --tw-text-opacity: 1;\n color: hsl(var(--error) / var(--tw-text-opacity, 1));\n}\n.focus\\:text-foreground:focus {\n --tw-text-opacity: 1;\n color: hsl(var(--foreground) / var(--tw-text-opacity, 1));\n}\n.focus\\:text-success:focus {\n --tw-text-opacity: 1;\n color: hsl(var(--success) / var(--tw-text-opacity, 1));\n}\n.focus\\:text-warning:focus {\n --tw-text-opacity: 1;\n color: hsl(var(--warning) / var(--tw-text-opacity, 1));\n}\n.focus\\:opacity-100:focus {\n opacity: 1;\n}\n.focus\\:outline-none:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.focus\\:ring-1:focus {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow:\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow, 0 0 #0000);\n}\n.focus\\:ring-2:focus {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow:\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow, 0 0 #0000);\n}\n.focus\\:ring-\\[var\\(--login-primary\\)\\]:focus {\n --tw-ring-color: var(--login-primary);\n}\n.focus\\:ring-primary\\/30:focus {\n --tw-ring-color: hsl(var(--primary) / 0.3);\n}\n.focus\\:ring-ring:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: hsl(var(--ring) / var(--tw-ring-opacity, 1));\n}\n.focus\\:ring-offset-2:focus {\n --tw-ring-offset-width: 2px;\n}\n.focus-visible\\:border-2:focus-visible {\n border-width: 2px;\n}\n.focus-visible\\:border-b-2:focus-visible {\n border-bottom-width: 2px;\n}\n.focus-visible\\:border-error:focus-visible {\n --tw-border-opacity: 1;\n border-color: hsl(var(--error) / var(--tw-border-opacity, 1));\n}\n.focus-visible\\:border-primary:focus-visible {\n --tw-border-opacity: 1;\n border-color: hsl(var(--primary) / var(--tw-border-opacity, 1));\n}\n.focus-visible\\:border-success:focus-visible {\n --tw-border-opacity: 1;\n border-color: hsl(var(--success) / var(--tw-border-opacity, 1));\n}\n.focus-visible\\:bg-transparent:focus-visible {\n background-color: transparent;\n}\n.focus-visible\\:shadow-lg:focus-visible {\n --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.focus-visible\\:shadow-primary\\/30:focus-visible {\n --tw-shadow-color: hsl(var(--primary) / 0.3);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.focus-visible\\:outline-none:focus-visible {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.focus-visible\\:ring-0:focus-visible {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow:\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow, 0 0 #0000);\n}\n.focus-visible\\:ring-2:focus-visible {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow:\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow, 0 0 #0000);\n}\n.focus-visible\\:ring-error\\/30:focus-visible {\n --tw-ring-color: hsl(var(--error) / 0.3);\n}\n.focus-visible\\:ring-error\\/50:focus-visible {\n --tw-ring-color: hsl(var(--error) / 0.5);\n}\n.focus-visible\\:ring-gray-400\\/30:focus-visible {\n --tw-ring-color: rgb(156 163 175 / 0.3);\n}\n.focus-visible\\:ring-primary\\/30:focus-visible {\n --tw-ring-color: hsl(var(--primary) / 0.3);\n}\n.focus-visible\\:ring-primary\\/50:focus-visible {\n --tw-ring-color: hsl(var(--primary) / 0.5);\n}\n.focus-visible\\:ring-purple-400\\/30:focus-visible {\n --tw-ring-color: rgb(192 132 252 / 0.3);\n}\n.focus-visible\\:ring-purple-500\\/50:focus-visible {\n --tw-ring-color: rgb(168 85 247 / 0.5);\n}\n.focus-visible\\:ring-ring:focus-visible {\n --tw-ring-opacity: 1;\n --tw-ring-color: hsl(var(--ring) / var(--tw-ring-opacity, 1));\n}\n.focus-visible\\:ring-success\\/30:focus-visible {\n --tw-ring-color: hsl(var(--success) / 0.3);\n}\n.focus-visible\\:ring-success\\/50:focus-visible {\n --tw-ring-color: hsl(var(--success) / 0.5);\n}\n.focus-visible\\:ring-warning\\/30:focus-visible {\n --tw-ring-color: hsl(var(--warning) / 0.3);\n}\n.focus-visible\\:ring-white\\/50:focus-visible {\n --tw-ring-color: rgb(255 255 255 / 0.5);\n}\n.focus-visible\\:ring-offset-1:focus-visible {\n --tw-ring-offset-width: 1px;\n}\n.focus-visible\\:ring-offset-2:focus-visible {\n --tw-ring-offset-width: 2px;\n}\n.focus-visible\\:ring-offset-background:focus-visible {\n --tw-ring-offset-color: hsl(var(--background) / 1);\n}\n.focus-visible\\:shadow-lg:focus-visible {\n box-shadow: var(--shadow-lg);\n}\n.active\\:translate-y-0:active {\n --tw-translate-y: 0px;\n 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));\n}\n.active\\:translate-y-0\\.5:active {\n --tw-translate-y: 0.125rem;\n 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));\n}\n.active\\:scale-95:active {\n --tw-scale-x: .95;\n --tw-scale-y: .95;\n 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));\n}\n.active\\:cursor-grabbing:active {\n cursor: grabbing;\n}\n.active\\:bg-error\\/80:active {\n background-color: hsl(var(--error) / 0.8);\n}\n.active\\:bg-gray-100:active {\n --tw-bg-opacity: 1;\n background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));\n}\n.active\\:bg-gray-200:active {\n --tw-bg-opacity: 1;\n background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));\n}\n.active\\:bg-gray-300:active {\n --tw-bg-opacity: 1;\n background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));\n}\n.active\\:bg-primary\\/30:active {\n background-color: hsl(var(--primary) / 0.3);\n}\n.active\\:bg-success\\/80:active {\n background-color: hsl(var(--success) / 0.8);\n}\n.active\\:bg-white\\/30:active {\n background-color: rgb(255 255 255 / 0.3);\n}\n.active\\:from-blue-800:active {\n --tw-gradient-from: #1e40af var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(30 64 175 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.active\\:to-purple-800:active {\n --tw-gradient-to: #6b21a8 var(--tw-gradient-to-position);\n}\n.active\\:shadow-\\[0_0_10px_rgba\\(var\\(--primary\\)\\,0\\.3\\)\\]:active {\n --tw-shadow: 0 0 10px rgba(var(--primary),0.3);\n --tw-shadow-colored: 0 0 10px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.active\\:shadow-md:active {\n --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.active\\:shadow-sm:active {\n --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.active\\:shadow-primary\\/40:active {\n --tw-shadow-color: hsl(var(--primary) / 0.4);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.active\\:brightness-90:active {\n --tw-brightness: brightness(.9);\n 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);\n}\n.active\\:brightness-95:active {\n --tw-brightness: brightness(.95);\n 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);\n}\n.active\\:shadow-sm:active {\n box-shadow: var(--shadow-sm);\n}\n.active\\:shadow-md:active {\n box-shadow: var(--shadow-md);\n}\n.disabled\\:pointer-events-none:disabled {\n pointer-events: none;\n}\n.disabled\\:cursor-not-allowed:disabled {\n cursor: not-allowed;\n}\n.disabled\\:opacity-50:disabled {\n opacity: 0.5;\n}\n.group:hover .group-hover\\:flex {\n display: flex;\n}\n.group:hover .group-hover\\:opacity-100 {\n opacity: 1;\n}\n.group.destructive .group-\\[\\.destructive\\]\\:border-muted\\/40 {\n border-color: hsl(var(--muted) / 0.4);\n}\n.group.destructive .group-\\[\\.destructive\\]\\:text-red-300 {\n --tw-text-opacity: 1;\n color: rgb(252 165 165 / var(--tw-text-opacity, 1));\n}\n.group.destructive .group-\\[\\.destructive\\]\\:hover\\:border-destructive\\/30:hover {\n border-color: hsl(var(--destructive) / 0.3);\n}\n.group.destructive .group-\\[\\.destructive\\]\\:hover\\:bg-destructive:hover {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--destructive) / var(--tw-bg-opacity, 1));\n}\n.group.destructive .group-\\[\\.destructive\\]\\:hover\\:text-destructive-foreground:hover {\n --tw-text-opacity: 1;\n color: hsl(var(--destructive-foreground) / var(--tw-text-opacity, 1));\n}\n.group.destructive .group-\\[\\.destructive\\]\\:hover\\:text-red-50:hover {\n --tw-text-opacity: 1;\n color: rgb(254 242 242 / var(--tw-text-opacity, 1));\n}\n.group.destructive .group-\\[\\.destructive\\]\\:focus\\:ring-destructive:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: hsl(var(--destructive) / var(--tw-ring-opacity, 1));\n}\n.group.destructive .group-\\[\\.destructive\\]\\:focus\\:ring-red-400:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1));\n}\n.group.destructive .group-\\[\\.destructive\\]\\:focus\\:ring-offset-red-600:focus {\n --tw-ring-offset-color: #dc2626;\n}\n.peer:disabled ~ .peer-disabled\\:cursor-not-allowed {\n cursor: not-allowed;\n}\n.peer:disabled ~ .peer-disabled\\:opacity-70 {\n opacity: 0.7;\n}\n.data-\\[disabled\\]\\:pointer-events-none[data-disabled] {\n pointer-events: none;\n}\n.data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom] {\n --tw-translate-y: 0.25rem;\n 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));\n}\n.data-\\[side\\=left\\]\\:-translate-x-1[data-side=left] {\n --tw-translate-x: -0.25rem;\n 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));\n}\n.data-\\[side\\=right\\]\\:translate-x-1[data-side=right] {\n --tw-translate-x: 0.25rem;\n 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));\n}\n.data-\\[side\\=top\\]\\:-translate-y-1[data-side=top] {\n --tw-translate-y: -0.25rem;\n 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));\n}\n.data-\\[state\\=checked\\]\\:translate-x-4[data-state=checked] {\n --tw-translate-x: 1rem;\n 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));\n}\n.data-\\[state\\=checked\\]\\:translate-x-5[data-state=checked] {\n --tw-translate-x: 1.25rem;\n 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));\n}\n.data-\\[state\\=checked\\]\\:translate-x-7[data-state=checked] {\n --tw-translate-x: 1.75rem;\n 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));\n}\n.data-\\[state\\=unchecked\\]\\:translate-x-0[data-state=unchecked] {\n --tw-translate-x: 0px;\n 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));\n}\n.data-\\[swipe\\=cancel\\]\\:translate-x-0[data-swipe=cancel] {\n --tw-translate-x: 0px;\n 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));\n}\n.data-\\[swipe\\=end\\]\\:translate-x-\\[var\\(--radix-toast-swipe-end-x\\)\\][data-swipe=end] {\n --tw-translate-x: var(--radix-toast-swipe-end-x);\n 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));\n}\n.data-\\[swipe\\=move\\]\\:translate-x-\\[var\\(--radix-toast-swipe-move-x\\)\\][data-swipe=move] {\n --tw-translate-x: var(--radix-toast-swipe-move-x);\n 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));\n}\n@keyframes bounce {\n 0%, 100% {\n transform: translateY(-25%);\n animation-timing-function: cubic-bezier(0.8, 0, 1, 1);\n }\n 50% {\n transform: none;\n animation-timing-function: cubic-bezier(0, 0, 0.2, 1);\n }\n}\n.data-\\[state\\=checked\\]\\:animate-bounce[data-state=checked] {\n animation: bounce 1s infinite;\n}\n.data-\\[state\\=active\\]\\:border-primary[data-state=active] {\n --tw-border-opacity: 1;\n border-color: hsl(var(--primary) / var(--tw-border-opacity, 1));\n}\n.data-\\[state\\=checked\\]\\:border-primary[data-state=checked] {\n --tw-border-opacity: 1;\n border-color: hsl(var(--primary) / var(--tw-border-opacity, 1));\n}\n.data-\\[state\\=active\\]\\:bg-background[data-state=active] {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--background) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=active\\]\\:bg-primary[data-state=active] {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--primary) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=active\\]\\:bg-transparent[data-state=active] {\n background-color: transparent;\n}\n.data-\\[state\\=checked\\]\\:bg-accent[data-state=checked] {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--accent) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=checked\\]\\:bg-error[data-state=checked] {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--error) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=checked\\]\\:bg-primary[data-state=checked] {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--primary) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=checked\\]\\:bg-success[data-state=checked] {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--success) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=checked\\]\\:bg-warning[data-state=checked] {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--warning) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=open\\]\\:bg-accent[data-state=open] {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--accent) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=unchecked\\]\\:bg-input[data-state=unchecked] {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--input) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=active\\]\\:text-foreground[data-state=active] {\n --tw-text-opacity: 1;\n color: hsl(var(--foreground) / var(--tw-text-opacity, 1));\n}\n.data-\\[state\\=active\\]\\:text-primary-foreground[data-state=active] {\n --tw-text-opacity: 1;\n color: hsl(var(--primary-foreground) / var(--tw-text-opacity, 1));\n}\n.data-\\[state\\=checked\\]\\:text-primary-foreground[data-state=checked] {\n --tw-text-opacity: 1;\n color: hsl(var(--primary-foreground) / var(--tw-text-opacity, 1));\n}\n.data-\\[state\\=active\\]\\:underline[data-state=active] {\n text-decoration-line: underline;\n}\n.data-\\[state\\=active\\]\\:underline-offset-4[data-state=active] {\n text-underline-offset: 4px;\n}\n.data-\\[disabled\\]\\:opacity-50[data-disabled] {\n opacity: 0.5;\n}\n.data-\\[state\\=inactive\\]\\:opacity-60[data-state=inactive] {\n opacity: 0.6;\n}\n.data-\\[state\\=active\\]\\:shadow-md[data-state=active] {\n --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.data-\\[state\\=active\\]\\:shadow-sm[data-state=active] {\n --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.data-\\[swipe\\=move\\]\\:transition-none[data-swipe=move] {\n transition-property: none;\n}\n.data-\\[state\\=open\\]\\:duration-150[data-state=open] {\n transition-duration: 150ms;\n}\n.data-\\[state\\=active\\]\\:shadow-sm[data-state=active] {\n box-shadow: var(--shadow-sm);\n}\n.data-\\[state\\=active\\]\\:shadow-md[data-state=active] {\n box-shadow: var(--shadow-md);\n}\n.data-\\[state\\=checked\\]\\:animate-bounce[data-state=checked] {\n animation: bounce 1s infinite;\n}\n.data-\\[swipe\\=move\\]\\:transition-none[data-swipe=move] {\n transition: none;\n}\n.group[data-state=open] .group-data-\\[state\\=open\\]\\:rotate-180 {\n --tw-rotate: 180deg;\n 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));\n}\n.dark\\:border-blue-800:is(.dark *) {\n --tw-border-opacity: 1;\n border-color: rgb(30 64 175 / var(--tw-border-opacity, 1));\n}\n.dark\\:border-error\\/20:is(.dark *) {\n border-color: hsl(var(--error) / 0.2);\n}\n.dark\\:border-error\\/30:is(.dark *) {\n border-color: hsl(var(--error) / 0.3);\n}\n.dark\\:border-gray-600:is(.dark *) {\n --tw-border-opacity: 1;\n border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));\n}\n.dark\\:border-gray-700:is(.dark *) {\n --tw-border-opacity: 1;\n border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));\n}\n.dark\\:border-gray-700\\/20:is(.dark *) {\n border-color: rgb(55 65 81 / 0.2);\n}\n.dark\\:border-gray-700\\/30:is(.dark *) {\n border-color: rgb(55 65 81 / 0.3);\n}\n.dark\\:border-gray-800:is(.dark *) {\n --tw-border-opacity: 1;\n border-color: rgb(31 41 55 / var(--tw-border-opacity, 1));\n}\n.dark\\:border-green-800:is(.dark *) {\n --tw-border-opacity: 1;\n border-color: rgb(22 101 52 / var(--tw-border-opacity, 1));\n}\n.dark\\:border-orange-800:is(.dark *) {\n --tw-border-opacity: 1;\n border-color: rgb(154 52 18 / var(--tw-border-opacity, 1));\n}\n.dark\\:border-primary\\/30:is(.dark *) {\n border-color: hsl(var(--primary) / 0.3);\n}\n.dark\\:border-success\\/20:is(.dark *) {\n border-color: hsl(var(--success) / 0.2);\n}\n.dark\\:bg-blue-900\\/20:is(.dark *) {\n background-color: rgb(30 58 138 / 0.2);\n}\n.dark\\:bg-error\\/90:is(.dark *) {\n background-color: hsl(var(--error) / 0.9);\n}\n.dark\\:bg-gray-700:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));\n}\n.dark\\:bg-gray-800:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));\n}\n.dark\\:bg-gray-800\\/10:is(.dark *) {\n background-color: rgb(31 41 55 / 0.1);\n}\n.dark\\:bg-gray-800\\/50:is(.dark *) {\n background-color: rgb(31 41 55 / 0.5);\n}\n.dark\\:bg-gray-800\\/80:is(.dark *) {\n background-color: rgb(31 41 55 / 0.8);\n}\n.dark\\:bg-gray-800\\/90:is(.dark *) {\n background-color: rgb(31 41 55 / 0.9);\n}\n.dark\\:bg-gray-900:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));\n}\n.dark\\:bg-gray-900\\/50:is(.dark *) {\n background-color: rgb(17 24 39 / 0.5);\n}\n.dark\\:bg-gray-900\\/60:is(.dark *) {\n background-color: rgb(17 24 39 / 0.6);\n}\n.dark\\:bg-gray-950:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(3 7 18 / var(--tw-bg-opacity, 1));\n}\n.dark\\:bg-green-900\\/20:is(.dark *) {\n background-color: rgb(20 83 45 / 0.2);\n}\n.dark\\:bg-orange-900\\/20:is(.dark *) {\n background-color: rgb(124 45 18 / 0.2);\n}\n.dark\\:bg-primary:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--primary) / var(--tw-bg-opacity, 1));\n}\n.dark\\:bg-primary\\/20:is(.dark *) {\n background-color: hsl(var(--primary) / 0.2);\n}\n.dark\\:bg-primary\\/90:is(.dark *) {\n background-color: hsl(var(--primary) / 0.9);\n}\n.dark\\:bg-purple-900:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(88 28 135 / var(--tw-bg-opacity, 1));\n}\n.dark\\:bg-purple-900\\/30:is(.dark *) {\n background-color: rgb(88 28 135 / 0.3);\n}\n.dark\\:bg-success\\/90:is(.dark *) {\n background-color: hsl(var(--success) / 0.9);\n}\n.dark\\:bg-transparent:is(.dark *) {\n background-color: transparent;\n}\n.dark\\:bg-warning\\/90:is(.dark *) {\n background-color: hsl(var(--warning) / 0.9);\n}\n.dark\\:from-primary\\/10:is(.dark *) {\n --tw-gradient-from: hsl(var(--primary) / 0.1) var(--tw-gradient-from-position);\n --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.dark\\:to-primary\\/20:is(.dark *) {\n --tw-gradient-to: hsl(var(--primary) / 0.2) var(--tw-gradient-to-position);\n}\n.dark\\:text-blue-100:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(219 234 254 / var(--tw-text-opacity, 1));\n}\n.dark\\:text-blue-400:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(96 165 250 / var(--tw-text-opacity, 1));\n}\n.dark\\:text-gray-100:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(243 244 246 / var(--tw-text-opacity, 1));\n}\n.dark\\:text-gray-200:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(229 231 235 / var(--tw-text-opacity, 1));\n}\n.dark\\:text-gray-300:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(209 213 219 / var(--tw-text-opacity, 1));\n}\n.dark\\:text-gray-400:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(156 163 175 / var(--tw-text-opacity, 1));\n}\n.dark\\:text-gray-900:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(17 24 39 / var(--tw-text-opacity, 1));\n}\n.dark\\:text-green-100:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(220 252 231 / var(--tw-text-opacity, 1));\n}\n.dark\\:text-green-400:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(74 222 128 / var(--tw-text-opacity, 1));\n}\n.dark\\:text-orange-100:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(255 237 213 / var(--tw-text-opacity, 1));\n}\n.dark\\:text-primary-foreground:is(.dark *) {\n --tw-text-opacity: 1;\n color: hsl(var(--primary-foreground) / var(--tw-text-opacity, 1));\n}\n.dark\\:text-purple-400:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(192 132 252 / var(--tw-text-opacity, 1));\n}\n.dark\\:text-red-400:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(248 113 113 / var(--tw-text-opacity, 1));\n}\n.dark\\:text-white:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n}\n.dark\\:text-yellow-400:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(250 204 21 / var(--tw-text-opacity, 1));\n}\n.dark\\:shadow-inner:is(.dark *) {\n --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);\n --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.dark\\:shadow-lg:is(.dark *) {\n --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.dark\\:shadow-md:is(.dark *) {\n --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.dark\\:shadow-sm:is(.dark *) {\n --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.dark\\:shadow-error\\/10:is(.dark *) {\n --tw-shadow-color: hsl(var(--error) / 0.1);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.dark\\:shadow-gray-900\\/20:is(.dark *) {\n --tw-shadow-color: rgb(17 24 39 / 0.2);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.dark\\:shadow-gray-900\\/30:is(.dark *) {\n --tw-shadow-color: rgb(17 24 39 / 0.3);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.dark\\:shadow-gray-950\\/10:is(.dark *) {\n --tw-shadow-color: rgb(3 7 18 / 0.1);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.dark\\:shadow-primary\\/10:is(.dark *) {\n --tw-shadow-color: hsl(var(--primary) / 0.1);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.dark\\:shadow-primary\\/20:is(.dark *) {\n --tw-shadow-color: hsl(var(--primary) / 0.2);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.dark\\:shadow-purple-500\\/10:is(.dark *) {\n --tw-shadow-color: rgb(168 85 247 / 0.1);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.dark\\:shadow-success\\/10:is(.dark *) {\n --tw-shadow-color: hsl(var(--success) / 0.1);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.dark\\:shadow-warning\\/10:is(.dark *) {\n --tw-shadow-color: hsl(var(--warning) / 0.1);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.dark\\:ring-gray-600:is(.dark *) {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(75 85 99 / var(--tw-ring-opacity, 1));\n}\n.dark\\:ring-offset-gray-950:is(.dark *) {\n --tw-ring-offset-color: #030712;\n}\n.dark\\:backdrop-blur-sm:is(.dark *) {\n --tw-backdrop-blur: blur(4px);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n.dark\\:shadow-sm:is(.dark *) {\n box-shadow: var(--shadow-sm);\n}\n.dark\\:shadow-md:is(.dark *) {\n box-shadow: var(--shadow-md);\n}\n.dark\\:shadow-lg:is(.dark *) {\n box-shadow: var(--shadow-lg);\n}\n.dark\\:placeholder\\:text-gray-500:is(.dark *)::-moz-placeholder {\n --tw-text-opacity: 1;\n color: rgb(107 114 128 / var(--tw-text-opacity, 1));\n}\n.dark\\:placeholder\\:text-gray-500:is(.dark *)::placeholder {\n --tw-text-opacity: 1;\n color: rgb(107 114 128 / var(--tw-text-opacity, 1));\n}\n.dark\\:hover\\:border-error\\/80:hover:is(.dark *) {\n border-color: hsl(var(--error) / 0.8);\n}\n.dark\\:hover\\:border-gray-500:hover:is(.dark *) {\n --tw-border-opacity: 1;\n border-color: rgb(107 114 128 / var(--tw-border-opacity, 1));\n}\n.dark\\:hover\\:border-gray-600:hover:is(.dark *) {\n --tw-border-opacity: 1;\n border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));\n}\n.dark\\:hover\\:border-gray-700\\/30:hover:is(.dark *) {\n border-color: rgb(55 65 81 / 0.3);\n}\n.dark\\:hover\\:border-primary\\/30:hover:is(.dark *) {\n border-color: hsl(var(--primary) / 0.3);\n}\n.dark\\:hover\\:border-success\\/80:hover:is(.dark *) {\n border-color: hsl(var(--success) / 0.8);\n}\n.dark\\:hover\\:bg-error\\/80:hover:is(.dark *) {\n background-color: hsl(var(--error) / 0.8);\n}\n.dark\\:hover\\:bg-gray-700:hover:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));\n}\n.dark\\:hover\\:bg-gray-700\\/50:hover:is(.dark *) {\n background-color: rgb(55 65 81 / 0.5);\n}\n.dark\\:hover\\:bg-gray-700\\/90:hover:is(.dark *) {\n background-color: rgb(55 65 81 / 0.9);\n}\n.dark\\:hover\\:bg-gray-800:hover:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));\n}\n.dark\\:hover\\:bg-gray-800\\/20:hover:is(.dark *) {\n background-color: rgb(31 41 55 / 0.2);\n}\n.dark\\:hover\\:bg-gray-800\\/30:hover:is(.dark *) {\n background-color: rgb(31 41 55 / 0.3);\n}\n.dark\\:hover\\:bg-gray-800\\/80:hover:is(.dark *) {\n background-color: rgb(31 41 55 / 0.8);\n}\n.dark\\:hover\\:bg-gray-800\\/90:hover:is(.dark *) {\n background-color: rgb(31 41 55 / 0.9);\n}\n.dark\\:hover\\:bg-primary\\/30:hover:is(.dark *) {\n background-color: hsl(var(--primary) / 0.3);\n}\n.dark\\:hover\\:bg-primary\\/90:hover:is(.dark *) {\n background-color: hsl(var(--primary) / 0.9);\n}\n.dark\\:hover\\:bg-purple-800:hover:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(107 33 168 / var(--tw-bg-opacity, 1));\n}\n.dark\\:hover\\:bg-success\\/80:hover:is(.dark *) {\n background-color: hsl(var(--success) / 0.8);\n}\n.dark\\:hover\\:bg-warning\\/80:hover:is(.dark *) {\n background-color: hsl(var(--warning) / 0.8);\n}\n.dark\\:hover\\:bg-white\\/10:hover:is(.dark *) {\n background-color: rgb(255 255 255 / 0.1);\n}\n.dark\\:hover\\:text-blue-300:hover:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(147 197 253 / var(--tw-text-opacity, 1));\n}\n.dark\\:hover\\:text-white:hover:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n}\n.dark\\:focus\\:bg-gray-700:focus:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));\n}\n.dark\\:focus\\:bg-gray-800:focus:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));\n}\n.dark\\:focus\\:bg-green-900\\/20:focus:is(.dark *) {\n background-color: rgb(20 83 45 / 0.2);\n}\n.dark\\:focus\\:bg-red-900\\/20:focus:is(.dark *) {\n background-color: rgb(127 29 29 / 0.2);\n}\n.dark\\:focus\\:bg-yellow-900\\/20:focus:is(.dark *) {\n background-color: rgb(113 63 18 / 0.2);\n}\n.dark\\:focus\\:text-gray-100:focus:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(243 244 246 / var(--tw-text-opacity, 1));\n}\n.dark\\:focus\\:text-gray-200:focus:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(229 231 235 / var(--tw-text-opacity, 1));\n}\n.dark\\:focus\\:text-green-300:focus:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(134 239 172 / var(--tw-text-opacity, 1));\n}\n.dark\\:focus\\:text-red-300:focus:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(252 165 165 / var(--tw-text-opacity, 1));\n}\n.dark\\:focus\\:text-yellow-300:focus:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(253 224 71 / var(--tw-text-opacity, 1));\n}\n.dark\\:focus-visible\\:border-primary:focus-visible:is(.dark *) {\n --tw-border-opacity: 1;\n border-color: hsl(var(--primary) / var(--tw-border-opacity, 1));\n}\n.dark\\:focus-visible\\:border-primary\\/80:focus-visible:is(.dark *) {\n border-color: hsl(var(--primary) / 0.8);\n}\n.dark\\:focus-visible\\:ring-error\\/25:focus-visible:is(.dark *) {\n --tw-ring-color: hsl(var(--error) / 0.25);\n}\n.dark\\:focus-visible\\:ring-error\\/30:focus-visible:is(.dark *) {\n --tw-ring-color: hsl(var(--error) / 0.3);\n}\n.dark\\:focus-visible\\:ring-gray-500\\/40:focus-visible:is(.dark *) {\n --tw-ring-color: rgb(107 114 128 / 0.4);\n}\n.dark\\:focus-visible\\:ring-primary\\/20:focus-visible:is(.dark *) {\n --tw-ring-color: hsl(var(--primary) / 0.2);\n}\n.dark\\:focus-visible\\:ring-primary\\/30:focus-visible:is(.dark *) {\n --tw-ring-color: hsl(var(--primary) / 0.3);\n}\n.dark\\:focus-visible\\:ring-primary\\/40:focus-visible:is(.dark *) {\n --tw-ring-color: hsl(var(--primary) / 0.4);\n}\n.dark\\:focus-visible\\:ring-primary\\/50:focus-visible:is(.dark *) {\n --tw-ring-color: hsl(var(--primary) / 0.5);\n}\n.dark\\:focus-visible\\:ring-purple-500\\/40:focus-visible:is(.dark *) {\n --tw-ring-color: rgb(168 85 247 / 0.4);\n}\n.dark\\:focus-visible\\:ring-success\\/25:focus-visible:is(.dark *) {\n --tw-ring-color: hsl(var(--success) / 0.25);\n}\n.dark\\:focus-visible\\:ring-success\\/30:focus-visible:is(.dark *) {\n --tw-ring-color: hsl(var(--success) / 0.3);\n}\n.dark\\:focus-visible\\:ring-warning\\/25:focus-visible:is(.dark *) {\n --tw-ring-color: hsl(var(--warning) / 0.25);\n}\n.dark\\:focus-visible\\:ring-offset-gray-950:focus-visible:is(.dark *) {\n --tw-ring-offset-color: #030712;\n}\n.dark\\:active\\:bg-error\\/70:active:is(.dark *) {\n background-color: hsl(var(--error) / 0.7);\n}\n.dark\\:active\\:bg-gray-600\\/90:active:is(.dark *) {\n background-color: rgb(75 85 99 / 0.9);\n}\n.dark\\:active\\:bg-gray-700\\/90:active:is(.dark *) {\n background-color: rgb(55 65 81 / 0.9);\n}\n.dark\\:active\\:bg-gray-800\\/90:active:is(.dark *) {\n background-color: rgb(31 41 55 / 0.9);\n}\n.dark\\:active\\:bg-primary\\/40:active:is(.dark *) {\n background-color: hsl(var(--primary) / 0.4);\n}\n.dark\\:active\\:bg-primary\\/80:active:is(.dark *) {\n background-color: hsl(var(--primary) / 0.8);\n}\n.dark\\:active\\:bg-success\\/70:active:is(.dark *) {\n background-color: hsl(var(--success) / 0.7);\n}\n.dark\\:active\\:text-blue-500:active:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(59 130 246 / var(--tw-text-opacity, 1));\n}\n.peer:disabled ~ .dark\\:peer-disabled\\:opacity-60:is(.dark *) {\n opacity: 0.6;\n}\n.dark\\:data-\\[state\\=active\\]\\:border-primary\\/80[data-state=active]:is(.dark *) {\n border-color: hsl(var(--primary) / 0.8);\n}\n.dark\\:data-\\[state\\=active\\]\\:bg-gray-900[data-state=active]:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));\n}\n.dark\\:data-\\[state\\=active\\]\\:bg-primary\\/90[data-state=active]:is(.dark *) {\n background-color: hsl(var(--primary) / 0.9);\n}\n.dark\\:data-\\[state\\=unchecked\\]\\:bg-gray-700\\/70[data-state=unchecked]:is(.dark *) {\n background-color: rgb(55 65 81 / 0.7);\n}\n.dark\\:data-\\[state\\=active\\]\\:text-gray-100[data-state=active]:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(243 244 246 / var(--tw-text-opacity, 1));\n}\n.dark\\:data-\\[state\\=active\\]\\:text-gray-200[data-state=active]:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(229 231 235 / var(--tw-text-opacity, 1));\n}\n.dark\\:data-\\[state\\=active\\]\\:text-white[data-state=active]:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n}\n.dark\\:data-\\[state\\=active\\]\\:shadow-gray-950\\/10[data-state=active]:is(.dark *) {\n --tw-shadow-color: rgb(3 7 18 / 0.1);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.dark\\:data-\\[state\\=active\\]\\:shadow-gray-950\\/20[data-state=active]:is(.dark *) {\n --tw-shadow-color: rgb(3 7 18 / 0.2);\n --tw-shadow: var(--tw-shadow-colored);\n}\n@media (min-width: 640px) {\n .sm\\:bottom-0 {\n bottom: 0px;\n }\n .sm\\:right-0 {\n right: 0px;\n }\n .sm\\:top-auto {\n top: auto;\n }\n .sm\\:max-w-\\[425px\\] {\n max-width: 425px;\n }\n .sm\\:max-w-\\[500px\\] {\n max-width: 500px;\n }\n .sm\\:flex-row {\n flex-direction: row;\n }\n .sm\\:flex-col {\n flex-direction: column;\n }\n .sm\\:justify-end {\n justify-content: flex-end;\n }\n .sm\\:space-x-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.5rem * var(--tw-space-x-reverse));\n margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));\n }\n .sm\\:text-left {\n text-align: left;\n }\n}\n@media (min-width: 768px) {\n .md\\:max-w-\\[420px\\] {\n max-width: 420px;\n }\n .md\\:grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n}\n@media (min-width: 1024px) {\n .lg\\:flex {\n display: flex;\n }\n .lg\\:grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n .lg\\:space-x-8 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(2rem * var(--tw-space-x-reverse));\n margin-left: calc(2rem * calc(1 - var(--tw-space-x-reverse)));\n }\n}\n.\\[\\&\\+div\\]\\:text-xs + div {\n font-size: 0.75rem;\n line-height: 1rem;\n}\n.\\[\\&\\>span\\]\\:line-clamp-1 > span {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n}\n.\\[\\&_blockquote\\]\\:border-l-4 blockquote {\n border-left-width: 4px;\n}\n.\\[\\&_blockquote\\]\\:border-gray-300 blockquote {\n --tw-border-opacity: 1;\n border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));\n}\n.\\[\\&_blockquote\\]\\:pl-4 blockquote {\n padding-left: 1rem;\n}\n.\\[\\&_blockquote\\]\\:italic blockquote {\n font-style: italic;\n}\n.\\[\\&_h1\\]\\:mb-4 h1 {\n margin-bottom: 1rem;\n}\n.\\[\\&_h1\\]\\:text-3xl h1 {\n font-size: 1.875rem;\n line-height: 2.25rem;\n}\n.\\[\\&_h1\\]\\:font-bold h1 {\n font-weight: 700;\n}\n.\\[\\&_h2\\]\\:mb-3 h2 {\n margin-bottom: 0.75rem;\n}\n.\\[\\&_h2\\]\\:text-2xl h2 {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n.\\[\\&_h2\\]\\:font-bold h2 {\n font-weight: 700;\n}\n.\\[\\&_h3\\]\\:mb-2 h3 {\n margin-bottom: 0.5rem;\n}\n.\\[\\&_h3\\]\\:text-xl h3 {\n font-size: 1.25rem;\n line-height: 1.75rem;\n}\n.\\[\\&_h3\\]\\:font-bold h3 {\n font-weight: 700;\n}\n.\\[\\&_h4\\]\\:mb-2 h4 {\n margin-bottom: 0.5rem;\n}\n.\\[\\&_h4\\]\\:text-lg h4 {\n font-size: 1.125rem;\n line-height: 1.75rem;\n}\n.\\[\\&_h4\\]\\:font-bold h4 {\n font-weight: 700;\n}\n.\\[\\&_h5\\]\\:mb-1 h5 {\n margin-bottom: 0.25rem;\n}\n.\\[\\&_h5\\]\\:text-base h5 {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n.\\[\\&_h5\\]\\:font-bold h5 {\n font-weight: 700;\n}\n.\\[\\&_h6\\]\\:mb-1 h6 {\n margin-bottom: 0.25rem;\n}\n.\\[\\&_h6\\]\\:text-sm h6 {\n font-size: 0.875rem;\n line-height: 1.25rem;\n}\n.\\[\\&_h6\\]\\:font-bold h6 {\n font-weight: 700;\n}\n.\\[\\&_li\\]\\:mb-1 li {\n margin-bottom: 0.25rem;\n}\n.\\[\\&_ol\\]\\:mb-4 ol {\n margin-bottom: 1rem;\n}\n.\\[\\&_ol\\]\\:list-decimal ol {\n list-style-type: decimal;\n}\n.\\[\\&_ol\\]\\:pl-6 ol {\n padding-left: 1.5rem;\n}\n.\\[\\&_pre\\]\\:overflow-x-auto pre {\n overflow-x: auto;\n}\n.\\[\\&_pre\\]\\:rounded pre {\n border-radius: 0.25rem;\n}\n.\\[\\&_pre\\]\\:bg-gray-100 pre {\n --tw-bg-opacity: 1;\n background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));\n}\n.\\[\\&_pre\\]\\:p-4 pre {\n padding: 1rem;\n}\n.\\[\\&_pre\\]\\:dark\\:bg-gray-800:is(.dark *) pre {\n --tw-bg-opacity: 1;\n background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));\n}\n.\\[\\&_table\\]\\:mb-4 table {\n margin-bottom: 1rem;\n}\n.\\[\\&_table\\]\\:w-full table {\n width: 100%;\n}\n.\\[\\&_table_td\\]\\:border table td {\n border-width: 1px;\n}\n.\\[\\&_table_td\\]\\:border-gray-300 table td {\n --tw-border-opacity: 1;\n border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));\n}\n.\\[\\&_table_td\\]\\:p-2 table td {\n padding: 0.5rem;\n}\n.\\[\\&_table_th\\]\\:border table th {\n border-width: 1px;\n}\n.\\[\\&_table_th\\]\\:border-gray-300 table th {\n --tw-border-opacity: 1;\n border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));\n}\n.\\[\\&_table_th\\]\\:bg-gray-50 table th {\n --tw-bg-opacity: 1;\n background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));\n}\n.\\[\\&_table_th\\]\\:p-2 table th {\n padding: 0.5rem;\n}\n.\\[\\&_table_th\\]\\:font-semibold table th {\n font-weight: 600;\n}\n.\\[\\&_ul\\]\\:mb-4 ul {\n margin-bottom: 1rem;\n}\n.\\[\\&_ul\\]\\:list-disc ul {\n list-style-type: disc;\n}\n.\\[\\&_ul\\]\\:pl-6 ul {\n padding-left: 1.5rem;\n}\n');
1732
+ styleInject('*,\n::before,\n::after {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: ;\n}\n::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: ;\n}\n*,\n::before,\n::after {\n box-sizing: border-box;\n border-width: 0;\n border-style: solid;\n border-color: #e5e7eb;\n}\n::before,\n::after {\n --tw-content: "";\n}\nhtml,\n:host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n font-family: var(--font-sans);\n font-feature-settings: normal;\n font-variation-settings: normal;\n -webkit-tap-highlight-color: transparent;\n}\nbody {\n margin: 0;\n line-height: inherit;\n}\nhr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n}\nabbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\na {\n color: inherit;\n text-decoration: inherit;\n}\nb,\nstrong {\n font-weight: bolder;\n}\ncode,\nkbd,\nsamp,\npre {\n font-family: var(--font-mono);\n font-feature-settings: normal;\n font-variation-settings: normal;\n font-size: 1em;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\nsub {\n bottom: -0.25em;\n}\nsup {\n top: -0.5em;\n}\ntable {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n font-size: 100%;\n font-weight: inherit;\n line-height: inherit;\n letter-spacing: inherit;\n color: inherit;\n margin: 0;\n padding: 0;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\ninput:where([type="button"]),\ninput:where([type="reset"]),\ninput:where([type="submit"]) {\n -webkit-appearance: button;\n background-color: transparent;\n background-image: none;\n}\n:-moz-focusring {\n outline: auto;\n}\n:-moz-ui-invalid {\n box-shadow: none;\n}\nprogress {\n vertical-align: baseline;\n}\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n[type=search] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\nsummary {\n display: list-item;\n}\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\nfieldset {\n margin: 0;\n padding: 0;\n}\nlegend {\n padding: 0;\n}\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\ndialog {\n padding: 0;\n}\ntextarea {\n resize: vertical;\n}\ninput::-moz-placeholder,\ntextarea::-moz-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1;\n color: #9ca3af;\n}\nbutton,\n[role=button] {\n cursor: pointer;\n}\n:disabled {\n cursor: default;\n}\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block;\n vertical-align: middle;\n}\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n[hidden]:where(:not([hidden="until-found"])) {\n display: none;\n}\n:root {\n --bg-base: var(--background);\n --bg-subtle: var(--gray-50);\n --bg-muted: var(--gray-100);\n --bg-emphasis: var(--gray-200);\n --bg-inverse: var(--foreground);\n --surface-base: var(--background);\n --surface-overlay: var(--gray-50);\n --surface-raised: var(--background);\n --surface-sunken: var(--gray-100);\n --text-primary: var(--foreground);\n --text-secondary: var(--gray-600);\n --text-tertiary: var(--gray-500);\n --text-disabled: var(--gray-400);\n --text-inverse: var(--background);\n --text-link: var(--primary);\n --text-link-hover: var(--primary-hover);\n --brand-primary: var(--primary);\n --brand-primary-hover: var(--primary-hover);\n --brand-primary-active: var(--primary-active);\n --brand-secondary: var(--secondary);\n --state-hover: var(--gray-100);\n --state-active: var(--gray-200);\n --state-selected: var(--primary);\n --state-disabled: var(--gray-300);\n --state-focus: var(--primary);\n --feedback-success: var(--success);\n --feedback-success-light: 142 71% 95%;\n --feedback-success-dark: 142 71% 35%;\n --feedback-warning: var(--warning);\n --feedback-warning-light: 38 92% 95%;\n --feedback-warning-dark: 38 92% 40%;\n --feedback-error: var(--error);\n --feedback-error-light: 0 84% 95%;\n --feedback-error-dark: 0 84% 50%;\n --feedback-info: 217 91% 60%;\n --feedback-info-light: 217 91% 95%;\n --feedback-info-dark: 217 91% 50%;\n --border-default: var(--border);\n --border-subtle: var(--gray-200);\n --border-strong: var(--gray-400);\n --border-interactive: var(--primary);\n --border-error: var(--error);\n --border-success: var(--success);\n --border-warning: var(--warning);\n --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n --shadow-primary: 0 4px 14px 0 hsl(var(--primary) / 0.3);\n --shadow-success: 0 4px 14px 0 hsl(var(--success) / 0.3);\n --shadow-error: 0 4px 14px 0 hsl(var(--error) / 0.3);\n --shadow-warning: 0 4px 14px 0 hsl(var(--warning) / 0.3);\n --shadow-inner-xs: inset 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --shadow-inner-sm: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);\n --shadow-inner-md: inset 0 4px 6px -1px rgb(0 0 0 / 0.1);\n --ease-linear: linear;\n --ease-in: cubic-bezier(0.4, 0, 1, 1);\n --ease-out: cubic-bezier(0, 0, 0.2, 1);\n --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);\n --ease-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);\n --ease-elastic: cubic-bezier(0.68, -0.55, 0.265, 1.55);\n --ease-back-in: cubic-bezier(0.6, -0.28, 0.735, 0.045);\n --ease-back-out: cubic-bezier(0.175, 0.885, 0.32, 1.275);\n --ease-back-in-out: cubic-bezier(0.68, -0.55, 0.265, 1.55);\n --duration-instant: 0ms;\n --duration-fast: 150ms;\n --duration-normal: 250ms;\n --duration-slow: 350ms;\n --duration-slower: 500ms;\n --duration-slowest: 750ms;\n --space-0: 0;\n --space-px: 1px;\n --space-0\\.5: 0.125rem;\n --space-1: 0.25rem;\n --space-1\\.5: 0.375rem;\n --space-2: 0.5rem;\n --space-2\\.5: 0.625rem;\n --space-3: 0.75rem;\n --space-3\\.5: 0.875rem;\n --space-4: 1rem;\n --space-5: 1.25rem;\n --space-6: 1.5rem;\n --space-7: 1.75rem;\n --space-8: 2rem;\n --space-9: 2.25rem;\n --space-10: 2.5rem;\n --space-11: 2.75rem;\n --space-12: 3rem;\n --space-14: 3.5rem;\n --space-16: 4rem;\n --space-20: 5rem;\n --space-24: 6rem;\n --space-28: 7rem;\n --space-32: 8rem;\n --space-36: 9rem;\n --space-40: 10rem;\n --space-44: 11rem;\n --space-48: 12rem;\n --space-52: 13rem;\n --space-56: 14rem;\n --space-60: 15rem;\n --space-64: 16rem;\n --space-72: 18rem;\n --space-80: 20rem;\n --space-96: 24rem;\n --text-2xs: 0.625rem;\n --text-xs: 0.75rem;\n --text-sm: 0.875rem;\n --text-base: 1rem;\n --text-lg: 1.125rem;\n --text-xl: 1.25rem;\n --text-2xl: 1.5rem;\n --text-3xl: 1.875rem;\n --text-4xl: 2.25rem;\n --text-5xl: 3rem;\n --text-6xl: 3.75rem;\n --text-7xl: 4.5rem;\n --text-8xl: 6rem;\n --text-9xl: 8rem;\n --leading-none: 1;\n --leading-tight: 1.25;\n --leading-snug: 1.375;\n --leading-normal: 1.5;\n --leading-relaxed: 1.625;\n --leading-loose: 2;\n --tracking-tighter: -0.05em;\n --tracking-tight: -0.025em;\n --tracking-normal: 0;\n --tracking-wide: 0.025em;\n --tracking-wider: 0.05em;\n --tracking-widest: 0.1em;\n --font-thin: 100;\n --font-extralight: 200;\n --font-light: 300;\n --font-normal: 400;\n --font-medium: 500;\n --font-semibold: 600;\n --font-bold: 700;\n --font-extrabold: 800;\n --font-black: 900;\n --radius-none: 0;\n --radius-sm: 0.125rem;\n --radius-base: 0.25rem;\n --radius-md: 0.375rem;\n --radius-lg: 0.5rem;\n --radius-xl: 0.75rem;\n --radius-2xl: 1rem;\n --radius-3xl: 1.5rem;\n --radius-full: 9999px;\n --z-0: 0;\n --z-10: 10;\n --z-20: 20;\n --z-30: 30;\n --z-40: 40;\n --z-50: 50;\n --z-dropdown: 1000;\n --z-sticky: 1020;\n --z-fixed: 1030;\n --z-modal-backdrop: 1040;\n --z-modal: 1050;\n --z-popover: 1060;\n --z-tooltip: 1070;\n --z-notification: 1080;\n --blur-none: 0;\n --blur-sm: 4px;\n --blur-base: 8px;\n --blur-md: 12px;\n --blur-lg: 16px;\n --blur-xl: 24px;\n --blur-2xl: 40px;\n --blur-3xl: 64px;\n}\n.dark {\n --bg-base: var(--background);\n --bg-subtle: var(--gray-800);\n --bg-muted: var(--gray-700);\n --bg-emphasis: var(--gray-600);\n --surface-overlay: var(--gray-800);\n --surface-raised: var(--gray-800);\n --surface-sunken: var(--background);\n --text-secondary: var(--gray-400);\n --text-tertiary: var(--gray-500);\n --text-disabled: var(--gray-600);\n --state-hover: var(--gray-700);\n --state-active: var(--gray-600);\n --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.3);\n --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.4), 0 1px 2px -1px rgb(0 0 0 / 0.3);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.4), 0 2px 4px -2px rgb(0 0 0 / 0.3);\n --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.4), 0 4px 6px -4px rgb(0 0 0 / 0.3);\n --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.4), 0 8px 10px -6px rgb(0 0 0 / 0.3);\n --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.5);\n}\n.container {\n width: 100%;\n margin-right: auto;\n margin-left: auto;\n padding-right: 1rem;\n padding-left: 1rem;\n}\n@media (min-width: 640px) {\n .container {\n max-width: 640px;\n padding-right: 2rem;\n padding-left: 2rem;\n }\n}\n@media (min-width: 768px) {\n .container {\n max-width: 768px;\n }\n}\n@media (min-width: 1024px) {\n .container {\n max-width: 1024px;\n padding-right: 4rem;\n padding-left: 4rem;\n }\n}\n@media (min-width: 1280px) {\n .container {\n max-width: 1280px;\n padding-right: 5rem;\n padding-left: 5rem;\n }\n}\n@media (min-width: 1536px) {\n .container {\n max-width: 1536px;\n padding-right: 6rem;\n padding-left: 6rem;\n }\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n.pointer-events-none {\n pointer-events: none;\n}\n.pointer-events-auto {\n pointer-events: auto;\n}\n.visible {\n visibility: visible;\n}\n.collapse {\n visibility: collapse;\n}\n.static {\n position: static;\n}\n.fixed {\n position: fixed;\n}\n.absolute {\n position: absolute;\n}\n.relative {\n position: relative;\n}\n.sticky {\n position: sticky;\n}\n.inset-0 {\n inset: 0px;\n}\n.bottom-2 {\n bottom: 0.5rem;\n}\n.bottom-4 {\n bottom: 1rem;\n}\n.bottom-\\[5\\%\\] {\n bottom: 5%;\n}\n.left-2 {\n left: 0.5rem;\n}\n.left-3 {\n left: 0.75rem;\n}\n.left-4 {\n left: 1rem;\n}\n.left-\\[50\\%\\] {\n left: 50%;\n}\n.right-1 {\n right: 0.25rem;\n}\n.right-2 {\n right: 0.5rem;\n}\n.right-3 {\n right: 0.75rem;\n}\n.right-4 {\n right: 1rem;\n}\n.top-0 {\n top: 0px;\n}\n.top-1 {\n top: 0.25rem;\n}\n.top-2 {\n top: 0.5rem;\n}\n.top-2\\.5 {\n top: 0.625rem;\n}\n.top-4 {\n top: 1rem;\n}\n.top-\\[5\\%\\] {\n top: 5%;\n}\n.top-\\[50\\%\\] {\n top: 50%;\n}\n.top-auto {\n top: auto;\n}\n.z-0 {\n z-index: 0;\n}\n.z-10 {\n z-index: 10;\n}\n.z-40 {\n z-index: 40;\n}\n.z-50 {\n z-index: 50;\n}\n.z-\\[-1\\] {\n z-index: -1;\n}\n.z-\\[100\\] {\n z-index: 100;\n}\n.col-span-1 {\n grid-column: span 1 / span 1;\n}\n.col-span-2 {\n grid-column: span 2 / span 2;\n}\n.col-span-3 {\n grid-column: span 3 / span 3;\n}\n.col-span-4 {\n grid-column: span 4 / span 4;\n}\n.-m-2 {\n margin: -0.5rem;\n}\n.-mx-1 {\n margin-left: -0.25rem;\n margin-right: -0.25rem;\n}\n.-mx-4 {\n margin-left: -1rem;\n margin-right: -1rem;\n}\n.mx-1 {\n margin-left: 0.25rem;\n margin-right: 0.25rem;\n}\n.mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n.my-1 {\n margin-top: 0.25rem;\n margin-bottom: 0.25rem;\n}\n.my-2 {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n}\n.-mb-4 {\n margin-bottom: -1rem;\n}\n.-mr-1 {\n margin-right: -0.25rem;\n}\n.-mt-4 {\n margin-top: -1rem;\n}\n.mb-1 {\n margin-bottom: 0.25rem;\n}\n.mb-2 {\n margin-bottom: 0.5rem;\n}\n.mb-3 {\n margin-bottom: 0.75rem;\n}\n.mb-4 {\n margin-bottom: 1rem;\n}\n.mb-8 {\n margin-bottom: 2rem;\n}\n.ml-1 {\n margin-left: 0.25rem;\n}\n.ml-2 {\n margin-left: 0.5rem;\n}\n.ml-auto {\n margin-left: auto;\n}\n.mr-1 {\n margin-right: 0.25rem;\n}\n.mr-2 {\n margin-right: 0.5rem;\n}\n.mr-auto {\n margin-right: auto;\n}\n.mt-1 {\n margin-top: 0.25rem;\n}\n.mt-2 {\n margin-top: 0.5rem;\n}\n.mt-3 {\n margin-top: 0.75rem;\n}\n.mt-4 {\n margin-top: 1rem;\n}\n.mt-6 {\n margin-top: 1.5rem;\n}\n.line-clamp-2 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n}\n.block {\n display: block;\n}\n.inline-block {\n display: inline-block;\n}\n.inline {\n display: inline;\n}\n.flex {\n display: flex;\n}\n.inline-flex {\n display: inline-flex;\n}\n.\\!table {\n display: table !important;\n}\n.table {\n display: table;\n}\n.grid {\n display: grid;\n}\n.hidden {\n display: none;\n}\n.aspect-square {\n aspect-ratio: 1 / 1;\n}\n.h-0 {\n height: 0px;\n}\n.h-1 {\n height: 0.25rem;\n}\n.h-1\\.5 {\n height: 0.375rem;\n}\n.h-10 {\n height: 2.5rem;\n}\n.h-11 {\n height: 2.75rem;\n}\n.h-12 {\n height: 3rem;\n}\n.h-14 {\n height: 3.5rem;\n}\n.h-16 {\n height: 4rem;\n}\n.h-2 {\n height: 0.5rem;\n}\n.h-20 {\n height: 5rem;\n}\n.h-24 {\n height: 6rem;\n}\n.h-3 {\n height: 0.75rem;\n}\n.h-3\\.5 {\n height: 0.875rem;\n}\n.h-32 {\n height: 8rem;\n}\n.h-4 {\n height: 1rem;\n}\n.h-5 {\n height: 1.25rem;\n}\n.h-6 {\n height: 1.5rem;\n}\n.h-7 {\n height: 1.75rem;\n}\n.h-8 {\n height: 2rem;\n}\n.h-9 {\n height: 2.25rem;\n}\n.h-96 {\n height: 24rem;\n}\n.h-\\[0\\.5px\\] {\n height: 0.5px;\n}\n.h-\\[1px\\] {\n height: 1px;\n}\n.h-\\[2px\\] {\n height: 2px;\n}\n.h-\\[65\\%\\] {\n height: 65%;\n}\n.h-\\[var\\(--radix-select-trigger-height\\)\\] {\n height: var(--radix-select-trigger-height);\n}\n.h-auto {\n height: auto;\n}\n.h-fit {\n height: -moz-fit-content;\n height: fit-content;\n}\n.h-full {\n height: 100%;\n}\n.h-px {\n height: 1px;\n}\n.max-h-96 {\n max-height: 24rem;\n}\n.max-h-\\[95vh\\] {\n max-height: 95vh;\n}\n.max-h-screen {\n max-height: 100vh;\n}\n.min-h-\\[200px\\] {\n min-height: 200px;\n}\n.min-h-\\[80px\\] {\n min-height: 80px;\n}\n.w-0 {\n width: 0px;\n}\n.w-0\\.5 {\n width: 0.125rem;\n}\n.w-1 {\n width: 0.25rem;\n}\n.w-1\\/4 {\n width: 25%;\n}\n.w-10 {\n width: 2.5rem;\n}\n.w-11 {\n width: 2.75rem;\n}\n.w-12 {\n width: 3rem;\n}\n.w-14 {\n width: 3.5rem;\n}\n.w-16 {\n width: 4rem;\n}\n.w-2 {\n width: 0.5rem;\n}\n.w-20 {\n width: 5rem;\n}\n.w-3 {\n width: 0.75rem;\n}\n.w-3\\.5 {\n width: 0.875rem;\n}\n.w-4 {\n width: 1rem;\n}\n.w-48 {\n width: 12rem;\n}\n.w-5 {\n width: 1.25rem;\n}\n.w-56 {\n width: 14rem;\n}\n.w-6 {\n width: 1.5rem;\n}\n.w-64 {\n width: 16rem;\n}\n.w-72 {\n width: 18rem;\n}\n.w-8 {\n width: 2rem;\n}\n.w-80 {\n width: 20rem;\n}\n.w-96 {\n width: 24rem;\n}\n.w-\\[0\\.5px\\] {\n width: 0.5px;\n}\n.w-\\[100px\\] {\n width: 100px;\n}\n.w-\\[1px\\] {\n width: 1px;\n}\n.w-\\[2px\\] {\n width: 2px;\n}\n.w-\\[65\\%\\] {\n width: 65%;\n}\n.w-\\[70px\\] {\n width: 70px;\n}\n.w-auto {\n width: auto;\n}\n.w-fit {\n width: -moz-fit-content;\n width: fit-content;\n}\n.w-full {\n width: 100%;\n}\n.w-px {\n width: 1px;\n}\n.min-w-0 {\n min-width: 0px;\n}\n.min-w-\\[70px\\] {\n min-width: 70px;\n}\n.min-w-\\[8rem\\] {\n min-width: 8rem;\n}\n.min-w-\\[var\\(--radix-select-trigger-width\\)\\] {\n min-width: var(--radix-select-trigger-width);\n}\n.max-w-2xl {\n max-width: 42rem;\n}\n.max-w-4xl {\n max-width: 56rem;\n}\n.max-w-\\[95vw\\] {\n max-width: 95vw;\n}\n.max-w-full {\n max-width: 100%;\n}\n.max-w-lg {\n max-width: 32rem;\n}\n.max-w-md {\n max-width: 28rem;\n}\n.max-w-none {\n max-width: none;\n}\n.max-w-sm {\n max-width: 24rem;\n}\n.max-w-xs {\n max-width: 20rem;\n}\n.flex-1 {\n flex: 1 1 0%;\n}\n.flex-shrink-0 {\n flex-shrink: 0;\n}\n.shrink-0 {\n flex-shrink: 0;\n}\n.grow {\n flex-grow: 1;\n}\n.translate-x-\\[-50\\%\\] {\n --tw-translate-x: -50%;\n 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));\n}\n.translate-y-0 {\n --tw-translate-y: 0px;\n 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));\n}\n.translate-y-\\[-50\\%\\] {\n --tw-translate-y: -50%;\n 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));\n}\n.rotate-2 {\n --tw-rotate: 2deg;\n 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));\n}\n.rotate-\\[-15deg\\] {\n --tw-rotate: -15deg;\n 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));\n}\n.rotate-\\[15deg\\] {\n --tw-rotate: 15deg;\n 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));\n}\n.scale-105 {\n --tw-scale-x: 1.05;\n --tw-scale-y: 1.05;\n 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));\n}\n.scale-95 {\n --tw-scale-x: .95;\n --tw-scale-y: .95;\n 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));\n}\n.transform {\n 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));\n}\n@keyframes pulse {\n 50% {\n opacity: .5;\n }\n}\n.animate-pulse {\n animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n.animate-spin {\n animation: spin 1s linear infinite;\n}\n.cursor-default {\n cursor: default;\n}\n.cursor-grab {\n cursor: grab;\n}\n.cursor-grabbing {\n cursor: grabbing;\n}\n.cursor-help {\n cursor: help;\n}\n.cursor-move {\n cursor: move;\n}\n.cursor-not-allowed {\n cursor: not-allowed;\n}\n.cursor-pointer {\n cursor: pointer;\n}\n.cursor-text {\n cursor: text;\n}\n.cursor-wait {\n cursor: wait;\n}\n.touch-none {\n touch-action: none;\n}\n.select-none {\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n.resize-none {\n resize: none;\n}\n.resize {\n resize: both;\n}\n.grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n.grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n.grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n}\n.grid-cols-6 {\n grid-template-columns: repeat(6, minmax(0, 1fr));\n}\n.grid-cols-7 {\n grid-template-columns: repeat(7, minmax(0, 1fr));\n}\n.flex-row {\n flex-direction: row;\n}\n.flex-col {\n flex-direction: column;\n}\n.flex-col-reverse {\n flex-direction: column-reverse;\n}\n.flex-wrap {\n flex-wrap: wrap;\n}\n.items-start {\n align-items: flex-start;\n}\n.items-center {\n align-items: center;\n}\n.justify-start {\n justify-content: flex-start;\n}\n.justify-end {\n justify-content: flex-end;\n}\n.justify-center {\n justify-content: center;\n}\n.justify-between {\n justify-content: space-between;\n}\n.gap-1 {\n gap: 0.25rem;\n}\n.gap-1\\.5 {\n gap: 0.375rem;\n}\n.gap-2 {\n gap: 0.5rem;\n}\n.gap-3 {\n gap: 0.75rem;\n}\n.gap-4 {\n gap: 1rem;\n}\n.gap-6 {\n gap: 1.5rem;\n}\n.gap-8 {\n gap: 2rem;\n}\n.space-x-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.25rem * var(--tw-space-x-reverse));\n margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));\n}\n.space-x-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.5rem * var(--tw-space-x-reverse));\n margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));\n}\n.space-x-6 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(1.5rem * var(--tw-space-x-reverse));\n margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse)));\n}\n.space-y-0 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0px * var(--tw-space-y-reverse));\n}\n.space-y-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));\n}\n.space-y-1\\.5 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));\n}\n.space-y-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));\n}\n.space-y-3 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));\n}\n.space-y-4 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(1rem * var(--tw-space-y-reverse));\n}\n.space-y-6 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));\n}\n.overflow-auto {\n overflow: auto;\n}\n.overflow-hidden {\n overflow: hidden;\n}\n.overflow-x-auto {\n overflow-x: auto;\n}\n.truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.whitespace-nowrap {\n white-space: nowrap;\n}\n.rounded {\n border-radius: 0.25rem;\n}\n.rounded-2xl {\n border-radius: 1rem;\n}\n.rounded-3xl {\n border-radius: 1.5rem;\n}\n.rounded-\\[inherit\\] {\n border-radius: inherit;\n}\n.rounded-\\[var\\(--login-border-radius\\)\\] {\n border-radius: var(--login-border-radius);\n}\n.rounded-full {\n border-radius: 9999px;\n}\n.rounded-lg {\n border-radius: var(--radius);\n}\n.rounded-md {\n border-radius: calc(var(--radius) - 2px);\n}\n.rounded-none {\n border-radius: 0px;\n}\n.rounded-sm {\n border-radius: calc(var(--radius) - 4px);\n}\n.rounded-xl {\n border-radius: 0.75rem;\n}\n.border {\n border-width: 1px;\n}\n.border-2 {\n border-width: 2px;\n}\n.border-b {\n border-bottom-width: 1px;\n}\n.border-b-2 {\n border-bottom-width: 2px;\n}\n.border-l {\n border-left-width: 1px;\n}\n.border-l-0 {\n border-left-width: 0px;\n}\n.border-l-2 {\n border-left-width: 2px;\n}\n.border-l-4 {\n border-left-width: 4px;\n}\n.border-l-\\[0\\.5px\\] {\n border-left-width: 0.5px;\n}\n.border-r-0 {\n border-right-width: 0px;\n}\n.border-t {\n border-top-width: 1px;\n}\n.border-t-0 {\n border-top-width: 0px;\n}\n.border-t-2 {\n border-top-width: 2px;\n}\n.border-t-\\[0\\.5px\\] {\n border-top-width: 0.5px;\n}\n.border-dashed {\n border-style: dashed;\n}\n.border-dotted {\n border-style: dotted;\n}\n.border-none {\n border-style: none;\n}\n.border-accent {\n --tw-border-opacity: 1;\n border-color: hsl(var(--accent) / var(--tw-border-opacity, 1));\n}\n.border-blue-200 {\n --tw-border-opacity: 1;\n border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));\n}\n.border-blue-500 {\n --tw-border-opacity: 1;\n border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));\n}\n.border-blue-600 {\n --tw-border-opacity: 1;\n border-color: rgb(37 99 235 / var(--tw-border-opacity, 1));\n}\n.border-border {\n --tw-border-opacity: 1;\n border-color: hsl(var(--border) / var(--tw-border-opacity, 1));\n}\n.border-border\\/50 {\n border-color: hsl(var(--border) / 0.5);\n}\n.border-destructive {\n --tw-border-opacity: 1;\n border-color: hsl(var(--destructive) / var(--tw-border-opacity, 1));\n}\n.border-error {\n --tw-border-opacity: 1;\n border-color: hsl(var(--error) / var(--tw-border-opacity, 1));\n}\n.border-error\\/20 {\n border-color: hsl(var(--error) / 0.2);\n}\n.border-foreground {\n --tw-border-opacity: 1;\n border-color: hsl(var(--foreground) / var(--tw-border-opacity, 1));\n}\n.border-gray-200 {\n --tw-border-opacity: 1;\n border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));\n}\n.border-gray-300 {\n --tw-border-opacity: 1;\n border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));\n}\n.border-gray-400 {\n --tw-border-opacity: 1;\n border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));\n}\n.border-green-200 {\n --tw-border-opacity: 1;\n border-color: rgb(187 247 208 / var(--tw-border-opacity, 1));\n}\n.border-green-500 {\n --tw-border-opacity: 1;\n border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));\n}\n.border-green-600 {\n --tw-border-opacity: 1;\n border-color: rgb(22 163 74 / var(--tw-border-opacity, 1));\n}\n.border-input {\n --tw-border-opacity: 1;\n border-color: hsl(var(--input) / var(--tw-border-opacity, 1));\n}\n.border-muted {\n --tw-border-opacity: 1;\n border-color: hsl(var(--muted) / var(--tw-border-opacity, 1));\n}\n.border-muted-foreground\\/25 {\n border-color: hsl(var(--muted-foreground) / 0.25);\n}\n.border-orange-200 {\n --tw-border-opacity: 1;\n border-color: rgb(254 215 170 / var(--tw-border-opacity, 1));\n}\n.border-primary {\n --tw-border-opacity: 1;\n border-color: hsl(var(--primary) / var(--tw-border-opacity, 1));\n}\n.border-primary\\/20 {\n border-color: hsl(var(--primary) / 0.2);\n}\n.border-primary\\/50 {\n border-color: hsl(var(--primary) / 0.5);\n}\n.border-red-200 {\n --tw-border-opacity: 1;\n border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));\n}\n.border-red-500 {\n --tw-border-opacity: 1;\n border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));\n}\n.border-secondary {\n --tw-border-opacity: 1;\n border-color: hsl(var(--secondary) / var(--tw-border-opacity, 1));\n}\n.border-success {\n --tw-border-opacity: 1;\n border-color: hsl(var(--success) / var(--tw-border-opacity, 1));\n}\n.border-success\\/40 {\n border-color: hsl(var(--success) / 0.4);\n}\n.border-transparent {\n border-color: transparent;\n}\n.border-warning {\n --tw-border-opacity: 1;\n border-color: hsl(var(--warning) / var(--tw-border-opacity, 1));\n}\n.border-white\\/20 {\n border-color: rgb(255 255 255 / 0.2);\n}\n.border-yellow-200 {\n --tw-border-opacity: 1;\n border-color: rgb(254 240 138 / var(--tw-border-opacity, 1));\n}\n.border-yellow-500 {\n --tw-border-opacity: 1;\n border-color: rgb(234 179 8 / var(--tw-border-opacity, 1));\n}\n.border-yellow-600 {\n --tw-border-opacity: 1;\n border-color: rgb(202 138 4 / var(--tw-border-opacity, 1));\n}\n.border-t-primary {\n --tw-border-opacity: 1;\n border-top-color: hsl(var(--primary) / var(--tw-border-opacity, 1));\n}\n.bg-\\[var\\(--login-background\\)\\] {\n background-color: var(--login-background);\n}\n.bg-\\[var\\(--login-primary\\)\\] {\n background-color: var(--login-primary);\n}\n.bg-accent {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--accent) / var(--tw-bg-opacity, 1));\n}\n.bg-accent\\/20 {\n background-color: hsl(var(--accent) / 0.2);\n}\n.bg-background {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--background) / var(--tw-bg-opacity, 1));\n}\n.bg-background\\/80 {\n background-color: hsl(var(--background) / 0.8);\n}\n.bg-background\\/90 {\n background-color: hsl(var(--background) / 0.9);\n}\n.bg-black\\/20 {\n background-color: rgb(0 0 0 / 0.2);\n}\n.bg-black\\/40 {\n background-color: rgb(0 0 0 / 0.4);\n}\n.bg-black\\/60 {\n background-color: rgb(0 0 0 / 0.6);\n}\n.bg-black\\/80 {\n background-color: rgb(0 0 0 / 0.8);\n}\n.bg-blue-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));\n}\n.bg-blue-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));\n}\n.bg-border {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--border) / var(--tw-bg-opacity, 1));\n}\n.bg-card {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--card) / var(--tw-bg-opacity, 1));\n}\n.bg-destructive {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--destructive) / var(--tw-bg-opacity, 1));\n}\n.bg-destructive\\/5 {\n background-color: hsl(var(--destructive) / 0.05);\n}\n.bg-error {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--error) / var(--tw-bg-opacity, 1));\n}\n.bg-error\\/20 {\n background-color: hsl(var(--error) / 0.2);\n}\n.bg-foreground {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--foreground) / var(--tw-bg-opacity, 1));\n}\n.bg-gray-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));\n}\n.bg-gray-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));\n}\n.bg-gray-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));\n}\n.bg-green-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));\n}\n.bg-green-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));\n}\n.bg-green-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));\n}\n.bg-green-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));\n}\n.bg-muted {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--muted) / var(--tw-bg-opacity, 1));\n}\n.bg-muted\\/20 {\n background-color: hsl(var(--muted) / 0.2);\n}\n.bg-muted\\/50 {\n background-color: hsl(var(--muted) / 0.5);\n}\n.bg-muted\\/80 {\n background-color: hsl(var(--muted) / 0.8);\n}\n.bg-orange-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));\n}\n.bg-orange-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1));\n}\n.bg-orange-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(249 115 22 / var(--tw-bg-opacity, 1));\n}\n.bg-popover {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--popover) / var(--tw-bg-opacity, 1));\n}\n.bg-primary {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--primary) / var(--tw-bg-opacity, 1));\n}\n.bg-primary-foreground {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--primary-foreground) / var(--tw-bg-opacity, 1));\n}\n.bg-primary\\/10 {\n background-color: hsl(var(--primary) / 0.1);\n}\n.bg-primary\\/20 {\n background-color: hsl(var(--primary) / 0.2);\n}\n.bg-primary\\/30 {\n background-color: hsl(var(--primary) / 0.3);\n}\n.bg-primary\\/5 {\n background-color: hsl(var(--primary) / 0.05);\n}\n.bg-purple-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));\n}\n.bg-purple-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(168 85 247 / var(--tw-bg-opacity, 1));\n}\n.bg-red-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));\n}\n.bg-red-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));\n}\n.bg-red-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));\n}\n.bg-secondary {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--secondary) / var(--tw-bg-opacity, 1));\n}\n.bg-secondary-foreground {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--secondary-foreground) / var(--tw-bg-opacity, 1));\n}\n.bg-secondary\\/20 {\n background-color: hsl(var(--secondary) / 0.2);\n}\n.bg-success {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--success) / var(--tw-bg-opacity, 1));\n}\n.bg-success\\/20 {\n background-color: hsl(var(--success) / 0.2);\n}\n.bg-transparent {\n background-color: transparent;\n}\n.bg-warning {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--warning) / var(--tw-bg-opacity, 1));\n}\n.bg-warning\\/20 {\n background-color: hsl(var(--warning) / 0.2);\n}\n.bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n}\n.bg-white\\/10 {\n background-color: rgb(255 255 255 / 0.1);\n}\n.bg-yellow-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));\n}\n.bg-yellow-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(234 179 8 / var(--tw-bg-opacity, 1));\n}\n.bg-opacity-80 {\n --tw-bg-opacity: 0.8;\n}\n.bg-gradient-to-br {\n background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));\n}\n.bg-gradient-to-r {\n background-image: linear-gradient(to right, var(--tw-gradient-stops));\n}\n.from-blue-600 {\n --tw-gradient-from: #2563eb var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-primary\\/5 {\n --tw-gradient-from: hsl(var(--primary) / 0.05) var(--tw-gradient-from-position);\n --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-purple-600 {\n --tw-gradient-from: #9333ea var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(147 51 234 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-transparent {\n --tw-gradient-from: transparent var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-white\\/20 {\n --tw-gradient-from: rgb(255 255 255 / 0.2) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-white\\/5 {\n --tw-gradient-from: rgb(255 255 255 / 0.05) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.via-border {\n --tw-gradient-to: hsl(var(--border) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops:\n var(--tw-gradient-from),\n hsl(var(--border) / 1) var(--tw-gradient-via-position),\n var(--tw-gradient-to);\n}\n.via-transparent {\n --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops:\n var(--tw-gradient-from),\n transparent var(--tw-gradient-via-position),\n var(--tw-gradient-to);\n}\n.to-black\\/5 {\n --tw-gradient-to: rgb(0 0 0 / 0.05) var(--tw-gradient-to-position);\n}\n.to-pink-600 {\n --tw-gradient-to: #db2777 var(--tw-gradient-to-position);\n}\n.to-primary\\/10 {\n --tw-gradient-to: hsl(var(--primary) / 0.1) var(--tw-gradient-to-position);\n}\n.to-purple-600 {\n --tw-gradient-to: #9333ea var(--tw-gradient-to-position);\n}\n.to-transparent {\n --tw-gradient-to: transparent var(--tw-gradient-to-position);\n}\n.to-white\\/0 {\n --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);\n}\n.fill-current {\n fill: currentColor;\n}\n.p-0 {\n padding: 0px;\n}\n.p-1 {\n padding: 0.25rem;\n}\n.p-1\\.5 {\n padding: 0.375rem;\n}\n.p-10 {\n padding: 2.5rem;\n}\n.p-2 {\n padding: 0.5rem;\n}\n.p-3 {\n padding: 0.75rem;\n}\n.p-4 {\n padding: 1rem;\n}\n.p-5 {\n padding: 1.25rem;\n}\n.p-6 {\n padding: 1.5rem;\n}\n.p-7 {\n padding: 1.75rem;\n}\n.p-8 {\n padding: 2rem;\n}\n.px-0 {\n padding-left: 0px;\n padding-right: 0px;\n}\n.px-1 {\n padding-left: 0.25rem;\n padding-right: 0.25rem;\n}\n.px-2 {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n}\n.px-2\\.5 {\n padding-left: 0.625rem;\n padding-right: 0.625rem;\n}\n.px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n}\n.px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n.px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n}\n.px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n}\n.py-0 {\n padding-top: 0px;\n padding-bottom: 0px;\n}\n.py-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n}\n.py-1\\.5 {\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n}\n.py-12 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n}\n.py-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n.py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n.py-6 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n}\n.py-8 {\n padding-top: 2rem;\n padding-bottom: 2rem;\n}\n.pb-2 {\n padding-bottom: 0.5rem;\n}\n.pb-3 {\n padding-bottom: 0.75rem;\n}\n.pb-4 {\n padding-bottom: 1rem;\n}\n.pb-8 {\n padding-bottom: 2rem;\n}\n.pl-10 {\n padding-left: 2.5rem;\n}\n.pl-2 {\n padding-left: 0.5rem;\n}\n.pl-7 {\n padding-left: 1.75rem;\n}\n.pl-8 {\n padding-left: 2rem;\n}\n.pl-9 {\n padding-left: 2.25rem;\n}\n.pr-10 {\n padding-right: 2.5rem;\n}\n.pr-2 {\n padding-right: 0.5rem;\n}\n.pr-3 {\n padding-right: 0.75rem;\n}\n.pr-8 {\n padding-right: 2rem;\n}\n.pt-0 {\n padding-top: 0px;\n}\n.pt-3 {\n padding-top: 0.75rem;\n}\n.pt-4 {\n padding-top: 1rem;\n}\n.text-left {\n text-align: left;\n}\n.text-center {\n text-align: center;\n}\n.align-middle {\n vertical-align: middle;\n}\n.font-mono {\n font-family: var(--font-mono);\n}\n.text-2xl {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n.text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n.text-lg {\n font-size: 1.125rem;\n line-height: 1.75rem;\n}\n.text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n}\n.text-xl {\n font-size: 1.25rem;\n line-height: 1.75rem;\n}\n.text-xs {\n font-size: 0.75rem;\n line-height: 1rem;\n}\n.font-bold {\n font-weight: 700;\n}\n.font-medium {\n font-weight: 500;\n}\n.font-normal {\n font-weight: 400;\n}\n.font-semibold {\n font-weight: 600;\n}\n.capitalize {\n text-transform: capitalize;\n}\n.italic {\n font-style: italic;\n}\n.leading-none {\n line-height: 1;\n}\n.leading-normal {\n line-height: 1.5;\n}\n.leading-snug {\n line-height: 1.375;\n}\n.tracking-tight {\n letter-spacing: -0.025em;\n}\n.tracking-widest {\n letter-spacing: 0.1em;\n}\n.text-\\[var\\(--login-primary\\)\\] {\n color: var(--login-primary);\n}\n.text-\\[var\\(--login-text\\)\\] {\n color: var(--login-text);\n}\n.text-blue-600 {\n --tw-text-opacity: 1;\n color: rgb(37 99 235 / var(--tw-text-opacity, 1));\n}\n.text-blue-700 {\n --tw-text-opacity: 1;\n color: rgb(29 78 216 / var(--tw-text-opacity, 1));\n}\n.text-blue-900 {\n --tw-text-opacity: 1;\n color: rgb(30 58 138 / var(--tw-text-opacity, 1));\n}\n.text-card-foreground {\n --tw-text-opacity: 1;\n color: hsl(var(--card-foreground) / var(--tw-text-opacity, 1));\n}\n.text-current {\n color: currentColor;\n}\n.text-destructive {\n --tw-text-opacity: 1;\n color: hsl(var(--destructive) / var(--tw-text-opacity, 1));\n}\n.text-destructive-foreground {\n --tw-text-opacity: 1;\n color: hsl(var(--destructive-foreground) / var(--tw-text-opacity, 1));\n}\n.text-error {\n --tw-text-opacity: 1;\n color: hsl(var(--error) / var(--tw-text-opacity, 1));\n}\n.text-foreground {\n --tw-text-opacity: 1;\n color: hsl(var(--foreground) / var(--tw-text-opacity, 1));\n}\n.text-foreground\\/50 {\n color: hsl(var(--foreground) / 0.5);\n}\n.text-gray-500 {\n --tw-text-opacity: 1;\n color: rgb(107 114 128 / var(--tw-text-opacity, 1));\n}\n.text-gray-600 {\n --tw-text-opacity: 1;\n color: rgb(75 85 99 / var(--tw-text-opacity, 1));\n}\n.text-gray-700 {\n --tw-text-opacity: 1;\n color: rgb(55 65 81 / var(--tw-text-opacity, 1));\n}\n.text-gray-900 {\n --tw-text-opacity: 1;\n color: rgb(17 24 39 / var(--tw-text-opacity, 1));\n}\n.text-green-500 {\n --tw-text-opacity: 1;\n color: rgb(34 197 94 / var(--tw-text-opacity, 1));\n}\n.text-green-600 {\n --tw-text-opacity: 1;\n color: rgb(22 163 74 / var(--tw-text-opacity, 1));\n}\n.text-green-700 {\n --tw-text-opacity: 1;\n color: rgb(21 128 61 / var(--tw-text-opacity, 1));\n}\n.text-green-800 {\n --tw-text-opacity: 1;\n color: rgb(22 101 52 / var(--tw-text-opacity, 1));\n}\n.text-green-900 {\n --tw-text-opacity: 1;\n color: rgb(20 83 45 / var(--tw-text-opacity, 1));\n}\n.text-muted-foreground {\n --tw-text-opacity: 1;\n color: hsl(var(--muted-foreground) / var(--tw-text-opacity, 1));\n}\n.text-orange-800 {\n --tw-text-opacity: 1;\n color: rgb(154 52 18 / var(--tw-text-opacity, 1));\n}\n.text-orange-900 {\n --tw-text-opacity: 1;\n color: rgb(124 45 18 / var(--tw-text-opacity, 1));\n}\n.text-popover-foreground {\n --tw-text-opacity: 1;\n color: hsl(var(--popover-foreground) / var(--tw-text-opacity, 1));\n}\n.text-primary {\n --tw-text-opacity: 1;\n color: hsl(var(--primary) / var(--tw-text-opacity, 1));\n}\n.text-primary-foreground {\n --tw-text-opacity: 1;\n color: hsl(var(--primary-foreground) / var(--tw-text-opacity, 1));\n}\n.text-purple-600 {\n --tw-text-opacity: 1;\n color: rgb(147 51 234 / var(--tw-text-opacity, 1));\n}\n.text-red-500 {\n --tw-text-opacity: 1;\n color: rgb(239 68 68 / var(--tw-text-opacity, 1));\n}\n.text-red-600 {\n --tw-text-opacity: 1;\n color: rgb(220 38 38 / var(--tw-text-opacity, 1));\n}\n.text-red-700 {\n --tw-text-opacity: 1;\n color: rgb(185 28 28 / var(--tw-text-opacity, 1));\n}\n.text-red-800 {\n --tw-text-opacity: 1;\n color: rgb(153 27 27 / var(--tw-text-opacity, 1));\n}\n.text-secondary-foreground {\n --tw-text-opacity: 1;\n color: hsl(var(--secondary-foreground) / var(--tw-text-opacity, 1));\n}\n.text-success {\n --tw-text-opacity: 1;\n color: hsl(var(--success) / var(--tw-text-opacity, 1));\n}\n.text-warning {\n --tw-text-opacity: 1;\n color: hsl(var(--warning) / var(--tw-text-opacity, 1));\n}\n.text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n}\n.text-white\\/80 {\n color: rgb(255 255 255 / 0.8);\n}\n.text-yellow-600 {\n --tw-text-opacity: 1;\n color: rgb(202 138 4 / var(--tw-text-opacity, 1));\n}\n.text-yellow-700 {\n --tw-text-opacity: 1;\n color: rgb(161 98 7 / var(--tw-text-opacity, 1));\n}\n.text-yellow-800 {\n --tw-text-opacity: 1;\n color: rgb(133 77 14 / var(--tw-text-opacity, 1));\n}\n.underline {\n text-decoration-line: underline;\n}\n.underline-offset-4 {\n text-underline-offset: 4px;\n}\n.opacity-0 {\n opacity: 0;\n}\n.opacity-30 {\n opacity: 0.3;\n}\n.opacity-50 {\n opacity: 0.5;\n}\n.opacity-60 {\n opacity: 0.6;\n}\n.opacity-70 {\n opacity: 0.7;\n}\n.opacity-80 {\n opacity: 0.8;\n}\n.opacity-90 {\n opacity: 0.9;\n}\n.shadow {\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.shadow-lg {\n --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.shadow-md {\n --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.shadow-none {\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.shadow-sm {\n --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.shadow-xl {\n --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.shadow-primary\\/50 {\n --tw-shadow-color: hsl(var(--primary) / 0.5);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.shadow-purple-500\\/25 {\n --tw-shadow-color: rgb(168 85 247 / 0.25);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.outline-none {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.outline {\n outline-style: solid;\n}\n.ring {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow:\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow, 0 0 #0000);\n}\n.ring-0 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow:\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow, 0 0 #0000);\n}\n.ring-2 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow:\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow, 0 0 #0000);\n}\n.ring-gray-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity, 1));\n}\n.ring-offset-2 {\n --tw-ring-offset-width: 2px;\n}\n.ring-offset-background {\n --tw-ring-offset-color: hsl(var(--background) / 1);\n}\n.blur {\n --tw-blur: blur(8px);\n 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);\n}\n.blur-md {\n --tw-blur: blur(12px);\n 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);\n}\n.blur-xl {\n --tw-blur: blur(24px);\n 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);\n}\n.filter {\n 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);\n}\n.backdrop-blur-md {\n --tw-backdrop-blur: blur(12px);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n.backdrop-blur-sm {\n --tw-backdrop-blur: blur(4px);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n.transition {\n transition-property:\n color,\n background-color,\n border-color,\n text-decoration-color,\n fill,\n stroke,\n opacity,\n box-shadow,\n transform,\n filter,\n -webkit-backdrop-filter;\n transition-property:\n color,\n background-color,\n border-color,\n text-decoration-color,\n fill,\n stroke,\n opacity,\n box-shadow,\n transform,\n filter,\n backdrop-filter;\n transition-property:\n color,\n background-color,\n border-color,\n text-decoration-color,\n fill,\n stroke,\n opacity,\n box-shadow,\n transform,\n filter,\n backdrop-filter,\n -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.transition-all {\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.transition-colors {\n transition-property:\n color,\n background-color,\n border-color,\n text-decoration-color,\n fill,\n stroke;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.transition-opacity {\n transition-property: opacity;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.transition-shadow {\n transition-property: box-shadow;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.transition-transform {\n transition-property: transform;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.duration-100 {\n transition-duration: 100ms;\n}\n.duration-200 {\n transition-duration: 200ms;\n}\n.duration-300 {\n transition-duration: 300ms;\n}\n.ease-out {\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n}\n.shadow-sm {\n box-shadow: var(--shadow-sm);\n}\n.shadow-md {\n box-shadow: var(--shadow-md);\n}\n.shadow-lg {\n box-shadow: var(--shadow-lg);\n}\n.shadow-xl {\n box-shadow: var(--shadow-xl);\n}\n.animate-spin {\n animation: spin 1s linear infinite;\n}\n.animate-pulse {\n animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n}\n.transition-all {\n transition-property: all;\n}\n.transition-colors {\n transition-property:\n color,\n background-color,\n border-color,\n text-decoration-color,\n fill,\n stroke;\n}\n.transition-opacity {\n transition-property: opacity;\n}\n.transition-shadow {\n transition-property: box-shadow;\n}\n.transition-transform {\n transition-property: transform;\n}\n.ease-out {\n transition-timing-function: var(--ease-out);\n}\n:root {\n --primary-50: 240 249 255;\n --primary-100: 224 242 254;\n --primary-200: 186 230 253;\n --primary-300: 125 211 252;\n --primary-400: 56 189 248;\n --primary-500: 14 165 233;\n --primary-600: 2 132 199;\n --primary-700: 3 105 161;\n --primary-800: 7 89 133;\n --primary-900: 12 74 110;\n --primary-950: 8 47 73;\n --secondary-50: 248 250 252;\n --secondary-100: 241 245 249;\n --secondary-200: 226 232 240;\n --secondary-300: 203 213 225;\n --secondary-400: 148 163 184;\n --secondary-500: 100 116 139;\n --secondary-600: 71 85 105;\n --secondary-700: 51 65 85;\n --secondary-800: 30 41 59;\n --secondary-900: 15 23 42;\n --secondary-950: 2 6 23;\n --success-50: 240 253 244;\n --success-100: 220 252 231;\n --success-200: 187 247 208;\n --success-300: 134 239 172;\n --success-400: 74 222 128;\n --success-500: 34 197 94;\n --success-600: 22 163 74;\n --success-700: 21 128 61;\n --success-800: 22 101 52;\n --success-900: 20 83 45;\n --success-950: 5 46 22;\n --warning-50: 254 252 232;\n --warning-100: 254 249 195;\n --warning-200: 254 240 138;\n --warning-300: 253 224 71;\n --warning-400: 250 204 21;\n --warning-500: 234 179 8;\n --warning-600: 202 138 4;\n --warning-700: 161 98 7;\n --warning-800: 133 77 14;\n --warning-900: 113 63 18;\n --warning-950: 66 32 6;\n --error-50: 254 242 242;\n --error-100: 254 226 226;\n --error-200: 254 202 202;\n --error-300: 252 165 165;\n --error-400: 248 113 113;\n --error-500: 239 68 68;\n --error-600: 220 38 38;\n --error-700: 185 28 28;\n --error-800: 153 27 27;\n --error-900: 127 29 29;\n --error-950: 69 10 10;\n --background: 0 0% 100%;\n --foreground: 222.2 47.4% 11.2%;\n --card: 0 0% 100%;\n --card-foreground: 222.2 47.4% 11.2%;\n --popover: 0 0% 100%;\n --popover-foreground: 222.2 47.4% 11.2%;\n --primary: 222.2 47.4% 11.2%;\n --primary-foreground: 210 40% 98%;\n --secondary: 210 40% 96%;\n --secondary-foreground: 222.2 47.4% 11.2%;\n --muted: 210 40% 96%;\n --muted-foreground: 215.4 16.3% 46.9%;\n --accent: 210 40% 96%;\n --accent-foreground: 222.2 47.4% 11.2%;\n --destructive: 0 100% 50%;\n --destructive-foreground: 210 40% 98%;\n --border: 214.3 31.8% 91.4%;\n --input: 214.3 31.8% 91.4%;\n --ring: 215 20.2% 65.1%;\n --chart-1: 12 76% 61%;\n --chart-2: 173 58% 39%;\n --chart-3: 197 37% 24%;\n --chart-4: 43 74% 66%;\n --chart-5: 27 87% 67%;\n --font-sans:\n "Inter",\n -apple-system,\n BlinkMacSystemFont,\n "Segoe UI",\n Roboto,\n "Helvetica Neue",\n Arial,\n sans-serif;\n --font-serif:\n "Crimson Text",\n Georgia,\n "Times New Roman",\n serif;\n --font-mono:\n "JetBrains Mono",\n "Fira Code",\n "Consolas",\n monospace;\n --text-xs: 0.75rem;\n --text-sm: 0.875rem;\n --text-base: 1rem;\n --text-lg: 1.125rem;\n --text-xl: 1.25rem;\n --text-2xl: 1.5rem;\n --text-3xl: 1.875rem;\n --text-4xl: 2.25rem;\n --text-5xl: 3rem;\n --text-6xl: 3.75rem;\n --text-7xl: 4.5rem;\n --text-8xl: 6rem;\n --text-9xl: 8rem;\n --leading-none: 1;\n --leading-tight: 1.25;\n --leading-snug: 1.375;\n --leading-normal: 1.5;\n --leading-relaxed: 1.625;\n --leading-loose: 2;\n --font-thin: 100;\n --font-extralight: 200;\n --font-light: 300;\n --font-normal: 400;\n --font-medium: 500;\n --font-semibold: 600;\n --font-bold: 700;\n --font-extrabold: 800;\n --font-black: 900;\n --spacing-0: 0;\n --spacing-px: 1px;\n --spacing-0-5: 0.125rem;\n --spacing-1: 0.25rem;\n --spacing-1-5: 0.375rem;\n --spacing-2: 0.5rem;\n --spacing-2-5: 0.625rem;\n --spacing-3: 0.75rem;\n --spacing-3-5: 0.875rem;\n --spacing-4: 1rem;\n --spacing-5: 1.25rem;\n --spacing-6: 1.5rem;\n --spacing-7: 1.75rem;\n --spacing-8: 2rem;\n --spacing-9: 2.25rem;\n --spacing-10: 2.5rem;\n --spacing-11: 2.75rem;\n --spacing-12: 3rem;\n --spacing-14: 3.5rem;\n --spacing-16: 4rem;\n --spacing-20: 5rem;\n --spacing-24: 6rem;\n --spacing-28: 7rem;\n --spacing-32: 8rem;\n --spacing-36: 9rem;\n --spacing-40: 10rem;\n --spacing-44: 11rem;\n --spacing-48: 12rem;\n --spacing-52: 13rem;\n --spacing-56: 14rem;\n --spacing-60: 15rem;\n --spacing-64: 16rem;\n --spacing-72: 18rem;\n --spacing-80: 20rem;\n --spacing-96: 24rem;\n --radius-none: 0;\n --radius-sm: 0.125rem;\n --radius-base: 0.25rem;\n --radius-md: 0.375rem;\n --radius-lg: 0.5rem;\n --radius-xl: 0.75rem;\n --radius-2xl: 1rem;\n --radius-3xl: 1.5rem;\n --radius-full: 9999px;\n --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);\n --shadow-base: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);\n --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);\n --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);\n --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);\n --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);\n --shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);\n --shadow-none: 0 0 #0000;\n --elevation-0: var(--shadow-none);\n --elevation-1: var(--shadow-sm);\n --elevation-2: var(--shadow-base);\n --elevation-3: var(--shadow-md);\n --elevation-4: var(--shadow-lg);\n --elevation-5: var(--shadow-xl);\n --elevation-6: var(--shadow-2xl);\n --duration-75: 75ms;\n --duration-100: 100ms;\n --duration-150: 150ms;\n --duration-200: 200ms;\n --duration-300: 300ms;\n --duration-500: 500ms;\n --duration-700: 700ms;\n --duration-1000: 1000ms;\n --ease-linear: linear;\n --ease-in: cubic-bezier(0.4, 0, 1, 1);\n --ease-out: cubic-bezier(0, 0, 0.2, 1);\n --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);\n --ease-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);\n --ease-spring: cubic-bezier(0.175, 0.885, 0.32, 1.275);\n --animate-fade-in: fadeIn var(--duration-300) var(--ease-out);\n --animate-fade-out: fadeOut var(--duration-300) var(--ease-in);\n --animate-slide-in-up: slideInUp var(--duration-300) var(--ease-out);\n --animate-slide-in-down: slideInDown var(--duration-300) var(--ease-out);\n --animate-slide-in-left: slideInLeft var(--duration-300) var(--ease-out);\n --animate-slide-in-right: slideInRight var(--duration-300) var(--ease-out);\n --animate-scale-in: scaleIn var(--duration-200) var(--ease-out);\n --animate-scale-out: scaleOut var(--duration-200) var(--ease-in);\n --animate-bounce: bounce var(--duration-500) var(--ease-bounce);\n --animate-pulse: pulse var(--duration-1000) var(--ease-in-out) infinite;\n --animate-spin: spin var(--duration-1000) var(--ease-linear) infinite;\n --breakpoint-sm: 640px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 1024px;\n --breakpoint-xl: 1280px;\n --breakpoint-2xl: 1536px;\n --container-sm: 640px;\n --container-md: 768px;\n --container-lg: 1024px;\n --container-xl: 1280px;\n --container-2xl: 1536px;\n --z-0: 0;\n --z-10: 10;\n --z-20: 20;\n --z-30: 30;\n --z-40: 40;\n --z-50: 50;\n --z-auto: auto;\n --z-dropdown: 1000;\n --z-sticky: 1020;\n --z-fixed: 1030;\n --z-modal-backdrop: 1040;\n --z-modal: 1050;\n --z-popover: 1060;\n --z-tooltip: 1070;\n --z-toast: 1080;\n --button-height-sm: 2rem;\n --button-height-md: 2.5rem;\n --button-height-lg: 3rem;\n --button-height-xl: 3.5rem;\n --button-padding-sm: 0.5rem 0.75rem;\n --button-padding-md: 0.625rem 1rem;\n --button-padding-lg: 0.75rem 1.25rem;\n --button-padding-xl: 1rem 1.5rem;\n --button-font-size-sm: var(--text-sm);\n --button-font-size-md: var(--text-base);\n --button-font-size-lg: var(--text-lg);\n --button-font-size-xl: var(--text-xl);\n --input-height-sm: 2rem;\n --input-height-md: 2.5rem;\n --input-height-lg: 3rem;\n --input-height-xl: 3.5rem;\n --input-padding-sm: 0.5rem 0.75rem;\n --input-padding-md: 0.625rem 1rem;\n --input-padding-lg: 0.75rem 1.25rem;\n --input-padding-xl: 1rem 1.5rem;\n --input-border-width: 1px;\n --input-border-radius: var(--radius-md);\n --input-focus-ring-width: 2px;\n --input-focus-ring-offset: 2px;\n --card-padding-sm: 1rem;\n --card-padding-md: 1.5rem;\n --card-padding-lg: 2rem;\n --card-padding-xl: 2.5rem;\n --card-border-radius: var(--radius-lg);\n --card-border-width: 1px;\n --card-shadow: var(--elevation-1);\n --card-hover-shadow: var(--elevation-2);\n}\n.dark {\n --background: 224 71% 4%;\n --foreground: 213 31% 91%;\n --card: 224 71% 4%;\n --card-foreground: 213 31% 91%;\n --popover: 224 71% 4%;\n --popover-foreground: 213 31% 91%;\n --primary: 210 40% 98%;\n --primary-foreground: 222.2 47.4% 1.2%;\n --secondary: 222.2 84% 4.9%;\n --secondary-foreground: 210 40% 98%;\n --muted: 223 47% 11%;\n --muted-foreground: 215.4 16.3% 56.9%;\n --accent: 216 34% 17%;\n --accent-foreground: 210 40% 98%;\n --destructive: 0 63% 31%;\n --destructive-foreground: 210 40% 98%;\n --border: 216 34% 17%;\n --input: 216 34% 17%;\n --ring: 216 34% 17%;\n --chart-1: 220 70% 50%;\n --chart-2: 160 60% 45%;\n --chart-3: 30 80% 55%;\n --chart-4: 280 65% 60%;\n --chart-5: 340 75% 55%;\n}\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes fadeOut {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n}\n@keyframes slideInUp {\n from {\n transform: translateY(100%);\n opacity: 0;\n }\n to {\n transform: translateY(0);\n opacity: 1;\n }\n}\n@keyframes slideInDown {\n from {\n transform: translateY(-100%);\n opacity: 0;\n }\n to {\n transform: translateY(0);\n opacity: 1;\n }\n}\n@keyframes slideInLeft {\n from {\n transform: translateX(-100%);\n opacity: 0;\n }\n to {\n transform: translateX(0);\n opacity: 1;\n }\n}\n@keyframes slideInRight {\n from {\n transform: translateX(100%);\n opacity: 0;\n }\n to {\n transform: translateX(0);\n opacity: 1;\n }\n}\n@keyframes scaleIn {\n from {\n transform: scale(0.95);\n opacity: 0;\n }\n to {\n transform: scale(1);\n opacity: 1;\n }\n}\n@keyframes scaleOut {\n from {\n transform: scale(1);\n opacity: 1;\n }\n to {\n transform: scale(0.95);\n opacity: 0;\n }\n}\n@keyframes bounce {\n 0%, 20%, 53%, 80%, 100% {\n transform: translate3d(0, 0, 0);\n }\n 40%, 43% {\n transform: translate3d(0, -30px, 0);\n }\n 70% {\n transform: translate3d(0, -15px, 0);\n }\n 90% {\n transform: translate3d(0, -4px, 0);\n }\n}\n@keyframes pulse {\n 0%, 100% {\n opacity: 1;\n }\n 50% {\n opacity: 0.5;\n }\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n.animate-fade-in {\n animation: var(--animate-fade-in);\n}\n.animate-fade-out {\n animation: var(--animate-fade-out);\n}\n.animate-slide-in-up {\n animation: var(--animate-slide-in-up);\n}\n.animate-slide-in-down {\n animation: var(--animate-slide-in-down);\n}\n.animate-slide-in-left {\n animation: var(--animate-slide-in-left);\n}\n.animate-slide-in-right {\n animation: var(--animate-slide-in-right);\n}\n.animate-scale-in {\n animation: var(--animate-scale-in);\n}\n.animate-scale-out {\n animation: var(--animate-scale-out);\n}\n.animate-bounce {\n animation: var(--animate-bounce);\n}\n.animate-pulse {\n animation: var(--animate-pulse);\n}\n.animate-spin {\n animation: var(--animate-spin);\n}\n@media (max-width: 639px) {\n .container {\n max-width: 100%;\n }\n}\n@media (min-width: 640px) {\n .container {\n max-width: var(--container-sm);\n }\n}\n@media (min-width: 768px) {\n .container {\n max-width: var(--container-md);\n }\n}\n@media (min-width: 1024px) {\n .container {\n max-width: var(--container-lg);\n }\n}\n@media (min-width: 1280px) {\n .container {\n max-width: var(--container-xl);\n }\n}\n@media (min-width: 1536px) {\n .container {\n max-width: var(--container-2xl);\n }\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes ping {\n 75%, 100% {\n transform: scale(2);\n opacity: 0;\n }\n}\n@keyframes pulse {\n 0%, 100% {\n opacity: 1;\n }\n 50% {\n opacity: .5;\n }\n}\n@keyframes bounce {\n 0%, 100% {\n transform: translateY(-25%);\n animation-timing-function: cubic-bezier(0.8, 0, 1, 1);\n }\n 50% {\n transform: translateY(0);\n animation-timing-function: cubic-bezier(0, 0, 0.2, 1);\n }\n}\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes fadeOut {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n}\n@keyframes slideIn {\n from {\n transform: translateX(-100%);\n }\n to {\n transform: translateX(0);\n }\n}\n@keyframes scaleIn {\n from {\n transform: scale(0.95);\n opacity: 0;\n }\n to {\n transform: scale(1);\n opacity: 1;\n }\n}\n.file\\:border-0::file-selector-button {\n border-width: 0px;\n}\n.file\\:bg-transparent::file-selector-button {\n background-color: transparent;\n}\n.file\\:font-medium::file-selector-button {\n font-weight: 500;\n}\n.placeholder\\:text-muted-foreground::-moz-placeholder {\n --tw-text-opacity: 1;\n color: hsl(var(--muted-foreground) / var(--tw-text-opacity, 1));\n}\n.placeholder\\:text-muted-foreground::placeholder {\n --tw-text-opacity: 1;\n color: hsl(var(--muted-foreground) / var(--tw-text-opacity, 1));\n}\n.hover\\:-translate-y-0\\.5:hover {\n --tw-translate-y: -0.125rem;\n 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));\n}\n.hover\\:scale-105:hover {\n --tw-scale-x: 1.05;\n --tw-scale-y: 1.05;\n 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));\n}\n.hover\\:scale-110:hover {\n --tw-scale-x: 1.1;\n --tw-scale-y: 1.1;\n 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));\n}\n.hover\\:border-error\\/80:hover {\n border-color: hsl(var(--error) / 0.8);\n}\n.hover\\:border-gray-300:hover {\n --tw-border-opacity: 1;\n border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));\n}\n.hover\\:border-gray-400:hover {\n --tw-border-opacity: 1;\n border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));\n}\n.hover\\:border-primary\\/20:hover {\n border-color: hsl(var(--primary) / 0.2);\n}\n.hover\\:border-primary\\/50:hover {\n border-color: hsl(var(--primary) / 0.5);\n}\n.hover\\:border-success\\/80:hover {\n border-color: hsl(var(--success) / 0.8);\n}\n.hover\\:border-white\\/30:hover {\n border-color: rgb(255 255 255 / 0.3);\n}\n.hover\\:bg-accent:hover {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--accent) / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-background\\/90:hover {\n background-color: hsl(var(--background) / 0.9);\n}\n.hover\\:bg-black\\/10:hover {\n background-color: rgb(0 0 0 / 0.1);\n}\n.hover\\:bg-card\\/90:hover {\n background-color: hsl(var(--card) / 0.9);\n}\n.hover\\:bg-destructive\\/90:hover {\n background-color: hsl(var(--destructive) / 0.9);\n}\n.hover\\:bg-error\\/90:hover {\n background-color: hsl(var(--error) / 0.9);\n}\n.hover\\:bg-gray-100:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-gray-100\\/50:hover {\n background-color: rgb(243 244 246 / 0.5);\n}\n.hover\\:bg-gray-200:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-gray-50:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-muted:hover {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--muted) / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-muted\\/30:hover {\n background-color: hsl(var(--muted) / 0.3);\n}\n.hover\\:bg-muted\\/50:hover {\n background-color: hsl(var(--muted) / 0.5);\n}\n.hover\\:bg-muted\\/80:hover {\n background-color: hsl(var(--muted) / 0.8);\n}\n.hover\\:bg-primary:hover {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--primary) / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-primary\\/20:hover {\n background-color: hsl(var(--primary) / 0.2);\n}\n.hover\\:bg-primary\\/90:hover {\n background-color: hsl(var(--primary) / 0.9);\n}\n.hover\\:bg-purple-200:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(233 213 255 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-secondary:hover {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--secondary) / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-secondary\\/80:hover {\n background-color: hsl(var(--secondary) / 0.8);\n}\n.hover\\:bg-success\\/90:hover {\n background-color: hsl(var(--success) / 0.9);\n}\n.hover\\:bg-warning\\/90:hover {\n background-color: hsl(var(--warning) / 0.9);\n}\n.hover\\:bg-white\\/20:hover {\n background-color: rgb(255 255 255 / 0.2);\n}\n.hover\\:from-blue-700:hover {\n --tw-gradient-from: #1d4ed8 var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(29 78 216 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.hover\\:from-purple-700:hover {\n --tw-gradient-from: #7e22ce var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(126 34 206 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.hover\\:to-pink-700:hover {\n --tw-gradient-to: #be185d var(--tw-gradient-to-position);\n}\n.hover\\:to-purple-700:hover {\n --tw-gradient-to: #7e22ce var(--tw-gradient-to-position);\n}\n.hover\\:text-accent-foreground:hover {\n --tw-text-opacity: 1;\n color: hsl(var(--accent-foreground) / var(--tw-text-opacity, 1));\n}\n.hover\\:text-foreground:hover {\n --tw-text-opacity: 1;\n color: hsl(var(--foreground) / var(--tw-text-opacity, 1));\n}\n.hover\\:text-primary-foreground:hover {\n --tw-text-opacity: 1;\n color: hsl(var(--primary-foreground) / var(--tw-text-opacity, 1));\n}\n.hover\\:text-white:hover {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n}\n.hover\\:underline:hover {\n text-decoration-line: underline;\n}\n.hover\\:opacity-100:hover {\n opacity: 1;\n}\n.hover\\:opacity-90:hover {\n opacity: 0.9;\n}\n.hover\\:shadow-\\[0_0_20px_rgba\\(var\\(--primary\\)\\,0\\.5\\)\\]:hover {\n --tw-shadow: 0 0 20px rgba(var(--primary),0.5);\n --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.hover\\:shadow-lg:hover {\n --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.hover\\:shadow-md:hover {\n --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.hover\\:shadow-xl:hover {\n --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.hover\\:shadow-primary\\/20:hover {\n --tw-shadow-color: hsl(var(--primary) / 0.2);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.hover\\:shadow-primary\\/60:hover {\n --tw-shadow-color: hsl(var(--primary) / 0.6);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.hover\\:brightness-110:hover {\n --tw-brightness: brightness(1.1);\n 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);\n}\n.hover\\:shadow-md:hover {\n box-shadow: var(--shadow-md);\n}\n.hover\\:shadow-lg:hover {\n box-shadow: var(--shadow-lg);\n}\n.hover\\:shadow-xl:hover {\n box-shadow: var(--shadow-xl);\n}\n.focus\\:bg-accent:focus {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--accent) / var(--tw-bg-opacity, 1));\n}\n.focus\\:bg-error\\/10:focus {\n background-color: hsl(var(--error) / 0.1);\n}\n.focus\\:bg-gray-100:focus {\n --tw-bg-opacity: 1;\n background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));\n}\n.focus\\:bg-success\\/10:focus {\n background-color: hsl(var(--success) / 0.1);\n}\n.focus\\:bg-warning\\/10:focus {\n background-color: hsl(var(--warning) / 0.1);\n}\n.focus\\:text-accent-foreground:focus {\n --tw-text-opacity: 1;\n color: hsl(var(--accent-foreground) / var(--tw-text-opacity, 1));\n}\n.focus\\:text-error:focus {\n --tw-text-opacity: 1;\n color: hsl(var(--error) / var(--tw-text-opacity, 1));\n}\n.focus\\:text-foreground:focus {\n --tw-text-opacity: 1;\n color: hsl(var(--foreground) / var(--tw-text-opacity, 1));\n}\n.focus\\:text-success:focus {\n --tw-text-opacity: 1;\n color: hsl(var(--success) / var(--tw-text-opacity, 1));\n}\n.focus\\:text-warning:focus {\n --tw-text-opacity: 1;\n color: hsl(var(--warning) / var(--tw-text-opacity, 1));\n}\n.focus\\:opacity-100:focus {\n opacity: 1;\n}\n.focus\\:outline-none:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.focus\\:ring-1:focus {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow:\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow, 0 0 #0000);\n}\n.focus\\:ring-2:focus {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow:\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow, 0 0 #0000);\n}\n.focus\\:ring-\\[var\\(--login-primary\\)\\]:focus {\n --tw-ring-color: var(--login-primary);\n}\n.focus\\:ring-primary\\/30:focus {\n --tw-ring-color: hsl(var(--primary) / 0.3);\n}\n.focus\\:ring-ring:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: hsl(var(--ring) / var(--tw-ring-opacity, 1));\n}\n.focus\\:ring-offset-2:focus {\n --tw-ring-offset-width: 2px;\n}\n.focus-visible\\:border-2:focus-visible {\n border-width: 2px;\n}\n.focus-visible\\:border-b-2:focus-visible {\n border-bottom-width: 2px;\n}\n.focus-visible\\:border-error:focus-visible {\n --tw-border-opacity: 1;\n border-color: hsl(var(--error) / var(--tw-border-opacity, 1));\n}\n.focus-visible\\:border-primary:focus-visible {\n --tw-border-opacity: 1;\n border-color: hsl(var(--primary) / var(--tw-border-opacity, 1));\n}\n.focus-visible\\:border-success:focus-visible {\n --tw-border-opacity: 1;\n border-color: hsl(var(--success) / var(--tw-border-opacity, 1));\n}\n.focus-visible\\:bg-transparent:focus-visible {\n background-color: transparent;\n}\n.focus-visible\\:shadow-lg:focus-visible {\n --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.focus-visible\\:shadow-primary\\/30:focus-visible {\n --tw-shadow-color: hsl(var(--primary) / 0.3);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.focus-visible\\:outline-none:focus-visible {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.focus-visible\\:ring-0:focus-visible {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow:\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow, 0 0 #0000);\n}\n.focus-visible\\:ring-1:focus-visible {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow:\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow, 0 0 #0000);\n}\n.focus-visible\\:ring-2:focus-visible {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow:\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow, 0 0 #0000);\n}\n.focus-visible\\:ring-error\\/30:focus-visible {\n --tw-ring-color: hsl(var(--error) / 0.3);\n}\n.focus-visible\\:ring-error\\/50:focus-visible {\n --tw-ring-color: hsl(var(--error) / 0.5);\n}\n.focus-visible\\:ring-gray-400\\/30:focus-visible {\n --tw-ring-color: rgb(156 163 175 / 0.3);\n}\n.focus-visible\\:ring-primary\\/30:focus-visible {\n --tw-ring-color: hsl(var(--primary) / 0.3);\n}\n.focus-visible\\:ring-primary\\/50:focus-visible {\n --tw-ring-color: hsl(var(--primary) / 0.5);\n}\n.focus-visible\\:ring-purple-400\\/30:focus-visible {\n --tw-ring-color: rgb(192 132 252 / 0.3);\n}\n.focus-visible\\:ring-purple-500\\/50:focus-visible {\n --tw-ring-color: rgb(168 85 247 / 0.5);\n}\n.focus-visible\\:ring-ring:focus-visible {\n --tw-ring-opacity: 1;\n --tw-ring-color: hsl(var(--ring) / var(--tw-ring-opacity, 1));\n}\n.focus-visible\\:ring-success\\/30:focus-visible {\n --tw-ring-color: hsl(var(--success) / 0.3);\n}\n.focus-visible\\:ring-success\\/50:focus-visible {\n --tw-ring-color: hsl(var(--success) / 0.5);\n}\n.focus-visible\\:ring-warning\\/30:focus-visible {\n --tw-ring-color: hsl(var(--warning) / 0.3);\n}\n.focus-visible\\:ring-white\\/50:focus-visible {\n --tw-ring-color: rgb(255 255 255 / 0.5);\n}\n.focus-visible\\:ring-offset-1:focus-visible {\n --tw-ring-offset-width: 1px;\n}\n.focus-visible\\:ring-offset-2:focus-visible {\n --tw-ring-offset-width: 2px;\n}\n.focus-visible\\:ring-offset-background:focus-visible {\n --tw-ring-offset-color: hsl(var(--background) / 1);\n}\n.focus-visible\\:shadow-lg:focus-visible {\n box-shadow: var(--shadow-lg);\n}\n.active\\:translate-y-0:active {\n --tw-translate-y: 0px;\n 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));\n}\n.active\\:translate-y-0\\.5:active {\n --tw-translate-y: 0.125rem;\n 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));\n}\n.active\\:scale-95:active {\n --tw-scale-x: .95;\n --tw-scale-y: .95;\n 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));\n}\n.active\\:cursor-grabbing:active {\n cursor: grabbing;\n}\n.active\\:bg-error\\/80:active {\n background-color: hsl(var(--error) / 0.8);\n}\n.active\\:bg-gray-100:active {\n --tw-bg-opacity: 1;\n background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));\n}\n.active\\:bg-gray-200:active {\n --tw-bg-opacity: 1;\n background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));\n}\n.active\\:bg-gray-300:active {\n --tw-bg-opacity: 1;\n background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));\n}\n.active\\:bg-primary\\/30:active {\n background-color: hsl(var(--primary) / 0.3);\n}\n.active\\:bg-success\\/80:active {\n background-color: hsl(var(--success) / 0.8);\n}\n.active\\:bg-white\\/30:active {\n background-color: rgb(255 255 255 / 0.3);\n}\n.active\\:from-blue-800:active {\n --tw-gradient-from: #1e40af var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(30 64 175 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.active\\:to-purple-800:active {\n --tw-gradient-to: #6b21a8 var(--tw-gradient-to-position);\n}\n.active\\:shadow-\\[0_0_10px_rgba\\(var\\(--primary\\)\\,0\\.3\\)\\]:active {\n --tw-shadow: 0 0 10px rgba(var(--primary),0.3);\n --tw-shadow-colored: 0 0 10px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.active\\:shadow-md:active {\n --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.active\\:shadow-sm:active {\n --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.active\\:shadow-primary\\/40:active {\n --tw-shadow-color: hsl(var(--primary) / 0.4);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.active\\:brightness-90:active {\n --tw-brightness: brightness(.9);\n 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);\n}\n.active\\:brightness-95:active {\n --tw-brightness: brightness(.95);\n 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);\n}\n.active\\:shadow-sm:active {\n box-shadow: var(--shadow-sm);\n}\n.active\\:shadow-md:active {\n box-shadow: var(--shadow-md);\n}\n.disabled\\:pointer-events-none:disabled {\n pointer-events: none;\n}\n.disabled\\:cursor-not-allowed:disabled {\n cursor: not-allowed;\n}\n.disabled\\:opacity-50:disabled {\n opacity: 0.5;\n}\n.group:hover .group-hover\\:flex {\n display: flex;\n}\n.group:hover .group-hover\\:opacity-100 {\n opacity: 1;\n}\n.group.destructive .group-\\[\\.destructive\\]\\:border-muted\\/40 {\n border-color: hsl(var(--muted) / 0.4);\n}\n.group.destructive .group-\\[\\.destructive\\]\\:text-red-300 {\n --tw-text-opacity: 1;\n color: rgb(252 165 165 / var(--tw-text-opacity, 1));\n}\n.group.destructive .group-\\[\\.destructive\\]\\:hover\\:border-destructive\\/30:hover {\n border-color: hsl(var(--destructive) / 0.3);\n}\n.group.destructive .group-\\[\\.destructive\\]\\:hover\\:bg-destructive:hover {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--destructive) / var(--tw-bg-opacity, 1));\n}\n.group.destructive .group-\\[\\.destructive\\]\\:hover\\:text-destructive-foreground:hover {\n --tw-text-opacity: 1;\n color: hsl(var(--destructive-foreground) / var(--tw-text-opacity, 1));\n}\n.group.destructive .group-\\[\\.destructive\\]\\:hover\\:text-red-50:hover {\n --tw-text-opacity: 1;\n color: rgb(254 242 242 / var(--tw-text-opacity, 1));\n}\n.group.destructive .group-\\[\\.destructive\\]\\:focus\\:ring-destructive:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: hsl(var(--destructive) / var(--tw-ring-opacity, 1));\n}\n.group.destructive .group-\\[\\.destructive\\]\\:focus\\:ring-red-400:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1));\n}\n.group.destructive .group-\\[\\.destructive\\]\\:focus\\:ring-offset-red-600:focus {\n --tw-ring-offset-color: #dc2626;\n}\n.peer:disabled ~ .peer-disabled\\:cursor-not-allowed {\n cursor: not-allowed;\n}\n.peer:disabled ~ .peer-disabled\\:opacity-70 {\n opacity: 0.7;\n}\n.data-\\[disabled\\]\\:pointer-events-none[data-disabled] {\n pointer-events: none;\n}\n.data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom] {\n --tw-translate-y: 0.25rem;\n 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));\n}\n.data-\\[side\\=left\\]\\:-translate-x-1[data-side=left] {\n --tw-translate-x: -0.25rem;\n 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));\n}\n.data-\\[side\\=right\\]\\:translate-x-1[data-side=right] {\n --tw-translate-x: 0.25rem;\n 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));\n}\n.data-\\[side\\=top\\]\\:-translate-y-1[data-side=top] {\n --tw-translate-y: -0.25rem;\n 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));\n}\n.data-\\[state\\=checked\\]\\:translate-x-4[data-state=checked] {\n --tw-translate-x: 1rem;\n 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));\n}\n.data-\\[state\\=checked\\]\\:translate-x-5[data-state=checked] {\n --tw-translate-x: 1.25rem;\n 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));\n}\n.data-\\[state\\=checked\\]\\:translate-x-7[data-state=checked] {\n --tw-translate-x: 1.75rem;\n 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));\n}\n.data-\\[state\\=unchecked\\]\\:translate-x-0[data-state=unchecked] {\n --tw-translate-x: 0px;\n 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));\n}\n.data-\\[swipe\\=cancel\\]\\:translate-x-0[data-swipe=cancel] {\n --tw-translate-x: 0px;\n 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));\n}\n.data-\\[swipe\\=end\\]\\:translate-x-\\[var\\(--radix-toast-swipe-end-x\\)\\][data-swipe=end] {\n --tw-translate-x: var(--radix-toast-swipe-end-x);\n 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));\n}\n.data-\\[swipe\\=move\\]\\:translate-x-\\[var\\(--radix-toast-swipe-move-x\\)\\][data-swipe=move] {\n --tw-translate-x: var(--radix-toast-swipe-move-x);\n 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));\n}\n@keyframes bounce {\n 0%, 100% {\n transform: translateY(-25%);\n animation-timing-function: cubic-bezier(0.8, 0, 1, 1);\n }\n 50% {\n transform: none;\n animation-timing-function: cubic-bezier(0, 0, 0.2, 1);\n }\n}\n.data-\\[state\\=checked\\]\\:animate-bounce[data-state=checked] {\n animation: bounce 1s infinite;\n}\n.data-\\[state\\=active\\]\\:border-primary[data-state=active] {\n --tw-border-opacity: 1;\n border-color: hsl(var(--primary) / var(--tw-border-opacity, 1));\n}\n.data-\\[state\\=checked\\]\\:border-primary[data-state=checked] {\n --tw-border-opacity: 1;\n border-color: hsl(var(--primary) / var(--tw-border-opacity, 1));\n}\n.data-\\[state\\=active\\]\\:bg-background[data-state=active] {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--background) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=active\\]\\:bg-primary[data-state=active] {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--primary) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=active\\]\\:bg-transparent[data-state=active] {\n background-color: transparent;\n}\n.data-\\[state\\=checked\\]\\:bg-accent[data-state=checked] {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--accent) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=checked\\]\\:bg-error[data-state=checked] {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--error) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=checked\\]\\:bg-primary[data-state=checked] {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--primary) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=checked\\]\\:bg-success[data-state=checked] {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--success) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=checked\\]\\:bg-warning[data-state=checked] {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--warning) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=open\\]\\:bg-accent[data-state=open] {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--accent) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=unchecked\\]\\:bg-input[data-state=unchecked] {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--input) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=active\\]\\:text-foreground[data-state=active] {\n --tw-text-opacity: 1;\n color: hsl(var(--foreground) / var(--tw-text-opacity, 1));\n}\n.data-\\[state\\=active\\]\\:text-primary-foreground[data-state=active] {\n --tw-text-opacity: 1;\n color: hsl(var(--primary-foreground) / var(--tw-text-opacity, 1));\n}\n.data-\\[state\\=checked\\]\\:text-primary-foreground[data-state=checked] {\n --tw-text-opacity: 1;\n color: hsl(var(--primary-foreground) / var(--tw-text-opacity, 1));\n}\n.data-\\[state\\=active\\]\\:underline[data-state=active] {\n text-decoration-line: underline;\n}\n.data-\\[state\\=active\\]\\:underline-offset-4[data-state=active] {\n text-underline-offset: 4px;\n}\n.data-\\[disabled\\]\\:opacity-50[data-disabled] {\n opacity: 0.5;\n}\n.data-\\[state\\=inactive\\]\\:opacity-60[data-state=inactive] {\n opacity: 0.6;\n}\n.data-\\[state\\=active\\]\\:shadow-md[data-state=active] {\n --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.data-\\[state\\=active\\]\\:shadow-sm[data-state=active] {\n --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.data-\\[swipe\\=move\\]\\:transition-none[data-swipe=move] {\n transition-property: none;\n}\n.data-\\[state\\=open\\]\\:duration-150[data-state=open] {\n transition-duration: 150ms;\n}\n.data-\\[state\\=active\\]\\:shadow-sm[data-state=active] {\n box-shadow: var(--shadow-sm);\n}\n.data-\\[state\\=active\\]\\:shadow-md[data-state=active] {\n box-shadow: var(--shadow-md);\n}\n.data-\\[state\\=checked\\]\\:animate-bounce[data-state=checked] {\n animation: bounce 1s infinite;\n}\n.data-\\[swipe\\=move\\]\\:transition-none[data-swipe=move] {\n transition: none;\n}\n.group[data-state=open] .group-data-\\[state\\=open\\]\\:rotate-180 {\n --tw-rotate: 180deg;\n 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));\n}\n.dark\\:border-blue-800:is(.dark *) {\n --tw-border-opacity: 1;\n border-color: rgb(30 64 175 / var(--tw-border-opacity, 1));\n}\n.dark\\:border-error\\/20:is(.dark *) {\n border-color: hsl(var(--error) / 0.2);\n}\n.dark\\:border-error\\/30:is(.dark *) {\n border-color: hsl(var(--error) / 0.3);\n}\n.dark\\:border-gray-600:is(.dark *) {\n --tw-border-opacity: 1;\n border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));\n}\n.dark\\:border-gray-700:is(.dark *) {\n --tw-border-opacity: 1;\n border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));\n}\n.dark\\:border-gray-700\\/20:is(.dark *) {\n border-color: rgb(55 65 81 / 0.2);\n}\n.dark\\:border-gray-700\\/30:is(.dark *) {\n border-color: rgb(55 65 81 / 0.3);\n}\n.dark\\:border-gray-800:is(.dark *) {\n --tw-border-opacity: 1;\n border-color: rgb(31 41 55 / var(--tw-border-opacity, 1));\n}\n.dark\\:border-green-800:is(.dark *) {\n --tw-border-opacity: 1;\n border-color: rgb(22 101 52 / var(--tw-border-opacity, 1));\n}\n.dark\\:border-orange-800:is(.dark *) {\n --tw-border-opacity: 1;\n border-color: rgb(154 52 18 / var(--tw-border-opacity, 1));\n}\n.dark\\:border-primary\\/30:is(.dark *) {\n border-color: hsl(var(--primary) / 0.3);\n}\n.dark\\:border-success\\/20:is(.dark *) {\n border-color: hsl(var(--success) / 0.2);\n}\n.dark\\:bg-blue-900\\/20:is(.dark *) {\n background-color: rgb(30 58 138 / 0.2);\n}\n.dark\\:bg-error\\/90:is(.dark *) {\n background-color: hsl(var(--error) / 0.9);\n}\n.dark\\:bg-gray-700:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));\n}\n.dark\\:bg-gray-800:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));\n}\n.dark\\:bg-gray-800\\/10:is(.dark *) {\n background-color: rgb(31 41 55 / 0.1);\n}\n.dark\\:bg-gray-800\\/50:is(.dark *) {\n background-color: rgb(31 41 55 / 0.5);\n}\n.dark\\:bg-gray-800\\/80:is(.dark *) {\n background-color: rgb(31 41 55 / 0.8);\n}\n.dark\\:bg-gray-800\\/90:is(.dark *) {\n background-color: rgb(31 41 55 / 0.9);\n}\n.dark\\:bg-gray-900:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));\n}\n.dark\\:bg-gray-900\\/50:is(.dark *) {\n background-color: rgb(17 24 39 / 0.5);\n}\n.dark\\:bg-gray-900\\/60:is(.dark *) {\n background-color: rgb(17 24 39 / 0.6);\n}\n.dark\\:bg-gray-950:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(3 7 18 / var(--tw-bg-opacity, 1));\n}\n.dark\\:bg-green-900\\/20:is(.dark *) {\n background-color: rgb(20 83 45 / 0.2);\n}\n.dark\\:bg-orange-900\\/20:is(.dark *) {\n background-color: rgb(124 45 18 / 0.2);\n}\n.dark\\:bg-primary:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--primary) / var(--tw-bg-opacity, 1));\n}\n.dark\\:bg-primary\\/20:is(.dark *) {\n background-color: hsl(var(--primary) / 0.2);\n}\n.dark\\:bg-primary\\/90:is(.dark *) {\n background-color: hsl(var(--primary) / 0.9);\n}\n.dark\\:bg-purple-900:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(88 28 135 / var(--tw-bg-opacity, 1));\n}\n.dark\\:bg-purple-900\\/30:is(.dark *) {\n background-color: rgb(88 28 135 / 0.3);\n}\n.dark\\:bg-success\\/90:is(.dark *) {\n background-color: hsl(var(--success) / 0.9);\n}\n.dark\\:bg-transparent:is(.dark *) {\n background-color: transparent;\n}\n.dark\\:bg-warning\\/90:is(.dark *) {\n background-color: hsl(var(--warning) / 0.9);\n}\n.dark\\:from-primary\\/10:is(.dark *) {\n --tw-gradient-from: hsl(var(--primary) / 0.1) var(--tw-gradient-from-position);\n --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.dark\\:to-primary\\/20:is(.dark *) {\n --tw-gradient-to: hsl(var(--primary) / 0.2) var(--tw-gradient-to-position);\n}\n.dark\\:text-blue-100:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(219 234 254 / var(--tw-text-opacity, 1));\n}\n.dark\\:text-blue-400:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(96 165 250 / var(--tw-text-opacity, 1));\n}\n.dark\\:text-gray-100:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(243 244 246 / var(--tw-text-opacity, 1));\n}\n.dark\\:text-gray-200:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(229 231 235 / var(--tw-text-opacity, 1));\n}\n.dark\\:text-gray-300:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(209 213 219 / var(--tw-text-opacity, 1));\n}\n.dark\\:text-gray-400:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(156 163 175 / var(--tw-text-opacity, 1));\n}\n.dark\\:text-gray-900:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(17 24 39 / var(--tw-text-opacity, 1));\n}\n.dark\\:text-green-100:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(220 252 231 / var(--tw-text-opacity, 1));\n}\n.dark\\:text-green-400:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(74 222 128 / var(--tw-text-opacity, 1));\n}\n.dark\\:text-orange-100:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(255 237 213 / var(--tw-text-opacity, 1));\n}\n.dark\\:text-primary-foreground:is(.dark *) {\n --tw-text-opacity: 1;\n color: hsl(var(--primary-foreground) / var(--tw-text-opacity, 1));\n}\n.dark\\:text-purple-400:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(192 132 252 / var(--tw-text-opacity, 1));\n}\n.dark\\:text-red-400:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(248 113 113 / var(--tw-text-opacity, 1));\n}\n.dark\\:text-white:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n}\n.dark\\:text-yellow-400:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(250 204 21 / var(--tw-text-opacity, 1));\n}\n.dark\\:shadow-inner:is(.dark *) {\n --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);\n --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.dark\\:shadow-lg:is(.dark *) {\n --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.dark\\:shadow-md:is(.dark *) {\n --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.dark\\:shadow-sm:is(.dark *) {\n --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.dark\\:shadow-error\\/10:is(.dark *) {\n --tw-shadow-color: hsl(var(--error) / 0.1);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.dark\\:shadow-gray-900\\/20:is(.dark *) {\n --tw-shadow-color: rgb(17 24 39 / 0.2);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.dark\\:shadow-gray-900\\/30:is(.dark *) {\n --tw-shadow-color: rgb(17 24 39 / 0.3);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.dark\\:shadow-gray-950\\/10:is(.dark *) {\n --tw-shadow-color: rgb(3 7 18 / 0.1);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.dark\\:shadow-primary\\/10:is(.dark *) {\n --tw-shadow-color: hsl(var(--primary) / 0.1);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.dark\\:shadow-primary\\/20:is(.dark *) {\n --tw-shadow-color: hsl(var(--primary) / 0.2);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.dark\\:shadow-purple-500\\/10:is(.dark *) {\n --tw-shadow-color: rgb(168 85 247 / 0.1);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.dark\\:shadow-success\\/10:is(.dark *) {\n --tw-shadow-color: hsl(var(--success) / 0.1);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.dark\\:shadow-warning\\/10:is(.dark *) {\n --tw-shadow-color: hsl(var(--warning) / 0.1);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.dark\\:ring-gray-600:is(.dark *) {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(75 85 99 / var(--tw-ring-opacity, 1));\n}\n.dark\\:ring-offset-gray-950:is(.dark *) {\n --tw-ring-offset-color: #030712;\n}\n.dark\\:backdrop-blur-sm:is(.dark *) {\n --tw-backdrop-blur: blur(4px);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n.dark\\:shadow-sm:is(.dark *) {\n box-shadow: var(--shadow-sm);\n}\n.dark\\:shadow-md:is(.dark *) {\n box-shadow: var(--shadow-md);\n}\n.dark\\:shadow-lg:is(.dark *) {\n box-shadow: var(--shadow-lg);\n}\n.dark\\:placeholder\\:text-gray-500:is(.dark *)::-moz-placeholder {\n --tw-text-opacity: 1;\n color: rgb(107 114 128 / var(--tw-text-opacity, 1));\n}\n.dark\\:placeholder\\:text-gray-500:is(.dark *)::placeholder {\n --tw-text-opacity: 1;\n color: rgb(107 114 128 / var(--tw-text-opacity, 1));\n}\n.dark\\:hover\\:border-error\\/80:hover:is(.dark *) {\n border-color: hsl(var(--error) / 0.8);\n}\n.dark\\:hover\\:border-gray-500:hover:is(.dark *) {\n --tw-border-opacity: 1;\n border-color: rgb(107 114 128 / var(--tw-border-opacity, 1));\n}\n.dark\\:hover\\:border-gray-600:hover:is(.dark *) {\n --tw-border-opacity: 1;\n border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));\n}\n.dark\\:hover\\:border-gray-700\\/30:hover:is(.dark *) {\n border-color: rgb(55 65 81 / 0.3);\n}\n.dark\\:hover\\:border-primary\\/30:hover:is(.dark *) {\n border-color: hsl(var(--primary) / 0.3);\n}\n.dark\\:hover\\:border-success\\/80:hover:is(.dark *) {\n border-color: hsl(var(--success) / 0.8);\n}\n.dark\\:hover\\:bg-error\\/80:hover:is(.dark *) {\n background-color: hsl(var(--error) / 0.8);\n}\n.dark\\:hover\\:bg-gray-700:hover:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));\n}\n.dark\\:hover\\:bg-gray-700\\/50:hover:is(.dark *) {\n background-color: rgb(55 65 81 / 0.5);\n}\n.dark\\:hover\\:bg-gray-700\\/90:hover:is(.dark *) {\n background-color: rgb(55 65 81 / 0.9);\n}\n.dark\\:hover\\:bg-gray-800:hover:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));\n}\n.dark\\:hover\\:bg-gray-800\\/20:hover:is(.dark *) {\n background-color: rgb(31 41 55 / 0.2);\n}\n.dark\\:hover\\:bg-gray-800\\/30:hover:is(.dark *) {\n background-color: rgb(31 41 55 / 0.3);\n}\n.dark\\:hover\\:bg-gray-800\\/80:hover:is(.dark *) {\n background-color: rgb(31 41 55 / 0.8);\n}\n.dark\\:hover\\:bg-gray-800\\/90:hover:is(.dark *) {\n background-color: rgb(31 41 55 / 0.9);\n}\n.dark\\:hover\\:bg-primary\\/30:hover:is(.dark *) {\n background-color: hsl(var(--primary) / 0.3);\n}\n.dark\\:hover\\:bg-primary\\/90:hover:is(.dark *) {\n background-color: hsl(var(--primary) / 0.9);\n}\n.dark\\:hover\\:bg-purple-800:hover:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(107 33 168 / var(--tw-bg-opacity, 1));\n}\n.dark\\:hover\\:bg-success\\/80:hover:is(.dark *) {\n background-color: hsl(var(--success) / 0.8);\n}\n.dark\\:hover\\:bg-warning\\/80:hover:is(.dark *) {\n background-color: hsl(var(--warning) / 0.8);\n}\n.dark\\:hover\\:bg-white\\/10:hover:is(.dark *) {\n background-color: rgb(255 255 255 / 0.1);\n}\n.dark\\:hover\\:text-blue-300:hover:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(147 197 253 / var(--tw-text-opacity, 1));\n}\n.dark\\:hover\\:text-white:hover:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n}\n.dark\\:focus\\:bg-gray-700:focus:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));\n}\n.dark\\:focus\\:bg-gray-800:focus:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));\n}\n.dark\\:focus\\:bg-green-900\\/20:focus:is(.dark *) {\n background-color: rgb(20 83 45 / 0.2);\n}\n.dark\\:focus\\:bg-red-900\\/20:focus:is(.dark *) {\n background-color: rgb(127 29 29 / 0.2);\n}\n.dark\\:focus\\:bg-yellow-900\\/20:focus:is(.dark *) {\n background-color: rgb(113 63 18 / 0.2);\n}\n.dark\\:focus\\:text-gray-100:focus:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(243 244 246 / var(--tw-text-opacity, 1));\n}\n.dark\\:focus\\:text-gray-200:focus:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(229 231 235 / var(--tw-text-opacity, 1));\n}\n.dark\\:focus\\:text-green-300:focus:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(134 239 172 / var(--tw-text-opacity, 1));\n}\n.dark\\:focus\\:text-red-300:focus:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(252 165 165 / var(--tw-text-opacity, 1));\n}\n.dark\\:focus\\:text-yellow-300:focus:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(253 224 71 / var(--tw-text-opacity, 1));\n}\n.dark\\:focus-visible\\:border-primary:focus-visible:is(.dark *) {\n --tw-border-opacity: 1;\n border-color: hsl(var(--primary) / var(--tw-border-opacity, 1));\n}\n.dark\\:focus-visible\\:border-primary\\/80:focus-visible:is(.dark *) {\n border-color: hsl(var(--primary) / 0.8);\n}\n.dark\\:focus-visible\\:ring-error\\/25:focus-visible:is(.dark *) {\n --tw-ring-color: hsl(var(--error) / 0.25);\n}\n.dark\\:focus-visible\\:ring-error\\/30:focus-visible:is(.dark *) {\n --tw-ring-color: hsl(var(--error) / 0.3);\n}\n.dark\\:focus-visible\\:ring-gray-500\\/40:focus-visible:is(.dark *) {\n --tw-ring-color: rgb(107 114 128 / 0.4);\n}\n.dark\\:focus-visible\\:ring-primary\\/20:focus-visible:is(.dark *) {\n --tw-ring-color: hsl(var(--primary) / 0.2);\n}\n.dark\\:focus-visible\\:ring-primary\\/30:focus-visible:is(.dark *) {\n --tw-ring-color: hsl(var(--primary) / 0.3);\n}\n.dark\\:focus-visible\\:ring-primary\\/40:focus-visible:is(.dark *) {\n --tw-ring-color: hsl(var(--primary) / 0.4);\n}\n.dark\\:focus-visible\\:ring-primary\\/50:focus-visible:is(.dark *) {\n --tw-ring-color: hsl(var(--primary) / 0.5);\n}\n.dark\\:focus-visible\\:ring-purple-500\\/40:focus-visible:is(.dark *) {\n --tw-ring-color: rgb(168 85 247 / 0.4);\n}\n.dark\\:focus-visible\\:ring-success\\/25:focus-visible:is(.dark *) {\n --tw-ring-color: hsl(var(--success) / 0.25);\n}\n.dark\\:focus-visible\\:ring-success\\/30:focus-visible:is(.dark *) {\n --tw-ring-color: hsl(var(--success) / 0.3);\n}\n.dark\\:focus-visible\\:ring-warning\\/25:focus-visible:is(.dark *) {\n --tw-ring-color: hsl(var(--warning) / 0.25);\n}\n.dark\\:focus-visible\\:ring-offset-gray-950:focus-visible:is(.dark *) {\n --tw-ring-offset-color: #030712;\n}\n.dark\\:active\\:bg-error\\/70:active:is(.dark *) {\n background-color: hsl(var(--error) / 0.7);\n}\n.dark\\:active\\:bg-gray-600\\/90:active:is(.dark *) {\n background-color: rgb(75 85 99 / 0.9);\n}\n.dark\\:active\\:bg-gray-700\\/90:active:is(.dark *) {\n background-color: rgb(55 65 81 / 0.9);\n}\n.dark\\:active\\:bg-gray-800\\/90:active:is(.dark *) {\n background-color: rgb(31 41 55 / 0.9);\n}\n.dark\\:active\\:bg-primary\\/40:active:is(.dark *) {\n background-color: hsl(var(--primary) / 0.4);\n}\n.dark\\:active\\:bg-primary\\/80:active:is(.dark *) {\n background-color: hsl(var(--primary) / 0.8);\n}\n.dark\\:active\\:bg-success\\/70:active:is(.dark *) {\n background-color: hsl(var(--success) / 0.7);\n}\n.dark\\:active\\:text-blue-500:active:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(59 130 246 / var(--tw-text-opacity, 1));\n}\n.peer:disabled ~ .dark\\:peer-disabled\\:opacity-60:is(.dark *) {\n opacity: 0.6;\n}\n.dark\\:data-\\[state\\=active\\]\\:border-primary\\/80[data-state=active]:is(.dark *) {\n border-color: hsl(var(--primary) / 0.8);\n}\n.dark\\:data-\\[state\\=active\\]\\:bg-gray-900[data-state=active]:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));\n}\n.dark\\:data-\\[state\\=active\\]\\:bg-primary\\/90[data-state=active]:is(.dark *) {\n background-color: hsl(var(--primary) / 0.9);\n}\n.dark\\:data-\\[state\\=unchecked\\]\\:bg-gray-700\\/70[data-state=unchecked]:is(.dark *) {\n background-color: rgb(55 65 81 / 0.7);\n}\n.dark\\:data-\\[state\\=active\\]\\:text-gray-100[data-state=active]:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(243 244 246 / var(--tw-text-opacity, 1));\n}\n.dark\\:data-\\[state\\=active\\]\\:text-gray-200[data-state=active]:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(229 231 235 / var(--tw-text-opacity, 1));\n}\n.dark\\:data-\\[state\\=active\\]\\:text-white[data-state=active]:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n}\n.dark\\:data-\\[state\\=active\\]\\:shadow-gray-950\\/10[data-state=active]:is(.dark *) {\n --tw-shadow-color: rgb(3 7 18 / 0.1);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.dark\\:data-\\[state\\=active\\]\\:shadow-gray-950\\/20[data-state=active]:is(.dark *) {\n --tw-shadow-color: rgb(3 7 18 / 0.2);\n --tw-shadow: var(--tw-shadow-colored);\n}\n@media (min-width: 640px) {\n .sm\\:bottom-0 {\n bottom: 0px;\n }\n .sm\\:right-0 {\n right: 0px;\n }\n .sm\\:top-auto {\n top: auto;\n }\n .sm\\:max-w-\\[425px\\] {\n max-width: 425px;\n }\n .sm\\:max-w-\\[500px\\] {\n max-width: 500px;\n }\n .sm\\:flex-row {\n flex-direction: row;\n }\n .sm\\:flex-col {\n flex-direction: column;\n }\n .sm\\:justify-end {\n justify-content: flex-end;\n }\n .sm\\:space-x-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.5rem * var(--tw-space-x-reverse));\n margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));\n }\n .sm\\:text-left {\n text-align: left;\n }\n}\n@media (min-width: 768px) {\n .md\\:max-w-\\[420px\\] {\n max-width: 420px;\n }\n .md\\:grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n}\n@media (min-width: 1024px) {\n .lg\\:flex {\n display: flex;\n }\n .lg\\:grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n .lg\\:space-x-8 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(2rem * var(--tw-space-x-reverse));\n margin-left: calc(2rem * calc(1 - var(--tw-space-x-reverse)));\n }\n}\n.\\[\\&\\+div\\]\\:text-xs + div {\n font-size: 0.75rem;\n line-height: 1rem;\n}\n.\\[\\&\\>span\\]\\:line-clamp-1 > span {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n}\n.\\[\\&_blockquote\\]\\:border-l-4 blockquote {\n border-left-width: 4px;\n}\n.\\[\\&_blockquote\\]\\:border-gray-300 blockquote {\n --tw-border-opacity: 1;\n border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));\n}\n.\\[\\&_blockquote\\]\\:pl-4 blockquote {\n padding-left: 1rem;\n}\n.\\[\\&_blockquote\\]\\:italic blockquote {\n font-style: italic;\n}\n.\\[\\&_h1\\]\\:mb-4 h1 {\n margin-bottom: 1rem;\n}\n.\\[\\&_h1\\]\\:text-3xl h1 {\n font-size: 1.875rem;\n line-height: 2.25rem;\n}\n.\\[\\&_h1\\]\\:font-bold h1 {\n font-weight: 700;\n}\n.\\[\\&_h2\\]\\:mb-3 h2 {\n margin-bottom: 0.75rem;\n}\n.\\[\\&_h2\\]\\:text-2xl h2 {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n.\\[\\&_h2\\]\\:font-bold h2 {\n font-weight: 700;\n}\n.\\[\\&_h3\\]\\:mb-2 h3 {\n margin-bottom: 0.5rem;\n}\n.\\[\\&_h3\\]\\:text-xl h3 {\n font-size: 1.25rem;\n line-height: 1.75rem;\n}\n.\\[\\&_h3\\]\\:font-bold h3 {\n font-weight: 700;\n}\n.\\[\\&_h4\\]\\:mb-2 h4 {\n margin-bottom: 0.5rem;\n}\n.\\[\\&_h4\\]\\:text-lg h4 {\n font-size: 1.125rem;\n line-height: 1.75rem;\n}\n.\\[\\&_h4\\]\\:font-bold h4 {\n font-weight: 700;\n}\n.\\[\\&_h5\\]\\:mb-1 h5 {\n margin-bottom: 0.25rem;\n}\n.\\[\\&_h5\\]\\:text-base h5 {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n.\\[\\&_h5\\]\\:font-bold h5 {\n font-weight: 700;\n}\n.\\[\\&_h6\\]\\:mb-1 h6 {\n margin-bottom: 0.25rem;\n}\n.\\[\\&_h6\\]\\:text-sm h6 {\n font-size: 0.875rem;\n line-height: 1.25rem;\n}\n.\\[\\&_h6\\]\\:font-bold h6 {\n font-weight: 700;\n}\n.\\[\\&_li\\]\\:mb-1 li {\n margin-bottom: 0.25rem;\n}\n.\\[\\&_ol\\]\\:mb-4 ol {\n margin-bottom: 1rem;\n}\n.\\[\\&_ol\\]\\:list-decimal ol {\n list-style-type: decimal;\n}\n.\\[\\&_ol\\]\\:pl-6 ol {\n padding-left: 1.5rem;\n}\n.\\[\\&_pre\\]\\:overflow-x-auto pre {\n overflow-x: auto;\n}\n.\\[\\&_pre\\]\\:rounded pre {\n border-radius: 0.25rem;\n}\n.\\[\\&_pre\\]\\:bg-gray-100 pre {\n --tw-bg-opacity: 1;\n background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));\n}\n.\\[\\&_pre\\]\\:p-4 pre {\n padding: 1rem;\n}\n.\\[\\&_pre\\]\\:dark\\:bg-gray-800:is(.dark *) pre {\n --tw-bg-opacity: 1;\n background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));\n}\n.\\[\\&_table\\]\\:mb-4 table {\n margin-bottom: 1rem;\n}\n.\\[\\&_table\\]\\:w-full table {\n width: 100%;\n}\n.\\[\\&_table_td\\]\\:border table td {\n border-width: 1px;\n}\n.\\[\\&_table_td\\]\\:border-gray-300 table td {\n --tw-border-opacity: 1;\n border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));\n}\n.\\[\\&_table_td\\]\\:p-2 table td {\n padding: 0.5rem;\n}\n.\\[\\&_table_th\\]\\:border table th {\n border-width: 1px;\n}\n.\\[\\&_table_th\\]\\:border-gray-300 table th {\n --tw-border-opacity: 1;\n border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));\n}\n.\\[\\&_table_th\\]\\:bg-gray-50 table th {\n --tw-bg-opacity: 1;\n background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));\n}\n.\\[\\&_table_th\\]\\:p-2 table th {\n padding: 0.5rem;\n}\n.\\[\\&_table_th\\]\\:font-semibold table th {\n font-weight: 600;\n}\n.\\[\\&_ul\\]\\:mb-4 ul {\n margin-bottom: 1rem;\n}\n.\\[\\&_ul\\]\\:list-disc ul {\n list-style-type: disc;\n}\n.\\[\\&_ul\\]\\:pl-6 ul {\n padding-left: 1.5rem;\n}\n');
1732
1733
  function cn(...inputs) {
1733
1734
  return twMerge(clsx(inputs));
1734
1735
  }
@@ -1900,7 +1901,7 @@ var cardVariants = cva(
1900
1901
  }
1901
1902
  }
1902
1903
  );
1903
- var Card = React50.forwardRef(
1904
+ var Card = React55.forwardRef(
1904
1905
  ({ className, variant, size: size4, radius, interactive, microInteraction = "lift", ...props }, ref) => {
1905
1906
  if (interactive && microInteraction !== "none") {
1906
1907
  const interactionProps = {
@@ -1928,7 +1929,7 @@ var Card = React50.forwardRef(
1928
1929
  }
1929
1930
  );
1930
1931
  Card.displayName = "Card";
1931
- var CardHeader = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1932
+ var CardHeader = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1932
1933
  "div",
1933
1934
  {
1934
1935
  ref,
@@ -1937,7 +1938,7 @@ var CardHeader = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE
1937
1938
  }
1938
1939
  ));
1939
1940
  CardHeader.displayName = "CardHeader";
1940
- var CardTitle = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1941
+ var CardTitle = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1941
1942
  "h3",
1942
1943
  {
1943
1944
  ref,
@@ -1946,7 +1947,7 @@ var CardTitle = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE_
1946
1947
  }
1947
1948
  ));
1948
1949
  CardTitle.displayName = "CardTitle";
1949
- var CardDescription = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1950
+ var CardDescription = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1950
1951
  "p",
1951
1952
  {
1952
1953
  ref,
@@ -1955,9 +1956,9 @@ var CardDescription = React50.forwardRef(({ className, ...props }, ref) => /* @_
1955
1956
  }
1956
1957
  ));
1957
1958
  CardDescription.displayName = "CardDescription";
1958
- var CardContent = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("pt-0", className), ...props }));
1959
+ var CardContent = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("pt-0", className), ...props }));
1959
1960
  CardContent.displayName = "CardContent";
1960
- var CardFooter = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1961
+ var CardFooter = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1961
1962
  "div",
1962
1963
  {
1963
1964
  ref,
@@ -2115,7 +2116,7 @@ var buttonVariants = cva(
2115
2116
  }
2116
2117
  }
2117
2118
  );
2118
- var Button = React50.forwardRef(
2119
+ var Button = React55.forwardRef(
2119
2120
  ({
2120
2121
  className,
2121
2122
  variant,
@@ -2150,6 +2151,917 @@ var Button = React50.forwardRef(
2150
2151
  }
2151
2152
  );
2152
2153
  Button.displayName = "Button";
2154
+
2155
+ // src/hooks/use-subscription.ts
2156
+ function useSubscription() {
2157
+ return {
2158
+ isLoading: false,
2159
+ isAuthenticated: true,
2160
+ isAdmin: false,
2161
+ hasProAccess: true,
2162
+ // Pro package kullanıcıları varsayılan olarak pro erişime sahip
2163
+ subscriptionPlan: "pro",
2164
+ subscription: {
2165
+ status: "active",
2166
+ plan: "pro"
2167
+ }
2168
+ };
2169
+ }
2170
+ var animatedButtonVariants = cva(
2171
+ "relative inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 overflow-hidden",
2172
+ {
2173
+ variants: {
2174
+ variant: {
2175
+ default: "bg-primary text-primary-foreground shadow hover:bg-primary/90",
2176
+ destructive: "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",
2177
+ outline: "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",
2178
+ secondary: "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",
2179
+ ghost: "hover:bg-accent hover:text-accent-foreground",
2180
+ link: "text-primary underline-offset-4 hover:underline"
2181
+ },
2182
+ size: {
2183
+ default: "h-9 px-4 py-2",
2184
+ sm: "h-8 rounded-md px-3 text-xs",
2185
+ lg: "h-10 rounded-md px-8"
2186
+ }
2187
+ },
2188
+ defaultVariants: {
2189
+ variant: "default",
2190
+ size: "default"
2191
+ }
2192
+ }
2193
+ );
2194
+ var AnimatedButtonInternal = React55__default.forwardRef(
2195
+ ({ className, variant, size: size4, state = "idle", onStateChange, children, onClick, ...props }, ref) => {
2196
+ const [internalState, setInternalState] = useState("idle");
2197
+ const currentState = state !== "idle" ? state : internalState;
2198
+ const handleClick2 = async (e) => {
2199
+ if (currentState === "loading")
2200
+ return;
2201
+ setInternalState("loading");
2202
+ onStateChange?.("loading");
2203
+ if (onClick) {
2204
+ try {
2205
+ await onClick(e);
2206
+ setInternalState("success");
2207
+ onStateChange?.("success");
2208
+ setTimeout(() => {
2209
+ setInternalState("idle");
2210
+ onStateChange?.("idle");
2211
+ }, 2e3);
2212
+ } catch (error) {
2213
+ setInternalState("error");
2214
+ onStateChange?.("error");
2215
+ setTimeout(() => {
2216
+ setInternalState("idle");
2217
+ onStateChange?.("idle");
2218
+ }, 2e3);
2219
+ }
2220
+ }
2221
+ };
2222
+ const getIcon = () => {
2223
+ switch (currentState) {
2224
+ case "loading":
2225
+ return /* @__PURE__ */ jsx(Loader2, { className: "h-4 w-4 animate-spin" });
2226
+ case "success":
2227
+ return /* @__PURE__ */ jsx(Check, { className: "h-4 w-4" });
2228
+ case "error":
2229
+ return /* @__PURE__ */ jsx(X, { className: "h-4 w-4" });
2230
+ default:
2231
+ return null;
2232
+ }
2233
+ };
2234
+ const getBackgroundColor = () => {
2235
+ switch (currentState) {
2236
+ case "success":
2237
+ return "bg-green-600";
2238
+ case "error":
2239
+ return "bg-red-600";
2240
+ default:
2241
+ return "";
2242
+ }
2243
+ };
2244
+ return /* @__PURE__ */ jsxs(
2245
+ "button",
2246
+ {
2247
+ className: cn(animatedButtonVariants({ variant, size: size4 }), className),
2248
+ ref,
2249
+ onClick: handleClick2,
2250
+ disabled: currentState === "loading" || props.disabled,
2251
+ ...props,
2252
+ children: [
2253
+ /* @__PURE__ */ jsxs(
2254
+ motion.div,
2255
+ {
2256
+ className: "flex items-center gap-2",
2257
+ animate: {
2258
+ width: currentState !== "idle" ? "auto" : "100%"
2259
+ },
2260
+ transition: { duration: 0.2 },
2261
+ children: [
2262
+ /* @__PURE__ */ jsx(
2263
+ motion.div,
2264
+ {
2265
+ animate: {
2266
+ scale: currentState !== "idle" ? 1 : 0,
2267
+ width: currentState !== "idle" ? "auto" : 0
2268
+ },
2269
+ transition: { duration: 0.2 },
2270
+ className: "flex items-center",
2271
+ children: getIcon()
2272
+ }
2273
+ ),
2274
+ /* @__PURE__ */ jsx(
2275
+ motion.span,
2276
+ {
2277
+ animate: {
2278
+ opacity: currentState === "idle" ? 1 : 0,
2279
+ x: currentState !== "idle" ? -20 : 0
2280
+ },
2281
+ transition: { duration: 0.2 },
2282
+ children
2283
+ }
2284
+ )
2285
+ ]
2286
+ }
2287
+ ),
2288
+ /* @__PURE__ */ jsx(
2289
+ motion.div,
2290
+ {
2291
+ className: cn(
2292
+ "absolute inset-0 rounded-md",
2293
+ getBackgroundColor()
2294
+ ),
2295
+ initial: { scale: 0, opacity: 0 },
2296
+ animate: {
2297
+ scale: currentState === "success" || currentState === "error" ? 1 : 0,
2298
+ opacity: currentState === "success" || currentState === "error" ? 1 : 0
2299
+ },
2300
+ transition: { duration: 0.3 },
2301
+ style: { zIndex: -1 }
2302
+ }
2303
+ )
2304
+ ]
2305
+ }
2306
+ );
2307
+ }
2308
+ );
2309
+ AnimatedButtonInternal.displayName = "AnimatedButtonInternal";
2310
+ var AnimatedButton = React55__default.forwardRef(
2311
+ ({ className, ...props }, ref) => {
2312
+ const docsProAccess = { hasAccess: true };
2313
+ const { hasProAccess, isLoading } = useSubscription();
2314
+ if (!docsProAccess.isDocsMode && !isLoading && !hasProAccess) {
2315
+ return /* @__PURE__ */ jsx(Card, { className: cn("w-fit", className), children: /* @__PURE__ */ jsx(CardContent, { className: "py-6 text-center", children: /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
2316
+ /* @__PURE__ */ jsx("div", { className: "rounded-full bg-purple-100 dark:bg-purple-900/30 p-3 w-fit mx-auto", children: /* @__PURE__ */ jsx(Lock, { className: "h-6 w-6 text-purple-600 dark:text-purple-400" }) }),
2317
+ /* @__PURE__ */ jsxs("div", { children: [
2318
+ /* @__PURE__ */ jsx("h3", { className: "font-semibold text-sm mb-2", children: "Pro Feature" }),
2319
+ /* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-xs mb-4", children: "Animated Button is available exclusively to MoonUI Pro subscribers." }),
2320
+ /* @__PURE__ */ jsx("a", { href: "/pricing", children: /* @__PURE__ */ jsxs(Button, { size: "sm", children: [
2321
+ /* @__PURE__ */ jsx(Sparkles, { className: "mr-2 h-4 w-4" }),
2322
+ "Upgrade to Pro"
2323
+ ] }) })
2324
+ ] })
2325
+ ] }) }) });
2326
+ }
2327
+ return /* @__PURE__ */ jsx(AnimatedButtonInternal, { className, ref, ...props });
2328
+ }
2329
+ );
2330
+ AnimatedButton.displayName = "AnimatedButton";
2331
+ var ErrorBoundaryInternal = class extends Component {
2332
+ constructor(props) {
2333
+ super(props);
2334
+ this.state = { hasError: false };
2335
+ }
2336
+ static getDerivedStateFromError(error) {
2337
+ return { hasError: true, error };
2338
+ }
2339
+ componentDidCatch(error, errorInfo) {
2340
+ this.props.onError?.(error, errorInfo);
2341
+ console.error("ErrorBoundary caught an error:", error, errorInfo);
2342
+ }
2343
+ render() {
2344
+ if (this.state.hasError) {
2345
+ if (this.props.fallback) {
2346
+ return this.props.fallback;
2347
+ }
2348
+ return /* @__PURE__ */ jsx("div", { className: cn("flex items-center justify-center min-h-[200px] p-4", this.props.className), children: /* @__PURE__ */ jsxs(Card, { className: "w-full max-w-md", children: [
2349
+ /* @__PURE__ */ jsxs(CardHeader, { className: "text-center", children: [
2350
+ /* @__PURE__ */ jsx("div", { className: "mx-auto mb-4 flex h-12 w-12 items-center justify-center rounded-full bg-red-100", children: /* @__PURE__ */ jsx(AlertTriangle, { className: "h-6 w-6 text-red-600" }) }),
2351
+ /* @__PURE__ */ jsx(CardTitle, { children: "Something went wrong" }),
2352
+ /* @__PURE__ */ jsx(CardDescription, { children: "An error occurred while rendering this component" })
2353
+ ] }),
2354
+ /* @__PURE__ */ jsx(CardContent, { className: "text-center", children: /* @__PURE__ */ jsxs(
2355
+ Button,
2356
+ {
2357
+ onClick: () => this.setState({ hasError: false, error: void 0 }),
2358
+ className: "mt-4",
2359
+ children: [
2360
+ /* @__PURE__ */ jsx(RefreshCw, { className: "mr-2 h-4 w-4" }),
2361
+ "Try again"
2362
+ ]
2363
+ }
2364
+ ) })
2365
+ ] }) });
2366
+ }
2367
+ return this.props.children;
2368
+ }
2369
+ };
2370
+ function ErrorBoundaryWrapper(props) {
2371
+ const docsProAccess = { hasAccess: true };
2372
+ const { hasProAccess, isLoading } = useSubscription();
2373
+ if (!docsProAccess.isDocsMode && !isLoading && !hasProAccess) {
2374
+ return /* @__PURE__ */ jsx(Card, { className: cn("w-fit", props.className), children: /* @__PURE__ */ jsx(CardContent, { className: "py-6 text-center", children: /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
2375
+ /* @__PURE__ */ jsx("div", { className: "rounded-full bg-purple-100 dark:bg-purple-900/30 p-3 w-fit mx-auto", children: /* @__PURE__ */ jsx(Lock, { className: "h-6 w-6 text-purple-600 dark:text-purple-400" }) }),
2376
+ /* @__PURE__ */ jsxs("div", { children: [
2377
+ /* @__PURE__ */ jsx("h3", { className: "font-semibold text-sm mb-2", children: "Pro Feature" }),
2378
+ /* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-xs mb-4", children: "Error Boundary is available exclusively to MoonUI Pro subscribers." }),
2379
+ /* @__PURE__ */ jsx("a", { href: "/pricing", children: /* @__PURE__ */ jsxs(Button, { size: "sm", children: [
2380
+ /* @__PURE__ */ jsx(Sparkles, { className: "mr-2 h-4 w-4" }),
2381
+ "Upgrade to Pro"
2382
+ ] }) })
2383
+ ] })
2384
+ ] }) }) });
2385
+ }
2386
+ return /* @__PURE__ */ jsx(ErrorBoundaryInternal, { ...props });
2387
+ }
2388
+ var ErrorBoundary = ErrorBoundaryWrapper;
2389
+ var FloatingActionButtonInternal = React55__default.forwardRef(
2390
+ ({
2391
+ actions = [],
2392
+ position = "bottom-right",
2393
+ size: size4 = "default",
2394
+ className,
2395
+ children,
2396
+ onClick,
2397
+ ...props
2398
+ }, ref) => {
2399
+ const [isOpen, setIsOpen] = useState(false);
2400
+ const sizeClasses = {
2401
+ sm: "h-10 w-10",
2402
+ default: "h-12 w-12",
2403
+ lg: "h-14 w-14"
2404
+ };
2405
+ const positionClasses = {
2406
+ "bottom-right": "bottom-4 right-4",
2407
+ "bottom-left": "bottom-4 left-4",
2408
+ "top-right": "top-4 right-4",
2409
+ "top-left": "top-4 left-4"
2410
+ };
2411
+ const actionPositions = {
2412
+ "bottom-right": { x: -60, y: 0 },
2413
+ "bottom-left": { x: 60, y: 0 },
2414
+ "top-right": { x: -60, y: 0 },
2415
+ "top-left": { x: 60, y: 0 }
2416
+ };
2417
+ const handleMainClick = (e) => {
2418
+ if (actions.length > 0) {
2419
+ setIsOpen(!isOpen);
2420
+ } else if (onClick) {
2421
+ onClick(e);
2422
+ }
2423
+ };
2424
+ return /* @__PURE__ */ jsxs("div", { className: cn("fixed z-50", positionClasses[position]), children: [
2425
+ /* @__PURE__ */ jsx(AnimatePresence, { children: isOpen && actions.length > 0 && /* @__PURE__ */ jsx("div", { className: "absolute", children: actions.map((action, index2) => /* @__PURE__ */ jsxs(
2426
+ motion.div,
2427
+ {
2428
+ initial: {
2429
+ scale: 0,
2430
+ opacity: 0,
2431
+ x: 0,
2432
+ y: 0
2433
+ },
2434
+ animate: {
2435
+ scale: 1,
2436
+ opacity: 1,
2437
+ x: actionPositions[position].x,
2438
+ y: actionPositions[position].y * (index2 + 1) - 10
2439
+ },
2440
+ exit: {
2441
+ scale: 0,
2442
+ opacity: 0,
2443
+ x: 0,
2444
+ y: 0
2445
+ },
2446
+ transition: {
2447
+ delay: index2 * 0.05,
2448
+ type: "spring",
2449
+ stiffness: 200,
2450
+ damping: 15
2451
+ },
2452
+ className: "absolute flex items-center gap-2",
2453
+ style: {
2454
+ transform: `translate(${position.includes("right") ? "0" : "0"}, ${position.includes("bottom") ? "0" : "0"})`
2455
+ },
2456
+ children: [
2457
+ /* @__PURE__ */ jsx(
2458
+ motion.div,
2459
+ {
2460
+ initial: { opacity: 0, scale: 0.8 },
2461
+ animate: { opacity: 1, scale: 1 },
2462
+ exit: { opacity: 0, scale: 0.8 },
2463
+ transition: { delay: (index2 + 1) * 0.05 },
2464
+ className: cn(
2465
+ "px-2 py-1 bg-background/90 backdrop-blur-sm text-sm font-medium rounded-md shadow-sm border whitespace-nowrap",
2466
+ position.includes("right") ? "mr-2" : "ml-2"
2467
+ ),
2468
+ children: action.label
2469
+ }
2470
+ ),
2471
+ /* @__PURE__ */ jsx(
2472
+ "button",
2473
+ {
2474
+ onClick: () => {
2475
+ action.onClick();
2476
+ setIsOpen(false);
2477
+ },
2478
+ className: cn(
2479
+ "inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground shadow-lg hover:bg-primary/90 transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
2480
+ sizeClasses[size4]
2481
+ ),
2482
+ children: action.icon
2483
+ }
2484
+ )
2485
+ ]
2486
+ },
2487
+ index2
2488
+ )) }) }),
2489
+ /* @__PURE__ */ jsx(
2490
+ motion.button,
2491
+ {
2492
+ ref,
2493
+ className: cn(
2494
+ "inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground shadow-lg hover:bg-primary/90 transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
2495
+ sizeClasses[size4],
2496
+ className
2497
+ ),
2498
+ onClick: handleMainClick,
2499
+ whileHover: { scale: 1.1 },
2500
+ whileTap: { scale: 0.9 },
2501
+ animate: { rotate: isOpen ? 45 : 0 },
2502
+ transition: { duration: 0.2 },
2503
+ ...props,
2504
+ children: children || (actions.length > 0 ? /* @__PURE__ */ jsx(Plus, { className: "h-5 w-5" }) : /* @__PURE__ */ jsx(Plus, { className: "h-5 w-5" }))
2505
+ }
2506
+ ),
2507
+ /* @__PURE__ */ jsx(AnimatePresence, { children: isOpen && /* @__PURE__ */ jsx(
2508
+ motion.div,
2509
+ {
2510
+ initial: { opacity: 0 },
2511
+ animate: { opacity: 1 },
2512
+ exit: { opacity: 0 },
2513
+ className: "fixed inset-0 z-[-1]",
2514
+ onClick: () => setIsOpen(false)
2515
+ }
2516
+ ) })
2517
+ ] });
2518
+ }
2519
+ );
2520
+ FloatingActionButtonInternal.displayName = "FloatingActionButtonInternal";
2521
+ var FloatingActionButton = React55__default.forwardRef(
2522
+ ({ className, ...props }, ref) => {
2523
+ const docsProAccess = { hasAccess: true };
2524
+ const { hasProAccess, isLoading } = useSubscription();
2525
+ if (!docsProAccess.isDocsMode && !isLoading && !hasProAccess) {
2526
+ return /* @__PURE__ */ jsx(Card, { className: cn("w-fit", className), children: /* @__PURE__ */ jsx(CardContent, { className: "py-6 text-center", children: /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
2527
+ /* @__PURE__ */ jsx("div", { className: "rounded-full bg-purple-100 dark:bg-purple-900/30 p-3 w-fit mx-auto", children: /* @__PURE__ */ jsx(Lock, { className: "h-6 w-6 text-purple-600 dark:text-purple-400" }) }),
2528
+ /* @__PURE__ */ jsxs("div", { children: [
2529
+ /* @__PURE__ */ jsx("h3", { className: "font-semibold text-sm mb-2", children: "Pro Feature" }),
2530
+ /* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-xs mb-4", children: "Floating Action Button is available exclusively to MoonUI Pro subscribers." }),
2531
+ /* @__PURE__ */ jsx("a", { href: "/pricing", children: /* @__PURE__ */ jsxs(Button, { size: "sm", children: [
2532
+ /* @__PURE__ */ jsx(Sparkles, { className: "mr-2 h-4 w-4" }),
2533
+ "Upgrade to Pro"
2534
+ ] }) })
2535
+ ] })
2536
+ ] }) }) });
2537
+ }
2538
+ return /* @__PURE__ */ jsx(FloatingActionButtonInternal, { className, ref, ...props });
2539
+ }
2540
+ );
2541
+ FloatingActionButton.displayName = "FloatingActionButton";
2542
+ var HoverCard3DInternal = React55__default.forwardRef(
2543
+ ({
2544
+ children,
2545
+ className,
2546
+ perspective = 1e3,
2547
+ rotationIntensity = 15,
2548
+ springConfig = { stiffness: 200, damping: 15 },
2549
+ ...props
2550
+ }, ref) => {
2551
+ const cardRef = useRef(null);
2552
+ const [isHovered, setIsHovered] = useState(false);
2553
+ const x = useMotionValue(0);
2554
+ const y = useMotionValue(0);
2555
+ const springX = useSpring(x, springConfig);
2556
+ const springY = useSpring(y, springConfig);
2557
+ const rotateX = useTransform(springY, [-0.5, 0.5], [rotationIntensity, -rotationIntensity]);
2558
+ const rotateY = useTransform(springX, [-0.5, 0.5], [-rotationIntensity, rotationIntensity]);
2559
+ const handleMouseMove2 = (e) => {
2560
+ if (!cardRef.current)
2561
+ return;
2562
+ const rect = cardRef.current.getBoundingClientRect();
2563
+ const centerX = rect.left + rect.width / 2;
2564
+ const centerY = rect.top + rect.height / 2;
2565
+ const rotateXValue = (e.clientY - centerY) / (rect.height / 2);
2566
+ const rotateYValue = (e.clientX - centerX) / (rect.width / 2);
2567
+ x.set(rotateYValue);
2568
+ y.set(rotateXValue);
2569
+ };
2570
+ const handleMouseEnter = () => {
2571
+ setIsHovered(true);
2572
+ };
2573
+ const handleMouseLeave2 = () => {
2574
+ setIsHovered(false);
2575
+ x.set(0);
2576
+ y.set(0);
2577
+ };
2578
+ return /* @__PURE__ */ jsxs(
2579
+ motion.div,
2580
+ {
2581
+ ref: (node) => {
2582
+ cardRef.current = node;
2583
+ if (typeof ref === "function") {
2584
+ ref(node);
2585
+ } else if (ref) {
2586
+ ref.current = node;
2587
+ }
2588
+ },
2589
+ className: cn(
2590
+ "relative rounded-lg border bg-card text-card-foreground shadow-sm transition-colors duration-200 hover:bg-card/90",
2591
+ className
2592
+ ),
2593
+ onMouseMove: handleMouseMove2,
2594
+ onMouseEnter: handleMouseEnter,
2595
+ onMouseLeave: handleMouseLeave2,
2596
+ style: {
2597
+ transformPerspective: perspective,
2598
+ transformStyle: "preserve-3d"
2599
+ },
2600
+ animate: {
2601
+ rotateX: isHovered ? rotateX : 0,
2602
+ rotateY: isHovered ? rotateY : 0,
2603
+ scale: isHovered ? 1.05 : 1
2604
+ },
2605
+ transition: { duration: 0.15 },
2606
+ ...props,
2607
+ children: [
2608
+ /* @__PURE__ */ jsx(
2609
+ motion.div,
2610
+ {
2611
+ className: "relative z-10",
2612
+ animate: {
2613
+ z: isHovered ? 20 : 0
2614
+ },
2615
+ transition: { duration: 0.2 },
2616
+ children
2617
+ }
2618
+ ),
2619
+ /* @__PURE__ */ jsx(
2620
+ motion.div,
2621
+ {
2622
+ className: "absolute inset-0 rounded-lg bg-gradient-to-br from-white/5 via-transparent to-black/5 pointer-events-none",
2623
+ animate: {
2624
+ opacity: isHovered ? 1 : 0
2625
+ },
2626
+ transition: { duration: 0.3 }
2627
+ }
2628
+ ),
2629
+ /* @__PURE__ */ jsx(
2630
+ motion.div,
2631
+ {
2632
+ className: "absolute inset-0 rounded-lg bg-primary/5 blur-xl",
2633
+ animate: {
2634
+ opacity: isHovered ? 0.8 : 0,
2635
+ scale: isHovered ? 1.2 : 1
2636
+ },
2637
+ transition: { duration: 0.3 },
2638
+ style: { zIndex: -1 }
2639
+ }
2640
+ )
2641
+ ]
2642
+ }
2643
+ );
2644
+ }
2645
+ );
2646
+ HoverCard3DInternal.displayName = "HoverCard3DInternal";
2647
+ var HoverCard3D = React55__default.forwardRef(
2648
+ ({ className, ...props }, ref) => {
2649
+ const docsProAccess = { hasAccess: true };
2650
+ const { hasProAccess, isLoading } = useSubscription();
2651
+ if (!docsProAccess.isDocsMode && !isLoading && !hasProAccess) {
2652
+ return /* @__PURE__ */ jsx(Card, { className: cn("w-fit", className), children: /* @__PURE__ */ jsx(CardContent, { className: "py-6 text-center", children: /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
2653
+ /* @__PURE__ */ jsx("div", { className: "rounded-full bg-purple-100 dark:bg-purple-900/30 p-3 w-fit mx-auto", children: /* @__PURE__ */ jsx(Lock, { className: "h-6 w-6 text-purple-600 dark:text-purple-400" }) }),
2654
+ /* @__PURE__ */ jsxs("div", { children: [
2655
+ /* @__PURE__ */ jsx("h3", { className: "font-semibold text-sm mb-2", children: "Pro Feature" }),
2656
+ /* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-xs mb-4", children: "3D Hover Card is available exclusively to MoonUI Pro subscribers." }),
2657
+ /* @__PURE__ */ jsx("a", { href: "/pricing", children: /* @__PURE__ */ jsxs(Button, { size: "sm", children: [
2658
+ /* @__PURE__ */ jsx(Sparkles, { className: "mr-2 h-4 w-4" }),
2659
+ "Upgrade to Pro"
2660
+ ] }) })
2661
+ ] })
2662
+ ] }) }) });
2663
+ }
2664
+ return /* @__PURE__ */ jsx(HoverCard3DInternal, { className, ref, ...props });
2665
+ }
2666
+ );
2667
+ HoverCard3D.displayName = "HoverCard3D";
2668
+ var MagneticButtonInternal = React55__default.forwardRef(
2669
+ ({
2670
+ children,
2671
+ className,
2672
+ strength = 0.3,
2673
+ range = 100,
2674
+ springConfig = { stiffness: 200, damping: 15 },
2675
+ ...props
2676
+ }, ref) => {
2677
+ const buttonRef = useRef(null);
2678
+ const [isHovered, setIsHovered] = useState(false);
2679
+ const x = useMotionValue(0);
2680
+ const y = useMotionValue(0);
2681
+ const springX = useSpring(x, springConfig);
2682
+ const springY = useSpring(y, springConfig);
2683
+ const rotateX = useTransform(springY, [-range, range], [5, -5]);
2684
+ const rotateY = useTransform(springX, [-range, range], [-5, 5]);
2685
+ const handleMouseMove2 = (e) => {
2686
+ if (!buttonRef.current)
2687
+ return;
2688
+ const rect = buttonRef.current.getBoundingClientRect();
2689
+ const centerX = rect.left + rect.width / 2;
2690
+ const centerY = rect.top + rect.height / 2;
2691
+ const deltaX = e.clientX - centerX;
2692
+ const deltaY = e.clientY - centerY;
2693
+ const distance = Math.sqrt(deltaX * deltaX + deltaY * deltaY);
2694
+ if (distance < range) {
2695
+ x.set(deltaX * strength);
2696
+ y.set(deltaY * strength);
2697
+ }
2698
+ };
2699
+ const handleMouseLeave2 = () => {
2700
+ setIsHovered(false);
2701
+ x.set(0);
2702
+ y.set(0);
2703
+ };
2704
+ const handleMouseEnter = () => {
2705
+ setIsHovered(true);
2706
+ };
2707
+ return /* @__PURE__ */ jsxs(
2708
+ motion.button,
2709
+ {
2710
+ ref: (node) => {
2711
+ buttonRef.current = node;
2712
+ if (typeof ref === "function") {
2713
+ ref(node);
2714
+ } else if (ref) {
2715
+ ref.current = node;
2716
+ }
2717
+ },
2718
+ className: cn(
2719
+ "relative inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",
2720
+ "bg-primary text-primary-foreground shadow hover:bg-primary/90",
2721
+ "h-9 px-4 py-2",
2722
+ className
2723
+ ),
2724
+ onMouseMove: handleMouseMove2,
2725
+ onMouseLeave: handleMouseLeave2,
2726
+ onMouseEnter: handleMouseEnter,
2727
+ style: {
2728
+ x: springX,
2729
+ y: springY,
2730
+ rotateX,
2731
+ rotateY,
2732
+ transformPerspective: 1e3
2733
+ },
2734
+ whileHover: { scale: 1.05 },
2735
+ whileTap: { scale: 0.95 },
2736
+ animate: {
2737
+ rotateX: isHovered ? rotateX : 0,
2738
+ rotateY: isHovered ? rotateY : 0
2739
+ },
2740
+ transition: { duration: 0.3 },
2741
+ ...props,
2742
+ children: [
2743
+ /* @__PURE__ */ jsx(
2744
+ motion.div,
2745
+ {
2746
+ className: "relative z-10",
2747
+ animate: {
2748
+ scale: isHovered ? 1.02 : 1
2749
+ },
2750
+ transition: { duration: 0.2 },
2751
+ children
2752
+ }
2753
+ ),
2754
+ /* @__PURE__ */ jsx(
2755
+ motion.div,
2756
+ {
2757
+ className: "absolute inset-0 rounded-md bg-primary/20 blur-md",
2758
+ animate: {
2759
+ opacity: isHovered ? 0.8 : 0,
2760
+ scale: isHovered ? 1.1 : 1
2761
+ },
2762
+ transition: { duration: 0.3 }
2763
+ }
2764
+ )
2765
+ ]
2766
+ }
2767
+ );
2768
+ }
2769
+ );
2770
+ MagneticButtonInternal.displayName = "MagneticButtonInternal";
2771
+ var MagneticButton = React55__default.forwardRef(
2772
+ ({ className, ...props }, ref) => {
2773
+ const docsProAccess = { hasAccess: true };
2774
+ const { hasProAccess, isLoading } = useSubscription();
2775
+ if (!docsProAccess.isDocsMode && !isLoading && !hasProAccess) {
2776
+ return /* @__PURE__ */ jsx(Card, { className: cn("w-fit", className), children: /* @__PURE__ */ jsx(CardContent, { className: "py-6 text-center", children: /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
2777
+ /* @__PURE__ */ jsx("div", { className: "rounded-full bg-purple-100 dark:bg-purple-900/30 p-3 w-fit mx-auto", children: /* @__PURE__ */ jsx(Lock, { className: "h-6 w-6 text-purple-600 dark:text-purple-400" }) }),
2778
+ /* @__PURE__ */ jsxs("div", { children: [
2779
+ /* @__PURE__ */ jsx("h3", { className: "font-semibold text-sm mb-2", children: "Pro Feature" }),
2780
+ /* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-xs mb-4", children: "Magnetic Button is available exclusively to MoonUI Pro subscribers." }),
2781
+ /* @__PURE__ */ jsx("a", { href: "/pricing", children: /* @__PURE__ */ jsxs(Button, { size: "sm", children: [
2782
+ /* @__PURE__ */ jsx(Sparkles, { className: "mr-2 h-4 w-4" }),
2783
+ "Upgrade to Pro"
2784
+ ] }) })
2785
+ ] })
2786
+ ] }) }) });
2787
+ }
2788
+ return /* @__PURE__ */ jsx(MagneticButtonInternal, { className, ref, ...props });
2789
+ }
2790
+ );
2791
+ MagneticButton.displayName = "MagneticButton";
2792
+ var PinchZoomInternal = React55__default.forwardRef(
2793
+ ({
2794
+ children,
2795
+ minZoom = 0.5,
2796
+ maxZoom = 3,
2797
+ initialZoom = 1,
2798
+ className,
2799
+ contentClassName,
2800
+ onZoomChange,
2801
+ ...props
2802
+ }, ref) => {
2803
+ const containerRef = useRef(null);
2804
+ const [isDragging, setIsDragging] = useState(false);
2805
+ const scale = useMotionValue(initialZoom);
2806
+ const x = useMotionValue(0);
2807
+ const y = useMotionValue(0);
2808
+ const constrainedScale = useTransform(scale, (value) => {
2809
+ return Math.min(Math.max(value, minZoom), maxZoom);
2810
+ });
2811
+ const handleWheel = useCallback((event) => {
2812
+ event.preventDefault();
2813
+ const delta = -event.deltaY / 1e3;
2814
+ const currentScale = scale.get();
2815
+ const newScale = Math.min(Math.max(currentScale + delta, minZoom), maxZoom);
2816
+ animate(scale, newScale, { duration: 0.2 });
2817
+ onZoomChange?.(newScale);
2818
+ }, [scale, minZoom, maxZoom, onZoomChange]);
2819
+ const handleDoubleClick2 = useCallback((event) => {
2820
+ event.preventDefault();
2821
+ const currentScale = scale.get();
2822
+ const newScale = currentScale > 1 ? 1 : 2;
2823
+ animate(scale, Math.min(Math.max(newScale, minZoom), maxZoom), {
2824
+ duration: 0.3,
2825
+ type: "spring",
2826
+ stiffness: 300
2827
+ });
2828
+ if (newScale === 1) {
2829
+ animate(x, 0, { duration: 0.3 });
2830
+ animate(y, 0, { duration: 0.3 });
2831
+ }
2832
+ onZoomChange?.(newScale);
2833
+ }, [scale, x, y, minZoom, maxZoom, onZoomChange]);
2834
+ const resetZoom = useCallback(() => {
2835
+ animate(scale, initialZoom, { duration: 0.3 });
2836
+ animate(x, 0, { duration: 0.3 });
2837
+ animate(y, 0, { duration: 0.3 });
2838
+ onZoomChange?.(initialZoom);
2839
+ }, [scale, x, y, initialZoom, onZoomChange]);
2840
+ return /* @__PURE__ */ jsxs(
2841
+ "div",
2842
+ {
2843
+ ref,
2844
+ className: cn(
2845
+ "relative overflow-hidden touch-none select-none",
2846
+ "cursor-grab active:cursor-grabbing",
2847
+ className
2848
+ ),
2849
+ onWheel: handleWheel,
2850
+ onDoubleClick: handleDoubleClick2,
2851
+ ...props,
2852
+ children: [
2853
+ /* @__PURE__ */ jsx(
2854
+ motion.div,
2855
+ {
2856
+ ref: containerRef,
2857
+ drag: true,
2858
+ dragElastic: 0,
2859
+ dragMomentum: false,
2860
+ onDragStart: () => setIsDragging(true),
2861
+ onDragEnd: () => setIsDragging(false),
2862
+ style: {
2863
+ scale: constrainedScale,
2864
+ x,
2865
+ y
2866
+ },
2867
+ className: cn(
2868
+ "w-full h-full flex items-center justify-center",
2869
+ isDragging && "cursor-grabbing",
2870
+ contentClassName
2871
+ ),
2872
+ children
2873
+ }
2874
+ ),
2875
+ /* @__PURE__ */ jsx(
2876
+ "button",
2877
+ {
2878
+ onClick: resetZoom,
2879
+ className: cn(
2880
+ "absolute bottom-4 right-4 px-3 py-1 bg-background/80 backdrop-blur-sm",
2881
+ "border rounded-md text-sm hover:bg-background/90 transition-colors",
2882
+ "opacity-0 hover:opacity-100 focus:opacity-100"
2883
+ ),
2884
+ children: "Reset"
2885
+ }
2886
+ )
2887
+ ]
2888
+ }
2889
+ );
2890
+ }
2891
+ );
2892
+ PinchZoomInternal.displayName = "PinchZoomInternal";
2893
+ var PinchZoom = React55__default.forwardRef(
2894
+ ({ className, ...props }, ref) => {
2895
+ const docsProAccess = { hasAccess: true };
2896
+ const { hasProAccess, isLoading } = useSubscription();
2897
+ if (!docsProAccess.isDocsMode && !isLoading && !hasProAccess) {
2898
+ return /* @__PURE__ */ jsx(Card, { className: cn("w-fit", className), children: /* @__PURE__ */ jsx(CardContent, { className: "py-6 text-center", children: /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
2899
+ /* @__PURE__ */ jsx("div", { className: "rounded-full bg-purple-100 dark:bg-purple-900/30 p-3 w-fit mx-auto", children: /* @__PURE__ */ jsx(Lock, { className: "h-6 w-6 text-purple-600 dark:text-purple-400" }) }),
2900
+ /* @__PURE__ */ jsxs("div", { children: [
2901
+ /* @__PURE__ */ jsx("h3", { className: "font-semibold text-sm mb-2", children: "Pro Feature" }),
2902
+ /* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-xs mb-4", children: "Pinch Zoom is available exclusively to MoonUI Pro subscribers." }),
2903
+ /* @__PURE__ */ jsx("a", { href: "/pricing", children: /* @__PURE__ */ jsxs(Button, { size: "sm", children: [
2904
+ /* @__PURE__ */ jsx(Sparkles, { className: "mr-2 h-4 w-4" }),
2905
+ "Upgrade to Pro"
2906
+ ] }) })
2907
+ ] })
2908
+ ] }) }) });
2909
+ }
2910
+ return /* @__PURE__ */ jsx(PinchZoomInternal, { className, ref, ...props });
2911
+ }
2912
+ );
2913
+ PinchZoom.displayName = "PinchZoom";
2914
+ var SpotlightCardInternal = React55__default.forwardRef(
2915
+ ({
2916
+ children,
2917
+ className,
2918
+ spotlightColor = "rgba(255, 255, 255, 0.25)",
2919
+ spotlightSize = 300,
2920
+ intensity = 0.8,
2921
+ borderGlow = true,
2922
+ ...props
2923
+ }, ref) => {
2924
+ const cardRef = useRef(null);
2925
+ const [mousePosition, setMousePosition] = useState({ x: 0, y: 0 });
2926
+ const [isHovered, setIsHovered] = useState(false);
2927
+ const handleMouseMove2 = (e) => {
2928
+ if (!cardRef.current)
2929
+ return;
2930
+ const rect = cardRef.current.getBoundingClientRect();
2931
+ const x = e.clientX - rect.left;
2932
+ const y = e.clientY - rect.top;
2933
+ setMousePosition({ x, y });
2934
+ };
2935
+ const handleMouseEnter = () => {
2936
+ setIsHovered(true);
2937
+ };
2938
+ const handleMouseLeave2 = () => {
2939
+ setIsHovered(false);
2940
+ };
2941
+ return /* @__PURE__ */ jsxs(
2942
+ motion.div,
2943
+ {
2944
+ ref: (node) => {
2945
+ cardRef.current = node;
2946
+ if (typeof ref === "function") {
2947
+ ref(node);
2948
+ } else if (ref) {
2949
+ ref.current = node;
2950
+ }
2951
+ },
2952
+ className: cn(
2953
+ "relative overflow-hidden rounded-lg border bg-card text-card-foreground shadow-sm",
2954
+ className
2955
+ ),
2956
+ onMouseMove: handleMouseMove2,
2957
+ onMouseEnter: handleMouseEnter,
2958
+ onMouseLeave: handleMouseLeave2,
2959
+ whileHover: { scale: 1.02 },
2960
+ transition: { duration: 0.2 },
2961
+ ...props,
2962
+ children: [
2963
+ /* @__PURE__ */ jsx(
2964
+ motion.div,
2965
+ {
2966
+ className: "absolute inset-0 pointer-events-none",
2967
+ animate: {
2968
+ opacity: isHovered ? intensity : 0
2969
+ },
2970
+ transition: { duration: 0.3 },
2971
+ style: {
2972
+ background: `radial-gradient(${spotlightSize}px circle at ${mousePosition.x}px ${mousePosition.y}px, ${spotlightColor}, transparent 70%)`
2973
+ }
2974
+ }
2975
+ ),
2976
+ /* @__PURE__ */ jsx(
2977
+ motion.div,
2978
+ {
2979
+ className: "absolute inset-0 pointer-events-none",
2980
+ animate: {
2981
+ opacity: isHovered ? intensity * 0.5 : 0
2982
+ },
2983
+ transition: { duration: 0.4, delay: 0.1 },
2984
+ style: {
2985
+ background: `radial-gradient(${spotlightSize * 1.5}px circle at ${mousePosition.x}px ${mousePosition.y}px, ${spotlightColor.replace("0.25", "0.1")}, transparent 80%)`
2986
+ }
2987
+ }
2988
+ ),
2989
+ borderGlow && /* @__PURE__ */ jsx(
2990
+ motion.div,
2991
+ {
2992
+ className: "absolute inset-0 rounded-lg pointer-events-none",
2993
+ animate: {
2994
+ opacity: isHovered ? 0.6 : 0
2995
+ },
2996
+ transition: { duration: 0.3 },
2997
+ style: {
2998
+ background: `linear-gradient(135deg, transparent 30%, ${spotlightColor.replace("0.25", "0.4")} 50%, transparent 70%)`,
2999
+ backgroundSize: "200% 200%",
3000
+ backgroundPosition: `${mousePosition.x / cardRef.current?.offsetWidth * 100}% ${mousePosition.y / cardRef.current?.offsetHeight * 100}%`
3001
+ }
3002
+ }
3003
+ ),
3004
+ /* @__PURE__ */ jsx("div", { className: "relative z-10", children }),
3005
+ /* @__PURE__ */ jsx(
3006
+ motion.div,
3007
+ {
3008
+ className: "absolute inset-0 pointer-events-none",
3009
+ animate: {
3010
+ opacity: isHovered ? 0.3 : 0
3011
+ },
3012
+ transition: { duration: 0.5 },
3013
+ children: [...Array(3)].map((_, i) => /* @__PURE__ */ jsx(
3014
+ motion.div,
3015
+ {
3016
+ className: "absolute w-1 h-1 bg-white rounded-full",
3017
+ animate: isHovered ? {
3018
+ x: [mousePosition.x, mousePosition.x + Math.random() * 100 - 50],
3019
+ y: [mousePosition.y, mousePosition.y + Math.random() * 100 - 50],
3020
+ opacity: [0, 1, 0],
3021
+ scale: [0, 1, 0]
3022
+ } : {},
3023
+ transition: {
3024
+ duration: 2,
3025
+ delay: i * 0.2,
3026
+ repeat: isHovered ? Infinity : 0,
3027
+ ease: "easeOut"
3028
+ },
3029
+ style: {
3030
+ left: mousePosition.x,
3031
+ top: mousePosition.y
3032
+ }
3033
+ },
3034
+ i
3035
+ ))
3036
+ }
3037
+ )
3038
+ ]
3039
+ }
3040
+ );
3041
+ }
3042
+ );
3043
+ SpotlightCardInternal.displayName = "SpotlightCardInternal";
3044
+ var SpotlightCard = React55__default.forwardRef(
3045
+ ({ className, ...props }, ref) => {
3046
+ const docsProAccess = { hasAccess: true };
3047
+ const { hasProAccess, isLoading } = useSubscription();
3048
+ if (!docsProAccess.isDocsMode && !isLoading && !hasProAccess) {
3049
+ return /* @__PURE__ */ jsx(Card, { className: cn("w-fit", className), children: /* @__PURE__ */ jsx(CardContent, { className: "py-6 text-center", children: /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
3050
+ /* @__PURE__ */ jsx("div", { className: "rounded-full bg-purple-100 dark:bg-purple-900/30 p-3 w-fit mx-auto", children: /* @__PURE__ */ jsx(Lock, { className: "h-6 w-6 text-purple-600 dark:text-purple-400" }) }),
3051
+ /* @__PURE__ */ jsxs("div", { children: [
3052
+ /* @__PURE__ */ jsx("h3", { className: "font-semibold text-sm mb-2", children: "Pro Feature" }),
3053
+ /* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-xs mb-4", children: "Spotlight Card is available exclusively to MoonUI Pro subscribers." }),
3054
+ /* @__PURE__ */ jsx("a", { href: "/pricing", children: /* @__PURE__ */ jsxs(Button, { size: "sm", children: [
3055
+ /* @__PURE__ */ jsx(Sparkles, { className: "mr-2 h-4 w-4" }),
3056
+ "Upgrade to Pro"
3057
+ ] }) })
3058
+ ] })
3059
+ ] }) }) });
3060
+ }
3061
+ return /* @__PURE__ */ jsx(SpotlightCardInternal, { className, ref, ...props });
3062
+ }
3063
+ );
3064
+ SpotlightCard.displayName = "SpotlightCard";
2153
3065
  var badgeVariants = cva(
2154
3066
  [
2155
3067
  "inline-flex items-center gap-1.5",
@@ -2313,22 +3225,6 @@ function Badge({
2313
3225
  }
2314
3226
  );
2315
3227
  }
2316
-
2317
- // src/hooks/use-subscription.ts
2318
- function useSubscription() {
2319
- return {
2320
- isLoading: false,
2321
- isAuthenticated: true,
2322
- isAdmin: false,
2323
- hasProAccess: true,
2324
- // Pro package kullanıcıları varsayılan olarak pro erişime sahip
2325
- subscriptionPlan: "pro",
2326
- subscription: {
2327
- status: "active",
2328
- plan: "pro"
2329
- }
2330
- };
2331
- }
2332
3228
  var inputWrapperVariants = cva(
2333
3229
  "group relative flex items-center w-full transition-colors",
2334
3230
  {
@@ -2402,7 +3298,7 @@ var inputVariants = cva(
2402
3298
  }
2403
3299
  }
2404
3300
  );
2405
- var Input = React50.forwardRef(
3301
+ var Input = React55.forwardRef(
2406
3302
  ({
2407
3303
  className,
2408
3304
  wrapperClassName,
@@ -2505,26 +3401,26 @@ function composeRefs(...refs) {
2505
3401
  };
2506
3402
  }
2507
3403
  function useComposedRefs(...refs) {
2508
- return React50.useCallback(composeRefs(...refs), refs);
3404
+ return React55.useCallback(composeRefs(...refs), refs);
2509
3405
  }
2510
3406
  function createSlot(ownerName) {
2511
3407
  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);
2512
- const Slot22 = React50.forwardRef((props, forwardedRef) => {
3408
+ const Slot22 = React55.forwardRef((props, forwardedRef) => {
2513
3409
  const { children, ...slotProps } = props;
2514
- const childrenArray = React50.Children.toArray(children);
3410
+ const childrenArray = React55.Children.toArray(children);
2515
3411
  const slottable = childrenArray.find(isSlottable);
2516
3412
  if (slottable) {
2517
3413
  const newElement = slottable.props.children;
2518
3414
  const newChildren = childrenArray.map((child) => {
2519
3415
  if (child === slottable) {
2520
- if (React50.Children.count(newElement) > 1)
2521
- return React50.Children.only(null);
2522
- return React50.isValidElement(newElement) ? newElement.props.children : null;
3416
+ if (React55.Children.count(newElement) > 1)
3417
+ return React55.Children.only(null);
3418
+ return React55.isValidElement(newElement) ? newElement.props.children : null;
2523
3419
  } else {
2524
3420
  return child;
2525
3421
  }
2526
3422
  });
2527
- return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React50.isValidElement(newElement) ? React50.cloneElement(newElement, void 0, newChildren) : null });
3423
+ return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React55.isValidElement(newElement) ? React55.cloneElement(newElement, void 0, newChildren) : null });
2528
3424
  }
2529
3425
  return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });
2530
3426
  });
@@ -2532,24 +3428,24 @@ function createSlot(ownerName) {
2532
3428
  return Slot22;
2533
3429
  }
2534
3430
  function createSlotClone(ownerName) {
2535
- const SlotClone = React50.forwardRef((props, forwardedRef) => {
3431
+ const SlotClone = React55.forwardRef((props, forwardedRef) => {
2536
3432
  const { children, ...slotProps } = props;
2537
- if (React50.isValidElement(children)) {
3433
+ if (React55.isValidElement(children)) {
2538
3434
  const childrenRef = getElementRef(children);
2539
3435
  const props2 = mergeProps(slotProps, children.props);
2540
- if (children.type !== React50.Fragment) {
3436
+ if (children.type !== React55.Fragment) {
2541
3437
  props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;
2542
3438
  }
2543
- return React50.cloneElement(children, props2);
3439
+ return React55.cloneElement(children, props2);
2544
3440
  }
2545
- return React50.Children.count(children) > 1 ? React50.Children.only(null) : null;
3441
+ return React55.Children.count(children) > 1 ? React55.Children.only(null) : null;
2546
3442
  });
2547
3443
  SlotClone.displayName = `${ownerName}.SlotClone`;
2548
3444
  return SlotClone;
2549
3445
  }
2550
3446
  var SLOTTABLE_IDENTIFIER = Symbol("radix.slottable");
2551
3447
  function isSlottable(child) {
2552
- return React50.isValidElement(child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
3448
+ return React55.isValidElement(child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
2553
3449
  }
2554
3450
  function mergeProps(slotProps, childProps) {
2555
3451
  const overrideProps = { ...childProps };
@@ -2609,7 +3505,7 @@ var NODES = [
2609
3505
  ];
2610
3506
  var Primitive = NODES.reduce((primitive, node) => {
2611
3507
  const Slot4 = createSlot(`Primitive.${node}`);
2612
- const Node4 = React50.forwardRef((props, forwardedRef) => {
3508
+ const Node4 = React55.forwardRef((props, forwardedRef) => {
2613
3509
  const { asChild, ...primitiveProps } = props;
2614
3510
  const Comp = asChild ? Slot4 : node;
2615
3511
  if (typeof window !== "undefined") {
@@ -2625,7 +3521,7 @@ function dispatchDiscreteCustomEvent(target, event) {
2625
3521
  ReactDOM.flushSync(() => target.dispatchEvent(event));
2626
3522
  }
2627
3523
  var NAME = "Label";
2628
- var Label = React50.forwardRef((props, forwardedRef) => {
3524
+ var Label = React55.forwardRef((props, forwardedRef) => {
2629
3525
  return /* @__PURE__ */ jsx(
2630
3526
  Primitive.label,
2631
3527
  {
@@ -2647,7 +3543,7 @@ var Root = Label;
2647
3543
  var labelVariants = cva(
2648
3544
  "text-sm font-medium leading-none text-gray-900 dark:text-gray-200 peer-disabled:cursor-not-allowed peer-disabled:opacity-70 dark:peer-disabled:opacity-60 transition-colors duration-200"
2649
3545
  );
2650
- var Label2 = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3546
+ var Label2 = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
2651
3547
  Root,
2652
3548
  {
2653
3549
  ref,
@@ -2656,7 +3552,7 @@ var Label2 = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
2656
3552
  }
2657
3553
  ));
2658
3554
  Label2.displayName = Root.displayName;
2659
- var Textarea = React50__default.forwardRef(
3555
+ var Textarea = React55__default.forwardRef(
2660
3556
  ({ className, ...props }, ref) => {
2661
3557
  return /* @__PURE__ */ jsx(
2662
3558
  "textarea",
@@ -2890,45 +3786,45 @@ function $e02a7d9cb1dc128c$export$c74125a8e3af6bb2(name) {
2890
3786
  });
2891
3787
  const CollectionProvider = (props) => {
2892
3788
  const { scope, children } = props;
2893
- const ref = React50__default.useRef(null);
2894
- const itemMap = React50__default.useRef(/* @__PURE__ */ new Map()).current;
2895
- return /* @__PURE__ */ React50__default.createElement(CollectionProviderImpl, {
3789
+ const ref = React55__default.useRef(null);
3790
+ const itemMap = React55__default.useRef(/* @__PURE__ */ new Map()).current;
3791
+ return /* @__PURE__ */ React55__default.createElement(CollectionProviderImpl, {
2896
3792
  scope,
2897
3793
  itemMap,
2898
3794
  collectionRef: ref
2899
3795
  }, children);
2900
3796
  };
2901
3797
  const COLLECTION_SLOT_NAME = name + "CollectionSlot";
2902
- const CollectionSlot = /* @__PURE__ */ React50__default.forwardRef((props, forwardedRef) => {
3798
+ const CollectionSlot = /* @__PURE__ */ React55__default.forwardRef((props, forwardedRef) => {
2903
3799
  const { scope, children } = props;
2904
3800
  const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);
2905
3801
  const composedRefs = $6ed0406888f73fc4$export$c7b2cbe3552a0d05(forwardedRef, context.collectionRef);
2906
- return /* @__PURE__ */ React50__default.createElement($5e63c961fc1ce211$export$8c6ed5c666ac1360, {
3802
+ return /* @__PURE__ */ React55__default.createElement($5e63c961fc1ce211$export$8c6ed5c666ac1360, {
2907
3803
  ref: composedRefs
2908
3804
  }, children);
2909
3805
  });
2910
3806
  const ITEM_SLOT_NAME = name + "CollectionItemSlot";
2911
3807
  const ITEM_DATA_ATTR = "data-radix-collection-item";
2912
- const CollectionItemSlot = /* @__PURE__ */ React50__default.forwardRef((props, forwardedRef) => {
3808
+ const CollectionItemSlot = /* @__PURE__ */ React55__default.forwardRef((props, forwardedRef) => {
2913
3809
  const { scope, children, ...itemData } = props;
2914
- const ref = React50__default.useRef(null);
3810
+ const ref = React55__default.useRef(null);
2915
3811
  const composedRefs = $6ed0406888f73fc4$export$c7b2cbe3552a0d05(forwardedRef, ref);
2916
3812
  const context = useCollectionContext(ITEM_SLOT_NAME, scope);
2917
- React50__default.useEffect(() => {
3813
+ React55__default.useEffect(() => {
2918
3814
  context.itemMap.set(ref, {
2919
3815
  ref,
2920
3816
  ...itemData
2921
3817
  });
2922
3818
  return () => void context.itemMap.delete(ref);
2923
3819
  });
2924
- return /* @__PURE__ */ React50__default.createElement($5e63c961fc1ce211$export$8c6ed5c666ac1360, {
3820
+ return /* @__PURE__ */ React55__default.createElement($5e63c961fc1ce211$export$8c6ed5c666ac1360, {
2925
3821
  [ITEM_DATA_ATTR]: "",
2926
3822
  ref: composedRefs
2927
3823
  }, children);
2928
3824
  });
2929
3825
  function useCollection4(scope) {
2930
3826
  const context = useCollectionContext(name + "CollectionConsumer", scope);
2931
- const getItems = React50__default.useCallback(() => {
3827
+ const getItems = React55__default.useCallback(() => {
2932
3828
  const collectionNode = context.collectionRef.current;
2933
3829
  if (!collectionNode)
2934
3830
  return [];
@@ -3515,10 +4411,10 @@ var $9f79659886946c16$export$e5c5a5f917a5871c = Boolean(globalThis === null || g
3515
4411
  };
3516
4412
 
3517
4413
  // node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-id/dist/index.mjs
3518
- var $1746a345f3d73bb7$var$useReactId = React50["useId".toString()] || (() => void 0);
4414
+ var $1746a345f3d73bb7$var$useReactId = React55["useId".toString()] || (() => void 0);
3519
4415
  var $1746a345f3d73bb7$var$count = 0;
3520
4416
  function $1746a345f3d73bb7$export$f680877a34711e37(deterministicId) {
3521
- const [id, setId] = React50.useState($1746a345f3d73bb7$var$useReactId());
4417
+ const [id, setId] = React55.useState($1746a345f3d73bb7$var$useReactId());
3522
4418
  $9f79659886946c16$export$e5c5a5f917a5871c(() => {
3523
4419
  if (!deterministicId)
3524
4420
  setId(
@@ -5193,7 +6089,7 @@ function roundByDPR(element, value) {
5193
6089
  return Math.round(value * dpr) / dpr;
5194
6090
  }
5195
6091
  function useLatestRef(value) {
5196
- const ref = React50.useRef(value);
6092
+ const ref = React55.useRef(value);
5197
6093
  index(() => {
5198
6094
  ref.current = value;
5199
6095
  });
@@ -5216,7 +6112,7 @@ function useFloating(options) {
5216
6112
  whileElementsMounted,
5217
6113
  open
5218
6114
  } = options;
5219
- const [data, setData] = React50.useState({
6115
+ const [data, setData] = React55.useState({
5220
6116
  x: 0,
5221
6117
  y: 0,
5222
6118
  strategy,
@@ -5224,19 +6120,19 @@ function useFloating(options) {
5224
6120
  middlewareData: {},
5225
6121
  isPositioned: false
5226
6122
  });
5227
- const [latestMiddleware, setLatestMiddleware] = React50.useState(middleware);
6123
+ const [latestMiddleware, setLatestMiddleware] = React55.useState(middleware);
5228
6124
  if (!deepEqual(latestMiddleware, middleware)) {
5229
6125
  setLatestMiddleware(middleware);
5230
6126
  }
5231
- const [_reference, _setReference] = React50.useState(null);
5232
- const [_floating, _setFloating] = React50.useState(null);
5233
- const setReference = React50.useCallback((node) => {
6127
+ const [_reference, _setReference] = React55.useState(null);
6128
+ const [_floating, _setFloating] = React55.useState(null);
6129
+ const setReference = React55.useCallback((node) => {
5234
6130
  if (node !== referenceRef.current) {
5235
6131
  referenceRef.current = node;
5236
6132
  _setReference(node);
5237
6133
  }
5238
6134
  }, []);
5239
- const setFloating = React50.useCallback((node) => {
6135
+ const setFloating = React55.useCallback((node) => {
5240
6136
  if (node !== floatingRef.current) {
5241
6137
  floatingRef.current = node;
5242
6138
  _setFloating(node);
@@ -5244,14 +6140,14 @@ function useFloating(options) {
5244
6140
  }, []);
5245
6141
  const referenceEl = externalReference || _reference;
5246
6142
  const floatingEl = externalFloating || _floating;
5247
- const referenceRef = React50.useRef(null);
5248
- const floatingRef = React50.useRef(null);
5249
- const dataRef = React50.useRef(data);
6143
+ const referenceRef = React55.useRef(null);
6144
+ const floatingRef = React55.useRef(null);
6145
+ const dataRef = React55.useRef(data);
5250
6146
  const hasWhileElementsMounted = whileElementsMounted != null;
5251
6147
  const whileElementsMountedRef = useLatestRef(whileElementsMounted);
5252
6148
  const platformRef = useLatestRef(platform2);
5253
6149
  const openRef = useLatestRef(open);
5254
- const update = React50.useCallback(() => {
6150
+ const update = React55.useCallback(() => {
5255
6151
  if (!referenceRef.current || !floatingRef.current) {
5256
6152
  return;
5257
6153
  }
@@ -5289,7 +6185,7 @@ function useFloating(options) {
5289
6185
  }));
5290
6186
  }
5291
6187
  }, [open]);
5292
- const isMountedRef = React50.useRef(false);
6188
+ const isMountedRef = React55.useRef(false);
5293
6189
  index(() => {
5294
6190
  isMountedRef.current = true;
5295
6191
  return () => {
@@ -5308,17 +6204,17 @@ function useFloating(options) {
5308
6204
  update();
5309
6205
  }
5310
6206
  }, [referenceEl, floatingEl, update, whileElementsMountedRef, hasWhileElementsMounted]);
5311
- const refs = React50.useMemo(() => ({
6207
+ const refs = React55.useMemo(() => ({
5312
6208
  reference: referenceRef,
5313
6209
  floating: floatingRef,
5314
6210
  setReference,
5315
6211
  setFloating
5316
6212
  }), [setReference, setFloating]);
5317
- const elements = React50.useMemo(() => ({
6213
+ const elements = React55.useMemo(() => ({
5318
6214
  reference: referenceEl,
5319
6215
  floating: floatingEl
5320
6216
  }), [referenceEl, floatingEl]);
5321
- const floatingStyles = React50.useMemo(() => {
6217
+ const floatingStyles = React55.useMemo(() => {
5322
6218
  const initialStyles = {
5323
6219
  position: strategy,
5324
6220
  left: 0,
@@ -5344,7 +6240,7 @@ function useFloating(options) {
5344
6240
  top: y
5345
6241
  };
5346
6242
  }, [strategy, transform, elements.floating, data.x, data.y]);
5347
- return React50.useMemo(() => ({
6243
+ return React55.useMemo(() => ({
5348
6244
  ...data,
5349
6245
  update,
5350
6246
  refs,
@@ -6076,7 +6972,7 @@ function useCallbackRef(initialValue, callback) {
6076
6972
  ref.callback = callback;
6077
6973
  return ref.facade;
6078
6974
  }
6079
- var useIsomorphicLayoutEffect = typeof window !== "undefined" ? React50.useLayoutEffect : React50.useEffect;
6975
+ var useIsomorphicLayoutEffect = typeof window !== "undefined" ? React55.useLayoutEffect : React55.useEffect;
6080
6976
  var currentValues = /* @__PURE__ */ new WeakMap();
6081
6977
  function useMergeRefs(refs, defaultValue) {
6082
6978
  var callbackRef = useCallbackRef(defaultValue || null, function(newValue) {
@@ -6200,7 +7096,7 @@ var SideCar = function(_a2) {
6200
7096
  if (!Target) {
6201
7097
  throw new Error("Sidecar medium not found");
6202
7098
  }
6203
- return React50.createElement(Target, __assign({}, rest));
7099
+ return React55.createElement(Target, __assign({}, rest));
6204
7100
  };
6205
7101
  SideCar.isSideCarExport = true;
6206
7102
  function exportSidecar(medium, exported) {
@@ -6215,9 +7111,9 @@ var effectCar = createSidecarMedium();
6215
7111
  var nothing = function() {
6216
7112
  return;
6217
7113
  };
6218
- var RemoveScroll = React50.forwardRef(function(props, parentRef) {
6219
- var ref = React50.useRef(null);
6220
- var _a2 = React50.useState({
7114
+ var RemoveScroll = React55.forwardRef(function(props, parentRef) {
7115
+ var ref = React55.useRef(null);
7116
+ var _a2 = React55.useState({
6221
7117
  onScrollCapture: nothing,
6222
7118
  onWheelCapture: nothing,
6223
7119
  onTouchMoveCapture: nothing
@@ -6226,11 +7122,11 @@ var RemoveScroll = React50.forwardRef(function(props, parentRef) {
6226
7122
  var SideCar2 = sideCar;
6227
7123
  var containerRef = useMergeRefs([ref, parentRef]);
6228
7124
  var containerProps = __assign(__assign({}, rest), callbacks);
6229
- return React50.createElement(
6230
- React50.Fragment,
7125
+ return React55.createElement(
7126
+ React55.Fragment,
6231
7127
  null,
6232
- enabled && React50.createElement(SideCar2, { sideCar: effectCar, removeScrollBar, shards, noIsolation, inert, setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref }),
6233
- forwardProps ? React50.cloneElement(React50.Children.only(children), __assign(__assign({}, containerProps), { ref: containerRef })) : React50.createElement(Container, __assign({}, containerProps, { className, ref: containerRef }), children)
7128
+ enabled && React55.createElement(SideCar2, { sideCar: effectCar, removeScrollBar, shards, noIsolation, inert, setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref }),
7129
+ forwardProps ? React55.cloneElement(React55.Children.only(children), __assign(__assign({}, containerProps), { ref: containerRef })) : React55.createElement(Container, __assign({}, containerProps, { className, ref: containerRef }), children)
6234
7130
  );
6235
7131
  });
6236
7132
  RemoveScroll.defaultProps = {
@@ -6299,7 +7195,7 @@ var stylesheetSingleton = function() {
6299
7195
  var styleHookSingleton = function() {
6300
7196
  var sheet = stylesheetSingleton();
6301
7197
  return function(styles, isDynamic) {
6302
- React50.useEffect(function() {
7198
+ React55.useEffect(function() {
6303
7199
  sheet.add(styles);
6304
7200
  return function() {
6305
7201
  sheet.remove();
@@ -6373,7 +7269,7 @@ var getCurrentUseCounter = function() {
6373
7269
  return isFinite(counter) ? counter : 0;
6374
7270
  };
6375
7271
  var useLockAttribute = function() {
6376
- React50.useEffect(function() {
7272
+ React55.useEffect(function() {
6377
7273
  document.body.setAttribute(lockAttribute, (getCurrentUseCounter() + 1).toString());
6378
7274
  return function() {
6379
7275
  var newCounter = getCurrentUseCounter() - 1;
@@ -6388,10 +7284,10 @@ var useLockAttribute = function() {
6388
7284
  var RemoveScrollBar = function(_a2) {
6389
7285
  var noRelative = _a2.noRelative, noImportant = _a2.noImportant, _b = _a2.gapMode, gapMode = _b === void 0 ? "margin" : _b;
6390
7286
  useLockAttribute();
6391
- var gap = React50.useMemo(function() {
7287
+ var gap = React55.useMemo(function() {
6392
7288
  return getGapWidth(gapMode);
6393
7289
  }, [gapMode]);
6394
- return React50.createElement(Style, { styles: getStyles(gap, !noRelative, gapMode, !noImportant ? "!important" : "") });
7290
+ return React55.createElement(Style, { styles: getStyles(gap, !noRelative, gapMode, !noImportant ? "!important" : "") });
6395
7291
  };
6396
7292
 
6397
7293
  // node_modules/@radix-ui/react-select/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js
@@ -6524,18 +7420,18 @@ var generateStyle = function(id) {
6524
7420
  var idCounter = 0;
6525
7421
  var lockStack = [];
6526
7422
  function RemoveScrollSideCar(props) {
6527
- var shouldPreventQueue = React50.useRef([]);
6528
- var touchStartRef = React50.useRef([0, 0]);
6529
- var activeAxis = React50.useRef();
6530
- var id = React50.useState(idCounter++)[0];
6531
- var Style2 = React50.useState(function() {
7423
+ var shouldPreventQueue = React55.useRef([]);
7424
+ var touchStartRef = React55.useRef([0, 0]);
7425
+ var activeAxis = React55.useRef();
7426
+ var id = React55.useState(idCounter++)[0];
7427
+ var Style2 = React55.useState(function() {
6532
7428
  return styleSingleton();
6533
7429
  })[0];
6534
- var lastProps = React50.useRef(props);
6535
- React50.useEffect(function() {
7430
+ var lastProps = React55.useRef(props);
7431
+ React55.useEffect(function() {
6536
7432
  lastProps.current = props;
6537
7433
  }, [props]);
6538
- React50.useEffect(function() {
7434
+ React55.useEffect(function() {
6539
7435
  if (props.inert) {
6540
7436
  document.body.classList.add("block-interactivity-".concat(id));
6541
7437
  var allow_1 = __spreadArray([props.lockRef.current], (props.shards || []).map(extractRef), true).filter(Boolean);
@@ -6551,7 +7447,7 @@ function RemoveScrollSideCar(props) {
6551
7447
  }
6552
7448
  return;
6553
7449
  }, [props.inert, props.lockRef.current, props.shards]);
6554
- var shouldCancelEvent = React50.useCallback(function(event, parent) {
7450
+ var shouldCancelEvent = React55.useCallback(function(event, parent) {
6555
7451
  if ("touches" in event && event.touches.length === 2) {
6556
7452
  return !lastProps.current.allowPinchZoom;
6557
7453
  }
@@ -6587,7 +7483,7 @@ function RemoveScrollSideCar(props) {
6587
7483
  var cancelingAxis = activeAxis.current || currentAxis;
6588
7484
  return handleScroll(cancelingAxis, parent, event, cancelingAxis === "h" ? deltaX : deltaY, true);
6589
7485
  }, []);
6590
- var shouldPrevent = React50.useCallback(function(_event) {
7486
+ var shouldPrevent = React55.useCallback(function(_event) {
6591
7487
  var event = _event;
6592
7488
  if (!lockStack.length || lockStack[lockStack.length - 1] !== Style2) {
6593
7489
  return;
@@ -6614,7 +7510,7 @@ function RemoveScrollSideCar(props) {
6614
7510
  }
6615
7511
  }
6616
7512
  }, []);
6617
- var shouldCancel = React50.useCallback(function(name, delta, target, should) {
7513
+ var shouldCancel = React55.useCallback(function(name, delta, target, should) {
6618
7514
  var event = { name, delta, target, should };
6619
7515
  shouldPreventQueue.current.push(event);
6620
7516
  setTimeout(function() {
@@ -6623,17 +7519,17 @@ function RemoveScrollSideCar(props) {
6623
7519
  });
6624
7520
  }, 1);
6625
7521
  }, []);
6626
- var scrollTouchStart = React50.useCallback(function(event) {
7522
+ var scrollTouchStart = React55.useCallback(function(event) {
6627
7523
  touchStartRef.current = getTouchXY(event);
6628
7524
  activeAxis.current = void 0;
6629
7525
  }, []);
6630
- var scrollWheel = React50.useCallback(function(event) {
7526
+ var scrollWheel = React55.useCallback(function(event) {
6631
7527
  shouldCancel(event.type, getDeltaXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));
6632
7528
  }, []);
6633
- var scrollTouchMove = React50.useCallback(function(event) {
7529
+ var scrollTouchMove = React55.useCallback(function(event) {
6634
7530
  shouldCancel(event.type, getTouchXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));
6635
7531
  }, []);
6636
- React50.useEffect(function() {
7532
+ React55.useEffect(function() {
6637
7533
  lockStack.push(Style2);
6638
7534
  props.setCallbacks({
6639
7535
  onScrollCapture: scrollWheel,
@@ -6653,11 +7549,11 @@ function RemoveScrollSideCar(props) {
6653
7549
  };
6654
7550
  }, []);
6655
7551
  var removeScrollBar = props.removeScrollBar, inert = props.inert;
6656
- return React50.createElement(
6657
- React50.Fragment,
7552
+ return React55.createElement(
7553
+ React55.Fragment,
6658
7554
  null,
6659
- inert ? React50.createElement(Style2, { styles: generateStyle(id) }) : null,
6660
- removeScrollBar ? React50.createElement(RemoveScrollBar, { gapMode: "margin" }) : null
7555
+ inert ? React55.createElement(Style2, { styles: generateStyle(id) }) : null,
7556
+ removeScrollBar ? React55.createElement(RemoveScrollBar, { gapMode: "margin" }) : null
6661
7557
  );
6662
7558
  }
6663
7559
 
@@ -6665,8 +7561,8 @@ function RemoveScrollSideCar(props) {
6665
7561
  var sidecar_default = exportSidecar(effectCar, RemoveScrollSideCar);
6666
7562
 
6667
7563
  // node_modules/@radix-ui/react-select/node_modules/react-remove-scroll/dist/es2015/Combination.js
6668
- var ReactRemoveScroll = React50.forwardRef(function(props, ref) {
6669
- return React50.createElement(RemoveScroll, __assign({}, props, { ref, sideCar: sidecar_default }));
7564
+ var ReactRemoveScroll = React55.forwardRef(function(props, ref) {
7565
+ return React55.createElement(RemoveScroll, __assign({}, props, { ref, sideCar: sidecar_default }));
6670
7566
  });
6671
7567
  ReactRemoveScroll.classNames = RemoveScroll.classNames;
6672
7568
  var Combination_default = ReactRemoveScroll;
@@ -7756,7 +8652,7 @@ var $cc7e05a45900e73f$export$1ff3c3f08ae963c0 = $cc7e05a45900e73f$export$eba4b1d
7756
8652
  var Select = $cc7e05a45900e73f$export$be92b6f5f03c0fe9;
7757
8653
  Select.displayName = "Select";
7758
8654
  var SelectValue = $cc7e05a45900e73f$export$4c8d1a57a761ef94;
7759
- var SelectTrigger = React50.forwardRef(({ className, children, variant = "standard", size: size4 = "md", error, success, loading, leftIcon, rightIcon, ...props }, ref) => /* @__PURE__ */ jsxs(
8655
+ var SelectTrigger = React55.forwardRef(({ className, children, variant = "standard", size: size4 = "md", error, success, loading, leftIcon, rightIcon, ...props }, ref) => /* @__PURE__ */ jsxs(
7760
8656
  $cc7e05a45900e73f$export$41fb9f06171c75f4,
7761
8657
  {
7762
8658
  ref,
@@ -7798,7 +8694,7 @@ var SelectTrigger = React50.forwardRef(({ className, children, variant = "standa
7798
8694
  }
7799
8695
  ));
7800
8696
  SelectTrigger.displayName = $cc7e05a45900e73f$export$41fb9f06171c75f4.displayName;
7801
- var SelectScrollUpButton = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
8697
+ var SelectScrollUpButton = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
7802
8698
  $cc7e05a45900e73f$export$2f60d3ec9ad468f2,
7803
8699
  {
7804
8700
  ref,
@@ -7811,7 +8707,7 @@ var SelectScrollUpButton = React50.forwardRef(({ className, ...props }, ref) =>
7811
8707
  }
7812
8708
  ));
7813
8709
  SelectScrollUpButton.displayName = $cc7e05a45900e73f$export$2f60d3ec9ad468f2.displayName;
7814
- var SelectScrollDownButton = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
8710
+ var SelectScrollDownButton = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
7815
8711
  $cc7e05a45900e73f$export$bf1aedc3039c8d63,
7816
8712
  {
7817
8713
  ref,
@@ -7824,7 +8720,7 @@ var SelectScrollDownButton = React50.forwardRef(({ className, ...props }, ref) =
7824
8720
  }
7825
8721
  ));
7826
8722
  SelectScrollDownButton.displayName = $cc7e05a45900e73f$export$bf1aedc3039c8d63.displayName;
7827
- var SelectContent = React50.forwardRef(({ className, children, position = "item-aligned", ...props }, ref) => /* @__PURE__ */ jsx($cc7e05a45900e73f$export$602eac185826482c, { children: /* @__PURE__ */ jsxs(
8723
+ var SelectContent = React55.forwardRef(({ className, children, position = "item-aligned", ...props }, ref) => /* @__PURE__ */ jsx($cc7e05a45900e73f$export$602eac185826482c, { children: /* @__PURE__ */ jsxs(
7828
8724
  $cc7e05a45900e73f$export$7c6e2c02157bb7d2,
7829
8725
  {
7830
8726
  ref,
@@ -7861,7 +8757,7 @@ var SelectContent = React50.forwardRef(({ className, children, position = "item-
7861
8757
  }
7862
8758
  ) }));
7863
8759
  SelectContent.displayName = $cc7e05a45900e73f$export$7c6e2c02157bb7d2.displayName;
7864
- var SelectLabel = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
8760
+ var SelectLabel = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
7865
8761
  $cc7e05a45900e73f$export$b04be29aa201d4f5,
7866
8762
  {
7867
8763
  ref,
@@ -7870,7 +8766,7 @@ var SelectLabel = React50.forwardRef(({ className, ...props }, ref) => /* @__PUR
7870
8766
  }
7871
8767
  ));
7872
8768
  SelectLabel.displayName = $cc7e05a45900e73f$export$b04be29aa201d4f5.displayName;
7873
- var SelectItem = React50.forwardRef(({ className, children, variant = "default", size: size4 = "md", rightIcon, customIndicator, ...props }, ref) => /* @__PURE__ */ jsxs(
8769
+ var SelectItem = React55.forwardRef(({ className, children, variant = "default", size: size4 = "md", rightIcon, customIndicator, ...props }, ref) => /* @__PURE__ */ jsxs(
7874
8770
  $cc7e05a45900e73f$export$6d08773d2e66f8f2,
7875
8771
  {
7876
8772
  ref,
@@ -7897,7 +8793,7 @@ var SelectItem = React50.forwardRef(({ className, children, variant = "default",
7897
8793
  }
7898
8794
  ));
7899
8795
  SelectItem.displayName = $cc7e05a45900e73f$export$6d08773d2e66f8f2.displayName;
7900
- var SelectSeparator = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
8796
+ var SelectSeparator = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
7901
8797
  $cc7e05a45900e73f$export$1ff3c3f08ae963c0,
7902
8798
  {
7903
8799
  ref,
@@ -7917,15 +8813,15 @@ function composeEventHandlers(originalEventHandler, ourEventHandler, { checkForD
7917
8813
  };
7918
8814
  }
7919
8815
  function createContext2(rootComponentName, defaultContext) {
7920
- const Context = React50.createContext(defaultContext);
8816
+ const Context = React55.createContext(defaultContext);
7921
8817
  const Provider3 = (props) => {
7922
8818
  const { children, ...context } = props;
7923
- const value = React50.useMemo(() => context, Object.values(context));
8819
+ const value = React55.useMemo(() => context, Object.values(context));
7924
8820
  return /* @__PURE__ */ jsx(Context.Provider, { value, children });
7925
8821
  };
7926
8822
  Provider3.displayName = rootComponentName + "Provider";
7927
8823
  function useContext23(consumerName) {
7928
- const context = React50.useContext(Context);
8824
+ const context = React55.useContext(Context);
7929
8825
  if (context)
7930
8826
  return context;
7931
8827
  if (defaultContext !== void 0)
@@ -7937,19 +8833,19 @@ function createContext2(rootComponentName, defaultContext) {
7937
8833
  function createContextScope(scopeName, createContextScopeDeps = []) {
7938
8834
  let defaultContexts = [];
7939
8835
  function createContext32(rootComponentName, defaultContext) {
7940
- const BaseContext = React50.createContext(defaultContext);
8836
+ const BaseContext = React55.createContext(defaultContext);
7941
8837
  const index2 = defaultContexts.length;
7942
8838
  defaultContexts = [...defaultContexts, defaultContext];
7943
8839
  const Provider3 = (props) => {
7944
8840
  const { scope, children, ...context } = props;
7945
8841
  const Context = scope?.[scopeName]?.[index2] || BaseContext;
7946
- const value = React50.useMemo(() => context, Object.values(context));
8842
+ const value = React55.useMemo(() => context, Object.values(context));
7947
8843
  return /* @__PURE__ */ jsx(Context.Provider, { value, children });
7948
8844
  };
7949
8845
  Provider3.displayName = rootComponentName + "Provider";
7950
8846
  function useContext23(consumerName, scope) {
7951
8847
  const Context = scope?.[scopeName]?.[index2] || BaseContext;
7952
- const context = React50.useContext(Context);
8848
+ const context = React55.useContext(Context);
7953
8849
  if (context)
7954
8850
  return context;
7955
8851
  if (defaultContext !== void 0)
@@ -7960,11 +8856,11 @@ function createContextScope(scopeName, createContextScopeDeps = []) {
7960
8856
  }
7961
8857
  const createScope = () => {
7962
8858
  const scopeContexts = defaultContexts.map((defaultContext) => {
7963
- return React50.createContext(defaultContext);
8859
+ return React55.createContext(defaultContext);
7964
8860
  });
7965
8861
  return function useScope(scope) {
7966
8862
  const contexts = scope?.[scopeName] || scopeContexts;
7967
- return React50.useMemo(
8863
+ return React55.useMemo(
7968
8864
  () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),
7969
8865
  [scope, contexts]
7970
8866
  );
@@ -7988,27 +8884,27 @@ function composeContextScopes(...scopes) {
7988
8884
  const currentScope = scopeProps[`__scope${scopeName}`];
7989
8885
  return { ...nextScopes2, ...currentScope };
7990
8886
  }, {});
7991
- return React50.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);
8887
+ return React55.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);
7992
8888
  };
7993
8889
  };
7994
8890
  createScope.scopeName = baseScope.scopeName;
7995
8891
  return createScope;
7996
8892
  }
7997
- var useLayoutEffect22 = globalThis?.document ? React50.useLayoutEffect : () => {
8893
+ var useLayoutEffect22 = globalThis?.document ? React55.useLayoutEffect : () => {
7998
8894
  };
7999
8895
 
8000
8896
  // node_modules/@radix-ui/react-id/dist/index.mjs
8001
- var useReactId = React50[" useId ".trim().toString()] || (() => void 0);
8897
+ var useReactId = React55[" useId ".trim().toString()] || (() => void 0);
8002
8898
  var count = 0;
8003
8899
  function useId(deterministicId) {
8004
- const [id, setId] = React50.useState(useReactId());
8900
+ const [id, setId] = React55.useState(useReactId());
8005
8901
  useLayoutEffect22(() => {
8006
8902
  if (!deterministicId)
8007
8903
  setId((reactId) => reactId ?? String(count++));
8008
8904
  }, [deterministicId]);
8009
8905
  return deterministicId || (id ? `radix-${id}` : "");
8010
8906
  }
8011
- var useInsertionEffect = React50[" useInsertionEffect ".trim().toString()] || useLayoutEffect22;
8907
+ var useInsertionEffect = React55[" useInsertionEffect ".trim().toString()] || useLayoutEffect22;
8012
8908
  function useControllableState({
8013
8909
  prop,
8014
8910
  defaultProp,
@@ -8023,8 +8919,8 @@ function useControllableState({
8023
8919
  const isControlled = prop !== void 0;
8024
8920
  const value = isControlled ? prop : uncontrolledProp;
8025
8921
  {
8026
- const isControlledRef = React50.useRef(prop !== void 0);
8027
- React50.useEffect(() => {
8922
+ const isControlledRef = React55.useRef(prop !== void 0);
8923
+ React55.useEffect(() => {
8028
8924
  const wasControlled = isControlledRef.current;
8029
8925
  if (wasControlled !== isControlled) {
8030
8926
  const from2 = wasControlled ? "controlled" : "uncontrolled";
@@ -8036,7 +8932,7 @@ function useControllableState({
8036
8932
  isControlledRef.current = isControlled;
8037
8933
  }, [isControlled, caller]);
8038
8934
  }
8039
- const setValue = React50.useCallback(
8935
+ const setValue = React55.useCallback(
8040
8936
  (nextValue) => {
8041
8937
  if (isControlled) {
8042
8938
  const value2 = isFunction(nextValue) ? nextValue(prop) : nextValue;
@@ -8055,13 +8951,13 @@ function useUncontrolledState({
8055
8951
  defaultProp,
8056
8952
  onChange
8057
8953
  }) {
8058
- const [value, setValue] = React50.useState(defaultProp);
8059
- const prevValueRef = React50.useRef(value);
8060
- const onChangeRef = React50.useRef(onChange);
8954
+ const [value, setValue] = React55.useState(defaultProp);
8955
+ const prevValueRef = React55.useRef(value);
8956
+ const onChangeRef = React55.useRef(onChange);
8061
8957
  useInsertionEffect(() => {
8062
8958
  onChangeRef.current = onChange;
8063
8959
  }, [onChange]);
8064
- React50.useEffect(() => {
8960
+ React55.useEffect(() => {
8065
8961
  if (prevValueRef.current !== value) {
8066
8962
  onChangeRef.current?.(value);
8067
8963
  prevValueRef.current = value;
@@ -8073,15 +8969,15 @@ function isFunction(value) {
8073
8969
  return typeof value === "function";
8074
8970
  }
8075
8971
  function useCallbackRef2(callback) {
8076
- const callbackRef = React50.useRef(callback);
8077
- React50.useEffect(() => {
8972
+ const callbackRef = React55.useRef(callback);
8973
+ React55.useEffect(() => {
8078
8974
  callbackRef.current = callback;
8079
8975
  });
8080
- return React50.useMemo(() => (...args) => callbackRef.current?.(...args), []);
8976
+ return React55.useMemo(() => (...args) => callbackRef.current?.(...args), []);
8081
8977
  }
8082
8978
  function useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis?.document) {
8083
8979
  const onEscapeKeyDown = useCallbackRef2(onEscapeKeyDownProp);
8084
- React50.useEffect(() => {
8980
+ React55.useEffect(() => {
8085
8981
  const handleKeyDown3 = (event) => {
8086
8982
  if (event.key === "Escape") {
8087
8983
  onEscapeKeyDown(event);
@@ -8096,12 +8992,12 @@ var CONTEXT_UPDATE = "dismissableLayer.update";
8096
8992
  var POINTER_DOWN_OUTSIDE = "dismissableLayer.pointerDownOutside";
8097
8993
  var FOCUS_OUTSIDE = "dismissableLayer.focusOutside";
8098
8994
  var originalBodyPointerEvents;
8099
- var DismissableLayerContext = React50.createContext({
8995
+ var DismissableLayerContext = React55.createContext({
8100
8996
  layers: /* @__PURE__ */ new Set(),
8101
8997
  layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),
8102
8998
  branches: /* @__PURE__ */ new Set()
8103
8999
  });
8104
- var DismissableLayer = React50.forwardRef(
9000
+ var DismissableLayer = React55.forwardRef(
8105
9001
  (props, forwardedRef) => {
8106
9002
  const {
8107
9003
  disableOutsidePointerEvents = false,
@@ -8112,10 +9008,10 @@ var DismissableLayer = React50.forwardRef(
8112
9008
  onDismiss,
8113
9009
  ...layerProps
8114
9010
  } = props;
8115
- const context = React50.useContext(DismissableLayerContext);
8116
- const [node, setNode2] = React50.useState(null);
9011
+ const context = React55.useContext(DismissableLayerContext);
9012
+ const [node, setNode2] = React55.useState(null);
8117
9013
  const ownerDocument = node?.ownerDocument ?? globalThis?.document;
8118
- const [, force] = React50.useState({});
9014
+ const [, force] = React55.useState({});
8119
9015
  const composedRefs = useComposedRefs(forwardedRef, (node2) => setNode2(node2));
8120
9016
  const layers = Array.from(context.layers);
8121
9017
  const [highestLayerWithOutsidePointerEventsDisabled] = [...context.layersWithOutsidePointerEventsDisabled].slice(-1);
@@ -8153,7 +9049,7 @@ var DismissableLayer = React50.forwardRef(
8153
9049
  onDismiss();
8154
9050
  }
8155
9051
  }, ownerDocument);
8156
- React50.useEffect(() => {
9052
+ React55.useEffect(() => {
8157
9053
  if (!node)
8158
9054
  return;
8159
9055
  if (disableOutsidePointerEvents) {
@@ -8171,7 +9067,7 @@ var DismissableLayer = React50.forwardRef(
8171
9067
  }
8172
9068
  };
8173
9069
  }, [node, ownerDocument, disableOutsidePointerEvents, context]);
8174
- React50.useEffect(() => {
9070
+ React55.useEffect(() => {
8175
9071
  return () => {
8176
9072
  if (!node)
8177
9073
  return;
@@ -8180,7 +9076,7 @@ var DismissableLayer = React50.forwardRef(
8180
9076
  dispatchUpdate();
8181
9077
  };
8182
9078
  }, [node, context]);
8183
- React50.useEffect(() => {
9079
+ React55.useEffect(() => {
8184
9080
  const handleUpdate = () => force({});
8185
9081
  document.addEventListener(CONTEXT_UPDATE, handleUpdate);
8186
9082
  return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);
@@ -8206,11 +9102,11 @@ var DismissableLayer = React50.forwardRef(
8206
9102
  );
8207
9103
  DismissableLayer.displayName = DISMISSABLE_LAYER_NAME;
8208
9104
  var BRANCH_NAME = "DismissableLayerBranch";
8209
- var DismissableLayerBranch = React50.forwardRef((props, forwardedRef) => {
8210
- const context = React50.useContext(DismissableLayerContext);
8211
- const ref = React50.useRef(null);
9105
+ var DismissableLayerBranch = React55.forwardRef((props, forwardedRef) => {
9106
+ const context = React55.useContext(DismissableLayerContext);
9107
+ const ref = React55.useRef(null);
8212
9108
  const composedRefs = useComposedRefs(forwardedRef, ref);
8213
- React50.useEffect(() => {
9109
+ React55.useEffect(() => {
8214
9110
  const node = ref.current;
8215
9111
  if (node) {
8216
9112
  context.branches.add(node);
@@ -8224,10 +9120,10 @@ var DismissableLayerBranch = React50.forwardRef((props, forwardedRef) => {
8224
9120
  DismissableLayerBranch.displayName = BRANCH_NAME;
8225
9121
  function usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?.document) {
8226
9122
  const handlePointerDownOutside = useCallbackRef2(onPointerDownOutside);
8227
- const isPointerInsideReactTreeRef = React50.useRef(false);
8228
- const handleClickRef = React50.useRef(() => {
9123
+ const isPointerInsideReactTreeRef = React55.useRef(false);
9124
+ const handleClickRef = React55.useRef(() => {
8229
9125
  });
8230
- React50.useEffect(() => {
9126
+ React55.useEffect(() => {
8231
9127
  const handlePointerDown = (event) => {
8232
9128
  if (event.target && !isPointerInsideReactTreeRef.current) {
8233
9129
  let handleAndDispatchPointerDownOutsideEvent2 = function() {
@@ -8267,8 +9163,8 @@ function usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?
8267
9163
  }
8268
9164
  function useFocusOutside(onFocusOutside, ownerDocument = globalThis?.document) {
8269
9165
  const handleFocusOutside = useCallbackRef2(onFocusOutside);
8270
- const isFocusInsideReactTreeRef = React50.useRef(false);
8271
- React50.useEffect(() => {
9166
+ const isFocusInsideReactTreeRef = React55.useRef(false);
9167
+ React55.useEffect(() => {
8272
9168
  const handleFocus = (event) => {
8273
9169
  if (event.target && !isFocusInsideReactTreeRef.current) {
8274
9170
  const eventDetail = { originalEvent: event };
@@ -8306,7 +9202,7 @@ var AUTOFOCUS_ON_MOUNT = "focusScope.autoFocusOnMount";
8306
9202
  var AUTOFOCUS_ON_UNMOUNT = "focusScope.autoFocusOnUnmount";
8307
9203
  var EVENT_OPTIONS = { bubbles: false, cancelable: true };
8308
9204
  var FOCUS_SCOPE_NAME = "FocusScope";
8309
- var FocusScope = React50.forwardRef((props, forwardedRef) => {
9205
+ var FocusScope = React55.forwardRef((props, forwardedRef) => {
8310
9206
  const {
8311
9207
  loop = false,
8312
9208
  trapped = false,
@@ -8314,12 +9210,12 @@ var FocusScope = React50.forwardRef((props, forwardedRef) => {
8314
9210
  onUnmountAutoFocus: onUnmountAutoFocusProp,
8315
9211
  ...scopeProps
8316
9212
  } = props;
8317
- const [container, setContainer] = React50.useState(null);
9213
+ const [container, setContainer] = React55.useState(null);
8318
9214
  const onMountAutoFocus = useCallbackRef2(onMountAutoFocusProp);
8319
9215
  const onUnmountAutoFocus = useCallbackRef2(onUnmountAutoFocusProp);
8320
- const lastFocusedElementRef = React50.useRef(null);
9216
+ const lastFocusedElementRef = React55.useRef(null);
8321
9217
  const composedRefs = useComposedRefs(forwardedRef, (node) => setContainer(node));
8322
- const focusScope = React50.useRef({
9218
+ const focusScope = React55.useRef({
8323
9219
  paused: false,
8324
9220
  pause() {
8325
9221
  this.paused = true;
@@ -8328,7 +9224,7 @@ var FocusScope = React50.forwardRef((props, forwardedRef) => {
8328
9224
  this.paused = false;
8329
9225
  }
8330
9226
  }).current;
8331
- React50.useEffect(() => {
9227
+ React55.useEffect(() => {
8332
9228
  if (trapped) {
8333
9229
  let handleFocusIn2 = function(event) {
8334
9230
  if (focusScope.paused || !container)
@@ -8369,7 +9265,7 @@ var FocusScope = React50.forwardRef((props, forwardedRef) => {
8369
9265
  };
8370
9266
  }
8371
9267
  }, [trapped, container, focusScope.paused]);
8372
- React50.useEffect(() => {
9268
+ React55.useEffect(() => {
8373
9269
  if (container) {
8374
9270
  focusScopesStack.add(focusScope);
8375
9271
  const previouslyFocusedElement = document.activeElement;
@@ -8400,7 +9296,7 @@ var FocusScope = React50.forwardRef((props, forwardedRef) => {
8400
9296
  };
8401
9297
  }
8402
9298
  }, [container, onMountAutoFocus, onUnmountAutoFocus, focusScope]);
8403
- const handleKeyDown3 = React50.useCallback(
9299
+ const handleKeyDown3 = React55.useCallback(
8404
9300
  (event) => {
8405
9301
  if (!loop && !trapped)
8406
9302
  return;
@@ -8520,16 +9416,16 @@ function removeLinks(items) {
8520
9416
  return items.filter((item) => item.tagName !== "A");
8521
9417
  }
8522
9418
  var PORTAL_NAME = "Portal";
8523
- var Portal = React50.forwardRef((props, forwardedRef) => {
9419
+ var Portal = React55.forwardRef((props, forwardedRef) => {
8524
9420
  const { container: containerProp, ...portalProps } = props;
8525
- const [mounted, setMounted] = React50.useState(false);
9421
+ const [mounted, setMounted] = React55.useState(false);
8526
9422
  useLayoutEffect22(() => setMounted(true), []);
8527
9423
  const container = containerProp || mounted && globalThis?.document?.body;
8528
9424
  return container ? ReactDOM__default.createPortal(/* @__PURE__ */ jsx(Primitive.div, { ...portalProps, ref: forwardedRef }), container) : null;
8529
9425
  });
8530
9426
  Portal.displayName = PORTAL_NAME;
8531
9427
  function useStateMachine(initialState, machine) {
8532
- return React50.useReducer((state, event) => {
9428
+ return React55.useReducer((state, event) => {
8533
9429
  const nextState = machine[state][event];
8534
9430
  return nextState ?? state;
8535
9431
  }, initialState);
@@ -8537,17 +9433,17 @@ function useStateMachine(initialState, machine) {
8537
9433
  var Presence = (props) => {
8538
9434
  const { present, children } = props;
8539
9435
  const presence = usePresence(present);
8540
- const child = typeof children === "function" ? children({ present: presence.isPresent }) : React50.Children.only(children);
9436
+ const child = typeof children === "function" ? children({ present: presence.isPresent }) : React55.Children.only(children);
8541
9437
  const ref = useComposedRefs(presence.ref, getElementRef2(child));
8542
9438
  const forceMount = typeof children === "function";
8543
- return forceMount || presence.isPresent ? React50.cloneElement(child, { ref }) : null;
9439
+ return forceMount || presence.isPresent ? React55.cloneElement(child, { ref }) : null;
8544
9440
  };
8545
9441
  Presence.displayName = "Presence";
8546
9442
  function usePresence(present) {
8547
- const [node, setNode2] = React50.useState();
8548
- const stylesRef = React50.useRef(null);
8549
- const prevPresentRef = React50.useRef(present);
8550
- const prevAnimationNameRef = React50.useRef("none");
9443
+ const [node, setNode2] = React55.useState();
9444
+ const stylesRef = React55.useRef(null);
9445
+ const prevPresentRef = React55.useRef(present);
9446
+ const prevAnimationNameRef = React55.useRef("none");
8551
9447
  const initialState = present ? "mounted" : "unmounted";
8552
9448
  const [state, send] = useStateMachine(initialState, {
8553
9449
  mounted: {
@@ -8562,7 +9458,7 @@ function usePresence(present) {
8562
9458
  MOUNT: "mounted"
8563
9459
  }
8564
9460
  });
8565
- React50.useEffect(() => {
9461
+ React55.useEffect(() => {
8566
9462
  const currentAnimationName = getAnimationName(stylesRef.current);
8567
9463
  prevAnimationNameRef.current = state === "mounted" ? currentAnimationName : "none";
8568
9464
  }, [state]);
@@ -8628,7 +9524,7 @@ function usePresence(present) {
8628
9524
  }, [node, send]);
8629
9525
  return {
8630
9526
  isPresent: ["mounted", "unmountSuspended"].includes(state),
8631
- ref: React50.useCallback((node2) => {
9527
+ ref: React55.useCallback((node2) => {
8632
9528
  stylesRef.current = node2 ? getComputedStyle(node2) : null;
8633
9529
  setNode2(node2);
8634
9530
  }, [])
@@ -8652,7 +9548,7 @@ function getElementRef2(element) {
8652
9548
  }
8653
9549
  var count2 = 0;
8654
9550
  function useFocusGuards() {
8655
- React50.useEffect(() => {
9551
+ React55.useEffect(() => {
8656
9552
  const edgeGuards = document.querySelectorAll("[data-radix-focus-guard]");
8657
9553
  document.body.insertAdjacentElement("afterbegin", edgeGuards[0] ?? createFocusGuard());
8658
9554
  document.body.insertAdjacentElement("beforeend", edgeGuards[1] ?? createFocusGuard());
@@ -8683,9 +9579,9 @@ var effectCar2 = createSidecarMedium();
8683
9579
  var nothing2 = function() {
8684
9580
  return;
8685
9581
  };
8686
- var RemoveScroll2 = React50.forwardRef(function(props, parentRef) {
8687
- var ref = React50.useRef(null);
8688
- var _a2 = React50.useState({
9582
+ var RemoveScroll2 = React55.forwardRef(function(props, parentRef) {
9583
+ var ref = React55.useRef(null);
9584
+ var _a2 = React55.useState({
8689
9585
  onScrollCapture: nothing2,
8690
9586
  onWheelCapture: nothing2,
8691
9587
  onTouchMoveCapture: nothing2
@@ -8694,11 +9590,11 @@ var RemoveScroll2 = React50.forwardRef(function(props, parentRef) {
8694
9590
  var SideCar2 = sideCar;
8695
9591
  var containerRef = useMergeRefs([ref, parentRef]);
8696
9592
  var containerProps = __assign(__assign({}, rest), callbacks);
8697
- return React50.createElement(
8698
- React50.Fragment,
9593
+ return React55.createElement(
9594
+ React55.Fragment,
8699
9595
  null,
8700
- enabled && React50.createElement(SideCar2, { sideCar: effectCar2, removeScrollBar, shards, noRelative, noIsolation, inert, setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref, gapMode }),
8701
- forwardProps ? React50.cloneElement(React50.Children.only(children), __assign(__assign({}, containerProps), { ref: containerRef })) : React50.createElement(Container, __assign({}, containerProps, { className, ref: containerRef }), children)
9596
+ enabled && React55.createElement(SideCar2, { sideCar: effectCar2, removeScrollBar, shards, noRelative, noIsolation, inert, setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref, gapMode }),
9597
+ forwardProps ? React55.cloneElement(React55.Children.only(children), __assign(__assign({}, containerProps), { ref: containerRef })) : React55.createElement(Container, __assign({}, containerProps, { className, ref: containerRef }), children)
8702
9598
  );
8703
9599
  });
8704
9600
  RemoveScroll2.defaultProps = {
@@ -8849,16 +9745,16 @@ var generateStyle2 = function(id) {
8849
9745
  var idCounter2 = 0;
8850
9746
  var lockStack2 = [];
8851
9747
  function RemoveScrollSideCar2(props) {
8852
- var shouldPreventQueue = React50.useRef([]);
8853
- var touchStartRef = React50.useRef([0, 0]);
8854
- var activeAxis = React50.useRef();
8855
- var id = React50.useState(idCounter2++)[0];
8856
- var Style2 = React50.useState(styleSingleton)[0];
8857
- var lastProps = React50.useRef(props);
8858
- React50.useEffect(function() {
9748
+ var shouldPreventQueue = React55.useRef([]);
9749
+ var touchStartRef = React55.useRef([0, 0]);
9750
+ var activeAxis = React55.useRef();
9751
+ var id = React55.useState(idCounter2++)[0];
9752
+ var Style2 = React55.useState(styleSingleton)[0];
9753
+ var lastProps = React55.useRef(props);
9754
+ React55.useEffect(function() {
8859
9755
  lastProps.current = props;
8860
9756
  }, [props]);
8861
- React50.useEffect(function() {
9757
+ React55.useEffect(function() {
8862
9758
  if (props.inert) {
8863
9759
  document.body.classList.add("block-interactivity-".concat(id));
8864
9760
  var allow_1 = __spreadArray([props.lockRef.current], (props.shards || []).map(extractRef2), true).filter(Boolean);
@@ -8874,7 +9770,7 @@ function RemoveScrollSideCar2(props) {
8874
9770
  }
8875
9771
  return;
8876
9772
  }, [props.inert, props.lockRef.current, props.shards]);
8877
- var shouldCancelEvent = React50.useCallback(function(event, parent) {
9773
+ var shouldCancelEvent = React55.useCallback(function(event, parent) {
8878
9774
  if ("touches" in event && event.touches.length === 2 || event.type === "wheel" && event.ctrlKey) {
8879
9775
  return !lastProps.current.allowPinchZoom;
8880
9776
  }
@@ -8910,7 +9806,7 @@ function RemoveScrollSideCar2(props) {
8910
9806
  var cancelingAxis = activeAxis.current || currentAxis;
8911
9807
  return handleScroll2(cancelingAxis, parent, event, cancelingAxis === "h" ? deltaX : deltaY, true);
8912
9808
  }, []);
8913
- var shouldPrevent = React50.useCallback(function(_event) {
9809
+ var shouldPrevent = React55.useCallback(function(_event) {
8914
9810
  var event = _event;
8915
9811
  if (!lockStack2.length || lockStack2[lockStack2.length - 1] !== Style2) {
8916
9812
  return;
@@ -8937,7 +9833,7 @@ function RemoveScrollSideCar2(props) {
8937
9833
  }
8938
9834
  }
8939
9835
  }, []);
8940
- var shouldCancel = React50.useCallback(function(name, delta, target, should) {
9836
+ var shouldCancel = React55.useCallback(function(name, delta, target, should) {
8941
9837
  var event = { name, delta, target, should, shadowParent: getOutermostShadowParent(target) };
8942
9838
  shouldPreventQueue.current.push(event);
8943
9839
  setTimeout(function() {
@@ -8946,17 +9842,17 @@ function RemoveScrollSideCar2(props) {
8946
9842
  });
8947
9843
  }, 1);
8948
9844
  }, []);
8949
- var scrollTouchStart = React50.useCallback(function(event) {
9845
+ var scrollTouchStart = React55.useCallback(function(event) {
8950
9846
  touchStartRef.current = getTouchXY2(event);
8951
9847
  activeAxis.current = void 0;
8952
9848
  }, []);
8953
- var scrollWheel = React50.useCallback(function(event) {
9849
+ var scrollWheel = React55.useCallback(function(event) {
8954
9850
  shouldCancel(event.type, getDeltaXY2(event), event.target, shouldCancelEvent(event, props.lockRef.current));
8955
9851
  }, []);
8956
- var scrollTouchMove = React50.useCallback(function(event) {
9852
+ var scrollTouchMove = React55.useCallback(function(event) {
8957
9853
  shouldCancel(event.type, getTouchXY2(event), event.target, shouldCancelEvent(event, props.lockRef.current));
8958
9854
  }, []);
8959
- React50.useEffect(function() {
9855
+ React55.useEffect(function() {
8960
9856
  lockStack2.push(Style2);
8961
9857
  props.setCallbacks({
8962
9858
  onScrollCapture: scrollWheel,
@@ -8976,11 +9872,11 @@ function RemoveScrollSideCar2(props) {
8976
9872
  };
8977
9873
  }, []);
8978
9874
  var removeScrollBar = props.removeScrollBar, inert = props.inert;
8979
- return React50.createElement(
8980
- React50.Fragment,
9875
+ return React55.createElement(
9876
+ React55.Fragment,
8981
9877
  null,
8982
- inert ? React50.createElement(Style2, { styles: generateStyle2(id) }) : null,
8983
- removeScrollBar ? React50.createElement(RemoveScrollBar, { noRelative: props.noRelative, gapMode: props.gapMode }) : null
9878
+ inert ? React55.createElement(Style2, { styles: generateStyle2(id) }) : null,
9879
+ removeScrollBar ? React55.createElement(RemoveScrollBar, { noRelative: props.noRelative, gapMode: props.gapMode }) : null
8984
9880
  );
8985
9881
  }
8986
9882
  function getOutermostShadowParent(node) {
@@ -8999,8 +9895,8 @@ function getOutermostShadowParent(node) {
8999
9895
  var sidecar_default2 = exportSidecar(effectCar2, RemoveScrollSideCar2);
9000
9896
 
9001
9897
  // node_modules/react-remove-scroll/dist/es2015/Combination.js
9002
- var ReactRemoveScroll2 = React50.forwardRef(function(props, ref) {
9003
- return React50.createElement(RemoveScroll2, __assign({}, props, { ref, sideCar: sidecar_default2 }));
9898
+ var ReactRemoveScroll2 = React55.forwardRef(function(props, ref) {
9899
+ return React55.createElement(RemoveScroll2, __assign({}, props, { ref, sideCar: sidecar_default2 }));
9004
9900
  });
9005
9901
  ReactRemoveScroll2.classNames = RemoveScroll2.classNames;
9006
9902
  var Combination_default2 = ReactRemoveScroll2;
@@ -9016,8 +9912,8 @@ var Dialog = (props) => {
9016
9912
  onOpenChange,
9017
9913
  modal = true
9018
9914
  } = props;
9019
- const triggerRef = React50.useRef(null);
9020
- const contentRef = React50.useRef(null);
9915
+ const triggerRef = React55.useRef(null);
9916
+ const contentRef = React55.useRef(null);
9021
9917
  const [open, setOpen] = useControllableState({
9022
9918
  prop: openProp,
9023
9919
  defaultProp: defaultOpen ?? false,
@@ -9035,7 +9931,7 @@ var Dialog = (props) => {
9035
9931
  descriptionId: useId(),
9036
9932
  open,
9037
9933
  onOpenChange: setOpen,
9038
- onOpenToggle: React50.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),
9934
+ onOpenToggle: React55.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),
9039
9935
  modal,
9040
9936
  children
9041
9937
  }
@@ -9043,7 +9939,7 @@ var Dialog = (props) => {
9043
9939
  };
9044
9940
  Dialog.displayName = DIALOG_NAME;
9045
9941
  var TRIGGER_NAME = "DialogTrigger";
9046
- var DialogTrigger = React50.forwardRef(
9942
+ var DialogTrigger = React55.forwardRef(
9047
9943
  (props, forwardedRef) => {
9048
9944
  const { __scopeDialog, ...triggerProps } = props;
9049
9945
  const context = useDialogContext(TRIGGER_NAME, __scopeDialog);
@@ -9071,11 +9967,11 @@ var [PortalProvider, usePortalContext] = createDialogContext(PORTAL_NAME2, {
9071
9967
  var DialogPortal = (props) => {
9072
9968
  const { __scopeDialog, forceMount, children, container } = props;
9073
9969
  const context = useDialogContext(PORTAL_NAME2, __scopeDialog);
9074
- return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeDialog, forceMount, children: React50.Children.map(children, (child) => /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Portal, { asChild: true, container, children: child }) })) });
9970
+ return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeDialog, forceMount, children: React55.Children.map(children, (child) => /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Portal, { asChild: true, container, children: child }) })) });
9075
9971
  };
9076
9972
  DialogPortal.displayName = PORTAL_NAME2;
9077
9973
  var OVERLAY_NAME = "DialogOverlay";
9078
- var DialogOverlay = React50.forwardRef(
9974
+ var DialogOverlay = React55.forwardRef(
9079
9975
  (props, forwardedRef) => {
9080
9976
  const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);
9081
9977
  const { forceMount = portalContext.forceMount, ...overlayProps } = props;
@@ -9085,7 +9981,7 @@ var DialogOverlay = React50.forwardRef(
9085
9981
  );
9086
9982
  DialogOverlay.displayName = OVERLAY_NAME;
9087
9983
  var Slot = createSlot("DialogOverlay.RemoveScroll");
9088
- var DialogOverlayImpl = React50.forwardRef(
9984
+ var DialogOverlayImpl = React55.forwardRef(
9089
9985
  (props, forwardedRef) => {
9090
9986
  const { __scopeDialog, ...overlayProps } = props;
9091
9987
  const context = useDialogContext(OVERLAY_NAME, __scopeDialog);
@@ -9105,7 +10001,7 @@ var DialogOverlayImpl = React50.forwardRef(
9105
10001
  }
9106
10002
  );
9107
10003
  var CONTENT_NAME = "DialogContent";
9108
- var DialogContent = React50.forwardRef(
10004
+ var DialogContent = React55.forwardRef(
9109
10005
  (props, forwardedRef) => {
9110
10006
  const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);
9111
10007
  const { forceMount = portalContext.forceMount, ...contentProps } = props;
@@ -9114,12 +10010,12 @@ var DialogContent = React50.forwardRef(
9114
10010
  }
9115
10011
  );
9116
10012
  DialogContent.displayName = CONTENT_NAME;
9117
- var DialogContentModal = React50.forwardRef(
10013
+ var DialogContentModal = React55.forwardRef(
9118
10014
  (props, forwardedRef) => {
9119
10015
  const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);
9120
- const contentRef = React50.useRef(null);
10016
+ const contentRef = React55.useRef(null);
9121
10017
  const composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef);
9122
- React50.useEffect(() => {
10018
+ React55.useEffect(() => {
9123
10019
  const content = contentRef.current;
9124
10020
  if (content)
9125
10021
  return hideOthers(content);
@@ -9150,11 +10046,11 @@ var DialogContentModal = React50.forwardRef(
9150
10046
  );
9151
10047
  }
9152
10048
  );
9153
- var DialogContentNonModal = React50.forwardRef(
10049
+ var DialogContentNonModal = React55.forwardRef(
9154
10050
  (props, forwardedRef) => {
9155
10051
  const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);
9156
- const hasInteractedOutsideRef = React50.useRef(false);
9157
- const hasPointerDownOutsideRef = React50.useRef(false);
10052
+ const hasInteractedOutsideRef = React55.useRef(false);
10053
+ const hasPointerDownOutsideRef = React55.useRef(false);
9158
10054
  return /* @__PURE__ */ jsx(
9159
10055
  DialogContentImpl,
9160
10056
  {
@@ -9192,11 +10088,11 @@ var DialogContentNonModal = React50.forwardRef(
9192
10088
  );
9193
10089
  }
9194
10090
  );
9195
- var DialogContentImpl = React50.forwardRef(
10091
+ var DialogContentImpl = React55.forwardRef(
9196
10092
  (props, forwardedRef) => {
9197
10093
  const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props;
9198
10094
  const context = useDialogContext(CONTENT_NAME, __scopeDialog);
9199
- const contentRef = React50.useRef(null);
10095
+ const contentRef = React55.useRef(null);
9200
10096
  const composedRefs = useComposedRefs(forwardedRef, contentRef);
9201
10097
  useFocusGuards();
9202
10098
  return /* @__PURE__ */ jsxs(Fragment, { children: [
@@ -9231,7 +10127,7 @@ var DialogContentImpl = React50.forwardRef(
9231
10127
  }
9232
10128
  );
9233
10129
  var TITLE_NAME = "DialogTitle";
9234
- var DialogTitle = React50.forwardRef(
10130
+ var DialogTitle = React55.forwardRef(
9235
10131
  (props, forwardedRef) => {
9236
10132
  const { __scopeDialog, ...titleProps } = props;
9237
10133
  const context = useDialogContext(TITLE_NAME, __scopeDialog);
@@ -9240,7 +10136,7 @@ var DialogTitle = React50.forwardRef(
9240
10136
  );
9241
10137
  DialogTitle.displayName = TITLE_NAME;
9242
10138
  var DESCRIPTION_NAME = "DialogDescription";
9243
- var DialogDescription = React50.forwardRef(
10139
+ var DialogDescription = React55.forwardRef(
9244
10140
  (props, forwardedRef) => {
9245
10141
  const { __scopeDialog, ...descriptionProps } = props;
9246
10142
  const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);
@@ -9249,7 +10145,7 @@ var DialogDescription = React50.forwardRef(
9249
10145
  );
9250
10146
  DialogDescription.displayName = DESCRIPTION_NAME;
9251
10147
  var CLOSE_NAME = "DialogClose";
9252
- var DialogClose = React50.forwardRef(
10148
+ var DialogClose = React55.forwardRef(
9253
10149
  (props, forwardedRef) => {
9254
10150
  const { __scopeDialog, ...closeProps } = props;
9255
10151
  const context = useDialogContext(CLOSE_NAME, __scopeDialog);
@@ -9281,7 +10177,7 @@ var TitleWarning = ({ titleId }) => {
9281
10177
  If you want to hide the \`${titleWarningContext.titleName}\`, you can wrap it with our VisuallyHidden component.
9282
10178
 
9283
10179
  For more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;
9284
- React50.useEffect(() => {
10180
+ React55.useEffect(() => {
9285
10181
  if (titleId) {
9286
10182
  const hasTitle = document.getElementById(titleId);
9287
10183
  if (!hasTitle)
@@ -9294,7 +10190,7 @@ var DESCRIPTION_WARNING_NAME = "DialogDescriptionWarning";
9294
10190
  var DescriptionWarning = ({ contentRef, descriptionId }) => {
9295
10191
  const descriptionWarningContext = useWarningContext(DESCRIPTION_WARNING_NAME);
9296
10192
  const MESSAGE = `Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${descriptionWarningContext.contentName}}.`;
9297
- React50.useEffect(() => {
10193
+ React55.useEffect(() => {
9298
10194
  const describedById = contentRef.current?.getAttribute("aria-describedby");
9299
10195
  if (descriptionId && describedById) {
9300
10196
  const hasDescription = document.getElementById(descriptionId);
@@ -9337,7 +10233,7 @@ var overlayVariants = cva(
9337
10233
  }
9338
10234
  }
9339
10235
  );
9340
- var DialogOverlay2 = React50.forwardRef(({ className, variant, animation, ...props }, ref) => /* @__PURE__ */ jsx(
10236
+ var DialogOverlay2 = React55.forwardRef(({ className, variant, animation, ...props }, ref) => /* @__PURE__ */ jsx(
9341
10237
  Overlay,
9342
10238
  {
9343
10239
  ref,
@@ -9396,7 +10292,7 @@ var dialogContentVariants = cva(
9396
10292
  }
9397
10293
  }
9398
10294
  );
9399
- var DialogContent2 = React50.forwardRef(
10295
+ var DialogContent2 = React55.forwardRef(
9400
10296
  ({
9401
10297
  className,
9402
10298
  children,
@@ -9509,7 +10405,7 @@ var DialogFooter = ({
9509
10405
  }
9510
10406
  );
9511
10407
  DialogFooter.displayName = "DialogFooter";
9512
- var DialogTitle2 = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
10408
+ var DialogTitle2 = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
9513
10409
  Title,
9514
10410
  {
9515
10411
  ref,
@@ -9521,7 +10417,7 @@ var DialogTitle2 = React50.forwardRef(({ className, ...props }, ref) => /* @__PU
9521
10417
  }
9522
10418
  ));
9523
10419
  DialogTitle2.displayName = Title.displayName;
9524
- var DialogDescription2 = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
10420
+ var DialogDescription2 = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
9525
10421
  Description,
9526
10422
  {
9527
10423
  ref,
@@ -9533,7 +10429,7 @@ var DialogDescription2 = React50.forwardRef(({ className, ...props }, ref) => /*
9533
10429
  }
9534
10430
  ));
9535
10431
  DialogDescription2.displayName = Description.displayName;
9536
- var DialogForm = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
10432
+ var DialogForm = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
9537
10433
  "form",
9538
10434
  {
9539
10435
  ref,
@@ -9560,7 +10456,7 @@ var defaultColors = [
9560
10456
  "#EC4899",
9561
10457
  "#F43F5E"
9562
10458
  ];
9563
- var ColorPicker = React50__default.forwardRef(
10459
+ var ColorPicker = React55__default.forwardRef(
9564
10460
  ({
9565
10461
  value = "#000000",
9566
10462
  onChange,
@@ -9967,14 +10863,14 @@ function Calendar2({
9967
10863
  ] })
9968
10864
  ] }) }) });
9969
10865
  }
9970
- const [currentDate, setCurrentDate] = React50__default.useState(/* @__PURE__ */ new Date());
9971
- const [selectedDate, setSelectedDate] = React50__default.useState(null);
9972
- React50__default.useState("month");
9973
- const [eventDialogOpen, setEventDialogOpen] = React50__default.useState(false);
9974
- const [eventDialogMode, setEventDialogMode] = React50__default.useState("create");
9975
- const [selectedEvent, setSelectedEvent] = React50__default.useState(null);
9976
- const [draggedEvent, setDraggedEvent] = React50__default.useState(null);
9977
- const [dragTargetDate, setDragTargetDate] = React50__default.useState(null);
10866
+ const [currentDate, setCurrentDate] = React55__default.useState(/* @__PURE__ */ new Date());
10867
+ const [selectedDate, setSelectedDate] = React55__default.useState(null);
10868
+ React55__default.useState("month");
10869
+ const [eventDialogOpen, setEventDialogOpen] = React55__default.useState(false);
10870
+ const [eventDialogMode, setEventDialogMode] = React55__default.useState("create");
10871
+ const [selectedEvent, setSelectedEvent] = React55__default.useState(null);
10872
+ const [draggedEvent, setDraggedEvent] = React55__default.useState(null);
10873
+ const [dragTargetDate, setDragTargetDate] = React55__default.useState(null);
9978
10874
  const today = /* @__PURE__ */ new Date();
9979
10875
  const currentMonth = currentDate.getMonth();
9980
10876
  const currentYear = currentDate.getFullYear();
@@ -10365,7 +11261,7 @@ var avatarVariants = cva(
10365
11261
  }
10366
11262
  }
10367
11263
  );
10368
- var Avatar = React50.forwardRef(({ className, size: size4, radius, variant, ...props }, ref) => /* @__PURE__ */ jsx(
11264
+ var Avatar = React55.forwardRef(({ className, size: size4, radius, variant, ...props }, ref) => /* @__PURE__ */ jsx(
10369
11265
  AvatarPrimitive.Root,
10370
11266
  {
10371
11267
  ref,
@@ -10374,7 +11270,7 @@ var Avatar = React50.forwardRef(({ className, size: size4, radius, variant, ...p
10374
11270
  }
10375
11271
  ));
10376
11272
  Avatar.displayName = AvatarPrimitive.Root.displayName;
10377
- var AvatarImage = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
11273
+ var AvatarImage = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
10378
11274
  AvatarPrimitive.Image,
10379
11275
  {
10380
11276
  ref,
@@ -10383,7 +11279,7 @@ var AvatarImage = React50.forwardRef(({ className, ...props }, ref) => /* @__PUR
10383
11279
  }
10384
11280
  ));
10385
11281
  AvatarImage.displayName = AvatarPrimitive.Image.displayName;
10386
- var AvatarFallback = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
11282
+ var AvatarFallback = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
10387
11283
  AvatarPrimitive.Fallback,
10388
11284
  {
10389
11285
  ref,
@@ -10395,7 +11291,7 @@ var AvatarFallback = React50.forwardRef(({ className, ...props }, ref) => /* @__
10395
11291
  }
10396
11292
  ));
10397
11293
  AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
10398
- var AvatarGroup = React50.forwardRef(
11294
+ var AvatarGroup = React55.forwardRef(
10399
11295
  ({ className, limit, avatars, overlapOffset = -8, ...props }, ref) => {
10400
11296
  const visibleAvatars = limit ? avatars.slice(0, limit) : avatars;
10401
11297
  const remainingCount = limit ? Math.max(0, avatars.length - limit) : 0;
@@ -10469,9 +11365,9 @@ function Kanban({
10469
11365
  ] })
10470
11366
  ] }) }) });
10471
11367
  }
10472
- const [draggedCard, setDraggedCard] = React50__default.useState(null);
10473
- const [draggedOverColumn, setDraggedOverColumn] = React50__default.useState(null);
10474
- const [draggedFromColumn, setDraggedFromColumn] = React50__default.useState(null);
11368
+ const [draggedCard, setDraggedCard] = React55__default.useState(null);
11369
+ const [draggedOverColumn, setDraggedOverColumn] = React55__default.useState(null);
11370
+ const [draggedFromColumn, setDraggedFromColumn] = React55__default.useState(null);
10475
11371
  const handleDragStart = (e, cardId) => {
10476
11372
  if (disabled)
10477
11373
  return;
@@ -27193,7 +28089,7 @@ function markPasteRule(config) {
27193
28089
  }
27194
28090
 
27195
28091
  // ../../node_modules/@tiptap/react/dist/index.js
27196
- var import_react33 = __toESM(require_react(), 1);
28092
+ var import_react40 = __toESM(require_react(), 1);
27197
28093
  var mergeRefs = (...refs) => {
27198
28094
  return (node) => {
27199
28095
  refs.forEach((ref) => {
@@ -27253,11 +28149,11 @@ function getInstance() {
27253
28149
  }
27254
28150
  };
27255
28151
  }
27256
- var PureEditorContent = class extends React50__default.Component {
28152
+ var PureEditorContent = class extends React55__default.Component {
27257
28153
  constructor(props) {
27258
28154
  var _a2;
27259
28155
  super(props);
27260
- this.editorContentRef = React50__default.createRef();
28156
+ this.editorContentRef = React55__default.createRef();
27261
28157
  this.initialized = false;
27262
28158
  this.state = {
27263
28159
  hasContentComponentInitialized: Boolean((_a2 = props.editor) == null ? void 0 : _a2.contentComponent)
@@ -27335,17 +28231,17 @@ var PureEditorContent = class extends React50__default.Component {
27335
28231
  };
27336
28232
  var EditorContentWithKey = forwardRef(
27337
28233
  (props, ref) => {
27338
- const key = React50__default.useMemo(() => {
28234
+ const key = React55__default.useMemo(() => {
27339
28235
  return Math.floor(Math.random() * 4294967295).toString();
27340
28236
  }, [props.editor]);
27341
- return React50__default.createElement(PureEditorContent, {
28237
+ return React55__default.createElement(PureEditorContent, {
27342
28238
  key,
27343
28239
  innerRef: ref,
27344
28240
  ...props
27345
28241
  });
27346
28242
  }
27347
28243
  );
27348
- var EditorContent = React50__default.memo(EditorContentWithKey);
28244
+ var EditorContent = React55__default.memo(EditorContentWithKey);
27349
28245
  var useIsomorphicLayoutEffect2 = typeof window !== "undefined" ? useLayoutEffect : useEffect;
27350
28246
  var EditorStateManager = class {
27351
28247
  constructor(initialEditor) {
@@ -27412,7 +28308,7 @@ function useEditorState(options) {
27412
28308
  editorStateManager.getSnapshot,
27413
28309
  editorStateManager.getServerSnapshot,
27414
28310
  options.selector,
27415
- (_a2 = options.equalityFn) != null ? _a2 : import_react33.default
28311
+ (_a2 = options.equalityFn) != null ? _a2 : import_react40.default
27416
28312
  );
27417
28313
  useIsomorphicLayoutEffect2(() => {
27418
28314
  return editorStateManager.watch(options.editor);
@@ -27689,7 +28585,7 @@ var ReactNodeViewContext = createContext({
27689
28585
  }
27690
28586
  });
27691
28587
  var useReactNodeView = () => useContext(ReactNodeViewContext);
27692
- React50__default.forwardRef((props, ref) => {
28588
+ React55__default.forwardRef((props, ref) => {
27693
28589
  const { onDragStart } = useReactNodeView();
27694
28590
  const Tag = props.as || "div";
27695
28591
  return (
@@ -27709,7 +28605,7 @@ React50__default.forwardRef((props, ref) => {
27709
28605
  )
27710
28606
  );
27711
28607
  });
27712
- React50__default.createContext({
28608
+ React55__default.createContext({
27713
28609
  markViewContentRef: () => {
27714
28610
  }
27715
28611
  });
@@ -49243,14 +50139,14 @@ function createCollection(name) {
49243
50139
  );
49244
50140
  const CollectionProvider = (props) => {
49245
50141
  const { scope, children } = props;
49246
- const ref = React50__default.useRef(null);
49247
- const itemMap = React50__default.useRef(/* @__PURE__ */ new Map()).current;
50142
+ const ref = React55__default.useRef(null);
50143
+ const itemMap = React55__default.useRef(/* @__PURE__ */ new Map()).current;
49248
50144
  return /* @__PURE__ */ jsx(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });
49249
50145
  };
49250
50146
  CollectionProvider.displayName = PROVIDER_NAME2;
49251
50147
  const COLLECTION_SLOT_NAME = name + "CollectionSlot";
49252
50148
  const CollectionSlotImpl = createSlot(COLLECTION_SLOT_NAME);
49253
- const CollectionSlot = React50__default.forwardRef(
50149
+ const CollectionSlot = React55__default.forwardRef(
49254
50150
  (props, forwardedRef) => {
49255
50151
  const { scope, children } = props;
49256
50152
  const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);
@@ -49262,13 +50158,13 @@ function createCollection(name) {
49262
50158
  const ITEM_SLOT_NAME = name + "CollectionItemSlot";
49263
50159
  const ITEM_DATA_ATTR = "data-radix-collection-item";
49264
50160
  const CollectionItemSlotImpl = createSlot(ITEM_SLOT_NAME);
49265
- const CollectionItemSlot = React50__default.forwardRef(
50161
+ const CollectionItemSlot = React55__default.forwardRef(
49266
50162
  (props, forwardedRef) => {
49267
50163
  const { scope, children, ...itemData } = props;
49268
- const ref = React50__default.useRef(null);
50164
+ const ref = React55__default.useRef(null);
49269
50165
  const composedRefs = useComposedRefs(forwardedRef, ref);
49270
50166
  const context = useCollectionContext(ITEM_SLOT_NAME, scope);
49271
- React50__default.useEffect(() => {
50167
+ React55__default.useEffect(() => {
49272
50168
  context.itemMap.set(ref, { ref, ...itemData });
49273
50169
  return () => void context.itemMap.delete(ref);
49274
50170
  });
@@ -49278,7 +50174,7 @@ function createCollection(name) {
49278
50174
  CollectionItemSlot.displayName = ITEM_SLOT_NAME;
49279
50175
  function useCollection4(scope) {
49280
50176
  const context = useCollectionContext(name + "CollectionConsumer", scope);
49281
- const getItems = React50__default.useCallback(() => {
50177
+ const getItems = React55__default.useCallback(() => {
49282
50178
  const collectionNode = context.collectionRef.current;
49283
50179
  if (!collectionNode)
49284
50180
  return [];
@@ -49297,13 +50193,13 @@ function createCollection(name) {
49297
50193
  createCollectionScope4
49298
50194
  ];
49299
50195
  }
49300
- var DirectionContext = React50.createContext(void 0);
50196
+ var DirectionContext = React55.createContext(void 0);
49301
50197
  function useDirection(localDir) {
49302
- const globalDir = React50.useContext(DirectionContext);
50198
+ const globalDir = React55.useContext(DirectionContext);
49303
50199
  return localDir || globalDir || "ltr";
49304
50200
  }
49305
50201
  var NAME2 = "Arrow";
49306
- var Arrow = React50.forwardRef((props, forwardedRef) => {
50202
+ var Arrow = React55.forwardRef((props, forwardedRef) => {
49307
50203
  const { children, width = 10, height = 5, ...arrowProps } = props;
49308
50204
  return /* @__PURE__ */ jsx(
49309
50205
  Primitive.svg,
@@ -49321,7 +50217,7 @@ var Arrow = React50.forwardRef((props, forwardedRef) => {
49321
50217
  Arrow.displayName = NAME2;
49322
50218
  var Root5 = Arrow;
49323
50219
  function useSize(element) {
49324
- const [size4, setSize] = React50.useState(void 0);
50220
+ const [size4, setSize] = React55.useState(void 0);
49325
50221
  useLayoutEffect22(() => {
49326
50222
  if (element) {
49327
50223
  setSize({ width: element.offsetWidth, height: element.offsetHeight });
@@ -49359,18 +50255,18 @@ var [createPopperContext, createPopperScope] = createContextScope(POPPER_NAME);
49359
50255
  var [PopperProvider, usePopperContext] = createPopperContext(POPPER_NAME);
49360
50256
  var Popper = (props) => {
49361
50257
  const { __scopePopper, children } = props;
49362
- const [anchor, setAnchor] = React50.useState(null);
50258
+ const [anchor, setAnchor] = React55.useState(null);
49363
50259
  return /* @__PURE__ */ jsx(PopperProvider, { scope: __scopePopper, anchor, onAnchorChange: setAnchor, children });
49364
50260
  };
49365
50261
  Popper.displayName = POPPER_NAME;
49366
50262
  var ANCHOR_NAME = "PopperAnchor";
49367
- var PopperAnchor = React50.forwardRef(
50263
+ var PopperAnchor = React55.forwardRef(
49368
50264
  (props, forwardedRef) => {
49369
50265
  const { __scopePopper, virtualRef, ...anchorProps } = props;
49370
50266
  const context = usePopperContext(ANCHOR_NAME, __scopePopper);
49371
- const ref = React50.useRef(null);
50267
+ const ref = React55.useRef(null);
49372
50268
  const composedRefs = useComposedRefs(forwardedRef, ref);
49373
- React50.useEffect(() => {
50269
+ React55.useEffect(() => {
49374
50270
  context.onAnchorChange(virtualRef?.current || ref.current);
49375
50271
  });
49376
50272
  return virtualRef ? null : /* @__PURE__ */ jsx(Primitive.div, { ...anchorProps, ref: composedRefs });
@@ -49379,7 +50275,7 @@ var PopperAnchor = React50.forwardRef(
49379
50275
  PopperAnchor.displayName = ANCHOR_NAME;
49380
50276
  var CONTENT_NAME2 = "PopperContent";
49381
50277
  var [PopperContentProvider, useContentContext] = createPopperContext(CONTENT_NAME2);
49382
- var PopperContent = React50.forwardRef(
50278
+ var PopperContent = React55.forwardRef(
49383
50279
  (props, forwardedRef) => {
49384
50280
  const {
49385
50281
  __scopePopper,
@@ -49398,9 +50294,9 @@ var PopperContent = React50.forwardRef(
49398
50294
  ...contentProps
49399
50295
  } = props;
49400
50296
  const context = usePopperContext(CONTENT_NAME2, __scopePopper);
49401
- const [content, setContent2] = React50.useState(null);
50297
+ const [content, setContent2] = React55.useState(null);
49402
50298
  const composedRefs = useComposedRefs(forwardedRef, (node) => setContent2(node));
49403
- const [arrow6, setArrow] = React50.useState(null);
50299
+ const [arrow6, setArrow] = React55.useState(null);
49404
50300
  const arrowSize = useSize(arrow6);
49405
50301
  const arrowWidth = arrowSize?.width ?? 0;
49406
50302
  const arrowHeight = arrowSize?.height ?? 0;
@@ -49462,7 +50358,7 @@ var PopperContent = React50.forwardRef(
49462
50358
  const arrowX = middlewareData.arrow?.x;
49463
50359
  const arrowY = middlewareData.arrow?.y;
49464
50360
  const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;
49465
- const [contentZIndex, setContentZIndex] = React50.useState();
50361
+ const [contentZIndex, setContentZIndex] = React55.useState();
49466
50362
  useLayoutEffect22(() => {
49467
50363
  if (content)
49468
50364
  setContentZIndex(window.getComputedStyle(content).zIndex);
@@ -49529,7 +50425,7 @@ var OPPOSITE_SIDE = {
49529
50425
  bottom: "top",
49530
50426
  left: "right"
49531
50427
  };
49532
- var PopperArrow = React50.forwardRef(function PopperArrow2(props, forwardedRef) {
50428
+ var PopperArrow = React55.forwardRef(function PopperArrow2(props, forwardedRef) {
49533
50429
  const { __scopePopper, ...arrowProps } = props;
49534
50430
  const contentContext = useContentContext(ARROW_NAME, __scopePopper);
49535
50431
  const baseSide = OPPOSITE_SIDE[contentContext.placedSide];
@@ -49628,13 +50524,13 @@ var [createRovingFocusGroupContext, createRovingFocusGroupScope] = createContext
49628
50524
  [createCollectionScope]
49629
50525
  );
49630
50526
  var [RovingFocusProvider, useRovingFocusContext] = createRovingFocusGroupContext(GROUP_NAME);
49631
- var RovingFocusGroup = React50.forwardRef(
50527
+ var RovingFocusGroup = React55.forwardRef(
49632
50528
  (props, forwardedRef) => {
49633
50529
  return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(RovingFocusGroupImpl, { ...props, ref: forwardedRef }) }) });
49634
50530
  }
49635
50531
  );
49636
50532
  RovingFocusGroup.displayName = GROUP_NAME;
49637
- var RovingFocusGroupImpl = React50.forwardRef((props, forwardedRef) => {
50533
+ var RovingFocusGroupImpl = React55.forwardRef((props, forwardedRef) => {
49638
50534
  const {
49639
50535
  __scopeRovingFocusGroup,
49640
50536
  orientation,
@@ -49647,7 +50543,7 @@ var RovingFocusGroupImpl = React50.forwardRef((props, forwardedRef) => {
49647
50543
  preventScrollOnEntryFocus = false,
49648
50544
  ...groupProps
49649
50545
  } = props;
49650
- const ref = React50.useRef(null);
50546
+ const ref = React55.useRef(null);
49651
50547
  const composedRefs = useComposedRefs(forwardedRef, ref);
49652
50548
  const direction = useDirection(dir);
49653
50549
  const [currentTabStopId, setCurrentTabStopId] = useControllableState({
@@ -49656,12 +50552,12 @@ var RovingFocusGroupImpl = React50.forwardRef((props, forwardedRef) => {
49656
50552
  onChange: onCurrentTabStopIdChange,
49657
50553
  caller: GROUP_NAME
49658
50554
  });
49659
- const [isTabbingBackOut, setIsTabbingBackOut] = React50.useState(false);
50555
+ const [isTabbingBackOut, setIsTabbingBackOut] = React55.useState(false);
49660
50556
  const handleEntryFocus = useCallbackRef2(onEntryFocus);
49661
50557
  const getItems = useCollection(__scopeRovingFocusGroup);
49662
- const isClickFocusRef = React50.useRef(false);
49663
- const [focusableItemsCount, setFocusableItemsCount] = React50.useState(0);
49664
- React50.useEffect(() => {
50558
+ const isClickFocusRef = React55.useRef(false);
50559
+ const [focusableItemsCount, setFocusableItemsCount] = React55.useState(0);
50560
+ React55.useEffect(() => {
49665
50561
  const node = ref.current;
49666
50562
  if (node) {
49667
50563
  node.addEventListener(ENTRY_FOCUS, handleEntryFocus);
@@ -49676,16 +50572,16 @@ var RovingFocusGroupImpl = React50.forwardRef((props, forwardedRef) => {
49676
50572
  dir: direction,
49677
50573
  loop,
49678
50574
  currentTabStopId,
49679
- onItemFocus: React50.useCallback(
50575
+ onItemFocus: React55.useCallback(
49680
50576
  (tabStopId) => setCurrentTabStopId(tabStopId),
49681
50577
  [setCurrentTabStopId]
49682
50578
  ),
49683
- onItemShiftTab: React50.useCallback(() => setIsTabbingBackOut(true), []),
49684
- onFocusableItemAdd: React50.useCallback(
50579
+ onItemShiftTab: React55.useCallback(() => setIsTabbingBackOut(true), []),
50580
+ onFocusableItemAdd: React55.useCallback(
49685
50581
  () => setFocusableItemsCount((prevCount) => prevCount + 1),
49686
50582
  []
49687
50583
  ),
49688
- onFocusableItemRemove: React50.useCallback(
50584
+ onFocusableItemRemove: React55.useCallback(
49689
50585
  () => setFocusableItemsCount((prevCount) => prevCount - 1),
49690
50586
  []
49691
50587
  ),
@@ -49725,7 +50621,7 @@ var RovingFocusGroupImpl = React50.forwardRef((props, forwardedRef) => {
49725
50621
  );
49726
50622
  });
49727
50623
  var ITEM_NAME = "RovingFocusGroupItem";
49728
- var RovingFocusGroupItem = React50.forwardRef(
50624
+ var RovingFocusGroupItem = React55.forwardRef(
49729
50625
  (props, forwardedRef) => {
49730
50626
  const {
49731
50627
  __scopeRovingFocusGroup,
@@ -49741,7 +50637,7 @@ var RovingFocusGroupItem = React50.forwardRef(
49741
50637
  const isCurrentTabStop = context.currentTabStopId === id;
49742
50638
  const getItems = useCollection(__scopeRovingFocusGroup);
49743
50639
  const { onFocusableItemAdd, onFocusableItemRemove, currentTabStopId } = context;
49744
- React50.useEffect(() => {
50640
+ React55.useEffect(() => {
49745
50641
  if (focusable) {
49746
50642
  onFocusableItemAdd();
49747
50643
  return () => onFocusableItemRemove();
@@ -49865,11 +50761,11 @@ var [MenuRootProvider, useMenuRootContext] = createMenuContext(MENU_NAME);
49865
50761
  var Menu = (props) => {
49866
50762
  const { __scopeMenu, open = false, children, dir, onOpenChange, modal = true } = props;
49867
50763
  const popperScope = usePopperScope(__scopeMenu);
49868
- const [content, setContent2] = React50.useState(null);
49869
- const isUsingKeyboardRef = React50.useRef(false);
50764
+ const [content, setContent2] = React55.useState(null);
50765
+ const isUsingKeyboardRef = React55.useRef(false);
49870
50766
  const handleOpenChange = useCallbackRef2(onOpenChange);
49871
50767
  const direction = useDirection(dir);
49872
- React50.useEffect(() => {
50768
+ React55.useEffect(() => {
49873
50769
  const handleKeyDown3 = () => {
49874
50770
  isUsingKeyboardRef.current = true;
49875
50771
  document.addEventListener("pointerdown", handlePointer, { capture: true, once: true });
@@ -49895,7 +50791,7 @@ var Menu = (props) => {
49895
50791
  MenuRootProvider,
49896
50792
  {
49897
50793
  scope: __scopeMenu,
49898
- onClose: React50.useCallback(() => handleOpenChange(false), [handleOpenChange]),
50794
+ onClose: React55.useCallback(() => handleOpenChange(false), [handleOpenChange]),
49899
50795
  isUsingKeyboardRef,
49900
50796
  dir: direction,
49901
50797
  modal,
@@ -49907,7 +50803,7 @@ var Menu = (props) => {
49907
50803
  };
49908
50804
  Menu.displayName = MENU_NAME;
49909
50805
  var ANCHOR_NAME2 = "MenuAnchor";
49910
- var MenuAnchor = React50.forwardRef(
50806
+ var MenuAnchor = React55.forwardRef(
49911
50807
  (props, forwardedRef) => {
49912
50808
  const { __scopeMenu, ...anchorProps } = props;
49913
50809
  const popperScope = usePopperScope(__scopeMenu);
@@ -49927,7 +50823,7 @@ var MenuPortal = (props) => {
49927
50823
  MenuPortal.displayName = PORTAL_NAME3;
49928
50824
  var CONTENT_NAME3 = "MenuContent";
49929
50825
  var [MenuContentProvider, useMenuContentContext] = createMenuContext(CONTENT_NAME3);
49930
- var MenuContent = React50.forwardRef(
50826
+ var MenuContent = React55.forwardRef(
49931
50827
  (props, forwardedRef) => {
49932
50828
  const portalContext = usePortalContext2(CONTENT_NAME3, props.__scopeMenu);
49933
50829
  const { forceMount = portalContext.forceMount, ...contentProps } = props;
@@ -49936,12 +50832,12 @@ var MenuContent = React50.forwardRef(
49936
50832
  return /* @__PURE__ */ jsx(Collection2.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection2.Slot, { scope: props.__scopeMenu, children: rootContext.modal ? /* @__PURE__ */ jsx(MenuRootContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(MenuRootContentNonModal, { ...contentProps, ref: forwardedRef }) }) }) });
49937
50833
  }
49938
50834
  );
49939
- var MenuRootContentModal = React50.forwardRef(
50835
+ var MenuRootContentModal = React55.forwardRef(
49940
50836
  (props, forwardedRef) => {
49941
50837
  const context = useMenuContext(CONTENT_NAME3, props.__scopeMenu);
49942
- const ref = React50.useRef(null);
50838
+ const ref = React55.useRef(null);
49943
50839
  const composedRefs = useComposedRefs(forwardedRef, ref);
49944
- React50.useEffect(() => {
50840
+ React55.useEffect(() => {
49945
50841
  const content = ref.current;
49946
50842
  if (content)
49947
50843
  return hideOthers(content);
@@ -49964,7 +50860,7 @@ var MenuRootContentModal = React50.forwardRef(
49964
50860
  );
49965
50861
  }
49966
50862
  );
49967
- var MenuRootContentNonModal = React50.forwardRef((props, forwardedRef) => {
50863
+ var MenuRootContentNonModal = React55.forwardRef((props, forwardedRef) => {
49968
50864
  const context = useMenuContext(CONTENT_NAME3, props.__scopeMenu);
49969
50865
  return /* @__PURE__ */ jsx(
49970
50866
  MenuContentImpl,
@@ -49979,7 +50875,7 @@ var MenuRootContentNonModal = React50.forwardRef((props, forwardedRef) => {
49979
50875
  );
49980
50876
  });
49981
50877
  var Slot2 = createSlot("MenuContent.ScrollLock");
49982
- var MenuContentImpl = React50.forwardRef(
50878
+ var MenuContentImpl = React55.forwardRef(
49983
50879
  (props, forwardedRef) => {
49984
50880
  const {
49985
50881
  __scopeMenu,
@@ -50002,16 +50898,16 @@ var MenuContentImpl = React50.forwardRef(
50002
50898
  const popperScope = usePopperScope(__scopeMenu);
50003
50899
  const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);
50004
50900
  const getItems = useCollection2(__scopeMenu);
50005
- const [currentItemId, setCurrentItemId] = React50.useState(null);
50006
- const contentRef = React50.useRef(null);
50901
+ const [currentItemId, setCurrentItemId] = React55.useState(null);
50902
+ const contentRef = React55.useRef(null);
50007
50903
  const composedRefs = useComposedRefs(forwardedRef, contentRef, context.onContentChange);
50008
- const timerRef = React50.useRef(0);
50009
- const searchRef = React50.useRef("");
50010
- const pointerGraceTimerRef = React50.useRef(0);
50011
- const pointerGraceIntentRef = React50.useRef(null);
50012
- const pointerDirRef = React50.useRef("right");
50013
- const lastPointerXRef = React50.useRef(0);
50014
- const ScrollLockWrapper = disableOutsideScroll ? Combination_default2 : React50.Fragment;
50904
+ const timerRef = React55.useRef(0);
50905
+ const searchRef = React55.useRef("");
50906
+ const pointerGraceTimerRef = React55.useRef(0);
50907
+ const pointerGraceIntentRef = React55.useRef(null);
50908
+ const pointerDirRef = React55.useRef("right");
50909
+ const lastPointerXRef = React55.useRef(0);
50910
+ const ScrollLockWrapper = disableOutsideScroll ? Combination_default2 : React55.Fragment;
50015
50911
  const scrollLockWrapperProps = disableOutsideScroll ? { as: Slot2, allowPinchZoom: true } : void 0;
50016
50912
  const handleTypeaheadSearch = (key) => {
50017
50913
  const search = searchRef.current + key;
@@ -50031,11 +50927,11 @@ var MenuContentImpl = React50.forwardRef(
50031
50927
  setTimeout(() => newItem.focus());
50032
50928
  }
50033
50929
  };
50034
- React50.useEffect(() => {
50930
+ React55.useEffect(() => {
50035
50931
  return () => window.clearTimeout(timerRef.current);
50036
50932
  }, []);
50037
50933
  useFocusGuards();
50038
- const isPointerMovingToSubmenu = React50.useCallback((event) => {
50934
+ const isPointerMovingToSubmenu = React55.useCallback((event) => {
50039
50935
  const isMovingTowards = pointerDirRef.current === pointerGraceIntentRef.current?.side;
50040
50936
  return isMovingTowards && isPointerInGraceArea(event, pointerGraceIntentRef.current?.area);
50041
50937
  }, []);
@@ -50044,14 +50940,14 @@ var MenuContentImpl = React50.forwardRef(
50044
50940
  {
50045
50941
  scope: __scopeMenu,
50046
50942
  searchRef,
50047
- onItemEnter: React50.useCallback(
50943
+ onItemEnter: React55.useCallback(
50048
50944
  (event) => {
50049
50945
  if (isPointerMovingToSubmenu(event))
50050
50946
  event.preventDefault();
50051
50947
  },
50052
50948
  [isPointerMovingToSubmenu]
50053
50949
  ),
50054
- onItemLeave: React50.useCallback(
50950
+ onItemLeave: React55.useCallback(
50055
50951
  (event) => {
50056
50952
  if (isPointerMovingToSubmenu(event))
50057
50953
  return;
@@ -50060,7 +50956,7 @@ var MenuContentImpl = React50.forwardRef(
50060
50956
  },
50061
50957
  [isPointerMovingToSubmenu]
50062
50958
  ),
50063
- onTriggerLeave: React50.useCallback(
50959
+ onTriggerLeave: React55.useCallback(
50064
50960
  (event) => {
50065
50961
  if (isPointerMovingToSubmenu(event))
50066
50962
  event.preventDefault();
@@ -50068,7 +50964,7 @@ var MenuContentImpl = React50.forwardRef(
50068
50964
  [isPointerMovingToSubmenu]
50069
50965
  ),
50070
50966
  pointerGraceTimerRef,
50071
- onPointerGraceIntentChange: React50.useCallback((intent) => {
50967
+ onPointerGraceIntentChange: React55.useCallback((intent) => {
50072
50968
  pointerGraceIntentRef.current = intent;
50073
50969
  }, []),
50074
50970
  children: /* @__PURE__ */ jsx(ScrollLockWrapper, { ...scrollLockWrapperProps, children: /* @__PURE__ */ jsx(
@@ -50173,7 +51069,7 @@ var MenuContentImpl = React50.forwardRef(
50173
51069
  );
50174
51070
  MenuContent.displayName = CONTENT_NAME3;
50175
51071
  var GROUP_NAME2 = "MenuGroup";
50176
- var MenuGroup = React50.forwardRef(
51072
+ var MenuGroup = React55.forwardRef(
50177
51073
  (props, forwardedRef) => {
50178
51074
  const { __scopeMenu, ...groupProps } = props;
50179
51075
  return /* @__PURE__ */ jsx(Primitive.div, { role: "group", ...groupProps, ref: forwardedRef });
@@ -50181,7 +51077,7 @@ var MenuGroup = React50.forwardRef(
50181
51077
  );
50182
51078
  MenuGroup.displayName = GROUP_NAME2;
50183
51079
  var LABEL_NAME = "MenuLabel";
50184
- var MenuLabel = React50.forwardRef(
51080
+ var MenuLabel = React55.forwardRef(
50185
51081
  (props, forwardedRef) => {
50186
51082
  const { __scopeMenu, ...labelProps } = props;
50187
51083
  return /* @__PURE__ */ jsx(Primitive.div, { ...labelProps, ref: forwardedRef });
@@ -50190,14 +51086,14 @@ var MenuLabel = React50.forwardRef(
50190
51086
  MenuLabel.displayName = LABEL_NAME;
50191
51087
  var ITEM_NAME2 = "MenuItem";
50192
51088
  var ITEM_SELECT = "menu.itemSelect";
50193
- var MenuItem = React50.forwardRef(
51089
+ var MenuItem = React55.forwardRef(
50194
51090
  (props, forwardedRef) => {
50195
51091
  const { disabled = false, onSelect, ...itemProps } = props;
50196
- const ref = React50.useRef(null);
51092
+ const ref = React55.useRef(null);
50197
51093
  const rootContext = useMenuRootContext(ITEM_NAME2, props.__scopeMenu);
50198
51094
  const contentContext = useMenuContentContext(ITEM_NAME2, props.__scopeMenu);
50199
51095
  const composedRefs = useComposedRefs(forwardedRef, ref);
50200
- const isPointerDownRef = React50.useRef(false);
51096
+ const isPointerDownRef = React55.useRef(false);
50201
51097
  const handleSelect = () => {
50202
51098
  const menuItem = ref.current;
50203
51099
  if (!disabled && menuItem) {
@@ -50240,16 +51136,16 @@ var MenuItem = React50.forwardRef(
50240
51136
  }
50241
51137
  );
50242
51138
  MenuItem.displayName = ITEM_NAME2;
50243
- var MenuItemImpl = React50.forwardRef(
51139
+ var MenuItemImpl = React55.forwardRef(
50244
51140
  (props, forwardedRef) => {
50245
51141
  const { __scopeMenu, disabled = false, textValue, ...itemProps } = props;
50246
51142
  const contentContext = useMenuContentContext(ITEM_NAME2, __scopeMenu);
50247
51143
  const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);
50248
- const ref = React50.useRef(null);
51144
+ const ref = React55.useRef(null);
50249
51145
  const composedRefs = useComposedRefs(forwardedRef, ref);
50250
- const [isFocused, setIsFocused] = React50.useState(false);
50251
- const [textContent, setTextContent] = React50.useState("");
50252
- React50.useEffect(() => {
51146
+ const [isFocused, setIsFocused] = React55.useState(false);
51147
+ const [textContent, setTextContent] = React55.useState("");
51148
+ React55.useEffect(() => {
50253
51149
  const menuItem = ref.current;
50254
51150
  if (menuItem) {
50255
51151
  setTextContent((menuItem.textContent ?? "").trim());
@@ -50297,7 +51193,7 @@ var MenuItemImpl = React50.forwardRef(
50297
51193
  }
50298
51194
  );
50299
51195
  var CHECKBOX_ITEM_NAME = "MenuCheckboxItem";
50300
- var MenuCheckboxItem = React50.forwardRef(
51196
+ var MenuCheckboxItem = React55.forwardRef(
50301
51197
  (props, forwardedRef) => {
50302
51198
  const { checked = false, onCheckedChange, ...checkboxItemProps } = props;
50303
51199
  return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(
@@ -50324,7 +51220,7 @@ var [RadioGroupProvider, useRadioGroupContext] = createMenuContext(
50324
51220
  { value: void 0, onValueChange: () => {
50325
51221
  } }
50326
51222
  );
50327
- var MenuRadioGroup = React50.forwardRef(
51223
+ var MenuRadioGroup = React55.forwardRef(
50328
51224
  (props, forwardedRef) => {
50329
51225
  const { value, onValueChange, ...groupProps } = props;
50330
51226
  const handleValueChange = useCallbackRef2(onValueChange);
@@ -50333,7 +51229,7 @@ var MenuRadioGroup = React50.forwardRef(
50333
51229
  );
50334
51230
  MenuRadioGroup.displayName = RADIO_GROUP_NAME;
50335
51231
  var RADIO_ITEM_NAME = "MenuRadioItem";
50336
- var MenuRadioItem = React50.forwardRef(
51232
+ var MenuRadioItem = React55.forwardRef(
50337
51233
  (props, forwardedRef) => {
50338
51234
  const { value, ...radioItemProps } = props;
50339
51235
  const context = useRadioGroupContext(RADIO_ITEM_NAME, props.__scopeMenu);
@@ -50361,7 +51257,7 @@ var [ItemIndicatorProvider, useItemIndicatorContext] = createMenuContext(
50361
51257
  ITEM_INDICATOR_NAME,
50362
51258
  { checked: false }
50363
51259
  );
50364
- var MenuItemIndicator = React50.forwardRef(
51260
+ var MenuItemIndicator = React55.forwardRef(
50365
51261
  (props, forwardedRef) => {
50366
51262
  const { __scopeMenu, forceMount, ...itemIndicatorProps } = props;
50367
51263
  const indicatorContext = useItemIndicatorContext(ITEM_INDICATOR_NAME, __scopeMenu);
@@ -50383,7 +51279,7 @@ var MenuItemIndicator = React50.forwardRef(
50383
51279
  );
50384
51280
  MenuItemIndicator.displayName = ITEM_INDICATOR_NAME;
50385
51281
  var SEPARATOR_NAME = "MenuSeparator";
50386
- var MenuSeparator = React50.forwardRef(
51282
+ var MenuSeparator = React55.forwardRef(
50387
51283
  (props, forwardedRef) => {
50388
51284
  const { __scopeMenu, ...separatorProps } = props;
50389
51285
  return /* @__PURE__ */ jsx(
@@ -50399,7 +51295,7 @@ var MenuSeparator = React50.forwardRef(
50399
51295
  );
50400
51296
  MenuSeparator.displayName = SEPARATOR_NAME;
50401
51297
  var ARROW_NAME2 = "MenuArrow";
50402
- var MenuArrow = React50.forwardRef(
51298
+ var MenuArrow = React55.forwardRef(
50403
51299
  (props, forwardedRef) => {
50404
51300
  const { __scopeMenu, ...arrowProps } = props;
50405
51301
  const popperScope = usePopperScope(__scopeMenu);
@@ -50410,22 +51306,22 @@ MenuArrow.displayName = ARROW_NAME2;
50410
51306
  var SUB_NAME = "MenuSub";
50411
51307
  var [MenuSubProvider, useMenuSubContext] = createMenuContext(SUB_NAME);
50412
51308
  var SUB_TRIGGER_NAME = "MenuSubTrigger";
50413
- var MenuSubTrigger = React50.forwardRef(
51309
+ var MenuSubTrigger = React55.forwardRef(
50414
51310
  (props, forwardedRef) => {
50415
51311
  const context = useMenuContext(SUB_TRIGGER_NAME, props.__scopeMenu);
50416
51312
  const rootContext = useMenuRootContext(SUB_TRIGGER_NAME, props.__scopeMenu);
50417
51313
  const subContext = useMenuSubContext(SUB_TRIGGER_NAME, props.__scopeMenu);
50418
51314
  const contentContext = useMenuContentContext(SUB_TRIGGER_NAME, props.__scopeMenu);
50419
- const openTimerRef = React50.useRef(null);
51315
+ const openTimerRef = React55.useRef(null);
50420
51316
  const { pointerGraceTimerRef, onPointerGraceIntentChange } = contentContext;
50421
51317
  const scope = { __scopeMenu: props.__scopeMenu };
50422
- const clearOpenTimer = React50.useCallback(() => {
51318
+ const clearOpenTimer = React55.useCallback(() => {
50423
51319
  if (openTimerRef.current)
50424
51320
  window.clearTimeout(openTimerRef.current);
50425
51321
  openTimerRef.current = null;
50426
51322
  }, []);
50427
- React50.useEffect(() => clearOpenTimer, [clearOpenTimer]);
50428
- React50.useEffect(() => {
51323
+ React55.useEffect(() => clearOpenTimer, [clearOpenTimer]);
51324
+ React55.useEffect(() => {
50429
51325
  const pointerGraceTimer = pointerGraceTimerRef.current;
50430
51326
  return () => {
50431
51327
  window.clearTimeout(pointerGraceTimer);
@@ -50517,14 +51413,14 @@ var MenuSubTrigger = React50.forwardRef(
50517
51413
  );
50518
51414
  MenuSubTrigger.displayName = SUB_TRIGGER_NAME;
50519
51415
  var SUB_CONTENT_NAME = "MenuSubContent";
50520
- var MenuSubContent = React50.forwardRef(
51416
+ var MenuSubContent = React55.forwardRef(
50521
51417
  (props, forwardedRef) => {
50522
51418
  const portalContext = usePortalContext2(CONTENT_NAME3, props.__scopeMenu);
50523
51419
  const { forceMount = portalContext.forceMount, ...subContentProps } = props;
50524
51420
  const context = useMenuContext(CONTENT_NAME3, props.__scopeMenu);
50525
51421
  const rootContext = useMenuRootContext(CONTENT_NAME3, props.__scopeMenu);
50526
51422
  const subContext = useMenuSubContext(SUB_CONTENT_NAME, props.__scopeMenu);
50527
- const ref = React50.useRef(null);
51423
+ const ref = React55.useRef(null);
50528
51424
  const composedRefs = useComposedRefs(forwardedRef, ref);
50529
51425
  return /* @__PURE__ */ jsx(Collection2.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection2.Slot, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(
50530
51426
  MenuContentImpl,
@@ -50659,7 +51555,7 @@ var DropdownMenu = (props) => {
50659
51555
  modal = true
50660
51556
  } = props;
50661
51557
  const menuScope = useMenuScope(__scopeDropdownMenu);
50662
- const triggerRef = React50.useRef(null);
51558
+ const triggerRef = React55.useRef(null);
50663
51559
  const [open, setOpen] = useControllableState({
50664
51560
  prop: openProp,
50665
51561
  defaultProp: defaultOpen ?? false,
@@ -50675,7 +51571,7 @@ var DropdownMenu = (props) => {
50675
51571
  contentId: useId(),
50676
51572
  open,
50677
51573
  onOpenChange: setOpen,
50678
- onOpenToggle: React50.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),
51574
+ onOpenToggle: React55.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),
50679
51575
  modal,
50680
51576
  children: /* @__PURE__ */ jsx(Root32, { ...menuScope, open, onOpenChange: setOpen, dir, modal, children })
50681
51577
  }
@@ -50683,7 +51579,7 @@ var DropdownMenu = (props) => {
50683
51579
  };
50684
51580
  DropdownMenu.displayName = DROPDOWN_MENU_NAME;
50685
51581
  var TRIGGER_NAME2 = "DropdownMenuTrigger";
50686
- var DropdownMenuTrigger = React50.forwardRef(
51582
+ var DropdownMenuTrigger = React55.forwardRef(
50687
51583
  (props, forwardedRef) => {
50688
51584
  const { __scopeDropdownMenu, disabled = false, ...triggerProps } = props;
50689
51585
  const context = useDropdownMenuContext(TRIGGER_NAME2, __scopeDropdownMenu);
@@ -50731,12 +51627,12 @@ var DropdownMenuPortal = (props) => {
50731
51627
  };
50732
51628
  DropdownMenuPortal.displayName = PORTAL_NAME4;
50733
51629
  var CONTENT_NAME4 = "DropdownMenuContent";
50734
- var DropdownMenuContent = React50.forwardRef(
51630
+ var DropdownMenuContent = React55.forwardRef(
50735
51631
  (props, forwardedRef) => {
50736
51632
  const { __scopeDropdownMenu, ...contentProps } = props;
50737
51633
  const context = useDropdownMenuContext(CONTENT_NAME4, __scopeDropdownMenu);
50738
51634
  const menuScope = useMenuScope(__scopeDropdownMenu);
50739
- const hasInteractedOutsideRef = React50.useRef(false);
51635
+ const hasInteractedOutsideRef = React55.useRef(false);
50740
51636
  return /* @__PURE__ */ jsx(
50741
51637
  Content22,
50742
51638
  {
@@ -50775,7 +51671,7 @@ var DropdownMenuContent = React50.forwardRef(
50775
51671
  );
50776
51672
  DropdownMenuContent.displayName = CONTENT_NAME4;
50777
51673
  var GROUP_NAME3 = "DropdownMenuGroup";
50778
- var DropdownMenuGroup = React50.forwardRef(
51674
+ var DropdownMenuGroup = React55.forwardRef(
50779
51675
  (props, forwardedRef) => {
50780
51676
  const { __scopeDropdownMenu, ...groupProps } = props;
50781
51677
  const menuScope = useMenuScope(__scopeDropdownMenu);
@@ -50784,7 +51680,7 @@ var DropdownMenuGroup = React50.forwardRef(
50784
51680
  );
50785
51681
  DropdownMenuGroup.displayName = GROUP_NAME3;
50786
51682
  var LABEL_NAME2 = "DropdownMenuLabel";
50787
- var DropdownMenuLabel = React50.forwardRef(
51683
+ var DropdownMenuLabel = React55.forwardRef(
50788
51684
  (props, forwardedRef) => {
50789
51685
  const { __scopeDropdownMenu, ...labelProps } = props;
50790
51686
  const menuScope = useMenuScope(__scopeDropdownMenu);
@@ -50793,7 +51689,7 @@ var DropdownMenuLabel = React50.forwardRef(
50793
51689
  );
50794
51690
  DropdownMenuLabel.displayName = LABEL_NAME2;
50795
51691
  var ITEM_NAME3 = "DropdownMenuItem";
50796
- var DropdownMenuItem = React50.forwardRef(
51692
+ var DropdownMenuItem = React55.forwardRef(
50797
51693
  (props, forwardedRef) => {
50798
51694
  const { __scopeDropdownMenu, ...itemProps } = props;
50799
51695
  const menuScope = useMenuScope(__scopeDropdownMenu);
@@ -50802,42 +51698,42 @@ var DropdownMenuItem = React50.forwardRef(
50802
51698
  );
50803
51699
  DropdownMenuItem.displayName = ITEM_NAME3;
50804
51700
  var CHECKBOX_ITEM_NAME2 = "DropdownMenuCheckboxItem";
50805
- var DropdownMenuCheckboxItem = React50.forwardRef((props, forwardedRef) => {
51701
+ var DropdownMenuCheckboxItem = React55.forwardRef((props, forwardedRef) => {
50806
51702
  const { __scopeDropdownMenu, ...checkboxItemProps } = props;
50807
51703
  const menuScope = useMenuScope(__scopeDropdownMenu);
50808
51704
  return /* @__PURE__ */ jsx(CheckboxItem, { ...menuScope, ...checkboxItemProps, ref: forwardedRef });
50809
51705
  });
50810
51706
  DropdownMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME2;
50811
51707
  var RADIO_GROUP_NAME2 = "DropdownMenuRadioGroup";
50812
- var DropdownMenuRadioGroup = React50.forwardRef((props, forwardedRef) => {
51708
+ var DropdownMenuRadioGroup = React55.forwardRef((props, forwardedRef) => {
50813
51709
  const { __scopeDropdownMenu, ...radioGroupProps } = props;
50814
51710
  const menuScope = useMenuScope(__scopeDropdownMenu);
50815
51711
  return /* @__PURE__ */ jsx(RadioGroup, { ...menuScope, ...radioGroupProps, ref: forwardedRef });
50816
51712
  });
50817
51713
  DropdownMenuRadioGroup.displayName = RADIO_GROUP_NAME2;
50818
51714
  var RADIO_ITEM_NAME2 = "DropdownMenuRadioItem";
50819
- var DropdownMenuRadioItem = React50.forwardRef((props, forwardedRef) => {
51715
+ var DropdownMenuRadioItem = React55.forwardRef((props, forwardedRef) => {
50820
51716
  const { __scopeDropdownMenu, ...radioItemProps } = props;
50821
51717
  const menuScope = useMenuScope(__scopeDropdownMenu);
50822
51718
  return /* @__PURE__ */ jsx(RadioItem, { ...menuScope, ...radioItemProps, ref: forwardedRef });
50823
51719
  });
50824
51720
  DropdownMenuRadioItem.displayName = RADIO_ITEM_NAME2;
50825
51721
  var INDICATOR_NAME = "DropdownMenuItemIndicator";
50826
- var DropdownMenuItemIndicator = React50.forwardRef((props, forwardedRef) => {
51722
+ var DropdownMenuItemIndicator = React55.forwardRef((props, forwardedRef) => {
50827
51723
  const { __scopeDropdownMenu, ...itemIndicatorProps } = props;
50828
51724
  const menuScope = useMenuScope(__scopeDropdownMenu);
50829
51725
  return /* @__PURE__ */ jsx(ItemIndicator, { ...menuScope, ...itemIndicatorProps, ref: forwardedRef });
50830
51726
  });
50831
51727
  DropdownMenuItemIndicator.displayName = INDICATOR_NAME;
50832
51728
  var SEPARATOR_NAME2 = "DropdownMenuSeparator";
50833
- var DropdownMenuSeparator = React50.forwardRef((props, forwardedRef) => {
51729
+ var DropdownMenuSeparator = React55.forwardRef((props, forwardedRef) => {
50834
51730
  const { __scopeDropdownMenu, ...separatorProps } = props;
50835
51731
  const menuScope = useMenuScope(__scopeDropdownMenu);
50836
51732
  return /* @__PURE__ */ jsx(Separator, { ...menuScope, ...separatorProps, ref: forwardedRef });
50837
51733
  });
50838
51734
  DropdownMenuSeparator.displayName = SEPARATOR_NAME2;
50839
51735
  var ARROW_NAME3 = "DropdownMenuArrow";
50840
- var DropdownMenuArrow = React50.forwardRef(
51736
+ var DropdownMenuArrow = React55.forwardRef(
50841
51737
  (props, forwardedRef) => {
50842
51738
  const { __scopeDropdownMenu, ...arrowProps } = props;
50843
51739
  const menuScope = useMenuScope(__scopeDropdownMenu);
@@ -50846,14 +51742,14 @@ var DropdownMenuArrow = React50.forwardRef(
50846
51742
  );
50847
51743
  DropdownMenuArrow.displayName = ARROW_NAME3;
50848
51744
  var SUB_TRIGGER_NAME2 = "DropdownMenuSubTrigger";
50849
- var DropdownMenuSubTrigger = React50.forwardRef((props, forwardedRef) => {
51745
+ var DropdownMenuSubTrigger = React55.forwardRef((props, forwardedRef) => {
50850
51746
  const { __scopeDropdownMenu, ...subTriggerProps } = props;
50851
51747
  const menuScope = useMenuScope(__scopeDropdownMenu);
50852
51748
  return /* @__PURE__ */ jsx(SubTrigger, { ...menuScope, ...subTriggerProps, ref: forwardedRef });
50853
51749
  });
50854
51750
  DropdownMenuSubTrigger.displayName = SUB_TRIGGER_NAME2;
50855
51751
  var SUB_CONTENT_NAME2 = "DropdownMenuSubContent";
50856
- var DropdownMenuSubContent = React50.forwardRef((props, forwardedRef) => {
51752
+ var DropdownMenuSubContent = React55.forwardRef((props, forwardedRef) => {
50857
51753
  const { __scopeDropdownMenu, ...subContentProps } = props;
50858
51754
  const menuScope = useMenuScope(__scopeDropdownMenu);
50859
51755
  return /* @__PURE__ */ jsx(
@@ -50891,7 +51787,7 @@ var SubTrigger2 = DropdownMenuSubTrigger;
50891
51787
  var SubContent2 = DropdownMenuSubContent;
50892
51788
  var DropdownMenu2 = Root23;
50893
51789
  var DropdownMenuTrigger2 = Trigger2;
50894
- var DropdownMenuSubTrigger2 = React50.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
51790
+ var DropdownMenuSubTrigger2 = React55.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
50895
51791
  SubTrigger2,
50896
51792
  {
50897
51793
  ref,
@@ -50908,7 +51804,7 @@ var DropdownMenuSubTrigger2 = React50.forwardRef(({ className, inset, children,
50908
51804
  }
50909
51805
  ));
50910
51806
  DropdownMenuSubTrigger2.displayName = SubTrigger2.displayName;
50911
- var DropdownMenuSubContent2 = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
51807
+ var DropdownMenuSubContent2 = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
50912
51808
  SubContent2,
50913
51809
  {
50914
51810
  ref,
@@ -50920,7 +51816,7 @@ var DropdownMenuSubContent2 = React50.forwardRef(({ className, ...props }, ref)
50920
51816
  }
50921
51817
  ));
50922
51818
  DropdownMenuSubContent2.displayName = SubContent2.displayName;
50923
- var DropdownMenuContent2 = React50.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(Portal22, { children: /* @__PURE__ */ jsx(
51819
+ var DropdownMenuContent2 = React55.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(Portal22, { children: /* @__PURE__ */ jsx(
50924
51820
  Content23,
50925
51821
  {
50926
51822
  ref,
@@ -50933,7 +51829,7 @@ var DropdownMenuContent2 = React50.forwardRef(({ className, sideOffset = 4, ...p
50933
51829
  }
50934
51830
  ) }));
50935
51831
  DropdownMenuContent2.displayName = Content23.displayName;
50936
- var DropdownMenuItem2 = React50.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
51832
+ var DropdownMenuItem2 = React55.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
50937
51833
  Item23,
50938
51834
  {
50939
51835
  ref,
@@ -50946,7 +51842,7 @@ var DropdownMenuItem2 = React50.forwardRef(({ className, inset, ...props }, ref)
50946
51842
  }
50947
51843
  ));
50948
51844
  DropdownMenuItem2.displayName = Item23.displayName;
50949
- var DropdownMenuCheckboxItem2 = React50.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
51845
+ var DropdownMenuCheckboxItem2 = React55.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
50950
51846
  CheckboxItem2,
50951
51847
  {
50952
51848
  ref,
@@ -50963,7 +51859,7 @@ var DropdownMenuCheckboxItem2 = React50.forwardRef(({ className, children, check
50963
51859
  }
50964
51860
  ));
50965
51861
  DropdownMenuCheckboxItem2.displayName = CheckboxItem2.displayName;
50966
- var DropdownMenuRadioItem2 = React50.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
51862
+ var DropdownMenuRadioItem2 = React55.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
50967
51863
  RadioItem2,
50968
51864
  {
50969
51865
  ref,
@@ -50979,7 +51875,7 @@ var DropdownMenuRadioItem2 = React50.forwardRef(({ className, children, ...props
50979
51875
  }
50980
51876
  ));
50981
51877
  DropdownMenuRadioItem2.displayName = RadioItem2.displayName;
50982
- var DropdownMenuLabel2 = React50.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
51878
+ var DropdownMenuLabel2 = React55.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
50983
51879
  Label22,
50984
51880
  {
50985
51881
  ref,
@@ -50992,7 +51888,7 @@ var DropdownMenuLabel2 = React50.forwardRef(({ className, inset, ...props }, ref
50992
51888
  }
50993
51889
  ));
50994
51890
  DropdownMenuLabel2.displayName = Label22.displayName;
50995
- var DropdownMenuSeparator2 = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
51891
+ var DropdownMenuSeparator2 = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
50996
51892
  Separator2,
50997
51893
  {
50998
51894
  ref,
@@ -51028,7 +51924,7 @@ var tooltipVariants = cva(
51028
51924
  );
51029
51925
  var Tooltip = TooltipPrimitive.Root;
51030
51926
  var TooltipTrigger = TooltipPrimitive.Trigger;
51031
- var TooltipArrow = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
51927
+ var TooltipArrow = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
51032
51928
  TooltipPrimitive.Arrow,
51033
51929
  {
51034
51930
  ref,
@@ -51037,7 +51933,7 @@ var TooltipArrow = React50.forwardRef(({ className, ...props }, ref) => /* @__PU
51037
51933
  }
51038
51934
  ));
51039
51935
  TooltipArrow.displayName = TooltipPrimitive.Arrow.displayName;
51040
- var TooltipContent = React50.forwardRef(({ className, variant, size: size4, showArrow = false, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxs(
51936
+ var TooltipContent = React55.forwardRef(({ className, variant, size: size4, showArrow = false, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxs(
51041
51937
  TooltipPrimitive.Content,
51042
51938
  {
51043
51939
  ref,
@@ -51051,7 +51947,7 @@ var TooltipContent = React50.forwardRef(({ className, variant, size: size4, show
51051
51947
  }
51052
51948
  ));
51053
51949
  TooltipContent.displayName = TooltipPrimitive.Content.displayName;
51054
- var SimpleTooltip = React50.forwardRef(
51950
+ var SimpleTooltip = React55.forwardRef(
51055
51951
  ({
51056
51952
  children,
51057
51953
  content,
@@ -51116,8 +52012,8 @@ var Popover = (props) => {
51116
52012
  modal = false
51117
52013
  } = props;
51118
52014
  const popperScope = usePopperScope2(__scopePopover);
51119
- const triggerRef = React50.useRef(null);
51120
- const [hasCustomAnchor, setHasCustomAnchor] = React50.useState(false);
52015
+ const triggerRef = React55.useRef(null);
52016
+ const [hasCustomAnchor, setHasCustomAnchor] = React55.useState(false);
51121
52017
  const [open, setOpen] = useControllableState({
51122
52018
  prop: openProp,
51123
52019
  defaultProp: defaultOpen ?? false,
@@ -51132,10 +52028,10 @@ var Popover = (props) => {
51132
52028
  triggerRef,
51133
52029
  open,
51134
52030
  onOpenChange: setOpen,
51135
- onOpenToggle: React50.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),
52031
+ onOpenToggle: React55.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),
51136
52032
  hasCustomAnchor,
51137
- onCustomAnchorAdd: React50.useCallback(() => setHasCustomAnchor(true), []),
51138
- onCustomAnchorRemove: React50.useCallback(() => setHasCustomAnchor(false), []),
52033
+ onCustomAnchorAdd: React55.useCallback(() => setHasCustomAnchor(true), []),
52034
+ onCustomAnchorRemove: React55.useCallback(() => setHasCustomAnchor(false), []),
51139
52035
  modal,
51140
52036
  children
51141
52037
  }
@@ -51143,13 +52039,13 @@ var Popover = (props) => {
51143
52039
  };
51144
52040
  Popover.displayName = POPOVER_NAME;
51145
52041
  var ANCHOR_NAME3 = "PopoverAnchor";
51146
- var PopoverAnchor = React50.forwardRef(
52042
+ var PopoverAnchor = React55.forwardRef(
51147
52043
  (props, forwardedRef) => {
51148
52044
  const { __scopePopover, ...anchorProps } = props;
51149
52045
  const context = usePopoverContext(ANCHOR_NAME3, __scopePopover);
51150
52046
  const popperScope = usePopperScope2(__scopePopover);
51151
52047
  const { onCustomAnchorAdd, onCustomAnchorRemove } = context;
51152
- React50.useEffect(() => {
52048
+ React55.useEffect(() => {
51153
52049
  onCustomAnchorAdd();
51154
52050
  return () => onCustomAnchorRemove();
51155
52051
  }, [onCustomAnchorAdd, onCustomAnchorRemove]);
@@ -51158,7 +52054,7 @@ var PopoverAnchor = React50.forwardRef(
51158
52054
  );
51159
52055
  PopoverAnchor.displayName = ANCHOR_NAME3;
51160
52056
  var TRIGGER_NAME3 = "PopoverTrigger";
51161
- var PopoverTrigger = React50.forwardRef(
52057
+ var PopoverTrigger = React55.forwardRef(
51162
52058
  (props, forwardedRef) => {
51163
52059
  const { __scopePopover, ...triggerProps } = props;
51164
52060
  const context = usePopoverContext(TRIGGER_NAME3, __scopePopover);
@@ -51186,7 +52082,7 @@ var [PortalProvider3, usePortalContext3] = createPopoverContext(PORTAL_NAME5, {
51186
52082
  forceMount: void 0
51187
52083
  });
51188
52084
  var CONTENT_NAME5 = "PopoverContent";
51189
- var PopoverContent = React50.forwardRef(
52085
+ var PopoverContent = React55.forwardRef(
51190
52086
  (props, forwardedRef) => {
51191
52087
  const portalContext = usePortalContext3(CONTENT_NAME5, props.__scopePopover);
51192
52088
  const { forceMount = portalContext.forceMount, ...contentProps } = props;
@@ -51196,13 +52092,13 @@ var PopoverContent = React50.forwardRef(
51196
52092
  );
51197
52093
  PopoverContent.displayName = CONTENT_NAME5;
51198
52094
  var Slot3 = createSlot("PopoverContent.RemoveScroll");
51199
- var PopoverContentModal = React50.forwardRef(
52095
+ var PopoverContentModal = React55.forwardRef(
51200
52096
  (props, forwardedRef) => {
51201
52097
  const context = usePopoverContext(CONTENT_NAME5, props.__scopePopover);
51202
- const contentRef = React50.useRef(null);
52098
+ const contentRef = React55.useRef(null);
51203
52099
  const composedRefs = useComposedRefs(forwardedRef, contentRef);
51204
- const isRightClickOutsideRef = React50.useRef(false);
51205
- React50.useEffect(() => {
52100
+ const isRightClickOutsideRef = React55.useRef(false);
52101
+ React55.useEffect(() => {
51206
52102
  const content = contentRef.current;
51207
52103
  if (content)
51208
52104
  return hideOthers(content);
@@ -51238,11 +52134,11 @@ var PopoverContentModal = React50.forwardRef(
51238
52134
  ) });
51239
52135
  }
51240
52136
  );
51241
- var PopoverContentNonModal = React50.forwardRef(
52137
+ var PopoverContentNonModal = React55.forwardRef(
51242
52138
  (props, forwardedRef) => {
51243
52139
  const context = usePopoverContext(CONTENT_NAME5, props.__scopePopover);
51244
- const hasInteractedOutsideRef = React50.useRef(false);
51245
- const hasPointerDownOutsideRef = React50.useRef(false);
52140
+ const hasInteractedOutsideRef = React55.useRef(false);
52141
+ const hasPointerDownOutsideRef = React55.useRef(false);
51246
52142
  return /* @__PURE__ */ jsx(
51247
52143
  PopoverContentImpl,
51248
52144
  {
@@ -51280,7 +52176,7 @@ var PopoverContentNonModal = React50.forwardRef(
51280
52176
  );
51281
52177
  }
51282
52178
  );
51283
- var PopoverContentImpl = React50.forwardRef(
52179
+ var PopoverContentImpl = React55.forwardRef(
51284
52180
  (props, forwardedRef) => {
51285
52181
  const {
51286
52182
  __scopePopover,
@@ -51344,7 +52240,7 @@ var PopoverContentImpl = React50.forwardRef(
51344
52240
  }
51345
52241
  );
51346
52242
  var CLOSE_NAME2 = "PopoverClose";
51347
- var PopoverClose = React50.forwardRef(
52243
+ var PopoverClose = React55.forwardRef(
51348
52244
  (props, forwardedRef) => {
51349
52245
  const { __scopePopover, ...closeProps } = props;
51350
52246
  const context = usePopoverContext(CLOSE_NAME2, __scopePopover);
@@ -51361,7 +52257,7 @@ var PopoverClose = React50.forwardRef(
51361
52257
  );
51362
52258
  PopoverClose.displayName = CLOSE_NAME2;
51363
52259
  var ARROW_NAME4 = "PopoverArrow";
51364
- var PopoverArrow = React50.forwardRef(
52260
+ var PopoverArrow = React55.forwardRef(
51365
52261
  (props, forwardedRef) => {
51366
52262
  const { __scopePopover, ...arrowProps } = props;
51367
52263
  const popperScope = usePopperScope2(__scopePopover);
@@ -51426,7 +52322,7 @@ var popoverContentVariants = cva(
51426
52322
  );
51427
52323
  var Popover2 = Root24;
51428
52324
  var PopoverTrigger2 = Trigger4;
51429
- var PopoverContent2 = React50.forwardRef(({
52325
+ var PopoverContent2 = React55.forwardRef(({
51430
52326
  className,
51431
52327
  variant,
51432
52328
  size: size4,
@@ -51549,7 +52445,7 @@ var sliderThumbVariants = cva(
51549
52445
  }
51550
52446
  }
51551
52447
  );
51552
- var Slider = React50.forwardRef(({
52448
+ var Slider = React55.forwardRef(({
51553
52449
  className,
51554
52450
  size: size4,
51555
52451
  trackVariant,
@@ -51565,10 +52461,10 @@ var Slider = React50.forwardRef(({
51565
52461
  disabled,
51566
52462
  ...props
51567
52463
  }, ref) => {
51568
- const [sliderValue, setSliderValue] = React50.useState(
52464
+ const [sliderValue, setSliderValue] = React55.useState(
51569
52465
  value || defaultValue || [0]
51570
52466
  );
51571
- React50.useEffect(() => {
52467
+ React55.useEffect(() => {
51572
52468
  if (value !== void 0) {
51573
52469
  setSliderValue(value);
51574
52470
  }
@@ -51583,7 +52479,7 @@ var Slider = React50.forwardRef(({
51583
52479
  const calculateThumbPercent = (value2, min3, max3) => {
51584
52480
  return (value2 - min3) / (max3 - min3) * 100;
51585
52481
  };
51586
- const trackRef = React50.useRef(null);
52482
+ const trackRef = React55.useRef(null);
51587
52483
  const min2 = props.min || 0;
51588
52484
  const max2 = props.max || 100;
51589
52485
  const step = props.step || 1;
@@ -51718,7 +52614,7 @@ var VISUALLY_HIDDEN_STYLES = Object.freeze({
51718
52614
  wordWrap: "normal"
51719
52615
  });
51720
52616
  var NAME3 = "VisuallyHidden";
51721
- var VisuallyHidden = React50.forwardRef(
52617
+ var VisuallyHidden = React55.forwardRef(
51722
52618
  (props, forwardedRef) => {
51723
52619
  return /* @__PURE__ */ jsx(
51724
52620
  Primitive.span,
@@ -51739,7 +52635,7 @@ var VIEWPORT_NAME = "ToastViewport";
51739
52635
  var VIEWPORT_DEFAULT_HOTKEY = ["F8"];
51740
52636
  var VIEWPORT_PAUSE = "toast.viewportPause";
51741
52637
  var VIEWPORT_RESUME = "toast.viewportResume";
51742
- var ToastViewport = React50.forwardRef(
52638
+ var ToastViewport = React55.forwardRef(
51743
52639
  (props, forwardedRef) => {
51744
52640
  const {
51745
52641
  __scopeToast,
@@ -51749,14 +52645,14 @@ var ToastViewport = React50.forwardRef(
51749
52645
  } = props;
51750
52646
  const context = useToastProviderContext(VIEWPORT_NAME, __scopeToast);
51751
52647
  const getItems = useCollection3(__scopeToast);
51752
- const wrapperRef = React50.useRef(null);
51753
- const headFocusProxyRef = React50.useRef(null);
51754
- const tailFocusProxyRef = React50.useRef(null);
51755
- const ref = React50.useRef(null);
52648
+ const wrapperRef = React55.useRef(null);
52649
+ const headFocusProxyRef = React55.useRef(null);
52650
+ const tailFocusProxyRef = React55.useRef(null);
52651
+ const ref = React55.useRef(null);
51756
52652
  const composedRefs = useComposedRefs(forwardedRef, ref, context.onViewportChange);
51757
52653
  const hotkeyLabel = hotkey.join("+").replace(/Key/g, "").replace(/Digit/g, "");
51758
52654
  const hasToasts = context.toastCount > 0;
51759
- React50.useEffect(() => {
52655
+ React55.useEffect(() => {
51760
52656
  const handleKeyDown3 = (event) => {
51761
52657
  const isHotkeyPressed = hotkey.length !== 0 && hotkey.every((key) => event[key] || event.code === key);
51762
52658
  if (isHotkeyPressed)
@@ -51765,7 +52661,7 @@ var ToastViewport = React50.forwardRef(
51765
52661
  document.addEventListener("keydown", handleKeyDown3);
51766
52662
  return () => document.removeEventListener("keydown", handleKeyDown3);
51767
52663
  }, [hotkey]);
51768
- React50.useEffect(() => {
52664
+ React55.useEffect(() => {
51769
52665
  const wrapper = wrapperRef.current;
51770
52666
  const viewport = ref.current;
51771
52667
  if (hasToasts && wrapper && viewport) {
@@ -51809,7 +52705,7 @@ var ToastViewport = React50.forwardRef(
51809
52705
  };
51810
52706
  }
51811
52707
  }, [hasToasts, context.isClosePausedRef]);
51812
- const getSortedTabbableCandidates = React50.useCallback(
52708
+ const getSortedTabbableCandidates = React55.useCallback(
51813
52709
  ({ tabbingDirection }) => {
51814
52710
  const toastItems = getItems();
51815
52711
  const tabbableCandidates = toastItems.map((toastItem) => {
@@ -51821,7 +52717,7 @@ var ToastViewport = React50.forwardRef(
51821
52717
  },
51822
52718
  [getItems]
51823
52719
  );
51824
- React50.useEffect(() => {
52720
+ React55.useEffect(() => {
51825
52721
  const viewport = ref.current;
51826
52722
  if (viewport) {
51827
52723
  const handleKeyDown3 = (event) => {
@@ -51890,7 +52786,7 @@ var ToastViewport = React50.forwardRef(
51890
52786
  );
51891
52787
  ToastViewport.displayName = VIEWPORT_NAME;
51892
52788
  var FOCUS_PROXY_NAME = "ToastFocusProxy";
51893
- var FocusProxy = React50.forwardRef(
52789
+ var FocusProxy = React55.forwardRef(
51894
52790
  (props, forwardedRef) => {
51895
52791
  const { __scopeToast, onFocusFromOutsideViewport, ...proxyProps } = props;
51896
52792
  const context = useToastProviderContext(FOCUS_PROXY_NAME, __scopeToast);
@@ -51918,7 +52814,7 @@ var TOAST_SWIPE_START = "toast.swipeStart";
51918
52814
  var TOAST_SWIPE_MOVE = "toast.swipeMove";
51919
52815
  var TOAST_SWIPE_CANCEL = "toast.swipeCancel";
51920
52816
  var TOAST_SWIPE_END = "toast.swipeEnd";
51921
- var Toast = React50.forwardRef(
52817
+ var Toast = React55.forwardRef(
51922
52818
  (props, forwardedRef) => {
51923
52819
  const { forceMount, open: openProp, defaultOpen, onOpenChange, ...toastProps } = props;
51924
52820
  const [open, setOpen] = useControllableState({
@@ -51970,7 +52866,7 @@ var [ToastInteractiveProvider, useToastInteractiveContext] = createToastContext(
51970
52866
  onClose() {
51971
52867
  }
51972
52868
  });
51973
- var ToastImpl = React50.forwardRef(
52869
+ var ToastImpl = React55.forwardRef(
51974
52870
  (props, forwardedRef) => {
51975
52871
  const {
51976
52872
  __scopeToast,
@@ -51988,14 +52884,14 @@ var ToastImpl = React50.forwardRef(
51988
52884
  ...toastProps
51989
52885
  } = props;
51990
52886
  const context = useToastProviderContext(TOAST_NAME, __scopeToast);
51991
- const [node, setNode2] = React50.useState(null);
52887
+ const [node, setNode2] = React55.useState(null);
51992
52888
  const composedRefs = useComposedRefs(forwardedRef, (node2) => setNode2(node2));
51993
- const pointerStartRef = React50.useRef(null);
51994
- const swipeDeltaRef = React50.useRef(null);
52889
+ const pointerStartRef = React55.useRef(null);
52890
+ const swipeDeltaRef = React55.useRef(null);
51995
52891
  const duration = durationProp || context.duration;
51996
- const closeTimerStartTimeRef = React50.useRef(0);
51997
- const closeTimerRemainingTimeRef = React50.useRef(duration);
51998
- const closeTimerRef = React50.useRef(0);
52892
+ const closeTimerStartTimeRef = React55.useRef(0);
52893
+ const closeTimerRemainingTimeRef = React55.useRef(duration);
52894
+ const closeTimerRef = React55.useRef(0);
51999
52895
  const { onToastAdd, onToastRemove } = context;
52000
52896
  const handleClose = useCallbackRef2(() => {
52001
52897
  const isFocusInToast = node?.contains(document.activeElement);
@@ -52003,7 +52899,7 @@ var ToastImpl = React50.forwardRef(
52003
52899
  context.viewport?.focus();
52004
52900
  onClose();
52005
52901
  });
52006
- const startTimer = React50.useCallback(
52902
+ const startTimer = React55.useCallback(
52007
52903
  (duration2) => {
52008
52904
  if (!duration2 || duration2 === Infinity)
52009
52905
  return;
@@ -52013,7 +52909,7 @@ var ToastImpl = React50.forwardRef(
52013
52909
  },
52014
52910
  [handleClose]
52015
52911
  );
52016
- React50.useEffect(() => {
52912
+ React55.useEffect(() => {
52017
52913
  const viewport = context.viewport;
52018
52914
  if (viewport) {
52019
52915
  const handleResume = () => {
@@ -52034,15 +52930,15 @@ var ToastImpl = React50.forwardRef(
52034
52930
  };
52035
52931
  }
52036
52932
  }, [context.viewport, duration, onPause, onResume, startTimer]);
52037
- React50.useEffect(() => {
52933
+ React55.useEffect(() => {
52038
52934
  if (open && !context.isClosePausedRef.current)
52039
52935
  startTimer(duration);
52040
52936
  }, [open, duration, context.isClosePausedRef, startTimer]);
52041
- React50.useEffect(() => {
52937
+ React55.useEffect(() => {
52042
52938
  onToastAdd();
52043
52939
  return () => onToastRemove();
52044
52940
  }, [onToastAdd, onToastRemove]);
52045
- const announceTextContent = React50.useMemo(() => {
52941
+ const announceTextContent = React55.useMemo(() => {
52046
52942
  return node ? getAnnounceTextContent(node) : null;
52047
52943
  }, [node]);
52048
52944
  if (!context.viewport)
@@ -52164,10 +53060,10 @@ var ToastImpl = React50.forwardRef(
52164
53060
  var ToastAnnounce = (props) => {
52165
53061
  const { __scopeToast, children, ...announceProps } = props;
52166
53062
  const context = useToastProviderContext(TOAST_NAME, __scopeToast);
52167
- const [renderAnnounceText, setRenderAnnounceText] = React50.useState(false);
52168
- const [isAnnounced, setIsAnnounced] = React50.useState(false);
53063
+ const [renderAnnounceText, setRenderAnnounceText] = React55.useState(false);
53064
+ const [isAnnounced, setIsAnnounced] = React55.useState(false);
52169
53065
  useNextFrame(() => setRenderAnnounceText(true));
52170
- React50.useEffect(() => {
53066
+ React55.useEffect(() => {
52171
53067
  const timer = window.setTimeout(() => setIsAnnounced(true), 1e3);
52172
53068
  return () => window.clearTimeout(timer);
52173
53069
  }, []);
@@ -52178,7 +53074,7 @@ var ToastAnnounce = (props) => {
52178
53074
  ] }) }) });
52179
53075
  };
52180
53076
  var TITLE_NAME2 = "ToastTitle";
52181
- var ToastTitle = React50.forwardRef(
53077
+ var ToastTitle = React55.forwardRef(
52182
53078
  (props, forwardedRef) => {
52183
53079
  const { __scopeToast, ...titleProps } = props;
52184
53080
  return /* @__PURE__ */ jsx(Primitive.div, { ...titleProps, ref: forwardedRef });
@@ -52186,7 +53082,7 @@ var ToastTitle = React50.forwardRef(
52186
53082
  );
52187
53083
  ToastTitle.displayName = TITLE_NAME2;
52188
53084
  var DESCRIPTION_NAME2 = "ToastDescription";
52189
- var ToastDescription = React50.forwardRef(
53085
+ var ToastDescription = React55.forwardRef(
52190
53086
  (props, forwardedRef) => {
52191
53087
  const { __scopeToast, ...descriptionProps } = props;
52192
53088
  return /* @__PURE__ */ jsx(Primitive.div, { ...descriptionProps, ref: forwardedRef });
@@ -52194,7 +53090,7 @@ var ToastDescription = React50.forwardRef(
52194
53090
  );
52195
53091
  ToastDescription.displayName = DESCRIPTION_NAME2;
52196
53092
  var ACTION_NAME = "ToastAction";
52197
- var ToastAction = React50.forwardRef(
53093
+ var ToastAction = React55.forwardRef(
52198
53094
  (props, forwardedRef) => {
52199
53095
  const { altText, ...actionProps } = props;
52200
53096
  if (!altText.trim()) {
@@ -52208,7 +53104,7 @@ var ToastAction = React50.forwardRef(
52208
53104
  );
52209
53105
  ToastAction.displayName = ACTION_NAME;
52210
53106
  var CLOSE_NAME3 = "ToastClose";
52211
- var ToastClose = React50.forwardRef(
53107
+ var ToastClose = React55.forwardRef(
52212
53108
  (props, forwardedRef) => {
52213
53109
  const { __scopeToast, ...closeProps } = props;
52214
53110
  const interactiveContext = useToastInteractiveContext(CLOSE_NAME3, __scopeToast);
@@ -52224,7 +53120,7 @@ var ToastClose = React50.forwardRef(
52224
53120
  }
52225
53121
  );
52226
53122
  ToastClose.displayName = CLOSE_NAME3;
52227
- var ToastAnnounceExclude = React50.forwardRef((props, forwardedRef) => {
53123
+ var ToastAnnounceExclude = React55.forwardRef((props, forwardedRef) => {
52228
53124
  const { __scopeToast, altText, ...announceExcludeProps } = props;
52229
53125
  return /* @__PURE__ */ jsx(
52230
53126
  Primitive.div,
@@ -52324,7 +53220,7 @@ var Title2 = ToastTitle;
52324
53220
  var Description2 = ToastDescription;
52325
53221
  var Action = ToastAction;
52326
53222
  var Close3 = ToastClose;
52327
- var ToastViewport2 = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
53223
+ var ToastViewport2 = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
52328
53224
  Viewport,
52329
53225
  {
52330
53226
  ref,
@@ -52353,7 +53249,7 @@ var toastVariants = cva(
52353
53249
  }
52354
53250
  }
52355
53251
  );
52356
- var Toast2 = React50.forwardRef(({ className, variant, ...props }, ref) => {
53252
+ var Toast2 = React55.forwardRef(({ className, variant, ...props }, ref) => {
52357
53253
  return /* @__PURE__ */ jsx(
52358
53254
  Root25,
52359
53255
  {
@@ -52364,7 +53260,7 @@ var Toast2 = React50.forwardRef(({ className, variant, ...props }, ref) => {
52364
53260
  );
52365
53261
  });
52366
53262
  Toast2.displayName = Root25.displayName;
52367
- var ToastAction2 = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
53263
+ var ToastAction2 = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
52368
53264
  Action,
52369
53265
  {
52370
53266
  ref,
@@ -52376,7 +53272,7 @@ var ToastAction2 = React50.forwardRef(({ className, ...props }, ref) => /* @__PU
52376
53272
  }
52377
53273
  ));
52378
53274
  ToastAction2.displayName = Action.displayName;
52379
- var ToastClose2 = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
53275
+ var ToastClose2 = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
52380
53276
  Close3,
52381
53277
  {
52382
53278
  ref,
@@ -52390,7 +53286,7 @@ var ToastClose2 = React50.forwardRef(({ className, ...props }, ref) => /* @__PUR
52390
53286
  }
52391
53287
  ));
52392
53288
  ToastClose2.displayName = Close3.displayName;
52393
- var ToastTitle2 = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
53289
+ var ToastTitle2 = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
52394
53290
  Title2,
52395
53291
  {
52396
53292
  ref,
@@ -52399,7 +53295,7 @@ var ToastTitle2 = React50.forwardRef(({ className, ...props }, ref) => /* @__PUR
52399
53295
  }
52400
53296
  ));
52401
53297
  ToastTitle2.displayName = Title2.displayName;
52402
- var ToastDescription2 = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
53298
+ var ToastDescription2 = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
52403
53299
  Description2,
52404
53300
  {
52405
53301
  ref,
@@ -53944,7 +54840,7 @@ function MemoryEfficientData({
53944
54840
  position: "absolute",
53945
54841
  width: "100%"
53946
54842
  },
53947
- children: visibleData.map((item, index2) => /* @__PURE__ */ jsx(React50__default.Fragment, { children: renderItem(item, visibleRange.start + index2) }, visibleRange.start + index2))
54843
+ children: visibleData.map((item, index2) => /* @__PURE__ */ jsx(React55__default.Fragment, { children: renderItem(item, visibleRange.start + index2) }, visibleRange.start + index2))
53948
54844
  }
53949
54845
  ) })
53950
54846
  }
@@ -54264,7 +55160,7 @@ function SelectableVirtualList({
54264
55160
  }, [originalRenderItem, selectable, selectedItems, handleItemClick]);
54265
55161
  return /* @__PURE__ */ jsx(VirtualList, { ...props, renderItem });
54266
55162
  }
54267
- var SwipeableCard = React50__default.forwardRef(
55163
+ var SwipeableCard = React55__default.forwardRef(
54268
55164
  ({
54269
55165
  children,
54270
55166
  onSwipeLeft,
@@ -54573,9 +55469,9 @@ function AdvancedChart({
54573
55469
  animated = true,
54574
55470
  responsive = true
54575
55471
  }) {
54576
- const [isFullscreen, setIsFullscreen] = React50__default.useState(false);
54577
- const chartRef = React50__default.useRef(null);
54578
- const trend = React50__default.useMemo(() => {
55472
+ const [isFullscreen, setIsFullscreen] = React55__default.useState(false);
55473
+ const chartRef = React55__default.useRef(null);
55474
+ const trend = React55__default.useMemo(() => {
54579
55475
  if (!data.length || !series.length)
54580
55476
  return null;
54581
55477
  const firstSeries = series[0];
@@ -54821,7 +55717,7 @@ function Dashboard({
54821
55717
  onRefresh,
54822
55718
  loading = false
54823
55719
  }) {
54824
- const [refreshing, setRefreshing] = React50__default.useState(false);
55720
+ const [refreshing, setRefreshing] = React55__default.useState(false);
54825
55721
  const handleRefresh = async () => {
54826
55722
  if (onRefresh) {
54827
55723
  setRefreshing(true);
@@ -54997,5 +55893,81 @@ function Dashboard({
54997
55893
  ] })
54998
55894
  ] });
54999
55895
  }
55896
+ function DraggableList({
55897
+ items,
55898
+ onReorder,
55899
+ renderItem,
55900
+ keyExtractor,
55901
+ direction = "vertical",
55902
+ className,
55903
+ droppableId = "draggable-list",
55904
+ disabled = false
55905
+ }) {
55906
+ const handleDragEnd = (result) => {
55907
+ if (!result.destination || disabled) {
55908
+ return;
55909
+ }
55910
+ const sourceIndex = result.source.index;
55911
+ const destinationIndex = result.destination.index;
55912
+ if (sourceIndex === destinationIndex) {
55913
+ return;
55914
+ }
55915
+ const newItems = Array.from(items);
55916
+ const [reorderedItem] = newItems.splice(sourceIndex, 1);
55917
+ newItems.splice(destinationIndex, 0, reorderedItem);
55918
+ onReorder(newItems);
55919
+ };
55920
+ return /* @__PURE__ */ jsx(DragDropContext, { onDragEnd: handleDragEnd, children: /* @__PURE__ */ jsx(
55921
+ Droppable,
55922
+ {
55923
+ droppableId,
55924
+ direction,
55925
+ isDropDisabled: disabled,
55926
+ children: (provided, snapshot) => /* @__PURE__ */ jsxs(
55927
+ "div",
55928
+ {
55929
+ ...provided.droppableProps,
55930
+ ref: provided.innerRef,
55931
+ className: cn$1(
55932
+ "space-y-2",
55933
+ direction === "horizontal" && "flex space-y-0 space-x-2",
55934
+ snapshot.isDraggingOver && "bg-muted/50 rounded-lg",
55935
+ className
55936
+ ),
55937
+ children: [
55938
+ items.map((item, index2) => /* @__PURE__ */ jsx(
55939
+ Draggable,
55940
+ {
55941
+ draggableId: keyExtractor(item),
55942
+ index: index2,
55943
+ isDragDisabled: disabled,
55944
+ children: (provided2, snapshot2) => /* @__PURE__ */ jsx(
55945
+ "div",
55946
+ {
55947
+ ref: provided2.innerRef,
55948
+ ...provided2.draggableProps,
55949
+ ...provided2.dragHandleProps,
55950
+ className: cn$1(
55951
+ "transition-all duration-200",
55952
+ snapshot2.isDragging && "rotate-2 scale-105 shadow-lg z-50",
55953
+ disabled && "cursor-not-allowed opacity-50"
55954
+ ),
55955
+ style: {
55956
+ ...provided2.draggableProps.style,
55957
+ transform: snapshot2.isDragging ? provided2.draggableProps.style?.transform : "none"
55958
+ },
55959
+ children: renderItem(item, index2)
55960
+ }
55961
+ )
55962
+ },
55963
+ keyExtractor(item)
55964
+ )),
55965
+ provided.placeholder
55966
+ ]
55967
+ }
55968
+ )
55969
+ }
55970
+ ) });
55971
+ }
55000
55972
 
55001
- export { AdvancedChart, Calendar2 as Calendar, Dashboard, Kanban, MemoryAnalytics, MemoryEfficientData, RichTextEditor, SelectableVirtualList, SwipeableCard, Timeline, VirtualList, useStreamingData, useVirtualList };
55973
+ export { AdvancedChart, AnimatedButton, Calendar2 as Calendar, Dashboard, DraggableList, ErrorBoundary, FloatingActionButton, HoverCard3D, Kanban, MagneticButton, MemoryAnalytics, MemoryEfficientData, PinchZoom, RichTextEditor, SelectableVirtualList, SpotlightCard, SwipeableCard, Timeline, VirtualList, animatedButtonVariants, useStreamingData, useVirtualList };