@moontra/moonui-pro 2.21.0 → 2.21.1
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.d.ts +38 -13
- package/dist/index.mjs +687 -235
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -4,7 +4,7 @@ import { twMerge } from 'tailwind-merge';
|
|
|
4
4
|
import * as React67 from 'react';
|
|
5
5
|
import React67__default, { useState, useMemo, useCallback, useRef, useEffect, forwardRef, createContext, useContext, useLayoutEffect, useDebugValue, Component } from 'react';
|
|
6
6
|
import * as AccordionPrimitive from '@radix-ui/react-accordion';
|
|
7
|
-
import { Loader2, Play, ExternalLink, ChevronDown, Info, AlertCircle, AlertTriangle, Check, X, MoreHorizontal, Minus, Clock, ChevronUp, Search, Mic, MicOff, Settings, RefreshCw, Zap, ChevronRight, Crown, Circle, ChevronLeft, Plus, Lock, Sparkles, ZoomOut, ZoomIn, Pause, VolumeX, Volume2, Download, Maximize2, Filter, Image as Image$1, Video, RotateCw, Minimize2, Phone, Globe, Upload, Eye, CheckCircle2, RotateCcw, Copy, Share, Trash2, CreditCard, XCircle, HelpCircle,
|
|
7
|
+
import { Loader2, Play, ExternalLink, ChevronDown, Info, AlertCircle, AlertTriangle, Check, X, MoreHorizontal, Minus, Clock, ChevronUp, Search, Mic, MicOff, Settings, RefreshCw, Zap, ChevronRight, Crown, Circle, ChevronLeft, Plus, Lock, Sparkles, ZoomOut, ZoomIn, Pause, VolumeX, Volume2, Download, Maximize2, Filter, Image as Image$1, Video, RotateCw, Minimize2, Phone, Globe, Upload, Eye, CheckCircle2, RotateCcw, Copy, Share, Trash2, CreditCard, XCircle, HelpCircle, 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, Table as Table$1, Undo, Redo, Edit, Wand2, Maximize, FileText, Briefcase, MessageSquare, Heart, GraduationCap, Languages, Lightbulb, BarChart3, Music, Archive, File, FileSpreadsheet, FileJson, FileDown, ArrowUp, ArrowDown, ArrowUpDown, ChevronsLeft, ChevronsRight, CheckCircle, Star, Menu, Calendar as Calendar$1, Repeat, MapPin, Users, User, Move, EyeOff, Timer, Square, Cpu, Target, GitBranch, ArrowRight, MoreVertical, Trash, TrendingUp, MessageCircle, Paperclip, Printer, TrendingDown, Bell, CheckCheck, Settings2, LogOut, Edit3, LayoutGrid, Share2, Save, Github, Activity, Server, Monitor, MemoryStick, HardDrive, Network, Columns, Pin, Sun, Moon, Send, Tag, Flag, CalendarIcon, DollarSign, Trophy, Grip, Unlock, Map as Map$1, GitFork, Package, BellOff, ArrowUpRight, ArrowDownRight } from 'lucide-react';
|
|
8
8
|
import { cva } from 'class-variance-authority';
|
|
9
9
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
10
10
|
import * as AvatarPrimitive from '@radix-ui/react-avatar';
|
|
@@ -1751,7 +1751,7 @@ function styleInject(css2, { insertAt } = {}) {
|
|
|
1751
1751
|
}
|
|
1752
1752
|
|
|
1753
1753
|
// src/styles/index.css
|
|
1754
|
-
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.\\!container {\n width: 100% !important;\n margin-right: auto !important;\n margin-left: auto !important;\n padding-right: 1rem !important;\n padding-left: 1rem !important;\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 !important;\n padding-right: 2rem !important;\n padding-left: 2rem !important;\n }\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 !important;\n }\n .container {\n max-width: 768px;\n }\n}\n@media (min-width: 1024px) {\n .\\!container {\n max-width: 1024px !important;\n padding-right: 4rem !important;\n padding-left: 4rem !important;\n }\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 !important;\n padding-right: 5rem !important;\n padding-left: 5rem !important;\n }\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 !important;\n padding-right: 6rem !important;\n padding-left: 6rem !important;\n }\n .container {\n max-width: 1536px;\n padding-right: 6rem;\n padding-left: 6rem;\n }\n}\n.dark .moonui-toggle-base {\n color: hsl(var(--foreground));\n}\n.dark .moonui-toggle-default:hover {\n background-color: hsl(var(--muted));\n color: hsl(var(--muted-foreground));\n}\n.dark .moonui-toggle-default[data-state=on] {\n background-color: hsl(var(--accent));\n color: hsl(var(--accent-foreground));\n}\n.dark .moonui-toggle-secondary:hover {\n background-color: hsl(var(--accent) / 0.2);\n color: hsl(var(--accent-foreground));\n}\n.dark .moonui-toggle-secondary[data-state=on] {\n background-color: hsl(var(--accent));\n color: hsl(var(--accent-foreground));\n}\n.moonui-data-table-header {\n border-bottom-width: 1px;\n background-color: hsl(var(--muted) / 0.5);\n}\n.moonui-data-table-row {\n border-bottom-width: 1px;\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.moonui-data-table-row:hover {\n background-color: hsl(var(--muted) / 0.5);\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.invisible {\n visibility: hidden;\n}\n.collapse {\n visibility: collapse;\n}\n.static {\n position: static;\n}\n.\\!fixed {\n position: fixed !important;\n}\n.fixed {\n position: fixed;\n}\n.absolute {\n position: absolute;\n}\n.relative {\n position: relative;\n}\n.\\!sticky {\n position: sticky !important;\n}\n.sticky {\n position: sticky;\n}\n.\\!inset-4 {\n inset: 1rem !important;\n}\n.inset-0 {\n inset: 0px;\n}\n.inset-4 {\n inset: 1rem;\n}\n.inset-x-0 {\n left: 0px;\n right: 0px;\n}\n.inset-y-0 {\n top: 0px;\n bottom: 0px;\n}\n.-left-12 {\n left: -3rem;\n}\n.-right-1 {\n right: -0.25rem;\n}\n.-top-1 {\n top: -0.25rem;\n}\n.-top-3 {\n top: -0.75rem;\n}\n.-top-8 {\n top: -2rem;\n}\n.bottom-0 {\n bottom: 0px;\n}\n.bottom-2 {\n bottom: 0.5rem;\n}\n.bottom-20 {\n bottom: 5rem;\n}\n.bottom-3 {\n bottom: 0.75rem;\n}\n.bottom-4 {\n bottom: 1rem;\n}\n.bottom-8 {\n bottom: 2rem;\n}\n.bottom-\\[5\\%\\] {\n bottom: 5%;\n}\n.left-0 {\n left: 0px;\n}\n.left-1\\/2 {\n left: 50%;\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-6 {\n left: 1.5rem;\n}\n.left-7 {\n left: 1.75rem;\n}\n.left-\\[50\\%\\] {\n left: 50%;\n}\n.right-0 {\n right: 0px;\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-12 {\n top: 3rem;\n}\n.top-2 {\n top: 0.5rem;\n}\n.top-2\\.5 {\n top: 0.625rem;\n}\n.top-3 {\n top: 0.75rem;\n}\n.top-4 {\n top: 1rem;\n}\n.top-8 {\n top: 2rem;\n}\n.top-\\[1px\\] {\n top: 1px;\n}\n.top-\\[5\\%\\] {\n top: 5%;\n}\n.top-\\[50\\%\\] {\n top: 50%;\n}\n.top-\\[60\\%\\] {\n top: 60%;\n}\n.top-auto {\n top: auto;\n}\n.top-full {\n top: 100%;\n}\n.isolate {\n isolation: isolate;\n}\n.\\!z-50 {\n z-index: 50 !important;\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-20 {\n z-index: 20;\n}\n.z-30 {\n z-index: 30;\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.z-\\[1\\] {\n z-index: 1;\n}\n.z-\\[9999\\] {\n z-index: 9999;\n}\n.col-span-full {\n grid-column: 1 / -1;\n}\n.float-left {\n float: left;\n}\n.clear-both {\n clear: both;\n}\n.-mx-1 {\n margin-left: -0.25rem;\n margin-right: -0.25rem;\n}\n.-mx-2 {\n margin-left: -0.5rem;\n margin-right: -0.5rem;\n}\n.-mx-4 {\n margin-left: -1rem;\n margin-right: -1rem;\n}\n.-mx-6 {\n margin-left: -1.5rem;\n margin-right: -1.5rem;\n}\n.-mx-px {\n margin-left: -1px;\n margin-right: -1px;\n}\n.mx-1 {\n margin-left: 0.25rem;\n margin-right: 0.25rem;\n}\n.mx-10 {\n margin-left: 2.5rem;\n margin-right: 2.5rem;\n}\n.mx-4 {\n margin-left: 1rem;\n margin-right: 1rem;\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.my-6 {\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n}\n.-mb-4 {\n margin-bottom: -1rem;\n}\n.-ml-0\\.5 {\n margin-left: -0.125rem;\n}\n.-mr-1 {\n margin-right: -0.25rem;\n}\n.-mr-2 {\n margin-right: -0.5rem;\n}\n.-mt-4 {\n margin-top: -1rem;\n}\n.-mt-px {\n margin-top: -1px;\n}\n.mb-1 {\n margin-bottom: 0.25rem;\n}\n.mb-12 {\n margin-bottom: 3rem;\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-6 {\n margin-bottom: 1.5rem;\n}\n.mb-8 {\n margin-bottom: 2rem;\n}\n.ml-1 {\n margin-left: 0.25rem;\n}\n.ml-16 {\n margin-left: 4rem;\n}\n.ml-2 {\n margin-left: 0.5rem;\n}\n.ml-3 {\n margin-left: 0.75rem;\n}\n.ml-4 {\n margin-left: 1rem;\n}\n.ml-6 {\n margin-left: 1.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-3 {\n margin-right: 0.75rem;\n}\n.mr-4 {\n margin-right: 1rem;\n}\n.mr-8 {\n margin-right: 2rem;\n}\n.mr-auto {\n margin-right: auto;\n}\n.mt-0 {\n margin-top: 0px;\n}\n.mt-0\\.5 {\n margin-top: 0.125rem;\n}\n.mt-1 {\n margin-top: 0.25rem;\n}\n.mt-1\\.5 {\n margin-top: 0.375rem;\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.mt-8 {\n margin-top: 2rem;\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.contents {\n display: contents;\n}\n.hidden {\n display: none;\n}\n.aspect-\\[3\\/4\\] {\n aspect-ratio: 3/4;\n}\n.aspect-square {\n aspect-ratio: 1 / 1;\n}\n.aspect-video {\n aspect-ratio: 16 / 9;\n}\n.\\!h-auto {\n height: auto !important;\n}\n.h-0 {\n height: 0px;\n}\n.h-0\\.5 {\n height: 0.125rem;\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-2\\.5 {\n height: 0.625rem;\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-36 {\n height: 9rem;\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-64 {\n height: 16rem;\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-\\[30vh\\] {\n height: 30vh;\n}\n.h-\\[400px\\] {\n height: 400px;\n}\n.h-\\[50vh\\] {\n height: 50vh;\n}\n.h-\\[60\\%\\] {\n height: 60%;\n}\n.h-\\[600px\\] {\n height: 600px;\n}\n.h-\\[65\\%\\] {\n height: 65%;\n}\n.h-\\[70vh\\] {\n height: 70vh;\n}\n.h-\\[95vh\\] {\n height: 95vh;\n}\n.h-\\[calc\\(100vh-200px\\)\\] {\n height: calc(100vh - 200px);\n}\n.h-\\[calc\\(100vh-300px\\)\\] {\n height: calc(100vh - 300px);\n}\n.h-\\[var\\(--radix-navigation-menu-viewport-height\\)\\] {\n height: var(--radix-navigation-menu-viewport-height);\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-full {\n height: 100%;\n}\n.h-px {\n height: 1px;\n}\n.h-screen {\n height: 100vh;\n}\n.max-h-32 {\n max-height: 8rem;\n}\n.max-h-64 {\n max-height: 16rem;\n}\n.max-h-96 {\n max-height: 24rem;\n}\n.max-h-\\[300px\\] {\n max-height: 300px;\n}\n.max-h-\\[400px\\] {\n max-height: 400px;\n}\n.max-h-\\[500px\\] {\n max-height: 500px;\n}\n.max-h-\\[600px\\] {\n max-height: 600px;\n}\n.max-h-\\[60vh\\] {\n max-height: 60vh;\n}\n.max-h-\\[700px\\] {\n max-height: 700px;\n}\n.max-h-\\[80vh\\] {\n max-height: 80vh;\n}\n.max-h-\\[90vh\\] {\n max-height: 90vh;\n}\n.max-h-\\[95vh\\] {\n max-height: 95vh;\n}\n.max-h-\\[calc\\(90vh-200px\\)\\] {\n max-height: calc(90vh - 200px);\n}\n.max-h-full {\n max-height: 100%;\n}\n.max-h-none {\n max-height: none;\n}\n.max-h-screen {\n max-height: 100vh;\n}\n.min-h-0 {\n min-height: 0px;\n}\n.min-h-10 {\n min-height: 2.5rem;\n}\n.min-h-11 {\n min-height: 2.75rem;\n}\n.min-h-12 {\n min-height: 3rem;\n}\n.min-h-7 {\n min-height: 1.75rem;\n}\n.min-h-8 {\n min-height: 2rem;\n}\n.min-h-9 {\n min-height: 2.25rem;\n}\n.min-h-\\[100px\\] {\n min-height: 100px;\n}\n.min-h-\\[120px\\] {\n min-height: 120px;\n}\n.min-h-\\[2\\.5rem\\] {\n min-height: 2.5rem;\n}\n.min-h-\\[200px\\] {\n min-height: 200px;\n}\n.min-h-\\[20px\\] {\n min-height: 20px;\n}\n.min-h-\\[3\\.5rem\\] {\n min-height: 3.5rem;\n}\n.min-h-\\[300px\\] {\n min-height: 300px;\n}\n.min-h-\\[3rem\\] {\n min-height: 3rem;\n}\n.min-h-\\[4\\.5rem\\] {\n min-height: 4.5rem;\n}\n.min-h-\\[400px\\] {\n min-height: 400px;\n}\n.min-h-\\[40px\\] {\n min-height: 40px;\n}\n.min-h-\\[4rem\\] {\n min-height: 4rem;\n}\n.min-h-\\[500px\\] {\n min-height: 500px;\n}\n.min-h-\\[50px\\] {\n min-height: 50px;\n}\n.min-h-\\[600px\\] {\n min-height: 600px;\n}\n.min-h-\\[60px\\] {\n min-height: 60px;\n}\n.min-h-\\[80px\\] {\n min-height: 80px;\n}\n.min-h-full {\n min-height: 100%;\n}\n.min-h-screen {\n min-height: 100vh;\n}\n.\\!w-auto {\n width: auto !important;\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\\.5 {\n width: 0.375rem;\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\\.5 {\n width: 0.625rem;\n}\n.w-2\\/3 {\n width: 66.666667%;\n}\n.w-20 {\n width: 5rem;\n}\n.w-24 {\n width: 6rem;\n}\n.w-28 {\n width: 7rem;\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-32 {\n width: 8rem;\n}\n.w-36 {\n width: 9rem;\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-7 {\n width: 1.75rem;\n}\n.w-72 {\n width: 18rem;\n}\n.w-8 {\n width: 2rem;\n}\n.w-80 {\n width: 20rem;\n}\n.w-9 {\n width: 2.25rem;\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-\\[140px\\] {\n width: 140px;\n}\n.w-\\[150px\\] {\n width: 150px;\n}\n.w-\\[1px\\] {\n width: 1px;\n}\n.w-\\[280px\\] {\n width: 280px;\n}\n.w-\\[2px\\] {\n width: 2px;\n}\n.w-\\[380px\\] {\n width: 380px;\n}\n.w-\\[400px\\] {\n width: 400px;\n}\n.w-\\[480px\\] {\n width: 480px;\n}\n.w-\\[60\\%\\] {\n width: 60%;\n}\n.w-\\[65\\%\\] {\n width: 65%;\n}\n.w-\\[70px\\] {\n width: 70px;\n}\n.w-\\[90vw\\] {\n width: 90vw;\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-max {\n width: -moz-max-content;\n width: max-content;\n}\n.w-px {\n width: 1px;\n}\n.w-screen {\n width: 100vw;\n}\n.min-w-0 {\n min-width: 0px;\n}\n.min-w-32 {\n min-width: 8rem;\n}\n.min-w-\\[120px\\] {\n min-width: 120px;\n}\n.min-w-\\[12rem\\] {\n min-width: 12rem;\n}\n.min-w-\\[140px\\] {\n min-width: 140px;\n}\n.min-w-\\[16rem\\] {\n min-width: 16rem;\n}\n.min-w-\\[1rem\\] {\n min-width: 1rem;\n}\n.min-w-\\[200px\\] {\n min-width: 200px;\n}\n.min-w-\\[20rem\\] {\n min-width: 20rem;\n}\n.min-w-\\[300px\\] {\n min-width: 300px;\n}\n.min-w-\\[4px\\] {\n min-width: 4px;\n}\n.min-w-\\[6rem\\] {\n min-width: 6rem;\n}\n.min-w-\\[8rem\\] {\n min-width: 8rem;\n}\n.min-w-\\[95vw\\] {\n min-width: 95vw;\n}\n.min-w-\\[var\\(--radix-select-trigger-width\\)\\] {\n min-width: var(--radix-select-trigger-width);\n}\n.min-w-fit {\n min-width: -moz-fit-content;\n min-width: fit-content;\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-\\[1024px\\] {\n max-width: 1024px;\n}\n.max-w-\\[1280px\\] {\n max-width: 1280px;\n}\n.max-w-\\[1536px\\] {\n max-width: 1536px;\n}\n.max-w-\\[20px\\] {\n max-width: 20px;\n}\n.max-w-\\[280px\\] {\n max-width: 280px;\n}\n.max-w-\\[360px\\] {\n max-width: 360px;\n}\n.max-w-\\[480px\\] {\n max-width: 480px;\n}\n.max-w-\\[520px\\] {\n max-width: 520px;\n}\n.max-w-\\[680px\\] {\n max-width: 680px;\n}\n.max-w-\\[80vw\\] {\n max-width: 80vw;\n}\n.max-w-\\[860px\\] {\n max-width: 860px;\n}\n.max-w-\\[90vw\\] {\n max-width: 90vw;\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-max {\n max-width: -moz-max-content;\n max-width: max-content;\n}\n.max-w-md {\n max-width: 28rem;\n}\n.max-w-none {\n max-width: none;\n}\n.max-w-screen-2xl {\n max-width: 1536px;\n}\n.max-w-screen-lg {\n max-width: 1024px;\n}\n.max-w-screen-md {\n max-width: 768px;\n}\n.max-w-screen-sm {\n max-width: 640px;\n}\n.max-w-screen-xl {\n max-width: 1280px;\n}\n.max-w-sm {\n max-width: 24rem;\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.flex-grow {\n flex-grow: 1;\n}\n.grow {\n flex-grow: 1;\n}\n.caption-bottom {\n caption-side: bottom;\n}\n.-translate-x-1\\/2 {\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-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-x-full {\n --tw-translate-x: -100%;\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-y-full {\n --tw-translate-y: -100%;\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-0 {\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.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-90 {\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.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.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-45 {\n --tw-rotate: 45deg;\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-110 {\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.scale-\\[1\\.02\\] {\n --tw-scale-x: 1.02;\n --tw-scale-y: 1.02;\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-x-150 {\n --tw-scale-x: 1.5;\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 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.animate-bounce {\n animation: bounce 1s infinite;\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.touch-pan-y {\n --tw-pan-y: pan-y;\n touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom);\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.snap-x {\n scroll-snap-type: x var(--tw-scroll-snap-strictness);\n}\n.snap-mandatory {\n --tw-scroll-snap-strictness: mandatory;\n}\n.list-none {\n list-style-type: none;\n}\n.columns-1 {\n -moz-columns: 1;\n columns: 1;\n}\n.break-inside-avoid {\n -moz-column-break-inside: avoid;\n break-inside: avoid;\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-row-reverse {\n flex-direction: row-reverse;\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-0 {\n gap: 0px;\n}\n.gap-0\\.5 {\n gap: 0.125rem;\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.gap-px {\n gap: 1px;\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-0\\.5 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.125rem * 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-2\\.5 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.625rem * 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.space-y-8 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(2rem * var(--tw-space-y-reverse));\n}\n.overflow-auto {\n overflow: auto;\n}\n.overflow-hidden {\n overflow: hidden;\n}\n.overflow-visible {\n overflow: visible;\n}\n.overflow-x-auto {\n overflow-x: auto;\n}\n.overflow-y-auto {\n overflow-y: auto;\n}\n.overflow-x-hidden {\n overflow-x: hidden;\n}\n.overscroll-contain {\n overscroll-behavior: contain;\n}\n.scroll-smooth {\n scroll-behavior: smooth;\n}\n.truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.whitespace-nowrap {\n white-space: nowrap;\n}\n.whitespace-pre-wrap {\n white-space: pre-wrap;\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-b-\\[20px\\] {\n border-bottom-right-radius: 20px;\n border-bottom-left-radius: 20px;\n}\n.rounded-b-lg {\n border-bottom-right-radius: var(--radius);\n border-bottom-left-radius: var(--radius);\n}\n.rounded-l-\\[20px\\] {\n border-top-left-radius: 20px;\n border-bottom-left-radius: 20px;\n}\n.rounded-l-none {\n border-top-left-radius: 0px;\n border-bottom-left-radius: 0px;\n}\n.rounded-r-\\[20px\\] {\n border-top-right-radius: 20px;\n border-bottom-right-radius: 20px;\n}\n.rounded-r-none {\n border-top-right-radius: 0px;\n border-bottom-right-radius: 0px;\n}\n.rounded-t {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n.rounded-t-\\[20px\\] {\n border-top-left-radius: 20px;\n border-top-right-radius: 20px;\n}\n.rounded-t-lg {\n border-top-left-radius: var(--radius);\n border-top-right-radius: var(--radius);\n}\n.rounded-t-sm {\n border-top-left-radius: calc(var(--radius) - 4px);\n border-top-right-radius: calc(var(--radius) - 4px);\n}\n.rounded-tl-sm {\n border-top-left-radius: calc(var(--radius) - 4px);\n}\n.border {\n border-width: 1px;\n}\n.border-0 {\n border-width: 0px;\n}\n.border-2 {\n border-width: 2px;\n}\n.border-4 {\n border-width: 4px;\n}\n.border-x {\n border-left-width: 1px;\n border-right-width: 1px;\n}\n.border-b {\n border-bottom-width: 1px;\n}\n.border-b-0 {\n border-bottom-width: 0px;\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 {\n border-right-width: 1px;\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\\/30 {\n border-color: rgb(59 130 246 / 0.3);\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\\/40 {\n border-color: hsl(var(--border) / 0.4);\n}\n.border-border\\/50 {\n border-color: hsl(var(--border) / 0.5);\n}\n.border-border\\/60 {\n border-color: hsl(var(--border) / 0.6);\n}\n.border-current {\n border-color: currentColor;\n}\n.border-destructive {\n --tw-border-opacity: 1;\n border-color: hsl(var(--destructive) / var(--tw-border-opacity, 1));\n}\n.border-destructive\\/20 {\n border-color: hsl(var(--destructive) / 0.2);\n}\n.border-destructive\\/30 {\n border-color: hsl(var(--destructive) / 0.3);\n}\n.border-destructive\\/50 {\n border-color: hsl(var(--destructive) / 0.5);\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-500 {\n --tw-border-opacity: 1;\n border-color: rgb(107 114 128 / 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-400 {\n --tw-border-opacity: 1;\n border-color: rgb(74 222 128 / var(--tw-border-opacity, 1));\n}\n.border-green-500\\/20 {\n border-color: rgb(34 197 94 / 0.2);\n}\n.border-green-600 {\n --tw-border-opacity: 1;\n border-color: rgb(22 163 74 / var(--tw-border-opacity, 1));\n}\n.border-input {\n --tw-border-opacity: 1;\n border-color: hsl(var(--input) / var(--tw-border-opacity, 1));\n}\n.border-muted {\n --tw-border-opacity: 1;\n border-color: hsl(var(--muted) / var(--tw-border-opacity, 1));\n}\n.border-muted-foreground {\n --tw-border-opacity: 1;\n border-color: hsl(var(--muted-foreground) / 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-muted-foreground\\/50 {\n border-color: hsl(var(--muted-foreground) / 0.5);\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\\/30 {\n border-color: hsl(var(--primary) / 0.3);\n}\n.border-primary\\/50 {\n border-color: hsl(var(--primary) / 0.5);\n}\n.border-purple-200 {\n --tw-border-opacity: 1;\n border-color: rgb(233 213 255 / var(--tw-border-opacity, 1));\n}\n.border-purple-600 {\n --tw-border-opacity: 1;\n border-color: rgb(147 51 234 / var(--tw-border-opacity, 1));\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-red-500\\/20 {\n border-color: rgb(239 68 68 / 0.2);\n}\n.border-red-600 {\n --tw-border-opacity: 1;\n border-color: rgb(220 38 38 / 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-secondary\\/20 {\n border-color: hsl(var(--secondary) / 0.2);\n}\n.border-slate-600 {\n --tw-border-opacity: 1;\n border-color: rgb(71 85 105 / 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\\/30 {\n border-color: hsl(var(--success) / 0.3);\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-warning\\/30 {\n border-color: hsl(var(--warning) / 0.3);\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\\/10 {\n border-color: rgb(255 255 255 / 0.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\\/20 {\n border-color: rgb(234 179 8 / 0.2);\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-l-muted-foreground {\n --tw-border-opacity: 1;\n border-left-color: hsl(var(--muted-foreground) / var(--tw-border-opacity, 1));\n}\n.border-l-red-500 {\n --tw-border-opacity: 1;\n border-left-color: rgb(239 68 68 / var(--tw-border-opacity, 1));\n}\n.border-l-transparent {\n border-left-color: transparent;\n}\n.border-l-yellow-500 {\n --tw-border-opacity: 1;\n border-left-color: rgb(234 179 8 / 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-accent\\/30 {\n background-color: hsl(var(--accent) / 0.3);\n}\n.bg-amber-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));\n}\n.bg-background {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--background) / var(--tw-bg-opacity, 1));\n}\n.bg-background\\/50 {\n background-color: hsl(var(--background) / 0.5);\n}\n.bg-background\\/60 {\n background-color: hsl(var(--background) / 0.6);\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-background\\/95 {\n background-color: hsl(var(--background) / 0.95);\n}\n.bg-black {\n --tw-bg-opacity: 1;\n background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));\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\\/50 {\n background-color: rgb(0 0 0 / 0.5);\n}\n.bg-black\\/60 {\n background-color: rgb(0 0 0 / 0.6);\n}\n.bg-black\\/70 {\n background-color: rgb(0 0 0 / 0.7);\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-black\\/95 {\n background-color: rgb(0 0 0 / 0.95);\n}\n.bg-blue-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));\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-blue-500\\/10 {\n background-color: rgb(59 130 246 / 0.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-card\\/50 {\n background-color: hsl(var(--card) / 0.5);\n}\n.bg-destructive {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--destructive) / var(--tw-bg-opacity, 1));\n}\n.bg-destructive\\/10 {\n background-color: hsl(var(--destructive) / 0.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-500\\/10 {\n background-color: rgb(34 197 94 / 0.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-indigo-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(99 102 241 / 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-foreground {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--muted-foreground) / var(--tw-bg-opacity, 1));\n}\n.bg-muted-foreground\\/20 {\n background-color: hsl(var(--muted-foreground) / 0.2);\n}\n.bg-muted-foreground\\/40 {\n background-color: hsl(var(--muted-foreground) / 0.4);\n}\n.bg-muted\\/10 {\n background-color: hsl(var(--muted) / 0.1);\n}\n.bg-muted\\/20 {\n background-color: hsl(var(--muted) / 0.2);\n}\n.bg-muted\\/30 {\n background-color: hsl(var(--muted) / 0.3);\n}\n.bg-muted\\/5 {\n background-color: hsl(var(--muted) / 0.05);\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-pink-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(236 72 153 / 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-foreground\\/20 {\n background-color: hsl(var(--primary-foreground) / 0.2);\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\\/40 {\n background-color: hsl(var(--primary) / 0.4);\n}\n.bg-primary\\/5 {\n background-color: hsl(var(--primary) / 0.05);\n}\n.bg-primary\\/60 {\n background-color: hsl(var(--primary) / 0.6);\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-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(250 245 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-purple-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(147 51 234 / 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\\/5 {\n background-color: rgb(254 242 242 / 0.05);\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-500\\/10 {\n background-color: rgb(239 68 68 / 0.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-secondary\\/5 {\n background-color: hsl(var(--secondary) / 0.05);\n}\n.bg-slate-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(100 116 139 / var(--tw-bg-opacity, 1));\n}\n.bg-success {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--success) / var(--tw-bg-opacity, 1));\n}\n.bg-success\\/10 {\n background-color: hsl(var(--success) / 0.1);\n}\n.bg-success\\/20 {\n background-color: hsl(var(--success) / 0.2);\n}\n.bg-success\\/5 {\n background-color: hsl(var(--success) / 0.05);\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\\/10 {\n background-color: hsl(var(--warning) / 0.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\\/20 {\n background-color: rgb(255 255 255 / 0.2);\n}\n.bg-white\\/5 {\n background-color: rgb(255 255 255 / 0.05);\n}\n.bg-white\\/90 {\n background-color: rgb(255 255 255 / 0.9);\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-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(254 240 138 / var(--tw-bg-opacity, 1));\n}\n.bg-yellow-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(254 252 232 / 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-yellow-500\\/10 {\n background-color: rgb(234 179 8 / 0.1);\n}\n.bg-yellow-500\\/90 {\n background-color: rgb(234 179 8 / 0.9);\n}\n.bg-opacity-80 {\n --tw-bg-opacity: 0.8;\n}\n.bg-gradient-to-b {\n background-image: linear-gradient(to bottom, var(--tw-gradient-stops));\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.bg-gradient-to-t {\n background-image: linear-gradient(to top, var(--tw-gradient-stops));\n}\n.from-background {\n --tw-gradient-from: hsl(var(--background) / 1) var(--tw-gradient-from-position);\n --tw-gradient-to: hsl(var(--background) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-background\\/90 {\n --tw-gradient-from: hsl(var(--background) / 0.9) var(--tw-gradient-from-position);\n --tw-gradient-to: hsl(var(--background) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-background\\/95 {\n --tw-gradient-from: hsl(var(--background) / 0.95) var(--tw-gradient-from-position);\n --tw-gradient-to: hsl(var(--background) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-black\\/50 {\n --tw-gradient-from: rgb(0 0 0 / 0.5) 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-black\\/70 {\n --tw-gradient-from: rgb(0 0 0 / 0.7) 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-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-black\\/95 {\n --tw-gradient-from: rgb(0 0 0 / 0.95) 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-500 {\n --tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-blue-500\\/10 {\n --tw-gradient-from: rgb(59 130 246 / 0.1) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(59 130 246 / 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-border {\n --tw-gradient-from: hsl(var(--border) / 1) var(--tw-gradient-from-position);\n --tw-gradient-to: hsl(var(--border) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-gray-500\\/10 {\n --tw-gradient-from: rgb(107 114 128 / 0.1) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(107 114 128 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-green-500 {\n --tw-gradient-from: #22c55e var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(34 197 94 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-green-500\\/10 {\n --tw-gradient-from: rgb(34 197 94 / 0.1) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(34 197 94 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-indigo-500\\/10 {\n --tw-gradient-from: rgb(99 102 241 / 0.1) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-orange-500 {\n --tw-gradient-from: #f97316 var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-orange-500\\/10 {\n --tw-gradient-from: rgb(249 115 22 / 0.1) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-primary\\/10 {\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.from-primary\\/20 {\n --tw-gradient-from: hsl(var(--primary) / 0.2) 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-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-primary\\/60 {\n --tw-gradient-from: hsl(var(--primary) / 0.6) 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-50 {\n --tw-gradient-from: #faf5ff var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(250 245 255 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-purple-500 {\n --tw-gradient-from: #a855f7 var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(168 85 247 / 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\\/10 {\n --tw-gradient-from: rgb(255 255 255 / 0.1) 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.from-yellow-50\\/10 {\n --tw-gradient-from: rgb(254 252 232 / 0.1) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(254 252 232 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-yellow-50\\/5 {\n --tw-gradient-from: rgb(254 252 232 / 0.05) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(254 252 232 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.via-accent\\/5 {\n --tw-gradient-to: hsl(var(--accent) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops:\n var(--tw-gradient-from),\n hsl(var(--accent) / 0.05) var(--tw-gradient-via-position),\n var(--tw-gradient-to);\n}\n.via-background {\n --tw-gradient-to: hsl(var(--background) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops:\n var(--tw-gradient-from),\n hsl(var(--background) / 1) var(--tw-gradient-via-position),\n 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-border\\/60 {\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) / 0.6) var(--tw-gradient-via-position),\n var(--tw-gradient-to);\n}\n.via-primary\\/30 {\n --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops:\n var(--tw-gradient-from),\n hsl(var(--primary) / 0.3) var(--tw-gradient-via-position),\n var(--tw-gradient-to);\n}\n.via-primary\\/5 {\n --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops:\n var(--tw-gradient-from),\n hsl(var(--primary) / 0.05) var(--tw-gradient-via-position),\n var(--tw-gradient-to);\n}\n.via-purple-900\\/20 {\n --tw-gradient-to: rgb(88 28 135 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops:\n var(--tw-gradient-from),\n rgb(88 28 135 / 0.2) 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.via-white\\/20 {\n --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops:\n var(--tw-gradient-from),\n rgb(255 255 255 / 0.2) var(--tw-gradient-via-position),\n var(--tw-gradient-to);\n}\n.to-background\\/90 {\n --tw-gradient-to: hsl(var(--background) / 0.9) var(--tw-gradient-to-position);\n}\n.to-background\\/95 {\n --tw-gradient-to: hsl(var(--background) / 0.95) var(--tw-gradient-to-position);\n}\n.to-black\\/10 {\n --tw-gradient-to: rgb(0 0 0 / 0.1) var(--tw-gradient-to-position);\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-blue-50 {\n --tw-gradient-to: #eff6ff var(--tw-gradient-to-position);\n}\n.to-blue-500\\/10 {\n --tw-gradient-to: rgb(59 130 246 / 0.1) var(--tw-gradient-to-position);\n}\n.to-blue-600 {\n --tw-gradient-to: #2563eb var(--tw-gradient-to-position);\n}\n.to-border\\/30 {\n --tw-gradient-to: hsl(var(--border) / 0.3) var(--tw-gradient-to-position);\n}\n.to-emerald-500 {\n --tw-gradient-to: #10b981 var(--tw-gradient-to-position);\n}\n.to-emerald-500\\/10 {\n --tw-gradient-to: rgb(16 185 129 / 0.1) var(--tw-gradient-to-position);\n}\n.to-gray-600\\/10 {\n --tw-gradient-to: rgb(75 85 99 / 0.1) var(--tw-gradient-to-position);\n}\n.to-pink-500 {\n --tw-gradient-to: #ec4899 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-primary\\/5 {\n --tw-gradient-to: hsl(var(--primary) / 0.05) var(--tw-gradient-to-position);\n}\n.to-purple-500 {\n --tw-gradient-to: #a855f7 var(--tw-gradient-to-position);\n}\n.to-purple-500\\/10 {\n --tw-gradient-to: rgb(168 85 247 / 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-red-500 {\n --tw-gradient-to: #ef4444 var(--tw-gradient-to-position);\n}\n.to-red-500\\/10 {\n --tw-gradient-to: rgb(239 68 68 / 0.1) var(--tw-gradient-to-position);\n}\n.to-secondary\\/10 {\n --tw-gradient-to: hsl(var(--secondary) / 0.1) var(--tw-gradient-to-position);\n}\n.to-secondary\\/5 {\n --tw-gradient-to: hsl(var(--secondary) / 0.05) var(--tw-gradient-to-position);\n}\n.to-transparent {\n --tw-gradient-to: transparent var(--tw-gradient-to-position);\n}\n.to-yellow-50\\/5 {\n --tw-gradient-to: rgb(254 252 232 / 0.05) var(--tw-gradient-to-position);\n}\n.fill-current {\n fill: currentColor;\n}\n.fill-yellow-500 {\n fill: #eab308;\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-3\\.5 {\n padding: 0.875rem;\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-8 {\n padding: 2rem;\n}\n.p-\\[1px\\] {\n padding: 1px;\n}\n.px-0 {\n padding-left: 0px;\n padding-right: 0px;\n}\n.px-0\\.5 {\n padding-left: 0.125rem;\n padding-right: 0.125rem;\n}\n.px-1 {\n padding-left: 0.25rem;\n padding-right: 0.25rem;\n}\n.px-1\\.5 {\n padding-left: 0.375rem;\n padding-right: 0.375rem;\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-3\\.5 {\n padding-left: 0.875rem;\n padding-right: 0.875rem;\n}\n.px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n.px-5 {\n padding-left: 1.25rem;\n padding-right: 1.25rem;\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-0\\.5 {\n padding-top: 0.125rem;\n padding-bottom: 0.125rem;\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-2\\.5 {\n padding-top: 0.625rem;\n padding-bottom: 0.625rem;\n}\n.py-3 {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n}\n.py-3\\.5 {\n padding-top: 0.875rem;\n padding-bottom: 0.875rem;\n}\n.py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n.py-5 {\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\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-0 {\n padding-bottom: 0px;\n}\n.pb-1 {\n padding-bottom: 0.25rem;\n}\n.pb-10 {\n padding-bottom: 2.5rem;\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-5 {\n padding-bottom: 1.25rem;\n}\n.pb-6 {\n padding-bottom: 1.5rem;\n}\n.pl-10 {\n padding-left: 2.5rem;\n}\n.pl-12 {\n padding-left: 3rem;\n}\n.pl-14 {\n padding-left: 3.5rem;\n}\n.pl-2 {\n padding-left: 0.5rem;\n}\n.pl-2\\.5 {\n padding-left: 0.625rem;\n}\n.pl-4 {\n padding-left: 1rem;\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-2\\.5 {\n padding-right: 0.625rem;\n}\n.pr-20 {\n padding-right: 5rem;\n}\n.pr-3 {\n padding-right: 0.75rem;\n}\n.pr-4 {\n padding-right: 1rem;\n}\n.pr-8 {\n padding-right: 2rem;\n}\n.pr-9 {\n padding-right: 2.25rem;\n}\n.pt-0 {\n padding-top: 0px;\n}\n.pt-1 {\n padding-top: 0.25rem;\n}\n.pt-2 {\n padding-top: 0.5rem;\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.pt-8 {\n padding-top: 2rem;\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-3xl {\n font-size: 1.875rem;\n line-height: 2.25rem;\n}\n.text-5xl {\n font-size: 3rem;\n line-height: 1;\n}\n.text-\\[0\\.65rem\\] {\n font-size: 0.65rem;\n}\n.text-\\[10px\\] {\n font-size: 10px;\n}\n.text-\\[9px\\] {\n font-size: 9px;\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.uppercase {\n text-transform: uppercase;\n}\n.capitalize {\n text-transform: capitalize;\n}\n.italic {\n font-style: italic;\n}\n.tabular-nums {\n --tw-numeric-spacing: tabular-nums;\n font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);\n}\n.leading-5 {\n line-height: 1.25rem;\n}\n.leading-none {\n line-height: 1;\n}\n.leading-normal {\n line-height: 1.5;\n}\n.leading-relaxed {\n line-height: 1.625;\n}\n.leading-snug {\n line-height: 1.375;\n}\n.leading-tight {\n line-height: 1.25;\n}\n.tracking-tight {\n letter-spacing: -0.025em;\n}\n.tracking-wider {\n letter-spacing: 0.05em;\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-accent-foreground {\n --tw-text-opacity: 1;\n color: hsl(var(--accent-foreground) / var(--tw-text-opacity, 1));\n}\n.text-amber-500 {\n --tw-text-opacity: 1;\n color: rgb(245 158 11 / var(--tw-text-opacity, 1));\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-border {\n --tw-text-opacity: 1;\n color: hsl(var(--border) / 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-foreground\\/60 {\n color: hsl(var(--foreground) / 0.6);\n}\n.text-gray-400 {\n --tw-text-opacity: 1;\n color: rgb(156 163 175 / var(--tw-text-opacity, 1));\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-400 {\n --tw-text-opacity: 1;\n color: rgb(74 222 128 / 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-muted-foreground\\/20 {\n color: hsl(var(--muted-foreground) / 0.2);\n}\n.text-muted-foreground\\/30 {\n color: hsl(var(--muted-foreground) / 0.3);\n}\n.text-muted-foreground\\/50 {\n color: hsl(var(--muted-foreground) / 0.5);\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-600 {\n --tw-text-opacity: 1;\n color: rgb(234 88 12 / 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-400 {\n --tw-text-opacity: 1;\n color: rgb(192 132 252 / 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-purple-700 {\n --tw-text-opacity: 1;\n color: rgb(126 34 206 / 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-slate-700 {\n --tw-text-opacity: 1;\n color: rgb(51 65 85 / 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-success-foreground {\n --tw-text-opacity: 1;\n color: hsl(var(--success-foreground) / 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-warning-foreground {\n --tw-text-opacity: 1;\n color: hsl(var(--warning-foreground) / 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\\/70 {\n color: rgb(255 255 255 / 0.7);\n}\n.text-white\\/80 {\n color: rgb(255 255 255 / 0.8);\n}\n.text-yellow-400 {\n --tw-text-opacity: 1;\n color: rgb(250 204 21 / var(--tw-text-opacity, 1));\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.text-yellow-900 {\n --tw-text-opacity: 1;\n color: rgb(113 63 18 / var(--tw-text-opacity, 1));\n}\n.underline {\n text-decoration-line: underline;\n}\n.line-through {\n text-decoration-line: line-through;\n}\n.no-underline {\n text-decoration-line: none;\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-20 {\n opacity: 0.2;\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-75 {\n opacity: 0.75;\n}\n.opacity-80 {\n opacity: 0.8;\n}\n.opacity-90 {\n opacity: 0.9;\n}\n.shadow {\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.shadow-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-\\[0_0_15px_rgba\\(59\\,130\\,246\\,0\\.3\\)\\] {\n --tw-shadow: 0 0 15px rgba(59,130,246,0.3);\n --tw-shadow-colored: 0 0 15px 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-\\[0_0_15px_rgba\\(var\\(--primary\\)\\,0\\.5\\)\\] {\n --tw-shadow: 0 0 15px rgba(var(--primary),0.5);\n --tw-shadow-colored: 0 0 15px 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-\\[0_0_20px_rgba\\(139\\,92\\,246\\,0\\.3\\)\\] {\n --tw-shadow: 0 0 20px rgba(139,92,246,0.3);\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.shadow-\\[0_0_20px_rgba\\(59\\,130\\,246\\,0\\.3\\)\\] {\n --tw-shadow: 0 0 20px rgba(59,130,246,0.3);\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.shadow-\\[0_0_20px_rgba\\(var\\(--primary\\)\\,0\\.3\\)\\] {\n --tw-shadow: 0 0 20px rgba(var(--primary),0.3);\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.shadow-\\[0_0_30px_rgba\\(59\\,130\\,246\\,0\\.5\\)\\] {\n --tw-shadow: 0 0 30px rgba(59,130,246,0.5);\n --tw-shadow-colored: 0 0 30px 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-\\[0_0_30px_rgba\\(var\\(--primary\\)\\,0\\.15\\)\\] {\n --tw-shadow: 0 0 30px rgba(var(--primary),0.15);\n --tw-shadow-colored: 0 0 30px 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-inner {\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.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\\/20 {\n --tw-shadow-color: hsl(var(--primary) / 0.2);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.shadow-purple-500\\/40 {\n --tw-shadow-color: rgb(168 85 247 / 0.4);\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-4 {\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(4px + 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-background {\n --tw-ring-opacity: 1;\n --tw-ring-color: hsl(var(--background) / var(--tw-ring-opacity, 1));\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-primary {\n --tw-ring-opacity: 1;\n --tw-ring-color: hsl(var(--primary) / var(--tw-ring-opacity, 1));\n}\n.ring-ring {\n --tw-ring-opacity: 1;\n --tw-ring-color: hsl(var(--ring) / var(--tw-ring-opacity, 1));\n}\n.ring-white {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(255 255 255 / 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) !important;\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 {\n --tw-backdrop-blur: blur(8px);\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-lg {\n --tw-backdrop-blur: blur(16px);\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 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 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 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-filter {\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 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-1000 {\n transition-duration: 1000ms;\n}\n.duration-150 {\n transition-duration: 150ms;\n}\n.duration-200 {\n transition-duration: 200ms;\n}\n.duration-300 {\n transition-duration: 300ms;\n}\n.duration-500 {\n transition-duration: 500ms;\n}\n.ease-in-out {\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ease-out {\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n}\n.will-change-transform {\n will-change: transform;\n}\n@keyframes enter {\n from {\n opacity: var(--tw-enter-opacity, 1);\n transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));\n }\n}\n@keyframes exit {\n to {\n opacity: var(--tw-exit-opacity, 1);\n transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));\n }\n}\n.animate-in {\n animation-name: enter;\n animation-duration: 150ms;\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n}\n.fade-in-0 {\n --tw-enter-opacity: 0;\n}\n.zoom-in-95 {\n --tw-enter-scale: .95;\n}\n.duration-100 {\n animation-duration: 100ms;\n}\n.duration-1000 {\n animation-duration: 1000ms;\n}\n.duration-150 {\n animation-duration: 150ms;\n}\n.duration-200 {\n animation-duration: 200ms;\n}\n.duration-300 {\n animation-duration: 300ms;\n}\n.duration-500 {\n animation-duration: 500ms;\n}\n.ease-in-out {\n animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ease-out {\n animation-timing-function: cubic-bezier(0, 0, 0.2, 1);\n}\n.running {\n animation-play-state: running;\n}\n.paused {\n animation-play-state: paused;\n}\n@keyframes spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes bounce-in {\n 0% {\n transform: scale(0.8);\n opacity: 0;\n }\n 50% {\n transform: scale(1.1);\n }\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n}\n@keyframes bounce-out {\n 0% {\n transform: scale(1);\n opacity: 1;\n }\n 100% {\n transform: scale(0.8);\n opacity: 0;\n }\n}\n@keyframes rotate-in-90 {\n from {\n transform: rotate(-90deg) scale(0.9);\n opacity: 0;\n }\n to {\n transform: rotate(0) scale(1);\n opacity: 1;\n }\n}\n@keyframes rotate-out-90 {\n from {\n transform: rotate(0) scale(1);\n opacity: 1;\n }\n to {\n transform: rotate(90deg) scale(0.9);\n opacity: 0;\n }\n}\n@keyframes rotate-x-90 {\n from {\n transform: perspective(800px) rotateX(-90deg);\n opacity: 0;\n }\n to {\n transform: perspective(800px) rotateX(0);\n opacity: 1;\n }\n}\n@keyframes spin-in-180 {\n from {\n transform: rotate(-540deg) scale(0);\n opacity: 0;\n }\n to {\n transform: rotate(0) scale(1);\n opacity: 1;\n }\n}\n@keyframes spin-out-180 {\n from {\n transform: rotate(0) scale(1);\n opacity: 1;\n }\n to {\n transform: rotate(540deg) scale(0);\n opacity: 0;\n }\n}\n@keyframes zoom-in-110 {\n from {\n transform: scale(0);\n opacity: 0;\n }\n 50% {\n transform: scale(1.1);\n }\n to {\n transform: scale(1);\n opacity: 1;\n }\n}\n@keyframes elastic-in {\n 0% {\n transform: scale(0.3);\n opacity: 0;\n }\n 50% {\n transform: scale(1.15);\n }\n 75% {\n transform: scale(0.95);\n }\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n}\n@keyframes elastic-out {\n 0% {\n transform: scale(1);\n opacity: 1;\n }\n 100% {\n transform: scale(0.3);\n opacity: 0;\n }\n}\n@keyframes spring-in {\n 0% {\n transform: scale(0.9) translateY(20px);\n opacity: 0;\n }\n 50% {\n transform: scale(1.05) translateY(-10px);\n }\n 100% {\n transform: scale(1) translateY(0);\n opacity: 1;\n }\n}\n@keyframes spring-out {\n 0% {\n transform: scale(1) translateY(0);\n opacity: 1;\n }\n 100% {\n transform: scale(0.9) translateY(20px);\n opacity: 0;\n }\n}\n.react-grid-layout {\n position: relative !important;\n transition: height 200ms ease;\n}\n.react-grid-item {\n transition: all 200ms ease;\n transition-property:\n left,\n top,\n width,\n height;\n}\n.react-grid-item > div {\n height: 100%;\n display: flex;\n flex-direction: column;\n}\n.react-grid-item.cssTransforms {\n transition-property:\n transform,\n width,\n height;\n}\n.react-grid-item.resizing {\n transition: none;\n z-index: 1;\n will-change: width, height;\n}\n.react-grid-item.react-draggable-dragging {\n transition: none;\n z-index: 3;\n will-change: transform;\n}\n@media (max-width: 768px) {\n .react-grid-layout {\n overflow-x: hidden !important;\n height: auto !important;\n }\n .react-grid-item {\n position: relative !important;\n transform: none !important;\n margin-bottom: 24px !important;\n width: 100% !important;\n left: 0 !important;\n right: 0 !important;\n }\n .react-grid-item:last-child {\n margin-bottom: 0 !important;\n }\n .react-grid-item.cssTransforms {\n position: relative !important;\n transform: none !important;\n }\n .react-grid-placeholder {\n display: none !important;\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-gray-500::-moz-placeholder {\n --tw-text-opacity: 1;\n color: rgb(107 114 128 / var(--tw-text-opacity, 1));\n}\n.placeholder\\:text-gray-500::placeholder {\n --tw-text-opacity: 1;\n color: rgb(107 114 128 / var(--tw-text-opacity, 1));\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.before\\:absolute::before {\n content: var(--tw-content);\n position: absolute;\n}\n.before\\:inset-0::before {\n content: var(--tw-content);\n inset: 0px;\n}\n.before\\:bg-gradient-to-br::before {\n content: var(--tw-content);\n background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));\n}\n.before\\:from-transparent::before {\n content: var(--tw-content);\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.before\\:via-primary\\/10::before {\n content: var(--tw-content);\n --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops:\n var(--tw-gradient-from),\n hsl(var(--primary) / 0.1) var(--tw-gradient-via-position),\n var(--tw-gradient-to);\n}\n.before\\:to-transparent::before {\n content: var(--tw-content);\n --tw-gradient-to: transparent var(--tw-gradient-to-position);\n}\n.last\\:mb-0:last-child {\n margin-bottom: 0px;\n}\n.last\\:border-b-0:last-child {\n border-bottom-width: 0px;\n}\n.last\\:border-r-0:last-child {\n border-right-width: 0px;\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\\:-translate-y-1:hover {\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.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\\:scale-\\[1\\.02\\]:hover {\n --tw-scale-x: 1.02;\n --tw-scale-y: 1.02;\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-accent:hover {\n --tw-border-opacity: 1;\n border-color: hsl(var(--accent) / var(--tw-border-opacity, 1));\n}\n.hover\\:border-border\\/50:hover {\n border-color: hsl(var(--border) / 0.5);\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\\/20:hover {\n border-color: hsl(var(--muted-foreground) / 0.2);\n}\n.hover\\:border-muted-foreground\\/40:hover {\n border-color: hsl(var(--muted-foreground) / 0.4);\n}\n.hover\\:border-primary:hover {\n --tw-border-opacity: 1;\n border-color: hsl(var(--primary) / var(--tw-border-opacity, 1));\n}\n.hover\\:border-primary\\/20:hover {\n border-color: hsl(var(--primary) / 0.2);\n}\n.hover\\:border-primary\\/50:hover {\n border-color: hsl(var(--primary) / 0.5);\n}\n.hover\\:border-success\\/80:hover {\n border-color: hsl(var(--success) / 0.8);\n}\n.hover\\:border-white\\/30:hover {\n border-color: rgb(255 255 255 / 0.3);\n}\n.hover\\:bg-accent:hover {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--accent) / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-accent\\/10:hover {\n background-color: hsl(var(--accent) / 0.1);\n}\n.hover\\:bg-accent\\/5:hover {\n background-color: hsl(var(--accent) / 0.05);\n}\n.hover\\:bg-accent\\/50:hover {\n background-color: hsl(var(--accent) / 0.5);\n}\n.hover\\:bg-background:hover {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--background) / 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-black\\/70:hover {\n background-color: rgb(0 0 0 / 0.7);\n}\n.hover\\:bg-blue-600:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-card\\/95:hover {\n background-color: hsl(var(--card) / 0.95);\n}\n.hover\\:bg-destructive\\/10:hover {\n background-color: hsl(var(--destructive) / 0.1);\n}\n.hover\\:bg-destructive\\/90:hover {\n background-color: hsl(var(--destructive) / 0.9);\n}\n.hover\\:bg-error\\/90:hover {\n background-color: hsl(var(--error) / 0.9);\n}\n.hover\\:bg-gray-100:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-gray-100\\/50:hover {\n background-color: rgb(243 244 246 / 0.5);\n}\n.hover\\:bg-gray-200:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-gray-50:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-green-100:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-green-400:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-green-500\\/20:hover {\n background-color: rgb(34 197 94 / 0.2);\n}\n.hover\\:bg-green-600:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(22 163 74 / 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\\/20:hover {\n background-color: hsl(var(--muted) / 0.2);\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\\/10:hover {\n background-color: hsl(var(--primary) / 0.1);\n}\n.hover\\:bg-primary\\/20:hover {\n background-color: hsl(var(--primary) / 0.2);\n}\n.hover\\:bg-primary\\/5:hover {\n background-color: hsl(var(--primary) / 0.05);\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-100:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(254 226 226 / 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\\/10:hover {\n background-color: hsl(var(--secondary) / 0.1);\n}\n.hover\\:bg-secondary\\/80:hover {\n background-color: hsl(var(--secondary) / 0.8);\n}\n.hover\\:bg-success\\/10:hover {\n background-color: hsl(var(--success) / 0.1);\n}\n.hover\\:bg-success\\/90:hover {\n background-color: hsl(var(--success) / 0.9);\n}\n.hover\\:bg-transparent:hover {\n background-color: transparent;\n}\n.hover\\:bg-warning\\/10:hover {\n background-color: hsl(var(--warning) / 0.1);\n}\n.hover\\:bg-warning\\/90:hover {\n background-color: hsl(var(--warning) / 0.9);\n}\n.hover\\:bg-white\\/10:hover {\n background-color: rgb(255 255 255 / 0.1);\n}\n.hover\\:bg-white\\/20:hover {\n background-color: rgb(255 255 255 / 0.2);\n}\n.hover\\:bg-yellow-100:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-gradient-to-br:hover {\n background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));\n}\n.hover\\:bg-gradient-to-r:hover {\n background-image: linear-gradient(to right, var(--tw-gradient-stops));\n}\n.hover\\:from-card:hover {\n --tw-gradient-from: hsl(var(--card) / 1) var(--tw-gradient-from-position);\n --tw-gradient-to: hsl(var(--card) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.hover\\:from-purple-500\\/10:hover {\n --tw-gradient-from: rgb(168 85 247 / 0.1) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.hover\\:from-purple-600:hover {\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.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\\:from-yellow-50\\/20:hover {\n --tw-gradient-from: rgb(254 252 232 / 0.2) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(254 252 232 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.hover\\:via-card\\/95:hover {\n --tw-gradient-to: hsl(var(--card) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops:\n var(--tw-gradient-from),\n hsl(var(--card) / 0.95) var(--tw-gradient-via-position),\n var(--tw-gradient-to);\n}\n.hover\\:to-blue-700:hover {\n --tw-gradient-to: #1d4ed8 var(--tw-gradient-to-position);\n}\n.hover\\:to-card\\/80:hover {\n --tw-gradient-to: hsl(var(--card) / 0.8) var(--tw-gradient-to-position);\n}\n.hover\\:to-card\\/90:hover {\n --tw-gradient-to: hsl(var(--card) / 0.9) var(--tw-gradient-to-position);\n}\n.hover\\:to-pink-500\\/10:hover {\n --tw-gradient-to: rgb(236 72 153 / 0.1) var(--tw-gradient-to-position);\n}\n.hover\\:to-pink-600:hover {\n --tw-gradient-to: #db2777 var(--tw-gradient-to-position);\n}\n.hover\\:to-pink-700:hover {\n --tw-gradient-to: #be185d var(--tw-gradient-to-position);\n}\n.hover\\:to-yellow-50\\/10:hover {\n --tw-gradient-to: rgb(254 252 232 / 0.1) var(--tw-gradient-to-position);\n}\n.hover\\:pl-9:hover {\n padding-left: 2.25rem;\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-blue-600:hover {\n --tw-text-opacity: 1;\n color: rgb(37 99 235 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-destructive:hover {\n --tw-text-opacity: 1;\n color: hsl(var(--destructive) / 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-gray-700:hover {\n --tw-text-opacity: 1;\n color: rgb(55 65 81 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-gray-900:hover {\n --tw-text-opacity: 1;\n color: rgb(17 24 39 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-green-900:hover {\n --tw-text-opacity: 1;\n color: rgb(20 83 45 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-muted-foreground:hover {\n --tw-text-opacity: 1;\n color: hsl(var(--muted-foreground) / var(--tw-text-opacity, 1));\n}\n.hover\\:text-primary:hover {\n --tw-text-opacity: 1;\n color: hsl(var(--primary) / 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-primary\\/80:hover {\n color: hsl(var(--primary) / 0.8);\n}\n.hover\\:text-purple-600:hover {\n --tw-text-opacity: 1;\n color: rgb(147 51 234 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-red-900:hover {\n --tw-text-opacity: 1;\n color: rgb(127 29 29 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-secondary:hover {\n --tw-text-opacity: 1;\n color: hsl(var(--secondary) / var(--tw-text-opacity, 1));\n}\n.hover\\:text-success:hover {\n --tw-text-opacity: 1;\n color: hsl(var(--success) / var(--tw-text-opacity, 1));\n}\n.hover\\:text-warning:hover {\n --tw-text-opacity: 1;\n color: hsl(var(--warning) / 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\\:text-yellow-600:hover {\n --tw-text-opacity: 1;\n color: rgb(202 138 4 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-yellow-900:hover {\n --tw-text-opacity: 1;\n color: rgb(113 63 18 / var(--tw-text-opacity, 1));\n}\n.hover\\:underline:hover {\n text-decoration-line: underline;\n}\n.hover\\:decoration-gray-300\\/30:hover {\n text-decoration-color: rgb(209 213 219 / 0.3);\n}\n.hover\\:underline-offset-4:hover {\n text-underline-offset: 4px;\n}\n.hover\\:opacity-100:hover {\n opacity: 1;\n}\n.hover\\:opacity-80:hover {\n opacity: 0.8;\n}\n.hover\\:opacity-90:hover {\n opacity: 0.9;\n}\n.hover\\:shadow-2xl:hover {\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.hover\\:shadow-\\[0_0_30px_rgba\\(74\\,222\\,128\\,0\\.6\\)\\]:hover {\n --tw-shadow: 0 0 30px rgba(74,222,128,0.6);\n --tw-shadow-colored: 0 0 30px 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-\\[0_0_30px_rgba\\(var\\(--primary\\)\\,0\\.3\\)\\]:hover {\n --tw-shadow: 0 0 30px rgba(var(--primary),0.3);\n --tw-shadow-colored: 0 0 30px 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-\\[0_0_40px_rgba\\(59\\,130\\,246\\,0\\.7\\)\\]:hover {\n --tw-shadow: 0 0 40px rgba(59,130,246,0.7);\n --tw-shadow-colored: 0 0 40px 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\\/25:hover {\n --tw-shadow-color: hsl(var(--primary) / 0.25);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.hover\\:shadow-primary\\/5:hover {\n --tw-shadow-color: hsl(var(--primary) / 0.05);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.hover\\:shadow-purple-500\\/50:hover {\n --tw-shadow-color: rgb(168 85 247 / 0.5);\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.focus\\:border-primary:focus {\n --tw-border-opacity: 1;\n border-color: hsl(var(--primary) / var(--tw-border-opacity, 1));\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-green-100:focus {\n --tw-bg-opacity: 1;\n background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));\n}\n.focus\\:bg-red-100:focus {\n --tw-bg-opacity: 1;\n background-color: rgb(254 226 226 / 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\\:bg-yellow-100:focus {\n --tw-bg-opacity: 1;\n background-color: rgb(254 249 195 / var(--tw-bg-opacity, 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-destructive:focus {\n --tw-text-opacity: 1;\n color: hsl(var(--destructive) / 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-green-900:focus {\n --tw-text-opacity: 1;\n color: rgb(20 83 45 / var(--tw-text-opacity, 1));\n}\n.focus\\:text-red-900:focus {\n --tw-text-opacity: 1;\n color: rgb(127 29 29 / 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\\:text-yellow-900:focus {\n --tw-text-opacity: 1;\n color: rgb(113 63 18 / 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\\/20:focus {\n --tw-ring-color: hsl(var(--primary) / 0.2);\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-blue-500\\/50:focus-visible {\n --tw-ring-color: rgb(59 130 246 / 0.5);\n}\n.focus-visible\\:ring-error\\/30:focus-visible {\n --tw-ring-color: hsl(var(--error) / 0.3);\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-green-400\\/50:focus-visible {\n --tw-ring-color: rgb(74 222 128 / 0.5);\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-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.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\\:scale-\\[0\\.98\\]:active {\n --tw-scale-x: 0.98;\n --tw-scale-y: 0.98;\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-accent\\/80:active {\n background-color: hsl(var(--accent) / 0.8);\n}\n.active\\:bg-destructive\\/80:active {\n background-color: hsl(var(--destructive) / 0.8);\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-primary\\/80:active {\n background-color: hsl(var(--primary) / 0.8);\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-purple-700:active {\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.active\\:to-pink-700:active {\n --tw-gradient-to: #be185d var(--tw-gradient-to-position);\n}\n.active\\:text-primary\\/70:active {\n color: hsl(var(--primary) / 0.7);\n}\n.active\\:shadow-\\[0_0_15px_rgba\\(74\\,222\\,128\\,0\\.4\\)\\]:active {\n --tw-shadow: 0 0 15px rgba(74,222,128,0.4);\n --tw-shadow-colored: 0 0 15px 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-\\[0_0_20px_rgba\\(59\\,130\\,246\\,0\\.4\\)\\]:active {\n --tw-shadow: 0 0 20px rgba(59,130,246,0.4);\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.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\\: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.disabled\\:pointer-events-none:disabled {\n pointer-events: none;\n}\n.disabled\\:transform-none:disabled {\n transform: 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\\: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.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.aria-selected\\:bg-accent[aria-selected=true] {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--accent) / var(--tw-bg-opacity, 1));\n}\n.aria-selected\\:text-accent-foreground[aria-selected=true] {\n --tw-text-opacity: 1;\n color: hsl(var(--accent-foreground) / var(--tw-text-opacity, 1));\n}\n.data-\\[disabled\\=true\\]\\:pointer-events-none[data-disabled=true] {\n pointer-events: none;\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@keyframes accordion-up {\n from {\n height: var(--radix-accordion-content-height);\n }\n to {\n height: 0;\n }\n}\n.data-\\[state\\=closed\\]\\:animate-\\[accordion-up_0\\.2s_ease-in-out\\][data-state=closed] {\n animation: accordion-up 0.2s ease-in-out;\n}\n@keyframes accordion-up {\n from {\n height: var(--radix-accordion-content-height);\n }\n to {\n height: 0;\n }\n}\n.data-\\[state\\=closed\\]\\:animate-\\[accordion-up_0\\.3s_cubic-bezier\\(0\\.34\\,1\\.56\\,0\\.64\\,1\\)\\][data-state=closed] {\n animation: accordion-up 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);\n}\n@keyframes accordion-up {\n from {\n height: var(--radix-accordion-content-height);\n }\n to {\n height: 0;\n }\n}\n.data-\\[state\\=closed\\]\\:animate-\\[accordion-up_0\\.4s_cubic-bezier\\(0\\.68\\,-0\\.55\\,0\\.265\\,1\\.55\\)\\][data-state=closed] {\n animation: accordion-up 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);\n}\n.data-\\[state\\=closed\\]\\:animate-\\[collapsible-up_0\\.2s_ease-in-out\\][data-state=closed] {\n animation: collapsible-up 0.2s ease-in-out;\n}\n.data-\\[state\\=closed\\]\\:animate-\\[collapsible-up_0\\.3s_cubic-bezier\\(0\\.34\\,1\\.56\\,0\\.64\\,1\\)\\][data-state=closed] {\n animation: collapsible-up 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);\n}\n.data-\\[state\\=closed\\]\\:animate-\\[collapsible-up_0\\.4s_cubic-bezier\\(0\\.68\\,-0\\.55\\,0\\.265\\,1\\.55\\)\\][data-state=closed] {\n animation: collapsible-up 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);\n}\n.data-\\[state\\=closed\\]\\:animate-\\[slide-up_0\\.3s_ease-out\\][data-state=closed] {\n animation: slide-up 0.3s ease-out;\n}\n@keyframes accordion-up {\n from {\n height: var(--radix-accordion-content-height);\n }\n to {\n height: 0;\n }\n}\n.data-\\[state\\=closed\\]\\:animate-accordion-up[data-state=closed] {\n animation: accordion-up 0.2s ease-out;\n}\n@keyframes accordion-down {\n from {\n height: 0;\n }\n to {\n height: var(--radix-accordion-content-height);\n }\n}\n.data-\\[state\\=open\\]\\:animate-\\[accordion-down_0\\.2s_ease-in-out\\][data-state=open] {\n animation: accordion-down 0.2s ease-in-out;\n}\n@keyframes accordion-down {\n from {\n height: 0;\n }\n to {\n height: var(--radix-accordion-content-height);\n }\n}\n.data-\\[state\\=open\\]\\:animate-\\[accordion-down_0\\.3s_cubic-bezier\\(0\\.34\\,1\\.56\\,0\\.64\\,1\\)\\][data-state=open] {\n animation: accordion-down 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);\n}\n@keyframes accordion-down {\n from {\n height: 0;\n }\n to {\n height: var(--radix-accordion-content-height);\n }\n}\n.data-\\[state\\=open\\]\\:animate-\\[accordion-down_0\\.4s_cubic-bezier\\(0\\.68\\,-0\\.55\\,0\\.265\\,1\\.55\\)\\][data-state=open] {\n animation: accordion-down 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);\n}\n.data-\\[state\\=open\\]\\:animate-\\[collapsible-down_0\\.2s_ease-in-out\\][data-state=open] {\n animation: collapsible-down 0.2s ease-in-out;\n}\n.data-\\[state\\=open\\]\\:animate-\\[collapsible-down_0\\.3s_cubic-bezier\\(0\\.34\\,1\\.56\\,0\\.64\\,1\\)\\][data-state=open] {\n animation: collapsible-down 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);\n}\n.data-\\[state\\=open\\]\\:animate-\\[collapsible-down_0\\.4s_cubic-bezier\\(0\\.68\\,-0\\.55\\,0\\.265\\,1\\.55\\)\\][data-state=open] {\n animation: collapsible-down 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);\n}\n.data-\\[state\\=open\\]\\:animate-\\[slide-down_0\\.3s_ease-out\\][data-state=open] {\n animation: slide-down 0.3s ease-out;\n}\n@keyframes accordion-down {\n from {\n height: 0;\n }\n to {\n height: var(--radix-accordion-content-height);\n }\n}\n.data-\\[state\\=open\\]\\:animate-accordion-down[data-state=open] {\n animation: accordion-down 0.2s ease-out;\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-\\[active\\]\\:bg-accent\\/50[data-active] {\n background-color: hsl(var(--accent) / 0.5);\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\\=active\\]\\:bg-white\\/20[data-state=active] {\n background-color: rgb(255 255 255 / 0.2);\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\\=on\\]\\:bg-accent[data-state=on] {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--accent) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=on\\]\\:bg-destructive[data-state=on] {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--destructive) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=on\\]\\:bg-primary[data-state=on] {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--primary) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=on\\]\\:bg-secondary[data-state=on] {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--secondary) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=on\\]\\:bg-success[data-state=on] {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--success) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=on\\]\\:bg-transparent[data-state=on] {\n background-color: transparent;\n}\n.data-\\[state\\=on\\]\\:bg-warning[data-state=on] {\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\\=open\\]\\:bg-accent\\/50[data-state=open] {\n background-color: hsl(var(--accent) / 0.5);\n}\n.data-\\[state\\=open\\]\\:bg-secondary[data-state=open] {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--secondary) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=selected\\]\\:bg-muted[data-state=selected] {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--muted) / 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\\]\\:bg-gradient-to-r[data-state=active] {\n background-image: linear-gradient(to right, var(--tw-gradient-stops));\n}\n.data-\\[state\\=on\\]\\:bg-gradient-to-r[data-state=on] {\n background-image: linear-gradient(to right, var(--tw-gradient-stops));\n}\n.data-\\[state\\=active\\]\\:from-primary[data-state=active] {\n --tw-gradient-from: hsl(var(--primary) / 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.data-\\[state\\=on\\]\\:from-purple-600[data-state=on] {\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.data-\\[state\\=active\\]\\:to-secondary[data-state=active] {\n --tw-gradient-to: hsl(var(--secondary) / 1) var(--tw-gradient-to-position);\n}\n.data-\\[state\\=on\\]\\:to-pink-600[data-state=on] {\n --tw-gradient-to: #db2777 var(--tw-gradient-to-position);\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\\=active\\]\\:text-white[data-state=active] {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / 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\\=on\\]\\:text-accent-foreground[data-state=on] {\n --tw-text-opacity: 1;\n color: hsl(var(--accent-foreground) / var(--tw-text-opacity, 1));\n}\n.data-\\[state\\=on\\]\\:text-destructive-foreground[data-state=on] {\n --tw-text-opacity: 1;\n color: hsl(var(--destructive-foreground) / var(--tw-text-opacity, 1));\n}\n.data-\\[state\\=on\\]\\:text-primary-foreground[data-state=on] {\n --tw-text-opacity: 1;\n color: hsl(var(--primary-foreground) / var(--tw-text-opacity, 1));\n}\n.data-\\[state\\=on\\]\\:text-secondary-foreground[data-state=on] {\n --tw-text-opacity: 1;\n color: hsl(var(--secondary-foreground) / var(--tw-text-opacity, 1));\n}\n.data-\\[state\\=on\\]\\:text-success-foreground[data-state=on] {\n --tw-text-opacity: 1;\n color: hsl(var(--success-foreground) / var(--tw-text-opacity, 1));\n}\n.data-\\[state\\=on\\]\\:text-warning-foreground[data-state=on] {\n --tw-text-opacity: 1;\n color: hsl(var(--warning-foreground) / var(--tw-text-opacity, 1));\n}\n.data-\\[state\\=on\\]\\:text-white[data-state=on] {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n}\n.data-\\[state\\=open\\]\\:text-accent-foreground[data-state=open] {\n --tw-text-opacity: 1;\n color: hsl(var(--accent-foreground) / var(--tw-text-opacity, 1));\n}\n.data-\\[state\\=active\\]\\:underline[data-state=active] {\n text-decoration-line: underline;\n}\n.data-\\[disabled\\=true\\]\\:opacity-50[data-disabled=true] {\n opacity: 0.5;\n}\n.data-\\[disabled\\]\\:opacity-50[data-disabled] {\n opacity: 0.5;\n}\n.data-\\[state\\=active\\]\\:shadow-\\[0_0_10px_rgba\\(139\\,92\\,246\\,0\\.8\\)\\][data-state=active] {\n --tw-shadow: 0 0 10px rgba(139,92,246,0.8);\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.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\\=closed\\]\\:duration-300[data-state=closed] {\n transition-duration: 300ms;\n}\n.data-\\[state\\=open\\]\\:duration-150[data-state=open] {\n transition-duration: 150ms;\n}\n.data-\\[state\\=open\\]\\:duration-500[data-state=open] {\n transition-duration: 500ms;\n}\n.data-\\[motion\\^\\=from-\\]\\:animate-in[data-motion^=from-] {\n animation-name: enter;\n animation-duration: 150ms;\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n}\n.data-\\[state\\=open\\]\\:animate-in[data-state=open] {\n animation-name: enter;\n animation-duration: 150ms;\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n}\n.data-\\[state\\=visible\\]\\:animate-in[data-state=visible] {\n animation-name: enter;\n animation-duration: 150ms;\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n}\n.data-\\[motion\\^\\=to-\\]\\:animate-out[data-motion^=to-] {\n animation-name: exit;\n animation-duration: 150ms;\n --tw-exit-opacity: initial;\n --tw-exit-scale: initial;\n --tw-exit-rotate: initial;\n --tw-exit-translate-x: initial;\n --tw-exit-translate-y: initial;\n}\n.data-\\[state\\=closed\\]\\:animate-out[data-state=closed] {\n animation-name: exit;\n animation-duration: 150ms;\n --tw-exit-opacity: initial;\n --tw-exit-scale: initial;\n --tw-exit-rotate: initial;\n --tw-exit-translate-x: initial;\n --tw-exit-translate-y: initial;\n}\n.data-\\[state\\=hidden\\]\\:animate-out[data-state=hidden] {\n animation-name: exit;\n animation-duration: 150ms;\n --tw-exit-opacity: initial;\n --tw-exit-scale: initial;\n --tw-exit-rotate: initial;\n --tw-exit-translate-x: initial;\n --tw-exit-translate-y: initial;\n}\n.data-\\[swipe\\=end\\]\\:animate-out[data-swipe=end] {\n animation-name: exit;\n animation-duration: 150ms;\n --tw-exit-opacity: initial;\n --tw-exit-scale: initial;\n --tw-exit-rotate: initial;\n --tw-exit-translate-x: initial;\n --tw-exit-translate-y: initial;\n}\n.data-\\[motion\\^\\=from-\\]\\:fade-in[data-motion^=from-] {\n --tw-enter-opacity: 0;\n}\n.data-\\[motion\\^\\=to-\\]\\:fade-out[data-motion^=to-] {\n --tw-exit-opacity: 0;\n}\n.data-\\[state\\=closed\\]\\:fade-out-0[data-state=closed] {\n --tw-exit-opacity: 0;\n}\n.data-\\[state\\=closed\\]\\:fade-out-80[data-state=closed] {\n --tw-exit-opacity: 0.8;\n}\n.data-\\[state\\=hidden\\]\\:fade-out[data-state=hidden] {\n --tw-exit-opacity: 0;\n}\n.data-\\[state\\=open\\]\\:fade-in-0[data-state=open] {\n --tw-enter-opacity: 0;\n}\n.data-\\[state\\=visible\\]\\:fade-in[data-state=visible] {\n --tw-enter-opacity: 0;\n}\n.data-\\[state\\=closed\\]\\:zoom-out-95[data-state=closed] {\n --tw-exit-scale: .95;\n}\n.data-\\[state\\=open\\]\\:zoom-in-90[data-state=open] {\n --tw-enter-scale: .9;\n}\n.data-\\[state\\=open\\]\\:zoom-in-95[data-state=open] {\n --tw-enter-scale: .95;\n}\n.data-\\[motion\\=from-end\\]\\:slide-in-from-right-52[data-motion=from-end] {\n --tw-enter-translate-x: 13rem;\n}\n.data-\\[motion\\=from-start\\]\\:slide-in-from-left-52[data-motion=from-start] {\n --tw-enter-translate-x: -13rem;\n}\n.data-\\[motion\\=to-end\\]\\:slide-out-to-right-52[data-motion=to-end] {\n --tw-exit-translate-x: 13rem;\n}\n.data-\\[motion\\=to-start\\]\\:slide-out-to-left-52[data-motion=to-start] {\n --tw-exit-translate-x: -13rem;\n}\n.data-\\[side\\=bottom\\]\\:slide-in-from-top-2[data-side=bottom] {\n --tw-enter-translate-y: -0.5rem;\n}\n.data-\\[side\\=left\\]\\:slide-in-from-right-2[data-side=left] {\n --tw-enter-translate-x: 0.5rem;\n}\n.data-\\[side\\=right\\]\\:slide-in-from-left-2[data-side=right] {\n --tw-enter-translate-x: -0.5rem;\n}\n.data-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=top] {\n --tw-enter-translate-y: 0.5rem;\n}\n.data-\\[state\\=closed\\]\\:slide-out-to-bottom[data-state=closed] {\n --tw-exit-translate-y: 100%;\n}\n.data-\\[state\\=closed\\]\\:slide-out-to-left[data-state=closed] {\n --tw-exit-translate-x: -100%;\n}\n.data-\\[state\\=closed\\]\\:slide-out-to-left-1\\/2[data-state=closed] {\n --tw-exit-translate-x: -50%;\n}\n.data-\\[state\\=closed\\]\\:slide-out-to-right[data-state=closed] {\n --tw-exit-translate-x: 100%;\n}\n.data-\\[state\\=closed\\]\\:slide-out-to-right-full[data-state=closed] {\n --tw-exit-translate-x: 100%;\n}\n.data-\\[state\\=closed\\]\\:slide-out-to-top[data-state=closed] {\n --tw-exit-translate-y: -100%;\n}\n.data-\\[state\\=closed\\]\\:slide-out-to-top-\\[48\\%\\][data-state=closed] {\n --tw-exit-translate-y: -48%;\n}\n.data-\\[state\\=open\\]\\:slide-in-from-bottom[data-state=open] {\n --tw-enter-translate-y: 100%;\n}\n.data-\\[state\\=open\\]\\:slide-in-from-left[data-state=open] {\n --tw-enter-translate-x: -100%;\n}\n.data-\\[state\\=open\\]\\:slide-in-from-left-1\\/2[data-state=open] {\n --tw-enter-translate-x: -50%;\n}\n.data-\\[state\\=open\\]\\:slide-in-from-right[data-state=open] {\n --tw-enter-translate-x: 100%;\n}\n.data-\\[state\\=open\\]\\:slide-in-from-top[data-state=open] {\n --tw-enter-translate-y: -100%;\n}\n.data-\\[state\\=open\\]\\:slide-in-from-top-\\[48\\%\\][data-state=open] {\n --tw-enter-translate-y: -48%;\n}\n.data-\\[state\\=open\\]\\:slide-in-from-top-full[data-state=open] {\n --tw-enter-translate-y: -100%;\n}\n.data-\\[state\\=closed\\]\\:duration-300[data-state=closed] {\n animation-duration: 300ms;\n}\n.data-\\[state\\=open\\]\\:duration-150[data-state=open] {\n animation-duration: 150ms;\n}\n.data-\\[state\\=open\\]\\:duration-500[data-state=open] {\n animation-duration: 500ms;\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@supports (backdrop-filter: var(--tw)) {\n .supports-\\[backdrop-filter\\]\\:bg-background\\/60 {\n background-color: hsl(var(--background) / 0.6);\n }\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-border:is(.dark *) {\n --tw-border-opacity: 1;\n border-color: hsl(var(--border) / var(--tw-border-opacity, 1));\n}\n.dark\\:border-border\\/30:is(.dark *) {\n border-color: hsl(var(--border) / 0.3);\n}\n.dark\\:border-border\\/40:is(.dark *) {\n border-color: hsl(var(--border) / 0.4);\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-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-input:is(.dark *) {\n --tw-border-opacity: 1;\n border-color: hsl(var(--input) / 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-purple-800:is(.dark *) {\n --tw-border-opacity: 1;\n border-color: rgb(107 33 168 / var(--tw-border-opacity, 1));\n}\n.dark\\:border-success\\/30:is(.dark *) {\n border-color: hsl(var(--success) / 0.3);\n}\n.dark\\:border-white\\/10:is(.dark *) {\n border-color: rgb(255 255 255 / 0.1);\n}\n.dark\\:border-yellow-800:is(.dark *) {\n --tw-border-opacity: 1;\n border-color: rgb(133 77 14 / var(--tw-border-opacity, 1));\n}\n.dark\\:bg-accent:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--accent) / var(--tw-bg-opacity, 1));\n}\n.dark\\:bg-amber-600:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(217 119 6 / var(--tw-bg-opacity, 1));\n}\n.dark\\:bg-background:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--background) / var(--tw-bg-opacity, 1));\n}\n.dark\\:bg-black\\/10:is(.dark *) {\n background-color: rgb(0 0 0 / 0.1);\n}\n.dark\\:bg-black\\/5:is(.dark *) {\n background-color: rgb(0 0 0 / 0.05);\n}\n.dark\\:bg-blue-900\\/20:is(.dark *) {\n background-color: rgb(30 58 138 / 0.2);\n}\n.dark\\:bg-destructive:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--destructive) / var(--tw-bg-opacity, 1));\n}\n.dark\\:bg-destructive\\/20:is(.dark *) {\n background-color: hsl(var(--destructive) / 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\\/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\\/60:is(.dark *) {\n background-color: rgb(17 24 39 / 0.6);\n}\n.dark\\:bg-green-600:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(22 163 74 / 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-400:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(192 132 252 / var(--tw-bg-opacity, 1));\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-purple-950\\/20:is(.dark *) {\n background-color: rgb(59 7 100 / 0.2);\n}\n.dark\\:bg-red-600:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));\n}\n.dark\\:bg-red-900\\/20:is(.dark *) {\n background-color: rgb(127 29 29 / 0.2);\n}\n.dark\\:bg-secondary:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--secondary) / var(--tw-bg-opacity, 1));\n}\n.dark\\:bg-success:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--success) / var(--tw-bg-opacity, 1));\n}\n.dark\\:bg-success\\/10:is(.dark *) {\n background-color: hsl(var(--success) / 0.1);\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\\/80:is(.dark *) {\n background-color: rgb(255 255 255 / 0.8);\n}\n.dark\\:bg-yellow-800:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(133 77 14 / var(--tw-bg-opacity, 1));\n}\n.dark\\:bg-yellow-900\\/10:is(.dark *) {\n background-color: rgb(113 63 18 / 0.1);\n}\n.dark\\:bg-yellow-900\\/20:is(.dark *) {\n background-color: rgb(113 63 18 / 0.2);\n}\n.dark\\:from-blue-700:is(.dark *) {\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.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\\:from-purple-950\\/50:is(.dark *) {\n --tw-gradient-from: rgb(59 7 100 / 0.5) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(59 7 100 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.dark\\:from-yellow-900\\/10:is(.dark *) {\n --tw-gradient-from: rgb(113 63 18 / 0.1) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(113 63 18 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.dark\\:from-yellow-900\\/5:is(.dark *) {\n --tw-gradient-from: rgb(113 63 18 / 0.05) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(113 63 18 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.dark\\:via-accent\\/10:is(.dark *) {\n --tw-gradient-to: hsl(var(--accent) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops:\n var(--tw-gradient-from),\n hsl(var(--accent) / 0.1) var(--tw-gradient-via-position),\n var(--tw-gradient-to);\n}\n.dark\\:to-blue-950\\/50:is(.dark *) {\n --tw-gradient-to: rgb(23 37 84 / 0.5) var(--tw-gradient-to-position);\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\\:to-purple-700:is(.dark *) {\n --tw-gradient-to: #7e22ce var(--tw-gradient-to-position);\n}\n.dark\\:to-secondary\\/10:is(.dark *) {\n --tw-gradient-to: hsl(var(--secondary) / 0.1) var(--tw-gradient-to-position);\n}\n.dark\\:to-yellow-900\\/5:is(.dark *) {\n --tw-gradient-to: rgb(113 63 18 / 0.05) var(--tw-gradient-to-position);\n}\n.dark\\:text-accent-foreground:is(.dark *) {\n --tw-text-opacity: 1;\n color: hsl(var(--accent-foreground) / var(--tw-text-opacity, 1));\n}\n.dark\\:text-black:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(0 0 0 / var(--tw-text-opacity, 1));\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-blue-500:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(59 130 246 / var(--tw-text-opacity, 1));\n}\n.dark\\:text-destructive-foreground:is(.dark *) {\n --tw-text-opacity: 1;\n color: hsl(var(--destructive-foreground) / var(--tw-text-opacity, 1));\n}\n.dark\\:text-foreground:is(.dark *) {\n --tw-text-opacity: 1;\n color: hsl(var(--foreground) / 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-300\\/60:is(.dark *) {\n color: rgb(209 213 219 / 0.6);\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-500:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(107 114 128 / 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-green-500:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(34 197 94 / 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-orange-400:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(251 146 60 / 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-slate-400:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(148 163 184 / var(--tw-text-opacity, 1));\n}\n.dark\\:text-success-foreground:is(.dark *) {\n --tw-text-opacity: 1;\n color: hsl(var(--success-foreground) / 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-200:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(254 240 138 / var(--tw-text-opacity, 1));\n}\n.dark\\:text-yellow-300:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(253 224 71 / 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\\:text-yellow-500:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(234 179 8 / var(--tw-text-opacity, 1));\n}\n.dark\\:text-opacity-95:is(.dark *) {\n --tw-text-opacity: 0.95;\n}\n.dark\\:shadow-\\[0_0_20px_rgba\\(59\\,130\\,246\\,0\\.5\\)\\]:is(.dark *) {\n --tw-shadow: 0 0 20px rgba(59,130,246,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.dark\\:shadow-\\[0_0_20px_rgba\\(var\\(--primary\\)\\,0\\.7\\)\\]:is(.dark *) {\n --tw-shadow: 0 0 20px rgba(var(--primary),0.7);\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.dark\\:shadow-\\[0_0_40px_rgba\\(var\\(--primary\\)\\,0\\.25\\)\\]:is(.dark *) {\n --tw-shadow: 0 0 40px rgba(var(--primary),0.25);\n --tw-shadow-colored: 0 0 40px 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-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-xl:is(.dark *) {\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.dark\\:shadow-black\\/20:is(.dark *) {\n --tw-shadow-color: rgb(0 0 0 / 0.2);\n --tw-shadow: var(--tw-shadow-colored);\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-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-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 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\\:placeholder\\:text-gray-400:is(.dark *)::-moz-placeholder {\n --tw-text-opacity: 1;\n color: rgb(156 163 175 / var(--tw-text-opacity, 1));\n}\n.dark\\:placeholder\\:text-gray-400:is(.dark *)::placeholder {\n --tw-text-opacity: 1;\n color: rgb(156 163 175 / var(--tw-text-opacity, 1));\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-accent:hover:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--accent) / var(--tw-bg-opacity, 1));\n}\n.dark\\:hover\\:bg-destructive\\/20:hover:is(.dark *) {\n background-color: hsl(var(--destructive) / 0.2);\n}\n.dark\\:hover\\:bg-destructive\\/90:hover:is(.dark *) {\n background-color: hsl(var(--destructive) / 0.9);\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\\/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-green-900\\/20:hover:is(.dark *) {\n background-color: rgb(20 83 45 / 0.2);\n}\n.dark\\:hover\\:bg-primary\\/10:hover:is(.dark *) {\n background-color: hsl(var(--primary) / 0.1);\n}\n.dark\\:hover\\:bg-primary\\/20:hover:is(.dark *) {\n background-color: hsl(var(--primary) / 0.2);\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-red-900\\/20:hover:is(.dark *) {\n background-color: rgb(127 29 29 / 0.2);\n}\n.dark\\:hover\\:bg-success\\/20:hover:is(.dark *) {\n background-color: hsl(var(--success) / 0.2);\n}\n.dark\\:hover\\:bg-success\\/80:hover:is(.dark *) {\n background-color: hsl(var(--success) / 0.8);\n}\n.dark\\:hover\\:bg-success\\/90:hover:is(.dark *) {\n background-color: hsl(var(--success) / 0.9);\n}\n.dark\\:hover\\:bg-warning\\/20:hover:is(.dark *) {\n background-color: hsl(var(--warning) / 0.2);\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\\:bg-white\\/5:hover:is(.dark *) {\n background-color: rgb(255 255 255 / 0.05);\n}\n.dark\\:hover\\:bg-yellow-900\\/20:hover:is(.dark *) {\n background-color: rgb(113 63 18 / 0.2);\n}\n.dark\\:hover\\:from-purple-500\\/20:hover:is(.dark *) {\n --tw-gradient-from: rgb(168 85 247 / 0.2) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.dark\\:hover\\:to-pink-500\\/20:hover:is(.dark *) {\n --tw-gradient-to: rgb(236 72 153 / 0.2) var(--tw-gradient-to-position);\n}\n.dark\\:hover\\:text-accent-foreground:hover:is(.dark *) {\n --tw-text-opacity: 1;\n color: hsl(var(--accent-foreground) / var(--tw-text-opacity, 1));\n}\n.dark\\:hover\\:text-destructive:hover:is(.dark *) {\n --tw-text-opacity: 1;\n color: hsl(var(--destructive) / var(--tw-text-opacity, 1));\n}\n.dark\\:hover\\:text-gray-100:hover:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(243 244 246 / var(--tw-text-opacity, 1));\n}\n.dark\\:hover\\:text-gray-200:hover:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(229 231 235 / var(--tw-text-opacity, 1));\n}\n.dark\\:hover\\:text-gray-400:hover:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(156 163 175 / var(--tw-text-opacity, 1));\n}\n.dark\\:hover\\:text-green-400:hover:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(74 222 128 / var(--tw-text-opacity, 1));\n}\n.dark\\:hover\\:text-primary:hover:is(.dark *) {\n --tw-text-opacity: 1;\n color: hsl(var(--primary) / var(--tw-text-opacity, 1));\n}\n.dark\\:hover\\:text-primary\\/90:hover:is(.dark *) {\n color: hsl(var(--primary) / 0.9);\n}\n.dark\\:hover\\:text-purple-400:hover:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(192 132 252 / var(--tw-text-opacity, 1));\n}\n.dark\\:hover\\:text-red-400:hover:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(248 113 113 / var(--tw-text-opacity, 1));\n}\n.dark\\:hover\\:text-success:hover:is(.dark *) {\n --tw-text-opacity: 1;\n color: hsl(var(--success) / var(--tw-text-opacity, 1));\n}\n.dark\\:hover\\:text-warning:hover:is(.dark *) {\n --tw-text-opacity: 1;\n color: hsl(var(--warning) / 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\\:hover\\:text-yellow-400:hover:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(250 204 21 / var(--tw-text-opacity, 1));\n}\n.dark\\:hover\\:text-opacity-95:hover:is(.dark *) {\n --tw-text-opacity: 0.95;\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-green-400:focus:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(74 222 128 / 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-red-400:focus:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(248 113 113 / 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\\:text-yellow-400:focus:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(250 204 21 / 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-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\\/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-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-accent\\/80:active:is(.dark *) {\n background-color: hsl(var(--accent) / 0.8);\n}\n.dark\\:active\\:bg-destructive\\/80:active:is(.dark *) {\n background-color: hsl(var(--destructive) / 0.8);\n}\n.dark\\:active\\:bg-gray-600:active:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));\n}\n.dark\\:active\\:bg-gray-700:active:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));\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\\/80:active:is(.dark *) {\n background-color: hsl(var(--success) / 0.8);\n}\n.peer:disabled ~ .dark\\:peer-disabled\\:opacity-60:is(.dark *) {\n opacity: 0.6;\n}\n.dark\\:data-\\[state\\=active\\]\\:bg-white\\/10[data-state=active]:is(.dark *) {\n background-color: rgb(255 255 255 / 0.1);\n}\n.dark\\:data-\\[state\\=on\\]\\:bg-accent[data-state=on]:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--accent) / var(--tw-bg-opacity, 1));\n}\n.dark\\:data-\\[state\\=on\\]\\:bg-destructive[data-state=on]:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--destructive) / var(--tw-bg-opacity, 1));\n}\n.dark\\:data-\\[state\\=on\\]\\:bg-primary[data-state=on]:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--primary) / var(--tw-bg-opacity, 1));\n}\n.dark\\:data-\\[state\\=on\\]\\:bg-success[data-state=on]:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--success) / var(--tw-bg-opacity, 1));\n}\n.dark\\:data-\\[state\\=on\\]\\:bg-warning[data-state=on]:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--warning) / var(--tw-bg-opacity, 1));\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\\=on\\]\\:from-purple-600[data-state=on]:is(.dark *) {\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.dark\\:data-\\[state\\=on\\]\\:to-pink-600[data-state=on]:is(.dark *) {\n --tw-gradient-to: #db2777 var(--tw-gradient-to-position);\n}\n.dark\\:data-\\[state\\=on\\]\\:text-accent-foreground[data-state=on]:is(.dark *) {\n --tw-text-opacity: 1;\n color: hsl(var(--accent-foreground) / var(--tw-text-opacity, 1));\n}\n.dark\\:data-\\[state\\=on\\]\\:text-destructive-foreground[data-state=on]:is(.dark *) {\n --tw-text-opacity: 1;\n color: hsl(var(--destructive-foreground) / var(--tw-text-opacity, 1));\n}\n.dark\\:data-\\[state\\=on\\]\\:text-primary-foreground[data-state=on]:is(.dark *) {\n --tw-text-opacity: 1;\n color: hsl(var(--primary-foreground) / var(--tw-text-opacity, 1));\n}\n.dark\\:data-\\[state\\=on\\]\\:text-success-foreground[data-state=on]:is(.dark *) {\n --tw-text-opacity: 1;\n color: hsl(var(--success-foreground) / var(--tw-text-opacity, 1));\n}\n.dark\\:data-\\[state\\=on\\]\\:text-warning-foreground[data-state=on]:is(.dark *) {\n --tw-text-opacity: 1;\n color: hsl(var(--warning-foreground) / var(--tw-text-opacity, 1));\n}\n.dark\\:data-\\[state\\=on\\]\\:text-white[data-state=on]:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\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\\:mt-0 {\n margin-top: 0px;\n }\n .sm\\:flex {\n display: flex;\n }\n .sm\\:inline-flex {\n display: inline-flex;\n }\n .sm\\:hidden {\n display: none;\n }\n .sm\\:h-2 {\n height: 0.5rem;\n }\n .sm\\:h-4 {\n height: 1rem;\n }\n .sm\\:h-7 {\n height: 1.75rem;\n }\n .sm\\:h-9 {\n height: 2.25rem;\n }\n .sm\\:w-\\[540px\\] {\n width: 540px;\n }\n .sm\\:min-w-\\[24rem\\] {\n min-width: 24rem;\n }\n .sm\\:max-w-4xl {\n max-width: 56rem;\n }\n .sm\\:max-w-\\[425px\\] {\n max-width: 425px;\n }\n .sm\\:max-w-\\[480px\\] {\n max-width: 480px;\n }\n .sm\\:max-w-\\[500px\\] {\n max-width: 500px;\n }\n .sm\\:max-w-\\[600px\\] {\n max-width: 600px;\n }\n .sm\\:max-w-md {\n max-width: 28rem;\n }\n .sm\\:max-w-sm {\n max-width: 24rem;\n }\n .sm\\:columns-2 {\n -moz-columns: 2;\n columns: 2;\n }\n .sm\\:grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n .sm\\:grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\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\\:justify-between {\n justify-content: space-between;\n }\n .sm\\:gap-2 {\n gap: 0.5rem;\n }\n .sm\\:gap-2\\.5 {\n gap: 0.625rem;\n }\n .sm\\:gap-4 {\n gap: 1rem;\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\\:rounded-lg {\n border-radius: var(--radius);\n }\n .sm\\:p-3 {\n padding: 0.75rem;\n }\n .sm\\:p-6 {\n padding: 1.5rem;\n }\n .sm\\:px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n }\n .sm\\:text-left {\n text-align: left;\n }\n .sm\\:text-right {\n text-align: right;\n }\n .sm\\:text-\\[0\\.75rem\\] {\n font-size: 0.75rem;\n }\n .sm\\:text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n .sm\\:text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n }\n .data-\\[state\\=open\\]\\:sm\\:slide-in-from-bottom-full[data-state=open] {\n --tw-enter-translate-y: 100%;\n }\n}\n@media (min-width: 768px) {\n .md\\:absolute {\n position: absolute;\n }\n .md\\:flex {\n display: flex;\n }\n .md\\:hidden {\n display: none;\n }\n .md\\:w-\\[400px\\] {\n width: 400px;\n }\n .md\\:w-\\[var\\(--radix-navigation-menu-viewport-width\\)\\] {\n width: var(--radix-navigation-menu-viewport-width);\n }\n .md\\:w-auto {\n width: auto;\n }\n .md\\:max-w-\\[420px\\] {\n max-width: 420px;\n }\n .md\\:max-w-\\[640px\\] {\n max-width: 640px;\n }\n .md\\:columns-3 {\n -moz-columns: 3;\n columns: 3;\n }\n .md\\:grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n .md\\:grid-cols-3 {\n grid-template-columns: repeat(3, 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\\:relative {\n position: relative;\n }\n .lg\\:inset-auto {\n inset: auto;\n }\n .lg\\:block {\n display: block;\n }\n .lg\\:flex {\n display: flex;\n }\n .lg\\:hidden {\n display: none;\n }\n .lg\\:w-0 {\n width: 0px;\n }\n .lg\\:w-64 {\n width: 16rem;\n }\n .lg\\:w-\\[500px\\] {\n width: 500px;\n }\n .lg\\:max-w-\\[768px\\] {\n max-width: 768px;\n }\n .lg\\:translate-x-0 {\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 .lg\\:columns-4 {\n -moz-columns: 4;\n columns: 4;\n }\n .lg\\:grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\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\\:grid-cols-5 {\n grid-template-columns: repeat(5, minmax(0, 1fr));\n }\n .lg\\:grid-cols-\\[\\.75fr_1fr\\] {\n grid-template-columns: .75fr 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 .lg\\:px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n }\n}\n@media (min-width: 1280px) {\n .xl\\:max-w-\\[1024px\\] {\n max-width: 1024px;\n }\n .xl\\:grid-cols-6 {\n grid-template-columns: repeat(6, minmax(0, 1fr));\n }\n}\n@media print {\n .print\\:relative {\n position: relative;\n }\n .print\\:hidden {\n display: none;\n }\n .print\\:break-inside-avoid {\n -moz-column-break-inside: avoid;\n break-inside: avoid;\n }\n .print\\:border-0 {\n border-width: 0px;\n }\n .print\\:bg-transparent {\n background-color: transparent;\n }\n .print\\:pb-2 {\n padding-bottom: 0.5rem;\n }\n .print\\: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}\n.\\[\\&\\+div\\]\\:text-xs + div {\n font-size: 0.75rem;\n line-height: 1rem;\n}\n.\\[\\&\\:has\\(\\[role\\=checkbox\\]\\)\\]\\:pr-0:has([role=checkbox]) {\n padding-right: 0px;\n}\n.\\[\\&\\>\\*\\]\\:snap-center > * {\n scroll-snap-align: center;\n}\n.\\[\\&\\>div\\]\\:bg-destructive > div {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--destructive) / var(--tw-bg-opacity, 1));\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.\\[\\&\\>svg\\]\\:shrink-0 > svg {\n flex-shrink: 0;\n}\n.even\\:\\[\\&\\>tr\\]\\:bg-muted\\/50 > tr:nth-child(even) {\n background-color: hsl(var(--muted) / 0.5);\n}\n.\\[\\&\\[data-state\\=open\\]\\>\\.chevron\\]\\:rotate-180[data-state=open] > .chevron {\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.\\[\\&\\[data-state\\=open\\]\\]\\:text-primary[data-state=open] {\n --tw-text-opacity: 1;\n color: hsl(var(--primary) / var(--tw-text-opacity, 1));\n}\n.dark\\:\\[\\&\\[data-state\\=open\\]\\]\\:text-primary\\/90[data-state=open]:is(.dark *) {\n color: hsl(var(--primary) / 0.9);\n}\n.\\[\\&_\\[cmdk-group-heading\\]\\]\\:px-2 [cmdk-group-heading] {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n}\n.\\[\\&_\\[cmdk-group-heading\\]\\]\\:py-1\\.5 [cmdk-group-heading] {\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n}\n.\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-xs [cmdk-group-heading] {\n font-size: 0.75rem;\n line-height: 1rem;\n}\n.\\[\\&_\\[cmdk-group-heading\\]\\]\\:font-medium [cmdk-group-heading] {\n font-weight: 500;\n}\n.\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-muted-foreground [cmdk-group-heading] {\n --tw-text-opacity: 1;\n color: hsl(var(--muted-foreground) / var(--tw-text-opacity, 1));\n}\n@keyframes accordion-down {\n from {\n height: 0;\n }\n to {\n height: var(--radix-accordion-content-height);\n }\n}\n.\\[\\&_\\[data-state\\=open\\]\\]\\:animate-\\[accordion-down_0\\.2s_ease-in-out\\] [data-state=open] {\n animation: accordion-down 0.2s ease-in-out;\n}\n@keyframes accordion-down {\n from {\n height: 0;\n }\n to {\n height: var(--radix-accordion-content-height);\n }\n}\n.\\[\\&_\\[data-state\\=open\\]\\]\\:animate-\\[accordion-down_0\\.3s_cubic-bezier\\(0\\.34\\,1\\.56\\,0\\.64\\,1\\)\\] [data-state=open] {\n animation: accordion-down 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);\n}\n@keyframes accordion-down {\n from {\n height: 0;\n }\n to {\n height: var(--radix-accordion-content-height);\n }\n}\n.\\[\\&_\\[data-state\\=open\\]\\]\\:animate-\\[accordion-down_0\\.4s_cubic-bezier\\(0\\.68\\,-0\\.55\\,0\\.265\\,1\\.55\\)\\] [data-state=open] {\n animation: accordion-down 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);\n}\n.\\[\\&_\\[data-state\\=open\\]\\]\\:animate-\\[collapsible-down_0\\.2s_ease-in-out\\] [data-state=open] {\n animation: collapsible-down 0.2s ease-in-out;\n}\n.\\[\\&_\\[data-state\\=open\\]\\]\\:animate-\\[collapsible-down_0\\.3s_cubic-bezier\\(0\\.34\\,1\\.56\\,0\\.64\\,1\\)\\] [data-state=open] {\n animation: collapsible-down 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);\n}\n.\\[\\&_\\[data-state\\=open\\]\\]\\:animate-\\[collapsible-down_0\\.4s_cubic-bezier\\(0\\.68\\,-0\\.55\\,0\\.265\\,1\\.55\\)\\] [data-state=open] {\n animation: collapsible-down 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);\n}\n.\\[\\&_\\[data-state\\=open\\]\\]\\:animate-\\[slide-down_0\\.3s_ease-out\\] [data-state=open] {\n animation: slide-down 0.3s ease-out;\n}\n.\\[\\&_blockquote\\]\\:border-l-4 blockquote {\n border-left-width: 4px;\n}\n.\\[\\&_blockquote\\]\\:border-muted-foreground\\/30 blockquote {\n border-color: hsl(var(--muted-foreground) / 0.3);\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-muted pre {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--muted) / var(--tw-bg-opacity, 1));\n}\n.\\[\\&_pre\\]\\:p-4 pre {\n padding: 1rem;\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-border table td {\n --tw-border-opacity: 1;\n border-color: hsl(var(--border) / 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-border table th {\n --tw-border-opacity: 1;\n border-color: hsl(var(--border) / var(--tw-border-opacity, 1));\n}\n.\\[\\&_table_th\\]\\:bg-muted table th {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--muted) / 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.\\[\\&_tr\\:last-child\\]\\:border-0 tr:last-child {\n border-width: 0px;\n}\n.\\[\\&_tr\\]\\:border-b tr {\n border-bottom-width: 1px;\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');
|
|
1754
|
+
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.\\!container {\n width: 100% !important;\n margin-right: auto !important;\n margin-left: auto !important;\n padding-right: 1rem !important;\n padding-left: 1rem !important;\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 !important;\n padding-right: 2rem !important;\n padding-left: 2rem !important;\n }\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 !important;\n }\n .container {\n max-width: 768px;\n }\n}\n@media (min-width: 1024px) {\n .\\!container {\n max-width: 1024px !important;\n padding-right: 4rem !important;\n padding-left: 4rem !important;\n }\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 !important;\n padding-right: 5rem !important;\n padding-left: 5rem !important;\n }\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 !important;\n padding-right: 6rem !important;\n padding-left: 6rem !important;\n }\n .container {\n max-width: 1536px;\n padding-right: 6rem;\n padding-left: 6rem;\n }\n}\n.dark .moonui-toggle-base {\n color: hsl(var(--foreground));\n}\n.dark .moonui-toggle-default:hover {\n background-color: hsl(var(--muted));\n color: hsl(var(--muted-foreground));\n}\n.dark .moonui-toggle-default[data-state=on] {\n background-color: hsl(var(--accent));\n color: hsl(var(--accent-foreground));\n}\n.dark .moonui-toggle-secondary:hover {\n background-color: hsl(var(--accent) / 0.2);\n color: hsl(var(--accent-foreground));\n}\n.dark .moonui-toggle-secondary[data-state=on] {\n background-color: hsl(var(--accent));\n color: hsl(var(--accent-foreground));\n}\n.moonui-data-table-header {\n border-bottom-width: 1px;\n background-color: hsl(var(--muted) / 0.5);\n}\n.moonui-data-table-row {\n border-bottom-width: 1px;\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.moonui-data-table-row:hover {\n background-color: hsl(var(--muted) / 0.5);\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.invisible {\n visibility: hidden;\n}\n.collapse {\n visibility: collapse;\n}\n.static {\n position: static;\n}\n.\\!fixed {\n position: fixed !important;\n}\n.fixed {\n position: fixed;\n}\n.absolute {\n position: absolute;\n}\n.relative {\n position: relative;\n}\n.\\!sticky {\n position: sticky !important;\n}\n.sticky {\n position: sticky;\n}\n.\\!inset-4 {\n inset: 1rem !important;\n}\n.inset-0 {\n inset: 0px;\n}\n.inset-4 {\n inset: 1rem;\n}\n.inset-x-0 {\n left: 0px;\n right: 0px;\n}\n.inset-y-0 {\n top: 0px;\n bottom: 0px;\n}\n.-left-12 {\n left: -3rem;\n}\n.-right-1 {\n right: -0.25rem;\n}\n.-top-1 {\n top: -0.25rem;\n}\n.-top-3 {\n top: -0.75rem;\n}\n.-top-8 {\n top: -2rem;\n}\n.bottom-0 {\n bottom: 0px;\n}\n.bottom-2 {\n bottom: 0.5rem;\n}\n.bottom-20 {\n bottom: 5rem;\n}\n.bottom-3 {\n bottom: 0.75rem;\n}\n.bottom-4 {\n bottom: 1rem;\n}\n.bottom-8 {\n bottom: 2rem;\n}\n.bottom-\\[5\\%\\] {\n bottom: 5%;\n}\n.left-0 {\n left: 0px;\n}\n.left-1\\/2 {\n left: 50%;\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-6 {\n left: 1.5rem;\n}\n.left-7 {\n left: 1.75rem;\n}\n.left-\\[50\\%\\] {\n left: 50%;\n}\n.right-0 {\n right: 0px;\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-12 {\n top: 3rem;\n}\n.top-2 {\n top: 0.5rem;\n}\n.top-2\\.5 {\n top: 0.625rem;\n}\n.top-3 {\n top: 0.75rem;\n}\n.top-4 {\n top: 1rem;\n}\n.top-8 {\n top: 2rem;\n}\n.top-\\[1px\\] {\n top: 1px;\n}\n.top-\\[5\\%\\] {\n top: 5%;\n}\n.top-\\[50\\%\\] {\n top: 50%;\n}\n.top-\\[60\\%\\] {\n top: 60%;\n}\n.top-auto {\n top: auto;\n}\n.top-full {\n top: 100%;\n}\n.isolate {\n isolation: isolate;\n}\n.\\!z-50 {\n z-index: 50 !important;\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-20 {\n z-index: 20;\n}\n.z-30 {\n z-index: 30;\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.z-\\[1\\] {\n z-index: 1;\n}\n.z-\\[9999\\] {\n z-index: 9999;\n}\n.col-span-full {\n grid-column: 1 / -1;\n}\n.float-left {\n float: left;\n}\n.clear-both {\n clear: both;\n}\n.-mx-1 {\n margin-left: -0.25rem;\n margin-right: -0.25rem;\n}\n.-mx-2 {\n margin-left: -0.5rem;\n margin-right: -0.5rem;\n}\n.-mx-4 {\n margin-left: -1rem;\n margin-right: -1rem;\n}\n.-mx-6 {\n margin-left: -1.5rem;\n margin-right: -1.5rem;\n}\n.-mx-px {\n margin-left: -1px;\n margin-right: -1px;\n}\n.mx-1 {\n margin-left: 0.25rem;\n margin-right: 0.25rem;\n}\n.mx-10 {\n margin-left: 2.5rem;\n margin-right: 2.5rem;\n}\n.mx-4 {\n margin-left: 1rem;\n margin-right: 1rem;\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.my-6 {\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n}\n.-mb-4 {\n margin-bottom: -1rem;\n}\n.-ml-0\\.5 {\n margin-left: -0.125rem;\n}\n.-mr-1 {\n margin-right: -0.25rem;\n}\n.-mr-2 {\n margin-right: -0.5rem;\n}\n.-mt-4 {\n margin-top: -1rem;\n}\n.-mt-px {\n margin-top: -1px;\n}\n.mb-1 {\n margin-bottom: 0.25rem;\n}\n.mb-12 {\n margin-bottom: 3rem;\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-6 {\n margin-bottom: 1.5rem;\n}\n.mb-8 {\n margin-bottom: 2rem;\n}\n.ml-1 {\n margin-left: 0.25rem;\n}\n.ml-16 {\n margin-left: 4rem;\n}\n.ml-2 {\n margin-left: 0.5rem;\n}\n.ml-3 {\n margin-left: 0.75rem;\n}\n.ml-4 {\n margin-left: 1rem;\n}\n.ml-6 {\n margin-left: 1.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-3 {\n margin-right: 0.75rem;\n}\n.mr-4 {\n margin-right: 1rem;\n}\n.mr-8 {\n margin-right: 2rem;\n}\n.mr-auto {\n margin-right: auto;\n}\n.mt-0 {\n margin-top: 0px;\n}\n.mt-0\\.5 {\n margin-top: 0.125rem;\n}\n.mt-1 {\n margin-top: 0.25rem;\n}\n.mt-1\\.5 {\n margin-top: 0.375rem;\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.mt-8 {\n margin-top: 2rem;\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.contents {\n display: contents;\n}\n.hidden {\n display: none;\n}\n.aspect-\\[3\\/4\\] {\n aspect-ratio: 3/4;\n}\n.aspect-square {\n aspect-ratio: 1 / 1;\n}\n.aspect-video {\n aspect-ratio: 16 / 9;\n}\n.\\!h-auto {\n height: auto !important;\n}\n.h-0 {\n height: 0px;\n}\n.h-0\\.5 {\n height: 0.125rem;\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-2\\.5 {\n height: 0.625rem;\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-36 {\n height: 9rem;\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-64 {\n height: 16rem;\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-\\[30vh\\] {\n height: 30vh;\n}\n.h-\\[400px\\] {\n height: 400px;\n}\n.h-\\[50vh\\] {\n height: 50vh;\n}\n.h-\\[60\\%\\] {\n height: 60%;\n}\n.h-\\[600px\\] {\n height: 600px;\n}\n.h-\\[65\\%\\] {\n height: 65%;\n}\n.h-\\[70vh\\] {\n height: 70vh;\n}\n.h-\\[95vh\\] {\n height: 95vh;\n}\n.h-\\[calc\\(100vh-200px\\)\\] {\n height: calc(100vh - 200px);\n}\n.h-\\[calc\\(100vh-300px\\)\\] {\n height: calc(100vh - 300px);\n}\n.h-\\[var\\(--radix-navigation-menu-viewport-height\\)\\] {\n height: var(--radix-navigation-menu-viewport-height);\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-full {\n height: 100%;\n}\n.h-px {\n height: 1px;\n}\n.h-screen {\n height: 100vh;\n}\n.max-h-32 {\n max-height: 8rem;\n}\n.max-h-64 {\n max-height: 16rem;\n}\n.max-h-96 {\n max-height: 24rem;\n}\n.max-h-\\[300px\\] {\n max-height: 300px;\n}\n.max-h-\\[400px\\] {\n max-height: 400px;\n}\n.max-h-\\[500px\\] {\n max-height: 500px;\n}\n.max-h-\\[600px\\] {\n max-height: 600px;\n}\n.max-h-\\[60vh\\] {\n max-height: 60vh;\n}\n.max-h-\\[700px\\] {\n max-height: 700px;\n}\n.max-h-\\[80vh\\] {\n max-height: 80vh;\n}\n.max-h-\\[90vh\\] {\n max-height: 90vh;\n}\n.max-h-\\[95vh\\] {\n max-height: 95vh;\n}\n.max-h-\\[calc\\(90vh-200px\\)\\] {\n max-height: calc(90vh - 200px);\n}\n.max-h-full {\n max-height: 100%;\n}\n.max-h-none {\n max-height: none;\n}\n.max-h-screen {\n max-height: 100vh;\n}\n.min-h-0 {\n min-height: 0px;\n}\n.min-h-10 {\n min-height: 2.5rem;\n}\n.min-h-11 {\n min-height: 2.75rem;\n}\n.min-h-12 {\n min-height: 3rem;\n}\n.min-h-7 {\n min-height: 1.75rem;\n}\n.min-h-8 {\n min-height: 2rem;\n}\n.min-h-9 {\n min-height: 2.25rem;\n}\n.min-h-\\[100px\\] {\n min-height: 100px;\n}\n.min-h-\\[120px\\] {\n min-height: 120px;\n}\n.min-h-\\[2\\.5rem\\] {\n min-height: 2.5rem;\n}\n.min-h-\\[200px\\] {\n min-height: 200px;\n}\n.min-h-\\[20px\\] {\n min-height: 20px;\n}\n.min-h-\\[3\\.5rem\\] {\n min-height: 3.5rem;\n}\n.min-h-\\[300px\\] {\n min-height: 300px;\n}\n.min-h-\\[3rem\\] {\n min-height: 3rem;\n}\n.min-h-\\[4\\.5rem\\] {\n min-height: 4.5rem;\n}\n.min-h-\\[400px\\] {\n min-height: 400px;\n}\n.min-h-\\[40px\\] {\n min-height: 40px;\n}\n.min-h-\\[4rem\\] {\n min-height: 4rem;\n}\n.min-h-\\[500px\\] {\n min-height: 500px;\n}\n.min-h-\\[50px\\] {\n min-height: 50px;\n}\n.min-h-\\[600px\\] {\n min-height: 600px;\n}\n.min-h-\\[60px\\] {\n min-height: 60px;\n}\n.min-h-\\[80px\\] {\n min-height: 80px;\n}\n.min-h-full {\n min-height: 100%;\n}\n.min-h-screen {\n min-height: 100vh;\n}\n.\\!w-auto {\n width: auto !important;\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\\.5 {\n width: 0.375rem;\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\\.5 {\n width: 0.625rem;\n}\n.w-2\\/3 {\n width: 66.666667%;\n}\n.w-20 {\n width: 5rem;\n}\n.w-24 {\n width: 6rem;\n}\n.w-28 {\n width: 7rem;\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-32 {\n width: 8rem;\n}\n.w-36 {\n width: 9rem;\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-7 {\n width: 1.75rem;\n}\n.w-72 {\n width: 18rem;\n}\n.w-8 {\n width: 2rem;\n}\n.w-80 {\n width: 20rem;\n}\n.w-9 {\n width: 2.25rem;\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-\\[140px\\] {\n width: 140px;\n}\n.w-\\[150px\\] {\n width: 150px;\n}\n.w-\\[1px\\] {\n width: 1px;\n}\n.w-\\[280px\\] {\n width: 280px;\n}\n.w-\\[2px\\] {\n width: 2px;\n}\n.w-\\[380px\\] {\n width: 380px;\n}\n.w-\\[400px\\] {\n width: 400px;\n}\n.w-\\[480px\\] {\n width: 480px;\n}\n.w-\\[60\\%\\] {\n width: 60%;\n}\n.w-\\[65\\%\\] {\n width: 65%;\n}\n.w-\\[70px\\] {\n width: 70px;\n}\n.w-\\[90vw\\] {\n width: 90vw;\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-max {\n width: -moz-max-content;\n width: max-content;\n}\n.w-px {\n width: 1px;\n}\n.w-screen {\n width: 100vw;\n}\n.min-w-0 {\n min-width: 0px;\n}\n.min-w-32 {\n min-width: 8rem;\n}\n.min-w-\\[120px\\] {\n min-width: 120px;\n}\n.min-w-\\[12rem\\] {\n min-width: 12rem;\n}\n.min-w-\\[140px\\] {\n min-width: 140px;\n}\n.min-w-\\[16rem\\] {\n min-width: 16rem;\n}\n.min-w-\\[1rem\\] {\n min-width: 1rem;\n}\n.min-w-\\[200px\\] {\n min-width: 200px;\n}\n.min-w-\\[20rem\\] {\n min-width: 20rem;\n}\n.min-w-\\[300px\\] {\n min-width: 300px;\n}\n.min-w-\\[4px\\] {\n min-width: 4px;\n}\n.min-w-\\[6rem\\] {\n min-width: 6rem;\n}\n.min-w-\\[8rem\\] {\n min-width: 8rem;\n}\n.min-w-\\[95vw\\] {\n min-width: 95vw;\n}\n.min-w-\\[var\\(--radix-select-trigger-width\\)\\] {\n min-width: var(--radix-select-trigger-width);\n}\n.min-w-fit {\n min-width: -moz-fit-content;\n min-width: fit-content;\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-\\[1024px\\] {\n max-width: 1024px;\n}\n.max-w-\\[1280px\\] {\n max-width: 1280px;\n}\n.max-w-\\[1536px\\] {\n max-width: 1536px;\n}\n.max-w-\\[20px\\] {\n max-width: 20px;\n}\n.max-w-\\[280px\\] {\n max-width: 280px;\n}\n.max-w-\\[360px\\] {\n max-width: 360px;\n}\n.max-w-\\[480px\\] {\n max-width: 480px;\n}\n.max-w-\\[520px\\] {\n max-width: 520px;\n}\n.max-w-\\[680px\\] {\n max-width: 680px;\n}\n.max-w-\\[80vw\\] {\n max-width: 80vw;\n}\n.max-w-\\[860px\\] {\n max-width: 860px;\n}\n.max-w-\\[90vw\\] {\n max-width: 90vw;\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-max {\n max-width: -moz-max-content;\n max-width: max-content;\n}\n.max-w-md {\n max-width: 28rem;\n}\n.max-w-none {\n max-width: none;\n}\n.max-w-screen-2xl {\n max-width: 1536px;\n}\n.max-w-screen-lg {\n max-width: 1024px;\n}\n.max-w-screen-md {\n max-width: 768px;\n}\n.max-w-screen-sm {\n max-width: 640px;\n}\n.max-w-screen-xl {\n max-width: 1280px;\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.flex-grow {\n flex-grow: 1;\n}\n.grow {\n flex-grow: 1;\n}\n.caption-bottom {\n caption-side: bottom;\n}\n.-translate-x-1\\/2 {\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-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-x-full {\n --tw-translate-x: -100%;\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-y-full {\n --tw-translate-y: -100%;\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-0 {\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.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-90 {\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.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.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-45 {\n --tw-rotate: 45deg;\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-110 {\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.scale-\\[1\\.02\\] {\n --tw-scale-x: 1.02;\n --tw-scale-y: 1.02;\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-x-150 {\n --tw-scale-x: 1.5;\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 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.animate-bounce {\n animation: bounce 1s infinite;\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.touch-pan-y {\n --tw-pan-y: pan-y;\n touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom);\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.snap-x {\n scroll-snap-type: x var(--tw-scroll-snap-strictness);\n}\n.snap-mandatory {\n --tw-scroll-snap-strictness: mandatory;\n}\n.list-none {\n list-style-type: none;\n}\n.columns-1 {\n -moz-columns: 1;\n columns: 1;\n}\n.break-inside-avoid {\n -moz-column-break-inside: avoid;\n break-inside: avoid;\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-row-reverse {\n flex-direction: row-reverse;\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-0 {\n gap: 0px;\n}\n.gap-0\\.5 {\n gap: 0.125rem;\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.gap-px {\n gap: 1px;\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-0\\.5 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.125rem * 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-2\\.5 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.625rem * 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.space-y-8 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(2rem * var(--tw-space-y-reverse));\n}\n.overflow-auto {\n overflow: auto;\n}\n.overflow-hidden {\n overflow: hidden;\n}\n.overflow-visible {\n overflow: visible;\n}\n.overflow-x-auto {\n overflow-x: auto;\n}\n.overflow-y-auto {\n overflow-y: auto;\n}\n.overflow-x-hidden {\n overflow-x: hidden;\n}\n.overscroll-contain {\n overscroll-behavior: contain;\n}\n.scroll-smooth {\n scroll-behavior: smooth;\n}\n.truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.whitespace-nowrap {\n white-space: nowrap;\n}\n.whitespace-pre-wrap {\n white-space: pre-wrap;\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-b-\\[20px\\] {\n border-bottom-right-radius: 20px;\n border-bottom-left-radius: 20px;\n}\n.rounded-b-lg {\n border-bottom-right-radius: var(--radius);\n border-bottom-left-radius: var(--radius);\n}\n.rounded-l-\\[20px\\] {\n border-top-left-radius: 20px;\n border-bottom-left-radius: 20px;\n}\n.rounded-l-none {\n border-top-left-radius: 0px;\n border-bottom-left-radius: 0px;\n}\n.rounded-r-\\[20px\\] {\n border-top-right-radius: 20px;\n border-bottom-right-radius: 20px;\n}\n.rounded-r-none {\n border-top-right-radius: 0px;\n border-bottom-right-radius: 0px;\n}\n.rounded-t {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n.rounded-t-\\[20px\\] {\n border-top-left-radius: 20px;\n border-top-right-radius: 20px;\n}\n.rounded-t-lg {\n border-top-left-radius: var(--radius);\n border-top-right-radius: var(--radius);\n}\n.rounded-t-sm {\n border-top-left-radius: calc(var(--radius) - 4px);\n border-top-right-radius: calc(var(--radius) - 4px);\n}\n.rounded-tl-sm {\n border-top-left-radius: calc(var(--radius) - 4px);\n}\n.border {\n border-width: 1px;\n}\n.border-0 {\n border-width: 0px;\n}\n.border-2 {\n border-width: 2px;\n}\n.border-4 {\n border-width: 4px;\n}\n.border-x {\n border-left-width: 1px;\n border-right-width: 1px;\n}\n.border-b {\n border-bottom-width: 1px;\n}\n.border-b-0 {\n border-bottom-width: 0px;\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 {\n border-right-width: 1px;\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\\/30 {\n border-color: rgb(59 130 246 / 0.3);\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\\/40 {\n border-color: hsl(var(--border) / 0.4);\n}\n.border-border\\/50 {\n border-color: hsl(var(--border) / 0.5);\n}\n.border-border\\/60 {\n border-color: hsl(var(--border) / 0.6);\n}\n.border-current {\n border-color: currentColor;\n}\n.border-destructive {\n --tw-border-opacity: 1;\n border-color: hsl(var(--destructive) / var(--tw-border-opacity, 1));\n}\n.border-destructive\\/20 {\n border-color: hsl(var(--destructive) / 0.2);\n}\n.border-destructive\\/30 {\n border-color: hsl(var(--destructive) / 0.3);\n}\n.border-destructive\\/50 {\n border-color: hsl(var(--destructive) / 0.5);\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-500 {\n --tw-border-opacity: 1;\n border-color: rgb(107 114 128 / 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-400 {\n --tw-border-opacity: 1;\n border-color: rgb(74 222 128 / var(--tw-border-opacity, 1));\n}\n.border-green-500\\/20 {\n border-color: rgb(34 197 94 / 0.2);\n}\n.border-green-600 {\n --tw-border-opacity: 1;\n border-color: rgb(22 163 74 / var(--tw-border-opacity, 1));\n}\n.border-input {\n --tw-border-opacity: 1;\n border-color: hsl(var(--input) / var(--tw-border-opacity, 1));\n}\n.border-muted {\n --tw-border-opacity: 1;\n border-color: hsl(var(--muted) / var(--tw-border-opacity, 1));\n}\n.border-muted-foreground {\n --tw-border-opacity: 1;\n border-color: hsl(var(--muted-foreground) / 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-muted-foreground\\/50 {\n border-color: hsl(var(--muted-foreground) / 0.5);\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\\/30 {\n border-color: hsl(var(--primary) / 0.3);\n}\n.border-primary\\/50 {\n border-color: hsl(var(--primary) / 0.5);\n}\n.border-purple-200 {\n --tw-border-opacity: 1;\n border-color: rgb(233 213 255 / var(--tw-border-opacity, 1));\n}\n.border-purple-600 {\n --tw-border-opacity: 1;\n border-color: rgb(147 51 234 / var(--tw-border-opacity, 1));\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-red-500\\/20 {\n border-color: rgb(239 68 68 / 0.2);\n}\n.border-red-600 {\n --tw-border-opacity: 1;\n border-color: rgb(220 38 38 / 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-secondary\\/20 {\n border-color: hsl(var(--secondary) / 0.2);\n}\n.border-slate-600 {\n --tw-border-opacity: 1;\n border-color: rgb(71 85 105 / 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\\/30 {\n border-color: hsl(var(--success) / 0.3);\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-warning\\/30 {\n border-color: hsl(var(--warning) / 0.3);\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\\/10 {\n border-color: rgb(255 255 255 / 0.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\\/20 {\n border-color: rgb(234 179 8 / 0.2);\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-l-muted-foreground {\n --tw-border-opacity: 1;\n border-left-color: hsl(var(--muted-foreground) / var(--tw-border-opacity, 1));\n}\n.border-l-red-500 {\n --tw-border-opacity: 1;\n border-left-color: rgb(239 68 68 / var(--tw-border-opacity, 1));\n}\n.border-l-transparent {\n border-left-color: transparent;\n}\n.border-l-yellow-500 {\n --tw-border-opacity: 1;\n border-left-color: rgb(234 179 8 / 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-accent\\/30 {\n background-color: hsl(var(--accent) / 0.3);\n}\n.bg-amber-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));\n}\n.bg-background {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--background) / var(--tw-bg-opacity, 1));\n}\n.bg-background\\/50 {\n background-color: hsl(var(--background) / 0.5);\n}\n.bg-background\\/60 {\n background-color: hsl(var(--background) / 0.6);\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-background\\/95 {\n background-color: hsl(var(--background) / 0.95);\n}\n.bg-black {\n --tw-bg-opacity: 1;\n background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));\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\\/50 {\n background-color: rgb(0 0 0 / 0.5);\n}\n.bg-black\\/60 {\n background-color: rgb(0 0 0 / 0.6);\n}\n.bg-black\\/70 {\n background-color: rgb(0 0 0 / 0.7);\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-black\\/95 {\n background-color: rgb(0 0 0 / 0.95);\n}\n.bg-blue-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));\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-blue-500\\/10 {\n background-color: rgb(59 130 246 / 0.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-card\\/50 {\n background-color: hsl(var(--card) / 0.5);\n}\n.bg-destructive {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--destructive) / var(--tw-bg-opacity, 1));\n}\n.bg-destructive\\/10 {\n background-color: hsl(var(--destructive) / 0.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-500\\/10 {\n background-color: rgb(34 197 94 / 0.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-indigo-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(99 102 241 / 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-foreground {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--muted-foreground) / var(--tw-bg-opacity, 1));\n}\n.bg-muted-foreground\\/20 {\n background-color: hsl(var(--muted-foreground) / 0.2);\n}\n.bg-muted-foreground\\/40 {\n background-color: hsl(var(--muted-foreground) / 0.4);\n}\n.bg-muted\\/10 {\n background-color: hsl(var(--muted) / 0.1);\n}\n.bg-muted\\/20 {\n background-color: hsl(var(--muted) / 0.2);\n}\n.bg-muted\\/30 {\n background-color: hsl(var(--muted) / 0.3);\n}\n.bg-muted\\/5 {\n background-color: hsl(var(--muted) / 0.05);\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-pink-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(236 72 153 / 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-foreground\\/20 {\n background-color: hsl(var(--primary-foreground) / 0.2);\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\\/40 {\n background-color: hsl(var(--primary) / 0.4);\n}\n.bg-primary\\/5 {\n background-color: hsl(var(--primary) / 0.05);\n}\n.bg-primary\\/60 {\n background-color: hsl(var(--primary) / 0.6);\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-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(250 245 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-purple-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(147 51 234 / 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\\/5 {\n background-color: rgb(254 242 242 / 0.05);\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-500\\/10 {\n background-color: rgb(239 68 68 / 0.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-secondary\\/5 {\n background-color: hsl(var(--secondary) / 0.05);\n}\n.bg-slate-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(100 116 139 / var(--tw-bg-opacity, 1));\n}\n.bg-success {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--success) / var(--tw-bg-opacity, 1));\n}\n.bg-success\\/10 {\n background-color: hsl(var(--success) / 0.1);\n}\n.bg-success\\/20 {\n background-color: hsl(var(--success) / 0.2);\n}\n.bg-success\\/5 {\n background-color: hsl(var(--success) / 0.05);\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\\/10 {\n background-color: hsl(var(--warning) / 0.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\\/20 {\n background-color: rgb(255 255 255 / 0.2);\n}\n.bg-white\\/5 {\n background-color: rgb(255 255 255 / 0.05);\n}\n.bg-white\\/90 {\n background-color: rgb(255 255 255 / 0.9);\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-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(254 240 138 / var(--tw-bg-opacity, 1));\n}\n.bg-yellow-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(254 252 232 / 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-yellow-500\\/10 {\n background-color: rgb(234 179 8 / 0.1);\n}\n.bg-yellow-500\\/90 {\n background-color: rgb(234 179 8 / 0.9);\n}\n.bg-opacity-80 {\n --tw-bg-opacity: 0.8;\n}\n.bg-gradient-to-b {\n background-image: linear-gradient(to bottom, var(--tw-gradient-stops));\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.bg-gradient-to-t {\n background-image: linear-gradient(to top, var(--tw-gradient-stops));\n}\n.from-background {\n --tw-gradient-from: hsl(var(--background) / 1) var(--tw-gradient-from-position);\n --tw-gradient-to: hsl(var(--background) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-background\\/90 {\n --tw-gradient-from: hsl(var(--background) / 0.9) var(--tw-gradient-from-position);\n --tw-gradient-to: hsl(var(--background) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-background\\/95 {\n --tw-gradient-from: hsl(var(--background) / 0.95) var(--tw-gradient-from-position);\n --tw-gradient-to: hsl(var(--background) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-black\\/50 {\n --tw-gradient-from: rgb(0 0 0 / 0.5) 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-black\\/70 {\n --tw-gradient-from: rgb(0 0 0 / 0.7) 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-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-black\\/95 {\n --tw-gradient-from: rgb(0 0 0 / 0.95) 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-500 {\n --tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-blue-500\\/10 {\n --tw-gradient-from: rgb(59 130 246 / 0.1) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(59 130 246 / 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-border {\n --tw-gradient-from: hsl(var(--border) / 1) var(--tw-gradient-from-position);\n --tw-gradient-to: hsl(var(--border) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-gray-500\\/10 {\n --tw-gradient-from: rgb(107 114 128 / 0.1) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(107 114 128 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-green-500 {\n --tw-gradient-from: #22c55e var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(34 197 94 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-green-500\\/10 {\n --tw-gradient-from: rgb(34 197 94 / 0.1) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(34 197 94 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-indigo-500\\/10 {\n --tw-gradient-from: rgb(99 102 241 / 0.1) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-orange-500 {\n --tw-gradient-from: #f97316 var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-orange-500\\/10 {\n --tw-gradient-from: rgb(249 115 22 / 0.1) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-primary\\/10 {\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.from-primary\\/20 {\n --tw-gradient-from: hsl(var(--primary) / 0.2) 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-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-primary\\/60 {\n --tw-gradient-from: hsl(var(--primary) / 0.6) 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-50 {\n --tw-gradient-from: #faf5ff var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(250 245 255 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-purple-500 {\n --tw-gradient-from: #a855f7 var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-purple-500\\/10 {\n --tw-gradient-from: rgb(168 85 247 / 0.1) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(168 85 247 / 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\\/10 {\n --tw-gradient-from: rgb(255 255 255 / 0.1) 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.from-yellow-50\\/10 {\n --tw-gradient-from: rgb(254 252 232 / 0.1) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(254 252 232 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.from-yellow-50\\/5 {\n --tw-gradient-from: rgb(254 252 232 / 0.05) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(254 252 232 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.via-accent\\/5 {\n --tw-gradient-to: hsl(var(--accent) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops:\n var(--tw-gradient-from),\n hsl(var(--accent) / 0.05) var(--tw-gradient-via-position),\n var(--tw-gradient-to);\n}\n.via-background {\n --tw-gradient-to: hsl(var(--background) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops:\n var(--tw-gradient-from),\n hsl(var(--background) / 1) var(--tw-gradient-via-position),\n 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-border\\/60 {\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) / 0.6) var(--tw-gradient-via-position),\n var(--tw-gradient-to);\n}\n.via-primary\\/30 {\n --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops:\n var(--tw-gradient-from),\n hsl(var(--primary) / 0.3) var(--tw-gradient-via-position),\n var(--tw-gradient-to);\n}\n.via-primary\\/5 {\n --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops:\n var(--tw-gradient-from),\n hsl(var(--primary) / 0.05) var(--tw-gradient-via-position),\n var(--tw-gradient-to);\n}\n.via-purple-900\\/20 {\n --tw-gradient-to: rgb(88 28 135 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops:\n var(--tw-gradient-from),\n rgb(88 28 135 / 0.2) 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.via-white\\/20 {\n --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops:\n var(--tw-gradient-from),\n rgb(255 255 255 / 0.2) var(--tw-gradient-via-position),\n var(--tw-gradient-to);\n}\n.to-background\\/90 {\n --tw-gradient-to: hsl(var(--background) / 0.9) var(--tw-gradient-to-position);\n}\n.to-background\\/95 {\n --tw-gradient-to: hsl(var(--background) / 0.95) var(--tw-gradient-to-position);\n}\n.to-black\\/10 {\n --tw-gradient-to: rgb(0 0 0 / 0.1) var(--tw-gradient-to-position);\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-blue-50 {\n --tw-gradient-to: #eff6ff var(--tw-gradient-to-position);\n}\n.to-blue-500\\/10 {\n --tw-gradient-to: rgb(59 130 246 / 0.1) var(--tw-gradient-to-position);\n}\n.to-blue-600 {\n --tw-gradient-to: #2563eb var(--tw-gradient-to-position);\n}\n.to-border\\/30 {\n --tw-gradient-to: hsl(var(--border) / 0.3) var(--tw-gradient-to-position);\n}\n.to-emerald-500 {\n --tw-gradient-to: #10b981 var(--tw-gradient-to-position);\n}\n.to-emerald-500\\/10 {\n --tw-gradient-to: rgb(16 185 129 / 0.1) var(--tw-gradient-to-position);\n}\n.to-gray-600\\/10 {\n --tw-gradient-to: rgb(75 85 99 / 0.1) var(--tw-gradient-to-position);\n}\n.to-pink-500 {\n --tw-gradient-to: #ec4899 var(--tw-gradient-to-position);\n}\n.to-pink-500\\/10 {\n --tw-gradient-to: rgb(236 72 153 / 0.1) 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-primary\\/5 {\n --tw-gradient-to: hsl(var(--primary) / 0.05) var(--tw-gradient-to-position);\n}\n.to-purple-500 {\n --tw-gradient-to: #a855f7 var(--tw-gradient-to-position);\n}\n.to-purple-500\\/10 {\n --tw-gradient-to: rgb(168 85 247 / 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-red-500 {\n --tw-gradient-to: #ef4444 var(--tw-gradient-to-position);\n}\n.to-red-500\\/10 {\n --tw-gradient-to: rgb(239 68 68 / 0.1) var(--tw-gradient-to-position);\n}\n.to-secondary\\/10 {\n --tw-gradient-to: hsl(var(--secondary) / 0.1) var(--tw-gradient-to-position);\n}\n.to-secondary\\/5 {\n --tw-gradient-to: hsl(var(--secondary) / 0.05) var(--tw-gradient-to-position);\n}\n.to-transparent {\n --tw-gradient-to: transparent var(--tw-gradient-to-position);\n}\n.to-yellow-50\\/5 {\n --tw-gradient-to: rgb(254 252 232 / 0.05) var(--tw-gradient-to-position);\n}\n.fill-current {\n fill: currentColor;\n}\n.fill-yellow-500 {\n fill: #eab308;\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-3\\.5 {\n padding: 0.875rem;\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-8 {\n padding: 2rem;\n}\n.p-\\[1px\\] {\n padding: 1px;\n}\n.px-0 {\n padding-left: 0px;\n padding-right: 0px;\n}\n.px-0\\.5 {\n padding-left: 0.125rem;\n padding-right: 0.125rem;\n}\n.px-1 {\n padding-left: 0.25rem;\n padding-right: 0.25rem;\n}\n.px-1\\.5 {\n padding-left: 0.375rem;\n padding-right: 0.375rem;\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-3\\.5 {\n padding-left: 0.875rem;\n padding-right: 0.875rem;\n}\n.px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n.px-5 {\n padding-left: 1.25rem;\n padding-right: 1.25rem;\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-0\\.5 {\n padding-top: 0.125rem;\n padding-bottom: 0.125rem;\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-2\\.5 {\n padding-top: 0.625rem;\n padding-bottom: 0.625rem;\n}\n.py-3 {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n}\n.py-3\\.5 {\n padding-top: 0.875rem;\n padding-bottom: 0.875rem;\n}\n.py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n.py-5 {\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\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-0 {\n padding-bottom: 0px;\n}\n.pb-1 {\n padding-bottom: 0.25rem;\n}\n.pb-10 {\n padding-bottom: 2.5rem;\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-5 {\n padding-bottom: 1.25rem;\n}\n.pb-6 {\n padding-bottom: 1.5rem;\n}\n.pl-10 {\n padding-left: 2.5rem;\n}\n.pl-12 {\n padding-left: 3rem;\n}\n.pl-14 {\n padding-left: 3.5rem;\n}\n.pl-2 {\n padding-left: 0.5rem;\n}\n.pl-2\\.5 {\n padding-left: 0.625rem;\n}\n.pl-4 {\n padding-left: 1rem;\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-2\\.5 {\n padding-right: 0.625rem;\n}\n.pr-20 {\n padding-right: 5rem;\n}\n.pr-3 {\n padding-right: 0.75rem;\n}\n.pr-4 {\n padding-right: 1rem;\n}\n.pr-8 {\n padding-right: 2rem;\n}\n.pr-9 {\n padding-right: 2.25rem;\n}\n.pt-0 {\n padding-top: 0px;\n}\n.pt-1 {\n padding-top: 0.25rem;\n}\n.pt-2 {\n padding-top: 0.5rem;\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.pt-8 {\n padding-top: 2rem;\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-3xl {\n font-size: 1.875rem;\n line-height: 2.25rem;\n}\n.text-5xl {\n font-size: 3rem;\n line-height: 1;\n}\n.text-\\[0\\.65rem\\] {\n font-size: 0.65rem;\n}\n.text-\\[10px\\] {\n font-size: 10px;\n}\n.text-\\[9px\\] {\n font-size: 9px;\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.uppercase {\n text-transform: uppercase;\n}\n.capitalize {\n text-transform: capitalize;\n}\n.italic {\n font-style: italic;\n}\n.tabular-nums {\n --tw-numeric-spacing: tabular-nums;\n font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);\n}\n.leading-5 {\n line-height: 1.25rem;\n}\n.leading-none {\n line-height: 1;\n}\n.leading-normal {\n line-height: 1.5;\n}\n.leading-relaxed {\n line-height: 1.625;\n}\n.leading-snug {\n line-height: 1.375;\n}\n.leading-tight {\n line-height: 1.25;\n}\n.tracking-tight {\n letter-spacing: -0.025em;\n}\n.tracking-wider {\n letter-spacing: 0.05em;\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-accent-foreground {\n --tw-text-opacity: 1;\n color: hsl(var(--accent-foreground) / var(--tw-text-opacity, 1));\n}\n.text-amber-500 {\n --tw-text-opacity: 1;\n color: rgb(245 158 11 / var(--tw-text-opacity, 1));\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-border {\n --tw-text-opacity: 1;\n color: hsl(var(--border) / 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-foreground\\/60 {\n color: hsl(var(--foreground) / 0.6);\n}\n.text-gray-400 {\n --tw-text-opacity: 1;\n color: rgb(156 163 175 / var(--tw-text-opacity, 1));\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-400 {\n --tw-text-opacity: 1;\n color: rgb(74 222 128 / 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-muted-foreground\\/20 {\n color: hsl(var(--muted-foreground) / 0.2);\n}\n.text-muted-foreground\\/30 {\n color: hsl(var(--muted-foreground) / 0.3);\n}\n.text-muted-foreground\\/50 {\n color: hsl(var(--muted-foreground) / 0.5);\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-600 {\n --tw-text-opacity: 1;\n color: rgb(234 88 12 / 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-400 {\n --tw-text-opacity: 1;\n color: rgb(192 132 252 / 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-purple-700 {\n --tw-text-opacity: 1;\n color: rgb(126 34 206 / 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-slate-700 {\n --tw-text-opacity: 1;\n color: rgb(51 65 85 / 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-success-foreground {\n --tw-text-opacity: 1;\n color: hsl(var(--success-foreground) / 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-warning-foreground {\n --tw-text-opacity: 1;\n color: hsl(var(--warning-foreground) / 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\\/70 {\n color: rgb(255 255 255 / 0.7);\n}\n.text-white\\/80 {\n color: rgb(255 255 255 / 0.8);\n}\n.text-yellow-400 {\n --tw-text-opacity: 1;\n color: rgb(250 204 21 / var(--tw-text-opacity, 1));\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.text-yellow-900 {\n --tw-text-opacity: 1;\n color: rgb(113 63 18 / var(--tw-text-opacity, 1));\n}\n.underline {\n text-decoration-line: underline;\n}\n.line-through {\n text-decoration-line: line-through;\n}\n.no-underline {\n text-decoration-line: none;\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-20 {\n opacity: 0.2;\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-75 {\n opacity: 0.75;\n}\n.opacity-80 {\n opacity: 0.8;\n}\n.opacity-90 {\n opacity: 0.9;\n}\n.shadow {\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.shadow-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-\\[0_0_15px_rgba\\(59\\,130\\,246\\,0\\.3\\)\\] {\n --tw-shadow: 0 0 15px rgba(59,130,246,0.3);\n --tw-shadow-colored: 0 0 15px 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-\\[0_0_15px_rgba\\(var\\(--primary\\)\\,0\\.5\\)\\] {\n --tw-shadow: 0 0 15px rgba(var(--primary),0.5);\n --tw-shadow-colored: 0 0 15px 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-\\[0_0_20px_rgba\\(139\\,92\\,246\\,0\\.3\\)\\] {\n --tw-shadow: 0 0 20px rgba(139,92,246,0.3);\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.shadow-\\[0_0_20px_rgba\\(59\\,130\\,246\\,0\\.3\\)\\] {\n --tw-shadow: 0 0 20px rgba(59,130,246,0.3);\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.shadow-\\[0_0_20px_rgba\\(var\\(--primary\\)\\,0\\.3\\)\\] {\n --tw-shadow: 0 0 20px rgba(var(--primary),0.3);\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.shadow-\\[0_0_30px_rgba\\(59\\,130\\,246\\,0\\.5\\)\\] {\n --tw-shadow: 0 0 30px rgba(59,130,246,0.5);\n --tw-shadow-colored: 0 0 30px 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-\\[0_0_30px_rgba\\(var\\(--primary\\)\\,0\\.15\\)\\] {\n --tw-shadow: 0 0 30px rgba(var(--primary),0.15);\n --tw-shadow-colored: 0 0 30px 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-inner {\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.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\\/20 {\n --tw-shadow-color: hsl(var(--primary) / 0.2);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.shadow-purple-500\\/40 {\n --tw-shadow-color: rgb(168 85 247 / 0.4);\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-4 {\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(4px + 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-background {\n --tw-ring-opacity: 1;\n --tw-ring-color: hsl(var(--background) / var(--tw-ring-opacity, 1));\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-primary {\n --tw-ring-opacity: 1;\n --tw-ring-color: hsl(var(--primary) / var(--tw-ring-opacity, 1));\n}\n.ring-ring {\n --tw-ring-opacity: 1;\n --tw-ring-color: hsl(var(--ring) / var(--tw-ring-opacity, 1));\n}\n.ring-white {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(255 255 255 / 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) !important;\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 {\n --tw-backdrop-blur: blur(8px);\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-lg {\n --tw-backdrop-blur: blur(16px);\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 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 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 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-filter {\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 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-1000 {\n transition-duration: 1000ms;\n}\n.duration-150 {\n transition-duration: 150ms;\n}\n.duration-200 {\n transition-duration: 200ms;\n}\n.duration-300 {\n transition-duration: 300ms;\n}\n.duration-500 {\n transition-duration: 500ms;\n}\n.ease-in-out {\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ease-out {\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n}\n.will-change-transform {\n will-change: transform;\n}\n@keyframes enter {\n from {\n opacity: var(--tw-enter-opacity, 1);\n transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));\n }\n}\n@keyframes exit {\n to {\n opacity: var(--tw-exit-opacity, 1);\n transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));\n }\n}\n.animate-in {\n animation-name: enter;\n animation-duration: 150ms;\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n}\n.fade-in-0 {\n --tw-enter-opacity: 0;\n}\n.zoom-in-95 {\n --tw-enter-scale: .95;\n}\n.duration-100 {\n animation-duration: 100ms;\n}\n.duration-1000 {\n animation-duration: 1000ms;\n}\n.duration-150 {\n animation-duration: 150ms;\n}\n.duration-200 {\n animation-duration: 200ms;\n}\n.duration-300 {\n animation-duration: 300ms;\n}\n.duration-500 {\n animation-duration: 500ms;\n}\n.ease-in-out {\n animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n}\n.ease-out {\n animation-timing-function: cubic-bezier(0, 0, 0.2, 1);\n}\n.running {\n animation-play-state: running;\n}\n.paused {\n animation-play-state: paused;\n}\n@keyframes spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes bounce-in {\n 0% {\n transform: scale(0.8);\n opacity: 0;\n }\n 50% {\n transform: scale(1.1);\n }\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n}\n@keyframes bounce-out {\n 0% {\n transform: scale(1);\n opacity: 1;\n }\n 100% {\n transform: scale(0.8);\n opacity: 0;\n }\n}\n@keyframes rotate-in-90 {\n from {\n transform: rotate(-90deg) scale(0.9);\n opacity: 0;\n }\n to {\n transform: rotate(0) scale(1);\n opacity: 1;\n }\n}\n@keyframes rotate-out-90 {\n from {\n transform: rotate(0) scale(1);\n opacity: 1;\n }\n to {\n transform: rotate(90deg) scale(0.9);\n opacity: 0;\n }\n}\n@keyframes rotate-x-90 {\n from {\n transform: perspective(800px) rotateX(-90deg);\n opacity: 0;\n }\n to {\n transform: perspective(800px) rotateX(0);\n opacity: 1;\n }\n}\n@keyframes spin-in-180 {\n from {\n transform: rotate(-540deg) scale(0);\n opacity: 0;\n }\n to {\n transform: rotate(0) scale(1);\n opacity: 1;\n }\n}\n@keyframes spin-out-180 {\n from {\n transform: rotate(0) scale(1);\n opacity: 1;\n }\n to {\n transform: rotate(540deg) scale(0);\n opacity: 0;\n }\n}\n@keyframes zoom-in-110 {\n from {\n transform: scale(0);\n opacity: 0;\n }\n 50% {\n transform: scale(1.1);\n }\n to {\n transform: scale(1);\n opacity: 1;\n }\n}\n@keyframes elastic-in {\n 0% {\n transform: scale(0.3);\n opacity: 0;\n }\n 50% {\n transform: scale(1.15);\n }\n 75% {\n transform: scale(0.95);\n }\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n}\n@keyframes elastic-out {\n 0% {\n transform: scale(1);\n opacity: 1;\n }\n 100% {\n transform: scale(0.3);\n opacity: 0;\n }\n}\n@keyframes spring-in {\n 0% {\n transform: scale(0.9) translateY(20px);\n opacity: 0;\n }\n 50% {\n transform: scale(1.05) translateY(-10px);\n }\n 100% {\n transform: scale(1) translateY(0);\n opacity: 1;\n }\n}\n@keyframes spring-out {\n 0% {\n transform: scale(1) translateY(0);\n opacity: 1;\n }\n 100% {\n transform: scale(0.9) translateY(20px);\n opacity: 0;\n }\n}\n.react-grid-layout {\n position: relative !important;\n transition: height 200ms ease;\n}\n.react-grid-item {\n transition: all 200ms ease;\n transition-property:\n left,\n top,\n width,\n height;\n}\n.react-grid-item > div {\n height: 100%;\n display: flex;\n flex-direction: column;\n}\n.react-grid-item.cssTransforms {\n transition-property:\n transform,\n width,\n height;\n}\n.react-grid-item.resizing {\n transition: none;\n z-index: 1;\n will-change: width, height;\n}\n.react-grid-item.react-draggable-dragging {\n transition: none;\n z-index: 3;\n will-change: transform;\n}\n@media (max-width: 768px) {\n .react-grid-layout {\n overflow-x: hidden !important;\n height: auto !important;\n }\n .react-grid-item {\n position: relative !important;\n transform: none !important;\n margin-bottom: 24px !important;\n width: 100% !important;\n left: 0 !important;\n right: 0 !important;\n }\n .react-grid-item:last-child {\n margin-bottom: 0 !important;\n }\n .react-grid-item.cssTransforms {\n position: relative !important;\n transform: none !important;\n }\n .react-grid-placeholder {\n display: none !important;\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-gray-500::-moz-placeholder {\n --tw-text-opacity: 1;\n color: rgb(107 114 128 / var(--tw-text-opacity, 1));\n}\n.placeholder\\:text-gray-500::placeholder {\n --tw-text-opacity: 1;\n color: rgb(107 114 128 / var(--tw-text-opacity, 1));\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.before\\:absolute::before {\n content: var(--tw-content);\n position: absolute;\n}\n.before\\:inset-0::before {\n content: var(--tw-content);\n inset: 0px;\n}\n.before\\:bg-gradient-to-br::before {\n content: var(--tw-content);\n background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));\n}\n.before\\:from-transparent::before {\n content: var(--tw-content);\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.before\\:via-primary\\/10::before {\n content: var(--tw-content);\n --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops:\n var(--tw-gradient-from),\n hsl(var(--primary) / 0.1) var(--tw-gradient-via-position),\n var(--tw-gradient-to);\n}\n.before\\:to-transparent::before {\n content: var(--tw-content);\n --tw-gradient-to: transparent var(--tw-gradient-to-position);\n}\n.last\\:mb-0:last-child {\n margin-bottom: 0px;\n}\n.last\\:border-b-0:last-child {\n border-bottom-width: 0px;\n}\n.last\\:border-r-0:last-child {\n border-right-width: 0px;\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\\:-translate-y-1:hover {\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.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\\:scale-\\[1\\.02\\]:hover {\n --tw-scale-x: 1.02;\n --tw-scale-y: 1.02;\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-accent:hover {\n --tw-border-opacity: 1;\n border-color: hsl(var(--accent) / var(--tw-border-opacity, 1));\n}\n.hover\\:border-border\\/50:hover {\n border-color: hsl(var(--border) / 0.5);\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\\/20:hover {\n border-color: hsl(var(--muted-foreground) / 0.2);\n}\n.hover\\:border-muted-foreground\\/40:hover {\n border-color: hsl(var(--muted-foreground) / 0.4);\n}\n.hover\\:border-primary:hover {\n --tw-border-opacity: 1;\n border-color: hsl(var(--primary) / var(--tw-border-opacity, 1));\n}\n.hover\\:border-primary\\/20:hover {\n border-color: hsl(var(--primary) / 0.2);\n}\n.hover\\:border-primary\\/50:hover {\n border-color: hsl(var(--primary) / 0.5);\n}\n.hover\\:border-success\\/80:hover {\n border-color: hsl(var(--success) / 0.8);\n}\n.hover\\:border-white\\/30:hover {\n border-color: rgb(255 255 255 / 0.3);\n}\n.hover\\:bg-accent:hover {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--accent) / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-accent\\/10:hover {\n background-color: hsl(var(--accent) / 0.1);\n}\n.hover\\:bg-accent\\/5:hover {\n background-color: hsl(var(--accent) / 0.05);\n}\n.hover\\:bg-accent\\/50:hover {\n background-color: hsl(var(--accent) / 0.5);\n}\n.hover\\:bg-background:hover {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--background) / 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-black\\/70:hover {\n background-color: rgb(0 0 0 / 0.7);\n}\n.hover\\:bg-blue-600:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-card\\/95:hover {\n background-color: hsl(var(--card) / 0.95);\n}\n.hover\\:bg-destructive\\/10:hover {\n background-color: hsl(var(--destructive) / 0.1);\n}\n.hover\\:bg-destructive\\/90:hover {\n background-color: hsl(var(--destructive) / 0.9);\n}\n.hover\\:bg-error\\/90:hover {\n background-color: hsl(var(--error) / 0.9);\n}\n.hover\\:bg-gray-100:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-gray-100\\/50:hover {\n background-color: rgb(243 244 246 / 0.5);\n}\n.hover\\:bg-gray-200:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-gray-50:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-green-100:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-green-400:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-green-500\\/20:hover {\n background-color: rgb(34 197 94 / 0.2);\n}\n.hover\\:bg-green-600:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(22 163 74 / 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\\/20:hover {\n background-color: hsl(var(--muted) / 0.2);\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\\/10:hover {\n background-color: hsl(var(--primary) / 0.1);\n}\n.hover\\:bg-primary\\/20:hover {\n background-color: hsl(var(--primary) / 0.2);\n}\n.hover\\:bg-primary\\/5:hover {\n background-color: hsl(var(--primary) / 0.05);\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-100:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(254 226 226 / 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\\/10:hover {\n background-color: hsl(var(--secondary) / 0.1);\n}\n.hover\\:bg-secondary\\/80:hover {\n background-color: hsl(var(--secondary) / 0.8);\n}\n.hover\\:bg-success\\/10:hover {\n background-color: hsl(var(--success) / 0.1);\n}\n.hover\\:bg-success\\/90:hover {\n background-color: hsl(var(--success) / 0.9);\n}\n.hover\\:bg-transparent:hover {\n background-color: transparent;\n}\n.hover\\:bg-warning\\/10:hover {\n background-color: hsl(var(--warning) / 0.1);\n}\n.hover\\:bg-warning\\/90:hover {\n background-color: hsl(var(--warning) / 0.9);\n}\n.hover\\:bg-white\\/10:hover {\n background-color: rgb(255 255 255 / 0.1);\n}\n.hover\\:bg-white\\/20:hover {\n background-color: rgb(255 255 255 / 0.2);\n}\n.hover\\:bg-yellow-100:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-gradient-to-br:hover {\n background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));\n}\n.hover\\:bg-gradient-to-r:hover {\n background-image: linear-gradient(to right, var(--tw-gradient-stops));\n}\n.hover\\:from-card:hover {\n --tw-gradient-from: hsl(var(--card) / 1) var(--tw-gradient-from-position);\n --tw-gradient-to: hsl(var(--card) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.hover\\:from-purple-500\\/10:hover {\n --tw-gradient-from: rgb(168 85 247 / 0.1) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.hover\\:from-purple-600:hover {\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.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\\:from-yellow-50\\/20:hover {\n --tw-gradient-from: rgb(254 252 232 / 0.2) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(254 252 232 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.hover\\:via-card\\/95:hover {\n --tw-gradient-to: hsl(var(--card) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops:\n var(--tw-gradient-from),\n hsl(var(--card) / 0.95) var(--tw-gradient-via-position),\n var(--tw-gradient-to);\n}\n.hover\\:to-blue-700:hover {\n --tw-gradient-to: #1d4ed8 var(--tw-gradient-to-position);\n}\n.hover\\:to-card\\/80:hover {\n --tw-gradient-to: hsl(var(--card) / 0.8) var(--tw-gradient-to-position);\n}\n.hover\\:to-card\\/90:hover {\n --tw-gradient-to: hsl(var(--card) / 0.9) var(--tw-gradient-to-position);\n}\n.hover\\:to-pink-500\\/10:hover {\n --tw-gradient-to: rgb(236 72 153 / 0.1) var(--tw-gradient-to-position);\n}\n.hover\\:to-pink-600:hover {\n --tw-gradient-to: #db2777 var(--tw-gradient-to-position);\n}\n.hover\\:to-pink-700:hover {\n --tw-gradient-to: #be185d var(--tw-gradient-to-position);\n}\n.hover\\:to-yellow-50\\/10:hover {\n --tw-gradient-to: rgb(254 252 232 / 0.1) var(--tw-gradient-to-position);\n}\n.hover\\:pl-9:hover {\n padding-left: 2.25rem;\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-blue-600:hover {\n --tw-text-opacity: 1;\n color: rgb(37 99 235 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-destructive:hover {\n --tw-text-opacity: 1;\n color: hsl(var(--destructive) / 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-gray-700:hover {\n --tw-text-opacity: 1;\n color: rgb(55 65 81 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-gray-900:hover {\n --tw-text-opacity: 1;\n color: rgb(17 24 39 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-green-900:hover {\n --tw-text-opacity: 1;\n color: rgb(20 83 45 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-muted-foreground:hover {\n --tw-text-opacity: 1;\n color: hsl(var(--muted-foreground) / var(--tw-text-opacity, 1));\n}\n.hover\\:text-primary:hover {\n --tw-text-opacity: 1;\n color: hsl(var(--primary) / 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-primary\\/80:hover {\n color: hsl(var(--primary) / 0.8);\n}\n.hover\\:text-purple-600:hover {\n --tw-text-opacity: 1;\n color: rgb(147 51 234 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-red-900:hover {\n --tw-text-opacity: 1;\n color: rgb(127 29 29 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-secondary:hover {\n --tw-text-opacity: 1;\n color: hsl(var(--secondary) / var(--tw-text-opacity, 1));\n}\n.hover\\:text-success:hover {\n --tw-text-opacity: 1;\n color: hsl(var(--success) / var(--tw-text-opacity, 1));\n}\n.hover\\:text-warning:hover {\n --tw-text-opacity: 1;\n color: hsl(var(--warning) / 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\\:text-yellow-600:hover {\n --tw-text-opacity: 1;\n color: rgb(202 138 4 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-yellow-900:hover {\n --tw-text-opacity: 1;\n color: rgb(113 63 18 / var(--tw-text-opacity, 1));\n}\n.hover\\:underline:hover {\n text-decoration-line: underline;\n}\n.hover\\:decoration-gray-300\\/30:hover {\n text-decoration-color: rgb(209 213 219 / 0.3);\n}\n.hover\\:underline-offset-4:hover {\n text-underline-offset: 4px;\n}\n.hover\\:opacity-100:hover {\n opacity: 1;\n}\n.hover\\:opacity-80:hover {\n opacity: 0.8;\n}\n.hover\\:opacity-90:hover {\n opacity: 0.9;\n}\n.hover\\:shadow-2xl:hover {\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.hover\\:shadow-\\[0_0_30px_rgba\\(74\\,222\\,128\\,0\\.6\\)\\]:hover {\n --tw-shadow: 0 0 30px rgba(74,222,128,0.6);\n --tw-shadow-colored: 0 0 30px 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-\\[0_0_30px_rgba\\(var\\(--primary\\)\\,0\\.3\\)\\]:hover {\n --tw-shadow: 0 0 30px rgba(var(--primary),0.3);\n --tw-shadow-colored: 0 0 30px 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-\\[0_0_40px_rgba\\(59\\,130\\,246\\,0\\.7\\)\\]:hover {\n --tw-shadow: 0 0 40px rgba(59,130,246,0.7);\n --tw-shadow-colored: 0 0 40px 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\\/25:hover {\n --tw-shadow-color: hsl(var(--primary) / 0.25);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.hover\\:shadow-primary\\/5:hover {\n --tw-shadow-color: hsl(var(--primary) / 0.05);\n --tw-shadow: var(--tw-shadow-colored);\n}\n.hover\\:shadow-purple-500\\/50:hover {\n --tw-shadow-color: rgb(168 85 247 / 0.5);\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.focus\\:border-primary:focus {\n --tw-border-opacity: 1;\n border-color: hsl(var(--primary) / var(--tw-border-opacity, 1));\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-green-100:focus {\n --tw-bg-opacity: 1;\n background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));\n}\n.focus\\:bg-red-100:focus {\n --tw-bg-opacity: 1;\n background-color: rgb(254 226 226 / 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\\:bg-yellow-100:focus {\n --tw-bg-opacity: 1;\n background-color: rgb(254 249 195 / var(--tw-bg-opacity, 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-destructive:focus {\n --tw-text-opacity: 1;\n color: hsl(var(--destructive) / 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-green-900:focus {\n --tw-text-opacity: 1;\n color: rgb(20 83 45 / var(--tw-text-opacity, 1));\n}\n.focus\\:text-red-900:focus {\n --tw-text-opacity: 1;\n color: rgb(127 29 29 / 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\\:text-yellow-900:focus {\n --tw-text-opacity: 1;\n color: rgb(113 63 18 / 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\\/20:focus {\n --tw-ring-color: hsl(var(--primary) / 0.2);\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-blue-500\\/50:focus-visible {\n --tw-ring-color: rgb(59 130 246 / 0.5);\n}\n.focus-visible\\:ring-error\\/30:focus-visible {\n --tw-ring-color: hsl(var(--error) / 0.3);\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-green-400\\/50:focus-visible {\n --tw-ring-color: rgb(74 222 128 / 0.5);\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-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.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\\:scale-\\[0\\.98\\]:active {\n --tw-scale-x: 0.98;\n --tw-scale-y: 0.98;\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-accent\\/80:active {\n background-color: hsl(var(--accent) / 0.8);\n}\n.active\\:bg-destructive\\/80:active {\n background-color: hsl(var(--destructive) / 0.8);\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-primary\\/80:active {\n background-color: hsl(var(--primary) / 0.8);\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-purple-700:active {\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.active\\:to-pink-700:active {\n --tw-gradient-to: #be185d var(--tw-gradient-to-position);\n}\n.active\\:text-primary\\/70:active {\n color: hsl(var(--primary) / 0.7);\n}\n.active\\:shadow-\\[0_0_15px_rgba\\(74\\,222\\,128\\,0\\.4\\)\\]:active {\n --tw-shadow: 0 0 15px rgba(74,222,128,0.4);\n --tw-shadow-colored: 0 0 15px 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-\\[0_0_20px_rgba\\(59\\,130\\,246\\,0\\.4\\)\\]:active {\n --tw-shadow: 0 0 20px rgba(59,130,246,0.4);\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.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\\: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.disabled\\:pointer-events-none:disabled {\n pointer-events: none;\n}\n.disabled\\:transform-none:disabled {\n transform: 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\\: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.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.aria-selected\\:bg-accent[aria-selected=true] {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--accent) / var(--tw-bg-opacity, 1));\n}\n.aria-selected\\:text-accent-foreground[aria-selected=true] {\n --tw-text-opacity: 1;\n color: hsl(var(--accent-foreground) / var(--tw-text-opacity, 1));\n}\n.data-\\[disabled\\=true\\]\\:pointer-events-none[data-disabled=true] {\n pointer-events: none;\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@keyframes accordion-up {\n from {\n height: var(--radix-accordion-content-height);\n }\n to {\n height: 0;\n }\n}\n.data-\\[state\\=closed\\]\\:animate-\\[accordion-up_0\\.2s_ease-in-out\\][data-state=closed] {\n animation: accordion-up 0.2s ease-in-out;\n}\n@keyframes accordion-up {\n from {\n height: var(--radix-accordion-content-height);\n }\n to {\n height: 0;\n }\n}\n.data-\\[state\\=closed\\]\\:animate-\\[accordion-up_0\\.3s_cubic-bezier\\(0\\.34\\,1\\.56\\,0\\.64\\,1\\)\\][data-state=closed] {\n animation: accordion-up 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);\n}\n@keyframes accordion-up {\n from {\n height: var(--radix-accordion-content-height);\n }\n to {\n height: 0;\n }\n}\n.data-\\[state\\=closed\\]\\:animate-\\[accordion-up_0\\.4s_cubic-bezier\\(0\\.68\\,-0\\.55\\,0\\.265\\,1\\.55\\)\\][data-state=closed] {\n animation: accordion-up 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);\n}\n.data-\\[state\\=closed\\]\\:animate-\\[collapsible-up_0\\.2s_ease-in-out\\][data-state=closed] {\n animation: collapsible-up 0.2s ease-in-out;\n}\n.data-\\[state\\=closed\\]\\:animate-\\[collapsible-up_0\\.3s_cubic-bezier\\(0\\.34\\,1\\.56\\,0\\.64\\,1\\)\\][data-state=closed] {\n animation: collapsible-up 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);\n}\n.data-\\[state\\=closed\\]\\:animate-\\[collapsible-up_0\\.4s_cubic-bezier\\(0\\.68\\,-0\\.55\\,0\\.265\\,1\\.55\\)\\][data-state=closed] {\n animation: collapsible-up 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);\n}\n.data-\\[state\\=closed\\]\\:animate-\\[slide-up_0\\.3s_ease-out\\][data-state=closed] {\n animation: slide-up 0.3s ease-out;\n}\n@keyframes accordion-up {\n from {\n height: var(--radix-accordion-content-height);\n }\n to {\n height: 0;\n }\n}\n.data-\\[state\\=closed\\]\\:animate-accordion-up[data-state=closed] {\n animation: accordion-up 0.2s ease-out;\n}\n@keyframes accordion-down {\n from {\n height: 0;\n }\n to {\n height: var(--radix-accordion-content-height);\n }\n}\n.data-\\[state\\=open\\]\\:animate-\\[accordion-down_0\\.2s_ease-in-out\\][data-state=open] {\n animation: accordion-down 0.2s ease-in-out;\n}\n@keyframes accordion-down {\n from {\n height: 0;\n }\n to {\n height: var(--radix-accordion-content-height);\n }\n}\n.data-\\[state\\=open\\]\\:animate-\\[accordion-down_0\\.3s_cubic-bezier\\(0\\.34\\,1\\.56\\,0\\.64\\,1\\)\\][data-state=open] {\n animation: accordion-down 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);\n}\n@keyframes accordion-down {\n from {\n height: 0;\n }\n to {\n height: var(--radix-accordion-content-height);\n }\n}\n.data-\\[state\\=open\\]\\:animate-\\[accordion-down_0\\.4s_cubic-bezier\\(0\\.68\\,-0\\.55\\,0\\.265\\,1\\.55\\)\\][data-state=open] {\n animation: accordion-down 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);\n}\n.data-\\[state\\=open\\]\\:animate-\\[collapsible-down_0\\.2s_ease-in-out\\][data-state=open] {\n animation: collapsible-down 0.2s ease-in-out;\n}\n.data-\\[state\\=open\\]\\:animate-\\[collapsible-down_0\\.3s_cubic-bezier\\(0\\.34\\,1\\.56\\,0\\.64\\,1\\)\\][data-state=open] {\n animation: collapsible-down 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);\n}\n.data-\\[state\\=open\\]\\:animate-\\[collapsible-down_0\\.4s_cubic-bezier\\(0\\.68\\,-0\\.55\\,0\\.265\\,1\\.55\\)\\][data-state=open] {\n animation: collapsible-down 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);\n}\n.data-\\[state\\=open\\]\\:animate-\\[slide-down_0\\.3s_ease-out\\][data-state=open] {\n animation: slide-down 0.3s ease-out;\n}\n@keyframes accordion-down {\n from {\n height: 0;\n }\n to {\n height: var(--radix-accordion-content-height);\n }\n}\n.data-\\[state\\=open\\]\\:animate-accordion-down[data-state=open] {\n animation: accordion-down 0.2s ease-out;\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-\\[active\\]\\:bg-accent\\/50[data-active] {\n background-color: hsl(var(--accent) / 0.5);\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\\=active\\]\\:bg-white\\/20[data-state=active] {\n background-color: rgb(255 255 255 / 0.2);\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\\=on\\]\\:bg-accent[data-state=on] {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--accent) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=on\\]\\:bg-destructive[data-state=on] {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--destructive) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=on\\]\\:bg-primary[data-state=on] {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--primary) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=on\\]\\:bg-secondary[data-state=on] {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--secondary) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=on\\]\\:bg-success[data-state=on] {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--success) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=on\\]\\:bg-transparent[data-state=on] {\n background-color: transparent;\n}\n.data-\\[state\\=on\\]\\:bg-warning[data-state=on] {\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\\=open\\]\\:bg-accent\\/50[data-state=open] {\n background-color: hsl(var(--accent) / 0.5);\n}\n.data-\\[state\\=open\\]\\:bg-secondary[data-state=open] {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--secondary) / var(--tw-bg-opacity, 1));\n}\n.data-\\[state\\=selected\\]\\:bg-muted[data-state=selected] {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--muted) / 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\\]\\:bg-gradient-to-r[data-state=active] {\n background-image: linear-gradient(to right, var(--tw-gradient-stops));\n}\n.data-\\[state\\=on\\]\\:bg-gradient-to-r[data-state=on] {\n background-image: linear-gradient(to right, var(--tw-gradient-stops));\n}\n.data-\\[state\\=active\\]\\:from-primary[data-state=active] {\n --tw-gradient-from: hsl(var(--primary) / 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.data-\\[state\\=on\\]\\:from-purple-600[data-state=on] {\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.data-\\[state\\=active\\]\\:to-secondary[data-state=active] {\n --tw-gradient-to: hsl(var(--secondary) / 1) var(--tw-gradient-to-position);\n}\n.data-\\[state\\=on\\]\\:to-pink-600[data-state=on] {\n --tw-gradient-to: #db2777 var(--tw-gradient-to-position);\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\\=active\\]\\:text-white[data-state=active] {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / 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\\=on\\]\\:text-accent-foreground[data-state=on] {\n --tw-text-opacity: 1;\n color: hsl(var(--accent-foreground) / var(--tw-text-opacity, 1));\n}\n.data-\\[state\\=on\\]\\:text-destructive-foreground[data-state=on] {\n --tw-text-opacity: 1;\n color: hsl(var(--destructive-foreground) / var(--tw-text-opacity, 1));\n}\n.data-\\[state\\=on\\]\\:text-primary-foreground[data-state=on] {\n --tw-text-opacity: 1;\n color: hsl(var(--primary-foreground) / var(--tw-text-opacity, 1));\n}\n.data-\\[state\\=on\\]\\:text-secondary-foreground[data-state=on] {\n --tw-text-opacity: 1;\n color: hsl(var(--secondary-foreground) / var(--tw-text-opacity, 1));\n}\n.data-\\[state\\=on\\]\\:text-success-foreground[data-state=on] {\n --tw-text-opacity: 1;\n color: hsl(var(--success-foreground) / var(--tw-text-opacity, 1));\n}\n.data-\\[state\\=on\\]\\:text-warning-foreground[data-state=on] {\n --tw-text-opacity: 1;\n color: hsl(var(--warning-foreground) / var(--tw-text-opacity, 1));\n}\n.data-\\[state\\=on\\]\\:text-white[data-state=on] {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n}\n.data-\\[state\\=open\\]\\:text-accent-foreground[data-state=open] {\n --tw-text-opacity: 1;\n color: hsl(var(--accent-foreground) / var(--tw-text-opacity, 1));\n}\n.data-\\[state\\=active\\]\\:underline[data-state=active] {\n text-decoration-line: underline;\n}\n.data-\\[disabled\\=true\\]\\:opacity-50[data-disabled=true] {\n opacity: 0.5;\n}\n.data-\\[disabled\\]\\:opacity-50[data-disabled] {\n opacity: 0.5;\n}\n.data-\\[state\\=active\\]\\:shadow-\\[0_0_10px_rgba\\(139\\,92\\,246\\,0\\.8\\)\\][data-state=active] {\n --tw-shadow: 0 0 10px rgba(139,92,246,0.8);\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.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\\=closed\\]\\:duration-300[data-state=closed] {\n transition-duration: 300ms;\n}\n.data-\\[state\\=open\\]\\:duration-150[data-state=open] {\n transition-duration: 150ms;\n}\n.data-\\[state\\=open\\]\\:duration-500[data-state=open] {\n transition-duration: 500ms;\n}\n.data-\\[motion\\^\\=from-\\]\\:animate-in[data-motion^=from-] {\n animation-name: enter;\n animation-duration: 150ms;\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n}\n.data-\\[state\\=open\\]\\:animate-in[data-state=open] {\n animation-name: enter;\n animation-duration: 150ms;\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n}\n.data-\\[state\\=visible\\]\\:animate-in[data-state=visible] {\n animation-name: enter;\n animation-duration: 150ms;\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n}\n.data-\\[motion\\^\\=to-\\]\\:animate-out[data-motion^=to-] {\n animation-name: exit;\n animation-duration: 150ms;\n --tw-exit-opacity: initial;\n --tw-exit-scale: initial;\n --tw-exit-rotate: initial;\n --tw-exit-translate-x: initial;\n --tw-exit-translate-y: initial;\n}\n.data-\\[state\\=closed\\]\\:animate-out[data-state=closed] {\n animation-name: exit;\n animation-duration: 150ms;\n --tw-exit-opacity: initial;\n --tw-exit-scale: initial;\n --tw-exit-rotate: initial;\n --tw-exit-translate-x: initial;\n --tw-exit-translate-y: initial;\n}\n.data-\\[state\\=hidden\\]\\:animate-out[data-state=hidden] {\n animation-name: exit;\n animation-duration: 150ms;\n --tw-exit-opacity: initial;\n --tw-exit-scale: initial;\n --tw-exit-rotate: initial;\n --tw-exit-translate-x: initial;\n --tw-exit-translate-y: initial;\n}\n.data-\\[swipe\\=end\\]\\:animate-out[data-swipe=end] {\n animation-name: exit;\n animation-duration: 150ms;\n --tw-exit-opacity: initial;\n --tw-exit-scale: initial;\n --tw-exit-rotate: initial;\n --tw-exit-translate-x: initial;\n --tw-exit-translate-y: initial;\n}\n.data-\\[motion\\^\\=from-\\]\\:fade-in[data-motion^=from-] {\n --tw-enter-opacity: 0;\n}\n.data-\\[motion\\^\\=to-\\]\\:fade-out[data-motion^=to-] {\n --tw-exit-opacity: 0;\n}\n.data-\\[state\\=closed\\]\\:fade-out-0[data-state=closed] {\n --tw-exit-opacity: 0;\n}\n.data-\\[state\\=closed\\]\\:fade-out-80[data-state=closed] {\n --tw-exit-opacity: 0.8;\n}\n.data-\\[state\\=hidden\\]\\:fade-out[data-state=hidden] {\n --tw-exit-opacity: 0;\n}\n.data-\\[state\\=open\\]\\:fade-in-0[data-state=open] {\n --tw-enter-opacity: 0;\n}\n.data-\\[state\\=visible\\]\\:fade-in[data-state=visible] {\n --tw-enter-opacity: 0;\n}\n.data-\\[state\\=closed\\]\\:zoom-out-95[data-state=closed] {\n --tw-exit-scale: .95;\n}\n.data-\\[state\\=open\\]\\:zoom-in-90[data-state=open] {\n --tw-enter-scale: .9;\n}\n.data-\\[state\\=open\\]\\:zoom-in-95[data-state=open] {\n --tw-enter-scale: .95;\n}\n.data-\\[motion\\=from-end\\]\\:slide-in-from-right-52[data-motion=from-end] {\n --tw-enter-translate-x: 13rem;\n}\n.data-\\[motion\\=from-start\\]\\:slide-in-from-left-52[data-motion=from-start] {\n --tw-enter-translate-x: -13rem;\n}\n.data-\\[motion\\=to-end\\]\\:slide-out-to-right-52[data-motion=to-end] {\n --tw-exit-translate-x: 13rem;\n}\n.data-\\[motion\\=to-start\\]\\:slide-out-to-left-52[data-motion=to-start] {\n --tw-exit-translate-x: -13rem;\n}\n.data-\\[side\\=bottom\\]\\:slide-in-from-top-2[data-side=bottom] {\n --tw-enter-translate-y: -0.5rem;\n}\n.data-\\[side\\=left\\]\\:slide-in-from-right-2[data-side=left] {\n --tw-enter-translate-x: 0.5rem;\n}\n.data-\\[side\\=right\\]\\:slide-in-from-left-2[data-side=right] {\n --tw-enter-translate-x: -0.5rem;\n}\n.data-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=top] {\n --tw-enter-translate-y: 0.5rem;\n}\n.data-\\[state\\=closed\\]\\:slide-out-to-bottom[data-state=closed] {\n --tw-exit-translate-y: 100%;\n}\n.data-\\[state\\=closed\\]\\:slide-out-to-left[data-state=closed] {\n --tw-exit-translate-x: -100%;\n}\n.data-\\[state\\=closed\\]\\:slide-out-to-left-1\\/2[data-state=closed] {\n --tw-exit-translate-x: -50%;\n}\n.data-\\[state\\=closed\\]\\:slide-out-to-right[data-state=closed] {\n --tw-exit-translate-x: 100%;\n}\n.data-\\[state\\=closed\\]\\:slide-out-to-right-full[data-state=closed] {\n --tw-exit-translate-x: 100%;\n}\n.data-\\[state\\=closed\\]\\:slide-out-to-top[data-state=closed] {\n --tw-exit-translate-y: -100%;\n}\n.data-\\[state\\=closed\\]\\:slide-out-to-top-\\[48\\%\\][data-state=closed] {\n --tw-exit-translate-y: -48%;\n}\n.data-\\[state\\=open\\]\\:slide-in-from-bottom[data-state=open] {\n --tw-enter-translate-y: 100%;\n}\n.data-\\[state\\=open\\]\\:slide-in-from-left[data-state=open] {\n --tw-enter-translate-x: -100%;\n}\n.data-\\[state\\=open\\]\\:slide-in-from-left-1\\/2[data-state=open] {\n --tw-enter-translate-x: -50%;\n}\n.data-\\[state\\=open\\]\\:slide-in-from-right[data-state=open] {\n --tw-enter-translate-x: 100%;\n}\n.data-\\[state\\=open\\]\\:slide-in-from-top[data-state=open] {\n --tw-enter-translate-y: -100%;\n}\n.data-\\[state\\=open\\]\\:slide-in-from-top-\\[48\\%\\][data-state=open] {\n --tw-enter-translate-y: -48%;\n}\n.data-\\[state\\=open\\]\\:slide-in-from-top-full[data-state=open] {\n --tw-enter-translate-y: -100%;\n}\n.data-\\[state\\=closed\\]\\:duration-300[data-state=closed] {\n animation-duration: 300ms;\n}\n.data-\\[state\\=open\\]\\:duration-150[data-state=open] {\n animation-duration: 150ms;\n}\n.data-\\[state\\=open\\]\\:duration-500[data-state=open] {\n animation-duration: 500ms;\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@supports (backdrop-filter: var(--tw)) {\n .supports-\\[backdrop-filter\\]\\:bg-background\\/60 {\n background-color: hsl(var(--background) / 0.6);\n }\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-border:is(.dark *) {\n --tw-border-opacity: 1;\n border-color: hsl(var(--border) / var(--tw-border-opacity, 1));\n}\n.dark\\:border-border\\/30:is(.dark *) {\n border-color: hsl(var(--border) / 0.3);\n}\n.dark\\:border-border\\/40:is(.dark *) {\n border-color: hsl(var(--border) / 0.4);\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-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-input:is(.dark *) {\n --tw-border-opacity: 1;\n border-color: hsl(var(--input) / 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-purple-800:is(.dark *) {\n --tw-border-opacity: 1;\n border-color: rgb(107 33 168 / var(--tw-border-opacity, 1));\n}\n.dark\\:border-success\\/30:is(.dark *) {\n border-color: hsl(var(--success) / 0.3);\n}\n.dark\\:border-white\\/10:is(.dark *) {\n border-color: rgb(255 255 255 / 0.1);\n}\n.dark\\:border-yellow-800:is(.dark *) {\n --tw-border-opacity: 1;\n border-color: rgb(133 77 14 / var(--tw-border-opacity, 1));\n}\n.dark\\:bg-accent:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--accent) / var(--tw-bg-opacity, 1));\n}\n.dark\\:bg-amber-600:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(217 119 6 / var(--tw-bg-opacity, 1));\n}\n.dark\\:bg-background:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--background) / var(--tw-bg-opacity, 1));\n}\n.dark\\:bg-black\\/10:is(.dark *) {\n background-color: rgb(0 0 0 / 0.1);\n}\n.dark\\:bg-black\\/5:is(.dark *) {\n background-color: rgb(0 0 0 / 0.05);\n}\n.dark\\:bg-blue-900\\/20:is(.dark *) {\n background-color: rgb(30 58 138 / 0.2);\n}\n.dark\\:bg-destructive:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--destructive) / var(--tw-bg-opacity, 1));\n}\n.dark\\:bg-destructive\\/20:is(.dark *) {\n background-color: hsl(var(--destructive) / 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\\/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\\/60:is(.dark *) {\n background-color: rgb(17 24 39 / 0.6);\n}\n.dark\\:bg-green-600:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(22 163 74 / 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-400:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(192 132 252 / var(--tw-bg-opacity, 1));\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-purple-950\\/20:is(.dark *) {\n background-color: rgb(59 7 100 / 0.2);\n}\n.dark\\:bg-red-600:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));\n}\n.dark\\:bg-red-900\\/20:is(.dark *) {\n background-color: rgb(127 29 29 / 0.2);\n}\n.dark\\:bg-secondary:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--secondary) / var(--tw-bg-opacity, 1));\n}\n.dark\\:bg-success:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--success) / var(--tw-bg-opacity, 1));\n}\n.dark\\:bg-success\\/10:is(.dark *) {\n background-color: hsl(var(--success) / 0.1);\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\\/80:is(.dark *) {\n background-color: rgb(255 255 255 / 0.8);\n}\n.dark\\:bg-yellow-800:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(133 77 14 / var(--tw-bg-opacity, 1));\n}\n.dark\\:bg-yellow-900\\/10:is(.dark *) {\n background-color: rgb(113 63 18 / 0.1);\n}\n.dark\\:bg-yellow-900\\/20:is(.dark *) {\n background-color: rgb(113 63 18 / 0.2);\n}\n.dark\\:from-blue-700:is(.dark *) {\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.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\\:from-purple-950\\/50:is(.dark *) {\n --tw-gradient-from: rgb(59 7 100 / 0.5) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(59 7 100 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.dark\\:from-yellow-900\\/10:is(.dark *) {\n --tw-gradient-from: rgb(113 63 18 / 0.1) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(113 63 18 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.dark\\:from-yellow-900\\/5:is(.dark *) {\n --tw-gradient-from: rgb(113 63 18 / 0.05) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(113 63 18 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.dark\\:via-accent\\/10:is(.dark *) {\n --tw-gradient-to: hsl(var(--accent) / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops:\n var(--tw-gradient-from),\n hsl(var(--accent) / 0.1) var(--tw-gradient-via-position),\n var(--tw-gradient-to);\n}\n.dark\\:to-blue-950\\/50:is(.dark *) {\n --tw-gradient-to: rgb(23 37 84 / 0.5) var(--tw-gradient-to-position);\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\\:to-purple-700:is(.dark *) {\n --tw-gradient-to: #7e22ce var(--tw-gradient-to-position);\n}\n.dark\\:to-secondary\\/10:is(.dark *) {\n --tw-gradient-to: hsl(var(--secondary) / 0.1) var(--tw-gradient-to-position);\n}\n.dark\\:to-yellow-900\\/5:is(.dark *) {\n --tw-gradient-to: rgb(113 63 18 / 0.05) var(--tw-gradient-to-position);\n}\n.dark\\:text-accent-foreground:is(.dark *) {\n --tw-text-opacity: 1;\n color: hsl(var(--accent-foreground) / var(--tw-text-opacity, 1));\n}\n.dark\\:text-black:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(0 0 0 / var(--tw-text-opacity, 1));\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-blue-500:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(59 130 246 / var(--tw-text-opacity, 1));\n}\n.dark\\:text-destructive-foreground:is(.dark *) {\n --tw-text-opacity: 1;\n color: hsl(var(--destructive-foreground) / var(--tw-text-opacity, 1));\n}\n.dark\\:text-foreground:is(.dark *) {\n --tw-text-opacity: 1;\n color: hsl(var(--foreground) / 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-300\\/60:is(.dark *) {\n color: rgb(209 213 219 / 0.6);\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-500:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(107 114 128 / 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-green-500:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(34 197 94 / 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-orange-400:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(251 146 60 / 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-300:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(216 180 254 / 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-slate-400:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(148 163 184 / var(--tw-text-opacity, 1));\n}\n.dark\\:text-success-foreground:is(.dark *) {\n --tw-text-opacity: 1;\n color: hsl(var(--success-foreground) / 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-200:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(254 240 138 / var(--tw-text-opacity, 1));\n}\n.dark\\:text-yellow-300:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(253 224 71 / 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\\:text-yellow-500:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(234 179 8 / var(--tw-text-opacity, 1));\n}\n.dark\\:text-opacity-95:is(.dark *) {\n --tw-text-opacity: 0.95;\n}\n.dark\\:shadow-\\[0_0_20px_rgba\\(59\\,130\\,246\\,0\\.5\\)\\]:is(.dark *) {\n --tw-shadow: 0 0 20px rgba(59,130,246,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.dark\\:shadow-\\[0_0_20px_rgba\\(var\\(--primary\\)\\,0\\.7\\)\\]:is(.dark *) {\n --tw-shadow: 0 0 20px rgba(var(--primary),0.7);\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.dark\\:shadow-\\[0_0_40px_rgba\\(var\\(--primary\\)\\,0\\.25\\)\\]:is(.dark *) {\n --tw-shadow: 0 0 40px rgba(var(--primary),0.25);\n --tw-shadow-colored: 0 0 40px 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-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-xl:is(.dark *) {\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.dark\\:shadow-black\\/20:is(.dark *) {\n --tw-shadow-color: rgb(0 0 0 / 0.2);\n --tw-shadow: var(--tw-shadow-colored);\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-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-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 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\\:placeholder\\:text-gray-400:is(.dark *)::-moz-placeholder {\n --tw-text-opacity: 1;\n color: rgb(156 163 175 / var(--tw-text-opacity, 1));\n}\n.dark\\:placeholder\\:text-gray-400:is(.dark *)::placeholder {\n --tw-text-opacity: 1;\n color: rgb(156 163 175 / var(--tw-text-opacity, 1));\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-accent:hover:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--accent) / var(--tw-bg-opacity, 1));\n}\n.dark\\:hover\\:bg-destructive\\/20:hover:is(.dark *) {\n background-color: hsl(var(--destructive) / 0.2);\n}\n.dark\\:hover\\:bg-destructive\\/90:hover:is(.dark *) {\n background-color: hsl(var(--destructive) / 0.9);\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\\/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-green-900\\/20:hover:is(.dark *) {\n background-color: rgb(20 83 45 / 0.2);\n}\n.dark\\:hover\\:bg-primary\\/10:hover:is(.dark *) {\n background-color: hsl(var(--primary) / 0.1);\n}\n.dark\\:hover\\:bg-primary\\/20:hover:is(.dark *) {\n background-color: hsl(var(--primary) / 0.2);\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-red-900\\/20:hover:is(.dark *) {\n background-color: rgb(127 29 29 / 0.2);\n}\n.dark\\:hover\\:bg-success\\/20:hover:is(.dark *) {\n background-color: hsl(var(--success) / 0.2);\n}\n.dark\\:hover\\:bg-success\\/80:hover:is(.dark *) {\n background-color: hsl(var(--success) / 0.8);\n}\n.dark\\:hover\\:bg-success\\/90:hover:is(.dark *) {\n background-color: hsl(var(--success) / 0.9);\n}\n.dark\\:hover\\:bg-warning\\/20:hover:is(.dark *) {\n background-color: hsl(var(--warning) / 0.2);\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\\:bg-white\\/5:hover:is(.dark *) {\n background-color: rgb(255 255 255 / 0.05);\n}\n.dark\\:hover\\:bg-yellow-900\\/20:hover:is(.dark *) {\n background-color: rgb(113 63 18 / 0.2);\n}\n.dark\\:hover\\:from-purple-500\\/20:hover:is(.dark *) {\n --tw-gradient-from: rgb(168 85 247 / 0.2) var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.dark\\:hover\\:to-pink-500\\/20:hover:is(.dark *) {\n --tw-gradient-to: rgb(236 72 153 / 0.2) var(--tw-gradient-to-position);\n}\n.dark\\:hover\\:text-accent-foreground:hover:is(.dark *) {\n --tw-text-opacity: 1;\n color: hsl(var(--accent-foreground) / var(--tw-text-opacity, 1));\n}\n.dark\\:hover\\:text-destructive:hover:is(.dark *) {\n --tw-text-opacity: 1;\n color: hsl(var(--destructive) / var(--tw-text-opacity, 1));\n}\n.dark\\:hover\\:text-gray-100:hover:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(243 244 246 / var(--tw-text-opacity, 1));\n}\n.dark\\:hover\\:text-gray-200:hover:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(229 231 235 / var(--tw-text-opacity, 1));\n}\n.dark\\:hover\\:text-gray-400:hover:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(156 163 175 / var(--tw-text-opacity, 1));\n}\n.dark\\:hover\\:text-green-400:hover:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(74 222 128 / var(--tw-text-opacity, 1));\n}\n.dark\\:hover\\:text-primary:hover:is(.dark *) {\n --tw-text-opacity: 1;\n color: hsl(var(--primary) / var(--tw-text-opacity, 1));\n}\n.dark\\:hover\\:text-primary\\/90:hover:is(.dark *) {\n color: hsl(var(--primary) / 0.9);\n}\n.dark\\:hover\\:text-purple-400:hover:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(192 132 252 / var(--tw-text-opacity, 1));\n}\n.dark\\:hover\\:text-red-400:hover:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(248 113 113 / var(--tw-text-opacity, 1));\n}\n.dark\\:hover\\:text-success:hover:is(.dark *) {\n --tw-text-opacity: 1;\n color: hsl(var(--success) / var(--tw-text-opacity, 1));\n}\n.dark\\:hover\\:text-warning:hover:is(.dark *) {\n --tw-text-opacity: 1;\n color: hsl(var(--warning) / 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\\:hover\\:text-yellow-400:hover:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(250 204 21 / var(--tw-text-opacity, 1));\n}\n.dark\\:hover\\:text-opacity-95:hover:is(.dark *) {\n --tw-text-opacity: 0.95;\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-green-400:focus:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(74 222 128 / 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-red-400:focus:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(248 113 113 / 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\\:text-yellow-400:focus:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(250 204 21 / 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-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\\/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-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-accent\\/80:active:is(.dark *) {\n background-color: hsl(var(--accent) / 0.8);\n}\n.dark\\:active\\:bg-destructive\\/80:active:is(.dark *) {\n background-color: hsl(var(--destructive) / 0.8);\n}\n.dark\\:active\\:bg-gray-600:active:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));\n}\n.dark\\:active\\:bg-gray-700:active:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));\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\\/80:active:is(.dark *) {\n background-color: hsl(var(--success) / 0.8);\n}\n.peer:disabled ~ .dark\\:peer-disabled\\:opacity-60:is(.dark *) {\n opacity: 0.6;\n}\n.dark\\:data-\\[state\\=active\\]\\:bg-white\\/10[data-state=active]:is(.dark *) {\n background-color: rgb(255 255 255 / 0.1);\n}\n.dark\\:data-\\[state\\=on\\]\\:bg-accent[data-state=on]:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--accent) / var(--tw-bg-opacity, 1));\n}\n.dark\\:data-\\[state\\=on\\]\\:bg-destructive[data-state=on]:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--destructive) / var(--tw-bg-opacity, 1));\n}\n.dark\\:data-\\[state\\=on\\]\\:bg-primary[data-state=on]:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--primary) / var(--tw-bg-opacity, 1));\n}\n.dark\\:data-\\[state\\=on\\]\\:bg-success[data-state=on]:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--success) / var(--tw-bg-opacity, 1));\n}\n.dark\\:data-\\[state\\=on\\]\\:bg-warning[data-state=on]:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--warning) / var(--tw-bg-opacity, 1));\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\\=on\\]\\:from-purple-600[data-state=on]:is(.dark *) {\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.dark\\:data-\\[state\\=on\\]\\:to-pink-600[data-state=on]:is(.dark *) {\n --tw-gradient-to: #db2777 var(--tw-gradient-to-position);\n}\n.dark\\:data-\\[state\\=on\\]\\:text-accent-foreground[data-state=on]:is(.dark *) {\n --tw-text-opacity: 1;\n color: hsl(var(--accent-foreground) / var(--tw-text-opacity, 1));\n}\n.dark\\:data-\\[state\\=on\\]\\:text-destructive-foreground[data-state=on]:is(.dark *) {\n --tw-text-opacity: 1;\n color: hsl(var(--destructive-foreground) / var(--tw-text-opacity, 1));\n}\n.dark\\:data-\\[state\\=on\\]\\:text-primary-foreground[data-state=on]:is(.dark *) {\n --tw-text-opacity: 1;\n color: hsl(var(--primary-foreground) / var(--tw-text-opacity, 1));\n}\n.dark\\:data-\\[state\\=on\\]\\:text-success-foreground[data-state=on]:is(.dark *) {\n --tw-text-opacity: 1;\n color: hsl(var(--success-foreground) / var(--tw-text-opacity, 1));\n}\n.dark\\:data-\\[state\\=on\\]\\:text-warning-foreground[data-state=on]:is(.dark *) {\n --tw-text-opacity: 1;\n color: hsl(var(--warning-foreground) / var(--tw-text-opacity, 1));\n}\n.dark\\:data-\\[state\\=on\\]\\:text-white[data-state=on]:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\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\\:mt-0 {\n margin-top: 0px;\n }\n .sm\\:flex {\n display: flex;\n }\n .sm\\:inline-flex {\n display: inline-flex;\n }\n .sm\\:hidden {\n display: none;\n }\n .sm\\:h-2 {\n height: 0.5rem;\n }\n .sm\\:h-4 {\n height: 1rem;\n }\n .sm\\:h-7 {\n height: 1.75rem;\n }\n .sm\\:h-9 {\n height: 2.25rem;\n }\n .sm\\:w-\\[540px\\] {\n width: 540px;\n }\n .sm\\:min-w-\\[24rem\\] {\n min-width: 24rem;\n }\n .sm\\:max-w-4xl {\n max-width: 56rem;\n }\n .sm\\:max-w-\\[425px\\] {\n max-width: 425px;\n }\n .sm\\:max-w-\\[480px\\] {\n max-width: 480px;\n }\n .sm\\:max-w-\\[500px\\] {\n max-width: 500px;\n }\n .sm\\:max-w-\\[600px\\] {\n max-width: 600px;\n }\n .sm\\:max-w-md {\n max-width: 28rem;\n }\n .sm\\:max-w-sm {\n max-width: 24rem;\n }\n .sm\\:columns-2 {\n -moz-columns: 2;\n columns: 2;\n }\n .sm\\:grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n .sm\\:grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\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\\:justify-between {\n justify-content: space-between;\n }\n .sm\\:gap-2 {\n gap: 0.5rem;\n }\n .sm\\:gap-2\\.5 {\n gap: 0.625rem;\n }\n .sm\\:gap-4 {\n gap: 1rem;\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\\:rounded-lg {\n border-radius: var(--radius);\n }\n .sm\\:p-3 {\n padding: 0.75rem;\n }\n .sm\\:p-6 {\n padding: 1.5rem;\n }\n .sm\\:px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n }\n .sm\\:text-left {\n text-align: left;\n }\n .sm\\:text-right {\n text-align: right;\n }\n .sm\\:text-\\[0\\.75rem\\] {\n font-size: 0.75rem;\n }\n .sm\\:text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n .sm\\:text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n }\n .data-\\[state\\=open\\]\\:sm\\:slide-in-from-bottom-full[data-state=open] {\n --tw-enter-translate-y: 100%;\n }\n}\n@media (min-width: 768px) {\n .md\\:absolute {\n position: absolute;\n }\n .md\\:flex {\n display: flex;\n }\n .md\\:hidden {\n display: none;\n }\n .md\\:w-\\[400px\\] {\n width: 400px;\n }\n .md\\:w-\\[var\\(--radix-navigation-menu-viewport-width\\)\\] {\n width: var(--radix-navigation-menu-viewport-width);\n }\n .md\\:w-auto {\n width: auto;\n }\n .md\\:max-w-\\[420px\\] {\n max-width: 420px;\n }\n .md\\:max-w-\\[640px\\] {\n max-width: 640px;\n }\n .md\\:columns-3 {\n -moz-columns: 3;\n columns: 3;\n }\n .md\\:grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n .md\\:grid-cols-3 {\n grid-template-columns: repeat(3, 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\\:relative {\n position: relative;\n }\n .lg\\:inset-auto {\n inset: auto;\n }\n .lg\\:block {\n display: block;\n }\n .lg\\:flex {\n display: flex;\n }\n .lg\\:hidden {\n display: none;\n }\n .lg\\:w-0 {\n width: 0px;\n }\n .lg\\:w-64 {\n width: 16rem;\n }\n .lg\\:w-\\[500px\\] {\n width: 500px;\n }\n .lg\\:max-w-\\[768px\\] {\n max-width: 768px;\n }\n .lg\\:translate-x-0 {\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 .lg\\:columns-4 {\n -moz-columns: 4;\n columns: 4;\n }\n .lg\\:grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\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\\:grid-cols-5 {\n grid-template-columns: repeat(5, minmax(0, 1fr));\n }\n .lg\\:grid-cols-\\[\\.75fr_1fr\\] {\n grid-template-columns: .75fr 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 .lg\\:px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n }\n}\n@media (min-width: 1280px) {\n .xl\\:max-w-\\[1024px\\] {\n max-width: 1024px;\n }\n .xl\\:grid-cols-6 {\n grid-template-columns: repeat(6, minmax(0, 1fr));\n }\n}\n@media print {\n .print\\:relative {\n position: relative;\n }\n .print\\:hidden {\n display: none;\n }\n .print\\:break-inside-avoid {\n -moz-column-break-inside: avoid;\n break-inside: avoid;\n }\n .print\\:border-0 {\n border-width: 0px;\n }\n .print\\:bg-transparent {\n background-color: transparent;\n }\n .print\\:pb-2 {\n padding-bottom: 0.5rem;\n }\n .print\\: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}\n.\\[\\&\\+div\\]\\:text-xs + div {\n font-size: 0.75rem;\n line-height: 1rem;\n}\n.\\[\\&\\:has\\(\\[role\\=checkbox\\]\\)\\]\\:pr-0:has([role=checkbox]) {\n padding-right: 0px;\n}\n.\\[\\&\\>\\*\\]\\:snap-center > * {\n scroll-snap-align: center;\n}\n.\\[\\&\\>div\\]\\:bg-destructive > div {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--destructive) / var(--tw-bg-opacity, 1));\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.\\[\\&\\>svg\\]\\:shrink-0 > svg {\n flex-shrink: 0;\n}\n.even\\:\\[\\&\\>tr\\]\\:bg-muted\\/50 > tr:nth-child(even) {\n background-color: hsl(var(--muted) / 0.5);\n}\n.\\[\\&\\[data-state\\=open\\]\\>\\.chevron\\]\\:rotate-180[data-state=open] > .chevron {\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.\\[\\&\\[data-state\\=open\\]\\]\\:text-primary[data-state=open] {\n --tw-text-opacity: 1;\n color: hsl(var(--primary) / var(--tw-text-opacity, 1));\n}\n.dark\\:\\[\\&\\[data-state\\=open\\]\\]\\:text-primary\\/90[data-state=open]:is(.dark *) {\n color: hsl(var(--primary) / 0.9);\n}\n.\\[\\&_\\[cmdk-group-heading\\]\\]\\:px-2 [cmdk-group-heading] {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n}\n.\\[\\&_\\[cmdk-group-heading\\]\\]\\:py-1\\.5 [cmdk-group-heading] {\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n}\n.\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-xs [cmdk-group-heading] {\n font-size: 0.75rem;\n line-height: 1rem;\n}\n.\\[\\&_\\[cmdk-group-heading\\]\\]\\:font-medium [cmdk-group-heading] {\n font-weight: 500;\n}\n.\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-muted-foreground [cmdk-group-heading] {\n --tw-text-opacity: 1;\n color: hsl(var(--muted-foreground) / var(--tw-text-opacity, 1));\n}\n@keyframes accordion-down {\n from {\n height: 0;\n }\n to {\n height: var(--radix-accordion-content-height);\n }\n}\n.\\[\\&_\\[data-state\\=open\\]\\]\\:animate-\\[accordion-down_0\\.2s_ease-in-out\\] [data-state=open] {\n animation: accordion-down 0.2s ease-in-out;\n}\n@keyframes accordion-down {\n from {\n height: 0;\n }\n to {\n height: var(--radix-accordion-content-height);\n }\n}\n.\\[\\&_\\[data-state\\=open\\]\\]\\:animate-\\[accordion-down_0\\.3s_cubic-bezier\\(0\\.34\\,1\\.56\\,0\\.64\\,1\\)\\] [data-state=open] {\n animation: accordion-down 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);\n}\n@keyframes accordion-down {\n from {\n height: 0;\n }\n to {\n height: var(--radix-accordion-content-height);\n }\n}\n.\\[\\&_\\[data-state\\=open\\]\\]\\:animate-\\[accordion-down_0\\.4s_cubic-bezier\\(0\\.68\\,-0\\.55\\,0\\.265\\,1\\.55\\)\\] [data-state=open] {\n animation: accordion-down 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);\n}\n.\\[\\&_\\[data-state\\=open\\]\\]\\:animate-\\[collapsible-down_0\\.2s_ease-in-out\\] [data-state=open] {\n animation: collapsible-down 0.2s ease-in-out;\n}\n.\\[\\&_\\[data-state\\=open\\]\\]\\:animate-\\[collapsible-down_0\\.3s_cubic-bezier\\(0\\.34\\,1\\.56\\,0\\.64\\,1\\)\\] [data-state=open] {\n animation: collapsible-down 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);\n}\n.\\[\\&_\\[data-state\\=open\\]\\]\\:animate-\\[collapsible-down_0\\.4s_cubic-bezier\\(0\\.68\\,-0\\.55\\,0\\.265\\,1\\.55\\)\\] [data-state=open] {\n animation: collapsible-down 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);\n}\n.\\[\\&_\\[data-state\\=open\\]\\]\\:animate-\\[slide-down_0\\.3s_ease-out\\] [data-state=open] {\n animation: slide-down 0.3s ease-out;\n}\n.\\[\\&_blockquote\\]\\:border-l-4 blockquote {\n border-left-width: 4px;\n}\n.\\[\\&_blockquote\\]\\:border-muted-foreground\\/30 blockquote {\n border-color: hsl(var(--muted-foreground) / 0.3);\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-muted pre {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--muted) / var(--tw-bg-opacity, 1));\n}\n.\\[\\&_pre\\]\\:p-4 pre {\n padding: 1rem;\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-border table td {\n --tw-border-opacity: 1;\n border-color: hsl(var(--border) / 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-border table th {\n --tw-border-opacity: 1;\n border-color: hsl(var(--border) / var(--tw-border-opacity, 1));\n}\n.\\[\\&_table_th\\]\\:bg-muted table th {\n --tw-bg-opacity: 1;\n background-color: hsl(var(--muted) / 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.\\[\\&_tr\\:last-child\\]\\:border-0 tr:last-child {\n border-width: 0px;\n}\n.\\[\\&_tr\\]\\:border-b tr {\n border-bottom-width: 1px;\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');
|
|
1755
1755
|
function cn(...inputs) {
|
|
1756
1756
|
return twMerge(clsx(inputs));
|
|
1757
1757
|
}
|
|
@@ -15875,7 +15875,7 @@ var STATUS_STYLES = {
|
|
|
15875
15875
|
tentative: "opacity-70 border-dashed",
|
|
15876
15876
|
cancelled: "opacity-50 line-through"
|
|
15877
15877
|
};
|
|
15878
|
-
function
|
|
15878
|
+
function CalendarInternal({
|
|
15879
15879
|
events = [],
|
|
15880
15880
|
onEventClick,
|
|
15881
15881
|
onEventAdd,
|
|
@@ -16731,6 +16731,23 @@ function Calendar3({
|
|
|
16731
16731
|
)
|
|
16732
16732
|
] });
|
|
16733
16733
|
}
|
|
16734
|
+
function Calendar3(props) {
|
|
16735
|
+
const { hasProAccess, isLoading } = useSubscription();
|
|
16736
|
+
if (!isLoading && !hasProAccess) {
|
|
16737
|
+
return /* @__PURE__ */ jsx(MoonUICardPro, { className: cn("w-full", props.className), children: /* @__PURE__ */ jsx(MoonUICardContentPro, { className: "py-12 text-center", children: /* @__PURE__ */ jsxs("div", { className: "max-w-md mx-auto space-y-4", children: [
|
|
16738
|
+
/* @__PURE__ */ jsx("div", { className: "rounded-full bg-purple-100 dark:bg-purple-900/30 p-3 w-fit mx-auto", children: /* @__PURE__ */ jsx(Lock, { className: "h-6 w-6 text-purple-600 dark:text-purple-400" }) }),
|
|
16739
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
16740
|
+
/* @__PURE__ */ jsx("h3", { className: "font-semibold text-lg mb-2", children: "Pro Feature" }),
|
|
16741
|
+
/* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-sm mb-4", children: "Advanced Calendar is available exclusively to MoonUI Pro subscribers." }),
|
|
16742
|
+
/* @__PURE__ */ jsx("a", { href: "/pricing", children: /* @__PURE__ */ jsxs(MoonUIButtonPro, { size: "sm", children: [
|
|
16743
|
+
/* @__PURE__ */ jsx(Sparkles, { className: "mr-2 h-4 w-4" }),
|
|
16744
|
+
"Upgrade to Pro"
|
|
16745
|
+
] }) })
|
|
16746
|
+
] })
|
|
16747
|
+
] }) }) });
|
|
16748
|
+
}
|
|
16749
|
+
return /* @__PURE__ */ jsx(CalendarInternal, { ...props });
|
|
16750
|
+
}
|
|
16734
16751
|
var PRIORITY_OPTIONS = [
|
|
16735
16752
|
{ value: "low", label: "Low", icon: Flag, color: "text-green-600" },
|
|
16736
16753
|
{ value: "medium", label: "Medium", icon: Flag, color: "text-yellow-600" },
|
|
@@ -17992,7 +18009,7 @@ var KanbanCardComponent = ({
|
|
|
17992
18009
|
}
|
|
17993
18010
|
);
|
|
17994
18011
|
};
|
|
17995
|
-
function
|
|
18012
|
+
function KanbanInternal({
|
|
17996
18013
|
columns: initialColumns,
|
|
17997
18014
|
onCardMove,
|
|
17998
18015
|
onCardClick,
|
|
@@ -19010,6 +19027,23 @@ function Kanban({
|
|
|
19010
19027
|
] }) })
|
|
19011
19028
|
] });
|
|
19012
19029
|
}
|
|
19030
|
+
function Kanban(props) {
|
|
19031
|
+
const { hasProAccess, isLoading } = useSubscription();
|
|
19032
|
+
if (!isLoading && !hasProAccess) {
|
|
19033
|
+
return /* @__PURE__ */ jsx(MoonUICardPro, { className: cn("w-full", props.className), children: /* @__PURE__ */ jsx(MoonUICardContentPro, { className: "py-12 text-center", children: /* @__PURE__ */ jsxs("div", { className: "max-w-md mx-auto space-y-4", children: [
|
|
19034
|
+
/* @__PURE__ */ jsx("div", { className: "rounded-full bg-purple-100 dark:bg-purple-900/30 p-3 w-fit mx-auto", children: /* @__PURE__ */ jsx(Lock, { className: "h-6 w-6 text-purple-600 dark:text-purple-400" }) }),
|
|
19035
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
19036
|
+
/* @__PURE__ */ jsx("h3", { className: "font-semibold text-lg mb-2", children: "Pro Feature" }),
|
|
19037
|
+
/* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-sm mb-4", children: "Kanban Board is available exclusively to MoonUI Pro subscribers." }),
|
|
19038
|
+
/* @__PURE__ */ jsx("a", { href: "/pricing", children: /* @__PURE__ */ jsxs(MoonUIButtonPro, { size: "sm", children: [
|
|
19039
|
+
/* @__PURE__ */ jsx(Sparkles, { className: "mr-2 h-4 w-4" }),
|
|
19040
|
+
"Upgrade to Pro"
|
|
19041
|
+
] }) })
|
|
19042
|
+
] })
|
|
19043
|
+
] }) }) });
|
|
19044
|
+
}
|
|
19045
|
+
return /* @__PURE__ */ jsx(KanbanInternal, { ...props });
|
|
19046
|
+
}
|
|
19013
19047
|
|
|
19014
19048
|
// ../../node_modules/orderedmap/dist/index.js
|
|
19015
19049
|
function OrderedMap(content) {
|
|
@@ -59668,7 +59702,7 @@ var VariableHeightManager = class {
|
|
|
59668
59702
|
return { start, end: Math.min(itemCount, end + 1) };
|
|
59669
59703
|
}
|
|
59670
59704
|
};
|
|
59671
|
-
function
|
|
59705
|
+
function MemoryEfficientDataInternal({
|
|
59672
59706
|
data,
|
|
59673
59707
|
config = {},
|
|
59674
59708
|
renderItem,
|
|
@@ -60191,7 +60225,24 @@ function useStreamingData(initialData = [], streamingConfig) {
|
|
|
60191
60225
|
}, []);
|
|
60192
60226
|
return { data, addItem, clearData };
|
|
60193
60227
|
}
|
|
60194
|
-
function
|
|
60228
|
+
function MemoryEfficientData(props) {
|
|
60229
|
+
const { hasProAccess } = useSubscription();
|
|
60230
|
+
if (!hasProAccess) {
|
|
60231
|
+
return /* @__PURE__ */ jsx(MoonUICardPro, { className: "w-full", children: /* @__PURE__ */ jsxs(MoonUICardContentPro, { className: "flex flex-col items-center justify-center py-12", children: [
|
|
60232
|
+
/* @__PURE__ */ jsx("div", { className: "flex items-center justify-center w-16 h-16 rounded-full bg-primary/10 mb-4", children: /* @__PURE__ */ jsx(Lock, { className: "w-8 h-8 text-primary" }) }),
|
|
60233
|
+
/* @__PURE__ */ jsx("h3", { className: "text-lg font-semibold text-center mb-2", children: "Memory Efficient Data - Pro Feature" }),
|
|
60234
|
+
/* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-center text-sm mb-6 max-w-sm", children: "High-performance data table with memory optimization and real-time analytics requires a Pro subscription." }),
|
|
60235
|
+
/* @__PURE__ */ jsx("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ jsxs(MoonUIBadgePro, { variant: "secondary", className: "bg-gradient-to-r from-purple-500/10 to-pink-500/10 text-purple-700 dark:text-purple-300", children: [
|
|
60236
|
+
/* @__PURE__ */ jsx(Sparkles, { className: "w-3 h-3 mr-1" }),
|
|
60237
|
+
"Pro Feature"
|
|
60238
|
+
] }) }),
|
|
60239
|
+
/* @__PURE__ */ jsx(MoonUIButtonPro, { className: "mt-4", size: "sm", children: "Upgrade to Pro" })
|
|
60240
|
+
] }) });
|
|
60241
|
+
}
|
|
60242
|
+
return /* @__PURE__ */ jsx(MemoryEfficientDataInternal, { ...props });
|
|
60243
|
+
}
|
|
60244
|
+
var MoonUIMemoryEfficientDataPro = MemoryEfficientData;
|
|
60245
|
+
function VirtualListInternal({
|
|
60195
60246
|
items,
|
|
60196
60247
|
height,
|
|
60197
60248
|
itemHeight = 50,
|
|
@@ -60595,7 +60646,7 @@ function useVirtualList(items, initialConfig = {}) {
|
|
|
60595
60646
|
getSelectedCount
|
|
60596
60647
|
};
|
|
60597
60648
|
}
|
|
60598
|
-
function
|
|
60649
|
+
function SelectableVirtualListInternal({
|
|
60599
60650
|
selectable = false,
|
|
60600
60651
|
multiSelect = false,
|
|
60601
60652
|
selectedItems = /* @__PURE__ */ new Set(),
|
|
@@ -60691,9 +60742,45 @@ function SelectableVirtualList({
|
|
|
60691
60742
|
itemId
|
|
60692
60743
|
);
|
|
60693
60744
|
}, [originalRenderItem, selectable, selectedItems, focusedIndex, handleItemClick, handleKeyDown3, getItemId]);
|
|
60694
|
-
return /* @__PURE__ */ jsx(
|
|
60745
|
+
return /* @__PURE__ */ jsx(VirtualListInternal, { ...props, renderItem });
|
|
60695
60746
|
}
|
|
60696
|
-
|
|
60747
|
+
function VirtualList(props) {
|
|
60748
|
+
const { hasProAccess, isLoading } = useSubscription();
|
|
60749
|
+
if (!isLoading && !hasProAccess) {
|
|
60750
|
+
return /* @__PURE__ */ jsx(MoonUICardPro, { className: cn("w-full", props.className), children: /* @__PURE__ */ jsx(MoonUICardContentPro, { className: "py-12 text-center", children: /* @__PURE__ */ jsxs("div", { className: "max-w-md mx-auto space-y-4", children: [
|
|
60751
|
+
/* @__PURE__ */ jsx("div", { className: "rounded-full bg-purple-100 dark:bg-purple-900/30 p-3 w-fit mx-auto", children: /* @__PURE__ */ jsx(Lock, { className: "h-6 w-6 text-purple-600 dark:text-purple-400" }) }),
|
|
60752
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
60753
|
+
/* @__PURE__ */ jsx("h3", { className: "font-semibold text-lg mb-2", children: "Pro Feature" }),
|
|
60754
|
+
/* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-sm mb-4", children: "Virtual List is available exclusively to MoonUI Pro subscribers." }),
|
|
60755
|
+
/* @__PURE__ */ jsx("a", { href: "/pricing", children: /* @__PURE__ */ jsxs(MoonUIButtonPro, { size: "sm", children: [
|
|
60756
|
+
/* @__PURE__ */ jsx(Sparkles, { className: "mr-2 h-4 w-4" }),
|
|
60757
|
+
"Upgrade to Pro"
|
|
60758
|
+
] }) })
|
|
60759
|
+
] })
|
|
60760
|
+
] }) }) });
|
|
60761
|
+
}
|
|
60762
|
+
return /* @__PURE__ */ jsx(VirtualListInternal, { ...props });
|
|
60763
|
+
}
|
|
60764
|
+
function SelectableVirtualList(props) {
|
|
60765
|
+
const { hasProAccess, isLoading } = useSubscription();
|
|
60766
|
+
if (!isLoading && !hasProAccess) {
|
|
60767
|
+
return /* @__PURE__ */ jsx(MoonUICardPro, { className: cn("w-full", props.className), children: /* @__PURE__ */ jsx(MoonUICardContentPro, { className: "py-12 text-center", children: /* @__PURE__ */ jsxs("div", { className: "max-w-md mx-auto space-y-4", children: [
|
|
60768
|
+
/* @__PURE__ */ jsx("div", { className: "rounded-full bg-purple-100 dark:bg-purple-900/30 p-3 w-fit mx-auto", children: /* @__PURE__ */ jsx(Lock, { className: "h-6 w-6 text-purple-600 dark:text-purple-400" }) }),
|
|
60769
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
60770
|
+
/* @__PURE__ */ jsx("h3", { className: "font-semibold text-lg mb-2", children: "Pro Feature" }),
|
|
60771
|
+
/* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-sm mb-4", children: "Selectable Virtual List is available exclusively to MoonUI Pro subscribers." }),
|
|
60772
|
+
/* @__PURE__ */ jsx("a", { href: "/pricing", children: /* @__PURE__ */ jsxs(MoonUIButtonPro, { size: "sm", children: [
|
|
60773
|
+
/* @__PURE__ */ jsx(Sparkles, { className: "mr-2 h-4 w-4" }),
|
|
60774
|
+
"Upgrade to Pro"
|
|
60775
|
+
] }) })
|
|
60776
|
+
] })
|
|
60777
|
+
] }) }) });
|
|
60778
|
+
}
|
|
60779
|
+
return /* @__PURE__ */ jsx(SelectableVirtualListInternal, { ...props });
|
|
60780
|
+
}
|
|
60781
|
+
var MoonUIVirtualListPro = VirtualList;
|
|
60782
|
+
var MoonUISelectableVirtualListPro = SelectableVirtualList;
|
|
60783
|
+
var SwipeableCardInternal = React67__default.forwardRef(
|
|
60697
60784
|
({
|
|
60698
60785
|
children,
|
|
60699
60786
|
onSwipeLeft,
|
|
@@ -60770,7 +60857,28 @@ var SwipeableCard = React67__default.forwardRef(
|
|
|
60770
60857
|
);
|
|
60771
60858
|
}
|
|
60772
60859
|
);
|
|
60860
|
+
SwipeableCardInternal.displayName = "SwipeableCardInternal";
|
|
60861
|
+
var SwipeableCard = React67__default.forwardRef(
|
|
60862
|
+
(props, ref) => {
|
|
60863
|
+
const { hasProAccess, isLoading } = useSubscription();
|
|
60864
|
+
if (!isLoading && !hasProAccess) {
|
|
60865
|
+
return /* @__PURE__ */ jsx(MoonUICardPro, { className: cn("w-full max-w-sm", props.className), children: /* @__PURE__ */ jsx(MoonUICardContentPro, { className: "py-12 text-center", children: /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
|
|
60866
|
+
/* @__PURE__ */ jsx("div", { className: "rounded-full bg-purple-100 dark:bg-purple-900/30 p-3 w-fit mx-auto", children: /* @__PURE__ */ jsx(Lock, { className: "h-6 w-6 text-purple-600 dark:text-purple-400" }) }),
|
|
60867
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
60868
|
+
/* @__PURE__ */ jsx("h3", { className: "font-semibold text-lg mb-2", children: "Pro Feature" }),
|
|
60869
|
+
/* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-sm mb-4", children: "Swipeable Card is available exclusively to MoonUI Pro subscribers." }),
|
|
60870
|
+
/* @__PURE__ */ jsx("a", { href: "/pricing", children: /* @__PURE__ */ jsxs(MoonUIButtonPro, { size: "sm", children: [
|
|
60871
|
+
/* @__PURE__ */ jsx(Sparkles, { className: "mr-2 h-4 w-4" }),
|
|
60872
|
+
"Upgrade to Pro"
|
|
60873
|
+
] }) })
|
|
60874
|
+
] })
|
|
60875
|
+
] }) }) });
|
|
60876
|
+
}
|
|
60877
|
+
return /* @__PURE__ */ jsx(SwipeableCardInternal, { ...props, ref });
|
|
60878
|
+
}
|
|
60879
|
+
);
|
|
60773
60880
|
SwipeableCard.displayName = "SwipeableCard";
|
|
60881
|
+
var MoonUISwipeableCardPro = SwipeableCard;
|
|
60774
60882
|
var timelineVariants = cva("w-full", {
|
|
60775
60883
|
variants: {
|
|
60776
60884
|
theme: {
|
|
@@ -60828,7 +60936,7 @@ var animationVariants = {
|
|
|
60828
60936
|
exit: { opacity: 0, scale: 0.8 }
|
|
60829
60937
|
}
|
|
60830
60938
|
};
|
|
60831
|
-
function
|
|
60939
|
+
function TimelineInternal({
|
|
60832
60940
|
events: initialEvents,
|
|
60833
60941
|
onEventClick,
|
|
60834
60942
|
onEventEdit,
|
|
@@ -61574,6 +61682,24 @@ function Timeline({
|
|
|
61574
61682
|
}
|
|
61575
61683
|
);
|
|
61576
61684
|
}
|
|
61685
|
+
function Timeline(props) {
|
|
61686
|
+
const { hasProAccess, isLoading } = useSubscription();
|
|
61687
|
+
if (!isLoading && !hasProAccess) {
|
|
61688
|
+
return /* @__PURE__ */ jsx(MoonUICardPro, { className: cn("w-full", props.className), children: /* @__PURE__ */ jsx(MoonUICardContentPro, { className: "py-12 text-center", children: /* @__PURE__ */ jsxs("div", { className: "max-w-md mx-auto space-y-4", children: [
|
|
61689
|
+
/* @__PURE__ */ jsx("div", { className: "rounded-full bg-purple-100 dark:bg-purple-900/30 p-3 w-fit mx-auto", children: /* @__PURE__ */ jsx(Lock, { className: "h-6 w-6 text-purple-600 dark:text-purple-400" }) }),
|
|
61690
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
61691
|
+
/* @__PURE__ */ jsx("h3", { className: "font-semibold text-lg mb-2", children: "Pro Feature" }),
|
|
61692
|
+
/* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-sm mb-4", children: "Timeline is available exclusively to MoonUI Pro subscribers." }),
|
|
61693
|
+
/* @__PURE__ */ jsx("a", { href: "/pricing", children: /* @__PURE__ */ jsxs(MoonUIButtonPro, { size: "sm", children: [
|
|
61694
|
+
/* @__PURE__ */ jsx(Sparkles, { className: "mr-2 h-4 w-4" }),
|
|
61695
|
+
"Upgrade to Pro"
|
|
61696
|
+
] }) })
|
|
61697
|
+
] })
|
|
61698
|
+
] }) }) });
|
|
61699
|
+
}
|
|
61700
|
+
return /* @__PURE__ */ jsx(TimelineInternal, { ...props });
|
|
61701
|
+
}
|
|
61702
|
+
var MoonUITimelinePro = Timeline;
|
|
61577
61703
|
var COLOR_THEMES = {
|
|
61578
61704
|
default: [
|
|
61579
61705
|
"#3b82f6",
|
|
@@ -61729,7 +61855,7 @@ var ChartSkeleton = ({ height }) => /* @__PURE__ */ jsx("div", { className: "w-f
|
|
|
61729
61855
|
},
|
|
61730
61856
|
i
|
|
61731
61857
|
)) }) });
|
|
61732
|
-
function
|
|
61858
|
+
function AdvancedChartInternal({
|
|
61733
61859
|
data,
|
|
61734
61860
|
type,
|
|
61735
61861
|
series,
|
|
@@ -62641,6 +62767,23 @@ function AdvancedChart({
|
|
|
62641
62767
|
}
|
|
62642
62768
|
);
|
|
62643
62769
|
}
|
|
62770
|
+
function AdvancedChart(props) {
|
|
62771
|
+
const { hasProAccess } = useSubscription();
|
|
62772
|
+
if (!hasProAccess) {
|
|
62773
|
+
return /* @__PURE__ */ jsx(MoonUICardPro, { className: "w-full", children: /* @__PURE__ */ jsxs(MoonUICardContentPro, { className: "flex flex-col items-center justify-center py-12", children: [
|
|
62774
|
+
/* @__PURE__ */ jsx("div", { className: "flex items-center justify-center w-16 h-16 rounded-full bg-primary/10 mb-4", children: /* @__PURE__ */ jsx(Lock, { className: "w-8 h-8 text-primary" }) }),
|
|
62775
|
+
/* @__PURE__ */ jsx("h3", { className: "text-lg font-semibold text-center mb-2", children: "Advanced Chart - Pro Feature" }),
|
|
62776
|
+
/* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-center text-sm mb-6 max-w-sm", children: "Professional chart component with advanced features like animations, themes, and interactive controls requires a Pro subscription." }),
|
|
62777
|
+
/* @__PURE__ */ jsx("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ jsxs(MoonUIBadgePro, { variant: "secondary", className: "bg-gradient-to-r from-purple-500/10 to-pink-500/10 text-purple-700 dark:text-purple-300", children: [
|
|
62778
|
+
/* @__PURE__ */ jsx(Sparkles, { className: "w-3 h-3 mr-1" }),
|
|
62779
|
+
"Pro Feature"
|
|
62780
|
+
] }) }),
|
|
62781
|
+
/* @__PURE__ */ jsx(MoonUIButtonPro, { className: "mt-4", size: "sm", children: "Upgrade to Pro" })
|
|
62782
|
+
] }) });
|
|
62783
|
+
}
|
|
62784
|
+
return /* @__PURE__ */ jsx(AdvancedChartInternal, { ...props });
|
|
62785
|
+
}
|
|
62786
|
+
var MoonUIAdvancedChartPro = AdvancedChart;
|
|
62644
62787
|
function MetricCard({
|
|
62645
62788
|
data,
|
|
62646
62789
|
onClick,
|
|
@@ -64479,7 +64622,7 @@ function formatRelativeTime(date) {
|
|
|
64479
64622
|
return `${Math.floor(diffInSeconds / 86400)}d ago`;
|
|
64480
64623
|
return date.toLocaleDateString();
|
|
64481
64624
|
}
|
|
64482
|
-
function
|
|
64625
|
+
function DashboardInternal({
|
|
64483
64626
|
config,
|
|
64484
64627
|
widgets: initialWidgets = [],
|
|
64485
64628
|
templates = DASHBOARD_TEMPLATES,
|
|
@@ -65101,7 +65244,25 @@ function Dashboard({
|
|
|
65101
65244
|
}
|
|
65102
65245
|
);
|
|
65103
65246
|
}
|
|
65104
|
-
function
|
|
65247
|
+
function Dashboard(props) {
|
|
65248
|
+
const { hasProAccess, isLoading } = useSubscription();
|
|
65249
|
+
if (!isLoading && !hasProAccess) {
|
|
65250
|
+
return /* @__PURE__ */ jsx(MoonUICardPro, { className: cn("w-full", props.className), children: /* @__PURE__ */ jsx(MoonUICardContentPro, { className: "py-12 text-center", children: /* @__PURE__ */ jsxs("div", { className: "max-w-md mx-auto space-y-4", children: [
|
|
65251
|
+
/* @__PURE__ */ jsx("div", { className: "rounded-full bg-purple-100 dark:bg-purple-900/30 p-3 w-fit mx-auto", children: /* @__PURE__ */ jsx(Lock, { className: "h-6 w-6 text-purple-600 dark:text-purple-400" }) }),
|
|
65252
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
65253
|
+
/* @__PURE__ */ jsx("h3", { className: "font-semibold text-lg mb-2", children: "Pro Feature" }),
|
|
65254
|
+
/* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-sm mb-4", children: "Dashboard is available exclusively to MoonUI Pro subscribers." }),
|
|
65255
|
+
/* @__PURE__ */ jsx("a", { href: "/pricing", children: /* @__PURE__ */ jsxs(MoonUIButtonPro, { size: "sm", children: [
|
|
65256
|
+
/* @__PURE__ */ jsx(Sparkles, { className: "mr-2 h-4 w-4" }),
|
|
65257
|
+
"Upgrade to Pro"
|
|
65258
|
+
] }) })
|
|
65259
|
+
] })
|
|
65260
|
+
] }) }) });
|
|
65261
|
+
}
|
|
65262
|
+
return /* @__PURE__ */ jsx(DashboardInternal, { ...props });
|
|
65263
|
+
}
|
|
65264
|
+
var MoonUIDashboardPro = Dashboard;
|
|
65265
|
+
function DraggableListInternal({
|
|
65105
65266
|
items,
|
|
65106
65267
|
onReorder,
|
|
65107
65268
|
renderItem,
|
|
@@ -65177,6 +65338,23 @@ function DraggableList({
|
|
|
65177
65338
|
}
|
|
65178
65339
|
) });
|
|
65179
65340
|
}
|
|
65341
|
+
function DraggableList(props) {
|
|
65342
|
+
const { hasProAccess } = useSubscription();
|
|
65343
|
+
if (!hasProAccess) {
|
|
65344
|
+
return /* @__PURE__ */ jsx(MoonUICardPro, { className: "w-full", children: /* @__PURE__ */ jsxs(MoonUICardContentPro, { className: "flex flex-col items-center justify-center py-12", children: [
|
|
65345
|
+
/* @__PURE__ */ jsx("div", { className: "flex items-center justify-center w-16 h-16 rounded-full bg-primary/10 mb-4", children: /* @__PURE__ */ jsx(Lock, { className: "w-8 h-8 text-primary" }) }),
|
|
65346
|
+
/* @__PURE__ */ jsx("h3", { className: "text-lg font-semibold text-center mb-2", children: "Draggable List - Pro Feature" }),
|
|
65347
|
+
/* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-center text-sm mb-6 max-w-sm", children: "Advanced draggable list component with reordering functionality requires a Pro subscription." }),
|
|
65348
|
+
/* @__PURE__ */ jsx("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ jsxs(MoonUIBadgePro, { variant: "secondary", className: "bg-gradient-to-r from-purple-500/10 to-pink-500/10 text-purple-700 dark:text-purple-300", children: [
|
|
65349
|
+
/* @__PURE__ */ jsx(Sparkles, { className: "w-3 h-3 mr-1" }),
|
|
65350
|
+
"Pro Feature"
|
|
65351
|
+
] }) }),
|
|
65352
|
+
/* @__PURE__ */ jsx(MoonUIButtonPro, { className: "mt-4", size: "sm", children: "Upgrade to Pro" })
|
|
65353
|
+
] }) });
|
|
65354
|
+
}
|
|
65355
|
+
return /* @__PURE__ */ jsx(DraggableListInternal, { ...props });
|
|
65356
|
+
}
|
|
65357
|
+
var MoonUIDraggableListPro = DraggableList;
|
|
65180
65358
|
function validatePhoneNumber(number) {
|
|
65181
65359
|
if (!number)
|
|
65182
65360
|
return false;
|
|
@@ -65351,7 +65529,7 @@ function toInternationalFormat(countryCode, phoneNumber) {
|
|
|
65351
65529
|
return `${country.dialCode}${cleaned}`;
|
|
65352
65530
|
}
|
|
65353
65531
|
var defaultValue = { country: "US", number: "" };
|
|
65354
|
-
var
|
|
65532
|
+
var PhoneNumberInputInternal = React67__default.forwardRef(({
|
|
65355
65533
|
value,
|
|
65356
65534
|
onChange,
|
|
65357
65535
|
defaultCountry = "US",
|
|
@@ -65540,7 +65718,28 @@ var MoonUIPhoneNumberInputPro = React67__default.forwardRef(({
|
|
|
65540
65718
|
)
|
|
65541
65719
|
] });
|
|
65542
65720
|
});
|
|
65721
|
+
PhoneNumberInputInternal.displayName = "PhoneNumberInputInternal";
|
|
65722
|
+
var MoonUIPhoneNumberInputPro = React67__default.forwardRef(
|
|
65723
|
+
(props, ref) => {
|
|
65724
|
+
const { hasProAccess, isLoading } = useSubscription();
|
|
65725
|
+
if (!isLoading && !hasProAccess) {
|
|
65726
|
+
return /* @__PURE__ */ jsx(MoonUICardPro, { className: cn("w-full max-w-md", props.className), children: /* @__PURE__ */ jsx(MoonUICardContentPro, { className: "py-12 text-center", children: /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
|
|
65727
|
+
/* @__PURE__ */ jsx("div", { className: "rounded-full bg-purple-100 dark:bg-purple-900/30 p-3 w-fit mx-auto", children: /* @__PURE__ */ jsx(Lock, { className: "h-6 w-6 text-purple-600 dark:text-purple-400" }) }),
|
|
65728
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
65729
|
+
/* @__PURE__ */ jsx("h3", { className: "font-semibold text-lg mb-2", children: "Pro Feature" }),
|
|
65730
|
+
/* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-sm mb-4", children: "Phone Number Input is available exclusively to MoonUI Pro subscribers." }),
|
|
65731
|
+
/* @__PURE__ */ jsx("a", { href: "/pricing", children: /* @__PURE__ */ jsxs(MoonUIButtonPro, { size: "sm", children: [
|
|
65732
|
+
/* @__PURE__ */ jsx(Sparkles, { className: "mr-2 h-4 w-4" }),
|
|
65733
|
+
"Upgrade to Pro"
|
|
65734
|
+
] }) })
|
|
65735
|
+
] })
|
|
65736
|
+
] }) }) });
|
|
65737
|
+
}
|
|
65738
|
+
return /* @__PURE__ */ jsx(PhoneNumberInputInternal, { ...props, ref });
|
|
65739
|
+
}
|
|
65740
|
+
);
|
|
65543
65741
|
MoonUIPhoneNumberInputPro.displayName = "MoonUIPhoneNumberInputPro";
|
|
65742
|
+
var PhoneNumberInput = MoonUIPhoneNumberInputPro;
|
|
65544
65743
|
var AdvancedFormsInternal = ({
|
|
65545
65744
|
fields,
|
|
65546
65745
|
onSubmit,
|
|
@@ -70888,214 +71087,6 @@ var FileUploadItem = ({
|
|
|
70888
71087
|
);
|
|
70889
71088
|
};
|
|
70890
71089
|
MoonUIFileUploadPro.displayName = "MoonUIFileUploadPro";
|
|
70891
|
-
function useLicense() {
|
|
70892
|
-
const [status, setStatus] = useState("loading");
|
|
70893
|
-
useEffect(() => {
|
|
70894
|
-
async function validateLicense() {
|
|
70895
|
-
try {
|
|
70896
|
-
if (true) {
|
|
70897
|
-
setStatus("valid");
|
|
70898
|
-
return;
|
|
70899
|
-
}
|
|
70900
|
-
if (typeof window !== "undefined" && window.location.hostname === "moonui.dev") {
|
|
70901
|
-
setStatus("valid");
|
|
70902
|
-
return;
|
|
70903
|
-
}
|
|
70904
|
-
const adminToken = process.env.NEXT_PUBLIC_ADMIN_TOKEN;
|
|
70905
|
-
if (adminToken && isValidAdminToken(adminToken)) {
|
|
70906
|
-
setStatus("valid");
|
|
70907
|
-
return;
|
|
70908
|
-
}
|
|
70909
|
-
const cacheKey = "moonui_pro_license_cache";
|
|
70910
|
-
const cached = localStorage.getItem(cacheKey);
|
|
70911
|
-
if (cached) {
|
|
70912
|
-
try {
|
|
70913
|
-
const data = JSON.parse(cached);
|
|
70914
|
-
const now = /* @__PURE__ */ new Date();
|
|
70915
|
-
const expiresAt = new Date(data.expiresAt);
|
|
70916
|
-
if (expiresAt > now && data.domain === window.location.hostname) {
|
|
70917
|
-
setStatus("valid");
|
|
70918
|
-
return;
|
|
70919
|
-
}
|
|
70920
|
-
} catch {
|
|
70921
|
-
localStorage.removeItem(cacheKey);
|
|
70922
|
-
}
|
|
70923
|
-
}
|
|
70924
|
-
const licenseKey = process.env.NEXT_PUBLIC_LICENSE_KEY || localStorage.getItem("moonui_license_key");
|
|
70925
|
-
if (!licenseKey) {
|
|
70926
|
-
setStatus("invalid");
|
|
70927
|
-
return;
|
|
70928
|
-
}
|
|
70929
|
-
const response = await fetch("/api/license/validate", {
|
|
70930
|
-
method: "POST",
|
|
70931
|
-
headers: {
|
|
70932
|
-
"Content-Type": "application/json"
|
|
70933
|
-
},
|
|
70934
|
-
body: JSON.stringify({
|
|
70935
|
-
licenseKey,
|
|
70936
|
-
domain: window.location.hostname,
|
|
70937
|
-
origin: window.location.origin
|
|
70938
|
-
})
|
|
70939
|
-
});
|
|
70940
|
-
if (response.ok) {
|
|
70941
|
-
const result = await response.json();
|
|
70942
|
-
if (result.valid) {
|
|
70943
|
-
const cacheData = {
|
|
70944
|
-
valid: true,
|
|
70945
|
-
expiresAt: new Date(Date.now() + 24 * 60 * 60 * 1e3).toISOString(),
|
|
70946
|
-
domain: window.location.hostname
|
|
70947
|
-
};
|
|
70948
|
-
localStorage.setItem(cacheKey, JSON.stringify(cacheData));
|
|
70949
|
-
setStatus("valid");
|
|
70950
|
-
} else {
|
|
70951
|
-
setStatus("invalid");
|
|
70952
|
-
}
|
|
70953
|
-
} else {
|
|
70954
|
-
if (cached) {
|
|
70955
|
-
setStatus("valid");
|
|
70956
|
-
} else {
|
|
70957
|
-
setStatus("invalid");
|
|
70958
|
-
}
|
|
70959
|
-
}
|
|
70960
|
-
} catch (error) {
|
|
70961
|
-
console.error("License validation error:", error);
|
|
70962
|
-
const cached = localStorage.getItem("moonui_pro_license_cache");
|
|
70963
|
-
if (cached) {
|
|
70964
|
-
setStatus("valid");
|
|
70965
|
-
} else {
|
|
70966
|
-
setStatus("invalid");
|
|
70967
|
-
}
|
|
70968
|
-
}
|
|
70969
|
-
}
|
|
70970
|
-
validateLicense();
|
|
70971
|
-
}, []);
|
|
70972
|
-
return status;
|
|
70973
|
-
}
|
|
70974
|
-
function isValidAdminToken(token) {
|
|
70975
|
-
if (!token || typeof token !== "string")
|
|
70976
|
-
return false;
|
|
70977
|
-
return token === "mpt_admin_secret_moonui_2025_production_only";
|
|
70978
|
-
}
|
|
70979
|
-
function ProComponentWrapper({
|
|
70980
|
-
children,
|
|
70981
|
-
componentName,
|
|
70982
|
-
minPlan = "pro_monthly"
|
|
70983
|
-
}) {
|
|
70984
|
-
const licenseStatus = useLicense();
|
|
70985
|
-
if (licenseStatus === "loading") {
|
|
70986
|
-
return /* @__PURE__ */ jsx("div", { className: "moonui-pro-loading", style: {
|
|
70987
|
-
display: "flex",
|
|
70988
|
-
alignItems: "center",
|
|
70989
|
-
justifyContent: "center",
|
|
70990
|
-
padding: "2rem",
|
|
70991
|
-
background: "linear-gradient(135deg, #667eea 0%, #764ba2 100%)",
|
|
70992
|
-
borderRadius: "0.5rem",
|
|
70993
|
-
color: "white"
|
|
70994
|
-
}, children: /* @__PURE__ */ jsxs("div", { style: { textAlign: "center" }, children: [
|
|
70995
|
-
/* @__PURE__ */ jsx("div", { className: "moonui-spinner", style: {
|
|
70996
|
-
width: "2rem",
|
|
70997
|
-
height: "2rem",
|
|
70998
|
-
border: "3px solid rgba(255,255,255,0.3)",
|
|
70999
|
-
borderTopColor: "white",
|
|
71000
|
-
borderRadius: "50%",
|
|
71001
|
-
animation: "spin 1s linear infinite"
|
|
71002
|
-
} }),
|
|
71003
|
-
/* @__PURE__ */ jsx("p", { style: { marginTop: "0.5rem", fontSize: "0.875rem" }, children: "Validating license..." })
|
|
71004
|
-
] }) });
|
|
71005
|
-
}
|
|
71006
|
-
if (licenseStatus === "invalid") {
|
|
71007
|
-
return /* @__PURE__ */ jsxs("div", { className: "moonui-pro-license-warning", style: {
|
|
71008
|
-
position: "relative",
|
|
71009
|
-
borderRadius: "0.5rem",
|
|
71010
|
-
overflow: "hidden",
|
|
71011
|
-
background: "#f9fafb",
|
|
71012
|
-
border: "2px dashed #e5e7eb"
|
|
71013
|
-
}, children: [
|
|
71014
|
-
/* @__PURE__ */ jsxs("div", { style: {
|
|
71015
|
-
position: "relative",
|
|
71016
|
-
zIndex: 10,
|
|
71017
|
-
padding: "2rem",
|
|
71018
|
-
textAlign: "center",
|
|
71019
|
-
background: "linear-gradient(135deg, #667eea 0%, #764ba2 100%)",
|
|
71020
|
-
color: "white"
|
|
71021
|
-
}, children: [
|
|
71022
|
-
/* @__PURE__ */ jsx("div", { style: {
|
|
71023
|
-
fontSize: "2rem",
|
|
71024
|
-
marginBottom: "0.5rem"
|
|
71025
|
-
}, children: "\u26A0\uFE0F" }),
|
|
71026
|
-
/* @__PURE__ */ jsx("h3", { style: {
|
|
71027
|
-
fontSize: "1.25rem",
|
|
71028
|
-
fontWeight: "bold",
|
|
71029
|
-
marginBottom: "0.5rem"
|
|
71030
|
-
}, children: "MoonUI Pro License Required" }),
|
|
71031
|
-
/* @__PURE__ */ jsxs("p", { style: {
|
|
71032
|
-
fontSize: "0.875rem",
|
|
71033
|
-
opacity: 0.9,
|
|
71034
|
-
marginBottom: "1rem"
|
|
71035
|
-
}, children: [
|
|
71036
|
-
componentName,
|
|
71037
|
-
" component requires a valid MoonUI Pro license"
|
|
71038
|
-
] }),
|
|
71039
|
-
/* @__PURE__ */ jsx(
|
|
71040
|
-
"a",
|
|
71041
|
-
{
|
|
71042
|
-
href: "https://moonui.dev/pricing",
|
|
71043
|
-
target: "_blank",
|
|
71044
|
-
rel: "noopener noreferrer",
|
|
71045
|
-
style: {
|
|
71046
|
-
display: "inline-block",
|
|
71047
|
-
padding: "0.5rem 1.5rem",
|
|
71048
|
-
background: "white",
|
|
71049
|
-
color: "#667eea",
|
|
71050
|
-
borderRadius: "0.375rem",
|
|
71051
|
-
textDecoration: "none",
|
|
71052
|
-
fontWeight: "bold",
|
|
71053
|
-
fontSize: "0.875rem",
|
|
71054
|
-
transition: "transform 0.2s"
|
|
71055
|
-
},
|
|
71056
|
-
onMouseOver: (e) => {
|
|
71057
|
-
e.currentTarget.style.transform = "scale(1.05)";
|
|
71058
|
-
},
|
|
71059
|
-
onMouseOut: (e) => {
|
|
71060
|
-
e.currentTarget.style.transform = "scale(1)";
|
|
71061
|
-
},
|
|
71062
|
-
children: "Get MoonUI Pro License \u2192"
|
|
71063
|
-
}
|
|
71064
|
-
)
|
|
71065
|
-
] }),
|
|
71066
|
-
/* @__PURE__ */ jsx("div", { style: {
|
|
71067
|
-
filter: "blur(8px)",
|
|
71068
|
-
opacity: 0.4,
|
|
71069
|
-
pointerEvents: "none",
|
|
71070
|
-
userSelect: "none",
|
|
71071
|
-
padding: "2rem",
|
|
71072
|
-
background: "white"
|
|
71073
|
-
}, children }),
|
|
71074
|
-
/* @__PURE__ */ jsx("div", { style: {
|
|
71075
|
-
position: "absolute",
|
|
71076
|
-
bottom: "1rem",
|
|
71077
|
-
right: "1rem",
|
|
71078
|
-
fontSize: "0.75rem",
|
|
71079
|
-
color: "#9ca3af",
|
|
71080
|
-
background: "rgba(255,255,255,0.9)",
|
|
71081
|
-
padding: "0.25rem 0.5rem",
|
|
71082
|
-
borderRadius: "0.25rem"
|
|
71083
|
-
}, children: "\u{1F512} Unlicensed Component" })
|
|
71084
|
-
] });
|
|
71085
|
-
}
|
|
71086
|
-
return /* @__PURE__ */ jsx(Fragment, { children });
|
|
71087
|
-
}
|
|
71088
|
-
if (typeof document !== "undefined" && !document.getElementById("moonui-pro-styles")) {
|
|
71089
|
-
const style2 = document.createElement("style");
|
|
71090
|
-
style2.id = "moonui-pro-styles";
|
|
71091
|
-
style2.textContent = `
|
|
71092
|
-
@keyframes spin {
|
|
71093
|
-
from { transform: rotate(0deg); }
|
|
71094
|
-
to { transform: rotate(360deg); }
|
|
71095
|
-
}
|
|
71096
|
-
`;
|
|
71097
|
-
document.head.appendChild(style2);
|
|
71098
|
-
}
|
|
71099
71090
|
function DataTableColumnToggle({ table, trigger }) {
|
|
71100
71091
|
const [search, setSearch] = React67__default.useState("");
|
|
71101
71092
|
const columns = table.getAllColumns().filter(
|
|
@@ -72497,9 +72488,7 @@ var TableRow2 = React67__default.memo(({
|
|
|
72497
72488
|
return prevRowId === nextRowId && prevProps.isExpanded === nextProps.isExpanded && prevProps.row.getIsSelected() === nextProps.row.getIsSelected() && prevVisibilityKeys === nextVisibilityKeys && prevVisibilityValues === nextVisibilityValues;
|
|
72498
72489
|
});
|
|
72499
72490
|
TableRow2.displayName = "TableRow";
|
|
72500
|
-
|
|
72501
|
-
return /* @__PURE__ */ jsx(ProComponentWrapper, { componentName: "DataTable", minPlan: "pro_monthly", children: /* @__PURE__ */ jsx(DataTable, { ...props }) });
|
|
72502
|
-
}
|
|
72491
|
+
var MoonUIDataTablePro = DataTable;
|
|
72503
72492
|
var SearchInput = React67__default.memo(({
|
|
72504
72493
|
searchInputRef,
|
|
72505
72494
|
searchPlaceholder,
|
|
@@ -72556,7 +72545,7 @@ var SearchInput = React67__default.memo(({
|
|
|
72556
72545
|
] }) });
|
|
72557
72546
|
});
|
|
72558
72547
|
SearchInput.displayName = "SearchInput";
|
|
72559
|
-
function
|
|
72548
|
+
function SidebarInternal({
|
|
72560
72549
|
sections,
|
|
72561
72550
|
footer,
|
|
72562
72551
|
showSearch = true,
|
|
@@ -73090,7 +73079,25 @@ function Sidebar({
|
|
|
73090
73079
|
/* @__PURE__ */ jsx(SidebarContent, {})
|
|
73091
73080
|
] });
|
|
73092
73081
|
}
|
|
73093
|
-
function
|
|
73082
|
+
function Sidebar(props) {
|
|
73083
|
+
const { hasProAccess, isLoading } = useSubscription();
|
|
73084
|
+
if (!isLoading && !hasProAccess) {
|
|
73085
|
+
return /* @__PURE__ */ jsx(MoonUICardPro, { className: cn("w-full max-w-xs", props.className), children: /* @__PURE__ */ jsx(MoonUICardContentPro, { className: "py-12 text-center", children: /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
|
|
73086
|
+
/* @__PURE__ */ jsx("div", { className: "rounded-full bg-purple-100 dark:bg-purple-900/30 p-3 w-fit mx-auto", children: /* @__PURE__ */ jsx(Lock, { className: "h-6 w-6 text-purple-600 dark:text-purple-400" }) }),
|
|
73087
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
73088
|
+
/* @__PURE__ */ jsx("h3", { className: "font-semibold text-lg mb-2", children: "Pro Feature" }),
|
|
73089
|
+
/* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-sm mb-4", children: "Advanced Sidebar is available exclusively to MoonUI Pro subscribers." }),
|
|
73090
|
+
/* @__PURE__ */ jsx("a", { href: "/pricing", children: /* @__PURE__ */ jsxs(MoonUIButtonPro, { size: "sm", children: [
|
|
73091
|
+
/* @__PURE__ */ jsx(Sparkles, { className: "mr-2 h-4 w-4" }),
|
|
73092
|
+
"Upgrade to Pro"
|
|
73093
|
+
] }) })
|
|
73094
|
+
] })
|
|
73095
|
+
] }) }) });
|
|
73096
|
+
}
|
|
73097
|
+
return /* @__PURE__ */ jsx(SidebarInternal, { ...props });
|
|
73098
|
+
}
|
|
73099
|
+
var MoonUISidebarPro = Sidebar;
|
|
73100
|
+
function NavbarInternal({
|
|
73094
73101
|
sections,
|
|
73095
73102
|
branding,
|
|
73096
73103
|
showSearch = true,
|
|
@@ -73573,6 +73580,24 @@ function Navbar({
|
|
|
73573
73580
|
] })
|
|
73574
73581
|
] });
|
|
73575
73582
|
}
|
|
73583
|
+
function Navbar(props) {
|
|
73584
|
+
const { hasProAccess, isLoading } = useSubscription();
|
|
73585
|
+
if (!isLoading && !hasProAccess) {
|
|
73586
|
+
return /* @__PURE__ */ jsx(MoonUICardPro, { className: cn("w-full", props.className), children: /* @__PURE__ */ jsx(MoonUICardContentPro, { className: "py-8 text-center", children: /* @__PURE__ */ jsxs("div", { className: "max-w-md mx-auto space-y-4", children: [
|
|
73587
|
+
/* @__PURE__ */ jsx("div", { className: "rounded-full bg-purple-100 dark:bg-purple-900/30 p-3 w-fit mx-auto", children: /* @__PURE__ */ jsx(Lock, { className: "h-6 w-6 text-purple-600 dark:text-purple-400" }) }),
|
|
73588
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
73589
|
+
/* @__PURE__ */ jsx("h3", { className: "font-semibold text-lg mb-2", children: "Pro Feature" }),
|
|
73590
|
+
/* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-sm mb-4", children: "Advanced Navbar is available exclusively to MoonUI Pro subscribers." }),
|
|
73591
|
+
/* @__PURE__ */ jsx("a", { href: "/pricing", children: /* @__PURE__ */ jsxs(MoonUIButtonPro, { size: "sm", children: [
|
|
73592
|
+
/* @__PURE__ */ jsx(Sparkles, { className: "mr-2 h-4 w-4" }),
|
|
73593
|
+
"Upgrade to Pro"
|
|
73594
|
+
] }) })
|
|
73595
|
+
] })
|
|
73596
|
+
] }) }) });
|
|
73597
|
+
}
|
|
73598
|
+
return /* @__PURE__ */ jsx(NavbarInternal, { ...props });
|
|
73599
|
+
}
|
|
73600
|
+
var MoonUINavbarPro = Navbar;
|
|
73576
73601
|
var FormWizardContext = createContext(null);
|
|
73577
73602
|
var useFormWizard = () => {
|
|
73578
73603
|
const context = useContext(FormWizardContext);
|
|
@@ -74223,7 +74248,7 @@ var FormWizardNavigation = ({
|
|
|
74223
74248
|
)
|
|
74224
74249
|
] });
|
|
74225
74250
|
};
|
|
74226
|
-
var
|
|
74251
|
+
var FormWizardInternal = React67__default.forwardRef(({
|
|
74227
74252
|
steps,
|
|
74228
74253
|
currentStep = 0,
|
|
74229
74254
|
onStepChange,
|
|
@@ -74301,7 +74326,416 @@ var MoonUIFormWizardPro = React67__default.forwardRef(({
|
|
|
74301
74326
|
}
|
|
74302
74327
|
);
|
|
74303
74328
|
});
|
|
74329
|
+
FormWizardInternal.displayName = "FormWizardInternal";
|
|
74330
|
+
var MoonUIFormWizardPro = React67__default.forwardRef(
|
|
74331
|
+
(props, ref) => {
|
|
74332
|
+
const { hasProAccess, isLoading } = useSubscription();
|
|
74333
|
+
if (!isLoading && !hasProAccess) {
|
|
74334
|
+
return /* @__PURE__ */ jsx(MoonUICardPro, { className: cn("w-full", props.className), children: /* @__PURE__ */ jsx(MoonUICardContentPro, { className: "py-12 text-center", children: /* @__PURE__ */ jsxs("div", { className: "max-w-md mx-auto space-y-4", children: [
|
|
74335
|
+
/* @__PURE__ */ jsx("div", { className: "rounded-full bg-purple-100 dark:bg-purple-900/30 p-3 w-fit mx-auto", children: /* @__PURE__ */ jsx(Lock, { className: "h-6 w-6 text-purple-600 dark:text-purple-400" }) }),
|
|
74336
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
74337
|
+
/* @__PURE__ */ jsx("h3", { className: "font-semibold text-lg mb-2", children: "Pro Feature" }),
|
|
74338
|
+
/* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-sm mb-4", children: "Form Wizard is available exclusively to MoonUI Pro subscribers." }),
|
|
74339
|
+
/* @__PURE__ */ jsx("a", { href: "/pricing", children: /* @__PURE__ */ jsxs(MoonUIButtonPro, { size: "sm", children: [
|
|
74340
|
+
/* @__PURE__ */ jsx(Sparkles, { className: "mr-2 h-4 w-4" }),
|
|
74341
|
+
"Upgrade to Pro"
|
|
74342
|
+
] }) })
|
|
74343
|
+
] })
|
|
74344
|
+
] }) }) });
|
|
74345
|
+
}
|
|
74346
|
+
return /* @__PURE__ */ jsx(FormWizardInternal, { ...props, ref });
|
|
74347
|
+
}
|
|
74348
|
+
);
|
|
74304
74349
|
MoonUIFormWizardPro.displayName = "MoonUIFormWizardPro";
|
|
74350
|
+
var FormWizard = MoonUIFormWizardPro;
|
|
74351
|
+
function shuffleArray(array) {
|
|
74352
|
+
const shuffled = [...array];
|
|
74353
|
+
for (let i = shuffled.length - 1; i > 0; i--) {
|
|
74354
|
+
const j = Math.floor(Math.random() * (i + 1));
|
|
74355
|
+
[shuffled[i], shuffled[j]] = [shuffled[j], shuffled[i]];
|
|
74356
|
+
}
|
|
74357
|
+
return shuffled;
|
|
74358
|
+
}
|
|
74359
|
+
var QuizFormInternal = ({
|
|
74360
|
+
title,
|
|
74361
|
+
description,
|
|
74362
|
+
questions: initialQuestions,
|
|
74363
|
+
onComplete,
|
|
74364
|
+
showTimer = true,
|
|
74365
|
+
totalTimeLimit,
|
|
74366
|
+
showProgress = true,
|
|
74367
|
+
showQuestionNumbers = true,
|
|
74368
|
+
allowReview = true,
|
|
74369
|
+
allowSkip = true,
|
|
74370
|
+
shuffleQuestions = false,
|
|
74371
|
+
shuffleOptions = false,
|
|
74372
|
+
passingScore = 70,
|
|
74373
|
+
instantFeedback = false,
|
|
74374
|
+
showHints = false,
|
|
74375
|
+
className
|
|
74376
|
+
}) => {
|
|
74377
|
+
const [questions] = useState(
|
|
74378
|
+
() => shuffleQuestions ? shuffleArray(initialQuestions) : initialQuestions
|
|
74379
|
+
);
|
|
74380
|
+
const [answers, setAnswers] = useState({});
|
|
74381
|
+
const [results, setResults] = useState([]);
|
|
74382
|
+
const [timeRemaining, setTimeRemaining] = useState(totalTimeLimit || 0);
|
|
74383
|
+
const [questionStartTime, setQuestionStartTime] = useState({});
|
|
74384
|
+
const [showResults, setShowResults] = useState(false);
|
|
74385
|
+
const [currentQuestionTime, setCurrentQuestionTime] = useState(0);
|
|
74386
|
+
useEffect(() => {
|
|
74387
|
+
if (!showTimer || !totalTimeLimit || showResults)
|
|
74388
|
+
return;
|
|
74389
|
+
const interval = setInterval(() => {
|
|
74390
|
+
setTimeRemaining((prev) => {
|
|
74391
|
+
if (prev <= 1) {
|
|
74392
|
+
handleQuizComplete();
|
|
74393
|
+
return 0;
|
|
74394
|
+
}
|
|
74395
|
+
return prev - 1;
|
|
74396
|
+
});
|
|
74397
|
+
}, 1e3);
|
|
74398
|
+
return () => clearInterval(interval);
|
|
74399
|
+
}, [showTimer, totalTimeLimit, showResults]);
|
|
74400
|
+
useEffect(() => {
|
|
74401
|
+
if (!showTimer || showResults)
|
|
74402
|
+
return;
|
|
74403
|
+
const interval = setInterval(() => {
|
|
74404
|
+
setCurrentQuestionTime((prev) => prev + 1);
|
|
74405
|
+
}, 1e3);
|
|
74406
|
+
return () => clearInterval(interval);
|
|
74407
|
+
}, [showTimer, showResults]);
|
|
74408
|
+
const calculateScore = useCallback(() => {
|
|
74409
|
+
let score = 0;
|
|
74410
|
+
let totalScore = 0;
|
|
74411
|
+
const quizResults = questions.map((question) => {
|
|
74412
|
+
const answer = answers[question.id];
|
|
74413
|
+
const points = question.points || 1;
|
|
74414
|
+
totalScore += points;
|
|
74415
|
+
let isCorrect = false;
|
|
74416
|
+
if (answer !== void 0 && answer !== null && answer !== "") {
|
|
74417
|
+
if (question.type === "single-choice" || question.type === "true-false") {
|
|
74418
|
+
isCorrect = answer === question.correctAnswer;
|
|
74419
|
+
} else if (question.type === "multiple-choice") {
|
|
74420
|
+
const userAnswers = Array.isArray(answer) ? answer : [];
|
|
74421
|
+
const correctAnswers = Array.isArray(question.correctAnswer) ? question.correctAnswer : [];
|
|
74422
|
+
isCorrect = userAnswers.length === correctAnswers.length && userAnswers.every((a) => correctAnswers.includes(a));
|
|
74423
|
+
}
|
|
74424
|
+
}
|
|
74425
|
+
const earnedPoints = isCorrect ? points : 0;
|
|
74426
|
+
score += earnedPoints;
|
|
74427
|
+
return {
|
|
74428
|
+
questionId: question.id,
|
|
74429
|
+
answer,
|
|
74430
|
+
isCorrect,
|
|
74431
|
+
points: earnedPoints,
|
|
74432
|
+
timeSpent: questionStartTime[question.id] || 0
|
|
74433
|
+
};
|
|
74434
|
+
});
|
|
74435
|
+
return { results: quizResults, score, totalScore };
|
|
74436
|
+
}, [questions, answers, questionStartTime]);
|
|
74437
|
+
const handleQuizComplete = async () => {
|
|
74438
|
+
const { results: results2, score, totalScore } = calculateScore();
|
|
74439
|
+
setResults(results2);
|
|
74440
|
+
setShowResults(true);
|
|
74441
|
+
if (onComplete) {
|
|
74442
|
+
await onComplete(results2, score, totalScore);
|
|
74443
|
+
}
|
|
74444
|
+
};
|
|
74445
|
+
const formatTime2 = (seconds) => {
|
|
74446
|
+
const mins = Math.floor(seconds / 60);
|
|
74447
|
+
const secs = seconds % 60;
|
|
74448
|
+
return `${mins}:${secs.toString().padStart(2, "0")}`;
|
|
74449
|
+
};
|
|
74450
|
+
const wizardSteps = questions.map((question, index2) => ({
|
|
74451
|
+
id: question.id,
|
|
74452
|
+
title: `Question ${index2 + 1}`,
|
|
74453
|
+
description: question.tags?.join(", "),
|
|
74454
|
+
content: ({ updateStepData, goToNext }) => {
|
|
74455
|
+
const currentAnswer = answers[question.id];
|
|
74456
|
+
const questionOptions = shuffleOptions && question.options ? shuffleArray(question.options) : question.options;
|
|
74457
|
+
useEffect(() => {
|
|
74458
|
+
if (!questionStartTime[question.id]) {
|
|
74459
|
+
setQuestionStartTime((prev) => ({
|
|
74460
|
+
...prev,
|
|
74461
|
+
[question.id]: currentQuestionTime
|
|
74462
|
+
}));
|
|
74463
|
+
}
|
|
74464
|
+
}, []);
|
|
74465
|
+
const handleAnswerChange = (value) => {
|
|
74466
|
+
setAnswers((prev) => ({ ...prev, [question.id]: value }));
|
|
74467
|
+
if (instantFeedback && question.type !== "text") ;
|
|
74468
|
+
};
|
|
74469
|
+
return /* @__PURE__ */ jsxs(MoonUICardPro, { className: "border-0 shadow-none", children: [
|
|
74470
|
+
/* @__PURE__ */ jsxs(MoonUICardHeaderPro, { children: [
|
|
74471
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-2", children: [
|
|
74472
|
+
showQuestionNumbers && /* @__PURE__ */ jsxs(MoonUIBadgePro, { variant: "secondary", children: [
|
|
74473
|
+
"Question ",
|
|
74474
|
+
index2 + 1,
|
|
74475
|
+
" of ",
|
|
74476
|
+
questions.length
|
|
74477
|
+
] }),
|
|
74478
|
+
question.points && question.points > 1 && /* @__PURE__ */ jsxs(MoonUIBadgePro, { variant: "outline", children: [
|
|
74479
|
+
question.points,
|
|
74480
|
+
" points"
|
|
74481
|
+
] })
|
|
74482
|
+
] }),
|
|
74483
|
+
/* @__PURE__ */ jsx(MoonUICardTitlePro, { className: "text-xl", children: question.question }),
|
|
74484
|
+
question.description && /* @__PURE__ */ jsx(MoonUICardDescriptionPro, { children: question.description })
|
|
74485
|
+
] }),
|
|
74486
|
+
/* @__PURE__ */ jsxs(MoonUICardContentPro, { className: "space-y-4", children: [
|
|
74487
|
+
question.image && /* @__PURE__ */ jsx(
|
|
74488
|
+
"img",
|
|
74489
|
+
{
|
|
74490
|
+
src: question.image,
|
|
74491
|
+
alt: "Question illustration",
|
|
74492
|
+
className: "w-full rounded-lg"
|
|
74493
|
+
}
|
|
74494
|
+
),
|
|
74495
|
+
question.type === "single-choice" && questionOptions && /* @__PURE__ */ jsx(
|
|
74496
|
+
MoonUIRadioGroupPro,
|
|
74497
|
+
{
|
|
74498
|
+
value: currentAnswer || "",
|
|
74499
|
+
onValueChange: handleAnswerChange,
|
|
74500
|
+
children: questionOptions.map((option, optionIndex) => /* @__PURE__ */ jsxs(
|
|
74501
|
+
motion.div,
|
|
74502
|
+
{
|
|
74503
|
+
initial: { opacity: 0, x: -20 },
|
|
74504
|
+
animate: { opacity: 1, x: 0 },
|
|
74505
|
+
transition: { delay: optionIndex * 0.1 },
|
|
74506
|
+
className: "flex items-center space-x-2 p-3 rounded-lg hover:bg-muted/50 transition-colors",
|
|
74507
|
+
children: [
|
|
74508
|
+
/* @__PURE__ */ jsx(MoonUIRadioGroupItemPro, { value: String(option.value), id: `${question.id}-${option.value}` }),
|
|
74509
|
+
/* @__PURE__ */ jsx(
|
|
74510
|
+
MoonUILabelPro,
|
|
74511
|
+
{
|
|
74512
|
+
htmlFor: `${question.id}-${option.value}`,
|
|
74513
|
+
className: "flex-1 cursor-pointer",
|
|
74514
|
+
children: option.label || option.value
|
|
74515
|
+
}
|
|
74516
|
+
)
|
|
74517
|
+
]
|
|
74518
|
+
},
|
|
74519
|
+
String(option.value)
|
|
74520
|
+
))
|
|
74521
|
+
}
|
|
74522
|
+
),
|
|
74523
|
+
question.type === "multiple-choice" && questionOptions && /* @__PURE__ */ jsx("div", { className: "space-y-2", children: questionOptions.map((option, optionIndex) => /* @__PURE__ */ jsxs(
|
|
74524
|
+
motion.div,
|
|
74525
|
+
{
|
|
74526
|
+
initial: { opacity: 0, x: -20 },
|
|
74527
|
+
animate: { opacity: 1, x: 0 },
|
|
74528
|
+
transition: { delay: optionIndex * 0.1 },
|
|
74529
|
+
className: "flex items-center space-x-2 p-3 rounded-lg hover:bg-muted/50 transition-colors",
|
|
74530
|
+
children: [
|
|
74531
|
+
/* @__PURE__ */ jsx(
|
|
74532
|
+
MoonUICheckboxPro,
|
|
74533
|
+
{
|
|
74534
|
+
id: `${question.id}-${option.value}`,
|
|
74535
|
+
checked: (currentAnswer || []).includes(option.value),
|
|
74536
|
+
onCheckedChange: (checked) => {
|
|
74537
|
+
const current = currentAnswer || [];
|
|
74538
|
+
if (checked) {
|
|
74539
|
+
handleAnswerChange([...current, option.value]);
|
|
74540
|
+
} else {
|
|
74541
|
+
handleAnswerChange(current.filter((v) => v !== option.value));
|
|
74542
|
+
}
|
|
74543
|
+
}
|
|
74544
|
+
}
|
|
74545
|
+
),
|
|
74546
|
+
/* @__PURE__ */ jsx(
|
|
74547
|
+
MoonUILabelPro,
|
|
74548
|
+
{
|
|
74549
|
+
htmlFor: `${question.id}-${option.value}`,
|
|
74550
|
+
className: "flex-1 cursor-pointer",
|
|
74551
|
+
children: option.label || option.value
|
|
74552
|
+
}
|
|
74553
|
+
)
|
|
74554
|
+
]
|
|
74555
|
+
},
|
|
74556
|
+
String(option.value)
|
|
74557
|
+
)) }),
|
|
74558
|
+
question.type === "true-false" && /* @__PURE__ */ jsxs(
|
|
74559
|
+
MoonUIRadioGroupPro,
|
|
74560
|
+
{
|
|
74561
|
+
value: currentAnswer?.toString() || "",
|
|
74562
|
+
onValueChange: (value) => handleAnswerChange(value === "true"),
|
|
74563
|
+
children: [
|
|
74564
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center space-x-2 p-3 rounded-lg hover:bg-muted/50", children: [
|
|
74565
|
+
/* @__PURE__ */ jsx(MoonUIRadioGroupItemPro, { value: "true", id: `${question.id}-true` }),
|
|
74566
|
+
/* @__PURE__ */ jsx(MoonUILabelPro, { htmlFor: `${question.id}-true`, className: "flex-1 cursor-pointer", children: "True" })
|
|
74567
|
+
] }),
|
|
74568
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center space-x-2 p-3 rounded-lg hover:bg-muted/50", children: [
|
|
74569
|
+
/* @__PURE__ */ jsx(MoonUIRadioGroupItemPro, { value: "false", id: `${question.id}-false` }),
|
|
74570
|
+
/* @__PURE__ */ jsx(MoonUILabelPro, { htmlFor: `${question.id}-false`, className: "flex-1 cursor-pointer", children: "False" })
|
|
74571
|
+
] })
|
|
74572
|
+
]
|
|
74573
|
+
}
|
|
74574
|
+
),
|
|
74575
|
+
question.type === "text" && /* @__PURE__ */ jsx(
|
|
74576
|
+
MoonUITextareaPro,
|
|
74577
|
+
{
|
|
74578
|
+
value: currentAnswer || "",
|
|
74579
|
+
onChange: (e) => handleAnswerChange(e.target.value),
|
|
74580
|
+
placeholder: "Type your answer here...",
|
|
74581
|
+
className: "min-h-[120px]"
|
|
74582
|
+
}
|
|
74583
|
+
),
|
|
74584
|
+
question.type === "rating" && /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
|
|
74585
|
+
/* @__PURE__ */ jsx(
|
|
74586
|
+
MoonUISliderPro,
|
|
74587
|
+
{
|
|
74588
|
+
value: [currentAnswer || 5],
|
|
74589
|
+
onValueChange: ([value]) => handleAnswerChange(value),
|
|
74590
|
+
max: 10,
|
|
74591
|
+
min: 1,
|
|
74592
|
+
step: 1,
|
|
74593
|
+
className: "w-full"
|
|
74594
|
+
}
|
|
74595
|
+
),
|
|
74596
|
+
/* @__PURE__ */ jsxs("div", { className: "text-center text-2xl font-bold", children: [
|
|
74597
|
+
currentAnswer || 5,
|
|
74598
|
+
"/10"
|
|
74599
|
+
] })
|
|
74600
|
+
] }),
|
|
74601
|
+
showHints && question.hint && /* @__PURE__ */ jsx(MoonUIAlertPro, { children: /* @__PURE__ */ jsxs(MoonUIAlertDescriptionPro, { children: [
|
|
74602
|
+
/* @__PURE__ */ jsx("strong", { children: "Hint:" }),
|
|
74603
|
+
" ",
|
|
74604
|
+
question.hint
|
|
74605
|
+
] }) })
|
|
74606
|
+
] })
|
|
74607
|
+
] });
|
|
74608
|
+
},
|
|
74609
|
+
validation: () => {
|
|
74610
|
+
if (question.required && !answers[question.id]) {
|
|
74611
|
+
return false;
|
|
74612
|
+
}
|
|
74613
|
+
return true;
|
|
74614
|
+
},
|
|
74615
|
+
isOptional: !question.required
|
|
74616
|
+
}));
|
|
74617
|
+
if (showResults) {
|
|
74618
|
+
const { score, totalScore } = calculateScore();
|
|
74619
|
+
const percentage = Math.round(score / totalScore * 100);
|
|
74620
|
+
const passed = percentage >= passingScore;
|
|
74621
|
+
return /* @__PURE__ */ jsx(
|
|
74622
|
+
motion.div,
|
|
74623
|
+
{
|
|
74624
|
+
initial: { opacity: 0, scale: 0.9 },
|
|
74625
|
+
animate: { opacity: 1, scale: 1 },
|
|
74626
|
+
className: cn("w-full max-w-2xl mx-auto", className),
|
|
74627
|
+
children: /* @__PURE__ */ jsxs(MoonUICardPro, { children: [
|
|
74628
|
+
/* @__PURE__ */ jsxs(MoonUICardHeaderPro, { className: "text-center", children: [
|
|
74629
|
+
/* @__PURE__ */ jsx("div", { className: "mx-auto mb-4", children: /* @__PURE__ */ jsx(Trophy, { className: cn(
|
|
74630
|
+
"w-16 h-16",
|
|
74631
|
+
passed ? "text-yellow-500" : "text-muted-foreground"
|
|
74632
|
+
) }) }),
|
|
74633
|
+
/* @__PURE__ */ jsx(MoonUICardTitlePro, { className: "text-3xl", children: "Quiz Complete!" }),
|
|
74634
|
+
/* @__PURE__ */ jsx(MoonUICardDescriptionPro, { children: "Here's how you performed" })
|
|
74635
|
+
] }),
|
|
74636
|
+
/* @__PURE__ */ jsxs(MoonUICardContentPro, { className: "space-y-6", children: [
|
|
74637
|
+
/* @__PURE__ */ jsxs("div", { className: "text-center", children: [
|
|
74638
|
+
/* @__PURE__ */ jsxs("div", { className: "text-5xl font-bold mb-2", children: [
|
|
74639
|
+
percentage,
|
|
74640
|
+
"%"
|
|
74641
|
+
] }),
|
|
74642
|
+
/* @__PURE__ */ jsx(MoonUIProgressPro, { value: percentage, className: "h-3 mb-4" }),
|
|
74643
|
+
/* @__PURE__ */ jsxs("div", { className: "flex justify-between text-sm text-muted-foreground", children: [
|
|
74644
|
+
/* @__PURE__ */ jsxs("span", { children: [
|
|
74645
|
+
"Score: ",
|
|
74646
|
+
score,
|
|
74647
|
+
"/",
|
|
74648
|
+
totalScore
|
|
74649
|
+
] }),
|
|
74650
|
+
/* @__PURE__ */ jsx("span", { children: passed ? /* @__PURE__ */ jsx(MoonUIBadgePro, { variant: "success", children: "Passed" }) : /* @__PURE__ */ jsx(MoonUIBadgePro, { variant: "destructive", children: "Failed" }) })
|
|
74651
|
+
] })
|
|
74652
|
+
] }),
|
|
74653
|
+
allowReview && /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
74654
|
+
/* @__PURE__ */ jsx("h3", { className: "font-semibold", children: "Review Answers" }),
|
|
74655
|
+
results.map((result, index2) => {
|
|
74656
|
+
const question = questions.find((q) => q.id === result.questionId);
|
|
74657
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between p-2 rounded-lg bg-muted/50", children: [
|
|
74658
|
+
/* @__PURE__ */ jsxs("span", { className: "text-sm", children: [
|
|
74659
|
+
showQuestionNumbers && `Q${index2 + 1}: `,
|
|
74660
|
+
question?.question.substring(0, 50),
|
|
74661
|
+
"..."
|
|
74662
|
+
] }),
|
|
74663
|
+
/* @__PURE__ */ jsxs(MoonUIBadgePro, { variant: result.isCorrect ? "success" : "destructive", children: [
|
|
74664
|
+
result.points,
|
|
74665
|
+
"/",
|
|
74666
|
+
question?.points || 1
|
|
74667
|
+
] })
|
|
74668
|
+
] }, result.questionId);
|
|
74669
|
+
})
|
|
74670
|
+
] }),
|
|
74671
|
+
/* @__PURE__ */ jsxs("div", { className: "flex gap-2", children: [
|
|
74672
|
+
/* @__PURE__ */ jsxs(MoonUIButtonPro, { className: "flex-1", onClick: () => window.location.reload(), children: [
|
|
74673
|
+
/* @__PURE__ */ jsx(RotateCcw, { className: "w-4 h-4 mr-2" }),
|
|
74674
|
+
"Retake Quiz"
|
|
74675
|
+
] }),
|
|
74676
|
+
/* @__PURE__ */ jsxs(MoonUIButtonPro, { variant: "outline", children: [
|
|
74677
|
+
/* @__PURE__ */ jsx(Download, { className: "w-4 h-4 mr-2" }),
|
|
74678
|
+
"Download Results"
|
|
74679
|
+
] }),
|
|
74680
|
+
/* @__PURE__ */ jsxs(MoonUIButtonPro, { variant: "outline", children: [
|
|
74681
|
+
/* @__PURE__ */ jsx(Share2, { className: "w-4 h-4 mr-2" }),
|
|
74682
|
+
"Share"
|
|
74683
|
+
] })
|
|
74684
|
+
] })
|
|
74685
|
+
] })
|
|
74686
|
+
] })
|
|
74687
|
+
}
|
|
74688
|
+
);
|
|
74689
|
+
}
|
|
74690
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("w-full", className), children: [
|
|
74691
|
+
showTimer && totalTimeLimit && /* @__PURE__ */ jsxs("div", { className: "mb-6 flex items-center justify-between", children: [
|
|
74692
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
74693
|
+
/* @__PURE__ */ jsx(Clock, { className: "w-4 h-4" }),
|
|
74694
|
+
/* @__PURE__ */ jsxs("span", { className: "text-sm font-medium", children: [
|
|
74695
|
+
"Time Remaining: ",
|
|
74696
|
+
formatTime2(timeRemaining)
|
|
74697
|
+
] })
|
|
74698
|
+
] }),
|
|
74699
|
+
/* @__PURE__ */ jsx(
|
|
74700
|
+
MoonUIProgressPro,
|
|
74701
|
+
{
|
|
74702
|
+
value: timeRemaining / totalTimeLimit * 100,
|
|
74703
|
+
className: "w-32 h-2"
|
|
74704
|
+
}
|
|
74705
|
+
)
|
|
74706
|
+
] }),
|
|
74707
|
+
/* @__PURE__ */ jsx(
|
|
74708
|
+
MoonUIFormWizardPro,
|
|
74709
|
+
{
|
|
74710
|
+
steps: wizardSteps,
|
|
74711
|
+
onComplete: handleQuizComplete,
|
|
74712
|
+
allowStepSkip: allowSkip,
|
|
74713
|
+
validateOnStepChange: true,
|
|
74714
|
+
showProgressBar: showProgress,
|
|
74715
|
+
progressType: "dots",
|
|
74716
|
+
animationType: "slide"
|
|
74717
|
+
}
|
|
74718
|
+
)
|
|
74719
|
+
] });
|
|
74720
|
+
};
|
|
74721
|
+
var MoonUIQuizFormPro = (props) => {
|
|
74722
|
+
const { hasProAccess, isLoading } = useSubscription();
|
|
74723
|
+
if (!isLoading && !hasProAccess) {
|
|
74724
|
+
return /* @__PURE__ */ jsx(MoonUICardPro, { className: cn("w-full", props.className), children: /* @__PURE__ */ jsx(MoonUICardContentPro, { className: "py-12 text-center", children: /* @__PURE__ */ jsxs("div", { className: "max-w-md mx-auto space-y-4", children: [
|
|
74725
|
+
/* @__PURE__ */ jsx("div", { className: "rounded-full bg-purple-100 dark:bg-purple-900/30 p-3 w-fit mx-auto", children: /* @__PURE__ */ jsx(Lock, { className: "h-6 w-6 text-purple-600 dark:text-purple-400" }) }),
|
|
74726
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
74727
|
+
/* @__PURE__ */ jsx("h3", { className: "font-semibold text-lg mb-2", children: "Pro Feature" }),
|
|
74728
|
+
/* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-sm mb-4", children: "Quiz Form is available exclusively to MoonUI Pro subscribers." }),
|
|
74729
|
+
/* @__PURE__ */ jsx("a", { href: "/pricing", children: /* @__PURE__ */ jsxs(MoonUIButtonPro, { size: "sm", children: [
|
|
74730
|
+
/* @__PURE__ */ jsx(Sparkles, { className: "mr-2 h-4 w-4" }),
|
|
74731
|
+
"Upgrade to Pro"
|
|
74732
|
+
] }) })
|
|
74733
|
+
] })
|
|
74734
|
+
] }) }) });
|
|
74735
|
+
}
|
|
74736
|
+
return /* @__PURE__ */ jsx(QuizFormInternal, { ...props });
|
|
74737
|
+
};
|
|
74738
|
+
var QuizForm = MoonUIQuizFormPro;
|
|
74305
74739
|
var cardPatterns = {
|
|
74306
74740
|
visa: /^4/,
|
|
74307
74741
|
mastercard: /^5[1-5]/,
|
|
@@ -74610,7 +75044,7 @@ var quizFormVariants = cva(
|
|
|
74610
75044
|
}
|
|
74611
75045
|
}
|
|
74612
75046
|
);
|
|
74613
|
-
var
|
|
75047
|
+
var MoonUIQuizFormProInternal = React67__default.forwardRef(({
|
|
74614
75048
|
className,
|
|
74615
75049
|
variant,
|
|
74616
75050
|
size: size4,
|
|
@@ -74636,12 +75070,12 @@ var MoonUIQuizFormPro = React67__default.forwardRef(({
|
|
|
74636
75070
|
useEffect(() => {
|
|
74637
75071
|
let processedQuestions = [...initialQuestions];
|
|
74638
75072
|
if (settings.shuffleQuestions) {
|
|
74639
|
-
processedQuestions =
|
|
75073
|
+
processedQuestions = shuffleArray2(processedQuestions);
|
|
74640
75074
|
}
|
|
74641
75075
|
if (settings.shuffleOptions) {
|
|
74642
75076
|
processedQuestions = processedQuestions.map((q) => {
|
|
74643
75077
|
if (q.options) {
|
|
74644
|
-
return { ...q, options:
|
|
75078
|
+
return { ...q, options: shuffleArray2([...q.options]) };
|
|
74645
75079
|
}
|
|
74646
75080
|
return q;
|
|
74647
75081
|
});
|
|
@@ -74668,7 +75102,7 @@ var MoonUIQuizFormPro = React67__default.forwardRef(({
|
|
|
74668
75102
|
}
|
|
74669
75103
|
}, [currentQuestionIndex, questions.length, onProgress]);
|
|
74670
75104
|
const currentQuestion = questions[currentQuestionIndex];
|
|
74671
|
-
const
|
|
75105
|
+
const shuffleArray2 = (array) => {
|
|
74672
75106
|
const newArray = [...array];
|
|
74673
75107
|
for (let i = newArray.length - 1; i > 0; i--) {
|
|
74674
75108
|
const j = Math.floor(Math.random() * (i + 1));
|
|
@@ -74779,7 +75213,7 @@ var MoonUIQuizFormPro = React67__default.forwardRef(({
|
|
|
74779
75213
|
setQuestionStartTime(Date.now());
|
|
74780
75214
|
setShowHint(false);
|
|
74781
75215
|
if (settings.shuffleQuestions) {
|
|
74782
|
-
setQuestions(
|
|
75216
|
+
setQuestions(shuffleArray2([...initialQuestions]));
|
|
74783
75217
|
}
|
|
74784
75218
|
};
|
|
74785
75219
|
const handleDownloadResults = () => {
|
|
@@ -75191,6 +75625,24 @@ var MoonUIQuizFormPro = React67__default.forwardRef(({
|
|
|
75191
75625
|
] })
|
|
75192
75626
|
] });
|
|
75193
75627
|
});
|
|
75194
|
-
|
|
75628
|
+
MoonUIQuizFormProInternal.displayName = "MoonUIQuizFormProInternal";
|
|
75629
|
+
var MoonUIQuizFormPro2 = React67__default.forwardRef((props, ref) => {
|
|
75630
|
+
const { hasProAccess, isLoading } = useSubscription();
|
|
75631
|
+
if (!isLoading && !hasProAccess) {
|
|
75632
|
+
return /* @__PURE__ */ jsx(MoonUICardPro, { className: cn("w-full", props.className), children: /* @__PURE__ */ jsx(MoonUICardContentPro, { className: "py-12 text-center", children: /* @__PURE__ */ jsxs("div", { className: "max-w-md mx-auto space-y-4", children: [
|
|
75633
|
+
/* @__PURE__ */ jsx("div", { className: "rounded-full bg-purple-100 dark:bg-purple-900/30 p-3 w-fit mx-auto", children: /* @__PURE__ */ jsx(Lock, { className: "h-6 w-6 text-purple-600 dark:text-purple-400" }) }),
|
|
75634
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
75635
|
+
/* @__PURE__ */ jsx("h3", { className: "font-semibold text-lg mb-2", children: "Pro Feature" }),
|
|
75636
|
+
/* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-sm mb-4", children: "MoonUI Quiz Form is available exclusively to MoonUI Pro subscribers." }),
|
|
75637
|
+
/* @__PURE__ */ jsx("a", { href: "/pricing", children: /* @__PURE__ */ jsxs(MoonUIButtonPro, { size: "sm", children: [
|
|
75638
|
+
/* @__PURE__ */ jsx(Sparkles, { className: "mr-2 h-4 w-4" }),
|
|
75639
|
+
"Upgrade to Pro"
|
|
75640
|
+
] }) })
|
|
75641
|
+
] })
|
|
75642
|
+
] }) }) });
|
|
75643
|
+
}
|
|
75644
|
+
return /* @__PURE__ */ jsx(MoonUIQuizFormProInternal, { ...props, ref });
|
|
75645
|
+
});
|
|
75646
|
+
MoonUIQuizFormPro2.displayName = "MoonUIQuizFormPro";
|
|
75195
75647
|
|
|
75196
|
-
export { MoonUIAccordionPro as Accordion, MoonUIAccordionContentPro as AccordionContent, MoonUIAccordionItemPro as AccordionItem, MoonUIAccordionTriggerPro as AccordionTrigger, Calendar3 as AdvancedCalendar, AdvancedChart, AdvancedForms, MoonUIAlertPro as Alert, MoonUIAlertDescriptionPro as AlertDescription, MoonUIAlertTitlePro as AlertTitle, MoonUIAspectRatioPro as AspectRatio, MoonUIAvatarPro as Avatar, MoonUIAvatarFallbackPro as AvatarFallback, MoonUIAvatarImagePro as AvatarImage, MoonUIBadgePro as Badge, MoonUIBreadcrumbPro as Breadcrumb, MoonUIBreadcrumbEllipsisPro as BreadcrumbEllipsis, MoonUIBreadcrumbItemPro as BreadcrumbItem, MoonUIBreadcrumbLinkPro as BreadcrumbLink, MoonUIBreadcrumbListPro as BreadcrumbList, MoonUIBreadcrumbPagePro as BreadcrumbPage, MoonUIBreadcrumbSeparatorPro as BreadcrumbSeparator, MoonUIButtonPro as Button, Calendar, Calendar3 as CalendarPro, MoonUICardPro as Card, MoonUICardContentPro as CardContent, MoonUICardDescriptionPro as CardDescription, MoonUICardFooterPro as CardFooter, MoonUICardHeaderPro as CardHeader, MoonUICardTitlePro as CardTitle, MoonUICheckboxPro as Checkbox, ClaudeProvider, MoonUICollapsiblePro as Collapsible, MoonUICollapsibleContentPro as CollapsibleContent, MoonUICollapsibleTriggerPro as CollapsibleTrigger, MoonUIColorPickerPro as ColorPicker, MoonUICommandPro as Command, MoonUICommandDialogPro as CommandDialog, MoonUICommandEmptyPro as CommandEmpty, MoonUICommandGroupPro as CommandGroup, MoonUICommandInputPro as CommandInput, MoonUICommandItemPro as CommandItem, MoonUICommandListPro as CommandList, MoonUICommandSeparatorPro as CommandSeparator, MoonUICommandShortcutPro as CommandShortcut, Dashboard, DataTable2 as DataTable, MoonUIDialogPro as Dialog, MoonUIDialogClosePro as DialogClose, MoonUIDialogContentPro as DialogContent, MoonUIDialogDescriptionPro as DialogDescription, MoonUIDialogFooterPro as DialogFooter, MoonUIDialogHeaderPro as DialogHeader, MoonUIDialogTitlePro as DialogTitle, MoonUIDialogTriggerPro as DialogTrigger, DraggableList, MoonUIDropdownMenuPro as DropdownMenu, MoonUIDropdownMenuCheckboxItemPro as DropdownMenuCheckboxItem, MoonUIDropdownMenuContentPro as DropdownMenuContent, MoonUIDropdownMenuGroupPro as DropdownMenuGroup, MoonUIDropdownMenuItemPro as DropdownMenuItem, MoonUIDropdownMenuLabelPro as DropdownMenuLabel, MoonUIDropdownMenuPortalPro as DropdownMenuPortal, MoonUIDropdownMenuRadioGroupPro as DropdownMenuRadioGroup, MoonUIDropdownMenuRadioItemPro as DropdownMenuRadioItem, MoonUIDropdownMenuSeparatorPro as DropdownMenuSeparator, MoonUIDropdownMenuShortcutPro as DropdownMenuShortcut, MoonUIDropdownMenuSubPro as DropdownMenuSub, MoonUIDropdownMenuSubContentPro as DropdownMenuSubContent, MoonUIDropdownMenuSubTriggerPro as DropdownMenuSubTrigger, MoonUIDropdownMenuTriggerPro as DropdownMenuTrigger, ErrorBoundary, FloatingActionButton, FormWizardNavigation, FormWizardProgress, FormWizardStep, MoonUIGalleryItemPro as GalleryItem, GeminiProvider, GestureDrawer, GitHubStars, HealthCheck, HoverCard2 as HoverCard, HoverCard3D, HoverCardContent2 as HoverCardContent, HoverCardTrigger2 as HoverCardTrigger, MoonUIInputPro as Input, Kanban, LANGUAGE_COLORS, MoonUILabelPro as Label, LazyComponent, LazyImage, LazyList, LightboxContent, LightboxProvider, LightboxTrigger, MagneticButton, MoonUIMediaGalleryPro as MediaGallery, MemoryAnalytics, MemoryEfficientData, MoonUIAccordionContentPro, MoonUIAccordionItemPro, MoonUIAccordionPro, MoonUIAccordionTriggerPro, MoonUIAlertDescriptionPro, MoonUIAlertPro, MoonUIAlertTitlePro, MoonUIAnimatedButtonPro, MoonUIAspectRatioPro, MoonUIAvatarFallbackPro, MoonUIAvatarImagePro, MoonUIAvatarPro, MoonUIBadgePro, MoonUIBreadcrumbEllipsisPro, MoonUIBreadcrumbItemPro, MoonUIBreadcrumbLinkPro, MoonUIBreadcrumbListPro, MoonUIBreadcrumbPagePro, MoonUIBreadcrumbPro, MoonUIBreadcrumbSeparatorPro, MoonUIButtonPro, MoonUICardContentPro, MoonUICardDescriptionPro, MoonUICardFooterPro, MoonUICardHeaderPro, MoonUICardPro, MoonUICardTitlePro, MoonUICheckboxPro, MoonUICollapsibleContentPro, MoonUICollapsiblePro, MoonUICollapsibleTriggerPro, MoonUIColorPickerPro, MoonUICommandDialogPro, MoonUICommandEmptyPro, MoonUICommandGroupPro, MoonUICommandInputPro, MoonUICommandItemPro, MoonUICommandListPro, MoonUICommandPro, MoonUICommandSeparatorPro, MoonUICommandShortcutPro, MoonUICreditCardInputPro, MoonUIDialogClosePro, MoonUIDialogContentPro, MoonUIDialogDescriptionPro, MoonUIDialogFooterPro, MoonUIDialogHeaderPro, MoonUIDialogPro, MoonUIDialogTitlePro, MoonUIDialogTriggerPro, MoonUIDropdownMenuCheckboxItemPro, MoonUIDropdownMenuContentPro, MoonUIDropdownMenuGroupPro, MoonUIDropdownMenuItemPro, MoonUIDropdownMenuLabelPro, MoonUIDropdownMenuPortalPro, MoonUIDropdownMenuPro, MoonUIDropdownMenuRadioGroupPro, MoonUIDropdownMenuRadioItemPro, MoonUIDropdownMenuSeparatorPro, MoonUIDropdownMenuShortcutPro, MoonUIDropdownMenuSubContentPro, MoonUIDropdownMenuSubPro, MoonUIDropdownMenuSubTriggerPro, MoonUIDropdownMenuTriggerPro, MoonUIFileUploadPro, MoonUIFormWizardPro, MoonUIGalleryItemPro, MoonUIGestureDrawerPro, MoonUIInputPro, MoonUILabelPro, LightboxContent as MoonUILightboxContentPro, SimpleLightbox as MoonUILightboxPro, LightboxProvider as MoonUILightboxProviderPro, LightboxTrigger as MoonUILightboxTriggerPro, MoonUIMediaGalleryPro, MoonUIPaginationContentPro, MoonUIPaginationEllipsisPro, MoonUIPaginationItemPro, MoonUIPaginationLinkPro, MoonUIPaginationNextPro, MoonUIPaginationPreviousPro, MoonUIPaginationPro, MoonUIPhoneNumberInputPro, MoonUIPhoneNumberInputSimple, MoonUIPopoverContentPro, MoonUIPopoverPro, MoonUIPopoverTriggerPro, MoonUIProgressPro, MoonUIQuizFormPro, MoonUIRadioGroupContextPro, MoonUIRadioGroupItemPro, MoonUIRadioGroupPro, MoonUIRadioItemWithLabelPro, MoonUIRadioLabelPro, MoonUISelectContentPro, MoonUISelectGroupPro, MoonUISelectItemPro, MoonUISelectLabelPro, MoonUISelectPro, MoonUISelectSeparatorPro, MoonUISelectTriggerPro, MoonUISelectValuePro, MoonUISeparatorPro, MoonUISkeletonPro, MoonUISliderPro, MoonUISwitchPro, MoonUITableBodyPro, MoonUITableCaptionPro, MoonUITableCellPro, MoonUITableFooterPro, MoonUITableHeadPro, MoonUITableHeaderPro, MoonUITablePro, MoonUITableRowPro, MoonUITabsContentPro, MoonUITabsPro as MoonUITabsEnhanced, MoonUITabsListPro, MoonUITabsPro, MoonUITabsTriggerPro, MoonUITextareaPro, MoonUIToastPro, MoonUITogglePro, MoonUITooltipContentPro, MoonUITooltipPro, MoonUITooltipProviderPro, MoonUITooltipTriggerPro, MoonUIalertVariantsPro, MoonUIaspectRatioVariantsPro, MoonUIbreadcrumbVariantsPro, collapsibleContentVariants as MoonUIcollapsibleContentVariantsPro, collapsibleTriggerVariants as MoonUIcollapsibleTriggerVariantsPro, MoonUIradioGroupItemVariantsPro, MoonUItableVariantsPro, MoonUItoggleVariantsPro, Navbar, NavigationMenu2 as NavigationMenu, NavigationMenuContent2 as NavigationMenuContent, NavigationMenuIndicator2 as NavigationMenuIndicator, NavigationMenuItem2 as NavigationMenuItem, NavigationMenuLink2 as NavigationMenuLink, NavigationMenuList2 as NavigationMenuList, NavigationMenuTrigger2 as NavigationMenuTrigger, NavigationMenuViewport2 as NavigationMenuViewport, OpenAIProvider, OptimizedImage, MoonUIPaginationPro as Pagination, MoonUIPaginationContentPro as PaginationContent, MoonUIPaginationEllipsisPro as PaginationEllipsis, MoonUIPaginationItemPro as PaginationItem, MoonUIPaginationLinkPro as PaginationLink, MoonUIPaginationNextPro as PaginationNext, MoonUIPaginationPreviousPro as PaginationPrevious, PerformanceDebugger, PerformanceMonitor, PinchZoom, MoonUIPopoverPro as Popover, MoonUIPopoverContentPro as PopoverContent, MoonUIPopoverTriggerPro as PopoverTrigger, MoonUIProgressPro as Progress, MoonUIRadioGroupPro as RadioGroup, MoonUIRadioGroupContextPro as RadioGroupContext, MoonUIRadioGroupItemPro as RadioGroupItem, MoonUIRadioItemWithLabelPro as RadioItemWithLabel, MoonUIRadioLabelPro as RadioLabel, RealTimePerformanceMonitor, RichTextEditor, ScrollArea, ScrollBar, MoonUISelectPro as Select, MoonUISelectContentPro as SelectContent, MoonUISelectGroupPro as SelectGroup, MoonUISelectItemPro as SelectItem, MoonUISelectLabelPro as SelectLabel, MoonUISelectSeparatorPro as SelectSeparator, MoonUISelectTriggerPro as SelectTrigger, MoonUISelectValuePro as SelectValue, SelectableVirtualList, MoonUISeparatorPro as Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SimpleLightbox, MoonUISkeletonPro as Skeleton, MoonUISliderPro as Slider, SpotlightCard, SwipeableCard, MoonUISwitchPro as Switch, MoonUITablePro as Table, MoonUITableBodyPro as TableBody, MoonUITableCaptionPro as TableCaption, MoonUITableCellPro as TableCell, MoonUITableFooterPro as TableFooter, MoonUITableHeadPro as TableHead, MoonUITableHeaderPro as TableHeader, MoonUITableRowPro as TableRow, Tabs, TabsContent, TabsList, TabsTrigger, MoonUITextareaPro as Textarea, Timeline, MoonUIToastPro as Toast, MoonUITogglePro as Toggle, MoonUITooltipPro as Tooltip, MoonUITooltipContentPro as TooltipContent, MoonUITooltipProviderPro as TooltipProvider, MoonUITooltipTriggerPro as TooltipTrigger, VirtualList, MoonUIalertVariantsPro as alertVariants, MoonUIaspectRatioVariantsPro as aspectRatioVariants, moonUIBadgeVariantsPro as badgeVariants, MoonUIbreadcrumbVariantsPro as breadcrumbVariants, moonUIButtonProVariants as buttonVariants, cn, collapsibleContentVariants, collapsibleTriggerVariants, commandVariantsPro, createAIProvider, galleryItemVariants, galleryVariants, getExpandableColumn, hoverCard3DVariants, moonUIAnimatedButtonProVariants, moonUIBadgeVariantsPro, moonUIButtonProVariants, gestureDrawerVariants as moonUIGestureDrawerProVariants, moonUISeparatorVariantsPro, navigationMenuTriggerStyle, countries as phoneCountries, MoonUIradioGroupItemVariantsPro as radioGroupItemVariants, moonUISeparatorVariantsPro as separatorVariants, MoonUItableVariantsPro as tableVariants, MoonUItoggleVariantsPro as toggleVariants, useAccordionAnalytics, useCollapsibleAnalytics, useExpandableRows, useFormWizard, useStreamingData, useVirtualList };
|
|
75648
|
+
export { MoonUIAccordionPro as Accordion, MoonUIAccordionContentPro as AccordionContent, MoonUIAccordionItemPro as AccordionItem, MoonUIAccordionTriggerPro as AccordionTrigger, Calendar3 as AdvancedCalendar, AdvancedChart, AdvancedForms, MoonUIAlertPro as Alert, MoonUIAlertDescriptionPro as AlertDescription, MoonUIAlertTitlePro as AlertTitle, MoonUIAspectRatioPro as AspectRatio, MoonUIAvatarPro as Avatar, MoonUIAvatarFallbackPro as AvatarFallback, MoonUIAvatarImagePro as AvatarImage, MoonUIBadgePro as Badge, MoonUIBreadcrumbPro as Breadcrumb, MoonUIBreadcrumbEllipsisPro as BreadcrumbEllipsis, MoonUIBreadcrumbItemPro as BreadcrumbItem, MoonUIBreadcrumbLinkPro as BreadcrumbLink, MoonUIBreadcrumbListPro as BreadcrumbList, MoonUIBreadcrumbPagePro as BreadcrumbPage, MoonUIBreadcrumbSeparatorPro as BreadcrumbSeparator, MoonUIButtonPro as Button, Calendar, Calendar3 as CalendarPro, MoonUICardPro as Card, MoonUICardContentPro as CardContent, MoonUICardDescriptionPro as CardDescription, MoonUICardFooterPro as CardFooter, MoonUICardHeaderPro as CardHeader, MoonUICardTitlePro as CardTitle, MoonUICheckboxPro as Checkbox, ClaudeProvider, MoonUICollapsiblePro as Collapsible, MoonUICollapsibleContentPro as CollapsibleContent, MoonUICollapsibleTriggerPro as CollapsibleTrigger, MoonUIColorPickerPro as ColorPicker, MoonUICommandPro as Command, MoonUICommandDialogPro as CommandDialog, MoonUICommandEmptyPro as CommandEmpty, MoonUICommandGroupPro as CommandGroup, MoonUICommandInputPro as CommandInput, MoonUICommandItemPro as CommandItem, MoonUICommandListPro as CommandList, MoonUICommandSeparatorPro as CommandSeparator, MoonUICommandShortcutPro as CommandShortcut, Dashboard, DataTable, MoonUIDialogPro as Dialog, MoonUIDialogClosePro as DialogClose, MoonUIDialogContentPro as DialogContent, MoonUIDialogDescriptionPro as DialogDescription, MoonUIDialogFooterPro as DialogFooter, MoonUIDialogHeaderPro as DialogHeader, MoonUIDialogTitlePro as DialogTitle, MoonUIDialogTriggerPro as DialogTrigger, DraggableList, MoonUIDropdownMenuPro as DropdownMenu, MoonUIDropdownMenuCheckboxItemPro as DropdownMenuCheckboxItem, MoonUIDropdownMenuContentPro as DropdownMenuContent, MoonUIDropdownMenuGroupPro as DropdownMenuGroup, MoonUIDropdownMenuItemPro as DropdownMenuItem, MoonUIDropdownMenuLabelPro as DropdownMenuLabel, MoonUIDropdownMenuPortalPro as DropdownMenuPortal, MoonUIDropdownMenuRadioGroupPro as DropdownMenuRadioGroup, MoonUIDropdownMenuRadioItemPro as DropdownMenuRadioItem, MoonUIDropdownMenuSeparatorPro as DropdownMenuSeparator, MoonUIDropdownMenuShortcutPro as DropdownMenuShortcut, MoonUIDropdownMenuSubPro as DropdownMenuSub, MoonUIDropdownMenuSubContentPro as DropdownMenuSubContent, MoonUIDropdownMenuSubTriggerPro as DropdownMenuSubTrigger, MoonUIDropdownMenuTriggerPro as DropdownMenuTrigger, ErrorBoundary, FloatingActionButton, FormWizard, FormWizardNavigation, FormWizardProgress, FormWizardStep, MoonUIGalleryItemPro as GalleryItem, GeminiProvider, GestureDrawer, GitHubStars, HealthCheck, HoverCard2 as HoverCard, HoverCard3D, HoverCardContent2 as HoverCardContent, HoverCardTrigger2 as HoverCardTrigger, MoonUIInputPro as Input, Kanban, LANGUAGE_COLORS, MoonUILabelPro as Label, LazyComponent, LazyImage, LazyList, LightboxContent, LightboxProvider, LightboxTrigger, MagneticButton, MoonUIMediaGalleryPro as MediaGallery, MemoryAnalytics, MemoryEfficientData, MoonUIAccordionContentPro, MoonUIAccordionItemPro, MoonUIAccordionPro, MoonUIAccordionTriggerPro, MoonUIAdvancedChartPro, MoonUIAlertDescriptionPro, MoonUIAlertPro, MoonUIAlertTitlePro, MoonUIAnimatedButtonPro, MoonUIAspectRatioPro, MoonUIAvatarFallbackPro, MoonUIAvatarImagePro, MoonUIAvatarPro, MoonUIBadgePro, MoonUIBreadcrumbEllipsisPro, MoonUIBreadcrumbItemPro, MoonUIBreadcrumbLinkPro, MoonUIBreadcrumbListPro, MoonUIBreadcrumbPagePro, MoonUIBreadcrumbPro, MoonUIBreadcrumbSeparatorPro, MoonUIButtonPro, MoonUICardContentPro, MoonUICardDescriptionPro, MoonUICardFooterPro, MoonUICardHeaderPro, MoonUICardPro, MoonUICardTitlePro, MoonUICheckboxPro, MoonUICollapsibleContentPro, MoonUICollapsiblePro, MoonUICollapsibleTriggerPro, MoonUIColorPickerPro, MoonUICommandDialogPro, MoonUICommandEmptyPro, MoonUICommandGroupPro, MoonUICommandInputPro, MoonUICommandItemPro, MoonUICommandListPro, MoonUICommandPro, MoonUICommandSeparatorPro, MoonUICommandShortcutPro, MoonUICreditCardInputPro, MoonUIDashboardPro, MoonUIDataTablePro, MoonUIDialogClosePro, MoonUIDialogContentPro, MoonUIDialogDescriptionPro, MoonUIDialogFooterPro, MoonUIDialogHeaderPro, MoonUIDialogPro, MoonUIDialogTitlePro, MoonUIDialogTriggerPro, MoonUIDraggableListPro, MoonUIDropdownMenuCheckboxItemPro, MoonUIDropdownMenuContentPro, MoonUIDropdownMenuGroupPro, MoonUIDropdownMenuItemPro, MoonUIDropdownMenuLabelPro, MoonUIDropdownMenuPortalPro, MoonUIDropdownMenuPro, MoonUIDropdownMenuRadioGroupPro, MoonUIDropdownMenuRadioItemPro, MoonUIDropdownMenuSeparatorPro, MoonUIDropdownMenuShortcutPro, MoonUIDropdownMenuSubContentPro, MoonUIDropdownMenuSubPro, MoonUIDropdownMenuSubTriggerPro, MoonUIDropdownMenuTriggerPro, MoonUIFileUploadPro, MoonUIFormWizardPro, MoonUIGalleryItemPro, MoonUIGestureDrawerPro, MoonUIInputPro, MoonUILabelPro, LightboxContent as MoonUILightboxContentPro, SimpleLightbox as MoonUILightboxPro, LightboxProvider as MoonUILightboxProviderPro, LightboxTrigger as MoonUILightboxTriggerPro, MoonUIMediaGalleryPro, MoonUIMemoryEfficientDataPro, MoonUINavbarPro, MoonUIPaginationContentPro, MoonUIPaginationEllipsisPro, MoonUIPaginationItemPro, MoonUIPaginationLinkPro, MoonUIPaginationNextPro, MoonUIPaginationPreviousPro, MoonUIPaginationPro, MoonUIPhoneNumberInputPro, MoonUIPhoneNumberInputSimple, MoonUIPopoverContentPro, MoonUIPopoverPro, MoonUIPopoverTriggerPro, MoonUIProgressPro, MoonUIQuizFormPro2 as MoonUIQuizFormPro, MoonUIRadioGroupContextPro, MoonUIRadioGroupItemPro, MoonUIRadioGroupPro, MoonUIRadioItemWithLabelPro, MoonUIRadioLabelPro, MoonUISelectContentPro, MoonUISelectGroupPro, MoonUISelectItemPro, MoonUISelectLabelPro, MoonUISelectPro, MoonUISelectSeparatorPro, MoonUISelectTriggerPro, MoonUISelectValuePro, MoonUISelectableVirtualListPro, MoonUISeparatorPro, MoonUISidebarPro, MoonUISkeletonPro, MoonUISliderPro, MoonUISwipeableCardPro, MoonUISwitchPro, MoonUITableBodyPro, MoonUITableCaptionPro, MoonUITableCellPro, MoonUITableFooterPro, MoonUITableHeadPro, MoonUITableHeaderPro, MoonUITablePro, MoonUITableRowPro, MoonUITabsContentPro, MoonUITabsPro as MoonUITabsEnhanced, MoonUITabsListPro, MoonUITabsPro, MoonUITabsTriggerPro, MoonUITextareaPro, MoonUITimelinePro, MoonUIToastPro, MoonUITogglePro, MoonUITooltipContentPro, MoonUITooltipPro, MoonUITooltipProviderPro, MoonUITooltipTriggerPro, MoonUIVirtualListPro, MoonUIalertVariantsPro, MoonUIaspectRatioVariantsPro, MoonUIbreadcrumbVariantsPro, collapsibleContentVariants as MoonUIcollapsibleContentVariantsPro, collapsibleTriggerVariants as MoonUIcollapsibleTriggerVariantsPro, MoonUIradioGroupItemVariantsPro, MoonUItableVariantsPro, MoonUItoggleVariantsPro, Navbar, NavigationMenu2 as NavigationMenu, NavigationMenuContent2 as NavigationMenuContent, NavigationMenuIndicator2 as NavigationMenuIndicator, NavigationMenuItem2 as NavigationMenuItem, NavigationMenuLink2 as NavigationMenuLink, NavigationMenuList2 as NavigationMenuList, NavigationMenuTrigger2 as NavigationMenuTrigger, NavigationMenuViewport2 as NavigationMenuViewport, OpenAIProvider, OptimizedImage, MoonUIPaginationPro as Pagination, MoonUIPaginationContentPro as PaginationContent, MoonUIPaginationEllipsisPro as PaginationEllipsis, MoonUIPaginationItemPro as PaginationItem, MoonUIPaginationLinkPro as PaginationLink, MoonUIPaginationNextPro as PaginationNext, MoonUIPaginationPreviousPro as PaginationPrevious, PerformanceDebugger, PerformanceMonitor, PhoneNumberInput, PinchZoom, MoonUIPopoverPro as Popover, MoonUIPopoverContentPro as PopoverContent, MoonUIPopoverTriggerPro as PopoverTrigger, MoonUIProgressPro as Progress, QuizForm, MoonUIRadioGroupPro as RadioGroup, MoonUIRadioGroupContextPro as RadioGroupContext, MoonUIRadioGroupItemPro as RadioGroupItem, MoonUIRadioItemWithLabelPro as RadioItemWithLabel, MoonUIRadioLabelPro as RadioLabel, RealTimePerformanceMonitor, RichTextEditor, ScrollArea, ScrollBar, MoonUISelectPro as Select, MoonUISelectContentPro as SelectContent, MoonUISelectGroupPro as SelectGroup, MoonUISelectItemPro as SelectItem, MoonUISelectLabelPro as SelectLabel, MoonUISelectSeparatorPro as SelectSeparator, MoonUISelectTriggerPro as SelectTrigger, MoonUISelectValuePro as SelectValue, SelectableVirtualList, MoonUISeparatorPro as Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SimpleLightbox, MoonUISkeletonPro as Skeleton, MoonUISliderPro as Slider, SpotlightCard, SwipeableCard, MoonUISwitchPro as Switch, MoonUITablePro as Table, MoonUITableBodyPro as TableBody, MoonUITableCaptionPro as TableCaption, MoonUITableCellPro as TableCell, MoonUITableFooterPro as TableFooter, MoonUITableHeadPro as TableHead, MoonUITableHeaderPro as TableHeader, MoonUITableRowPro as TableRow, Tabs, TabsContent, TabsList, TabsTrigger, MoonUITextareaPro as Textarea, Timeline, MoonUIToastPro as Toast, MoonUITogglePro as Toggle, MoonUITooltipPro as Tooltip, MoonUITooltipContentPro as TooltipContent, MoonUITooltipProviderPro as TooltipProvider, MoonUITooltipTriggerPro as TooltipTrigger, VirtualList, MoonUIalertVariantsPro as alertVariants, MoonUIaspectRatioVariantsPro as aspectRatioVariants, moonUIBadgeVariantsPro as badgeVariants, MoonUIbreadcrumbVariantsPro as breadcrumbVariants, moonUIButtonProVariants as buttonVariants, cn, collapsibleContentVariants, collapsibleTriggerVariants, commandVariantsPro, createAIProvider, galleryItemVariants, galleryVariants, getExpandableColumn, hoverCard3DVariants, moonUIAnimatedButtonProVariants, moonUIBadgeVariantsPro, moonUIButtonProVariants, gestureDrawerVariants as moonUIGestureDrawerProVariants, moonUISeparatorVariantsPro, navigationMenuTriggerStyle, countries as phoneCountries, MoonUIradioGroupItemVariantsPro as radioGroupItemVariants, moonUISeparatorVariantsPro as separatorVariants, MoonUItableVariantsPro as tableVariants, MoonUItoggleVariantsPro as toggleVariants, useAccordionAnalytics, useCollapsibleAnalytics, useExpandableRows, useFormWizard, useStreamingData, useVirtualList };
|