@keenmate/pure-admin-core 2.6.0 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/README.md +17 -8
  2. package/dist/css/main.css +345 -257
  3. package/package.json +1 -1
  4. package/src/scss/_base-css-variables.scss +37 -19
  5. package/src/scss/core-components/_alerts.scss +2 -2
  6. package/src/scss/core-components/_base.scss +19 -2
  7. package/src/scss/core-components/_buttons.scss +12 -8
  8. package/src/scss/core-components/_callouts.scss +1 -1
  9. package/src/scss/core-components/_cards.scss +4 -4
  10. package/src/scss/core-components/_checkbox-lists.scss +2 -2
  11. package/src/scss/core-components/_comparison.scss +7 -4
  12. package/src/scss/core-components/_data-display.scss +24 -15
  13. package/src/scss/core-components/_data-viz.scss +139 -131
  14. package/src/scss/core-components/_file-selector.scss +34 -34
  15. package/src/scss/core-components/_lists.scss +4 -4
  16. package/src/scss/core-components/_logic-tree.scss +2 -2
  17. package/src/scss/core-components/_modals.scss +69 -0
  18. package/src/scss/core-components/_notifications.scss +17 -17
  19. package/src/scss/core-components/_popconfirm.scss +1 -1
  20. package/src/scss/core-components/_statistics.scss +25 -19
  21. package/src/scss/core-components/_tabs.scss +12 -12
  22. package/src/scss/core-components/_timeline.scss +30 -30
  23. package/src/scss/core-components/badges/_composite-badge-variants.scss +7 -7
  24. package/src/scss/core-components/badges/_composite-badge.scss +1 -1
  25. package/src/scss/core-components/badges/_labels.scss +6 -6
  26. package/src/scss/core-components/forms/_input-wrapper.scss +1 -1
  27. package/src/scss/core-components/forms/_query-editor.scss +10 -10
  28. package/src/scss/core-components/layout/_sidebar-states.scss +1 -0
  29. package/src/scss/core-components/layout/_sidebar.scss +1 -0
  30. package/src/scss/variables/_colors.scss +1 -0
  31. package/src/scss/variables/_components.scss +3 -2
@@ -45,13 +45,13 @@
45
45
  cursor: pointer;
46
46
 
47
47
  &:hover {
48
- border-color: $accent-color;
49
- background: rgba($accent-color, 0.05);
48
+ border-color: var(--pa-accent);
49
+ background: color-mix(in srgb, var(--pa-accent) 5%, transparent);
50
50
  }
51
51
 
52
52
  &--active {
53
- border-color: $accent-color;
54
- background: rgba($accent-color, 0.1);
53
+ border-color: var(--pa-accent);
54
+ background: color-mix(in srgb, var(--pa-accent) 10%, transparent);
55
55
  border-style: solid;
56
56
  }
57
57
 
@@ -81,7 +81,7 @@
81
81
  margin-bottom: $spacing-xs;
82
82
 
83
83
  strong {
84
- color: $accent-color;
84
+ color: var(--pa-accent);
85
85
  font-weight: $font-weight-semibold;
86
86
  }
87
87
  }
@@ -127,7 +127,7 @@
127
127
  transition: all $transition-fast $easing-snappy;
128
128
 
129
129
  &:hover {
130
- border-color: $accent-color;
130
+ border-color: var(--pa-accent);
131
131
  box-shadow: 0 1.6px 4.8px rgba(0, 0, 0, 0.1);
132
132
  }
133
133
 
@@ -159,7 +159,7 @@
159
159
  width: 2rem;
160
160
  height: 2rem;
161
161
  border: none;
162
- background: $danger-bg;
162
+ background: var(--pa-danger);
163
163
  color: #ffffff;
164
164
  cursor: pointer;
165
165
  border-radius: 50%;
@@ -182,7 +182,7 @@
182
182
 
183
183
  &-remove:hover {
184
184
  transform: scale(1.1);
185
- background: rgba($danger-bg, 0.9);
185
+ background: color-mix(in srgb, var(--pa-danger) 90%, transparent);
186
186
  }
187
187
  }
188
188
 
@@ -230,7 +230,7 @@
230
230
  }
231
231
 
232
232
  &-remove:hover {
233
- background: $danger-bg;
233
+ background: var(--pa-danger);
234
234
  transform: scale(1.1);
235
235
  }
236
236
  }
