@arronqzy/ui 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/.eslintrc.cjs +10 -0
  2. package/.turbo/turbo-lint.log +4 -0
  3. package/components.json +20 -0
  4. package/dist/styles.css +3105 -0
  5. package/index.ts +7 -0
  6. package/package.json +76 -0
  7. package/postcss.config.cjs +7 -0
  8. package/scripts/sync-shadcn.mjs +144 -0
  9. package/src/hooks/use-toast.ts +194 -0
  10. package/src/lib/overlay-z-index.ts +8 -0
  11. package/src/lib/utils.ts +7 -0
  12. package/src/styles.css +89 -0
  13. package/src/theme-provider.tsx +36 -0
  14. package/src/ui/accordion.tsx +58 -0
  15. package/src/ui/alert-dialog.tsx +149 -0
  16. package/src/ui/alert.tsx +59 -0
  17. package/src/ui/aspect-ratio.tsx +7 -0
  18. package/src/ui/avatar.tsx +50 -0
  19. package/src/ui/badge.tsx +36 -0
  20. package/src/ui/breadcrumb.tsx +115 -0
  21. package/src/ui/button.tsx +56 -0
  22. package/src/ui/calendar.tsx +213 -0
  23. package/src/ui/card.tsx +79 -0
  24. package/src/ui/carousel.tsx +262 -0
  25. package/src/ui/chart.tsx +403 -0
  26. package/src/ui/checkbox.tsx +30 -0
  27. package/src/ui/collapsible.tsx +11 -0
  28. package/src/ui/command.tsx +153 -0
  29. package/src/ui/context-menu.tsx +200 -0
  30. package/src/ui/dialog.tsx +130 -0
  31. package/src/ui/drawer.tsx +124 -0
  32. package/src/ui/dropdown-menu.tsx +200 -0
  33. package/src/ui/empty.tsx +50 -0
  34. package/src/ui/form.tsx +178 -0
  35. package/src/ui/hover-card.tsx +29 -0
  36. package/src/ui/index.ts +50 -0
  37. package/src/ui/input-otp.tsx +71 -0
  38. package/src/ui/input.tsx +22 -0
  39. package/src/ui/label.tsx +26 -0
  40. package/src/ui/menubar.tsx +256 -0
  41. package/src/ui/navigation-menu.tsx +128 -0
  42. package/src/ui/pagination.tsx +117 -0
  43. package/src/ui/popover.tsx +31 -0
  44. package/src/ui/progress.tsx +28 -0
  45. package/src/ui/radio-group.tsx +44 -0
  46. package/src/ui/resizable.tsx +46 -0
  47. package/src/ui/scroll-area.tsx +48 -0
  48. package/src/ui/select.tsx +160 -0
  49. package/src/ui/separator.tsx +31 -0
  50. package/src/ui/sheet.tsx +146 -0
  51. package/src/ui/skeleton.tsx +15 -0
  52. package/src/ui/slider.tsx +28 -0
  53. package/src/ui/sonner.tsx +45 -0
  54. package/src/ui/switch.tsx +29 -0
  55. package/src/ui/table.tsx +117 -0
  56. package/src/ui/tabs.tsx +55 -0
  57. package/src/ui/textarea.tsx +22 -0
  58. package/src/ui/toast.tsx +129 -0
  59. package/src/ui/toaster.tsx +35 -0
  60. package/src/ui/toggle-group.tsx +61 -0
  61. package/src/ui/toggle.tsx +45 -0
  62. package/src/ui/tooltip.tsx +32 -0
  63. package/tailwind.config.ts +8 -0
  64. package/tsconfig.json +5 -0
