@jcdecor/vue 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 (107) hide show
  1. package/README.md +68 -0
  2. package/dist/brand/Brand.d.ts +83 -0
  3. package/dist/brand/index.d.ts +2 -0
  4. package/dist/brand/paths.d.ts +43 -0
  5. package/dist/brand-CeSffe5P.js +320 -0
  6. package/dist/brand-CeSffe5P.js.map +1 -0
  7. package/dist/brand.d.ts +1 -0
  8. package/dist/brand.js +2 -0
  9. package/dist/charts/ChartCard.d.ts +32 -0
  10. package/dist/charts/charts.d.ts +124 -0
  11. package/dist/charts/echartsTheme.d.ts +19 -0
  12. package/dist/charts/index.d.ts +8 -0
  13. package/dist/charts/palette.d.ts +59 -0
  14. package/dist/charts.d.ts +1 -0
  15. package/dist/charts.js +473 -0
  16. package/dist/charts.js.map +1 -0
  17. package/dist/chat/ChatComposer.d.ts +34 -0
  18. package/dist/chat/ChatLayout.d.ts +53 -0
  19. package/dist/chat/ChatMessage.d.ts +26 -0
  20. package/dist/chat/ChatThread.d.ts +36 -0
  21. package/dist/chat/ConversationList.d.ts +22 -0
  22. package/dist/chat/TypingIndicator.d.ts +8 -0
  23. package/dist/chat/index.d.ts +9 -0
  24. package/dist/chat/node.d.ts +12 -0
  25. package/dist/chat/types.d.ts +38 -0
  26. package/dist/chat/utils.d.ts +25 -0
  27. package/dist/chat.d.ts +1 -0
  28. package/dist/chat.js +661 -0
  29. package/dist/chat.js.map +1 -0
  30. package/dist/colors-DUSEhAuo.js +32 -0
  31. package/dist/colors-DUSEhAuo.js.map +1 -0
  32. package/dist/components/ContentCard/ContentCard.d.ts +8 -0
  33. package/dist/components/ContentCard/ContentCard.types.d.ts +34 -0
  34. package/dist/components/ContentCard/ContentCard.vue.d.ts +35 -0
  35. package/dist/components/ContentCard/index.d.ts +1 -0
  36. package/dist/components/CouponCode/CouponCode.d.ts +20 -0
  37. package/dist/components/CouponCode/index.d.ts +1 -0
  38. package/dist/components/DataTable/DataTable.d.ts +95 -0
  39. package/dist/components/DataTable/index.d.ts +1 -0
  40. package/dist/components/KpiCard/KpiCard.d.ts +12 -0
  41. package/dist/components/KpiCard/KpiCard.types.d.ts +44 -0
  42. package/dist/components/KpiCard/KpiCard.vars.d.ts +3 -0
  43. package/dist/components/KpiCard/KpiCard.vue.d.ts +42 -0
  44. package/dist/components/KpiCard/KpiGroup.d.ts +10 -0
  45. package/dist/components/KpiCard/index.d.ts +1 -0
  46. package/dist/components/PageHeader/PageHeader.d.ts +29 -0
  47. package/dist/components/PageHeader/index.d.ts +1 -0
  48. package/dist/components/PriceTag/PriceTag.d.ts +21 -0
  49. package/dist/components/PriceTag/index.d.ts +1 -0
  50. package/dist/components/ProductCard/ProductCard.d.ts +12 -0
  51. package/dist/components/ProductCard/ProductCard.types.d.ts +53 -0
  52. package/dist/components/ProductCard/ProductCard.vue.d.ts +45 -0
  53. package/dist/components/ProductCard/index.d.ts +1 -0
  54. package/dist/components/PromoBanner/PromoBanner.d.ts +12 -0
  55. package/dist/components/PromoBanner/PromoBanner.types.d.ts +50 -0
  56. package/dist/components/PromoBanner/PromoBanner.vars.d.ts +2 -0
  57. package/dist/components/PromoBanner/PromoBanner.vue.d.ts +41 -0
  58. package/dist/components/PromoBanner/index.d.ts +1 -0
  59. package/dist/components/Tag/Tag.d.ts +18 -0
  60. package/dist/components/Tag/index.d.ts +1 -0
  61. package/dist/components/ThemeToggle/ThemeToggle.d.ts +10 -0
  62. package/dist/components/ThemeToggle/index.d.ts +1 -0
  63. package/dist/components/TokenSwatch/TokenSwatch.d.ts +21 -0
  64. package/dist/components/TokenSwatch/index.d.ts +1 -0
  65. package/dist/components/TopNav/TopNav.d.ts +9 -0
  66. package/dist/components/TopNav/TopNav.types.d.ts +50 -0
  67. package/dist/components/TopNav/TopNav.vue.d.ts +33 -0
  68. package/dist/components/TopNav/index.d.ts +1 -0
  69. package/dist/components/Typography/Typography.d.ts +41 -0
  70. package/dist/components/Typography/index.d.ts +1 -0
  71. package/dist/components/index.d.ts +13 -0
  72. package/dist/format-D40SMATK.js +108 -0
  73. package/dist/format-D40SMATK.js.map +1 -0
  74. package/dist/index.d.ts +15 -0
  75. package/dist/index.js +2239 -0
  76. package/dist/index.js.map +1 -0
  77. package/dist/provider/JcProvider.d.ts +285 -0
  78. package/dist/styles.css +2 -0
  79. package/dist/theme/colors.d.ts +26 -0
  80. package/dist/theme/components/buttons.d.ts +2 -0
  81. package/dist/theme/components/combobox.d.ts +2 -0
  82. package/dist/theme/components/dataDisplay.d.ts +2 -0
  83. package/dist/theme/components/feedback.d.ts +2 -0
  84. package/dist/theme/components/index.d.ts +3 -0
  85. package/dist/theme/components/inputs.d.ts +2 -0
  86. package/dist/theme/components/layout.d.ts +2 -0
  87. package/dist/theme/components/misc.d.ts +2 -0
  88. package/dist/theme/components/navigation.d.ts +2 -0
  89. package/dist/theme/components/overlays.d.ts +2 -0
  90. package/dist/theme/components/types.d.ts +11 -0
  91. package/dist/theme/components/typography.d.ts +2 -0
  92. package/dist/theme/controls.d.ts +44 -0
  93. package/dist/theme/cssVariablesResolver.d.ts +2 -0
  94. package/dist/theme/theme.d.ts +3 -0
  95. package/dist/theme/themeDefaults.d.ts +18 -0
  96. package/dist/theme/tokens.d.ts +457 -0
  97. package/dist/theme/variantColorResolver.d.ts +9 -0
  98. package/dist/themeDefaults-Ckd05FUY.js +29 -0
  99. package/dist/themeDefaults-Ckd05FUY.js.map +1 -0
  100. package/dist/tokens-CDSk_JkY.js +315 -0
  101. package/dist/tokens-CDSk_JkY.js.map +1 -0
  102. package/dist/tokens.d.ts +2 -0
  103. package/dist/tokens.js +3 -0
  104. package/dist/utils/format.d.ts +14 -0
  105. package/dist/utils/styles-api.d.ts +15 -0
  106. package/dist/utils/vue.d.ts +27 -0
  107. package/package.json +109 -0