@@ -252,7 +252,7 @@
252
252
  transition: background-color $transition-fast $easing-snappy;
253
253
 
254
254
  &:hover {
255
- background-color: rgba($accent-color, 0.1);
255
+ background-color: color-mix(in srgb, var(--pa-accent) 10%, transparent);
256
256
  }
257
257
 
258
258
  &:not(:last-child)::after {
@@ -266,7 +266,7 @@
266
266
 
267
267
  &-count {
268
268
  font-weight: $font-weight-medium;
269
- color: $accent-color;
269
+ color: var(--pa-accent);
270
270
  }
271
271
 
272
272
  &-size {
@@ -350,7 +350,7 @@
350
350
  justify-content: center;
351
351
 
352
352
  &:hover {
353
- background: rgba(var(--pa-text-color-2), 0.1);
353
+ background: color-mix(in srgb, var(--pa-text-color-2) 10%, transparent);
354
354
  color: var(--pa-text-color-1);
355
355
  }
356
356
  }
@@ -391,11 +391,11 @@
391
391
 
392
392
  tbody tr {
393
393
  &:hover {
394
- background: rgba($accent-color, 0.05);
394
+ background: color-mix(in srgb, var(--pa-accent) 5%, transparent);
395
395
  }
396
396
 
397
397
  &.uploading {
398
- background: rgba($accent-color, 0.1);
398
+ background: color-mix(in srgb, var(--pa-accent) 10%, transparent);
399
399
  }
400
400
  }
401
401
  }
@@ -418,7 +418,7 @@
418
418
 
419
419
  &__progress-bar {
420
420
  height: 6.4px;
421
- background: rgba($accent-color, 0.2);
421
+ background: color-mix(in srgb, var(--pa-accent) 20%, transparent);
422
422
  border-radius: var(--pa-border-radius-sm);
423
423
  overflow: hidden;
424
424
  margin-bottom: $spacing-xs;
@@ -426,7 +426,7 @@
426
426
 
427
427
  &__progress-fill {
428
428
  height: 100%;
429
- background: $accent-color;
429
+ background: var(--pa-accent);
430
430
  border-radius: var(--pa-border-radius-sm);
431
431
  transition: width 0.48s ease;
432
432
  }
@@ -446,15 +446,15 @@
446
446
  }
447
447
 
448
448
  &--uploading {
449
- color: $accent-color;
449
+ color: var(--pa-accent);
450
450
  }
451
451
 
452
452
  &--complete {
453
- color: $success-bg;
453
+ color: var(--pa-success);
454
454
  }
455
455
 
456
456
  &--error {
457
- color: $danger-bg;
457
+ color: var(--pa-danger);
458
458
  }
459
459
  }
460
460
 
@@ -469,7 +469,7 @@
469
469
  height: 3.2rem;
470
470
  border: $border-width-base solid var(--pa-border-color);
471
471
  background: var(--pa-card-bg);
472
- color: $danger-bg;
472
+ color: var(--pa-danger);
473
473
  cursor: pointer;
474
474
  border-radius: var(--pa-border-radius-sm);
475
475
  font-size: $font-size-2xl;
@@ -481,9 +481,9 @@
481
481
  font-weight: $font-weight-bold;
482
482
 
483
483
  &:hover {
484
- background: $danger-bg;
484
+ background: var(--pa-danger);
485
485
  color: #ffffff;
486
- border-color: $danger-bg;
486
+ border-color: var(--pa-danger);
487
487
  transform: scale(1.1);
488
488
  }
489
489
  }
@@ -529,9 +529,9 @@
529
529
  display: flex;
530
530
  align-items: center;
531
531
  justify-content: center;
532
- background: rgba($accent-color, 0.1);
532
+ background: color-mix(in srgb, var(--pa-accent) 10%, transparent);
533
533
  border-radius: var(--pa-border-radius);
534
- color: $accent-color;
534
+ color: var(--pa-accent);
535
535
  }
536
536
 
