@echothink-ui/task 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/README.md +5 -0
  2. package/dist/components/BackendThinkingChain.d.ts +2 -0
  3. package/dist/components/BlockingReasonPanel.d.ts +2 -0
  4. package/dist/components/DAGEdge.d.ts +2 -0
  5. package/dist/components/DAGLegend.d.ts +2 -0
  6. package/dist/components/DAGNode.d.ts +4 -0
  7. package/dist/components/DecisionRequiredPanel.d.ts +2 -0
  8. package/dist/components/HumanInterventionPanel.d.ts +2 -0
  9. package/dist/components/MobileTaskShell.d.ts +12 -0
  10. package/dist/components/TaskApprovalPanel.d.ts +2 -0
  11. package/dist/components/TaskCard.d.ts +2 -0
  12. package/dist/components/TaskDependencyList.d.ts +2 -0
  13. package/dist/components/TaskDetailPanel.d.ts +2 -0
  14. package/dist/components/TaskHandoffPanel.d.ts +2 -0
  15. package/dist/components/TaskProgressIndicator.d.ts +2 -0
  16. package/dist/components/TaskRetryPanel.d.ts +2 -0
  17. package/dist/components/TaskRunLog.d.ts +2 -0
  18. package/dist/components/TaskStatusBadge.d.ts +2 -0
  19. package/dist/components/TaskTable.d.ts +5 -0
  20. package/dist/components/TaskTimeline.d.ts +2 -0
  21. package/dist/components/TaskWaveDAG.d.ts +2 -0
  22. package/dist/components/TaskWaveHeader.d.ts +2 -0
  23. package/dist/components/TaskWaveTable.d.ts +2 -0
  24. package/dist/components/utils.d.ts +13 -0
  25. package/dist/index.cjs +2434 -0
  26. package/dist/index.cjs.map +1 -0
  27. package/dist/index.css +2402 -0
  28. package/dist/index.css.map +1 -0
  29. package/dist/index.d.ts +27 -0
  30. package/dist/index.js +2388 -0
  31. package/dist/index.js.map +1 -0
  32. package/dist/types.d.ts +249 -0
  33. package/package.json +45 -0
  34. package/src/components/BackendThinkingChain.tsx +129 -0
  35. package/src/components/BlockingReasonPanel.tsx +67 -0
  36. package/src/components/DAGEdge.tsx +97 -0
  37. package/src/components/DAGLegend.tsx +86 -0
  38. package/src/components/DAGNode.tsx +103 -0
  39. package/src/components/DecisionRequiredPanel.tsx +166 -0
  40. package/src/components/HumanInterventionPanel.tsx +82 -0
  41. package/src/components/MobileTaskShell.tsx +52 -0
  42. package/src/components/TaskApprovalPanel.tsx +159 -0
  43. package/src/components/TaskCard.tsx +71 -0
  44. package/src/components/TaskDependencyList.test.tsx +54 -0
  45. package/src/components/TaskDependencyList.tsx +105 -0
  46. package/src/components/TaskDetailPanel.test.tsx +49 -0
  47. package/src/components/TaskDetailPanel.tsx +139 -0
  48. package/src/components/TaskHandoffPanel.tsx +125 -0
  49. package/src/components/TaskProgressIndicator.tsx +70 -0
  50. package/src/components/TaskRetryPanel.test.tsx +29 -0
  51. package/src/components/TaskRetryPanel.tsx +103 -0
  52. package/src/components/TaskRunLog.tsx +156 -0
  53. package/src/components/TaskStatusBadge.tsx +29 -0
  54. package/src/components/TaskTable.tsx +294 -0
  55. package/src/components/TaskTimeline.tsx +98 -0
  56. package/src/components/TaskWaveDAG.tsx +202 -0
  57. package/src/components/TaskWaveHeader.tsx +82 -0
  58. package/src/components/TaskWaveTable.tsx +151 -0
  59. package/src/components/css.d.ts +1 -0
  60. package/src/components/utils.ts +116 -0
  61. package/src/index.test.tsx +316 -0
  62. package/src/index.tsx +90 -0
  63. package/src/styles.css +2889 -0
  64. package/src/types.ts +289 -0
