@agentiffai/design 0.1.7 → 0.1.9

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 (47) hide show
  1. package/dist/{StreamStatusIndicator-DM5n4MI1.d.cts → Window-CF5y1_Og.d.cts} +111 -106
  2. package/dist/{StreamStatusIndicator-DM5n4MI1.d.ts → Window-CF5y1_Og.d.ts} +111 -106
  3. package/dist/copilotkit/index.cjs +2465 -2276
  4. package/dist/copilotkit/index.cjs.map +1 -1
  5. package/dist/copilotkit/index.d.cts +63 -46
  6. package/dist/copilotkit/index.d.ts +63 -46
  7. package/dist/copilotkit/index.js +2463 -2275
  8. package/dist/copilotkit/index.js.map +1 -1
  9. package/dist/icons/index.cjs +68 -167
  10. package/dist/icons/index.cjs.map +1 -1
  11. package/dist/icons/index.d.cts +25 -20
  12. package/dist/icons/index.d.ts +25 -20
  13. package/dist/icons/index.js +68 -167
  14. package/dist/icons/index.js.map +1 -1
  15. package/dist/index.cjs +5968 -3620
  16. package/dist/index.cjs.map +1 -1
  17. package/dist/index.d.cts +364 -4
  18. package/dist/index.d.ts +364 -4
  19. package/dist/index.js +5917 -3590
  20. package/dist/index.js.map +1 -1
  21. package/dist/layout/index.cjs +1000 -525
  22. package/dist/layout/index.cjs.map +1 -1
  23. package/dist/layout/index.d.cts +70 -8
  24. package/dist/layout/index.d.ts +70 -8
  25. package/dist/layout/index.js +997 -523
  26. package/dist/layout/index.js.map +1 -1
  27. package/dist/theme/index.cjs +345 -24
  28. package/dist/theme/index.cjs.map +1 -1
  29. package/dist/theme/index.d.cts +524 -65
  30. package/dist/theme/index.d.ts +524 -65
  31. package/dist/theme/index.js +345 -24
  32. package/dist/theme/index.js.map +1 -1
  33. package/dist/workflow/index.cjs +870 -575
  34. package/dist/workflow/index.cjs.map +1 -1
  35. package/dist/workflow/index.d.cts +93 -57
  36. package/dist/workflow/index.d.ts +93 -57
  37. package/dist/workflow/index.js +866 -572
  38. package/dist/workflow/index.js.map +1 -1
  39. package/package.json +1 -1
  40. package/public/assets/icon-set/Icon-contacts-fill.svg +3 -0
  41. package/public/assets/icon-set/Icon-mail-open-fill.svg +3 -0
  42. package/public/assets/icon-set/Icon-p2p-fill.svg +3 -0
  43. package/public/assets/icon-set/Icon-robot-2-fill.svg +3 -0
  44. package/public/assets/icon-set/Icon-send-plane-fill.svg +3 -0
  45. package/public/assets/icon-set/Notion.svg +41 -0
  46. package/public/assets/icon-set/Postiz.svg +1 -0
  47. package/public/assets/avatar-transparent-bg.png +0 -0
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var styled8 = require('styled-components');
3
+ var react = require('react');
4
+ var styled9 = require('styled-components');
4
5
  var jsxRuntime = require('react/jsx-runtime');
5
6
  var button = require('@react-aria/button');
6
- var react = require('react');
7
7
  var meter = require('@react-aria/meter');
8
8
  var tabs$1 = require('@react-aria/tabs');
9
9
  var collections = require('@react-stately/collections');
@@ -12,10 +12,397 @@ var reactAriaComponents = require('react-aria-components');
12
12
 
13
13
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
14
14
 
15
- var styled8__default = /*#__PURE__*/_interopDefault(styled8);
15
+ var styled9__default = /*#__PURE__*/_interopDefault(styled9);
16
+
17
+ // src/components/layout/CategoryNav/CategoryNav.tsx
18
+
19
+ // src/theme/tokens.ts
20
+ var tokens = {
21
+ colors: {
22
+ // Brand colors
23
+ primary: "#2CB0AB",
24
+ // Teal (main brand color)
25
+ secondary: "#264E68",
26
+ // Deep Blue
27
+ accent: "#459FB9",
28
+ // Sea Green (additional brand color)
29
+ // Backgrounds - dark theme optimized
30
+ background: {
31
+ darkest: "#0a1b2a",
32
+ // Darkest Blue (brand color)
33
+ darker: "#151a26",
34
+ // Discord gray (preserved)
35
+ dark: "#1b2230",
36
+ // Discord surface gray (preserved)
37
+ light: "#252d3d"
38
+ // Discord border gray (preserved)
39
+ },
40
+ // Text hierarchy
41
+ text: {
42
+ primary: "#FFFFFF",
43
+ secondary: "#B4B8C5",
44
+ tertiary: "#6B7280"},
45
+ // Teal (brand aligned)
46
+ error: "#EF4444",
47
+ // Sky Blue (brand aligned)
48
+ // Status colors (for workflow/SSE events)
49
+ status: {
50
+ idle: "#6B7280",
51
+ // Badge status (online/offline pattern)
52
+ online: "#2CB0AB",
53
+ offline: "#EF4444",
54
+ busy: "#459FB9"
55
+ },
56
+ // Surface variants (for overlays, cards, panels)
57
+ surface: {
58
+ base: "#1b2230",
59
+ overlay: "rgba(255, 255, 255, 0.05)",
60
+ overlayHover: "rgba(255, 255, 255, 0.1)",
61
+ overlayActive: "rgba(255, 255, 255, 0.15)",
62
+ subtle: "rgba(255, 255, 255, 0.02)",
63
+ glass: "rgba(255, 255, 255, 0.26)"},
64
+ // UI Element colors
65
+ border: {
66
+ default: "rgba(255, 255, 255, 0.1)",
67
+ subtle: "rgba(255, 255, 255, 0.05)",
68
+ focus: "#2CB0AB"},
69
+ // Scrollbar colors
70
+ scrollbar: {
71
+ track: "transparent",
72
+ thumb: "rgba(255, 255, 255, 0.2)",
73
+ thumbHover: "rgba(255, 255, 255, 0.3)"
74
+ },
75
+ // Overlays and backdrops
76
+ overlay: "rgba(0, 0, 0, 0.5)",
77
+ backdrop: "rgba(27, 34, 48, 0.95)",
78
+ // Platform brand colors (for social media icons)
79
+ platform: {
80
+ facebook: "#1877F2",
81
+ whatsapp: "#25D366"}
82
+ },
83
+ typography: {
84
+ fontFamily: {
85
+ primary: "'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', sans-serif"},
86
+ fontSize: {
87
+ xs: "0.75rem",
88
+ // 12px
89
+ sm: "0.875rem",
90
+ // 14px
91
+ base: "1rem",
92
+ // 18px
93
+ xl: "1.25rem"},
94
+ fontWeight: {
95
+ regular: 400,
96
+ medium: 500,
97
+ semibold: 600,
98
+ bold: 700
99
+ },
100
+ lineHeight: {
101
+ tight: 1.25,
102
+ relaxed: 1.75
103
+ }
104
+ },
105
+ spacing: {
106
+ xs: "0.25rem",
107
+ // 4px
108
+ sm: "0.5rem",
109
+ // 8px
110
+ md: "1rem",
111
+ // 16px
112
+ lg: "1.5rem"},
113
+ borderRadius: {
114
+ sm: "0.25rem",
115
+ // 4px
116
+ md: "0.5rem",
117
+ // 8px
118
+ lg: "0.75rem",
119
+ // 12px
120
+ xl: "1rem",
121
+ // 24px
122
+ full: "9999px"
123
+ // Fully rounded
124
+ },
125
+ shadows: {
126
+ lg: "0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)"},
127
+ transitions: {
128
+ fast: "150ms ease-in-out",
129
+ normal: "250ms ease-in-out",
130
+ slow: "350ms ease-in-out"
131
+ },
132
+ zIndex: {
133
+ base: 0,
134
+ sticky: 1020},
135
+ breakpoints: {
136
+ mobile: 640,
137
+ tablet: 1024,
138
+ desktop: 1280
139
+ }
140
+ };
141
+
142
+ // src/components/layout/CategoryNav/CategoryNav.styles.ts
143
+ var NavigationContainer = styled9__default.default.div`
144
+ display: flex;
145
+ flex-direction: column;
146
+ align-items: center;
147
+ padding-top: 6px;
148
+ gap: ${tokens.spacing.xs};
149
+ width: 100%;
150
+ height: 100%;
151
+ overflow-y: auto;
152
+ overflow-x: hidden;
153
+
154
+ &:hover {
155
+ background: transparent !important;
156
+ border-radius: 0 !important;
157
+ box-shadow: none !important;
158
+ }
159
+ `;
160
+ var CategoryGroup = styled9__default.default.div`
161
+ display: flex;
162
+ flex-direction: column;
163
+ align-items: center;
164
+ width: 100%;
165
+ padding-bottom: ${tokens.spacing.md};
166
+
167
+ &:hover {
168
+ background: transparent !important;
169
+ border-radius: 0 !important;
170
+ }
171
+ `;
172
+ var CategoryButton = styled9__default.default.button`
173
+ width: 48px;
174
+ height: 48px;
175
+ border: none;
176
+ padding: 0;
177
+ border-radius: ${({ $active }) => $active ? tokens.borderRadius.xl : tokens.borderRadius.full};
178
+ background-color: ${({ $active }) => $active ? tokens.colors.primary : tokens.colors.background.light};
179
+ color: ${tokens.colors.text.primary};
180
+ display: flex;
181
+ align-items: center;
182
+ justify-content: center;
183
+ cursor: pointer;
184
+ transition: all ${tokens.transitions.fast};
185
+ position: relative;
186
+
187
+ &:hover {
188
+ border-radius: ${tokens.borderRadius.xl};
189
+ background-color: ${({ $active }) => $active ? tokens.colors.primary : tokens.colors.surface.overlayHover};
190
+ }
16
191
 
17
- // src/components/layout/Icon/Icon.styles.ts
18
- var IconWrapper = styled8__default.default.span`
192
+ &:focus-visible {
193
+ outline: 2px solid ${tokens.colors.border.focus};
194
+ outline-offset: 2px;
195
+ }
196
+ `;
197
+ var CategoryLabel = styled9__default.default.span`
198
+ font-size: 9px;
199
+ color: ${tokens.colors.text.tertiary};
200
+ margin-top: 2px;
201
+ text-align: center;
202
+ max-width: 56px;
203
+ overflow: hidden;
204
+ text-overflow: ellipsis;
205
+ white-space: nowrap;
206
+ `;
207
+ var SubItemList = styled9__default.default.div`
208
+ display: ${({ $expanded }) => $expanded ? "flex" : "none"};
209
+ flex-direction: column;
210
+ align-items: center;
211
+ gap: ${tokens.spacing.xs};
212
+ margin-top: ${tokens.spacing.xs};
213
+ width: 100%;
214
+ `;
215
+ var SubItemButton = styled9__default.default.button`
216
+ width: 32px;
217
+ height: 32px;
218
+ border: none;
219
+ padding: 0;
220
+ border-radius: ${({ $active }) => $active ? tokens.borderRadius.md : tokens.borderRadius.full};
221
+ background-color: ${({ $active }) => $active ? tokens.colors.surface.overlayActive : tokens.colors.surface.overlay};
222
+ color: ${tokens.colors.text.primary};
223
+ display: flex;
224
+ align-items: center;
225
+ justify-content: center;
226
+ cursor: pointer;
227
+ transition: all ${tokens.transitions.fast};
228
+
229
+ &:hover {
230
+ border-radius: ${tokens.borderRadius.md};
231
+ background-color: ${({ $active }) => $active ? tokens.colors.surface.overlayActive : tokens.colors.surface.overlayHover};
232
+ }
233
+
234
+ &:focus-visible {
235
+ outline: 2px solid ${tokens.colors.border.focus};
236
+ outline-offset: 2px;
237
+ }
238
+ `;
239
+ var CountBadge = styled9__default.default.span`
240
+ position: absolute;
241
+ top: -2px;
242
+ right: -2px;
243
+ background: ${tokens.colors.accent};
244
+ color: ${tokens.colors.text.primary};
245
+ font-size: 10px;
246
+ font-weight: ${tokens.typography.fontWeight.semibold};
247
+ min-width: 16px;
248
+ height: 16px;
249
+ border-radius: ${tokens.borderRadius.md};
250
+ display: flex;
251
+ align-items: center;
252
+ justify-content: center;
253
+ padding: 0 ${tokens.spacing.xs};
254
+ `;
255
+ var filterBadgeIn = styled9.keyframes`
256
+ from {
257
+ opacity: 0;
258
+ transform: scale(0.5);
259
+ }
260
+ to {
261
+ opacity: 1;
262
+ transform: scale(1);
263
+ }
264
+ `;
265
+ var FilterBadge = styled9__default.default.div`
266
+ position: absolute;
267
+ bottom: -${tokens.spacing.xs};
268
+ right: -${tokens.spacing.xs};
269
+ width: 18px;
270
+ height: 18px;
271
+ background: ${tokens.colors.background.darker};
272
+ border-radius: ${tokens.borderRadius.full};
273
+ display: flex;
274
+ align-items: center;
275
+ justify-content: center;
276
+ animation: ${filterBadgeIn} ${tokens.transitions.normal};
277
+
278
+ svg {
279
+ width: 10px;
280
+ height: 10px;
281
+ fill: ${tokens.colors.text.primary};
282
+ }
283
+ `;
284
+ var CategoryIconImg = styled9__default.default.img`
285
+ width: ${({ $size }) => $size || 24}px;
286
+ height: ${({ $size }) => $size || 24}px;
287
+ object-fit: contain;
288
+ filter: ${({ $active }) => $active ? "brightness(0) invert(1)" : "none"};
289
+ `;
290
+ var SubItemIconImg = styled9__default.default.img`
291
+ width: ${({ $size }) => $size}px;
292
+ height: ${({ $size }) => $size}px;
293
+ object-fit: contain;
294
+ filter: ${({ $active }) => $active ? "brightness(0) invert(1)" : "none"};
295
+ `;
296
+ var FilterIcon = () => /* @__PURE__ */ jsxRuntime.jsxs("svg", { viewBox: "0 0 24 24", fill: "currentColor", "aria-label": "Filter active", children: [
297
+ /* @__PURE__ */ jsxRuntime.jsx("title", { children: "Filter active" }),
298
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z" })
299
+ ] });
300
+ function CategoryNav({
301
+ categories,
302
+ selectedCategory,
303
+ selectedSubItem,
304
+ onCategorySelect,
305
+ onSubItemSelect,
306
+ categoryCounts,
307
+ enabledCategories,
308
+ testIdPrefix = "category"
309
+ }) {
310
+ const [expandedCategory, setExpandedCategory] = react.useState(selectedCategory);
311
+ const hasSubItemFilterForCategory = react.useCallback(
312
+ (categoryId) => {
313
+ if (!selectedSubItem) return false;
314
+ const category = categories.find((c) => c.id === categoryId);
315
+ return category?.subItems?.some((s) => s.id === selectedSubItem) ?? false;
316
+ },
317
+ [selectedSubItem, categories]
318
+ );
319
+ const handleCategoryClick = react.useCallback(
320
+ (categoryId) => {
321
+ if (selectedCategory === categoryId && hasSubItemFilterForCategory(categoryId)) {
322
+ onSubItemSelect(null);
323
+ return;
324
+ }
325
+ if (selectedCategory === categoryId) {
326
+ setExpandedCategory((prev) => prev === categoryId ? null : categoryId);
327
+ } else {
328
+ onCategorySelect(categoryId);
329
+ onSubItemSelect(null);
330
+ setExpandedCategory(categoryId);
331
+ }
332
+ },
333
+ [selectedCategory, onCategorySelect, onSubItemSelect, hasSubItemFilterForCategory]
334
+ );
335
+ const handleSubItemClick = react.useCallback(
336
+ (subItemId) => {
337
+ if (selectedSubItem === subItemId) {
338
+ onSubItemSelect(null);
339
+ } else {
340
+ onSubItemSelect(subItemId);
341
+ }
342
+ },
343
+ [selectedSubItem, onSubItemSelect]
344
+ );
345
+ const visibleCategories = enabledCategories && enabledCategories.size > 0 ? categories.filter((cat) => enabledCategories.has(cat.id)) : categories;
346
+ const renderSubItemIcon = (subItem, isActive) => {
347
+ if (typeof subItem.icon === "string") {
348
+ return /* @__PURE__ */ jsxRuntime.jsx(SubItemIconImg, { src: subItem.icon, alt: subItem.name, $size: 16, $active: isActive });
349
+ }
350
+ return subItem.icon;
351
+ };
352
+ return /* @__PURE__ */ jsxRuntime.jsx(NavigationContainer, { "data-testid": `${testIdPrefix}-navigation`, children: visibleCategories.map((category) => {
353
+ const isSelected = selectedCategory === category.id;
354
+ const isExpanded = expandedCategory === category.id;
355
+ const count = categoryCounts?.[category.id];
356
+ const hasSubItemFilter = hasSubItemFilterForCategory(category.id);
357
+ return /* @__PURE__ */ jsxRuntime.jsxs(CategoryGroup, { children: [
358
+ /* @__PURE__ */ jsxRuntime.jsxs(
359
+ CategoryButton,
360
+ {
361
+ $active: isSelected,
362
+ $expanded: isExpanded,
363
+ onClick: () => handleCategoryClick(category.id),
364
+ "aria-label": hasSubItemFilter ? `${category.label} (filtered - click to clear)` : category.label,
365
+ "aria-expanded": isExpanded,
366
+ "aria-pressed": isSelected,
367
+ title: hasSubItemFilter ? `${category.label} - Click to clear filter` : category.label,
368
+ "data-testid": `${testIdPrefix}-${category.id}`,
369
+ "data-active": isSelected,
370
+ children: [
371
+ /* @__PURE__ */ jsxRuntime.jsx(
372
+ CategoryIconImg,
373
+ {
374
+ src: category.iconPath,
375
+ alt: category.label,
376
+ $size: 24,
377
+ $active: isSelected
378
+ }
379
+ ),
380
+ count !== void 0 && count > 0 && /* @__PURE__ */ jsxRuntime.jsx(CountBadge, { children: count }),
381
+ hasSubItemFilter && /* @__PURE__ */ jsxRuntime.jsx(FilterBadge, { children: /* @__PURE__ */ jsxRuntime.jsx(FilterIcon, {}) })
382
+ ]
383
+ }
384
+ ),
385
+ /* @__PURE__ */ jsxRuntime.jsx(CategoryLabel, { children: category.label }),
386
+ category.subItems && category.subItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(SubItemList, { $expanded: isExpanded, children: category.subItems.map((subItem) => {
387
+ const isSubItemActive = selectedSubItem === subItem.id;
388
+ return /* @__PURE__ */ jsxRuntime.jsx(
389
+ SubItemButton,
390
+ {
391
+ $active: isSubItemActive,
392
+ onClick: () => handleSubItemClick(subItem.id),
393
+ "aria-label": subItem.name,
394
+ title: subItem.name,
395
+ "data-testid": `${testIdPrefix}-subitem-${subItem.id}`,
396
+ children: renderSubItemIcon(subItem, isSubItemActive)
397
+ },
398
+ subItem.id
399
+ );
400
+ }) })
401
+ ] }, category.id);
402
+ }) });
403
+ }
404
+ CategoryNav.displayName = "CategoryNav";
405
+ var IconWrapper = styled9__default.default.span`
19
406
  display: inline-flex;