537
537
  &__info {
@@ -571,8 +571,8 @@
571
571
  justify-content: center;
572
572
 
573
573
  &:hover {
574
- background: rgba($danger-bg, 0.1);
575
- color: $danger-bg;
574
+ background: color-mix(in srgb, var(--pa-danger) 10%, transparent);
575
+ color: var(--pa-danger);
576
576
  }
577
577
 
578
578
  &::before {
@@ -626,7 +626,7 @@
626
626
  justify-content: center;
627
627
 
628
628
  &:hover {
629
- background: $danger-bg;
629
+ background: var(--pa-danger);
630
630
  transform: scale(1.1);
631
631
  }
632
632
 
@@ -656,14 +656,14 @@
656
656
 
657
657
  &__bar {
658
658
  height: 6.4px;
659
- background: rgba($accent-color, 0.2);
659
+ background: color-mix(in srgb, var(--pa-accent) 20%, transparent);
660
660
  border-radius: var(--pa-border-radius-sm);
661
661
  overflow: hidden;
662
662
  }
663
663
 
664
664
  &__fill {
665
665
  height: 100%;
666
- background: $accent-color;
666
+ background: var(--pa-accent);
667
667
  border-radius: var(--pa-border-radius-sm);
668
668
  transition: width 0.48s ease;
669
669
  }
@@ -682,11 +682,11 @@
682
682
  font-weight: $font-weight-semibold;
683
683
 
684
684
  &--complete {
685
- color: $success-bg;
685
+ color: var(--pa-success);
686
686
  }
687
687
 
688
688
  &--error {
689
- color: $danger-bg;
689
+ color: var(--pa-danger);
690
690
  }
691
691
  }
692
692
  }
@@ -753,9 +753,9 @@
753
753
 
754
754
  // Drag Overlay (for data-overlay-target feature)
755
755
  .pa-file-dropzone-overlay {
756
- background: rgba($accent-color, 0.15);
756
+ background: color-mix(in srgb, var(--pa-accent) 15%, transparent);
757
757
  backdrop-filter: blur(3.2px);
758
- border: 4.8px dashed $accent-color;
758
+ border: 4.8px dashed var(--pa-accent);
759
759
  border-radius: var(--pa-border-radius);
760
760
  display: flex;
761
761
  align-items: center;
@@ -775,6 +775,6 @@
775
775
  &__text {
776
776
  font-size: $font-size-xl;
777
777
  font-weight: $font-weight-semibold;
778
- color: $accent-color;
778
+ color: var(--pa-accent);
779
779
  }
780
780
  }
@@ -73,7 +73,7 @@
73
73
 
74
74
  &::before {
75
75
  content: '✓';
76
- color: $success-bg;
76
+ color: var(--pa-success);
77
77
  font-weight: $font-weight-semibold;
78
78
  flex-shrink: 0;
79
79
  }
@@ -81,17 +81,17 @@
81
81
 
82
82
  &.pa-list-basic--danger li::before {
83
83
  content: '✗';
84
- color: $danger-bg;
84
+ color: var(--pa-danger);
85
85
  }
86
86
 
87
87
  &.pa-list-basic--info li::before {
88
88
  content: '→';
89
- color: $info-bg;
89
+ color: var(--pa-info);
90
90
  }
91
91
 
92
92
  &.pa-list-basic--warning li::before {
93
93
  content: '!';
94
- color: $warning-bg;
94
+ color: var(--pa-warning);
95
95
  }
96
96
  }
97
97
  }
@@ -66,12 +66,12 @@
66
66
  }
67
67
 
