@dataengineeringformachinelearning/viking-ui 4.1.1 → 4.1.3

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.
@@ -0,0 +1,1145 @@
1
+ @charset "UTF-8";
2
+ /*! DEML Shared Components — canonical source: packages/viking-ui/src/styles/components/
3
+ * Static CSS: npm run build:viking-ui:package */
4
+ .sr-only,
5
+ .visually-hidden {
6
+ position: absolute !important;
7
+ width: 0 !important;
8
+ height: 0 !important;
9
+ padding: 0 !important;
10
+ margin: -1px !important;
11
+ overflow: hidden !important;
12
+ clip: rect(0, 0, 0, 0) !important;
13
+ white-space: nowrap !important;
14
+ border: 0 !important;
15
+ }
16
+
17
+ .skip-link {
18
+ position: absolute;
19
+ top: 0;
20
+ left: var(--space-2, 16px);
21
+ z-index: 10000;
22
+ padding: var(--space-1, 8px) var(--space-2, 16px);
23
+ border-radius: var(--border-radius-sm, 8px);
24
+ background-color: var(--black, var(--viking-black)) !important;
25
+ color: var(--white, var(--viking-white-pure)) !important;
26
+ text-decoration: none;
27
+ font-weight: 600;
28
+ font-size: max(16px, var(--base-font-size, 16px));
29
+ line-height: 1.4;
30
+ clip: rect(0 0 0 0);
31
+ clip-path: inset(50%);
32
+ width: 1px;
33
+ height: 1px;
34
+ overflow: hidden;
35
+ white-space: nowrap;
36
+ border: 0;
37
+ }
38
+
39
+ .skip-link:focus,
40
+ .skip-link:focus-visible {
41
+ clip: auto;
42
+ clip-path: none;
43
+ width: auto;
44
+ height: auto;
45
+ overflow: visible;
46
+ white-space: normal;
47
+ outline: var(--focus-ring-width, 3px) solid var(--focus-ring-color, var(--viking-accent));
48
+ outline-offset: var(--focus-ring-offset, 2px);
49
+ }
50
+
51
+ a:focus-visible,
52
+ button:focus-visible,
53
+ input:focus-visible,
54
+ textarea:focus-visible,
55
+ select:focus-visible,
56
+ [role=button]:focus-visible,
57
+ [role=tab]:focus-visible,
58
+ [tabindex]:not([tabindex="-1"]):focus-visible {
59
+ outline: var(--focus-ring-width) solid var(--focus-ring-color) !important;
60
+ outline-offset: var(--focus-ring-offset) !important;
61
+ }
62
+
63
+ .viking-input-shell input:focus,
64
+ .viking-input-shell input:focus-visible,
65
+ .viking-textarea-shell textarea:focus,
66
+ .viking-textarea-shell textarea:focus-visible {
67
+ outline: none !important;
68
+ }
69
+
70
+ @media (prefers-reduced-motion: reduce) {
71
+ *,
72
+ ::before,
73
+ ::after {
74
+ animation-duration: 0.01ms !important;
75
+ animation-iteration-count: 1 !important;
76
+ transition-duration: 0.01ms !important;
77
+ scroll-behavior: auto !important;
78
+ }
79
+ }
80
+ @media (forced-colors: active) {
81
+ a:focus-visible,
82
+ button:focus-visible,
83
+ input:focus-visible,
84
+ textarea:focus-visible,
85
+ select:focus-visible {
86
+ outline: 3px solid CanvasText !important;
87
+ }
88
+ }
89
+ .status-badge-premium {
90
+ display: inline-flex;
91
+ align-items: center;
92
+ gap: var(--space-1);
93
+ padding: var(--space-1) var(--space-2);
94
+ border-radius: var(--border-radius-xl);
95
+ font-weight: 600;
96
+ font-size: 1rem;
97
+ line-height: 1.2;
98
+ letter-spacing: 0.03em;
99
+ text-transform: capitalize;
100
+ border: 1px solid transparent;
101
+ white-space: nowrap;
102
+ text-decoration: none;
103
+ }
104
+ .status-badge-premium .status-dot,
105
+ .status-badge-premium .status-dot-greenblue {
106
+ width: var(--space-1);
107
+ height: var(--space-1);
108
+ border-radius: 50%;
109
+ flex-shrink: 0;
110
+ background-color: currentColor;
111
+ }
112
+ .status-badge-premium.operational, .status-badge-premium.resolved, .status-badge-premium.success, .status-badge-premium.low, .status-badge-premium.compliant {
113
+ background: color-mix(in srgb, var(--color-success) 8%, transparent);
114
+ color: var(--color-success);
115
+ border-color: color-mix(in srgb, var(--color-success) 15%, transparent);
116
+ }
117
+ .status-badge-premium.degraded, .status-badge-premium.warning, .status-badge-premium.medium, .status-badge-premium.investigating, .status-badge-premium.identified {
118
+ background: color-mix(in srgb, var(--color-warning) 8%, transparent);
119
+ color: var(--color-warning);
120
+ border-color: color-mix(in srgb, var(--color-warning) 15%, transparent);
121
+ }
122
+ .status-badge-premium.outage, .status-badge-premium.critical, .status-badge-premium.high, .status-badge-premium.error {
123
+ background: color-mix(in srgb, var(--color-error) 8%, transparent);
124
+ color: var(--color-error);
125
+ border-color: color-mix(in srgb, var(--color-error) 15%, transparent);
126
+ }
127
+ .status-badge-premium.info, .status-badge-premium.neutral {
128
+ background: color-mix(in srgb, var(--color-info) 10%, transparent);
129
+ color: var(--color-info);
130
+ border-color: color-mix(in srgb, var(--color-info) 15%, transparent);
131
+ }
132
+ .status-badge-premium.primary {
133
+ background: color-mix(in srgb, var(--color-primary) 12%, transparent);
134
+ color: var(--color-primary-container);
135
+ border-color: color-mix(in srgb, var(--color-primary) 20%, transparent);
136
+ }
137
+ html[data-theme=light] .status-badge-premium.primary {
138
+ color: var(--color-primary);
139
+ }
140
+ .status-badge-premium--compact {
141
+ padding: 8px 12px;
142
+ font-size: var(--ui-font-size, 14px);
143
+ }
144
+ .status-badge-premium.pro-verified {
145
+ background: color-mix(in srgb, var(--viking-gold-500) 14%, transparent);
146
+ color: var(--viking-gold-500);
147
+ border-color: color-mix(in srgb, var(--viking-gold-500) 28%, transparent);
148
+ text-transform: none;
149
+ letter-spacing: 0.02em;
150
+ }
151
+ .status-badge-premium.pro-verified mat-icon,
152
+ .status-badge-premium.pro-verified .material-icons,
153
+ .status-badge-premium.pro-verified viking-icon,
154
+ .status-badge-premium.pro-verified viking-app-icon {
155
+ font-size: var(--viking-icon-size-md, var(--base-font-size));
156
+ width: var(--viking-icon-size-md, var(--base-font-size));
157
+ height: var(--viking-icon-size-md, var(--base-font-size));
158
+ line-height: var(--viking-icon-size-md, var(--base-font-size));
159
+ flex-shrink: 0;
160
+ }
161
+ html[data-theme=light] .status-badge-premium.pro-verified {
162
+ color: var(--viking-crimson-500);
163
+ border-color: color-mix(in srgb, var(--viking-crimson-500) 28%, transparent);
164
+ background: color-mix(in srgb, var(--viking-crimson-500) 10%, transparent);
165
+ }
166
+
167
+ viking-app-icon,
168
+ viking-icon,
169
+ .material-icons,
170
+ .material-symbols-outlined {
171
+ display: inline-flex;
172
+ align-items: center;
173
+ justify-content: center;
174
+ flex-shrink: 0;
175
+ line-height: 1;
176
+ vertical-align: middle;
177
+ }
178
+
179
+ [data-viking-icon] {
180
+ display: inline-flex;
181
+ align-items: center;
182
+ justify-content: center;
183
+ flex-shrink: 0;
184
+ line-height: 1;
185
+ }
186
+
187
+ [data-viking-icon] svg {
188
+ display: inline-block;
189
+ line-height: 1;
190
+ }
191
+
192
+ .nav-btn viking-app-icon,
193
+ .nav-btn viking-icon,
194
+ .nav-btn .material-icons,
195
+ .mobile-nav-btn viking-app-icon,
196
+ .mobile-nav-btn viking-icon,
197
+ .mobile-nav-btn .material-icons,
198
+ .auth-btn viking-app-icon,
199
+ .auth-btn viking-icon,
200
+ .auth-btn .material-icons,
201
+ .mobile-auth-btn viking-app-icon,
202
+ .mobile-auth-btn viking-icon,
203
+ .mobile-auth-btn .material-icons,
204
+ .back-link viking-app-icon,
205
+ .back-link viking-icon,
206
+ .back-link .material-icons,
207
+ .viking-btn viking-app-icon,
208
+ .viking-btn viking-icon,
209
+ .viking-btn .material-icons,
210
+ .sidebar-brand viking-app-icon,
211
+ .sidebar-brand viking-icon,
212
+ .sidebar-brand .material-icons,
213
+ .gauge-card-footer viking-app-icon,
214
+ .gauge-card-footer viking-icon,
215
+ .gauge-card-footer .material-icons,
216
+ .gauge-card-header viking-app-icon,
217
+ .gauge-card-header viking-icon,
218
+ .gauge-card-header .material-icons,
219
+ .section-title-premium viking-app-icon,
220
+ .section-title-premium viking-icon,
221
+ .section-title-premium .material-icons,
222
+ .panel-title-flex viking-app-icon,
223
+ .panel-title-flex viking-icon,
224
+ .panel-title-flex .material-icons,
225
+ .status-badge-premium viking-app-icon,
226
+ .status-badge-premium viking-icon,
227
+ .status-badge-premium .material-icons,
228
+ .feature-item viking-app-icon,
229
+ .feature-item viking-icon,
230
+ .feature-item .material-icons {
231
+ align-self: center;
232
+ }
233
+
234
+ .nav-btn viking-app-icon,
235
+ .nav-btn viking-icon,
236
+ .mobile-nav-btn viking-app-icon,
237
+ .nav-btn [data-viking-icon],
238
+ .mobile-nav-btn [data-viking-icon],
239
+ .auth-btn viking-app-icon,
240
+ .mobile-auth-btn viking-app-icon {
241
+ width: var(--viking-icon-size-md, var(--base-font-size));
242
+ height: var(--viking-icon-size-md, var(--base-font-size));
243
+ align-self: center;
244
+ }
245
+
246
+ .nav-btn [data-viking-icon] svg,
247
+ .mobile-nav-btn [data-viking-icon] svg,
248
+ .auth-btn [data-viking-icon] svg,
249
+ .mobile-auth-btn [data-viking-icon] svg {
250
+ width: var(--viking-icon-size-md, var(--base-font-size));
251
+ height: var(--viking-icon-size-md, var(--base-font-size));
252
+ }
253
+
254
+ .theme-toggle-btn viking-app-icon,
255
+ .theme-toggle-btn viking-icon,
256
+ .menu-toggle-btn viking-app-icon,
257
+ .menu-toggle-btn viking-icon {
258
+ display: inline-flex;
259
+ align-items: center;
260
+ justify-content: center;
261
+ width: 24px;
262
+ height: 24px;
263
+ line-height: 0;
264
+ }
265
+
266
+ .section-title-premium viking-app-icon {
267
+ color: var(--status-accent, var(--viking-accent));
268
+ width: 22px;
269
+ height: 22px;
270
+ }
271
+
272
+ .navbar-brand .material-icons.navbar-logo,
273
+ .navbar-brand deml-brand-logo .material-icons {
274
+ font-size: 28px;
275
+ width: 36px;
276
+ height: 36px;
277
+ line-height: 36px;
278
+ overflow: visible;
279
+ }
280
+
281
+ .sidebar-brand .material-icons.brand-icon,
282
+ .sidebar-brand deml-brand-logo .material-icons {
283
+ font-size: 24px;
284
+ width: 24px;
285
+ height: 24px;
286
+ line-height: 24px;
287
+ }
288
+
289
+ .viking-icon-heading {
290
+ display: flex;
291
+ align-items: center;
292
+ gap: var(--viking-space-2, 16px);
293
+ min-width: 0;
294
+ }
295
+
296
+ .viking-icon-heading__icon {
297
+ display: inline-flex;
298
+ align-items: center;
299
+ justify-content: center;
300
+ flex-shrink: 0;
301
+ width: var(--viking-icon-size-lg, 24px);
302
+ height: var(--viking-icon-size-lg, 24px);
303
+ line-height: 0;
304
+ color: var(--viking-accent);
305
+ }
306
+ .viking-icon-heading__icon svg,
307
+ .viking-icon-heading__icon viking-icon,
308
+ .viking-icon-heading__icon viking-app-icon {
309
+ display: block;
310
+ width: var(--viking-icon-size-lg, 24px);
311
+ height: var(--viking-icon-size-lg, 24px);
312
+ }
313
+
314
+ .viking-icon-heading__icon--brand {
315
+ color: inherit;
316
+ }
317
+
318
+ .viking-icon-heading__title {
319
+ margin: 0;
320
+ font-family: var(--viking-font-family);
321
+ font-size: var(--viking-font-size-lg, 20px);
322
+ font-weight: var(--viking-font-weight-bold, 700);
323
+ letter-spacing: var(--viking-letter-spacing-tight, -0.02em);
324
+ line-height: var(--viking-line-height-tight, 1.25);
325
+ color: var(--viking-text, var(--text-color));
326
+ text-transform: uppercase;
327
+ }
328
+
329
+ .viking-icon-heading--lg .viking-icon-heading__title {
330
+ font-size: var(--viking-font-size-xl, 24px);
331
+ }
332
+
333
+ .viking-page-stack {
334
+ display: flex;
335
+ flex-direction: column;
336
+ gap: var(--viking-page-stack-gap, var(--viking-space-4));
337
+ width: 100%;
338
+ box-sizing: border-box;
339
+ }
340
+
341
+ .badge-dot {
342
+ display: inline-block;
343
+ width: var(--viking-grid-unit, 4px);
344
+ height: var(--viking-grid-unit, 4px);
345
+ border-radius: 50%;
346
+ background-color: var(--viking-accent, var(--color-primary));
347
+ margin-right: var(--viking-space-1);
348
+ flex-shrink: 0;
349
+ }
350
+
351
+ .badge-dot--success {
352
+ background-color: var(--viking-success, var(--color-success));
353
+ }
354
+
355
+ .is-hidden {
356
+ display: none !important;
357
+ }
358
+
359
+ .is-visible-block {
360
+ display: block !important;
361
+ }
362
+
363
+ .is-visible-flex {
364
+ display: flex !important;
365
+ }
366
+
367
+ .progress-bar-fill {
368
+ width: var(--progress, 0%);
369
+ }
370
+
371
+ body,
372
+ p,
373
+ li,
374
+ input,
375
+ select,
376
+ textarea,
377
+ button,
378
+ label,
379
+ small,
380
+ td,
381
+ th,
382
+ .badge-text,
383
+ .criteria-desc,
384
+ .criteria-details,
385
+ .log-text,
386
+ .file-name {
387
+ font-size: max(16px, var(--base-font-size, 16px));
388
+ }
389
+
390
+ .u-items-center {
391
+ align-items: center;
392
+ }
393
+
394
+ .u-items-start {
395
+ align-items: flex-start;
396
+ }
397
+
398
+ .u-justify-between {
399
+ justify-content: space-between;
400
+ }
401
+
402
+ .u-text-center {
403
+ text-align: center;
404
+ }
405
+
406
+ .u-w-full {
407
+ width: 100%;
408
+ }
409
+
410
+ .u-overflow-y-auto {
411
+ overflow-y: auto;
412
+ }
413
+
414
+ .u-flex {
415
+ display: flex;
416
+ }
417
+
418
+ .u-flex-center {
419
+ display: flex;
420
+ align-items: center;
421
+ justify-content: center;
422
+ }
423
+
424
+ .u-flex-between {
425
+ display: flex;
426
+ justify-content: space-between;
427
+ align-items: center;
428
+ }
429
+
430
+ .u-flex-wrap {
431
+ flex-wrap: wrap;
432
+ }
433
+
434
+ .u-flex-col {
435
+ display: flex;
436
+ flex-direction: column;
437
+ }
438
+
439
+ .u-gap-half {
440
+ gap: var(--space-half);
441
+ }
442
+
443
+ .u-gap-1-5 {
444
+ gap: var(--space-1-5);
445
+ }
446
+
447
+ .u-gap-1 {
448
+ gap: var(--space-1);
449
+ }
450
+
451
+ .u-gap-2 {
452
+ gap: var(--space-2);
453
+ }
454
+
455
+ .u-gap-3 {
456
+ gap: var(--space-3);
457
+ }
458
+
459
+ .u-mt-2 {
460
+ margin-top: var(--space-2);
461
+ }
462
+
463
+ .u-mt-3 {
464
+ margin-top: var(--space-3);
465
+ }
466
+
467
+ .u-mt-4 {
468
+ margin-top: var(--space-4);
469
+ }
470
+
471
+ .u-mb-2 {
472
+ margin-bottom: var(--space-2);
473
+ }
474
+
475
+ .u-mb-3 {
476
+ margin-bottom: var(--space-3);
477
+ }
478
+
479
+ .u-mx-auto {
480
+ margin-left: auto;
481
+ margin-right: auto;
482
+ }
483
+
484
+ .u-max-w-500 {
485
+ max-width: 500px;
486
+ }
487
+
488
+ .u-text-muted {
489
+ color: var(--text-muted);
490
+ }
491
+
492
+ .u-text-primary {
493
+ color: var(--color-primary);
494
+ }
495
+
496
+ .u-text-primary-container {
497
+ color: var(--color-primary-container);
498
+ }
499
+
500
+ .u-skip-link-surface {
501
+ color: var(--white);
502
+ background-color: var(--black);
503
+ }
504
+
505
+ .u-word-break-all {
506
+ word-break: break-all;
507
+ }
508
+
509
+ .u-no-underline {
510
+ border-bottom: none;
511
+ text-decoration: none;
512
+ }
513
+
514
+ .u-icon-18 {
515
+ font-size: var(--base-font-size);
516
+ width: var(--base-font-size);
517
+ height: var(--base-font-size);
518
+ }
519
+
520
+ .u-style-e24d2c {
521
+ color: var(--white);
522
+ background-color: var(--black);
523
+ }
524
+
525
+ .u-style-328aaa {
526
+ margin: var(--space-2) var(--space-2) 0;
527
+ }
528
+
529
+ .u-style-ef4080 {
530
+ overflow-y: auto;
531
+ }
532
+
533
+ .u-style-be70d9,
534
+ .u-style-199b6f {
535
+ width: 100%;
536
+ }
537
+
538
+ .u-style-541ffc {
539
+ justify-content: center;
540
+ }
541
+
542
+ .u-style-9150aa {
543
+ justify-content: flex-start;
544
+ }
545
+
546
+ .u-style-ab0dc9,
547
+ .u-style-17e119 {
548
+ display: flex;
549
+ justify-content: center;
550
+ gap: var(--space-1);
551
+ font-size: 1rem;
552
+ color: var(--text-muted);
553
+ margin-bottom: var(--space-3);
554
+ }
555
+
556
+ .u-style-87f7f1 {
557
+ max-width: 500px;
558
+ margin-left: auto;
559
+ margin-right: auto;
560
+ }
561
+
562
+ .u-style-318da3,
563
+ .u-style-2b2c9a {
564
+ display: flex;
565
+ justify-content: space-between;
566
+ font-size: 1rem;
567
+ font-weight: 600;
568
+ color: var(--text-muted);
569
+ margin-bottom: var(--space-1);
570
+ }
571
+
572
+ .u-style-c3f737 {
573
+ color: var(--color-primary-container);
574
+ }
575
+
576
+ .u-style-f48aaf,
577
+ .u-style-cf687c {
578
+ width: 100%;
579
+ height: var(--space-1);
580
+ background-color: var(--hover-color);
581
+ border: 1px solid var(--border);
582
+ border-radius: var(--border-radius-sm);
583
+ overflow: hidden;
584
+ position: relative;
585
+ }
586
+
587
+ .u-style-43b1d2,
588
+ .u-style-f9a078 {
589
+ position: absolute;
590
+ left: 0;
591
+ top: 0;
592
+ bottom: 0;
593
+ width: var(--progress, 0%);
594
+ background-color: var(--color-primary);
595
+ transition: width 0.3s ease-out;
596
+ }
597
+
598
+ .u-style-a1eb91,
599
+ .u-style-9c7405 {
600
+ display: flex;
601
+ justify-content: center;
602
+ align-items: center;
603
+ padding: var(--space-5) 0;
604
+ animation: fade-in 0.8s ease-out;
605
+ }
606
+
607
+ .u-style-5e9329,
608
+ .u-style-54df94 {
609
+ width: 100%;
610
+ max-width: 460px;
611
+ aspect-ratio: 3/4.2;
612
+ background-color: var(--card-bg);
613
+ border: 1px solid var(--border);
614
+ border-radius: var(--space-1) var(--space-2) var(--space-2) var(--space-1);
615
+ box-shadow: var(--shadow-md);
616
+ position: relative;
617
+ overflow: hidden;
618
+ display: flex;
619
+ flex-direction: column;
620
+ align-items: center;
621
+ justify-content: center;
622
+ transition: transform 0.3s ease;
623
+ }
624
+
625
+ .u-style-5f0fbc,
626
+ .u-style-bdb450 {
627
+ position: absolute;
628
+ left: 0;
629
+ top: 0;
630
+ bottom: 0;
631
+ width: 28px;
632
+ background-color: color-mix(in srgb, var(--black) 50%, transparent);
633
+ z-index: 10;
634
+ border-right: 1px solid color-mix(in srgb, var(--black) 20%, transparent);
635
+ }
636
+
637
+ .u-style-604391,
638
+ .u-style-34ef33 {
639
+ position: absolute;
640
+ left: 28px;
641
+ top: 0;
642
+ bottom: 0;
643
+ width: 4px;
644
+ background-color: color-mix(in srgb, var(--black) 10%, transparent);
645
+ z-index: 9;
646
+ }
647
+
648
+ .u-style-81c40e,
649
+ .u-style-ec5da2 {
650
+ display: flex;
651
+ flex-direction: column;
652
+ align-items: center;
653
+ padding: var(--space-6) var(--space-4) var(--space-5) var(--space-6);
654
+ height: 100%;
655
+ width: 100%;
656
+ text-align: center;
657
+ background-color: var(--card-bg);
658
+ }
659
+
660
+ .u-style-ea280e,
661
+ .u-style-10c394 {
662
+ margin-bottom: auto;
663
+ letter-spacing: 0.15em;
664
+ font-size: 1rem;
665
+ font-weight: 700;
666
+ color: var(--text-muted);
667
+ text-transform: uppercase;
668
+ }
669
+
670
+ .u-style-b166d9,
671
+ .u-style-5c1531 {
672
+ font-size: 160px;
673
+ height: 160px;
674
+ width: 160px;
675
+ color: var(--color-primary);
676
+ filter: drop-shadow(0 var(--space-1) var(--space-2) color-mix(in srgb, var(--black) 20%, transparent));
677
+ margin: var(--space-4) 0;
678
+ }
679
+
680
+ .u-style-59eab0,
681
+ .u-style-c46697 {
682
+ font-size: 2.25rem;
683
+ font-weight: 800;
684
+ line-height: 1.15;
685
+ margin-bottom: var(--space-2);
686
+ letter-spacing: -0.02em;
687
+ }
688
+
689
+ .u-style-547d55,
690
+ .u-style-85912f {
691
+ font-size: 1rem;
692
+ color: var(--text-muted);
693
+ font-weight: 500;
694
+ font-style: italic;
695
+ }
696
+
697
+ .u-style-5440df,
698
+ .u-style-fe3035 {
699
+ margin-top: auto;
700
+ padding-top: var(--space-4);
701
+ border-top: 1px solid var(--border);
702
+ width: 100%;
703
+ display: flex;
704
+ justify-content: space-between;
705
+ align-items: center;
706
+ }
707
+
708
+ .u-style-018404 {
709
+ font-size: 1rem;
710
+ font-weight: 600;
711
+ color: var(--text-color);
712
+ }
713
+
714
+ .u-style-29066b,
715
+ .u-style-19122e {
716
+ font-size: 1rem;
717
+ font-weight: 700;
718
+ color: var(--color-primary);
719
+ letter-spacing: 0.1em;
720
+ }
721
+
722
+ .u-style-fef210 {
723
+ margin-top: var(--space-6);
724
+ }
725
+
726
+ .u-style-7bafc4 {
727
+ margin-bottom: var(--space-3);
728
+ max-width: 320px;
729
+ }
730
+
731
+ .u-style-324768 {
732
+ letter-spacing: -0.02em;
733
+ font-weight: bold;
734
+ }
735
+
736
+ .u-style-1e3398 {
737
+ margin-top: var(--space-2);
738
+ margin-bottom: var(--space-1);
739
+ display: flex;
740
+ gap: var(--space-1);
741
+ flex-wrap: wrap;
742
+ align-items: center;
743
+ }
744
+
745
+ .u-style-bd64a0 {
746
+ color: var(--text-muted);
747
+ font-size: 1rem;
748
+ font-weight: 600;
749
+ text-transform: uppercase;
750
+ letter-spacing: 0.05em;
751
+ margin-right: var(--space-1);
752
+ }
753
+
754
+ .u-style-c120b8 {
755
+ background: var(--color-surface);
756
+ border: 1px solid var(--border);
757
+ color: var(--text-color);
758
+ padding: 2px var(--space-2);
759
+ border-radius: var(--viking-radius-pill, 999px);
760
+ text-transform: capitalize;
761
+ font-size: 1rem;
762
+ font-weight: 500;
763
+ }
764
+
765
+ .u-style-019b32 {
766
+ position: relative;
767
+ }
768
+
769
+ .u-style-2aad06 {
770
+ height: 360px !important;
771
+ width: 100%;
772
+ display: block;
773
+ border-radius: var(--border-radius-md);
774
+ }
775
+
776
+ .u-style-c5a969 {
777
+ word-break: break-all;
778
+ }
779
+
780
+ .u-style-ab4518 {
781
+ border-color: var(--color-primary);
782
+ background-color: color-mix(in srgb, var(--color-primary) 8%, transparent);
783
+ }
784
+
785
+ .u-style-fa919b {
786
+ color: var(--color-primary);
787
+ }
788
+
789
+ .u-style-4d3ef5,
790
+ .u-style-58adc5 {
791
+ display: inline-flex;
792
+ align-items: center;
793
+ gap: var(--space-1);
794
+ background: var(--viking-surface);
795
+ border: 1px solid var(--border);
796
+ padding: var(--space-1) var(--space-2);
797
+ border-radius: var(--border-radius-pill);
798
+ margin-bottom: var(--space-3);
799
+ box-shadow: var(--shadow-sm);
800
+ }
801
+
802
+ .u-style-b94f9d,
803
+ .u-style-486a44 {
804
+ font-size: var(--base-font-size);
805
+ font-weight: 600;
806
+ letter-spacing: 0.05em;
807
+ color: var(--text-color);
808
+ text-transform: uppercase;
809
+ }
810
+
811
+ .u-style-7f7d6d {
812
+ color: var(--text-muted);
813
+ line-height: 1.6;
814
+ margin: 0;
815
+ font-size: 1.05rem;
816
+ }
817
+
818
+ .u-style-efd290 {
819
+ color: var(--text-muted);
820
+ line-height: 1.6;
821
+ margin: 0;
822
+ }
823
+
824
+ .u-style-5ab468 {
825
+ margin-top: auto;
826
+ }
827
+
828
+ .u-style-490bad,
829
+ .u-style-358aff {
830
+ color: var(--text-color);
831
+ line-height: 1.8;
832
+ margin: 0;
833
+ padding-left: var(--space-2);
834
+ display: flex;
835
+ flex-direction: column;
836
+ gap: var(--space-1);
837
+ }
838
+
839
+ .u-style-3010d8 {
840
+ color: var(--color-error);
841
+ }
842
+
843
+ .u-style-92147e,
844
+ .u-style-363cdb {
845
+ display: flex;
846
+ align-items: center;
847
+ justify-content: center;
848
+ gap: var(--space-1);
849
+ flex-wrap: wrap;
850
+ }
851
+
852
+ .u-style-fbce95 {
853
+ border-bottom: none;
854
+ }
855
+
856
+ .u-style-d37906 {
857
+ height: var(--space-2);
858
+ }
859
+
860
+ .u-style-59d8eb,
861
+ .u-style-315c1f {
862
+ font-size: var(--base-font-size);
863
+ width: var(--base-font-size);
864
+ height: var(--base-font-size);
865
+ }
866
+
867
+ .u-style-315c1f {
868
+ color: var(--text-muted);
869
+ }
870
+
871
+ .u-style-69556e,
872
+ .u-style-e3ae3d {
873
+ display: flex;
874
+ flex-direction: row;
875
+ align-items: center;
876
+ gap: var(--space-1);
877
+ justify-content: center;
878
+ flex-wrap: wrap;
879
+ }
880
+
881
+ .u-style-685a53 {
882
+ width: 100%;
883
+ padding: var(--space-1);
884
+ border-radius: var(--border-radius-sm);
885
+ background: var(--viking-surface);
886
+ color: var(--text-color);
887
+ border: 1px solid var(--border);
888
+ }
889
+
890
+ .u-style-8f2b4f {
891
+ vertical-align: middle;
892
+ margin-right: var(--space-1);
893
+ }
894
+
895
+ .u-style-224b51 {
896
+ display: none;
897
+ }
898
+
899
+ .u-style-315505 {
900
+ margin-bottom: var(--space-3);
901
+ display: flex;
902
+ flex-direction: column;
903
+ gap: var(--space-2);
904
+ border: 1px solid var(--color-primary);
905
+ background: color-mix(in srgb, var(--color-primary) 5%, transparent);
906
+ padding: var(--space-2);
907
+ border-radius: var(--border-radius-md);
908
+ }
909
+
910
+ .u-style-0f195f {
911
+ display: flex;
912
+ align-items: flex-start;
913
+ gap: var(--space-2);
914
+ }
915
+
916
+ .u-style-6784e6 {
917
+ color: var(--color-primary);
918
+ font-size: var(--space-3);
919
+ width: var(--space-3);
920
+ height: var(--space-3);
921
+ }
922
+
923
+ .u-style-04b067 {
924
+ color: var(--text-color);
925
+ }
926
+
927
+ .u-style-39bd7e {
928
+ color: var(--text-muted);
929
+ display: block;
930
+ margin-top: var(--space-1);
931
+ }
932
+
933
+ .u-style-197c13 {
934
+ border-top: 1px solid var(--border);
935
+ padding-top: var(--space-2);
936
+ }
937
+
938
+ .u-style-4d9a87 {
939
+ margin: 0 0 var(--space-2) 0;
940
+ color: var(--text-color);
941
+ font-size: 1.1rem;
942
+ font-weight: 600;
943
+ }
944
+
945
+ .u-style-bb5495 {
946
+ display: flex;
947
+ flex-direction: column;
948
+ gap: var(--space-2);
949
+ }
950
+
951
+ .u-style-eb2b00 {
952
+ display: flex;
953
+ gap: var(--space-2);
954
+ flex-wrap: wrap;
955
+ }
956
+
957
+ .u-style-a7e5d2 {
958
+ flex: 1;
959
+ min-width: 200px;
960
+ }
961
+
962
+ .u-style-a1ae42 {
963
+ align-self: flex-start;
964
+ }
965
+
966
+ .mode-tag,
967
+ .logs-title,
968
+ .section-tag,
969
+ .hud-subtitle,
970
+ .hud-select,
971
+ .stat-unit,
972
+ .chart-custom-title,
973
+ .chart-custom-trend {
974
+ font-size: max(16px, var(--base-font-size, 16px));
975
+ }
976
+
977
+ .viking-button-group {
978
+ display: inline-flex;
979
+ border-radius: var(--viking-radius, var(--border-radius-md, 8px));
980
+ overflow: hidden;
981
+ border: 1px solid var(--viking-border, var(--border));
982
+ }
983
+ .viking-button-group > .viking-btn,
984
+ .viking-button-group > button,
985
+ .viking-button-group > a {
986
+ border-radius: 0;
987
+ border-right: 1px solid var(--viking-border, var(--border));
988
+ margin: 0;
989
+ }
990
+ .viking-button-group > .viking-btn:last-child,
991
+ .viking-button-group > button:last-child,
992
+ .viking-button-group > a:last-child {
993
+ border-right: none;
994
+ }
995
+ .viking-button-group > .viking-btn:hover:not(:disabled),
996
+ .viking-button-group > button:hover:not(:disabled),
997
+ .viking-button-group > a:hover:not(:disabled) {
998
+ z-index: 1;
999
+ }
1000
+
1001
+ .viking-field {
1002
+ display: block;
1003
+ width: 100%;
1004
+ }
1005
+
1006
+ .viking-field-label {
1007
+ display: block;
1008
+ font-size: max(16px, var(--base-font-size));
1009
+ font-weight: 500;
1010
+ color: var(--text-color);
1011
+ margin-bottom: var(--space-1);
1012
+ }
1013
+
1014
+ .viking-field-description {
1015
+ display: block;
1016
+ font-size: 1rem;
1017
+ color: var(--text-muted);
1018
+ margin-bottom: var(--space-1);
1019
+ }
1020
+
1021
+ .viking-input-group {
1022
+ display: flex;
1023
+ width: 100%;
1024
+ align-items: stretch;
1025
+ }
1026
+ .viking-input-group input,
1027
+ .viking-input-group select,
1028
+ .viking-input-group button,
1029
+ .viking-input-group .viking-btn {
1030
+ border-radius: 0;
1031
+ }
1032
+ .viking-input-group > :first-child {
1033
+ border-top-left-radius: var(--border-radius-md);
1034
+ border-bottom-left-radius: var(--border-radius-md);
1035
+ }
1036
+ .viking-input-group > :last-child {
1037
+ border-top-right-radius: var(--border-radius-md);
1038
+ border-bottom-right-radius: var(--border-radius-md);
1039
+ }
1040
+ .viking-input-group > * + * {
1041
+ margin-left: -1px;
1042
+ }
1043
+
1044
+ .viking-input-prefix,
1045
+ .viking-input-suffix {
1046
+ display: inline-flex;
1047
+ align-items: center;
1048
+ padding: 0 var(--space-2);
1049
+ background-color: var(--color-surface-variant);
1050
+ color: var(--text-muted);
1051
+ font-size: max(16px, var(--base-font-size));
1052
+ border: 1px solid var(--border);
1053
+ white-space: nowrap;
1054
+ user-select: none;
1055
+ }
1056
+
1057
+ .viking-input-affix-btn {
1058
+ display: inline-flex;
1059
+ align-items: center;
1060
+ justify-content: center;
1061
+ padding: 0 var(--space-2);
1062
+ background: transparent;
1063
+ color: var(--text-muted);
1064
+ border: 1px solid var(--border);
1065
+ cursor: pointer;
1066
+ transition: var(--transition-smooth);
1067
+ }
1068
+ .viking-input-affix-btn:hover:not(:disabled) {
1069
+ color: var(--text-color);
1070
+ background-color: color-mix(in srgb, var(--hover-color) 12%, transparent);
1071
+ }
1072
+
1073
+ .viking-input {
1074
+ width: 100%;
1075
+ background-color: var(--card-bg);
1076
+ color: var(--text-color);
1077
+ border: 1px solid var(--border);
1078
+ border-radius: var(--border-radius-md);
1079
+ padding: var(--space-1) var(--space-2);
1080
+ font-size: max(16px, var(--base-font-size));
1081
+ font-family: var(--viking-font-family);
1082
+ line-height: 1.4;
1083
+ min-height: 44px;
1084
+ transition: border-color 0.2s ease, box-shadow 0.2s ease;
1085
+ }
1086
+ .viking-input::placeholder {
1087
+ color: var(--text-muted);
1088
+ opacity: 0.8;
1089
+ }
1090
+ .viking-input:hover {
1091
+ border-color: var(--color-primary-container);
1092
+ }
1093
+ .viking-input:focus, .viking-input:focus-visible {
1094
+ outline: none;
1095
+ border-color: var(--color-primary-container);
1096
+ box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-primary-container) 35%, transparent);
1097
+ }
1098
+ .viking-input:disabled {
1099
+ opacity: 0.6;
1100
+ cursor: not-allowed;
1101
+ }
1102
+
1103
+ .viking-select-trigger {
1104
+ background-color: var(--card-bg);
1105
+ color: var(--text-color);
1106
+ border: 1px solid var(--border);
1107
+ border-radius: var(--border-radius-md);
1108
+ padding: var(--space-1) var(--space-2);
1109
+ font-size: max(16px, var(--base-font-size));
1110
+ min-height: 44px;
1111
+ display: flex;
1112
+ align-items: center;
1113
+ justify-content: space-between;
1114
+ cursor: pointer;
1115
+ }
1116
+ .viking-select-trigger:hover {
1117
+ border-color: var(--color-primary-container);
1118
+ }
1119
+ .viking-select-trigger:focus-visible {
1120
+ outline: var(--focus-ring-width) solid var(--focus-ring-color);
1121
+ outline-offset: var(--focus-ring-offset);
1122
+ }
1123
+
1124
+ .viking-select-dropdown {
1125
+ background-color: var(--card-bg);
1126
+ border: 1px solid var(--border);
1127
+ border-radius: var(--border-radius-md);
1128
+ box-shadow: var(--shadow-md);
1129
+ max-height: 15rem;
1130
+ overflow-y: auto;
1131
+ }
1132
+
1133
+ .viking-select-option {
1134
+ padding: var(--space-1) var(--space-2);
1135
+ color: var(--text-color);
1136
+ cursor: pointer;
1137
+ }
1138
+ .viking-select-option:hover {
1139
+ background-color: color-mix(in srgb, var(--hover-color) 18%, transparent);
1140
+ }
1141
+ .viking-select-option.selected, .viking-select-option[aria-selected=true] {
1142
+ background-color: var(--color-primary-container);
1143
+ color: var(--color-on-primary-container);
1144
+ font-weight: 600;
1145
+ }