@burdenoff/fluidgrids-fe-sdk 2026.1113.4 → 2026.1113.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/{AiStudioPage-DmgLQG62.js → AiStudioPage-DzvEkuoS.js} +6 -6
  2. package/dist/{ApprovalInboxPage-BsJX4osU.js → ApprovalInboxPage-BIDGY0Qm.js} +8 -8
  3. package/dist/{DataSinkDashboardPage-iBalc66y.js → DataSinkDashboardPage-DYuBqD2Y.js} +15 -15
  4. package/dist/{DataTablesPage-BBvABuxE.js → DataTablesPage-CA4CGEcM.js} +15 -15
  5. package/dist/{ExecutionDetailPage-D1E_Rf3U.js → ExecutionDetailPage-CXiHGMVH.js} +131 -131
  6. package/dist/{ExecutionsListPage-LsqVMwck.js → ExecutionsListPage-DGHmXNTR.js} +77 -77
  7. package/dist/{FailureTriagePanel-CM-vmvbA.js → FailureTriagePanel-DA91XKVj.js} +3 -3
  8. package/dist/{FluidGridsProvider-BgP5c-hH.js → FluidGridsProvider-gB2POEu6.js} +1 -1
  9. package/dist/{HistoryPage-BTAkQ7O1.js → HistoryPage-8lQ6xf5Q.js} +12 -12
  10. package/dist/{InsightsPage-CVSoyuat.js → InsightsPage-q5agPRFA.js} +29 -29
  11. package/dist/{NodesPage-C5Dq-ru-.js → NodesPage-DeBc3zix.js} +10 -10
  12. package/dist/{PaidTemplateConfirm-DfFrr1pk.js → PaidTemplateConfirm-BadoJJPx.js} +1 -1
  13. package/dist/{QuotaExhaustedDialog-BHZm4tQy.js → QuotaExhaustedDialog-BBK3aX_0.js} +1 -1
  14. package/dist/{SettingsPage-DPWog4BR.js → SettingsPage-BfBa-qSk.js} +72 -72
  15. package/dist/{TaskQueuesPage-BwnNad_J.js → TaskQueuesPage-DsGNGmGN.js} +15 -15
  16. package/dist/{TemplateCard-trfaDJLe.js → TemplateCard-lKGodHU8.js} +2 -2
  17. package/dist/{TemplatePreview-BuEMVZiI.js → TemplatePreview-YGddO09g.js} +4 -4
  18. package/dist/{TemplatesPage-UISz_6vU.js → TemplatesPage-DZQDzv7d.js} +19 -19
  19. package/dist/{VariablesPage-CgUBKhAe.js → VariablesPage-2Q7gYE2N.js} +7 -7
  20. package/dist/{WorkflowBuilder-Cmj59UU-.js → WorkflowBuilder-DKqz8W6n.js} +3 -3
  21. package/dist/{WorkflowBuilder-nnSlI7Fd.js → WorkflowBuilder-DtSOvYST.js} +6 -6
  22. package/dist/{WorkflowProposalCard-zCdUpCk8.js → WorkflowProposalCard-SmRv_Egf.js} +1 -1
  23. package/dist/{WorkflowSearchRedirect-pEIU2nvw.js → WorkflowSearchRedirect-mX-YNhkj.js} +1 -1
  24. package/dist/{WorkflowsList-B6ASopzn.js → WorkflowsList-DBKQLEUU.js} +7 -7
  25. package/dist/{agentTools-7CFfwySg.js → agentTools-Dle04WMj.js} +1 -1
  26. package/dist/{api-BqA-f-AD.js → api-CEnNq15C.js} +1 -1
  27. package/dist/{api-BZVyX5d2.js → api-DKfMt0IX.js} +1 -1
  28. package/dist/{app-BJUvugPM.js → app-BIsCEL65.js} +5 -5
  29. package/dist/{canvasNoteTools-BikeF-pN.js → canvasNoteTools-Bror30X8.js} +1 -1
  30. package/dist/executions.js +2 -2
  31. package/dist/{flow-builder-CksAvhgV.js → flow-builder-CErj7Fgi.js} +21 -21
  32. package/dist/history.js +1 -1
  33. package/dist/index.js +71 -71
  34. package/dist/{logs-panel-DtG93ocy.js → logs-panel-2L4TLGcG.js} +10 -10
  35. package/dist/{node-detail-view-BgmxkGJe.js → node-detail-view-BqGpYHEE.js} +6 -6
  36. package/dist/{node-editor-tab-body-2Y-lqY4_.js → node-editor-tab-body-f2EIl5lh.js} +2 -2
  37. package/dist/nodes.js +1 -1
  38. package/dist/observability.js +2 -2
  39. package/dist/{popover-DL7fSPgH.js → popover-3Vs4f1Uy.js} +2 -2
  40. package/dist/{quick-config-panel-nmIRDTFB.js → quick-config-panel-Aja-lh3W.js} +3 -3
  41. package/dist/{schedule-panel-Bk5MJumG.js → schedule-panel-DCzLeJvi.js} +6 -6
  42. package/dist/settings.js +1 -1
  43. package/dist/{shared-Ctl9ZHo1.js → shared-C0LCTtyh.js} +3 -3
  44. package/dist/{sidebar-node-editor-BnUjER8A.js → sidebar-node-editor-CWdejdLi.js} +3 -3
  45. package/dist/templates.js +2 -2
  46. package/dist/{useAgentDefinitions-BmyWUoyo.js → useAgentDefinitions-DoMEv0kS.js} +1 -1
  47. package/dist/{useDurableParity-AowXKgBZ.js → useDurableParity-9mQYNpiP.js} +1 -1
  48. package/dist/{useExecutions-BemEN_Zb.js → useExecutions-BvldyVgF.js} +1 -1
  49. package/dist/{useGlobalStoreClient-BmjWfAjc.js → useGlobalStoreClient-CpTRykJx.js} +1 -1
  50. package/dist/{useObservability-BGrwZS5X.js → useObservability-Cps9Y9a3.js} +1 -1
  51. package/dist/{useRunHistory-GzyLco45.js → useRunHistory-DoxQsQIm.js} +9 -9
  52. package/dist/{useWorkflowCodeExport-ej7y3Gi3.js → useWorkflowCodeExport-BLl0hv2J.js} +1 -1
  53. package/dist/{useWorkflows-DwDzP-AD.js → useWorkflows-Z4M64JlD.js} +1 -1
  54. package/dist/workflow-builder.js +4 -4
  55. package/dist/workflow-pages.d.ts +1 -1
  56. package/dist/workflow-pages.js +18 -18
  57. package/dist/workflows-list.js +1 -1
  58. package/package.json +1 -1
@@ -1,14 +1,14 @@
1
1
  "use client";
2
2
  import { t as __exportAll } from "./rolldown-runtime-hDbaFkMy.js";
3
- import { c as errorAdvice, d as NodeStatusBadge, i as useRunPending, l as needsReconnect, n as useDurableParityRunFields, o as ConfirmStopRunDialog, r as useRunMetadata, t as setRunVersioningOverride, u as ExecutionStatusBadge } from "./useDurableParity-AowXKgBZ.js";
3
+ import { c as errorAdvice, d as NodeStatusBadge, i as useRunPending, l as needsReconnect, n as useDurableParityRunFields, o as ConfirmStopRunDialog, r as useRunMetadata, t as setRunVersioningOverride, u as ExecutionStatusBadge } from "./useDurableParity-9mQYNpiP.js";
4
4
  import { n as formatRunVersion, r as nodeDisplayTitle, t as buildNodeDisplayMap } from "./run-display-BycKYSU0.js";
5
5
  import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
6
6
  import { c as RunLogAppendedDocument, l as RunLogsDocument, s as isAgentNodeType } from "./agent-form-D0uLvzx4.js";
7
- import { C as describeRunStep, S as describeRunError, Xt as nodeStateDurationMs, Yt as formatElapsedMs, Zt as runDurationMs, dn as canSignalRun, gn as runSignalTargets, pn as durableInterfaceOf } from "./FluidGridsProvider-BgP5c-hH.js";
7
+ import { C as describeRunStep, S as describeRunError, Xt as nodeStateDurationMs, Yt as formatElapsedMs, Zt as runDurationMs, dn as canSignalRun, gn as runSignalTargets, pn as durableInterfaceOf } from "./FluidGridsProvider-gB2POEu6.js";
8
8
  import { n as useFgAskable, r as useFgAskableSelection } from "./askAboutBridge-BV8m95kk.js";
9
9
  import { n as useNavigationV2 } from "./useNavigationV2-C2WeqN7d.js";
10
10
  import { t as TechnicalDetails } from "./TechnicalDetails-D4xGy201.js";
11
- import { _ as shortRunId, g as runChainLinks, h as parseMetadataDefinition, m as overrideRequestOf, n as useExecution, p as callbackTone, r as useExecutionActions, s as buildRetryTriggerInput, t as useAutoRefresh } from "./useExecutions-BemEN_Zb.js";
11
+ import { _ as shortRunId, g as runChainLinks, h as parseMetadataDefinition, m as overrideRequestOf, n as useExecution, p as callbackTone, r as useExecutionActions, s as buildRetryTriggerInput, t as useAutoRefresh } from "./useExecutions-BvldyVgF.js";
12
12
  import { t as RunActionsMenu } from "./RunActionsMenu-BE_1r3bF.js";
13
13
  import { n as getFluidGridsClient, r as getFluidGridsClientSafe } from "./client-Ctl4jmY3.js";
14
14
  import { o as throwIfResultError, t as describeOperationError } from "./errors-xPZ-IbQd.js";
@@ -19,17 +19,17 @@ import { a as useRecipientLabel, n as ApprovalApprovers, t as channelLabel } fro
19
19
  import { r as useRunHumanRequests } from "./useHumanRequests-DwG2tQ3f.js";
20
20
  import { a as encodedPayloadBytes, f as EffectBadge, h as useRunPolicyDecisions, i as decodePayloads, l as formatBudgetUsd, n as checkCodecServerUrl, o as isEncodedPayload, r as containsEncodedPayload, t as CodecServerError } from "./codec-client-CAYl6j46.js";
21
21
  import { _ as agentLiveReplyState, a as canSaveRunAsTestCase, g as useAgentTokenStream, n as saveRunAsTestCase, t as useWorkflowProposal, v as agentTokenStreamsFor } from "./useWorkflowProposal-UtJYycLv.js";
22
- import { t as WorkflowProposalCard } from "./WorkflowProposalCard-zCdUpCk8.js";
22
+ import { t as WorkflowProposalCard } from "./WorkflowProposalCard-SmRv_Egf.js";
23
23
  import { t as AiCreditBalanceSlot } from "./aiCreditsBridge-BuE92tKo.js";
24
- import { a as fetchRunFailureClusters, i as dismissRunFailureCluster, r as OPEN_STATUSES, t as BUCKET_LABELS } from "./FailureTriagePanel-CM-vmvbA.js";
25
- import { a as useDurableRunFields, i as useDeterminismStatus, n as SignalRunDialog, o as useRunStackTrace, r as terminateDurableRun, s as RunHistoryView, t as useRunHistory } from "./useRunHistory-GzyLco45.js";
24
+ import { a as fetchRunFailureClusters, i as dismissRunFailureCluster, r as OPEN_STATUSES, t as BUCKET_LABELS } from "./FailureTriagePanel-DA91XKVj.js";
25
+ import { a as useDurableRunFields, i as useDeterminismStatus, n as SignalRunDialog, o as useRunStackTrace, r as terminateDurableRun, s as RunHistoryView, t as useRunHistory } from "./useRunHistory-DoxQsQIm.js";
26
26
  import { $P as VersioningBehavior, L as AgentStepKind, LI as WorkflowUpdateWaitFor, jd as ErrorType, yI as WorkflowQueryRejectCondition } from "./graphql-types-C5Tr6508.js";
