@keenmate/pure-admin-core 1.0.0-rc06 → 1.1.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 (78) hide show
  1. package/README.md +77 -7
  2. package/dist/css/main.css +1313 -452
  3. package/package.json +1 -1
  4. package/snippets/customization.html +1 -1
  5. package/snippets/layout.html +66 -0
  6. package/snippets/manifest.json +0 -50
  7. package/snippets/profile.html +51 -3
  8. package/src/scss/_base-css-variables.scss +432 -422
  9. package/src/scss/_core.scss +105 -105
  10. package/src/scss/_fonts.scss +0 -14
  11. package/src/scss/_variables.scss +12 -14
  12. package/src/scss/core-components/_alerts.scss +7 -7
  13. package/src/scss/core-components/_base.scss +3 -3
  14. package/src/scss/core-components/_buttons.scss +425 -425
  15. package/src/scss/core-components/_callouts.scss +139 -139
  16. package/src/scss/core-components/_cards.scss +321 -321
  17. package/src/scss/core-components/_checkbox-lists.scss +2 -2
  18. package/src/scss/core-components/_code.scss +4 -4
  19. package/src/scss/core-components/_command-palette.scss +518 -518
  20. package/src/scss/core-components/_comparison.scss +3 -3
  21. package/src/scss/core-components/_file-selector.scss +780 -780
  22. package/src/scss/core-components/_forms.scss +16 -16
  23. package/src/scss/core-components/_grid.scss +25 -0
  24. package/src/scss/core-components/_layout.scss +15 -15
  25. package/src/scss/core-components/_lists.scss +7 -7
  26. package/src/scss/core-components/_logic-tree.scss +280 -280
  27. package/src/scss/core-components/_modals.scss +2 -2
  28. package/src/scss/core-components/_notifications.scss +74 -7
  29. package/src/scss/core-components/_pagers.scss +3 -3
  30. package/src/scss/core-components/_popconfirm.scss +1 -1
  31. package/src/scss/core-components/_profile.scss +400 -379
  32. package/src/scss/core-components/_scrollbars.scss +40 -41
  33. package/src/scss/core-components/_settings-panel.scss +5 -5
  34. package/src/scss/core-components/_statistics.scss +6 -6
  35. package/src/scss/core-components/_tables.scss +566 -566
  36. package/src/scss/core-components/_tabs.scss +493 -493
  37. package/src/scss/core-components/_timeline.scss +15 -15
  38. package/src/scss/core-components/_toasts.scss +4 -4
  39. package/src/scss/core-components/_tooltips.scss +8 -8
  40. package/src/scss/core-components/_utilities.scss +35 -30
  41. package/src/scss/core-components/_web-components-theme.scss +294 -294
  42. package/src/scss/core-components/badges/_composite-badge-variants.scss +3 -3
  43. package/src/scss/core-components/badges/_labels.scss +1 -1
  44. package/src/scss/core-components/forms/_checkboxes-radios.scss +2 -2
  45. package/src/scss/core-components/forms/_form-inputs.scss +4 -4
  46. package/src/scss/core-components/forms/_form-layout.scss +2 -2
  47. package/src/scss/core-components/forms/_form-states.scss +1 -1
  48. package/src/scss/core-components/forms/_input-groups.scss +13 -11
  49. package/src/scss/core-components/forms/_input-wrapper.scss +1 -1
  50. package/src/scss/core-components/forms/_query-editor.scss +17 -17
  51. package/src/scss/core-components/layout/_layout-container.scss +33 -1
  52. package/src/scss/core-components/layout/_navbar-elements.scss +1 -1
  53. package/src/scss/core-components/layout/_sidebar.scss +53 -2
  54. package/src/scss/utilities.scss +81 -2
  55. package/src/scss/variables/_base.scss +20 -10
  56. package/src/scss/variables/_colors.scss +7 -6
  57. package/src/scss/variables/_components.scss +8 -11
  58. package/src/scss/variables/_index.scss +11 -7
  59. package/src/scss/variables/_spacing.scss +12 -0
  60. package/src/scss/variables/_typography.scss +2 -2
  61. package/dist/fonts/Delivery/Delivery_W_Bd.woff2 +0 -0
  62. package/dist/fonts/Delivery/Delivery_W_BdIt.woff2 +0 -0
  63. package/dist/fonts/Delivery/Delivery_W_CdBlk.woff2 +0 -0
  64. package/dist/fonts/Delivery/Delivery_W_CdLt.woff2 +0 -0
  65. package/dist/fonts/Delivery/Delivery_W_It.woff2 +0 -0
  66. package/dist/fonts/Delivery/Delivery_W_Lt.woff2 +0 -0
  67. package/dist/fonts/Delivery/Delivery_W_LtIt.woff2 +0 -0
  68. package/dist/fonts/Delivery/Delivery_W_Rg.woff2 +0 -0
  69. package/src/scss/themes/_dark-base.scss +0 -207
  70. package/src/scss/themes/audi-light.scss +0 -341
  71. package/src/scss/themes/audi.scss +0 -303
  72. package/src/scss/themes/corporate.scss +0 -229
  73. package/src/scss/themes/dark-blue.scss +0 -165
  74. package/src/scss/themes/dark-green.scss +0 -169
  75. package/src/scss/themes/dark-red.scss +0 -173
  76. package/src/scss/themes/dark.scss +0 -158
  77. package/src/scss/themes/express.scss +0 -294
  78. package/src/scss/themes/minimal.scss +0 -134