package/src/styles.css ADDED
@@ -0,0 +1,2889 @@
1
+ @import "@echothink-ui/data/styles.css";
2
+
3
+ /* Carbon-aligned styles for this package's custom components */
4
+
5
+ .eth-task-card,
6
+ .eth-task-detail-panel,
7
+ .eth-task-wave-dag,
8
+ .eth-task-wave-table,
9
+ .eth-dag-legend,
10
+ .eth-task-wave-header,
11
+ .eth-task-timeline,
12
+ .eth-task-progress,
13
+ .eth-task-approval-panel,
14
+ .eth-task-decision-panel,
15
+ .eth-decision-required,
16
+ .eth-task-status-badge,
17
+ .eth-mobile-task-shell,
18
+ .eth-task-thinking-chain,
19
+ .eth-task-handoff-panel,
20
+ .eth-task-run-log,
21
+ .eth-task-dependencies {
22
+ color: var(--eth-color-text-primary);
23
+ font-family: var(--eth-font-family);
24
+ }
25
+
26
+ .eth-task-status-badge.eth-badge {
27
+ --eth-task-status-background: #e0e0e0;
28
+ --eth-task-status-border: transparent;
29
+ --eth-task-status-color: var(--eth-color-text-primary);
30
+ --eth-task-status-indicator: var(--eth-color-text-secondary);
31
+
32
+ align-items: center;
33
+ background-color: var(--eth-task-status-background);
34
+ border: 1px solid var(--eth-task-status-border);
35
+ color: var(--eth-task-status-color);
36
+ display: inline-flex;
37
+ font-weight: 500;
38
+ letter-spacing: 0;
39
+ min-block-size: 1.5rem;
40
+ padding-inline: var(--eth-space-sm);
41
+ vertical-align: middle;
42
+ }
43
+
44
+ .eth-task-status-badge.eth-badge .cds--tag__label {
45
+ align-items: center;
46
+ display: inline-flex;
47
+ gap: var(--eth-space-xs);
48
+ min-inline-size: 0;
49
+ }
50
+
51
+ .eth-task-status-badge__indicator {
52
+ background: var(--eth-task-status-indicator);
53
+ block-size: 0.4375rem;
54
+ border: 1px solid color-mix(in srgb, var(--eth-task-status-indicator) 22%, #ffffff);
55
+ border-radius: 50%;
56
+ flex: 0 0 0.4375rem;
57
+ inline-size: 0.4375rem;
58
+ }
59
+
60
+ .eth-task-status-badge__label {
61
+ min-inline-size: 0;
62
+ overflow: hidden;
63
+ text-overflow: ellipsis;
64
+ white-space: nowrap;
65
+ }
66
+
67
+ .eth-task-status-badge--queued.eth-badge {
68
+ --eth-task-status-background: #dde1e6;
69
+ --eth-task-status-color: #343a3f;
70
+ --eth-task-status-indicator: var(--eth-color-text-secondary);
71
+ }
72
+
73
+ .eth-task-status-badge--running.eth-badge,
74
+ .eth-task-status-badge--in-progress.eth-badge {
75
+ --eth-task-status-background: #d0e2ff;
76
+ --eth-task-status-color: #0043ce;
77
+ --eth-task-status-indicator: var(--eth-color-info);
78
+ }
79
+
80
+ .eth-task-status-badge--approval-required.eth-badge,
81
+ .eth-task-status-badge--pending-approval.eth-badge,
82
+ .eth-task-status-badge--warning.eth-badge {
83
+ --eth-task-status-background: #fcf4d6;
84
+ --eth-task-status-color: #684e00;
85
+ --eth-task-status-indicator: var(--eth-color-warning);
86
+ --eth-task-status-border: rgba(178, 134, 0, 0.2);
87
+ }
88
+
89
+ .eth-task-status-badge--blocked.eth-badge {
90
+ --eth-task-status-background: #fff1f1;
91
+ --eth-task-status-color: #a2191f;
92
+ --eth-task-status-indicator: #fa4d56;
93
+ --eth-task-status-border: rgba(218, 30, 40, 0.18);
94
+ }
95
+
96
+ .eth-task-status-badge--failed.eth-badge {
97
+ --eth-task-status-background: #ffd7d9;
98
+ --eth-task-status-color: #750e13;
99
+ --eth-task-status-indicator: var(--eth-color-danger);
100
+ --eth-task-status-border: rgba(218, 30, 40, 0.24);
101
+ }
102
+
103
+ .eth-task-status-badge--completed.eth-badge,
104
+ .eth-task-status-badge--succeeded.eth-badge,
105
+ .eth-task-status-badge--synced.eth-badge {
106
+ --eth-task-status-background: #defbe6;
107
+ --eth-task-status-color: #0e6027;
108
+ --eth-task-status-indicator: var(--eth-color-success);
109
+ }
110
+
111
+ .eth-task-card {
112
+ background: var(--eth-color-layer-01);
113
+ border: 1px solid var(--eth-color-border-subtle);
114
+ border-radius: 0;
115
+ box-shadow: none;
116
+ gap: var(--eth-space-md);
117
+ inline-size: min(100%, 40rem);
118
+ max-inline-size: 100%;
119
+ min-inline-size: 0;
120
+ padding: var(--eth-space-lg);
121
+ transition: background-color 110ms cubic-bezier(0.2, 0, 0.38, 0.9);
122
+ }
123
+
124
+ .eth-task-card > .eth-surface__header {
125
+ align-items: flex-start;
126
+ gap: var(--eth-space-md);
127
+ }
128
+
129
+ .eth-task-card .eth-surface__heading {
130
+ display: grid;
131
+ gap: var(--eth-space-xs);
132
+ min-inline-size: 0;
133
+ }
134
+
135
+ .eth-task-card .eth-surface__heading h2 {
136
+ font-size: calc(1rem * var(--eth-text-scale, 1));
137
+ font-weight: 600;
138
+ line-height: 1.375;
139
+ overflow-wrap: anywhere;
140
+ }
141
+
142
+ .eth-task-card .eth-surface__subtitle,
143
+ .eth-task-card .eth-surface__description {
144
+ margin: 0;
145
+ }
146
+
147
+ .eth-task-card .eth-surface__subtitle {
148
+ color: var(--eth-color-text-secondary);
149
+ font-size: calc(0.75rem * var(--eth-text-scale, 1));
150
+ line-height: 1rem;
151
+ }
152
+
153
+ .eth-task-card .eth-surface__description {
154
+ color: var(--eth-color-text-secondary);
155
+ font-size: calc(0.875rem * var(--eth-text-scale, 1));
156
+ line-height: 1.2857;
157
+ max-inline-size: 34rem;
158
+ }
159
+
160
+ .eth-task-card .eth-surface__header-actions {
161
+ align-items: flex-start;
162
+ flex: 0 0 auto;
163
+ gap: var(--eth-space-sm);
164
+ }
165
+
166
+ .eth-task-card .eth-actions {
167
+ gap: var(--eth-space-sm);
168
+ }
169
+
170
+ .eth-task-timeline {
171
+ display: grid;
172
+ gap: var(--eth-space-lg);
173
+ inline-size: min(100%, 44rem);
174
+ max-inline-size: 100%;
175
+ min-inline-size: 0;
176
+ }
177
+
178
+ .eth-task-card .eth-button {
179
+ --eth-button-padding-inline: var(--eth-space-md);
180
+
181
+ min-block-size: 2rem;
182
+ }
183
+
184
+ .eth-task-card .eth-meta-grid {
185
+ background: var(--eth-color-layer-02);
186
+ grid-template-columns: repeat(3, minmax(0, 1fr));
187
+ }
188
+
189
+ .eth-task-card .eth-meta-grid div {
190
+ min-inline-size: 0;
191
+ padding: var(--eth-space-sm) var(--eth-space-md);
192
+ }
193
+
194
+ .eth-task-card .eth-meta-grid div:last-child {
195
+ border-inline-end: 0;
196
+ }
197
+
198
+ .eth-task-card .eth-meta-grid dt {
199
+ margin-block-end: var(--eth-space-xs);
200
+ }
201
+
202
+ .eth-task-card .eth-meta-grid dd {
203
+ align-items: center;
204
+ display: flex;
205
+ flex-wrap: wrap;
206
+ gap: var(--eth-space-xs);
207
+ min-block-size: 1.5rem;
208
+ min-inline-size: 0;
209
+ }
210
+
211
+ .eth-task-card__assignee {
212
+ align-items: center;
213
+ background: var(--eth-color-layer-02);
214
+ border: 1px solid var(--eth-color-border-subtle);
215
+ color: var(--eth-color-text-primary);
216
+ display: inline-flex;
217
+ font-size: calc(0.75rem * var(--eth-text-scale, 1));
218
+ font-weight: 600;
219
+ inline-size: fit-content;
220
+ line-height: 1rem;
221
+ max-inline-size: 100%;
222
+ min-block-size: 1.5rem;
223
+ min-inline-size: 1.5rem;
224
+ overflow: hidden;
225
+ padding-inline: var(--eth-space-sm);
226
+ text-overflow: ellipsis;
227
+ white-space: nowrap;
228
+ }
229
+
230
+ .eth-task-card--selectable {
231
+ cursor: pointer;
232
+ }
233
+
234
+ .eth-task-card--selectable:hover {
235
+ background: var(--eth-color-layer-hover);
236
+ }
237
+
238
+ .eth-task-card--selectable:focus-visible {
239
+ outline: 2px solid var(--eth-color-focus);
240
+ outline-offset: -2px;
241
+ }
242
+
243
+ .eth-task-card__tags,
244
+ .eth-task-wave-header__counts,
245
+ .eth-task-wave-header__summary {
246
+ align-items: center;
247
+ display: flex;
248
+ flex-wrap: wrap;
249
+ gap: var(--eth-space-sm);
250
+ }
251
+
252
+ .eth-task-card__tags {
253
+ border-block-start: 1px solid var(--eth-color-border-subtle);
254
+ padding-block-start: var(--eth-space-md);
255
+ }
256
+
257
+ .eth-task-card__tags .cds--tag {
258
+ margin: 0;
259
+ max-inline-size: 100%;
260
+ }
261
+
262
+ .eth-task-card__tags .cds--tag__label {
263
+ overflow: hidden;
264
+ text-overflow: ellipsis;
265
+ }
266
+
267
+ .eth-task-wave-header {
268
+ background: var(--eth-color-layer-01);
269
+ border: 1px solid var(--eth-color-border-subtle);
270
+ border-radius: 0;
271
+ box-shadow: none;
272
+ gap: var(--eth-space-lg);
273
+ inline-size: 100%;
274
+ max-inline-size: 100%;
275
+ min-inline-size: 0;
276
+ padding: var(--eth-space-lg);
277
+ }
278
+
279
+ .eth-task-wave-header > .eth-surface__header {
280
+ align-items: flex-start;
281
+ gap: var(--eth-space-lg);
282
+ min-inline-size: 0;
283
+ }
284
+
285
+ .eth-task-wave-header .eth-surface__heading {
286
+ display: grid;
287
+ gap: var(--eth-space-xs);
288
+ min-inline-size: 0;
289
+ }
290
+
291
+ .eth-task-wave-header .eth-surface__heading h2 {
292
+ font-size: calc(1.25rem * var(--eth-text-scale, 1));
293
+ font-weight: 600;
294
+ line-height: 1.4;
295
+ overflow-wrap: anywhere;
296
+ }
297
+
298
+ .eth-task-wave-header .eth-surface__subtitle,
299
+ .eth-task-wave-header .eth-surface__description {
300
+ margin: 0;
301
+ }
302
+
303
+ .eth-task-wave-header .eth-surface__subtitle {
304
+ color: var(--eth-color-text-secondary);
305
+ font-size: calc(0.75rem * var(--eth-text-scale, 1));
306
+ line-height: 1rem;
307
+ }
308
+
309
+ .eth-task-wave-header .eth-surface__header-actions {
310
+ align-items: flex-start;
311
+ flex: 0 0 auto;
312
+ justify-content: flex-end;
313
+ max-inline-size: 100%;
314
+ min-inline-size: 0;
315
+ }
316
+
317
+ .eth-task-wave-header .eth-actions {
318
+ gap: var(--eth-space-sm);
319
+ }
320
+
321
+ .eth-task-wave-header .eth-button {
322
+ --eth-button-padding-inline: var(--eth-space-md);
323
+
324
+ block-size: 2rem;
325
+ inline-size: auto;
326
+ min-block-size: 2rem;
327
+ min-inline-size: max-content;
328
+ }
329
+
330
+ .eth-task-wave-header__summary {
331
+ color: var(--eth-color-text-secondary);
332
+ font-size: calc(0.875rem * var(--eth-text-scale, 1));
333
+ line-height: 1.2857;
334
+ min-inline-size: 0;
335
+ }
336
+
337
+ .eth-task-wave-header__summary span,
338
+ .eth-task-wave-header__summary strong {
339
+ overflow-wrap: anywhere;
340
+ }
341
+
342
+ @media (width <= 42rem) {
343
+ .eth-task-card {
344
+ inline-size: 100%;
345
+ }
346
+
347
+ .eth-task-card > .eth-surface__header {
348
+ align-items: stretch;
349
+ flex-direction: column;
350
+ }
351
+
352
+ .eth-task-card .eth-surface__header-actions {
353
+ justify-content: flex-start;
354
+ }
355
+
356
+ .eth-task-card .eth-meta-grid {
357
+ grid-template-columns: 1fr;
358
+ }
359
+
360
+ .eth-task-card .eth-meta-grid div {
361
+ border-block-end: 1px solid var(--eth-color-border-subtle);
362
+ border-inline-end: 0;
363
+ }
364
+
365
+ .eth-task-card .eth-meta-grid div:last-child {
366
+ border-block-end: 0;
367
+ }
368
+
369
+ .eth-task-wave-header {
370
+ padding: var(--eth-space-md);
371
+ }
372
+
373
+ .eth-task-wave-header > .eth-surface__header {
374
+ align-items: stretch;
375
+ flex-direction: column;
376
+ }
377
+
378
+ .eth-task-wave-header .eth-surface__header-actions {
379
+ justify-content: flex-start;
380
+ }
381
+
382
+ .eth-task-wave-header .eth-actions,
383
+ .eth-task-wave-header .eth-button {
384
+ inline-size: 100%;
385
+ }
386
+ }
387
+
388
+ .eth-task-wave-header__summary strong {
389
+ color: var(--eth-color-text-primary);
390
+ }
391
+
392
+ .eth-task-wave-header .eth-task-progress {
393
+ gap: var(--eth-space-xs);
394
+ min-inline-size: 0;
395
+ }
396
+
397
+ .eth-task-wave-header .eth-task-progress__label {
398
+ font-size: calc(0.75rem * var(--eth-text-scale, 1));
399
+ line-height: 1rem;
400
+ }
401
+
402
+ .eth-task-wave-header .eth-task-progress__label strong,
403
+ .eth-task-wave-header__summary strong,
404
+ .eth-task-wave-header__count-value {
405
+ font-variant-numeric: tabular-nums;
406
+ }
407
+
408
+ .eth-task-wave-header .eth-task-progress progress {
409
+ block-size: var(--eth-space-xs);
410
+ }
411
+
412
+ .eth-task-wave-header__counts {
413
+ min-inline-size: 0;
414
+ }
415
+
416
+ .eth-task-wave-header__count.cds--tag {
417
+ margin: 0;
418
+ max-inline-size: 100%;
419
+ }
420
+
421
+ .eth-task-wave-header__count.cds--tag .cds--tag__label {
422
+ align-items: center;
423
+ display: inline-flex;
424
+ gap: var(--eth-space-2xs);
425
+ }
426
+
427
+ .eth-task-wave-header__count-value {
428
+ font-weight: 600;
429
+ }
430
+
431
+ .eth-task-wave-header__count--queued.cds--tag {
432
+ background-color: #e0e0e0;
433
+ color: #393939;
434
+ }
435
+
436
+ .eth-task-wave-header__count--approval-required.cds--tag,
437
+ .eth-task-wave-header__count--pending-approval.cds--tag {
438
+ background-color: #fcf4d6;
439
+ color: #684e00;
440
+ }
441
+
442
+ .eth-task-wave-dag {
443
+ background: var(--eth-color-layer-01);
444
+ border: 1px solid var(--eth-color-border-subtle);
445
+ border-radius: 0;
446
+ gap: var(--eth-space-md);
447
+ }
448
+
449
+ .eth-task-wave-dag > .eth-surface__header {
450
+ gap: var(--eth-space-md);
451
+ }
452
+
453
+ .eth-task-wave-dag .eth-surface__heading h2 {
454
+ font-size: calc(1rem * var(--eth-text-scale, 1));
455
+ font-weight: 600;
456
+ line-height: 1.375;
457
+ }
458
+
459
+ .eth-task-wave-dag .eth-surface__description {
460
+ max-inline-size: 42rem;
461
+ }
462
+
463
+ .eth-task-wave-dag__viewport {
464
+ background: var(--eth-color-layer-02);
465
+ border: 1px solid var(--eth-color-border-subtle);
466
+ inline-size: 100%;
467
+ min-inline-size: 0;
468
+ overflow-x: auto;
469
+ overflow-y: hidden;
470
+ }
471
+
472
+ .eth-task-wave-dag .eth-dag {
473
+ background: transparent;
474
+ border-radius: 0;
475
+ block-size: auto;
476
+ display: block;
477
+ inline-size: 100%;
478
+ min-block-size: 0;
479
+ min-inline-size: 42rem;
480
+ }
481
+
482
+ .eth-dag__canvas {
483
+ fill: var(--eth-color-layer-02);
484
+ }
485
+
486
+ .eth-task-wave-dag__fallback {
487
+ block-size: 1px;
488
+ clip: rect(0 0 0 0);
489
+ clip-path: inset(50%);
490
+ inline-size: 1px;
491
+ overflow: hidden;
492
+ position: absolute;
493
+ white-space: nowrap;
494
+ }
495
+
496
+ .eth-dag-node {
497
+ pointer-events: visiblePainted;
498
+ }
499
+
500
+ .eth-dag-node--interactive {
501
+ cursor: pointer;
502
+ }
503
+
504
+ .eth-dag-node__body {
505
+ fill: var(--eth-color-layer-01);
506
+ rx: 0;
507
+ stroke: var(--eth-color-border-subtle);
508
+ stroke-width: 1.25px;
509
+ transition:
510
+ fill 110ms cubic-bezier(0.2, 0, 0.38, 0.9),
511
+ stroke 110ms cubic-bezier(0.2, 0, 0.38, 0.9);
512
+ }
513
+
514
+ .eth-dag-node--interactive:hover .eth-dag-node__body,
515
+ .eth-dag-node:focus-visible .eth-dag-node__body {
516
+ fill: var(--eth-color-layer-hover);
517
+ stroke: var(--eth-color-border-strong);
518
+ }
519
+
520
+ .eth-dag-node__selection {
521
+ fill: none;
522
+ opacity: 0;
523
+ pointer-events: none;
524
+ stroke: var(--eth-color-focus);
525
+ stroke-width: 2px;
526
+ transition: opacity 110ms cubic-bezier(0.2, 0, 0.38, 0.9);
527
+ }
528
+
529
+ .eth-dag-node--selected .eth-dag-node__selection,
530
+ .eth-dag-node:focus-visible .eth-dag-node__selection {
531
+ opacity: 1;
532
+ }
533
+
534
+ .eth-dag-node__status-strip {
535
+ pointer-events: none;
536
+ }
537
+
538
+ .eth-dag-node__status-dot {
539
+ pointer-events: none;
540
+ stroke: var(--eth-color-layer-01);
541
+ stroke-width: 2px;
542
+ }
543
+
544
+ .eth-dag-node__port {
545
+ fill: var(--eth-color-layer-01);
546
+ pointer-events: none;
547
+ stroke: var(--eth-color-border-strong);
548
+ stroke-width: 1px;
549
+ }
550
+
551
+ .eth-dag-node:focus-visible {
552
+ outline: none;
553
+ }
554
+
555
+ .eth-dag-node__label {
556
+ fill: var(--eth-color-text-primary);
557
+ font-size: calc(0.8125rem * var(--eth-text-scale, 1));
558
+ font-weight: 600;
559
+ }
560
+
561
+ .eth-dag-node__status {
562
+ fill: var(--eth-color-text-secondary);
563
+ font-size: calc(0.6875rem * var(--eth-text-scale, 1));
564
+ text-transform: none;
565
+ }
566
+
567
+ .eth-dag-edge path[data-eth-component="DAGEdge"] {
568
+ stroke-linecap: round;
569
+ stroke-linejoin: round;
570
+ stroke: var(--eth-color-border-strong);
571
+ transition: stroke 110ms cubic-bezier(0.2, 0, 0.38, 0.9);
572
+ }
573
+
574
+ .eth-dag-edge marker path {
575
+ fill: var(--eth-color-border-strong);
576
+ }
577
+
578
+ .eth-dag-edge text {
579
+ fill: var(--eth-color-text-secondary);
580
+ font-size: calc(0.75rem * var(--eth-text-scale, 1));
581
+ paint-order: stroke;
582
+ stroke: var(--eth-color-layer-01);
583
+ stroke-width: 3px;
584
+ }
585
+
586
+ .eth-dag-edge__label rect {
587
+ fill: var(--eth-color-layer-01);
588
+ stroke: var(--eth-color-border-subtle);
589
+ }
590
+
591
+ .eth-dag-edge__label text {
592
+ fill: var(--eth-color-text-primary);
593
+ font-size: calc(0.6875rem * var(--eth-text-scale, 1));
594
+ font-weight: 600;
595
+ paint-order: normal;
596
+ stroke: none;
597
+ stroke-width: 0;
598
+ }
599
+
600
+ .eth-dag-edge--completed path[data-eth-component="DAGEdge"],
601
+ .eth-dag-edge--succeeded path[data-eth-component="DAGEdge"],
602
+ .eth-dag-edge--synced path[data-eth-component="DAGEdge"],
603
+ .eth-dag-edge--active path[data-eth-component="DAGEdge"] {
604
+ stroke: var(--eth-color-success);
605
+ }
606
+
607
+ .eth-dag-edge--completed marker path,
608
+ .eth-dag-edge--succeeded marker path,
609
+ .eth-dag-edge--synced marker path,
610
+ .eth-dag-edge--active marker path {
611
+ fill: var(--eth-color-success);
612
+ }
613
+
614
+ .eth-dag-edge--running path[data-eth-component="DAGEdge"],
615
+ .eth-dag-edge--in-progress path[data-eth-component="DAGEdge"],
616
+ .eth-dag-edge--queued path[data-eth-component="DAGEdge"] {
617
+ stroke: var(--eth-color-info);
618
+ }
619
+
620
+ .eth-dag-edge--running path[data-eth-component="DAGEdge"],
621
+ .eth-dag-edge--in-progress path[data-eth-component="DAGEdge"],
622
+ .eth-dag-edge--queued path[data-eth-component="DAGEdge"],
623
+ .eth-dag-edge--pending-approval path[data-eth-component="DAGEdge"],
624
+ .eth-dag-edge--warning path[data-eth-component="DAGEdge"] {
625
+ stroke-dasharray: 7 5;
626
+ }
627
+
628
+ .eth-dag-edge--running marker path,
629
+ .eth-dag-edge--in-progress marker path,
630
+ .eth-dag-edge--queued marker path {
631
+ fill: var(--eth-color-info);
632
+ }
633
+
634
+ .eth-dag-edge--blocked path[data-eth-component="DAGEdge"],
635
+ .eth-dag-edge--failed path[data-eth-component="DAGEdge"],
636
+ .eth-dag-edge--approval-required path[data-eth-component="DAGEdge"] {
637
+ stroke: var(--eth-color-danger);
638
+ }
639
+
640
+ .eth-dag-edge--blocked path[data-eth-component="DAGEdge"],
641
+ .eth-dag-edge--failed path[data-eth-component="DAGEdge"],
642
+ .eth-dag-edge--approval-required path[data-eth-component="DAGEdge"] {
643
+ stroke-dasharray: 3 5;
644
+ }
645
+
646
+ .eth-dag-edge--blocked marker path,
647
+ .eth-dag-edge--failed marker path,
648
+ .eth-dag-edge--approval-required marker path {
649
+ fill: var(--eth-color-danger);
650
+ }
651
+
652
+ .eth-dag-edge--pending-approval path[data-eth-component="DAGEdge"],
653
+ .eth-dag-edge--warning path[data-eth-component="DAGEdge"] {
654
+ stroke: var(--eth-color-warning);
655
+ }
656
+
657
+ .eth-dag-edge--pending-approval marker path,
658
+ .eth-dag-edge--warning marker path {
659
+ fill: var(--eth-color-warning);
660
+ }
661
+
662
+ .eth-dag-legend {
663
+ align-items: flex-start;
664
+ border-block-start: 1px solid var(--eth-color-border-subtle);
665
+ color: var(--eth-color-text-secondary);
666
+ display: flex;
667
+ flex-wrap: wrap;
668
+ gap: var(--eth-space-md) var(--eth-space-xl);
669
+ inline-size: 100%;
670
+ padding-block-start: var(--eth-space-sm);
671
+ }
672
+
673
+ .eth-dag-legend__group {
674
+ align-items: center;
675
+ display: flex;
676
+ flex-wrap: wrap;
677
+ gap: var(--eth-space-sm) var(--eth-space-md);
678
+ min-inline-size: 0;
679
+ }
680
+
681
+ .eth-dag-legend__heading,
682
+ .eth-dag-legend__item {
683
+ font-size: calc(0.75rem * var(--eth-text-scale, 1));
684
+ line-height: 1.333;
685
+ }
686
+
687
+ .eth-dag-legend__heading {
688
+ color: var(--eth-color-text-helper);
689
+ flex: 0 0 auto;
690
+ font-weight: 600;
691
+ }
692
+
693
+ .eth-dag-legend__list {
694
+ align-items: center;
695
+ display: flex;
696
+ flex-wrap: wrap;
697
+ gap: var(--eth-space-sm) var(--eth-space-md);
698
+ list-style: none;
699
+ margin: 0;
700
+ min-inline-size: 0;
701
+ padding: 0;
702
+ }
703
+
704
+ .eth-dag-legend__item {
705
+ align-items: center;
706
+ display: inline-flex;
707
+ gap: var(--eth-space-xs);
708
+ min-block-size: var(--eth-space-lg);
709
+ white-space: nowrap;
710
+ }
711
+
712
+ .eth-dag-legend__label {
713
+ display: inline-block;
714
+ max-inline-size: 12rem;
715
+ overflow: hidden;
716
+ text-overflow: ellipsis;
717
+ }
718
+
719
+ .eth-dag-legend__swatch {
720
+ --eth-dag-legend-color: var(--eth-color-border-strong);
721
+
722
+ background: var(--eth-dag-legend-color);
723
+ block-size: 0.625rem;
724
+ border: 1px solid var(--eth-dag-legend-color);
725
+ border-radius: 50%;
726
+ flex: 0 0 auto;
727
+ inline-size: 0.625rem;
728
+ }
729
+
730
+ .eth-dag-legend__swatch--queued,
731
+ .eth-dag-legend__swatch--pending-approval,
732
+ .eth-dag-legend__swatch--warning {
733
+ background: transparent;
734
+ }
735
+
736
+ .eth-dag-legend__swatch--pending-approval,
737
+ .eth-dag-legend__swatch--warning {
738
+ border-color: var(--eth-color-border-strong);
739
+ }
740
+
741
+ @media (width <= 42rem) {
742
+ .eth-task-wave-dag > .eth-surface__header {
743
+ align-items: stretch;
744
+ flex-direction: column;
745
+ }
746
+
747
+ .eth-task-wave-dag .eth-dag {
748
+ min-inline-size: 40rem;
749
+ }
750
+ }
751
+
752
+ .eth-dag-legend__edge {
753
+ --eth-dag-legend-color: var(--eth-color-border-strong);
754
+
755
+ align-items: center;
756
+ block-size: var(--eth-space-lg);
757
+ display: inline-flex;
758
+ flex: 0 0 auto;
759
+ inline-size: var(--eth-space-2xl);
760
+ position: relative;
761
+ }
762
+
763
+ .eth-dag-legend__edge::before {
764
+ border-block-start: 2px solid var(--eth-dag-legend-color);
765
+ content: "";
766
+ inline-size: 100%;
767
+ }
768
+
769
+ .eth-dag-legend__edge::after {
770
+ border-block: 0.25rem solid transparent;
771
+ border-inline-start: 0.375rem solid var(--eth-dag-legend-color);
772
+ content: "";
773
+ inset-block-start: 50%;
774
+ inset-inline-end: 0;
775
+ position: absolute;
776
+ transform: translateY(-50%);
777
+ }
778
+
779
+ .eth-dag-legend__edge--critical::before {
780
+ border-block-start-width: 3px;
781
+ }
782
+
783
+ .eth-dag-legend__edge--conditional::before {
784
+ border-block-start-style: dashed;
785
+ }
786
+
787
+ .eth-task-timeline__list {
788
+ display: grid;
789
+ gap: 0;
790
+ list-style: none;
791
+ margin: 0;
792
+ min-inline-size: 0;
793
+ padding: 0;
794
+ }
795
+
796
+ .eth-task-timeline__event {
797
+ --eth-task-timeline-accent: var(--eth-color-interactive-primary);
798
+
799
+ display: grid;
800
+ gap: 0 var(--eth-space-md);
801
+ grid-template-columns: minmax(7.5rem, max-content) 1rem minmax(0, 1fr);
802
+ min-inline-size: 0;
803
+ }
804
+
805
+ .eth-task-timeline__event--comment {
806
+ --eth-task-timeline-accent: var(--eth-color-border-strong);
807
+ }
808
+
809
+ .eth-task-timeline__event--assignment {
810
+ --eth-task-timeline-accent: var(--eth-color-info);
811
+ }
812
+
813
+ .eth-task-timeline__event--attachment {
814
+ --eth-task-timeline-accent: var(--eth-color-success);
815
+ }
816
+
817
+ .eth-task-timeline__event--system {
818
+ --eth-task-timeline-accent: var(--eth-color-text-secondary);
819
+ }
820
+
821
+ .eth-task-timeline__time {
822
+ color: var(--eth-color-text-secondary);
823
+ font-family: var(--eth-font-mono, "IBM Plex Mono", monospace);
824
+ font-size: calc(0.75rem * var(--eth-text-scale, 1));
825
+ font-variant-numeric: tabular-nums;
826
+ justify-self: end;
827
+ line-height: 1.3333;
828
+ padding-block-start: var(--eth-space-2xs);
829
+ white-space: nowrap;
830
+ }
831
+
832
+ .eth-task-timeline__rail {
833
+ display: flex;
834
+ justify-content: center;
835
+ min-block-size: 100%;
836
+ position: relative;
837
+ }
838
+
839
+ .eth-task-timeline__rail::after {
840
+ background: var(--eth-color-border-subtle);
841
+ block-size: calc(100% - var(--eth-space-xs));
842
+ content: "";
843
+ inline-size: 1px;
844
+ inset-block-start: 0.875rem;
845
+ inset-inline-start: calc(50% - 0.5px);
846
+ position: absolute;
847
+ }
848
+
849
+ .eth-task-timeline__event:last-child .eth-task-timeline__rail::after {
850
+ display: none;
851
+ }
852
+
853
+ .eth-task-timeline__marker {
854
+ background: var(--eth-task-timeline-accent);
855
+ block-size: 0.625rem;
856
+ border: 2px solid var(--eth-color-layer-01);
857
+ border-radius: 50%;
858
+ box-shadow: 0 0 0 1px var(--eth-task-timeline-accent);
859
+ inline-size: 0.625rem;
860
+ margin-block-start: var(--eth-space-xs);
861
+ position: relative;
862
+ z-index: 1;
863
+ }
864
+
865
+ .eth-task-timeline__body {
866
+ border-block-end: 1px solid
867
+ var(--eth-color-border-subtle);
868
+ display: grid;
869
+ gap: var(--eth-space-xs);
870
+ min-inline-size: 0;
871
+ padding-block-end: var(--eth-space-lg);
872
+ }
873
+
874
+ .eth-task-timeline__event + .eth-task-timeline__event .eth-task-timeline__time,
875
+ .eth-task-timeline__event + .eth-task-timeline__event .eth-task-timeline__rail,
876
+ .eth-task-timeline__event + .eth-task-timeline__event .eth-task-timeline__body {
877
+ padding-block-start: var(--eth-space-lg);
878
+ }
879
+
880
+ .eth-task-timeline__event:last-child .eth-task-timeline__body {
881
+ border-block-end: 0;
882
+ padding-block-end: 0;
883
+ }
884
+
885
+ .eth-task-timeline__event-header {
886
+ align-items: center;
887
+ display: flex;
888
+ flex-wrap: wrap;
889
+ gap: var(--eth-space-sm);
890
+ min-inline-size: 0;
891
+ }
892
+
893
+ .eth-task-timeline__actor {
894
+ color: var(--eth-color-text-secondary);
895
+ font-size: calc(0.75rem * var(--eth-text-scale, 1));
896
+ line-height: 1.3333;
897
+ min-inline-size: 0;
898
+ overflow-wrap: anywhere;
899
+ }
900
+
901
+ .eth-task-timeline__summary {
902
+ color: var(--eth-color-text-primary);
903
+ font-size: calc(0.875rem * var(--eth-text-scale, 1));
904
+ font-weight: 600;
905
+ line-height: 1.4286;
906
+ min-inline-size: 0;
907
+ overflow-wrap: anywhere;
908
+ }
909
+
910
+ .eth-task-timeline__details {
911
+ color: var(--eth-color-text-secondary);
912
+ font-size: calc(0.875rem * var(--eth-text-scale, 1));
913
+ line-height: 1.4286;
914
+ margin: 0;
915
+ min-inline-size: 0;
916
+ overflow-wrap: anywhere;
917
+ }
918
+
919
+ .eth-task-progress {
920
+ display: grid;
921
+ gap: var(--eth-space-sm);
922
+ }
923
+
924
+ .eth-task-progress__label {
925
+ align-items: center;
926
+ color: var(--eth-color-text-secondary);
927
+ display: flex;
928
+ gap: var(--eth-space-md);
929
+ justify-content: space-between;
930
+ }
931
+
932
+ .eth-task-progress__label strong {
933
+ color: var(--eth-color-text-primary);
934
+ }
935
+
936
+ .eth-task-progress progress {
937
+ block-size: var(--eth-space-sm);
938
+ border: 0;
939
+ inline-size: 100%;
940
+ }
941
+
942
+ .eth-task-progress progress::-webkit-progress-bar {
943
+ background: var(--eth-color-layer-02);
944
+ }
945
+
946
+ .eth-task-progress progress::-webkit-progress-value {
947
+ background: var(--eth-color-interactive-primary);
948
+ }
949
+
950
+ .eth-task-progress progress::-moz-progress-bar {
951
+ background: var(--eth-color-interactive-primary);
952
+ }
953
+
954
+ .eth-task-progress__steps {
955
+ align-items: stretch;
956
+ display: flex;
957
+ gap: 0;
958
+ list-style: none;
959
+ margin: 0;
960
+ overflow-x: auto;
961
+ padding: 0 0 var(--eth-space-xs);
962
+ }
963
+
964
+ .eth-task-progress__step {
965
+ color: var(--eth-color-text-secondary);
966
+ display: grid;
967
+ flex: 1 0 9.5rem;
968
+ gap: var(--eth-space-sm);
969
+ grid-template-rows: auto 1fr;
970
+ min-inline-size: 9.5rem;
971
+ padding-inline-end: var(--eth-space-sm);
972
+ }
973
+
974
+ .eth-task-progress__step-track {
975
+ align-items: center;
976
+ display: grid;
977
+ gap: var(--eth-space-sm);
978
+ grid-template-columns: var(--eth-space-lg) minmax(0, 1fr);
979
+ min-block-size: var(--eth-space-lg);
980
+ }
981
+
982
+ .eth-task-progress__circle {
983
+ align-items: center;
984
+ background: var(--eth-color-layer-01);
985
+ border: 1px solid
986
+ var(--eth-color-border-strong);
987
+ border-radius: 50%;
988
+ block-size: var(--eth-space-lg);
989
+ display: inline-flex;
990
+ flex: 0 0 auto;
991
+ inline-size: var(--eth-space-lg);
992
+ justify-content: center;
993
+ }
994
+
995
+ .eth-task-progress__connector {
996
+ background: var(--eth-color-border-subtle);
997
+ block-size: 1px;
998
+ display: block;
999
+ inline-size: 100%;
1000
+ }
1001
+
1002
+ .eth-task-progress__step-copy {
1003
+ display: grid;
1004
+ gap: var(--eth-space-2xs);
1005
+ min-inline-size: 0;
1006
+ }
1007
+
1008
+ .eth-task-progress__step-label {
1009
+ color: var(--eth-color-text-primary);
1010
+ font-size: calc(0.875rem * var(--eth-text-scale, 1));
1011
+ font-weight: 600;
1012
+ line-height: 1.125rem;
1013
+ min-inline-size: 0;
1014
+ overflow: hidden;
1015
+ text-overflow: ellipsis;
1016
+ white-space: nowrap;
1017
+ }
1018
+
1019
+ .eth-task-progress__step--completed .eth-task-progress__circle,
1020
+ .eth-task-progress__step--succeeded .eth-task-progress__circle,
1021
+ .eth-task-progress__step--synced .eth-task-progress__circle {
1022
+ background: var(--eth-color-success);
1023
+ border-color: var(--eth-color-success);
1024
+ }
1025
+
1026
+ .eth-task-progress__step--completed .eth-task-progress__circle::after,
1027
+ .eth-task-progress__step--succeeded .eth-task-progress__circle::after,
1028
+ .eth-task-progress__step--synced .eth-task-progress__circle::after {
1029
+ block-size: 0.5rem;
1030
+ border-block-end: 1.5px solid var(--eth-color-layer-01);
1031
+ border-inline-end: 1.5px solid var(--eth-color-layer-01);
1032
+ content: "";
1033
+ inline-size: 0.25rem;
1034
+ transform: rotate(45deg) translate(-0.0625rem, -0.0625rem);
1035
+ }
1036
+
1037
+ .eth-task-progress__step--completed .eth-task-progress__connector,
1038
+ .eth-task-progress__step--succeeded .eth-task-progress__connector,
1039
+ .eth-task-progress__step--synced .eth-task-progress__connector {
1040
+ background: var(--eth-color-success);
1041
+ }
1042
+
1043
+ .eth-task-progress__step--running .eth-task-progress__circle,
1044
+ .eth-task-progress__step--in-progress .eth-task-progress__circle,
1045
+ .eth-task-progress__step--active .eth-task-progress__circle,
1046
+ .eth-task-progress__step--queued .eth-task-progress__circle {
1047
+ background: var(--eth-color-info);
1048
+ border-color: var(--eth-color-info);
1049
+ }
1050
+
1051
+ .eth-task-progress__step--blocked .eth-task-progress__circle,
1052
+ .eth-task-progress__step--failed .eth-task-progress__circle,
1053
+ .eth-task-progress__step--approval-required .eth-task-progress__circle {
1054
+ background: var(--eth-color-danger);
1055
+ border-color: var(--eth-color-danger);
1056
+ }
1057
+
1058
+ .eth-task-progress__step--pending-approval .eth-task-progress__circle,
1059
+ .eth-task-progress__step--warning .eth-task-progress__circle {
1060
+ background: var(--eth-color-warning);
1061
+ border-color: var(--eth-color-warning);
1062
+ }
1063
+
1064
+ .eth-task-progress__step--not-started .eth-task-progress__step-label,
1065
+ .eth-task-progress__step--inactive .eth-task-progress__step-label {
1066
+ color: var(--eth-color-text-secondary);
1067
+ font-weight: 400;
1068
+ }
1069
+
1070
+ .eth-task-progress__step-status {
1071
+ color: var(--eth-color-text-secondary);
1072
+ font-size: calc(0.75rem * var(--eth-text-scale, 1));
1073
+ line-height: 1rem;
1074
+ min-inline-size: 0;
1075
+ overflow: hidden;
1076
+ text-overflow: ellipsis;
1077
+ white-space: nowrap;
1078
+ }
1079
+
1080
+ .eth-mobile-task-shell {
1081
+ background: var(--eth-color-background);
1082
+ color: var(--eth-color-text-primary);
1083
+ display: grid;
1084
+ grid-template-rows: auto minmax(0, 1fr) auto;
1085
+ min-block-size: 100vh;
1086
+ min-block-size: 100dvh;
1087
+ }
1088
+
1089
+ .eth-mobile-task-shell__header {
1090
+ background: var(--eth-color-layer-01);
1091
+ border-block-end: 1px solid var(--eth-color-border-subtle);
1092
+ display: grid;
1093
+ gap: var(--eth-space-md);
1094
+ padding: calc(var(--eth-space-lg) + env(safe-area-inset-top)) var(--eth-space-lg) var(--eth-space-lg);
1095
+ position: sticky;
1096
+ top: 0;
1097
+ z-index: 2;
1098
+ }
1099
+
1100
+ .eth-mobile-task-shell__title-block {
1101
+ display: grid;
1102
+ gap: var(--eth-space-xs);
1103
+ }
1104
+
1105
+ .eth-mobile-task-shell__title {
1106
+ font-size: calc(1.25rem * var(--eth-text-scale, 1));
1107
+ line-height: 1.2;
1108
+ margin: 0;
1109
+ }
1110
+
1111
+ .eth-mobile-task-shell__subtitle,
1112
+ .eth-mobile-task-shell__identity {
1113
+ color: var(--eth-color-text-secondary);
1114
+ }
1115
+
1116
+ .eth-mobile-task-shell__subtitle {
1117
+ margin: 0;
1118
+ }
1119
+
1120
+ .eth-mobile-task-shell__progress,
1121
+ .eth-mobile-task-shell__footer-main {
1122
+ min-inline-size: 0;
1123
+ }
1124
+
1125
+ .eth-mobile-task-shell__main {
1126
+ display: grid;
1127
+ gap: var(--eth-space-lg);
1128
+ overflow: auto;
1129
+ padding: var(--eth-space-lg);
1130
+ }
1131
+
1132
+ .eth-mobile-task-shell__footer {
1133
+ background: var(--eth-color-layer-01);
1134
+ border-block-start: 1px solid var(--eth-color-border-subtle);
1135
+ bottom: 0;
1136
+ display: grid;
1137
+ gap: var(--eth-space-md);
1138
+ padding: var(--eth-space-md) var(--eth-space-lg) calc(var(--eth-space-md) + env(safe-area-inset-bottom));
1139
+ position: sticky;
1140
+ z-index: 2;
1141
+ }
1142
+
1143
+ .eth-mobile-task-shell__identity {
1144
+ border-block-start: 1px solid var(--eth-color-border-subtle);
1145
+ font-size: calc(0.875rem * var(--eth-text-scale, 1));
1146
+ padding-block-start: var(--eth-space-md);
1147
+ }
1148
+
1149
+ .eth-task-decision-panel {
1150
+ inline-size: min(100%, 72rem);
1151
+ }
1152
+
1153
+ .eth-decision-required {
1154
+ border-inline-start: 4px solid var(--eth-color-warning);
1155
+ }
1156
+
1157
+ .eth-decision-required--low {
1158
+ border-inline-start-color: var(--eth-color-info);
1159
+ }
1160
+
1161
+ .eth-decision-required--medium {
1162
+ border-inline-start-color: var(--eth-color-warning);
1163
+ }
1164
+
1165
+ .eth-decision-required--high,
1166
+ .eth-decision-required--critical {
1167
+ border-inline-start-color: var(--eth-color-danger);
1168
+ }
1169
+
1170
+ .eth-task-decision-panel--low {
1171
+ box-shadow: inset 4px 0 0 var(--eth-color-info);
1172
+ }
1173
+
1174
+ .eth-task-decision-panel--medium {
1175
+ box-shadow: inset 4px 0 0 var(--eth-color-warning);
1176
+ }
1177
+
1178
+ .eth-task-decision-panel--high,
1179
+ .eth-task-decision-panel--critical {
1180
+ box-shadow: inset 4px 0 0 var(--eth-color-danger);
1181
+ }
1182
+
1183
+ .eth-task-decision-panel .cds--inline-notification {
1184
+ margin: 0;
1185
+ max-inline-size: none;
1186
+ }
1187
+
1188
+ .eth-task-decision-panel__summary,
1189
+ .eth-task-approval-panel__body {
1190
+ display: grid;
1191
+ gap: var(--eth-space-md);
1192
+ }
1193
+
1194
+ .eth-task-decision-panel__summary {
1195
+ background: var(--eth-color-layer-02);
1196
+ border: 1px solid
1197
+ var(--eth-color-border-subtle);
1198
+ padding: var(--eth-space-lg);
1199
+ }
1200
+
1201
+ .eth-task-decision-panel__section-label,
1202
+ .eth-task-decision-panel__section-header span,
1203
+ .eth-task-decision-panel__option-state {
1204
+ color: var(--eth-color-text-secondary);
1205
+ font-size: calc(0.75rem * var(--eth-text-scale, 1));
1206
+ font-weight: 600;
1207
+ letter-spacing: 0;
1208
+ line-height: 1.333;
1209
+ text-transform: uppercase;
1210
+ }
1211
+
1212
+ .eth-task-decision-panel__summary-body {
1213
+ color: var(--eth-color-text-primary);
1214
+ line-height: 1.5;
1215
+ }
1216
+
1217
+ .eth-task-decision-panel__summary-body > :first-child {
1218
+ margin-block-start: 0;
1219
+ }
1220
+
1221
+ .eth-task-decision-panel__summary-body > :last-child {
1222
+ margin-block-end: 0;
1223
+ }
1224
+
1225
+ .eth-task-decision-panel__evidence {
1226
+ border-block-start: 1px solid
1227
+ var(--eth-color-border-subtle);
1228
+ padding-block-start: var(--eth-space-md);
1229
+ }
1230
+
1231
+ .eth-task-decision-panel__section-header {
1232
+ align-items: baseline;
1233
+ display: flex;
1234
+ gap: var(--eth-space-md);
1235
+ justify-content: space-between;
1236
+ }
1237
+
1238
+ .eth-task-decision-panel__section-header h3 {
1239
+ font-size: calc(0.875rem * var(--eth-text-scale, 1));
1240
+ font-weight: 600;
1241
+ line-height: 1.2857;
1242
+ margin: 0;
1243
+ }
1244
+
1245
+ .eth-task-decision-panel__evidence ul {
1246
+ display: grid;
1247
+ gap: var(--eth-space-sm);
1248
+ list-style: none;
1249
+ margin: var(--eth-space-md) 0 0;
1250
+ padding: 0;
1251
+ }
1252
+
1253
+ .eth-task-decision-panel__evidence li {
1254
+ border: 1px solid
1255
+ var(--eth-color-border-subtle);
1256
+ display: grid;
1257
+ gap: var(--eth-space-xs);
1258
+ grid-template-columns: minmax(9rem, 0.35fr) minmax(0, 1fr);
1259
+ padding: var(--eth-space-md);
1260
+ }
1261
+
1262
+ .eth-task-decision-panel__evidence-label {
1263
+ min-inline-size: 0;
1264
+ }
1265
+
1266
+ .eth-task-decision-panel__evidence-link {
1267
+ color: var(--eth-color-link);
1268
+ font-weight: 600;
1269
+ text-decoration: none;
1270
+ }
1271
+
1272
+ .eth-task-decision-panel__evidence-link:hover {
1273
+ text-decoration: underline;
1274
+ }
1275
+
1276
+ .eth-task-decision-panel__evidence-link:focus-visible {
1277
+ outline: 2px solid var(--eth-color-focus);
1278
+ outline-offset: 2px;
1279
+ }
1280
+
1281
+ .eth-task-decision-panel__evidence-preview {
1282
+ color: var(--eth-color-text-secondary);
1283
+ min-inline-size: 0;
1284
+ overflow-wrap: anywhere;
1285
+ }
1286
+
1287
+ .eth-task-decision-panel__options {
1288
+ border-block-start: 1px solid
1289
+ var(--eth-color-border-subtle);
1290
+ display: grid;
1291
+ gap: var(--eth-space-sm);
1292
+ padding-block-start: var(--eth-space-md);
1293
+ }
1294
+
1295
+ .eth-task-decision-panel__option {
1296
+ align-items: center;
1297
+ background: var(--eth-color-layer-01);
1298
+ border: 1px solid
1299
+ var(--eth-color-border-subtle);
1300
+ border-inline-start: 4px solid
1301
+ var(--eth-color-border-strong);
1302
+ color: var(--eth-color-text-primary);
1303
+ cursor: pointer;
1304
+ display: grid;
1305
+ font: inherit;
1306
+ gap: var(--eth-space-lg);
1307
+ grid-template-columns: minmax(0, 1fr) auto;
1308
+ inline-size: 100%;
1309
+ min-block-size: 4rem;
1310
+ padding: var(--eth-space-md);
1311
+ text-align: start;
1312
+ transition:
1313
+ background-color 110ms cubic-bezier(0.2, 0, 0.38, 0.9),
1314
+ border-color 110ms cubic-bezier(0.2, 0, 0.38, 0.9),
1315
+ outline-color 110ms cubic-bezier(0.2, 0, 0.38, 0.9);
1316
+ }
1317
+
1318
+ .eth-task-decision-panel__option:hover:not(:disabled) {
1319
+ background: var(--eth-color-layer-hover);
1320
+ border-color: var(--eth-color-border-strong);
1321
+ }
1322
+
1323
+ .eth-task-decision-panel__option:focus-visible {
1324
+ outline: 2px solid var(--eth-color-focus);
1325
+ outline-offset: -2px;
1326
+ }
1327
+
1328
+ .eth-task-decision-panel__option:disabled {
1329
+ color: var(--eth-color-text-secondary);
1330
+ cursor: not-allowed;
1331
+ opacity: 0.55;
1332
+ }
1333
+
1334
+ .eth-task-decision-panel__option:disabled .eth-task-decision-panel__option-state {
1335
+ color: currentcolor;
1336
+ }
1337
+
1338
+ .eth-task-decision-panel__option[aria-pressed="true"] {
1339
+ background: var(--eth-color-layer-selected);
1340
+ border-color: var(--eth-color-border-strong);
1341
+ }
1342
+
1343
+ .eth-task-decision-panel__option--primary {
1344
+ border-inline-start-color: var(--eth-color-focus);
1345
+ }
1346
+
1347
+ .eth-task-decision-panel__option--success {
1348
+ border-inline-start-color: var(--eth-color-success);
1349
+ }
1350
+
1351
+ .eth-task-decision-panel__option--danger {
1352
+ border-inline-start-color: var(--eth-color-danger);
1353
+ }
1354
+
1355
+ .eth-task-decision-panel__option--secondary,
1356
+ .eth-task-decision-panel__option--tertiary,
1357
+ .eth-task-decision-panel__option--ghost {
1358
+ border-inline-start-color: var(--eth-color-focus);
1359
+ }
1360
+
1361
+ .eth-task-decision-panel__option-main {
1362
+ display: grid;
1363
+ gap: var(--eth-space-xs);
1364
+ min-inline-size: 0;
1365
+ }
1366
+
1367
+ .eth-task-decision-panel__option-label {
1368
+ font-weight: 600;
1369
+ line-height: 1.2857;
1370
+ }
1371
+
1372
+ .eth-task-decision-panel__option-description {
1373
+ color: var(--eth-color-text-secondary);
1374
+ font-size: calc(0.75rem * var(--eth-text-scale, 1));
1375
+ line-height: 1.333;
1376
+ overflow-wrap: anywhere;
1377
+ }
1378
+
1379
+ .eth-task-decision-panel__option-state {
1380
+ color: var(--eth-color-link);
1381
+ white-space: nowrap;
1382
+ }
1383
+
1384
+ .eth-task-decision-panel__decision {
1385
+ color: var(--eth-color-text-secondary);
1386
+ }
1387
+
1388
+ @media (max-width: 42rem) {
1389
+ .eth-task-decision-panel__evidence li,
1390
+ .eth-task-decision-panel__option {
1391
+ grid-template-columns: 1fr;
1392
+ }
1393
+
1394
+ .eth-task-decision-panel__option-state {
1395
+ justify-self: start;
1396
+ }
1397
+ }
1398
+
1399
+ .eth-task-table-shell,
1400
+ .eth-task-wave-table {
1401
+ display: grid;
1402
+ gap: var(--eth-space-lg);
1403
+ }
1404
+
1405
+ .eth-task-table-shell {
1406
+ color: var(--eth-color-text-primary);
1407
+ font-family: var(--eth-font-family);
1408
+ inline-size: 100%;
1409
+ min-inline-size: 0;
1410
+ }
1411
+
1412
+ .eth-task-table-shell__header {
1413
+ align-items: start;
1414
+ display: grid;
1415
+ gap: var(--eth-space-md);
1416
+ grid-template-columns: minmax(0, 1fr) auto;
1417
+ }
1418
+
1419
+ .eth-task-table-shell__heading {
1420
+ display: grid;
1421
+ gap: var(--eth-space-xs);
1422
+ min-inline-size: 0;
1423
+ }
1424
+
1425
+ .eth-task-table-shell__header h2,
1426
+ .eth-task-table-shell__header p {
1427
+ margin: 0;
1428
+ }
1429
+
1430
+ .eth-task-table-shell__header h2 {
1431
+ color: var(--eth-color-text-primary);
1432
+ font-size: calc(1.25rem * var(--eth-text-scale, 1));
1433
+ font-weight: 600;
1434
+ line-height: 1.3;
1435
+ }
1436
+
1437
+ .eth-task-table-shell__header p {
1438
+ color: var(--eth-color-text-secondary);
1439
+ font-size: calc(0.875rem * var(--eth-text-scale, 1));
1440
+ line-height: 1.4286;
1441
+ max-inline-size: 44rem;
1442
+ }
1443
+
1444
+ .eth-task-table-shell__toolbar {
1445
+ align-items: end;
1446
+ background: var(--eth-color-layer-02);
1447
+ border: 1px solid
1448
+ var(--eth-color-border-subtle);
1449
+ display: flex;
1450
+ flex-wrap: wrap;
1451
+ gap: var(--eth-space-md);
1452
+ justify-content: space-between;
1453
+ min-block-size: 3rem;
1454
+ padding: var(--eth-space-md) var(--eth-space-lg);
1455
+ }
1456
+
1457
+ .eth-task-table-shell__filters {
1458
+ align-items: end;
1459
+ display: flex;
1460
+ flex-wrap: wrap;
1461
+ gap: var(--eth-space-md);
1462
+ min-inline-size: 0;
1463
+ }
1464
+
1465
+ .eth-task-table-shell__filter {
1466
+ inline-size: min(100%, 14rem);
1467
+ }
1468
+
1469
+ .eth-task-table-shell__summary {
1470
+ color: var(--eth-color-text-secondary);
1471
+ font-size: calc(0.75rem * var(--eth-text-scale, 1));
1472
+ line-height: 1.333;
1473
+ white-space: nowrap;
1474
+ }
1475
+
1476
+ .eth-task-table {
1477
+ min-inline-size: 65rem;
1478
+ table-layout: fixed;
1479
+ }
1480
+
1481
+ .eth-task-table__task {
1482
+ display: grid;
1483
+ gap: var(--eth-space-2xs);
1484
+ min-inline-size: 0;
1485
+ }
1486
+
1487
+ .eth-task-table__task-title,
1488
+ .eth-task-table__task-description,
1489
+ .eth-task-table__date {
1490
+ display: block;
1491
+ min-inline-size: 0;
1492
+ overflow: hidden;
1493
+ text-overflow: ellipsis;
1494
+ white-space: nowrap;
1495
+ }
1496
+
1497
+ .eth-task-table__task-title {
1498
+ color: var(--eth-color-text-primary);
1499
+ font-weight: 600;
1500
+ }
1501
+
1502
+ .eth-task-table__task-description {
1503
+ color: var(--eth-color-text-secondary);
1504
+ font-size: calc(0.75rem * var(--eth-text-scale, 1));
1505
+ font-weight: 400;
1506
+ line-height: 1.333;
1507
+ }
1508
+
1509
+ .eth-task-table__priority {
1510
+ max-inline-size: 100%;
1511
+ }
1512
+
1513
+ .eth-task-table__empty-value {
1514
+ color: var(--eth-color-text-secondary);
1515
+ }
1516
+
1517
+ @media (width <= 42rem) {
1518
+ .eth-task-table-shell__header {
1519
+ grid-template-columns: 1fr;
1520
+ }
1521
+
1522
+ .eth-task-table-shell__toolbar,
1523
+ .eth-task-table-shell__filters {
1524
+ align-items: stretch;
1525
+ flex-direction: column;
1526
+ }
1527
+
1528
+ .eth-task-table-shell__summary {
1529
+ white-space: normal;
1530
+ }
1531
+ }
1532
+
1533
+ .eth-task-wave-table {
1534
+ inline-size: 100%;
1535
+ }
1536
+
1537
+ .eth-task-wave-table .eth-surface__heading h2 {
1538
+ font-size: calc(1.25rem * var(--eth-text-scale, 1));
1539
+ line-height: 1.75rem;
1540
+ }
1541
+
1542
+ .eth-task-wave-table .eth-surface__subtitle {
1543
+ font-size: calc(0.75rem * var(--eth-text-scale, 1));
1544
+ line-height: 1rem;
1545
+ }
1546
+
1547
+ .eth-task-wave-table .eth-data-table-wrap {
1548
+ border-color: var(--eth-color-border-subtle);
1549
+ box-shadow: none;
1550
+ }
1551
+
1552
+ .eth-task-wave-table__table {
1553
+ min-inline-size: 60rem;
1554
+ table-layout: fixed;
1555
+ }
1556
+
1557
+ .eth-task-wave-table__table th {
1558
+ background: var(--eth-color-layer-02);
1559
+ color: var(--eth-color-text-secondary);
1560
+ white-space: nowrap;
1561
+ }
1562
+
1563
+ .eth-task-wave-table__table th:nth-child(1),
1564
+ .eth-task-wave-table__table td:nth-child(1) {
1565
+ inline-size: 4.5rem;
1566
+ }
1567
+
1568
+ .eth-task-wave-table__table th:nth-child(2),
1569
+ .eth-task-wave-table__table td:nth-child(2) {
1570
+ inline-size: 22rem;
1571
+ }
1572
+
1573
+ .eth-task-wave-table__table th:nth-child(3),
1574
+ .eth-task-wave-table__table td:nth-child(3) {
1575
+ inline-size: 12rem;
1576
+ }
1577
+
1578
+ .eth-task-wave-table__table th:nth-child(4),
1579
+ .eth-task-wave-table__table td:nth-child(4) {
1580
+ inline-size: 8rem;
1581
+ }
1582
+
1583
+ .eth-task-wave-table__table th:nth-child(5),
1584
+ .eth-task-wave-table__table td:nth-child(5),
1585
+ .eth-task-wave-table__table th:nth-child(6),
1586
+ .eth-task-wave-table__table td:nth-child(6) {
1587
+ inline-size: 7rem;
1588
+ }
1589
+
1590
+ .eth-task-wave-table__order,
1591
+ .eth-task-wave-table__duration {
1592
+ color: var(--eth-color-text-secondary);
1593
+ font-variant-numeric: tabular-nums;
1594
+ }
1595
+
1596
+ .eth-task-wave-table__task-title,
1597
+ .eth-task-wave-table__assignee,
1598
+ .eth-task-wave-table__duration {
1599
+ display: block;
1600
+ min-inline-size: 0;
1601
+ overflow: hidden;
1602
+ text-overflow: ellipsis;
1603
+ white-space: nowrap;
1604
+ }
1605
+
1606
+ .eth-task-wave-table__task-title {
1607
+ color: var(--eth-color-text-primary);
1608
+ font-weight: 600;
1609
+ }
1610
+
1611
+ .eth-task-wave-table__task-button {
1612
+ max-inline-size: 100%;
1613
+ }
1614
+
1615
+ .eth-task-wave-table__task-button .eth-task-wave-table__task-title {
1616
+ color: inherit;
1617
+ }
1618
+
1619
+ .eth-task-wave-table__status {
1620
+ background: var(--eth-color-layer-01);
1621
+ border: 1px solid var(--eth-color-border-subtle);
1622
+ border-radius: 1rem;
1623
+ min-block-size: 1.5rem;
1624
+ padding: 0 var(--eth-space-sm) 0 var(--eth-space-xs);
1625
+ }
1626
+
1627
+ .eth-task-wave-table__status .eth-status-dot__label {
1628
+ max-inline-size: 9rem;
1629
+ }
1630
+
1631
+ .eth-task-wave-table__dependency-count {
1632
+ justify-content: center;
1633
+ min-inline-size: 2rem;
1634
+ }
1635
+
1636
+ .eth-task-wave-table__empty {
1637
+ color: var(--eth-color-text-secondary);
1638
+ }
1639
+
1640
+ .eth-task-dependencies,
1641
+ .eth-task-dependencies__group {
1642
+ display: grid;
1643
+ gap: var(--eth-space-lg);
1644
+ }
1645
+
1646
+ .eth-task-detail-panel__stack {
1647
+ display: grid;
1648
+ gap: 0;
1649
+ }
1650
+
1651
+ .eth-task-detail-panel__section {
1652
+ border-block-start: 1px solid var(--eth-color-border-subtle);
1653
+ padding-block: var(--eth-space-lg);
1654
+ }
1655
+
1656
+ .eth-task-detail-panel__section summary {
1657
+ align-items: center;
1658
+ cursor: pointer;
1659
+ display: flex;
1660
+ gap: var(--eth-space-sm);
1661
+ font-weight: 600;
1662
+ inline-size: fit-content;
1663
+ list-style: none;
1664
+ min-block-size: var(--eth-space-xl);
1665
+ min-inline-size: min(100%, 12rem);
1666
+ outline-offset: 2px;
1667
+ }
1668
+
1669
+ .eth-task-detail-panel__section summary::-webkit-details-marker {
1670
+ display: none;
1671
+ }
1672
+
1673
+ .eth-task-detail-panel__section summary::marker {
1674
+ content: "";
1675
+ }
1676
+
1677
+ .eth-task-detail-panel__section summary::before {
1678
+ border-block: 0.25rem solid transparent;
1679
+ border-inline-start: 0.3125rem solid
1680
+ var(--eth-color-text-secondary);
1681
+ content: "";
1682
+ flex: 0 0 auto;
1683
+ transform-origin: 35% 50%;
1684
+ transition: transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9);
1685
+ }
1686
+
1687
+ .eth-task-detail-panel__section[open] summary::before {
1688
+ transform: rotate(90deg);
1689
+ }
1690
+
1691
+ .eth-task-detail-panel__section summary:focus-visible {
1692
+ outline: 2px solid var(--eth-color-focus);
1693
+ }
1694
+
1695
+ .eth-task-detail-panel__summary-label {
1696
+ color: var(--eth-color-text-primary);
1697
+ }
1698
+
1699
+ .eth-task-detail-panel__summary-meta {
1700
+ color: var(--eth-color-text-secondary);
1701
+ font-size: calc(0.75rem * var(--eth-text-scale, 1));
1702
+ font-weight: 400;
1703
+ line-height: 1.333;
1704
+ }
1705
+
1706
+ .eth-task-detail-panel__section-body {
1707
+ margin-block-start: var(--eth-space-md);
1708
+ }
1709
+
1710
+ .eth-task-detail-panel__metadata {
1711
+ background: var(--eth-color-layer-01);
1712
+ grid-template-columns: repeat(auto-fit, minmax(min(12rem, 100%), 1fr));
1713
+ max-inline-size: 72rem;
1714
+ }
1715
+
1716
+ .eth-task-detail-panel__description {
1717
+ color: var(--eth-color-text-secondary);
1718
+ line-height: 1.5;
1719
+ max-inline-size: 56rem;
1720
+ }
1721
+
1722
+ .eth-task-detail-panel__actions .eth-actions {
1723
+ align-items: center;
1724
+ }
1725
+
1726
+ .eth-task-detail-panel__actions .eth-button {
1727
+ min-inline-size: 7rem;
1728
+ }
1729
+
1730
+ .eth-task-dependencies {
1731
+ gap: var(--eth-space-xl);
1732
+ }
1733
+
1734
+ .eth-task-dependencies__group {
1735
+ gap: var(--eth-space-sm);
1736
+ }
1737
+
1738
+ .eth-task-dependencies__group-header {
1739
+ align-items: flex-end;
1740
+ border-block-end: 1px solid
1741
+ var(--eth-color-border-subtle);
1742
+ display: flex;
1743
+ gap: var(--eth-space-md);
1744
+ justify-content: space-between;
1745
+ min-inline-size: 0;
1746
+ padding-block-end: var(--eth-space-sm);
1747
+ }
1748
+
1749
+ .eth-task-dependencies__group-heading {
1750
+ display: grid;
1751
+ gap: var(--eth-space-xs);
1752
+ min-inline-size: 0;
1753
+ }
1754
+
1755
+ .eth-task-dependencies__group h4,
1756
+ .eth-task-dependencies__group p {
1757
+ margin: 0;
1758
+ }
1759
+
1760
+ .eth-task-dependencies__group h4 {
1761
+ color: var(--eth-color-text-primary);
1762
+ font-size: calc(0.875rem * var(--eth-text-scale, 1));
1763
+ font-weight: 600;
1764
+ line-height: 1.125rem;
1765
+ }
1766
+
1767
+ .eth-task-dependencies__group p {
1768
+ color: var(--eth-color-text-secondary);
1769
+ font-size: calc(0.75rem * var(--eth-text-scale, 1));
1770
+ line-height: 1rem;
1771
+ }
1772
+
1773
+ .eth-task-dependencies__list {
1774
+ background: var(--eth-color-border-subtle);
1775
+ border: 1px solid
1776
+ var(--eth-color-border-subtle);
1777
+ display: grid;
1778
+ gap: 1px;
1779
+ list-style: none;
1780
+ margin: 0;
1781
+ padding: 0;
1782
+ }
1783
+
1784
+ .eth-task-dependencies__item {
1785
+ align-items: center;
1786
+ background: var(--eth-color-layer-01);
1787
+ border-inline-start: 3px solid
1788
+ var(--eth-color-border-subtle);
1789
+ display: grid;
1790
+ gap: var(--eth-space-lg);
1791
+ grid-template-columns: minmax(0, 1fr) auto;
1792
+ min-block-size: 4rem;
1793
+ padding: var(--eth-space-md) var(--eth-space-lg);
1794
+ }
1795
+
1796
+ .eth-task-dependencies__item--approval-required,
1797
+ .eth-task-dependencies__item--blocked,
1798
+ .eth-task-dependencies__item--failed {
1799
+ border-inline-start-color: var(--eth-color-danger);
1800
+ }
1801
+
1802
+ .eth-task-dependencies__item--pending-approval,
1803
+ .eth-task-dependencies__item--stale,
1804
+ .eth-task-dependencies__item--warning {
1805
+ border-inline-start-color: var(--eth-color-warning);
1806
+ }
1807
+
1808
+ .eth-task-dependencies__item--in-progress,
1809
+ .eth-task-dependencies__item--queued,
1810
+ .eth-task-dependencies__item--running {
1811
+ border-inline-start-color: var(--eth-color-info);
1812
+ }
1813
+
1814
+ .eth-task-dependencies__item--active,
1815
+ .eth-task-dependencies__item--completed,
1816
+ .eth-task-dependencies__item--succeeded,
1817
+ .eth-task-dependencies__item--synced {
1818
+ border-inline-start-color: var(--eth-color-success);
1819
+ }
1820
+
1821
+ .eth-task-dependencies__item-main {
1822
+ display: grid;
1823
+ gap: var(--eth-space-xs);
1824
+ min-inline-size: 0;
1825
+ }
1826
+
1827
+ .eth-task-dependencies__relationship {
1828
+ color: var(--eth-color-text-secondary);
1829
+ font-size: calc(0.75rem * var(--eth-text-scale, 1));
1830
+ line-height: 1rem;
1831
+ }
1832
+
1833
+ .eth-task-dependencies__title {
1834
+ color: var(--eth-color-text-primary);
1835
+ font-size: calc(0.875rem * var(--eth-text-scale, 1));
1836
+ font-weight: 600;
1837
+ line-height: 1.125rem;
1838
+ overflow-wrap: anywhere;
1839
+ }
1840
+
1841
+ .eth-task-dependencies__id {
1842
+ color: var(--eth-color-text-secondary);
1843
+ font-family: var(--eth-font-mono, monospace);
1844
+ font-size: calc(0.75rem * var(--eth-text-scale, 1));
1845
+ line-height: 1.333;
1846
+ overflow-wrap: anywhere;
1847
+ }
1848
+
1849
+ .eth-task-dependencies__item .eth-task-status-badge {
1850
+ justify-self: end;
1851
+ max-inline-size: 100%;
1852
+ }
1853
+
1854
+ .eth-task-approval-panel,
1855
+ .eth-task-human-intervention-panel,
1856
+ .eth-task-blocking-reason-panel,
1857
+ .eth-task-handoff-panel,
1858
+ .eth-task-run-log,
1859
+ .eth-task-retry-panel,
1860
+ .eth-task-thinking-chain {
1861
+ display: grid;
1862
+ gap: var(--eth-space-lg);
1863
+ }
1864
+
1865
+ .eth-task-retry-panel {
1866
+ inline-size: min(100%, 64rem);
1867
+ }
1868
+
1869
+ .eth-task-retry-panel .eth-inline-notification.cds--inline-notification {
1870
+ max-inline-size: none;
1871
+ }
1872
+
1873
+ .eth-task-run-log {
1874
+ gap: 0;
1875
+ overflow: hidden;
1876
+ padding: 0;
1877
+ }
1878
+
1879
+ .eth-task-run-log > .eth-surface__header {
1880
+ align-items: flex-start;
1881
+ border-block-end: 1px solid
1882
+ var(--eth-color-border-subtle);
1883
+ padding: var(--eth-space-lg);
1884
+ }
1885
+
1886
+ .eth-task-run-log > .eth-surface__header h2 {
1887
+ font-size: calc(1.25rem * var(--eth-text-scale, 1));
1888
+ font-weight: 400;
1889
+ line-height: 1.4;
1890
+ }
1891
+
1892
+ .eth-task-approval-panel__summary {
1893
+ color: var(--eth-color-text-secondary);
1894
+ font-size: calc(0.875rem * var(--eth-text-scale, 1));
1895
+ line-height: 1.4286;
1896
+ max-inline-size: 48rem;
1897
+ }
1898
+
1899
+ .eth-task-approval-panel__state.cds--inline-notification,
1900
+ .eth-task-approval-panel__state.eth-inline-notification {
1901
+ inline-size: 100%;
1902
+ }
1903
+
1904
+ .eth-task-approval-panel__reason .cds--text-area {
1905
+ min-block-size: 6rem;
1906
+ resize: vertical;
1907
+ }
1908
+
1909
+ .eth-task-human-intervention-panel {
1910
+ gap: var(--eth-space-md);
1911
+ }
1912
+
1913
+ .eth-task-human-intervention-panel .eth-surface__header {
1914
+ align-items: center;
1915
+ }
1916
+
1917
+ .eth-task-human-intervention-panel .eth-inline-notification {
1918
+ max-inline-size: min(100%, 52rem);
1919
+ }
1920
+
1921
+ .eth-task-human-intervention-panel__details {
1922
+ background: var(--eth-color-border-subtle);
1923
+ border: 1px solid var(--eth-color-border-subtle);
1924
+ display: grid;
1925
+ gap: 1px;
1926
+ grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
1927
+ margin: 0;
1928
+ }
1929
+
1930
+ .eth-task-human-intervention-panel__details div {
1931
+ background: var(--eth-color-layer-01);
1932
+ min-inline-size: 0;
1933
+ padding: var(--eth-space-md);
1934
+ }
1935
+
1936
+ .eth-task-human-intervention-panel__details dt {
1937
+ color: var(--eth-color-text-secondary);
1938
+ font-size: calc(0.75rem * var(--eth-text-scale, 1));
1939
+ line-height: 1.333;
1940
+ margin: 0 0 var(--eth-space-xs);
1941
+ }
1942
+
1943
+ .eth-task-human-intervention-panel__details dd {
1944
+ align-items: center;
1945
+ color: var(--eth-color-text-primary);
1946
+ display: flex;
1947
+ flex-wrap: wrap;
1948
+ gap: var(--eth-space-sm);
1949
+ margin: 0;
1950
+ min-inline-size: 0;
1951
+ }
1952
+
1953
+ .eth-task-human-intervention-panel__task-title {
1954
+ font-weight: 600;
1955
+ min-inline-size: 0;
1956
+ overflow-wrap: anywhere;
1957
+ }
1958
+
1959
+ .eth-task-human-intervention-panel__task-id {
1960
+ color: var(--eth-color-text-secondary);
1961
+ font-family: var(--eth-font-mono, monospace);
1962
+ font-size: calc(0.75rem * var(--eth-text-scale, 1));
1963
+ line-height: 1.333;
1964
+ }
1965
+
1966
+ .eth-task-human-intervention-panel__actions {
1967
+ border-block-start: 1px solid var(--eth-color-border-subtle);
1968
+ display: flex;
1969
+ justify-content: flex-start;
1970
+ padding-block-start: var(--eth-space-md);
1971
+ }
1972
+
1973
+ .eth-task-approval-panel__audit,
1974
+ .eth-task-retry-panel__policy {
1975
+ border: 1px solid var(--eth-color-border-subtle);
1976
+ display: grid;
1977
+ grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
1978
+ margin: 0;
1979
+ }
1980
+
1981
+ .eth-task-approval-panel__audit {
1982
+ background: var(--eth-color-border-subtle);
1983
+ gap: 1px;
1984
+ grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
1985
+ }
1986
+
1987
+ .eth-task-approval-panel__audit div,
1988
+ .eth-task-retry-panel__policy div {
1989
+ border-inline-end: 1px solid var(--eth-color-border-subtle);
1990
+ padding: var(--eth-space-md);
1991
+ }
1992
+
1993
+ .eth-task-approval-panel__audit div {
1994
+ background: var(--eth-color-layer-01);
1995
+ border-inline-end: 0;
1996
+ }
1997
+
1998
+ .eth-task-approval-panel__audit dt,
1999
+ .eth-task-retry-panel__policy dt {
2000
+ color: var(--eth-color-text-secondary);
2001
+ font-size: calc(0.75rem * var(--eth-text-scale, 1));
2002
+ margin: 0 0 var(--eth-space-xs);
2003
+ }
2004
+
2005
+ .eth-task-approval-panel__audit dd,
2006
+ .eth-task-retry-panel__policy dd {
2007
+ margin: 0;
2008
+ }
2009
+
2010
+ .eth-task-approval-panel__audit dd {
2011
+ color: var(--eth-color-text-primary);
2012
+ font-weight: 600;
2013
+ overflow-wrap: anywhere;
2014
+ }
2015
+
2016
+ .eth-task-approval-panel__footer {
2017
+ display: grid;
2018
+ gap: var(--eth-space-md);
2019
+ }
2020
+
2021
+ .eth-task-approval-panel__actions {
2022
+ align-items: center;
2023
+ border-block-start: 1px solid
2024
+ var(--eth-color-border-subtle);
2025
+ display: flex;
2026
+ flex-wrap: wrap;
2027
+ gap: var(--eth-space-sm);
2028
+ padding-block-start: var(--eth-space-md);
2029
+ }
2030
+
2031
+ .eth-task-approval-panel__actions .eth-button {
2032
+ min-inline-size: 8.5rem;
2033
+ }
2034
+
2035
+ .eth-task-approval-panel__custom-footer {
2036
+ color: var(--eth-color-text-secondary);
2037
+ font-size: calc(0.875rem * var(--eth-text-scale, 1));
2038
+ line-height: 1.4286;
2039
+ }
2040
+
2041
+ @media (max-width: 42rem) {
2042
+ .eth-task-approval-panel__actions .eth-button {
2043
+ inline-size: 100%;
2044
+ }
2045
+ }
2046
+
2047
+ .eth-task-retry-panel__policy {
2048
+ background: var(--eth-color-border-subtle);
2049
+ border: 1px solid
2050
+ var(--eth-color-border-subtle);
2051
+ gap: 1px;
2052
+ grid-template-columns: repeat(4, minmax(0, 1fr));
2053
+ overflow: hidden;
2054
+ }
2055
+
2056
+ .eth-task-retry-panel__policy div {
2057
+ background: var(--eth-color-layer-01);
2058
+ border-inline-end: 0;
2059
+ min-block-size: 4.75rem;
2060
+ min-inline-size: 0;
2061
+ }
2062
+
2063
+ .eth-task-retry-panel__policy dt {
2064
+ line-height: 1.333;
2065
+ }
2066
+
2067
+ .eth-task-retry-panel__policy dd {
2068
+ color: var(--eth-color-text-primary);
2069
+ display: grid;
2070
+ font-size: calc(0.9375rem * var(--eth-text-scale, 1));
2071
+ font-weight: 600;
2072
+ gap: var(--eth-space-xs);
2073
+ line-height: 1.333;
2074
+ min-inline-size: 0;
2075
+ overflow-wrap: anywhere;
2076
+ }
2077
+
2078
+ .eth-task-retry-panel__attempts--exhausted dd {
2079
+ color: var(--eth-color-danger);
2080
+ }
2081
+
2082
+ .eth-task-retry-panel__policy-note {
2083
+ color: var(--eth-color-text-secondary);
2084
+ font-size: calc(0.75rem * var(--eth-text-scale, 1));
2085
+ font-weight: 400;
2086
+ line-height: 1.333;
2087
+ }
2088
+
2089
+ .eth-task-retry-panel__controls {
2090
+ border-block-start: 1px solid
2091
+ var(--eth-color-border-subtle);
2092
+ display: grid;
2093
+ gap: var(--eth-space-md);
2094
+ padding-block-start: var(--eth-space-lg);
2095
+ }
2096
+
2097
+ .eth-task-retry-panel__reason-field {
2098
+ inline-size: min(100%, 40rem);
2099
+ }
2100
+
2101
+ .eth-task-retry-panel__reason-field .cds--text-area__wrapper,
2102
+ .eth-task-retry-panel__reason-field .cds--text-area {
2103
+ inline-size: 100%;
2104
+ }
2105
+
2106
+ .eth-task-retry-panel__reason-field .cds--text-area {
2107
+ min-block-size: 6rem;
2108
+ resize: vertical;
2109
+ }
2110
+
2111
+ .eth-task-retry-panel__actions {
2112
+ align-items: center;
2113
+ display: flex;
2114
+ flex-wrap: wrap;
2115
+ gap: var(--eth-space-md);
2116
+ }
2117
+
2118
+ .eth-task-retry-panel__actions p {
2119
+ color: var(--eth-color-text-secondary);
2120
+ font-size: calc(0.75rem * var(--eth-text-scale, 1));
2121
+ line-height: 1.333;
2122
+ margin: 0;
2123
+ max-inline-size: 28rem;
2124
+ }
2125
+
2126
+ .eth-task-blocking-reason-panel__list {
2127
+ background: var(--eth-color-layer-01);
2128
+ border: 1px solid var(--eth-color-border-subtle);
2129
+ list-style: none;
2130
+ margin: 0;
2131
+ padding: 0;
2132
+ }
2133
+
2134
+ .eth-task-blocking-reason-panel__item {
2135
+ align-items: start;
2136
+ border-block-end: 1px solid var(--eth-color-border-subtle);
2137
+ display: grid;
2138
+ gap: var(--eth-space-lg);
2139
+ grid-template-columns: minmax(0, 1fr) auto;
2140
+ min-block-size: 4rem;
2141
+ padding: var(--eth-space-lg);
2142
+ }
2143
+
2144
+ .eth-task-blocking-reason-panel__item:last-child {
2145
+ border-block-end: 0;
2146
+ }
2147
+
2148
+ .eth-task-blocking-reason-panel__content {
2149
+ display: grid;
2150
+ gap: var(--eth-space-sm);
2151
+ min-inline-size: 0;
2152
+ }
2153
+
2154
+ .eth-task-blocking-reason-panel__reason {
2155
+ color: var(--eth-color-text-primary);
2156
+ font-size: calc(0.875rem * var(--eth-text-scale, 1));
2157
+ font-weight: 600;
2158
+ line-height: 1.4286;
2159
+ overflow-wrap: anywhere;
2160
+ }
2161
+
2162
+ .eth-task-blocking-reason-panel__meta {
2163
+ align-items: center;
2164
+ color: var(--eth-color-text-secondary);
2165
+ display: flex;
2166
+ flex-wrap: wrap;
2167
+ font-size: calc(0.75rem * var(--eth-text-scale, 1));
2168
+ gap: var(--eth-space-sm);
2169
+ line-height: 1.3333;
2170
+ }
2171
+
2172
+ .eth-task-blocking-reason-panel__actions {
2173
+ justify-self: end;
2174
+ }
2175
+
2176
+ .eth-task-blocking-reason-panel__actions .eth-actions {
2177
+ justify-content: flex-end;
2178
+ }
2179
+
2180
+ .eth-task-handoff-panel__body {
2181
+ display: grid;
2182
+ gap: var(--eth-space-lg);
2183
+ inline-size: min(100%, 48rem);
2184
+ }
2185
+
2186
+ .eth-task-handoff-panel__target-field {
2187
+ display: grid;
2188
+ gap: var(--eth-space-sm);
2189
+ }
2190
+
2191
+ .eth-task-handoff-panel__target-heading {
2192
+ color: var(--eth-color-text-secondary);
2193
+ font-size: calc(0.75rem * var(--eth-text-scale, 1));
2194
+ line-height: 1.333;
2195
+ margin: 0;
2196
+ }
2197
+
2198
+ .eth-task-handoff-panel__list {
2199
+ background: var(--eth-color-layer-01);
2200
+ border: 1px solid var(--eth-color-border-subtle);
2201
+ display: grid;
2202
+ }
2203
+
2204
+ .eth-task-handoff-panel__option {
2205
+ align-items: center;
2206
+ background: var(--eth-color-layer-01);
2207
+ border: 0;
2208
+ border-block-end: 1px solid var(--eth-color-border-subtle);
2209
+ color: var(--eth-color-text-primary);
2210
+ cursor: pointer;
2211
+ display: grid;
2212
+ font: inherit;
2213
+ gap: var(--eth-space-lg);
2214
+ grid-template-columns: minmax(0, 1fr) auto;
2215
+ min-block-size: 4rem;
2216
+ padding: var(--eth-space-md);
2217
+ text-align: start;
2218
+ touch-action: manipulation;
2219
+ transition:
2220
+ background-color 110ms cubic-bezier(0.2, 0, 0.38, 0.9),
2221
+ border-color 110ms cubic-bezier(0.2, 0, 0.38, 0.9);
2222
+ }
2223
+
2224
+ .eth-task-handoff-panel__option:last-child {
2225
+ border-block-end: 0;
2226
+ }
2227
+
2228
+ .eth-task-handoff-panel__option:hover {
2229
+ background: var(--eth-color-layer-hover);
2230
+ }
2231
+
2232
+ .eth-task-handoff-panel__option:focus-visible {
2233
+ outline: 2px solid var(--eth-color-focus);
2234
+ outline-offset: -2px;
2235
+ }
2236
+
2237
+ .eth-task-handoff-panel__option--selected {
2238
+ background: var(--eth-color-layer-selected);
2239
+ border-inline-start: 4px solid var(--eth-color-interactive-primary);
2240
+ padding-inline-start: calc(var(--eth-space-md) - 4px);
2241
+ }
2242
+
2243
+ .eth-task-handoff-panel__option-copy {
2244
+ display: grid;
2245
+ gap: var(--eth-space-xs);
2246
+ min-inline-size: 0;
2247
+ }
2248
+
2249
+ .eth-task-handoff-panel__option-label {
2250
+ font-size: calc(0.875rem * var(--eth-text-scale, 1));
2251
+ font-weight: 600;
2252
+ line-height: 1.2857;
2253
+ overflow-wrap: anywhere;
2254
+ }
2255
+
2256
+ .eth-task-handoff-panel__option-meta {
2257
+ align-items: center;
2258
+ display: flex;
2259
+ flex: 0 0 auto;
2260
+ flex-wrap: wrap;
2261
+ gap: var(--eth-space-xs);
2262
+ justify-content: flex-end;
2263
+ }
2264
+
2265
+ .eth-task-handoff-panel__reason-field,
2266
+ .eth-task-handoff-panel__reason-field .cds--text-area__wrapper,
2267
+ .eth-task-handoff-panel__reason-field .cds--text-area,
2268
+ .eth-task-handoff-panel__reason {
2269
+ inline-size: 100%;
2270
+ }
2271
+
2272
+ .eth-task-handoff-panel__reason-field .cds--text-area,
2273
+ .eth-task-handoff-panel__reason {
2274
+ min-block-size: 7rem;
2275
+ resize: vertical;
2276
+ }
2277
+
2278
+ .eth-task-handoff-panel__actions {
2279
+ border-block-start: 1px solid var(--eth-color-border-subtle);
2280
+ display: flex;
2281
+ justify-content: flex-start;
2282
+ padding-block-start: var(--eth-space-md);
2283
+ }
2284
+
2285
+ .eth-task-run-log__toolbar {
2286
+ align-items: flex-end;
2287
+ background: var(--eth-color-layer-02);
2288
+ border-block-end: 1px solid
2289
+ var(--eth-color-border-subtle);
2290
+ display: flex;
2291
+ flex-wrap: wrap;
2292
+ gap: var(--eth-space-md);
2293
+ justify-content: space-between;
2294
+ padding: var(--eth-space-md) var(--eth-space-lg);
2295
+ }
2296
+
2297
+ .eth-task-run-log__stream-state {
2298
+ align-items: center;
2299
+ display: flex;
2300
+ flex: 0 1 auto;
2301
+ flex-wrap: wrap;
2302
+ gap: var(--eth-space-sm);
2303
+ min-block-size: var(--eth-space-2xl);
2304
+ }
2305
+
2306
+ .eth-task-run-log__stream-state .cds--tag {
2307
+ margin: 0;
2308
+ }
2309
+
2310
+ .eth-task-run-log__buffer-count {
2311
+ color: var(--eth-color-text-secondary);
2312
+ font-size: calc(0.75rem * var(--eth-text-scale, 1));
2313
+ line-height: 1.3333;
2314
+ white-space: nowrap;
2315
+ }
2316
+
2317
+ .eth-task-run-log__filters {
2318
+ border: 0;
2319
+ display: grid;
2320
+ gap: var(--eth-space-xs);
2321
+ margin: 0;
2322
+ min-inline-size: 0;
2323
+ padding: 0;
2324
+ }
2325
+
2326
+ .eth-task-run-log__filters legend {
2327
+ color: var(--eth-color-text-secondary);
2328
+ font-size: calc(0.75rem * var(--eth-text-scale, 1));
2329
+ font-weight: 600;
2330
+ line-height: 1.3333;
2331
+ margin: 0;
2332
+ }
2333
+
2334
+ .eth-task-run-log__filter-options {
2335
+ align-items: center;
2336
+ display: flex;
2337
+ flex-wrap: wrap;
2338
+ gap: var(--eth-space-sm) var(--eth-space-md);
2339
+ }
2340
+
2341
+ .eth-task-run-log__summary {
2342
+ background: var(--eth-color-layer-01);
2343
+ border-block-end: 1px solid
2344
+ var(--eth-color-border-subtle);
2345
+ display: grid;
2346
+ grid-template-columns: repeat(4, minmax(0, 1fr));
2347
+ margin: 0;
2348
+ }
2349
+
2350
+ .eth-task-run-log__summary div {
2351
+ display: grid;
2352
+ gap: var(--eth-space-xs);
2353
+ min-inline-size: 0;
2354
+ padding: var(--eth-space-md) var(--eth-space-lg);
2355
+ }
2356
+
2357
+ .eth-task-run-log__summary div + div {
2358
+ border-inline-start: 1px solid
2359
+ var(--eth-color-border-subtle);
2360
+ }
2361
+
2362
+ .eth-task-run-log__summary dt {
2363
+ color: var(--eth-color-text-secondary);
2364
+ font-size: calc(0.75rem * var(--eth-text-scale, 1));
2365
+ font-weight: 600;
2366
+ line-height: 1.3333;
2367
+ margin: 0;
2368
+ }
2369
+
2370
+ .eth-task-run-log__summary dd {
2371
+ color: var(--eth-color-text-primary);
2372
+ font-family: var(--eth-font-mono);
2373
+ font-size: calc(0.875rem * var(--eth-text-scale, 1));
2374
+ font-variant-numeric: tabular-nums;
2375
+ font-weight: 600;
2376
+ line-height: 1.4286;
2377
+ margin: 0;
2378
+ }
2379
+
2380
+ .eth-task-run-log__viewport {
2381
+ background: var(--eth-color-layer-01);
2382
+ color: var(--eth-color-text-primary);
2383
+ max-block-size: 24rem;
2384
+ min-block-size: 10rem;
2385
+ min-inline-size: 0;
2386
+ overflow: auto;
2387
+ }
2388
+
2389
+ .eth-task-run-log__columns,
2390
+ .eth-task-run-log__entry {
2391
+ display: grid;
2392
+ gap: var(--eth-space-md);
2393
+ grid-template-columns: minmax(6.5rem, 8rem) minmax(4.5rem, 5rem) minmax(0, 1fr);
2394
+ }
2395
+
2396
+ .eth-task-run-log__columns {
2397
+ background: var(--eth-color-layer-02);
2398
+ border-block-end: 1px solid
2399
+ var(--eth-color-border-subtle);
2400
+ color: var(--eth-color-text-secondary);
2401
+ font-size: calc(0.75rem * var(--eth-text-scale, 1));
2402
+ font-weight: 600;
2403
+ inset-block-start: 0;
2404
+ line-height: 1.3333;
2405
+ padding: var(--eth-space-sm) var(--eth-space-lg);
2406
+ position: sticky;
2407
+ z-index: 1;
2408
+ }
2409
+
2410
+ .eth-task-run-log__entry {
2411
+ border-block-end: 1px solid
2412
+ var(--eth-color-border-subtle);
2413
+ font-size: calc(0.875rem * var(--eth-text-scale, 1));
2414
+ line-height: 1.4286;
2415
+ padding: var(--eth-space-sm) var(--eth-space-lg);
2416
+ }
2417
+
2418
+ .eth-task-run-log__entry:last-child {
2419
+ border-block-end: 0;
2420
+ }
2421
+
2422
+ .eth-task-run-log__entry:hover {
2423
+ background: var(--eth-color-layer-hover);
2424
+ }
2425
+
2426
+ .eth-task-run-log__time,
2427
+ .eth-task-run-log__level,
2428
+ .eth-task-run-log__message {
2429
+ font-family: var(--eth-font-mono);
2430
+ min-inline-size: 0;
2431
+ }
2432
+
2433
+ .eth-task-run-log__time {
2434
+ color: var(--eth-color-text-secondary);
2435
+ font-variant-numeric: tabular-nums;
2436
+ white-space: nowrap;
2437
+ }
2438
+
2439
+ .eth-task-run-log__level {
2440
+ color: var(--eth-color-text-secondary);
2441
+ font-weight: 600;
2442
+ }
2443
+
2444
+ .eth-task-run-log__level--error {
2445
+ color: var(--eth-color-danger);
2446
+ }
2447
+
2448
+ .eth-task-run-log__level--warn {
2449
+ color: var(--eth-color-warning);
2450
+ }
2451
+
2452
+ .eth-task-run-log__level--info {
2453
+ color: var(--eth-color-info);
2454
+ }
2455
+
2456
+ .eth-task-run-log__message {
2457
+ color: var(--eth-color-text-primary);
2458
+ overflow-wrap: anywhere;
2459
+ }
2460
+
2461
+ .eth-task-run-log__message--redacted {
2462
+ color: var(--eth-color-text-secondary);
2463
+ font-style: italic;
2464
+ }
2465
+
2466
+ .eth-task-thinking-chain__list,
2467
+ .eth-task-thinking-chain__children {
2468
+ display: grid;
2469
+ gap: 0;
2470
+ list-style: none;
2471
+ margin: 0;
2472
+ padding: 0;
2473
+ }
2474
+
2475
+ .eth-task-thinking-chain__children {
2476
+ margin-block-start: var(--eth-space-md);
2477
+ }
2478
+
2479
+ .eth-task-thinking-chain__step > .eth-task-thinking-chain__children {
2480
+ margin-block-start: 0;
2481
+ padding: 0 var(--eth-space-md) var(--eth-space-md);
2482
+ }
2483
+
2484
+ .eth-task-thinking-chain__item {
2485
+ --eth-task-thinking-chain-accent: var(--eth-color-text-secondary);
2486
+
2487
+ display: grid;
2488
+ gap: var(--eth-space-sm);
2489
+ grid-template-columns: var(--eth-space-lg) minmax(0, 1fr);
2490
+ min-inline-size: 0;
2491
+ padding-block-end: var(--eth-space-md);
2492
+ position: relative;
2493
+ }
2494
+
2495
+ .eth-task-thinking-chain__item::before {
2496
+ background: var(--eth-color-border-subtle);
2497
+ block-size: calc(100% - var(--eth-space-2xl));
2498
+ content: "";
2499
+ inline-size: 1px;
2500
+ inset-block-start: var(--eth-space-2xl);
2501
+ inset-inline-start: calc(var(--eth-space-lg) / 2 - 0.0313rem);
2502
+ position: absolute;
2503
+ }
2504
+
2505
+ .eth-task-thinking-chain__item:last-child {
2506
+ padding-block-end: 0;
2507
+ }
2508
+
2509
+ .eth-task-thinking-chain__item:last-child::before {
2510
+ content: none;
2511
+ }
2512
+
2513
+ .eth-task-thinking-chain__item--completed,
2514
+ .eth-task-thinking-chain__item--succeeded,
2515
+ .eth-task-thinking-chain__item--synced,
2516
+ .eth-task-thinking-chain__item--active {
2517
+ --eth-task-thinking-chain-accent: var(--eth-color-success);
2518
+ }
2519
+
2520
+ .eth-task-thinking-chain__item--running,
2521
+ .eth-task-thinking-chain__item--in-progress,
2522
+ .eth-task-thinking-chain__item--queued {
2523
+ --eth-task-thinking-chain-accent: var(--eth-color-info);
2524
+ }
2525
+
2526
+ .eth-task-thinking-chain__item--pending-approval,
2527
+ .eth-task-thinking-chain__item--warning,
2528
+ .eth-task-thinking-chain__item--stale,
2529
+ .eth-task-thinking-chain__item--redacted {
2530
+ --eth-task-thinking-chain-accent: var(--eth-color-warning);
2531
+ }
2532
+
2533
+ .eth-task-thinking-chain__item--approval-required,
2534
+ .eth-task-thinking-chain__item--blocked,
2535
+ .eth-task-thinking-chain__item--failed {
2536
+ --eth-task-thinking-chain-accent: var(--eth-color-danger);
2537
+ }
2538
+
2539
+ .eth-task-thinking-chain__marker {
2540
+ align-self: start;
2541
+ background: var(--eth-color-layer-01);
2542
+ block-size: 0.75rem;
2543
+ border: 2px solid var(--eth-task-thinking-chain-accent);
2544
+ border-radius: 50%;
2545
+ box-shadow: 0 0 0 2px var(--eth-color-layer-01);
2546
+ inline-size: 0.75rem;
2547
+ margin-block-start: var(--eth-space-lg);
2548
+ margin-inline: auto;
2549
+ position: relative;
2550
+ z-index: 1;
2551
+ }
2552
+
2553
+ .eth-task-thinking-chain__step {
2554
+ background: var(--eth-color-layer-01);
2555
+ border: 1px solid
2556
+ var(--eth-color-border-subtle);
2557
+ border-radius: 0;
2558
+ display: grid;
2559
+ min-inline-size: 0;
2560
+ }
2561
+
2562
+ .eth-task-thinking-chain__item--running > .eth-task-thinking-chain__step,
2563
+ .eth-task-thinking-chain__item--in-progress > .eth-task-thinking-chain__step {
2564
+ background: var(--eth-color-layer-02);
2565
+ border-inline-start: 3px solid var(--eth-color-interactive-primary);
2566
+ }
2567
+
2568
+ .eth-task-thinking-chain__item--pending-approval > .eth-task-thinking-chain__step,
2569
+ .eth-task-thinking-chain__item--warning > .eth-task-thinking-chain__step,
2570
+ .eth-task-thinking-chain__item--stale > .eth-task-thinking-chain__step,
2571
+ .eth-task-thinking-chain__item--redacted > .eth-task-thinking-chain__step {
2572
+ border-inline-start: 3px solid var(--eth-color-warning);
2573
+ }
2574
+
2575
+ .eth-task-thinking-chain__item--approval-required > .eth-task-thinking-chain__step,
2576
+ .eth-task-thinking-chain__item--blocked > .eth-task-thinking-chain__step,
2577
+ .eth-task-thinking-chain__item--failed > .eth-task-thinking-chain__step {
2578
+ border-inline-start: 3px solid var(--eth-color-danger);
2579
+ }
2580
+
2581
+ .eth-task-thinking-chain__step-header {
2582
+ align-items: center;
2583
+ cursor: pointer;
2584
+ display: grid;
2585
+ gap: var(--eth-space-sm);
2586
+ grid-template-columns: 1rem minmax(0, 1fr);
2587
+ list-style: none;
2588
+ min-block-size: var(--eth-space-2xl);
2589
+ padding: var(--eth-space-md);
2590
+ }
2591
+
2592
+ .eth-task-thinking-chain__step-header::-webkit-details-marker {
2593
+ display: none;
2594
+ }
2595
+
2596
+ .eth-task-thinking-chain__step-header::marker {
2597
+ content: "";
2598
+ }
2599
+
2600
+ .eth-task-thinking-chain__step-header:focus-visible {
2601
+ outline: 2px solid var(--eth-color-focus);
2602
+ outline-offset: -2px;
2603
+ }
2604
+
2605
+ .eth-task-thinking-chain__disclosure-icon {
2606
+ block-size: 1rem;
2607
+ display: grid;
2608
+ inline-size: 1rem;
2609
+ place-items: center;
2610
+ }
2611
+
2612
+ .eth-task-thinking-chain__disclosure-icon::before {
2613
+ border-block: 0.25rem solid transparent;
2614
+ border-inline-start: 0.3125rem solid
2615
+ var(--eth-color-text-secondary);
2616
+ content: "";
2617
+ transform-origin: 35% 50%;
2618
+ transition: transform 110ms cubic-bezier(0.2, 0, 0.38, 0.9);
2619
+ }
2620
+
2621
+ .eth-task-thinking-chain__step[open] .eth-task-thinking-chain__disclosure-icon::before {
2622
+ transform: rotate(90deg);
2623
+ }
2624
+
2625
+ .eth-task-thinking-chain__step-header-inner {
2626
+ align-items: flex-start;
2627
+ display: flex;
2628
+ flex-wrap: wrap;
2629
+ gap: var(--eth-space-sm) var(--eth-space-lg);
2630
+ justify-content: space-between;
2631
+ min-inline-size: 0;
2632
+ }
2633
+
2634
+ .eth-task-thinking-chain__step-heading,
2635
+ .eth-task-thinking-chain__step-meta {
2636
+ align-items: center;
2637
+ display: flex;
2638
+ flex-wrap: wrap;
2639
+ gap: var(--eth-space-xs) var(--eth-space-sm);
2640
+ min-inline-size: 0;
2641
+ }
2642
+
2643
+ .eth-task-thinking-chain__step-meta {
2644
+ justify-content: flex-end;
2645
+ }
2646
+
2647
+ .eth-task-thinking-chain__step-meta .eth-status-dot,
2648
+ .eth-task-thinking-chain__step-meta .cds--tag {
2649
+ margin: 0;
2650
+ }
2651
+
2652
+ .eth-task-thinking-chain__step-title {
2653
+ color: var(--eth-color-text-primary);
2654
+ font-size: calc(0.875rem * var(--eth-text-scale, 1));
2655
+ line-height: 1.2857;
2656
+ overflow-wrap: anywhere;
2657
+ }
2658
+
2659
+ .eth-task-thinking-chain__branch-count,
2660
+ .eth-task-thinking-chain__duration,
2661
+ .eth-task-thinking-chain__streaming {
2662
+ color: var(--eth-color-text-secondary);
2663
+ font-size: calc(0.75rem * var(--eth-text-scale, 1));
2664
+ line-height: 1.333;
2665
+ white-space: nowrap;
2666
+ }
2667
+
2668
+ .eth-task-thinking-chain__branch-count {
2669
+ background: var(--eth-color-layer-02);
2670
+ display: inline-flex;
2671
+ padding: var(--eth-space-2xs) var(--eth-space-sm);
2672
+ }
2673
+
2674
+ .eth-task-thinking-chain__streaming {
2675
+ align-items: center;
2676
+ color: var(--eth-color-info);
2677
+ display: inline-flex;
2678
+ gap: var(--eth-space-xs);
2679
+ }
2680
+
2681
+ .eth-task-thinking-chain__summary,
2682
+ .eth-task-thinking-chain__redacted {
2683
+ color: var(--eth-color-text-secondary);
2684
+ font-size: calc(0.875rem * var(--eth-text-scale, 1));
2685
+ line-height: 1.4286;
2686
+ margin: 0;
2687
+ padding: 0 var(--eth-space-md) var(--eth-space-md);
2688
+ }
2689
+
2690
+ .eth-task-thinking-chain__redacted {
2691
+ background: var(--eth-color-layer-02);
2692
+ border-block-start: 1px solid
2693
+ var(--eth-color-border-subtle);
2694
+ padding-block-start: var(--eth-space-sm);
2695
+ }
2696
+
2697
+ .eth-task-thinking-chain__pulse {
2698
+ animation: eth-task-pulse 1s cubic-bezier(0.2, 0, 0.38, 0.9) infinite;
2699
+ background: var(--eth-color-info);
2700
+ border-radius: 50%;
2701
+ block-size: var(--eth-space-sm);
2702
+ inline-size: var(--eth-space-sm);
2703
+ }
2704
+
2705
+ @keyframes eth-task-pulse {
2706
+ 0%,
2707
+ 100% {
2708
+ opacity: 0.35;
2709
+ }
2710
+
2711
+ 50% {
2712
+ opacity: 1;
2713
+ }
2714
+ }
2715
+
2716
+ @media (width <= 42rem) {
2717
+ .eth-task-run-log > .eth-surface__header,
2718
+ .eth-task-run-log__toolbar {
2719
+ padding-inline: var(--eth-space-md);
2720
+ }
2721
+
2722
+ .eth-task-run-log__toolbar,
2723
+ .eth-task-run-log__stream-state {
2724
+ align-items: flex-start;
2725
+ }
2726
+
2727
+ .eth-task-run-log__summary {
2728
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2729
+ }
2730
+
2731
+ .eth-task-run-log__summary div:nth-child(odd) {
2732
+ border-inline-start: 0;
2733
+ }
2734
+
2735
+ .eth-task-run-log__summary div:nth-child(n + 3) {
2736
+ border-block-start: 1px solid
2737
+ var(--eth-color-border-subtle);
2738
+ }
2739
+
2740
+ .eth-task-run-log__viewport {
2741
+ overflow-x: auto;
2742
+ }
2743
+
2744
+ .eth-task-run-log__columns,
2745
+ .eth-task-run-log__entry {
2746
+ grid-template-columns: 6.5rem 4.5rem minmax(14rem, 1fr);
2747
+ min-inline-size: 28rem;
2748
+ padding-inline: var(--eth-space-md);
2749
+ }
2750
+
2751
+ .eth-task-thinking-chain__item {
2752
+ grid-template-columns: var(--eth-space-md) minmax(0, 1fr);
2753
+ }
2754
+
2755
+ .eth-task-thinking-chain__item::before {
2756
+ inset-inline-start: calc(var(--eth-space-md) / 2 - 0.0313rem);
2757
+ }
2758
+
2759
+ .eth-task-thinking-chain__step-header-inner,
2760
+ .eth-task-thinking-chain__step-meta {
2761
+ justify-content: flex-start;
2762
+ }
2763
+
2764
+ .eth-task-progress__steps {
2765
+ align-items: stretch;
2766
+ flex-direction: column;
2767
+ overflow-x: visible;
2768
+ padding-block-end: 0;
2769
+ }
2770
+
2771
+ .eth-task-progress__step {
2772
+ flex-basis: auto;
2773
+ gap: 0 var(--eth-space-sm);
2774
+ grid-template-columns: var(--eth-space-lg) minmax(0, 1fr);
2775
+ grid-template-rows: auto;
2776
+ min-inline-size: 0;
2777
+ padding-inline-end: 0;
2778
+ }
2779
+
2780
+ .eth-task-progress__step-track {
2781
+ align-self: stretch;
2782
+ gap: var(--eth-space-xs);
2783
+ grid-template-columns: var(--eth-space-lg);
2784
+ grid-template-rows: var(--eth-space-lg) minmax(var(--eth-space-lg), 1fr);
2785
+ }
2786
+
2787
+ .eth-task-progress__connector {
2788
+ block-size: 100%;
2789
+ inline-size: 1px;
2790
+ justify-self: center;
2791
+ }
2792
+
2793
+ .eth-task-progress__step-copy {
2794
+ padding-block-end: var(--eth-space-lg);
2795
+ }
2796
+
2797
+ .eth-task-progress__step:last-child .eth-task-progress__step-copy {
2798
+ padding-block-end: 0;
2799
+ }
2800
+
2801
+ .eth-task-blocking-reason-panel__item {
2802
+ align-items: stretch;
2803
+ grid-template-columns: 1fr;
2804
+ }
2805
+
2806
+ .eth-task-dependencies__item {
2807
+ align-items: start;
2808
+ grid-template-columns: 1fr;
2809
+ }
2810
+
2811
+ .eth-task-handoff-panel__option {
2812
+ grid-template-columns: 1fr;
2813
+ }
2814
+
2815
+ .eth-task-handoff-panel__option-meta {
2816
+ justify-content: flex-start;
2817
+ }
2818
+
2819
+ .eth-task-dependencies__group-header {
2820
+ align-items: flex-start;
2821
+ flex-direction: column;
2822
+ }
2823
+
2824
+ .eth-task-dependencies__item .eth-task-status-badge {
2825
+ justify-self: start;
2826
+ }
2827
+
2828
+ .eth-task-timeline__event {
2829
+ grid-template-columns: 1rem minmax(0, 1fr);
2830
+ }
2831
+
2832
+ .eth-task-timeline__time {
2833
+ grid-column: 2;
2834
+ justify-self: start;
2835
+ padding-block-start: 0;
2836
+ }
2837
+
2838
+ .eth-task-timeline__rail {
2839
+ grid-column: 1;
2840
+ grid-row: 1 / span 2;
2841
+ }
2842
+
2843
+ .eth-task-timeline__body {
2844
+ grid-column: 2;
2845
+ grid-template-columns: 1fr;
2846
+ }
2847
+
2848
+ .eth-task-blocking-reason-panel__actions {
2849
+ justify-self: stretch;
2850
+ }
2851
+
2852
+ .eth-task-blocking-reason-panel__actions .eth-actions {
2853
+ align-items: stretch;
2854
+ justify-content: flex-start;
2855
+ }
2856
+
2857
+ .eth-task-detail-panel__actions .eth-actions {
2858
+ align-items: stretch;
2859
+ }
2860
+
2861
+ .eth-task-detail-panel__actions .eth-button {
2862
+ inline-size: 100%;
2863
+ }
2864
+ }
2865
+
2866
+ @media (width <= 50rem) {
2867
+ .eth-task-retry-panel__policy {
2868
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2869
+ }
2870
+ }
2871
+
2872
+ @media (width <= 36rem) {
2873
+ .eth-task-retry-panel {
2874
+ inline-size: 100%;
2875
+ }
2876
+
2877
+ .eth-task-retry-panel__policy {
2878
+ grid-template-columns: 1fr;
2879
+ }
2880
+
2881
+ .eth-task-retry-panel__actions {
2882
+ align-items: stretch;
2883
+ flex-direction: column;
2884
+ }
2885
+
2886
+ .eth-task-retry-panel__actions .eth-button {
2887
+ inline-size: 100%;
2888
+ }
2889
+ }