@blotoutio/providers-shop-gpt-sdk 1.36.2 → 1.37.2

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.
Files changed (4) hide show
  1. package/index.cjs.js +610 -198
  2. package/index.js +610 -198
  3. package/index.mjs +610 -198
  4. package/package.json +1 -1
package/index.cjs.js CHANGED
@@ -7,6 +7,55 @@ const WELCOME_PROMPT_ICON_MAPPING = {
7
7
  promotion: 'handHeart',
8
8
  };
9
9
 
10
+ const DEFAULT_COLOR_CONFIG = {
11
+ chatbotIcon: {
12
+ backgroundColor: '#444',
13
+ iconColor: '#ffffff',
14
+ },
15
+ welcomeScreen: {
16
+ navbar: {
17
+ backgroundColor: '#000000',
18
+ fontColor: '#ffffff',
19
+ },
20
+ welcomePrompts: {
21
+ backgroundColor: '#ffffff',
22
+ fontColor: '#18181b',
23
+ },
24
+ previousThread: {
25
+ backgroundColor: '#ce9e44',
26
+ fontColor: '#ffffff',
27
+ },
28
+ },
29
+ chatMessages: {
30
+ bot: {
31
+ backgroundColor: '#ffffff',
32
+ fontColor: '#000000',
33
+ },
34
+ user: {
35
+ backgroundColor: '#ce9e44',
36
+ fontColor: '#fafafa',
37
+ },
38
+ },
39
+ customPrompts: {
40
+ backgroundColor: '#ffffff',
41
+ fontColor: '#18181b',
42
+ borderColor: '#d1d5db',
43
+ },
44
+ productTiles: {
45
+ backgroundColor: '#ffffff',
46
+ borderColor: '#cbd5e1',
47
+ imageBackground: '#ffffff',
48
+ viewButton: {
49
+ backgroundColor: '#18181b',
50
+ fontColor: '#fafafa',
51
+ },
52
+ },
53
+ chatNudge: {
54
+ backgroundColor: '#ffffff',
55
+ fontColor: '#020617',
56
+ },
57
+ };
58
+
10
59
  const expand = (str) => str.split(',').flatMap((entry) => {
11
60
  if (!entry.includes('-')) {
12
61
  return entry;
@@ -1209,6 +1258,116 @@ const getUIVersion = (config) => {
1209
1258
  return version;
1210
1259
  };
1211
1260
 
1261
+ /**
1262
+ * Checks if a single rule matches the current context
1263
+ */
1264
+ function doesRuleMatch(rule, context) {
1265
+ switch (rule.type) {
1266
+ case 'device': {
1267
+ const deviceMatches = (context.isMobile && rule.value === 'mobile') ||
1268
+ (!context.isMobile && rule.value === 'desktop');
1269
+ return deviceMatches;
1270
+ }
1271
+ case 'userType': {
1272
+ return context.userType === rule.value;
1273
+ }
1274
+ case 'userStatus': {
1275
+ // Map 'notOpened' to !hasBotOpened and 'opened' to hasBotOpened
1276
+ if (rule.value === 'notOpened') {
1277
+ return !context.hasBotOpened;
1278
+ }
1279
+ else if (rule.value === 'opened') {
1280
+ return context.hasBotOpened;
1281
+ }
1282
+ return false;
1283
+ }
1284
+ case 'urlParam': {
1285
+ const keys = rule.key.split(',').map((k) => k.trim());
1286
+ return keys.some((key) => context.urlParams.has(key));
1287
+ }
1288
+ default:
1289
+ return false;
1290
+ }
1291
+ }
1292
+ /**
1293
+ * Checks if all rules in a rule group match based on the operator
1294
+ */
1295
+ function doesRuleGroupMatch(group, context) {
1296
+ if (group.rules.length === 0) {
1297
+ return false;
1298
+ }
1299
+ if (group.operator === 'AND') {
1300
+ return group.rules.every((rule) => doesRuleMatch(rule, context));
1301
+ }
1302
+ else if (group.operator === 'OR') {
1303
+ return group.rules.some((rule) => doesRuleMatch(rule, context));
1304
+ }
1305
+ return false;
1306
+ }
1307
+ /**
1308
+ * Processes rule groups and returns the processed rules
1309
+ * Last-match-per-action-type strategy: later matching rules override earlier ones
1310
+ */
1311
+ function processRules(ruleGroups, options) {
1312
+ var _a, _b;
1313
+ const isMobile = window.innerWidth <= 768;
1314
+ const userType = (_a = getUserType(options.destination, options.sessionId)) !== null && _a !== void 0 ? _a : 'anon';
1315
+ const hasBotOpened = (_b = getIsBotOpened(options.destination, options.sessionId)) !== null && _b !== void 0 ? _b : false;
1316
+ const urlParams = new URLSearchParams(window.location.search);
1317
+ const context = {
1318
+ destination: options.destination,
1319
+ sessionId: options.sessionId,
1320
+ isMobile,
1321
+ userType,
1322
+ hasBotOpened,
1323
+ urlParams,
1324
+ };
1325
+ const result = {};
1326
+ // Process each rule group in order
1327
+ for (const group of ruleGroups) {
1328
+ if (!doesRuleGroupMatch(group, context)) {
1329
+ continue;
1330
+ }
1331
+ // Apply action based on type (last-match-per-action-type)
1332
+ if (group.actionType === 'nudge') {
1333
+ if (group.actionValue === 'show') {
1334
+ result.nudge = { action: 'show' };
1335
+ }
1336
+ else if (group.actionValue === 'hide') {
1337
+ result.nudge = { action: 'hide' };
1338
+ }
1339
+ else if (group.actionValue === 'changeContent') {
1340
+ result.nudge = {
1341
+ action: 'changeContent',
1342
+ prompt: group.nudgeHeader || '',
1343
+ welcomeMessage: group.nudgeContent || '',
1344
+ };
1345
+ }
1346
+ }
1347
+ else if (group.actionType === 'chatbotSize') {
1348
+ result.chatbotSize = group.actionValue;
1349
+ }
1350
+ else if (group.actionType === 'widget') {
1351
+ if (group.actionValue === 'left_bottom') {
1352
+ result.widget = { position: 'left' };
1353
+ }
1354
+ else if (group.actionValue === 'right_bottom') {
1355
+ result.widget = { position: 'right' };
1356
+ }
1357
+ else if (group.actionValue === 'disable') {
1358
+ result.widget = { action: 'disable' };
1359
+ }
1360
+ else if (group.actionValue === 'delay') {
1361
+ result.widget = {
1362
+ action: 'delay',
1363
+ delaySeconds: group.delaySeconds || 0,
1364
+ };
1365
+ }
1366
+ }
1367
+ }
1368
+ return result;
1369
+ }
1370
+
1212
1371
  // eslint-disable-next-line @nx/enforce-module-boundaries
1213
1372
  const error = (message) => console.error(message);
1214
1373
  const init = (params) => {
@@ -1245,7 +1404,7 @@ const init = (params) => {
1245
1404
  error('Error in setting the sessionStorage for previewShopGPT or UI version');
1246
1405
  }
1247
1406
  }
1248
- const { enabled, mode, devMode, chatbotUI, merchantUrl, profiles, productHandles, targetPath, view, brandName, quickPrompts, supportPrompts, searchSuggestions, merchantImage, latestThreadLoad, botIconUrl, chatbotIconUrl, css, nudge, loadUIManually, metafieldDisplayName, showClassicChatbot, chatbotIconType, welcomeHeader, welcomePrompts, showBotOnLeft, botVisibilityConditions, } = (_d = params.manifest.variables) !== null && _d !== void 0 ? _d : {};
1407
+ const { enabled, mode, devMode, chatbotUI, merchantUrl, profiles, productHandles, targetPath, view, brandName, quickPrompts, supportPrompts, searchSuggestions, merchantImage, latestThreadLoad, botIconUrl, chatbotIconUrl, css, nudge, loadUIManually, metafieldDisplayName, showClassicChatbot, chatbotIconType, welcomeHeader, welcomePrompts, showBotOnLeft, botVisibilityConditions, botConfig, colorConfig, } = (_d = params.manifest.variables) !== null && _d !== void 0 ? _d : {};
1249
1408
  let shouldHideBot = false;
1250
1409
  if (botVisibilityConditions) {
1251
1410
  const visibilityResult = checkBotVisibility({
@@ -1291,7 +1450,7 @@ const init = (params) => {
1291
1450
  resolve();
1292
1451
  });
1293
1452
  }).then(() => {
1294
- var _a, _b;
1453
+ var _a, _b, _c;
1295
1454
  const shopGPTAPI = createShopGPTAPI({
1296
1455
  baseURL: params.baseUrl,
1297
1456
  storeAPI,
@@ -1311,6 +1470,48 @@ const init = (params) => {
1311
1470
  error('UI implementation is missing');
1312
1471
  return;
1313
1472
  }
1473
+ // Process bot configuration rules
1474
+ const processedRules = (botConfig === null || botConfig === void 0 ? void 0 : botConfig.length)
1475
+ ? processRules(botConfig, {
1476
+ destination: params.baseUrl,
1477
+ sessionId: (_b = params.session) === null || _b === void 0 ? void 0 : _b.sessionId,
1478
+ })
1479
+ : {};
1480
+ // Apply rule overrides
1481
+ let finalNudge = nudge;
1482
+ let finalShowBotOnLeft = showBotOnLeft;
1483
+ let finalShouldHideBot = shouldHideBot;
1484
+ let finalChatbotSize;
1485
+ // Apply nudge rules
1486
+ if (processedRules.nudge) {
1487
+ if (processedRules.nudge.action === 'show') {
1488
+ finalNudge = { ...nudge, show: true };
1489
+ }
1490
+ else if (processedRules.nudge.action === 'hide') {
1491
+ finalNudge = { ...nudge, show: false };
1492
+ }
1493
+ else if (processedRules.nudge.action === 'changeContent') {
1494
+ finalNudge = {
1495
+ ...nudge,
1496
+ show: true,
1497
+ prompt: processedRules.nudge.prompt,
1498
+ welcomeMessage: processedRules.nudge.welcomeMessage,
1499
+ };
1500
+ }
1501
+ }
1502
+ // Apply widget rules
1503
+ if (processedRules.widget) {
1504
+ if ('position' in processedRules.widget) {
1505
+ finalShowBotOnLeft = processedRules.widget.position === 'left';
1506
+ }
1507
+ else if (processedRules.widget.action === 'disable') {
1508
+ finalShouldHideBot = true;
1509
+ }
1510
+ }
1511
+ // Apply chatbot size rules
1512
+ if (processedRules.chatbotSize) {
1513
+ finalChatbotSize = processedRules.chatbotSize;
1514
+ }
1314
1515
  uiImplementation.init({
1315
1516
  destination: params.baseUrl,
1316
1517
  storeAPI,
@@ -1331,8 +1532,8 @@ const init = (params) => {
1331
1532
  botIconUrl,
1332
1533
  chatbotIconUrl,
1333
1534
  css,
1334
- nudge,
1335
- sessionId: (_b = params.session) === null || _b === void 0 ? void 0 : _b.sessionId,
1535
+ nudge: finalNudge,
1536
+ sessionId: (_c = params.session) === null || _c === void 0 ? void 0 : _c.sessionId,
1336
1537
  loadUIManually,
1337
1538
  userId: params.userId,
1338
1539
  metafieldDisplayName,
@@ -1340,12 +1541,29 @@ const init = (params) => {
1340
1541
  chatbotIconType,
1341
1542
  welcomeHeader,
1342
1543
  welcomePrompts,
1343
- showBotOnLeft,
1544
+ showBotOnLeft: finalShowBotOnLeft,
1545
+ chatbotSize: finalChatbotSize,
1546
+ shouldHideBot: finalShouldHideBot,
1547
+ colorConfig,
1344
1548
  });
1345
1549
  const searchParams = new URLSearchParams(window.location.search);
1346
1550
  const hasSource = searchParams.get('utm_source') === 'shopgpt';
1347
- if (!loadUIManually || hasSource) {
1348
- uiImplementation.loadUI();
1551
+ // Handle widget delay rule
1552
+ const shouldLoadUI = !loadUIManually || hasSource;
1553
+ const widgetDelay = processedRules.widget &&
1554
+ 'action' in processedRules.widget &&
1555
+ processedRules.widget.action === 'delay'
1556
+ ? processedRules.widget.delaySeconds * 1000
1557
+ : 0;
1558
+ if (shouldLoadUI) {
1559
+ if (widgetDelay > 0) {
1560
+ setTimeout(() => {
1561
+ uiImplementation.loadUI();
1562
+ }, widgetDelay);
1563
+ }
1564
+ else {
1565
+ uiImplementation.loadUI();
1566
+ }
1349
1567
  }
1350
1568
  }
1351
1569
  });
@@ -1676,10 +1894,13 @@ const shopGPTStyles = i$4 `
1676
1894
 
1677
1895
  @media screen and (max-width: 768px) {
1678
1896
  min-height: unset;
1897
+ max-height: none;
1679
1898
  min-width: unset;
1680
1899
  width: 100vw;
1681
1900
  height: 100dvh;
1901
+ top: 0;
1682
1902
  bottom: 0;
1903
+ left: 0;
1683
1904
  right: 0;
1684
1905
  border-radius: 0;
1685
1906
  }
@@ -1688,6 +1909,11 @@ const shopGPTStyles = i$4 `
1688
1909
  :host(.v1) #shop-gpt-modal.left {
1689
1910
  left: 20px;
1690
1911
  right: auto;
1912
+
1913
+ @media screen and (max-width: 768px) {
1914
+ left: 0;
1915
+ right: 0;
1916
+ }
1691
1917
  }
1692
1918
 
1693
1919
  :host(.v1) .chatbot-widget .nudge {
@@ -1727,10 +1953,13 @@ const shopGPTStyles = i$4 `
1727
1953
 
1728
1954
  @media screen and (max-width: 768px) {
1729
1955
  min-height: unset;
1956
+ max-height: none;
1730
1957
  min-width: unset;
1731
1958
  width: 100vw;
1732
1959
  height: 100dvh;
1960
+ top: 0;
1733
1961
  bottom: 0;
1962
+ left: 0;
1734
1963
  right: 0;
1735
1964
  border-radius: 0;
1736
1965
  }
@@ -1739,6 +1968,11 @@ const shopGPTStyles = i$4 `
1739
1968
  :host(.v2) #shop-gpt-modal.left {
1740
1969
  left: 1.25em;
1741
1970
  right: auto;
1971
+
1972
+ @media screen and (max-width: 768px) {
1973
+ left: 0;
1974
+ right: 0;
1975
+ }
1742
1976
  }
1743
1977
 
1744
1978
  :host(.v2) .chatbot-widget button {
@@ -2087,7 +2321,7 @@ if (!customElements.get('load-spinner')) {
2087
2321
  customElements.define('load-spinner', LoadSpinner);
2088
2322
  }
2089
2323
 
2090
- var css_248z = "/*! tailwindcss v4.1.12 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\",\n \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --color-red-50: oklch(97.1% 0.013 17.38);\n --color-red-100: oklch(93.6% 0.032 17.717);\n --color-red-200: oklch(88.5% 0.062 18.334);\n --color-red-300: oklch(80.8% 0.114 19.571);\n --color-red-400: oklch(70.4% 0.191 22.216);\n --color-red-500: oklch(63.7% 0.237 25.331);\n --color-red-600: oklch(57.7% 0.245 27.325);\n --color-red-700: oklch(50.5% 0.213 27.518);\n --color-red-800: oklch(44.4% 0.177 26.899);\n --color-red-900: oklch(39.6% 0.141 25.723);\n --color-orange-50: #f25c2b;\n --color-orange-100: #520c03;\n --color-orange-200: oklch(90.1% 0.076 70.697);\n --color-orange-700: oklch(55.3% 0.195 38.402);\n --color-yellow-50: oklch(98.7% 0.026 102.212);\n --color-yellow-100: oklch(97.3% 0.071 103.193);\n --color-yellow-200: oklch(94.5% 0.129 101.54);\n --color-yellow-400: oklch(85.2% 0.199 91.936);\n --color-yellow-600: oklch(68.1% 0.162 75.834);\n --color-yellow-700: oklch(55.4% 0.135 66.442);\n --color-yellow-800: oklch(47.6% 0.114 61.907);\n --color-yellow-900: oklch(42.1% 0.095 57.708);\n --color-green-50: oklch(98.2% 0.018 155.826);\n --color-green-100: oklch(96.2% 0.044 156.743);\n --color-green-400: oklch(79.2% 0.209 151.711);\n --color-green-500: oklch(72.3% 0.219 149.579);\n --color-green-600: oklch(62.7% 0.194 149.214);\n --color-green-700: oklch(52.7% 0.154 150.069);\n --color-green-800: oklch(44.8% 0.119 151.328);\n --color-green-900: oklch(39.3% 0.095 152.535);\n --color-cyan-500: oklch(71.5% 0.143 215.221);\n --color-blue-50: #3b82f6;\n --color-blue-100: #172554;\n --color-blue-200: oklch(88.2% 0.059 254.128);\n --color-blue-300: oklch(80.9% 0.105 251.813);\n --color-blue-400: oklch(70.7% 0.165 254.624);\n --color-blue-500: oklch(62.3% 0.214 259.815);\n --color-blue-600: oklch(54.6% 0.245 262.881);\n --color-blue-700: oklch(48.8% 0.243 264.376);\n --color-blue-800: oklch(42.4% 0.199 265.638);\n --color-blue-900: oklch(37.9% 0.146 265.522);\n --color-blue-950: oklch(28.2% 0.091 267.935);\n --color-violet-200: oklch(89.4% 0.057 293.283);\n --color-violet-600: oklch(54.1% 0.281 293.009);\n --color-purple-50: oklch(97.7% 0.014 308.299);\n --color-purple-200: oklch(90.2% 0.063 306.703);\n --color-purple-600: oklch(55.8% 0.288 302.321);\n --color-purple-700: oklch(49.6% 0.265 301.924);\n --color-pink-100: oklch(94.8% 0.028 342.258);\n --color-pink-800: oklch(45.9% 0.187 3.815);\n --color-slate-50: oklch(98.4% 0.003 247.858);\n --color-slate-100: oklch(96.8% 0.007 247.896);\n --color-slate-300: oklch(86.9% 0.022 252.894);\n --color-slate-400: oklch(70.4% 0.04 256.788);\n --color-slate-500: oklch(55.4% 0.046 257.417);\n --color-slate-600: oklch(44.6% 0.043 257.281);\n --color-slate-700: oklch(37.2% 0.044 257.287);\n --color-slate-800: oklch(27.9% 0.041 260.031);\n --color-slate-950: oklch(12.9% 0.042 264.695);\n --color-gray-50: oklch(98.5% 0.002 247.839);\n --color-gray-100: oklch(96.7% 0.003 264.542);\n --color-gray-200: oklch(92.8% 0.006 264.531);\n --color-gray-300: oklch(87.2% 0.01 258.338);\n --color-gray-400: oklch(70.7% 0.022 261.325);\n --color-gray-500: oklch(55.1% 0.027 264.364);\n --color-gray-600: oklch(44.6% 0.03 256.802);\n --color-gray-700: oklch(37.3% 0.034 259.733);\n --color-gray-800: oklch(27.8% 0.033 256.848);\n --color-gray-900: oklch(21% 0.034 264.665);\n --color-neutral-50: #8799af;\n --color-neutral-100: #172a41;\n --color-neutral-600: oklch(43.9% 0 0);\n --color-neutral-950: oklch(14.5% 0 0);\n --color-black: #000;\n --color-white: #fff;\n --spacing: 0.25rem;\n --container-xs: 20rem;\n --container-sm: 24rem;\n --container-md: 28rem;\n --container-lg: 32rem;\n --container-xl: 36rem;\n --container-2xl: 42rem;\n --container-3xl: 48rem;\n --container-4xl: 56rem;\n --container-5xl: 64rem;\n --container-6xl: 72rem;\n --container-7xl: 80rem;\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --text-sm: 0.875rem;\n --text-sm--line-height: calc(1.25 / 0.875);\n --text-base: 1rem;\n --text-base--line-height: calc(1.5 / 1);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-xl: 1.25rem;\n --text-xl--line-height: calc(1.75 / 1.25);\n --text-2xl: 1.5rem;\n --text-2xl--line-height: calc(2 / 1.5);\n --text-3xl: 1.875rem;\n --text-3xl--line-height: calc(2.25 / 1.875);\n --text-4xl: 2.25rem;\n --text-4xl--line-height: calc(2.5 / 2.25);\n --text-5xl: 3rem;\n --text-5xl--line-height: 1;\n --text-7xl: 4.5rem;\n --text-7xl--line-height: 1;\n --font-weight-normal: 400;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --tracking-tight: -0.025em;\n --tracking-widest: 0.1em;\n --leading-tight: 1.25;\n --leading-normal: 1.5;\n --radius-xs: 0.125rem;\n --radius-sm: 0.25rem;\n --radius-md: 0.375rem;\n --radius-lg: 0.5rem;\n --radius-xl: 0.75rem;\n --radius-2xl: 1rem;\n --radius-3xl: 1.5rem;\n --drop-shadow-md: 0 3px 3px rgb(0 0 0 / 0.12);\n --ease-in: cubic-bezier(0.4, 0, 1, 1);\n --ease-out: cubic-bezier(0, 0, 0.2, 1);\n --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);\n --animate-spin: spin 1s linear infinite;\n --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n --blur-sm: 8px;\n --default-transition-duration: 150ms;\n --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --default-font-family: var(--font-sans);\n --default-mono-font-family: var(--font-mono);\n --color-primary: #18181b;\n --color-primary-foreground: #fafafa;\n --color-secondary: #f4f4f5;\n --color-secondary-foreground: #18181b;\n --color-destructive: #dc2626;\n --color-destructive-foreground: #fef2f2;\n --color-background: #ffffff;\n --color-input: #e4e4e7;\n --color-accent: #f4f4f5;\n --color-accent-foreground: #18181b;\n --color-card: #ffffff;\n --color-card-foreground: #09090b;\n --color-border: #e4e4e7;\n --color-sidebar-ring: #a1a1aa;\n --color-muted: #f7f7f6;\n --color-muted-foreground: #74716e;\n --color-orange-10: #fff3e6;\n --color-orange-20: #ffdfbf;\n --color-orange-30: #ffb47f;\n --color-orange-40: #ff8446;\n --color-orange-60: #cd4b27;\n --color-orange-70: #b03719;\n --color-orange-80: #892c0f;\n --color-orange-90: #61170d;\n --color-neutral-10: #f1f4f8;\n --color-neutral-20: #dbe2eb;\n --color-neutral-30: #bfccda;\n --color-neutral-40: #a3b2c6;\n --color-neutral-60: #677c95;\n --color-neutral-70: #4e647f;\n --color-neutral-80: #394d66;\n --color-neutral-90: #293b51;\n --color-blue-10: #dbeafe;\n --color-blue-20: #bfdbfe;\n --color-blue-30: #93c5fd;\n --color-blue-40: #60a5fa;\n --color-blue-60: #2563eb;\n --color-blue-70: #1d4ed8;\n --color-blue-80: #1e40af;\n --color-blue-90: #1e3a8a;\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n ::-webkit-calendar-picker-indicator {\n line-height: 1;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .\\@container\\/card-header {\n container-type: inline-size;\n container-name: card-header;\n }\n .\\@container {\n container-type: inline-size;\n }\n .pointer-events-none {\n pointer-events: none;\n }\n .collapse {\n visibility: collapse;\n }\n .invisible {\n visibility: hidden;\n }\n .visible {\n visibility: visible;\n }\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n }\n .absolute {\n position: absolute;\n }\n .fixed {\n position: fixed;\n }\n .relative {\n position: relative;\n }\n .static {\n position: static;\n }\n .sticky {\n position: sticky;\n }\n .inset-0 {\n inset: calc(var(--spacing) * 0);\n }\n .inset-x-0 {\n inset-inline: calc(var(--spacing) * 0);\n }\n .inset-y-0 {\n inset-block: calc(var(--spacing) * 0);\n }\n .top-0 {\n top: calc(var(--spacing) * 0);\n }\n .top-1\\.5 {\n top: calc(var(--spacing) * 1.5);\n }\n .top-1\\/2 {\n top: calc(1/2 * 100%);\n }\n .top-3\\.5 {\n top: calc(var(--spacing) * 3.5);\n }\n .top-4 {\n top: calc(var(--spacing) * 4);\n }\n .top-6 {\n top: calc(var(--spacing) * 6);\n }\n .top-\\[15px\\] {\n top: 15px;\n }\n .top-\\[50\\%\\] {\n top: 50%;\n }\n .right-0 {\n right: calc(var(--spacing) * 0);\n }\n .right-1 {\n right: calc(var(--spacing) * 1);\n }\n .right-2 {\n right: calc(var(--spacing) * 2);\n }\n .right-3 {\n right: calc(var(--spacing) * 3);\n }\n .right-4 {\n right: calc(var(--spacing) * 4);\n }\n .right-5 {\n right: calc(var(--spacing) * 5);\n }\n .right-6 {\n right: calc(var(--spacing) * 6);\n }\n .right-30 {\n right: calc(var(--spacing) * 30);\n }\n .right-\\[14px\\] {\n right: 14px;\n }\n .bottom-0 {\n bottom: calc(var(--spacing) * 0);\n }\n .bottom-\\[-32px\\] {\n bottom: -32px;\n }\n .left-0 {\n left: calc(var(--spacing) * 0);\n }\n .left-1\\/2 {\n left: calc(1/2 * 100%);\n }\n .left-2 {\n left: calc(var(--spacing) * 2);\n }\n .left-3 {\n left: calc(var(--spacing) * 3);\n }\n .left-\\[14px\\] {\n left: 14px;\n }\n .left-\\[50\\%\\] {\n left: 50%;\n }\n .left-full {\n left: 100%;\n }\n .isolate {\n isolation: isolate;\n }\n .z-5 {\n z-index: 5;\n }\n .z-10 {\n z-index: 10;\n }\n .z-20 {\n z-index: 20;\n }\n .z-40 {\n z-index: 40;\n }\n .z-50 {\n z-index: 50;\n }\n .z-55 {\n z-index: 55;\n }\n .order-123 {\n order: 123;\n }\n .col-span-1 {\n grid-column: span 1 / span 1;\n }\n .col-span-2 {\n grid-column: span 2 / span 2;\n }\n .col-span-6 {\n grid-column: span 6 / span 6;\n }\n .col-span-full {\n grid-column: 1 / -1;\n }\n .col-start-1 {\n grid-column-start: 1;\n }\n .col-start-2 {\n grid-column-start: 2;\n }\n .row-auto {\n grid-row: auto;\n }\n .row-span-2 {\n grid-row: span 2 / span 2;\n }\n .row-span-full {\n grid-row: 1 / -1;\n }\n .row-start-1 {\n grid-row-start: 1;\n }\n .float-left {\n float: left;\n }\n .container {\n width: 100%;\n @media (width >= 40rem) {\n max-width: 40rem;\n }\n @media (width >= 48rem) {\n max-width: 48rem;\n }\n @media (width >= 64rem) {\n max-width: 64rem;\n }\n @media (width >= 80rem) {\n max-width: 80rem;\n }\n @media (width >= 96rem) {\n max-width: 96rem;\n }\n }\n .-m-2\\.5 {\n margin: calc(var(--spacing) * -2.5);\n }\n .m-0 {\n margin: calc(var(--spacing) * 0);\n }\n .m-2 {\n margin: calc(var(--spacing) * 2);\n }\n .m-4 {\n margin: calc(var(--spacing) * 4);\n }\n .m-8 {\n margin: calc(var(--spacing) * 8);\n }\n .-mx-1 {\n margin-inline: calc(var(--spacing) * -1);\n }\n .-mx-1\\.5 {\n margin-inline: calc(var(--spacing) * -1.5);\n }\n .-mx-2 {\n margin-inline: calc(var(--spacing) * -2);\n }\n .-mx-4 {\n margin-inline: calc(var(--spacing) * -4);\n }\n .mx-2 {\n margin-inline: calc(var(--spacing) * 2);\n }\n .mx-3\\.5 {\n margin-inline: calc(var(--spacing) * 3.5);\n }\n .mx-\\[20px\\] {\n margin-inline: 20px;\n }\n .mx-auto {\n margin-inline: auto;\n }\n .-my-1\\.5 {\n margin-block: calc(var(--spacing) * -1.5);\n }\n .-my-2 {\n margin-block: calc(var(--spacing) * -2);\n }\n .-my-3 {\n margin-block: calc(var(--spacing) * -3);\n }\n .my-0 {\n margin-block: calc(var(--spacing) * 0);\n }\n .my-1 {\n margin-block: calc(var(--spacing) * 1);\n }\n .my-2 {\n margin-block: calc(var(--spacing) * 2);\n }\n .my-4 {\n margin-block: calc(var(--spacing) * 4);\n }\n .my-5 {\n margin-block: calc(var(--spacing) * 5);\n }\n .my-6 {\n margin-block: calc(var(--spacing) * 6);\n }\n .my-10 {\n margin-block: calc(var(--spacing) * 10);\n }\n .my-\\[10px\\] {\n margin-block: 10px;\n }\n .mt-1 {\n margin-top: calc(var(--spacing) * 1);\n }\n .mt-2 {\n margin-top: calc(var(--spacing) * 2);\n }\n .mt-3 {\n margin-top: calc(var(--spacing) * 3);\n }\n .mt-4 {\n margin-top: calc(var(--spacing) * 4);\n }\n .mt-5 {\n margin-top: calc(var(--spacing) * 5);\n }\n .mt-6 {\n margin-top: calc(var(--spacing) * 6);\n }\n .mt-8 {\n margin-top: calc(var(--spacing) * 8);\n }\n .mt-9 {\n margin-top: calc(var(--spacing) * 9);\n }\n .mt-10 {\n margin-top: calc(var(--spacing) * 10);\n }\n .mt-11 {\n margin-top: calc(var(--spacing) * 11);\n }\n .mt-30 {\n margin-top: calc(var(--spacing) * 30);\n }\n .mt-\\[-2px\\] {\n margin-top: -2px;\n }\n .mt-auto {\n margin-top: auto;\n }\n .-mr-px {\n margin-right: -1px;\n }\n .mr-2 {\n margin-right: calc(var(--spacing) * 2);\n }\n .mr-3 {\n margin-right: calc(var(--spacing) * 3);\n }\n .mr-5 {\n margin-right: calc(var(--spacing) * 5);\n }\n .mr-16 {\n margin-right: calc(var(--spacing) * 16);\n }\n .mr-auto {\n margin-right: auto;\n }\n .mb-1 {\n margin-bottom: calc(var(--spacing) * 1);\n }\n .mb-2 {\n margin-bottom: calc(var(--spacing) * 2);\n }\n .mb-3 {\n margin-bottom: calc(var(--spacing) * 3);\n }\n .mb-4 {\n margin-bottom: calc(var(--spacing) * 4);\n }\n .mb-5 {\n margin-bottom: calc(var(--spacing) * 5);\n }\n .mb-6 {\n margin-bottom: calc(var(--spacing) * 6);\n }\n .mb-7 {\n margin-bottom: calc(var(--spacing) * 7);\n }\n .mb-8 {\n margin-bottom: calc(var(--spacing) * 8);\n }\n .mb-10 {\n margin-bottom: calc(var(--spacing) * 10);\n }\n .mb-\\[4px\\] {\n margin-bottom: 4px;\n }\n .mb-\\[24px\\] {\n margin-bottom: 24px;\n }\n .-ml-0\\.5 {\n margin-left: calc(var(--spacing) * -0.5);\n }\n .ml-0 {\n margin-left: calc(var(--spacing) * 0);\n }\n .ml-0\\.5 {\n margin-left: calc(var(--spacing) * 0.5);\n }\n .ml-1 {\n margin-left: calc(var(--spacing) * 1);\n }\n .ml-2 {\n margin-left: calc(var(--spacing) * 2);\n }\n .ml-3 {\n margin-left: calc(var(--spacing) * 3);\n }\n .ml-4 {\n margin-left: calc(var(--spacing) * 4);\n }\n .ml-5 {\n margin-left: calc(var(--spacing) * 5);\n }\n .ml-6 {\n margin-left: calc(var(--spacing) * 6);\n }\n .ml-10 {\n margin-left: calc(var(--spacing) * 10);\n }\n .ml-\\[28px\\] {\n margin-left: 28px;\n }\n .ml-auto {\n margin-left: auto;\n }\n .line-clamp-1 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n }\n .block {\n display: block;\n }\n .contents {\n display: contents;\n }\n .flex {\n display: flex;\n }\n .flow-root {\n display: flow-root;\n }\n .grid {\n display: grid;\n }\n .hidden {\n display: none;\n }\n .inline {\n display: inline;\n }\n .inline-block {\n display: inline-block;\n }\n .inline-flex {\n display: inline-flex;\n }\n .list-item {\n display: list-item;\n }\n .table {\n display: table;\n }\n .table\\! {\n display: table !important;\n }\n .table-caption {\n display: table-caption;\n }\n .table-cell {\n display: table-cell;\n }\n .table-row {\n display: table-row;\n }\n .field-sizing-content {\n field-sizing: content;\n }\n .aspect-square {\n aspect-ratio: 1 / 1;\n }\n .size-2 {\n width: calc(var(--spacing) * 2);\n height: calc(var(--spacing) * 2);\n }\n .size-2\\.5 {\n width: calc(var(--spacing) * 2.5);\n height: calc(var(--spacing) * 2.5);\n }\n .size-3 {\n width: calc(var(--spacing) * 3);\n height: calc(var(--spacing) * 3);\n }\n .size-4 {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n .size-5 {\n width: calc(var(--spacing) * 5);\n height: calc(var(--spacing) * 5);\n }\n .size-6 {\n width: calc(var(--spacing) * 6);\n height: calc(var(--spacing) * 6);\n }\n .size-7 {\n width: calc(var(--spacing) * 7);\n height: calc(var(--spacing) * 7);\n }\n .size-8 {\n width: calc(var(--spacing) * 8);\n height: calc(var(--spacing) * 8);\n }\n .size-9 {\n width: calc(var(--spacing) * 9);\n height: calc(var(--spacing) * 9);\n }\n .size-12 {\n width: calc(var(--spacing) * 12);\n height: calc(var(--spacing) * 12);\n }\n .size-full {\n width: 100%;\n height: 100%;\n }\n .h-0 {\n height: calc(var(--spacing) * 0);\n }\n .h-1 {\n height: calc(var(--spacing) * 1);\n }\n .h-2 {\n height: calc(var(--spacing) * 2);\n }\n .h-3 {\n height: calc(var(--spacing) * 3);\n }\n .h-3\\.5 {\n height: calc(var(--spacing) * 3.5);\n }\n .h-4 {\n height: calc(var(--spacing) * 4);\n }\n .h-4\\.5 {\n height: calc(var(--spacing) * 4.5);\n }\n .h-5 {\n height: calc(var(--spacing) * 5);\n }\n .h-6 {\n height: calc(var(--spacing) * 6);\n }\n .h-7 {\n height: calc(var(--spacing) * 7);\n }\n .h-8 {\n height: calc(var(--spacing) * 8);\n }\n .h-9 {\n height: calc(var(--spacing) * 9);\n }\n .h-10 {\n height: calc(var(--spacing) * 10);\n }\n .h-11 {\n height: calc(var(--spacing) * 11);\n }\n .h-12 {\n height: calc(var(--spacing) * 12);\n }\n .h-16 {\n height: calc(var(--spacing) * 16);\n }\n .h-30 {\n height: calc(var(--spacing) * 30);\n }\n .h-\\[1\\.15rem\\] {\n height: 1.15rem;\n }\n .h-\\[4px\\] {\n height: 4px;\n }\n .h-\\[12px\\] {\n height: 12px;\n }\n .h-\\[14px\\] {\n height: 14px;\n }\n .h-\\[15px\\] {\n height: 15px;\n }\n .h-\\[16px\\] {\n height: 16px;\n }\n .h-\\[20px\\] {\n height: 20px;\n }\n .h-\\[28px\\] {\n height: 28px;\n }\n .h-\\[32px\\] {\n height: 32px;\n }\n .h-\\[36px\\] {\n height: 36px;\n }\n .h-\\[64px\\] {\n height: 64px;\n }\n .h-\\[70px\\] {\n height: 70px;\n }\n .h-\\[108px\\] {\n height: 108px;\n }\n .h-\\[200px\\] {\n height: 200px;\n }\n .h-\\[320px\\] {\n height: 320px;\n }\n .h-\\[628px\\] {\n height: 628px;\n }\n .h-\\[calc-size\\(max-content\\,size\\)\\] {\n height: calc-size(max-content,size);\n }\n .h-\\[var\\(--radix-select-trigger-height\\)\\] {\n height: var(--radix-select-trigger-height);\n }\n .h-auto {\n height: auto;\n }\n .h-fit {\n height: fit-content;\n }\n .h-full {\n height: 100%;\n }\n .h-px {\n height: 1px;\n }\n .h-screen {\n height: 100vh;\n }\n .h-svh {\n height: 100svh;\n }\n .max-h-\\[--radix-select-content-available-height\\] {\n max-height: --radix-select-content-available-height;\n }\n .max-h-\\[40em\\] {\n max-height: 40em;\n }\n .max-h-\\[80vh\\] {\n max-height: 80vh;\n }\n .max-h-\\[206px\\] {\n max-height: 206px;\n }\n .max-h-\\[612px\\] {\n max-height: 612px;\n }\n .max-h-\\[var\\(--radix-dropdown-menu-content-available-height\\)\\] {\n max-height: var(--radix-dropdown-menu-content-available-height);\n }\n .min-h-0 {\n min-height: calc(var(--spacing) * 0);\n }\n .min-h-16 {\n min-height: calc(var(--spacing) * 16);\n }\n .min-h-\\[32px\\] {\n min-height: 32px;\n }\n .min-h-\\[48px\\] {\n min-height: 48px;\n }\n .min-h-\\[532px\\] {\n min-height: 532px;\n }\n .min-h-full {\n min-height: 100%;\n }\n .min-h-screen {\n min-height: 100vh;\n }\n .min-h-svh {\n min-height: 100svh;\n }\n .w-\\(--sidebar-width\\) {\n width: var(--sidebar-width);\n }\n .w-0\\.5 {\n width: calc(var(--spacing) * 0.5);\n }\n .w-1\\/2 {\n width: calc(1/2 * 100%);\n }\n .w-2 {\n width: calc(var(--spacing) * 2);\n }\n .w-3 {\n width: calc(var(--spacing) * 3);\n }\n .w-3\\.5 {\n width: calc(var(--spacing) * 3.5);\n }\n .w-3\\/4 {\n width: calc(3/4 * 100%);\n }\n .w-4 {\n width: calc(var(--spacing) * 4);\n }\n .w-4\\.5 {\n width: calc(var(--spacing) * 4.5);\n }\n .w-5 {\n width: calc(var(--spacing) * 5);\n }\n .w-6 {\n width: calc(var(--spacing) * 6);\n }\n .w-8 {\n width: calc(var(--spacing) * 8);\n }\n .w-9 {\n width: calc(var(--spacing) * 9);\n }\n .w-10 {\n width: calc(var(--spacing) * 10);\n }\n .w-11 {\n width: calc(var(--spacing) * 11);\n }\n .w-12 {\n width: calc(var(--spacing) * 12);\n }\n .w-16 {\n width: calc(var(--spacing) * 16);\n }\n .w-24 {\n width: calc(var(--spacing) * 24);\n }\n .w-40 {\n width: calc(var(--spacing) * 40);\n }\n .w-48 {\n width: calc(var(--spacing) * 48);\n }\n .w-55 {\n width: calc(var(--spacing) * 55);\n }\n .w-64 {\n width: calc(var(--spacing) * 64);\n }\n .w-72 {\n width: calc(var(--spacing) * 72);\n }\n .w-106 {\n width: calc(var(--spacing) * 106);\n }\n .w-240 {\n width: calc(var(--spacing) * 240);\n }\n .w-\\[1px\\] {\n width: 1px;\n }\n .w-\\[12px\\] {\n width: 12px;\n }\n .w-\\[14px\\] {\n width: 14px;\n }\n .w-\\[16px\\] {\n width: 16px;\n }\n .w-\\[20px\\] {\n width: 20px;\n }\n .w-\\[45\\%\\] {\n width: 45%;\n }\n .w-\\[50px\\] {\n width: 50px;\n }\n .w-\\[64px\\] {\n width: 64px;\n }\n .w-\\[70px\\] {\n width: 70px;\n }\n .w-\\[75px\\] {\n width: 75px;\n }\n .w-\\[100px\\] {\n width: 100px;\n }\n .w-\\[120px\\] {\n width: 120px;\n }\n .w-\\[145px\\] {\n width: 145px;\n }\n .w-\\[150px\\] {\n width: 150px;\n }\n .w-\\[180px\\] {\n width: 180px;\n }\n .w-\\[200px\\] {\n width: 200px;\n }\n .w-\\[220px\\] {\n width: 220px;\n }\n .w-\\[250px\\] {\n width: 250px;\n }\n .w-\\[333px\\] {\n width: 333px;\n }\n .w-\\[370px\\] {\n width: 370px;\n }\n .w-\\[428px\\] {\n width: 428px;\n }\n .w-\\[484px\\] {\n width: 484px;\n }\n .w-\\[500px\\] {\n width: 500px;\n }\n .w-\\[526px\\] {\n width: 526px;\n }\n .w-\\[1080px\\] {\n width: 1080px;\n }\n .w-auto {\n width: auto;\n }\n .w-auto\\! {\n width: auto !important;\n }\n .w-fit {\n width: fit-content;\n }\n .w-full {\n width: 100%;\n }\n .w-min {\n width: min-content;\n }\n .w-screen {\n width: 100vw;\n }\n .\\!max-w-\\[860px\\] {\n max-width: 860px !important;\n }\n .\\!max-w-none {\n max-width: none !important;\n }\n .max-w-\\(--skeleton-width\\) {\n max-width: var(--skeleton-width);\n }\n .max-w-2xl {\n max-width: var(--container-2xl);\n }\n .max-w-3xl {\n max-width: var(--container-3xl);\n }\n .max-w-4xl {\n max-width: var(--container-4xl);\n }\n .max-w-5xl {\n max-width: var(--container-5xl);\n }\n .max-w-6xl {\n max-width: var(--container-6xl);\n }\n .max-w-7xl {\n max-width: var(--container-7xl);\n }\n .max-w-\\[100\\%\\] {\n max-width: 100%;\n }\n .max-w-\\[177px\\] {\n max-width: 177px;\n }\n .max-w-\\[200px\\] {\n max-width: 200px;\n }\n .max-w-\\[354px\\] {\n max-width: 354px;\n }\n .max-w-\\[450px\\] {\n max-width: 450px;\n }\n .max-w-\\[573px\\] {\n max-width: 573px;\n }\n .max-w-\\[688px\\] {\n max-width: 688px;\n }\n .max-w-\\[calc\\(100\\%-2rem\\)\\] {\n max-width: calc(100% - 2rem);\n }\n .max-w-full {\n max-width: 100%;\n }\n .max-w-lg {\n max-width: var(--container-lg);\n }\n .max-w-md {\n max-width: var(--container-md);\n }\n .max-w-sm {\n max-width: var(--container-sm);\n }\n .max-w-xl {\n max-width: var(--container-xl);\n }\n .max-w-xs {\n max-width: var(--container-xs);\n }\n .min-w-0 {\n min-width: calc(var(--spacing) * 0);\n }\n .min-w-5 {\n min-width: calc(var(--spacing) * 5);\n }\n .min-w-\\[8rem\\] {\n min-width: 8rem;\n }\n .min-w-\\[85px\\] {\n min-width: 85px;\n }\n .min-w-\\[120px\\] {\n min-width: 120px;\n }\n .min-w-\\[200px\\] {\n min-width: 200px;\n }\n .min-w-\\[220px\\] {\n min-width: 220px;\n }\n .min-w-\\[270px\\] {\n min-width: 270px;\n }\n .min-w-\\[700px\\] {\n min-width: 700px;\n }\n .min-w-\\[var\\(--radix-select-trigger-width\\)\\] {\n min-width: var(--radix-select-trigger-width);\n }\n .min-w-fit {\n min-width: fit-content;\n }\n .min-w-full {\n min-width: 100%;\n }\n .min-w-max {\n min-width: max-content;\n }\n .min-w-xs {\n min-width: var(--container-xs);\n }\n .flex-1 {\n flex: 1;\n }\n .flex-2 {\n flex: 2;\n }\n .flex-auto {\n flex: auto;\n }\n .flex-none {\n flex: none;\n }\n .\\!shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-shrink {\n flex-shrink: 1;\n }\n .flex-shrink-0 {\n flex-shrink: 0;\n }\n .shrink-0 {\n flex-shrink: 0;\n }\n .\\!grow-0 {\n flex-grow: 0 !important;\n }\n .flex-grow {\n flex-grow: 1;\n }\n .grow {\n flex-grow: 1;\n }\n .\\!basis-auto {\n flex-basis: auto !important;\n }\n .table-auto {\n table-layout: auto;\n }\n .caption-bottom {\n caption-side: bottom;\n }\n .border-collapse {\n border-collapse: collapse;\n }\n .origin-\\(--radix-tooltip-content-transform-origin\\) {\n transform-origin: var(--radix-tooltip-content-transform-origin);\n }\n .origin-\\[--radix-dropdown-menu-content-transform-origin\\] {\n transform-origin: --radix-dropdown-menu-content-transform-origin;\n }\n .origin-\\[--radix-popover-content-transform-origin\\] {\n transform-origin: --radix-popover-content-transform-origin;\n }\n .origin-\\[--radix-select-content-transform-origin\\] {\n transform-origin: --radix-select-content-transform-origin;\n }\n .-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .-translate-x-px {\n --tw-translate-x: -1px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-x-0 {\n --tw-translate-x: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-x-\\[-50\\%\\] {\n --tw-translate-x: -50%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-x-full {\n --tw-translate-x: 100%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-x-px {\n --tw-translate-x: 1px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .-translate-y-1\\/2 {\n --tw-translate-y: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-y-0\\.5 {\n --tw-translate-y: calc(var(--spacing) * 0.5);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-y-\\[-50\\%\\] {\n --tw-translate-y: -50%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-y-\\[calc\\(-50\\%_-_2px\\)\\] {\n --tw-translate-y: calc(-50% - 2px);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .rotate-45 {\n rotate: 45deg;\n }\n .rotate-180 {\n rotate: 180deg;\n }\n .transform {\n transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);\n }\n .animate-pulse {\n animation: var(--animate-pulse);\n }\n .animate-spin {\n animation: var(--animate-spin);\n }\n .\\!cursor-default {\n cursor: default !important;\n }\n .cursor-default {\n cursor: default;\n }\n .cursor-grab {\n cursor: grab;\n }\n .cursor-not-allowed {\n cursor: not-allowed;\n }\n .cursor-pointer {\n cursor: pointer;\n }\n .resize {\n resize: both;\n }\n .resize-none {\n resize: none;\n }\n .snap-x {\n scroll-snap-type: x var(--tw-scroll-snap-strictness);\n }\n .snap-mandatory {\n --tw-scroll-snap-strictness: mandatory;\n }\n .list-inside {\n list-style-position: inside;\n }\n .list-disc {\n list-style-type: disc;\n }\n .appearance-none {\n appearance: none;\n }\n .grid-flow-row {\n grid-auto-flow: row;\n }\n .auto-rows-min {\n grid-auto-rows: min-content;\n }\n .grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n .grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n .grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n .grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n .grid-cols-5 {\n grid-template-columns: repeat(5, minmax(0, 1fr));\n }\n .grid-cols-\\[1fr_auto\\] {\n grid-template-columns: 1fr auto;\n }\n .grid-cols-\\[1fr_auto_auto\\] {\n grid-template-columns: 1fr auto auto;\n }\n .grid-cols-\\[1fr_auto_auto_auto\\] {\n grid-template-columns: 1fr auto auto auto;\n }\n .grid-cols-subgrid {\n grid-template-columns: subgrid;\n }\n .grid-rows-\\[auto_auto\\] {\n grid-template-rows: auto auto;\n }\n .grid-rows-\\[repeat\\(6\\,auto\\)\\] {\n grid-template-rows: repeat(6,auto);\n }\n .grid-rows-subgrid {\n grid-template-rows: subgrid;\n }\n .flex-col {\n flex-direction: column;\n }\n .flex-col-reverse {\n flex-direction: column-reverse;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .place-items-center {\n place-items: center;\n }\n .\\!items-start {\n align-items: flex-start !important;\n }\n .items-baseline {\n align-items: baseline;\n }\n .items-center {\n align-items: center;\n }\n .items-end {\n align-items: flex-end;\n }\n .items-start {\n align-items: flex-start;\n }\n .items-stretch {\n align-items: stretch;\n }\n .\\!justify-start {\n justify-content: flex-start !important;\n }\n .justify-between {\n justify-content: space-between;\n }\n .justify-center {\n justify-content: center;\n }\n .justify-end {\n justify-content: flex-end;\n }\n .justify-start {\n justify-content: flex-start;\n }\n .justify-stretch {\n justify-content: stretch;\n }\n .gap-0 {\n gap: calc(var(--spacing) * 0);\n }\n .gap-1 {\n gap: calc(var(--spacing) * 1);\n }\n .gap-1\\.5 {\n gap: calc(var(--spacing) * 1.5);\n }\n .gap-2 {\n gap: calc(var(--spacing) * 2);\n }\n .gap-2\\.5 {\n gap: calc(var(--spacing) * 2.5);\n }\n .gap-3 {\n gap: calc(var(--spacing) * 3);\n }\n .gap-4 {\n gap: calc(var(--spacing) * 4);\n }\n .gap-5 {\n gap: calc(var(--spacing) * 5);\n }\n .gap-6 {\n gap: calc(var(--spacing) * 6);\n }\n .gap-8 {\n gap: calc(var(--spacing) * 8);\n }\n .gap-10 {\n gap: calc(var(--spacing) * 10);\n }\n .gap-25 {\n gap: calc(var(--spacing) * 25);\n }\n .gap-\\[2px\\] {\n gap: 2px;\n }\n .gap-\\[4px\\] {\n gap: 4px;\n }\n .gap-\\[8px\\] {\n gap: 8px;\n }\n .gap-\\[10px\\] {\n gap: 10px;\n }\n .gap-\\[20px\\] {\n gap: 20px;\n }\n .gap-\\[48px\\] {\n gap: 48px;\n }\n .space-y-1 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-2 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-3 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-4 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-6 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-8 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .gap-x-1\\.5 {\n column-gap: calc(var(--spacing) * 1.5);\n }\n .gap-x-2 {\n column-gap: calc(var(--spacing) * 2);\n }\n .gap-x-2\\.5 {\n column-gap: calc(var(--spacing) * 2.5);\n }\n .gap-x-3 {\n column-gap: calc(var(--spacing) * 3);\n }\n .gap-x-4 {\n column-gap: calc(var(--spacing) * 4);\n }\n .gap-x-6 {\n column-gap: calc(var(--spacing) * 6);\n }\n .gap-x-12 {\n column-gap: calc(var(--spacing) * 12);\n }\n .-space-x-px {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(-1px * var(--tw-space-x-reverse));\n margin-inline-end: calc(-1px * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n .space-x-2 {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n .space-x-3 {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n .space-x-4 {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n .space-x-5 {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--spacing) * 5) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n .space-x-6 {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--spacing) * 6) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n .gap-y-2 {\n row-gap: calc(var(--spacing) * 2);\n }\n .gap-y-4 {\n row-gap: calc(var(--spacing) * 4);\n }\n .gap-y-5 {\n row-gap: calc(var(--spacing) * 5);\n }\n .gap-y-7 {\n row-gap: calc(var(--spacing) * 7);\n }\n .gap-y-8 {\n row-gap: calc(var(--spacing) * 8);\n }\n .divide-y {\n :where(& > :not(:last-child)) {\n --tw-divide-y-reverse: 0;\n border-bottom-style: var(--tw-border-style);\n border-top-style: var(--tw-border-style);\n border-top-width: calc(1px * var(--tw-divide-y-reverse));\n border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));\n }\n }\n .divide-gray-100 {\n :where(& > :not(:last-child)) {\n border-color: var(--color-gray-100);\n }\n }\n .divide-gray-200 {\n :where(& > :not(:last-child)) {\n border-color: var(--color-gray-200);\n }\n }\n .divide-gray-300 {\n :where(& > :not(:last-child)) {\n border-color: var(--color-gray-300);\n }\n }\n .self-center {\n align-self: center;\n }\n .self-start {\n align-self: flex-start;\n }\n .justify-self-end {\n justify-self: flex-end;\n }\n .justify-self-start {\n justify-self: flex-start;\n }\n .truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .overflow-auto {\n overflow: auto;\n }\n .overflow-hidden {\n overflow: hidden;\n }\n .overflow-x-auto {\n overflow-x: auto;\n }\n .overflow-x-hidden {\n overflow-x: hidden;\n }\n .overflow-y-auto {\n overflow-y: auto;\n }\n .rounded {\n border-radius: 0.25rem;\n }\n .rounded-2xl {\n border-radius: var(--radius-2xl);\n }\n .rounded-3xl {\n border-radius: var(--radius-3xl);\n }\n .rounded-\\[2px\\] {\n border-radius: 2px;\n }\n .rounded-\\[3px\\] {\n border-radius: 3px;\n }\n .rounded-\\[4px\\] {\n border-radius: 4px;\n }\n .rounded-\\[6px\\] {\n border-radius: 6px;\n }\n .rounded-\\[10px\\] {\n border-radius: 10px;\n }\n .rounded-\\[100\\%\\] {\n border-radius: 100%;\n }\n .rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .rounded-lg {\n border-radius: var(--radius-lg);\n }\n .rounded-md {\n border-radius: var(--radius-md);\n }\n .rounded-none {\n border-radius: 0;\n }\n .rounded-sm {\n border-radius: var(--radius-sm);\n }\n .rounded-xl {\n border-radius: var(--radius-xl);\n }\n .rounded-xs {\n border-radius: var(--radius-xs);\n }\n .rounded-t-md {\n border-top-left-radius: var(--radius-md);\n border-top-right-radius: var(--radius-md);\n }\n .rounded-l-md {\n border-top-left-radius: var(--radius-md);\n border-bottom-left-radius: var(--radius-md);\n }\n .rounded-r-md {\n border-top-right-radius: var(--radius-md);\n border-bottom-right-radius: var(--radius-md);\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-0 {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n .border-1 {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-2 {\n border-style: var(--tw-border-style);\n border-width: 2px;\n }\n .border-3 {\n border-style: var(--tw-border-style);\n border-width: 3px;\n }\n .border-\\[0\\.5\\] {\n border-style: var(--tw-border-style);\n border-width: 0.5;\n }\n .border-\\[0\\.5px\\] {\n border-style: var(--tw-border-style);\n border-width: 0.5px;\n }\n .border-\\[1\\.5px\\] {\n border-style: var(--tw-border-style);\n border-width: 1.5px;\n }\n .border-y {\n border-block-style: var(--tw-border-style);\n border-block-width: 1px;\n }\n .border-t {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n .border-t-1 {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n .border-t-2 {\n border-top-style: var(--tw-border-style);\n border-top-width: 2px;\n }\n .border-r {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n .border-r-1 {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n .border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n .border-b-1 {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n .border-b-2 {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 2px;\n }\n .border-b-3 {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 3px;\n }\n .border-b-\\[0\\.5px\\] {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0.5px;\n }\n .border-l {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n .border-dashed {\n --tw-border-style: dashed;\n border-style: dashed;\n }\n .border-none {\n --tw-border-style: none;\n border-style: none;\n }\n .border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .border-black {\n border-color: var(--color-black);\n }\n .border-blue-200 {\n border-color: var(--color-blue-200);\n }\n .border-blue-600 {\n border-color: var(--color-blue-600);\n }\n .border-border {\n border-color: var(--color-border);\n }\n .border-gray-100 {\n border-color: var(--color-gray-100);\n }\n .border-gray-200 {\n border-color: var(--color-gray-200);\n }\n .border-gray-300 {\n border-color: var(--color-gray-300);\n }\n .border-gray-900\\/5 {\n border-color: color-mix(in srgb, oklch(21% 0.034 264.665) 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-gray-900) 5%, transparent);\n }\n }\n .border-gray-900\\/25 {\n border-color: color-mix(in srgb, oklch(21% 0.034 264.665) 25%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-gray-900) 25%, transparent);\n }\n }\n .border-green-500 {\n border-color: var(--color-green-500);\n }\n .border-input {\n border-color: var(--color-input);\n }\n .border-neutral-20 {\n border-color: var(--color-neutral-20);\n }\n .border-neutral-40 {\n border-color: var(--color-neutral-40);\n }\n .border-orange-200 {\n border-color: var(--color-orange-200);\n }\n .border-primary {\n border-color: var(--color-primary);\n }\n .border-purple-200 {\n border-color: var(--color-purple-200);\n }\n .border-red-200 {\n border-color: var(--color-red-200);\n }\n .border-red-500 {\n border-color: var(--color-red-500);\n }\n .border-red-600 {\n border-color: var(--color-red-600);\n }\n .border-sidebar-ring {\n border-color: var(--color-sidebar-ring);\n }\n .border-slate-300 {\n border-color: var(--color-slate-300);\n }\n .border-slate-400 {\n border-color: var(--color-slate-400);\n }\n .border-transparent {\n border-color: transparent;\n }\n .border-white {\n border-color: var(--color-white);\n }\n .border-yellow-200 {\n border-color: var(--color-yellow-200);\n }\n .border-b-transparent {\n border-bottom-color: transparent;\n }\n .\\!bg-\\[\\#1877F2\\] {\n background-color: #1877F2 !important;\n }\n .\\!bg-\\[\\#ff7a59\\] {\n background-color: #ff7a59 !important;\n }\n .bg-\\[\\#0001\\] {\n background-color: #0001;\n }\n .bg-\\[\\#fffa\\] {\n background-color: #fffa;\n }\n .bg-\\[\\#ffffff\\] {\n background-color: #ffffff;\n }\n .bg-accent {\n background-color: var(--color-accent);\n }\n .bg-background {\n background-color: var(--color-background);\n }\n .bg-black {\n background-color: var(--color-black);\n }\n .bg-black\\/40 {\n background-color: color-mix(in srgb, #000 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 40%, transparent);\n }\n }\n .bg-black\\/50 {\n background-color: color-mix(in srgb, #000 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 50%, transparent);\n }\n }\n .bg-blue-10 {\n background-color: var(--color-blue-10);\n }\n .bg-blue-20 {\n background-color: var(--color-blue-20);\n }\n .bg-blue-30 {\n background-color: var(--color-blue-30);\n }\n .bg-blue-40 {\n background-color: var(--color-blue-40);\n }\n .bg-blue-50 {\n background-color: var(--color-blue-50);\n }\n .bg-blue-60 {\n background-color: var(--color-blue-60);\n }\n .bg-blue-70 {\n background-color: var(--color-blue-70);\n }\n .bg-blue-80 {\n background-color: var(--color-blue-80);\n }\n .bg-blue-90 {\n background-color: var(--color-blue-90);\n }\n .bg-blue-100 {\n background-color: var(--color-blue-100);\n }\n .bg-blue-200 {\n background-color: var(--color-blue-200);\n }\n .bg-blue-300 {\n background-color: var(--color-blue-300);\n }\n .bg-blue-600 {\n background-color: var(--color-blue-600);\n }\n .bg-border {\n background-color: var(--color-border);\n }\n .bg-card {\n background-color: var(--color-card);\n }\n .bg-destructive {\n background-color: var(--color-destructive);\n }\n .bg-gray-50 {\n background-color: var(--color-gray-50);\n }\n .bg-gray-100 {\n background-color: var(--color-gray-100);\n }\n .bg-gray-200 {\n background-color: var(--color-gray-200);\n }\n .bg-gray-300 {\n background-color: var(--color-gray-300);\n }\n .bg-gray-500 {\n background-color: var(--color-gray-500);\n }\n .bg-gray-500\\/75 {\n background-color: color-mix(in srgb, oklch(55.1% 0.027 264.364) 75%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-gray-500) 75%, transparent);\n }\n }\n .bg-gray-900\\/80 {\n background-color: color-mix(in srgb, oklch(21% 0.034 264.665) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-gray-900) 80%, transparent);\n }\n }\n .bg-green-50 {\n background-color: var(--color-green-50);\n }\n .bg-green-100 {\n background-color: var(--color-green-100);\n }\n .bg-green-500 {\n background-color: var(--color-green-500);\n }\n .bg-green-600 {\n background-color: var(--color-green-600);\n }\n .bg-muted {\n background-color: var(--color-muted);\n }\n .bg-muted\\/50 {\n background-color: color-mix(in srgb, #f7f7f6 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 50%, transparent);\n }\n }\n .bg-neutral-10 {\n background-color: var(--color-neutral-10);\n }\n .bg-neutral-20 {\n background-color: var(--color-neutral-20);\n }\n .bg-neutral-30 {\n background-color: var(--color-neutral-30);\n }\n .bg-neutral-40 {\n background-color: var(--color-neutral-40);\n }\n .bg-neutral-50 {\n background-color: var(--color-neutral-50);\n }\n .bg-neutral-60 {\n background-color: var(--color-neutral-60);\n }\n .bg-neutral-70 {\n background-color: var(--color-neutral-70);\n }\n .bg-neutral-80 {\n background-color: var(--color-neutral-80);\n }\n .bg-neutral-90 {\n background-color: var(--color-neutral-90);\n }\n .bg-neutral-100 {\n background-color: var(--color-neutral-100);\n }\n .bg-neutral-950 {\n background-color: var(--color-neutral-950);\n }\n .bg-orange-10 {\n background-color: var(--color-orange-10);\n }\n .bg-orange-20 {\n background-color: var(--color-orange-20);\n }\n .bg-orange-30 {\n background-color: var(--color-orange-30);\n }\n .bg-orange-40 {\n background-color: var(--color-orange-40);\n }\n .bg-orange-50 {\n background-color: var(--color-orange-50);\n }\n .bg-orange-60 {\n background-color: var(--color-orange-60);\n }\n .bg-orange-70 {\n background-color: var(--color-orange-70);\n }\n .bg-orange-80 {\n background-color: var(--color-orange-80);\n }\n .bg-orange-90 {\n background-color: var(--color-orange-90);\n }\n .bg-orange-100 {\n background-color: var(--color-orange-100);\n }\n .bg-pink-100 {\n background-color: var(--color-pink-100);\n }\n .bg-primary {\n background-color: var(--color-primary);\n }\n .bg-purple-50 {\n background-color: var(--color-purple-50);\n }\n .bg-purple-600 {\n background-color: var(--color-purple-600);\n }\n .bg-red-50 {\n background-color: var(--color-red-50);\n }\n .bg-red-100 {\n background-color: var(--color-red-100);\n }\n .bg-red-300 {\n background-color: var(--color-red-300);\n }\n .bg-red-600 {\n background-color: var(--color-red-600);\n }\n .bg-secondary {\n background-color: var(--color-secondary);\n }\n .bg-slate-50 {\n background-color: var(--color-slate-50);\n }\n .bg-slate-100 {\n background-color: var(--color-slate-100);\n }\n .bg-transparent {\n background-color: transparent;\n }\n .bg-violet-200 {\n background-color: var(--color-violet-200);\n }\n .bg-white {\n background-color: var(--color-white);\n }\n .bg-yellow-50 {\n background-color: var(--color-yellow-50);\n }\n .bg-yellow-100 {\n background-color: var(--color-yellow-100);\n }\n .bg-yellow-600 {\n background-color: var(--color-yellow-600);\n }\n .bg-yellow-900 {\n background-color: var(--color-yellow-900);\n }\n .bg-linear-to-r {\n --tw-gradient-position: to right;\n @supports (background-image: linear-gradient(in lab, red, red)) {\n --tw-gradient-position: to right in oklab;\n }\n background-image: linear-gradient(var(--tw-gradient-stops));\n }\n .bg-gradient-to-b {\n --tw-gradient-position: to bottom in oklab;\n background-image: linear-gradient(var(--tw-gradient-stops));\n }\n .bg-gradient-to-t {\n --tw-gradient-position: to top in oklab;\n background-image: linear-gradient(var(--tw-gradient-stops));\n }\n .bg-none {\n background-image: none;\n }\n .from-\\[\\#2B5876\\] {\n --tw-gradient-from: #2B5876;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .from-cyan-500 {\n --tw-gradient-from: var(--color-cyan-500);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .from-white {\n --tw-gradient-from: var(--color-white);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-\\[\\#4E4376\\] {\n --tw-gradient-to: #4E4376;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-blue-500 {\n --tw-gradient-to: var(--color-blue-500);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-transparent {\n --tw-gradient-to: transparent;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .bg-cover {\n background-size: cover;\n }\n .bg-center {\n background-position: center;\n }\n .fill-blue-500 {\n fill: var(--color-blue-500);\n }\n .fill-current {\n fill: currentcolor;\n }\n .fill-green-500 {\n fill: var(--color-green-500);\n }\n .fill-primary {\n fill: var(--color-primary);\n }\n .fill-red-500 {\n fill: var(--color-red-500);\n }\n .fill-slate-500 {\n fill: var(--color-slate-500);\n }\n .stroke-slate-500 {\n stroke: var(--color-slate-500);\n }\n .object-contain {\n object-fit: contain;\n }\n .object-cover {\n object-fit: cover;\n }\n .object-center {\n object-position: center;\n }\n .p-0 {\n padding: calc(var(--spacing) * 0);\n }\n .p-0\\.5 {\n padding: calc(var(--spacing) * 0.5);\n }\n .p-1 {\n padding: calc(var(--spacing) * 1);\n }\n .p-1\\.5 {\n padding: calc(var(--spacing) * 1.5);\n }\n .p-2 {\n padding: calc(var(--spacing) * 2);\n }\n .p-2\\.5 {\n padding: calc(var(--spacing) * 2.5);\n }\n .p-3 {\n padding: calc(var(--spacing) * 3);\n }\n .p-4 {\n padding: calc(var(--spacing) * 4);\n }\n .p-5 {\n padding: calc(var(--spacing) * 5);\n }\n .p-6 {\n padding: calc(var(--spacing) * 6);\n }\n .p-7 {\n padding: calc(var(--spacing) * 7);\n }\n .p-8 {\n padding: calc(var(--spacing) * 8);\n }\n .p-10 {\n padding: calc(var(--spacing) * 10);\n }\n .p-16 {\n padding: calc(var(--spacing) * 16);\n }\n .p-1234 {\n padding: calc(var(--spacing) * 1234);\n }\n .p-4321 {\n padding: calc(var(--spacing) * 4321);\n }\n .p-9999 {\n padding: calc(var(--spacing) * 9999);\n }\n .p-\\[12px\\] {\n padding: 12px;\n }\n .p-\\[20px\\] {\n padding: 20px;\n }\n .px-0 {\n padding-inline: calc(var(--spacing) * 0);\n }\n .px-1 {\n padding-inline: calc(var(--spacing) * 1);\n }\n .px-2 {\n padding-inline: calc(var(--spacing) * 2);\n }\n .px-2\\.5 {\n padding-inline: calc(var(--spacing) * 2.5);\n }\n .px-3 {\n padding-inline: calc(var(--spacing) * 3);\n }\n .px-3\\.5 {\n padding-inline: calc(var(--spacing) * 3.5);\n }\n .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n .px-5 {\n padding-inline: calc(var(--spacing) * 5);\n }\n .px-6 {\n padding-inline: calc(var(--spacing) * 6);\n }\n .px-7 {\n padding-inline: calc(var(--spacing) * 7);\n }\n .px-8 {\n padding-inline: calc(var(--spacing) * 8);\n }\n .px-11 {\n padding-inline: calc(var(--spacing) * 11);\n }\n .px-16 {\n padding-inline: calc(var(--spacing) * 16);\n }\n .px-20 {\n padding-inline: calc(var(--spacing) * 20);\n }\n .px-\\[10px\\] {\n padding-inline: 10px;\n }\n .px-\\[18px\\] {\n padding-inline: 18px;\n }\n .px-\\[20px\\] {\n padding-inline: 20px;\n }\n .px-\\[30px\\] {\n padding-inline: 30px;\n }\n .px-\\[40px\\] {\n padding-inline: 40px;\n }\n .py-0\\.5 {\n padding-block: calc(var(--spacing) * 0.5);\n }\n .py-1 {\n padding-block: calc(var(--spacing) * 1);\n }\n .py-1\\.5 {\n padding-block: calc(var(--spacing) * 1.5);\n }\n .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n .py-2\\.5 {\n padding-block: calc(var(--spacing) * 2.5);\n }\n .py-3 {\n padding-block: calc(var(--spacing) * 3);\n }\n .py-3\\.5 {\n padding-block: calc(var(--spacing) * 3.5);\n }\n .py-4 {\n padding-block: calc(var(--spacing) * 4);\n }\n .py-5 {\n padding-block: calc(var(--spacing) * 5);\n }\n .py-6 {\n padding-block: calc(var(--spacing) * 6);\n }\n .py-9 {\n padding-block: calc(var(--spacing) * 9);\n }\n .py-10 {\n padding-block: calc(var(--spacing) * 10);\n }\n .py-22 {\n padding-block: calc(var(--spacing) * 22);\n }\n .py-24 {\n padding-block: calc(var(--spacing) * 24);\n }\n .py-\\[8px\\] {\n padding-block: 8px;\n }\n .py-\\[20px\\] {\n padding-block: 20px;\n }\n .pt-0 {\n padding-top: calc(var(--spacing) * 0);\n }\n .pt-0\\.5 {\n padding-top: calc(var(--spacing) * 0.5);\n }\n .pt-2 {\n padding-top: calc(var(--spacing) * 2);\n }\n .pt-4 {\n padding-top: calc(var(--spacing) * 4);\n }\n .pt-5 {\n padding-top: calc(var(--spacing) * 5);\n }\n .pt-6 {\n padding-top: calc(var(--spacing) * 6);\n }\n .pt-8 {\n padding-top: calc(var(--spacing) * 8);\n }\n .pt-10 {\n padding-top: calc(var(--spacing) * 10);\n }\n .pt-11 {\n padding-top: calc(var(--spacing) * 11);\n }\n .pt-16 {\n padding-top: calc(var(--spacing) * 16);\n }\n .pr-0 {\n padding-right: calc(var(--spacing) * 0);\n }\n .pr-1 {\n padding-right: calc(var(--spacing) * 1);\n }\n .pr-2 {\n padding-right: calc(var(--spacing) * 2);\n }\n .pr-3 {\n padding-right: calc(var(--spacing) * 3);\n }\n .pr-4 {\n padding-right: calc(var(--spacing) * 4);\n }\n .pr-5 {\n padding-right: calc(var(--spacing) * 5);\n }\n .pr-6 {\n padding-right: calc(var(--spacing) * 6);\n }\n .pr-8 {\n padding-right: calc(var(--spacing) * 8);\n }\n .pr-9 {\n padding-right: calc(var(--spacing) * 9);\n }\n .pb-0 {\n padding-bottom: calc(var(--spacing) * 0);\n }\n .pb-1 {\n padding-bottom: calc(var(--spacing) * 1);\n }\n .pb-2 {\n padding-bottom: calc(var(--spacing) * 2);\n }\n .pb-3 {\n padding-bottom: calc(var(--spacing) * 3);\n }\n .pb-4 {\n padding-bottom: calc(var(--spacing) * 4);\n }\n .pb-5 {\n padding-bottom: calc(var(--spacing) * 5);\n }\n .pb-6 {\n padding-bottom: calc(var(--spacing) * 6);\n }\n .pb-8 {\n padding-bottom: calc(var(--spacing) * 8);\n }\n .pb-15 {\n padding-bottom: calc(var(--spacing) * 15);\n }\n .pl-0 {\n padding-left: calc(var(--spacing) * 0);\n }\n .pl-1 {\n padding-left: calc(var(--spacing) * 1);\n }\n .pl-2 {\n padding-left: calc(var(--spacing) * 2);\n }\n .pl-3 {\n padding-left: calc(var(--spacing) * 3);\n }\n .pl-3\\.5 {\n padding-left: calc(var(--spacing) * 3.5);\n }\n .pl-4 {\n padding-left: calc(var(--spacing) * 4);\n }\n .pl-5 {\n padding-left: calc(var(--spacing) * 5);\n }\n .pl-8 {\n padding-left: calc(var(--spacing) * 8);\n }\n .pl-9 {\n padding-left: calc(var(--spacing) * 9);\n }\n .pl-11 {\n padding-left: calc(var(--spacing) * 11);\n }\n .text-center {\n text-align: center;\n }\n .text-left {\n text-align: left;\n }\n .text-right {\n text-align: right;\n }\n .text-start {\n text-align: start;\n }\n .align-baseline {\n vertical-align: baseline;\n }\n .align-middle {\n vertical-align: middle;\n }\n .font-mono {\n font-family: var(--font-mono);\n }\n .text-2xl {\n font-size: var(--text-2xl);\n line-height: var(--tw-leading, var(--text-2xl--line-height));\n }\n .text-3xl {\n font-size: var(--text-3xl);\n line-height: var(--tw-leading, var(--text-3xl--line-height));\n }\n .text-4xl {\n font-size: var(--text-4xl);\n line-height: var(--tw-leading, var(--text-4xl--line-height));\n }\n .text-5xl {\n font-size: var(--text-5xl);\n line-height: var(--tw-leading, var(--text-5xl--line-height));\n }\n .text-base {\n font-size: var(--text-base);\n line-height: var(--tw-leading, var(--text-base--line-height));\n }\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n .text-sm {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n .text-sm\\/6 {\n font-size: var(--text-sm);\n line-height: calc(var(--spacing) * 6);\n }\n .text-xl {\n font-size: var(--text-xl);\n line-height: var(--tw-leading, var(--text-xl--line-height));\n }\n .text-xl\\/7 {\n font-size: var(--text-xl);\n line-height: calc(var(--spacing) * 7);\n }\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n .text-xs\\/5 {\n font-size: var(--text-xs);\n line-height: calc(var(--spacing) * 5);\n }\n .text-\\[0\\.8rem\\] {\n font-size: 0.8rem;\n }\n .text-\\[0\\.85em\\] {\n font-size: 0.85em;\n }\n .text-\\[12px\\] {\n font-size: 12px;\n }\n .text-\\[14px\\] {\n font-size: 14px;\n }\n .text-\\[18px\\] {\n font-size: 18px;\n }\n .text-\\[28px\\] {\n font-size: 28px;\n }\n .leading-4 {\n --tw-leading: calc(var(--spacing) * 4);\n line-height: calc(var(--spacing) * 4);\n }\n .leading-5 {\n --tw-leading: calc(var(--spacing) * 5);\n line-height: calc(var(--spacing) * 5);\n }\n .leading-6 {\n --tw-leading: calc(var(--spacing) * 6);\n line-height: calc(var(--spacing) * 6);\n }\n .leading-7 {\n --tw-leading: calc(var(--spacing) * 7);\n line-height: calc(var(--spacing) * 7);\n }\n .leading-8 {\n --tw-leading: calc(var(--spacing) * 8);\n line-height: calc(var(--spacing) * 8);\n }\n .leading-9 {\n --tw-leading: calc(var(--spacing) * 9);\n line-height: calc(var(--spacing) * 9);\n }\n .leading-\\[1\\] {\n --tw-leading: 1;\n line-height: 1;\n }\n .leading-\\[24px\\] {\n --tw-leading: 24px;\n line-height: 24px;\n }\n .leading-\\[36px\\] {\n --tw-leading: 36px;\n line-height: 36px;\n }\n .leading-none {\n --tw-leading: 1;\n line-height: 1;\n }\n .leading-normal {\n --tw-leading: var(--leading-normal);\n line-height: var(--leading-normal);\n }\n .leading-tight {\n --tw-leading: var(--leading-tight);\n line-height: var(--leading-tight);\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .font-medium {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n .font-normal {\n --tw-font-weight: var(--font-weight-normal);\n font-weight: var(--font-weight-normal);\n }\n .font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n .tracking-tight {\n --tw-tracking: var(--tracking-tight);\n letter-spacing: var(--tracking-tight);\n }\n .tracking-widest {\n --tw-tracking: var(--tracking-widest);\n letter-spacing: var(--tracking-widest);\n }\n .text-balance {\n text-wrap: balance;\n }\n .text-pretty {\n text-wrap: pretty;\n }\n .text-wrap {\n text-wrap: wrap;\n }\n .break-words {\n overflow-wrap: break-word;\n }\n .break-all {\n word-break: break-all;\n }\n .text-ellipsis {\n text-overflow: ellipsis;\n }\n .whitespace-normal {\n white-space: normal;\n }\n .whitespace-nowrap {\n white-space: nowrap;\n }\n .whitespace-pre-wrap {\n white-space: pre-wrap;\n }\n .\\!text-white {\n color: var(--color-white) !important;\n }\n .text-\\[\\#666\\] {\n color: #666;\n }\n .text-\\[rgba\\(17\\,17\\,17\\,0\\.32\\)\\] {\n color: rgba(17,17,17,0.32);\n }\n .text-accent-foreground {\n color: var(--color-accent-foreground);\n }\n .text-background {\n color: var(--color-background);\n }\n .text-black {\n color: var(--color-black);\n }\n .text-blue-50 {\n color: var(--color-blue-50);\n }\n .text-blue-300 {\n color: var(--color-blue-300);\n }\n .text-blue-400 {\n color: var(--color-blue-400);\n }\n .text-blue-500 {\n color: var(--color-blue-500);\n }\n .text-blue-600 {\n color: var(--color-blue-600);\n }\n .text-blue-700 {\n color: var(--color-blue-700);\n }\n .text-blue-800 {\n color: var(--color-blue-800);\n }\n .text-card-foreground {\n color: var(--color-card-foreground);\n }\n .text-current {\n color: currentcolor;\n }\n .text-destructive {\n color: var(--color-destructive);\n }\n .text-destructive-foreground {\n color: var(--color-destructive-foreground);\n }\n .text-gray-300 {\n color: var(--color-gray-300);\n }\n .text-gray-400 {\n color: var(--color-gray-400);\n }\n .text-gray-500 {\n color: var(--color-gray-500);\n }\n .text-gray-600 {\n color: var(--color-gray-600);\n }\n .text-gray-700 {\n color: var(--color-gray-700);\n }\n .text-gray-800 {\n color: var(--color-gray-800);\n }\n .text-gray-900 {\n color: var(--color-gray-900);\n }\n .text-green-400 {\n color: var(--color-green-400);\n }\n .text-green-500 {\n color: var(--color-green-500);\n }\n .text-green-600 {\n color: var(--color-green-600);\n }\n .text-green-700 {\n color: var(--color-green-700);\n }\n .text-green-800 {\n color: var(--color-green-800);\n }\n .text-muted-foreground {\n color: var(--color-muted-foreground);\n }\n .text-neutral-70 {\n color: var(--color-neutral-70);\n }\n .text-neutral-80 {\n color: var(--color-neutral-80);\n }\n .text-neutral-100 {\n color: var(--color-neutral-100);\n }\n .text-neutral-600 {\n color: var(--color-neutral-600);\n }\n .text-neutral-950 {\n color: var(--color-neutral-950);\n }\n .text-orange-50 {\n color: var(--color-orange-50);\n }\n .text-orange-700 {\n color: var(--color-orange-700);\n }\n .text-pink-800 {\n color: var(--color-pink-800);\n }\n .text-primary {\n color: var(--color-primary);\n }\n .text-primary-foreground {\n color: var(--color-primary-foreground);\n }\n .text-purple-600 {\n color: var(--color-purple-600);\n }\n .text-purple-700 {\n color: var(--color-purple-700);\n }\n .text-red-300 {\n color: var(--color-red-300);\n }\n .text-red-400 {\n color: var(--color-red-400);\n }\n .text-red-500 {\n color: var(--color-red-500);\n }\n .text-red-600 {\n color: var(--color-red-600);\n }\n .text-red-700 {\n color: var(--color-red-700);\n }\n .text-red-800 {\n color: var(--color-red-800);\n }\n .text-red-900 {\n color: var(--color-red-900);\n }\n .text-secondary-foreground {\n color: var(--color-secondary-foreground);\n }\n .text-slate-500 {\n color: var(--color-slate-500);\n }\n .text-slate-600 {\n color: var(--color-slate-600);\n }\n .text-slate-700 {\n color: var(--color-slate-700);\n }\n .text-slate-800 {\n color: var(--color-slate-800);\n }\n .text-slate-950 {\n color: var(--color-slate-950);\n }\n .text-violet-600 {\n color: var(--color-violet-600);\n }\n .text-white {\n color: var(--color-white);\n }\n .text-yellow-400 {\n color: var(--color-yellow-400);\n }\n .text-yellow-600 {\n color: var(--color-yellow-600);\n }\n .text-yellow-700 {\n color: var(--color-yellow-700);\n }\n .text-yellow-800 {\n color: var(--color-yellow-800);\n }\n .text-yellow-900 {\n color: var(--color-yellow-900);\n }\n .capitalize {\n text-transform: capitalize;\n }\n .lowercase {\n text-transform: lowercase;\n }\n .uppercase {\n text-transform: uppercase;\n }\n .italic {\n font-style: italic;\n }\n .tabular-nums {\n --tw-numeric-spacing: tabular-nums;\n font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);\n }\n .line-through {\n text-decoration-line: line-through;\n }\n .no-underline {\n text-decoration-line: none;\n }\n .underline {\n text-decoration-line: underline;\n }\n .decoration-solid {\n text-decoration-style: solid;\n }\n .underline-offset-4 {\n text-underline-offset: 4px;\n }\n .caret-red-600 {\n caret-color: var(--color-red-600);\n }\n .opacity-0 {\n opacity: 0%;\n }\n .opacity-50 {\n opacity: 50%;\n }\n .opacity-60 {\n opacity: 60%;\n }\n .opacity-70 {\n opacity: 70%;\n }\n .shadow {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow\\! {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)) !important;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;\n }\n .shadow-\\[0_0_0_1px_hsl\\(var\\(--sidebar-border\\)\\)\\] {\n --tw-shadow: 0 0 0 1px var(--tw-shadow-color, hsl(var(--sidebar-border)));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-\\[0_3px_10px_rgba\\(0\\,0\\,0\\,0\\.14\\)\\] {\n --tw-shadow: 0 3px 10px var(--tw-shadow-color, rgba(0,0,0,0.14));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-md {\n --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-none {\n --tw-shadow: 0 0 #0000;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-sm {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-xl {\n --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-xs {\n --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring-0 {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring-1 {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring-gray-300 {\n --tw-ring-color: var(--color-gray-300);\n }\n .ring-gray-900\\/10 {\n --tw-ring-color: color-mix(in srgb, oklch(21% 0.034 264.665) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-gray-900) 10%, transparent);\n }\n }\n .ring-sidebar-ring {\n --tw-ring-color: var(--color-sidebar-ring);\n }\n .ring-offset-background {\n --tw-ring-offset-color: var(--color-background);\n }\n .outline-hidden {\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n }\n .outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .outline-1 {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .-outline-offset-1 {\n outline-offset: calc(1px * -1);\n }\n .outline-gray-300 {\n outline-color: var(--color-gray-300);\n }\n .outline-red-300 {\n outline-color: var(--color-red-300);\n }\n .blur {\n --tw-blur: blur(8px);\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .drop-shadow-md {\n --tw-drop-shadow-size: drop-shadow(0 3px 3px var(--tw-drop-shadow-color, rgb(0 0 0 / 0.12)));\n --tw-drop-shadow: drop-shadow(var(--drop-shadow-md));\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .invert {\n --tw-invert: invert(100%);\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .\\!filter {\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,) !important;\n }\n .filter {\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .filter\\! {\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,) !important;\n }\n .backdrop-blur-sm {\n --tw-backdrop-blur: blur(var(--blur-sm));\n -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n }\n .backdrop-filter {\n -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n }\n .transition {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, visibility, content-visibility, overlay, pointer-events;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[color\\,box-shadow\\] {\n transition-property: color,box-shadow;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[left\\,right\\,width\\] {\n transition-property: left,right,width;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[margin\\,opacity\\] {\n transition-property: margin,opacity;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[width\\,height\\,padding\\] {\n transition-property: width,height,padding;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[width\\] {\n transition-property: width;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-all {\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-opacity {\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-shadow {\n transition-property: box-shadow;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-transform {\n transition-property: transform, translate, scale, rotate;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-none {\n transition-property: none;\n }\n .duration-100 {\n --tw-duration: 100ms;\n transition-duration: 100ms;\n }\n .duration-150 {\n --tw-duration: 150ms;\n transition-duration: 150ms;\n }\n .duration-200 {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n }\n .duration-300 {\n --tw-duration: 300ms;\n transition-duration: 300ms;\n }\n .ease-in {\n --tw-ease: var(--ease-in);\n transition-timing-function: var(--ease-in);\n }\n .ease-in-out {\n --tw-ease: var(--ease-in-out);\n transition-timing-function: var(--ease-in-out);\n }\n .ease-linear {\n --tw-ease: linear;\n transition-timing-function: linear;\n }\n .ease-out {\n --tw-ease: var(--ease-out);\n transition-timing-function: var(--ease-out);\n }\n .outline-none {\n --tw-outline-style: none;\n outline-style: none;\n }\n .select-none {\n -webkit-user-select: none;\n user-select: none;\n }\n .\\[-ms-overflow-style\\:none\\] {\n -ms-overflow-style: none;\n }\n .\\[-webkit-overflow-scrolling\\:touch\\] {\n -webkit-overflow-scrolling: touch;\n }\n .\\[scrollbar-width\\:none\\] {\n scrollbar-width: none;\n }\n .ring-inset {\n --tw-ring-inset: inset;\n }\n .group-focus-within\\/menu-item\\:opacity-100 {\n &:is(:where(.group\\/menu-item):focus-within *) {\n opacity: 100%;\n }\n }\n .group-hover\\:text-blue-600 {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n color: var(--color-blue-600);\n }\n }\n }\n .group-hover\\/menu-item\\:opacity-100 {\n &:is(:where(.group\\/menu-item):hover *) {\n @media (hover: hover) {\n opacity: 100%;\n }\n }\n }\n .group-has-data-\\[sidebar\\=menu-action\\]\\/menu-item\\:pr-8 {\n &:is(:where(.group\\/menu-item):has(*[data-sidebar=\"menu-action\"]) *) {\n padding-right: calc(var(--spacing) * 8);\n }\n }\n .group-data-\\[checked\\]\\:translate-x-5 {\n &:is(:where(.group)[data-checked] *) {\n --tw-translate-x: calc(var(--spacing) * 5);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .group-data-\\[checked\\]\\:opacity-0 {\n &:is(:where(.group)[data-checked] *) {\n opacity: 0%;\n }\n }\n .group-data-\\[checked\\]\\:opacity-100 {\n &:is(:where(.group)[data-checked] *) {\n opacity: 100%;\n }\n }\n .group-data-\\[checked\\]\\:duration-100 {\n &:is(:where(.group)[data-checked] *) {\n --tw-duration: 100ms;\n transition-duration: 100ms;\n }\n }\n .group-data-\\[checked\\]\\:duration-200 {\n &:is(:where(.group)[data-checked] *) {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n }\n }\n .group-data-\\[checked\\]\\:ease-in {\n &:is(:where(.group)[data-checked] *) {\n --tw-ease: var(--ease-in);\n transition-timing-function: var(--ease-in);\n }\n }\n .group-data-\\[checked\\]\\:ease-out {\n &:is(:where(.group)[data-checked] *) {\n --tw-ease: var(--ease-out);\n transition-timing-function: var(--ease-out);\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:-mt-8 {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n margin-top: calc(var(--spacing) * -8);\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:hidden {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n display: none;\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:size-8\\! {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n width: calc(var(--spacing) * 8) !important;\n height: calc(var(--spacing) * 8) !important;\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:w-\\(--sidebar-width-icon\\) {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n width: var(--sidebar-width-icon);\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:w-\\[calc\\(var\\(--sidebar-width-icon\\)\\+\\(--spacing\\(4\\)\\)\\)\\] {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n width: calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)));\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:w-\\[calc\\(var\\(--sidebar-width-icon\\)\\+\\(--spacing\\(4\\)\\)\\+2px\\)\\] {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n width: calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)) + 2px);\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:overflow-hidden {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n overflow: hidden;\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:p-0\\! {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n padding: calc(var(--spacing) * 0) !important;\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:p-2\\! {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n padding: calc(var(--spacing) * 2) !important;\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:opacity-0 {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n opacity: 0%;\n }\n }\n .group-data-\\[collapsible\\=offcanvas\\]\\:right-\\[calc\\(var\\(--sidebar-width\\)\\*-1\\)\\] {\n &:is(:where(.group)[data-collapsible=\"offcanvas\"] *) {\n right: calc(var(--sidebar-width) * -1);\n }\n }\n .group-data-\\[collapsible\\=offcanvas\\]\\:left-\\[calc\\(var\\(--sidebar-width\\)\\*-1\\)\\] {\n &:is(:where(.group)[data-collapsible=\"offcanvas\"] *) {\n left: calc(var(--sidebar-width) * -1);\n }\n }\n .group-data-\\[collapsible\\=offcanvas\\]\\:w-0 {\n &:is(:where(.group)[data-collapsible=\"offcanvas\"] *) {\n width: calc(var(--spacing) * 0);\n }\n }\n .group-data-\\[collapsible\\=offcanvas\\]\\:translate-x-0 {\n &:is(:where(.group)[data-collapsible=\"offcanvas\"] *) {\n --tw-translate-x: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .group-data-\\[side\\=left\\]\\:-right-4 {\n &:is(:where(.group)[data-side=\"left\"] *) {\n right: calc(var(--spacing) * -4);\n }\n }\n .group-data-\\[side\\=left\\]\\:border-r {\n &:is(:where(.group)[data-side=\"left\"] *) {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n }\n .group-data-\\[side\\=right\\]\\:left-0 {\n &:is(:where(.group)[data-side=\"right\"] *) {\n left: calc(var(--spacing) * 0);\n }\n }\n .group-data-\\[side\\=right\\]\\:rotate-180 {\n &:is(:where(.group)[data-side=\"right\"] *) {\n rotate: 180deg;\n }\n }\n .group-data-\\[side\\=right\\]\\:border-l {\n &:is(:where(.group)[data-side=\"right\"] *) {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n }\n .group-data-\\[variant\\=floating\\]\\:rounded-lg {\n &:is(:where(.group)[data-variant=\"floating\"] *) {\n border-radius: var(--radius-lg);\n }\n }\n .group-data-\\[variant\\=floating\\]\\:border {\n &:is(:where(.group)[data-variant=\"floating\"] *) {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n }\n .group-data-\\[variant\\=floating\\]\\:shadow-sm {\n &:is(:where(.group)[data-variant=\"floating\"] *) {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .peer-disabled\\:cursor-not-allowed {\n &:is(:where(.peer):disabled ~ *) {\n cursor: not-allowed;\n }\n }\n .peer-disabled\\:opacity-70 {\n &:is(:where(.peer):disabled ~ *) {\n opacity: 70%;\n }\n }\n .peer-data-\\[size\\=default\\]\\/menu-button\\:top-1\\.5 {\n &:is(:where(.peer\\/menu-button)[data-size=\"default\"] ~ *) {\n top: calc(var(--spacing) * 1.5);\n }\n }\n .peer-data-\\[size\\=lg\\]\\/menu-button\\:top-2\\.5 {\n &:is(:where(.peer\\/menu-button)[data-size=\"lg\"] ~ *) {\n top: calc(var(--spacing) * 2.5);\n }\n }\n .peer-data-\\[size\\=sm\\]\\/menu-button\\:top-1 {\n &:is(:where(.peer\\/menu-button)[data-size=\"sm\"] ~ *) {\n top: calc(var(--spacing) * 1);\n }\n }\n .selection\\:bg-primary {\n & *::selection {\n background-color: var(--color-primary);\n }\n &::selection {\n background-color: var(--color-primary);\n }\n }\n .selection\\:text-primary-foreground {\n & *::selection {\n color: var(--color-primary-foreground);\n }\n &::selection {\n color: var(--color-primary-foreground);\n }\n }\n .file\\:inline-flex {\n &::file-selector-button {\n display: inline-flex;\n }\n }\n .file\\:h-7 {\n &::file-selector-button {\n height: calc(var(--spacing) * 7);\n }\n }\n .file\\:border-0 {\n &::file-selector-button {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n }\n .file\\:bg-transparent {\n &::file-selector-button {\n background-color: transparent;\n }\n }\n .file\\:text-sm {\n &::file-selector-button {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .file\\:font-medium {\n &::file-selector-button {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n }\n .placeholder\\:text-gray-400 {\n &::placeholder {\n color: var(--color-gray-400);\n }\n }\n .placeholder\\:text-muted-foreground {\n &::placeholder {\n color: var(--color-muted-foreground);\n }\n }\n .placeholder\\:text-red-300 {\n &::placeholder {\n color: var(--color-red-300);\n }\n }\n .before\\:absolute {\n &::before {\n content: var(--tw-content);\n position: absolute;\n }\n }\n .before\\:top-0 {\n &::before {\n content: var(--tw-content);\n top: calc(var(--spacing) * 0);\n }\n }\n .before\\:bottom-0 {\n &::before {\n content: var(--tw-content);\n bottom: calc(var(--spacing) * 0);\n }\n }\n .before\\:left-0 {\n &::before {\n content: var(--tw-content);\n left: calc(var(--spacing) * 0);\n }\n }\n .before\\:w-px {\n &::before {\n content: var(--tw-content);\n width: 1px;\n }\n }\n .before\\:bg-border {\n &::before {\n content: var(--tw-content);\n background-color: var(--color-border);\n }\n }\n .after\\:absolute {\n &::after {\n content: var(--tw-content);\n position: absolute;\n }\n }\n .after\\:-inset-2 {\n &::after {\n content: var(--tw-content);\n inset: calc(var(--spacing) * -2);\n }\n }\n .after\\:inset-y-0 {\n &::after {\n content: var(--tw-content);\n inset-block: calc(var(--spacing) * 0);\n }\n }\n .after\\:left-1\\/2 {\n &::after {\n content: var(--tw-content);\n left: calc(1/2 * 100%);\n }\n }\n .after\\:w-\\[2px\\] {\n &::after {\n content: var(--tw-content);\n width: 2px;\n }\n }\n .group-data-\\[collapsible\\=offcanvas\\]\\:after\\:left-full {\n &:is(:where(.group)[data-collapsible=\"offcanvas\"] *) {\n &::after {\n content: var(--tw-content);\n left: 100%;\n }\n }\n }\n .last\\:border-b-0 {\n &:last-child {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0px;\n }\n }\n .focus-within\\:relative {\n &:focus-within {\n position: relative;\n }\n }\n .focus-within\\:ring-2 {\n &:focus-within {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus-within\\:ring-\\[3px\\] {\n &:focus-within {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus-within\\:ring-blue-600 {\n &:focus-within {\n --tw-ring-color: var(--color-blue-600);\n }\n }\n .focus-within\\:ring-offset-2 {\n &:focus-within {\n --tw-ring-offset-width: 2px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n }\n .focus-within\\:outline-none {\n &:focus-within {\n --tw-outline-style: none;\n outline-style: none;\n }\n }\n .hover\\:cursor-pointer {\n &:hover {\n @media (hover: hover) {\n cursor: pointer;\n }\n }\n }\n .hover\\:border-blue-600 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-blue-600);\n }\n }\n }\n .hover\\:border-gray-300 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-gray-300);\n }\n }\n }\n .hover\\:border-gray-400 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-gray-400);\n }\n }\n }\n .hover\\:border-red-300 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-red-300);\n }\n }\n }\n .hover\\:\\!bg-\\[\\#12478a\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #12478a !important;\n }\n }\n }\n .hover\\:\\!bg-\\[\\#af543d\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #af543d !important;\n }\n }\n }\n .hover\\:bg-accent {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-accent);\n }\n }\n }\n .hover\\:bg-accent\\/50 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #f4f4f5 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-accent) 50%, transparent);\n }\n }\n }\n }\n .hover\\:bg-black\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #000 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 90%, transparent);\n }\n }\n }\n }\n .hover\\:bg-blue-100 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-blue-100);\n }\n }\n }\n .hover\\:bg-blue-200 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-blue-200);\n }\n }\n }\n .hover\\:bg-blue-500 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-blue-500);\n }\n }\n }\n .hover\\:bg-blue-700 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-blue-700);\n }\n }\n }\n .hover\\:bg-destructive\\/20 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #dc2626 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);\n }\n }\n }\n }\n .hover\\:bg-destructive\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #dc2626 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 90%, transparent);\n }\n }\n }\n }\n .hover\\:bg-gray-50 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-gray-50);\n }\n }\n }\n .hover\\:bg-gray-100 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-gray-100);\n }\n }\n }\n .hover\\:bg-gray-200 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-gray-200);\n }\n }\n }\n .hover\\:bg-gray-800 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-gray-800);\n }\n }\n }\n .hover\\:bg-muted\\/50 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #f7f7f6 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 50%, transparent);\n }\n }\n }\n }\n .hover\\:bg-primary\\/80 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #18181b 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-primary) 80%, transparent);\n }\n }\n }\n }\n .hover\\:bg-primary\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #18181b 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-primary) 90%, transparent);\n }\n }\n }\n }\n .hover\\:bg-red-50 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-red-50);\n }\n }\n }\n .hover\\:bg-red-200 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-red-200);\n }\n }\n }\n .hover\\:bg-red-700 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-red-700);\n }\n }\n }\n .hover\\:bg-secondary\\/80 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #f4f4f5 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-secondary) 80%, transparent);\n }\n }\n }\n }\n .hover\\:text-accent-foreground {\n &:hover {\n @media (hover: hover) {\n color: var(--color-accent-foreground);\n }\n }\n }\n .hover\\:text-black {\n &:hover {\n @media (hover: hover) {\n color: var(--color-black);\n }\n }\n }\n .hover\\:text-blue-500 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-blue-500);\n }\n }\n }\n .hover\\:text-blue-600 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-blue-600);\n }\n }\n }\n .hover\\:text-blue-800 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-blue-800);\n }\n }\n }\n .hover\\:text-blue-900 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-blue-900);\n }\n }\n }\n .hover\\:text-destructive {\n &:hover {\n @media (hover: hover) {\n color: var(--color-destructive);\n }\n }\n }\n .hover\\:text-gray-500 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-gray-500);\n }\n }\n }\n .hover\\:text-gray-600 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-gray-600);\n }\n }\n }\n .hover\\:text-gray-700 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-gray-700);\n }\n }\n }\n .hover\\:text-gray-800 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-gray-800);\n }\n }\n }\n .hover\\:text-green-900 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-green-900);\n }\n }\n }\n .hover\\:text-primary {\n &:hover {\n @media (hover: hover) {\n color: var(--color-primary);\n }\n }\n }\n .hover\\:text-red-600 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-red-600);\n }\n }\n }\n .hover\\:text-red-700 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-red-700);\n }\n }\n }\n .hover\\:text-red-800 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-red-800);\n }\n }\n }\n .hover\\:text-red-900 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-red-900);\n }\n }\n }\n .hover\\:text-yellow-900 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-yellow-900);\n }\n }\n }\n .hover\\:no-underline {\n &:hover {\n @media (hover: hover) {\n text-decoration-line: none;\n }\n }\n }\n .hover\\:underline {\n &:hover {\n @media (hover: hover) {\n text-decoration-line: underline;\n }\n }\n }\n .hover\\:opacity-90 {\n &:hover {\n @media (hover: hover) {\n opacity: 90%;\n }\n }\n }\n .hover\\:opacity-100 {\n &:hover {\n @media (hover: hover) {\n opacity: 100%;\n }\n }\n }\n .hover\\:shadow-\\[0_0_0_1px_hsl\\(var\\(--sidebar-accent\\)\\)\\] {\n &:hover {\n @media (hover: hover) {\n --tw-shadow: 0 0 0 1px var(--tw-shadow-color, hsl(var(--sidebar-accent)));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n }\n .focus\\:relative {\n &:focus {\n position: relative;\n }\n }\n .focus\\:z-10 {\n &:focus {\n z-index: 10;\n }\n }\n .focus\\:z-20 {\n &:focus {\n z-index: 20;\n }\n }\n .focus\\:border-red-500 {\n &:focus {\n border-color: var(--color-red-500);\n }\n }\n .focus\\:bg-accent {\n &:focus {\n background-color: var(--color-accent);\n }\n }\n .focus\\:text-accent-foreground {\n &:focus {\n color: var(--color-accent-foreground);\n }\n }\n .focus\\:ring-2 {\n &:focus {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus\\:ring-black {\n &:focus {\n --tw-ring-color: var(--color-black);\n }\n }\n .focus\\:ring-blue-500 {\n &:focus {\n --tw-ring-color: var(--color-blue-500);\n }\n }\n .focus\\:ring-blue-600 {\n &:focus {\n --tw-ring-color: var(--color-blue-600);\n }\n }\n .focus\\:ring-primary {\n &:focus {\n --tw-ring-color: var(--color-primary);\n }\n }\n .focus\\:ring-red-500 {\n &:focus {\n --tw-ring-color: var(--color-red-500);\n }\n }\n .focus\\:ring-offset-2 {\n &:focus {\n --tw-ring-offset-width: 2px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n }\n .focus\\:outline-hidden {\n &:focus {\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n }\n }\n .focus\\:outline-2 {\n &:focus {\n outline-style: var(--tw-outline-style);\n outline-width: 2px;\n }\n }\n .focus\\:-outline-offset-2 {\n &:focus {\n outline-offset: calc(2px * -1);\n }\n }\n .focus\\:outline-offset-0 {\n &:focus {\n outline-offset: 0px;\n }\n }\n .focus\\:outline-blue-600 {\n &:focus {\n outline-color: var(--color-blue-600);\n }\n }\n .focus\\:outline-red-600 {\n &:focus {\n outline-color: var(--color-red-600);\n }\n }\n .focus\\:outline-none {\n &:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n }\n .focus-visible\\:border-red-300 {\n &:focus-visible {\n border-color: var(--color-red-300);\n }\n }\n .focus-visible\\:ring-0 {\n &:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus-visible\\:ring-1 {\n &:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus-visible\\:ring-2 {\n &:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus-visible\\:ring-\\[3px\\] {\n &:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus-visible\\:ring-destructive\\/20 {\n &:focus-visible {\n --tw-ring-color: color-mix(in srgb, #dc2626 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);\n }\n }\n }\n .focus-visible\\:ring-red-300 {\n &:focus-visible {\n --tw-ring-color: var(--color-red-300);\n }\n }\n .focus-visible\\:ring-offset-0 {\n &:focus-visible {\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n }\n .focus-visible\\:ring-offset-2 {\n &:focus-visible {\n --tw-ring-offset-width: 2px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n }\n .focus-visible\\:outline {\n &:focus-visible {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n }\n .focus-visible\\:outline-2 {\n &:focus-visible {\n outline-style: var(--tw-outline-style);\n outline-width: 2px;\n }\n }\n .focus-visible\\:outline-offset-2 {\n &:focus-visible {\n outline-offset: 2px;\n }\n }\n .focus-visible\\:outline-blue-600 {\n &:focus-visible {\n outline-color: var(--color-blue-600);\n }\n }\n .focus-visible\\:outline-none {\n &:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n }\n .active\\:bg-gray-200 {\n &:active {\n background-color: var(--color-gray-200);\n }\n }\n .disabled\\:pointer-events-none {\n &:disabled {\n pointer-events: none;\n }\n }\n .disabled\\:cursor-not-allowed {\n &:disabled {\n cursor: not-allowed;\n }\n }\n .disabled\\:bg-gray-50 {\n &:disabled {\n background-color: var(--color-gray-50);\n }\n }\n .disabled\\:text-gray-500 {\n &:disabled {\n color: var(--color-gray-500);\n }\n }\n .disabled\\:opacity-50 {\n &:disabled {\n opacity: 50%;\n }\n }\n .disabled\\:outline-gray-200 {\n &:disabled {\n outline-color: var(--color-gray-200);\n }\n }\n .in-data-\\[side\\=left\\]\\:cursor-w-resize {\n :where(*[data-side=\"left\"]) & {\n cursor: w-resize;\n }\n }\n .in-data-\\[side\\=right\\]\\:cursor-e-resize {\n :where(*[data-side=\"right\"]) & {\n cursor: e-resize;\n }\n }\n .has-data-\\[slot\\=card-action\\]\\:grid-cols-\\[1fr_auto\\] {\n &:has(*[data-slot=\"card-action\"]) {\n grid-template-columns: 1fr auto;\n }\n }\n .has-\\[\\[aria-checked\\=true\\]\\]\\:border-blue-600 {\n &:has(*:is([aria-checked=true])) {\n border-color: var(--color-blue-600);\n }\n }\n .has-\\[\\[aria-checked\\=true\\]\\]\\:bg-blue-50 {\n &:has(*:is([aria-checked=true])) {\n background-color: var(--color-blue-50);\n }\n }\n .has-\\[\\>svg\\]\\:px-0 {\n &:has(>svg) {\n padding-inline: calc(var(--spacing) * 0);\n }\n }\n .aria-disabled\\:pointer-events-none {\n &[aria-disabled=\"true\"] {\n pointer-events: none;\n }\n }\n .aria-disabled\\:opacity-50 {\n &[aria-disabled=\"true\"] {\n opacity: 50%;\n }\n }\n .aria-invalid\\:border-destructive {\n &[aria-invalid=\"true\"] {\n border-color: var(--color-destructive);\n }\n }\n .aria-invalid\\:ring-destructive\\/20 {\n &[aria-invalid=\"true\"] {\n --tw-ring-color: color-mix(in srgb, #dc2626 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);\n }\n }\n }\n .data-\\[active\\=true\\]\\:font-medium {\n &[data-active=\"true\"] {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n }\n .data-\\[checked\\]\\:bg-blue-600 {\n &[data-checked] {\n background-color: var(--color-blue-600);\n }\n }\n .data-\\[closed\\]\\:-translate-x-full {\n &[data-closed] {\n --tw-translate-x: -100%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[closed\\]\\:translate-y-4 {\n &[data-closed] {\n --tw-translate-y: calc(var(--spacing) * 4);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[closed\\]\\:opacity-0 {\n &[data-closed] {\n opacity: 0%;\n }\n }\n .data-\\[disabled\\]\\:pointer-events-none {\n &[data-disabled] {\n pointer-events: none;\n }\n }\n .data-\\[disabled\\]\\:opacity-50 {\n &[data-disabled] {\n opacity: 50%;\n }\n }\n .data-\\[enter\\]\\:duration-300 {\n &[data-enter] {\n --tw-duration: 300ms;\n transition-duration: 300ms;\n }\n }\n .data-\\[enter\\]\\:ease-out {\n &[data-enter] {\n --tw-ease: var(--ease-out);\n transition-timing-function: var(--ease-out);\n }\n }\n .data-\\[error\\=true\\]\\:text-destructive {\n &[data-error=\"true\"] {\n color: var(--color-destructive);\n }\n }\n .data-\\[leave\\]\\:duration-200 {\n &[data-leave] {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n }\n }\n .data-\\[leave\\]\\:ease-in {\n &[data-leave] {\n --tw-ease: var(--ease-in);\n transition-timing-function: var(--ease-in);\n }\n }\n .data-\\[orientation\\=horizontal\\]\\:h-px {\n &[data-orientation=\"horizontal\"] {\n height: 1px;\n }\n }\n .data-\\[orientation\\=horizontal\\]\\:w-full {\n &[data-orientation=\"horizontal\"] {\n width: 100%;\n }\n }\n .data-\\[orientation\\=vertical\\]\\:h-full {\n &[data-orientation=\"vertical\"] {\n height: 100%;\n }\n }\n .data-\\[orientation\\=vertical\\]\\:w-px {\n &[data-orientation=\"vertical\"] {\n width: 1px;\n }\n }\n .data-\\[placeholder\\]\\:text-muted-foreground {\n &[data-placeholder] {\n color: var(--color-muted-foreground);\n }\n }\n .data-\\[side\\=bottom\\]\\:translate-y-1 {\n &[data-side=\"bottom\"] {\n --tw-translate-y: calc(var(--spacing) * 1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[side\\=left\\]\\:-translate-x-1 {\n &[data-side=\"left\"] {\n --tw-translate-x: calc(var(--spacing) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[side\\=right\\]\\:translate-x-1 {\n &[data-side=\"right\"] {\n --tw-translate-x: calc(var(--spacing) * 1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[side\\=top\\]\\:-translate-y-1 {\n &[data-side=\"top\"] {\n --tw-translate-y: calc(var(--spacing) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[state\\=active\\]\\:border-b-primary {\n &[data-state=\"active\"] {\n border-bottom-color: var(--color-primary);\n }\n }\n .data-\\[state\\=active\\]\\:bg-background {\n &[data-state=\"active\"] {\n background-color: var(--color-background);\n }\n }\n .data-\\[state\\=active\\]\\:shadow-none {\n &[data-state=\"active\"] {\n --tw-shadow: 0 0 #0000;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .data-\\[state\\=active\\]\\:shadow-sm {\n &[data-state=\"active\"] {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .data-\\[state\\=checked\\]\\:translate-x-\\[calc\\(100\\%-2px\\)\\] {\n &[data-state=\"checked\"] {\n --tw-translate-x: calc(100% - 2px);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[state\\=checked\\]\\:border-black {\n &[data-state=\"checked\"] {\n border-color: var(--color-black);\n }\n }\n .data-\\[state\\=checked\\]\\:border-blue-600 {\n &[data-state=\"checked\"] {\n border-color: var(--color-blue-600);\n }\n }\n .data-\\[state\\=checked\\]\\:border-primary {\n &[data-state=\"checked\"] {\n border-color: var(--color-primary);\n }\n }\n .data-\\[state\\=checked\\]\\:bg-black {\n &[data-state=\"checked\"] {\n background-color: var(--color-black);\n }\n }\n .data-\\[state\\=checked\\]\\:bg-blue-600 {\n &[data-state=\"checked\"] {\n background-color: var(--color-blue-600);\n }\n }\n .data-\\[state\\=checked\\]\\:bg-primary {\n &[data-state=\"checked\"] {\n background-color: var(--color-primary);\n }\n }\n .data-\\[state\\=checked\\]\\:text-primary-foreground {\n &[data-state=\"checked\"] {\n color: var(--color-primary-foreground);\n }\n }\n .data-\\[state\\=checked\\]\\:text-white {\n &[data-state=\"checked\"] {\n color: var(--color-white);\n }\n }\n .data-\\[state\\=closed\\]\\:duration-300 {\n &[data-state=\"closed\"] {\n --tw-duration: 300ms;\n transition-duration: 300ms;\n }\n }\n .data-\\[state\\=open\\]\\:bg-accent {\n &[data-state=\"open\"] {\n background-color: var(--color-accent);\n }\n }\n .data-\\[state\\=open\\]\\:bg-secondary {\n &[data-state=\"open\"] {\n background-color: var(--color-secondary);\n }\n }\n .data-\\[state\\=open\\]\\:text-muted-foreground {\n &[data-state=\"open\"] {\n color: var(--color-muted-foreground);\n }\n }\n .data-\\[state\\=open\\]\\:opacity-100 {\n &[data-state=\"open\"] {\n opacity: 100%;\n }\n }\n .data-\\[state\\=open\\]\\:duration-500 {\n &[data-state=\"open\"] {\n --tw-duration: 500ms;\n transition-duration: 500ms;\n }\n }\n .data-\\[state\\=selected\\]\\:bg-muted {\n &[data-state=\"selected\"] {\n background-color: var(--color-muted);\n }\n }\n .data-\\[state\\=unchecked\\]\\:translate-x-0 {\n &[data-state=\"unchecked\"] {\n --tw-translate-x: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[state\\=unchecked\\]\\:bg-input {\n &[data-state=\"unchecked\"] {\n background-color: var(--color-input);\n }\n }\n .max-\\[800px\\]\\:mx-auto {\n @media (width < 800px) {\n margin-inline: auto;\n }\n }\n .max-\\[800px\\]\\:mb-9 {\n @media (width < 800px) {\n margin-bottom: calc(var(--spacing) * 9);\n }\n }\n .max-\\[800px\\]\\:w-full {\n @media (width < 800px) {\n width: 100%;\n }\n }\n .max-\\[800px\\]\\:px-\\[22px\\] {\n @media (width < 800px) {\n padding-inline: 22px;\n }\n }\n .max-\\[800px\\]\\:py-9 {\n @media (width < 800px) {\n padding-block: calc(var(--spacing) * 9);\n }\n }\n .sm\\:col-span-2 {\n @media (width >= 40rem) {\n grid-column: span 2 / span 2;\n }\n }\n .sm\\:col-span-3 {\n @media (width >= 40rem) {\n grid-column: span 3 / span 3;\n }\n }\n .sm\\:-mx-6 {\n @media (width >= 40rem) {\n margin-inline: calc(var(--spacing) * -6);\n }\n }\n .sm\\:my-8 {\n @media (width >= 40rem) {\n margin-block: calc(var(--spacing) * 8);\n }\n }\n .sm\\:mt-0 {\n @media (width >= 40rem) {\n margin-top: calc(var(--spacing) * 0);\n }\n }\n .sm\\:mt-10 {\n @media (width >= 40rem) {\n margin-top: calc(var(--spacing) * 10);\n }\n }\n .sm\\:mb-1 {\n @media (width >= 40rem) {\n margin-bottom: calc(var(--spacing) * 1);\n }\n }\n .sm\\:ml-4 {\n @media (width >= 40rem) {\n margin-left: calc(var(--spacing) * 4);\n }\n }\n .sm\\:ml-8 {\n @media (width >= 40rem) {\n margin-left: calc(var(--spacing) * 8);\n }\n }\n .sm\\:block {\n @media (width >= 40rem) {\n display: block;\n }\n }\n .sm\\:flex {\n @media (width >= 40rem) {\n display: flex;\n }\n }\n .sm\\:grid {\n @media (width >= 40rem) {\n display: grid;\n }\n }\n .sm\\:hidden {\n @media (width >= 40rem) {\n display: none;\n }\n }\n .sm\\:size-4 {\n @media (width >= 40rem) {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n }\n .sm\\:w-full {\n @media (width >= 40rem) {\n width: 100%;\n }\n }\n .sm\\:max-w-1\\/2 {\n @media (width >= 40rem) {\n max-width: calc(1/2 * 100%);\n }\n }\n .sm\\:max-w-2xl {\n @media (width >= 40rem) {\n max-width: var(--container-2xl);\n }\n }\n .sm\\:max-w-\\[425px\\] {\n @media (width >= 40rem) {\n max-width: 425px;\n }\n }\n .sm\\:max-w-lg {\n @media (width >= 40rem) {\n max-width: var(--container-lg);\n }\n }\n .sm\\:max-w-sm {\n @media (width >= 40rem) {\n max-width: var(--container-sm);\n }\n }\n .sm\\:grid-cols-3 {\n @media (width >= 40rem) {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n }\n .sm\\:grid-cols-6 {\n @media (width >= 40rem) {\n grid-template-columns: repeat(6, minmax(0, 1fr));\n }\n }\n .sm\\:flex-row {\n @media (width >= 40rem) {\n flex-direction: row;\n }\n }\n .sm\\:flex-row-reverse {\n @media (width >= 40rem) {\n flex-direction: row-reverse;\n }\n }\n .sm\\:items-center {\n @media (width >= 40rem) {\n align-items: center;\n }\n }\n .sm\\:\\!justify-start {\n @media (width >= 40rem) {\n justify-content: flex-start !important;\n }\n }\n .sm\\:justify-end {\n @media (width >= 40rem) {\n justify-content: flex-end;\n }\n }\n .sm\\:justify-start {\n @media (width >= 40rem) {\n justify-content: flex-start;\n }\n }\n .sm\\:gap-2\\.5 {\n @media (width >= 40rem) {\n gap: calc(var(--spacing) * 2.5);\n }\n }\n .sm\\:gap-4 {\n @media (width >= 40rem) {\n gap: calc(var(--spacing) * 4);\n }\n }\n .sm\\:truncate {\n @media (width >= 40rem) {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n }\n .sm\\:rounded-lg {\n @media (width >= 40rem) {\n border-radius: var(--radius-lg);\n }\n }\n .sm\\:p-0 {\n @media (width >= 40rem) {\n padding: calc(var(--spacing) * 0);\n }\n }\n .sm\\:p-6 {\n @media (width >= 40rem) {\n padding: calc(var(--spacing) * 6);\n }\n }\n .sm\\:px-0 {\n @media (width >= 40rem) {\n padding-inline: calc(var(--spacing) * 0);\n }\n }\n .sm\\:px-6 {\n @media (width >= 40rem) {\n padding-inline: calc(var(--spacing) * 6);\n }\n }\n .sm\\:px-8 {\n @media (width >= 40rem) {\n padding-inline: calc(var(--spacing) * 8);\n }\n }\n .sm\\:py-4 {\n @media (width >= 40rem) {\n padding-block: calc(var(--spacing) * 4);\n }\n }\n .sm\\:py-32 {\n @media (width >= 40rem) {\n padding-block: calc(var(--spacing) * 32);\n }\n }\n .sm\\:pr-0 {\n @media (width >= 40rem) {\n padding-right: calc(var(--spacing) * 0);\n }\n }\n .sm\\:pl-0 {\n @media (width >= 40rem) {\n padding-left: calc(var(--spacing) * 0);\n }\n }\n .sm\\:text-left {\n @media (width >= 40rem) {\n text-align: left;\n }\n }\n .sm\\:text-2xl {\n @media (width >= 40rem) {\n font-size: var(--text-2xl);\n line-height: var(--tw-leading, var(--text-2xl--line-height));\n }\n }\n .sm\\:text-7xl {\n @media (width >= 40rem) {\n font-size: var(--text-7xl);\n line-height: var(--tw-leading, var(--text-7xl--line-height));\n }\n }\n .sm\\:text-sm\\/6 {\n @media (width >= 40rem) {\n font-size: var(--text-sm);\n line-height: calc(var(--spacing) * 6);\n }\n }\n .sm\\:text-xl {\n @media (width >= 40rem) {\n font-size: var(--text-xl);\n line-height: var(--tw-leading, var(--text-xl--line-height));\n }\n }\n .sm\\:text-xl\\/8 {\n @media (width >= 40rem) {\n font-size: var(--text-xl);\n line-height: calc(var(--spacing) * 8);\n }\n }\n .sm\\:tracking-tight {\n @media (width >= 40rem) {\n --tw-tracking: var(--tracking-tight);\n letter-spacing: var(--tracking-tight);\n }\n }\n .data-\\[closed\\]\\:sm\\:translate-y-0 {\n &[data-closed] {\n @media (width >= 40rem) {\n --tw-translate-y: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n }\n .data-\\[closed\\]\\:sm\\:scale-95 {\n &[data-closed] {\n @media (width >= 40rem) {\n --tw-scale-x: 95%;\n --tw-scale-y: 95%;\n --tw-scale-z: 95%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n }\n }\n .md\\:ml-12 {\n @media (width >= 48rem) {\n margin-left: calc(var(--spacing) * 12);\n }\n }\n .md\\:block {\n @media (width >= 48rem) {\n display: block;\n }\n }\n .md\\:flex {\n @media (width >= 48rem) {\n display: flex;\n }\n }\n .md\\:hidden {\n @media (width >= 48rem) {\n display: none;\n }\n }\n .md\\:flex-1 {\n @media (width >= 48rem) {\n flex: 1;\n }\n }\n .md\\:grid-cols-2 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .md\\:items-center {\n @media (width >= 48rem) {\n align-items: center;\n }\n }\n .md\\:justify-between {\n @media (width >= 48rem) {\n justify-content: space-between;\n }\n }\n .md\\:text-sm {\n @media (width >= 48rem) {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .md\\:opacity-0 {\n @media (width >= 48rem) {\n opacity: 0%;\n }\n }\n .md\\:peer-data-\\[variant\\=inset\\]\\:m-2 {\n @media (width >= 48rem) {\n &:is(:where(.peer)[data-variant=\"inset\"] ~ *) {\n margin: calc(var(--spacing) * 2);\n }\n }\n }\n .md\\:peer-data-\\[variant\\=inset\\]\\:ml-0 {\n @media (width >= 48rem) {\n &:is(:where(.peer)[data-variant=\"inset\"] ~ *) {\n margin-left: calc(var(--spacing) * 0);\n }\n }\n }\n .md\\:peer-data-\\[variant\\=inset\\]\\:rounded-xl {\n @media (width >= 48rem) {\n &:is(:where(.peer)[data-variant=\"inset\"] ~ *) {\n border-radius: var(--radius-xl);\n }\n }\n }\n .md\\:peer-data-\\[variant\\=inset\\]\\:shadow-sm {\n @media (width >= 48rem) {\n &:is(:where(.peer)[data-variant=\"inset\"] ~ *) {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n }\n .md\\:peer-data-\\[variant\\=inset\\]\\:peer-data-\\[state\\=collapsed\\]\\:ml-2 {\n @media (width >= 48rem) {\n &:is(:where(.peer)[data-variant=\"inset\"] ~ *) {\n &:is(:where(.peer)[data-state=\"collapsed\"] ~ *) {\n margin-left: calc(var(--spacing) * 2);\n }\n }\n }\n }\n .md\\:after\\:hidden {\n @media (width >= 48rem) {\n &::after {\n content: var(--tw-content);\n display: none;\n }\n }\n }\n .lg\\:fixed {\n @media (width >= 64rem) {\n position: fixed;\n }\n }\n .lg\\:inset-y-0 {\n @media (width >= 64rem) {\n inset-block: calc(var(--spacing) * 0);\n }\n }\n .lg\\:z-50 {\n @media (width >= 64rem) {\n z-index: 50;\n }\n }\n .lg\\:-mx-8 {\n @media (width >= 64rem) {\n margin-inline: calc(var(--spacing) * -8);\n }\n }\n .lg\\:ml-16 {\n @media (width >= 64rem) {\n margin-left: calc(var(--spacing) * 16);\n }\n }\n .lg\\:flex {\n @media (width >= 64rem) {\n display: flex;\n }\n }\n .lg\\:hidden {\n @media (width >= 64rem) {\n display: none;\n }\n }\n .lg\\:w-72 {\n @media (width >= 64rem) {\n width: calc(var(--spacing) * 72);\n }\n }\n .lg\\:w-full {\n @media (width >= 64rem) {\n width: 100%;\n }\n }\n .lg\\:grid-cols-3 {\n @media (width >= 64rem) {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n }\n .lg\\:flex-col {\n @media (width >= 64rem) {\n flex-direction: column;\n }\n }\n .lg\\:justify-between {\n @media (width >= 64rem) {\n justify-content: space-between;\n }\n }\n .lg\\:justify-end {\n @media (width >= 64rem) {\n justify-content: flex-end;\n }\n }\n .lg\\:px-8 {\n @media (width >= 64rem) {\n padding-inline: calc(var(--spacing) * 8);\n }\n }\n .lg\\:pl-72 {\n @media (width >= 64rem) {\n padding-left: calc(var(--spacing) * 72);\n }\n }\n .xl\\:ml-20 {\n @media (width >= 80rem) {\n margin-left: calc(var(--spacing) * 20);\n }\n }\n .xl\\:gap-x-8 {\n @media (width >= 80rem) {\n column-gap: calc(var(--spacing) * 8);\n }\n }\n .\\32 xl\\:ml-24 {\n @media (width >= 96rem) {\n margin-left: calc(var(--spacing) * 24);\n }\n }\n .\\@max-md\\:hidden {\n @container (width < 28rem) {\n display: none;\n }\n }\n .\\@max-md\\:grid-cols-1 {\n @container (width < 28rem) {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n }\n .dark\\:border-input {\n @media (prefers-color-scheme: dark) {\n border-color: var(--color-input);\n }\n }\n .dark\\:bg-destructive\\/60 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, #dc2626 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 60%, transparent);\n }\n }\n }\n .dark\\:bg-gray-900 {\n @media (prefers-color-scheme: dark) {\n background-color: var(--color-gray-900);\n }\n }\n .dark\\:bg-input\\/30 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, #e4e4e7 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-input) 30%, transparent);\n }\n }\n }\n .dark\\:hover\\:bg-accent\\/50 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #f4f4f5 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-accent) 50%, transparent);\n }\n }\n }\n }\n }\n .dark\\:hover\\:bg-input\\/50 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #e4e4e7 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-input) 50%, transparent);\n }\n }\n }\n }\n }\n .dark\\:focus-visible\\:ring-destructive\\/40 {\n @media (prefers-color-scheme: dark) {\n &:focus-visible {\n --tw-ring-color: color-mix(in srgb, #dc2626 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent);\n }\n }\n }\n }\n .dark\\:has-\\[\\[aria-checked\\=true\\]\\]\\:border-blue-900 {\n @media (prefers-color-scheme: dark) {\n &:has(*:is([aria-checked=true])) {\n border-color: var(--color-blue-900);\n }\n }\n }\n .dark\\:has-\\[\\[aria-checked\\=true\\]\\]\\:bg-blue-950 {\n @media (prefers-color-scheme: dark) {\n &:has(*:is([aria-checked=true])) {\n background-color: var(--color-blue-950);\n }\n }\n }\n .dark\\:aria-invalid\\:ring-destructive\\/40 {\n @media (prefers-color-scheme: dark) {\n &[aria-invalid=\"true\"] {\n --tw-ring-color: color-mix(in srgb, #dc2626 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent);\n }\n }\n }\n }\n .dark\\:data-\\[state\\=checked\\]\\:border-blue-700 {\n @media (prefers-color-scheme: dark) {\n &[data-state=\"checked\"] {\n border-color: var(--color-blue-700);\n }\n }\n }\n .dark\\:data-\\[state\\=checked\\]\\:bg-blue-700 {\n @media (prefers-color-scheme: dark) {\n &[data-state=\"checked\"] {\n background-color: var(--color-blue-700);\n }\n }\n }\n .dark\\:data-\\[state\\=checked\\]\\:bg-primary {\n @media (prefers-color-scheme: dark) {\n &[data-state=\"checked\"] {\n background-color: var(--color-primary);\n }\n }\n }\n .dark\\:data-\\[state\\=checked\\]\\:bg-primary-foreground {\n @media (prefers-color-scheme: dark) {\n &[data-state=\"checked\"] {\n background-color: var(--color-primary-foreground);\n }\n }\n }\n .dark\\:data-\\[state\\=unchecked\\]\\:bg-input\\/80 {\n @media (prefers-color-scheme: dark) {\n &[data-state=\"unchecked\"] {\n background-color: color-mix(in srgb, #e4e4e7 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-input) 80%, transparent);\n }\n }\n }\n }\n .\\[\\&_\\:is\\(h1\\,h2\\,h3\\)\\]\\:m-0 {\n & :is(h1,h2,h3) {\n margin: calc(var(--spacing) * 0);\n }\n }\n .\\[\\&_h2\\]\\:mt-\\[1em\\] {\n & h2 {\n margin-top: 1em;\n }\n }\n .\\[\\&_h2\\]\\:text-lg {\n & h2 {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n }\n .\\[\\&_h2\\,\\&_h3\\]\\:mt-\\[1em\\] {\n & h2,& h3 {\n margin-top: 1em;\n }\n }\n .\\[\\&_hr\\]\\:my-\\[1em\\] {\n & hr {\n margin-block: 1em;\n }\n }\n .\\[\\&_p\\+p\\]\\:mt-\\[1em\\] {\n & p+p {\n margin-top: 1em;\n }\n }\n .\\[\\&_svg\\]\\:pointer-events-none {\n & svg {\n pointer-events: none;\n }\n }\n .\\[\\&_svg\\]\\:size-4 {\n & svg {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n }\n .\\[\\&_svg\\]\\:shrink-0 {\n & svg {\n flex-shrink: 0;\n }\n }\n .\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 {\n & svg:not([class*='size-']) {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n }\n .\\[\\&_tr\\]\\:border-b {\n & tr {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n }\n .\\[\\&_tr\\:last-child\\]\\:border-0 {\n & tr:last-child {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n }\n .\\[\\&_ul\\]\\:list-inside {\n & ul {\n list-style-position: inside;\n }\n }\n .\\[\\&_ul\\]\\:list-disc {\n & ul {\n list-style-type: disc;\n }\n }\n .\\[\\&_ul\\]\\:pl-4 {\n & ul {\n padding-left: calc(var(--spacing) * 4);\n }\n }\n .\\[\\&\\:\\:-webkit-scrollbar\\]\\:hidden {\n &::-webkit-scrollbar {\n display: none;\n }\n }\n .\\[\\&\\:has\\(\\[role\\=checkbox\\]\\)\\]\\:pr-0 {\n &:has([role=checkbox]) {\n padding-right: calc(var(--spacing) * 0);\n }\n }\n .\\[\\.border-b\\]\\:pb-6 {\n &:is(.border-b) {\n padding-bottom: calc(var(--spacing) * 6);\n }\n }\n .\\[\\.border-t\\]\\:pt-6 {\n &:is(.border-t) {\n padding-top: calc(var(--spacing) * 6);\n }\n }\n .\\[\\&\\>button\\]\\:hidden {\n &>button {\n display: none;\n }\n }\n .\\[\\&\\>span\\]\\:line-clamp-1 {\n &>span {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n }\n }\n .\\[\\&\\>span\\:last-child\\]\\:truncate {\n &>span:last-child {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n }\n .\\[\\&\\>svg\\]\\:pointer-events-none {\n &>svg {\n pointer-events: none;\n }\n }\n .\\[\\&\\>svg\\]\\:size-3 {\n &>svg {\n width: calc(var(--spacing) * 3);\n height: calc(var(--spacing) * 3);\n }\n }\n .\\[\\&\\>svg\\]\\:size-4 {\n &>svg {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n }\n .\\[\\&\\>svg\\]\\:h-3\\.5 {\n &>svg {\n height: calc(var(--spacing) * 3.5);\n }\n }\n .\\[\\&\\>svg\\]\\:w-3\\.5 {\n &>svg {\n width: calc(var(--spacing) * 3.5);\n }\n }\n .\\[\\&\\>svg\\]\\:shrink-0 {\n &>svg {\n flex-shrink: 0;\n }\n }\n .\\[\\&\\>tr\\]\\:last\\:border-b-0 {\n &>tr {\n &:last-child {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0px;\n }\n }\n }\n .\\[\\&\\[data-state\\=open\\]\\>svg\\]\\:rotate-180 {\n &[data-state=open]>svg {\n rotate: 180deg;\n }\n }\n .\\[\\[data-side\\=left\\]\\[data-collapsible\\=offcanvas\\]_\\&\\]\\:-right-2 {\n [data-side=left][data-collapsible=offcanvas] & {\n right: calc(var(--spacing) * -2);\n }\n }\n .\\[\\[data-side\\=left\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-e-resize {\n [data-side=left][data-state=collapsed] & {\n cursor: e-resize;\n }\n }\n .\\[\\[data-side\\=right\\]\\[data-collapsible\\=offcanvas\\]_\\&\\]\\:-left-2 {\n [data-side=right][data-collapsible=offcanvas] & {\n left: calc(var(--spacing) * -2);\n }\n }\n .\\[\\[data-side\\=right\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-w-resize {\n [data-side=right][data-state=collapsed] & {\n cursor: w-resize;\n }\n }\n .\\[a\\&\\]\\:hover\\:bg-accent {\n a& {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-accent);\n }\n }\n }\n }\n .\\[a\\&\\]\\:hover\\:bg-destructive\\/90 {\n a& {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #dc2626 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 90%, transparent);\n }\n }\n }\n }\n }\n .\\[a\\&\\]\\:hover\\:bg-primary\\/90 {\n a& {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #18181b 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-primary) 90%, transparent);\n }\n }\n }\n }\n }\n .\\[a\\&\\]\\:hover\\:bg-secondary\\/90 {\n a& {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #f4f4f5 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-secondary) 90%, transparent);\n }\n }\n }\n }\n }\n .\\[a\\&\\]\\:hover\\:text-accent-foreground {\n a& {\n &:hover {\n @media (hover: hover) {\n color: var(--color-accent-foreground);\n }\n }\n }\n }\n}\n@layer base {\n :root,\n :host {\n font-family: 'Inter', sans-serif;\n }\n}\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-rotate-x {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-rotate-y {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-rotate-z {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-skew-x {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-skew-y {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-scroll-snap-strictness {\n syntax: \"*\";\n inherits: false;\n initial-value: proximity;\n}\n@property --tw-space-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-space-x-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-divide-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-gradient-position {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-gradient-from {\n syntax: \"<color>\";\n inherits: false;\n initial-value: #0000;\n}\n@property --tw-gradient-via {\n syntax: \"<color>\";\n inherits: false;\n initial-value: #0000;\n}\n@property --tw-gradient-to {\n syntax: \"<color>\";\n inherits: false;\n initial-value: #0000;\n}\n@property --tw-gradient-stops {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-gradient-via-stops {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-gradient-from-position {\n syntax: \"<length-percentage>\";\n inherits: false;\n initial-value: 0%;\n}\n@property --tw-gradient-via-position {\n syntax: \"<length-percentage>\";\n inherits: false;\n initial-value: 50%;\n}\n@property --tw-gradient-to-position {\n syntax: \"<length-percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-leading {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-tracking {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ordinal {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-slashed-zero {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-figure {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-spacing {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-fraction {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-blur {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-brightness {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-contrast {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-grayscale {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-hue-rotate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-invert {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-opacity {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-saturate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-sepia {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-drop-shadow-size {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-blur {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-brightness {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-contrast {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-grayscale {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-hue-rotate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-invert {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-opacity {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-saturate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-sepia {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ease {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-content {\n syntax: \"*\";\n initial-value: \"\";\n inherits: false;\n}\n@property --tw-scale-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-scale-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-scale-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-rotate-x: initial;\n --tw-rotate-y: initial;\n --tw-rotate-z: initial;\n --tw-skew-x: initial;\n --tw-skew-y: initial;\n --tw-scroll-snap-strictness: proximity;\n --tw-space-y-reverse: 0;\n --tw-space-x-reverse: 0;\n --tw-divide-y-reverse: 0;\n --tw-border-style: solid;\n --tw-gradient-position: initial;\n --tw-gradient-from: #0000;\n --tw-gradient-via: #0000;\n --tw-gradient-to: #0000;\n --tw-gradient-stops: initial;\n --tw-gradient-via-stops: initial;\n --tw-gradient-from-position: 0%;\n --tw-gradient-via-position: 50%;\n --tw-gradient-to-position: 100%;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-tracking: initial;\n --tw-ordinal: initial;\n --tw-slashed-zero: initial;\n --tw-numeric-figure: initial;\n --tw-numeric-spacing: initial;\n --tw-numeric-fraction: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-outline-style: solid;\n --tw-blur: initial;\n --tw-brightness: initial;\n --tw-contrast: initial;\n --tw-grayscale: initial;\n --tw-hue-rotate: initial;\n --tw-invert: initial;\n --tw-opacity: initial;\n --tw-saturate: initial;\n --tw-sepia: initial;\n --tw-drop-shadow: initial;\n --tw-drop-shadow-color: initial;\n --tw-drop-shadow-alpha: 100%;\n --tw-drop-shadow-size: initial;\n --tw-backdrop-blur: initial;\n --tw-backdrop-brightness: initial;\n --tw-backdrop-contrast: initial;\n --tw-backdrop-grayscale: initial;\n --tw-backdrop-hue-rotate: initial;\n --tw-backdrop-invert: initial;\n --tw-backdrop-opacity: initial;\n --tw-backdrop-saturate: initial;\n --tw-backdrop-sepia: initial;\n --tw-duration: initial;\n --tw-ease: initial;\n --tw-content: \"\";\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n }\n }\n}\n";
2324
+ var css_248z = "/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\",\n \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --color-red-50: oklch(97.1% 0.013 17.38);\n --color-red-100: oklch(93.6% 0.032 17.717);\n --color-red-200: oklch(88.5% 0.062 18.334);\n --color-red-300: oklch(80.8% 0.114 19.571);\n --color-red-400: oklch(70.4% 0.191 22.216);\n --color-red-500: oklch(63.7% 0.237 25.331);\n --color-red-600: oklch(57.7% 0.245 27.325);\n --color-red-700: oklch(50.5% 0.213 27.518);\n --color-red-800: oklch(44.4% 0.177 26.899);\n --color-red-900: oklch(39.6% 0.141 25.723);\n --color-orange-50: #f25c2b;\n --color-orange-100: #520c03;\n --color-orange-200: oklch(90.1% 0.076 70.697);\n --color-orange-500: oklch(70.5% 0.213 47.604);\n --color-orange-700: oklch(55.3% 0.195 38.402);\n --color-yellow-50: oklch(98.7% 0.026 102.212);\n --color-yellow-100: oklch(97.3% 0.071 103.193);\n --color-yellow-200: oklch(94.5% 0.129 101.54);\n --color-yellow-400: oklch(85.2% 0.199 91.936);\n --color-yellow-600: oklch(68.1% 0.162 75.834);\n --color-yellow-700: oklch(55.4% 0.135 66.442);\n --color-yellow-800: oklch(47.6% 0.114 61.907);\n --color-yellow-900: oklch(42.1% 0.095 57.708);\n --color-green-50: oklch(98.2% 0.018 155.826);\n --color-green-100: oklch(96.2% 0.044 156.743);\n --color-green-400: oklch(79.2% 0.209 151.711);\n --color-green-500: oklch(72.3% 0.219 149.579);\n --color-green-600: oklch(62.7% 0.194 149.214);\n --color-green-700: oklch(52.7% 0.154 150.069);\n --color-green-800: oklch(44.8% 0.119 151.328);\n --color-green-900: oklch(39.3% 0.095 152.535);\n --color-cyan-500: oklch(71.5% 0.143 215.221);\n --color-blue-50: #3b82f6;\n --color-blue-100: #172554;\n --color-blue-200: oklch(88.2% 0.059 254.128);\n --color-blue-300: oklch(80.9% 0.105 251.813);\n --color-blue-400: oklch(70.7% 0.165 254.624);\n --color-blue-500: oklch(62.3% 0.214 259.815);\n --color-blue-600: oklch(54.6% 0.245 262.881);\n --color-blue-700: oklch(48.8% 0.243 264.376);\n --color-blue-800: oklch(42.4% 0.199 265.638);\n --color-blue-900: oklch(37.9% 0.146 265.522);\n --color-blue-950: oklch(28.2% 0.091 267.935);\n --color-violet-200: oklch(89.4% 0.057 293.283);\n --color-violet-600: oklch(54.1% 0.281 293.009);\n --color-purple-50: oklch(97.7% 0.014 308.299);\n --color-purple-200: oklch(90.2% 0.063 306.703);\n --color-purple-600: oklch(55.8% 0.288 302.321);\n --color-purple-700: oklch(49.6% 0.265 301.924);\n --color-pink-100: oklch(94.8% 0.028 342.258);\n --color-pink-800: oklch(45.9% 0.187 3.815);\n --color-slate-50: oklch(98.4% 0.003 247.858);\n --color-slate-100: oklch(96.8% 0.007 247.896);\n --color-slate-300: oklch(86.9% 0.022 252.894);\n --color-slate-400: oklch(70.4% 0.04 256.788);\n --color-slate-500: oklch(55.4% 0.046 257.417);\n --color-slate-600: oklch(44.6% 0.043 257.281);\n --color-slate-700: oklch(37.2% 0.044 257.287);\n --color-slate-800: oklch(27.9% 0.041 260.031);\n --color-slate-950: oklch(12.9% 0.042 264.695);\n --color-gray-50: oklch(98.5% 0.002 247.839);\n --color-gray-100: oklch(96.7% 0.003 264.542);\n --color-gray-200: oklch(92.8% 0.006 264.531);\n --color-gray-300: oklch(87.2% 0.01 258.338);\n --color-gray-400: oklch(70.7% 0.022 261.325);\n --color-gray-500: oklch(55.1% 0.027 264.364);\n --color-gray-600: oklch(44.6% 0.03 256.802);\n --color-gray-700: oklch(37.3% 0.034 259.733);\n --color-gray-800: oklch(27.8% 0.033 256.848);\n --color-gray-900: oklch(21% 0.034 264.665);\n --color-neutral-50: #8799af;\n --color-neutral-100: #172a41;\n --color-neutral-600: oklch(43.9% 0 0);\n --color-neutral-950: oklch(14.5% 0 0);\n --color-black: #000;\n --color-white: #fff;\n --spacing: 0.25rem;\n --container-xs: 20rem;\n --container-sm: 24rem;\n --container-md: 28rem;\n --container-lg: 32rem;\n --container-xl: 36rem;\n --container-2xl: 42rem;\n --container-3xl: 48rem;\n --container-4xl: 56rem;\n --container-5xl: 64rem;\n --container-6xl: 72rem;\n --container-7xl: 80rem;\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --text-sm: 0.875rem;\n --text-sm--line-height: calc(1.25 / 0.875);\n --text-base: 1rem;\n --text-base--line-height: calc(1.5 / 1);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-xl: 1.25rem;\n --text-xl--line-height: calc(1.75 / 1.25);\n --text-2xl: 1.5rem;\n --text-2xl--line-height: calc(2 / 1.5);\n --text-3xl: 1.875rem;\n --text-3xl--line-height: calc(2.25 / 1.875);\n --text-4xl: 2.25rem;\n --text-4xl--line-height: calc(2.5 / 2.25);\n --text-5xl: 3rem;\n --text-5xl--line-height: 1;\n --text-7xl: 4.5rem;\n --text-7xl--line-height: 1;\n --font-weight-normal: 400;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --tracking-tight: -0.025em;\n --tracking-widest: 0.1em;\n --leading-tight: 1.25;\n --leading-normal: 1.5;\n --radius-xs: 0.125rem;\n --radius-sm: 0.25rem;\n --radius-md: 0.375rem;\n --radius-lg: 0.5rem;\n --radius-xl: 0.75rem;\n --radius-2xl: 1rem;\n --radius-3xl: 1.5rem;\n --drop-shadow-md: 0 3px 3px rgb(0 0 0 / 0.12);\n --ease-in: cubic-bezier(0.4, 0, 1, 1);\n --ease-out: cubic-bezier(0, 0, 0.2, 1);\n --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);\n --animate-spin: spin 1s linear infinite;\n --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n --blur-sm: 8px;\n --default-transition-duration: 150ms;\n --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --default-font-family: var(--font-sans);\n --default-mono-font-family: var(--font-mono);\n --color-primary: #18181b;\n --color-primary-foreground: #fafafa;\n --color-secondary: #f4f4f5;\n --color-secondary-foreground: #18181b;\n --color-destructive: #dc2626;\n --color-destructive-foreground: #fef2f2;\n --color-background: #ffffff;\n --color-input: #e4e4e7;\n --color-accent: #f4f4f5;\n --color-accent-foreground: #18181b;\n --color-card: #ffffff;\n --color-card-foreground: #09090b;\n --color-border: #e4e4e7;\n --color-sidebar-ring: #a1a1aa;\n --color-muted: #f7f7f6;\n --color-muted-foreground: #74716e;\n --color-orange-10: #fff3e6;\n --color-orange-20: #ffdfbf;\n --color-orange-30: #ffb47f;\n --color-orange-40: #ff8446;\n --color-orange-60: #cd4b27;\n --color-orange-70: #b03719;\n --color-orange-80: #892c0f;\n --color-orange-90: #61170d;\n --color-neutral-10: #f1f4f8;\n --color-neutral-20: #dbe2eb;\n --color-neutral-30: #bfccda;\n --color-neutral-40: #a3b2c6;\n --color-neutral-60: #677c95;\n --color-neutral-70: #4e647f;\n --color-neutral-80: #394d66;\n --color-neutral-90: #293b51;\n --color-blue-10: #dbeafe;\n --color-blue-20: #bfdbfe;\n --color-blue-30: #93c5fd;\n --color-blue-40: #60a5fa;\n --color-blue-60: #2563eb;\n --color-blue-70: #1d4ed8;\n --color-blue-80: #1e40af;\n --color-blue-90: #1e3a8a;\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n ::-webkit-calendar-picker-indicator {\n line-height: 1;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .\\@container\\/card-header {\n container-type: inline-size;\n container-name: card-header;\n }\n .\\@container {\n container-type: inline-size;\n }\n .pointer-events-none {\n pointer-events: none;\n }\n .collapse {\n visibility: collapse;\n }\n .invisible {\n visibility: hidden;\n }\n .visible {\n visibility: visible;\n }\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border-width: 0;\n }\n .absolute {\n position: absolute;\n }\n .fixed {\n position: fixed;\n }\n .relative {\n position: relative;\n }\n .static {\n position: static;\n }\n .sticky {\n position: sticky;\n }\n .inset-0 {\n inset: calc(var(--spacing) * 0);\n }\n .inset-x-0 {\n inset-inline: calc(var(--spacing) * 0);\n }\n .inset-y-0 {\n inset-block: calc(var(--spacing) * 0);\n }\n .top-0 {\n top: calc(var(--spacing) * 0);\n }\n .top-1\\.5 {\n top: calc(var(--spacing) * 1.5);\n }\n .top-1\\/2 {\n top: calc(1/2 * 100%);\n }\n .top-3\\.5 {\n top: calc(var(--spacing) * 3.5);\n }\n .top-4 {\n top: calc(var(--spacing) * 4);\n }\n .top-6 {\n top: calc(var(--spacing) * 6);\n }\n .top-\\[15px\\] {\n top: 15px;\n }\n .top-\\[50\\%\\] {\n top: 50%;\n }\n .right-0 {\n right: calc(var(--spacing) * 0);\n }\n .right-1 {\n right: calc(var(--spacing) * 1);\n }\n .right-2 {\n right: calc(var(--spacing) * 2);\n }\n .right-3 {\n right: calc(var(--spacing) * 3);\n }\n .right-4 {\n right: calc(var(--spacing) * 4);\n }\n .right-5 {\n right: calc(var(--spacing) * 5);\n }\n .right-6 {\n right: calc(var(--spacing) * 6);\n }\n .right-30 {\n right: calc(var(--spacing) * 30);\n }\n .right-\\[14px\\] {\n right: 14px;\n }\n .bottom-0 {\n bottom: calc(var(--spacing) * 0);\n }\n .bottom-\\[-32px\\] {\n bottom: -32px;\n }\n .left-0 {\n left: calc(var(--spacing) * 0);\n }\n .left-1\\/2 {\n left: calc(1/2 * 100%);\n }\n .left-2 {\n left: calc(var(--spacing) * 2);\n }\n .left-3 {\n left: calc(var(--spacing) * 3);\n }\n .left-\\[14px\\] {\n left: 14px;\n }\n .left-\\[50\\%\\] {\n left: 50%;\n }\n .left-full {\n left: 100%;\n }\n .isolate {\n isolation: isolate;\n }\n .z-5 {\n z-index: 5;\n }\n .z-10 {\n z-index: 10;\n }\n .z-20 {\n z-index: 20;\n }\n .z-40 {\n z-index: 40;\n }\n .z-50 {\n z-index: 50;\n }\n .z-55 {\n z-index: 55;\n }\n .order-123 {\n order: 123;\n }\n .col-span-1 {\n grid-column: span 1 / span 1;\n }\n .col-span-2 {\n grid-column: span 2 / span 2;\n }\n .col-span-6 {\n grid-column: span 6 / span 6;\n }\n .col-span-full {\n grid-column: 1 / -1;\n }\n .col-start-1 {\n grid-column-start: 1;\n }\n .col-start-2 {\n grid-column-start: 2;\n }\n .row-auto {\n grid-row: auto;\n }\n .row-span-2 {\n grid-row: span 2 / span 2;\n }\n .row-span-full {\n grid-row: 1 / -1;\n }\n .row-start-1 {\n grid-row-start: 1;\n }\n .float-left {\n float: left;\n }\n .container {\n width: 100%;\n @media (width >= 40rem) {\n max-width: 40rem;\n }\n @media (width >= 48rem) {\n max-width: 48rem;\n }\n @media (width >= 64rem) {\n max-width: 64rem;\n }\n @media (width >= 80rem) {\n max-width: 80rem;\n }\n @media (width >= 96rem) {\n max-width: 96rem;\n }\n }\n .-m-2\\.5 {\n margin: calc(var(--spacing) * -2.5);\n }\n .m-0 {\n margin: calc(var(--spacing) * 0);\n }\n .m-2 {\n margin: calc(var(--spacing) * 2);\n }\n .m-4 {\n margin: calc(var(--spacing) * 4);\n }\n .m-8 {\n margin: calc(var(--spacing) * 8);\n }\n .-mx-1 {\n margin-inline: calc(var(--spacing) * -1);\n }\n .-mx-1\\.5 {\n margin-inline: calc(var(--spacing) * -1.5);\n }\n .-mx-2 {\n margin-inline: calc(var(--spacing) * -2);\n }\n .-mx-4 {\n margin-inline: calc(var(--spacing) * -4);\n }\n .mx-2 {\n margin-inline: calc(var(--spacing) * 2);\n }\n .mx-3\\.5 {\n margin-inline: calc(var(--spacing) * 3.5);\n }\n .mx-4 {\n margin-inline: calc(var(--spacing) * 4);\n }\n .mx-\\[20px\\] {\n margin-inline: 20px;\n }\n .mx-auto {\n margin-inline: auto;\n }\n .-my-1\\.5 {\n margin-block: calc(var(--spacing) * -1.5);\n }\n .-my-2 {\n margin-block: calc(var(--spacing) * -2);\n }\n .-my-3 {\n margin-block: calc(var(--spacing) * -3);\n }\n .my-0 {\n margin-block: calc(var(--spacing) * 0);\n }\n .my-0\\.5 {\n margin-block: calc(var(--spacing) * 0.5);\n }\n .my-1 {\n margin-block: calc(var(--spacing) * 1);\n }\n .my-2 {\n margin-block: calc(var(--spacing) * 2);\n }\n .my-3 {\n margin-block: calc(var(--spacing) * 3);\n }\n .my-4 {\n margin-block: calc(var(--spacing) * 4);\n }\n .my-5 {\n margin-block: calc(var(--spacing) * 5);\n }\n .my-6 {\n margin-block: calc(var(--spacing) * 6);\n }\n .my-10 {\n margin-block: calc(var(--spacing) * 10);\n }\n .my-\\[10px\\] {\n margin-block: 10px;\n }\n .mt-1 {\n margin-top: calc(var(--spacing) * 1);\n }\n .mt-2 {\n margin-top: calc(var(--spacing) * 2);\n }\n .mt-3 {\n margin-top: calc(var(--spacing) * 3);\n }\n .mt-4 {\n margin-top: calc(var(--spacing) * 4);\n }\n .mt-5 {\n margin-top: calc(var(--spacing) * 5);\n }\n .mt-6 {\n margin-top: calc(var(--spacing) * 6);\n }\n .mt-8 {\n margin-top: calc(var(--spacing) * 8);\n }\n .mt-9 {\n margin-top: calc(var(--spacing) * 9);\n }\n .mt-10 {\n margin-top: calc(var(--spacing) * 10);\n }\n .mt-11 {\n margin-top: calc(var(--spacing) * 11);\n }\n .mt-30 {\n margin-top: calc(var(--spacing) * 30);\n }\n .mt-\\[-2px\\] {\n margin-top: -2px;\n }\n .mt-auto {\n margin-top: auto;\n }\n .-mr-px {\n margin-right: -1px;\n }\n .mr-2 {\n margin-right: calc(var(--spacing) * 2);\n }\n .mr-3 {\n margin-right: calc(var(--spacing) * 3);\n }\n .mr-5 {\n margin-right: calc(var(--spacing) * 5);\n }\n .mr-16 {\n margin-right: calc(var(--spacing) * 16);\n }\n .mr-auto {\n margin-right: auto;\n }\n .mb-1 {\n margin-bottom: calc(var(--spacing) * 1);\n }\n .mb-2 {\n margin-bottom: calc(var(--spacing) * 2);\n }\n .mb-3 {\n margin-bottom: calc(var(--spacing) * 3);\n }\n .mb-4 {\n margin-bottom: calc(var(--spacing) * 4);\n }\n .mb-5 {\n margin-bottom: calc(var(--spacing) * 5);\n }\n .mb-6 {\n margin-bottom: calc(var(--spacing) * 6);\n }\n .mb-7 {\n margin-bottom: calc(var(--spacing) * 7);\n }\n .mb-8 {\n margin-bottom: calc(var(--spacing) * 8);\n }\n .mb-10 {\n margin-bottom: calc(var(--spacing) * 10);\n }\n .mb-\\[4px\\] {\n margin-bottom: 4px;\n }\n .mb-\\[24px\\] {\n margin-bottom: 24px;\n }\n .-ml-0\\.5 {\n margin-left: calc(var(--spacing) * -0.5);\n }\n .ml-0 {\n margin-left: calc(var(--spacing) * 0);\n }\n .ml-0\\.5 {\n margin-left: calc(var(--spacing) * 0.5);\n }\n .ml-1 {\n margin-left: calc(var(--spacing) * 1);\n }\n .ml-2 {\n margin-left: calc(var(--spacing) * 2);\n }\n .ml-3 {\n margin-left: calc(var(--spacing) * 3);\n }\n .ml-4 {\n margin-left: calc(var(--spacing) * 4);\n }\n .ml-5 {\n margin-left: calc(var(--spacing) * 5);\n }\n .ml-6 {\n margin-left: calc(var(--spacing) * 6);\n }\n .ml-10 {\n margin-left: calc(var(--spacing) * 10);\n }\n .ml-\\[28px\\] {\n margin-left: 28px;\n }\n .ml-auto {\n margin-left: auto;\n }\n .line-clamp-1 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n }\n .block {\n display: block;\n }\n .contents {\n display: contents;\n }\n .flex {\n display: flex;\n }\n .flow-root {\n display: flow-root;\n }\n .grid {\n display: grid;\n }\n .hidden {\n display: none;\n }\n .inline {\n display: inline;\n }\n .inline-block {\n display: inline-block;\n }\n .inline-flex {\n display: inline-flex;\n }\n .list-item {\n display: list-item;\n }\n .table {\n display: table;\n }\n .table\\! {\n display: table !important;\n }\n .table-caption {\n display: table-caption;\n }\n .table-cell {\n display: table-cell;\n }\n .table-row {\n display: table-row;\n }\n .field-sizing-content {\n field-sizing: content;\n }\n .aspect-square {\n aspect-ratio: 1 / 1;\n }\n .size-2 {\n width: calc(var(--spacing) * 2);\n height: calc(var(--spacing) * 2);\n }\n .size-2\\.5 {\n width: calc(var(--spacing) * 2.5);\n height: calc(var(--spacing) * 2.5);\n }\n .size-3 {\n width: calc(var(--spacing) * 3);\n height: calc(var(--spacing) * 3);\n }\n .size-4 {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n .size-5 {\n width: calc(var(--spacing) * 5);\n height: calc(var(--spacing) * 5);\n }\n .size-6 {\n width: calc(var(--spacing) * 6);\n height: calc(var(--spacing) * 6);\n }\n .size-7 {\n width: calc(var(--spacing) * 7);\n height: calc(var(--spacing) * 7);\n }\n .size-8 {\n width: calc(var(--spacing) * 8);\n height: calc(var(--spacing) * 8);\n }\n .size-9 {\n width: calc(var(--spacing) * 9);\n height: calc(var(--spacing) * 9);\n }\n .size-12 {\n width: calc(var(--spacing) * 12);\n height: calc(var(--spacing) * 12);\n }\n .size-full {\n width: 100%;\n height: 100%;\n }\n .h-0 {\n height: calc(var(--spacing) * 0);\n }\n .h-1 {\n height: calc(var(--spacing) * 1);\n }\n .h-2 {\n height: calc(var(--spacing) * 2);\n }\n .h-3 {\n height: calc(var(--spacing) * 3);\n }\n .h-3\\.5 {\n height: calc(var(--spacing) * 3.5);\n }\n .h-4 {\n height: calc(var(--spacing) * 4);\n }\n .h-4\\.5 {\n height: calc(var(--spacing) * 4.5);\n }\n .h-5 {\n height: calc(var(--spacing) * 5);\n }\n .h-6 {\n height: calc(var(--spacing) * 6);\n }\n .h-7 {\n height: calc(var(--spacing) * 7);\n }\n .h-8 {\n height: calc(var(--spacing) * 8);\n }\n .h-9 {\n height: calc(var(--spacing) * 9);\n }\n .h-10 {\n height: calc(var(--spacing) * 10);\n }\n .h-11 {\n height: calc(var(--spacing) * 11);\n }\n .h-12 {\n height: calc(var(--spacing) * 12);\n }\n .h-16 {\n height: calc(var(--spacing) * 16);\n }\n .h-30 {\n height: calc(var(--spacing) * 30);\n }\n .h-48 {\n height: calc(var(--spacing) * 48);\n }\n .h-\\[1\\.15rem\\] {\n height: 1.15rem;\n }\n .h-\\[4px\\] {\n height: 4px;\n }\n .h-\\[12px\\] {\n height: 12px;\n }\n .h-\\[14px\\] {\n height: 14px;\n }\n .h-\\[15px\\] {\n height: 15px;\n }\n .h-\\[16px\\] {\n height: 16px;\n }\n .h-\\[20px\\] {\n height: 20px;\n }\n .h-\\[28px\\] {\n height: 28px;\n }\n .h-\\[32px\\] {\n height: 32px;\n }\n .h-\\[36px\\] {\n height: 36px;\n }\n .h-\\[64px\\] {\n height: 64px;\n }\n .h-\\[70px\\] {\n height: 70px;\n }\n .h-\\[108px\\] {\n height: 108px;\n }\n .h-\\[200px\\] {\n height: 200px;\n }\n .h-\\[320px\\] {\n height: 320px;\n }\n .h-\\[400px\\] {\n height: 400px;\n }\n .h-\\[628px\\] {\n height: 628px;\n }\n .h-\\[calc-size\\(max-content\\,size\\)\\] {\n height: calc-size(max-content,size);\n }\n .h-\\[var\\(--radix-select-trigger-height\\)\\] {\n height: var(--radix-select-trigger-height);\n }\n .h-auto {\n height: auto;\n }\n .h-fit {\n height: fit-content;\n }\n .h-full {\n height: 100%;\n }\n .h-px {\n height: 1px;\n }\n .h-screen {\n height: 100vh;\n }\n .h-svh {\n height: 100svh;\n }\n .max-h-\\[--radix-select-content-available-height\\] {\n max-height: --radix-select-content-available-height;\n }\n .max-h-\\[40em\\] {\n max-height: 40em;\n }\n .max-h-\\[80vh\\] {\n max-height: 80vh;\n }\n .max-h-\\[206px\\] {\n max-height: 206px;\n }\n .max-h-\\[612px\\] {\n max-height: 612px;\n }\n .max-h-\\[700px\\] {\n max-height: 700px;\n }\n .max-h-\\[var\\(--radix-dropdown-menu-content-available-height\\)\\] {\n max-height: var(--radix-dropdown-menu-content-available-height);\n }\n .min-h-0 {\n min-height: calc(var(--spacing) * 0);\n }\n .min-h-16 {\n min-height: calc(var(--spacing) * 16);\n }\n .min-h-\\[32px\\] {\n min-height: 32px;\n }\n .min-h-\\[48px\\] {\n min-height: 48px;\n }\n .min-h-\\[532px\\] {\n min-height: 532px;\n }\n .min-h-full {\n min-height: 100%;\n }\n .min-h-screen {\n min-height: 100vh;\n }\n .min-h-svh {\n min-height: 100svh;\n }\n .w-\\(--sidebar-width\\) {\n width: var(--sidebar-width);\n }\n .w-0\\.5 {\n width: calc(var(--spacing) * 0.5);\n }\n .w-1\\/2 {\n width: calc(1/2 * 100%);\n }\n .w-2 {\n width: calc(var(--spacing) * 2);\n }\n .w-3 {\n width: calc(var(--spacing) * 3);\n }\n .w-3\\.5 {\n width: calc(var(--spacing) * 3.5);\n }\n .w-3\\/4 {\n width: calc(3/4 * 100%);\n }\n .w-4 {\n width: calc(var(--spacing) * 4);\n }\n .w-4\\.5 {\n width: calc(var(--spacing) * 4.5);\n }\n .w-5 {\n width: calc(var(--spacing) * 5);\n }\n .w-6 {\n width: calc(var(--spacing) * 6);\n }\n .w-8 {\n width: calc(var(--spacing) * 8);\n }\n .w-9 {\n width: calc(var(--spacing) * 9);\n }\n .w-10 {\n width: calc(var(--spacing) * 10);\n }\n .w-11 {\n width: calc(var(--spacing) * 11);\n }\n .w-12 {\n width: calc(var(--spacing) * 12);\n }\n .w-13 {\n width: calc(var(--spacing) * 13);\n }\n .w-16 {\n width: calc(var(--spacing) * 16);\n }\n .w-20 {\n width: calc(var(--spacing) * 20);\n }\n .w-24 {\n width: calc(var(--spacing) * 24);\n }\n .w-40 {\n width: calc(var(--spacing) * 40);\n }\n .w-48 {\n width: calc(var(--spacing) * 48);\n }\n .w-55 {\n width: calc(var(--spacing) * 55);\n }\n .w-64 {\n width: calc(var(--spacing) * 64);\n }\n .w-72 {\n width: calc(var(--spacing) * 72);\n }\n .w-106 {\n width: calc(var(--spacing) * 106);\n }\n .w-240 {\n width: calc(var(--spacing) * 240);\n }\n .w-\\[1px\\] {\n width: 1px;\n }\n .w-\\[12px\\] {\n width: 12px;\n }\n .w-\\[14px\\] {\n width: 14px;\n }\n .w-\\[16px\\] {\n width: 16px;\n }\n .w-\\[20px\\] {\n width: 20px;\n }\n .w-\\[45\\%\\] {\n width: 45%;\n }\n .w-\\[50px\\] {\n width: 50px;\n }\n .w-\\[64px\\] {\n width: 64px;\n }\n .w-\\[70px\\] {\n width: 70px;\n }\n .w-\\[75px\\] {\n width: 75px;\n }\n .w-\\[100px\\] {\n width: 100px;\n }\n .w-\\[120px\\] {\n width: 120px;\n }\n .w-\\[145px\\] {\n width: 145px;\n }\n .w-\\[150px\\] {\n width: 150px;\n }\n .w-\\[180px\\] {\n width: 180px;\n }\n .w-\\[200px\\] {\n width: 200px;\n }\n .w-\\[220px\\] {\n width: 220px;\n }\n .w-\\[250px\\] {\n width: 250px;\n }\n .w-\\[333px\\] {\n width: 333px;\n }\n .w-\\[370px\\] {\n width: 370px;\n }\n .w-\\[428px\\] {\n width: 428px;\n }\n .w-\\[484px\\] {\n width: 484px;\n }\n .w-\\[500px\\] {\n width: 500px;\n }\n .w-\\[526px\\] {\n width: 526px;\n }\n .w-\\[1080px\\] {\n width: 1080px;\n }\n .w-auto {\n width: auto;\n }\n .w-auto\\! {\n width: auto !important;\n }\n .w-fit {\n width: fit-content;\n }\n .w-full {\n width: 100%;\n }\n .w-min {\n width: min-content;\n }\n .w-screen {\n width: 100vw;\n }\n .\\!max-w-\\[860px\\] {\n max-width: 860px !important;\n }\n .\\!max-w-none {\n max-width: none !important;\n }\n .max-w-\\(--skeleton-width\\) {\n max-width: var(--skeleton-width);\n }\n .max-w-2xl {\n max-width: var(--container-2xl);\n }\n .max-w-3xl {\n max-width: var(--container-3xl);\n }\n .max-w-4xl {\n max-width: var(--container-4xl);\n }\n .max-w-5xl {\n max-width: var(--container-5xl);\n }\n .max-w-6xl {\n max-width: var(--container-6xl);\n }\n .max-w-7xl {\n max-width: var(--container-7xl);\n }\n .max-w-\\[100\\%\\] {\n max-width: 100%;\n }\n .max-w-\\[177px\\] {\n max-width: 177px;\n }\n .max-w-\\[200px\\] {\n max-width: 200px;\n }\n .max-w-\\[354px\\] {\n max-width: 354px;\n }\n .max-w-\\[450px\\] {\n max-width: 450px;\n }\n .max-w-\\[573px\\] {\n max-width: 573px;\n }\n .max-w-\\[688px\\] {\n max-width: 688px;\n }\n .max-w-\\[calc\\(100\\%-2rem\\)\\] {\n max-width: calc(100% - 2rem);\n }\n .max-w-full {\n max-width: 100%;\n }\n .max-w-lg {\n max-width: var(--container-lg);\n }\n .max-w-md {\n max-width: var(--container-md);\n }\n .max-w-sm {\n max-width: var(--container-sm);\n }\n .max-w-xl {\n max-width: var(--container-xl);\n }\n .max-w-xs {\n max-width: var(--container-xs);\n }\n .min-w-0 {\n min-width: calc(var(--spacing) * 0);\n }\n .min-w-5 {\n min-width: calc(var(--spacing) * 5);\n }\n .min-w-\\[8rem\\] {\n min-width: 8rem;\n }\n .min-w-\\[85px\\] {\n min-width: 85px;\n }\n .min-w-\\[120px\\] {\n min-width: 120px;\n }\n .min-w-\\[200px\\] {\n min-width: 200px;\n }\n .min-w-\\[220px\\] {\n min-width: 220px;\n }\n .min-w-\\[270px\\] {\n min-width: 270px;\n }\n .min-w-\\[700px\\] {\n min-width: 700px;\n }\n .min-w-\\[var\\(--radix-select-trigger-width\\)\\] {\n min-width: var(--radix-select-trigger-width);\n }\n .min-w-fit {\n min-width: fit-content;\n }\n .min-w-full {\n min-width: 100%;\n }\n .min-w-max {\n min-width: max-content;\n }\n .min-w-xs {\n min-width: var(--container-xs);\n }\n .flex-1 {\n flex: 1;\n }\n .flex-2 {\n flex: 2;\n }\n .flex-\\[0\\] {\n flex: 0;\n }\n .flex-auto {\n flex: auto;\n }\n .flex-none {\n flex: none;\n }\n .\\!shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-shrink {\n flex-shrink: 1;\n }\n .flex-shrink-0 {\n flex-shrink: 0;\n }\n .shrink-0 {\n flex-shrink: 0;\n }\n .\\!grow-0 {\n flex-grow: 0 !important;\n }\n .flex-grow {\n flex-grow: 1;\n }\n .grow {\n flex-grow: 1;\n }\n .\\!basis-auto {\n flex-basis: auto !important;\n }\n .table-auto {\n table-layout: auto;\n }\n .caption-bottom {\n caption-side: bottom;\n }\n .border-collapse {\n border-collapse: collapse;\n }\n .origin-\\(--radix-tooltip-content-transform-origin\\) {\n transform-origin: var(--radix-tooltip-content-transform-origin);\n }\n .origin-\\[--radix-dropdown-menu-content-transform-origin\\] {\n transform-origin: --radix-dropdown-menu-content-transform-origin;\n }\n .origin-\\[--radix-popover-content-transform-origin\\] {\n transform-origin: --radix-popover-content-transform-origin;\n }\n .origin-\\[--radix-select-content-transform-origin\\] {\n transform-origin: --radix-select-content-transform-origin;\n }\n .-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .-translate-x-px {\n --tw-translate-x: -1px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-x-0 {\n --tw-translate-x: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-x-\\[-50\\%\\] {\n --tw-translate-x: -50%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-x-full {\n --tw-translate-x: 100%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-x-px {\n --tw-translate-x: 1px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .-translate-y-1\\/2 {\n --tw-translate-y: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-y-0\\.5 {\n --tw-translate-y: calc(var(--spacing) * 0.5);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-y-\\[-50\\%\\] {\n --tw-translate-y: -50%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-y-\\[calc\\(-50\\%_-_2px\\)\\] {\n --tw-translate-y: calc(-50% - 2px);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .rotate-45 {\n rotate: 45deg;\n }\n .rotate-180 {\n rotate: 180deg;\n }\n .transform {\n transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);\n }\n .animate-pulse {\n animation: var(--animate-pulse);\n }\n .animate-spin {\n animation: var(--animate-spin);\n }\n .\\!cursor-default {\n cursor: default !important;\n }\n .cursor-crosshair {\n cursor: crosshair;\n }\n .cursor-default {\n cursor: default;\n }\n .cursor-grab {\n cursor: grab;\n }\n .cursor-not-allowed {\n cursor: not-allowed;\n }\n .cursor-pointer {\n cursor: pointer;\n }\n .touch-none {\n touch-action: none;\n }\n .resize {\n resize: both;\n }\n .resize-none {\n resize: none;\n }\n .snap-x {\n scroll-snap-type: x var(--tw-scroll-snap-strictness);\n }\n .snap-mandatory {\n --tw-scroll-snap-strictness: mandatory;\n }\n .list-inside {\n list-style-position: inside;\n }\n .list-disc {\n list-style-type: disc;\n }\n .list-none {\n list-style-type: none;\n }\n .appearance-none {\n appearance: none;\n }\n .grid-flow-row {\n grid-auto-flow: row;\n }\n .auto-rows-min {\n grid-auto-rows: min-content;\n }\n .grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n .grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n .grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n .grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n .grid-cols-5 {\n grid-template-columns: repeat(5, minmax(0, 1fr));\n }\n .grid-cols-\\[1fr_auto\\] {\n grid-template-columns: 1fr auto;\n }\n .grid-cols-\\[1fr_auto_auto\\] {\n grid-template-columns: 1fr auto auto;\n }\n .grid-cols-\\[1fr_auto_auto_auto\\] {\n grid-template-columns: 1fr auto auto auto;\n }\n .grid-cols-subgrid {\n grid-template-columns: subgrid;\n }\n .grid-rows-\\[auto_auto\\] {\n grid-template-rows: auto auto;\n }\n .grid-rows-\\[repeat\\(6\\,auto\\)\\] {\n grid-template-rows: repeat(6,auto);\n }\n .grid-rows-subgrid {\n grid-template-rows: subgrid;\n }\n .flex-col {\n flex-direction: column;\n }\n .flex-col-reverse {\n flex-direction: column-reverse;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .place-items-center {\n place-items: center;\n }\n .\\!items-start {\n align-items: flex-start !important;\n }\n .items-baseline {\n align-items: baseline;\n }\n .items-center {\n align-items: center;\n }\n .items-end {\n align-items: flex-end;\n }\n .items-start {\n align-items: flex-start;\n }\n .items-stretch {\n align-items: stretch;\n }\n .\\!justify-start {\n justify-content: flex-start !important;\n }\n .justify-around {\n justify-content: space-around;\n }\n .justify-between {\n justify-content: space-between;\n }\n .justify-center {\n justify-content: center;\n }\n .justify-end {\n justify-content: flex-end;\n }\n .justify-start {\n justify-content: flex-start;\n }\n .justify-stretch {\n justify-content: stretch;\n }\n .gap-0 {\n gap: calc(var(--spacing) * 0);\n }\n .gap-1 {\n gap: calc(var(--spacing) * 1);\n }\n .gap-1\\.5 {\n gap: calc(var(--spacing) * 1.5);\n }\n .gap-2 {\n gap: calc(var(--spacing) * 2);\n }\n .gap-2\\.5 {\n gap: calc(var(--spacing) * 2.5);\n }\n .gap-3 {\n gap: calc(var(--spacing) * 3);\n }\n .gap-4 {\n gap: calc(var(--spacing) * 4);\n }\n .gap-5 {\n gap: calc(var(--spacing) * 5);\n }\n .gap-6 {\n gap: calc(var(--spacing) * 6);\n }\n .gap-8 {\n gap: calc(var(--spacing) * 8);\n }\n .gap-10 {\n gap: calc(var(--spacing) * 10);\n }\n .gap-25 {\n gap: calc(var(--spacing) * 25);\n }\n .gap-\\[2px\\] {\n gap: 2px;\n }\n .gap-\\[4px\\] {\n gap: 4px;\n }\n .gap-\\[8px\\] {\n gap: 8px;\n }\n .gap-\\[10px\\] {\n gap: 10px;\n }\n .gap-\\[20px\\] {\n gap: 20px;\n }\n .gap-\\[48px\\] {\n gap: 48px;\n }\n .space-y-1 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-2 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-3 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-4 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-6 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-8 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .gap-x-1\\.5 {\n column-gap: calc(var(--spacing) * 1.5);\n }\n .gap-x-2 {\n column-gap: calc(var(--spacing) * 2);\n }\n .gap-x-2\\.5 {\n column-gap: calc(var(--spacing) * 2.5);\n }\n .gap-x-3 {\n column-gap: calc(var(--spacing) * 3);\n }\n .gap-x-4 {\n column-gap: calc(var(--spacing) * 4);\n }\n .gap-x-6 {\n column-gap: calc(var(--spacing) * 6);\n }\n .gap-x-12 {\n column-gap: calc(var(--spacing) * 12);\n }\n .-space-x-px {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(-1px * var(--tw-space-x-reverse));\n margin-inline-end: calc(-1px * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n .space-x-2 {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n .space-x-3 {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n .space-x-4 {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n .space-x-5 {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--spacing) * 5) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n .space-x-6 {\n :where(& > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--spacing) * 6) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-x-reverse)));\n }\n }\n .gap-y-2 {\n row-gap: calc(var(--spacing) * 2);\n }\n .gap-y-4 {\n row-gap: calc(var(--spacing) * 4);\n }\n .gap-y-5 {\n row-gap: calc(var(--spacing) * 5);\n }\n .gap-y-7 {\n row-gap: calc(var(--spacing) * 7);\n }\n .gap-y-8 {\n row-gap: calc(var(--spacing) * 8);\n }\n .divide-y {\n :where(& > :not(:last-child)) {\n --tw-divide-y-reverse: 0;\n border-bottom-style: var(--tw-border-style);\n border-top-style: var(--tw-border-style);\n border-top-width: calc(1px * var(--tw-divide-y-reverse));\n border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));\n }\n }\n .divide-gray-100 {\n :where(& > :not(:last-child)) {\n border-color: var(--color-gray-100);\n }\n }\n .divide-gray-200 {\n :where(& > :not(:last-child)) {\n border-color: var(--color-gray-200);\n }\n }\n .divide-gray-300 {\n :where(& > :not(:last-child)) {\n border-color: var(--color-gray-300);\n }\n }\n .self-center {\n align-self: center;\n }\n .self-start {\n align-self: flex-start;\n }\n .justify-self-end {\n justify-self: flex-end;\n }\n .justify-self-start {\n justify-self: flex-start;\n }\n .truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .overflow-auto {\n overflow: auto;\n }\n .overflow-hidden {\n overflow: hidden;\n }\n .overflow-x-auto {\n overflow-x: auto;\n }\n .overflow-x-hidden {\n overflow-x: hidden;\n }\n .overflow-y-auto {\n overflow-y: auto;\n }\n .rounded {\n border-radius: 0.25rem;\n }\n .rounded-2xl {\n border-radius: var(--radius-2xl);\n }\n .rounded-3xl {\n border-radius: var(--radius-3xl);\n }\n .rounded-\\[2px\\] {\n border-radius: 2px;\n }\n .rounded-\\[3px\\] {\n border-radius: 3px;\n }\n .rounded-\\[4px\\] {\n border-radius: 4px;\n }\n .rounded-\\[6px\\] {\n border-radius: 6px;\n }\n .rounded-\\[10px\\] {\n border-radius: 10px;\n }\n .rounded-\\[100\\%\\] {\n border-radius: 100%;\n }\n .rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .rounded-lg {\n border-radius: var(--radius-lg);\n }\n .rounded-md {\n border-radius: var(--radius-md);\n }\n .rounded-none {\n border-radius: 0;\n }\n .rounded-sm {\n border-radius: var(--radius-sm);\n }\n .rounded-xl {\n border-radius: var(--radius-xl);\n }\n .rounded-xs {\n border-radius: var(--radius-xs);\n }\n .rounded-t {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n }\n .rounded-t-md {\n border-top-left-radius: var(--radius-md);\n border-top-right-radius: var(--radius-md);\n }\n .rounded-l-md {\n border-top-left-radius: var(--radius-md);\n border-bottom-left-radius: var(--radius-md);\n }\n .rounded-l-none {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .rounded-r-md {\n border-top-right-radius: var(--radius-md);\n border-bottom-right-radius: var(--radius-md);\n }\n .rounded-r-none {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-0 {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n .border-1 {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-2 {\n border-style: var(--tw-border-style);\n border-width: 2px;\n }\n .border-3 {\n border-style: var(--tw-border-style);\n border-width: 3px;\n }\n .border-\\[0\\.5\\] {\n border-style: var(--tw-border-style);\n border-width: 0.5;\n }\n .border-\\[0\\.5px\\] {\n border-style: var(--tw-border-style);\n border-width: 0.5px;\n }\n .border-\\[1\\.5px\\] {\n border-style: var(--tw-border-style);\n border-width: 1.5px;\n }\n .border-y {\n border-block-style: var(--tw-border-style);\n border-block-width: 1px;\n }\n .border-t {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n .border-t-1 {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n .border-t-2 {\n border-top-style: var(--tw-border-style);\n border-top-width: 2px;\n }\n .border-r {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n .border-r-1 {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n .border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n .border-b-1 {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n .border-b-2 {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 2px;\n }\n .border-b-3 {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 3px;\n }\n .border-b-\\[0\\.5px\\] {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0.5px;\n }\n .border-l {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n .border-dashed {\n --tw-border-style: dashed;\n border-style: dashed;\n }\n .border-none {\n --tw-border-style: none;\n border-style: none;\n }\n .border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .border-black {\n border-color: var(--color-black);\n }\n .border-blue-200 {\n border-color: var(--color-blue-200);\n }\n .border-blue-600 {\n border-color: var(--color-blue-600);\n }\n .border-border {\n border-color: var(--color-border);\n }\n .border-gray-100 {\n border-color: var(--color-gray-100);\n }\n .border-gray-200 {\n border-color: var(--color-gray-200);\n }\n .border-gray-300 {\n border-color: var(--color-gray-300);\n }\n .border-gray-900\\/5 {\n border-color: color-mix(in srgb, oklch(21% 0.034 264.665) 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-gray-900) 5%, transparent);\n }\n }\n .border-gray-900\\/25 {\n border-color: color-mix(in srgb, oklch(21% 0.034 264.665) 25%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-gray-900) 25%, transparent);\n }\n }\n .border-green-500 {\n border-color: var(--color-green-500);\n }\n .border-input {\n border-color: var(--color-input);\n }\n .border-neutral-20 {\n border-color: var(--color-neutral-20);\n }\n .border-neutral-40 {\n border-color: var(--color-neutral-40);\n }\n .border-orange-200 {\n border-color: var(--color-orange-200);\n }\n .border-primary {\n border-color: var(--color-primary);\n }\n .border-primary\\/50 {\n border-color: color-mix(in srgb, #18181b 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-primary) 50%, transparent);\n }\n }\n .border-purple-200 {\n border-color: var(--color-purple-200);\n }\n .border-red-200 {\n border-color: var(--color-red-200);\n }\n .border-red-500 {\n border-color: var(--color-red-500);\n }\n .border-red-600 {\n border-color: var(--color-red-600);\n }\n .border-sidebar-ring {\n border-color: var(--color-sidebar-ring);\n }\n .border-slate-300 {\n border-color: var(--color-slate-300);\n }\n .border-slate-400 {\n border-color: var(--color-slate-400);\n }\n .border-transparent {\n border-color: transparent;\n }\n .border-white {\n border-color: var(--color-white);\n }\n .border-yellow-200 {\n border-color: var(--color-yellow-200);\n }\n .border-b-transparent {\n border-bottom-color: transparent;\n }\n .\\!bg-\\[\\#1877F2\\] {\n background-color: #1877F2 !important;\n }\n .\\!bg-\\[\\#ff7a59\\] {\n background-color: #ff7a59 !important;\n }\n .bg-\\[\\#0001\\] {\n background-color: #0001;\n }\n .bg-\\[\\#fffa\\] {\n background-color: #fffa;\n }\n .bg-\\[\\#ffffff\\] {\n background-color: #ffffff;\n }\n .bg-accent {\n background-color: var(--color-accent);\n }\n .bg-background {\n background-color: var(--color-background);\n }\n .bg-black {\n background-color: var(--color-black);\n }\n .bg-black\\/40 {\n background-color: color-mix(in srgb, #000 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 40%, transparent);\n }\n }\n .bg-black\\/50 {\n background-color: color-mix(in srgb, #000 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 50%, transparent);\n }\n }\n .bg-blue-10 {\n background-color: var(--color-blue-10);\n }\n .bg-blue-20 {\n background-color: var(--color-blue-20);\n }\n .bg-blue-30 {\n background-color: var(--color-blue-30);\n }\n .bg-blue-40 {\n background-color: var(--color-blue-40);\n }\n .bg-blue-50 {\n background-color: var(--color-blue-50);\n }\n .bg-blue-60 {\n background-color: var(--color-blue-60);\n }\n .bg-blue-70 {\n background-color: var(--color-blue-70);\n }\n .bg-blue-80 {\n background-color: var(--color-blue-80);\n }\n .bg-blue-90 {\n background-color: var(--color-blue-90);\n }\n .bg-blue-100 {\n background-color: var(--color-blue-100);\n }\n .bg-blue-200 {\n background-color: var(--color-blue-200);\n }\n .bg-blue-300 {\n background-color: var(--color-blue-300);\n }\n .bg-blue-600 {\n background-color: var(--color-blue-600);\n }\n .bg-border {\n background-color: var(--color-border);\n }\n .bg-card {\n background-color: var(--color-card);\n }\n .bg-destructive {\n background-color: var(--color-destructive);\n }\n .bg-gray-50 {\n background-color: var(--color-gray-50);\n }\n .bg-gray-100 {\n background-color: var(--color-gray-100);\n }\n .bg-gray-200 {\n background-color: var(--color-gray-200);\n }\n .bg-gray-300 {\n background-color: var(--color-gray-300);\n }\n .bg-gray-500 {\n background-color: var(--color-gray-500);\n }\n .bg-gray-500\\/75 {\n background-color: color-mix(in srgb, oklch(55.1% 0.027 264.364) 75%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-gray-500) 75%, transparent);\n }\n }\n .bg-gray-900\\/80 {\n background-color: color-mix(in srgb, oklch(21% 0.034 264.665) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-gray-900) 80%, transparent);\n }\n }\n .bg-green-50 {\n background-color: var(--color-green-50);\n }\n .bg-green-100 {\n background-color: var(--color-green-100);\n }\n .bg-green-500 {\n background-color: var(--color-green-500);\n }\n .bg-green-600 {\n background-color: var(--color-green-600);\n }\n .bg-muted {\n background-color: var(--color-muted);\n }\n .bg-muted\\/50 {\n background-color: color-mix(in srgb, #f7f7f6 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 50%, transparent);\n }\n }\n .bg-neutral-10 {\n background-color: var(--color-neutral-10);\n }\n .bg-neutral-20 {\n background-color: var(--color-neutral-20);\n }\n .bg-neutral-30 {\n background-color: var(--color-neutral-30);\n }\n .bg-neutral-40 {\n background-color: var(--color-neutral-40);\n }\n .bg-neutral-50 {\n background-color: var(--color-neutral-50);\n }\n .bg-neutral-60 {\n background-color: var(--color-neutral-60);\n }\n .bg-neutral-70 {\n background-color: var(--color-neutral-70);\n }\n .bg-neutral-80 {\n background-color: var(--color-neutral-80);\n }\n .bg-neutral-90 {\n background-color: var(--color-neutral-90);\n }\n .bg-neutral-100 {\n background-color: var(--color-neutral-100);\n }\n .bg-neutral-950 {\n background-color: var(--color-neutral-950);\n }\n .bg-orange-10 {\n background-color: var(--color-orange-10);\n }\n .bg-orange-20 {\n background-color: var(--color-orange-20);\n }\n .bg-orange-30 {\n background-color: var(--color-orange-30);\n }\n .bg-orange-40 {\n background-color: var(--color-orange-40);\n }\n .bg-orange-50 {\n background-color: var(--color-orange-50);\n }\n .bg-orange-60 {\n background-color: var(--color-orange-60);\n }\n .bg-orange-70 {\n background-color: var(--color-orange-70);\n }\n .bg-orange-80 {\n background-color: var(--color-orange-80);\n }\n .bg-orange-90 {\n background-color: var(--color-orange-90);\n }\n .bg-orange-100 {\n background-color: var(--color-orange-100);\n }\n .bg-pink-100 {\n background-color: var(--color-pink-100);\n }\n .bg-primary {\n background-color: var(--color-primary);\n }\n .bg-purple-50 {\n background-color: var(--color-purple-50);\n }\n .bg-purple-600 {\n background-color: var(--color-purple-600);\n }\n .bg-red-50 {\n background-color: var(--color-red-50);\n }\n .bg-red-100 {\n background-color: var(--color-red-100);\n }\n .bg-red-300 {\n background-color: var(--color-red-300);\n }\n .bg-red-600 {\n background-color: var(--color-red-600);\n }\n .bg-secondary {\n background-color: var(--color-secondary);\n }\n .bg-slate-50 {\n background-color: var(--color-slate-50);\n }\n .bg-slate-100 {\n background-color: var(--color-slate-100);\n }\n .bg-transparent {\n background-color: transparent;\n }\n .bg-violet-200 {\n background-color: var(--color-violet-200);\n }\n .bg-white {\n background-color: var(--color-white);\n }\n .bg-yellow-50 {\n background-color: var(--color-yellow-50);\n }\n .bg-yellow-100 {\n background-color: var(--color-yellow-100);\n }\n .bg-yellow-600 {\n background-color: var(--color-yellow-600);\n }\n .bg-yellow-900 {\n background-color: var(--color-yellow-900);\n }\n .bg-linear-to-r {\n --tw-gradient-position: to right;\n @supports (background-image: linear-gradient(in lab, red, red)) {\n --tw-gradient-position: to right in oklab;\n }\n background-image: linear-gradient(var(--tw-gradient-stops));\n }\n .bg-gradient-to-b {\n --tw-gradient-position: to bottom in oklab;\n background-image: linear-gradient(var(--tw-gradient-stops));\n }\n .bg-gradient-to-t {\n --tw-gradient-position: to top in oklab;\n background-image: linear-gradient(var(--tw-gradient-stops));\n }\n .bg-\\[linear-gradient\\(90deg\\,\\#FF0000\\,\\#FFFF00\\,\\#00FF00\\,\\#00FFFF\\,\\#0000FF\\,\\#FF00FF\\,\\#FF0000\\)\\] {\n background-image: linear-gradient(90deg,#FF0000,#FFFF00,#00FF00,#00FFFF,#0000FF,#FF00FF,#FF0000);\n }\n .bg-none {\n background-image: none;\n }\n .from-\\[\\#2B5876\\] {\n --tw-gradient-from: #2B5876;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .from-cyan-500 {\n --tw-gradient-from: var(--color-cyan-500);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .from-transparent {\n --tw-gradient-from: transparent;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .from-white {\n --tw-gradient-from: var(--color-white);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-\\[\\#4E4376\\] {\n --tw-gradient-to: #4E4376;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-black\\/50 {\n --tw-gradient-to: color-mix(in srgb, #000 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-gradient-to: color-mix(in oklab, var(--color-black) 50%, transparent);\n }\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-blue-500 {\n --tw-gradient-to: var(--color-blue-500);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-transparent {\n --tw-gradient-to: transparent;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .bg-cover {\n background-size: cover;\n }\n .bg-center {\n background-position: center;\n }\n .fill-blue-500 {\n fill: var(--color-blue-500);\n }\n .fill-current {\n fill: currentcolor;\n }\n .fill-green-500 {\n fill: var(--color-green-500);\n }\n .fill-primary {\n fill: var(--color-primary);\n }\n .fill-red-500 {\n fill: var(--color-red-500);\n }\n .fill-slate-500 {\n fill: var(--color-slate-500);\n }\n .stroke-slate-500 {\n stroke: var(--color-slate-500);\n }\n .object-contain {\n object-fit: contain;\n }\n .object-cover {\n object-fit: cover;\n }\n .object-center {\n object-position: center;\n }\n .p-0 {\n padding: calc(var(--spacing) * 0);\n }\n .p-0\\.5 {\n padding: calc(var(--spacing) * 0.5);\n }\n .p-1 {\n padding: calc(var(--spacing) * 1);\n }\n .p-1\\.5 {\n padding: calc(var(--spacing) * 1.5);\n }\n .p-2 {\n padding: calc(var(--spacing) * 2);\n }\n .p-2\\.5 {\n padding: calc(var(--spacing) * 2.5);\n }\n .p-3 {\n padding: calc(var(--spacing) * 3);\n }\n .p-4 {\n padding: calc(var(--spacing) * 4);\n }\n .p-5 {\n padding: calc(var(--spacing) * 5);\n }\n .p-6 {\n padding: calc(var(--spacing) * 6);\n }\n .p-7 {\n padding: calc(var(--spacing) * 7);\n }\n .p-8 {\n padding: calc(var(--spacing) * 8);\n }\n .p-10 {\n padding: calc(var(--spacing) * 10);\n }\n .p-16 {\n padding: calc(var(--spacing) * 16);\n }\n .p-1234 {\n padding: calc(var(--spacing) * 1234);\n }\n .p-4321 {\n padding: calc(var(--spacing) * 4321);\n }\n .p-9999 {\n padding: calc(var(--spacing) * 9999);\n }\n .p-\\[12px\\] {\n padding: 12px;\n }\n .p-\\[20px\\] {\n padding: 20px;\n }\n .px-0 {\n padding-inline: calc(var(--spacing) * 0);\n }\n .px-1 {\n padding-inline: calc(var(--spacing) * 1);\n }\n .px-2 {\n padding-inline: calc(var(--spacing) * 2);\n }\n .px-2\\.5 {\n padding-inline: calc(var(--spacing) * 2.5);\n }\n .px-3 {\n padding-inline: calc(var(--spacing) * 3);\n }\n .px-3\\.5 {\n padding-inline: calc(var(--spacing) * 3.5);\n }\n .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n .px-5 {\n padding-inline: calc(var(--spacing) * 5);\n }\n .px-6 {\n padding-inline: calc(var(--spacing) * 6);\n }\n .px-7 {\n padding-inline: calc(var(--spacing) * 7);\n }\n .px-8 {\n padding-inline: calc(var(--spacing) * 8);\n }\n .px-11 {\n padding-inline: calc(var(--spacing) * 11);\n }\n .px-16 {\n padding-inline: calc(var(--spacing) * 16);\n }\n .px-20 {\n padding-inline: calc(var(--spacing) * 20);\n }\n .px-\\[10px\\] {\n padding-inline: 10px;\n }\n .px-\\[18px\\] {\n padding-inline: 18px;\n }\n .px-\\[20px\\] {\n padding-inline: 20px;\n }\n .px-\\[30px\\] {\n padding-inline: 30px;\n }\n .px-\\[40px\\] {\n padding-inline: 40px;\n }\n .py-0\\.5 {\n padding-block: calc(var(--spacing) * 0.5);\n }\n .py-1 {\n padding-block: calc(var(--spacing) * 1);\n }\n .py-1\\.5 {\n padding-block: calc(var(--spacing) * 1.5);\n }\n .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n .py-2\\.5 {\n padding-block: calc(var(--spacing) * 2.5);\n }\n .py-3 {\n padding-block: calc(var(--spacing) * 3);\n }\n .py-3\\.5 {\n padding-block: calc(var(--spacing) * 3.5);\n }\n .py-4 {\n padding-block: calc(var(--spacing) * 4);\n }\n .py-5 {\n padding-block: calc(var(--spacing) * 5);\n }\n .py-6 {\n padding-block: calc(var(--spacing) * 6);\n }\n .py-9 {\n padding-block: calc(var(--spacing) * 9);\n }\n .py-10 {\n padding-block: calc(var(--spacing) * 10);\n }\n .py-22 {\n padding-block: calc(var(--spacing) * 22);\n }\n .py-24 {\n padding-block: calc(var(--spacing) * 24);\n }\n .py-\\[8px\\] {\n padding-block: 8px;\n }\n .py-\\[20px\\] {\n padding-block: 20px;\n }\n .pt-0 {\n padding-top: calc(var(--spacing) * 0);\n }\n .pt-0\\.5 {\n padding-top: calc(var(--spacing) * 0.5);\n }\n .pt-2 {\n padding-top: calc(var(--spacing) * 2);\n }\n .pt-4 {\n padding-top: calc(var(--spacing) * 4);\n }\n .pt-5 {\n padding-top: calc(var(--spacing) * 5);\n }\n .pt-6 {\n padding-top: calc(var(--spacing) * 6);\n }\n .pt-8 {\n padding-top: calc(var(--spacing) * 8);\n }\n .pt-10 {\n padding-top: calc(var(--spacing) * 10);\n }\n .pt-11 {\n padding-top: calc(var(--spacing) * 11);\n }\n .pt-16 {\n padding-top: calc(var(--spacing) * 16);\n }\n .pr-0 {\n padding-right: calc(var(--spacing) * 0);\n }\n .pr-1 {\n padding-right: calc(var(--spacing) * 1);\n }\n .pr-2 {\n padding-right: calc(var(--spacing) * 2);\n }\n .pr-3 {\n padding-right: calc(var(--spacing) * 3);\n }\n .pr-4 {\n padding-right: calc(var(--spacing) * 4);\n }\n .pr-5 {\n padding-right: calc(var(--spacing) * 5);\n }\n .pr-6 {\n padding-right: calc(var(--spacing) * 6);\n }\n .pr-8 {\n padding-right: calc(var(--spacing) * 8);\n }\n .pr-9 {\n padding-right: calc(var(--spacing) * 9);\n }\n .pb-0 {\n padding-bottom: calc(var(--spacing) * 0);\n }\n .pb-1 {\n padding-bottom: calc(var(--spacing) * 1);\n }\n .pb-2 {\n padding-bottom: calc(var(--spacing) * 2);\n }\n .pb-3 {\n padding-bottom: calc(var(--spacing) * 3);\n }\n .pb-4 {\n padding-bottom: calc(var(--spacing) * 4);\n }\n .pb-5 {\n padding-bottom: calc(var(--spacing) * 5);\n }\n .pb-6 {\n padding-bottom: calc(var(--spacing) * 6);\n }\n .pb-8 {\n padding-bottom: calc(var(--spacing) * 8);\n }\n .pb-15 {\n padding-bottom: calc(var(--spacing) * 15);\n }\n .pl-0 {\n padding-left: calc(var(--spacing) * 0);\n }\n .pl-1 {\n padding-left: calc(var(--spacing) * 1);\n }\n .pl-2 {\n padding-left: calc(var(--spacing) * 2);\n }\n .pl-3 {\n padding-left: calc(var(--spacing) * 3);\n }\n .pl-3\\.5 {\n padding-left: calc(var(--spacing) * 3.5);\n }\n .pl-4 {\n padding-left: calc(var(--spacing) * 4);\n }\n .pl-5 {\n padding-left: calc(var(--spacing) * 5);\n }\n .pl-8 {\n padding-left: calc(var(--spacing) * 8);\n }\n .pl-9 {\n padding-left: calc(var(--spacing) * 9);\n }\n .pl-11 {\n padding-left: calc(var(--spacing) * 11);\n }\n .text-center {\n text-align: center;\n }\n .text-left {\n text-align: left;\n }\n .text-right {\n text-align: right;\n }\n .text-start {\n text-align: start;\n }\n .align-baseline {\n vertical-align: baseline;\n }\n .align-middle {\n vertical-align: middle;\n }\n .font-mono {\n font-family: var(--font-mono);\n }\n .text-2xl {\n font-size: var(--text-2xl);\n line-height: var(--tw-leading, var(--text-2xl--line-height));\n }\n .text-3xl {\n font-size: var(--text-3xl);\n line-height: var(--tw-leading, var(--text-3xl--line-height));\n }\n .text-4xl {\n font-size: var(--text-4xl);\n line-height: var(--tw-leading, var(--text-4xl--line-height));\n }\n .text-5xl {\n font-size: var(--text-5xl);\n line-height: var(--tw-leading, var(--text-5xl--line-height));\n }\n .text-base {\n font-size: var(--text-base);\n line-height: var(--tw-leading, var(--text-base--line-height));\n }\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n .text-sm {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n .text-sm\\/6 {\n font-size: var(--text-sm);\n line-height: calc(var(--spacing) * 6);\n }\n .text-xl {\n font-size: var(--text-xl);\n line-height: var(--tw-leading, var(--text-xl--line-height));\n }\n .text-xl\\/7 {\n font-size: var(--text-xl);\n line-height: calc(var(--spacing) * 7);\n }\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n .text-xs\\/5 {\n font-size: var(--text-xs);\n line-height: calc(var(--spacing) * 5);\n }\n .text-\\[0\\.8rem\\] {\n font-size: 0.8rem;\n }\n .text-\\[0\\.85em\\] {\n font-size: 0.85em;\n }\n .text-\\[12px\\] {\n font-size: 12px;\n }\n .text-\\[14px\\] {\n font-size: 14px;\n }\n .text-\\[18px\\] {\n font-size: 18px;\n }\n .text-\\[28px\\] {\n font-size: 28px;\n }\n .leading-4 {\n --tw-leading: calc(var(--spacing) * 4);\n line-height: calc(var(--spacing) * 4);\n }\n .leading-5 {\n --tw-leading: calc(var(--spacing) * 5);\n line-height: calc(var(--spacing) * 5);\n }\n .leading-6 {\n --tw-leading: calc(var(--spacing) * 6);\n line-height: calc(var(--spacing) * 6);\n }\n .leading-7 {\n --tw-leading: calc(var(--spacing) * 7);\n line-height: calc(var(--spacing) * 7);\n }\n .leading-8 {\n --tw-leading: calc(var(--spacing) * 8);\n line-height: calc(var(--spacing) * 8);\n }\n .leading-9 {\n --tw-leading: calc(var(--spacing) * 9);\n line-height: calc(var(--spacing) * 9);\n }\n .leading-\\[1\\] {\n --tw-leading: 1;\n line-height: 1;\n }\n .leading-\\[24px\\] {\n --tw-leading: 24px;\n line-height: 24px;\n }\n .leading-\\[36px\\] {\n --tw-leading: 36px;\n line-height: 36px;\n }\n .leading-none {\n --tw-leading: 1;\n line-height: 1;\n }\n .leading-normal {\n --tw-leading: var(--leading-normal);\n line-height: var(--leading-normal);\n }\n .leading-tight {\n --tw-leading: var(--leading-tight);\n line-height: var(--leading-tight);\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .font-medium {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n .font-normal {\n --tw-font-weight: var(--font-weight-normal);\n font-weight: var(--font-weight-normal);\n }\n .font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n .tracking-tight {\n --tw-tracking: var(--tracking-tight);\n letter-spacing: var(--tracking-tight);\n }\n .tracking-widest {\n --tw-tracking: var(--tracking-widest);\n letter-spacing: var(--tracking-widest);\n }\n .text-balance {\n text-wrap: balance;\n }\n .text-pretty {\n text-wrap: pretty;\n }\n .text-wrap {\n text-wrap: wrap;\n }\n .break-words {\n overflow-wrap: break-word;\n }\n .break-all {\n word-break: break-all;\n }\n .text-ellipsis {\n text-overflow: ellipsis;\n }\n .whitespace-normal {\n white-space: normal;\n }\n .whitespace-nowrap {\n white-space: nowrap;\n }\n .whitespace-pre-wrap {\n white-space: pre-wrap;\n }\n .\\!text-white {\n color: var(--color-white) !important;\n }\n .text-\\[\\#666\\] {\n color: #666;\n }\n .text-\\[rgba\\(17\\,17\\,17\\,0\\.32\\)\\] {\n color: rgba(17,17,17,0.32);\n }\n .text-accent-foreground {\n color: var(--color-accent-foreground);\n }\n .text-background {\n color: var(--color-background);\n }\n .text-black {\n color: var(--color-black);\n }\n .text-blue-50 {\n color: var(--color-blue-50);\n }\n .text-blue-300 {\n color: var(--color-blue-300);\n }\n .text-blue-400 {\n color: var(--color-blue-400);\n }\n .text-blue-500 {\n color: var(--color-blue-500);\n }\n .text-blue-600 {\n color: var(--color-blue-600);\n }\n .text-blue-700 {\n color: var(--color-blue-700);\n }\n .text-blue-800 {\n color: var(--color-blue-800);\n }\n .text-card-foreground {\n color: var(--color-card-foreground);\n }\n .text-current {\n color: currentcolor;\n }\n .text-destructive {\n color: var(--color-destructive);\n }\n .text-destructive-foreground {\n color: var(--color-destructive-foreground);\n }\n .text-gray-300 {\n color: var(--color-gray-300);\n }\n .text-gray-400 {\n color: var(--color-gray-400);\n }\n .text-gray-500 {\n color: var(--color-gray-500);\n }\n .text-gray-600 {\n color: var(--color-gray-600);\n }\n .text-gray-700 {\n color: var(--color-gray-700);\n }\n .text-gray-800 {\n color: var(--color-gray-800);\n }\n .text-gray-900 {\n color: var(--color-gray-900);\n }\n .text-green-400 {\n color: var(--color-green-400);\n }\n .text-green-500 {\n color: var(--color-green-500);\n }\n .text-green-600 {\n color: var(--color-green-600);\n }\n .text-green-700 {\n color: var(--color-green-700);\n }\n .text-green-800 {\n color: var(--color-green-800);\n }\n .text-muted-foreground {\n color: var(--color-muted-foreground);\n }\n .text-neutral-70 {\n color: var(--color-neutral-70);\n }\n .text-neutral-80 {\n color: var(--color-neutral-80);\n }\n .text-neutral-100 {\n color: var(--color-neutral-100);\n }\n .text-neutral-600 {\n color: var(--color-neutral-600);\n }\n .text-neutral-950 {\n color: var(--color-neutral-950);\n }\n .text-orange-50 {\n color: var(--color-orange-50);\n }\n .text-orange-700 {\n color: var(--color-orange-700);\n }\n .text-pink-800 {\n color: var(--color-pink-800);\n }\n .text-primary {\n color: var(--color-primary);\n }\n .text-primary-foreground {\n color: var(--color-primary-foreground);\n }\n .text-purple-600 {\n color: var(--color-purple-600);\n }\n .text-purple-700 {\n color: var(--color-purple-700);\n }\n .text-red-300 {\n color: var(--color-red-300);\n }\n .text-red-400 {\n color: var(--color-red-400);\n }\n .text-red-500 {\n color: var(--color-red-500);\n }\n .text-red-600 {\n color: var(--color-red-600);\n }\n .text-red-700 {\n color: var(--color-red-700);\n }\n .text-red-800 {\n color: var(--color-red-800);\n }\n .text-red-900 {\n color: var(--color-red-900);\n }\n .text-secondary-foreground {\n color: var(--color-secondary-foreground);\n }\n .text-slate-500 {\n color: var(--color-slate-500);\n }\n .text-slate-600 {\n color: var(--color-slate-600);\n }\n .text-slate-700 {\n color: var(--color-slate-700);\n }\n .text-slate-800 {\n color: var(--color-slate-800);\n }\n .text-slate-950 {\n color: var(--color-slate-950);\n }\n .text-violet-600 {\n color: var(--color-violet-600);\n }\n .text-white {\n color: var(--color-white);\n }\n .text-yellow-400 {\n color: var(--color-yellow-400);\n }\n .text-yellow-600 {\n color: var(--color-yellow-600);\n }\n .text-yellow-700 {\n color: var(--color-yellow-700);\n }\n .text-yellow-800 {\n color: var(--color-yellow-800);\n }\n .text-yellow-900 {\n color: var(--color-yellow-900);\n }\n .capitalize {\n text-transform: capitalize;\n }\n .lowercase {\n text-transform: lowercase;\n }\n .uppercase {\n text-transform: uppercase;\n }\n .italic {\n font-style: italic;\n }\n .tabular-nums {\n --tw-numeric-spacing: tabular-nums;\n font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);\n }\n .line-through {\n text-decoration-line: line-through;\n }\n .no-underline {\n text-decoration-line: none;\n }\n .underline {\n text-decoration-line: underline;\n }\n .decoration-solid {\n text-decoration-style: solid;\n }\n .underline-offset-4 {\n text-underline-offset: 4px;\n }\n .caret-red-600 {\n caret-color: var(--color-red-600);\n }\n .opacity-0 {\n opacity: 0%;\n }\n .opacity-50 {\n opacity: 50%;\n }\n .opacity-60 {\n opacity: 60%;\n }\n .opacity-70 {\n opacity: 70%;\n }\n .shadow {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow\\! {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)) !important;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;\n }\n .shadow-\\[0_0_0_1px_hsl\\(var\\(--sidebar-border\\)\\)\\] {\n --tw-shadow: 0 0 0 1px var(--tw-shadow-color, hsl(var(--sidebar-border)));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-\\[0_3px_10px_rgba\\(0\\,0\\,0\\,0\\.14\\)\\] {\n --tw-shadow: 0 3px 10px var(--tw-shadow-color, rgba(0,0,0,0.14));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-md {\n --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-none {\n --tw-shadow: 0 0 #0000;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-sm {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-xl {\n --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-xs {\n --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring-0 {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring-1 {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring-gray-300 {\n --tw-ring-color: var(--color-gray-300);\n }\n .ring-gray-900\\/10 {\n --tw-ring-color: color-mix(in srgb, oklch(21% 0.034 264.665) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-gray-900) 10%, transparent);\n }\n }\n .ring-sidebar-ring {\n --tw-ring-color: var(--color-sidebar-ring);\n }\n .ring-offset-background {\n --tw-ring-offset-color: var(--color-background);\n }\n .outline-hidden {\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n }\n .outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .outline-1 {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .-outline-offset-1 {\n outline-offset: calc(1px * -1);\n }\n .outline-gray-300 {\n outline-color: var(--color-gray-300);\n }\n .outline-red-300 {\n outline-color: var(--color-red-300);\n }\n .blur {\n --tw-blur: blur(8px);\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .drop-shadow-md {\n --tw-drop-shadow-size: drop-shadow(0 3px 3px var(--tw-drop-shadow-color, rgb(0 0 0 / 0.12)));\n --tw-drop-shadow: drop-shadow(var(--drop-shadow-md));\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .invert {\n --tw-invert: invert(100%);\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .\\!filter {\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,) !important;\n }\n .filter {\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .filter\\! {\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,) !important;\n }\n .backdrop-blur-sm {\n --tw-backdrop-blur: blur(var(--blur-sm));\n -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n }\n .backdrop-filter {\n -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);\n }\n .transition {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[color\\,box-shadow\\] {\n transition-property: color,box-shadow;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[left\\,right\\,width\\] {\n transition-property: left,right,width;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[margin\\,opacity\\] {\n transition-property: margin,opacity;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[width\\,height\\,padding\\] {\n transition-property: width,height,padding;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-\\[width\\] {\n transition-property: width;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-all {\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-opacity {\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-shadow {\n transition-property: box-shadow;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-transform {\n transition-property: transform, translate, scale, rotate;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-none {\n transition-property: none;\n }\n .duration-100 {\n --tw-duration: 100ms;\n transition-duration: 100ms;\n }\n .duration-150 {\n --tw-duration: 150ms;\n transition-duration: 150ms;\n }\n .duration-200 {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n }\n .duration-300 {\n --tw-duration: 300ms;\n transition-duration: 300ms;\n }\n .ease-in {\n --tw-ease: var(--ease-in);\n transition-timing-function: var(--ease-in);\n }\n .ease-in-out {\n --tw-ease: var(--ease-in-out);\n transition-timing-function: var(--ease-in-out);\n }\n .ease-linear {\n --tw-ease: linear;\n transition-timing-function: linear;\n }\n .ease-out {\n --tw-ease: var(--ease-out);\n transition-timing-function: var(--ease-out);\n }\n .outline-none {\n --tw-outline-style: none;\n outline-style: none;\n }\n .select-none {\n -webkit-user-select: none;\n user-select: none;\n }\n .\\[-ms-overflow-style\\:none\\] {\n -ms-overflow-style: none;\n }\n .\\[-webkit-overflow-scrolling\\:touch\\] {\n -webkit-overflow-scrolling: touch;\n }\n .\\[scrollbar-width\\:none\\] {\n scrollbar-width: none;\n }\n .ring-inset {\n --tw-ring-inset: inset;\n }\n .group-focus-within\\/menu-item\\:opacity-100 {\n &:is(:where(.group\\/menu-item):focus-within *) {\n opacity: 100%;\n }\n }\n .group-hover\\:text-blue-600 {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n color: var(--color-blue-600);\n }\n }\n }\n .group-hover\\/menu-item\\:opacity-100 {\n &:is(:where(.group\\/menu-item):hover *) {\n @media (hover: hover) {\n opacity: 100%;\n }\n }\n }\n .group-has-data-\\[sidebar\\=menu-action\\]\\/menu-item\\:pr-8 {\n &:is(:where(.group\\/menu-item):has(*[data-sidebar=\"menu-action\"]) *) {\n padding-right: calc(var(--spacing) * 8);\n }\n }\n .group-data-\\[checked\\]\\:translate-x-5 {\n &:is(:where(.group)[data-checked] *) {\n --tw-translate-x: calc(var(--spacing) * 5);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .group-data-\\[checked\\]\\:opacity-0 {\n &:is(:where(.group)[data-checked] *) {\n opacity: 0%;\n }\n }\n .group-data-\\[checked\\]\\:opacity-100 {\n &:is(:where(.group)[data-checked] *) {\n opacity: 100%;\n }\n }\n .group-data-\\[checked\\]\\:duration-100 {\n &:is(:where(.group)[data-checked] *) {\n --tw-duration: 100ms;\n transition-duration: 100ms;\n }\n }\n .group-data-\\[checked\\]\\:duration-200 {\n &:is(:where(.group)[data-checked] *) {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n }\n }\n .group-data-\\[checked\\]\\:ease-in {\n &:is(:where(.group)[data-checked] *) {\n --tw-ease: var(--ease-in);\n transition-timing-function: var(--ease-in);\n }\n }\n .group-data-\\[checked\\]\\:ease-out {\n &:is(:where(.group)[data-checked] *) {\n --tw-ease: var(--ease-out);\n transition-timing-function: var(--ease-out);\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:-mt-8 {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n margin-top: calc(var(--spacing) * -8);\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:hidden {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n display: none;\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:size-8\\! {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n width: calc(var(--spacing) * 8) !important;\n height: calc(var(--spacing) * 8) !important;\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:w-\\(--sidebar-width-icon\\) {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n width: var(--sidebar-width-icon);\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:w-\\[calc\\(var\\(--sidebar-width-icon\\)\\+\\(--spacing\\(4\\)\\)\\)\\] {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n width: calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)));\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:w-\\[calc\\(var\\(--sidebar-width-icon\\)\\+\\(--spacing\\(4\\)\\)\\+2px\\)\\] {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n width: calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)) + 2px);\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:overflow-hidden {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n overflow: hidden;\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:p-0\\! {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n padding: calc(var(--spacing) * 0) !important;\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:p-2\\! {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n padding: calc(var(--spacing) * 2) !important;\n }\n }\n .group-data-\\[collapsible\\=icon\\]\\:opacity-0 {\n &:is(:where(.group)[data-collapsible=\"icon\"] *) {\n opacity: 0%;\n }\n }\n .group-data-\\[collapsible\\=offcanvas\\]\\:right-\\[calc\\(var\\(--sidebar-width\\)\\*-1\\)\\] {\n &:is(:where(.group)[data-collapsible=\"offcanvas\"] *) {\n right: calc(var(--sidebar-width) * -1);\n }\n }\n .group-data-\\[collapsible\\=offcanvas\\]\\:left-\\[calc\\(var\\(--sidebar-width\\)\\*-1\\)\\] {\n &:is(:where(.group)[data-collapsible=\"offcanvas\"] *) {\n left: calc(var(--sidebar-width) * -1);\n }\n }\n .group-data-\\[collapsible\\=offcanvas\\]\\:w-0 {\n &:is(:where(.group)[data-collapsible=\"offcanvas\"] *) {\n width: calc(var(--spacing) * 0);\n }\n }\n .group-data-\\[collapsible\\=offcanvas\\]\\:translate-x-0 {\n &:is(:where(.group)[data-collapsible=\"offcanvas\"] *) {\n --tw-translate-x: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .group-data-\\[side\\=left\\]\\:-right-4 {\n &:is(:where(.group)[data-side=\"left\"] *) {\n right: calc(var(--spacing) * -4);\n }\n }\n .group-data-\\[side\\=left\\]\\:border-r {\n &:is(:where(.group)[data-side=\"left\"] *) {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n }\n .group-data-\\[side\\=right\\]\\:left-0 {\n &:is(:where(.group)[data-side=\"right\"] *) {\n left: calc(var(--spacing) * 0);\n }\n }\n .group-data-\\[side\\=right\\]\\:rotate-180 {\n &:is(:where(.group)[data-side=\"right\"] *) {\n rotate: 180deg;\n }\n }\n .group-data-\\[side\\=right\\]\\:border-l {\n &:is(:where(.group)[data-side=\"right\"] *) {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n }\n .group-data-\\[variant\\=floating\\]\\:rounded-lg {\n &:is(:where(.group)[data-variant=\"floating\"] *) {\n border-radius: var(--radius-lg);\n }\n }\n .group-data-\\[variant\\=floating\\]\\:border {\n &:is(:where(.group)[data-variant=\"floating\"] *) {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n }\n .group-data-\\[variant\\=floating\\]\\:shadow-sm {\n &:is(:where(.group)[data-variant=\"floating\"] *) {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .peer-disabled\\:cursor-not-allowed {\n &:is(:where(.peer):disabled ~ *) {\n cursor: not-allowed;\n }\n }\n .peer-disabled\\:opacity-70 {\n &:is(:where(.peer):disabled ~ *) {\n opacity: 70%;\n }\n }\n .peer-data-\\[size\\=default\\]\\/menu-button\\:top-1\\.5 {\n &:is(:where(.peer\\/menu-button)[data-size=\"default\"] ~ *) {\n top: calc(var(--spacing) * 1.5);\n }\n }\n .peer-data-\\[size\\=lg\\]\\/menu-button\\:top-2\\.5 {\n &:is(:where(.peer\\/menu-button)[data-size=\"lg\"] ~ *) {\n top: calc(var(--spacing) * 2.5);\n }\n }\n .peer-data-\\[size\\=sm\\]\\/menu-button\\:top-1 {\n &:is(:where(.peer\\/menu-button)[data-size=\"sm\"] ~ *) {\n top: calc(var(--spacing) * 1);\n }\n }\n .selection\\:bg-primary {\n & *::selection {\n background-color: var(--color-primary);\n }\n &::selection {\n background-color: var(--color-primary);\n }\n }\n .selection\\:text-primary-foreground {\n & *::selection {\n color: var(--color-primary-foreground);\n }\n &::selection {\n color: var(--color-primary-foreground);\n }\n }\n .file\\:inline-flex {\n &::file-selector-button {\n display: inline-flex;\n }\n }\n .file\\:h-7 {\n &::file-selector-button {\n height: calc(var(--spacing) * 7);\n }\n }\n .file\\:border-0 {\n &::file-selector-button {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n }\n .file\\:bg-transparent {\n &::file-selector-button {\n background-color: transparent;\n }\n }\n .file\\:text-sm {\n &::file-selector-button {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .file\\:font-medium {\n &::file-selector-button {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n }\n .placeholder\\:text-gray-400 {\n &::placeholder {\n color: var(--color-gray-400);\n }\n }\n .placeholder\\:text-muted-foreground {\n &::placeholder {\n color: var(--color-muted-foreground);\n }\n }\n .placeholder\\:text-red-300 {\n &::placeholder {\n color: var(--color-red-300);\n }\n }\n .before\\:absolute {\n &::before {\n content: var(--tw-content);\n position: absolute;\n }\n }\n .before\\:top-0 {\n &::before {\n content: var(--tw-content);\n top: calc(var(--spacing) * 0);\n }\n }\n .before\\:bottom-0 {\n &::before {\n content: var(--tw-content);\n bottom: calc(var(--spacing) * 0);\n }\n }\n .before\\:left-0 {\n &::before {\n content: var(--tw-content);\n left: calc(var(--spacing) * 0);\n }\n }\n .before\\:w-px {\n &::before {\n content: var(--tw-content);\n width: 1px;\n }\n }\n .before\\:bg-border {\n &::before {\n content: var(--tw-content);\n background-color: var(--color-border);\n }\n }\n .after\\:absolute {\n &::after {\n content: var(--tw-content);\n position: absolute;\n }\n }\n .after\\:-inset-2 {\n &::after {\n content: var(--tw-content);\n inset: calc(var(--spacing) * -2);\n }\n }\n .after\\:inset-y-0 {\n &::after {\n content: var(--tw-content);\n inset-block: calc(var(--spacing) * 0);\n }\n }\n .after\\:left-1\\/2 {\n &::after {\n content: var(--tw-content);\n left: calc(1/2 * 100%);\n }\n }\n .after\\:w-\\[2px\\] {\n &::after {\n content: var(--tw-content);\n width: 2px;\n }\n }\n .group-data-\\[collapsible\\=offcanvas\\]\\:after\\:left-full {\n &:is(:where(.group)[data-collapsible=\"offcanvas\"] *) {\n &::after {\n content: var(--tw-content);\n left: 100%;\n }\n }\n }\n .last\\:border-b-0 {\n &:last-child {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0px;\n }\n }\n .focus-within\\:relative {\n &:focus-within {\n position: relative;\n }\n }\n .focus-within\\:ring-2 {\n &:focus-within {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus-within\\:ring-\\[3px\\] {\n &:focus-within {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus-within\\:ring-blue-600 {\n &:focus-within {\n --tw-ring-color: var(--color-blue-600);\n }\n }\n .focus-within\\:ring-offset-2 {\n &:focus-within {\n --tw-ring-offset-width: 2px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n }\n .focus-within\\:outline-none {\n &:focus-within {\n --tw-outline-style: none;\n outline-style: none;\n }\n }\n .hover\\:cursor-pointer {\n &:hover {\n @media (hover: hover) {\n cursor: pointer;\n }\n }\n }\n .hover\\:border-blue-600 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-blue-600);\n }\n }\n }\n .hover\\:border-gray-300 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-gray-300);\n }\n }\n }\n .hover\\:border-gray-400 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-gray-400);\n }\n }\n }\n .hover\\:border-gray-500 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-gray-500);\n }\n }\n }\n .hover\\:border-red-300 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-red-300);\n }\n }\n }\n .hover\\:\\!bg-\\[\\#12478a\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #12478a !important;\n }\n }\n }\n .hover\\:\\!bg-\\[\\#af543d\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #af543d !important;\n }\n }\n }\n .hover\\:bg-accent {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-accent);\n }\n }\n }\n .hover\\:bg-accent\\/50 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #f4f4f5 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-accent) 50%, transparent);\n }\n }\n }\n }\n .hover\\:bg-black\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #000 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 90%, transparent);\n }\n }\n }\n }\n .hover\\:bg-blue-100 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-blue-100);\n }\n }\n }\n .hover\\:bg-blue-200 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-blue-200);\n }\n }\n }\n .hover\\:bg-blue-500 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-blue-500);\n }\n }\n }\n .hover\\:bg-blue-700 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-blue-700);\n }\n }\n }\n .hover\\:bg-destructive\\/20 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #dc2626 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);\n }\n }\n }\n }\n .hover\\:bg-destructive\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #dc2626 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 90%, transparent);\n }\n }\n }\n }\n .hover\\:bg-gray-50 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-gray-50);\n }\n }\n }\n .hover\\:bg-gray-100 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-gray-100);\n }\n }\n }\n .hover\\:bg-gray-200 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-gray-200);\n }\n }\n }\n .hover\\:bg-gray-800 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-gray-800);\n }\n }\n }\n .hover\\:bg-muted\\/50 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #f7f7f6 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-muted) 50%, transparent);\n }\n }\n }\n }\n .hover\\:bg-primary\\/80 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #18181b 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-primary) 80%, transparent);\n }\n }\n }\n }\n .hover\\:bg-primary\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #18181b 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-primary) 90%, transparent);\n }\n }\n }\n }\n .hover\\:bg-red-50 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-red-50);\n }\n }\n }\n .hover\\:bg-red-200 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-red-200);\n }\n }\n }\n .hover\\:bg-red-700 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-red-700);\n }\n }\n }\n .hover\\:bg-secondary\\/80 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #f4f4f5 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-secondary) 80%, transparent);\n }\n }\n }\n }\n .hover\\:text-accent-foreground {\n &:hover {\n @media (hover: hover) {\n color: var(--color-accent-foreground);\n }\n }\n }\n .hover\\:text-black {\n &:hover {\n @media (hover: hover) {\n color: var(--color-black);\n }\n }\n }\n .hover\\:text-blue-500 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-blue-500);\n }\n }\n }\n .hover\\:text-blue-600 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-blue-600);\n }\n }\n }\n .hover\\:text-blue-800 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-blue-800);\n }\n }\n }\n .hover\\:text-blue-900 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-blue-900);\n }\n }\n }\n .hover\\:text-destructive {\n &:hover {\n @media (hover: hover) {\n color: var(--color-destructive);\n }\n }\n }\n .hover\\:text-gray-500 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-gray-500);\n }\n }\n }\n .hover\\:text-gray-600 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-gray-600);\n }\n }\n }\n .hover\\:text-gray-700 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-gray-700);\n }\n }\n }\n .hover\\:text-gray-800 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-gray-800);\n }\n }\n }\n .hover\\:text-green-900 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-green-900);\n }\n }\n }\n .hover\\:text-orange-500 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-orange-500);\n }\n }\n }\n .hover\\:text-primary {\n &:hover {\n @media (hover: hover) {\n color: var(--color-primary);\n }\n }\n }\n .hover\\:text-red-600 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-red-600);\n }\n }\n }\n .hover\\:text-red-700 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-red-700);\n }\n }\n }\n .hover\\:text-red-800 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-red-800);\n }\n }\n }\n .hover\\:text-red-900 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-red-900);\n }\n }\n }\n .hover\\:text-yellow-900 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-yellow-900);\n }\n }\n }\n .hover\\:no-underline {\n &:hover {\n @media (hover: hover) {\n text-decoration-line: none;\n }\n }\n }\n .hover\\:underline {\n &:hover {\n @media (hover: hover) {\n text-decoration-line: underline;\n }\n }\n }\n .hover\\:opacity-80 {\n &:hover {\n @media (hover: hover) {\n opacity: 80%;\n }\n }\n }\n .hover\\:opacity-90 {\n &:hover {\n @media (hover: hover) {\n opacity: 90%;\n }\n }\n }\n .hover\\:opacity-100 {\n &:hover {\n @media (hover: hover) {\n opacity: 100%;\n }\n }\n }\n .hover\\:shadow-\\[0_0_0_1px_hsl\\(var\\(--sidebar-accent\\)\\)\\] {\n &:hover {\n @media (hover: hover) {\n --tw-shadow: 0 0 0 1px var(--tw-shadow-color, hsl(var(--sidebar-accent)));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n }\n .focus\\:relative {\n &:focus {\n position: relative;\n }\n }\n .focus\\:z-10 {\n &:focus {\n z-index: 10;\n }\n }\n .focus\\:z-20 {\n &:focus {\n z-index: 20;\n }\n }\n .focus\\:border-red-500 {\n &:focus {\n border-color: var(--color-red-500);\n }\n }\n .focus\\:bg-accent {\n &:focus {\n background-color: var(--color-accent);\n }\n }\n .focus\\:text-accent-foreground {\n &:focus {\n color: var(--color-accent-foreground);\n }\n }\n .focus\\:ring-2 {\n &:focus {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus\\:ring-black {\n &:focus {\n --tw-ring-color: var(--color-black);\n }\n }\n .focus\\:ring-blue-500 {\n &:focus {\n --tw-ring-color: var(--color-blue-500);\n }\n }\n .focus\\:ring-blue-600 {\n &:focus {\n --tw-ring-color: var(--color-blue-600);\n }\n }\n .focus\\:ring-primary {\n &:focus {\n --tw-ring-color: var(--color-primary);\n }\n }\n .focus\\:ring-red-500 {\n &:focus {\n --tw-ring-color: var(--color-red-500);\n }\n }\n .focus\\:ring-offset-2 {\n &:focus {\n --tw-ring-offset-width: 2px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n }\n .focus\\:outline-hidden {\n &:focus {\n --tw-outline-style: none;\n outline-style: none;\n @media (forced-colors: active) {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n }\n }\n .focus\\:outline-2 {\n &:focus {\n outline-style: var(--tw-outline-style);\n outline-width: 2px;\n }\n }\n .focus\\:-outline-offset-2 {\n &:focus {\n outline-offset: calc(2px * -1);\n }\n }\n .focus\\:outline-offset-0 {\n &:focus {\n outline-offset: 0px;\n }\n }\n .focus\\:outline-blue-600 {\n &:focus {\n outline-color: var(--color-blue-600);\n }\n }\n .focus\\:outline-red-600 {\n &:focus {\n outline-color: var(--color-red-600);\n }\n }\n .focus\\:outline-none {\n &:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n }\n .focus-visible\\:border-red-300 {\n &:focus-visible {\n border-color: var(--color-red-300);\n }\n }\n .focus-visible\\:ring-0 {\n &:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus-visible\\:ring-1 {\n &:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus-visible\\:ring-2 {\n &:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus-visible\\:ring-\\[3px\\] {\n &:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus-visible\\:ring-destructive\\/20 {\n &:focus-visible {\n --tw-ring-color: color-mix(in srgb, #dc2626 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);\n }\n }\n }\n .focus-visible\\:ring-red-300 {\n &:focus-visible {\n --tw-ring-color: var(--color-red-300);\n }\n }\n .focus-visible\\:ring-offset-0 {\n &:focus-visible {\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n }\n .focus-visible\\:ring-offset-2 {\n &:focus-visible {\n --tw-ring-offset-width: 2px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n }\n .focus-visible\\:outline {\n &:focus-visible {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n }\n .focus-visible\\:outline-2 {\n &:focus-visible {\n outline-style: var(--tw-outline-style);\n outline-width: 2px;\n }\n }\n .focus-visible\\:outline-offset-2 {\n &:focus-visible {\n outline-offset: 2px;\n }\n }\n .focus-visible\\:outline-blue-600 {\n &:focus-visible {\n outline-color: var(--color-blue-600);\n }\n }\n .focus-visible\\:outline-none {\n &:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n }\n .active\\:bg-gray-100 {\n &:active {\n background-color: var(--color-gray-100);\n }\n }\n .active\\:bg-gray-200 {\n &:active {\n background-color: var(--color-gray-200);\n }\n }\n .disabled\\:pointer-events-none {\n &:disabled {\n pointer-events: none;\n }\n }\n .disabled\\:cursor-not-allowed {\n &:disabled {\n cursor: not-allowed;\n }\n }\n .disabled\\:bg-gray-50 {\n &:disabled {\n background-color: var(--color-gray-50);\n }\n }\n .disabled\\:text-gray-500 {\n &:disabled {\n color: var(--color-gray-500);\n }\n }\n .disabled\\:opacity-50 {\n &:disabled {\n opacity: 50%;\n }\n }\n .disabled\\:outline-gray-200 {\n &:disabled {\n outline-color: var(--color-gray-200);\n }\n }\n .in-data-\\[side\\=left\\]\\:cursor-w-resize {\n :where(*[data-side=\"left\"]) & {\n cursor: w-resize;\n }\n }\n .in-data-\\[side\\=right\\]\\:cursor-e-resize {\n :where(*[data-side=\"right\"]) & {\n cursor: e-resize;\n }\n }\n .has-data-\\[slot\\=card-action\\]\\:grid-cols-\\[1fr_auto\\] {\n &:has(*[data-slot=\"card-action\"]) {\n grid-template-columns: 1fr auto;\n }\n }\n .has-\\[\\[aria-checked\\=true\\]\\]\\:border-blue-600 {\n &:has(*:is([aria-checked=true])) {\n border-color: var(--color-blue-600);\n }\n }\n .has-\\[\\[aria-checked\\=true\\]\\]\\:bg-blue-50 {\n &:has(*:is([aria-checked=true])) {\n background-color: var(--color-blue-50);\n }\n }\n .has-\\[\\>svg\\]\\:px-0 {\n &:has(>svg) {\n padding-inline: calc(var(--spacing) * 0);\n }\n }\n .aria-disabled\\:pointer-events-none {\n &[aria-disabled=\"true\"] {\n pointer-events: none;\n }\n }\n .aria-disabled\\:opacity-50 {\n &[aria-disabled=\"true\"] {\n opacity: 50%;\n }\n }\n .aria-invalid\\:border-destructive {\n &[aria-invalid=\"true\"] {\n border-color: var(--color-destructive);\n }\n }\n .aria-invalid\\:ring-destructive\\/20 {\n &[aria-invalid=\"true\"] {\n --tw-ring-color: color-mix(in srgb, #dc2626 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent);\n }\n }\n }\n .data-\\[active\\=true\\]\\:font-medium {\n &[data-active=\"true\"] {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n }\n .data-\\[checked\\]\\:bg-blue-600 {\n &[data-checked] {\n background-color: var(--color-blue-600);\n }\n }\n .data-\\[closed\\]\\:-translate-x-full {\n &[data-closed] {\n --tw-translate-x: -100%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[closed\\]\\:translate-y-4 {\n &[data-closed] {\n --tw-translate-y: calc(var(--spacing) * 4);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[closed\\]\\:opacity-0 {\n &[data-closed] {\n opacity: 0%;\n }\n }\n .data-\\[disabled\\]\\:pointer-events-none {\n &[data-disabled] {\n pointer-events: none;\n }\n }\n .data-\\[disabled\\]\\:opacity-50 {\n &[data-disabled] {\n opacity: 50%;\n }\n }\n .data-\\[enter\\]\\:duration-300 {\n &[data-enter] {\n --tw-duration: 300ms;\n transition-duration: 300ms;\n }\n }\n .data-\\[enter\\]\\:ease-out {\n &[data-enter] {\n --tw-ease: var(--ease-out);\n transition-timing-function: var(--ease-out);\n }\n }\n .data-\\[error\\=true\\]\\:text-destructive {\n &[data-error=\"true\"] {\n color: var(--color-destructive);\n }\n }\n .data-\\[leave\\]\\:duration-200 {\n &[data-leave] {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n }\n }\n .data-\\[leave\\]\\:ease-in {\n &[data-leave] {\n --tw-ease: var(--ease-in);\n transition-timing-function: var(--ease-in);\n }\n }\n .data-\\[orientation\\=horizontal\\]\\:h-px {\n &[data-orientation=\"horizontal\"] {\n height: 1px;\n }\n }\n .data-\\[orientation\\=horizontal\\]\\:w-full {\n &[data-orientation=\"horizontal\"] {\n width: 100%;\n }\n }\n .data-\\[orientation\\=vertical\\]\\:h-full {\n &[data-orientation=\"vertical\"] {\n height: 100%;\n }\n }\n .data-\\[orientation\\=vertical\\]\\:w-px {\n &[data-orientation=\"vertical\"] {\n width: 1px;\n }\n }\n .data-\\[placeholder\\]\\:text-muted-foreground {\n &[data-placeholder] {\n color: var(--color-muted-foreground);\n }\n }\n .data-\\[side\\=bottom\\]\\:translate-y-1 {\n &[data-side=\"bottom\"] {\n --tw-translate-y: calc(var(--spacing) * 1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[side\\=left\\]\\:-translate-x-1 {\n &[data-side=\"left\"] {\n --tw-translate-x: calc(var(--spacing) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[side\\=right\\]\\:translate-x-1 {\n &[data-side=\"right\"] {\n --tw-translate-x: calc(var(--spacing) * 1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[side\\=top\\]\\:-translate-y-1 {\n &[data-side=\"top\"] {\n --tw-translate-y: calc(var(--spacing) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[state\\=active\\]\\:border-b-primary {\n &[data-state=\"active\"] {\n border-bottom-color: var(--color-primary);\n }\n }\n .data-\\[state\\=active\\]\\:bg-background {\n &[data-state=\"active\"] {\n background-color: var(--color-background);\n }\n }\n .data-\\[state\\=active\\]\\:shadow-none {\n &[data-state=\"active\"] {\n --tw-shadow: 0 0 #0000;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .data-\\[state\\=active\\]\\:shadow-sm {\n &[data-state=\"active\"] {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .data-\\[state\\=checked\\]\\:translate-x-\\[calc\\(100\\%-2px\\)\\] {\n &[data-state=\"checked\"] {\n --tw-translate-x: calc(100% - 2px);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[state\\=checked\\]\\:border-black {\n &[data-state=\"checked\"] {\n border-color: var(--color-black);\n }\n }\n .data-\\[state\\=checked\\]\\:border-blue-600 {\n &[data-state=\"checked\"] {\n border-color: var(--color-blue-600);\n }\n }\n .data-\\[state\\=checked\\]\\:border-primary {\n &[data-state=\"checked\"] {\n border-color: var(--color-primary);\n }\n }\n .data-\\[state\\=checked\\]\\:bg-black {\n &[data-state=\"checked\"] {\n background-color: var(--color-black);\n }\n }\n .data-\\[state\\=checked\\]\\:bg-blue-600 {\n &[data-state=\"checked\"] {\n background-color: var(--color-blue-600);\n }\n }\n .data-\\[state\\=checked\\]\\:bg-primary {\n &[data-state=\"checked\"] {\n background-color: var(--color-primary);\n }\n }\n .data-\\[state\\=checked\\]\\:text-primary-foreground {\n &[data-state=\"checked\"] {\n color: var(--color-primary-foreground);\n }\n }\n .data-\\[state\\=checked\\]\\:text-white {\n &[data-state=\"checked\"] {\n color: var(--color-white);\n }\n }\n .data-\\[state\\=closed\\]\\:duration-300 {\n &[data-state=\"closed\"] {\n --tw-duration: 300ms;\n transition-duration: 300ms;\n }\n }\n .data-\\[state\\=open\\]\\:bg-accent {\n &[data-state=\"open\"] {\n background-color: var(--color-accent);\n }\n }\n .data-\\[state\\=open\\]\\:bg-secondary {\n &[data-state=\"open\"] {\n background-color: var(--color-secondary);\n }\n }\n .data-\\[state\\=open\\]\\:text-muted-foreground {\n &[data-state=\"open\"] {\n color: var(--color-muted-foreground);\n }\n }\n .data-\\[state\\=open\\]\\:opacity-100 {\n &[data-state=\"open\"] {\n opacity: 100%;\n }\n }\n .data-\\[state\\=open\\]\\:duration-500 {\n &[data-state=\"open\"] {\n --tw-duration: 500ms;\n transition-duration: 500ms;\n }\n }\n .data-\\[state\\=selected\\]\\:bg-muted {\n &[data-state=\"selected\"] {\n background-color: var(--color-muted);\n }\n }\n .data-\\[state\\=unchecked\\]\\:translate-x-0 {\n &[data-state=\"unchecked\"] {\n --tw-translate-x: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n .data-\\[state\\=unchecked\\]\\:bg-input {\n &[data-state=\"unchecked\"] {\n background-color: var(--color-input);\n }\n }\n .max-\\[800px\\]\\:mx-auto {\n @media (width < 800px) {\n margin-inline: auto;\n }\n }\n .max-\\[800px\\]\\:mb-9 {\n @media (width < 800px) {\n margin-bottom: calc(var(--spacing) * 9);\n }\n }\n .max-\\[800px\\]\\:w-full {\n @media (width < 800px) {\n width: 100%;\n }\n }\n .max-\\[800px\\]\\:px-\\[22px\\] {\n @media (width < 800px) {\n padding-inline: 22px;\n }\n }\n .max-\\[800px\\]\\:py-9 {\n @media (width < 800px) {\n padding-block: calc(var(--spacing) * 9);\n }\n }\n .sm\\:col-span-2 {\n @media (width >= 40rem) {\n grid-column: span 2 / span 2;\n }\n }\n .sm\\:col-span-3 {\n @media (width >= 40rem) {\n grid-column: span 3 / span 3;\n }\n }\n .sm\\:-mx-6 {\n @media (width >= 40rem) {\n margin-inline: calc(var(--spacing) * -6);\n }\n }\n .sm\\:my-8 {\n @media (width >= 40rem) {\n margin-block: calc(var(--spacing) * 8);\n }\n }\n .sm\\:mt-0 {\n @media (width >= 40rem) {\n margin-top: calc(var(--spacing) * 0);\n }\n }\n .sm\\:mt-10 {\n @media (width >= 40rem) {\n margin-top: calc(var(--spacing) * 10);\n }\n }\n .sm\\:mb-1 {\n @media (width >= 40rem) {\n margin-bottom: calc(var(--spacing) * 1);\n }\n }\n .sm\\:ml-4 {\n @media (width >= 40rem) {\n margin-left: calc(var(--spacing) * 4);\n }\n }\n .sm\\:ml-8 {\n @media (width >= 40rem) {\n margin-left: calc(var(--spacing) * 8);\n }\n }\n .sm\\:block {\n @media (width >= 40rem) {\n display: block;\n }\n }\n .sm\\:flex {\n @media (width >= 40rem) {\n display: flex;\n }\n }\n .sm\\:grid {\n @media (width >= 40rem) {\n display: grid;\n }\n }\n .sm\\:hidden {\n @media (width >= 40rem) {\n display: none;\n }\n }\n .sm\\:size-4 {\n @media (width >= 40rem) {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n }\n .sm\\:w-full {\n @media (width >= 40rem) {\n width: 100%;\n }\n }\n .sm\\:max-w-1\\/2 {\n @media (width >= 40rem) {\n max-width: calc(1/2 * 100%);\n }\n }\n .sm\\:max-w-2xl {\n @media (width >= 40rem) {\n max-width: var(--container-2xl);\n }\n }\n .sm\\:max-w-\\[425px\\] {\n @media (width >= 40rem) {\n max-width: 425px;\n }\n }\n .sm\\:max-w-lg {\n @media (width >= 40rem) {\n max-width: var(--container-lg);\n }\n }\n .sm\\:max-w-md {\n @media (width >= 40rem) {\n max-width: var(--container-md);\n }\n }\n .sm\\:max-w-sm {\n @media (width >= 40rem) {\n max-width: var(--container-sm);\n }\n }\n .sm\\:grid-cols-3 {\n @media (width >= 40rem) {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n }\n .sm\\:grid-cols-6 {\n @media (width >= 40rem) {\n grid-template-columns: repeat(6, minmax(0, 1fr));\n }\n }\n .sm\\:flex-row {\n @media (width >= 40rem) {\n flex-direction: row;\n }\n }\n .sm\\:flex-row-reverse {\n @media (width >= 40rem) {\n flex-direction: row-reverse;\n }\n }\n .sm\\:items-center {\n @media (width >= 40rem) {\n align-items: center;\n }\n }\n .sm\\:\\!justify-start {\n @media (width >= 40rem) {\n justify-content: flex-start !important;\n }\n }\n .sm\\:justify-end {\n @media (width >= 40rem) {\n justify-content: flex-end;\n }\n }\n .sm\\:justify-start {\n @media (width >= 40rem) {\n justify-content: flex-start;\n }\n }\n .sm\\:gap-2\\.5 {\n @media (width >= 40rem) {\n gap: calc(var(--spacing) * 2.5);\n }\n }\n .sm\\:gap-4 {\n @media (width >= 40rem) {\n gap: calc(var(--spacing) * 4);\n }\n }\n .sm\\:truncate {\n @media (width >= 40rem) {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n }\n .sm\\:rounded-lg {\n @media (width >= 40rem) {\n border-radius: var(--radius-lg);\n }\n }\n .sm\\:p-0 {\n @media (width >= 40rem) {\n padding: calc(var(--spacing) * 0);\n }\n }\n .sm\\:p-6 {\n @media (width >= 40rem) {\n padding: calc(var(--spacing) * 6);\n }\n }\n .sm\\:px-0 {\n @media (width >= 40rem) {\n padding-inline: calc(var(--spacing) * 0);\n }\n }\n .sm\\:px-6 {\n @media (width >= 40rem) {\n padding-inline: calc(var(--spacing) * 6);\n }\n }\n .sm\\:px-8 {\n @media (width >= 40rem) {\n padding-inline: calc(var(--spacing) * 8);\n }\n }\n .sm\\:py-4 {\n @media (width >= 40rem) {\n padding-block: calc(var(--spacing) * 4);\n }\n }\n .sm\\:py-32 {\n @media (width >= 40rem) {\n padding-block: calc(var(--spacing) * 32);\n }\n }\n .sm\\:pr-0 {\n @media (width >= 40rem) {\n padding-right: calc(var(--spacing) * 0);\n }\n }\n .sm\\:pl-0 {\n @media (width >= 40rem) {\n padding-left: calc(var(--spacing) * 0);\n }\n }\n .sm\\:text-left {\n @media (width >= 40rem) {\n text-align: left;\n }\n }\n .sm\\:text-2xl {\n @media (width >= 40rem) {\n font-size: var(--text-2xl);\n line-height: var(--tw-leading, var(--text-2xl--line-height));\n }\n }\n .sm\\:text-7xl {\n @media (width >= 40rem) {\n font-size: var(--text-7xl);\n line-height: var(--tw-leading, var(--text-7xl--line-height));\n }\n }\n .sm\\:text-sm\\/6 {\n @media (width >= 40rem) {\n font-size: var(--text-sm);\n line-height: calc(var(--spacing) * 6);\n }\n }\n .sm\\:text-xl {\n @media (width >= 40rem) {\n font-size: var(--text-xl);\n line-height: var(--tw-leading, var(--text-xl--line-height));\n }\n }\n .sm\\:text-xl\\/8 {\n @media (width >= 40rem) {\n font-size: var(--text-xl);\n line-height: calc(var(--spacing) * 8);\n }\n }\n .sm\\:tracking-tight {\n @media (width >= 40rem) {\n --tw-tracking: var(--tracking-tight);\n letter-spacing: var(--tracking-tight);\n }\n }\n .data-\\[closed\\]\\:sm\\:translate-y-0 {\n &[data-closed] {\n @media (width >= 40rem) {\n --tw-translate-y: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n }\n .data-\\[closed\\]\\:sm\\:scale-95 {\n &[data-closed] {\n @media (width >= 40rem) {\n --tw-scale-x: 95%;\n --tw-scale-y: 95%;\n --tw-scale-z: 95%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n }\n }\n .md\\:ml-12 {\n @media (width >= 48rem) {\n margin-left: calc(var(--spacing) * 12);\n }\n }\n .md\\:block {\n @media (width >= 48rem) {\n display: block;\n }\n }\n .md\\:flex {\n @media (width >= 48rem) {\n display: flex;\n }\n }\n .md\\:hidden {\n @media (width >= 48rem) {\n display: none;\n }\n }\n .md\\:flex-1 {\n @media (width >= 48rem) {\n flex: 1;\n }\n }\n .md\\:grid-cols-2 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n }\n .md\\:items-center {\n @media (width >= 48rem) {\n align-items: center;\n }\n }\n .md\\:justify-between {\n @media (width >= 48rem) {\n justify-content: space-between;\n }\n }\n .md\\:text-sm {\n @media (width >= 48rem) {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .md\\:opacity-0 {\n @media (width >= 48rem) {\n opacity: 0%;\n }\n }\n .md\\:peer-data-\\[variant\\=inset\\]\\:m-2 {\n @media (width >= 48rem) {\n &:is(:where(.peer)[data-variant=\"inset\"] ~ *) {\n margin: calc(var(--spacing) * 2);\n }\n }\n }\n .md\\:peer-data-\\[variant\\=inset\\]\\:ml-0 {\n @media (width >= 48rem) {\n &:is(:where(.peer)[data-variant=\"inset\"] ~ *) {\n margin-left: calc(var(--spacing) * 0);\n }\n }\n }\n .md\\:peer-data-\\[variant\\=inset\\]\\:rounded-xl {\n @media (width >= 48rem) {\n &:is(:where(.peer)[data-variant=\"inset\"] ~ *) {\n border-radius: var(--radius-xl);\n }\n }\n }\n .md\\:peer-data-\\[variant\\=inset\\]\\:shadow-sm {\n @media (width >= 48rem) {\n &:is(:where(.peer)[data-variant=\"inset\"] ~ *) {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n }\n .md\\:peer-data-\\[variant\\=inset\\]\\:peer-data-\\[state\\=collapsed\\]\\:ml-2 {\n @media (width >= 48rem) {\n &:is(:where(.peer)[data-variant=\"inset\"] ~ *) {\n &:is(:where(.peer)[data-state=\"collapsed\"] ~ *) {\n margin-left: calc(var(--spacing) * 2);\n }\n }\n }\n }\n .md\\:after\\:hidden {\n @media (width >= 48rem) {\n &::after {\n content: var(--tw-content);\n display: none;\n }\n }\n }\n .lg\\:fixed {\n @media (width >= 64rem) {\n position: fixed;\n }\n }\n .lg\\:inset-y-0 {\n @media (width >= 64rem) {\n inset-block: calc(var(--spacing) * 0);\n }\n }\n .lg\\:z-50 {\n @media (width >= 64rem) {\n z-index: 50;\n }\n }\n .lg\\:-mx-8 {\n @media (width >= 64rem) {\n margin-inline: calc(var(--spacing) * -8);\n }\n }\n .lg\\:ml-16 {\n @media (width >= 64rem) {\n margin-left: calc(var(--spacing) * 16);\n }\n }\n .lg\\:flex {\n @media (width >= 64rem) {\n display: flex;\n }\n }\n .lg\\:hidden {\n @media (width >= 64rem) {\n display: none;\n }\n }\n .lg\\:w-72 {\n @media (width >= 64rem) {\n width: calc(var(--spacing) * 72);\n }\n }\n .lg\\:w-full {\n @media (width >= 64rem) {\n width: 100%;\n }\n }\n .lg\\:grid-cols-3 {\n @media (width >= 64rem) {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n }\n .lg\\:flex-col {\n @media (width >= 64rem) {\n flex-direction: column;\n }\n }\n .lg\\:justify-between {\n @media (width >= 64rem) {\n justify-content: space-between;\n }\n }\n .lg\\:justify-end {\n @media (width >= 64rem) {\n justify-content: flex-end;\n }\n }\n .lg\\:px-8 {\n @media (width >= 64rem) {\n padding-inline: calc(var(--spacing) * 8);\n }\n }\n .lg\\:pl-72 {\n @media (width >= 64rem) {\n padding-left: calc(var(--spacing) * 72);\n }\n }\n .xl\\:ml-20 {\n @media (width >= 80rem) {\n margin-left: calc(var(--spacing) * 20);\n }\n }\n .xl\\:gap-x-8 {\n @media (width >= 80rem) {\n column-gap: calc(var(--spacing) * 8);\n }\n }\n .\\32 xl\\:ml-24 {\n @media (width >= 96rem) {\n margin-left: calc(var(--spacing) * 24);\n }\n }\n .\\@max-md\\:hidden {\n @container (width < 28rem) {\n display: none;\n }\n }\n .\\@max-md\\:grid-cols-1 {\n @container (width < 28rem) {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n }\n .dark\\:border-input {\n @media (prefers-color-scheme: dark) {\n border-color: var(--color-input);\n }\n }\n .dark\\:bg-destructive\\/60 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, #dc2626 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 60%, transparent);\n }\n }\n }\n .dark\\:bg-gray-900 {\n @media (prefers-color-scheme: dark) {\n background-color: var(--color-gray-900);\n }\n }\n .dark\\:bg-input\\/30 {\n @media (prefers-color-scheme: dark) {\n background-color: color-mix(in srgb, #e4e4e7 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-input) 30%, transparent);\n }\n }\n }\n .dark\\:hover\\:bg-accent\\/50 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #f4f4f5 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-accent) 50%, transparent);\n }\n }\n }\n }\n }\n .dark\\:hover\\:bg-input\\/50 {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #e4e4e7 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-input) 50%, transparent);\n }\n }\n }\n }\n }\n .dark\\:focus-visible\\:ring-destructive\\/40 {\n @media (prefers-color-scheme: dark) {\n &:focus-visible {\n --tw-ring-color: color-mix(in srgb, #dc2626 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent);\n }\n }\n }\n }\n .dark\\:has-\\[\\[aria-checked\\=true\\]\\]\\:border-blue-900 {\n @media (prefers-color-scheme: dark) {\n &:has(*:is([aria-checked=true])) {\n border-color: var(--color-blue-900);\n }\n }\n }\n .dark\\:has-\\[\\[aria-checked\\=true\\]\\]\\:bg-blue-950 {\n @media (prefers-color-scheme: dark) {\n &:has(*:is([aria-checked=true])) {\n background-color: var(--color-blue-950);\n }\n }\n }\n .dark\\:aria-invalid\\:ring-destructive\\/40 {\n @media (prefers-color-scheme: dark) {\n &[aria-invalid=\"true\"] {\n --tw-ring-color: color-mix(in srgb, #dc2626 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent);\n }\n }\n }\n }\n .dark\\:data-\\[state\\=checked\\]\\:border-blue-700 {\n @media (prefers-color-scheme: dark) {\n &[data-state=\"checked\"] {\n border-color: var(--color-blue-700);\n }\n }\n }\n .dark\\:data-\\[state\\=checked\\]\\:bg-blue-700 {\n @media (prefers-color-scheme: dark) {\n &[data-state=\"checked\"] {\n background-color: var(--color-blue-700);\n }\n }\n }\n .dark\\:data-\\[state\\=checked\\]\\:bg-primary {\n @media (prefers-color-scheme: dark) {\n &[data-state=\"checked\"] {\n background-color: var(--color-primary);\n }\n }\n }\n .dark\\:data-\\[state\\=checked\\]\\:bg-primary-foreground {\n @media (prefers-color-scheme: dark) {\n &[data-state=\"checked\"] {\n background-color: var(--color-primary-foreground);\n }\n }\n }\n .dark\\:data-\\[state\\=unchecked\\]\\:bg-input\\/80 {\n @media (prefers-color-scheme: dark) {\n &[data-state=\"unchecked\"] {\n background-color: color-mix(in srgb, #e4e4e7 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-input) 80%, transparent);\n }\n }\n }\n }\n .\\[\\&_\\:is\\(h1\\,h2\\,h3\\)\\]\\:m-0 {\n & :is(h1,h2,h3) {\n margin: calc(var(--spacing) * 0);\n }\n }\n .\\[\\&_h2\\]\\:mt-\\[1em\\] {\n & h2 {\n margin-top: 1em;\n }\n }\n .\\[\\&_h2\\]\\:text-lg {\n & h2 {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n }\n .\\[\\&_h2\\,\\&_h3\\]\\:mt-\\[1em\\] {\n & h2,& h3 {\n margin-top: 1em;\n }\n }\n .\\[\\&_hr\\]\\:my-\\[1em\\] {\n & hr {\n margin-block: 1em;\n }\n }\n .\\[\\&_p\\+p\\]\\:mt-\\[1em\\] {\n & p+p {\n margin-top: 1em;\n }\n }\n .\\[\\&_svg\\]\\:pointer-events-none {\n & svg {\n pointer-events: none;\n }\n }\n .\\[\\&_svg\\]\\:size-4 {\n & svg {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n }\n .\\[\\&_svg\\]\\:shrink-0 {\n & svg {\n flex-shrink: 0;\n }\n }\n .\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 {\n & svg:not([class*='size-']) {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n }\n .\\[\\&_tr\\]\\:border-b {\n & tr {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n }\n .\\[\\&_tr\\:last-child\\]\\:border-0 {\n & tr:last-child {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n }\n .\\[\\&_ul\\]\\:list-inside {\n & ul {\n list-style-position: inside;\n }\n }\n .\\[\\&_ul\\]\\:list-disc {\n & ul {\n list-style-type: disc;\n }\n }\n .\\[\\&_ul\\]\\:pl-4 {\n & ul {\n padding-left: calc(var(--spacing) * 4);\n }\n }\n .\\[\\&\\:\\:-webkit-scrollbar\\]\\:hidden {\n &::-webkit-scrollbar {\n display: none;\n }\n }\n .\\[\\&\\:has\\(\\[role\\=checkbox\\]\\)\\]\\:pr-0 {\n &:has([role=checkbox]) {\n padding-right: calc(var(--spacing) * 0);\n }\n }\n .\\[\\.border-b\\]\\:pb-6 {\n &:is(.border-b) {\n padding-bottom: calc(var(--spacing) * 6);\n }\n }\n .\\[\\.border-t\\]\\:pt-6 {\n &:is(.border-t) {\n padding-top: calc(var(--spacing) * 6);\n }\n }\n .\\[\\&\\>button\\]\\:hidden {\n &>button {\n display: none;\n }\n }\n .\\[\\&\\>button\\:last-child\\]\\:mt-0 {\n &>button:last-child {\n margin-top: calc(var(--spacing) * 0);\n }\n }\n .\\[\\&\\>div\\]\\:min-w-\\[200px\\] {\n &>div {\n min-width: 200px;\n }\n }\n .\\[\\&\\>div\\]\\:flex-1 {\n &>div {\n flex: 1;\n }\n }\n .\\[\\&\\>div_label\\]\\:mb-2 {\n &>div label {\n margin-bottom: calc(var(--spacing) * 2);\n }\n }\n .\\[\\&\\>div_label\\]\\:block {\n &>div label {\n display: block;\n }\n }\n .\\[\\&\\>div_label\\]\\:text-sm {\n &>div label {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .\\[\\&\\>div_label\\]\\:font-medium {\n &>div label {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n }\n .\\[\\&\\>div_label\\]\\:text-gray-700 {\n &>div label {\n color: var(--color-gray-700);\n }\n }\n .\\[\\&\\>div\\:first-child\\]\\:min-w-\\[200px\\] {\n &>div:first-child {\n min-width: 200px;\n }\n }\n .\\[\\&\\>div\\:first-child\\]\\:flex-1 {\n &>div:first-child {\n flex: 1;\n }\n }\n .\\[\\&\\>div\\:nth-child\\(2\\)\\]\\:min-w-\\[200px\\] {\n &>div:nth-child(2) {\n min-width: 200px;\n }\n }\n .\\[\\&\\>div\\:nth-child\\(2\\)\\]\\:flex-1 {\n &>div:nth-child(2) {\n flex: 1;\n }\n }\n .\\[\\&\\>label\\]\\:mb-2 {\n &>label {\n margin-bottom: calc(var(--spacing) * 2);\n }\n }\n .\\[\\&\\>label\\]\\:block {\n &>label {\n display: block;\n }\n }\n .\\[\\&\\>label\\]\\:text-sm {\n &>label {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .\\[\\&\\>label\\]\\:font-medium {\n &>label {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n }\n .\\[\\&\\>label\\]\\:text-gray-700 {\n &>label {\n color: var(--color-gray-700);\n }\n }\n .\\[\\&\\>span\\]\\:line-clamp-1 {\n &>span {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n }\n }\n .\\[\\&\\>span\\:last-child\\]\\:truncate {\n &>span:last-child {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n }\n .\\[\\&\\>svg\\]\\:pointer-events-none {\n &>svg {\n pointer-events: none;\n }\n }\n .\\[\\&\\>svg\\]\\:size-3 {\n &>svg {\n width: calc(var(--spacing) * 3);\n height: calc(var(--spacing) * 3);\n }\n }\n .\\[\\&\\>svg\\]\\:size-4 {\n &>svg {\n width: calc(var(--spacing) * 4);\n height: calc(var(--spacing) * 4);\n }\n }\n .\\[\\&\\>svg\\]\\:h-3\\.5 {\n &>svg {\n height: calc(var(--spacing) * 3.5);\n }\n }\n .\\[\\&\\>svg\\]\\:w-3\\.5 {\n &>svg {\n width: calc(var(--spacing) * 3.5);\n }\n }\n .\\[\\&\\>svg\\]\\:shrink-0 {\n &>svg {\n flex-shrink: 0;\n }\n }\n .\\[\\&\\>tr\\]\\:last\\:border-b-0 {\n &>tr {\n &:last-child {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0px;\n }\n }\n }\n .\\[\\&\\[data-state\\=open\\]\\>svg\\]\\:rotate-180 {\n &[data-state=open]>svg {\n rotate: 180deg;\n }\n }\n .\\[\\[data-side\\=left\\]\\[data-collapsible\\=offcanvas\\]_\\&\\]\\:-right-2 {\n [data-side=left][data-collapsible=offcanvas] & {\n right: calc(var(--spacing) * -2);\n }\n }\n .\\[\\[data-side\\=left\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-e-resize {\n [data-side=left][data-state=collapsed] & {\n cursor: e-resize;\n }\n }\n .\\[\\[data-side\\=right\\]\\[data-collapsible\\=offcanvas\\]_\\&\\]\\:-left-2 {\n [data-side=right][data-collapsible=offcanvas] & {\n left: calc(var(--spacing) * -2);\n }\n }\n .\\[\\[data-side\\=right\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-w-resize {\n [data-side=right][data-state=collapsed] & {\n cursor: w-resize;\n }\n }\n .\\[a\\&\\]\\:hover\\:bg-accent {\n a& {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-accent);\n }\n }\n }\n }\n .\\[a\\&\\]\\:hover\\:bg-destructive\\/90 {\n a& {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #dc2626 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 90%, transparent);\n }\n }\n }\n }\n }\n .\\[a\\&\\]\\:hover\\:bg-primary\\/90 {\n a& {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #18181b 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-primary) 90%, transparent);\n }\n }\n }\n }\n }\n .\\[a\\&\\]\\:hover\\:bg-secondary\\/90 {\n a& {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #f4f4f5 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-secondary) 90%, transparent);\n }\n }\n }\n }\n }\n .\\[a\\&\\]\\:hover\\:text-accent-foreground {\n a& {\n &:hover {\n @media (hover: hover) {\n color: var(--color-accent-foreground);\n }\n }\n }\n }\n}\n@layer base {\n :root,\n :host {\n font-family: 'Inter', sans-serif;\n }\n}\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-rotate-x {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-rotate-y {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-rotate-z {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-skew-x {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-skew-y {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-scroll-snap-strictness {\n syntax: \"*\";\n inherits: false;\n initial-value: proximity;\n}\n@property --tw-space-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-space-x-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-divide-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-gradient-position {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-gradient-from {\n syntax: \"<color>\";\n inherits: false;\n initial-value: #0000;\n}\n@property --tw-gradient-via {\n syntax: \"<color>\";\n inherits: false;\n initial-value: #0000;\n}\n@property --tw-gradient-to {\n syntax: \"<color>\";\n inherits: false;\n initial-value: #0000;\n}\n@property --tw-gradient-stops {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-gradient-via-stops {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-gradient-from-position {\n syntax: \"<length-percentage>\";\n inherits: false;\n initial-value: 0%;\n}\n@property --tw-gradient-via-position {\n syntax: \"<length-percentage>\";\n inherits: false;\n initial-value: 50%;\n}\n@property --tw-gradient-to-position {\n syntax: \"<length-percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-leading {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-tracking {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ordinal {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-slashed-zero {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-figure {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-spacing {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-fraction {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-blur {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-brightness {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-contrast {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-grayscale {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-hue-rotate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-invert {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-opacity {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-saturate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-sepia {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-drop-shadow-size {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-blur {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-brightness {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-contrast {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-grayscale {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-hue-rotate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-invert {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-opacity {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-saturate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-sepia {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ease {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-content {\n syntax: \"*\";\n initial-value: \"\";\n inherits: false;\n}\n@property --tw-scale-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-scale-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-scale-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-rotate-x: initial;\n --tw-rotate-y: initial;\n --tw-rotate-z: initial;\n --tw-skew-x: initial;\n --tw-skew-y: initial;\n --tw-scroll-snap-strictness: proximity;\n --tw-space-y-reverse: 0;\n --tw-space-x-reverse: 0;\n --tw-divide-y-reverse: 0;\n --tw-border-style: solid;\n --tw-gradient-position: initial;\n --tw-gradient-from: #0000;\n --tw-gradient-via: #0000;\n --tw-gradient-to: #0000;\n --tw-gradient-stops: initial;\n --tw-gradient-via-stops: initial;\n --tw-gradient-from-position: 0%;\n --tw-gradient-via-position: 50%;\n --tw-gradient-to-position: 100%;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-tracking: initial;\n --tw-ordinal: initial;\n --tw-slashed-zero: initial;\n --tw-numeric-figure: initial;\n --tw-numeric-spacing: initial;\n --tw-numeric-fraction: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-outline-style: solid;\n --tw-blur: initial;\n --tw-brightness: initial;\n --tw-contrast: initial;\n --tw-grayscale: initial;\n --tw-hue-rotate: initial;\n --tw-invert: initial;\n --tw-opacity: initial;\n --tw-saturate: initial;\n --tw-sepia: initial;\n --tw-drop-shadow: initial;\n --tw-drop-shadow-color: initial;\n --tw-drop-shadow-alpha: 100%;\n --tw-drop-shadow-size: initial;\n --tw-backdrop-blur: initial;\n --tw-backdrop-brightness: initial;\n --tw-backdrop-contrast: initial;\n --tw-backdrop-grayscale: initial;\n --tw-backdrop-hue-rotate: initial;\n --tw-backdrop-invert: initial;\n --tw-backdrop-opacity: initial;\n --tw-backdrop-saturate: initial;\n --tw-backdrop-sepia: initial;\n --tw-duration: initial;\n --tw-ease: initial;\n --tw-content: \"\";\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n }\n }\n}\n";
2091
2325
 
2092
2326
  const stylesheet = new CSSStyleSheet();
2093
2327
  stylesheet.replaceSync(css_248z);
@@ -2709,7 +2943,36 @@ if (!customElements.get('bt-carousel')) {
2709
2943
  customElements.define('bt-carousel', BTCarousel);
2710
2944
  }
2711
2945
 
2946
+ /**
2947
+ * Concatenates two arrays faster than the array spread operator.
2948
+ */
2949
+ const concatArrays = (array1, array2) => {
2950
+ // Pre-allocate for better V8 optimization
2951
+ const combinedArray = new Array(array1.length + array2.length);
2952
+ for (let i = 0; i < array1.length; i++) {
2953
+ combinedArray[i] = array1[i];
2954
+ }
2955
+ for (let i = 0; i < array2.length; i++) {
2956
+ combinedArray[array1.length + i] = array2[i];
2957
+ }
2958
+ return combinedArray;
2959
+ };
2960
+
2961
+ // Factory function ensures consistent object shapes
2962
+ const createClassValidatorObject = (classGroupId, validator) => ({
2963
+ classGroupId,
2964
+ validator
2965
+ });
2966
+ // Factory ensures consistent ClassPartObject shape
2967
+ const createClassPartObject = (nextPart = new Map(), validators = null, classGroupId) => ({
2968
+ nextPart,
2969
+ validators,
2970
+ classGroupId
2971
+ });
2712
2972
  const CLASS_PART_SEPARATOR = '-';
2973
+ const EMPTY_CONFLICTS = [];
2974
+ // I use two dots here because one dot is used as prefix for class groups in plugins
2975
+ const ARBITRARY_PROPERTY_PREFIX = 'arbitrary..';
2713
2976
  const createClassGroupUtils = config => {
2714
2977
  const classMap = createClassMap(config);
2715
2978
  const {
@@ -2717,54 +2980,73 @@ const createClassGroupUtils = config => {
2717
2980
  conflictingClassGroupModifiers
2718
2981
  } = config;
2719
2982
  const getClassGroupId = className => {
2720
- const classParts = className.split(CLASS_PART_SEPARATOR);
2721
- // Classes like `-inset-1` produce an empty string as first classPart. We assume that classes for negative values are used correctly and remove it from classParts.
2722
- if (classParts[0] === '' && classParts.length !== 1) {
2723
- classParts.shift();
2983
+ if (className.startsWith('[') && className.endsWith(']')) {
2984
+ return getGroupIdForArbitraryProperty(className);
2724
2985
  }
2725
- return getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className);
2986
+ const classParts = className.split(CLASS_PART_SEPARATOR);
2987
+ // Classes like `-inset-1` produce an empty string as first classPart. We assume that classes for negative values are used correctly and skip it.
2988
+ const startIndex = classParts[0] === '' && classParts.length > 1 ? 1 : 0;
2989
+ return getGroupRecursive(classParts, startIndex, classMap);
2726
2990
  };
2727
2991
  const getConflictingClassGroupIds = (classGroupId, hasPostfixModifier) => {
2728
- const conflicts = conflictingClassGroups[classGroupId] || [];
2729
- if (hasPostfixModifier && conflictingClassGroupModifiers[classGroupId]) {
2730
- return [...conflicts, ...conflictingClassGroupModifiers[classGroupId]];
2992
+ if (hasPostfixModifier) {
2993
+ const modifierConflicts = conflictingClassGroupModifiers[classGroupId];
2994
+ const baseConflicts = conflictingClassGroups[classGroupId];
2995
+ if (modifierConflicts) {
2996
+ if (baseConflicts) {
2997
+ // Merge base conflicts with modifier conflicts
2998
+ return concatArrays(baseConflicts, modifierConflicts);
2999
+ }
3000
+ // Only modifier conflicts
3001
+ return modifierConflicts;
3002
+ }
3003
+ // Fall back to without postfix if no modifier conflicts
3004
+ return baseConflicts || EMPTY_CONFLICTS;
2731
3005
  }
2732
- return conflicts;
3006
+ return conflictingClassGroups[classGroupId] || EMPTY_CONFLICTS;
2733
3007
  };
2734
3008
  return {
2735
3009
  getClassGroupId,
2736
3010
  getConflictingClassGroupIds
2737
3011
  };
2738
3012
  };
2739
- const getGroupRecursive = (classParts, classPartObject) => {
2740
- if (classParts.length === 0) {
3013
+ const getGroupRecursive = (classParts, startIndex, classPartObject) => {
3014
+ const classPathsLength = classParts.length - startIndex;
3015
+ if (classPathsLength === 0) {
2741
3016
  return classPartObject.classGroupId;
2742
3017
  }
2743
- const currentClassPart = classParts[0];
3018
+ const currentClassPart = classParts[startIndex];
2744
3019
  const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);
2745
- const classGroupFromNextClassPart = nextClassPartObject ? getGroupRecursive(classParts.slice(1), nextClassPartObject) : undefined;
2746
- if (classGroupFromNextClassPart) {
2747
- return classGroupFromNextClassPart;
3020
+ if (nextClassPartObject) {
3021
+ const result = getGroupRecursive(classParts, startIndex + 1, nextClassPartObject);
3022
+ if (result) return result;
2748
3023
  }
2749
- if (classPartObject.validators.length === 0) {
3024
+ const validators = classPartObject.validators;
3025
+ if (validators === null) {
2750
3026
  return undefined;
2751
3027
  }
2752
- const classRest = classParts.join(CLASS_PART_SEPARATOR);
2753
- return classPartObject.validators.find(({
2754
- validator
2755
- }) => validator(classRest))?.classGroupId;
2756
- };
2757
- const arbitraryPropertyRegex = /^\[(.+)\]$/;
2758
- const getGroupIdForArbitraryProperty = className => {
2759
- if (arbitraryPropertyRegex.test(className)) {
2760
- const arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className)[1];
2761
- const property = arbitraryPropertyClassName?.substring(0, arbitraryPropertyClassName.indexOf(':'));
2762
- if (property) {
2763
- // I use two dots here because one dot is used as prefix for class groups in plugins
2764
- return 'arbitrary..' + property;
3028
+ // Build classRest string efficiently by joining from startIndex onwards
3029
+ const classRest = startIndex === 0 ? classParts.join(CLASS_PART_SEPARATOR) : classParts.slice(startIndex).join(CLASS_PART_SEPARATOR);
3030
+ const validatorsLength = validators.length;
3031
+ for (let i = 0; i < validatorsLength; i++) {
3032
+ const validatorObj = validators[i];
3033
+ if (validatorObj.validator(classRest)) {
3034
+ return validatorObj.classGroupId;
2765
3035
  }
2766
3036
  }
3037
+ return undefined;
2767
3038
  };
3039
+ /**
3040
+ * Get the class group ID for an arbitrary property.
3041
+ *
3042
+ * @param className - The class name to get the group ID for. Is expected to be string starting with `[` and ending with `]`.
3043
+ */
3044
+ const getGroupIdForArbitraryProperty = className => className.slice(1, -1).indexOf(':') === -1 ? undefined : (() => {
3045
+ const content = className.slice(1, -1);
3046
+ const colonIndex = content.indexOf(':');
3047
+ const property = content.slice(0, colonIndex);
3048
+ return property ? ARBITRARY_PROPERTY_PREFIX + property : undefined;
3049
+ })();
2768
3050
  /**
2769
3051
  * Exported for testing only
2770
3052
  */
@@ -2773,54 +3055,77 @@ const createClassMap = config => {
2773
3055
  theme,
2774
3056
  classGroups
2775
3057
  } = config;
2776
- const classMap = {
2777
- nextPart: new Map(),
2778
- validators: []
2779
- };
3058
+ return processClassGroups(classGroups, theme);
3059
+ };
3060
+ // Split into separate functions to maintain monomorphic call sites
3061
+ const processClassGroups = (classGroups, theme) => {
3062
+ const classMap = createClassPartObject();
2780
3063
  for (const classGroupId in classGroups) {
2781
- processClassesRecursively(classGroups[classGroupId], classMap, classGroupId, theme);
3064
+ const group = classGroups[classGroupId];
3065
+ processClassesRecursively(group, classMap, classGroupId, theme);
2782
3066
  }
2783
3067
  return classMap;
2784
3068
  };
2785
3069
  const processClassesRecursively = (classGroup, classPartObject, classGroupId, theme) => {
2786
- classGroup.forEach(classDefinition => {
2787
- if (typeof classDefinition === 'string') {
2788
- const classPartObjectToEdit = classDefinition === '' ? classPartObject : getPart(classPartObject, classDefinition);
2789
- classPartObjectToEdit.classGroupId = classGroupId;
2790
- return;
2791
- }
2792
- if (typeof classDefinition === 'function') {
2793
- if (isThemeGetter(classDefinition)) {
2794
- processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);
2795
- return;
2796
- }
2797
- classPartObject.validators.push({
2798
- validator: classDefinition,
2799
- classGroupId
2800
- });
2801
- return;
2802
- }
2803
- Object.entries(classDefinition).forEach(([key, classGroup]) => {
2804
- processClassesRecursively(classGroup, getPart(classPartObject, key), classGroupId, theme);
2805
- });
2806
- });
3070
+ const len = classGroup.length;
3071
+ for (let i = 0; i < len; i++) {
3072
+ const classDefinition = classGroup[i];
3073
+ processClassDefinition(classDefinition, classPartObject, classGroupId, theme);
3074
+ }
3075
+ };
3076
+ // Split into separate functions for each type to maintain monomorphic call sites
3077
+ const processClassDefinition = (classDefinition, classPartObject, classGroupId, theme) => {
3078
+ if (typeof classDefinition === 'string') {
3079
+ processStringDefinition(classDefinition, classPartObject, classGroupId);
3080
+ return;
3081
+ }
3082
+ if (typeof classDefinition === 'function') {
3083
+ processFunctionDefinition(classDefinition, classPartObject, classGroupId, theme);
3084
+ return;
3085
+ }
3086
+ processObjectDefinition(classDefinition, classPartObject, classGroupId, theme);
3087
+ };
3088
+ const processStringDefinition = (classDefinition, classPartObject, classGroupId) => {
3089
+ const classPartObjectToEdit = classDefinition === '' ? classPartObject : getPart(classPartObject, classDefinition);
3090
+ classPartObjectToEdit.classGroupId = classGroupId;
3091
+ };
3092
+ const processFunctionDefinition = (classDefinition, classPartObject, classGroupId, theme) => {
3093
+ if (isThemeGetter(classDefinition)) {
3094
+ processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);
3095
+ return;
3096
+ }
3097
+ if (classPartObject.validators === null) {
3098
+ classPartObject.validators = [];
3099
+ }
3100
+ classPartObject.validators.push(createClassValidatorObject(classGroupId, classDefinition));
3101
+ };
3102
+ const processObjectDefinition = (classDefinition, classPartObject, classGroupId, theme) => {
3103
+ const entries = Object.entries(classDefinition);
3104
+ const len = entries.length;
3105
+ for (let i = 0; i < len; i++) {
3106
+ const [key, value] = entries[i];
3107
+ processClassesRecursively(value, getPart(classPartObject, key), classGroupId, theme);
3108
+ }
2807
3109
  };
2808
3110
  const getPart = (classPartObject, path) => {
2809
- let currentClassPartObject = classPartObject;
2810
- path.split(CLASS_PART_SEPARATOR).forEach(pathPart => {
2811
- if (!currentClassPartObject.nextPart.has(pathPart)) {
2812
- currentClassPartObject.nextPart.set(pathPart, {
2813
- nextPart: new Map(),
2814
- validators: []
2815
- });
2816
- }
2817
- currentClassPartObject = currentClassPartObject.nextPart.get(pathPart);
2818
- });
2819
- return currentClassPartObject;
3111
+ let current = classPartObject;
3112
+ const parts = path.split(CLASS_PART_SEPARATOR);
3113
+ const len = parts.length;
3114
+ for (let i = 0; i < len; i++) {
3115
+ const part = parts[i];
3116
+ let next = current.nextPart.get(part);
3117
+ if (!next) {
3118
+ next = createClassPartObject();
3119
+ current.nextPart.set(part, next);
3120
+ }
3121
+ current = next;
3122
+ }
3123
+ return current;
2820
3124
  };
2821
- const isThemeGetter = func => func.isThemeGetter;
3125
+ // Type guard maintains monomorphic check
3126
+ const isThemeGetter = func => 'isThemeGetter' in func && func.isThemeGetter === true;
2822
3127
 
2823
- // LRU cache inspired from hashlru (https://github.com/dominictarr/hashlru/blob/v1.0.4/index.js) but object replaced with Map to improve performance
3128
+ // LRU cache implementation using plain objects for simplicity
2824
3129
  const createLruCache = maxCacheSize => {
2825
3130
  if (maxCacheSize < 1) {
2826
3131
  return {
@@ -2829,31 +3134,31 @@ const createLruCache = maxCacheSize => {
2829
3134
  };
2830
3135
  }
2831
3136
  let cacheSize = 0;
2832
- let cache = new Map();
2833
- let previousCache = new Map();
3137
+ let cache = Object.create(null);
3138
+ let previousCache = Object.create(null);
2834
3139
  const update = (key, value) => {
2835
- cache.set(key, value);
3140
+ cache[key] = value;
2836
3141
  cacheSize++;
2837
3142
  if (cacheSize > maxCacheSize) {
2838
3143
  cacheSize = 0;
2839
3144
  previousCache = cache;
2840
- cache = new Map();
3145
+ cache = Object.create(null);
2841
3146
  }
2842
3147
  };
2843
3148
  return {
2844
3149
  get(key) {
2845
- let value = cache.get(key);
3150
+ let value = cache[key];
2846
3151
  if (value !== undefined) {
2847
3152
  return value;
2848
3153
  }
2849
- if ((value = previousCache.get(key)) !== undefined) {
3154
+ if ((value = previousCache[key]) !== undefined) {
2850
3155
  update(key, value);
2851
3156
  return value;
2852
3157
  }
2853
3158
  },
2854
3159
  set(key, value) {
2855
- if (cache.has(key)) {
2856
- cache.set(key, value);
3160
+ if (key in cache) {
3161
+ cache[key] = value;
2857
3162
  } else {
2858
3163
  update(key, value);
2859
3164
  }
@@ -2862,7 +3167,15 @@ const createLruCache = maxCacheSize => {
2862
3167
  };
2863
3168
  const IMPORTANT_MODIFIER = '!';
2864
3169
  const MODIFIER_SEPARATOR = ':';
2865
- const MODIFIER_SEPARATOR_LENGTH = MODIFIER_SEPARATOR.length;
3170
+ const EMPTY_MODIFIERS = [];
3171
+ // Pre-allocated result object shape for consistency
3172
+ const createResultObject = (modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition, isExternal) => ({
3173
+ modifiers,
3174
+ hasImportantModifier,
3175
+ baseClassName,
3176
+ maybePostfixModifierPosition,
3177
+ isExternal
3178
+ });
2866
3179
  const createParseClassName = config => {
2867
3180
  const {
2868
3181
  prefix,
@@ -2875,17 +3188,19 @@ const createParseClassName = config => {
2875
3188
  * @see https://github.com/tailwindlabs/tailwindcss/blob/v3.2.2/src/util/splitAtTopLevelOnly.js
2876
3189
  */
2877
3190
  let parseClassName = className => {
3191
+ // Use simple array with push for better performance
2878
3192
  const modifiers = [];
2879
3193
  let bracketDepth = 0;
2880
3194
  let parenDepth = 0;
2881
3195
  let modifierStart = 0;
2882
3196
  let postfixModifierPosition;
2883
- for (let index = 0; index < className.length; index++) {
2884
- let currentCharacter = className[index];
3197
+ const len = className.length;
3198
+ for (let index = 0; index < len; index++) {
3199
+ const currentCharacter = className[index];
2885
3200
  if (bracketDepth === 0 && parenDepth === 0) {
2886
3201
  if (currentCharacter === MODIFIER_SEPARATOR) {
2887
3202
  modifiers.push(className.slice(modifierStart, index));
2888
- modifierStart = index + MODIFIER_SEPARATOR_LENGTH;
3203
+ modifierStart = index + 1;
2889
3204
  continue;
2890
3205
  }
2891
3206
  if (currentCharacter === '/') {
@@ -2893,37 +3208,31 @@ const createParseClassName = config => {
2893
3208
  continue;
2894
3209
  }
2895
3210
  }
2896
- if (currentCharacter === '[') {
2897
- bracketDepth++;
2898
- } else if (currentCharacter === ']') {
2899
- bracketDepth--;
2900
- } else if (currentCharacter === '(') {
2901
- parenDepth++;
2902
- } else if (currentCharacter === ')') {
2903
- parenDepth--;
2904
- }
3211
+ if (currentCharacter === '[') bracketDepth++;else if (currentCharacter === ']') bracketDepth--;else if (currentCharacter === '(') parenDepth++;else if (currentCharacter === ')') parenDepth--;
3212
+ }
3213
+ const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.slice(modifierStart);
3214
+ // Inline important modifier check
3215
+ let baseClassName = baseClassNameWithImportantModifier;
3216
+ let hasImportantModifier = false;
3217
+ if (baseClassNameWithImportantModifier.endsWith(IMPORTANT_MODIFIER)) {
3218
+ baseClassName = baseClassNameWithImportantModifier.slice(0, -1);
3219
+ hasImportantModifier = true;
3220
+ } else if (
3221
+ /**
3222
+ * In Tailwind CSS v3 the important modifier was at the start of the base class name. This is still supported for legacy reasons.
3223
+ * @see https://github.com/dcastil/tailwind-merge/issues/513#issuecomment-2614029864
3224
+ */
3225
+ baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER)) {
3226
+ baseClassName = baseClassNameWithImportantModifier.slice(1);
3227
+ hasImportantModifier = true;
2905
3228
  }
2906
- const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.substring(modifierStart);
2907
- const baseClassName = stripImportantModifier(baseClassNameWithImportantModifier);
2908
- const hasImportantModifier = baseClassName !== baseClassNameWithImportantModifier;
2909
3229
  const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : undefined;
2910
- return {
2911
- modifiers,
2912
- hasImportantModifier,
2913
- baseClassName,
2914
- maybePostfixModifierPosition
2915
- };
3230
+ return createResultObject(modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition);
2916
3231
  };
2917
3232
  if (prefix) {
2918
3233
  const fullPrefix = prefix + MODIFIER_SEPARATOR;
2919
3234
  const parseClassNameOriginal = parseClassName;
2920
- parseClassName = className => className.startsWith(fullPrefix) ? parseClassNameOriginal(className.substring(fullPrefix.length)) : {
2921
- isExternal: true,
2922
- modifiers: [],
2923
- hasImportantModifier: false,
2924
- baseClassName: className,
2925
- maybePostfixModifierPosition: undefined
2926
- };
3235
+ parseClassName = className => className.startsWith(fullPrefix) ? parseClassNameOriginal(className.slice(fullPrefix.length)) : createResultObject(EMPTY_MODIFIERS, false, className, undefined, true);
2927
3236
  }
2928
3237
  if (experimentalParseClassName) {
2929
3238
  const parseClassNameOriginal = parseClassName;
@@ -2934,19 +3243,6 @@ const createParseClassName = config => {
2934
3243
  }
2935
3244
  return parseClassName;
2936
3245
  };
2937
- const stripImportantModifier = baseClassName => {
2938
- if (baseClassName.endsWith(IMPORTANT_MODIFIER)) {
2939
- return baseClassName.substring(0, baseClassName.length - 1);
2940
- }
2941
- /**
2942
- * In Tailwind CSS v3 the important modifier was at the start of the base class name. This is still supported for legacy reasons.
2943
- * @see https://github.com/dcastil/tailwind-merge/issues/513#issuecomment-2614029864
2944
- */
2945
- if (baseClassName.startsWith(IMPORTANT_MODIFIER)) {
2946
- return baseClassName.substring(1);
2947
- }
2948
- return baseClassName;
2949
- };
2950
3246
 
2951
3247
  /**
2952
3248
  * Sorts modifiers according to following schema:
@@ -2954,26 +3250,41 @@ const stripImportantModifier = baseClassName => {
2954
3250
  * - When an arbitrary variant appears, it must be preserved which modifiers are before and after it
2955
3251
  */
2956
3252
  const createSortModifiers = config => {
2957
- const orderSensitiveModifiers = Object.fromEntries(config.orderSensitiveModifiers.map(modifier => [modifier, true]));
2958
- const sortModifiers = modifiers => {
2959
- if (modifiers.length <= 1) {
2960
- return modifiers;
2961
- }
2962
- const sortedModifiers = [];
2963
- let unsortedModifiers = [];
2964
- modifiers.forEach(modifier => {
2965
- const isPositionSensitive = modifier[0] === '[' || orderSensitiveModifiers[modifier];
2966
- if (isPositionSensitive) {
2967
- sortedModifiers.push(...unsortedModifiers.sort(), modifier);
2968
- unsortedModifiers = [];
3253
+ // Pre-compute weights for all known modifiers for O(1) comparison
3254
+ const modifierWeights = new Map();
3255
+ // Assign weights to sensitive modifiers (highest priority, but preserve order)
3256
+ config.orderSensitiveModifiers.forEach((mod, index) => {
3257
+ modifierWeights.set(mod, 1000000 + index); // High weights for sensitive mods
3258
+ });
3259
+ return modifiers => {
3260
+ const result = [];
3261
+ let currentSegment = [];
3262
+ // Process modifiers in one pass
3263
+ for (let i = 0; i < modifiers.length; i++) {
3264
+ const modifier = modifiers[i];
3265
+ // Check if modifier is sensitive (starts with '[' or in orderSensitiveModifiers)
3266
+ const isArbitrary = modifier[0] === '[';
3267
+ const isOrderSensitive = modifierWeights.has(modifier);
3268
+ if (isArbitrary || isOrderSensitive) {
3269
+ // Sort and flush current segment alphabetically
3270
+ if (currentSegment.length > 0) {
3271
+ currentSegment.sort();
3272
+ result.push(...currentSegment);
3273
+ currentSegment = [];
3274
+ }
3275
+ result.push(modifier);
2969
3276
  } else {
2970
- unsortedModifiers.push(modifier);
3277
+ // Regular modifier - add to current segment for batch sorting
3278
+ currentSegment.push(modifier);
2971
3279
  }
2972
- });
2973
- sortedModifiers.push(...unsortedModifiers.sort());
2974
- return sortedModifiers;
3280
+ }
3281
+ // Sort and add any remaining segment items
3282
+ if (currentSegment.length > 0) {
3283
+ currentSegment.sort();
3284
+ result.push(...currentSegment);
3285
+ }
3286
+ return result;
2975
3287
  };
2976
- return sortModifiers;
2977
3288
  };
2978
3289
  const createConfigUtils = config => ({
2979
3290
  cache: createLruCache(config.cacheSize),
@@ -3028,10 +3339,11 @@ const mergeClassList = (classList, configUtils) => {
3028
3339
  }
3029
3340
  hasPostfixModifier = false;
3030
3341
  }
3031
- const variantModifier = sortModifiers(modifiers).join(':');
3342
+ // Fast path: skip sorting for empty or single modifier
3343
+ const variantModifier = modifiers.length === 0 ? '' : modifiers.length === 1 ? modifiers[0] : sortModifiers(modifiers).join(':');
3032
3344
  const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;
3033
3345
  const classId = modifierId + classGroupId;
3034
- if (classGroupsInConflict.includes(classId)) {
3346
+ if (classGroupsInConflict.indexOf(classId) > -1) {
3035
3347
  // Tailwind class omitted due to conflict
3036
3348
  continue;
3037
3349
  }
@@ -3056,13 +3368,13 @@ const mergeClassList = (classList, configUtils) => {
3056
3368
  *
3057
3369
  * Original code has MIT license: Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)
3058
3370
  */
3059
- function twJoin() {
3371
+ const twJoin = (...classLists) => {
3060
3372
  let index = 0;
3061
3373
  let argument;
3062
3374
  let resolvedValue;
3063
3375
  let string = '';
3064
- while (index < arguments.length) {
3065
- if (argument = arguments[index++]) {
3376
+ while (index < classLists.length) {
3377
+ if (argument = classLists[index++]) {
3066
3378
  if (resolvedValue = toValue(argument)) {
3067
3379
  string && (string += ' ');
3068
3380
  string += resolvedValue;
@@ -3070,8 +3382,9 @@ function twJoin() {
3070
3382
  }
3071
3383
  }
3072
3384
  return string;
3073
- }
3385
+ };
3074
3386
  const toValue = mix => {
3387
+ // Fast path for strings
3075
3388
  if (typeof mix === 'string') {
3076
3389
  return mix;
3077
3390
  }
@@ -3087,20 +3400,20 @@ const toValue = mix => {
3087
3400
  }
3088
3401
  return string;
3089
3402
  };
3090
- function createTailwindMerge(createConfigFirst, ...createConfigRest) {
3403
+ const createTailwindMerge = (createConfigFirst, ...createConfigRest) => {
3091
3404
  let configUtils;
3092
3405
  let cacheGet;
3093
3406
  let cacheSet;
3094
- let functionToCall = initTailwindMerge;
3095
- function initTailwindMerge(classList) {
3407
+ let functionToCall;
3408
+ const initTailwindMerge = classList => {
3096
3409
  const config = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());
3097
3410
  configUtils = createConfigUtils(config);
3098
3411
  cacheGet = configUtils.cache.get;
3099
3412
  cacheSet = configUtils.cache.set;
3100
3413
  functionToCall = tailwindMerge;
3101
3414
  return tailwindMerge(classList);
3102
- }
3103
- function tailwindMerge(classList) {
3415
+ };
3416
+ const tailwindMerge = classList => {
3104
3417
  const cachedResult = cacheGet(classList);
3105
3418
  if (cachedResult) {
3106
3419
  return cachedResult;
@@ -3108,13 +3421,13 @@ function createTailwindMerge(createConfigFirst, ...createConfigRest) {
3108
3421
  const result = mergeClassList(classList, configUtils);
3109
3422
  cacheSet(classList, result);
3110
3423
  return result;
3111
- }
3112
- return function callTailwindMerge() {
3113
- return functionToCall(twJoin.apply(null, arguments));
3114
3424
  };
3115
- }
3425
+ functionToCall = initTailwindMerge;
3426
+ return (...args) => functionToCall(twJoin(...args));
3427
+ };
3428
+ const fallbackThemeArr = [];
3116
3429
  const fromTheme = key => {
3117
- const themeGetter = theme => theme[key] || [];
3430
+ const themeGetter = theme => theme[key] || fallbackThemeArr;
3118
3431
  themeGetter.isThemeGetter = true;
3119
3432
  return themeGetter;
3120
3433
  };
@@ -7244,9 +7557,41 @@ const chatSectionStyles$2 = i$4 `
7244
7557
  ${scrollBarStyles}
7245
7558
  `;
7246
7559
 
7560
+ // eslint-disable-next-line @nx/enforce-module-boundaries
7247
7561
  const capitalizeEachWord = (str) => {
7248
7562
  return str === null || str === void 0 ? void 0 : str.replace(/^\w/, (char) => char.toUpperCase());
7249
7563
  };
7564
+ /**
7565
+ * Injects color configuration as CSS custom properties on an element's style.
7566
+ * @param element - The HTMLElement or CSSStyleDeclaration to apply styles to
7567
+ * @param colorConfig - Optional color configuration, defaults to DEFAULT_COLOR_CONFIG
7568
+ */
7569
+ const injectColorConfig = (element, colorConfig) => {
7570
+ const style = element instanceof HTMLElement ? element.style : element;
7571
+ const config = colorConfig || DEFAULT_COLOR_CONFIG;
7572
+ style.setProperty('--chatbot-icon-bg-color', config.chatbotIcon.backgroundColor);
7573
+ style.setProperty('--chatbot-icon-color', config.chatbotIcon.iconColor);
7574
+ style.setProperty('--navbar-bg-color', config.welcomeScreen.navbar.backgroundColor);
7575
+ style.setProperty('--navbar-font-color', config.welcomeScreen.navbar.fontColor);
7576
+ style.setProperty('--welcome-prompts-bg-color', config.welcomeScreen.welcomePrompts.backgroundColor);
7577
+ style.setProperty('--welcome-prompts-font-color', config.welcomeScreen.welcomePrompts.fontColor);
7578
+ style.setProperty('--previous-thread-bg-color', config.welcomeScreen.previousThread.backgroundColor);
7579
+ style.setProperty('--previous-thread-font-color', config.welcomeScreen.previousThread.fontColor);
7580
+ style.setProperty('--bot-message-bg-color', config.chatMessages.bot.backgroundColor);
7581
+ style.setProperty('--bot-message-font-color', config.chatMessages.bot.fontColor);
7582
+ style.setProperty('--user-message-bg-color', config.chatMessages.user.backgroundColor);
7583
+ style.setProperty('--user-message-font-color', config.chatMessages.user.fontColor);
7584
+ style.setProperty('--custom-prompt-bg-color', config.customPrompts.backgroundColor);
7585
+ style.setProperty('--custom-prompt-font-color', config.customPrompts.fontColor);
7586
+ style.setProperty('--custom-prompt-border-color', config.customPrompts.borderColor);
7587
+ style.setProperty('--product-tile-bg-color', config.productTiles.backgroundColor);
7588
+ style.setProperty('--product-tile-border-color', config.productTiles.borderColor);
7589
+ style.setProperty('--product-tile-image-bg-color', config.productTiles.imageBackground);
7590
+ style.setProperty('--product-tile-view-button-bg-color', config.productTiles.viewButton.backgroundColor);
7591
+ style.setProperty('--product-tile-view-button-font-color', config.productTiles.viewButton.fontColor);
7592
+ style.setProperty('--chat-nudge-bg-color', config.chatNudge.backgroundColor);
7593
+ style.setProperty('--chat-nudge-font-color', config.chatNudge.fontColor);
7594
+ };
7250
7595
  /**
7251
7596
  * For the time being we are disabling the welcome flow so commenting out this
7252
7597
  * once we decide to bring back the welcome flow we will uncomment this code
@@ -11129,8 +11474,8 @@ const chatSectionStyles = i$4 `
11129
11474
  .chatbot-section.welcome {
11130
11475
  background: linear-gradient(
11131
11476
  to bottom,
11132
- #000 0%,
11133
- #000 9.875em,
11477
+ var(--navbar-bg-color, #000) 0%,
11478
+ var(--navbar-bg-color, #000) 9.875em,
11134
11479
  #ffffff 9.875em,
11135
11480
  #ffffff 100%
11136
11481
  );
@@ -11189,8 +11534,8 @@ const chatSectionStyles = i$4 `
11189
11534
  }
11190
11535
 
11191
11536
  .message.user {
11192
- background: #ce9e44;
11193
- color: #fafafa;
11537
+ background: var(--user-message-bg-color, #ce9e44);
11538
+ color: var(--user-message-font-color, #fafafa);
11194
11539
  max-width: 75%;
11195
11540
  align-self: flex-end;
11196
11541
  padding: 0.5714em 0.8571em;
@@ -11200,12 +11545,12 @@ const chatSectionStyles = i$4 `
11200
11545
  .message.bot {
11201
11546
  display: flex;
11202
11547
  gap: 1.1429em;
11203
- color: #000000;
11548
+ color: var(--bot-message-font-color, #000000);
11204
11549
  max-width: 90%;
11205
11550
 
11206
11551
  padding: 1.1429em;
11207
11552
  border-radius: 0.7143em;
11208
- background: #fff;
11553
+ background: var(--bot-message-bg-color, #fff);
11209
11554
  box-shadow: 0 0.2857em 0.4286em -0.0714em rgba(0, 0, 0, 0.1),
11210
11555
  0 0.1429em 0.2857em -0.0714em rgba(0, 0, 0, 0.06);
11211
11556
 
@@ -11254,15 +11599,15 @@ const chatSectionStyles = i$4 `
11254
11599
  .prompt {
11255
11600
  padding: 0.5em 0.75em;
11256
11601
  border-radius: 6px;
11257
- border: 0.0625em solid #d1d5db;
11258
- background: #ffffff;
11602
+ border: 0.0625em solid var(--custom-prompt-border-color, #d1d5db);
11603
+ background: var(--custom-prompt-bg-color, #ffffff);
11259
11604
  text-decoration: none;
11260
11605
  white-space: nowrap;
11261
11606
  display: inline-flex;
11262
11607
  text-wrap: wrap;
11263
11608
  max-width: 90%;
11264
11609
 
11265
- color: #18181b;
11610
+ color: var(--custom-prompt-font-color, #18181b);
11266
11611
  font-size: 0.875em;
11267
11612
  font-style: normal;
11268
11613
  font-weight: 500;
@@ -11270,8 +11615,17 @@ const chatSectionStyles = i$4 `
11270
11615
  transition: background-color 0.2s ease, border-color 0.2s ease;
11271
11616
 
11272
11617
  &:hover {
11273
- border: 0.0625em solid #e4e4e7;
11274
- background: #f4f4f5;
11618
+ border: 0.0625em solid
11619
+ color-mix(
11620
+ in srgb,
11621
+ var(--custom-prompt-border-color, #d1d5db) 80%,
11622
+ black
11623
+ );
11624
+ background: color-mix(
11625
+ in srgb,
11626
+ var(--custom-prompt-bg-color, #ffffff) 95%,
11627
+ black
11628
+ );
11275
11629
  }
11276
11630
  }
11277
11631
 
@@ -11411,7 +11765,7 @@ const productItemStyles = i$4 `
11411
11765
  object-position: center;
11412
11766
  object-fit: cover;
11413
11767
  border-radius: 0.5em;
11414
- background: #ffffff;
11768
+ background: var(--product-tile-image-bg-color, #ffffff);
11415
11769
  }
11416
11770
  }
11417
11771
 
@@ -11422,9 +11776,9 @@ const productItemStyles = i$4 `
11422
11776
  align-items: flex-start;
11423
11777
  gap: 0.375em;
11424
11778
  border-radius: 0.625em;
11425
- background-color: #fff;
11779
+ background-color: var(--product-tile-bg-color, #fff);
11426
11780
  box-sizing: border-box;
11427
- border: 0.03125em solid #cbd5e1;
11781
+ border: 0.03125em solid var(--product-tile-border-color, #cbd5e1);
11428
11782
  }
11429
11783
 
11430
11784
  .content {
@@ -11534,8 +11888,8 @@ const productItemStyles = i$4 `
11534
11888
  align-items: center;
11535
11889
  gap: 0.5714em;
11536
11890
  border-radius: 0.4286em;
11537
- background: #18181b;
11538
- color: #fafafa;
11891
+ background: var(--product-tile-view-button-bg-color, #18181b);
11892
+ color: var(--product-tile-view-button-font-color, #fafafa);
11539
11893
  font-style: normal;
11540
11894
  font-weight: 500;
11541
11895
  line-height: 100%;
@@ -12045,7 +12399,7 @@ const chatIconStyles = i$4 `
12045
12399
  gap: 0.625em;
12046
12400
  aspect-ratio: 1/1;
12047
12401
  border-radius: 1.8125em;
12048
- background: #444;
12402
+ background: var(--chatbot-icon-bg-color, #444);
12049
12403
  box-shadow: 0 0.25em 0.375em -0.0625em rgba(0, 0, 0, 0.1),
12050
12404
  0 0.125em 0.25em -0.0625em rgba(0, 0, 0, 0.06);
12051
12405
  cursor: pointer;
@@ -12067,17 +12421,57 @@ const chatIconStyles = i$4 `
12067
12421
  width: 1.625em;
12068
12422
  height: 1.5em;
12069
12423
  flex-shrink: 0;
12070
- fill: #fff;
12424
+ fill: var(--chatbot-icon-color, #fff);
12425
+ }
12426
+
12427
+ /* Size variants - scale the entire icon */
12428
+ .chat-icon.size-small {
12429
+ width: 2.5em;
12430
+ height: 2.5em;
12431
+ padding: 0.6897em;
12432
+
12433
+ .icon-container {
12434
+ width: 1.3794em;
12435
+ height: 1.3794em;
12436
+
12437
+ svg {
12438
+ width: 1.1206em;
12439
+ height: 1.0346em;
12440
+ }
12441
+ }
12442
+ }
12443
+
12444
+ .chat-icon.size-medium {
12445
+ width: 3.625em;
12446
+ height: 3.625em;
12447
+ padding: 1em;
12448
+ }
12449
+
12450
+ .chat-icon.size-large {
12451
+ width: 5em;
12452
+ height: 5em;
12453
+ padding: 1.3793em;
12454
+
12455
+ .icon-container {
12456
+ width: 2.7586em;
12457
+ height: 2.7586em;
12458
+
12459
+ svg {
12460
+ width: 2.2414em;
12461
+ height: 2.069em;
12462
+ }
12463
+ }
12071
12464
  }
12072
12465
  `;
12073
12466
 
12074
12467
  const chatIcon = b `<svg xmlns="http://www.w3.org/2000/svg" width="26" height="24" viewBox="0 0 26 24" fill="none">
12075
- <path d="M20.6667 4.00001V12C20.6667 14.0227 19.0227 15.6667 17 15.6667H5.90133C5.57867 15.6667 5.26533 15.7587 4.996 15.9347L2.57467 17.504C2.29867 17.684 1.984 17.7733 1.66667 17.7733C1.39333 17.7733 1.12 17.7053 0.869333 17.5707C0.333333 17.2787 0 16.7173 0 16.1067V4.00001C0 1.97734 1.644 0.333344 3.66667 0.333344H17C19.0227 0.333344 20.6667 1.97734 20.6667 4.00001ZM22.6667 5.68001V12C22.6667 15.12 20.12 17.6667 17 17.6667H6L5.41333 18.0533C5.74667 19.7333 7.22667 21 9 21H19.3067C20.1467 21 20.96 21.24 21.6667 21.6933L23.4267 22.84C23.7067 23.0133 24.0133 23.1067 24.3333 23.1067C24.6133 23.1067 24.88 23.04 25.1333 22.9067C25.6667 22.6133 26 22.0533 26 21.44V9.33334C26 7.41334 24.5333 5.85334 22.6667 5.68001Z" fill="white"/>
12468
+ <path d="M20.6667 4.00001V12C20.6667 14.0227 19.0227 15.6667 17 15.6667H5.90133C5.57867 15.6667 5.26533 15.7587 4.996 15.9347L2.57467 17.504C2.29867 17.684 1.984 17.7733 1.66667 17.7733C1.39333 17.7733 1.12 17.7053 0.869333 17.5707C0.333333 17.2787 0 16.7173 0 16.1067V4.00001C0 1.97734 1.644 0.333344 3.66667 0.333344H17C19.0227 0.333344 20.6667 1.97734 20.6667 4.00001ZM22.6667 5.68001V12C22.6667 15.12 20.12 17.6667 17 17.6667H6L5.41333 18.0533C5.74667 19.7333 7.22667 21 9 21H19.3067C20.1467 21 20.96 21.24 21.6667 21.6933L23.4267 22.84C23.7067 23.0133 24.0133 23.1067 24.3333 23.1067C24.6133 23.1067 24.88 23.04 25.1333 22.9067C25.6667 22.6133 26 22.0533 26 21.44V9.33334C26 7.41334 24.5333 5.85334 22.6667 5.68001Z"/>
12076
12469
  </svg>`;
12077
12470
  class ChatIcon extends ElementWithStylesheet {
12078
12471
  render() {
12472
+ const sizeClass = this.size ? `size-${this.size}` : '';
12079
12473
  return x `
12080
- <div class="chat-icon">
12474
+ <div class="chat-icon ${sizeClass}">
12081
12475
  ${this.chatbotIconUrl
12082
12476
  ? x `<img
12083
12477
  src=${this.chatbotIconUrl}
@@ -12095,6 +12489,10 @@ __decorate([
12095
12489
  n$1({ type: String }),
12096
12490
  __metadata("design:type", String)
12097
12491
  ], ChatIcon.prototype, "chatbotIconUrl", void 0);
12492
+ __decorate([
12493
+ n$1({ type: String }),
12494
+ __metadata("design:type", String)
12495
+ ], ChatIcon.prototype, "size", void 0);
12098
12496
  if (!customElements.get('chat-icon-v2')) {
12099
12497
  customElements.define('chat-icon-v2', ChatIcon);
12100
12498
  }
@@ -12111,13 +12509,13 @@ const navbarStyles = i$4 `
12111
12509
  justify-content: space-between;
12112
12510
  align-items: center;
12113
12511
  align-self: stretch;
12114
- background: #000000;
12512
+ background: var(--navbar-bg-color, #000000);
12115
12513
  gap: 0.5em;
12116
12514
  height: 4.5em;
12117
12515
  box-sizing: border-box;
12118
12516
 
12119
12517
  .thread-title {
12120
- color: #fff;
12518
+ color: var(--navbar-font-color, #fff);
12121
12519
  font-size: 1em;
12122
12520
  font-style: normal;
12123
12521
  font-weight: 400;
@@ -12563,7 +12961,7 @@ const welcomeHeaderStyles = i$4 `
12563
12961
  align-items: flex-start;
12564
12962
  width: 100%;
12565
12963
  height: 9.875em;
12566
- background: #000;
12964
+ background: var(--navbar-bg-color, #000);
12567
12965
  box-sizing: border-box;
12568
12966
  }
12569
12967
 
@@ -12590,7 +12988,7 @@ const welcomeHeaderStyles = i$4 `
12590
12988
  .message-section {
12591
12989
  margin-top: 0.25em;
12592
12990
  align-self: stretch;
12593
- color: #fff;
12991
+ color: var(--navbar-font-color, #fff);
12594
12992
  font-size: 1em;
12595
12993
  font-style: normal;
12596
12994
  font-weight: 600;
@@ -12620,7 +13018,7 @@ const welcomeHeaderStyles = i$4 `
12620
13018
  }
12621
13019
 
12622
13020
  .status-text {
12623
- color: #fff;
13021
+ color: var(--navbar-font-color, #fff);
12624
13022
  font-size: 0.75em;
12625
13023
  font-style: normal;
12626
13024
  font-weight: 500;
@@ -12709,7 +13107,7 @@ const welcomePromptStyles = i$4 `
12709
13107
  align-self: stretch;
12710
13108
  border-radius: 0.375em;
12711
13109
  border: 0.0625em solid #e5e7eb;
12712
- background: #ffffff;
13110
+ background: var(--welcome-prompts-bg-color, #ffffff);
12713
13111
  box-shadow: 0 0.0625em 0.125em 0 rgba(0, 0, 0, 0.05);
12714
13112
  cursor: pointer;
12715
13113
  width: 100%;
@@ -12761,7 +13159,7 @@ const welcomePromptStyles = i$4 `
12761
13159
 
12762
13160
  .prompt-text {
12763
13161
  flex: 1;
12764
- color: #18181b;
13162
+ color: var(--welcome-prompts-font-color, #18181b);
12765
13163
  font-size: 0.875em;
12766
13164
  font-style: normal;
12767
13165
  font-weight: 500;
@@ -12899,8 +13297,9 @@ const previousThreadStyles = i$4 `
12899
13297
  align-items: center;
12900
13298
  align-self: stretch;
12901
13299
  border-radius: 0.375em;
12902
- border: 0.0625em solid #a67e33;
12903
- background: #ce9e44;
13300
+ border: 0.0625em solid
13301
+ color-mix(in srgb, var(--previous-thread-bg-color, #ce9e44) 80%, black);
13302
+ background: var(--previous-thread-bg-color, #ce9e44);
12904
13303
  box-shadow: 0 0.0625em 0.125em 0 rgba(0, 0, 0, 0.05);
12905
13304
  cursor: pointer;
12906
13305
  width: 100%;
@@ -12931,7 +13330,7 @@ const previousThreadStyles = i$4 `
12931
13330
 
12932
13331
  .thread-title {
12933
13332
  flex: 1;
12934
- color: #fff;
13333
+ color: var(--previous-thread-font-color, #fff);
12935
13334
  display: flex;
12936
13335
  flex-direction: row;
12937
13336
  gap: 0.25em;
@@ -14036,7 +14435,7 @@ const chatNudgeStyles = i$4 `
14036
14435
  gap: 0.75em;
14037
14436
  width: 16.875em;
14038
14437
  border-radius: 0.5em;
14039
- background: #fff;
14438
+ background: var(--chat-nudge-bg-color, #fff);
14040
14439
  box-shadow: 0 0 2.5em 0 rgba(0, 0, 0, 0.1);
14041
14440
  box-sizing: border-box;
14042
14441
  }
@@ -14054,6 +14453,7 @@ const chatNudgeStyles = i$4 `
14054
14453
  .close-btn {
14055
14454
  opacity: 1;
14056
14455
  cursor: pointer;
14456
+ color: var(--chat-nudge-font-color, #020617);
14057
14457
 
14058
14458
  &:hover {
14059
14459
  opacity: 0.5;
@@ -14062,6 +14462,10 @@ const chatNudgeStyles = i$4 `
14062
14462
  &:active {
14063
14463
  opacity: 1;
14064
14464
  }
14465
+
14466
+ bt-lucide-icon {
14467
+ stroke: var(--chat-nudge-font-color, #020617);
14468
+ }
14065
14469
  }
14066
14470
 
14067
14471
  .content-section {
@@ -14072,7 +14476,7 @@ const chatNudgeStyles = i$4 `
14072
14476
  }
14073
14477
 
14074
14478
  .heading {
14075
- color: #020617;
14479
+ color: var(--chat-nudge-font-color, #020617);
14076
14480
  font-size: 0.875em;
14077
14481
  font-style: normal;
14078
14482
  font-weight: 600;
@@ -14081,7 +14485,7 @@ const chatNudgeStyles = i$4 `
14081
14485
  }
14082
14486
 
14083
14487
  .assist-message-container {
14084
- color: #020617;
14488
+ color: var(--chat-nudge-font-color, #020617);
14085
14489
  font-size: 0.875em;
14086
14490
  font-style: normal;
14087
14491
  font-weight: 400;
@@ -14106,6 +14510,10 @@ const chatNudgeStyles = i$4 `
14106
14510
  height: 100%;
14107
14511
  display: block;
14108
14512
  object-fit: contain;
14513
+
14514
+ path {
14515
+ fill: var(--chat-nudge-bg-color, #fff);
14516
+ }
14109
14517
  }
14110
14518
  }
14111
14519
  `;
@@ -14145,12 +14553,7 @@ class ChatNudge extends TWLitElement {
14145
14553
  </div>
14146
14554
  <div class="icon-container">
14147
14555
  <div class="close-btn" @click=${this.closeNudge}>
14148
- <bt-lucide-icon
14149
- name="x"
14150
- width="16"
14151
- height="16"
14152
- stroke="#020617"
14153
- ></bt-lucide-icon>
14556
+ <bt-lucide-icon name="x" width="16" height="16"></bt-lucide-icon>
14154
14557
  </div>
14155
14558
  </div>
14156
14559
  <div
@@ -14312,6 +14715,7 @@ class ShopGPT extends ElementWithStylesheet {
14312
14715
  connectedCallback() {
14313
14716
  super.connectedCallback();
14314
14717
  this.miniPopupSeen = false;
14718
+ injectColorConfig(this, this.colorConfig);
14315
14719
  if (!this.view || this.view === 'overlay') {
14316
14720
  setModalOpen(this.destination, false);
14317
14721
  if (!this.path) {
@@ -14949,6 +15353,7 @@ class ShopGPT extends ElementWithStylesheet {
14949
15353
  : x `<chat-icon-v2
14950
15354
  .css=${this.css}
14951
15355
  .chatbotIconUrl=${this.chatbotIconUrl}
15356
+ .size=${this.chatbotSize}
14952
15357
  ></chat-icon-v2>`;
14953
15358
  return this.chatbotIconType === 'chat-icon'
14954
15359
  ? chatIconElement
@@ -15288,12 +15693,19 @@ if (typeof window != 'undefined' && typeof document != 'undefined') {
15288
15693
  shopGPT.welcomePrompts = params.welcomePrompts;
15289
15694
  shopGPT.chatbotIconUrl = params.chatbotIconUrl;
15290
15695
  shopGPT.showBotOnLeft = params.showBotOnLeft;
15696
+ shopGPT.chatbotSize = params.chatbotSize;
15697
+ shopGPT.shouldHideBot = params.shouldHideBot;
15698
+ shopGPT.colorConfig = params.colorConfig;
15291
15699
  },
15292
15700
  loadUI() {
15293
15701
  if (!shopGPT) {
15294
15702
  logger.error('ShopGPT component not found!');
15295
15703
  return;
15296
15704
  }
15705
+ if (shopGPT.shouldHideBot) {
15706
+ logger.log('ShopGPT disabled by bot configuration rules');
15707
+ return;
15708
+ }
15297
15709
  if (shopGPT.parentNode) {
15298
15710
  logger.log('ShopGPT component added already!');
15299
15711
  return;