@bizapps/design-system-testing 0.4.2 → 0.4.3
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 +210 -374
- package/dist/main.cjs +2 -1
- package/dist/main.cjs.map +1 -1
- package/dist/main.css +1 -1
- package/dist/main.js +2 -1
- package/dist/main.js.map +1 -1
- package/package.json +2 -16
- package/dist/inter-cyrillic-ext-wght-normal.woff2 +0 -0
- package/dist/inter-cyrillic-wght-normal.woff2 +0 -0
- package/dist/inter-greek-ext-wght-normal.woff2 +0 -0
- package/dist/inter-greek-wght-normal.woff2 +0 -0
- package/dist/inter-latin-ext-wght-normal.woff2 +0 -0
- package/dist/inter-latin-wght-normal.woff2 +0 -0
- package/dist/inter-vietnamese-wght-normal.woff2 +0 -0
- package/dist/main.css.map +0 -1
package/README.md
CHANGED
|
@@ -1,500 +1,336 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @bizapps/design-system-testing
|
|
2
2
|
|
|
3
|
-
A React component library for
|
|
3
|
+
A React component library built for TCCE CRM applications. Provides reusable, consistent UI components built with React, TypeScript, and Tailwind CSS v4.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
This is a **component library** designed to ensure visual and functional consistency across all TCCE CRM frontend applications. It includes:
|
|
8
|
-
|
|
9
|
-
- **50+ reusable components** (Button, Card, Dialog, Table, Forms, etc.)
|
|
10
|
-
- **Design tokens** (colors, typography, spacing, shadows)
|
|
11
|
-
- **Storybook documentation** for all components
|
|
12
|
-
- **TypeScript support** with full type definitions
|
|
5
|
+
---
|
|
13
6
|
|
|
14
7
|
## Table of Contents
|
|
15
8
|
|
|
16
|
-
- [
|
|
17
|
-
- [
|
|
18
|
-
- [
|
|
19
|
-
- [
|
|
20
|
-
- [
|
|
21
|
-
- [
|
|
22
|
-
- [Testing Components](#testing-components)
|
|
23
|
-
- [Publishing](#publishing)
|
|
9
|
+
- [Requirements](#requirements)
|
|
10
|
+
- [Installation](#installation)
|
|
11
|
+
- [Setup](#setup)
|
|
12
|
+
- [Usage](#usage)
|
|
13
|
+
- [Available Components](#available-components)
|
|
14
|
+
- [Design Tokens](#design-tokens)
|
|
24
15
|
- [Contributing](#contributing)
|
|
16
|
+
- [Publishing a New Version](#publishing-a-new-version)
|
|
25
17
|
- [Troubleshooting](#troubleshooting)
|
|
26
18
|
|
|
27
19
|
---
|
|
28
20
|
|
|
29
|
-
##
|
|
21
|
+
## Requirements
|
|
30
22
|
|
|
31
|
-
|
|
32
|
-
|------|---------|-------|
|
|
33
|
-
| **Node.js** | v18+ | LTS recommended |
|
|
34
|
-
| **pnpm** | v8+ | Package manager |
|
|
35
|
-
| **Docker** | v20+ | Required for containerized development |
|
|
36
|
-
| **Git** | Any | Version control |
|
|
23
|
+
Your project must have the following installed before using this library:
|
|
37
24
|
|
|
38
|
-
|
|
25
|
+
| Package | Version |
|
|
26
|
+
|---|---|
|
|
27
|
+
| `react` | ^19 |
|
|
28
|
+
| `react-dom` | ^19 |
|
|
29
|
+
| `tailwindcss` | ^4 |
|
|
30
|
+
| `@tailwindcss/vite` | ^4 |
|
|
39
31
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
docker network create tcce-network
|
|
44
|
-
```
|
|
32
|
+
> **Note:** `shadcn`, `tw-animate-css`, and font packages are already bundled inside the library's CSS. You do **not** need to install them separately.
|
|
45
33
|
|
|
46
|
-
|
|
34
|
+
---
|
|
47
35
|
|
|
48
|
-
|
|
36
|
+
## Installation
|
|
49
37
|
|
|
50
38
|
```bash
|
|
51
|
-
|
|
39
|
+
pnpm add @bizapps/design-system-testing
|
|
52
40
|
```
|
|
53
41
|
|
|
54
42
|
---
|
|
55
43
|
|
|
56
|
-
##
|
|
57
|
-
|
|
58
|
-
### Local Development
|
|
44
|
+
## Setup
|
|
59
45
|
|
|
60
|
-
|
|
61
|
-
# Clone the repository
|
|
62
|
-
git clone <repository-url>
|
|
63
|
-
cd tcce-design-system
|
|
46
|
+
### 1. Configure Vite
|
|
64
47
|
|
|
65
|
-
|
|
66
|
-
pnpm install
|
|
48
|
+
Add the Tailwind CSS plugin to your `vite.config.ts`:
|
|
67
49
|
|
|
68
|
-
|
|
69
|
-
|
|
50
|
+
```ts
|
|
51
|
+
import { defineConfig } from 'vite'
|
|
52
|
+
import react from '@vitejs/plugin-react'
|
|
53
|
+
import tailwindcss from '@tailwindcss/vite'
|
|
70
54
|
|
|
71
|
-
|
|
72
|
-
|
|
55
|
+
export default defineConfig({
|
|
56
|
+
plugins: [
|
|
57
|
+
react(),
|
|
58
|
+
tailwindcss(),
|
|
59
|
+
],
|
|
60
|
+
})
|
|
73
61
|
```
|
|
74
62
|
|
|
75
|
-
|
|
76
|
-
- Storybook: http://localhost:6006
|
|
77
|
-
- Vite Dev: http://localhost:5173
|
|
63
|
+
### 2. Import the styles
|
|
78
64
|
|
|
79
|
-
|
|
65
|
+
In your main CSS file (e.g. `src/index.css`), add these two lines **in this order**:
|
|
80
66
|
|
|
81
|
-
```
|
|
82
|
-
|
|
67
|
+
```css
|
|
68
|
+
@import "tailwindcss";
|
|
69
|
+
@import "@bizapps/design-system-testing/styles";
|
|
83
70
|
```
|
|
84
71
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
## Project Structure
|
|
88
|
-
|
|
89
|
-
```
|
|
90
|
-
tcce-design-system/
|
|
91
|
-
├── src/
|
|
92
|
-
│ ├── components/ # All UI components
|
|
93
|
-
│ │ ├── Badge/
|
|
94
|
-
│ │ ├── Button/
|
|
95
|
-
│ │ ├── Can/ # Authorization component
|
|
96
|
-
│ │ ├── Card/
|
|
97
|
-
│ │ ├── Divider/
|
|
98
|
-
│ │ ├── Icon/
|
|
99
|
-
│ │ ├── InfoLabel/
|
|
100
|
-
│ │ ├── Spinner/
|
|
101
|
-
│ │ ├── Stepper/
|
|
102
|
-
│ │ ├── Typography/
|
|
103
|
-
│ │ ├── Token/ # Design tokens showcase
|
|
104
|
-
│ │ ├── forms/ # Form components
|
|
105
|
-
│ │ │ ├── Checkbox/
|
|
106
|
-
│ │ │ ├── FormField/
|
|
107
|
-
│ │ │ ├── PinInput/
|
|
108
|
-
│ │ │ ├── RadioInput/
|
|
109
|
-
│ │ │ └── inputs/ # Input components
|
|
110
|
-
│ │ ├── layout/ # Layout components
|
|
111
|
-
│ │ ├── navigations/ # Navigation components
|
|
112
|
-
│ │ ├── notifications/ # Toast & notifications
|
|
113
|
-
│ │ ├── overlays/ # Dialog, Tooltip, etc.
|
|
114
|
-
│ │ └── Table/ # Data tables
|
|
115
|
-
│ ├── shared/
|
|
116
|
-
│ │ ├── hooks/ # Shared React hooks
|
|
117
|
-
│ │ ├── types/ # Global TypeScript types
|
|
118
|
-
│ │ └── utils/ # Utility functions
|
|
119
|
-
│ ├── globals.css # Global styles
|
|
120
|
-
│ ├── tokens.css # Design tokens CSS
|
|
121
|
-
│ └── main.ts # Library entry point
|
|
122
|
-
├── .storybook/ # Storybook configuration
|
|
123
|
-
├── public/ # Static assets (fonts, images)
|
|
124
|
-
├── dist/ # Build output (generated)
|
|
125
|
-
├── package.json
|
|
126
|
-
├── vite.config.ts
|
|
127
|
-
├── tsconfig.json
|
|
128
|
-
└── eslint.config.js
|
|
129
|
-
```
|
|
72
|
+
> **Important:** `tailwindcss` must come **before** the library styles so that Tailwind's base layer is available when the library's theme tokens are applied.
|
|
130
73
|
|
|
131
|
-
###
|
|
74
|
+
### 3. Import the CSS in your entry point
|
|
132
75
|
|
|
133
|
-
|
|
76
|
+
Make sure your `src/main.tsx` imports the CSS file:
|
|
134
77
|
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
├── ComponentName.tsx # Main component
|
|
138
|
-
├── ComponentName.types.ts # TypeScript interfaces
|
|
139
|
-
├── ComponentName.styles.ts # Styled-components styles
|
|
140
|
-
├── ComponentName.stories.tsx # Storybook stories
|
|
141
|
-
├── index.ts # Barrel export
|
|
142
|
-
└── components/ # Sub-components (if needed)
|
|
78
|
+
```tsx
|
|
79
|
+
import './index.css'
|
|
143
80
|
```
|
|
144
81
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
## Development
|
|
82
|
+
That's it. No further configuration is needed.
|
|
148
83
|
|
|
149
|
-
|
|
84
|
+
---
|
|
150
85
|
|
|
151
|
-
|
|
152
|
-
|---------|-------------|
|
|
153
|
-
| `pnpm dev` | Start Vite development server |
|
|
154
|
-
| `pnpm storybook` | Start Storybook (recommended) |
|
|
155
|
-
| `pnpm build` | Build library for production |
|
|
156
|
-
| `pnpm build-storybook` | Build static Storybook |
|
|
157
|
-
| `pnpm preview` | Preview production build |
|
|
158
|
-
| `pnpm lint` | Run ESLint |
|
|
159
|
-
| `pnpm lint:fix` | Fix ESLint issues |
|
|
160
|
-
| `pnpm format` | Format with Prettier |
|
|
86
|
+
## Usage
|
|
161
87
|
|
|
162
|
-
|
|
88
|
+
Import components directly from the package:
|
|
163
89
|
|
|
164
|
-
|
|
90
|
+
```tsx
|
|
91
|
+
import { Button } from '@bizapps/design-system-testing'
|
|
165
92
|
|
|
166
|
-
|
|
167
|
-
|
|
93
|
+
function App() {
|
|
94
|
+
return (
|
|
95
|
+
<Button variant="primary" size="md">
|
|
96
|
+
Click me
|
|
97
|
+
</Button>
|
|
98
|
+
)
|
|
99
|
+
}
|
|
168
100
|
```
|
|
169
101
|
|
|
170
102
|
---
|
|
171
103
|
|
|
172
|
-
##
|
|
173
|
-
|
|
174
|
-
### Creating a New Component
|
|
104
|
+
## Available Components
|
|
175
105
|
|
|
176
|
-
|
|
106
|
+
### Button
|
|
177
107
|
|
|
178
|
-
```
|
|
179
|
-
|
|
108
|
+
```tsx
|
|
109
|
+
import { Button } from '@bizapps/design-system-testing'
|
|
180
110
|
```
|
|
181
111
|
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
112
|
+
#### Props
|
|
113
|
+
|
|
114
|
+
| Prop | Type | Default | Description |
|
|
115
|
+
|---|---|---|---|
|
|
116
|
+
| `variant` | `'primary' \| 'secondary' \| 'cancel' \| 'outline' \| 'ghost'` | `'primary'` | Visual style of the button |
|
|
117
|
+
| `size` | `'sm' \| 'md' \| 'lg' \| 'icon-sm'` | `'md'` | Size of the button |
|
|
118
|
+
| `isLoading` | `boolean` | `false` | Shows a loading state |
|
|
119
|
+
| `disabled` | `boolean` | `false` | Disables the button |
|
|
120
|
+
| `asChild` | `boolean` | `false` | Renders as child element (via Radix Slot) |
|
|
121
|
+
|
|
122
|
+
#### Examples
|
|
123
|
+
|
|
124
|
+
```tsx
|
|
125
|
+
// Variants
|
|
126
|
+
<Button variant="primary">Primary</Button>
|
|
127
|
+
<Button variant="secondary">Secondary</Button>
|
|
128
|
+
<Button variant="cancel">Cancel</Button>
|
|
129
|
+
<Button variant="outline">Outline</Button>
|
|
130
|
+
<Button variant="ghost">Ghost</Button>
|
|
131
|
+
|
|
132
|
+
// Sizes
|
|
133
|
+
<Button size="sm">Small</Button>
|
|
134
|
+
<Button size="md">Medium</Button>
|
|
135
|
+
<Button size="lg">Large</Button>
|
|
136
|
+
|
|
137
|
+
// States
|
|
138
|
+
<Button disabled>Disabled</Button>
|
|
139
|
+
<Button isLoading>Loading...</Button>
|
|
140
|
+
|
|
141
|
+
// As a link (using asChild)
|
|
142
|
+
<Button asChild variant="primary">
|
|
143
|
+
<a href="/dashboard">Go to Dashboard</a>
|
|
144
|
+
</Button>
|
|
190
145
|
```
|
|
191
146
|
|
|
192
|
-
|
|
193
|
-
// MyComponent.tsx
|
|
194
|
-
import type { MyComponentProps } from './MyComponent.types';
|
|
195
|
-
import { StyledMyComponent } from './MyComponent.styles';
|
|
196
|
-
|
|
197
|
-
export const MyComponent = ({ variant = 'primary', ...props }: MyComponentProps) => {
|
|
198
|
-
return <StyledMyComponent $variant={variant} {...props} />;
|
|
199
|
-
};
|
|
200
|
-
```
|
|
147
|
+
---
|
|
201
148
|
|
|
202
|
-
|
|
203
|
-
// MyComponent.styles.ts
|
|
204
|
-
import styled from 'styled-components';
|
|
149
|
+
## Design Tokens
|
|
205
150
|
|
|
206
|
-
|
|
207
|
-
/* Styles using Tailwind and styled-components */
|
|
208
|
-
`;
|
|
209
|
-
```
|
|
151
|
+
The library exposes a full set of CSS custom properties (design tokens) that you can use directly in your project's styles. These are injected globally when you import the library styles.
|
|
210
152
|
|
|
211
|
-
|
|
212
|
-
// MyComponent.stories.tsx
|
|
213
|
-
import type { Meta, StoryObj } from '@storybook/react';
|
|
214
|
-
import { MyComponent } from './MyComponent';
|
|
215
|
-
|
|
216
|
-
const meta = {
|
|
217
|
-
title: 'Controls/MyComponent',
|
|
218
|
-
component: MyComponent,
|
|
219
|
-
tags: ['autodocs'],
|
|
220
|
-
} satisfies Meta<typeof MyComponent>;
|
|
221
|
-
|
|
222
|
-
export default meta;
|
|
223
|
-
type Story = StoryObj<typeof meta>;
|
|
224
|
-
|
|
225
|
-
export const Primary: Story = {
|
|
226
|
-
args: {
|
|
227
|
-
variant: 'primary',
|
|
228
|
-
},
|
|
229
|
-
};
|
|
230
|
-
```
|
|
153
|
+
### Colors
|
|
231
154
|
|
|
232
|
-
```
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
155
|
+
```css
|
|
156
|
+
/* Brand */
|
|
157
|
+
--color-main-blue-primary: #22205f;
|
|
158
|
+
--color-main-orange-primary: #f66a24;
|
|
159
|
+
--color-main-grey: #605f60;
|
|
237
160
|
|
|
238
|
-
|
|
161
|
+
/* Semantic */
|
|
162
|
+
--color-main-positive-state: #01d42f; /* success */
|
|
163
|
+
--color-main-warning-state: #ea3a3d; /* error/danger */
|
|
164
|
+
--color-main-yellow-primary: #faca4a; /* warning */
|
|
239
165
|
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
166
|
+
/* Scales: dark, light, blue, red, orange, yellow, green, purple */
|
|
167
|
+
/* Each scale goes from 100 (lightest) to 1000 (darkest) */
|
|
168
|
+
--color-blue-100 through --color-blue-1000
|
|
169
|
+
--color-green-100 through --color-green-1000
|
|
170
|
+
/* ...etc */
|
|
243
171
|
```
|
|
244
172
|
|
|
245
|
-
|
|
173
|
+
### Border Radius
|
|
246
174
|
|
|
247
|
-
```
|
|
248
|
-
|
|
175
|
+
```css
|
|
176
|
+
--border-radius-button: 1.875rem;
|
|
177
|
+
--border-radius-secondary-button: 0.625rem;
|
|
178
|
+
--border-radius-card: 1.25rem;
|
|
179
|
+
--border-radius-article: 0.875rem;
|
|
180
|
+
--border-radius-outline: 0.5rem;
|
|
249
181
|
```
|
|
250
182
|
|
|
251
|
-
###
|
|
183
|
+
### Shadows
|
|
252
184
|
|
|
253
|
-
|
|
254
|
-
-
|
|
255
|
-
-
|
|
256
|
-
-
|
|
257
|
-
-
|
|
185
|
+
```css
|
|
186
|
+
--shadow-black-card
|
|
187
|
+
--shadow-hover-black-card
|
|
188
|
+
--shadow-black-button
|
|
189
|
+
--shadow-hover-black-button
|
|
190
|
+
--shadow-hover-orange-button
|
|
191
|
+
```
|
|
258
192
|
|
|
259
|
-
|
|
193
|
+
### Typography
|
|
260
194
|
|
|
261
|
-
|
|
195
|
+
The library includes the following fonts, loaded automatically:
|
|
262
196
|
|
|
263
|
-
|
|
197
|
+
- **Inter Variable** — primary UI font (`--font-sans`)
|
|
198
|
+
- **Dax** — brand heading font
|
|
199
|
+
- **Helvetica Neue** — secondary font
|
|
264
200
|
|
|
265
|
-
|
|
266
|
-
- **ESLint** - Code linting
|
|
267
|
-
- **Prettier** - Code formatting
|
|
268
|
-
- **TypeScript** - Type safety
|
|
201
|
+
### Using tokens in your CSS
|
|
269
202
|
|
|
270
|
-
|
|
203
|
+
```css
|
|
204
|
+
.my-card {
|
|
205
|
+
background: var(--color-main-white);
|
|
206
|
+
border-radius: var(--border-radius-card);
|
|
207
|
+
box-shadow: var(--shadow-black-card);
|
|
208
|
+
}
|
|
271
209
|
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
210
|
+
.my-card:hover {
|
|
211
|
+
box-shadow: var(--shadow-hover-black-card);
|
|
212
|
+
}
|
|
213
|
+
```
|
|
275
214
|
|
|
276
|
-
|
|
277
|
-
pnpm lint:fix
|
|
215
|
+
### Using tokens in Tailwind classes
|
|
278
216
|
|
|
279
|
-
|
|
280
|
-
pnpm format
|
|
217
|
+
The tokens are also registered as Tailwind theme values, so you can use them as utility classes:
|
|
281
218
|
|
|
282
|
-
|
|
283
|
-
|
|
219
|
+
```tsx
|
|
220
|
+
<div className="bg-main-blue-primary text-main-white rounded-card shadow-black-card">
|
|
221
|
+
Hello
|
|
222
|
+
</div>
|
|
284
223
|
```
|
|
285
224
|
|
|
286
|
-
|
|
225
|
+
---
|
|
287
226
|
|
|
288
|
-
|
|
227
|
+
## Contributing
|
|
228
|
+
|
|
229
|
+
### Local Development
|
|
289
230
|
|
|
290
231
|
```bash
|
|
291
|
-
|
|
292
|
-
|
|
232
|
+
# Clone the repo
|
|
233
|
+
git clone <repository-url>
|
|
234
|
+
cd tcce-design-system
|
|
293
235
|
|
|
294
|
-
|
|
236
|
+
# Install dependencies
|
|
237
|
+
pnpm install
|
|
295
238
|
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
- Prettier formatting required
|
|
239
|
+
# Start Storybook (recommended)
|
|
240
|
+
pnpm storybook
|
|
241
|
+
# → http://localhost:6006
|
|
300
242
|
|
|
301
|
-
|
|
243
|
+
# OR start Vite dev server
|
|
244
|
+
pnpm dev
|
|
245
|
+
# → http://localhost:5173
|
|
246
|
+
```
|
|
302
247
|
|
|
303
|
-
|
|
248
|
+
### Adding a New Component
|
|
304
249
|
|
|
305
|
-
|
|
250
|
+
1. Create the component folder under `src/components/ui/ComponentName/`
|
|
251
|
+
2. Build the component following the existing `Button` pattern
|
|
252
|
+
3. Export it from `src/main.ts`
|
|
253
|
+
4. Add a Storybook story under `src/stories/`
|
|
306
254
|
|
|
307
|
-
|
|
255
|
+
### Code Quality
|
|
308
256
|
|
|
309
257
|
```bash
|
|
310
|
-
pnpm
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
-
|
|
314
|
-
- Use **Controls** panel to test props
|
|
315
|
-
- Use **Actions** panel to see event handlers
|
|
316
|
-
- Check **Accessibility** tab for a11y issues
|
|
317
|
-
|
|
318
|
-
### Component Story Format
|
|
319
|
-
|
|
320
|
-
Write stories following CSF (Component Story Format):
|
|
321
|
-
|
|
322
|
-
```typescript
|
|
323
|
-
// ComponentName.stories.tsx
|
|
324
|
-
import type { Meta, StoryObj } from '@storybook/react';
|
|
325
|
-
import { ComponentName } from './ComponentName';
|
|
326
|
-
|
|
327
|
-
const meta = {
|
|
328
|
-
title: 'Category/ComponentName',
|
|
329
|
-
component: ComponentName,
|
|
330
|
-
parameters: {
|
|
331
|
-
layout: 'centered',
|
|
332
|
-
},
|
|
333
|
-
tags: ['autodocs'],
|
|
334
|
-
argTypes: {
|
|
335
|
-
variant: { control: 'select', options: ['primary', 'secondary'] },
|
|
336
|
-
},
|
|
337
|
-
} satisfies Meta<typeof ComponentName>;
|
|
338
|
-
|
|
339
|
-
export default meta;
|
|
340
|
-
type Story = StoryObj<typeof meta>;
|
|
341
|
-
|
|
342
|
-
export const Primary: Story = {
|
|
343
|
-
args: {
|
|
344
|
-
variant: 'primary',
|
|
345
|
-
label: 'Click me',
|
|
346
|
-
},
|
|
347
|
-
};
|
|
348
|
-
|
|
349
|
-
export const Secondary: Story = {
|
|
350
|
-
args: {
|
|
351
|
-
variant: 'secondary',
|
|
352
|
-
label: 'Cancel',
|
|
353
|
-
},
|
|
354
|
-
};
|
|
258
|
+
pnpm lint # check for lint errors
|
|
259
|
+
pnpm lint:fix # auto-fix lint errors
|
|
260
|
+
pnpm format # format with Prettier
|
|
261
|
+
pnpm type-check # TypeScript check without building
|
|
355
262
|
```
|
|
356
263
|
|
|
357
264
|
---
|
|
358
265
|
|
|
359
|
-
## Publishing
|
|
266
|
+
## Publishing a New Version
|
|
360
267
|
|
|
361
|
-
|
|
268
|
+
1. Make your changes and commit them:
|
|
362
269
|
|
|
363
270
|
```bash
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
# Check dist folder
|
|
368
|
-
ls dist/
|
|
271
|
+
git add -A
|
|
272
|
+
git commit -m "feat: description of changes"
|
|
369
273
|
```
|
|
370
274
|
|
|
371
|
-
|
|
275
|
+
2. Update the version in `package.json` following [semver](https://semver.org/):
|
|
276
|
+
- `patch` (0.4.x) → bug fixes
|
|
277
|
+
- `minor` (0.x.0) → new components or features
|
|
278
|
+
- `major` (x.0.0) → breaking changes
|
|
372
279
|
|
|
373
|
-
|
|
374
|
-
# Login to npm
|
|
375
|
-
npm login
|
|
280
|
+
3. Build the library:
|
|
376
281
|
|
|
377
|
-
|
|
378
|
-
|
|
282
|
+
```bash
|
|
283
|
+
pnpm build
|
|
379
284
|
```
|
|
380
285
|
|
|
381
|
-
|
|
382
|
-
- `dist/tcce-design-system-components.js` (ESM)
|
|
383
|
-
- `dist/tcce-design-system-components.umd.cjs` (UMD)
|
|
384
|
-
- `dist/tcce-design-system-components.css`
|
|
385
|
-
- Type definitions via `vite-plugin-dts`
|
|
386
|
-
|
|
387
|
-
### Consuming in Other Projects
|
|
286
|
+
4. Publish to npm:
|
|
388
287
|
|
|
389
288
|
```bash
|
|
390
|
-
|
|
391
|
-
pnpm add tcce-design-system
|
|
392
|
-
|
|
393
|
-
# Or from local path
|
|
394
|
-
pnpm add ../tcce-design-system
|
|
289
|
+
npm publish --access public
|
|
395
290
|
```
|
|
396
291
|
|
|
397
|
-
|
|
398
|
-
// Usage
|
|
399
|
-
import { Button, Card } from 'tcce-design-system';
|
|
400
|
-
import 'tcce-design-system/dist/tcce-design-system-components.css';
|
|
401
|
-
```
|
|
292
|
+
> Use `npm publish` (not `pnpm publish`) to avoid branch and git-state validation errors from pnpm.
|
|
402
293
|
|
|
403
294
|
---
|
|
404
295
|
|
|
405
|
-
##
|
|
406
|
-
|
|
407
|
-
### Workflow
|
|
408
|
-
|
|
409
|
-
1. **Create a branch:**
|
|
410
|
-
```bash
|
|
411
|
-
git checkout -b feature/component-name
|
|
412
|
-
```
|
|
413
|
-
|
|
414
|
-
2. **Make changes:**
|
|
415
|
-
- Follow component patterns
|
|
416
|
-
- Add Storybook stories
|
|
417
|
-
- Update types
|
|
418
|
-
|
|
419
|
-
3. **Run quality checks:**
|
|
420
|
-
```bash
|
|
421
|
-
pnpm lint:fix
|
|
422
|
-
pnpm format
|
|
423
|
-
pnpm build
|
|
424
|
-
```
|
|
425
|
-
|
|
426
|
-
4. **Commit and push:**
|
|
427
|
-
```bash
|
|
428
|
-
git add .
|
|
429
|
-
git commit -m "feat: add new component"
|
|
430
|
-
git push origin feature/component-name
|
|
431
|
-
```
|
|
432
|
-
|
|
433
|
-
5. **Create Pull Request**
|
|
434
|
-
|
|
435
|
-
### Coding Standards
|
|
296
|
+
## Troubleshooting
|
|
436
297
|
|
|
437
|
-
|
|
438
|
-
- Use **styled-components** for styling
|
|
439
|
-
- Use **Tailwind CSS** utilities via `@apply`
|
|
440
|
-
- Follow existing component patterns
|
|
441
|
-
- Write **stories** for all components
|
|
442
|
-
- Use **transient props** (`$prop`) in styled-components
|
|
443
|
-
- **No comments** unless absolutely necessary
|
|
298
|
+
### Styles not applying
|
|
444
299
|
|
|
445
|
-
|
|
300
|
+
Make sure the import order in your CSS file is correct — `tailwindcss` must come first:
|
|
446
301
|
|
|
447
|
-
|
|
302
|
+
```css
|
|
303
|
+
@import "tailwindcss"; /* ✅ first */
|
|
304
|
+
@import "@bizapps/design-system-testing/styles"; /* ✅ second */
|
|
305
|
+
```
|
|
448
306
|
|
|
449
|
-
|
|
450
|
-
- **MINOR**: New features (backward compatible)
|
|
451
|
-
- **PATCH**: Bug fixes
|
|
307
|
+
### `Cannot resolve './tokens.css'` or similar errors
|
|
452
308
|
|
|
453
|
-
|
|
309
|
+
This means you're using an older version of the package (0.4.0 or 0.4.1). Update to the latest version:
|
|
454
310
|
|
|
455
|
-
|
|
311
|
+
```bash
|
|
312
|
+
pnpm add @bizapps/design-system-testing@latest
|
|
313
|
+
```
|
|
456
314
|
|
|
457
|
-
|
|
315
|
+
### `Scope not found` on publish
|
|
458
316
|
|
|
459
|
-
|
|
317
|
+
The npm scope `@bizapps` belongs to the `bizapps` npm user account. Make sure you're logged in as that user:
|
|
460
318
|
|
|
461
|
-
**Port already in use:**
|
|
462
319
|
```bash
|
|
463
|
-
#
|
|
464
|
-
|
|
465
|
-
kill -9 <PID>
|
|
320
|
+
npm whoami # should return: bizapps
|
|
321
|
+
npm login # if not logged in
|
|
466
322
|
```
|
|
467
323
|
|
|
468
|
-
|
|
469
|
-
```bash
|
|
470
|
-
rm -rf node_modules
|
|
471
|
-
pnpm install
|
|
472
|
-
```
|
|
324
|
+
### pnpm `minimumReleaseAge` policy error
|
|
473
325
|
|
|
474
|
-
|
|
475
|
-
```bash
|
|
476
|
-
docker build --no-cache -t tcce-design-system .
|
|
477
|
-
```
|
|
326
|
+
If pnpm blocks installation of a recently published version, run:
|
|
478
327
|
|
|
479
|
-
**TypeScript errors:**
|
|
480
328
|
```bash
|
|
481
|
-
|
|
482
|
-
npx tsc --noEmit
|
|
329
|
+
pnpm config set minimum-release-age 0 --location project
|
|
483
330
|
```
|
|
484
331
|
|
|
485
|
-
### Getting Help
|
|
486
|
-
|
|
487
|
-
- Check Storybook docs: http://localhost:6006
|
|
488
|
-
- Review existing component patterns
|
|
489
|
-
- Contact: bizapps@tcce.biz
|
|
490
|
-
|
|
491
332
|
---
|
|
492
333
|
|
|
493
334
|
## License
|
|
494
335
|
|
|
495
|
-
MIT
|
|
496
|
-
|
|
497
|
-
## Team
|
|
498
|
-
|
|
499
|
-
- **Author:** BizAppsTotal <bizapps@tcce.biz>
|
|
500
|
-
- **Version:** 0.3.24
|
|
336
|
+
MIT — BizAppsTotal <bizapps@tcce.biz>
|
package/dist/main.cjs
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
require('./styles/globals.css');
|
|
3
4
|
require('react');
|
|
4
5
|
var classVarianceAuthority = require('class-variance-authority');
|
|
5
6
|
var radixUi = require('radix-ui');
|
|
@@ -7,7 +8,7 @@ var clsx = require('clsx');
|
|
|
7
8
|
var tailwindMerge = require('tailwind-merge');
|
|
8
9
|
var jsxRuntime = require('react/jsx-runtime');
|
|
9
10
|
|
|
10
|
-
// src/
|
|
11
|
+
// src/main.ts
|
|
11
12
|
function cn(...inputs) {
|
|
12
13
|
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
13
14
|
}
|
package/dist/main.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/utils.ts","../src/components/ui/Button/button.tsx"],"names":["twMerge","clsx","cva","Slot","jsx"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/lib/utils.ts","../src/components/ui/Button/button.tsx"],"names":["twMerge","clsx","cva","Slot","jsx"],"mappings":";;;;;;;;;;;AAGO,SAAS,MAAM,MAAA,EAAsB;AAC1C,EAAA,OAAOA,qBAAA,CAAQC,SAAA,CAAK,MAAM,CAAC,CAAA;AAC7B;ACCA,IAAM,cAAA,GAAiBC,0BAAA;AAAA,EACrB,4kBAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACL,OAAA,EACI,sFAAA;AAAA,QACJ,SAAA,EACI,2GAAA;AAAA,QACJ,MAAA,EACI,4GAAA;AAAA,QACJ,OAAA,EACI,0IAAA;AAAA,QACJ,KAAA,EACI;AAAA,OACR;AAAA,MACA,IAAA,EAAM;AAAA,QACF,EAAA,EAAI,kBAAA;AAAA,QACJ,EAAA,EAAI,kBAAA;AAAA,QACJ,EAAA,EAAI,mBAAA;AAAA,QACJ,SAAA,EAAW;AAAA;AACf,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS,SAAA;AAAA,MACT,IAAA,EAAM;AAAA;AACR;AAEJ;AAEA,SAAS,MAAA,CAAO;AAAA,EACZ,SAAA;AAAA,EACA,OAAA,GAAU,SAAA;AAAA,EACV,IAAA,GAAO,IAAA;AAAA,EACP,OAAA,GAAU,KAAA;AAAA,EACV,SAAA,GAAY,KAAA;AAAA,EACZ,QAAA;AAAA,EACA,GAAG;AACP,CAAA,EAIO;AACL,EAAA,MAAM,IAAA,GAAO,OAAA,GAAUC,YAAA,CAAK,IAAA,GAAO,QAAA;AAEnC,EAAA,uBACEC,cAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,QAAA;AAAA,MACV,cAAA,EAAc,OAAA;AAAA,MACd,WAAA,EAAW,IAAA;AAAA,MACX,SAAA,EAAW,GAAG,cAAA,CAAe,EAAE,SAAS,IAAA,EAAM,SAAA,EAAW,CAAC,CAAA;AAAA,MACzD,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ","file":"main.cjs","sourcesContent":["import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst buttonVariants = cva(\n \"group/button inline-flex shrink-0 items-center justify-center gap-2 rounded-md border border-transparent bg-clip-padding text-sm font-semibold whitespace-nowrap transition-all duration-150 outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/30 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n primary:\n 'bg-primary text-primary-foreground hover:bg-primary/80 focus-visible:ring-primary/30',\n secondary:\n 'bg-secondary text-secondary-foreground hover:bg-[var(--color-orange-700)] focus-visible:ring-secondary/30',\n cancel:\n 'bg-destructive text-secondary-foreground hover:bg-[var(--color-red-600)] focus-visible:ring-destructive/30',\n outline:\n 'border-2 border-white bg-transparent text-white hover:bg-white hover:text-[var(--color-main-orange-primary)] focus-visible:ring-white/30',\n ghost: \n 'bg-transparent text-foreground hover:bg-[var(--color-orange-100)] hover:text-[var(--color-main-orange-primary)] focus-visible:ring-ring/30',\n },\n size: {\n sm: 'h-8 px-3 text-xs',\n md: 'h-9 px-4 text-sm',\n lg: 'h-10 px-6 text-sm',\n 'icon-sm': 'size-8 rounded-full p-0',\n },\n },\n defaultVariants: {\n variant: 'primary',\n size: 'md',\n },\n }\n)\n\nfunction Button({\n className,\n variant = 'primary',\n size = 'md',\n asChild = false,\n isLoading = false,\n children,\n ...props\n}: React.ComponentProps<'button'> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean\n isLoading?: boolean\n }) {\n const Comp = asChild ? Slot.Root : \"button\"\n\n return (\n <Comp\n data-slot=\"button\"\n data-variant={variant}\n data-size={size}\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n >\n {children}\n </Comp>\n )\n}\n\nexport { Button, buttonVariants }\n"]}
|
package/dist/main.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-contain-size:initial;--tw-contain-layout:initial;--tw-contain-paint:initial;--tw-contain-style:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@font-face{font-family:Dax;src:url(https://dibt9vplwriap.cloudfront.net/dax-regular/dax-regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Dax;src:url(https://dibt9vplwriap.cloudfront.net/Dax-Bold/Dax-Bold.otf)format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueUltraLight.otf)format("opentype");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueUltraLightItalic.otf)format("opentype");font-weight:200;font-style:italic;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueThin.otf)format("opentype");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueThinItalic.otf)format("opentype");font-weight:100;font-style:italic;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueLight.otf)format("opentype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueLightItalic.otf)format("opentype");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueRoman.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueItalic.ttf)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueMedium.otf)format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueMediumItalic.otf)format("opentype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueBold.otf)format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueBoldItalic.otf)format("opentype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueHeavy.otf)format("opentype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueHeavyItalic.otf)format("opentype");font-weight:800;font-style:italic;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueBlack.otf)format("opentype");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueBlackItalic.otf)format("opentype");font-weight:900;font-style:italic;font-display:swap}@layer theme{:root,:host{--font-sans:"Inter Variable", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-100:var(--color-red-100);--color-red-200:var(--color-red-200);--color-red-300:var(--color-red-300);--color-red-400:var(--color-red-400);--color-red-500:var(--color-red-500);--color-red-600:var(--color-red-600);--color-red-700:var(--color-red-700);--color-red-800:var(--color-red-800);--color-red-900:var(--color-red-900);--color-orange-100:var(--color-orange-100);--color-orange-200:var(--color-orange-200);--color-orange-300:var(--color-orange-300);--color-orange-400:var(--color-orange-400);--color-orange-500:var(--color-orange-500);--color-orange-700:var(--color-orange-700);--color-orange-800:var(--color-orange-800);--color-orange-900:var(--color-orange-900);--color-yellow-100:var(--color-yellow-100);--color-yellow-200:var(--color-yellow-200);--color-yellow-300:var(--color-yellow-300);--color-yellow-400:var(--color-yellow-400);--color-yellow-500:var(--color-yellow-500);--color-yellow-600:var(--color-yellow-600);--color-yellow-700:var(--color-yellow-700);--color-yellow-800:var(--color-yellow-800);--color-yellow-900:var(--color-yellow-900);--color-lime-300:oklch(89.7% .196 126.665);--color-green-100:var(--color-green-100);--color-green-200:var(--color-green-200);--color-green-300:var(--color-green-300);--color-green-400:var(--color-green-400);--color-green-500:var(--color-green-500);--color-green-600:var(--color-green-600);--color-green-700:var(--color-green-700);--color-green-800:var(--color-green-800);--color-green-900:var(--color-green-900);--color-emerald-600:oklch(59.6% .145 163.225);--color-blue-100:var(--color-blue-100);--color-blue-200:var(--color-blue-200);--color-blue-300:var(--color-blue-300);--color-blue-400:var(--color-blue-400);--color-blue-500:var(--color-blue-500);--color-blue-600:var(--color-blue-600);--color-blue-700:var(--color-blue-700);--color-blue-800:var(--color-blue-800);--color-blue-900:var(--color-blue-900);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-purple-100:var(--color-purple-100);--color-purple-200:var(--color-purple-200);--color-purple-300:var(--color-purple-300);--color-purple-400:var(--color-purple-400);--color-purple-500:var(--color-purple-500);--color-purple-600:var(--color-purple-600);--color-purple-700:var(--color-purple-700);--color-purple-800:var(--color-purple-800);--color-purple-900:var(--color-purple-900);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-gray-950:oklch(13% .028 261.692);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-2xl:42rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--radius-lg:var(--radius);--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--animate-bounce:bounce 1s infinite;--blur-sm:8px;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Inter Variable", sans-serif;--default-mono-font-family:var(--font-mono);--color-main-blue-primary:var(--color-main-blue-primary);--color-main-orange-primary:var(--color-main-orange-primary);--color-main-grey:var(--color-main-grey);--color-main-alternative:var(--color-main-alternative);--color-main-alternative-secondary:var(--color-main-alternative-secondary);--color-main-positive-state:var(--color-main-positive-state);--color-main-warning-state:var(--color-main-warning-state);--color-main-yellow-primary:var(--color-main-yellow-primary);--color-main-white:var(--color-main-white);--color-main-black:var(--color-main-black);--color-main-light-borders:var(--color-main-light-borders);--color-main-input-borders:var(--color-main-input-borders);--color-dark-100:var(--color-dark-100);--color-dark-200:var(--color-dark-200);--color-dark-300:var(--color-dark-300);--color-dark-400:var(--color-dark-400);--color-dark-500:var(--color-dark-500);--color-dark-600:var(--color-dark-600);--color-dark-700:var(--color-dark-700);--color-dark-800:var(--color-dark-800);--color-dark-900:var(--color-dark-900);--color-light-100:var(--color-light-100);--color-light-200:var(--color-light-200);--color-light-300:var(--color-light-300);--color-light-400:var(--color-light-400);--color-light-500:var(--color-light-500);--color-light-600:var(--color-light-600);--color-light-700:var(--color-light-700);--color-light-800:var(--color-light-800);--color-light-900:var(--color-light-900);--color-light-1000:var(--color-light-1000);--color-blue-1000:var(--color-blue-1000);--color-red-1000:var(--color-red-1000);--color-orange-1000:var(--color-orange-1000);--color-yellow-1000:var(--color-yellow-1000);--color-green-1000:var(--color-green-1000);--color-purple-1000:var(--color-purple-1000);--border-radius-button:var(--border-radius-button);--border-radius-secondary-button:var(--border-radius-secondary-button);--border-radius-card:var(--border-radius-card);--border-radius-article:var(--border-radius-article);--border-radius-outline:var(--border-radius-outline);--shadow-black-card:var(--shadow-black-card);--shadow-hover-black-card:var(--shadow-hover-black-card);--shadow-black-button:var(--shadow-black-button);--shadow-hover-black-button:var(--shadow-hover-black-button);--shadow-hover-orange-button:var(--shadow-hover-orange-button)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring) 50%,transparent)}}body{background-color:var(--background);color:var(--foreground)}html{font-family:Inter Variable,sans-serif}}@layer components;@layer utilities{.\@container{container-type:inline-size}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.-top-1{top:calc(var(--spacing) * -1)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing) * 4)}.-right-1{right:calc(var(--spacing) * -1)}.right-0{right:calc(var(--spacing) * 0)}.right-4{right:calc(var(--spacing) * 4)}.bottom-2\.5{bottom:calc(var(--spacing) * 2.5)}.left-1\/2{left:50%}.isolate{isolation:isolate}.z-50{z-index:50}.z-\[999\]{z-index:999}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-4{margin:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:var(--aspect-video)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-32{height:calc(var(--spacing) * 32)}.h-36{height:calc(var(--spacing) * 36)}.h-48{height:calc(var(--spacing) * 48)}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[85vh\]{max-height:85vh}.min-h-screen{min-height:100vh}.w-3{width:calc(var(--spacing) * 3)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-5\/6{width:83.3333%}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-full{width:100%}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-1{--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-bounce{animation:var(--animate-bounce)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[repeat\(auto-fit\,minmax\(250px\,1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.grid-rows-\[auto_1fr\]{grid-template-rows:auto 1fr}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-8>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 8) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border>:not(:last-child)){border-color:var(--border)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-3xl{border-radius:calc(var(--radius) * 2.2)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) * .8)}.rounded-xl{border-radius:calc(var(--radius) * 1.4)}.rounded-b-lg{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-border,.border-border\/30{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/30{border-color:color-mix(in oklab,var(--border) 30%,transparent)}}.border-border\/50{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/50{border-color:color-mix(in oklab,var(--border) 50%,transparent)}}.border-gray-300{border-color:var(--color-gray-300)}.border-input{border-color:var(--input)}.border-secondary{border-color:var(--secondary)}.border-transparent{border-color:#0000}.border-white{border-color:var(--color-white)}.bg-\[var\(--color-brand-500\)\]{background-color:var(--color-brand-500)}.bg-\[var\(--color-yellow-100\)\]{background-color:var(--color-yellow-100)}.bg-background,.bg-background\/80{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/80{background-color:color-mix(in oklab,var(--background) 80%,transparent)}}.bg-black{background-color:var(--color-black)}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\/30{background-color:color-mix(in oklab,var(--color-black) 30%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-card{background-color:var(--card)}.bg-destructive,.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/10{background-color:color-mix(in oklab,var(--destructive) 10%,transparent)}}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-500{background-color:var(--color-green-500)}.bg-indigo-600{background-color:var(--color-indigo-600)}.bg-muted,.bg-muted\/40{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/40{background-color:color-mix(in oklab,var(--muted) 40%,transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-red-400{background-color:var(--color-red-400)}.bg-red-500{background-color:var(--color-red-500)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-blue-500{--tw-gradient-from:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-white\/20{--tw-gradient-from:#fff3}@supports (color:color-mix(in lab,red,red)){.from-white\/20{--tw-gradient-from:color-mix(in oklab, var(--color-white) 20%, transparent)}}.from-white\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-purple-600{--tw-gradient-to:var(--color-purple-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.bg-clip-padding{background-clip:padding-box}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.font-heading{font-family:var(--font-sans)}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.leading-none{--tw-leading:1;line-height:1}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-balance{text-wrap:balance}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.text-\[var\(--color-main-orange-primary\)\]{color:var(--color-main-orange-primary)}.text-\[var\(--color-white\)\]{color:var(--color-white)}.text-blue-100{color:var(--color-blue-100)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-blue-900{color:var(--color-blue-900)}.text-destructive{color:var(--destructive)}.text-emerald-600{color:var(--color-emerald-600)}.text-foreground{color:var(--foreground)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-500{color:var(--color-green-500)}.text-indigo-500{color:var(--color-indigo-500)}.text-muted-foreground,.text-muted-foreground\/50{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/50{color:color-mix(in oklab,var(--muted-foreground) 50%,transparent)}}.text-muted-foreground\/70{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/70{color:color-mix(in oklab,var(--muted-foreground) 70%,transparent)}}.text-popover-foreground{color:var(--popover-foreground)}.text-primary-foreground{color:var(--primary-foreground)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-foreground\/5{--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.ring-foreground\/5{--tw-ring-color:color-mix(in oklab, var(--foreground) 5%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-\[cubic-bezier\(0\.68\,-0\.55\,0\.265\,1\.55\)\]{--tw-ease:cubic-bezier(.68,-.55,.265,1.55);transition-timing-function:cubic-bezier(.68,-.55,.265,1.55)}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.contain-layout{--tw-contain-layout:layout;contain:var(--tw-contain-size,) var(--tw-contain-layout,) var(--tw-contain-paint,) var(--tw-contain-style,)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.running{animation-play-state:running}@media(hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-data-\[size\=sm\]\/alert-dialog-content\:grid:is(:where(.group\/alert-dialog-content)[data-size=sm] *){display:grid}.group-data-\[size\=sm\]\/alert-dialog-content\:grid-cols-2:is(:where(.group\/alert-dialog-content)[data-size=sm] *){grid-template-columns:repeat(2,minmax(0,1fr))}@media(hover:hover){.hover\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:-translate-y-2:hover{--tw-translate-y:calc(var(--spacing) * -2);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:rotate-6:hover{rotate:6deg}.hover\:border-border:hover{border-color:var(--border)}.hover\:bg-\[var\(--color-orange-100\)\]:hover{background-color:var(--color-orange-100)}.hover\:bg-\[var\(--color-orange-700\)\]:hover{background-color:var(--color-orange-700)}.hover\:bg-\[var\(--color-red-600\)\]:hover{background-color:var(--color-red-600)}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-gray-300:hover{background-color:var(--color-gray-300)}.hover\:bg-indigo-700:hover{background-color:var(--color-indigo-700)}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-primary\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab,var(--primary) 80%,transparent)}}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:text-\[var\(--color-main-orange-primary\)\]:hover{color:var(--color-main-orange-primary)}.hover\:text-blue-600:hover{color:var(--color-blue-600)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:text-gray-800:hover{color:var(--color-gray-800)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:not-sr-only:focus{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.focus\:absolute:focus{position:absolute}.focus\:top-4:focus{top:calc(var(--spacing) * 4)}.focus\:left-4:focus{left:calc(var(--spacing) * 4)}.focus\:border-transparent:focus{border-color:#0000}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-4:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-3:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-blue-500:focus-visible{--tw-ring-color:var(--color-blue-500)}.focus-visible\:ring-destructive\/30:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/30:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.focus-visible\:ring-primary\/30:focus-visible{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-primary\/30:focus-visible{--tw-ring-color:color-mix(in oklab, var(--primary) 30%, transparent)}}.focus-visible\:ring-ring\/30:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/30:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 30%, transparent)}}.focus-visible\:ring-secondary\/30:focus-visible{--tw-ring-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-secondary\/30:focus-visible{--tw-ring-color:color-mix(in oklab, var(--secondary) 30%, transparent)}}.focus-visible\:ring-white\/30:focus-visible{--tw-ring-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-white\/30:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_auto_1fr\]:has([data-slot=alert-dialog-media]){grid-template-rows:auto auto 1fr}.has-data-\[slot\=alert-dialog-media\]\:gap-x-6:has([data-slot=alert-dialog-media]){column-gap:calc(var(--spacing) * 6)}.aria-checked\:translate-x-6[aria-checked=true]{--tw-translate-x:calc(var(--spacing) * 6);translate:var(--tw-translate-x) var(--tw-translate-y)}.aria-checked\:bg-blue-600[aria-checked=true]{background-color:var(--color-blue-600)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-\[size\=default\]\:max-w-xs[data-size=default],.data-\[size\=sm\]\:max-w-xs[data-size=sm]{max-width:var(--container-xs)}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-backdrop-filter\:backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}}@media(prefers-reduced-motion:no-preference){@media(hover:hover){.motion-safe\:hover\:animate-spin:hover{animation:var(--animate-spin)}}}@media(prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none}}@media(prefers-contrast:more){.contrast-more\:bg-red-600{background-color:var(--color-red-600)}.contrast-more\:text-red-100{color:var(--color-red-100)}}@media(min-width:40rem){.sm\:flex{display:flex}.sm\:h-auto{height:auto}.sm\:w-48{width:calc(var(--spacing) * 48)}.sm\:max-w-2xl{max-width:var(--container-2xl)}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:row-span-2:is(:where(.group\/alert-dialog-content)[data-size=default] *){grid-row:span 2/span 2}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:place-items-start:is(:where(.group\/alert-dialog-content)[data-size=default] *){place-items:start}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:text-left:is(:where(.group\/alert-dialog-content)[data-size=default] *){text-align:left}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:group-has-data-\[slot\=alert-dialog-media\]\/alert-dialog-content\:col-start-2:is(:where(.group\/alert-dialog-content)[data-size=default] *):is(:where(.group\/alert-dialog-content):has([data-slot=alert-dialog-media]) *){grid-column-start:2}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_1fr\]:is(:where(.group\/alert-dialog-content)[data-size=default] *):has([data-slot=alert-dialog-media]){grid-template-rows:auto 1fr}.data-\[size\=default\]\:sm\:max-w-md[data-size=default]{max-width:var(--container-md)}}@media(min-width:48rem){.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:p-8{padding:calc(var(--spacing) * 8)}.md\:text-center{text-align:center}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.md\:text-pretty{text-wrap:pretty}}@media(min-width:64rem){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:p-12{padding:calc(var(--spacing) * 12)}.lg\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}}@container (min-width:400px){.\@\[400px\]\:w-32{width:calc(var(--spacing) * 32)}.\@\[400px\]\:flex-row{flex-direction:row}.\@\[400px\]\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.\@\[400px\]\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}}@container (min-width:32rem){.\@lg\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@container (min-width:42rem){.\@2xl\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}}.dark\:bg-destructive\/20:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/20:is(.dark *){background-color:color-mix(in oklab,var(--destructive) 20%,transparent)}}.dark\:bg-gray-800:is(.dark *){background-color:var(--color-gray-800)}.dark\:bg-gray-900:is(.dark *){background-color:var(--color-gray-900)}.dark\:bg-gray-950:is(.dark *){background-color:var(--color-gray-950)}.dark\:text-destructive:is(.dark *){color:var(--destructive)}.dark\:text-gray-400:is(.dark *){color:var(--color-gray-400)}.dark\:text-white:is(.dark *){color:var(--color-white)}.dark\:ring-foreground\/10:is(.dark *){--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.dark\:ring-foreground\/10:is(.dark *){--tw-ring-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:color-mix(in oklab,var(--destructive) 50%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.data-open\:animate-in:where([data-state=open]),.data-open\:animate-in:where([data-open]:not([data-open=false])){animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-open\:fade-in-0:where([data-state=open]),.data-open\:fade-in-0:where([data-open]:not([data-open=false])){--tw-enter-opacity:0}.data-open\:zoom-in-95:where([data-state=open]),.data-open\:zoom-in-95:where([data-open]:not([data-open=false])){--tw-enter-scale:.95}.data-closed\:animate-out:where([data-state=closed]),.data-closed\:animate-out:where([data-closed]:not([data-closed=false])){animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-closed\:fade-out-0:where([data-state=closed]),.data-closed\:fade-out-0:where([data-closed]:not([data-closed=false])){--tw-exit-opacity:0}.data-closed\:zoom-out-95:where([data-state=closed]),.data-closed\:zoom-out-95:where([data-closed]:not([data-closed=false])){--tw-exit-scale:.95}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}:is(.\*\:\[a\]\:underline>*):is(a){text-decoration-line:underline}:is(.\*\:\[a\]\:underline-offset-3>*):is(a){text-underline-offset:3px}@media(hover:hover){:is(.\*\:\[a\]\:hover\:text-foreground>*):is(a):hover{color:var(--foreground)}}:is(.\*\:\[svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-8>*):is(svg:not([class*=size-])){width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--color-main-blue-primary:#22205f;--color-main-orange-primary:#f66a24;--color-main-grey:#605f60;--color-main-alternative:#bf5f60;--color-main-alternative-secondary:#f2f2f2;--color-main-positive-state:#01d42f;--color-main-warning-state:#ea3a3d;--color-main-yellow-primary:#faca4a;--color-main-white:#fff;--color-main-black:#000;--color-main-light-borders:#f1f5f7;--color-main-input-borders:#605f60b3;--color-main-light-background:#f1f5f7;--color-dark-100:#e8e8e8;--color-dark-200:#d1d1d1;--color-dark-300:#a2a3a3;--color-dark-400:#747476;--color-dark-500:#454648;--color-dark-550:#2f3032;--color-dark-600:#17181a;--color-dark-700:#121315;--color-dark-800:#0e0e10;--color-dark-900:#090a0a;--color-light-100:#fff;--color-light-200:#f1f5f7;--color-light-300:#d9e1e7;--color-light-400:#b3c5d4;--color-light-500:#99b2c6;--color-light-600:#809fb8;--color-light-700:#667f93;--color-light-800:#4d5f6e;--color-light-900:#33404a;--color-light-1000:#1a2025;--color-blue-100:#c0b6fe;--color-blue-200:#816dfd;--color-blue-300:#4324fc;--color-blue-400:#2003d3;--color-blue-500:#15028a;--color-blue-600:#0a0141;--color-blue-700:#09013a;--color-blue-800:#080134;--color-blue-900:#07012d;--color-blue-1000:#060127;--color-red-100:#f8bdbe;--color-red-200:#f59c9e;--color-red-300:#f17c7e;--color-red-400:#ed5b5d;--color-red-500:#ea3a3d;--color-red-600:#bc1417;--color-red-700:#bc1417;--color-red-800:#971012;--color-red-900:#710c0e;--color-red-1000:#4b0809;--color-orange-100:#fee6db;--color-orange-200:#fccdb6;--color-orange-300:#fab592;--color-orange-400:#f99c6d;--color-orange-500:#f88349;--color-orange-700:#d94e09;--color-orange-800:#a33b07;--color-orange-900:#6c2704;--color-orange-1000:#361402;--color-yellow-100:#fffaed;--color-yellow-200:#fef4db;--color-yellow-300:#fdeab7;--color-yellow-400:#fcdf92;--color-yellow-500:#fbd56e;--color-yellow-600:#faca4a;--color-yellow-700:#c8a23b;--color-yellow-800:#96792c;--color-yellow-900:#64511e;--color-yellow-1000:#32280f;--color-green-100:#ceffd8;--color-green-200:#9cffb2;--color-green-300:#6bfe8b;--color-green-400:#3afe65;--color-green-500:#09fe3e;--color-green-600:#01d42f;--color-green-700:#01aa26;--color-green-800:#017f1c;--color-green-900:#005513;--color-green-1000:#002a09;--color-purple-100:#e0ddf1;--color-purple-200:#c0bae4;--color-purple-300:#a198d6;--color-purple-400:#8276c9;--color-purple-500:#6353bb;--color-purple-600:#4d3fa0;--color-purple-700:#3d327d;--color-purple-800:#2c245b;--color-purple-900:#231d49;--color-purple-1000:#1a1637;--border-radius-button:1.875rem;--border-radius-secondary-button:.625rem;--border-radius-card:1.25rem;--border-radius-article:.875rem;--border-radius-outline:.5rem;--shadow-black-card:0 1.25rem 2.5rem 0 #00000026;--shadow-hover-black-card:0 1.875rem 3.75rem 0 #00000059;--shadow-black-button:0 .625rem 1.25rem 0 #00000026;--shadow-hover-black-button:0 .9375rem 1.875rem 0 #00000040;--shadow-hover-orange-button:0 .9375rem 1.875rem 0 #fab592;--shadow-hover-elegant-button:0 4px 16px 0 #f66a2459;--border-input:1px solid #605f60b3;--border-input-disabled:1px solid #d1d1d1;--border-input-error:1px solid #ea3a3d;--border-input-focus:1px solid #22205f;--background:var(--color-main-white);--foreground:var(--color-light-1000);--primary:var(--color-main-blue-primary);--primary-foreground:var(--color-main-white);--secondary:var(--color-main-orange-primary);--secondary-foreground:var(--color-main-white);--destructive:var(--color-main-warning-state);--destructive-foreground:var(--color-main-white);--muted:var(--color-main-alternative-secondary);--muted-foreground:var(--color-main-grey);--accent:var(--color-purple-100);--accent-foreground:var(--color-main-blue-primary);--card:var(--color-main-white);--card-foreground:var(--color-light-1000);--popover:var(--color-main-white);--popover-foreground:var(--color-light-1000);--border:var(--color-main-light-borders);--input:var(--color-main-input-borders);--ring:var(--color-main-blue-primary);--radius:var(--border-radius-outline)}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/inter-cyrillic-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/inter-cyrillic-wght-normal.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/inter-greek-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/inter-greek-wght-normal.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/inter-vietnamese-wght-normal.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/inter-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/inter-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*{scrollbar-width:thin;scrollbar-color:var(--color-main-orange-primary) #f1f1f1}::-webkit-scrollbar{width:.5rem}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:.625rem}::-webkit-scrollbar-thumb{background:var(--color-main-orange-primary);border-radius:.625rem}::-webkit-scrollbar-thumb:hover{background:var(--color-main-orange-primary)}.my-toast{box-shadow:var(--shadow-black-card);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:1rem;font-style:normal;font-weight:400;line-height:176.782%;border-radius:var(--border-radius-article)!important;border:none!important}[data-sonner-toast][data-type=success]{background:linear-gradient(135deg,var(--color-main-positive-state) 0%,var(--color-green-200) 100%)!important;color:var(--color-main-white)!important}[data-sonner-toast][data-type=error]{background:linear-gradient(135deg,var(--color-main-warning-state) 0%,var(--color-red-300) 100%)!important;color:var(--color-main-white)!important}[data-sonner-toaster]{bottom:6rem!important}[data-sonner-toaster][data-position=bottom-center]{transform:translateY(-3rem)!important}:root{--chart-1:oklch(87% 0 0);--chart-2:oklch(55.6% 0 0);--chart-3:oklch(43.9% 0 0);--chart-4:oklch(37.1% 0 0);--chart-5:oklch(26.9% 0 0);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-contain-size{syntax:"*";inherits:false}@property --tw-contain-layout{syntax:"*";inherits:false}@property --tw-contain-paint{syntax:"*";inherits:false}@property --tw-contain-style{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}@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));filter:blur(var(--tw-enter-blur,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));filter:blur(var(--tw-exit-blur,0))}}
|
|
1
|
+
@font-face{font-family:Dax;src:url(https://dibt9vplwriap.cloudfront.net/dax-regular/dax-regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Dax;src:url(https://dibt9vplwriap.cloudfront.net/Dax-Bold/Dax-Bold.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueUltraLight.otf) format("opentype");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueUltraLightItalic.otf) format("opentype");font-weight:200;font-style:italic;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueThin.otf) format("opentype");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueThinItalic.otf) format("opentype");font-weight:100;font-style:italic;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueLight.otf) format("opentype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueLightItalic.otf) format("opentype");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueRoman.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueItalic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueMedium.otf) format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueMediumItalic.otf) format("opentype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueBold.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueBoldItalic.otf) format("opentype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueHeavy.otf) format("opentype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueHeavyItalic.otf) format("opentype");font-weight:800;font-style:italic;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueBlack.otf) format("opentype");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueBlackItalic.otf) format("opentype");font-weight:900;font-style:italic;font-display:swap}@theme inline{ --color-main-blue-primary: var(--color-main-blue-primary); --color-main-orange-primary: var(--color-main-orange-primary); --color-main-grey: var(--color-main-grey); --color-main-alternative: var(--color-main-alternative); --color-main-alternative-secondary: var(--color-main-alternative-secondary); --color-main-positive-state: var(--color-main-positive-state); --color-main-warning-state: var(--color-main-warning-state); --color-main-yellow-primary: var(--color-main-yellow-primary); --color-main-white: var(--color-main-white); --color-main-black: var(--color-main-black); --color-main-light-borders: var(--color-main-light-borders); --color-main-input-borders: var(--color-main-input-borders); --color-dark-100: var(--color-dark-100); --color-dark-200: var(--color-dark-200); --color-dark-300: var(--color-dark-300); --color-dark-400: var(--color-dark-400); --color-dark-500: var(--color-dark-500); --color-dark-600: var(--color-dark-600); --color-dark-700: var(--color-dark-700); --color-dark-800: var(--color-dark-800); --color-dark-900: var(--color-dark-900); --color-light-100: var(--color-light-100); --color-light-200: var(--color-light-200); --color-light-300: var(--color-light-300); --color-light-400: var(--color-light-400); --color-light-500: var(--color-light-500); --color-light-600: var(--color-light-600); --color-light-700: var(--color-light-700); --color-light-800: var(--color-light-800); --color-light-900: var(--color-light-900); --color-light-1000: var(--color-light-1000); --color-blue-100: var(--color-blue-100); --color-blue-200: var(--color-blue-200); --color-blue-300: var(--color-blue-300); --color-blue-400: var(--color-blue-400); --color-blue-500: var(--color-blue-500); --color-blue-600: var(--color-blue-600); --color-blue-700: var(--color-blue-700); --color-blue-800: var(--color-blue-800); --color-blue-900: var(--color-blue-900); --color-blue-1000: var(--color-blue-1000); --color-red-100: var(--color-red-100); --color-red-200: var(--color-red-200); --color-red-300: var(--color-red-300); --color-red-400: var(--color-red-400); --color-red-500: var(--color-red-500); --color-red-600: var(--color-red-600); --color-red-700: var(--color-red-700); --color-red-800: var(--color-red-800); --color-red-900: var(--color-red-900); --color-red-1000: var(--color-red-1000); --color-orange-100: var(--color-orange-100); --color-orange-200: var(--color-orange-200); --color-orange-300: var(--color-orange-300); --color-orange-400: var(--color-orange-400); --color-orange-500: var(--color-orange-500); --color-orange-700: var(--color-orange-700); --color-orange-800: var(--color-orange-800); --color-orange-900: var(--color-orange-900); --color-orange-1000: var(--color-orange-1000); --color-yellow-100: var(--color-yellow-100); --color-yellow-200: var(--color-yellow-200); --color-yellow-300: var(--color-yellow-300); --color-yellow-400: var(--color-yellow-400); --color-yellow-500: var(--color-yellow-500); --color-yellow-600: var(--color-yellow-600); --color-yellow-700: var(--color-yellow-700); --color-yellow-800: var(--color-yellow-800); --color-yellow-900: var(--color-yellow-900); --color-yellow-1000: var(--color-yellow-1000); --color-green-100: var(--color-green-100); --color-green-200: var(--color-green-200); --color-green-300: var(--color-green-300); --color-green-400: var(--color-green-400); --color-green-500: var(--color-green-500); --color-green-600: var(--color-green-600); --color-green-700: var(--color-green-700); --color-green-800: var(--color-green-800); --color-green-900: var(--color-green-900); --color-green-1000: var(--color-green-1000); --color-purple-100: var(--color-purple-100); --color-purple-200: var(--color-purple-200); --color-purple-300: var(--color-purple-300); --color-purple-400: var(--color-purple-400); --color-purple-500: var(--color-purple-500); --color-purple-600: var(--color-purple-600); --color-purple-700: var(--color-purple-700); --color-purple-800: var(--color-purple-800); --color-purple-900: var(--color-purple-900); --color-purple-1000: var(--color-purple-1000); --border-radius-button: var(--border-radius-button); --border-radius-secondary-button: var(--border-radius-secondary-button); --border-radius-card: var(--border-radius-card); --border-radius-article: var(--border-radius-article); --border-radius-outline: var(--border-radius-outline); --shadow-black-card: var(--shadow-black-card); --shadow-hover-black-card: var(--shadow-hover-black-card); --shadow-black-button: var(--shadow-black-button); --shadow-hover-black-button: var(--shadow-hover-black-button); --shadow-hover-orange-button: var(--shadow-hover-orange-button); --font-heading: var(--font-sans); --font-sans: "Inter Variable", sans-serif; --color-sidebar-ring: var(--sidebar-ring); --color-sidebar-border: var(--sidebar-border); --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); --color-sidebar-accent: var(--sidebar-accent); --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); --color-sidebar-primary: var(--sidebar-primary); --color-sidebar-foreground: var(--sidebar-foreground); --color-sidebar: var(--sidebar); --color-chart-5: var(--chart-5); --color-chart-4: var(--chart-4); --color-chart-3: var(--chart-3); --color-chart-2: var(--chart-2); --color-chart-1: var(--chart-1); --color-ring: var(--ring); --color-input: var(--input); --color-border: var(--border); --color-destructive: var(--destructive); --color-accent-foreground: var(--accent-foreground); --color-accent: var(--accent); --color-muted-foreground: var(--muted-foreground); --color-muted: var(--muted); --color-secondary-foreground: var(--secondary-foreground); --color-secondary: var(--secondary); --color-primary-foreground: var(--primary-foreground); --color-primary: var(--primary); --color-popover-foreground: var(--popover-foreground); --color-popover: var(--popover); --color-card-foreground: var(--card-foreground); --color-card: var(--card); --color-foreground: var(--foreground); --color-background: var(--background); --radius-sm: calc(var(--radius) * .6); --radius-md: calc(var(--radius) * .8); --radius-lg: var(--radius); --radius-xl: calc(var(--radius) * 1.4); --radius-2xl: calc(var(--radius) * 1.8); --radius-3xl: calc(var(--radius) * 2.2); --radius-4xl: calc(var(--radius) * 2.6); }:root{--chart-1: oklch(.87 0 0);--chart-2: oklch(.556 0 0);--chart-3: oklch(.439 0 0);--chart-4: oklch(.371 0 0);--chart-5: oklch(.269 0 0);--sidebar: oklch(.985 0 0);--sidebar-foreground: oklch(.145 0 0);--sidebar-primary: oklch(.205 0 0);--sidebar-primary-foreground: oklch(.985 0 0);--sidebar-accent: oklch(.97 0 0);--sidebar-accent-foreground: oklch(.205 0 0);--sidebar-border: oklch(.922 0 0);--sidebar-ring: oklch(.708 0 0)}*{scrollbar-width:thin;scrollbar-color:var(--color-main-orange-primary) #f1f1f1}*::-webkit-scrollbar{width:.5rem}*::-webkit-scrollbar-track{background:#f1f1f1;border-radius:.625rem}*::-webkit-scrollbar-thumb{background:var(--color-main-orange-primary);border-radius:.625rem}*::-webkit-scrollbar-thumb:hover{background:var(--color-main-orange-primary)}.my-toast{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:1rem;font-style:normal;font-weight:400;line-height:176.782%;border:none!important;box-shadow:var(--shadow-black-card);border-radius:var(--border-radius-article)!important}[data-sonner-toast][data-type=success]{background:linear-gradient(135deg,var(--color-main-positive-state) 0%,var(--color-green-200) 100%)!important;color:var(--color-main-white)!important}[data-sonner-toast][data-type=error]{background:linear-gradient(135deg,var(--color-main-warning-state) 0%,var(--color-red-300) 100%)!important;color:var(--color-main-white)!important}[data-sonner-toaster]{bottom:6rem!important}[data-sonner-toaster][data-position=bottom-center]{transform:translateY(-3rem)!important}
|
package/dist/main.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import './styles/globals.css';
|
|
1
2
|
import 'react';
|
|
2
3
|
import { cva } from 'class-variance-authority';
|
|
3
4
|
import { Slot } from 'radix-ui';
|
|
@@ -5,7 +6,7 @@ import { clsx } from 'clsx';
|
|
|
5
6
|
import { twMerge } from 'tailwind-merge';
|
|
6
7
|
import { jsx } from 'react/jsx-runtime';
|
|
7
8
|
|
|
8
|
-
// src/
|
|
9
|
+
// src/main.ts
|
|
9
10
|
function cn(...inputs) {
|
|
10
11
|
return twMerge(clsx(inputs));
|
|
11
12
|
}
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/utils.ts","../src/components/ui/Button/button.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/lib/utils.ts","../src/components/ui/Button/button.tsx"],"names":[],"mappings":";;;;;;;;;AAGO,SAAS,MAAM,MAAA,EAAsB;AAC1C,EAAA,OAAO,OAAA,CAAQ,IAAA,CAAK,MAAM,CAAC,CAAA;AAC7B;ACCA,IAAM,cAAA,GAAiB,GAAA;AAAA,EACrB,4kBAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACL,OAAA,EACI,sFAAA;AAAA,QACJ,SAAA,EACI,2GAAA;AAAA,QACJ,MAAA,EACI,4GAAA;AAAA,QACJ,OAAA,EACI,0IAAA;AAAA,QACJ,KAAA,EACI;AAAA,OACR;AAAA,MACA,IAAA,EAAM;AAAA,QACF,EAAA,EAAI,kBAAA;AAAA,QACJ,EAAA,EAAI,kBAAA;AAAA,QACJ,EAAA,EAAI,mBAAA;AAAA,QACJ,SAAA,EAAW;AAAA;AACf,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS,SAAA;AAAA,MACT,IAAA,EAAM;AAAA;AACR;AAEJ;AAEA,SAAS,MAAA,CAAO;AAAA,EACZ,SAAA;AAAA,EACA,OAAA,GAAU,SAAA;AAAA,EACV,IAAA,GAAO,IAAA;AAAA,EACP,OAAA,GAAU,KAAA;AAAA,EACV,SAAA,GAAY,KAAA;AAAA,EACZ,QAAA;AAAA,EACA,GAAG;AACP,CAAA,EAIO;AACL,EAAA,MAAM,IAAA,GAAO,OAAA,GAAU,IAAA,CAAK,IAAA,GAAO,QAAA;AAEnC,EAAA,uBACE,GAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,QAAA;AAAA,MACV,cAAA,EAAc,OAAA;AAAA,MACd,WAAA,EAAW,IAAA;AAAA,MACX,SAAA,EAAW,GAAG,cAAA,CAAe,EAAE,SAAS,IAAA,EAAM,SAAA,EAAW,CAAC,CAAA;AAAA,MACzD,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ","file":"main.js","sourcesContent":["import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst buttonVariants = cva(\n \"group/button inline-flex shrink-0 items-center justify-center gap-2 rounded-md border border-transparent bg-clip-padding text-sm font-semibold whitespace-nowrap transition-all duration-150 outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/30 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n primary:\n 'bg-primary text-primary-foreground hover:bg-primary/80 focus-visible:ring-primary/30',\n secondary:\n 'bg-secondary text-secondary-foreground hover:bg-[var(--color-orange-700)] focus-visible:ring-secondary/30',\n cancel:\n 'bg-destructive text-secondary-foreground hover:bg-[var(--color-red-600)] focus-visible:ring-destructive/30',\n outline:\n 'border-2 border-white bg-transparent text-white hover:bg-white hover:text-[var(--color-main-orange-primary)] focus-visible:ring-white/30',\n ghost: \n 'bg-transparent text-foreground hover:bg-[var(--color-orange-100)] hover:text-[var(--color-main-orange-primary)] focus-visible:ring-ring/30',\n },\n size: {\n sm: 'h-8 px-3 text-xs',\n md: 'h-9 px-4 text-sm',\n lg: 'h-10 px-6 text-sm',\n 'icon-sm': 'size-8 rounded-full p-0',\n },\n },\n defaultVariants: {\n variant: 'primary',\n size: 'md',\n },\n }\n)\n\nfunction Button({\n className,\n variant = 'primary',\n size = 'md',\n asChild = false,\n isLoading = false,\n children,\n ...props\n}: React.ComponentProps<'button'> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean\n isLoading?: boolean\n }) {\n const Comp = asChild ? Slot.Root : \"button\"\n\n return (\n <Comp\n data-slot=\"button\"\n data-variant={variant}\n data-size={size}\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n >\n {children}\n </Comp>\n )\n}\n\nexport { Button, buttonVariants }\n"]}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"access": "public",
|
|
5
5
|
"registry": "https://registry.npmjs.org"
|
|
6
6
|
},
|
|
7
|
-
"version": "0.4.
|
|
7
|
+
"version": "0.4.3",
|
|
8
8
|
"description": "This package provides reusable UI components to ensure consistency across all CRM frontend applications",
|
|
9
9
|
"author": "BizAppsTotal <bizapps@tcce.biz>",
|
|
10
10
|
"type": "module",
|
|
@@ -37,17 +37,9 @@
|
|
|
37
37
|
"build-storybook": "storybook build"
|
|
38
38
|
},
|
|
39
39
|
"peerDependencies": {
|
|
40
|
-
"@remixicon/react": "^4.6.0",
|
|
41
|
-
"@tailwindcss/vite": "^4.1.13",
|
|
42
|
-
"@tanstack/react-table": "^8.21.3",
|
|
43
|
-
"formik": "^2.4.6",
|
|
44
|
-
"motion": "^12.23.13",
|
|
45
40
|
"react": "^19.1.1",
|
|
46
41
|
"react-dom": "^19.1.1",
|
|
47
|
-
"
|
|
48
|
-
"styled-components": ">=6.1.19",
|
|
49
|
-
"tailwindcss": "^4.1.13",
|
|
50
|
-
"yup": "^1.7.1"
|
|
42
|
+
"tailwindcss": "^4.1.13"
|
|
51
43
|
},
|
|
52
44
|
"devDependencies": {
|
|
53
45
|
"@eslint/js": "^9.39.4",
|
|
@@ -87,12 +79,6 @@
|
|
|
87
79
|
"yup": "^1.7.1"
|
|
88
80
|
},
|
|
89
81
|
"packageManager": "pnpm@10.25.0+sha512.5e82639027af37cf832061bcc6d639c219634488e0f2baebe785028a793de7b525ffcd3f7ff574f5e9860654e098fe852ba8ac5dd5cefe1767d23a020a92f501",
|
|
90
|
-
"pnpm": {
|
|
91
|
-
"overrides": {
|
|
92
|
-
"fast-uri": ">=3.1.2",
|
|
93
|
-
"postcss": ">=8.5.10"
|
|
94
|
-
}
|
|
95
|
-
},
|
|
96
82
|
"dependencies": {
|
|
97
83
|
"@fontsource-variable/inter": "^5.2.8",
|
|
98
84
|
"@radix-ui/react-avatar": "^1.1.11",
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/dist/main.css.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/styles/globals.css"],"sourcesContent":["\n/* ====================================\n\n GLOBALS — single entry point for both build and Storybook\n\n ==================================== */\n\n/* === DAX FONT FAMILY === */\n\n@font-face {\n font-family: 'Dax';\n src: url('https://dibt9vplwriap.cloudfront.net/dax-regular/dax-regular.ttf') format('truetype');\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'Dax';\n src: url('https://dibt9vplwriap.cloudfront.net/Dax-Bold/Dax-Bold.otf') format('opentype');\n font-weight: 700;\n font-style: normal;\n font-display: swap;\n}\n\n/* === HELVETICA NEUE FONT FAMILY === */\n\n@font-face {\n font-family: 'Helvetica Neue';\n src: url('https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueUltraLight.otf') format('opentype');\n font-weight: 200;\n font-style: normal;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'Helvetica Neue';\n src: url('https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueUltraLightItalic.otf') format('opentype');\n font-weight: 200;\n font-style: italic;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'Helvetica Neue';\n src: url('https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueThin.otf') format('opentype');\n font-weight: 100;\n font-style: normal;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'Helvetica Neue';\n src: url('https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueThinItalic.otf') format('opentype');\n font-weight: 100;\n font-style: italic;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'Helvetica Neue';\n src: url('https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueLight.otf') format('opentype');\n font-weight: 300;\n font-style: normal;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'Helvetica Neue';\n src: url('https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueLightItalic.otf') format('opentype');\n font-weight: 300;\n font-style: italic;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'Helvetica Neue';\n src: url('https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueRoman.otf') format('opentype');\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'Helvetica Neue';\n src: url('https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueItalic.ttf') format('truetype');\n font-weight: 400;\n font-style: italic;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'Helvetica Neue';\n src: url('https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueMedium.otf') format('opentype');\n font-weight: 500;\n font-style: normal;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'Helvetica Neue';\n src: url('https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueMediumItalic.otf') format('opentype');\n font-weight: 500;\n font-style: italic;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'Helvetica Neue';\n src: url('https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueBold.otf') format('opentype');\n font-weight: 700;\n font-style: normal;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'Helvetica Neue';\n src: url('https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueBoldItalic.otf') format('opentype');\n font-weight: 700;\n font-style: italic;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'Helvetica Neue';\n src: url('https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueHeavy.otf') format('opentype');\n font-weight: 800;\n font-style: normal;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'Helvetica Neue';\n src: url('https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueHeavyItalic.otf') format('opentype');\n font-weight: 800;\n font-style: italic;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'Helvetica Neue';\n src: url('https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueBlack.otf') format('opentype');\n font-weight: 900;\n font-style: normal;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'Helvetica Neue';\n src: url('https://dibt9vplwriap.cloudfront.net/Helvetica-Neue/HelveticaNeueBlackItalic.otf') format('opentype');\n font-weight: 900;\n font-style: italic;\n font-display: swap;\n}\n\n/* Tailwind (Storybook picks this up; build skips @import 'tailwindcss' via vite) */\n\n@import 'tailwindcss';\n\n@import \"tw-animate-css\";\n\n@import \"shadcn/tailwind.css\";\n\n/* Design Tokens — imported last so TCCE values always win */\n\n@import './tokens.css';\n\n@import \"@fontsource-variable/inter\";\n\n@custom-variant dark (&:is(.dark *));\n\n/* Extend Tailwind with token references */\n\n@theme inline {\n\n /* Main Colors */\n\n --color-main-blue-primary: var(--color-main-blue-primary);\n\n --color-main-orange-primary: var(--color-main-orange-primary);\n\n --color-main-grey: var(--color-main-grey);\n\n --color-main-alternative: var(--color-main-alternative);\n\n --color-main-alternative-secondary: var(--color-main-alternative-secondary);\n\n --color-main-positive-state: var(--color-main-positive-state);\n\n --color-main-warning-state: var(--color-main-warning-state);\n\n --color-main-yellow-primary: var(--color-main-yellow-primary);\n\n --color-main-white: var(--color-main-white);\n\n --color-main-black: var(--color-main-black);\n\n --color-main-light-borders: var(--color-main-light-borders);\n\n --color-main-input-borders: var(--color-main-input-borders);\n\n /* Dark */\n\n --color-dark-100: var(--color-dark-100);\n\n --color-dark-200: var(--color-dark-200);\n\n --color-dark-300: var(--color-dark-300);\n\n --color-dark-400: var(--color-dark-400);\n\n --color-dark-500: var(--color-dark-500);\n\n --color-dark-600: var(--color-dark-600);\n\n --color-dark-700: var(--color-dark-700);\n\n --color-dark-800: var(--color-dark-800);\n\n --color-dark-900: var(--color-dark-900);\n\n /* Light */\n\n --color-light-100: var(--color-light-100);\n\n --color-light-200: var(--color-light-200);\n\n --color-light-300: var(--color-light-300);\n\n --color-light-400: var(--color-light-400);\n\n --color-light-500: var(--color-light-500);\n\n --color-light-600: var(--color-light-600);\n\n --color-light-700: var(--color-light-700);\n\n --color-light-800: var(--color-light-800);\n\n --color-light-900: var(--color-light-900);\n\n --color-light-1000: var(--color-light-1000);\n\n /* Blue */\n\n --color-blue-100: var(--color-blue-100);\n\n --color-blue-200: var(--color-blue-200);\n\n --color-blue-300: var(--color-blue-300);\n\n --color-blue-400: var(--color-blue-400);\n\n --color-blue-500: var(--color-blue-500);\n\n --color-blue-600: var(--color-blue-600);\n\n --color-blue-700: var(--color-blue-700);\n\n --color-blue-800: var(--color-blue-800);\n\n --color-blue-900: var(--color-blue-900);\n\n --color-blue-1000: var(--color-blue-1000);\n\n /* Red */\n\n --color-red-100: var(--color-red-100);\n\n --color-red-200: var(--color-red-200);\n\n --color-red-300: var(--color-red-300);\n\n --color-red-400: var(--color-red-400);\n\n --color-red-500: var(--color-red-500);\n\n --color-red-600: var(--color-red-600);\n\n --color-red-700: var(--color-red-700);\n\n --color-red-800: var(--color-red-800);\n\n --color-red-900: var(--color-red-900);\n\n --color-red-1000: var(--color-red-1000);\n\n /* Orange */\n\n --color-orange-100: var(--color-orange-100);\n\n --color-orange-200: var(--color-orange-200);\n\n --color-orange-300: var(--color-orange-300);\n\n --color-orange-400: var(--color-orange-400);\n\n --color-orange-500: var(--color-orange-500);\n\n --color-orange-700: var(--color-orange-700);\n\n --color-orange-800: var(--color-orange-800);\n\n --color-orange-900: var(--color-orange-900);\n\n --color-orange-1000: var(--color-orange-1000);\n\n /* Yellow */\n\n --color-yellow-100: var(--color-yellow-100);\n\n --color-yellow-200: var(--color-yellow-200);\n\n --color-yellow-300: var(--color-yellow-300);\n\n --color-yellow-400: var(--color-yellow-400);\n\n --color-yellow-500: var(--color-yellow-500);\n\n --color-yellow-600: var(--color-yellow-600);\n\n --color-yellow-700: var(--color-yellow-700);\n\n --color-yellow-800: var(--color-yellow-800);\n\n --color-yellow-900: var(--color-yellow-900);\n\n --color-yellow-1000: var(--color-yellow-1000);\n\n /* Green */\n\n --color-green-100: var(--color-green-100);\n\n --color-green-200: var(--color-green-200);\n\n --color-green-300: var(--color-green-300);\n\n --color-green-400: var(--color-green-400);\n\n --color-green-500: var(--color-green-500);\n\n --color-green-600: var(--color-green-600);\n\n --color-green-700: var(--color-green-700);\n\n --color-green-800: var(--color-green-800);\n\n --color-green-900: var(--color-green-900);\n\n --color-green-1000: var(--color-green-1000);\n\n /* Purple */\n\n --color-purple-100: var(--color-purple-100);\n\n --color-purple-200: var(--color-purple-200);\n\n --color-purple-300: var(--color-purple-300);\n\n --color-purple-400: var(--color-purple-400);\n\n --color-purple-500: var(--color-purple-500);\n\n --color-purple-600: var(--color-purple-600);\n\n --color-purple-700: var(--color-purple-700);\n\n --color-purple-800: var(--color-purple-800);\n\n --color-purple-900: var(--color-purple-900);\n\n --color-purple-1000: var(--color-purple-1000);\n\n /* Border Radius */\n\n --border-radius-button: var(--border-radius-button);\n\n --border-radius-secondary-button: var(--border-radius-secondary-button);\n\n --border-radius-card: var(--border-radius-card);\n\n --border-radius-article: var(--border-radius-article);\n\n --border-radius-outline: var(--border-radius-outline);\n\n /* Shadows */\n\n --shadow-black-card: var(--shadow-black-card);\n\n --shadow-hover-black-card: var(--shadow-hover-black-card);\n\n --shadow-black-button: var(--shadow-black-button);\n\n --shadow-hover-black-button: var(--shadow-hover-black-button);\n\n --shadow-hover-orange-button: var(--shadow-hover-orange-button);\n\n --font-heading: var(--font-sans);\n\n --font-sans: 'Inter Variable', sans-serif;\n\n --color-sidebar-ring: var(--sidebar-ring);\n\n --color-sidebar-border: var(--sidebar-border);\n\n --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);\n\n --color-sidebar-accent: var(--sidebar-accent);\n\n --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);\n\n --color-sidebar-primary: var(--sidebar-primary);\n\n --color-sidebar-foreground: var(--sidebar-foreground);\n\n --color-sidebar: var(--sidebar);\n\n --color-chart-5: var(--chart-5);\n\n --color-chart-4: var(--chart-4);\n\n --color-chart-3: var(--chart-3);\n\n --color-chart-2: var(--chart-2);\n\n --color-chart-1: var(--chart-1);\n\n --color-ring: var(--ring);\n\n --color-input: var(--input);\n\n --color-border: var(--border);\n\n --color-destructive: var(--destructive);\n\n --color-accent-foreground: var(--accent-foreground);\n\n --color-accent: var(--accent);\n\n --color-muted-foreground: var(--muted-foreground);\n\n --color-muted: var(--muted);\n\n --color-secondary-foreground: var(--secondary-foreground);\n\n --color-secondary: var(--secondary);\n\n --color-primary-foreground: var(--primary-foreground);\n\n --color-primary: var(--primary);\n\n --color-popover-foreground: var(--popover-foreground);\n\n --color-popover: var(--popover);\n\n --color-card-foreground: var(--card-foreground);\n\n --color-card: var(--card);\n\n --color-foreground: var(--foreground);\n\n --color-background: var(--background);\n\n --radius-sm: calc(var(--radius) * 0.6);\n\n --radius-md: calc(var(--radius) * 0.8);\n\n --radius-lg: var(--radius);\n\n --radius-xl: calc(var(--radius) * 1.4);\n\n --radius-2xl: calc(var(--radius) * 1.8);\n\n --radius-3xl: calc(var(--radius) * 2.2);\n\n --radius-4xl: calc(var(--radius) * 2.6);\n\n}\n\n/* ====================================\n\n CUSTOM STYLES\n\n ==================================== */\n\n* {\n\n scrollbar-width: thin;\n\n scrollbar-color: var(--color-main-orange-primary) #f1f1f1;\n\n}\n\n*::-webkit-scrollbar { width: 0.5rem; }\n\n*::-webkit-scrollbar-track { background: #f1f1f1; border-radius: 0.625rem; }\n\n*::-webkit-scrollbar-thumb { background: var(--color-main-orange-primary); border-radius: 0.625rem; }\n\n*::-webkit-scrollbar-thumb:hover { background: var(--color-main-orange-primary); }\n\n.my-toast {\n\n font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n\n font-size: 1rem;\n\n font-style: normal;\n\n font-weight: 400;\n\n line-height: 176.782%;\n\n border: none !important;\n\n box-shadow: var(--shadow-black-card);\n\n border-radius: var(--border-radius-article) !important;\n\n}\n\n[data-sonner-toast][data-type='success'] {\n\n background: linear-gradient(135deg, var(--color-main-positive-state) 0%, var(--color-green-200) 100%) !important;\n\n color: var(--color-main-white) !important;\n\n}\n\n[data-sonner-toast][data-type='error'] {\n\n background: linear-gradient(135deg, var(--color-main-warning-state) 0%, var(--color-red-300) 100%) !important;\n\n color: var(--color-main-white) !important;\n\n}\n\n[data-sonner-toaster] { bottom: 6rem !important; }\n\n[data-sonner-toaster][data-position='bottom-center'] { transform: translateY(-3rem) !important; }\n\n/* shadcn defaults not covered by tokens.css — chart and sidebar only */\n\n:root {\n\n --chart-1: oklch(0.87 0 0);\n\n --chart-2: oklch(0.556 0 0);\n\n --chart-3: oklch(0.439 0 0);\n\n --chart-4: oklch(0.371 0 0);\n\n --chart-5: oklch(0.269 0 0);\n\n --sidebar: oklch(0.985 0 0);\n\n --sidebar-foreground: oklch(0.145 0 0);\n\n --sidebar-primary: oklch(0.205 0 0);\n\n --sidebar-primary-foreground: oklch(0.985 0 0);\n\n --sidebar-accent: oklch(0.97 0 0);\n\n --sidebar-accent-foreground: oklch(0.205 0 0);\n\n --sidebar-border: oklch(0.922 0 0);\n\n --sidebar-ring: oklch(0.708 0 0);\n\n}\n\n\n@layer base {\n * {\n @apply border-border outline-ring/50;\n\n }\n body {\n @apply bg-background text-foreground;\n\n }\n html {\n @apply font-sans;\n\n }\n\n}"],"mappings":"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","names":[]}
|