27
27
  import { a as formatTokens, d as formatMicroUsd, o as modelLabel, r as aiCost } from "./ai-usage-D7SjIkUZ.js";
28
28
  import { _ as useWorkflowTestsEnabled, l as useDurableFunctionNodesEnabled, m as usePhaseCFlags, u as useDurableParityEnabled } from "./feature-flags-B_b8PJ6Z.js";
29
- import { A as revokeSignalToken, B as updateActivityOptions, D as resetActivities, E as queryRun, N as sendRunUpdate, O as resetRun, R as unpauseActivities, S as fetchSignalTokens, V as upsertRunSearchAttributes, _ as fetchPauseRules, b as fetchRunUpdate, d as failActivityById, g as fetchCodecServerSettings, i as completeActivityById, k as resetRunToLastCleanTask, s as createSignalToken, v as fetchRunControlFields, w as pauseActivities, y as fetchRunHistoryArchive } from "./api-BqA-f-AD.js";
30
- import { a as fetchTaskQueueStats } from "./api-BZVyX5d2.js";
31
- import { a as RUN_CONTROL_DIALOG_STYLE, c as parseJsonInput, i as NativeSelect, l as parseJsonObjectInput, n as JsonBlock, o as StatusPill, r as JsonField, s as newRunControlId, t as FieldError, u as useResource } from "./shared-Ctl9ZHo1.js";
32
- import { v as useWorkflowVersions } from "./useWorkflows-DwDzP-AD.js";
29
+ import { A as revokeSignalToken, B as updateActivityOptions, D as resetActivities, E as queryRun, N as sendRunUpdate, O as resetRun, R as unpauseActivities, S as fetchSignalTokens, V as upsertRunSearchAttributes, _ as fetchPauseRules, b as fetchRunUpdate, d as failActivityById, g as fetchCodecServerSettings, i as completeActivityById, k as resetRunToLastCleanTask, s as createSignalToken, v as fetchRunControlFields, w as pauseActivities, y as fetchRunHistoryArchive } from "./api-CEnNq15C.js";
30
+ import { a as fetchTaskQueueStats } from "./api-DKfMt0IX.js";
31
+ import { a as RUN_CONTROL_DIALOG_STYLE, c as parseJsonInput, i as NativeSelect, l as parseJsonObjectInput, n as JsonBlock, o as StatusPill, r as JsonField, s as newRunControlId, t as FieldError, u as useResource } from "./shared-C0LCTtyh.js";
32
+ import { v as useWorkflowVersions } from "./useWorkflows-Z4M64JlD.js";
33
33
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
34
34
  import { Link, useNavigate, useParams, useSearchParams } from "react-router";
35
35
  import { Icon } from "@iconify/react";
