@keenmate/pure-admin-core 1.0.0-rc04 → 1.0.0-rc05

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.
@@ -8,6 +8,7 @@ MODAL WRAPPER CLASSES:
8
8
  - pa-modal: Base modal wrapper
9
9
  - pa-modal--show: Show the modal (add/remove via JavaScript)
10
10
  - pa-modal--top: Position modal near top instead of center (useful for search/command interfaces)
11
+ - pa-modal--static: Prevent closing via ESC key or backdrop click (must use explicit button)
11
12
  - pa-modal--primary: Primary themed modal (blue header)
12
13
  - pa-modal--success: Success themed modal (green header)
13
14
  - pa-modal--warning: Warning themed modal (orange header)
@@ -75,6 +76,42 @@ HEADER THEME CLASSES (alternative to modal-level themes):
75
76
  </div>
76
77
 
77
78
 
79
+ <!-- STATIC MODAL (No ESC, No Backdrop Click) -->
80
+
81
+ <!--
82
+ Static modals cannot be closed by:
83
+ - Pressing the Escape key
84
+ - Clicking the backdrop
85
+
86
+ User MUST click an explicit button to close.
87
+ Use for: license agreements, critical confirmations, required actions.
88
+
89
+ Implementation:
90
+ 1. Add pa-modal--static class to the modal wrapper
91
+ 2. Do NOT add onclick to the backdrop
92
+ 3. Optionally remove the X close button from header
93
+ 4. JavaScript must check for --static class before closing on ESC
94
+ -->
95
+
96
+ <div class="pa-modal pa-modal--static" id="staticModal">
97
+ <div class="pa-modal__backdrop"></div><!-- No onclick here! -->
98
+ <div class="pa-modal__container pa-modal__container--sm">
99
+ <div class="pa-modal__header pa-modal__header--warning">
100
+ <h3 class="pa-modal__title">License Agreement</h3>
101
+ <!-- No X close button - user must use footer buttons -->
102
+ </div>
103
+ <div class="pa-modal__body">
104
+ <p>You must accept the terms to continue.</p>
105
+ <p>This modal cannot be dismissed with ESC or by clicking outside.</p>
106
+ </div>
107
+ <div class="pa-modal__footer">
108
+ <button class="pa-btn pa-btn--secondary" onclick="closeModal('staticModal')">Decline</button>
109
+ <button class="pa-btn pa-btn--warning" onclick="closeModal('staticModal')">Accept</button>
110
+ </div>
111
+ </div>
112
+ </div>
113
+
114
+
78
115
  <!-- MODAL SIZES -->
79
116
 
80
117
  <!-- Small Modal -->
@@ -278,21 +315,23 @@ function closeModal(modalId) {
278
315
  }
279
316
  }
280
317
 
