@vobs/ui 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/LICENSE +21 -0
  2. package/dist/app-shell-dom.d.ts +24 -0
  3. package/dist/app-shell-dom.js +573 -0
  4. package/dist/app-shell.d.ts +199 -0
  5. package/dist/app-shell.js +370 -0
  6. package/dist/base.css +52 -0
  7. package/dist/calendar-picker.d.ts +45 -0
  8. package/dist/calendar-picker.js +217 -0
  9. package/dist/calendar.d.ts +95 -0
  10. package/dist/calendar.js +194 -0
  11. package/dist/complex-inputs.d.ts +300 -0
  12. package/dist/complex-inputs.js +862 -0
  13. package/dist/components.css +4568 -0
  14. package/dist/data-display.d.ts +1063 -0
  15. package/dist/data-display.js +2298 -0
  16. package/dist/feedback.d.ts +88 -0
  17. package/dist/feedback.js +281 -0
  18. package/dist/forms.d.ts +378 -0
  19. package/dist/forms.js +1015 -0
  20. package/dist/icons-config.d.ts +25 -0
  21. package/dist/icons-config.js +14 -0
  22. package/dist/icons.d.ts +41 -0
  23. package/dist/icons.js +185 -0
  24. package/dist/index.d.ts +22 -0
  25. package/dist/index.js +32 -0
  26. package/dist/locale/en-US.d.ts +31 -0
  27. package/dist/locale/en-US.js +20 -0
  28. package/dist/locale/zh-CN.d.ts +31 -0
  29. package/dist/locale/zh-CN.js +20 -0
  30. package/dist/navigation.d.ts +609 -0
  31. package/dist/navigation.js +1707 -0
  32. package/dist/overlay.d.ts +304 -0
  33. package/dist/overlay.js +969 -0
  34. package/dist/primitives.d.ts +268 -0
  35. package/dist/primitives.js +764 -0
  36. package/dist/styles.css +3 -0
  37. package/dist/theme-data.d.ts +363 -0
  38. package/dist/theme-data.js +374 -0
  39. package/dist/theme.d.ts +79 -0
  40. package/dist/theme.js +262 -0
  41. package/dist/tokens.css +449 -0
  42. package/dist/tree.d.ts +144 -0
  43. package/dist/tree.js +469 -0
  44. package/dist/virtual-list.d.ts +190 -0
  45. package/dist/virtual-list.js +521 -0
  46. package/dist/workbench.d.ts +136 -0
  47. package/dist/workbench.js +156 -0
  48. package/package.json +113 -0
