@xyne/workflow-ui 1.3.0 → 1.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/execution/ExecutionHeader.d.ts +6 -1
- package/dist/components/execution/ExecutionHeader.d.ts.map +1 -1
- package/dist/components/execution/ExecutionHeader.js +27 -3
- package/dist/components/execution/ExecutionHeader.js.map +1 -1
- package/dist/components/execution/ExecutionJourney.d.ts +21 -0
- package/dist/components/execution/ExecutionJourney.d.ts.map +1 -0
- package/dist/components/execution/ExecutionJourney.js +302 -0
- package/dist/components/execution/ExecutionJourney.js.map +1 -0
- package/dist/components/execution/ExecutionViewer.d.ts +3 -1
- package/dist/components/execution/ExecutionViewer.d.ts.map +1 -1
- package/dist/components/execution/ExecutionViewer.js +6 -4
- package/dist/components/execution/ExecutionViewer.js.map +1 -1
- package/dist/components/shared/MarkdownView.d.ts.map +1 -1
- package/dist/components/shared/MarkdownView.js +3 -1
- package/dist/components/shared/MarkdownView.js.map +1 -1
- package/dist/components/workflows/WorkflowHome.d.ts +6 -1
- package/dist/components/workflows/WorkflowHome.d.ts.map +1 -1
- package/dist/components/workflows/WorkflowHome.js +5 -4
- package/dist/components/workflows/WorkflowHome.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +4 -2
|
@@ -10,8 +10,13 @@ export interface ExecutionHeaderProps {
|
|
|
10
10
|
summaryOpen?: boolean | undefined;
|
|
11
11
|
/** Toggle the summary side panel. */
|
|
12
12
|
onToggleSummary?: (() => void) | undefined;
|
|
13
|
+
/** Active view mode (journey list vs graph canvas). */
|
|
14
|
+
viewMode?: 'graph' | 'journey' | undefined;
|
|
15
|
+
onViewModeChange?: ((mode: 'graph' | 'journey') => void) | undefined;
|
|
13
16
|
className?: string | undefined;
|
|
14
17
|
onCancel?: (() => void) | undefined;
|
|
18
|
+
/** Back affordance — returns to the list (replaces the host breadcrumb). */
|
|
19
|
+
onBack?: (() => void) | undefined;
|
|
15
20
|
}
|
|
16
|
-
export declare function ExecutionHeader({ executionId, status,
|
|
21
|
+
export declare function ExecutionHeader({ executionId, status, name, hasSummary, summaryOpen, onToggleSummary, viewMode, onViewModeChange, className, onCancel, onBack, }: ExecutionHeaderProps): import("react").JSX.Element;
|
|
17
22
|
//# sourceMappingURL=ExecutionHeader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecutionHeader.d.ts","sourceRoot":"","sources":["../../../src/components/execution/ExecutionHeader.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ExecutionHeader.d.ts","sourceRoot":"","sources":["../../../src/components/execution/ExecutionHeader.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,6BAA6B;IAC7B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,4EAA4E;IAC5E,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,2EAA2E;IAC3E,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC,qCAAqC;IACrC,eAAe,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAC3C,uDAAuD;IACvD,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;IAC3C,gBAAgB,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACrE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACpC,4EAA4E;IAC5E,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CACnC;AAoDD,wBAAgB,eAAe,CAAC,EAC9B,WAAW,EACX,MAAM,EACN,IAAI,EACJ,UAAU,EACV,WAAW,EACX,eAAe,EACf,QAAQ,EACR,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,MAAM,GACP,EAAE,oBAAoB,+BAyGtB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { useCallback, useState } from 'react';
|
|
3
|
+
import {} from '../shared/StatusBadge.js';
|
|
3
4
|
import { cn } from '../shared/cn.js';
|
|
4
5
|
function mapStatus(s) {
|
|
5
6
|
switch (s) {
|
|
@@ -16,8 +17,31 @@ function mapStatus(s) {
|
|
|
16
17
|
default: return 'pending';
|
|
17
18
|
}
|
|
18
19
|
}
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
const STATUS_COLOR = {
|
|
21
|
+
completed: 'var(--wui-status-completed)',
|
|
22
|
+
running: '#3b82f6',
|
|
23
|
+
failed: 'var(--wui-status-failed)',
|
|
24
|
+
paused: 'var(--wui-status-paused)',
|
|
25
|
+
cancelled: 'var(--wui-status-failed)',
|
|
26
|
+
skipped: 'var(--wui-fg-muted)',
|
|
27
|
+
pending: 'var(--wui-border-strong)',
|
|
28
|
+
};
|
|
29
|
+
function CopyButton({ text }) {
|
|
30
|
+
const [copied, setCopied] = useState(false);
|
|
31
|
+
const copy = useCallback(() => {
|
|
32
|
+
void navigator.clipboard.writeText(text).then(() => {
|
|
33
|
+
setCopied(true);
|
|
34
|
+
setTimeout(() => setCopied(false), 1500);
|
|
35
|
+
});
|
|
36
|
+
}, [text]);
|
|
37
|
+
return (_jsx("button", { type: "button", onClick: copy, title: "Copy execution ID", className: "grid h-5 w-5 place-items-center rounded text-[var(--wui-fg-muted)] transition-colors hover:bg-[var(--wui-bg-subtle)] hover:text-[var(--wui-fg)]", children: copied ? (_jsx("svg", { width: "11", height: "11", viewBox: "0 0 24 24", fill: "none", stroke: "var(--wui-status-completed)", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("polyline", { points: "20 6 9 17 4 12" }) })) : (_jsxs("svg", { width: "11", height: "11", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("rect", { x: "9", y: "9", width: "13", height: "13", rx: "2" }), _jsx("path", { d: "M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" })] })) }));
|
|
38
|
+
}
|
|
39
|
+
export function ExecutionHeader({ executionId, status, name, hasSummary, summaryOpen, onToggleSummary, viewMode, onViewModeChange, className, onCancel, onBack, }) {
|
|
40
|
+
return (_jsxs("div", { className: cn('flex items-center gap-3 border-b border-[var(--wui-border)] bg-[var(--wui-bg)] px-4 py-2.5', className), children: [_jsxs("div", { className: "flex min-w-0 items-start gap-2", children: [onBack && (_jsx("button", { type: "button", onClick: onBack, "aria-label": "Back", title: "Back", className: "grid h-5 w-5 shrink-0 place-items-center rounded text-[var(--wui-fg-muted)] transition-colors hover:bg-[var(--wui-bg-subtle)] hover:text-[var(--wui-fg)]", children: _jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("path", { d: "m15 18-6-6 6-6" }) }) })), _jsxs("div", { className: "flex min-w-0 flex-col", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "h-2.5 w-2.5 shrink-0 rounded-full", style: { backgroundColor: STATUS_COLOR[mapStatus(status)] }, title: mapStatus(status) }), name && (_jsx("span", { className: "truncate text-sm font-semibold text-[var(--wui-fg)]", "data-testid": "execution-name", children: name }))] }), _jsxs("div", { className: "flex items-center gap-1.5 pl-[18px]", children: [_jsx("span", { className: "font-mono text-[11px] text-[var(--wui-fg-muted)]", children: executionId }), _jsx(CopyButton, { text: executionId })] })] })] }), _jsx("div", { className: "flex-1" }), onViewModeChange && (_jsxs("div", { className: "flex items-center rounded-[var(--wui-radius-sm)] border border-[var(--wui-border)] p-0.5", children: [_jsxs("button", { type: "button", onClick: () => onViewModeChange('journey'), title: "Journey \u2014 step-by-step list", className: cn('flex items-center gap-1.5 rounded-[calc(var(--wui-radius-sm)-2px)] px-2.5 py-1 text-[12px] font-medium transition-colors', viewMode !== 'graph'
|
|
41
|
+
? 'bg-[var(--wui-primary)] text-[var(--wui-primary-fg)]'
|
|
42
|
+
: 'text-[var(--wui-fg-muted)] hover:text-[var(--wui-fg)]'), children: [_jsxs("svg", { width: "13", height: "13", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("line", { x1: "8", y1: "6", x2: "21", y2: "6" }), _jsx("line", { x1: "8", y1: "12", x2: "21", y2: "12" }), _jsx("line", { x1: "8", y1: "18", x2: "21", y2: "18" }), _jsx("line", { x1: "3", y1: "6", x2: "3.01", y2: "6" }), _jsx("line", { x1: "3", y1: "12", x2: "3.01", y2: "12" }), _jsx("line", { x1: "3", y1: "18", x2: "3.01", y2: "18" })] }), "Journey"] }), _jsxs("button", { type: "button", onClick: () => onViewModeChange('graph'), title: "Graph \u2014 flow canvas", className: cn('flex items-center gap-1.5 rounded-[calc(var(--wui-radius-sm)-2px)] px-2.5 py-1 text-[12px] font-medium transition-colors', viewMode === 'graph'
|
|
43
|
+
? 'bg-[var(--wui-primary)] text-[var(--wui-primary-fg)]'
|
|
44
|
+
: 'text-[var(--wui-fg-muted)] hover:text-[var(--wui-fg)]'), children: [_jsxs("svg", { width: "13", height: "13", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("line", { x1: "6", y1: "3", x2: "6", y2: "15" }), _jsx("circle", { cx: "18", cy: "6", r: "3" }), _jsx("circle", { cx: "6", cy: "18", r: "3" }), _jsx("path", { d: "M18 9a9 9 0 0 1-9 9" })] }), "Graph"] })] })), hasSummary && onToggleSummary && (_jsxs("button", { onClick: onToggleSummary, "data-testid": "summary-toggle", title: summaryOpen ? 'Hide summary' : 'Show summary', className: cn('flex items-center gap-1.5 rounded-[var(--wui-radius-sm)] border px-2.5 py-1 text-sm transition-colors', summaryOpen
|
|
21
45
|
? 'border-indigo-300 bg-indigo-50 text-indigo-700'
|
|
22
46
|
: 'border-[var(--wui-border)] text-[var(--wui-fg-muted)] hover:bg-[var(--wui-bg-subtle)]'), children: [_jsxs("svg", { width: "13", height: "13", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" }), _jsx("path", { d: "M14 2v6h6" }), _jsx("path", { d: "M16 13H8" }), _jsx("path", { d: "M16 17H8" }), _jsx("path", { d: "M10 9H8" })] }), "Summary"] })), onCancel && (status === 'running' || status === 'RUNNING' || status === 'paused' || status === 'EXTERNAL_WAIT') && (_jsx("button", { onClick: onCancel, className: cn('rounded-[var(--wui-radius-sm)] border border-[var(--wui-status-failed)]/30 px-3 py-1 text-sm', 'text-[var(--wui-status-failed)] hover:bg-[var(--wui-status-failed)]/5'), children: "Cancel" }))] }));
|
|
23
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecutionHeader.js","sourceRoot":"","sources":["../../../src/components/execution/ExecutionHeader.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAsB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"ExecutionHeader.js","sourceRoot":"","sources":["../../../src/components/execution/ExecutionHeader.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { WorkflowStepConfig, StepGroup } from '@xyne/workflow-sdk/builder';
|
|
2
|
+
import type { StepMeta } from '../../hooks/use-step-metadata.js';
|
|
3
|
+
import type { StepExecutionState } from '../../hooks/use-execution-viewer.js';
|
|
4
|
+
export interface ExecutionJourneyProps {
|
|
5
|
+
steps: WorkflowStepConfig[];
|
|
6
|
+
stepMeta: Map<string, StepMeta>;
|
|
7
|
+
stepStates: Map<string, StepExecutionState>;
|
|
8
|
+
groups?: StepGroup[] | undefined;
|
|
9
|
+
selectedStepId: string | null;
|
|
10
|
+
onStepClick: (stepId: string) => void;
|
|
11
|
+
selectedStepState?: StepExecutionState | undefined;
|
|
12
|
+
selectedStepTitle?: string | undefined;
|
|
13
|
+
selectedStepDescription?: string | undefined;
|
|
14
|
+
triggerLabel: string;
|
|
15
|
+
triggerIconName?: string | undefined;
|
|
16
|
+
triggerCompleted: boolean;
|
|
17
|
+
isTriggerSelected: boolean;
|
|
18
|
+
onTriggerClick: () => void;
|
|
19
|
+
}
|
|
20
|
+
export declare function ExecutionJourney({ steps, stepMeta, stepStates, groups, selectedStepId, onStepClick, selectedStepState, selectedStepTitle, selectedStepDescription, triggerLabel, triggerIconName, triggerCompleted, isTriggerSelected, onTriggerClick, }: ExecutionJourneyProps): import("react").JSX.Element;
|
|
21
|
+
//# sourceMappingURL=ExecutionJourney.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExecutionJourney.d.ts","sourceRoot":"","sources":["../../../src/components/execution/ExecutionJourney.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEhF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AA+hB9E,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC5C,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;IACjC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,iBAAiB,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACnD,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,uBAAuB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAChE,iBAAiB,EAAE,iBAAiB,EAAE,uBAAuB,EAC7D,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,GACnF,EAAE,qBAAqB,+BA8HvB"}
|
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useMemo, useState } from 'react';
|
|
3
|
+
import { detectBranchesFromConfig } from '../../utils/branch-detection.js';
|
|
4
|
+
import { getStepIcon } from '../builder/icons.js';
|
|
5
|
+
import { StatusBadge } from '../shared/StatusBadge.js';
|
|
6
|
+
import { DisplayValue, isAttachment, isAttachmentArray } from '../shared/AttachmentCard.js';
|
|
7
|
+
import { ReviewDisplay } from './ApprovalReviewDisplay.js';
|
|
8
|
+
import { PauseFormRenderer } from './PauseFormRenderer.js';
|
|
9
|
+
import { MarkdownView } from '../shared/MarkdownView.js';
|
|
10
|
+
import { cn } from '../shared/cn.js';
|
|
11
|
+
/**
|
|
12
|
+
* Journey mode — a banker-friendly master-detail alternative to the graph: a
|
|
13
|
+
* left sidebar lists the executed path (StepGroups + control-flow constructs
|
|
14
|
+
* collapse into folders you drill into), the right pane shows the selected
|
|
15
|
+
* step's input/output. Hierarchy is resolved from the config by id each render
|
|
16
|
+
* (so it survives the viewer's status re-fetch), never from the flat step rows.
|
|
17
|
+
*/
|
|
18
|
+
// ─── Status presentation ───
|
|
19
|
+
const CHECK = (_jsx("svg", { width: "9", height: "9", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "4", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("polyline", { points: "20 6 9 17 4 12" }) }));
|
|
20
|
+
const CROSS = (_jsxs("svg", { width: "9", height: "9", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "4", strokeLinecap: "round", children: [_jsx("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), _jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18" })] }));
|
|
21
|
+
const PLAY = (_jsx("svg", { width: "9", height: "9", viewBox: "0 0 24 24", fill: "currentColor", children: _jsx("polygon", { points: "6 4 20 12 6 20 6 4" }) }));
|
|
22
|
+
const PAUSE = (_jsxs("svg", { width: "9", height: "9", viewBox: "0 0 24 24", fill: "currentColor", children: [_jsx("rect", { x: "6", y: "4", width: "4", height: "16", rx: "1" }), _jsx("rect", { x: "14", y: "4", width: "4", height: "16", rx: "1" })] }));
|
|
23
|
+
const DASH = (_jsx("svg", { width: "9", height: "9", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "3", strokeLinecap: "round", children: _jsx("path", { d: "M5 12h14" }) }));
|
|
24
|
+
const STATUS_STYLE = {
|
|
25
|
+
completed: { dot: 'var(--wui-status-completed)', fg: '#fff', icon: CHECK },
|
|
26
|
+
failed: { dot: 'var(--wui-status-failed)', fg: '#fff', icon: CROSS },
|
|
27
|
+
running: { dot: '#3b82f6', fg: '#fff', icon: PLAY, pulse: true },
|
|
28
|
+
paused: { dot: 'var(--wui-status-paused)', fg: '#fff', icon: PAUSE },
|
|
29
|
+
skipped: { dot: 'var(--wui-bg-muted)', fg: 'var(--wui-fg-muted)', icon: DASH },
|
|
30
|
+
pending: { dot: 'transparent', fg: 'var(--wui-fg-muted)', icon: null },
|
|
31
|
+
};
|
|
32
|
+
function StatusDot({ status, size = 22 }) {
|
|
33
|
+
const s = STATUS_STYLE[status];
|
|
34
|
+
return (_jsx("span", { className: cn('flex shrink-0 items-center justify-center rounded-full', s.pulse && 'animate-pulse'), style: {
|
|
35
|
+
width: size,
|
|
36
|
+
height: size,
|
|
37
|
+
backgroundColor: s.dot,
|
|
38
|
+
color: s.fg,
|
|
39
|
+
border: status === 'pending' ? '1.5px solid var(--wui-border-strong)' : 'none',
|
|
40
|
+
}, children: s.icon }));
|
|
41
|
+
}
|
|
42
|
+
// ─── Icons for folders / drill ───
|
|
43
|
+
const FOLDER = (_jsx("svg", { width: "15", height: "15", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("path", { d: "M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z" }) }));
|
|
44
|
+
const BRANCH = (_jsxs("svg", { width: "15", height: "15", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("line", { x1: "6", y1: "3", x2: "6", y2: "15" }), _jsx("circle", { cx: "18", cy: "6", r: "3" }), _jsx("circle", { cx: "6", cy: "18", r: "3" }), _jsx("path", { d: "M18 9a9 9 0 0 1-9 9" })] }));
|
|
45
|
+
const LOOP = (_jsxs("svg", { width: "15", height: "15", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "m17 2 4 4-4 4" }), _jsx("path", { d: "M3 11v-1a4 4 0 0 1 4-4h14" }), _jsx("path", { d: "m7 22-4-4 4-4" }), _jsx("path", { d: "M21 13v1a4 4 0 0 1-4 4H3" })] }));
|
|
46
|
+
const CHEVRON = (_jsx("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("polyline", { points: "9 18 15 12 9 6" }) }));
|
|
47
|
+
const BOLT = (_jsx("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("polygon", { points: "13 2 3 14 12 14 11 22 21 10 12 10 13 2" }) }));
|
|
48
|
+
function branchesOf(step, stepMeta) {
|
|
49
|
+
if (!step.config || typeof step.config !== 'object')
|
|
50
|
+
return {};
|
|
51
|
+
return detectBranchesFromConfig(step.config, stepMeta.get(step.type)?.configSchema);
|
|
52
|
+
}
|
|
53
|
+
function branchSections(step, stepMeta) {
|
|
54
|
+
const entries = Object.values(branchesOf(step, stepMeta));
|
|
55
|
+
if (stepMeta.get(step.type)?.branchModel === 'iterate') {
|
|
56
|
+
return [{ steps: entries[0]?.steps ?? [] }];
|
|
57
|
+
}
|
|
58
|
+
return entries.map((b) => ({ label: b.label, steps: b.steps }));
|
|
59
|
+
}
|
|
60
|
+
/** Worst-meaningful status across a subtree (recurses into branches). */
|
|
61
|
+
function rollup(steps, states, stepMeta) {
|
|
62
|
+
const acc = [];
|
|
63
|
+
const walk = (list) => {
|
|
64
|
+
for (const s of list) {
|
|
65
|
+
acc.push(states.get(s.id)?.status ?? 'pending');
|
|
66
|
+
for (const b of Object.values(branchesOf(s, stepMeta)))
|
|
67
|
+
walk(b.steps);
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
walk(steps);
|
|
71
|
+
if (acc.some((s) => s === 'failed'))
|
|
72
|
+
return 'failed';
|
|
73
|
+
if (acc.some((s) => s === 'running'))
|
|
74
|
+
return 'running';
|
|
75
|
+
if (acc.some((s) => s === 'paused'))
|
|
76
|
+
return 'paused';
|
|
77
|
+
if (acc.length > 0 && acc.every((s) => s === 'completed' || s === 'skipped')) {
|
|
78
|
+
return acc.every((s) => s === 'skipped') ? 'skipped' : 'completed';
|
|
79
|
+
}
|
|
80
|
+
return 'pending';
|
|
81
|
+
}
|
|
82
|
+
/** Resolve the current drill level (sections + breadcrumb) from the path by id. */
|
|
83
|
+
function resolveLevel(rootSteps, stepMeta, path) {
|
|
84
|
+
let sections = [{ steps: rootSteps }];
|
|
85
|
+
const crumbs = [{ label: 'Run' }];
|
|
86
|
+
let insideGroupId;
|
|
87
|
+
for (const d of path) {
|
|
88
|
+
const all = sections.flatMap((s) => s.steps);
|
|
89
|
+
if (d.kind === 'group') {
|
|
90
|
+
const members = all.filter((s) => s.groupId === d.id);
|
|
91
|
+
if (members.length === 0)
|
|
92
|
+
break;
|
|
93
|
+
sections = [{ steps: members }];
|
|
94
|
+
insideGroupId = d.id;
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
const step = all.find((s) => s.id === d.id);
|
|
98
|
+
if (!step)
|
|
99
|
+
break;
|
|
100
|
+
sections = branchSections(step, stepMeta);
|
|
101
|
+
insideGroupId = undefined;
|
|
102
|
+
}
|
|
103
|
+
crumbs.push({ label: d.label });
|
|
104
|
+
}
|
|
105
|
+
return { sections, crumbs, insideGroupId };
|
|
106
|
+
}
|
|
107
|
+
function stepRow(step, stepMeta) {
|
|
108
|
+
const meta = stepMeta.get(step.type);
|
|
109
|
+
const branchCount = Object.keys(branchesOf(step, stepMeta)).length;
|
|
110
|
+
return branchCount > 0 ? { kind: 'construct', step, meta, branchCount } : { kind: 'leaf', step, meta };
|
|
111
|
+
}
|
|
112
|
+
function buildRows(steps, groups, stepMeta, ignoreGroupId) {
|
|
113
|
+
const rows = [];
|
|
114
|
+
let i = 0;
|
|
115
|
+
while (i < steps.length) {
|
|
116
|
+
const step = steps[i];
|
|
117
|
+
const gid = step.groupId;
|
|
118
|
+
const group = gid && gid !== ignoreGroupId ? groups?.find((g) => g.id === gid) : undefined;
|
|
119
|
+
if (group) {
|
|
120
|
+
const members = [];
|
|
121
|
+
while (i < steps.length && steps[i].groupId === gid)
|
|
122
|
+
members.push(steps[i++]);
|
|
123
|
+
// A single-member group adds no value as a folder — float the member up
|
|
124
|
+
// so it's one click to its detail, not a drill into a one-item list.
|
|
125
|
+
if (members.length === 1)
|
|
126
|
+
rows.push(stepRow(members[0], stepMeta));
|
|
127
|
+
else
|
|
128
|
+
rows.push({ kind: 'group', group, members });
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
rows.push(stepRow(step, stepMeta));
|
|
132
|
+
i++;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
return rows;
|
|
136
|
+
}
|
|
137
|
+
const plural = (n) => `${String(n)} ${n === 1 ? 'step' : 'steps'}`;
|
|
138
|
+
// ─── Sidebar row ───
|
|
139
|
+
function SidebarRow({ status, icon, label, meta, drillable, active, onClick, }) {
|
|
140
|
+
return (_jsxs("button", { type: "button", onClick: onClick, title: label, className: cn('group flex w-full items-center gap-2.5 rounded-[var(--wui-radius)] px-2.5 py-2 text-left transition-colors', active
|
|
141
|
+
? 'bg-[color-mix(in_srgb,var(--wui-primary)_12%,transparent)] font-medium text-[var(--wui-primary)]'
|
|
142
|
+
: 'text-[var(--wui-fg)] hover:bg-[var(--wui-bg-subtle)]', status === 'skipped' && !active && 'opacity-55'), children: [_jsx(StatusDot, { status: status, size: 18 }), _jsx("span", { className: cn('flex h-[18px] w-[18px] shrink-0 items-center justify-center', !active && 'text-[var(--wui-fg-muted)]'), children: icon }), _jsx("span", { className: "min-w-0 flex-1 truncate text-[13px]", children: label }), meta && _jsx("span", { className: cn('shrink-0 text-[10.5px]', active ? 'text-[var(--wui-primary)]' : 'text-[var(--wui-fg-muted)]'), children: meta }), drillable && (_jsx("span", { className: cn('shrink-0 transition-transform group-hover:translate-x-0.5', active ? 'text-[var(--wui-primary)]' : 'text-[var(--wui-fg-muted)]'), children: CHEVRON }))] }));
|
|
143
|
+
}
|
|
144
|
+
// ─── Detail pane ───
|
|
145
|
+
function NoData() {
|
|
146
|
+
return _jsx("div", { className: "text-[12.5px] italic text-[var(--wui-fg-muted)]", children: "No data" });
|
|
147
|
+
}
|
|
148
|
+
/** A primitive value — long strings truncate with the full text on hover. */
|
|
149
|
+
function PrimitiveValue({ value, className }) {
|
|
150
|
+
if (value === null || value === undefined || value === '') {
|
|
151
|
+
return _jsx("span", { className: "text-[13.5px] italic text-[var(--wui-fg-muted)]", children: "No value" });
|
|
152
|
+
}
|
|
153
|
+
// Same renderer the approval uses: strings → MarkdownView (in a show-more
|
|
154
|
+
// Collapsible), scalars → formatted. Markdown + long text render correctly.
|
|
155
|
+
return _jsx(DisplayValue, { value: value, className: cn('text-[14px] text-[var(--wui-fg)]', className), maxClass: "max-h-72" });
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Render a record/array as approval-style labeled fields: top level is a stack
|
|
159
|
+
* of bordered field cards (muted label over the value, like ReviewDisplay's
|
|
160
|
+
* InfoRow); nested objects/arrays recurse as lighter indented rows; genuinely
|
|
161
|
+
* deep values fall back to a compact JSON block so we never wall-of-text.
|
|
162
|
+
*/
|
|
163
|
+
function Fields({ data, depth = 0 }) {
|
|
164
|
+
// Arrays: render each entry as its own clean card (objects) or bullet
|
|
165
|
+
// (primitives) — never numeric "1, 2, 3" labels.
|
|
166
|
+
if (Array.isArray(data)) {
|
|
167
|
+
if (data.length === 0)
|
|
168
|
+
return _jsx(NoData, {});
|
|
169
|
+
return (_jsx("div", { className: "flex flex-col gap-1.5", children: data.map((item, i) => {
|
|
170
|
+
if (isAttachment(item) || isAttachmentArray(item))
|
|
171
|
+
return _jsx(DisplayValue, { value: item }, i);
|
|
172
|
+
if (item !== null && typeof item === 'object') {
|
|
173
|
+
return (_jsx("div", { className: "rounded-[var(--wui-radius-sm)] border border-[color-mix(in_srgb,var(--wui-border)_70%,transparent)] px-3 py-2", children: _jsx(Fields, { data: item, depth: depth + 1 }) }, i));
|
|
174
|
+
}
|
|
175
|
+
return (_jsxs("div", { className: "flex items-start gap-2 py-0.5", children: [_jsx("span", { className: "mt-[7px] h-1 w-1 shrink-0 rounded-full bg-[var(--wui-fg-muted)]" }), _jsx(PrimitiveValue, { value: item, className: "min-w-0 flex-1 text-[13.5px]" })] }, i));
|
|
176
|
+
}) }));
|
|
177
|
+
}
|
|
178
|
+
const entries = Object.entries((data ?? {}));
|
|
179
|
+
if (entries.length === 0)
|
|
180
|
+
return _jsx(NoData, {});
|
|
181
|
+
return (_jsx("div", { className: depth === 0 ? 'space-y-2.5' : 'flex flex-col', children: entries.map(([k, v]) => (_jsx(FieldItem, { label: k, value: v, depth: depth }, k))) }));
|
|
182
|
+
}
|
|
183
|
+
/** A WAIT step's `display`: an array of { label, value } review rows. */
|
|
184
|
+
function isDisplayRows(v) {
|
|
185
|
+
return Array.isArray(v) && v.length > 0 && v.every((r) => !!r && typeof r === 'object' && !Array.isArray(r) && typeof r.label === 'string' && 'value' in r);
|
|
186
|
+
}
|
|
187
|
+
function FieldItem({ label, value, depth }) {
|
|
188
|
+
const isAtt = isAttachment(value) || isAttachmentArray(value);
|
|
189
|
+
const isDisplay = !isAtt && isDisplayRows(value);
|
|
190
|
+
const isObj = !isAtt && !isDisplay && value !== null && typeof value === 'object';
|
|
191
|
+
const isArr = isObj && Array.isArray(value);
|
|
192
|
+
// Pause display rows → the approval's ReviewDisplay (label → value cards, markdown).
|
|
193
|
+
if (isDisplay) {
|
|
194
|
+
const rows = _jsx(ReviewDisplay, { rows: value });
|
|
195
|
+
return depth === 0 ? rows : (_jsxs("div", { className: "border-b border-[color-mix(in_srgb,var(--wui-border)_55%,transparent)] py-1.5 last:border-0", children: [_jsx("div", { className: "mb-1.5 text-[12px] text-[var(--wui-fg-muted)]", children: label }), rows] }));
|
|
196
|
+
}
|
|
197
|
+
// Top level → the approval field card: a shaded header (label) over the value body.
|
|
198
|
+
if (depth === 0) {
|
|
199
|
+
return (_jsxs("div", { className: "overflow-hidden rounded-[var(--wui-radius-sm)] border border-[var(--wui-border)]", children: [_jsx("div", { className: cn('border-b border-[var(--wui-border)] bg-[var(--wui-bg-subtle)] px-3 py-2 text-[11px] text-[var(--wui-fg)]', isArr ? 'font-bold' : 'font-semibold'), children: label }), _jsx("div", { className: "px-3 py-2.5", children: isAtt ? _jsx(DisplayValue, { value: value }) : isObj ? _jsx(Fields, { data: value, depth: depth + 1 }) : _jsx(PrimitiveValue, { value: value }) })] }));
|
|
200
|
+
}
|
|
201
|
+
const rowBorder = 'border-b border-[color-mix(in_srgb,var(--wui-border)_55%,transparent)] py-1.5 last:border-0';
|
|
202
|
+
// Attachment (nested) → label + the shared file card (download + preview).
|
|
203
|
+
if (isAtt) {
|
|
204
|
+
return (_jsxs("div", { className: rowBorder, children: [_jsx("div", { className: "mb-1.5 text-[12px] text-[var(--wui-fg-muted)]", children: label }), _jsx(DisplayValue, { value: value })] }));
|
|
205
|
+
}
|
|
206
|
+
// Pathologically deep → compact JSON (rare; guards against runaway nesting).
|
|
207
|
+
if (isObj && depth >= 8) {
|
|
208
|
+
return (_jsxs("div", { className: rowBorder, children: [_jsx("div", { className: "mb-1 text-[12px] text-[var(--wui-fg-muted)]", children: label }), _jsx("pre", { className: "overflow-x-auto rounded-[var(--wui-radius-sm)] bg-[var(--wui-bg-subtle)] px-2 py-1.5 font-mono text-[11px] leading-relaxed text-[var(--wui-fg)]", children: JSON.stringify(value, null, 2) })] }));
|
|
209
|
+
}
|
|
210
|
+
// Nested object/array → label + sub-fields (objects indent; arrays use cards).
|
|
211
|
+
if (isObj) {
|
|
212
|
+
return (_jsxs("div", { className: rowBorder, children: [_jsx("div", { className: cn('mb-1 text-[12px]', isArr ? 'font-bold text-[var(--wui-fg)]' : 'font-medium text-[var(--wui-fg-muted)]'), children: label }), _jsx("div", { className: Array.isArray(value) ? 'mt-1' : 'border-l border-[var(--wui-border)] pl-3', children: _jsx(Fields, { data: value, depth: depth + 1 }) })] }));
|
|
213
|
+
}
|
|
214
|
+
// Nested primitive → a clean label → value row.
|
|
215
|
+
return (_jsxs("div", { className: cn('flex items-start gap-3', rowBorder), children: [_jsx("span", { className: "w-[140px] shrink-0 break-words text-[12px] text-[var(--wui-fg-muted)]", children: label }), _jsx(PrimitiveValue, { value: value, className: "min-w-0 flex-1 text-[13.5px]" })] }));
|
|
216
|
+
}
|
|
217
|
+
/** One side of the detail (Input or Output) — a section header + the fields. */
|
|
218
|
+
function IoSection({ title, data, hasData, className }) {
|
|
219
|
+
return (_jsxs("div", { className: cn('flex min-w-0 flex-1 flex-col', className), children: [_jsx("div", { className: "shrink-0 border-b border-[var(--wui-border)] px-4 py-2.5 text-[11px] font-semibold uppercase tracking-[0.09em] text-[var(--wui-fg-muted)]", children: title }), _jsx("div", { className: "min-h-0 flex-1 overflow-y-auto px-4 py-3 [scrollbar-width:thin]", children: hasData ? _jsx(Fields, { data: data }) : _jsx(NoData, {}) })] }));
|
|
220
|
+
}
|
|
221
|
+
// ─── Approval (pause / WAIT) steps — render like the Approvals screen ───
|
|
222
|
+
const NOOP = () => { };
|
|
223
|
+
/** A pause/approval step's input is a serialized PauseState (a form and/or display sections). */
|
|
224
|
+
function isPauseInput(v) {
|
|
225
|
+
if (!v || typeof v !== 'object')
|
|
226
|
+
return false;
|
|
227
|
+
const o = v;
|
|
228
|
+
const hasForm = !!o['form'] && typeof o['form'] === 'object' && Array.isArray(o['form'].fields);
|
|
229
|
+
return (hasForm || isDisplayRows(o['display'])) && (typeof o['reason'] === 'string' || typeof o['prompt'] === 'string' || 'mode' in o);
|
|
230
|
+
}
|
|
231
|
+
function DecisionBadge({ action }) {
|
|
232
|
+
const approve = /^(approve|accept|yes|confirm)/i.test(action);
|
|
233
|
+
const reject = /^(reject|deny|decline|no|abort)/i.test(action);
|
|
234
|
+
const color = approve ? 'var(--wui-status-completed)' : reject ? 'var(--wui-status-failed)' : 'var(--wui-status-paused)';
|
|
235
|
+
const label = approve ? 'Approved' : reject ? 'Rejected' : action.charAt(0).toUpperCase() + action.slice(1);
|
|
236
|
+
return (_jsxs("span", { className: "inline-flex items-center gap-1.5 rounded-full px-2.5 py-1 text-[12px] font-semibold", style: { color, backgroundColor: `color-mix(in srgb, ${color} 14%, transparent)` }, children: [_jsx("span", { className: "h-1.5 w-1.5 rounded-full", style: { backgroundColor: color } }), label] }));
|
|
237
|
+
}
|
|
238
|
+
/** The approval screen, read-only — reason/prompt, the review display, the form with the reviewer's submitted answers, and the decision. */
|
|
239
|
+
function ApprovalStepDetail({ input, output }) {
|
|
240
|
+
const reason = typeof input['reason'] === 'string' ? input['reason'] : undefined;
|
|
241
|
+
const prompt = typeof input['prompt'] === 'string' ? input['prompt'] : undefined;
|
|
242
|
+
const display = isDisplayRows(input['display']) ? input['display'] : undefined;
|
|
243
|
+
const form = input['form'] && typeof input['form'] === 'object' && Array.isArray(input['form'].fields)
|
|
244
|
+
? input['form'] : undefined;
|
|
245
|
+
const resume = output?.['resumeData'];
|
|
246
|
+
const action = typeof resume?.action === 'string' ? resume.action : undefined;
|
|
247
|
+
const submitted = (resume?.data && typeof resume.data === 'object' ? resume.data : {});
|
|
248
|
+
return (_jsxs("div", { className: "mt-5 min-h-0 flex-1 space-y-4 overflow-y-auto rounded-[var(--wui-radius-lg)] border border-[var(--wui-border)] px-5 py-4 [scrollbar-width:thin]", children: [action ? _jsx(DecisionBadge, { action: action }) : (_jsxs("div", { className: "inline-flex items-center gap-1.5 rounded-full bg-[color-mix(in_srgb,var(--wui-status-paused)_14%,transparent)] px-2.5 py-1 text-[12px] font-semibold text-[var(--wui-status-paused)]", children: [_jsx("span", { className: "h-1.5 w-1.5 rounded-full bg-[var(--wui-status-paused)]" }), "Awaiting decision \u2014 respond in the Approvals tab"] })), reason && _jsx(MarkdownView, { className: "text-[14px] font-medium text-[var(--wui-fg)]", children: reason }), prompt && _jsx(MarkdownView, { className: "text-[13px] text-[var(--wui-fg-muted)]", children: prompt }), display && _jsx(ReviewDisplay, { rows: display }), form && (_jsxs("div", { children: [_jsx("div", { className: "mb-2 text-[11px] font-semibold uppercase tracking-[0.09em] text-[var(--wui-fg-muted)]", children: "Reviewer response" }), _jsx(PauseFormRenderer, { form: form, values: submitted, onChange: NOOP, disabled: true })] }))] }));
|
|
249
|
+
}
|
|
250
|
+
function JourneyStepDetail({ state, title, description }) {
|
|
251
|
+
const status = state.status;
|
|
252
|
+
const hasInput = !!state.input && Object.keys(state.input).length > 0;
|
|
253
|
+
const hasOutput = !!state.output && Object.keys(state.output).length > 0;
|
|
254
|
+
const [layout, setLayout] = useState('tabs');
|
|
255
|
+
const [tab, setTab] = useState('output');
|
|
256
|
+
// Pending/un-run steps have no output yet — fall back to input so we never open an empty pane.
|
|
257
|
+
const showTab = tab === 'output' && !hasOutput ? 'input' : tab === 'input' && !hasInput ? 'output' : tab;
|
|
258
|
+
const pause = isPauseInput(state.input);
|
|
259
|
+
return (_jsxs("div", { className: "flex min-h-0 flex-1 flex-col px-6 py-5", children: [_jsxs("div", { className: "flex shrink-0 items-start gap-3", children: [_jsx(StatusDot, { status: status, size: 26 }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsxs("div", { className: "flex items-center gap-2.5", children: [_jsx("h2", { className: "truncate text-[17px] font-semibold text-[var(--wui-fg)]", children: title || state.stepName }), _jsx(StatusBadge, { status: status })] }), _jsx("div", { className: "mt-0.5 text-[12px] uppercase tracking-wide text-[var(--wui-fg-muted)]", children: state.stepType }), description && _jsx("p", { className: "mt-1.5 text-[13px] leading-snug text-[var(--wui-fg-muted)]", children: description })] }), !pause && (_jsx("div", { className: "flex shrink-0 items-center rounded-[var(--wui-radius-sm)] border border-[var(--wui-border)] p-0.5", children: ['split', 'tabs'].map((l) => (_jsx("button", { type: "button", onClick: () => setLayout(l), className: cn('rounded-[calc(var(--wui-radius-sm)-2px)] px-2.5 py-1 text-[12px] font-medium transition-colors', layout === l ? 'bg-[var(--wui-primary)] text-[var(--wui-primary-fg)]' : 'text-[var(--wui-fg-muted)] hover:text-[var(--wui-fg)]'), children: l === 'split' ? 'Side by side' : 'Tabs' }, l))) }))] }), state.error && (_jsxs("div", { className: "mt-4 shrink-0 rounded-[var(--wui-radius-lg)] border border-[var(--wui-status-failed)] bg-[color-mix(in_srgb,var(--wui-status-failed)_8%,transparent)] p-4", children: [_jsx("div", { className: "mb-1.5 text-[12px] font-semibold uppercase tracking-wide text-[var(--wui-status-failed)]", children: "Error" }), _jsx("pre", { className: "whitespace-pre-wrap font-mono text-[12px] leading-relaxed text-[var(--wui-status-failed)]", children: state.error })] })), pause ? (_jsx(ApprovalStepDetail, { input: state.input, output: state.output })) : layout === 'split' ? (_jsxs("div", { className: "mt-5 flex min-h-0 flex-1 overflow-hidden rounded-[var(--wui-radius-lg)] border border-[var(--wui-border)]", children: [_jsx(IoSection, { title: "Input", data: state.input, hasData: hasInput, className: "border-r border-[var(--wui-border)]" }), _jsx(IoSection, { title: "Output", data: state.output, hasData: hasOutput })] })) : (_jsxs("div", { className: "mt-5 flex min-h-0 flex-1 flex-col overflow-hidden rounded-[var(--wui-radius-lg)] border border-[var(--wui-border)]", children: [_jsx("div", { className: "flex shrink-0 gap-1 border-b border-[var(--wui-border)] px-2", children: ['input', 'output'].map((t) => {
|
|
260
|
+
const empty = t === 'input' ? !hasInput : !hasOutput;
|
|
261
|
+
return (_jsxs("button", { type: "button", disabled: empty, onClick: () => setTab(t), className: cn('relative px-3 py-2 text-[12px] font-medium capitalize transition-colors', empty
|
|
262
|
+
? 'cursor-not-allowed opacity-40'
|
|
263
|
+
: showTab === t ? 'text-[var(--wui-fg)]' : 'text-[var(--wui-fg-muted)] hover:text-[var(--wui-fg)]'), children: [t, showTab === t && _jsx("span", { className: "absolute inset-x-0 bottom-0 h-0.5 bg-[var(--wui-primary)]" })] }, t));
|
|
264
|
+
}) }), _jsx("div", { className: "min-h-0 flex-1 overflow-y-auto px-4 py-3 [scrollbar-width:thin]", children: showTab === 'input'
|
|
265
|
+
? (hasInput ? _jsx(Fields, { data: state.input }) : _jsx(NoData, {}))
|
|
266
|
+
: (hasOutput ? _jsx(Fields, { data: state.output }) : _jsx(NoData, {})) })] }))] }));
|
|
267
|
+
}
|
|
268
|
+
function EmptyDetail() {
|
|
269
|
+
return (_jsxs("div", { className: "flex h-full flex-col items-center justify-center gap-3 px-6 text-center text-[var(--wui-fg-muted)]", children: [_jsxs("svg", { width: "40", height: "40", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", className: "opacity-40", children: [_jsx("path", { d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" }), _jsx("polyline", { points: "14 2 14 8 20 8" }), _jsx("line", { x1: "9", y1: "13", x2: "15", y2: "13" }), _jsx("line", { x1: "9", y1: "17", x2: "13", y2: "17" })] }), _jsx("p", { className: "text-[13px]", children: "Select a step to view its details" })] }));
|
|
270
|
+
}
|
|
271
|
+
export function ExecutionJourney({ steps, stepMeta, stepStates, groups, selectedStepId, onStepClick, selectedStepState, selectedStepTitle, selectedStepDescription, triggerLabel, triggerIconName, triggerCompleted, isTriggerSelected, onTriggerClick, }) {
|
|
272
|
+
const [path, setPath] = useState([]);
|
|
273
|
+
const { sections, crumbs, insideGroupId } = useMemo(() => resolveLevel(steps, stepMeta, path), [steps, stepMeta, path]);
|
|
274
|
+
// Auto-select the first item of the current level so the detail is never empty.
|
|
275
|
+
useEffect(() => {
|
|
276
|
+
if (path.length === 0) {
|
|
277
|
+
onTriggerClick();
|
|
278
|
+
return;
|
|
279
|
+
}
|
|
280
|
+
const firstLeaf = sections.flatMap((s) => s.steps).find((s) => Object.keys(branchesOf(s, stepMeta)).length === 0);
|
|
281
|
+
if (firstLeaf)
|
|
282
|
+
onStepClick(firstLeaf.id);
|
|
283
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
284
|
+
}, [path]);
|
|
285
|
+
const renderRow = (row) => {
|
|
286
|
+
if (row.kind === 'group') {
|
|
287
|
+
return (_jsx(SidebarRow, { status: rollup(row.members, stepStates, stepMeta), icon: FOLDER, label: row.group.title, meta: plural(row.members.length), drillable: true, onClick: () => setPath((p) => [...p, { kind: 'group', id: row.group.id, label: row.group.title }]) }, `g-${row.group.id}`));
|
|
288
|
+
}
|
|
289
|
+
if (row.kind === 'construct') {
|
|
290
|
+
const label = row.step.title || row.meta?.name || row.step.type;
|
|
291
|
+
const status = stepStates.get(row.step.id)?.status ?? rollup([row.step], stepStates, stepMeta);
|
|
292
|
+
return (_jsx(SidebarRow, { status: status, icon: row.meta?.branchModel === 'iterate' ? LOOP : BRANCH, label: label, drillable: true, onClick: () => setPath((p) => [...p, { kind: 'construct', id: row.step.id, label }]) }, `c-${row.step.id}`));
|
|
293
|
+
}
|
|
294
|
+
const label = row.step.title || row.meta?.name || row.step.type;
|
|
295
|
+
return (_jsx(SidebarRow, { status: stepStates.get(row.step.id)?.status ?? 'pending', icon: getStepIcon(row.meta?.icon, { size: 14 }), label: label, active: selectedStepId === row.step.id, onClick: () => onStepClick(row.step.id) }, `l-${row.step.id}`));
|
|
296
|
+
};
|
|
297
|
+
return (_jsxs("div", { className: "flex min-h-0 flex-1 flex-col overflow-hidden bg-[var(--wui-bg)]", children: [_jsx("div", { className: "flex shrink-0 items-center gap-1 border-b border-[var(--wui-border)] px-5 py-2.5 text-[12px]", children: crumbs.map((c, i) => {
|
|
298
|
+
const last = i === crumbs.length - 1;
|
|
299
|
+
return (_jsxs("span", { className: "flex items-center gap-1", children: [i > 0 && _jsx("span", { className: "text-[var(--wui-fg-muted)]", children: "/" }), _jsx("button", { type: "button", disabled: last, onClick: () => setPath((p) => p.slice(0, i)), className: cn('rounded px-1 py-0.5 transition-colors', last ? 'font-semibold text-[var(--wui-fg)]' : 'text-[var(--wui-fg-muted)] hover:text-[var(--wui-primary)]'), children: c.label })] }, i));
|
|
300
|
+
}) }), _jsxs("div", { className: "flex min-h-0 flex-1 overflow-hidden", children: [_jsx("div", { className: "flex w-[300px] shrink-0 flex-col border-r border-[var(--wui-border)] bg-[var(--wui-bg-subtle)]", children: _jsxs("div", { className: "flex-1 overflow-y-auto px-2 py-2 [scrollbar-width:thin]", children: [path.length === 0 && (_jsx(SidebarRow, { status: triggerCompleted ? 'completed' : 'pending', icon: triggerIconName ? getStepIcon(triggerIconName, { size: 14 }) : BOLT, label: triggerLabel, meta: "Trigger", active: isTriggerSelected, onClick: onTriggerClick })), sections.map((section, si) => (_jsxs("div", { className: "flex flex-col", children: [section.label && (_jsxs("div", { className: "mt-2 flex items-center gap-2 px-2.5 pb-1 text-[10.5px] font-semibold uppercase tracking-wide text-[var(--wui-fg-muted)]", children: [_jsx("span", { className: "truncate", children: section.label }), _jsx("span", { className: "h-px flex-1 bg-[var(--wui-border)]" })] })), buildRows(section.steps, groups, stepMeta, insideGroupId).map(renderRow), section.steps.length === 0 && (_jsx("div", { className: "px-2.5 py-2 text-[12px] italic text-[var(--wui-fg-muted)]", children: "No steps" }))] }, si)))] }) }), _jsx("div", { className: "flex min-w-0 flex-1 flex-col overflow-hidden bg-[var(--wui-bg)]", children: selectedStepState ? (_jsx(JourneyStepDetail, { state: selectedStepState, title: selectedStepTitle, description: selectedStepDescription })) : (_jsx(EmptyDetail, {})) })] })] }));
|
|
301
|
+
}
|
|
302
|
+
//# sourceMappingURL=ExecutionJourney.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExecutionJourney.js","sourceRoot":"","sources":["../../../src/components/execution/ExecutionJourney.tsx"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,8 @@ export interface ExecutionViewerProps {
|
|
|
16
16
|
* still available but the user stays on the current execution.
|
|
17
17
|
*/
|
|
18
18
|
onRerunSuccess?: ((newExecutionId: string) => void) | undefined;
|
|
19
|
+
/** Back affordance shown in the header — returns to the list. */
|
|
20
|
+
onBack?: (() => void) | undefined;
|
|
19
21
|
}
|
|
20
|
-
export declare function ExecutionViewer({ executionId, workflowConfig, className, classNames, onCancel, onRerunSuccess, }: ExecutionViewerProps): import("react").JSX.Element;
|
|
22
|
+
export declare function ExecutionViewer({ executionId, workflowConfig, className, classNames, onCancel, onRerunSuccess, onBack, }: ExecutionViewerProps): import("react").JSX.Element;
|
|
21
23
|
//# sourceMappingURL=ExecutionViewer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecutionViewer.d.ts","sourceRoot":"","sources":["../../../src/components/execution/ExecutionViewer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAsB,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"ExecutionViewer.d.ts","sourceRoot":"","sources":["../../../src/components/execution/ExecutionViewer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAsB,MAAM,4BAA4B,CAAC;AAoBrF,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IAC5C,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,UAAU,CAAC,EAAE;QACX,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAClC,GAAG,SAAS,CAAC;IACd,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACvD;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAChE,iEAAiE;IACjE,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CACnC;AAED,wBAAgB,eAAe,CAAC,EAC9B,WAAW,EACX,cAAc,EACd,SAAS,EACT,UAAU,EACV,QAAQ,EACR,cAAc,EACd,MAAM,GACP,EAAE,oBAAoB,+BAgZtB"}
|
|
@@ -6,6 +6,7 @@ import { TriggerNode } from '../builder/v3/TriggerNode.js';
|
|
|
6
6
|
import { Connector } from '../builder/v3/Connector.js';
|
|
7
7
|
import { TerminalNode } from '../builder/v3/TerminalNode.js';
|
|
8
8
|
import { ExecutionTree } from './ExecutionTree.js';
|
|
9
|
+
import { ExecutionJourney } from './ExecutionJourney.js';
|
|
9
10
|
import { ExecutionHeader } from './ExecutionHeader.js';
|
|
10
11
|
import { StepDetailPanel } from './StepDetailPanel.js';
|
|
11
12
|
import { SummaryPanel } from './SummaryPanel.js';
|
|
@@ -15,9 +16,10 @@ import { cn } from '../shared/cn.js';
|
|
|
15
16
|
import { useOriginInspector, OriginPanel } from './origin/OriginTrace.js';
|
|
16
17
|
import {} from './origin/origin-resolver.js';
|
|
17
18
|
const TRIGGER_ID = '__trigger__';
|
|
18
|
-
export function ExecutionViewer({ executionId, workflowConfig, className, classNames, onCancel, onRerunSuccess, }) {
|
|
19
|
+
export function ExecutionViewer({ executionId, workflowConfig, className, classNames, onCancel, onRerunSuccess, onBack, }) {
|
|
19
20
|
const viewer = useExecutionViewer({ executionId });
|
|
20
21
|
const [selectedStepId, setSelectedStepId] = useState(null);
|
|
22
|
+
const [viewMode, setViewMode] = useState('journey');
|
|
21
23
|
const [rerunStepId, setRerunStepId] = useState(null);
|
|
22
24
|
// Summary side panel — open by default, dismissible, reopened from the header.
|
|
23
25
|
const [showSummary, setShowSummary] = useState(true);
|
|
@@ -217,7 +219,7 @@ export function ExecutionViewer({ executionId, workflowConfig, className, classN
|
|
|
217
219
|
setShowSummary((s) => !s);
|
|
218
220
|
}
|
|
219
221
|
};
|
|
220
|
-
return (_jsxs("div", { className: cn('flex h-full flex-col', classNames?.root, className), children: [_jsx(ExecutionHeader, { executionId: executionId, status: viewer.status, name: viewer.execution?.name, hasSummary: !!summary, summaryOpen: summaryPanelOpen, onToggleSummary: handleToggleSummary, className: classNames?.header, onCancel: onCancel ? () => onCancel(executionId) : undefined }), _jsxs("div", { className: "relative flex flex-1 overflow-hidden", children: [_jsx("div", { ref: canvasRef, className: cn('relative flex-1 overflow-auto cursor-grab select-none', classNames?.canvas), onPointerDown: handlePointerDown, onPointerMove: handlePointerMove, onPointerUp: handlePointerUp, onClick: (e) => {
|
|
222
|
+
return (_jsxs("div", { className: cn('flex h-full flex-col', classNames?.root, className), children: [_jsx(ExecutionHeader, { executionId: executionId, status: viewer.status, name: viewer.execution?.name, hasSummary: !!summary, summaryOpen: summaryPanelOpen, onToggleSummary: handleToggleSummary, viewMode: viewMode, onViewModeChange: setViewMode, className: classNames?.header, onCancel: onCancel ? () => onCancel(executionId) : undefined, onBack: onBack }), _jsxs("div", { className: "relative flex flex-1 overflow-hidden", children: [viewMode === 'journey' ? (_jsx("div", { className: "flex min-w-0 flex-1 overflow-hidden", children: _jsx(ExecutionJourney, { steps: effectiveConfig.steps, stepMeta: stepMeta, stepStates: viewer.stepStates, groups: effectiveConfig.groups, selectedStepId: selectedStepId, onStepClick: setSelectedStepId, selectedStepState: selectedStepState, selectedStepTitle: selectedStepId ? stepConfigMap.get(selectedStepId)?.title : undefined, selectedStepDescription: selectedStepId ? stepConfigMap.get(selectedStepId)?.description : undefined, triggerLabel: triggerInfo?.name ?? effectiveConfig.trigger.type, triggerIconName: triggerInfo?.icon, triggerCompleted: triggerCompleted, isTriggerSelected: isTriggerSelected, onTriggerClick: handleTriggerClick }, executionId) })) : (_jsx("div", { ref: canvasRef, className: cn('relative flex-1 overflow-auto cursor-grab select-none', classNames?.canvas), onPointerDown: handlePointerDown, onPointerMove: handlePointerMove, onPointerUp: handlePointerUp, onClick: (e) => {
|
|
221
223
|
if (e.target === e.currentTarget)
|
|
222
224
|
handleCanvasClick();
|
|
223
225
|
}, children: _jsx("div", { className: "min-h-full min-w-full p-12", style: {
|
|
@@ -226,14 +228,14 @@ export function ExecutionViewer({ executionId, workflowConfig, className, classN
|
|
|
226
228
|
}, onClick: (e) => {
|
|
227
229
|
if (e.target === e.currentTarget)
|
|
228
230
|
handleCanvasClick();
|
|
229
|
-
}, children: _jsxs("div", { className: "mx-auto flex flex-col items-center origin-top transition-transform duration-150", style: { transform: `scale(${zoom})` }, children: [_jsxs("div", { className: "relative", children: [_jsx(TriggerNode, { label: triggerInfo?.name ?? effectiveConfig.trigger.type, icon: triggerInfo?.icon, isSelected: isTriggerSelected, isConfigured: true, onClick: handleTriggerClick }), triggerCompleted && (_jsx("span", { className: "absolute -bottom-1 left-3 flex h-5 w-5 items-center justify-center rounded-full bg-emerald-500 ring-2 ring-white", children: _jsx("svg", { width: "10", height: "10", viewBox: "0 0 24 24", fill: "none", stroke: "white", strokeWidth: "3.5", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("polyline", { points: "20 6 9 17 4 12" }) }) }))] }), _jsx(Connector, {}), effectiveConfig.steps.length > 0 && (_jsxs(_Fragment, { children: [_jsx(ExecutionTree, { steps: effectiveConfig.steps, stepMeta: stepMeta, stepStates: viewer.stepStates, selectedStepId: selectedStepId, onStepClick: setSelectedStepId, groups: effectiveConfig.groups, stepEvents: viewer.stepEvents }), _jsx(Connector, {})] })), _jsx(TerminalNode, {})] }) }) }), stepPanelOpen ? (_jsx(StepDetailPanel, { stepState: selectedStepState, executionId: executionId, stepTitle: stepConfigMap.get(selectedStepId)?.title, stepDescription: stepConfigMap.get(selectedStepId)?.description, onClose: () => setSelectedStepId(null), onResumed: viewer.refetch, outputSchema: (() => {
|
|
231
|
+
}, children: _jsxs("div", { className: "mx-auto flex flex-col items-center origin-top transition-transform duration-150", style: { transform: `scale(${zoom})` }, children: [_jsxs("div", { className: "relative", children: [_jsx(TriggerNode, { label: triggerInfo?.name ?? effectiveConfig.trigger.type, icon: triggerInfo?.icon, isSelected: isTriggerSelected, isConfigured: true, onClick: handleTriggerClick }), triggerCompleted && (_jsx("span", { className: "absolute -bottom-1 left-3 flex h-5 w-5 items-center justify-center rounded-full bg-emerald-500 ring-2 ring-white", children: _jsx("svg", { width: "10", height: "10", viewBox: "0 0 24 24", fill: "none", stroke: "white", strokeWidth: "3.5", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("polyline", { points: "20 6 9 17 4 12" }) }) }))] }), _jsx(Connector, {}), effectiveConfig.steps.length > 0 && (_jsxs(_Fragment, { children: [_jsx(ExecutionTree, { steps: effectiveConfig.steps, stepMeta: stepMeta, stepStates: viewer.stepStates, selectedStepId: selectedStepId, onStepClick: setSelectedStepId, groups: effectiveConfig.groups, stepEvents: viewer.stepEvents }), _jsx(Connector, {})] })), _jsx(TerminalNode, {})] }) }) })), viewMode === 'graph' && (stepPanelOpen ? (_jsx(StepDetailPanel, { stepState: selectedStepState, executionId: executionId, stepTitle: stepConfigMap.get(selectedStepId)?.title, stepDescription: stepConfigMap.get(selectedStepId)?.description, onClose: () => setSelectedStepId(null), onResumed: viewer.refetch, outputSchema: (() => {
|
|
230
232
|
const config = stepConfigMap.get(selectedStepId);
|
|
231
233
|
if (!config)
|
|
232
234
|
return undefined;
|
|
233
235
|
return stepMeta.get(config.type)?.outputSchema;
|
|
234
236
|
})(), onRerun: selectedStepId !== TRIGGER_ID && stepConfigMap.has(selectedStepId)
|
|
235
237
|
? (stepId) => setRerunStepId(stepId)
|
|
236
|
-
: undefined, canRerun: canRerun, width: panelWidth, onWidthChange: setPanelWidth, className: classNames?.detailPanel, liveEvents: viewer.stepEvents.get(selectedStepState.stepName), rawConfig: selectedRawConfig, citations: selectedCitations, onInspectOrigin: originInspector.open })) : summaryPanelOpen ? (_jsx(SummaryPanel, { name: viewer.execution?.name, summary: summary, onClose: () => setShowSummary(false), width: panelWidth, onWidthChange: setPanelWidth, className: classNames?.detailPanel })) : null, _jsx(OriginPanel, { inspected: originInspector.inspected, ctx: originCtx, onClose: originInspector.close, width: originPanelWidth, onWidthChange: setOriginPanelWidth })] }), rerunStepId && (_jsx(RerunDialog, { executionId: executionId, fromStepId: rerunStepId, fromStepLabel: rerunStepLabel, originalInput: rerunOriginalInput, onClose: () => setRerunStepId(null), onSuccess: (newId) => {
|
|
238
|
+
: undefined, canRerun: canRerun, width: panelWidth, onWidthChange: setPanelWidth, className: classNames?.detailPanel, liveEvents: viewer.stepEvents.get(selectedStepState.stepName), rawConfig: selectedRawConfig, citations: selectedCitations, onInspectOrigin: originInspector.open })) : summaryPanelOpen ? (_jsx(SummaryPanel, { name: viewer.execution?.name, summary: summary, onClose: () => setShowSummary(false), width: panelWidth, onWidthChange: setPanelWidth, className: classNames?.detailPanel })) : null), viewMode === 'graph' && (_jsx(OriginPanel, { inspected: originInspector.inspected, ctx: originCtx, onClose: originInspector.close, width: originPanelWidth, onWidthChange: setOriginPanelWidth }))] }), rerunStepId && (_jsx(RerunDialog, { executionId: executionId, fromStepId: rerunStepId, fromStepLabel: rerunStepLabel, originalInput: rerunOriginalInput, onClose: () => setRerunStepId(null), onSuccess: (newId) => {
|
|
237
239
|
onRerunSuccess?.(newId);
|
|
238
240
|
} }))] }));
|
|
239
241
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecutionViewer.js","sourceRoot":"","sources":["../../../src/components/execution/ExecutionViewer.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ExecutionViewer.js","sourceRoot":"","sources":["../../../src/components/execution/ExecutionViewer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MarkdownView.d.ts","sourceRoot":"","sources":["../../../src/components/shared/MarkdownView.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MarkdownView.d.ts","sourceRoot":"","sources":["../../../src/components/shared/MarkdownView.tsx"],"names":[],"mappings":"AAOA,MAAM,WAAW,iBAAiB;IAChC,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC5B;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,iBAAiB,+BA4D5E"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import ReactMarkdown from 'react-markdown';
|
|
3
3
|
import remarkGfm from 'remark-gfm';
|
|
4
|
+
import rehypeRaw from 'rehype-raw';
|
|
5
|
+
import rehypeSanitize from 'rehype-sanitize';
|
|
4
6
|
import { cn } from './cn.js';
|
|
5
7
|
import { JsonView, tryParseJson } from './JsonView.js';
|
|
6
8
|
/**
|
|
@@ -10,7 +12,7 @@ import { JsonView, tryParseJson } from './JsonView.js';
|
|
|
10
12
|
* it works without a Tailwind typography plugin.
|
|
11
13
|
*/
|
|
12
14
|
export function MarkdownView({ children, className, bare }) {
|
|
13
|
-
return (_jsx("div", { className: cn('wui-markdown min-w-0 max-w-full', !bare && 'text-[13px] leading-relaxed text-[var(--wui-fg)]', className), children: _jsx(ReactMarkdown, { remarkPlugins: [remarkGfm], components: {
|
|
15
|
+
return (_jsx("div", { className: cn('wui-markdown min-w-0 max-w-full', !bare && 'text-[13px] leading-relaxed text-[var(--wui-fg)]', className), children: _jsx(ReactMarkdown, { remarkPlugins: [remarkGfm], rehypePlugins: [rehypeRaw, rehypeSanitize], components: {
|
|
14
16
|
h1: ({ node: _n, ...p }) => _jsx("h1", { className: "mb-2.5 mt-4 border-b border-[var(--wui-border)] pb-1.5 text-[15px] font-semibold text-[var(--wui-fg)] first:mt-0", ...p }),
|
|
15
17
|
h2: ({ node: _n, ...p }) => _jsx("h2", { className: "mb-2 mt-4 border-b border-[var(--wui-border)] pb-1 text-[13.5px] font-semibold text-[var(--wui-fg)] first:mt-0", ...p }),
|
|
16
18
|
h3: ({ node: _n, ...p }) => _jsx("h3", { className: "mb-1.5 mt-3 text-[12.5px] font-semibold text-[var(--wui-fg)] first:mt-0", ...p }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MarkdownView.js","sourceRoot":"","sources":["../../../src/components/shared/MarkdownView.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MarkdownView.js","sourceRoot":"","sources":["../../../src/components/shared/MarkdownView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
1
2
|
import { type FolderCrumb } from './WorkflowBrowser.js';
|
|
2
3
|
export type WorkflowHomeTab = 'workflows' | 'executions' | 'approvals';
|
|
3
4
|
export interface WorkflowHomeProps {
|
|
@@ -9,6 +10,10 @@ export interface WorkflowHomeProps {
|
|
|
9
10
|
onToast?: (kind: 'success' | 'error', message: string) => void;
|
|
10
11
|
/** Which tab opens first. */
|
|
11
12
|
defaultTab?: WorkflowHomeTab;
|
|
13
|
+
/** When provided, fills the content area (below the tab bar) instead of the active tab. */
|
|
14
|
+
detailView?: ReactNode | undefined;
|
|
15
|
+
/** Called when a tab is clicked while a detailView is open, so the host can close it. */
|
|
16
|
+
onLeaveDetail?: (() => void) | undefined;
|
|
12
17
|
className?: string;
|
|
13
18
|
}
|
|
14
19
|
/**
|
|
@@ -18,5 +23,5 @@ export interface WorkflowHomeProps {
|
|
|
18
23
|
* pending-approval count surfaces as a badge on the Approvals tab rather
|
|
19
24
|
* than an in-list banner.
|
|
20
25
|
*/
|
|
21
|
-
export declare function WorkflowHome({ path, onPathChange, onSelectWorkflow, onViewRun, onToast, defaultTab, className, }: WorkflowHomeProps): import("react").JSX.Element;
|
|
26
|
+
export declare function WorkflowHome({ path, onPathChange, onSelectWorkflow, onViewRun, onToast, defaultTab, detailView, onLeaveDetail, className, }: WorkflowHomeProps): import("react").JSX.Element;
|
|
22
27
|
//# sourceMappingURL=WorkflowHome.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowHome.d.ts","sourceRoot":"","sources":["../../../src/components/workflows/WorkflowHome.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WorkflowHome.d.ts","sourceRoot":"","sources":["../../../src/components/workflows/WorkflowHome.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAMzE,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,YAAY,GAAG,WAAW,CAAC;AAEvE,MAAM,WAAW,iBAAiB;IAChC,kFAAkF;IAClF,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,YAAY,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC;IAC5C,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC;IACpE,SAAS,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/D,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/D,6BAA6B;IAC7B,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,2FAA2F;IAC3F,UAAU,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACnC,yFAAyF;IACzF,aAAa,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAQD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,OAAO,EACP,UAAwB,EACxB,UAAU,EACV,aAAa,EACb,SAAS,GACV,EAAE,iBAAiB,+BA4EnB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import { WorkflowBrowser } from './WorkflowBrowser.js';
|
|
4
4
|
import { RunsView } from '../runs/RunsView.js';
|
|
@@ -17,7 +17,7 @@ const TABS = [
|
|
|
17
17
|
* pending-approval count surfaces as a badge on the Approvals tab rather
|
|
18
18
|
* than an in-list banner.
|
|
19
19
|
*/
|
|
20
|
-
export function WorkflowHome({ path, onPathChange, onSelectWorkflow, onViewRun, onToast, defaultTab = 'workflows', className, }) {
|
|
20
|
+
export function WorkflowHome({ path, onPathChange, onSelectWorkflow, onViewRun, onToast, defaultTab = 'workflows', detailView, onLeaveDetail, className, }) {
|
|
21
21
|
const [tab, setTab] = useState(defaultTab);
|
|
22
22
|
const polledCount = useApprovalCount();
|
|
23
23
|
const [liveCount, setLiveCount] = useState(null);
|
|
@@ -25,9 +25,10 @@ export function WorkflowHome({ path, onPathChange, onSelectWorkflow, onViewRun,
|
|
|
25
25
|
return (_jsxs("div", { className: cn('flex h-full min-h-0 flex-col bg-[var(--wui-bg)]', className), children: [_jsx("div", { role: "tablist", "aria-label": "Workflow sections", className: "flex shrink-0 items-center gap-1 border-b border-[var(--wui-border)] px-4", children: TABS.map(({ key, label }) => {
|
|
26
26
|
const active = tab === key;
|
|
27
27
|
const showBadge = key === 'approvals' && approvalCount > 0;
|
|
28
|
-
return (_jsxs("button", { type: "button", role: "tab", "aria-selected": active, onClick: () =>
|
|
28
|
+
return (_jsxs("button", { type: "button", role: "tab", "aria-selected": active, onClick: () => { if (detailView)
|
|
29
|
+
onLeaveDetail?.(); setTab(key); }, className: cn('relative -mb-px flex items-center gap-2 border-b-2 px-3 py-3 text-[13px] font-medium transition-colors', active
|
|
29
30
|
? 'border-[var(--wui-primary)] text-[var(--wui-fg)]'
|
|
30
31
|
: 'border-transparent text-[var(--wui-fg-muted)] hover:text-[var(--wui-fg)]'), children: [label, showBadge && (_jsx("span", { className: "flex h-[18px] min-w-[18px] items-center justify-center rounded-full bg-[var(--wui-primary)] px-1.5 text-[11px] font-semibold leading-none text-[var(--wui-primary-fg)]", "aria-label": `${approvalCount} pending`, children: approvalCount > 99 ? '99+' : approvalCount }))] }, key));
|
|
31
|
-
}) }),
|
|
32
|
+
}) }), _jsx("div", { className: "min-h-0 flex-1", children: detailView ?? (_jsxs(_Fragment, { children: [tab === 'workflows' && (_jsx(WorkflowBrowser, { className: "h-full", hideApprovals: true, path: path, onPathChange: onPathChange, onSelectWorkflow: onSelectWorkflow, onViewRun: onViewRun, ...(onToast ? { onToast } : {}) })), tab === 'executions' && (_jsx(RunsView, { className: "h-full", onSelectExecution: (id) => onViewRun(id, 'Execution') })), tab === 'approvals' && (_jsx(ApprovalsView, { className: "h-full", onViewRun: onViewRun, onCountChange: setLiveCount }))] })) })] }));
|
|
32
33
|
}
|
|
33
34
|
//# sourceMappingURL=WorkflowHome.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowHome.js","sourceRoot":"","sources":["../../../src/components/workflows/WorkflowHome.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"WorkflowHome.js","sourceRoot":"","sources":["../../../src/components/workflows/WorkflowHome.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,eAAe,EAAoB,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAoBrC,MAAM,IAAI,GAA2D;IACnE,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;IACxC,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;IAC1C,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;CACzC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,EAC3B,IAAI,EACJ,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,OAAO,EACP,UAAU,GAAG,WAAW,EACxB,UAAU,EACV,aAAa,EACb,SAAS,GACS;IAClB,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAkB,UAAU,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,gBAAgB,EAAE,CAAC;IACvC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAChE,MAAM,aAAa,GAAG,SAAS,IAAI,WAAW,CAAC;IAE/C,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,iDAAiD,EAAE,SAAS,CAAC,aAC9E,cACE,IAAI,EAAC,SAAS,gBACH,mBAAmB,EAC9B,SAAS,EAAC,2EAA2E,YAEpF,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;oBAC3B,MAAM,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC;oBAC3B,MAAM,SAAS,GAAG,GAAG,KAAK,WAAW,IAAI,aAAa,GAAG,CAAC,CAAC;oBAC3D,OAAO,CACL,kBAEE,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,KAAK,mBACK,MAAM,EACrB,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,UAAU;4BAAE,aAAa,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAClE,SAAS,EAAE,EAAE,CACX,wGAAwG,EACxG,MAAM;4BACJ,CAAC,CAAC,kDAAkD;4BACpD,CAAC,CAAC,0EAA0E,CAC/E,aAEA,KAAK,EACL,SAAS,IAAI,CACZ,eACE,SAAS,EAAC,wKAAwK,gBACtK,GAAG,aAAa,UAAU,YAErC,aAAa,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,GACtC,CACR,KApBI,GAAG,CAqBD,CACV,CAAC;gBACJ,CAAC,CAAC,GACE,EAEN,cAAK,SAAS,EAAC,gBAAgB,YAC5B,UAAU,IAAI,CACb,8BACG,GAAG,KAAK,WAAW,IAAI,CACtB,KAAC,eAAe,IACd,SAAS,EAAC,QAAQ,EAClB,aAAa,QACb,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,SAAS,KAChB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAChC,CACH,EACA,GAAG,KAAK,YAAY,IAAI,CACvB,KAAC,QAAQ,IACP,SAAS,EAAC,QAAQ,EAClB,iBAAiB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,WAAW,CAAC,GACrD,CACH,EACA,GAAG,KAAK,WAAW,IAAI,CACtB,KAAC,aAAa,IACZ,SAAS,EAAC,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,YAAY,GAC3B,CACH,IACA,CACJ,GACG,IACF,CACP,CAAC;AACJ,CAAC"}
|
package/dist/styles.css
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
|
|
2
2
|
|
|
3
|
-
/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-1{bottom:-.25rem}.-left-2{left:-.5rem}.-right-1{right:-.25rem}.-top-1{top:-.25rem}.-top-2{top:-.5rem}.-top-3{top:-.75rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.bottom-6{bottom:1.5rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:.5rem}.left-2\.5{left:.625rem}.left-3{left:.75rem}.left-4{left:1rem}.right-0{right:0}.right-1\.5{right:.375rem}.right-2{right:.5rem}.right-3{right:.75rem}.top-0{top:0}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-3{top:.75rem}.top-4{top:1rem}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.m-0{margin:0}.m-auto{margin:auto}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1\.5{margin-top:.375rem;margin-bottom:.375rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-2\.5{margin-top:.625rem;margin-bottom:.625rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-px{margin-bottom:-1px}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-2\.5{margin-bottom:.625rem}.mb-3{margin-bottom:.75rem}.mb-3\.5{margin-bottom:.875rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.ml-0{margin-left:0}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-3{margin-left:.75rem}.ml-\[0\.34rem\]{margin-left:.34rem}.ml-auto{margin-left:auto}.mr-0\.5{margin-right:.125rem}.mr-auto{margin-right:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-\[3px\]{margin-top:3px}.mt-auto{margin-top:auto}.mt-px{margin-top:1px}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.size-3\.5{width:.875rem;height:.875rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-8{width:2rem;height:2rem}.h-0\.5{height:.125rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-40{height:10rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-52{height:13rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[18px\]{height:18px}.h-\[2px\]{height:2px}.h-\[40vh\]{height:40vh}.h-\[45vh\]{height:45vh}.h-\[72vh\]{height:72vh}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-32{max-height:8rem}.max-h-40{max-height:10rem}.max-h-48{max-height:12rem}.max-h-56{max-height:14rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-\[120px\]{max-height:120px}.max-h-\[28rem\]{max-height:28rem}.max-h-\[360px\]{max-height:360px}.max-h-\[52vh\]{max-height:52vh}.max-h-\[60vh\]{max-height:60vh}.max-h-\[660px\]{max-height:660px}.max-h-\[72vh\]{max-height:72vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[88vh\]{max-height:88vh}.max-h-full{max-height:100%}.min-h-0{min-height:0}.min-h-\[1\.875rem\]{min-height:1.875rem}.min-h-\[16px\]{min-height:16px}.min-h-\[2\.25rem\]{min-height:2.25rem}.min-h-\[200px\]{min-height:200px}.min-h-\[30vh\]{min-height:30vh}.min-h-\[45vh\]{min-height:45vh}.min-h-\[7rem\]{min-height:7rem}.min-h-full{min-height:100%}.w-0\.5{width:.125rem}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-\[140px\]{width:140px}.w-\[15px\]{width:15px}.w-\[18px\]{width:18px}.w-\[280px\]{width:280px}.w-\[38\%\]{width:38%}.w-\[3px\]{width:3px}.w-\[92px\]{width:92px}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.min-w-0{min-width:0}.min-w-\[1\.25rem\]{min-width:1.25rem}.min-w-\[100px\]{min-width:100px}.min-w-\[110px\]{min-width:110px}.min-w-\[16px\]{min-width:16px}.min-w-\[180px\]{min-width:180px}.min-w-\[18px\]{min-width:18px}.min-w-\[80px\]{min-width:80px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-7xl{max-width:80rem}.max-w-\[220px\]{max-width:220px}.max-w-\[24ch\]{max-width:24ch}.max-w-\[280px\]{max-width:280px}.max-w-\[420px\]{max-width:420px}.max-w-\[50\%\]{max-width:50%}.max-w-\[85\%\]{max-width:85%}.max-w-\[8rem\]{max-width:8rem}.max-w-\[920px\]{max-width:920px}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.origin-top{transform-origin:top}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.translate-y-1{--tw-translate-y:0.25rem}.-rotate-90,.translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate:-90deg}.rotate-180{--tw-rotate:180deg}.rotate-180,.rotate-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-\[wui-fade-in_150ms_ease-out\]{animation:wui-fade-in .15s ease-out}.animate-\[wui-fade-in_200ms_ease-out\]{animation:wui-fade-in .2s ease-out}.animate-\[wui-pulse_var\(--wui-pulse-duration\)_ease-in-out_infinite\]{animation:wui-pulse var(--wui-pulse-duration) ease-in-out infinite}.animate-\[wui-scale-in_150ms_ease-out\]{animation:wui-scale-in .15s ease-out}.animate-\[wui-scale-in_180ms_ease-out\]{animation:wui-scale-in .18s ease-out}.animate-\[wui-spin_1s_linear_infinite\]{animation:wui-spin 1s linear infinite}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[2fr_1fr_1fr_1fr\]{grid-template-columns:2fr 1fr 1fr 1fr}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-3\.5{gap:.875rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-y-2{row-gap:.5rem}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.625rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem*var(--tw-space-y-reverse))}.space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1px*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-\[color-mix\(in_srgb\2c var\(--wui-status-completed\)_20\%\2c transparent\)\]>:not([hidden])~:not([hidden]){border-color:color-mix(in srgb,var(--wui-status-completed) 20%,transparent)}.divide-border>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:hsl(var(--border)/var(--tw-divide-opacity,1))}.divide-slate-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(241 245 249/var(--tw-divide-opacity,1))}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;white-space:nowrap}.text-ellipsis,.truncate{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[4px\]{border-radius:4px}.rounded-\[5px\]{border-radius:5px}.rounded-\[var\(--wui-control-radius\)\]{border-radius:var(--wui-control-radius)}.rounded-\[var\(--wui-pill-radius\)\]{border-radius:var(--wui-pill-radius)}.rounded-\[var\(--wui-radius\)\]{border-radius:var(--wui-radius)}.rounded-\[var\(--wui-radius-sm\)\]{border-radius:var(--wui-radius-sm)}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-l-\[2rem\]{border-top-left-radius:2rem;border-bottom-left-radius:2rem}.rounded-r-xl{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}.rounded-bl-sm{border-bottom-left-radius:.125rem}.rounded-br-sm{border-bottom-right-radius:.125rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-0{border-left-width:0}.border-l-2{border-left-width:2px}.border-l-\[3px\]{border-left-width:3px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-t-0{border-top-width:0}.border-t-2{border-top-width:2px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-\[color-mix\(in_srgb\2c var\(--wui-fg\)_16\%\2c transparent\)\]{border-color:color-mix(in srgb,var(--wui-fg) 16%,transparent)}.border-\[var\(--wui-border\)\]{border-color:var(--wui-border)}.border-\[var\(--wui-border-strong\)\]{border-color:var(--wui-border-strong)}.border-\[var\(--wui-control-border\)\]{border-color:var(--wui-control-border)}.border-\[var\(--wui-primary\)\]{border-color:var(--wui-primary)}.border-\[var\(--wui-status-completed\)\]{border-color:var(--wui-status-completed)}.border-\[var\(--wui-status-failed\)\]{border-color:var(--wui-status-failed)}.border-\[var\(--wui-status-paused\)\]{border-color:var(--wui-status-paused)}.border-amber-100{--tw-border-opacity:1;border-color:rgb(254 243 199/var(--tw-border-opacity,1))}.border-amber-100\/80{border-color:hsla(48,96%,89%,.8)}.border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-amber-200\/80{border-color:hsla(48,97%,77%,.8)}.border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.border-blue-100\/80{border-color:rgba(219,234,254,.8)}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-200\/80{border-color:rgba(191,219,254,.8)}.border-border{--tw-border-opacity:1;border-color:hsl(var(--border)/var(--tw-border-opacity,1))}.border-emerald-100{--tw-border-opacity:1;border-color:rgb(209 250 229/var(--tw-border-opacity,1))}.border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.border-emerald-300{--tw-border-opacity:1;border-color:rgb(110 231 183/var(--tw-border-opacity,1))}.border-indigo-100{--tw-border-opacity:1;border-color:rgb(224 231 255/var(--tw-border-opacity,1))}.border-indigo-200{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.border-indigo-300{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.border-indigo-400{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.border-indigo-500{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.border-red-100{--tw-border-opacity:1;border-color:rgb(254 226 226/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-red-200\/60{border-color:hsla(0,96%,89%,.6)}.border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.border-ring{--tw-border-opacity:1;border-color:hsl(var(--ring)/var(--tw-border-opacity,1))}.border-ring\/50{border-color:hsl(var(--ring)/.5)}.border-ring\/60{border-color:hsl(var(--ring)/.6)}.border-rose-100{--tw-border-opacity:1;border-color:rgb(255 228 230/var(--tw-border-opacity,1))}.border-rose-300{--tw-border-opacity:1;border-color:rgb(253 164 175/var(--tw-border-opacity,1))}.border-sky-100{--tw-border-opacity:1;border-color:rgb(224 242 254/var(--tw-border-opacity,1))}.border-sky-300{--tw-border-opacity:1;border-color:rgb(125 211 252/var(--tw-border-opacity,1))}.border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-slate-200\/80{border-color:rgba(226,232,240,.8)}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.border-slate-400{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity,1))}.border-slate-700\/40{border-color:rgba(51,65,85,.4)}.border-slate-700\/50{border-color:rgba(51,65,85,.5)}.border-teal-300{--tw-border-opacity:1;border-color:rgb(94 234 212/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-violet-100{--tw-border-opacity:1;border-color:rgb(237 233 254/var(--tw-border-opacity,1))}.border-violet-200{--tw-border-opacity:1;border-color:rgb(221 214 254/var(--tw-border-opacity,1))}.border-violet-300{--tw-border-opacity:1;border-color:rgb(196 181 253/var(--tw-border-opacity,1))}.border-l-amber-400{--tw-border-opacity:1;border-left-color:rgb(251 191 36/var(--tw-border-opacity,1))}.border-l-amber-500{--tw-border-opacity:1;border-left-color:rgb(245 158 11/var(--tw-border-opacity,1))}.border-l-blue-500{--tw-border-opacity:1;border-left-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-l-emerald-500{--tw-border-opacity:1;border-left-color:rgb(16 185 129/var(--tw-border-opacity,1))}.border-l-red-500{--tw-border-opacity:1;border-left-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-l-sky-400{--tw-border-opacity:1;border-left-color:rgb(56 189 248/var(--tw-border-opacity,1))}.border-l-slate-300{--tw-border-opacity:1;border-left-color:rgb(203 213 225/var(--tw-border-opacity,1))}.border-l-slate-400{--tw-border-opacity:1;border-left-color:rgb(148 163 184/var(--tw-border-opacity,1))}.border-l-teal-400{--tw-border-opacity:1;border-left-color:rgb(45 212 191/var(--tw-border-opacity,1))}.border-l-violet-400{--tw-border-opacity:1;border-left-color:rgb(167 139 250/var(--tw-border-opacity,1))}.border-t-\[var\(--wui-border-strong\)\]{border-top-color:var(--wui-border-strong)}.border-t-amber-400{--tw-border-opacity:1;border-top-color:rgb(251 191 36/var(--tw-border-opacity,1))}.border-t-blue-400{--tw-border-opacity:1;border-top-color:rgb(96 165 250/var(--tw-border-opacity,1))}.border-t-emerald-400{--tw-border-opacity:1;border-top-color:rgb(52 211 153/var(--tw-border-opacity,1))}.border-t-indigo-400{--tw-border-opacity:1;border-top-color:rgb(129 140 248/var(--tw-border-opacity,1))}.border-t-red-300{--tw-border-opacity:1;border-top-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-t-red-400{--tw-border-opacity:1;border-top-color:rgb(248 113 113/var(--tw-border-opacity,1))}.border-t-slate-300{--tw-border-opacity:1;border-top-color:rgb(203 213 225/var(--tw-border-opacity,1))}.bg-\[\#282c34\]{--tw-bg-opacity:1;background-color:rgb(40 44 52/var(--tw-bg-opacity,1))}.bg-\[color-mix\(in_srgb\2c var\(--wui-bg-muted\)_96\%\2c var\(--wui-fg\)_4\%\)\]{background-color:color-mix(in srgb,var(--wui-bg-muted) 96%,var(--wui-fg) 4%)}.bg-\[color-mix\(in_srgb\2c var\(--wui-primary\)_10\%\2c transparent\)\]{background-color:color-mix(in srgb,var(--wui-primary) 10%,transparent)}.bg-\[color-mix\(in_srgb\2c var\(--wui-primary\)_12\%\2c transparent\)\]{background-color:color-mix(in srgb,var(--wui-primary) 12%,transparent)}.bg-\[color-mix\(in_srgb\2c var\(--wui-primary\)_14\%\2c transparent\)\]{background-color:color-mix(in srgb,var(--wui-primary) 14%,transparent)}.bg-\[color-mix\(in_srgb\2c var\(--wui-status-completed\)_10\%\2c transparent\)\]{background-color:color-mix(in srgb,var(--wui-status-completed) 10%,transparent)}.bg-\[color-mix\(in_srgb\2c var\(--wui-status-completed\)_12\%\2c transparent\)\]{background-color:color-mix(in srgb,var(--wui-status-completed) 12%,transparent)}.bg-\[color-mix\(in_srgb\2c var\(--wui-status-completed\)_14\%\2c transparent\)\]{background-color:color-mix(in srgb,var(--wui-status-completed) 14%,transparent)}.bg-\[color-mix\(in_srgb\2c var\(--wui-status-failed\)_10\%\2c transparent\)\]{background-color:color-mix(in srgb,var(--wui-status-failed) 10%,transparent)}.bg-\[color-mix\(in_srgb\2c var\(--wui-status-paused\)_10\%\2c transparent\)\]{background-color:color-mix(in srgb,var(--wui-status-paused) 10%,transparent)}.bg-\[color-mix\(in_srgb\2c var\(--wui-status-paused\)_14\%\2c transparent\)\]{background-color:color-mix(in srgb,var(--wui-status-paused) 14%,transparent)}.bg-\[color-mix\(in_srgb\2c var\(--wui-status-paused\)_18\%\2c transparent\)\]{background-color:color-mix(in srgb,var(--wui-status-paused) 18%,transparent)}.bg-\[color-mix\(in_srgb\2c var\(--wui-status-paused\)_8\%\2c transparent\)\]{background-color:color-mix(in srgb,var(--wui-status-paused) 8%,transparent)}.bg-\[var\(--wui-bg\)\]{background-color:var(--wui-bg)}.bg-\[var\(--wui-bg-muted\)\]{background-color:var(--wui-bg-muted)}.bg-\[var\(--wui-bg-subtle\)\]{background-color:var(--wui-bg-subtle)}.bg-\[var\(--wui-border\)\]{background-color:var(--wui-border)}.bg-\[var\(--wui-control-bg\)\]{background-color:var(--wui-control-bg)}.bg-\[var\(--wui-control-bg-hover\)\]{background-color:var(--wui-control-bg-hover)}.bg-\[var\(--wui-fg-muted\)\]{background-color:var(--wui-fg-muted)}.bg-\[var\(--wui-primary\)\]{background-color:var(--wui-primary)}.bg-\[var\(--wui-primary-light\)\]{background-color:var(--wui-primary-light)}.bg-\[var\(--wui-status-completed\)\]{background-color:var(--wui-status-completed)}.bg-\[var\(--wui-status-failed\)\]{background-color:var(--wui-status-failed)}.bg-\[var\(--wui-status-paused\)\]{background-color:var(--wui-status-paused)}.bg-\[var\(--wui-status-pending\)\]{background-color:var(--wui-status-pending)}.bg-\[var\(--wui-status-running\)\]{background-color:var(--wui-status-running)}.bg-\[var\(--wui-status-skipped\)\]{background-color:var(--wui-status-skipped)}.bg-\[var\(--wui-surface\)\]{background-color:var(--wui-surface)}.bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-amber-400\/60{background-color:rgba(251,191,36,.6)}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-amber-50\/20{background-color:rgba(255,251,235,.2)}.bg-amber-50\/50{background-color:rgba(255,251,235,.5)}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-background{--tw-bg-opacity:1;background-color:hsl(var(--background)/var(--tw-bg-opacity,1))}.bg-background\/80{background-color:hsl(var(--background)/.8)}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/10{background-color:rgba(0,0,0,.1)}.bg-black\/40{background-color:rgba(0,0,0,.4)}.bg-black\/50{background-color:rgba(0,0,0,.5)}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.bg-blue-50\/20{background-color:rgba(239,246,255,.2)}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-border{--tw-bg-opacity:1;background-color:hsl(var(--border)/var(--tw-bg-opacity,1))}.bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.bg-emerald-400\/60{background-color:rgba(52,211,153,.6)}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-foreground\/10{background-color:hsl(var(--foreground)/.1)}.bg-fuchsia-100{--tw-bg-opacity:1;background-color:rgb(250 232 255/var(--tw-bg-opacity,1))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.bg-indigo-400{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity,1))}.bg-indigo-50{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.bg-indigo-50\/30{background-color:rgba(238,242,255,.3)}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-400\/60{background-color:hsla(0,91%,71%,.6)}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-50\/60{background-color:hsla(0,86%,97%,.6)}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-rose-100{--tw-bg-opacity:1;background-color:rgb(255 228 230/var(--tw-bg-opacity,1))}.bg-rose-50{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}.bg-secondary{--tw-bg-opacity:1;background-color:hsl(var(--secondary)/var(--tw-bg-opacity,1))}.bg-secondary\/50{background-color:hsl(var(--secondary)/.5)}.bg-secondary\/60{background-color:hsl(var(--secondary)/.6)}.bg-sky-100{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity,1))}.bg-sky-400{--tw-bg-opacity:1;background-color:rgb(56 189 248/var(--tw-bg-opacity,1))}.bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.bg-sky-50\/50{background-color:rgba(240,249,255,.5)}.bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.bg-sky-500\/10{background-color:rgba(14,165,233,.1)}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-slate-50\/50{background-color:rgba(248,250,252,.5)}.bg-slate-900\/20{background-color:rgba(15,23,42,.2)}.bg-surface{--tw-bg-opacity:1;background-color:hsl(var(--surface-default)/var(--tw-bg-opacity,1))}.bg-surface-elevated{--tw-bg-opacity:1;background-color:hsl(var(--surface-elevated)/var(--tw-bg-opacity,1))}.bg-surface-muted{--tw-bg-opacity:1;background-color:hsl(var(--surface-muted)/var(--tw-bg-opacity,1))}.bg-surface-muted\/60{background-color:hsl(var(--surface-muted)/.6)}.bg-teal-400{--tw-bg-opacity:1;background-color:rgb(45 212 191/var(--tw-bg-opacity,1))}.bg-teal-50{--tw-bg-opacity:1;background-color:rgb(240 253 250/var(--tw-bg-opacity,1))}.bg-teal-50\/50{background-color:rgba(240,253,250,.5)}.bg-transparent{background-color:transparent}.bg-violet-100{--tw-bg-opacity:1;background-color:rgb(237 233 254/var(--tw-bg-opacity,1))}.bg-violet-400{--tw-bg-opacity:1;background-color:rgb(167 139 250/var(--tw-bg-opacity,1))}.bg-violet-50{--tw-bg-opacity:1;background-color:rgb(245 243 255/var(--tw-bg-opacity,1))}.bg-violet-50\/50{background-color:rgba(245,243,255,.5)}.bg-violet-500{--tw-bg-opacity:1;background-color:rgb(139 92 246/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/20{background-color:hsla(0,0%,100%,.2)}.bg-white\/95{background-color:hsla(0,0%,100%,.95)}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-\[var\(--wui-bg-subtle\)\]{--tw-gradient-from:var(--wui-bg-subtle) var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-50\/80{--tw-gradient-from:rgba(248,250,252,.8) var(--tw-gradient-from-position);--tw-gradient-to:rgba(248,250,252,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.to-white{--tw-gradient-to:#fff var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-px{padding-top:1px;padding-bottom:1px}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-0\.5{padding-left:.125rem}.pl-1{padding-left:.25rem}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-2\.5{padding-left:.625rem}.pl-3{padding-left:.75rem}.pl-3\.5{padding-left:.875rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-7{padding-left:1.75rem}.pl-8{padding-left:2rem}.pl-\[1\.05rem\]{padding-left:1.05rem}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-7{padding-right:1.75rem}.pr-8{padding-right:2rem}.pr-9{padding-right:2.25rem}.pt-0\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-3\.5{padding-top:.875rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.85em\]{font-size:.85em}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[18px\]{font-size:18px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-5{line-height:1.25rem}.leading-\[1\.55\]{line-height:1.55}.leading-\[1\.6\]{line-height:1.6}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[-0\.01em\]{letter-spacing:-.01em}.tracking-\[-0\.02em\]{letter-spacing:-.02em}.tracking-\[0\.04em\]{letter-spacing:.04em}.tracking-\[0\.08em\]{letter-spacing:.08em}.tracking-\[0\.09em\]{letter-spacing:.09em}.tracking-normal{letter-spacing:0}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[var\(--wui-border\)\]{color:var(--wui-border)}.text-\[var\(--wui-control-fg\)\]{color:var(--wui-control-fg)}.text-\[var\(--wui-fg\)\]{color:var(--wui-fg)}.text-\[var\(--wui-fg-muted\)\]{color:var(--wui-fg-muted)}.text-\[var\(--wui-primary\)\]{color:var(--wui-primary)}.text-\[var\(--wui-primary-fg\)\]{color:var(--wui-primary-fg)}.text-\[var\(--wui-status-completed\)\]{color:var(--wui-status-completed)}.text-\[var\(--wui-status-failed\)\]{color:var(--wui-status-failed)}.text-\[var\(--wui-status-paused\)\]{color:var(--wui-status-paused)}.text-\[var\(--wui-status-pending\)\]{color:var(--wui-status-pending)}.text-\[var\(--wui-status-running\)\]{color:var(--wui-status-running)}.text-\[var\(--wui-status-skipped\)\]{color:var(--wui-status-skipped)}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-foreground{--tw-text-opacity:1;color:hsl(var(--foreground)/var(--tw-text-opacity,1))}.text-fuchsia-700{--tw-text-opacity:1;color:rgb(162 28 175/var(--tw-text-opacity,1))}.text-indigo-300{--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.text-indigo-500{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-indigo-700{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.text-muted-foreground{--tw-text-opacity:1;color:hsl(var(--muted-foreground)/var(--tw-text-opacity,1))}.text-muted-foreground\/50{color:hsl(var(--muted-foreground)/.5)}.text-muted-foreground\/60{color:hsl(var(--muted-foreground)/.6)}.text-muted-foreground\/70{color:hsl(var(--muted-foreground)/.7)}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-orange-800{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-rose-700{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity,1))}.text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.text-sky-700{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-teal-600{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity,1))}.text-violet-400{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity,1))}.text-violet-600{--tw-text-opacity:1;color:rgb(124 58 237/var(--tw-text-opacity,1))}.text-violet-700{--tw-text-opacity:1;color:rgb(109 40 217/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.underline-offset-2{text-underline-offset:2px}.\!opacity-0{opacity:0!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-95{opacity:.95}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-\[inset_3px_0_0_0_var\(--wui-primary\)\]{--tw-shadow:inset 3px 0 0 0 var(--wui-primary);--tw-shadow-colored:inset 3px 0 0 0 var(--tw-shadow-color)}.shadow-\[inset_3px_0_0_0_var\(--wui-primary\)\],.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-inset{--tw-ring-inset:inset}.ring-\[var\(--wui-border\)\]{--tw-ring-color:var(--wui-border)}.ring-\[var\(--wui-primary\)\]{--tw-ring-color:var(--wui-primary)}.ring-amber-200{--tw-ring-opacity:1;--tw-ring-color:rgb(253 230 138/var(--tw-ring-opacity,1))}.ring-amber-200\/60{--tw-ring-color:hsla(48,97%,77%,.6)}.ring-blue-300\/50{--tw-ring-color:rgba(147,197,253,.5)}.ring-border{--tw-ring-opacity:1;--tw-ring-color:hsl(var(--border)/var(--tw-ring-opacity,1))}.ring-emerald-200\/60{--tw-ring-color:rgba(167,243,208,.6)}.ring-indigo-100{--tw-ring-opacity:1;--tw-ring-color:rgb(224 231 255/var(--tw-ring-opacity,1))}.ring-indigo-200{--tw-ring-opacity:1;--tw-ring-color:rgb(199 210 254/var(--tw-ring-opacity,1))}.ring-indigo-200\/60{--tw-ring-color:rgba(199,210,254,.6)}.ring-red-200{--tw-ring-opacity:1;--tw-ring-color:rgb(254 202 202/var(--tw-ring-opacity,1))}.ring-red-200\/60{--tw-ring-color:hsla(0,96%,89%,.6)}.ring-red-300{--tw-ring-opacity:1;--tw-ring-color:rgb(252 165 165/var(--tw-ring-opacity,1))}.ring-ring\/25{--tw-ring-color:hsl(var(--ring)/0.25)}.ring-ring\/30{--tw-ring-color:hsl(var(--ring)/0.3)}.ring-sky-200{--tw-ring-opacity:1;--tw-ring-color:rgb(186 230 253/var(--tw-ring-opacity,1))}.ring-slate-100{--tw-ring-opacity:1;--tw-ring-color:rgb(241 245 249/var(--tw-ring-opacity,1))}.ring-slate-200{--tw-ring-opacity:1;--tw-ring-color:rgb(226 232 240/var(--tw-ring-opacity,1))}.ring-slate-200\/80{--tw-ring-color:rgba(226,232,240,.8)}.ring-teal-200{--tw-ring-opacity:1;--tw-ring-color:rgb(153 246 228/var(--tw-ring-opacity,1))}.ring-violet-200{--tw-ring-opacity:1;--tw-ring-color:rgb(221 214 254/var(--tw-ring-opacity,1))}.ring-white{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity,1))}.ring-offset-0{--tw-ring-offset-width:0px}.blur{--tw-blur:blur(8px)}.blur,.grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale:grayscale(100%)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-\[2px\]{--tw-backdrop-blur:blur(2px)}.backdrop-blur-\[2px\],.backdrop-blur-md{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[flex\2c opacity\]{transition-property:flex,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[flex\]{transition-property:flex;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[animation-delay\:0ms\]{animation-delay:0ms}.\[animation-delay\:150ms\]{animation-delay:.15s}.\[animation-delay\:300ms\]{animation-delay:.3s}.\[appearance\:textfield\]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.\[field-sizing\:content\]{field-sizing:content}.\[scrollbar-width\:none\]{scrollbar-width:none}:root,[data-workflow-ui]{--wui-bg:#fff;--wui-bg-subtle:#f8fafc;--wui-bg-muted:#f1f5f9;--wui-fg:#0f172a;--wui-fg-muted:#64748b;--wui-fg-subtle:#94a3b8;--wui-border:#e2e8f0;--wui-border-strong:#cbd5e1;--wui-primary:#6366f1;--wui-primary-hover:#4f46e5;--wui-primary-fg:#fff;--wui-primary-light:#eef2ff;--wui-primary-muted:#c7d2fe;--wui-cat-data:#0ea5e9;--wui-cat-data-light:#f0f9ff;--wui-cat-integration:#8b5cf6;--wui-cat-integration-light:#f5f3ff;--wui-cat-control:#f97316;--wui-cat-control-light:#fff7ed;--wui-cat-flow:#14b8a6;--wui-cat-flow-light:#f0fdfa;--wui-status-pending:#94a3b8;--wui-status-running:#6366f1;--wui-status-completed:#10b981;--wui-status-failed:#ef4444;--wui-status-paused:#f59e0b;--wui-status-skipped:#cbd5e1;--wui-shadow:0 1px 2px rgba(15,23,42,.05);--wui-shadow-md:0 4px 8px rgba(15,23,42,.08);--wui-shadow-lg:0 8px 24px rgba(15,23,42,.12),0 2px 8px rgba(15,23,42,.06);--wui-radius:0.5rem;--wui-radius-sm:0.375rem;--wui-radius-lg:0.75rem;--wui-duration:150ms;--wui-duration-slow:250ms;--wui-pulse-duration:2s}@keyframes wui-pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes wui-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes wui-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes wui-slide-in-right{0%{opacity:0;transform:translateX(8px)}to{opacity:1;transform:translateX(0)}}@keyframes wui-edge-dash{to{stroke-dashoffset:-20}}@keyframes wui-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes wui-glow{0%,to{box-shadow:0 0 0 0 rgba(99,102,241,.3)}50%{box-shadow:0 0 8px 2px rgba(99,102,241,.15)}}.react-flow__node{transition:filter .15s ease}.react-flow__edge-path{transition:stroke .15s ease}.react-flow__minimap{border-radius:var(--wui-radius)!important;border:1px solid var(--wui-border)!important;box-shadow:var(--wui-shadow)!important;overflow:hidden!important}.recharts-surface:focus,.recharts-wrapper :focus,.recharts-wrapper:focus{outline:none}.wui-scroll{scrollbar-width:thin;scrollbar-color:transparent transparent}.wui-scroll:focus-within,.wui-scroll:hover{scrollbar-color:var(--wui-border-strong) transparent}.wui-scroll::-webkit-scrollbar{width:9px;height:9px}.wui-scroll::-webkit-scrollbar-track{background:transparent}.wui-scroll::-webkit-scrollbar-thumb{background-color:transparent;border-radius:9999px;border:2px solid transparent;background-clip:content-box;-webkit-transition:background-color .15s ease;transition:background-color .15s ease}.wui-scroll:active::-webkit-scrollbar-thumb,.wui-scroll:focus-within::-webkit-scrollbar-thumb,.wui-scroll:hover::-webkit-scrollbar-thumb{background-color:var(--wui-border-strong)}.wui-scroll::-webkit-scrollbar-thumb:hover{background-color:var(--wui-fg-subtle)}.marker\:text-\[var\(--wui-fg-muted\)\] ::marker{color:var(--wui-fg-muted)}.marker\:text-\[var\(--wui-fg-muted\)\]::marker{color:var(--wui-fg-muted)}.placeholder\:text-\[var\(--wui-fg-muted\)\]::-moz-placeholder{color:var(--wui-fg-muted)}.placeholder\:text-\[var\(--wui-fg-muted\)\]::placeholder{color:var(--wui-fg-muted)}.placeholder\:text-muted-foreground\/70::-moz-placeholder{color:hsl(var(--muted-foreground)/.7)}.placeholder\:text-muted-foreground\/70::placeholder{color:hsl(var(--muted-foreground)/.7)}.placeholder\:text-slate-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.placeholder\:text-slate-400::placeholder{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.first\:mt-0:first-child{margin-top:0}.last\:mb-0:last-child{margin-bottom:0}.last\:border-r-0:last-child{border-right-width:0}.focus-within\:border-\[var\(--wui-primary\)\]:focus-within{border-color:var(--wui-primary)}.focus-within\:border-sky-500\/60:focus-within{border-color:rgba(14,165,233,.6)}.focus-within\:bg-\[var\(--wui-bg\)\]:focus-within{background-color:var(--wui-bg)}.focus-within\:opacity-100:focus-within{opacity:1}.focus-within\:ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-within\:ring-2:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-within\:ring-\[color-mix\(in_srgb\2c var\(--wui-primary\)_12\%\2c transparent\)\]:focus-within{--tw-ring-color:color-mix(in srgb,var(--wui-primary) 12%,transparent)}.focus-within\:ring-\[var\(--wui-primary\)\]:focus-within{--tw-ring-color:var(--wui-primary)}.focus-within\:ring-sky-500\/20:focus-within{--tw-ring-color:rgba(14,165,233,.2)}.hover\:-translate-y-px:hover{--tw-translate-y:-1px}.hover\:-translate-y-px:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-\[var\(--wui-border-strong\)\]:hover{border-color:var(--wui-border-strong)}.hover\:border-\[var\(--wui-fg-muted\)\]:hover{border-color:var(--wui-fg-muted)}.hover\:border-\[var\(--wui-primary\)\]:hover{border-color:var(--wui-primary)}.hover\:border-amber-300:hover{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.hover\:border-blue-300:hover{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.hover\:border-indigo-300:hover{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.hover\:border-indigo-400:hover{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.hover\:border-red-300:hover{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.hover\:border-ring\/40:hover{border-color:hsl(var(--ring)/.4)}.hover\:border-ring\/50:hover{border-color:hsl(var(--ring)/.5)}.hover\:border-slate-200:hover{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.hover\:border-slate-300:hover{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.hover\:border-slate-400:hover{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity,1))}.hover\:border-violet-300:hover{--tw-border-opacity:1;border-color:rgb(196 181 253/var(--tw-border-opacity,1))}.hover\:bg-\[color-mix\(in_srgb\2c var\(--wui-fg\)_5\%\2c transparent\)\]:hover{background-color:color-mix(in srgb,var(--wui-fg) 5%,transparent)}.hover\:bg-\[color-mix\(in_srgb\2c var\(--wui-fg\)_6\%\2c transparent\)\]:hover{background-color:color-mix(in srgb,var(--wui-fg) 6%,transparent)}.hover\:bg-\[color-mix\(in_srgb\2c var\(--wui-fg\)_8\%\2c transparent\)\]:hover{background-color:color-mix(in srgb,var(--wui-fg) 8%,transparent)}.hover\:bg-\[color-mix\(in_srgb\2c var\(--wui-primary\)_12\%\2c transparent\)\]:hover{background-color:color-mix(in srgb,var(--wui-primary) 12%,transparent)}.hover\:bg-\[color-mix\(in_srgb\2c var\(--wui-primary\)_16\%\2c transparent\)\]:hover{background-color:color-mix(in srgb,var(--wui-primary) 16%,transparent)}.hover\:bg-\[color-mix\(in_srgb\2c var\(--wui-primary\)_18\%\2c transparent\)\]:hover{background-color:color-mix(in srgb,var(--wui-primary) 18%,transparent)}.hover\:bg-\[color-mix\(in_srgb\2c var\(--wui-primary\)_40\%\2c transparent\)\]:hover{background-color:color-mix(in srgb,var(--wui-primary) 40%,transparent)}.hover\:bg-\[color-mix\(in_srgb\2c var\(--wui-primary\)_8\%\2c transparent\)\]:hover{background-color:color-mix(in srgb,var(--wui-primary) 8%,transparent)}.hover\:bg-\[color-mix\(in_srgb\2c var\(--wui-status-completed\)_18\%\2c transparent\)\]:hover{background-color:color-mix(in srgb,var(--wui-status-completed) 18%,transparent)}.hover\:bg-\[color-mix\(in_srgb\2c var\(--wui-status-failed\)_10\%\2c transparent\)\]:hover{background-color:color-mix(in srgb,var(--wui-status-failed) 10%,transparent)}.hover\:bg-\[color-mix\(in_srgb\2c var\(--wui-status-failed\)_18\%\2c transparent\)\]:hover{background-color:color-mix(in srgb,var(--wui-status-failed) 18%,transparent)}.hover\:bg-\[color-mix\(in_srgb\2c var\(--wui-status-paused\)_12\%\2c transparent\)\]:hover{background-color:color-mix(in srgb,var(--wui-status-paused) 12%,transparent)}.hover\:bg-\[var\(--wui-bg\)\]:hover{background-color:var(--wui-bg)}.hover\:bg-\[var\(--wui-bg-muted\)\]:hover{background-color:var(--wui-bg-muted)}.hover\:bg-\[var\(--wui-bg-subtle\)\]:hover{background-color:var(--wui-bg-subtle)}.hover\:bg-\[var\(--wui-border\)\]:hover{background-color:var(--wui-border)}.hover\:bg-\[var\(--wui-control-bg-hover\)\]:hover{background-color:var(--wui-control-bg-hover)}.hover\:bg-\[var\(--wui-primary-hover\)\]:hover{background-color:var(--wui-primary-hover)}.hover\:bg-amber-200:hover{--tw-bg-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity,1))}.hover\:bg-amber-50:hover{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.hover\:bg-amber-50\/50:hover{background-color:rgba(255,251,235,.5)}.hover\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.hover\:bg-blue-50\/50:hover{background-color:rgba(239,246,255,.5)}.hover\:bg-brand\/40:hover{background-color:hsl(var(--surface-brand)/.4)}.hover\:bg-emerald-50:hover{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.hover\:bg-emerald-600:hover{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.hover\:bg-indigo-50:hover{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.hover\:bg-indigo-50\/50:hover{background-color:rgba(238,242,255,.5)}.hover\:bg-indigo-600:hover{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.hover\:bg-indigo-700:hover{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity,1))}.hover\:bg-orange-100:hover{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.hover\:bg-red-100:hover{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\:bg-secondary:hover{--tw-bg-opacity:1;background-color:hsl(var(--secondary)/var(--tw-bg-opacity,1))}.hover\:bg-secondary\/40:hover{background-color:hsl(var(--secondary)/.4)}.hover\:bg-secondary\/60:hover{background-color:hsl(var(--secondary)/.6)}.hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.hover\:bg-slate-700\/50:hover{background-color:rgba(51,65,85,.5)}.hover\:bg-violet-50\/50:hover{background-color:rgba(245,243,255,.5)}.hover\:text-\[var\(--wui-control-fg\)\]:hover{color:var(--wui-control-fg)}.hover\:text-\[var\(--wui-fg\)\]:hover{color:var(--wui-fg)}.hover\:text-\[var\(--wui-primary\)\]:hover{color:var(--wui-primary)}.hover\:text-\[var\(--wui-primary-hover\)\]:hover{color:var(--wui-primary-hover)}.hover\:text-\[var\(--wui-status-failed\)\]:hover{color:var(--wui-status-failed)}.hover\:text-\[var\(--wui-status-paused\)\]:hover{color:var(--wui-status-paused)}.hover\:text-amber-500:hover{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.hover\:text-foreground:hover{--tw-text-opacity:1;color:hsl(var(--foreground)/var(--tw-text-opacity,1))}.hover\:text-indigo-500:hover{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.hover\:text-indigo-600:hover{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.hover\:text-indigo-700:hover{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.hover\:text-red-400:hover{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.hover\:text-red-500:hover{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.hover\:text-red-600:hover{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.hover\:text-slate-200:hover{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.hover\:text-slate-300:hover{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.hover\:text-slate-600:hover{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.hover\:text-slate-700:hover{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.hover\:text-violet-500:hover{--tw-text-opacity:1;color:rgb(139 92 246/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[var\(--wui-shadow-sm\)\]:hover{--tw-shadow-color:var(--wui-shadow-sm);--tw-shadow:var(--tw-shadow-colored)}.hover\:ring-1:hover{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.hover\:ring-indigo-200:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(199 210 254/var(--tw-ring-opacity,1))}.hover\:ring-red-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(252 165 165/var(--tw-ring-opacity,1))}.hover\:ring-slate-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity,1))}.hover\:brightness-95:hover{--tw-brightness:brightness(.95);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:border-\[var\(--wui-border-strong\)\]:focus{border-color:var(--wui-border-strong)}.focus\:border-\[var\(--wui-primary\)\]:focus{border-color:var(--wui-primary)}.focus\:border-\[var\(--wui-status-failed\)\]:focus{border-color:var(--wui-status-failed)}.focus\:border-\[var\(--wui-status-paused\)\]:focus{border-color:var(--wui-status-paused)}.focus\:border-indigo-300:focus{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.focus\:border-indigo-400:focus{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.focus\:border-red-400:focus{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.focus\:border-ring:focus{--tw-border-opacity:1;border-color:hsl(var(--ring)/var(--tw-border-opacity,1))}.focus\:bg-\[var\(--wui-surface\)\]:focus{background-color:var(--wui-surface)}.focus\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-\[color-mix\(in_srgb\2c var\(--wui-primary\)_12\%\2c transparent\)\]:focus{--tw-ring-color:color-mix(in srgb,var(--wui-primary) 12%,transparent)}.focus\:ring-\[color-mix\(in_srgb\2c var\(--wui-primary\)_22\%\2c transparent\)\]:focus{--tw-ring-color:color-mix(in srgb,var(--wui-primary) 22%,transparent)}.focus\:ring-\[color-mix\(in_srgb\2c var\(--wui-status-failed\)_25\%\2c transparent\)\]:focus{--tw-ring-color:color-mix(in srgb,var(--wui-status-failed) 25%,transparent)}.focus\:ring-\[var\(--wui-primary\)\]:focus{--tw-ring-color:var(--wui-primary)}.focus\:ring-\[var\(--wui-primary-light\)\]:focus{--tw-ring-color:var(--wui-primary-light)}.focus\:ring-indigo-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(224 231 255/var(--tw-ring-opacity,1))}.focus\:ring-indigo-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(199 210 254/var(--tw-ring-opacity,1))}.focus\:ring-red-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(254 226 226/var(--tw-ring-opacity,1))}.focus\:ring-red-500\/30:focus{--tw-ring-color:rgba(239,68,68,.3)}.focus\:ring-ring\/30:focus{--tw-ring-color:hsl(var(--ring)/0.3)}.focus-visible\:underline:focus-visible{text-decoration-line:underline}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset:inset}.focus-visible\:ring-\[color-mix\(in_srgb\2c var\(--wui-primary\)_30\%\2c transparent\)\]:focus-visible{--tw-ring-color:color-mix(in srgb,var(--wui-primary) 30%,transparent)}.focus-visible\:ring-\[var\(--wui-primary\)\]:focus-visible{--tw-ring-color:var(--wui-primary)}.focus-visible\:ring-\[var\(--wui-status-paused\)\]:focus-visible{--tw-ring-color:var(--wui-status-paused)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95}.active\:scale-95:active,.active\:scale-\[0\.99\]:active{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[0\.99\]:active{--tw-scale-x:0.99;--tw-scale-y:0.99}.active\:bg-\[color-mix\(in_srgb\2c var\(--wui-primary\)_55\%\2c transparent\)\]:active{background-color:color-mix(in srgb,var(--wui-primary) 55%,transparent)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.disabled\:hover\:bg-transparent:hover:disabled{background-color:transparent}.group:hover .group-hover\:flex{display:flex}.group:hover .group-hover\:hidden{display:none}.group:hover .group-hover\:translate-y-0{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:border-\[var\(--wui-fg-muted\)\]{border-color:var(--wui-fg-muted)}.group:hover .group-hover\:bg-brand{--tw-bg-opacity:1;background-color:hsl(var(--surface-brand)/var(--tw-bg-opacity,1))}.group:hover .group-hover\:text-\[var\(--wui-fg\)\]{color:var(--wui-fg)}.group:hover .group-hover\:opacity-100,.group\/row:hover .group-hover\/row\:opacity-100{opacity:1}.group:hover .group-hover\:opacity-80{opacity:.8}.dark\:border-orange-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.dark\:border-red-700\/60:is(.dark *){border-color:rgba(185,28,28,.6)}.dark\:bg-orange-950\/30:is(.dark *){background-color:rgba(67,20,7,.3)}.dark\:text-orange-300:is(.dark *){--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.dark\:text-orange-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.dark\:shadow-xl:is(.dark *){--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.dark\:hover\:bg-orange-950\/50:hover:is(.dark *){background-color:rgba(67,20,7,.5)}.dark\:hover\:bg-red-950\/40:hover:is(.dark *){background-color:rgba(69,10,10,.4)}@media (min-width:640px){.sm\:block{display:block}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:768px){.md\:block{display:block}}@media (min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&\:\:-webkit-inner-spin-button\]\:appearance-none::-webkit-inner-spin-button,.\[\&\:\:-webkit-outer-spin-button\]\:appearance-none::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar,.\[\&\:\:-webkit-search-cancel-button\]\:hidden::-webkit-search-cancel-button{display:none}.\[\&\:\:-webkit-search-decoration\]\:hidden::-webkit-search-decoration{display:none}.\[\&\:not\(\:last-child\)\]\:border-r:not(:last-child){border-right-width:1px}.\[\&\:not\(\:last-child\)\]\:border-\[var\(--wui-border\)\]:not(:last-child){border-color:var(--wui-border)}.\[\&_\.ProseMirror\]\:leading-relaxed .ProseMirror{line-height:1.625}.\[\&_\.wui-docx\]\:\!w-full .wui-docx,.\[\&_\.wui-docx_section\]\:\!w-full .wui-docx section{width:100%!important}.\[\&_\.wui-docx_section\]\:\!max-w-none .wui-docx section{max-width:none!important}.\[\&_\.wui-docx_section\]\:\!p-0 .wui-docx section{padding:0!important}.\[\&_a\]\:text-\[var\(--wui-primary\)\] a{color:var(--wui-primary)}.\[\&_a\]\:underline a{text-decoration-line:underline}.\[\&_blockquote\]\:border-l-2 blockquote{border-left-width:2px}.\[\&_blockquote\]\:border-\[var\(--wui-border-strong\)\] blockquote{border-color:var(--wui-border-strong)}.\[\&_blockquote\]\:pl-3 blockquote{padding-left:.75rem}.\[\&_blockquote\]\:italic blockquote{font-style:italic}.\[\&_blockquote\]\:text-\[var\(--wui-fg-muted\)\] blockquote{color:var(--wui-fg-muted)}.\[\&_code\]\:rounded code{border-radius:.25rem}.\[\&_code\]\:border-0 code{border-width:0}.\[\&_code\]\:bg-\[var\(--wui-bg-muted\)\] code{background-color:var(--wui-bg-muted)}.\[\&_code\]\:bg-transparent code{background-color:transparent}.\[\&_code\]\:p-0 code{padding:0}.\[\&_code\]\:px-1 code{padding-left:.25rem;padding-right:.25rem}.\[\&_code\]\:py-0\.5 code{padding-top:.125rem;padding-bottom:.125rem}.\[\&_code\]\:font-mono code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.\[\&_code\]\:text-\[12px\] code{font-size:12px}.\[\&_code\]\:text-inherit code{color:inherit}.\[\&_code\]\:ring-0 code{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.\[\&_h1\]\:my-2 h1{margin-top:.5rem;margin-bottom:.5rem}.\[\&_h1\]\:text-base h1{font-size:1rem;line-height:1.5rem}.\[\&_h1\]\:font-bold h1{font-weight:700}.\[\&_h2\]\:my-1\.5 h2{margin-top:.375rem;margin-bottom:.375rem}.\[\&_h2\]\:text-sm h2{font-size:.875rem;line-height:1.25rem}.\[\&_h2\]\:font-bold h2{font-weight:700}.\[\&_h3\]\:my-1 h3{margin-top:.25rem;margin-bottom:.25rem}.\[\&_h3\]\:text-\[13px\] h3{font-size:13px}.\[\&_h3\]\:font-bold h3{font-weight:700}.\[\&_hr\]\:my-3 hr{margin-top:.75rem;margin-bottom:.75rem}.\[\&_hr\]\:border-\[var\(--wui-border\)\] hr{border-color:var(--wui-border)}.\[\&_ol\]\:my-1\.5 ol{margin-top:.375rem;margin-bottom:.375rem}.\[\&_ol\]\:list-decimal ol{list-style-type:decimal}.\[\&_ol\]\:pl-5 ol{padding-left:1.25rem}.\[\&_p\]\:my-1\.5 p{margin-top:.375rem;margin-bottom:.375rem}.\[\&_p\]\:leading-snug p{line-height:1.375}.\[\&_pre\]\:my-2 pre{margin-top:.5rem;margin-bottom:.5rem}.\[\&_pre\]\:rounded-md pre{border-radius:.375rem}.\[\&_pre\]\:bg-\[var\(--wui-bg-muted\)\] pre{background-color:var(--wui-bg-muted)}.\[\&_pre\]\:p-3 pre{padding:.75rem}.\[\&_pre\]\:text-\[12px\] pre{font-size:12px}.\[\&_pre\]\:text-\[var\(--wui-fg\)\] pre{color:var(--wui-fg)}.\[\&_pre_code\]\:bg-transparent pre code{background-color:transparent}.\[\&_pre_code\]\:p-0 pre code{padding:0}.\[\&_pre_code\]\:text-inherit pre code{color:inherit}.\[\&_tbody_tr\:last-child_td\]\:border-b-0 tbody tr:last-child td{border-bottom-width:0}.\[\&_tbody_tr\:nth-child\(2n\)\]\:bg-\[color-mix\(in_srgb\2c var\(--wui-fg\)_4\%\2c transparent\)\] tbody tr:nth-child(2n){background-color:color-mix(in srgb,var(--wui-fg) 4%,transparent)}.\[\&_ul\]\:my-1\.5 ul{margin-top:.375rem;margin-bottom:.375rem}.\[\&_ul\]\:list-disc ul{list-style-type:disc}.\[\&_ul\]\:pl-5 ul{padding-left:1.25rem}
|
|
3
|
+
/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-1{bottom:-.25rem}.-left-2{left:-.5rem}.-right-1{right:-.25rem}.-top-1{top:-.25rem}.-top-2{top:-.5rem}.-top-3{top:-.75rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.bottom-6{bottom:1.5rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:.5rem}.left-2\.5{left:.625rem}.left-3{left:.75rem}.left-4{left:1rem}.right-0{right:0}.right-1\.5{right:.375rem}.right-2{right:.5rem}.right-3{right:.75rem}.top-0{top:0}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-3{top:.75rem}.top-4{top:1rem}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.m-0{margin:0}.m-auto{margin:auto}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1\.5{margin-top:.375rem;margin-bottom:.375rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-2\.5{margin-top:.625rem;margin-bottom:.625rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-px{margin-bottom:-1px}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-2\.5{margin-bottom:.625rem}.mb-3{margin-bottom:.75rem}.mb-3\.5{margin-bottom:.875rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.ml-0{margin-left:0}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-3{margin-left:.75rem}.ml-\[0\.34rem\]{margin-left:.34rem}.ml-auto{margin-left:auto}.mr-0\.5{margin-right:.125rem}.mr-auto{margin-right:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-\[3px\]{margin-top:3px}.mt-\[7px\]{margin-top:7px}.mt-auto{margin-top:auto}.mt-px{margin-top:1px}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.size-3\.5{width:.875rem;height:.875rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-8{width:2rem;height:2rem}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-40{height:10rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-52{height:13rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[18px\]{height:18px}.h-\[2px\]{height:2px}.h-\[40vh\]{height:40vh}.h-\[45vh\]{height:45vh}.h-\[72vh\]{height:72vh}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-32{max-height:8rem}.max-h-40{max-height:10rem}.max-h-48{max-height:12rem}.max-h-56{max-height:14rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-\[120px\]{max-height:120px}.max-h-\[28rem\]{max-height:28rem}.max-h-\[360px\]{max-height:360px}.max-h-\[52vh\]{max-height:52vh}.max-h-\[60vh\]{max-height:60vh}.max-h-\[660px\]{max-height:660px}.max-h-\[72vh\]{max-height:72vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[88vh\]{max-height:88vh}.max-h-full{max-height:100%}.min-h-0{min-height:0}.min-h-\[1\.875rem\]{min-height:1.875rem}.min-h-\[16px\]{min-height:16px}.min-h-\[2\.25rem\]{min-height:2.25rem}.min-h-\[200px\]{min-height:200px}.min-h-\[30vh\]{min-height:30vh}.min-h-\[45vh\]{min-height:45vh}.min-h-\[7rem\]{min-height:7rem}.min-h-full{min-height:100%}.w-0\.5{width:.125rem}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-\[140px\]{width:140px}.w-\[15px\]{width:15px}.w-\[18px\]{width:18px}.w-\[280px\]{width:280px}.w-\[300px\]{width:300px}.w-\[38\%\]{width:38%}.w-\[3px\]{width:3px}.w-\[92px\]{width:92px}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.min-w-0{min-width:0}.min-w-\[1\.25rem\]{min-width:1.25rem}.min-w-\[100px\]{min-width:100px}.min-w-\[110px\]{min-width:110px}.min-w-\[16px\]{min-width:16px}.min-w-\[180px\]{min-width:180px}.min-w-\[18px\]{min-width:18px}.min-w-\[80px\]{min-width:80px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-7xl{max-width:80rem}.max-w-\[220px\]{max-width:220px}.max-w-\[24ch\]{max-width:24ch}.max-w-\[280px\]{max-width:280px}.max-w-\[420px\]{max-width:420px}.max-w-\[50\%\]{max-width:50%}.max-w-\[85\%\]{max-width:85%}.max-w-\[8rem\]{max-width:8rem}.max-w-\[920px\]{max-width:920px}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.origin-top{transform-origin:top}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.translate-y-1{--tw-translate-y:0.25rem}.-rotate-90,.translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate:-90deg}.rotate-180{--tw-rotate:180deg}.rotate-180,.rotate-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-\[wui-fade-in_150ms_ease-out\]{animation:wui-fade-in .15s ease-out}.animate-\[wui-fade-in_200ms_ease-out\]{animation:wui-fade-in .2s ease-out}.animate-\[wui-pulse_var\(--wui-pulse-duration\)_ease-in-out_infinite\]{animation:wui-pulse var(--wui-pulse-duration) ease-in-out infinite}.animate-\[wui-scale-in_150ms_ease-out\]{animation:wui-scale-in .15s ease-out}.animate-\[wui-scale-in_180ms_ease-out\]{animation:wui-scale-in .18s ease-out}.animate-\[wui-spin_1s_linear_infinite\]{animation:wui-spin 1s linear infinite}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[2fr_1fr_1fr_1fr\]{grid-template-columns:2fr 1fr 1fr 1fr}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-3\.5{gap:.875rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-y-2{row-gap:.5rem}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.625rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem*var(--tw-space-y-reverse))}.space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1px*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-\[color-mix\(in_srgb\2c var\(--wui-status-completed\)_20\%\2c transparent\)\]>:not([hidden])~:not([hidden]){border-color:color-mix(in srgb,var(--wui-status-completed) 20%,transparent)}.divide-border>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:hsl(var(--border)/var(--tw-divide-opacity,1))}.divide-slate-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(241 245 249/var(--tw-divide-opacity,1))}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;white-space:nowrap}.text-ellipsis,.truncate{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[4px\]{border-radius:4px}.rounded-\[5px\]{border-radius:5px}.rounded-\[calc\(var\(--wui-radius-sm\)-2px\)\]{border-radius:calc(var(--wui-radius-sm) - 2px)}.rounded-\[var\(--wui-control-radius\)\]{border-radius:var(--wui-control-radius)}.rounded-\[var\(--wui-pill-radius\)\]{border-radius:var(--wui-pill-radius)}.rounded-\[var\(--wui-radius\)\]{border-radius:var(--wui-radius)}.rounded-\[var\(--wui-radius-lg\)\]{border-radius:var(--wui-radius-lg)}.rounded-\[var\(--wui-radius-sm\)\]{border-radius:var(--wui-radius-sm)}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-l-\[2rem\]{border-top-left-radius:2rem;border-bottom-left-radius:2rem}.rounded-r-xl{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}.rounded-bl-sm{border-bottom-left-radius:.125rem}.rounded-br-sm{border-bottom-right-radius:.125rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-0{border-left-width:0}.border-l-2{border-left-width:2px}.border-l-\[3px\]{border-left-width:3px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-t-0{border-top-width:0}.border-t-2{border-top-width:2px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-\[color-mix\(in_srgb\2c var\(--wui-border\)_55\%\2c transparent\)\]{border-color:color-mix(in srgb,var(--wui-border) 55%,transparent)}.border-\[color-mix\(in_srgb\2c var\(--wui-border\)_70\%\2c transparent\)\]{border-color:color-mix(in srgb,var(--wui-border) 70%,transparent)}.border-\[color-mix\(in_srgb\2c var\(--wui-fg\)_16\%\2c transparent\)\]{border-color:color-mix(in srgb,var(--wui-fg) 16%,transparent)}.border-\[var\(--wui-border\)\]{border-color:var(--wui-border)}.border-\[var\(--wui-border-strong\)\]{border-color:var(--wui-border-strong)}.border-\[var\(--wui-control-border\)\]{border-color:var(--wui-control-border)}.border-\[var\(--wui-primary\)\]{border-color:var(--wui-primary)}.border-\[var\(--wui-status-completed\)\]{border-color:var(--wui-status-completed)}.border-\[var\(--wui-status-failed\)\]{border-color:var(--wui-status-failed)}.border-\[var\(--wui-status-paused\)\]{border-color:var(--wui-status-paused)}.border-amber-100{--tw-border-opacity:1;border-color:rgb(254 243 199/var(--tw-border-opacity,1))}.border-amber-100\/80{border-color:hsla(48,96%,89%,.8)}.border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-amber-200\/80{border-color:hsla(48,97%,77%,.8)}.border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.border-blue-100\/80{border-color:rgba(219,234,254,.8)}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-200\/80{border-color:rgba(191,219,254,.8)}.border-border{--tw-border-opacity:1;border-color:hsl(var(--border)/var(--tw-border-opacity,1))}.border-emerald-100{--tw-border-opacity:1;border-color:rgb(209 250 229/var(--tw-border-opacity,1))}.border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.border-emerald-300{--tw-border-opacity:1;border-color:rgb(110 231 183/var(--tw-border-opacity,1))}.border-indigo-100{--tw-border-opacity:1;border-color:rgb(224 231 255/var(--tw-border-opacity,1))}.border-indigo-200{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.border-indigo-300{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.border-indigo-400{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.border-indigo-500{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.border-red-100{--tw-border-opacity:1;border-color:rgb(254 226 226/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-red-200\/60{border-color:hsla(0,96%,89%,.6)}.border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.border-ring{--tw-border-opacity:1;border-color:hsl(var(--ring)/var(--tw-border-opacity,1))}.border-ring\/50{border-color:hsl(var(--ring)/.5)}.border-ring\/60{border-color:hsl(var(--ring)/.6)}.border-rose-100{--tw-border-opacity:1;border-color:rgb(255 228 230/var(--tw-border-opacity,1))}.border-rose-300{--tw-border-opacity:1;border-color:rgb(253 164 175/var(--tw-border-opacity,1))}.border-sky-100{--tw-border-opacity:1;border-color:rgb(224 242 254/var(--tw-border-opacity,1))}.border-sky-300{--tw-border-opacity:1;border-color:rgb(125 211 252/var(--tw-border-opacity,1))}.border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-slate-200\/80{border-color:rgba(226,232,240,.8)}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.border-slate-400{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity,1))}.border-slate-700\/40{border-color:rgba(51,65,85,.4)}.border-slate-700\/50{border-color:rgba(51,65,85,.5)}.border-teal-300{--tw-border-opacity:1;border-color:rgb(94 234 212/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-violet-100{--tw-border-opacity:1;border-color:rgb(237 233 254/var(--tw-border-opacity,1))}.border-violet-200{--tw-border-opacity:1;border-color:rgb(221 214 254/var(--tw-border-opacity,1))}.border-violet-300{--tw-border-opacity:1;border-color:rgb(196 181 253/var(--tw-border-opacity,1))}.border-l-amber-400{--tw-border-opacity:1;border-left-color:rgb(251 191 36/var(--tw-border-opacity,1))}.border-l-amber-500{--tw-border-opacity:1;border-left-color:rgb(245 158 11/var(--tw-border-opacity,1))}.border-l-blue-500{--tw-border-opacity:1;border-left-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-l-emerald-500{--tw-border-opacity:1;border-left-color:rgb(16 185 129/var(--tw-border-opacity,1))}.border-l-red-500{--tw-border-opacity:1;border-left-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-l-sky-400{--tw-border-opacity:1;border-left-color:rgb(56 189 248/var(--tw-border-opacity,1))}.border-l-slate-300{--tw-border-opacity:1;border-left-color:rgb(203 213 225/var(--tw-border-opacity,1))}.border-l-slate-400{--tw-border-opacity:1;border-left-color:rgb(148 163 184/var(--tw-border-opacity,1))}.border-l-teal-400{--tw-border-opacity:1;border-left-color:rgb(45 212 191/var(--tw-border-opacity,1))}.border-l-violet-400{--tw-border-opacity:1;border-left-color:rgb(167 139 250/var(--tw-border-opacity,1))}.border-t-\[var\(--wui-border-strong\)\]{border-top-color:var(--wui-border-strong)}.border-t-amber-400{--tw-border-opacity:1;border-top-color:rgb(251 191 36/var(--tw-border-opacity,1))}.border-t-blue-400{--tw-border-opacity:1;border-top-color:rgb(96 165 250/var(--tw-border-opacity,1))}.border-t-emerald-400{--tw-border-opacity:1;border-top-color:rgb(52 211 153/var(--tw-border-opacity,1))}.border-t-indigo-400{--tw-border-opacity:1;border-top-color:rgb(129 140 248/var(--tw-border-opacity,1))}.border-t-red-300{--tw-border-opacity:1;border-top-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-t-red-400{--tw-border-opacity:1;border-top-color:rgb(248 113 113/var(--tw-border-opacity,1))}.border-t-slate-300{--tw-border-opacity:1;border-top-color:rgb(203 213 225/var(--tw-border-opacity,1))}.bg-\[\#282c34\]{--tw-bg-opacity:1;background-color:rgb(40 44 52/var(--tw-bg-opacity,1))}.bg-\[color-mix\(in_srgb\2c var\(--wui-bg-muted\)_96\%\2c var\(--wui-fg\)_4\%\)\]{background-color:color-mix(in srgb,var(--wui-bg-muted) 96%,var(--wui-fg) 4%)}.bg-\[color-mix\(in_srgb\2c var\(--wui-primary\)_10\%\2c transparent\)\]{background-color:color-mix(in srgb,var(--wui-primary) 10%,transparent)}.bg-\[color-mix\(in_srgb\2c var\(--wui-primary\)_12\%\2c transparent\)\]{background-color:color-mix(in srgb,var(--wui-primary) 12%,transparent)}.bg-\[color-mix\(in_srgb\2c var\(--wui-primary\)_14\%\2c transparent\)\]{background-color:color-mix(in srgb,var(--wui-primary) 14%,transparent)}.bg-\[color-mix\(in_srgb\2c var\(--wui-status-completed\)_10\%\2c transparent\)\]{background-color:color-mix(in srgb,var(--wui-status-completed) 10%,transparent)}.bg-\[color-mix\(in_srgb\2c var\(--wui-status-completed\)_12\%\2c transparent\)\]{background-color:color-mix(in srgb,var(--wui-status-completed) 12%,transparent)}.bg-\[color-mix\(in_srgb\2c var\(--wui-status-completed\)_14\%\2c transparent\)\]{background-color:color-mix(in srgb,var(--wui-status-completed) 14%,transparent)}.bg-\[color-mix\(in_srgb\2c var\(--wui-status-failed\)_10\%\2c transparent\)\]{background-color:color-mix(in srgb,var(--wui-status-failed) 10%,transparent)}.bg-\[color-mix\(in_srgb\2c var\(--wui-status-failed\)_8\%\2c transparent\)\]{background-color:color-mix(in srgb,var(--wui-status-failed) 8%,transparent)}.bg-\[color-mix\(in_srgb\2c var\(--wui-status-paused\)_10\%\2c transparent\)\]{background-color:color-mix(in srgb,var(--wui-status-paused) 10%,transparent)}.bg-\[color-mix\(in_srgb\2c var\(--wui-status-paused\)_14\%\2c transparent\)\]{background-color:color-mix(in srgb,var(--wui-status-paused) 14%,transparent)}.bg-\[color-mix\(in_srgb\2c var\(--wui-status-paused\)_18\%\2c transparent\)\]{background-color:color-mix(in srgb,var(--wui-status-paused) 18%,transparent)}.bg-\[color-mix\(in_srgb\2c var\(--wui-status-paused\)_8\%\2c transparent\)\]{background-color:color-mix(in srgb,var(--wui-status-paused) 8%,transparent)}.bg-\[var\(--wui-bg\)\]{background-color:var(--wui-bg)}.bg-\[var\(--wui-bg-muted\)\]{background-color:var(--wui-bg-muted)}.bg-\[var\(--wui-bg-subtle\)\]{background-color:var(--wui-bg-subtle)}.bg-\[var\(--wui-border\)\]{background-color:var(--wui-border)}.bg-\[var\(--wui-control-bg\)\]{background-color:var(--wui-control-bg)}.bg-\[var\(--wui-control-bg-hover\)\]{background-color:var(--wui-control-bg-hover)}.bg-\[var\(--wui-fg-muted\)\]{background-color:var(--wui-fg-muted)}.bg-\[var\(--wui-primary\)\]{background-color:var(--wui-primary)}.bg-\[var\(--wui-primary-light\)\]{background-color:var(--wui-primary-light)}.bg-\[var\(--wui-status-completed\)\]{background-color:var(--wui-status-completed)}.bg-\[var\(--wui-status-failed\)\]{background-color:var(--wui-status-failed)}.bg-\[var\(--wui-status-paused\)\]{background-color:var(--wui-status-paused)}.bg-\[var\(--wui-status-pending\)\]{background-color:var(--wui-status-pending)}.bg-\[var\(--wui-status-running\)\]{background-color:var(--wui-status-running)}.bg-\[var\(--wui-status-skipped\)\]{background-color:var(--wui-status-skipped)}.bg-\[var\(--wui-surface\)\]{background-color:var(--wui-surface)}.bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-amber-400\/60{background-color:rgba(251,191,36,.6)}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-amber-50\/20{background-color:rgba(255,251,235,.2)}.bg-amber-50\/50{background-color:rgba(255,251,235,.5)}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-background{--tw-bg-opacity:1;background-color:hsl(var(--background)/var(--tw-bg-opacity,1))}.bg-background\/80{background-color:hsl(var(--background)/.8)}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/10{background-color:rgba(0,0,0,.1)}.bg-black\/40{background-color:rgba(0,0,0,.4)}.bg-black\/50{background-color:rgba(0,0,0,.5)}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.bg-blue-50\/20{background-color:rgba(239,246,255,.2)}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-border{--tw-bg-opacity:1;background-color:hsl(var(--border)/var(--tw-bg-opacity,1))}.bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.bg-emerald-400\/60{background-color:rgba(52,211,153,.6)}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-foreground\/10{background-color:hsl(var(--foreground)/.1)}.bg-fuchsia-100{--tw-bg-opacity:1;background-color:rgb(250 232 255/var(--tw-bg-opacity,1))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.bg-indigo-400{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity,1))}.bg-indigo-50{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.bg-indigo-50\/30{background-color:rgba(238,242,255,.3)}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-400\/60{background-color:hsla(0,91%,71%,.6)}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-50\/60{background-color:hsla(0,86%,97%,.6)}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-rose-100{--tw-bg-opacity:1;background-color:rgb(255 228 230/var(--tw-bg-opacity,1))}.bg-rose-50{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}.bg-secondary{--tw-bg-opacity:1;background-color:hsl(var(--secondary)/var(--tw-bg-opacity,1))}.bg-secondary\/50{background-color:hsl(var(--secondary)/.5)}.bg-secondary\/60{background-color:hsl(var(--secondary)/.6)}.bg-sky-100{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity,1))}.bg-sky-400{--tw-bg-opacity:1;background-color:rgb(56 189 248/var(--tw-bg-opacity,1))}.bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.bg-sky-50\/50{background-color:rgba(240,249,255,.5)}.bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.bg-sky-500\/10{background-color:rgba(14,165,233,.1)}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-slate-50\/50{background-color:rgba(248,250,252,.5)}.bg-slate-900\/20{background-color:rgba(15,23,42,.2)}.bg-surface{--tw-bg-opacity:1;background-color:hsl(var(--surface-default)/var(--tw-bg-opacity,1))}.bg-surface-elevated{--tw-bg-opacity:1;background-color:hsl(var(--surface-elevated)/var(--tw-bg-opacity,1))}.bg-surface-muted{--tw-bg-opacity:1;background-color:hsl(var(--surface-muted)/var(--tw-bg-opacity,1))}.bg-surface-muted\/60{background-color:hsl(var(--surface-muted)/.6)}.bg-teal-400{--tw-bg-opacity:1;background-color:rgb(45 212 191/var(--tw-bg-opacity,1))}.bg-teal-50{--tw-bg-opacity:1;background-color:rgb(240 253 250/var(--tw-bg-opacity,1))}.bg-teal-50\/50{background-color:rgba(240,253,250,.5)}.bg-transparent{background-color:transparent}.bg-violet-100{--tw-bg-opacity:1;background-color:rgb(237 233 254/var(--tw-bg-opacity,1))}.bg-violet-400{--tw-bg-opacity:1;background-color:rgb(167 139 250/var(--tw-bg-opacity,1))}.bg-violet-50{--tw-bg-opacity:1;background-color:rgb(245 243 255/var(--tw-bg-opacity,1))}.bg-violet-50\/50{background-color:rgba(245,243,255,.5)}.bg-violet-500{--tw-bg-opacity:1;background-color:rgb(139 92 246/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/20{background-color:hsla(0,0%,100%,.2)}.bg-white\/95{background-color:hsla(0,0%,100%,.95)}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-\[var\(--wui-bg-subtle\)\]{--tw-gradient-from:var(--wui-bg-subtle) var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-50\/80{--tw-gradient-from:rgba(248,250,252,.8) var(--tw-gradient-from-position);--tw-gradient-to:rgba(248,250,252,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.to-white{--tw-gradient-to:#fff var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-px{padding-top:1px;padding-bottom:1px}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-0\.5{padding-left:.125rem}.pl-1{padding-left:.25rem}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-2\.5{padding-left:.625rem}.pl-3{padding-left:.75rem}.pl-3\.5{padding-left:.875rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-7{padding-left:1.75rem}.pl-8{padding-left:2rem}.pl-\[1\.05rem\]{padding-left:1.05rem}.pl-\[18px\]{padding-left:18px}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-7{padding-right:1.75rem}.pr-8{padding-right:2rem}.pr-9{padding-right:2.25rem}.pt-0\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-3\.5{padding-top:.875rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.85em\]{font-size:.85em}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-5{line-height:1.25rem}.leading-\[1\.55\]{line-height:1.55}.leading-\[1\.6\]{line-height:1.6}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[-0\.01em\]{letter-spacing:-.01em}.tracking-\[-0\.02em\]{letter-spacing:-.02em}.tracking-\[0\.04em\]{letter-spacing:.04em}.tracking-\[0\.08em\]{letter-spacing:.08em}.tracking-\[0\.09em\]{letter-spacing:.09em}.tracking-normal{letter-spacing:0}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[var\(--wui-border\)\]{color:var(--wui-border)}.text-\[var\(--wui-control-fg\)\]{color:var(--wui-control-fg)}.text-\[var\(--wui-fg\)\]{color:var(--wui-fg)}.text-\[var\(--wui-fg-muted\)\]{color:var(--wui-fg-muted)}.text-\[var\(--wui-primary\)\]{color:var(--wui-primary)}.text-\[var\(--wui-primary-fg\)\]{color:var(--wui-primary-fg)}.text-\[var\(--wui-status-completed\)\]{color:var(--wui-status-completed)}.text-\[var\(--wui-status-failed\)\]{color:var(--wui-status-failed)}.text-\[var\(--wui-status-paused\)\]{color:var(--wui-status-paused)}.text-\[var\(--wui-status-pending\)\]{color:var(--wui-status-pending)}.text-\[var\(--wui-status-running\)\]{color:var(--wui-status-running)}.text-\[var\(--wui-status-skipped\)\]{color:var(--wui-status-skipped)}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-foreground{--tw-text-opacity:1;color:hsl(var(--foreground)/var(--tw-text-opacity,1))}.text-fuchsia-700{--tw-text-opacity:1;color:rgb(162 28 175/var(--tw-text-opacity,1))}.text-indigo-300{--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.text-indigo-500{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-indigo-700{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.text-muted-foreground{--tw-text-opacity:1;color:hsl(var(--muted-foreground)/var(--tw-text-opacity,1))}.text-muted-foreground\/50{color:hsl(var(--muted-foreground)/.5)}.text-muted-foreground\/60{color:hsl(var(--muted-foreground)/.6)}.text-muted-foreground\/70{color:hsl(var(--muted-foreground)/.7)}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-orange-800{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-rose-700{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity,1))}.text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.text-sky-700{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-teal-600{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity,1))}.text-violet-400{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity,1))}.text-violet-600{--tw-text-opacity:1;color:rgb(124 58 237/var(--tw-text-opacity,1))}.text-violet-700{--tw-text-opacity:1;color:rgb(109 40 217/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.underline-offset-2{text-underline-offset:2px}.\!opacity-0{opacity:0!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-55{opacity:.55}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-95{opacity:.95}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-\[inset_3px_0_0_0_var\(--wui-primary\)\]{--tw-shadow:inset 3px 0 0 0 var(--wui-primary);--tw-shadow-colored:inset 3px 0 0 0 var(--tw-shadow-color)}.shadow-\[inset_3px_0_0_0_var\(--wui-primary\)\],.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-inset{--tw-ring-inset:inset}.ring-\[var\(--wui-border\)\]{--tw-ring-color:var(--wui-border)}.ring-\[var\(--wui-primary\)\]{--tw-ring-color:var(--wui-primary)}.ring-amber-200{--tw-ring-opacity:1;--tw-ring-color:rgb(253 230 138/var(--tw-ring-opacity,1))}.ring-amber-200\/60{--tw-ring-color:hsla(48,97%,77%,.6)}.ring-blue-300\/50{--tw-ring-color:rgba(147,197,253,.5)}.ring-border{--tw-ring-opacity:1;--tw-ring-color:hsl(var(--border)/var(--tw-ring-opacity,1))}.ring-emerald-200\/60{--tw-ring-color:rgba(167,243,208,.6)}.ring-indigo-100{--tw-ring-opacity:1;--tw-ring-color:rgb(224 231 255/var(--tw-ring-opacity,1))}.ring-indigo-200{--tw-ring-opacity:1;--tw-ring-color:rgb(199 210 254/var(--tw-ring-opacity,1))}.ring-indigo-200\/60{--tw-ring-color:rgba(199,210,254,.6)}.ring-red-200{--tw-ring-opacity:1;--tw-ring-color:rgb(254 202 202/var(--tw-ring-opacity,1))}.ring-red-200\/60{--tw-ring-color:hsla(0,96%,89%,.6)}.ring-red-300{--tw-ring-opacity:1;--tw-ring-color:rgb(252 165 165/var(--tw-ring-opacity,1))}.ring-ring\/25{--tw-ring-color:hsl(var(--ring)/0.25)}.ring-ring\/30{--tw-ring-color:hsl(var(--ring)/0.3)}.ring-sky-200{--tw-ring-opacity:1;--tw-ring-color:rgb(186 230 253/var(--tw-ring-opacity,1))}.ring-slate-100{--tw-ring-opacity:1;--tw-ring-color:rgb(241 245 249/var(--tw-ring-opacity,1))}.ring-slate-200{--tw-ring-opacity:1;--tw-ring-color:rgb(226 232 240/var(--tw-ring-opacity,1))}.ring-slate-200\/80{--tw-ring-color:rgba(226,232,240,.8)}.ring-teal-200{--tw-ring-opacity:1;--tw-ring-color:rgb(153 246 228/var(--tw-ring-opacity,1))}.ring-violet-200{--tw-ring-opacity:1;--tw-ring-color:rgb(221 214 254/var(--tw-ring-opacity,1))}.ring-white{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity,1))}.ring-offset-0{--tw-ring-offset-width:0px}.blur{--tw-blur:blur(8px)}.blur,.grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale:grayscale(100%)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-\[2px\]{--tw-backdrop-blur:blur(2px)}.backdrop-blur-\[2px\],.backdrop-blur-md{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[flex\2c opacity\]{transition-property:flex,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[flex\]{transition-property:flex;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[animation-delay\:0ms\]{animation-delay:0ms}.\[animation-delay\:150ms\]{animation-delay:.15s}.\[animation-delay\:300ms\]{animation-delay:.3s}.\[appearance\:textfield\]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.\[field-sizing\:content\]{field-sizing:content}.\[scrollbar-width\:none\]{scrollbar-width:none}.\[scrollbar-width\:thin\]{scrollbar-width:thin}:root,[data-workflow-ui]{--wui-bg:#fff;--wui-bg-subtle:#f8fafc;--wui-bg-muted:#f1f5f9;--wui-fg:#0f172a;--wui-fg-muted:#64748b;--wui-fg-subtle:#94a3b8;--wui-border:#e2e8f0;--wui-border-strong:#cbd5e1;--wui-primary:#6366f1;--wui-primary-hover:#4f46e5;--wui-primary-fg:#fff;--wui-primary-light:#eef2ff;--wui-primary-muted:#c7d2fe;--wui-cat-data:#0ea5e9;--wui-cat-data-light:#f0f9ff;--wui-cat-integration:#8b5cf6;--wui-cat-integration-light:#f5f3ff;--wui-cat-control:#f97316;--wui-cat-control-light:#fff7ed;--wui-cat-flow:#14b8a6;--wui-cat-flow-light:#f0fdfa;--wui-status-pending:#94a3b8;--wui-status-running:#6366f1;--wui-status-completed:#10b981;--wui-status-failed:#ef4444;--wui-status-paused:#f59e0b;--wui-status-skipped:#cbd5e1;--wui-shadow:0 1px 2px rgba(15,23,42,.05);--wui-shadow-md:0 4px 8px rgba(15,23,42,.08);--wui-shadow-lg:0 8px 24px rgba(15,23,42,.12),0 2px 8px rgba(15,23,42,.06);--wui-radius:0.5rem;--wui-radius-sm:0.375rem;--wui-radius-lg:0.75rem;--wui-duration:150ms;--wui-duration-slow:250ms;--wui-pulse-duration:2s}@keyframes wui-pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes wui-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes wui-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes wui-slide-in-right{0%{opacity:0;transform:translateX(8px)}to{opacity:1;transform:translateX(0)}}@keyframes wui-edge-dash{to{stroke-dashoffset:-20}}@keyframes wui-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes wui-glow{0%,to{box-shadow:0 0 0 0 rgba(99,102,241,.3)}50%{box-shadow:0 0 8px 2px rgba(99,102,241,.15)}}.react-flow__node{transition:filter .15s ease}.react-flow__edge-path{transition:stroke .15s ease}.react-flow__minimap{border-radius:var(--wui-radius)!important;border:1px solid var(--wui-border)!important;box-shadow:var(--wui-shadow)!important;overflow:hidden!important}.recharts-surface:focus,.recharts-wrapper :focus,.recharts-wrapper:focus{outline:none}.wui-scroll{scrollbar-width:thin;scrollbar-color:transparent transparent}.wui-scroll:focus-within,.wui-scroll:hover{scrollbar-color:var(--wui-border-strong) transparent}.wui-scroll::-webkit-scrollbar{width:9px;height:9px}.wui-scroll::-webkit-scrollbar-track{background:transparent}.wui-scroll::-webkit-scrollbar-thumb{background-color:transparent;border-radius:9999px;border:2px solid transparent;background-clip:content-box;-webkit-transition:background-color .15s ease;transition:background-color .15s ease}.wui-scroll:active::-webkit-scrollbar-thumb,.wui-scroll:focus-within::-webkit-scrollbar-thumb,.wui-scroll:hover::-webkit-scrollbar-thumb{background-color:var(--wui-border-strong)}.wui-scroll::-webkit-scrollbar-thumb:hover{background-color:var(--wui-fg-subtle)}.marker\:text-\[var\(--wui-fg-muted\)\] ::marker{color:var(--wui-fg-muted)}.marker\:text-\[var\(--wui-fg-muted\)\]::marker{color:var(--wui-fg-muted)}.placeholder\:text-\[var\(--wui-fg-muted\)\]::-moz-placeholder{color:var(--wui-fg-muted)}.placeholder\:text-\[var\(--wui-fg-muted\)\]::placeholder{color:var(--wui-fg-muted)}.placeholder\:text-muted-foreground\/70::-moz-placeholder{color:hsl(var(--muted-foreground)/.7)}.placeholder\:text-muted-foreground\/70::placeholder{color:hsl(var(--muted-foreground)/.7)}.placeholder\:text-slate-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.placeholder\:text-slate-400::placeholder{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.first\:mt-0:first-child{margin-top:0}.last\:mb-0:last-child{margin-bottom:0}.last\:border-0:last-child{border-width:0}.last\:border-r-0:last-child{border-right-width:0}.focus-within\:border-\[var\(--wui-primary\)\]:focus-within{border-color:var(--wui-primary)}.focus-within\:border-sky-500\/60:focus-within{border-color:rgba(14,165,233,.6)}.focus-within\:bg-\[var\(--wui-bg\)\]:focus-within{background-color:var(--wui-bg)}.focus-within\:opacity-100:focus-within{opacity:1}.focus-within\:ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-within\:ring-2:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-within\:ring-\[color-mix\(in_srgb\2c var\(--wui-primary\)_12\%\2c transparent\)\]:focus-within{--tw-ring-color:color-mix(in srgb,var(--wui-primary) 12%,transparent)}.focus-within\:ring-\[var\(--wui-primary\)\]:focus-within{--tw-ring-color:var(--wui-primary)}.focus-within\:ring-sky-500\/20:focus-within{--tw-ring-color:rgba(14,165,233,.2)}.hover\:-translate-y-px:hover{--tw-translate-y:-1px}.hover\:-translate-y-px:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-\[var\(--wui-border-strong\)\]:hover{border-color:var(--wui-border-strong)}.hover\:border-\[var\(--wui-fg-muted\)\]:hover{border-color:var(--wui-fg-muted)}.hover\:border-\[var\(--wui-primary\)\]:hover{border-color:var(--wui-primary)}.hover\:border-amber-300:hover{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.hover\:border-blue-300:hover{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.hover\:border-indigo-300:hover{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.hover\:border-indigo-400:hover{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.hover\:border-red-300:hover{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.hover\:border-ring\/40:hover{border-color:hsl(var(--ring)/.4)}.hover\:border-ring\/50:hover{border-color:hsl(var(--ring)/.5)}.hover\:border-slate-200:hover{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.hover\:border-slate-300:hover{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.hover\:border-slate-400:hover{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity,1))}.hover\:border-violet-300:hover{--tw-border-opacity:1;border-color:rgb(196 181 253/var(--tw-border-opacity,1))}.hover\:bg-\[color-mix\(in_srgb\2c var\(--wui-fg\)_5\%\2c transparent\)\]:hover{background-color:color-mix(in srgb,var(--wui-fg) 5%,transparent)}.hover\:bg-\[color-mix\(in_srgb\2c var\(--wui-fg\)_6\%\2c transparent\)\]:hover{background-color:color-mix(in srgb,var(--wui-fg) 6%,transparent)}.hover\:bg-\[color-mix\(in_srgb\2c var\(--wui-fg\)_8\%\2c transparent\)\]:hover{background-color:color-mix(in srgb,var(--wui-fg) 8%,transparent)}.hover\:bg-\[color-mix\(in_srgb\2c var\(--wui-primary\)_12\%\2c transparent\)\]:hover{background-color:color-mix(in srgb,var(--wui-primary) 12%,transparent)}.hover\:bg-\[color-mix\(in_srgb\2c var\(--wui-primary\)_16\%\2c transparent\)\]:hover{background-color:color-mix(in srgb,var(--wui-primary) 16%,transparent)}.hover\:bg-\[color-mix\(in_srgb\2c var\(--wui-primary\)_18\%\2c transparent\)\]:hover{background-color:color-mix(in srgb,var(--wui-primary) 18%,transparent)}.hover\:bg-\[color-mix\(in_srgb\2c var\(--wui-primary\)_40\%\2c transparent\)\]:hover{background-color:color-mix(in srgb,var(--wui-primary) 40%,transparent)}.hover\:bg-\[color-mix\(in_srgb\2c var\(--wui-primary\)_8\%\2c transparent\)\]:hover{background-color:color-mix(in srgb,var(--wui-primary) 8%,transparent)}.hover\:bg-\[color-mix\(in_srgb\2c var\(--wui-status-completed\)_18\%\2c transparent\)\]:hover{background-color:color-mix(in srgb,var(--wui-status-completed) 18%,transparent)}.hover\:bg-\[color-mix\(in_srgb\2c var\(--wui-status-failed\)_10\%\2c transparent\)\]:hover{background-color:color-mix(in srgb,var(--wui-status-failed) 10%,transparent)}.hover\:bg-\[color-mix\(in_srgb\2c var\(--wui-status-failed\)_18\%\2c transparent\)\]:hover{background-color:color-mix(in srgb,var(--wui-status-failed) 18%,transparent)}.hover\:bg-\[color-mix\(in_srgb\2c var\(--wui-status-paused\)_12\%\2c transparent\)\]:hover{background-color:color-mix(in srgb,var(--wui-status-paused) 12%,transparent)}.hover\:bg-\[var\(--wui-bg\)\]:hover{background-color:var(--wui-bg)}.hover\:bg-\[var\(--wui-bg-muted\)\]:hover{background-color:var(--wui-bg-muted)}.hover\:bg-\[var\(--wui-bg-subtle\)\]:hover{background-color:var(--wui-bg-subtle)}.hover\:bg-\[var\(--wui-border\)\]:hover{background-color:var(--wui-border)}.hover\:bg-\[var\(--wui-control-bg-hover\)\]:hover{background-color:var(--wui-control-bg-hover)}.hover\:bg-\[var\(--wui-primary-hover\)\]:hover{background-color:var(--wui-primary-hover)}.hover\:bg-amber-200:hover{--tw-bg-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity,1))}.hover\:bg-amber-50:hover{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.hover\:bg-amber-50\/50:hover{background-color:rgba(255,251,235,.5)}.hover\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.hover\:bg-blue-50\/50:hover{background-color:rgba(239,246,255,.5)}.hover\:bg-brand\/40:hover{background-color:hsl(var(--surface-brand)/.4)}.hover\:bg-emerald-50:hover{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.hover\:bg-emerald-600:hover{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.hover\:bg-indigo-50:hover{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.hover\:bg-indigo-50\/50:hover{background-color:rgba(238,242,255,.5)}.hover\:bg-indigo-600:hover{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.hover\:bg-indigo-700:hover{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity,1))}.hover\:bg-orange-100:hover{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.hover\:bg-red-100:hover{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\:bg-secondary:hover{--tw-bg-opacity:1;background-color:hsl(var(--secondary)/var(--tw-bg-opacity,1))}.hover\:bg-secondary\/40:hover{background-color:hsl(var(--secondary)/.4)}.hover\:bg-secondary\/60:hover{background-color:hsl(var(--secondary)/.6)}.hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.hover\:bg-slate-700\/50:hover{background-color:rgba(51,65,85,.5)}.hover\:bg-violet-50\/50:hover{background-color:rgba(245,243,255,.5)}.hover\:text-\[var\(--wui-control-fg\)\]:hover{color:var(--wui-control-fg)}.hover\:text-\[var\(--wui-fg\)\]:hover{color:var(--wui-fg)}.hover\:text-\[var\(--wui-primary\)\]:hover{color:var(--wui-primary)}.hover\:text-\[var\(--wui-primary-hover\)\]:hover{color:var(--wui-primary-hover)}.hover\:text-\[var\(--wui-status-failed\)\]:hover{color:var(--wui-status-failed)}.hover\:text-\[var\(--wui-status-paused\)\]:hover{color:var(--wui-status-paused)}.hover\:text-amber-500:hover{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.hover\:text-foreground:hover{--tw-text-opacity:1;color:hsl(var(--foreground)/var(--tw-text-opacity,1))}.hover\:text-indigo-500:hover{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.hover\:text-indigo-600:hover{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.hover\:text-indigo-700:hover{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.hover\:text-red-400:hover{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.hover\:text-red-500:hover{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.hover\:text-red-600:hover{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.hover\:text-slate-200:hover{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.hover\:text-slate-300:hover{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.hover\:text-slate-600:hover{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.hover\:text-slate-700:hover{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.hover\:text-violet-500:hover{--tw-text-opacity:1;color:rgb(139 92 246/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[var\(--wui-shadow-sm\)\]:hover{--tw-shadow-color:var(--wui-shadow-sm);--tw-shadow:var(--tw-shadow-colored)}.hover\:ring-1:hover{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.hover\:ring-indigo-200:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(199 210 254/var(--tw-ring-opacity,1))}.hover\:ring-red-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(252 165 165/var(--tw-ring-opacity,1))}.hover\:ring-slate-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity,1))}.hover\:brightness-95:hover{--tw-brightness:brightness(.95);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:border-\[var\(--wui-border-strong\)\]:focus{border-color:var(--wui-border-strong)}.focus\:border-\[var\(--wui-primary\)\]:focus{border-color:var(--wui-primary)}.focus\:border-\[var\(--wui-status-failed\)\]:focus{border-color:var(--wui-status-failed)}.focus\:border-\[var\(--wui-status-paused\)\]:focus{border-color:var(--wui-status-paused)}.focus\:border-indigo-300:focus{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.focus\:border-indigo-400:focus{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.focus\:border-red-400:focus{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.focus\:border-ring:focus{--tw-border-opacity:1;border-color:hsl(var(--ring)/var(--tw-border-opacity,1))}.focus\:bg-\[var\(--wui-surface\)\]:focus{background-color:var(--wui-surface)}.focus\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-\[color-mix\(in_srgb\2c var\(--wui-primary\)_12\%\2c transparent\)\]:focus{--tw-ring-color:color-mix(in srgb,var(--wui-primary) 12%,transparent)}.focus\:ring-\[color-mix\(in_srgb\2c var\(--wui-primary\)_22\%\2c transparent\)\]:focus{--tw-ring-color:color-mix(in srgb,var(--wui-primary) 22%,transparent)}.focus\:ring-\[color-mix\(in_srgb\2c var\(--wui-status-failed\)_25\%\2c transparent\)\]:focus{--tw-ring-color:color-mix(in srgb,var(--wui-status-failed) 25%,transparent)}.focus\:ring-\[var\(--wui-primary\)\]:focus{--tw-ring-color:var(--wui-primary)}.focus\:ring-\[var\(--wui-primary-light\)\]:focus{--tw-ring-color:var(--wui-primary-light)}.focus\:ring-indigo-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(224 231 255/var(--tw-ring-opacity,1))}.focus\:ring-indigo-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(199 210 254/var(--tw-ring-opacity,1))}.focus\:ring-red-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(254 226 226/var(--tw-ring-opacity,1))}.focus\:ring-red-500\/30:focus{--tw-ring-color:rgba(239,68,68,.3)}.focus\:ring-ring\/30:focus{--tw-ring-color:hsl(var(--ring)/0.3)}.focus-visible\:underline:focus-visible{text-decoration-line:underline}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset:inset}.focus-visible\:ring-\[color-mix\(in_srgb\2c var\(--wui-primary\)_30\%\2c transparent\)\]:focus-visible{--tw-ring-color:color-mix(in srgb,var(--wui-primary) 30%,transparent)}.focus-visible\:ring-\[var\(--wui-primary\)\]:focus-visible{--tw-ring-color:var(--wui-primary)}.focus-visible\:ring-\[var\(--wui-status-paused\)\]:focus-visible{--tw-ring-color:var(--wui-status-paused)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95}.active\:scale-95:active,.active\:scale-\[0\.99\]:active{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[0\.99\]:active{--tw-scale-x:0.99;--tw-scale-y:0.99}.active\:bg-\[color-mix\(in_srgb\2c var\(--wui-primary\)_55\%\2c transparent\)\]:active{background-color:color-mix(in srgb,var(--wui-primary) 55%,transparent)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.disabled\:hover\:bg-transparent:hover:disabled{background-color:transparent}.group:hover .group-hover\:flex{display:flex}.group:hover .group-hover\:hidden{display:none}.group:hover .group-hover\:translate-x-0\.5{--tw-translate-x:0.125rem}.group:hover .group-hover\:translate-x-0\.5,.group:hover .group-hover\:translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-y-0{--tw-translate-y:0px}.group:hover .group-hover\:border-\[var\(--wui-fg-muted\)\]{border-color:var(--wui-fg-muted)}.group:hover .group-hover\:bg-brand{--tw-bg-opacity:1;background-color:hsl(var(--surface-brand)/var(--tw-bg-opacity,1))}.group:hover .group-hover\:text-\[var\(--wui-fg\)\]{color:var(--wui-fg)}.group:hover .group-hover\:opacity-100,.group\/row:hover .group-hover\/row\:opacity-100{opacity:1}.group:hover .group-hover\:opacity-80{opacity:.8}.dark\:border-orange-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.dark\:border-red-700\/60:is(.dark *){border-color:rgba(185,28,28,.6)}.dark\:bg-orange-950\/30:is(.dark *){background-color:rgba(67,20,7,.3)}.dark\:text-orange-300:is(.dark *){--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.dark\:text-orange-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.dark\:shadow-xl:is(.dark *){--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.dark\:hover\:bg-orange-950\/50:hover:is(.dark *){background-color:rgba(67,20,7,.5)}.dark\:hover\:bg-red-950\/40:hover:is(.dark *){background-color:rgba(69,10,10,.4)}@media (min-width:640px){.sm\:block{display:block}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:768px){.md\:block{display:block}}@media (min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&\:\:-webkit-inner-spin-button\]\:appearance-none::-webkit-inner-spin-button,.\[\&\:\:-webkit-outer-spin-button\]\:appearance-none::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar,.\[\&\:\:-webkit-search-cancel-button\]\:hidden::-webkit-search-cancel-button{display:none}.\[\&\:\:-webkit-search-decoration\]\:hidden::-webkit-search-decoration{display:none}.\[\&\:not\(\:last-child\)\]\:border-r:not(:last-child){border-right-width:1px}.\[\&\:not\(\:last-child\)\]\:border-\[var\(--wui-border\)\]:not(:last-child){border-color:var(--wui-border)}.\[\&_\.ProseMirror\]\:leading-relaxed .ProseMirror{line-height:1.625}.\[\&_\.wui-docx\]\:\!w-full .wui-docx,.\[\&_\.wui-docx_section\]\:\!w-full .wui-docx section{width:100%!important}.\[\&_\.wui-docx_section\]\:\!max-w-none .wui-docx section{max-width:none!important}.\[\&_\.wui-docx_section\]\:\!p-0 .wui-docx section{padding:0!important}.\[\&_a\]\:text-\[var\(--wui-primary\)\] a{color:var(--wui-primary)}.\[\&_a\]\:underline a{text-decoration-line:underline}.\[\&_blockquote\]\:border-l-2 blockquote{border-left-width:2px}.\[\&_blockquote\]\:border-\[var\(--wui-border-strong\)\] blockquote{border-color:var(--wui-border-strong)}.\[\&_blockquote\]\:pl-3 blockquote{padding-left:.75rem}.\[\&_blockquote\]\:italic blockquote{font-style:italic}.\[\&_blockquote\]\:text-\[var\(--wui-fg-muted\)\] blockquote{color:var(--wui-fg-muted)}.\[\&_code\]\:rounded code{border-radius:.25rem}.\[\&_code\]\:border-0 code{border-width:0}.\[\&_code\]\:bg-\[var\(--wui-bg-muted\)\] code{background-color:var(--wui-bg-muted)}.\[\&_code\]\:bg-transparent code{background-color:transparent}.\[\&_code\]\:p-0 code{padding:0}.\[\&_code\]\:px-1 code{padding-left:.25rem;padding-right:.25rem}.\[\&_code\]\:py-0\.5 code{padding-top:.125rem;padding-bottom:.125rem}.\[\&_code\]\:font-mono code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.\[\&_code\]\:text-\[12px\] code{font-size:12px}.\[\&_code\]\:text-inherit code{color:inherit}.\[\&_code\]\:ring-0 code{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.\[\&_h1\]\:my-2 h1{margin-top:.5rem;margin-bottom:.5rem}.\[\&_h1\]\:text-base h1{font-size:1rem;line-height:1.5rem}.\[\&_h1\]\:font-bold h1{font-weight:700}.\[\&_h2\]\:my-1\.5 h2{margin-top:.375rem;margin-bottom:.375rem}.\[\&_h2\]\:text-sm h2{font-size:.875rem;line-height:1.25rem}.\[\&_h2\]\:font-bold h2{font-weight:700}.\[\&_h3\]\:my-1 h3{margin-top:.25rem;margin-bottom:.25rem}.\[\&_h3\]\:text-\[13px\] h3{font-size:13px}.\[\&_h3\]\:font-bold h3{font-weight:700}.\[\&_hr\]\:my-3 hr{margin-top:.75rem;margin-bottom:.75rem}.\[\&_hr\]\:border-\[var\(--wui-border\)\] hr{border-color:var(--wui-border)}.\[\&_ol\]\:my-1\.5 ol{margin-top:.375rem;margin-bottom:.375rem}.\[\&_ol\]\:list-decimal ol{list-style-type:decimal}.\[\&_ol\]\:pl-5 ol{padding-left:1.25rem}.\[\&_p\]\:my-1\.5 p{margin-top:.375rem;margin-bottom:.375rem}.\[\&_p\]\:leading-snug p{line-height:1.375}.\[\&_pre\]\:my-2 pre{margin-top:.5rem;margin-bottom:.5rem}.\[\&_pre\]\:rounded-md pre{border-radius:.375rem}.\[\&_pre\]\:bg-\[var\(--wui-bg-muted\)\] pre{background-color:var(--wui-bg-muted)}.\[\&_pre\]\:p-3 pre{padding:.75rem}.\[\&_pre\]\:text-\[12px\] pre{font-size:12px}.\[\&_pre\]\:text-\[var\(--wui-fg\)\] pre{color:var(--wui-fg)}.\[\&_pre_code\]\:bg-transparent pre code{background-color:transparent}.\[\&_pre_code\]\:p-0 pre code{padding:0}.\[\&_pre_code\]\:text-inherit pre code{color:inherit}.\[\&_tbody_tr\:last-child_td\]\:border-b-0 tbody tr:last-child td{border-bottom-width:0}.\[\&_tbody_tr\:nth-child\(2n\)\]\:bg-\[color-mix\(in_srgb\2c var\(--wui-fg\)_4\%\2c transparent\)\] tbody tr:nth-child(2n){background-color:color-mix(in srgb,var(--wui-fg) 4%,transparent)}.\[\&_ul\]\:my-1\.5 ul{margin-top:.375rem;margin-bottom:.375rem}.\[\&_ul\]\:list-disc ul{list-style-type:disc}.\[\&_ul\]\:pl-5 ul{padding-left:1.25rem}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyne/workflow-ui",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.2",
|
|
4
4
|
"description": "Workflow builder + execution-viewer React UI for @xyne/workflow-sdk.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"repository": {
|
|
@@ -60,9 +60,11 @@
|
|
|
60
60
|
"docx-preview": "^0.3.7",
|
|
61
61
|
"lucide-react": "^0.456.0",
|
|
62
62
|
"papaparse": "^5.5.4",
|
|
63
|
-
"read-excel-file": "^6.0.1",
|
|
64
63
|
"react-markdown": "^9.1.0",
|
|
64
|
+
"read-excel-file": "^6.0.1",
|
|
65
65
|
"recharts": "^3.8.1",
|
|
66
|
+
"rehype-raw": "^7.0.0",
|
|
67
|
+
"rehype-sanitize": "^6.0.0",
|
|
66
68
|
"remark-gfm": "^4.0.1",
|
|
67
69
|
"tailwind-merge": "^3.0.0",
|
|
68
70
|
"tiptap-markdown": "^0.8"
|