@acronis-platform/shadcn-uikit 0.14.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +117 -15
- package/dist/base.css +2 -0
- package/dist/components/ui/chart.js +2 -2
- package/dist/components/ui/chart.js.map +1 -1
- package/dist/components.css +1 -0
- package/dist/node_modules/.pnpm/es-toolkit@1.43.0/node_modules/es-toolkit/dist/compat/object/cloneDeep.js +1 -1
- package/dist/node_modules/.pnpm/es-toolkit@1.43.0/node_modules/es-toolkit/dist/object/cloneDeep.js +1 -1
- package/dist/shadcn-uikit-full.css +2 -0
- package/dist/shadcn-uikit.css +1 -1
- package/dist/styles-base.d.ts +1 -0
- package/dist/styles-components.d.ts +1 -0
- package/dist/styles-tokens.d.ts +1 -0
- package/dist/styles-utilities.d.ts +1 -0
- package/dist/tokens.css +1 -0
- package/dist/utilities.css +1 -0
- package/package.json +16 -4
- package/tailwind.preset.js +155 -0
package/README.md
CHANGED
|
@@ -30,19 +30,6 @@ function App() {
|
|
|
30
30
|
}
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
### Vue
|
|
34
|
-
|
|
35
|
-
```vue
|
|
36
|
-
<script setup>
|
|
37
|
-
import { AvButton } from '@acronis-platform/shadcn-uikit/vue';
|
|
38
|
-
import '@acronis-platform/shadcn-uikit/styles';
|
|
39
|
-
</script>
|
|
40
|
-
|
|
41
|
-
<template>
|
|
42
|
-
<AvButton variant="primary">Click me</AvButton>
|
|
43
|
-
</template>
|
|
44
|
-
```
|
|
45
|
-
|
|
46
33
|
## Components
|
|
47
34
|
|
|
48
35
|
### React Components
|
|
@@ -93,14 +80,53 @@ import '@acronis-platform/shadcn-uikit/styles';
|
|
|
93
80
|
|
|
94
81
|
- **AvButton** - Interactive buttons (more components coming soon)
|
|
95
82
|
|
|
96
|
-
##
|
|
83
|
+
## CSS Import Options
|
|
97
84
|
|
|
98
|
-
|
|
85
|
+
### Full CSS Bundle (Recommended for Quick Start)
|
|
86
|
+
|
|
87
|
+
```tsx
|
|
88
|
+
import '@acronis-platform/shadcn-uikit/styles/full';
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
- Size: ~200-300KB (uncompressed)
|
|
92
|
+
- Includes all Tailwind utilities (not purged)
|
|
93
|
+
- Best for: Rapid prototyping, small projects
|
|
94
|
+
|
|
95
|
+
### Optimized Bundle (Recommended for Production)
|
|
99
96
|
|
|
100
97
|
```tsx
|
|
101
98
|
import '@acronis-platform/shadcn-uikit/styles';
|
|
102
99
|
```
|
|
103
100
|
|
|
101
|
+
- Size: ~96KB (current bundle)
|
|
102
|
+
- Includes only CSS used in imported components
|
|
103
|
+
- Best for: Production builds
|
|
104
|
+
|
|
105
|
+
### Modular Imports (Advanced)
|
|
106
|
+
|
|
107
|
+
```tsx
|
|
108
|
+
import '@acronis-platform/shadcn-uikit/styles/base';
|
|
109
|
+
import '@acronis-platform/shadcn-uikit/styles/components';
|
|
110
|
+
import '@acronis-platform/shadcn-uikit/styles/utilities';
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### Tokens Only
|
|
114
|
+
|
|
115
|
+
```tsx
|
|
116
|
+
import '@acronis-platform/shadcn-uikit/styles/tokens';
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
- Just CSS variables
|
|
120
|
+
- Use with Tailwind preset for custom builds
|
|
121
|
+
|
|
122
|
+
### Theme Styles
|
|
123
|
+
|
|
124
|
+
```tsx
|
|
125
|
+
import '@acronis-platform/shadcn-uikit/styles/themes/acronis-default';
|
|
126
|
+
import '@acronis-platform/shadcn-uikit/styles/themes/acronis-ocean';
|
|
127
|
+
import '@acronis-platform/shadcn-uikit/styles/themes/cyber-chat';
|
|
128
|
+
```
|
|
129
|
+
|
|
104
130
|
### Customization
|
|
105
131
|
|
|
106
132
|
You can customize the theme by overriding CSS variables:
|
|
@@ -114,6 +140,57 @@ You can customize the theme by overriding CSS variables:
|
|
|
114
140
|
}
|
|
115
141
|
```
|
|
116
142
|
|
|
143
|
+
## Using with Tailwind CSS
|
|
144
|
+
|
|
145
|
+
If you're building your own Tailwind setup:
|
|
146
|
+
|
|
147
|
+
```javascript
|
|
148
|
+
// tailwind.config.js
|
|
149
|
+
import preset from '@acronis-platform/shadcn-uikit/tailwind-preset';
|
|
150
|
+
|
|
151
|
+
export default {
|
|
152
|
+
presets: [preset],
|
|
153
|
+
content: [
|
|
154
|
+
'./src/**/*.{js,jsx,ts,tsx}',
|
|
155
|
+
'./node_modules/@acronis-platform/shadcn-uikit/dist/**/*.js',
|
|
156
|
+
],
|
|
157
|
+
};
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
Then import only the tokens:
|
|
161
|
+
|
|
162
|
+
```tsx
|
|
163
|
+
import '@acronis-platform/shadcn-uikit/styles/tokens';
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
This approach:
|
|
167
|
+
|
|
168
|
+
- Gives you all design tokens as CSS variables
|
|
169
|
+
- Tailwind generates utilities based on preset configuration
|
|
170
|
+
- Smallest bundle size (only utilities you actually use)
|
|
171
|
+
- Full control over Tailwind configuration
|
|
172
|
+
|
|
173
|
+
### Customizing the Preset
|
|
174
|
+
|
|
175
|
+
You can extend or override the preset configuration:
|
|
176
|
+
|
|
177
|
+
```javascript
|
|
178
|
+
// tailwind.config.js
|
|
179
|
+
import preset from '@acronis-platform/shadcn-uikit/tailwind-preset';
|
|
180
|
+
|
|
181
|
+
export default {
|
|
182
|
+
presets: [preset],
|
|
183
|
+
theme: {
|
|
184
|
+
extend: {
|
|
185
|
+
colors: {
|
|
186
|
+
// Add your custom colors
|
|
187
|
+
brand: '#ff0000',
|
|
188
|
+
},
|
|
189
|
+
},
|
|
190
|
+
},
|
|
191
|
+
};
|
|
192
|
+
```
|
|
193
|
+
|
|
117
194
|
## TypeScript
|
|
118
195
|
|
|
119
196
|
The library is written in TypeScript and includes type definitions out of the box.
|
|
@@ -144,6 +221,31 @@ All components follow the Acronis Design System specifications with design token
|
|
|
144
221
|
- Safari (latest)
|
|
145
222
|
- Edge (latest)
|
|
146
223
|
|
|
224
|
+
## Migration Guide
|
|
225
|
+
|
|
226
|
+
### v0.14.x → v0.15.0
|
|
227
|
+
|
|
228
|
+
**No Breaking Changes** - All existing imports continue to work.
|
|
229
|
+
|
|
230
|
+
**Before:**
|
|
231
|
+
|
|
232
|
+
```tsx
|
|
233
|
+
import '@acronis-platform/shadcn-uikit/styles';
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
**After (same behavior):**
|
|
237
|
+
|
|
238
|
+
```tsx
|
|
239
|
+
import '@acronis-platform/shadcn-uikit/styles';
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
**New Options Available:**
|
|
243
|
+
|
|
244
|
+
- `styles/full` - Complete unpurged CSS
|
|
245
|
+
- `styles/tokens` - CSS variables only
|
|
246
|
+
- `styles/base`, `styles/components`, `styles/utilities` - Modular imports
|
|
247
|
+
- `tailwind-preset` - Tailwind configuration preset
|
|
248
|
+
|
|
147
249
|
## License
|
|
148
250
|
|
|
149
251
|
MIT © Acronis
|
package/dist/base.css
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
@charset "UTF-8";:root{--color-brand-primary: 213 65% 46%;--color-brand-secondary: 211 100% 45%;--color-brand-lightest: 213 65% 97%;--color-brand-light: 213 65% 96%;--color-text-inverse: 0 0% 100%;--color-text-primary: 215 26% 20%;--color-text-secondary: 215 26% 46%;--color-text-tertiary: 215 14% 39%;--color-surface-primary: 0 0% 100%;--color-surface-secondary: 210 100% 15%;--color-surface-overlay: 215 26% 20%;--color-surface-elevated: 0 0% 100%;--color-status-success: 73 68% 45%;--color-status-success-light: 84 67% 93%;--color-status-success-dark: 84 98% 21%;--color-status-info: 211 82% 60%;--color-status-info-light: 214 78% 95%;--color-status-info-dark: 214 68% 38%;--color-status-warning: 45 100% 52%;--color-status-warning-light: 45 100% 95%;--color-status-warning-dark: 30 50% 37%;--color-status-danger: 0 77% 57%;--color-status-danger-light: 0 100% 96%;--color-status-danger-dark: 0 72% 45%;--color-status-critical: 25 100% 52%;--color-status-critical-light: 27 95% 92%;--color-status-critical-dark: 11 73% 41%;--color-neutral: 220 11% 62%;--color-neutral-light: 220 11% 92%;--color-neutral-dark: 215 14% 39%;--color-ai: 263deg 77% 57%;--color-ai-light: 273deg 85% 97%;--color-ai-dark: 263deg 77% 57%;--opacity-10: .1;--opacity-20: .2;--opacity-30: .3;--opacity-40: .4;--opacity-50: .5;--opacity-70: .7;--opacity-90: .9}:root{--color-brand-primary: 213 65% 46%;--color-brand-secondary: 211 100% 45%;--color-brand-lightest: 213 65% 97%;--color-brand-light: 213 65% 96%;--color-text-inverse: 0 0% 100%;--color-text-primary: 215 26% 20%;--color-text-secondary: 215 26% 46%;--color-text-tertiary: 215 14% 39%;--color-surface-primary: 0 0% 100%;--color-surface-secondary: 210 100% 15%;--color-surface-overlay: 215 26% 20%;--color-surface-elevated: 0 0% 100%;--color-status-success: 73 68% 45%;--color-status-success-light: 84 67% 93%;--color-status-success-dark: 84 98% 21%;--color-status-info: 211 82% 60%;--color-status-info-light: 214 78% 95%;--color-status-info-dark: 214 68% 38%;--color-status-warning: 45 100% 52%;--color-status-warning-light: 45 100% 95%;--color-status-warning-dark: 30 50% 37%;--color-status-danger: 0 77% 57%;--color-status-danger-light: 0 100% 96%;--color-status-danger-dark: 0 72% 45%;--color-status-critical: 25 100% 52%;--color-status-critical-light: 27 95% 92%;--color-status-critical-dark: 11 73% 41%;--color-neutral: 220 11% 62%;--color-neutral-light: 220 11% 92%;--color-neutral-dark: 215 14% 39%;--color-ai: 263deg 77% 57%;--color-ai-light: 273deg 85% 97%;--color-ai-dark: 263deg 77% 57%;--opacity-10: .1;--opacity-20: .2;--opacity-30: .3;--opacity-40: .4;--opacity-50: .5;--opacity-70: .7;--opacity-90: .9;--av-background: var(--color-surface-primary);--av-elevated: var(--color-surface-elevated);--av-card: var(--av-elevated);--av-muted: var(--color-brand-lightest);--av-primary: var(--color-brand-primary);--av-accent: var(--color-brand-primary);--av-secondary: var(--color-surface-elevated);--av-destructive: var(--color-status-danger);--av-destructive-foreground: var(--color-text-inverse);--av-danger: var(--color-status-danger);--av-success: var(--color-status-success);--av-warning: var(--color-status-warning);--av-info: var(--color-status-info);--av-critical: var(--color-status-critical);--av-neutral: var(--color-status-neutral);--av-popover: var(--av-elevated);--av-tooltip: var(--color-surface-overlay);--av-foreground: var(--color-text-primary);--av-text-primary: var(--color-text-primary);--av-card-foreground: var(--color-text-primary);--av-popover-foreground: var(--color-text-primary);--av-primary-foreground: var(--color-text-inverse);--av-muted-foreground: var(--color-text-secondary);--av-secondary-foreground: var(--color-text-secondary);--av-tertiary-foreground: var(--color-text-tertiary);--av-accent-foreground: var(--color-text-inverse);--av-text-inverse: var(--color-surface-primary);--av-brand-foreground: var(--color-brand-primary);--av-border: 213 65% 85%;--av-input: 213 65% 85%;--av-border-strong: var(--color-brand-primary);--av-border-subtle: 213 65% 92%;--av-interactive-default: var(--color-brand-primary);--av-interactive-hover: var(--color-brand-light);--av-interactive-active: var(--color-brand-primary);--av-interactive-disabled: var(--color-text-tertiary);--av-ring: var(--color-brand-primary);--av-focus: var(--color-brand-primary);--av-status-success: var(--color-status-success);--av-status-success-bg: var(--color-status-success-light);--av-status-success-text: var(--color-status-success-dark);--av-status-info: var(--color-status-info);--av-status-info-bg: var(--color-status-info-light);--av-status-info-text: var(--color-status-info-dark);--av-status-warning: var(--color-status-warning);--av-status-warning-bg: var(--color-status-warning-light);--av-status-warning-text: var(--color-status-warning-dark);--av-status-danger: var(--color-status-danger);--av-status-danger-bg: var(--color-status-danger-light);--av-status-danger-text: var(--color-status-danger-dark);--av-status-critical: var(--color-status-critical);--av-status-critical-bg: var(--color-status-critical-light);--av-status-critical-text: var(--color-status-critical-dark);--av-status-neutral: var(--color-neutral);--av-status-neutral-bg: var(--color-neutral-light);--av-status-neutral-text: var(--color-neutral-dark);--av-status-ai: var(--color-ai);--av-status-ai-bg: var(--color-ai-light);--av-status-ai-text: var(--color-ai-dark);--av-nav-bg: var(--color-surface-secondary);--av-nav-text: var(--color-surface-primary);--av-nav-active: var(--color-brand-secondary);--av-radius: .25rem;--av-chart-1: oklch(64.6% .222 41.116deg);--av-chart-2: oklch(60% .118 184.704deg);--av-chart-3: oklch(39.8% .07 227.392deg);--av-chart-4: oklch(82.8% .189 84.429deg);--av-chart-5: oklch(76.9% .188 70.08deg);--av-chart-blue: oklch(52.7% .16 257.94deg);--av-chart-brown: oklch(60.6% .105 62.98deg);--av-chart-critical: oklch(73.4% .184 52.786deg);--av-chart-danger: oklch(61.7% .21 26.1deg);--av-chart-green: oklch(65.4% .11 189deg);--av-chart-grey: oklch(68.4% .01 257.94deg);--av-chart-info: var(--av-brand-secondary);--av-chart-light-blue: oklch(80.9% .09 240deg);--av-chart-neutral: oklch(90.6% 0 257.94deg);--av-chart-purple: oklch(71.4% .19 314.82deg);--av-chart-red: oklch(66.9% .184 23.483deg);--av-chart-success: oklch(75.9% .177 123.498deg);--av-chart-transparent: oklch(80.9% .09 240deg / 50%);--av-chart-turquoise: oklch(70.5% .13 230deg);--av-chart-violet: oklch(51.5% .09 299deg);--av-chart-warning: oklch(84.4% .17 84.9deg);--av-chart-yellow: oklch(84% .14 95deg)}.dark{--av-background: var(--color-text-primary);--av-elevated: 215 26% 23%;--av-muted: 215 26% 30%;--av-tooltip: 215 26% 25%;--av-foreground: var(--color-surface-primary);--av-text-primary: var(--color-surface-primary);--av-secondary-foreground: 0 0% 70%;--av-tertiary-foreground: 0 0% 60%;--av-text-inverse: var(--color-text-primary);--av-brand-foreground: var(--color-brand-primary);--av-border: 215 26% 35%;--av-border-strong: 215 26% 40%;--av-border-subtle: 215 26% 25%;--av-interactive-default: var(--color-brand-primary);--av-interactive-hover: 213 65% 56%;--av-interactive-active: var(--color-brand-primary);--av-interactive-disabled: 215 26% 40%;--av-focus: var(--color-brand-primary);--av-status-success-bg: 73 68% 20%;--av-status-success-text: var(--color-status-success-light);--av-status-info-bg: 211 82% 20%;--av-status-info-text: var(--color-status-info-light);--av-status-warning-bg: 45 100% 20%;--av-status-warning-text: var(--color-status-warning-light);--av-status-danger-bg: 0 77% 20%;--av-status-danger-text: var(--color-status-danger-light);--av-status-critical-bg: 25 100% 20%;--av-status-critical-text: var(--color-status-critical-light);--av-status-neutral-bg: 220 11% 25%;--av-status-neutral-text: var(--color-neutral-light);--av-chart-1: oklch(48.8% .243 264.376deg);--av-chart-2: oklch(69.6% .17 162.48deg);--av-chart-3: oklch(76.9% .188 70.08deg);--av-chart-4: oklch(62.7% .265 303.9deg);--av-chart-5: oklch(64.5% .246 16.439deg)}.theme-acronis-default{--color-brand-primary: 213 65% 46%;--color-brand-secondary: 211 100% 45%;--color-brand-lightest: 213 65% 97%;--color-brand-light: 213 65% 96%;--color-text-inverse: 0 0% 100%;--color-text-primary: 215 26% 20%;--color-text-secondary: 215 26% 46%;--color-text-tertiary: 215 14% 39%;--color-surface-primary: 0 0% 100%;--color-surface-secondary: 210 100% 15%;--color-surface-overlay: 215 26% 20%;--color-surface-elevated: 0 0% 100%;--color-status-success: 73 68% 45%;--color-status-success-light: 84 67% 93%;--color-status-success-dark: 84 98% 21%;--color-status-info: 211 82% 60%;--color-status-info-light: 214 78% 95%;--color-status-info-dark: 214 68% 38%;--color-status-warning: 45 100% 52%;--color-status-warning-light: 45 100% 95%;--color-status-warning-dark: 30 50% 37%;--color-status-danger: 0 77% 57%;--color-status-danger-light: 0 100% 96%;--color-status-danger-dark: 0 72% 45%;--color-status-critical: 25 100% 52%;--color-status-critical-light: 27 95% 92%;--color-status-critical-dark: 11 73% 41%;--color-neutral: 220 11% 62%;--color-neutral-light: 220 11% 92%;--color-neutral-dark: 215 14% 39%;--color-ai: 263deg 77% 57%;--color-ai-light: 273deg 85% 97%;--color-ai-dark: 263deg 77% 57%;--opacity-10: .1;--opacity-20: .2;--opacity-30: .3;--opacity-40: .4;--opacity-50: .5;--opacity-70: .7;--opacity-90: .9;--av-background: var(--color-surface-primary);--av-elevated: var(--color-surface-elevated);--av-card: var(--av-elevated);--av-muted: var(--color-brand-lightest);--av-primary: var(--color-brand-primary);--av-accent: var(--color-brand-primary);--av-secondary: var(--color-surface-elevated);--av-destructive: var(--color-status-danger);--av-destructive-foreground: var(--color-text-inverse);--av-danger: var(--color-status-danger);--av-success: var(--color-status-success);--av-warning: var(--color-status-warning);--av-info: var(--color-status-info);--av-critical: var(--color-status-critical);--av-neutral: var(--color-status-neutral);--av-popover: var(--av-elevated);--av-tooltip: var(--color-surface-overlay);--av-foreground: var(--color-text-primary);--av-text-primary: var(--color-text-primary);--av-card-foreground: var(--color-text-primary);--av-popover-foreground: var(--color-text-primary);--av-primary-foreground: var(--color-text-inverse);--av-muted-foreground: var(--color-text-secondary);--av-secondary-foreground: var(--color-text-secondary);--av-tertiary-foreground: var(--color-text-tertiary);--av-accent-foreground: var(--color-text-inverse);--av-text-inverse: var(--color-surface-primary);--av-brand-foreground: var(--color-brand-primary);--av-border: 213 65% 85%;--av-input: 213 65% 85%;--av-border-strong: var(--color-brand-primary);--av-border-subtle: 213 65% 92%;--av-interactive-default: var(--color-brand-primary);--av-interactive-hover: var(--color-brand-light);--av-interactive-active: var(--color-brand-primary);--av-interactive-disabled: var(--color-text-tertiary);--av-ring: var(--color-brand-primary);--av-focus: var(--color-brand-primary);--av-status-success: var(--color-status-success);--av-status-success-bg: var(--color-status-success-light);--av-status-success-text: var(--color-status-success-dark);--av-status-info: var(--color-status-info);--av-status-info-bg: var(--color-status-info-light);--av-status-info-text: var(--color-status-info-dark);--av-status-warning: var(--color-status-warning);--av-status-warning-bg: var(--color-status-warning-light);--av-status-warning-text: var(--color-status-warning-dark);--av-status-danger: var(--color-status-danger);--av-status-danger-bg: var(--color-status-danger-light);--av-status-danger-text: var(--color-status-danger-dark);--av-status-critical: var(--color-status-critical);--av-status-critical-bg: var(--color-status-critical-light);--av-status-critical-text: var(--color-status-critical-dark);--av-status-neutral: var(--color-neutral);--av-status-neutral-bg: var(--color-neutral-light);--av-status-neutral-text: var(--color-neutral-dark);--av-status-ai: var(--color-ai);--av-status-ai-bg: var(--color-ai-light);--av-status-ai-text: var(--color-ai-dark);--av-nav-bg: var(--color-surface-secondary);--av-nav-text: var(--color-surface-primary);--av-nav-active: var(--color-brand-secondary);--av-radius: .25rem;--av-chart-1: oklch(64.6% .222 41.116deg);--av-chart-2: oklch(60% .118 184.704deg);--av-chart-3: oklch(39.8% .07 227.392deg);--av-chart-4: oklch(82.8% .189 84.429deg);--av-chart-5: oklch(76.9% .188 70.08deg);--av-chart-blue: oklch(52.7% .16 257.94deg);--av-chart-brown: oklch(60.6% .105 62.98deg);--av-chart-critical: oklch(73.4% .184 52.786deg);--av-chart-danger: oklch(61.7% .21 26.1deg);--av-chart-green: oklch(65.4% .11 189deg);--av-chart-grey: oklch(68.4% .01 257.94deg);--av-chart-info: var(--av-brand-secondary);--av-chart-light-blue: oklch(80.9% .09 240deg);--av-chart-neutral: oklch(90.6% 0 257.94deg);--av-chart-purple: oklch(71.4% .19 314.82deg);--av-chart-red: oklch(66.9% .184 23.483deg);--av-chart-success: oklch(75.9% .177 123.498deg);--av-chart-transparent: oklch(80.9% .09 240deg / 50%);--av-chart-turquoise: oklch(70.5% .13 230deg);--av-chart-violet: oklch(51.5% .09 299deg);--av-chart-warning: oklch(84.4% .17 84.9deg);--av-chart-yellow: oklch(84% .14 95deg)}.theme-acronis-default.dark{--av-background: var(--color-text-primary);--av-elevated: 215 26% 23%;--av-muted: 215 26% 30%;--av-tooltip: 215 26% 25%;--av-foreground: var(--color-surface-primary);--av-text-primary: var(--color-surface-primary);--av-secondary-foreground: 0 0% 70%;--av-tertiary-foreground: 0 0% 60%;--av-text-inverse: var(--color-text-primary);--av-brand-foreground: var(--color-brand-primary);--av-border: 215 26% 35%;--av-border-strong: 215 26% 40%;--av-border-subtle: 215 26% 25%;--av-interactive-default: var(--color-brand-primary);--av-interactive-hover: 213 65% 56%;--av-interactive-active: var(--color-brand-primary);--av-interactive-disabled: 215 26% 40%;--av-focus: var(--color-brand-primary);--av-status-success-bg: 73 68% 20%;--av-status-success-text: var(--color-status-success-light);--av-status-info-bg: 211 82% 20%;--av-status-info-text: var(--color-status-info-light);--av-status-warning-bg: 45 100% 20%;--av-status-warning-text: var(--color-status-warning-light);--av-status-danger-bg: 0 77% 20%;--av-status-danger-text: var(--color-status-danger-light);--av-status-critical-bg: 25 100% 20%;--av-status-critical-text: var(--color-status-critical-light);--av-status-neutral-bg: 220 11% 25%;--av-status-neutral-text: var(--color-neutral-light);--av-chart-1: oklch(48.8% .243 264.376deg);--av-chart-2: oklch(69.6% .17 162.48deg);--av-chart-3: oklch(76.9% .188 70.08deg);--av-chart-4: oklch(62.7% .265 303.9deg);--av-chart-5: oklch(64.5% .246 16.439deg)}:root{--av-font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--av-font-size-base: 16px;--av-line-height-base: 1.5;--av-letter-spacing-base: 0}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
|
|
2
|
+
*/*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--av-font-sans),system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*{border-color:hsl(var(--av-border))}body{background-color:hsl(var(--av-background));font-family:var(--av-font-sans),system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:var(--av-font-size-base, 16px);line-height:var(--av-line-height-base, 1.5);color:hsl(var(--av-foreground));letter-spacing:var(--av-letter-spacing-base, 0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
|
|
@@ -123,8 +123,8 @@ function B({
|
|
|
123
123
|
"shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)",
|
|
124
124
|
{
|
|
125
125
|
"h-2.5 w-2.5": n === "dot",
|
|
126
|
-
"w-1": n === "line",
|
|
127
|
-
"w-0 border-[1.5px] border-dashed bg-transparent": n === "dashed",
|
|
126
|
+
"h-4 w-1": n === "line",
|
|
127
|
+
"h-4 w-0 border-[1.5px] border-dashed bg-transparent": n === "dashed",
|
|
128
128
|
"my-0.5": x && n === "dashed"
|
|
129
129
|
}
|
|
130
130
|
),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart.js","sources":["../../../src/components/ui/chart.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport * as RechartsPrimitive from \"recharts\"\nimport type { LegendPayload } from \"recharts/types/component/DefaultLegendContent\"\nimport {\n NameType,\n Payload,\n ValueType,\n} from \"recharts/types/component/DefaultTooltipContent\"\nimport type { Props as LegendProps } from \"recharts/types/component/Legend\"\nimport { TooltipContentProps } from \"recharts/types/component/Tooltip\"\n\nimport { cn } from \"@/lib/utils\"\n\n// Format: { THEME_NAME: CSS_SELECTOR }\nconst THEMES = { light: \"\", dark: \".dark\" } as const\n\nexport type ChartConfig = {\n [k in string]: {\n label?: React.ReactNode\n icon?: React.ComponentType\n} & (\n | { color?: string; theme?: never }\n | { color?: never; theme: Record<keyof typeof THEMES, string> }\n )\n}\n\ntype ChartContextProps = {\n config: ChartConfig\n}\n\nexport type CustomTooltipProps = TooltipContentProps<ValueType, NameType> & {\n className?: string\n hideLabel?: boolean\n hideIndicator?: boolean\n indicator?: \"line\" | \"dot\" | \"dashed\"\n nameKey?: string\n labelKey?: string\n labelFormatter?: (\n label: TooltipContentProps<number, string>[\"label\"],\n payload: TooltipContentProps<number, string>[\"payload\"]\n ) => React.ReactNode\n formatter?: (\n value: number | string,\n name: string,\n item: Payload<number | string, string>,\n index: number,\n payload: ReadonlyArray<Payload<number | string, string>>\n ) => React.ReactNode\n labelClassName?: string\n color?: string\n}\n\nexport type ChartLegendContentProps = {\n className?: string\n hideIcon?: boolean\n verticalAlign?: LegendProps[\"verticalAlign\"]\n payload?: LegendPayload[]\n nameKey?: string\n}\n\nconst ChartContext = React.createContext<ChartContextProps | null>(null)\n\nfunction useChart() {\n const context = React.useContext(ChartContext)\n\n if (!context) {\n throw new Error(\"useChart must be used within a <ChartContainer />\")\n }\n\n return context\n}\n\nfunction ChartContainer({\n id,\n className,\n children,\n config,\n ...props\n }: React.ComponentProps<\"div\"> & {\n config: ChartConfig\n children: React.ComponentProps<\n typeof RechartsPrimitive.ResponsiveContainer\n >[\"children\"]\n}) {\n const uniqueId = React.useId()\n const chartId = `chart-${id || uniqueId.replace(/:/g, \"\")}`\n\n return (\n <ChartContext.Provider value={{ config }}>\n <div\n data-slot=\"chart\"\n data-chart={chartId}\n className={cn(\n \"[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border flex aspect-video justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-hidden\",\n className\n )}\n {...props}\n >\n <ChartStyle id={chartId} config={config} />\n <RechartsPrimitive.ResponsiveContainer>\n {children}\n </RechartsPrimitive.ResponsiveContainer>\n </div>\n </ChartContext.Provider>\n )\n}\n\nconst ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {\n const colorConfig = Object.entries(config).filter(\n ([, config]) => config.theme || config.color\n )\n\n if (!colorConfig.length) {\n return null\n }\n\n return (\n <style\n dangerouslySetInnerHTML={{\n __html: Object.entries(THEMES)\n .map(\n ([theme, prefix]) => `\n ${prefix} [data-chart=${id}] {\n ${colorConfig\n .map(([key, itemConfig]) => {\n const color =\n itemConfig.theme?.[theme as keyof typeof itemConfig.theme] ||\n itemConfig.color\n return color ? ` --color-${key}: ${color};` : null\n })\n .join(\"\\n\")}\n }\n `\n )\n .join(\"\\n\"),\n }}\n />\n )\n}\n\nconst ChartTooltip = RechartsPrimitive.Tooltip\n\nfunction ChartTooltipContent({\n active,\n payload,\n label,\n className,\n indicator = \"dot\",\n hideLabel = false,\n hideIndicator = false,\n labelFormatter,\n formatter,\n labelClassName,\n color,\n nameKey,\n labelKey,\n }: CustomTooltipProps) {\n const { config } = useChart()\n\n const tooltipLabel = React.useMemo(() => {\n if (hideLabel || !payload?.length) {\n return null\n }\n\n const [item] = payload\n const key = `${labelKey || item?.dataKey || item?.name || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n const value = (() => {\n const v =\n !labelKey && typeof label === \"string\"\n ? config[label as keyof typeof config]?.label ?? label\n : itemConfig?.label\n\n return typeof v === \"string\" || typeof v === \"number\" ? v : undefined\n })()\n\n if (labelFormatter) {\n return (\n <div className={cn(\"font-medium\", labelClassName)}>\n {labelFormatter(value, payload)}\n </div>\n )\n }\n\n if (!value) {\n return null\n }\n\n return <div className={cn(\"font-medium\", labelClassName)}>{value}</div>\n }, [\n label,\n labelFormatter,\n payload,\n hideLabel,\n labelClassName,\n config,\n labelKey,\n ])\n\n if (!active || !payload?.length) {\n return null\n }\n\n const nestLabel = payload.length === 1 && indicator !== \"dot\"\n\n return (\n <div\n className={cn(\n \"border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl\",\n className\n )}\n >\n {!nestLabel ? tooltipLabel : null}\n <div className=\"grid gap-1.5\">\n {payload.map((item, index) => {\n const key = `${nameKey || item.name || item.dataKey || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n const indicatorColor = color || item.payload.fill || item.color\n\n return (\n <div\n key={item.dataKey}\n className={cn(\n \"[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5\",\n indicator === \"dot\" && \"items-center\"\n )}\n >\n {formatter && item?.value !== undefined && item.name ? (\n formatter(item.value, item.name, item, index, item.payload)\n ) : (\n <>\n {itemConfig?.icon ? (\n <itemConfig.icon />\n ) : (\n !hideIndicator && (\n <div\n className={cn(\n \"shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)\",\n {\n \"h-2.5 w-2.5\": indicator === \"dot\",\n \"w-1\": indicator === \"line\",\n \"w-0 border-[1.5px] border-dashed bg-transparent\":\n indicator === \"dashed\",\n \"my-0.5\": nestLabel && indicator === \"dashed\",\n }\n )}\n style={\n {\n \"--color-bg\": indicatorColor,\n \"--color-border\": indicatorColor,\n } as React.CSSProperties\n }\n />\n )\n )}\n <div\n className={cn(\n \"flex flex-1 justify-between leading-none\",\n nestLabel ? \"items-end\" : \"items-center\"\n )}\n >\n <div className=\"grid gap-1.5\">\n {nestLabel ? tooltipLabel : null}\n <span className=\"text-muted-foreground\">\n {itemConfig?.label || item.name}\n </span>\n </div>\n {item.value && (\n <span className=\"text-foreground font-mono font-medium tabular-nums\">\n {item.value.toLocaleString()}\n </span>\n )}\n </div>\n </>\n )}\n </div>\n )\n })}\n </div>\n </div>\n )\n}\n\nconst ChartLegend = RechartsPrimitive.Legend\n\nfunction ChartLegendContent({\n className,\n hideIcon = false,\n payload,\n verticalAlign = \"bottom\",\n nameKey,\n }: ChartLegendContentProps) {\n const { config } = useChart()\n\n if (!payload?.length) {\n return null\n }\n\n return (\n <div\n className={cn(\n \"flex items-center justify-center gap-4\",\n verticalAlign === \"top\" ? \"pb-3\" : \"pt-3\",\n className\n )}\n >\n {payload.map((item) => {\n const key = `${nameKey || item.dataKey || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n\n return (\n <div\n key={item.value}\n className={cn(\n \"[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3\"\n )}\n >\n {itemConfig?.icon && !hideIcon ? (\n <itemConfig.icon />\n ) : (\n <div\n className=\"h-2 w-2 shrink-0 rounded-[2px]\"\n style={{\n backgroundColor: item.color,\n }}\n />\n )}\n {itemConfig?.label}\n </div>\n )\n })}\n </div>\n )\n}\n\n// Helper to extract item config from a payload.\nfunction getPayloadConfigFromPayload(\n config: ChartConfig,\n payload: unknown,\n key: string\n) {\n if (typeof payload !== \"object\" || payload === null) {\n return undefined\n }\n\n const payloadPayload =\n \"payload\" in payload &&\n typeof payload.payload === \"object\" &&\n payload.payload !== null\n ? payload.payload\n : undefined\n\n let configLabelKey: string = key\n\n if (\n key in payload &&\n typeof payload[key as keyof typeof payload] === \"string\"\n ) {\n configLabelKey = payload[key as keyof typeof payload] as string\n } else if (\n payloadPayload &&\n key in payloadPayload &&\n typeof payloadPayload[key as keyof typeof payloadPayload] === \"string\"\n ) {\n configLabelKey = payloadPayload[\n key as keyof typeof payloadPayload\n ] as string\n }\n\n return configLabelKey in config\n ? config[configLabelKey]\n : config[key as keyof typeof config]\n}\n\nexport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n ChartLegend,\n ChartLegendContent,\n ChartStyle,\n}\n"],"names":["THEMES","ChartContext","React","useChart","context","ChartContainer","id","className","children","config","props","uniqueId","chartId","jsxs","cn","jsx","ChartStyle","RechartsPrimitive.ResponsiveContainer","colorConfig","theme","prefix","key","itemConfig","color","_a","ChartTooltip","RechartsPrimitive.Tooltip","ChartTooltipContent","active","payload","label","indicator","hideLabel","hideIndicator","labelFormatter","formatter","labelClassName","nameKey","labelKey","tooltipLabel","item","getPayloadConfigFromPayload","value","v","nestLabel","index","indicatorColor","Fragment","ChartLegend","RechartsPrimitive.Legend","ChartLegendContent","hideIcon","verticalAlign","payloadPayload","configLabelKey"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chart.js","sources":["../../../src/components/ui/chart.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport * as RechartsPrimitive from \"recharts\"\nimport type { LegendPayload } from \"recharts/types/component/DefaultLegendContent\"\nimport {\n NameType,\n Payload,\n ValueType,\n} from \"recharts/types/component/DefaultTooltipContent\"\nimport type { Props as LegendProps } from \"recharts/types/component/Legend\"\nimport { TooltipContentProps } from \"recharts/types/component/Tooltip\"\n\nimport { cn } from \"@/lib/utils\"\n\n// Format: { THEME_NAME: CSS_SELECTOR }\nconst THEMES = { light: \"\", dark: \".dark\" } as const\n\nexport type ChartConfig = {\n [k in string]: {\n label?: React.ReactNode\n icon?: React.ComponentType\n} & (\n | { color?: string; theme?: never }\n | { color?: never; theme: Record<keyof typeof THEMES, string> }\n )\n}\n\ntype ChartContextProps = {\n config: ChartConfig\n}\n\nexport type CustomTooltipProps = TooltipContentProps<ValueType, NameType> & {\n className?: string\n hideLabel?: boolean\n hideIndicator?: boolean\n indicator?: \"line\" | \"dot\" | \"dashed\"\n nameKey?: string\n labelKey?: string\n labelFormatter?: (\n label: TooltipContentProps<number, string>[\"label\"],\n payload: TooltipContentProps<number, string>[\"payload\"]\n ) => React.ReactNode\n formatter?: (\n value: number | string,\n name: string,\n item: Payload<number | string, string>,\n index: number,\n payload: ReadonlyArray<Payload<number | string, string>>\n ) => React.ReactNode\n labelClassName?: string\n color?: string\n}\n\nexport type ChartLegendContentProps = {\n className?: string\n hideIcon?: boolean\n verticalAlign?: LegendProps[\"verticalAlign\"]\n payload?: LegendPayload[]\n nameKey?: string\n}\n\nconst ChartContext = React.createContext<ChartContextProps | null>(null)\n\nfunction useChart() {\n const context = React.useContext(ChartContext)\n\n if (!context) {\n throw new Error(\"useChart must be used within a <ChartContainer />\")\n }\n\n return context\n}\n\nfunction ChartContainer({\n id,\n className,\n children,\n config,\n ...props\n }: React.ComponentProps<\"div\"> & {\n config: ChartConfig\n children: React.ComponentProps<\n typeof RechartsPrimitive.ResponsiveContainer\n >[\"children\"]\n}) {\n const uniqueId = React.useId()\n const chartId = `chart-${id || uniqueId.replace(/:/g, \"\")}`\n\n return (\n <ChartContext.Provider value={{ config }}>\n <div\n data-slot=\"chart\"\n data-chart={chartId}\n className={cn(\n \"[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border flex aspect-video justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-hidden\",\n className\n )}\n {...props}\n >\n <ChartStyle id={chartId} config={config} />\n <RechartsPrimitive.ResponsiveContainer>\n {children}\n </RechartsPrimitive.ResponsiveContainer>\n </div>\n </ChartContext.Provider>\n )\n}\n\nconst ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {\n const colorConfig = Object.entries(config).filter(\n ([, config]) => config.theme || config.color\n )\n\n if (!colorConfig.length) {\n return null\n }\n\n return (\n <style\n dangerouslySetInnerHTML={{\n __html: Object.entries(THEMES)\n .map(\n ([theme, prefix]) => `\n ${prefix} [data-chart=${id}] {\n ${colorConfig\n .map(([key, itemConfig]) => {\n const color =\n itemConfig.theme?.[theme as keyof typeof itemConfig.theme] ||\n itemConfig.color\n return color ? ` --color-${key}: ${color};` : null\n })\n .join(\"\\n\")}\n }\n `\n )\n .join(\"\\n\"),\n }}\n />\n )\n}\n\nconst ChartTooltip = RechartsPrimitive.Tooltip\n\nfunction ChartTooltipContent({\n active,\n payload,\n label,\n className,\n indicator = \"dot\",\n hideLabel = false,\n hideIndicator = false,\n labelFormatter,\n formatter,\n labelClassName,\n color,\n nameKey,\n labelKey,\n }: CustomTooltipProps) {\n const { config } = useChart()\n\n const tooltipLabel = React.useMemo(() => {\n if (hideLabel || !payload?.length) {\n return null\n }\n\n const [item] = payload\n const key = `${labelKey || item?.dataKey || item?.name || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n const value = (() => {\n const v =\n !labelKey && typeof label === \"string\"\n ? config[label as keyof typeof config]?.label ?? label\n : itemConfig?.label\n\n return typeof v === \"string\" || typeof v === \"number\" ? v : undefined\n })()\n\n if (labelFormatter) {\n return (\n <div className={cn(\"font-medium\", labelClassName)}>\n {labelFormatter(value, payload)}\n </div>\n )\n }\n\n if (!value) {\n return null\n }\n\n return <div className={cn(\"font-medium\", labelClassName)}>{value}</div>\n }, [\n label,\n labelFormatter,\n payload,\n hideLabel,\n labelClassName,\n config,\n labelKey,\n ])\n\n if (!active || !payload?.length) {\n return null\n }\n\n const nestLabel = payload.length === 1 && indicator !== \"dot\"\n\n return (\n <div\n className={cn(\n \"border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl\",\n className\n )}\n >\n {!nestLabel ? tooltipLabel : null}\n <div className=\"grid gap-1.5\">\n {payload.map((item, index) => {\n const key = `${nameKey || item.name || item.dataKey || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n const indicatorColor = color || item.payload.fill || item.color\n\n return (\n <div\n key={item.dataKey}\n className={cn(\n \"[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5\",\n indicator === \"dot\" && \"items-center\"\n )}\n >\n {formatter && item?.value !== undefined && item.name ? (\n formatter(item.value, item.name, item, index, item.payload)\n ) : (\n <>\n {itemConfig?.icon ? (\n <itemConfig.icon />\n ) : (\n !hideIndicator && (\n <div\n className={cn(\n \"shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)\",\n {\n \"h-2.5 w-2.5\": indicator === \"dot\",\n \"h-4 w-1\": indicator === \"line\",\n \"h-4 w-0 border-[1.5px] border-dashed bg-transparent\":\n indicator === \"dashed\",\n \"my-0.5\": nestLabel && indicator === \"dashed\",\n }\n )}\n style={\n {\n \"--color-bg\": indicatorColor,\n \"--color-border\": indicatorColor,\n } as React.CSSProperties\n }\n />\n )\n )}\n <div\n className={cn(\n \"flex flex-1 justify-between leading-none\",\n nestLabel ? \"items-end\" : \"items-center\"\n )}\n >\n <div className=\"grid gap-1.5\">\n {nestLabel ? tooltipLabel : null}\n <span className=\"text-muted-foreground\">\n {itemConfig?.label || item.name}\n </span>\n </div>\n {item.value && (\n <span className=\"text-foreground font-mono font-medium tabular-nums\">\n {item.value.toLocaleString()}\n </span>\n )}\n </div>\n </>\n )}\n </div>\n )\n })}\n </div>\n </div>\n )\n}\n\nconst ChartLegend = RechartsPrimitive.Legend\n\nfunction ChartLegendContent({\n className,\n hideIcon = false,\n payload,\n verticalAlign = \"bottom\",\n nameKey,\n }: ChartLegendContentProps) {\n const { config } = useChart()\n\n if (!payload?.length) {\n return null\n }\n\n return (\n <div\n className={cn(\n \"flex items-center justify-center gap-4\",\n verticalAlign === \"top\" ? \"pb-3\" : \"pt-3\",\n className\n )}\n >\n {payload.map((item) => {\n const key = `${nameKey || item.dataKey || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n\n return (\n <div\n key={item.value}\n className={cn(\n \"[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3\"\n )}\n >\n {itemConfig?.icon && !hideIcon ? (\n <itemConfig.icon />\n ) : (\n <div\n className=\"h-2 w-2 shrink-0 rounded-[2px]\"\n style={{\n backgroundColor: item.color,\n }}\n />\n )}\n {itemConfig?.label}\n </div>\n )\n })}\n </div>\n )\n}\n\n// Helper to extract item config from a payload.\nfunction getPayloadConfigFromPayload(\n config: ChartConfig,\n payload: unknown,\n key: string\n) {\n if (typeof payload !== \"object\" || payload === null) {\n return undefined\n }\n\n const payloadPayload =\n \"payload\" in payload &&\n typeof payload.payload === \"object\" &&\n payload.payload !== null\n ? payload.payload\n : undefined\n\n let configLabelKey: string = key\n\n if (\n key in payload &&\n typeof payload[key as keyof typeof payload] === \"string\"\n ) {\n configLabelKey = payload[key as keyof typeof payload] as string\n } else if (\n payloadPayload &&\n key in payloadPayload &&\n typeof payloadPayload[key as keyof typeof payloadPayload] === \"string\"\n ) {\n configLabelKey = payloadPayload[\n key as keyof typeof payloadPayload\n ] as string\n }\n\n return configLabelKey in config\n ? config[configLabelKey]\n : config[key as keyof typeof config]\n}\n\nexport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n ChartLegend,\n ChartLegendContent,\n ChartStyle,\n}\n"],"names":["THEMES","ChartContext","React","useChart","context","ChartContainer","id","className","children","config","props","uniqueId","chartId","jsxs","cn","jsx","ChartStyle","RechartsPrimitive.ResponsiveContainer","colorConfig","theme","prefix","key","itemConfig","color","_a","ChartTooltip","RechartsPrimitive.Tooltip","ChartTooltipContent","active","payload","label","indicator","hideLabel","hideIndicator","labelFormatter","formatter","labelClassName","nameKey","labelKey","tooltipLabel","item","getPayloadConfigFromPayload","value","v","nestLabel","index","indicatorColor","Fragment","ChartLegend","RechartsPrimitive.Legend","ChartLegendContent","hideIcon","verticalAlign","payloadPayload","configLabelKey"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@charset "UTF-8";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--av-font-sans),system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--av-background: 0 0% 100%;--av-foreground: 215 26% 20%;--av-card: 0 0% 100%;--av-card-foreground: 215 26% 20%;--av-popover: 0 0% 100%;--av-popover-foreground: 215 26% 20%;--av-primary: 213 65% 46%;--av-primary-foreground: 0 0% 100%;--av-secondary: 0 0% 100%;--av-secondary-foreground: 215 26% 20%;--av-muted: 215 26% 95%;--av-muted-foreground: 215 26% 46%;--av-accent: 213 65% 46%;--av-accent-foreground: 0 0% 100%;--av-destructive: 0 77% 57%;--av-destructive-foreground: 0 0% 100%;--av-destructive-light: 0 100% 89%;--av-destructive-accent: 0 100% 96%;--av-border: 215 26% 20%;--av-input: 215 26% 91%;--av-ring: 213 65% 46%;--av-radius: .25rem;--av-button-hover: 213 65% 46%;--av-button-active: 213 65% 46%;--av-success: 73 68% 45%;--av-success-foreground: 215 26% 20%;--av-success-accent: 73 68% 95%;--av-warning: 45 100% 52%;--av-warning-foreground: 215 26% 20%;--av-warning-accent: 45 100% 95%;--av-info: 211 82% 60%;--av-info-foreground: 215 26% 20%;--av-info-accent: 211 82% 96%;--av-critical: 25 100% 52%;--av-critical-foreground: 215 26% 20%;--av-critical-accent: 25 100% 93%;--av-translucent-bg: 215 26% 20%;--av-translucent-inversed: 0 0% 100%;--av-tooltip-bg: 215 26% 20%;--av-tooltip-foreground: 0 0% 100%;--av-dropdown-bg: 0 0% 100%;--av-dropdown-foreground: 215 26% 20%;--av-dropdown-item-hover: 213 65% 96%;--av-input-bg: 0 0% 100%;--av-input-border: 213 65% 46%;--av-input-border-focus: 213 65% 46%;--av-input-border-error: 0 77% 57%;--av-input-text: 215 26% 20%;--av-input-placeholder: 215 26% 20%;--av-input-label: 215 26% 20%;--av-input-icon: 213 65% 46%;--av-input-icon-error: 0 77% 57%;--av-input-error-message: 0 77% 57%;--av-input-hint-message: 215 26% 20%;--av-input-disabled-bg: 213 65% 46%;--av-input-height: 48px;--av-input-padding-x: 16px;--av-input-gap: 16px;--av-input-icon-size: 16px;--search-input-bg: 0 0% 100%;--search-input-border: 213 65% 46%;--search-input-border-focus: 213 65% 46%;--search-input-text: 215 26% 20%;--search-input-placeholder: 215 26% 20%;--search-input-icon: 213 65% 46%;--search-input-action-text: 215 26% 20%;--search-input-divider: 213 65% 46%;--search-input-divider-focus: 213 65% 46%;--search-input-loading: 212 79% 58%;--search-input-height: 32px;--search-input-padding-x: 16px;--search-input-gap: 16px;--search-input-icon-size: 16px;--search-input-border-radius: 4px;--av-textarea-bg: 0 0% 100%;--av-textarea-bg-disabled: 213 65% 98%;--av-textarea-border: 213 65% 46%;--av-textarea-border-disabled: 213 65% 46%;--av-textarea-border-focus: 213 65% 46%;--av-textarea-text: 215 26% 20%;--av-textarea-placeholder: 215 26% 20%;--sidebar-background: 210 100% 15%;--sidebar-foreground: 0 0% 100%;--sidebar-primary: 210 100% 15%;--sidebar-primary-foreground: 0 0% 100%;--sidebar-accent: 211 100% 45%;--sidebar-accent-foreground: 0 0% 100%;--sidebar-border: 210 100% 15%;--sidebar-ring: 213 65% 46%;--secondary-menu-width: 240px;--secondary-menu-bg: 0 0% 100%;--secondary-menu-item-default: 213 65% 46%;--secondary-menu-item-active: 215 26% 20%;--secondary-menu-item-disabled: 215 26% 20%;--secondary-menu-item-active-bg: 213 65% 46%;--secondary-menu-icon-default: 213 65% 46%;--secondary-menu-icon-active: 215 26% 20%;--secondary-menu-icon-disabled: 215 26% 20%;--secondary-menu-title: 215 26% 20%;--secondary-menu-divider: 213 65% 46%;--secondary-menu-padding-x: 24px;--secondary-menu-padding-y: 12px;--secondary-menu-title-padding-top: 16px;--secondary-menu-title-padding-bottom: 8px;--secondary-menu-gap: 16px;--secondary-menu-icon-size: 16px;--dialog-bg: 213 65% 97%;--dialog-header-bg: 0 0% 100%;--dialog-foreground: 215 26% 20%;--dialog-border: 213 65% 46%;--empty-foreground: 215 26% 20%;--empty-icon-size: 72px;--chip-bg: 213 65% 46%;--chip-border: 213 65% 46%;--chip-foreground: 215 26% 20%;--tag-success-bg: 84 67% 93%;--tag-success-border: 84 67% 45%;--tag-success-text: 84 98% 21%;--tag-info-bg: 214 78% 95%;--tag-info-border: 214 78% 59%;--tag-info-text: 214 68% 38%;--tag-warning-bg: 45 100% 95%;--tag-warning-border: 45 100% 51%;--tag-warning-text: 30 50% 37%;--tag-critical-bg: 27 95% 92%;--tag-critical-border: 27 100% 52%;--tag-critical-text: 11 73% 41%;--tag-danger-bg: 0 100% 96%;--tag-danger-border: 0 77% 57%;--tag-danger-text: 0 72% 45%;--tag-neutral-bg: 220 11% 92%;--tag-neutral-border: 220 11% 62%;--tag-neutral-text: 215 14% 39%;--combobox-border: 213 65% 46%;--combobox-placeholder: 215 26% 20%;--datepicker-border: 213 65% 46%;--datepicker-border-active: 213 65% 46%;--datepicker-label: 215 26% 20%;--calendar-cell-size: 32px;--calendar-border: 213 65% 46%;--calendar-divider: 213 65% 46%;--calendar-day-name: 215 26% 20%;--calendar-day-text: 215 26% 20%;--calendar-day-outside: 215 26% 20%;--calendar-selected-bg: 213 65% 46%;--calendar-selected-text: 0 0% 100%;--nav-menu-text: 215 26% 20%;--nav-menu-active-indicator: 213 65% 46%;--nav-menu-counter-bg: 220 11% 92%;--nav-menu-counter-border: 220 11% 62%;--nav-menu-counter-text: 215 14% 39%;--popover-bg: 0 0% 100%;--popover-text: 215 26% 20%;--popover-shadow: 0px 10px 20px rgb(36 49 67 / 20%);--progress-bg: 214 78% 59%;--progress-fill: 214 78% 59%;--progress-border: 215 26% 20%;--progress-text: 215 26% 20%;--radio-border: 213 65% 46%;--radio-checked: 213 65% 46%;--radio-text: 215 26% 20%;--radio-description: 215 26% 20%;--radio-disabled-bg: 213 65% 46%;--radio-disabled-text: 215 26% 20%;--select-border: 213 65% 46%;--select-border-active: 213 65% 46%;--select-border-error: 0 77% 57%;--select-label: 215 26% 20%;--select-value: 215 26% 20%;--select-error-text: 0 77% 57%;--switch-off-bg: 213 65% 46%;--switch-on-bg: 73 68% 50%;--switch-thumb: 0 0% 100%;--switch-text: 215 26% 20%;--tabs-border: 213 65% 46%;--tabs-active-bg: 213 65% 46%;--tabs-active-text: 215 26% 20%;--tabs-inactive-text: 213 65% 46%;--card-border: 213 65% 46%;--card-border-dropdown: 213 65% 46%;--card-border-error: 0 77% 57%;--card-shadow-regular: 0px 10px 20px rgb(36 49 67 / 20%);--card-shadow-modal: 0px 10px 20px rgb(36 49 67 / 90%);--separator-color: 213 65% 46%;--pagination-bg: 213 65% 97%;--pagination-divider: 213 65% 46%;--pagination-cell-size: 32px;--pagination-padding-x: 24px;--pagination-padding-y: 16px;--pagination-text: 213 65% 46%;--pagination-text-active: 215 26% 20%;--pagination-text-disabled: 213 65% 46%;--pagination-text-ellipsis: 215 26% 20%;--pagination-active-bg: 213 65% 46%;--pagination-hover-bg: 213 65% 46%;--table-border: 213 65% 46%;--table-header-bg: 0 0% 100%;--table-header-text: 215 26% 20%;--table-row-hover: 213 65% 46%;--table-row-selected: 213 65% 46%;--table-cell-text: 215 26% 20%;--table-cell-padding-x: 24px;--table-cell-padding-y: 0px;--table-row-height: 48px;--table-row-height-compact: 40px;--table-link: 213 65% 46%;--table-link-hover: 213 65% 40%;--badge-success-bg: 84 67% 93%;--badge-success-border: 84 67% 45%;--badge-success-text: 84 98% 21%;--badge-info-bg: 214 78% 95%;--badge-info-border: 214 78% 59%;--badge-info-text: 214 68% 38%;--badge-warning-bg: 45 100% 95%;--badge-warning-border: 45 100% 51%;--badge-warning-text: 30 50% 37%;--badge-critical-bg: 27 95% 92%;--badge-critical-border: 27 100% 52%;--badge-critical-text: 11 73% 41%;--badge-danger-bg: 0 100% 96%;--badge-danger-border: 0 77% 57%;--badge-danger-text: 0 72% 45%;--badge-neutral-bg: 220 11% 92%;--badge-neutral-border: 220 11% 62%;--badge-neutral-text: 215 14% 39%;--badge-success-light: 84 67% 80%;--badge-info-light: 214 78% 88%;--badge-warning-light: 45 100% 82%;--badge-critical-light: 27 100% 83%;--badge-danger-light: 0 100% 89%;--badge-neutral-light: 220 11% 87%;--checkbox-bg: 0 0% 100%;--checkbox-border: 213 65% 46%;--checkbox-border-hover: 213 65% 46%;--checkbox-border-active: 213 65% 46%;--checkbox-checked-bg: 213 65% 46%;--checkbox-checked-icon: 0 0% 100%;--checkbox-disabled-bg: 213 65% 46%;--checkbox-disabled-border: 213 65% 46%;--checkbox-disabled-icon: 213 65% 46%;--checkbox-disabled-text: 215 26% 20%;--checkbox-focus: 214 62% 82%;--checkbox-label: 215 26% 20%;--checkbox-description: 215 26% 20%;--toast-bg: 0 0% 100%;--toast-text: 215 26% 20%;--toast-border: 213 65% 46%;--toast-shadow: 0px 10px 20px rgb(36 49 67 / 20%);--toast-info-bg: 214 78% 95%;--toast-info-border: 214 78% 59%;--toast-info-icon: 214 78% 59%;--toast-success-bg: 84 67% 93%;--toast-success-border: 84 67% 45%;--toast-success-icon: 84 67% 45%;--toast-warning-bg: 45 100% 95%;--toast-warning-border: 45 100% 51%;--toast-warning-icon: 45 100% 51%;--toast-critical-bg: 27 95% 92%;--toast-critical-border: 27 100% 52%;--toast-critical-icon: 27 100% 52%;--toast-danger-bg: 0 100% 96%;--toast-danger-border: 0 77% 57%;--toast-danger-icon: 0 77% 57%;--toast-action: 213 65% 46%;--toast-action-hover: 213 65% 40%;--spinner-color: 213 65% 46%;--spinner-bg: 213 65% 46%;--loading-text: 215 26% 20%;--loading-text-secondary: 215 26% 20%;--tree-text: 215 26% 20%;--tree-text-hover: 215 26% 20%;--tree-item-hover: 213 65% 46%;--tree-item-selected: 213 65% 46%;--tree-icon: 213 65% 46%;--tree-divider: 213 65% 46%;--tree-indent: 32px;--button-group-border: 213 65% 46%;--button-group-text: 213 65% 46%;--button-group-text-active: 0 0% 100%;--button-group-bg: 0 0% 100%;--button-group-bg-active: 213 65% 46%;--button-group-bg-hover: 213 65% 46%;--button-group-height: 48px;--button-group-height-sm: 32px;--button-group-padding: 4px;--button-group-item-padding-x: 8px;--carousel-nav-text: 213 65% 46%;--carousel-nav-text-disabled: 213 65% 46%;--carousel-dot: 213 65% 46%;--carousel-dot-active: 213 65% 46%;--carousel-button-bg: 213 65% 46%;--carousel-button-text: 0 0% 100%;--filter-text: 213 65% 46%;--filter-icon: 213 65% 46%;--filter-counter-bg: 213 65% 46%;--filter-counter-text: 0 0% 100%}.dark{--av-background: 215 26% 20%;--av-foreground: 0 0% 100%;--av-card: 215 26% 23%;--av-card-foreground: 0 0% 100%;--av-popover: 215 26% 23%;--av-popover-foreground: 0 0% 100%;--av-primary: 213 65% 46%;--av-primary-foreground: 0 0% 100%;--av-secondary: 215 26% 30%;--av-secondary-foreground: 0 0% 100%;--av-muted: 215 26% 30%;--av-muted-foreground: 0 0% 70%;--av-accent: 213 65% 46%;--av-accent-foreground: 0 0% 100%;--av-destructive: 0 77% 57%;--av-destructive-foreground: 0 0% 100%;--av-border: 215 26% 35%;--av-input: 215 26% 30%;--av-ring: 213 65% 46%;--av-success: 84 67% 45%;--av-success-foreground: 0 0% 100%;--av-warning: 45 100% 51%;--av-warning-foreground: 215 26% 20%;--av-info: 214 78% 59%;--av-info-foreground: 0 0% 100%;--av-critical: 27 100% 52%;--av-critical-foreground: 0 0% 100%;--table-header-bg: 215 26% 23%;--table-cell-text: 0 0% 100%;--table-border: 215 26% 35%;--checkbox-bg: 215 26% 25%;--checkbox-border: 215 26% 40%;--tree-text: 0 0% 100%;--tree-item-hover: 213 65% 46%;--tree-item-selected: 213 65% 46%;--toast-bg: 215 26% 25%;--toast-text: 0 0% 100%;--spinner-color: 213 65% 56%;--dropdown-bg: 215 26% 25%;--dropdown-foreground: 0 0% 100%}.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}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-bottom-12{bottom:-3rem}.-left-12{left:-3rem}.-right-12{right:-3rem}.-top-12{top:-3rem}.bottom-0{bottom:0}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:.5rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-3\.5{top:.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-\[1\]{z-index:1}.\!m-0{margin:0!important}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-ml-2{margin-left:-.5rem}.-ml-3{margin-left:-.75rem}.-ml-4{margin-left:-1rem}.-mr-px{margin-right:-1px}.-mt-4{margin-top:-1rem}.mb-0{margin-bottom:0}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-4{margin-top:1rem}.mt-auto{margin-top:auto}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:16 / 9}.size-4{width:1rem;height:1rem}.size-\[--cell-size\]{width:var(--cell-size);height:var(--cell-size)}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.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-\[--cell-size\]{height:var(--cell-size)}.h-\[1\.2rem\]{height:1.2rem}.h-\[125px\]{height:125px}.h-\[1px\]{height:1px}.h-\[var\(--empty-icon-size\)\]{height:var(--empty-icon-size)}.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-svh{height:100svh}.max-h-\[--radix-select-content-available-height\]{max-height:var(--radix-select-content-available-height)}.max-h-\[300px\]{max-height:300px}.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{max-height:var(--radix-dropdown-menu-content-available-height)}.min-h-0{min-height:0px}.min-h-\[80px\]{min-height:80px}.min-h-svh{min-height:100svh}.w-0{width:0px}.w-1{width:.25rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[--cell-size\]{width:var(--cell-size)}.w-\[--sidebar-width\]{width:var(--sidebar-width)}.w-\[1\.2rem\]{width:1.2rem}.w-\[100px\]{width:100px}.w-\[150px\]{width:150px}.w-\[180px\]{width:180px}.w-\[1px\]{width:1px}.w-\[200px\]{width:200px}.w-\[240px\]{width:240px}.w-\[250px\]{width:250px}.w-\[280px\]{width:280px}.w-\[300px\]{width:300px}.w-\[350px\]{width:350px}.w-\[400px\]{width:400px}.w-\[70px\]{width:70px}.w-\[var\(--empty-icon-size\)\]{width:var(--empty-icon-size)}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.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-5{min-width:1.25rem}.min-w-\[--cell-size\]{min-width:var(--cell-size)}.min-w-\[16px\]{min-width:16px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-\[--skeleton-width\]{max-width:var(--skeleton-width)}.max-w-\[448px\]{max-width:448px}.max-w-lg{max-width:32rem}.max-w-max{max-width:-moz-max-content;max-width:max-content}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.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)}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(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)) skew(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)) skew(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)) skew(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)) skew(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)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-0{--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(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)) skew(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)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-0{--tw-scale-x: 0;--tw-scale-y: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(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)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear 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}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,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:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * 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-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * 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))}.self-stretch{align-self:stretch}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.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(--av-radius)}.rounded-md{border-radius:calc(var(--av-radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--av-radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-l-md{border-top-left-radius:calc(var(--av-radius) - 2px);border-bottom-left-radius:calc(var(--av-radius) - 2px)}.rounded-r-md{border-top-right-radius:calc(var(--av-radius) - 2px);border-bottom-right-radius:calc(var(--av-radius) - 2px)}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-br-full{border-bottom-right-radius:9999px}.rounded-tl-sm{border-top-left-radius:calc(var(--av-radius) - 4px)}.rounded-tr-full{border-top-right-radius:9999px}.border{border-width:1px}.border-2{border-width:2px}.border-\[1\.5px\]{border-width:1.5px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-\[\#9BC225\]{--tw-border-opacity: 1;border-color:rgb(155 194 37 / var(--tw-border-opacity, 1))}.border-\[hsl\(var\(--tree-divider\)\/0\.1\)\]{border-color:hsl(var(--tree-divider)/.1)}.border-\[rgba\(38\,104\,197\,0\.1\)\]{border-color:#2668c51a}.border-\[rgba\(38\,104\,197\,0\.3\)\]{border-color:#2668c54d}.border-ai-accent{border-color:hsl(var(--av-status-ai))}.border-border{border-color:hsl(var(--av-border))}.border-border\/10{border-color:hsl(var(--av-border) / .1)}.border-border\/50{border-color:hsl(var(--av-border) / .5)}.border-critical-accent{border-color:hsl(var(--av-status-critical))}.border-current{border-color:currentColor}.border-danger-accent,.border-destructive-accent{border-color:hsl(var(--av-status-danger))}.border-foreground\/10{border-color:hsl(var(--av-foreground) / .1)}.border-info-accent{border-color:hsl(var(--av-status-info))}.border-input{border-color:hsl(var(--av-input))}.border-input\/30{border-color:hsl(var(--av-input) / .3)}.border-neutral-accent{border-color:hsl(var(--av-status-neutral))}.border-primary{border-color:hsl(var(--av-primary))}.border-sidebar-border{border-color:hsl(var(--av-nav-bg))}.border-success-accent{border-color:hsl(var(--av-status-success))}.border-transparent{border-color:transparent}.border-warning-accent{border-color:hsl(var(--av-status-warning))}.border-l-transparent{border-left-color:transparent}.border-r-transparent{border-right-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-\[\#F5F9E9\]{--tw-bg-opacity: 1;background-color:rgb(245 249 233 / var(--tw-bg-opacity, 1))}.bg-\[hsl\(var\(--filter-counter-bg\)\)\]{background-color:hsl(var(--filter-counter-bg))}.bg-\[hsl\(var\(--tree-item-selected\)\/0\.1\)\]{background-color:hsl(var(--tree-item-selected)/.1)}.bg-\[rgba\(38\,104\,197\,0\.05\)\]{background-color:#2668c50d}.bg-accent{background-color:hsl(var(--av-accent))}.bg-ai{background-color:hsl(var(--av-status-ai-bg))}.bg-background{background-color:hsl(var(--av-background))}.bg-black\/80{background-color:#000c}.bg-border{background-color:hsl(var(--av-border))}.bg-card{background-color:hsl(var(--av-elevated))}.bg-card\/50{background-color:hsl(var(--av-elevated) / .5)}.bg-critical{background-color:hsl(var(--av-status-critical-bg))}.bg-danger{background-color:hsl(var(--av-status-danger-bg))}.bg-destructive{background-color:hsl(var(--av-destructive))}.bg-foreground\/20{background-color:hsl(var(--av-foreground) / .2)}.bg-info{background-color:hsl(var(--av-status-info-bg))}.bg-input{background-color:hsl(var(--av-input))}.bg-muted{background-color:hsl(var(--av-muted))}.bg-neutral{background-color:hsl(var(--av-status-neutral-bg))}.bg-popover{background-color:hsl(var(--av-popover))}.bg-primary{background-color:hsl(var(--av-primary))}.bg-primary\/10{background-color:hsl(var(--av-primary) / .1)}.bg-primary\/20{background-color:hsl(var(--av-primary) / .2)}.bg-secondary{background-color:hsl(var(--av-secondary))}.bg-sidebar,.bg-sidebar-border{background-color:hsl(var(--av-nav-bg))}.bg-success{background-color:hsl(var(--av-status-success-bg))}.bg-transparent{background-color:transparent}.bg-warning{background-color:hsl(var(--av-status-warning-bg))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.fill-current{fill:currentColor}.fill-popover{fill:hsl(var(--av-popover))}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-\[1px\]{padding:1px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.px-\[--cell-size\]{padding-left:var(--cell-size);padding-right:var(--cell-size)}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-0{padding-bottom:0}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-\[7px\]{padding-bottom:7px}.pl-1{padding-left:.25rem}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pl-8{padding-left:2rem}.pr-0{padding-right:0}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pr-4{padding-right:1rem}.pr-6{padding-right:1.5rem}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.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-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[0\.8rem\]{font-size:.8rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.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-4{line-height:1rem}.leading-6{line-height:1.5rem}.leading-8{line-height:2rem}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-snug{line-height:1.375}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[\#243143\]{--tw-text-opacity: 1;color:rgb(36 49 67 / var(--tw-text-opacity, 1))}.text-\[\#2668C5\]{--tw-text-opacity: 1;color:rgb(38 104 197 / var(--tw-text-opacity, 1))}.text-\[\#407009\]{--tw-text-opacity: 1;color:rgb(64 112 9 / var(--tw-text-opacity, 1))}.text-\[hsl\(var\(--chip-foreground\)\)\]{color:hsl(var(--chip-foreground))}.text-\[hsl\(var\(--empty-foreground\)\)\]{color:hsl(var(--empty-foreground))}.text-\[hsl\(var\(--filter-counter-text\)\)\]{color:hsl(var(--filter-counter-text))}.text-\[hsl\(var\(--filter-icon\)\)\]{color:hsl(var(--filter-icon))}.text-\[hsl\(var\(--filter-text\)\)\]{color:hsl(var(--filter-text))}.text-\[hsl\(var\(--spinner-color\)\)\]{color:hsl(var(--spinner-color))}.text-\[hsl\(var\(--tree-icon\)\)\]{color:hsl(var(--tree-icon))}.text-\[hsl\(var\(--tree-text\)\)\]{color:hsl(var(--tree-text))}.text-\[rgba\(36\,49\,67\,0\.4\)\]{color:#24314366}.text-\[rgba\(36\,49\,67\,0\.7\)\]{color:#243143b3}.text-ai-foreground{color:hsl(var(--av-status-ai-text))}.text-card-foreground{color:hsl(var(--av-foreground))}.text-critical-foreground{color:hsl(var(--av-status-critical-text))}.text-current{color:currentColor}.text-danger-foreground{color:hsl(var(--av-status-danger-text))}.text-destructive{color:hsl(var(--av-destructive))}.text-destructive-foreground{color:hsl(var(--av-destructive-foreground))}.text-foreground{color:hsl(var(--av-foreground))}.text-foreground\/70{color:hsl(var(--av-foreground) / .7)}.text-info{color:hsl(var(--av-status-info-bg))}.text-info-foreground{color:hsl(var(--av-status-info-text))}.text-muted-foreground{color:hsl(var(--av-muted-foreground))}.text-muted-foreground\/70{color:hsl(var(--av-muted-foreground) / .7)}.text-neutral-foreground{color:hsl(var(--av-status-neutral-text))}.text-popover-foreground{color:hsl(var(--av-popover-foreground))}.text-primary{color:hsl(var(--av-primary))}.text-primary-foreground{color:hsl(var(--av-primary-foreground))}.text-secondary-foreground{color:hsl(var(--av-secondary-foreground))}.text-sidebar-foreground{color:hsl(var(--av-nav-text))}.text-sidebar-foreground\/70{color:hsl(var(--av-nav-text) / .7)}.text-success{color:hsl(var(--av-status-success-bg))}.text-success-foreground{color:hsl(var(--av-status-success-text))}.text-warning{color:hsl(var(--av-status-warning-bg))}.text-warning-foreground{color:hsl(var(--av-status-warning-text))}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.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-\[0px_10px_20px_rgba\(36\,49\,67\,0\.2\)\]{--tw-shadow: 0px 10px 20px rgba(36,49,67,.2);--tw-shadow-colored: 0px 10px 20px 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-\[0px_10px_20px_rgba\(36\,49\,67\,0\.9\)\]{--tw-shadow: 0px 10px 20px rgba(36,49,67,.9);--tw-shadow-colored: 0px 10px 20px 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 / .1), 0 4px 6px -4px rgb(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 / .1), 0 2px 4px -2px rgb(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 / .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 / .1), 0 8px 10px -6px rgb(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)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--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(3px + 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-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-sidebar-ring{--tw-ring-color: hsl(var(--av-ring))}.ring-offset-background{--tw-ring-offset-color: hsl(var(--av-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)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--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{--tw-enter-scale: 0}.zoom-in-95{--tw-enter-scale: .95}.zoom-out{--tw-exit-scale: 0}.duration-200{animation-duration:.2s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}.\[--cell-size\:2rem\]{--cell-size: 2rem}.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:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--av-muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--av-muted-foreground))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);top:-.5rem;right:-.5rem;bottom:-.5rem;left:-.5rem}.after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:.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)) skew(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(--av-radius) - 2px);border-bottom-left-radius:calc(var(--av-radius) - 2px)}.last\:mr-0:last-child{margin-right:0}.last\:mt-0:last-child{margin-top:0}.last\:rounded-r-md:last-child{border-top-right-radius:calc(var(--av-radius) - 2px);border-bottom-right-radius:calc(var(--av-radius) - 2px)}.hover\:border-input\/50:hover{border-color:hsl(var(--av-input) / .5)}.hover\:bg-\[hsl\(var\(--tree-item-hover\)\/0\.05\)\]:hover{background-color:hsl(var(--tree-item-hover)/.05)}.hover\:bg-\[rgba\(38\,104\,197\,0\.02\)\]:hover{background-color:#2668c505}.hover\:bg-accent:hover{background-color:hsl(var(--av-accent))}.hover\:bg-accent\/10:hover{background-color:hsl(var(--av-accent) / .1)}.hover\:bg-accent\/5:hover{background-color:hsl(var(--av-accent) / .05)}.hover\:bg-black\/5:hover{background-color:#0000000d}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--av-destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--av-destructive) / .9)}.hover\:bg-foreground\/30:hover{background-color:hsl(var(--av-foreground) / .3)}.hover\:bg-info\/90:hover{background-color:hsl(var(--av-status-info-bg) / .9)}.hover\:bg-primary\/10:hover{background-color:hsl(var(--av-primary) / .1)}.hover\:bg-primary\/20:hover{background-color:hsl(var(--av-primary) / .2)}.hover\:bg-primary\/80:hover{background-color:hsl(var(--av-primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--av-primary) / .9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--av-secondary) / .8)}.hover\:bg-sidebar-accent:hover{background-color:hsl(var(--av-nav-active))}.hover\:bg-success\/90:hover{background-color:hsl(var(--av-status-success-bg) / .9)}.hover\:bg-transparent:hover{background-color:transparent}.hover\:bg-warning\/90:hover{background-color:hsl(var(--av-status-warning-bg) / .9)}.hover\:text-\[hsl\(var\(--filter-text\)\)\]:hover{color:hsl(var(--filter-text))}.hover\:text-accent-foreground:hover{color:hsl(var(--av-accent-foreground))}.hover\:text-primary:hover{color:hsl(var(--av-primary))}.hover\:text-sidebar-accent-foreground:hover{color:hsl(var(--av-text-inverse))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-80:hover{opacity:.8}.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\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:hsl(var(--av-nav-bg))}.focus\:bg-accent:focus{background-color:hsl(var(--av-accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--av-accent-foreground))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.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-ring:focus{--tw-ring-color: hsl(var(--av-ring))}.focus\:ring-offset-1:focus{--tw-ring-offset-width: 1px}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:border-primary:focus-visible{border-color:hsl(var(--av-primary))}.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(--av-ring))}.focus-visible\:ring-sidebar-ring:focus-visible{--tw-ring-color: hsl(var(--av-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(--av-background))}.active\:bg-accent\/20:active{background-color:hsl(var(--av-accent) / .2)}.active\:bg-destructive\/80:active{background-color:hsl(var(--av-destructive) / .8)}.active\:bg-foreground\/40:active{background-color:hsl(var(--av-foreground) / .4)}.active\:bg-primary\/20:active{background-color:hsl(var(--av-primary) / .2)}.active\:bg-primary\/80:active{background-color:hsl(var(--av-primary) / .8)}.active\:bg-sidebar-accent:active{background-color:hsl(var(--av-nav-active))}.active\:text-sidebar-accent-foreground:active{color:hsl(var(--av-text-inverse))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:border-border:disabled{border-color:hsl(var(--av-border))}.disabled\:border-muted\/10:disabled{border-color:hsl(var(--av-muted) / .1)}.disabled\:bg-muted:disabled{background-color:hsl(var(--av-muted))}.disabled\:bg-muted\/10:disabled{background-color:hsl(var(--av-muted) / .1)}.disabled\:text-muted-foreground\/40:disabled{color:hsl(var(--av-muted-foreground) / .4)}.disabled\:opacity-50:disabled{opacity:.5}.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100{opacity:1}.group\/menu-item:hover .group-hover\/menu-item\:opacity-100{opacity:1}.group.toaster .group-\[\.toaster\]\:w-\[384px\]{width:384px}.group.toaster .group-\[\.toaster\]\:rounded-\[4px\]{border-radius:4px}.group.toast .group-\[\.toast\]\:border-0{border-width:0px}.group.toaster .group-\[\.toaster\]\:border{border-width:1px}.group.toaster .group-\[\.toaster\]\:border-border{border-color:hsl(var(--av-border))}.group.toaster .group-\[\.toaster\]\:border-destructive{border-color:hsl(var(--av-destructive))}.group.toaster .group-\[\.toaster\]\:border-info{border-color:hsl(var(--av-status-info-bg))}.group.toaster .group-\[\.toaster\]\:border-success{border-color:hsl(var(--av-status-success-bg))}.group.toaster .group-\[\.toaster\]\:border-warning{border-color:hsl(var(--av-status-warning-bg))}.group.toast .group-\[\.toast\]\:bg-transparent{background-color:transparent}.group.toaster .group-\[\.toaster\]\:bg-card{background-color:hsl(var(--av-elevated))}.group.toaster .group-\[\.toaster\]\:bg-destructive-light{background-color:hsl(var(--av-status-danger-bg))}.group.toast .group-\[\.toast\]\:text-sm{font-size:.875rem;line-height:1.25rem}.group.toast .group-\[\.toast\]\:font-semibold{font-weight:600}.group.toast .group-\[\.toast\]\:text-foreground{color:hsl(var(--av-foreground))}.group.toast .group-\[\.toast\]\:text-primary{color:hsl(var(--av-primary))}.group.toaster .group-\[\.toaster\]\:text-foreground{color:hsl(var(--av-foreground))}.group.toaster .group-\[\.toaster\]\:shadow-\[var\(--toast-shadow\)\]{--tw-shadow-color: var(--toast-shadow);--tw-shadow: var(--tw-shadow-colored)}.group.toast .group-\[\.toast\]\:hover\:bg-muted:hover{background-color:hsl(var(--av-muted))}.group.toast .group-\[\.toast\]\:hover\:text-primary\/90:hover{color:hsl(var(--av-primary) / .9)}.peer\/menu-button:hover~.peer-hover\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--av-text-inverse))}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.has-\[\>\[data-slot\=field\]\]\:w-full:has(>[data-slot=field]){width:100%}.has-\[\>\[data-slot\=field\]\]\:flex-col:has(>[data-slot=field]){flex-direction:column}.has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]){align-items:flex-start}.has-\[\>\[data-slot\=button-group\]\]\:gap-2:has(>[data-slot=button-group]){gap:.5rem}.has-\[\>\[data-slot\=checkbox-group\]\]\:gap-3:has(>[data-slot=checkbox-group]){gap:.75rem}.has-\[\>\[data-slot\=radio-group\]\]\:gap-3:has(>[data-slot=radio-group]){gap:.75rem}.has-\[\>\[data-slot\=field\]\]\:rounded-md:has(>[data-slot=field]){border-radius:calc(var(--av-radius) - 2px)}.has-\[\>\[data-slot\=field\]\]\:border:has(>[data-slot=field]){border-width:1px}.has-\[\[data-variant\=inset\]\]\:bg-sidebar:has([data-variant=inset]){background-color:hsl(var(--av-nav-bg))}.group\/field:has([data-orientation=horizontal]) .group-has-\[\[data-orientation\=horizontal\]\]\/field\:text-balance{text-wrap:balance}.group\/menu-item:has([data-sidebar=menu-action]) .group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8{padding-right:2rem}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-selected\:text-muted-foreground[aria-selected=true]{color:hsl(var(--av-muted-foreground))}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[orientation\=vertical\]\:h-auto[data-orientation=vertical]{height:auto}.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: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(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: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(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: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(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: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(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)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up .2s ease-out}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down .2s ease-out}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[slot\=checkbox-group\]\:gap-3[data-slot=checkbox-group]{gap:.75rem}.data-\[range-end\=true\]\:rounded-md[data-range-end=true]{border-radius:calc(var(--av-radius) - 2px)}.data-\[range-middle\=true\]\:rounded-none[data-range-middle=true]{border-radius:0}.data-\[range-start\=true\]\:rounded-md[data-range-start=true]{border-radius:calc(var(--av-radius) - 2px)}.data-\[selected\=true\]\:rounded-none[data-selected=true]{border-radius:0}.data-\[state\=checked\]\:border-primary[data-state=checked],.data-\[state\=indeterminate\]\:border-primary[data-state=indeterminate]{border-color:hsl(var(--av-primary))}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:hsl(var(--av-nav-active))}.data-\[range-end\=true\]\:bg-primary[data-range-end=true]{background-color:hsl(var(--av-primary))}.data-\[range-middle\=true\]\:bg-accent[data-range-middle=true]{background-color:hsl(var(--av-accent))}.data-\[range-start\=true\]\:bg-primary[data-range-start=true],.data-\[selected-single\=true\]\:bg-primary[data-selected-single=true]{background-color:hsl(var(--av-primary))}.data-\[selected\=\'true\'\]\:bg-accent[data-selected=true]{background-color:hsl(var(--av-accent))}.data-\[state\=active\]\:bg-primary\/10[data-state=active]{background-color:hsl(var(--av-primary) / .1)}.data-\[state\=checked\]\:bg-primary[data-state=checked],.data-\[state\=indeterminate\]\:bg-primary[data-state=indeterminate]{background-color:hsl(var(--av-primary))}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--av-accent))}.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:hsl(var(--av-accent) / .5)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--av-secondary))}.data-\[state\=selected\]\:bg-accent\/10[data-state=selected]{background-color:hsl(var(--av-accent) / .1)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:hsl(var(--av-input))}.data-\[variant\=label\]\:text-sm[data-variant=label]{font-size:.875rem;line-height:1.25rem}.data-\[variant\=legend\]\:text-base[data-variant=legend]{font-size:var(--av-font-size-base, 16px);line-height:var(--av-line-height-base, 1.5)}.data-\[active\=true\]\:font-medium[data-active=true]{font-weight:500}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:hsl(var(--av-text-inverse))}.data-\[empty\=true\]\:text-muted-foreground[data-empty=true]{color:hsl(var(--av-muted-foreground))}.data-\[invalid\=true\]\:text-destructive[data-invalid=true]{color:hsl(var(--av-destructive))}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:hsl(var(--av-muted-foreground))}.data-\[range-end\=true\]\:text-white[data-range-end=true]{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.data-\[range-middle\=true\]\:text-accent-foreground[data-range-middle=true]{color:hsl(var(--av-accent-foreground))}.data-\[range-start\=true\]\:text-white[data-range-start=true],.data-\[selected-single\=true\]\:text-white[data-selected-single=true]{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:hsl(var(--av-accent-foreground))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--av-foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked],.data-\[state\=indeterminate\]\:text-primary-foreground[data-state=indeterminate]{color:hsl(var(--av-primary-foreground))}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:hsl(var(--av-accent-foreground))}.data-\[selected\=true\]\:no-underline[data-selected=true]{text-decoration-line:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-],.data-\[state\=open\]\:animate-in[data-state=open],.data-\[state\=visible\]\:animate-in[data-state=visible]{animation-name:enter;animation-duration:.15s;--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-],.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[state\=hidden\]\:animate-out[data-state=hidden]{animation-name:exit;animation-duration:.15s;--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-],.data-\[state\=closed\]\:fade-out-0[data-state=closed],.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open],.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: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .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-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\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:0}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:.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)) skew(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)) skew(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(--av-accent))}.data-\[state\=open\]\:hover\:bg-sidebar-accent:hover[data-state=open]{background-color:hsl(var(--av-nav-active))}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground:hover[data-state=open]{color:hsl(var(--av-text-inverse))}.data-\[state\=open\]\:focus\:bg-accent:focus[data-state=open]{background-color:hsl(var(--av-accent))}.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:relative{position:relative}.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:0}.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:z-10{z-index:10}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:-mt-8{margin-top:-2rem}.group\/field-group[data-variant=outline] .group-data-\[variant\=outline\]\/field-group\:-mb-2{margin-bottom:-.5rem}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:hidden{display:none}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!size-8{width:2rem!important;height:2rem!important}.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)) skew(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,.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)) skew(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(--av-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\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:border-ring{border-color:hsl(var(--av-ring))}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border-sidebar-border{border-color:hsl(var(--av-nav-bg))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-0{padding:0!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-2{padding:.5rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:opacity-0{opacity:0}.group\/field[data-disabled=true] .group-data-\[disabled\=true\]\/field\:opacity-50{opacity:.5}.group[data-variant=floating] .group-data-\[variant\=floating\]\:shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(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\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:ring-\[3px\]{--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(3px + 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)}.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:ring-ring\/50{--tw-ring-color: hsl(var(--av-ring) / .5)}.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(--av-nav-bg))}.peer\/menu-button[data-size=default]~.peer-data-\[size\=default\]\/menu-button\:top-1\.5{top:.375rem}.peer\/menu-button[data-size=lg]~.peer-data-\[size\=lg\]\/menu-button\:top-2\.5{top:.625rem}.peer\/menu-button[data-size=sm]~.peer-data-\[size\=sm\]\/menu-button\:top-1{top:.25rem}.peer\/menu-button[data-active=true]~.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--av-text-inverse))}.dark\:-rotate-90:is(.dark *){--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:rotate-0:is(.dark *){--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:scale-0:is(.dark *){--tw-scale-x: 0;--tw-scale-y: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:scale-100:is(.dark *){--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media(min-width:640px){.sm\:mt-0{margin-top:0}.sm\:flex{display:flex}.sm\:max-w-sm{max-width:24rem}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--av-radius)}.sm\:text-left{text-align:left}}@media(min-width:768px){.md\:absolute{position:absolute}.md\:-ml-4{margin-left:-1rem}.md\:block{display:block}.md\:flex{display:flex}.md\:w-\[400px\]{width:400px}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:basis-1\/2{flex-basis:50%}.md\:flex-row{flex-direction:row}.md\:pl-4{padding-left:1rem}.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:.5rem}.peer[data-state=collapsed][data-variant=inset]~.md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2{margin-left:.5rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:ml-0{margin-left:0}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:rounded-xl{border-radius:.75rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(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\:flex{display:flex}.lg\:w-\[250px\]{width:250px}.lg\:space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:px-3{padding-left:.75rem;padding-right:.75rem}}.\[\&\:first-child\[data-selected\=true\]_button\]\:rounded-l-md:first-child[data-selected=true] button{border-top-left-radius:calc(var(--av-radius) - 2px);border-bottom-left-radius:calc(var(--av-radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\:last-child\[data-selected\=true\]_button\]\:rounded-r-md:last-child[data-selected=true] button{border-top-right-radius:calc(var(--av-radius) - 2px);border-bottom-right-radius:calc(var(--av-radius) - 2px)}.\[\&\>\*\:not\(\:first-child\)\]\:rounded-l-none>*:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.\[\&\>\*\:not\(\:first-child\)\]\:rounded-t-none>*:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.\[\&\>\*\:not\(\:first-child\)\]\:border-l-0>*:not(:first-child){border-left-width:0px}.\[\&\>\*\:not\(\:first-child\)\]\:border-t-0>*:not(:first-child){border-top-width:0px}.\[\&\>\*\:not\(\:last-child\)\]\:rounded-b-none>*:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.\[\&\>\*\:not\(\:last-child\)\]\:rounded-r-none>*:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.\[\&\>\*\]\:w-full>*{width:100%}.\[\&\>\*\]\:focus-visible\:relative:focus-visible>*{position:relative}.\[\&\>\*\]\:focus-visible\:z-10:focus-visible>*{z-index:10}.\[\&\>\.sr-only\]\:w-auto>.sr-only{width:auto}.\[\&\>\[data-slot\=field-group\]\]\:gap-4>[data-slot=field-group]{gap:1rem}.\[\&\>\[data-slot\=field-label\]\]\:flex-auto>[data-slot=field-label]{flex:1 1 auto}.\[\&\>\[data-slot\=field\]\]\:p-4>[data-slot=field]{padding:1rem}.has-\[select\[aria-hidden\=true\]\:last-child\]\:\[\&\>\[data-slot\=select-trigger\]\:last-of-type\]\:rounded-r-md>[data-slot=select-trigger]:last-of-type:has(select[aria-hidden=true]:last-child){border-top-right-radius:calc(var(--av-radius) - 2px);border-bottom-right-radius:calc(var(--av-radius) - 2px)}.\[\&\>\[data-slot\=select-trigger\]\:not\(\[class\*\=\'w-\'\]\)\]\:w-fit>[data-slot=select-trigger]:not([class*=w-]){width:-moz-fit-content;width:fit-content}.\[\&\>a\:hover\]\:text-primary>a:hover{color:hsl(var(--av-primary))}.\[\&\>a\]\:underline>a{text-decoration-line:underline}.\[\&\>a\]\:underline-offset-4>a{text-underline-offset:4px}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>input\]\:flex-1>input{flex:1 1 0%}.\[\&\>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\]\:text-xs>span{font-size:.75rem;line-height:1rem}.\[\&\>span\]\:opacity-70>span{opacity:.7}.\[\&\>svg\]\:size-3\.5>svg{width:.875rem;height:.875rem}.\[\&\>svg\]\:size-4>svg{width:1rem;height:1rem}.\[\&\>svg\]\:h-2\.5>svg{height:.625rem}.\[\&\>svg\]\:h-3>svg{height:.75rem}.\[\&\>svg\]\:h-4>svg{height:1rem}.\[\&\>svg\]\:w-2\.5>svg{width:.625rem}.\[\&\>svg\]\:w-3>svg{width:.75rem}.\[\&\>svg\]\:w-4>svg{width:1rem}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-\[\#2668C5\]>svg{--tw-text-opacity: 1;color:rgb(38 104 197 / var(--tw-text-opacity, 1))}.\[\&\>svg\]\:text-muted-foreground>svg{color:hsl(var(--av-muted-foreground))}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:hsl(var(--av-text-inverse))}.\[\&\>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)) skew(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)) skew(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(--av-muted-foreground))}.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"]{stroke:hsl(var(--av-border) / .5)}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:hsl(var(--av-border))}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke="#fff"]{stroke:transparent}.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke="#ccc"]{stroke:hsl(var(--av-border))}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:hsl(var(--av-muted))}.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke="#ccc"]{stroke:hsl(var(--av-border))}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke="#fff"]{stroke:transparent}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.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(--av-muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.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:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:1rem;height:1rem}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:h-full svg{height:100%}.\[\&_svg\]\:w-full svg{width:100%}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}.\[\&_tr\]\:border-border\/10 tr{border-color:hsl(var(--av-border) / .1)}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:-.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:-.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}[data-slot=card-content] .\[\[data-slot\=card-content\]_\&\]\:bg-transparent,[data-slot=popover-content] .\[\[data-slot\=popover-content\]_\&\]\:bg-transparent{background-color:transparent}[data-variant=legend]+.\[\[data-variant\=legend\]\+\&\]\:-mt-1\.5{margin-top:-.375rem}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
@use "./tokens";@use "./base";@use "./globals";*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
|
|
2
|
+
/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--av-font-sans),system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.top-0{top:0}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.m-0{margin:0}.m-1{margin:.25rem}.m-10{margin:2.5rem}.m-12{margin:3rem}.m-16{margin:4rem}.m-2{margin:.5rem}.m-20{margin:5rem}.m-24{margin:6rem}.m-3{margin:.75rem}.m-4{margin:1rem}.m-5{margin:1.25rem}.m-6{margin:1.5rem}.m-8{margin:2rem}.mx-auto{margin-left:auto;margin-right:auto}.my-auto{margin-top:auto;margin-bottom:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.inline-grid{display:inline-grid}.hidden{display:none}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.h-max{height:-moz-max-content;height:max-content}.h-min{height:-moz-min-content;height:min-content}.h-screen{height:100vh}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-1\/4{width:25%}.w-2\/3{width:66.666667%}.w-3\/4{width:75%}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-min{width:-moz-min-content;width:min-content}.w-screen{width:100vw}.-translate-x-full{--tw-translate-x:-100%}.-translate-x-full,.-translate-y-full{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-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-y-0{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-0{--tw-translate-y:0px}.-rotate-180{--tw-rotate:-180deg}.-rotate-180,.-rotate-45{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}.-rotate-90{--tw-rotate:-90deg}.-rotate-90,.rotate-0{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-0{--tw-rotate:0deg}.rotate-180{--tw-rotate:180deg}.rotate-180,.rotate-45{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}.rotate-90{--tw-rotate:90deg}.rotate-90,.scale-0{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))}.scale-0{--tw-scale-x:0;--tw-scale-y:0}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.scale-105{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))}.scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.scale-110,.scale-125{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))}.scale-125{--tw-scale-x:1.25;--tw-scale-y:1.25}.scale-150{--tw-scale-x:1.5;--tw-scale-y:1.5}.scale-150,.scale-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))}.scale-50{--tw-scale-x:.5;--tw-scale-y:.5}.scale-75{--tw-scale-x:.75;--tw-scale-y:.75}.scale-75,.scale-90{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))}.scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.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))}.cursor-auto{cursor:auto}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.cursor-wait{cursor:wait}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;user-select:text}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.select-auto{-webkit-user-select:auto;-moz-user-select:auto;user-select:auto}.resize-none{resize:none}.resize-y{resize:vertical}.resize-x{resize:horizontal}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.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}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-16{gap:4rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--av-radius)}.rounded-md{border-radius:calc(var(--av-radius) - 2px)}.rounded-sm{border-radius:calc(var(--av-radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-b{border-bottom-right-radius:.25rem}.rounded-b,.rounded-l{border-bottom-left-radius:.25rem}.rounded-l{border-top-left-radius:.25rem}.rounded-r{border-bottom-right-radius:.25rem}.rounded-r,.rounded-t{border-top-right-radius:.25rem}.rounded-t{border-top-left-radius:.25rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-8{border-width:8px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-double{border-style:double}.border-none{border-style:none}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-opacity-0{--tw-bg-opacity:0}.bg-opacity-100{--tw-bg-opacity:1}.bg-opacity-50{--tw-bg-opacity:0.5}.p-0{padding:0}.p-1{padding:.25rem}.p-10{padding:2.5rem}.p-12{padding:3rem}.p-16{padding:4rem}.p-2{padding:.5rem}.p-20{padding:5rem}.p-24{padding:6rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-7xl{font-size:4.5rem;line-height:1}.text-8xl{font-size:6rem;line-height:1}.text-9xl{font-size:8rem;line-height:1}.text-base{font-size:var(--av-font-size-base,16px);line-height:var(--av-line-height-base,1.5)}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-extralight{font-weight:200}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.font-thin{font-weight:100}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.not-italic{font-style:normal}.underline{text-decoration-line:underline}.overline{text-decoration-line:overline}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{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 rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-inner,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-none{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}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{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 rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-1000{transition-duration:1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.duration-100{animation-duration:.1s}.duration-1000{animation-duration:1s}.duration-150{animation-duration:.15s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.duration-700{animation-duration:.7s}.duration-75{animation-duration:75ms}.ease-in{animation-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.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)}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95;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))}.disabled\:opacity-50:disabled{opacity:.5}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}
|