impact-nova 2.1.0-alpha.7 → 2.1.0-alpha.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 (108) hide show
  1. package/dist/components/data/ag-grid-react/ag-grid.types.d.ts +6 -0
  2. package/dist/components/data/ag-grid-react/build-ag-grid-theme.d.ts +3 -0
  3. package/dist/components/data/ag-grid-react/cell-renderers/editors/input-cell-editor.js +58 -58
  4. package/dist/components/data/ag-grid-react/column-indicator-sync-bus.d.ts +9 -0
  5. package/dist/components/data/ag-grid-react/column-indicator-sync-bus.js +15 -0
  6. package/dist/components/data/ag-grid-react/headers/column-menu/column-settings-menu.js +78 -73
  7. package/dist/components/data/ag-grid-react/headers/custom-header.js +3 -1
  8. package/dist/components/data/ag-grid-react/headers/header-search-input.js +87 -91
  9. package/dist/components/data/ag-grid-react/index.d.ts +1 -1
  10. package/dist/components/data/ag-grid-react/index.js +109 -100
  11. package/dist/components/data/ag-grid-react/notify-column-indicator-sync.d.ts +3 -2
  12. package/dist/components/data/ag-grid-react/notify-column-indicator-sync.js +4 -3
  13. package/dist/components/data/ag-grid-react/sync-ag-grid-theme-mode.d.ts +3 -0
  14. package/dist/components/data/ag-grid-react/sync-ag-grid-theme-mode.js +10 -0
  15. package/dist/components/data/ag-grid-react/theme.d.ts +1 -0
  16. package/dist/components/data/ag-grid-react/theme.js +93 -21
  17. package/dist/components/data/data-table/column-indicator.d.ts +1 -1
  18. package/dist/components/data/data-table/column-indicator.js +15 -11
  19. package/dist/components/data/data-table/data-table-column-def-pin.d.ts +9 -4
  20. package/dist/components/data/data-table/data-table-column-def-pin.js +38 -38
  21. package/dist/components/data/data-table/data-table-saved-views.js +37 -37
  22. package/dist/components/data/data-table/data-table.js +78 -73
  23. package/dist/components/data/data-table/data-table.types.d.ts +7 -1
  24. package/dist/components/data/data-table/indicator-legend.d.ts +13 -2
  25. package/dist/components/data/data-table/indicator-legend.js +20 -17
  26. package/dist/components/data/data-table/pin-switch.js +9 -9
  27. package/dist/components/data/data-table/use-data-table-column-list-sync.js +92 -89
  28. package/dist/components/data/nested-list/nested-list-change-detection.d.ts +11 -0
  29. package/dist/components/data/nested-list/nested-list-change-detection.js +13 -0
  30. package/dist/components/data/nested-list/nested-list.js +107 -97
  31. package/dist/components/data-display/calendar/calendar.d.ts +1 -1
  32. package/dist/components/data-display/calendar/calendar.js +194 -189
  33. package/dist/components/data-display/chart/chart-palette.d.ts +16 -0
  34. package/dist/components/data-display/chart/chart-palette.js +28 -0
  35. package/dist/components/data-display/chart/chart.js +121 -115
  36. package/dist/components/data-display/chart/chart.utils.js +9 -6
  37. package/dist/components/data-display/chart/index.d.ts +1 -0
  38. package/dist/components/data-display/chart/index.js +15 -9
  39. package/dist/components/data-display/chart/resolve-highcharts-options.d.ts +3 -0
  40. package/dist/components/data-display/chart/resolve-highcharts-options.js +35 -0
  41. package/dist/components/data-display/statistics-card/statistics-card.color.d.ts +6 -0
  42. package/dist/components/data-display/statistics-card/statistics-card.color.js +19 -0
  43. package/dist/components/data-display/statistics-card/statistics-card.hooks.js +50 -48
  44. package/dist/components/data-display/statistics-card/statistics-card.js +127 -146
  45. package/dist/components/feedback/alert-dialog/alert-dialog.js +15 -15
  46. package/dist/components/feedback/dialog/dialog.js +3 -3
  47. package/dist/components/feedback/drawer/drawer.js +32 -32
  48. package/dist/components/feedback/sheet/sheet.js +8 -8
  49. package/dist/components/feedback/sheet/sheet.variants.js +1 -1
  50. package/dist/components/feedback/toast/toast.js +83 -92
  51. package/dist/components/flows/command-palette/command-palette-context.types.d.ts +5 -0
  52. package/dist/components/flows/command-palette/command-palette.d.ts +4 -16
  53. package/dist/components/flows/command-palette/command-palette.js +245 -258
  54. package/dist/components/flows/command-palette/command-palette.types.d.ts +9 -0
  55. package/dist/components/flows/command-palette/shortcut-overlay.js +6 -6
  56. package/dist/components/flows/filter-panel/filter-panel.d.ts +3 -2
  57. package/dist/components/flows/filter-panel/filter-panel.js +99 -104
  58. package/dist/components/flows/filter-strip/filter-summary.js +41 -41
  59. package/dist/components/flows/filter-strip/filter-tag-list.js +48 -48
  60. package/dist/components/flows/wizard/wizard.js +32 -32
  61. package/dist/components/forms/choice-card/choice-card.d.ts +2 -2
  62. package/dist/components/forms/choice-card/choice-card.js +156 -166
  63. package/dist/components/forms/combobox/combobox.js +70 -70
  64. package/dist/components/forms/date-picker/date-picker.js +31 -30
  65. package/dist/components/forms/file-upload/file-upload.js +146 -168
  66. package/dist/components/forms/prompt/prompt.js +47 -48
  67. package/dist/components/forms/select/components/SelectAllRow.js +14 -14
  68. package/dist/components/forms/select/components/SelectMenuFooter.js +12 -12
  69. package/dist/components/forms/select/components/SelectMenuHeader.js +44 -44
  70. package/dist/components/forms/select/components/SelectMenuListBody.js +22 -22
  71. package/dist/components/forms/select/components/SelectMenuPanel.js +8 -8
  72. package/dist/components/forms/select/components/SelectOptionRow.js +62 -62
  73. package/dist/components/forms/select/select.d.ts +5 -4
  74. package/dist/components/forms/select/select.js +123 -120
  75. package/dist/components/forms/select/select.types.d.ts +95 -204
  76. package/dist/components/forms/slider/slider.js +17 -17
  77. package/dist/components/forms/smart-input/smart-input.js +49 -49
  78. package/dist/components/forms/textarea/textarea.js +25 -25
  79. package/dist/components/layout/breadcrumb/breadcrumb.js +112 -118
  80. package/dist/components/layout/header/header.d.ts +5 -17
  81. package/dist/components/layout/header/header.js +113 -116
  82. package/dist/components/layout/header/header.types.d.ts +3 -0
  83. package/dist/components/layout/sidebar/sidebar.js +5 -5
  84. package/dist/components/layout/sidebar/sidebar.variants.js +1 -1
  85. package/dist/components/primitives/accordion/accordion.js +38 -41
  86. package/dist/components/primitives/kbd/kbd.variants.js +1 -1
  87. package/dist/i18n/defaultMessages.d.ts +2 -0
  88. package/dist/i18n/defaultMessages.js +6 -4
  89. package/dist/i18n/locales/de.js +2 -0
  90. package/dist/i18n/locales/es.js +2 -0
  91. package/dist/i18n/locales/hi.js +2 -0
  92. package/dist/i18n/locales/kn.js +2 -0
  93. package/dist/impact-nova-base.scss +8 -5
  94. package/dist/impact-nova-components.css +2 -2
  95. package/dist/impact-nova-tokens.scss +346 -189
  96. package/dist/impact-nova.css +1 -1
  97. package/dist/index.js +505 -499
  98. package/dist/lib/resolve-design-token-color.d.ts +5 -0
  99. package/dist/lib/resolve-design-token-color.js +12 -0
  100. package/dist/llms/rules/ag-grid.js +1 -1
  101. package/dist/llms/rules/installation.js +1 -1
  102. package/dist/llms/rules/requirements.js +1 -1
  103. package/dist/tailwind.config.js +297 -0
  104. package/dist/theme/tailwind-colors.js +199 -0
  105. package/dist/theme/tokens/chart-series-palette.json.d.ts +53 -0
  106. package/dist/theme/tokens/chart-series-palette.json.js +7 -0
  107. package/package.json +32 -259
  108. package/tailwind.config.js +0 -335