20
407
  align-items: center;
21
408
  justify-content: center;
@@ -29,13 +416,13 @@ var IconWrapper = styled8__default.default.span`
29
416
  height: 100%;
30
417
  filter: ${({ $color }) => {
31
418
  if ($color === "currentColor" || !$color) return "inherit";
32
- if ($color === "white" || $color === "#ffffff" || $color === "#fff") {
419
+ if ($color === "white" || $color === tokens.colors.text.primary || $color === "#fff") {
33
420
  return "brightness(0) saturate(100%) invert(100%)";
34
421
  }
35
- if ($color === "#b9bbbe") {
422
+ if ($color === tokens.colors.text.secondary || $color === "#b9bbbe") {
36
423
  return "brightness(0) saturate(100%) invert(75%) sepia(8%) saturate(223%) hue-rotate(180deg) brightness(94%) contrast(86%)";
37
424
  }
38
- if ($color === "#ed4245" || $color === "#f04747") {
425
+ if ($color === tokens.colors.error || $color === "#ed4245" || $color === "#f04747") {
39
426
  return "brightness(0) saturate(100%) invert(38%) sepia(97%) saturate(1459%) hue-rotate(334deg) brightness(95%) contrast(93%)";
40
427
  }
41
428
  return "none";
@@ -91,39 +478,37 @@ function Icon({
91
478
  return /* @__PURE__ */ jsxRuntime.jsx(IconWrapper, { $size: size, $color: color, className, "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: iconPath, alt: "", width: size, height: size, ...imgProps }) });
92
479
  }
93
480
  Icon.displayName = "Icon";
94
- var NAV_BG = "#232428";
95
- var NAV_BORDER = "#1E1F22";
96
- var Container = styled8__default.default.nav`
481
+ var Container = styled9__default.default.nav`
97
482
  position: absolute;
98
483
  bottom: 0;
99
484
  left: 0;
100
485
  right: 0;
101
- background-color: ${NAV_BG};
102
- border-top: 1px solid ${NAV_BORDER};
486
+ background-color: ${tokens.colors.background.darker};
487
+ border-top: 1px solid ${tokens.colors.border.subtle};
103
488
  /* Reserve space for Android nav buttons (80px) below the actual navbar */
104
489
  padding-bottom: max(80px, env(safe-area-inset-bottom, 80px));
105
- z-index: 10;
490
+ z-index: ${tokens.zIndex.sticky};
106
491
 
107
492
  /* Dark theme support */
108
493
  @media (prefers-color-scheme: dark) {
109
- background-color: #1a1b1e;
494
+ background-color: ${tokens.colors.background.darkest};
110
495
  }
111
496
  `;
112
- var ContentWrapper = styled8__default.default.div`
497
+ var ContentWrapper = styled9__default.default.div`
113
498
  display: flex;
114
499
  justify-content: space-between;
115
500
  align-items: center;
116
501
  /* Fixed height for actual navbar content - keeps vertical centering */
117
502
  height: 52px;
118
- padding: 0 8px;
503
+ padding: 0 ${tokens.spacing.sm};
119
504
  max-width: 100%;
120
505
 
121
506
  /* Responsive padding */
122
- @media (min-width: 768px) {
123
- padding: 0 16px;
507
+ @media (min-width: ${tokens.breakpoints.tablet}px) {
508
+ padding: 0 ${tokens.spacing.md};
124
509
  }
125
510
  `;
126
- var UserStatusSlot = styled8__default.default.div`
511
+ var UserStatusSlot = styled9__default.default.div`
127
512
  display: flex;
128
513
  align-items: center;
129
514
  min-width: 0; /* Allow flex item to shrink */
@@ -136,15 +521,15 @@ var UserStatusSlot = styled8__default.default.div`
136
521
  white-space: nowrap;
137
522
  }
138
523
  `;
139
- var ActionButtonsSlot = styled8__default.default.div`
524
+ var ActionButtonsSlot = styled9__default.default.div`
140
525
  display: flex;
141
526
  align-items: center;
142
- gap: 4px;
527
+ gap: ${tokens.spacing.xs};
143
528
  flex-shrink: 0;
144
529
 
145
530
  /* Ensure buttons stay visible */
146
531
  @media (min-width: 480px) {
147
- gap: 8px;
532
+ gap: ${tokens.spacing.sm};
148
533
  }
149
534
  `;
150
535
  function NavHorizontal({
@@ -159,18 +544,16 @@ function NavHorizontal({
159
544
  ] }) });
160
545
  }
161
546
  NavHorizontal.displayName = "NavHorizontal";
162
- var NAV_BG2 = "#202225";
163
- var NAV_SEPARATOR = "#36393F";
164
- var Container2 = styled8__default.default.nav`
547
+ var Container2 = styled9__default.default.nav`
165
548
  position: absolute;
166
549
  top: 0;
167
550
  left: 0;
168
551
  bottom: 52px; /* Account for horizontal nav height */
169
552
  width: 72px;
170
- background-color: ${NAV_BG2};
553
+ background-color: ${tokens.colors.background.darker};
171
554
  display: flex;
172
555
  flex-direction: column;
173
- z-index: 9; /* Below horizontal nav and chat sidebar */
556
+ z-index: ${tokens.zIndex.base + 9}; /* Below horizontal nav and chat sidebar */
174
557
  overflow-y: auto;
175
558
  overflow-x: hidden;
176
559
  scrollbar-width: none; /* Firefox */
@@ -182,15 +565,15 @@ var Container2 = styled8__default.default.nav`
182
565
 
183
566
  /* Dark theme support */
184
567
  @media (prefers-color-scheme: dark) {
185
- background-color: #1a1b1e;
568
+ background-color: ${tokens.colors.background.darkest};
186
569
  }
187
570
 
188
571
  /* Responsive adjustments */
189
- @media (max-width: 768px) {
572
+ @media (max-width: ${tokens.breakpoints.tablet}px) {
190
573
  width: 60px; /* Match MainPane left offset on mobile */
191
574
  }
192
575
  `;
193
- var TopSection = styled8__default.default.div`
576
+ var TopSection = styled9__default.default.div`
194
577
  display: flex;
195
578
  flex-direction: column;
196
579
  align-items: center;
@@ -199,29 +582,29 @@ var TopSection = styled8__default.default.div`
199
582
  flex-shrink: 0;
200
583
  position: relative;
201
584
 
202
- @media (min-width: 768px) {
585
+ @media (min-width: ${tokens.breakpoints.tablet}px) {
203
586
  height: 64px; /* Same as PaneSectionHeader on desktop */
204
587
  }
205
588
  `;
206
- var BackButton = styled8__default.default.button`
589
+ var BackButton = styled9__default.default.button`
207
590
  position: absolute;
208
591
  top: 50%;
209
592
  left: 50%;
210
593
  transform: translate(-50%, -50%);
211
594
  width: 40px;
212
595
  height: 40px;
213
- border-radius: 50%;
596
+ border-radius: ${tokens.borderRadius.full};
214
597
  border: none;
215
- background-color: ${NAV_SEPARATOR};
216
- color: #ffffff;
598
+ background-color: ${tokens.colors.background.light};
599
+ color: ${tokens.colors.text.primary};
217
600
  cursor: pointer;
218
601
  display: flex;
219
602
  align-items: center;
220
603
  justify-content: center;
221
- transition: all 0.2s ease-in-out;
604
+ transition: all ${tokens.transitions.normal};
222
605
 
223
606
  &:hover {
224
- background-color: #5865F2;
607
+ background-color: ${tokens.colors.primary};
225
608
  }
226
609
 