@@ -0,0 +1,285 @@
1
+ import { type PropType } from 'vue';
2
+ import { type CSSVariablesResolver, type MantineColorScheme, type MantineThemeOverride } from '@mantine-vue/core';
3
+ /** Mesma chave do `localStorageColorSchemeManager` do Mantine React: o tema escolhido vale nas duas libs. */
4
+ export declare const COLOR_SCHEME_STORAGE_KEY = "mantine-color-scheme-value";
5
+ export interface JcProviderProps {
6
+ /** Overrides adicionais, mesclados sobre o tema JC Decor */
7
+ theme?: MantineThemeOverride;
8
+ /** @default 'light' */
9
+ defaultColorScheme?: MantineColorScheme;
10
+ forceColorScheme?: 'light' | 'dark';
11
+ cssVariablesResolver?: CSSVariablesResolver;
12
+ /** Chave do localStorage onde o tema claro/escuro é lembrado; `false` desliga @default 'mantine-color-scheme-value' */
13
+ colorSchemeStorageKey?: string | false;
14
+ }
15
+ /**
16
+ * Provider do Design System JC Decor: MantineProvider + tema + variáveis `--ds-*`
17
+ * + tema claro/escuro lembrado no localStorage. Demais props vão para o `MantineProvider`.
18
+ *
19
+ * ```vue
20
+ * <script setup>
21
+ * import '@mantine-vue/core/styles.css';
22
+ * import '@jcdecor/vue/styles.css';
23
+ * import { JcProvider } from '@jcdecor/vue';
24
+ * </script>
25
+ * <template><JcProvider><App /></JcProvider></template>
26
+ * ```
27
+ */
28
+ export declare const JcProvider: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
29
+ theme: {
30
+ type: PropType<MantineThemeOverride>;
31
+ default: undefined;
32
+ };
33
+ defaultColorScheme: {
34
+ type: PropType<MantineColorScheme>;
35
+ default: string;
36
+ };
37
+ forceColorScheme: {
38
+ type: PropType<"light" | "dark">;
39
+ default: undefined;
40
+ };
41
+ cssVariablesResolver: {
42
+ type: PropType<CSSVariablesResolver>;
43
+ default: undefined;
44
+ };
45
+ colorSchemeStorageKey: {
46
+ type: PropType<string | false>;
47
+ default: string;
48
+ };
49
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
50
+ [key: string]: any;
51
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
52
+ theme: {
53
+ type: PropType<MantineThemeOverride>;
54
+ default: undefined;
55
+ };
56
+ defaultColorScheme: {
57
+ type: PropType<MantineColorScheme>;
58
+ default: string;
59
+ };
60
+ forceColorScheme: {
61
+ type: PropType<"light" | "dark">;
62
+ default: undefined;
63
+ };
64
+ cssVariablesResolver: {
65
+ type: PropType<CSSVariablesResolver>;
66
+ default: undefined;
67
+ };
68
+ colorSchemeStorageKey: {
69
+ type: PropType<string | false>;
70
+ default: string;
71
+ };
72
+ }>> & Readonly<{}>, {
73
+ theme: {
74
+ focusRing?: "auto" | "never" | "always" | undefined;
75
+ scale?: number | undefined;
76
+ fontSmoothing?: boolean | undefined;
77
+ white?: string | undefined;
78
+ black?: string | undefined;
79
+ colors?: {
80
+ [x: string & {}]: readonly [(string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, ...(string | undefined)[]] | undefined;
81
+ blue?: readonly [(string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, ...(string | undefined)[]] | undefined;
82
+ cyan?: readonly [(string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, ...(string | undefined)[]] | undefined;
83
+ gray?: readonly [(string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, ...(string | undefined)[]] | undefined;
84
+ green?: readonly [(string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, ...(string | undefined)[]] | undefined;
85
+ indigo?: readonly [(string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, ...(string | undefined)[]] | undefined;
86
+ lime?: readonly [(string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, ...(string | undefined)[]] | undefined;
87
+ orange?: readonly [(string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, ...(string | undefined)[]] | undefined;
88
+ pink?: readonly [(string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, ...(string | undefined)[]] | undefined;
89
+ red?: readonly [(string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, ...(string | undefined)[]] | undefined;
90
+ teal?: readonly [(string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, ...(string | undefined)[]] | undefined;
91
+ violet?: readonly [(string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, ...(string | undefined)[]] | undefined;
92
+ yellow?: readonly [(string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, ...(string | undefined)[]] | undefined;
93
+ dark?: readonly [(string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, ...(string | undefined)[]] | undefined;
94
+ grape?: readonly [(string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?, ...(string | undefined)[]] | undefined;
95
+ } | undefined;
96
+ primaryShade?: import("@mantine-vue/core").MantineColorShade | {
97
+ light?: import("@mantine-vue/core").MantineColorShade | undefined;
98
+ dark?: import("@mantine-vue/core").MantineColorShade | undefined;
99
+ } | undefined;
100
+ primaryColor?: string | undefined;
101
+ variantColorResolver?: import("@mantine-vue/core").VariantColorsResolver | undefined;
102
+ autoContrast?: boolean | undefined;
103
+ luminanceThreshold?: number | undefined;
104
+ fontFamily?: string | undefined;
105
+ fontFamilyMonospace?: string | undefined;
106
+ headings?: {
107
+ fontFamily?: string | undefined;
108
+ fontWeight?: string | undefined;
109
+ textWrap?: "wrap" | "nowrap" | "balance" | "pretty" | "stable" | undefined;
110
+ sizes?: {
111
+ h1?: {
112
+ fontSize?: string | undefined;
113
+ lineHeight?: string | undefined;
114
+ fontWeight?: string | undefined;
115
+ } | undefined;
116
+ h2?: {
117
+ fontSize?: string | undefined;
118
+ lineHeight?: string | undefined;
119
+ fontWeight?: string | undefined;
120
+ } | undefined;
121
+ h3?: {
122
+ fontSize?: string | undefined;
123
+ lineHeight?: string | undefined;
124
+ fontWeight?: string | undefined;
125
+ } | undefined;
126
+ h4?: {
127
+ fontSize?: string | undefined;
128
+ lineHeight?: string | undefined;
129
+ fontWeight?: string | undefined;
130
+ } | undefined;
131
+ h5?: {
132
+ fontSize?: string | undefined;
133
+ lineHeight?: string | undefined;
134
+ fontWeight?: string | undefined;
135
+ } | undefined;
136
+ h6?: {
137
+ fontSize?: string | undefined;
138
+ lineHeight?: string | undefined;
139
+ fontWeight?: string | undefined;
140
+ } | undefined;
141
+ } | undefined;
142
+ } | undefined;
143
+ radius?: {
144
+ [x: string]: string | undefined;
145
+ } | undefined;
146
+ defaultRadius?: number | import("@mantine-vue/core").MantineSize | {
147
+ readonly [x: number]: string | undefined;
148
+ toString?: (() => string) | undefined;
149
+ charAt?: ((pos: number) => string) | undefined;
150
+ charCodeAt?: ((index: number) => number) | undefined;
151
+ concat?: ((...strings: string[]) => string) | undefined;
152
+ indexOf?: ((searchString: string, position?: number) => number) | undefined;
153
+ lastIndexOf?: ((searchString: string, position?: number) => number) | undefined;
154
+ localeCompare?: {
155
+ (that: string): number;
156
+ (that: string, locales?: string | string[], options?: Intl.CollatorOptions): number;
157
+ (that: string, locales?: Intl.LocalesArgument, options?: Intl.CollatorOptions): number;
158
+ } | undefined;
159
+ match?: {
160
+ (regexp: string | RegExp): RegExpMatchArray | null;
161
+ (matcher: {
162
+ [Symbol.match](string: string): RegExpMatchArray | null;
163
+ }): RegExpMatchArray | null;
164
+ } | undefined;
165
+ replace?: {
166
+ (searchValue: string | RegExp, replaceValue: string): string;
167
+ (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;
168
+ (searchValue: {
169
+ [Symbol.replace](string: string, replaceValue: string): string;
170
+ }, replaceValue: string): string;
171
+ (searchValue: {
172
+ [Symbol.replace](string: string, replacer: (substring: string, ...args: any[]) => string): string;
173
+ }, replacer: (substring: string, ...args: any[]) => string): string;
174
+ } | undefined;
175
+ search?: {
176
+ (regexp: string | RegExp): number;
177
+ (searcher: {
178
+ [Symbol.search](string: string): number;
179
+ }): number;
180
+ } | undefined;
181
+ slice?: ((start?: number, end?: number) => string) | undefined;
182
+ split?: {
183
+ (separator: string | RegExp, limit?: number): string[];
184
+ (splitter: {
185
+ [Symbol.split](string: string, limit?: number): string[];
186
+ }, limit?: number): string[];
187
+ } | undefined;
188
+ substring?: ((start: number, end?: number) => string) | undefined;
189
+ toLowerCase?: (() => string) | undefined;
190
+ toLocaleLowerCase?: {
191
+ (locales?: string | string[]): string;
192
+ (locales?: Intl.LocalesArgument): string;
193
+ } | undefined;
194
+ toUpperCase?: (() => string) | undefined;
195
+ toLocaleUpperCase?: {
196
+ (locales?: string | string[]): string;
197
+ (locales?: Intl.LocalesArgument): string;
198
+ } | undefined;
199
+ trim?: (() => string) | undefined;
200
+ readonly length?: number | undefined;
201
+ substr?: ((from: number, length?: number) => string) | undefined;
202
+ valueOf?: (() => string) | undefined;
203
+ codePointAt?: ((pos: number) => number | undefined) | undefined;
204
+ includes?: ((searchString: string, position?: number) => boolean) | undefined;
205
+ endsWith?: ((searchString: string, endPosition?: number) => boolean) | undefined;
206
+ normalize?: {
207
+ (form: "NFC" | "NFD" | "NFKC" | "NFKD"): string;
208
+ (form?: string): string;
209
+ } | undefined;
210
+ repeat?: ((count: number) => string) | undefined;
211
+ startsWith?: ((searchString: string, position?: number) => boolean) | undefined;
212
+ anchor?: ((name: string) => string) | undefined;
213
+ big?: (() => string) | undefined;
214
+ blink?: (() => string) | undefined;
215
+ bold?: (() => string) | undefined;
216
+ fixed?: (() => string) | undefined;
217
+ fontcolor?: ((color: string) => string) | undefined;
218
+ fontsize?: {
219
+ (size: number): string;
220
+ (size: string): string;
221
+ } | undefined;
222
+ italics?: (() => string) | undefined;
223
+ link?: ((url: string) => string) | undefined;
224
+ small?: (() => string) | undefined;
225
+ strike?: (() => string) | undefined;
226
+ sub?: (() => string) | undefined;
227
+ sup?: (() => string) | undefined;
228
+ padStart?: ((maxLength: number, fillString?: string) => string) | undefined;
229
+ padEnd?: ((maxLength: number, fillString?: string) => string) | undefined;
230
+ trimEnd?: (() => string) | undefined;
231
+ trimStart?: (() => string) | undefined;
232
+ trimLeft?: (() => string) | undefined;
233
+ trimRight?: (() => string) | undefined;
234
+ matchAll?: ((regexp: RegExp) => RegExpStringIterator<RegExpExecArray>) | undefined;
235
+ replaceAll?: {
236
+ (searchValue: string | RegExp, replaceValue: string): string;
237
+ (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;
238
+ } | undefined;
239
+ at?: ((index: number) => string | undefined) | undefined;
240
+ [Symbol.iterator]?: (() => StringIterator<string>) | undefined;
241
+ } | undefined;
242
+ spacing?: {
243
+ [x: string]: string | undefined;
244
+ } | undefined;
245
+ fontSizes?: {
246
+ [x: string]: string | undefined;
247
+ } | undefined;
248
+ lineHeights?: {
249
+ [x: string]: string | undefined;
250
+ } | undefined;
251
+ fontWeights?: {
252
+ [x: string]: string | undefined;
253
+ } | undefined;
254
+ breakpoints?: {
255
+ [x: string]: string | undefined;
256
+ } | undefined;
257
+ shadows?: {
258
+ [x: string]: string | undefined;
259
+ } | undefined;
260
+ respectReducedMotion?: boolean | undefined;
261
+ cursorType?: "default" | "pointer" | undefined;
262
+ defaultGradient?: {
263
+ from?: string | undefined;
264
+ to?: string | undefined;
265
+ deg?: number | undefined;
266
+ } | undefined;
267
+ activeClassName?: string | undefined;
268
+ focusClassName?: string | undefined;
269
+ components?: {
270
+ [x: string]: {
271
+ classNames?: any;
272
+ styles?: any;
273
+ vars?: any;
274
+ defaultProps?: any;
275
+ } | undefined;
276
+ } | undefined;
277
+ other?: {
278
+ [x: string]: any;
279
+ } | undefined;
280
+ };
281
+ defaultColorScheme: MantineColorScheme;
282
+ forceColorScheme: "dark" | "light";
283
+ cssVariablesResolver: CSSVariablesResolver;
284
+ colorSchemeStorageKey: string | false;
285
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -0,0 +1,2 @@
1
+ .jc-Brand-svg-i43ib{vertical-align:middle;flex-shrink:0;width:auto;display:inline-block;overflow:visible}.jc-Brand-frame-4lug7{width:var(--frame-size);height:var(--frame-size);flex-shrink:0;display:inline-block;position:relative}.jc-Brand-frame-4lug7>.jc-Brand-svg-i43ib{width:100%;height:100%}.jc-Brand-frameContent-120m0{text-align:center;border-radius:50%;place-items:center;display:grid;position:absolute;inset:10.5%;overflow:hidden}.jc-Brand-frameContent-120m0>img{object-fit:cover;width:100%;height:100%}.jc-Chat-message-i3s00{gap:var(--sp-8);align-items:flex-end;max-width:100%;display:flex}.jc-Chat-message-i3s00[data-own]{flex-direction:row-reverse}.jc-Chat-avatarSlot-1bua4{flex-shrink:0;width:32px}.jc-Chat-bubbleColumn-1sfy5{flex-direction:column;align-items:flex-start;min-width:0;max-width:min(75%,560px);display:flex}.jc-Chat-message-i3s00[data-own] .jc-Chat-bubbleColumn-1sfy5{align-items:flex-end}.jc-Chat-author-1wgw6{font-size:var(--type-disclaimer);color:var(--ds-text-3);margin:0 var(--sp-12) var(--sp-4);font-weight:600}.jc-Chat-bubble-1wxm6{--bubble-radius:16px;--bubble-tail:4px;padding:var(--sp-8) var(--sp-12);border-radius:var(--bubble-radius);background:var(--ds-surface);color:var(--ds-text);border:1px solid var(--ds-border-soft);font-size:var(--type-subheadline-sm);white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:var(--ds-shadow-sm);line-height:1.45;position:relative}.jc-Chat-message-i3s00[data-own] .jc-Chat-bubble-1wxm6{background:var(--dc-horizon);color:#fff;border-color:#0000}.jc-Chat-message-i3s00:not([data-own])[data-position=first] .jc-Chat-bubble-1wxm6{border-bottom-left-radius:var(--bubble-tail)}.jc-Chat-message-i3s00:not([data-own])[data-position=middle] .jc-Chat-bubble-1wxm6{border-top-left-radius:var(--bubble-tail);border-bottom-left-radius:var(--bubble-tail)}.jc-Chat-message-i3s00:not([data-own])[data-position=last] .jc-Chat-bubble-1wxm6{border-top-left-radius:var(--bubble-tail)}.jc-Chat-message-i3s00[data-own][data-position=first] .jc-Chat-bubble-1wxm6{border-bottom-right-radius:var(--bubble-tail)}.jc-Chat-message-i3s00[data-own][data-position=middle] .jc-Chat-bubble-1wxm6{border-top-right-radius:var(--bubble-tail);border-bottom-right-radius:var(--bubble-tail)}.jc-Chat-message-i3s00[data-own][data-position=last] .jc-Chat-bubble-1wxm6{border-top-right-radius:var(--bubble-tail)}.jc-Chat-message-i3s00[data-status=error] .jc-Chat-bubble-1wxm6{background:var(--ds-error-bg);color:var(--ds-error);border-color:var(--ds-error)}.jc-Chat-meta-1ec66{color:var(--ds-text-3);margin:2px var(--sp-8) 0;font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-size:11px;display:inline-flex}.jc-Chat-meta-1ec66[data-read] .jc-Chat-status-5xpn1{color:var(--ds-primary)}.jc-Chat-attachments-17uow{gap:var(--sp-4);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.jc-Chat-message-i3s00[data-own] .jc-Chat-attachments-17uow{justify-content:flex-end}.jc-Chat-imageAttachment-dknbo{object-fit:cover;border:1px solid var(--ds-border-soft);border-radius:12px;max-width:240px;max-height:180px;display:block}.jc-Chat-fileAttachment-1o6f0{align-items:center;gap:var(--sp-8);padding:var(--sp-8) var(--sp-12);background:var(--ds-surface-2);border:1px solid var(--ds-border-soft);color:var(--ds-text);font-size:var(--type-disclaimer);border-radius:12px;max-width:260px;text-decoration:none;display:inline-flex}.jc-Chat-fileName-1niet{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.jc-Chat-fileSize-1nii6{white-space:nowrap;color:var(--ds-text-3);flex-shrink:0}.jc-Chat-fileAttachment-1o6f0:hover{border-color:var(--ds-primary)}.jc-Chat-system-60s3e{font-size:var(--type-disclaimer);color:var(--ds-text-3);background:var(--ds-surface-2);padding:4px var(--sp-12);text-align:center;border-radius:99px;align-self:center}.jc-Chat-thread-68g9h{padding:var(--sp-16);flex-direction:column;gap:2px;display:flex}.jc-Chat-thread-68g9h>[data-group-start]{margin-top:var(--sp-12)}.jc-Chat-separator-1cqvs{align-items:center;gap:var(--sp-12);margin:var(--sp-16) 0 var(--sp-8);font-size:var(--type-disclaimer);color:var(--ds-text-3);text-transform:uppercase;letter-spacing:.05em;font-weight:600;display:flex}.jc-Chat-separator-1cqvs:before,.jc-Chat-separator-1cqvs:after{content:"";background:var(--ds-border-soft);flex:1;height:1px}.jc-Chat-typing-6hrkv{align-items:center;gap:var(--sp-8);font-size:var(--type-disclaimer);color:var(--ds-text-3);display:inline-flex}.jc-Chat-dots-1ec0n{background:var(--ds-surface);border:1px solid var(--ds-border-soft);border-radius:16px;gap:3px;padding:10px 12px;display:inline-flex}.jc-Chat-dot-1ts3o{background:var(--ds-text-3);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite jc-Chat-jc-typing-1v69c}.jc-Chat-dot-1ts3o:nth-child(2){animation-delay:.15s}.jc-Chat-dot-1ts3o:nth-child(3){animation-delay:.3s}@keyframes jc-Chat-jc-typing-1v69c{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.jc-Chat-dot-1ts3o{opacity:.7;animation:none}}.jc-Chat-composer-1prlw{align-items:flex-end;gap:var(--sp-8);padding:var(--sp-12);border-top:1px solid var(--ds-border-soft);background:var(--ds-surface);display:flex}.jc-Chat-composerInput-6e0s5{flex:1}.jc-Chat-composerFiles-6ca43{gap:var(--sp-4);padding:var(--sp-8) var(--sp-12) 0;background:var(--ds-surface);border-top:1px solid var(--ds-border-soft);flex-wrap:wrap;display:flex}.jc-Chat-conversations-1y7fv{flex-direction:column;height:100%;min-height:0;display:flex}.jc-Chat-conversationSearch-1etgc{padding:var(--sp-12);border-bottom:1px solid var(--ds-border-soft)}.jc-Chat-conversation-19ssj{all:unset;box-sizing:border-box;gap:var(--sp-12);width:100%;padding:var(--sp-12) var(--sp-16);cursor:pointer;border-bottom:1px solid var(--ds-border-soft);align-items:center;transition:background .15s;display:flex}.jc-Chat-conversation-19ssj:hover{background:var(--ds-surface-2)}.jc-Chat-conversation-19ssj[data-active]{background:var(--ds-primary-soft);box-shadow:inset 3px 0 0 var(--ds-primary)}.jc-Chat-conversation-19ssj:focus-visible{outline:2px solid var(--ds-primary);outline-offset:-2px}.jc-Chat-conversationBody-mt5sx{flex:1;min-width:0}.jc-Chat-conversationTop-1ob6a{justify-content:space-between;gap:var(--sp-8);align-items:baseline;display:flex}.jc-Chat-conversationName-mtd6l{font-weight:600;font-size:var(--type-subheadline-sm);color:var(--ds-text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.jc-Chat-conversation-19ssj[data-unread] .jc-Chat-conversationName-mtd6l{font-weight:700}.jc-Chat-conversationTime-mth6g{color:var(--ds-text-3);flex-shrink:0;font-size:11px}.jc-Chat-conversationBottom-16xiv{justify-content:space-between;gap:var(--sp-8);align-items:center;margin-top:2px;display:flex}.jc-Chat-conversationPreview-19wdb{font-size:var(--type-disclaimer);color:var(--ds-text-3);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.jc-Chat-conversation-19ssj[data-unread] .jc-Chat-conversationPreview-19wdb{color:var(--ds-text-2);font-weight:500}.jc-Chat-header-hyjkd{align-items:center;gap:var(--sp-12);padding:var(--sp-12) var(--sp-16);border-bottom:1px solid var(--ds-border-soft);background:var(--ds-surface);box-sizing:border-box;min-height:64px;display:flex}.jc-Chat-headerBody-g69o0{flex:1;min-width:0}.jc-Chat-headerTitle-4gc2x{color:var(--ds-text);font-weight:600}.jc-Chat-headerSubtitle-1saun{font-size:var(--type-disclaimer);color:var(--ds-text-3)}.jc-Chat-layoutContainer-180vn{container:jc-chat/inline-size}.jc-Chat-layout-2cdez{grid-template-columns:var(--chat-sidebar-width,320px) 1fr;height:var(--chat-height,600px);background:var(--ds-bg);border:1px solid var(--ds-border-soft);border-radius:var(--ds-radius);display:grid;overflow:hidden}.jc-Chat-layout-2cdez[data-single]{grid-template-columns:1fr}.jc-Chat-layoutSidebar-d9247{background:var(--ds-surface);border-right:1px solid var(--ds-border-soft);min-height:0;overflow:hidden}.jc-Chat-layoutMain-1o5ly{flex-direction:column;min-width:0;min-height:0;display:flex}.jc-Chat-layoutMessages-18emg{flex:1;min-height:0}@container jc-chat (width<=640px){.jc-Chat-layout-2cdez{grid-template-columns:1fr}.jc-Chat-layout-2cdez[data-mobile-view=thread] .jc-Chat-layoutSidebar-d9247,.jc-Chat-layout-2cdez[data-mobile-view=list] .jc-Chat-layoutMain-1o5ly{display:none}}@container jc-chat (width>=640.02px){.jc-Chat-backButton-f08wz{display:none}}@media (width>=48em){:not(.jc-Chat-layoutContainer-180vn *)>.jc-Chat-backButton-f08wz{display:none}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:var(--dc-electric);color:var(--dc-obsidian)}:focus-visible{outline-color:var(--ds-primary)}@media (width<=1365.98px){:root:root{--grid-margin:32px}}@media (width<=767.98px){:root:root{--grid-margin:20px;--grid-gap:16px}}.ds-container{max-width:var(--grid-max);padding-inline:var(--grid-margin);box-sizing:content-box;margin-inline:auto}.ds-grid{gap:var(--grid-gap);grid-template-columns:repeat(12,1fr);display:grid}@media (width<=1365.98px){.ds-grid{grid-template-columns:repeat(8,1fr)}}@media (width<=767.98px){.ds-grid{grid-template-columns:repeat(4,1fr)}}.mantine-ChartTooltip-tooltip{background:var(--ds-surface);border:1px solid var(--ds-border-soft);box-shadow:var(--ds-shadow-md);border-radius:var(--ds-radius-sm)}.jc-buttons-button-ydj2o{font-weight:600;line-height:1.5;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s}.jc-buttons-button-ydj2o:where(:disabled:not([data-loading]),[data-disabled]:not([data-loading])){background:var(--button-bg,var(--mantine-primary-color-filled));color:var(--button-color,var(--mantine-color-white));border:var(--button-bd,1px solid transparent);opacity:.45}.jc-buttons-actionIcon-1mbg4{--ai-size-xs:24px;--ai-size-sm:28px;--ai-size-md:32px;--ai-size-lg:40px;--ai-size-xl:48px;--ai-size-input-xs:28px;--ai-size-input-sm:32px;--ai-size-input-md:40px;--ai-size-input-lg:48px;--ai-size-input-xl:56px;transition:background-color .15s,border-color .15s,color .15s}.jc-buttons-actionIcon-1mbg4:where(:disabled:not([data-loading]),[data-disabled]:not([data-loading])){background:var(--ai-bg);color:var(--ai-color);border:var(--ai-bd);opacity:.45}.jc-buttons-actionIcon-1mbg4:where([data-variant=default]){border-color:var(--ds-border-soft)}.jc-buttons-closeButton-12dbk{color:var(--ds-text-2);transition:background-color .15s,color .15s}@media (hover:hover){.jc-buttons-closeButton-12dbk:where(:not([data-disabled],:disabled)):hover{color:var(--ds-text)}.jc-buttons-closeButton-12dbk:where([data-variant=subtle],:not([data-variant])):where(:not([data-disabled],:disabled)):hover{background-color:color-mix(in srgb, var(--ds-text) 8%, transparent)}}.jc-buttons-closeButton-12dbk:focus-visible{outline:2px solid var(--ds-primary);outline-offset:1px}.jc-combobox-dropdown-ovija{background-color:var(--ds-surface);border-color:var(--ds-border-soft);box-shadow:var(--ds-shadow-md)}.jc-combobox-option-o1xsu{border-radius:var(--ds-radius-sm);color:var(--ds-text);transition:background-color .1s,color .1s}.jc-combobox-option-o1xsu:where([data-combobox-selected]),.jc-combobox-option-o1xsu:where(:not([data-combobox-disabled])):hover{background-color:var(--ds-surface-2);color:var(--ds-text)}.jc-combobox-option-o1xsu:where([data-combobox-active],[data-checked]){background-color:var(--ds-primary-soft);color:var(--ds-primary);font-weight:500}.jc-combobox-option-o1xsu:where([data-combobox-active],[data-checked]):where([data-combobox-selected],:hover){background-color:var(--ds-tag-primary-hover);color:var(--ds-primary)}.jc-combobox-option-o1xsu:where([data-combobox-selected]) :where([data-expanded],[role=button]){color:var(--ds-text-3)}.jc-combobox-groupLabel-10mqk{color:var(--ds-text-3);font-size:var(--type-disclaimer);letter-spacing:.01em;font-weight:600}.jc-combobox-groupLabel-10mqk:after{background-color:var(--ds-border-soft)}.jc-combobox-empty-c2tf9{color:var(--ds-text-3)}.jc-combobox-search-prqlj,.jc-combobox-search-prqlj:focus{background-color:var(--ds-surface);border-color:var(--ds-border-soft)}.jc-combobox-header-kk8gv,.jc-combobox-footer-jrwfp{border-color:var(--ds-border-soft);color:var(--ds-text-2)}.jc-combobox-pill-1a7yw{background-color:var(--ds-tag-neutral-bg);color:var(--ds-tag-neutral-color);font-weight:500}.jc-combobox-pill-1a7yw:where([data-variant=contrast]){background-color:var(--ds-tag-primary-bg);color:var(--ds-tag-primary-color)}.jc-combobox-pill-1a7yw:where([data-disabled],:has(button:disabled)){opacity:.6}.jc-combobox-pillRemove-180x8{color:inherit}.jc-combobox-pillRemove-180x8:where(:not(:disabled)):hover{background-color:var(--ds-tag-neutral-hover)}.jc-combobox-pill-1a7yw:where([data-variant=contrast]) .jc-combobox-pillRemove-180x8:where(:not(:disabled)):hover{background-color:var(--ds-tag-primary-hover)}.jc-combobox-cascaderColumn-42vci{border-inline-end-color:var(--ds-border-soft)}.jc-combobox-cascaderColumn-42vci:where([data-last]){border-inline-end-color:#0000}.jc-combobox-cascaderOption-9s3gv{border-radius:var(--ds-radius-sm);color:var(--ds-text)}.jc-combobox-cascaderOption-9s3gv:where(:not([data-disabled],[data-active])):hover,.jc-combobox-cascaderOption-9s3gv:where([data-in-path]){background-color:var(--ds-surface-2)}.jc-combobox-cascaderOption-9s3gv:where([data-active]),.jc-combobox-cascaderOption-9s3gv:where([data-active]):hover{background-color:var(--ds-primary-soft);color:var(--ds-primary);font-weight:500}.jc-combobox-cascaderOption-9s3gv:where([data-selected]:not([data-active])){color:var(--ds-primary);font-weight:500}.jc-combobox-cascaderOverflow-x0429{color:var(--ds-text-3);border-inline-end-color:var(--ds-border-soft)}.jc-combobox-cascaderOverflow-x0429:hover{background-color:var(--ds-surface-2)}.jc-dataDisplay-badge-foc0t{text-transform:none;letter-spacing:0;font-weight:600}.jc-dataDisplay-accordionItem-u8k7a{--item-border-color:var(--ds-border-soft);--item-filled-color:var(--ds-surface-2)}.jc-dataDisplay-accordionItem-u8k7a[data-active]:where([data-variant=separated]){background-color:var(--ds-surface)}.jc-dataDisplay-accordionControl-1gfm0{color:var(--ds-text)}@media (hover:hover){.jc-dataDisplay-accordionControl-1gfm0:where(:not(:disabled,[data-disabled])):hover{background-color:var(--ds-surface-2)}}.jc-dataDisplay-accordionLabel-e08r8{font-weight:600;font-size:var(--type-subheadline-rg)}.jc-dataDisplay-accordionChevron-1czds{color:var(--ds-text-3)}.jc-dataDisplay-accordionContent-1gflq{color:var(--ds-text-2);font-size:var(--type-subheadline-sm);line-height:1.6}.jc-dataDisplay-avatar-1nm4r:where([data-within-group]){border-color:var(--ds-surface);background:var(--ds-surface)}.jc-dataDisplay-dataList-12xng[data-with-divider]>*{border-color:var(--ds-border-soft)}.jc-dataDisplay-dataListLabel-1ky0f{color:var(--ds-text-3)}.jc-dataDisplay-dataListValue-1l3il{color:var(--ds-text);font-weight:500}.jc-dataDisplay-indicator-1t0gz{font-variant-numeric:tabular-nums;font-weight:600}.jc-dataDisplay-indicator-1t0gz:where([data-with-border]){border-color:var(--ds-surface)}.jc-dataDisplay-kbd-1dbej{font-family:var(--mantine-font-family-monospace);color:var(--ds-text-2);background-color:var(--ds-surface-2);border-color:var(--ds-border-soft);border-bottom-color:var(--ds-border);border-radius:6px;font-weight:600}.jc-dataDisplay-spoilerControl-yqlai{color:var(--ds-link);font-weight:600;font-size:var(--type-subheadline-sm)}.jc-dataDisplay-timeline-1a1d4{--tl-color:var(--mantine-primary-color-filled)}.jc-dataDisplay-timelineItem-2ia8c{--item-border-color:var(--ds-border-soft)}.jc-dataDisplay-timelineBullet-1qrrw{background-color:var(--ds-surface);border-color:var(--ds-border-soft);color:var(--ds-text-3)}.jc-dataDisplay-timelineBullet-1qrrw:where([data-active]){border-color:var(--tli-color,var(--tl-color))}.jc-dataDisplay-timelineBullet-1qrrw:where([data-active][data-with-child]){background-color:var(--tli-color,var(--tl-color));color:var(--tl-icon-color,var(--mantine-color-white))}.jc-dataDisplay-timelineTitle-6vk5j{color:var(--ds-text);font-weight:600;line-height:1.4}:where([data-mantine-color-scheme=dark]) .jc-dataDisplay-timeline-1a1d4:not([style*=--tl-color]) .jc-dataDisplay-timelineItem-2ia8c:not([style*=--tli-color]) .jc-dataDisplay-timelineBullet-1qrrw:where([data-active][data-with-child]){color:var(--mantine-primary-color-contrast)}.jc-feedback-alert-h7v92{border-radius:var(--ds-radius)}.jc-feedback-alertTitle-1w7oo{font-weight:600}.jc-feedback-alertMessage-t1ddb:not([data-variant=filled],[data-variant=white]){color:var(--ds-text)}:root[data-mantine-color-scheme=dark] .jc-feedback-alert-h7v92[data-variant=filled] .jc-feedback-alertWrapper-13mra{--alert-color:var(--mantine-color-dark-8)}.jc-feedback-notification-1g32t{background-color:var(--ds-surface);box-shadow:var(--ds-shadow-md);border:1px solid var(--ds-border-soft)}.jc-feedback-notificationTitle-1hkpr{color:var(--ds-text);font-weight:600}.jc-feedback-notificationDescription-12b15{color:var(--ds-text-2)}:root[data-mantine-color-scheme=dark] .jc-feedback-notificationIcon-1w65l{color:var(--mantine-color-dark-8)}:root[data-mantine-color-scheme] .jc-feedback-progress-mojt0{background-color:var(--ds-surface-2);box-shadow:inset 0 0 0 1px var(--ds-border-soft)}.jc-feedback-progressLabel-17jpo{font-weight:600}:root[data-mantine-color-scheme=dark] .jc-feedback-progressLabel-17jpo{color:var(--mantine-color-dark-8)}:root[data-mantine-color-scheme] .jc-feedback-ringCurve-143wl{--rp-curve-root-color:var(--ds-border-soft)}:root[data-mantine-color-scheme] .jc-feedback-semiCircle-afy1b{--scp-empty-segment-color:var(--ds-border-soft)}.jc-feedback-semiCircleLabel-1yjul{color:var(--ds-text);font-weight:600}:root[data-mantine-color-scheme=light] .jc-feedback-skeleton-1epys[data-visible]:after{background-color:var(--mantine-color-gray-2)}:root[data-mantine-color-scheme=dark] .jc-feedback-skeleton-1epys[data-visible]:after{background-color:var(--mantine-color-dark-4)}:root[data-mantine-color-scheme] .jc-feedback-emptyIndicator-1i2ak[data-with-background]{--empty-state-indicator-default-bg:var(--ds-surface-2)}:root[data-mantine-color-scheme=dark] .jc-feedback-emptyState-ixj8n[data-variant=filled] .jc-feedback-emptyIndicator-1i2ak{color:var(--mantine-color-dark-8)}.jc-feedback-emptyTitle-ixwea{color:var(--ds-text)}.jc-feedback-emptyDescription-p56id{color:var(--ds-text-2)}.jc-inputs-input-x12vc{--input-bd:var(--ds-border);--input-bd-focus:var(--ds-primary);background-color:var(--ds-surface);color:var(--ds-text);transition:border-color .15s,box-shadow .15s}.jc-inputs-input-x12vc:focus,.jc-inputs-input-x12vc:focus-within{border-color:var(--ds-primary);box-shadow:0 0 0 3px var(--ds-primary-soft)}.jc-inputs-input-x12vc[data-error]{border-color:var(--ds-error)}.jc-inputs-input-x12vc[data-error]:focus,.jc-inputs-input-x12vc[data-error]:focus-within{box-shadow:0 0 0 3px var(--ds-error-bg)}[data-success]>.jc-inputs-input-x12vc{border-color:var(--ds-success)}[data-success]>.jc-inputs-input-x12vc:focus,[data-success]>.jc-inputs-input-x12vc:focus-within{box-shadow:0 0 0 3px var(--ds-success-bg)}.jc-inputs-input-x12vc[data-variant=unstyled],.jc-inputs-input-x12vc[data-variant=unstyled]:focus,.jc-inputs-input-x12vc[data-variant=unstyled]:focus-within{--input-bd:transparent;box-shadow:none;background-color:#0000;border-color:#0000}.jc-inputs-input-x12vc::placeholder{color:var(--ds-text-3)}.jc-inputs-label-x2hnj{font-size:var(--type-subheadline-sm);color:var(--ds-text-2);margin-bottom:4px;font-weight:500}.jc-inputs-description-enm5y{color:var(--ds-text-3)}.jc-inputs-segmentedRoot-3hb3b{background-color:var(--ds-surface-2)}.jc-inputs-segmentedIndicator-1ml25{box-shadow:var(--ds-shadow-sm)}.jc-inputs-segmentedLabel-10rvt{font-weight:500}.jc-inputs-nativeSelect-se3qh option,.jc-inputs-nativeSelect-se3qh optgroup{background-color:var(--ds-surface);color:var(--ds-text)}.jc-inputs-nativeSelectSection-kukh0{color:var(--ds-text-3)}[data-mantine-color-scheme] .jc-inputs-checkInput-hopjk:not([data-checked]):not(:checked):not([data-indeterminate]):not(:disabled):not([data-disabled]):not([data-error]){border-color:var(--ds-border)}[data-mantine-color-scheme] .jc-inputs-selectCard-1y8e9[data-with-border]{border-color:var(--ds-border-soft);background-color:var(--ds-surface);transition:border-color .15s,background-color .15s}[data-mantine-color-scheme] .jc-inputs-selectCard-1y8e9[data-with-border][data-checked]{border-color:var(--ds-primary);background-color:var(--ds-primary-soft)}[data-mantine-color-scheme=dark] .jc-inputs-switchTrack-76xuz{--switch-bg:var(--ds-border);--switch-disabled-color:var(--ds-surface-2)}.jc-inputs-chipLabel-1v9km{font-weight:500}[data-variant=outline]>.jc-inputs-chipLabel-1v9km[data-checked]:not([data-disabled]){background-color:var(--chip-bg)}@media (hover:hover){[data-variant=outline]>.jc-inputs-chipLabel-1v9km[data-checked]:not([data-disabled]):hover{background-color:var(--chip-hover)}}[data-mantine-color-scheme] .jc-inputs-fieldset-1h97c[data-variant=default]{border-color:var(--ds-border-soft);background-color:var(--ds-surface)}[data-mantine-color-scheme] .jc-inputs-fieldset-1h97c[data-variant=filled]{border-color:var(--ds-border-soft);background-color:var(--ds-surface-2)}.jc-inputs-fieldsetLegend-1u9i7{font-size:var(--type-subheadline-sm);color:var(--ds-text);padding-inline:4px;font-weight:600}.jc-inputs-fieldset-1h97c[data-variant=unstyled] .jc-inputs-fieldsetLegend-1u9i7{padding-inline:0}.jc-inputs-pinInput-1p3bz{font-weight:600}[data-mantine-color-scheme] .jc-inputs-sliderRoot-18w25{--slider-track-bg:var(--ds-border-soft)}[data-mantine-color-scheme] .jc-inputs-sliderThumb-161p2{color:var(--slider-color);border-color:var(--slider-color);background-color:var(--mantine-color-white);box-shadow:var(--ds-shadow-sm)}.jc-inputs-sliderThumb-161p2:focus-visible{box-shadow:0 0 0 3px var(--ds-primary-soft), var(--ds-shadow-sm);outline:none}[data-mantine-color-scheme] .jc-inputs-sliderLabel-15x5u{background-color:var(--mantine-color-obsidian-6);color:var(--mantine-color-white);padding:2px 8px;font-weight:600}[data-mantine-color-scheme=dark] .jc-inputs-sliderLabel-15x5u{background-color:var(--ds-surface-2);color:var(--ds-text);box-shadow:var(--ds-shadow-sm)}.jc-inputs-sliderMarkLabel-10x0t{color:var(--ds-text-3)}[data-mantine-color-scheme] .jc-inputs-angleRoot-1k0pu{background-color:var(--ds-surface-2);box-shadow:inset 0 0 0 1px var(--ds-border-soft)}.jc-inputs-angleRoot-1k0pu:focus-within{box-shadow:inset 0 0 0 1px var(--ds-primary), 0 0 0 3px var(--ds-primary-soft);outline:none}[data-mantine-color-scheme] .jc-inputs-angleThumb-vwj4a:before{background-color:var(--ds-primary)}.jc-inputs-angleLabel-vrzwd{color:var(--ds-text);font-weight:600}.jc-inputs-rating-xk7t1{--jc-rating-color:var(--mantine-color-electric-4)}[data-mantine-color-scheme=dark] .jc-inputs-rating-xk7t1{--jc-rating-color:var(--mantine-color-electric-3)}[data-mantine-color-scheme] .jc-inputs-ratingStar-1p6e1:not([data-filled]){fill:var(--ds-border-soft);stroke:var(--ds-border-soft)}[data-mantine-color-scheme=dark] .jc-inputs-ratingStar-1p6e1:not([data-filled]){fill:var(--ds-border);stroke:var(--ds-border)}.jc-inputs-colorSlider-1nakv,.jc-inputs-colorSliderOverlay-1jt1i{border-radius:var(--mantine-radius-xs)}.jc-inputs-colorThumb-1br3d{box-shadow:var(--ds-shadow-sm), 0 0 1px #0009}.jc-inputs-colorSlider-1nakv:focus:focus-visible .jc-inputs-colorThumb-1br3d,.jc-inputs-colorSaturation-181ea:focus:focus-visible .jc-inputs-colorThumb-1br3d{outline-color:var(--ds-primary)}.jc-inputs-colorSwatch-1nght{border-radius:var(--mantine-radius-xs)}.jc-inputs-colorSwatch-1nght:focus-visible{outline:2px solid var(--ds-primary);outline-offset:2px}.jc-layout-appShellMain-rn4sc{background-color:var(--ds-bg)}.jc-layout-appShellNavbar-1yh1t,.jc-layout-appShellAside-4dhpc,.jc-layout-appShellHeader-1volw,.jc-layout-appShellFooter-1uw9v{background-color:var(--ds-surface);border-color:var(--ds-border-soft)}.jc-layout-container-1otef{--container-size-xl:var(--grid-max)}.jc-layout-splitter-1c81w{--splitter-handle-color:var(--ds-border-soft)}.jc-layout-splitterHandle-3aw4b{transition:background-color .12s}.jc-layout-splitterHandle-3aw4b:where([data-active],:focus-visible){background-color:var(--ds-primary)}@media (hover:hover){.jc-layout-splitterHandle-3aw4b:hover{background-color:var(--ds-border)}.jc-layout-splitterHandle-3aw4b:hover .jc-layout-splitterThumb-9gif3{color:var(--ds-text-2)}}.jc-layout-splitterThumb-9gif3{background-color:var(--ds-surface);border:1px solid var(--ds-border-soft);box-shadow:var(--ds-shadow-sm);color:var(--ds-text-3)}.jc-layout-splitterHandle-3aw4b:where([data-active],:focus-visible) .jc-layout-splitterThumb-9gif3{border-color:var(--ds-primary);color:var(--ds-primary);box-shadow:0 0 0 2px var(--ds-primary-soft)}.jc-misc-paper-ylgp1{--paper-border-color:var(--ds-border-soft);background-color:var(--ds-surface);color:var(--ds-text)}.jc-misc-divider-19c9f{--divider-color:var(--ds-border-soft)}.jc-misc-scrollbar-1rme3:hover,.jc-misc-scrollbar-1rme3:active{background-color:#0000}.jc-misc-scrollThumb-1hy1m,.jc-misc-scrollbar-1rme3:hover>.jc-misc-scrollThumb-1hy1m{background-color:var(--ds-border)}.jc-misc-scrollbar-1rme3:active>.jc-misc-scrollThumb-1hy1m{background-color:var(--ds-text-3)}.jc-navigation-tabs-1fx9s{--tab-border-color:var(--ds-border-soft);--tab-hover-color:var(--ds-surface-2)}.jc-navigation-tab-12c3k{color:var(--ds-text-2);font-weight:500}.jc-navigation-tabs-1fx9s:not([data-variant=pills]) .jc-navigation-tab-12c3k[data-active]{color:var(--ds-primary)}.jc-navigation-tabs-1fx9s[data-variant=pills] .jc-navigation-tab-12c3k[data-active]{color:var(--tab-color)}:root[data-mantine-color-scheme=dark] .jc-navigation-tabs-1fx9s[data-variant=pills] .jc-navigation-tab-12c3k[data-active]{color:var(--mantine-color-dark-8)}.jc-navigation-anchor-qow42{color:var(--ds-link);font-weight:500}.jc-navigation-burger-ra1uf{--burger-color:var(--ds-text)}.jc-navigation-navLink-hxlfi{border-radius:var(--ds-radius-sm);font-weight:500}.jc-navigation-navLink-hxlfi[data-active]{font-weight:600}:root[data-mantine-color-scheme=dark] .jc-navigation-navLink-hxlfi[data-variant=filled][data-active]{color:var(--mantine-color-dark-8)}@media (hover:hover){.jc-navigation-navLink-hxlfi:hover:not([data-active]){background-color:var(--ds-surface-2)}}.jc-navigation-paginationControl-eomsf:not([data-active]){border-color:var(--ds-border-soft);background-color:var(--ds-surface);color:var(--ds-text)}@media (hover:hover){.jc-navigation-paginationControl-eomsf:not([data-active]):hover:not(:disabled,[data-disabled]){background-color:var(--ds-surface-2)}}.jc-navigation-paginationControl-eomsf[data-active]{font-weight:600}:root[data-mantine-color-scheme=dark] .jc-navigation-paginationControl-eomsf[data-active]{color:var(--mantine-color-dark-8)}.jc-navigation-stepper-t1m8k{--stepper-outline-color:var(--ds-border-soft)}.jc-navigation-stepIcon-1c03s:not([data-completed]){color:var(--ds-text-2)}:root[data-mantine-color-scheme=dark] .jc-navigation-stepIcon-1c03s,:root[data-mantine-color-scheme=dark] .jc-navigation-stepCompletedIcon-235zk{--stepper-icon-color:var(--mantine-color-dark-8)}.jc-navigation-stepLabel-1vilz{color:var(--ds-text);font-weight:600}.jc-navigation-stepDescription-1a1yx{color:var(--ds-text-3)}.jc-navigation-tocControl-1a82m:not([data-active]){color:var(--ds-text-2)}@media (hover:hover){.jc-navigation-tocControl-1a82m:not([data-active]):not([data-variant=none]):hover{background-color:var(--ds-surface-2);color:var(--ds-text)}}.jc-navigation-tocControl-1a82m[data-active]{font-weight:500}.jc-navigation-tree-1fxa5{--tree-line-color:var(--ds-border-soft)}.jc-navigation-treeLabel-19sv8{border-radius:var(--ds-radius-sm);transition:background-color .12s}@media (hover:hover){.jc-navigation-treeLabel-19sv8:hover:not([data-selected]){background-color:var(--ds-surface-2)}}.jc-navigation-treeLabel-19sv8[data-selected]{background-color:var(--ds-primary-soft);color:var(--ds-primary);font-weight:500}.jc-overlays-dropdown-jw4jb{--popover-border-color:var(--ds-border-soft);background-color:var(--ds-surface);border-color:var(--ds-border-soft);box-shadow:var(--ds-shadow-md)}.jc-overlays-menuItem-h1p96{--menu-item-hover:var(--ds-surface-2)}:where([data-mantine-color-scheme=dark]) .jc-overlays-menuItem-h1p96{--mantine-color-danger-6:var(--dc-danger-400)}.jc-overlays-menuLabel-va9pv{color:var(--ds-text-3);font-size:var(--type-disclaimer);font-weight:600}.jc-overlays-menuDivider-1bt9m{border-color:var(--ds-border-soft)}.jc-overlays-menubarRoot-1m3j7{gap:2px}.jc-overlays-menubarTarget-2rpcd{color:var(--ds-text);border-radius:var(--ds-radius-sm);font-weight:500}.jc-overlays-menubarTarget-2rpcd:where(:hover,:focus-visible,[data-expanded]):where(:not(:disabled,[data-disabled])){background-color:var(--ds-surface-2)}.jc-overlays-menubarTarget-2rpcd:where([data-expanded]){color:var(--ds-primary)}.jc-overlays-floatingSurface-abtom{background-color:var(--ds-surface);border-color:var(--ds-border-soft);box-shadow:var(--ds-shadow-lg)}.jc-overlays-actionBarDivider-zlu32{background-color:var(--ds-border-soft)}.jc-overlays-modalContent-1r9tn,.jc-overlays-modalHeader-ovcpc{background-color:var(--ds-surface)}.jc-overlays-modalTitle-x2dy5{font-size:var(--type-headline-sm);font-weight:600}.jc-overlays-tooltip-rudkb{background-color:var(--tooltip-bg,var(--dc-obsidian));color:var(--tooltip-color,var(--dc-white));font-size:var(--type-disclaimer);font-weight:500}:where([data-mantine-color-scheme=dark]) .jc-overlays-tooltip-rudkb{background-color:var(--tooltip-bg,var(--dc-obsidian-50));color:var(--tooltip-color,var(--dc-obsidian))}:where([data-mantine-color-scheme=dark]) .jc-overlays-dropdown-jw4jb,:where([data-mantine-color-scheme=dark]) .jc-overlays-floatingSurface-abtom{--popover-border-color:color-mix(in srgb, var(--ds-border) 55%, var(--ds-border-soft));border-color:color-mix(in srgb, var(--ds-border) 55%, var(--ds-border-soft))}.jc-typography-table-kknto{--table-border-color:var(--ds-border-soft);--table-highlight-on-hover-color:var(--ds-surface-2);--table-striped-color:var(--ds-surface-2);font-size:var(--type-subheadline-sm)}.jc-typography-th-3gnnz{text-align:left;color:var(--ds-text-3);font-weight:600;font-size:var(--type-disclaimer);letter-spacing:.05em;text-transform:uppercase}.jc-typography-thead-kkscj .jc-typography-tr-3gnnz{border-bottom:2px solid var(--ds-border)}.jc-typography-title-kktax{color:var(--ds-text)}.jc-typography-code-1o89v{background-color:var(--code-bg,var(--ds-surface-2));color:var(--ds-text);border:1px solid var(--ds-border-soft);border-radius:6px;padding:1px 6px;font-size:.875em}.jc-typography-code-1o89v[data-block]{border-radius:var(--ds-radius-sm);padding:var(--mantine-spacing-md);font-size:var(--type-subheadline-sm);line-height:1.6}.jc-typography-blockquote-qpgfj{color:var(--ds-text);font-size:var(--type-subheadline-lg);padding:var(--mantine-spacing-lg) var(--mantine-spacing-xl);line-height:1.55}.jc-typography-blockquoteIcon-uil1s{background-color:var(--ds-surface)}.jc-typography-blockquoteCite-uihcf{color:var(--ds-text-3);opacity:1;font-size:var(--type-subheadline-sm);font-style:normal;font-weight:500}.jc-typography-mark-1o8fy{color:var(--ds-text);border-radius:3px;padding-inline:.1em}.jc-typography-list-1o8fh{color:var(--ds-text)}.jc-typography-listItem-tklh3::marker{color:var(--ds-primary);font-weight:600}.jc-typography-listItemIcon-iqpjy{color:var(--ds-primary)}.jc-typography-typography-1usve{color:var(--ds-text-2);line-height:1.6}.jc-typography-typography-1usve :where(h1,h2,h3,h4,h5,h6){color:var(--ds-text);font-weight:600}.jc-typography-typography-1usve :where(a){color:var(--ds-link);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-underline-offset:3px;font-weight:500}.jc-typography-typography-1usve :where(a):hover{text-decoration-color:currentColor}.jc-typography-typography-1usve :where(strong,b){color:var(--ds-text);font-weight:600}.jc-typography-typography-1usve :where(ul,ol) :where(li)::marker{color:var(--ds-primary);font-weight:600}.jc-typography-typography-1usve :where(li)+:where(li){margin-top:var(--mantine-spacing-xs)}.jc-typography-typography-1usve :where(code){background-color:var(--ds-surface-2);color:var(--ds-text);border:1px solid var(--ds-border-soft);border-radius:6px;font-size:.875em}.jc-typography-typography-1usve :where(pre){background-color:var(--ds-surface-2);border:1px solid var(--ds-border-soft);border-radius:var(--ds-radius-sm);padding:var(--mantine-spacing-md)}.jc-typography-typography-1usve :where(pre) :where(code){font-size:var(--type-subheadline-sm);border:0}.jc-typography-typography-1usve :where(kbd){color:var(--ds-text-2);background-color:var(--ds-surface-2);border-color:var(--ds-border-soft);border-bottom-color:var(--ds-border)}.jc-typography-typography-1usve :where(mark){background-color:var(--dc-electric-200);color:var(--ds-text)}.jc-typography-typography-1usve :where(blockquote){background-color:var(--ds-primary-soft);border-inline-start:3px solid var(--ds-primary);color:var(--ds-text);border-start-start-radius:0;border-end-start-radius:0}.jc-typography-typography-1usve :where(hr){border-color:var(--ds-border-soft)}.jc-typography-typography-1usve :where(table){--table-border-color:var(--ds-border-soft)}.jc-typography-typography-1usve :where(table) :where(th){color:var(--ds-text-3);font-size:var(--type-disclaimer);letter-spacing:.05em;text-transform:uppercase;font-weight:600}.jc-typography-typography-1usve :where(table) :where(thead th){border-bottom:2px solid var(--ds-border)}.jc-typography-typography-1usve :where(table) :where(td){color:var(--ds-text)}.jc-typography-typography-1usve :where(details){--details-border-color:var(--ds-border-soft);--details-summary-hover:var(--ds-surface-2)}.jc-typography-typography-1usve :where(details) :where(summary){color:var(--ds-text)}.jc-typography-typography-1usve :where(img){border-radius:var(--ds-radius)}:where([data-mantine-color-scheme=dark]) .jc-typography-typography-1usve :where(mark){background-color:color-mix(in srgb, var(--dc-electric-300) 32%, transparent)}.jc-PromoBanner-root-ea180{justify-content:center;align-items:center;gap:var(--sp-8);padding:var(--sp-12) var(--sp-20);font-weight:600;font-size:var(--type-subheadline-rg);text-align:center;background:var(--banner-bg);color:var(--banner-color);line-height:1.4;display:flex;position:relative}.jc-PromoBanner-root-ea180[data-closable]{padding-inline:var(--sp-40)}.jc-PromoBanner-root-ea180[data-radius]{border-radius:var(--banner-radius)}.jc-PromoBanner-root-ea180 :where(strong),.jc-PromoBanner-highlight-1ead9{color:var(--banner-highlight);font-weight:700}.jc-PromoBanner-content-118h9{align-items:center;gap:var(--sp-8);flex-wrap:wrap;justify-content:center;display:inline-flex}.jc-PromoBanner-close-g82r6{right:var(--sp-8);color:inherit;position:absolute;top:50%;transform:translateY(-50%)}.jc-ContentCard-root-1onkj{flex-direction:column;display:flex}.jc-ContentCard-image-xcrki{margin:calc(var(--card-padding) * -1) calc(var(--card-padding) * -1) var(--sp-16)}.jc-ContentCard-image-xcrki img{object-fit:cover;width:100%;display:block}.jc-ContentCard-title-xir5a{font-size:var(--type-headline-sm);margin:var(--sp-8) 0 var(--sp-4);color:var(--ds-text);font-weight:600;line-height:1.3}.jc-ContentCard-body-1onab{color:var(--ds-text-2);flex:1}.jc-ContentCard-actions-13191{margin-top:var(--sp-16);gap:var(--sp-8);flex-wrap:wrap;display:flex}.jc-KpiCard-root-12p58{background:var(--ds-surface);border:1px solid var(--ds-border-soft);border-radius:var(--ds-radius);padding:var(--sp-16) var(--sp-20);gap:var(--sp-4);flex-direction:column;min-width:0;display:flex}.jc-KpiCard-header-z6ndb{justify-content:space-between;align-items:center;gap:var(--sp-8);display:flex}.jc-KpiCard-label-1r25g{font-size:var(--type-disclaimer);color:var(--ds-text-3);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.jc-KpiCard-icon-12oz8{color:var(--ds-text-3);display:inline-flex}.jc-KpiCard-value-1r7nl{font-size:var(--type-headline-md);overflow-wrap:anywhere;font-variant-numeric:tabular-nums;color:var(--kpi-value-color,var(--ds-text));font-weight:700;line-height:1.25}.jc-KpiCard-footer-yebc4{align-items:center;gap:var(--sp-8);font-size:var(--type-disclaimer);color:var(--ds-text-3);flex-wrap:wrap;display:flex}.jc-KpiCard-delta-1qxtv{font-variant-numeric:tabular-nums;color:var(--kpi-delta-color);align-items:center;gap:2px;font-weight:600;display:inline-flex}.jc-KpiCard-chart-1qxbr{margin-top:var(--sp-8)}.jc-DataTable-wrapper-1saie{background:var(--ds-surface);border:1px solid var(--ds-border-soft);border-radius:var(--ds-radius);overflow:hidden}.jc-DataTable-wrapper-1saie[data-plain]{background:0 0;border:0;border-radius:0}.jc-DataTable-num-1nq3v{text-align:right;font-variant-numeric:tabular-nums}.jc-DataTable-sortButton-z9h2e{all:unset;cursor:pointer;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;align-items:center;gap:4px;display:inline-flex}.jc-DataTable-sortButton-z9h2e:hover,.jc-DataTable-sortButton-z9h2e[data-sorted]{color:var(--ds-text)}.jc-DataTable-sortButton-z9h2e:focus-visible{outline:2px solid var(--ds-primary);outline-offset:2px;border-radius:2px}.jc-DataTable-row-1nq3y[data-clickable]{cursor:pointer}.jc-DataTable-row-1nq3y[data-clickable]:focus-visible{outline:2px solid var(--ds-primary);outline-offset:-2px}.jc-DataTable-footer-gwddl{justify-content:space-between;align-items:center;gap:var(--sp-12);padding:var(--sp-12);border-top:1px solid var(--ds-border-soft);font-size:var(--type-disclaimer);color:var(--ds-text-3);flex-wrap:wrap;display:flex}.jc-TokenSwatch-swatch-gyxea{border:1px solid var(--ds-border-soft);border-radius:var(--ds-radius-sm);background:var(--ds-surface);text-align:left;width:150px;color:inherit;cursor:pointer;padding:0;font-family:inherit;transition:box-shadow .15s,transform .15s;overflow:hidden}.jc-TokenSwatch-swatch-gyxea:hover{box-shadow:var(--ds-shadow-md);transform:translateY(-1px)}.jc-TokenSwatch-color-1gzzi{height:72px}.jc-TokenSwatch-info-1bjej{padding:var(--sp-8) var(--sp-12)}.jc-TokenSwatch-name-1bjhg{font-size:13px;font-weight:600}.jc-TokenSwatch-hex-1kiwm{color:var(--ds-text-3);font-variant-numeric:tabular-nums;font-size:12px}.jc-TokenSwatch-ramp-1bjk0{border-radius:var(--ds-radius-sm);border:1px solid var(--ds-border-soft);display:flex;overflow:hidden}.jc-TokenSwatch-step-1bjl1{cursor:pointer;border:0;flex:1;justify-content:center;align-items:flex-end;height:44px;padding:0 0 3px;font-family:inherit;font-size:10px;display:flex}.jc-ProductCard-root-mvthw{flex-direction:column;height:100%;transition:box-shadow .15s,transform .15s;display:flex}.jc-ProductCard-root-mvthw[data-interactive]:hover{box-shadow:var(--ds-shadow-md);transform:translateY(-2px)}.jc-ProductCard-media-1y1gb{margin:calc(var(--card-padding) * -1) calc(var(--card-padding) * -1) var(--sp-16);background:var(--ds-surface-2);aspect-ratio:var(--product-ratio,1);position:relative;overflow:hidden}.jc-ProductCard-media-1y1gb img{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.jc-ProductCard-root-mvthw[data-interactive]:hover .jc-ProductCard-media-1y1gb img{transform:scale(1.03)}.jc-ProductCard-badges-z1zie{top:var(--sp-12);left:var(--sp-12);gap:var(--sp-4);flex-wrap:wrap;display:flex;position:absolute}.jc-ProductCard-favorite-199qf{top:var(--sp-8);right:var(--sp-8);background:var(--ds-surface);box-shadow:var(--ds-shadow-sm);position:absolute}.jc-ProductCard-category-1jquc{font-size:var(--type-disclaimer);color:var(--ds-text-3);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.jc-ProductCard-name-mvqni{font-weight:600;font-size:var(--type-subheadline-rg);color:var(--ds-text);margin:var(--sp-4) 0 var(--sp-8);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.35;text-decoration:none;display:-webkit-box;overflow:hidden}a.jc-ProductCard-name-mvqni:hover{color:var(--ds-primary)}.jc-ProductCard-price-1y3c4{margin-top:auto}.jc-ProductCard-action-ymbqp{margin-top:var(--sp-16)}.jc-TopNav-root-juvro{align-items:center;gap:var(--sp-16);background:var(--dc-obsidian);color:#fff;padding:var(--sp-12) var(--sp-24);box-sizing:border-box;min-height:56px;display:flex}.jc-TopNav-brand-1b3pb{font-weight:700;font-size:var(--type-subheadline-lg);color:#fff;align-items:center;gap:var(--sp-8);white-space:nowrap;text-decoration:none;display:inline-flex}.jc-TopNav-links-1b91r{align-items:center;gap:var(--sp-16);display:flex}.jc-TopNav-link-jurt9{color:var(--dc-obsidian-300);font-size:var(--type-subheadline-sm);cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit;font-weight:500;text-decoration:none;transition:color .15s}.jc-TopNav-link-jurt9:hover,.jc-TopNav-link-jurt9[data-active]{color:var(--dc-electric)}.jc-TopNav-right-1bcce{align-items:center;gap:var(--sp-8);margin-inline-start:auto;display:flex}.jc-TopNav-burger-13mhl{--burger-color:#fff}.jc-TopNav-mobileLinks-90417{gap:var(--sp-16);padding:var(--sp-16) var(--sp-24) var(--sp-20);background:var(--dc-obsidian);flex-direction:column;display:flex}@media (width<=47.99em){.jc-TopNav-root-juvro[data-collapse] .jc-TopNav-links-1b91r{display:none}}@media (width>=48em){.jc-TopNav-burger-13mhl,.jc-TopNav-mobileLinks-90417{display:none}}
2
+ /*$vite$:1*/
@@ -0,0 +1,26 @@
1
+ import type { MantineColorsTuple } from '@mantine-vue/core';
2
+ export declare const horizon: MantineColorsTuple;
3
+ export declare const obsidian: MantineColorsTuple;
4
+ export declare const electric: MantineColorsTuple;
5
+ export declare const evergreen: MantineColorsTuple;
6
+ export declare const danger: MantineColorsTuple;
7
+ /** Substitui o `gray` do Mantine: neutro frio da marca. */
8
+ export declare const gray: MantineColorsTuple;
9
+ /** Substitui o `dark` do Mantine com os neutros do tema escuro (0 = texto · 7 = fundo). */
10
+ export declare const dark: MantineColorsTuple;
11
+ export declare const jcColors: {
12
+ horizon: MantineColorsTuple;
13
+ obsidian: MantineColorsTuple;
14
+ electric: MantineColorsTuple;
15
+ evergreen: MantineColorsTuple;
16
+ danger: MantineColorsTuple;
17
+ gray: MantineColorsTuple;
18
+ dark: MantineColorsTuple;
19
+ blue: MantineColorsTuple;
20
+ indigo: MantineColorsTuple;
21
+ green: MantineColorsTuple;
22
+ teal: MantineColorsTuple;
23
+ yellow: MantineColorsTuple;
24
+ red: MantineColorsTuple;
25
+ };
26
+ export type JcColor = 'horizon' | 'obsidian' | 'electric' | 'evergreen' | 'danger' | 'gray';
@@ -0,0 +1,2 @@
1
+ import { type ThemeComponents } from './types';
2
+ export declare const buttonsComponents: ThemeComponents;
@@ -0,0 +1,2 @@
1
+ import { type ThemeComponents } from './types';
2
+ export declare const comboboxComponents: ThemeComponents;
@@ -0,0 +1,2 @@
1
+ import { type ThemeComponents } from './types';
2
+ export declare const dataDisplayComponents: ThemeComponents;
@@ -0,0 +1,2 @@
1
+ import { type ThemeComponents } from './types';
2
+ export declare const feedbackComponents: ThemeComponents;
@@ -0,0 +1,3 @@
1
+ import type { ThemeComponents } from './types';
2
+ /** Overrides de componentes Mantine, um arquivo por categoria (mesmas categorias de mantine.dev). */
3
+ export declare const jcComponents: ThemeComponents;
@@ -0,0 +1,2 @@
1
+ import { type ThemeComponents } from './types';
2
+ export declare const inputsComponents: ThemeComponents;
@@ -0,0 +1,2 @@
1
+ import { type ThemeComponents } from './types';
2
+ export declare const layoutComponents: ThemeComponents;
@@ -0,0 +1,2 @@
1
+ import { type ThemeComponents } from './types';
2
+ export declare const miscComponents: ThemeComponents;
@@ -0,0 +1,2 @@
1
+ import { type ThemeComponents } from './types';
2
+ export declare const navigationComponents: ThemeComponents;
@@ -0,0 +1,2 @@
1
+ import { type ThemeComponents } from './types';
2
+ export declare const overlaysComponents: ThemeComponents;
@@ -0,0 +1,11 @@
1
+ import type { MantineThemeComponent } from '@mantine-vue/core';
2
+ /** `theme.components` do Mantine Vue (o pacote não exporta um tipo nomeado como o `MantineThemeComponents` do React). */
3
+ export type ThemeComponents = Record<string, MantineThemeComponent>;
4
+ /**
5
+ * Equivalente tipado de `Component.extend(input)`. No Mantine Vue 3.5 vários componentes
6
+ * (Accordion, Cascader, SegmentedControl…) não têm `extend` em runtime;
7
+ * como `extend` é só identidade, usamos o tipo dele quando existe e devolvemos o próprio input.
8
+ */
9
+ export declare function themed<C>(_component: C, input: C extends {
10
+ extend: (input: infer Input) => unknown;
11
+ } ? Input : MantineThemeComponent): MantineThemeComponent;
@@ -0,0 +1,2 @@
1
+ import { type ThemeComponents } from './types';
2
+ export declare const typographyComponents: ThemeComponents;
@@ -0,0 +1,44 @@
1
+ import type { MantineSize } from '@mantine-vue/core';
2
+ export declare const isSize: (size: unknown) => size is MantineSize;
3
+ /**
4
+ * Alturas dos controles em passos de 8px (alvo de toque ≥ 40px no md; 48px no lg para mobile/checkout).
5
+ * Botões usam 14px/600; campos usam 16px (evita zoom automático no iOS e melhora leitura).
6
+ */
7
+ export declare const control: {
8
+ readonly xs: {
9
+ readonly height: "28px";
10
+ readonly px: "10px";
11
+ readonly fz: "12px";
12
+ readonly inputFz: "12px";
13
+ };
14
+ readonly sm: {
15
+ readonly height: "32px";
16
+ readonly px: "12px";
17
+ readonly fz: "13px";
18
+ readonly inputFz: "14px";
19
+ };
20
+ readonly md: {
21
+ readonly height: "40px";
22
+ readonly px: "16px";
23
+ readonly fz: "14px";
24
+ readonly inputFz: "16px";
25
+ };
26
+ readonly lg: {
27
+ readonly height: "48px";
28
+ readonly px: "20px";
29
+ readonly fz: "16px";
30
+ readonly inputFz: "16px";
31
+ };
32
+ readonly xl: {
33
+ readonly height: "56px";
34
+ readonly px: "24px";
35
+ readonly fz: "18px";
36
+ readonly inputFz: "18px";
37
+ };
38
+ };
39
+ /** Overlay padrão de modais/drawers: navy da marca. */
40
+ export declare const overlayProps: {
41
+ readonly backgroundOpacity: 0.5;
42
+ readonly blur: 2;
43
+ readonly color: "#08154B";
44
+ };
@@ -0,0 +1,2 @@
1
+ import type { CSSVariablesResolver } from '@mantine-vue/core';
2
+ export declare const jcCssVariablesResolver: CSSVariablesResolver;
@@ -0,0 +1,3 @@
1
+ import type { MantineThemeOverride } from '@mantine-vue/core';
2
+ /** Tema JC Decor (o Mantine Vue não tem `createTheme`: o tema é um objeto `MantineThemeOverride`). */
3
+ export declare const jcTheme: MantineThemeOverride;
@@ -0,0 +1,18 @@
1
+ import { Card as MCard, Cascader as MCascader, CheckboxIndicator as MCheckboxIndicator, Combobox as MCombobox, FileInput as MFileInput, FloatingWindow as MFloatingWindow, NumberFormatter as MNumberFormatter, NumberInput as MNumberInput, PillsInput as MPillsInput, Table as MTable, Tooltip as MTooltip } from '@mantine-vue/core';
2
+ /**
3
+ * No Mantine Vue 3.5 alguns componentes fixam padrões no `withDefaults` (ex.: `size: 'sm'` no NumberInput,
4
+ * `withBorder: false` no Card), e esses valores vencem o `defaultProps` do tema — no React o tema vence.
5
+ * O wrapper aplica `theme.components[name].defaultProps` antes das props do usuário, que continuam com prioridade.
6
+ */
7
+ export declare function withThemeDefaults<C>(component: C, name: string): C;
8
+ export declare const Card: typeof MCard;
9
+ export declare const Cascader: typeof MCascader;
10
+ export declare const CheckboxIndicator: typeof MCheckboxIndicator;
11
+ export declare const Combobox: typeof MCombobox;
12
+ export declare const FileInput: typeof MFileInput;
13
+ export declare const FloatingWindow: typeof MFloatingWindow;
14
+ export declare const NumberFormatter: typeof MNumberFormatter;
15
+ export declare const NumberInput: typeof MNumberInput;
16
+ export declare const PillsInput: typeof MPillsInput;
17
+ export declare const Table: typeof MTable;
18
+ export declare const Tooltip: typeof MTooltip;