@@ -0,0 +1,3105 @@
1
+ *, ::before, ::after {
2
+ --tw-border-spacing-x: 0;
3
+ --tw-border-spacing-y: 0;
4
+ --tw-translate-x: 0;
5
+ --tw-translate-y: 0;
6
+ --tw-rotate: 0;
7
+ --tw-skew-x: 0;
8
+ --tw-skew-y: 0;
9
+ --tw-scale-x: 1;
10
+ --tw-scale-y: 1;
11
+ --tw-pan-x: ;
12
+ --tw-pan-y: ;
13
+ --tw-pinch-zoom: ;
14
+ --tw-scroll-snap-strictness: proximity;
15
+ --tw-gradient-from-position: ;
16
+ --tw-gradient-via-position: ;
17
+ --tw-gradient-to-position: ;
18
+ --tw-ordinal: ;
19
+ --tw-slashed-zero: ;
20
+ --tw-numeric-figure: ;
21
+ --tw-numeric-spacing: ;
22
+ --tw-numeric-fraction: ;
23
+ --tw-ring-inset: ;
24
+ --tw-ring-offset-width: 0px;
25
+ --tw-ring-offset-color: #fff;
26
+ --tw-ring-color: rgb(59 130 246 / 0.5);
27
+ --tw-ring-offset-shadow: 0 0 #0000;
28
+ --tw-ring-shadow: 0 0 #0000;
29
+ --tw-shadow: 0 0 #0000;
30
+ --tw-shadow-colored: 0 0 #0000;
31
+ --tw-blur: ;
32
+ --tw-brightness: ;
33
+ --tw-contrast: ;
34
+ --tw-grayscale: ;
35
+ --tw-hue-rotate: ;
36
+ --tw-invert: ;
37
+ --tw-saturate: ;
38
+ --tw-sepia: ;
39
+ --tw-drop-shadow: ;
40
+ --tw-backdrop-blur: ;
41
+ --tw-backdrop-brightness: ;
42
+ --tw-backdrop-contrast: ;
43
+ --tw-backdrop-grayscale: ;
44
+ --tw-backdrop-hue-rotate: ;
45
+ --tw-backdrop-invert: ;
46
+ --tw-backdrop-opacity: ;
47
+ --tw-backdrop-saturate: ;
48
+ --tw-backdrop-sepia: ;
49
+ --tw-contain-size: ;
50
+ --tw-contain-layout: ;
51
+ --tw-contain-paint: ;
52
+ --tw-contain-style: ;
53
+ }
54
+
55
+ ::backdrop {
56
+ --tw-border-spacing-x: 0;
57
+ --tw-border-spacing-y: 0;
58
+ --tw-translate-x: 0;
59
+ --tw-translate-y: 0;
60
+ --tw-rotate: 0;
61
+ --tw-skew-x: 0;
62
+ --tw-skew-y: 0;
63
+ --tw-scale-x: 1;
64
+ --tw-scale-y: 1;
65
+ --tw-pan-x: ;
66
+ --tw-pan-y: ;
67
+ --tw-pinch-zoom: ;
68
+ --tw-scroll-snap-strictness: proximity;
69
+ --tw-gradient-from-position: ;
70
+ --tw-gradient-via-position: ;
71
+ --tw-gradient-to-position: ;
72
+ --tw-ordinal: ;
73
+ --tw-slashed-zero: ;
74
+ --tw-numeric-figure: ;
75
+ --tw-numeric-spacing: ;
76
+ --tw-numeric-fraction: ;
77
+ --tw-ring-inset: ;
78
+ --tw-ring-offset-width: 0px;
79
+ --tw-ring-offset-color: #fff;
80
+ --tw-ring-color: rgb(59 130 246 / 0.5);
81
+ --tw-ring-offset-shadow: 0 0 #0000;
82
+ --tw-ring-shadow: 0 0 #0000;
83
+ --tw-shadow: 0 0 #0000;
84
+ --tw-shadow-colored: 0 0 #0000;
85
+ --tw-blur: ;
86
+ --tw-brightness: ;
87
+ --tw-contrast: ;
88
+ --tw-grayscale: ;
89
+ --tw-hue-rotate: ;
90
+ --tw-invert: ;
91
+ --tw-saturate: ;
92
+ --tw-sepia: ;
93
+ --tw-drop-shadow: ;
94
+ --tw-backdrop-blur: ;
95
+ --tw-backdrop-brightness: ;
96
+ --tw-backdrop-contrast: ;
97
+ --tw-backdrop-grayscale: ;
98
+ --tw-backdrop-hue-rotate: ;
99
+ --tw-backdrop-invert: ;
100
+ --tw-backdrop-opacity: ;
101
+ --tw-backdrop-saturate: ;
102
+ --tw-backdrop-sepia: ;
103
+ --tw-contain-size: ;
104
+ --tw-contain-layout: ;
105
+ --tw-contain-paint: ;
106
+ --tw-contain-style: ;
107
+ }
108
+
109
+ /*
110
+ ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
111
+ */
112
+
113
+ /*
114
+ 1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
115
+ 2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
116
+ */
117
+
118
+ *,
119
+ ::before,
120
+ ::after {
121
+ box-sizing: border-box;
122
+ /* 1 */
123
+ border-width: 0;
124
+ /* 2 */
125
+ border-style: solid;
126
+ /* 2 */
127
+ border-color: #e5e7eb;
128
+ /* 2 */
129
+ }
130
+
131
+ ::before,
132
+ ::after {
133
+ --tw-content: '';
134
+ }
135
+
136
+ /*
137
+ 1. Use a consistent sensible line-height in all browsers.
138
+ 2. Prevent adjustments of font size after orientation changes in iOS.
139
+ 3. Use a more readable tab size.
140
+ 4. Use the user's configured `sans` font-family by default.
141
+ 5. Use the user's configured `sans` font-feature-settings by default.
142
+ 6. Use the user's configured `sans` font-variation-settings by default.
143
+ 7. Disable tap highlights on iOS
144
+ */
145
+
146
+ html,
147
+ :host {
148
+ line-height: 1.5;
149
+ /* 1 */
150
+ -webkit-text-size-adjust: 100%;
151
+ /* 2 */
152
+ -moz-tab-size: 4;
153
+ /* 3 */
154
+ -o-tab-size: 4;
155
+ tab-size: 4;
156
+ /* 3 */
157
+ font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
158
+ /* 4 */
159
+ font-feature-settings: normal;
160
+ /* 5 */
161
+ font-variation-settings: normal;
162
+ /* 6 */
163
+ -webkit-tap-highlight-color: transparent;
164
+ /* 7 */
165
+ }
166
+
167
+ /*
168
+ 1. Remove the margin in all browsers.
169
+ 2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
170
+ */
171
+
172
+ body {
173
+ margin: 0;
174
+ /* 1 */
175
+ line-height: inherit;
176
+ /* 2 */
177
+ }
178
+
179
+ /*
180
+ 1. Add the correct height in Firefox.
181
+ 2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
182
+ 3. Ensure horizontal rules are visible by default.
183
+ */
184
+
185
+ hr {
186
+ height: 0;
187
+ /* 1 */
188
+ color: inherit;
189
+ /* 2 */
190
+ border-top-width: 1px;
191
+ /* 3 */
192
+ }
193
+
194
+ /*
195
+ Add the correct text decoration in Chrome, Edge, and Safari.
196
+ */
197
+
198
+ abbr:where([title]) {
199
+ -webkit-text-decoration: underline dotted;
200
+ text-decoration: underline dotted;
201
+ }
202
+
203
+ /*
204
+ Remove the default font size and weight for headings.
205
+ */
206
+
207
+ h1,
208
+ h2,
209
+ h3,
210
+ h4,
211
+ h5,
212
+ h6 {
213
+ font-size: inherit;
214
+ font-weight: inherit;
215
+ }
216
+
217
+ /*
218
+ Reset links to optimize for opt-in styling instead of opt-out.
219
+ */
220
+
221
+ a {
222
+ color: inherit;
223
+ text-decoration: inherit;
224
+ }
225
+
226
+ /*
227
+ Add the correct font weight in Edge and Safari.
228
+ */
229
+
230
+ b,
231
+ strong {
232
+ font-weight: bolder;
233
+ }
234
+
235
+ /*
236
+ 1. Use the user's configured `mono` font-family by default.
237
+ 2. Use the user's configured `mono` font-feature-settings by default.
238
+ 3. Use the user's configured `mono` font-variation-settings by default.
239
+ 4. Correct the odd `em` font sizing in all browsers.
240
+ */
241
+
242
+ code,
243
+ kbd,
244
+ samp,
245
+ pre {
246
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
247
+ /* 1 */
248
+ font-feature-settings: normal;
249
+ /* 2 */
250
+ font-variation-settings: normal;
251
+ /* 3 */
252
+ font-size: 1em;
253
+ /* 4 */
254
+ }
255
+
256
+ /*
257
+ Add the correct font size in all browsers.
258
+ */
259
+
260
+ small {
261
+ font-size: 80%;
262
+ }
263
+
264
+ /*
265
+ Prevent `sub` and `sup` elements from affecting the line height in all browsers.
266
+ */
267
+
268
+ sub,
269
+ sup {
270
+ font-size: 75%;
271
+ line-height: 0;
272
+ position: relative;
273
+ vertical-align: baseline;
274
+ }
275
+
276
+ sub {
277
+ bottom: -0.25em;
278
+ }
279
+
280
+ sup {
281
+ top: -0.5em;
282
+ }
283
+
284
+ /*
285
+ 1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
286
+ 2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
287
+ 3. Remove gaps between table borders by default.
288
+ */
289
+
290
+ table {
291
+ text-indent: 0;
292
+ /* 1 */
293
+ border-color: inherit;
294
+ /* 2 */
295
+ border-collapse: collapse;
296
+ /* 3 */
297
+ }
298
+
299
+ /*
300
+ 1. Change the font styles in all browsers.
301
+ 2. Remove the margin in Firefox and Safari.
302
+ 3. Remove default padding in all browsers.
303
+ */
304
+
305
+ button,
306
+ input,
307
+ optgroup,
308
+ select,
309
+ textarea {
310
+ font-family: inherit;
311
+ /* 1 */
312
+ font-feature-settings: inherit;
313
+ /* 1 */
314
+ font-variation-settings: inherit;
315
+ /* 1 */
316
+ font-size: 100%;
317
+ /* 1 */
318
+ font-weight: inherit;
319
+ /* 1 */
320
+ line-height: inherit;
321
+ /* 1 */
322
+ letter-spacing: inherit;
323
+ /* 1 */
324
+ color: inherit;
325
+ /* 1 */
326
+ margin: 0;
327
+ /* 2 */
328
+ padding: 0;
329
+ /* 3 */
330
+ }
331
+
332
+ /*
333
+ Remove the inheritance of text transform in Edge and Firefox.
334
+ */
335
+
336
+ button,
337
+ select {
338
+ text-transform: none;
339
+ }
340
+
341
+ /*
342
+ 1. Correct the inability to style clickable types in iOS and Safari.
343
+ 2. Remove default button styles.
344
+ */
345
+
346
+ button,
347
+ input:where([type='button']),
348
+ input:where([type='reset']),
349
+ input:where([type='submit']) {
350
+ -webkit-appearance: button;
351
+ /* 1 */
352
+ background-color: transparent;
353
+ /* 2 */
354
+ background-image: none;
355
+ /* 2 */
356
+ }
357
+
358
+ /*
359
+ Use the modern Firefox focus style for all focusable elements.
360
+ */
361
+
362
+ :-moz-focusring {
363
+ outline: auto;
364
+ }
365
+
366
+ /*
367
+ Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
368
+ */
369
+
370
+ :-moz-ui-invalid {
371
+ box-shadow: none;
372
+ }
373
+
374
+ /*
375
+ Add the correct vertical alignment in Chrome and Firefox.
376
+ */
377
+
378
+ progress {
379
+ vertical-align: baseline;
380
+ }
381
+
382
+ /*
383
+ Correct the cursor style of increment and decrement buttons in Safari.
384
+ */
385
+
386
+ ::-webkit-inner-spin-button,
387
+ ::-webkit-outer-spin-button {
388
+ height: auto;
389
+ }
390
+
391
+ /*
392
+ 1. Correct the odd appearance in Chrome and Safari.
393
+ 2. Correct the outline style in Safari.
394
+ */
395
+
396
+ [type='search'] {
397
+ -webkit-appearance: textfield;
398
+ /* 1 */
399
+ outline-offset: -2px;
400
+ /* 2 */
401
+ }
402
+
403
+ /*
404
+ Remove the inner padding in Chrome and Safari on macOS.
405
+ */
406
+
407
+ ::-webkit-search-decoration {
408
+ -webkit-appearance: none;
409
+ }
410
+
411
+ /*
412
+ 1. Correct the inability to style clickable types in iOS and Safari.
413
+ 2. Change font properties to `inherit` in Safari.
414
+ */
415
+
416
+ ::-webkit-file-upload-button {
417
+ -webkit-appearance: button;
418
+ /* 1 */
419
+ font: inherit;
420
+ /* 2 */
421
+ }
422
+
423
+ /*
424
+ Add the correct display in Chrome and Safari.
425
+ */
426
+
427
+ summary {
428
+ display: list-item;
429
+ }
430
+
431
+ /*
432
+ Removes the default spacing and border for appropriate elements.
433
+ */
434
+
435
+ blockquote,
436
+ dl,
437
+ dd,
438
+ h1,
439
+ h2,
440
+ h3,
441
+ h4,
442
+ h5,
443
+ h6,
444
+ hr,
445
+ figure,
446
+ p,
447
+ pre {
448
+ margin: 0;
449
+ }
450
+
451
+ fieldset {
452
+ margin: 0;
453
+ padding: 0;
454
+ }
455
+
456
+ legend {
457
+ padding: 0;
458
+ }
459
+
460
+ ol,
461
+ ul,
462
+ menu {
463
+ list-style: none;
464
+ margin: 0;
465
+ padding: 0;
466
+ }
467
+
468
+ /*
469
+ Reset default styling for dialogs.
470
+ */
471
+
472
+ dialog {
473
+ padding: 0;
474
+ }
475
+
476
+ /*
477
+ Prevent resizing textareas horizontally by default.
478
+ */
479
+
480
+ textarea {
481
+ resize: vertical;
482
+ }
483
+
484
+ /*
485
+ 1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
486
+ 2. Set the default placeholder color to the user's configured gray 400 color.
487
+ */
488
+
489
+ input::-moz-placeholder, textarea::-moz-placeholder {
490
+ opacity: 1;
491
+ /* 1 */
492
+ color: #9ca3af;
493
+ /* 2 */
494
+ }
495
+
496
+ input::placeholder,
497
+ textarea::placeholder {
498
+ opacity: 1;
499
+ /* 1 */
500
+ color: #9ca3af;
501
+ /* 2 */
502
+ }
503
+
504
+ /*
505
+ Set the default cursor for buttons.
506
+ */
507
+
508
+ button,
509
+ [role="button"] {
510
+ cursor: pointer;
511
+ }
512
+
513
+ /*
514
+ Make sure disabled buttons don't get the pointer cursor.
515
+ */
516
+
517
+ :disabled {
518
+ cursor: default;
519
+ }
520
+
521
+ /*
522
+ 1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
523
+ 2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
524
+ This can trigger a poorly considered lint error in some tools but is included by design.
525
+ */
526
+
527
+ img,
528
+ svg,
529
+ video,
530
+ canvas,
531
+ audio,
532
+ iframe,
533
+ embed,
534
+ object {
535
+ display: block;
536
+ /* 1 */
537
+ vertical-align: middle;
538
+ /* 2 */
539
+ }
540
+
541
+ /*
542
+ Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
543
+ */
544
+
545
+ img,
546
+ video {
547
+ max-width: 100%;
548
+ height: auto;
549
+ }
550
+
551
+ /* Make elements with the HTML hidden attribute stay hidden by default */
552
+
553
+ [hidden]:where(:not([hidden="until-found"])) {
554
+ display: none;
555
+ }
556
+
557
+ :root {
558
+ --background: 0 0% 100%;
559
+ --foreground: 222.2 84% 4.9%;
560
+ --card: 0 0% 100%;
561
+ --card-foreground: 222.2 84% 4.9%;
562
+ --popover: 0 0% 100%;
563
+ --popover-foreground: 222.2 84% 4.9%;
564
+ --primary: 222.2 47.4% 11.2%;
565
+ --primary-foreground: 210 40% 98%;
566
+ --secondary: 210 40% 96.1%;
567
+ --secondary-foreground: 222.2 47.4% 11.2%;
568
+ --muted: 210 40% 96.1%;
569
+ --muted-foreground: 215.4 16.3% 46.9%;
570
+ --accent: 210 40% 96.1%;
571
+ --accent-foreground: 222.2 47.4% 11.2%;
572
+ --destructive: 0 84.2% 60.2%;
573
+ --destructive-foreground: 210 40% 98%;
574
+ --border: 214.3 31.8% 91.4%;
575
+ --input: 214.3 31.8% 91.4%;
576
+ --ring: 222.2 84% 4.9%;
577
+ --radius: 0.5rem;
578
+ }
579
+
580
+ .dark {
581
+ --background: 222.2 84% 4.9%;
582
+ --foreground: 210 40% 98%;
583
+ --card: 222.2 84% 4.9%;
584
+ --card-foreground: 210 40% 98%;
585
+ --popover: 222.2 84% 4.9%;
586
+ --popover-foreground: 210 40% 98%;
587
+ --primary: 210 40% 98%;
588
+ --primary-foreground: 222.2 47.4% 11.2%;
589
+ --secondary: 217.2 32.6% 17.5%;
590
+ --secondary-foreground: 210 40% 98%;
591
+ --muted: 217.2 32.6% 17.5%;
592
+ --muted-foreground: 215 20.2% 65.1%;
593
+ --accent: 217.2 32.6% 17.5%;
594
+ --accent-foreground: 210 40% 98%;
595
+ --destructive: 0 62.8% 30.6%;
596
+ --destructive-foreground: 210 40% 98%;
597
+ --border: 217.2 32.6% 17.5%;
598
+ --input: 217.2 32.6% 17.5%;
599
+ --ring: 212.7 26.8% 83.9%;
600
+ }
601
+
602
+ * {
603
+ border-color: hsl(var(--border));
604
+ }
605
+
606
+ body {
607
+ background-color: hsl(var(--background));
608
+ color: hsl(var(--foreground));
609
+ }
610
+
611
+ .sr-only {
612
+ position: absolute;
613
+ width: 1px;
614
+ height: 1px;
615
+ padding: 0;
616
+ margin: -1px;
617
+ overflow: hidden;
618
+ clip: rect(0, 0, 0, 0);
619
+ white-space: nowrap;
620
+ border-width: 0;
621
+ }
622
+
623
+ .pointer-events-none {
624
+ pointer-events: none;
625
+ }
626
+
627
+ .pointer-events-auto {
628
+ pointer-events: auto;
629
+ }
630
+
631
+ .visible {
632
+ visibility: visible;
633
+ }
634
+
635
+ .invisible {
636
+ visibility: hidden;
637
+ }
638
+
639
+ .fixed {
640
+ position: fixed;
641
+ }
642
+
643
+ .absolute {
644
+ position: absolute;
645
+ }
646
+
647
+ .relative {
648
+ position: relative;
649
+ }
650
+
651
+ .inset-0 {
652
+ inset: 0px;
653
+ }
654
+
655
+ .inset-x-0 {
656
+ left: 0px;
657
+ right: 0px;
658
+ }
659
+
660
+ .inset-y-0 {
661
+ top: 0px;
662
+ bottom: 0px;
663
+ }
664
+
665
+ .-bottom-12 {
666
+ bottom: -3rem;
667
+ }
668
+
669
+ .-left-12 {
670
+ left: -3rem;
671
+ }
672
+
673
+ .-right-12 {
674
+ right: -3rem;
675
+ }
676
+
677
+ .-top-12 {
678
+ top: -3rem;
679
+ }
680
+
681
+ .bottom-0 {
682
+ bottom: 0px;
683
+ }
684
+
685
+ .left-0 {
686
+ left: 0px;
687
+ }
688
+
689
+ .left-1\/2 {
690
+ left: 50%;
691
+ }
692
+
693
+ .left-2 {
694
+ left: 0.5rem;
695
+ }
696
+
697
+ .left-\[50\%\] {
698
+ left: 50%;
699
+ }
700
+
701
+ .right-0 {
702
+ right: 0px;
703
+ }
704
+
705
+ .right-2 {
706
+ right: 0.5rem;
707
+ }
708
+
709
+ .right-4 {
710
+ right: 1rem;
711
+ }
712
+
713
+ .top-0 {
714
+ top: 0px;
715
+ }
716
+
717
+ .top-1\/2 {
718
+ top: 50%;
719
+ }
720
+
721
+ .top-2 {
722
+ top: 0.5rem;
723
+ }
724
+
725
+ .top-4 {
726
+ top: 1rem;
727
+ }
728
+
729
+ .top-\[1px\] {
730
+ top: 1px;
731
+ }
732
+
733
+ .top-\[50\%\] {
734
+ top: 50%;
735
+ }
736
+
737
+ .top-\[60\%\] {
738
+ top: 60%;
739
+ }
740
+
741
+ .top-full {
742
+ top: 100%;
743
+ }
744
+
745
+ .z-10 {
746
+ z-index: 10;
747
+ }
748
+
749
+ .z-50 {
750
+ z-index: 50;
751
+ }
752
+
753
+ .z-\[10000\] {
754
+ z-index: 10000;
755
+ }
756
+
757
+ .z-\[100\] {
758
+ z-index: 100;
759
+ }
760
+
761
+ .z-\[1\] {
762
+ z-index: 1;
763
+ }
764
+
765
+ .-mx-1 {
766
+ margin-left: -0.25rem;
767
+ margin-right: -0.25rem;
768
+ }
769
+
770
+ .mx-auto {
771
+ margin-left: auto;
772
+ margin-right: auto;
773
+ }
774
+
775
+ .my-0\.5 {
776
+ margin-top: 0.125rem;
777
+ margin-bottom: 0.125rem;
778
+ }
779
+
780
+ .my-1 {
781
+ margin-top: 0.25rem;
782
+ margin-bottom: 0.25rem;
783
+ }
784
+
785
+ .-ml-4 {
786
+ margin-left: -1rem;
787
+ }
788
+
789
+ .-mt-4 {
790
+ margin-top: -1rem;
791
+ }
792
+
793
+ .mb-1 {
794
+ margin-bottom: 0.25rem;
795
+ }
796
+
797
+ .mb-2 {
798
+ margin-bottom: 0.5rem;
799
+ }
800
+
801
+ .ml-1 {
802
+ margin-left: 0.25rem;
803
+ }
804
+
805
+ .ml-auto {
806
+ margin-left: auto;
807
+ }
808
+
809
+ .mr-2 {
810
+ margin-right: 0.5rem;
811
+ }
812
+
813
+ .mt-1 {
814
+ margin-top: 0.25rem;
815
+ }
816
+
817
+ .mt-1\.5 {
818
+ margin-top: 0.375rem;
819
+ }
820
+
821
+ .mt-2 {
822
+ margin-top: 0.5rem;
823
+ }
824
+
825
+ .mt-24 {
826
+ margin-top: 6rem;
827
+ }
828
+
829
+ .mt-4 {
830
+ margin-top: 1rem;
831
+ }
832
+
833
+ .mt-auto {
834
+ margin-top: auto;
835
+ }
836
+
837
+ .block {
838
+ display: block;
839
+ }
840
+
841
+ .flex {
842
+ display: flex;
843
+ }
844
+
845
+ .inline-flex {
846
+ display: inline-flex;
847
+ }
848
+
849
+ .table {
850
+ display: table;
851
+ }
852
+
853
+ .grid {
854
+ display: grid;
855
+ }
856
+
857
+ .hidden {
858
+ display: none;
859
+ }
860
+
861
+ .aspect-square {
862
+ aspect-ratio: 1 / 1;
863
+ }
864
+
865
+ .aspect-video {
866
+ aspect-ratio: 16 / 9;
867
+ }
868
+
869
+ .size-4 {
870
+ width: 1rem;
871
+ height: 1rem;
872
+ }
873
+
874
+ .size-\[--cell-size\] {
875
+ width: var(--cell-size);
876
+ height: var(--cell-size);
877
+ }
878
+
879
+ .h-1\.5 {
880
+ height: 0.375rem;
881
+ }
882
+
883
+ .h-10 {
884
+ height: 2.5rem;
885
+ }
886
+
887
+ .h-11 {
888
+ height: 2.75rem;
889
+ }
890
+
891
+ .h-12 {
892
+ height: 3rem;
893
+ }
894
+
895
+ .h-2 {
896
+ height: 0.5rem;
897
+ }
898
+
899
+ .h-2\.5 {
900
+ height: 0.625rem;
901
+ }
902
+
903
+ .h-3 {
904
+ height: 0.75rem;
905
+ }
906
+
907
+ .h-3\.5 {
908
+ height: 0.875rem;
909
+ }
910
+
911
+ .h-4 {
912
+ height: 1rem;
913
+ }
914
+
915
+ .h-5 {
916
+ height: 1.25rem;
917
+ }
918
+
919
+ .h-6 {
920
+ height: 1.5rem;
921
+ }
922
+
923
+ .h-8 {
924
+ height: 2rem;
925
+ }
926
+
927
+ .h-9 {
928
+ height: 2.25rem;
929
+ }
930
+
931
+ .h-\[--cell-size\] {
932
+ height: var(--cell-size);
933
+ }
934
+
935
+ .h-\[1px\] {
936
+ height: 1px;
937
+ }
938
+
939
+ .h-\[var\(--radix-navigation-menu-viewport-height\)\] {
940
+ height: var(--radix-navigation-menu-viewport-height);
941
+ }
942
+
943
+ .h-\[var\(--radix-select-trigger-height\)\] {
944
+ height: var(--radix-select-trigger-height);
945
+ }
946
+
947
+ .h-auto {
948
+ height: auto;
949
+ }
950
+
951
+ .h-full {
952
+ height: 100%;
953
+ }
954
+
955
+ .h-px {
956
+ height: 1px;
957
+ }
958
+
959
+ .max-h-\[--radix-context-menu-content-available-height\] {
960
+ max-height: var(--radix-context-menu-content-available-height);
961
+ }
962
+
963
+ .max-h-\[--radix-select-content-available-height\] {
964
+ max-height: var(--radix-select-content-available-height);
965
+ }
966
+
967
+ .max-h-\[300px\] {
968
+ max-height: 300px;
969
+ }
970
+
971
+ .max-h-\[var\(--radix-dropdown-menu-content-available-height\)\] {
972
+ max-height: var(--radix-dropdown-menu-content-available-height);
973
+ }
974
+
975
+ .max-h-screen {
976
+ max-height: 100vh;
977
+ }
978
+
979
+ .min-h-\[80px\] {
980
+ min-height: 80px;
981
+ }
982
+
983
+ .w-0 {
984
+ width: 0px;
985
+ }
986
+
987
+ .w-1 {
988
+ width: 0.25rem;
989
+ }
990
+
991
+ .w-10 {
992
+ width: 2.5rem;
993
+ }
994
+
995
+ .w-11 {
996
+ width: 2.75rem;
997
+ }
998
+
999
+ .w-2 {
1000
+ width: 0.5rem;
1001
+ }
1002
+
1003
+ .w-2\.5 {
1004
+ width: 0.625rem;
1005
+ }
1006
+
1007
+ .w-3 {
1008
+ width: 0.75rem;
1009
+ }
1010
+
1011
+ .w-3\.5 {
1012
+ width: 0.875rem;
1013
+ }
1014
+
1015
+ .w-3\/4 {
1016
+ width: 75%;
1017
+ }
1018
+
1019
+ .w-4 {
1020
+ width: 1rem;
1021
+ }
1022
+
1023
+ .w-5 {
1024
+ width: 1.25rem;
1025
+ }
1026
+
1027
+ .w-64 {
1028
+ width: 16rem;
1029
+ }
1030
+
1031
+ .w-72 {
1032
+ width: 18rem;
1033
+ }
1034
+
1035
+ .w-8 {
1036
+ width: 2rem;
1037
+ }
1038
+
1039
+ .w-9 {
1040
+ width: 2.25rem;
1041
+ }
1042
+
1043
+ .w-\[--cell-size\] {
1044
+ width: var(--cell-size);
1045
+ }
1046
+
1047
+ .w-\[100px\] {
1048
+ width: 100px;
1049
+ }
1050
+
1051
+ .w-\[1px\] {
1052
+ width: 1px;
1053
+ }
1054
+
1055
+ .w-fit {
1056
+ width: -moz-fit-content;
1057
+ width: fit-content;
1058
+ }
1059
+
1060
+ .w-full {
1061
+ width: 100%;
1062
+ }
1063
+
1064
+ .w-max {
1065
+ width: -moz-max-content;
1066
+ width: max-content;
1067
+ }
1068
+
1069
+ .w-px {
1070
+ width: 1px;
1071
+ }
1072
+
1073
+ .min-w-0 {
1074
+ min-width: 0px;
1075
+ }
1076
+
1077
+ .min-w-10 {
1078
+ min-width: 2.5rem;
1079
+ }
1080
+
1081
+ .min-w-11 {
1082
+ min-width: 2.75rem;
1083
+ }
1084
+
1085
+ .min-w-9 {
1086
+ min-width: 2.25rem;
1087
+ }
1088
+
1089
+ .min-w-\[--cell-size\] {
1090
+ min-width: var(--cell-size);
1091
+ }
1092
+
1093
+ .min-w-\[12rem\] {
1094
+ min-width: 12rem;
1095
+ }
1096
+
1097
+ .min-w-\[8rem\] {
1098
+ min-width: 8rem;
1099
+ }
1100
+
1101
+ .min-w-\[var\(--radix-select-trigger-width\)\] {
1102
+ min-width: var(--radix-select-trigger-width);
1103
+ }
1104
+
1105
+ .max-w-lg {
1106
+ max-width: 32rem;
1107
+ }
1108
+
1109
+ .max-w-max {
1110
+ max-width: -moz-max-content;
1111
+ max-width: max-content;
1112
+ }
1113
+
1114
+ .flex-1 {
1115
+ flex: 1 1 0%;
1116
+ }
1117
+
1118
+ .shrink-0 {
1119
+ flex-shrink: 0;
1120
+ }
1121
+
1122
+ .grow {
1123
+ flex-grow: 1;
1124
+ }
1125
+
1126
+ .grow-0 {
1127
+ flex-grow: 0;
1128
+ }
1129
+
1130
+ .basis-full {
1131
+ flex-basis: 100%;
1132
+ }
1133
+
1134
+ .caption-bottom {
1135
+ caption-side: bottom;
1136
+ }
1137
+
1138
+ .border-collapse {
1139
+ border-collapse: collapse;
1140
+ }
1141
+
1142
+ .origin-\[--radix-context-menu-content-transform-origin\] {
1143
+ transform-origin: var(--radix-context-menu-content-transform-origin);
1144
+ }
1145
+
1146
+ .origin-\[--radix-dropdown-menu-content-transform-origin\] {
1147
+ transform-origin: var(--radix-dropdown-menu-content-transform-origin);
1148
+ }
1149
+
1150
+ .origin-\[--radix-hover-card-content-transform-origin\] {
1151
+ transform-origin: var(--radix-hover-card-content-transform-origin);
1152
+ }
1153
+
1154
+ .origin-\[--radix-menubar-content-transform-origin\] {
1155
+ transform-origin: var(--radix-menubar-content-transform-origin);
1156
+ }
1157
+
1158
+ .origin-\[--radix-popover-content-transform-origin\] {
1159
+ transform-origin: var(--radix-popover-content-transform-origin);
1160
+ }
1161
+
1162
+ .origin-\[--radix-select-content-transform-origin\] {
1163
+ transform-origin: var(--radix-select-content-transform-origin);
1164
+ }
1165
+
1166
+ .origin-\[--radix-tooltip-content-transform-origin\] {
1167
+ transform-origin: var(--radix-tooltip-content-transform-origin);
1168
+ }
1169
+
1170
+ .-translate-x-1\/2 {
1171
+ --tw-translate-x: -50%;
1172
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
1173
+ }
1174
+
1175
+ .-translate-y-1\/2 {
1176
+ --tw-translate-y: -50%;
1177
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
1178
+ }
1179
+
1180
+ .translate-x-\[-50\%\] {
1181
+ --tw-translate-x: -50%;
1182
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
1183
+ }
1184
+
1185
+ .translate-y-\[-50\%\] {
1186
+ --tw-translate-y: -50%;
1187
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
1188
+ }
1189
+
1190
+ .rotate-45 {
1191
+ --tw-rotate: 45deg;
1192
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
1193
+ }
1194
+
1195
+ .rotate-90 {
1196
+ --tw-rotate: 90deg;
1197
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
1198
+ }
1199
+
1200
+ .transform {
1201
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
1202
+ }
1203
+
1204
+ @keyframes pulse {
1205
+ 50% {
1206
+ opacity: .5;
1207
+ }
1208
+ }
1209
+
1210
+ .animate-pulse {
1211
+ animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
1212
+ }
1213
+
1214
+ @keyframes spin {
1215
+ to {
1216
+ transform: rotate(360deg);
1217
+ }
1218
+ }
1219
+
1220
+ .animate-spin {
1221
+ animation: spin 1s linear infinite;
1222
+ }
1223
+
1224
+ .cursor-default {
1225
+ cursor: default;
1226
+ }
1227
+
1228
+ .cursor-pointer {
1229
+ cursor: pointer;
1230
+ }
1231
+
1232
+ .touch-none {
1233
+ touch-action: none;
1234
+ }
1235
+
1236
+ .select-none {
1237
+ -webkit-user-select: none;
1238
+ -moz-user-select: none;
1239
+ user-select: none;
1240
+ }
1241
+
1242
+ .list-none {
1243
+ list-style-type: none;
1244
+ }
1245
+
1246
+ .flex-row {
1247
+ flex-direction: row;
1248
+ }
1249
+
1250
+ .flex-col {
1251
+ flex-direction: column;
1252
+ }
1253
+
1254
+ .flex-col-reverse {
1255
+ flex-direction: column-reverse;
1256
+ }
1257
+
1258
+ .flex-wrap {
1259
+ flex-wrap: wrap;
1260
+ }
1261
+
1262
+ .place-content-center {
1263
+ place-content: center;
1264
+ }
1265
+
1266
+ .items-start {
1267
+ align-items: flex-start;
1268
+ }
1269
+
1270
+ .items-end {
1271
+ align-items: flex-end;
1272
+ }
1273
+
1274
+ .items-center {
1275
+ align-items: center;
1276
+ }
1277
+
1278
+ .items-stretch {
1279
+ align-items: stretch;
1280
+ }
1281
+
1282
+ .justify-center {
1283
+ justify-content: center;
1284
+ }
1285
+
1286
+ .justify-between {
1287
+ justify-content: space-between;
1288
+ }
1289
+
1290
+ .gap-1 {
1291
+ gap: 0.25rem;
1292
+ }
1293
+
1294
+ .gap-1\.5 {
1295
+ gap: 0.375rem;
1296
+ }
1297
+
1298
+ .gap-2 {
1299
+ gap: 0.5rem;
1300
+ }
1301
+
1302
+ .gap-4 {
1303
+ gap: 1rem;
1304
+ }
1305
+
1306
+ .space-x-1 > :not([hidden]) ~ :not([hidden]) {
1307
+ --tw-space-x-reverse: 0;
1308
+ margin-right: calc(0.25rem * var(--tw-space-x-reverse));
1309
+ margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));
1310
+ }
1311
+
1312
+ .space-x-4 > :not([hidden]) ~ :not([hidden]) {
1313
+ --tw-space-x-reverse: 0;
1314
+ margin-right: calc(1rem * var(--tw-space-x-reverse));
1315
+ margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
1316
+ }
1317
+
1318
+ .space-y-1\.5 > :not([hidden]) ~ :not([hidden]) {
1319
+ --tw-space-y-reverse: 0;
1320
+ margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
1321
+ margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
1322
+ }
1323
+
1324
+ .space-y-2 > :not([hidden]) ~ :not([hidden]) {
1325
+ --tw-space-y-reverse: 0;
1326
+ margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
1327
+ margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
1328
+ }
1329
+
1330
+ .overflow-auto {
1331
+ overflow: auto;
1332
+ }
1333
+
1334
+ .overflow-hidden {
1335
+ overflow: hidden;
1336
+ }
1337
+
1338
+ .overflow-y-auto {
1339
+ overflow-y: auto;
1340
+ }
1341
+
1342
+ .overflow-x-hidden {
1343
+ overflow-x: hidden;
1344
+ }
1345
+
1346
+ .whitespace-nowrap {
1347
+ white-space: nowrap;
1348
+ }
1349
+
1350
+ .break-words {
1351
+ overflow-wrap: break-word;
1352
+ }
1353
+
1354
+ .rounded-\[2px\] {
1355
+ border-radius: 2px;
1356
+ }
1357
+
1358
+ .rounded-\[inherit\] {
1359
+ border-radius: inherit;
1360
+ }
1361
+
1362
+ .rounded-full {
1363
+ border-radius: 9999px;
1364
+ }
1365
+
1366
+ .rounded-lg {
1367
+ border-radius: var(--radius);
1368
+ }
1369
+
1370
+ .rounded-md {
1371
+ border-radius: calc(var(--radius) - 2px);
1372
+ }
1373
+
1374
+ .rounded-none {
1375
+ border-radius: 0px;
1376
+ }
1377
+
1378
+ .rounded-sm {
1379
+ border-radius: calc(var(--radius) - 4px);
1380
+ }
1381
+
1382
+ .rounded-l-md {
1383
+ border-top-left-radius: calc(var(--radius) - 2px);
1384
+ border-bottom-left-radius: calc(var(--radius) - 2px);
1385
+ }
1386
+
1387
+ .rounded-r-md {
1388
+ border-top-right-radius: calc(var(--radius) - 2px);
1389
+ border-bottom-right-radius: calc(var(--radius) - 2px);
1390
+ }
1391
+
1392
+ .rounded-t-\[10px\] {
1393
+ border-top-left-radius: 10px;
1394
+ border-top-right-radius: 10px;
1395
+ }
1396
+
1397
+ .rounded-tl-sm {
1398
+ border-top-left-radius: calc(var(--radius) - 4px);
1399
+ }
1400
+
1401
+ .border {
1402
+ border-width: 1px;
1403
+ }
1404
+
1405
+ .border-2 {
1406
+ border-width: 2px;
1407
+ }
1408
+
1409
+ .border-\[1\.5px\] {
1410
+ border-width: 1.5px;
1411
+ }
1412
+
1413
+ .border-y {
1414
+ border-top-width: 1px;
1415
+ border-bottom-width: 1px;
1416
+ }
1417
+
1418
+ .border-b {
1419
+ border-bottom-width: 1px;
1420
+ }
1421
+
1422
+ .border-l {
1423
+ border-left-width: 1px;
1424
+ }
1425
+
1426
+ .border-r {
1427
+ border-right-width: 1px;
1428
+ }
1429
+
1430
+ .border-t {
1431
+ border-top-width: 1px;
1432
+ }
1433
+
1434
+ .border-dashed {
1435
+ border-style: dashed;
1436
+ }
1437
+
1438
+ .border-\[--color-border\] {
1439
+ border-color: var(--color-border);
1440
+ }
1441
+
1442
+ .border-border {
1443
+ border-color: hsl(var(--border));
1444
+ }
1445
+
1446
+ .border-border\/50 {
1447
+ border-color: hsl(var(--border) / 0.5);
1448
+ }
1449
+
1450
+ .border-border\/60 {
1451
+ border-color: hsl(var(--border) / 0.6);
1452
+ }
1453
+
1454
+ .border-border\/70 {
1455
+ border-color: hsl(var(--border) / 0.7);
1456
+ }
1457
+
1458
+ .border-destructive {
1459
+ border-color: hsl(var(--destructive));
1460
+ }
1461
+
1462
+ .border-destructive\/50 {
1463
+ border-color: hsl(var(--destructive) / 0.5);
1464
+ }
1465
+
1466
+ .border-input {
1467
+ border-color: hsl(var(--input));
1468
+ }
1469
+
1470
+ .border-primary {
1471
+ border-color: hsl(var(--primary));
1472
+ }
1473
+
1474
+ .border-transparent {
1475
+ border-color: transparent;
1476
+ }
1477
+
1478
+ .border-l-transparent {
1479
+ border-left-color: transparent;
1480
+ }
1481
+
1482
+ .border-t-transparent {
1483
+ border-top-color: transparent;
1484
+ }
1485
+
1486
+ .bg-\[--color-bg\] {
1487
+ background-color: var(--color-bg);
1488
+ }
1489
+
1490
+ .bg-accent {
1491
+ background-color: hsl(var(--accent));
1492
+ }
1493
+
1494
+ .bg-background {
1495
+ background-color: hsl(var(--background));
1496
+ }
1497
+
1498
+ .bg-background\/60 {
1499
+ background-color: hsl(var(--background) / 0.6);
1500
+ }
1501
+
1502
+ .bg-black\/80 {
1503
+ background-color: rgb(0 0 0 / 0.8);
1504
+ }
1505
+
1506
+ .bg-border {
1507
+ background-color: hsl(var(--border));
1508
+ }
1509
+
1510
+ .bg-border\/60 {
1511
+ background-color: hsl(var(--border) / 0.6);
1512
+ }
1513
+
1514
+ .bg-card {
1515
+ background-color: hsl(var(--card));
1516
+ }
1517
+
1518
+ .bg-card\/40 {
1519
+ background-color: hsl(var(--card) / 0.4);
1520
+ }
1521
+
1522
+ .bg-destructive {
1523
+ background-color: hsl(var(--destructive));
1524
+ }
1525
+
1526
+ .bg-foreground {
1527
+ background-color: hsl(var(--foreground));
1528
+ }
1529
+
1530
+ .bg-muted {
1531
+ background-color: hsl(var(--muted));
1532
+ }
1533
+
1534
+ .bg-muted\/50 {
1535
+ background-color: hsl(var(--muted) / 0.5);
1536
+ }
1537
+
1538
+ .bg-popover {
1539
+ background-color: hsl(var(--popover));
1540
+ }
1541
+
1542
+ .bg-primary {
1543
+ background-color: hsl(var(--primary));
1544
+ }
1545
+
1546
+ .bg-secondary {
1547
+ background-color: hsl(var(--secondary));
1548
+ }
1549
+
1550
+ .bg-transparent {
1551
+ background-color: transparent;
1552
+ }
1553
+
1554
+ .fill-current {
1555
+ fill: currentColor;
1556
+ }
1557
+
1558
+ .p-0 {
1559
+ padding: 0px;
1560
+ }
1561
+
1562
+ .p-1 {
1563
+ padding: 0.25rem;
1564
+ }
1565
+
1566
+ .p-3 {
1567
+ padding: 0.75rem;
1568
+ }
1569
+
1570
+ .p-4 {
1571
+ padding: 1rem;
1572
+ }
1573
+
1574
+ .p-6 {
1575
+ padding: 1.5rem;
1576
+ }
1577
+
1578
+ .p-\[1px\] {
1579
+ padding: 1px;
1580
+ }
1581
+
1582
+ .px-2 {
1583
+ padding-left: 0.5rem;
1584
+ padding-right: 0.5rem;
1585
+ }
1586
+
1587
+ .px-2\.5 {
1588
+ padding-left: 0.625rem;
1589
+ padding-right: 0.625rem;
1590
+ }
1591
+
1592
+ .px-3 {
1593
+ padding-left: 0.75rem;
1594
+ padding-right: 0.75rem;
1595
+ }
1596
+
1597
+ .px-4 {
1598
+ padding-left: 1rem;
1599
+ padding-right: 1rem;
1600
+ }
1601
+
1602
+ .px-5 {
1603
+ padding-left: 1.25rem;
1604
+ padding-right: 1.25rem;
1605
+ }
1606
+
1607
+ .px-8 {
1608
+ padding-left: 2rem;
1609
+ padding-right: 2rem;
1610
+ }
1611
+
1612
+ .px-\[--cell-size\] {
1613
+ padding-left: var(--cell-size);
1614
+ padding-right: var(--cell-size);
1615
+ }
1616
+
1617
+ .py-0\.5 {
1618
+ padding-top: 0.125rem;
1619
+ padding-bottom: 0.125rem;
1620
+ }
1621
+
1622
+ .py-1 {
1623
+ padding-top: 0.25rem;
1624
+ padding-bottom: 0.25rem;
1625
+ }
1626
+
1627
+ .py-1\.5 {
1628
+ padding-top: 0.375rem;
1629
+ padding-bottom: 0.375rem;
1630
+ }
1631
+
1632
+ .py-2 {
1633
+ padding-top: 0.5rem;
1634
+ padding-bottom: 0.5rem;
1635
+ }
1636
+
1637
+ .py-3 {
1638
+ padding-top: 0.75rem;
1639
+ padding-bottom: 0.75rem;
1640
+ }
1641
+
1642
+ .py-4 {
1643
+ padding-top: 1rem;
1644
+ padding-bottom: 1rem;
1645
+ }
1646
+
1647
+ .py-6 {
1648
+ padding-top: 1.5rem;
1649
+ padding-bottom: 1.5rem;
1650
+ }
1651
+
1652
+ .pb-3 {
1653
+ padding-bottom: 0.75rem;
1654
+ }
1655
+
1656
+ .pb-4 {
1657
+ padding-bottom: 1rem;
1658
+ }
1659
+
1660
+ .pl-2 {
1661
+ padding-left: 0.5rem;
1662
+ }
1663
+
1664
+ .pl-2\.5 {
1665
+ padding-left: 0.625rem;
1666
+ }
1667
+
1668
+ .pl-4 {
1669
+ padding-left: 1rem;
1670
+ }
1671
+
1672
+ .pl-8 {
1673
+ padding-left: 2rem;
1674
+ }
1675
+
1676
+ .pr-1 {
1677
+ padding-right: 0.25rem;
1678
+ }
1679
+
1680
+ .pr-2 {
1681
+ padding-right: 0.5rem;
1682
+ }
1683
+
1684
+ .pr-2\.5 {
1685
+ padding-right: 0.625rem;
1686
+ }
1687
+
1688
+ .pr-8 {
1689
+ padding-right: 2rem;
1690
+ }
1691
+
1692
+ .pt-0 {
1693
+ padding-top: 0px;
1694
+ }
1695
+
1696
+ .pt-3 {
1697
+ padding-top: 0.75rem;
1698
+ }
1699
+
1700
+ .pt-4 {
1701
+ padding-top: 1rem;
1702
+ }
1703
+
1704
+ .text-left {
1705
+ text-align: left;
1706
+ }
1707
+
1708
+ .text-center {
1709
+ text-align: center;
1710
+ }
1711
+
1712
+ .align-middle {
1713
+ vertical-align: middle;
1714
+ }
1715
+
1716
+ .font-mono {
1717
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
1718
+ }
1719
+
1720
+ .text-2xl {
1721
+ font-size: 1.5rem;
1722
+ line-height: 2rem;
1723
+ }
1724
+
1725
+ .text-\[0\.8rem\] {
1726
+ font-size: 0.8rem;
1727
+ }
1728
+
1729
+ .text-base {
1730
+ font-size: 1rem;
1731
+ line-height: 1.5rem;
1732
+ }
1733
+
1734
+ .text-lg {
1735
+ font-size: 1.125rem;
1736
+ line-height: 1.75rem;
1737
+ }
1738
+
1739
+ .text-sm {
1740
+ font-size: 0.875rem;
1741
+ line-height: 1.25rem;
1742
+ }
1743
+
1744
+ .text-xs {
1745
+ font-size: 0.75rem;
1746
+ line-height: 1rem;
1747
+ }
1748
+
1749
+ .font-medium {
1750
+ font-weight: 500;
1751
+ }
1752
+
1753
+ .font-normal {
1754
+ font-weight: 400;
1755
+ }
1756
+
1757
+ .font-semibold {
1758
+ font-weight: 600;
1759
+ }
1760
+
1761
+ .tabular-nums {
1762
+ --tw-numeric-spacing: tabular-nums;
1763
+ font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
1764
+ }
1765
+
1766
+ .leading-5 {
1767
+ line-height: 1.25rem;
1768
+ }
1769
+
1770
+ .leading-none {
1771
+ line-height: 1;
1772
+ }
1773
+
1774
+ .tracking-tight {
1775
+ letter-spacing: -0.025em;
1776
+ }
1777
+
1778
+ .tracking-widest {
1779
+ letter-spacing: 0.1em;
1780
+ }
1781
+
1782
+ .text-accent-foreground {
1783
+ color: hsl(var(--accent-foreground));
1784
+ }
1785
+
1786
+ .text-card-foreground {
1787
+ color: hsl(var(--card-foreground));
1788
+ }
1789
+
1790
+ .text-current {
1791
+ color: currentColor;
1792
+ }
1793
+
1794
+ .text-destructive {
1795
+ color: hsl(var(--destructive));
1796
+ }
1797
+
1798
+ .text-destructive-foreground {
1799
+ color: hsl(var(--destructive-foreground));
1800
+ }
1801
+
1802
+ .text-foreground {
1803
+ color: hsl(var(--foreground));
1804
+ }
1805
+
1806
+ .text-foreground\/50 {
1807
+ color: hsl(var(--foreground) / 0.5);
1808
+ }
1809
+
1810
+ .text-foreground\/60 {
1811
+ color: hsl(var(--foreground) / 0.6);
1812
+ }
1813
+
1814
+ .text-muted-foreground {
1815
+ color: hsl(var(--muted-foreground));
1816
+ }
1817
+
1818
+ .text-popover-foreground {
1819
+ color: hsl(var(--popover-foreground));
1820
+ }
1821
+
1822
+ .text-primary {
1823
+ color: hsl(var(--primary));
1824
+ }
1825
+
1826
+ .text-primary-foreground {
1827
+ color: hsl(var(--primary-foreground));
1828
+ }
1829
+
1830
+ .text-secondary-foreground {
1831
+ color: hsl(var(--secondary-foreground));
1832
+ }
1833
+
1834
+ .underline-offset-4 {
1835
+ text-underline-offset: 4px;
1836
+ }
1837
+
1838
+ .opacity-0 {
1839
+ opacity: 0;
1840
+ }
1841
+
1842
+ .opacity-50 {
1843
+ opacity: 0.5;
1844
+ }
1845
+
1846
+ .opacity-60 {
1847
+ opacity: 0.6;
1848
+ }
1849
+
1850
+ .opacity-70 {
1851
+ opacity: 0.7;
1852
+ }
1853
+
1854
+ .opacity-90 {
1855
+ opacity: 0.9;
1856
+ }
1857
+
1858
+ .shadow-lg {
1859
+ --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
1860
+ --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
1861
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
1862
+ }
1863
+
1864
+ .shadow-md {
1865
+ --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
1866
+ --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
1867
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
1868
+ }
1869
+
1870
+ .shadow-sm {
1871
+ --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
1872
+ --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
1873
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
1874
+ }
1875
+
1876
+ .shadow-xl {
1877
+ --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
1878
+ --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
1879
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
1880
+ }
1881
+
1882
+ .outline-none {
1883
+ outline: 2px solid transparent;
1884
+ outline-offset: 2px;
1885
+ }
1886
+
1887
+ .outline {
1888
+ outline-style: solid;
1889
+ }
1890
+
1891
+ .ring-0 {
1892
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
1893
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
1894
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
1895
+ }
1896
+
1897
+ .ring-2 {
1898
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
1899
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
1900
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
1901
+ }
1902
+
1903
+ .ring-ring {
1904
+ --tw-ring-color: hsl(var(--ring));
1905
+ }
1906
+
1907
+ .ring-offset-background {
1908
+ --tw-ring-offset-color: hsl(var(--background));
1909
+ }
1910
+
1911
+ .filter {
1912
+ 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);
1913
+ }
1914
+
1915
+ .transition {
1916
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
1917
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1918
+ transition-duration: 150ms;
1919
+ }
1920
+
1921
+ .transition-all {
1922
+ transition-property: all;
1923
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1924
+ transition-duration: 150ms;
1925
+ }
1926
+
1927
+ .transition-colors {
1928
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
1929
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1930
+ transition-duration: 150ms;
1931
+ }
1932
+
1933
+ .transition-opacity {
1934
+ transition-property: opacity;
1935
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1936
+ transition-duration: 150ms;
1937
+ }
1938
+
1939
+ .transition-transform {
1940
+ transition-property: transform;
1941
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1942
+ transition-duration: 150ms;
1943
+ }
1944
+
1945
+ .duration-1000 {
1946
+ transition-duration: 1000ms;
1947
+ }
1948
+
1949
+ .duration-200 {
1950
+ transition-duration: 200ms;
1951
+ }
1952
+
1953
+ .ease-in-out {
1954
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1955
+ }
1956
+
1957
+ @keyframes enter {
1958
+ from {
1959
+ opacity: var(--tw-enter-opacity, 1);
1960
+ transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));
1961
+ }
1962
+ }
1963
+
1964
+ @keyframes exit {
1965
+ to {
1966
+ opacity: var(--tw-exit-opacity, 1);
1967
+ transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));
1968
+ }
1969
+ }
1970
+
1971
+ .animate-in {
1972
+ animation-name: enter;
1973
+ animation-duration: 150ms;
1974
+ --tw-enter-opacity: initial;
1975
+ --tw-enter-scale: initial;
1976
+ --tw-enter-rotate: initial;
1977
+ --tw-enter-translate-x: initial;
1978
+ --tw-enter-translate-y: initial;
1979
+ }
1980
+
1981
+ .fade-in-0 {
1982
+ --tw-enter-opacity: 0;
1983
+ }
1984
+
1985
+ .fade-in-80 {
1986
+ --tw-enter-opacity: 0.8;
1987
+ }
1988
+
1989
+ .zoom-in-95 {
1990
+ --tw-enter-scale: .95;
1991
+ }
1992
+
1993
+ .duration-1000 {
1994
+ animation-duration: 1000ms;
1995
+ }
1996
+
1997
+ .duration-200 {
1998
+ animation-duration: 200ms;
1999
+ }
2000
+
2001
+ .ease-in-out {
2002
+ animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
2003
+ }
2004
+
2005
+ .\[--cell-size\:2rem\] {
2006
+ --cell-size: 2rem;
2007
+ }
2008
+
2009
+ /* 弹窗蒙层全屏覆盖,层级高于画布 Ruler / 工具栏 */
2010
+
2011
+ [data-radix-dialog-overlay],
2012
+ [data-radix-alert-dialog-overlay],
2013
+ [data-vaul-overlay] {
2014
+ z-index: 20000 !important;
2015
+ }
2016
+
2017
+ [data-radix-dialog-content],
2018
+ [data-radix-alert-dialog-content],
2019
+ [data-vaul-drawer-wrapper] {
2020
+ z-index: 20001 !important;
2021
+ }
2022
+
2023
+ .file\:border-0::file-selector-button {
2024
+ border-width: 0px;
2025
+ }
2026
+
2027
+ .file\:bg-transparent::file-selector-button {
2028
+ background-color: transparent;
2029
+ }
2030
+
2031
+ .file\:text-sm::file-selector-button {
2032
+ font-size: 0.875rem;
2033
+ line-height: 1.25rem;
2034
+ }
2035
+
2036
+ .file\:font-medium::file-selector-button {
2037
+ font-weight: 500;
2038
+ }
2039
+
2040
+ .file\:text-foreground::file-selector-button {
2041
+ color: hsl(var(--foreground));
2042
+ }
2043
+
2044
+ .placeholder\:text-muted-foreground::-moz-placeholder {
2045
+ color: hsl(var(--muted-foreground));
2046
+ }
2047
+
2048
+ .placeholder\:text-muted-foreground::placeholder {
2049
+ color: hsl(var(--muted-foreground));
2050
+ }
2051
+
2052
+ .first\:rounded-l-md:first-child {
2053
+ border-top-left-radius: calc(var(--radius) - 2px);
2054
+ border-bottom-left-radius: calc(var(--radius) - 2px);
2055
+ }
2056
+
2057
+ .first\:border-l:first-child {
2058
+ border-left-width: 1px;
2059
+ }
2060
+
2061
+ .last\:rounded-r-md:last-child {
2062
+ border-top-right-radius: calc(var(--radius) - 2px);
2063
+ border-bottom-right-radius: calc(var(--radius) - 2px);
2064
+ }
2065
+
2066
+ .hover\:bg-accent:hover {
2067
+ background-color: hsl(var(--accent));
2068
+ }
2069
+
2070
+ .hover\:bg-destructive\/80:hover {
2071
+ background-color: hsl(var(--destructive) / 0.8);
2072
+ }
2073
+
2074
+ .hover\:bg-destructive\/90:hover {
2075
+ background-color: hsl(var(--destructive) / 0.9);
2076
+ }
2077
+
2078
+ .hover\:bg-muted:hover {
2079
+ background-color: hsl(var(--muted));
2080
+ }
2081
+
2082
+ .hover\:bg-muted\/50:hover {
2083
+ background-color: hsl(var(--muted) / 0.5);
2084
+ }
2085
+
2086
+ .hover\:bg-primary\/80:hover {
2087
+ background-color: hsl(var(--primary) / 0.8);
2088
+ }
2089
+
2090
+ .hover\:bg-primary\/90:hover {
2091
+ background-color: hsl(var(--primary) / 0.9);
2092
+ }
2093
+
2094
+ .hover\:bg-secondary:hover {
2095
+ background-color: hsl(var(--secondary));
2096
+ }
2097
+
2098
+ .hover\:bg-secondary\/80:hover {
2099
+ background-color: hsl(var(--secondary) / 0.8);
2100
+ }
2101
+
2102
+ .hover\:text-accent-foreground:hover {
2103
+ color: hsl(var(--accent-foreground));
2104
+ }
2105
+
2106
+ .hover\:text-foreground:hover {
2107
+ color: hsl(var(--foreground));
2108
+ }
2109
+
2110
+ .hover\:text-muted-foreground:hover {
2111
+ color: hsl(var(--muted-foreground));
2112
+ }
2113
+
2114
+ .hover\:underline:hover {
2115
+ text-decoration-line: underline;
2116
+ }
2117
+
2118
+ .hover\:opacity-100:hover {
2119
+ opacity: 1;
2120
+ }
2121
+
2122
+ .focus\:bg-accent:focus {
2123
+ background-color: hsl(var(--accent));
2124
+ }
2125
+
2126
+ .focus\:text-accent-foreground:focus {
2127
+ color: hsl(var(--accent-foreground));
2128
+ }
2129
+
2130
+ .focus\:opacity-100:focus {
2131
+ opacity: 1;
2132
+ }
2133
+
2134
+ .focus\:outline-none:focus {
2135
+ outline: 2px solid transparent;
2136
+ outline-offset: 2px;
2137
+ }
2138
+
2139
+ .focus\:ring-2:focus {
2140
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
2141
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
2142
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
2143
+ }
2144
+
2145
+ .focus\:ring-ring:focus {
2146
+ --tw-ring-color: hsl(var(--ring));
2147
+ }
2148
+
2149
+ .focus\:ring-offset-2:focus {
2150
+ --tw-ring-offset-width: 2px;
2151
+ }
2152
+
2153
+ .focus-visible\:outline-none:focus-visible {
2154
+ outline: 2px solid transparent;
2155
+ outline-offset: 2px;
2156
+ }
2157
+
2158
+ .focus-visible\:ring-1:focus-visible {
2159
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
2160
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
2161
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
2162
+ }
2163
+
2164
+ .focus-visible\:ring-2:focus-visible {
2165
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
2166
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
2167
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
2168
+ }
2169
+
2170
+ .focus-visible\:ring-ring:focus-visible {
2171
+ --tw-ring-color: hsl(var(--ring));
2172
+ }
2173
+
2174
+ .focus-visible\:ring-offset-1:focus-visible {
2175
+ --tw-ring-offset-width: 1px;
2176
+ }
2177
+
2178
+ .focus-visible\:ring-offset-2:focus-visible {
2179
+ --tw-ring-offset-width: 2px;
2180
+ }
2181
+
2182
+ .focus-visible\:ring-offset-background:focus-visible {
2183
+ --tw-ring-offset-color: hsl(var(--background));
2184
+ }
2185
+
2186
+ .disabled\:pointer-events-none:disabled {
2187
+ pointer-events: none;
2188
+ }
2189
+
2190
+ .disabled\:cursor-not-allowed:disabled {
2191
+ cursor: not-allowed;
2192
+ }
2193
+
2194
+ .disabled\:opacity-50:disabled {
2195
+ opacity: 0.5;
2196
+ }
2197
+
2198
+ .group:hover .group-hover\:opacity-100 {
2199
+ opacity: 1;
2200
+ }
2201
+
2202
+ .group.destructive .group-\[\.destructive\]\:border-muted\/40 {
2203
+ border-color: hsl(var(--muted) / 0.4);
2204
+ }
2205
+
2206
+ .group.toaster .group-\[\.toaster\]\:border-border {
2207
+ border-color: hsl(var(--border));
2208
+ }
2209
+
2210
+ .group.toast .group-\[\.toast\]\:bg-muted {
2211
+ background-color: hsl(var(--muted));
2212
+ }
2213
+
2214
+ .group.toast .group-\[\.toast\]\:bg-primary {
2215
+ background-color: hsl(var(--primary));
2216
+ }
2217
+
2218
+ .group.toaster .group-\[\.toaster\]\:bg-background {
2219
+ background-color: hsl(var(--background));
2220
+ }
2221
+
2222
+ .group.destructive .group-\[\.destructive\]\:text-red-300 {
2223
+ --tw-text-opacity: 1;
2224
+ color: rgb(252 165 165 / var(--tw-text-opacity, 1));
2225
+ }
2226
+
2227
+ .group.toast .group-\[\.toast\]\:text-muted-foreground {
2228
+ color: hsl(var(--muted-foreground));
2229
+ }
2230
+
2231
+ .group.toast .group-\[\.toast\]\:text-primary-foreground {
2232
+ color: hsl(var(--primary-foreground));
2233
+ }
2234
+
2235
+ .group.toaster .group-\[\.toaster\]\:text-foreground {
2236
+ color: hsl(var(--foreground));
2237
+ }
2238
+
2239
+ .group.toaster .group-\[\.toaster\]\:shadow-lg {
2240
+ --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
2241
+ --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
2242
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
2243
+ }
2244
+
2245
+ .group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover {
2246
+ border-color: hsl(var(--destructive) / 0.3);
2247
+ }
2248
+
2249
+ .group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover {
2250
+ background-color: hsl(var(--destructive));
2251
+ }
2252
+
2253
+ .group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover {
2254
+ color: hsl(var(--destructive-foreground));
2255
+ }
2256
+
2257
+ .group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover {
2258
+ --tw-text-opacity: 1;
2259
+ color: rgb(254 242 242 / var(--tw-text-opacity, 1));
2260
+ }
2261
+
2262
+ .group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus {
2263
+ --tw-ring-color: hsl(var(--destructive));
2264
+ }
2265
+
2266
+ .group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus {
2267
+ --tw-ring-opacity: 1;
2268
+ --tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1));
2269
+ }
2270
+
2271
+ .group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus {
2272
+ --tw-ring-offset-color: #dc2626;
2273
+ }
2274
+
2275
+ .peer:disabled ~ .peer-disabled\:cursor-not-allowed {
2276
+ cursor: not-allowed;
2277
+ }
2278
+
2279
+ .peer:disabled ~ .peer-disabled\:opacity-70 {
2280
+ opacity: 0.7;
2281
+ }
2282
+
2283
+ .has-\[\:disabled\]\:opacity-50:has(:disabled) {
2284
+ opacity: 0.5;
2285
+ }
2286
+
2287
+ .aria-disabled\:opacity-50[aria-disabled="true"] {
2288
+ opacity: 0.5;
2289
+ }
2290
+
2291
+ .aria-selected\:text-muted-foreground[aria-selected="true"] {
2292
+ color: hsl(var(--muted-foreground));
2293
+ }
2294
+
2295
+ .data-\[disabled\=true\]\:pointer-events-none[data-disabled="true"] {
2296
+ pointer-events: none;
2297
+ }
2298
+
2299
+ .data-\[disabled\]\:pointer-events-none[data-disabled] {
2300
+ pointer-events: none;
2301
+ }
2302
+
2303
+ .data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction="vertical"] {
2304
+ height: 1px;
2305
+ }
2306
+
2307
+ .data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction="vertical"] {
2308
+ width: 100%;
2309
+ }
2310
+
2311
+ .data-\[side\=bottom\]\:translate-y-1[data-side="bottom"] {
2312
+ --tw-translate-y: 0.25rem;
2313
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
2314
+ }
2315
+
2316
+ .data-\[side\=left\]\:-translate-x-1[data-side="left"] {
2317
+ --tw-translate-x: -0.25rem;
2318
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
2319
+ }
2320
+
2321
+ .data-\[side\=right\]\:translate-x-1[data-side="right"] {
2322
+ --tw-translate-x: 0.25rem;
2323
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
2324
+ }
2325
+
2326
+ .data-\[side\=top\]\:-translate-y-1[data-side="top"] {
2327
+ --tw-translate-y: -0.25rem;
2328
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
2329
+ }
2330
+
2331
+ .data-\[state\=checked\]\:translate-x-5[data-state="checked"] {
2332
+ --tw-translate-x: 1.25rem;
2333
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
2334
+ }
2335
+
2336
+ .data-\[state\=unchecked\]\:translate-x-0[data-state="unchecked"] {
2337
+ --tw-translate-x: 0px;
2338
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
2339
+ }
2340
+
2341
+ .data-\[swipe\=cancel\]\:translate-x-0[data-swipe="cancel"] {
2342
+ --tw-translate-x: 0px;
2343
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
2344
+ }
2345
+
2346
+ .data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe="end"] {
2347
+ --tw-translate-x: var(--radix-toast-swipe-end-x);
2348
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
2349
+ }
2350
+
2351
+ .data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe="move"] {
2352
+ --tw-translate-x: var(--radix-toast-swipe-move-x);
2353
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
2354
+ }
2355
+
2356
+ @keyframes accordion-up {
2357
+ from {
2358
+ height: var(--radix-accordion-content-height);
2359
+ }
2360
+
2361
+ to {
2362
+ height: 0;
2363
+ }
2364
+ }
2365
+
2366
+ .data-\[state\=closed\]\:animate-accordion-up[data-state="closed"] {
2367
+ animation: accordion-up 0.2s ease-out;
2368
+ }
2369
+
2370
+ @keyframes accordion-down {
2371
+ from {
2372
+ height: 0;
2373
+ }
2374
+
2375
+ to {
2376
+ height: var(--radix-accordion-content-height);
2377
+ }
2378
+ }
2379
+
2380
+ .data-\[state\=open\]\:animate-accordion-down[data-state="open"] {
2381
+ animation: accordion-down 0.2s ease-out;
2382
+ }
2383
+
2384
+ .data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction="vertical"] {
2385
+ flex-direction: column;
2386
+ }
2387
+
2388
+ .data-\[range-end\=true\]\:rounded-md[data-range-end="true"] {
2389
+ border-radius: calc(var(--radius) - 2px);
2390
+ }
2391
+
2392
+ .data-\[range-middle\=true\]\:rounded-none[data-range-middle="true"] {
2393
+ border-radius: 0px;
2394
+ }
2395
+
2396
+ .data-\[range-start\=true\]\:rounded-md[data-range-start="true"] {
2397
+ border-radius: calc(var(--radius) - 2px);
2398
+ }
2399
+
2400
+ .data-\[selected\=true\]\:rounded-none[data-selected="true"] {
2401
+ border-radius: 0px;
2402
+ }
2403
+
2404
+ .data-\[range-end\=true\]\:bg-primary[data-range-end="true"] {
2405
+ background-color: hsl(var(--primary));
2406
+ }
2407
+
2408
+ .data-\[range-middle\=true\]\:bg-accent[data-range-middle="true"] {
2409
+ background-color: hsl(var(--accent));
2410
+ }
2411
+
2412
+ .data-\[range-start\=true\]\:bg-primary[data-range-start="true"] {
2413
+ background-color: hsl(var(--primary));
2414
+ }
2415
+
2416
+ .data-\[selected-single\=true\]\:bg-primary[data-selected-single="true"] {
2417
+ background-color: hsl(var(--primary));
2418
+ }
2419
+
2420
+ .data-\[selected\=\'true\'\]\:bg-accent[data-selected='true'] {
2421
+ background-color: hsl(var(--accent));
2422
+ }
2423
+
2424
+ .data-\[state\=active\]\:bg-background[data-state="active"] {
2425
+ background-color: hsl(var(--background));
2426
+ }
2427
+
2428
+ .data-\[state\=checked\]\:bg-primary[data-state="checked"] {
2429
+ background-color: hsl(var(--primary));
2430
+ }
2431
+
2432
+ .data-\[state\=on\]\:bg-accent[data-state="on"] {
2433
+ background-color: hsl(var(--accent));
2434
+ }
2435
+
2436
+ .data-\[state\=open\]\:bg-accent[data-state="open"] {
2437
+ background-color: hsl(var(--accent));
2438
+ }
2439
+
2440
+ .data-\[state\=open\]\:bg-accent\/50[data-state="open"] {
2441
+ background-color: hsl(var(--accent) / 0.5);
2442
+ }
2443
+
2444
+ .data-\[state\=open\]\:bg-secondary[data-state="open"] {
2445
+ background-color: hsl(var(--secondary));
2446
+ }
2447
+
2448
+ .data-\[state\=selected\]\:bg-muted[data-state="selected"] {
2449
+ background-color: hsl(var(--muted));
2450
+ }
2451
+
2452
+ .data-\[state\=unchecked\]\:bg-input[data-state="unchecked"] {
2453
+ background-color: hsl(var(--input));
2454
+ }
2455
+
2456
+ .data-\[placeholder\]\:text-muted-foreground[data-placeholder] {
2457
+ color: hsl(var(--muted-foreground));
2458
+ }
2459
+
2460
+ .data-\[range-end\=true\]\:text-primary-foreground[data-range-end="true"] {
2461
+ color: hsl(var(--primary-foreground));
2462
+ }
2463
+
2464
+ .data-\[range-middle\=true\]\:text-accent-foreground[data-range-middle="true"] {
2465
+ color: hsl(var(--accent-foreground));
2466
+ }
2467
+
2468
+ .data-\[range-start\=true\]\:text-primary-foreground[data-range-start="true"] {
2469
+ color: hsl(var(--primary-foreground));
2470
+ }
2471
+
2472
+ .data-\[selected-single\=true\]\:text-primary-foreground[data-selected-single="true"] {
2473
+ color: hsl(var(--primary-foreground));
2474
+ }
2475
+
2476
+ .data-\[selected\=true\]\:text-accent-foreground[data-selected="true"] {
2477
+ color: hsl(var(--accent-foreground));
2478
+ }
2479
+
2480
+ .data-\[state\=active\]\:text-foreground[data-state="active"] {
2481
+ color: hsl(var(--foreground));
2482
+ }
2483
+
2484
+ .data-\[state\=checked\]\:text-primary-foreground[data-state="checked"] {
2485
+ color: hsl(var(--primary-foreground));
2486
+ }
2487
+
2488
+ .data-\[state\=on\]\:text-accent-foreground[data-state="on"] {
2489
+ color: hsl(var(--accent-foreground));
2490
+ }
2491
+
2492
+ .data-\[state\=open\]\:text-accent-foreground[data-state="open"] {
2493
+ color: hsl(var(--accent-foreground));
2494
+ }
2495
+
2496
+ .data-\[state\=open\]\:text-muted-foreground[data-state="open"] {
2497
+ color: hsl(var(--muted-foreground));
2498
+ }
2499
+
2500
+ .data-\[disabled\=true\]\:opacity-50[data-disabled="true"] {
2501
+ opacity: 0.5;
2502
+ }
2503
+
2504
+ .data-\[disabled\]\:opacity-50[data-disabled] {
2505
+ opacity: 0.5;
2506
+ }
2507
+
2508
+ .data-\[state\=active\]\:shadow-sm[data-state="active"] {
2509
+ --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
2510
+ --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
2511
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
2512
+ }
2513
+
2514
+ .data-\[swipe\=move\]\:transition-none[data-swipe="move"] {
2515
+ transition-property: none;
2516
+ }
2517
+
2518
+ .data-\[state\=closed\]\:duration-300[data-state="closed"] {
2519
+ transition-duration: 300ms;
2520
+ }
2521
+
2522
+ .data-\[state\=open\]\:duration-500[data-state="open"] {
2523
+ transition-duration: 500ms;
2524
+ }
2525
+
2526
+ .data-\[motion\^\=from-\]\:animate-in[data-motion^="from-"] {
2527
+ animation-name: enter;
2528
+ animation-duration: 150ms;
2529
+ --tw-enter-opacity: initial;
2530
+ --tw-enter-scale: initial;
2531
+ --tw-enter-rotate: initial;
2532
+ --tw-enter-translate-x: initial;
2533
+ --tw-enter-translate-y: initial;
2534
+ }
2535
+
2536
+ .data-\[state\=open\]\:animate-in[data-state="open"] {
2537
+ animation-name: enter;
2538
+ animation-duration: 150ms;
2539
+ --tw-enter-opacity: initial;
2540
+ --tw-enter-scale: initial;
2541
+ --tw-enter-rotate: initial;
2542
+ --tw-enter-translate-x: initial;
2543
+ --tw-enter-translate-y: initial;
2544
+ }
2545
+
2546
+ .data-\[state\=visible\]\:animate-in[data-state="visible"] {
2547
+ animation-name: enter;
2548
+ animation-duration: 150ms;
2549
+ --tw-enter-opacity: initial;
2550
+ --tw-enter-scale: initial;
2551
+ --tw-enter-rotate: initial;
2552
+ --tw-enter-translate-x: initial;
2553
+ --tw-enter-translate-y: initial;
2554
+ }
2555
+
2556
+ .data-\[motion\^\=to-\]\:animate-out[data-motion^="to-"] {
2557
+ animation-name: exit;
2558
+ animation-duration: 150ms;
2559
+ --tw-exit-opacity: initial;
2560
+ --tw-exit-scale: initial;
2561
+ --tw-exit-rotate: initial;
2562
+ --tw-exit-translate-x: initial;
2563
+ --tw-exit-translate-y: initial;
2564
+ }
2565
+
2566
+ .data-\[state\=closed\]\:animate-out[data-state="closed"] {
2567
+ animation-name: exit;
2568
+ animation-duration: 150ms;
2569
+ --tw-exit-opacity: initial;
2570
+ --tw-exit-scale: initial;
2571
+ --tw-exit-rotate: initial;
2572
+ --tw-exit-translate-x: initial;
2573
+ --tw-exit-translate-y: initial;
2574
+ }
2575
+
2576
+ .data-\[state\=hidden\]\:animate-out[data-state="hidden"] {
2577
+ animation-name: exit;
2578
+ animation-duration: 150ms;
2579
+ --tw-exit-opacity: initial;
2580
+ --tw-exit-scale: initial;
2581
+ --tw-exit-rotate: initial;
2582
+ --tw-exit-translate-x: initial;
2583
+ --tw-exit-translate-y: initial;
2584
+ }
2585
+
2586
+ .data-\[swipe\=end\]\:animate-out[data-swipe="end"] {
2587
+ animation-name: exit;
2588
+ animation-duration: 150ms;
2589
+ --tw-exit-opacity: initial;
2590
+ --tw-exit-scale: initial;
2591
+ --tw-exit-rotate: initial;
2592
+ --tw-exit-translate-x: initial;
2593
+ --tw-exit-translate-y: initial;
2594
+ }
2595
+
2596
+ .data-\[motion\^\=from-\]\:fade-in[data-motion^="from-"] {
2597
+ --tw-enter-opacity: 0;
2598
+ }
2599
+
2600
+ .data-\[motion\^\=to-\]\:fade-out[data-motion^="to-"] {
2601
+ --tw-exit-opacity: 0;
2602
+ }
2603
+
2604
+ .data-\[state\=closed\]\:fade-out-0[data-state="closed"] {
2605
+ --tw-exit-opacity: 0;
2606
+ }
2607
+
2608
+ .data-\[state\=closed\]\:fade-out-80[data-state="closed"] {
2609
+ --tw-exit-opacity: 0.8;
2610
+ }
2611
+
2612
+ .data-\[state\=hidden\]\:fade-out[data-state="hidden"] {
2613
+ --tw-exit-opacity: 0;
2614
+ }
2615
+
2616
+ .data-\[state\=open\]\:fade-in-0[data-state="open"] {
2617
+ --tw-enter-opacity: 0;
2618
+ }
2619
+
2620
+ .data-\[state\=visible\]\:fade-in[data-state="visible"] {
2621
+ --tw-enter-opacity: 0;
2622
+ }
2623
+
2624
+ .data-\[state\=closed\]\:zoom-out-95[data-state="closed"] {
2625
+ --tw-exit-scale: .95;
2626
+ }
2627
+
2628
+ .data-\[state\=open\]\:zoom-in-90[data-state="open"] {
2629
+ --tw-enter-scale: .9;
2630
+ }
2631
+
2632
+ .data-\[state\=open\]\:zoom-in-95[data-state="open"] {
2633
+ --tw-enter-scale: .95;
2634
+ }
2635
+
2636
+ .data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion="from-end"] {
2637
+ --tw-enter-translate-x: 13rem;
2638
+ }
2639
+
2640
+ .data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion="from-start"] {
2641
+ --tw-enter-translate-x: -13rem;
2642
+ }
2643
+
2644
+ .data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion="to-end"] {
2645
+ --tw-exit-translate-x: 13rem;
2646
+ }
2647
+
2648
+ .data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion="to-start"] {
2649
+ --tw-exit-translate-x: -13rem;
2650
+ }
2651
+
2652
+ .data-\[side\=bottom\]\:slide-in-from-top-2[data-side="bottom"] {
2653
+ --tw-enter-translate-y: -0.5rem;
2654
+ }
2655
+
2656
+ .data-\[side\=left\]\:slide-in-from-right-2[data-side="left"] {
2657
+ --tw-enter-translate-x: 0.5rem;
2658
+ }
2659
+
2660
+ .data-\[side\=right\]\:slide-in-from-left-2[data-side="right"] {
2661
+ --tw-enter-translate-x: -0.5rem;
2662
+ }
2663
+
2664
+ .data-\[side\=top\]\:slide-in-from-bottom-2[data-side="top"] {
2665
+ --tw-enter-translate-y: 0.5rem;
2666
+ }
2667
+
2668
+ .data-\[state\=closed\]\:slide-out-to-bottom[data-state="closed"] {
2669
+ --tw-exit-translate-y: 100%;
2670
+ }
2671
+
2672
+ .data-\[state\=closed\]\:slide-out-to-left[data-state="closed"] {
2673
+ --tw-exit-translate-x: -100%;
2674
+ }
2675
+
2676
+ .data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state="closed"] {
2677
+ --tw-exit-translate-x: -50%;
2678
+ }
2679
+
2680
+ .data-\[state\=closed\]\:slide-out-to-right[data-state="closed"] {
2681
+ --tw-exit-translate-x: 100%;
2682
+ }
2683
+
2684
+ .data-\[state\=closed\]\:slide-out-to-right-full[data-state="closed"] {
2685
+ --tw-exit-translate-x: 100%;
2686
+ }
2687
+
2688
+ .data-\[state\=closed\]\:slide-out-to-top[data-state="closed"] {
2689
+ --tw-exit-translate-y: -100%;
2690
+ }
2691
+
2692
+ .data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state="closed"] {
2693
+ --tw-exit-translate-y: -48%;
2694
+ }
2695
+
2696
+ .data-\[state\=open\]\:slide-in-from-bottom[data-state="open"] {
2697
+ --tw-enter-translate-y: 100%;
2698
+ }
2699
+
2700
+ .data-\[state\=open\]\:slide-in-from-left[data-state="open"] {
2701
+ --tw-enter-translate-x: -100%;
2702
+ }
2703
+
2704
+ .data-\[state\=open\]\:slide-in-from-left-1\/2[data-state="open"] {
2705
+ --tw-enter-translate-x: -50%;
2706
+ }
2707
+
2708
+ .data-\[state\=open\]\:slide-in-from-right[data-state="open"] {
2709
+ --tw-enter-translate-x: 100%;
2710
+ }
2711
+
2712
+ .data-\[state\=open\]\:slide-in-from-top[data-state="open"] {
2713
+ --tw-enter-translate-y: -100%;
2714
+ }
2715
+
2716
+ .data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state="open"] {
2717
+ --tw-enter-translate-y: -48%;
2718
+ }
2719
+
2720
+ .data-\[state\=open\]\:slide-in-from-top-full[data-state="open"] {
2721
+ --tw-enter-translate-y: -100%;
2722
+ }
2723
+
2724
+ .data-\[state\=closed\]\:duration-300[data-state="closed"] {
2725
+ animation-duration: 300ms;
2726
+ }
2727
+
2728
+ .data-\[state\=open\]\:duration-500[data-state="open"] {
2729
+ animation-duration: 500ms;
2730
+ }
2731
+
2732
+ .data-\[state\=open\]\:hover\:bg-accent:hover[data-state="open"] {
2733
+ background-color: hsl(var(--accent));
2734
+ }
2735
+
2736
+ .data-\[state\=open\]\:focus\:bg-accent:focus[data-state="open"] {
2737
+ background-color: hsl(var(--accent));
2738
+ }
2739
+
2740
+ .group\/day[data-focused="true"] .group-data-\[focused\=true\]\/day\:relative {
2741
+ position: relative;
2742
+ }
2743
+
2744
+ .group\/day[data-focused="true"] .group-data-\[focused\=true\]\/day\:z-10 {
2745
+ z-index: 10;
2746
+ }
2747
+
2748
+ .group[data-state="open"] .group-data-\[state\=open\]\:rotate-180 {
2749
+ --tw-rotate: 180deg;
2750
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
2751
+ }
2752
+
2753
+ .group\/day[data-focused="true"] .group-data-\[focused\=true\]\/day\:border-ring {
2754
+ border-color: hsl(var(--ring));
2755
+ }
2756
+
2757
+ .group\/day[data-focused="true"] .group-data-\[focused\=true\]\/day\:ring-\[3px\] {
2758
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
2759
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
2760
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
2761
+ }
2762
+
2763
+ .group\/day[data-focused="true"] .group-data-\[focused\=true\]\/day\:ring-ring\/50 {
2764
+ --tw-ring-color: hsl(var(--ring) / 0.5);
2765
+ }
2766
+
2767
+ .dark\:border-destructive:is(.dark *) {
2768
+ border-color: hsl(var(--destructive));
2769
+ }
2770
+
2771
+ @media (min-width: 640px) {
2772
+ .sm\:bottom-0 {
2773
+ bottom: 0px;
2774
+ }
2775
+
2776
+ .sm\:right-0 {
2777
+ right: 0px;
2778
+ }
2779
+
2780
+ .sm\:top-auto {
2781
+ top: auto;
2782
+ }
2783
+
2784
+ .sm\:mt-0 {
2785
+ margin-top: 0px;
2786
+ }
2787
+
2788
+ .sm\:max-w-sm {
2789
+ max-width: 24rem;
2790
+ }
2791
+
2792
+ .sm\:flex-row {
2793
+ flex-direction: row;
2794
+ }
2795
+
2796
+ .sm\:flex-col {
2797
+ flex-direction: column;
2798
+ }
2799
+
2800
+ .sm\:justify-end {
2801
+ justify-content: flex-end;
2802
+ }
2803
+
2804
+ .sm\:gap-2\.5 {
2805
+ gap: 0.625rem;
2806
+ }
2807
+
2808
+ .sm\:space-x-2 > :not([hidden]) ~ :not([hidden]) {
2809
+ --tw-space-x-reverse: 0;
2810
+ margin-right: calc(0.5rem * var(--tw-space-x-reverse));
2811
+ margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
2812
+ }
2813
+
2814
+ .sm\:rounded-lg {
2815
+ border-radius: var(--radius);
2816
+ }
2817
+
2818
+ .sm\:text-left {
2819
+ text-align: left;
2820
+ }
2821
+
2822
+ .data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state="open"] {
2823
+ --tw-enter-translate-y: 100%;
2824
+ }
2825
+ }
2826
+
2827
+ @media (min-width: 768px) {
2828
+ .md\:absolute {
2829
+ position: absolute;
2830
+ }
2831
+
2832
+ .md\:w-\[var\(--radix-navigation-menu-viewport-width\)\] {
2833
+ width: var(--radix-navigation-menu-viewport-width);
2834
+ }
2835
+
2836
+ .md\:w-auto {
2837
+ width: auto;
2838
+ }
2839
+
2840
+ .md\:max-w-\[420px\] {
2841
+ max-width: 420px;
2842
+ }
2843
+
2844
+ .md\:flex-row {
2845
+ flex-direction: row;
2846
+ }
2847
+
2848
+ .md\:text-sm {
2849
+ font-size: 0.875rem;
2850
+ line-height: 1.25rem;
2851
+ }
2852
+ }
2853
+
2854
+ .\[\&\:first-child\[data-selected\=true\]_button\]\:rounded-l-md:first-child[data-selected=true] button {
2855
+ border-top-left-radius: calc(var(--radius) - 2px);
2856
+ border-bottom-left-radius: calc(var(--radius) - 2px);
2857
+ }
2858
+
2859
+ .\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]) {
2860
+ padding-right: 0px;
2861
+ }
2862
+
2863
+ .\[\&\:last-child\[data-selected\=true\]_button\]\:rounded-r-md:last-child[data-selected=true] button {
2864
+ border-top-right-radius: calc(var(--radius) - 2px);
2865
+ border-bottom-right-radius: calc(var(--radius) - 2px);
2866
+ }
2867
+
2868
+ .\[\&\>span\]\:line-clamp-1>span {
2869
+ overflow: hidden;
2870
+ display: -webkit-box;
2871
+ -webkit-box-orient: vertical;
2872
+ -webkit-line-clamp: 1;
2873
+ }
2874
+
2875
+ .\[\&\>span\]\:text-xs>span {
2876
+ font-size: 0.75rem;
2877
+ line-height: 1rem;
2878
+ }
2879
+
2880
+ .\[\&\>span\]\:opacity-70>span {
2881
+ opacity: 0.7;
2882
+ }
2883
+
2884
+ .\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div {
2885
+ --tw-translate-y: -3px;
2886
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
2887
+ }
2888
+
2889
+ .\[\&\>svg\]\:absolute>svg {
2890
+ position: absolute;
2891
+ }
2892
+
2893
+ .\[\&\>svg\]\:left-4>svg {
2894
+ left: 1rem;
2895
+ }
2896
+
2897
+ .\[\&\>svg\]\:top-4>svg {
2898
+ top: 1rem;
2899
+ }
2900
+
2901
+ .\[\&\>svg\]\:size-3\.5>svg {
2902
+ width: 0.875rem;
2903
+ height: 0.875rem;
2904
+ }
2905
+
2906
+ .\[\&\>svg\]\:h-2\.5>svg {
2907
+ height: 0.625rem;
2908
+ }
2909
+
2910
+ .\[\&\>svg\]\:h-3>svg {
2911
+ height: 0.75rem;
2912
+ }
2913
+
2914
+ .\[\&\>svg\]\:h-3\.5>svg {
2915
+ height: 0.875rem;
2916
+ }
2917
+
2918
+ .\[\&\>svg\]\:w-2\.5>svg {
2919
+ width: 0.625rem;
2920
+ }
2921
+
2922
+ .\[\&\>svg\]\:w-3>svg {
2923
+ width: 0.75rem;
2924
+ }
2925
+
2926
+ .\[\&\>svg\]\:w-3\.5>svg {
2927
+ width: 0.875rem;
2928
+ }
2929
+
2930
+ .\[\&\>svg\]\:text-destructive>svg {
2931
+ color: hsl(var(--destructive));
2932
+ }
2933
+
2934
+ .\[\&\>svg\]\:text-foreground>svg {
2935
+ color: hsl(var(--foreground));
2936
+ }
2937
+
2938
+ .\[\&\>svg\]\:text-muted-foreground>svg {
2939
+ color: hsl(var(--muted-foreground));
2940
+ }
2941
+
2942
+ .\[\&\>svg\~\*\]\:pl-7>svg~* {
2943
+ padding-left: 1.75rem;
2944
+ }
2945
+
2946
+ .\[\&\>tr\]\:last\:border-b-0:last-child>tr {
2947
+ border-bottom-width: 0px;
2948
+ }
2949
+
2950
+ .\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div {
2951
+ --tw-rotate: 90deg;
2952
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
2953
+ }
2954
+
2955
+ .\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg {
2956
+ --tw-rotate: 180deg;
2957
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
2958
+ }
2959
+
2960
+ .\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text {
2961
+ fill: hsl(var(--muted-foreground));
2962
+ }
2963
+
2964
+ .\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke='#ccc'] {
2965
+ stroke: hsl(var(--border) / 0.5);
2966
+ }
2967
+
2968
+ .\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor {
2969
+ stroke: hsl(var(--border));
2970
+ }
2971
+
2972
+ .\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke='#fff'] {
2973
+ stroke: transparent;
2974
+ }
2975
+
2976
+ .\[\&_\.recharts-layer\]\:outline-none .recharts-layer {
2977
+ outline: 2px solid transparent;
2978
+ outline-offset: 2px;
2979
+ }
2980
+
2981
+ .\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke='#ccc'] {
2982
+ stroke: hsl(var(--border));
2983
+ }
2984
+
2985
+ .\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector {
2986
+ fill: hsl(var(--muted));
2987
+ }
2988
+
2989
+ .\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor {
2990
+ fill: hsl(var(--muted));
2991
+ }
2992
+
2993
+ .\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke='#ccc'] {
2994
+ stroke: hsl(var(--border));
2995
+ }
2996
+
2997
+ .\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke='#fff'] {
2998
+ stroke: transparent;
2999
+ }
3000
+
3001
+ .\[\&_\.recharts-sector\]\:outline-none .recharts-sector {
3002
+ outline: 2px solid transparent;
3003
+ outline-offset: 2px;
3004
+ }
3005
+
3006
+ .\[\&_\.recharts-surface\]\:outline-none .recharts-surface {
3007
+ outline: 2px solid transparent;
3008
+ outline-offset: 2px;
3009
+ }
3010
+
3011
+ .\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading] {
3012
+ padding-left: 0.5rem;
3013
+ padding-right: 0.5rem;
3014
+ }
3015
+
3016
+ .\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading] {
3017
+ padding-top: 0.375rem;
3018
+ padding-bottom: 0.375rem;
3019
+ }
3020
+
3021
+ .\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading] {
3022
+ font-size: 0.75rem;
3023
+ line-height: 1rem;
3024
+ }
3025
+
3026
+ .\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading] {
3027
+ font-weight: 500;
3028
+ }
3029
+
3030
+ .\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading] {
3031
+ color: hsl(var(--muted-foreground));
3032
+ }
3033
+
3034
+ .\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden]) ~[cmdk-group] {
3035
+ padding-top: 0px;
3036
+ }
3037
+
3038
+ .\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group] {
3039
+ padding-left: 0.5rem;
3040
+ padding-right: 0.5rem;
3041
+ }
3042
+
3043
+ .\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg {
3044
+ height: 1.25rem;
3045
+ }
3046
+
3047
+ .\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg {
3048
+ width: 1.25rem;
3049
+ }
3050
+
3051
+ .\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input] {
3052
+ height: 3rem;
3053
+ }
3054
+
3055
+ .\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item] {
3056
+ padding-left: 0.5rem;
3057
+ padding-right: 0.5rem;
3058
+ }
3059
+
3060
+ .\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item] {
3061
+ padding-top: 0.75rem;
3062
+ padding-bottom: 0.75rem;
3063
+ }
3064
+
3065
+ .\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg {
3066
+ height: 1.25rem;
3067
+ }
3068
+
3069
+ .\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg {
3070
+ width: 1.25rem;
3071
+ }
3072
+
3073
+ .\[\&_p\]\:leading-relaxed p {
3074
+ line-height: 1.625;
3075
+ }
3076
+
3077
+ .\[\&_svg\]\:pointer-events-none svg {
3078
+ pointer-events: none;
3079
+ }
3080
+
3081
+ .\[\&_svg\]\:size-4 svg {
3082
+ width: 1rem;
3083
+ height: 1rem;
3084
+ }
3085
+
3086
+ .\[\&_svg\]\:shrink-0 svg {
3087
+ flex-shrink: 0;
3088
+ }
3089
+
3090
+ .\[\&_tr\:last-child\]\:border-0 tr:last-child {
3091
+ border-width: 0px;
3092
+ }
3093
+
3094
+ .\[\&_tr\]\:border-b tr {
3095
+ border-bottom-width: 1px;
3096
+ }
3097
+
3098
+ [data-slot=card-content] .\[\[data-slot\=card-content\]_\&\]\:bg-transparent {
3099
+ background-color: transparent;
3100
+ }
3101
+
3102
+ [data-slot=popover-content] .\[\[data-slot\=popover-content\]_\&\]\:bg-transparent {
3103
+ background-color: transparent;
3104
+ }
3105
+