68
68
  &--and {
69
- border-color: $warning-bg;
69
+ border-color: var(--pa-warning);
70
70
  background: linear-gradient(135deg, #fff8e1 0%, #ffffff 100%);
71
71
  }
72
72
 
73
73
  &--or {
74
- border-color: $info-bg;
74
+ border-color: var(--pa-info);
75
75
  background: linear-gradient(135deg, #e3f2fd 0%, #ffffff 100%);
76
76
  }
77
77
 
@@ -106,6 +106,7 @@
106
106
  .pa-modal__footer {
107
107
  padding: $modal-footer-padding;
108
108
  border-top: $border-width-base solid var(--pa-border-color);
109
+ border-radius: 0 0 var(--pa-border-radius) var(--pa-border-radius); // Match container's bottom corners
109
110
  display: flex;
110
111
  justify-content: flex-end;
111
112
  gap: $spacing-md;
@@ -153,6 +154,74 @@
153
154
  }
154
155
  }
155
156
 
157
+ // Banded variant — header AND footer wear the role colour as filled bands,
158
+ // body and buttons stay neutral. Bands consume the alert tokens (15% mix
159
+ // in light mode, 45% in dark) so banded modals stay in lock-step with the
160
+ // alert palette across both themes — single source of truth.
161
+ //
162
+ // Compose with a role modifier to colour the bands:
163
+ // <div class="pa-modal pa-modal--success pa-modal--banded">
164
+ //
165
+ // Defined AFTER the role-only rules above so the compound selectors win on
166
+ // source order (specificity is identical, last-rule wins).
167
+ .pa-modal--banded {
168
+ .pa-modal__header {
169
+ background-color: var(--pa-modal-band-bg);
170
+ color: var(--pa-modal-band-text);
171
+ border-bottom-color: var(--pa-modal-band-border);
172
+
173
+ .pa-modal__title {
174
+ color: var(--pa-modal-band-text);
175
+ }
176
+ }
177
+
178
+ .pa-modal__footer {
179
+ background-color: var(--pa-modal-band-bg);
180
+ color: var(--pa-modal-band-text);
181
+ border-top-color: var(--pa-modal-band-border);
182
+ }
183
+
184
+ // Buttons inside the bands invert the modal's colour scheme so they
185
+ // pop against any role's band on either light or dark themes — using
186
+ // generic --light/--dark modifiers landed too close in luminance to
187
+ // the muted band on most themes.
188
+ .pa-modal__header .pa-btn,
189
+ .pa-modal__footer .pa-btn {
190
+ background-color: var(--pa-text-color-1);
191
+ color: var(--pa-modal-content-bg);
192
+ border-color: var(--pa-text-color-1);
193
+
194
+ &:hover {
195
+ background-color: color-mix(in srgb, var(--pa-text-color-1) 85%, transparent);
196
+ border-color: color-mix(in srgb, var(--pa-text-color-1) 85%, transparent);
197
+ }
198
+ }
199
+ }
200
+
201
+ .pa-modal--banded.pa-modal--success {
202
+ --pa-modal-band-bg: var(--pa-alert-success-bg);
203
+ --pa-modal-band-text: var(--pa-alert-success-text);
204
+ --pa-modal-band-border: var(--pa-alert-success-border);
205
+ }
206
+
207
+ .pa-modal--banded.pa-modal--warning {
208
+ --pa-modal-band-bg: var(--pa-alert-warning-bg);
209
+ --pa-modal-band-text: var(--pa-alert-warning-text);
210
+ --pa-modal-band-border: var(--pa-alert-warning-border);
211
+ }
212
+
213
+ .pa-modal--banded.pa-modal--danger {
214
+ --pa-modal-band-bg: var(--pa-alert-danger-bg);
215
+ --pa-modal-band-text: var(--pa-alert-danger-text);
216
+ --pa-modal-band-border: var(--pa-alert-danger-border);
217
+ }
218
+
219
+ .pa-modal--banded.pa-modal--info {
220
+ --pa-modal-band-bg: var(--pa-alert-info-bg);
221
+ --pa-modal-band-text: var(--pa-alert-info-text);
222
+ --pa-modal-band-border: var(--pa-alert-info-border);
223
+ }
224
+
156
225
  // Modal scrollable content
157
226
  .pa-modal__body--scrollable {
158
227
  max-height: $modal-body-scrollable-max-height;
@@ -106,14 +106,14 @@
106
106
  background: none;
107
107
  border: none;
108
108
  padding: 0;
109
- color: $accent-color;
109
+ color: var(--pa-accent);
110
110
  font-size: $font-size-sm;
111
111
  font-weight: $font-weight-medium;
112
112
  cursor: pointer;
113
113
  transition: color $transition-fast $easing-snappy;
114
114
 
115
115
  &:hover {
116
- color: $accent-hover;
116
+ color: var(--pa-accent-hover);
117
117
  }
118
118
  }
119
119
 
@@ -145,10 +145,10 @@
145
145
 
146
146
  // Unread notification (darker background)
147
147
  &--unread {
148
- background-color: rgba($accent-color, 0.05);
148
+ background-color: color-mix(in srgb, var(--pa-accent) 5%, transparent);
149
149
 
150
150
  &:hover {
151
- background-color: rgba($accent-color, 0.1);
151
+ background-color: color-mix(in srgb, var(--pa-accent) 10%, transparent);
152
152
  }
153
153
  }
154
154
  }
@@ -161,33 +161,33 @@
161
161
  display: flex;
162
162
  align-items: center;
163
163
  justify-content: center;
