@domainkit/react 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,883 @@
1
+ :where(
2
+ [data-domainkit-root],
3
+ [data-domainkit-part="copy-value"]:not([data-domainkit-root] *),
4
+ [data-domainkit-part="record-card"]:not([data-domainkit-root] *),
5
+ [data-domainkit-part="record-status"]:not([data-domainkit-root] *),
6
+ [data-domainkit-part="records-panel"]:not([data-domainkit-root] *),
7
+ [data-domainkit-part="zone-file"]:not([data-domainkit-root] *)
8
+ ) {
9
+ --domainkit-accent: #0070f3;
10
+ --domainkit-accent-contrast: #ffffff;
11
+ --domainkit-background: #ffffff;
12
+ --domainkit-border: #d4d4d8;
13
+ --domainkit-danger: #dc2626;
14
+ --domainkit-fill: #f4f4f5;
15
+ --domainkit-font-family: ui-sans-serif, system-ui, sans-serif;
16
+ --domainkit-muted: #52525b;
17
+ --domainkit-radius: 0.75rem;
18
+ --domainkit-shadow: 0 16px 40px rgb(15 23 42 / 0.12);
19
+ --domainkit-success: #059669;
20
+ --domainkit-text: #18181b;
21
+ --domainkit-control-radius: calc(var(--domainkit-radius) * 0.5);
22
+ --domainkit-button-raised-glint: rgb(255 255 255 / 0.95);
23
+ --domainkit-button-raised-shade: rgb(15 23 42 / 0.1);
24
+ --domainkit-button-raised-shadow: 0 1px 2px rgb(15 23 42 / 0.1);
25
+ color: var(--domainkit-text);
26
+ color-scheme: light;
27
+ font-family: var(--domainkit-font-family);
28
+ }
29
+
30
+ :where([data-domainkit-root][data-color-scheme="dark"]) {
31
+ --domainkit-background: #18181b;
32
+ --domainkit-border: #3f3f46;
33
+ --domainkit-fill: #27272a;
34
+ --domainkit-muted: #a1a1aa;
35
+ --domainkit-shadow: 0 16px 40px rgb(0 0 0 / 0.4);
36
+ --domainkit-success: #34d399;
37
+ --domainkit-text: #fafafa;
38
+ --domainkit-button-raised-glint: rgb(255 255 255 / 0.14);
39
+ --domainkit-button-raised-shade: rgb(0 0 0 / 0.42);
40
+ --domainkit-button-raised-shadow: 0 1px 2px rgb(0 0 0 / 0.45);
41
+ color-scheme: dark;
42
+ }
43
+
44
+ @media (prefers-color-scheme: dark) {
45
+ :where([data-domainkit-root][data-color-scheme="inherit"]) {
46
+ --domainkit-background: #18181b;
47
+ --domainkit-border: #3f3f46;
48
+ --domainkit-fill: #27272a;
49
+ --domainkit-muted: #a1a1aa;
50
+ --domainkit-shadow: 0 16px 40px rgb(0 0 0 / 0.4);
51
+ --domainkit-success: #34d399;
52
+ --domainkit-text: #fafafa;
53
+ --domainkit-button-raised-glint: rgb(255 255 255 / 0.14);
54
+ --domainkit-button-raised-shade: rgb(0 0 0 / 0.42);
55
+ --domainkit-button-raised-shadow: 0 1px 2px rgb(0 0 0 / 0.45);
56
+ color-scheme: dark;
57
+ }
58
+ }
59
+
60
+ :where([data-domainkit-part="connection-root"]) {
61
+ display: grid;
62
+ gap: 0.75rem;
63
+ justify-items: start;
64
+ }
65
+
66
+ :where([data-domainkit-part="connection-status"]) {
67
+ color: var(--domainkit-muted);
68
+ font-size: 0.875rem;
69
+ line-height: 1.4;
70
+ }
71
+
72
+ :where([data-domainkit-part="connection-status"][data-state="Connected"]) {
73
+ color: var(--domainkit-success);
74
+ font-weight: 500;
75
+ }
76
+
77
+ :where([data-domainkit-part="connection-status"][data-state="Failure"]) {
78
+ color: var(--domainkit-danger);
79
+ }
80
+
81
+ :where(
82
+ [data-domainkit-part="connection-trigger"],
83
+ [data-domainkit-part="oauth-connect"],
84
+ [data-domainkit-part="reuse-connection"],
85
+ [data-domainkit-part="connection-retry"],
86
+ [data-domainkit-part="plan-trigger"],
87
+ [data-domainkit-part="plan-apply"],
88
+ [data-domainkit-part="provisioning-retry"],
89
+ [data-domainkit-part="observe-action"],
90
+ [data-domainkit-part="cleanup-trigger"],
91
+ [data-domainkit-part="cleanup-apply"],
92
+ [data-domainkit-part="disconnect-action"],
93
+ [data-domainkit-part="token-connect"] button,
94
+ [data-domainkit-part="copy-action"],
95
+ [data-domainkit-part="zone-copy"],
96
+ [data-domainkit-part="zone-download"],
97
+ [data-domainkit-part="dialog-cancel"],
98
+ [data-domainkit-part="dialog-close"]
99
+ ) {
100
+ align-items: center;
101
+ border: 1px solid transparent;
102
+ border-radius: var(--domainkit-control-radius);
103
+ cursor: pointer;
104
+ display: inline-flex;
105
+ font: inherit;
106
+ font-size: 0.875rem;
107
+ font-weight: 500;
108
+ justify-content: center;
109
+ line-height: 1.2;
110
+ min-height: 2.25rem;
111
+ padding: 0.45rem 0.85rem;
112
+ transition:
113
+ background-color 120ms ease,
114
+ background-image 120ms ease,
115
+ border-color 120ms ease,
116
+ box-shadow 120ms ease;
117
+ }
118
+
119
+ :where(
120
+ [data-domainkit-part="connection-trigger"],
121
+ [data-domainkit-part="oauth-connect"],
122
+ [data-domainkit-part="plan-trigger"],
123
+ [data-domainkit-part="plan-apply"]
124
+ ) {
125
+ --domainkit-button-face: color-mix(in oklch, var(--domainkit-accent), white 22%);
126
+ --domainkit-button-glint: color-mix(in oklch, var(--domainkit-accent), white 42%);
127
+ --domainkit-button-edge: color-mix(in oklch, var(--domainkit-accent), black 18%);
128
+ background-color: var(--domainkit-accent);
129
+ background-image: linear-gradient(
130
+ to bottom,
131
+ var(--domainkit-button-face),
132
+ var(--domainkit-accent)
133
+ );
134
+ border-color: var(--domainkit-button-edge);
135
+ box-shadow:
136
+ 0 1px 2px rgb(15 23 42 / 0.18),
137
+ inset 0 1px 0 var(--domainkit-button-glint);
138
+ color: var(--domainkit-accent-contrast);
139
+ }
140
+
141
+ :where(
142
+ [data-domainkit-part="connection-trigger"]:hover:not(:disabled),
143
+ [data-domainkit-part="oauth-connect"]:hover:not(:disabled),
144
+ [data-domainkit-part="plan-trigger"]:hover:not(:disabled),
145
+ [data-domainkit-part="plan-apply"]:hover:not(:disabled)
146
+ ) {
147
+ --domainkit-button-face: color-mix(in oklch, var(--domainkit-accent), white 28%);
148
+ }
149
+
150
+ :where(
151
+ [data-domainkit-part="connection-trigger"]:active:not(:disabled),
152
+ [data-domainkit-part="oauth-connect"]:active:not(:disabled),
153
+ [data-domainkit-part="plan-trigger"]:active:not(:disabled),
154
+ [data-domainkit-part="plan-apply"]:active:not(:disabled)
155
+ ) {
156
+ background-image: linear-gradient(
157
+ to bottom,
158
+ var(--domainkit-accent),
159
+ color-mix(in oklch, var(--domainkit-accent), black 10%)
160
+ );
161
+ box-shadow: inset 0 1px 2px rgb(15 23 42 / 0.28);
162
+ }
163
+
164
+ :where(
165
+ [data-domainkit-part="reuse-connection"],
166
+ [data-domainkit-part="connection-retry"],
167
+ [data-domainkit-part="provisioning-retry"],
168
+ [data-domainkit-part="observe-action"],
169
+ [data-domainkit-part="zone-copy"],
170
+ [data-domainkit-part="zone-download"],
171
+ [data-domainkit-part="token-connect"] button
172
+ ) {
173
+ background-color: var(--domainkit-background);
174
+ border-color: var(--domainkit-border);
175
+ box-shadow:
176
+ var(--domainkit-button-raised-shadow),
177
+ inset 0 1px 0 var(--domainkit-button-raised-glint),
178
+ inset 0 -1px 0 var(--domainkit-button-raised-shade);
179
+ color: var(--domainkit-text);
180
+ }
181
+
182
+ :where(
183
+ [data-domainkit-part="reuse-connection"]:hover:not(:disabled),
184
+ [data-domainkit-part="connection-retry"]:hover:not(:disabled),
185
+ [data-domainkit-part="provisioning-retry"]:hover:not(:disabled),
186
+ [data-domainkit-part="observe-action"]:hover:not(:disabled),
187
+ [data-domainkit-part="zone-copy"]:hover:not(:disabled),
188
+ [data-domainkit-part="zone-download"]:hover:not(:disabled),
189
+ [data-domainkit-part="token-connect"] button:hover:not(:disabled)
190
+ ) {
191
+ background-color: var(--domainkit-fill);
192
+ }
193
+
194
+ :where([data-domainkit-part="cleanup-trigger"], [data-domainkit-part="disconnect-action"]) {
195
+ background: transparent;
196
+ border-color: transparent;
197
+ box-shadow: none;
198
+ color: var(--domainkit-danger);
199
+ font-weight: 500;
200
+ }
201
+
202
+ :where(
203
+ [data-domainkit-part="cleanup-trigger"]:hover:not(:disabled),
204
+ [data-domainkit-part="disconnect-action"]:hover:not(:disabled)
205
+ ) {
206
+ background: color-mix(in srgb, var(--domainkit-danger) 8%, transparent);
207
+ }
208
+
209
+ :where([data-domainkit-part="cleanup-apply"]) {
210
+ --domainkit-button-face: color-mix(in oklch, var(--domainkit-danger), white 22%);
211
+ --domainkit-button-glint: color-mix(in oklch, var(--domainkit-danger), white 42%);
212
+ --domainkit-button-edge: color-mix(in oklch, var(--domainkit-danger), black 18%);
213
+ background-color: var(--domainkit-danger);
214
+ background-image: linear-gradient(
215
+ to bottom,
216
+ var(--domainkit-button-face),
217
+ var(--domainkit-danger)
218
+ );
219
+ border-color: var(--domainkit-button-edge);
220
+ box-shadow:
221
+ 0 1px 2px rgb(15 23 42 / 0.18),
222
+ inset 0 1px 0 var(--domainkit-button-glint);
223
+ color: var(--domainkit-accent-contrast);
224
+ }
225
+
226
+ :where([data-domainkit-part="cleanup-apply"]:hover:not(:disabled)) {
227
+ --domainkit-button-face: color-mix(in oklch, var(--domainkit-danger), white 28%);
228
+ }
229
+
230
+ :where([data-domainkit-part="cleanup-apply"]:active:not(:disabled)) {
231
+ background-image: linear-gradient(
232
+ to bottom,
233
+ var(--domainkit-danger),
234
+ color-mix(in oklch, var(--domainkit-danger), black 10%)
235
+ );
236
+ box-shadow: inset 0 1px 2px rgb(15 23 42 / 0.28);
237
+ }
238
+
239
+ :where([data-domainkit-part="dialog-cancel"], [data-domainkit-part="dialog-close"]) {
240
+ background: transparent;
241
+ border-color: transparent;
242
+ color: var(--domainkit-muted);
243
+ }
244
+
245
+ :where([data-domainkit-part="dialog-cancel"]:hover, [data-domainkit-part="dialog-close"]:hover) {
246
+ background: var(--domainkit-fill);
247
+ color: var(--domainkit-text);
248
+ }
249
+
250
+ :where([data-domainkit-part="copy-action"]) {
251
+ background: var(--domainkit-fill);
252
+ border-color: var(--domainkit-border);
253
+ color: var(--domainkit-muted);
254
+ display: inline-grid;
255
+ flex: none;
256
+ height: 1.5rem;
257
+ min-height: 1.5rem;
258
+ min-width: 1.5rem;
259
+ overflow: hidden;
260
+ padding: 0;
261
+ place-items: center;
262
+ width: 1.5rem;
263
+ }
264
+
265
+ :where([data-domainkit-part="copy-action"]:hover) {
266
+ background: var(--domainkit-background);
267
+ color: var(--domainkit-text);
268
+ }
269
+
270
+ :where([data-domainkit-part="copy-value"][data-copied] [data-domainkit-part="copy-action"]) {
271
+ border-color: color-mix(in srgb, var(--domainkit-success) 45%, var(--domainkit-border));
272
+ color: var(--domainkit-success);
273
+ }
274
+
275
+ :where([data-icon] svg) {
276
+ display: block;
277
+ flex: none;
278
+ height: 0.875rem;
279
+ width: 0.875rem;
280
+ }
281
+
282
+ :where([data-domainkit-part="copy-glyph"]) {
283
+ display: flex;
284
+ grid-area: 1 / 1;
285
+ transition:
286
+ opacity 180ms ease,
287
+ transform 180ms ease;
288
+ }
289
+
290
+ :where([data-domainkit-part="copy-glyph"][data-state="idle"]) {
291
+ opacity: 1;
292
+ transform: scale(1) rotate(0deg);
293
+ }
294
+
295
+ :where(
296
+ [data-domainkit-part="copy-value"][data-copied]
297
+ [data-domainkit-part="copy-glyph"][data-state="idle"]
298
+ ) {
299
+ opacity: 0;
300
+ transform: scale(0.5) rotate(-18deg);
301
+ }
302
+
303
+ :where([data-domainkit-part="copy-glyph"][data-state="done"]) {
304
+ opacity: 0;
305
+ transform: scale(0.5) rotate(18deg);
306
+ }
307
+
308
+ :where(
309
+ [data-domainkit-part="copy-value"][data-copied]
310
+ [data-domainkit-part="copy-glyph"][data-state="done"]
311
+ ) {
312
+ opacity: 1;
313
+ transform: scale(1) rotate(0deg);
314
+ }
315
+
316
+ :where([data-domainkit-part="dialog-close"]) {
317
+ flex: none;
318
+ min-height: 2rem;
319
+ padding: 0;
320
+ width: 2rem;
321
+ }
322
+
323
+ :where([data-domainkit-part]:disabled) {
324
+ cursor: not-allowed;
325
+ opacity: 0.5;
326
+ }
327
+
328
+ :where([data-domainkit-part="dialog-backdrop"]) {
329
+ background: rgb(15 23 42 / 0.45);
330
+ inset: 0;
331
+ position: fixed;
332
+ transition: opacity 150ms ease;
333
+ z-index: 1000;
334
+ }
335
+
336
+ :where(
337
+ [data-domainkit-part="connection-dialog"],
338
+ [data-domainkit-part="plan-dialog"],
339
+ [data-domainkit-part="cleanup-dialog"]
340
+ ) {
341
+ background: var(--domainkit-background);
342
+ border: 1px solid var(--domainkit-border);
343
+ border-radius: var(--domainkit-radius);
344
+ box-shadow: var(--domainkit-shadow);
345
+ color: var(--domainkit-text);
346
+ display: grid;
347
+ grid-template-rows: auto 1fr auto;
348
+ left: 50%;
349
+ max-height: calc(100vh - 2rem);
350
+ max-width: calc(100vw - 2rem);
351
+ overflow: hidden;
352
+ position: fixed;
353
+ top: 50%;
354
+ transform: translate(-50%, -50%);
355
+ transition:
356
+ opacity 150ms ease,
357
+ transform 150ms ease;
358
+ width: 24rem;
359
+ z-index: 1001;
360
+ }
361
+
362
+ :where([data-domainkit-part="plan-dialog"], [data-domainkit-part="cleanup-dialog"]) {
363
+ width: 36rem;
364
+ }
365
+
366
+ :where(
367
+ [data-domainkit-part="connection-dialog"][data-starting-style],
368
+ [data-domainkit-part="connection-dialog"][data-ending-style],
369
+ [data-domainkit-part="plan-dialog"][data-starting-style],
370
+ [data-domainkit-part="plan-dialog"][data-ending-style],
371
+ [data-domainkit-part="cleanup-dialog"][data-starting-style],
372
+ [data-domainkit-part="cleanup-dialog"][data-ending-style]
373
+ ) {
374
+ opacity: 0;
375
+ transform: translate(-50%, -48%) scale(0.98);
376
+ }
377
+
378
+ :where([data-domainkit-part="dialog-header"]) {
379
+ align-items: flex-start;
380
+ border-bottom: 1px solid var(--domainkit-border);
381
+ display: flex;
382
+ gap: 0.75rem;
383
+ padding: 1rem 1rem 0.85rem;
384
+ }
385
+
386
+ :where([data-domainkit-part="dialog-heading"]) {
387
+ display: grid;
388
+ flex: 1;
389
+ gap: 0.25rem;
390
+ min-width: 0;
391
+ }
392
+
393
+ :where([data-domainkit-part="dialog-title"]) {
394
+ font-size: 1rem;
395
+ font-weight: 600;
396
+ line-height: 1.3;
397
+ margin: 0;
398
+ }
399
+
400
+ :where([data-domainkit-part="dialog-description"]) {
401
+ color: var(--domainkit-muted);
402
+ font-size: 0.875rem;
403
+ line-height: 1.45;
404
+ margin: 0;
405
+ }
406
+
407
+ :where([data-domainkit-part="dialog-body"]) {
408
+ display: grid;
409
+ gap: 0.65rem;
410
+ overflow: auto;
411
+ padding: 1rem;
412
+ }
413
+
414
+ :where([data-domainkit-part="dialog-body"] [data-domainkit-part="oauth-connect"]),
415
+ :where([data-domainkit-part="dialog-body"] [data-domainkit-part="reuse-connection"]) {
416
+ width: 100%;
417
+ }
418
+
419
+ :where([data-domainkit-part="dialog-footer"]) {
420
+ border-top: 1px solid var(--domainkit-border);
421
+ display: flex;
422
+ gap: 0.5rem;
423
+ justify-content: flex-end;
424
+ padding: 0.75rem 1rem;
425
+ }
426
+
427
+ :where([data-domainkit-part="provider-mark"]) {
428
+ align-items: center;
429
+ background: var(--domainkit-fill);
430
+ border: 1px solid var(--domainkit-border);
431
+ border-radius: var(--domainkit-control-radius);
432
+ display: inline-flex;
433
+ flex: none;
434
+ font-size: 0.75rem;
435
+ font-weight: 600;
436
+ height: 2rem;
437
+ justify-content: center;
438
+ overflow: hidden;
439
+ width: 2rem;
440
+ }
441
+
442
+ :where([data-domainkit-part="provider-mark"] img),
443
+ :where([data-domainkit-part="provider-mark"] svg) {
444
+ display: block;
445
+ height: 100%;
446
+ object-fit: cover;
447
+ width: 100%;
448
+ }
449
+
450
+ :where([data-domainkit-part="connection-trigger"]) {
451
+ gap: 0.45rem;
452
+ }
453
+
454
+ :where([data-domainkit-part="connection-trigger"] [data-domainkit-part="provider-mark"]) {
455
+ background: var(--domainkit-accent-contrast);
456
+ border-color: color-mix(in oklch, var(--domainkit-accent) 18%, transparent);
457
+ font-size: 0.625rem;
458
+ height: 1.25rem;
459
+ width: 1.25rem;
460
+ }
461
+
462
+ :where([data-domainkit-part="token-connect"]) {
463
+ background: var(--domainkit-fill);
464
+ border: 1px solid var(--domainkit-border);
465
+ border-radius: var(--domainkit-control-radius);
466
+ display: grid;
467
+ gap: 0.65rem;
468
+ padding: 0.75rem;
469
+ }
470
+
471
+ :where([data-domainkit-part="token-connect"] label) {
472
+ color: var(--domainkit-muted);
473
+ display: grid;
474
+ font-size: 0.8125rem;
475
+ gap: 0.35rem;
476
+ }
477
+
478
+ :where([data-domainkit-part="token-connect"] small) {
479
+ color: var(--domainkit-muted);
480
+ font-size: 0.75rem;
481
+ }
482
+
483
+ :where([data-domainkit-part="token-connect"] input) {
484
+ background: var(--domainkit-background);
485
+ border: 1px solid var(--domainkit-border);
486
+ border-radius: var(--domainkit-control-radius);
487
+ color: var(--domainkit-text);
488
+ font: inherit;
489
+ min-height: 2.25rem;
490
+ padding: 0 0.65rem;
491
+ }
492
+
493
+ :where([data-domainkit-part="token-connect"] button) {
494
+ justify-self: start;
495
+ }
496
+
497
+ :where([data-domainkit-part="connected-shell"]) {
498
+ display: grid;
499
+ gap: 1rem;
500
+ width: 100%;
501
+ }
502
+
503
+ :where([data-domainkit-part="connected-card"]) {
504
+ align-items: center;
505
+ background: var(--domainkit-background);
506
+ border: 1px solid var(--domainkit-border);
507
+ border-radius: var(--domainkit-radius);
508
+ display: flex;
509
+ flex-wrap: wrap;
510
+ gap: 0.75rem 1rem;
511
+ justify-content: space-between;
512
+ padding: 1rem;
513
+ width: 100%;
514
+ }
515
+
516
+ :where([data-domainkit-part="connected-identity"]) {
517
+ align-items: center;
518
+ display: flex;
519
+ gap: 0.75rem;
520
+ min-width: 0;
521
+ }
522
+
523
+ :where([data-domainkit-part="connected-actions"]) {
524
+ align-items: center;
525
+ display: flex;
526
+ flex-wrap: wrap;
527
+ gap: 0.5rem;
528
+ margin-left: auto;
529
+ }
530
+
531
+ :where(
532
+ [data-domainkit-part="provisioning-flow"],
533
+ [data-domainkit-part="verification-status"],
534
+ [data-domainkit-part="cleanup-flow"]
535
+ ) {
536
+ align-items: flex-start;
537
+ display: flex;
538
+ flex-wrap: wrap;
539
+ gap: 0.5rem;
540
+ width: 100%;
541
+ }
542
+
543
+ :where(
544
+ [data-domainkit-part="connected-actions"] > [data-domainkit-part="provisioning-flow"],
545
+ [data-domainkit-part="connected-actions"] > [data-domainkit-part="verification-status"],
546
+ [data-domainkit-part="connected-actions"] > [data-domainkit-part="disconnect"]
547
+ ) {
548
+ flex: 0 0 auto;
549
+ width: auto;
550
+ }
551
+
552
+ :where([data-domainkit-part="provisioning-flow"] > [data-domainkit-part="records-panel"]),
553
+ :where([data-domainkit-part="provisioning-flow"] > [data-domainkit-part="flow-outcome"]),
554
+ :where([data-domainkit-part="verification-status"] > [data-domainkit-part="observation-list"]),
555
+ :where([data-domainkit-part="verification-status"] > p),
556
+ :where([data-domainkit-part="cleanup-flow"] > [data-domainkit-part="flow-outcome"]) {
557
+ flex: 1 1 100%;
558
+ }
559
+
560
+ :where([data-domainkit-part="observation-list"]) {
561
+ background: var(--domainkit-fill);
562
+ border: 1px solid var(--domainkit-border);
563
+ border-radius: var(--domainkit-control-radius);
564
+ display: grid;
565
+ gap: 0.85rem;
566
+ max-width: 24rem;
567
+ padding: 0.75rem 0.85rem;
568
+ width: 100%;
569
+ }
570
+
571
+ :where([data-domainkit-part="observation-group"]) {
572
+ display: grid;
573
+ gap: 0.4rem;
574
+ }
575
+
576
+ :where([data-domainkit-part="observation-source"]) {
577
+ color: var(--domainkit-muted);
578
+ font-size: 0.6875rem;
579
+ font-weight: 650;
580
+ letter-spacing: 0.04em;
581
+ margin: 0;
582
+ text-transform: uppercase;
583
+ }
584
+
585
+ :where([data-domainkit-part="observation-group"] ul) {
586
+ display: grid;
587
+ gap: 0.35rem;
588
+ list-style: none;
589
+ margin: 0;
590
+ padding: 0;
591
+ }
592
+
593
+ :where([data-domainkit-part="observation-group"] li) {
594
+ display: grid;
595
+ gap: 0.25rem;
596
+ }
597
+
598
+ :where([data-domainkit-part="observation-row"]) {
599
+ align-items: center;
600
+ display: flex;
601
+ gap: 0.75rem;
602
+ justify-content: space-between;
603
+ min-height: 1.75rem;
604
+ }
605
+
606
+ :where([data-domainkit-part="observation-record"]) {
607
+ font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
608
+ font-size: 0.75rem;
609
+ font-weight: 600;
610
+ }
611
+
612
+ :where([data-domainkit-part="observation-note"]) {
613
+ color: var(--domainkit-muted);
614
+ font-size: 0.75rem;
615
+ margin: 0;
616
+ }
617
+
618
+ :where([data-domainkit-part="records-panel"]) {
619
+ background: var(--domainkit-fill);
620
+ border: 1px solid var(--domainkit-border);
621
+ border-radius: var(--domainkit-control-radius);
622
+ overflow-x: auto;
623
+ width: 100%;
624
+ }
625
+
626
+ :where([data-domainkit-part="records-table"]) {
627
+ border-collapse: collapse;
628
+ min-width: 36rem;
629
+ width: 100%;
630
+ }
631
+
632
+ :where([data-domainkit-part="records-table"] th) {
633
+ color: var(--domainkit-muted);
634
+ font-size: 0.75rem;
635
+ font-weight: 600;
636
+ letter-spacing: 0.02em;
637
+ padding: 0.55rem 0.75rem;
638
+ text-align: left;
639
+ white-space: nowrap;
640
+ }
641
+
642
+ :where([data-domainkit-part="records-table"] td) {
643
+ border-top: 1px solid var(--domainkit-border);
644
+ font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
645
+ font-size: 0.75rem;
646
+ line-height: 1.4;
647
+ padding: 0.55rem 0.75rem;
648
+ text-align: left;
649
+ vertical-align: middle;
650
+ }
651
+
652
+ :where([data-domainkit-part="records-table"] td:first-child) {
653
+ font-weight: 600;
654
+ white-space: nowrap;
655
+ width: 4.5rem;
656
+ }
657
+
658
+ :where([data-domainkit-part="records-table"] [data-column="status"]) {
659
+ text-align: right;
660
+ white-space: nowrap;
661
+ width: 1%;
662
+ }
663
+
664
+ :where([data-domainkit-part="copy-value"]) {
665
+ align-items: center;
666
+ display: inline-flex;
667
+ flex-wrap: nowrap;
668
+ gap: 0.35rem;
669
+ max-width: 100%;
670
+ min-width: 0;
671
+ }
672
+
673
+ :where([data-domainkit-part="copy-value"] code) {
674
+ font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
675
+ font-size: inherit;
676
+ line-height: 1.25rem;
677
+ min-width: 0;
678
+ overflow-wrap: anywhere;
679
+ }
680
+
681
+ :where([data-domainkit-part="record-value"]) {
682
+ align-items: flex-start;
683
+ display: flex;
684
+ flex-direction: column;
685
+ gap: 0.15rem;
686
+ max-width: 100%;
687
+ min-width: 0;
688
+ width: 100%;
689
+ }
690
+
691
+ :where([data-domainkit-part="record-value"] [data-domainkit-part="copy-value"]) {
692
+ min-width: 0;
693
+ width: 100%;
694
+ }
695
+
696
+ :where([data-domainkit-part="record-priority"]) {
697
+ color: var(--domainkit-muted);
698
+ flex: none;
699
+ font-variant-numeric: tabular-nums;
700
+ }
701
+
702
+ :where([data-domainkit-part="record-value"] [data-domainkit-part="record-priority"]) {
703
+ font-size: 0.6875rem;
704
+ }
705
+
706
+ :where([data-domainkit-part="zone-file"]) {
707
+ display: flex;
708
+ flex-wrap: wrap;
709
+ gap: 0.5rem;
710
+ justify-content: flex-start;
711
+ }
712
+
713
+ :where([data-domainkit-part="zone-copy"], [data-domainkit-part="zone-download"]) {
714
+ gap: 0.4rem;
715
+ }
716
+
717
+ :where([data-domainkit-part="record-card"]) {
718
+ background: var(--domainkit-fill);
719
+ border: 1px solid var(--domainkit-border);
720
+ border-radius: var(--domainkit-control-radius);
721
+ display: grid;
722
+ gap: 0.75rem;
723
+ padding: 0.85rem 1rem;
724
+ }
725
+
726
+ :where([data-domainkit-part="record-card-head"]) {
727
+ align-items: center;
728
+ display: flex;
729
+ gap: 0.5rem;
730
+ justify-content: space-between;
731
+ }
732
+
733
+ :where([data-domainkit-part="record-card"] dl) {
734
+ display: grid;
735
+ gap: 0.65rem;
736
+ margin: 0;
737
+ }
738
+
739
+ :where([data-domainkit-part="record-card"] dt) {
740
+ color: var(--domainkit-muted);
741
+ font-size: 0.6875rem;
742
+ font-weight: 650;
743
+ letter-spacing: 0.04em;
744
+ text-transform: uppercase;
745
+ }
746
+
747
+ :where([data-domainkit-part="record-card"] dd) {
748
+ display: grid;
749
+ gap: 0.25rem;
750
+ justify-items: start;
751
+ margin: 0.25rem 0 0;
752
+ }
753
+
754
+ :where([data-domainkit-part="record-card"] [data-domainkit-part="record-priority"]) {
755
+ font-size: 0.6875rem;
756
+ }
757
+
758
+ :where([data-domainkit-part="record-status"]) {
759
+ border-radius: 999px;
760
+ font-size: 0.6875rem;
761
+ font-weight: 600;
762
+ letter-spacing: 0.02em;
763
+ padding: 0.15rem 0.45rem;
764
+ }
765
+
766
+ :where([data-domainkit-part="record-status"][data-status="Found"]) {
767
+ background: color-mix(in srgb, var(--domainkit-success) 16%, transparent);
768
+ color: var(--domainkit-success);
769
+ }
770
+
771
+ :where([data-domainkit-part="record-status"][data-status="Missing"]),
772
+ :where([data-domainkit-part="record-status"][data-status="Mismatch"]) {
773
+ background: color-mix(in srgb, var(--domainkit-danger) 14%, transparent);
774
+ color: var(--domainkit-danger);
775
+ }
776
+
777
+ :where([data-domainkit-part="record-status"][data-status="Unavailable"]) {
778
+ background: var(--domainkit-background);
779
+ color: var(--domainkit-muted);
780
+ }
781
+
782
+ :where([data-domainkit-part="plan-operations"], [data-domainkit-part="cleanup-operations"]) {
783
+ display: grid;
784
+ gap: 0.35rem;
785
+ list-style: none;
786
+ margin: 0;
787
+ padding: 0;
788
+ }
789
+
790
+ :where([data-domainkit-part="plan-operations"] li, [data-domainkit-part="cleanup-operations"] li) {
791
+ align-items: baseline;
792
+ background: var(--domainkit-fill);
793
+ border-radius: var(--domainkit-control-radius);
794
+ display: grid;
795
+ font-size: 0.8125rem;
796
+ gap: 0.5rem 0.75rem;
797
+ grid-template-columns: auto auto 1fr;
798
+ padding: 0.6rem 0.75rem;
799
+ }
800
+
801
+ :where([data-domainkit-part="operation-kind"]) {
802
+ border-radius: 999px;
803
+ font-size: 0.6875rem;
804
+ font-weight: 600;
805
+ letter-spacing: 0.02em;
806
+ padding: 0.15rem 0.45rem;
807
+ text-transform: uppercase;
808
+ }
809
+
810
+ :where([data-operation="Create"] [data-domainkit-part="operation-kind"]) {
811
+ background: color-mix(in srgb, var(--domainkit-success) 16%, transparent);
812
+ color: var(--domainkit-success);
813
+ }
814
+
815
+ :where([data-operation="Update"] [data-domainkit-part="operation-kind"]) {
816
+ background: color-mix(in srgb, var(--domainkit-accent) 14%, transparent);
817
+ color: var(--domainkit-accent);
818
+ }
819
+
820
+ :where(
821
+ [data-operation="Delete"] [data-domainkit-part="operation-kind"],
822
+ [data-operation="Remove"] [data-domainkit-part="operation-kind"]
823
+ ) {
824
+ background: color-mix(in srgb, var(--domainkit-danger) 14%, transparent);
825
+ color: var(--domainkit-danger);
826
+ }
827
+
828
+ :where(
829
+ [data-operation="Conflict"] [data-domainkit-part="operation-kind"],
830
+ [data-operation="Blocked"] [data-domainkit-part="operation-kind"],
831
+ [data-operation="Stale"] [data-domainkit-part="operation-kind"]
832
+ ) {
833
+ background: color-mix(in srgb, var(--domainkit-danger) 10%, var(--domainkit-fill));
834
+ color: var(--domainkit-danger);
835
+ }
836
+
837
+ :where([data-operation="Noop"] [data-domainkit-part="operation-kind"]) {
838
+ background: var(--domainkit-background);
839
+ color: var(--domainkit-muted);
840
+ }
841
+
842
+ :where([data-domainkit-part="operation-record"]) {
843
+ color: var(--domainkit-muted);
844
+ font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
845
+ font-size: 0.75rem;
846
+ }
847
+
848
+ :where([data-operation="AlreadyAbsent"] [data-domainkit-part="operation-kind"]) {
849
+ background: var(--domainkit-background);
850
+ color: var(--domainkit-muted);
851
+ }
852
+
853
+ :where([data-domainkit-part="cleanup-flow"]) {
854
+ display: flex;
855
+ flex-wrap: wrap;
856
+ gap: 0.5rem;
857
+ }
858
+
859
+ :where([data-domainkit-part="flow-outcome"]) {
860
+ font-size: 0.875rem;
861
+ margin: 0;
862
+ width: 100%;
863
+ }
864
+
865
+ :where([data-domainkit-part="flow-outcome"][data-tone="success"]) {
866
+ color: var(--domainkit-success);
867
+ }
868
+
869
+ :where([data-domainkit-part="flow-outcome"][data-tone="danger"]) {
870
+ color: var(--domainkit-danger);
871
+ }
872
+
873
+ :where([data-domainkit-part]:focus-visible) {
874
+ outline: 2px solid var(--domainkit-accent);
875
+ outline-offset: 2px;
876
+ }
877
+
878
+ @media (prefers-reduced-motion: reduce) {
879
+ :where([data-domainkit-part]) {
880
+ scroll-behavior: auto !important;
881
+ transition-duration: 0.01ms !important;
882
+ }
883
+ }