@@ -1518,7 +1518,7 @@ function RunHumanRequests({ requests }) {
1518
1518
  if (requests.length === 0) return null;
1519
1519
  const pending = requests.some((request) => request.status === "PENDING");
1520
1520
  return /* @__PURE__ */ jsxs("div", {
1521
- className: "mb-6 space-y-2 rounded-lg border border-border-secondary bg-background-secondary p-4",
1521
+ className: "mb-6 space-y-2 rounded-lg border border-border-default bg-surface p-4",
1522
1522
  "data-testid": "run-human-requests",
1523
1523
  children: [/* @__PURE__ */ jsxs("div", {
1524
1524
  className: "flex items-center gap-2 text-sm font-medium text-text-primary",
@@ -1874,15 +1874,15 @@ function NodeTimeline({ nodeStates, nodeDisplay, loading, triggerNodeId, onRetry
1874
1874
  className: "flex gap-2 mt-3 mb-3",
1875
1875
  children: [/* @__PURE__ */ jsx("button", {
1876
1876
  onClick: () => setSelectedTab("output"),
1877
- className: `px-3 py-1.5 text-sm rounded ${selectedTab === "output" ? "bg-action-primary-bg text-action-primary-text" : "bg-background-tertiary text-text-secondary"}`,
1877
+ className: `px-3 py-1.5 text-sm rounded ${selectedTab === "output" ? "bg-action-primary-bg text-action-primary-text" : "bg-surface-sunken text-text-secondary"}`,
1878
1878
  children: tr("fluidgrids.executions.nodeTimeline.outputTab", "Output")
1879
1879
  }), /* @__PURE__ */ jsx("button", {
1880
1880
  onClick: () => setSelectedTab("input"),
1881
- className: `px-3 py-1.5 text-sm rounded ${selectedTab === "input" ? "bg-action-primary-bg text-action-primary-text" : "bg-background-tertiary text-text-secondary"}`,
1881
+ className: `px-3 py-1.5 text-sm rounded ${selectedTab === "input" ? "bg-action-primary-bg text-action-primary-text" : "bg-surface-sunken text-text-secondary"}`,
1882
1882
  children: tr("fluidgrids.executions.nodeTimeline.inputTab", "Input")
1883
1883
  })]
1884
1884
  }), /* @__PURE__ */ jsx("div", {
1885
- className: "bg-background-primary rounded p-3 max-h-64 overflow-auto",
1885
+ className: "bg-surface-canvas rounded p-3 max-h-64 overflow-auto",
1886
1886
  children: /* @__PURE__ */ jsx("pre", {
1887
1887
  className: "text-xs text-text-primary whitespace-pre-wrap break-words font-mono",
1888
1888
  children: selectedTab === "output" ? formatJsonData(node.output) : formatJsonData(node.inputArgs)
@@ -1903,7 +1903,7 @@ function NodeTimeline({ nodeStates, nodeDisplay, loading, triggerNodeId, onRetry
1903
1903
  onViewAgentTrace && isAgentNodeType(node.nodeType) && /* @__PURE__ */ jsxs("button", {
1904
1904
  type: "button",
1905
1905
  onClick: () => onViewAgentTrace(node.nodeId),
1906
- className: "px-3 py-1.5 text-sm border border-border-secondary text-text-primary rounded hover:bg-background-tertiary flex items-center gap-1.5",
1906
+ className: "px-3 py-1.5 text-sm border border-border-default text-text-primary rounded hover:bg-surface-sunken flex items-center gap-1.5",
1907
1907
  children: [/* @__PURE__ */ jsx(Icon, {
1908
1908
  icon: "mdi:robot-outline",
1909
1909
  width: 16
@@ -1926,7 +1926,7 @@ function NodeTimeline({ nodeStates, nodeDisplay, loading, triggerNodeId, onRetry
1926
1926
  className: "text-xs text-text-secondary cursor-pointer hover:text-text-primary",
1927
1927
  children: tr("fluidgrids.executions.nodeTimeline.metadataSummary", "Metadata")
1928
1928
  }), /* @__PURE__ */ jsx("pre", {
1929
- className: "mt-2 text-xs text-text-secondary bg-background-tertiary p-2 rounded overflow-auto max-h-32",
1929
+ className: "mt-2 text-xs text-text-secondary bg-surface-sunken p-2 rounded overflow-auto max-h-32",
1930
1930
  children: formatJsonData(node.metadata)
1931
1931
  })]
1932
1932
  }) });
@@ -1935,7 +1935,7 @@ function NodeTimeline({ nodeStates, nodeDisplay, loading, triggerNodeId, onRetry
1935
1935
  className: "space-y-4",
1936
1936
  children: [...Array(4)].map((_, i) => /* @__PURE__ */ jsxs("div", {
1937
1937
  className: "flex gap-4 animate-pulse",
1938
- children: [/* @__PURE__ */ jsx("div", { className: "w-8 h-8 bg-background-tertiary rounded-full" }), /* @__PURE__ */ jsx("div", { className: "flex-1 h-20 bg-background-tertiary rounded-lg" })]
1938
+ children: [/* @__PURE__ */ jsx("div", { className: "w-8 h-8 bg-surface-sunken rounded-full" }), /* @__PURE__ */ jsx("div", { className: "flex-1 h-20 bg-surface-sunken rounded-lg" })]
1939
1939
  }, i))
1940
1940
  });
1941
1941
  if (nodeStates.length === 0) return /* @__PURE__ */ jsxs("div", {
@@ -1948,7 +1948,7 @@ function NodeTimeline({ nodeStates, nodeDisplay, loading, triggerNodeId, onRetry
1948
1948
  });
1949
1949
  return /* @__PURE__ */ jsxs("div", {
1950
1950
  className: "relative",
1951
- children: [/* @__PURE__ */ jsx("div", { className: "absolute left-4 top-8 bottom-8 w-0.5 bg-border-secondary" }), /* @__PURE__ */ jsx("div", {
1951
+ children: [/* @__PURE__ */ jsx("div", { className: "absolute left-4 top-8 bottom-8 w-0.5 bg-border-default" }), /* @__PURE__ */ jsx("div", {
1952
1952
  className: "space-y-4",
1953
1953
  children: sortedNodes.map((node, index) => {
1954
1954
  const isExpanded = isNodeOpen(node);
@@ -1973,7 +1973,7 @@ function NodeTimeline({ nodeStates, nodeDisplay, loading, triggerNodeId, onRetry
1973
1973
  children: [/* @__PURE__ */ jsxs("div", {
1974
1974
  className: `
1975
1975
  relative z-10 w-8 h-8 rounded-full flex items-center justify-center flex-shrink-0
1976
- ${node.status === "COMPLETED" ? "bg-[var(--color-status-success-bg-subtle)] text-[var(--color-status-success-text)]" : node.status === "FAILED" ? "bg-[var(--color-status-error-bg-subtle)] text-[var(--color-status-error-text)]" : node.status === "RUNNING" ? "bg-[var(--color-status-info-bg-subtle)] text-[var(--color-status-info-text)]" : node.status === "SKIPPED" ? "bg-muted text-tertiary" : "bg-muted text-tertiary"}
1976
+ ${node.status === "COMPLETED" ? "bg-[var(--color-status-success-bg-subtle)] text-[var(--color-status-success-text)]" : node.status === "FAILED" ? "bg-[var(--color-status-error-bg-subtle)] text-[var(--color-status-error-text)]" : node.status === "RUNNING" ? "bg-[var(--color-status-info-bg-subtle)] text-[var(--color-status-info-text)]" : node.status === "SKIPPED" ? "bg-muted text-text-muted" : "bg-muted text-text-muted"}
1977
1977
  `,
1978
1978
  children: [/* @__PURE__ */ jsx("span", {
1979
1979
  className: "text-xs font-bold",
@@ -1985,7 +1985,7 @@ function NodeTimeline({ nodeStates, nodeDisplay, loading, triggerNodeId, onRetry
1985
1985
  "data-testid": "run-step-card",
1986
1986
  className: `
1987
1987
  flex-1 rounded-lg border transition-all
1988
- ${hasError ? "bg-[var(--color-status-error-bg-subtle)] border-[var(--color-status-error-border)]" : isRunning ? "bg-[var(--color-status-info-bg-subtle)] border-[var(--color-status-info-border)]" : "bg-background-secondary border-border-secondary"}
1988
+ ${hasError ? "bg-[var(--color-status-error-bg-subtle)] border-[var(--color-status-error-border)]" : isRunning ? "bg-[var(--color-status-info-bg-subtle)] border-[var(--color-status-info-border)]" : "bg-surface border-border-default"}
1989
1989
  `,
1990
1990
  children: [
1991
1991
  /* @__PURE__ */ jsxs("button", {
@@ -2052,7 +2052,7 @@ function NodeTimeline({ nodeStates, nodeDisplay, loading, triggerNodeId, onRetry
2052
2052
  })]
2053
2053
  }),
2054
2054
  isExpanded && v2 && /* @__PURE__ */ jsxs("div", {
2055
- className: "px-4 pb-4 border-t border-border-secondary/50",
2055
+ className: "px-4 pb-4 border-t border-border-default/50",
2056
2056
  children: [
2057
2057
  hasError && /* @__PURE__ */ jsx(AskableSelectionDiv, {
2058
2058
  describe: describeStep,
@@ -2121,7 +2121,7 @@ function NodeTimeline({ nodeStates, nodeDisplay, loading, triggerNodeId, onRetry
2121
2121
  ]
2122
2122
  }),
2123
2123
  isExpanded && !v2 && /* @__PURE__ */ jsxs("div", {
2124
- className: "px-4 pb-4 border-t border-border-secondary/50",
2124
+ className: "px-4 pb-4 border-t border-border-default/50",
2125
2125
  children: [
2126
2126
  renderStepData(node),
2127
2127
  node.error && /* @__PURE__ */ jsxs(AskableSelectionDiv, {
@@ -2192,7 +2192,7 @@ const LEVEL_TEXT_CLASS = {
2192
2192
  ERROR: "text-[var(--color-status-error-text)]"
2193
2193
  };
2194
2194
  const LEVEL_BADGE_CLASS = {
2195
- DEBUG: "bg-muted text-tertiary",
2195
+ DEBUG: "bg-muted text-text-muted",
2196
2196
  INFO: "bg-[var(--color-status-info-bg)] text-[var(--color-status-info-text)]",
2197
2197
  WARN: "bg-[var(--color-status-warning-bg)] text-[var(--color-status-warning-text)]",
2198
2198
  ERROR: "bg-[var(--color-status-error-bg)] text-[var(--color-status-error-text)]"
@@ -2338,7 +2338,7 @@ function RunLogViewer({ runId, lines, nodeStates, nodeDisplay, loading, error, h
2338
2338
  if (loading && lines.length === 0) return /* @__PURE__ */ jsx("div", {
2339
2339
  className: "space-y-2",
2340
2340
  "data-testid": "run-log-loading",
2341
- children: [...Array(6)].map((_, i) => /* @__PURE__ */ jsx("div", { className: "h-6 bg-background-tertiary rounded animate-pulse" }, i))
2341
+ children: [...Array(6)].map((_, i) => /* @__PURE__ */ jsx("div", { className: "h-6 bg-surface-sunken rounded animate-pulse" }, i))
2342
2342
  });
2343
2343
  if (error && lines.length === 0) return /* @__PURE__ */ jsxs("div", {
2344
2344
  className: "bg-[var(--color-status-error-bg-subtle)] border border-[var(--color-status-error-border)] rounded-lg p-6 text-center",
@@ -2370,7 +2370,7 @@ function RunLogViewer({ runId, lines, nodeStates, nodeDisplay, loading, error, h
2370
2370
  onChange: (e) => setSearch(e.target.value),
2371
2371
  placeholder: tr("fluidgrids.executions.runLogViewer.searchPlaceholder", "Search log"),
2372
2372
  "aria-label": tr("fluidgrids.executions.runLogViewer.searchAriaLabel", "Search log"),
2373
- className: "w-full pl-8 pr-3 py-1.5 text-sm rounded border border-border-secondary bg-background-primary text-text-primary"
2373
+ className: "w-full pl-8 pr-3 py-1.5 text-sm rounded border border-border-default bg-surface-canvas text-text-primary"
2374
2374
  })]
2375
2375
  }),
2376
2376
  /* @__PURE__ */ jsxs("select", {
@@ -2463,7 +2463,7 @@ function RunLogViewer({ runId, lines, nodeStates, nodeDisplay, loading, error, h
2463
2463
  /* @__PURE__ */ jsxs("div", {
2464
2464
  ref: scrollRef,
2465
2465
  onScroll: handleScroll,
2466
- className: "max-h-[600px] overflow-auto rounded-lg border border-border-secondary bg-background-primary",
2466
+ className: "max-h-[600px] overflow-auto rounded-lg border border-border-default bg-surface-canvas",
2467
2467
  children: [groups.length === 0 ? /* @__PURE__ */ jsxs("div", {
2468
2468
  className: "text-center py-10 text-text-secondary",
2469
2469
  children: [/* @__PURE__ */ jsx(Icon, {
@@ -2474,11 +2474,11 @@ function RunLogViewer({ runId, lines, nodeStates, nodeDisplay, loading, error, h
2474
2474
  }) : groups.map((group) => {
2475
2475
  const groupCollapsed = isCollapsed(group);
2476
2476
  return /* @__PURE__ */ jsxs("div", {
2477
- className: "border-b border-border-secondary last:border-b-0",
2477
+ className: "border-b border-border-default last:border-b-0",
2478
2478
  children: [/* @__PURE__ */ jsxs("button", {
2479
2479
  onClick: () => toggleGroup(group.key, groupCollapsed),
2480
2480
  "aria-expanded": !groupCollapsed,
2481
- className: "w-full flex items-center gap-2 px-3 py-2 text-left hover:bg-background-tertiary transition-colors",
2481
+ className: "w-full flex items-center gap-2 px-3 py-2 text-left hover:bg-surface-sunken transition-colors",
2482
2482
  children: [
2483
2483
  /* @__PURE__ */ jsx(Icon, {
2484
2484
  icon: groupCollapsed ? "mdi:chevron-right" : "mdi:chevron-down",
@@ -2503,7 +2503,7 @@ function RunLogViewer({ runId, lines, nodeStates, nodeDisplay, loading, error, h
2503
2503
  className: "font-mono text-xs",
2504
2504
  children: group.lines.map((line) => /* @__PURE__ */ jsxs("div", {
2505
2505
  id: `L${line.id}`,
2506
- className: `group flex items-start gap-2 px-3 py-0.5 hover:bg-background-tertiary ${highlighted === line.id ? "bg-[var(--color-status-info-bg-subtle)]" : ""}`,
2506
+ className: `group flex items-start gap-2 px-3 py-0.5 hover:bg-surface-sunken ${highlighted === line.id ? "bg-[var(--color-status-info-bg-subtle)]" : ""}`,
2507
2507
  children: [
2508
2508
  showTimestamps && /* @__PURE__ */ jsx("span", {
2509
2509
  className: "text-text-secondary whitespace-nowrap select-none",
@@ -2559,7 +2559,7 @@ const TONE = {
2559
2559
  };
2560
2560
  function RunSummaryCard({ status, sentence, onRunAgain, runAgainBusy, onOpenWorkflow, reconnectTo }) {
2561
2561
  const tr = useTr();
2562
- const tone = TONE[status] ?? "border-border-secondary bg-background-secondary";
2562
+ const tone = TONE[status] ?? "border-border-default bg-surface";
2563
2563
  return /* @__PURE__ */ jsxs("section", {
2564
2564
  "aria-label": tr("fluidgrids.executions.runSummary.heading", "What happened"),
2565
2565
  "data-testid": "run-summary-card",
@@ -2972,7 +2972,7 @@ function RunCallPath({ view, parentRunId }) {
2972
2972
  className: "flex min-w-0 items-center gap-1",
2973
2973
  children: [index > 0 && /* @__PURE__ */ jsx(Icon, {
2974
2974
  icon: "mdi:chevron-right",
2975
- className: "text-text-tertiary",
2975
+ className: "text-text-muted",
2976
2976
  width: 14,
2977
2977
  "aria-hidden": true
2978
2978
  }), /* @__PURE__ */ jsx(Link, {
@@ -3002,7 +3002,7 @@ function ChildRunsPanel({ view, nodeDisplay, formatDateTime }) {
3002
3002
  const children = view?.children ?? [];
3003
3003
  if (children.length === 0) return null;
3004
3004
  return /* @__PURE__ */ jsxs("section", {
3005
- className: "mb-6 rounded-lg border border-border-secondary bg-background-secondary p-4",
3005
+ className: "mb-6 rounded-lg border border-border-default bg-surface p-4",
3006
3006
  "aria-labelledby": "run-child-runs-heading",
3007
3007
  "data-testid": "run-child-runs",
3008
3008
  children: [
@@ -3018,7 +3018,7 @@ function ChildRunsPanel({ view, nodeDisplay, formatDateTime }) {
3018
3018
  children: tr("fluidgrids.executions.hierarchy.childRunsTitle", "Child runs")
3019
3019
  }),
3020
3020
  /* @__PURE__ */ jsx("span", {
3021
- className: "rounded-full bg-background-tertiary px-2 py-0.5 text-xs text-text-secondary",
3021
+ className: "rounded-full bg-surface-sunken px-2 py-0.5 text-xs text-text-secondary",
3022
3022
  children: children.length.toLocaleString()
3023
3023
  })
3024
3024
  ]
@@ -3028,12 +3028,12 @@ function ChildRunsPanel({ view, nodeDisplay, formatDateTime }) {
3028
3028
  children: tr("fluidgrids.executions.hierarchy.truncated", "This call tree has more runs than can be listed here, so some child runs may be missing.")
3029
3029
  }),
3030
3030
  /* @__PURE__ */ jsx("ul", {
3031
- className: "mt-3 divide-y divide-border-secondary",
3031
+ className: "mt-3 divide-y divide-border-default",
3032
3032
  children: children.map((child) => {
3033
3033
  const node = child.parentNodeId ? nodeDisplay[child.parentNodeId]?.label ?? child.parentNodeId : null;
3034
3034
  return /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs(Link, {
3035
3035
  to: runPath(child.id),
3036
- className: "flex flex-col gap-1 py-2 hover:bg-background-tertiary sm:flex-row sm:items-center sm:gap-3",
3036
+ className: "flex flex-col gap-1 py-2 hover:bg-surface-sunken sm:flex-row sm:items-center sm:gap-3",
3037
3037
  "data-testid": "run-child-run",
3038
3038
  children: [
3039
3039
  /* @__PURE__ */ jsx(ExecutionStatusBadge, {
@@ -3091,7 +3091,7 @@ function RunPolicyDecisions({ decisions, waiting, onDecide }) {
3091
3091
  }
3092
3092
  };
3093
3093
  return /* @__PURE__ */ jsxs("div", {
3094
- className: "mb-6 rounded-lg border border-border-secondary bg-background-secondary p-4",
3094
+ className: "mb-6 rounded-lg border border-border-default bg-surface p-4",
3095
3095
  "data-testid": "run-policy-decisions",
3096
3096
  children: [
3097
3097
  /* @__PURE__ */ jsx("h3", {
@@ -3160,7 +3160,7 @@ function RunDataPrunedNotice({ dataPrunedAt }) {
3160
3160
  const tr = useTr();
3161
3161
  if (!dataPrunedAt) return null;
3162
3162
  return /* @__PURE__ */ jsxs("div", {
3163
- className: "mb-6 rounded-lg border border-border-secondary bg-background-secondary p-4",
3163
+ className: "mb-6 rounded-lg border border-border-default bg-surface p-4",
3164
3164
  "data-testid": "run-data-pruned-notice",
3165
3165
  children: [/* @__PURE__ */ jsxs("div", {
3166
3166
  className: "flex items-center gap-2 text-sm font-medium text-text-primary",
@@ -3222,7 +3222,7 @@ function RunQueuedBanner({ status, context }) {
3222
3222
  const since = new Date(marker.queuedAt).toLocaleString();
3223
3223
  const workspace = marker.scope === "WORKSPACE";
3224
3224
  return /* @__PURE__ */ jsxs("div", {
3225
- className: "mb-6 rounded-lg border border-border-secondary bg-background-secondary p-4",
3225
+ className: "mb-6 rounded-lg border border-border-default bg-surface p-4",
3226
3226
  "data-testid": "run-queued-banner",
3227
3227
  "data-queue-scope": marker.scope,
3228
3228
  children: [
@@ -3238,7 +3238,7 @@ function RunQueuedBanner({ status, context }) {
3238
3238
  children: workspace ? tr("fluidgrids.executions.queued.workspaceBody", "This workspace allows {{limit}} runs at a time across all its workflows and {{active}} are in progress. This run is number {{position}} in line and starts automatically when a slot frees up.", numbers) : tr("fluidgrids.executions.queued.body", "This workflow allows {{limit}} runs at a time and {{active}} are in progress. This run is number {{position}} in line and starts automatically when a slot frees up.", numbers)
3239
3239
  }),
3240
3240
  /* @__PURE__ */ jsx("p", {
3241
- className: "mt-1 text-xs text-text-tertiary",
3241
+ className: "mt-1 text-xs text-text-muted",
3242
3242
  children: workspace ? tr("fluidgrids.executions.queued.workspaceSince", "Queued since {{time}} · the limit comes from your workspace's plan", { time: since }) : tr("fluidgrids.executions.queued.since", "Queued since {{time}} · change the limit in the workflow's Settings (Max parallel executions)", { time: since })
3243
3243
  })
3244
3244
  ]
@@ -3304,7 +3304,7 @@ function RunBudgetPanel({ budget }) {
3304
3304
  const stopped = budget.exceeded.find((event) => event.mode === "HARD");
3305
3305
  const warned = budget.exceeded.filter((event) => event.mode === "SOFT");
3306
3306
  return /* @__PURE__ */ jsxs("div", {
3307
- className: "mb-6 rounded-lg border border-border-secondary bg-background-secondary p-4",
3307
+ className: "mb-6 rounded-lg border border-border-default bg-surface p-4",
3308
3308
  "data-testid": "run-budget-panel",
3309
3309
  children: [
3310
3310
  /* @__PURE__ */ jsxs("div", {
@@ -3355,14 +3355,14 @@ function RunBudgetPanel({ budget }) {
3355
3355
  })
3356
3356
  ]
3357
3357
  }), /* @__PURE__ */ jsx("div", {
3358
- className: "mt-1 h-1.5 w-full overflow-hidden rounded-full bg-background-tertiary",
3358
+ className: "mt-1 h-1.5 w-full overflow-hidden rounded-full bg-surface-sunken",
3359
3359
  role: "progressbar",
3360
3360
  "aria-label": label(dimension),
3361
3361
  "aria-valuemin": 0,
3362
3362
  "aria-valuemax": 100,
3363
3363
  "aria-valuenow": value === null ? void 0 : Math.round(share * 100),
3364
3364
  children: /* @__PURE__ */ jsx("div", {
3365
- className: over ? limit.mode === "HARD" ? "h-full bg-status-error" : "h-full bg-status-warning" : "h-full bg-primary",
3365
+ className: over ? limit.mode === "HARD" ? "h-full bg-error" : "h-full bg-warning" : "h-full bg-primary",
3366
3366
  style: { width: `${Math.round(share * 100)}%` }
3367
3367
  })
3368
3368
  })]
@@ -3426,7 +3426,7 @@ function RunAiAssistPanel({ runId, status, canPropose, canApply, onOpenWorkflow
3426
3426
  }, [proposal, tr]);
3427
3427
  if (status !== "FAILED" && status !== "TERMINATED") return null;
3428
3428
  return /* @__PURE__ */ jsxs("section", {
3429
- className: "mb-6 rounded-lg border border-border-secondary bg-background-primary p-4",
3429
+ className: "mb-6 rounded-lg border border-border-default bg-surface-canvas p-4",
3430
3430
  "data-testid": "run-ai-assist",
3431
3431
  children: [
3432
3432
  /* @__PURE__ */ jsxs("div", {
@@ -3477,7 +3477,7 @@ function RunAiAssistPanel({ runId, status, canPropose, canApply, onOpenWorkflow
3477
3477
  children: explanation.cause
3478
3478
  }),
3479
3479
  explanation.evidence.length > 0 && /* @__PURE__ */ jsx("pre", {
3480
- className: "max-h-40 overflow-auto whitespace-pre-wrap rounded bg-background-secondary p-2 text-xs text-text-secondary",
3480
+ className: "max-h-40 overflow-auto whitespace-pre-wrap rounded bg-surface p-2 text-xs text-text-secondary",
3481
3481
  children: explanation.evidence.join("\n")
3482
3482
  }),
3483
3483
  explanation.suggestions.length > 0 && /* @__PURE__ */ jsx("ul", {
@@ -3559,7 +3559,7 @@ function RunFailureClusterCard({ runId, status, canApply, onOpenWorkflow }) {
3559
3559
  if (!failed || !cluster) return null;
3560
3560
  const bucket = BUCKET_LABELS[String(cluster.bucket)];
3561
3561
  return /* @__PURE__ */ jsxs("section", {
3562
- className: "mb-6 rounded-lg border border-border-secondary bg-background-primary p-4",
3562
+ className: "mb-6 rounded-lg border border-border-default bg-surface-canvas p-4",
3563
3563
  "data-testid": "run-failure-cluster",
3564
3564
  "data-bucket": String(cluster.bucket),
3565
3565
  children: [
@@ -3576,7 +3576,7 @@ function RunFailureClusterCard({ runId, status, canApply, onOpenWorkflow }) {
3576
3576
  children: tr("fluidgrids.triage.runCardTitle", "Repeated failure")
3577
3577
  }),
3578
3578
  /* @__PURE__ */ jsxs("span", {
3579
- className: "inline-flex items-center gap-1 rounded-full bg-background-secondary px-2 py-0.5 text-xs text-text-secondary",
3579
+ className: "inline-flex items-center gap-1 rounded-full bg-surface px-2 py-0.5 text-xs text-text-secondary",
3580
3580
  children: [bucket && /* @__PURE__ */ jsx(Icon, {
3581
3581
  icon: bucket.icon,
3582
3582
  width: 14
@@ -3648,7 +3648,7 @@ const CAUSE_LABELS = {
3648
3648
  function HotfixCommandRow({ command }) {
3649
3649
  const tr = useTr();
3650
3650
  return /* @__PURE__ */ jsxs("div", {
3651
- className: "flex items-center gap-2 rounded bg-background-tertiary p-2",
3651
+ className: "flex items-center gap-2 rounded bg-surface-sunken p-2",
3652
3652
  children: [/* @__PURE__ */ jsx("code", {
3653
3653
  className: "flex-1 font-mono text-sm text-text-primary",
3654
3654
  children: command
@@ -3830,14 +3830,14 @@ const COMPONENTS = {
3830
3830
  },
3831
3831
  img: ({ alt }) => /* @__PURE__ */ jsx("span", { children: alt ?? "" }),
3832
3832
  code: ({ children }) => /* @__PURE__ */ jsx("code", {
3833
- className: "rounded bg-background-tertiary px-1 py-0.5 font-mono text-xs text-text-primary",
3833
+ className: "rounded bg-surface-sunken px-1 py-0.5 font-mono text-xs text-text-primary",
3834
3834
  children
3835
3835
  }),
3836
3836
  pre: ({ children }) => /* @__PURE__ */ jsx("pre", {
3837
- className: "mb-2 overflow-auto rounded bg-background-tertiary p-2 font-mono text-xs",
3837
+ className: "mb-2 overflow-auto rounded bg-surface-sunken p-2 font-mono text-xs",
3838
3838
  children
3839
3839
  }),
3840
- hr: () => /* @__PURE__ */ jsx("hr", { className: "my-2 border-border-secondary" })
3840
+ hr: () => /* @__PURE__ */ jsx("hr", { className: "my-2 border-border-default" })
3841
3841
  };
3842
3842
  /** Keeps the link target for the `a` renderer to check; never an image URL. */
3843
3843
  function urlTransform(url, key) {
@@ -3901,7 +3901,7 @@ function MetadataSection({ metadata }) {
3901
3901
  if (!hasHandlers && !metadata.currentDetails) return null;
3902
3902
  return /* @__PURE__ */ jsxs("div", {
3903
3903
  "data-testid": "waiting-at-metadata",
3904
- className: "mt-3 space-y-3 border-t border-border-secondary pt-3",
3904
+ className: "mt-3 space-y-3 border-t border-border-default pt-3",
3905
3905
  children: [metadata.currentDetails && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("h5", {
3906
3906
  className: "text-xs font-medium uppercase tracking-wide text-text-secondary",
3907
3907
  children: tr("fluidgrids.executions.waitingAt.currentDetails", "Now")
@@ -3931,7 +3931,7 @@ function WaitingAtPanel({ trace, loading, error, onRefresh, metadata }) {
3931
3931
  const tr = useTr();
3932
3932
  return /* @__PURE__ */ jsxs("section", {
3933
3933
  "data-testid": "waiting-at-panel",
3934
- className: "rounded-md border border-border-secondary bg-background-primary p-3",
3934
+ className: "rounded-md border border-border-default bg-surface-canvas p-3",
3935
3935
  children: [
3936
3936
  /* @__PURE__ */ jsxs("div", {
3937
3937
  className: "mb-2 flex items-center gap-2",
@@ -3966,7 +3966,7 @@ function WaitingAtPanel({ trace, loading, error, onRefresh, metadata }) {
3966
3966
  " ",
3967
3967
  error
3968
3968
  ]
3969
- }) : loading && trace === null ? /* @__PURE__ */ jsx("div", { className: "h-12 animate-pulse rounded bg-background-tertiary" }) : trace ? /* @__PURE__ */ jsx("pre", {
3969
+ }) : loading && trace === null ? /* @__PURE__ */ jsx("div", { className: "h-12 animate-pulse rounded bg-surface-sunken" }) : trace ? /* @__PURE__ */ jsx("pre", {
3970
3970
  className: "max-h-64 overflow-auto whitespace-pre-wrap break-words font-mono text-xs text-text-primary",
3971
3971
  children: trace
3972
3972
  }) : /* @__PURE__ */ jsx("p", {
@@ -4253,7 +4253,7 @@ function CostValue({ usage, tr }) {
4253
4253
  }
4254
4254
  function Stat({ label, children, detail }) {
4255
4255
  return /* @__PURE__ */ jsxs("div", {
4256
- className: "rounded-lg border border-border-secondary bg-background-primary p-3",
4256
+ className: "rounded-lg border border-border-default bg-surface-canvas p-3",
4257
4257
  children: [
4258
4258
  /* @__PURE__ */ jsx("p", {
4259
4259
  className: "text-xs text-text-secondary",
@@ -4307,7 +4307,7 @@ function AiUsageRollup({ usage, loading, error, onRefresh, nodeDisplay, tr }) {
4307
4307
  2,
4308
4308
  3,
4309
4309
  4
4310
- ].map((item) => /* @__PURE__ */ jsx("div", { className: "h-20 animate-pulse rounded-lg bg-background-tertiary" }, item))
4310
+ ].map((item) => /* @__PURE__ */ jsx("div", { className: "h-20 animate-pulse rounded-lg bg-surface-sunken" }, item))
4311
4311
  }),
4312
4312
  total ? /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs("div", {
4313
4313
  className: "grid grid-cols-2 gap-3 lg:grid-cols-4",
@@ -4347,11 +4347,11 @@ function AiUsageRollup({ usage, loading, error, onRefresh, nodeDisplay, tr }) {
4347
4347
  }
4348
4348
  function UsageLines({ lines, nodeDisplay, tr }) {
4349
4349
  return /* @__PURE__ */ jsx("div", {
4350
- className: "overflow-x-auto rounded-lg border border-border-secondary",
4350
+ className: "overflow-x-auto rounded-lg border border-border-default",
4351
4351
  children: /* @__PURE__ */ jsxs("table", {
4352
4352
  className: "w-full min-w-[560px] text-sm",
4353
4353
  children: [/* @__PURE__ */ jsx("thead", {
4354
- className: "bg-background-tertiary text-left text-xs text-text-secondary",
4354
+ className: "bg-surface-sunken text-left text-xs text-text-secondary",
4355
4355
  children: /* @__PURE__ */ jsxs("tr", { children: [
4356
4356
  /* @__PURE__ */ jsx("th", {
4357
4357
  className: "px-3 py-2 font-medium",
@@ -4375,7 +4375,7 @@ function UsageLines({ lines, nodeDisplay, tr }) {
4375
4375
  })
4376
4376
  ] })
4377
4377
  }), /* @__PURE__ */ jsx("tbody", { children: lines.map((line) => /* @__PURE__ */ jsxs("tr", {
4378
- className: "border-t border-border-secondary",
4378
+ className: "border-t border-border-default",
4379
4379
  children: [
4380
4380
  /* @__PURE__ */ jsx("td", {
4381
4381
  className: "px-3 py-2 text-text-primary",
@@ -4423,7 +4423,7 @@ function AgentNodeCard({ trace, steps, liveReplies, runLive, title, focused, tr
4423
4423
  ref,
4424
4424
  "aria-label": title,
4425
4425
  "data-agent-node": trace.nodeId,
4426
- className: `rounded-lg border bg-background-primary p-4 ${focused ? "border-action-primary-bg" : "border-border-secondary"}`,
4426
+ className: `rounded-lg border bg-surface-canvas p-4 ${focused ? "border-action-primary-bg" : "border-border-default"}`,
4427
4427
  children: [
4428
4428
  /* @__PURE__ */ jsxs("div", {
4429
4429
  className: "flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between",
@@ -4527,7 +4527,7 @@ function AgentNodeCard({ trace, steps, liveReplies, runLive, title, focused, tr
4527
4527
  className: "cursor-pointer text-sm font-medium text-text-primary",
4528
4528
  children: tr("fluidgrids.executions.executionDetail.agent.finalResponse", "Final response")
4529
4529
  }), /* @__PURE__ */ jsx("pre", {
4530
- className: "mt-2 max-h-80 overflow-auto rounded bg-background-tertiary p-3 font-mono text-xs whitespace-pre-wrap break-words text-text-primary",
4530
+ className: "mt-2 max-h-80 overflow-auto rounded bg-surface-sunken p-3 font-mono text-xs whitespace-pre-wrap break-words text-text-primary",
4531
4531
  children: trace.response
4532
4532
  })]
4533
4533
  })
@@ -4562,7 +4562,7 @@ function PendingApprovals({ trace, tr }) {
4562
4562
  }), trace.pendingApprovals.length > 0 && /* @__PURE__ */ jsx("ul", {
4563
4563
  className: "mt-2 space-y-2",
4564
4564
  children: trace.pendingApprovals.map((call) => /* @__PURE__ */ jsxs("li", {
4565
- className: "rounded bg-background-primary p-2",
4565
+ className: "rounded bg-surface-canvas p-2",
4566
4566
  children: [/* @__PURE__ */ jsx("p", {
4567
4567
  className: "font-mono text-xs font-medium text-text-primary",
4568
4568
  children: call.tool
@@ -4577,7 +4577,7 @@ function PendingApprovals({ trace, tr }) {
4577
4577
  function AgentStepRow({ step, tr }) {
4578
4578
  const marked = step.outcome !== "ok";
4579
4579
  return /* @__PURE__ */ jsx("li", {
4580
- className: `rounded border ${step.outcome === "rejected" ? "border-status-warning-border" : step.outcome === "failed" ? "border-status-error-border" : "border-border-secondary"}`,
4580
+ className: `rounded border ${step.outcome === "rejected" ? "border-status-warning-border" : step.outcome === "failed" ? "border-status-error-border" : "border-border-default"}`,
4581
4581
  children: /* @__PURE__ */ jsxs("details", { children: [/* @__PURE__ */ jsxs("summary", {
4582
4582
  className: "flex cursor-pointer flex-wrap items-center gap-2 px-3 py-2 text-sm",
4583
4583
  children: [
@@ -4603,7 +4603,7 @@ function AgentStepRow({ step, tr }) {
4603
4603
  })
4604
4604
  ]
4605
4605
  }), /* @__PURE__ */ jsxs("div", {
4606
- className: "space-y-2 border-t border-border-secondary px-3 py-2",
4606
+ className: "space-y-2 border-t border-border-default px-3 py-2",
4607
4607
  children: [
4608
4608
  marked && step.reason && /* @__PURE__ */ jsx("p", {
4609
4609
  className: `text-sm ${step.outcome === "rejected" ? "text-status-warning-text" : "text-status-error-text"}`,
@@ -4628,7 +4628,7 @@ function StepBlock({ label, value, empty }) {
4628
4628
  className: "text-xs font-medium text-text-secondary",
4629
4629
  children: label
4630
4630
  }), value ? /* @__PURE__ */ jsx("pre", {
4631
- className: "mt-1 max-h-64 overflow-auto rounded bg-background-tertiary p-2 font-mono text-xs whitespace-pre-wrap break-words text-text-primary",
4631
+ className: "mt-1 max-h-64 overflow-auto rounded bg-surface-sunken p-2 font-mono text-xs whitespace-pre-wrap break-words text-text-primary",
4632
4632
  children: value
4633
4633
  }) : /* @__PURE__ */ jsx("p", {
4634
4634
  className: "mt-1 text-xs text-text-secondary",
@@ -4665,7 +4665,7 @@ function IterationList({ node, tr }) {
4665
4665
  }
4666
4666
  function IterationRow({ iteration, open, tr }) {
4667
4667
  return /* @__PURE__ */ jsx("li", {
4668
- className: `rounded border ${iteration.error ? "border-status-error-border" : "border-border-secondary"}`,
4668
+ className: `rounded border ${iteration.error ? "border-status-error-border" : "border-border-default"}`,
4669
4669
  "data-agent-iteration": iteration.iteration,
4670
4670
  children: /* @__PURE__ */ jsxs("details", {
4671
4671
  open,
@@ -4697,7 +4697,7 @@ function IterationRow({ iteration, open, tr }) {
4697
4697
  })
4698
4698
  ]
4699
4699
  }), /* @__PURE__ */ jsxs("div", {
4700
- className: "space-y-2 border-t border-border-secondary px-3 py-2",
4700
+ className: "space-y-2 border-t border-border-default px-3 py-2",
4701
4701
  children: [
4702
4702
  iteration.turns.map((turn) => /* @__PURE__ */ jsx(ModelTurnRow, {
4703
4703
  turn,
@@ -4708,7 +4708,7 @@ function IterationRow({ iteration, open, tr }) {
4708
4708
  tr
4709
4709
  }, call.key)),
4710
4710
  iteration.final && /* @__PURE__ */ jsxs("div", {
4711
- className: "rounded bg-background-tertiary p-2",
4711
+ className: "rounded bg-surface-sunken p-2",
4712
4712
  children: [
4713
4713
  /* @__PURE__ */ jsx("p", {
4714
4714
  className: "text-xs font-medium text-text-secondary",
@@ -4754,7 +4754,7 @@ function IterationRow({ iteration, open, tr }) {
4754
4754
  }
4755
4755
  function ModelTurnRow({ turn, tr }) {
4756
4756
  return /* @__PURE__ */ jsxs("details", {
4757
- className: "rounded border border-border-secondary",
4757
+ className: "rounded border border-border-default",
4758
4758
  children: [/* @__PURE__ */ jsxs("summary", {
4759
4759
  className: "flex cursor-pointer flex-wrap items-center gap-x-3 gap-y-1 px-3 py-2 text-sm",
4760
4760
  children: [
@@ -4796,7 +4796,7 @@ function ModelTurnRow({ turn, tr }) {
4796
4796
  })
4797
4797
  ]
4798
4798
  }), /* @__PURE__ */ jsxs("div", {
4799
- className: "space-y-2 border-t border-border-secondary px-3 py-2",
4799
+ className: "space-y-2 border-t border-border-default px-3 py-2",
4800
4800
  children: [
4801
4801
  /* @__PURE__ */ jsx(StepBlock, {
4802
4802
  label: tr("fluidgrids.executions.executionDetail.agent.sentToModel", "Sent to the model"),
@@ -4829,11 +4829,11 @@ function repliesWithoutStep(replies, steps) {
4829
4829
  /** Border and note colour of a live reply in each state. */
4830
4830
  const LIVE_REPLY_TONE = {
4831
4831
  streaming: {
4832
- border: "border-border-secondary",
4832
+ border: "border-border-default",
4833
4833
  note: "text-text-secondary"
4834
4834
  },
4835
4835
  done: {
4836
- border: "border-border-secondary",
4836
+ border: "border-border-default",
4837
4837
  note: "text-text-secondary"
4838
4838
  },
4839
4839
  failed: {
@@ -4883,7 +4883,7 @@ function LiveReplyText({ text, writing, tr }) {
4883
4883
  });
4884
4884
  }
4885
4885
  return /* @__PURE__ */ jsxs("pre", {
4886
- className: "mt-2 max-h-80 overflow-auto rounded bg-background-tertiary p-2 font-mono text-xs whitespace-pre-wrap break-words text-text-primary",
4886
+ className: "mt-2 max-h-80 overflow-auto rounded bg-surface-sunken p-2 font-mono text-xs whitespace-pre-wrap break-words text-text-primary",
4887
4887
  "aria-live": writing ? "polite" : "off",
4888
4888
  "data-testid": "agent-live-reply-text",
4889
4889
  children: [text, writing && /* @__PURE__ */ jsx("span", {
@@ -4939,7 +4939,7 @@ function LiveReply({ reply, runLive, tr }) {
4939
4939
  }
4940
4940
  function ToolCallRow({ call, tr }) {
4941
4941
  const waiting = !call.hasResult && call.rule === "ask";
4942
- let border = "border-border-secondary";
4942
+ let border = "border-border-default";
4943
4943
  if (call.outcome === "rejected" || waiting) border = "border-status-warning-border";
4944
4944
  else if (call.outcome === "failed") border = "border-status-error-border";
4945
4945
  return /* @__PURE__ */ jsxs("details", {
@@ -4974,7 +4974,7 @@ function ToolCallRow({ call, tr }) {
4974
4974
  })
4975
4975
  ]
4976
4976
  }), /* @__PURE__ */ jsxs("div", {
4977
- className: "space-y-2 border-t border-border-secondary px-3 py-2",
4977
+ className: "space-y-2 border-t border-border-default px-3 py-2",
4978
4978
  children: [
4979
4979
  call.outcome !== "ok" && call.reason && /* @__PURE__ */ jsx("p", {
4980
4980
  className: `text-sm ${call.outcome === "rejected" ? "text-status-warning-text" : "text-status-error-text"}`,
@@ -5288,11 +5288,11 @@ function RunActivitiesCard({ runId, activities, pauseStates, pauseRules, canCont
5288
5288
  const rules = useMemo(() => new Map(pauseRules.map((rule) => [rule.id, rule])), [pauseRules]);
5289
5289
  if (activities.length === 0) return null;
5290
5290
  return /* @__PURE__ */ jsxs("section", {
5291
- className: "mb-6 rounded-lg border border-border-secondary bg-background-secondary",
5291
+ className: "mb-6 rounded-lg border border-border-default bg-surface",
5292
5292
  "data-testid": "run-activities-card",
5293
5293
  children: [
5294
5294
  /* @__PURE__ */ jsxs("header", {
5295
- className: "flex flex-wrap items-center gap-2 border-b border-border-secondary px-4 py-3",
5295
+ className: "flex flex-wrap items-center gap-2 border-b border-border-default px-4 py-3",
5296
5296
  children: [
5297
5297
  /* @__PURE__ */ jsx(Icon, {
5298
5298
  icon: "mdi:cog-play-outline",
@@ -5336,7 +5336,7 @@ function RunActivitiesCard({ runId, activities, pauseStates, pauseRules, canCont
5336
5336
  ]
5337
5337
  }),
5338
5338
  /* @__PURE__ */ jsx("ul", {
5339
- className: "divide-y divide-border-secondary",
5339
+ className: "divide-y divide-border-default",
5340
5340
  children: activities.map((activity) => {
5341
5341
  const pause = pauseStates.get(activity.activityId);
5342
5342
  const rule = pause?.ruleId ? rules.get(pause.ruleId) : void 0;
@@ -5724,7 +5724,7 @@ function RunQueryPanel({ runId, handlers }) {
5724
5724
  }
5725
5725
  };
5726
5726
  return /* @__PURE__ */ jsxs("section", {
5727
- className: "space-y-3 rounded-lg border border-border-secondary bg-background-secondary p-4",
5727
+ className: "space-y-3 rounded-lg border border-border-default bg-surface p-4",
5728
5728
  "data-testid": "run-query-panel",
5729
5729
  children: [
5730
5730
  /* @__PURE__ */ jsxs("div", {
@@ -5880,7 +5880,7 @@ function RunSearchAttributesCard({ runId, attributes, canEdit, onChanged }) {
5880
5880
  }
5881
5881
  };
5882
5882
  return /* @__PURE__ */ jsxs("section", {
5883
- className: "mb-6 rounded-lg border border-border-secondary bg-background-secondary p-4",
5883
+ className: "mb-6 rounded-lg border border-border-default bg-surface p-4",
5884
5884
  "data-testid": "run-search-attributes",
5885
5885
  children: [
5886
5886
  /* @__PURE__ */ jsxs("div", {
@@ -6352,7 +6352,7 @@ function SignalTokensPanel({ runId, signalNames, canCreate }) {
6352
6352
  }
6353
6353
  };
6354
6354
  return /* @__PURE__ */ jsxs("section", {
6355
- className: "space-y-3 rounded-lg border border-border-secondary bg-background-secondary p-4",
6355
+ className: "space-y-3 rounded-lg border border-border-default bg-surface p-4",
6356
6356
  "data-testid": "signal-tokens-panel",
6357
6357
  children: [
6358
6358
  /* @__PURE__ */ jsxs("div", {
@@ -6392,7 +6392,7 @@ function SignalTokensPanel({ runId, signalNames, canCreate }) {
6392
6392
  children: tr("fluidgrids.runControl.tokens.empty", "No tokens yet.")
6393
6393
  }),
6394
6394
  tokens.data && tokens.data.length > 0 && /* @__PURE__ */ jsx("ul", {
6395
- className: "divide-y divide-border-secondary rounded-md border border-border-secondary",
6395
+ className: "divide-y divide-border-default rounded-md border border-border-default",
6396
6396
  children: tokens.data.map((token) => {
6397
6397
  const state = tokenState(token);
6398
6398
  return /* @__PURE__ */ jsxs("li", {
@@ -6592,7 +6592,7 @@ function SignalTokenCreatedDialog({ created, onClose }) {
6592
6592
  children: [/* @__PURE__ */ jsx(Label, { children: tr("fluidgrids.runControl.tokens.url", "Signal URL") }), /* @__PURE__ */ jsxs("div", {
6593
6593
  className: "flex gap-2",
6594
6594
  children: [/* @__PURE__ */ jsx("code", {
6595
- className: "min-w-0 flex-1 break-all rounded-md bg-background-primary p-2 font-mono text-xs text-text-primary",
6595
+ className: "min-w-0 flex-1 break-all rounded-md bg-surface-canvas p-2 font-mono text-xs text-text-primary",
6596
6596
  "data-testid": "signal-token-url",
6597
6597
  children: created.url
6598
6598
  }), /* @__PURE__ */ jsx(Button$1, {
@@ -6610,7 +6610,7 @@ function SignalTokenCreatedDialog({ created, onClose }) {
6610
6610
  children: [/* @__PURE__ */ jsx(Label, { children: tr("fluidgrids.runControl.tokens.token", "Token") }), /* @__PURE__ */ jsxs("div", {
6611
6611
  className: "flex gap-2",
6612
6612
  children: [/* @__PURE__ */ jsx("code", {
6613
- className: "min-w-0 flex-1 break-all rounded-md bg-background-primary p-2 font-mono text-xs text-text-primary",
6613
+ className: "min-w-0 flex-1 break-all rounded-md bg-surface-canvas p-2 font-mono text-xs text-text-primary",
6614
6614
  "data-testid": "signal-token-value",
6615
6615
  children: created.token
6616
6616
  }), /* @__PURE__ */ jsx(Button$1, {
@@ -6861,11 +6861,11 @@ function formatBytes(bytes) {
6861
6861
  }
6862
6862
  function PayloadView({ value, codecServer, fetchImpl }) {
6863
6863
  if (!containsEncodedPayload(value)) return /* @__PURE__ */ jsx("pre", {
6864
- className: "mt-1 max-h-48 overflow-auto whitespace-pre-wrap break-words rounded bg-background-secondary p-2 font-mono text-text-primary",
6864
+ className: "mt-1 max-h-48 overflow-auto whitespace-pre-wrap break-words rounded bg-surface p-2 font-mono text-text-primary",
6865
6865
  children: JSON.stringify(value, null, 2)
6866
6866
  });
6867
6867
  return /* @__PURE__ */ jsx("div", {
6868
- className: "mt-1 max-h-64 overflow-auto rounded bg-background-secondary p-2 font-mono text-text-primary",
6868
+ className: "mt-1 max-h-64 overflow-auto rounded bg-surface p-2 font-mono text-text-primary",
6869
6869
  "data-testid": "payload-view",
6870
6870
  children: /* @__PURE__ */ jsx(PayloadNode, {
6871
6871
  value,
@@ -6921,7 +6921,7 @@ function EncodedPayloadChip({ payload, codecServer, fetchImpl }) {
6921
6921
  className: "inline-block align-top",
6922
6922
  "data-testid": "payload-decoded",
6923
6923
  children: [/* @__PURE__ */ jsx("span", {
6924
- className: "mr-1 rounded border border-border-secondary px-1 text-[10px] uppercase text-text-secondary",
6924
+ className: "mr-1 rounded border border-border-default px-1 text-[10px] uppercase text-text-secondary",
6925
6925
  children: tr("fluidgrids.runControl.payload.decoded", "decoded")
6926
6926
  }), /* @__PURE__ */ jsx("span", {
6927
6927
  className: "whitespace-pre-wrap break-words",
@@ -6947,7 +6947,7 @@ function EncodedPayloadChip({ payload, codecServer, fetchImpl }) {
6947
6947
  "data-testid": "payload-encoded",
6948
6948
  children: [
6949
6949
  /* @__PURE__ */ jsxs("span", {
6950
- className: "inline-flex items-center gap-1 rounded border border-border-secondary bg-background-tertiary px-1.5 py-0.5 text-xs text-text-secondary",
6950
+ className: "inline-flex items-center gap-1 rounded border border-border-default bg-surface-sunken px-1.5 py-0.5 text-xs text-text-secondary",
6951
6951
  children: [
6952
6952
  /* @__PURE__ */ jsx(Icon, {
6953
6953
  icon: "mdi:lock-outline",
@@ -6990,7 +6990,7 @@ function RunArchivedNotice({ runId, enabled }) {
6990
6990
  if (!archive.data?.archived) return null;
6991
6991
  return /* @__PURE__ */ jsxs("div", {
6992
6992
  role: "status",
6993
- className: "flex items-start gap-2 rounded-md border border-border-secondary bg-background-tertiary p-3 text-sm text-text-primary",
6993
+ className: "flex items-start gap-2 rounded-md border border-border-default bg-surface-elevated p-3 text-sm text-text-primary",
6994
6994
  "data-testid": "run-archived",
6995
6995
  children: [/* @__PURE__ */ jsx(Icon, {
6996
6996
  icon: "mdi:archive-outline",
@@ -7063,7 +7063,7 @@ const STATE_CLASS = {
7063
7063
  BACKOFF: "border-[var(--color-status-warning-border)] bg-[var(--color-status-warning-bg-subtle)] text-[var(--color-status-warning-text)]",
7064
7064
  CANCEL_REQUESTED: "border-[var(--color-status-warning-border)] bg-[var(--color-status-warning-bg-subtle)] text-[var(--color-status-warning-text)]"
7065
7065
  };
7066
- const NEUTRAL_STATE = "border-border-secondary bg-background-tertiary text-text-secondary";
7066
+ const NEUTRAL_STATE = "border-border-default bg-surface-sunken text-text-secondary";
7067
7067
  function StateChip({ state }) {
7068
7068
  if (!state) return null;
7069
7069
  return /* @__PURE__ */ jsx("span", {
@@ -7075,7 +7075,7 @@ function RunPendingCard({ pending, loading, error, onRefresh, onViewChildRun })
7075
7075
  const tr = useTr();
7076
7076
  return /* @__PURE__ */ jsxs("section", {
7077
7077
  "data-testid": "run-pending-card",
7078
- className: "mb-6 rounded-lg border border-border-secondary bg-background-secondary p-4",
7078
+ className: "mb-6 rounded-lg border border-border-default bg-surface p-4",
7079
7079
  children: [/* @__PURE__ */ jsxs("div", {
7080
7080
  className: "mb-3 flex items-center gap-2",
7081
7081
  children: [
@@ -7109,7 +7109,7 @@ function RunPendingCard({ pending, loading, error, onRefresh, onViewChildRun })
7109
7109
  " ",
7110
7110
  error
7111
7111
  ]
7112
- }) : !pending ? loading ? /* @__PURE__ */ jsx("div", { className: "h-12 animate-pulse rounded bg-background-tertiary" }) : null : isPendingEmpty(pending) ? /* @__PURE__ */ jsx("p", {
7112
+ }) : !pending ? loading ? /* @__PURE__ */ jsx("div", { className: "h-12 animate-pulse rounded bg-surface-sunken" }) : null : isPendingEmpty(pending) ? /* @__PURE__ */ jsx("p", {
7113
7113
  className: "text-sm text-text-secondary",
7114
7114
  children: tr("fluidgrids.executions.pending.none", "Nothing is outstanding right now.")
7115
7115
  }) : /* @__PURE__ */ jsxs("div", {
@@ -7140,7 +7140,7 @@ function RunPendingCard({ pending, loading, error, onRefresh, onViewChildRun })
7140
7140
  ]
7141
7141
  }),
7142
7142
  pending.activities.length > 0 && /* @__PURE__ */ jsx("ul", {
7143
- className: "divide-y divide-border-secondary rounded-md border border-border-secondary",
7143
+ className: "divide-y divide-border-default rounded-md border border-border-default",
7144
7144
  children: pending.activities.map((activity) => {
7145
7145
  const failure = pendingValueText(activity.lastFailure);
7146
7146
  const heartbeat = pendingValueText(activity.heartbeatDetails);
@@ -7273,7 +7273,7 @@ const TONE_CLASS = {
7273
7273
  success: "border-[var(--color-status-success-border)] bg-[var(--color-status-success-bg-subtle)] text-[var(--color-status-success-text)]",
7274
7274
  error: "border-[var(--color-status-error-border)] bg-[var(--color-status-error-bg-subtle)] text-[var(--color-status-error-text)]",
7275
7275
  info: "border-[var(--color-status-info-border)] bg-[var(--color-status-info-bg-subtle)] text-[var(--color-status-info-text)]",
7276
- neutral: "border-border-secondary bg-background-tertiary text-text-secondary"
7276
+ neutral: "border-border-default bg-surface-sunken text-text-secondary"
7277
7277
  };
7278
7278
  const LINK_LABELS = {
7279
7279
  first: ["fluidgrids.executions.parity.firstRun", "First run"],
@@ -7297,7 +7297,7 @@ function formatDateTime(value) {
7297
7297
  function Row({ label, children, testId }) {
7298
7298
  return /* @__PURE__ */ jsxs("div", {
7299
7299
  "data-testid": testId,
7300
- className: "flex flex-col gap-1 border-b border-border-secondary py-2 sm:flex-row sm:items-center sm:justify-between sm:gap-4",
7300
+ className: "flex flex-col gap-1 border-b border-border-default py-2 sm:flex-row sm:items-center sm:justify-between sm:gap-4",
7301
7301
  children: [/* @__PURE__ */ jsx("span", {
7302
7302
  className: "shrink-0 text-sm text-text-secondary",
7303
7303
  children: label
@@ -7319,7 +7319,7 @@ function RunParityPanel({ run, open, durable, canOverride, onOverride }) {
7319
7319
  ].filter(([, value]) => value !== null);
7320
7320
  return /* @__PURE__ */ jsxs("section", {
7321
7321
  "data-testid": "run-parity-panel",
7322
- className: "mb-6 rounded-lg border border-border-secondary bg-background-secondary p-4",
7322
+ className: "mb-6 rounded-lg border border-border-default bg-surface p-4",
7323
7323
  children: [
7324
7324
  /* @__PURE__ */ jsxs("div", { children: [
7325
7325
  run.businessId && /* @__PURE__ */ jsx(Row, {
@@ -7398,7 +7398,7 @@ function RunParityPanel({ run, open, durable, canOverride, onOverride }) {
7398
7398
  className: "flex flex-wrap items-center gap-2 sm:justify-end",
7399
7399
  children: [
7400
7400
  /* @__PURE__ */ jsx("span", {
7401
- className: "rounded border border-border-secondary bg-background-tertiary px-1.5 py-0.5 text-xs",
7401
+ className: "rounded border border-border-default bg-surface-sunken px-1.5 py-0.5 text-xs",
7402
7402
  "data-testid": "run-parity-behavior",
7403
7403
  children: versioning.behavior === "AUTO_UPGRADE" ? tr("fluidgrids.executions.parity.autoUpgrade", "Auto-upgrade") : tr("fluidgrids.executions.parity.pinned", "Pinned")
7404
7404
  }),
@@ -7540,7 +7540,7 @@ function RunVersioningOverrideDialog({ open, onOpenChange, runId, versions, curr
7540
7540
  disabled: saving,
7541
7541
  children: [
7542
7542
  options.map((option) => /* @__PURE__ */ jsxs("label", {
7543
- className: "flex cursor-pointer gap-2 rounded-md border border-border-secondary p-2",
7543
+ className: "flex cursor-pointer gap-2 rounded-md border border-border-default p-2",
7544
7544
  children: [/* @__PURE__ */ jsx("input", {
7545
7545
  type: "radio",
7546
7546
  name: "run-override",
@@ -7562,7 +7562,7 @@ function RunVersioningOverrideDialog({ open, onOpenChange, runId, versions, curr
7562
7562
  children: [tr("fluidgrids.executions.override.version", "Version"), /* @__PURE__ */ jsxs("select", {
7563
7563
  value: version,
7564
7564
  onChange: (event) => setVersion(event.target.value),
7565
- className: "mt-1 h-9 w-full rounded-md border border-border-secondary bg-background-primary px-2 text-sm text-text-primary",
7565
+ className: "mt-1 h-9 w-full rounded-md border border-border-default bg-surface-canvas px-2 text-sm text-text-primary",
7566
7566
  "data-testid": "run-override-version",
7567
7567
  children: [/* @__PURE__ */ jsx("option", {
7568
7568
  value: "",
@@ -7995,22 +7995,22 @@ function ExecutionDetailPage() {
7995
7995
  });
7996
7996
  };
7997
7997
  if (loading && !execution) return /* @__PURE__ */ jsx("div", {
7998
- className: "p-4 sm:p-6 bg-background-primary min-h-screen",
7998
+ className: "p-4 sm:p-6 bg-surface-canvas min-h-screen",
7999
7999
  children: /* @__PURE__ */ jsxs("div", {
8000
8000
  className: "animate-pulse",
8001
8001
  children: [
8002
- /* @__PURE__ */ jsx("div", { className: "h-8 w-48 bg-background-tertiary rounded mb-4" }),
8003
- /* @__PURE__ */ jsx("div", { className: "h-4 w-32 bg-background-tertiary rounded mb-8" }),
8002
+ /* @__PURE__ */ jsx("div", { className: "h-8 w-48 bg-surface-sunken rounded mb-4" }),
8003
+ /* @__PURE__ */ jsx("div", { className: "h-4 w-32 bg-surface-sunken rounded mb-8" }),
8004
8004
  /* @__PURE__ */ jsx("div", {
8005
8005
  className: "grid grid-cols-2 sm:grid-cols-4 gap-4 mb-6",
8006
- children: [...Array(4)].map((_, i) => /* @__PURE__ */ jsx("div", { className: "h-24 bg-background-tertiary rounded-lg" }, i))
8006
+ children: [...Array(4)].map((_, i) => /* @__PURE__ */ jsx("div", { className: "h-24 bg-surface-sunken rounded-lg" }, i))
8007
8007
  }),
8008
- /* @__PURE__ */ jsx("div", { className: "h-96 bg-background-tertiary rounded-lg" })
8008
+ /* @__PURE__ */ jsx("div", { className: "h-96 bg-surface-sunken rounded-lg" })
8009
8009
  ]
8010
8010
  })
8011
8011
  });
8012
8012
  if (error) return /* @__PURE__ */ jsxs("div", {
8013
- className: "p-4 sm:p-6 bg-background-primary min-h-screen",
8013
+ className: "p-4 sm:p-6 bg-surface-canvas min-h-screen",
8014
8014
  children: [/* @__PURE__ */ jsxs(Link, {
8015
8015
  to: "../runs",
8016
8016
  className: "text-text-link hover:text-text-linkHover hover:underline text-sm mb-4 inline-block",
@@ -8051,7 +8051,7 @@ function ExecutionDetailPage() {
8051
8051
  })]
8052
8052
  });
8053
8053
  if (!execution) return /* @__PURE__ */ jsxs("div", {
8054
- className: "p-4 sm:p-6 bg-background-primary min-h-screen",
8054
+ className: "p-4 sm:p-6 bg-surface-canvas min-h-screen",
8055
8055
  children: [/* @__PURE__ */ jsxs(Link, {
8056
8056
  to: "../runs",
8057
8057
  className: "text-text-link hover:text-text-linkHover hover:underline text-sm mb-4 inline-block",
@@ -8061,7 +8061,7 @@ function ExecutionDetailPage() {
8061
8061
  tr("fluidgrids.executions.executionDetail.backToExecutions", "Back to Executions")
8062
8062
  ]
8063
8063
  }), /* @__PURE__ */ jsxs("div", {
8064
- className: "bg-background-secondary border border-border-secondary rounded-lg p-6 text-center",
8064
+ className: "bg-surface border border-border-default rounded-lg p-6 text-center",
8065
8065
  children: [
8066
8066
  /* @__PURE__ */ jsx(Icon, {
8067
8067
  icon: "mdi:file-find-outline",
@@ -8123,7 +8123,7 @@ function ExecutionDetailPage() {
8123
8123
  className: "text-lg font-medium text-text-primary mb-4",
8124
8124
  children: tr("fluidgrids.executions.executionDetail.executionContextHeading", "Execution Context")
8125
8125
  }), /* @__PURE__ */ jsx("div", {
8126
- className: "bg-background-primary rounded p-4 max-h-[300px] overflow-auto",
8126
+ className: "bg-surface-canvas rounded p-4 max-h-[300px] overflow-auto",
8127
8127
  children: /* @__PURE__ */ jsx("pre", {
8128
8128
  className: "text-sm text-text-primary font-mono whitespace-pre-wrap break-words",
8129
8129
  children: JSON.stringify(execution.context ?? null, null, 2)
@@ -8136,7 +8136,7 @@ function ExecutionDetailPage() {
8136
8136
  className: "space-y-3",
8137
8137
  children: [
8138
8138
  /* @__PURE__ */ jsxs("div", {
8139
- className: "flex justify-between py-2 border-b border-border-secondary",
8139
+ className: "flex justify-between py-2 border-b border-border-default",
8140
8140
  children: [/* @__PURE__ */ jsx("span", {
8141
8141
  className: "text-text-secondary",
8142
8142
  children: tr("fluidgrids.executions.executionDetail.runIdRow", "Run ID")
@@ -8146,7 +8146,7 @@ function ExecutionDetailPage() {
8146
8146
  })]
8147
8147
  }),
8148
8148
  /* @__PURE__ */ jsxs("div", {
8149
- className: "flex justify-between py-2 border-b border-border-secondary",
8149
+ className: "flex justify-between py-2 border-b border-border-default",
8150
8150
  children: [/* @__PURE__ */ jsx("span", {
8151
8151
  className: "text-text-secondary",
8152
8152
  children: tr("fluidgrids.executions.executionDetail.workflowRow", "Workflow")
@@ -8156,7 +8156,7 @@ function ExecutionDetailPage() {
8156
8156
  })]
8157
8157
  }),
8158
8158
  /* @__PURE__ */ jsxs("div", {
8159
- className: "flex justify-between py-2 border-b border-border-secondary",
8159
+ className: "flex justify-between py-2 border-b border-border-default",
8160
8160
  children: [/* @__PURE__ */ jsx("span", {
8161
8161
  className: "text-text-secondary",
8162
8162
  children: tr("fluidgrids.executions.executionDetail.workflowKeyRow", "Workflow Key")
@@ -8166,7 +8166,7 @@ function ExecutionDetailPage() {
8166
8166
  })]
8167
8167
  }),
8168
8168
  /* @__PURE__ */ jsxs("div", {
8169
- className: "flex justify-between py-2 border-b border-border-secondary",
8169
+ className: "flex justify-between py-2 border-b border-border-default",
8170
8170
  children: [/* @__PURE__ */ jsx("span", {
8171
8171
  className: "text-text-secondary",
8172
8172
  children: tr("fluidgrids.executions.executionDetail.versionRow", "Version")
@@ -8177,7 +8177,7 @@ function ExecutionDetailPage() {
8177
8177
  }),
8178
8178
  isDurableRun && /* @__PURE__ */ jsxs(Fragment$1, { children: [
8179
8179
  /* @__PURE__ */ jsxs("div", {
8180
- className: "flex justify-between py-2 border-b border-border-secondary",
8180
+ className: "flex justify-between py-2 border-b border-border-default",
8181
8181
  children: [/* @__PURE__ */ jsx("span", {
8182
8182
  className: "text-text-secondary",
8183
8183
  children: tr("fluidgrids.executions.executionDetail.workflowFnRow", "Function")
@@ -8187,7 +8187,7 @@ function ExecutionDetailPage() {
8187
8187
  })]
8188
8188
  }),
8189
8189
  /* @__PURE__ */ jsxs("div", {
8190
- className: "flex justify-between py-2 border-b border-border-secondary",
8190
+ className: "flex justify-between py-2 border-b border-border-default",
8191
8191
  children: [/* @__PURE__ */ jsx("span", {
8192
8192
  className: "text-text-secondary",
8193
8193
  children: tr("fluidgrids.executions.executionDetail.taskQueueRow", "Task queue")
@@ -8197,7 +8197,7 @@ function ExecutionDetailPage() {
8197
8197
  })]
8198
8198
  }),
8199
8199
  /* @__PURE__ */ jsxs("div", {
8200
- className: "flex justify-between gap-4 py-2 border-b border-border-secondary",
8200
+ className: "flex justify-between gap-4 py-2 border-b border-border-default",
8201
8201
  children: [/* @__PURE__ */ jsx("span", {
8202
8202
  className: "text-text-secondary",
8203
8203
  children: tr("fluidgrids.executions.executionDetail.buildIdRow", "Build")
@@ -8208,7 +8208,7 @@ function ExecutionDetailPage() {
8208
8208
  })]
8209
8209
  }),
8210
8210
  /* @__PURE__ */ jsxs("div", {
8211
- className: "flex justify-between py-2 border-b border-border-secondary",
8211
+ className: "flex justify-between py-2 border-b border-border-default",
8212
8212
  children: [/* @__PURE__ */ jsx("span", {
8213
8213
  className: "text-text-secondary",
8214
8214
  children: tr("fluidgrids.executions.executionDetail.historyLengthRow", "History events")
@@ -8219,7 +8219,7 @@ function ExecutionDetailPage() {
8219
8219
  })
8220
8220
  ] }),
8221
8221
  execution.triggeredById && /* @__PURE__ */ jsxs("div", {
8222
- className: "flex justify-between py-2 border-b border-border-secondary",
8222
+ className: "flex justify-between py-2 border-b border-border-default",
8223
8223
  children: [/* @__PURE__ */ jsx("span", {
8224
8224
  className: "text-text-secondary",
8225
8225
  children: tr("fluidgrids.executions.executionDetail.triggeredByRow", "Triggered By")
@@ -8230,7 +8230,7 @@ function ExecutionDetailPage() {
8230
8230
  })]
8231
8231
  }),
8232
8232
  execution.parentRunId && /* @__PURE__ */ jsxs("div", {
8233
- className: "flex justify-between py-2 border-b border-border-secondary",
8233
+ className: "flex justify-between py-2 border-b border-border-default",
8234
8234
  children: [/* @__PURE__ */ jsx("span", {
8235
8235
  className: "text-text-secondary",
8236
8236
  children: tr("fluidgrids.executions.executionDetail.parentRunRow", "Parent Run")
@@ -8241,7 +8241,7 @@ function ExecutionDetailPage() {
8241
8241
  })]
8242
8242
  }),
8243
8243
  /* @__PURE__ */ jsxs("div", {
8244
- className: "flex justify-between py-2 border-b border-border-secondary",
8244
+ className: "flex justify-between py-2 border-b border-border-default",
8245
8245
  children: [/* @__PURE__ */ jsx("span", {
8246
8246
  className: "text-text-secondary",
8247
8247
  children: tr("fluidgrids.executions.executionDetail.createdRow", "Created")
@@ -8251,7 +8251,7 @@ function ExecutionDetailPage() {
8251
8251
  })]
8252
8252
  }),
8253
8253
  /* @__PURE__ */ jsxs("div", {
8254
- className: "flex justify-between py-2 border-b border-border-secondary",
8254
+ className: "flex justify-between py-2 border-b border-border-default",
8255
8255
  children: [/* @__PURE__ */ jsx("span", {
8256
8256
  className: "text-text-secondary",
8257
8257
  children: tr("fluidgrids.executions.executionDetail.startedRow", "Started")
@@ -8261,7 +8261,7 @@ function ExecutionDetailPage() {
8261
8261
  })]
8262
8262
  }),
8263
8263
  execution.completedAt && /* @__PURE__ */ jsxs("div", {
8264
- className: "flex justify-between py-2 border-b border-border-secondary",
8264
+ className: "flex justify-between py-2 border-b border-border-default",
8265
8265
  children: [/* @__PURE__ */ jsx("span", {
8266
8266
  className: "text-text-secondary",
8267
8267
  children: tr("fluidgrids.executions.executionDetail.completedRow", "Completed")
@@ -8276,7 +8276,7 @@ function ExecutionDetailPage() {
8276
8276
  className: "text-lg font-medium text-text-primary mb-4",
8277
8277
  children: tr("fluidgrids.executions.executionDetail.triggerDataHeading", "Trigger Data")
8278
8278
  }), /* @__PURE__ */ jsx("div", {
8279
- className: "bg-background-primary rounded p-4 max-h-[400px] overflow-auto",
8279
+ className: "bg-surface-canvas rounded p-4 max-h-[400px] overflow-auto",
8280
8280
  children: /* @__PURE__ */ jsx("pre", {
8281
8281
  className: "text-sm text-text-primary font-mono whitespace-pre-wrap break-words",
8282
8282
  children: JSON.stringify(execution.triggerData ?? null, null, 2)
@@ -8350,7 +8350,7 @@ function ExecutionDetailPage() {
8350
8350
  failedSteps: execution.failedNodes
8351
8351
  };
8352
8352
  return /* @__PURE__ */ jsxs("div", {
8353
- className: "p-4 pb-24 sm:p-6 sm:pb-24 bg-background-primary min-h-screen",
8353
+ className: "p-4 pb-24 sm:p-6 sm:pb-24 bg-surface-canvas min-h-screen",
8354
8354
  children: [
8355
8355
  /* @__PURE__ */ jsxs(Link, {
8356
8356
  to: "../runs",
@@ -8714,7 +8714,7 @@ function ExecutionDetailPage() {
8714
8714
  className: "grid grid-cols-2 sm:grid-cols-4 gap-4 mb-6",
8715
8715
  children: [
8716
8716
  /* @__PURE__ */ jsxs("div", {
8717
- className: "bg-background-secondary rounded-lg border border-border-secondary p-4",
8717
+ className: "bg-surface rounded-lg border border-border-default p-4",
8718
8718
  children: [/* @__PURE__ */ jsx("div", {
8719
8719
  className: "text-sm text-text-secondary",
8720
8720
  children: tr("fluidgrids.executions.executionDetail.durationStat", "Duration")
@@ -8724,14 +8724,14 @@ function ExecutionDetailPage() {
8724
8724
  })]
8725
8725
  }),
8726
8726
  /* @__PURE__ */ jsxs("div", {
8727
- className: "bg-background-secondary rounded-lg border border-border-secondary p-4",
8727
+ className: "bg-surface rounded-lg border border-border-default p-4",
8728
8728
  children: [/* @__PURE__ */ jsx("div", {
8729
8729
  className: "text-sm text-text-secondary",
8730
8730
  children: tr("fluidgrids.executions.executionDetail.progressStat", "Progress")
8731
8731
  }), /* @__PURE__ */ jsxs("div", {
8732
8732
  className: "flex items-center gap-2 mt-1",
8733
8733
  children: [/* @__PURE__ */ jsx("div", {
8734
- className: "flex-1 h-2 bg-background-tertiary rounded-full overflow-hidden",
8734
+ className: "flex-1 h-2 bg-surface-sunken rounded-full overflow-hidden",
8735
8735
  children: /* @__PURE__ */ jsx("div", {
8736
8736
  className: `h-full ${execution.status === "FAILED" ? "bg-[var(--color-status-error-bg)]" : execution.status === "COMPLETED" ? "bg-[var(--color-status-success-bg)]" : "bg-[var(--color-status-info-bg)]"}`,
8737
8737
  style: { width: `${execution.progress}%` }
@@ -8743,7 +8743,7 @@ function ExecutionDetailPage() {
8743
8743
  })]
8744
8744
  }),
8745
8745
  /* @__PURE__ */ jsxs("div", {
8746
- className: "bg-background-secondary rounded-lg border border-border-secondary p-4",
8746
+ className: "bg-surface rounded-lg border border-border-default p-4",
8747
8747
  children: [/* @__PURE__ */ jsx("div", {
8748
8748
  className: "text-sm text-text-secondary",
8749
8749
  children: tr("fluidgrids.executions.executionDetail.nodesStat", "Nodes")
@@ -8776,7 +8776,7 @@ function ExecutionDetailPage() {
8776
8776
  })]
8777
8777
  }),
8778
8778
  /* @__PURE__ */ jsxs("div", {
8779
- className: "bg-background-secondary rounded-lg border border-border-secondary p-4",
8779
+ className: "bg-surface rounded-lg border border-border-default p-4",
8780
8780
  children: [/* @__PURE__ */ jsx("div", {
8781
8781
  className: "text-sm text-text-secondary",
8782
8782
  children: tr("fluidgrids.executions.executionDetail.triggerStat", "Trigger")
@@ -8908,14 +8908,14 @@ function ExecutionDetailPage() {
8908
8908
  onResetPointChange: setResetPoint
8909
8909
  }),
8910
8910
  /* @__PURE__ */ jsx("div", {
8911
- className: "border-b border-border-secondary mb-6",
8911
+ className: "border-b border-border-default mb-6",
8912
8912
  children: /* @__PURE__ */ jsx("nav", {
8913
8913
  className: "flex gap-4 -mb-px overflow-x-auto",
8914
8914
  children: tabs.map((tab) => /* @__PURE__ */ jsxs("button", {
8915
8915
  onClick: () => setActiveTab(tab.id),
8916
8916
  className: `
8917
8917
  flex shrink-0 items-center gap-2 whitespace-nowrap px-4 py-3 border-b-2 text-sm font-medium transition-colors
8918
- ${activeTab === tab.id ? "border-action-primary-bg text-text-primary" : "border-transparent text-text-secondary hover:text-text-primary hover:border-border-primary"}
8918
+ ${activeTab === tab.id ? "border-action-primary-bg text-text-primary" : "border-transparent text-text-secondary hover:text-text-primary hover:border-border-strong"}
8919
8919
  `,
8920
8920
  children: [/* @__PURE__ */ jsx(Icon, {
8921
8921
  icon: tab.icon,
@@ -8925,7 +8925,7 @@ function ExecutionDetailPage() {
8925
8925
  })
8926
8926
  }),
8927
8927
  /* @__PURE__ */ jsxs("div", {
8928
- className: "bg-background-secondary rounded-lg border border-border-secondary",
8928
+ className: "bg-surface rounded-lg border border-border-default",
8929
8929
  children: [
8930
8930
  activeTab === "timeline" && /* @__PURE__ */ jsx("div", {
8931
8931
  className: "p-4 sm:p-6",
@@ -9034,7 +9034,7 @@ function ExecutionDetailPage() {
9034
9034
  className: "text-lg font-medium text-text-primary mb-4",
9035
9035
  children: tr("fluidgrids.executions.executionDetail.triggerDataHeading", "Trigger Data")
9036
9036
  }), /* @__PURE__ */ jsx("div", {
9037
- className: "bg-background-primary rounded p-4 max-h-[400px] overflow-auto",
9037
+ className: "bg-surface-canvas rounded p-4 max-h-[400px] overflow-auto",
9038
9038
  children: /* @__PURE__ */ jsx("pre", {
9039
9039
  className: "text-sm text-text-primary font-mono whitespace-pre-wrap break-words",
9040
9040
  children: JSON.stringify(execution.triggerData ?? null, null, 2)