@@ -6,14 +6,18 @@
6
6
  // IMPORTANT: Order matters for dependencies!
7
7
  // 1. Base variables are the SOURCE OF TRUTH (standalone, no imports)
8
8
  // 2. All other modules can import from base and derive their values
9
+ //
10
+ // NOTE: We use @import (not @forward) to ensure variables share the global
11
+ // scope. This allows themes to set variables BEFORE importing, and the
12
+ // !default flags will skip already-defined variables.
9
13
 
10
14
  // Base variables FIRST - single source of truth for theming
11
- @forward 'base';
15
+ @import 'base';
12
16
 
13
17
  // Derived framework variables (can use base values)
14
- @forward 'typography';
15
- @forward 'spacing';
16
- @forward 'colors';
17
- @forward 'layout';
18
- @forward 'system';
19
- @forward 'components';
18
+ @import 'typography';
19
+ @import 'spacing';
20
+ @import 'colors';
21
+ @import 'layout';
22
+ @import 'system';
23
+ @import 'components';
@@ -14,6 +14,18 @@ $spacing-lg: 2.4rem !default; // 24px (was 1.5rem)
14
14
  $spacing-xl: 3.2rem !default; // 32px (was 2rem)
15
15
  $spacing-2xl: 4.8rem !default; // 48px (was 3rem)
16
16
 
17
+ // Semantic spacers map (for utility class generation)
18
+ $semantic-spacers: (
19
+ '0': 0,
20
+ 'xs': $spacing-xs,
21
+ 'sm': $spacing-sm,
22
+ 'md': $spacing-md,
23
+ 'base': $spacing-base,
24
+ 'lg': $spacing-lg,
25
+ 'xl': $spacing-xl,
26
+ '2xl': $spacing-2xl
27
+ ) !default;
28
+
17
29
  // Border widths
18
30
  $border-width-thin: 1px !default;
19
31
  $border-width-base: 1px !default;
@@ -10,8 +10,8 @@ $font-stack-system: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxyge
10
10
  $font-stack-serif: Georgia, "Times New Roman", Times, serif !default;
11
11
  $font-stack-mono: "Courier New", Courier, monospace !default;
12
12
 
13
- // Body font (defaults to system, themes can override)
14
- $body-font-family: $font-stack-system !default;
13
+ // Body font (derived from $base-font-family, themes override that)
14
+ $body-font-family: $base-font-family !default;
15
15
 
16
16
  // Font sizes (all in rem for consistency) - 10px base
