@zvk/composite 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +410 -0
  3. package/dist/activity/activity-feed.d.ts +27 -0
  4. package/dist/activity/activity-feed.js +30 -0
  5. package/dist/ai/conversation-directory.d.ts +31 -0
  6. package/dist/ai/conversation-directory.js +44 -0
  7. package/dist/ai/provider-model-selector.d.ts +31 -0
  8. package/dist/ai/provider-model-selector.js +41 -0
  9. package/dist/ai/sticky-composer.d.ts +14 -0
  10. package/dist/ai/sticky-composer.js +13 -0
  11. package/dist/data/data-table-control-bar.d.ts +13 -0
  12. package/dist/data/data-table-control-bar.js +11 -0
  13. package/dist/detail/detail-inspector-panel.d.ts +21 -0
  14. package/dist/detail/detail-inspector-panel.js +18 -0
  15. package/dist/index.d.ts +32 -0
  16. package/dist/index.js +16 -0
  17. package/dist/integrations/integration-status-card.d.ts +20 -0
  18. package/dist/integrations/integration-status-card.js +15 -0
  19. package/dist/layout/feature-shell.d.ts +13 -0
  20. package/dist/layout/feature-shell.js +7 -0
  21. package/dist/navigation/command-palette-shell.d.ts +31 -0
  22. package/dist/navigation/command-palette-shell.js +45 -0
  23. package/dist/navigation/entity-switcher-menu.d.ts +38 -0
  24. package/dist/navigation/entity-switcher-menu.js +56 -0
  25. package/dist/navigation/link-action.d.ts +11 -0
  26. package/dist/navigation/link-action.js +41 -0
  27. package/dist/navigation/sectioned-workspace-shell.d.ts +2 -1
  28. package/dist/navigation/sectioned-workspace-shell.js +2 -2
  29. package/dist/settings/parameter-editor.d.ts +27 -0
  30. package/dist/settings/parameter-editor.js +12 -0
  31. package/dist/settings/settings-section-stack.d.ts +20 -0
  32. package/dist/settings/settings-section-stack.js +10 -0
  33. package/dist/state/route-state-frame.d.ts +10 -0
  34. package/dist/state/route-state-frame.js +31 -0
  35. package/dist/styles.css +2138 -99
  36. package/dist/workflows/process-list-panel.d.ts +26 -0
  37. package/dist/workflows/process-list-panel.js +24 -0
  38. package/dist/workflows/workflow-status-card.d.ts +20 -0
  39. package/dist/workflows/workflow-status-card.js +46 -0
  40. package/package.json +112 -17
package/dist/styles.css CHANGED
@@ -1,13 +1,160 @@
1
1
  /* src/styles.css */
2
2
  @layer zvk-composite-components;
3
3
 
4
+ /* src/activity/activity-feed.css */
5
+ @layer zvk-composite-components {
6
+ :where(.zvk-composite-activity-feed) {
7
+ background: var(--zvk-ui-color-surface);
8
+ border: 1px solid var(--zvk-ui-card-border);
9
+ border-radius: var(--zvk-ui-radius-lg);
10
+ box-shadow: var(--zvk-ui-shadow-xs);
11
+ color: var(--zvk-ui-color-foreground);
12
+ display: grid;
13
+ gap: var(--zvk-ui-space-4);
14
+ min-inline-size: 0;
15
+ padding: var(--zvk-ui-space-4);
16
+ }
17
+
18
+ :where(.zvk-composite-activity-feed__header),
19
+ :where(.zvk-composite-activity-feed__entry .zvk-composite-activity-feed__header) {
20
+ align-items: start;
21
+ display: grid;
22
+ gap: var(--zvk-ui-space-3);
23
+ grid-template-columns: minmax(0, 1fr) auto;
24
+ min-inline-size: 0;
25
+ }
26
+
27
+ :where(.zvk-composite-activity-feed__title),
28
+ :where(.zvk-composite-activity-feed__group-label),
29
+ :where(.zvk-composite-activity-feed__entry .zvk-composite-activity-feed__title) {
30
+ color: var(--zvk-ui-color-foreground);
31
+ font-weight: 700;
32
+ line-height: var(--zvk-ui-line-height-tight);
33
+ margin: 0;
34
+ }
35
+
36
+ :where(.zvk-composite-activity-feed__title) {
37
+ font-size: var(--zvk-ui-font-size-lg);
38
+ }
39
+
40
+ :where(.zvk-composite-activity-feed__group-label),
41
+ :where(.zvk-composite-activity-feed__entry .zvk-composite-activity-feed__title) {
42
+ font-size: var(--zvk-ui-font-size-sm);
43
+ }
44
+
45
+ :where(.zvk-composite-activity-feed__description),
46
+ :where(.zvk-composite-activity-feed__body),
47
+ :where(.zvk-composite-activity-feed__meta),
48
+ :where(.zvk-composite-activity-feed__footer),
49
+ :where(.zvk-composite-activity-feed__state) {
50
+ color: var(--zvk-ui-color-muted-foreground);
51
+ font-size: var(--zvk-ui-font-size-sm);
52
+ margin: 0;
53
+ }
54
+
55
+ :where(.zvk-composite-activity-feed__groups),
56
+ :where(.zvk-composite-activity-feed__group),
57
+ :where(.zvk-composite-activity-feed__content),
58
+ :where(.zvk-composite-activity-feed__copy) {
59
+ display: grid;
60
+ gap: var(--zvk-ui-space-2);
61
+ min-inline-size: 0;
62
+ }
63
+
64
+ :where(.zvk-composite-activity-feed__list) {
65
+ display: grid;
66
+ gap: var(--zvk-ui-space-3);
67
+ list-style: none;
68
+ margin: 0;
69
+ padding: 0;
70
+ }
71
+
72
+ :where(.zvk-composite-activity-feed__item) {
73
+ min-inline-size: 0;
74
+ }
75
+
76
+ :where(.zvk-composite-activity-feed__entry) {
77
+ border: 1px solid var(--zvk-ui-color-border-subtle);
78
+ border-radius: var(--zvk-ui-radius-md);
79
+ display: grid;
80
+ min-inline-size: 0;
81
+ padding: var(--zvk-ui-space-3);
82
+ }
83
+
84
+ :where(.zvk-composite-activity-feed__shell) {
85
+ display: grid;
86
+ gap: var(--zvk-ui-space-3);
87
+ grid-template-columns: auto minmax(0, 1fr);
88
+ min-inline-size: 0;
89
+ }
90
+
91
+ :where(.zvk-composite-activity-feed__entry[data-tone="info"]) {
92
+ border-color: color-mix(in srgb, var(--zvk-ui-color-info) 34%, var(--zvk-ui-color-border));
93
+ }
94
+
95
+ :where(.zvk-composite-activity-feed__entry[data-tone="success"]) {
96
+ border-color: color-mix(in srgb, var(--zvk-ui-color-success) 34%, var(--zvk-ui-color-border));
97
+ }
98
+
99
+ :where(.zvk-composite-activity-feed__entry[data-tone="warning"]) {
100
+ border-color: color-mix(in srgb, var(--zvk-ui-color-warning) 36%, var(--zvk-ui-color-border));
101
+ }
102
+
103
+ :where(.zvk-composite-activity-feed__entry[data-tone="danger"]) {
104
+ border-color: color-mix(in srgb, var(--zvk-ui-color-destructive) 34%, var(--zvk-ui-color-border));
105
+ }
106
+
107
+ :where(.zvk-composite-activity-feed__icon) {
108
+ align-items: center;
109
+ background: var(--zvk-ui-color-muted);
110
+ border-radius: var(--zvk-ui-radius-full);
111
+ color: var(--zvk-ui-color-muted-foreground);
112
+ display: inline-flex;
113
+ block-size: 2rem;
114
+ inline-size: 2rem;
115
+ justify-content: center;
116
+ }
117
+
118
+ :where(.zvk-composite-activity-feed__actions) {
119
+ align-items: center;
120
+ display: flex;
121
+ flex-wrap: wrap;
122
+ gap: var(--zvk-ui-space-2);
123
+ }
124
+
125
+ :where(.zvk-composite-activity-feed__footer) {
126
+ border-top: 1px solid var(--zvk-ui-color-border-subtle);
127
+ padding-block-start: var(--zvk-ui-space-3);
128
+ }
129
+
130
+ :where(.zvk-composite-activity-feed__state) {
131
+ border: 1px dashed var(--zvk-ui-color-border);
132
+ border-radius: var(--zvk-ui-radius-md);
133
+ padding: var(--zvk-ui-space-4);
134
+ text-align: center;
135
+ }
136
+
137
+ @media (max-width: 40rem) {
138
+ :where(.zvk-composite-activity-feed__header),
139
+ :where(.zvk-composite-activity-feed__entry .zvk-composite-activity-feed__header),
140
+ :where(.zvk-composite-activity-feed__shell) {
141
+ grid-template-columns: 1fr;
142
+ }
143
+
144
+ :where(.zvk-composite-activity-feed__icon) {
145
+ justify-self: start;
146
+ }
147
+ }
148
+ }
149
+
150
+
4
151
  /* src/layout/page-scaffold.css */
