@lucasvu/scope-ui 0.1.0 → 0.1.2

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.
@@ -0,0 +1,343 @@
1
+ /* Theme derived from ui-new/main-fe (Argon Dashboard 2 MUI palette) */
2
+ :root {
3
+ line-height: 1.5;
4
+ font-weight: 400;
5
+ text-rendering: optimizeLegibility;
6
+ -webkit-font-smoothing: antialiased;
7
+ -moz-osx-font-smoothing: grayscale;
8
+ color-scheme: light dark;
9
+
10
+ /* =======================
11
+ Core (map từ Argon colors)
12
+ ======================= */
13
+
14
+ /* background/surface */
15
+ --bg: #f8f9fa; /* grey.100 */
16
+ --surface: #ffffff; /* white.main */
17
+ --surface-strong: #e9ecef; /* light.main */
18
+ --grey: #e9ecef; /* light.main */
19
+ --border: #dee2e6; /* grey.300 */
20
+
21
+ /* text */
22
+ --text: #67748e; /* text.main */
23
+ --muted: #6c757d; /* grey.600 */
24
+ --foreground: var(--text);
25
+ --muted-foreground: var(--muted);
26
+
27
+ /* accents (chọn theo palette Argon) */
28
+ --accent: #fb6340; /* warning.main */
29
+ --accent-strong: #fbb140; /* gradients.warning.state */
30
+ --accent-2: #5e72e4; /* primary.main */
31
+
32
+ --shadow: 0 20px 50px rgba(15, 23, 42, 0.08);
33
+
34
+ /* confirm (giữ dạng HSL cho tailwind-style token) */
35
+ --confirm: 142 71% 45%; /* ~ success */
36
+ --confirm-foreground: 0 0% 100%;
37
+
38
+ /* =======================
39
+ TW tokens (HSL)
40
+ - dùng cho shadcn/tailwind variables
41
+ ======================= */
42
+
43
+ --tw-background: 0 0% 100%;
44
+ --tw-foreground: 215 19% 24%; /* gần #344767 */
45
+
46
+ --tw-card: 0 0% 100%;
47
+ --tw-card-foreground: 215 19% 24%;
48
+
49
+ --tw-popover: 0 0% 100%;
50
+ --tw-popover-foreground: 215 19% 24%;
51
+
52
+ /* primary = #5e72e4 */
53
+ --tw-primary: 232 71% 63%;
54
+ --tw-primary-foreground: 0 0% 100%;
55
+
56
+ /* secondary = #8392ab */
57
+ --tw-secondary: 216 18% 60%;
58
+ --tw-secondary-foreground: 215 19% 24%;
59
+
60
+ /* muted = light main #e9ecef */
61
+ --tw-muted: 210 17% 92%;
62
+ --tw-muted-foreground: 215 14% 45%; /* gần grey.600 */
63
+
64
+ /* accent-2 = #11cdef (info) */
65
+ --tw-accent: 190 88% 50%;
66
+ --tw-accent-foreground: 0 0% 100%;
67
+
68
+ /* destructive = error #f5365c */
69
+ --tw-destructive: 347 91% 58%;
70
+ --tw-destructive-foreground: 0 0% 100%;
71
+
72
+ /* border/input/ring */
73
+ --tw-border: 210 14% 88%; /* ~ grey.300/#dee2e6 */
74
+ --tw-input: 210 14% 88%;
75
+ --tw-ring: 216 18% 60%; /* ~ secondary */
76
+
77
+ /* success */
78
+ --tw-success: 153 64% 49%; /* #2dce89 */
79
+
80
+ /* =======================
81
+ Primary button tokens (giữ format bạn đang dùng)
82
+ ======================= */
83
+ --primary: 232 71% 63%;
84
+ --primary-foreground: 0 0% 100%;
85
+
86
+ /* gradient primary button: #5e72e4 -> #825ee4 */
87
+ --primary-grad-from: 232 71% 63%;
88
+ --primary-grad-to: 251 70% 63%;
89
+ --primary-ring: 232 71% 63%;
90
+
91
+ /* =======================
92
+ Extra: map chi tiết theo Argon (để bạn dùng var(...) trực tiếp)
93
+ ======================= */
94
+
95
+ /* greys */
96
+ --grey-100: #f8f9fa;
97
+ --grey-200: #e9ecef;
98
+ --grey-300: #dee2e6;
99
+ --grey-400: #ced4da;
100
+ --grey-500: #adb5bd;
101
+ --grey-600: #6c757d;
102
+ --grey-700: #495057;
103
+ --grey-800: #343a40;
104
+ --grey-900: #212529;
105
+
106
+ /* base colors */
107
+ --white: #ffffff;
108
+ --black: #000000;
109
+ --black-light: #141414;
110
+
111
+ --primary-hex: #5e72e4;
112
+ --secondary-hex: #8392ab;
113
+ --info-hex: #11cdef;
114
+ --success-hex: #2dce89;
115
+ --warning-hex: #fb6340;
116
+ --error-hex: #f5365c;
117
+ --dark-hex: #344767;
118
+ --light-hex: #e9ecef;
119
+
120
+ /* gradients */
121
+ --grad-primary-main: #5e72e4;
122
+ --grad-primary-state: #825ee4;
123
+
124
+ --grad-secondary-main: #627594;
125
+ --grad-secondary-state: #a8b8d8;
126
+
127
+ --grad-info-main: #1171ef;
128
+ --grad-info-state: #11cdef;
129
+
130
+ --grad-success-main: #2dce89;
131
+ --grad-success-state: #2dcecc;
132
+
133
+ --grad-warning-main: #fb6340;
134
+ --grad-warning-state: #fbb140;
135
+
136
+ --grad-error-main: #f5365c;
137
+ --grad-error-state: #f56036;
138
+
139
+ --grad-light-main: #ced4da;
140
+ --grad-light-state: #ebeff4;
141
+
142
+ --grad-dark-main: #212229;
143
+ --grad-dark-state: #212529;
144
+
145
+ /* alerts */
146
+ --alert-primary-main: #5e72e4;
147
+ --alert-primary-state: #673bde;
148
+ --alert-primary-border: #cfd5f7;
149
+
150
+ --alert-secondary-main: #627594;
151
+ --alert-secondary-state: #8ca1cb;
152
+ --alert-secondary-border: #dadee6;
153
+
154
+ --alert-info-main: #1171ef;
155
+ --alert-info-state: #0eadca;
156
+ --alert-info-border: #b8f0fa;
157
+
158
+ --alert-success-main: #2dce89;
159
+ --alert-success-state: #26adab;
160
+ --alert-success-border: #c0f0dc;
161
+
162
+ --alert-warning-main: #fb6340;
163
+ --alert-warning-state: #faa118;
164
+ --alert-warning-border: #fed0c6;
165
+
166
+ --alert-error-main: #f5365c;
167
+ --alert-error-state: #f3410f;
168
+ --alert-error-border: #fcc3ce;
169
+
170
+ --alert-light-main: #ced4da;
171
+ --alert-light-state: #d1dae6;
172
+ --alert-light-border: #f8f9fa;
173
+
174
+ --alert-dark-main: #212229;
175
+ --alert-dark-state: #0f1112;
176
+ --alert-dark-border: #c2c8d1;
177
+
178
+ /* badges */
179
+ --badge-primary-bg: #eaecfb;
180
+ --badge-primary-text: #2643e9; /* FIX: bỏ 1 dấu # */
181
+
182
+ --badge-secondary-bg: #e4e8ed;
183
+ --badge-secondary-text: #5974a2;
184
+
185
+ --badge-info-bg: #aaedf9;
186
+ --badge-info-text: #03acca;
187
+
188
+ --badge-success-bg: #b0eed3;
189
+ --badge-success-text: #1aae6f;
190
+
191
+ --badge-warning-bg: #fee6e0;
192
+ --badge-warning-text: #ff3709;
193
+
194
+ --badge-error-bg: #fdd1da;
195
+ --badge-error-text: #f80031;
196
+
197
+ --badge-light-bg: #ffffff;
198
+ --badge-light-text: #c7d3de;
199
+
200
+ --badge-dark-bg: #8097bf;
201
+ --badge-dark-text: #1e2e4a;
202
+
203
+ /* inputs */
204
+ --input-border-main: #d2d6da;
205
+ --input-border-focus: #11cdef;
206
+ --input-error: #f5365c;
207
+ --input-success: #2dce89;
208
+
209
+ /* slider */
210
+ --slider-thumb-border: #d9d9d9;
211
+
212
+ /* circle slider */
213
+ --circle-slider-bg: #d3d3d3;
214
+
215
+ /* tabs */
216
+ --tabs-indicator-shadow: #ddd;
217
+
218
+ /* social */
219
+ --social-facebook-main: #3b5998;
220
+ --social-facebook-dark: #344e86;
221
+
222
+ --social-twitter-main: #55acee;
223
+ --social-twitter-dark: #3ea1ec;
224
+
225
+ --social-instagram-main: #125688;
226
+ --social-instagram-dark: #0e456d;
227
+
228
+ --social-linkedin-main: #0077b5;
229
+ --social-linkedin-dark: #00669c;
230
+
231
+ --social-pinterest-main: #cc2127;
232
+ --social-pinterest-dark: #b21d22;
233
+
234
+ --social-youtube-main: #e52d27;
235
+ --social-youtube-dark: #d41f1a;
236
+
237
+ --social-vimeo-main: #1ab7ea;
238
+ --social-vimeo-dark: #13a3d2;
239
+
240
+ --social-slack-main: #3aaf85;
241
+ --social-slack-dark: #329874;
242
+
243
+ --social-dribbble-main: #ea4c89;
244
+ --social-dribbble-dark: #e73177;
245
+
246
+ --social-github-main: #24292e;
247
+ --social-github-dark: #171a1d;
248
+
249
+ --social-reddit-main: #ff4500;
250
+ --social-reddit-dark: #e03d00;
251
+
252
+ --social-tumblr-main: #35465c;
253
+ --social-tumblr-dark: #2a3749;
254
+ }
255
+
256
+ :root[data-ui-color-mode='dark'] {
257
+ /* Dark mode theo Argon: dùng background.dark + text sáng hơn */
258
+ --bg: #172b4d; /* background.dark */
259
+ --surface: #0f172a;
260
+ --surface-strong: #111827;
261
+ --text: #e2e8f0;
262
+ --muted: #94a3b8;
263
+ --border: #334155;
264
+ --grey: #1e293b;
265
+
266
+ --foreground: var(--text);
267
+ --muted-foreground: var(--muted);
268
+
269
+ /* accent giữ nguyên hệ màu, nhích sáng hơn */
270
+ --accent: #fb923c;
271
+ --accent-strong: #f97316;
272
+ --accent-2: #60a5fa;
273
+
274
+ --shadow: 0 30px 70px rgba(2, 6, 23, 0.65);
275
+
276
+ --confirm: 142 71% 45%;
277
+ --confirm-foreground: 0 0% 100%;
278
+
279
+ /* TW tokens */
280
+ --tw-background: 222.2 84% 4.9%;
281
+ --tw-foreground: 210 40% 98%;
282
+
283
+ --tw-card: 222.2 47.4% 11.2%;
284
+ --tw-card-foreground: 210 40% 98%;
285
+
286
+ --tw-popover: 222.2 84% 4.9%;
287
+ --tw-popover-foreground: 210 40% 98%;
288
+
289
+ /* vẫn dùng primary Argon */
290
+ --tw-primary: 232 71% 63%;
291
+ --tw-primary-foreground: 0 0% 100%;
292
+
293
+ --tw-secondary: 215 27.9% 16.9%;
294
+ --tw-secondary-foreground: 210 40% 98%;
295
+
296
+ --tw-muted: 215 27.9% 16.9%;
297
+ --tw-muted-foreground: 217.9 10.6% 64.9%;
298
+
299
+ --tw-accent: 190 88% 50%;
300
+ --tw-accent-foreground: 222.2 84% 4.9%;
301
+
302
+ --tw-destructive: 347 91% 58%;
303
+ --tw-destructive-foreground: 210 40% 98%;
304
+
305
+ --tw-border: 215 27% 28%;
306
+ --tw-input: 215 27% 28%;
307
+ --tw-ring: 215 16% 60%;
308
+
309
+ --tw-success: 153 64% 49%;
310
+
311
+ /* primary button tokens */
312
+ --primary: 232 71% 63%;
313
+ --primary-foreground: 0 0% 100%;
314
+
315
+ --primary-grad-from: 232 71% 63%;
316
+ --primary-grad-to: 251 70% 63%;
317
+ --primary-ring: 232 71% 63%;
318
+ }
319
+
320
+
321
+
322
+ *,
323
+ *::before,
324
+ *::after {
325
+ box-sizing: border-box;
326
+ }
327
+
328
+ body {
329
+ margin: 0;
330
+ min-height: 100vh;
331
+ background: var(--bg);
332
+ color: var(--text);
333
+ }
334
+
335
+ a {
336
+ color: inherit;
337
+ text-decoration: none;
338
+ }
339
+
340
+
341
+ [data-sonner-toaster] {
342
+ z-index: 2000 !important;
343
+ }
@@ -0,0 +1,377 @@
1
+ @import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Outfit:wght@500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');
2
+
3
+ /* Clean white theme with crisp slate structure and cobalt accents. */
4
+
5
+ :root[data-client-theme='pure-white'] {
6
+ color-scheme: light;
7
+ --brand-tiger: #0ea5e9;
8
+ --brand-fire-brick: #2563eb;
9
+ --brand-asphalt: #0f172a;
10
+ --brand-cobalt: #3b82f6;
11
+ --brand-amethyst: #6366f1;
12
+ --brand-canary: #93c5fd;
13
+ --brand-moon-spot: #64748b;
14
+ --brand-lemonade: #eff6ff;
15
+ --brand-blush: #f8fafc;
16
+ --brand-champagne: #ffffff;
17
+ --brand-dolphin: #cbd5e1;
18
+ --brand-smoke: #e2e8f0;
19
+ --brand-silver: #f1f5f9;
20
+
21
+ --font-family-base: 'Plus Jakarta Sans', 'Noto Sans', 'Segoe UI',
22
+ sans-serif;
23
+ --font-family-heading: 'Outfit', 'Plus Jakarta Sans', 'Noto Sans',
24
+ sans-serif;
25
+ --font-family-mono: 'IBM Plex Mono', 'SFMono-Regular', Menlo, monospace;
26
+
27
+ --bg: #ffffff;
28
+ --surface: #ffffff;
29
+ --surface-strong: #f1f5f9;
30
+ --surface-elevated: #ffffff;
31
+ --grey: #f3f7fb;
32
+ --grey-strong: #dde7f2;
33
+ --border: #d8e3ef;
34
+ --border-strong: #c3d4e6;
35
+
36
+ --text: #334155;
37
+ --text-strong: #0f172a;
38
+ --muted: #64748b;
39
+ --foreground: var(--text);
40
+ --muted-foreground: var(--muted);
41
+
42
+ --accent: #2563eb;
43
+ --accent-soft: rgba(37, 99, 235, 0.1);
44
+ --accent-strong: #3b82f6;
45
+ --accent-2: #1d4ed8;
46
+ --danger: #dc2626;
47
+ --danger-soft: rgba(220, 38, 38, 0.12);
48
+ --success-strong: #059669;
49
+ --success-soft: rgba(5, 150, 105, 0.14);
50
+ --info: #0ea5e9;
51
+ --info-soft: rgba(14, 165, 233, 0.14);
52
+
53
+ --shadow: 0 18px 36px rgba(15, 23, 42, 0.1);
54
+ --shadow-sm: 0 10px 24px rgba(15, 23, 42, 0.07);
55
+ --menu-shadow: 0 20px 40px rgba(15, 23, 42, 0.12);
56
+ --focus-ring: rgba(37, 99, 235, 0.18);
57
+
58
+ --confirm: 160 84% 32%;
59
+ --confirm-foreground: 0 0% 100%;
60
+
61
+ --tw-background: 0 0% 100%;
62
+ --tw-foreground: 222 47% 11%;
63
+ --tw-card: 0 0% 100%;
64
+ --tw-card-foreground: 222 47% 11%;
65
+ --tw-popover: 0 0% 100%;
66
+ --tw-popover-foreground: 222 47% 11%;
67
+ --tw-primary: 217 91% 60%;
68
+ --tw-primary-foreground: 0 0% 100%;
69
+ --tw-secondary: 210 40% 96%;
70
+ --tw-secondary-foreground: 222 47% 11%;
71
+ --tw-muted: 210 40% 96%;
72
+ --tw-muted-foreground: 215 16% 47%;
73
+ --tw-accent: 214 95% 93%;
74
+ --tw-accent-foreground: 222 47% 11%;
75
+ --tw-destructive: 0 72% 51%;
76
+ --tw-destructive-foreground: 0 0% 100%;
77
+ --tw-border: 214 32% 91%;
78
+ --tw-input: 214 32% 91%;
79
+ --tw-ring: 217 91% 60%;
80
+ --tw-success: 160 84% 32%;
81
+
82
+ --primary: 217 91% 60%;
83
+ --primary-foreground: 0 0% 100%;
84
+ --primary-grad-from: 217 91% 60%;
85
+ --primary-grad-to: 221 83% 53%;
86
+ --primary-ring: 217 91% 60%;
87
+
88
+ --input-bg: #ffffff;
89
+ --input-border-main: #d2ddea;
90
+ --input-border-hover: #b7cff8;
91
+ --input-border-focus: var(--accent);
92
+ --input-placeholder: #94a3b8;
93
+ --input-error: var(--danger);
94
+ --input-success: var(--success-strong);
95
+
96
+ --table-head-bg: #f1f5f9;
97
+ --table-row-hover: #f3f8ff;
98
+
99
+ --tab-track: #eef4fb;
100
+ --tab-indicator: #ffffff;
101
+ --tab-text: #64748b;
102
+ --tab-text-active: #0f172a;
103
+
104
+ --menu-surface: #ffffff;
105
+ --menu-border: #d4e0ec;
106
+ --header-glass: rgba(248, 251, 255, 0.94);
107
+ --header-text: #0f172a;
108
+ --header-transparent-text: #0f172a;
109
+ --header-transparent-avatar-bg: #eff6ff;
110
+ --header-transparent-avatar-fg: #1d4ed8;
111
+ --header-transparent-hover-bg: rgba(37, 99, 235, 0.08);
112
+
113
+ --shell-main-bg: #f4f8fc;
114
+ --shell-hero-bg: linear-gradient(135deg, #edf4ff 0%, #f8fbff 44%, #dbeafe 100%);
115
+ --public-overlay-bg: rgba(15, 23, 42, 0.56);
116
+ --auth-card-bg: rgba(255, 255, 255, 0.98);
117
+ --card-bg: rgba(255, 255, 255, 0.99);
118
+ --page-title-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 250, 255, 0.98) 100%);
119
+ --section-icon-bg: #dbeafe;
120
+ --section-icon-fg: #2563eb;
121
+ --avatar-bg: #eff6ff;
122
+ --avatar-fg: #1d4ed8;
123
+ --menu-item-hover-bg: #eaf2ff;
124
+ --menu-item-active-bg: #dbeafe;
125
+
126
+ --sidebar-bg: linear-gradient(180deg, #fcfdff 0%, #f4f8fd 44%, #e9f1ff 100%);
127
+ --sidebar-text: #0f172a;
128
+ --sidebar-foreground: #0f172a;
129
+ --sidebar-active-text: #1e3a8a;
130
+ --sidebar-muted: rgba(100, 116, 139, 0.82);
131
+ --sidebar-icon: #2563eb;
132
+ --sidebar-icon-active: #1d4ed8;
133
+ --sidebar-hover: rgba(37, 99, 235, 0.08);
134
+ --sidebar-active: #d9e8ff;
135
+ --sidebar-divider: rgba(195, 212, 230, 0.92);
136
+ --sidebar-submenu-border: rgba(183, 207, 248, 0.92);
137
+ --brand-badge-bg: #eff6ff;
138
+ --brand-badge-fg: #2563eb;
139
+
140
+ --shell-hero-from: #edf4ff;
141
+ --shell-hero-mid: #f8fbff;
142
+ --shell-hero-to: #dbeafe;
143
+
144
+ --button-primary-bg: linear-gradient(135deg, #2563eb 0%, #3b82f6 100%);
145
+ --button-primary-fg: #ffffff;
146
+ --button-primary-shadow: 0 14px 28px -18px rgba(37, 99, 235, 0.28);
147
+ --button-confirm-bg: linear-gradient(135deg, #059669 0%, #10b981 100%);
148
+ --button-confirm-fg: #ffffff;
149
+ --button-confirm-shadow: 0 10px 24px -18px rgba(5, 150, 105, 0.28);
150
+ --button-destructive-bg: #dc2626;
151
+ --button-destructive-fg: #ffffff;
152
+ --button-destructive-shadow: 0 10px 24px -18px rgba(220, 38, 38, 0.26);
153
+ --button-outline-bg: #ffffff;
154
+ --button-secondary-bg: #e8f1ff;
155
+ --button-ghost-hover-bg: #eaf2ff;
156
+
157
+ --datatable-bg: #ffffff;
158
+ --empty-icon-bg: #e8f1ff;
159
+ --empty-icon-fg: #2563eb;
160
+ --tabs-shadow: rgba(15, 23, 42, 0.04);
161
+ --tab-indicator-shadow: rgba(15, 23, 42, 0.08);
162
+
163
+ --stat-sky-bg: #eaf2ff;
164
+ --stat-emerald-bg: #ecfdf5;
165
+ --stat-violet-bg: #eef1ff;
166
+ --stat-rose-bg: #fff7ed;
167
+ --stat-icon-bg: #ffffff;
168
+ --icon-sky: #2563eb;
169
+ --icon-emerald: #059669;
170
+ --icon-violet: #4f46e5;
171
+ --icon-rose: #ea580c;
172
+
173
+ --switch-track-bg: #cfdef5;
174
+ --switch-active-bg: #2563eb;
175
+
176
+ --detail-cell-bg: #ffffff;
177
+ --detail-cell-hover-bg: #f3f8ff;
178
+ --code-card-bg: #eaf2ff;
179
+ --code-panel-bg: #0f172a;
180
+ --code-copy-hover-bg: #1e293b;
181
+ --results-badge-bg: #e8f1ff;
182
+ --spending-card-bg: #eaf2ff;
183
+ --message-success-bg: #ecfdf5;
184
+ --message-error-bg: #fef2f2;
185
+
186
+ --balance-value-color: #1d4ed8;
187
+ --spending-value-color: #0f172a;
188
+ --success-text: #047857;
189
+ --sidebar-active-border: rgba(37, 99, 235, 0.18);
190
+
191
+ --tone-emerald: #10b981;
192
+ --tone-emerald-soft: rgba(16, 185, 129, 0.14);
193
+ --tone-sky: #0ea5e9;
194
+ --tone-sky-soft: rgba(14, 165, 233, 0.14);
195
+ --tone-violet: #6366f1;
196
+ --tone-violet-soft: rgba(99, 102, 241, 0.14);
197
+ --tone-rose: #2563eb;
198
+ --tone-rose-soft: rgba(37, 99, 235, 0.12);
199
+ }
200
+
201
+ :root[data-ui-color-mode='dark'][data-client-theme='pure-white'] {
202
+ color-scheme: dark;
203
+ --brand-asphalt: #020617;
204
+ --brand-cobalt: #60a5fa;
205
+ --brand-amethyst: #818cf8;
206
+ --brand-moon-spot: #94a3b8;
207
+ --brand-dolphin: #475569;
208
+
209
+ --bg: #020617;
210
+ --surface: #0f172a;
211
+ --surface-strong: #111c34;
212
+ --surface-elevated: #162033;
213
+ --grey: #09111f;
214
+ --grey-strong: #1e293b;
215
+ --border: #22304a;
216
+ --border-strong: #334155;
217
+
218
+ --text: #dbe4f0;
219
+ --text-strong: #f8fafc;
220
+ --muted: #94a3b8;
221
+
222
+ --accent: #60a5fa;
223
+ --accent-soft: rgba(96, 165, 250, 0.18);
224
+ --accent-strong: #93c5fd;
225
+ --accent-2: #3b82f6;
226
+ --danger: #f87171;
227
+ --danger-soft: rgba(248, 113, 113, 0.16);
228
+ --success-strong: #34d399;
229
+ --success-soft: rgba(52, 211, 153, 0.18);
230
+ --info: #38bdf8;
231
+ --info-soft: rgba(56, 189, 248, 0.18);
232
+
233
+ --shadow: 0 22px 48px -30px rgba(0, 0, 0, 0.74);
234
+ --shadow-sm: 0 14px 30px -24px rgba(0, 0, 0, 0.58);
235
+ --menu-shadow: 0 24px 52px -30px rgba(0, 0, 0, 0.68);
236
+ --focus-ring: rgba(96, 165, 250, 0.24);
237
+
238
+ --confirm: 160 84% 46%;
239
+ --confirm-foreground: 0 0% 100%;
240
+
241
+ --tw-background: 222 84% 5%;
242
+ --tw-foreground: 210 40% 96%;
243
+ --tw-card: 217 41% 12%;
244
+ --tw-card-foreground: 210 40% 96%;
245
+ --tw-popover: 217 41% 12%;
246
+ --tw-popover-foreground: 210 40% 96%;
247
+ --tw-primary: 213 94% 68%;
248
+ --tw-primary-foreground: 222 47% 11%;
249
+ --tw-secondary: 219 31% 18%;
250
+ --tw-secondary-foreground: 210 40% 96%;
251
+ --tw-muted: 218 31% 16%;
252
+ --tw-muted-foreground: 216 20% 72%;
253
+ --tw-accent: 217 91% 60%;
254
+ --tw-accent-foreground: 222 47% 11%;
255
+ --tw-destructive: 0 89% 71%;
256
+ --tw-destructive-foreground: 0 0% 100%;
257
+ --tw-border: 217 33% 22%;
258
+ --tw-input: 217 33% 22%;
259
+ --tw-ring: 213 94% 68%;
260
+ --tw-success: 160 84% 46%;
261
+
262
+ --primary: 213 94% 68%;
263
+ --primary-foreground: 222 47% 11%;
264
+ --primary-grad-from: 213 94% 68%;
265
+ --primary-grad-to: 221 83% 60%;
266
+ --primary-ring: 213 94% 68%;
267
+
268
+ --input-bg: #111c34;
269
+ --input-border-main: #2a3b59;
270
+ --input-border-hover: #385173;
271
+ --input-placeholder: #7c92b4;
272
+
273
+ --table-head-bg: #111a2d;
274
+ --table-row-hover: #152038;
275
+
276
+ --tab-track: #0f172a;
277
+ --tab-indicator: #1c2740;
278
+ --tab-text: #93a6c2;
279
+ --tab-text-active: #f8fafc;
280
+
281
+ --menu-surface: #0f172a;
282
+ --menu-border: #22314a;
283
+ --header-glass: rgba(15, 23, 42, 0.92);
284
+ --header-text: #f8fafc;
285
+ --header-transparent-text: #f8fafc;
286
+ --header-transparent-avatar-bg: rgba(59, 130, 246, 0.16);
287
+ --header-transparent-avatar-fg: #dbeafe;
288
+ --header-transparent-hover-bg: rgba(255, 255, 255, 0.08);
289
+
290
+ --shell-main-bg: #020617;
291
+ --shell-hero-bg: linear-gradient(135deg, #020617 0%, #0f172a 46%, #1d4ed8 100%);
292
+ --public-overlay-bg: rgba(2, 6, 23, 0.7);
293
+ --auth-card-bg: rgba(15, 23, 42, 0.94);
294
+ --card-bg: rgba(15, 23, 42, 0.96);
295
+ --page-title-bg: rgba(15, 23, 42, 0.92);
296
+ --section-icon-bg: rgba(59, 130, 246, 0.16);
297
+ --section-icon-fg: #93c5fd;
298
+ --avatar-bg: rgba(59, 130, 246, 0.16);
299
+ --avatar-fg: #dbeafe;
300
+ --menu-item-hover-bg: rgba(59, 130, 246, 0.14);
301
+ --menu-item-active-bg: rgba(59, 130, 246, 0.18);
302
+
303
+ --sidebar-bg: linear-gradient(180deg, #020617 0%, #0f172a 52%, #172554 100%);
304
+ --sidebar-text: #dbeafe;
305
+ --sidebar-foreground: #dbeafe;
306
+ --sidebar-active-text: #ffffff;
307
+ --sidebar-muted: rgba(191, 219, 254, 0.74);
308
+ --sidebar-icon: #60a5fa;
309
+ --sidebar-icon-active: #bfdbfe;
310
+ --sidebar-hover: rgba(255, 255, 255, 0.06);
311
+ --sidebar-active: rgba(37, 99, 235, 0.24);
312
+ --sidebar-divider: rgba(148, 163, 184, 0.16);
313
+ --sidebar-submenu-border: rgba(148, 163, 184, 0.18);
314
+ --brand-badge-bg: rgba(59, 130, 246, 0.16);
315
+ --brand-badge-fg: #bfdbfe;
316
+
317
+ --shell-hero-from: #020617;
318
+ --shell-hero-mid: #0f172a;
319
+ --shell-hero-to: #1d4ed8;
320
+
321
+ --button-primary-bg: linear-gradient(135deg, #3b82f6 0%, #60a5fa 100%);
322
+ --button-primary-fg: #08111f;
323
+ --button-primary-shadow: 0 14px 28px -16px rgba(59, 130, 246, 0.34);
324
+ --button-confirm-bg: linear-gradient(135deg, #10b981 0%, #34d399 100%);
325
+ --button-confirm-fg: #052e16;
326
+ --button-confirm-shadow: 0 10px 24px -16px rgba(16, 185, 129, 0.3);
327
+ --button-destructive-bg: #f87171;
328
+ --button-destructive-fg: #1f2937;
329
+ --button-destructive-shadow: 0 10px 24px -16px rgba(248, 113, 113, 0.28);
330
+ --button-outline-bg: #0f172a;
331
+ --button-secondary-bg: #172554;
332
+ --button-ghost-hover-bg: rgba(59, 130, 246, 0.14);
333
+
334
+ --datatable-bg: #0f172a;
335
+ --empty-icon-bg: rgba(59, 130, 246, 0.14);
336
+ --empty-icon-fg: #93c5fd;
337
+ --tabs-shadow: rgba(2, 6, 23, 0.22);
338
+ --tab-indicator-shadow: rgba(2, 6, 23, 0.28);
339
+
340
+ --stat-sky-bg: rgba(59, 130, 246, 0.14);
341
+ --stat-emerald-bg: rgba(16, 185, 129, 0.14);
342
+ --stat-violet-bg: rgba(99, 102, 241, 0.14);
343
+ --stat-rose-bg: rgba(234, 88, 12, 0.14);
344
+ --stat-icon-bg: #0f172a;
345
+ --icon-sky: #93c5fd;
346
+ --icon-emerald: #6ee7b7;
347
+ --icon-violet: #a5b4fc;
348
+ --icon-rose: #fdba74;
349
+
350
+ --switch-track-bg: #1e293b;
351
+ --switch-active-bg: #3b82f6;
352
+
353
+ --detail-cell-bg: #0f172a;
354
+ --detail-cell-hover-bg: #152038;
355
+ --code-card-bg: #172554;
356
+ --code-panel-bg: #020617;
357
+ --code-copy-hover-bg: #1e293b;
358
+ --results-badge-bg: rgba(59, 130, 246, 0.16);
359
+ --spending-card-bg: rgba(59, 130, 246, 0.14);
360
+ --message-success-bg: rgba(16, 185, 129, 0.16);
361
+ --message-error-bg: rgba(248, 113, 113, 0.14);
362
+
363
+ --balance-value-color: #93c5fd;
364
+ --spending-value-color: #f8fafc;
365
+ --success-text: #6ee7b7;
366
+ --sidebar-active-border: rgba(96, 165, 250, 0.24);
367
+
368
+ --tone-emerald: #34d399;
369
+ --tone-emerald-soft: rgba(52, 211, 153, 0.16);
370
+ --tone-sky: #60a5fa;
371
+ --tone-sky-soft: rgba(96, 165, 250, 0.18);
372
+ --tone-violet: #818cf8;
373
+ --tone-violet-soft: rgba(129, 140, 248, 0.18);
374
+ --tone-rose: #93c5fd;
375
+ --tone-rose-soft: rgba(147, 197, 253, 0.16);
376
+ }
377
+