@buildbase/sdk 0.0.30 → 0.0.32
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 +134 -0
- package/dist/css/styles.css +1 -1
- package/dist/css/styles.d.ts +6 -0
- package/dist/data/index.d.ts +39 -0
- package/dist/data/index.js +1 -0
- package/dist/data/index.mjs +1 -0
- package/dist/index.d.ts +280 -58
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/react/index.d.ts +796 -71
- package/dist/react/index.js +1 -35
- package/dist/react/index.mjs +1 -35
- package/package.json +99 -15
package/README.md
CHANGED
|
@@ -50,6 +50,8 @@ Also works server-side (Next.js API routes, Express, Hono) — see [Server-Side
|
|
|
50
50
|
- **📡 Event System** - Subscribe to user and workspace events
|
|
51
51
|
- **🛡️ Error Handling** - Centralized error handling with error boundaries
|
|
52
52
|
- **🖥️ Server-Side SDK** - `BuildBase()` factory for API routes, background jobs, Express, Hono — zero React dependency
|
|
53
|
+
- **🌐 Internationalization (i18n)** - 8 locales (en, es, fr, de, ja, zh, hi, ar), ICU MessageFormat, RTL support, native numerals
|
|
54
|
+
- **🏠 Workspace Modes** - Personal (solo B2C) or Platform (multi-user B2B), configured from admin dashboard
|
|
53
55
|
|
|
54
56
|
## Installation
|
|
55
57
|
|
|
@@ -556,6 +558,96 @@ self.addEventListener('notificationclick', function(event) {
|
|
|
556
558
|
|
|
557
559
|
Everything else is built-in — permission handling, subscribe/unsubscribe, settings UI, billing auto-triggers, and browser-specific unblock instructions.
|
|
558
560
|
|
|
561
|
+
## 🌐 Internationalization (i18n)
|
|
562
|
+
|
|
563
|
+
The SDK supports 8 locales with ICU MessageFormat for plurals, selects, and number formatting.
|
|
564
|
+
|
|
565
|
+
### Setup
|
|
566
|
+
|
|
567
|
+
```tsx
|
|
568
|
+
<SaaSOSProvider locale="hi">
|
|
569
|
+
{/* All SDK UI renders in Hindi */}
|
|
570
|
+
</SaaSOSProvider>
|
|
571
|
+
```
|
|
572
|
+
|
|
573
|
+
### Supported Locales
|
|
574
|
+
|
|
575
|
+
| Code | Language | Numerals | Direction |
|
|
576
|
+
|---|---|---|---|
|
|
577
|
+
| `en` | English | 1,234.56 | LTR |
|
|
578
|
+
| `es` | Spanish | 1.234,56 | LTR |
|
|
579
|
+
| `fr` | French | 1 234,56 | LTR |
|
|
580
|
+
| `de` | German | 1.234,56 | LTR |
|
|
581
|
+
| `ja` | Japanese | 1,234.56 | LTR |
|
|
582
|
+
| `zh` | Chinese | 1,234.56 | LTR |
|
|
583
|
+
| `hi` | Hindi | Devanagari (e.g. 1,234) | LTR |
|
|
584
|
+
| `ar` | Arabic | Arabic-Indic (e.g. 1,234) | RTL |
|
|
585
|
+
|
|
586
|
+
### useTranslation Hook
|
|
587
|
+
|
|
588
|
+
```tsx
|
|
589
|
+
import { useTranslation } from '@buildbase/sdk/react';
|
|
590
|
+
|
|
591
|
+
function MyComponent() {
|
|
592
|
+
const { t, locale, dir, fmtNum, fmtCents } = useTranslation();
|
|
593
|
+
|
|
594
|
+
return (
|
|
595
|
+
<div dir={dir}>
|
|
596
|
+
<p>{t('subscription.currentPlan')}</p> {/* Type-safe key lookup */}
|
|
597
|
+
<p>{t('users.memberCount', { count: 5 })}</p> {/* ICU plural: "5 members" */}
|
|
598
|
+
<p>{fmtNum(1234)}</p> {/* Locale-aware: "1,234" or "1,234" */}
|
|
599
|
+
<p>{fmtCents(1999, 'usd')}</p> {/* "$19.99" or "19.99 US$" */}
|
|
600
|
+
</div>
|
|
601
|
+
);
|
|
602
|
+
}
|
|
603
|
+
```
|
|
604
|
+
|
|
605
|
+
### Features
|
|
606
|
+
|
|
607
|
+
- **ICU MessageFormat** — plurals (`{count, plural, one {# item} other {# items}}`), selects, number formatting
|
|
608
|
+
- **Type-safe keys** — `TranslationKey` union type with autocomplete, catches typos at compile time
|
|
609
|
+
- **Native numerals** — Hindi uses Devanagari digits, Arabic uses Arabic-Indic digits
|
|
610
|
+
- **RTL support** — `dir` attribute on all dialogs, logical CSS properties (start/end instead of left/right)
|
|
611
|
+
- **Locale-aware formatting** — dates, currencies, and numbers formatted per locale
|
|
612
|
+
- **Memoized Intl formatters** — shared `Intl.NumberFormat`/`DateTimeFormat`/`PluralRules` instances for performance
|
|
613
|
+
- **Lazy-loaded translations** — non-English locales loaded on demand, English always bundled
|
|
614
|
+
|
|
615
|
+
## 🏠 Workspace Modes
|
|
616
|
+
|
|
617
|
+
The SDK supports two workspace modes, configured from the admin dashboard (no code changes needed):
|
|
618
|
+
|
|
619
|
+
### Personal Mode
|
|
620
|
+
|
|
621
|
+
For B2C solo tools (Todoist, Grammarly, personal dashboards):
|
|
622
|
+
|
|
623
|
+
- 1 user = 1 auto-created workspace
|
|
624
|
+
- No team invites, no workspace switcher
|
|
625
|
+
- Clicking workspace trigger opens Settings directly
|
|
626
|
+
- Seats, members, roles sections hidden in UI
|
|
627
|
+
- Enforced at API level — workspace creation and invites blocked
|
|
628
|
+
|
|
629
|
+
### Platform Mode (Default)
|
|
630
|
+
|
|
631
|
+
For full SaaS platforms (Slack, GitHub, Discord):
|
|
632
|
+
|
|
633
|
+
- Multi-workspace, multi-user
|
|
634
|
+
- Create workspaces, invite members, switch between them
|
|
635
|
+
- Full settings UI with members, roles, billing, seats
|
|
636
|
+
|
|
637
|
+
### Advanced Overrides
|
|
638
|
+
|
|
639
|
+
Platform mode supports granular overrides from the admin dashboard:
|
|
640
|
+
|
|
641
|
+
| Setting | Options | Default |
|
|
642
|
+
|---|---|---|
|
|
643
|
+
| Can Create Workspace | Everyone / Owner Only / Disabled | Everyone |
|
|
644
|
+
| Can Invite Members | Everyone / Admin Only / Disabled | Everyone |
|
|
645
|
+
| Show Workspace Switcher | On / Off | On |
|
|
646
|
+
| Max Workspaces Per User | 0 (unlimited) or a number | 0 |
|
|
647
|
+
| Auto-Create First Workspace | On / Off | On |
|
|
648
|
+
|
|
649
|
+
These let you achieve team-like, managed, or enterprise-like behavior without a separate mode.
|
|
650
|
+
|
|
559
651
|
## 👤 User Management
|
|
560
652
|
|
|
561
653
|
### User Attributes
|
|
@@ -1038,6 +1130,48 @@ app.post('/api/send-email', async (req, res) => {
|
|
|
1038
1130
|
});
|
|
1039
1131
|
```
|
|
1040
1132
|
|
|
1133
|
+
#### Batch Usage Recording (High-Volume)
|
|
1134
|
+
|
|
1135
|
+
For bulk operations (batch exports, cron jobs, webhooks) that process hundreds or thousands of items, use the batch endpoint to record all usage in a single request instead of calling the API per-item.
|
|
1136
|
+
|
|
1137
|
+
```ts
|
|
1138
|
+
// Using BuildBase SDK (recommended)
|
|
1139
|
+
import { BuildBase } from '@buildbase/sdk';
|
|
1140
|
+
|
|
1141
|
+
const bb = BuildBase({ serverUrl: BASE_URL, version: 'v1', orgId: ORG_ID, token: TOKEN });
|
|
1142
|
+
|
|
1143
|
+
await bb.usage.recordBatch(workspaceId, {
|
|
1144
|
+
items: [
|
|
1145
|
+
{ quotaSlug: 'images', quantity: 500, source: 'batch-export-job' },
|
|
1146
|
+
{ quotaSlug: 'videos', quantity: 10, source: 'batch-export-job' },
|
|
1147
|
+
{ quotaSlug: 'images', quantity: 200, metadata: { jobId: 'abc123' } },
|
|
1148
|
+
]
|
|
1149
|
+
});
|
|
1150
|
+
// Returns: { success, total: 3, succeeded: 3, failed: 0, results: [...] }
|
|
1151
|
+
```
|
|
1152
|
+
|
|
1153
|
+
```ts
|
|
1154
|
+
// Using REST API directly
|
|
1155
|
+
const response = await fetch(
|
|
1156
|
+
`${BASE_URL}/workspaces/${workspaceId}/subscription/usage/batch`,
|
|
1157
|
+
{
|
|
1158
|
+
method: 'POST',
|
|
1159
|
+
headers: { 'x-session-id': SESSION_ID, 'Content-Type': 'application/json' },
|
|
1160
|
+
body: JSON.stringify({
|
|
1161
|
+
items: [
|
|
1162
|
+
{ quotaSlug: 'images', quantity: 500, source: 'batch-export' },
|
|
1163
|
+
{ quotaSlug: 'videos', quantity: 10 },
|
|
1164
|
+
]
|
|
1165
|
+
}),
|
|
1166
|
+
}
|
|
1167
|
+
);
|
|
1168
|
+
```
|
|
1169
|
+
|
|
1170
|
+
- Max **100 items** per request
|
|
1171
|
+
- Each item is processed independently — a single failure doesn't fail the batch
|
|
1172
|
+
- Supports `metadata`, `source`, and `idempotencyKey` per item
|
|
1173
|
+
- Returns per-item results with `success` or `error` for each
|
|
1174
|
+
|
|
1041
1175
|
#### Server-Side API Reference
|
|
1042
1176
|
|
|
1043
1177
|
| Endpoint | Method | Description |
|
package/dist/css/styles.css
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
.saas-os-ui *,.saas-os-ui :after,.saas-os-ui :before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.saas-os-ui ::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
|
|
2
2
|
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
|
|
3
|
-
*/.saas-os-ui *,.saas-os-ui :after,.saas-os-ui :before{border:0 solid #e5e7eb;box-sizing:border-box}.saas-os-ui :after,.saas-os-ui :before{--tw-content:""}.saas-os-ui,.saas-os-ui :host{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.saas-os-ui{line-height:inherit;margin:0}.saas-os-ui hr{border-top-width:1px;color:inherit;height:0}.saas-os-ui abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.saas-os-ui h1,.saas-os-ui h2,.saas-os-ui h3,.saas-os-ui h4,.saas-os-ui h5,.saas-os-ui h6{font-size:inherit;font-weight:inherit}.saas-os-ui a{color:inherit;text-decoration:inherit}.saas-os-ui b,.saas-os-ui strong{font-weight:bolder}.saas-os-ui code,.saas-os-ui kbd,.saas-os-ui pre,.saas-os-ui samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}.saas-os-ui small{font-size:80%}.saas-os-ui sub,.saas-os-ui sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.saas-os-ui sub{bottom:-.25em}.saas-os-ui sup{top:-.5em}.saas-os-ui table{border-collapse:collapse;border-color:inherit;text-indent:0}.saas-os-ui button,.saas-os-ui input,.saas-os-ui optgroup,.saas-os-ui select,.saas-os-ui textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}.saas-os-ui button,.saas-os-ui select{text-transform:none}.saas-os-ui button,.saas-os-ui input:where([type=button]),.saas-os-ui input:where([type=reset]),.saas-os-ui input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}.saas-os-ui :-moz-focusring{outline:auto}.saas-os-ui :-moz-ui-invalid{box-shadow:none}.saas-os-ui progress{vertical-align:baseline}.saas-os-ui ::-webkit-inner-spin-button,.saas-os-ui ::-webkit-outer-spin-button{height:auto}.saas-os-ui [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.saas-os-ui ::-webkit-search-decoration{-webkit-appearance:none}.saas-os-ui ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.saas-os-ui summary{display:list-item}.saas-os-ui blockquote,.saas-os-ui dd,.saas-os-ui dl,.saas-os-ui figure,.saas-os-ui h1,.saas-os-ui h2,.saas-os-ui h3,.saas-os-ui h4,.saas-os-ui h5,.saas-os-ui h6,.saas-os-ui hr,.saas-os-ui p,.saas-os-ui pre{margin:0}.saas-os-ui fieldset{margin:0;padding:0}.saas-os-ui legend{padding:0}.saas-os-ui menu,.saas-os-ui ol,.saas-os-ui ul{list-style:none;margin:0;padding:0}.saas-os-ui dialog{padding:0}.saas-os-ui textarea{resize:vertical}.saas-os-ui input::-moz-placeholder,.saas-os-ui textarea::-moz-placeholder{color:#9ca3af;opacity:1}.saas-os-ui input::placeholder,.saas-os-ui textarea::placeholder{color:#9ca3af;opacity:1}.saas-os-ui [role=button],.saas-os-ui button{cursor:pointer}.saas-os-ui :disabled{cursor:default}.saas-os-ui audio,.saas-os-ui canvas,.saas-os-ui embed,.saas-os-ui iframe,.saas-os-ui img,.saas-os-ui object,.saas-os-ui svg,.saas-os-ui video{display:block;vertical-align:middle}.saas-os-ui img,.saas-os-ui video{height:auto;max-width:100%}.saas-os-ui [hidden]:where(:not([hidden=until-found])){display:none}.saas-os-ui{--background:0 0% 100%;--foreground:222.2 84% 4.9%;--card:0 0% 100%;--card-foreground:222.2 84% 4.9%;--popover:0 0% 100%;--popover-foreground:222.2 84% 4.9%;--primary:222.2 47.4% 11.2%;--primary-foreground:210 40% 98%;--secondary:210 40% 96%;--secondary-foreground:222.2 84% 4.9%;--muted:210 40% 96%;--muted-foreground:215.4 16.3% 46.9%;--accent:210 40% 96%;--accent-foreground:222.2 84% 4.9%;--destructive:0 84.2% 60.2%;--destructive-foreground:210 40% 98%;--border:214.3 31.8% 91.4%;--input:214.3 31.8% 91.4%;--ring:222.2 84% 4.9%;--radius:0.5rem}.saas-os-ui *{border-color:hsl(var(--border))}.saas-os-ui{background-color:hsl(var(--background));color:hsl(var(--foreground))}.saas-os-ui .container{width:100%}@media (min-width:640px){.saas-os-ui .container{max-width:640px}}@media (min-width:768px){.saas-os-ui .container{max-width:768px}}@media (min-width:1024px){.saas-os-ui .container{max-width:1024px}}@media (min-width:1280px){.saas-os-ui .container{max-width:1280px}}@media (min-width:1536px){.saas-os-ui .container{max-width:1536px}}.saas-os-ui .sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.saas-os-ui .pointer-events-none{pointer-events:none}.saas-os-ui .visible{visibility:visible}.saas-os-ui .static{position:static}.saas-os-ui .fixed{position:fixed}.saas-os-ui .absolute{position:absolute}.saas-os-ui .relative{position:relative}.saas-os-ui .sticky{position:sticky}.saas-os-ui .inset-0{inset:0}.saas-os-ui .left-0{left:0}.saas-os-ui .left-3{left:.75rem}.saas-os-ui .left-\[50\%\]{left:50%}.saas-os-ui .right-2{right:.5rem}.saas-os-ui .right-4{right:1rem}.saas-os-ui .right-8{right:2rem}.saas-os-ui .top-0{top:0}.saas-os-ui .top-1\/2{top:50%}.saas-os-ui .top-4{top:1rem}.saas-os-ui .top-\[50\%\]{top:50%}.saas-os-ui .z-10{z-index:10}.saas-os-ui .z-20{z-index:20}.saas-os-ui .z-30{z-index:30}.saas-os-ui .z-50{z-index:50}.saas-os-ui .m-0{margin:0}.saas-os-ui .-mx-1{margin-left:-.25rem;margin-right:-.25rem}.saas-os-ui .mx-auto{margin-left:auto;margin-right:auto}.saas-os-ui .my-1{margin-bottom:.25rem;margin-top:.25rem}.saas-os-ui .my-2{margin-bottom:.5rem;margin-top:.5rem}.saas-os-ui .my-2\.5{margin-bottom:.625rem;margin-top:.625rem}.saas-os-ui .my-4{margin-bottom:1rem;margin-top:1rem}.saas-os-ui .-mb-px{margin-bottom:-1px}.saas-os-ui .mb-1{margin-bottom:.25rem}.saas-os-ui .mb-1\.5{margin-bottom:.375rem}.saas-os-ui .mb-2{margin-bottom:.5rem}.saas-os-ui .mb-2\.5{margin-bottom:.625rem}.saas-os-ui .mb-3{margin-bottom:.75rem}.saas-os-ui .mb-4{margin-bottom:1rem}.saas-os-ui .ml-1\.5{margin-left:.375rem}.saas-os-ui .ml-2{margin-left:.5rem}.saas-os-ui .ml-auto{margin-left:auto}.saas-os-ui .mr-1\.5{margin-right:.375rem}.saas-os-ui .mr-2{margin-right:.5rem}.saas-os-ui .mt-0\.5{margin-top:.125rem}.saas-os-ui .mt-1{margin-top:.25rem}.saas-os-ui .mt-2{margin-top:.5rem}.saas-os-ui .mt-3{margin-top:.75rem}.saas-os-ui .mt-4{margin-top:1rem}.saas-os-ui .mt-auto{margin-top:auto}.saas-os-ui .line-clamp-1{-webkit-line-clamp:1}.saas-os-ui .line-clamp-1,.saas-os-ui .line-clamp-2{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.saas-os-ui .line-clamp-2{-webkit-line-clamp:2}.saas-os-ui .block{display:block}.saas-os-ui .inline{display:inline}.saas-os-ui .flex{display:flex}.saas-os-ui .inline-flex{display:inline-flex}.saas-os-ui .table{display:table}.saas-os-ui .grid{display:grid}.saas-os-ui .hidden{display:none}.saas-os-ui .aspect-square{aspect-ratio:1/1}.saas-os-ui .h-1\.5{height:.375rem}.saas-os-ui .h-10{height:2.5rem}.saas-os-ui .h-12{height:3rem}.saas-os-ui .h-16{height:4rem}.saas-os-ui .h-2{height:.5rem}.saas-os-ui .h-2\.5{height:.625rem}.saas-os-ui .h-24{height:6rem}.saas-os-ui .h-3{height:.75rem}.saas-os-ui .h-3\.5{height:.875rem}.saas-os-ui .h-32{height:8rem}.saas-os-ui .h-4{height:1rem}.saas-os-ui .h-5{height:1.25rem}.saas-os-ui .h-6{height:1.5rem}.saas-os-ui .h-64{height:16rem}.saas-os-ui .h-8{height:2rem}.saas-os-ui .h-9{height:2.25rem}.saas-os-ui .h-\[1px\]{height:1px}.saas-os-ui .h-\[20px\]{height:20px}.saas-os-ui .h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.saas-os-ui .h-full{height:100%}.saas-os-ui .h-px{height:1px}.saas-os-ui .h-screen{height:100vh}.saas-os-ui .max-h-24{max-height:6rem}.saas-os-ui .max-h-\[300px\]{max-height:300px}.saas-os-ui .min-h-0{min-height:0}.saas-os-ui .min-h-full{min-height:100%}.saas-os-ui .w-10{width:2.5rem}.saas-os-ui .w-12{width:3rem}.saas-os-ui .w-16{width:4rem}.saas-os-ui .w-2\.5{width:.625rem}.saas-os-ui .w-24{width:6rem}.saas-os-ui .w-3{width:.75rem}.saas-os-ui .w-3\.5{width:.875rem}.saas-os-ui .w-32{width:8rem}.saas-os-ui .w-4{width:1rem}.saas-os-ui .w-44{width:11rem}.saas-os-ui .w-48{width:12rem}.saas-os-ui .w-5{width:1.25rem}.saas-os-ui .w-6{width:1.5rem}.saas-os-ui .w-72{width:18rem}.saas-os-ui .w-8{width:2rem}.saas-os-ui .w-9{width:2.25rem}.saas-os-ui .w-\[1px\]{width:1px}.saas-os-ui .w-\[36px\]{width:36px}.saas-os-ui .w-full{width:100%}.saas-os-ui .w-screen{width:100vw}.saas-os-ui .min-w-0{min-width:0}.saas-os-ui .min-w-\[8rem\]{min-width:8rem}.saas-os-ui .min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.saas-os-ui .min-w-full{min-width:100%}.saas-os-ui .max-w-2xl{max-width:42rem}.saas-os-ui .max-w-fit{max-width:-moz-fit-content;max-width:fit-content}.saas-os-ui .max-w-full{max-width:100%}.saas-os-ui .max-w-lg{max-width:32rem}.saas-os-ui .max-w-none{max-width:none}.saas-os-ui .max-w-xl{max-width:36rem}.saas-os-ui .flex-1{flex:1 1 0%}.saas-os-ui .flex-shrink-0,.saas-os-ui .shrink-0{flex-shrink:0}.saas-os-ui .border-separate{border-collapse:separate}.saas-os-ui .border-spacing-0{--tw-border-spacing-x:0px;--tw-border-spacing-y:0px;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}.saas-os-ui .-translate-y-1\/2{--tw-translate-y:-50%}.saas-os-ui .-translate-y-1\/2,.saas-os-ui .translate-x-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.saas-os-ui .translate-x-0{--tw-translate-x:0px}.saas-os-ui .translate-x-\[-50\%\]{--tw-translate-x:-50%}.saas-os-ui .translate-x-\[-50\%\],.saas-os-ui .translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.saas-os-ui .translate-y-0{--tw-translate-y:0px}.saas-os-ui .translate-y-\[-50\%\]{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.saas-os-ui .animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.saas-os-ui .animate-spin{animation:spin 1s linear infinite}.saas-os-ui .cursor-default{cursor:default}.saas-os-ui .cursor-pointer{cursor:pointer}.saas-os-ui .touch-none{touch-action:none}.saas-os-ui .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.saas-os-ui .list-inside{list-style-position:inside}.saas-os-ui .list-decimal{list-style-type:decimal}.saas-os-ui .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.saas-os-ui .grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.saas-os-ui .flex-col{flex-direction:column}.saas-os-ui .flex-col-reverse{flex-direction:column-reverse}.saas-os-ui .flex-wrap{flex-wrap:wrap}.saas-os-ui .items-start{align-items:flex-start}.saas-os-ui .items-center{align-items:center}.saas-os-ui .items-baseline{align-items:baseline}.saas-os-ui .justify-end{justify-content:flex-end}.saas-os-ui .justify-center{justify-content:center}.saas-os-ui .justify-between{justify-content:space-between}.saas-os-ui .gap-0\.5{gap:.125rem}.saas-os-ui .gap-1{gap:.25rem}.saas-os-ui .gap-1\.5{gap:.375rem}.saas-os-ui .gap-2{gap:.5rem}.saas-os-ui .gap-3{gap:.75rem}.saas-os-ui .gap-4{gap:1rem}.saas-os-ui .gap-6{gap:1.5rem}.saas-os-ui .gap-x-0{-moz-column-gap:0;column-gap:0}.saas-os-ui .gap-x-0\.5{-moz-column-gap:.125rem;column-gap:.125rem}.saas-os-ui .gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.saas-os-ui .gap-x-1\.5{-moz-column-gap:.375rem;column-gap:.375rem}.saas-os-ui .gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.saas-os-ui .gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.saas-os-ui .gap-y-0\.5{row-gap:.125rem}.saas-os-ui .gap-y-1{row-gap:.25rem}.saas-os-ui .gap-y-2{row-gap:.5rem}.saas-os-ui .gap-y-2\.5{row-gap:.625rem}.saas-os-ui .gap-y-3\.5{row-gap:.875rem}.saas-os-ui .space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(0px*(1 - var(--tw-space-x-reverse)));margin-right:calc(0px*var(--tw-space-x-reverse))}.saas-os-ui .space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.saas-os-ui .space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.saas-os-ui .space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.375rem*var(--tw-space-y-reverse));margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)))}.saas-os-ui .space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.saas-os-ui .space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.saas-os-ui .space-y-3\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.875rem*var(--tw-space-y-reverse));margin-top:calc(.875rem*(1 - var(--tw-space-y-reverse)))}.saas-os-ui .space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.saas-os-ui .space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse));margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)))}.saas-os-ui .space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.saas-os-ui .overflow-auto{overflow:auto}.saas-os-ui .overflow-hidden{overflow:hidden}.saas-os-ui .overflow-y-auto{overflow-y:auto}.saas-os-ui .overflow-x-hidden{overflow-x:hidden}.saas-os-ui .truncate{overflow:hidden;white-space:nowrap}.saas-os-ui .text-ellipsis,.saas-os-ui .truncate{text-overflow:ellipsis}.saas-os-ui .whitespace-nowrap{white-space:nowrap}.saas-os-ui .rounded{border-radius:.25rem}.saas-os-ui .rounded-\[inherit\]{border-radius:inherit}.saas-os-ui .rounded-full{border-radius:9999px}.saas-os-ui .rounded-lg{border-radius:var(--radius)}.saas-os-ui .rounded-md{border-radius:calc(var(--radius) - 2px)}.saas-os-ui .rounded-none{border-radius:0}.saas-os-ui .rounded-sm{border-radius:calc(var(--radius) - 4px)}.saas-os-ui .rounded-xl{border-radius:.75rem}.saas-os-ui .border{border-width:1px}.saas-os-ui .border-2{border-width:2px}.saas-os-ui .border-b{border-bottom-width:1px}.saas-os-ui .border-b-2{border-bottom-width:2px}.saas-os-ui .border-l{border-left-width:1px}.saas-os-ui .border-t{border-top-width:1px}.saas-os-ui .border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.saas-os-ui .border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.saas-os-ui .border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.saas-os-ui .border-blue-300{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.saas-os-ui .border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.saas-os-ui .border-border{border-color:hsl(var(--border))}.saas-os-ui .border-destructive\/50{border-color:hsl(var(--destructive)/.5)}.saas-os-ui .border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.saas-os-ui .border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.saas-os-ui .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.saas-os-ui .border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.saas-os-ui .border-green-300{--tw-border-opacity:1;border-color:rgb(134 239 172/var(--tw-border-opacity,1))}.saas-os-ui .border-input{border-color:hsl(var(--input))}.saas-os-ui .border-primary{border-color:hsl(var(--primary))}.saas-os-ui .border-red-100{--tw-border-opacity:1;border-color:rgb(254 226 226/var(--tw-border-opacity,1))}.saas-os-ui .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.saas-os-ui .border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.saas-os-ui .border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity,1))}.saas-os-ui .border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.saas-os-ui .border-transparent{border-color:transparent}.saas-os-ui .border-l-transparent{border-left-color:transparent}.saas-os-ui .border-t-transparent{border-top-color:transparent}.saas-os-ui .bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.saas-os-ui .bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.saas-os-ui .bg-amber-50\/50{background-color:rgba(255,251,235,.5)}.saas-os-ui .bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.saas-os-ui .bg-background{background-color:hsl(var(--background))}.saas-os-ui .bg-background\/80{background-color:hsl(var(--background)/.8)}.saas-os-ui .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.saas-os-ui .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.saas-os-ui .bg-blue-50\/30{background-color:rgba(239,246,255,.3)}.saas-os-ui .bg-blue-50\/50{background-color:rgba(239,246,255,.5)}.saas-os-ui .bg-blue-50\/80{background-color:rgba(239,246,255,.8)}.saas-os-ui .bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.saas-os-ui .bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.saas-os-ui .bg-border{background-color:hsl(var(--border))}.saas-os-ui .bg-destructive{background-color:hsl(var(--destructive))}.saas-os-ui .bg-destructive\/10{background-color:hsl(var(--destructive)/.1)}.saas-os-ui .bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.saas-os-ui .bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.saas-os-ui .bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.saas-os-ui .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.saas-os-ui .bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.saas-os-ui .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.saas-os-ui .bg-gray-50\/50{background-color:rgba(249,250,251,.5)}.saas-os-ui .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.saas-os-ui .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.saas-os-ui .bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.saas-os-ui .bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.saas-os-ui .bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.saas-os-ui .bg-muted{background-color:hsl(var(--muted))}.saas-os-ui .bg-popover{background-color:hsl(var(--popover))}.saas-os-ui .bg-primary{background-color:hsl(var(--primary))}.saas-os-ui .bg-primary\/10{background-color:hsl(var(--primary)/.1)}.saas-os-ui .bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.saas-os-ui .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.saas-os-ui .bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.saas-os-ui .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.saas-os-ui .bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.saas-os-ui .bg-secondary{background-color:hsl(var(--secondary))}.saas-os-ui .bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.saas-os-ui .bg-transparent{background-color:transparent}.saas-os-ui .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.saas-os-ui .bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.saas-os-ui .bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.saas-os-ui .fill-primary{fill:hsl(var(--primary))}.saas-os-ui .object-contain{-o-object-fit:contain;object-fit:contain}.saas-os-ui .object-cover{-o-object-fit:cover;object-fit:cover}.saas-os-ui .p-0{padding:0}.saas-os-ui .p-1{padding:.25rem}.saas-os-ui .p-2{padding:.5rem}.saas-os-ui .p-3{padding:.75rem}.saas-os-ui .p-4{padding:1rem}.saas-os-ui .p-6{padding:1.5rem}.saas-os-ui .p-8{padding:2rem}.saas-os-ui .p-\[1px\]{padding:1px}.saas-os-ui .px-0\.5{padding-left:.125rem;padding-right:.125rem}.saas-os-ui .px-1{padding-left:.25rem;padding-right:.25rem}.saas-os-ui .px-1\.5{padding-left:.375rem;padding-right:.375rem}.saas-os-ui .px-2{padding-left:.5rem;padding-right:.5rem}.saas-os-ui .px-2\.5{padding-left:.625rem;padding-right:.625rem}.saas-os-ui .px-3{padding-left:.75rem;padding-right:.75rem}.saas-os-ui .px-4{padding-left:1rem;padding-right:1rem}.saas-os-ui .px-5{padding-left:1.25rem;padding-right:1.25rem}.saas-os-ui .px-6{padding-left:1.5rem;padding-right:1.5rem}.saas-os-ui .py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.saas-os-ui .py-1{padding-bottom:.25rem;padding-top:.25rem}.saas-os-ui .py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.saas-os-ui .py-12{padding-bottom:3rem;padding-top:3rem}.saas-os-ui .py-2{padding-bottom:.5rem;padding-top:.5rem}.saas-os-ui .py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.saas-os-ui .py-3{padding-bottom:.75rem;padding-top:.75rem}.saas-os-ui .py-4{padding-bottom:1rem;padding-top:1rem}.saas-os-ui .py-6{padding-bottom:1.5rem;padding-top:1.5rem}.saas-os-ui .py-8{padding-bottom:2rem;padding-top:2rem}.saas-os-ui .pl-10{padding-left:2.5rem}.saas-os-ui .pl-2{padding-left:.5rem}.saas-os-ui .pr-4{padding-right:1rem}.saas-os-ui .pr-8{padding-right:2rem}.saas-os-ui .pt-1{padding-top:.25rem}.saas-os-ui .pt-2{padding-top:.5rem}.saas-os-ui .pt-3{padding-top:.75rem}.saas-os-ui .pt-4{padding-top:1rem}.saas-os-ui .text-left{text-align:left}.saas-os-ui .text-center{text-align:center}.saas-os-ui .align-top{vertical-align:top}.saas-os-ui .align-middle{vertical-align:middle}.saas-os-ui .text-2xl{font-size:1.5rem;line-height:2rem}.saas-os-ui .text-4xl{font-size:2.25rem;line-height:2.5rem}.saas-os-ui .text-\[10px\]{font-size:10px}.saas-os-ui .text-base{font-size:1rem;line-height:1.5rem}.saas-os-ui .text-lg{font-size:1.125rem;line-height:1.75rem}.saas-os-ui .text-sm{font-size:.875rem;line-height:1.25rem}.saas-os-ui .text-xl{font-size:1.25rem;line-height:1.75rem}.saas-os-ui .text-xs{font-size:.75rem;line-height:1rem}.saas-os-ui .font-bold{font-weight:700}.saas-os-ui .font-medium{font-weight:500}.saas-os-ui .font-semibold{font-weight:600}.saas-os-ui .uppercase{text-transform:uppercase}.saas-os-ui .lowercase{text-transform:lowercase}.saas-os-ui .capitalize{text-transform:capitalize}.saas-os-ui .leading-none{line-height:1}.saas-os-ui .leading-relaxed{line-height:1.625}.saas-os-ui .tracking-tight{letter-spacing:-.025em}.saas-os-ui .tracking-wide{letter-spacing:.025em}.saas-os-ui .tracking-wider{letter-spacing:.05em}.saas-os-ui .tracking-widest{letter-spacing:.1em}.saas-os-ui .text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.saas-os-ui .text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.saas-os-ui .text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.saas-os-ui .text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.saas-os-ui .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.saas-os-ui .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.saas-os-ui .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.saas-os-ui .text-destructive{color:hsl(var(--destructive))}.saas-os-ui .text-destructive-foreground{color:hsl(var(--destructive-foreground))}.saas-os-ui .text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.saas-os-ui .text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.saas-os-ui .text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.saas-os-ui .text-foreground{color:hsl(var(--foreground))}.saas-os-ui .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.saas-os-ui .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.saas-os-ui .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.saas-os-ui .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.saas-os-ui .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.saas-os-ui .text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.saas-os-ui .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.saas-os-ui .text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.saas-os-ui .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.saas-os-ui .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.saas-os-ui .text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.saas-os-ui .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.saas-os-ui .text-muted-foreground{color:hsl(var(--muted-foreground))}.saas-os-ui .text-popover-foreground{color:hsl(var(--popover-foreground))}.saas-os-ui .text-primary{color:hsl(var(--primary))}.saas-os-ui .text-primary-foreground{color:hsl(var(--primary-foreground))}.saas-os-ui .text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity,1))}.saas-os-ui .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.saas-os-ui .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.saas-os-ui .text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.saas-os-ui .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.saas-os-ui .text-secondary-foreground{color:hsl(var(--secondary-foreground))}.saas-os-ui .text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.saas-os-ui .text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.saas-os-ui .text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.saas-os-ui .text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.saas-os-ui .text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.saas-os-ui .text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.saas-os-ui .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.saas-os-ui .text-yellow-800{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}.saas-os-ui .underline-offset-4{text-underline-offset:4px}.saas-os-ui .opacity-0{opacity:0}.saas-os-ui .opacity-100{opacity:1}.saas-os-ui .opacity-50{opacity:.5}.saas-os-ui .opacity-70{opacity:.7}.saas-os-ui .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.saas-os-ui .shadow,.saas-os-ui .shadow-\[0_2px_4px_-2px_rgba\(0\2c 0\2c 0\2c 0\.06\)\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.saas-os-ui .shadow-\[0_2px_4px_-2px_rgba\(0\2c 0\2c 0\2c 0\.06\)\]{--tw-shadow:0 2px 4px -2px rgba(0,0,0,.06);--tw-shadow-colored:0 2px 4px -2px var(--tw-shadow-color)}.saas-os-ui .shadow-\[2px_0_4px_-2px_rgba\(0\2c 0\2c 0\2c 0\.06\)\]{--tw-shadow:2px 0 4px -2px rgba(0,0,0,.06);--tw-shadow-colored:2px 0 4px -2px var(--tw-shadow-color)}.saas-os-ui .shadow-\[2px_0_4px_-2px_rgba\(0\2c 0\2c 0\2c 0\.06\)\],.saas-os-ui .shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.saas-os-ui .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.saas-os-ui .shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.saas-os-ui .shadow-md,.saas-os-ui .shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.saas-os-ui .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.saas-os-ui .outline-none{outline:2px solid transparent;outline-offset:2px}.saas-os-ui .outline{outline-style:solid}.saas-os-ui .ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.saas-os-ui .ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.saas-os-ui .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)}.saas-os-ui .backdrop-blur-sm{--tw-backdrop-blur:blur(4px);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)}.saas-os-ui .transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.saas-os-ui .transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.saas-os-ui .transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.saas-os-ui .transition-shadow{transition-duration:.15s;transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.saas-os-ui .transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.saas-os-ui .duration-200{transition-duration:.2s}.saas-os-ui .duration-500{transition-duration:.5s}.saas-os-ui .file\:border-0::file-selector-button{border-width:0}.saas-os-ui .file\:bg-transparent::file-selector-button{background-color:transparent}.saas-os-ui .file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.saas-os-ui .file\:font-medium::file-selector-button{font-weight:500}.saas-os-ui .placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.saas-os-ui .placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.saas-os-ui .hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.saas-os-ui .hover\:bg-accent:hover{background-color:hsl(var(--accent))}.saas-os-ui .hover\:bg-amber-100:hover{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.saas-os-ui .hover\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.saas-os-ui .hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.saas-os-ui .hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.saas-os-ui .hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.saas-os-ui .hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.saas-os-ui .hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.saas-os-ui .hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.saas-os-ui .hover\:bg-muted:hover{background-color:hsl(var(--muted))}.saas-os-ui .hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.saas-os-ui .hover\:bg-red-100:hover{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.saas-os-ui .hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.saas-os-ui .hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.saas-os-ui .hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.saas-os-ui .hover\:bg-slate-50\/50:hover{background-color:rgba(248,250,252,.5)}.saas-os-ui .hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.saas-os-ui .hover\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.saas-os-ui .hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.saas-os-ui .hover\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.saas-os-ui .hover\:text-slate-900:hover{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.saas-os-ui .hover\:underline:hover{text-decoration-line:underline}.saas-os-ui .hover\:opacity-100:hover{opacity:1}.saas-os-ui .hover\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.saas-os-ui .focus\:bg-accent:focus{background-color:hsl(var(--accent))}.saas-os-ui .focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.saas-os-ui .focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.saas-os-ui .focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.saas-os-ui .focus\:ring-1:focus,.saas-os-ui .focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.saas-os-ui .focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.saas-os-ui .focus\:ring-primary:focus{--tw-ring-color:hsl(var(--primary))}.saas-os-ui .focus\:ring-red-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(220 38 38/var(--tw-ring-opacity,1))}.saas-os-ui .focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.saas-os-ui .focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.saas-os-ui .focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.saas-os-ui .focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.saas-os-ui .focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.saas-os-ui .focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.saas-os-ui .focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.saas-os-ui .focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:hsl(var(--background))}.saas-os-ui .disabled\:pointer-events-none:disabled{pointer-events:none}.saas-os-ui .disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.saas-os-ui .disabled\:opacity-50:disabled{opacity:.5}.saas-os-ui .group:hover .group-hover\:bg-slate-50\/80{background-color:rgba(248,250,252,.8)}.saas-os-ui .peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.saas-os-ui .peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.saas-os-ui .aria-selected\:bg-accent[aria-selected=true]{background-color:hsl(var(--accent))}.saas-os-ui .aria-selected\:text-accent-foreground[aria-selected=true]{color:hsl(var(--accent-foreground))}.saas-os-ui .data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.saas-os-ui .data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.saas-os-ui .data-\[side\=bottom\]\:translate-y-1[data-side=bottom],.saas-os-ui .data-\[side\=left\]\:-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.saas-os-ui .data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.saas-os-ui .data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.saas-os-ui .data-\[side\=right\]\:translate-x-1[data-side=right],.saas-os-ui .data-\[side\=top\]\:-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.saas-os-ui .data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.saas-os-ui .data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:1rem}.saas-os-ui .data-\[state\=checked\]\:translate-x-4[data-state=checked],.saas-os-ui .data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.saas-os-ui .data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:0px}.saas-os-ui .data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.saas-os-ui .data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.saas-os-ui .data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.saas-os-ui .data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.saas-os-ui .data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}@media (min-width:640px){.saas-os-ui .sm\:mt-0{margin-top:0}.saas-os-ui .sm\:block{display:block}.saas-os-ui .sm\:inline{display:inline}.saas-os-ui .sm\:max-h-\[500px\]{max-height:500px}.saas-os-ui .sm\:min-h-\[600px\]{min-height:600px}.saas-os-ui .sm\:w-56{width:14rem}.saas-os-ui .sm\:w-auto{width:auto}.saas-os-ui .sm\:min-w-\[600px\]{min-width:600px}.saas-os-ui .sm\:min-w-\[800px\]{min-width:800px}.saas-os-ui .sm\:flex-initial{flex:0 1 auto}.saas-os-ui .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.saas-os-ui .sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.saas-os-ui .sm\:flex-row{flex-direction:row}.saas-os-ui .sm\:items-start{align-items:flex-start}.saas-os-ui .sm\:items-center{align-items:center}.saas-os-ui .sm\:justify-end{justify-content:flex-end}.saas-os-ui .sm\:justify-between{justify-content:space-between}.saas-os-ui .sm\:gap-1{gap:.25rem}.saas-os-ui .sm\:gap-1\.5{gap:.375rem}.saas-os-ui .sm\:gap-3{gap:.75rem}.saas-os-ui .sm\:gap-4{gap:1rem}.saas-os-ui .sm\:gap-y-4{row-gap:1rem}.saas-os-ui .sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.saas-os-ui .sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.saas-os-ui .sm\:space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.saas-os-ui .sm\:rounded-lg{border-radius:var(--radius)}.saas-os-ui .sm\:border-0{border-width:0}.saas-os-ui .sm\:p-4{padding:1rem}.saas-os-ui .sm\:p-5{padding:1.25rem}.saas-os-ui .sm\:px-1\.5{padding-left:.375rem;padding-right:.375rem}.saas-os-ui .sm\:px-4{padding-left:1rem;padding-right:1rem}.saas-os-ui .sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.saas-os-ui .sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.saas-os-ui .sm\:py-5{padding-bottom:1.25rem;padding-top:1.25rem}.saas-os-ui .sm\:py-6{padding-bottom:1.5rem;padding-top:1.5rem}.saas-os-ui .sm\:py-8{padding-bottom:2rem;padding-top:2rem}.saas-os-ui .sm\:pt-0{padding-top:0}.saas-os-ui .sm\:text-left{text-align:left}.saas-os-ui .sm\:text-2xl{font-size:1.5rem;line-height:2rem}.saas-os-ui .sm\:text-sm{font-size:.875rem;line-height:1.25rem}.saas-os-ui .sm\:text-xl{font-size:1.25rem;line-height:1.75rem}.saas-os-ui .sm\:text-xs{font-size:.75rem;line-height:1rem}}@media (min-width:768px){.saas-os-ui .md\:block{display:block}.saas-os-ui .md\:hidden{display:none}.saas-os-ui .md\:w-full{width:100%}}@media (min-width:1024px){.saas-os-ui .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.saas-os-ui .\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.saas-os-ui .\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-bottom:.375rem;padding-top:.375rem}.saas-os-ui .\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.saas-os-ui .\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.saas-os-ui .\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.saas-os-ui .\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.saas-os-ui .\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.saas-os-ui .\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.saas-os-ui .\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.saas-os-ui .\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.saas-os-ui .\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.saas-os-ui .\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-bottom:.75rem;padding-top:.75rem}.saas-os-ui .\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.saas-os-ui .\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}
|
|
3
|
+
*/.saas-os-ui *,.saas-os-ui :after,.saas-os-ui :before{border:0 solid #e5e7eb;box-sizing:border-box}.saas-os-ui :after,.saas-os-ui :before{--tw-content:""}.saas-os-ui,.saas-os-ui :host{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.saas-os-ui{line-height:inherit;margin:0}.saas-os-ui hr{border-top-width:1px;color:inherit;height:0}.saas-os-ui abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.saas-os-ui h1,.saas-os-ui h2,.saas-os-ui h3,.saas-os-ui h4,.saas-os-ui h5,.saas-os-ui h6{font-size:inherit;font-weight:inherit}.saas-os-ui a{color:inherit;text-decoration:inherit}.saas-os-ui b,.saas-os-ui strong{font-weight:bolder}.saas-os-ui code,.saas-os-ui kbd,.saas-os-ui pre,.saas-os-ui samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}.saas-os-ui small{font-size:80%}.saas-os-ui sub,.saas-os-ui sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.saas-os-ui sub{bottom:-.25em}.saas-os-ui sup{top:-.5em}.saas-os-ui table{border-collapse:collapse;border-color:inherit;text-indent:0}.saas-os-ui button,.saas-os-ui input,.saas-os-ui optgroup,.saas-os-ui select,.saas-os-ui textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}.saas-os-ui button,.saas-os-ui select{text-transform:none}.saas-os-ui button,.saas-os-ui input:where([type=button]),.saas-os-ui input:where([type=reset]),.saas-os-ui input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}.saas-os-ui :-moz-focusring{outline:auto}.saas-os-ui :-moz-ui-invalid{box-shadow:none}.saas-os-ui progress{vertical-align:baseline}.saas-os-ui ::-webkit-inner-spin-button,.saas-os-ui ::-webkit-outer-spin-button{height:auto}.saas-os-ui [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.saas-os-ui ::-webkit-search-decoration{-webkit-appearance:none}.saas-os-ui ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.saas-os-ui summary{display:list-item}.saas-os-ui blockquote,.saas-os-ui dd,.saas-os-ui dl,.saas-os-ui figure,.saas-os-ui h1,.saas-os-ui h2,.saas-os-ui h3,.saas-os-ui h4,.saas-os-ui h5,.saas-os-ui h6,.saas-os-ui hr,.saas-os-ui p,.saas-os-ui pre{margin:0}.saas-os-ui fieldset{margin:0;padding:0}.saas-os-ui legend{padding:0}.saas-os-ui menu,.saas-os-ui ol,.saas-os-ui ul{list-style:none;margin:0;padding:0}.saas-os-ui dialog{padding:0}.saas-os-ui textarea{resize:vertical}.saas-os-ui input::-moz-placeholder,.saas-os-ui textarea::-moz-placeholder{color:#9ca3af;opacity:1}.saas-os-ui input::placeholder,.saas-os-ui textarea::placeholder{color:#9ca3af;opacity:1}.saas-os-ui [role=button],.saas-os-ui button{cursor:pointer}.saas-os-ui :disabled{cursor:default}.saas-os-ui audio,.saas-os-ui canvas,.saas-os-ui embed,.saas-os-ui iframe,.saas-os-ui img,.saas-os-ui object,.saas-os-ui svg,.saas-os-ui video{display:block;vertical-align:middle}.saas-os-ui img,.saas-os-ui video{height:auto;max-width:100%}.saas-os-ui [hidden]:where(:not([hidden=until-found])){display:none}.saas-os-ui{--background:0 0% 100%;--foreground:222.2 84% 4.9%;--card:0 0% 100%;--card-foreground:222.2 84% 4.9%;--popover:0 0% 100%;--popover-foreground:222.2 84% 4.9%;--primary:222.2 47.4% 11.2%;--primary-foreground:210 40% 98%;--secondary:210 40% 96%;--secondary-foreground:222.2 84% 4.9%;--muted:210 40% 96%;--muted-foreground:215.4 16.3% 46.9%;--accent:210 40% 96%;--accent-foreground:222.2 84% 4.9%;--destructive:0 84.2% 60.2%;--destructive-foreground:210 40% 98%;--border:214.3 31.8% 91.4%;--input:214.3 31.8% 91.4%;--ring:222.2 84% 4.9%;--radius:0.5rem}.saas-os-ui *{border-color:hsl(var(--border))}.saas-os-ui{background-color:hsl(var(--background));color:hsl(var(--foreground))}.saas-os-ui .container{width:100%}@media (min-width:640px){.saas-os-ui .container{max-width:640px}}@media (min-width:768px){.saas-os-ui .container{max-width:768px}}@media (min-width:1024px){.saas-os-ui .container{max-width:1024px}}@media (min-width:1280px){.saas-os-ui .container{max-width:1280px}}@media (min-width:1536px){.saas-os-ui .container{max-width:1536px}}.saas-os-ui .sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.saas-os-ui .pointer-events-none{pointer-events:none}.saas-os-ui .visible{visibility:visible}.saas-os-ui .static{position:static}.saas-os-ui .fixed{position:fixed}.saas-os-ui .absolute{position:absolute}.saas-os-ui .relative{position:relative}.saas-os-ui .sticky{position:sticky}.saas-os-ui .inset-0{inset:0}.saas-os-ui .end-2{inset-inline-end:.5rem}.saas-os-ui .end-8{inset-inline-end:2rem}.saas-os-ui .left-\[50\%\]{left:50%}.saas-os-ui .right-4{right:1rem}.saas-os-ui .start-0{inset-inline-start:0}.saas-os-ui .start-3{inset-inline-start:.75rem}.saas-os-ui .top-0{top:0}.saas-os-ui .top-1\/2{top:50%}.saas-os-ui .top-4{top:1rem}.saas-os-ui .top-\[50\%\]{top:50%}.saas-os-ui .z-10{z-index:10}.saas-os-ui .z-20{z-index:20}.saas-os-ui .z-30{z-index:30}.saas-os-ui .z-50{z-index:50}.saas-os-ui .m-0{margin:0}.saas-os-ui .-mx-1{margin-left:-.25rem;margin-right:-.25rem}.saas-os-ui .mx-auto{margin-left:auto;margin-right:auto}.saas-os-ui .my-1{margin-bottom:.25rem;margin-top:.25rem}.saas-os-ui .my-2{margin-bottom:.5rem;margin-top:.5rem}.saas-os-ui .my-2\.5{margin-bottom:.625rem;margin-top:.625rem}.saas-os-ui .my-4{margin-bottom:1rem;margin-top:1rem}.saas-os-ui .-mb-px{margin-bottom:-1px}.saas-os-ui .mb-1{margin-bottom:.25rem}.saas-os-ui .mb-1\.5{margin-bottom:.375rem}.saas-os-ui .mb-2{margin-bottom:.5rem}.saas-os-ui .mb-2\.5{margin-bottom:.625rem}.saas-os-ui .mb-3{margin-bottom:.75rem}.saas-os-ui .mb-4{margin-bottom:1rem}.saas-os-ui .me-1\.5{margin-inline-end:.375rem}.saas-os-ui .me-2{margin-inline-end:.5rem}.saas-os-ui .ms-1\.5{margin-inline-start:.375rem}.saas-os-ui .ms-2{margin-inline-start:.5rem}.saas-os-ui .ms-auto{margin-inline-start:auto}.saas-os-ui .mt-0\.5{margin-top:.125rem}.saas-os-ui .mt-1{margin-top:.25rem}.saas-os-ui .mt-2{margin-top:.5rem}.saas-os-ui .mt-3{margin-top:.75rem}.saas-os-ui .mt-4{margin-top:1rem}.saas-os-ui .mt-auto{margin-top:auto}.saas-os-ui .line-clamp-1{-webkit-line-clamp:1}.saas-os-ui .line-clamp-1,.saas-os-ui .line-clamp-2{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.saas-os-ui .line-clamp-2{-webkit-line-clamp:2}.saas-os-ui .block{display:block}.saas-os-ui .inline{display:inline}.saas-os-ui .flex{display:flex}.saas-os-ui .inline-flex{display:inline-flex}.saas-os-ui .table{display:table}.saas-os-ui .grid{display:grid}.saas-os-ui .hidden{display:none}.saas-os-ui .aspect-square{aspect-ratio:1/1}.saas-os-ui .h-1\.5{height:.375rem}.saas-os-ui .h-10{height:2.5rem}.saas-os-ui .h-12{height:3rem}.saas-os-ui .h-16{height:4rem}.saas-os-ui .h-2{height:.5rem}.saas-os-ui .h-2\.5{height:.625rem}.saas-os-ui .h-24{height:6rem}.saas-os-ui .h-3{height:.75rem}.saas-os-ui .h-3\.5{height:.875rem}.saas-os-ui .h-32{height:8rem}.saas-os-ui .h-4{height:1rem}.saas-os-ui .h-5{height:1.25rem}.saas-os-ui .h-6{height:1.5rem}.saas-os-ui .h-64{height:16rem}.saas-os-ui .h-8{height:2rem}.saas-os-ui .h-9{height:2.25rem}.saas-os-ui .h-\[1px\]{height:1px}.saas-os-ui .h-\[20px\]{height:20px}.saas-os-ui .h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.saas-os-ui .h-full{height:100%}.saas-os-ui .h-px{height:1px}.saas-os-ui .h-screen{height:100vh}.saas-os-ui .max-h-24{max-height:6rem}.saas-os-ui .max-h-\[300px\]{max-height:300px}.saas-os-ui .min-h-0{min-height:0}.saas-os-ui .min-h-full{min-height:100%}.saas-os-ui .w-10{width:2.5rem}.saas-os-ui .w-12{width:3rem}.saas-os-ui .w-16{width:4rem}.saas-os-ui .w-2\.5{width:.625rem}.saas-os-ui .w-24{width:6rem}.saas-os-ui .w-3{width:.75rem}.saas-os-ui .w-3\.5{width:.875rem}.saas-os-ui .w-32{width:8rem}.saas-os-ui .w-4{width:1rem}.saas-os-ui .w-44{width:11rem}.saas-os-ui .w-48{width:12rem}.saas-os-ui .w-5{width:1.25rem}.saas-os-ui .w-6{width:1.5rem}.saas-os-ui .w-72{width:18rem}.saas-os-ui .w-8{width:2rem}.saas-os-ui .w-9{width:2.25rem}.saas-os-ui .w-\[1px\]{width:1px}.saas-os-ui .w-\[36px\]{width:36px}.saas-os-ui .w-full{width:100%}.saas-os-ui .w-screen{width:100vw}.saas-os-ui .min-w-0{min-width:0}.saas-os-ui .min-w-\[8rem\]{min-width:8rem}.saas-os-ui .min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.saas-os-ui .min-w-full{min-width:100%}.saas-os-ui .max-w-2xl{max-width:42rem}.saas-os-ui .max-w-fit{max-width:-moz-fit-content;max-width:fit-content}.saas-os-ui .max-w-full{max-width:100%}.saas-os-ui .max-w-lg{max-width:32rem}.saas-os-ui .max-w-none{max-width:none}.saas-os-ui .max-w-xl{max-width:36rem}.saas-os-ui .flex-1{flex:1 1 0%}.saas-os-ui .flex-shrink-0,.saas-os-ui .shrink-0{flex-shrink:0}.saas-os-ui .border-separate{border-collapse:separate}.saas-os-ui .border-spacing-0{--tw-border-spacing-x:0px;--tw-border-spacing-y:0px;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}.saas-os-ui .-translate-y-1\/2{--tw-translate-y:-50%}.saas-os-ui .-translate-y-1\/2,.saas-os-ui .translate-x-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.saas-os-ui .translate-x-0{--tw-translate-x:0px}.saas-os-ui .translate-x-\[-50\%\]{--tw-translate-x:-50%}.saas-os-ui .translate-x-\[-50\%\],.saas-os-ui .translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.saas-os-ui .translate-y-0{--tw-translate-y:0px}.saas-os-ui .translate-y-\[-50\%\]{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.saas-os-ui .animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.saas-os-ui .animate-spin{animation:spin 1s linear infinite}.saas-os-ui .cursor-default{cursor:default}.saas-os-ui .cursor-pointer{cursor:pointer}.saas-os-ui .touch-none{touch-action:none}.saas-os-ui .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.saas-os-ui .list-inside{list-style-position:inside}.saas-os-ui .list-decimal{list-style-type:decimal}.saas-os-ui .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.saas-os-ui .grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.saas-os-ui .flex-col{flex-direction:column}.saas-os-ui .flex-col-reverse{flex-direction:column-reverse}.saas-os-ui .flex-wrap{flex-wrap:wrap}.saas-os-ui .items-start{align-items:flex-start}.saas-os-ui .items-center{align-items:center}.saas-os-ui .items-baseline{align-items:baseline}.saas-os-ui .justify-end{justify-content:flex-end}.saas-os-ui .justify-center{justify-content:center}.saas-os-ui .justify-between{justify-content:space-between}.saas-os-ui .gap-0\.5{gap:.125rem}.saas-os-ui .gap-1{gap:.25rem}.saas-os-ui .gap-1\.5{gap:.375rem}.saas-os-ui .gap-2{gap:.5rem}.saas-os-ui .gap-3{gap:.75rem}.saas-os-ui .gap-4{gap:1rem}.saas-os-ui .gap-6{gap:1.5rem}.saas-os-ui .gap-x-0{-moz-column-gap:0;column-gap:0}.saas-os-ui .gap-x-0\.5{-moz-column-gap:.125rem;column-gap:.125rem}.saas-os-ui .gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.saas-os-ui .gap-x-1\.5{-moz-column-gap:.375rem;column-gap:.375rem}.saas-os-ui .gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.saas-os-ui .gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.saas-os-ui .gap-y-0\.5{row-gap:.125rem}.saas-os-ui .gap-y-1{row-gap:.25rem}.saas-os-ui .gap-y-2{row-gap:.5rem}.saas-os-ui .gap-y-2\.5{row-gap:.625rem}.saas-os-ui .gap-y-3\.5{row-gap:.875rem}.saas-os-ui .space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(0px*(1 - var(--tw-space-x-reverse)));margin-right:calc(0px*var(--tw-space-x-reverse))}.saas-os-ui .space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.saas-os-ui .space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.saas-os-ui .space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.375rem*var(--tw-space-y-reverse));margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)))}.saas-os-ui .space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.saas-os-ui .space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.saas-os-ui .space-y-3\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.875rem*var(--tw-space-y-reverse));margin-top:calc(.875rem*(1 - var(--tw-space-y-reverse)))}.saas-os-ui .space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.saas-os-ui .space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse));margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)))}.saas-os-ui .space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.saas-os-ui .overflow-auto{overflow:auto}.saas-os-ui .overflow-hidden{overflow:hidden}.saas-os-ui .overflow-y-auto{overflow-y:auto}.saas-os-ui .overflow-x-hidden{overflow-x:hidden}.saas-os-ui .truncate{overflow:hidden;white-space:nowrap}.saas-os-ui .text-ellipsis,.saas-os-ui .truncate{text-overflow:ellipsis}.saas-os-ui .whitespace-nowrap{white-space:nowrap}.saas-os-ui .rounded{border-radius:.25rem}.saas-os-ui .rounded-\[inherit\]{border-radius:inherit}.saas-os-ui .rounded-full{border-radius:9999px}.saas-os-ui .rounded-lg{border-radius:var(--radius)}.saas-os-ui .rounded-md{border-radius:calc(var(--radius) - 2px)}.saas-os-ui .rounded-none{border-radius:0}.saas-os-ui .rounded-sm{border-radius:calc(var(--radius) - 4px)}.saas-os-ui .rounded-xl{border-radius:.75rem}.saas-os-ui .border{border-width:1px}.saas-os-ui .border-2{border-width:2px}.saas-os-ui .border-b{border-bottom-width:1px}.saas-os-ui .border-b-2{border-bottom-width:2px}.saas-os-ui .border-l{border-left-width:1px}.saas-os-ui .border-t{border-top-width:1px}.saas-os-ui .border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.saas-os-ui .border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.saas-os-ui .border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.saas-os-ui .border-blue-300{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.saas-os-ui .border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.saas-os-ui .border-border{border-color:hsl(var(--border))}.saas-os-ui .border-destructive\/50{border-color:hsl(var(--destructive)/.5)}.saas-os-ui .border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.saas-os-ui .border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.saas-os-ui .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.saas-os-ui .border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.saas-os-ui .border-green-300{--tw-border-opacity:1;border-color:rgb(134 239 172/var(--tw-border-opacity,1))}.saas-os-ui .border-input{border-color:hsl(var(--input))}.saas-os-ui .border-primary{border-color:hsl(var(--primary))}.saas-os-ui .border-red-100{--tw-border-opacity:1;border-color:rgb(254 226 226/var(--tw-border-opacity,1))}.saas-os-ui .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.saas-os-ui .border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.saas-os-ui .border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity,1))}.saas-os-ui .border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.saas-os-ui .border-transparent{border-color:transparent}.saas-os-ui .border-l-transparent{border-left-color:transparent}.saas-os-ui .border-t-transparent{border-top-color:transparent}.saas-os-ui .bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.saas-os-ui .bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.saas-os-ui .bg-amber-50\/50{background-color:rgba(255,251,235,.5)}.saas-os-ui .bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.saas-os-ui .bg-background{background-color:hsl(var(--background))}.saas-os-ui .bg-background\/80{background-color:hsl(var(--background)/.8)}.saas-os-ui .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.saas-os-ui .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.saas-os-ui .bg-blue-50\/30{background-color:rgba(239,246,255,.3)}.saas-os-ui .bg-blue-50\/50{background-color:rgba(239,246,255,.5)}.saas-os-ui .bg-blue-50\/80{background-color:rgba(239,246,255,.8)}.saas-os-ui .bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.saas-os-ui .bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.saas-os-ui .bg-border{background-color:hsl(var(--border))}.saas-os-ui .bg-destructive{background-color:hsl(var(--destructive))}.saas-os-ui .bg-destructive\/10{background-color:hsl(var(--destructive)/.1)}.saas-os-ui .bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.saas-os-ui .bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.saas-os-ui .bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.saas-os-ui .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.saas-os-ui .bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.saas-os-ui .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.saas-os-ui .bg-gray-50\/50{background-color:rgba(249,250,251,.5)}.saas-os-ui .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.saas-os-ui .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.saas-os-ui .bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.saas-os-ui .bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.saas-os-ui .bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.saas-os-ui .bg-muted{background-color:hsl(var(--muted))}.saas-os-ui .bg-popover{background-color:hsl(var(--popover))}.saas-os-ui .bg-primary{background-color:hsl(var(--primary))}.saas-os-ui .bg-primary\/10{background-color:hsl(var(--primary)/.1)}.saas-os-ui .bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.saas-os-ui .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.saas-os-ui .bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.saas-os-ui .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.saas-os-ui .bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.saas-os-ui .bg-secondary{background-color:hsl(var(--secondary))}.saas-os-ui .bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.saas-os-ui .bg-transparent{background-color:transparent}.saas-os-ui .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.saas-os-ui .bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.saas-os-ui .bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.saas-os-ui .fill-primary{fill:hsl(var(--primary))}.saas-os-ui .object-contain{-o-object-fit:contain;object-fit:contain}.saas-os-ui .object-cover{-o-object-fit:cover;object-fit:cover}.saas-os-ui .p-0{padding:0}.saas-os-ui .p-1{padding:.25rem}.saas-os-ui .p-2{padding:.5rem}.saas-os-ui .p-3{padding:.75rem}.saas-os-ui .p-4{padding:1rem}.saas-os-ui .p-6{padding:1.5rem}.saas-os-ui .p-8{padding:2rem}.saas-os-ui .p-\[1px\]{padding:1px}.saas-os-ui .px-0\.5{padding-left:.125rem;padding-right:.125rem}.saas-os-ui .px-1{padding-left:.25rem;padding-right:.25rem}.saas-os-ui .px-1\.5{padding-left:.375rem;padding-right:.375rem}.saas-os-ui .px-2{padding-left:.5rem;padding-right:.5rem}.saas-os-ui .px-2\.5{padding-left:.625rem;padding-right:.625rem}.saas-os-ui .px-3{padding-left:.75rem;padding-right:.75rem}.saas-os-ui .px-4{padding-left:1rem;padding-right:1rem}.saas-os-ui .px-5{padding-left:1.25rem;padding-right:1.25rem}.saas-os-ui .px-6{padding-left:1.5rem;padding-right:1.5rem}.saas-os-ui .py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.saas-os-ui .py-1{padding-bottom:.25rem;padding-top:.25rem}.saas-os-ui .py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.saas-os-ui .py-12{padding-bottom:3rem;padding-top:3rem}.saas-os-ui .py-2{padding-bottom:.5rem;padding-top:.5rem}.saas-os-ui .py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.saas-os-ui .py-3{padding-bottom:.75rem;padding-top:.75rem}.saas-os-ui .py-4{padding-bottom:1rem;padding-top:1rem}.saas-os-ui .py-6{padding-bottom:1.5rem;padding-top:1.5rem}.saas-os-ui .py-8{padding-bottom:2rem;padding-top:2rem}.saas-os-ui .pe-4{padding-inline-end:1rem}.saas-os-ui .pe-8{padding-inline-end:2rem}.saas-os-ui .ps-10{padding-inline-start:2.5rem}.saas-os-ui .ps-2{padding-inline-start:.5rem}.saas-os-ui .pt-1{padding-top:.25rem}.saas-os-ui .pt-2{padding-top:.5rem}.saas-os-ui .pt-3{padding-top:.75rem}.saas-os-ui .pt-4{padding-top:1rem}.saas-os-ui .text-center{text-align:center}.saas-os-ui .text-start{text-align:start}.saas-os-ui .align-top{vertical-align:top}.saas-os-ui .align-middle{vertical-align:middle}.saas-os-ui .text-2xl{font-size:1.5rem;line-height:2rem}.saas-os-ui .text-4xl{font-size:2.25rem;line-height:2.5rem}.saas-os-ui .text-\[10px\]{font-size:10px}.saas-os-ui .text-base{font-size:1rem;line-height:1.5rem}.saas-os-ui .text-lg{font-size:1.125rem;line-height:1.75rem}.saas-os-ui .text-sm{font-size:.875rem;line-height:1.25rem}.saas-os-ui .text-xl{font-size:1.25rem;line-height:1.75rem}.saas-os-ui .text-xs{font-size:.75rem;line-height:1rem}.saas-os-ui .font-bold{font-weight:700}.saas-os-ui .font-medium{font-weight:500}.saas-os-ui .font-semibold{font-weight:600}.saas-os-ui .uppercase{text-transform:uppercase}.saas-os-ui .lowercase{text-transform:lowercase}.saas-os-ui .leading-none{line-height:1}.saas-os-ui .leading-relaxed{line-height:1.625}.saas-os-ui .tracking-tight{letter-spacing:-.025em}.saas-os-ui .tracking-wide{letter-spacing:.025em}.saas-os-ui .tracking-wider{letter-spacing:.05em}.saas-os-ui .tracking-widest{letter-spacing:.1em}.saas-os-ui .text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.saas-os-ui .text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.saas-os-ui .text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.saas-os-ui .text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.saas-os-ui .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.saas-os-ui .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.saas-os-ui .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.saas-os-ui .text-destructive{color:hsl(var(--destructive))}.saas-os-ui .text-destructive-foreground{color:hsl(var(--destructive-foreground))}.saas-os-ui .text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.saas-os-ui .text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.saas-os-ui .text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.saas-os-ui .text-foreground{color:hsl(var(--foreground))}.saas-os-ui .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.saas-os-ui .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.saas-os-ui .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.saas-os-ui .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.saas-os-ui .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.saas-os-ui .text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.saas-os-ui .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.saas-os-ui .text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.saas-os-ui .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.saas-os-ui .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.saas-os-ui .text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.saas-os-ui .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.saas-os-ui .text-muted-foreground{color:hsl(var(--muted-foreground))}.saas-os-ui .text-popover-foreground{color:hsl(var(--popover-foreground))}.saas-os-ui .text-primary{color:hsl(var(--primary))}.saas-os-ui .text-primary-foreground{color:hsl(var(--primary-foreground))}.saas-os-ui .text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity,1))}.saas-os-ui .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.saas-os-ui .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.saas-os-ui .text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.saas-os-ui .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.saas-os-ui .text-secondary-foreground{color:hsl(var(--secondary-foreground))}.saas-os-ui .text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.saas-os-ui .text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.saas-os-ui .text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.saas-os-ui .text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.saas-os-ui .text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.saas-os-ui .text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.saas-os-ui .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.saas-os-ui .text-yellow-800{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}.saas-os-ui .underline-offset-4{text-underline-offset:4px}.saas-os-ui .opacity-0{opacity:0}.saas-os-ui .opacity-100{opacity:1}.saas-os-ui .opacity-50{opacity:.5}.saas-os-ui .opacity-70{opacity:.7}.saas-os-ui .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.saas-os-ui .shadow,.saas-os-ui .shadow-\[0_2px_4px_-2px_rgba\(0\2c 0\2c 0\2c 0\.06\)\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.saas-os-ui .shadow-\[0_2px_4px_-2px_rgba\(0\2c 0\2c 0\2c 0\.06\)\]{--tw-shadow:0 2px 4px -2px rgba(0,0,0,.06);--tw-shadow-colored:0 2px 4px -2px var(--tw-shadow-color)}.saas-os-ui .shadow-\[2px_0_4px_-2px_rgba\(0\2c 0\2c 0\2c 0\.06\)\]{--tw-shadow:2px 0 4px -2px rgba(0,0,0,.06);--tw-shadow-colored:2px 0 4px -2px var(--tw-shadow-color)}.saas-os-ui .shadow-\[2px_0_4px_-2px_rgba\(0\2c 0\2c 0\2c 0\.06\)\],.saas-os-ui .shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.saas-os-ui .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.saas-os-ui .shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.saas-os-ui .shadow-md,.saas-os-ui .shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.saas-os-ui .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.saas-os-ui .outline-none{outline:2px solid transparent;outline-offset:2px}.saas-os-ui .outline{outline-style:solid}.saas-os-ui .ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.saas-os-ui .ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.saas-os-ui .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)}.saas-os-ui .backdrop-blur-sm{--tw-backdrop-blur:blur(4px);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)}.saas-os-ui .transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.saas-os-ui .transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.saas-os-ui .transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.saas-os-ui .transition-shadow{transition-duration:.15s;transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.saas-os-ui .transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.saas-os-ui .duration-200{transition-duration:.2s}.saas-os-ui .duration-500{transition-duration:.5s}.saas-os-ui .file\:border-0::file-selector-button{border-width:0}.saas-os-ui .file\:bg-transparent::file-selector-button{background-color:transparent}.saas-os-ui .file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.saas-os-ui .file\:font-medium::file-selector-button{font-weight:500}.saas-os-ui .placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.saas-os-ui .placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.saas-os-ui .hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.saas-os-ui .hover\:bg-accent:hover{background-color:hsl(var(--accent))}.saas-os-ui .hover\:bg-amber-100:hover{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.saas-os-ui .hover\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.saas-os-ui .hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.saas-os-ui .hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.saas-os-ui .hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.saas-os-ui .hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.saas-os-ui .hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.saas-os-ui .hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.saas-os-ui .hover\:bg-muted:hover{background-color:hsl(var(--muted))}.saas-os-ui .hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.saas-os-ui .hover\:bg-red-100:hover{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.saas-os-ui .hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.saas-os-ui .hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.saas-os-ui .hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.saas-os-ui .hover\:bg-slate-50\/50:hover{background-color:rgba(248,250,252,.5)}.saas-os-ui .hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.saas-os-ui .hover\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.saas-os-ui .hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.saas-os-ui .hover\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.saas-os-ui .hover\:text-slate-900:hover{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.saas-os-ui .hover\:underline:hover{text-decoration-line:underline}.saas-os-ui .hover\:opacity-100:hover{opacity:1}.saas-os-ui .hover\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.saas-os-ui .focus\:bg-accent:focus{background-color:hsl(var(--accent))}.saas-os-ui .focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.saas-os-ui .focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.saas-os-ui .focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.saas-os-ui .focus\:ring-1:focus,.saas-os-ui .focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.saas-os-ui .focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.saas-os-ui .focus\:ring-primary:focus{--tw-ring-color:hsl(var(--primary))}.saas-os-ui .focus\:ring-red-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(220 38 38/var(--tw-ring-opacity,1))}.saas-os-ui .focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.saas-os-ui .focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.saas-os-ui .focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.saas-os-ui .focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.saas-os-ui .focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.saas-os-ui .focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.saas-os-ui .focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.saas-os-ui .focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:hsl(var(--background))}.saas-os-ui .disabled\:pointer-events-none:disabled{pointer-events:none}.saas-os-ui .disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.saas-os-ui .disabled\:opacity-50:disabled{opacity:.5}.saas-os-ui .group:hover .group-hover\:bg-slate-50\/80{background-color:rgba(248,250,252,.8)}.saas-os-ui .peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.saas-os-ui .peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.saas-os-ui .aria-selected\:bg-accent[aria-selected=true]{background-color:hsl(var(--accent))}.saas-os-ui .aria-selected\:text-accent-foreground[aria-selected=true]{color:hsl(var(--accent-foreground))}.saas-os-ui .data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.saas-os-ui .data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.saas-os-ui .data-\[side\=bottom\]\:translate-y-1[data-side=bottom],.saas-os-ui .data-\[side\=left\]\:-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.saas-os-ui .data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.saas-os-ui .data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.saas-os-ui .data-\[side\=right\]\:translate-x-1[data-side=right],.saas-os-ui .data-\[side\=top\]\:-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.saas-os-ui .data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.saas-os-ui .data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:1rem}.saas-os-ui .data-\[state\=checked\]\:translate-x-4[data-state=checked],.saas-os-ui .data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.saas-os-ui .data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:0px}.saas-os-ui .data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.saas-os-ui .data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.saas-os-ui .data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.saas-os-ui .data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.saas-os-ui .data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}@media (min-width:640px){.saas-os-ui .sm\:mt-0{margin-top:0}.saas-os-ui .sm\:block{display:block}.saas-os-ui .sm\:inline{display:inline}.saas-os-ui .sm\:max-h-\[500px\]{max-height:500px}.saas-os-ui .sm\:min-h-\[600px\]{min-height:600px}.saas-os-ui .sm\:w-56{width:14rem}.saas-os-ui .sm\:w-auto{width:auto}.saas-os-ui .sm\:min-w-\[600px\]{min-width:600px}.saas-os-ui .sm\:min-w-\[800px\]{min-width:800px}.saas-os-ui .sm\:flex-initial{flex:0 1 auto}.saas-os-ui .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.saas-os-ui .sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.saas-os-ui .sm\:flex-row{flex-direction:row}.saas-os-ui .sm\:items-start{align-items:flex-start}.saas-os-ui .sm\:items-center{align-items:center}.saas-os-ui .sm\:justify-end{justify-content:flex-end}.saas-os-ui .sm\:justify-between{justify-content:space-between}.saas-os-ui .sm\:gap-1{gap:.25rem}.saas-os-ui .sm\:gap-1\.5{gap:.375rem}.saas-os-ui .sm\:gap-3{gap:.75rem}.saas-os-ui .sm\:gap-4{gap:1rem}.saas-os-ui .sm\:gap-y-4{row-gap:1rem}.saas-os-ui .sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.saas-os-ui .sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.saas-os-ui .sm\:space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.saas-os-ui .sm\:rounded-lg{border-radius:var(--radius)}.saas-os-ui .sm\:border-0{border-width:0}.saas-os-ui .sm\:p-4{padding:1rem}.saas-os-ui .sm\:p-5{padding:1.25rem}.saas-os-ui .sm\:px-1\.5{padding-left:.375rem;padding-right:.375rem}.saas-os-ui .sm\:px-4{padding-left:1rem;padding-right:1rem}.saas-os-ui .sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.saas-os-ui .sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.saas-os-ui .sm\:py-5{padding-bottom:1.25rem;padding-top:1.25rem}.saas-os-ui .sm\:py-6{padding-bottom:1.5rem;padding-top:1.5rem}.saas-os-ui .sm\:py-8{padding-bottom:2rem;padding-top:2rem}.saas-os-ui .sm\:pt-0{padding-top:0}.saas-os-ui .sm\:text-start{text-align:start}.saas-os-ui .sm\:text-2xl{font-size:1.5rem;line-height:2rem}.saas-os-ui .sm\:text-sm{font-size:.875rem;line-height:1.25rem}.saas-os-ui .sm\:text-xl{font-size:1.25rem;line-height:1.75rem}.saas-os-ui .sm\:text-xs{font-size:.75rem;line-height:1rem}}@media (min-width:768px){.saas-os-ui .md\:block{display:block}.saas-os-ui .md\:hidden{display:none}.saas-os-ui .md\:w-full{width:100%}}@media (min-width:1024px){.saas-os-ui .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.saas-os-ui .rtl\:left-4:where([dir=rtl],[dir=rtl] *){left:1rem}.saas-os-ui .rtl\:right-auto:where([dir=rtl],[dir=rtl] *){right:auto}.saas-os-ui .\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.saas-os-ui .\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-bottom:.375rem;padding-top:.375rem}.saas-os-ui .\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.saas-os-ui .\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.saas-os-ui .\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.saas-os-ui .\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.saas-os-ui .\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.saas-os-ui .\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.saas-os-ui .\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.saas-os-ui .\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.saas-os-ui .\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.saas-os-ui .\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-bottom:.75rem;padding-top:.75rem}.saas-os-ui .\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.saas-os-ui .\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
declare const countries: {
|
|
4
|
+
value: string;
|
|
5
|
+
flag: string;
|
|
6
|
+
text: string;
|
|
7
|
+
currencyCode: string;
|
|
8
|
+
currencyIcon: string;
|
|
9
|
+
}[];
|
|
10
|
+
|
|
11
|
+
declare const uniqueCurrencies: {
|
|
12
|
+
value: string;
|
|
13
|
+
text: string;
|
|
14
|
+
icon: any;
|
|
15
|
+
}[];
|
|
16
|
+
|
|
17
|
+
declare const languages: {
|
|
18
|
+
value: string;
|
|
19
|
+
label: string;
|
|
20
|
+
flag: string;
|
|
21
|
+
}[];
|
|
22
|
+
|
|
23
|
+
declare const timezones: {
|
|
24
|
+
value: string;
|
|
25
|
+
abbr: string;
|
|
26
|
+
offset: number;
|
|
27
|
+
isdst: boolean;
|
|
28
|
+
text: string;
|
|
29
|
+
utc: string[];
|
|
30
|
+
}[];
|
|
31
|
+
|
|
32
|
+
declare const formSchema: z.ZodObject<{
|
|
33
|
+
name: z.ZodString;
|
|
34
|
+
email: z.ZodString;
|
|
35
|
+
}, z.core.$strip>;
|
|
36
|
+
type formValuesType = z.infer<typeof formSchema>;
|
|
37
|
+
|
|
38
|
+
export { formSchema as betaFormSchema, countries, uniqueCurrencies as currencies, languages, timezones };
|
|
39
|
+
export type { formValuesType as BetaFormValues };
|