17
17
  $font-size-2xs: 1rem !default; // 10px (was 0.625rem)
@@ -1,207 +0,0 @@
1
- /* Dark Theme Base Template - Reusable mixin for dark theme variants */
2
-
3
- @mixin dark-theme-base(
4
- $theme-name,
5
- $primary-bg,
6
- $content-bg,
7
- $header-bg,
8
- $sidebar-bg,
9
- $footer-bg,
10
- $border-color,
11
- $text-primary,
12
- $text-secondary,
13
- $accent-color,
14
- $accent-hover,
15
- $accent-light,
16
- $card-bg,
17
- $card-header-bg,
18
- $card-footer-bg,
19
- $card-tabs-bg,
20
- $input-bg,
21
- $table-bg,
22
- $table-header-bg,
23
- $table-hover-bg,
24
- $table-stripe,
25
- $btn-colors,
26
- $modal-overlay-bg,
27
- $modal-content-bg
28
- ) {
29
- [data-theme="#{$theme-name}"] {
30
- // Layout dimensions (same across themes)
31
- --header-height: 2.5rem;
32
- --footer-height: 2rem;
33
- --sidebar-width: 12rem;
34
-
35
- // Theme colors
36
- --primary-bg: #{$primary-bg};
37
- --content-background-color: #{$content-bg};
38
- --header-bg: #{$header-bg};
39
- --sidebar-bg: #{$sidebar-bg};
40
- --footer-bg: #{$footer-bg};
41
- --border-color: #{$border-color};
42
- --text-primary: #{$text-primary};
43
- --text-secondary: #{$text-secondary};
44
- --accent-color: #{$accent-color};
45
- --accent-hover: #{$accent-hover};
46
- --accent-light: #{$accent-light};
47
-
48
- // Card colors
49
- --card-bg: #{$card-bg};
50
- --card-header-bg: #{$card-header-bg};
51
- --card-footer-bg: #{$card-footer-bg};
52
- --card-tabs-bg: #{$card-tabs-bg};
53
-
54
- // Input colors
55
- --input-bg: #{$input-bg};
56
- --input-border: var(--border-color);
57
- --input-text: var(--text-primary);
58
-
59
- // Table colors
60
- --table-bg: #{$table-bg};
61
- --table-header-bg: #{$table-header-bg};
62
- --table-hover-bg: #{$table-hover-bg};
63
- --table-stripe: #{$table-stripe};
64
-
65
- // Button colors
66
- --btn-primary-bg: #{map-get($btn-colors, primary)};
67
- --btn-primary-bg-hover: #{map-get($btn-colors, primary-hover)};
68
- --btn-secondary-bg: #{map-get($btn-colors, secondary)};
69
- --btn-secondary-bg-hover: #{map-get($btn-colors, secondary-hover)};
70
- --btn-success-bg: #{map-get($btn-colors, success)};
71
- --btn-success-bg-hover: #{map-get($btn-colors, success-hover)};
72
- --btn-warning-bg: #{map-get($btn-colors, warning)};
73
- --btn-warning-text: #ffffff;
74
- --btn-danger-bg: #{map-get($btn-colors, danger)};
75
- --btn-danger-bg-hover: #{map-get($btn-colors, danger-hover)};
76
- --btn-info-bg: #{map-get($btn-colors, info)};
77
- --btn-info-bg-hover: #{map-get($btn-colors, info-hover)};
78
- --btn-light-bg: #{map-get($btn-colors, light)};
79
- --btn-light-text: #{map-get($btn-colors, light-text)};
80
- --btn-light-bg-hover: #{map-get($btn-colors, light-hover)};
81
- --btn-dark-bg: #{map-get($btn-colors, dark)};
82
- --btn-dark-bg-hover: #{map-get($btn-colors, dark-hover)};
83
-
84
- // Modal colors
85
- --modal-overlay-bg: #{$modal-overlay-bg};
86
- --modal-content-bg: #{$modal-content-bg};
87
- }
88
-
89
- [data-theme="#{$theme-name}"] {
90
- body {
91
- background-color: var(--content-background-color);
92
- }
93
-
94
- .admin-content {
95
- background-color: var(--content-background-color);
96
- }
97
-
98
- .content-section {
99
- background: #{$card-bg};
100
- border: 1px solid var(--border-color);
101
- }
102
-
103
- .long-content .content-block {
104
- background: #{$card-bg};
105
- border: 1px solid var(--border-color);
106
- }
107
-
108
- .pa-card {
109
- background: var(--card-bg);
110
- border-color: var(--border-color);
111
-
112
- &__header {
113
- background: var(--card-header-bg);
114
- border-color: var(--border-color);
115
- }
116
-
117
- &__footer {
118
- background: var(--card-footer-bg);
119
- border-color: var(--border-color);
120
- }
121
- }
122
-
123
- .pa-input,
124
- .pa-select,
125
- .pa-textarea {
126
- background-color: var(--input-bg);
127
- border-color: var(--border-color);
128
- color: var(--text-primary);
129
-
130
- &:focus {
131
- border-color: var(--accent-color);
132
- box-shadow: 0 0 0 3px var(--accent-light);
133
- }
134
- }
135
-
136
- /* Table styling - comprehensive overrides */
137
- .pa-table {
138
- background-color: var(--table-bg);
139
- color: var(--text-primary);
140
-
141
- th {
142
- background-color: var(--table-header-bg);
143
- color: var(--text-primary);
144
- border-color: var(--border-color);
145
- }
146
-
147
- td {
148
- background-color: var(--table-bg);
149
- color: var(--text-primary);
150
- border-color: var(--border-color);
151
- }
152
-
153
- tr {
154
- background-color: var(--table-bg);
155
-
156
- &:hover {
157
- background-color: var(--table-hover-bg);
158
- }
159
- }
160
-
161
- tbody {
162
- tr {
163
- background-color: var(--table-bg) !important;
164
-
165
- &:hover {
166
- background-color: var(--table-hover-bg) !important;
167
- }
168
- }
169
-
170
- td {
171
- background-color: transparent !important;
172
- color: var(--text-primary);
173
- }
174
- }
175
- }
176
-
177
- /* Pure CSS table overrides */
178
- .pure-table {
179
- background-color: var(--table-bg);
180
- color: var(--text-primary);
181
-
182
- td,
183
- th {
184
- background-color: var(--table-bg);
185
- color: var(--text-primary);
186
- border-color: var(--border-color);
187
- }
188
-
189
- thead th {
190
- background-color: var(--table-header-bg);
191
- }
192
-
193
- &-striped tr:nth-child(2n-1) td {
194
- background-color: var(--table-stripe);
195
- }
196
-
197
- tr:hover td {
198
- background-color: var(--table-hover-bg);
199
- }
200
- }
201
-
202
- .component-card {
203
- background: var(--card-bg);
204
- border-color: var(--border-color);
205
- }
206
- }
207
- }
@@ -1,341 +0,0 @@
1
- /* Pure Admin Visual - Audi Light Theme */
2
- /* Light version maintaining Audi's red accents and Fira Sans Condensed font */
3
- @use 'sass:color';
4
-
5
- // =============================================================================
6
- // THEME COLOR SLOTS (1-9) - Audi-inspired palette
7
- // =============================================================================
8
- $color-1: #bb0a30; // Audi Red (classic)
9
- $color-2: #ff4444; // Light Red
10
- $color-3: #ff6600; // Orange (warning tone)
11
- $color-4: #d4af37; // Gold (premium)
12
- $color-5: #00a0a0; // Teal (contrast)
13
- $color-6: #0066cc; // Blue (professional)
14
- $color-7: #8c8c8c; // Silver (metallic)
15
- $color-8: #404040; // Charcoal (neutral)
16
- $color-9: #6b3fa0; // Purple (luxury)
17
-
18
- @import '../variables';
19
-
20
- // Audi Light theme configuration
21
- $sidebar-width: 29rem; // 290px (10px base)
22
- $border-radius: 1px; // Keep Audi's sharp edges
23
- $border-radius-lg: 2px;
24
-
25
- // Audi Light color palette
26
- // Grays - light palette
27
- $audi-white: #ffffff;
28
- $audi-gray-50: #f8f9fa;
29
- $audi-gray-100: #f1f3f5;
30
- $audi-gray-200: #e9ecef;
31
- $audi-gray-300: #dee2e6;
32
- $audi-gray-400: #ced4da;
33
- $audi-gray-500: #adb5bd;
34
- $audi-gray-600: #6c757d;
35
- $audi-gray-700: #495057;
36
- $audi-gray-800: #343a40;
37
- $audi-gray-900: #212529;
38
-
39
- // Dark sidebar colors (for contrast)
40
- $audi-sidebar-dark: #1a1a1a;
41
- $audi-sidebar-darker: #0a0a0a;
42
- $audi-sidebar-gray: #2a2a2a;
43
- $audi-sidebar-gray-light: #333333;
44
-
45
- // Audi signature red (unchanged)
46
- $audi-red: #ff0000;
47
- $audi-red-dark: #cc0000;
48
- $audi-red-light: rgba(255, 0, 0, 0.1);
49
-
50
- // Layout colors - light with dark sidebar
51
- $primary-bg: $audi-gray-100;
52
- $bg-secondary: $audi-gray-50;
53
- $content-background-color: $audi-gray-100;
54
- $header-bg: $audi-sidebar-dark; // Dark header
55
- $header-border-color: $audi-gray-300;
56
- $header-profile-name-color: #ffffff; // Light text on dark header
57
- $sidebar-bg: $audi-sidebar-dark; // Dark sidebar for contrast
58
- $sidebar-submenu-bg: $audi-sidebar-gray;
59
- $sidebar-submenu-hover-bg: rgba($audi-red, 0.25); // Match level 1 hover (red accent)
60
- $sidebar-submenu-active-bg: rgba($audi-red, 0.3); // Match level 1 active (red accent)
61
- $footer-bg: $audi-sidebar-dark; // Dark footer
62
- $border-color: $audi-gray-300;
63
- $text-primary: $audi-gray-900;
64
- $text-secondary: $audi-gray-600;
65
- $accent-color: $audi-red;
66
- $accent-hover: rgba($audi-red, 0.1);
67
- $accent-light: rgba($audi-red, 0.05);
68
-
69
- // Sync base variables with theme colors
70
- $base-accent-color: $accent-color;
71
- $base-accent-color-hover: color.adjust($base-accent-color, $lightness: 10%);
72
- $base-accent-color-active: color.adjust($base-accent-color, $lightness: 20%);
73
- $base-accent-color-light: $accent-light;
74
- $base-accent-color-light-hover: rgba($base-accent-color, 0.08);
75
-
76
- // Form focus colors - must match accent color
77
- $input-focus-border-color: $accent-color;
78
- $select-focus-border-color: $accent-color;
79
- $textarea-focus-border-color: $accent-color;
80
-
81
- // Checkbox colors - must match accent color
82
- $checkbox-border-color-hover: $accent-color;
83
- $checkbox-border-color-checked: $accent-color;
84
- $checkbox-bg-checked: $accent-color;
85
- $checkbox-bg-indeterminate: $accent-color;
86
- $checkbox-focus-shadow: 0 0 0 2px rgba($accent-color, 0.25);
87
-
88
- // Card colors
89
- $card-bg: $audi-white;
90
- $card-header-bg: $audi-gray-50;
91
- $card-footer-bg: $audi-gray-50;
92
- $card-tabs-bg: $audi-gray-200;
93
-
94
- // Input colors
95
- $input-bg: $audi-white;
96
- $input-border: $audi-gray-300;
97
- $input-text: $audi-gray-900;
98
-
99
- // Table colors
100
- $table-stripe: $audi-gray-50;
101
- $table-bg: $audi-white;
102
- $table-header-bg: $audi-gray-100;
103
- $table-hover-bg: $audi-gray-50;
104
-
105
- // Enable red accent on table row hover (Audi signature detail)
106
- $table-hover-accent-width: 0.3rem; // 3px in 10px base
107
- $table-hover-accent-color: $accent-color;
108
- $table-hover-accent-position: left;
109
-
110
- // Modal colors
111
- $modal-content-bg: $audi-white;
112
- $modal-overlay-bg: rgba($audi-sidebar-darker, 0.75);
113
-
114
- // Button colors - Keep Audi's red primary/danger, adjust others for light theme
115
- $btn-primary-bg: $audi-red;
116
- $btn-primary-bg-hover: $audi-red-dark;
117
- $btn-primary-text: #ffffff;
118
- $btn-secondary-bg: $audi-gray-600;
119
- $btn-secondary-bg-hover: $audi-gray-700;
120
- $btn-secondary-text: #ffffff;
121
- $btn-success-bg: #00cc44;
122
- $btn-success-bg-hover: #009933;
123
- $btn-success-text: #ffffff;
124
- $btn-danger-bg: $audi-red;
125
- $btn-danger-bg-hover: $audi-red-dark;
126
- $btn-danger-text: #ffffff;
127
- $btn-warning-bg: #ff6600;
128
- $btn-warning-bg-hover: #e55a00;
129
- $btn-warning-text: #ffffff;
130
- $btn-info-bg: #0099ff;
131
- $btn-info-bg-hover: #0077cc;
132
- $btn-info-text: #ffffff;
133
- $btn-light-bg: $audi-gray-200;
134
- $btn-light-bg-hover: $audi-gray-300;
135
- $btn-light-text: $audi-gray-900;
136
- $btn-dark-bg: $audi-gray-900;
137
- $btn-dark-bg-hover: $audi-gray-800;
138
- $btn-dark-text: #ffffff;
139
-
140
- // Validation shadow colors - match button colors
141
- $success-bg: $btn-success-bg;
142
- $success-bg-light: rgba(0, 204, 68, 0.1);
143
- $warning-bg: $btn-warning-bg;
144
- $warning-bg-light: rgba(255, 102, 0, 0.1);
145
- $danger-bg: $btn-danger-bg;
146
- $danger-bg-light: rgba(255, 0, 0, 0.1);
147
-
148
- // Fira Sans Condensed fonts (local, same as Audi dark theme)
149
- /* cyrillic-ext */
150
- @font-face {
151
- font-family: 'Fira Sans Condensed';
152
- font-style: normal;
153
- font-weight: 400;
154
- font-display: swap;
155
- src: url(/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfvtrftV.woff2) format('woff2');
156
- unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
157
- }
158
- /* cyrillic */
159
- @font-face {
160
- font-family: 'Fira Sans Condensed';
161
- font-style: normal;
162
- font-weight: 400;
163
- font-display: swap;
164
- src: url(/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfLtrftV.woff2) format('woff2');
165
- unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
166
- }
167
- /* greek-ext */
168
- @font-face {
169
- font-family: 'Fira Sans Condensed';
170
- font-style: normal;
171
- font-weight: 400;
172
- font-display: swap;
173
- src: url(/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfrtrftV.woff2) format('woff2');
174
- unicode-range: U+1F00-1FFF;
175
- }
176
- /* greek */
177
- @font-face {
178
- font-family: 'Fira Sans Condensed';
179
- font-style: normal;
180
- font-weight: 400;
181
- font-display: swap;
182
- src: url(/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfXtrftV.woff2) format('woff2');
183
- unicode-range: U+0370-03FF;
184
- }
185
- /* vietnamese */
186
- @font-face {
187
- font-family: 'Fira Sans Condensed';
188
- font-style: normal;
189
- font-weight: 400;
190
- font-display: swap;
191
- src: url(/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfntrftV.woff2) format('woff2');
192
- unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
193
- }
194
- /* latin-ext */
195
- @font-face {
196
- font-family: 'Fira Sans Condensed';
197
- font-style: normal;
198
- font-weight: 400;
199
- font-display: swap;
200
- src: url(/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfjtrftV.woff2) format('woff2');
201
- unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
202
- }
203
- /* latin */
204
- @font-face {
205
- font-family: 'Fira Sans Condensed';
206
- font-style: normal;
207
- font-weight: 400;
208
- font-display: swap;
209
- src: url(/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfbtrQ.woff2) format('woff2');
210
- unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
211
- }
212
-
213
- // Set body font
214
- $body-font-family: "Fira Sans Condensed", "Arial Narrow", "Arial", sans-serif;
215
-
216
- // Card styling - thicker border for Audi design language
217
- $card-border-width: $border-width-medium;
218
- $card-border-radius: 0; // Sharp edges
219
-
220
- // Import core styles with overridden variables
221
- @import '../core';
222
- @import '../utilities';
223
- @import '../base-css-variables';
224
-
225
- // Audi Light specific overrides
226
- // Sidebar text should be light on dark background
227
- .pa-sidebar {
228
- color: #ffffff;
229
-
230
- &__link {
231
- color: #cccccc;
232
-
233
- &:hover {
234
- color: #ffffff;
235
- background-color: rgba($audi-red, 0.1);
236
- }
237
-
238
- &--active {
239
- color: #ffffff;
240
- background-color: rgba($audi-red, 0.15);
241
- border-left: 3px solid $audi-red;
242
- }
243
- }
244
-
245
- &__toggle {
246
- color: #cccccc;
247
-
248
- &:hover {
249
- color: #ffffff;
250
- }
251
- }
252
- }
253
-
254
- // Header text visibility - light text on dark header
255
- .pa-header {
256
- &__brand h1 {
257
- color: #ffffff !important;
258
- }
259
-
260
- &__nav > ul > li > a {
261
- color: #cccccc !important;
262
-
263
- &:hover {
264
- color: $audi-red !important;
265
- background-color: rgba($audi-red, 0.1) !important;
266
- }
267
- }
268
-
269
- // Dropdown menu items - dark text on light background
270
- &__dropdown li a {
271
- color: $audi-gray-900 !important;
272
-
273
- &:hover {
274
- color: $audi-red !important;
275
- background-color: rgba($audi-red, 0.05) !important;
276
- }
277
- }
278
-
279
- &__title h2 {
280
- color: #cccccc !important;
281
- }
282
-
283
- &__profile-btn {
284
- color: #ffffff !important;
285
-
286
- &:hover {
287
- background-color: rgba($audi-red, 0.2) !important;
288
- }
289
- }
290
- }
291
-
292
- // Burger menu - light bars on dark header
293
- .burger-menu {
294
- span {
295
- background-color: #ffffff !important;
296
- }
297
-
298
- &:hover span {
299
- background-color: $audi-red !important;
300
- }
301
- }
302
-
303
- // Theme switcher in header
304
- .theme-switcher {
305
- label {
306
- color: #cccccc !important;
307
- }
308
-
309
- select {
310
- background-color: $audi-sidebar-gray !important;
311
- color: #ffffff !important;
312
- border-color: $audi-sidebar-gray-light !important;
313
-
314
- &:focus {
315
- border-color: $audi-red !important;
316
- }
317
- }
318
- }
319
-
320
- // Footer - light text on dark background
321
- .pa-layout__footer {
322
- color: #cccccc;
323
-
324
- a {
325
- color: #ffffff;
326
-
327
- &:hover {
328
- color: $audi-red;
329
- }
330
- }
331
- }
332
-
333
- // CSS Variables for page loader (FOUC prevention) and base theme variables
334
- :root {
335
- --page-loader-bg: rgba(240, 240, 240, 0.95);
336
- --page-loader-spinner-border: #d0d0d0;
337
- --page-loader-spinner-accent: #bb0a30; // Audi red
338
-
339
- // Base CSS variables for web components (daterangepicker, multiselect, etc.)
340
- @include output-base-css-variables;
341
- }