@@ -0,0 +1,4568 @@
1
+ @layer vobs.components {
2
+ :where(.kui-dashboard-layout) {
3
+ min-height: 100vh;
4
+ display: grid;
5
+ grid-template-rows: auto minmax(0, 1fr);
6
+ background: var(--bg-base-default);
7
+ color: var(--text-default);
8
+ }
9
+
10
+ :where(.kui-auth-layout) {
11
+ min-height: 100vh;
12
+ display: grid;
13
+ place-items: center;
14
+ padding: var(--spacer-24);
15
+ background: var(--bg-base-default);
16
+ }
17
+
18
+ :where(.kui-page-frame) {
19
+ min-height: 0;
20
+ display: grid;
21
+ grid-template-rows: auto auto minmax(0, 1fr);
22
+ gap: var(--spacer-12);
23
+ }
24
+
25
+ :where(.kui-page-header, .kui-page-toolbar) {
26
+ min-width: 0;
27
+ display: flex;
28
+ align-items: center;
29
+ justify-content: space-between;
30
+ gap: var(--spacer-12);
31
+ }
32
+
33
+ :where(.kui-product-page-header) {
34
+ min-width: 0;
35
+ display: grid;
36
+ gap: var(--spacer-8);
37
+ padding: var(--spacer-12);
38
+ background: var(--bg-base-secondary);
39
+ border: 1px solid var(--border-neutral-l1);
40
+ border-radius: var(--radius-8);
41
+ }
42
+
43
+ :where(.kui-page-header-breadcrumb) {
44
+ min-width: 0;
45
+ display: flex;
46
+ align-items: center;
47
+ gap: var(--spacer-6);
48
+ }
49
+
50
+ :where(.kui-page-header-content) {
51
+ min-width: 0;
52
+ display: grid;
53
+ gap: var(--spacer-4);
54
+ }
55
+
56
+ :where(.kui-page-header-title) {
57
+ margin: 0;
58
+ color: var(--text-default);
59
+ font-size: var(--heading-lg-font-size);
60
+ line-height: var(--heading-lg-line-height);
61
+ }
62
+
63
+ :where(.kui-page-header-subtitle) {
64
+ margin: 0;
65
+ color: var(--text-secondary);
66
+ font-size: var(--body-sm-font-size);
67
+ line-height: var(--body-sm-line-height);
68
+ }
69
+
70
+ :where(.kui-page-header-actions) {
71
+ min-width: 0;
72
+ display: flex;
73
+ flex-wrap: wrap;
74
+ justify-content: flex-end;
75
+ gap: var(--spacer-8);
76
+ }
77
+
78
+ :where(.kui-page-header-tabs) {
79
+ min-width: 0;
80
+ display: flex;
81
+ flex-wrap: wrap;
82
+ gap: var(--spacer-6);
83
+ color: var(--text-secondary);
84
+ font-size: var(--body-sm-font-size);
85
+ }
86
+
87
+ :where(.kui-page-header-action) {
88
+ min-height: 28px;
89
+ display: inline-flex;
90
+ align-items: center;
91
+ padding-inline: var(--spacer-8);
92
+ color: var(--text-secondary);
93
+ background: var(--bg-base-tertiary);
94
+ border: 1px solid var(--border-neutral-l2);
95
+ border-radius: var(--radius-6);
96
+ }
97
+
98
+ :where(.kui-page-header-action[data-tone='primary']) {
99
+ color: var(--text-onbrand);
100
+ background: var(--bg-brand);
101
+ border-color: var(--border-brand);
102
+ }
103
+
104
+ :where(.kui-page-toolbar) {
105
+ overflow: hidden;
106
+ }
107
+
108
+ :where(.kui-page-body) {
109
+ min-height: 0;
110
+ }
111
+
112
+ :where(.kui-page-body[data-mode='contained']) {
113
+ overflow: hidden;
114
+ }
115
+
116
+ :where(.kui-page-body[data-mode='scroll']) {
117
+ overflow: auto;
118
+ }
119
+
120
+ :where(.kui-app-shell) {
121
+ --kui-shell-sidebar-width: 220px;
122
+ --kui-shell-sidebar-collapsed-width: 48px;
123
+ height: 100vh;
124
+ min-height: 100vh;
125
+ display: grid;
126
+ grid-template-columns: var(--kui-shell-sidebar-width) minmax(0, 1fr);
127
+ grid-template-rows: minmax(0, 1fr);
128
+ color: var(--text-default);
129
+ background: var(--bg-base-default);
130
+ overflow: hidden;
131
+ }
132
+
133
+ :where(.kui-app-shell[data-sidebar-mode='collapsed']) {
134
+ grid-template-columns: var(--kui-shell-sidebar-collapsed-width) minmax(0, 1fr);
135
+ }
136
+
137
+ :where(.kui-app-shell[data-sidebar-mode='hidden']) {
138
+ grid-template-columns: minmax(0, 1fr);
139
+ }
140
+
141
+ :where(.kui-app-shell-sidebar) {
142
+ min-width: 0;
143
+ min-height: 0;
144
+ display: grid;
145
+ grid-template-rows: auto minmax(0, 1fr) auto;
146
+ gap: var(--spacer-8);
147
+ padding: var(--spacer-8);
148
+ overflow: hidden;
149
+ background: var(--bg-base-secondary);
150
+ border-inline-end: 1px solid var(--border-neutral-l1);
151
+ }
152
+
153
+ :where(.kui-app-shell-sidebar[data-sidebar-mode='hidden']) {
154
+ display: none;
155
+ }
156
+
157
+ :where(.kui-app-shell-brand) {
158
+ min-height: 32px;
159
+ display: flex;
160
+ align-items: center;
161
+ gap: var(--spacer-8);
162
+ padding: 0 var(--spacer-8);
163
+ color: var(--text-default);
164
+ border-radius: var(--radius-6);
165
+ font-weight: var(--font-weight-semibold);
166
+ text-decoration: none;
167
+ }
168
+
169
+ :where(.kui-app-shell-brand-mark) {
170
+ width: 12px;
171
+ height: 12px;
172
+ display: inline-block;
173
+ background: var(--bg-brand);
174
+ border-radius: var(--radius-4);
175
+ box-shadow: 0 0 18px rgba(50, 240, 140, 0.4);
176
+ }
177
+
178
+ :where(.kui-app-shell-brand-name) {
179
+ min-width: 0;
180
+ overflow: hidden;
181
+ text-overflow: ellipsis;
182
+ white-space: nowrap;
183
+ }
184
+
185
+ :where(.kui-app-shell-brand:empty)::before {
186
+ width: 12px;
187
+ height: 12px;
188
+ display: inline-block;
189
+ content: '';
190
+ background: var(--bg-brand);
191
+ border-radius: var(--radius-4);
192
+ box-shadow: 0 0 18px rgba(50, 240, 140, 0.4);
193
+ }
194
+
195
+ :where(.kui-app-shell-brand:empty)::after {
196
+ min-width: 0;
197
+ overflow: hidden;
198
+ content: attr(data-label);
199
+ text-overflow: ellipsis;
200
+ white-space: nowrap;
201
+ }
202
+
203
+ :where(.kui-app-shell[data-sidebar-mode='collapsed'] .kui-app-shell-brand-name) {
204
+ display: none;
205
+ }
206
+
207
+ :where(.kui-app-shell-nav, .kui-app-shell-utility-nav) {
208
+ min-height: 0;
209
+ display: grid;
210
+ align-content: start;
211
+ gap: var(--spacer-4);
212
+ overflow: auto;
213
+ }
214
+
215
+ :where(.kui-app-shell-nav-item) {
216
+ position: relative;
217
+ min-height: 32px;
218
+ display: grid;
219
+ grid-template-columns: auto minmax(0, 1fr) auto;
220
+ align-items: center;
221
+ gap: var(--spacer-8);
222
+ padding: 0 var(--spacer-8);
223
+ color: var(--text-secondary);
224
+ border-radius: var(--radius-6);
225
+ text-decoration: none;
226
+ }
227
+
228
+ :where(.kui-app-shell-nav-item-icon) {
229
+ width: 18px;
230
+ height: 18px;
231
+ display: inline-flex;
232
+ align-items: center;
233
+ justify-content: center;
234
+ }
235
+
236
+ :where(.kui-app-shell-nav-item-label) {
237
+ min-width: 0;
238
+ overflow: hidden;
239
+ text-overflow: ellipsis;
240
+ white-space: nowrap;
241
+ }
242
+
243
+ :where(.kui-app-shell-nav-item:empty)::before {
244
+ min-width: 0;
245
+ overflow: hidden;
246
+ content: attr(data-label);
247
+ text-overflow: ellipsis;
248
+ white-space: nowrap;
249
+ }
250
+
251
+ :where(.kui-app-shell[data-sidebar-mode='collapsed'] .kui-app-shell-nav-item-label) {
252
+ display: none;
253
+ }
254
+
255
+ :where(.kui-app-shell[data-sidebar-mode='collapsed'] .kui-app-shell-nav-item:empty)::before {
256
+ text-align: center;
257
+ }
258
+
259
+ :where(.kui-app-shell-nav-item:hover) {
260
+ color: var(--text-default-hover);
261
+ background: var(--bg-overlay-l2);
262
+ }
263
+
264
+ :where(.kui-app-shell-nav-item[data-state='active']) {
265
+ color: var(--text-default);
266
+ background: var(--bg-overlay-l3);
267
+ }
268
+
269
+ :where(.kui-app-shell-nav-item[data-state='active'])::after {
270
+ position: absolute;
271
+ inset-block-start: 50%;
272
+ inset-inline-start: calc(var(--spacer-8) * -1);
273
+ width: 3px;
274
+ height: 20px;
275
+ content: '';
276
+ background: var(--bg-brand);
277
+ border-radius: var(--radius-full);
278
+ transform: translateY(-50%);
279
+ }
280
+
281
+ :where(.kui-app-shell-nav-item[data-tone='danger']) {
282
+ color: var(--status-error-default);
283
+ }
284
+
285
+ :where(.kui-app-shell-nav-badge) {
286
+ min-width: 20px;
287
+ min-height: 20px;
288
+ display: inline-flex;
289
+ align-items: center;
290
+ justify-content: center;
291
+ padding-inline: var(--spacer-6);
292
+ color: var(--text-onbrand);
293
+ background: var(--bg-brand);
294
+ border-radius: var(--radius-full);
295
+ font-size: var(--body-sm-font-size);
296
+ }
297
+
298
+ :where(.kui-app-shell-nav-badge)::before {
299
+ content: attr(data-value);
300
+ }
301
+
302
+ :where(.kui-app-shell-topbar-actions) {
303
+ min-width: 0;
304
+ display: flex;
305
+ align-items: center;
306
+ justify-content: flex-end;
307
+ gap: var(--spacer-8);
308
+ }
309
+
310
+ :where(.kui-app-shell-icon-button, .kui-app-shell-account-button) {
311
+ height: 28px;
312
+ border: 1px solid transparent;
313
+ color: var(--text-default);
314
+ background: transparent;
315
+ border-radius: var(--radius-6);
316
+ }
317
+
318
+ :where(.kui-app-shell-icon-button) {
319
+ position: relative;
320
+ width: 28px;
321
+ display: inline-grid;
322
+ place-items: center;
323
+ padding: 0;
324
+ }
325
+
326
+ :where(.kui-app-shell-icon-button:hover, .kui-app-shell-account-button:hover) {
327
+ color: var(--text-default-hover);
328
+ background: var(--bg-overlay-l2);
329
+ }
330
+
331
+ :where(.kui-app-shell-icon-button[data-state='pressed']) {
332
+ color: var(--text-brand);
333
+ background: var(--bg-overlay-l2);
334
+ border-color: transparent;
335
+ }
336
+
337
+ :where(.kui-app-shell-icon-button[data-action-id='theme'][data-theme-mode='light']) {
338
+ color: var(--status-warning-default);
339
+ }
340
+
341
+ :where(.kui-app-shell-icon-button[data-action-id='theme'][data-theme-mode='dark']) {
342
+ color: var(--text-brand);
343
+ background: var(--bg-overlay-l2);
344
+ border-color: transparent;
345
+ }
346
+
347
+ :where(.kui-app-shell-icon-button[data-action-id='accent'])::after {
348
+ position: absolute;
349
+ inset-block-end: 3px;
350
+ inset-inline-end: 3px;
351
+ width: 8px;
352
+ height: 8px;
353
+ content: '';
354
+ background: var(--kui-app-shell-current-brand, var(--bg-brand));
355
+ border: 1px solid var(--bg-base-default);
356
+ border-radius: var(--radius-full);
357
+ }
358
+
359
+ :where(.kui-app-shell-icon) {
360
+ width: 16px;
361
+ height: 16px;
362
+ display: block;
363
+ flex: none;
364
+ }
365
+
366
+ :where(.kui-app-shell-icon-button-badge) {
367
+ position: absolute;
368
+ inset-block-start: -6px;
369
+ inset-inline-end: -6px;
370
+ min-width: 17px;
371
+ height: 17px;
372
+ display: grid;
373
+ place-items: center;
374
+ padding: 0 4px;
375
+ color: var(--text-onbrand);
376
+ background: var(--bg-brand);
377
+ border-radius: var(--radius-full);
378
+ font-size: var(--body-xs-font-size);
379
+ font-weight: var(--font-weight-semibold);
380
+ }
381
+
382
+ :where(.kui-app-shell-account-button) {
383
+ display: inline-flex;
384
+ align-items: center;
385
+ gap: var(--spacer-6);
386
+ max-width: 168px;
387
+ padding: 0 var(--spacer-8) 0 var(--spacer-4);
388
+ }
389
+
390
+ :where(.kui-app-shell-avatar) {
391
+ width: 20px;
392
+ height: 20px;
393
+ display: inline-grid;
394
+ place-items: center;
395
+ color: var(--text-brand);
396
+ background: var(--bg-brand-popup);
397
+ border-radius: var(--radius-full);
398
+ }
399
+
400
+ :where(.kui-app-shell-user-name) {
401
+ overflow: hidden;
402
+ text-overflow: ellipsis;
403
+ white-space: nowrap;
404
+ }
405
+
406
+ :where(.kui-app-shell-account) {
407
+ position: relative;
408
+ display: inline-flex;
409
+ }
410
+
411
+ :where(.kui-app-shell-account-button[data-state='open']) {
412
+ color: var(--text-default-hover);
413
+ background: var(--bg-overlay-l2);
414
+ }
415
+
416
+ :where(.kui-app-shell-account-menu) {
417
+ position: absolute;
418
+ inset-block-start: calc(100% + var(--spacer-6));
419
+ inset-inline-end: 0;
420
+ z-index: var(--z-index-dropdown);
421
+ min-width: 188px;
422
+ padding: var(--spacer-4);
423
+ color: var(--text-default);
424
+ background: var(--bg-menu);
425
+ border: 1px solid var(--border-neutral-l2);
426
+ border-radius: var(--radius-8);
427
+ box-shadow: 0 16px 40px rgba(0, 0, 0, 0.32);
428
+ }
429
+
430
+ :where(.kui-app-shell-account-menu[hidden]) {
431
+ display: none;
432
+ }
433
+
434
+ :where(.kui-app-shell-account-menu-header) {
435
+ min-width: 0;
436
+ display: grid;
437
+ grid-template-columns: auto minmax(0, 1fr);
438
+ align-items: center;
439
+ gap: var(--spacer-8);
440
+ min-height: 32px;
441
+ padding: 0 var(--spacer-8);
442
+ color: var(--text-secondary);
443
+ border-bottom: 1px solid var(--border-neutral-l1);
444
+ margin-block-end: var(--spacer-4);
445
+ }
446
+
447
+ :where(.kui-app-shell-account-menu-label) {
448
+ overflow: hidden;
449
+ font-size: var(--body-sm-font-size);
450
+ line-height: var(--body-sm-line-height);
451
+ text-overflow: ellipsis;
452
+ white-space: nowrap;
453
+ }
454
+
455
+ :where(.kui-app-shell-account-menu-item) {
456
+ width: 100%;
457
+ min-height: 30px;
458
+ display: grid;
459
+ grid-template-columns: auto minmax(0, 1fr);
460
+ align-items: center;
461
+ gap: var(--spacer-8);
462
+ padding: 0 var(--spacer-8);
463
+ color: var(--text-default);
464
+ background: transparent;
465
+ border: 0;
466
+ border-radius: var(--radius-4);
467
+ text-align: start;
468
+ text-decoration: none;
469
+ }
470
+
471
+ :where(.kui-app-shell-account-menu-item:hover) {
472
+ color: var(--text-default-hover);
473
+ background: var(--bg-overlay-l2);
474
+ }
475
+
476
+ :where(.kui-app-shell-account-menu-item[aria-disabled='true']) {
477
+ opacity: 0.48;
478
+ pointer-events: none;
479
+ }
480
+
481
+ :where(.kui-app-shell-account-menu-item--danger) {
482
+ color: var(--status-error-default);
483
+ }
484
+
485
+ :where(.kui-app-shell-account-menu-item-label) {
486
+ overflow: hidden;
487
+ font-size: var(--body-sm-font-size);
488
+ line-height: var(--body-sm-line-height);
489
+ text-overflow: ellipsis;
490
+ white-space: nowrap;
491
+ }
492
+
493
+ :where(.kui-app-shell-account-menu-separator) {
494
+ height: 1px;
495
+ margin: var(--spacer-4) 0;
496
+ background: var(--border-neutral-l1);
497
+ }
498
+
499
+ :where(.kui-app-shell-main) {
500
+ min-width: 0;
501
+ min-height: 0;
502
+ display: grid;
503
+ grid-template-rows: auto minmax(0, 1fr);
504
+ overflow: hidden;
505
+ }
506
+
507
+ :where(.kui-app-shell-topbar) {
508
+ min-width: 0;
509
+ min-height: 40px;
510
+ display: flex;
511
+ align-items: center;
512
+ justify-content: space-between;
513
+ gap: var(--spacer-8);
514
+ padding: 0 var(--spacer-12);
515
+ background: var(--bg-base-secondary);
516
+ border-bottom: 1px solid var(--border-neutral-l1);
517
+ }
518
+
519
+ :where(.kui-app-shell-command-trigger) {
520
+ min-height: 28px;
521
+ min-width: min(320px, 42vw);
522
+ display: inline-flex;
523
+ align-items: center;
524
+ justify-content: space-between;
525
+ gap: var(--spacer-12);
526
+ padding: 0 var(--spacer-8);
527
+ color: var(--text-secondary);
528
+ background: var(--bg-base-secondary);
529
+ border: 1px solid var(--border-neutral-l2);
530
+ border-radius: var(--radius-6);
531
+ }
532
+
533
+ :where(.kui-app-shell-command-trigger)::before {
534
+ content: attr(data-label);
535
+ }
536
+
537
+ :where(.kui-app-shell-command-trigger)::after {
538
+ content: attr(data-shortcut);
539
+ color: var(--text-secondary);
540
+ font-family: var(--font-family-mono);
541
+ font-size: var(--body-sm-font-size);
542
+ }
543
+
544
+ :where(.kui-app-shell-action) {
545
+ min-height: 28px;
546
+ display: inline-flex;
547
+ align-items: center;
548
+ padding-inline: var(--spacer-8);
549
+ color: var(--text-secondary);
550
+ background: transparent;
551
+ border: 1px solid transparent;
552
+ border-radius: var(--radius-6);
553
+ }
554
+
555
+ :where(.kui-app-shell-action)::before {
556
+ content: attr(data-label);
557
+ }
558
+
559
+ :where(.kui-app-shell-action[data-state='pressed']) {
560
+ color: var(--text-brand);
561
+ background: var(--bg-overlay-l2);
562
+ border-color: transparent;
563
+ }
564
+
565
+ :where(.kui-app-shell-page-frame) {
566
+ min-width: 0;
567
+ min-height: 0;
568
+ display: grid;
569
+ grid-template-rows: auto auto minmax(0, 1fr);
570
+ gap: var(--spacer-8);
571
+ padding: var(--spacer-16);
572
+ overflow: hidden;
573
+ }
574
+
575
+ :where(.kui-app-shell-page-header, .kui-app-shell-page-toolbar) {
576
+ min-width: 0;
577
+ display: flex;
578
+ align-items: center;
579
+ justify-content: space-between;
580
+ gap: var(--spacer-12);
581
+ }
582
+
583
+ :where(.kui-app-shell-page-heading) {
584
+ min-width: 0;
585
+ display: grid;
586
+ gap: var(--spacer-4);
587
+ }
588
+
589
+ :where(.kui-app-shell-page-kicker) {
590
+ margin: 0;
591
+ color: var(--text-secondary);
592
+ font-size: var(--body-xs-font-size);
593
+ line-height: var(--body-xs-line-height);
594
+ font-weight: var(--font-weight-semibold);
595
+ letter-spacing: 0;
596
+ text-transform: uppercase;
597
+ }
598
+
599
+ :where(.kui-app-shell-page-title) {
600
+ margin: 0;
601
+ color: var(--text-default);
602
+ font-size: var(--heading-md-font-size);
603
+ line-height: var(--heading-md-line-height);
604
+ }
605
+
606
+ :where(.kui-app-shell-page-title:empty)::before {
607
+ content: attr(data-title);
608
+ }
609
+
610
+ :where(.kui-app-shell-page-subtitle) {
611
+ margin: 0;
612
+ color: var(--text-secondary);
613
+ font-size: var(--body-sm-font-size);
614
+ line-height: var(--body-sm-line-height);
615
+ }
616
+
617
+ :where(.kui-app-shell-page-subtitle:empty)::before {
618
+ content: attr(data-subtitle);
619
+ }
620
+
621
+ :where(.kui-app-shell-page-body) {
622
+ min-width: 0;
623
+ min-height: 0;
624
+ background: var(--bg-base-secondary);
625
+ border: 1px solid var(--border-neutral-l1);
626
+ border-radius: var(--radius-8);
627
+ }
628
+
629
+ :where(.kui-app-shell-page-body[data-mode='contained']) {
630
+ overflow: hidden;
631
+ }
632
+
633
+ :where(.kui-app-shell-page-body[data-mode='scroll']) {
634
+ overflow: auto;
635
+ }
636
+
637
+ :where(.kui-app-shell-statusbar) {
638
+ min-height: 24px;
639
+ display: flex;
640
+ align-items: center;
641
+ justify-content: space-between;
642
+ gap: var(--spacer-8);
643
+ padding-inline: var(--spacer-8);
644
+ color: var(--text-secondary);
645
+ background: var(--bg-base-secondary);
646
+ border-top: 1px solid var(--border-neutral-l1);
647
+ font-size: var(--body-xs-font-size);
648
+ line-height: var(--body-xs-line-height);
649
+ }
650
+
651
+ :where(.kui-app-shell-statusbar[data-state='pending']) {
652
+ color: var(--status-warning-default);
653
+ }
654
+
655
+ :where(.kui-app-shell-statusbar[data-state='pending'] .kui-app-shell-status-icon) {
656
+ color: var(--status-warning-default);
657
+ }
658
+
659
+ :where(.kui-app-shell-status, .kui-app-shell-status-icon) {
660
+ min-width: 0;
661
+ display: inline-flex;
662
+ align-items: center;
663
+ gap: var(--spacer-6);
664
+ }
665
+
666
+ :where(.kui-app-shell-status-text, .kui-app-shell-status-version) {
667
+ overflow: hidden;
668
+ text-overflow: ellipsis;
669
+ white-space: nowrap;
670
+ }
671
+
672
+ :where(.kui-form) {
673
+ display: grid;
674
+ gap: var(--spacer-16);
675
+ }
676
+
677
+ :where(.kui-form[data-state='submitting']) {
678
+ opacity: 0.72;
679
+ }
680
+
681
+ :where(.kui-form-field) {
682
+ display: grid;
683
+ gap: var(--spacer-6);
684
+ }
685
+
686
+ :where(.kui-form-label) {
687
+ font-weight: var(--font-weight-medium);
688
+ color: var(--text-default);
689
+ }
690
+
691
+ :where(.kui-form-description) {
692
+ margin: 0;
693
+ color: var(--text-secondary);
694
+ font-size: var(--body-sm-font-size);
695
+ line-height: var(--body-sm-line-height);
696
+ }
697
+
698
+ :where(.kui-form-error) {
699
+ margin: 0;
700
+ color: var(--status-error-default);
701
+ font-size: var(--body-sm-font-size);
702
+ line-height: var(--body-sm-line-height);
703
+ }
704
+
705
+ :where(.kui-slider) {
706
+ --kui-slider-start: 0%;
707
+ --kui-slider-end: 0%;
708
+ min-width: 0;
709
+ display: grid;
710
+ gap: var(--spacer-8);
711
+ color: var(--text-default);
712
+ }
713
+
714
+ :where(.kui-slider-track) {
715
+ position: relative;
716
+ height: 6px;
717
+ overflow: hidden;
718
+ background: var(--bg-base-tertiary);
719
+ border-radius: var(--radius-full);
720
+ }
721
+
722
+ :where(.kui-slider-range) {
723
+ position: absolute;
724
+ inset-block: 0;
725
+ inset-inline-start: var(--kui-slider-start);
726
+ width: calc(var(--kui-slider-end) - var(--kui-slider-start));
727
+ min-width: 6px;
728
+ background: var(--bg-brand);
729
+ border-radius: var(--radius-full);
730
+ }
731
+
732
+ :where(.kui-slider[data-mode='single'] .kui-slider-range) {
733
+ inset-inline-start: 0;
734
+ width: var(--kui-slider-end);
735
+ }
736
+
737
+ :where(.kui-slider-thumb) {
738
+ width: 100%;
739
+ min-height: 24px;
740
+ accent-color: var(--bg-brand);
741
+ }
742
+
743
+ :where(.kui-slider-mark) {
744
+ position: relative;
745
+ min-height: 16px;
746
+ color: var(--text-secondary);
747
+ font-size: var(--body-sm-font-size);
748
+ }
749
+
750
+ :where(.kui-slider-mark)::before {
751
+ position: absolute;
752
+ inset-inline-start: var(--kui-slider-mark);
753
+ content: attr(data-label);
754
+ transform: translateX(-50%);
755
+ }
756
+
757
+ :where(.kui-slider[data-orientation='vertical']) {
758
+ min-height: 180px;
759
+ grid-template-columns: auto minmax(0, 1fr);
760
+ align-items: stretch;
761
+ }
762
+
763
+ :where(.kui-slider[data-orientation='vertical'] .kui-slider-track) {
764
+ width: 6px;
765
+ height: 100%;
766
+ }
767
+
768
+ :where(.kui-segmented) {
769
+ min-width: 0;
770
+ display: inline-flex;
771
+ align-items: center;
772
+ gap: var(--spacer-2);
773
+ padding: var(--spacer-2);
774
+ background: var(--bg-base-tertiary);
775
+ border: 1px solid var(--border-neutral-l2);
776
+ border-radius: var(--radius-8);
777
+ }
778
+
779
+ :where(.kui-segmented[data-orientation='vertical']) {
780
+ display: inline-grid;
781
+ }
782
+
783
+ :where(.kui-segmented[data-segmented-wrap-state='wrapped']) {
784
+ flex-wrap: wrap;
785
+ }
786
+
787
+ :where(.kui-segmented-item) {
788
+ min-height: 30px;
789
+ display: inline-flex;
790
+ align-items: center;
791
+ justify-content: center;
792
+ gap: var(--spacer-6);
793
+ padding-inline: var(--spacer-8);
794
+ color: var(--text-secondary);
795
+ background: transparent;
796
+ border: 1px solid transparent;
797
+ border-radius: var(--radius-6);
798
+ }
799
+
800
+ :where(.kui-segmented-item[hidden]) {
801
+ display: none;
802
+ }
803
+
804
+ :where(.kui-segmented-item)::before {
805
+ content: attr(data-label);
806
+ }
807
+
808
+ :where(.kui-segmented-item[data-state='checked']) {
809
+ color: var(--text-onbrand);
810
+ background: var(--bg-brand);
811
+ border-color: var(--border-brand);
812
+ }
813
+
814
+ :where(.kui-segmented-icon) {
815
+ width: 12px;
816
+ height: 12px;
817
+ display: inline-block;
818
+ background: currentColor;
819
+ border-radius: var(--radius-4);
820
+ }
821
+
822
+ :where(.kui-radio-group, .kui-checkbox-group) {
823
+ min-width: 0;
824
+ display: grid;
825
+ gap: var(--spacer-8);
826
+ padding: var(--spacer-12);
827
+ color: var(--text-default);
828
+ background: var(--bg-base-secondary);
829
+ border: 1px solid var(--border-neutral-l1);
830
+ border-radius: var(--radius-8);
831
+ }
832
+
833
+ :where(
834
+ .kui-radio-group[data-orientation='horizontal'],
835
+ .kui-checkbox-group[data-orientation='horizontal']
836
+ ) {
837
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr));
838
+ }
839
+
840
+ :where(.kui-radio-group-legend, .kui-checkbox-group-legend) {
841
+ padding: 0;
842
+ color: var(--text-default);
843
+ font-weight: var(--font-weight-semibold);
844
+ }
845
+
846
+ :where(.kui-radio-group-legend)::before,
847
+ :where(.kui-checkbox-group-legend)::before {
848
+ content: attr(data-label);
849
+ }
850
+
851
+ :where(.kui-radio-group-option, .kui-checkbox-group-option) {
852
+ min-width: 0;
853
+ display: grid;
854
+ grid-template-columns: auto minmax(0, 1fr);
855
+ align-items: start;
856
+ gap: var(--spacer-8);
857
+ padding: var(--spacer-8);
858
+ color: var(--text-default);
859
+ background: var(--bg-base-tertiary);
860
+ border: 1px solid var(--border-neutral-l1);
861
+ border-radius: var(--radius-6);
862
+ }
863
+
864
+ :where(
865
+ .kui-radio-group-option[data-state='checked'],
866
+ .kui-checkbox-group-option[data-state='checked']
867
+ ) {
868
+ border-color: var(--border-brand);
869
+ box-shadow: inset 0 0 0 1px var(--border-brand);
870
+ }
871
+
872
+ :where(
873
+ .kui-radio-group-option[data-card-option='true'][data-selected-emphasis='true'],
874
+ .kui-checkbox-group-option[data-card-option='true'][data-selected-emphasis='true']
875
+ ) {
876
+ background: var(--bg-brand-popup);
877
+ }
878
+
879
+ :where(
880
+ .kui-radio-group-option[data-card-option='true'][data-disabled-emphasis='true'],
881
+ .kui-checkbox-group-option[data-card-option='true'][data-disabled-emphasis='true']
882
+ ) {
883
+ opacity: 0.56;
884
+ }
885
+
886
+ :where(.kui-radio-group-option)::after,
887
+ :where(.kui-checkbox-group-option)::after {
888
+ min-width: 0;
889
+ content: attr(data-label);
890
+ }
891
+
892
+ :where(.kui-radio-group-description, .kui-checkbox-group-description) {
893
+ grid-column: 2;
894
+ color: var(--text-secondary);
895
+ font-size: var(--body-sm-font-size);
896
+ line-height: var(--body-sm-line-height);
897
+ }
898
+
899
+ :where(.kui-radio-group-description)::before,
900
+ :where(.kui-checkbox-group-description)::before {
901
+ content: attr(data-description);
902
+ }
903
+
904
+ :where(.kui-error-summary) {
905
+ padding: var(--spacer-12);
906
+ color: var(--text-default);
907
+ background: var(--status-error-surface-l1);
908
+ border: 1px solid var(--status-error-default);
909
+ border-radius: var(--radius-6);
910
+ }
911
+
912
+ :where(.kui-error-summary-title) {
913
+ margin: 0 0 var(--spacer-8);
914
+ font-size: var(--heading-sm-font-size);
915
+ line-height: var(--heading-sm-line-height);
916
+ }
917
+
918
+ :where(.kui-overlay-root) {
919
+ position: fixed;
920
+ inset: 0;
921
+ z-index: var(--z-index-modal);
922
+ display: grid;
923
+ place-items: center;
924
+ pointer-events: none;
925
+ }
926
+
927
+ :where(.kui-overlay-backdrop) {
928
+ position: fixed;
929
+ inset: 0;
930
+ background: rgba(0, 0, 0, 0.48);
931
+ pointer-events: auto;
932
+ }
933
+
934
+ :where(.kui-dialog, .kui-popover, .kui-dropdown, .kui-tooltip) {
935
+ position: relative;
936
+ z-index: 1;
937
+ color: var(--text-default);
938
+ background: var(--bg-base-secondary);
939
+ border: 1px solid var(--border-neutral-l2);
940
+ border-radius: var(--radius-8);
941
+ box-shadow: 0 18px 48px rgba(0, 0, 0, 0.32);
942
+ pointer-events: auto;
943
+ }
944
+
945
+ :where(.kui-dialog) {
946
+ width: min(520px, calc(100vw - 32px));
947
+ max-height: calc(100vh - 32px);
948
+ padding: var(--spacer-16);
949
+ overflow: auto;
950
+ }
951
+
952
+ :where(.kui-dialog[data-size='sm']) {
953
+ width: min(420px, calc(100vw - 32px));
954
+ }
955
+
956
+ :where(.kui-dialog[data-size='lg']) {
957
+ width: min(720px, calc(100vw - 32px));
958
+ }
959
+
960
+ :where(.kui-dialog-header) {
961
+ min-width: 0;
962
+ display: grid;
963
+ grid-template-columns: minmax(0, 1fr) auto;
964
+ gap: var(--spacer-8);
965
+ align-items: start;
966
+ margin-block-end: var(--spacer-12);
967
+ }
968
+
969
+ :where(.kui-dialog-title, .kui-popover-title, .kui-popconfirm-title) {
970
+ margin: 0;
971
+ color: var(--text-default);
972
+ font-size: var(--heading-sm-font-size);
973
+ line-height: var(--heading-sm-line-height);
974
+ }
975
+
976
+ :where(.kui-dialog-description, .kui-popconfirm-description) {
977
+ margin: var(--spacer-4) 0 0;
978
+ color: var(--text-secondary);
979
+ font-size: var(--body-sm-font-size);
980
+ line-height: var(--body-sm-line-height);
981
+ }
982
+
983
+ :where(.kui-dialog-close) {
984
+ grid-column: 2;
985
+ grid-row: 1 / span 2;
986
+ }
987
+
988
+ :where(.kui-dialog-close)::before {
989
+ content: 'x';
990
+ }
991
+
992
+ :where(.kui-dialog-body, .kui-popover-body) {
993
+ min-width: 0;
994
+ color: var(--text-default);
995
+ }
996
+
997
+ :where(.kui-dialog-footer, .kui-popconfirm-footer) {
998
+ display: flex;
999
+ flex-wrap: wrap;
1000
+ justify-content: flex-end;
1001
+ gap: var(--spacer-8);
1002
+ margin-block-start: var(--spacer-16);
1003
+ }
1004
+
1005
+ :where(.kui-dialog-action--danger, .kui-popconfirm-confirm--danger) {
1006
+ color: var(--status-error-default);
1007
+ border-color: var(--status-error-default);
1008
+ }
1009
+
1010
+ :where(.kui-popover, .kui-dropdown, .kui-tooltip) {
1011
+ max-width: min(320px, calc(100vw - 24px));
1012
+ padding: var(--spacer-8);
1013
+ }
1014
+
1015
+ :where(.kui-popover, .kui-dropdown) {
1016
+ min-width: 220px;
1017
+ }
1018
+
1019
+ :where(.kui-popover-header, .kui-popover-footer) {
1020
+ padding-block: var(--spacer-4);
1021
+ }
1022
+
1023
+ :where(.kui-tooltip) {
1024
+ font-size: var(--body-sm-font-size);
1025
+ line-height: var(--body-sm-line-height);
1026
+ background: var(--bg-tooltip);
1027
+ }
1028
+
1029
+ :where(.kui-overlay-arrow) {
1030
+ position: absolute;
1031
+ width: 8px;
1032
+ height: 8px;
1033
+ z-index: -1;
1034
+ background: inherit;
1035
+ border: inherit;
1036
+ transform: rotate(45deg);
1037
+ }
1038
+
1039
+ :where(.kui-overlay-arrow[data-placement^='top']) {
1040
+ inset-block-end: -5px;
1041
+ inset-inline-start: var(--spacer-16);
1042
+ }
1043
+
1044
+ :where(.kui-overlay-arrow[data-placement^='bottom']) {
1045
+ inset-block-start: -5px;
1046
+ inset-inline-start: var(--spacer-16);
1047
+ }
1048
+
1049
+ :where(.kui-overlay-arrow[data-placement='left']) {
1050
+ inset-inline-end: -5px;
1051
+ inset-block-start: var(--spacer-12);
1052
+ }
1053
+
1054
+ :where(.kui-overlay-arrow[data-placement='right']) {
1055
+ inset-inline-start: -5px;
1056
+ inset-block-start: var(--spacer-12);
1057
+ }
1058
+
1059
+ :where(.kui-dropdown, .kui-context-menu) {
1060
+ padding: var(--spacer-4);
1061
+ }
1062
+
1063
+ :where(.kui-context-menu) {
1064
+ position: fixed;
1065
+ inset-block-start: var(--kui-context-menu-y, 50%);
1066
+ inset-inline-start: var(--kui-context-menu-x, 50%);
1067
+ }
1068
+
1069
+ :where(.kui-dropdown-item) {
1070
+ min-height: 32px;
1071
+ display: grid;
1072
+ grid-template-columns: minmax(0, 1fr) auto;
1073
+ align-items: center;
1074
+ gap: var(--spacer-8);
1075
+ padding: 0 var(--spacer-8);
1076
+ color: var(--text-default);
1077
+ border-radius: var(--radius-4);
1078
+ }
1079
+
1080
+ :where(.kui-dropdown-item)::before {
1081
+ min-width: 0;
1082
+ overflow: hidden;
1083
+ content: attr(data-label);
1084
+ text-overflow: ellipsis;
1085
+ white-space: nowrap;
1086
+ }
1087
+
1088
+ :where(.kui-dropdown-item[data-shortcut])::after {
1089
+ content: attr(data-shortcut);
1090
+ color: var(--text-secondary);
1091
+ font-family: var(--font-family-mono);
1092
+ font-size: var(--body-sm-font-size);
1093
+ }
1094
+
1095
+ :where(.kui-dropdown-item[data-kind='separator']) {
1096
+ min-height: 1px;
1097
+ padding: 0;
1098
+ margin-block: var(--spacer-4);
1099
+ background: var(--border-neutral-l1);
1100
+ }
1101
+
1102
+ :where(.kui-dropdown-item[data-kind='separator'])::before,
1103
+ :where(.kui-dropdown-item[data-kind='separator'])::after {
1104
+ content: none;
1105
+ }
1106
+
1107
+ :where(.kui-dropdown-item:hover, .kui-dropdown-item[data-state='active']) {
1108
+ color: var(--text-default-hover);
1109
+ background: var(--bg-overlay-l2);
1110
+ }
1111
+
1112
+ :where(.kui-dropdown-item[data-state='checked']) {
1113
+ color: var(--text-brand);
1114
+ }
1115
+
1116
+ :where(.kui-dropdown-item[data-state='checked'])::before {
1117
+ content: '[x] ' attr(data-label);
1118
+ }
1119
+
1120
+ :where(.kui-dropdown-item--danger) {
1121
+ color: var(--status-error-default);
1122
+ }
1123
+
1124
+ :where(.kui-popconfirm) {
1125
+ display: grid;
1126
+ gap: var(--spacer-8);
1127
+ }
1128
+
1129
+ :where(.kui-popconfirm[data-tone='danger']) {
1130
+ border-color: var(--status-error-default);
1131
+ }
1132
+
1133
+ :where(.kui-drawer) {
1134
+ position: fixed;
1135
+ inset-block: 0;
1136
+ width: min(360px, calc(100vw - 32px));
1137
+ max-height: none;
1138
+ border-radius: 0;
1139
+ }
1140
+
1141
+ :where(.kui-drawer--right) {
1142
+ right: 0;
1143
+ }
1144
+
1145
+ :where(.kui-drawer--left) {
1146
+ left: 0;
1147
+ }
1148
+
1149
+ :where(.kui-drawer--bottom) {
1150
+ inset-block-start: auto;
1151
+ inset-inline: 0;
1152
+ width: auto;
1153
+ height: min(60vh, 480px);
1154
+ }
1155
+
1156
+ :where(.kui-alert, .kui-message, .kui-toast) {
1157
+ padding: var(--spacer-12);
1158
+ color: var(--text-default);
1159
+ background: var(--bg-base-secondary);
1160
+ border: 1px solid var(--border-neutral-l2);
1161
+ border-radius: var(--radius-6);
1162
+ }
1163
+
1164
+ :where(.kui-alert, .kui-message, .kui-toast, .kui-notification) {
1165
+ min-width: 0;
1166
+ display: grid;
1167
+ grid-template-columns: auto minmax(0, 1fr) auto auto;
1168
+ align-items: start;
1169
+ gap: var(--spacer-8);
1170
+ }
1171
+
1172
+ :where(.kui-notification) {
1173
+ width: min(380px, calc(100vw - 32px));
1174
+ padding: var(--spacer-12);
1175
+ color: var(--text-default);
1176
+ background: var(--bg-base-secondary);
1177
+ border: 1px solid var(--border-neutral-l2);
1178
+ border-radius: var(--radius-8);
1179
+ box-shadow: 0 18px 48px rgba(0, 0, 0, 0.32);
1180
+ pointer-events: auto;
1181
+ }
1182
+
1183
+ :where(.kui-alert-icon, .kui-message-icon, .kui-toast-icon, .kui-notification-icon) {
1184
+ width: 18px;
1185
+ height: 18px;
1186
+ display: inline-grid;
1187
+ place-items: center;
1188
+ color: var(--text-secondary);
1189
+ }
1190
+
1191
+ :where(.kui-alert-icon, .kui-message-icon, .kui-toast-icon, .kui-notification-icon)::before {
1192
+ content: 'i';
1193
+ font-weight: var(--font-weight-semibold);
1194
+ }
1195
+
1196
+ :where(
1197
+ .kui-alert-icon[data-status='success'],
1198
+ .kui-message-icon[data-status='success'],
1199
+ .kui-toast-icon[data-status='success'],
1200
+ .kui-notification-icon[data-status='success']
1201
+ ) {
1202
+ color: var(--status-success-default);
1203
+ }
1204
+
1205
+ :where(
1206
+ .kui-alert-icon[data-status='warning'],
1207
+ .kui-message-icon[data-status='warning'],
1208
+ .kui-toast-icon[data-status='warning'],
1209
+ .kui-notification-icon[data-status='warning']
1210
+ ) {
1211
+ color: var(--status-warning-default);
1212
+ }
1213
+
1214
+ :where(
1215
+ .kui-alert-icon[data-status='error'],
1216
+ .kui-message-icon[data-status='error'],
1217
+ .kui-toast-icon[data-status='error'],
1218
+ .kui-notification-icon[data-status='error']
1219
+ ) {
1220
+ color: var(--status-error-default);
1221
+ }
1222
+
1223
+ :where(.kui-alert-content, .kui-message-content, .kui-toast-content, .kui-notification-content) {
1224
+ min-width: 0;
1225
+ display: grid;
1226
+ gap: var(--spacer-2);
1227
+ }
1228
+
1229
+ :where(.kui-alert-title, .kui-message-title, .kui-toast-title, .kui-notification-title) {
1230
+ min-width: 0;
1231
+ overflow: hidden;
1232
+ color: var(--text-default);
1233
+ text-overflow: ellipsis;
1234
+ white-space: nowrap;
1235
+ }
1236
+
1237
+ :where(
1238
+ .kui-alert-description,
1239
+ .kui-message-description,
1240
+ .kui-toast-description,
1241
+ .kui-notification-description
1242
+ ) {
1243
+ margin: 0;
1244
+ color: var(--text-secondary);
1245
+ font-size: var(--body-sm-font-size);
1246
+ line-height: var(--body-sm-line-height);
1247
+ }
1248
+
1249
+ :where(.kui-alert-close, .kui-message-close, .kui-toast-close, .kui-notification-close)::before {
1250
+ content: 'x';
1251
+ }
1252
+
1253
+ :where(.kui-alert-action, .kui-message-action, .kui-toast-action, .kui-notification-action) {
1254
+ white-space: nowrap;
1255
+ }
1256
+
1257
+ :where(
1258
+ .kui-alert[data-status='success'],
1259
+ .kui-message[data-status='success'],
1260
+ .kui-toast[data-status='success'],
1261
+ .kui-notification[data-status='success']
1262
+ ) {
1263
+ border-color: var(--status-success-default);
1264
+ background: var(--status-success-surface-l1);
1265
+ }
1266
+
1267
+ :where(
1268
+ .kui-alert[data-status='warning'],
1269
+ .kui-message[data-status='warning'],
1270
+ .kui-toast[data-status='warning'],
1271
+ .kui-notification[data-status='warning']
1272
+ ) {
1273
+ border-color: var(--status-warning-default);
1274
+ background: var(--status-warning-surface-l1);
1275
+ }
1276
+
1277
+ :where(
1278
+ .kui-alert[data-status='error'],
1279
+ .kui-message[data-status='error'],
1280
+ .kui-toast[data-status='error'],
1281
+ .kui-notification[data-status='error']
1282
+ ) {
1283
+ border-color: var(--status-error-default);
1284
+ background: var(--status-error-surface-l1);
1285
+ }
1286
+
1287
+ :where(.kui-toast-region) {
1288
+ position: fixed;
1289
+ z-index: var(--z-index-notification);
1290
+ display: grid;
1291
+ gap: var(--spacer-8);
1292
+ pointer-events: none;
1293
+ }
1294
+
1295
+ :where(.kui-toast-region[data-placement='top-end']) {
1296
+ top: var(--spacer-16);
1297
+ right: var(--spacer-16);
1298
+ }
1299
+
1300
+ :where(.kui-toast-region[data-placement='top-center']) {
1301
+ top: var(--spacer-16);
1302
+ left: 50%;
1303
+ transform: translateX(-50%);
1304
+ }
1305
+
1306
+ :where(.kui-toast-region[data-placement='bottom-end']) {
1307
+ right: var(--spacer-16);
1308
+ bottom: var(--spacer-16);
1309
+ }
1310
+
1311
+ :where(.kui-toast) {
1312
+ width: min(360px, calc(100vw - 32px));
1313
+ pointer-events: auto;
1314
+ }
1315
+
1316
+ :where(.kui-tabs) {
1317
+ display: flex;
1318
+ gap: var(--spacer-4);
1319
+ border-bottom: 1px solid var(--border-neutral-l1);
1320
+ }
1321
+
1322
+ :where(.kui-tab) {
1323
+ min-height: 32px;
1324
+ padding: 0 var(--spacer-12);
1325
+ color: var(--text-secondary);
1326
+ background: transparent;
1327
+ border: 0;
1328
+ border-bottom: 2px solid transparent;
1329
+ }
1330
+
1331
+ :where(.kui-tab[data-state='active']) {
1332
+ color: var(--text-default);
1333
+ border-bottom-color: var(--border-brand);
1334
+ }
1335
+
1336
+ :where(.kui-tabpanel) {
1337
+ min-width: 0;
1338
+ }
1339
+
1340
+ :where(.kui-breadcrumb-list) {
1341
+ display: flex;
1342
+ flex-wrap: wrap;
1343
+ gap: var(--spacer-6);
1344
+ padding: 0;
1345
+ margin: 0;
1346
+ list-style: none;
1347
+ }
1348
+
1349
+ :where(.kui-breadcrumb-item[data-state='current']) {
1350
+ color: var(--text-secondary);
1351
+ }
1352
+
1353
+ :where(.kui-menu) {
1354
+ min-width: 180px;
1355
+ display: grid;
1356
+ gap: var(--spacer-2);
1357
+ padding: var(--spacer-4);
1358
+ background: var(--bg-base-secondary);
1359
+ border: 1px solid var(--border-neutral-l2);
1360
+ border-radius: var(--radius-6);
1361
+ }
1362
+
1363
+ :where(.kui-menu-item) {
1364
+ min-height: 32px;
1365
+ display: grid;
1366
+ grid-template-columns: minmax(0, 1fr) auto auto;
1367
+ align-items: center;
1368
+ gap: var(--spacer-8);
1369
+ padding: 0 var(--spacer-8);
1370
+ color: var(--text-default);
1371
+ border-radius: var(--radius-4);
1372
+ }
1373
+
1374
+ :where(.kui-menu-item)::before,
1375
+ :where(.kui-menu-section)::before {
1376
+ min-width: 0;
1377
+ overflow: hidden;
1378
+ content: attr(data-label);
1379
+ text-overflow: ellipsis;
1380
+ white-space: nowrap;
1381
+ }
1382
+
1383
+ :where(.kui-menu-section) {
1384
+ min-height: 24px;
1385
+ display: flex;
1386
+ align-items: center;
1387
+ padding: var(--spacer-4) var(--spacer-8) 0;
1388
+ color: var(--text-secondary);
1389
+ font-size: var(--body-sm-font-size);
1390
+ line-height: var(--body-sm-line-height);
1391
+ }
1392
+
1393
+ :where(.kui-menu-item[data-shortcut])::after {
1394
+ content: attr(data-shortcut);
1395
+ color: var(--text-secondary);
1396
+ font-family: var(--font-family-mono);
1397
+ font-size: var(--body-sm-font-size);
1398
+ }
1399
+
1400
+ :where(.kui-menu-item[data-kind='submenu'])::after {
1401
+ content: '>';
1402
+ color: var(--icon-secondary);
1403
+ }
1404
+
1405
+ :where(.kui-menu-item[data-kind='checkbox'][aria-checked='true'])::before {
1406
+ content: '[x] ' attr(data-label);
1407
+ }
1408
+
1409
+ :where(.kui-menu-item[data-kind='radio'][aria-checked='true'])::before {
1410
+ content: '(*) ' attr(data-label);
1411
+ }
1412
+
1413
+ :where(.kui-menu-item[data-kind='separator']) {
1414
+ min-height: 1px;
1415
+ padding: 0;
1416
+ margin-block: var(--spacer-4);
1417
+ background: var(--border-neutral-l1);
1418
+ }
1419
+
1420
+ :where(.kui-menu-item[data-kind='separator'])::before,
1421
+ :where(.kui-menu-item[data-kind='separator'])::after {
1422
+ content: none;
1423
+ }
1424
+
1425
+ :where(.kui-menu-item[data-state='active']) {
1426
+ background: var(--bg-brand-popup);
1427
+ }
1428
+
1429
+ :where(.kui-menu-item[data-state='checked']) {
1430
+ color: var(--text-brand);
1431
+ }
1432
+
1433
+ :where(.kui-menu-item--danger) {
1434
+ color: var(--status-error-default);
1435
+ }
1436
+
1437
+ :where(.kui-menu-item-shortcut) {
1438
+ font-family: var(--font-family-mono);
1439
+ font-size: var(--body-sm-font-size);
1440
+ }
1441
+
1442
+ :where(.kui-drawer--sm) {
1443
+ width: min(320px, calc(100vw - 32px));
1444
+ }
1445
+
1446
+ :where(.kui-drawer--lg) {
1447
+ width: min(520px, calc(100vw - 32px));
1448
+ }
1449
+
1450
+ :where(.kui-drawer--full) {
1451
+ width: min(100vw, 960px);
1452
+ }
1453
+
1454
+ :where(.kui-drawer--bottom.kui-drawer--sm) {
1455
+ height: min(42vh, 320px);
1456
+ }
1457
+
1458
+ :where(.kui-drawer--bottom.kui-drawer--lg) {
1459
+ height: min(72vh, 640px);
1460
+ }
1461
+
1462
+ :where(.kui-drawer--bottom.kui-drawer--full) {
1463
+ height: min(100vh, 760px);
1464
+ }
1465
+
1466
+ :where(.kui-drawer[data-long-content='true'] .kui-dialog-body) {
1467
+ min-height: 0;
1468
+ overflow: auto;
1469
+ }
1470
+
1471
+ :where(.kui-steps) {
1472
+ min-width: 0;
1473
+ color: var(--text-default);
1474
+ }
1475
+
1476
+ :where(.kui-steps-list) {
1477
+ display: flex;
1478
+ gap: var(--spacer-12);
1479
+ padding: 0;
1480
+ margin: 0;
1481
+ list-style: none;
1482
+ }
1483
+
1484
+ :where(.kui-steps[data-orientation='vertical'] .kui-steps-list) {
1485
+ display: grid;
1486
+ gap: var(--spacer-8);
1487
+ }
1488
+
1489
+ :where(.kui-step) {
1490
+ min-width: 0;
1491
+ display: grid;
1492
+ grid-template-columns: auto minmax(0, 1fr);
1493
+ gap: var(--spacer-8);
1494
+ align-items: start;
1495
+ color: var(--text-secondary);
1496
+ }
1497
+
1498
+ :where(.kui-step[data-status='complete']) {
1499
+ color: var(--status-success-default);
1500
+ }
1501
+
1502
+ :where(.kui-step[data-status='current']) {
1503
+ color: var(--text-brand);
1504
+ }
1505
+
1506
+ :where(.kui-step[data-status='error']) {
1507
+ color: var(--status-error-default);
1508
+ }
1509
+
1510
+ :where(.kui-step-indicator) {
1511
+ width: 24px;
1512
+ height: 24px;
1513
+ display: inline-grid;
1514
+ place-items: center;
1515
+ color: currentColor;
1516
+ background: var(--bg-base-tertiary);
1517
+ border: 1px solid currentColor;
1518
+ border-radius: var(--radius-full);
1519
+ font-size: var(--body-sm-font-size);
1520
+ }
1521
+
1522
+ :where(.kui-step-indicator)::before {
1523
+ content: attr(data-index);
1524
+ }
1525
+
1526
+ :where(.kui-step-trigger) {
1527
+ min-width: 0;
1528
+ color: currentColor;
1529
+ background: transparent;
1530
+ border: 0;
1531
+ font: inherit;
1532
+ text-align: start;
1533
+ text-decoration: none;
1534
+ }
1535
+
1536
+ :where(.kui-step-trigger)::before {
1537
+ min-width: 0;
1538
+ overflow: hidden;
1539
+ content: attr(data-label);
1540
+ text-overflow: ellipsis;
1541
+ }
1542
+
1543
+ :where(.kui-step-trigger[data-clickable='true']) {
1544
+ cursor: pointer;
1545
+ }
1546
+
1547
+ :where(.kui-step-description) {
1548
+ grid-column: 2;
1549
+ margin: calc(var(--spacer-4) * -1) 0 0;
1550
+ color: var(--text-secondary);
1551
+ font-size: var(--body-sm-font-size);
1552
+ line-height: var(--body-sm-line-height);
1553
+ }
1554
+
1555
+ :where(.kui-step-description)::before {
1556
+ content: attr(data-description);
1557
+ }
1558
+
1559
+ :where(.kui-collapse) {
1560
+ min-width: 0;
1561
+ display: grid;
1562
+ gap: var(--spacer-6);
1563
+ }
1564
+
1565
+ :where(.kui-collapse-item) {
1566
+ min-width: 0;
1567
+ overflow: hidden;
1568
+ color: var(--text-default);
1569
+ background: var(--bg-base-secondary);
1570
+ border: 1px solid var(--border-neutral-l1);
1571
+ border-radius: var(--radius-6);
1572
+ }
1573
+
1574
+ :where(.kui-collapse-item[data-state='open']) {
1575
+ border-color: var(--border-neutral-l2);
1576
+ }
1577
+
1578
+ :where(.kui-collapse-trigger) {
1579
+ min-height: 36px;
1580
+ width: 100%;
1581
+ display: grid;
1582
+ grid-template-columns: minmax(0, 1fr) auto;
1583
+ align-items: center;
1584
+ gap: var(--spacer-8);
1585
+ padding: 0 var(--spacer-8);
1586
+ color: var(--text-default);
1587
+ background: transparent;
1588
+ border: 0;
1589
+ text-align: start;
1590
+ }
1591
+
1592
+ :where(.kui-collapse-trigger)::before {
1593
+ min-width: 0;
1594
+ overflow: hidden;
1595
+ content: attr(data-title);
1596
+ text-overflow: ellipsis;
1597
+ white-space: nowrap;
1598
+ }
1599
+
1600
+ :where(.kui-collapse-trigger)::after {
1601
+ content: '>';
1602
+ color: var(--icon-secondary);
1603
+ transition: transform var(--transition-fast);
1604
+ }
1605
+
1606
+ :where(.kui-collapse-trigger[aria-expanded='true'])::after {
1607
+ transform: rotate(90deg);
1608
+ }
1609
+
1610
+ :where(.kui-collapse-panel) {
1611
+ padding: 0 var(--spacer-8) var(--spacer-8);
1612
+ color: var(--text-secondary);
1613
+ font-size: var(--body-sm-font-size);
1614
+ line-height: var(--body-sm-line-height);
1615
+ }
1616
+
1617
+ :where(.kui-collapse-panel)::before {
1618
+ content: attr(data-description);
1619
+ }
1620
+
1621
+ @media (prefers-reduced-motion: reduce) {
1622
+ :where(.kui-collapse-trigger)::after {
1623
+ transition: none;
1624
+ }
1625
+ }
1626
+
1627
+ :where(.kui-command-palette) {
1628
+ width: min(720px, calc(100vw - 32px));
1629
+ max-height: min(640px, calc(100vh - 32px));
1630
+ display: grid;
1631
+ grid-template-rows: auto minmax(0, 1fr);
1632
+ gap: var(--spacer-8);
1633
+ padding: var(--spacer-8);
1634
+ color: var(--text-default);
1635
+ background: var(--bg-base-secondary);
1636
+ border: 1px solid var(--border-neutral-l2);
1637
+ border-radius: var(--radius-8);
1638
+ box-shadow: 0 24px 64px rgba(0, 0, 0, 0.4);
1639
+ }
1640
+
1641
+ :where(.kui-command-palette-input) {
1642
+ min-height: 40px;
1643
+ width: 100%;
1644
+ padding: 0 var(--spacer-12);
1645
+ color: var(--text-default);
1646
+ background: var(--bg-base-tertiary);
1647
+ border: 1px solid var(--border-neutral-l2);
1648
+ border-radius: var(--radius-6);
1649
+ }
1650
+
1651
+ :where(.kui-command-palette-input:focus-visible) {
1652
+ outline: 2px solid var(--border-brand);
1653
+ outline-offset: 2px;
1654
+ }
1655
+
1656
+ :where(.kui-command-palette-listbox) {
1657
+ min-height: 0;
1658
+ display: grid;
1659
+ gap: var(--spacer-6);
1660
+ overflow: auto;
1661
+ }
1662
+
1663
+ :where(.kui-command-palette-group) {
1664
+ display: grid;
1665
+ gap: var(--spacer-4);
1666
+ }
1667
+
1668
+ :where(.kui-command-palette-group-label) {
1669
+ padding: var(--spacer-4) var(--spacer-8) 0;
1670
+ color: var(--text-secondary);
1671
+ font-size: var(--body-sm-font-size);
1672
+ line-height: var(--body-sm-line-height);
1673
+ }
1674
+
1675
+ :where(.kui-command-palette-group-label)::before {
1676
+ content: attr(data-label);
1677
+ }
1678
+
1679
+ :where(.kui-command-palette-item) {
1680
+ min-height: 44px;
1681
+ display: grid;
1682
+ grid-template-columns: minmax(0, 1fr) auto;
1683
+ align-items: center;
1684
+ gap: var(--spacer-8);
1685
+ padding: var(--spacer-8);
1686
+ color: var(--text-default);
1687
+ border-radius: var(--radius-6);
1688
+ cursor: pointer;
1689
+ }
1690
+
1691
+ :where(.kui-command-palette-item)::before {
1692
+ min-width: 0;
1693
+ overflow: hidden;
1694
+ content: attr(data-label);
1695
+ text-overflow: ellipsis;
1696
+ white-space: nowrap;
1697
+ }
1698
+
1699
+ :where(.kui-command-palette-item)::after {
1700
+ min-width: 0;
1701
+ overflow: hidden;
1702
+ color: var(--text-secondary);
1703
+ content: attr(data-description);
1704
+ font-size: var(--body-sm-font-size);
1705
+ line-height: var(--body-sm-line-height);
1706
+ text-overflow: ellipsis;
1707
+ white-space: nowrap;
1708
+ }
1709
+
1710
+ :where(.kui-command-palette-item[data-state='active']) {
1711
+ color: var(--text-default-hover);
1712
+ background: var(--bg-brand-popup);
1713
+ }
1714
+
1715
+ :where(.kui-command-palette-item[data-state='selected']) {
1716
+ color: var(--text-brand);
1717
+ }
1718
+
1719
+ :where(.kui-command-palette-shortcut) {
1720
+ min-height: 22px;
1721
+ display: inline-flex;
1722
+ align-items: center;
1723
+ padding-inline: var(--spacer-6);
1724
+ color: var(--text-secondary);
1725
+ background: var(--bg-base-tertiary);
1726
+ border: 1px solid var(--border-neutral-l1);
1727
+ border-radius: var(--radius-4);
1728
+ font-family: var(--font-family-mono);
1729
+ font-size: var(--body-sm-font-size);
1730
+ }
1731
+
1732
+ :where(.kui-command-palette-shortcut)::before {
1733
+ content: attr(data-shortcut);
1734
+ }
1735
+
1736
+ :where(.kui-command-palette-empty) {
1737
+ min-height: 96px;
1738
+ display: grid;
1739
+ place-items: center;
1740
+ color: var(--text-secondary);
1741
+ }
1742
+
1743
+ :where(.kui-command-palette-empty)::before {
1744
+ content: attr(data-label);
1745
+ }
1746
+
1747
+ :where(.kui-table) {
1748
+ width: 100%;
1749
+ border-collapse: collapse;
1750
+ color: var(--text-default);
1751
+ background: var(--bg-base-secondary);
1752
+ }
1753
+
1754
+ :where(.kui-table[data-density='compact']) {
1755
+ font-size: var(--body-sm-font-size);
1756
+ line-height: var(--body-sm-line-height);
1757
+ }
1758
+
1759
+ :where(.kui-table-caption) {
1760
+ padding-block: var(--spacer-8);
1761
+ text-align: start;
1762
+ color: var(--text-secondary);
1763
+ }
1764
+
1765
+ :where(
1766
+ .kui-table-header,
1767
+ .kui-table-cell,
1768
+ .kui-table-selection-header,
1769
+ .kui-table-selection-cell
1770
+ ) {
1771
+ padding: var(--spacer-8);
1772
+ border-bottom: 1px solid var(--border-neutral-l1);
1773
+ text-align: start;
1774
+ }
1775
+
1776
+ :where(.kui-table[data-density='compact'])
1777
+ :where(
1778
+ .kui-table-header,
1779
+ .kui-table-cell,
1780
+ .kui-table-selection-header,
1781
+ .kui-table-selection-cell
1782
+ ) {
1783
+ padding: var(--spacer-6);
1784
+ }
1785
+
1786
+ :where(.kui-table[data-sticky-header='true'] .kui-table-header) {
1787
+ position: sticky;
1788
+ inset-block-start: 0;
1789
+ z-index: 1;
1790
+ background: var(--bg-base-secondary);
1791
+ }
1792
+
1793
+ :where(.kui-table-header[data-sortable='true']) {
1794
+ cursor: pointer;
1795
+ }
1796
+
1797
+ :where(
1798
+ .kui-table-header[data-sort-direction='ascending'],
1799
+ .kui-table-header[data-sort-direction='descending']
1800
+ ) {
1801
+ color: var(--text-brand);
1802
+ }
1803
+
1804
+ :where(
1805
+ .kui-table-header[data-sticky='start'],
1806
+ .kui-table-cell[data-sticky='start'],
1807
+ .kui-table-selection-header,
1808
+ .kui-table-selection-cell
1809
+ ) {
1810
+ position: sticky;
1811
+ inset-inline-start: 0;
1812
+ z-index: 1;
1813
+ background: var(--bg-base-secondary);
1814
+ }
1815
+
1816
+ :where(.kui-table-header[data-sticky='end'], .kui-table-cell[data-sticky='end']) {
1817
+ position: sticky;
1818
+ inset-inline-end: 0;
1819
+ z-index: 1;
1820
+ background: var(--bg-base-secondary);
1821
+ }
1822
+
1823
+ :where(.kui-table-header[data-align='center'], .kui-table-cell[data-align='center']) {
1824
+ text-align: center;
1825
+ }
1826
+
1827
+ :where(.kui-table-header[data-align='end'], .kui-table-cell[data-align='end']) {
1828
+ text-align: end;
1829
+ }
1830
+
1831
+ :where(.kui-table-row[data-state='selected']) {
1832
+ background: var(--bg-brand-popup);
1833
+ }
1834
+
1835
+ :where(.kui-table-row[data-state='disabled']) {
1836
+ opacity: 0.56;
1837
+ }
1838
+
1839
+ :where(.kui-data-toolbar) {
1840
+ min-width: 0;
1841
+ display: grid;
1842
+ grid-template-columns: minmax(180px, 1fr) auto auto;
1843
+ align-items: center;
1844
+ gap: var(--spacer-8);
1845
+ padding: var(--spacer-8);
1846
+ color: var(--text-default);
1847
+ background: var(--bg-base-secondary);
1848
+ border: 1px solid var(--border-neutral-l1);
1849
+ border-radius: var(--radius-8);
1850
+ }
1851
+
1852
+ :where(.kui-data-toolbar[data-density='compact']) {
1853
+ padding: var(--spacer-6);
1854
+ gap: var(--spacer-6);
1855
+ }
1856
+
1857
+ :where(.kui-data-toolbar-search) {
1858
+ min-height: 32px;
1859
+ min-width: 0;
1860
+ padding: 0 var(--spacer-8);
1861
+ color: var(--text-default);
1862
+ background: var(--bg-base-tertiary);
1863
+ border: 1px solid var(--border-neutral-l2);
1864
+ border-radius: var(--radius-6);
1865
+ }
1866
+
1867
+ :where(.kui-data-toolbar-search:focus-visible) {
1868
+ outline: 2px solid var(--border-brand);
1869
+ outline-offset: 2px;
1870
+ }
1871
+
1872
+ :where(.kui-filter-bar) {
1873
+ min-width: 0;
1874
+ display: flex;
1875
+ flex-wrap: wrap;
1876
+ align-items: center;
1877
+ gap: var(--spacer-6);
1878
+ }
1879
+
1880
+ :where(.kui-filter-chip, .kui-filter-clear, .kui-data-toolbar-action) {
1881
+ min-height: 28px;
1882
+ display: inline-flex;
1883
+ align-items: center;
1884
+ justify-content: center;
1885
+ gap: var(--spacer-4);
1886
+ padding: 0 var(--spacer-8);
1887
+ color: var(--text-secondary);
1888
+ background: var(--bg-base-tertiary);
1889
+ border: 1px solid var(--border-neutral-l2);
1890
+ border-radius: var(--radius-full);
1891
+ cursor: pointer;
1892
+ }
1893
+
1894
+ :where(.kui-filter-chip)::before {
1895
+ content: attr(data-label);
1896
+ }
1897
+
1898
+ :where(.kui-filter-chip[data-value])::after {
1899
+ content: attr(data-value);
1900
+ color: var(--text-default);
1901
+ }
1902
+
1903
+ :where(.kui-filter-chip[data-state='active']) {
1904
+ color: var(--text-brand);
1905
+ background: var(--bg-brand-popup);
1906
+ border-color: var(--border-brand);
1907
+ }
1908
+
1909
+ :where(.kui-filter-chip[data-tone='warning']) {
1910
+ border-color: var(--status-warning-default);
1911
+ }
1912
+
1913
+ :where(.kui-filter-chip[data-tone='danger']) {
1914
+ border-color: var(--status-error-default);
1915
+ }
1916
+
1917
+ :where(.kui-filter-chip[data-tone='success']) {
1918
+ border-color: var(--status-success-default);
1919
+ }
1920
+
1921
+ :where(.kui-filter-chip[data-removable='true'])::after {
1922
+ content: attr(data-value) ' ×';
1923
+ }
1924
+
1925
+ :where(.kui-filter-clear) {
1926
+ color: var(--text-brand);
1927
+ background: transparent;
1928
+ }
1929
+
1930
+ :where(.kui-filter-clear)::before {
1931
+ content: attr(aria-label);
1932
+ }
1933
+
1934
+ :where(.kui-data-toolbar-summary) {
1935
+ color: var(--text-secondary);
1936
+ font-size: var(--body-sm-font-size);
1937
+ line-height: var(--body-sm-line-height);
1938
+ white-space: nowrap;
1939
+ }
1940
+
1941
+ :where(.kui-data-toolbar-summary)::before {
1942
+ content: attr(data-summary);
1943
+ }
1944
+
1945
+ :where(.kui-data-toolbar-action) {
1946
+ border-radius: var(--radius-6);
1947
+ }
1948
+
1949
+ :where(.kui-data-toolbar-action[data-tone='primary']) {
1950
+ color: var(--text-onbrand);
1951
+ background: var(--bg-brand);
1952
+ border-color: var(--border-brand);
1953
+ }
1954
+
1955
+ :where(.kui-data-toolbar-action[data-tone='danger']) {
1956
+ color: var(--status-error-default);
1957
+ }
1958
+
1959
+ :where(.kui-data-toolbar-action[data-state='pressed']) {
1960
+ color: var(--text-brand);
1961
+ background: var(--bg-brand-popup);
1962
+ }
1963
+
1964
+ :where(.kui-typography) {
1965
+ min-width: 0;
1966
+ margin: 0;
1967
+ color: var(--text-default);
1968
+ line-height: var(--body-md-line-height);
1969
+ }
1970
+
1971
+ :where(.kui-typography[data-variant='heading-lg']) {
1972
+ font-size: var(--heading-lg-font-size);
1973
+ line-height: var(--heading-lg-line-height);
1974
+ font-weight: var(--font-weight-semibold);
1975
+ }
1976
+
1977
+ :where(.kui-typography[data-variant='heading-md']) {
1978
+ font-size: var(--heading-md-font-size);
1979
+ line-height: var(--heading-md-line-height);
1980
+ font-weight: var(--font-weight-semibold);
1981
+ }
1982
+
1983
+ :where(.kui-typography[data-variant='heading-sm']) {
1984
+ font-size: var(--heading-sm-font-size);
1985
+ line-height: var(--heading-sm-line-height);
1986
+ font-weight: var(--font-weight-semibold);
1987
+ }
1988
+
1989
+ :where(.kui-typography[data-variant='body-sm'], .kui-typography[data-variant='caption']) {
1990
+ font-size: var(--body-sm-font-size);
1991
+ line-height: var(--body-sm-line-height);
1992
+ }
1993
+
1994
+ :where(.kui-typography[data-variant='caption'], .kui-typography[data-variant='muted']) {
1995
+ color: var(--text-secondary);
1996
+ }
1997
+
1998
+ :where(.kui-typography[data-variant='code']) {
1999
+ padding: 0 var(--spacer-4);
2000
+ color: var(--code-string);
2001
+ background: var(--bg-base-tertiary);
2002
+ border: 1px solid var(--border-neutral-l1);
2003
+ border-radius: var(--radius-4);
2004
+ font-family: var(--font-family-mono);
2005
+ font-size: var(--body-sm-font-size);
2006
+ }
2007
+
2008
+ :where(.kui-typography[data-variant='link']) {
2009
+ color: var(--text-brand);
2010
+ text-decoration: none;
2011
+ }
2012
+
2013
+ :where(.kui-typography[data-variant='link']:hover) {
2014
+ color: var(--text-default-hover);
2015
+ text-decoration: underline;
2016
+ }
2017
+
2018
+ :where(.kui-typography[data-truncate='true']) {
2019
+ display: block;
2020
+ overflow: hidden;
2021
+ text-overflow: ellipsis;
2022
+ white-space: nowrap;
2023
+ }
2024
+
2025
+ :where([data-typography-rich-content-contract='true']) {
2026
+ min-width: 0;
2027
+ display: grid;
2028
+ gap: var(--spacer-12);
2029
+ color: var(--text-default);
2030
+ line-height: var(--body-md-line-height);
2031
+ }
2032
+
2033
+ :where([data-typography-rich-content-contract='true'][data-content-density='compact']) {
2034
+ gap: var(--spacer-8);
2035
+ font-size: var(--body-sm-font-size);
2036
+ line-height: var(--body-sm-line-height);
2037
+ }
2038
+
2039
+ :where([data-typography-rich-content-contract='true'] > :is(h2, h3, h4, p, ul, ol, pre)) {
2040
+ margin: 0;
2041
+ }
2042
+
2043
+ :where([data-typography-rich-content-contract='true'] > :is(ul, ol)) {
2044
+ padding-inline-start: var(--spacer-20);
2045
+ }
2046
+
2047
+ :where([data-typography-rich-content-contract='true'] > pre) {
2048
+ max-width: 100%;
2049
+ padding: var(--spacer-8);
2050
+ overflow: auto;
2051
+ background: var(--bg-base-tertiary);
2052
+ border: 1px solid var(--border-neutral-l1);
2053
+ border-radius: var(--radius-4);
2054
+ font-family: var(--font-family-mono);
2055
+ }
2056
+
2057
+ :where(.kui-divider) {
2058
+ min-width: 0;
2059
+ display: flex;
2060
+ align-items: center;
2061
+ gap: var(--spacer-8);
2062
+ color: var(--text-secondary);
2063
+ font-size: var(--body-sm-font-size);
2064
+ line-height: var(--body-sm-line-height);
2065
+ }
2066
+
2067
+ :where(.kui-divider)::before,
2068
+ :where(.kui-divider)::after {
2069
+ min-width: 0;
2070
+ flex: 1 1 auto;
2071
+ height: 1px;
2072
+ content: '';
2073
+ background: var(--border-neutral-l1);
2074
+ }
2075
+
2076
+ :where(.kui-divider:not([data-label]))::after {
2077
+ content: none;
2078
+ }
2079
+
2080
+ :where(.kui-divider[data-orientation='vertical']) {
2081
+ width: 1px;
2082
+ min-height: 24px;
2083
+ align-self: stretch;
2084
+ display: inline-block;
2085
+ background: var(--border-neutral-l1);
2086
+ }
2087
+
2088
+ :where(.kui-divider[data-orientation='vertical'])::before,
2089
+ :where(.kui-divider[data-orientation='vertical'])::after {
2090
+ content: none;
2091
+ }
2092
+
2093
+ :where(.kui-divider[data-inset='both']) {
2094
+ margin-inline: var(--spacer-16);
2095
+ }
2096
+
2097
+ :where(.kui-divider[data-inset='start']) {
2098
+ margin-inline-start: var(--spacer-16);
2099
+ }
2100
+
2101
+ :where(.kui-divider[data-inset='end']) {
2102
+ margin-inline-end: var(--spacer-16);
2103
+ }
2104
+
2105
+ :where(.kui-divider-label) {
2106
+ flex: 0 1 auto;
2107
+ min-width: 0;
2108
+ overflow: hidden;
2109
+ text-overflow: ellipsis;
2110
+ white-space: nowrap;
2111
+ }
2112
+
2113
+ :where(.kui-divider-label)::before {
2114
+ content: attr(data-label);
2115
+ }
2116
+
2117
+ :where(.kui-divider[data-divider-section-heading-contract='true'] .kui-divider-label) {
2118
+ color: var(--text-default);
2119
+ font-weight: var(--font-weight-semibold);
2120
+ }
2121
+
2122
+ :where(.kui-divider[data-section-heading-state='current'])::before,
2123
+ :where(.kui-divider[data-section-heading-state='current'])::after {
2124
+ background: var(--border-brand);
2125
+ }
2126
+
2127
+ :where(.kui-avatar) {
2128
+ --kui-avatar-size: 32px;
2129
+ position: relative;
2130
+ width: var(--kui-avatar-size);
2131
+ height: var(--kui-avatar-size);
2132
+ flex: 0 0 var(--kui-avatar-size);
2133
+ display: inline-grid;
2134
+ place-items: center;
2135
+ overflow: visible;
2136
+ color: var(--text-default);
2137
+ background: var(--bg-base-tertiary);
2138
+ border: 1px solid var(--border-neutral-l2);
2139
+ border-radius: var(--radius-full);
2140
+ font-weight: var(--font-weight-semibold);
2141
+ vertical-align: middle;
2142
+ }
2143
+
2144
+ :where(.kui-avatar[data-size='sm'], .kui-avatar-group[data-size='sm'] .kui-avatar) {
2145
+ --kui-avatar-size: 24px;
2146
+ font-size: var(--body-sm-font-size);
2147
+ }
2148
+
2149
+ :where(.kui-avatar[data-size='lg'], .kui-avatar-group[data-size='lg'] .kui-avatar) {
2150
+ --kui-avatar-size: 40px;
2151
+ }
2152
+
2153
+ :where(.kui-avatar-image) {
2154
+ width: 100%;
2155
+ height: 100%;
2156
+ display: block;
2157
+ object-fit: cover;
2158
+ border-radius: inherit;
2159
+ }
2160
+
2161
+ :where(.kui-avatar-fallback) {
2162
+ display: inline-flex;
2163
+ align-items: center;
2164
+ justify-content: center;
2165
+ padding-inline: var(--spacer-2);
2166
+ }
2167
+
2168
+ :where(.kui-avatar-fallback)::before {
2169
+ content: attr(data-initials);
2170
+ }
2171
+
2172
+ :where(.kui-avatar-image + .kui-avatar-fallback) {
2173
+ display: none;
2174
+ }
2175
+
2176
+ :where(.kui-avatar-status) {
2177
+ position: absolute;
2178
+ right: -1px;
2179
+ bottom: -1px;
2180
+ width: 10px;
2181
+ height: 10px;
2182
+ background: var(--text-secondary);
2183
+ border: 2px solid var(--bg-base-secondary);
2184
+ border-radius: var(--radius-full);
2185
+ }
2186
+
2187
+ :where(.kui-avatar-status[data-status='online']) {
2188
+ background: var(--status-success-default);
2189
+ }
2190
+
2191
+ :where(.kui-avatar-status[data-status='away']) {
2192
+ background: var(--status-warning-default);
2193
+ }
2194
+
2195
+ :where(.kui-avatar-status[data-status='busy']) {
2196
+ background: var(--status-error-default);
2197
+ }
2198
+
2199
+ :where(.kui-avatar-group) {
2200
+ display: inline-flex;
2201
+ align-items: center;
2202
+ padding-inline-start: var(--spacer-6);
2203
+ }
2204
+
2205
+ :where(.kui-avatar-group .kui-avatar, .kui-avatar-overflow) {
2206
+ margin-inline-start: calc(var(--spacer-6) * -1);
2207
+ box-shadow: 0 0 0 2px var(--bg-base-secondary);
2208
+ }
2209
+
2210
+ :where(.kui-avatar-overflow) {
2211
+ min-width: 24px;
2212
+ min-height: 24px;
2213
+ display: inline-flex;
2214
+ align-items: center;
2215
+ justify-content: center;
2216
+ padding-inline: var(--spacer-6);
2217
+ color: var(--text-secondary);
2218
+ background: var(--bg-base-tertiary);
2219
+ border: 1px solid var(--border-neutral-l2);
2220
+ border-radius: var(--radius-full);
2221
+ font-size: var(--body-sm-font-size);
2222
+ line-height: var(--body-sm-line-height);
2223
+ }
2224
+
2225
+ :where(.kui-avatar-overflow)::before {
2226
+ content: '+' attr(data-overflow-count);
2227
+ }
2228
+
2229
+ :where(.kui-kbd) {
2230
+ min-width: 22px;
2231
+ min-height: 22px;
2232
+ display: inline-flex;
2233
+ align-items: center;
2234
+ justify-content: center;
2235
+ padding-inline: var(--spacer-6);
2236
+ color: var(--text-default);
2237
+ background: var(--bg-base-tertiary);
2238
+ border: 1px solid var(--border-neutral-l2);
2239
+ border-bottom-color: var(--border-neutral-l1);
2240
+ border-radius: var(--radius-4);
2241
+ font-family: var(--font-family-mono);
2242
+ font-size: var(--body-sm-font-size);
2243
+ line-height: var(--body-sm-line-height);
2244
+ box-shadow: inset 0 -1px 0 var(--bg-overlay-l2);
2245
+ }
2246
+
2247
+ :where(.kui-shortcut) {
2248
+ display: inline-flex;
2249
+ align-items: center;
2250
+ gap: var(--spacer-4);
2251
+ }
2252
+
2253
+ :where(
2254
+ .kui-shortcut[data-shortcut-display-state='aliased'] .kui-kbd[data-modifier-alias='true']
2255
+ ) {
2256
+ color: var(--text-brand);
2257
+ border-color: var(--border-brand);
2258
+ }
2259
+
2260
+ :where(.kui-shortcut-separator)::before {
2261
+ content: '+';
2262
+ color: var(--text-secondary);
2263
+ }
2264
+
2265
+ :where(.kui-pagination) {
2266
+ min-width: 0;
2267
+ display: flex;
2268
+ align-items: center;
2269
+ justify-content: space-between;
2270
+ gap: var(--spacer-12);
2271
+ }
2272
+
2273
+ :where(.kui-pagination-list) {
2274
+ display: flex;
2275
+ flex-wrap: wrap;
2276
+ align-items: center;
2277
+ justify-content: center;
2278
+ gap: var(--spacer-4);
2279
+ padding: 0;
2280
+ margin: 0;
2281
+ list-style: none;
2282
+ }
2283
+
2284
+ :where(.kui-pagination-previous, .kui-pagination-next, .kui-pagination-page) {
2285
+ min-width: 32px;
2286
+ min-height: 32px;
2287
+ display: inline-flex;
2288
+ align-items: center;
2289
+ justify-content: center;
2290
+ padding-inline: var(--spacer-8);
2291
+ color: var(--text-secondary);
2292
+ background: var(--bg-base-secondary);
2293
+ border: 1px solid var(--border-neutral-l2);
2294
+ border-radius: var(--radius-6);
2295
+ }
2296
+
2297
+ :where(.kui-pagination-previous)::before {
2298
+ content: 'Previous';
2299
+ }
2300
+
2301
+ :where(.kui-pagination-next)::before {
2302
+ content: 'Next';
2303
+ }
2304
+
2305
+ :where(.kui-pagination-page)::before {
2306
+ content: attr(data-page);
2307
+ }
2308
+
2309
+ :where(.kui-pagination-page[data-state='current']) {
2310
+ color: var(--text-onbrand);
2311
+ background: var(--bg-brand);
2312
+ border-color: var(--border-brand);
2313
+ }
2314
+
2315
+ :where(.kui-pagination-ellipsis) {
2316
+ min-width: 24px;
2317
+ display: inline-flex;
2318
+ justify-content: center;
2319
+ color: var(--text-secondary);
2320
+ }
2321
+
2322
+ :where(.kui-pagination-ellipsis)::before {
2323
+ content: '...';
2324
+ }
2325
+
2326
+ :where(.kui-pagination-summary) {
2327
+ color: var(--text-secondary);
2328
+ font-size: var(--body-sm-font-size);
2329
+ }
2330
+
2331
+ :where(.kui-pagination-summary)::before {
2332
+ content: attr(data-summary);
2333
+ }
2334
+
2335
+ :where(.kui-list) {
2336
+ min-width: 0;
2337
+ display: grid;
2338
+ gap: var(--spacer-4);
2339
+ padding: 0;
2340
+ margin: 0;
2341
+ list-style: none;
2342
+ }
2343
+
2344
+ :where(.kui-list-group) {
2345
+ min-width: 0;
2346
+ display: grid;
2347
+ gap: var(--spacer-6);
2348
+ list-style: none;
2349
+ }
2350
+
2351
+ :where(.kui-list-group-heading) {
2352
+ margin: 0;
2353
+ color: var(--text-secondary);
2354
+ font-size: var(--body-sm-font-size);
2355
+ font-weight: var(--font-weight-strong);
2356
+ line-height: var(--body-sm-line-height);
2357
+ }
2358
+
2359
+ :where(.kui-list-group-items) {
2360
+ min-width: 0;
2361
+ display: grid;
2362
+ gap: var(--spacer-4);
2363
+ padding: 0;
2364
+ margin: 0;
2365
+ list-style: none;
2366
+ }
2367
+
2368
+ :where(.kui-list-item) {
2369
+ min-width: 0;
2370
+ min-height: 44px;
2371
+ display: grid;
2372
+ grid-template-columns: auto minmax(0, 1fr) auto auto;
2373
+ align-items: center;
2374
+ gap: var(--spacer-8);
2375
+ padding: var(--spacer-8);
2376
+ color: var(--text-default);
2377
+ background: var(--bg-base-secondary);
2378
+ border: 1px solid var(--border-neutral-l1);
2379
+ border-radius: var(--radius-6);
2380
+ }
2381
+
2382
+ :where(.kui-list.kui-density-compact .kui-list-item) {
2383
+ min-height: 36px;
2384
+ padding: var(--spacer-6);
2385
+ }
2386
+
2387
+ :where(.kui-list-item[data-state='selected']) {
2388
+ border-color: var(--border-brand);
2389
+ box-shadow: inset 0 0 0 1px var(--border-brand);
2390
+ }
2391
+
2392
+ :where(.kui-list-item-icon) {
2393
+ width: 24px;
2394
+ height: 24px;
2395
+ display: inline-grid;
2396
+ place-items: center;
2397
+ color: var(--text-brand);
2398
+ background: var(--bg-brand-popup);
2399
+ border-radius: var(--radius-4);
2400
+ }
2401
+
2402
+ :where(.kui-list-item-icon)::before {
2403
+ content: '';
2404
+ width: 8px;
2405
+ height: 8px;
2406
+ background: currentColor;
2407
+ border-radius: var(--radius-full);
2408
+ }
2409
+
2410
+ :where(.kui-list-item-label, .kui-list-item-meta) {
2411
+ min-width: 0;
2412
+ overflow: hidden;
2413
+ text-overflow: ellipsis;
2414
+ white-space: nowrap;
2415
+ }
2416
+
2417
+ :where(.kui-list-item-label)::before {
2418
+ content: attr(data-label);
2419
+ }
2420
+
2421
+ :where(.kui-list-item-description) {
2422
+ grid-column: 2 / span 2;
2423
+ margin: 0;
2424
+ color: var(--text-secondary);
2425
+ font-size: var(--body-sm-font-size);
2426
+ line-height: var(--body-sm-line-height);
2427
+ }
2428
+
2429
+ :where(.kui-list-item-description)::before {
2430
+ content: attr(data-description);
2431
+ }
2432
+
2433
+ :where(.kui-list-item-meta) {
2434
+ color: var(--text-secondary);
2435
+ font-size: var(--body-sm-font-size);
2436
+ }
2437
+
2438
+ :where(.kui-list-item-meta)::before {
2439
+ content: attr(data-meta);
2440
+ }
2441
+
2442
+ :where(.kui-list-item-action) {
2443
+ min-width: 28px;
2444
+ min-height: 28px;
2445
+ display: inline-grid;
2446
+ place-items: center;
2447
+ color: var(--text-secondary);
2448
+ background: var(--bg-base-tertiary);
2449
+ border: 1px solid var(--border-neutral-l2);
2450
+ border-radius: var(--radius-6);
2451
+ }
2452
+
2453
+ :where(.kui-list-item-action[hidden]) {
2454
+ display: none;
2455
+ }
2456
+
2457
+ :where(.kui-list-item-action)::before {
2458
+ content: 'Open';
2459
+ }
2460
+
2461
+ :where(.kui-carousel) {
2462
+ min-width: 0;
2463
+ display: grid;
2464
+ gap: var(--spacer-10);
2465
+ padding: var(--spacer-10);
2466
+ color: var(--text-default);
2467
+ background: var(--bg-base-secondary);
2468
+ border: 1px solid var(--border-neutral-l1);
2469
+ border-radius: var(--radius-6);
2470
+ }
2471
+
2472
+ :where(.kui-carousel-viewport) {
2473
+ min-width: 0;
2474
+ min-height: 168px;
2475
+ overflow: hidden;
2476
+ }
2477
+
2478
+ :where(.kui-carousel-track) {
2479
+ min-height: 168px;
2480
+ }
2481
+
2482
+ :where(.kui-carousel-slide) {
2483
+ min-height: 168px;
2484
+ display: grid;
2485
+ align-content: center;
2486
+ gap: var(--spacer-6);
2487
+ padding: var(--spacer-12);
2488
+ background: var(--bg-base-tertiary);
2489
+ border-left: 3px solid var(--border-brand);
2490
+ }
2491
+
2492
+ :where(.kui-carousel-slide[hidden]) {
2493
+ display: none;
2494
+ }
2495
+
2496
+ :where(.kui-carousel-slide h3, .kui-carousel-slide p) {
2497
+ margin: 0;
2498
+ }
2499
+
2500
+ :where(.kui-carousel-slide p) {
2501
+ color: var(--text-secondary);
2502
+ font-size: var(--body-sm-font-size);
2503
+ line-height: var(--body-sm-line-height);
2504
+ }
2505
+
2506
+ :where(.kui-carousel-slide-eyebrow) {
2507
+ color: var(--text-brand);
2508
+ font-size: var(--body-sm-font-size);
2509
+ font-weight: var(--font-weight-strong);
2510
+ line-height: var(--body-sm-line-height);
2511
+ }
2512
+
2513
+ :where(.kui-carousel-controls) {
2514
+ min-width: 0;
2515
+ display: grid;
2516
+ grid-template-columns: 32px minmax(72px, 1fr) 32px auto;
2517
+ align-items: center;
2518
+ gap: var(--spacer-6);
2519
+ }
2520
+
2521
+ :where(.kui-carousel-control, .kui-carousel-playback, .kui-carousel-indicator) {
2522
+ min-width: 32px;
2523
+ min-height: 32px;
2524
+ display: inline-grid;
2525
+ place-items: center;
2526
+ color: var(--text-secondary);
2527
+ background: var(--bg-base-tertiary);
2528
+ border: 1px solid var(--border-neutral-l2);
2529
+ border-radius: var(--radius-4);
2530
+ }
2531
+
2532
+ :where(.kui-carousel-playback) {
2533
+ padding-inline: var(--spacer-8);
2534
+ color: var(--text-default);
2535
+ white-space: nowrap;
2536
+ }
2537
+
2538
+ :where(.kui-carousel-indicators) {
2539
+ min-width: 0;
2540
+ display: flex;
2541
+ justify-content: center;
2542
+ gap: var(--spacer-4);
2543
+ }
2544
+
2545
+ :where(.kui-carousel-indicator) {
2546
+ min-width: 24px;
2547
+ min-height: 32px;
2548
+ background: transparent;
2549
+ border-color: transparent;
2550
+ }
2551
+
2552
+ :where(.kui-carousel-indicator)::before {
2553
+ content: '';
2554
+ width: 8px;
2555
+ height: 8px;
2556
+ background: var(--text-tertiary);
2557
+ border-radius: var(--radius-full);
2558
+ }
2559
+
2560
+ :where(.kui-carousel-indicator[data-slide-state='current'])::before {
2561
+ width: 18px;
2562
+ background: var(--text-brand);
2563
+ }
2564
+
2565
+ :where(.kui-empty) {
2566
+ min-height: 120px;
2567
+ display: grid;
2568
+ gap: var(--spacer-8);
2569
+ justify-items: start;
2570
+ padding: var(--spacer-16);
2571
+ color: var(--text-secondary);
2572
+ background: var(--bg-base-secondary);
2573
+ border: 1px dashed var(--border-neutral-l2);
2574
+ border-radius: var(--radius-8);
2575
+ }
2576
+
2577
+ :where(.kui-empty[data-status='empty']) {
2578
+ color: var(--text-secondary);
2579
+ }
2580
+
2581
+ :where(.kui-empty-icon) {
2582
+ color: var(--text-secondary);
2583
+ }
2584
+
2585
+ :where(.kui-empty-icon)::before {
2586
+ content: '∅';
2587
+ }
2588
+
2589
+ :where(.kui-empty-title) {
2590
+ color: var(--text-default);
2591
+ font-weight: var(--font-weight-semibold);
2592
+ }
2593
+
2594
+ :where(.kui-empty-description) {
2595
+ margin: 0;
2596
+ color: var(--text-secondary);
2597
+ font-size: var(--body-sm-font-size);
2598
+ line-height: var(--body-sm-line-height);
2599
+ }
2600
+
2601
+ :where(.kui-empty-action) {
2602
+ min-height: 28px;
2603
+ display: inline-flex;
2604
+ align-items: center;
2605
+ justify-content: center;
2606
+ padding-inline: var(--spacer-8);
2607
+ color: var(--text-brand);
2608
+ background: transparent;
2609
+ border: 1px solid var(--border-neutral-l2);
2610
+ border-radius: var(--radius-6);
2611
+ }
2612
+
2613
+ :where(.kui-result) {
2614
+ min-width: 0;
2615
+ display: grid;
2616
+ grid-template-columns: auto minmax(0, 1fr) auto auto;
2617
+ gap: var(--spacer-8);
2618
+ padding: var(--spacer-12);
2619
+ color: var(--text-default);
2620
+ background: var(--bg-base-secondary);
2621
+ border: 1px solid var(--border-neutral-l1);
2622
+ border-radius: var(--radius-8);
2623
+ }
2624
+
2625
+ :where(.kui-result[data-status='warning']) {
2626
+ background: var(--status-warning-surface-l1);
2627
+ border-color: var(--status-warning-default);
2628
+ }
2629
+
2630
+ :where(.kui-result[data-status='error']) {
2631
+ background: var(--status-error-surface-l1);
2632
+ border-color: var(--status-error-default);
2633
+ }
2634
+
2635
+ :where(.kui-result[data-status='success']) {
2636
+ background: var(--status-success-surface-l1);
2637
+ border-color: var(--status-success-default);
2638
+ }
2639
+
2640
+ :where(.kui-result-icon) {
2641
+ color: var(--text-secondary);
2642
+ }
2643
+
2644
+ :where(.kui-result-icon)::before {
2645
+ content: '!';
2646
+ }
2647
+
2648
+ :where(.kui-result-title) {
2649
+ margin: 0;
2650
+ color: var(--text-default);
2651
+ font-size: var(--heading-sm-font-size);
2652
+ line-height: var(--heading-sm-line-height);
2653
+ }
2654
+
2655
+ :where(.kui-result-description) {
2656
+ margin: var(--spacer-2) 0 0;
2657
+ color: var(--text-secondary);
2658
+ font-size: var(--body-sm-font-size);
2659
+ line-height: var(--body-sm-line-height);
2660
+ }
2661
+
2662
+ :where(.kui-result-close) {
2663
+ min-width: 28px;
2664
+ min-height: 28px;
2665
+ padding: 0;
2666
+ color: var(--text-secondary);
2667
+ background: transparent;
2668
+ border: 0;
2669
+ border-radius: var(--radius-6);
2670
+ }
2671
+
2672
+ :where(.kui-badge) {
2673
+ min-height: 20px;
2674
+ display: inline-flex;
2675
+ align-items: center;
2676
+ padding-inline: var(--spacer-6);
2677
+ color: var(--text-default);
2678
+ background: var(--bg-base-tertiary);
2679
+ border-radius: var(--radius-full);
2680
+ font-size: var(--body-sm-font-size);
2681
+ line-height: var(--body-sm-line-height);
2682
+ }
2683
+
2684
+ :where(.kui-badge[data-tone='brand']) {
2685
+ color: var(--text-brand);
2686
+ background: var(--bg-brand-popup);
2687
+ }
2688
+
2689
+ :where(.kui-badge[data-tone='success']) {
2690
+ background: var(--status-success-surface-l1);
2691
+ }
2692
+
2693
+ :where(.kui-badge[data-tone='warning']) {
2694
+ background: var(--status-warning-surface-l1);
2695
+ }
2696
+
2697
+ :where(.kui-badge[data-tone='error']) {
2698
+ background: var(--status-error-surface-l1);
2699
+ }
2700
+
2701
+ :where(.kui-tag, .kui-chip) {
2702
+ min-height: 24px;
2703
+ display: inline-flex;
2704
+ align-items: center;
2705
+ gap: var(--spacer-4);
2706
+ max-width: 100%;
2707
+ padding-inline: var(--spacer-8);
2708
+ color: var(--text-secondary);
2709
+ background: var(--bg-base-tertiary);
2710
+ border: 1px solid var(--border-neutral-l2);
2711
+ border-radius: var(--radius-4);
2712
+ font-size: var(--body-sm-font-size);
2713
+ line-height: var(--body-sm-line-height);
2714
+ vertical-align: middle;
2715
+ }
2716
+
2717
+ :where(.kui-chip) {
2718
+ border-radius: var(--radius-full);
2719
+ }
2720
+
2721
+ :where(.kui-tag[data-tone='brand'], .kui-chip[data-tone='brand']) {
2722
+ color: var(--text-brand);
2723
+ background: var(--bg-brand-popup);
2724
+ border-color: var(--border-brand);
2725
+ }
2726
+
2727
+ :where(.kui-tag[data-tone='success'], .kui-chip[data-tone='success']) {
2728
+ background: var(--status-success-surface-l1);
2729
+ border-color: var(--status-success-default);
2730
+ }
2731
+
2732
+ :where(.kui-tag[data-tone='warning'], .kui-chip[data-tone='warning']) {
2733
+ background: var(--status-warning-surface-l1);
2734
+ border-color: var(--status-warning-default);
2735
+ }
2736
+
2737
+ :where(.kui-tag[data-tone='danger'], .kui-chip[data-tone='danger']) {
2738
+ color: var(--status-error-default);
2739
+ background: var(--status-error-surface-l1);
2740
+ border-color: var(--status-error-default);
2741
+ }
2742
+
2743
+ :where(.kui-tag[data-state='selected'], .kui-chip[data-state='selected']) {
2744
+ color: var(--text-brand);
2745
+ border-color: var(--border-brand);
2746
+ box-shadow: inset 0 0 0 1px var(--border-brand);
2747
+ }
2748
+
2749
+ :where(.kui-tag-label, .kui-chip-label, .kui-tag-value, .kui-chip-value) {
2750
+ min-width: 0;
2751
+ overflow: hidden;
2752
+ text-overflow: ellipsis;
2753
+ white-space: nowrap;
2754
+ }
2755
+
2756
+ :where(.kui-tag-label, .kui-chip-label)::before {
2757
+ content: attr(data-label);
2758
+ }
2759
+
2760
+ :where(.kui-tag-value, .kui-chip-value)::before {
2761
+ content: attr(data-value);
2762
+ }
2763
+
2764
+ :where(.kui-tag-count, .kui-chip-count) {
2765
+ min-width: 18px;
2766
+ min-height: 18px;
2767
+ display: inline-flex;
2768
+ align-items: center;
2769
+ justify-content: center;
2770
+ padding-inline: var(--spacer-4);
2771
+ color: var(--text-default);
2772
+ background: var(--bg-overlay-l3);
2773
+ border-radius: var(--radius-full);
2774
+ }
2775
+
2776
+ :where(.kui-tag-count, .kui-chip-count)::before {
2777
+ content: attr(data-count);
2778
+ }
2779
+
2780
+ :where(.kui-tag-icon, .kui-chip-icon)::before {
2781
+ content: '#';
2782
+ }
2783
+
2784
+ :where(.kui-tag-remove, .kui-chip-remove) {
2785
+ min-width: 18px;
2786
+ min-height: 18px;
2787
+ display: inline-grid;
2788
+ place-items: center;
2789
+ padding: 0;
2790
+ color: currentColor;
2791
+ background: transparent;
2792
+ border: 0;
2793
+ border-radius: var(--radius-full);
2794
+ }
2795
+
2796
+ :where(.kui-tag-remove, .kui-chip-remove)::before {
2797
+ content: 'x';
2798
+ }
2799
+
2800
+ :where(.kui-note, .kui-callout) {
2801
+ min-width: 0;
2802
+ display: grid;
2803
+ grid-template-columns: auto minmax(0, 1fr) auto auto;
2804
+ gap: var(--spacer-8);
2805
+ padding: var(--spacer-12);
2806
+ color: var(--text-default);
2807
+ background: var(--bg-base-secondary);
2808
+ border: 1px solid var(--border-neutral-l2);
2809
+ border-radius: var(--radius-8);
2810
+ }
2811
+
2812
+ :where(.kui-note[data-content-density='compact'], .kui-callout[data-content-density='compact']) {
2813
+ gap: var(--spacer-6);
2814
+ padding: var(--spacer-8);
2815
+ }
2816
+
2817
+ :where(.kui-callout) {
2818
+ border-inline-start-width: 3px;
2819
+ }
2820
+
2821
+ :where(.kui-note[data-tone='success'], .kui-callout[data-tone='success']) {
2822
+ background: var(--status-success-surface-l1);
2823
+ border-color: var(--status-success-default);
2824
+ }
2825
+
2826
+ :where(.kui-note[data-tone='warning'], .kui-callout[data-tone='warning']) {
2827
+ background: var(--status-warning-surface-l1);
2828
+ border-color: var(--status-warning-default);
2829
+ }
2830
+
2831
+ :where(.kui-note[data-tone='error'], .kui-callout[data-tone='error']) {
2832
+ background: var(--status-error-surface-l1);
2833
+ border-color: var(--status-error-default);
2834
+ }
2835
+
2836
+ :where(.kui-note-icon, .kui-callout-icon) {
2837
+ color: var(--text-secondary);
2838
+ }
2839
+
2840
+ :where(.kui-note-icon)::before {
2841
+ content: 'i';
2842
+ }
2843
+
2844
+ :where(.kui-callout-icon)::before {
2845
+ content: '!';
2846
+ }
2847
+
2848
+ :where(.kui-note-content, .kui-callout-content) {
2849
+ min-width: 0;
2850
+ display: grid;
2851
+ gap: var(--spacer-2);
2852
+ }
2853
+
2854
+ :where([data-note-rich-content='true'][data-content-density='comfortable']) {
2855
+ gap: var(--spacer-6);
2856
+ }
2857
+
2858
+ :where([data-note-rich-content='true'] > :is(p, ul, ol)) {
2859
+ margin: 0;
2860
+ }
2861
+
2862
+ :where([data-note-rich-content='true'] > :is(ul, ol)) {
2863
+ padding-inline-start: var(--spacer-20);
2864
+ color: var(--text-secondary);
2865
+ font-size: var(--body-sm-font-size);
2866
+ line-height: var(--body-sm-line-height);
2867
+ }
2868
+
2869
+ :where(.kui-note-title, .kui-callout-title) {
2870
+ color: var(--text-default);
2871
+ }
2872
+
2873
+ :where(.kui-note-description, .kui-callout-description) {
2874
+ margin: 0;
2875
+ color: var(--text-secondary);
2876
+ font-size: var(--body-sm-font-size);
2877
+ line-height: var(--body-sm-line-height);
2878
+ }
2879
+
2880
+ :where(.kui-note-action, .kui-callout-action, .kui-panel-action, .kui-card-action) {
2881
+ min-height: 28px;
2882
+ display: inline-flex;
2883
+ align-items: center;
2884
+ justify-content: center;
2885
+ padding-inline: var(--spacer-8);
2886
+ color: var(--text-secondary);
2887
+ background: var(--bg-base-tertiary);
2888
+ border: 1px solid var(--border-neutral-l2);
2889
+ border-radius: var(--radius-6);
2890
+ }
2891
+
2892
+ :where(.kui-note-action, .kui-callout-action, .kui-panel-action, .kui-card-action)::before {
2893
+ content: attr(data-label);
2894
+ }
2895
+
2896
+ :where(
2897
+ .kui-note-action[data-tone='primary'],
2898
+ .kui-callout-action[data-tone='primary'],
2899
+ .kui-panel-action[data-tone='primary'],
2900
+ .kui-card-action[data-tone='primary']
2901
+ ) {
2902
+ color: var(--text-onbrand);
2903
+ background: var(--bg-brand);
2904
+ border-color: var(--border-brand);
2905
+ }
2906
+
2907
+ :where(.kui-note-action[data-tone='danger'], .kui-callout-action[data-tone='danger']) {
2908
+ color: var(--status-error-default);
2909
+ }
2910
+
2911
+ :where(.kui-note-close, .kui-callout-close) {
2912
+ min-width: 28px;
2913
+ min-height: 28px;
2914
+ padding: 0;
2915
+ color: var(--text-secondary);
2916
+ background: transparent;
2917
+ border: 0;
2918
+ border-radius: var(--radius-6);
2919
+ }
2920
+
2921
+ :where(.kui-note-close, .kui-callout-close)::before {
2922
+ content: 'x';
2923
+ }
2924
+
2925
+ :where(
2926
+ .kui-note-action[data-action-state='disabled'],
2927
+ .kui-callout-action[data-action-state='disabled'],
2928
+ .kui-note-close[data-close-state='disabled'],
2929
+ .kui-callout-close[data-close-state='disabled']
2930
+ ) {
2931
+ cursor: not-allowed;
2932
+ opacity: 0.56;
2933
+ }
2934
+
2935
+ :where(.kui-panel, .kui-card) {
2936
+ min-width: 0;
2937
+ display: grid;
2938
+ gap: var(--spacer-12);
2939
+ padding: var(--spacer-12);
2940
+ color: var(--text-default);
2941
+ background: var(--bg-base-secondary);
2942
+ border: 1px solid var(--border-neutral-l1);
2943
+ border-radius: var(--radius-8);
2944
+ }
2945
+
2946
+ :where(.kui-card) {
2947
+ gap: var(--spacer-8);
2948
+ }
2949
+
2950
+ :where(.kui-panel[data-media-placement='start']) {
2951
+ grid-template-columns: minmax(96px, 0.35fr) minmax(0, 1fr);
2952
+ }
2953
+
2954
+ :where(.kui-panel[data-media-placement='start'] > :not(.kui-panel-media)) {
2955
+ grid-column: 2;
2956
+ }
2957
+
2958
+ :where(.kui-panel-media, .kui-card-media) {
2959
+ min-height: 72px;
2960
+ display: grid;
2961
+ place-items: center;
2962
+ padding: var(--spacer-8);
2963
+ color: var(--text-secondary);
2964
+ background: var(--bg-base-tertiary);
2965
+ border: 1px solid var(--border-neutral-l1);
2966
+ border-radius: var(--radius-6);
2967
+ font-size: var(--body-sm-font-size);
2968
+ line-height: var(--body-sm-line-height);
2969
+ }
2970
+
2971
+ :where(.kui-panel-media)::before,
2972
+ :where(.kui-card-media)::before {
2973
+ content: attr(aria-label);
2974
+ }
2975
+
2976
+ :where(.kui-panel[data-media-placement='start'] > .kui-panel-media) {
2977
+ grid-row: 1 / -1;
2978
+ }
2979
+
2980
+ :where(.kui-panel[data-tone='subtle'], .kui-card[data-tone='subtle']) {
2981
+ background: var(--bg-base-tertiary);
2982
+ }
2983
+
2984
+ :where(.kui-panel[data-tone='elevated'], .kui-card[data-tone='elevated']) {
2985
+ border-color: var(--border-neutral-l2);
2986
+ box-shadow: 0 12px 32px rgba(0, 0, 0, 0.24);
2987
+ }
2988
+
2989
+ :where(.kui-panel[data-interactive='true'], .kui-card[data-interactive='true']) {
2990
+ cursor: pointer;
2991
+ }
2992
+
2993
+ :where(.kui-panel[data-state='selected'], .kui-card[data-state='selected']) {
2994
+ border-color: var(--border-brand);
2995
+ box-shadow: inset 0 0 0 1px var(--border-brand);
2996
+ }
2997
+
2998
+ :where(.kui-panel[data-selected-emphasis='true'], .kui-card[data-selected-emphasis='true']) {
2999
+ background: var(--bg-brand-popup);
3000
+ }
3001
+
3002
+ :where(
3003
+ .kui-panel-action[data-action-state='disabled'],
3004
+ .kui-card-action[data-action-state='disabled']
3005
+ ) {
3006
+ cursor: not-allowed;
3007
+ opacity: 0.56;
3008
+ }
3009
+
3010
+ :where(.kui-panel-action[hidden], .kui-card-action[hidden]) {
3011
+ display: none;
3012
+ }
3013
+
3014
+ :where(.kui-panel-header, .kui-card-header) {
3015
+ min-width: 0;
3016
+ display: grid;
3017
+ grid-template-columns: minmax(0, 1fr) auto;
3018
+ gap: var(--spacer-8);
3019
+ }
3020
+
3021
+ :where(.kui-panel-title, .kui-card-title) {
3022
+ margin: 0;
3023
+ color: var(--text-default);
3024
+ font-size: var(--heading-sm-font-size);
3025
+ line-height: var(--heading-sm-line-height);
3026
+ }
3027
+
3028
+ :where(.kui-panel-description, .kui-card-description) {
3029
+ margin: var(--spacer-2) 0 0;
3030
+ color: var(--text-secondary);
3031
+ font-size: var(--body-sm-font-size);
3032
+ line-height: var(--body-sm-line-height);
3033
+ }
3034
+
3035
+ :where(.kui-panel-body, .kui-card-body) {
3036
+ min-width: 0;
3037
+ }
3038
+
3039
+ :where(.kui-panel-footer, .kui-card-footer) {
3040
+ display: flex;
3041
+ flex-wrap: wrap;
3042
+ justify-content: flex-end;
3043
+ gap: var(--spacer-8);
3044
+ padding-block-start: var(--spacer-8);
3045
+ border-top: 1px solid var(--border-neutral-l1);
3046
+ }
3047
+
3048
+ :where(.kui-stat-card, .kui-table-panel) {
3049
+ min-width: 0;
3050
+ display: grid;
3051
+ gap: var(--spacer-8);
3052
+ padding: var(--spacer-12);
3053
+ color: var(--text-default);
3054
+ background: var(--bg-base-secondary);
3055
+ border: 1px solid var(--border-neutral-l1);
3056
+ border-radius: var(--radius-8);
3057
+ }
3058
+
3059
+ :where(.kui-stat-card[data-tone='brand']) {
3060
+ border-color: var(--border-brand);
3061
+ box-shadow: inset 0 0 0 1px var(--border-brand);
3062
+ }
3063
+
3064
+ :where(.kui-stat-card-header, .kui-table-panel-header) {
3065
+ min-width: 0;
3066
+ display: grid;
3067
+ gap: var(--spacer-4);
3068
+ }
3069
+
3070
+ :where(.kui-stat-card-title, .kui-table-panel-title) {
3071
+ margin: 0;
3072
+ color: var(--text-default);
3073
+ font-size: var(--heading-sm-font-size);
3074
+ line-height: var(--heading-sm-line-height);
3075
+ }
3076
+
3077
+ :where(.kui-stat-card-value) {
3078
+ color: var(--text-default);
3079
+ font-size: var(--heading-lg-font-size);
3080
+ line-height: var(--heading-lg-line-height);
3081
+ font-weight: var(--font-weight-semibold);
3082
+ }
3083
+
3084
+ :where(.kui-stat-card-unit, .kui-stat-card-trend) {
3085
+ color: var(--text-secondary);
3086
+ font-size: var(--body-sm-font-size);
3087
+ line-height: var(--body-sm-line-height);
3088
+ }
3089
+
3090
+ :where(.kui-stat-card-trend[data-direction='up']) {
3091
+ color: var(--status-success-default);
3092
+ }
3093
+
3094
+ :where(.kui-stat-card-trend[data-direction='down']) {
3095
+ color: var(--status-error-default);
3096
+ }
3097
+
3098
+ :where(.kui-stat-card-description, .kui-table-panel-description) {
3099
+ margin: 0;
3100
+ color: var(--text-secondary);
3101
+ font-size: var(--body-sm-font-size);
3102
+ line-height: var(--body-sm-line-height);
3103
+ }
3104
+
3105
+ :where(.kui-stat-card-action, .kui-table-panel-action, .kui-result-action) {
3106
+ min-height: 28px;
3107
+ display: inline-flex;
3108
+ align-items: center;
3109
+ justify-content: center;
3110
+ padding-inline: var(--spacer-8);
3111
+ color: var(--text-secondary);
3112
+ background: var(--bg-base-tertiary);
3113
+ border: 1px solid var(--border-neutral-l2);
3114
+ border-radius: var(--radius-6);
3115
+ }
3116
+
3117
+ :where(.kui-table-panel-toolbar) {
3118
+ display: flex;
3119
+ flex-wrap: wrap;
3120
+ align-items: center;
3121
+ gap: var(--spacer-6);
3122
+ }
3123
+
3124
+ :where(.kui-table-panel-body) {
3125
+ min-width: 0;
3126
+ }
3127
+
3128
+ :where(.kui-table-panel-scroller) {
3129
+ min-width: 0;
3130
+ overflow: auto;
3131
+ }
3132
+
3133
+ :where(.kui-table-panel-empty) {
3134
+ min-height: 96px;
3135
+ display: grid;
3136
+ place-items: center;
3137
+ color: var(--text-secondary);
3138
+ }
3139
+
3140
+ :where(.kui-progress) {
3141
+ height: 8px;
3142
+ overflow: hidden;
3143
+ background: var(--bg-base-tertiary);
3144
+ border-radius: var(--radius-full);
3145
+ }
3146
+
3147
+ :where(.kui-progress)::before {
3148
+ width: var(--kui-progress-value, 0%);
3149
+ height: 100%;
3150
+ display: block;
3151
+ content: '';
3152
+ background: var(--bg-brand);
3153
+ }
3154
+
3155
+ :where(.kui-progress[data-status='success'])::before {
3156
+ background: var(--status-success-default);
3157
+ }
3158
+
3159
+ :where(.kui-progress[data-status='warning'])::before {
3160
+ background: var(--status-warning-default);
3161
+ }
3162
+
3163
+ :where(.kui-progress[data-status='error'])::before {
3164
+ background: var(--status-error-default);
3165
+ }
3166
+
3167
+ :where(.kui-split-workspace) {
3168
+ min-width: 0;
3169
+ min-height: 0;
3170
+ display: grid;
3171
+ grid-template-columns: repeat(var(--kui-workspace-columns, 3), minmax(0, 1fr));
3172
+ gap: var(--spacer-12);
3173
+ overflow: hidden;
3174
+ }
3175
+
3176
+ :where(.kui-split-workspace-area) {
3177
+ min-width: min(100%, var(--kui-area-min, 0px));
3178
+ min-height: 0;
3179
+ overflow: auto;
3180
+ }
3181
+
3182
+ :where(.kui-virtual-list) {
3183
+ position: relative;
3184
+ min-height: 0;
3185
+ overflow: auto;
3186
+ contain: strict;
3187
+ }
3188
+
3189
+ :where(.kui-virtual-list-spacer) {
3190
+ position: relative;
3191
+ width: 100%;
3192
+ }
3193
+
3194
+ :where(.kui-virtual-list-item) {
3195
+ position: absolute;
3196
+ inset-block-start: 0;
3197
+ inset-inline: 0;
3198
+ overflow: hidden;
3199
+ will-change: transform;
3200
+ }
3201
+
3202
+ :where(.kui-virtual-list[data-dynamic='true'] .kui-virtual-list-item) {
3203
+ overflow: visible;
3204
+ contain: layout paint;
3205
+ }
3206
+
3207
+ :where(.kui-combobox) {
3208
+ position: relative;
3209
+ display: grid;
3210
+ gap: var(--spacer-4);
3211
+ }
3212
+
3213
+ :where(.kui-combobox-input) {
3214
+ min-height: 32px;
3215
+ width: 100%;
3216
+ padding: 0 var(--spacer-8);
3217
+ color: var(--text-default);
3218
+ background: var(--bg-base-secondary);
3219
+ border: 1px solid var(--border-neutral-l2);
3220
+ border-radius: var(--radius-6);
3221
+ }
3222
+
3223
+ :where(.kui-combobox-listbox) {
3224
+ position: absolute;
3225
+ inset-block-start: calc(100% + var(--spacer-4));
3226
+ inset-inline: 0;
3227
+ z-index: var(--z-index-dropdown);
3228
+ max-height: 240px;
3229
+ padding: var(--spacer-4);
3230
+ margin: 0;
3231
+ overflow: auto;
3232
+ list-style: none;
3233
+ background: var(--bg-base-secondary);
3234
+ border: 1px solid var(--border-neutral-l2);
3235
+ border-radius: var(--radius-6);
3236
+ box-shadow: 0 12px 32px rgba(0, 0, 0, 0.24);
3237
+ }
3238
+
3239
+ :where(.kui-combobox-option) {
3240
+ min-height: 32px;
3241
+ display: flex;
3242
+ align-items: center;
3243
+ padding: 0 var(--spacer-8);
3244
+ border-radius: var(--radius-4);
3245
+ }
3246
+
3247
+ :where(.kui-combobox-option[data-state='active']) {
3248
+ background: var(--bg-brand-popup);
3249
+ }
3250
+
3251
+ :where(.kui-combobox-option[data-state='selected']) {
3252
+ color: var(--text-brand);
3253
+ }
3254
+
3255
+ :where(.kui-cascader) {
3256
+ position: relative;
3257
+ min-width: 0;
3258
+ display: grid;
3259
+ gap: var(--spacer-4);
3260
+ }
3261
+
3262
+ :where(.kui-cascader-trigger) {
3263
+ min-height: 32px;
3264
+ width: 100%;
3265
+ display: inline-flex;
3266
+ align-items: center;
3267
+ justify-content: space-between;
3268
+ gap: var(--spacer-8);
3269
+ padding: 0 var(--spacer-8);
3270
+ color: var(--text-default);
3271
+ background: var(--bg-base-secondary);
3272
+ border: 1px solid var(--border-neutral-l2);
3273
+ border-radius: var(--radius-6);
3274
+ }
3275
+
3276
+ :where(.kui-cascader-trigger)::before {
3277
+ min-width: 0;
3278
+ overflow: hidden;
3279
+ content: attr(data-label);
3280
+ text-overflow: ellipsis;
3281
+ white-space: nowrap;
3282
+ }
3283
+
3284
+ :where(.kui-cascader-trigger)::after {
3285
+ content: '›';
3286
+ color: var(--icon-secondary);
3287
+ transform: rotate(90deg);
3288
+ }
3289
+
3290
+ :where(.kui-cascader-popup) {
3291
+ position: absolute;
3292
+ inset-block-start: calc(100% + var(--spacer-4));
3293
+ inset-inline-start: 0;
3294
+ z-index: var(--z-index-dropdown);
3295
+ max-width: min(calc(100vw - 32px), 760px);
3296
+ max-height: 320px;
3297
+ display: grid;
3298
+ grid-auto-columns: minmax(180px, 1fr);
3299
+ grid-auto-flow: column;
3300
+ color: var(--text-default);
3301
+ background: var(--bg-base-secondary);
3302
+ border: 1px solid var(--border-neutral-l2);
3303
+ border-radius: var(--radius-8);
3304
+ box-shadow: 0 12px 32px rgba(0, 0, 0, 0.24);
3305
+ overflow: auto;
3306
+ }
3307
+
3308
+ :where(.kui-cascader-column) {
3309
+ min-width: 180px;
3310
+ display: grid;
3311
+ align-content: start;
3312
+ gap: var(--spacer-2);
3313
+ padding: var(--spacer-4);
3314
+ }
3315
+
3316
+ :where(.kui-cascader-column + .kui-cascader-column) {
3317
+ border-inline-start: 1px solid var(--border-neutral-l1);
3318
+ }
3319
+
3320
+ :where(.kui-cascader-option) {
3321
+ min-height: 32px;
3322
+ display: grid;
3323
+ grid-template-columns: minmax(0, 1fr) auto;
3324
+ align-items: center;
3325
+ gap: var(--spacer-6);
3326
+ padding: 0 var(--spacer-8);
3327
+ color: var(--text-default);
3328
+ background: transparent;
3329
+ border: 0;
3330
+ border-radius: var(--radius-4);
3331
+ text-align: start;
3332
+ cursor: pointer;
3333
+ }
3334
+
3335
+ :where(.kui-cascader-option)::before {
3336
+ min-width: 0;
3337
+ overflow: hidden;
3338
+ content: attr(data-label);
3339
+ text-overflow: ellipsis;
3340
+ white-space: nowrap;
3341
+ }
3342
+
3343
+ :where(.kui-cascader-option[data-has-children='true'])::after {
3344
+ content: '›';
3345
+ color: var(--icon-secondary);
3346
+ }
3347
+
3348
+ :where(.kui-cascader-option:hover, .kui-cascader-option[data-state='active']) {
3349
+ color: var(--text-default-hover);
3350
+ background: var(--bg-overlay-l2);
3351
+ }
3352
+
3353
+ :where(.kui-cascader-option[data-state='selected']) {
3354
+ color: var(--text-brand);
3355
+ background: var(--bg-brand-popup);
3356
+ }
3357
+
3358
+ :where(.kui-tree, .kui-tree-select-popup) {
3359
+ min-width: 0;
3360
+ padding: var(--spacer-4);
3361
+ color: var(--text-default);
3362
+ background: var(--bg-base-secondary);
3363
+ border: 1px solid var(--border-neutral-l1);
3364
+ border-radius: var(--radius-6);
3365
+ font-size: var(--body-sm-font-size);
3366
+ line-height: var(--body-sm-line-height);
3367
+ }
3368
+
3369
+ :where(.kui-tree-row) {
3370
+ height: 26px;
3371
+ display: flex;
3372
+ align-items: center;
3373
+ gap: var(--spacer-6);
3374
+ padding-inline: var(--spacer-6);
3375
+ padding-inline-start: calc(var(--spacer-6) + (var(--kui-tree-depth, 0) * 16px));
3376
+ color: var(--text-default);
3377
+ border-radius: var(--radius-4);
3378
+ cursor: pointer;
3379
+ white-space: nowrap;
3380
+ }
3381
+
3382
+ :where(.kui-tree-row[data-depth='0']) {
3383
+ --kui-tree-depth: 0;
3384
+ }
3385
+
3386
+ :where(.kui-tree-row[data-depth='1']) {
3387
+ --kui-tree-depth: 1;
3388
+ }
3389
+
3390
+ :where(.kui-tree-row[data-depth='2']) {
3391
+ --kui-tree-depth: 2;
3392
+ }
3393
+
3394
+ :where(.kui-tree-row[data-depth='3']) {
3395
+ --kui-tree-depth: 3;
3396
+ }
3397
+
3398
+ :where(.kui-tree-row:hover) {
3399
+ background: var(--bg-overlay-l2);
3400
+ }
3401
+
3402
+ :where(.kui-tree-row[data-state='active'], .kui-tree-row.is-active) {
3403
+ color: var(--text-default-hover);
3404
+ background: var(--bg-overlay-l3);
3405
+ }
3406
+
3407
+ :where(.kui-tree-chevron, .kui-tree-icon) {
3408
+ width: 14px;
3409
+ height: 14px;
3410
+ flex: 0 0 14px;
3411
+ display: inline-flex;
3412
+ align-items: center;
3413
+ justify-content: center;
3414
+ }
3415
+
3416
+ :where(.kui-tree-chevron)::before {
3417
+ content: '›';
3418
+ color: var(--icon-secondary);
3419
+ }
3420
+
3421
+ :where(.kui-tree-chevron[data-expanded='true'])::before {
3422
+ transform: rotate(90deg);
3423
+ }
3424
+
3425
+ :where(.kui-tree-chevron--leaf) {
3426
+ visibility: hidden;
3427
+ }
3428
+
3429
+ :where(.kui-tree-icon) {
3430
+ width: 16px;
3431
+ height: 16px;
3432
+ flex-basis: 16px;
3433
+ color: var(--icon-secondary);
3434
+ }
3435
+
3436
+ :where(.kui-tree-icon)::before {
3437
+ content: '□';
3438
+ }
3439
+
3440
+ :where(.kui-tree-icon--folder)::before {
3441
+ content: '▣';
3442
+ }
3443
+
3444
+ :where(.kui-tree-icon--ts) {
3445
+ color: var(--accent-blue);
3446
+ }
3447
+
3448
+ :where(.kui-tree-icon--css) {
3449
+ color: var(--code-attribute);
3450
+ }
3451
+
3452
+ :where(.kui-tree-icon--json) {
3453
+ color: var(--code-constant);
3454
+ }
3455
+
3456
+ :where(.kui-tree-label) {
3457
+ min-width: 0;
3458
+ overflow: hidden;
3459
+ text-overflow: ellipsis;
3460
+ }
3461
+
3462
+ :where(.kui-tree-select) {
3463
+ position: relative;
3464
+ display: grid;
3465
+ gap: var(--spacer-4);
3466
+ }
3467
+
3468
+ :where(.kui-tree-select-trigger) {
3469
+ min-height: 32px;
3470
+ width: 100%;
3471
+ display: inline-flex;
3472
+ align-items: center;
3473
+ justify-content: space-between;
3474
+ padding: 0 var(--spacer-8);
3475
+ color: var(--text-default);
3476
+ background: var(--bg-base-secondary);
3477
+ border: 1px solid var(--border-neutral-l2);
3478
+ border-radius: var(--radius-6);
3479
+ }
3480
+
3481
+ :where(.kui-tree-select-trigger)::after {
3482
+ content: attr(data-label);
3483
+ min-width: 0;
3484
+ overflow: hidden;
3485
+ text-overflow: ellipsis;
3486
+ }
3487
+
3488
+ :where(.kui-tree-select-popup) {
3489
+ position: absolute;
3490
+ inset-block-start: calc(100% + var(--spacer-4));
3491
+ inset-inline: 0;
3492
+ z-index: var(--z-index-dropdown);
3493
+ max-height: 280px;
3494
+ overflow: auto;
3495
+ box-shadow: 0 12px 32px rgba(0, 0, 0, 0.24);
3496
+ }
3497
+
3498
+ :where(.kui-adaptive-grid) {
3499
+ display: grid;
3500
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--kui-grid-min, 240px)), 1fr));
3501
+ gap: var(--spacer-12);
3502
+ }
3503
+
3504
+ :where(.kui-button, .kui-input, .kui-textarea, .kui-select, .kui-switch) {
3505
+ min-height: 32px;
3506
+ border: 1px solid var(--border-neutral-l2);
3507
+ border-radius: var(--radius-6);
3508
+ transition:
3509
+ background var(--transition-fast),
3510
+ border-color var(--transition-fast),
3511
+ color var(--transition-fast),
3512
+ opacity var(--transition-fast);
3513
+ }
3514
+
3515
+ :where(
3516
+ .kui-density-comfortable,
3517
+ [data-density='comfortable'] .kui-button,
3518
+ [data-density='comfortable'] .kui-input,
3519
+ [data-density='comfortable'] .kui-textarea,
3520
+ [data-density='comfortable'] .kui-select,
3521
+ [data-density='comfortable'] .kui-switch
3522
+ ) {
3523
+ min-height: 40px;
3524
+ }
3525
+
3526
+ :where(.kui-button) {
3527
+ display: inline-flex;
3528
+ align-items: center;
3529
+ justify-content: center;
3530
+ gap: var(--spacer-6);
3531
+ padding: 0 var(--spacer-12);
3532
+ font-weight: var(--font-weight-medium);
3533
+ color: var(--text-onbrand);
3534
+ background: var(--bg-brand);
3535
+ border-color: var(--border-brand);
3536
+ text-decoration: none;
3537
+ cursor: pointer;
3538
+ }
3539
+
3540
+ :where(.kui-button--soft) {
3541
+ color: var(--text-brand);
3542
+ background: var(--bg-brand-popup);
3543
+ }
3544
+
3545
+ :where(.kui-button--ghost) {
3546
+ color: var(--text-default);
3547
+ background: transparent;
3548
+ border-color: transparent;
3549
+ }
3550
+
3551
+ :where(.kui-button--sm) {
3552
+ min-height: 28px;
3553
+ padding-inline: var(--spacer-8);
3554
+ }
3555
+
3556
+ :where(.kui-button--lg) {
3557
+ min-height: 40px;
3558
+ padding-inline: var(--spacer-16);
3559
+ }
3560
+
3561
+ :where(.kui-button--icon-only) {
3562
+ width: 32px;
3563
+ padding-inline: 0;
3564
+ }
3565
+
3566
+ :where(.kui-button:hover:not(:disabled, [aria-disabled='true'])) {
3567
+ background: var(--bg-brand-hover);
3568
+ }
3569
+
3570
+ :where(.kui-input, .kui-textarea, .kui-select) {
3571
+ width: 100%;
3572
+ padding: 0 var(--spacer-8);
3573
+ color: var(--text-default);
3574
+ background: var(--bg-base-secondary);
3575
+ }
3576
+
3577
+ :where(.kui-textarea) {
3578
+ min-height: 80px;
3579
+ padding-block: var(--spacer-8);
3580
+ resize: vertical;
3581
+ }
3582
+
3583
+ :where(.kui-checkbox, .kui-radio) {
3584
+ accent-color: var(--bg-brand);
3585
+ }
3586
+
3587
+ :where(.kui-switch) {
3588
+ min-width: 44px;
3589
+ padding: 2px;
3590
+ background: var(--bg-base-tertiary);
3591
+ }
3592
+
3593
+ :where(.kui-switch[data-state='checked']) {
3594
+ background: var(--bg-brand);
3595
+ }
3596
+
3597
+ :where(.kui-icon) {
3598
+ width: 1em;
3599
+ height: 1em;
3600
+ display: inline-flex;
3601
+ color: currentColor;
3602
+ }
3603
+
3604
+ :where(.kui-skeleton) {
3605
+ min-height: 1em;
3606
+ display: block;
3607
+ border-radius: var(--radius-4);
3608
+ background: var(--bg-overlay-l3);
3609
+ }
3610
+
3611
+ :where(.kui-skeleton-screen) {
3612
+ min-width: 0;
3613
+ display: grid;
3614
+ gap: var(--spacer-6);
3615
+ }
3616
+
3617
+ :where(.kui-skeleton-screen-row) {
3618
+ height: 12px;
3619
+ width: var(--kui-skeleton-width, 100%);
3620
+ }
3621
+
3622
+ :where(.kui-spin) {
3623
+ width: 1em;
3624
+ height: 1em;
3625
+ display: inline-block;
3626
+ border: 2px solid var(--border-neutral-l2);
3627
+ border-top-color: var(--border-brand);
3628
+ border-radius: var(--radius-full);
3629
+ animation: kui-spin 0.8s linear infinite;
3630
+ }
3631
+
3632
+ :where(.kui-spin-overlay) {
3633
+ min-width: 0;
3634
+ display: inline-flex;
3635
+ align-items: center;
3636
+ gap: var(--spacer-6);
3637
+ color: var(--text-secondary);
3638
+ }
3639
+
3640
+ :where(.kui-button-loading) {
3641
+ gap: var(--spacer-6);
3642
+ }
3643
+
3644
+ :where(.kui-button-loading-indicator) {
3645
+ margin-inline-start: var(--spacer-4);
3646
+ }
3647
+
3648
+ :where(.kui-button-loading-label) {
3649
+ min-width: 0;
3650
+ overflow: hidden;
3651
+ text-overflow: ellipsis;
3652
+ white-space: nowrap;
3653
+ }
3654
+
3655
+ :where([data-disabled], [data-readonly], [data-loading], :disabled) {
3656
+ cursor: not-allowed;
3657
+ opacity: 0.56;
3658
+ }
3659
+
3660
+ :where([data-invalid]) {
3661
+ border-color: var(--status-error-default);
3662
+ }
3663
+
3664
+ @media (pointer: coarse) {
3665
+ :where(.kui-button, .kui-input, .kui-select, .kui-switch) {
3666
+ min-height: 40px;
3667
+ }
3668
+ }
3669
+
3670
+ @keyframes kui-spin {
3671
+ to {
3672
+ transform: rotate(360deg);
3673
+ }
3674
+ }
3675
+ }
3676
+
3677
+ /* ---- calendar picker & calendar grid (2026-08-25, 方案 A 官方组件) ---- */
3678
+ :where(.kui-calendar-picker) {
3679
+ position: relative;
3680
+ display: inline-block;
3681
+ }
3682
+
3683
+ :where(.kui-calendar-picker__input) {
3684
+ width: 180px;
3685
+ padding: 6px 10px;
3686
+ border: 1px solid var(--border-neutral-l1);
3687
+ border-radius: var(--radius-4);
3688
+ background: var(--color-surface);
3689
+ color: var(--color-foreground);
3690
+ font-family: var(--body-base-font-family);
3691
+ font-size: var(--font-size-md, 14px);
3692
+ cursor: pointer;
3693
+ }
3694
+
3695
+ :where(.kui-calendar-picker__input:hover) {
3696
+ border-color: var(--border-neutral-l2);
3697
+ }
3698
+
3699
+ :where(.kui-calendar-picker__input[disabled]) {
3700
+ opacity: 0.5;
3701
+ cursor: not-allowed;
3702
+ }
3703
+
3704
+ :where(.kui-calendar-popover) {
3705
+ position: absolute;
3706
+ top: calc(100% + 4px);
3707
+ left: 0;
3708
+ z-index: 20;
3709
+ padding: 12px;
3710
+ border: 1px solid var(--border-neutral-l1);
3711
+ border-radius: var(--radius-8);
3712
+ background: var(--color-surface);
3713
+ box-shadow: 0 4px 16px rgb(0 0 0 / 0.12);
3714
+ font-family: var(--body-base-font-family);
3715
+ }
3716
+
3717
+ :where(.kui-calendar-popover[hidden]) {
3718
+ display: none;
3719
+ }
3720
+
3721
+ :where(.kui-calendar-header) {
3722
+ display: flex;
3723
+ align-items: center;
3724
+ justify-content: space-between;
3725
+ gap: var(--spacer-8, 8px);
3726
+ margin-bottom: 8px;
3727
+ }
3728
+
3729
+ :where(.kui-calendar-nav) {
3730
+ width: 24px;
3731
+ height: 24px;
3732
+ border: none;
3733
+ border-radius: var(--radius-4);
3734
+ background: transparent;
3735
+ color: var(--color-foreground);
3736
+ cursor: pointer;
3737
+ font-size: 14px;
3738
+ }
3739
+
3740
+ :where(.kui-calendar-nav:hover) {
3741
+ background: var(--color-surface-variant);
3742
+ }
3743
+
3744
+ :where(.kui-calendar-nav[disabled]) {
3745
+ opacity: 0.4;
3746
+ cursor: not-allowed;
3747
+ }
3748
+
3749
+ :where(.kui-calendar-title) {
3750
+ font-size: var(--font-size-md, 14px);
3751
+ font-weight: 600;
3752
+ }
3753
+
3754
+ :where(.kui-calendar-weekday-row) {
3755
+ display: grid;
3756
+ grid-template-columns: repeat(7, 1fr);
3757
+ gap: 2px;
3758
+ margin-bottom: 4px;
3759
+ }
3760
+
3761
+ :where(.kui-calendar-weekday) {
3762
+ text-align: center;
3763
+ font-size: 12px;
3764
+ color: var(--color-foreground-muted, var(--color-foreground));
3765
+ opacity: 0.7;
3766
+ }
3767
+
3768
+ :where(.kui-calendar-grid) {
3769
+ display: grid;
3770
+ grid-template-columns: repeat(7, 1fr);
3771
+ gap: 2px;
3772
+ }
3773
+
3774
+ :where(.kui-calendar-day) {
3775
+ width: 32px;
3776
+ height: 32px;
3777
+ border: none;
3778
+ border-radius: var(--radius-4);
3779
+ background: transparent;
3780
+ color: var(--color-foreground);
3781
+ cursor: pointer;
3782
+ font-size: 13px;
3783
+ }
3784
+
3785
+ :where(.kui-calendar-day:hover) {
3786
+ background: var(--color-surface-variant);
3787
+ }
3788
+
3789
+ :where(.kui-calendar-day[data-state='selected']) {
3790
+ background: var(--color-primary);
3791
+ color: var(--color-surface);
3792
+ font-weight: 600;
3793
+ }
3794
+
3795
+ :where(.kui-calendar-day[data-state='today']) {
3796
+ outline: 1px solid var(--color-primary);
3797
+ outline-offset: -1px;
3798
+ }
3799
+
3800
+ :where(.kui-calendar-day[data-state='outside']) {
3801
+ opacity: 0.4;
3802
+ }
3803
+
3804
+ :where(.kui-calendar-day[data-state='disabled']) {
3805
+ opacity: 0.35;
3806
+ cursor: not-allowed;
3807
+ }
3808
+ /* ---- workbench shell: status bar / activity rail / titlebar / composer (2026-08-25) ---- */
3809
+ :where(.kui-status-bar) {
3810
+ display: flex;
3811
+ justify-content: space-between;
3812
+ align-items: center;
3813
+ gap: var(--spacer-24, 24px);
3814
+ padding: 4px 12px;
3815
+ background: var(--bg-base-secondary, var(--bg-base-default));
3816
+ font-size: 12px;
3817
+ color: var(--text-tertiary, var(--color-foreground));
3818
+ }
3819
+
3820
+ :where(.kui-status-bar-item) {
3821
+ display: inline-flex;
3822
+ align-items: center;
3823
+ gap: 4px;
3824
+ white-space: nowrap;
3825
+ }
3826
+
3827
+ :where(.kui-status-bar-item[data-tone])::before {
3828
+ content: '';
3829
+ width: 8px;
3830
+ height: 8px;
3831
+ border-radius: 50%;
3832
+ }
3833
+
3834
+ :where(.kui-status-bar-item[data-tone='success'])::before {
3835
+ background: var(--status-success-default, #16a34a);
3836
+ }
3837
+ :where(.kui-status-bar-item[data-tone='warning'])::before {
3838
+ background: var(--status-warning-default, #d97706);
3839
+ }
3840
+ :where(.kui-status-bar-item[data-tone='error'])::before {
3841
+ background: var(--status-error-default, #dc2626);
3842
+ }
3843
+
3844
+ :where(.kui-activity-rail) {
3845
+ display: flex;
3846
+ flex-direction: column;
3847
+ align-items: center;
3848
+ gap: 4px;
3849
+ width: 48px;
3850
+ padding: 8px 0;
3851
+ background: var(--bg-base-secondary, var(--bg-base-default));
3852
+ }
3853
+
3854
+ :where(.kui-activity-rail-button) {
3855
+ width: 36px;
3856
+ height: 36px;
3857
+ display: inline-flex;
3858
+ align-items: center;
3859
+ justify-content: center;
3860
+ border: none;
3861
+ border-radius: var(--radius-6, 6px);
3862
+ background: transparent;
3863
+ color: var(--icon-secondary, var(--color-foreground));
3864
+ cursor: pointer;
3865
+ }
3866
+
3867
+ :where(.kui-activity-rail-button:hover) {
3868
+ background: var(--bg-overlay-l2, var(--color-surface-variant));
3869
+ }
3870
+ :where(.kui-activity-rail-button[data-state='active']) {
3871
+ background: var(--bg-overlay-l3, var(--color-surface-variant));
3872
+ }
3873
+ :where(.kui-activity-rail-button[data-state='disabled']) {
3874
+ opacity: 0.4;
3875
+ cursor: not-allowed;
3876
+ }
3877
+
3878
+ :where(.kui-activity-rail-divider) {
3879
+ width: 28px;
3880
+ height: 1px;
3881
+ margin: 4px 0;
3882
+ background: var(--border-neutral-l2, var(--border-neutral-l1));
3883
+ }
3884
+
3885
+ :where(.kui-activity-rail-spacer) {
3886
+ flex: 1;
3887
+ }
3888
+
3889
+ :where(.kui-workbench-titlebar) {
3890
+ display: flex;
3891
+ align-items: center;
3892
+ justify-content: space-between;
3893
+ height: 36px;
3894
+ padding: 0 12px;
3895
+ background: var(--bg-base-secondary, var(--bg-base-default));
3896
+ border-bottom: 1px solid var(--border-neutral-l1);
3897
+ }
3898
+
3899
+ :where(.kui-workbench-titlebar-left, .kui-workbench-titlebar-right) {
3900
+ display: flex;
3901
+ align-items: center;
3902
+ gap: 8px;
3903
+ }
3904
+
3905
+ :where(.kui-workbench-titlebar-light) {
3906
+ width: 10px;
3907
+ height: 10px;
3908
+ border-radius: 50%;
3909
+ }
3910
+
3911
+ :where(.kui-workbench-titlebar-light[data-light='close']) {
3912
+ background: var(--status-error-default, #dc2626);
3913
+ }
3914
+ :where(.kui-workbench-titlebar-light[data-light='min']) {
3915
+ background: var(--status-warning-default, #d97706);
3916
+ }
3917
+ :where(.kui-workbench-titlebar-light[data-light='max']) {
3918
+ background: var(--status-success-default, #16a34a);
3919
+ }
3920
+
3921
+ :where(.kui-workbench-titlebar-mode-chip) {
3922
+ display: inline-flex;
3923
+ align-items: center;
3924
+ gap: 4px;
3925
+ padding: 2px 8px;
3926
+ border-radius: var(--radius-full, 999px);
3927
+ background: var(--bg-overlay-l2, var(--color-surface-variant));
3928
+ font-size: 12px;
3929
+ }
3930
+
3931
+ :where(.kui-workbench-titlebar-project-selector) {
3932
+ display: inline-flex;
3933
+ align-items: center;
3934
+ gap: 4px;
3935
+ padding: 2px 6px;
3936
+ border: none;
3937
+ background: transparent;
3938
+ color: var(--color-foreground);
3939
+ cursor: pointer;
3940
+ font-size: 12px;
3941
+ }
3942
+
3943
+ :where(.kui-workbench-titlebar-action) {
3944
+ width: 26px;
3945
+ height: 26px;
3946
+ display: inline-flex;
3947
+ align-items: center;
3948
+ justify-content: center;
3949
+ border: none;
3950
+ border-radius: var(--radius-4, 4px);
3951
+ background: transparent;
3952
+ color: var(--icon-secondary, var(--color-foreground));
3953
+ cursor: pointer;
3954
+ }
3955
+
3956
+ :where(.kui-workbench-titlebar-action:hover) {
3957
+ background: var(--bg-overlay-l2, var(--color-surface-variant));
3958
+ }
3959
+
3960
+ :where(.kui-chat-composer) {
3961
+ display: flex;
3962
+ flex-direction: column;
3963
+ gap: 8px;
3964
+ padding: 12px;
3965
+ border: 1px solid var(--border-neutral-l1);
3966
+ border-radius: var(--radius-8, 8px);
3967
+ background: var(--color-surface);
3968
+ }
3969
+
3970
+ :where(.kui-chat-composer-input) {
3971
+ width: 100%;
3972
+ min-height: 40px;
3973
+ border: none;
3974
+ outline: none;
3975
+ resize: none;
3976
+ background: transparent;
3977
+ color: var(--color-foreground);
3978
+ font-family: var(--body-base-font-family);
3979
+ font-size: 14px;
3980
+ }
3981
+
3982
+ :where(.kui-chat-composer-toolbar) {
3983
+ display: flex;
3984
+ align-items: center;
3985
+ justify-content: space-between;
3986
+ }
3987
+
3988
+ :where(.kui-chat-composer-tools, .kui-chat-composer-actions) {
3989
+ display: flex;
3990
+ align-items: center;
3991
+ gap: 4px;
3992
+ }
3993
+
3994
+ :where(.kui-chat-composer-tool, .kui-chat-composer-action) {
3995
+ width: 28px;
3996
+ height: 28px;
3997
+ display: inline-flex;
3998
+ align-items: center;
3999
+ justify-content: center;
4000
+ border: none;
4001
+ border-radius: var(--radius-4, 4px);
4002
+ background: transparent;
4003
+ color: var(--icon-secondary, var(--color-foreground));
4004
+ cursor: pointer;
4005
+ }
4006
+
4007
+ :where(.kui-chat-composer-tool:hover, .kui-chat-composer-action:hover) {
4008
+ background: var(--bg-overlay-l2, var(--color-surface-variant));
4009
+ }
4010
+
4011
+ :where(.kui-chat-composer-model) {
4012
+ display: inline-flex;
4013
+ align-items: center;
4014
+ gap: 4px;
4015
+ padding: 2px 8px;
4016
+ border: none;
4017
+ border-radius: var(--radius-4, 4px);
4018
+ background: var(--bg-overlay-l2, var(--color-surface-variant));
4019
+ color: var(--color-foreground);
4020
+ cursor: pointer;
4021
+ font-size: 12px;
4022
+ }
4023
+
4024
+ /* ---- nav list (2026-08-25) ---- */
4025
+ :where(.kui-nav-list) {
4026
+ display: flex;
4027
+ flex-direction: column;
4028
+ gap: var(--spacer-8, 8px);
4029
+ width: 220px;
4030
+ padding: 8px;
4031
+ }
4032
+
4033
+ :where(.kui-nav-list-group) {
4034
+ display: flex;
4035
+ flex-direction: column;
4036
+ gap: 2px;
4037
+ }
4038
+
4039
+ :where(.kui-nav-list-group-title) {
4040
+ padding: 4px 8px;
4041
+ font-size: 11px;
4042
+ font-weight: 600;
4043
+ text-transform: uppercase;
4044
+ letter-spacing: 0.04em;
4045
+ color: var(--text-tertiary, var(--color-foreground));
4046
+ opacity: 0.7;
4047
+ }
4048
+
4049
+ :where(.kui-nav-list-item) {
4050
+ display: flex;
4051
+ align-items: center;
4052
+ gap: 8px;
4053
+ padding: 6px 8px;
4054
+ border: none;
4055
+ border-radius: var(--radius-4, 4px);
4056
+ background: transparent;
4057
+ color: var(--text-secondary, var(--color-foreground));
4058
+ text-decoration: none;
4059
+ cursor: pointer;
4060
+ font: inherit;
4061
+ font-size: 13px;
4062
+ }
4063
+
4064
+ :where(.kui-nav-list-item:hover) {
4065
+ background: var(--bg-overlay-l2, var(--color-surface-variant));
4066
+ }
4067
+ :where(.kui-nav-list-item[data-state='active']) {
4068
+ background: var(--bg-overlay-l3, var(--color-surface-variant));
4069
+ color: var(--text-default, var(--color-foreground));
4070
+ font-weight: 500;
4071
+ }
4072
+ :where(.kui-nav-list-item[data-state='disabled']) {
4073
+ opacity: 0.45;
4074
+ cursor: not-allowed;
4075
+ }
4076
+
4077
+ :where(.kui-nav-list-badge) {
4078
+ margin-left: auto;
4079
+ padding: 0 6px;
4080
+ border-radius: var(--radius-full, 999px);
4081
+ background: var(--bg-overlay-l3, var(--color-surface-variant));
4082
+ font-size: 11px;
4083
+ }
4084
+
4085
+ /* ---- setting row (2026-08-25) ---- */
4086
+ :where(.kui-setting-row-group) {
4087
+ display: flex;
4088
+ flex-direction: column;
4089
+ gap: 8px;
4090
+ }
4091
+
4092
+ :where(.kui-setting-row-group-label) {
4093
+ font-size: 12px;
4094
+ font-weight: 600;
4095
+ color: var(--text-tertiary, var(--color-foreground));
4096
+ }
4097
+
4098
+ :where(.kui-setting-row-panel) {
4099
+ display: flex;
4100
+ flex-direction: column;
4101
+ border: 1px solid var(--border-neutral-l1);
4102
+ border-radius: var(--radius-8, 8px);
4103
+ overflow: hidden;
4104
+ }
4105
+
4106
+ :where(.kui-setting-row) {
4107
+ display: flex;
4108
+ align-items: center;
4109
+ justify-content: space-between;
4110
+ gap: 16px;
4111
+ padding: 12px 16px;
4112
+ }
4113
+
4114
+ :where(.kui-setting-row + .kui-setting-row) {
4115
+ border-top: 1px solid var(--border-neutral-l1);
4116
+ }
4117
+
4118
+ :where(.kui-setting-row-main) {
4119
+ display: flex;
4120
+ flex-direction: column;
4121
+ gap: 2px;
4122
+ }
4123
+
4124
+ :where(.kui-setting-row-title) {
4125
+ font-size: 13px;
4126
+ font-weight: 500;
4127
+ color: var(--color-foreground);
4128
+ }
4129
+
4130
+ :where(.kui-setting-row-description) {
4131
+ font-size: 12px;
4132
+ color: var(--text-tertiary, var(--color-foreground));
4133
+ opacity: 0.75;
4134
+ }
4135
+
4136
+ :where(.kui-setting-row-control) {
4137
+ padding: 4px 10px;
4138
+ border: 1px solid var(--border-neutral-l1);
4139
+ border-radius: var(--radius-4, 4px);
4140
+ background: var(--color-surface);
4141
+ color: var(--color-foreground);
4142
+ cursor: pointer;
4143
+ font-size: 12px;
4144
+ white-space: nowrap;
4145
+ }
4146
+
4147
+ :where(.kui-setting-row-control[data-state='danger']) {
4148
+ border-color: var(--status-error-default, #dc2626);
4149
+ color: var(--status-error-default, #dc2626);
4150
+ }
4151
+
4152
+ :where(.kui-setting-row-control[data-state='disabled']) {
4153
+ opacity: 0.5;
4154
+ cursor: not-allowed;
4155
+ }
4156
+ /* ---- extras: date range picker / descriptions / timeline / rate / color picker / transfer (2026-08-25) ---- */
4157
+ :where(.kui-date-range-picker) {
4158
+ display: inline-flex;
4159
+ align-items: center;
4160
+ gap: 6px;
4161
+ }
4162
+
4163
+ :where(.kui-date-range-input) {
4164
+ width: 140px;
4165
+ padding: 6px 10px;
4166
+ border: 1px solid var(--border-neutral-l1);
4167
+ border-radius: var(--radius-4, 4px);
4168
+ background: var(--color-surface);
4169
+ color: var(--color-foreground);
4170
+ font-family: var(--body-base-font-family);
4171
+ font-size: 13px;
4172
+ cursor: pointer;
4173
+ }
4174
+
4175
+ :where(.kui-date-range-separator) {
4176
+ color: var(--text-tertiary, var(--color-foreground));
4177
+ font-size: 13px;
4178
+ }
4179
+
4180
+ :where(.kui-date-range-popover) {
4181
+ position: absolute;
4182
+ display: flex;
4183
+ gap: 16px;
4184
+ padding: 12px;
4185
+ border: 1px solid var(--border-neutral-l1);
4186
+ border-radius: var(--radius-8, 8px);
4187
+ background: var(--color-surface);
4188
+ box-shadow: 0 4px 16px rgb(0 0 0 / 0.12);
4189
+ z-index: 20;
4190
+ }
4191
+
4192
+ :where(.kui-date-range-popover[data-state='hidden']) {
4193
+ display: none;
4194
+ }
4195
+
4196
+ :where(.kui-descriptions) {
4197
+ display: grid;
4198
+ gap: 8px 24px;
4199
+ font-family: var(--body-base-font-family);
4200
+ font-size: 13px;
4201
+ }
4202
+
4203
+ :where(.kui-descriptions[data-state='vertical']) {
4204
+ grid-template-columns: 1fr;
4205
+ }
4206
+
4207
+ :where(.kui-descriptions[data-state='horizontal']) {
4208
+ grid-template-columns: auto 1fr;
4209
+ }
4210
+
4211
+ :where(.kui-descriptions[data-bordered='true']) {
4212
+ border: 1px solid var(--border-neutral-l1);
4213
+ border-radius: var(--radius-8, 8px);
4214
+ padding: 12px 16px;
4215
+ }
4216
+
4217
+ :where(.kui-descriptions-label) {
4218
+ color: var(--text-tertiary, var(--color-foreground));
4219
+ opacity: 0.75;
4220
+ }
4221
+
4222
+ :where(.kui-descriptions-value) {
4223
+ margin: 0;
4224
+ color: var(--color-foreground);
4225
+ }
4226
+
4227
+ :where(.kui-timeline) {
4228
+ list-style: none;
4229
+ margin: 0;
4230
+ padding: 0;
4231
+ font-family: var(--body-base-font-family);
4232
+ }
4233
+
4234
+ :where(.kui-timeline-title) {
4235
+ font-size: 13px;
4236
+ font-weight: 500;
4237
+ color: var(--color-foreground);
4238
+ }
4239
+
4240
+ :where(.kui-timeline-description) {
4241
+ font-size: 12px;
4242
+ color: var(--text-tertiary, var(--color-foreground));
4243
+ }
4244
+
4245
+ :where(.kui-timeline-time) {
4246
+ font-size: 12px;
4247
+ color: var(--text-tertiary, var(--color-foreground));
4248
+ opacity: 0.75;
4249
+ }
4250
+
4251
+ :where(.kui-rate) {
4252
+ display: inline-flex;
4253
+ align-items: center;
4254
+ gap: 2px;
4255
+ }
4256
+
4257
+ :where(.kui-rate-star) {
4258
+ width: 22px;
4259
+ height: 22px;
4260
+ display: inline-flex;
4261
+ align-items: center;
4262
+ justify-content: center;
4263
+ border: none;
4264
+ background: transparent;
4265
+ color: var(--border-neutral-l2, var(--color-foreground));
4266
+ cursor: pointer;
4267
+ font-size: 16px;
4268
+ }
4269
+
4270
+ :where(.kui-rate-star[data-state='active']) {
4271
+ color: var(--status-warning-default, #d97706);
4272
+ }
4273
+
4274
+ :where(.kui-rate-star[data-state='disabled']) {
4275
+ cursor: not-allowed;
4276
+ opacity: 0.4;
4277
+ }
4278
+
4279
+ :where(.kui-color-picker) {
4280
+ display: inline-flex;
4281
+ align-items: center;
4282
+ gap: 8px;
4283
+ }
4284
+
4285
+ :where(.kui-color-picker-input) {
4286
+ width: 36px;
4287
+ height: 28px;
4288
+ padding: 0;
4289
+ border: 1px solid var(--border-neutral-l1);
4290
+ border-radius: var(--radius-4, 4px);
4291
+ background: var(--color-surface);
4292
+ cursor: pointer;
4293
+ }
4294
+
4295
+ :where(.kui-color-picker-preview) {
4296
+ width: 18px;
4297
+ height: 18px;
4298
+ border: 1px solid var(--border-neutral-l1);
4299
+ border-radius: var(--radius-4, 4px);
4300
+ background: var(--bg-overlay-l2, var(--color-surface-variant));
4301
+ }
4302
+
4303
+ :where(.kui-color-picker-value) {
4304
+ font-size: 12px;
4305
+ font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
4306
+ color: var(--text-tertiary, var(--color-foreground));
4307
+ }
4308
+
4309
+ :where(.kui-transfer) {
4310
+ display: flex;
4311
+ align-items: stretch;
4312
+ gap: 12px;
4313
+ font-family: var(--body-base-font-family);
4314
+ }
4315
+
4316
+ :where(.kui-transfer-pane) {
4317
+ flex: 1;
4318
+ min-width: 160px;
4319
+ border: 1px solid var(--border-neutral-l1);
4320
+ border-radius: var(--radius-8, 8px);
4321
+ overflow: hidden;
4322
+ }
4323
+
4324
+ :where(.kui-transfer-list) {
4325
+ list-style: none;
4326
+ margin: 0;
4327
+ padding: 4px;
4328
+ max-height: 240px;
4329
+ overflow-y: auto;
4330
+ }
4331
+
4332
+ :where(.kui-transfer-actions) {
4333
+ display: flex;
4334
+ flex-direction: column;
4335
+ justify-content: center;
4336
+ gap: 8px;
4337
+ }
4338
+
4339
+ :where(.kui-transfer-action) {
4340
+ width: 28px;
4341
+ height: 28px;
4342
+ display: inline-flex;
4343
+ align-items: center;
4344
+ justify-content: center;
4345
+ border: 1px solid var(--border-neutral-l1);
4346
+ border-radius: var(--radius-4, 4px);
4347
+ background: var(--color-surface);
4348
+ color: var(--color-foreground);
4349
+ cursor: pointer;
4350
+ }
4351
+
4352
+ :where(.kui-transfer-action:hover) {
4353
+ background: var(--bg-overlay-l2, var(--color-surface-variant));
4354
+ }
4355
+ /* ---- extras2: number input / image / back top / mask input (2026-08-25) ---- */
4356
+ :where(.kui-number-input) {
4357
+ display: inline-flex;
4358
+ align-items: stretch;
4359
+ border: 1px solid var(--border-neutral-l1);
4360
+ border-radius: var(--radius-4, 4px);
4361
+ background: var(--color-surface);
4362
+ overflow: hidden;
4363
+ }
4364
+
4365
+ :where(.kui-number-input[data-invalid='true']) {
4366
+ border-color: var(--status-error-default, #dc2626);
4367
+ }
4368
+
4369
+ :where(.kui-number-input-field) {
4370
+ width: 72px;
4371
+ padding: 6px 8px;
4372
+ border: none;
4373
+ outline: none;
4374
+ background: transparent;
4375
+ color: var(--color-foreground);
4376
+ font-family: var(--body-base-font-family);
4377
+ font-size: 13px;
4378
+ text-align: center;
4379
+ }
4380
+
4381
+ :where(.kui-number-input-step) {
4382
+ width: 28px;
4383
+ border: none;
4384
+ background: transparent;
4385
+ color: var(--text-tertiary, var(--color-foreground));
4386
+ cursor: pointer;
4387
+ font-size: 14px;
4388
+ }
4389
+
4390
+ :where(.kui-number-input-step:hover) {
4391
+ background: var(--bg-overlay-l2, var(--color-surface-variant));
4392
+ }
4393
+ :where(.kui-number-input-step[data-state='disabled']) {
4394
+ opacity: 0.35;
4395
+ cursor: not-allowed;
4396
+ }
4397
+
4398
+ :where(.kui-image) {
4399
+ display: inline-block;
4400
+ margin: 0;
4401
+ }
4402
+
4403
+ :where(.kui-image-figure) {
4404
+ max-width: 100%;
4405
+ border-radius: var(--radius-4, 4px);
4406
+ cursor: default;
4407
+ }
4408
+
4409
+ :where(.kui-image[data-state='preview'] .kui-image-figure) {
4410
+ cursor: zoom-in;
4411
+ }
4412
+
4413
+ :where(.kui-image-caption) {
4414
+ margin-top: 4px;
4415
+ font-size: 12px;
4416
+ color: var(--text-tertiary, var(--color-foreground));
4417
+ text-align: center;
4418
+ }
4419
+
4420
+ :where(.kui-image-overlay) {
4421
+ position: fixed;
4422
+ inset: 0;
4423
+ z-index: 100;
4424
+ display: flex;
4425
+ align-items: center;
4426
+ justify-content: center;
4427
+ background: rgb(0 0 0 / 0.7);
4428
+ }
4429
+
4430
+ :where(.kui-image-overlay[data-state='hidden']) {
4431
+ display: none;
4432
+ }
4433
+
4434
+ :where(.kui-image-overlay-close) {
4435
+ position: absolute;
4436
+ top: 16px;
4437
+ right: 16px;
4438
+ width: 32px;
4439
+ height: 32px;
4440
+ border: none;
4441
+ border-radius: var(--radius-4, 4px);
4442
+ background: rgb(255 255 255 / 0.15);
4443
+ color: #fff;
4444
+ cursor: pointer;
4445
+ }
4446
+
4447
+ :where(.kui-back-top) {
4448
+ position: fixed;
4449
+ right: 24px;
4450
+ bottom: 24px;
4451
+ z-index: 50;
4452
+ width: 40px;
4453
+ height: 40px;
4454
+ display: inline-flex;
4455
+ align-items: center;
4456
+ justify-content: center;
4457
+ border: 1px solid var(--border-neutral-l1);
4458
+ border-radius: var(--radius-full, 999px);
4459
+ background: var(--color-surface);
4460
+ color: var(--color-foreground);
4461
+ box-shadow: 0 4px 12px rgb(0 0 0 / 0.12);
4462
+ cursor: pointer;
4463
+ }
4464
+
4465
+ :where(.kui-back-top:hover) {
4466
+ background: var(--bg-overlay-l2, var(--color-surface-variant));
4467
+ }
4468
+ :where(.kui-back-top[data-state='hidden']) {
4469
+ display: none;
4470
+ }
4471
+
4472
+ :where(.kui-mask-input) {
4473
+ display: inline-block;
4474
+ }
4475
+
4476
+ :where(.kui-mask-input[data-invalid='true']) .kui-mask-input-field {
4477
+ border-color: var(--status-error-default, #dc2626);
4478
+ }
4479
+
4480
+ :where(.kui-mask-input-field) {
4481
+ width: 200px;
4482
+ padding: 6px 10px;
4483
+ border: 1px solid var(--border-neutral-l1);
4484
+ border-radius: var(--radius-4, 4px);
4485
+ background: var(--color-surface);
4486
+ color: var(--color-foreground);
4487
+ font-family: var(--body-base-font-family);
4488
+ font-size: 13px;
4489
+ }
4490
+
4491
+ :where(.kui-mask-input-field:focus) {
4492
+ outline: none;
4493
+ border-color: var(--color-primary);
4494
+ }
4495
+
4496
+ :where(.kui-mask-input-field[disabled]) {
4497
+ opacity: 0.5;
4498
+ cursor: not-allowed;
4499
+ }
4500
+ /* ---- highlight & code block (2026-08-25) ---- */
4501
+ :where(mark.kui-highlight) {
4502
+ background: var(--status-warning-default, #d97706);
4503
+ color: var(--color-surface, #ffffff);
4504
+ border-radius: var(--radius-2, 2px);
4505
+ padding: 0 2px;
4506
+ }
4507
+
4508
+ :where(.kui-code-block) {
4509
+ margin: 0;
4510
+ border: 1px solid var(--border-neutral-l1);
4511
+ border-radius: var(--radius-8, 8px);
4512
+ overflow: hidden;
4513
+ font-family: var(--body-base-font-family);
4514
+ background: var(--color-surface);
4515
+ }
4516
+
4517
+ :where(.kui-code-block-header) {
4518
+ display: flex;
4519
+ align-items: center;
4520
+ justify-content: space-between;
4521
+ padding: 6px 12px;
4522
+ background: var(--bg-overlay-l2, var(--color-surface-variant));
4523
+ border-bottom: 1px solid var(--border-neutral-l1);
4524
+ }
4525
+
4526
+ :where(.kui-code-block-language) {
4527
+ font-size: 12px;
4528
+ font-weight: 500;
4529
+ color: var(--text-tertiary, var(--color-foreground));
4530
+ }
4531
+
4532
+ :where(.kui-code-block-copy) {
4533
+ padding: 2px 8px;
4534
+ border: none;
4535
+ border-radius: var(--radius-4, 4px);
4536
+ background: transparent;
4537
+ color: var(--text-tertiary, var(--color-foreground));
4538
+ cursor: pointer;
4539
+ font-size: 12px;
4540
+ }
4541
+
4542
+ :where(.kui-code-block-copy:hover) {
4543
+ background: var(--bg-overlay-l3, var(--color-surface-variant));
4544
+ }
4545
+ :where(.kui-code-block-copy[hidden]) {
4546
+ display: none;
4547
+ }
4548
+
4549
+ :where(.kui-code-block-code) {
4550
+ margin: 0;
4551
+ padding: 12px 16px;
4552
+ overflow-x: auto;
4553
+ font-family: ui-monospace, SFMono-Regular, Consolas, 'Liberation Mono', monospace;
4554
+ font-size: 13px;
4555
+ line-height: 1.6;
4556
+ color: var(--color-foreground);
4557
+ }
4558
+
4559
+ :where(.kui-code-block-line-numbers) {
4560
+ float: left;
4561
+ margin-right: 12px;
4562
+ padding-right: 12px;
4563
+ border-right: 1px solid var(--border-neutral-l1);
4564
+ color: var(--text-tertiary, var(--color-foreground));
4565
+ opacity: 0.6;
4566
+ text-align: right;
4567
+ user-select: none;
4568
+ }