@keenmate/pure-admin-core 2.3.1 → 2.3.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.
Files changed (69) hide show
  1. package/README.md +5 -5
  2. package/dist/css/main.css +187 -178
  3. package/package.json +1 -1
  4. package/snippets/buttons.html +375 -365
  5. package/src/scss/_base-css-variables.scss +8 -0
  6. package/src/scss/_core.scss +121 -121
  7. package/src/scss/core-components/_alerts.scss +227 -227
  8. package/src/scss/core-components/_badges.scss +16 -16
  9. package/src/scss/core-components/_base.scss +125 -125
  10. package/src/scss/core-components/_buttons.scss +31 -16
  11. package/src/scss/core-components/_callouts.scss +152 -152
  12. package/src/scss/core-components/_cards.scss +488 -488
  13. package/src/scss/core-components/_checkbox-lists.scss +289 -289
  14. package/src/scss/core-components/_code.scss +141 -141
  15. package/src/scss/core-components/_command-palette.scss +509 -509
  16. package/src/scss/core-components/_comparison.scss +172 -172
  17. package/src/scss/core-components/_data-display.scss +9 -9
  18. package/src/scss/core-components/_data-viz.scss +9 -9
  19. package/src/scss/core-components/_detail-panel.scss +1 -1
  20. package/src/scss/core-components/_file-selector.scss +780 -780
  21. package/src/scss/core-components/_filter-card.scss +58 -58
  22. package/src/scss/core-components/_forms.scss +16 -16
  23. package/src/scss/core-components/_grid.scss +293 -293
  24. package/src/scss/core-components/_layout.scss +15 -15
  25. package/src/scss/core-components/_lists.scss +211 -211
  26. package/src/scss/core-components/_loaders.scss +277 -277
  27. package/src/scss/core-components/_logic-tree.scss +280 -280
  28. package/src/scss/core-components/_modals.scss +203 -203
  29. package/src/scss/core-components/_notifications.scss +320 -320
  30. package/src/scss/core-components/_pagers.scss +141 -141
  31. package/src/scss/core-components/_popconfirm.scss +170 -170
  32. package/src/scss/core-components/_profile.scss +405 -405
  33. package/src/scss/core-components/_scrollbars.scss +40 -40
  34. package/src/scss/core-components/_settings-panel.scss +141 -141
  35. package/src/scss/core-components/_statistics.scss +200 -201
  36. package/src/scss/core-components/_tables.scss +900 -900
  37. package/src/scss/core-components/_tabs.scss +504 -504
  38. package/src/scss/core-components/_timeline.scss +589 -589
  39. package/src/scss/core-components/_toasts.scss +425 -425
  40. package/src/scss/core-components/_tooltips.scss +605 -605
  41. package/src/scss/core-components/_utilities.scss +1 -1
  42. package/src/scss/core-components/_web-components-theme.scss +21 -21
  43. package/src/scss/core-components/badges/_badge-base.scss +121 -121
  44. package/src/scss/core-components/badges/_badge-group.scss +25 -25
  45. package/src/scss/core-components/badges/_composite-badge-variants.scss +396 -396
  46. package/src/scss/core-components/badges/_composite-badge.scss +70 -70
  47. package/src/scss/core-components/badges/_index.scss +10 -10
  48. package/src/scss/core-components/badges/_labels.scss +155 -155
  49. package/src/scss/core-components/forms/_checkboxes-radios.scss +205 -205
  50. package/src/scss/core-components/forms/_form-inputs.scss +3 -3
  51. package/src/scss/core-components/forms/_form-layout.scss +66 -66
  52. package/src/scss/core-components/forms/_form-states.scss +115 -115
  53. package/src/scss/core-components/forms/_index.scss +12 -12
  54. package/src/scss/core-components/forms/_input-groups.scss +154 -154
  55. package/src/scss/core-components/forms/_input-wrapper.scss +89 -89
  56. package/src/scss/core-components/forms/_query-editor.scss +313 -313
  57. package/src/scss/core-components/layout/_index.scss +11 -11
  58. package/src/scss/core-components/layout/_layout-container.scss +168 -168
  59. package/src/scss/core-components/layout/_layout-responsive.scss +99 -99
  60. package/src/scss/core-components/layout/_navbar-elements.scss +250 -250
  61. package/src/scss/core-components/layout/_navbar.scss +83 -83
  62. package/src/scss/core-components/layout/_sidebar-states.scss +237 -237
  63. package/src/scss/core-components/layout/_sidebar.scss +234 -234
  64. package/src/scss/main.scss +7 -7
  65. package/src/scss/utilities.scss +740 -740
  66. package/src/scss/variables/_base.scss +228 -228
  67. package/src/scss/variables/_components.scss +748 -748
  68. package/src/scss/variables/_layout.scss +65 -65
  69. package/src/scss/variables/_typography.scss +37 -37