281
- // Close modal with Escape key
318
+ // Close modal with Escape key (skip static modals)
282
319
  document.addEventListener('keydown', function(e) {
283
320
  if (e.key === 'Escape') {
284
321
  const openModal = document.querySelector('.pa-modal--show');
285
- if (openModal) {
322
+ // Don't close static modals with ESC
323
+ if (openModal && !openModal.classList.contains('pa-modal--static')) {
286
324
  closeModal(openModal.id);
287
325
  }
288
326
  }
289
327
  });
290
328
 
291
- // Close modal when clicking backdrop
329
+ // Close modal when clicking backdrop (skip static modals)
292
330
  document.querySelectorAll('.pa-modal__backdrop').forEach(backdrop => {
293
331
  backdrop.addEventListener('click', function() {
294
332
  const modal = this.closest('.pa-modal');
295
- if (modal) {
333
+ // Don't close static modals on backdrop click
334
+ if (modal && !modal.classList.contains('pa-modal--static')) {
296
335
  closeModal(modal.id);
297
336
  }
298
337
  });
@@ -100,8 +100,8 @@
100
100
  </tbody>
101
101
  </table>
102
102
 
103
- <!-- 2x Spacing (comfortable padding) -->
104
- <table class="pa-table pa-table--2x">
103
+ <!-- XS Size (compact, fits button-xs) -->
104
+ <table class="pa-table pa-table--xs">
105
105
  <thead>
106
106
  <tr>
107
107
  <th>Name</th>
@@ -116,8 +116,8 @@
116
116
  </tbody>
117
117
  </table>
118
118
 
119
- <!-- 3x Spacing (spacious padding) -->
120
- <table class="pa-table pa-table--3x">
119
+ <!-- LG Size (spacious, fits button-lg) -->
120
+ <table class="pa-table pa-table--lg">
121
121
  <thead>
122
122
  <tr>
123
123
  <th>Name</th>
@@ -294,8 +294,10 @@ BASE CLASS:
294
294
 
295
295
  MODIFIERS:
296
296
  - pa-table--striped (alternating row colors)
297
- - pa-table--2x (comfortable padding, 2x base)
298
- - pa-table--3x (spacious padding, 3x base)
297
+ - pa-table--xs (compact, fits button-xs)
298
+ - pa-table--sm (slightly wider horizontal padding)
299
+ - pa-table--lg (spacious, fits button-lg)
300
+ - pa-table--xl (extra spacious, fits button-xl)
299
301
 
300
302
  HELPERS:
301
303
  - col-auto (auto-width column that shrinks to content)
@@ -75,6 +75,20 @@
75
75
  </span>
76
76
 
77
77
 
78
+ <!-- THEME COLOR TOOLTIPS (color-1 to color-9) -->
79
+
80
+ <!-- Theme colors use --pa-color-* CSS variables defined by themes -->
81
+ <span class="pa-tooltip pa-tooltip--color-1" data-tooltip="Color 1">Color 1</span>
82
+ <span class="pa-tooltip pa-tooltip--color-2" data-tooltip="Color 2">Color 2</span>
83
+ <span class="pa-tooltip pa-tooltip--color-3" data-tooltip="Color 3">Color 3</span>
84
+ <span class="pa-tooltip pa-tooltip--color-4" data-tooltip="Color 4">Color 4</span>
85
+ <span class="pa-tooltip pa-tooltip--color-5" data-tooltip="Color 5">Color 5</span>
86
+ <span class="pa-tooltip pa-tooltip--color-6" data-tooltip="Color 6">Color 6</span>
87
+ <span class="pa-tooltip pa-tooltip--color-7" data-tooltip="Color 7">Color 7</span>
88
+ <span class="pa-tooltip pa-tooltip--color-8" data-tooltip="Color 8">Color 8</span>
89
+ <span class="pa-tooltip pa-tooltip--color-9" data-tooltip="Color 9">Color 9</span>
90
+
91
+
78
92
  <!-- CURSOR MODIFIERS -->
79
93
 
80
94
  <!-- Default tooltip (inherits parent cursor - good for clickable elements like buttons, tabs) -->
@@ -270,6 +284,55 @@
270
284
  </div>
271
285
 
272
286
 
287
+ <!-- POPOVER ALIGNMENT -->
288
+
289
+ <!-- Left Aligned (default) -->
290
+ <div class="pa-popover" data-placement="bottom">
291
+ <button class="pa-popover__trigger">?</button>
292
+ <div class="pa-popover__content">
293
+ <div class="pa-popover__header">
294
+ <h4>Left Aligned</h4>
295
+ <button class="pa-popover__close">×</button>
296
+ </div>
297
+ <div class="pa-popover__body">
298
+ <p>Default alignment is left.</p>
299
+ <ul>
300
+ <li>Lists look natural</li>
301
+ <li>Easy to read</li>
302
+ </ul>
303
+ </div>
304
+ </div>
305
+ </div>
306
+
307
+ <!-- Center Aligned -->
308
+ <div class="pa-popover pa-popover--center" data-placement="bottom">
309
+ <button class="pa-popover__trigger">?</button>
310
+ <div class="pa-popover__content">
311
+ <div class="pa-popover__header">
312
+ <h4>Centered</h4>
313
+ <button class="pa-popover__close">×</button>
314
+ </div>
315
+ <div class="pa-popover__body">
316
+ <p>Use --center modifier for centered text.</p>
317
+ </div>
318
+ </div>
319
+ </div>
320
+
321
+ <!-- Right Aligned -->
322
+ <div class="pa-popover pa-popover--right" data-placement="bottom">
323
+ <button class="pa-popover__trigger">?</button>
324
+ <div class="pa-popover__content">
325
+ <div class="pa-popover__header">
326
+ <h4>Right Aligned</h4>
327
+ <button class="pa-popover__close">×</button>
328
+ </div>
329
+ <div class="pa-popover__body">
330
+ <p>Use --right modifier for RTL layouts.</p>
331
+ </div>
332
+ </div>
333
+ </div>
334
+
335
+
273
336
  <!-- POPOVER WITH RICH CONTENT -->
274
337
 
275
338
  <!-- Popover with List -->
@@ -346,6 +409,7 @@ VARIANTS:
346
409
  - pa-tooltip--success (success colored background)
347
410
  - pa-tooltip--warning (warning colored background)
348
411
  - pa-tooltip--danger (danger colored background)
412
+ - pa-tooltip--color-1 through pa-tooltip--color-9 (theme-defined colors)
349
413
 
350
414
  MULTILINE:
351
415
  - pa-tooltip--multiline (allows text wrapping)
@@ -363,6 +427,10 @@ SIZES:
363
427
  - pa-popover--sm (small)
364
428
  - pa-popover--lg (large)
365
429
 
430
+ ALIGNMENT:
431
+ - pa-popover--center (centered body text)
432
+ - pa-popover--right (right-aligned body text)
433
+
366
434
  COMPONENTS:
367
435
  - pa-popover__trigger (button/trigger element)
368
436
  - pa-popover__content (popover container)
@@ -7,6 +7,7 @@
7
7
  // Buttons
8
8
  .pa-btn {
9
9
  display: inline-block;
10
+ height: $btn-height-base;
10
11
  padding: $btn-padding-v $btn-padding-h;
11
12
  border: $btn-border-width solid transparent;
12
13
  border-radius: $border-radius;
@@ -46,21 +47,25 @@
46
47
  }
47
48
 
48
49
  &--xs {
50
+ height: $btn-height-xs;
49
51
  padding: $btn-padding-xs-v $btn-padding-xs-h;
50
52
  font-size: $font-size-xs;
51
53
  }
52
54
 
53
55
  &--sm {
56
+ height: $btn-height-sm;
54
57
  padding: $btn-padding-sm-v $btn-padding-sm-h;
55
58
  font-size: $font-size-sm;
56
59
  }
57
60
 
58
61
  &--lg {
62
+ height: $btn-height-lg;
59
63
  padding: $btn-padding-lg-v $btn-padding-lg-h;
60
64
  font-size: $font-size-base;
61
65
  }
62
66
 
63
67
  &--xl {
68
+ height: $btn-height-xl;
64
69
  padding: $btn-padding-xl-v $btn-padding-xl-h;
65
70
  font-size: $font-size-lg;
66
71
  }
@@ -265,6 +270,7 @@
265
270
  display: flex;
266
271
  align-items: center;
267
272
  justify-content: center;
273
+ line-height: 1;
268
274
 
269
275
  // Size-specific icon-only dimensions
270
276
  &.pa-btn--xs {
@@ -7,8 +7,8 @@
7
7
  // Cards
8
8
  .pa-card {
9
9
  background: var(--pa-card-bg);
10
- border: $border-width-base solid var(--pa-border-color);
11
- border-radius: $border-radius-lg;
10
+ border: $card-border-width solid var(--pa-border-color);
11
+ border-radius: $card-border-radius;
12
12
  margin-bottom: $spacing-base;
13
13
  box-shadow: $shadow-sm;
14
14
  transition: box-shadow $transition-fast $easing-snappy;
@@ -22,8 +22,8 @@
22
22
  &__header {
23
23
  padding: $card-header-padding-v $card-header-padding-h;
24
24
  min-height: $card-header-min-height;
25
- border-top-left-radius: $border-radius-lg;
26
- border-top-right-radius: $border-radius-lg;
25
+ border-top-left-radius: $card-border-radius;
26
+ border-top-right-radius: $card-border-radius;
27
27
  border-bottom: $border-width-base solid var(--pa-border-color);
28
28
  background: var(--pa-card-header-bg);
29
29
  display: flex;
@@ -60,6 +60,12 @@
60
60
  color: var(--pa-text-primary);
61
61
  font-size: $font-size-base;
62
62
  }
63
+
64
+ // Buttons in card headers - negative margin to prevent header height growth
65
+ .pa-btn {
66
+ margin-top: -0.25rem;
67
+ margin-bottom: -0.25rem;
68
+ }
63
69
  }
64
70
 
65
71
  &__title {
@@ -241,6 +247,36 @@
241
247
  display: block;
242
248
  }
243
249
  }
250
+
251
+ // Inline tabs in header (for side-by-side card alignment)
252
+ &__tabs--inline {
253
+ display: flex;
254
+ gap: $spacing-xs;
255
+ margin: -$card-header-padding-v 0; // Negative margin to fill header height
256
+ border-bottom: none;
257
+ background: none;
258
+
259
+ .pa-card__tab {
260
+ padding: $card-tab-inline-padding-v $card-tab-inline-padding-h;
261
+ border: none;
262
+ border-radius: $border-radius;
263
+ font-size: $font-size-sm;
264
+ background: transparent;
265
+ color: var(--pa-text-secondary);
266
+ cursor: pointer;
267
+ transition: all $transition-fast $easing-snappy;
268
+
269
+ &:hover {
270
+ background-color: rgba($accent-color, $card-tab-hover-opacity);
271
+ color: var(--pa-text-primary);
272
+ }
273
+
274
+ &--active {
275
+ background: var(--pa-accent);
276
+ color: var(--pa-btn-primary-text);
277
+ }
278
+ }
279
+ }
244
280
  }
245
281
 
246
282
  // Clickable cards (anchor-wrapped)
@@ -40,6 +40,7 @@
40
40
  td {
41
41
  color: var(--pa-text-primary);
42
42
  background-color: var(--pa-table-bg);
43
+ height: $table-cell-height;
43
44
 
44
45
  // Buttons in table cells - negative margin to prevent row height growth
45
46
  .pa-btn {
@@ -62,28 +63,51 @@
62
63
  }
63
64
  }
64
65
 
65
- // 2x spacing variant - comfortable padding (calculated from base)
66
- &--2x {
67
- th,
66
+ // Size variants - synchronized with button/input sizes
67
+ &--xs {
68
+ th, td {
69
+ padding: $table-padding-xs-v $table-padding-xs-h;
70
+ }
68
71
  td {
69
- padding: ($table-padding-base-v * $table-spacing-2x-multiplier)
70
- ($table-padding-base-h * $table-spacing-2x-multiplier);
72
+ height: $table-cell-height-xs;
71
73
  }
72
74
  }
73
75
 
74
- // 3x spacing variant - spacious padding (calculated from base)
75
- &--3x {
76
- th,
76
+ &--sm {
77
+ th, td {
78
+ padding: $table-padding-sm-v $table-padding-sm-h;
79
+ }
77
80
  td {
78
- padding: ($table-padding-base-v * $table-spacing-3x-multiplier)
79
- ($table-padding-base-h * $table-spacing-3x-multiplier);
81
+ height: $table-cell-height-sm;
82
+ }
83
+ }
84
+
85
+ &--lg {
86
+ th, td {
87
+ padding: $table-padding-lg-v $table-padding-lg-h;
88
+ }
89
+ td {
90
+ height: $table-cell-height-lg;
91
+ }
92
+ }
93
+
94
+ &--xl {
95
+ th, td {
96
+ padding: $table-padding-xl-v $table-padding-xl-h;
97
+ }
98
+ td {
99
+ height: $table-cell-height-xl;
80
100
  }
81
101
  }
82
102
 
83
103
  // Hover effects
84
- tbody tr {
85
- // Setup for hover accent border
86
- @if $table-hover-accent-width > 0 {
104
+ @if $table-hover-accent-width > 0 {
105
+ // Header alignment - add padding-left instead of border
106
+ th:first-child {
107
+ padding-left: $table-hover-accent-width + $table-padding-base-h;
108
+ }
109
+
110
+ tbody tr {
87
111
  border-#{$table-hover-accent-position}: #{$table-hover-accent-width} solid transparent;
88
112
  transition: border-color $transition-normal $easing-smooth;
89
113
  }
@@ -336,6 +336,125 @@
336
336
  padding-top: $spacing-md;
337
337
  }
338
338
  }
339
+
340
+ // Card variant - tabs act as card header (same height as pa-card__header)
341
+ &--card {
342
+ position: relative; // For dropdown positioning
343
+ border: $card-border-width solid var(--pa-border-color);
344
+ border-radius: $card-border-radius;
345
+ background-color: var(--pa-card-bg);
346
+ box-shadow: $shadow-sm;
347
+
348
+ .pa-tabs {
349
+ height: $card-header-min-height;
350
+ padding: $card-header-padding-v $card-header-padding-h;
351
+ background: var(--pa-card-header-bg);
352
+ border-bottom: $border-width-base solid var(--pa-border-color);
353
+ box-sizing: border-box;
354
+ border-top-left-radius: $card-border-radius;
355
+ border-top-right-radius: $card-border-radius;
356
+ margin-bottom: 0;
357
+ align-items: center;
358
+ gap: $spacing-xs;
359
+ flex-wrap: nowrap;
360
+ overflow: visible; // Allow dropdown to overflow
361
+ }
362
+
363
+ .pa-tabs__content {
364
+ padding: $card-body-padding-v $card-body-padding-h;
365
+ }
366
+
367
+ .pa-tabs__panel {
368
+ padding-top: 0;
369
+ }
370
+
371
+ // Overflow toggle for tabs that don't fit
372
+ .pa-tabs__overflow {
373
+ position: relative;
374
+ margin-left: auto;
375
+ flex-shrink: 0;
376
+ }
377
+
378
+ .pa-tabs__overflow-toggle {
379
+ position: relative;
380
+ display: flex;
381
+ align-items: center;
382
+ justify-content: center;
383
+ width: $card-header-min-height;
384
+ height: 100%;
385
+ padding: 0;
386
+ border: none;
387
+ background: transparent;
388
+ color: var(--pa-text-secondary);
389
+ cursor: pointer;
390
+ transition: all $transition-fast $easing-snappy;
391
+ border-left: $border-width-base solid var(--pa-border-color);
392
+ margin: (-$card-header-padding-v) (-$card-header-padding-h) (-$card-header-padding-v) 0;
393
+ box-sizing: content-box;
394
+ height: $card-header-min-height;
395
+
396
+ &:hover {
397
+ background-color: rgba($accent-color, $card-tab-hover-opacity);
398
+ color: var(--pa-text-primary);
399
+ }
400
+
401
+ // When overflow contains the active tab
402
+ &--has-active {
403
+ color: var(--pa-accent);
404
+
405
+ &::after {
406
+ content: '';
407
+ position: absolute;
408
+ bottom: 0;
409
+ left: 0;
410
+ right: 0;
411
+ height: $border-width-medium;
412
+ background: var(--pa-accent);
413
+ }
414
+ }
415
+
416
+ i {
417
+ font-size: $font-size-sm;
418
+ }
419
+ }
420
+
421
+ .pa-tabs__overflow-menu {
422
+ position: absolute;
423
+ top: $card-header-min-height;
424
+ right: 0;
425
+ min-width: 15rem;
426
+ background: var(--pa-card-bg);
427
+ border: $card-border-width solid var(--pa-border-color);
428
+ border-radius: $border-radius;
429
+ box-shadow: $shadow-lg;
430
+ z-index: $z-index-dropdown;
431
+ display: none;
432
+ flex-direction: column;
433
+ padding: $spacing-xs 0;
434
+
435
+ &--open {
436
+ display: flex;
437
+ }
438
+
439
+ .pa-tabs__item {
440
+ padding: $spacing-sm $spacing-base;
441
+ border: none;
442
+ border-bottom: none;
443
+ border-radius: 0;
444
+ text-align: left;
445
+ white-space: nowrap;
446
+
447
+ &:hover {
448
+ background-color: rgba($accent-color, $card-tab-hover-opacity);
449
+ }
450
+
451
+ &--active {
452
+ background-color: rgba($accent-color, 0.1);
453
+ border-bottom: none;
454
+ }
455
+ }
456
+ }
457
+ }
339
458
  }
340
459
 
341
460
  // Vertical tabs layout wrapper (for proper spacing with content)
@@ -237,6 +237,29 @@
237
237
  border-left-color: var(--pa-btn-danger-bg);
238
238
  }
239
239
 
240
+ // Numbered color variants (color-1 through color-9)
241
+ // These use theme-customizable colors from --pa-color-* CSS variables
242
+ @for $i from 1 through 9 {
243
+ &--color-#{$i}::before {
244
+ background-color: var(--pa-color-#{$i});
245
+ }
246
+ &--color-#{$i}::after {
247
+ border-top-color: var(--pa-color-#{$i});
248
+ }
249
+ &--color-#{$i}.pa-tooltip--right::after {
250
+ border-top-color: transparent;
251
+ border-right-color: var(--pa-color-#{$i});
252
+ }
253
+ &--color-#{$i}.pa-tooltip--bottom::after {
254
+ border-top-color: transparent;
255
+ border-bottom-color: var(--pa-color-#{$i});
256
+ }
257
+ &--color-#{$i}.pa-tooltip--left::after {
258
+ border-top-color: transparent;
259
+ border-left-color: var(--pa-color-#{$i});
260
+ }
261
+ }
262
+
240
263
  // Smart positioning - collision detection adjustments
241
264
  // Applied dynamically by JavaScript based on viewport boundaries
242
265
 
@@ -390,6 +413,7 @@
390
413
  font-size: $font-size-sm;
391
414
  line-height: $line-height-base;
392
415
  color: var(--pa-text-primary);
416
+ text-align: left; // Reset inherited alignment for rich content
393
417
 
394
418
  p {
395
419
  margin: 0 0 $spacing-sm 0;
@@ -454,6 +478,15 @@
454
478
  min-width: $popover-lg-min-width;
455
479
  max-width: $popover-lg-max-width;
456
480
  }
481
+
482
+ // Alignment variants
483
+ &--center &__body {
484
+ text-align: center;
485
+ }
486
+
487
+ &--right &__body {
488
+ text-align: right;
489
+ }
457
490
  }
458
491
 
459
492
  // ========================================
@@ -500,4 +533,11 @@
500
533
  background-color: var(--pa-btn-danger-bg);
501
534
  color: var(--pa-btn-danger-text);
502
535
  }
536
+
537
+ // Numbered color variants (color-1 through color-9)
538
+ @for $i from 1 through 9 {
539
+ &.pa-tooltip--color-#{$i} {
540
+ background-color: var(--pa-color-#{$i});
541
+ }
542
+ }
503
543
  }
@@ -6,6 +6,7 @@
6
6
 
7
7
  .pa-input {
8
8
  width: 100%;
9
+ height: #{$base-input-size-md-height}rem;
9
10
  padding: $input-padding-v $input-padding-h;
10
11
  border: $border-width-base solid var(--pa-border-color);
11
12
  border-radius: $border-radius;
@@ -23,6 +24,7 @@
23
24
 
24
25
  .pa-select {
25
26
  width: 100%;
27
+ height: #{$base-input-size-md-height}rem;
26
28
  padding: $select-padding-v $select-padding-h;
27
29
  border: $border-width-base solid var(--pa-border-color);
28
30
  border-radius: $border-radius;
@@ -61,27 +63,31 @@
61
63
  }
62
64
  }
63
65
 
64
- // Input Sizes
66
+ // Input Sizes - heights aligned with $base-input-size-* variables
65
67
  .pa-input--xs,
66
68
  .pa-select--xs {
69
+ height: #{$base-input-size-xs-height}rem;
67
70
  padding: $input-padding-xs-v $input-padding-h;
68
71
  font-size: $font-size-xs;
69
72
  }
70
73
 
71
74
  .pa-input--sm,
72
75
  .pa-select--sm {
76
+ height: #{$base-input-size-sm-height}rem;
73
77
  padding: $input-padding-v $input-padding-h;
74
78
  font-size: $font-size-sm;
75
79
  }
76
80
 
77
81
  .pa-input--lg,
78
82
  .pa-select--lg {
83
+ height: #{$base-input-size-lg-height}rem;
79
84
  padding: $input-padding-v $input-padding-h;
80
85
  font-size: $font-size-base;
81
86
  }
82
87
 
83
88
  .pa-input--xl,
84
89
  .pa-select--xl {
90
+ height: #{$base-input-size-xl-height}rem;
85
91
  padding: $input-padding-v $input-padding-h;
86
92
  font-size: $font-size-lg;
87
93
  }
@@ -90,7 +90,7 @@ $table-header-bg: $audi-gray-100;
90
90
  $table-hover-bg: $audi-gray-50;
91
91
 
92
92
  // Enable red accent on table row hover (Audi signature detail)
93
- $table-hover-accent-width: 3px;
93
+ $table-hover-accent-width: 0.3rem; // 3px in 10px base
94
94
  $table-hover-accent-color: $accent-color;
95
95
  $table-hover-accent-position: left;
96
96
 
@@ -200,6 +200,10 @@ $danger-bg-light: rgba(255, 0, 0, 0.1);
200
200
  // Set body font
201
201
  $body-font-family: "Fira Sans Condensed", "Arial Narrow", "Arial", sans-serif;
202
202
 
203
+ // Card styling - thicker border for Audi design language
204
+ $card-border-width: $border-width-medium;
205
+ $card-border-radius: 0; // Sharp edges
206
+
203
207
  // Import core styles with overridden variables
204
208
  @import '../core';
205
209
  @import '../utilities';
@@ -107,7 +107,7 @@ $table-header-bg: $audi-black;
107
107
  $table-hover-bg: $audi-gray-light;
108
108
 
109
109
  // Enable red accent on table row hover (Audi signature detail)
110
- $table-hover-accent-width: 3px;
110
+ $table-hover-accent-width: 0.3rem; // 3px in 10px base
111
111
  $table-hover-accent-color: $accent-color; // Uses the red #ff0000
112
112
  $table-hover-accent-position: left;
113
113
 
@@ -220,6 +220,10 @@ $danger-bg-light: rgba(255, 0, 0, 0.25);
220
220
  // 4. Override font family SCSS variable after fonts are defined
221
221
  $body-font-family: "Fira Sans Condensed", "Arial Narrow", "Arial", sans-serif;
222
222
 
223
+ // Card styling - thicker border for Audi design language
224
+ $card-border-width: $border-width-medium;
225
+ $card-border-radius: 0; // Sharp edges
226
+
223
227
  // 5. Import core framework styles (will use all our SCSS variables)
224
228
  @import '../core';
225
229
 
@@ -256,8 +260,6 @@ $body-font-family: "Fira Sans Condensed", "Arial Narrow", "Arial", sans-serif;
256
260
  }
257
261
 
258
262
  .pa-card {
259
- border-radius: 0 !important; // Sharp edges
260
- border: $border-width-medium solid $border-color;
261
263
  box-shadow: 0 $spacing-xs ($spacing-sm * 2) rgba($audi-black, 0.8);
262
264
  }
263
265