5
152
  @layer zvk-composite-components {
6
153
  :where(.zvk-composite-page-scaffold) {
7
154
  --zvk-composite-page-scaffold-max-width: 80rem;
8
155
  color: var(--zvk-ui-color-foreground);
9
156
  display: grid;
10
- font-family: var(--zvk-ui-font-family-sans);
157
+ font-family: var(--zvk-ui-font-family-primary);
11
158
  gap: var(--zvk-ui-space-5);
12
159
  inline-size: min(100%, var(--zvk-composite-page-scaffold-max-width));
13
160
  margin-inline: auto;
@@ -104,6 +251,26 @@
104
251
  }
105
252
 
106
253
 
254
+ /* src/layout/feature-shell.css */
255
+ @layer zvk-composite-components {
256
+ :where(.zvk-composite-feature-shell) {
257
+ container-type: inline-size;
258
+ min-inline-size: 0;
259
+ width: 100%;
260
+ }
261
+
262
+ @container (max-width: 36rem) {
263
+ :where(.zvk-composite-feature-shell .zvk-composite-workspace-header) {
264
+ grid-template-columns: minmax(0, 1fr);
265
+ }
266
+
267
+ :where(.zvk-composite-feature-shell .zvk-composite-workspace-header__controls) {
268
+ justify-content: start;
269
+ }
270
+ }
271
+ }
272
+
273
+
107
274
  /* src/navigation/app-workspace-shell.css */
108
275
  @layer zvk-composite-components {
109
276
  :where(.zvk-composite-app-workspace-shell) {
@@ -114,7 +281,8 @@
114
281
  border-radius: var(--zvk-ui-radius-lg);
115
282
  box-shadow: var(--zvk-ui-shadow-sm);
116
283
  color: var(--zvk-ui-color-foreground);
117
- font-family: var(--zvk-ui-font-family-sans);
284
+ container: zvk-composite-app-workspace-shell / inline-size;
285
+ font-family: var(--zvk-ui-font-family-primary);
118
286
  gap: var(--zvk-ui-space-5);
119
287
  min-block-size: 100%;
120
288
  overflow: clip;
@@ -134,6 +302,7 @@
134
302
  border-block-end: 1px solid var(--zvk-ui-color-border);
135
303
  color: var(--zvk-ui-color-foreground);
136
304
  display: flex;
305
+ font-family: var(--zvk-ui-font-family-secondary);
137
306
  font-size: var(--zvk-ui-font-size-lg);
138
307
  font-weight: 700;
139
308
  gap: var(--zvk-ui-space-2);
@@ -203,6 +372,7 @@
203
372
  :where(.zvk-composite-app-workspace-shell__mobile-nav-summary) {
204
373
  color: var(--zvk-ui-color-foreground);
205
374
  cursor: pointer;
375
+ font-family: var(--zvk-ui-font-family-secondary);
206
376
  font-size: var(--zvk-ui-font-size-sm);
207
377
  font-weight: 700;
208
378
  list-style: none;
@@ -230,7 +400,35 @@
230
400
  gap: var(--zvk-ui-space-2);
231
401
  }
232
402
 
233
- @media (max-width: 48rem) {
403
+ @container zvk-composite-app-workspace-shell (max-width: 72rem) {
404
+ :where(.zvk-composite-app-workspace-shell__sidebar) {
405
+ display: none;
406
+ }
407
+
408
+ :where(.zvk-composite-app-workspace-shell__mobile-nav) {
409
+ display: block;
410
+ }
411
+
412
+ :where(.zvk-composite-app-workspace-shell__main) {
413
+ grid-column: 1 / -1;
414
+ padding: var(--zvk-ui-space-3);
415
+ }
416
+
417
+ :where(.zvk-composite-app-workspace-shell__header) {
418
+ grid-template-columns: 1fr;
419
+ }
420
+
421
+ :where(.zvk-composite-app-workspace-shell__account-menu) {
422
+ justify-self: start;
423
+ }
424
+ }
425
+
426
+ @media (max-width: 72rem) {
427
+ :where(.zvk-composite-app-workspace-shell),
428
+ :where(.zvk-composite-app-workspace-shell[data-side="right"]) {
429
+ grid-template-columns: 1fr;
430
+ }
431
+
234
432
  :where(.zvk-composite-app-workspace-shell__sidebar) {
235
433
  display: none;
236
434
  }
@@ -254,149 +452,417 @@
254
452
  }
255
453
 
256
454
 
257
- /* src/navigation/sectioned-workspace-shell.css */
455
+ /* src/navigation/command-palette-shell.css */
258
456
  @layer zvk-composite-components {
259
- :where(.zvk-composite-sectioned-workspace-shell) {
457
+ :where(.zvk-composite-command-palette-shell) {
260
458
  color: var(--zvk-ui-color-foreground);
261
- display: grid;
262
- font-family: var(--zvk-ui-font-family-sans);
263
- gap: var(--zvk-ui-space-5);
264
- grid-template-columns: minmax(14rem, 18rem) minmax(0, 1fr);
265
- min-block-size: 100%;
266
- min-inline-size: 0;
459
+ font-family: var(--zvk-ui-font-family-primary);
267
460
  }
268
461
 
269
- :where(.zvk-composite-sectioned-workspace-shell__sidebar) {
270
- background:
271
- linear-gradient(180deg, color-mix(in srgb, var(--zvk-ui-color-primary) 5%, transparent), transparent 12rem),
272
- var(--zvk-ui-color-surface);
273
- border: 1px solid var(--zvk-ui-color-border);
274
- border-radius: var(--zvk-ui-radius-md);
275
- box-shadow: var(--zvk-ui-shadow-xs);
276
- min-inline-size: 0;
277
- padding: var(--zvk-ui-space-3);
462
+ :where(.zvk-composite-command-palette-shell__content) {
463
+ gap: 0;
464
+ max-inline-size: min(38rem, calc(100vw - 2rem));
465
+ overflow: hidden;
466
+ padding: 0;
278
467
  }
279
468
 
280
- :where(.zvk-composite-sectioned-workspace-shell__body) {
281
- display: grid;
282
- gap: var(--zvk-ui-space-5);
283
- grid-template-rows: auto minmax(0, 1fr) auto;
284
- min-block-size: 0;
285
- min-inline-size: 0;
469
+ :where(.zvk-composite-command-palette-shell__title) {
470
+ border-block-end: 1px solid var(--zvk-ui-color-border);
471
+ font-family: var(--zvk-ui-font-family-secondary);
472
+ padding: var(--zvk-ui-space-4);
286
473
  }
287
474
 
288
- :where(.zvk-composite-sectioned-workspace-shell__header) {
475
+ :where(.zvk-composite-command-palette-shell__command) {
476
+ border: 0;
477
+ box-shadow: none;
478
+ }
479
+
480
+ :where(.zvk-composite-command-palette-shell__search) {
289
481
  border-block-end: 1px solid var(--zvk-ui-color-border);
290
- padding-block-end: var(--zvk-ui-space-4);
291
482
  }
292
483
 
293
- :where(.zvk-composite-sectioned-workspace-shell__content) {
484
+ :where(.zvk-composite-command-palette-shell__list) {
485
+ max-block-size: min(28rem, calc(100vh - 14rem));
486
+ overflow: auto;
487
+ }
488
+
489
+ :where(.zvk-composite-command-palette-shell__item) {
490
+ align-items: center;
294
491
  display: grid;
295
- gap: var(--zvk-ui-space-4);
296
- min-block-size: 0;
297
- min-inline-size: 0;
492
+ gap: var(--zvk-ui-space-3);
493
+ grid-template-columns: auto minmax(0, 1fr) auto;
298
494
  }
299
495
 
300
- :where(.zvk-composite-sectioned-workspace-shell__footer) {
301
- border-block-start: 1px solid var(--zvk-ui-color-border);
496
+ :where(.zvk-composite-command-palette-shell__item-icon) {
302
497
  color: var(--zvk-ui-color-muted-foreground);
303
- font-size: var(--zvk-ui-font-size-sm);
304
- padding-block-start: var(--zvk-ui-space-4);
498
+ display: inline-grid;
499
+ flex: 0 0 auto;
500
+ place-items: center;
305
501
  }
306
502
 
307
- :where(.zvk-composite-sectioned-workspace-shell__nav-item-content) {
503
+ :where(.zvk-composite-command-palette-shell__item-content) {
308
504
  display: grid;
309
- gap: var(--zvk-ui-space-1);
505
+ gap: 0.125rem;
310
506
  min-inline-size: 0;
311
507
  }
312
508
 
313
- :where(.zvk-composite-sectioned-workspace-shell__nav-item-label),
314
- :where(.zvk-composite-sectioned-workspace-shell__nav-item-description) {
509
+ :where(.zvk-composite-command-palette-shell__item-label),
510
+ :where(.zvk-composite-command-palette-shell__item-description) {
315
511
  min-inline-size: 0;
316
512
  overflow: hidden;
317
513
  text-overflow: ellipsis;
318
514
  white-space: nowrap;
319
515
  }
320
516
 
321
- :where(.zvk-composite-sectioned-workspace-shell__nav-item-description) {
517
+ :where(.zvk-composite-command-palette-shell__item-label) {
518
+ font-family: var(--zvk-ui-font-family-secondary);
519
+ }
520
+
521
+ :where(.zvk-composite-command-palette-shell__item-description) {
322
522
  color: var(--zvk-ui-color-muted-foreground);
323
523
  font-size: var(--zvk-ui-font-size-xs);
324
524
  line-height: var(--zvk-ui-line-height-tight);
325
525
  }
326
526
 
327
- @media (max-width: 56rem) {
328
- :where(.zvk-composite-sectioned-workspace-shell) {
329
- grid-template-columns: 1fr;
330
- }
527
+ :where(.zvk-composite-command-palette-shell__shortcut) {
528
+ justify-self: end;
529
+ }
331
530
 
332
- :where(.zvk-composite-sectioned-workspace-shell__body) {
333
- order: 1;
334
- }
531
+ :where(.zvk-composite-command-palette-shell__state) {
532
+ color: var(--zvk-ui-color-muted-foreground);
533
+ font-size: var(--zvk-ui-font-size-sm);
534
+ padding: var(--zvk-ui-space-5);
535
+ text-align: center;
536
+ }
335
537
 
336
- :where(.zvk-composite-sectioned-workspace-shell__sidebar) {
337
- order: 2;
338
- }
538
+ :where(.zvk-composite-command-palette-shell__footer) {
539
+ border-block-start: 1px solid var(--zvk-ui-color-border);
540
+ color: var(--zvk-ui-color-muted-foreground);
541
+ font-size: var(--zvk-ui-font-size-xs);
542
+ padding: var(--zvk-ui-space-3) var(--zvk-ui-space-4);
339
543
  }
340
544
  }
341
545
 
342
546
 
343
- /* src/navigation/workspace-header.css */
547
+ /* src/navigation/entity-switcher-menu.css */
344
548
  @layer zvk-composite-components {
345
- :where(.zvk-composite-workspace-header) {
346
- align-items: start;
347
- display: grid;
348
- gap: var(--zvk-ui-space-4);
349
- grid-template-columns: minmax(0, 1fr) auto;
350
- inline-size: 100%;
549
+ :where(.zvk-composite-entity-switcher-menu) {
550
+ color: var(--zvk-ui-color-foreground);
551
+ font-family: var(--zvk-ui-font-family-primary);
351
552
  min-inline-size: 0;
352
553
  }
353
554
 
354
- :where(.zvk-composite-workspace-header[data-align="center"]) {
355
- align-items: center;
555
+ :where(.zvk-composite-entity-switcher-menu__trigger) {
556
+ justify-content: space-between;
557
+ min-inline-size: 13rem;
558
+ text-align: start;
356
559
  }
357
560
 
358
- :where(.zvk-composite-workspace-header__content) {
561
+ :where(.zvk-composite-entity-switcher-menu[data-size="sm"] .zvk-composite-entity-switcher-menu__trigger) {
562
+ min-inline-size: 11rem;
563
+ }
564
+
565
+ :where(.zvk-composite-entity-switcher-menu__trigger-content),
566
+ :where(.zvk-composite-entity-switcher-menu__current),
567
+ :where(.zvk-composite-entity-switcher-menu__current-text),
568
+ :where(.zvk-composite-entity-switcher-menu__item-content) {
359
569
  display: grid;
360
- gap: var(--zvk-ui-space-2);
361
570
  min-inline-size: 0;
362
571
  }
363
572
 
364
- :where(.zvk-composite-workspace-header__kicker) {
365
- align-items: center;
366
- display: flex;
367
- flex-wrap: wrap;
368
- gap: var(--zvk-ui-space-2);
369
- min-inline-size: 0;
573
+ :where(.zvk-composite-entity-switcher-menu__trigger-content) {
574
+ gap: 0.125rem;
370
575
  }
371
576
 
372
- :where(.zvk-composite-workspace-header__eyebrow) {
577
+ :where(.zvk-composite-entity-switcher-menu__label) {
373
578
  color: var(--zvk-ui-color-muted-foreground);
579
+ font-family: var(--zvk-ui-font-family-secondary);
374
580
  font-size: var(--zvk-ui-font-size-xs);
375
- font-weight: 700;
376
- letter-spacing: 0;
377
581
  line-height: var(--zvk-ui-line-height-tight);
378
- text-transform: uppercase;
379
582
  }
380
583
 
381
- :where(.zvk-composite-workspace-header__status) {
584
+ :where(.zvk-composite-entity-switcher-menu__current) {
382
585
  align-items: center;
383
- background: color-mix(in srgb, var(--zvk-ui-color-primary) 10%, var(--zvk-ui-color-surface));
384
- border: 1px solid color-mix(in srgb, var(--zvk-ui-color-primary) 26%, var(--zvk-ui-color-border));
385
- border-radius: var(--zvk-ui-radius-full);
386
- color: var(--zvk-ui-color-foreground);
387
- display: inline-flex;
388
- font-size: var(--zvk-ui-font-size-xs);
389
- font-weight: 600;
390
- line-height: var(--zvk-ui-line-height-tight);
391
- min-block-size: 1.5rem;
392
- padding-inline: var(--zvk-ui-space-2);
586
+ gap: var(--zvk-ui-space-2);
587
+ grid-template-columns: auto minmax(0, 1fr);
393
588
  }
394
589
 
395
- :where(.zvk-composite-workspace-header__title) {
396
- color: var(--zvk-ui-color-foreground);
397
- font-size: clamp(var(--zvk-ui-font-size-xl), 2vw, var(--zvk-ui-font-size-2xl));
398
- font-weight: 800;
399
- letter-spacing: 0;
590
+ :where(.zvk-composite-entity-switcher-menu__current-icon),
591
+ :where(.zvk-composite-entity-switcher-menu__item-icon) {
592
+ color: var(--zvk-ui-color-muted-foreground);
593
+ display: inline-grid;
594
+ flex: 0 0 auto;
595
+ place-items: center;
596
+ }
597
+
598
+ :where(.zvk-composite-entity-switcher-menu__current-label),
599
+ :where(.zvk-composite-entity-switcher-menu__current-description),
600
+ :where(.zvk-composite-entity-switcher-menu__item-label),
601
+ :where(.zvk-composite-entity-switcher-menu__item-description),
602
+ :where(.zvk-composite-entity-switcher-menu__item-meta) {
603
+ min-inline-size: 0;
604
+ overflow: hidden;
605
+ text-overflow: ellipsis;
606
+ white-space: nowrap;
607
+ }
608
+
609
+ :where(.zvk-composite-entity-switcher-menu__current-label),
610
+ :where(.zvk-composite-entity-switcher-menu__item-label) {
611
+ font-family: var(--zvk-ui-font-family-secondary);
612
+ }
613
+
614
+ :where(.zvk-composite-entity-switcher-menu__current-description),
615
+ :where(.zvk-composite-entity-switcher-menu__item-description),
616
+ :where(.zvk-composite-entity-switcher-menu__item-meta) {
617
+ color: var(--zvk-ui-color-muted-foreground);
618
+ font-size: var(--zvk-ui-font-size-xs);
619
+ line-height: var(--zvk-ui-line-height-tight);
620
+ }
621
+
622
+ :where(.zvk-composite-entity-switcher-menu__chevron) {
623
+ color: var(--zvk-ui-color-muted-foreground);
624
+ flex: 0 0 auto;
625
+ font-size: var(--zvk-ui-font-size-xs);
626
+ line-height: 1;
627
+ margin-inline-start: var(--zvk-ui-space-2);
628
+ }
629
+
630
+ :where(.zvk-composite-entity-switcher-menu__content) {
631
+ min-inline-size: min(22rem, calc(100vw - 2rem));
632
+ padding: 0;
633
+ }
634
+
635
+ :where(.zvk-composite-entity-switcher-menu__command) {
636
+ border: 0;
637
+ box-shadow: none;
638
+ }
639
+
640
+ :where(.zvk-composite-entity-switcher-menu__search) {
641
+ border-block-end: 1px solid var(--zvk-ui-color-border);
642
+ }
643
+
644
+ :where(.zvk-composite-entity-switcher-menu__list) {
645
+ max-block-size: min(24rem, calc(100vh - 12rem));
646
+ overflow: auto;
647
+ }
648
+
649
+ :where(.zvk-composite-entity-switcher-menu__item) {
650
+ align-items: center;
651
+ display: grid;
652
+ gap: var(--zvk-ui-space-2);
653
+ grid-template-columns: auto minmax(0, 1fr) auto auto;
654
+ }
655
+
656
+ :where(.zvk-composite-entity-switcher-menu__item[data-current="true"]) {
657
+ background: color-mix(in srgb, var(--zvk-ui-color-primary) 10%, transparent);
658
+ }
659
+
660
+ :where(.zvk-composite-entity-switcher-menu__item-badge) {
661
+ background: var(--zvk-ui-color-muted);
662
+ border-radius: var(--zvk-ui-radius-full);
663
+ color: var(--zvk-ui-color-muted-foreground);
664
+ font-size: var(--zvk-ui-font-size-xs);
665
+ line-height: var(--zvk-ui-line-height-tight);
666
+ padding: 0.125rem var(--zvk-ui-space-2);
667
+ }
668
+
669
+ :where(.zvk-composite-entity-switcher-menu__state) {
670
+ color: var(--zvk-ui-color-muted-foreground);
671
+ font-size: var(--zvk-ui-font-size-sm);
672
+ padding: var(--zvk-ui-space-4);
673
+ text-align: center;
674
+ }
675
+
676
+ :where(.zvk-composite-entity-switcher-menu__actions) {
677
+ border-block-start: 1px solid var(--zvk-ui-color-border);
678
+ display: grid;
679
+ gap: var(--zvk-ui-space-2);
680
+ padding: var(--zvk-ui-space-2);
681
+ }
682
+
683
+ :where(.zvk-composite-entity-switcher-menu__action) {
684
+ min-inline-size: 0;
685
+ }
686
+ }
687
+
688
+
689
+ /* src/navigation/sectioned-workspace-shell.css */
690
+ @layer zvk-composite-components {
691
+ :where(.zvk-composite-sectioned-workspace-shell) {
692
+ color: var(--zvk-ui-color-foreground);
693
+ container: zvk-composite-sectioned-workspace-shell / inline-size;
694
+ display: grid;
695
+ font-family: var(--zvk-ui-font-family-primary);
696
+ gap: var(--zvk-ui-space-5);
697
+ grid-template-columns: minmax(14rem, 18rem) minmax(0, 1fr);
698
+ min-block-size: 100%;
699
+ min-inline-size: 0;
700
+ }
701
+
702
+ :where(.zvk-composite-sectioned-workspace-shell__sidebar) {
703
+ background:
704
+ linear-gradient(180deg, color-mix(in srgb, var(--zvk-ui-color-primary) 5%, transparent), transparent 12rem),
705
+ var(--zvk-ui-color-surface);
706
+ border: 1px solid var(--zvk-ui-color-border);
707
+ border-radius: var(--zvk-ui-radius-md);
708
+ box-shadow: var(--zvk-ui-shadow-xs);
709
+ display: grid;
710
+ gap: var(--zvk-ui-space-3);
711
+ align-content: start;
712
+ min-inline-size: 0;
713
+ padding: var(--zvk-ui-space-3);
714
+ }
715
+
716
+ :where(.zvk-composite-sectioned-workspace-shell__body) {
717
+ display: grid;
718
+ gap: var(--zvk-ui-space-5);
719
+ grid-template-rows: auto minmax(0, 1fr) auto;
720
+ min-block-size: 0;
721
+ min-inline-size: 0;
722
+ }
723
+
724
+ :where(.zvk-composite-sectioned-workspace-shell__header) {
725
+ border-block-end: 1px solid var(--zvk-ui-color-border);
726
+ padding-block-end: var(--zvk-ui-space-4);
727
+ }
728
+
729
+ :where(.zvk-composite-sectioned-workspace-shell__content) {
730
+ display: grid;
731
+ gap: var(--zvk-ui-space-4);
732
+ min-block-size: 0;
733
+ min-inline-size: 0;
734
+ }
735
+
736
+ :where(.zvk-composite-sectioned-workspace-shell__footer) {
737
+ border-block-start: 1px solid var(--zvk-ui-color-border);
738
+ color: var(--zvk-ui-color-muted-foreground);
739
+ font-size: var(--zvk-ui-font-size-sm);
740
+ padding-block-start: var(--zvk-ui-space-4);
741
+ }
742
+
743
+ :where(.zvk-composite-sectioned-workspace-shell__sidebar-footer) {
744
+ border-block-start: 1px solid var(--zvk-ui-color-border-subtle);
745
+ color: var(--zvk-ui-color-muted-foreground);
746
+ font-size: var(--zvk-ui-font-size-xs);
747
+ line-height: var(--zvk-ui-line-height-normal);
748
+ min-inline-size: 0;
749
+ padding-block-start: var(--zvk-ui-space-3);
750
+ }
751
+
752
+ :where(.zvk-composite-sectioned-workspace-shell__nav-item-content) {
753
+ display: grid;
754
+ gap: 0.125rem;
755
+ min-inline-size: 0;
756
+ }
757
+
758
+ :where(.zvk-composite-sectioned-workspace-shell__nav .zvk-ui-sectioned-sidebar-nav__item-control) {
759
+ align-items: start;
760
+ padding-block: var(--zvk-ui-space-2);
761
+ }
762
+
763
+ :where(.zvk-composite-sectioned-workspace-shell__nav-item-label),
764
+ :where(.zvk-composite-sectioned-workspace-shell__nav-item-description) {
765
+ min-inline-size: 0;
766
+ overflow: hidden;
767
+ text-overflow: ellipsis;
768
+ white-space: nowrap;
769
+ }
770
+
771
+ :where(.zvk-composite-sectioned-workspace-shell__nav-item-label) {
772
+ font-family: var(--zvk-ui-font-family-secondary);
773
+ }
774
+
775
+ :where(.zvk-composite-sectioned-workspace-shell__nav-item-description) {
776
+ color: var(--zvk-ui-color-muted-foreground);
777
+ font-size: var(--zvk-ui-font-size-xs);
778
+ line-height: var(--zvk-ui-line-height-tight);
779
+ }
780
+
781
+ @container zvk-composite-sectioned-workspace-shell (max-width: 64rem) {
782
+ :where(.zvk-composite-sectioned-workspace-shell__body) {
783
+ grid-column: 1 / -1;
784
+ order: 1;
785
+ }
786
+
787
+ :where(.zvk-composite-sectioned-workspace-shell__sidebar) {
788
+ grid-column: 1 / -1;
789
+ order: 2;
790
+ }
791
+ }
792
+
793
+ @media (max-width: 64rem) {
794
+ :where(.zvk-composite-sectioned-workspace-shell) {
795
+ grid-template-columns: 1fr;
796
+ }
797
+
798
+ :where(.zvk-composite-sectioned-workspace-shell__body) {
799
+ order: 1;
800
+ }
801
+
802
+ :where(.zvk-composite-sectioned-workspace-shell__sidebar) {
803
+ order: 2;
804
+ }
805
+ }
806
+ }
807
+
808
+
809
+ /* src/navigation/workspace-header.css */
810
+ @layer zvk-composite-components {
811
+ :where(.zvk-composite-workspace-header) {
812
+ align-items: start;
813
+ display: grid;
814
+ gap: var(--zvk-ui-space-4);
815
+ grid-template-columns: minmax(0, 1fr) auto;
816
+ inline-size: 100%;
817
+ min-inline-size: 0;
818
+ }
819
+
820
+ :where(.zvk-composite-workspace-header[data-align="center"]) {
821
+ align-items: center;
822
+ }
823
+
824
+ :where(.zvk-composite-workspace-header__content) {
825
+ display: grid;
826
+ gap: var(--zvk-ui-space-2);
827
+ min-inline-size: 0;
828
+ }
829
+
830
+ :where(.zvk-composite-workspace-header__kicker) {
831
+ align-items: center;
832
+ display: flex;
833
+ flex-wrap: wrap;
834
+ gap: var(--zvk-ui-space-2);
835
+ min-inline-size: 0;
836
+ }
837
+
838
+ :where(.zvk-composite-workspace-header__eyebrow) {
839
+ color: var(--zvk-ui-color-muted-foreground);
840
+ font-size: var(--zvk-ui-font-size-xs);
841
+ font-weight: 700;
842
+ letter-spacing: 0;
843
+ line-height: var(--zvk-ui-line-height-tight);
844
+ text-transform: uppercase;
845
+ }
846
+
847
+ :where(.zvk-composite-workspace-header__status) {
848
+ align-items: center;
849
+ background: color-mix(in srgb, var(--zvk-ui-color-primary) 10%, var(--zvk-ui-color-surface));
850
+ border: 1px solid color-mix(in srgb, var(--zvk-ui-color-primary) 26%, var(--zvk-ui-color-border));
851
+ border-radius: var(--zvk-ui-radius-full);
852
+ color: var(--zvk-ui-color-foreground);
853
+ display: inline-flex;
854
+ font-size: var(--zvk-ui-font-size-xs);
855
+ font-weight: 600;
856
+ line-height: var(--zvk-ui-line-height-tight);
857
+ min-block-size: 1.5rem;
858
+ padding-inline: var(--zvk-ui-space-2);
859
+ }
860
+
861
+ :where(.zvk-composite-workspace-header__title) {
862
+ color: var(--zvk-ui-color-foreground);
863
+ font-size: clamp(var(--zvk-ui-font-size-xl), 2vw, var(--zvk-ui-font-size-2xl));
864
+ font-weight: 800;
865
+ letter-spacing: 0;
400
866
  line-height: var(--zvk-ui-line-height-tight);
401
867
  margin: 0;
402
868
  overflow-wrap: anywhere;
@@ -411,7 +877,7 @@
411
877
  :where(.zvk-composite-workspace-header__description) {
412
878
  color: var(--zvk-ui-color-muted-foreground);
413
879
  font-size: var(--zvk-ui-font-size-sm);
414
- line-height: var(--zvk-ui-line-height-relaxed);
880
+ line-height: var(--zvk-ui-line-height-normal);
415
881
  margin: 0;
416
882
  }
417
883
 
@@ -457,6 +923,24 @@
457
923
  }
458
924
 
459
925
 
926
+ /* src/navigation/link-action.css */
927
+ @layer zvk-composite-components {
928
+ :where(.zvk-composite-link-action) {
929
+ text-decoration: none;
930
+ }
931
+
932
+ :where(.zvk-composite-link-action__icon) {
933
+ align-items: center;
934
+ display: inline-flex;
935
+ flex: 0 0 auto;
936
+ }
937
+
938
+ :where(.zvk-composite-link-action__content) {
939
+ min-width: 0;
940
+ }
941
+ }
942
+
943
+
460
944
  /* src/state/state-surface.css */
461
945
  @layer zvk-composite-components {
462
946
  :where(.zvk-composite-state-surface) {
@@ -538,17 +1022,37 @@
538
1022
  }
539
1023
 
540
1024
 
541
- /* src/lists/entity-card.css */
1025
+ /* src/state/route-state-frame.css */
542
1026
  @layer zvk-composite-components {
543
- :where(.zvk-composite-entity-card) {
544
- align-items: start;
545
- background:
546
- linear-gradient(90deg, color-mix(in srgb, var(--zvk-ui-color-primary) 0%, transparent), transparent),
547
- var(--zvk-ui-color-surface);
548
- border: 1px solid var(--zvk-ui-card-border);
549
- border-radius: var(--zvk-ui-radius-lg);
550
- box-shadow: var(--zvk-ui-shadow-xs);
551
- color: var(--zvk-ui-color-foreground);
1027
+ :where(.zvk-composite-route-state-frame) {
1028
+ display: grid;
1029
+ gap: var(--zvk-ui-space-4);
1030
+ min-inline-size: 0;
1031
+ }
1032
+
1033
+ :where(.zvk-composite-route-state-frame[data-status]) {
1034
+ min-inline-size: 0;
1035
+ }
1036
+
1037
+ :where(.zvk-composite-route-state-frame__surface) {
1038
+ margin-inline: auto;
1039
+ max-inline-size: 44rem;
1040
+ width: min(100%, 44rem);
1041
+ }
1042
+ }
1043
+
1044
+
1045
+ /* src/lists/entity-card.css */
1046
+ @layer zvk-composite-components {
1047
+ :where(.zvk-composite-entity-card) {
1048
+ align-items: start;
1049
+ background:
1050
+ linear-gradient(90deg, color-mix(in srgb, var(--zvk-ui-color-primary) 0%, transparent), transparent),
1051
+ var(--zvk-ui-color-surface);
1052
+ border: 1px solid var(--zvk-ui-card-border);
1053
+ border-radius: var(--zvk-ui-radius-lg);
1054
+ box-shadow: var(--zvk-ui-shadow-xs);
1055
+ color: var(--zvk-ui-color-foreground);
552
1056
  display: grid;
553
1057
  gap: var(--zvk-ui-space-3);
554
1058
  grid-template-columns: auto minmax(0, 1fr) auto auto;
@@ -587,6 +1091,7 @@
587
1091
  linear-gradient(90deg, color-mix(in srgb, var(--zvk-ui-color-primary) 13%, transparent), transparent 70%),
588
1092
  var(--zvk-ui-color-primary-soft);
589
1093
  border-color: var(--zvk-ui-color-primary-border);
1094
+ padding-inline-start: var(--zvk-ui-space-6);
590
1095
  }
591
1096
 
592
1097
  :where(.zvk-composite-entity-card[data-selected])::before {
@@ -1097,6 +1602,1540 @@
1097
1602
  }
1098
1603
 
1099
1604
 
1605
+ /* src/integrations/integration-status-card.css */
1606
+ @layer zvk-composite-components {
1607
+ :where(.zvk-composite-integration-status-card) {
1608
+ background: var(--zvk-ui-color-surface);
1609
+ border: 1px solid var(--zvk-ui-card-border);
1610
+ border-radius: var(--zvk-ui-radius-lg);
1611
+ box-shadow: var(--zvk-ui-shadow-xs);
1612
+ color: var(--zvk-ui-color-foreground);
1613
+ display: grid;
1614
+ gap: var(--zvk-ui-space-4);
1615
+ min-inline-size: 0;
1616
+ padding: var(--zvk-ui-space-4);
1617
+ }
1618
+
1619
+ :where(.zvk-composite-integration-status-card[data-selected]) {
1620
+ border-color: color-mix(in srgb, var(--zvk-ui-color-primary) 48%, var(--zvk-ui-card-border));
1621
+ box-shadow: 0 0 0 1px color-mix(in srgb, var(--zvk-ui-color-primary) 32%, transparent), var(--zvk-ui-shadow-xs);
1622
+ }
1623
+
1624
+ :where(.zvk-composite-integration-status-card[data-disabled]) {
1625
+ opacity: 0.62;
1626
+ }
1627
+
1628
+ :where(.zvk-composite-integration-status-card__main) {
1629
+ align-items: start;
1630
+ display: grid;
1631
+ gap: var(--zvk-ui-space-3);
1632
+ grid-template-columns: auto minmax(0, 1fr);
1633
+ min-inline-size: 0;
1634
+ }
1635
+
1636
+ :where(.zvk-composite-integration-status-card__icon) {
1637
+ align-items: center;
1638
+ background: var(--zvk-ui-color-muted);
1639
+ border: 1px solid var(--zvk-ui-color-border-subtle);
1640
+ border-radius: var(--zvk-ui-radius-md);
1641
+ color: var(--zvk-ui-color-muted-foreground);
1642
+ display: inline-flex;
1643
+ block-size: 2.5rem;
1644
+ inline-size: 2.5rem;
1645
+ justify-content: center;
1646
+ }
1647
+
1648
+ :where(.zvk-composite-integration-status-card__body) {
1649
+ display: grid;
1650
+ gap: var(--zvk-ui-space-3);
1651
+ min-inline-size: 0;
1652
+ }
1653
+
1654
+ :where(.zvk-composite-integration-status-card__header) {
1655
+ align-items: start;
1656
+ display: grid;
1657
+ gap: var(--zvk-ui-space-3);
1658
+ grid-template-columns: minmax(0, 1fr) auto;
1659
+ min-inline-size: 0;
1660
+ }
1661
+
1662
+ :where(.zvk-composite-integration-status-card__copy) {
1663
+ display: grid;
1664
+ gap: var(--zvk-ui-space-1);
1665
+ min-inline-size: 0;
1666
+ }
1667
+
1668
+ :where(.zvk-composite-integration-status-card__title) {
1669
+ color: var(--zvk-ui-color-foreground);
1670
+ font-size: var(--zvk-ui-font-size-base);
1671
+ font-weight: 700;
1672
+ line-height: var(--zvk-ui-line-height-tight);
1673
+ margin: 0;
1674
+ }
1675
+
1676
+ :where(.zvk-composite-integration-status-card__description) {
1677
+ color: var(--zvk-ui-color-muted-foreground);
1678
+ font-size: var(--zvk-ui-font-size-sm);
1679
+ margin: 0;
1680
+ }
1681
+
1682
+ :where(.zvk-composite-integration-status-card__aside),
1683
+ :where(.zvk-composite-integration-status-card__actions),
1684
+ :where(.zvk-composite-integration-status-card__badges),
1685
+ :where(.zvk-composite-integration-status-card__metadata),
1686
+ :where(.zvk-composite-integration-status-card__metrics) {
1687
+ align-items: center;
1688
+ display: flex;
1689
+ flex-wrap: wrap;
1690
+ gap: var(--zvk-ui-space-2);
1691
+ min-inline-size: 0;
1692
+ }
1693
+
1694
+ :where(.zvk-composite-integration-status-card__aside) {
1695
+ justify-content: end;
1696
+ }
1697
+
1698
+ :where(.zvk-composite-integration-status-card__metadata) {
1699
+ color: var(--zvk-ui-color-muted-foreground);
1700
+ font-size: var(--zvk-ui-font-size-xs);
1701
+ }
1702
+
1703
+ :where(.zvk-composite-integration-status-card__metrics) {
1704
+ border-top: 1px solid var(--zvk-ui-color-border-subtle);
1705
+ padding-block-start: var(--zvk-ui-space-3);
1706
+ }
1707
+
1708
+ :where(.zvk-composite-integration-status-card__error) {
1709
+ background: color-mix(in srgb, var(--zvk-ui-color-destructive) 8%, transparent);
1710
+ border: 1px solid color-mix(in srgb, var(--zvk-ui-color-destructive) 24%, var(--zvk-ui-color-border));
1711
+ border-radius: var(--zvk-ui-radius-md);
1712
+ color: var(--zvk-ui-color-destructive);
1713
+ font-size: var(--zvk-ui-font-size-sm);
1714
+ padding: var(--zvk-ui-space-2) var(--zvk-ui-space-3);
1715
+ }
1716
+
1717
+ :where(.zvk-composite-integration-status-card__footer) {
1718
+ border-top: 1px solid var(--zvk-ui-color-border-subtle);
1719
+ color: var(--zvk-ui-color-muted-foreground);
1720
+ font-size: var(--zvk-ui-font-size-sm);
1721
+ padding-block-start: var(--zvk-ui-space-3);
1722
+ }
1723
+
1724
+ @media (max-width: 40rem) {
1725
+ :where(.zvk-composite-integration-status-card__main),
1726
+ :where(.zvk-composite-integration-status-card__header) {
1727
+ grid-template-columns: 1fr;
1728
+ }
1729
+
1730
+ :where(.zvk-composite-integration-status-card__aside) {
1731
+ justify-content: start;
1732
+ }
1733
+ }
1734
+ }
1735
+
1736
+
1737
+ /* src/workflows/workflow-status-card.css */
1738
+ @layer zvk-composite-components {
1739
+ :where(.zvk-composite-workflow-status-card) {
1740
+ background: var(--zvk-ui-color-surface);
1741
+ border: 1px solid var(--zvk-ui-card-border);
1742
+ border-radius: var(--zvk-ui-radius-lg);
1743
+ box-shadow: var(--zvk-ui-shadow-xs);
1744
+ color: var(--zvk-ui-color-foreground);
1745
+ display: grid;
1746
+ gap: var(--zvk-ui-space-4);
1747
+ min-inline-size: 0;
1748
+ padding: var(--zvk-ui-space-4);
1749
+ }
1750
+
1751
+ :where(.zvk-composite-workflow-status-card[data-tone="running"]) {
1752
+ border-color: color-mix(in srgb, var(--zvk-ui-color-primary) 34%, var(--zvk-ui-card-border));
1753
+ }
1754
+
1755
+ :where(.zvk-composite-workflow-status-card[data-tone="success"]) {
1756
+ border-color: color-mix(in srgb, var(--zvk-ui-color-success) 34%, var(--zvk-ui-card-border));
1757
+ }
1758
+
1759
+ :where(.zvk-composite-workflow-status-card[data-tone="warning"]) {
1760
+ border-color: color-mix(in srgb, var(--zvk-ui-color-warning) 36%, var(--zvk-ui-card-border));
1761
+ }
1762
+
1763
+ :where(.zvk-composite-workflow-status-card[data-tone="danger"]) {
1764
+ border-color: color-mix(in srgb, var(--zvk-ui-color-destructive) 34%, var(--zvk-ui-card-border));
1765
+ }
1766
+
1767
+ :where(.zvk-composite-workflow-status-card__header) {
1768
+ align-items: start;
1769
+ display: grid;
1770
+ gap: var(--zvk-ui-space-3);
1771
+ grid-template-columns: minmax(0, 1fr) auto;
1772
+ min-inline-size: 0;
1773
+ }
1774
+
1775
+ :where(.zvk-composite-workflow-status-card__copy) {
1776
+ display: grid;
1777
+ gap: var(--zvk-ui-space-1);
1778
+ min-inline-size: 0;
1779
+ }
1780
+
1781
+ :where(.zvk-composite-workflow-status-card__title) {
1782
+ color: var(--zvk-ui-color-foreground);
1783
+ font-size: var(--zvk-ui-font-size-base);
1784
+ font-weight: 700;
1785
+ line-height: var(--zvk-ui-line-height-tight);
1786
+ margin: 0;
1787
+ }
1788
+
1789
+ :where(.zvk-composite-workflow-status-card__description) {
1790
+ color: var(--zvk-ui-color-muted-foreground);
1791
+ font-size: var(--zvk-ui-font-size-sm);
1792
+ margin: 0;
1793
+ }
1794
+
1795
+ :where(.zvk-composite-workflow-status-card__aside),
1796
+ :where(.zvk-composite-workflow-status-card__actions),
1797
+ :where(.zvk-composite-workflow-status-card__metadata),
1798
+ :where(.zvk-composite-workflow-status-card__progress-header) {
1799
+ align-items: center;
1800
+ display: flex;
1801
+ flex-wrap: wrap;
1802
+ gap: var(--zvk-ui-space-2);
1803
+ min-inline-size: 0;
1804
+ }
1805
+
1806
+ :where(.zvk-composite-workflow-status-card__aside) {
1807
+ justify-content: end;
1808
+ }
1809
+
1810
+ :where(.zvk-composite-workflow-status-card__metadata),
1811
+ :where(.zvk-composite-workflow-status-card__details),
1812
+ :where(.zvk-composite-workflow-status-card__footer) {
1813
+ color: var(--zvk-ui-color-muted-foreground);
1814
+ font-size: var(--zvk-ui-font-size-sm);
1815
+ }
1816
+
1817
+ :where(.zvk-composite-workflow-status-card__metadata) {
1818
+ font-size: var(--zvk-ui-font-size-xs);
1819
+ }
1820
+
1821
+ :where(.zvk-composite-workflow-status-card__progress-group) {
1822
+ display: grid;
1823
+ gap: var(--zvk-ui-space-2);
1824
+ }
1825
+
1826
+ :where(.zvk-composite-workflow-status-card__progress-header) {
1827
+ justify-content: space-between;
1828
+ }
1829
+
1830
+ :where(.zvk-composite-workflow-status-card__step) {
1831
+ color: var(--zvk-ui-color-foreground);
1832
+ font-size: var(--zvk-ui-font-size-sm);
1833
+ font-weight: 600;
1834
+ }
1835
+
1836
+ :where(.zvk-composite-workflow-status-card__progress-label) {
1837
+ color: var(--zvk-ui-color-muted-foreground);
1838
+ font-size: var(--zvk-ui-font-size-xs);
1839
+ }
1840
+
1841
+ :where(.zvk-composite-workflow-status-card__progress) {
1842
+ inline-size: 100%;
1843
+ }
1844
+
1845
+ :where(.zvk-composite-workflow-status-card__progress-track) {
1846
+ background: var(--zvk-ui-color-muted);
1847
+ border-radius: var(--zvk-ui-radius-full);
1848
+ display: block;
1849
+ block-size: 0.5rem;
1850
+ inline-size: 100%;
1851
+ overflow: hidden;
1852
+ }
1853
+
1854
+ :where(.zvk-composite-workflow-status-card__progress-indicator) {
1855
+ background: var(--zvk-ui-color-primary);
1856
+ border-radius: inherit;
1857
+ display: block;
1858
+ block-size: 100%;
1859
+ inline-size: var(--zvk-composite-workflow-status-card-progress, 100%);
1860
+ transition: inline-size 160ms ease;
1861
+ }
1862
+
1863
+ :where(.zvk-composite-workflow-status-card[data-tone="success"] .zvk-composite-workflow-status-card__progress-indicator) {
1864
+ background: var(--zvk-ui-color-success);
1865
+ }
1866
+
1867
+ :where(.zvk-composite-workflow-status-card[data-tone="warning"] .zvk-composite-workflow-status-card__progress-indicator) {
1868
+ background: var(--zvk-ui-color-warning);
1869
+ }
1870
+
1871
+ :where(.zvk-composite-workflow-status-card[data-tone="danger"] .zvk-composite-workflow-status-card__progress-indicator) {
1872
+ background: var(--zvk-ui-color-destructive);
1873
+ }
1874
+
1875
+ :where(.zvk-composite-workflow-status-card__progress[data-indeterminate] .zvk-composite-workflow-status-card__progress-indicator) {
1876
+ inline-size: 42%;
1877
+ }
1878
+
1879
+ :where(.zvk-composite-workflow-status-card__details) {
1880
+ border-top: 1px solid var(--zvk-ui-color-border-subtle);
1881
+ padding-block-start: var(--zvk-ui-space-3);
1882
+ }
1883
+
1884
+ :where(.zvk-composite-workflow-status-card__error) {
1885
+ background: color-mix(in srgb, var(--zvk-ui-color-destructive) 8%, transparent);
1886
+ border: 1px solid color-mix(in srgb, var(--zvk-ui-color-destructive) 24%, var(--zvk-ui-color-border));
1887
+ border-radius: var(--zvk-ui-radius-md);
1888
+ color: var(--zvk-ui-color-destructive);
1889
+ font-size: var(--zvk-ui-font-size-sm);
1890
+ padding: var(--zvk-ui-space-2) var(--zvk-ui-space-3);
1891
+ }
1892
+
1893
+ :where(.zvk-composite-workflow-status-card__footer) {
1894
+ border-top: 1px solid var(--zvk-ui-color-border-subtle);
1895
+ padding-block-start: var(--zvk-ui-space-3);
1896
+ }
1897
+
1898
+ @media (max-width: 40rem) {
1899
+ :where(.zvk-composite-workflow-status-card__header) {
1900
+ grid-template-columns: 1fr;
1901
+ }
1902
+
1903
+ :where(.zvk-composite-workflow-status-card__aside),
1904
+ :where(.zvk-composite-workflow-status-card__progress-header) {
1905
+ justify-content: start;
1906
+ }
1907
+ }
1908
+ }
1909
+
1910
+
1911
+ /* src/workflows/process-list-panel.css */
1912
+ @layer zvk-composite-components {
1913
+ :where(.zvk-composite-process-list-panel) {
1914
+ background: var(--zvk-ui-color-surface);
1915
+ border: 1px solid var(--zvk-ui-card-border);
1916
+ border-radius: var(--zvk-ui-radius-lg);
1917
+ box-shadow: var(--zvk-ui-shadow-xs);
1918
+ color: var(--zvk-ui-color-foreground);
1919
+ display: grid;
1920
+ gap: var(--zvk-ui-space-4);
1921
+ min-inline-size: 0;
1922
+ padding: var(--zvk-ui-space-4);
1923
+ }
1924
+
1925
+ :where(.zvk-composite-process-list-panel__header) {
1926
+ align-items: start;
1927
+ display: grid;
1928
+ gap: var(--zvk-ui-space-3);
1929
+ grid-template-columns: minmax(0, 1fr) auto;
1930
+ min-inline-size: 0;
1931
+ }
1932
+
1933
+ :where(.zvk-composite-process-list-panel__copy) {
1934
+ display: grid;
1935
+ gap: var(--zvk-ui-space-1);
1936
+ min-inline-size: 0;
1937
+ }
1938
+
1939
+ :where(.zvk-composite-process-list-panel__title) {
1940
+ color: var(--zvk-ui-color-foreground);
1941
+ font-family: var(--zvk-ui-font-family-secondary);
1942
+ font-size: var(--zvk-ui-font-size-base);
1943
+ font-weight: 700;
1944
+ line-height: var(--zvk-ui-line-height-tight);
1945
+ margin: 0;
1946
+ }
1947
+
1948
+ :where(.zvk-composite-process-list-panel__description) {
1949
+ color: var(--zvk-ui-color-muted-foreground);
1950
+ font-size: var(--zvk-ui-font-size-sm);
1951
+ margin: 0;
1952
+ }
1953
+
1954
+ :where(.zvk-composite-process-list-panel__actions) {
1955
+ align-items: center;
1956
+ display: flex;
1957
+ flex-wrap: wrap;
1958
+ gap: var(--zvk-ui-space-2);
1959
+ justify-content: end;
1960
+ }
1961
+
1962
+ :where(.zvk-composite-process-list-panel__body),
1963
+ :where(.zvk-composite-process-list-panel__list) {
1964
+ display: grid;
1965
+ gap: var(--zvk-ui-space-3);
1966
+ min-inline-size: 0;
1967
+ }
1968
+
1969
+ :where(.zvk-composite-process-list-panel__list) {
1970
+ list-style: none;
1971
+ margin: 0;
1972
+ padding: 0;
1973
+ }
1974
+
1975
+ :where(.zvk-composite-process-list-panel__item) {
1976
+ min-inline-size: 0;
1977
+ }
1978
+
1979
+ :where(.zvk-composite-process-list-panel__state) {
1980
+ align-items: center;
1981
+ background: var(--zvk-ui-color-muted);
1982
+ border: 1px solid var(--zvk-ui-color-border-subtle);
1983
+ border-radius: var(--zvk-ui-radius-md);
1984
+ color: var(--zvk-ui-color-muted-foreground);
1985
+ display: flex;
1986
+ gap: var(--zvk-ui-space-2);
1987
+ justify-content: center;
1988
+ min-block-size: 5rem;
1989
+ padding: var(--zvk-ui-space-4);
1990
+ text-align: center;
1991
+ }
1992
+
1993
+ :where(.zvk-composite-process-list-panel__footer) {
1994
+ border-top: 1px solid var(--zvk-ui-color-border-subtle);
1995
+ color: var(--zvk-ui-color-muted-foreground);
1996
+ font-size: var(--zvk-ui-font-size-sm);
1997
+ padding-block-start: var(--zvk-ui-space-3);
1998
+ }
1999
+
2000
+ @media (max-width: 40rem) {
2001
+ :where(.zvk-composite-process-list-panel__header) {
2002
+ grid-template-columns: 1fr;
2003
+ }
2004
+
2005
+ :where(.zvk-composite-process-list-panel__actions) {
2006
+ justify-content: start;
2007
+ }
2008
+ }
2009
+ }
2010
+
2011
+
2012
+ /* src/settings/parameter-editor.css */
2013
+ @layer zvk-composite-components {
2014
+ :where(.zvk-composite-parameter-editor) {
2015
+ background: var(--zvk-ui-color-surface);
2016
+ border: 1px solid var(--zvk-ui-card-border);
2017
+ border-radius: var(--zvk-ui-radius-lg);
2018
+ box-shadow: var(--zvk-ui-shadow-xs);
2019
+ color: var(--zvk-ui-color-foreground);
2020
+ display: grid;
2021
+ gap: var(--zvk-ui-space-4);
2022
+ min-inline-size: 0;
2023
+ padding: var(--zvk-ui-space-4);
2024
+ }
2025
+
2026
+ :where(.zvk-composite-parameter-editor[data-density="compact"]) {
2027
+ gap: var(--zvk-ui-space-3);
2028
+ padding: var(--zvk-ui-space-3);
2029
+ }
2030
+
2031
+ :where(.zvk-composite-parameter-editor__toolbar) {
2032
+ display: flex;
2033
+ justify-content: end;
2034
+ }
2035
+
2036
+ :where(.zvk-composite-parameter-editor__groups) {
2037
+ display: grid;
2038
+ gap: var(--zvk-ui-space-4);
2039
+ min-inline-size: 0;
2040
+ }
2041
+
2042
+ :where(.zvk-composite-parameter-editor[data-density="compact"] .zvk-composite-parameter-editor__groups) {
2043
+ gap: var(--zvk-ui-space-3);
2044
+ }
2045
+
2046
+ :where(.zvk-composite-parameter-editor__group) {
2047
+ border: 1px solid var(--zvk-ui-color-border-subtle);
2048
+ border-radius: var(--zvk-ui-radius-md);
2049
+ display: grid;
2050
+ min-inline-size: 0;
2051
+ overflow: hidden;
2052
+ }
2053
+
2054
+ :where(.zvk-composite-parameter-editor__group-header) {
2055
+ background: var(--zvk-ui-color-muted);
2056
+ display: grid;
2057
+ gap: var(--zvk-ui-space-1);
2058
+ padding: var(--zvk-ui-space-3);
2059
+ }
2060
+
2061
+ :where(.zvk-composite-parameter-editor__group-title) {
2062
+ color: var(--zvk-ui-color-foreground);
2063
+ font-family: var(--zvk-ui-font-family-secondary);
2064
+ font-size: var(--zvk-ui-font-size-base);
2065
+ font-weight: 700;
2066
+ line-height: var(--zvk-ui-line-height-tight);
2067
+ margin: 0;
2068
+ }
2069
+
2070
+ :where(.zvk-composite-parameter-editor__group-description) {
2071
+ color: var(--zvk-ui-color-muted-foreground);
2072
+ font-size: var(--zvk-ui-font-size-sm);
2073
+ margin: 0;
2074
+ }
2075
+
2076
+ :where(.zvk-composite-parameter-editor__rows) {
2077
+ display: grid;
2078
+ min-inline-size: 0;
2079
+ }
2080
+
2081
+ :where(.zvk-composite-parameter-editor__row) {
2082
+ align-items: center;
2083
+ display: grid;
2084
+ gap: var(--zvk-ui-space-3);
2085
+ grid-template-columns: minmax(0, 1fr) auto minmax(12rem, 0.9fr) auto;
2086
+ min-inline-size: 0;
2087
+ padding: var(--zvk-ui-space-3);
2088
+ }
2089
+
2090
+ :where(.zvk-composite-parameter-editor[data-density="compact"] .zvk-composite-parameter-editor__row) {
2091
+ gap: var(--zvk-ui-space-2);
2092
+ padding: var(--zvk-ui-space-2) var(--zvk-ui-space-3);
2093
+ }
2094
+
2095
+ :where(.zvk-composite-parameter-editor__row + .zvk-composite-parameter-editor__row) {
2096
+ border-top: 1px solid var(--zvk-ui-color-border-subtle);
2097
+ }
2098
+
2099
+ :where(.zvk-composite-parameter-editor__row[data-changed]) {
2100
+ background: color-mix(in srgb, var(--zvk-ui-color-primary) 6%, transparent);
2101
+ }
2102
+
2103
+ :where(.zvk-composite-parameter-editor__row[data-invalid]) {
2104
+ background: color-mix(in srgb, var(--zvk-ui-color-destructive) 6%, transparent);
2105
+ }
2106
+
2107
+ :where(.zvk-composite-parameter-editor__row[data-disabled]) {
2108
+ opacity: 0.62;
2109
+ }
2110
+
2111
+ :where(.zvk-composite-parameter-editor__row-copy) {
2112
+ display: grid;
2113
+ gap: 0.125rem;
2114
+ min-inline-size: 0;
2115
+ }
2116
+
2117
+ :where(.zvk-composite-parameter-editor__row-label) {
2118
+ color: var(--zvk-ui-color-foreground);
2119
+ font-family: var(--zvk-ui-font-family-secondary);
2120
+ font-size: var(--zvk-ui-font-size-sm);
2121
+ font-weight: 700;
2122
+ line-height: var(--zvk-ui-line-height-tight);
2123
+ }
2124
+
2125
+ :where(.zvk-composite-parameter-editor__row-description),
2126
+ :where(.zvk-composite-parameter-editor__row-value),
2127
+ :where(.zvk-composite-parameter-editor__footer) {
2128
+ color: var(--zvk-ui-color-muted-foreground);
2129
+ font-size: var(--zvk-ui-font-size-sm);
2130
+ }
2131
+
2132
+ :where(.zvk-composite-parameter-editor__row-description) {
2133
+ margin: 0;
2134
+ }
2135
+
2136
+ :where(.zvk-composite-parameter-editor__row-value) {
2137
+ font-family: var(--zvk-ui-font-family-tertiary);
2138
+ white-space: nowrap;
2139
+ }
2140
+
2141
+ :where(.zvk-composite-parameter-editor__row-control) {
2142
+ min-inline-size: 0;
2143
+ }
2144
+
2145
+ :where(.zvk-composite-parameter-editor__row-actions) {
2146
+ align-items: center;
2147
+ display: flex;
2148
+ gap: var(--zvk-ui-space-2);
2149
+ }
2150
+
2151
+ :where(.zvk-composite-parameter-editor__footer) {
2152
+ border-top: 1px solid var(--zvk-ui-color-border-subtle);
2153
+ padding-block-start: var(--zvk-ui-space-3);
2154
+ }
2155
+
2156
+ @media (max-width: 52rem) {
2157
+ :where(.zvk-composite-parameter-editor__row) {
2158
+ align-items: start;
2159
+ grid-template-columns: 1fr;
2160
+ }
2161
+
2162
+ :where(.zvk-composite-parameter-editor__toolbar) {
2163
+ justify-content: start;
2164
+ }
2165
+ }
2166
+ }
2167
+
2168
+
2169
+ /* src/settings/settings-section-stack.css */
2170
+ @layer zvk-composite-components {
2171
+ :where(.zvk-composite-settings-section-stack) {
2172
+ color: var(--zvk-ui-color-foreground);
2173
+ display: grid;
2174
+ gap: var(--zvk-ui-space-4);
2175
+ min-inline-size: 0;
2176
+ }
2177
+
2178
+ :where(.zvk-composite-settings-section-stack__header) {
2179
+ display: grid;
2180
+ gap: var(--zvk-ui-space-1);
2181
+ min-inline-size: 0;
2182
+ }
2183
+
2184
+ :where(.zvk-composite-settings-section-stack__title),
2185
+ :where(.zvk-composite-settings-section-stack__section-title) {
2186
+ color: var(--zvk-ui-color-foreground);
2187
+ font-family: var(--zvk-ui-font-family-secondary);
2188
+ font-weight: 700;
2189
+ line-height: var(--zvk-ui-line-height-tight);
2190
+ margin: 0;
2191
+ }
2192
+
2193
+ :where(.zvk-composite-settings-section-stack__title) {
2194
+ font-size: var(--zvk-ui-font-size-xl);
2195
+ }
2196
+
2197
+ :where(.zvk-composite-settings-section-stack__section-title) {
2198
+ font-size: var(--zvk-ui-font-size-base);
2199
+ }
2200
+
2201
+ :where(.zvk-composite-settings-section-stack__description),
2202
+ :where(.zvk-composite-settings-section-stack__section-description),
2203
+ :where(.zvk-composite-settings-section-stack__footer) {
2204
+ color: var(--zvk-ui-color-muted-foreground);
2205
+ font-size: var(--zvk-ui-font-size-sm);
2206
+ margin: 0;
2207
+ }
2208
+
2209
+ :where(.zvk-composite-settings-section-stack__sections) {
2210
+ display: grid;
2211
+ gap: var(--zvk-ui-space-3);
2212
+ min-inline-size: 0;
2213
+ }
2214
+
2215
+ :where(.zvk-composite-settings-section-stack__section) {
2216
+ background: var(--zvk-ui-color-surface);
2217
+ border: 1px solid var(--zvk-ui-card-border);
2218
+ border-radius: var(--zvk-ui-radius-lg);
2219
+ box-shadow: var(--zvk-ui-shadow-xs);
2220
+ display: grid;
2221
+ gap: var(--zvk-ui-space-3);
2222
+ min-inline-size: 0;
2223
+ padding: var(--zvk-ui-space-4);
2224
+ }
2225
+
2226
+ :where(.zvk-composite-settings-section-stack__section[data-disabled]) {
2227
+ opacity: 0.64;
2228
+ }
2229
+
2230
+ :where(.zvk-composite-settings-section-stack__section-header) {
2231
+ align-items: start;
2232
+ display: flex;
2233
+ gap: var(--zvk-ui-space-3);
2234
+ justify-content: space-between;
2235
+ min-inline-size: 0;
2236
+ }
2237
+
2238
+ :where(.zvk-composite-settings-section-stack__section-copy) {
2239
+ display: grid;
2240
+ gap: 0.25rem;
2241
+ min-inline-size: 0;
2242
+ }
2243
+
2244
+ :where(.zvk-composite-settings-section-stack__section-actions),
2245
+ :where(.zvk-composite-settings-section-stack__save-bar) {
2246
+ align-items: center;
2247
+ display: flex;
2248
+ flex-wrap: wrap;
2249
+ gap: var(--zvk-ui-space-2);
2250
+ }
2251
+
2252
+ :where(.zvk-composite-settings-section-stack__section-alert) {
2253
+ min-inline-size: 0;
2254
+ }
2255
+
2256
+ :where(.zvk-composite-settings-section-stack__section-content) {
2257
+ min-inline-size: 0;
2258
+ }
2259
+
2260
+ :where(.zvk-composite-settings-section-stack__save-bar) {
2261
+ background:
2262
+ linear-gradient(180deg, color-mix(in srgb, var(--zvk-ui-color-primary) 6%, transparent), transparent),
2263
+ var(--zvk-ui-color-surface);
2264
+ border: 1px solid var(--zvk-ui-card-border);
2265
+ border-radius: var(--zvk-ui-radius-lg);
2266
+ box-shadow: var(--zvk-ui-shadow-xs);
2267
+ justify-content: flex-end;
2268
+ padding: var(--zvk-ui-space-3);
2269
+ }
2270
+
2271
+ :where(.zvk-composite-settings-section-stack__save-bar[data-dirty]) {
2272
+ border-color: color-mix(in srgb, var(--zvk-ui-color-warning) 32%, var(--zvk-ui-card-border));
2273
+ }
2274
+
2275
+ :where(.zvk-composite-settings-section-stack__footer) {
2276
+ border-block-start: 1px solid var(--zvk-ui-color-border-subtle);
2277
+ padding-block-start: var(--zvk-ui-space-3);
2278
+ }
2279
+
2280
+ @media (max-width: 42rem) {
2281
+ :where(.zvk-composite-settings-section-stack__section-header),
2282
+ :where(.zvk-composite-settings-section-stack__save-bar) {
2283
+ display: grid;
2284
+ justify-content: stretch;
2285
+ }
2286
+ }
2287
+ }
2288
+
2289
+
2290
+ /* src/ai/provider-model-selector.css */
2291
+ @layer zvk-composite-components {
2292
+ :where(.zvk-composite-provider-model-selector) {
2293
+ background: var(--zvk-ui-color-surface);
2294
+ border: 1px solid var(--zvk-ui-card-border);
2295
+ border-radius: var(--zvk-ui-radius-lg);
2296
+ box-shadow: var(--zvk-ui-shadow-xs);
2297
+ color: var(--zvk-ui-color-foreground);
2298
+ display: grid;
2299
+ gap: var(--zvk-ui-space-4);
2300
+ min-inline-size: 0;
2301
+ padding: var(--zvk-ui-space-4);
2302
+ }
2303
+
2304
+ :where(.zvk-composite-provider-model-selector__header) {
2305
+ align-items: start;
2306
+ display: grid;
2307
+ gap: var(--zvk-ui-space-3);
2308
+ grid-template-columns: minmax(0, 1fr) minmax(0, auto);
2309
+ min-inline-size: 0;
2310
+ }
2311
+
2312
+ :where(.zvk-composite-provider-model-selector__search),
2313
+ :where(.zvk-composite-provider-model-selector__summary) {
2314
+ min-inline-size: 0;
2315
+ }
2316
+
2317
+ :where(.zvk-composite-provider-model-selector__summary) {
2318
+ justify-self: end;
2319
+ }
2320
+
2321
+ :where(.zvk-composite-provider-model-selector__columns) {
2322
+ display: grid;
2323
+ gap: var(--zvk-ui-space-4);
2324
+ grid-template-columns: minmax(16rem, 0.95fr) minmax(18rem, 1.15fr);
2325
+ min-inline-size: 0;
2326
+ }
2327
+
2328
+ :where(.zvk-composite-provider-model-selector__panel) {
2329
+ background: var(--zvk-ui-color-surface);
2330
+ border: 1px solid var(--zvk-ui-color-border-subtle);
2331
+ border-radius: var(--zvk-ui-radius-md);
2332
+ box-shadow: 0 1px 0 color-mix(in srgb, var(--zvk-ui-color-foreground) 3%, transparent);
2333
+ display: grid;
2334
+ gap: var(--zvk-ui-space-3);
2335
+ min-inline-size: 0;
2336
+ padding: var(--zvk-ui-space-3);
2337
+ }
2338
+
2339
+ :where(.zvk-composite-provider-model-selector__panel[data-unavailable]) {
2340
+ background: color-mix(in srgb, var(--zvk-ui-color-muted) 42%, var(--zvk-ui-color-surface));
2341
+ }
2342
+
2343
+ :where(.zvk-composite-provider-model-selector__panel-header) {
2344
+ align-items: start;
2345
+ display: grid;
2346
+ gap: var(--zvk-ui-space-2);
2347
+ min-inline-size: 0;
2348
+ }
2349
+
2350
+ :where(.zvk-composite-provider-model-selector__panel-copy) {
2351
+ display: grid;
2352
+ gap: 0.25rem;
2353
+ min-inline-size: 0;
2354
+ }
2355
+
2356
+ :where(.zvk-composite-provider-model-selector__panel-title) {
2357
+ color: var(--zvk-ui-color-foreground);
2358
+ font-family: var(--zvk-ui-font-family-secondary);
2359
+ font-size: var(--zvk-ui-font-size-base);
2360
+ font-weight: 700;
2361
+ line-height: var(--zvk-ui-line-height-tight);
2362
+ margin: 0;
2363
+ }
2364
+
2365
+ :where(.zvk-composite-provider-model-selector__panel-description) {
2366
+ color: var(--zvk-ui-color-muted-foreground);
2367
+ font-size: var(--zvk-ui-font-size-sm);
2368
+ line-height: var(--zvk-ui-line-height-tight);
2369
+ margin: 0;
2370
+ min-inline-size: 0;
2371
+ }
2372
+
2373
+ :where(.zvk-composite-provider-model-selector__panel-description-separator) {
2374
+ color: var(--zvk-ui-color-border);
2375
+ }
2376
+
2377
+ :where(.zvk-composite-provider-model-selector__list) {
2378
+ display: grid;
2379
+ gap: var(--zvk-ui-space-2);
2380
+ list-style: none;
2381
+ margin: 0;
2382
+ min-inline-size: 0;
2383
+ padding: 0;
2384
+ }
2385
+
2386
+ :where(.zvk-composite-provider-model-selector__list-item) {
2387
+ min-inline-size: 0;
2388
+ }
2389
+
2390
+ :where(.zvk-composite-provider-model-selector__choice) {
2391
+ appearance: none;
2392
+ background: var(--zvk-ui-color-surface);
2393
+ border: 1px solid var(--zvk-ui-color-border-subtle);
2394
+ border-radius: var(--zvk-ui-radius-md);
2395
+ color: inherit;
2396
+ cursor: pointer;
2397
+ display: grid;
2398
+ gap: var(--zvk-ui-space-2);
2399
+ min-inline-size: 0;
2400
+ padding: var(--zvk-ui-space-3);
2401
+ text-align: start;
2402
+ transition:
2403
+ border-color 120ms ease,
2404
+ box-shadow 120ms ease,
2405
+ background-color 120ms ease,
2406
+ color 120ms ease;
2407
+ width: 100%;
2408
+ }
2409
+
2410
+ :where(.zvk-composite-provider-model-selector__choice:hover:not(:disabled)) {
2411
+ border-color: color-mix(in srgb, var(--zvk-ui-color-primary) 22%, var(--zvk-ui-color-border-subtle));
2412
+ background: color-mix(in srgb, var(--zvk-ui-color-primary) 4%, var(--zvk-ui-color-surface));
2413
+ }
2414
+
2415
+ :where(.zvk-composite-provider-model-selector__choice:focus-visible) {
2416
+ outline: 2px solid var(--zvk-ui-color-primary);
2417
+ outline-offset: 2px;
2418
+ }
2419
+
2420
+ :where(.zvk-composite-provider-model-selector__choice[data-selected]) {
2421
+ background: color-mix(in srgb, var(--zvk-ui-color-primary) 10%, var(--zvk-ui-color-surface));
2422
+ border-color: color-mix(in srgb, var(--zvk-ui-color-primary) 34%, var(--zvk-ui-color-border-subtle));
2423
+ box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--zvk-ui-color-primary) 16%, transparent);
2424
+ }
2425
+
2426
+ :where(.zvk-composite-provider-model-selector__choice[data-disabled]) {
2427
+ cursor: not-allowed;
2428
+ opacity: 0.64;
2429
+ }
2430
+
2431
+ :where(.zvk-composite-provider-model-selector__choice-copy) {
2432
+ display: grid;
2433
+ gap: 0.25rem;
2434
+ min-inline-size: 0;
2435
+ }
2436
+
2437
+ :where(.zvk-composite-provider-model-selector__choice-heading) {
2438
+ align-items: center;
2439
+ display: grid;
2440
+ gap: var(--zvk-ui-space-2);
2441
+ grid-template-columns: minmax(0, 1fr) auto;
2442
+ min-inline-size: 0;
2443
+ }
2444
+
2445
+ :where(.zvk-composite-provider-model-selector__choice-label),
2446
+ :where(.zvk-composite-provider-model-selector__choice-description),
2447
+ :where(.zvk-composite-provider-model-selector__choice-metadata) {
2448
+ min-inline-size: 0;
2449
+ overflow: hidden;
2450
+ text-overflow: ellipsis;
2451
+ white-space: nowrap;
2452
+ }
2453
+
2454
+ :where(.zvk-composite-provider-model-selector__choice-label) {
2455
+ color: var(--zvk-ui-color-foreground);
2456
+ font-family: var(--zvk-ui-font-family-secondary);
2457
+ font-size: var(--zvk-ui-font-size-sm);
2458
+ font-weight: 700;
2459
+ line-height: var(--zvk-ui-line-height-tight);
2460
+ }
2461
+
2462
+ :where(.zvk-composite-provider-model-selector__choice-description),
2463
+ :where(.zvk-composite-provider-model-selector__choice-metadata) {
2464
+ color: var(--zvk-ui-color-muted-foreground);
2465
+ font-size: var(--zvk-ui-font-size-xs);
2466
+ line-height: var(--zvk-ui-line-height-tight);
2467
+ }
2468
+
2469
+ :where(.zvk-composite-provider-model-selector__choice-badge) {
2470
+ background: var(--zvk-ui-color-muted);
2471
+ border-radius: var(--zvk-ui-radius-full);
2472
+ color: var(--zvk-ui-color-muted-foreground);
2473
+ font-size: var(--zvk-ui-font-size-xs);
2474
+ line-height: var(--zvk-ui-line-height-tight);
2475
+ padding: 0.125rem var(--zvk-ui-space-2);
2476
+ white-space: nowrap;
2477
+ }
2478
+
2479
+ :where(.zvk-composite-provider-model-selector__state) {
2480
+ align-items: center;
2481
+ background: var(--zvk-ui-color-muted);
2482
+ border: 1px solid var(--zvk-ui-color-border-subtle);
2483
+ border-radius: var(--zvk-ui-radius-md);
2484
+ color: var(--zvk-ui-color-muted-foreground);
2485
+ display: flex;
2486
+ gap: var(--zvk-ui-space-2);
2487
+ justify-content: center;
2488
+ min-block-size: 5.5rem;
2489
+ padding: var(--zvk-ui-space-4);
2490
+ text-align: center;
2491
+ }
2492
+
2493
+ :where(.zvk-composite-provider-model-selector__advanced-settings) {
2494
+ border-top: 1px solid var(--zvk-ui-color-border-subtle);
2495
+ display: grid;
2496
+ gap: var(--zvk-ui-space-3);
2497
+ padding-block-start: var(--zvk-ui-space-3);
2498
+ }
2499
+
2500
+ @media (max-width: 52rem) {
2501
+ :where(.zvk-composite-provider-model-selector__header),
2502
+ :where(.zvk-composite-provider-model-selector__columns) {
2503
+ grid-template-columns: 1fr;
2504
+ }
2505
+
2506
+ :where(.zvk-composite-provider-model-selector__summary) {
2507
+ justify-self: start;
2508
+ }
2509
+ }
2510
+ }
2511
+
2512
+
2513
+ /* src/ai/conversation-directory.css */
2514
+ @layer zvk-composite-components {
2515
+ :where(.zvk-composite-conversation-directory) {
2516
+ background: var(--zvk-ui-color-surface);
2517
+ border: 1px solid var(--zvk-ui-card-border);
2518
+ border-radius: var(--zvk-ui-radius-lg);
2519
+ box-shadow: var(--zvk-ui-shadow-xs);
2520
+ color: var(--zvk-ui-color-foreground);
2521
+ display: grid;
2522
+ gap: var(--zvk-ui-space-4);
2523
+ min-inline-size: 0;
2524
+ padding: var(--zvk-ui-space-4);
2525
+ }
2526
+
2527
+ :where(.zvk-composite-conversation-directory[data-loading]) {
2528
+ opacity: 0.86;
2529
+ }
2530
+
2531
+ :where(.zvk-composite-conversation-directory__header) {
2532
+ align-items: start;
2533
+ display: grid;
2534
+ gap: var(--zvk-ui-space-3);
2535
+ grid-template-columns: minmax(0, 1fr) auto;
2536
+ min-inline-size: 0;
2537
+ }
2538
+
2539
+ :where(.zvk-composite-conversation-directory__header-copy),
2540
+ :where(.zvk-composite-conversation-directory__groups),
2541
+ :where(.zvk-composite-conversation-directory__group),
2542
+ :where(.zvk-composite-conversation-directory__item-content) {
2543
+ display: grid;
2544
+ min-inline-size: 0;
2545
+ }
2546
+
2547
+ :where(.zvk-composite-conversation-directory__header-copy),
2548
+ :where(.zvk-composite-conversation-directory__item-content) {
2549
+ gap: 0.25rem;
2550
+ }
2551
+
2552
+ :where(.zvk-composite-conversation-directory__groups) {
2553
+ gap: var(--zvk-ui-space-4);
2554
+ }
2555
+
2556
+ :where(.zvk-composite-conversation-directory__group) {
2557
+ gap: var(--zvk-ui-space-3);
2558
+ }
2559
+
2560
+ :where(.zvk-composite-conversation-directory__title),
2561
+ :where(.zvk-composite-conversation-directory__group-title) {
2562
+ color: var(--zvk-ui-color-foreground);
2563
+ font-family: var(--zvk-ui-font-family-secondary);
2564
+ font-weight: 700;
2565
+ line-height: var(--zvk-ui-line-height-tight);
2566
+ margin: 0;
2567
+ }
2568
+
2569
+ :where(.zvk-composite-conversation-directory__title) {
2570
+ font-size: var(--zvk-ui-font-size-lg);
2571
+ overflow-wrap: anywhere;
2572
+ }
2573
+
2574
+ :where(.zvk-composite-conversation-directory__group-title) {
2575
+ font-size: var(--zvk-ui-font-size-sm);
2576
+ text-transform: none;
2577
+ }
2578
+
2579
+ :where(.zvk-composite-conversation-directory__item-description),
2580
+ :where(.zvk-composite-conversation-directory__item-meta),
2581
+ :where(.zvk-composite-conversation-directory__footer) {
2582
+ color: var(--zvk-ui-color-muted-foreground);
2583
+ font-size: var(--zvk-ui-font-size-sm);
2584
+ line-height: var(--zvk-ui-line-height-normal);
2585
+ }
2586
+
2587
+ :where(.zvk-composite-conversation-directory__header-actions),
2588
+ :where(.zvk-composite-conversation-directory__actions) {
2589
+ align-items: center;
2590
+ display: flex;
2591
+ flex-wrap: wrap;
2592
+ gap: var(--zvk-ui-space-2);
2593
+ justify-content: end;
2594
+ min-inline-size: 0;
2595
+ }
2596
+
2597
+ :where(.zvk-composite-conversation-directory__search) {
2598
+ min-inline-size: min(18rem, 100%);
2599
+ }
2600
+
2601
+ :where(.zvk-composite-conversation-directory__item-badge) {
2602
+ background: var(--zvk-ui-color-muted);
2603
+ border-radius: var(--zvk-ui-radius-full);
2604
+ color: var(--zvk-ui-color-muted-foreground);
2605
+ font-size: var(--zvk-ui-font-size-xs);
2606
+ line-height: var(--zvk-ui-line-height-tight);
2607
+ padding: 0.125rem var(--zvk-ui-space-2);
2608
+ white-space: nowrap;
2609
+ }
2610
+
2611
+ :where(.zvk-composite-conversation-directory__list) {
2612
+ display: grid;
2613
+ gap: var(--zvk-ui-space-2);
2614
+ list-style: none;
2615
+ margin: 0;
2616
+ min-inline-size: 0;
2617
+ padding: 0;
2618
+ }
2619
+
2620
+ :where(.zvk-composite-conversation-directory__list-item) {
2621
+ min-inline-size: 0;
2622
+ }
2623
+
2624
+ :where(.zvk-composite-conversation-directory__item) {
2625
+ appearance: none;
2626
+ background: var(--zvk-ui-color-surface);
2627
+ border: 1px solid var(--zvk-ui-color-border-subtle);
2628
+ border-radius: var(--zvk-ui-radius-md);
2629
+ color: inherit;
2630
+ cursor: pointer;
2631
+ display: grid;
2632
+ min-inline-size: 0;
2633
+ padding: var(--zvk-ui-space-3);
2634
+ position: relative;
2635
+ text-align: start;
2636
+ transition:
2637
+ background-color 120ms ease,
2638
+ border-color 120ms ease,
2639
+ box-shadow 120ms ease,
2640
+ color 120ms ease,
2641
+ transform 120ms ease;
2642
+ width: 100%;
2643
+ }
2644
+
2645
+ :where(.zvk-composite-conversation-directory__item:hover:not(:disabled)) {
2646
+ background: color-mix(in srgb, var(--zvk-ui-color-primary) 4%, var(--zvk-ui-color-surface));
2647
+ border-color: color-mix(in srgb, var(--zvk-ui-color-primary) 22%, var(--zvk-ui-color-border-subtle));
2648
+ box-shadow: var(--zvk-ui-shadow-xs);
2649
+ transform: translateY(-1px);
2650
+ }
2651
+
2652
+ :where(.zvk-composite-conversation-directory__item:focus-visible) {
2653
+ outline: 2px solid var(--zvk-ui-color-ring);
2654
+ outline-offset: 2px;
2655
+ }
2656
+
2657
+ :where(.zvk-composite-conversation-directory__item[data-selected]) {
2658
+ background: color-mix(in srgb, var(--zvk-ui-color-primary) 10%, var(--zvk-ui-color-surface));
2659
+ border-color: var(--zvk-ui-color-primary-border);
2660
+ box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--zvk-ui-color-primary) 16%, transparent);
2661
+ padding-inline-start: var(--zvk-ui-space-6);
2662
+ }
2663
+
2664
+ :where(.zvk-composite-conversation-directory__item[data-selected])::before {
2665
+ background: var(--zvk-ui-color-primary);
2666
+ border-radius: var(--zvk-ui-radius-full);
2667
+ block-size: calc(100% - var(--zvk-ui-space-4));
2668
+ content: "";
2669
+ inline-size: 0.1875rem;
2670
+ inset-block: var(--zvk-ui-space-2);
2671
+ inset-inline-start: var(--zvk-ui-space-2);
2672
+ position: absolute;
2673
+ }
2674
+
2675
+ :where(.zvk-composite-conversation-directory__item[data-unread] .zvk-composite-conversation-directory__item-title) {
2676
+ font-weight: 800;
2677
+ }
2678
+
2679
+ :where(.zvk-composite-conversation-directory__item[data-pinned]) {
2680
+ border-color: color-mix(in srgb, var(--zvk-ui-color-primary) 18%, var(--zvk-ui-color-border-subtle));
2681
+ }
2682
+
2683
+ :where(.zvk-composite-conversation-directory__item[data-archived]) {
2684
+ background: color-mix(in srgb, var(--zvk-ui-color-muted) 48%, var(--zvk-ui-color-surface));
2685
+ border-style: dashed;
2686
+ }
2687
+
2688
+ :where(.zvk-composite-conversation-directory__item[data-disabled]) {
2689
+ cursor: not-allowed;
2690
+ opacity: 0.64;
2691
+ }
2692
+
2693
+ :where(.zvk-composite-conversation-directory__item-heading) {
2694
+ align-items: center;
2695
+ display: grid;
2696
+ gap: var(--zvk-ui-space-2);
2697
+ grid-template-columns: minmax(0, 1fr) auto;
2698
+ min-inline-size: 0;
2699
+ }
2700
+
2701
+ :where(.zvk-composite-conversation-directory__item-title),
2702
+ :where(.zvk-composite-conversation-directory__item-description),
2703
+ :where(.zvk-composite-conversation-directory__item-meta) {
2704
+ min-inline-size: 0;
2705
+ overflow: hidden;
2706
+ text-overflow: ellipsis;
2707
+ white-space: nowrap;
2708
+ }
2709
+
2710
+ :where(.zvk-composite-conversation-directory__item-title) {
2711
+ color: var(--zvk-ui-color-foreground);
2712
+ font-family: var(--zvk-ui-font-family-secondary);
2713
+ font-size: var(--zvk-ui-font-size-sm);
2714
+ font-weight: 700;
2715
+ line-height: var(--zvk-ui-line-height-tight);
2716
+ }
2717
+
2718
+ :where(.zvk-composite-conversation-directory__item-description) {
2719
+ color: var(--zvk-ui-color-muted-foreground);
2720
+ }
2721
+
2722
+ :where(.zvk-composite-conversation-directory__item-meta-row) {
2723
+ align-items: center;
2724
+ display: flex;
2725
+ flex-wrap: wrap;
2726
+ gap: var(--zvk-ui-space-2);
2727
+ min-inline-size: 0;
2728
+ }
2729
+
2730
+ :where(.zvk-composite-conversation-directory__item-meta) {
2731
+ font-size: var(--zvk-ui-font-size-xs);
2732
+ }
2733
+
2734
+ :where(.zvk-composite-conversation-directory__item-states) {
2735
+ align-items: center;
2736
+ display: inline-flex;
2737
+ flex-wrap: wrap;
2738
+ gap: var(--zvk-ui-space-1);
2739
+ }
2740
+
2741
+ :where(.zvk-composite-conversation-directory__item-state) {
2742
+ align-items: center;
2743
+ border-radius: var(--zvk-ui-radius-full);
2744
+ display: inline-flex;
2745
+ font-size: var(--zvk-ui-font-size-xs);
2746
+ font-weight: 600;
2747
+ line-height: var(--zvk-ui-line-height-tight);
2748
+ padding: 0.125rem var(--zvk-ui-space-2);
2749
+ white-space: nowrap;
2750
+ }
2751
+
2752
+ :where(.zvk-composite-conversation-directory__item-state[data-kind="pinned"]) {
2753
+ background: var(--zvk-ui-color-muted);
2754
+ color: var(--zvk-ui-color-muted-foreground);
2755
+ }
2756
+
2757
+ :where(.zvk-composite-conversation-directory__item-state[data-kind="unread"]) {
2758
+ background: color-mix(in srgb, var(--zvk-ui-color-primary) 10%, var(--zvk-ui-color-primary-soft));
2759
+ color: var(--zvk-ui-color-primary);
2760
+ }
2761
+
2762
+ :where(.zvk-composite-conversation-directory__item-state[data-kind="archived"]) {
2763
+ background: color-mix(in srgb, var(--zvk-ui-color-muted) 70%, var(--zvk-ui-color-surface));
2764
+ color: var(--zvk-ui-color-muted-foreground);
2765
+ }
2766
+
2767
+ :where(.zvk-composite-conversation-directory__state) {
2768
+ align-items: center;
2769
+ background: var(--zvk-ui-color-muted);
2770
+ border: 1px solid var(--zvk-ui-color-border-subtle);
2771
+ border-radius: var(--zvk-ui-radius-md);
2772
+ color: var(--zvk-ui-color-muted-foreground);
2773
+ display: flex;
2774
+ gap: var(--zvk-ui-space-2);
2775
+ justify-content: center;
2776
+ min-block-size: 7rem;
2777
+ padding: var(--zvk-ui-space-4);
2778
+ text-align: center;
2779
+ }
2780
+
2781
+ :where(.zvk-composite-conversation-directory__footer) {
2782
+ border-top: 1px solid var(--zvk-ui-color-border-subtle);
2783
+ padding-block-start: var(--zvk-ui-space-3);
2784
+ }
2785
+
2786
+ @media (max-width: 42rem) {
2787
+ :where(.zvk-composite-conversation-directory) {
2788
+ padding: var(--zvk-ui-space-3);
2789
+ }
2790
+
2791
+ :where(.zvk-composite-conversation-directory__header) {
2792
+ grid-template-columns: 1fr;
2793
+ }
2794
+
2795
+ :where(.zvk-composite-conversation-directory__header-actions) {
2796
+ justify-content: start;
2797
+ }
2798
+ }
2799
+
2800
+ @media (prefers-reduced-motion: reduce) {
2801
+ :where(.zvk-composite-conversation-directory__item) {
2802
+ transition: none;
2803
+ }
2804
+
2805
+ :where(.zvk-composite-conversation-directory__item:hover:not(:disabled)) {
2806
+ transform: none;
2807
+ }
2808
+ }
2809
+ }
2810
+
2811
+
2812
+ /* src/ai/sticky-composer.css */
2813
+ @layer zvk-composite-components {
2814
+ :where(.zvk-composite-sticky-composer) {
2815
+ background: var(--zvk-ui-color-surface);
2816
+ border: 1px solid var(--zvk-ui-card-border);
2817
+ border-radius: var(--zvk-ui-radius-lg);
2818
+ box-shadow: var(--zvk-ui-shadow-xs);
2819
+ color: var(--zvk-ui-color-foreground);
2820
+ display: grid;
2821
+ gap: var(--zvk-ui-space-3);
2822
+ min-inline-size: 0;
2823
+ padding: var(--zvk-ui-space-3);
2824
+ position: sticky;
2825
+ inset-block-end: var(--zvk-ui-space-3);
2826
+ }
2827
+
2828
+ :where(.zvk-composite-sticky-composer[data-disabled]) {
2829
+ opacity: 0.76;
2830
+ }
2831
+
2832
+ :where(.zvk-composite-sticky-composer__body) {
2833
+ display: grid;
2834
+ gap: var(--zvk-ui-space-3);
2835
+ min-inline-size: 0;
2836
+ }
2837
+
2838
+ :where(.zvk-composite-sticky-composer__input) {
2839
+ min-inline-size: 0;
2840
+ }
2841
+
2842
+ :where(.zvk-composite-sticky-composer__toolbar) {
2843
+ align-items: center;
2844
+ display: grid;
2845
+ gap: var(--zvk-ui-space-2);
2846
+ grid-template-columns: minmax(0, auto) minmax(0, 1fr) auto;
2847
+ min-inline-size: 0;
2848
+ }
2849
+
2850
+ :where(.zvk-composite-sticky-composer__tools),
2851
+ :where(.zvk-composite-sticky-composer__submit) {
2852
+ align-items: center;
2853
+ display: flex;
2854
+ flex-wrap: wrap;
2855
+ gap: var(--zvk-ui-space-2);
2856
+ min-inline-size: 0;
2857
+ }
2858
+
2859
+ :where(.zvk-composite-sticky-composer__tools[data-slot="trailing"]) {
2860
+ justify-content: flex-end;
2861
+ }
2862
+
2863
+ :where(.zvk-composite-sticky-composer__submit) {
2864
+ justify-content: flex-end;
2865
+ }
2866
+
2867
+ :where(.zvk-composite-sticky-composer__meta) {
2868
+ align-items: center;
2869
+ display: grid;
2870
+ gap: var(--zvk-ui-space-2);
2871
+ grid-template-columns: minmax(0, 1fr) auto;
2872
+ min-inline-size: 0;
2873
+ }
2874
+
2875
+ :where(.zvk-composite-sticky-composer__status),
2876
+ :where(.zvk-composite-sticky-composer__error),
2877
+ :where(.zvk-composite-sticky-composer__footer) {
2878
+ font-size: var(--zvk-ui-font-size-sm);
2879
+ line-height: var(--zvk-ui-line-height-normal);
2880
+ min-inline-size: 0;
2881
+ }
2882
+
2883
+ :where(.zvk-composite-sticky-composer__status),
2884
+ :where(.zvk-composite-sticky-composer__footer) {
2885
+ color: var(--zvk-ui-color-muted-foreground);
2886
+ }
2887
+
2888
+ :where(.zvk-composite-sticky-composer__error) {
2889
+ color: var(--zvk-ui-color-destructive);
2890
+ justify-self: end;
2891
+ }
2892
+
2893
+ :where(.zvk-composite-sticky-composer__footer) {
2894
+ border-top: 1px solid var(--zvk-ui-color-border-subtle);
2895
+ padding-block-start: var(--zvk-ui-space-3);
2896
+ }
2897
+
2898
+ @media (max-width: 42rem) {
2899
+ :where(.zvk-composite-sticky-composer__toolbar),
2900
+ :where(.zvk-composite-sticky-composer__meta) {
2901
+ grid-template-columns: 1fr;
2902
+ }
2903
+
2904
+ :where(.zvk-composite-sticky-composer__tools[data-slot="trailing"]),
2905
+ :where(.zvk-composite-sticky-composer__submit),
2906
+ :where(.zvk-composite-sticky-composer__error) {
2907
+ justify-content: flex-start;
2908
+ justify-self: start;
2909
+ }
2910
+ }
2911
+ }
2912
+
2913
+
2914
+ /* src/detail/detail-inspector-panel.css */
2915
+ @layer zvk-composite-components {
2916
+ :where(.zvk-composite-detail-inspector-panel) {
2917
+ background: var(--zvk-ui-color-surface);
2918
+ border: 1px solid var(--zvk-ui-card-border);
2919
+ border-radius: var(--zvk-ui-radius-lg);
2920
+ box-shadow: var(--zvk-ui-shadow-xs);
2921
+ color: var(--zvk-ui-color-foreground);
2922
+ display: grid;
2923
+ gap: var(--zvk-ui-space-4);
2924
+ min-inline-size: 0;
2925
+ padding: var(--zvk-ui-space-4);
2926
+ }
2927
+
2928
+ :where(.zvk-composite-detail-inspector-panel[data-loading]) {
2929
+ opacity: 0.82;
2930
+ }
2931
+
2932
+ :where(.zvk-composite-detail-inspector-panel__header),
2933
+ :where(.zvk-composite-detail-inspector-panel__meta-row),
2934
+ :where(.zvk-composite-detail-inspector-panel__section-header) {
2935
+ align-items: start;
2936
+ display: grid;
2937
+ gap: var(--zvk-ui-space-3);
2938
+ grid-template-columns: minmax(0, 1fr) auto;
2939
+ min-inline-size: 0;
2940
+ }
2941
+
2942
+ :where(.zvk-composite-detail-inspector-panel__copy),
2943
+ :where(.zvk-composite-detail-inspector-panel__section-copy),
2944
+ :where(.zvk-composite-detail-inspector-panel__body),
2945
+ :where(.zvk-composite-detail-inspector-panel__sections),
2946
+ :where(.zvk-composite-detail-inspector-panel__section) {
2947
+ display: grid;
2948
+ min-inline-size: 0;
2949
+ }
2950
+
2951
+ :where(.zvk-composite-detail-inspector-panel__copy),
2952
+ :where(.zvk-composite-detail-inspector-panel__section-copy) {
2953
+ gap: var(--zvk-ui-space-1);
2954
+ }
2955
+
2956
+ :where(.zvk-composite-detail-inspector-panel__body),
2957
+ :where(.zvk-composite-detail-inspector-panel__sections) {
2958
+ gap: var(--zvk-ui-space-3);
2959
+ }
2960
+
2961
+ :where(.zvk-composite-detail-inspector-panel__title),
2962
+ :where(.zvk-composite-detail-inspector-panel__section-title) {
2963
+ color: var(--zvk-ui-color-foreground);
2964
+ font-family: var(--zvk-ui-font-family-secondary);
2965
+ font-weight: 700;
2966
+ line-height: var(--zvk-ui-line-height-tight);
2967
+ margin: 0;
2968
+ }
2969
+
2970
+ :where(.zvk-composite-detail-inspector-panel__title) {
2971
+ font-size: var(--zvk-ui-font-size-lg);
2972
+ }
2973
+
2974
+ :where(.zvk-composite-detail-inspector-panel__section-title) {
2975
+ font-size: var(--zvk-ui-font-size-base);
2976
+ }
2977
+
2978
+ :where(.zvk-composite-detail-inspector-panel__description),
2979
+ :where(.zvk-composite-detail-inspector-panel__section-description),
2980
+ :where(.zvk-composite-detail-inspector-panel__metadata),
2981
+ :where(.zvk-composite-detail-inspector-panel__footer) {
2982
+ color: var(--zvk-ui-color-muted-foreground);
2983
+ font-size: var(--zvk-ui-font-size-sm);
2984
+ line-height: var(--zvk-ui-line-height-normal);
2985
+ }
2986
+
2987
+ :where(.zvk-composite-detail-inspector-panel__description),
2988
+ :where(.zvk-composite-detail-inspector-panel__section-description) {
2989
+ margin: 0;
2990
+ }
2991
+
2992
+ :where(.zvk-composite-detail-inspector-panel__status),
2993
+ :where(.zvk-composite-detail-inspector-panel__actions),
2994
+ :where(.zvk-composite-detail-inspector-panel__section-actions) {
2995
+ align-items: center;
2996
+ display: flex;
2997
+ flex-wrap: wrap;
2998
+ gap: var(--zvk-ui-space-2);
2999
+ justify-content: end;
3000
+ }
3001
+
3002
+ :where(.zvk-composite-detail-inspector-panel__metadata) {
3003
+ display: flex;
3004
+ flex-wrap: wrap;
3005
+ gap: var(--zvk-ui-space-2);
3006
+ }
3007
+
3008
+ :where(.zvk-composite-detail-inspector-panel__section) {
3009
+ border: 1px solid var(--zvk-ui-color-border-subtle);
3010
+ border-radius: var(--zvk-ui-radius-md);
3011
+ gap: var(--zvk-ui-space-3);
3012
+ padding: var(--zvk-ui-space-3);
3013
+ }
3014
+
3015
+ :where(.zvk-composite-detail-inspector-panel__section-content) {
3016
+ min-inline-size: 0;
3017
+ }
3018
+
3019
+ :where(.zvk-composite-detail-inspector-panel__state) {
3020
+ align-items: center;
3021
+ background: var(--zvk-ui-color-muted);
3022
+ border: 1px solid var(--zvk-ui-color-border-subtle);
3023
+ border-radius: var(--zvk-ui-radius-md);
3024
+ color: var(--zvk-ui-color-muted-foreground);
3025
+ display: flex;
3026
+ justify-content: center;
3027
+ min-block-size: 6rem;
3028
+ padding: var(--zvk-ui-space-4);
3029
+ text-align: center;
3030
+ }
3031
+
3032
+ :where(.zvk-composite-detail-inspector-panel__footer) {
3033
+ border-top: 1px solid var(--zvk-ui-color-border-subtle);
3034
+ padding-block-start: var(--zvk-ui-space-3);
3035
+ }
3036
+
3037
+ @media (max-width: 40rem) {
3038
+ :where(.zvk-composite-detail-inspector-panel__header),
3039
+ :where(.zvk-composite-detail-inspector-panel__meta-row),
3040
+ :where(.zvk-composite-detail-inspector-panel__section-header) {
3041
+ grid-template-columns: 1fr;
3042
+ }
3043
+
3044
+ :where(.zvk-composite-detail-inspector-panel__status),
3045
+ :where(.zvk-composite-detail-inspector-panel__actions),
3046
+ :where(.zvk-composite-detail-inspector-panel__section-actions) {
3047
+ justify-content: start;
3048
+ }
3049
+ }
3050
+ }
3051
+
3052
+
3053
+ /* src/data/data-table-control-bar.css */
3054
+ @layer zvk-composite-components {
3055
+ :where(.zvk-composite-data-table-control-bar) {
3056
+ background: color-mix(in srgb, var(--zvk-ui-color-muted) 60%, var(--zvk-ui-color-surface));
3057
+ border: 1px solid var(--zvk-ui-color-border-subtle);
3058
+ border-radius: var(--zvk-ui-radius-md);
3059
+ box-shadow: var(--zvk-ui-shadow-xs);
3060
+ color: var(--zvk-ui-color-foreground);
3061
+ display: grid;
3062
+ gap: var(--zvk-ui-space-3);
3063
+ inline-size: 100%;
3064
+ min-inline-size: 0;
3065
+ padding: var(--zvk-ui-space-3);
3066
+ }
3067
+
3068
+ :where(.zvk-composite-data-table-control-bar__primary) {
3069
+ align-items: center;
3070
+ display: flex;
3071
+ flex-wrap: wrap;
3072
+ gap: var(--zvk-ui-space-2);
3073
+ min-inline-size: 0;
3074
+ }
3075
+
3076
+ :where(.zvk-composite-data-table-control-bar__search) {
3077
+ flex: 1 1 16rem;
3078
+ min-inline-size: 0;
3079
+ }
3080
+
3081
+ :where(
3082
+ .zvk-composite-data-table-control-bar__filters,
3083
+ .zvk-composite-data-table-control-bar__saved-view,
3084
+ .zvk-composite-data-table-control-bar__density-control,
3085
+ .zvk-composite-data-table-control-bar__column-control
3086
+ ) {
3087
+ flex: 0 0 auto;
3088
+ min-inline-size: 0;
3089
+ }
3090
+
3091
+ :where(.zvk-composite-data-table-control-bar__secondary) {
3092
+ align-items: center;
3093
+ display: flex;
3094
+ flex-wrap: wrap;
3095
+ gap: var(--zvk-ui-space-2);
3096
+ min-inline-size: 0;
3097
+ }
3098
+
3099
+ :where(.zvk-composite-data-table-control-bar__selection-summary) {
3100
+ align-items: center;
3101
+ color: var(--zvk-ui-color-muted-foreground);
3102
+ display: flex;
3103
+ flex: 1 1 12rem;
3104
+ min-inline-size: 0;
3105
+ }
3106
+
3107
+ :where(.zvk-composite-data-table-control-bar__actions) {
3108
+ align-items: center;
3109
+ display: flex;
3110
+ flex-wrap: wrap;
3111
+ gap: var(--zvk-ui-space-2);
3112
+ justify-content: end;
3113
+ margin-inline-start: auto;
3114
+ min-inline-size: 0;
3115
+ }
3116
+
3117
+ :where(.zvk-composite-data-table-control-bar__bulk-actions),
3118
+ :where(.zvk-composite-data-table-control-bar__actions-slot) {
3119
+ align-items: center;
3120
+ display: flex;
3121
+ flex-wrap: wrap;
3122
+ gap: var(--zvk-ui-space-2);
3123
+ min-inline-size: 0;
3124
+ }
3125
+
3126
+ @media (max-width: 44rem) {
3127
+ :where(.zvk-composite-data-table-control-bar__selection-summary),
3128
+ :where(.zvk-composite-data-table-control-bar__actions) {
3129
+ justify-content: flex-start;
3130
+ }
3131
+
3132
+ :where(.zvk-composite-data-table-control-bar__actions) {
3133
+ margin-inline-start: 0;
3134
+ }
3135
+ }
3136
+ }
3137
+
3138
+
1100
3139
  /* src/data/data-table-page-frame.css */
1101
3140
  @layer zvk-composite-components {
1102
3141
  :where(.zvk-composite-data-table-page-frame) {