@zvk/composite 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1220 @@
1
+ /* src/styles.css */
2
+ @layer zvk-composite-components;
3
+
4
+ /* src/layout/page-scaffold.css */
5
+ @layer zvk-composite-components {
6
+ :where(.zvk-composite-page-scaffold) {
7
+ --zvk-composite-page-scaffold-max-width: 80rem;
8
+ color: var(--zvk-ui-color-foreground);
9
+ display: grid;
10
+ font-family: var(--zvk-ui-font-family-sans);
11
+ gap: var(--zvk-ui-space-5);
12
+ inline-size: min(100%, var(--zvk-composite-page-scaffold-max-width));
13
+ margin-inline: auto;
14
+ min-inline-size: 0;
15
+ }
16
+
17
+ :where(.zvk-composite-page-scaffold[data-max-width="sm"]) {
18
+ --zvk-composite-page-scaffold-max-width: 40rem;
19
+ }
20
+
21
+ :where(.zvk-composite-page-scaffold[data-max-width="md"]) {
22
+ --zvk-composite-page-scaffold-max-width: 56rem;
23
+ }
24
+
25
+ :where(.zvk-composite-page-scaffold[data-max-width="lg"]) {
26
+ --zvk-composite-page-scaffold-max-width: 68rem;
27
+ }
28
+
29
+ :where(.zvk-composite-page-scaffold[data-max-width="xl"]) {
30
+ --zvk-composite-page-scaffold-max-width: 80rem;
31
+ }
32
+
33
+ :where(.zvk-composite-page-scaffold[data-max-width="full"]) {
34
+ --zvk-composite-page-scaffold-max-width: 100%;
35
+ }
36
+
37
+ :where(.zvk-composite-page-scaffold__header) {
38
+ border-block-end: 1px solid var(--zvk-ui-color-border);
39
+ padding-block-end: var(--zvk-ui-space-4);
40
+ }
41
+
42
+ :where(.zvk-composite-page-scaffold__header--controls-only) {
43
+ align-items: center;
44
+ display: flex;
45
+ flex-wrap: wrap;
46
+ gap: var(--zvk-ui-space-2);
47
+ justify-content: space-between;
48
+ }
49
+
50
+ :where(.zvk-composite-page-scaffold__toolbar),
51
+ :where(.zvk-composite-page-scaffold__actions) {
52
+ align-items: center;
53
+ display: inline-flex;
54
+ flex-wrap: wrap;
55
+ gap: var(--zvk-ui-space-2);
56
+ min-inline-size: 0;
57
+ }
58
+
59
+ :where(.zvk-composite-page-scaffold__state) {
60
+ min-inline-size: 0;
61
+ }
62
+
63
+ :where(.zvk-composite-page-scaffold__grid) {
64
+ align-items: start;
65
+ display: grid;
66
+ gap: var(--zvk-ui-space-5);
67
+ grid-template-columns: minmax(0, 1fr);
68
+ min-inline-size: 0;
69
+ }
70
+
71
+ :where(.zvk-composite-page-scaffold[data-with-aside="true"] .zvk-composite-page-scaffold__grid) {
72
+ grid-template-columns: minmax(0, 1fr) minmax(16rem, 22rem);
73
+ }
74
+
75
+ :where(.zvk-composite-page-scaffold__main) {
76
+ display: grid;
77
+ gap: var(--zvk-ui-space-4);
78
+ min-inline-size: 0;
79
+ }
80
+
81
+ :where(.zvk-composite-page-scaffold__aside) {
82
+ background:
83
+ linear-gradient(180deg, color-mix(in srgb, var(--zvk-ui-color-primary) 5%, transparent), transparent 10rem),
84
+ var(--zvk-ui-color-surface);
85
+ border: 1px solid var(--zvk-ui-color-border);
86
+ border-radius: var(--zvk-ui-radius-md);
87
+ box-shadow: var(--zvk-ui-shadow-xs);
88
+ min-inline-size: 0;
89
+ padding: var(--zvk-ui-space-4);
90
+ }
91
+
92
+ :where(.zvk-composite-page-scaffold__footer) {
93
+ border-block-start: 1px solid var(--zvk-ui-color-border);
94
+ color: var(--zvk-ui-color-muted-foreground);
95
+ font-size: var(--zvk-ui-font-size-sm);
96
+ padding-block-start: var(--zvk-ui-space-4);
97
+ }
98
+
99
+ @media (max-width: 64rem) {
100
+ :where(.zvk-composite-page-scaffold[data-with-aside="true"] .zvk-composite-page-scaffold__grid) {
101
+ grid-template-columns: 1fr;
102
+ }
103
+ }
104
+ }
105
+
106
+
107
+ /* src/navigation/app-workspace-shell.css */
108
+ @layer zvk-composite-components {
109
+ :where(.zvk-composite-app-workspace-shell) {
110
+ background:
111
+ linear-gradient(135deg, color-mix(in srgb, var(--zvk-ui-color-primary) 6%, transparent), transparent 32rem),
112
+ var(--zvk-ui-color-surface);
113
+ border: 1px solid var(--zvk-ui-color-border);
114
+ border-radius: var(--zvk-ui-radius-lg);
115
+ box-shadow: var(--zvk-ui-shadow-sm);
116
+ color: var(--zvk-ui-color-foreground);
117
+ font-family: var(--zvk-ui-font-family-sans);
118
+ gap: var(--zvk-ui-space-5);
119
+ min-block-size: 100%;
120
+ overflow: clip;
121
+ }
122
+
123
+ :where(.zvk-composite-app-workspace-shell__sidebar) {
124
+ align-content: start;
125
+ background: color-mix(in srgb, var(--zvk-ui-color-muted) 68%, transparent);
126
+ border-inline-end: 1px solid var(--zvk-ui-color-border-subtle);
127
+ display: grid;
128
+ gap: var(--zvk-ui-space-4);
129
+ padding: var(--zvk-ui-space-4);
130
+ }
131
+
132
+ :where(.zvk-composite-app-workspace-shell__brand) {
133
+ align-items: center;
134
+ border-block-end: 1px solid var(--zvk-ui-color-border);
135
+ color: var(--zvk-ui-color-foreground);
136
+ display: flex;
137
+ font-size: var(--zvk-ui-font-size-lg);
138
+ font-weight: 700;
139
+ gap: var(--zvk-ui-space-2);
140
+ letter-spacing: 0;
141
+ min-block-size: var(--zvk-ui-control-height-lg);
142
+ min-inline-size: 0;
143
+ padding-block-end: var(--zvk-ui-space-3);
144
+ }
145
+
146
+ :where(.zvk-composite-app-workspace-shell__workspace-switcher),
147
+ :where(.zvk-composite-app-workspace-shell__navigation) {
148
+ min-inline-size: 0;
149
+ }
150
+
151
+ :where(.zvk-composite-app-workspace-shell__main) {
152
+ gap: var(--zvk-ui-space-4);
153
+ min-block-size: 0;
154
+ padding: var(--zvk-ui-space-4);
155
+ }
156
+
157
+ :where(.zvk-composite-app-workspace-shell__header) {
158
+ align-items: center;
159
+ background:
160
+ linear-gradient(90deg, color-mix(in srgb, var(--zvk-ui-color-primary) 7%, transparent), transparent 60%),
161
+ color-mix(in srgb, var(--zvk-ui-color-surface-raised) 92%, transparent);
162
+ border: 1px solid var(--zvk-ui-color-border);
163
+ border-radius: var(--zvk-ui-radius-md);
164
+ box-shadow: var(--zvk-ui-shadow-xs);
165
+ display: grid;
166
+ gap: var(--zvk-ui-space-3);
167
+ grid-template-columns: minmax(0, 1fr) minmax(12rem, 24rem) auto;
168
+ padding: var(--zvk-ui-space-3);
169
+ }
170
+
171
+ :where(.zvk-composite-app-workspace-shell__header-content),
172
+ :where(.zvk-composite-app-workspace-shell__command-palette),
173
+ :where(.zvk-composite-app-workspace-shell__account-menu) {
174
+ min-inline-size: 0;
175
+ }
176
+
177
+ :where(.zvk-composite-app-workspace-shell__account-menu) {
178
+ justify-self: end;
179
+ }
180
+
181
+ :where(.zvk-composite-app-workspace-shell__content) {
182
+ display: grid;
183
+ gap: var(--zvk-ui-space-4);
184
+ min-block-size: 0;
185
+ min-inline-size: 0;
186
+ }
187
+
188
+ :where(.zvk-composite-app-workspace-shell__footer) {
189
+ border-block-start: 1px solid var(--zvk-ui-color-border);
190
+ color: var(--zvk-ui-color-muted-foreground);
191
+ font-size: var(--zvk-ui-font-size-sm);
192
+ padding-block-start: var(--zvk-ui-space-3);
193
+ }
194
+
195
+ :where(.zvk-composite-app-workspace-shell__mobile-nav) {
196
+ background: var(--zvk-ui-color-surface);
197
+ border: 1px solid var(--zvk-ui-color-border);
198
+ border-radius: var(--zvk-ui-radius-md);
199
+ display: none;
200
+ min-inline-size: 0;
201
+ }
202
+
203
+ :where(.zvk-composite-app-workspace-shell__mobile-nav-summary) {
204
+ color: var(--zvk-ui-color-foreground);
205
+ cursor: pointer;
206
+ font-size: var(--zvk-ui-font-size-sm);
207
+ font-weight: 700;
208
+ list-style: none;
209
+ padding: var(--zvk-ui-space-3);
210
+ }
211
+
212
+ :where(.zvk-composite-app-workspace-shell__mobile-nav-summary::-webkit-details-marker) {
213
+ display: none;
214
+ }
215
+
216
+ :where(.zvk-composite-app-workspace-shell__mobile-nav-summary:focus-visible) {
217
+ box-shadow: var(--zvk-ui-focus-ring);
218
+ outline: 0;
219
+ }
220
+
221
+ :where(.zvk-composite-app-workspace-shell__mobile-nav-content) {
222
+ border-block-start: 1px solid var(--zvk-ui-color-border);
223
+ display: grid;
224
+ gap: var(--zvk-ui-space-3);
225
+ padding: var(--zvk-ui-space-3);
226
+ }
227
+
228
+ :where(.zvk-composite-app-workspace-shell__mobile-nav-context) {
229
+ display: grid;
230
+ gap: var(--zvk-ui-space-2);
231
+ }
232
+
233
+ @media (max-width: 48rem) {
234
+ :where(.zvk-composite-app-workspace-shell__sidebar) {
235
+ display: none;
236
+ }
237
+
238
+ :where(.zvk-composite-app-workspace-shell__mobile-nav) {
239
+ display: block;
240
+ }
241
+
242
+ :where(.zvk-composite-app-workspace-shell__header) {
243
+ grid-template-columns: 1fr;
244
+ }
245
+
246
+ :where(.zvk-composite-app-workspace-shell__main) {
247
+ padding: var(--zvk-ui-space-3);
248
+ }
249
+
250
+ :where(.zvk-composite-app-workspace-shell__account-menu) {
251
+ justify-self: start;
252
+ }
253
+ }
254
+ }
255
+
256
+
257
+ /* src/navigation/sectioned-workspace-shell.css */
258
+ @layer zvk-composite-components {
259
+ :where(.zvk-composite-sectioned-workspace-shell) {
260
+ 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;
267
+ }
268
+
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);
278
+ }
279
+
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;
286
+ }
287
+
288
+ :where(.zvk-composite-sectioned-workspace-shell__header) {
289
+ border-block-end: 1px solid var(--zvk-ui-color-border);
290
+ padding-block-end: var(--zvk-ui-space-4);
291
+ }
292
+
293
+ :where(.zvk-composite-sectioned-workspace-shell__content) {
294
+ display: grid;
295
+ gap: var(--zvk-ui-space-4);
296
+ min-block-size: 0;
297
+ min-inline-size: 0;
298
+ }
299
+
300
+ :where(.zvk-composite-sectioned-workspace-shell__footer) {
301
+ border-block-start: 1px solid var(--zvk-ui-color-border);
302
+ 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);
305
+ }
306
+
307
+ :where(.zvk-composite-sectioned-workspace-shell__nav-item-content) {
308
+ display: grid;
309
+ gap: var(--zvk-ui-space-1);
310
+ min-inline-size: 0;
311
+ }
312
+
313
+ :where(.zvk-composite-sectioned-workspace-shell__nav-item-label),
314
+ :where(.zvk-composite-sectioned-workspace-shell__nav-item-description) {
315
+ min-inline-size: 0;
316
+ overflow: hidden;
317
+ text-overflow: ellipsis;
318
+ white-space: nowrap;
319
+ }
320
+
321
+ :where(.zvk-composite-sectioned-workspace-shell__nav-item-description) {
322
+ color: var(--zvk-ui-color-muted-foreground);
323
+ font-size: var(--zvk-ui-font-size-xs);
324
+ line-height: var(--zvk-ui-line-height-tight);
325
+ }
326
+
327
+ @media (max-width: 56rem) {
328
+ :where(.zvk-composite-sectioned-workspace-shell) {
329
+ grid-template-columns: 1fr;
330
+ }
331
+
332
+ :where(.zvk-composite-sectioned-workspace-shell__body) {
333
+ order: 1;
334
+ }
335
+
336
+ :where(.zvk-composite-sectioned-workspace-shell__sidebar) {
337
+ order: 2;
338
+ }
339
+ }
340
+ }
341
+
342
+
343
+ /* src/navigation/workspace-header.css */
344
+ @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%;
351
+ min-inline-size: 0;
352
+ }
353
+
354
+ :where(.zvk-composite-workspace-header[data-align="center"]) {
355
+ align-items: center;
356
+ }
357
+
358
+ :where(.zvk-composite-workspace-header__content) {
359
+ display: grid;
360
+ gap: var(--zvk-ui-space-2);
361
+ min-inline-size: 0;
362
+ }
363
+
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;
370
+ }
371
+
372
+ :where(.zvk-composite-workspace-header__eyebrow) {
373
+ color: var(--zvk-ui-color-muted-foreground);
374
+ font-size: var(--zvk-ui-font-size-xs);
375
+ font-weight: 700;
376
+ letter-spacing: 0;
377
+ line-height: var(--zvk-ui-line-height-tight);
378
+ text-transform: uppercase;
379
+ }
380
+
381
+ :where(.zvk-composite-workspace-header__status) {
382
+ 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);
393
+ }
394
+
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;
400
+ line-height: var(--zvk-ui-line-height-tight);
401
+ margin: 0;
402
+ overflow-wrap: anywhere;
403
+ }
404
+
405
+ :where(.zvk-composite-workspace-header__body) {
406
+ display: grid;
407
+ gap: var(--zvk-ui-space-2);
408
+ max-inline-size: 72ch;
409
+ }
410
+
411
+ :where(.zvk-composite-workspace-header__description) {
412
+ color: var(--zvk-ui-color-muted-foreground);
413
+ font-size: var(--zvk-ui-font-size-sm);
414
+ line-height: var(--zvk-ui-line-height-relaxed);
415
+ margin: 0;
416
+ }
417
+
418
+ :where(.zvk-composite-workspace-header__meta) {
419
+ color: var(--zvk-ui-color-muted-foreground);
420
+ font-size: var(--zvk-ui-font-size-sm);
421
+ min-inline-size: 0;
422
+ }
423
+
424
+ :where(.zvk-composite-workspace-header__controls) {
425
+ align-items: center;
426
+ display: flex;
427
+ flex-wrap: wrap;
428
+ gap: var(--zvk-ui-space-2);
429
+ justify-content: end;
430
+ min-inline-size: 0;
431
+ }
432
+
433
+ :where(.zvk-composite-workspace-header__toolbar),
434
+ :where(.zvk-composite-workspace-header__actions) {
435
+ align-items: center;
436
+ display: inline-flex;
437
+ flex-wrap: wrap;
438
+ gap: var(--zvk-ui-space-2);
439
+ min-inline-size: 0;
440
+ }
441
+
442
+ :where(.zvk-composite-breadcrumb-page-header) {
443
+ display: grid;
444
+ gap: var(--zvk-ui-space-3);
445
+ min-inline-size: 0;
446
+ }
447
+
448
+ @media (max-width: 48rem) {
449
+ :where(.zvk-composite-workspace-header) {
450
+ grid-template-columns: 1fr;
451
+ }
452
+
453
+ :where(.zvk-composite-workspace-header__controls) {
454
+ justify-content: start;
455
+ }
456
+ }
457
+ }
458
+
459
+
460
+ /* src/state/state-surface.css */
461
+ @layer zvk-composite-components {
462
+ :where(.zvk-composite-state-surface) {
463
+ --zvk-composite-state-surface-accent: var(--zvk-ui-color-muted-foreground);
464
+ align-items: center;
465
+ background:
466
+ radial-gradient(circle at top right, color-mix(in srgb, var(--zvk-composite-state-surface-accent) 13%, transparent), transparent 14rem),
467
+ var(--zvk-ui-color-surface);
468
+ border: 1px solid color-mix(in srgb, var(--zvk-composite-state-surface-accent) 24%, var(--zvk-ui-color-border));
469
+ border-radius: var(--zvk-ui-radius-lg);
470
+ box-shadow: var(--zvk-ui-shadow-xs);
471
+ color: var(--zvk-ui-color-foreground);
472
+ display: grid;
473
+ gap: var(--zvk-ui-space-4);
474
+ justify-items: center;
475
+ min-block-size: 12rem;
476
+ overflow: clip;
477
+ padding: var(--zvk-ui-space-6);
478
+ position: relative;
479
+ }
480
+
481
+ :where(.zvk-composite-state-surface)::before {
482
+ background: var(--zvk-composite-state-surface-accent);
483
+ block-size: 0.1875rem;
484
+ content: "";
485
+ inline-size: 100%;
486
+ inset-block-start: 0;
487
+ inset-inline: 0;
488
+ opacity: 0.74;
489
+ position: absolute;
490
+ }
491
+
492
+ :where(.zvk-composite-state-surface[data-align="start"]) {
493
+ justify-items: start;
494
+ text-align: start;
495
+ }
496
+
497
+ :where(.zvk-composite-state-surface[data-size="sm"]) {
498
+ gap: var(--zvk-ui-space-3);
499
+ min-block-size: 9rem;
500
+ padding: var(--zvk-ui-space-4);
501
+ }
502
+
503
+ :where(.zvk-composite-state-surface[data-size="lg"]) {
504
+ gap: var(--zvk-ui-space-5);
505
+ min-block-size: 16rem;
506
+ padding: var(--zvk-ui-space-8);
507
+ }
508
+
509
+ :where(.zvk-composite-state-surface__empty-state) {
510
+ inline-size: min(100%, 34rem);
511
+ }
512
+
513
+ :where(.zvk-composite-state-surface__empty-state .zvk-ui-empty-state__icon) {
514
+ color: var(--zvk-composite-state-surface-accent, var(--zvk-ui-color-muted-foreground));
515
+ }
516
+
517
+ :where(.zvk-composite-state-surface[data-tone="success"]) {
518
+ --zvk-composite-state-surface-accent: var(--zvk-ui-color-success);
519
+ }
520
+
521
+ :where(.zvk-composite-state-surface[data-tone="warning"]) {
522
+ --zvk-composite-state-surface-accent: var(--zvk-ui-color-warning);
523
+ }
524
+
525
+ :where(.zvk-composite-state-surface[data-tone="destructive"]) {
526
+ --zvk-composite-state-surface-accent: var(--zvk-ui-color-destructive);
527
+ }
528
+
529
+ :where(.zvk-composite-state-surface[data-tone="info"]) {
530
+ --zvk-composite-state-surface-accent: var(--zvk-ui-color-info);
531
+ }
532
+
533
+ :where(.zvk-composite-state-surface__footer) {
534
+ color: var(--zvk-ui-color-muted-foreground);
535
+ font-size: var(--zvk-ui-font-size-sm);
536
+ max-inline-size: 34rem;
537
+ }
538
+ }
539
+
540
+
541
+ /* src/lists/entity-card.css */
542
+ @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);
552
+ display: grid;
553
+ gap: var(--zvk-ui-space-3);
554
+ grid-template-columns: auto minmax(0, 1fr) auto auto;
555
+ inline-size: 100%;
556
+ min-block-size: 4.5rem;
557
+ padding: var(--zvk-ui-space-3);
558
+ position: relative;
559
+ text-align: start;
560
+ text-decoration: none;
561
+ transition:
562
+ background var(--zvk-ui-duration-fast) var(--zvk-ui-ease-standard),
563
+ border-color var(--zvk-ui-duration-fast) var(--zvk-ui-ease-standard),
564
+ box-shadow var(--zvk-ui-duration-fast) var(--zvk-ui-ease-standard),
565
+ transform var(--zvk-ui-duration-fast) var(--zvk-ui-ease-standard);
566
+ }
567
+
568
+ :where(.zvk-composite-entity-card:is(a, button)) {
569
+ appearance: none;
570
+ cursor: pointer;
571
+ font: inherit;
572
+ }
573
+
574
+ :where(.zvk-composite-entity-card[data-interactive]:hover) {
575
+ border-color: var(--zvk-ui-control-border-strong);
576
+ box-shadow: var(--zvk-ui-shadow-sm);
577
+ transform: translateY(-1px);
578
+ }
579
+
580
+ :where(.zvk-composite-entity-card:focus-visible) {
581
+ outline: 2px solid var(--zvk-ui-color-ring);
582
+ outline-offset: 2px;
583
+ }
584
+
585
+ :where(.zvk-composite-entity-card[data-selected]) {
586
+ background:
587
+ linear-gradient(90deg, color-mix(in srgb, var(--zvk-ui-color-primary) 13%, transparent), transparent 70%),
588
+ var(--zvk-ui-color-primary-soft);
589
+ border-color: var(--zvk-ui-color-primary-border);
590
+ }
591
+
592
+ :where(.zvk-composite-entity-card[data-selected])::before {
593
+ background: var(--zvk-ui-color-primary);
594
+ border-radius: var(--zvk-ui-radius-full);
595
+ block-size: calc(100% - var(--zvk-ui-space-4));
596
+ content: "";
597
+ inline-size: 0.1875rem;
598
+ inset-block: var(--zvk-ui-space-2);
599
+ inset-inline-start: var(--zvk-ui-space-2);
600
+ position: absolute;
601
+ }
602
+
603
+ :where(.zvk-composite-entity-card[data-disabled]) {
604
+ cursor: not-allowed;
605
+ opacity: 0.58;
606
+ }
607
+
608
+ :where(.zvk-composite-entity-card__icon) {
609
+ align-items: center;
610
+ background: color-mix(in srgb, var(--zvk-ui-color-primary) 10%, var(--zvk-ui-color-muted));
611
+ border: 1px solid color-mix(in srgb, var(--zvk-ui-color-primary) 20%, var(--zvk-ui-color-border-subtle));
612
+ border-radius: var(--zvk-ui-radius-md);
613
+ color: var(--zvk-ui-color-primary);
614
+ display: inline-flex;
615
+ min-block-size: 2rem;
616
+ min-inline-size: 2rem;
617
+ justify-content: center;
618
+ }
619
+
620
+ :where(.zvk-composite-entity-card__body) {
621
+ display: grid;
622
+ gap: var(--zvk-ui-space-1);
623
+ min-inline-size: 0;
624
+ }
625
+
626
+ :where(.zvk-composite-entity-card__heading) {
627
+ align-items: center;
628
+ display: flex;
629
+ gap: var(--zvk-ui-space-2);
630
+ min-inline-size: 0;
631
+ }
632
+
633
+ :where(.zvk-composite-entity-card__title) {
634
+ font-size: var(--zvk-ui-font-size-sm);
635
+ font-weight: 700;
636
+ line-height: var(--zvk-ui-line-height-tight);
637
+ margin: 0;
638
+ overflow-wrap: anywhere;
639
+ }
640
+
641
+ :where(.zvk-composite-entity-card__description) {
642
+ color: var(--zvk-ui-color-muted-foreground);
643
+ font-size: var(--zvk-ui-font-size-sm);
644
+ line-height: var(--zvk-ui-line-height-normal);
645
+ margin: 0;
646
+ }
647
+
648
+ :where(.zvk-composite-entity-card__badges, .zvk-composite-entity-card__actions, .zvk-composite-entity-card__status) {
649
+ align-items: center;
650
+ display: inline-flex;
651
+ flex-wrap: wrap;
652
+ gap: var(--zvk-ui-space-2);
653
+ }
654
+
655
+ :where(.zvk-composite-entity-card__badges) {
656
+ flex: 0 0 auto;
657
+ }
658
+
659
+ :where(.zvk-composite-entity-card__meta) {
660
+ color: var(--zvk-ui-color-muted-foreground);
661
+ font-size: var(--zvk-ui-font-size-xs);
662
+ }
663
+
664
+ :where(.zvk-composite-entity-card__error) {
665
+ color: var(--zvk-ui-color-destructive);
666
+ font-size: var(--zvk-ui-font-size-xs);
667
+ font-weight: 600;
668
+ }
669
+
670
+ @media (max-width: 40rem) {
671
+ :where(.zvk-composite-entity-card) {
672
+ grid-template-columns: auto minmax(0, 1fr);
673
+ }
674
+
675
+ :where(.zvk-composite-entity-card__status, .zvk-composite-entity-card__actions) {
676
+ grid-column: 2;
677
+ justify-content: start;
678
+ }
679
+ }
680
+
681
+ @media (prefers-reduced-motion: reduce) {
682
+ :where(.zvk-composite-entity-card) {
683
+ transition: none;
684
+ }
685
+
686
+ :where(.zvk-composite-entity-card[data-interactive]:hover) {
687
+ transform: none;
688
+ }
689
+ }
690
+ }
691
+
692
+
693
+ /* src/lists/entity-list-section.css */
694
+ @layer zvk-composite-components {
695
+ :where(.zvk-composite-entity-list-section) {
696
+ display: grid;
697
+ gap: var(--zvk-ui-space-4);
698
+ }
699
+
700
+ :where(.zvk-composite-entity-list-section__header) {
701
+ align-items: end;
702
+ display: grid;
703
+ gap: var(--zvk-ui-space-3);
704
+ grid-template-columns: minmax(0, 1fr) auto;
705
+ }
706
+
707
+ :where(.zvk-composite-entity-list-section__copy) {
708
+ display: grid;
709
+ gap: var(--zvk-ui-space-1);
710
+ min-inline-size: 0;
711
+ }
712
+
713
+ :where(.zvk-composite-entity-list-section__title) {
714
+ color: var(--zvk-ui-color-foreground);
715
+ font-size: var(--zvk-ui-font-size-lg);
716
+ font-weight: 700;
717
+ line-height: var(--zvk-ui-line-height-tight);
718
+ margin: 0;
719
+ }
720
+
721
+ :where(.zvk-composite-entity-list-section__description) {
722
+ color: var(--zvk-ui-color-muted-foreground);
723
+ font-size: var(--zvk-ui-font-size-sm);
724
+ margin: 0;
725
+ }
726
+
727
+ :where(.zvk-composite-entity-list-section__actions, .zvk-composite-entity-list-section__toolbar) {
728
+ align-items: center;
729
+ display: flex;
730
+ flex-wrap: wrap;
731
+ gap: var(--zvk-ui-space-2);
732
+ }
733
+
734
+ :where(.zvk-composite-entity-list-section__actions) {
735
+ justify-content: end;
736
+ }
737
+
738
+ :where(.zvk-composite-entity-list-section__toolbar) {
739
+ background: var(--zvk-ui-color-muted);
740
+ border: 1px solid var(--zvk-ui-color-border-subtle);
741
+ border-radius: var(--zvk-ui-radius-md);
742
+ padding: var(--zvk-ui-space-2);
743
+ }
744
+
745
+ :where(.zvk-composite-entity-list-section__list) {
746
+ display: grid;
747
+ gap: var(--zvk-ui-space-2);
748
+ list-style: none;
749
+ margin: 0;
750
+ padding: 0;
751
+ }
752
+
753
+ :where(.zvk-composite-entity-list-section__item) {
754
+ min-inline-size: 0;
755
+ }
756
+
757
+ :where(.zvk-composite-entity-list-section__state) {
758
+ min-block-size: 10rem;
759
+ }
760
+
761
+ :where(.zvk-composite-entity-list-section__footer) {
762
+ color: var(--zvk-ui-color-muted-foreground);
763
+ font-size: var(--zvk-ui-font-size-sm);
764
+ }
765
+
766
+ @media (max-width: 40rem) {
767
+ :where(.zvk-composite-entity-list-section__header) {
768
+ align-items: start;
769
+ grid-template-columns: 1fr;
770
+ }
771
+
772
+ :where(.zvk-composite-entity-list-section__actions) {
773
+ justify-content: start;
774
+ }
775
+ }
776
+ }
777
+
778
+
779
+ /* src/lists/summary-metric-grid.css */
780
+ @layer zvk-composite-components {
781
+ :where(.zvk-composite-summary-metric-grid) {
782
+ display: grid;
783
+ gap: var(--zvk-ui-space-4);
784
+ }
785
+
786
+ :where(.zvk-composite-summary-metric-grid__header) {
787
+ align-items: end;
788
+ display: grid;
789
+ gap: var(--zvk-ui-space-3);
790
+ grid-template-columns: minmax(0, 1fr) auto;
791
+ }
792
+
793
+ :where(.zvk-composite-summary-metric-grid__copy) {
794
+ display: grid;
795
+ gap: var(--zvk-ui-space-1);
796
+ min-inline-size: 0;
797
+ }
798
+
799
+ :where(.zvk-composite-summary-metric-grid__title) {
800
+ color: var(--zvk-ui-color-foreground);
801
+ font-size: var(--zvk-ui-font-size-lg);
802
+ font-weight: 700;
803
+ line-height: var(--zvk-ui-line-height-tight);
804
+ margin: 0;
805
+ }
806
+
807
+ :where(.zvk-composite-summary-metric-grid__description) {
808
+ color: var(--zvk-ui-color-muted-foreground);
809
+ font-size: var(--zvk-ui-font-size-sm);
810
+ margin: 0;
811
+ }
812
+
813
+ :where(.zvk-composite-summary-metric-grid__actions) {
814
+ align-items: center;
815
+ display: inline-flex;
816
+ flex-wrap: wrap;
817
+ gap: var(--zvk-ui-space-2);
818
+ justify-content: end;
819
+ }
820
+
821
+ :where(.zvk-composite-summary-metric-grid__metrics) {
822
+ display: grid;
823
+ gap: var(--zvk-ui-space-3);
824
+ grid-template-columns: repeat(var(--zvk-composite-summary-metric-grid-columns, 4), minmax(0, 1fr));
825
+ }
826
+
827
+ :where(.zvk-composite-summary-metric-grid[data-columns="1"]) {
828
+ --zvk-composite-summary-metric-grid-columns: 1;
829
+ }
830
+
831
+ :where(.zvk-composite-summary-metric-grid[data-columns="2"]) {
832
+ --zvk-composite-summary-metric-grid-columns: 2;
833
+ }
834
+
835
+ :where(.zvk-composite-summary-metric-grid[data-columns="3"]) {
836
+ --zvk-composite-summary-metric-grid-columns: 3;
837
+ }
838
+
839
+ :where(.zvk-composite-summary-metric-grid[data-columns="4"]) {
840
+ --zvk-composite-summary-metric-grid-columns: 4;
841
+ }
842
+
843
+ :where(.zvk-composite-summary-metric-grid__card) {
844
+ background:
845
+ linear-gradient(180deg, color-mix(in srgb, var(--zvk-ui-color-primary) 5%, transparent), transparent 62%),
846
+ var(--zvk-ui-color-surface);
847
+ box-shadow: var(--zvk-ui-shadow-xs);
848
+ display: grid;
849
+ min-inline-size: 0;
850
+ position: relative;
851
+ }
852
+
853
+ :where(.zvk-composite-summary-metric-grid__stat) {
854
+ border: 0;
855
+ }
856
+
857
+ :where(.zvk-composite-summary-metric-grid__card:first-child) {
858
+ border-color: color-mix(in srgb, var(--zvk-ui-color-primary) 38%, var(--zvk-ui-card-border));
859
+ }
860
+
861
+ :where(.zvk-composite-summary-metric-grid__action) {
862
+ border-top: 1px solid var(--zvk-ui-color-border-subtle);
863
+ padding: 0 var(--zvk-ui-space-4) var(--zvk-ui-space-3);
864
+ }
865
+
866
+ :where(.zvk-composite-summary-metric-grid__card[data-action-position="top"] .zvk-composite-summary-metric-grid__stat) {
867
+ padding-inline-end: calc(var(--zvk-ui-space-4) + 2rem);
868
+ }
869
+
870
+ :where(.zvk-composite-summary-metric-grid__action[data-position="top"]) {
871
+ border-top: 0;
872
+ inset-block-start: 0;
873
+ inset-inline-end: 0;
874
+ padding: var(--zvk-ui-space-3);
875
+ position: absolute;
876
+ }
877
+
878
+ @media (max-width: 60rem) {
879
+ :where(.zvk-composite-summary-metric-grid__metrics) {
880
+ grid-template-columns: repeat(2, minmax(0, 1fr));
881
+ }
882
+ }
883
+
884
+ @media (max-width: 40rem) {
885
+ :where(.zvk-composite-summary-metric-grid__header) {
886
+ align-items: start;
887
+ grid-template-columns: 1fr;
888
+ }
889
+
890
+ :where(.zvk-composite-summary-metric-grid__actions) {
891
+ justify-content: start;
892
+ }
893
+
894
+ :where(.zvk-composite-summary-metric-grid__metrics) {
895
+ grid-template-columns: 1fr;
896
+ }
897
+ }
898
+ }
899
+
900
+
901
+ /* src/lists/settings-hub-list.css */
902
+ @layer zvk-composite-components {
903
+ :where(.zvk-composite-settings-hub-list) {
904
+ display: grid;
905
+ gap: var(--zvk-ui-space-4);
906
+ }
907
+
908
+ :where(.zvk-composite-settings-hub-list__header) {
909
+ align-items: end;
910
+ display: grid;
911
+ gap: var(--zvk-ui-space-3);
912
+ grid-template-columns: minmax(0, 1fr) auto;
913
+ }
914
+
915
+ :where(.zvk-composite-settings-hub-list__copy) {
916
+ display: grid;
917
+ gap: var(--zvk-ui-space-1);
918
+ min-inline-size: 0;
919
+ }
920
+
921
+ :where(.zvk-composite-settings-hub-list__title) {
922
+ color: var(--zvk-ui-color-foreground);
923
+ font-size: var(--zvk-ui-font-size-lg);
924
+ font-weight: 700;
925
+ line-height: var(--zvk-ui-line-height-tight);
926
+ margin: 0;
927
+ }
928
+
929
+ :where(.zvk-composite-settings-hub-list__description) {
930
+ color: var(--zvk-ui-color-muted-foreground);
931
+ font-size: var(--zvk-ui-font-size-sm);
932
+ margin: 0;
933
+ }
934
+
935
+ :where(.zvk-composite-settings-hub-list__actions) {
936
+ align-items: center;
937
+ display: inline-flex;
938
+ flex-wrap: wrap;
939
+ gap: var(--zvk-ui-space-2);
940
+ justify-content: end;
941
+ }
942
+
943
+ :where(.zvk-composite-settings-hub-list__list) {
944
+ display: grid;
945
+ gap: var(--zvk-ui-space-2);
946
+ grid-template-columns: repeat(2, minmax(0, 1fr));
947
+ list-style: none;
948
+ margin: 0;
949
+ padding: 0;
950
+ }
951
+
952
+ :where(.zvk-composite-settings-hub-list__item) {
953
+ min-inline-size: 0;
954
+ }
955
+
956
+ :where(.zvk-composite-settings-hub-list__empty) {
957
+ min-block-size: 10rem;
958
+ }
959
+
960
+ @media (max-width: 48rem) {
961
+ :where(.zvk-composite-settings-hub-list__header) {
962
+ align-items: start;
963
+ grid-template-columns: 1fr;
964
+ }
965
+
966
+ :where(.zvk-composite-settings-hub-list__actions) {
967
+ justify-content: start;
968
+ }
969
+
970
+ :where(.zvk-composite-settings-hub-list__list) {
971
+ grid-template-columns: 1fr;
972
+ }
973
+ }
974
+ }
975
+
976
+
977
+ /* src/forms/form-surface.css */
978
+ @layer zvk-composite-components {
979
+ :where(.zvk-composite-form-surface) {
980
+ display: block;
981
+ min-inline-size: 0;
982
+ }
983
+
984
+ :where(.zvk-composite-form-surface__card) {
985
+ background:
986
+ linear-gradient(180deg, color-mix(in srgb, var(--zvk-ui-color-primary) 4%, transparent), transparent 13rem),
987
+ var(--zvk-ui-color-surface);
988
+ box-shadow: var(--zvk-ui-shadow-xs);
989
+ overflow: clip;
990
+ }
991
+
992
+ :where(.zvk-composite-form-surface__header) {
993
+ align-items: start;
994
+ border-block-end: 1px solid var(--zvk-ui-color-border-subtle);
995
+ display: grid;
996
+ gap: var(--zvk-ui-space-4);
997
+ grid-template-columns: minmax(0, 1fr) auto;
998
+ padding: var(--zvk-ui-space-4) var(--zvk-ui-space-5);
999
+ }
1000
+
1001
+ :where(.zvk-composite-form-surface__heading) {
1002
+ min-inline-size: 0;
1003
+ }
1004
+
1005
+ :where(.zvk-composite-form-surface__title) {
1006
+ margin: 0;
1007
+ }
1008
+
1009
+ :where(.zvk-composite-form-surface__description) {
1010
+ margin-block-start: var(--zvk-ui-space-1);
1011
+ }
1012
+
1013
+ :where(.zvk-composite-form-surface__actions) {
1014
+ display: flex;
1015
+ flex-wrap: wrap;
1016
+ gap: var(--zvk-ui-space-2);
1017
+ justify-content: flex-end;
1018
+ min-inline-size: 0;
1019
+ }
1020
+
1021
+ :where(.zvk-composite-form-surface__alert) {
1022
+ padding: var(--zvk-ui-space-4) var(--zvk-ui-space-5) 0;
1023
+ }
1024
+
1025
+ :where(.zvk-composite-form-surface__content) {
1026
+ display: grid;
1027
+ gap: var(--zvk-ui-space-4);
1028
+ padding: var(--zvk-ui-space-5);
1029
+ }
1030
+
1031
+ :where(.zvk-composite-form-surface__footer) {
1032
+ align-items: center;
1033
+ background: color-mix(in srgb, var(--zvk-ui-color-muted) 72%, var(--zvk-ui-color-surface));
1034
+ border-block-start: 1px solid var(--zvk-ui-color-border);
1035
+ display: flex;
1036
+ flex-wrap: wrap;
1037
+ gap: var(--zvk-ui-space-2);
1038
+ justify-content: flex-end;
1039
+ padding: var(--zvk-ui-space-4) var(--zvk-ui-space-5);
1040
+ }
1041
+
1042
+ @media (max-width: 40rem) {
1043
+ :where(.zvk-composite-form-surface__header) {
1044
+ grid-template-columns: 1fr;
1045
+ }
1046
+
1047
+ :where(.zvk-composite-form-surface__actions),
1048
+ :where(.zvk-composite-form-surface__footer) {
1049
+ justify-content: flex-start;
1050
+ }
1051
+ }
1052
+ }
1053
+
1054
+
1055
+ /* src/forms/confirm-action-dialog.css */
1056
+ @layer zvk-composite-components {
1057
+ :where(.zvk-composite-confirm-action-dialog) {
1058
+ display: contents;
1059
+ }
1060
+
1061
+ :where(.zvk-composite-confirm-action-dialog__trigger) {
1062
+ max-inline-size: 100%;
1063
+ }
1064
+
1065
+ :where(.zvk-composite-confirm-action-dialog__content) {
1066
+ inline-size: min(100% - 2rem, 28rem);
1067
+ }
1068
+
1069
+ :where(.zvk-composite-confirm-action-dialog__title) {
1070
+ margin: 0;
1071
+ }
1072
+
1073
+ :where(.zvk-composite-confirm-action-dialog__description) {
1074
+ margin-block-start: var(--zvk-ui-space-2);
1075
+ }
1076
+
1077
+ :where(.zvk-composite-confirm-action-dialog__footer) {
1078
+ display: flex;
1079
+ flex-wrap: wrap-reverse;
1080
+ gap: var(--zvk-ui-space-2);
1081
+ justify-content: flex-end;
1082
+ margin-block-start: var(--zvk-ui-space-5);
1083
+ }
1084
+
1085
+ :where(.zvk-composite-confirm-action-dialog[data-tone="warning"] .zvk-composite-confirm-action-dialog__confirm) {
1086
+ --zvk-ui-button-bg: var(--zvk-ui-color-warning);
1087
+ --zvk-ui-button-border: color-mix(in srgb, var(--zvk-ui-color-warning) 82%, black);
1088
+ --zvk-ui-button-fg: white;
1089
+ }
1090
+
1091
+ @media (max-width: 30rem) {
1092
+ :where(.zvk-composite-confirm-action-dialog__footer) {
1093
+ align-items: stretch;
1094
+ flex-direction: column-reverse;
1095
+ }
1096
+ }
1097
+ }
1098
+
1099
+
1100
+ /* src/data/data-table-page-frame.css */
1101
+ @layer zvk-composite-components {
1102
+ :where(.zvk-composite-data-table-page-frame) {
1103
+ display: grid;
1104
+ gap: var(--zvk-ui-space-4);
1105
+ min-inline-size: 0;
1106
+ }
1107
+
1108
+ :where(.zvk-composite-data-table-page-frame__header) {
1109
+ align-items: flex-end;
1110
+ display: flex;
1111
+ gap: var(--zvk-ui-space-4);
1112
+ justify-content: space-between;
1113
+ min-inline-size: 0;
1114
+ }
1115
+
1116
+ :where(.zvk-composite-data-table-page-frame__heading) {
1117
+ min-inline-size: 0;
1118
+ }
1119
+
1120
+ :where(.zvk-composite-data-table-page-frame__title) {
1121
+ color: var(--zvk-ui-color-foreground);
1122
+ font-size: var(--zvk-ui-font-size-lg);
1123
+ font-weight: 700;
1124
+ line-height: var(--zvk-ui-line-height-tight);
1125
+ margin: 0;
1126
+ }
1127
+
1128
+ :where(.zvk-composite-data-table-page-frame__description) {
1129
+ color: var(--zvk-ui-color-muted-foreground);
1130
+ font-size: var(--zvk-ui-font-size-sm);
1131
+ line-height: var(--zvk-ui-line-height-normal);
1132
+ margin: var(--zvk-ui-space-1) 0 0;
1133
+ max-inline-size: 68ch;
1134
+ }
1135
+
1136
+ :where(.zvk-composite-data-table-page-frame__card) {
1137
+ background: var(--zvk-ui-color-surface);
1138
+ box-shadow: var(--zvk-ui-shadow-xs);
1139
+ overflow: clip;
1140
+ }
1141
+
1142
+ :where(.zvk-composite-data-table-page-frame__toolbar) {
1143
+ align-items: center;
1144
+ background: color-mix(in srgb, var(--zvk-ui-color-muted) 64%, var(--zvk-ui-color-surface));
1145
+ border-block-end: 1px solid var(--zvk-ui-color-border-subtle);
1146
+ display: grid;
1147
+ gap: var(--zvk-ui-space-3);
1148
+ grid-template-columns: minmax(14rem, 1fr) auto auto;
1149
+ padding: var(--zvk-ui-space-3) var(--zvk-ui-space-4);
1150
+ }
1151
+
1152
+ :where(
1153
+ .zvk-composite-data-table-page-frame__search,
1154
+ .zvk-composite-data-table-page-frame__filters,
1155
+ .zvk-composite-data-table-page-frame__bulk-actions,
1156
+ .zvk-composite-data-table-page-frame__footer-content,
1157
+ .zvk-composite-data-table-page-frame__pagination
1158
+ ) {
1159
+ min-inline-size: 0;
1160
+ }
1161
+
1162
+ :where(
1163
+ .zvk-composite-data-table-page-frame__filters,
1164
+ .zvk-composite-data-table-page-frame__bulk-actions,
1165
+ .zvk-composite-data-table-page-frame__pagination
1166
+ ) {
1167
+ display: flex;
1168
+ flex-wrap: wrap;
1169
+ gap: var(--zvk-ui-space-2);
1170
+ justify-content: flex-end;
1171
+ }
1172
+
1173
+ :where(.zvk-composite-data-table-page-frame__content) {
1174
+ padding: 0;
1175
+ }
1176
+
1177
+ :where(.zvk-composite-data-table-page-frame__table) {
1178
+ border: 0;
1179
+ }
1180
+
1181
+ :where(.zvk-composite-data-table-page-frame__state) {
1182
+ background:
1183
+ radial-gradient(circle at center top, color-mix(in srgb, var(--zvk-ui-color-primary) 9%, transparent), transparent 16rem),
1184
+ var(--zvk-ui-color-surface);
1185
+ color: var(--zvk-ui-color-muted-foreground);
1186
+ display: grid;
1187
+ min-block-size: 12rem;
1188
+ padding: var(--zvk-ui-space-6);
1189
+ place-items: center;
1190
+ text-align: center;
1191
+ }
1192
+
1193
+ :where(.zvk-composite-data-table-page-frame__footer) {
1194
+ align-items: center;
1195
+ background: color-mix(in srgb, var(--zvk-ui-color-muted) 72%, var(--zvk-ui-color-surface));
1196
+ border-block-start: 1px solid var(--zvk-ui-color-border-subtle);
1197
+ display: grid;
1198
+ gap: var(--zvk-ui-space-3);
1199
+ grid-template-columns: minmax(0, 1fr) auto;
1200
+ padding: var(--zvk-ui-space-3) var(--zvk-ui-space-4);
1201
+ }
1202
+
1203
+ @media (max-width: 45rem) {
1204
+ :where(.zvk-composite-data-table-page-frame__toolbar),
1205
+ :where(.zvk-composite-data-table-page-frame__footer) {
1206
+ grid-template-columns: 1fr;
1207
+ }
1208
+
1209
+ :where(
1210
+ .zvk-composite-data-table-page-frame__filters,
1211
+ .zvk-composite-data-table-page-frame__bulk-actions,
1212
+ .zvk-composite-data-table-page-frame__pagination
1213
+ ) {
1214
+ justify-content: flex-start;
1215
+ }
1216
+ }
1217
+ }
1218
+
1219
+
1220
+