@@ -233,8 +233,8 @@
233
233
  left: 16px;
234
234
  z-index: 99999;
235
235
  padding: 8px 16px;
236
- background: hsl(var(--primary, 232 83% 60%));
237
- color: hsl(var(--primary-foreground, 0 0% 100%));
236
+ background: var(--color-primary);
237
+ color: var(--color-primary-foreground);
238
238
  border-radius: 0 0 6px 6px;
239
239
  font-weight: 600;
240
240
  font-size: 14px;
@@ -243,13 +243,15 @@
243
243
  }
244
244
  /* Sidebar buttons — inset focus ring via ::after pseudo-element */
245
245
  [data-sidebar="menu-button"],
246
- [data-sidebar="menu-sub-button"] {
246
+ [data-sidebar="menu-sub-button"],
247
+ [data-sidebar="trigger"] {
247
248
  position: relative;
248
249
  }
249
250
 
250
251
  [data-sidebar="content"] [data-sidebar="menu-button"]:focus-visible,
251
252
  [data-sidebar="content"] [data-sidebar="menu-sub-button"]:focus-visible,
252
- [data-sidebar="footer"] [data-sidebar="menu-button"]:focus-visible {
253
+ [data-sidebar="footer"] [data-sidebar="menu-button"]:focus-visible,
254
+ [data-sidebar="trigger"]:focus-visible {
253
255
  outline: none !important;
254
256
  box-shadow: none !important;
255
257
  --tw-ring-shadow: none !important;
@@ -258,7 +260,8 @@
258
260
  [data-sidebar="content"] [data-sidebar="menu-button"]:focus-visible::after,
259
261
  [data-sidebar="content"]
260
262
  [data-sidebar="menu-sub-button"]:focus-visible::after,
261
- [data-sidebar="footer"] [data-sidebar="menu-button"]:focus-visible::after {
263
+ [data-sidebar="footer"] [data-sidebar="menu-button"]:focus-visible::after,
264
+ [data-sidebar="trigger"]:focus-visible::after {
262
265
  content: "";
263
266
  position: absolute;
264
267
  inset: 2px;
@@ -449,8 +449,8 @@
449
449
  border: none;
450
450
  border-radius: 8px;
451
451
  overflow: hidden;
452
- background-color: var(--ag-tooltip-background-color, #1f2b4d);
453
- color: var(--ag-tooltip-text-color, #ffffff);
452
+ background-color: var(--ag-tooltip-background-color, var(--color-foreground));
453
+ color: var(--ag-tooltip-text-color, var(--color-primary-foreground));
454
454
  font: 400 14px/20px;
455
455
  font-weight: 400;
456
456
  font-family: 'Manrope', sans-serif !important;
@@ -1,136 +1,126 @@
1
1
  @layer base {
2
2
  :root {
3
- /* —— Canvas & default content —— */
3
+ /* —— Canvas & default content / surfaces —— */
4
4
  --color-background: #ffffff;
5
- --color-foreground: #1f2b4d;
6
-
7
- /* —— Surfaces (elevation / layering) —— */
5
+ --color-surface-accordion: #b3bdf8;
6
+ --color-surface-canvas: #f2f4fa;
8
7
  --color-surface-elevated: #ffffff;
9
8
  --color-surface-elevated-foreground: #1f2b4d;
10
9
  --color-surface-floating: #ffffff;
11
10
  --color-surface-floating-foreground: #1f2b4d;
12
- --color-surface-muted: #f5f6fa;
13
- --color-surface-canvas: #f2f4fa;
14
11
  --color-surface-input-disabled: #f2f4fa;
12
+ --color-surface-muted: #f5f6fa;
15
13
  --color-surface-readonly: #f5f6fa;
16
- --color-surface-tint-blue: #eff2fa;
17
- --color-surface-accordion: #b3bdf8;
18
14
  --color-surface-selection-tint: #eceefd;
19
15
  --color-surface-subtle: #f8f9fb;
16
+ --color-surface-tint-blue: #eff2fa;
20
17
 
21
18
  /* —— Brand & interactive —— */
22
- /* #4259EE */
19
+ --color-accent: #eceefd;
20
+ --color-accent-foreground: #29399f;
21
+ --color-muted: #d9dde7;
22
+ --color-muted-foreground: #415ca4;
23
23
  --color-primary: #4259ee;
24
24
  --color-primary-foreground: #ffffff;
25
- --color-primary-strong: #29399f;
26
25
  --color-primary-hover: #3649c6;
27
- --color-primary-surface-subtle: #eff2fa;
28
26
  --color-primary-on-surface-subtle: #5167f5;
29
27
  --color-primary-selection: #eceefd;
30
- /* IA DS #ECEEFD — aligned with --color-accent (hover / highlight surface) */
31
28
  --color-primary-soft: #eceefd;
32
29
  --color-primary-soft-hover: #d5dafb;
30
+ --color-primary-strong: #29399f;
31
+ --color-primary-surface-subtle: #eff2fa;
33
32
  --color-primary-variant: #4459e4;
34
33
  --color-primary-variant-hover: #3347c7;
35
- /* Not Figma Violet — use --color-header-badge-gradient-from for header Beta badge */
36
-
37
34
  --color-secondary: #f5f6fa;
38
35
  --color-secondary-foreground: #60697d;
39
36
  --color-secondary-hover-foreground: #3649c6;
40
37
 
41
- /* Hover / selection tint IA DS #ECEEFD (was ~#EDEFFC at 232 75% 96%) */
42
- --color-accent: #eceefd;
43
- --color-accent-foreground: #29399f;
44
-
45
- --color-muted: #d9dde7;
46
- --color-muted-foreground: #415ca4;
47
-
48
- /* —— Content tone scale (labels, placeholders, icons) —— */
49
- --color-foreground-secondary: #5f687c;
50
- --color-foreground-tertiary: #646a78;
51
- --color-foreground-placeholder: #b4bac7;
38
+ /* —— Content tone scale —— */
39
+ --color-foreground: #1f2b4d;
52
40
  --color-foreground-empty: #dfe2e7;
53
41
  --color-foreground-icon: #7a8294;
54
- /* Header notification bell (default); hover uses --color-foreground via text-content */
42
+ --color-foreground-placeholder: #b4bac7;
43
+ --color-foreground-secondary: #5f687c;
44
+ --color-foreground-tertiary: #646a78;
45
+ --color-foreground-title: #0d152c;
55
46
  --color-header-notification-icon: #60697d;
56
-
57
- /* Header bot button animated gradient stops */
58
- --color-header-bot-gradient-teal: #2ac2aa;
59
- --color-header-bot-gradient-indigo: #6666ef;
60
- --color-header-bot-gradient-orange: #f26922;
61
- --color-header-bot-gradient-purple: #8863c0;
62
- --color-header-bot-gradient-navy: #0f1937;
63
- --color-header-bot-gradient-teal-hover: #2ac2ee;
64
- --color-header-bot-gradient-indigo-hover: #6962ef;
65
- --color-header-bot-gradient-orange-hover: #f26921;
66
-
67
- /* Header title badge — Figma Violet/500 → Primary (Item Smart “Beta” pill) */
68
- --color-header-badge-gradient-from: #be77ee;
69
- --color-header-badge-gradient-to: var(--color-primary);
70
-
71
- // --color-secondary: #31416E;
72
-
73
- --color-neutral-charcoal: #41536c;
74
47
  --color-neutral-badge: #5f6572;
48
+ --color-neutral-charcoal: #41536c;
75
49
 
76
50
  /* —— Borders & focus —— */
77
51
  --color-border: #d9dde7;
78
- --color-border-subtle: #ebebef;
79
- --color-border-tertiary: #c5c9d3;
80
- --color-border-hairline: #e3e5ed;
81
- --color-border-strong: #c5c9d3;
82
52
  --color-border-accent-muted: #b3bdf8;
83
- /* Figma purple scale 500 — AG Grid header group alternating border (odd) */
84
53
  --color-border-grid-header-group-purple: #ad97ce;
85
- /* AG Grid pinned total / summary rows */
54
+ --color-border-hairline: #e3e5ed;
55
+ --color-border-strong: #c5c9d3;
56
+ --color-border-subtle: #ebebef;
57
+ --color-border-tertiary: #c5c9d3;
86
58
  --color-grid-pinned-row-background: #f4f1f9;
87
59
  --color-input: #d9dde7;
88
60
  --color-ring: #1f2b4d;
89
61
 
90
62
  /* —— Forms & validation —— */
91
- --color-disabled-surface: #f8f9fb;
92
- --color-disabled-foreground: #b4bac7;
93
- --color-disabled-border: #dcdee5;
94
- --color-danger-validation: #e05452;
95
63
  --color-danger-bright: #ef4444;
64
+ --color-danger-validation: #e05452;
65
+ --color-disabled-border: #dcdee5;
66
+ --color-disabled-foreground: #b4bac7;
67
+ --color-disabled-surface: #f8f9fb;
96
68
 
97
- /* —— Badge (IA DS v3.1 — Figma alert-badge) —— */
98
- /* Filled/outline “Information” #5267F4 — not global brand / links (#4259EE). */
99
- --color-badge-info-filled: #5267f4;
100
- --color-badge-neutral-muted: #f1f2f3;
101
- --color-badge-info-muted: #eff2fa;
102
- --color-badge-warning-filled: #ffe875;
103
- --color-badge-warning-muted: #fdfae8;
104
- --color-badge-warning-text: #8e7306;
69
+ /* —— Badge (IA DS v3.1) —— */
105
70
  --color-badge-error-filled: #ec4b58;
106
71
  --color-badge-error-muted: #fef6f7;
107
72
  --color-badge-error-text: #d6312e;
73
+ --color-badge-info-filled: #5267f4;
74
+ --color-badge-info-muted: #eff2fa;
75
+ --color-badge-neutral-muted: #f1f2f3;
108
76
  --color-badge-success-filled: #108431;
109
77
  --color-badge-success-muted: #f5fff8;
110
78
  --color-badge-success-text: #108431;
79
+ --color-badge-warning-filled: #ffe875;
80
+ --color-badge-warning-muted: #fdfae8;
81
+ --color-badge-warning-text: #8e7306;
111
82
 
112
- /* —— Button (IA DS v3.1 — primary disabled) —— */
113
- /* #C3C8D4 — solid fill when Type=Primary, State=Disabled */
83
+ /* —— Component-specific —— */
114
84
  --color-button-primary-disabled: #c3c8d4;
85
+ --color-header-badge-gradient-from: #be77ee;
86
+ --color-header-badge-gradient-to: var(--color-primary);
87
+ --color-header-bot-gradient-indigo: #6666ef;
88
+ --color-header-bot-gradient-indigo-hover: #6962ef;
89
+ --color-header-bot-gradient-navy: #0f1937;
90
+ --color-header-bot-gradient-orange: #f26922;
91
+ --color-header-bot-gradient-orange-hover: #f26921;
92
+ --color-header-bot-gradient-purple: #8863c0;
93
+ --color-header-bot-gradient-teal: #2ac2aa;
94
+ --color-header-bot-gradient-teal-hover: #2ac2ee;
95
+ --color-indicator-filter: #687af1;
96
+ --color-indicator-sort: #ae57ea;
97
+ --color-pin-switch-label-active: #1f2b4d;
98
+ --color-pin-switch-label-inactive: #60697d;
99
+ --color-pin-switch-track-bg: #f5f6fa;
100
+ --color-pin-switch-track-border: #eff2fa;
101
+ --color-pin-switch-track-hover: #ebedf5;
102
+ --color-tab-active-border: #4259ee;
103
+ --color-tab-active-foreground: #3649c6;
104
+ --color-tab-active-surface: #f8f9fb;
105
+ --color-tab-hover-border: #c6ccf1;
106
+ --color-tab-hover-foreground: #7a83b8;
107
+ --color-tab-hover-surface: #f2f3fd;
115
108
 
116
109
  /* —— Status & feedback —— */
117
110
  --color-destructive: #e15554;
118
- --color-destructive-hover: #ab3939;
119
111
  --color-destructive-foreground: #ffffff;
112
+ --color-destructive-hover: #ab3939;
113
+ --color-error-border: #f3c0bf;
114
+ --color-error-surface: #fceeee;
115
+ --color-info-border: #c6cdfb;
116
+ --color-info-surface: #e0f4ff;
120
117
  --color-success: #3bb273;
118
+ --color-success-border: #c4e8d5;
121
119
  --color-success-foreground: #ffffff;
120
+ --color-success-surface: #ebf7f1;
122
121
  --color-warning: #e1bc29;
123
- --color-info-surface: #e0f4ff;
124
- /* Inline alert / feedback outline (#C6CDFB) */
125
- --color-info-border: #c6cdfb;
126
- --color-warning-surface: #fcf8ea;
127
- /* Inline alert / feedback outline (#FFE770) */
128
122
  --color-warning-border: #ffe770;
129
- --color-error-surface: #fceeee;
130
- /* Inline alert / feedback outline (#F3C1C0) */
131
- --color-error-border: #f3c0bf;
132
- --color-success-surface: #ebf7f1;
133
- --color-success-border: #c4e8d5;
123
+ --color-warning-surface: #fcf8ea;
134
124
 
135
125
  /* —— Data visualization —— */
136
126
  --color-chart-1: #4259ee;
@@ -141,142 +131,309 @@
141
131
  --color-data-cohort: #367c3b;
142
132
  --color-track-muted: #e8eaed;
143
133
 
144
- /* —— Column indicators (sort/filter badges in column settings panel) —— */
145
- --color-indicator-sort: #ae57ea;
146
- --color-indicator-filter: #687af1;
147
-
148
- /* —— Pin switch (column pinning control) —— */
149
- --color-pin-switch-label-active: #1f2b4d;
150
- --color-pin-switch-label-inactive: #60697d;
151
- --color-pin-switch-track-bg: #f5f6fa;
152
- --color-pin-switch-track-border: #eff2fa;
153
- --color-pin-switch-track-hover: #ebedf5;
154
-
155
134
  /* —— Navigation (sidebar shell) —— */
156
135
  --color-sidebar-background: #0f1729;
136
+ --color-sidebar-border: #1b294b;
137
+ --color-sidebar-canvas: #f8f9fb;
157
138
  --color-sidebar-foreground: #ffffff;
158
- --color-sidebar-surface: #0f1729;
159
- --color-sidebar-on-surface: #ffffff;
139
+ --color-sidebar-foreground-muted: #7a8294;
160
140
  --color-sidebar-hover: #141f38;
161
- --color-sidebar-on-hover: #ffffff;
162
- --color-sidebar-border: #1b294b;
163
- --color-sidebar-ring: #3b82f6;
164
141
  --color-sidebar-indicator: #00ff00;
165
- --color-sidebar-item-hover: #303e6e;
166
142
  --color-sidebar-item-active: #1f2b4d;
167
- --color-sidebar-foreground-muted: #7a8294;
168
- --color-sidebar-canvas: #f8f9fb;
169
-
170
- /* —— Tabs (box variant defaults; overridable per-instance via --tab-*) —— */
171
- --color-tab-hover-border: #c6ccf1;
172
- --color-tab-hover-surface: #f2f3fd;
173
- --color-tab-hover-foreground: #7a83b8;
174
- --color-tab-active-border: #4259ee;
175
- --color-tab-active-surface: #f8f9fb;
176
- --color-tab-active-foreground: #3649c6;
143
+ --color-sidebar-item-hover: #303e6e;
144
+ --color-sidebar-on-hover: #ffffff;
145
+ --color-sidebar-on-surface: #ffffff;
146
+ --color-sidebar-ring: #3b82f6;
147
+ --color-sidebar-surface: #0f1729;
177
148
 
149
+ /* —— Elevation shadows —— */
150
+ --shadow-alert-elevated: 0 0 16px 5px rgb(0 0 0 / 0.12);
151
+ --shadow-elevation-card: 0px 2px 8px 0px rgb(0 0 0 / 5%);
152
+ --shadow-elevation-dialog-footer: 0 -4px 6px -1px rgb(0 0 0 / 5%);
153
+ --shadow-elevation-floating: 0px 0px 4px 0px rgb(0 0 0 / 12%);
154
+ --shadow-elevation-header: 0px 0px 16px 2px rgb(0 0 0 / 6%);
155
+ --shadow-elevation-kbd-dark: 0 1px 0 0 hsl(0 0% 0% / 0.25);
156
+ --shadow-elevation-menu-ag-grid: #00000040 0px 0px 2px 0px;
157
+ --shadow-elevation-pin-switch: 1px 1px 7px 5px rgb(0 0 0 / 6%);
158
+ --shadow-elevation-select: 0px 1px 6px 0px rgb(26 39 124 / 14%);
159
+ --shadow-elevation-settings: 0px 0px 2px 0px rgb(0 0 0 / 25%);
160
+ --shadow-elevation-toast: 0px 10px 30px 0px rgb(0 0 0 / 15%);
161
+ --shadow-elevation-wizard-footer: 0 -4px 8px -6px rgb(13 21 44 / 8%);
162
+
163
+ /* —— Overlay / scrim —— */
164
+ --color-scrim: hsl(0 0% 0% / 0.4);
165
+ --color-scrim-deep: hsl(0 0% 0% / 0.8);
166
+ --color-scrim-hover: hsl(0 0% 0% / 0.05);
167
+ --color-scrim-light: hsl(0 0% 0% / 0.06);
168
+ --color-scrim-skeleton: hsl(0 0% 0% / 0.1);
169
+
170
+ /* —— Radius —— */
178
171
  --radius: 0.5rem;
172
+ /* —— Chart series palette (6–50; 1–5 are chart-1..chart-5 above) —— */
173
+ --color-chart-series-06: #d260a6;
174
+ --color-chart-series-07: #dc6a83;
175
+ --color-chart-series-08: #e58a76;
176
+ --color-chart-series-09: #b1711b;
177
+ --color-chart-series-10: #cac416;
178
+ --color-chart-series-11: #8dbf36;
179
+ --color-chart-series-12: #5ed039;
180
+ --color-chart-series-13: #43db59;
181
+ --color-chart-series-14: #4ee4a0;
182
+ --color-chart-series-15: #5aede4;
183
+ --color-chart-series-16: #80bddb;
184
+ --color-chart-series-17: #2749a5;
185
+ --color-chart-series-18: #3724bc;
186
+ --color-chart-series-19: #7e20d5;
187
+ --color-chart-series-20: #d523e7;
188
+ --color-chart-series-21: #ce50a7;
189
+ --color-chart-series-22: #d85a80;
190
+ --color-chart-series-23: #e27165;
191
+ --color-chart-series-24: #eaac71;
192
+ --color-chart-series-25: #b8a514;
193
+ --color-chart-series-26: #8caf31;
194
+ --color-chart-series-27: #60c62f;
195
+ --color-chart-series-28: #31d83d;
196
+ --color-chart-series-29: #3ce289;
197
+ --color-chart-series-30: #47ebd3;
198
+ --color-chart-series-31: #70bdd7;
199
+ --color-chart-series-32: #7b9fe0;
200
+ --color-chart-series-33: #2621ab;
201
+ --color-chart-series-34: #651dc3;
202
+ --color-chart-series-35: #bb18dc;
203
+ --color-chart-series-36: #c940aa;
204
+ --color-chart-series-37: #d4497e;
205
+ --color-chart-series-38: #de5554;
206
+ --color-chart-series-39: #e7975f;
207
+ --color-chart-series-40: #efd56c;
208
+ --color-chart-series-41: #899f2d;
209
+ --color-chart-series-42: #64b62b;
210
+ --color-chart-series-43: #2ace27;
211
+ --color-chart-series-44: #2adf6f;
212
+ --color-chart-series-45: #35e9c0;
213
+ --color-chart-series-46: #60bfd2;
214
+ --color-chart-series-47: #6a9cdc;
215
+ --color-chart-series-48: #767be5;
216
+ --color-chart-series-49: #501bb1;
217
+ --color-chart-series-50: #9d16ca;
179
218
 
180
- /* —— Alert elevation (emphasis) —— */
181
- --shadow-alert-elevated: 0 0 16px 5px rgb(0 0 0 / 0.12);
182
219
  }
183
220
 
184
221
  .dark {
185
- /* —— Canvas & default content —— */
186
- --color-background: #0f1729;
187
- --color-foreground: #f8f9fb;
188
-
189
- /* —— Surfaces —— */
190
- --color-surface-elevated: #141f38;
191
- --color-surface-elevated-foreground: #f8f9fb;
192
- --color-surface-floating: #1b294b;
193
- --color-surface-floating-foreground: #f8f9fb;
194
- --color-surface-muted: #141f38;
195
- --color-surface-canvas: #0f1729;
196
- --color-surface-input-disabled: #1b294b;
197
- --color-surface-readonly: #141f38;
198
- --color-surface-tint-blue: #1b294b;
199
- --color-surface-accordion: #29399f;
200
- --color-surface-selection-tint: #1f2b4d;
201
- --color-surface-subtle: #141f38;
222
+ /* —— Canvas & default content / surfaces —— */
223
+ --color-background: #0a0a0a;
224
+ --color-surface-accordion: #262626;
225
+ --color-surface-canvas: #0a0a0a;
226
+ --color-surface-elevated: #171717;
227
+ --color-surface-elevated-foreground: #fafafa;
228
+ --color-surface-floating: #262626;
229
+ --color-surface-floating-foreground: #fafafa;
230
+ --color-surface-input-disabled: #262626;
231
+ --color-surface-muted: #262626;
232
+ --color-surface-readonly: #171717;
233
+ --color-surface-selection-tint: #404040;
234
+ --color-surface-subtle: #171717;
235
+ --color-surface-tint-blue: #262626;
202
236
 
203
237
  /* —— Brand & interactive —— */
204
- --color-primary: #5267f4;
205
- --color-primary-foreground: #ffffff;
206
- --color-primary-strong: #6b7ef7;
207
- --color-primary-hover: #6b7ef7;
208
- --color-primary-surface-subtle: #1b294b;
209
- --color-primary-on-surface-subtle: #8b9af8;
210
- --color-primary-selection: #1f2b4d;
211
- --color-primary-soft: #1f2b4d;
212
- --color-primary-soft-hover: #29399f;
213
- --color-primary-variant: #5267f4;
214
- --color-primary-variant-hover: #6b7ef7;
215
-
216
- --color-secondary: #141f38;
217
- --color-secondary-foreground: #b4bac7;
218
- --color-secondary-hover-foreground: #8b9af8;
219
-
220
- --color-accent: #1f2b4d;
221
- --color-accent-foreground: #8b9af8;
222
-
223
- --color-muted: #1b294b;
224
- --color-muted-foreground: #8b9af8;
238
+ --color-accent: #404040;
239
+ --color-accent-foreground: #fafafa;
240
+ --color-muted: #262626;
241
+ --color-muted-foreground: #a1a1a1;
242
+ --color-primary: #e5e5e5;
243
+ --color-primary-foreground: #171717;
244
+ --color-primary-hover: #fafafa;
245
+ --color-primary-on-surface-subtle: #fafafa;
246
+ --color-primary-selection: #404040;
247
+ --color-primary-soft: #262626;
248
+ --color-primary-soft-hover: #404040;
249
+ --color-primary-strong: #fafafa;
250
+ --color-primary-surface-subtle: #262626;
251
+ --color-primary-variant: #e5e5e5;
252
+ --color-primary-variant-hover: #fafafa;
253
+ --color-secondary: #262626;
254
+ --color-secondary-foreground: #fafafa;
255
+ --color-secondary-hover-foreground: #fafafa;
225
256
 
226
257
  /* —— Content tone scale —— */
227
- --color-foreground-secondary: #b4bac7;
228
- --color-foreground-tertiary: #9aa3b5;
229
- --color-foreground-placeholder: #60697d;
230
- --color-foreground-empty: #41536c;
231
- --color-foreground-icon: #9aa3b5;
232
- --color-header-notification-icon: #b4bac7;
233
-
234
- --color-header-badge-gradient-from: #be77ee;
235
- --color-header-badge-gradient-to: var(--color-primary);
236
-
237
- --color-neutral-charcoal: #b4bac7;
238
- --color-neutral-badge: #9aa3b5;
258
+ --color-foreground: #fafafa;
259
+ --color-foreground-empty: #737373;
260
+ --color-foreground-icon: #a1a1a1;
261
+ --color-foreground-placeholder: #737373;
262
+ --color-foreground-secondary: #a1a1a1;
263
+ --color-foreground-tertiary: #737373;
264
+ --color-foreground-title: #fafafa;
265
+ --color-header-notification-icon: #a1a1a1;
266
+ --color-neutral-badge: #a1a1a1;
267
+ --color-neutral-charcoal: #fafafa;
239
268
 
240
269
  /* —— Borders & focus —— */
241
- --color-border: #1b294b;
242
- --color-border-subtle: #141f38;
243
- --color-border-tertiary: #29399f;
244
- --color-border-hairline: #1b294b;
245
- --color-border-strong: #29399f;
246
- --color-border-accent-muted: #3649c6;
247
- --color-border-grid-header-group-purple: #6b5a8a;
248
- --color-grid-pinned-row-background: #1b294b;
249
- --color-input: #1b294b;
250
- --color-ring: #8b9af8;
270
+ --color-border: #282828;
271
+ --color-border-accent-muted: #737373;
272
+ --color-border-grid-header-group-purple: #525252;
273
+ --color-border-hairline: #282828;
274
+ --color-border-strong: #404040;
275
+ --color-border-subtle: #282828;
276
+ --color-border-tertiary: #343434;
277
+ --color-grid-pinned-row-background: #171717;
278
+ --color-input: #343434;
279
+ --color-ring: #737373;
251
280
 
252
281
  /* —— Forms & validation —— */
253
- --color-disabled-surface: #141f38;
254
- --color-disabled-foreground: #60697d;
255
- --color-disabled-border: #1b294b;
256
- --color-danger-validation: #f87171;
257
- --color-danger-bright: #ef4444;
282
+ --color-danger-bright: #ff6467;
283
+ --color-danger-validation: #ff6467;
284
+ --color-disabled-border: #282828;
285
+ --color-disabled-foreground: #a1a1a1;
286
+ --color-disabled-surface: #171717;
287
+
288
+ /* —— Badge (IA DS v3.1) —— */
289
+ --color-badge-error-filled: #ff6467;
290
+ --color-badge-error-muted: #3f1515;
291
+ --color-badge-error-text: #ff9a9c;
292
+ --color-badge-info-filled: #1447e6;
293
+ --color-badge-info-muted: #172554;
294
+ --color-badge-neutral-muted: #262626;
295
+ --color-badge-success-filled: #22c55e;
296
+ --color-badge-success-muted: #14291f;
297
+ --color-badge-success-text: #86efac;
298
+ --color-badge-warning-filled: #f59e0b;
299
+ --color-badge-warning-muted: #2d2410;
300
+ --color-badge-warning-text: #fcd34d;
301
+
302
+ /* —— Component-specific —— */
303
+ --color-button-primary-disabled: #404040;
304
+ --color-header-badge-gradient-from: #1447e6;
305
+ --color-header-badge-gradient-to: #3a81f6;
306
+ --color-header-bot-gradient-indigo: #3a81f6;
307
+ --color-header-bot-gradient-indigo-hover: #91c5ff;
308
+ --color-header-bot-gradient-navy: #171717;
309
+ --color-header-bot-gradient-orange: #f97316;
310
+ --color-header-bot-gradient-orange-hover: #fb923c;
311
+ --color-header-bot-gradient-purple: #1f3fad;
312
+ --color-header-bot-gradient-teal: #2dd4bf;
313
+ --color-header-bot-gradient-teal-hover: #5eead4;
314
+ --color-indicator-filter: #1447e6;
315
+ --color-indicator-sort: #1f3fad;
316
+ --color-pin-switch-label-active: #fafafa;
317
+ --color-pin-switch-label-inactive: #737373;
318
+ --color-pin-switch-track-bg: #171717;
319
+ --color-pin-switch-track-border: #282828;
320
+ --color-pin-switch-track-hover: #404040;
321
+ --color-tab-active-border: #fafafa;
322
+ --color-tab-active-foreground: #fafafa;
323
+ --color-tab-active-surface: #262626;
324
+ --color-tab-hover-border: #737373;
325
+ --color-tab-hover-foreground: #fafafa;
326
+ --color-tab-hover-surface: #404040;
327
+
328
+ /* —— Status & feedback —— */
329
+ --color-destructive: #ff6467;
330
+ --color-destructive-foreground: #fafafa;
331
+ --color-destructive-hover: #ef4444;
332
+ --color-error-border: #5c2020;
333
+ --color-error-surface: #2a1212;
334
+ --color-info-border: #1e3a5f;
335
+ --color-info-surface: #262626;
336
+ --color-success: #22c55e;
337
+ --color-success-border: #14532d;
338
+ --color-success-foreground: #fafafa;
339
+ --color-success-surface: #14291f;
340
+ --color-warning: #f59e0b;
341
+ --color-warning-border: #422006;
342
+ --color-warning-surface: #2d2410;
343
+
344
+ /* —— Data visualization —— */
345
+ --color-chart-1: #91c5ff;
346
+ --color-chart-2: #3a81f6;
347
+ --color-chart-3: #2563ef;
348
+ --color-chart-4: #1a4eda;
349
+ --color-chart-5: #1f3fad;
350
+ --color-data-cohort: #4ade80;
351
+ --color-track-muted: #343434;
258
352
 
259
353
  /* —— Navigation (sidebar shell) —— */
260
- --color-sidebar-background: #0a1020;
261
- --color-sidebar-foreground: #ffffff;
262
- --color-sidebar-surface: #0a1020;
263
- --color-sidebar-on-surface: #ffffff;
264
- --color-sidebar-hover: #141f38;
265
- --color-sidebar-on-hover: #ffffff;
266
- --color-sidebar-border: #1b294b;
267
- --color-sidebar-ring: #3b82f6;
268
- --color-sidebar-indicator: #00ff00;
269
- --color-sidebar-item-hover: #29399f;
270
- --color-sidebar-item-active: #1f2b4d;
271
- --color-sidebar-foreground-muted: #9aa3b5;
272
- --color-sidebar-canvas: #0f1729;
354
+ --color-sidebar-background: #171717;
355
+ --color-sidebar-border: #282828;
356
+ --color-sidebar-canvas: #171717;
357
+ --color-sidebar-foreground: #fafafa;
358
+ --color-sidebar-foreground-muted: #a1a1a1;
359
+ --color-sidebar-hover: #262626;
360
+ --color-sidebar-indicator: #1447e6;
361
+ --color-sidebar-item-active: #262626;
362
+ --color-sidebar-item-hover: #404040;
363
+ --color-sidebar-on-hover: #fafafa;
364
+ --color-sidebar-on-surface: #fafafa;
365
+ --color-sidebar-ring: #525252;
366
+ --color-sidebar-surface: #171717;
367
+
368
+ /* —— Elevation shadows —— */
369
+ --shadow-alert-elevated: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 4px 6px -1px hsl(0 0% 0% / 0.10);
370
+ --shadow-elevation-card: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 1px 2px -1px hsl(0 0% 0% / 0.10);
371
+ --shadow-elevation-dialog-footer: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 2px 4px -1px hsl(0 0% 0% / 0.10);
372
+ --shadow-elevation-floating: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 1px 2px -1px hsl(0 0% 0% / 0.10);
373
+ --shadow-elevation-header: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 2px 4px -1px hsl(0 0% 0% / 0.10);
374
+ --shadow-elevation-kbd-dark: 0 1px 0 0 hsl(0 0% 0% / 0.25);
375
+ --shadow-elevation-menu-ag-grid: hsl(0 0% 0% / 0.35) 0px 0px 4px 0px;
376
+ --shadow-elevation-pin-switch: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 1px 2px -1px hsl(0 0% 0% / 0.10);
377
+ --shadow-elevation-select: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 2px 4px -1px hsl(0 0% 0% / 0.10);
378
+ --shadow-elevation-settings: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 1px 2px -1px hsl(0 0% 0% / 0.10);
379
+ --shadow-elevation-toast: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 4px 6px -1px hsl(0 0% 0% / 0.10);
380
+ --shadow-elevation-wizard-footer: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 2px 4px -1px hsl(0 0% 0% / 0.10);
381
+
382
+ /* —— Overlay / scrim —— */
383
+ --color-scrim: hsl(0 0% 0% / 0.55);
384
+ --color-scrim-deep: hsl(0 0% 0% / 0.85);
385
+ --color-scrim-hover: hsl(0 0% 0% / 0.65);
386
+ --color-scrim-light: hsl(0 0% 0% / 0.35);
387
+ --color-scrim-skeleton: hsl(0 0% 100% / 0.06);
388
+
389
+ /* —— Radius —— */
390
+ --radius: 0.625rem;
391
+ /* —— Chart series palette (6–50; 1–5 are chart-1..chart-5 above) —— */
392
+ --color-chart-series-06: #d260a6;
393
+ --color-chart-series-07: #dc6a83;
394
+ --color-chart-series-08: #e58a76;
395
+ --color-chart-series-09: #b1711b;
396
+ --color-chart-series-10: #cac416;
397
+ --color-chart-series-11: #8dbf36;
398
+ --color-chart-series-12: #5ed039;
399
+ --color-chart-series-13: #43db59;
400
+ --color-chart-series-14: #4ee4a0;
401
+ --color-chart-series-15: #5aede4;
402
+ --color-chart-series-16: #80bddb;
403
+ --color-chart-series-17: #2749a5;
404
+ --color-chart-series-18: #3724bc;
405
+ --color-chart-series-19: #7e20d5;
406
+ --color-chart-series-20: #d523e7;
407
+ --color-chart-series-21: #ce50a7;
408
+ --color-chart-series-22: #d85a80;
409
+ --color-chart-series-23: #e27165;
410
+ --color-chart-series-24: #eaac71;
411
+ --color-chart-series-25: #b8a514;
412
+ --color-chart-series-26: #8caf31;
413
+ --color-chart-series-27: #60c62f;
414
+ --color-chart-series-28: #31d83d;
415
+ --color-chart-series-29: #3ce289;
416
+ --color-chart-series-30: #47ebd3;
417
+ --color-chart-series-31: #70bdd7;
418
+ --color-chart-series-32: #7b9fe0;
419
+ --color-chart-series-33: #2621ab;
420
+ --color-chart-series-34: #651dc3;
421
+ --color-chart-series-35: #bb18dc;
422
+ --color-chart-series-36: #c940aa;
423
+ --color-chart-series-37: #d4497e;
424
+ --color-chart-series-38: #de5554;
425
+ --color-chart-series-39: #e7975f;
426
+ --color-chart-series-40: #efd56c;
427
+ --color-chart-series-41: #899f2d;
428
+ --color-chart-series-42: #64b62b;
429
+ --color-chart-series-43: #2ace27;
430
+ --color-chart-series-44: #2adf6f;
431
+ --color-chart-series-45: #35e9c0;
432
+ --color-chart-series-46: #60bfd2;
433
+ --color-chart-series-47: #6a9cdc;
434
+ --color-chart-series-48: #767be5;
435
+ --color-chart-series-49: #501bb1;
436
+ --color-chart-series-50: #9d16ca;
273
437
 
274
- /* —— Tabs —— */
275
- --color-tab-hover-border: #3649c6;
276
- --color-tab-hover-surface: #1b294b;
277
- --color-tab-hover-foreground: #8b9af8;
278
- --color-tab-active-border: #5267f4;
279
- --color-tab-active-surface: #141f38;
280
- --color-tab-active-foreground: #8b9af8;
281
438
  }
282
439
  }