@undevy-org/tablewright 0.1.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 (170) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +262 -0
  3. package/dist/es/components/dashboard/ReportSummaryCard.js +67 -0
  4. package/dist/es/components/data-table/AppliedStateChips.js +113 -0
  5. package/dist/es/components/data-table/ColumnFilterPopover.js +548 -0
  6. package/dist/es/components/data-table/ColumnHeaderMenu.js +144 -0
  7. package/dist/es/components/data-table/CompoundFilterPopover.js +508 -0
  8. package/dist/es/components/data-table/CopyButton.js +35 -0
  9. package/dist/es/components/data-table/CopyableText.js +26 -0
  10. package/dist/es/components/data-table/DataTableShell.js +145 -0
  11. package/dist/es/components/data-table/DrawerActionGroup.js +59 -0
  12. package/dist/es/components/data-table/DrawerEntityCard.js +21 -0
  13. package/dist/es/components/data-table/DrawerField.js +10 -0
  14. package/dist/es/components/data-table/DrawerFlagItem.js +20 -0
  15. package/dist/es/components/data-table/DrawerSection.js +26 -0
  16. package/dist/es/components/data-table/DrawerShell.js +141 -0
  17. package/dist/es/components/data-table/DrawerSummaryCard.js +11 -0
  18. package/dist/es/components/data-table/EmptyState.js +14 -0
  19. package/dist/es/components/data-table/ExpiryTimestampCell.js +43 -0
  20. package/dist/es/components/data-table/FilterChip.js +47 -0
  21. package/dist/es/components/data-table/FilterFormPanel.js +357 -0
  22. package/dist/es/components/data-table/FilterFormToggle.js +77 -0
  23. package/dist/es/components/data-table/FilterPopoverFooter.js +19 -0
  24. package/dist/es/components/data-table/FilterToolbar.js +131 -0
  25. package/dist/es/components/data-table/FlatColumnToggle.js +46 -0
  26. package/dist/es/components/data-table/GapIndicator.js +29 -0
  27. package/dist/es/components/data-table/GroupedColumnToggle.js +112 -0
  28. package/dist/es/components/data-table/RowActionsMenu.js +74 -0
  29. package/dist/es/components/data-table/RowControlCell.js +104 -0
  30. package/dist/es/components/data-table/SortableHeader.js +102 -0
  31. package/dist/es/components/data-table/TableFooter.js +132 -0
  32. package/dist/es/components/data-table/TableLayout.js +14 -0
  33. package/dist/es/components/data-table/TimestampCell.js +16 -0
  34. package/dist/es/components/data-table/TwoPanelMenu.js +64 -0
  35. package/dist/es/components/data-table/ViewChip.js +25 -0
  36. package/dist/es/components/data-table/cells/AmountCell.js +127 -0
  37. package/dist/es/components/data-table/cells/ConfirmedAmountCell.js +115 -0
  38. package/dist/es/components/data-table/cells/CurrencyAmountCell.js +26 -0
  39. package/dist/es/components/data-table/cells/DualLineCell.js +59 -0
  40. package/dist/es/components/data-table/cells/EnumBadgeCell.js +9 -0
  41. package/dist/es/components/data-table/cells/MonoIdCell.js +31 -0
  42. package/dist/es/components/data-table/hooks/use-column-resize.js +39 -0
  43. package/dist/es/components/data-table/hooks/use-row-drag.js +40 -0
  44. package/dist/es/components/data-table/hooks/use-table-pagination.js +14 -0
  45. package/dist/es/components/data-table/hooks/use-table-sort.js +35 -0
  46. package/dist/es/components/data-table/managed-filters.js +34 -0
  47. package/dist/es/components/data-table/sticky-utils.js +25 -0
  48. package/dist/es/components/layout/AppShell.js +113 -0
  49. package/dist/es/components/layout/Sidebar.js +128 -0
  50. package/dist/es/components/layout/SidebarAccountMenu.js +129 -0
  51. package/dist/es/components/layout/SidebarUser.js +38 -0
  52. package/dist/es/components/layout/TopBar.js +25 -0
  53. package/dist/es/components/layout/app-shell-context.js +9 -0
  54. package/dist/es/components/ui/badge.js +31 -0
  55. package/dist/es/components/ui/button-footer.js +25 -0
  56. package/dist/es/components/ui/button.js +44 -0
  57. package/dist/es/components/ui/checkbox.js +24 -0
  58. package/dist/es/components/ui/combobox.js +179 -0
  59. package/dist/es/components/ui/dialog.js +80 -0
  60. package/dist/es/components/ui/dropdown-menu.js +66 -0
  61. package/dist/es/components/ui/input.js +24 -0
  62. package/dist/es/components/ui/popover.js +33 -0
  63. package/dist/es/components/ui/segmented-control.js +60 -0
  64. package/dist/es/components/ui/select.js +66 -0
  65. package/dist/es/components/ui/tabs.js +41 -0
  66. package/dist/es/components/ui/theme-switch.js +47 -0
  67. package/dist/es/constants/drawer.js +4 -0
  68. package/dist/es/context/drawer-expand-context.js +10 -0
  69. package/dist/es/context/portal-container-context.js +10 -0
  70. package/dist/es/hooks/table-orchestration-store.js +165 -0
  71. package/dist/es/hooks/use-scroll-activity.js +33 -0
  72. package/dist/es/hooks/useRowDragOverride.js +18 -0
  73. package/dist/es/hooks/useTableOrchestration.js +452 -0
  74. package/dist/es/index.js +199 -0
  75. package/dist/es/lib/column-gaps.js +23 -0
  76. package/dist/es/lib/filter-stats.js +67 -0
  77. package/dist/es/lib/format-enum.js +6 -0
  78. package/dist/es/lib/format-timestamp.js +37 -0
  79. package/dist/es/lib/style-scope.js +4 -0
  80. package/dist/es/lib/utils.js +8 -0
  81. package/dist/fonts.css +5 -0
  82. package/dist/preflight.css +502 -0
  83. package/dist/styles.css +1731 -0
  84. package/dist/tablewright.cjs +5473 -0
  85. package/dist/tablewright.css +1579 -0
  86. package/dist/tokens.css +150 -0
  87. package/dist/types/components/dashboard/ReportSummaryCard.d.ts +15 -0
  88. package/dist/types/components/data-table/AppliedStateChips.d.ts +28 -0
  89. package/dist/types/components/data-table/ColumnFilterPopover.d.ts +14 -0
  90. package/dist/types/components/data-table/ColumnHeaderMenu.d.ts +27 -0
  91. package/dist/types/components/data-table/CompoundFilterPopover.d.ts +14 -0
  92. package/dist/types/components/data-table/CopyButton.d.ts +8 -0
  93. package/dist/types/components/data-table/CopyableText.d.ts +10 -0
  94. package/dist/types/components/data-table/DataTableShell.d.ts +30 -0
  95. package/dist/types/components/data-table/DrawerActionGroup.d.ts +8 -0
  96. package/dist/types/components/data-table/DrawerEntityCard.d.ts +13 -0
  97. package/dist/types/components/data-table/DrawerField.d.ts +7 -0
  98. package/dist/types/components/data-table/DrawerFlagItem.d.ts +10 -0
  99. package/dist/types/components/data-table/DrawerSection.d.ts +8 -0
  100. package/dist/types/components/data-table/DrawerShell.d.ts +33 -0
  101. package/dist/types/components/data-table/DrawerSummaryCard.d.ts +7 -0
  102. package/dist/types/components/data-table/EmptyState.d.ts +6 -0
  103. package/dist/types/components/data-table/ExpiryTimestampCell.d.ts +6 -0
  104. package/dist/types/components/data-table/FilterChip.d.ts +8 -0
  105. package/dist/types/components/data-table/FilterFormPanel.d.ts +34 -0
  106. package/dist/types/components/data-table/FilterFormToggle.d.ts +18 -0
  107. package/dist/types/components/data-table/FilterPopoverFooter.d.ts +9 -0
  108. package/dist/types/components/data-table/FilterToolbar.d.ts +29 -0
  109. package/dist/types/components/data-table/FlatColumnToggle.d.ts +10 -0
  110. package/dist/types/components/data-table/GapIndicator.d.ts +11 -0
  111. package/dist/types/components/data-table/GroupedColumnToggle.d.ts +12 -0
  112. package/dist/types/components/data-table/RowActionsMenu.d.ts +10 -0
  113. package/dist/types/components/data-table/RowControlCell.d.ts +16 -0
  114. package/dist/types/components/data-table/SortableHeader.d.ts +16 -0
  115. package/dist/types/components/data-table/TableFooter.d.ts +31 -0
  116. package/dist/types/components/data-table/TableLayout.d.ts +12 -0
  117. package/dist/types/components/data-table/TimestampCell.d.ts +3 -0
  118. package/dist/types/components/data-table/TwoPanelMenu.d.ts +22 -0
  119. package/dist/types/components/data-table/ViewChip.d.ts +6 -0
  120. package/dist/types/components/data-table/cells/AmountCell.d.ts +11 -0
  121. package/dist/types/components/data-table/cells/ConfirmedAmountCell.d.ts +10 -0
  122. package/dist/types/components/data-table/cells/CurrencyAmountCell.d.ts +8 -0
  123. package/dist/types/components/data-table/cells/DualLineCell.d.ts +44 -0
  124. package/dist/types/components/data-table/cells/EnumBadgeCell.d.ts +9 -0
  125. package/dist/types/components/data-table/cells/MonoIdCell.d.ts +19 -0
  126. package/dist/types/components/data-table/filter-types.d.ts +79 -0
  127. package/dist/types/components/data-table/hooks/use-column-resize.d.ts +7 -0
  128. package/dist/types/components/data-table/hooks/use-row-drag.d.ts +14 -0
  129. package/dist/types/components/data-table/hooks/use-table-pagination.d.ts +10 -0
  130. package/dist/types/components/data-table/hooks/use-table-sort.d.ts +6 -0
  131. package/dist/types/components/data-table/managed-filters.d.ts +18 -0
  132. package/dist/types/components/data-table/sticky-utils.d.ts +4 -0
  133. package/dist/types/components/data-table/types.d.ts +35 -0
  134. package/dist/types/components/layout/AppShell.d.ts +23 -0
  135. package/dist/types/components/layout/Sidebar.d.ts +16 -0
  136. package/dist/types/components/layout/SidebarAccountMenu.d.ts +20 -0
  137. package/dist/types/components/layout/SidebarUser.d.ts +8 -0
  138. package/dist/types/components/layout/TopBar.d.ts +7 -0
  139. package/dist/types/components/layout/app-shell-context.d.ts +8 -0
  140. package/dist/types/components/layout/index.d.ts +10 -0
  141. package/dist/types/components/layout/types.d.ts +11 -0
  142. package/dist/types/components/ui/badge.d.ts +9 -0
  143. package/dist/types/components/ui/button-footer.d.ts +7 -0
  144. package/dist/types/components/ui/button.d.ts +11 -0
  145. package/dist/types/components/ui/checkbox.d.ts +4 -0
  146. package/dist/types/components/ui/combobox.d.ts +92 -0
  147. package/dist/types/components/ui/dialog.d.ts +15 -0
  148. package/dist/types/components/ui/dropdown-menu.d.ts +10 -0
  149. package/dist/types/components/ui/input.d.ts +6 -0
  150. package/dist/types/components/ui/popover.d.ts +7 -0
  151. package/dist/types/components/ui/segmented-control.d.ts +17 -0
  152. package/dist/types/components/ui/select.d.ts +8 -0
  153. package/dist/types/components/ui/tabs.d.ts +10 -0
  154. package/dist/types/components/ui/theme-switch.d.ts +12 -0
  155. package/dist/types/constants/drawer.d.ts +1 -0
  156. package/dist/types/context/drawer-expand-context.d.ts +7 -0
  157. package/dist/types/context/portal-container-context.d.ts +14 -0
  158. package/dist/types/hooks/table-orchestration-store.d.ts +75 -0
  159. package/dist/types/hooks/use-scroll-activity.d.ts +1 -0
  160. package/dist/types/hooks/useDemoTheme.d.ts +8 -0
  161. package/dist/types/hooks/useRowDragOverride.d.ts +6 -0
  162. package/dist/types/hooks/useTableOrchestration.d.ts +115 -0
  163. package/dist/types/index.d.ts +107 -0
  164. package/dist/types/lib/column-gaps.d.ts +3 -0
  165. package/dist/types/lib/filter-stats.d.ts +2 -0
  166. package/dist/types/lib/format-enum.d.ts +1 -0
  167. package/dist/types/lib/format-timestamp.d.ts +4 -0
  168. package/dist/types/lib/style-scope.d.ts +19 -0
  169. package/dist/types/lib/utils.d.ts +2 -0
  170. package/package.json +114 -0
