diff --git a/app/calendar/page.tsx b/app/calendar/page.tsx index 4bddaaf..fe31b28 100644 --- a/app/calendar/page.tsx +++ b/app/calendar/page.tsx @@ -240,7 +240,7 @@ const CalendarSidebar = ({ isCollapsed, categories, onCategoryToggle, onDateSel
- {['S', 'M', 'T', 'W', 'T', 'F', 'S'].map(day => ( + {['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'].map(day => (
{day}
diff --git a/app/editor/page.tsx b/app/editor/page.tsx index c2a001d..a0e20f6 100644 --- a/app/editor/page.tsx +++ b/app/editor/page.tsx @@ -5,7 +5,7 @@ import History from '@tiptap/extension-history'; import Bold from '@tiptap/extension-bold'; // Import the extension import Italic from '@tiptap/extension-italic'; // Import the extension import { useState, useRef } from 'react'; -import { useEditor, EditorContent, BubbleMenu } from '@tiptap/react'; +import { useEditor, EditorContent, BubbleMenu, AnyExtension } from '@tiptap/react'; import StarterKit from '@tiptap/starter-kit'; import TextStyle from '@tiptap/extension-text-style'; import FontFamily from '@tiptap/extension-font-family'; @@ -24,7 +24,9 @@ import { Link as LinkIcon, Image as ImageIcon, Save, Table as TableIcon, Type, Highlighter, ChevronDown, - Undo, Redo, Copy + Undo, Redo, Copy, + ItalicIcon, + BoldIcon } from 'lucide-react'; import './style.css'; @@ -81,8 +83,7 @@ export default function RibbonWordClone() { const editor = useEditor({ extensions: [ - // @ts-ignore - StarterKit, + StarterKit.configure({ history: false }) as unknown as AnyExtension, Bold, Italic, History, @@ -161,23 +162,20 @@ export default function RibbonWordClone() { return null; } - + return (
- + {/* Quick Access Toolbar */}
- + -
editor.chain().focus().toggleBold().run()} isActive={editor.isActive('bold')} /> editor.chain().focus().toggleItalic().run()} isActive={editor.isActive('italic')} @@ -449,13 +447,13 @@ export default function RibbonWordClone() {
editor.chain().focus().toggleBold().run()} isActive={editor.isActive('bold')} /> editor.chain().focus().toggleItalic().run()} isActive={editor.isActive('italic')} diff --git a/app/layout.tsx b/app/layout.tsx index edd1b08..1fe530c 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,11 +1,18 @@ + import { Nav } from './client-nav'; -import './globals.css' // This path is correct if the file is in your src/app directory -import { ReactNode } from 'react' +import { ReactNode } from 'react'; import { ThemeProvider } from './theme-provider'; export default function RootLayout({ children }: { children: ReactNode }) { return ( + + General Bots + + + + +
@@ -17,5 +24,5 @@ export default function RootLayout({ children }: { children: ReactNode }) {
- ) + ); } \ No newline at end of file diff --git a/app/page.tsx b/app/page.tsx index bab846b..05a84cb 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -1,41 +1,63 @@ "use client"; import React, { useState } from 'react'; +import { useRouter } from 'next/navigation'; const AuthenticationScreen = () => { - const [isAuthenticated, setIsAuthenticated] = useState(false); + const [email, setEmail] = useState(''); + const [password, setPassword] = useState(''); + const [isLoading, setIsLoading] = useState(false); + const [error, setError] = useState(''); + const router = useRouter(); - const handleLogin = async () => { + // ZITADEL configuration + const zitadelConfig = { + authority: 'https://your-zitadel-instance.com', + clientId: 'your-client-id', + redirectUri: typeof window !== 'undefined' ? window.location.origin : '', + scopes: ['openid', 'profile', 'email'], + }; + + const handleSocialLogin = (provider: string) => { + setIsLoading(true); + setError(''); try { - localStorage.setItem('authToken', 'dummy-token'); - setIsAuthenticated(true); - alert('Login Successful'); - } catch (error) { - console.error('Login error:', error); - alert('Login Error'); + // In a real implementation, this would redirect to ZITADEL's auth endpoint + const authUrl = `${zitadelConfig.authority}/oauth/v2/authorize?` + + `client_id=${zitadelConfig.clientId}&` + + `redirect_uri=${encodeURIComponent(zitadelConfig.redirectUri)}&` + + `response_type=code&` + + `scope=${encodeURIComponent(zitadelConfig.scopes.join(' '))}&` + + `provider=${provider}`; + + window.location.href = authUrl; + } catch (err) { + setError('Failed to initiate login'); + console.error('Login error:', err); + } finally { + setIsLoading(false); } }; - const handleLogout = async () => { + const handleEmailLogin = async (e: React.FormEvent) => { + e.preventDefault(); + setIsLoading(true); + setError(''); + try { - localStorage.removeItem('authToken'); - setIsAuthenticated(false); - alert('Logout Successful'); - } catch (error) { - console.error('Logout error:', error); - alert('Logout Error'); + // Mock implementation - in real app you would call your backend or ZITADEL directly + localStorage.setItem('authToken', 'dummy-token'); + router.push('/dashboard'); + } catch (err) { + setError('Login failed. Please check your credentials.'); + console.error('Login error:', err); + } finally { + setIsLoading(false); } }; return (
- -

Welcome to General Bots Online

@@ -48,18 +70,398 @@ const AuthenticationScreen = () => {
-

Create an account

-

Enter your email below to create your account

+

Sign in to your account

+

Choose your preferred login method

- - + + {error && ( +
+ {error} +
+ )} + +
+ + + + + + + +
+ +
+ OR +
+ +
+
+ + setEmail(e.target.value)} + placeholder="your@email.com" + required + /> +
+ +
+ + setPassword(e.target.value)} + placeholder="••••••••" + required + /> +
+ +
+
+ + +
+ Forgot password? +
+ + +
+ +
+ Don't have an account? Sign up +
+

- By clicking continue, you agree to our Terms of Service and Privacy Policy. + By continuing, you agree to our Terms of Service and Privacy Policy.

+ +
); }; -export default AuthenticationScreen; +export default AuthenticationScreen; \ No newline at end of file diff --git a/app/paper/page.tsx b/app/paper/page.tsx index 0e5b6bc..bb8a422 100644 --- a/app/paper/page.tsx +++ b/app/paper/page.tsx @@ -9,8 +9,12 @@ import TextAlign from '@tiptap/extension-text-align'; import Footer from '../footer' import { - Bold, Italic, Underline, AlignLeft, AlignCenter, AlignRight, - Link, Highlighter, Type} from 'lucide-react'; + Underline, AlignLeft, AlignCenter, AlignRight, + Link, Highlighter, Type, + BoldIcon, + ItalicIcon} from 'lucide-react'; +import Bold from '@tiptap/extension-bold'; +import Italic from '@tiptap/extension-italic'; const SimplePaperNote = () => { @@ -19,13 +23,15 @@ const SimplePaperNote = () => { const editor = useEditor({ extensions: [ - StarterKit.extend() as unknown as AnyExtension, + StarterKit.configure() as unknown as AnyExtension, + Bold, + Italic, TextStyle, Color, Highlight.configure({ multicolor: true }), TextAlign.configure({ types: ['heading', 'paragraph'], - }), + }) as unknown as AnyExtension, ], content: ` @@ -121,7 +127,7 @@ const SimplePaperNote = () => { }`} title="Bold" > - +
Cache Type
Use IndexDB or Cache API to store model weights
Logging Level
Adjust how much detail should be printed to console
INFO
Resetar Todas as Configurações
Resetar todos os itens de configuração para o padrão
Limpar Todos os Dados
Limpar todas as mensagens e configurações
\ No newline at end of file diff --git a/app/sources/page.tsx b/app/sources/page.tsx index 04f4981..9b77c43 100644 --- a/app/sources/page.tsx +++ b/app/sources/page.tsx @@ -205,7 +205,7 @@ export default function LabComponent() { borderColor: 'var(--border)', backgroundColor: 'var(--background)', color: 'var(--foreground)', - + }} />
@@ -222,9 +222,8 @@ export default function LabComponent() {
@@ -441,7 +440,7 @@ export default function LabComponent() { borderColor: 'var(--border)', backgroundColor: 'var(--background)', color: 'var(--foreground)', - + }} />
@@ -576,7 +575,7 @@ export default function LabComponent() { borderColor: 'var(--border)', backgroundColor: 'var(--background)', color: 'var(--foreground)', - + }} />
@@ -601,9 +600,8 @@ export default function LabComponent() {
- + {server.type} @@ -712,7 +709,7 @@ export default function LabComponent() { borderColor: 'var(--border)', backgroundColor: 'var(--background)', color: 'var(--foreground)', - + }} /> @@ -734,9 +731,8 @@ export default function LabComponent() { + + + + + {/* Search */} +
+ + +
+ + +
+ {/* Categories Sidebar */} +
+

Providers

+
+ {[ + { name: "OpenAI", count: 12, color: "--primary" }, + { name: "Anthropic", count: 8, color: "--accent" }, + { name: "Google", count: 6, color: "--secondary" }, + { name: "Meta", count: 5, color: "--chart-2" }, + { name: "Mistral", count: 4, color: "--chart-3" }, + { name: "Cohere", count: 3, color: "--chart-4" }, + { name: "AWS", count: 7, color: "--chart-5" }, + { name: "Azure", count: 5, color: "--primary" }, + { name: "Other", count: 9, color: "--destructive" } + ].map((category, index) => ( + + ))} +
+ + {/* Model Types */} +
+

Model Types

+
+ + + +
+
+
+ + {/* Content Area */} +
+
+ {[ + { + name: "AI21", + description: "You can get started with AI21Labs' Jurassic family of models, as well as their task-specific models.", + provider: "AI21 Labs", + type: "Text Generation", + status: "Active" + }, + { + name: "AlephAlpha", + description: "LangChain.js supports AlephAlpha's Luminous family of models. You'll need an AlephAlpha API key.", + provider: "Aleph Alpha", + type: "Text Generation", + status: "Active" + }, + { + name: "Arcjet Redact", + description: "The Arcjet redact integration allows you to redact sensitive information from text.", + provider: "Arcjet", + type: "Text Processing", + status: "Beta" + }, + { + name: "AWS SageMakerEndpoint", + description: "LangChain.js supports integration with AWS SageMaker-hosted endpoints for custom models.", + provider: "AWS", + type: "Custom Models", + status: "Active" + }, + { + name: "Azure OpenAI", + description: "Azure OpenAI provides access to OpenAI models through Microsoft's Azure cloud platform.", + provider: "Microsoft", + type: "Text Generation", + status: "Active" + }, + { + name: "Bedrock", + description: "Amazon Bedrock is a fully managed service that makes foundation models from AI21, Anthropic, and Amazon accessible via API.", + provider: "AWS", + type: "Text Generation", + status: "Active" + }, + { + name: "ChromeAI", + description: "This feature is experimental and is subject to change. Provides browser-based AI capabilities.", + provider: "Google", + type: "Experimental", + status: "Preview" + }, + { + name: "Cloudflare Workers AI", + description: "This will help you get started with Cloudflare Workers AI text generation models.", + provider: "Cloudflare", + type: "Text Generation", + status: "Active" + }, + { + name: "Cohere", + description: "This will help you get started with Cohere completion models (LLMs) and embedding models.", + provider: "Cohere", + type: "Text Generation", + status: "Active" + }, + { + name: "Deep Infra", + description: "LangChain supports LLMs hosted by Deep Infra through the DeepInfra wrapper.", + provider: "Deep Infra", + type: "Text Generation", + status: "Active" + }, + { + name: "Fireworks", + description: "Fireworks AI is an AI inference platform to run open-source models at scale.", + provider: "Fireworks", + type: "Text Generation", + status: "Active" + }, + { + name: "Friendli", + description: "Friendli enhances AI application performance and optimizes cost savings for LLM inference.", + provider: "Friendli", + type: "Optimization", + status: "Beta" + }, + { + name: "Google Vertex AI", + description: "Google Vertex is a service that provides access to Google's foundation models.", + provider: "Google", + type: "Text Generation", + status: "Active" + }, + { + name: "HuggingFaceInference", + description: "Here's an example of calling a HuggingFaceInference model as an LLM.", + provider: "Hugging Face", + type: "Text Generation", + status: "Active" + }, + { + name: "IBM watsonx.ai", + description: "This will help you get started with IBM text completion models on watsonx.ai.", + provider: "IBM", + type: "Text Generation", + status: "Active" + }, + { + name: "Llama CPP", + description: "Only available on Node.js. Provides access to locally run Llama models.", + provider: "Meta", + type: "Local Inference", + status: "Active" + }, + { + name: "MistralAI", + description: "Mistral AI is a platform that offers hosting for their open-weight models.", + provider: "Mistral", + type: "Text Generation", + status: "Active" + }, + { + name: "Ollama", + description: "This will help you get started with Ollama text completion models running locally.", + provider: "Ollama", + type: "Local Inference", + status: "Active" + }, + { + name: "Replicate", + description: "Here's an example of calling a Replicate model as an LLM.", + provider: "Replicate", + type: "Text Generation", + status: "Active" + }, + { + name: "Together AI", + description: "You are currently on a page documenting the use of Together AI models with LangChain.", + provider: "Together AI", + type: "Text Generation", + status: "Active" + }, + { + name: "Writer", + description: "LangChain.js supports calling Writer LLMs for content generation.", + provider: "Writer", + type: "Text Generation", + status: "Active" + }, + { + name: "YandexGPT", + description: "LangChain.js supports calling YandexGPT LLMs. Also supports qwen and deepseek models.", + provider: "Yandex", + type: "Text Generation", + status: "Active" + } + ].map((model, index) => ( +
+
+

{model.name}

+ + {model.status} + +
+

+ {model.description} +

+
+
+ + {model.provider} + + + {model.type} + +
+ +
+
+ ))} +
+
+
+ + ); + return (
{/* Tab Navigation */} @@ -827,18 +1113,19 @@ export default function LabComponent() { { id: 'templates', label: 'Templates', icon: FileText, color: 'text-green-600' }, { id: 'news', label: 'News', icon: Newspaper, color: 'text-blue-600' }, { id: 'mcp', label: 'MCP Servers', icon: Server, color: 'text-purple-600' }, - { id: 'llm-tools', label: 'LLM Tools', icon: Cpu, color: 'text-indigo-600' } + { id: 'llm-tools', label: 'LLM Tools', icon: Cpu, color: 'text-indigo-600' }, + { id: 'models', label: 'Models', icon: Cpu, color: 'text-teal-600' } + ].map((tab) => { const IconComponent = tab.icon; return (
); } + diff --git a/app/theme-provider.tsx b/app/theme-provider.tsx index 9a53758..fa999e1 100644 --- a/app/theme-provider.tsx +++ b/app/theme-provider.tsx @@ -10,7 +10,7 @@ type Theme = { } const themes: Theme[] = [ - { name: 'retrowave', label: 'RetroWave', cssFile: '/themes/retrowave.css' }, + { name: '3dbevel', label: '3dbevel', cssFile: '/themes/3dbevel.css' }, { name: 'arcadeflash', label: 'Arcadeflash', cssFile: '/themes/arcadeflash.css' }, { name: 'cyberpunk', label: 'Cyberpunk', cssFile: '/themes/cyberpunk.css' }, diff --git a/index.html b/index.html deleted file mode 100644 index 99f3266..0000000 --- a/index.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - General Bots - - - - - -
- - - - - \ No newline at end of file diff --git a/public/output.css b/public/output.css index 59477d5..eadcb9b 100644 --- a/public/output.css +++ b/public/output.css @@ -1,5 +1,5 @@ /* -! tailwindcss v3.1.8 | MIT License | https://tailwindcss.com +! tailwindcss v3.3.0 | MIT License | https://tailwindcss.com */ /* @@ -30,6 +30,8 @@ 2. Prevent adjustments of font size after orientation changes in iOS. 3. Use a more readable tab size. 4. Use the user's configured `sans` font-family by default. +5. Use the user's configured `sans` font-feature-settings by default. +6. Use the user's configured `sans` font-variation-settings by default. */ html { @@ -44,6 +46,10 @@ html { /* 3 */ font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */ + font-feature-settings: normal; + /* 5 */ + font-variation-settings: normal; + /* 6 */ } /* @@ -410,6 +416,94 @@ video { height: auto; } +/* Make elements with the HTML hidden attribute stay hidden by default */ + +[hidden] { + display: none; +} + +:root { + --background: 0 0% 100%; + --foreground: 0 0% 3.9%; + --card: 0 0% 100%; + --card-foreground: 0 0% 3.9%; + --popover: 0 0% 100%; + --popover-foreground: 0 0% 3.9%; + --primary: 0 0% 9%; + --primary-foreground: 0 0% 98%; + --secondary: 0 0% 96.1%; + --secondary-foreground: 0 0% 9%; + --muted: 0 0% 96.1%; + --muted-foreground: 0 0% 45.1%; + --accent: 0 0% 96.1%; + --accent-foreground: 0 0% 9%; + --destructive: 0 84.2% 60.2%; + --destructive-foreground: 0 0% 98%; + --border: 0 0% 89.8%; + --input: 0 0% 89.8%; + --ring: 0 0% 3.9%; + --chart-1: 12 76% 61%; + --chart-2: 173 58% 39%; + --chart-3: 197 37% 24%; + --chart-4: 43 74% 66%; + --chart-5: 27 87% 67%; + --radius: 0.5rem + ; + --sidebar-background: 0 0% 98%; + --sidebar-foreground: 240 5.3% 26.1%; + --sidebar-primary: 240 5.9% 10%; + --sidebar-primary-foreground: 0 0% 98%; + --sidebar-accent: 240 4.8% 95.9%; + --sidebar-accent-foreground: 240 5.9% 10%; + --sidebar-border: 220 13% 91%; + --sidebar-ring: 217.2 91.2% 59.8% +} + +.dark { + --background: 0 0% 3.9%; + --foreground: 0 0% 98%; + --card: 0 0% 3.9%; + --card-foreground: 0 0% 98%; + --popover: 0 0% 3.9%; + --popover-foreground: 0 0% 98%; + --primary: 0 0% 98%; + --primary-foreground: 0 0% 9%; + --secondary: 0 0% 14.9%; + --secondary-foreground: 0 0% 98%; + --muted: 0 0% 14.9%; + --muted-foreground: 0 0% 63.9%; + --accent: 0 0% 14.9%; + --accent-foreground: 0 0% 98%; + --destructive: 0 62.8% 30.6%; + --destructive-foreground: 0 0% 98%; + --border: 0 0% 14.9%; + --input: 0 0% 14.9%; + --ring: 0 0% 83.1%; + --chart-1: 220 70% 50%; + --chart-2: 160 60% 45%; + --chart-3: 30 80% 55%; + --chart-4: 280 65% 60%; + --chart-5: 340 75% 55% + ; + --sidebar-background: 240 5.9% 10%; + --sidebar-foreground: 240 4.8% 95.9%; + --sidebar-primary: 224.3 76.3% 48%; + --sidebar-primary-foreground: 0 0% 100%; + --sidebar-accent: 240 3.7% 15.9%; + --sidebar-accent-foreground: 240 4.8% 95.9%; + --sidebar-border: 240 3.7% 15.9%; + --sidebar-ring: 217.2 91.2% 59.8% +} + +* { + border-color: hsl(var(--border)); +} + +body { + background-color: hsl(var(--background)); + color: hsl(var(--foreground)); +} + *, ::before, ::after { --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; @@ -503,3 +597,4001 @@ video { --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; } + +.container { + width: 100%; +} + +@media (min-width: 640px) { + .container { + max-width: 640px; + } +} + +@media (min-width: 768px) { + .container { + max-width: 768px; + } +} + +@media (min-width: 1024px) { + .container { + max-width: 1024px; + } +} + +@media (min-width: 1280px) { + .container { + max-width: 1280px; + } +} + +@media (min-width: 1536px) { + .container { + max-width: 1536px; + } +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; +} + +.pointer-events-none { + pointer-events: none; +} + +.pointer-events-auto { + pointer-events: auto; +} + +.visible { + visibility: visible; +} + +.invisible { + visibility: hidden; +} + +.static { + position: static; +} + +.fixed { + position: fixed; +} + +.absolute { + position: absolute; +} + +.relative { + position: relative; +} + +.inset-0 { + inset: 0px; +} + +.inset-x-0 { + left: 0px; + right: 0px; +} + +.inset-y-0 { + top: 0px; + bottom: 0px; +} + +.-bottom-12 { + bottom: -3rem; +} + +.-left-12 { + left: -3rem; +} + +.-right-12 { + right: -3rem; +} + +.-top-12 { + top: -3rem; +} + +.bottom-0 { + bottom: 0px; +} + +.bottom-3 { + bottom: 0.75rem; +} + +.left-0 { + left: 0px; +} + +.left-1 { + left: 0.25rem; +} + +.left-1\/2 { + left: 50%; +} + +.left-2 { + left: 0.5rem; +} + +.left-3 { + left: 0.75rem; +} + +.left-\[50\%\] { + left: 50%; +} + +.right-0 { + right: 0px; +} + +.right-1 { + right: 0.25rem; +} + +.right-2 { + right: 0.5rem; +} + +.right-3 { + right: 0.75rem; +} + +.right-4 { + right: 1rem; +} + +.right-6 { + right: 1.5rem; +} + +.top-0 { + top: 0px; +} + +.top-1 { + top: 0.25rem; +} + +.top-1\.5 { + top: 0.375rem; +} + +.top-1\/2 { + top: 50%; +} + +.top-2 { + top: 0.5rem; +} + +.top-2\.5 { + top: 0.625rem; +} + +.top-3 { + top: 0.75rem; +} + +.top-3\.5 { + top: 0.875rem; +} + +.top-4 { + top: 1rem; +} + +.top-\[1px\] { + top: 1px; +} + +.top-\[50\%\] { + top: 50%; +} + +.top-\[60\%\] { + top: 60%; +} + +.top-full { + top: 100%; +} + +.z-10 { + z-index: 10; +} + +.z-20 { + z-index: 20; +} + +.z-50 { + z-index: 50; +} + +.z-\[100\] { + z-index: 100; +} + +.z-\[1\] { + z-index: 1; +} + +.m-0 { + margin: 0px; +} + +.-mx-1 { + margin-left: -0.25rem; + margin-right: -0.25rem; +} + +.mx-1 { + margin-left: 0.25rem; + margin-right: 0.25rem; +} + +.mx-2 { + margin-left: 0.5rem; + margin-right: 0.5rem; +} + +.mx-3 { + margin-left: 0.75rem; + margin-right: 0.75rem; +} + +.mx-3\.5 { + margin-left: 0.875rem; + margin-right: 0.875rem; +} + +.mx-4 { + margin-left: 1rem; + margin-right: 1rem; +} + +.mx-auto { + margin-left: auto; + margin-right: auto; +} + +.my-0 { + margin-top: 0px; + margin-bottom: 0px; +} + +.my-0\.5 { + margin-top: 0.125rem; + margin-bottom: 0.125rem; +} + +.my-1 { + margin-top: 0.25rem; + margin-bottom: 0.25rem; +} + +.my-4 { + margin-top: 1rem; + margin-bottom: 1rem; +} + +.my-6 { + margin-top: 1.5rem; + margin-bottom: 1.5rem; +} + +.my-8 { + margin-top: 2rem; + margin-bottom: 2rem; +} + +.-ml-4 { + margin-left: -1rem; +} + +.-mt-4 { + margin-top: -1rem; +} + +.mb-1 { + margin-bottom: 0.25rem; +} + +.mb-1\.5 { + margin-bottom: 0.375rem; +} + +.mb-2 { + margin-bottom: 0.5rem; +} + +.mb-3 { + margin-bottom: 0.75rem; +} + +.mb-4 { + margin-bottom: 1rem; +} + +.mb-6 { + margin-bottom: 1.5rem; +} + +.ml-1 { + margin-left: 0.25rem; +} + +.ml-2 { + margin-left: 0.5rem; +} + +.ml-4 { + margin-left: 1rem; +} + +.ml-auto { + margin-left: auto; +} + +.mr-1 { + margin-right: 0.25rem; +} + +.mr-2 { + margin-right: 0.5rem; +} + +.mt-0 { + margin-top: 0px; +} + +.mt-0\.5 { + margin-top: 0.125rem; +} + +.mt-1 { + margin-top: 0.25rem; +} + +.mt-1\.5 { + margin-top: 0.375rem; +} + +.mt-2 { + margin-top: 0.5rem; +} + +.mt-24 { + margin-top: 6rem; +} + +.mt-3 { + margin-top: 0.75rem; +} + +.mt-4 { + margin-top: 1rem; +} + +.mt-8 { + margin-top: 2rem; +} + +.mt-auto { + margin-top: auto; +} + +.line-clamp-1 { + overflow: hidden; + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 1; +} + +.line-clamp-2 { + overflow: hidden; + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; +} + +.block { + display: block; +} + +.flex { + display: flex; +} + +.inline-flex { + display: inline-flex; +} + +.table { + display: table; +} + +.grid { + display: grid; +} + +.hidden { + display: none; +} + +.aspect-square { + aspect-ratio: 1 / 1; +} + +.aspect-video { + aspect-ratio: 16 / 9; +} + +.h-1 { + height: 0.25rem; +} + +.h-1\.5 { + height: 0.375rem; +} + +.h-1\/3 { + height: 33.333333%; +} + +.h-10 { + height: 2.5rem; +} + +.h-12 { + height: 3rem; +} + +.h-2 { + height: 0.5rem; +} + +.h-2\.5 { + height: 0.625rem; +} + +.h-20 { + height: 5rem; +} + +.h-24 { + height: 6rem; +} + +.h-3 { + height: 0.75rem; +} + +.h-3\.5 { + height: 0.875rem; +} + +.h-4 { + height: 1rem; +} + +.h-40 { + height: 10rem; +} + +.h-48 { + height: 12rem; +} + +.h-5 { + height: 1.25rem; +} + +.h-6 { + height: 1.5rem; +} + +.h-7 { + height: 1.75rem; +} + +.h-8 { + height: 2rem; +} + +.h-9 { + height: 2.25rem; +} + +.h-\[1px\] { + height: 1px; +} + +.h-\[470px\] { + height: 470px; +} + +.h-\[52px\] { + height: 52px; +} + +.h-\[calc\(100vh-40px\)\] { + height: calc(100vh - 40px); +} + +.h-\[calc\(100vh-50px\)\] { + height: calc(100vh - 50px); +} + +.h-\[var\(--radix-navigation-menu-viewport-height\)\] { + height: var(--radix-navigation-menu-viewport-height); +} + +.h-\[var\(--radix-select-trigger-height\)\] { + height: var(--radix-select-trigger-height); +} + +.h-auto { + height: auto; +} + +.h-full { + height: 100%; +} + +.h-px { + height: 1px; +} + +.h-screen { + height: 100vh; +} + +.max-h-\[--radix-context-menu-content-available-height\] { + max-height: var(--radix-context-menu-content-available-height); +} + +.max-h-\[--radix-select-content-available-height\] { + max-height: var(--radix-select-content-available-height); +} + +.max-h-\[300px\] { + max-height: 300px; +} + +.max-h-\[800px\] { + max-height: 800px; +} + +.max-h-\[calc\(100vh-200px\)\] { + max-height: calc(100vh - 200px); +} + +.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\] { + max-height: var(--radix-dropdown-menu-content-available-height); +} + +.max-h-screen { + max-height: 100vh; +} + +.min-h-0 { + min-height: 0px; +} + +.min-h-\[100px\] { + min-height: 100px; +} + +.min-h-\[200px\] { + min-height: 200px; +} + +.min-h-\[60px\] { + min-height: 60px; +} + +.min-h-\[calc\(100vh-12rem\)\] { + min-height: calc(100vh - 12rem); +} + +.min-h-\[calc\(100vh-43px\)\] { + min-height: calc(100vh - 43px); +} + +.min-h-\[calc\(100vh-8rem\)\] { + min-height: calc(100vh - 8rem); +} + +.min-h-screen { + min-height: 100vh; +} + +.w-0 { + width: 0px; +} + +.w-1 { + width: 0.25rem; +} + +.w-10 { + width: 2.5rem; +} + +.w-12 { + width: 3rem; +} + +.w-2 { + width: 0.5rem; +} + +.w-2\.5 { + width: 0.625rem; +} + +.w-20 { + width: 5rem; +} + +.w-24 { + width: 6rem; +} + +.w-3 { + width: 0.75rem; +} + +.w-3\.5 { + width: 0.875rem; +} + +.w-3\/4 { + width: 75%; +} + +.w-4 { + width: 1rem; +} + +.w-5 { + width: 1.25rem; +} + +.w-56 { + width: 14rem; +} + +.w-6 { + width: 1.5rem; +} + +.w-64 { + width: 16rem; +} + +.w-7 { + width: 1.75rem; +} + +.w-72 { + width: 18rem; +} + +.w-8 { + width: 2rem; +} + +.w-80 { + width: 20rem; +} + +.w-9 { + width: 2.25rem; +} + +.w-\[--sidebar-width\] { + width: var(--sidebar-width); +} + +.w-\[100px\] { + width: 100px; +} + +.w-\[140px\] { + width: 140px; +} + +.w-\[1px\] { + width: 1px; +} + +.w-\[200px\] { + width: 200px; +} + +.w-\[40\%\] { + width: 40%; +} + +.w-\[535px\] { + width: 535px; +} + +.w-\[60\%\] { + width: 60%; +} + +.w-auto { + width: auto; +} + +.w-full { + width: 100%; +} + +.w-max { + width: -moz-max-content; + width: max-content; +} + +.w-px { + width: 1px; +} + +.min-w-0 { + min-width: 0px; +} + +.min-w-\[12rem\] { + min-width: 12rem; +} + +.min-w-\[250px\] { + min-width: 250px; +} + +.min-w-\[50px\] { + min-width: 50px; +} + +.min-w-\[8rem\] { + min-width: 8rem; +} + +.min-w-\[var\(--radix-select-trigger-width\)\] { + min-width: var(--radix-select-trigger-width); +} + +.min-w-fit { + min-width: -moz-fit-content; + min-width: fit-content; +} + +.min-w-max { + min-width: -moz-max-content; + min-width: max-content; +} + +.max-w-4xl { + max-width: 56rem; +} + +.max-w-\[--skeleton-width\] { + max-width: var(--skeleton-width); +} + +.max-w-\[85\%\] { + max-width: 85%; +} + +.max-w-full { + max-width: 100%; +} + +.max-w-lg { + max-width: 32rem; +} + +.max-w-max { + max-width: -moz-max-content; + max-width: max-content; +} + +.max-w-md { + max-width: 28rem; +} + +.max-w-none { + max-width: none; +} + +.flex-1 { + flex: 1 1 0%; +} + +.flex-shrink-0 { + flex-shrink: 0; +} + +.shrink-0 { + flex-shrink: 0; +} + +.flex-grow { + flex-grow: 1; +} + +.grow { + flex-grow: 1; +} + +.grow-0 { + flex-grow: 0; +} + +.basis-full { + flex-basis: 100%; +} + +.caption-bottom { + caption-side: bottom; +} + +.border-collapse { + border-collapse: collapse; +} + +.origin-\[--radix-context-menu-content-transform-origin\] { + transform-origin: var(--radix-context-menu-content-transform-origin); +} + +.origin-\[--radix-dropdown-menu-content-transform-origin\] { + transform-origin: var(--radix-dropdown-menu-content-transform-origin); +} + +.origin-\[--radix-hover-card-content-transform-origin\] { + transform-origin: var(--radix-hover-card-content-transform-origin); +} + +.origin-\[--radix-menubar-content-transform-origin\] { + transform-origin: var(--radix-menubar-content-transform-origin); +} + +.origin-\[--radix-popover-content-transform-origin\] { + transform-origin: var(--radix-popover-content-transform-origin); +} + +.origin-\[--radix-select-content-transform-origin\] { + transform-origin: var(--radix-select-content-transform-origin); +} + +.origin-\[--radix-tooltip-content-transform-origin\] { + transform-origin: var(--radix-tooltip-content-transform-origin); +} + +.-translate-x-1\/2 { + --tw-translate-x: -50%; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.-translate-x-px { + --tw-translate-x: -1px; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.-translate-y-1\/2 { + --tw-translate-y: -50%; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.translate-x-\[-50\%\] { + --tw-translate-x: -50%; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.translate-x-px { + --tw-translate-x: 1px; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.translate-y-\[-50\%\] { + --tw-translate-y: -50%; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.rotate-45 { + --tw-rotate: 45deg; + 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)); +} + +.rotate-90 { + --tw-rotate: 90deg; + 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)); +} + +.transform { + 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)); +} + +@keyframes bounce { + 0%, 100% { + transform: translateY(-25%); + animation-timing-function: cubic-bezier(0.8,0,1,1); + } + + 50% { + transform: none; + animation-timing-function: cubic-bezier(0,0,0.2,1); + } +} + +.animate-bounce { + animation: bounce 1s infinite; +} + +@keyframes pulse { + 50% { + opacity: .5; + } +} + +.animate-pulse { + animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; +} + +.cursor-default { + cursor: default; +} + +.cursor-not-allowed { + cursor: not-allowed; +} + +.cursor-pointer { + cursor: pointer; +} + +.touch-none { + touch-action: none; +} + +.select-none { + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} + +.resize-none { + resize: none; +} + +.resize { + resize: both; +} + +.list-none { + list-style-type: none; +} + +.appearance-none { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.grid-cols-1 { + grid-template-columns: repeat(1, minmax(0, 1fr)); +} + +.grid-cols-7 { + grid-template-columns: repeat(7, minmax(0, 1fr)); +} + +.flex-row { + flex-direction: row; +} + +.flex-col { + flex-direction: column; +} + +.flex-col-reverse { + flex-direction: column-reverse; +} + +.flex-wrap { + flex-wrap: wrap; +} + +.items-start { + align-items: flex-start; +} + +.items-end { + align-items: flex-end; +} + +.items-center { + align-items: center; +} + +.items-stretch { + align-items: stretch; +} + +.justify-start { + justify-content: flex-start; +} + +.justify-end { + justify-content: flex-end; +} + +.justify-center { + justify-content: center; +} + +.justify-between { + justify-content: space-between; +} + +.gap-1 { + gap: 0.25rem; +} + +.gap-1\.5 { + gap: 0.375rem; +} + +.gap-2 { + gap: 0.5rem; +} + +.gap-3 { + gap: 0.75rem; +} + +.gap-4 { + gap: 1rem; +} + +.gap-6 { + gap: 1.5rem; +} + +.space-x-1 > :not([hidden]) ~ :not([hidden]) { + --tw-space-x-reverse: 0; + margin-right: calc(0.25rem * var(--tw-space-x-reverse)); + margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse))); +} + +.space-x-2 > :not([hidden]) ~ :not([hidden]) { + --tw-space-x-reverse: 0; + margin-right: calc(0.5rem * var(--tw-space-x-reverse)); + margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse))); +} + +.space-x-3 > :not([hidden]) ~ :not([hidden]) { + --tw-space-x-reverse: 0; + margin-right: calc(0.75rem * var(--tw-space-x-reverse)); + margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse))); +} + +.space-x-4 > :not([hidden]) ~ :not([hidden]) { + --tw-space-x-reverse: 0; + margin-right: calc(1rem * var(--tw-space-x-reverse)); + margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse))); +} + +.space-y-1 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse: 0; + margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(0.25rem * var(--tw-space-y-reverse)); +} + +.space-y-1\.5 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse: 0; + margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(0.375rem * var(--tw-space-y-reverse)); +} + +.space-y-2 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse: 0; + margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(0.5rem * var(--tw-space-y-reverse)); +} + +.space-y-3 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse: 0; + margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(0.75rem * var(--tw-space-y-reverse)); +} + +.space-y-4 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse: 0; + margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(1rem * var(--tw-space-y-reverse)); +} + +.space-y-6 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse: 0; + margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(1.5rem * var(--tw-space-y-reverse)); +} + +.overflow-auto { + overflow: auto; +} + +.overflow-hidden { + overflow: hidden; +} + +.overflow-x-auto { + overflow-x: auto; +} + +.overflow-y-auto { + overflow-y: auto; +} + +.overflow-x-hidden { + overflow-x: hidden; +} + +.truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.whitespace-nowrap { + white-space: nowrap; +} + +.whitespace-pre-wrap { + white-space: pre-wrap; +} + +.break-words { + overflow-wrap: break-word; +} + +.rounded { + border-radius: 0.25rem; +} + +.rounded-2xl { + border-radius: 1rem; +} + +.rounded-\[2px\] { + border-radius: 2px; +} + +.rounded-\[inherit\] { + border-radius: inherit; +} + +.rounded-full { + border-radius: 9999px; +} + +.rounded-lg { + border-radius: var(--radius); +} + +.rounded-md { + border-radius: calc(var(--radius) - 2px); +} + +.rounded-none { + border-radius: 0px; +} + +.rounded-sm { + border-radius: calc(var(--radius) - 4px); +} + +.rounded-xl { + border-radius: 0.75rem; +} + +.rounded-t-\[10px\] { + border-top-left-radius: 10px; + border-top-right-radius: 10px; +} + +.rounded-tl-sm { + border-top-left-radius: calc(var(--radius) - 4px); +} + +.border { + border-width: 1px; +} + +.border-0 { + border-width: 0px; +} + +.border-2 { + border-width: 2px; +} + +.border-\[1\.5px\] { + border-width: 1.5px; +} + +.border-y { + border-top-width: 1px; + border-bottom-width: 1px; +} + +.border-b { + border-bottom-width: 1px; +} + +.border-b-2 { + border-bottom-width: 2px; +} + +.border-l { + border-left-width: 1px; +} + +.border-l-2 { + border-left-width: 2px; +} + +.border-l-4 { + border-left-width: 4px; +} + +.border-r { + border-right-width: 1px; +} + +.border-t { + border-top-width: 1px; +} + +.border-dashed { + border-style: dashed; +} + +.border-\[--color-border\] { + border-color: var(--color-border); +} + +.border-blue-100 { + --tw-border-opacity: 1; + border-color: rgb(219 234 254 / var(--tw-border-opacity)); +} + +.border-blue-500 { + --tw-border-opacity: 1; + border-color: rgb(59 130 246 / var(--tw-border-opacity)); +} + +.border-border { + border-color: hsl(var(--border)); +} + +.border-border\/50 { + border-color: hsl(var(--border) / 0.5); +} + +.border-current { + border-color: currentColor; +} + +.border-destructive { + border-color: hsl(var(--destructive)); +} + +.border-destructive\/50 { + border-color: hsl(var(--destructive) / 0.5); +} + +.border-gray-100 { + --tw-border-opacity: 1; + border-color: rgb(243 244 246 / var(--tw-border-opacity)); +} + +.border-gray-200 { + --tw-border-opacity: 1; + border-color: rgb(229 231 235 / var(--tw-border-opacity)); +} + +.border-gray-300 { + --tw-border-opacity: 1; + border-color: rgb(209 213 219 / var(--tw-border-opacity)); +} + +.border-green-500 { + --tw-border-opacity: 1; + border-color: rgb(34 197 94 / var(--tw-border-opacity)); +} + +.border-input { + border-color: hsl(var(--input)); +} + +.border-muted { + border-color: hsl(var(--muted)); +} + +.border-primary { + border-color: hsl(var(--primary)); +} + +.border-primary\/50 { + border-color: hsl(var(--primary) / 0.5); +} + +.border-purple-500 { + --tw-border-opacity: 1; + border-color: rgb(168 85 247 / var(--tw-border-opacity)); +} + +.border-red-500 { + --tw-border-opacity: 1; + border-color: rgb(239 68 68 / var(--tw-border-opacity)); +} + +.border-sidebar-border { + border-color: hsl(var(--sidebar-border)); +} + +.border-transparent { + border-color: transparent; +} + +.border-l-blue-500 { + --tw-border-opacity: 1; + border-left-color: rgb(59 130 246 / var(--tw-border-opacity)); +} + +.border-l-green-500 { + --tw-border-opacity: 1; + border-left-color: rgb(34 197 94 / var(--tw-border-opacity)); +} + +.border-l-muted { + border-left-color: hsl(var(--muted)); +} + +.border-l-purple-500 { + --tw-border-opacity: 1; + border-left-color: rgb(168 85 247 / var(--tw-border-opacity)); +} + +.border-l-red-500 { + --tw-border-opacity: 1; + border-left-color: rgb(239 68 68 / var(--tw-border-opacity)); +} + +.border-l-transparent { + border-left-color: transparent; +} + +.border-t-transparent { + border-top-color: transparent; +} + +.bg-\[--color-bg\] { + background-color: var(--color-bg); +} + +.bg-accent { + background-color: hsl(var(--accent)); +} + +.bg-background { + background-color: hsl(var(--background)); +} + +.bg-background\/95 { + background-color: hsl(var(--background) / 0.95); +} + +.bg-black { + --tw-bg-opacity: 1; + background-color: rgb(0 0 0 / var(--tw-bg-opacity)); +} + +.bg-black\/20 { + background-color: rgb(0 0 0 / 0.2); +} + +.bg-black\/80 { + background-color: rgb(0 0 0 / 0.8); +} + +.bg-blue-100 { + --tw-bg-opacity: 1; + background-color: rgb(219 234 254 / var(--tw-bg-opacity)); +} + +.bg-blue-50 { + --tw-bg-opacity: 1; + background-color: rgb(239 246 255 / var(--tw-bg-opacity)); +} + +.bg-blue-500 { + --tw-bg-opacity: 1; + background-color: rgb(59 130 246 / var(--tw-bg-opacity)); +} + +.bg-blue-500\/20 { + background-color: rgb(59 130 246 / 0.2); +} + +.bg-blue-600 { + --tw-bg-opacity: 1; + background-color: rgb(37 99 235 / var(--tw-bg-opacity)); +} + +.bg-border { + background-color: hsl(var(--border)); +} + +.bg-card { + background-color: hsl(var(--card)); +} + +.bg-destructive { + background-color: hsl(var(--destructive)); +} + +.bg-foreground { + background-color: hsl(var(--foreground)); +} + +.bg-gray-100 { + --tw-bg-opacity: 1; + background-color: rgb(243 244 246 / var(--tw-bg-opacity)); +} + +.bg-gray-200 { + --tw-bg-opacity: 1; + background-color: rgb(229 231 235 / var(--tw-bg-opacity)); +} + +.bg-gray-400 { + --tw-bg-opacity: 1; + background-color: rgb(156 163 175 / var(--tw-bg-opacity)); +} + +.bg-gray-50 { + --tw-bg-opacity: 1; + background-color: rgb(249 250 251 / var(--tw-bg-opacity)); +} + +.bg-gray-500 { + --tw-bg-opacity: 1; + background-color: rgb(107 114 128 / var(--tw-bg-opacity)); +} + +.bg-gray-900 { + --tw-bg-opacity: 1; + background-color: rgb(17 24 39 / var(--tw-bg-opacity)); +} + +.bg-green-100 { + --tw-bg-opacity: 1; + background-color: rgb(220 252 231 / var(--tw-bg-opacity)); +} + +.bg-green-500 { + --tw-bg-opacity: 1; + background-color: rgb(34 197 94 / var(--tw-bg-opacity)); +} + +.bg-green-500\/20 { + background-color: rgb(34 197 94 / 0.2); +} + +.bg-input { + background-color: hsl(var(--input)); +} + +.bg-muted { + background-color: hsl(var(--muted)); +} + +.bg-muted-foreground { + background-color: hsl(var(--muted-foreground)); +} + +.bg-muted\/30 { + background-color: hsl(var(--muted) / 0.3); +} + +.bg-muted\/50 { + background-color: hsl(var(--muted) / 0.5); +} + +.bg-orange-500 { + --tw-bg-opacity: 1; + background-color: rgb(249 115 22 / var(--tw-bg-opacity)); +} + +.bg-pink-500 { + --tw-bg-opacity: 1; + background-color: rgb(236 72 153 / var(--tw-bg-opacity)); +} + +.bg-popover { + background-color: hsl(var(--popover)); +} + +.bg-primary { + background-color: hsl(var(--primary)); +} + +.bg-primary\/10 { + background-color: hsl(var(--primary) / 0.1); +} + +.bg-primary\/20 { + background-color: hsl(var(--primary) / 0.2); +} + +.bg-purple-500 { + --tw-bg-opacity: 1; + background-color: rgb(168 85 247 / var(--tw-bg-opacity)); +} + +.bg-purple-500\/20 { + background-color: rgb(168 85 247 / 0.2); +} + +.bg-red-500 { + --tw-bg-opacity: 1; + background-color: rgb(239 68 68 / var(--tw-bg-opacity)); +} + +.bg-red-500\/20 { + background-color: rgb(239 68 68 / 0.2); +} + +.bg-secondary { + background-color: hsl(var(--secondary)); +} + +.bg-sidebar { + background-color: hsl(var(--sidebar-background)); +} + +.bg-sidebar-border { + background-color: hsl(var(--sidebar-border)); +} + +.bg-transparent { + background-color: transparent; +} + +.bg-white { + --tw-bg-opacity: 1; + background-color: rgb(255 255 255 / var(--tw-bg-opacity)); +} + +.bg-gradient-to-br { + background-image: linear-gradient(to bottom right, var(--tw-gradient-stops)); +} + +.from-gray-50 { + --tw-gradient-from: #f9fafb var(--tw-gradient-from-position); + --tw-gradient-from-position: ; + --tw-gradient-to: rgb(249 250 251 / 0) var(--tw-gradient-from-position); + --tw-gradient-to-position: ; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + +.from-primary\/10 { + --tw-gradient-from: hsl(var(--primary) / 0.1) var(--tw-gradient-from-position); + --tw-gradient-from-position: ; + --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-from-position); + --tw-gradient-to-position: ; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + +.from-secondary\/50 { + --tw-gradient-from: hsl(var(--secondary) / 0.5) var(--tw-gradient-from-position); + --tw-gradient-from-position: ; + --tw-gradient-to: hsl(var(--secondary) / 0) var(--tw-gradient-from-position); + --tw-gradient-to-position: ; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + +.to-accent\/10 { + --tw-gradient-to: hsl(var(--accent) / 0.1) var(--tw-gradient-to-position); + --tw-gradient-to-position: ; +} + +.to-gray-100 { + --tw-gradient-to: #f3f4f6 var(--tw-gradient-to-position); + --tw-gradient-to-position: ; +} + +.to-muted\/30 { + --tw-gradient-to: hsl(var(--muted) / 0.3) var(--tw-gradient-to-position); + --tw-gradient-to-position: ; +} + +.fill-current { + fill: currentColor; +} + +.fill-primary { + fill: hsl(var(--primary)); +} + +.object-contain { + -o-object-fit: contain; + object-fit: contain; +} + +.p-0 { + padding: 0px; +} + +.p-1 { + padding: 0.25rem; +} + +.p-1\.5 { + padding: 0.375rem; +} + +.p-2 { + padding: 0.5rem; +} + +.p-2\.5 { + padding: 0.625rem; +} + +.p-3 { + padding: 0.75rem; +} + +.p-4 { + padding: 1rem; +} + +.p-5 { + padding: 1.25rem; +} + +.p-6 { + padding: 1.5rem; +} + +.p-8 { + padding: 2rem; +} + +.p-\[1px\] { + padding: 1px; +} + +.px-1 { + padding-left: 0.25rem; + padding-right: 0.25rem; +} + +.px-1\.5 { + padding-left: 0.375rem; + padding-right: 0.375rem; +} + +.px-2 { + padding-left: 0.5rem; + padding-right: 0.5rem; +} + +.px-2\.5 { + padding-left: 0.625rem; + padding-right: 0.625rem; +} + +.px-3 { + padding-left: 0.75rem; + padding-right: 0.75rem; +} + +.px-4 { + padding-left: 1rem; + padding-right: 1rem; +} + +.px-6 { + padding-left: 1.5rem; + padding-right: 1.5rem; +} + +.px-8 { + padding-left: 2rem; + padding-right: 2rem; +} + +.py-0 { + padding-top: 0px; + padding-bottom: 0px; +} + +.py-0\.5 { + padding-top: 0.125rem; + padding-bottom: 0.125rem; +} + +.py-1 { + padding-top: 0.25rem; + padding-bottom: 0.25rem; +} + +.py-1\.5 { + padding-top: 0.375rem; + padding-bottom: 0.375rem; +} + +.py-2 { + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.py-3 { + padding-top: 0.75rem; + padding-bottom: 0.75rem; +} + +.py-4 { + padding-top: 1rem; + padding-bottom: 1rem; +} + +.py-6 { + padding-top: 1.5rem; + padding-bottom: 1.5rem; +} + +.py-8 { + padding-top: 2rem; + padding-bottom: 2rem; +} + +.pb-3 { + padding-bottom: 0.75rem; +} + +.pb-4 { + padding-bottom: 1rem; +} + +.pl-10 { + padding-left: 2.5rem; +} + +.pl-2 { + padding-left: 0.5rem; +} + +.pl-2\.5 { + padding-left: 0.625rem; +} + +.pl-4 { + padding-left: 1rem; +} + +.pl-8 { + padding-left: 2rem; +} + +.pl-9 { + padding-left: 2.25rem; +} + +.pr-14 { + padding-right: 3.5rem; +} + +.pr-2 { + padding-right: 0.5rem; +} + +.pr-2\.5 { + padding-right: 0.625rem; +} + +.pr-4 { + padding-right: 1rem; +} + +.pr-6 { + padding-right: 1.5rem; +} + +.pr-8 { + padding-right: 2rem; +} + +.pt-0 { + padding-top: 0px; +} + +.pt-1 { + padding-top: 0.25rem; +} + +.pt-3 { + padding-top: 0.75rem; +} + +.pt-4 { + padding-top: 1rem; +} + +.text-left { + text-align: left; +} + +.text-center { + text-align: center; +} + +.align-middle { + vertical-align: middle; +} + +.font-mono { + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + +.text-2xl { + font-size: 1.5rem; + line-height: 2rem; +} + +.text-3xl { + font-size: 1.875rem; + line-height: 2.25rem; +} + +.text-\[0\.8rem\] { + font-size: 0.8rem; +} + +.text-base { + font-size: 1rem; + line-height: 1.5rem; +} + +.text-lg { + font-size: 1.125rem; + line-height: 1.75rem; +} + +.text-sm { + font-size: 0.875rem; + line-height: 1.25rem; +} + +.text-xl { + font-size: 1.25rem; + line-height: 1.75rem; +} + +.text-xs { + font-size: 0.75rem; + line-height: 1rem; +} + +.font-bold { + font-weight: 700; +} + +.font-medium { + font-weight: 500; +} + +.font-normal { + font-weight: 400; +} + +.font-semibold { + font-weight: 600; +} + +.italic { + font-style: italic; +} + +.tabular-nums { + --tw-numeric-spacing: tabular-nums; + font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); +} + +.leading-none { + line-height: 1; +} + +.leading-relaxed { + line-height: 1.625; +} + +.tracking-tight { + letter-spacing: -0.025em; +} + +.tracking-widest { + letter-spacing: 0.1em; +} + +.text-accent { + color: hsl(var(--accent)); +} + +.text-accent-foreground { + color: hsl(var(--accent-foreground)); +} + +.text-blue-500 { + --tw-text-opacity: 1; + color: rgb(59 130 246 / var(--tw-text-opacity)); +} + +.text-blue-600 { + --tw-text-opacity: 1; + color: rgb(37 99 235 / var(--tw-text-opacity)); +} + +.text-blue-800 { + --tw-text-opacity: 1; + color: rgb(30 64 175 / var(--tw-text-opacity)); +} + +.text-card-foreground { + color: hsl(var(--card-foreground)); +} + +.text-current { + color: currentColor; +} + +.text-destructive { + color: hsl(var(--destructive)); +} + +.text-destructive-foreground { + color: hsl(var(--destructive-foreground)); +} + +.text-foreground { + color: hsl(var(--foreground)); +} + +.text-foreground\/50 { + color: hsl(var(--foreground) / 0.5); +} + +.text-foreground\/80 { + color: hsl(var(--foreground) / 0.8); +} + +.text-gray-500 { + --tw-text-opacity: 1; + color: rgb(107 114 128 / var(--tw-text-opacity)); +} + +.text-gray-700 { + --tw-text-opacity: 1; + color: rgb(55 65 81 / var(--tw-text-opacity)); +} + +.text-gray-800 { + --tw-text-opacity: 1; + color: rgb(31 41 55 / var(--tw-text-opacity)); +} + +.text-green-500 { + --tw-text-opacity: 1; + color: rgb(34 197 94 / var(--tw-text-opacity)); +} + +.text-green-600 { + --tw-text-opacity: 1; + color: rgb(22 163 74 / var(--tw-text-opacity)); +} + +.text-green-800 { + --tw-text-opacity: 1; + color: rgb(22 101 52 / var(--tw-text-opacity)); +} + +.text-indigo-600 { + --tw-text-opacity: 1; + color: rgb(79 70 229 / var(--tw-text-opacity)); +} + +.text-muted-foreground { + color: hsl(var(--muted-foreground)); +} + +.text-pink-500 { + --tw-text-opacity: 1; + color: rgb(236 72 153 / var(--tw-text-opacity)); +} + +.text-popover-foreground { + color: hsl(var(--popover-foreground)); +} + +.text-primary { + color: hsl(var(--primary)); +} + +.text-primary-foreground { + color: hsl(var(--primary-foreground)); +} + +.text-primary-foreground\/80 { + color: hsl(var(--primary-foreground) / 0.8); +} + +.text-purple-500 { + --tw-text-opacity: 1; + color: rgb(168 85 247 / var(--tw-text-opacity)); +} + +.text-purple-600 { + --tw-text-opacity: 1; + color: rgb(147 51 234 / var(--tw-text-opacity)); +} + +.text-red-500 { + --tw-text-opacity: 1; + color: rgb(239 68 68 / var(--tw-text-opacity)); +} + +.text-red-600 { + --tw-text-opacity: 1; + color: rgb(220 38 38 / var(--tw-text-opacity)); +} + +.text-secondary-foreground { + color: hsl(var(--secondary-foreground)); +} + +.text-sidebar-foreground { + color: hsl(var(--sidebar-foreground)); +} + +.text-sidebar-foreground\/70 { + color: hsl(var(--sidebar-foreground) / 0.7); +} + +.text-white { + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)); +} + +.text-yellow-500 { + --tw-text-opacity: 1; + color: rgb(234 179 8 / var(--tw-text-opacity)); +} + +.text-yellow-600 { + --tw-text-opacity: 1; + color: rgb(202 138 4 / var(--tw-text-opacity)); +} + +.underline { + text-decoration-line: underline; +} + +.underline-offset-4 { + text-underline-offset: 4px; +} + +.opacity-0 { + opacity: 0; +} + +.opacity-50 { + opacity: 0.5; +} + +.opacity-60 { + opacity: 0.6; +} + +.opacity-70 { + opacity: 0.7; +} + +.opacity-90 { + opacity: 0.9; +} + +.shadow { + --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.shadow-2xl { + --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25); + --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\] { + --tw-shadow: 0 0 0 1px hsl(var(--sidebar-border)); + --tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.shadow-lg { + --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.shadow-md { + --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.shadow-none { + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.shadow-sm { + --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); + --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.shadow-xl { + --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.shadow-black\/20 { + --tw-shadow-color: rgb(0 0 0 / 0.2); + --tw-shadow: var(--tw-shadow-colored); +} + +.outline-none { + outline: 2px solid transparent; + outline-offset: 2px; +} + +.outline { + outline-style: solid; +} + +.ring-0 { + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); +} + +.ring-1 { + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); +} + +.ring-ring { + --tw-ring-color: hsl(var(--ring)); +} + +.ring-sidebar-ring { + --tw-ring-color: hsl(var(--sidebar-ring)); +} + +.ring-offset-background { + --tw-ring-offset-color: hsl(var(--background)); +} + +.filter { + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} + +.backdrop-blur { + --tw-backdrop-blur: blur(8px); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} + +.backdrop-filter { + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} + +.transition { + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +.transition-\[left\2c right\2c width\] { + transition-property: left,right,width; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +.transition-\[margin\2c opacity\] { + transition-property: margin,opacity; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +.transition-\[width\2c height\2c padding\] { + transition-property: width,height,padding; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +.transition-\[width\] { + transition-property: width; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +.transition-all { + transition-property: all; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +.transition-colors { + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +.transition-opacity { + transition-property: opacity; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +.transition-shadow { + transition-property: box-shadow; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +.transition-transform { + transition-property: transform; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +.duration-1000 { + transition-duration: 1000ms; +} + +.duration-200 { + transition-duration: 200ms; +} + +.duration-300 { + transition-duration: 300ms; +} + +.ease-in-out { + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); +} + +.ease-linear { + transition-timing-function: linear; +} + +@keyframes enter { + from { + opacity: var(--tw-enter-opacity, 1); + transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0)); + } +} + +@keyframes exit { + to { + opacity: var(--tw-exit-opacity, 1); + transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0)); + } +} + +.animate-in { + animation-name: enter; + animation-duration: 150ms; + --tw-enter-opacity: initial; + --tw-enter-scale: initial; + --tw-enter-rotate: initial; + --tw-enter-translate-x: initial; + --tw-enter-translate-y: initial; +} + +.fade-in-0 { + --tw-enter-opacity: 0; +} + +.zoom-in-95 { + --tw-enter-scale: .95; +} + +.duration-1000 { + animation-duration: 1000ms; +} + +.duration-200 { + animation-duration: 200ms; +} + +.duration-300 { + animation-duration: 300ms; +} + +.ease-in-out { + animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); +} + +.ease-linear { + animation-timing-function: linear; +} + +.dark .scrollbar-thin::-webkit-scrollbar-thumb { + background: #4b5563; +} + +.dark .scrollbar-thin::-webkit-scrollbar-thumb:hover { + background: #374151; +} + +.file\:border-0::file-selector-button { + border-width: 0px; +} + +.file\:bg-transparent::file-selector-button { + background-color: transparent; +} + +.file\:text-sm::file-selector-button { + font-size: 0.875rem; + line-height: 1.25rem; +} + +.file\:font-medium::file-selector-button { + font-weight: 500; +} + +.file\:text-foreground::file-selector-button { + color: hsl(var(--foreground)); +} + +.placeholder\:text-muted-foreground::-moz-placeholder { + color: hsl(var(--muted-foreground)); +} + +.placeholder\:text-muted-foreground::placeholder { + color: hsl(var(--muted-foreground)); +} + +.after\:absolute::after { + content: var(--tw-content); + position: absolute; +} + +.after\:-inset-2::after { + content: var(--tw-content); + inset: -0.5rem; +} + +.after\:inset-y-0::after { + content: var(--tw-content); + top: 0px; + bottom: 0px; +} + +.after\:left-1\/2::after { + content: var(--tw-content); + left: 50%; +} + +.after\:w-1::after { + content: var(--tw-content); + width: 0.25rem; +} + +.after\:w-\[2px\]::after { + content: var(--tw-content); + width: 2px; +} + +.after\:-translate-x-1\/2::after { + content: var(--tw-content); + --tw-translate-x: -50%; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.first\:rounded-l-md:first-child { + border-top-left-radius: calc(var(--radius) - 2px); + border-bottom-left-radius: calc(var(--radius) - 2px); +} + +.first\:border-l:first-child { + border-left-width: 1px; +} + +.last\:rounded-r-md:last-child { + border-top-right-radius: calc(var(--radius) - 2px); + border-bottom-right-radius: calc(var(--radius) - 2px); +} + +.focus-within\:relative:focus-within { + position: relative; +} + +.focus-within\:z-20:focus-within { + z-index: 20; +} + +.hover\:scale-105:hover { + --tw-scale-x: 1.05; + --tw-scale-y: 1.05; + 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)); +} + +.hover\:scale-110:hover { + --tw-scale-x: 1.1; + --tw-scale-y: 1.1; + 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)); +} + +.hover\:border-accent:hover { + border-color: hsl(var(--accent)); +} + +.hover\:bg-accent:hover { + background-color: hsl(var(--accent)); +} + +.hover\:bg-accent\/10:hover { + background-color: hsl(var(--accent) / 0.1); +} + +.hover\:bg-accent\/50:hover { + background-color: hsl(var(--accent) / 0.5); +} + +.hover\:bg-blue-600:hover { + --tw-bg-opacity: 1; + background-color: rgb(37 99 235 / var(--tw-bg-opacity)); +} + +.hover\:bg-blue-700:hover { + --tw-bg-opacity: 1; + background-color: rgb(29 78 216 / var(--tw-bg-opacity)); +} + +.hover\:bg-card:hover { + background-color: hsl(var(--card)); +} + +.hover\:bg-destructive\/80:hover { + background-color: hsl(var(--destructive) / 0.8); +} + +.hover\:bg-destructive\/90:hover { + background-color: hsl(var(--destructive) / 0.9); +} + +.hover\:bg-gray-100:hover { + --tw-bg-opacity: 1; + background-color: rgb(243 244 246 / var(--tw-bg-opacity)); +} + +.hover\:bg-gray-50:hover { + --tw-bg-opacity: 1; + background-color: rgb(249 250 251 / var(--tw-bg-opacity)); +} + +.hover\:bg-green-700:hover { + --tw-bg-opacity: 1; + background-color: rgb(21 128 61 / var(--tw-bg-opacity)); +} + +.hover\:bg-muted:hover { + background-color: hsl(var(--muted)); +} + +.hover\:bg-muted\/50:hover { + background-color: hsl(var(--muted) / 0.5); +} + +.hover\:bg-primary:hover { + background-color: hsl(var(--primary)); +} + +.hover\:bg-primary\/80:hover { + background-color: hsl(var(--primary) / 0.8); +} + +.hover\:bg-primary\/90:hover { + background-color: hsl(var(--primary) / 0.9); +} + +.hover\:bg-secondary:hover { + background-color: hsl(var(--secondary)); +} + +.hover\:bg-secondary\/80:hover { + background-color: hsl(var(--secondary) / 0.8); +} + +.hover\:bg-sidebar-accent:hover { + background-color: hsl(var(--sidebar-accent)); +} + +.hover\:text-accent-foreground:hover { + color: hsl(var(--accent-foreground)); +} + +.hover\:text-foreground:hover { + color: hsl(var(--foreground)); +} + +.hover\:text-muted-foreground:hover { + color: hsl(var(--muted-foreground)); +} + +.hover\:text-primary:hover { + color: hsl(var(--primary)); +} + +.hover\:text-primary-foreground:hover { + color: hsl(var(--primary-foreground)); +} + +.hover\:text-secondary-foreground:hover { + color: hsl(var(--secondary-foreground)); +} + +.hover\:text-sidebar-accent-foreground:hover { + color: hsl(var(--sidebar-accent-foreground)); +} + +.hover\:underline:hover { + text-decoration-line: underline; +} + +.hover\:opacity-100:hover { + opacity: 1; +} + +.hover\:opacity-90:hover { + opacity: 0.9; +} + +.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover { + --tw-shadow: 0 0 0 1px hsl(var(--sidebar-accent)); + --tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.hover\:shadow-none:hover { + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.hover\:shadow-xl:hover { + --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.hover\:after\:bg-sidebar-border:hover::after { + content: var(--tw-content); + background-color: hsl(var(--sidebar-border)); +} + +.focus\:border-primary:focus { + border-color: hsl(var(--primary)); +} + +.focus\:border-transparent:focus { + border-color: transparent; +} + +.focus\:bg-accent:focus { + background-color: hsl(var(--accent)); +} + +.focus\:bg-primary:focus { + background-color: hsl(var(--primary)); +} + +.focus\:text-accent-foreground:focus { + color: hsl(var(--accent-foreground)); +} + +.focus\:text-destructive:focus { + color: hsl(var(--destructive)); +} + +.focus\:text-primary-foreground:focus { + color: hsl(var(--primary-foreground)); +} + +.focus\:opacity-100:focus { + opacity: 1; +} + +.focus\:outline-none:focus { + outline: 2px solid transparent; + outline-offset: 2px; +} + +.focus\:ring-1:focus { + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); +} + +.focus\:ring-2:focus { + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); +} + +.focus\:ring-blue-500:focus { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity)); +} + +.focus\:ring-primary:focus { + --tw-ring-color: hsl(var(--primary)); +} + +.focus\:ring-ring:focus { + --tw-ring-color: hsl(var(--ring)); +} + +.focus\:ring-offset-2:focus { + --tw-ring-offset-width: 2px; +} + +.focus-visible\:outline-none:focus-visible { + outline: 2px solid transparent; + outline-offset: 2px; +} + +.focus-visible\:ring-1:focus-visible { + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); +} + +.focus-visible\:ring-2:focus-visible { + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); +} + +.focus-visible\:ring-ring:focus-visible { + --tw-ring-color: hsl(var(--ring)); +} + +.focus-visible\:ring-sidebar-ring:focus-visible { + --tw-ring-color: hsl(var(--sidebar-ring)); +} + +.focus-visible\:ring-offset-1:focus-visible { + --tw-ring-offset-width: 1px; +} + +.focus-visible\:ring-offset-2:focus-visible { + --tw-ring-offset-width: 2px; +} + +.focus-visible\:ring-offset-background:focus-visible { + --tw-ring-offset-color: hsl(var(--background)); +} + +.active\:bg-sidebar-accent:active { + background-color: hsl(var(--sidebar-accent)); +} + +.active\:text-sidebar-accent-foreground:active { + color: hsl(var(--sidebar-accent-foreground)); +} + +.disabled\:pointer-events-none:disabled { + pointer-events: none; +} + +.disabled\:cursor-not-allowed:disabled { + cursor: not-allowed; +} + +.disabled\:opacity-50:disabled { + opacity: 0.5; +} + +.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100 { + opacity: 1; +} + +.group:hover .group-hover\:text-accent { + color: hsl(var(--accent)); +} + +.group\/menu-item:hover .group-hover\/menu-item\:opacity-100 { + opacity: 1; +} + +.group:hover .group-hover\:opacity-100 { + opacity: 1; +} + +.group[data-collapsed=true] .group-\[\[data-collapsed\=true\]\]\:justify-center { + justify-content: center; +} + +.group.destructive .group-\[\.destructive\]\:border-muted\/40 { + border-color: hsl(var(--muted) / 0.4); +} + +.group.toaster .group-\[\.toaster\]\:border-border { + border-color: hsl(var(--border)); +} + +.group.toast .group-\[\.toast\]\:bg-muted { + background-color: hsl(var(--muted)); +} + +.group.toast .group-\[\.toast\]\:bg-primary { + background-color: hsl(var(--primary)); +} + +.group.toaster .group-\[\.toaster\]\:bg-background { + background-color: hsl(var(--background)); +} + +.group[data-collapsed=true] .group-\[\[data-collapsed\=true\]\]\:px-2 { + padding-left: 0.5rem; + padding-right: 0.5rem; +} + +.group.destructive .group-\[\.destructive\]\:text-red-300 { + --tw-text-opacity: 1; + color: rgb(252 165 165 / var(--tw-text-opacity)); +} + +.group.toast .group-\[\.toast\]\:text-muted-foreground { + color: hsl(var(--muted-foreground)); +} + +.group.toast .group-\[\.toast\]\:text-primary-foreground { + color: hsl(var(--primary-foreground)); +} + +.group.toaster .group-\[\.toaster\]\:text-foreground { + color: hsl(var(--foreground)); +} + +.group.toaster .group-\[\.toaster\]\:shadow-lg { + --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover { + border-color: hsl(var(--destructive) / 0.3); +} + +.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover { + background-color: hsl(var(--destructive)); +} + +.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover { + color: hsl(var(--destructive-foreground)); +} + +.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover { + --tw-text-opacity: 1; + color: rgb(254 242 242 / var(--tw-text-opacity)); +} + +.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus { + --tw-ring-color: hsl(var(--destructive)); +} + +.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity)); +} + +.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus { + --tw-ring-offset-color: #dc2626; +} + +.peer\/menu-button:hover ~ .peer-hover\/menu-button\:text-sidebar-accent-foreground { + color: hsl(var(--sidebar-accent-foreground)); +} + +.peer:disabled ~ .peer-disabled\:cursor-not-allowed { + cursor: not-allowed; +} + +.peer:disabled ~ .peer-disabled\:opacity-70 { + opacity: 0.7; +} + +.aria-disabled\:pointer-events-none[aria-disabled="true"] { + pointer-events: none; +} + +.aria-disabled\:opacity-50[aria-disabled="true"] { + opacity: 0.5; +} + +.aria-selected\:bg-accent[aria-selected="true"] { + background-color: hsl(var(--accent)); +} + +.aria-selected\:bg-accent\/50[aria-selected="true"] { + background-color: hsl(var(--accent) / 0.5); +} + +.aria-selected\:text-accent-foreground[aria-selected="true"] { + color: hsl(var(--accent-foreground)); +} + +.aria-selected\:text-muted-foreground[aria-selected="true"] { + color: hsl(var(--muted-foreground)); +} + +.aria-selected\:opacity-100[aria-selected="true"] { + opacity: 1; +} + +.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true] { + pointer-events: none; +} + +.data-\[disabled\]\:pointer-events-none[data-disabled] { + pointer-events: none; +} + +.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical] { + height: 1px; +} + +.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical] { + width: 100%; +} + +.data-\[side\=bottom\]\:translate-y-1[data-side=bottom] { + --tw-translate-y: 0.25rem; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.data-\[side\=left\]\:-translate-x-1[data-side=left] { + --tw-translate-x: -0.25rem; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.data-\[side\=right\]\:translate-x-1[data-side=right] { + --tw-translate-x: 0.25rem; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.data-\[side\=top\]\:-translate-y-1[data-side=top] { + --tw-translate-y: -0.25rem; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.data-\[state\=checked\]\:translate-x-4[data-state=checked] { + --tw-translate-x: 1rem; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked] { + --tw-translate-x: 0px; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel] { + --tw-translate-x: 0px; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end] { + --tw-translate-x: var(--radix-toast-swipe-end-x); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move] { + --tw-translate-x: var(--radix-toast-swipe-move-x); + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +@keyframes accordion-up { + from { + height: var(--radix-accordion-content-height); + } + + to { + height: 0; + } +} + +.data-\[state\=closed\]\:animate-accordion-up[data-state=closed] { + animation: accordion-up 0.2s ease-out; +} + +@keyframes accordion-down { + from { + height: 0; + } + + to { + height: var(--radix-accordion-content-height); + } +} + +.data-\[state\=open\]\:animate-accordion-down[data-state=open] { + animation: accordion-down 0.2s ease-out; +} + +.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical] { + flex-direction: column; +} + +.data-\[active\=true\]\:bg-sidebar-accent[data-active=true] { + background-color: hsl(var(--sidebar-accent)); +} + +.data-\[selected\=true\]\:bg-accent[data-selected=true] { + background-color: hsl(var(--accent)); +} + +.data-\[state\=active\]\:bg-background[data-state=active] { + background-color: hsl(var(--background)); +} + +.data-\[state\=checked\]\:bg-primary[data-state=checked] { + background-color: hsl(var(--primary)); +} + +.data-\[state\=on\]\:bg-accent[data-state=on] { + background-color: hsl(var(--accent)); +} + +.data-\[state\=open\]\:bg-accent[data-state=open] { + background-color: hsl(var(--accent)); +} + +.data-\[state\=open\]\:bg-accent\/50[data-state=open] { + background-color: hsl(var(--accent) / 0.5); +} + +.data-\[state\=open\]\:bg-secondary[data-state=open] { + background-color: hsl(var(--secondary)); +} + +.data-\[state\=selected\]\:bg-muted[data-state=selected] { + background-color: hsl(var(--muted)); +} + +.data-\[state\=unchecked\]\:bg-input[data-state=unchecked] { + background-color: hsl(var(--input)); +} + +.data-\[collapsed\=true\]\:py-2[data-collapsed=true] { + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.data-\[active\=true\]\:font-medium[data-active=true] { + font-weight: 500; +} + +.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true] { + color: hsl(var(--sidebar-accent-foreground)); +} + +.data-\[placeholder\]\:text-muted-foreground[data-placeholder] { + color: hsl(var(--muted-foreground)); +} + +.data-\[selected\=true\]\:text-accent-foreground[data-selected=true] { + color: hsl(var(--accent-foreground)); +} + +.data-\[state\=active\]\:text-foreground[data-state=active] { + color: hsl(var(--foreground)); +} + +.data-\[state\=checked\]\:text-primary-foreground[data-state=checked] { + color: hsl(var(--primary-foreground)); +} + +.data-\[state\=on\]\:text-accent-foreground[data-state=on] { + color: hsl(var(--accent-foreground)); +} + +.data-\[state\=open\]\:text-accent-foreground[data-state=open] { + color: hsl(var(--accent-foreground)); +} + +.data-\[state\=open\]\:text-muted-foreground[data-state=open] { + color: hsl(var(--muted-foreground)); +} + +.data-\[disabled\=true\]\:opacity-50[data-disabled=true] { + opacity: 0.5; +} + +.data-\[disabled\]\:opacity-50[data-disabled] { + opacity: 0.5; +} + +.data-\[state\=open\]\:opacity-100[data-state=open] { + opacity: 1; +} + +.data-\[state\=active\]\:shadow[data-state=active] { + --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.data-\[swipe\=move\]\:transition-none[data-swipe=move] { + transition-property: none; +} + +.data-\[state\=closed\]\:duration-300[data-state=closed] { + transition-duration: 300ms; +} + +.data-\[state\=open\]\:duration-500[data-state=open] { + transition-duration: 500ms; +} + +.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-] { + animation-name: enter; + animation-duration: 150ms; + --tw-enter-opacity: initial; + --tw-enter-scale: initial; + --tw-enter-rotate: initial; + --tw-enter-translate-x: initial; + --tw-enter-translate-y: initial; +} + +.data-\[state\=open\]\:animate-in[data-state=open] { + animation-name: enter; + animation-duration: 150ms; + --tw-enter-opacity: initial; + --tw-enter-scale: initial; + --tw-enter-rotate: initial; + --tw-enter-translate-x: initial; + --tw-enter-translate-y: initial; +} + +.data-\[state\=visible\]\:animate-in[data-state=visible] { + animation-name: enter; + animation-duration: 150ms; + --tw-enter-opacity: initial; + --tw-enter-scale: initial; + --tw-enter-rotate: initial; + --tw-enter-translate-x: initial; + --tw-enter-translate-y: initial; +} + +.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-] { + animation-name: exit; + animation-duration: 150ms; + --tw-exit-opacity: initial; + --tw-exit-scale: initial; + --tw-exit-rotate: initial; + --tw-exit-translate-x: initial; + --tw-exit-translate-y: initial; +} + +.data-\[state\=closed\]\:animate-out[data-state=closed] { + animation-name: exit; + animation-duration: 150ms; + --tw-exit-opacity: initial; + --tw-exit-scale: initial; + --tw-exit-rotate: initial; + --tw-exit-translate-x: initial; + --tw-exit-translate-y: initial; +} + +.data-\[state\=hidden\]\:animate-out[data-state=hidden] { + animation-name: exit; + animation-duration: 150ms; + --tw-exit-opacity: initial; + --tw-exit-scale: initial; + --tw-exit-rotate: initial; + --tw-exit-translate-x: initial; + --tw-exit-translate-y: initial; +} + +.data-\[swipe\=end\]\:animate-out[data-swipe=end] { + animation-name: exit; + animation-duration: 150ms; + --tw-exit-opacity: initial; + --tw-exit-scale: initial; + --tw-exit-rotate: initial; + --tw-exit-translate-x: initial; + --tw-exit-translate-y: initial; +} + +.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-] { + --tw-enter-opacity: 0; +} + +.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-] { + --tw-exit-opacity: 0; +} + +.data-\[state\=closed\]\:fade-out-0[data-state=closed] { + --tw-exit-opacity: 0; +} + +.data-\[state\=closed\]\:fade-out-80[data-state=closed] { + --tw-exit-opacity: 0.8; +} + +.data-\[state\=hidden\]\:fade-out[data-state=hidden] { + --tw-exit-opacity: 0; +} + +.data-\[state\=open\]\:fade-in-0[data-state=open] { + --tw-enter-opacity: 0; +} + +.data-\[state\=visible\]\:fade-in[data-state=visible] { + --tw-enter-opacity: 0; +} + +.data-\[state\=closed\]\:zoom-out-95[data-state=closed] { + --tw-exit-scale: .95; +} + +.data-\[state\=open\]\:zoom-in-90[data-state=open] { + --tw-enter-scale: .9; +} + +.data-\[state\=open\]\:zoom-in-95[data-state=open] { + --tw-enter-scale: .95; +} + +.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end] { + --tw-enter-translate-x: 13rem; +} + +.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start] { + --tw-enter-translate-x: -13rem; +} + +.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end] { + --tw-exit-translate-x: 13rem; +} + +.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start] { + --tw-exit-translate-x: -13rem; +} + +.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom] { + --tw-enter-translate-y: -0.5rem; +} + +.data-\[side\=left\]\:slide-in-from-right-2[data-side=left] { + --tw-enter-translate-x: 0.5rem; +} + +.data-\[side\=right\]\:slide-in-from-left-2[data-side=right] { + --tw-enter-translate-x: -0.5rem; +} + +.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top] { + --tw-enter-translate-y: 0.5rem; +} + +.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed] { + --tw-exit-translate-y: 100%; +} + +.data-\[state\=closed\]\:slide-out-to-left[data-state=closed] { + --tw-exit-translate-x: -100%; +} + +.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed] { + --tw-exit-translate-x: -50%; +} + +.data-\[state\=closed\]\:slide-out-to-right[data-state=closed] { + --tw-exit-translate-x: 100%; +} + +.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed] { + --tw-exit-translate-x: 100%; +} + +.data-\[state\=closed\]\:slide-out-to-top[data-state=closed] { + --tw-exit-translate-y: -100%; +} + +.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed] { + --tw-exit-translate-y: -48%; +} + +.data-\[state\=open\]\:slide-in-from-bottom[data-state=open] { + --tw-enter-translate-y: 100%; +} + +.data-\[state\=open\]\:slide-in-from-left[data-state=open] { + --tw-enter-translate-x: -100%; +} + +.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open] { + --tw-enter-translate-x: -50%; +} + +.data-\[state\=open\]\:slide-in-from-right[data-state=open] { + --tw-enter-translate-x: 100%; +} + +.data-\[state\=open\]\:slide-in-from-top[data-state=open] { + --tw-enter-translate-y: -100%; +} + +.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open] { + --tw-enter-translate-y: -48%; +} + +.data-\[state\=open\]\:slide-in-from-top-full[data-state=open] { + --tw-enter-translate-y: -100%; +} + +.data-\[state\=closed\]\:duration-300[data-state=closed] { + animation-duration: 300ms; +} + +.data-\[state\=open\]\:duration-500[data-state=open] { + animation-duration: 500ms; +} + +.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]::after { + content: var(--tw-content); + left: 0px; +} + +.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]::after { + content: var(--tw-content); + height: 0.25rem; +} + +.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]::after { + content: var(--tw-content); + width: 100%; +} + +.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]::after { + content: var(--tw-content); + --tw-translate-y: -50%; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]::after { + content: var(--tw-content); + --tw-translate-x: 0px; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.data-\[state\=open\]\:hover\:bg-accent:hover[data-state=open] { + background-color: hsl(var(--accent)); +} + +.data-\[state\=open\]\:hover\:bg-sidebar-accent:hover[data-state=open] { + background-color: hsl(var(--sidebar-accent)); +} + +.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground:hover[data-state=open] { + color: hsl(var(--sidebar-accent-foreground)); +} + +.data-\[state\=open\]\:focus\:bg-accent:focus[data-state=open] { + background-color: hsl(var(--accent)); +} + +.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\] { + left: calc(var(--sidebar-width) * -1); +} + +.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\] { + right: calc(var(--sidebar-width) * -1); +} + +.group[data-side=left] .group-data-\[side\=left\]\:-right-4 { + right: -1rem; +} + +.group[data-side=right] .group-data-\[side\=right\]\:left-0 { + left: 0px; +} + +.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:-mt-8 { + margin-top: -2rem; +} + +.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:hidden { + display: none; +} + +.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[--sidebar-width-icon\] { + width: var(--sidebar-width-icon); +} + +.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\] { + width: calc(var(--sidebar-width-icon) + 1rem); +} + +.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\] { + width: calc(var(--sidebar-width-icon) + 1rem +2px); +} + +.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:w-0 { + width: 0px; +} + +.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:translate-x-0 { + --tw-translate-x: 0px; + 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)); +} + +.group[data-side=right] .group-data-\[side\=right\]\:rotate-180 { + --tw-rotate: 180deg; + 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)); +} + +.group[data-state=open] .group-data-\[state\=open\]\:rotate-180 { + --tw-rotate: 180deg; + 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)); +} + +.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:overflow-hidden { + overflow: hidden; +} + +.group[data-variant=floating] .group-data-\[variant\=floating\]\:rounded-lg { + border-radius: var(--radius); +} + +.group[data-variant=floating] .group-data-\[variant\=floating\]\:border { + border-width: 1px; +} + +.group[data-side=left] .group-data-\[side\=left\]\:border-r { + border-right-width: 1px; +} + +.group[data-side=right] .group-data-\[side\=right\]\:border-l { + border-left-width: 1px; +} + +.group[data-variant=floating] .group-data-\[variant\=floating\]\:border-sidebar-border { + border-color: hsl(var(--sidebar-border)); +} + +.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-0 { + padding: 0px !important; +} + +.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-2 { + padding: 0.5rem !important; +} + +.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:opacity-0 { + opacity: 0; +} + +.group[data-variant=floating] .group-data-\[variant\=floating\]\:shadow { + --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:after\:left-full::after { + content: var(--tw-content); + left: 100%; +} + +.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:hover\:bg-sidebar:hover { + background-color: hsl(var(--sidebar-background)); +} + +.peer\/menu-button[data-size=default] ~ .peer-data-\[size\=default\]\/menu-button\:top-1\.5 { + top: 0.375rem; +} + +.peer\/menu-button[data-size=lg] ~ .peer-data-\[size\=lg\]\/menu-button\:top-2\.5 { + top: 0.625rem; +} + +.peer\/menu-button[data-size=sm] ~ .peer-data-\[size\=sm\]\/menu-button\:top-1 { + top: 0.25rem; +} + +.peer\/menu-button[data-active=true] ~ .peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground { + color: hsl(var(--sidebar-accent-foreground)); +} + +@supports ((-webkit-backdrop-filter: var(--tw)) or (backdrop-filter: var(--tw))) { + .supports-\[backdrop-filter\]\:bg-background\/60 { + background-color: hsl(var(--background) / 0.6); + } +} + +:is(.dark .dark\:border-destructive) { + border-color: hsl(var(--destructive)); +} + +:is(.dark .dark\:bg-primary\/10) { + background-color: hsl(var(--primary) / 0.1); +} + +:is(.dark .dark\:text-primary-foreground) { + color: hsl(var(--primary-foreground)); +} + +@media (min-width: 640px) { + .sm\:bottom-0 { + bottom: 0px; + } + + .sm\:right-0 { + right: 0px; + } + + .sm\:top-auto { + top: auto; + } + + .sm\:mt-0 { + margin-top: 0px; + } + + .sm\:flex { + display: flex; + } + + .sm\:max-w-sm { + max-width: 24rem; + } + + .sm\:flex-row { + flex-direction: row; + } + + .sm\:flex-col { + flex-direction: column; + } + + .sm\:justify-end { + justify-content: flex-end; + } + + .sm\:gap-2 { + gap: 0.5rem; + } + + .sm\:gap-2\.5 { + gap: 0.625rem; + } + + .sm\:space-x-2 > :not([hidden]) ~ :not([hidden]) { + --tw-space-x-reverse: 0; + margin-right: calc(0.5rem * var(--tw-space-x-reverse)); + margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse))); + } + + .sm\:space-x-4 > :not([hidden]) ~ :not([hidden]) { + --tw-space-x-reverse: 0; + margin-right: calc(1rem * var(--tw-space-x-reverse)); + margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse))); + } + + .sm\:space-y-0 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse: 0; + margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(0px * var(--tw-space-y-reverse)); + } + + .sm\:rounded-lg { + border-radius: var(--radius); + } + + .sm\:text-left { + text-align: left; + } + + .data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open] { + --tw-enter-translate-y: 100%; + } +} + +@media (min-width: 768px) { + .md\:absolute { + position: absolute; + } + + .md\:block { + display: block; + } + + .md\:flex { + display: flex; + } + + .md\:w-1\/4 { + width: 25%; + } + + .md\:w-\[var\(--radix-navigation-menu-viewport-width\)\] { + width: var(--radix-navigation-menu-viewport-width); + } + + .md\:w-auto { + width: auto; + } + + .md\:max-w-\[420px\] { + max-width: 420px; + } + + .md\:max-w-\[75\%\] { + max-width: 75%; + } + + .md\:grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + + .md\:grid-cols-3 { + grid-template-columns: repeat(3, minmax(0, 1fr)); + } + + .md\:flex-row { + flex-direction: row; + } + + .md\:text-sm { + font-size: 0.875rem; + line-height: 1.25rem; + } + + .md\:opacity-0 { + opacity: 0; + } + + .after\:md\:hidden::after { + content: var(--tw-content); + display: none; + } + + .peer[data-variant=inset] ~ .md\:peer-data-\[variant\=inset\]\:m-2 { + margin: 0.5rem; + } + + .peer[data-state=collapsed][data-variant=inset] ~ .md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2 { + margin-left: 0.5rem; + } + + .peer[data-variant=inset] ~ .md\:peer-data-\[variant\=inset\]\:ml-0 { + margin-left: 0px; + } + + .peer[data-variant=inset] ~ .md\:peer-data-\[variant\=inset\]\:rounded-xl { + border-radius: 0.75rem; + } + + .peer[data-variant=inset] ~ .md\:peer-data-\[variant\=inset\]\:shadow { + --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); + } +} + +@media (min-width: 1024px) { + .lg\:grid-cols-3 { + grid-template-columns: repeat(3, minmax(0, 1fr)); + } + + .lg\:grid-cols-4 { + grid-template-columns: repeat(4, minmax(0, 1fr)); + } +} + +.\[\&\+div\]\:text-xs+div { + font-size: 0.75rem; + line-height: 1rem; +} + +.\[\&\:has\(\>\.day-range-end\)\]\:rounded-r-md:has(>.day-range-end) { + border-top-right-radius: calc(var(--radius) - 2px); + border-bottom-right-radius: calc(var(--radius) - 2px); +} + +.\[\&\:has\(\>\.day-range-start\)\]\:rounded-l-md:has(>.day-range-start) { + border-top-left-radius: calc(var(--radius) - 2px); + border-bottom-left-radius: calc(var(--radius) - 2px); +} + +.\[\&\:has\(\[aria-selected\]\)\]\:rounded-md:has([aria-selected]) { + border-radius: calc(var(--radius) - 2px); +} + +.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]) { + background-color: hsl(var(--accent)); +} + +.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child { + border-top-left-radius: calc(var(--radius) - 2px); + border-bottom-left-radius: calc(var(--radius) - 2px); +} + +.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child { + border-top-right-radius: calc(var(--radius) - 2px); + border-bottom-right-radius: calc(var(--radius) - 2px); +} + +.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside) { + background-color: hsl(var(--accent) / 0.5); +} + +.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end) { + border-top-right-radius: calc(var(--radius) - 2px); + border-bottom-right-radius: calc(var(--radius) - 2px); +} + +.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]) { + padding-right: 0px; +} + +.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox] { + --tw-translate-y: 2px; + 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)); +} + +.\[\&\>button\]\:hidden>button { + display: none; +} + +.\[\&\>span\:last-child\]\:truncate>span:last-child { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.\[\&\>span\]\:line-clamp-1>span { + overflow: hidden; + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 1; +} + +.\[\&\>span\]\:flex>span { + display: flex; +} + +.\[\&\>span\]\:w-auto>span { + width: auto; +} + +.\[\&\>span\]\:w-full>span { + width: 100%; +} + +.\[\&\>span\]\:items-center>span { + align-items: center; +} + +.\[\&\>span\]\:gap-1>span { + gap: 0.25rem; +} + +.\[\&\>span\]\:truncate>span { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div { + --tw-translate-y: -3px; + 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)); +} + +.\[\&\>svg\]\:absolute>svg { + position: absolute; +} + +.\[\&\>svg\]\:left-4>svg { + left: 1rem; +} + +.\[\&\>svg\]\:top-4>svg { + top: 1rem; +} + +.\[\&\>svg\]\:hidden>svg { + display: none; +} + +.\[\&\>svg\]\:h-2\.5>svg { + height: 0.625rem; +} + +.\[\&\>svg\]\:h-3>svg { + height: 0.75rem; +} + +.\[\&\>svg\]\:h-3\.5>svg { + height: 0.875rem; +} + +.\[\&\>svg\]\:w-2\.5>svg { + width: 0.625rem; +} + +.\[\&\>svg\]\:w-3>svg { + width: 0.75rem; +} + +.\[\&\>svg\]\:w-3\.5>svg { + width: 0.875rem; +} + +.\[\&\>svg\]\:shrink-0>svg { + flex-shrink: 0; +} + +.\[\&\>svg\]\:text-destructive>svg { + color: hsl(var(--destructive)); +} + +.\[\&\>svg\]\:text-foreground>svg { + color: hsl(var(--foreground)); +} + +.\[\&\>svg\]\:text-muted-foreground>svg { + color: hsl(var(--muted-foreground)); +} + +.\[\&\>svg\]\:text-sidebar-accent-foreground>svg { + color: hsl(var(--sidebar-accent-foreground)); +} + +.\[\&\>svg\~\*\]\:pl-7>svg~* { + padding-left: 1.75rem; +} + +.\[\&\>tr\]\:last\:border-b-0:last-child>tr { + border-bottom-width: 0px; +} + +.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div { + --tw-rotate: 90deg; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg { + --tw-rotate: 180deg; + 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)); +} + +.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text { + fill: hsl(var(--muted-foreground)); +} + +.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke='#ccc'] { + stroke: hsl(var(--border) / 0.5); +} + +.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor { + stroke: hsl(var(--border)); +} + +.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke='#fff'] { + stroke: transparent; +} + +.\[\&_\.recharts-layer\]\:outline-none .recharts-layer { + outline: 2px solid transparent; + outline-offset: 2px; +} + +.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke='#ccc'] { + stroke: hsl(var(--border)); +} + +.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector { + fill: hsl(var(--muted)); +} + +.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor { + fill: hsl(var(--muted)); +} + +.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke='#ccc'] { + stroke: hsl(var(--border)); +} + +.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke='#fff'] { + stroke: transparent; +} + +.\[\&_\.recharts-sector\]\:outline-none .recharts-sector { + outline: 2px solid transparent; + outline-offset: 2px; +} + +.\[\&_\.recharts-surface\]\:outline-none .recharts-surface { + outline: 2px solid transparent; + outline-offset: 2px; +} + +.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading] { + padding-left: 0.5rem; + padding-right: 0.5rem; +} + +.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading] { + padding-top: 0.375rem; + padding-bottom: 0.375rem; +} + +.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading] { + font-size: 0.75rem; + line-height: 1rem; +} + +.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading] { + font-weight: 500; +} + +.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading] { + color: hsl(var(--muted-foreground)); +} + +.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden]) ~[cmdk-group] { + padding-top: 0px; +} + +.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group] { + padding-left: 0.5rem; + padding-right: 0.5rem; +} + +.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg { + height: 1.25rem; +} + +.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg { + width: 1.25rem; +} + +.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input] { + height: 3rem; +} + +.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item] { + padding-left: 0.5rem; + padding-right: 0.5rem; +} + +.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item] { + padding-top: 0.75rem; + padding-bottom: 0.75rem; +} + +.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg { + height: 1.25rem; +} + +.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg { + width: 1.25rem; +} + +.\[\&_p\]\:leading-relaxed p { + line-height: 1.625; +} + +.\[\&_svg\]\:pointer-events-none svg { + pointer-events: none; +} + +.\[\&_svg\]\:h-4 svg { + height: 1rem; +} + +.\[\&_svg\]\:w-4 svg { + width: 1rem; +} + +.\[\&_svg\]\:shrink-0 svg { + flex-shrink: 0; +} + +.\[\&_svg\]\:text-foreground svg { + color: hsl(var(--foreground)); +} + +.\[\&_tr\:last-child\]\:border-0 tr:last-child { + border-width: 0px; +} + +.\[\&_tr\]\:border-b tr { + border-bottom-width: 1px; +} + +[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2 { + right: -0.5rem; +} + +[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize { + cursor: e-resize; +} + +[data-side=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize { + cursor: w-resize; +} + +[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2 { + left: -0.5rem; +} + +[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize { + cursor: w-resize; +} + +[data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize { + cursor: e-resize; +} + diff --git a/app/globals.css b/src/styles/globals.css similarity index 100% rename from app/globals.css rename to src/styles/globals.css