@keenmate/pure-admin-theme-dark 1.0.0-rc01

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.
package/package.json ADDED
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "@keenmate/pure-admin-theme-dark",
3
+ "version": "1.0.0-rc01",
4
+ "description": "Dark theme for Pure Admin with color variants (blue, green, red) via CSS classes",
5
+ "style": "dist/dark.css",
6
+ "exports": {
7
+ ".": "./dist/dark.css",
8
+ "./scss": "./src/scss/dark.scss"
9
+ },
10
+ "files": [
11
+ "dist/",
12
+ "src/scss/"
13
+ ],
14
+ "scripts": {
15
+ "build": "sass src/scss:dist --no-source-map --silence-deprecation=import --load-path=../../node_modules",
16
+ "prepublishOnly": "npm run build"
17
+ },
18
+ "keywords": ["pure-admin", "theme", "dark", "css"],
19
+ "author": "KeenMate",
20
+ "license": "MIT",
21
+ "peerDependencies": {
22
+ "@keenmate/pure-admin-core": "^1.0.0-rc01"
23
+ },
24
+ "devDependencies": {
25
+ "@keenmate/pure-admin-core": "^1.0.0-rc01",
26
+ "sass": "^1.70.0"
27
+ },
28
+ "publishConfig": {
29
+ "access": "public"
30
+ }
31
+ }
@@ -0,0 +1,548 @@
1
+ /* Dark Theme for Pure Admin Visual */
2
+ @use 'sass:color';
3
+
4
+ @import '@keenmate/pure-admin-core/src/scss/variables/index';
5
+
6
+ // Dark theme color palette
7
+ $dark-bg-primary: #1a1a1a;
8
+ $dark-bg-secondary: #2a2a2a;
9
+ $dark-bg-tertiary: #333333;
10
+ $dark-bg-quaternary: #404040;
11
+ $dark-bg-header: #2d2d2d;
12
+ $dark-bg-sidebar: #242424;
13
+ $dark-bg-hover: #353535;
14
+
15
+ $dark-text-primary: #ffffff;
16
+ $dark-text-secondary: #b8b8b8;
17
+
18
+ $dark-accent: #4dabf7;
19
+
20
+ // Color overrides for dark theme
21
+ $primary-bg: $dark-bg-primary;
22
+ $content-background-color: $dark-bg-primary;
23
+ $header-bg: $dark-bg-header;
24
+ $sidebar-bg: $dark-bg-sidebar;
25
+ $sidebar-submenu-bg: $dark-bg-tertiary;
26
+ $sidebar-submenu-hover-bg: $dark-bg-hover;
27
+ $sidebar-submenu-active-bg: $dark-bg-quaternary;
28
+ $footer-bg: $dark-bg-header;
29
+ $border-color: $dark-bg-quaternary;
30
+ $text-primary: $dark-text-primary;
31
+ $text-secondary: $dark-text-secondary;
32
+ $accent-color: $dark-accent;
33
+ $accent-hover: rgba(77, 171, 247, 0.15);
34
+ $accent-light: rgba(77, 171, 247, 0.08);
35
+
36
+ // Sync base variables with theme colors (for web components)
37
+ // Colors
38
+ $base-accent-color: $accent-color;
39
+ $base-accent-color-hover: color.adjust($base-accent-color, $lightness: 10%);
40
+ $base-accent-color-active: color.adjust($base-accent-color, $lightness: 20%);
41
+ $base-accent-color-light: $accent-light;
42
+ $base-accent-color-light-hover: rgba($base-accent-color, 0.12);
43
+ $base-primary-bg: $dark-bg-secondary;
44
+ $base-primary-bg-hover: $dark-bg-tertiary;
45
+ $base-text-color-1: #ffffff;
46
+ $base-text-color-2: #b8b8b8;
47
+ $base-text-color-3: #888888;
48
+ $base-text-color-4: #666666;
49
+ $base-text-on-accent: #ffffff;
50
+ $base-border-color: $dark-bg-quaternary;
51
+
52
+ // Input fields
53
+ $base-input-background: $dark-bg-tertiary;
54
+ $base-input-color: #ffffff;
55
+ $base-input-border: 1px solid $dark-bg-quaternary;
56
+ $base-input-border-hover: 1px solid $accent-color;
57
+ $base-input-border-focus: 1px solid $accent-color;
58
+ $base-input-placeholder-color: #666666;
59
+ $base-input-background-disabled: rgba($dark-bg-tertiary, 0.5);
60
+
61
+ // Dropdown/Popover
62
+ $base-dropdown-background: $dark-bg-secondary;
63
+ $base-dropdown-border: 1px solid $dark-bg-quaternary;
64
+ $base-dropdown-box-shadow: 0 8px 16px rgba(0, 0, 0, 0.4);
65
+
66
+ // Tooltip
67
+ $base-tooltip-background: $dark-bg-tertiary;
68
+ $base-tooltip-text-color: #ffffff;
69
+
70
+ // Form focus colors - must match accent color
71
+ $input-focus-border-color: $accent-color;
72
+ $select-focus-border-color: $accent-color;
73
+ $textarea-focus-border-color: $accent-color;
74
+
75
+ // Checkbox colors - must match accent color
76
+ $checkbox-border-color-hover: $accent-color;
77
+ $checkbox-border-color-checked: $accent-color;
78
+ $checkbox-bg-checked: $accent-color;
79
+ $checkbox-bg-indeterminate: $accent-color;
80
+ $checkbox-focus-shadow: 0 0 0 2px rgba($accent-color, 0.25);
81
+
82
+ // Card colors
83
+ $card-bg: $dark-bg-secondary;
84
+ $card-header-bg: $dark-bg-tertiary;
85
+ $card-footer-bg: $dark-bg-tertiary;
86
+ $card-tabs-bg: $dark-bg-tertiary;
87
+
88
+ // Input colors
89
+ $input-bg: $dark-bg-tertiary;
90
+ $input-border: $border-color;
91
+ $input-text: $text-primary;
92
+
93
+ // Table colors
94
+ $table-bg: $dark-bg-secondary;
95
+ $table-header-bg: $dark-bg-tertiary;
96
+ $table-hover-bg: $dark-bg-hover;
97
+ $table-stripe: $dark-bg-tertiary;
98
+
99
+ // Button colors
100
+ $btn-primary-bg: #2563eb;
101
+ $btn-primary-bg-hover: #1d4ed8;
102
+ $btn-secondary-bg: #374151;
103
+ $btn-secondary-bg-hover: #4b5563;
104
+ $btn-success-bg: #059669;
105
+ $btn-success-bg-hover: #047857;
106
+ $btn-warning-bg: #d97706;
107
+ $btn-warning-text: #ffffff;
108
+ $btn-danger-bg: #dc2626;
109
+ $btn-danger-bg-hover: #b91c1c;
110
+ $btn-info-bg: #0891b2;
111
+ $btn-info-bg-hover: #0e7490;
112
+ $btn-light-bg: #374151;
113
+ $btn-light-text: #f3f4f6;
114
+ $btn-light-bg-hover: #4b5563;
115
+ $btn-dark-bg: #111827;
116
+ $btn-dark-bg-hover: #030712;
117
+
118
+ // Validation shadow colors - match button colors
119
+ $success-bg: $btn-success-bg;
120
+ $success-bg-light: rgba(5, 150, 105, 0.15);
121
+ $warning-bg: $btn-warning-bg;
122
+ $warning-bg-light: rgba(217, 119, 6, 0.15);
123
+ $danger-bg: $btn-danger-bg;
124
+ $danger-bg-light: rgba(220, 38, 38, 0.15);
125
+
126
+ // Modal colors
127
+ $modal-overlay-bg: rgba(0, 0, 0, 0.7);
128
+ $modal-content-bg: $dark-bg-secondary;
129
+
130
+ // Profile name in header
131
+ $header-profile-name-color: #ffffff; // White text on dark header
132
+
133
+ @import '@keenmate/pure-admin-core/src/scss/core';
134
+ @import '@keenmate/pure-admin-core/src/scss/utilities';
135
+ @import '@keenmate/pure-admin-core/src/scss/base-css-variables';
136
+
137
+ // ============================================================================
138
+ // CSS VARIABLES - DARK MODE (Default for dark theme)
139
+ // ============================================================================
140
+ :root, .pa-mode-dark {
141
+ --page-loader-bg: rgba(26, 26, 26, 0.95);
142
+ --page-loader-spinner-border: #333;
143
+ --page-loader-spinner-accent: #{$dark-accent};
144
+
145
+ // Base CSS variables for web components (daterangepicker, multiselect, etc.)
146
+ @include output-base-css-variables;
147
+
148
+ // Pure Admin theme CSS variables for runtime theme switching
149
+ @include output-pa-css-variables;
150
+
151
+ // Web component overrides (dark mode)
152
+ --drp-dropdown-bg: #{$dark-bg-secondary};
153
+ --drp-border-color: #{$dark-bg-quaternary};
154
+ --drp-primary-bg: #{$dark-bg-primary};
155
+ --drp-primary-bg-hover: #{$dark-bg-tertiary};
156
+ --drp-text-primary: #{$dark-text-primary};
157
+ --drp-text-secondary: #{$dark-text-secondary};
158
+ --drp-button-bg: transparent;
159
+ --drp-button-color: #{$dark-text-primary};
160
+ --drp-button-accent-text-color: #ffffff;
161
+ --drp-button-today-color: #{$dark-accent};
162
+ --drp-button-clear-color: #{$dark-text-secondary};
163
+ --drp-button-cancel-color: #{$dark-text-secondary};
164
+
165
+ --ms-dropdown-bg: #{$dark-bg-secondary};
166
+ --ms-input-bg: #{$dark-bg-tertiary};
167
+ --ms-primary-bg: #{$dark-bg-primary};
168
+ --ms-primary-bg-hover: #{$dark-bg-tertiary};
169
+ --ms-border-color: #{$dark-bg-quaternary};
170
+ --ms-text-color-1: #{$dark-text-primary};
171
+ --ms-text-color-2: #{$dark-text-secondary};
172
+ --ms-text-color-3: #888888;
173
+ --ms-text-color-4: #666666;
174
+ --ms-hint-bg: #{$dark-bg-primary};
175
+ --ms-actions-bg: #{$dark-bg-primary};
176
+ --ms-selected-popover-bg: #{$dark-bg-secondary};
177
+ }
178
+
179
+ // ============================================================================
180
+ // CSS VARIABLES - LIGHT MODE
181
+ // ============================================================================
182
+ .pa-mode-light {
183
+ // Light palette for dark theme's light mode
184
+ $light-bg: #f8fafc;
185
+ $light-card: #ffffff;
186
+ $light-surface: #f1f5f9;
187
+ $light-border: #e2e8f0;
188
+ $light-text: #1e293b;
189
+ $light-text-secondary: #64748b;
190
+
191
+ --page-loader-bg: rgba(255, 255, 255, 0.95);
192
+ --page-loader-spinner-border: #ccc;
193
+ --page-loader-spinner-accent: #{$dark-accent};
194
+
195
+ // Core colors - light backgrounds
196
+ --pa-primary-bg: #{$light-card};
197
+ --pa-bg-secondary: #{$light-bg};
198
+ --pa-content-bg: #{$light-bg};
199
+
200
+ // Text colors - dark text on light bg
201
+ --pa-text-primary: #{$light-text};
202
+ --pa-text-secondary: #{$light-text-secondary};
203
+
204
+ // Keep accent color
205
+ --pa-accent: #{$dark-accent};
206
+ --pa-accent-hover: rgba(77, 171, 247, 0.12);
207
+ --pa-accent-light: rgba(77, 171, 247, 0.06);
208
+
209
+ // Border
210
+ --pa-border-color: #{$light-border};
211
+
212
+ // Header - dark header in light mode too (brand identity)
213
+ --pa-header-bg: #{$dark-bg-header};
214
+ --pa-header-border-color: #{$dark-bg-quaternary};
215
+ --pa-header-text: #ffffff;
216
+ --pa-header-text-secondary: #{$dark-text-secondary};
217
+ --pa-header-profile-name-color: #ffffff;
218
+
219
+ // Sidebar - light background
220
+ --pa-sidebar-bg: #{$light-card};
221
+ --pa-sidebar-text: #{$light-text};
222
+ --pa-sidebar-text-secondary: #{$light-text-secondary};
223
+ --pa-sidebar-submenu-bg: #{$light-surface};
224
+ --pa-sidebar-submenu-hover-bg: rgba(77, 171, 247, 0.1);
225
+ --pa-sidebar-submenu-active-bg: #{$dark-accent};
226
+
227
+ // Footer - dark footer in light mode too
228
+ --pa-footer-bg: #{$dark-bg-header};
229
+ --pa-footer-border-color: #{$dark-bg-quaternary};
230
+
231
+ // Cards - light backgrounds
232
+ --pa-card-bg: #{$light-card};
233
+ --pa-card-header-bg: #{$light-surface};
234
+ --pa-card-footer-bg: #{$light-surface};
235
+ --pa-card-tabs-bg: #{$light-border};
236
+
237
+ // Inputs - light backgrounds
238
+ --pa-input-bg: #{$light-card};
239
+ --pa-input-border: #{$light-border};
240
+ --pa-input-text: #{$light-text};
241
+ --pa-input-focus-border-color: #{$dark-accent};
242
+
243
+ // Input group
244
+ --pa-input-group-prepend-bg: #{$light-surface};
245
+ --pa-input-group-prepend-text: #{$light-text-secondary};
246
+ --pa-input-group-append-bg: #{$light-surface};
247
+ --pa-input-group-append-text: #{$light-text-secondary};
248
+
249
+ // Tables - light backgrounds
250
+ --pa-table-bg: #{$light-card};
251
+ --pa-table-header-bg: #{$light-surface};
252
+ --pa-table-stripe: #{$light-bg};
253
+ --pa-table-hover-bg: #{$light-surface};
254
+
255
+ // Modals
256
+ --pa-modal-content-bg: #{$light-card};
257
+ --pa-modal-overlay-bg: rgba(0, 0, 0, 0.5);
258
+
259
+ // Loader overlay
260
+ --pa-loader-overlay-bg: rgba(255, 255, 255, 0.8);
261
+
262
+ // Profile panel
263
+ --pa-profile-overlay-bg: rgba(0, 0, 0, 0.3);
264
+
265
+ // Tooltip/Popover
266
+ --pa-tooltip-bg: #{$light-text};
267
+ --pa-tooltip-text: #ffffff;
268
+ --pa-popover-content-bg: #{$light-card};
269
+
270
+ // Command palette
271
+ --pa-command-palette-backdrop-bg: rgba(0, 0, 0, 0.5);
272
+ --pa-command-palette-item-hover-bg: #{$light-surface};
273
+ --pa-command-palette-item-active-bg: rgba(77, 171, 247, 0.15);
274
+ --pa-command-palette-highlight-bg: rgba(77, 171, 247, 0.2);
275
+
276
+ // Alerts
277
+ --pa-alert-info-text: #0c4a6e;
278
+ --pa-alert-info-bg: rgba(14, 165, 233, 0.15);
279
+ --pa-alert-success-text: #14532d;
280
+ --pa-alert-success-bg: rgba(34, 197, 94, 0.15);
281
+ --pa-alert-warning-text: #713f12;
282
+ --pa-alert-warning-bg: rgba(234, 179, 8, 0.15);
283
+ --pa-alert-danger-text: #7f1d1d;
284
+ --pa-alert-danger-bg: rgba(239, 68, 68, 0.15);
285
+
286
+ // Buttons
287
+ --pa-btn-secondary-bg: #{$light-border};
288
+ --pa-btn-secondary-bg-hover: #cbd5e1;
289
+ --pa-btn-secondary-text: #{$light-text};
290
+ --pa-btn-light-bg: #{$light-surface};
291
+ --pa-btn-light-bg-hover: #{$light-border};
292
+ --pa-btn-light-text: #{$light-text};
293
+
294
+ // Semantic colors
295
+ --pa-success-bg: #22c55e;
296
+ --pa-success-bg-light: rgba(34, 197, 94, 0.1);
297
+ --pa-warning-bg: #eab308;
298
+ --pa-warning-bg-light: rgba(234, 179, 8, 0.1);
299
+ --pa-danger-bg: #ef4444;
300
+ --pa-danger-bg-light: rgba(239, 68, 68, 0.1);
301
+ --pa-info-bg: #0ea5e9;
302
+ --pa-info-bg-light: rgba(14, 165, 233, 0.1);
303
+
304
+ // Base variables for web components (light mode)
305
+ --base-primary-bg: #{$light-bg};
306
+ --base-primary-bg-hover: #{$light-surface};
307
+ --base-text-color-1: #{$light-text};
308
+ --base-text-color-2: #{$light-text-secondary};
309
+ --base-accent-color: #{$dark-accent};
310
+ --base-accent-color-hover: color.adjust($dark-accent, $lightness: -10%);
311
+ --base-accent-color-active: color.adjust($dark-accent, $lightness: -15%);
312
+ --base-accent-color-light: rgba(77, 171, 247, 0.1);
313
+ --base-accent-color-light-hover: rgba(77, 171, 247, 0.15);
314
+ --base-text-color-3: #94a3b8;
315
+ --base-text-color-4: #cbd5e1;
316
+ --base-border-color: #{$light-border};
317
+ --base-border: 1px solid #{$light-border};
318
+ --base-input-bg: #{$light-card};
319
+ --base-input-color: #{$light-text};
320
+ --base-input-border: 1px solid #{$light-border};
321
+ --base-input-border-hover: 1px solid #{$dark-accent};
322
+ --base-input-border-focus: 1px solid #{$dark-accent};
323
+ --base-input-placeholder-color: #94a3b8;
324
+ --base-dropdown-bg: #{$light-card};
325
+ --base-dropdown-border: 1px solid #{$light-border};
326
+ --base-dropdown-box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
327
+ --base-tooltip-bg: #{$light-text};
328
+ --base-tooltip-text-color: #ffffff;
329
+
330
+ // Daterangepicker overrides (light mode)
331
+ web-daterangepicker {
332
+ --drp-dropdown-bg: #{$light-card};
333
+ --drp-border-color: #{$light-border};
334
+ --drp-primary-bg: #{$light-bg};
335
+ --drp-primary-bg-hover: #{$light-surface};
336
+ --drp-text-primary: #{$light-text};
337
+ --drp-text-secondary: #{$light-text-secondary};
338
+ --drp-button-bg: transparent;
339
+ --drp-button-color: #{$light-text};
340
+ --drp-button-accent-text-color: #ffffff;
341
+ --drp-button-today-color: #{$dark-accent};
342
+ --drp-button-clear-color: #{$light-text-secondary};
343
+ --drp-button-cancel-color: #{$light-text-secondary};
344
+ }
345
+
346
+ // Multiselect overrides (light mode)
347
+ web-multiselect {
348
+ --ms-dropdown-bg: #{$light-card};
349
+ --ms-input-bg: #{$light-card};
350
+ --ms-primary-bg: #{$light-bg};
351
+ --ms-primary-bg-hover: #{$light-surface};
352
+ --ms-border-color: #{$light-border};
353
+ --ms-text-color-1: #{$light-text};
354
+ --ms-text-color-2: #{$light-text-secondary};
355
+ --ms-text-color-3: #94a3b8;
356
+ --ms-text-color-4: #cbd5e1;
357
+ --ms-hint-bg: #{$light-surface};
358
+ --ms-actions-bg: #{$light-surface};
359
+ --ms-selected-popover-bg: #{$light-card};
360
+ }
361
+
362
+ // Card shadows lighter
363
+ .pa-card {
364
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
365
+ }
366
+
367
+ // Secondary button adjustments for light mode
368
+ .pa-btn--secondary {
369
+ background-color: #e2e8f0 !important;
370
+ color: #1e293b !important;
371
+ border-color: #cbd5e1 !important;
372
+
373
+ &:hover {
374
+ background-color: #cbd5e1 !important;
375
+ border-color: #94a3b8 !important;
376
+ }
377
+ }
378
+ }
379
+
380
+ // ============================================================================
381
+ // COLOR VARIANTS - Apply via class on body or root element
382
+ // ============================================================================
383
+
384
+ // Blue color variant - slate/blue tinted backgrounds
385
+ .pa-color-blue {
386
+ // Blue-tinted dark palette
387
+ $blue-bg: #0f172a; // slate-900
388
+ $blue-card: #1e293b; // slate-800
389
+ $blue-surface: #334155; // slate-700
390
+ $blue-border: #475569; // slate-600
391
+ $blue-accent: #3b82f6; // blue-500
392
+
393
+ --pa-primary-bg: #{$blue-bg};
394
+ --pa-bg-secondary: #{$blue-bg};
395
+ --pa-content-bg: #020617;
396
+
397
+ --pa-header-bg: #{$blue-card};
398
+ --pa-header-border-color: #{$blue-border};
399
+ --pa-sidebar-bg: #{$blue-card};
400
+ --pa-sidebar-submenu-bg: #{$blue-surface};
401
+ --pa-sidebar-submenu-hover-bg: #{$blue-border};
402
+ --pa-sidebar-submenu-active-bg: #{$blue-accent};
403
+ --pa-footer-bg: #{$blue-card};
404
+ --pa-footer-border-color: #{$blue-border};
405
+
406
+ --pa-border-color: #{$blue-surface};
407
+ --pa-accent: #{$blue-accent};
408
+ --pa-accent-hover: rgba(59, 130, 246, 0.15);
409
+ --pa-accent-light: rgba(59, 130, 246, 0.08);
410
+
411
+ --pa-card-bg: #{$blue-card};
412
+ --pa-card-header-bg: #{$blue-bg};
413
+ --pa-card-footer-bg: #{$blue-bg};
414
+ --pa-card-tabs-bg: #{$blue-surface};
415
+
416
+ --pa-input-bg: #{$blue-bg};
417
+ --pa-input-border: #{$blue-surface};
418
+ --pa-input-focus-border-color: #{$blue-accent};
419
+
420
+ --pa-table-bg: #{$blue-card};
421
+ --pa-table-header-bg: #{$blue-bg};
422
+ --pa-table-stripe: #{$blue-card};
423
+ --pa-table-hover-bg: #{$blue-surface};
424
+
425
+ --pa-btn-primary-bg: #1e40af;
426
+ --pa-btn-primary-bg-hover: #1e3a8a;
427
+
428
+ --page-loader-spinner-accent: #{$blue-accent};
429
+
430
+ --base-accent-color: #{$blue-accent};
431
+ --base-primary-bg: #{$blue-card};
432
+ --base-primary-bg-hover: #{$blue-surface};
433
+ --base-border-color: #{$blue-surface};
434
+ --base-input-bg: #{$blue-bg};
435
+ --base-dropdown-bg: #{$blue-card};
436
+ }
437
+
438
+ // Green color variant - green tinted backgrounds
439
+ .pa-color-green {
440
+ // Green-tinted dark palette
441
+ $green-bg: #0f1e13;
442
+ $green-card: #1a2e1f;
443
+ $green-surface: #2d5b3a;
444
+ $green-border: #365e42;
445
+ $green-accent: #22c55e;
446
+
447
+ --pa-primary-bg: #{$green-bg};
448
+ --pa-bg-secondary: #{$green-bg};
449
+ --pa-content-bg: #0a0f0b;
450
+
451
+ --pa-header-bg: #{$green-card};
452
+ --pa-header-border-color: #{$green-border};
453
+ --pa-sidebar-bg: #{$green-card};
454
+ --pa-sidebar-submenu-bg: #{$green-surface};
455
+ --pa-sidebar-submenu-hover-bg: #{$green-border};
456
+ --pa-sidebar-submenu-active-bg: #{$green-accent};
457
+ --pa-footer-bg: #{$green-card};
458
+ --pa-footer-border-color: #{$green-border};
459
+
460
+ --pa-border-color: #{$green-surface};
461
+ --pa-accent: #{$green-accent};
462
+ --pa-accent-hover: rgba(34, 197, 94, 0.15);
463
+ --pa-accent-light: rgba(34, 197, 94, 0.08);
464
+
465
+ --pa-text-secondary: #86efac;
466
+
467
+ --pa-card-bg: #{$green-card};
468
+ --pa-card-header-bg: #{$green-bg};
469
+ --pa-card-footer-bg: #{$green-bg};
470
+ --pa-card-tabs-bg: #{$green-surface};
471
+
472
+ --pa-input-bg: #{$green-bg};
473
+ --pa-input-border: #{$green-surface};
474
+ --pa-input-focus-border-color: #{$green-accent};
475
+
476
+ --pa-table-bg: #{$green-card};
477
+ --pa-table-header-bg: #{$green-bg};
478
+ --pa-table-stripe: #{$green-card};
479
+ --pa-table-hover-bg: #{$green-surface};
480
+
481
+ --pa-btn-primary-bg: #15803d;
482
+ --pa-btn-primary-bg-hover: #166534;
483
+
484
+ --page-loader-spinner-accent: #{$green-accent};
485
+
486
+ --base-accent-color: #{$green-accent};
487
+ --base-primary-bg: #{$green-card};
488
+ --base-primary-bg-hover: #{$green-surface};
489
+ --base-border-color: #{$green-surface};
490
+ --base-input-bg: #{$green-bg};
491
+ --base-dropdown-bg: #{$green-card};
492
+ }
493
+
494
+ // Red color variant - red tinted backgrounds
495
+ .pa-color-red {
496
+ // Red-tinted dark palette
497
+ $red-bg: #1f0f0f;
498
+ $red-card: #2d1a1a;
499
+ $red-surface: #5b2d2d;
500
+ $red-border: #6b3333;
501
+ $red-accent: #ef4444;
502
+
503
+ --pa-primary-bg: #{$red-bg};
504
+ --pa-bg-secondary: #{$red-bg};
505
+ --pa-content-bg: #18080a;
506
+
507
+ --pa-header-bg: #{$red-card};
508
+ --pa-header-border-color: #{$red-border};
509
+ --pa-sidebar-bg: #{$red-card};
510
+ --pa-sidebar-submenu-bg: #{$red-surface};
511
+ --pa-sidebar-submenu-hover-bg: #{$red-border};
512
+ --pa-sidebar-submenu-active-bg: #{$red-accent};
513
+ --pa-footer-bg: #{$red-card};
514
+ --pa-footer-border-color: #{$red-border};
515
+
516
+ --pa-border-color: #{$red-surface};
517
+ --pa-accent: #{$red-accent};
518
+ --pa-accent-hover: rgba(239, 68, 68, 0.15);
519
+ --pa-accent-light: rgba(239, 68, 68, 0.08);
520
+
521
+ --pa-text-secondary: #fca5a5;
522
+
523
+ --pa-card-bg: #{$red-card};
524
+ --pa-card-header-bg: #{$red-bg};
525
+ --pa-card-footer-bg: #{$red-bg};
526
+ --pa-card-tabs-bg: #{$red-surface};
527
+
528
+ --pa-input-bg: #{$red-bg};
529
+ --pa-input-border: #{$red-surface};
530
+ --pa-input-focus-border-color: #{$red-accent};
531
+
532
+ --pa-table-bg: #2d1b1b;
533
+ --pa-table-header-bg: #1a0e0e;
534
+ --pa-table-stripe: #2d1b1b;
535
+ --pa-table-hover-bg: #4a2323;
536
+
537
+ --pa-btn-primary-bg: #991b1b;
538
+ --pa-btn-primary-bg-hover: #7f1d1d;
539
+
540
+ --page-loader-spinner-accent: #{$red-accent};
541
+
542
+ --base-accent-color: #{$red-accent};
543
+ --base-primary-bg: #{$red-card};
544
+ --base-primary-bg-hover: #{$red-surface};
545
+ --base-border-color: #{$red-surface};
546
+ --base-input-bg: #{$red-bg};
547
+ --base-dropdown-bg: #{$red-card};
548
+ }