@@ -0,0 +1,1579 @@
1
+ /* @undevy-org/tablewright — scoped reset, component globals and utilities. Generated by scripts/build-css.mjs; do not edit. */
2
+ /* Scoped element reset.
3
+ *
4
+ * Tailwind's own preflight is a global reset: it rewrites margins, list styles,
5
+ * heading sizes and form-control appearance for every element on the page. That
6
+ * is correct for a standalone app and wrong for a library dropped into a host
7
+ * that already has its own reset, so the package ships this instead — the same
8
+ * normalisation, confined to a `.tablewright` subtree.
9
+ *
10
+ * Specificity here is exact, and both halves of it are load-bearing.
11
+ *
12
+ * - The scope class is a REAL class, not `:where(.tablewright)`. A host reset
13
+ * addresses elements directly — code_admin's has
14
+ * `button, input, optgroup, select, textarea { border: none }` at (0,0,1) —
15
+ * and a zero-specificity reset loses to it. That is not theoretical: with
16
+ * the scope wrapped in `:where()`, every input, button and select in the kit
17
+ * rendered with no border at all inside that app, silently, with all build
18
+ * checks green.
19
+ * - The element half stays inside `:where()`, so each selector lands at
20
+ * exactly (0,1,0) — the same specificity as a single utility class. Since
21
+ * this file is concatenated ahead of the utilities, a utility always wins on
22
+ * source order, and a host rule that only names elements always loses.
23
+ *
24
+ * Keep every selector at one class plus a `:where()` element list. Adding a
25
+ * second class, or naming an element outside `:where()`, would start beating the
26
+ * utilities; dropping the class would start losing to the host.
27
+ *
28
+ * The border block is not cosmetic. Tailwind's `border` / `border-b` utilities
29
+ * set border-WIDTH only; `border-style: solid` comes from preflight alone, and
30
+ * the CSS initial value is `none`. Without these four lines every border in the
31
+ * library renders invisible.
32
+ *
33
+ * Radix portals (dropdown, popover, dialog, select) mount outside the React
34
+ * tree, so pass a container that lives inside the `.tablewright` element via
35
+ * `PortalContainerContext` — otherwise portalled content lands on document.body
36
+ * and is not covered by anything below.
37
+ */
38
+
39
+ .tablewright,
40
+ .tablewright :where(*),
41
+ .tablewright :where(*)::before,
42
+ .tablewright :where(*)::after {
43
+ box-sizing: border-box;
44
+ border-width: 0;
45
+ border-style: solid;
46
+ border-color: var(--border-subtle, #e5e7eb);
47
+ }
48
+
49
+ /* Typographic base for the subtree. The library sizes most text explicitly, but
50
+ * unsized text and line-height must not inherit the host's body rules — a host
51
+ * `line-height: 1` collapses every control in the kit. */
52
+ .tablewright {
53
+ font-family: var(--font-stack, ui-sans-serif, system-ui, sans-serif);
54
+ font-size: 13px;
55
+ line-height: 1.5;
56
+ color: var(--text-primary, #111827);
57
+ -webkit-font-smoothing: antialiased;
58
+ -webkit-text-size-adjust: 100%;
59
+ tab-size: 4;
60
+ }
61
+
62
+ .tablewright :where(h1, h2, h3, h4, h5, h6) {
63
+ font-size: inherit;
64
+ font-weight: inherit;
65
+ margin: 0;
66
+ }
67
+
68
+ .tablewright :where(p, figure, blockquote, dl, dd, hr, pre) {
69
+ margin: 0;
70
+ }
71
+
72
+ .tablewright :where(ul, ol) {
73
+ list-style: none;
74
+ margin: 0;
75
+ padding: 0;
76
+ }
77
+
78
+ .tablewright :where(hr) {
79
+ height: 0;
80
+ color: inherit;
81
+ border-top-width: 1px;
82
+ }
83
+
84
+ .tablewright :where(a) {
85
+ color: inherit;
86
+ text-decoration: inherit;
87
+ }
88
+
89
+ .tablewright :where(b, strong) {
90
+ font-weight: bolder;
91
+ }
92
+
93
+ .tablewright :where(code, kbd, samp, pre) {
94
+ font-family: var(--font-mono, ui-monospace, monospace);
95
+ font-size: 1em;
96
+ }
97
+
98
+ .tablewright :where(small) {
99
+ font-size: 80%;
100
+ }
101
+
102
+ .tablewright :where(button, input, optgroup, select, textarea) {
103
+ font-family: inherit;
104
+ font-feature-settings: inherit;
105
+ font-variation-settings: inherit;
106
+ font-size: 100%;
107
+ font-weight: inherit;
108
+ line-height: inherit;
109
+ letter-spacing: inherit;
110
+ color: inherit;
111
+ margin: 0;
112
+ padding: 0;
113
+ }
114
+
115
+ .tablewright :where(button, [type="button"], [type="reset"], [type="submit"]) {
116
+ -webkit-appearance: button;
117
+ background-color: transparent;
118
+ background-image: none;
119
+ }
120
+
121
+ .tablewright :where(button, [role="button"]) {
122
+ cursor: pointer;
123
+ }
124
+
125
+ .tablewright :where(:disabled) {
126
+ cursor: default;
127
+ }
128
+
129
+ .tablewright :where(input::placeholder, textarea::placeholder) {
130
+ opacity: 1;
131
+ color: var(--text-tertiary, #9ca3af);
132
+ }
133
+
134
+ .tablewright :where(::-webkit-search-decoration) {
135
+ -webkit-appearance: none;
136
+ }
137
+
138
+ .tablewright :where(fieldset, legend) {
139
+ margin: 0;
140
+ padding: 0;
141
+ }
142
+
143
+ .tablewright :where(table) {
144
+ text-indent: 0;
145
+ border-color: inherit;
146
+ border-collapse: collapse;
147
+ }
148
+
149
+ .tablewright :where(img, svg, video, canvas, audio, iframe, embed, object) {
150
+ display: block;
151
+ vertical-align: middle;
152
+ }
153
+
154
+ .tablewright :where(img, video) {
155
+ max-width: 100%;
156
+ height: auto;
157
+ }
158
+
159
+ .tablewright :where(textarea) {
160
+ resize: vertical;
161
+ }
162
+
163
+ .tablewright :where([hidden]) {
164
+ display: none;
165
+ }
166
+
167
+ /* Class names the library's own components reference directly, rather than
168
+ * through a Tailwind utility. Scoped to .tablewright like the reset: without the
169
+ * scope they would be bare global class names in the shipped stylesheet, free to
170
+ * collide with a host's own `.scrollbar-auto-hide`, and the build's scoping guard
171
+ * would pass them only because they happen to start with a dot.
172
+ * Ships inside @undevy-org/tablewright/tablewright.css. */
173
+
174
+ .tablewright .scrollbar-auto-hide {
175
+ scrollbar-gutter: stable;
176
+ scrollbar-width: thin;
177
+ scrollbar-color: transparent transparent;
178
+ }
179
+
180
+ .tablewright .scrollbar-auto-hide::-webkit-scrollbar {
181
+ width: 6px;
182
+ height: 6px;
183
+ }
184
+
185
+ .tablewright .scrollbar-auto-hide::-webkit-scrollbar-track {
186
+ background: transparent;
187
+ }
188
+
189
+ .tablewright .scrollbar-auto-hide::-webkit-scrollbar-thumb {
190
+ background: transparent;
191
+ border-radius: var(--radius-full);
192
+ }
193
+
194
+ .tablewright .scrollbar-auto-hide[data-scrolling="true"] {
195
+ scrollbar-color: var(--border-subtle) transparent;
196
+ }
197
+
198
+ .tablewright .scrollbar-auto-hide[data-scrolling="true"]::-webkit-scrollbar-thumb {
199
+ background: var(--border-subtle);
200
+ }
201
+
202
+ .container {
203
+ width: 100%
204
+ }
205
+ @media (min-width: 640px) {
206
+ .container {
207
+ max-width: 640px
208
+ }
209
+ }
210
+ @media (min-width: 768px) {
211
+ .container {
212
+ max-width: 768px
213
+ }
214
+ }
215
+ @media (min-width: 1024px) {
216
+ .container {
217
+ max-width: 1024px
218
+ }
219
+ }
220
+ @media (min-width: 1280px) {
221
+ .container {
222
+ max-width: 1280px
223
+ }
224
+ }
225
+ @media (min-width: 1536px) {
226
+ .container {
227
+ max-width: 1536px
228
+ }
229
+ }
230
+ .sr-only {
231
+ position: absolute;
232
+ width: 1px;
233
+ height: 1px;
234
+ padding: 0;
235
+ margin: -1px;
236
+ overflow: hidden;
237
+ clip: rect(0, 0, 0, 0);
238
+ white-space: nowrap;
239
+ border-width: 0
240
+ }
241
+ .pointer-events-none {
242
+ pointer-events: none
243
+ }
244
+ .visible {
245
+ visibility: visible
246
+ }
247
+ .invisible {
248
+ visibility: hidden
249
+ }
250
+ .collapse {
251
+ visibility: collapse
252
+ }
253
+ .fixed {
254
+ position: fixed
255
+ }
256
+ .absolute {
257
+ position: absolute
258
+ }
259
+ .relative {
260
+ position: relative
261
+ }
262
+ .sticky {
263
+ position: sticky
264
+ }
265
+ .inset-0 {
266
+ inset: 0px
267
+ }
268
+ .inset-y-0 {
269
+ top: 0px;
270
+ bottom: 0px
271
+ }
272
+ .bottom-0 {
273
+ bottom: 0px
274
+ }
275
+ .left-0 {
276
+ left: 0px
277
+ }
278
+ .left-1\/2 {
279
+ left: 50%
280
+ }
281
+ .left-2 {
282
+ left: 0.5rem
283
+ }
284
+ .right-0 {
285
+ right: 0px
286
+ }
287
+ .right-0\.5 {
288
+ right: 0.125rem
289
+ }
290
+ .right-4 {
291
+ right: 1rem
292
+ }
293
+ .top-0 {
294
+ top: 0px
295
+ }
296
+ .top-0\.5 {
297
+ top: 0.125rem
298
+ }
299
+ .top-1\/2 {
300
+ top: 50%
301
+ }
302
+ .top-4 {
303
+ top: 1rem
304
+ }
305
+ .top-\[10vh\] {
306
+ top: 10vh
307
+ }
308
+ .z-10 {
309
+ z-index: 10
310
+ }
311
+ .z-30 {
312
+ z-index: 30
313
+ }
314
+ .z-40 {
315
+ z-index: 40
316
+ }
317
+ .z-50 {
318
+ z-index: 50
319
+ }
320
+ .mx-3 {
321
+ margin-left: 0.75rem;
322
+ margin-right: 0.75rem
323
+ }
324
+ .my-1 {
325
+ margin-top: 0.25rem;
326
+ margin-bottom: 0.25rem
327
+ }
328
+ .my-1\.5 {
329
+ margin-top: 0.375rem;
330
+ margin-bottom: 0.375rem
331
+ }
332
+ .mb-0\.5 {
333
+ margin-bottom: 0.125rem
334
+ }
335
+ .mb-1 {
336
+ margin-bottom: 0.25rem
337
+ }
338
+ .mb-2 {
339
+ margin-bottom: 0.5rem
340
+ }
341
+ .mb-2\.5 {
342
+ margin-bottom: 0.625rem
343
+ }
344
+ .mb-3 {
345
+ margin-bottom: 0.75rem
346
+ }
347
+ .mb-4 {
348
+ margin-bottom: 1rem
349
+ }
350
+ .mb-8 {
351
+ margin-bottom: 2rem
352
+ }
353
+ .ml-0\.5 {
354
+ margin-left: 0.125rem
355
+ }
356
+ .ml-1 {
357
+ margin-left: 0.25rem
358
+ }
359
+ .ml-1\.5 {
360
+ margin-left: 0.375rem
361
+ }
362
+ .ml-auto {
363
+ margin-left: auto
364
+ }
365
+ .mr-0\.5 {
366
+ margin-right: 0.125rem
367
+ }
368
+ .mr-1 {
369
+ margin-right: 0.25rem
370
+ }
371
+ .mr-2 {
372
+ margin-right: 0.5rem
373
+ }
374
+ .mt-0\.5 {
375
+ margin-top: 0.125rem
376
+ }
377
+ .mt-1 {
378
+ margin-top: 0.25rem
379
+ }
380
+ .mt-3 {
381
+ margin-top: 0.75rem
382
+ }
383
+ .block {
384
+ display: block
385
+ }
386
+ .inline {
387
+ display: inline
388
+ }
389
+ .flex {
390
+ display: flex
391
+ }
392
+ .inline-flex {
393
+ display: inline-flex
394
+ }
395
+ .table {
396
+ display: table
397
+ }
398
+ .grid {
399
+ display: grid
400
+ }
401
+ .hidden {
402
+ display: none
403
+ }
404
+ .h-1\.5 {
405
+ height: 0.375rem
406
+ }
407
+ .h-2\.5 {
408
+ height: 0.625rem
409
+ }
410
+ .h-3 {
411
+ height: 0.75rem
412
+ }
413
+ .h-3\.5 {
414
+ height: 0.875rem
415
+ }
416
+ .h-4 {
417
+ height: 1rem
418
+ }
419
+ .h-5 {
420
+ height: 1.25rem
421
+ }
422
+ .h-7 {
423
+ height: 1.75rem
424
+ }
425
+ .h-8 {
426
+ height: 2rem
427
+ }
428
+ .h-9 {
429
+ height: 2.25rem
430
+ }
431
+ .h-\[18px\] {
432
+ height: 18px
433
+ }
434
+ .h-\[80vh\] {
435
+ height: 80vh
436
+ }
437
+ .h-\[var\(--size-control-md\)\] {
438
+ height: var(--size-control-md)
439
+ }
440
+ .h-\[var\(--size-control-sm\)\] {
441
+ height: var(--size-control-sm)
442
+ }
443
+ .h-\[var\(--size-topbar-height\)\] {
444
+ height: var(--size-topbar-height)
445
+ }
446
+ .h-auto {
447
+ height: auto
448
+ }
449
+ .h-full {
450
+ height: 100%
451
+ }
452
+ .max-h-\[280px\] {
453
+ max-height: 280px
454
+ }
455
+ .max-h-\[60vh\] {
456
+ max-height: 60vh
457
+ }
458
+ .max-h-\[min\(var\(--radix-popover-content-available-height\)\2c 520px\)\] {
459
+ max-height: min(var(--radix-popover-content-available-height), 520px)
460
+ }
461
+ .min-h-0 {
462
+ min-height: 0px
463
+ }
464
+ .min-h-\[64px\] {
465
+ min-height: 64px
466
+ }
467
+ .w-1\.5 {
468
+ width: 0.375rem
469
+ }
470
+ .w-2\.5 {
471
+ width: 0.625rem
472
+ }
473
+ .w-3 {
474
+ width: 0.75rem
475
+ }
476
+ .w-3\.5 {
477
+ width: 0.875rem
478
+ }
479
+ .w-4 {
480
+ width: 1rem
481
+ }
482
+ .w-40 {
483
+ width: 10rem
484
+ }
485
+ .w-44 {
486
+ width: 11rem
487
+ }
488
+ .w-48 {
489
+ width: 12rem
490
+ }
491
+ .w-5 {
492
+ width: 1.25rem
493
+ }
494
+ .w-56 {
495
+ width: 14rem
496
+ }
497
+ .w-60 {
498
+ width: 15rem
499
+ }
500
+ .w-64 {
501
+ width: 16rem
502
+ }
503
+ .w-7 {
504
+ width: 1.75rem
505
+ }
506
+ .w-72 {
507
+ width: 18rem
508
+ }
509
+ .w-8 {
510
+ width: 2rem
511
+ }
512
+ .w-\[18px\] {
513
+ width: 18px
514
+ }
515
+ .w-\[200px\] {
516
+ width: 200px
517
+ }
518
+ .w-\[320px\] {
519
+ width: 320px
520
+ }
521
+ .w-\[min\(75vw\2c 1400px\)\] {
522
+ width: min(75vw, 1400px)
523
+ }
524
+ .w-\[var\(--radix-popover-trigger-width\)\] {
525
+ width: var(--radix-popover-trigger-width)
526
+ }
527
+ .w-\[var\(--size-control-md\)\] {
528
+ width: var(--size-control-md)
529
+ }
530
+ .w-\[var\(--size-drawer\)\] {
531
+ width: var(--size-drawer)
532
+ }
533
+ .w-\[var\(--size-select-compact\)\] {
534
+ width: var(--size-select-compact)
535
+ }
536
+ .w-auto {
537
+ width: auto
538
+ }
539
+ .w-full {
540
+ width: 100%
541
+ }
542
+ .w-px {
543
+ width: 1px
544
+ }
545
+ .min-w-0 {
546
+ min-width: 0px
547
+ }
548
+ .min-w-5 {
549
+ min-width: 1.25rem
550
+ }
551
+ .min-w-\[10rem\] {
552
+ min-width: 10rem
553
+ }
554
+ .min-w-\[220px\] {
555
+ min-width: 220px
556
+ }
557
+ .min-w-\[280px\] {
558
+ min-width: 280px
559
+ }
560
+ .min-w-\[40px\] {
561
+ min-width: 40px
562
+ }
563
+ .min-w-\[50px\] {
564
+ min-width: 50px
565
+ }
566
+ .min-w-\[54px\] {
567
+ min-width: 54px
568
+ }
569
+ .min-w-\[60px\] {
570
+ min-width: 60px
571
+ }
572
+ .min-w-\[8rem\] {
573
+ min-width: 8rem
574
+ }
575
+ .max-w-\[120px\] {
576
+ max-width: 120px
577
+ }
578
+ .max-w-\[140px\] {
579
+ max-width: 140px
580
+ }
581
+ .max-w-\[var\(--size-dialog-md\)\] {
582
+ max-width: var(--size-dialog-md)
583
+ }
584
+ .max-w-full {
585
+ max-width: 100%
586
+ }
587
+ .flex-1 {
588
+ flex: 1 1 0%
589
+ }
590
+ .flex-\[0_1_360px\] {
591
+ flex: 0 1 360px
592
+ }
593
+ .flex-shrink-0 {
594
+ flex-shrink: 0
595
+ }
596
+ .shrink-0 {
597
+ flex-shrink: 0
598
+ }
599
+ .border-collapse {
600
+ border-collapse: collapse
601
+ }
602
+ .-translate-x-1\/2 {
603
+ --tw-translate-x: -50%;
604
+ 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))
605
+ }
606
+ .-translate-y-1\/2 {
607
+ --tw-translate-y: -50%;
608
+ 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))
609
+ }
610
+ .translate-x-0 {
611
+ --tw-translate-x: 0px;
612
+ 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))
613
+ }
614
+ .translate-x-full {
615
+ --tw-translate-x: 100%;
616
+ 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))
617
+ }
618
+ .rotate-180 {
619
+ --tw-rotate: 180deg;
620
+ 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))
621
+ }
622
+ .cursor-col-resize {
623
+ cursor: col-resize
624
+ }
625
+ .cursor-default {
626
+ cursor: default
627
+ }
628
+ .cursor-grab {
629
+ cursor: grab
630
+ }
631
+ .cursor-pointer {
632
+ cursor: pointer
633
+ }
634
+ .select-none {
635
+ -webkit-user-select: none;
636
+ -moz-user-select: none;
637
+ user-select: none
638
+ }
639
+ .resize {
640
+ resize: both
641
+ }
642
+ .grid-cols-2 {
643
+ grid-template-columns: repeat(2, minmax(0, 1fr))
644
+ }
645
+ .grid-cols-3 {
646
+ grid-template-columns: repeat(3, minmax(0, 1fr))
647
+ }
648
+ .grid-cols-4 {
649
+ grid-template-columns: repeat(4, minmax(0, 1fr))
650
+ }
651
+ .grid-cols-\[120px_1fr\] {
652
+ grid-template-columns: 120px 1fr
653
+ }
654
+ .grid-cols-\[repeat\(auto-fit\2c minmax\(180px\2c 1fr\)\)\] {
655
+ grid-template-columns: repeat(auto-fit,minmax(180px,1fr))
656
+ }
657
+ .grid-cols-\[repeat\(auto-fit\2c minmax\(220px\2c 1fr\)\)\] {
658
+ grid-template-columns: repeat(auto-fit,minmax(220px,1fr))
659
+ }
660
+ .flex-col {
661
+ flex-direction: column
662
+ }
663
+ .flex-wrap {
664
+ flex-wrap: wrap
665
+ }
666
+ .items-start {
667
+ align-items: flex-start
668
+ }
669
+ .items-end {
670
+ align-items: flex-end
671
+ }
672
+ .items-center {
673
+ align-items: center
674
+ }
675
+ .justify-end {
676
+ justify-content: flex-end
677
+ }
678
+ .justify-center {
679
+ justify-content: center
680
+ }
681
+ .justify-between {
682
+ justify-content: space-between
683
+ }
684
+ .gap-0\.5 {
685
+ gap: 0.125rem
686
+ }
687
+ .gap-1 {
688
+ gap: 0.25rem
689
+ }
690
+ .gap-1\.5 {
691
+ gap: 0.375rem
692
+ }
693
+ .gap-2 {
694
+ gap: 0.5rem
695
+ }
696
+ .gap-2\.5 {
697
+ gap: 0.625rem
698
+ }
699
+ .gap-3 {
700
+ gap: 0.75rem
701
+ }
702
+ .gap-4 {
703
+ gap: 1rem
704
+ }
705
+ .gap-x-4 {
706
+ -moz-column-gap: 1rem;
707
+ column-gap: 1rem
708
+ }
709
+ .gap-y-3 {
710
+ row-gap: 0.75rem
711
+ }
712
+ .space-y-0\.5 > :not([hidden]) ~ :not([hidden]) {
713
+ --tw-space-y-reverse: 0;
714
+ margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
715
+ margin-bottom: calc(0.125rem * var(--tw-space-y-reverse))
716
+ }
717
+ .space-y-1 > :not([hidden]) ~ :not([hidden]) {
718
+ --tw-space-y-reverse: 0;
719
+ margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
720
+ margin-bottom: calc(0.25rem * var(--tw-space-y-reverse))
721
+ }
722
+ .space-y-2 > :not([hidden]) ~ :not([hidden]) {
723
+ --tw-space-y-reverse: 0;
724
+ margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
725
+ margin-bottom: calc(0.5rem * var(--tw-space-y-reverse))
726
+ }
727
+ .space-y-3 > :not([hidden]) ~ :not([hidden]) {
728
+ --tw-space-y-reverse: 0;
729
+ margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
730
+ margin-bottom: calc(0.75rem * var(--tw-space-y-reverse))
731
+ }
732
+ .space-y-4 > :not([hidden]) ~ :not([hidden]) {
733
+ --tw-space-y-reverse: 0;
734
+ margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
735
+ margin-bottom: calc(1rem * var(--tw-space-y-reverse))
736
+ }
737
+ .self-stretch {
738
+ align-self: stretch
739
+ }
740
+ .overflow-auto {
741
+ overflow: auto
742
+ }
743
+ .overflow-hidden {
744
+ overflow: hidden
745
+ }
746
+ .overflow-y-auto {
747
+ overflow-y: auto
748
+ }
749
+ .overflow-x-hidden {
750
+ overflow-x: hidden
751
+ }
752
+ .overscroll-contain {
753
+ overscroll-behavior: contain
754
+ }
755
+ .truncate {
756
+ overflow: hidden;
757
+ text-overflow: ellipsis;
758
+ white-space: nowrap
759
+ }
760
+ .whitespace-nowrap {
761
+ white-space: nowrap
762
+ }
763
+ .rounded {
764
+ border-radius: 0.25rem
765
+ }
766
+ .rounded-\[3px\] {
767
+ border-radius: 3px
768
+ }
769
+ .rounded-\[var\(--radius-md\)\] {
770
+ border-radius: var(--radius-md)
771
+ }
772
+ .rounded-full {
773
+ border-radius: 9999px
774
+ }
775
+ .rounded-lg {
776
+ border-radius: var(--radius-lg)
777
+ }
778
+ .rounded-md {
779
+ border-radius: var(--radius-md)
780
+ }
781
+ .rounded-sm {
782
+ border-radius: var(--radius-sm)
783
+ }
784
+ .rounded-xl {
785
+ border-radius: var(--radius-xl)
786
+ }
787
+ .border {
788
+ border-width: 1px
789
+ }
790
+ .border-b {
791
+ border-bottom-width: 1px
792
+ }
793
+ .border-l {
794
+ border-left-width: 1px
795
+ }
796
+ .border-r {
797
+ border-right-width: 1px
798
+ }
799
+ .border-t {
800
+ border-top-width: 1px
801
+ }
802
+ .border-t-2 {
803
+ border-top-width: 2px
804
+ }
805
+ .border-dashed {
806
+ border-style: dashed
807
+ }
808
+ .border-\[var\(--bg-elevated\2c \#ffffff\)\] {
809
+ border-color: var(--bg-elevated,#ffffff)
810
+ }
811
+ .border-\[var\(--border-accent\2c \#6366f1\)\] {
812
+ border-color: var(--border-accent,#6366f1)
813
+ }
814
+ .border-\[var\(--border-brand\)\] {
815
+ border-color: var(--border-brand)
816
+ }
817
+ .border-\[var\(--border-danger\)\] {
818
+ border-color: var(--border-danger)
819
+ }
820
+ .border-\[var\(--border-subtle\)\] {
821
+ border-color: var(--border-subtle)
822
+ }
823
+ .border-t-\[var\(--border-focus\)\] {
824
+ border-top-color: var(--border-focus)
825
+ }
826
+ .bg-\[rgba\(128\2c 128\2c 128\2c 0\.03\)\] {
827
+ background-color: rgba(128,128,128,0.03)
828
+ }
829
+ .bg-\[var\(--accent-primary\)\] {
830
+ background-color: var(--accent-primary)
831
+ }
832
+ .bg-\[var\(--bg-accent\2c \#6366f1\)\] {
833
+ background-color: var(--bg-accent,#6366f1)
834
+ }
835
+ .bg-\[var\(--bg-accent-subtle\2c rgba\(99\2c 102\2c 241\2c 0\.12\)\)\] {
836
+ background-color: var(--bg-accent-subtle,rgba(99,102,241,0.12))
837
+ }
838
+ .bg-\[var\(--bg-body\)\] {
839
+ background-color: var(--bg-body)
840
+ }
841
+ .bg-\[var\(--bg-brand-subtle\)\] {
842
+ background-color: var(--bg-brand-subtle)
843
+ }
844
+ .bg-\[var\(--bg-hover\)\] {
845
+ background-color: var(--bg-hover)
846
+ }
847
+ .bg-\[var\(--bg-nav-item-active\)\] {
848
+ background-color: var(--bg-nav-item-active)
849
+ }
850
+ .bg-\[var\(--bg-secondary\)\] {
851
+ background-color: var(--bg-secondary)
852
+ }
853
+ .bg-\[var\(--bg-surface\)\] {
854
+ background-color: var(--bg-surface)
855
+ }
856
+ .bg-\[var\(--bg-surface-muted\)\] {
857
+ background-color: var(--bg-surface-muted)
858
+ }
859
+ .bg-\[var\(--bg-surface-sunken\)\] {
860
+ background-color: var(--bg-surface-sunken)
861
+ }
862
+ .bg-\[var\(--bg-tertiary\)\] {
863
+ background-color: var(--bg-tertiary)
864
+ }
865
+ .bg-\[var\(--border-subtle\)\] {
866
+ background-color: var(--border-subtle)
867
+ }
868
+ .bg-\[var\(--overlay-scrim\)\] {
869
+ background-color: var(--overlay-scrim)
870
+ }
871
+ .bg-\[var\(--overlay-scrim\2c rgba\(15\2c 23\2c 42\2c 0\.28\)\)\] {
872
+ background-color: var(--overlay-scrim,rgba(15,23,42,0.28))
873
+ }
874
+ .bg-\[var\(--tag-blue-bg\)\] {
875
+ background-color: var(--tag-blue-bg)
876
+ }
877
+ .bg-\[var\(--tag-gray-bg\)\] {
878
+ background-color: var(--tag-gray-bg)
879
+ }
880
+ .bg-\[var\(--tag-green-bg\)\] {
881
+ background-color: var(--tag-green-bg)
882
+ }
883
+ .bg-\[var\(--tag-indigo-bg\)\] {
884
+ background-color: var(--tag-indigo-bg)
885
+ }
886
+ .bg-\[var\(--tag-orange-bg\)\] {
887
+ background-color: var(--tag-orange-bg)
888
+ }
889
+ .bg-\[var\(--tag-pink-bg\)\] {
890
+ background-color: var(--tag-pink-bg)
891
+ }
892
+ .bg-\[var\(--tag-purple-bg\)\] {
893
+ background-color: var(--tag-purple-bg)
894
+ }
895
+ .bg-\[var\(--tag-sky-bg\)\] {
896
+ background-color: var(--tag-sky-bg)
897
+ }
898
+ .bg-black\/50 {
899
+ background-color: rgb(0 0 0 / 0.5)
900
+ }
901
+ .bg-transparent {
902
+ background-color: transparent
903
+ }
904
+ .object-cover {
905
+ -o-object-fit: cover;
906
+ object-fit: cover
907
+ }
908
+ .p-0 {
909
+ padding: 0px
910
+ }
911
+ .p-1 {
912
+ padding: 0.25rem
913
+ }
914
+ .p-1\.5 {
915
+ padding: 0.375rem
916
+ }
917
+ .p-2 {
918
+ padding: 0.5rem
919
+ }
920
+ .p-2\.5 {
921
+ padding: 0.625rem
922
+ }
923
+ .p-3 {
924
+ padding: 0.75rem
925
+ }
926
+ .p-3\.5 {
927
+ padding: 0.875rem
928
+ }
929
+ .p-4 {
930
+ padding: 1rem
931
+ }
932
+ .p-6 {
933
+ padding: 1.5rem
934
+ }
935
+ .px-0 {
936
+ padding-left: 0px;
937
+ padding-right: 0px
938
+ }
939
+ .px-1 {
940
+ padding-left: 0.25rem;
941
+ padding-right: 0.25rem
942
+ }
943
+ .px-1\.5 {
944
+ padding-left: 0.375rem;
945
+ padding-right: 0.375rem
946
+ }
947
+ .px-2 {
948
+ padding-left: 0.5rem;
949
+ padding-right: 0.5rem
950
+ }
951
+ .px-2\.5 {
952
+ padding-left: 0.625rem;
953
+ padding-right: 0.625rem
954
+ }
955
+ .px-3 {
956
+ padding-left: 0.75rem;
957
+ padding-right: 0.75rem
958
+ }
959
+ .px-4 {
960
+ padding-left: 1rem;
961
+ padding-right: 1rem
962
+ }
963
+ .px-6 {
964
+ padding-left: 1.5rem;
965
+ padding-right: 1.5rem
966
+ }
967
+ .py-0\.5 {
968
+ padding-top: 0.125rem;
969
+ padding-bottom: 0.125rem
970
+ }
971
+ .py-1 {
972
+ padding-top: 0.25rem;
973
+ padding-bottom: 0.25rem
974
+ }
975
+ .py-1\.5 {
976
+ padding-top: 0.375rem;
977
+ padding-bottom: 0.375rem
978
+ }
979
+ .py-16 {
980
+ padding-top: 4rem;
981
+ padding-bottom: 4rem
982
+ }
983
+ .py-2 {
984
+ padding-top: 0.5rem;
985
+ padding-bottom: 0.5rem
986
+ }
987
+ .py-2\.5 {
988
+ padding-top: 0.625rem;
989
+ padding-bottom: 0.625rem
990
+ }
991
+ .py-3 {
992
+ padding-top: 0.75rem;
993
+ padding-bottom: 0.75rem
994
+ }
995
+ .py-4 {
996
+ padding-top: 1rem;
997
+ padding-bottom: 1rem
998
+ }
999
+ .py-5 {
1000
+ padding-top: 1.25rem;
1001
+ padding-bottom: 1.25rem
1002
+ }
1003
+ .py-6 {
1004
+ padding-top: 1.5rem;
1005
+ padding-bottom: 1.5rem
1006
+ }
1007
+ .py-8 {
1008
+ padding-top: 2rem;
1009
+ padding-bottom: 2rem
1010
+ }
1011
+ .pb-1 {
1012
+ padding-bottom: 0.25rem
1013
+ }
1014
+ .pb-2 {
1015
+ padding-bottom: 0.5rem
1016
+ }
1017
+ .pb-3 {
1018
+ padding-bottom: 0.75rem
1019
+ }
1020
+ .pb-4 {
1021
+ padding-bottom: 1rem
1022
+ }
1023
+ .pl-2\.5 {
1024
+ padding-left: 0.625rem
1025
+ }
1026
+ .pl-8 {
1027
+ padding-left: 2rem
1028
+ }
1029
+ .pr-1\.5 {
1030
+ padding-right: 0.375rem
1031
+ }
1032
+ .pr-2 {
1033
+ padding-right: 0.5rem
1034
+ }
1035
+ .pt-1\.5 {
1036
+ padding-top: 0.375rem
1037
+ }
1038
+ .pt-2 {
1039
+ padding-top: 0.5rem
1040
+ }
1041
+ .pt-3 {
1042
+ padding-top: 0.75rem
1043
+ }
1044
+ .pt-4 {
1045
+ padding-top: 1rem
1046
+ }
1047
+ .text-left {
1048
+ text-align: left
1049
+ }
1050
+ .text-center {
1051
+ text-align: center
1052
+ }
1053
+ .text-right {
1054
+ text-align: right
1055
+ }
1056
+ .align-middle {
1057
+ vertical-align: middle
1058
+ }
1059
+ .font-mono {
1060
+ font-family: JetBrains Mono, monospace
1061
+ }
1062
+ .text-\[10px\] {
1063
+ font-size: 10px
1064
+ }
1065
+ .text-\[11px\] {
1066
+ font-size: 11px
1067
+ }
1068
+ .text-\[12px\] {
1069
+ font-size: 12px
1070
+ }
1071
+ .text-\[13px\] {
1072
+ font-size: 13px
1073
+ }
1074
+ .text-\[15px\] {
1075
+ font-size: 15px
1076
+ }
1077
+ .text-\[9px\] {
1078
+ font-size: 9px
1079
+ }
1080
+ .text-base {
1081
+ font-size: 1rem;
1082
+ line-height: 1.5rem
1083
+ }
1084
+ .text-lg {
1085
+ font-size: 1.125rem;
1086
+ line-height: 1.75rem
1087
+ }
1088
+ .text-sm {
1089
+ font-size: 0.875rem;
1090
+ line-height: 1.25rem
1091
+ }
1092
+ .text-xs {
1093
+ font-size: 0.75rem;
1094
+ line-height: 1rem
1095
+ }
1096
+ .font-medium {
1097
+ font-weight: 500
1098
+ }
1099
+ .font-normal {
1100
+ font-weight: 400
1101
+ }
1102
+ .font-semibold {
1103
+ font-weight: 600
1104
+ }
1105
+ .uppercase {
1106
+ text-transform: uppercase
1107
+ }
1108
+ .italic {
1109
+ font-style: italic
1110
+ }
1111
+ .tabular-nums {
1112
+ --tw-numeric-spacing: tabular-nums;
1113
+ font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)
1114
+ }
1115
+ .leading-\[1\.4\] {
1116
+ line-height: 1.4
1117
+ }
1118
+ .leading-none {
1119
+ line-height: 1
1120
+ }
1121
+ .leading-tight {
1122
+ line-height: 1.25
1123
+ }
1124
+ .tracking-\[0\.05em\] {
1125
+ letter-spacing: 0.05em
1126
+ }
1127
+ .tracking-\[0\.06em\] {
1128
+ letter-spacing: 0.06em
1129
+ }
1130
+ .tracking-\[0\.08em\] {
1131
+ letter-spacing: 0.08em
1132
+ }
1133
+ .tracking-\[0\.12em\] {
1134
+ letter-spacing: 0.12em
1135
+ }
1136
+ .tracking-\[0\.1em\] {
1137
+ letter-spacing: 0.1em
1138
+ }
1139
+ .tracking-wider {
1140
+ letter-spacing: 0.05em
1141
+ }
1142
+ .text-\[var\(--accent-primary\)\] {
1143
+ color: var(--accent-primary)
1144
+ }
1145
+ .text-\[var\(--tag-blue-text\)\] {
1146
+ color: var(--tag-blue-text)
1147
+ }
1148
+ .text-\[var\(--tag-gray-text\)\] {
1149
+ color: var(--tag-gray-text)
1150
+ }
1151
+ .text-\[var\(--tag-green-text\)\] {
1152
+ color: var(--tag-green-text)
1153
+ }
1154
+ .text-\[var\(--tag-indigo-text\)\] {
1155
+ color: var(--tag-indigo-text)
1156
+ }
1157
+ .text-\[var\(--tag-orange-text\)\] {
1158
+ color: var(--tag-orange-text)
1159
+ }
1160
+ .text-\[var\(--tag-pink-text\)\] {
1161
+ color: var(--tag-pink-text)
1162
+ }
1163
+ .text-\[var\(--tag-purple-text\)\] {
1164
+ color: var(--tag-purple-text)
1165
+ }
1166
+ .text-\[var\(--tag-sky-text\)\] {
1167
+ color: var(--tag-sky-text)
1168
+ }
1169
+ .text-\[var\(--text-accent\2c \#3730a3\)\] {
1170
+ color: var(--text-accent,#3730a3)
1171
+ }
1172
+ .text-\[var\(--text-brand\)\] {
1173
+ color: var(--text-brand)
1174
+ }
1175
+ .text-\[var\(--text-on-accent\)\] {
1176
+ color: var(--text-on-accent)
1177
+ }
1178
+ .text-\[var\(--text-primary\)\] {
1179
+ color: var(--text-primary)
1180
+ }
1181
+ .text-\[var\(--text-secondary\)\] {
1182
+ color: var(--text-secondary)
1183
+ }
1184
+ .text-\[var\(--text-tertiary\)\] {
1185
+ color: var(--text-tertiary)
1186
+ }
1187
+ .text-\[var\(--text-utility\)\] {
1188
+ color: var(--text-utility)
1189
+ }
1190
+ .text-red-600 {
1191
+ --tw-text-opacity: 1;
1192
+ color: rgb(220 38 38 / var(--tw-text-opacity, 1))
1193
+ }
1194
+ .text-transparent {
1195
+ color: transparent
1196
+ }
1197
+ .line-through {
1198
+ text-decoration-line: line-through
1199
+ }
1200
+ .opacity-0 {
1201
+ opacity: 0
1202
+ }
1203
+ .opacity-100 {
1204
+ opacity: 1
1205
+ }
1206
+ .opacity-30 {
1207
+ opacity: 0.3
1208
+ }
1209
+ .opacity-40 {
1210
+ opacity: 0.4
1211
+ }
1212
+ .opacity-50 {
1213
+ opacity: 0.5
1214
+ }
1215
+ .opacity-60 {
1216
+ opacity: 0.6
1217
+ }
1218
+ .shadow-2xl {
1219
+ --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
1220
+ --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
1221
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
1222
+ }
1223
+ .shadow-none {
1224
+ --tw-shadow: 0 0 #0000;
1225
+ --tw-shadow-colored: 0 0 #0000;
1226
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
1227
+ }
1228
+ .outline-none {
1229
+ outline: 2px solid transparent;
1230
+ outline-offset: 2px
1231
+ }
1232
+ .filter {
1233
+ 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)
1234
+ }
1235
+ .transition-\[opacity\2c width\2c background-color\] {
1236
+ transition-property: opacity,width,background-color;
1237
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1238
+ transition-duration: 150ms
1239
+ }
1240
+ .transition-\[width\] {
1241
+ transition-property: width;
1242
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1243
+ transition-duration: 150ms
1244
+ }
1245
+ .transition-all {
1246
+ transition-property: all;
1247
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1248
+ transition-duration: 150ms
1249
+ }
1250
+ .transition-colors {
1251
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
1252
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1253
+ transition-duration: 150ms
1254
+ }
1255
+ .transition-opacity {
1256
+ transition-property: opacity;
1257
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1258
+ transition-duration: 150ms
1259
+ }
1260
+ .transition-transform {
1261
+ transition-property: transform;
1262
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1263
+ transition-duration: 150ms
1264
+ }
1265
+ .duration-150 {
1266
+ transition-duration: 150ms
1267
+ }
1268
+ .duration-200 {
1269
+ transition-duration: 200ms
1270
+ }
1271
+ .duration-300 {
1272
+ transition-duration: 300ms
1273
+ }
1274
+ .ease-\[cubic-bezier\(0\.16\2c 1\2c 0\.3\2c 1\)\] {
1275
+ transition-timing-function: cubic-bezier(0.16,1,0.3,1)
1276
+ }
1277
+ .ease-in-out {
1278
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1)
1279
+ }
1280
+ .\[box-shadow\:-1px_0_0_0_var\(--border-subtle\)\] {
1281
+ box-shadow: -1px 0 0 0 var(--border-subtle)
1282
+ }
1283
+ .\[box-shadow\:1px_0_0_0_var\(--border-subtle\)\] {
1284
+ box-shadow: 1px 0 0 0 var(--border-subtle)
1285
+ }
1286
+ .\[box-shadow\:var\(--shadow-dialog\)\] {
1287
+ box-shadow: var(--shadow-dialog)
1288
+ }
1289
+ .\[box-shadow\:var\(--shadow-drawer\)\] {
1290
+ box-shadow: var(--shadow-drawer)
1291
+ }
1292
+ .\[box-shadow\:var\(--shadow-menu\)\] {
1293
+ box-shadow: var(--shadow-menu)
1294
+ }
1295
+ .\[box-shadow\:var\(--shadow-sidebar-overlay\)\] {
1296
+ box-shadow: var(--shadow-sidebar-overlay)
1297
+ }
1298
+ .\[grid-column\:span_2\] {
1299
+ grid-column: span 2
1300
+ }
1301
+ .\[scrollbar-gutter\:stable\] {
1302
+ scrollbar-gutter: stable
1303
+ }
1304
+ .placeholder\:text-\[var\(--text-tertiary\)\]::-moz-placeholder {
1305
+ color: var(--text-tertiary)
1306
+ }
1307
+ .placeholder\:text-\[var\(--text-tertiary\)\]::placeholder {
1308
+ color: var(--text-tertiary)
1309
+ }
1310
+ .before\:absolute::before {
1311
+ content: var(--tw-content);
1312
+ position: absolute
1313
+ }
1314
+ .before\:bottom-0::before {
1315
+ content: var(--tw-content);
1316
+ bottom: 0px
1317
+ }
1318
+ .before\:left-0::before {
1319
+ content: var(--tw-content);
1320
+ left: 0px
1321
+ }
1322
+ .before\:top-0::before {
1323
+ content: var(--tw-content);
1324
+ top: 0px
1325
+ }
1326
+ .before\:w-\[3px\]::before {
1327
+ content: var(--tw-content);
1328
+ width: 3px
1329
+ }
1330
+ .before\:bg-\[var\(--accent-primary\)\]::before {
1331
+ content: var(--tw-content);
1332
+ background-color: var(--accent-primary)
1333
+ }
1334
+ .before\:content-\[\'\'\]::before {
1335
+ --tw-content: '';
1336
+ content: var(--tw-content)
1337
+ }
1338
+ .first\:pt-1:first-child {
1339
+ padding-top: 0.25rem
1340
+ }
1341
+ .first\:pt-2:first-child {
1342
+ padding-top: 0.5rem
1343
+ }
1344
+ .focus-within\:border-\[var\(--border-focus\)\]:focus-within {
1345
+ border-color: var(--border-focus)
1346
+ }
1347
+ .hover\:border-\[var\(--border-focus\)\]:hover {
1348
+ border-color: var(--border-focus)
1349
+ }
1350
+ .hover\:bg-\[rgba\(128\2c 128\2c 128\2c 0\.08\)\]:hover {
1351
+ background-color: rgba(128,128,128,0.08)
1352
+ }
1353
+ .hover\:bg-\[var\(--bg-hover\)\]:hover {
1354
+ background-color: var(--bg-hover)
1355
+ }
1356
+ .hover\:bg-\[var\(--bg-secondary\)\]:hover {
1357
+ background-color: var(--bg-secondary)
1358
+ }
1359
+ .hover\:text-\[var\(--tag-blue-text\)\]:hover {
1360
+ color: var(--tag-blue-text)
1361
+ }
1362
+ .hover\:text-\[var\(--text-accent\2c var\(--text-primary\)\)\]:hover {
1363
+ color: var(--text-accent,var(--text-primary))
1364
+ }
1365
+ .hover\:text-\[var\(--text-primary\)\]:hover {
1366
+ color: var(--text-primary)
1367
+ }
1368
+ .hover\:text-\[var\(--text-secondary\)\]:hover {
1369
+ color: var(--text-secondary)
1370
+ }
1371
+ .hover\:\!opacity-100:hover {
1372
+ opacity: 1 !important
1373
+ }
1374
+ .hover\:opacity-90:hover {
1375
+ opacity: 0.9
1376
+ }
1377
+ .focus\:border-\[var\(--border-focus\)\]:focus {
1378
+ border-color: var(--border-focus)
1379
+ }
1380
+ .focus\:outline-none:focus {
1381
+ outline: 2px solid transparent;
1382
+ outline-offset: 2px
1383
+ }
1384
+ .focus\:ring-1:focus {
1385
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
1386
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
1387
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
1388
+ }
1389
+ .focus\:ring-\[var\(--border-focus\)\]:focus {
1390
+ --tw-ring-color: var(--border-focus)
1391
+ }
1392
+ .focus-visible\:border-\[var\(--border-focus\)\]:focus-visible {
1393
+ border-color: var(--border-focus)
1394
+ }
1395
+ .focus-visible\:opacity-100:focus-visible {
1396
+ opacity: 1
1397
+ }
1398
+ .focus-visible\:outline-none:focus-visible {
1399
+ outline: 2px solid transparent;
1400
+ outline-offset: 2px
1401
+ }
1402
+ .focus-visible\:ring-1:focus-visible {
1403
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
1404
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
1405
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
1406
+ }
1407
+ .focus-visible\:ring-2:focus-visible {
1408
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
1409
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
1410
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
1411
+ }
1412
+ .focus-visible\:ring-\[var\(--border-focus\)\]:focus-visible {
1413
+ --tw-ring-color: var(--border-focus)
1414
+ }
1415
+ .focus-visible\:ring-offset-0:focus-visible {
1416
+ --tw-ring-offset-width: 0px
1417
+ }
1418
+ .active\:cursor-grabbing:active {
1419
+ cursor: grabbing
1420
+ }
1421
+ .disabled\:pointer-events-none:disabled {
1422
+ pointer-events: none
1423
+ }
1424
+ .disabled\:cursor-not-allowed:disabled {
1425
+ cursor: not-allowed
1426
+ }
1427
+ .disabled\:opacity-40:disabled {
1428
+ opacity: 0.4
1429
+ }
1430
+ .disabled\:opacity-50:disabled {
1431
+ opacity: 0.5
1432
+ }
1433
+ .group\/copy:focus-within .group-focus-within\/copy\:opacity-100 {
1434
+ opacity: 1
1435
+ }
1436
+ .group:hover .group-hover\:pointer-events-auto {
1437
+ pointer-events: auto
1438
+ }
1439
+ .group\/th:hover .group-hover\/th\:w-\[4px\] {
1440
+ width: 4px
1441
+ }
1442
+ .group\/th:hover .group-hover\/th\:bg-\[var\(--border-focus\)\] {
1443
+ background-color: var(--border-focus)
1444
+ }
1445
+ .group:hover .group-hover\:bg-\[var\(--bg-hover\)\] {
1446
+ background-color: var(--bg-hover)
1447
+ }
1448
+ .group\/copy:hover .group-hover\/copy\:opacity-100 {
1449
+ opacity: 1
1450
+ }
1451
+ .group\/header:hover .group-hover\/header\:opacity-100 {
1452
+ opacity: 1
1453
+ }
1454
+ .group\/primary:hover .group-hover\/primary\:opacity-100 {
1455
+ opacity: 1
1456
+ }
1457
+ .group\/secondary:hover .group-hover\/secondary\:opacity-100 {
1458
+ opacity: 1
1459
+ }
1460
+ .group\/th:hover .group-hover\/th\:opacity-50 {
1461
+ opacity: 0.5
1462
+ }
1463
+ .group:hover .group-hover\:opacity-0 {
1464
+ opacity: 0
1465
+ }
1466
+ .group:hover .group-hover\:opacity-100 {
1467
+ opacity: 1
1468
+ }
1469
+ .data-\[disabled\=true\]\:pointer-events-none[data-disabled="true"] {
1470
+ pointer-events: none
1471
+ }
1472
+ .data-\[state\=checked\]\:border-\[var\(--accent-primary\)\][data-state="checked"] {
1473
+ border-color: var(--accent-primary)
1474
+ }
1475
+ .data-\[state\=indeterminate\]\:border-\[var\(--accent-primary\)\][data-state="indeterminate"] {
1476
+ border-color: var(--accent-primary)
1477
+ }
1478
+ .data-\[selected\=true\]\:bg-\[var\(--bg-hover\)\][data-selected="true"] {
1479
+ background-color: var(--bg-hover)
1480
+ }
1481
+ .data-\[state\=active\]\:bg-\[var\(--bg-surface\)\][data-state="active"] {
1482
+ background-color: var(--bg-surface)
1483
+ }
1484
+ .data-\[state\=checked\]\:bg-\[var\(--accent-primary\)\][data-state="checked"] {
1485
+ background-color: var(--accent-primary)
1486
+ }
1487
+ .data-\[state\=indeterminate\]\:bg-\[var\(--accent-primary\)\][data-state="indeterminate"] {
1488
+ background-color: var(--accent-primary)
1489
+ }
1490
+ .data-\[selected\=true\]\:text-\[var\(--text-primary\)\][data-selected="true"] {
1491
+ color: var(--text-primary)
1492
+ }
1493
+ .data-\[state\=active\]\:text-\[var\(--text-primary\)\][data-state="active"] {
1494
+ color: var(--text-primary)
1495
+ }
1496
+ .data-\[disabled\=true\]\:opacity-50[data-disabled="true"] {
1497
+ opacity: 0.5
1498
+ }
1499
+ .data-\[state\=open\]\:opacity-100[data-state="open"] {
1500
+ opacity: 1
1501
+ }
1502
+ .data-\[state\=active\]\:\[box-shadow\:var\(--shadow-tab-active\)\][data-state="active"] {
1503
+ box-shadow: var(--shadow-tab-active)
1504
+ }
1505
+ .group[data-state="indeterminate"] .group-data-\[state\=indeterminate\]\:block {
1506
+ display: block
1507
+ }
1508
+ .group[data-state="indeterminate"] .group-data-\[state\=indeterminate\]\:hidden {
1509
+ display: none
1510
+ }
1511
+ .group[data-state="open"] .group-data-\[state\=open\]\:rotate-180 {
1512
+ --tw-rotate: 180deg;
1513
+ 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))
1514
+ }
1515
+ .group[data-state="active"] .group-data-\[state\=active\]\:bg-\[var\(--bg-secondary\)\] {
1516
+ background-color: var(--bg-secondary)
1517
+ }
1518
+ .group[data-state="active"] .group-data-\[state\=active\]\:text-\[var\(--text-primary\)\] {
1519
+ color: var(--text-primary)
1520
+ }
1521
+ @media (min-width: 768px) {
1522
+ .md\:max-w-\[460px\] {
1523
+ max-width: 460px
1524
+ }
1525
+ }
1526
+ @media (min-width: 1024px) {
1527
+ .lg\:grid-cols-\[0\.9fr_1\.1fr\] {
1528
+ grid-template-columns: 0.9fr 1.1fr
1529
+ }
1530
+ .lg\:flex-row {
1531
+ flex-direction: row
1532
+ }
1533
+ .lg\:flex-nowrap {
1534
+ flex-wrap: nowrap
1535
+ }
1536
+ .lg\:items-center {
1537
+ align-items: center
1538
+ }
1539
+ .lg\:justify-end {
1540
+ justify-content: flex-end
1541
+ }
1542
+ .lg\:justify-between {
1543
+ justify-content: space-between
1544
+ }
1545
+ .lg\:gap-2 {
1546
+ gap: 0.5rem
1547
+ }
1548
+ }
1549
+ @media (min-width: 1280px) {
1550
+ .xl\:ml-auto {
1551
+ margin-left: auto
1552
+ }
1553
+ }
1554
+ .\[\&\>\*\]\:flex-1>* {
1555
+ flex: 1 1 0%
1556
+ }
1557
+ .\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading] {
1558
+ padding-left: 0.5rem;
1559
+ padding-right: 0.5rem
1560
+ }
1561
+ .\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading] {
1562
+ padding-top: 0.375rem;
1563
+ padding-bottom: 0.375rem
1564
+ }
1565
+ .\[\&_\[cmdk-group-heading\]\]\:text-\[10px\] [cmdk-group-heading] {
1566
+ font-size: 10px
1567
+ }
1568
+ .\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading] {
1569
+ font-weight: 500
1570
+ }
1571
+ .\[\&_\[cmdk-group-heading\]\]\:uppercase [cmdk-group-heading] {
1572
+ text-transform: uppercase
1573
+ }
1574
+ .\[\&_\[cmdk-group-heading\]\]\:tracking-wider [cmdk-group-heading] {
1575
+ letter-spacing: 0.05em
1576
+ }
1577
+ .\[\&_\[cmdk-group-heading\]\]\:text-\[var\(--text-tertiary\)\] [cmdk-group-heading] {
1578
+ color: var(--text-tertiary)
1579
+ }