@@ -1,748 +1,748 @@
1
- // ============================================================================
2
- // COMPONENT VARIABLES
3
- // Component-specific dimensions, paddings, and settings
4
- // ============================================================================
5
-
6
- // NOTE: All base, layout, typography, spacing, colors, and system variables
7
- // are available in global scope via @import in _index.scss
8
- // No @use needed since we use @import for proper !default cascading
9
-
10
- // NOTE: 10px rem base - all rem values are now in 10px units (1rem = 10px)
11
-
12
- // ============================================================================
13
- // BADGE SYSTEM
14
- // ============================================================================
15
- $badge-padding-v: 0.2rem !default; // 2px (was 0.125rem)
16
- $badge-padding-h: 0.8rem !default; // 8px (was 0.5rem)
17
-
18
- // Composite badge dimensions
19
- $composite-badge-icon-width: 3.2rem !default; // 32px (was 2rem)
20
- $composite-badge-height: 2.8rem !default; // 28px (was 1.75rem)
21
- $composite-badge-label-padding: 0.8rem !default; // 8px (was 0.5rem)
22
- $composite-badge-button-width: 2.4rem !default; // 24px (was 1.5rem)
23
- $composite-badge-min-label-width: 4.8rem !default; // 48px (was 3rem)
24
-
25
- // Badge group
26
- $badge-group-gap: 0.8rem !default; // 8px (was 0.5rem)
27
- $badge-group-visible-limit: 5 !default;
28
-
29
- // Badge colors
30
- $badge-success-bg: $success-text-light !default;
31
- $badge-success-text: $success-text !default;
32
- $badge-warning-bg: $warning-text-light !default;
33
- $badge-warning-text: $warning-text !default;
34
- $badge-info-bg: $info-text-light !default;
35
- $badge-info-text: $info-text !default;
36
- $badge-danger-bg: $danger-text-light !default;
37
- $badge-danger-text: $danger-text !default;
38
- $badge-pill-radius: 50rem !default;
39
-
40
- // Composite badge colors
41
- $composite-badge-icon-bg: $btn-secondary-bg !default;
42
- $composite-badge-label-bg: $secondary-light-bg !default;
43
- $composite-badge-label-text: $secondary-light-text !default;
44
- $composite-badge-label-hover-bg: $secondary-lighter-bg !default;
45
-
46
- // ============================================================================
47
- // BUTTON SYSTEM
48
- // ============================================================================
49
- $btn-group-gap: 0.3rem !default; // 3px - default gap (use gap-* utilities for other sizes)
50
-
51
- // Button specific - vertical padding matches input padding for height alignment
52
- $btn-padding-v: 0.8rem !default; // 8px - matches input default
53
- $btn-padding-h: 1.2rem !default; // 12px
54
- $btn-padding-xs-v: 0.6rem !default; // 6px - matches input-xs
55
- $btn-padding-xs-h: 0.8rem !default; // 8px
56
- $btn-padding-sm-v: 0.8rem !default; // 8px - matches input default
57
- $btn-padding-sm-h: 1rem !default; // 10px
58
- $btn-padding-lg-v: 0.8rem !default; // 8px - matches input default
59
- $btn-padding-lg-h: 1.4rem !default; // 14px
60
- $btn-padding-xl-v: 0.8rem !default; // 8px - matches input default
61
- $btn-padding-xl-h: 1.6rem !default; // 16px
62
- $btn-border-width: 1px !default;
63
- $btn-icon-margin: 0.8rem !default; // 8px (was 0.5rem)
64
- $btn-min-width: 9.6rem !default; // 96px (was 6rem)
65
-
66
- // Button fixed-width utilities (10px base)
67
- $btn-width-1x: 1.6rem !default; // 16px (was 1rem)
68
- $btn-width-2x: 3.2rem !default; // 32px (was 2rem)
69
- $btn-width-3x: 4.8rem !default; // 48px (was 3rem)
70
- $btn-width-4x: 6.4rem !default; // 64px (was 4rem)
71
- $btn-width-5x: 8rem !default; // 80px (was 5rem)
72
- $btn-width-6x: 9.6rem !default; // 96px (was 6rem)
73
- $btn-width-7x: 11.2rem !default; // 112px (was 7rem)
74
- $btn-width-8x: 12.8rem !default; // 128px (was 8rem)
75
- $btn-width-9x: 14.4rem !default; // 144px (was 9rem)
76
- $btn-width-10x: 16rem !default; // 160px (was 10rem)
77
-
78
- // Button interaction
79
- $btn-hover-lift: -1px !default;
80
- $btn-hover-brightness: 0.9 !default;
81
- $btn-disabled-opacity: $opacity-disabled !default;
82
- $btn-focus-ring-opacity: 0.25 !default;
83
-
84
- // Button heights - aligned with input heights (source of truth from _base.scss)
85
- // These are used for icon-only buttons and table cell heights
86
- $btn-height-xs: #{$base-input-size-xs-height}rem !default; // 31px
87
- $btn-height-sm: #{$base-input-size-sm-height}rem !default; // 33px
88
- $btn-height-base: #{$base-input-size-md-height}rem !default; // 35px
89
- $btn-height-lg: #{$base-input-size-lg-height}rem !default; // 38px
90
- $btn-height-xl: #{$base-input-size-xl-height}rem !default; // 41px
91
-
92
- // Icon-only button sizes - match button heights (aligned with inputs)
93
- $btn-icon-only-size-xs: $btn-height-xs !default;
94
- $btn-icon-only-size-sm: $btn-height-sm !default;
95
- $btn-icon-only-size: $btn-height-base !default;
96
- $btn-icon-only-size-lg: $btn-height-lg !default;
97
- $btn-icon-only-size-xl: $btn-height-xl !default;
98
-
99
- // ============================================================================
100
- // MODAL SYSTEM
101
- // ============================================================================
102
- $modal-overlay-bg: rgba(0, 0, 0, 0.5) !default;
103
- $modal-content-bg: #ffffff !default;
104
- $modal-header-padding-v: 1.2rem !default; // 12px (was 0.75rem)
105
- $modal-header-padding-h: 1.6rem !default; // 16px (was 1rem)
106
- $modal-header-padding: $modal-header-padding-v $modal-header-padding-h !default;
107
- $modal-body-padding-v: 1.2rem !default; // 12px (was 0.75rem)
108
- $modal-body-padding-h: 1.6rem !default; // 16px (was 1rem)
109
- $modal-body-padding: $modal-body-padding-v $modal-body-padding-h !default;
110
- $modal-footer-padding-v: 1.2rem !default; // 12px (was 0.75rem)
111
- $modal-footer-padding-h: 1.6rem !default; // 16px (was 1rem)
112
- $modal-footer-padding: $modal-footer-padding-v $modal-footer-padding-h !default;
113
- $modal-sm-width: 32rem !default; // 320px (was 20rem)
114
- $modal-md-width: 48rem !default; // 480px (was 30rem)
115
- $modal-lg-width: 80rem !default; // 800px (was 50rem)
116
- $modal-xl-width: 112rem !default; // 1120px (was 70rem)
117
- $modal-xxl-width: 144rem !default; // 1440px (was 90rem)
118
- $modal-fw-margin: 1.6rem !default; // 16px (was 1rem)
119
- $modal-border-radius: 4px !default;
120
- $modal-close-font-size: $font-size-lg !default;
121
- $modal-title-font-size: $font-size-lg !default;
122
- $modal-box-shadow: 0 0.4rem $spacing-sm rgba(0, 0, 0, 0.1) !default;
123
- $modal-close-size: 4rem !default; // 40px (was 2.5rem)
124
- $modal-body-scrollable-max-height: 60vh !default;
125
- $modal-mobile-margin: $spacing-sm !default;
126
- $modal-mobile-max-height: 95vh !default;
127
- $modal-header-hover-overlay: rgba(255, 255, 255, 0.1) !default;
128
- $modal-close-hover-opacity: $opacity-hover !default;
129
- $modal-close-border-width: $border-width-base !default;
130
-
131
- // ============================================================================
132
- // PROFILE PANEL SYSTEM
133
- // ============================================================================
134
- $profile-panel-width: 20vw !default;
135
- $profile-panel-max-width: 48rem !default; // 480px (was 30rem)
136
- $profile-panel-width-fixed: 320px !default;
137
- $profile-panel-toggle-size: 40px !default;
138
- $profile-panel-toggle-size-open: 45px !default;
139
- $profile-avatar-size: 6.4rem !default; // 64px (was 4rem)
140
- $profile-close-size: 3.2rem !default; // 32px (was 2rem)
141
- $profile-nav-icon-width: $sidebar-icon-size !default;
142
- $profile-section-gap: $spacing-xl !default;
143
- $profile-overlay-bg: rgba(0, 0, 0, 0.3) !default;
144
- $profile-button-padding-v: $spacing-sm !default;
145
- $profile-button-padding-h: $spacing-md !default;
146
- $profile-role-letter-spacing: 0.5px !default;
147
- $profile-panel-mobile-max-width: 40rem !default; // 400px (was 25rem)
148
- $profile-panel-content-padding: 1.6rem !default; // Matches sidebar-padding horizontal (16px)
149
-
150
- // ============================================================================
151
- // DETAIL PANEL SYSTEM
152
- // ============================================================================
153
- $detail-panel-width: 40rem !default;
154
- $detail-panel-min-width: 28rem !default;
155
- $detail-panel-max-width: 64rem !default;
156
- $detail-panel-mobile-width: 90vw !default;
157
- $detail-panel-header-padding-v: 1.2rem !default;
158
- $detail-panel-header-padding-h: 1.6rem !default;
159
- $detail-panel-body-padding-v: 1.2rem !default;
160
- $detail-panel-body-padding-h: 1.6rem !default;
161
- $detail-panel-footer-padding-v: 1.2rem !default;
162
- $detail-panel-footer-padding-h: 1.6rem !default;
163
- $detail-panel-overlay-bg: rgba(0, 0, 0, 0.3) !default;
164
- $detail-panel-z-index: 4500 !default;
165
- $detail-panel-shadow: $shadow-profile-panel !default;
166
- $detail-panel-close-size: 3.2rem !default;
167
- $detail-panel-resize-handle-width: 6px !default;
168
- $detail-panel-selected-bg: rgba($accent-color, 0.08) !default;
169
-
170
- // ============================================================================
171
- // CARD SYSTEM
172
- // ============================================================================
173
- $card-border-width: $border-width-base !default; // Card outer border (themes can override)
174
- $card-border-radius: $border-radius-lg !default; // Controls card + header corners
175
- $card-body-padding-v: 1.6rem !default; // 16px vertical
176
- $card-body-padding-h: 1rem !default; // 10px horizontal
177
- $card-header-padding-v: 0.5rem !default; // 5px vertical
178
- $card-header-padding-h: 1rem !default; // 10px horizontal - matches body
179
- $card-header-min-height: 4rem !default; // 40px - fits xs buttons (32px) with padding
180
- $card-footer-padding-v: 1.2rem !default; // 12px vertical
181
- $card-footer-padding-h: 1rem !default; // 10px horizontal - matches body
182
- $card-grid-min-width: 280px !default;
183
- $card-stat-padding-v: $spacing-lg !default;
184
- $card-stat-padding-h: $spacing-base !default;
185
-
186
- // Card inline tabs (tabs inside header)
187
- $card-tab-inline-padding-v: 0.3rem !default; // 3px - compact for header
188
- $card-tab-inline-padding-h: 0.8rem !default; // 8px
189
- $card-tab-hover-opacity: 0.1 !default;
190
-
191
- // ============================================================================
192
- // TABLE SYSTEM
193
- // ============================================================================
194
- // Table base padding (matches button/input default)
195
- $table-padding-base-v: 0.8rem !default; // 8px - matches button SM/default
196
- $table-padding-base-h: 0.8rem !default; // 8px
197
-
198
- // Table size variants - synchronized with button/input sizes
199
- $table-padding-xs-v: $btn-padding-xs-v !default; // 0.6rem
200
- $table-padding-xs-h: $btn-padding-xs-h !default; // 0.8rem
201
- $table-padding-sm-v: $btn-padding-sm-v !default; // 0.8rem
202
- $table-padding-sm-h: $btn-padding-sm-h !default; // 1rem
203
- $table-padding-lg-v: $btn-padding-lg-v !default; // 0.8rem
204
- $table-padding-lg-h: $btn-padding-lg-h !default; // 1.4rem
205
- $table-padding-xl-v: $btn-padding-xl-v !default; // 0.8rem
206
- $table-padding-xl-h: $btn-padding-xl-h !default; // 1.6rem
207
-
208
- // Table cell heights - button height + size-specific buffer
209
- $table-cell-height-buffer-xs: 0.7rem !default;
210
- $table-cell-height-buffer-sm: 0.8rem !default;
211
- $table-cell-height-buffer-lg: 0.8rem !default;
212
- $table-cell-height-buffer-xl: 0.8rem !default;
213
-
214
- $table-cell-height-xs: $btn-height-xs + $table-cell-height-buffer-xs !default;
215
- $table-cell-height: $btn-height-base + $table-cell-height-buffer-sm !default;
216
- $table-cell-height-sm: $btn-height-sm + $table-cell-height-buffer-sm !default;
217
- $table-cell-height-lg: $btn-height-lg + $table-cell-height-buffer-lg !default;
218
- $table-cell-height-xl: $btn-height-xl + $table-cell-height-buffer-xl !default;
219
-
220
- // Virtual table (for large datasets)
221
- $virtual-table-cell-padding-v: 0.5rem !default; // 5px (was 0.3rem)
222
- $virtual-table-cell-padding-h: 0.8rem !default; // 8px (was 0.5rem)
223
-
224
- // Responsive table system
225
- $table-responsive-breakpoint: $mobile-breakpoint !default;
226
- $table-responsive-card-margin: $spacing-base !default;
227
- $table-responsive-card-padding: $spacing-md !default;
228
- $table-responsive-label-width: 40% !default;
229
- $table-responsive-label-font-weight: $font-weight-semibold !default;
230
-
231
- // ============================================================================
232
- // FORM SYSTEM
233
- // ============================================================================
234
- $form-scale: 0.8rem !default; // 8px (was 0.5rem)
235
- $form-group-margin-bottom: $spacing-sm !default;
236
- $form-label-margin-bottom: 0.3rem !default; // ~3px (was 0.2rem)
237
- $form-help-margin-top: $spacing-xs !default;
238
- $input-padding-v: $spacing-sm !default; // 0.8rem = 8px
239
- $input-padding-xs-v: 0.6rem !default; // 6px
240
- $input-padding-h: $spacing-sm !default; // 0.8rem = 8px
241
- $select-padding-v: 0.7rem !default; // 7px
242
- $select-padding-h: 0.5rem !default; // 5px - aligns options with inputs
243
- $textarea-min-height: 9.6rem !default; // 96px (was 6rem)
244
- $input-focus-ring-opacity: 0.1 !default;
245
- $input-focus-border-color: $accent-color !default;
246
- $select-focus-border-color: $accent-color !default;
247
- $textarea-focus-border-color: $accent-color !default;
248
- $input-group-prepend-bg: $secondary-bg !default;
249
- $input-group-prepend-text: $text-color-2 !default;
250
- $input-group-append-bg: $secondary-bg !default;
251
- $input-group-append-text: $text-color-2 !default;
252
- $checkbox-margin-top: 0.2rem !default; // 2px (was 0.125rem)
253
- $checkbox-size-xs: 1.2rem !default; // 12px (was 0.75rem)
254
- $checkbox-size-sm: 1.4rem !default; // 14px (was 0.875rem)
255
- $checkbox-size: 1.6rem !default; // 16px (was 1rem)
256
- $checkbox-size-lg: 2rem !default; // 20px (was 1.25rem)
257
- $checkbox-size-xl: 2.4rem !default; // 24px (was 1.5rem)
258
- $form-group-margin-compact: 1.2rem !default; // 12px (was 0.75rem)
259
-
260
- // Custom checkbox appearance (tri-state support)
261
- $checkbox-border-radius: $border-radius !default; // Match input border-radius
262
- $checkbox-border-width: $border-width-base !default; // 1px
263
- $checkbox-border-color: $border-color !default; // Default border
264
- $checkbox-border-color-hover: $accent-color !default; // Hover border
265
- $checkbox-border-color-checked: $accent-color !default; // Checked border
266
- $checkbox-bg: $card-bg !default; // Unchecked background
267
- $checkbox-bg-checked: $accent-color !default; // Checked background
268
- $checkbox-bg-indeterminate: $accent-color !default; // Indeterminate background
269
- $checkbox-checkmark-color: white !default; // Checkmark/dash color
270
- $checkbox-focus-shadow: 0 0 0 2px rgba($accent-color, 0.25) !default;
271
- $checkbox-transition: $transition-fast !default;
272
-
273
- // ============================================================================
274
- // MULTISELECT SYSTEM
275
- // ============================================================================
276
- $multiselect-input-padding-v: $input-padding-v !default;
277
- $multiselect-input-padding-h: $input-padding-h !default;
278
- $multiselect-dropdown-bg: $card-bg !default;
279
- $multiselect-dropdown-border: $border-color !default;
280
- $multiselect-dropdown-text: $text-color-1 !default;
281
- $multiselect-dropdown-shadow: $shadow-lg !default;
282
- $multiselect-dropdown-max-height: 32rem !default; // 320px (was 20rem)
283
- $multiselect-hint-bg: $main-bg !default;
284
- $multiselect-hint-border: $border-color !default;
285
- $multiselect-hint-padding: $spacing-sm !default;
286
- $multiselect-option-padding-v: $spacing-sm !default;
287
- $multiselect-option-padding-h: $spacing-md !default;
288
- $multiselect-option-hover-bg: $main-bg !default;
289
- $multiselect-pill-bg: $accent-light !default;
290
- $multiselect-pill-border: $accent-color !default;
291
- $multiselect-pill-padding: $spacing-xs $spacing-sm !default;
292
- $multiselect-pill-gap: $spacing-xs !default;
293
- $multiselect-selected-popover-width: 32rem !default; // 320px (was 20rem)
294
-
295
- // ============================================================================
296
- // ALERT SYSTEM
297
- // ============================================================================
298
- $alert-padding-v: $card-footer-padding-v !default;
299
- $alert-padding-h: $card-footer-padding-h !default;
300
- $alert-dismissible-padding-right: 4.8rem !default; // 48px (was 3rem)
301
- $alert-close-opacity: $opacity-muted !default;
302
- $alert-icon-margin: $spacing-sm !default;
303
- $alert-list-padding-left: $spacing-lg !default;
304
- $alert-list-item-margin-top: $card-footer-padding-v !default;
305
-
306
- // Alert colors - Now derived via color-mix() mixins in _base-css-variables.scss
307
- // Themes call output-pa-alert-variables-light/dark instead of hardcoding values
308
- // Keep only the text transform variable as it's not color-related
309
- $alert-danger-text-transform: none !default;
310
-
311
- // ============================================================================
312
- // CALLOUT SYSTEM
313
- // ============================================================================
314
- $callout-border-width: 0.4rem !default; // 4px left border accent
315
-
316
- // ============================================================================
317
- // STATS SYSTEM
318
- // ============================================================================
319
- $stat-icon-size: 4.8rem !default; // 48px (was 3rem)
320
- $stat-square-min-size: 12.8rem !default; // 128px (was 8rem)
321
- $stat-label-letter-spacing: 0.05em !default;
322
- $stat-change-margin-bottom: 0.4rem !default; // 4px (was 0.25rem)
323
- $stat-number-margin-bottom: $spacing-xs !default;
324
- $stat-symbol-opacity: $opacity-shadow !default;
325
-
326
- // Stat square clamp values (10px base)
327
- $stat-square-number-min: 4.8rem !default; // 48px (was 3rem)
328
- $stat-square-number-scale: 8vw !default;
329
- $stat-square-number-max: 7.2rem !default; // 72px (was 4.5rem)
330
- $stat-square-symbol-min: 6.4rem !default; // 64px (was 4rem)
331
- $stat-square-symbol-scale: 10vw !default;
332
- $stat-square-symbol-max: 9.6rem !default; // 96px (was 6rem)
333
-
334
- // Stat shadow values
335
- $stat-text-shadow-1-y: 4px !default;
336
- $stat-text-shadow-1-blur: 8px !default;
337
- $stat-text-shadow-2-y: 2px !default;
338
- $stat-text-shadow-2-blur: 4px !default;
339
- $stat-drop-shadow-y: 2px !default;
340
- $stat-drop-shadow-blur: 4px !default;
341
-
342
- // ============================================================================
343
- // DASHBOARD & CHARTS
344
- // ============================================================================
345
- $chart-height: 400px !default;
346
- $dashboard-grid-col-sm: 80px !default;
347
- $dashboard-grid-col-md: 100px !default;
348
- $dashboard-grid-col-lg: 120px !default;
349
-
350
- // ============================================================================
351
- // SPINNER/LOADER SYSTEM
352
- // ============================================================================
353
- $spinner-size: 1.6rem !default; // 16px (was 1rem)
354
- $spinner-border-width: 2px !default;
355
- $loader-border-width: 3px !default;
356
- $loader-dot-size: 1.2rem !default; // 12px (was 0.75rem)
357
- $loader-bar-width: $spacing-xs !default;
358
- $loader-bar-height: $spacing-lg !default;
359
- $loader-animation-opacity-min: $opacity-muted !default;
360
- $loader-overlay-bg: rgba(255, 255, 255, 0.8) !default;
361
-
362
- // Loader animation delays
363
- $loader-dots-delay-1: -0.32s !default;
364
- $loader-dots-delay-2: -0.16s !default;
365
- $loader-bars-delay-1: -1.2s !default;
366
- $loader-bars-delay-2: -1.1s !default;
367
- $loader-bars-delay-3: -1.0s !default;
368
- $loader-bars-delay-4: -0.9s !default;
369
- $loader-bars-delay-5: -0.8s !default;
370
-
371
- // Loader animation properties
372
- $loader-pulse-duration: 1.2s !default;
373
- $loader-pulse-easing: cubic-bezier(0.5, 0, 0.5, 1) !default;
374
-
375
- // ============================================================================
376
- // TABS SYSTEM
377
- // ============================================================================
378
- $tabs-margin-bottom: $spacing-sm !default;
379
- $tabs-panel-padding-top: $spacing-sm !default;
380
- $tabs-vertical-icon-size: $sidebar-icon-size !default;
381
- $tabs-vertical-item-gap: $sidebar-item-gap !default;
382
- $tabs-pill-hover-opacity: 0.1 !default;
383
- $tabs-pill-border-opacity: 0.3 !default;
384
- $tabs-boxed-hover-opacity: 0.1 !default;
385
- $tabs-vertical-hover-opacity: 0.05 !default;
386
- $tabs-vertical-active-opacity: 0.1 !default;
387
- $tabs-scroll-btn-width: 3.2rem !default; // 32px (was 2rem)
388
- $tabs-scroll-gradient-opacity: 0.95 !default;
389
- $tabs-scroll-hover-gradient-opacity: 0.8 !default;
390
-
391
- // ============================================================================
392
- // TOAST SYSTEM
393
- // ============================================================================
394
- $toast-min-width: 32rem !default; // 320px (was 20rem)
395
- $toast-max-width: 40rem !default; // 400px (was 25rem)
396
- $toast-padding-v: $spacing-md !default;
397
- $toast-padding-h: $spacing-md !default;
398
- $toast-icon-size: 3.2rem !default; // 32px (was 2rem)
399
- $toast-close-size: 2.4rem !default; // 24px (was 1.5rem)
400
- $toast-progress-height: 5px !default;
401
-
402
- // ============================================================================
403
- // TOOLTIP SYSTEM
404
- // ============================================================================
405
- $tooltip-arrow-size: 5px !default;
406
- $tooltip-distance: 8px !default;
407
- $tooltip-offset: 4px !default;
408
- $tooltip-max-width: 24rem !default; // 240px (was 15rem)
409
- $tooltip-multiline-max-width: 32rem !default; // 320px (was 20rem)
410
- $tooltip-multiline-width: 32rem !default; // 320px (was 20rem)
411
- $tooltip-arrow-offset: 2px !default;
412
- $tooltip-z-index: $z-index-tooltip !default;
413
-
414
- // ============================================================================
415
- // POPOVER SYSTEM
416
- // ============================================================================
417
- $popover-min-width: 25.6rem !default; // 256px (was 16rem)
418
- $popover-max-width: 32rem !default; // 320px (was 20rem)
419
- $popover-arrow-size: 6px !default;
420
- $popover-distance: 8px !default;
421
- $popover-trigger-size: 2rem !default; // 20px (was 1.25rem)
422
- $popover-close-size: $spacing-lg !default;
423
- $popover-header-padding-v: $spacing-sm !default;
424
- $popover-header-padding-h: $spacing-sm !default;
425
- $popover-header-padding-right: 0.3rem !default; // ~3px (was 0.2rem)
426
- $popover-header-padding: $popover-header-padding-v $popover-header-padding-right $popover-header-padding-v $popover-header-padding-h !default;
427
- $popover-header-border: $border-width-base solid $border-color !default;
428
- $popover-header-border-radius: $border-radius $border-radius 0 0 !default;
429
- $popover-title-font-size: $font-size-lg !default;
430
- $popover-sm-min-width: 19.2rem !default; // 192px (was 12rem)
431
- $popover-sm-max-width: 25.6rem !default; // 256px (was 16rem)
432
- $popover-lg-min-width: 32rem !default; // 320px (was 20rem)
433
- $popover-lg-max-width: 44.8rem !default; // 448px (was 28rem)
434
- $popover-shift-offset: 3.2rem !default; // 32px (was 2rem)
435
- $popover-z-index: $z-index-popover !default;
436
-
437
- // Popover code element styling (10px base)
438
- $popover-code-padding-v: 0.2rem !default; // 2px (was 0.125rem)
439
- $popover-code-padding-h: 0.4rem !default; // 4px (was 0.25rem)
440
- $popover-code-font-scale: 0.9em !default;
441
-
442
- // ============================================================================
443
- // COMMAND PALETTE SYSTEM
444
- // ============================================================================
445
- $command-palette-width: 60.8rem !default; // 608px (was 38rem)
446
- $command-palette-offset-top: 12.8rem !default; // 128px (was 8rem)
447
- $command-palette-border-radius: $border-radius !default;
448
- $command-palette-backdrop-bg: rgba(0, 0, 0, 0.5) !default;
449
- $command-palette-backdrop-blur: 4px !default;
450
- $command-palette-shadow: 0 1.6rem 4.8rem rgba(0, 0, 0, 0.3) !default; // 16px 48px (was 1rem 3rem)
451
- $command-palette-input-padding-v: $input-padding-v !default;
452
- $command-palette-input-padding-h: $input-padding-h !default;
453
- $command-palette-input-font-size: $font-size-base !default;
454
- $command-palette-results-max-height: 38.4rem !default; // 384px (was 24rem)
455
- $command-palette-empty-padding-v: $spacing-2xl !default;
456
- $command-palette-item-padding-v: $spacing-sm !default;
457
- $command-palette-item-hover-bg: rgba($accent-color, 0.05) !default;
458
- $command-palette-item-active-bg: rgba($accent-color, 0.1) !default;
459
- $command-palette-item-icon-size: 3.2rem !default; // 32px (was 2rem)
460
- $command-palette-highlight-bg: rgba($accent-color, 0.2) !default;
461
- $command-palette-highlight-text: $accent-color !default;
462
-
463
- // ============================================================================
464
- // SETTINGS PANEL SYSTEM
465
- // ============================================================================
466
- $settings-panel-top: 15vh !default;
467
- $settings-panel-height: 70vh !default;
468
- $settings-panel-min-height: 400px !default;
469
- $settings-panel-vertical-clearance: 100px !default;
470
- $settings-panel-hover-offset: 5px !default;
471
- $settings-panel-transition-duration: 0.3s !default;
472
- $settings-panel-transition-easing: ease !default;
473
-
474
- // ============================================================================
475
- // PAGER SYSTEM
476
- // ============================================================================
477
- $pager-input-width: 6.4rem !default; // 64px (was 4rem)
478
- $pager-controls-gap: $spacing-xs !default;
479
- $pager-button-margin: $spacing-base !default;
480
-
481
- // ============================================================================
482
- // TIMELINE SYSTEM
483
- // ============================================================================
484
-
485
- // Timeline - Simple variant (10px base)
486
- $timeline-simple-line-width: 1px !default;
487
- $timeline-simple-margin-left: 10px !default;
488
- $timeline-simple-padding-left: 20px !default;
489
- $timeline-simple-dot-size: 15px !default;
490
- $timeline-simple-dot-border: 1px !default;
491
- $timeline-simple-dot-offset: -30px !default;
492
- $timeline-simple-dot-shadow-offset-x: 3px !default;
493
- $timeline-simple-dot-shadow-offset-y: 3px !default;
494
- $timeline-simple-dot-shadow-blur: 0 !default;
495
- $timeline-simple-dot-shadow-opacity: 0.3 !default;
496
- $timeline-simple-content-margin-top: 0.6rem !default; // 6px (was 0.4rem)
497
- $timeline-simple-scroll-container-max-height: 400px !default;
498
- $timeline-simple-scroll-loader-min-height: 60px !default;
499
- $timeline-simple-load-more-margin-top: 2.4rem !default; // 24px (was 1.5rem)
500
-
501
- // Timeline Block - Alternating variant
502
- $timeline-block-max-width: 1140px !default;
503
- $timeline-block-padding: $spacing-base 0 !default;
504
- $timeline-block-line-width: $border-width-medium !default;
505
- $timeline-block-item-width: 50% !default;
506
- $timeline-block-item-padding: $spacing-base $spacing-xl !default;
507
- $timeline-block-item-padding-left-odd: 0rem !default;
508
- $timeline-block-item-padding-right-even: 0rem !default;
509
- $timeline-block-content-padding-v: $spacing-xl !default;
510
- $timeline-block-content-padding-h: $spacing-xl !default;
511
- $timeline-block-content-padding-extended: calc($spacing-xl * 2 + 40px) !default;
512
- $timeline-block-content-border-radius: 500px !default;
513
- $timeline-block-dot-size: 16px !default;
514
- $timeline-block-dot-border: 2px !default;
515
- $timeline-block-dot-top-offset: calc(50% - 8px) !default;
516
- $timeline-block-dot-horizontal-offset: -8px !default;
517
- $timeline-block-connector-width: 50px !default;
518
- $timeline-block-connector-height: 2px !default;
519
- $timeline-block-connector-top-offset: calc(50% - 1px) !default;
520
- $timeline-block-connector-horizontal-offset: 8px !default;
521
- $timeline-block-icon-size: 40px !default;
522
- $timeline-block-icon-border: 2px !default;
523
- $timeline-block-icon-top-offset: calc(50% - 20px) !default;
524
- $timeline-block-date-top-offset: calc(50% - 8px) !default;
525
- $timeline-block-date-offset: -75px !default;
526
- $timeline-block-date-letter-spacing: 1px !default;
527
- $timeline-block-icon-offset-odd: 56px !default;
528
- $timeline-block-icon-offset-even: 56px !default;
529
- $timeline-block-responsive-breakpoint: 767px !default;
530
- $timeline-block-responsive-line-left: 90px !default;
531
- $timeline-block-responsive-padding-left: 120px !default;
532
- $timeline-block-responsive-padding-right: $spacing-xl !default;
533
- $timeline-block-responsive-dot-left: 82px !default;
534
- $timeline-block-responsive-connector-left: 100px !default;
535
- $timeline-block-responsive-date-left: 15px !default;
536
- $timeline-block-responsive-icon-left: 146px !default;
537
-
538
- // Timeline - Feed variant (10px base)
539
- $timeline-feed-gap: $spacing-base !default;
540
- $timeline-feed-item-padding-bottom: $spacing-sm !default;
541
- $timeline-feed-border-left: 3px !default;
542
- $timeline-feed-padding-left: 40px !default;
543
- $timeline-feed-icon-size: 40px !default;
544
- $timeline-feed-icon-margin-left: -52px !default;
545
- $timeline-feed-icon-box-shadow-width: 6px !default;
546
- $timeline-feed-avatar-size: 28px !default;
547
- $timeline-feed-avatar-margin-right: $spacing-xs !default;
548
- $timeline-feed-comment-margin-top: $spacing-sm !default;
549
- $timeline-feed-comment-padding: $spacing-base !default;
550
- $timeline-feed-date-icon-size: $spacing-base !default;
551
- $timeline-feed-date-label-font-size: $font-size-sm !default;
552
- $timeline-feed-date-label-letter-spacing: 0.5px !default;
553
- $timeline-feed-date-margin-bottom: $spacing-sm !default;
554
- $timeline-feed-time-width: 50px !default;
555
- $timeline-feed-time-font-size: $font-size-xs !default;
556
- $timeline-feed-time-padding-top: 6px !default;
557
- $timeline-feed-scroll-container-max-height: 400px !default;
558
-
559
- // ============================================================================
560
- // DATA DISPLAY (READ-ONLY FIELDS)
561
- // ============================================================================
562
- $field-label-font-size: $font-size-xs !default;
563
- $field-label-font-weight: $font-weight-semibold !default;
564
- $field-label-opacity: 0.55 !default;
565
- $field-label-letter-spacing: 0.05em !default;
566
- $field-value-font-size: $font-size-sm !default;
567
- $field-gap: $spacing-xs !default;
568
- $field-horizontal-label-min-width: 8rem !default;
569
- $field-horizontal-label-max-width: 40% !default;
570
-
571
- // Copyable field interactions
572
- $field-copy-padding: 0.4rem !default;
573
- $field-copy-opacity: 0.5 !default;
574
- $field-copy-hover-opacity: 1 !default;
575
- $field-copy-hover-bg: rgba(128, 128, 128, 0.1) !default;
576
- $field-copy-transition: 0.15s !default;
577
- $field-copy-click-hover-opacity: 0.7 !default;
578
- $field-copy-hint-opacity: 0.6 !default;
579
-
580
- $fields-gap: $spacing-base !default;
581
- $fields-relaxed-gap: $spacing-lg !default;
582
- $fields-bordered-padding: $spacing-sm !default;
583
- $fields-bordered-border-color: $border-color !default;
584
- $fields-striped-bg: $table-stripe !default;
585
- $fields-cols-gap: $spacing-base !default;
586
- $fields-border-left: 3px solid $accent-color !default;
587
- $fields-padding-left: $spacing-base !default;
588
- $fields-filled-bg: rgba(128, 128, 128, 0.06) !default;
589
- $fields-filled-padding: $spacing-base !default;
590
-
591
- // Field group (labeled section of fields)
592
- $field-group-gap: $spacing-sm !default;
593
- $field-group-title-font-size: $font-size-sm !default;
594
- $field-group-title-font-weight: $font-weight-semibold !default;
595
- $field-group-title-border-color: $border-color !default;
596
- $field-group-spacing: $spacing-lg !default;
597
-
598
- // Descriptions Table (pa-desc-table)
599
- $desc-table-cols: 3 !default;
600
- $desc-table-cell-padding-v: 1.2rem !default;
601
- $desc-table-cell-padding-h: 1.6rem !default;
602
- $desc-table-font-size: $font-size-sm !default;
603
- $desc-table-label-bg: $fields-filled-bg !default;
604
- $desc-table-label-colon-spacing: 2px !default;
605
- $desc-table-value-font-weight: $font-weight-medium !default;
606
- $desc-table-label-fixed-width: 14rem !default;
607
-
608
- // Dot Leaders (pa-dot-leaders)
609
- $dot-leaders-item-padding-v: 0.6rem !default;
610
- $dot-leaders-font-size: $font-size-sm !default;
611
- $dot-leaders-label-font-weight: $font-weight-medium !default;
612
- $dot-leaders-value-font-weight: $font-weight-semibold !default;
613
- $dot-leaders-leader-width: 2px !default;
614
- $dot-leaders-leader-margin: 0.8rem !default;
615
- $dot-leaders-leader-min-width: 2rem !default;
616
- $dot-leaders-total-margin-top: 0.4rem !default;
617
- $dot-leaders-total-padding-top: 0.8rem !default;
618
- $dot-leaders-total-border-width: 2px !default;
619
- $dot-leaders-total-font-size: $font-size-base !default;
620
- $dot-leaders-total-font-weight: $font-weight-bold !default;
621
-
622
- // Property Card (pa-prop-card)
623
- $prop-card-border-radius: 6px !default;
624
- $prop-card-header-padding-v: 1rem !default;
625
- $prop-card-header-padding-h: 1.6rem !default;
626
- $prop-card-header-font-size: 1.3rem !default;
627
- $prop-card-header-font-weight: $font-weight-semibold !default;
628
- $prop-card-header-letter-spacing: 0.04em !default;
629
- $prop-card-header-bg: rgba(128, 128, 128, 0.04) !default;
630
- $prop-card-row-padding-v: 1rem !default;
631
- $prop-card-row-padding-h: 1.6rem !default;
632
- $prop-card-row-font-size: $font-size-sm !default;
633
- $prop-card-row-gap: 1.6rem !default;
634
- $prop-card-row-divider-color: rgba(128, 128, 128, 0.08) !default;
635
-
636
- // Fields Linear modifier (pa-fields--linear)
637
- $fields-linear-gap: $spacing-sm !default;
638
- $fields-linear-font-size: $font-size-sm !default;
639
- $fields-linear-min-height: 2.8rem !default;
640
- $fields-linear-label-width: 10rem !default;
641
- $fields-linear-field-gap: 1.2rem !default;
642
-
643
- // Fields Chips modifier (pa-fields--chips)
644
- $fields-chips-gap-v: 0.6rem !default;
645
- $fields-chips-gap-h: 1.4rem !default;
646
- $fields-chips-padding-v: 0.4rem !default;
647
- $fields-chips-font-size: $font-size-sm !default;
648
- $fields-chips-field-gap: 0.5rem !default;
649
- $fields-chips-value-padding-v: 0.2rem !default;
650
- $fields-chips-value-padding-h: 0.8rem !default;
651
- $fields-chips-value-font-size: 1.3rem !default;
652
- $fields-chips-value-font-weight: $font-weight-medium !default;
653
- $fields-chips-value-bg: rgba(128, 128, 128, 0.1) !default;
654
- $fields-chips-value-border-radius: 4px !default;
655
-
656
- // Banded Rows (pa-banded)
657
- $banded-font-size: $font-size-sm !default;
658
- $banded-label-width: 14rem !default;
659
- $banded-label-width-narrow: 10rem !default;
660
- $banded-label-width-wide: 20rem !default;
661
- $banded-label-padding-v: 0.8rem !default;
662
- $banded-label-padding-h: 1.2rem !default;
663
- $banded-label-bg: $fields-filled-bg !default;
664
- $banded-label-font-weight: $font-weight-medium !default;
665
- $banded-value-padding-v: 0.8rem !default;
666
- $banded-value-padding-h: 1.2rem !default;
667
-
668
- // Accent Grid (pa-accent-grid)
669
- $accent-grid-min-col: 20rem !default;
670
- $accent-grid-gap: 0.8rem !default;
671
- $accent-grid-item-padding-v: 0.8rem !default;
672
- $accent-grid-item-padding-h: 1.2rem !default;
673
- $accent-grid-item-padding-start: 1.4rem !default;
674
- $accent-grid-border-width: 3px !default;
675
- $accent-grid-label-font-size: 1.1rem !default;
676
- $accent-grid-label-font-weight: $font-weight-medium !default;
677
- $accent-grid-label-letter-spacing: 0.03em !default;
678
- $accent-grid-label-margin-bottom: 0.2rem !default;
679
- $accent-grid-value-font-size: $font-size-md !default;
680
- $accent-grid-value-font-weight: $font-weight-semibold !default;
681
- $accent-grid-value-line-height: $line-height-tight !default;
682
-
683
- // ============================================================================
684
- // DATA VISUALIZATION COMPONENTS
685
- // ============================================================================
686
-
687
- // Progress bar (pa-progress)
688
- $progress-height: 0.8rem !default; // 8px
689
- $progress-height-xs: 0.3rem !default; // 3px
690
- $progress-height-sm: 0.5rem !default; // 5px
691
- $progress-height-lg: 1.2rem !default; // 12px
692
- $progress-bg: rgba(0, 0, 0, 0.08) !default;
693
- $progress-border-radius: $border-radius !default;
694
- $progress-stripe-angle: 45deg !default;
695
- $progress-stripe-size: 1.6rem !default; // 16px
696
- $progress-animation-duration: 1s !default;
697
- $progress-label-font-size: $font-size-xs !default;
698
- $progress-label-font-weight: $font-weight-medium !default;
699
-
700
- // Stacked bar (pa-stacked-bar)
701
- $stacked-bar-height: 1.2rem !default; // 12px
702
- $stacked-bar-border-radius: $border-radius !default;
703
- $stacked-bar-legend-gap: $spacing-base !default;
704
- $stacked-bar-legend-swatch-size: 1rem !default; // 10px
705
- $stacked-bar-legend-font-size: $font-size-xs !default;
706
-
707
- // Progress ring (pa-progress-ring)
708
- $progress-ring-size: 8rem !default; // 80px
709
- $progress-ring-size-sm: 5rem !default; // 50px
710
- $progress-ring-size-lg: 11rem !default; // 110px
711
- $progress-ring-track-color: rgba(0, 0, 0, 0.08) !default;
712
- $progress-ring-value-font-size: $font-size-lg !default;
713
- $progress-ring-value-font-weight: $font-weight-bold !default;
714
- $progress-ring-label-font-size: $font-size-2xs !default;
715
-
716
- // Gauge (pa-gauge)
717
- $gauge-size: 12rem !default; // 120px
718
- $gauge-track-color: rgba(0, 0, 0, 0.08) !default;
719
- $gauge-label-font-size: $font-size-xs !default;
720
- $gauge-value-font-size: $font-size-2xl !default;
721
- $gauge-value-font-weight: $font-weight-bold !default;
722
-
723
- // Data bar (pa-data-bar)
724
- $data-bar-height: 0.4rem !default; // 4px
725
- $data-bar-border-radius: $border-radius-sm !default;
726
- $data-bar-bg: rgba(0, 0, 0, 0.06) !default;
727
-
728
- // Heatmap (pa-heatmap)
729
- $heatmap-cell-size: 1.2rem !default; // 12px
730
- $heatmap-gap: 0.2rem !default; // 2px
731
- $heatmap-border-radius: $border-radius-sm !default;
732
- $heatmap-legend-gap: $spacing-xs !default;
733
- $heatmap-legend-font-size: $font-size-xs !default;
734
-
735
- // Sparkline (pa-sparkline)
736
- $sparkline-bar-width: 0.3rem !default; // 3px
737
- $sparkline-height: 3rem !default; // 30px
738
- $sparkline-gap: 0.2rem !default; // 2px
739
- $sparkline-border-radius: $border-radius-sm !default;
740
-
741
- // Bar list (pa-bar-list)
742
- $bar-list-gap: $spacing-base !default;
743
- $bar-list-bar-height: 0.4rem !default;
744
- $bar-list-bar-border-radius: $border-radius-sm !default;
745
- $bar-list-bar-bg: rgba(0, 0, 0, 0.06) !default;
746
- $bar-list-label-font-size: $font-size-sm !default;
747
- $bar-list-value-font-size: $font-size-sm !default;
748
- $bar-list-value-font-weight: $font-weight-semibold !default;
1
+ // ============================================================================
2
+ // COMPONENT VARIABLES
3
+ // Component-specific dimensions, paddings, and settings
4
+ // ============================================================================
5
+
6
+ // NOTE: All base, layout, typography, spacing, colors, and system variables
7
+ // are available in global scope via @import in _index.scss
8
+ // No @use needed since we use @import for proper !default cascading
9
+
10
+ // NOTE: 10px rem base - all rem values are now in 10px units (1rem = 10px)
11
+
12
+ // ============================================================================
13
+ // BADGE SYSTEM
14
+ // ============================================================================
15
+ $badge-padding-v: 0.2rem !default; // 2px (was 0.125rem)
16
+ $badge-padding-h: 0.8rem !default; // 8px (was 0.5rem)
17
+
18
+ // Composite badge dimensions
19
+ $composite-badge-icon-width: 3.2rem !default; // 32px (was 2rem)
20
+ $composite-badge-height: 2.8rem !default; // 28px (was 1.75rem)
21
+ $composite-badge-label-padding: 0.8rem !default; // 8px (was 0.5rem)
22
+ $composite-badge-button-width: 2.4rem !default; // 24px (was 1.5rem)
23
+ $composite-badge-min-label-width: 4.8rem !default; // 48px (was 3rem)
24
+
25
+ // Badge group
26
+ $badge-group-gap: 0.8rem !default; // 8px (was 0.5rem)
27
+ $badge-group-visible-limit: 5 !default;
28
+
29
+ // Badge colors
30
+ $badge-success-bg: $success-text-light !default;
31
+ $badge-success-text: $success-text !default;
32
+ $badge-warning-bg: $warning-text-light !default;
33
+ $badge-warning-text: $warning-text !default;
34
+ $badge-info-bg: $info-text-light !default;
35
+ $badge-info-text: $info-text !default;
36
+ $badge-danger-bg: $danger-text-light !default;
37
+ $badge-danger-text: $danger-text !default;
38
+ $badge-pill-radius: 50rem !default;
39
+
40
+ // Composite badge colors
41
+ $composite-badge-icon-bg: $btn-secondary-bg !default;
42
+ $composite-badge-label-bg: $secondary-light-bg !default;
43
+ $composite-badge-label-text: $secondary-light-text !default;
44
+ $composite-badge-label-hover-bg: $secondary-lighter-bg !default;
45
+
46
+ // ============================================================================
47
+ // BUTTON SYSTEM
48
+ // ============================================================================
49
+ $btn-group-gap: 0.3rem !default; // 3px - default gap (use gap-* utilities for other sizes)
50
+
51
+ // Button specific - vertical padding matches input padding for height alignment
52
+ $btn-padding-v: 0.8rem !default; // 8px - matches input default
53
+ $btn-padding-h: 1.2rem !default; // 12px
54
+ $btn-padding-xs-v: 0.6rem !default; // 6px - matches input-xs
55
+ $btn-padding-xs-h: 0.8rem !default; // 8px
56
+ $btn-padding-sm-v: 0.8rem !default; // 8px - matches input default
57
+ $btn-padding-sm-h: 1rem !default; // 10px
58
+ $btn-padding-lg-v: 0.8rem !default; // 8px - matches input default
59
+ $btn-padding-lg-h: 1.4rem !default; // 14px
60
+ $btn-padding-xl-v: 0.8rem !default; // 8px - matches input default
61
+ $btn-padding-xl-h: 1.6rem !default; // 16px
62
+ $btn-border-width: 1px !default;
63
+ $btn-icon-margin: 0.8rem !default; // 8px (was 0.5rem)
64
+ $btn-min-width: 9.6rem !default; // 96px (was 6rem)
65
+
66
+ // Button fixed-width utilities (10px base)
67
+ $btn-width-1x: 1.6rem !default; // 16px (was 1rem)
68
+ $btn-width-2x: 3.2rem !default; // 32px (was 2rem)
69
+ $btn-width-3x: 4.8rem !default; // 48px (was 3rem)
70
+ $btn-width-4x: 6.4rem !default; // 64px (was 4rem)
71
+ $btn-width-5x: 8rem !default; // 80px (was 5rem)
72
+ $btn-width-6x: 9.6rem !default; // 96px (was 6rem)
73
+ $btn-width-7x: 11.2rem !default; // 112px (was 7rem)
74
+ $btn-width-8x: 12.8rem !default; // 128px (was 8rem)
75
+ $btn-width-9x: 14.4rem !default; // 144px (was 9rem)
76
+ $btn-width-10x: 16rem !default; // 160px (was 10rem)
77
+
78
+ // Button interaction
79
+ $btn-hover-lift: -1px !default;
80
+ $btn-hover-brightness: 0.9 !default;
81
+ $btn-disabled-opacity: $opacity-disabled !default;
82
+ $btn-focus-ring-opacity: 0.25 !default;
83
+
84
+ // Button heights - aligned with input heights (source of truth from _base.scss)
85
+ // These are used for icon-only buttons and table cell heights
86
+ $btn-height-xs: #{$base-input-size-xs-height}rem !default; // 31px
87
+ $btn-height-sm: #{$base-input-size-sm-height}rem !default; // 33px
88
+ $btn-height-base: #{$base-input-size-md-height}rem !default; // 35px
89
+ $btn-height-lg: #{$base-input-size-lg-height}rem !default; // 38px
90
+ $btn-height-xl: #{$base-input-size-xl-height}rem !default; // 41px
91
+
92
+ // Icon-only button sizes - match button heights (aligned with inputs)
93
+ $btn-icon-only-size-xs: $btn-height-xs !default;
94
+ $btn-icon-only-size-sm: $btn-height-sm !default;
95
+ $btn-icon-only-size: $btn-height-base !default;
96
+ $btn-icon-only-size-lg: $btn-height-lg !default;
97
+ $btn-icon-only-size-xl: $btn-height-xl !default;
98
+
99
+ // ============================================================================
100
+ // MODAL SYSTEM
101
+ // ============================================================================
102
+ $modal-overlay-bg: rgba(0, 0, 0, 0.5) !default;
103
+ $modal-content-bg: #ffffff !default;
104
+ $modal-header-padding-v: 1.2rem !default; // 12px (was 0.75rem)
105
+ $modal-header-padding-h: 1.6rem !default; // 16px (was 1rem)
106
+ $modal-header-padding: $modal-header-padding-v $modal-header-padding-h !default;
107
+ $modal-body-padding-v: 1.2rem !default; // 12px (was 0.75rem)
108
+ $modal-body-padding-h: 1.6rem !default; // 16px (was 1rem)
109
+ $modal-body-padding: $modal-body-padding-v $modal-body-padding-h !default;
110
+ $modal-footer-padding-v: 1.2rem !default; // 12px (was 0.75rem)
111
+ $modal-footer-padding-h: 1.6rem !default; // 16px (was 1rem)
112
+ $modal-footer-padding: $modal-footer-padding-v $modal-footer-padding-h !default;
113
+ $modal-sm-width: 32rem !default; // 320px (was 20rem)
114
+ $modal-md-width: 48rem !default; // 480px (was 30rem)
115
+ $modal-lg-width: 80rem !default; // 800px (was 50rem)
116
+ $modal-xl-width: 112rem !default; // 1120px (was 70rem)
117
+ $modal-xxl-width: 144rem !default; // 1440px (was 90rem)
118
+ $modal-fw-margin: 1.6rem !default; // 16px (was 1rem)
119
+ $modal-border-radius: 4px !default;
120
+ $modal-close-font-size: $font-size-lg !default;
121
+ $modal-title-font-size: $font-size-lg !default;
122
+ $modal-box-shadow: 0 0.4rem $spacing-sm rgba(0, 0, 0, 0.1) !default;
123
+ $modal-close-size: 4rem !default; // 40px (was 2.5rem)
124
+ $modal-body-scrollable-max-height: 60vh !default;
125
+ $modal-mobile-margin: $spacing-sm !default;
126
+ $modal-mobile-max-height: 95vh !default;
127
+ $modal-header-hover-overlay: rgba(255, 255, 255, 0.1) !default;
128
+ $modal-close-hover-opacity: $opacity-hover !default;
129
+ $modal-close-border-width: $border-width-base !default;
130
+
131
+ // ============================================================================
132
+ // PROFILE PANEL SYSTEM
133
+ // ============================================================================
134
+ $profile-panel-width: 20vw !default;
135
+ $profile-panel-max-width: 48rem !default; // 480px (was 30rem)
136
+ $profile-panel-width-fixed: 320px !default;
137
+ $profile-panel-toggle-size: 40px !default;
138
+ $profile-panel-toggle-size-open: 45px !default;
139
+ $profile-avatar-size: 6.4rem !default; // 64px (was 4rem)
140
+ $profile-close-size: 3.2rem !default; // 32px (was 2rem)
141
+ $profile-nav-icon-width: $sidebar-icon-size !default;
142
+ $profile-section-gap: $spacing-xl !default;
143
+ $profile-overlay-bg: rgba(0, 0, 0, 0.3) !default;
144
+ $profile-button-padding-v: $spacing-sm !default;
145
+ $profile-button-padding-h: $spacing-md !default;
146
+ $profile-role-letter-spacing: 0.5px !default;
147
+ $profile-panel-mobile-max-width: 40rem !default; // 400px (was 25rem)
148
+ $profile-panel-content-padding: 1.6rem !default; // Matches sidebar-padding horizontal (16px)
149
+
150
+ // ============================================================================
151
+ // DETAIL PANEL SYSTEM
152
+ // ============================================================================
153
+ $detail-panel-width: 40rem !default;
154
+ $detail-panel-min-width: 28rem !default;
155
+ $detail-panel-max-width: 64rem !default;
156
+ $detail-panel-mobile-width: 90vw !default;
157
+ $detail-panel-header-padding-v: 1.2rem !default;
158
+ $detail-panel-header-padding-h: 1.6rem !default;
159
+ $detail-panel-body-padding-v: 1.2rem !default;
160
+ $detail-panel-body-padding-h: 1.6rem !default;
161
+ $detail-panel-footer-padding-v: 1.2rem !default;
162
+ $detail-panel-footer-padding-h: 1.6rem !default;
163
+ $detail-panel-overlay-bg: rgba(0, 0, 0, 0.3) !default;
164
+ $detail-panel-z-index: 4500 !default;
165
+ $detail-panel-shadow: $shadow-profile-panel !default;
166
+ $detail-panel-close-size: 3.2rem !default;
167
+ $detail-panel-resize-handle-width: 6px !default;
168
+ $detail-panel-selected-bg: rgba($accent-color, 0.08) !default;
169
+
170
+ // ============================================================================
171
+ // CARD SYSTEM
172
+ // ============================================================================
173
+ $card-border-width: $border-width-base !default; // Card outer border (themes can override)
174
+ $card-border-radius: $border-radius-lg !default; // Controls card + header corners
175
+ $card-body-padding-v: 1.6rem !default; // 16px vertical
176
+ $card-body-padding-h: 1rem !default; // 10px horizontal
177
+ $card-header-padding-v: 0.5rem !default; // 5px vertical
178
+ $card-header-padding-h: 1rem !default; // 10px horizontal - matches body
179
+ $card-header-min-height: 4rem !default; // 40px - fits xs buttons (32px) with padding
180
+ $card-footer-padding-v: 1.2rem !default; // 12px vertical
181
+ $card-footer-padding-h: 1rem !default; // 10px horizontal - matches body
182
+ $card-grid-min-width: 280px !default;
183
+ $card-stat-padding-v: $spacing-lg !default;
184
+ $card-stat-padding-h: $spacing-base !default;
185
+
186
+ // Card inline tabs (tabs inside header)
187
+ $card-tab-inline-padding-v: 0.3rem !default; // 3px - compact for header
188
+ $card-tab-inline-padding-h: 0.8rem !default; // 8px
189
+ $card-tab-hover-opacity: 0.1 !default;
190
+
191
+ // ============================================================================
192
+ // TABLE SYSTEM
193
+ // ============================================================================
194
+ // Table base padding (matches button/input default)
195
+ $table-padding-base-v: 0.8rem !default; // 8px - matches button SM/default
196
+ $table-padding-base-h: 0.8rem !default; // 8px
197
+
198
+ // Table size variants - synchronized with button/input sizes
199
+ $table-padding-xs-v: $btn-padding-xs-v !default; // 0.6rem
200
+ $table-padding-xs-h: $btn-padding-xs-h !default; // 0.8rem
201
+ $table-padding-sm-v: $btn-padding-sm-v !default; // 0.8rem
202
+ $table-padding-sm-h: $btn-padding-sm-h !default; // 1rem
203
+ $table-padding-lg-v: $btn-padding-lg-v !default; // 0.8rem
204
+ $table-padding-lg-h: $btn-padding-lg-h !default; // 1.4rem
205
+ $table-padding-xl-v: $btn-padding-xl-v !default; // 0.8rem
206
+ $table-padding-xl-h: $btn-padding-xl-h !default; // 1.6rem
207
+
208
+ // Table cell heights - button height + size-specific buffer
209
+ $table-cell-height-buffer-xs: 0.7rem !default;
210
+ $table-cell-height-buffer-sm: 0.8rem !default;
211
+ $table-cell-height-buffer-lg: 0.8rem !default;
212
+ $table-cell-height-buffer-xl: 0.8rem !default;
213
+
214
+ $table-cell-height-xs: $btn-height-xs + $table-cell-height-buffer-xs !default;
215
+ $table-cell-height: $btn-height-base + $table-cell-height-buffer-sm !default;
216
+ $table-cell-height-sm: $btn-height-sm + $table-cell-height-buffer-sm !default;
217
+ $table-cell-height-lg: $btn-height-lg + $table-cell-height-buffer-lg !default;
218
+ $table-cell-height-xl: $btn-height-xl + $table-cell-height-buffer-xl !default;
219
+
220
+ // Virtual table (for large datasets)
221
+ $virtual-table-cell-padding-v: 0.5rem !default; // 5px (was 0.3rem)
222
+ $virtual-table-cell-padding-h: 0.8rem !default; // 8px (was 0.5rem)
223
+
224
+ // Responsive table system
225
+ $table-responsive-breakpoint: $mobile-breakpoint !default;
226
+ $table-responsive-card-margin: $spacing-base !default;
227
+ $table-responsive-card-padding: $spacing-md !default;
228
+ $table-responsive-label-width: 40% !default;
229
+ $table-responsive-label-font-weight: $font-weight-semibold !default;
230
+
231
+ // ============================================================================
232
+ // FORM SYSTEM
233
+ // ============================================================================
234
+ $form-scale: 0.8rem !default; // 8px (was 0.5rem)
235
+ $form-group-margin-bottom: $spacing-sm !default;
236
+ $form-label-margin-bottom: 0.3rem !default; // ~3px (was 0.2rem)
237
+ $form-help-margin-top: $spacing-xs !default;
238
+ $input-padding-v: $spacing-sm !default; // 0.8rem = 8px
239
+ $input-padding-xs-v: 0.6rem !default; // 6px
240
+ $input-padding-h: $spacing-sm !default; // 0.8rem = 8px
241
+ $select-padding-v: 0.7rem !default; // 7px
242
+ $select-padding-h: 0.5rem !default; // 5px - aligns options with inputs
243
+ $textarea-min-height: 9.6rem !default; // 96px (was 6rem)
244
+ $input-focus-ring-opacity: 0.1 !default;
245
+ $input-focus-border-color: $accent-color !default;
246
+ $select-focus-border-color: $accent-color !default;
247
+ $textarea-focus-border-color: $accent-color !default;
248
+ $input-group-prepend-bg: $secondary-bg !default;
249
+ $input-group-prepend-text: $text-color-2 !default;
250
+ $input-group-append-bg: $secondary-bg !default;
251
+ $input-group-append-text: $text-color-2 !default;
252
+ $checkbox-margin-top: 0.2rem !default; // 2px (was 0.125rem)
253
+ $checkbox-size-xs: 1.2rem !default; // 12px (was 0.75rem)
254
+ $checkbox-size-sm: 1.4rem !default; // 14px (was 0.875rem)
255
+ $checkbox-size: 1.6rem !default; // 16px (was 1rem)
256
+ $checkbox-size-lg: 2rem !default; // 20px (was 1.25rem)
257
+ $checkbox-size-xl: 2.4rem !default; // 24px (was 1.5rem)
258
+ $form-group-margin-compact: 1.2rem !default; // 12px (was 0.75rem)
259
+
260
+ // Custom checkbox appearance (tri-state support)
261
+ $checkbox-border-radius: $border-radius !default; // Match input border-radius
262
+ $checkbox-border-width: $border-width-base !default; // 1px
263
+ $checkbox-border-color: $border-color !default; // Default border
264
+ $checkbox-border-color-hover: $accent-color !default; // Hover border
265
+ $checkbox-border-color-checked: $accent-color !default; // Checked border
266
+ $checkbox-bg: $card-bg !default; // Unchecked background
267
+ $checkbox-bg-checked: $accent-color !default; // Checked background
268
+ $checkbox-bg-indeterminate: $accent-color !default; // Indeterminate background
269
+ $checkbox-checkmark-color: white !default; // Checkmark/dash color
270
+ $checkbox-focus-shadow: 0 0 0 2px rgba($accent-color, 0.25) !default;
271
+ $checkbox-transition: $transition-fast !default;
272
+
273
+ // ============================================================================
274
+ // MULTISELECT SYSTEM
275
+ // ============================================================================
276
+ $multiselect-input-padding-v: $input-padding-v !default;
277
+ $multiselect-input-padding-h: $input-padding-h !default;
278
+ $multiselect-dropdown-bg: $card-bg !default;
279
+ $multiselect-dropdown-border: $border-color !default;
280
+ $multiselect-dropdown-text: $text-color-1 !default;
281
+ $multiselect-dropdown-shadow: $shadow-lg !default;
282
+ $multiselect-dropdown-max-height: 32rem !default; // 320px (was 20rem)
283
+ $multiselect-hint-bg: $main-bg !default;
284
+ $multiselect-hint-border: $border-color !default;
285
+ $multiselect-hint-padding: $spacing-sm !default;
286
+ $multiselect-option-padding-v: $spacing-sm !default;
287
+ $multiselect-option-padding-h: $spacing-md !default;
288
+ $multiselect-option-hover-bg: $main-bg !default;
289
+ $multiselect-pill-bg: $accent-light !default;
290
+ $multiselect-pill-border: $accent-color !default;
291
+ $multiselect-pill-padding: $spacing-xs $spacing-sm !default;
292
+ $multiselect-pill-gap: $spacing-xs !default;
293
+ $multiselect-selected-popover-width: 32rem !default; // 320px (was 20rem)
294
+
295
+ // ============================================================================
296
+ // ALERT SYSTEM
297
+ // ============================================================================
298
+ $alert-padding-v: $card-footer-padding-v !default;
299
+ $alert-padding-h: $card-footer-padding-h !default;
300
+ $alert-dismissible-padding-right: 4.8rem !default; // 48px (was 3rem)
301
+ $alert-close-opacity: $opacity-muted !default;
302
+ $alert-icon-margin: $spacing-sm !default;
303
+ $alert-list-padding-left: $spacing-lg !default;
304
+ $alert-list-item-margin-top: $card-footer-padding-v !default;
305
+
306
+ // Alert colors - Now derived via color-mix() mixins in _base-css-variables.scss
307
+ // Themes call output-pa-alert-variables-light/dark instead of hardcoding values
308
+ // Keep only the text transform variable as it's not color-related
309
+ $alert-danger-text-transform: none !default;
310
+
311
+ // ============================================================================
312
+ // CALLOUT SYSTEM
313
+ // ============================================================================
314
+ $callout-border-width: 0.4rem !default; // 4px left border accent
315
+
316
+ // ============================================================================
317
+ // STATS SYSTEM
318
+ // ============================================================================
319
+ $stat-icon-size: 4.8rem !default; // 48px (was 3rem)
320
+ $stat-square-min-size: 12.8rem !default; // 128px (was 8rem)
321
+ $stat-label-letter-spacing: 0.05em !default;
322
+ $stat-change-margin-bottom: 0.4rem !default; // 4px (was 0.25rem)
323
+ $stat-number-margin-bottom: $spacing-xs !default;
324
+ $stat-symbol-opacity: $opacity-shadow !default;
325
+
326
+ // Stat square clamp values (10px base)
327
+ $stat-square-number-min: 4.8rem !default; // 48px (was 3rem)
328
+ $stat-square-number-scale: 8vw !default;
329
+ $stat-square-number-max: 7.2rem !default; // 72px (was 4.5rem)
330
+ $stat-square-symbol-min: 6.4rem !default; // 64px (was 4rem)
331
+ $stat-square-symbol-scale: 10vw !default;
332
+ $stat-square-symbol-max: 9.6rem !default; // 96px (was 6rem)
333
+
334
+ // Stat shadow values
335
+ $stat-text-shadow-1-y: 4px !default;
336
+ $stat-text-shadow-1-blur: 8px !default;
337
+ $stat-text-shadow-2-y: 2px !default;
338
+ $stat-text-shadow-2-blur: 4px !default;
339
+ $stat-drop-shadow-y: 2px !default;
340
+ $stat-drop-shadow-blur: 4px !default;
341
+
342
+ // ============================================================================
343
+ // DASHBOARD & CHARTS
344
+ // ============================================================================
345
+ $chart-height: 400px !default;
346
+ $dashboard-grid-col-sm: 80px !default;
347
+ $dashboard-grid-col-md: 100px !default;
348
+ $dashboard-grid-col-lg: 120px !default;
349
+
350
+ // ============================================================================
351
+ // SPINNER/LOADER SYSTEM
352
+ // ============================================================================
353
+ $spinner-size: 1.6rem !default; // 16px (was 1rem)
354
+ $spinner-border-width: 2px !default;
355
+ $loader-border-width: 3px !default;
356
+ $loader-dot-size: 1.2rem !default; // 12px (was 0.75rem)
357
+ $loader-bar-width: $spacing-xs !default;
358
+ $loader-bar-height: $spacing-lg !default;
359
+ $loader-animation-opacity-min: $opacity-muted !default;
360
+ $loader-overlay-bg: rgba(255, 255, 255, 0.8) !default;
361
+
362
+ // Loader animation delays
363
+ $loader-dots-delay-1: -0.32s !default;
364
+ $loader-dots-delay-2: -0.16s !default;
365
+ $loader-bars-delay-1: -1.2s !default;
366
+ $loader-bars-delay-2: -1.1s !default;
367
+ $loader-bars-delay-3: -1.0s !default;
368
+ $loader-bars-delay-4: -0.9s !default;
369
+ $loader-bars-delay-5: -0.8s !default;
370
+
371
+ // Loader animation properties
372
+ $loader-pulse-duration: 1.2s !default;
373
+ $loader-pulse-easing: cubic-bezier(0.5, 0, 0.5, 1) !default;
374
+
375
+ // ============================================================================
376
+ // TABS SYSTEM
377
+ // ============================================================================
378
+ $tabs-margin-bottom: $spacing-sm !default;
379
+ $tabs-panel-padding-top: $spacing-sm !default;
380
+ $tabs-vertical-icon-size: $sidebar-icon-size !default;
381
+ $tabs-vertical-item-gap: $sidebar-item-gap !default;
382
+ $tabs-pill-hover-opacity: 0.1 !default;
383
+ $tabs-pill-border-opacity: 0.3 !default;
384
+ $tabs-boxed-hover-opacity: 0.1 !default;
385
+ $tabs-vertical-hover-opacity: 0.05 !default;
386
+ $tabs-vertical-active-opacity: 0.1 !default;
387
+ $tabs-scroll-btn-width: 3.2rem !default; // 32px (was 2rem)
388
+ $tabs-scroll-gradient-opacity: 0.95 !default;
389
+ $tabs-scroll-hover-gradient-opacity: 0.8 !default;
390
+
391
+ // ============================================================================
392
+ // TOAST SYSTEM
393
+ // ============================================================================
394
+ $toast-min-width: 32rem !default; // 320px (was 20rem)
395
+ $toast-max-width: 40rem !default; // 400px (was 25rem)
396
+ $toast-padding-v: $spacing-md !default;
397
+ $toast-padding-h: $spacing-md !default;
398
+ $toast-icon-size: 3.2rem !default; // 32px (was 2rem)
399
+ $toast-close-size: 2.4rem !default; // 24px (was 1.5rem)
400
+ $toast-progress-height: 5px !default;
401
+
402
+ // ============================================================================
403
+ // TOOLTIP SYSTEM
404
+ // ============================================================================
405
+ $tooltip-arrow-size: 5px !default;
406
+ $tooltip-distance: 8px !default;
407
+ $tooltip-offset: 4px !default;
408
+ $tooltip-max-width: 24rem !default; // 240px (was 15rem)
409
+ $tooltip-multiline-max-width: 32rem !default; // 320px (was 20rem)
410
+ $tooltip-multiline-width: 32rem !default; // 320px (was 20rem)
411
+ $tooltip-arrow-offset: 2px !default;
412
+ $tooltip-z-index: $z-index-tooltip !default;
413
+
414
+ // ============================================================================
415
+ // POPOVER SYSTEM
416
+ // ============================================================================
417
+ $popover-min-width: 25.6rem !default; // 256px (was 16rem)
418
+ $popover-max-width: 32rem !default; // 320px (was 20rem)
419
+ $popover-arrow-size: 6px !default;
420
+ $popover-distance: 8px !default;
421
+ $popover-trigger-size: 2rem !default; // 20px (was 1.25rem)
422
+ $popover-close-size: $spacing-lg !default;
423
+ $popover-header-padding-v: $spacing-sm !default;
424
+ $popover-header-padding-h: $spacing-sm !default;
425
+ $popover-header-padding-right: 0.3rem !default; // ~3px (was 0.2rem)
426
+ $popover-header-padding: $popover-header-padding-v $popover-header-padding-right $popover-header-padding-v $popover-header-padding-h !default;
427
+ $popover-header-border: $border-width-base solid $border-color !default;
428
+ $popover-header-border-radius: $border-radius $border-radius 0 0 !default;
429
+ $popover-title-font-size: $font-size-lg !default;
430
+ $popover-sm-min-width: 19.2rem !default; // 192px (was 12rem)
431
+ $popover-sm-max-width: 25.6rem !default; // 256px (was 16rem)
432
+ $popover-lg-min-width: 32rem !default; // 320px (was 20rem)
433
+ $popover-lg-max-width: 44.8rem !default; // 448px (was 28rem)
434
+ $popover-shift-offset: 3.2rem !default; // 32px (was 2rem)
435
+ $popover-z-index: $z-index-popover !default;
436
+
437
+ // Popover code element styling (10px base)
438
+ $popover-code-padding-v: 0.2rem !default; // 2px (was 0.125rem)
439
+ $popover-code-padding-h: 0.4rem !default; // 4px (was 0.25rem)
440
+ $popover-code-font-scale: 0.9em !default;
441
+
442
+ // ============================================================================
443
+ // COMMAND PALETTE SYSTEM
444
+ // ============================================================================
445
+ $command-palette-width: 60.8rem !default; // 608px (was 38rem)
446
+ $command-palette-offset-top: 12.8rem !default; // 128px (was 8rem)
447
+ $command-palette-border-radius: $border-radius !default;
448
+ $command-palette-backdrop-bg: rgba(0, 0, 0, 0.5) !default;
449
+ $command-palette-backdrop-blur: 4px !default;
450
+ $command-palette-shadow: 0 1.6rem 4.8rem rgba(0, 0, 0, 0.3) !default; // 16px 48px (was 1rem 3rem)
451
+ $command-palette-input-padding-v: $input-padding-v !default;
452
+ $command-palette-input-padding-h: $input-padding-h !default;
453
+ $command-palette-input-font-size: $font-size-base !default;
454
+ $command-palette-results-max-height: 38.4rem !default; // 384px (was 24rem)
455
+ $command-palette-empty-padding-v: $spacing-2xl !default;
456
+ $command-palette-item-padding-v: $spacing-sm !default;
457
+ $command-palette-item-hover-bg: rgba($accent-color, 0.05) !default;
458
+ $command-palette-item-active-bg: rgba($accent-color, 0.1) !default;
459
+ $command-palette-item-icon-size: 3.2rem !default; // 32px (was 2rem)
460
+ $command-palette-highlight-bg: rgba($accent-color, 0.2) !default;
461
+ $command-palette-highlight-text: $accent-color !default;
462
+
463
+ // ============================================================================
464
+ // SETTINGS PANEL SYSTEM
465
+ // ============================================================================
466
+ $settings-panel-top: 15vh !default;
467
+ $settings-panel-height: 70vh !default;
468
+ $settings-panel-min-height: 400px !default;
469
+ $settings-panel-vertical-clearance: 100px !default;
470
+ $settings-panel-hover-offset: 5px !default;
471
+ $settings-panel-transition-duration: 0.3s !default;
472
+ $settings-panel-transition-easing: ease !default;
473
+
474
+ // ============================================================================
475
+ // PAGER SYSTEM
476
+ // ============================================================================
477
+ $pager-input-width: 6.4rem !default; // 64px (was 4rem)
478
+ $pager-controls-gap: $spacing-xs !default;
479
+ $pager-button-margin: $spacing-base !default;
480
+
481
+ // ============================================================================
482
+ // TIMELINE SYSTEM
483
+ // ============================================================================
484
+
485
+ // Timeline - Simple variant (10px base)
486
+ $timeline-simple-line-width: 1px !default;
487
+ $timeline-simple-margin-left: 10px !default;
488
+ $timeline-simple-padding-left: 20px !default;
489
+ $timeline-simple-dot-size: 15px !default;
490
+ $timeline-simple-dot-border: 1px !default;
491
+ $timeline-simple-dot-offset: -30px !default;
492
+ $timeline-simple-dot-shadow-offset-x: 3px !default;
493
+ $timeline-simple-dot-shadow-offset-y: 3px !default;
494
+ $timeline-simple-dot-shadow-blur: 0 !default;
495
+ $timeline-simple-dot-shadow-opacity: 0.3 !default;
496
+ $timeline-simple-content-margin-top: 0.6rem !default; // 6px (was 0.4rem)
497
+ $timeline-simple-scroll-container-max-height: 400px !default;
498
+ $timeline-simple-scroll-loader-min-height: 60px !default;
499
+ $timeline-simple-load-more-margin-top: 2.4rem !default; // 24px (was 1.5rem)
500
+
501
+ // Timeline Block - Alternating variant
502
+ $timeline-block-max-width: 1140px !default;
503
+ $timeline-block-padding: $spacing-base 0 !default;
504
+ $timeline-block-line-width: $border-width-medium !default;
505
+ $timeline-block-item-width: 50% !default;
506
+ $timeline-block-item-padding: $spacing-base $spacing-xl !default;
507
+ $timeline-block-item-padding-left-odd: 0rem !default;
508
+ $timeline-block-item-padding-right-even: 0rem !default;
509
+ $timeline-block-content-padding-v: $spacing-xl !default;
510
+ $timeline-block-content-padding-h: $spacing-xl !default;
511
+ $timeline-block-content-padding-extended: calc($spacing-xl * 2 + 40px) !default;
512
+ $timeline-block-content-border-radius: 500px !default;
513
+ $timeline-block-dot-size: 16px !default;
514
+ $timeline-block-dot-border: 2px !default;
515
+ $timeline-block-dot-top-offset: calc(50% - 8px) !default;
516
+ $timeline-block-dot-horizontal-offset: -8px !default;
517
+ $timeline-block-connector-width: 50px !default;
518
+ $timeline-block-connector-height: 2px !default;
519
+ $timeline-block-connector-top-offset: calc(50% - 1px) !default;
520
+ $timeline-block-connector-horizontal-offset: 8px !default;
521
+ $timeline-block-icon-size: 40px !default;
522
+ $timeline-block-icon-border: 2px !default;
523
+ $timeline-block-icon-top-offset: calc(50% - 20px) !default;
524
+ $timeline-block-date-top-offset: calc(50% - 8px) !default;
525
+ $timeline-block-date-offset: -75px !default;
526
+ $timeline-block-date-letter-spacing: 1px !default;
527
+ $timeline-block-icon-offset-odd: 56px !default;
528
+ $timeline-block-icon-offset-even: 56px !default;
529
+ $timeline-block-responsive-breakpoint: 767px !default;
530
+ $timeline-block-responsive-line-left: 90px !default;
531
+ $timeline-block-responsive-padding-left: 120px !default;
532
+ $timeline-block-responsive-padding-right: $spacing-xl !default;
533
+ $timeline-block-responsive-dot-left: 82px !default;
534
+ $timeline-block-responsive-connector-left: 100px !default;
535
+ $timeline-block-responsive-date-left: 15px !default;
536
+ $timeline-block-responsive-icon-left: 146px !default;
537
+
538
+ // Timeline - Feed variant (10px base)
539
+ $timeline-feed-gap: $spacing-base !default;
540
+ $timeline-feed-item-padding-bottom: $spacing-sm !default;
541
+ $timeline-feed-border-left: 3px !default;
542
+ $timeline-feed-padding-left: 40px !default;
543
+ $timeline-feed-icon-size: 40px !default;
544
+ $timeline-feed-icon-margin-left: -52px !default;
545
+ $timeline-feed-icon-box-shadow-width: 6px !default;
546
+ $timeline-feed-avatar-size: 28px !default;
547
+ $timeline-feed-avatar-margin-right: $spacing-xs !default;
548
+ $timeline-feed-comment-margin-top: $spacing-sm !default;
549
+ $timeline-feed-comment-padding: $spacing-base !default;
550
+ $timeline-feed-date-icon-size: $spacing-base !default;
551
+ $timeline-feed-date-label-font-size: $font-size-sm !default;
552
+ $timeline-feed-date-label-letter-spacing: 0.5px !default;
553
+ $timeline-feed-date-margin-bottom: $spacing-sm !default;
554
+ $timeline-feed-time-width: 50px !default;
555
+ $timeline-feed-time-font-size: $font-size-xs !default;
556
+ $timeline-feed-time-padding-top: 6px !default;
557
+ $timeline-feed-scroll-container-max-height: 400px !default;
558
+
559
+ // ============================================================================
560
+ // DATA DISPLAY (READ-ONLY FIELDS)
561
+ // ============================================================================
562
+ $field-label-font-size: $font-size-xs !default;
563
+ $field-label-font-weight: $font-weight-semibold !default;
564
+ $field-label-opacity: 0.55 !default;
565
+ $field-label-letter-spacing: 0.05em !default;
566
+ $field-value-font-size: $font-size-sm !default;
567
+ $field-gap: $spacing-xs !default;
568
+ $field-horizontal-label-min-width: 8rem !default;
569
+ $field-horizontal-label-max-width: 40% !default;
570
+
571
+ // Copyable field interactions
572
+ $field-copy-padding: 0.4rem !default;
573
+ $field-copy-opacity: 0.5 !default;
574
+ $field-copy-hover-opacity: 1 !default;
575
+ $field-copy-hover-bg: rgba(128, 128, 128, 0.1) !default;
576
+ $field-copy-transition: 0.15s !default;
577
+ $field-copy-click-hover-opacity: 0.7 !default;
578
+ $field-copy-hint-opacity: 0.6 !default;
579
+
580
+ $fields-gap: $spacing-base !default;
581
+ $fields-relaxed-gap: $spacing-lg !default;
582
+ $fields-bordered-padding: $spacing-sm !default;
583
+ $fields-bordered-border-color: $border-color !default;
584
+ $fields-striped-bg: $table-stripe !default;
585
+ $fields-cols-gap: $spacing-base !default;
586
+ $fields-border-left: 3px solid $accent-color !default;
587
+ $fields-padding-left: $spacing-base !default;
588
+ $fields-filled-bg: rgba(128, 128, 128, 0.06) !default;
589
+ $fields-filled-padding: $spacing-base !default;
590
+
591
+ // Field group (labeled section of fields)
592
+ $field-group-gap: $spacing-sm !default;
593
+ $field-group-title-font-size: $font-size-sm !default;
594
+ $field-group-title-font-weight: $font-weight-semibold !default;
595
+ $field-group-title-border-color: $border-color !default;
596
+ $field-group-spacing: $spacing-lg !default;
597
+
598
+ // Descriptions Table (pa-desc-table)
599
+ $desc-table-cols: 3 !default;
600
+ $desc-table-cell-padding-v: 1.2rem !default;
601
+ $desc-table-cell-padding-h: 1.6rem !default;
602
+ $desc-table-font-size: $font-size-sm !default;
603
+ $desc-table-label-bg: $fields-filled-bg !default;
604
+ $desc-table-label-colon-spacing: 2px !default;
605
+ $desc-table-value-font-weight: $font-weight-medium !default;
606
+ $desc-table-label-fixed-width: 14rem !default;
607
+
608
+ // Dot Leaders (pa-dot-leaders)
609
+ $dot-leaders-item-padding-v: 0.6rem !default;
610
+ $dot-leaders-font-size: $font-size-sm !default;
611
+ $dot-leaders-label-font-weight: $font-weight-medium !default;
612
+ $dot-leaders-value-font-weight: $font-weight-semibold !default;
613
+ $dot-leaders-leader-width: 2px !default;
614
+ $dot-leaders-leader-margin: 0.8rem !default;
615
+ $dot-leaders-leader-min-width: 2rem !default;
616
+ $dot-leaders-total-margin-top: 0.4rem !default;
617
+ $dot-leaders-total-padding-top: 0.8rem !default;
618
+ $dot-leaders-total-border-width: 2px !default;
619
+ $dot-leaders-total-font-size: $font-size-base !default;
620
+ $dot-leaders-total-font-weight: $font-weight-bold !default;
621
+
622
+ // Property Card (pa-prop-card)
623
+ $prop-card-border-radius: 6px !default;
624
+ $prop-card-header-padding-v: 1rem !default;
625
+ $prop-card-header-padding-h: 1.6rem !default;
626
+ $prop-card-header-font-size: 1.3rem !default;
627
+ $prop-card-header-font-weight: $font-weight-semibold !default;
628
+ $prop-card-header-letter-spacing: 0.04em !default;
629
+ $prop-card-header-bg: rgba(128, 128, 128, 0.04) !default;
630
+ $prop-card-row-padding-v: 1rem !default;
631
+ $prop-card-row-padding-h: 1.6rem !default;
632
+ $prop-card-row-font-size: $font-size-sm !default;
633
+ $prop-card-row-gap: 1.6rem !default;
634
+ $prop-card-row-divider-color: rgba(128, 128, 128, 0.08) !default;
635
+
636
+ // Fields Linear modifier (pa-fields--linear)
637
+ $fields-linear-gap: $spacing-sm !default;
638
+ $fields-linear-font-size: $font-size-sm !default;
639
+ $fields-linear-min-height: 2.8rem !default;
640
+ $fields-linear-label-width: 10rem !default;
641
+ $fields-linear-field-gap: 1.2rem !default;
642
+
643
+ // Fields Chips modifier (pa-fields--chips)
644
+ $fields-chips-gap-v: 0.6rem !default;
645
+ $fields-chips-gap-h: 1.4rem !default;
646
+ $fields-chips-padding-v: 0.4rem !default;
647
+ $fields-chips-font-size: $font-size-sm !default;
648
+ $fields-chips-field-gap: 0.5rem !default;
649
+ $fields-chips-value-padding-v: 0.2rem !default;
650
+ $fields-chips-value-padding-h: 0.8rem !default;
651
+ $fields-chips-value-font-size: 1.3rem !default;
652
+ $fields-chips-value-font-weight: $font-weight-medium !default;
653
+ $fields-chips-value-bg: rgba(128, 128, 128, 0.1) !default;
654
+ $fields-chips-value-border-radius: 4px !default;
655
+
656
+ // Banded Rows (pa-banded)
657
+ $banded-font-size: $font-size-sm !default;
658
+ $banded-label-width: 14rem !default;
659
+ $banded-label-width-narrow: 10rem !default;
660
+ $banded-label-width-wide: 20rem !default;
661
+ $banded-label-padding-v: 0.8rem !default;
662
+ $banded-label-padding-h: 1.2rem !default;
663
+ $banded-label-bg: $fields-filled-bg !default;
664
+ $banded-label-font-weight: $font-weight-medium !default;
665
+ $banded-value-padding-v: 0.8rem !default;
666
+ $banded-value-padding-h: 1.2rem !default;
667
+
668
+ // Accent Grid (pa-accent-grid)
669
+ $accent-grid-min-col: 20rem !default;
670
+ $accent-grid-gap: 0.8rem !default;
671
+ $accent-grid-item-padding-v: 0.8rem !default;
672
+ $accent-grid-item-padding-h: 1.2rem !default;
673
+ $accent-grid-item-padding-start: 1.4rem !default;
674
+ $accent-grid-border-width: 3px !default;
675
+ $accent-grid-label-font-size: 1.1rem !default;
676
+ $accent-grid-label-font-weight: $font-weight-medium !default;
677
+ $accent-grid-label-letter-spacing: 0.03em !default;
678
+ $accent-grid-label-margin-bottom: 0.2rem !default;
679
+ $accent-grid-value-font-size: $font-size-md !default;
680
+ $accent-grid-value-font-weight: $font-weight-semibold !default;
681
+ $accent-grid-value-line-height: $line-height-tight !default;
682
+
683
+ // ============================================================================
684
+ // DATA VISUALIZATION COMPONENTS
685
+ // ============================================================================
686
+
687
+ // Progress bar (pa-progress)
688
+ $progress-height: 0.8rem !default; // 8px
689
+ $progress-height-xs: 0.3rem !default; // 3px
690
+ $progress-height-sm: 0.5rem !default; // 5px
691
+ $progress-height-lg: 1.2rem !default; // 12px
692
+ $progress-bg: rgba(0, 0, 0, 0.08) !default;
693
+ $progress-border-radius: $border-radius !default;
694
+ $progress-stripe-angle: 45deg !default;
695
+ $progress-stripe-size: 1.6rem !default; // 16px
696
+ $progress-animation-duration: 1s !default;
697
+ $progress-label-font-size: $font-size-xs !default;
698
+ $progress-label-font-weight: $font-weight-medium !default;
699
+
700
+ // Stacked bar (pa-stacked-bar)
701
+ $stacked-bar-height: 1.2rem !default; // 12px
702
+ $stacked-bar-border-radius: $border-radius !default;
703
+ $stacked-bar-legend-gap: $spacing-base !default;
704
+ $stacked-bar-legend-swatch-size: 1rem !default; // 10px
705
+ $stacked-bar-legend-font-size: $font-size-xs !default;
706
+
707
+ // Progress ring (pa-progress-ring)
708
+ $progress-ring-size: 8rem !default; // 80px
709
+ $progress-ring-size-sm: 5rem !default; // 50px
710
+ $progress-ring-size-lg: 11rem !default; // 110px
711
+ $progress-ring-track-color: rgba(0, 0, 0, 0.08) !default;
712
+ $progress-ring-value-font-size: $font-size-lg !default;
713
+ $progress-ring-value-font-weight: $font-weight-bold !default;
714
+ $progress-ring-label-font-size: $font-size-2xs !default;
715
+
716
+ // Gauge (pa-gauge)
717
+ $gauge-size: 12rem !default; // 120px
718
+ $gauge-track-color: rgba(0, 0, 0, 0.08) !default;
719
+ $gauge-label-font-size: $font-size-xs !default;
720
+ $gauge-value-font-size: $font-size-2xl !default;
721
+ $gauge-value-font-weight: $font-weight-bold !default;
722
+
723
+ // Data bar (pa-data-bar)
724
+ $data-bar-height: 0.4rem !default; // 4px
725
+ $data-bar-border-radius: $border-radius-sm !default;
726
+ $data-bar-bg: rgba(0, 0, 0, 0.06) !default;
727
+
728
+ // Heatmap (pa-heatmap)
729
+ $heatmap-cell-size: 1.2rem !default; // 12px
730
+ $heatmap-gap: 0.2rem !default; // 2px
731
+ $heatmap-border-radius: $border-radius-sm !default;
732
+ $heatmap-legend-gap: $spacing-xs !default;
733
+ $heatmap-legend-font-size: $font-size-xs !default;
734
+
735
+ // Sparkline (pa-sparkline)
736
+ $sparkline-bar-width: 0.3rem !default; // 3px
737
+ $sparkline-height: 3rem !default; // 30px
738
+ $sparkline-gap: 0.2rem !default; // 2px
739
+ $sparkline-border-radius: $border-radius-sm !default;
740
+
741
+ // Bar list (pa-bar-list)
742
+ $bar-list-gap: $spacing-base !default;
743
+ $bar-list-bar-height: 0.4rem !default;
744
+ $bar-list-bar-border-radius: $border-radius-sm !default;
745
+ $bar-list-bar-bg: rgba(0, 0, 0, 0.06) !default;
746
+ $bar-list-label-font-size: $font-size-sm !default;
747
+ $bar-list-value-font-size: $font-size-sm !default;
748
+ $bar-list-value-font-weight: $font-weight-semibold !default;