164
- border-radius: 50%;
165
164
  font-size: $font-size-base;
166
- background-color: var(--pa-accent-light);
167
165
  color: var(--pa-accent);
166
+ border: 1px solid transparent;
167
+ border-radius: var(--pa-border-radius);
168
168
 
169
169
  &--primary {
170
- background-color: rgba($btn-primary-bg, 0.1);
171
- color: $btn-primary-bg;
170
+ border-color: var(--pa-btn-primary-bg);
171
+ color: var(--pa-btn-primary-bg);
172
172
  }
173
173
 
174
174
  &--success {
175
- background-color: rgba($btn-success-bg, 0.1);
176
- color: $btn-success-bg;
175
+ border-color: var(--pa-success);
176
+ color: var(--pa-success);
177
177
  }
178
178
 
179
179
  &--warning {
180
- background-color: rgba($btn-warning-bg, 0.1);
181
- color: $btn-warning-bg;
180
+ border-color: var(--pa-warning);
181
+ color: var(--pa-warning);
182
182
  }
183
183
 
184
184
  &--danger {
185
- background-color: rgba($btn-danger-bg, 0.1);
186
- color: $btn-danger-bg;
185
+ border-color: var(--pa-danger);
186
+ color: var(--pa-danger);
187
187
  }
188
188
 
189
189
  &--secondary {
190
- background-color: rgba(var(--pa-text-color-2), 0.1);
190
+ border-color: var(--pa-text-color-2);
191
191
  color: var(--pa-text-color-2);
192
192
  }
193
193
  }
@@ -231,14 +231,14 @@
231
231
  text-align: center;
232
232
 
233
233
  a {
234
- color: $accent-color;
234
+ color: var(--pa-accent);
235
235
  font-size: $font-size-sm;
236
236
  font-weight: $font-weight-medium;
237
237
  text-decoration: none;
238
238
  transition: color $transition-fast $easing-snappy;
239
239
 
240
240
  &:hover {
241
- color: $accent-hover;
241
+ color: var(--pa-accent-hover);
242
242
  }
243
243
  }
244
244
  }
@@ -89,7 +89,7 @@
89
89
  display: flex;
90
90
  gap: $spacing-sm;
91
91
  justify-content: flex-end;
92
- background-color: rgba($border-color, 0.3);
92
+ background-color: color-mix(in srgb, var(--pa-border-color) 30%, transparent);
93
93
 
94
94
  .pa-btn {
95
95
  font-size: $font-size-xs;
@@ -19,24 +19,32 @@
19
19
  justify-content: center;
20
20
  font-size: $font-size-xl;
21
21
 
22
+ // Colour variants resolve via CSS custom properties so theme overrides
23
+ // (--pa-success-bg, --pa-warning-bg, etc.) cascade at runtime instead of
24
+ // baking at SCSS compile time.
22
25
  &--primary {
23
- background-color: rgba($accent-color, $opacity-light);
24
- color: $accent-color;
26
+ background-color: var(--pa-accent-light);
27
+ color: var(--pa-accent);
25
28
  }
26
29
 
27
30
  &--success {
28
- background-color: $success-bg-light;
29
- color: $success-bg;
31
+ background-color: var(--pa-success-bg-light);
32
+ color: var(--pa-success-bg);
30
33
  }
31
34
 
32
35
  &--warning {
33
- background-color: $warning-bg-light;
34
- color: $warning-bg;
36
+ background-color: var(--pa-warning-bg-light);
37
+ color: var(--pa-warning-bg);
38
+ }
39
+
40
+ &--danger {
41
+ background-color: var(--pa-danger-bg-light);
42
+ color: var(--pa-danger-bg);
35
43
  }
36
44
 
37
45
  &--info {
38
- background-color: $info-bg-light;
39
- color: $info-bg;
46
+ background-color: var(--pa-info-bg-light);
47
+ color: var(--pa-info-bg);
40
48
  }
41
49
  }
42
50
 
@@ -80,21 +88,19 @@
80
88
  margin-bottom: $spacing-xs;
81
89
  }
82
90
 