227
610
  &:active {
@@ -233,47 +616,47 @@ var BackButton = styled8__default.default.button`
233
616
  }
234
617
 
235
618
  &:focus-visible {
236
- outline: 2px solid #5865F2;
619
+ outline: 2px solid ${tokens.colors.border.focus};
237
620
  outline-offset: 2px;
238
621
  }
239
622
  `;
240
- styled8__default.default.span`
241
- font-size: 20px;
242
- line-height: 1;
243
- font-weight: bold;
623
+ styled9__default.default.span`
624
+ font-size: ${tokens.typography.fontSize.xl};
625
+ line-height: ${tokens.typography.lineHeight.tight};
626
+ font-weight: ${tokens.typography.fontWeight.bold};
244
627
  `;
245
- var Separator = styled8__default.default.div`
628
+ var Separator = styled9__default.default.div`
246
629
  width: 32px;
247
630
  height: 2px;
248
- background-color: ${NAV_SEPARATOR};
631
+ background-color: ${tokens.colors.background.light};
249
632
  align-self: center;
250
- margin: 8px auto 12px;
633
+ margin: ${tokens.spacing.sm} auto ${tokens.spacing.md};
251
634
  border-radius: 1px;
252
635
  `;
253
- var FolderGroupsSlot = styled8__default.default.div`
636
+ var FolderGroupsSlot = styled9__default.default.div`
254
637
  display: flex;
255
638
  flex-direction: column;
256
639
  align-items: center;
257
- gap: 8px;
258
- padding: 0 12px 12px;
640
+ gap: ${tokens.spacing.sm};
641
+ padding: 0 ${tokens.spacing.md} ${tokens.spacing.md};
259
642
  flex: 1;
260
643
 
261
644
  /* Server/workspace icons styling */
262
645
  > * {
263
646
  width: 48px;
264
647
  height: 48px;
265
- border-radius: 50%;
266
- transition: border-radius 0.15s ease-out;
648
+ border-radius: ${tokens.borderRadius.full};
649
+ transition: border-radius ${tokens.transitions.fast};
267
650
  cursor: pointer;
268
651
 
269
652
  &:hover {
270
- border-radius: 16px;
653
+ border-radius: ${tokens.borderRadius.xl};
271
654
  }
272
655
  }
273
656
 
274
657
  /* Responsive adjustments */
275
- @media (max-width: 768px) {
276
- padding: 0 6px 12px; /* Reduce horizontal padding on mobile */
658
+ @media (max-width: ${tokens.breakpoints.tablet}px) {
659
+ padding: 0 6px ${tokens.spacing.md}; /* Reduce horizontal padding on mobile */
277
660
  }
278
661
  `;
279
662
  function NavVertical({
@@ -306,27 +689,66 @@ function NavVertical({
306
689
  ] });
307
690
  }
308
691
  NavVertical.displayName = "NavVertical";
309
- var Container3 = styled8__default.default.div`
692
+ var Container3 = styled9__default.default.div`
310
693
  position: relative;
311
694
  width: 100%;
312
695
  height: 100vh;
313
- background-color: rgba(255, 255, 255, 0.03);
696
+ background-color: ${tokens.colors.surface.subtle};
314
697
  overflow: hidden;
315
698
 
316
699
  /* Ensure content is clipped on mobile */
317
- @media (max-width: 768px) {
700
+ @media (max-width: ${tokens.breakpoints.tablet}px) {
318
701
  overflow: hidden;
319
702
  position: relative;
320
703
  }
321
704
  `;
322
- var MainPane = styled8__default.default.main`
705
+ var BackgroundPane = styled9__default.default.div`
706
+ position: absolute;
707
+ top: 0;
708
+ left: 72px; /* Width of vertical nav */
709
+ right: 0;
710
+ bottom: 52px; /* Height of horizontal nav */
711
+ background-color: transparent;
712
+ overflow: auto;
713
+ z-index: ${tokens.zIndex.base}; /* Lower than MainPane */
714
+
715
+ /* Custom scrollbar styling */
716
+ &::-webkit-scrollbar {
717
+ width: 8px;
718
+ height: 8px;
719
+ }
720
+
721
+ &::-webkit-scrollbar-track {
722
+ background: ${tokens.colors.scrollbar.track};
723
+ }
724
+
725
+ &::-webkit-scrollbar-thumb {
726
+ background-color: ${tokens.colors.scrollbar.thumb};
727
+ border-radius: ${tokens.borderRadius.sm};
728
+ }
729
+
730
+ &::-webkit-scrollbar-thumb:hover {
731
+ background-color: ${tokens.colors.scrollbar.thumbHover};
732
+ }
733
+
734
+ /* Firefox scrollbar */
735
+ scrollbar-width: thin;
736
+ scrollbar-color: ${tokens.colors.scrollbar.thumb} transparent;
737
+
738
+ /* Responsive adjustments */
739
+ @media (max-width: ${tokens.breakpoints.tablet}px) {
740
+ left: 60px; /* Smaller nav on mobile */
741
+ }
742
+ `;
743
+ var MainPane = styled9__default.default.main`
323
744
  position: absolute;
324
745
  top: 0;
325
746
  left: 72px; /* Width of vertical nav */
326
747
  right: 0;
327
748
  bottom: 52px; /* Height of horizontal nav */
328
- background-color: rgba(255, 255, 255, 0.05);
749
+ background-color: ${tokens.colors.surface.overlay};
329
750
  overflow: auto;
751
+ z-index: ${tokens.zIndex.base + 1}; /* Higher than BackgroundPane */
330
752
 
331
753
  /* Custom scrollbar styling */
332
754
  &::-webkit-scrollbar {
@@ -335,29 +757,30 @@ var MainPane = styled8__default.default.main`
335
757
  }
336
758
 
337
759
  &::-webkit-scrollbar-track {
338
- background: transparent;
760
+ background: ${tokens.colors.scrollbar.track};
339
761
  }
340
762
 
341
763
  &::-webkit-scrollbar-thumb {
342
- background-color: #202225;
343
- border-radius: 4px;
764
+ background-color: ${tokens.colors.scrollbar.thumb};
765
+ border-radius: ${tokens.borderRadius.sm};
344
766
  }
345
767
 
346
768
  &::-webkit-scrollbar-thumb:hover {
347
- background-color: #18191c;
769
+ background-color: ${tokens.colors.scrollbar.thumbHover};
348
770
  }
349
771
 
350
772
  /* Firefox scrollbar */
351
773
  scrollbar-width: thin;
352
- scrollbar-color: #202225 transparent;
774
+ scrollbar-color: ${tokens.colors.scrollbar.thumb} transparent;
353
775
 
354
776
  /* Responsive adjustments */
355
- @media (max-width: 768px) {
777
+ @media (max-width: ${tokens.breakpoints.tablet}px) {
356
778
  left: 60px; /* Smaller nav on mobile */
357
779
  }
358
780
  `;
359
781
  function Layout({
360
782
  mainPaneSlot,
783
+ backgroundSlot,
361
784
  navVerticalSlot,
362
785
  navHorizontalUserSlot,
363
786
  navHorizontalActionsSlot,
@@ -366,6 +789,7 @@ function Layout({
366
789
  }) {
367
790
  return /* @__PURE__ */ jsxRuntime.jsxs(Container3, { className, children: [
368
791
  /* @__PURE__ */ jsxRuntime.jsx(NavVertical, { folderGroupsSlot: navVerticalSlot, onBackClick: onNavBackClick }),
792
+ backgroundSlot && /* @__PURE__ */ jsxRuntime.jsx(BackgroundPane, { children: backgroundSlot }),
369
793
  /* @__PURE__ */ jsxRuntime.jsx(MainPane, { children: mainPaneSlot }),
370
794
  /* @__PURE__ */ jsxRuntime.jsx(
371
795
  NavHorizontal,
@@ -377,45 +801,45 @@ function Layout({
377
801
  ] });
378
802
  }
379
803
  Layout.displayName = "Layout";
380
- var Container4 = styled8__default.default.div`
804
+ var Container4 = styled9__default.default.div`
381
805
  display: flex;
382
806
  align-items: center;
383
807
  justify-content: flex-end;
384
- gap: 4px;
808
+ gap: ${tokens.spacing.xs};
385
809
  `;
386
- var ActionButton = styled8__default.default.button`
810
+ var ActionButton = styled9__default.default.button`
387
811
  width: ${({ $size = 32 }) => $size}px;
388
812
  height: ${({ $size = 32 }) => $size}px;
389
813
  min-width: ${({ $size = 32 }) => $size}px;
390
814
  min-height: ${({ $size = 32 }) => $size}px;
391
- border-radius: ${({ $isPrimary }) => $isPrimary ? "50%" : "4px"};
815
+ border-radius: ${({ $isPrimary }) => $isPrimary ? tokens.borderRadius.full : tokens.borderRadius.sm};
392
816
  border: none;
393
- background-color: ${({ $isPrimary }) => $isPrimary ? "#5865F2" : "transparent"};
394
- color: ${({ $isPrimary }) => $isPrimary ? "#FFFFFF" : "#b9bbbe"};
817
+ background-color: ${({ $isPrimary }) => $isPrimary ? tokens.colors.primary : "transparent"};
818
+ color: ${({ $isPrimary }) => $isPrimary ? tokens.colors.text.primary : tokens.colors.text.secondary};
395
819
  cursor: pointer;
396
820
  display: flex;
397
821
  align-items: center;
398
822
  justify-content: center;
399
- transition: all 0.15s ease;
400
- font-size: 16px;
823
+ transition: all ${tokens.transitions.fast};
824
+ font-size: ${tokens.typography.fontSize.base};
401
825
 
402
826
  &:hover {
403
- background-color: ${({ $isPrimary }) => $isPrimary ? "#4752C4" : "rgba(255, 255, 255, 0.1)"};
404
- color: ${({ $isPrimary }) => $isPrimary ? "#FFFFFF" : "#dcddde"};
827
+ background-color: ${({ $isPrimary }) => $isPrimary ? tokens.colors.secondary : tokens.colors.surface.overlayHover};
828
+ color: ${({ $isPrimary }) => $isPrimary ? tokens.colors.text.primary : tokens.colors.text.primary};
405
829
  }
406
830
 
407
831
  &:active {
408
832
  transform: scale(0.95);
409
833
  }
410
834
 
411
- ${({ $isActive, $isPrimary }) => $isActive && !$isPrimary && styled8.css`
412
- background-color: rgba(255, 255, 255, 0.08);
413
- color: #ffffff;
835
+ ${({ $isActive, $isPrimary }) => $isActive && !$isPrimary && styled9.css`
836
+ background-color: ${tokens.colors.surface.overlay};
837
+ color: ${tokens.colors.text.primary};
414
838
  `}
415
839
 
416
- ${({ $isActive, $isPrimary }) => $isActive && $isPrimary && styled8.css`
417
- background-color: #4752C4;
418
- color: #ffffff;
840
+ ${({ $isActive, $isPrimary }) => $isActive && $isPrimary && styled9.css`
841
+ background-color: ${tokens.colors.secondary};
842
+ color: ${tokens.colors.text.primary};
419
843
  `}
420
844
 
421
845
  &:focus {
@@ -423,7 +847,7 @@ var ActionButton = styled8__default.default.button`
423
847
  }
424
848
 
425
849
  &:focus-visible {
426
- outline: 2px solid #5865f2;
850
+ outline: 2px solid ${tokens.colors.border.focus};
427
851
  outline-offset: 2px;
428
852
  }
429
853
  `;
@@ -462,7 +886,7 @@ function ActionButtons({
462
886
  /* @__PURE__ */ jsxRuntime.jsx(
463
887
  ActionButtonItem,
464
888
  {
465
- icon: /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "calendar-fill", size: 16, color: "#b9bbbe" }),
889
+ icon: /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "calendar-fill", size: 16, color: tokens.colors.text.secondary }),
466
890
  label: "Calendar",
467
891
  onClick: onCalendarClick,
468
892
  isActive: isCalendarActive,
@@ -472,7 +896,7 @@ function ActionButtons({
472
896
  /* @__PURE__ */ jsxRuntime.jsx(
473
897
  ActionButtonItem,
474
898
  {
475
- icon: /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "settings-3-fill", size: 16, color: "#b9bbbe" }),
899
+ icon: /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "settings-3-fill", size: 16, color: tokens.colors.text.secondary }),
476
900
  label: "Settings",
477
901
  onClick: onSettingsClick,
478
902
  isActive: isSettingsActive,
@@ -482,7 +906,7 @@ function ActionButtons({
482
906
  /* @__PURE__ */ jsxRuntime.jsx(
483
907
  ActionButtonItem,
484
908
  {
485
- icon: /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "chat-1-fill", size: 16, color: "#b9bbbe" }),
909
+ icon: /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "chat-1-fill", size: 16, color: tokens.colors.text.secondary }),
486
910
  label: "Chat",
487
911
  onClick: onChatClick,
488
912
  isActive: isChatActive,
@@ -493,93 +917,91 @@ function ActionButtons({
493
917
  }
494
918
  ActionButtons.displayName = "ActionButtons";
495
919
  var statusColors = {
496
- online: "#43B581",
497
- idle: "#FAA61A",
498
- busy: "#F04747",
499
- offline: "#747F8D"
920
+ online: tokens.colors.status.online,
921
+ idle: tokens.colors.status.idle,
922
+ busy: tokens.colors.status.busy,
923
+ offline: tokens.colors.status.offline
500
924
  };
501
- var Container5 = styled8__default.default.button`
502
- display: flex;
925
+ var Container5 = styled9__default.default.button`
926
+ display: grid;
927
+ grid-template-columns: auto 1fr;
503
928
  align-items: center;
504
- gap: 8px;
505
- padding: 4px 6px;
506
- border-radius: 4px;
929
+ gap: ${tokens.spacing.sm};
930
+ padding: ${tokens.spacing.sm};
931
+ border-radius: ${tokens.borderRadius.md};
507
932
  border: none;
508
- background: transparent;
933
+ background: ${tokens.colors.surface.subtle};
509
934
  color: inherit;
510
- font: inherit;
511
- transition: background-color 0.2s ease, opacity 0.2s ease;
935
+ font-family: ${tokens.typography.fontFamily.primary};
936
+ transition: background-color ${tokens.transitions.fast}, opacity ${tokens.transitions.fast};
512
937
  cursor: ${(props) => props.$isDisabled ? "not-allowed" : "pointer"};
513
938
  opacity: ${(props) => props.$isDisabled ? 0.5 : 1};
514
939
  text-align: left;
515
940
  width: 100%;
516
941
 
517
942
  &:hover:not(:disabled) {
518
- background-color: rgba(255, 255, 255, 0.05);
943
+ background-color: ${tokens.colors.surface.overlay};
519
944
  }
520
945
 
521
946
  &:focus-visible {
522
- outline: 2px solid #5865F2;
947
+ outline: 2px solid ${tokens.colors.border.focus};
523
948
  outline-offset: 2px;
524
949
  }
525
950
 
526
951
  &:active:not(:disabled) {
527
- background-color: rgba(255, 255, 255, 0.08);
952
+ background-color: ${tokens.colors.surface.overlayActive};
528
953
  }
529
954
  `;
530
- var IconWrapper2 = styled8__default.default.div`
955
+ var IconWrapper2 = styled9__default.default.div`
531
956
  position: relative;
532
- width: 32px;
533
- height: 32px;
534
- border-radius: 8px;
535
- background-color: #36393f;
957
+ width: 36px;
958
+ height: 36px;
959
+ border-radius: ${tokens.borderRadius.md};
960
+ background-color: ${tokens.colors.background.light};
536
961
  display: flex;
537
962
  align-items: center;
538
963
  justify-content: center;
539
964
  flex-shrink: 0;
540
- overflow: hidden;
541
965
  `;
542
- var WorkflowInfo = styled8__default.default.div`
966
+ var WorkflowInfo = styled9__default.default.div`
543
967
  display: flex;
544
968
  flex-direction: column;
969
+ gap: ${tokens.spacing.xs};
545
970
  min-width: 0;
546
971
  `;
547
- var WorkflowName = styled8__default.default.span`
548
- color: #ffffff;
549
- font-size: 13px;
550
- font-weight: 600;
551
- line-height: 1.2;
972
+ var WorkflowName = styled9__default.default.span`
973
+ color: ${tokens.colors.text.primary};
974
+ font-size: ${tokens.typography.fontSize.sm};
975
+ font-weight: ${tokens.typography.fontWeight.semibold};
976
+ line-height: ${tokens.typography.lineHeight.tight};
552
977
  overflow: hidden;
553
978
  text-overflow: ellipsis;
554
979
  white-space: nowrap;
555
980
  `;
556
- var WorkflowStatus = styled8__default.default.div`
557
- display: flex;
558
- align-items: center;
559
- gap: 4px;
560
- color: #b9bbbe;
561
- font-size: 11px;
562
- line-height: 1.2;
981
+ var WorkflowStatus = styled9__default.default.span`
982
+ color: ${tokens.colors.text.tertiary};
983
+ font-size: ${tokens.typography.fontSize.xs};
984
+ font-weight: ${tokens.typography.fontWeight.regular};
985
+ line-height: ${tokens.typography.lineHeight.tight};
986
+ text-transform: capitalize;
563
987
  `;
564
- var StatusIndicatorOuter = styled8__default.default.span`
988
+ var StatusIndicatorOuter = styled9__default.default.span`
565
989
  position: absolute;
566
990
  bottom: -2px;
567
991
  right: -2px;
568
- width: 10px;
569
- height: 10px;
570
- border-radius: 50%;
571
- background-color: #232428;
992
+ width: 12px;
993
+ height: 12px;
994
+ border-radius: ${tokens.borderRadius.full};
995
+ background-color: ${tokens.colors.background.darker};
572
996
  display: flex;
573
997
  align-items: center;
574
998
  justify-content: center;
575
- flex-shrink: 0;
576
999
  `;
577
- var StatusIndicatorInner = styled8__default.default.span`
578
- width: 6px;
579
- height: 6px;
580
- border-radius: 50%;
1000
+ var StatusIndicatorInner = styled9__default.default.span`
1001
+ width: 8px;
1002
+ height: 8px;
1003
+ border-radius: ${tokens.borderRadius.full};
581
1004
  background-color: ${({ $status }) => statusColors[$status]};
582
- flex-shrink: 0;
583
1005
  `;
584
1006
  function WorkflowStatusCard({
585
1007
  icon,
@@ -619,55 +1041,49 @@ function WorkflowStatusCard({
619
1041
  ] });
620
1042
  }
621
1043
  WorkflowStatusCard.displayName = "WorkflowStatusCard";
622
- var BG_TERTIARY = "#36393F";
623
- var TEXT_PRIMARY = "#FFFFFF";
624
- var TEXT_SECONDARY = "#B9BBBE";
625
- var TEXT_MUTED = "#72767D";
626
- var ACCENT_COLOR = "#5865F2";
627
- var HOVER_BG = "rgba(255, 255, 255, 0.05)";
628
- var DarkNotificationCardContainer = styled8__default.default.div`
1044
+ var DarkNotificationCardContainer = styled9__default.default.div`
629
1045
  display: flex;
630
1046
  flex-direction: column;
631
1047
  padding: 6px;
632
- background: ${BG_TERTIARY};
633
- border-radius: 8px;
634
- gap: 4px;
1048
+ background: ${tokens.colors.surface.base};
1049
+ border-radius: ${tokens.borderRadius.md};
1050
+ gap: ${tokens.spacing.xs};
635
1051
  flex: 1;
636
1052
  min-width: 0;
637
1053
  overflow: hidden;
638
1054
  `;
639
- var DarkSectionHeader = styled8__default.default.button`
1055
+ var DarkSectionHeader = styled9__default.default.button`
640
1056
  display: flex;
641
1057
  align-items: center;
642
1058
  justify-content: space-between;
643
1059
  width: 100%;
644
- padding: 4px 2px;
1060
+ padding: ${tokens.spacing.xs} 2px;
645
1061
  border: none;
646
1062
  background: transparent;
647
- font-family: ${(props) => props.theme?.fonts?.body || "system-ui, sans-serif"};
1063
+ font-family: ${tokens.typography.fontFamily.primary};
648
1064
  font-size: 11px;
649
- font-weight: 600;
650
- color: ${TEXT_SECONDARY};
1065
+ font-weight: ${tokens.typography.fontWeight.semibold};
1066
+ color: ${tokens.colors.text.secondary};
651
1067
  text-align: left;
652
1068
  cursor: pointer;
653
- transition: all 0.2s ease;
1069
+ transition: all ${tokens.transitions.normal};
654
1070
 
655
1071
  &:hover {
656
- color: ${TEXT_PRIMARY};
1072
+ color: ${tokens.colors.text.primary};
657
1073
  }
658
1074
 
659
1075
  &:focus-visible {
660
- outline: 2px solid ${ACCENT_COLOR};
1076
+ outline: 2px solid ${tokens.colors.primary};
661
1077
  outline-offset: 2px;
662
- border-radius: 4px;
1078
+ border-radius: ${tokens.borderRadius.sm};
663
1079
  }
664
1080
  `;
665
- var DarkChevronIcon = styled8__default.default.span`
1081
+ var DarkChevronIcon = styled9__default.default.span`
666
1082
  display: inline-flex;
667
1083
  align-items: center;
668
1084
  justify-content: center;
669
- transition: transform 0.2s ease;
670
- color: ${TEXT_MUTED};
1085
+ transition: transform ${tokens.transitions.normal};
1086
+ color: ${tokens.colors.text.tertiary};
671
1087
 
672
1088
  ${(props) => props.$isExpanded ? `
673
1089
  transform: rotate(0deg);
@@ -680,35 +1096,35 @@ var DarkChevronIcon = styled8__default.default.span`
680
1096
  height: 12px;
681
1097
  }
682
1098
  `;
683
- var DarkSectionContent = styled8__default.default.div`
1099
+ var DarkSectionContent = styled9__default.default.div`
684
1100
  display: flex;
685
1101
  flex-direction: column;
686
1102
  gap: 2px;
687
- padding-left: 4px;
1103
+ padding-left: ${tokens.spacing.xs};
688
1104
  margin-top: 2px;
689
1105
  min-width: 0;
690
1106
  overflow: hidden;
691
1107
  `;
692
- var DarkNotificationItemWrapper = styled8__default.default.button`
1108
+ var DarkNotificationItemWrapper = styled9__default.default.button`
693
1109
  display: flex;
694
1110
  align-items: center;
695
1111
  gap: 6px;
696
1112
  width: 100%;
697
- padding: 4px 6px;
1113
+ padding: ${tokens.spacing.xs} 6px;
698
1114
  border: none;
699
1115
  cursor: pointer;
700
1116
  text-align: left;
701
- transition: all 0.2s ease;
702
- border-radius: 4px;
1117
+ transition: all ${tokens.transitions.normal};
1118
+ border-radius: ${tokens.borderRadius.sm};
703
1119
  min-width: 0;
704
1120
  overflow: hidden;
705
1121
 
706
1122
  /* Default state - transparent background */
707
- background-color: ${(props) => props.$isSelected ? ACCENT_COLOR : "transparent"};
1123
+ background-color: ${(props) => props.$isSelected ? tokens.colors.primary : "transparent"};
708
1124
 
709
1125
  /* Hover state */
710
1126
  &:hover:not(:disabled) {
711
- background-color: ${(props) => props.$isSelected ? "#4752C4" : HOVER_BG};
1127
+ background-color: ${(props) => props.$isSelected ? tokens.colors.accent : tokens.colors.surface.overlay};
712
1128
  }
713
1129
 
714
1130
  /* Active state */
@@ -718,7 +1134,7 @@ var DarkNotificationItemWrapper = styled8__default.default.button`
718
1134
 
719
1135
  /* Focus state */
720
1136
  &:focus-visible {
721
- outline: 2px solid ${ACCENT_COLOR};
1137
+ outline: 2px solid ${tokens.colors.primary};
722
1138
  outline-offset: 2px;
723
1139
  }
724
1140
 
@@ -728,17 +1144,17 @@ var DarkNotificationItemWrapper = styled8__default.default.button`
728
1144
  opacity: 0.5;
729
1145
  }
730
1146
  `;
731
- var DarkItemIcon = styled8__default.default.span`
1147
+ var DarkItemIcon = styled9__default.default.span`
732
1148
  display: inline-flex;
733
1149
  align-items: center;
734
1150
  justify-content: center;
735
1151
  width: 16px;
736
1152
  height: 16px;
737
1153
  flex-shrink: 0;
738
- border-radius: ${(props) => props.$hasCustomIcon ? "4px" : "50%"};
1154
+ border-radius: ${(props) => props.$hasCustomIcon ? tokens.borderRadius.sm : tokens.borderRadius.full};
739
1155
  background-color: ${(props) => props.$iconColor || "transparent"};
740
- color: ${(props) => props.$hasCustomIcon ? TEXT_PRIMARY : TEXT_MUTED};
741
- font-size: 12px;
1156
+ color: ${(props) => props.$hasCustomIcon ? tokens.colors.text.primary : tokens.colors.text.tertiary};
1157
+ font-size: ${tokens.typography.fontSize.xs};
742
1158
 
743
1159
  /* Default circle icon styling */
744
1160
  ${(props) => !props.$hasCustomIcon && `
@@ -753,19 +1169,19 @@ var DarkItemIcon = styled8__default.default.span`
753
1169
  padding: 2px;
754
1170
  `}
755
1171
  `;
756
- var DarkItemText = styled8__default.default.span`
1172
+ var DarkItemText = styled9__default.default.span`
757
1173
  flex: 1;
758
- font-family: ${(props) => props.theme?.fonts?.body || "system-ui, sans-serif"};
1174
+ font-family: ${tokens.typography.fontFamily.primary};
759
1175
  font-size: 11px;
760
- font-weight: ${(props) => props.$isSelected ? "500" : "400"};
761
- color: ${(props) => props.$isSelected ? TEXT_PRIMARY : TEXT_SECONDARY};
762
- line-height: 1.3;
1176
+ font-weight: ${(props) => props.$isSelected ? tokens.typography.fontWeight.medium : tokens.typography.fontWeight.regular};
1177
+ color: ${(props) => props.$isSelected ? tokens.colors.text.primary : tokens.colors.text.secondary};
1178
+ line-height: ${tokens.typography.lineHeight.tight};
763
1179
  word-wrap: break-word;
764
1180
  min-width: 0;
765
1181
  overflow: hidden;
766
1182
  text-overflow: ellipsis;
767
1183
  `;
768
- var DarkMenuButton = styled8__default.default.button`
1184
+ var DarkMenuButton = styled9__default.default.button`
769
1185
  display: inline-flex;
770
1186
  align-items: center;
771
1187
  justify-content: center;
@@ -773,24 +1189,24 @@ var DarkMenuButton = styled8__default.default.button`
773
1189
  height: 20px;
774
1190
  padding: 0;
775
1191
  border: none;
776
- border-radius: 4px;
1192
+ border-radius: ${tokens.borderRadius.sm};
777
1193
  background-color: transparent;
778
- color: ${TEXT_PRIMARY};
1194
+ color: ${tokens.colors.text.primary};
779
1195
  cursor: pointer;
780
- transition: all 0.2s ease;
1196
+ transition: all ${tokens.transitions.normal};
781
1197
  flex-shrink: 0;
782
1198
 
783
1199
  &:hover:not(:disabled) {
784
- background-color: rgba(255, 255, 255, 0.1);
1200
+ background-color: ${tokens.colors.surface.overlayHover};
785
1201
  }
786
1202
 
787
1203
  &:active:not(:disabled) {
788
- background-color: rgba(255, 255, 255, 0.15);
1204
+ background-color: ${tokens.colors.surface.overlayActive};
789
1205
  transform: scale(0.95);
790
1206
  }
791
1207
 
792
1208
  &:focus-visible {
793
- outline: 2px solid ${ACCENT_COLOR};
1209
+ outline: 2px solid ${tokens.colors.primary};
794
1210
  outline-offset: 2px;
795
1211
  }
796
1212
 
@@ -799,9 +1215,9 @@ var DarkMenuButton = styled8__default.default.button`
799
1215
  height: 14px;
800
1216
  }
801
1217
  `;
802
- var DarkTimestamp = styled8__default.default.span`
1218
+ var DarkTimestamp = styled9__default.default.span`
803
1219
  font-size: 10px;
804
- color: ${TEXT_MUTED};
1220
+ color: ${tokens.colors.text.tertiary};
805
1221
  white-space: normal;
806
1222
  word-wrap: break-word;
807
1223
  text-align: right;
@@ -984,30 +1400,22 @@ var DarkNotificationItemComponent = ({
984
1400
  );
985
1401
  };
986
1402
  DarkNotificationCard.displayName = "DarkNotificationCard";
987
- var BG_PRIMARY = "#2F3136";
988
- var BG_SECONDARY = "#202225";
989
- var BG_TERTIARY2 = "#36393F";
990
- var TEXT_PRIMARY2 = "#FFFFFF";
991
- var TEXT_SECONDARY2 = "#B9BBBE";
992
- var TEXT_MUTED2 = "#72767D";
993
- var ACCENT_COLOR2 = "#5865F2";
994
- var HOVER_BG2 = "rgba(255, 255, 255, 0.05)";
995
- var Container6 = styled8__default.default.div`
1403
+ var Container6 = styled9__default.default.div`
996
1404
  width: 100%;
997
1405
  height: 100%;
998
1406
  background-color: transparent;
999
- color: ${TEXT_PRIMARY2};
1407
+ color: ${tokens.colors.text.primary};
1000
1408
  display: flex;
1001
1409
  flex-direction: column;
1002
- font-family: ${(props) => props.theme?.fonts?.body || "system-ui, sans-serif"};
1410
+ font-family: ${tokens.typography.fontFamily.primary};
1003
1411
  overflow: hidden; // Prevent content from escaping container bounds
1004
1412
  `;
1005
- var TabListWrapper = styled8__default.default.div`
1413
+ var TabListWrapper = styled9__default.default.div`
1006
1414
  display: flex;
1007
- border-bottom: 2px solid rgba(255, 255, 255, 0.1);
1008
- background-color: rgba(255, 255, 255, 0.03);
1009
- padding: 0 16px;
1010
- gap: 8px;
1415
+ border-bottom: 2px solid ${tokens.colors.border.default};
1416
+ background-color: ${tokens.colors.surface.subtle};
1417
+ padding: 0 ${tokens.spacing.md};
1418
+ gap: ${tokens.spacing.sm};
1011
1419
  overflow-x: auto;
1012
1420
  scrollbar-width: none;
1013
1421
  -ms-overflow-style: none;
@@ -1017,31 +1425,31 @@ var TabListWrapper = styled8__default.default.div`
1017
1425
  display: none;
1018
1426
  }
1019
1427
 
1020
- @media (max-width: 640px) {
1021
- padding: 0 8px;
1022
- gap: 4px;
1428
+ @media (max-width: ${tokens.breakpoints.mobile}px) {
1429
+ padding: 0 ${tokens.spacing.sm};
1430
+ gap: ${tokens.spacing.xs};
1023
1431
  }
1024
1432
  `;
1025
- var TabButton = styled8__default.default.button`
1026
- padding: 12px 20px;
1433
+ var TabButton = styled9__default.default.button`
1434
+ padding: ${tokens.spacing.md} ${tokens.spacing.lg};
1027
1435
  background: none;
1028
1436
  border: none;
1029
- color: ${(props) => props.$isSelected ? TEXT_PRIMARY2 : TEXT_SECONDARY2};
1030
- font-size: 14px;
1031
- font-weight: 600;
1437
+ color: ${(props) => props.$isSelected ? tokens.colors.text.primary : tokens.colors.text.secondary};
1438
+ font-size: ${tokens.typography.fontSize.sm};
1439
+ font-weight: ${tokens.typography.fontWeight.semibold};
1032
1440
  cursor: pointer;
1033
1441
  position: relative;
1034
- transition: color 0.2s ease;
1442
+ transition: color ${tokens.transitions.normal};
1035
1443
  white-space: nowrap;
1036
1444
  flex-shrink: 0;
1037
1445
 
1038
- @media (max-width: 640px) {
1039
- padding: 10px 12px;
1040
- font-size: 12px;
1446
+ @media (max-width: ${tokens.breakpoints.mobile}px) {
1447
+ padding: 10px ${tokens.spacing.md};
1448
+ font-size: ${tokens.typography.fontSize.xs};
1041
1449
  }
1042
1450
 
1043
1451
  &:hover {
1044
- color: ${TEXT_PRIMARY2};
1452
+ color: ${tokens.colors.text.primary};
1045
1453
  }
1046
1454
 
1047
1455
  &:focus {
@@ -1049,9 +1457,9 @@ var TabButton = styled8__default.default.button`
1049
1457
  }
1050
1458
 
1051
1459
  &:focus-visible {
1052
- outline: 2px solid ${ACCENT_COLOR2};
1460
+ outline: 2px solid ${tokens.colors.border.focus};
1053
1461
  outline-offset: -2px;
1054
- border-radius: 4px;
1462
+ border-radius: ${tokens.borderRadius.sm};
1055
1463
  }
1056
1464
 
1057
1465
  ${(props) => props.$isSelected && `
@@ -1062,86 +1470,86 @@ var TabButton = styled8__default.default.button`
1062
1470
  left: 0;
1063
1471
  right: 0;
1064
1472
  height: 2px;
1065
- background-color: ${ACCENT_COLOR2};
1473
+ background-color: ${tokens.colors.primary};
1066
1474
  }
1067
1475
  `}
1068
1476
  `;
1069
- var TabPanelWrapper = styled8__default.default.div`
1477
+ var TabPanelWrapper = styled9__default.default.div`
1070
1478
  flex: 1;
1071
- padding: 24px;
1479
+ padding: ${tokens.spacing.lg};
1072
1480
  overflow-y: auto;
1073
1481
  overflow-x: hidden; // Prevent horizontal overflow
1074
- background-color: rgba(255, 255, 255, 0.05);
1482
+ background-color: ${tokens.colors.surface.overlay};
1075
1483
  min-height: 0; // Enable proper flex shrinking and scrolling
1076
1484
 
1077
- @media (max-width: 640px) {
1078
- padding: 16px;
1485
+ @media (max-width: ${tokens.breakpoints.mobile}px) {
1486
+ padding: ${tokens.spacing.md};
1079
1487
  }
1080
1488
 
1081
1489
  @media (max-width: 480px) {
1082
- padding: 12px;
1490
+ padding: ${tokens.spacing.md};
1083
1491
  }
1084
1492
 
1085
1493
  /* Custom scrollbar */
1086
1494
  scrollbar-width: thin;
1087
- scrollbar-color: ${BG_TERTIARY2} ${BG_PRIMARY};
1495
+ scrollbar-color: ${tokens.colors.scrollbar.thumb} ${tokens.colors.scrollbar.track};
1088
1496
 
1089
1497
  &::-webkit-scrollbar {
1090
1498
  width: 8px;
1091
1499
  }
1092
1500
 
1093
1501
  &::-webkit-scrollbar-track {
1094
- background: ${BG_PRIMARY};
1502
+ background: ${tokens.colors.background.dark};
1095
1503
  }
1096
1504
 
1097
1505
  &::-webkit-scrollbar-thumb {
1098
- background: ${BG_TERTIARY2};
1099
- border-radius: 4px;
1506
+ background: ${tokens.colors.background.light};
1507
+ border-radius: ${tokens.borderRadius.sm};
1100
1508
  }
1101
1509
 
1102
1510
  &::-webkit-scrollbar-thumb:hover {
1103
- background: #4a4d52;
1511
+ background: ${tokens.colors.scrollbar.thumbHover};
1104
1512
  }
1105
1513
  `;
1106
- var RunsContainer = styled8__default.default.div`
1514
+ var RunsContainer = styled9__default.default.div`
1107
1515
  display: flex;
1108
1516
  flex-direction: column;
1109
- gap: 20px;
1517
+ gap: ${tokens.spacing.lg};
1110
1518
  width: 100%;
1111
1519
  flex: 1;
1112
1520
  min-width: 0;
1113
1521
  overflow: hidden;
1114
1522
 
1115
- @media (max-width: 640px) {
1116
- gap: 16px;
1523
+ @media (max-width: ${tokens.breakpoints.mobile}px) {
1524
+ gap: ${tokens.spacing.md};
1117
1525
  }
1118
1526
  `;
1119
- var BrowseButton = styled8__default.default.button`
1527
+ styled9__default.default.button`
1120
1528
  display: flex;
1121
1529
  align-items: center;
1122
- gap: 12px;
1530
+ gap: ${tokens.spacing.md};
1123
1531
  width: 100%;
1124
- padding: 12px 16px;
1125
- background-color: rgba(255, 255, 255, 0.05);
1126
- border: 1px solid rgba(255, 255, 255, 0.1);
1127
- border-radius: 8px;
1128
- color: ${TEXT_SECONDARY2};
1129
- font-size: 14px;
1130
- font-weight: 500;
1532
+ padding: ${tokens.spacing.md} ${tokens.spacing.md};
1533
+ background-color: ${tokens.colors.surface.overlay};
1534
+ border: 1px solid ${tokens.colors.border.default};
1535
+ border-radius: ${tokens.borderRadius.md};
1536
+ color: ${tokens.colors.text.secondary};
1537
+ font-size: ${tokens.typography.fontSize.sm};
1538
+ font-weight: ${tokens.typography.fontWeight.medium};
1131
1539
  cursor: pointer;
1132
- transition: all 0.2s ease;
1540
+ transition: all ${tokens.transitions.normal};
1133
1541
  white-space: nowrap;
1134
1542
  overflow: hidden;
1135
1543
 
1136
- @media (max-width: 640px) {
1137
- padding: 10px 12px;
1544
+ @media (max-width: ${tokens.breakpoints.mobile}px) {
1545
+ padding: 10px ${tokens.spacing.md};
1138
1546
  font-size: 13px;
1139
- gap: 8px;
1547
+ gap: ${tokens.spacing.sm};
1140
1548
  }
1141
1549
 
1142
1550
  &:hover {
1143
- background-color: ${HOVER_BG2};
1144
- color: ${TEXT_PRIMARY2};
1551
+ background-color: ${tokens.colors.surface.overlayHover};
1552
+ color: ${tokens.colors.text.primary};
1145
1553
  }
1146
1554
 
1147
1555
  &:focus {
@@ -1149,20 +1557,20 @@ var BrowseButton = styled8__default.default.button`
1149
1557
  }
1150
1558
 
1151
1559
  &:focus-visible {
1152
- outline: 2px solid ${ACCENT_COLOR2};
1560
+ outline: 2px solid ${tokens.colors.border.focus};
1153
1561
  outline-offset: 2px;
1154
1562
  }
1155
1563
  `;
1156
- var StyledDisclosureGroup = styled8__default.default(reactAriaComponents.DisclosureGroup)`
1564
+ var StyledDisclosureGroup = styled9__default.default(reactAriaComponents.DisclosureGroup)`
1157
1565
  display: flex;
1158
1566
  flex-direction: column;
1159
- gap: 8px;
1567
+ gap: ${tokens.spacing.sm};
1160
1568
  width: 100%;
1161
1569
  flex: 1;
1162
1570
  min-width: 0;
1163
1571
  overflow: hidden;
1164
1572
  `;
1165
- var CategoryDisclosure = styled8__default.default(reactAriaComponents.Disclosure)`
1573
+ var CategoryDisclosure = styled9__default.default(reactAriaComponents.Disclosure)`
1166
1574
  background-color: transparent;
1167
1575
  display: flex;
1168
1576
  flex-direction: column;
@@ -1180,24 +1588,24 @@ var CategoryDisclosure = styled8__default.default(reactAriaComponents.Disclosure
1180
1588
  cursor: not-allowed;
1181
1589
  }
1182
1590
  `;
1183
- var CategoryHeader = styled8__default.default(reactAriaComponents.Button)`
1591
+ var CategoryHeader = styled9__default.default(reactAriaComponents.Button)`
1184
1592
  width: 100%;
1185
- padding: 4px 0;
1593
+ padding: ${tokens.spacing.xs} 0;
1186
1594
  background: none;
1187
1595
  border: none;
1188
- color: ${TEXT_SECONDARY2};
1596
+ color: ${tokens.colors.text.secondary};
1189
1597
  display: flex;
1190
1598
  justify-content: space-between;
1191
1599
  align-items: center;
1192
1600
  cursor: pointer;
1193
- transition: color 0.2s ease;
1194
- font-size: 12px;
1195
- font-weight: 600;
1601
+ transition: color ${tokens.transitions.normal};
1602
+ font-size: ${tokens.typography.fontSize.xs};
1603
+ font-weight: ${tokens.typography.fontWeight.semibold};
1196
1604
  text-transform: uppercase;
1197
1605
  letter-spacing: 0.5px;
1198
1606
 
1199
1607
  &:hover {
1200
- color: ${TEXT_PRIMARY2};
1608
+ color: ${tokens.colors.text.primary};
1201
1609
  }
1202
1610
 
1203
1611
  &:focus {
@@ -1205,49 +1613,49 @@ var CategoryHeader = styled8__default.default(reactAriaComponents.Button)`
1205
1613
  }
1206
1614
 
1207
1615
  &[data-focus-visible] {
1208
- outline: 2px solid ${ACCENT_COLOR2};
1616
+ outline: 2px solid ${tokens.colors.border.focus};
1209
1617
  outline-offset: 2px;
1210
- border-radius: 4px;
1618
+ border-radius: ${tokens.borderRadius.sm};
1211
1619
  }
1212
1620
  `;
1213
- var CategoryTitle = styled8__default.default.div`
1621
+ var CategoryTitle = styled9__default.default.div`
1214
1622
  display: flex;
1215
1623
  align-items: center;
1216
- gap: 8px;
1624
+ gap: ${tokens.spacing.sm};
1217
1625
 
1218
- @media (max-width: 640px) {
1626
+ @media (max-width: ${tokens.breakpoints.mobile}px) {
1219
1627
  gap: 6px;
1220
1628
  }
1221
1629
  `;
1222
- styled8__default.default.img`
1630
+ styled9__default.default.img`
1223
1631
  width: 16px;
1224
1632
  height: 16px;
1225
1633
  opacity: 0.6;
1226
1634
  flex-shrink: 0;
1227
1635
 
1228
- @media (max-width: 640px) {
1636
+ @media (max-width: ${tokens.breakpoints.mobile}px) {
1229
1637
  width: 14px;
1230
1638
  height: 14px;
1231
1639
  }
1232
1640
  `;
1233
- var HashtagIcon = styled8__default.default.img`
1641
+ var HashtagIcon = styled9__default.default.img`
1234
1642
  width: 14px;
1235
1643
  height: 14px;
1236
1644
  opacity: 0.6;
1237
1645
  flex-shrink: 0;
1238
1646
 
1239
- @media (max-width: 640px) {
1647
+ @media (max-width: ${tokens.breakpoints.mobile}px) {
1240
1648
  width: 12px;
1241
1649
  height: 12px;
1242
1650
  }
1243
1651
  `;
1244
- var ChevronIcon = styled8__default.default.div`
1652
+ var ChevronIcon = styled9__default.default.div`
1245
1653
  display: flex;
1246
1654
  align-items: center;
1247
- transition: transform 0.2s ease;
1655
+ transition: transform ${tokens.transitions.normal};
1248
1656
  transform: ${(props) => props.$isExpanded ? "rotate(0deg)" : "rotate(-90deg)"};
1249
1657
  flex-shrink: 0;
1250
- margin-left: 4px;
1658
+ margin-left: ${tokens.spacing.xs};
1251
1659
 
1252
1660
  img {
1253
1661
  width: 16px;
@@ -1255,35 +1663,35 @@ var ChevronIcon = styled8__default.default.div`
1255
1663
  opacity: 0.6;
1256
1664
  }
1257
1665
 
1258
- @media (max-width: 640px) {
1666
+ @media (max-width: ${tokens.breakpoints.mobile}px) {
1259
1667
  img {
1260
1668
  width: 14px;
1261
1669
  height: 14px;
1262
1670
  }
1263
1671
  }
1264
1672
  `;
1265
- var CategoryDisclosurePanel = styled8__default.default(reactAriaComponents.DisclosurePanel)`
1673
+ var CategoryDisclosurePanel = styled9__default.default(reactAriaComponents.DisclosurePanel)`
1266
1674
  display: flex;
1267
1675
  flex-direction: column;
1268
1676
  gap: 2px;
1269
- padding-left: 4px;
1677
+ padding-left: ${tokens.spacing.xs};
1270
1678
  width: 100%;
1271
1679
  flex: 1;
1272
1680
  min-width: 0;
1273
1681
  overflow: hidden;
1274
1682
 
1275
- @media (max-width: 640px) {
1683
+ @media (max-width: ${tokens.breakpoints.mobile}px) {
1276
1684
  padding-left: 2px;
1277
1685
  }
1278
1686
 
1279
1687
  &[data-entering] {
1280
- animation: slideDown 0.2s ease;
1688
+ animation: slideDown ${tokens.transitions.normal};
1281
1689
  }
1282
1690
 
1283
1691
  @keyframes slideDown {
1284
1692
  from {
1285
1693
  opacity: 0;
1286
- transform: translateY(-8px);
1694
+ transform: translateY(-${tokens.spacing.sm});
1287
1695
  }
1288
1696
  to {
1289
1697
  opacity: 1;
@@ -1291,29 +1699,29 @@ var CategoryDisclosurePanel = styled8__default.default(reactAriaComponents.Discl
1291
1699
  }
1292
1700
  }
1293
1701
  `;
1294
- var ItemContainer = styled8__default.default.div`
1702
+ var ItemContainer = styled9__default.default.div`
1295
1703
  display: flex;
1296
1704
  align-items: center;
1297
- gap: 8px;
1298
- padding: 10px 8px; // Increased vertical padding from 4px to 10px for better breathing room
1299
- border-radius: 4px;
1705
+ gap: ${tokens.spacing.sm};
1706
+ padding: 10px ${tokens.spacing.sm}; // Increased vertical padding from 4px to 10px for better breathing room
1707
+ border-radius: ${tokens.borderRadius.sm};
1300
1708
  cursor: pointer;
1301
- transition: background-color 0.1s ease;
1709
+ transition: background-color ${tokens.transitions.fast};
1302
1710
  min-width: 0;
1303
1711
  overflow: hidden;
1304
1712
 
1305
- @media (max-width: 640px) {
1713
+ @media (max-width: ${tokens.breakpoints.mobile}px) {
1306
1714
  gap: 6px;
1307
- padding: 8px 6px; // Increased vertical padding from 4px to 8px for mobile
1715
+ padding: ${tokens.spacing.sm} 6px; // Increased vertical padding from 4px to 8px for mobile
1308
1716
  }
1309
1717
 
1310
1718
  &:hover {
1311
- background-color: ${HOVER_BG2};
1719
+ background-color: ${tokens.colors.surface.overlayHover};
1312
1720
  }
1313
1721
  `;
1314
- var ItemDisclosure = styled8__default.default(reactAriaComponents.Disclosure)`
1722
+ var ItemDisclosure = styled9__default.default(reactAriaComponents.Disclosure)`
1315
1723
  background-color: transparent;
1316
- margin-bottom: 4px;
1724
+ margin-bottom: ${tokens.spacing.xs};
1317
1725
  display: flex;
1318
1726
  flex-direction: column;
1319
1727
  width: 100%;
@@ -1322,51 +1730,51 @@ var ItemDisclosure = styled8__default.default(reactAriaComponents.Disclosure)`
1322
1730
  overflow: hidden;
1323
1731
 
1324
1732
  &[data-expanded] {
1325
- background-color: rgba(255, 255, 255, 0.05);
1326
- border-radius: 8px;
1733
+ background-color: ${tokens.colors.surface.overlay};
1734
+ border-radius: ${tokens.borderRadius.md};
1327
1735
  }
1328
1736
  `;
1329
- var ItemHeader = styled8__default.default(reactAriaComponents.Button)`
1737
+ var ItemHeader = styled9__default.default(reactAriaComponents.Button)`
1330
1738
  width: 100%;
1331
1739
  padding: 0;
1332
1740
  background: none;
1333
1741
  border: none;
1334
1742
  cursor: pointer;
1335
- transition: all 0.1s ease;
1743
+ transition: all ${tokens.transitions.fast};
1336
1744
 
1337
1745
  &:focus {
1338
1746
  outline: none;
1339
1747
  }
1340
1748
 
1341
1749
  &[data-focus-visible] {
1342
- outline: 2px solid ${ACCENT_COLOR2};
1750
+ outline: 2px solid ${tokens.colors.border.focus};
1343
1751
  outline-offset: 2px;
1344
- border-radius: 4px;
1752
+ border-radius: ${tokens.borderRadius.sm};
1345
1753
  }
1346
1754
  `;
1347
- var ItemDisclosurePanel = styled8__default.default(reactAriaComponents.DisclosurePanel)`
1755
+ var ItemDisclosurePanel = styled9__default.default(reactAriaComponents.DisclosurePanel)`
1348
1756
  padding: 6px;
1349
- background-color: rgba(0, 0, 0, 0.2);
1350
- border-radius: 0 0 8px 8px;
1351
- margin-top: -4px;
1757
+ background-color: ${tokens.colors.overlay};
1758
+ border-radius: 0 0 ${tokens.borderRadius.md} ${tokens.borderRadius.md};
1759
+ margin-top: -${tokens.spacing.xs};
1352
1760
  display: flex;
1353
1761
  flex-direction: column;
1354
1762
  flex: 1;
1355
1763
  min-width: 0;
1356
1764
  overflow: hidden;
1357
1765
 
1358
- @media (max-width: 640px) {
1766
+ @media (max-width: ${tokens.breakpoints.mobile}px) {
1359
1767
  padding: 6px;
1360
1768
  }
1361
1769
 
1362
1770
  &[data-entering] {
1363
- animation: slideDown 0.2s ease;
1771
+ animation: slideDown ${tokens.transitions.normal};
1364
1772
  }
1365
1773
 
1366
1774
  @keyframes slideDown {
1367
1775
  from {
1368
1776
  opacity: 0;
1369
- transform: translateY(-8px);
1777
+ transform: translateY(-${tokens.spacing.sm});
1370
1778
  }
1371
1779
  to {
1372
1780
  opacity: 1;
@@ -1374,88 +1782,88 @@ var ItemDisclosurePanel = styled8__default.default(reactAriaComponents.Disclosur
1374
1782
  }
1375
1783
  }
1376
1784
  `;
1377
- var ItemIcon = styled8__default.default.img`
1785
+ var ItemIcon = styled9__default.default.img`
1378
1786
  width: 20px;
1379
1787
  height: 20px;
1380
1788
  opacity: 0.6;
1381
1789
  flex-shrink: 0;
1382
1790
 
1383
- @media (max-width: 640px) {
1791
+ @media (max-width: ${tokens.breakpoints.mobile}px) {
1384
1792
  width: 18px;
1385
1793
  height: 18px;
1386
1794
  }
1387
1795
  `;
1388
- var ItemName = styled8__default.default.span`
1796
+ var ItemName = styled9__default.default.span`
1389
1797
  flex: 1;
1390
- font-size: 14px;
1391
- color: ${(props) => props.$dimmed ? TEXT_MUTED2 : TEXT_SECONDARY2};
1392
- font-weight: ${(props) => props.$dimmed ? "normal" : "500"};
1798
+ font-size: ${tokens.typography.fontSize.sm};
1799
+ color: ${(props) => props.$dimmed ? tokens.colors.text.tertiary : tokens.colors.text.secondary};
1800
+ font-weight: ${(props) => props.$dimmed ? tokens.typography.fontWeight.regular : tokens.typography.fontWeight.medium};
1393
1801
  overflow: hidden;
1394
1802
  text-overflow: ellipsis;
1395
1803
  white-space: nowrap;
1396
1804
  min-width: 0;
1397
1805
 
1398
- @media (max-width: 640px) {
1806
+ @media (max-width: ${tokens.breakpoints.mobile}px) {
1399
1807
  font-size: 13px;
1400
1808
  }
1401
1809
 
1402
1810
  ${ItemContainer}:hover & {
1403
- color: ${(props) => props.$dimmed ? TEXT_SECONDARY2 : TEXT_PRIMARY2};
1811
+ color: ${(props) => props.$dimmed ? tokens.colors.text.secondary : tokens.colors.text.primary};
1404
1812
  }
1405
1813
  `;
1406
- var RunStatus = styled8__default.default.span`
1814
+ var RunStatus = styled9__default.default.span`
1407
1815
  display: flex;
1408
1816
  align-items: center;
1409
1817
  justify-content: center;
1410
- font-size: 14px;
1411
- font-weight: 500;
1818
+ font-size: ${tokens.typography.fontSize.sm};
1819
+ font-weight: ${tokens.typography.fontWeight.medium};
1412
1820
  flex-shrink: 0;
1413
1821
  margin-left: auto;
1414
1822
 
1415
- /* Color for SVG icons */
1823
+ /* Color for SVG icons - using token colors for status */
1416
1824
  img {
1417
1825
  filter: ${(props) => {
1418
1826
  switch (props.$status) {
1419
1827
  case "completed":
1420
1828
  return "brightness(0) saturate(100%) invert(73%) sepia(34%) saturate(547%) hue-rotate(99deg) brightness(91%) contrast(89%)";
1421
- // green #10b981
1829
+ // success green
1422
1830
  case "running":
1423
1831
  return "brightness(0) saturate(100%) invert(78%) sepia(60%) saturate(1839%) hue-rotate(360deg) brightness(100%) contrast(94%)";
1424
- // yellow #f59e0b
1832
+ // warning yellow
1425
1833
  case "failed":
1426
1834
  return "brightness(0) saturate(100%) invert(34%) sepia(94%) saturate(3446%) hue-rotate(343deg) brightness(94%) contrast(94%)";
1427
- // red #ef4444
1835
+ // error red
1428
1836
  default:
1429
1837
  return "none";
1430
1838
  }
1431
1839
  }};
1432
1840
  }
1433
1841
 
1434
- @media (max-width: 640px) {
1435
- font-size: 12px;
1842
+ @media (max-width: ${tokens.breakpoints.mobile}px) {
1843
+ font-size: ${tokens.typography.fontSize.xs};
1436
1844
  }
1437
1845
  `;
1438
- styled8__default.default.div`
1439
- margin-bottom: 12px;
1440
- border-radius: 12px;
1441
- background-color: rgba(255, 255, 255, 0.05);
1846
+ styled9__default.default.div`
1847
+ margin-bottom: ${tokens.spacing.md};
1848
+ border-radius: ${tokens.borderRadius.lg};
1849
+ background-color: ${tokens.colors.surface.overlay};
1442
1850
  overflow: hidden;
1443
1851
  `;
1444
- styled8__default.default.button`
1852
+ styled9__default.default.button`
1445
1853
  width: 100%;
1446
- padding: 16px;
1447
- background: rgba(255, 255, 255, 0.05);
1854
+ padding: ${tokens.spacing.md};
1855
+ background: ${tokens.colors.surface.overlay};
1448
1856
  border: none;
1449
- color: ${TEXT_PRIMARY2};
1857
+ color: ${tokens.colors.text.primary};
1450
1858
  display: flex;
1451
1859
  justify-content: space-between;
1452
1860
  align-items: center;
1453
1861
  cursor: pointer;
1454
- transition: background-color 0.2s ease;
1862
+ transition: background-color ${tokens.transitions.normal};
1455
1863
  text-align: left;
1456
1864
 
1457
1865
  &:hover {
1458
- background-color: ${HOVER_BG2};
1866
+ background-color: ${tokens.colors.surface.overlayHover};
1459
1867
  }
1460
1868
 
1461
1869
  &:focus {
@@ -1463,7 +1871,7 @@ styled8__default.default.button`
1463
1871
  }
1464
1872
 
1465
1873
  &:focus-visible {
1466
- outline: 2px solid ${ACCENT_COLOR2};
1874
+ outline: 2px solid ${tokens.colors.border.focus};
1467
1875
  outline-offset: -2px;
1468
1876
  }
1469
1877
 
@@ -1473,29 +1881,29 @@ styled8__default.default.button`
1473
1881
 
1474
1882
  strong {
1475
1883
  display: block;
1476
- font-size: 14px;
1477
- margin-bottom: 4px;
1884
+ font-size: ${tokens.typography.fontSize.sm};
1885
+ margin-bottom: ${tokens.spacing.xs};
1478
1886
  }
1479
1887
  `;
1480
- styled8__default.default.span`
1481
- font-size: 12px;
1482
- color: ${TEXT_SECONDARY2};
1483
- transition: transform 0.2s ease;
1888
+ styled9__default.default.span`
1889
+ font-size: ${tokens.typography.fontSize.xs};
1890
+ color: ${tokens.colors.text.secondary};
1891
+ transition: transform ${tokens.transitions.normal};
1484
1892
  transform: ${(props) => props.$isExpanded ? "rotate(180deg)" : "rotate(0deg)"};
1485
1893
  `;
1486
- styled8__default.default.div`
1487
- padding: 16px;
1894
+ styled9__default.default.div`
1895
+ padding: ${tokens.spacing.md};
1488
1896
  padding-top: 0;
1489
- background-color: rgba(0, 0, 0, 0.2);
1490
- color: ${TEXT_SECONDARY2};
1897
+ background-color: ${tokens.colors.overlay};
1898
+ color: ${tokens.colors.text.secondary};
1491
1899
  font-size: 13px;
1492
- line-height: 1.6;
1493
- animation: slideDown 0.2s ease;
1900
+ line-height: ${tokens.typography.lineHeight.relaxed};
1901
+ animation: slideDown ${tokens.transitions.normal};
1494
1902
 
1495
1903
  @keyframes slideDown {
1496
1904
  from {
1497
1905
  opacity: 0;
1498
- transform: translateY(-8px);
1906
+ transform: translateY(-${tokens.spacing.sm});
1499
1907
  }
1500
1908
  to {
1501
1909
  opacity: 1;
@@ -1503,31 +1911,31 @@ styled8__default.default.div`
1503
1911
  }
1504
1912
  }
1505
1913
  `;
1506
- var MeterContainer = styled8__default.default.div`
1914
+ var MeterContainer = styled9__default.default.div`
1507
1915
  max-width: 600px;
1508
1916
  margin: 0 auto;
1509
1917
  `;
1510
- var MeterLabel = styled8__default.default.div`
1511
- font-size: 16px;
1512
- font-weight: 600;
1513
- margin-bottom: 16px;
1514
- color: ${TEXT_PRIMARY2};
1918
+ var MeterLabel = styled9__default.default.div`
1919
+ font-size: ${tokens.typography.fontSize.base};
1920
+ font-weight: ${tokens.typography.fontWeight.semibold};
1921
+ margin-bottom: ${tokens.spacing.md};
1922
+ color: ${tokens.colors.text.primary};
1515
1923
  `;
1516
- var MeterBar = styled8__default.default.div`
1924
+ var MeterBar = styled9__default.default.div`
1517
1925
  width: 100%;
1518
1926
  height: 24px;
1519
- background-color: ${BG_SECONDARY};
1520
- border-radius: 12px;
1927
+ background-color: ${tokens.colors.background.darker};
1928
+ border-radius: ${tokens.borderRadius.lg};
1521
1929
  overflow: hidden;
1522
1930
  position: relative;
1523
- margin-bottom: 12px;
1931
+ margin-bottom: ${tokens.spacing.md};
1524
1932
  `;
1525
- var MeterFill = styled8__default.default.div`
1933
+ var MeterFill = styled9__default.default.div`
1526
1934
  height: 100%;
1527
1935
  width: ${(props) => props.$percentage}%;
1528
1936
  background: linear-gradient(90deg, ${(props) => props.$color}dd, ${(props) => props.$color});
1529
- border-radius: 12px;
1530
- transition: width 0.3s ease, background 0.3s ease;
1937
+ border-radius: ${tokens.borderRadius.lg};
1938
+ transition: width ${tokens.transitions.slow}, background ${tokens.transitions.slow};
1531
1939
  position: relative;
1532
1940
 
1533
1941
  &::after {
@@ -1537,7 +1945,7 @@ var MeterFill = styled8__default.default.div`
1537
1945
  left: 0;
1538
1946
  right: 0;
1539
1947
  bottom: 0;
1540
- background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
1948
+ background: linear-gradient(90deg, transparent, ${tokens.colors.surface.overlay}, transparent);
1541
1949
  animation: shimmer 2s infinite;
1542
1950
  }
1543
1951
 
@@ -1550,47 +1958,47 @@ var MeterFill = styled8__default.default.div`
1550
1958
  }
1551
1959
  }
1552
1960
  `;
1553
- var MeterStats = styled8__default.default.div`
1554
- font-size: 14px;
1555
- color: ${TEXT_SECONDARY2};
1961
+ var MeterStats = styled9__default.default.div`
1962
+ font-size: ${tokens.typography.fontSize.sm};
1963
+ color: ${tokens.colors.text.secondary};
1556
1964
  text-align: center;
1557
1965
 
1558
1966
  small {
1559
- font-size: 12px;
1560
- color: ${TEXT_SECONDARY2};
1967
+ font-size: ${tokens.typography.fontSize.xs};
1968
+ color: ${tokens.colors.text.secondary};
1561
1969
  opacity: 0.8;
1562
1970
  }
1563
1971
  `;
1564
- var ConnectionsContainer = styled8__default.default.div`
1972
+ var ConnectionsContainer = styled9__default.default.div`
1565
1973
  max-width: 500px;
1566
1974
  margin: 0 auto;
1567
1975
  text-align: center;
1568
1976
  `;
1569
- var ConnectionDescription = styled8__default.default.p`
1570
- font-size: 14px;
1571
- color: ${TEXT_SECONDARY2};
1572
- line-height: 1.6;
1573
- margin-bottom: 24px;
1977
+ var ConnectionDescription = styled9__default.default.p`
1978
+ font-size: ${tokens.typography.fontSize.sm};
1979
+ color: ${tokens.colors.text.secondary};
1980
+ line-height: ${tokens.typography.lineHeight.relaxed};
1981
+ margin-bottom: ${tokens.spacing.lg};
1574
1982
  `;
1575
- var GoogleButton = styled8__default.default.button`
1983
+ var GoogleButton = styled9__default.default.button`
1576
1984
  width: 100%;
1577
- padding: 16px 24px;
1985
+ padding: ${tokens.spacing.md} ${tokens.spacing.lg};
1578
1986
  font-size: 15px;
1579
- font-weight: 600;
1580
- color: ${(props) => props.$isConnected ? TEXT_PRIMARY2 : "#FFFFFF"};
1581
- background: ${(props) => props.$isConnected ? BG_TERTIARY2 : "linear-gradient(135deg, #4285F4, #34A853)"};
1987
+ font-weight: ${tokens.typography.fontWeight.semibold};
1988
+ color: ${(props) => props.$isConnected ? tokens.colors.text.primary : tokens.colors.text.primary};
1989
+ background: ${(props) => props.$isConnected ? tokens.colors.background.light : `linear-gradient(135deg, ${tokens.colors.platform.facebook}, ${tokens.colors.platform.whatsapp})`};
1582
1990
  border: none;
1583
- border-radius: 8px;
1991
+ border-radius: ${tokens.borderRadius.md};
1584
1992
  cursor: pointer;
1585
- transition: all 0.2s ease;
1993
+ transition: all ${tokens.transitions.normal};
1586
1994
  display: flex;
1587
1995
  align-items: center;
1588
1996
  justify-content: center;
1589
- gap: 8px;
1997
+ gap: ${tokens.spacing.sm};
1590
1998
 
1591
1999
  &:hover {
1592
2000
  transform: translateY(-2px);
1593
- box-shadow: 0 4px 12px rgba(66, 133, 244, 0.3);
2001
+ box-shadow: ${tokens.shadows.lg};
1594
2002
  }
1595
2003
 
1596
2004
  &:active {
@@ -1602,14 +2010,14 @@ var GoogleButton = styled8__default.default.button`
1602
2010
  }
1603
2011
 
1604
2012
  &:focus-visible {
1605
- outline: 2px solid ${ACCENT_COLOR2};
2013
+ outline: 2px solid ${tokens.colors.border.focus};
1606
2014
  outline-offset: 2px;
1607
2015
  }
1608
2016
 
1609
2017
  ${(props) => props.$isConnected && `
1610
2018
  &:hover {
1611
- background-color: #ef4444;
1612
- box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3);
2019
+ background-color: ${tokens.colors.error};
2020
+ box-shadow: ${tokens.shadows.lg};
1613
2021
  }
1614
2022
  `}
1615
2023
  `;
@@ -1642,7 +2050,10 @@ var ICONS = {
1642
2050
  chevronDown: "/assets/icon-set/Icon-arrow-down-s-fill.svg",
1643
2051
  warning: "/assets/icon-set/Icon-error-warning-fill.svg"
1644
2052
  };
1645
- function ItemWithLogs({ run, onRunSelect }) {
2053
+ function ItemWithLogs({
2054
+ run,
2055
+ onRunSelect
2056
+ }) {
1646
2057
  const [isExpanded, setIsExpanded] = react.useState(false);
1647
2058
  const logSections = run.logs ? [
1648
2059
  {
@@ -1661,96 +2072,184 @@ function ItemWithLogs({ run, onRunSelect }) {
1661
2072
  onRunSelect?.(run.id);
1662
2073
  };
1663
2074
  return /* @__PURE__ */ jsxRuntime.jsxs(ItemDisclosure, { id: run.id, children: [
1664
- /* @__PURE__ */ jsxRuntime.jsx(
1665
- ItemHeader,
1666
- {
1667
- slot: "trigger",
1668
- onClick: handleClick,
1669
- $isExpanded: isExpanded,
1670
- children: /* @__PURE__ */ jsxRuntime.jsxs(ItemContainer, { as: "div", children: [
1671
- /* @__PURE__ */ jsxRuntime.jsx(ItemIcon, { src: ICONS[run.icon || "loader"], alt: "" }),
1672
- /* @__PURE__ */ jsxRuntime.jsx(ItemName, { children: run.name }),
1673
- /* @__PURE__ */ jsxRuntime.jsxs(RunStatus, { $status: run.status, children: [
1674
- run.status === "completed" && /* @__PURE__ */ jsxRuntime.jsx("img", { src: ICONS.checkFill, alt: "", style: { width: "16px", height: "16px" } }),
1675
- run.status === "running" && /* @__PURE__ */ jsxRuntime.jsx("img", { src: ICONS.hourglass, alt: "", style: { width: "16px", height: "16px" } }),
1676
- run.status === "failed" && /* @__PURE__ */ jsxRuntime.jsx("img", { src: ICONS.closeFill, alt: "", style: { width: "16px", height: "16px" } })
1677
- ] }),
1678
- /* @__PURE__ */ jsxRuntime.jsx(ChevronIcon, { $isExpanded: isExpanded, children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: ICONS.chevronDown, alt: "" }) })
1679
- ] })
1680
- }
1681
- ),
2075
+ /* @__PURE__ */ jsxRuntime.jsx(ItemHeader, { slot: "trigger", onClick: handleClick, $isExpanded: isExpanded, children: /* @__PURE__ */ jsxRuntime.jsxs(ItemContainer, { as: "div", children: [
2076
+ /* @__PURE__ */ jsxRuntime.jsx(ItemIcon, { src: ICONS[run.icon || "loader"], alt: "" }),
2077
+ /* @__PURE__ */ jsxRuntime.jsx(ItemName, { children: run.name }),
2078
+ /* @__PURE__ */ jsxRuntime.jsxs(RunStatus, { $status: run.status, children: [
2079
+ run.status === "completed" && /* @__PURE__ */ jsxRuntime.jsx("img", { src: ICONS.checkFill, alt: "", style: { width: "16px", height: "16px" } }),
2080
+ run.status === "running" && /* @__PURE__ */ jsxRuntime.jsx("img", { src: ICONS.hourglass, alt: "", style: { width: "16px", height: "16px" } }),
2081
+ run.status === "failed" && /* @__PURE__ */ jsxRuntime.jsx("img", { src: ICONS.closeFill, alt: "", style: { width: "16px", height: "16px" } })
2082
+ ] }),
2083
+ /* @__PURE__ */ jsxRuntime.jsx(ChevronIcon, { $isExpanded: isExpanded, children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: ICONS.chevronDown, alt: "" }) })
2084
+ ] }) }),
1682
2085
  isExpanded && /* @__PURE__ */ jsxRuntime.jsx(ItemDisclosurePanel, { children: run.customContent ? (
1683
2086
  // Render custom content directly
1684
2087
  /* @__PURE__ */ jsxRuntime.jsx("div", { style: { padding: "16px" }, children: run.customContent })
1685
2088
  ) : run.logs && run.logs.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(DarkNotificationCard, { sections: logSections }) : /* @__PURE__ */ jsxRuntime.jsx("div", { style: { color: "#72767D", fontSize: "13px", padding: "8px" }, children: "No action logs available" }) })
1686
2089
  ] });
1687
2090
  }
2091
+ function normalizeCategory(category) {
2092
+ if (category === "scheduled") return "executing";
2093
+ if (category === "issues") return "failed";
2094
+ return category;
2095
+ }
2096
+ function groupRunsByWorkflow(runs) {
2097
+ const groups = /* @__PURE__ */ new Map();
2098
+ for (const run of runs) {
2099
+ const workflowId = run.workflowId || "unknown";
2100
+ const workflowName = run.workflowName || run.name;
2101
+ if (!groups.has(workflowId)) {
2102
+ groups.set(workflowId, {
2103
+ workflowId,
2104
+ workflowName,
2105
+ runs: []
2106
+ });
2107
+ }
2108
+ groups.get(workflowId).runs.push(run);
2109
+ }
2110
+ return Array.from(groups.values());
2111
+ }
2112
+ function WorkflowGroupItem({
2113
+ group,
2114
+ onRunSelect,
2115
+ expandedKeys
2116
+ }) {
2117
+ const groupId = `workflow-${group.workflowId}`;
2118
+ const isExpanded = expandedKeys.has(groupId);
2119
+ return /* @__PURE__ */ jsxRuntime.jsxs(CategoryDisclosure, { id: groupId, children: [
2120
+ /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Heading, { level: 4, children: /* @__PURE__ */ jsxRuntime.jsxs(CategoryHeader, { slot: "trigger", style: { paddingLeft: "8px" }, children: [
2121
+ /* @__PURE__ */ jsxRuntime.jsxs(CategoryTitle, { children: [
2122
+ /* @__PURE__ */ jsxRuntime.jsx("span", { style: { fontSize: "13px", fontWeight: 500 }, children: group.workflowName }),
2123
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { style: { fontSize: "11px", color: "#72767D", marginLeft: "8px" }, children: [
2124
+ "(",
2125
+ group.runs.length,
2126
+ ")"
2127
+ ] })
2128
+ ] }),
2129
+ /* @__PURE__ */ jsxRuntime.jsx(ChevronIcon, { $isExpanded: isExpanded, children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: ICONS.chevronDown, alt: "" }) })
2130
+ ] }) }),
2131
+ /* @__PURE__ */ jsxRuntime.jsx(CategoryDisclosurePanel, { children: group.runs.map((run) => /* @__PURE__ */ jsxRuntime.jsx(ItemWithLogs, { run, onRunSelect }, run.id)) })
2132
+ ] });
2133
+ }
2134
+ function GroupedRunsRenderer({
2135
+ groups,
2136
+ onRunSelect,
2137
+ expandedKeys,
2138
+ setExpandedKeys,
2139
+ ariaLabel,
2140
+ emptyMessage
2141
+ }) {
2142
+ if (groups.length === 0) {
2143
+ return /* @__PURE__ */ jsxRuntime.jsx(ItemContainer, { children: /* @__PURE__ */ jsxRuntime.jsx(ItemName, { $dimmed: true, children: emptyMessage }) });
2144
+ }
2145
+ const firstGroup = groups[0];
2146
+ if (groups.length === 1 && firstGroup && firstGroup.runs.length === 1) {
2147
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: firstGroup.runs.map((run) => /* @__PURE__ */ jsxRuntime.jsx(ItemWithLogs, { run, onRunSelect }, run.id)) });
2148
+ }
2149
+ return /* @__PURE__ */ jsxRuntime.jsx(
2150
+ StyledDisclosureGroup,
2151
+ {
2152
+ expandedKeys,
2153
+ onExpandedChange: setExpandedKeys,
2154
+ allowsMultipleExpanded: true,
2155
+ "aria-label": ariaLabel,
2156
+ children: groups.map((group) => /* @__PURE__ */ jsxRuntime.jsx(
2157
+ WorkflowGroupItem,
2158
+ {
2159
+ group,
2160
+ onRunSelect,
2161
+ expandedKeys
2162
+ },
2163
+ group.workflowId
2164
+ ))
2165
+ }
2166
+ );
2167
+ }
1688
2168
  function RunsTabContent({
1689
2169
  runs,
1690
- onBrowseAutomations,
1691
2170
  onRunSelect
1692
2171
  }) {
1693
2172
  const [expandedKeys, setExpandedKeys] = react.useState(
1694
- /* @__PURE__ */ new Set(["scheduled", "completed", "issues"])
1695
- // All sections open by default
2173
+ /* @__PURE__ */ new Set(["executing", "completed", "failed"])
2174
+ // All status sections open by default
1696
2175
  );
1697
- const scheduledRuns = runs.filter((r) => r.category === "scheduled");
1698
- const completedRuns = runs.filter((r) => r.category === "completed");
1699
- const issuesRuns = runs.filter((r) => r.category === "issues");
1700
- const buttonRef = react.useRef(null);
1701
- const { buttonProps } = button.useButton(
2176
+ const executingRuns = runs.filter((r) => normalizeCategory(r.category) === "executing");
2177
+ const completedRuns = runs.filter((r) => normalizeCategory(r.category) === "completed");
2178
+ const failedRuns = runs.filter((r) => normalizeCategory(r.category) === "failed");
2179
+ const executingGroups = groupRunsByWorkflow(executingRuns);
2180
+ const completedGroups = groupRunsByWorkflow(completedRuns);
2181
+ const failedGroups = groupRunsByWorkflow(failedRuns);
2182
+ return /* @__PURE__ */ jsxRuntime.jsx(RunsContainer, { children: /* @__PURE__ */ jsxRuntime.jsxs(
2183
+ StyledDisclosureGroup,
1702
2184
  {
1703
- onPress: onBrowseAutomations
1704
- },
1705
- buttonRef
1706
- );
1707
- return /* @__PURE__ */ jsxRuntime.jsxs(RunsContainer, { children: [
1708
- /* @__PURE__ */ jsxRuntime.jsxs(BrowseButton, { ...buttonProps, ref: buttonRef, children: [
1709
- /* @__PURE__ */ jsxRuntime.jsx(ItemIcon, { src: ICONS.cpu, alt: "" }),
1710
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Browse Automations" })
1711
- ] }),
1712
- /* @__PURE__ */ jsxRuntime.jsxs(
1713
- StyledDisclosureGroup,
1714
- {
1715
- expandedKeys,
1716
- onExpandedChange: setExpandedKeys,
1717
- allowsMultipleExpanded: true,
1718
- "aria-label": "Run sections",
1719
- children: [
1720
- /* @__PURE__ */ jsxRuntime.jsxs(CategoryDisclosure, { id: "scheduled", children: [
1721
- /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Heading, { level: 3, children: /* @__PURE__ */ jsxRuntime.jsxs(CategoryHeader, { slot: "trigger", children: [
1722
- /* @__PURE__ */ jsxRuntime.jsxs(CategoryTitle, { children: [
1723
- /* @__PURE__ */ jsxRuntime.jsx(HashtagIcon, { src: ICONS.hashtag, alt: "" }),
1724
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "SCHEDULED" })
1725
- ] }),
1726
- /* @__PURE__ */ jsxRuntime.jsx(ChevronIcon, { $isExpanded: expandedKeys.has("scheduled"), children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: ICONS.chevronDown, alt: "" }) })
1727
- ] }) }),
1728
- /* @__PURE__ */ jsxRuntime.jsx(CategoryDisclosurePanel, { children: scheduledRuns.length > 0 ? scheduledRuns.map((run) => /* @__PURE__ */ jsxRuntime.jsx(ItemWithLogs, { run, onRunSelect }, run.id)) : /* @__PURE__ */ jsxRuntime.jsx(ItemContainer, { children: /* @__PURE__ */ jsxRuntime.jsx(ItemName, { $dimmed: true, children: "No scheduled items" }) }) })
1729
- ] }),
1730
- /* @__PURE__ */ jsxRuntime.jsxs(CategoryDisclosure, { id: "completed", children: [
1731
- /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Heading, { level: 3, children: /* @__PURE__ */ jsxRuntime.jsxs(CategoryHeader, { slot: "trigger", children: [
1732
- /* @__PURE__ */ jsxRuntime.jsxs(CategoryTitle, { children: [
1733
- /* @__PURE__ */ jsxRuntime.jsx(HashtagIcon, { src: ICONS.hashtag, alt: "" }),
1734
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "COMPLETED" })
1735
- ] }),
1736
- /* @__PURE__ */ jsxRuntime.jsx(ChevronIcon, { $isExpanded: expandedKeys.has("completed"), children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: ICONS.chevronDown, alt: "" }) })
1737
- ] }) }),
1738
- /* @__PURE__ */ jsxRuntime.jsx(CategoryDisclosurePanel, { children: completedRuns.length > 0 ? completedRuns.map((run) => /* @__PURE__ */ jsxRuntime.jsx(ItemWithLogs, { run, onRunSelect }, run.id)) : /* @__PURE__ */ jsxRuntime.jsx(ItemContainer, { children: /* @__PURE__ */ jsxRuntime.jsx(ItemName, { $dimmed: true, children: "No completed items" }) }) })
1739
- ] }),
1740
- /* @__PURE__ */ jsxRuntime.jsxs(CategoryDisclosure, { id: "issues", children: [
1741
- /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Heading, { level: 3, children: /* @__PURE__ */ jsxRuntime.jsxs(CategoryHeader, { slot: "trigger", children: [
1742
- /* @__PURE__ */ jsxRuntime.jsxs(CategoryTitle, { children: [
1743
- /* @__PURE__ */ jsxRuntime.jsx(HashtagIcon, { src: ICONS.hashtag, alt: "" }),
1744
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "ISSUES" })
1745
- ] }),
1746
- /* @__PURE__ */ jsxRuntime.jsx(ChevronIcon, { $isExpanded: expandedKeys.has("issues"), children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: ICONS.chevronDown, alt: "" }) })
1747
- ] }) }),
1748
- /* @__PURE__ */ jsxRuntime.jsx(CategoryDisclosurePanel, { children: issuesRuns.length > 0 ? issuesRuns.map((run) => /* @__PURE__ */ jsxRuntime.jsx(ItemWithLogs, { run, onRunSelect }, run.id)) : /* @__PURE__ */ jsxRuntime.jsx(ItemContainer, { children: /* @__PURE__ */ jsxRuntime.jsx(ItemName, { $dimmed: true, children: "No issues" }) }) })
1749
- ] })
1750
- ]
1751
- }
1752
- )
1753
- ] });
2185
+ expandedKeys,
2186
+ onExpandedChange: setExpandedKeys,
2187
+ allowsMultipleExpanded: true,
2188
+ "aria-label": "Run sections",
2189
+ children: [
2190
+ /* @__PURE__ */ jsxRuntime.jsxs(CategoryDisclosure, { id: "executing", children: [
2191
+ /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Heading, { level: 3, children: /* @__PURE__ */ jsxRuntime.jsxs(CategoryHeader, { slot: "trigger", children: [
2192
+ /* @__PURE__ */ jsxRuntime.jsxs(CategoryTitle, { children: [
2193
+ /* @__PURE__ */ jsxRuntime.jsx(HashtagIcon, { src: ICONS.hashtag, alt: "" }),
2194
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: "EXECUTING" })
2195
+ ] }),
2196
+ /* @__PURE__ */ jsxRuntime.jsx(ChevronIcon, { $isExpanded: expandedKeys.has("executing"), children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: ICONS.chevronDown, alt: "" }) })
2197
+ ] }) }),
2198
+ /* @__PURE__ */ jsxRuntime.jsx(CategoryDisclosurePanel, { children: /* @__PURE__ */ jsxRuntime.jsx(
2199
+ GroupedRunsRenderer,
2200
+ {
2201
+ groups: executingGroups,
2202
+ onRunSelect,
2203
+ expandedKeys,
2204
+ setExpandedKeys,
2205
+ ariaLabel: "Executing workflows",
2206
+ emptyMessage: "No executing items"
2207
+ }
2208
+ ) })
2209
+ ] }),
2210
+ /* @__PURE__ */ jsxRuntime.jsxs(CategoryDisclosure, { id: "completed", children: [
2211
+ /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Heading, { level: 3, children: /* @__PURE__ */ jsxRuntime.jsxs(CategoryHeader, { slot: "trigger", children: [
2212
+ /* @__PURE__ */ jsxRuntime.jsxs(CategoryTitle, { children: [
2213
+ /* @__PURE__ */ jsxRuntime.jsx(HashtagIcon, { src: ICONS.hashtag, alt: "" }),
2214
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: "COMPLETED" })
2215
+ ] }),
2216
+ /* @__PURE__ */ jsxRuntime.jsx(ChevronIcon, { $isExpanded: expandedKeys.has("completed"), children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: ICONS.chevronDown, alt: "" }) })
2217
+ ] }) }),
2218
+ /* @__PURE__ */ jsxRuntime.jsx(CategoryDisclosurePanel, { children: /* @__PURE__ */ jsxRuntime.jsx(
2219
+ GroupedRunsRenderer,
2220
+ {
2221
+ groups: completedGroups,
2222
+ onRunSelect,
2223
+ expandedKeys,
2224
+ setExpandedKeys,
2225
+ ariaLabel: "Completed workflows",
2226
+ emptyMessage: "No completed items"
2227
+ }
2228
+ ) })
2229
+ ] }),
2230
+ /* @__PURE__ */ jsxRuntime.jsxs(CategoryDisclosure, { id: "failed", children: [
2231
+ /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Heading, { level: 3, children: /* @__PURE__ */ jsxRuntime.jsxs(CategoryHeader, { slot: "trigger", children: [
2232
+ /* @__PURE__ */ jsxRuntime.jsxs(CategoryTitle, { children: [
2233
+ /* @__PURE__ */ jsxRuntime.jsx(HashtagIcon, { src: ICONS.hashtag, alt: "" }),
2234
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: "FAILED" })
2235
+ ] }),
2236
+ /* @__PURE__ */ jsxRuntime.jsx(ChevronIcon, { $isExpanded: expandedKeys.has("failed"), children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: ICONS.chevronDown, alt: "" }) })
2237
+ ] }) }),
2238
+ /* @__PURE__ */ jsxRuntime.jsx(CategoryDisclosurePanel, { children: /* @__PURE__ */ jsxRuntime.jsx(
2239
+ GroupedRunsRenderer,
2240
+ {
2241
+ groups: failedGroups,
2242
+ onRunSelect,
2243
+ expandedKeys,
2244
+ setExpandedKeys,
2245
+ ariaLabel: "Failed workflows",
2246
+ emptyMessage: "No failed items"
2247
+ }
2248
+ ) })
2249
+ ] })
2250
+ ]
2251
+ }
2252
+ ) });
1754
2253
  }
1755
2254
  function UsageTabContent({
1756
2255
  currentUsage = 0,
@@ -1830,15 +2329,7 @@ function ConnectionsTabContent({
1830
2329
  const descriptionText = isConnected ? googleConnection?.displayName ? `Connected as ${googleConnection.displayName}. You can access Google services and data.` : "Your Google account is connected. You can access Google services and data." : "Connect your Google account to access Google services and integrate with your workflows.";
1831
2330
  return /* @__PURE__ */ jsxRuntime.jsxs(ConnectionsContainer, { children: [
1832
2331
  /* @__PURE__ */ jsxRuntime.jsx(ConnectionDescription, { children: descriptionText }),
1833
- /* @__PURE__ */ jsxRuntime.jsx(
1834
- GoogleButton,
1835
- {
1836
- ...buttonProps,
1837
- ref,
1838
- $isConnected: isConnected,
1839
- children: buttonText
1840
- }
1841
- ),
2332
+ /* @__PURE__ */ jsxRuntime.jsx(GoogleButton, { ...buttonProps, ref, $isConnected: isConnected, children: buttonText }),
1842
2333
  isConnected && googleConnection?.scopes && googleConnection.scopes.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: "16px", fontSize: "13px", color: "#B9BBBE" }, children: [
1843
2334
  "Connected services: ",
1844
2335
  googleConnection.scopes.join(", ")
@@ -1881,19 +2372,21 @@ function PaneMenus({
1881
2372
  onOAuthDisconnect,
1882
2373
  isOAuthConnecting = false,
1883
2374
  isOAuthLoading = false,
1884
- onBrowseAutomations
2375
+ connectionsSlot,
2376
+ workflowsSlot
1885
2377
  }) {
1886
2378
  const state = tabs.useTabListState({
1887
- defaultSelectedKey: activeTab,
2379
+ selectedKey: activeTab,
1888
2380
  onSelectionChange: (key) => {
1889
2381
  if (onTabChange) {
1890
2382
  onTabChange(key);
1891
2383
  }
1892
2384
  },
1893
2385
  children: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1894
- /* @__PURE__ */ jsxRuntime.jsx(collections.Item, { title: "Runs", children: /* @__PURE__ */ jsxRuntime.jsx(RunsTabContent, { runs, onBrowseAutomations, onRunSelect }) }, "runs"),
2386
+ workflowsSlot && /* @__PURE__ */ jsxRuntime.jsx(collections.Item, { title: "Workflows", children: workflowsSlot }, "workflows"),
2387
+ /* @__PURE__ */ jsxRuntime.jsx(collections.Item, { title: "Runs", children: /* @__PURE__ */ jsxRuntime.jsx(RunsTabContent, { runs, onRunSelect }) }, "runs"),
1895
2388
  /* @__PURE__ */ jsxRuntime.jsx(collections.Item, { title: "Usage", children: /* @__PURE__ */ jsxRuntime.jsx(UsageTabContent, { currentUsage, maxUsage }) }, "usage"),
1896
- /* @__PURE__ */ jsxRuntime.jsx(collections.Item, { title: "Connections", children: /* @__PURE__ */ jsxRuntime.jsx(
2389
+ /* @__PURE__ */ jsxRuntime.jsx(collections.Item, { title: "Connections", children: connectionsSlot || /* @__PURE__ */ jsxRuntime.jsx(
1897
2390
  ConnectionsTabContent,
1898
2391
  {
1899
2392
  isGoogleConnected,
@@ -1913,21 +2406,11 @@ function PaneMenus({
1913
2406
  /* @__PURE__ */ jsxRuntime.jsx(TabPanel, { state }, state.selectedItem?.key)
1914
2407
  ] });
1915
2408
  }
1916
- var HEADER_BG = "rgba(32, 34, 37, 0.1)";
1917
- var HEADER_BG_DARK = "rgba(24, 25, 28, 0.7)";
1918
- var BUTTON_BG = "rgba(54, 57, 63, 0.6)";
1919
- var BUTTON_BG_HOVER = "rgba(64, 68, 75, 0.8)";
1920
- var breakpoints = {
1921
- xs: "640px",
1922
- sm: "768px",
1923
- md: "1024px",
1924
- lg: "1280px"
1925
- };
1926
- var Container7 = styled8__default.default.header`
2409
+ var Container7 = styled9__default.default.header`
1927
2410
  position: relative;
1928
2411
  width: 100%;
1929
2412
  height: 56px;
1930
- background-color: ${HEADER_BG};
2413
+ background-color: ${tokens.colors.surface.subtle};
1931
2414
  backdrop-filter: blur(10px);
1932
2415
  -webkit-backdrop-filter: blur(10px);
1933
2416
  overflow: hidden;
@@ -1952,14 +2435,14 @@ var Container7 = styled8__default.default.header`
1952
2435
  }
1953
2436
 
1954
2437
  /* Small screens */
1955
- @media (min-width: ${breakpoints.xs}) {
2438
+ @media (min-width: ${tokens.breakpoints.mobile}px) {
1956
2439
  &::before {
1957
2440
  background-image: url('/assets/bg-set/pattern/Size=sm, Type=Waves Rays2.svg');
1958
2441
  }
1959
2442
  }
1960
2443
 
1961
2444
  /* Medium screens */
1962
- @media (min-width: ${breakpoints.sm}) {
2445
+ @media (min-width: ${tokens.breakpoints.tablet}px) {
1963
2446
  height: 64px;
1964
2447
 
1965
2448
  &::before {
@@ -1968,14 +2451,14 @@ var Container7 = styled8__default.default.header`
1968
2451
  }
1969
2452
 
1970
2453
  /* Large screens */
1971
- @media (min-width: ${breakpoints.md}) {
2454
+ @media (min-width: ${tokens.breakpoints.desktop}px) {
1972
2455
  &::before {
1973
2456
  background-image: url('/assets/bg-set/pattern/Size=lg, Type=Waves Rays2.svg');
1974
2457
  }
1975
2458
  }
1976
2459
 
1977
2460
  /* Extra large screens */
1978
- @media (min-width: ${breakpoints.lg}) {
2461
+ @media (min-width: 1440px) {
1979
2462
  &::before {
1980
2463
  background-image: url('/assets/bg-set/pattern/Size=xl, Type=Waves Rays2.svg');
1981
2464
  }
@@ -1983,10 +2466,10 @@ var Container7 = styled8__default.default.header`
1983
2466
 
1984
2467
  /* Dark theme support */
1985
2468
  @media (prefers-color-scheme: dark) {
1986
- background-color: ${HEADER_BG_DARK};
2469
+ background-color: ${tokens.colors.backdrop};
1987
2470
  }
1988
2471
  `;
1989
- var BrandLogo = styled8__default.default.img`
2472
+ var BrandLogo = styled9__default.default.img`
1990
2473
  position: relative;
1991
2474
  z-index: 1;
1992
2475
  max-height: 28px;
@@ -1997,23 +2480,23 @@ var BrandLogo = styled8__default.default.img`
1997
2480
  user-select: none;
1998
2481
 
1999
2482
  /* Slightly larger on desktop */
2000
- @media (min-width: ${breakpoints.sm}) {
2483
+ @media (min-width: ${tokens.breakpoints.tablet}px) {
2001
2484
  max-height: 32px;
2002
2485
  }
2003
2486
  `;
2004
- var SettingsButton = styled8__default.default.button`
2487
+ var SettingsButton = styled9__default.default.button`
2005
2488
  position: absolute;
2006
2489
  top: 50%;
2007
- right: 12px;
2490
+ right: ${tokens.spacing.md};
2008
2491
  transform: translateY(-50%);
2009
2492
  z-index: 2;
2010
2493
 
2011
2494
  /* Button appearance */
2012
2495
  width: 40px;
2013
2496
  height: 40px;
2014
- border-radius: 50%;
2497
+ border-radius: ${tokens.borderRadius.full};
2015
2498
  border: none;
2016
- background-color: ${BUTTON_BG};
2499
+ background-color: ${tokens.colors.surface.glass};
2017
2500
  cursor: pointer;
2018
2501
 
2019
2502
  /* Center the icon */
@@ -2022,11 +2505,11 @@ var SettingsButton = styled8__default.default.button`
2022
2505
  justify-content: center;
2023
2506
 
2024
2507
  /* Smooth transitions */
2025
- transition: background-color 0.2s ease, transform 0.1s ease;
2508
+ transition: background-color ${tokens.transitions.normal}, transform ${tokens.transitions.fast};
2026
2509
 
2027
2510
  /* Hover state */
2028
2511
  &:hover {
2029
- background-color: ${BUTTON_BG_HOVER};
2512
+ background-color: ${tokens.colors.surface.overlayHover};
2030
2513
  }
2031
2514
 
2032
2515
  /* Active state */
@@ -2036,7 +2519,7 @@ var SettingsButton = styled8__default.default.button`
2036
2519
 
2037
2520
  /* Focus visible state for accessibility */
2038
2521
  &:focus-visible {
2039
- outline: 2px solid #5865f2;
2522
+ outline: 2px solid ${tokens.colors.border.focus};
2040
2523
  outline-offset: 2px;
2041
2524
  }
2042
2525
 
@@ -2047,27 +2530,27 @@ var SettingsButton = styled8__default.default.button`
2047
2530
  }
2048
2531
 
2049
2532
  /* Responsive positioning */
2050
- @media (min-width: ${breakpoints.sm}) {
2051
- right: 16px;
2533
+ @media (min-width: ${tokens.breakpoints.tablet}px) {
2534
+ right: ${tokens.spacing.md};
2052
2535
  }
2053
2536
 
2054
- @media (min-width: ${breakpoints.md}) {
2055
- right: 24px;
2537
+ @media (min-width: ${tokens.breakpoints.desktop}px) {
2538
+ right: ${tokens.spacing.lg};
2056
2539
  }
2057
2540
  `;
2058
- var BackButton2 = styled8__default.default.button`
2541
+ var BackButton2 = styled9__default.default.button`
2059
2542
  position: absolute;
2060
2543
  top: 50%;
2061
- left: 12px;
2544
+ left: ${tokens.spacing.md};
2062
2545
  transform: translateY(-50%);
2063
2546
  z-index: 2;
2064
2547
 
2065
2548
  /* Button appearance */
2066
2549
  width: 40px;
2067
2550
  height: 40px;
2068
- border-radius: 50%;
2551
+ border-radius: ${tokens.borderRadius.full};
2069
2552
  border: none;
2070
- background-color: ${BUTTON_BG};
2553
+ background-color: ${tokens.colors.surface.glass};
2071
2554
  cursor: pointer;
2072
2555
 
2073
2556
  /* Center the icon */
@@ -2076,11 +2559,11 @@ var BackButton2 = styled8__default.default.button`
2076
2559
  justify-content: center;
2077
2560
 
2078
2561
  /* Smooth transitions */
2079
- transition: background-color 0.2s ease, transform 0.1s ease;
2562
+ transition: background-color ${tokens.transitions.normal}, transform ${tokens.transitions.fast};
2080
2563
 
2081
2564
  /* Hover state */
2082
2565
  &:hover {
2083
- background-color: ${BUTTON_BG_HOVER};
2566
+ background-color: ${tokens.colors.surface.overlayHover};
2084
2567
  }
2085
2568
 
2086
2569
  /* Active state */
@@ -2090,7 +2573,7 @@ var BackButton2 = styled8__default.default.button`
2090
2573
 
2091
2574
  /* Focus visible state for accessibility */
2092
2575
  &:focus-visible {
2093
- outline: 2px solid #5865f2;
2576
+ outline: 2px solid ${tokens.colors.border.focus};
2094
2577
  outline-offset: 2px;
2095
2578
  }
2096
2579
 
@@ -2101,12 +2584,12 @@ var BackButton2 = styled8__default.default.button`
2101
2584
  }
2102
2585
 
2103
2586
  /* Responsive positioning */
2104
- @media (min-width: ${breakpoints.sm}) {
2105
- left: 16px;
2587
+ @media (min-width: ${tokens.breakpoints.tablet}px) {
2588
+ left: ${tokens.spacing.md};
2106
2589
  }
2107
2590
 
2108
- @media (min-width: ${breakpoints.md}) {
2109
- left: 24px;
2591
+ @media (min-width: ${tokens.breakpoints.desktop}px) {
2592
+ left: ${tokens.spacing.lg};
2110
2593
  }
2111
2594
  `;
2112
2595
  function PaneSectionHeader({
@@ -2144,7 +2627,7 @@ function PaneSectionHeader({
2144
2627
  onMouseEnter: () => setIsBackHovered(true),
2145
2628
  onMouseLeave: () => setIsBackHovered(false),
2146
2629
  $isHovered: isBackHovered,
2147
- children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "arrow-left-fill", size: 20, color: "#b9bbbe" })
2630
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "arrow-left-fill", size: 20, color: tokens.colors.text.secondary })
2148
2631
  }
2149
2632
  ),
2150
2633
  /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { src: `/assets/bg-set/brand-logos/${brand}2.svg`, alt: brand }),
@@ -2156,46 +2639,37 @@ function PaneSectionHeader({
2156
2639
  onMouseEnter: () => setIsSettingsHovered(true),
2157
2640
  onMouseLeave: () => setIsSettingsHovered(false),
2158
2641
  $isHovered: isSettingsHovered,
2159
- children: /* @__PURE__ */ jsxRuntime.jsx(
2160
- Icon,
2161
- {
2162
- name: settingsIcon,
2163
- size: 20,
2164
- color: "#b9bbbe"
2165
- }
2166
- )
2642
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: settingsIcon, size: 20, color: tokens.colors.text.secondary })
2167
2643
  }
2168
2644
  )
2169
2645
  ] });
2170
2646
  }
2171
2647
  PaneSectionHeader.displayName = "PaneSectionHeader";
2172
- var NAV_BG3 = "#36393F";
2173
- var NAV_BG_HOVER = "#40444b";
2174
- var Container8 = styled8__default.default.button`
2648
+ var Container8 = styled9__default.default.button`
2175
2649
  /* Base button styling */
2176
2650
  width: 48px;
2177
2651
  height: 48px;
2178
2652
  border: none;
2179
- padding: 4px;
2180
- border-radius: ${({ $active }) => $active ? "16px" : "50%"};
2181
- background-color: ${NAV_BG3};
2653
+ padding: ${tokens.spacing.xs};
2654
+ border-radius: ${({ $active }) => $active ? tokens.borderRadius.xl : tokens.borderRadius.full};
2655
+ background-color: ${tokens.colors.background.light};
2182
2656
  display: flex;
2183
2657
  align-items: center;
2184
2658
  justify-content: center;
2185
2659
  cursor: pointer;
2186
- transition: all 0.15s ease-out;
2660
+ transition: all ${tokens.transitions.fast};
2187
2661
  position: relative;
2188
2662
  overflow: hidden;
2189
2663
 
2190
2664
  /* Hover state */
2191
2665
  &:hover {
2192
- border-radius: 16px;
2193
- background-color: ${NAV_BG_HOVER};
2666
+ border-radius: ${tokens.borderRadius.xl};
2667
+ background-color: ${tokens.colors.surface.overlayHover};
2194
2668
  }
2195
2669
 
2196
2670
  /* Focus visible state for accessibility */
2197
2671
  &:focus-visible {
2198
- outline: 2px solid #5865f2;
2672
+ outline: 2px solid ${tokens.colors.border.focus};
2199
2673
  outline-offset: 2px;
2200
2674
  }
2201
2675
 
@@ -2209,8 +2683,8 @@ var Container8 = styled8__default.default.button`
2209
2683
  transform: translateY(-50%);
2210
2684
  width: 4px;
2211
2685
  height: 40px;
2212
- background-color: #ffffff;
2213
- border-radius: 0 4px 4px 0;
2686
+ background-color: ${tokens.colors.text.primary};
2687
+ border-radius: 0 ${tokens.borderRadius.sm} ${tokens.borderRadius.sm} 0;
2214
2688
  }
2215
2689
  `}
2216
2690
 
@@ -2220,7 +2694,7 @@ var Container8 = styled8__default.default.button`
2220
2694
  cursor: not-allowed;
2221
2695
  }
2222
2696
  `;
2223
- var LogoImage = styled8__default.default.img`
2697
+ var LogoImage = styled9__default.default.img`
2224
2698
  width: 100%;
2225
2699
  height: 100%;
2226
2700
  object-fit: contain;
@@ -2241,6 +2715,7 @@ function ServiceIcon({ brand, active = false, className, ...ariaProps }) {
2241
2715
  ServiceIcon.displayName = "ServiceIcon";
2242
2716
 
2243
2717
  exports.ActionButtons = ActionButtons;
2718
+ exports.CategoryNav = CategoryNav;
2244
2719
  exports.Icon = Icon;
2245
2720
  exports.IconNames = IconNames;
2246
2721
  exports.Layout = Layout;