@moontra/moonui-pro 2.0.23 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.mjs +215 -214
- package/package.json +3 -2
- package/src/components/calendar/index.tsx +27 -1
- package/src/index.ts +3 -0
- package/src/utils/license-guard.tsx +177 -0
- package/src/utils/package-guard.ts +60 -0
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import
|
|
1
|
+
import * as React17 from 'react';
|
|
2
|
+
import React17__default, { useState, useRef, useCallback, forwardRef, createContext, useContext, useMemo, useEffect, useDebugValue, Component, useLayoutEffect } from 'react';
|
|
3
3
|
import { motion, AnimatePresence, useMotionValue, useSpring, useTransform, animate } from 'framer-motion';
|
|
4
4
|
import { Loader2, Lock, Sparkles, Plus, ChevronDown, ChevronUp, Check, X, ChevronRight, Circle, Minus, 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 as Image$1, Table as Table$1, Settings, Undo, Redo, Eye, RefreshCw, Wand2, Maximize, FileText, Languages, TrendingUp, TrendingDown, Download, Maximize2, Activity, Star, ExternalLink, BarChart3, Users, DollarSign, Copy, RotateCcw, Github, GitFork, Server, EyeOff, ZoomOut, ZoomIn, RotateCw, Zap, Monitor, Timer, AlertTriangle, Cpu, MemoryStick, HardDrive, Network, CheckCircle, CheckCircle2, AlertCircle, XCircle, ArrowDownRight, ArrowUpRight, Upload } from 'lucide-react';
|
|
5
5
|
import { clsx } from 'clsx';
|
|
@@ -1742,7 +1742,7 @@ function styleInject(css2, { insertAt } = {}) {
|
|
|
1742
1742
|
}
|
|
1743
1743
|
|
|
1744
1744
|
// src/styles/index.css
|
|
1745
|
-
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-1\\/2 {\n top: 50%;\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-10 {\n z-index: -10;\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-48 {\n height: 12rem;\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-32 {\n max-height: 8rem;\n}\n.max-h-96 {\n max-height: 24rem;\n}\n.max-h-\\[90vh\\] {\n max-height: 90vh;\n}\n.max-h-\\[95vh\\] {\n max-height: 95vh;\n}\n.max-h-full {\n max-height: 100%;\n}\n.max-h-screen {\n max-height: 100vh;\n}\n.min-h-32 {\n min-height: 8rem;\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-2\\/3 {\n width: 66.666667%;\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-3\\/4 {\n width: 75%;\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-32 {\n min-width: 8rem;\n}\n.min-w-\\[4px\\] {\n min-width: 4px;\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-6xl {\n max-width: 72rem;\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-2 {\n --tw-translate-x: -0.5rem;\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-1\\/2 {\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.-translate-y-2 {\n --tw-translate-y: -0.5rem;\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-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-crosshair {\n cursor: crosshair;\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-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\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-7 {\n grid-template-columns: repeat(7, minmax(0, 1fr));\n}\n.grid-cols-8 {\n grid-template-columns: repeat(8, 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-end {\n align-items: flex-end;\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.overflow-y-auto {\n overflow-y: 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.rounded-t {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\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-gray-900 {\n --tw-border-opacity: 1;\n border-color: rgb(17 24 39 / 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-foreground\\/20 {\n border-color: hsl(var(--muted-foreground) / 0.2);\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 {\n --tw-border-opacity: 1;\n border-color: rgb(255 255 255 / 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.border-t-transparent {\n border-top-color: transparent;\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\\/0 {\n background-color: rgb(0 0 0 / 0);\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\\/5 {\n background-color: rgb(0 0 0 / 0.05);\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-black\\/90 {\n background-color: rgb(0 0 0 / 0.9);\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-gray-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(107 114 128 / 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-white\\/30 {\n background-color: rgb(255 255 255 / 0.3);\n}\n.bg-white\\/80 {\n background-color: rgb(255 255 255 / 0.8);\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-black\\/80 {\n --tw-gradient-from: rgb(0 0 0 / 0.8) 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-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-gray-900\\/80 {\n --tw-gradient-to: rgb(17 24 39 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops:\n var(--tw-gradient-from),\n rgb(17 24 39 / 0.8) 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-black\\/80 {\n --tw-gradient-to: rgb(0 0 0 / 0.8) 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.object-contain {\n -o-object-fit: contain;\n object-fit: contain;\n}\n.object-cover {\n -o-object-fit: cover;\n object-fit: cover;\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-6 {\n padding-bottom: 1.5rem;\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.pt-5 {\n padding-top: 1.25rem;\n}\n.pt-6 {\n padding-top: 1.5rem;\n}\n.text-left {\n text-align: left;\n}\n.text-center {\n text-align: center;\n}\n.text-right {\n text-align: right;\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-500 {\n --tw-text-opacity: 1;\n color: rgb(59 130 246 / var(--tw-text-opacity, 1));\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-500 {\n --tw-text-opacity: 1;\n color: rgb(249 115 22 / 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-500 {\n --tw-text-opacity: 1;\n color: rgb(168 85 247 / 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\\/50 {\n color: rgb(255 255 255 / 0.5);\n}\n.text-white\\/80 {\n color: rgb(255 255 255 / 0.8);\n}\n.text-yellow-500 {\n --tw-text-opacity: 1;\n color: rgb(234 179 8 / var(--tw-text-opacity, 1));\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-100 {\n opacity: 1;\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.opacity-\\[0\\.03\\] {\n opacity: 0.03;\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-2xl {\n --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n --tw-shadow-colored: 0 25px 50px -12px 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-lg {\n --tw-backdrop-blur: blur(16px);\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-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.backdrop-blur-xl {\n --tw-backdrop-blur: blur(24px);\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.shadow-2xl {\n box-shadow: var(--shadow-2xl);\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\\:rotate-90:hover {\n --tw-rotate: 90deg;\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-muted-foreground\\/40:hover {\n border-color: hsl(var(--muted-foreground) / 0.4);\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\\:bg-black\\/20 {\n background-color: rgb(0 0 0 / 0.2);\n}\n.group:hover .group-hover\\:text-primary {\n --tw-text-opacity: 1;\n color: hsl(var(--primary) / var(--tw-text-opacity, 1));\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\\=open\\]\\:text-muted-foreground[data-state=open] {\n --tw-text-opacity: 1;\n color: hsl(var(--muted-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-100:is(.dark *) {\n --tw-border-opacity: 1;\n border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));\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\\/10:is(.dark *) {\n background-color: rgb(17 24 39 / 0.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\\:bg-white\\/5:is(.dark *) {\n background-color: rgb(255 255 255 / 0.05);\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 .md\\:grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n}\n@media (min-width: 1024px) {\n .lg\\:flex {\n display: flex;\n }\n .lg\\:grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\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');
|
|
1745
|
+
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-1\\/2 {\n top: 50%;\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-10 {\n z-index: -10;\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-48 {\n height: 12rem;\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-32 {\n max-height: 8rem;\n}\n.max-h-96 {\n max-height: 24rem;\n}\n.max-h-\\[90vh\\] {\n max-height: 90vh;\n}\n.max-h-\\[95vh\\] {\n max-height: 95vh;\n}\n.max-h-full {\n max-height: 100%;\n}\n.max-h-screen {\n max-height: 100vh;\n}\n.min-h-32 {\n min-height: 8rem;\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-2\\/3 {\n width: 66.666667%;\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-3\\/4 {\n width: 75%;\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-32 {\n min-width: 8rem;\n}\n.min-w-\\[4px\\] {\n min-width: 4px;\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-6xl {\n max-width: 72rem;\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-2 {\n --tw-translate-x: -0.5rem;\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-1\\/2 {\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.-translate-y-2 {\n --tw-translate-y: -0.5rem;\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-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-crosshair {\n cursor: crosshair;\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-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\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-7 {\n grid-template-columns: repeat(7, minmax(0, 1fr));\n}\n.grid-cols-8 {\n grid-template-columns: repeat(8, 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-end {\n align-items: flex-end;\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.overflow-y-auto {\n overflow-y: 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.rounded-t {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\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-gray-900 {\n --tw-border-opacity: 1;\n border-color: rgb(17 24 39 / 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-foreground\\/20 {\n border-color: hsl(var(--muted-foreground) / 0.2);\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 {\n --tw-border-opacity: 1;\n border-color: rgb(255 255 255 / 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.border-t-transparent {\n border-top-color: transparent;\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\\/0 {\n background-color: rgb(0 0 0 / 0);\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\\/5 {\n background-color: rgb(0 0 0 / 0.05);\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-black\\/90 {\n background-color: rgb(0 0 0 / 0.9);\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-gray-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(107 114 128 / 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-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(254 242 242 / 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-white\\/30 {\n background-color: rgb(255 255 255 / 0.3);\n}\n.bg-white\\/80 {\n background-color: rgb(255 255 255 / 0.8);\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-black\\/80 {\n --tw-gradient-from: rgb(0 0 0 / 0.8) 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-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-gray-900\\/80 {\n --tw-gradient-to: rgb(17 24 39 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops:\n var(--tw-gradient-from),\n rgb(17 24 39 / 0.8) 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-black\\/80 {\n --tw-gradient-to: rgb(0 0 0 / 0.8) 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.object-contain {\n -o-object-fit: contain;\n object-fit: contain;\n}\n.object-cover {\n -o-object-fit: cover;\n object-fit: cover;\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-6 {\n padding-bottom: 1.5rem;\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.pt-5 {\n padding-top: 1.25rem;\n}\n.pt-6 {\n padding-top: 1.5rem;\n}\n.text-left {\n text-align: left;\n}\n.text-center {\n text-align: center;\n}\n.text-right {\n text-align: right;\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-500 {\n --tw-text-opacity: 1;\n color: rgb(59 130 246 / var(--tw-text-opacity, 1));\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-500 {\n --tw-text-opacity: 1;\n color: rgb(249 115 22 / 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-500 {\n --tw-text-opacity: 1;\n color: rgb(168 85 247 / 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-red-900 {\n --tw-text-opacity: 1;\n color: rgb(127 29 29 / 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\\/50 {\n color: rgb(255 255 255 / 0.5);\n}\n.text-white\\/80 {\n color: rgb(255 255 255 / 0.8);\n}\n.text-yellow-500 {\n --tw-text-opacity: 1;\n color: rgb(234 179 8 / var(--tw-text-opacity, 1));\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-100 {\n opacity: 1;\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.opacity-\\[0\\.03\\] {\n opacity: 0.03;\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-2xl {\n --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n --tw-shadow-colored: 0 25px 50px -12px 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-lg {\n --tw-backdrop-blur: blur(16px);\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-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.backdrop-blur-xl {\n --tw-backdrop-blur: blur(24px);\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.shadow-2xl {\n box-shadow: var(--shadow-2xl);\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\\:rotate-90:hover {\n --tw-rotate: 90deg;\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-muted-foreground\\/40:hover {\n border-color: hsl(var(--muted-foreground) / 0.4);\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-red-700:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(185 28 28 / 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\\:bg-black\\/20 {\n background-color: rgb(0 0 0 / 0.2);\n}\n.group:hover .group-hover\\:text-primary {\n --tw-text-opacity: 1;\n color: hsl(var(--primary) / var(--tw-text-opacity, 1));\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\\=open\\]\\:text-muted-foreground[data-state=open] {\n --tw-text-opacity: 1;\n color: hsl(var(--muted-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-100:is(.dark *) {\n --tw-border-opacity: 1;\n border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));\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\\/10:is(.dark *) {\n background-color: rgb(17 24 39 / 0.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\\:bg-white\\/5:is(.dark *) {\n background-color: rgb(255 255 255 / 0.05);\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 .md\\:grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n}\n@media (min-width: 1024px) {\n .lg\\:flex {\n display: flex;\n }\n .lg\\:grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\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');
|
|
1746
1746
|
function cn(...inputs) {
|
|
1747
1747
|
return twMerge(clsx(inputs));
|
|
1748
1748
|
}
|
|
@@ -1914,7 +1914,7 @@ var cardVariants = cva(
|
|
|
1914
1914
|
}
|
|
1915
1915
|
}
|
|
1916
1916
|
);
|
|
1917
|
-
var Card =
|
|
1917
|
+
var Card = React17.forwardRef(
|
|
1918
1918
|
({ className, variant, size, radius, interactive, microInteraction = "lift", ...props }, ref) => {
|
|
1919
1919
|
if (interactive && microInteraction !== "none") {
|
|
1920
1920
|
const interactionProps = {
|
|
@@ -1942,7 +1942,7 @@ var Card = React16.forwardRef(
|
|
|
1942
1942
|
}
|
|
1943
1943
|
);
|
|
1944
1944
|
Card.displayName = "Card";
|
|
1945
|
-
var CardHeader =
|
|
1945
|
+
var CardHeader = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1946
1946
|
"div",
|
|
1947
1947
|
{
|
|
1948
1948
|
ref,
|
|
@@ -1951,7 +1951,7 @@ var CardHeader = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
1951
1951
|
}
|
|
1952
1952
|
));
|
|
1953
1953
|
CardHeader.displayName = "CardHeader";
|
|
1954
|
-
var CardTitle =
|
|
1954
|
+
var CardTitle = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1955
1955
|
"h3",
|
|
1956
1956
|
{
|
|
1957
1957
|
ref,
|
|
@@ -1960,7 +1960,7 @@ var CardTitle = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE_
|
|
|
1960
1960
|
}
|
|
1961
1961
|
));
|
|
1962
1962
|
CardTitle.displayName = "CardTitle";
|
|
1963
|
-
var CardDescription =
|
|
1963
|
+
var CardDescription = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1964
1964
|
"p",
|
|
1965
1965
|
{
|
|
1966
1966
|
ref,
|
|
@@ -1969,9 +1969,9 @@ var CardDescription = React16.forwardRef(({ className, ...props }, ref) => /* @_
|
|
|
1969
1969
|
}
|
|
1970
1970
|
));
|
|
1971
1971
|
CardDescription.displayName = "CardDescription";
|
|
1972
|
-
var CardContent =
|
|
1972
|
+
var CardContent = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("pt-0", className), ...props }));
|
|
1973
1973
|
CardContent.displayName = "CardContent";
|
|
1974
|
-
var CardFooter =
|
|
1974
|
+
var CardFooter = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1975
1975
|
"div",
|
|
1976
1976
|
{
|
|
1977
1977
|
ref,
|
|
@@ -2129,7 +2129,7 @@ var buttonVariants = cva(
|
|
|
2129
2129
|
}
|
|
2130
2130
|
}
|
|
2131
2131
|
);
|
|
2132
|
-
var Button =
|
|
2132
|
+
var Button = React17.forwardRef(
|
|
2133
2133
|
({
|
|
2134
2134
|
className,
|
|
2135
2135
|
variant,
|
|
@@ -2204,7 +2204,7 @@ var animatedButtonVariants = cva(
|
|
|
2204
2204
|
}
|
|
2205
2205
|
}
|
|
2206
2206
|
);
|
|
2207
|
-
var AnimatedButtonInternal =
|
|
2207
|
+
var AnimatedButtonInternal = React17__default.forwardRef(
|
|
2208
2208
|
({ className, variant, size, state = "idle", onStateChange, children, onClick, ...props }, ref) => {
|
|
2209
2209
|
const [internalState, setInternalState] = useState("idle");
|
|
2210
2210
|
const currentState = state !== "idle" ? state : internalState;
|
|
@@ -2320,7 +2320,7 @@ var AnimatedButtonInternal = React16__default.forwardRef(
|
|
|
2320
2320
|
}
|
|
2321
2321
|
);
|
|
2322
2322
|
AnimatedButtonInternal.displayName = "AnimatedButtonInternal";
|
|
2323
|
-
var AnimatedButton =
|
|
2323
|
+
var AnimatedButton = React17__default.forwardRef(
|
|
2324
2324
|
({ className, ...props }, ref) => {
|
|
2325
2325
|
const docsProAccess = { hasAccess: true };
|
|
2326
2326
|
const { hasProAccess, isLoading } = useSubscription();
|
|
@@ -2399,7 +2399,7 @@ function ErrorBoundaryWrapper(props) {
|
|
|
2399
2399
|
return /* @__PURE__ */ jsx(ErrorBoundaryInternal, { ...props });
|
|
2400
2400
|
}
|
|
2401
2401
|
var ErrorBoundary = ErrorBoundaryWrapper;
|
|
2402
|
-
var FloatingActionButtonInternal =
|
|
2402
|
+
var FloatingActionButtonInternal = React17__default.forwardRef(
|
|
2403
2403
|
({
|
|
2404
2404
|
actions = [],
|
|
2405
2405
|
position = "bottom-right",
|
|
@@ -2531,7 +2531,7 @@ var FloatingActionButtonInternal = React16__default.forwardRef(
|
|
|
2531
2531
|
}
|
|
2532
2532
|
);
|
|
2533
2533
|
FloatingActionButtonInternal.displayName = "FloatingActionButtonInternal";
|
|
2534
|
-
var FloatingActionButton =
|
|
2534
|
+
var FloatingActionButton = React17__default.forwardRef(
|
|
2535
2535
|
({ className, ...props }, ref) => {
|
|
2536
2536
|
const docsProAccess = { hasAccess: true };
|
|
2537
2537
|
const { hasProAccess, isLoading } = useSubscription();
|
|
@@ -2552,7 +2552,7 @@ var FloatingActionButton = React16__default.forwardRef(
|
|
|
2552
2552
|
}
|
|
2553
2553
|
);
|
|
2554
2554
|
FloatingActionButton.displayName = "FloatingActionButton";
|
|
2555
|
-
var HoverCard3DInternal =
|
|
2555
|
+
var HoverCard3DInternal = React17__default.forwardRef(
|
|
2556
2556
|
({
|
|
2557
2557
|
children,
|
|
2558
2558
|
className,
|
|
@@ -2657,7 +2657,7 @@ var HoverCard3DInternal = React16__default.forwardRef(
|
|
|
2657
2657
|
}
|
|
2658
2658
|
);
|
|
2659
2659
|
HoverCard3DInternal.displayName = "HoverCard3DInternal";
|
|
2660
|
-
var HoverCard3D =
|
|
2660
|
+
var HoverCard3D = React17__default.forwardRef(
|
|
2661
2661
|
({ className, ...props }, ref) => {
|
|
2662
2662
|
const docsProAccess = { hasAccess: true };
|
|
2663
2663
|
const { hasProAccess, isLoading } = useSubscription();
|
|
@@ -2678,7 +2678,7 @@ var HoverCard3D = React16__default.forwardRef(
|
|
|
2678
2678
|
}
|
|
2679
2679
|
);
|
|
2680
2680
|
HoverCard3D.displayName = "HoverCard3D";
|
|
2681
|
-
var MagneticButtonInternal =
|
|
2681
|
+
var MagneticButtonInternal = React17__default.forwardRef(
|
|
2682
2682
|
({
|
|
2683
2683
|
children,
|
|
2684
2684
|
className,
|
|
@@ -2781,7 +2781,7 @@ var MagneticButtonInternal = React16__default.forwardRef(
|
|
|
2781
2781
|
}
|
|
2782
2782
|
);
|
|
2783
2783
|
MagneticButtonInternal.displayName = "MagneticButtonInternal";
|
|
2784
|
-
var MagneticButton =
|
|
2784
|
+
var MagneticButton = React17__default.forwardRef(
|
|
2785
2785
|
({ className, ...props }, ref) => {
|
|
2786
2786
|
const docsProAccess = { hasAccess: true };
|
|
2787
2787
|
const { hasProAccess, isLoading } = useSubscription();
|
|
@@ -2802,7 +2802,7 @@ var MagneticButton = React16__default.forwardRef(
|
|
|
2802
2802
|
}
|
|
2803
2803
|
);
|
|
2804
2804
|
MagneticButton.displayName = "MagneticButton";
|
|
2805
|
-
var PinchZoomInternal =
|
|
2805
|
+
var PinchZoomInternal = React17__default.forwardRef(
|
|
2806
2806
|
({
|
|
2807
2807
|
children,
|
|
2808
2808
|
minZoom = 0.5,
|
|
@@ -2903,7 +2903,7 @@ var PinchZoomInternal = React16__default.forwardRef(
|
|
|
2903
2903
|
}
|
|
2904
2904
|
);
|
|
2905
2905
|
PinchZoomInternal.displayName = "PinchZoomInternal";
|
|
2906
|
-
var PinchZoom =
|
|
2906
|
+
var PinchZoom = React17__default.forwardRef(
|
|
2907
2907
|
({ className, ...props }, ref) => {
|
|
2908
2908
|
const docsProAccess = { hasAccess: true };
|
|
2909
2909
|
const { hasProAccess, isLoading } = useSubscription();
|
|
@@ -2924,7 +2924,7 @@ var PinchZoom = React16__default.forwardRef(
|
|
|
2924
2924
|
}
|
|
2925
2925
|
);
|
|
2926
2926
|
PinchZoom.displayName = "PinchZoom";
|
|
2927
|
-
var SpotlightCardInternal =
|
|
2927
|
+
var SpotlightCardInternal = React17__default.forwardRef(
|
|
2928
2928
|
({
|
|
2929
2929
|
children,
|
|
2930
2930
|
className,
|
|
@@ -3054,7 +3054,7 @@ var SpotlightCardInternal = React16__default.forwardRef(
|
|
|
3054
3054
|
}
|
|
3055
3055
|
);
|
|
3056
3056
|
SpotlightCardInternal.displayName = "SpotlightCardInternal";
|
|
3057
|
-
var SpotlightCard =
|
|
3057
|
+
var SpotlightCard = React17__default.forwardRef(
|
|
3058
3058
|
({ className, ...props }, ref) => {
|
|
3059
3059
|
const docsProAccess = { hasAccess: true };
|
|
3060
3060
|
const { hasProAccess, isLoading } = useSubscription();
|
|
@@ -3311,7 +3311,7 @@ var inputVariants = cva(
|
|
|
3311
3311
|
}
|
|
3312
3312
|
}
|
|
3313
3313
|
);
|
|
3314
|
-
var Input =
|
|
3314
|
+
var Input = React17.forwardRef(
|
|
3315
3315
|
({
|
|
3316
3316
|
className,
|
|
3317
3317
|
wrapperClassName,
|
|
@@ -3385,7 +3385,7 @@ Input.displayName = "Input";
|
|
|
3385
3385
|
var labelVariants = cva(
|
|
3386
3386
|
"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"
|
|
3387
3387
|
);
|
|
3388
|
-
var Label =
|
|
3388
|
+
var Label = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
3389
3389
|
LabelPrimitive.Root,
|
|
3390
3390
|
{
|
|
3391
3391
|
ref,
|
|
@@ -3394,7 +3394,7 @@ var Label = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
|
3394
3394
|
}
|
|
3395
3395
|
));
|
|
3396
3396
|
Label.displayName = LabelPrimitive.Root.displayName;
|
|
3397
|
-
var Textarea =
|
|
3397
|
+
var Textarea = React17__default.forwardRef(
|
|
3398
3398
|
({ className, ...props }, ref) => {
|
|
3399
3399
|
return /* @__PURE__ */ jsx(
|
|
3400
3400
|
"textarea",
|
|
@@ -3413,7 +3413,7 @@ Textarea.displayName = "Textarea";
|
|
|
3413
3413
|
var Select = SelectPrimitive.Root;
|
|
3414
3414
|
Select.displayName = "Select";
|
|
3415
3415
|
var SelectValue = SelectPrimitive.Value;
|
|
3416
|
-
var SelectTrigger =
|
|
3416
|
+
var SelectTrigger = React17.forwardRef(({ className, children, variant = "standard", size = "md", error, success, loading, leftIcon, rightIcon, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
3417
3417
|
SelectPrimitive.Trigger,
|
|
3418
3418
|
{
|
|
3419
3419
|
ref,
|
|
@@ -3455,7 +3455,7 @@ var SelectTrigger = React16.forwardRef(({ className, children, variant = "standa
|
|
|
3455
3455
|
}
|
|
3456
3456
|
));
|
|
3457
3457
|
SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
|
|
3458
|
-
var SelectScrollUpButton =
|
|
3458
|
+
var SelectScrollUpButton = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
3459
3459
|
SelectPrimitive.ScrollUpButton,
|
|
3460
3460
|
{
|
|
3461
3461
|
ref,
|
|
@@ -3468,7 +3468,7 @@ var SelectScrollUpButton = React16.forwardRef(({ className, ...props }, ref) =>
|
|
|
3468
3468
|
}
|
|
3469
3469
|
));
|
|
3470
3470
|
SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
|
|
3471
|
-
var SelectScrollDownButton =
|
|
3471
|
+
var SelectScrollDownButton = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
3472
3472
|
SelectPrimitive.ScrollDownButton,
|
|
3473
3473
|
{
|
|
3474
3474
|
ref,
|
|
@@ -3481,7 +3481,7 @@ var SelectScrollDownButton = React16.forwardRef(({ className, ...props }, ref) =
|
|
|
3481
3481
|
}
|
|
3482
3482
|
));
|
|
3483
3483
|
SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
|
|
3484
|
-
var SelectContent =
|
|
3484
|
+
var SelectContent = React17.forwardRef(({ className, children, position = "item-aligned", ...props }, ref) => /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
|
|
3485
3485
|
SelectPrimitive.Content,
|
|
3486
3486
|
{
|
|
3487
3487
|
ref,
|
|
@@ -3518,7 +3518,7 @@ var SelectContent = React16.forwardRef(({ className, children, position = "item-
|
|
|
3518
3518
|
}
|
|
3519
3519
|
) }));
|
|
3520
3520
|
SelectContent.displayName = SelectPrimitive.Content.displayName;
|
|
3521
|
-
var SelectLabel =
|
|
3521
|
+
var SelectLabel = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
3522
3522
|
SelectPrimitive.Label,
|
|
3523
3523
|
{
|
|
3524
3524
|
ref,
|
|
@@ -3527,7 +3527,7 @@ var SelectLabel = React16.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
3527
3527
|
}
|
|
3528
3528
|
));
|
|
3529
3529
|
SelectLabel.displayName = SelectPrimitive.Label.displayName;
|
|
3530
|
-
var SelectItem =
|
|
3530
|
+
var SelectItem = React17.forwardRef(({ className, children, variant = "default", size = "md", rightIcon, customIndicator, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
3531
3531
|
SelectPrimitive.Item,
|
|
3532
3532
|
{
|
|
3533
3533
|
ref,
|
|
@@ -3554,7 +3554,7 @@ var SelectItem = React16.forwardRef(({ className, children, variant = "default",
|
|
|
3554
3554
|
}
|
|
3555
3555
|
));
|
|
3556
3556
|
SelectItem.displayName = SelectPrimitive.Item.displayName;
|
|
3557
|
-
var SelectSeparator =
|
|
3557
|
+
var SelectSeparator = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
3558
3558
|
SelectPrimitive.Separator,
|
|
3559
3559
|
{
|
|
3560
3560
|
ref,
|
|
@@ -3588,7 +3588,7 @@ var overlayVariants = cva(
|
|
|
3588
3588
|
}
|
|
3589
3589
|
}
|
|
3590
3590
|
);
|
|
3591
|
-
var DialogOverlay =
|
|
3591
|
+
var DialogOverlay = React17.forwardRef(({ className, variant, animation, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
3592
3592
|
DialogPrimitive2.Overlay,
|
|
3593
3593
|
{
|
|
3594
3594
|
ref,
|
|
@@ -3647,7 +3647,7 @@ var dialogContentVariants = cva(
|
|
|
3647
3647
|
}
|
|
3648
3648
|
}
|
|
3649
3649
|
);
|
|
3650
|
-
var DialogContent =
|
|
3650
|
+
var DialogContent = React17.forwardRef(
|
|
3651
3651
|
({
|
|
3652
3652
|
className,
|
|
3653
3653
|
children,
|
|
@@ -3760,7 +3760,7 @@ var DialogFooter = ({
|
|
|
3760
3760
|
}
|
|
3761
3761
|
);
|
|
3762
3762
|
DialogFooter.displayName = "DialogFooter";
|
|
3763
|
-
var DialogTitle =
|
|
3763
|
+
var DialogTitle = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
3764
3764
|
DialogPrimitive2.Title,
|
|
3765
3765
|
{
|
|
3766
3766
|
ref,
|
|
@@ -3772,7 +3772,7 @@ var DialogTitle = React16.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
3772
3772
|
}
|
|
3773
3773
|
));
|
|
3774
3774
|
DialogTitle.displayName = DialogPrimitive2.Title.displayName;
|
|
3775
|
-
var DialogDescription =
|
|
3775
|
+
var DialogDescription = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
3776
3776
|
DialogPrimitive2.Description,
|
|
3777
3777
|
{
|
|
3778
3778
|
ref,
|
|
@@ -3784,7 +3784,7 @@ var DialogDescription = React16.forwardRef(({ className, ...props }, ref) => /*
|
|
|
3784
3784
|
}
|
|
3785
3785
|
));
|
|
3786
3786
|
DialogDescription.displayName = DialogPrimitive2.Description.displayName;
|
|
3787
|
-
var DialogForm =
|
|
3787
|
+
var DialogForm = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
3788
3788
|
"form",
|
|
3789
3789
|
{
|
|
3790
3790
|
ref,
|
|
@@ -4108,6 +4108,7 @@ function EventDialog({
|
|
|
4108
4108
|
] })
|
|
4109
4109
|
] }) });
|
|
4110
4110
|
}
|
|
4111
|
+
process.env.NEXT_PUBLIC_MOONUI_API || "https://moonui.dev";
|
|
4111
4112
|
var DAYS_OF_WEEK = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
|
|
4112
4113
|
var MONTHS = [
|
|
4113
4114
|
"January",
|
|
@@ -4158,14 +4159,14 @@ function Calendar2({
|
|
|
4158
4159
|
] })
|
|
4159
4160
|
] }) }) });
|
|
4160
4161
|
}
|
|
4161
|
-
const [currentDate, setCurrentDate] =
|
|
4162
|
-
const [selectedDate, setSelectedDate] =
|
|
4163
|
-
|
|
4164
|
-
const [eventDialogOpen, setEventDialogOpen] =
|
|
4165
|
-
const [eventDialogMode, setEventDialogMode] =
|
|
4166
|
-
const [selectedEvent, setSelectedEvent] =
|
|
4167
|
-
const [draggedEvent, setDraggedEvent] =
|
|
4168
|
-
const [dragTargetDate, setDragTargetDate] =
|
|
4162
|
+
const [currentDate, setCurrentDate] = React17__default.useState(/* @__PURE__ */ new Date());
|
|
4163
|
+
const [selectedDate, setSelectedDate] = React17__default.useState(null);
|
|
4164
|
+
React17__default.useState("month");
|
|
4165
|
+
const [eventDialogOpen, setEventDialogOpen] = React17__default.useState(false);
|
|
4166
|
+
const [eventDialogMode, setEventDialogMode] = React17__default.useState("create");
|
|
4167
|
+
const [selectedEvent, setSelectedEvent] = React17__default.useState(null);
|
|
4168
|
+
const [draggedEvent, setDraggedEvent] = React17__default.useState(null);
|
|
4169
|
+
const [dragTargetDate, setDragTargetDate] = React17__default.useState(null);
|
|
4169
4170
|
const today = /* @__PURE__ */ new Date();
|
|
4170
4171
|
const currentMonth = currentDate.getMonth();
|
|
4171
4172
|
const currentYear = currentDate.getFullYear();
|
|
@@ -4556,7 +4557,7 @@ var avatarVariants = cva(
|
|
|
4556
4557
|
}
|
|
4557
4558
|
}
|
|
4558
4559
|
);
|
|
4559
|
-
var Avatar =
|
|
4560
|
+
var Avatar = React17.forwardRef(({ className, size, radius, variant, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
4560
4561
|
AvatarPrimitive.Root,
|
|
4561
4562
|
{
|
|
4562
4563
|
ref,
|
|
@@ -4565,7 +4566,7 @@ var Avatar = React16.forwardRef(({ className, size, radius, variant, ...props },
|
|
|
4565
4566
|
}
|
|
4566
4567
|
));
|
|
4567
4568
|
Avatar.displayName = AvatarPrimitive.Root.displayName;
|
|
4568
|
-
var AvatarImage =
|
|
4569
|
+
var AvatarImage = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
4569
4570
|
AvatarPrimitive.Image,
|
|
4570
4571
|
{
|
|
4571
4572
|
ref,
|
|
@@ -4574,7 +4575,7 @@ var AvatarImage = React16.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
4574
4575
|
}
|
|
4575
4576
|
));
|
|
4576
4577
|
AvatarImage.displayName = AvatarPrimitive.Image.displayName;
|
|
4577
|
-
var AvatarFallback =
|
|
4578
|
+
var AvatarFallback = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
4578
4579
|
AvatarPrimitive.Fallback,
|
|
4579
4580
|
{
|
|
4580
4581
|
ref,
|
|
@@ -4586,7 +4587,7 @@ var AvatarFallback = React16.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
4586
4587
|
}
|
|
4587
4588
|
));
|
|
4588
4589
|
AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
|
|
4589
|
-
var AvatarGroup =
|
|
4590
|
+
var AvatarGroup = React17.forwardRef(
|
|
4590
4591
|
({ className, limit, avatars, overlapOffset = -8, ...props }, ref) => {
|
|
4591
4592
|
const visibleAvatars = limit ? avatars.slice(0, limit) : avatars;
|
|
4592
4593
|
const remainingCount = limit ? Math.max(0, avatars.length - limit) : 0;
|
|
@@ -4660,9 +4661,9 @@ function Kanban({
|
|
|
4660
4661
|
] })
|
|
4661
4662
|
] }) }) });
|
|
4662
4663
|
}
|
|
4663
|
-
const [draggedCard, setDraggedCard] =
|
|
4664
|
-
const [draggedOverColumn, setDraggedOverColumn] =
|
|
4665
|
-
const [draggedFromColumn, setDraggedFromColumn] =
|
|
4664
|
+
const [draggedCard, setDraggedCard] = React17__default.useState(null);
|
|
4665
|
+
const [draggedOverColumn, setDraggedOverColumn] = React17__default.useState(null);
|
|
4666
|
+
const [draggedFromColumn, setDraggedFromColumn] = React17__default.useState(null);
|
|
4666
4667
|
const handleDragStart = (e, cardId) => {
|
|
4667
4668
|
if (disabled)
|
|
4668
4669
|
return;
|
|
@@ -5081,7 +5082,7 @@ function findDiffEnd(a, b, posA, posB) {
|
|
|
5081
5082
|
posB -= size;
|
|
5082
5083
|
}
|
|
5083
5084
|
}
|
|
5084
|
-
var
|
|
5085
|
+
var Fragment3 = class {
|
|
5085
5086
|
/**
|
|
5086
5087
|
@internal
|
|
5087
5088
|
*/
|
|
@@ -5149,7 +5150,7 @@ var Fragment2 = class {
|
|
|
5149
5150
|
}
|
|
5150
5151
|
for (; i < other.content.length; i++)
|
|
5151
5152
|
content.push(other.content[i]);
|
|
5152
|
-
return new
|
|
5153
|
+
return new Fragment3(content, this.size + other.size);
|
|
5153
5154
|
}
|
|
5154
5155
|
/**
|
|
5155
5156
|
Cut out the sub-fragment between the two given positions.
|
|
@@ -5173,17 +5174,17 @@ var Fragment2 = class {
|
|
|
5173
5174
|
}
|
|
5174
5175
|
pos = end;
|
|
5175
5176
|
}
|
|
5176
|
-
return new
|
|
5177
|
+
return new Fragment3(result, size);
|
|
5177
5178
|
}
|
|
5178
5179
|
/**
|
|
5179
5180
|
@internal
|
|
5180
5181
|
*/
|
|
5181
5182
|
cutByIndex(from2, to) {
|
|
5182
5183
|
if (from2 == to)
|
|
5183
|
-
return
|
|
5184
|
+
return Fragment3.empty;
|
|
5184
5185
|
if (from2 == 0 && to == this.content.length)
|
|
5185
5186
|
return this;
|
|
5186
|
-
return new
|
|
5187
|
+
return new Fragment3(this.content.slice(from2, to));
|
|
5187
5188
|
}
|
|
5188
5189
|
/**
|
|
5189
5190
|
Create a new fragment in which the node at the given index is
|
|
@@ -5196,21 +5197,21 @@ var Fragment2 = class {
|
|
|
5196
5197
|
let copy2 = this.content.slice();
|
|
5197
5198
|
let size = this.size + node.nodeSize - current.nodeSize;
|
|
5198
5199
|
copy2[index] = node;
|
|
5199
|
-
return new
|
|
5200
|
+
return new Fragment3(copy2, size);
|
|
5200
5201
|
}
|
|
5201
5202
|
/**
|
|
5202
5203
|
Create a new fragment by prepending the given node to this
|
|
5203
5204
|
fragment.
|
|
5204
5205
|
*/
|
|
5205
5206
|
addToStart(node) {
|
|
5206
|
-
return new
|
|
5207
|
+
return new Fragment3([node].concat(this.content), this.size + node.nodeSize);
|
|
5207
5208
|
}
|
|
5208
5209
|
/**
|
|
5209
5210
|
Create a new fragment by appending the given node to this
|
|
5210
5211
|
fragment.
|
|
5211
5212
|
*/
|
|
5212
5213
|
addToEnd(node) {
|
|
5213
|
-
return new
|
|
5214
|
+
return new Fragment3(this.content.concat(node), this.size + node.nodeSize);
|
|
5214
5215
|
}
|
|
5215
5216
|
/**
|
|
5216
5217
|
Compare this fragment to another one.
|
|
@@ -5329,10 +5330,10 @@ var Fragment2 = class {
|
|
|
5329
5330
|
*/
|
|
5330
5331
|
static fromJSON(schema, value) {
|
|
5331
5332
|
if (!value)
|
|
5332
|
-
return
|
|
5333
|
+
return Fragment3.empty;
|
|
5333
5334
|
if (!Array.isArray(value))
|
|
5334
5335
|
throw new RangeError("Invalid input for Fragment.fromJSON");
|
|
5335
|
-
return new
|
|
5336
|
+
return new Fragment3(value.map(schema.nodeFromJSON));
|
|
5336
5337
|
}
|
|
5337
5338
|
/**
|
|
5338
5339
|
Build a fragment from an array of nodes. Ensures that adjacent
|
|
@@ -5340,7 +5341,7 @@ var Fragment2 = class {
|
|
|
5340
5341
|
*/
|
|
5341
5342
|
static fromArray(array) {
|
|
5342
5343
|
if (!array.length)
|
|
5343
|
-
return
|
|
5344
|
+
return Fragment3.empty;
|
|
5344
5345
|
let joined, size = 0;
|
|
5345
5346
|
for (let i = 0; i < array.length; i++) {
|
|
5346
5347
|
let node = array[i];
|
|
@@ -5353,7 +5354,7 @@ var Fragment2 = class {
|
|
|
5353
5354
|
joined.push(node);
|
|
5354
5355
|
}
|
|
5355
5356
|
}
|
|
5356
|
-
return new
|
|
5357
|
+
return new Fragment3(joined || array, size);
|
|
5357
5358
|
}
|
|
5358
5359
|
/**
|
|
5359
5360
|
Create a fragment from something that can be interpreted as a
|
|
@@ -5363,17 +5364,17 @@ var Fragment2 = class {
|
|
|
5363
5364
|
*/
|
|
5364
5365
|
static from(nodes) {
|
|
5365
5366
|
if (!nodes)
|
|
5366
|
-
return
|
|
5367
|
-
if (nodes instanceof
|
|
5367
|
+
return Fragment3.empty;
|
|
5368
|
+
if (nodes instanceof Fragment3)
|
|
5368
5369
|
return nodes;
|
|
5369
5370
|
if (Array.isArray(nodes))
|
|
5370
5371
|
return this.fromArray(nodes);
|
|
5371
5372
|
if (nodes.attrs)
|
|
5372
|
-
return new
|
|
5373
|
+
return new Fragment3([nodes], nodes.nodeSize);
|
|
5373
5374
|
throw new RangeError("Can not convert " + nodes + " to a Fragment" + (nodes.nodesBetween ? " (looks like multiple versions of prosemirror-model were loaded)" : ""));
|
|
5374
5375
|
}
|
|
5375
5376
|
};
|
|
5376
|
-
|
|
5377
|
+
Fragment3.empty = new Fragment3([], 0);
|
|
5377
5378
|
var found = { index: 0, offset: 0 };
|
|
5378
5379
|
function retIndex(index, offset) {
|
|
5379
5380
|
found.index = index;
|
|
@@ -5598,7 +5599,7 @@ var Slice = class {
|
|
|
5598
5599
|
let openStart = json2.openStart || 0, openEnd = json2.openEnd || 0;
|
|
5599
5600
|
if (typeof openStart != "number" || typeof openEnd != "number")
|
|
5600
5601
|
throw new RangeError("Invalid input for Slice.fromJSON");
|
|
5601
|
-
return new Slice(
|
|
5602
|
+
return new Slice(Fragment3.fromJSON(schema, json2.content), openStart, openEnd);
|
|
5602
5603
|
}
|
|
5603
5604
|
/**
|
|
5604
5605
|
Create a slice from a fragment by taking the maximum possible
|
|
@@ -5613,7 +5614,7 @@ var Slice = class {
|
|
|
5613
5614
|
return new Slice(fragment, openStart, openEnd);
|
|
5614
5615
|
}
|
|
5615
5616
|
};
|
|
5616
|
-
Slice.empty = new Slice(
|
|
5617
|
+
Slice.empty = new Slice(Fragment3.empty, 0, 0);
|
|
5617
5618
|
function removeRange(content, from2, to) {
|
|
5618
5619
|
let { index, offset } = content.findIndex(from2), child = content.maybeChild(index);
|
|
5619
5620
|
let { index: indexTo, offset: offsetTo } = content.findIndex(to);
|
|
@@ -5711,7 +5712,7 @@ function replaceThreeWay($from, $start, $end, $to, depth) {
|
|
|
5711
5712
|
addNode(close(openEnd, replaceTwoWay($end, $to, depth + 1)), content);
|
|
5712
5713
|
}
|
|
5713
5714
|
addRange($to, null, depth, content);
|
|
5714
|
-
return new
|
|
5715
|
+
return new Fragment3(content);
|
|
5715
5716
|
}
|
|
5716
5717
|
function replaceTwoWay($from, $to, depth) {
|
|
5717
5718
|
let content = [];
|
|
@@ -5721,13 +5722,13 @@ function replaceTwoWay($from, $to, depth) {
|
|
|
5721
5722
|
addNode(close(type, replaceTwoWay($from, $to, depth + 1)), content);
|
|
5722
5723
|
}
|
|
5723
5724
|
addRange($to, null, depth, content);
|
|
5724
|
-
return new
|
|
5725
|
+
return new Fragment3(content);
|
|
5725
5726
|
}
|
|
5726
5727
|
function prepareSliceForReplace(slice2, $along) {
|
|
5727
5728
|
let extra = $along.depth - slice2.openStart, parent = $along.node(extra);
|
|
5728
5729
|
let node = parent.copy(slice2.content);
|
|
5729
5730
|
for (let i = extra - 1; i >= 0; i--)
|
|
5730
|
-
node = $along.node(i).copy(
|
|
5731
|
+
node = $along.node(i).copy(Fragment3.from(node));
|
|
5731
5732
|
return {
|
|
5732
5733
|
start: node.resolveNoCache(slice2.openStart + extra),
|
|
5733
5734
|
end: node.resolveNoCache(node.content.size - slice2.openEnd - extra)
|
|
@@ -6066,7 +6067,7 @@ var Node = class {
|
|
|
6066
6067
|
this.type = type;
|
|
6067
6068
|
this.attrs = attrs;
|
|
6068
6069
|
this.marks = marks;
|
|
6069
|
-
this.content = content ||
|
|
6070
|
+
this.content = content || Fragment3.empty;
|
|
6070
6071
|
}
|
|
6071
6072
|
/**
|
|
6072
6073
|
The array of this node's child nodes.
|
|
@@ -6371,7 +6372,7 @@ var Node = class {
|
|
|
6371
6372
|
can optionally pass `start` and `end` indices into the
|
|
6372
6373
|
replacement fragment.
|
|
6373
6374
|
*/
|
|
6374
|
-
canReplace(from2, to, replacement =
|
|
6375
|
+
canReplace(from2, to, replacement = Fragment3.empty, start = 0, end = replacement.childCount) {
|
|
6375
6376
|
let one = this.contentMatchAt(from2).matchFragment(replacement, start, end);
|
|
6376
6377
|
let two = one && one.matchFragment(this.content, to);
|
|
6377
6378
|
if (!two || !two.validEnd)
|
|
@@ -6453,7 +6454,7 @@ var Node = class {
|
|
|
6453
6454
|
throw new RangeError("Invalid text node in JSON");
|
|
6454
6455
|
return schema.text(json2.text, marks);
|
|
6455
6456
|
}
|
|
6456
|
-
let content =
|
|
6457
|
+
let content = Fragment3.fromJSON(schema, json2.content);
|
|
6457
6458
|
let node = schema.nodeType(json2.type).create(json2.attrs, content, marks);
|
|
6458
6459
|
node.type.checkAttrs(node.attrs);
|
|
6459
6460
|
return node;
|
|
@@ -6595,7 +6596,7 @@ var ContentMatch = class {
|
|
|
6595
6596
|
function search(match, types) {
|
|
6596
6597
|
let finished = match.matchFragment(after, startIndex);
|
|
6597
6598
|
if (finished && (!toEnd || finished.validEnd))
|
|
6598
|
-
return
|
|
6599
|
+
return Fragment3.from(types.map((tp) => tp.createAndFill()));
|
|
6599
6600
|
for (let i = 0; i < match.next.length; i++) {
|
|
6600
6601
|
let { type, next } = match.next[i];
|
|
6601
6602
|
if (!(type.isText || type.hasRequiredAttrs()) && seen.indexOf(next) == -1) {
|
|
@@ -7047,7 +7048,7 @@ var NodeType = class {
|
|
|
7047
7048
|
create(attrs = null, content, marks) {
|
|
7048
7049
|
if (this.isText)
|
|
7049
7050
|
throw new Error("NodeType.create can't construct text nodes");
|
|
7050
|
-
return new Node(this, this.computeAttrs(attrs),
|
|
7051
|
+
return new Node(this, this.computeAttrs(attrs), Fragment3.from(content), Mark.setFrom(marks));
|
|
7051
7052
|
}
|
|
7052
7053
|
/**
|
|
7053
7054
|
Like [`create`](https://prosemirror.net/docs/ref/#model.NodeType.create), but check the given content
|
|
@@ -7055,7 +7056,7 @@ var NodeType = class {
|
|
|
7055
7056
|
if it doesn't match.
|
|
7056
7057
|
*/
|
|
7057
7058
|
createChecked(attrs = null, content, marks) {
|
|
7058
|
-
content =
|
|
7059
|
+
content = Fragment3.from(content);
|
|
7059
7060
|
this.checkContent(content);
|
|
7060
7061
|
return new Node(this, this.computeAttrs(attrs), content, Mark.setFrom(marks));
|
|
7061
7062
|
}
|
|
@@ -7069,7 +7070,7 @@ var NodeType = class {
|
|
|
7069
7070
|
*/
|
|
7070
7071
|
createAndFill(attrs = null, content, marks) {
|
|
7071
7072
|
attrs = this.computeAttrs(attrs);
|
|
7072
|
-
content =
|
|
7073
|
+
content = Fragment3.from(content);
|
|
7073
7074
|
if (content.size) {
|
|
7074
7075
|
let before = this.contentMatch.fillBefore(content);
|
|
7075
7076
|
if (!before)
|
|
@@ -7077,7 +7078,7 @@ var NodeType = class {
|
|
|
7077
7078
|
content = before.append(content);
|
|
7078
7079
|
}
|
|
7079
7080
|
let matched = this.contentMatch.matchFragment(content);
|
|
7080
|
-
let after = matched && matched.fillBefore(
|
|
7081
|
+
let after = matched && matched.fillBefore(Fragment3.empty, true);
|
|
7081
7082
|
if (!after)
|
|
7082
7083
|
return null;
|
|
7083
7084
|
return new Node(this, attrs, content.append(after), Mark.setFrom(marks));
|
|
@@ -7541,7 +7542,7 @@ var NodeContext = class {
|
|
|
7541
7542
|
if (!this.match) {
|
|
7542
7543
|
if (!this.type)
|
|
7543
7544
|
return [];
|
|
7544
|
-
let fill = this.type.contentMatch.fillBefore(
|
|
7545
|
+
let fill = this.type.contentMatch.fillBefore(Fragment3.from(node));
|
|
7545
7546
|
if (fill) {
|
|
7546
7547
|
this.match = this.type.contentMatch.matchFragment(fill);
|
|
7547
7548
|
} else {
|
|
@@ -7567,9 +7568,9 @@ var NodeContext = class {
|
|
|
7567
7568
|
this.content[this.content.length - 1] = text.withText(text.text.slice(0, text.text.length - m[0].length));
|
|
7568
7569
|
}
|
|
7569
7570
|
}
|
|
7570
|
-
let content =
|
|
7571
|
+
let content = Fragment3.from(this.content);
|
|
7571
7572
|
if (!openEnd && this.match)
|
|
7572
|
-
content = content.append(this.match.fillBefore(
|
|
7573
|
+
content = content.append(this.match.fillBefore(Fragment3.empty, true));
|
|
7573
7574
|
return this.type ? this.type.create(this.attrs, content, this.marks) : content;
|
|
7574
7575
|
}
|
|
7575
7576
|
inlineContext(node) {
|
|
@@ -8586,7 +8587,7 @@ function mapFragment(fragment, f, parent) {
|
|
|
8586
8587
|
child = f(child, parent, i);
|
|
8587
8588
|
mapped.push(child);
|
|
8588
8589
|
}
|
|
8589
|
-
return
|
|
8590
|
+
return Fragment3.fromArray(mapped);
|
|
8590
8591
|
}
|
|
8591
8592
|
var AddMarkStep = class extends Step {
|
|
8592
8593
|
/**
|
|
@@ -8703,7 +8704,7 @@ var AddNodeMarkStep = class extends Step {
|
|
|
8703
8704
|
if (!node)
|
|
8704
8705
|
return StepResult.fail("No node at mark step's position");
|
|
8705
8706
|
let updated = node.type.create(node.attrs, null, this.mark.addToSet(node.marks));
|
|
8706
|
-
return StepResult.fromReplace(doc3, this.pos, this.pos + 1, new Slice(
|
|
8707
|
+
return StepResult.fromReplace(doc3, this.pos, this.pos + 1, new Slice(Fragment3.from(updated), 0, node.isLeaf ? 0 : 1));
|
|
8707
8708
|
}
|
|
8708
8709
|
invert(doc3) {
|
|
8709
8710
|
let node = doc3.nodeAt(this.pos);
|
|
@@ -8749,7 +8750,7 @@ var RemoveNodeMarkStep = class extends Step {
|
|
|
8749
8750
|
if (!node)
|
|
8750
8751
|
return StepResult.fail("No node at mark step's position");
|
|
8751
8752
|
let updated = node.type.create(node.attrs, null, this.mark.removeFromSet(node.marks));
|
|
8752
|
-
return StepResult.fromReplace(doc3, this.pos, this.pos + 1, new Slice(
|
|
8753
|
+
return StepResult.fromReplace(doc3, this.pos, this.pos + 1, new Slice(Fragment3.from(updated), 0, node.isLeaf ? 0 : 1));
|
|
8753
8754
|
}
|
|
8754
8755
|
invert(doc3) {
|
|
8755
8756
|
let node = doc3.nodeAt(this.pos);
|
|
@@ -9014,7 +9015,7 @@ function clearIncompatible(tr2, pos, parentType, match = parentType.contentMatch
|
|
|
9014
9015
|
let m, newline = /\r?\n|\r/g, slice2;
|
|
9015
9016
|
while (m = newline.exec(child.text)) {
|
|
9016
9017
|
if (!slice2)
|
|
9017
|
-
slice2 = new Slice(
|
|
9018
|
+
slice2 = new Slice(Fragment3.from(parentType.schema.text(" ", parentType.allowedMarks(child.marks))), 0, 0);
|
|
9018
9019
|
replSteps.push(new ReplaceStep(cur + m.index, cur + m.index + m[0].length, slice2));
|
|
9019
9020
|
}
|
|
9020
9021
|
}
|
|
@@ -9022,7 +9023,7 @@ function clearIncompatible(tr2, pos, parentType, match = parentType.contentMatch
|
|
|
9022
9023
|
cur = end;
|
|
9023
9024
|
}
|
|
9024
9025
|
if (!match.validEnd) {
|
|
9025
|
-
let fill = match.fillBefore(
|
|
9026
|
+
let fill = match.fillBefore(Fragment3.empty, true);
|
|
9026
9027
|
tr2.replace(cur, cur, new Slice(fill, 0, 0));
|
|
9027
9028
|
}
|
|
9028
9029
|
for (let i = replSteps.length - 1; i >= 0; i--)
|
|
@@ -9048,20 +9049,20 @@ function lift(tr2, range, target) {
|
|
|
9048
9049
|
let { $from, $to, depth } = range;
|
|
9049
9050
|
let gapStart = $from.before(depth + 1), gapEnd = $to.after(depth + 1);
|
|
9050
9051
|
let start = gapStart, end = gapEnd;
|
|
9051
|
-
let before =
|
|
9052
|
+
let before = Fragment3.empty, openStart = 0;
|
|
9052
9053
|
for (let d = depth, splitting = false; d > target; d--)
|
|
9053
9054
|
if (splitting || $from.index(d) > 0) {
|
|
9054
9055
|
splitting = true;
|
|
9055
|
-
before =
|
|
9056
|
+
before = Fragment3.from($from.node(d).copy(before));
|
|
9056
9057
|
openStart++;
|
|
9057
9058
|
} else {
|
|
9058
9059
|
start--;
|
|
9059
9060
|
}
|
|
9060
|
-
let after =
|
|
9061
|
+
let after = Fragment3.empty, openEnd = 0;
|
|
9061
9062
|
for (let d = depth, splitting = false; d > target; d--)
|
|
9062
9063
|
if (splitting || $to.after(d + 1) < $to.end(d)) {
|
|
9063
9064
|
splitting = true;
|
|
9064
|
-
after =
|
|
9065
|
+
after = Fragment3.from($to.node(d).copy(after));
|
|
9065
9066
|
openEnd++;
|
|
9066
9067
|
} else {
|
|
9067
9068
|
end++;
|
|
@@ -9101,14 +9102,14 @@ function findWrappingInside(range, type) {
|
|
|
9101
9102
|
return inside;
|
|
9102
9103
|
}
|
|
9103
9104
|
function wrap(tr2, range, wrappers) {
|
|
9104
|
-
let content =
|
|
9105
|
+
let content = Fragment3.empty;
|
|
9105
9106
|
for (let i = wrappers.length - 1; i >= 0; i--) {
|
|
9106
9107
|
if (content.size) {
|
|
9107
9108
|
let match = wrappers[i].type.contentMatch.matchFragment(content);
|
|
9108
9109
|
if (!match || !match.validEnd)
|
|
9109
9110
|
throw new RangeError("Wrapper type given to Transform.wrap does not form valid content of its parent wrapper");
|
|
9110
9111
|
}
|
|
9111
|
-
content =
|
|
9112
|
+
content = Fragment3.from(wrappers[i].type.create(wrappers[i].attrs, content));
|
|
9112
9113
|
}
|
|
9113
9114
|
let start = range.start, end = range.end;
|
|
9114
9115
|
tr2.step(new ReplaceAroundStep(start, end, start, end, new Slice(content, 0, 0), wrappers.length, true));
|
|
@@ -9133,7 +9134,7 @@ function setBlockType(tr2, from2, to, type, attrs) {
|
|
|
9133
9134
|
clearIncompatible(tr2, tr2.mapping.slice(mapFrom).map(pos, 1), type, void 0, convertNewlines === null);
|
|
9134
9135
|
let mapping = tr2.mapping.slice(mapFrom);
|
|
9135
9136
|
let startM = mapping.map(pos, 1), endM = mapping.map(pos + node.nodeSize, 1);
|
|
9136
|
-
tr2.step(new ReplaceAroundStep(startM, endM, startM + 1, endM - 1, new Slice(
|
|
9137
|
+
tr2.step(new ReplaceAroundStep(startM, endM, startM + 1, endM - 1, new Slice(Fragment3.from(type.create(attrsHere, null, node.marks)), 0, 0), 1, true));
|
|
9137
9138
|
if (convertNewlines === true)
|
|
9138
9139
|
replaceNewlines(tr2, node, pos, mapFrom);
|
|
9139
9140
|
return false;
|
|
@@ -9174,7 +9175,7 @@ function setNodeMarkup(tr2, pos, type, attrs, marks) {
|
|
|
9174
9175
|
return tr2.replaceWith(pos, pos + node.nodeSize, newNode);
|
|
9175
9176
|
if (!type.validContent(node.content))
|
|
9176
9177
|
throw new RangeError("Invalid content for node type " + type.name);
|
|
9177
|
-
tr2.step(new ReplaceAroundStep(pos, pos + node.nodeSize, pos + 1, pos + node.nodeSize - 1, new Slice(
|
|
9178
|
+
tr2.step(new ReplaceAroundStep(pos, pos + node.nodeSize, pos + 1, pos + node.nodeSize - 1, new Slice(Fragment3.from(newNode), 0, 0), 1, true));
|
|
9178
9179
|
}
|
|
9179
9180
|
function canSplit(doc3, pos, depth = 1, typesAfter) {
|
|
9180
9181
|
let $pos = doc3.resolve(pos), base2 = $pos.depth - depth;
|
|
@@ -9198,11 +9199,11 @@ function canSplit(doc3, pos, depth = 1, typesAfter) {
|
|
|
9198
9199
|
return $pos.node(base2).canReplaceWith(index, index, baseType ? baseType.type : $pos.node(base2 + 1).type);
|
|
9199
9200
|
}
|
|
9200
9201
|
function split(tr2, pos, depth = 1, typesAfter) {
|
|
9201
|
-
let $pos = tr2.doc.resolve(pos), before =
|
|
9202
|
+
let $pos = tr2.doc.resolve(pos), before = Fragment3.empty, after = Fragment3.empty;
|
|
9202
9203
|
for (let d = $pos.depth, e = $pos.depth - depth, i = depth - 1; d > e; d--, i--) {
|
|
9203
|
-
before =
|
|
9204
|
+
before = Fragment3.from($pos.node(d).copy(before));
|
|
9204
9205
|
let typeAfter = typesAfter && typesAfter[i];
|
|
9205
|
-
after =
|
|
9206
|
+
after = Fragment3.from(typeAfter ? typeAfter.type.create(typeAfter.attrs, after) : $pos.node(d).copy(after));
|
|
9206
9207
|
}
|
|
9207
9208
|
tr2.step(new ReplaceStep(pos, pos, new Slice(before.append(after), depth, depth), true));
|
|
9208
9209
|
}
|
|
@@ -9341,7 +9342,7 @@ var Fitter = class {
|
|
|
9341
9342
|
this.$to = $to;
|
|
9342
9343
|
this.unplaced = unplaced;
|
|
9343
9344
|
this.frontier = [];
|
|
9344
|
-
this.placed =
|
|
9345
|
+
this.placed = Fragment3.empty;
|
|
9345
9346
|
for (let i = 0; i <= $from.depth; i++) {
|
|
9346
9347
|
let node = $from.node(i);
|
|
9347
9348
|
this.frontier.push({
|
|
@@ -9350,7 +9351,7 @@ var Fitter = class {
|
|
|
9350
9351
|
});
|
|
9351
9352
|
}
|
|
9352
9353
|
for (let i = $from.depth; i > 0; i--)
|
|
9353
|
-
this.placed =
|
|
9354
|
+
this.placed = Fragment3.from($from.node(i).copy(this.placed));
|
|
9354
9355
|
}
|
|
9355
9356
|
get depth() {
|
|
9356
9357
|
return this.frontier.length - 1;
|
|
@@ -9407,7 +9408,7 @@ var Fitter = class {
|
|
|
9407
9408
|
let first2 = fragment.firstChild;
|
|
9408
9409
|
for (let frontierDepth = this.depth; frontierDepth >= 0; frontierDepth--) {
|
|
9409
9410
|
let { type, match } = this.frontier[frontierDepth], wrap2, inject = null;
|
|
9410
|
-
if (pass == 1 && (first2 ? match.matchType(first2.type) || (inject = match.fillBefore(
|
|
9411
|
+
if (pass == 1 && (first2 ? match.matchType(first2.type) || (inject = match.fillBefore(Fragment3.from(first2), false)) : parent && type.compatibleContent(parent.type)))
|
|
9411
9412
|
return { sliceDepth, frontierDepth, parent, inject };
|
|
9412
9413
|
else if (pass == 2 && first2 && (wrap2 = match.findWrapping(first2.type)))
|
|
9413
9414
|
return { sliceDepth, frontierDepth, parent, wrap: wrap2 };
|
|
@@ -9467,7 +9468,7 @@ var Fitter = class {
|
|
|
9467
9468
|
let toEnd = taken == fragment.childCount;
|
|
9468
9469
|
if (!toEnd)
|
|
9469
9470
|
openEndCount = -1;
|
|
9470
|
-
this.placed = addToFragment(this.placed, frontierDepth,
|
|
9471
|
+
this.placed = addToFragment(this.placed, frontierDepth, Fragment3.from(add));
|
|
9471
9472
|
this.frontier[frontierDepth].match = match;
|
|
9472
9473
|
if (toEnd && openEndCount < 0 && parent && parent.type == this.frontier[this.depth].type && this.frontier.length > 1)
|
|
9473
9474
|
this.closeFrontierNode();
|
|
@@ -9524,12 +9525,12 @@ var Fitter = class {
|
|
|
9524
9525
|
openFrontierNode(type, attrs = null, content) {
|
|
9525
9526
|
let top = this.frontier[this.depth];
|
|
9526
9527
|
top.match = top.match.matchType(type);
|
|
9527
|
-
this.placed = addToFragment(this.placed, this.depth,
|
|
9528
|
+
this.placed = addToFragment(this.placed, this.depth, Fragment3.from(type.create(attrs, content)));
|
|
9528
9529
|
this.frontier.push({ type, match: type.contentMatch });
|
|
9529
9530
|
}
|
|
9530
9531
|
closeFrontierNode() {
|
|
9531
9532
|
let open = this.frontier.pop();
|
|
9532
|
-
let add = open.match.fillBefore(
|
|
9533
|
+
let add = open.match.fillBefore(Fragment3.empty, true);
|
|
9533
9534
|
if (add.childCount)
|
|
9534
9535
|
this.placed = addToFragment(this.placed, this.frontier.length, add);
|
|
9535
9536
|
}
|
|
@@ -9558,7 +9559,7 @@ function closeNodeStart(node, openStart, openEnd) {
|
|
|
9558
9559
|
if (openStart > 0) {
|
|
9559
9560
|
frag = node.type.contentMatch.fillBefore(frag).append(frag);
|
|
9560
9561
|
if (openEnd <= 0)
|
|
9561
|
-
frag = frag.append(node.type.contentMatch.matchFragment(frag).fillBefore(
|
|
9562
|
+
frag = frag.append(node.type.contentMatch.matchFragment(frag).fillBefore(Fragment3.empty, true));
|
|
9562
9563
|
}
|
|
9563
9564
|
return node.copy(frag);
|
|
9564
9565
|
}
|
|
@@ -9650,7 +9651,7 @@ function closeFragment(fragment, depth, oldOpen, newOpen, parent) {
|
|
|
9650
9651
|
if (depth > newOpen) {
|
|
9651
9652
|
let match = parent.contentMatchAt(0);
|
|
9652
9653
|
let start = match.fillBefore(fragment).append(fragment);
|
|
9653
|
-
fragment = start.append(match.matchFragment(start).fillBefore(
|
|
9654
|
+
fragment = start.append(match.matchFragment(start).fillBefore(Fragment3.empty, true));
|
|
9654
9655
|
}
|
|
9655
9656
|
return fragment;
|
|
9656
9657
|
}
|
|
@@ -9660,7 +9661,7 @@ function replaceRangeWith(tr2, from2, to, node) {
|
|
|
9660
9661
|
if (point != null)
|
|
9661
9662
|
from2 = to = point;
|
|
9662
9663
|
}
|
|
9663
|
-
tr2.replaceRange(from2, to, new Slice(
|
|
9664
|
+
tr2.replaceRange(from2, to, new Slice(Fragment3.from(node), 0, 0));
|
|
9664
9665
|
}
|
|
9665
9666
|
function deleteRange(tr2, from2, to) {
|
|
9666
9667
|
let $from = tr2.doc.resolve(from2), $to = tr2.doc.resolve(to);
|
|
@@ -9708,7 +9709,7 @@ var AttrStep = class extends Step {
|
|
|
9708
9709
|
attrs[name] = node.attrs[name];
|
|
9709
9710
|
attrs[this.attr] = this.value;
|
|
9710
9711
|
let updated = node.type.create(attrs, null, node.marks);
|
|
9711
|
-
return StepResult.fromReplace(doc3, this.pos, this.pos + 1, new Slice(
|
|
9712
|
+
return StepResult.fromReplace(doc3, this.pos, this.pos + 1, new Slice(Fragment3.from(updated), 0, node.isLeaf ? 0 : 1));
|
|
9712
9713
|
}
|
|
9713
9714
|
getMap() {
|
|
9714
9715
|
return StepMap.empty;
|
|
@@ -9843,7 +9844,7 @@ var Transform = class {
|
|
|
9843
9844
|
fragment, node, or array of nodes.
|
|
9844
9845
|
*/
|
|
9845
9846
|
replaceWith(from2, to, content) {
|
|
9846
|
-
return this.replace(from2, to, new Slice(
|
|
9847
|
+
return this.replace(from2, to, new Slice(Fragment3.from(content), 0, 0));
|
|
9847
9848
|
}
|
|
9848
9849
|
/**
|
|
9849
9850
|
Delete the content between the given positions.
|
|
@@ -10345,7 +10346,7 @@ var NodeSelection = class extends Selection {
|
|
|
10345
10346
|
return new NodeSelection($pos);
|
|
10346
10347
|
}
|
|
10347
10348
|
content() {
|
|
10348
|
-
return new Slice(
|
|
10349
|
+
return new Slice(Fragment3.from(this.node), 0, 0);
|
|
10349
10350
|
}
|
|
10350
10351
|
eq(other) {
|
|
10351
10352
|
return other instanceof NodeSelection && other.anchor == this.anchor;
|
|
@@ -12167,7 +12168,7 @@ var NodeViewDesc = class extends ViewDesc {
|
|
|
12167
12168
|
}
|
|
12168
12169
|
}
|
|
12169
12170
|
if (!rule.contentElement)
|
|
12170
|
-
rule.getContent = () =>
|
|
12171
|
+
rule.getContent = () => Fragment3.empty;
|
|
12171
12172
|
}
|
|
12172
12173
|
return rule;
|
|
12173
12174
|
}
|
|
@@ -13486,7 +13487,7 @@ function parseFromClipboard(view, text, html, plainText, $context) {
|
|
|
13486
13487
|
text = f(text, inCode || plainText, view);
|
|
13487
13488
|
});
|
|
13488
13489
|
if (inCode)
|
|
13489
|
-
return text ? new Slice(
|
|
13490
|
+
return text ? new Slice(Fragment3.from(view.state.schema.text(text.replace(/\r\n?/g, "\n"))), 0, 0) : Slice.empty;
|
|
13490
13491
|
let parsed = view.someProp("clipboardTextParser", (f) => f(text, $context, plainText, view));
|
|
13491
13492
|
if (parsed) {
|
|
13492
13493
|
slice2 = parsed;
|
|
@@ -13575,13 +13576,13 @@ function normalizeSiblings(fragment, $context) {
|
|
|
13575
13576
|
}
|
|
13576
13577
|
});
|
|
13577
13578
|
if (result)
|
|
13578
|
-
return
|
|
13579
|
+
return Fragment3.from(result);
|
|
13579
13580
|
}
|
|
13580
13581
|
return fragment;
|
|
13581
13582
|
}
|
|
13582
13583
|
function withWrappers(node, wrap2, from2 = 0) {
|
|
13583
13584
|
for (let i = wrap2.length - 1; i >= from2; i--)
|
|
13584
|
-
node = wrap2[i].create(null,
|
|
13585
|
+
node = wrap2[i].create(null, Fragment3.from(node));
|
|
13585
13586
|
return node;
|
|
13586
13587
|
}
|
|
13587
13588
|
function addToSibling(wrap2, lastWrap, node, sibling, depth) {
|
|
@@ -13591,14 +13592,14 @@ function addToSibling(wrap2, lastWrap, node, sibling, depth) {
|
|
|
13591
13592
|
return sibling.copy(sibling.content.replaceChild(sibling.childCount - 1, inner));
|
|
13592
13593
|
let match = sibling.contentMatchAt(sibling.childCount);
|
|
13593
13594
|
if (match.matchType(depth == wrap2.length - 1 ? node.type : wrap2[depth + 1]))
|
|
13594
|
-
return sibling.copy(sibling.content.append(
|
|
13595
|
+
return sibling.copy(sibling.content.append(Fragment3.from(withWrappers(node, wrap2, depth + 1))));
|
|
13595
13596
|
}
|
|
13596
13597
|
}
|
|
13597
13598
|
function closeRight(node, depth) {
|
|
13598
13599
|
if (depth == 0)
|
|
13599
13600
|
return node;
|
|
13600
13601
|
let fragment = node.content.replaceChild(node.childCount - 1, closeRight(node.lastChild, depth - 1));
|
|
13601
|
-
let fill = node.contentMatchAt(node.childCount).fillBefore(
|
|
13602
|
+
let fill = node.contentMatchAt(node.childCount).fillBefore(Fragment3.empty, true);
|
|
13602
13603
|
return node.copy(fragment.append(fill));
|
|
13603
13604
|
}
|
|
13604
13605
|
function closeRange(fragment, side, from2, to, depth, openEnd) {
|
|
@@ -13608,7 +13609,7 @@ function closeRange(fragment, side, from2, to, depth, openEnd) {
|
|
|
13608
13609
|
if (depth < to - 1)
|
|
13609
13610
|
inner = closeRange(inner, side, from2, to, depth + 1, openEnd);
|
|
13610
13611
|
if (depth >= from2)
|
|
13611
|
-
inner = side < 0 ? node.contentMatchAt(0).fillBefore(inner, openEnd <= depth).append(inner) : inner.append(node.contentMatchAt(node.childCount).fillBefore(
|
|
13612
|
+
inner = side < 0 ? node.contentMatchAt(0).fillBefore(inner, openEnd <= depth).append(inner) : inner.append(node.contentMatchAt(node.childCount).fillBefore(Fragment3.empty, true));
|
|
13612
13613
|
return fragment.replaceChild(side < 0 ? 0 : fragment.childCount - 1, node.copy(inner));
|
|
13613
13614
|
}
|
|
13614
13615
|
function closeSlice(slice2, openStart, openEnd) {
|
|
@@ -13678,7 +13679,7 @@ function addContext(slice2, context) {
|
|
|
13678
13679
|
let type = schema.nodes[array[i]];
|
|
13679
13680
|
if (!type || type.hasRequiredAttrs())
|
|
13680
13681
|
break;
|
|
13681
|
-
content =
|
|
13682
|
+
content = Fragment3.from(type.create(array[i + 1], content));
|
|
13682
13683
|
openStart++;
|
|
13683
13684
|
openEnd++;
|
|
13684
13685
|
}
|
|
@@ -15539,7 +15540,7 @@ function isMarkChange(cur, prev) {
|
|
|
15539
15540
|
let updated = [];
|
|
15540
15541
|
for (let i = 0; i < prev.childCount; i++)
|
|
15541
15542
|
updated.push(update(prev.child(i)));
|
|
15542
|
-
if (
|
|
15543
|
+
if (Fragment3.from(updated).eq(cur))
|
|
15543
15544
|
return { mark, type };
|
|
15544
15545
|
}
|
|
15545
15546
|
function looksLikeBackspace(old, start, end, $newStart, $newEnd) {
|
|
@@ -16649,10 +16650,10 @@ function deleteBarrier(state, $cut, dispatch2, dir) {
|
|
|
16649
16650
|
let canDelAfter = !isolated && $cut.parent.canReplace($cut.index(), $cut.index() + 1);
|
|
16650
16651
|
if (canDelAfter && (conn = (match = before.contentMatchAt(before.childCount)).findWrapping(after.type)) && match.matchType(conn[0] || after.type).validEnd) {
|
|
16651
16652
|
if (dispatch2) {
|
|
16652
|
-
let end = $cut.pos + after.nodeSize, wrap2 =
|
|
16653
|
+
let end = $cut.pos + after.nodeSize, wrap2 = Fragment3.empty;
|
|
16653
16654
|
for (let i = conn.length - 1; i >= 0; i--)
|
|
16654
|
-
wrap2 =
|
|
16655
|
-
wrap2 =
|
|
16655
|
+
wrap2 = Fragment3.from(conn[i].create(null, wrap2));
|
|
16656
|
+
wrap2 = Fragment3.from(before.copy(wrap2));
|
|
16656
16657
|
let tr2 = state.tr.step(new ReplaceAroundStep($cut.pos - 1, end, $cut.pos, end, new Slice(wrap2, 1, 0), conn.length, true));
|
|
16657
16658
|
let $joinAt = tr2.doc.resolve(end + 2 * conn.length);
|
|
16658
16659
|
if ($joinAt.nodeAfter && $joinAt.nodeAfter.type == before.type && canJoin(tr2.doc, $joinAt.pos))
|
|
@@ -16681,9 +16682,9 @@ function deleteBarrier(state, $cut, dispatch2, dir) {
|
|
|
16681
16682
|
afterDepth++;
|
|
16682
16683
|
if (at.canReplace(at.childCount, at.childCount, afterText.content)) {
|
|
16683
16684
|
if (dispatch2) {
|
|
16684
|
-
let end =
|
|
16685
|
+
let end = Fragment3.empty;
|
|
16685
16686
|
for (let i = wrap2.length - 1; i >= 0; i--)
|
|
16686
|
-
end =
|
|
16687
|
+
end = Fragment3.from(wrap2[i].copy(end));
|
|
16687
16688
|
let tr2 = state.tr.step(new ReplaceAroundStep($cut.pos - wrap2.length, $cut.pos + after.nodeSize, $cut.pos + afterDepth, $cut.pos + after.nodeSize - afterDepth, new Slice(end, wrap2.length, 0), 0, true));
|
|
16688
16689
|
dispatch2(tr2.scrollIntoView());
|
|
16689
16690
|
}
|
|
@@ -16788,9 +16789,9 @@ function wrapRangeInList(tr2, range, listType, attrs = null) {
|
|
|
16788
16789
|
return true;
|
|
16789
16790
|
}
|
|
16790
16791
|
function doWrapInList(tr2, range, wrappers, joinBefore, listType) {
|
|
16791
|
-
let content =
|
|
16792
|
+
let content = Fragment3.empty;
|
|
16792
16793
|
for (let i = wrappers.length - 1; i >= 0; i--)
|
|
16793
|
-
content =
|
|
16794
|
+
content = Fragment3.from(wrappers[i].type.create(wrappers[i].attrs, content));
|
|
16794
16795
|
tr2.step(new ReplaceAroundStep(range.start - (joinBefore ? 2 : 0), range.end, range.start, range.end, new Slice(content, 0, 0), wrappers.length, true));
|
|
16795
16796
|
let found2 = 0;
|
|
16796
16797
|
for (let i = 0; i < wrappers.length; i++)
|
|
@@ -16824,7 +16825,7 @@ function liftListItem(itemType) {
|
|
|
16824
16825
|
function liftToOuterList(state, dispatch2, itemType, range) {
|
|
16825
16826
|
let tr2 = state.tr, end = range.end, endOfList = range.$to.end(range.depth);
|
|
16826
16827
|
if (end < endOfList) {
|
|
16827
|
-
tr2.step(new ReplaceAroundStep(end - 1, endOfList, end, endOfList, new Slice(
|
|
16828
|
+
tr2.step(new ReplaceAroundStep(end - 1, endOfList, end, endOfList, new Slice(Fragment3.from(itemType.create(null, range.parent.copy())), 1, 0), 1, true));
|
|
16828
16829
|
range = new NodeRange(tr2.doc.resolve(range.$from.pos), tr2.doc.resolve(endOfList), range.depth);
|
|
16829
16830
|
}
|
|
16830
16831
|
const target = liftTarget(range);
|
|
@@ -16848,10 +16849,10 @@ function liftOutOfList(state, dispatch2, range) {
|
|
|
16848
16849
|
return false;
|
|
16849
16850
|
let atStart = range.startIndex == 0, atEnd = range.endIndex == list.childCount;
|
|
16850
16851
|
let parent = $start.node(-1), indexBefore = $start.index(-1);
|
|
16851
|
-
if (!parent.canReplace(indexBefore + (atStart ? 0 : 1), indexBefore + 1, item.content.append(atEnd ?
|
|
16852
|
+
if (!parent.canReplace(indexBefore + (atStart ? 0 : 1), indexBefore + 1, item.content.append(atEnd ? Fragment3.empty : Fragment3.from(list))))
|
|
16852
16853
|
return false;
|
|
16853
16854
|
let start = $start.pos, end = start + item.nodeSize;
|
|
16854
|
-
tr2.step(new ReplaceAroundStep(start - (atStart ? 1 : 0), end + (atEnd ? 1 : 0), start + 1, end - 1, new Slice((atStart ?
|
|
16855
|
+
tr2.step(new ReplaceAroundStep(start - (atStart ? 1 : 0), end + (atEnd ? 1 : 0), start + 1, end - 1, new Slice((atStart ? Fragment3.empty : Fragment3.from(list.copy(Fragment3.empty))).append(atEnd ? Fragment3.empty : Fragment3.from(list.copy(Fragment3.empty))), atStart ? 0 : 1, atEnd ? 0 : 1), atStart ? 0 : 1));
|
|
16855
16856
|
dispatch2(tr2.scrollIntoView());
|
|
16856
16857
|
return true;
|
|
16857
16858
|
}
|
|
@@ -16869,8 +16870,8 @@ function sinkListItem(itemType) {
|
|
|
16869
16870
|
return false;
|
|
16870
16871
|
if (dispatch2) {
|
|
16871
16872
|
let nestedBefore = nodeBefore.lastChild && nodeBefore.lastChild.type == parent.type;
|
|
16872
|
-
let inner =
|
|
16873
|
-
let slice2 = new Slice(
|
|
16873
|
+
let inner = Fragment3.from(nestedBefore ? itemType.create() : null);
|
|
16874
|
+
let slice2 = new Slice(Fragment3.from(itemType.create(null, Fragment3.from(parent.type.create(null, inner)))), nestedBefore ? 3 : 1, 0);
|
|
16874
16875
|
let before = range.start, after = range.end;
|
|
16875
16876
|
dispatch2(state.tr.step(new ReplaceAroundStep(before - (nestedBefore ? 3 : 1), after, before, after, slice2, 1, true)).scrollIntoView());
|
|
16876
16877
|
}
|
|
@@ -17088,7 +17089,7 @@ function elementFromString(value) {
|
|
|
17088
17089
|
return removeWhitespaces(html);
|
|
17089
17090
|
}
|
|
17090
17091
|
function createNodeFromContent(content, schema, options) {
|
|
17091
|
-
if (content instanceof Node || content instanceof
|
|
17092
|
+
if (content instanceof Node || content instanceof Fragment3) {
|
|
17092
17093
|
return content;
|
|
17093
17094
|
}
|
|
17094
17095
|
options = {
|
|
@@ -17102,7 +17103,7 @@ function createNodeFromContent(content, schema, options) {
|
|
|
17102
17103
|
try {
|
|
17103
17104
|
const isArrayContent = Array.isArray(content) && content.length > 0;
|
|
17104
17105
|
if (isArrayContent) {
|
|
17105
|
-
return
|
|
17106
|
+
return Fragment3.fromArray(content.map((item) => schema.nodeFromJSON(item)));
|
|
17106
17107
|
}
|
|
17107
17108
|
const node = schema.nodeFromJSON(content);
|
|
17108
17109
|
if (options.errorOnInvalidContent) {
|
|
@@ -18236,7 +18237,7 @@ function inputRulesPlugin(props) {
|
|
|
18236
18237
|
if (typeof text === "string") {
|
|
18237
18238
|
text = text;
|
|
18238
18239
|
} else {
|
|
18239
|
-
text = getHTMLFromFragment(
|
|
18240
|
+
text = getHTMLFromFragment(Fragment3.from(text), state.schema);
|
|
18240
18241
|
}
|
|
18241
18242
|
const { from: from2 } = simulatedInputMeta;
|
|
18242
18243
|
const to = from2 + text.length;
|
|
@@ -18614,7 +18615,7 @@ function pasteRulesPlugin(props) {
|
|
|
18614
18615
|
if (typeof text === "string") {
|
|
18615
18616
|
text = text;
|
|
18616
18617
|
} else {
|
|
18617
|
-
text = getHTMLFromFragment(
|
|
18618
|
+
text = getHTMLFromFragment(Fragment3.from(text), state.schema);
|
|
18618
18619
|
}
|
|
18619
18620
|
const { from: from22 } = simulatedPasteMeta;
|
|
18620
18621
|
const to2 = from22 + text.length;
|
|
@@ -19272,7 +19273,7 @@ var insertContentAt = (position, value, options) => ({ tr: tr2, dispatch: dispat
|
|
|
19272
19273
|
if (isOnlyTextContent) {
|
|
19273
19274
|
if (Array.isArray(value)) {
|
|
19274
19275
|
newContent = value.map((v) => v.text || "").join("");
|
|
19275
|
-
} else if (value instanceof
|
|
19276
|
+
} else if (value instanceof Fragment3) {
|
|
19276
19277
|
let text = "";
|
|
19277
19278
|
value.forEach((node) => {
|
|
19278
19279
|
if (node.text) {
|
|
@@ -19739,10 +19740,10 @@ var splitListItem = (typeOrName, overrideAttrs = {}) => ({ tr: tr2, state, dispa
|
|
|
19739
19740
|
return false;
|
|
19740
19741
|
}
|
|
19741
19742
|
if (dispatch2) {
|
|
19742
|
-
let wrap2 =
|
|
19743
|
+
let wrap2 = Fragment3.empty;
|
|
19743
19744
|
const depthBefore = $from.index(-1) ? 1 : $from.index(-2) ? 2 : 3;
|
|
19744
19745
|
for (let d = $from.depth - depthBefore; d >= $from.depth - 3; d -= 1) {
|
|
19745
|
-
wrap2 =
|
|
19746
|
+
wrap2 = Fragment3.from($from.node(d).copy(wrap2));
|
|
19746
19747
|
}
|
|
19747
19748
|
const depthAfter = (
|
|
19748
19749
|
// eslint-disable-next-line no-nested-ternary
|
|
@@ -19753,7 +19754,7 @@ var splitListItem = (typeOrName, overrideAttrs = {}) => ({ tr: tr2, state, dispa
|
|
|
19753
19754
|
...overrideAttrs
|
|
19754
19755
|
};
|
|
19755
19756
|
const nextType2 = ((_a = type.contentMatch.defaultType) == null ? void 0 : _a.createAndFill(newNextTypeAttributes2)) || void 0;
|
|
19756
|
-
wrap2 = wrap2.append(
|
|
19757
|
+
wrap2 = wrap2.append(Fragment3.from(type.createAndFill(null, nextType2) || void 0));
|
|
19757
19758
|
const start = $from.before($from.depth - (depthBefore - 1));
|
|
19758
19759
|
tr2.replace(start, $from.after(-depthAfter), new Slice(wrap2, 4 - depthBefore, 0));
|
|
19759
19760
|
let sel = -1;
|
|
@@ -21384,7 +21385,7 @@ function markPasteRule(config) {
|
|
|
21384
21385
|
}
|
|
21385
21386
|
|
|
21386
21387
|
// ../../node_modules/@tiptap/react/dist/index.js
|
|
21387
|
-
var
|
|
21388
|
+
var import_react16 = __toESM(require_react(), 1);
|
|
21388
21389
|
var mergeRefs = (...refs) => {
|
|
21389
21390
|
return (node) => {
|
|
21390
21391
|
refs.forEach((ref) => {
|
|
@@ -21444,11 +21445,11 @@ function getInstance() {
|
|
|
21444
21445
|
}
|
|
21445
21446
|
};
|
|
21446
21447
|
}
|
|
21447
|
-
var PureEditorContent = class extends
|
|
21448
|
+
var PureEditorContent = class extends React17__default.Component {
|
|
21448
21449
|
constructor(props) {
|
|
21449
21450
|
var _a;
|
|
21450
21451
|
super(props);
|
|
21451
|
-
this.editorContentRef =
|
|
21452
|
+
this.editorContentRef = React17__default.createRef();
|
|
21452
21453
|
this.initialized = false;
|
|
21453
21454
|
this.state = {
|
|
21454
21455
|
hasContentComponentInitialized: Boolean((_a = props.editor) == null ? void 0 : _a.contentComponent)
|
|
@@ -21526,17 +21527,17 @@ var PureEditorContent = class extends React16__default.Component {
|
|
|
21526
21527
|
};
|
|
21527
21528
|
var EditorContentWithKey = forwardRef(
|
|
21528
21529
|
(props, ref) => {
|
|
21529
|
-
const key =
|
|
21530
|
+
const key = React17__default.useMemo(() => {
|
|
21530
21531
|
return Math.floor(Math.random() * 4294967295).toString();
|
|
21531
21532
|
}, [props.editor]);
|
|
21532
|
-
return
|
|
21533
|
+
return React17__default.createElement(PureEditorContent, {
|
|
21533
21534
|
key,
|
|
21534
21535
|
innerRef: ref,
|
|
21535
21536
|
...props
|
|
21536
21537
|
});
|
|
21537
21538
|
}
|
|
21538
21539
|
);
|
|
21539
|
-
var EditorContent =
|
|
21540
|
+
var EditorContent = React17__default.memo(EditorContentWithKey);
|
|
21540
21541
|
var useIsomorphicLayoutEffect = typeof window !== "undefined" ? useLayoutEffect : useEffect;
|
|
21541
21542
|
var EditorStateManager = class {
|
|
21542
21543
|
constructor(initialEditor) {
|
|
@@ -21603,7 +21604,7 @@ function useEditorState(options) {
|
|
|
21603
21604
|
editorStateManager.getSnapshot,
|
|
21604
21605
|
editorStateManager.getServerSnapshot,
|
|
21605
21606
|
options.selector,
|
|
21606
|
-
(_a = options.equalityFn) != null ? _a :
|
|
21607
|
+
(_a = options.equalityFn) != null ? _a : import_react16.default
|
|
21607
21608
|
);
|
|
21608
21609
|
useIsomorphicLayoutEffect(() => {
|
|
21609
21610
|
return editorStateManager.watch(options.editor);
|
|
@@ -21880,7 +21881,7 @@ var ReactNodeViewContext = createContext({
|
|
|
21880
21881
|
}
|
|
21881
21882
|
});
|
|
21882
21883
|
var useReactNodeView = () => useContext(ReactNodeViewContext);
|
|
21883
|
-
|
|
21884
|
+
React17__default.forwardRef((props, ref) => {
|
|
21884
21885
|
const { onDragStart } = useReactNodeView();
|
|
21885
21886
|
const Tag = props.as || "div";
|
|
21886
21887
|
return (
|
|
@@ -21900,7 +21901,7 @@ React16__default.forwardRef((props, ref) => {
|
|
|
21900
21901
|
)
|
|
21901
21902
|
);
|
|
21902
21903
|
});
|
|
21903
|
-
|
|
21904
|
+
React17__default.createContext({
|
|
21904
21905
|
markViewContentRef: () => {
|
|
21905
21906
|
}
|
|
21906
21907
|
});
|
|
@@ -25199,9 +25200,9 @@ function beforeinput(view, event) {
|
|
|
25199
25200
|
let insert = $from.parent.contentMatchAt($from.index()).findWrapping(view.state.schema.nodes.text);
|
|
25200
25201
|
if (!insert)
|
|
25201
25202
|
return false;
|
|
25202
|
-
let frag =
|
|
25203
|
+
let frag = Fragment3.empty;
|
|
25203
25204
|
for (let i = insert.length - 1; i >= 0; i--)
|
|
25204
|
-
frag =
|
|
25205
|
+
frag = Fragment3.from(insert[i].createAndFill(null, frag));
|
|
25205
25206
|
let tr2 = view.state.tr.replace($from.pos, $from.pos, new Slice(frag, 0, 0));
|
|
25206
25207
|
tr2.setSelection(TextSelection.near(tr2.doc.resolve($from.pos + 1)));
|
|
25207
25208
|
view.dispatch(tr2);
|
|
@@ -26881,10 +26882,10 @@ var CellSelection = class _CellSelection extends Selection {
|
|
|
26881
26882
|
}
|
|
26882
26883
|
rowContent.push(cell);
|
|
26883
26884
|
}
|
|
26884
|
-
rows.push(table.child(row).copy(
|
|
26885
|
+
rows.push(table.child(row).copy(Fragment3.from(rowContent)));
|
|
26885
26886
|
}
|
|
26886
26887
|
const fragment = this.isColSelection() && this.isRowSelection() ? table : rows;
|
|
26887
|
-
return new Slice(
|
|
26888
|
+
return new Slice(Fragment3.from(fragment), 1, 1);
|
|
26888
26889
|
}
|
|
26889
26890
|
replace(tr2, content = Slice.empty) {
|
|
26890
26891
|
const mapFrom = tr2.steps.length, ranges = this.ranges;
|
|
@@ -26904,7 +26905,7 @@ var CellSelection = class _CellSelection extends Selection {
|
|
|
26904
26905
|
tr2.setSelection(sel);
|
|
26905
26906
|
}
|
|
26906
26907
|
replaceWith(tr2, node) {
|
|
26907
|
-
this.replace(tr2, new Slice(
|
|
26908
|
+
this.replace(tr2, new Slice(Fragment3.from(node), 0, 0));
|
|
26908
26909
|
}
|
|
26909
26910
|
forEachCell(f) {
|
|
26910
26911
|
const table = this.$anchorCell.node(-1);
|
|
@@ -27452,7 +27453,7 @@ function mergeCells(state, dispatch2) {
|
|
|
27452
27453
|
if (dispatch2) {
|
|
27453
27454
|
const tr2 = state.tr;
|
|
27454
27455
|
const seen = {};
|
|
27455
|
-
let content =
|
|
27456
|
+
let content = Fragment3.empty;
|
|
27456
27457
|
let mergedPos;
|
|
27457
27458
|
let mergedCell;
|
|
27458
27459
|
for (let row = rect.top; row < rect.bottom; row++) {
|
|
@@ -27833,14 +27834,14 @@ function ensureRectangular(schema, rows) {
|
|
|
27833
27834
|
width = Math.max(width, widths[r2]);
|
|
27834
27835
|
for (let r2 = 0; r2 < widths.length; r2++) {
|
|
27835
27836
|
if (r2 >= rows.length)
|
|
27836
|
-
rows.push(
|
|
27837
|
+
rows.push(Fragment3.empty);
|
|
27837
27838
|
if (widths[r2] < width) {
|
|
27838
27839
|
const empty2 = tableNodeTypes(schema).cell.createAndFill();
|
|
27839
27840
|
const cells = [];
|
|
27840
27841
|
for (let i = widths[r2]; i < width; i++) {
|
|
27841
27842
|
cells.push(empty2);
|
|
27842
27843
|
}
|
|
27843
|
-
rows[r2] = rows[r2].append(
|
|
27844
|
+
rows[r2] = rows[r2].append(Fragment3.from(cells));
|
|
27844
27845
|
}
|
|
27845
27846
|
}
|
|
27846
27847
|
return { height: rows.length, width, rows };
|
|
@@ -27872,7 +27873,7 @@ function clipCells({ width, height, rows }, newWidth, newHeight) {
|
|
|
27872
27873
|
for (let j = 1; j < cell.attrs.rowspan; j++)
|
|
27873
27874
|
added[row + j] = (added[row + j] || 0) + cell.attrs.colspan;
|
|
27874
27875
|
}
|
|
27875
|
-
newRows.push(
|
|
27876
|
+
newRows.push(Fragment3.from(cells));
|
|
27876
27877
|
}
|
|
27877
27878
|
rows = newRows;
|
|
27878
27879
|
width = newWidth;
|
|
@@ -27893,7 +27894,7 @@ function clipCells({ width, height, rows }, newWidth, newHeight) {
|
|
|
27893
27894
|
);
|
|
27894
27895
|
cells.push(cell);
|
|
27895
27896
|
}
|
|
27896
|
-
newRows.push(
|
|
27897
|
+
newRows.push(Fragment3.from(cells));
|
|
27897
27898
|
}
|
|
27898
27899
|
rows = newRows;
|
|
27899
27900
|
height = newHeight;
|
|
@@ -27928,7 +27929,7 @@ function growTable(tr2, map2, table, start, width, height, mapFrom) {
|
|
|
27928
27929
|
header ? emptyHead || (emptyHead = types.header_cell.createAndFill()) : empty2 || (empty2 = types.cell.createAndFill())
|
|
27929
27930
|
);
|
|
27930
27931
|
}
|
|
27931
|
-
const emptyRow = types.row.create(null,
|
|
27932
|
+
const emptyRow = types.row.create(null, Fragment3.from(cells)), rows = [];
|
|
27932
27933
|
for (let i = map2.height; i < height; i++)
|
|
27933
27934
|
rows.push(emptyRow);
|
|
27934
27935
|
tr2.insert(tr2.mapping.slice(mapFrom).map(start + table.nodeSize - 2), rows);
|
|
@@ -28137,7 +28138,7 @@ function handlePaste(view, _, slice2) {
|
|
|
28137
28138
|
width: 1,
|
|
28138
28139
|
height: 1,
|
|
28139
28140
|
rows: [
|
|
28140
|
-
|
|
28141
|
+
Fragment3.from(
|
|
28141
28142
|
fitSlice(tableNodeTypes(view.state.schema).cell, slice2)
|
|
28142
28143
|
)
|
|
28143
28144
|
]
|
|
@@ -43427,7 +43428,7 @@ var SlashCommandsExtension = Extension.create({
|
|
|
43427
43428
|
});
|
|
43428
43429
|
var DropdownMenu = DropdownMenuPrimitive.Root;
|
|
43429
43430
|
var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
|
|
43430
|
-
var DropdownMenuSubTrigger =
|
|
43431
|
+
var DropdownMenuSubTrigger = React17.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
43431
43432
|
DropdownMenuPrimitive.SubTrigger,
|
|
43432
43433
|
{
|
|
43433
43434
|
ref,
|
|
@@ -43444,7 +43445,7 @@ var DropdownMenuSubTrigger = React16.forwardRef(({ className, inset, children, .
|
|
|
43444
43445
|
}
|
|
43445
43446
|
));
|
|
43446
43447
|
DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
|
|
43447
|
-
var DropdownMenuSubContent =
|
|
43448
|
+
var DropdownMenuSubContent = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
43448
43449
|
DropdownMenuPrimitive.SubContent,
|
|
43449
43450
|
{
|
|
43450
43451
|
ref,
|
|
@@ -43456,7 +43457,7 @@ var DropdownMenuSubContent = React16.forwardRef(({ className, ...props }, ref) =
|
|
|
43456
43457
|
}
|
|
43457
43458
|
));
|
|
43458
43459
|
DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
|
|
43459
|
-
var DropdownMenuContent =
|
|
43460
|
+
var DropdownMenuContent = React17.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
|
|
43460
43461
|
DropdownMenuPrimitive.Content,
|
|
43461
43462
|
{
|
|
43462
43463
|
ref,
|
|
@@ -43469,7 +43470,7 @@ var DropdownMenuContent = React16.forwardRef(({ className, sideOffset = 4, ...pr
|
|
|
43469
43470
|
}
|
|
43470
43471
|
) }));
|
|
43471
43472
|
DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
|
|
43472
|
-
var DropdownMenuItem =
|
|
43473
|
+
var DropdownMenuItem = React17.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
43473
43474
|
DropdownMenuPrimitive.Item,
|
|
43474
43475
|
{
|
|
43475
43476
|
ref,
|
|
@@ -43482,7 +43483,7 @@ var DropdownMenuItem = React16.forwardRef(({ className, inset, ...props }, ref)
|
|
|
43482
43483
|
}
|
|
43483
43484
|
));
|
|
43484
43485
|
DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
|
|
43485
|
-
var DropdownMenuCheckboxItem =
|
|
43486
|
+
var DropdownMenuCheckboxItem = React17.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
43486
43487
|
DropdownMenuPrimitive.CheckboxItem,
|
|
43487
43488
|
{
|
|
43488
43489
|
ref,
|
|
@@ -43499,7 +43500,7 @@ var DropdownMenuCheckboxItem = React16.forwardRef(({ className, children, checke
|
|
|
43499
43500
|
}
|
|
43500
43501
|
));
|
|
43501
43502
|
DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
|
|
43502
|
-
var DropdownMenuRadioItem =
|
|
43503
|
+
var DropdownMenuRadioItem = React17.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
43503
43504
|
DropdownMenuPrimitive.RadioItem,
|
|
43504
43505
|
{
|
|
43505
43506
|
ref,
|
|
@@ -43515,7 +43516,7 @@ var DropdownMenuRadioItem = React16.forwardRef(({ className, children, ...props
|
|
|
43515
43516
|
}
|
|
43516
43517
|
));
|
|
43517
43518
|
DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
|
|
43518
|
-
var DropdownMenuLabel =
|
|
43519
|
+
var DropdownMenuLabel = React17.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
43519
43520
|
DropdownMenuPrimitive.Label,
|
|
43520
43521
|
{
|
|
43521
43522
|
ref,
|
|
@@ -43528,7 +43529,7 @@ var DropdownMenuLabel = React16.forwardRef(({ className, inset, ...props }, ref)
|
|
|
43528
43529
|
}
|
|
43529
43530
|
));
|
|
43530
43531
|
DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
|
|
43531
|
-
var DropdownMenuSeparator =
|
|
43532
|
+
var DropdownMenuSeparator = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
43532
43533
|
DropdownMenuPrimitive.Separator,
|
|
43533
43534
|
{
|
|
43534
43535
|
ref,
|
|
@@ -43564,7 +43565,7 @@ var tooltipVariants = cva(
|
|
|
43564
43565
|
);
|
|
43565
43566
|
var Tooltip = TooltipPrimitive.Root;
|
|
43566
43567
|
var TooltipTrigger = TooltipPrimitive.Trigger;
|
|
43567
|
-
var TooltipArrow =
|
|
43568
|
+
var TooltipArrow = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
43568
43569
|
TooltipPrimitive.Arrow,
|
|
43569
43570
|
{
|
|
43570
43571
|
ref,
|
|
@@ -43573,7 +43574,7 @@ var TooltipArrow = React16.forwardRef(({ className, ...props }, ref) => /* @__PU
|
|
|
43573
43574
|
}
|
|
43574
43575
|
));
|
|
43575
43576
|
TooltipArrow.displayName = TooltipPrimitive.Arrow.displayName;
|
|
43576
|
-
var TooltipContent =
|
|
43577
|
+
var TooltipContent = React17.forwardRef(({ className, variant, size, showArrow = false, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
43577
43578
|
TooltipPrimitive.Content,
|
|
43578
43579
|
{
|
|
43579
43580
|
ref,
|
|
@@ -43587,7 +43588,7 @@ var TooltipContent = React16.forwardRef(({ className, variant, size, showArrow =
|
|
|
43587
43588
|
}
|
|
43588
43589
|
));
|
|
43589
43590
|
TooltipContent.displayName = TooltipPrimitive.Content.displayName;
|
|
43590
|
-
var SimpleTooltip =
|
|
43591
|
+
var SimpleTooltip = React17.forwardRef(
|
|
43591
43592
|
({
|
|
43592
43593
|
children,
|
|
43593
43594
|
content,
|
|
@@ -43687,7 +43688,7 @@ var popoverContentVariants = cva(
|
|
|
43687
43688
|
);
|
|
43688
43689
|
var Popover = PopoverPrimitive.Root;
|
|
43689
43690
|
var PopoverTrigger = PopoverPrimitive.Trigger;
|
|
43690
|
-
var PopoverContent =
|
|
43691
|
+
var PopoverContent = React17.forwardRef(({
|
|
43691
43692
|
className,
|
|
43692
43693
|
variant,
|
|
43693
43694
|
size,
|
|
@@ -43893,7 +43894,7 @@ var sliderThumbVariants = cva(
|
|
|
43893
43894
|
}
|
|
43894
43895
|
}
|
|
43895
43896
|
);
|
|
43896
|
-
var Slider =
|
|
43897
|
+
var Slider = React17.forwardRef(({
|
|
43897
43898
|
className,
|
|
43898
43899
|
size,
|
|
43899
43900
|
trackVariant,
|
|
@@ -43909,10 +43910,10 @@ var Slider = React16.forwardRef(({
|
|
|
43909
43910
|
disabled,
|
|
43910
43911
|
...props
|
|
43911
43912
|
}, ref) => {
|
|
43912
|
-
const [sliderValue, setSliderValue] =
|
|
43913
|
+
const [sliderValue, setSliderValue] = React17.useState(
|
|
43913
43914
|
value || defaultValue || [0]
|
|
43914
43915
|
);
|
|
43915
|
-
|
|
43916
|
+
React17.useEffect(() => {
|
|
43916
43917
|
if (value !== void 0) {
|
|
43917
43918
|
setSliderValue(value);
|
|
43918
43919
|
}
|
|
@@ -43927,7 +43928,7 @@ var Slider = React16.forwardRef(({
|
|
|
43927
43928
|
const calculateThumbPercent = (value2, min2, max2) => {
|
|
43928
43929
|
return (value2 - min2) / (max2 - min2) * 100;
|
|
43929
43930
|
};
|
|
43930
|
-
const trackRef =
|
|
43931
|
+
const trackRef = React17.useRef(null);
|
|
43931
43932
|
const min = props.min || 0;
|
|
43932
43933
|
const max = props.max || 100;
|
|
43933
43934
|
const step = props.step || 1;
|
|
@@ -44048,7 +44049,7 @@ var Slider = React16.forwardRef(({
|
|
|
44048
44049
|
] });
|
|
44049
44050
|
});
|
|
44050
44051
|
Slider.displayName = "Slider";
|
|
44051
|
-
var ToastViewport =
|
|
44052
|
+
var ToastViewport = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
44052
44053
|
ToastPrimitives.Viewport,
|
|
44053
44054
|
{
|
|
44054
44055
|
ref,
|
|
@@ -44077,7 +44078,7 @@ var toastVariants = cva(
|
|
|
44077
44078
|
}
|
|
44078
44079
|
}
|
|
44079
44080
|
);
|
|
44080
|
-
var Toast =
|
|
44081
|
+
var Toast = React17.forwardRef(({ className, variant, ...props }, ref) => {
|
|
44081
44082
|
return /* @__PURE__ */ jsx(
|
|
44082
44083
|
ToastPrimitives.Root,
|
|
44083
44084
|
{
|
|
@@ -44088,7 +44089,7 @@ var Toast = React16.forwardRef(({ className, variant, ...props }, ref) => {
|
|
|
44088
44089
|
);
|
|
44089
44090
|
});
|
|
44090
44091
|
Toast.displayName = ToastPrimitives.Root.displayName;
|
|
44091
|
-
var ToastAction =
|
|
44092
|
+
var ToastAction = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
44092
44093
|
ToastPrimitives.Action,
|
|
44093
44094
|
{
|
|
44094
44095
|
ref,
|
|
@@ -44100,7 +44101,7 @@ var ToastAction = React16.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
44100
44101
|
}
|
|
44101
44102
|
));
|
|
44102
44103
|
ToastAction.displayName = ToastPrimitives.Action.displayName;
|
|
44103
|
-
var ToastClose =
|
|
44104
|
+
var ToastClose = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
44104
44105
|
ToastPrimitives.Close,
|
|
44105
44106
|
{
|
|
44106
44107
|
ref,
|
|
@@ -44114,7 +44115,7 @@ var ToastClose = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
44114
44115
|
}
|
|
44115
44116
|
));
|
|
44116
44117
|
ToastClose.displayName = ToastPrimitives.Close.displayName;
|
|
44117
|
-
var ToastTitle =
|
|
44118
|
+
var ToastTitle = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
44118
44119
|
ToastPrimitives.Title,
|
|
44119
44120
|
{
|
|
44120
44121
|
ref,
|
|
@@ -44123,7 +44124,7 @@ var ToastTitle = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
44123
44124
|
}
|
|
44124
44125
|
));
|
|
44125
44126
|
ToastTitle.displayName = ToastPrimitives.Title.displayName;
|
|
44126
|
-
var ToastDescription =
|
|
44127
|
+
var ToastDescription = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
44127
44128
|
ToastPrimitives.Description,
|
|
44128
44129
|
{
|
|
44129
44130
|
ref,
|
|
@@ -45668,7 +45669,7 @@ function MemoryEfficientData({
|
|
|
45668
45669
|
position: "absolute",
|
|
45669
45670
|
width: "100%"
|
|
45670
45671
|
},
|
|
45671
|
-
children: visibleData.map((item, index) => /* @__PURE__ */ jsx(
|
|
45672
|
+
children: visibleData.map((item, index) => /* @__PURE__ */ jsx(React17__default.Fragment, { children: renderItem(item, visibleRange.start + index) }, visibleRange.start + index))
|
|
45672
45673
|
}
|
|
45673
45674
|
) })
|
|
45674
45675
|
}
|
|
@@ -45988,7 +45989,7 @@ function SelectableVirtualList({
|
|
|
45988
45989
|
}, [originalRenderItem, selectable, selectedItems, handleItemClick]);
|
|
45989
45990
|
return /* @__PURE__ */ jsx(VirtualList, { ...props, renderItem });
|
|
45990
45991
|
}
|
|
45991
|
-
var SwipeableCard =
|
|
45992
|
+
var SwipeableCard = React17__default.forwardRef(
|
|
45992
45993
|
({
|
|
45993
45994
|
children,
|
|
45994
45995
|
onSwipeLeft,
|
|
@@ -46297,9 +46298,9 @@ function AdvancedChart({
|
|
|
46297
46298
|
animated = true,
|
|
46298
46299
|
responsive = true
|
|
46299
46300
|
}) {
|
|
46300
|
-
const [isFullscreen, setIsFullscreen] =
|
|
46301
|
-
const chartRef =
|
|
46302
|
-
const trend =
|
|
46301
|
+
const [isFullscreen, setIsFullscreen] = React17__default.useState(false);
|
|
46302
|
+
const chartRef = React17__default.useRef(null);
|
|
46303
|
+
const trend = React17__default.useMemo(() => {
|
|
46303
46304
|
if (!data.length || !series.length)
|
|
46304
46305
|
return null;
|
|
46305
46306
|
const firstSeries = series[0];
|
|
@@ -46545,7 +46546,7 @@ function Dashboard({
|
|
|
46545
46546
|
onRefresh,
|
|
46546
46547
|
loading = false
|
|
46547
46548
|
}) {
|
|
46548
|
-
const [refreshing, setRefreshing] =
|
|
46549
|
+
const [refreshing, setRefreshing] = React17__default.useState(false);
|
|
46549
46550
|
const handleRefresh = async () => {
|
|
46550
46551
|
if (onRefresh) {
|
|
46551
46552
|
setRefreshing(true);
|
|
@@ -46835,7 +46836,7 @@ var checkboxVariants = cva(
|
|
|
46835
46836
|
}
|
|
46836
46837
|
}
|
|
46837
46838
|
);
|
|
46838
|
-
var Checkbox =
|
|
46839
|
+
var Checkbox = React17.forwardRef(({
|
|
46839
46840
|
className,
|
|
46840
46841
|
variant,
|
|
46841
46842
|
size,
|
|
@@ -46846,8 +46847,8 @@ var Checkbox = React16.forwardRef(({
|
|
|
46846
46847
|
checked,
|
|
46847
46848
|
...props
|
|
46848
46849
|
}, ref) => {
|
|
46849
|
-
const [isIndeterminate, setIsIndeterminate] =
|
|
46850
|
-
|
|
46850
|
+
const [isIndeterminate, setIsIndeterminate] = React17.useState(indeterminate);
|
|
46851
|
+
React17.useEffect(() => {
|
|
46851
46852
|
setIsIndeterminate(indeterminate);
|
|
46852
46853
|
}, [indeterminate]);
|
|
46853
46854
|
const effectiveChecked = isIndeterminate ? false : checked;
|
|
@@ -46872,7 +46873,7 @@ var Checkbox = React16.forwardRef(({
|
|
|
46872
46873
|
);
|
|
46873
46874
|
});
|
|
46874
46875
|
Checkbox.displayName = CheckboxPrimitive.Root.displayName;
|
|
46875
|
-
var CheckboxGroup =
|
|
46876
|
+
var CheckboxGroup = React17.forwardRef(
|
|
46876
46877
|
({ className, orientation = "vertical", spacing = "1rem", children, ...props }, ref) => {
|
|
46877
46878
|
return /* @__PURE__ */ jsx(
|
|
46878
46879
|
"div",
|
|
@@ -46892,7 +46893,7 @@ var CheckboxGroup = React16.forwardRef(
|
|
|
46892
46893
|
}
|
|
46893
46894
|
);
|
|
46894
46895
|
CheckboxGroup.displayName = "CheckboxGroup";
|
|
46895
|
-
var CheckboxLabel =
|
|
46896
|
+
var CheckboxLabel = React17.forwardRef(
|
|
46896
46897
|
({ className, htmlFor, children, position = "end", disabled = false, ...props }, ref) => {
|
|
46897
46898
|
return /* @__PURE__ */ jsx(
|
|
46898
46899
|
"label",
|
|
@@ -46912,14 +46913,14 @@ var CheckboxLabel = React16.forwardRef(
|
|
|
46912
46913
|
}
|
|
46913
46914
|
);
|
|
46914
46915
|
CheckboxLabel.displayName = "CheckboxLabel";
|
|
46915
|
-
var CheckboxWithLabel =
|
|
46916
|
+
var CheckboxWithLabel = React17.forwardRef(({
|
|
46916
46917
|
id,
|
|
46917
46918
|
label,
|
|
46918
46919
|
labelPosition = "end",
|
|
46919
46920
|
labelClassName,
|
|
46920
46921
|
...checkboxProps
|
|
46921
46922
|
}, ref) => {
|
|
46922
|
-
const generatedId =
|
|
46923
|
+
const generatedId = React17.useId();
|
|
46923
46924
|
const checkboxId = id || generatedId;
|
|
46924
46925
|
return /* @__PURE__ */ jsxs("div", { className: "flex items-center", children: [
|
|
46925
46926
|
labelPosition === "start" && /* @__PURE__ */ jsx(
|
|
@@ -46946,7 +46947,7 @@ var CheckboxWithLabel = React16.forwardRef(({
|
|
|
46946
46947
|
] });
|
|
46947
46948
|
});
|
|
46948
46949
|
CheckboxWithLabel.displayName = "CheckboxWithLabel";
|
|
46949
|
-
var Switch =
|
|
46950
|
+
var Switch = React17.forwardRef(({ className, size = "md", variant = "primary", loading, leftIcon, rightIcon, description, ...props }, ref) => /* @__PURE__ */ jsxs("div", { className: "inline-flex items-center gap-2", children: [
|
|
46950
46951
|
leftIcon && /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: leftIcon }),
|
|
46951
46952
|
/* @__PURE__ */ jsxs(
|
|
46952
46953
|
SwitchPrimitives.Root,
|
|
@@ -48760,7 +48761,7 @@ var OptimizedImage = ({ className, ...props }) => {
|
|
|
48760
48761
|
}
|
|
48761
48762
|
return /* @__PURE__ */ jsx(OptimizedImageInternal, { className, ...props });
|
|
48762
48763
|
};
|
|
48763
|
-
var Tabs =
|
|
48764
|
+
var Tabs = React17.forwardRef(({ vertical = false, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
48764
48765
|
TabsPrimitive.Root,
|
|
48765
48766
|
{
|
|
48766
48767
|
ref,
|
|
@@ -48795,7 +48796,7 @@ var tabsListVariants = cva(
|
|
|
48795
48796
|
}
|
|
48796
48797
|
}
|
|
48797
48798
|
);
|
|
48798
|
-
var TabsList =
|
|
48799
|
+
var TabsList = React17.forwardRef(({ className, variant, orientation, fullWidth, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
48799
48800
|
TabsPrimitive.List,
|
|
48800
48801
|
{
|
|
48801
48802
|
ref,
|
|
@@ -48836,7 +48837,7 @@ var tabsTriggerVariants = cva(
|
|
|
48836
48837
|
}
|
|
48837
48838
|
}
|
|
48838
48839
|
);
|
|
48839
|
-
var TabsTrigger =
|
|
48840
|
+
var TabsTrigger = React17.forwardRef(({
|
|
48840
48841
|
className,
|
|
48841
48842
|
variant,
|
|
48842
48843
|
size,
|
|
@@ -48867,7 +48868,7 @@ var TabsTrigger = React16.forwardRef(({
|
|
|
48867
48868
|
}
|
|
48868
48869
|
));
|
|
48869
48870
|
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
|
|
48870
|
-
var TabsContent =
|
|
48871
|
+
var TabsContent = React17.forwardRef(({ className, animated = false, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
48871
48872
|
TabsPrimitive.Content,
|
|
48872
48873
|
{
|
|
48873
48874
|
ref,
|
|
@@ -49936,7 +49937,7 @@ var enhancedButtonVariants = cva(
|
|
|
49936
49937
|
}
|
|
49937
49938
|
}
|
|
49938
49939
|
);
|
|
49939
|
-
var EnhancedButton =
|
|
49940
|
+
var EnhancedButton = React17__default.forwardRef(
|
|
49940
49941
|
({
|
|
49941
49942
|
className,
|
|
49942
49943
|
variant,
|
|
@@ -50203,7 +50204,7 @@ var EnhancedButton = React16__default.forwardRef(
|
|
|
50203
50204
|
}
|
|
50204
50205
|
);
|
|
50205
50206
|
EnhancedButton.displayName = "EnhancedButton";
|
|
50206
|
-
var EnhancedCard =
|
|
50207
|
+
var EnhancedCard = React17__default.forwardRef(
|
|
50207
50208
|
({
|
|
50208
50209
|
className,
|
|
50209
50210
|
children,
|
|
@@ -50368,7 +50369,7 @@ var EnhancedCard = React16__default.forwardRef(
|
|
|
50368
50369
|
}
|
|
50369
50370
|
);
|
|
50370
50371
|
EnhancedCard.displayName = "EnhancedCard";
|
|
50371
|
-
var EnhancedCardHeader =
|
|
50372
|
+
var EnhancedCardHeader = React17__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
50372
50373
|
motion.div,
|
|
50373
50374
|
{
|
|
50374
50375
|
ref,
|
|
@@ -50380,7 +50381,7 @@ var EnhancedCardHeader = React16__default.forwardRef(({ className, ...props }, r
|
|
|
50380
50381
|
}
|
|
50381
50382
|
));
|
|
50382
50383
|
EnhancedCardHeader.displayName = "EnhancedCardHeader";
|
|
50383
|
-
var EnhancedCardTitle =
|
|
50384
|
+
var EnhancedCardTitle = React17__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
50384
50385
|
motion.h3,
|
|
50385
50386
|
{
|
|
50386
50387
|
ref,
|
|
@@ -50395,7 +50396,7 @@ var EnhancedCardTitle = React16__default.forwardRef(({ className, ...props }, re
|
|
|
50395
50396
|
}
|
|
50396
50397
|
));
|
|
50397
50398
|
EnhancedCardTitle.displayName = "EnhancedCardTitle";
|
|
50398
|
-
var EnhancedCardDescription =
|
|
50399
|
+
var EnhancedCardDescription = React17__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
50399
50400
|
motion.p,
|
|
50400
50401
|
{
|
|
50401
50402
|
ref,
|
|
@@ -50407,7 +50408,7 @@ var EnhancedCardDescription = React16__default.forwardRef(({ className, ...props
|
|
|
50407
50408
|
}
|
|
50408
50409
|
));
|
|
50409
50410
|
EnhancedCardDescription.displayName = "EnhancedCardDescription";
|
|
50410
|
-
var EnhancedCardContent =
|
|
50411
|
+
var EnhancedCardContent = React17__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
50411
50412
|
motion.div,
|
|
50412
50413
|
{
|
|
50413
50414
|
ref,
|
|
@@ -50419,7 +50420,7 @@ var EnhancedCardContent = React16__default.forwardRef(({ className, ...props },
|
|
|
50419
50420
|
}
|
|
50420
50421
|
));
|
|
50421
50422
|
EnhancedCardContent.displayName = "EnhancedCardContent";
|
|
50422
|
-
var EnhancedCardFooter =
|
|
50423
|
+
var EnhancedCardFooter = React17__default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
50423
50424
|
motion.div,
|
|
50424
50425
|
{
|
|
50425
50426
|
ref,
|
|
@@ -50435,7 +50436,7 @@ var Dialog2 = DialogPrimitive2.Root;
|
|
|
50435
50436
|
var DialogTrigger2 = DialogPrimitive2.Trigger;
|
|
50436
50437
|
var DialogPortal2 = DialogPrimitive2.Portal;
|
|
50437
50438
|
var DialogClose = DialogPrimitive2.Close;
|
|
50438
|
-
var EnhancedDialogOverlay =
|
|
50439
|
+
var EnhancedDialogOverlay = React17.forwardRef(({ className, blur: blur2 = "md", variant = "default", ...props }, ref) => {
|
|
50439
50440
|
const blurClasses = {
|
|
50440
50441
|
none: "",
|
|
50441
50442
|
sm: "backdrop-blur-sm",
|
|
@@ -50464,7 +50465,7 @@ var EnhancedDialogOverlay = React16.forwardRef(({ className, blur: blur2 = "md",
|
|
|
50464
50465
|
);
|
|
50465
50466
|
});
|
|
50466
50467
|
EnhancedDialogOverlay.displayName = DialogPrimitive2.Overlay.displayName;
|
|
50467
|
-
var EnhancedDialogContent =
|
|
50468
|
+
var EnhancedDialogContent = React17.forwardRef(({
|
|
50468
50469
|
className,
|
|
50469
50470
|
children,
|
|
50470
50471
|
animation = "scale",
|
|
@@ -50606,7 +50607,7 @@ var EnhancedDialogFooter = ({
|
|
|
50606
50607
|
}
|
|
50607
50608
|
);
|
|
50608
50609
|
EnhancedDialogFooter.displayName = "EnhancedDialogFooter";
|
|
50609
|
-
var EnhancedDialogTitle =
|
|
50610
|
+
var EnhancedDialogTitle = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
50610
50611
|
DialogPrimitive2.Title,
|
|
50611
50612
|
{
|
|
50612
50613
|
ref,
|
|
@@ -50618,7 +50619,7 @@ var EnhancedDialogTitle = React16.forwardRef(({ className, ...props }, ref) => /
|
|
|
50618
50619
|
}
|
|
50619
50620
|
));
|
|
50620
50621
|
EnhancedDialogTitle.displayName = DialogPrimitive2.Title.displayName;
|
|
50621
|
-
var EnhancedDialogDescription =
|
|
50622
|
+
var EnhancedDialogDescription = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
50622
50623
|
DialogPrimitive2.Description,
|
|
50623
50624
|
{
|
|
50624
50625
|
ref,
|
|
@@ -50628,4 +50629,4 @@ var EnhancedDialogDescription = React16.forwardRef(({ className, ...props }, ref
|
|
|
50628
50629
|
));
|
|
50629
50630
|
EnhancedDialogDescription.displayName = DialogPrimitive2.Description.displayName;
|
|
50630
50631
|
|
|
50631
|
-
export { AdvancedChart, AdvancedForms, AnimatedButton, Calendar2 as Calendar, ColorPicker2 as ColorPicker, Dashboard, DraggableList, enhanced_exports as Enhanced, ErrorBoundary, FloatingActionButton, GitHubStars, HealthCheck, HoverCard3D, Kanban, LazyComponent, LazyImage, LazyList, MagneticButton, MemoryAnalytics, MemoryEfficientData, OptimizedImage, PerformanceDebugger, PerformanceMonitor, PinchZoom, RichTextEditor, SelectableVirtualList, SpotlightCard, SwipeableCard, Timeline, VirtualList, animatedButtonVariants, useStreamingData, useVirtualList };
|
|
50632
|
+
export { AdvancedChart, AdvancedForms, AnimatedButton, Calendar2 as Calendar, Calendar2 as CalendarCore, ColorPicker2 as ColorPicker, Dashboard, DraggableList, enhanced_exports as Enhanced, ErrorBoundary, FloatingActionButton, GitHubStars, HealthCheck, HoverCard3D, Kanban, LazyComponent, LazyImage, LazyList, MagneticButton, MemoryAnalytics, MemoryEfficientData, OptimizedImage, PerformanceDebugger, PerformanceMonitor, PinchZoom, RichTextEditor, SelectableVirtualList, SpotlightCard, SwipeableCard, Timeline, VirtualList, animatedButtonVariants, useStreamingData, useVirtualList };
|