91
+ // Delta indicator — uses the 5-step sentiment scale (direction of change),
92
+ // distinct from role colours. --positive / --negative alias the success /
93
+ // danger roles so themes that retune those automatically retune deltas;
94
+ // --very-* are explicit darker stops.
83
95
  .pa-stat__change {
84
96
  font-size: $font-size-xs;
85
97
  font-weight: $font-weight-semibold;
86
98
 
87
- &--positive {
88
- color: $success-bg;
89
- }
90
-
91
- &--negative {
92
- color: $danger-bg;
93
- }
94
-
95
- &--neutral {
96
- color: var(--pa-text-color-2);
97
- }
99
+ &--very-positive { color: var(--pa-very-positive); }
100
+ &--positive { color: var(--pa-positive); }
101
+ &--neutral { color: var(--pa-neutral); }
102
+ &--negative { color: var(--pa-negative); }
103
+ &--very-negative { color: var(--pa-very-negative); }
98
104
  }
99
105
  }
100
106
 
@@ -29,12 +29,12 @@
29
29
 
30
30
  &:hover {
31
31
  color: var(--pa-text-color-1);
32
- background-color: rgba($accent-color, $card-tab-hover-opacity);
32
+ background-color: color-mix(in srgb, var(--pa-accent) #{$card-tab-hover-opacity * 100%}, transparent);
33
33
  }
34
34
 
35
35
  &--active {
36
- color: $accent-color;
37
- border-bottom-color: $accent-color;
36
+ color: var(--pa-accent);
37
+ border-bottom-color: var(--pa-accent);
38
38
  font-weight: $font-weight-semibold;
39
39
  }
40
40
 
@@ -75,8 +75,8 @@
75
75
  background-color: var(--pa-main-bg);
76
76
 
77
77
  &:hover {
78
- background-color: rgba($accent-color, $tabs-pill-hover-opacity);
79
- border-color: rgba($accent-color, $tabs-pill-border-opacity);
78
+ background-color: color-mix(in srgb, var(--pa-accent) #{$tabs-pill-hover-opacity * 100%}, transparent);
79
+ border-color: color-mix(in srgb, var(--pa-accent) #{$tabs-pill-border-opacity * 100%}, transparent);
80
80
  color: var(--pa-text-color-1);
81
81
  }
82
82
 
@@ -103,7 +103,7 @@
103
103
  padding: $spacing-sm $spacing-md;
104
104
 
105
105
  &:hover {
106
- background-color: rgba($accent-color, $tabs-boxed-hover-opacity);
106
+ background-color: color-mix(in srgb, var(--pa-accent) #{$tabs-boxed-hover-opacity * 100%}, transparent);
107
107
  color: var(--pa-text-color-1);
108
108
  }
109
109
 
@@ -140,12 +140,12 @@
140
140
  min-height: 4rem; // Default height for vertical tabs
141
141
 
142
142
  &:hover {
143
- background-color: rgba($accent-color, $tabs-vertical-hover-opacity);
143
+ background-color: color-mix(in srgb, var(--pa-accent) #{$tabs-vertical-hover-opacity * 100%}, transparent);
144
144
  }
145
145
 
146
146
  &--active {
147
- border-inline-end-color: $accent-color; // RTL: flips to border-left-color
148
- background-color: rgba($accent-color, $tabs-vertical-active-opacity);
147
+ border-inline-end-color: var(--pa-accent); // RTL: flips to border-left-color
148
+ background-color: color-mix(in srgb, var(--pa-accent) #{$tabs-vertical-active-opacity * 100%}, transparent);
149
149
  }
150
150
 
151
151
  // Icon with fixed width (follows sidebar pattern)
@@ -407,7 +407,7 @@
407
407
  height: $card-header-min-height;
408
408
 
409
409
  &:hover {
410
- background-color: rgba($accent-color, $card-tab-hover-opacity);
410
+ background-color: color-mix(in srgb, var(--pa-accent) #{$card-tab-hover-opacity * 100%}, transparent);
411
411
  color: var(--pa-text-color-1);
412
412
  }
413
413
 
@@ -458,11 +458,11 @@
458
458
  white-space: nowrap;
459
459
 
460
460
  &:hover {
461
- background-color: rgba($accent-color, $card-tab-hover-opacity);
461
+ background-color: color-mix(in srgb, var(--pa-accent) #{$card-tab-hover-opacity * 100%}, transparent);
462
462
  }
463
463
 
464
464
  &--active {
465
- background-color: rgba($accent-color, 0.1);
465
+ background-color: color-mix(in srgb, var(--pa-accent) 10%, transparent);
466
466
  border-bottom: none;
467
467
  }
468
468
  }