@burdenoff/fluidgrids-fe-sdk 2026.1113.3 → 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 (63) hide show
  1. package/dist/{AiStudioPage-kQnqKTLK.js → AiStudioPage-DzvEkuoS.js} +6 -6
  2. package/dist/{ApprovalInboxPage-BsJX4osU.js → ApprovalInboxPage-BIDGY0Qm.js} +8 -8
  3. package/dist/{DataSinkDashboardPage-8ZDn85e2.js → DataSinkDashboardPage-DYuBqD2Y.js} +15 -15
  4. package/dist/{DataTablesPage-BBvABuxE.js → DataTablesPage-CA4CGEcM.js} +15 -15
  5. package/dist/{ExecutionDetailPage-2zr-EHVq.js → ExecutionDetailPage-CXiHGMVH.js} +131 -131
  6. package/dist/{ExecutionsListPage-ASTpHWjv.js → ExecutionsListPage-DGHmXNTR.js} +77 -77
  7. package/dist/{FailureTriagePanel-CM-vmvbA.js → FailureTriagePanel-DA91XKVj.js} +3 -3
  8. package/dist/{FluidGridsProvider-Dc_Jhtch.js → FluidGridsProvider-gB2POEu6.js} +34 -5
  9. package/dist/{HistoryPage-D2QBZ6Oc.js → HistoryPage-8lQ6xf5Q.js} +12 -12
  10. package/dist/{InsightsPage-BqbRbyc4.js → InsightsPage-q5agPRFA.js} +29 -29
  11. package/dist/{NodesPage-C5Dq-ru-.js → NodesPage-DeBc3zix.js} +10 -10
  12. package/dist/{PaidTemplateConfirm-CSf_Wl1x.js → PaidTemplateConfirm-BadoJJPx.js} +1 -1
  13. package/dist/{QuotaExhaustedDialog-wvu_-WJ-.js → QuotaExhaustedDialog-BBK3aX_0.js} +1 -1
  14. package/dist/{SettingsPage-JwcsjXkM.js → SettingsPage-BfBa-qSk.js} +72 -72
  15. package/dist/{TaskQueuesPage-BwnNad_J.js → TaskQueuesPage-DsGNGmGN.js} +15 -15
  16. package/dist/{TemplateCard-HSRLZw7S.js → TemplateCard-lKGodHU8.js} +2 -2
  17. package/dist/{TemplatePreview-xCpg2M_J.js → TemplatePreview-YGddO09g.js} +4 -4
  18. package/dist/{TemplatesPage-AAAJ2T7C.js → TemplatesPage-DZQDzv7d.js} +19 -19
  19. package/dist/{VariablesPage-CgUBKhAe.js → VariablesPage-2Q7gYE2N.js} +7 -7
  20. package/dist/{WorkflowBuilder-DAeOmBhD.js → WorkflowBuilder-DKqz8W6n.js} +3 -3
  21. package/dist/{WorkflowBuilder-rndStRRC.js → WorkflowBuilder-DtSOvYST.js} +6 -6
  22. package/dist/{WorkflowProposalCard-zCdUpCk8.js → WorkflowProposalCard-SmRv_Egf.js} +1 -1
  23. package/dist/{WorkflowSearchRedirect-CVFby4w5.js → WorkflowSearchRedirect-mX-YNhkj.js} +1 -1
  24. package/dist/{WorkflowsList-DuMF4-P0.js → WorkflowsList-DBKQLEUU.js} +7 -7
  25. package/dist/{agentTools-DTXUqtfu.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-DmfZwtnL.js → canvasNoteTools-Bror30X8.js} +1 -1
  30. package/dist/executions.js +2 -2
  31. package/dist/{flow-builder-Cf3mxhiN.js → flow-builder-CErj7Fgi.js} +51 -28
  32. package/dist/history.js +1 -1
  33. package/dist/{index-BC0bLtnH.d.ts → index-Df6NgmmH.d.ts} +1 -1
  34. package/dist/{index-CJGq3QbH.d.ts → index-RWAuYE2j.d.ts} +2 -0
  35. package/dist/index.d.ts +2 -2
  36. package/dist/index.js +71 -71
  37. package/dist/{logs-panel-DtG93ocy.js → logs-panel-2L4TLGcG.js} +10 -10
  38. package/dist/{node-detail-view-LaFhKUoA.js → node-detail-view-BqGpYHEE.js} +6 -6
  39. package/dist/{node-editor-tab-body-BL6QrLVL.js → node-editor-tab-body-f2EIl5lh.js} +2 -2
  40. package/dist/nodes.js +1 -1
  41. package/dist/observability.d.ts +1 -1
  42. package/dist/observability.js +2 -2
  43. package/dist/{popover-PFfxvM9g.js → popover-3Vs4f1Uy.js} +2 -2
  44. package/dist/{quick-config-panel-hrOn1WJp.js → quick-config-panel-Aja-lh3W.js} +3 -3
  45. package/dist/{schedule-panel-BBI5V5AX.js → schedule-panel-DCzLeJvi.js} +6 -6
  46. package/dist/settings.js +1 -1
  47. package/dist/{shared-Ctl9ZHo1.js → shared-C0LCTtyh.js} +3 -3
  48. package/dist/{sidebar-node-editor-CZ2hHqwr.js → sidebar-node-editor-CWdejdLi.js} +3 -3
  49. package/dist/templates.js +2 -2
  50. package/dist/{useAgentDefinitions-B4EL7HU3.js → useAgentDefinitions-DoMEv0kS.js} +1 -1
  51. package/dist/{useDurableParity-CoX24dE8.js → useDurableParity-9mQYNpiP.js} +1 -1
  52. package/dist/{useExecutions-CB1Rva2V.js → useExecutions-BvldyVgF.js} +1 -1
  53. package/dist/{useGlobalStoreClient-DMTrywdX.js → useGlobalStoreClient-CpTRykJx.js} +1 -1
  54. package/dist/{useObservability-DPATdbw7.js → useObservability-Cps9Y9a3.js} +1 -1
  55. package/dist/{useRunHistory-dFVv-1Tn.js → useRunHistory-DoxQsQIm.js} +9 -9
  56. package/dist/{useWorkflowCodeExport-Dej_LUk7.js → useWorkflowCodeExport-BLl0hv2J.js} +1 -1
  57. package/dist/{useWorkflows-DEWdntS_.js → useWorkflows-Z4M64JlD.js} +1 -1
  58. package/dist/workflow-builder.d.ts +1 -1
  59. package/dist/workflow-builder.js +4 -4
  60. package/dist/workflow-pages.d.ts +2 -2
  61. package/dist/workflow-pages.js +18 -18
  62. package/dist/workflows-list.js +1 -1
  63. package/package.json +1 -1
@@ -1,26 +1,26 @@
1
1
  "use client";
2
2
  import { t as __exportAll } from "./rolldown-runtime-hDbaFkMy.js";
3
3
  import { g as useExecutionsStore, h as DEFAULT_EXECUTIONS_FILTER } from "./config-X97zrIvn.js";
4
- import { b as validateDateRange, c as EMPTY_SEARCH_FILTER, d as searchFilterConflicts, i as useExecutionStats, l as OPERATORS_BY_TYPE, o as useExecutionsWithStore, r as useExecutionActions, t as useAutoRefresh, u as buildSearchAttributeFilter } from "./useExecutions-CB1Rva2V.js";
4
+ import { b as validateDateRange, c as EMPTY_SEARCH_FILTER, d as searchFilterConflicts, i as useExecutionStats, l as OPERATORS_BY_TYPE, o as useExecutionsWithStore, r as useExecutionActions, t as useAutoRefresh, u as buildSearchAttributeFilter } from "./useExecutions-BvldyVgF.js";
5
5
  import { m as usePhaseCFlags, u as useDurableParityEnabled } from "./feature-flags-B_b8PJ6Z.js";
6
6
  import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
7
7
  import { n as useFluidGridsPageControls } from "./pageControlsBridge-0pX9s-3k.js";
8
8
  import { t as executionsControls } from "./pageControlSpecs-DZJ9K37m.js";
9
9
  import { t as TagFilterSelect } from "./TagFilterSelect-CAShgvbS.js";
10
10
  import { n as useNavigationV2 } from "./useNavigationV2-C2WeqN7d.js";
11
- import { a as useRunStatusCounts, c as errorAdvice, f as runStatusLabels, o as ConfirmStopRunDialog, p as RUN_STATUS_CONFIG, s as ADVICE_ERROR_TYPES, u as ExecutionStatusBadge } from "./useDurableParity-CoX24dE8.js";
11
+ import { a as useRunStatusCounts, c as errorAdvice, f as runStatusLabels, o as ConfirmStopRunDialog, p as RUN_STATUS_CONFIG, s as ADVICE_ERROR_TYPES, u as ExecutionStatusBadge } from "./useDurableParity-9mQYNpiP.js";
12
12
  import { t as Disclosure } from "./Disclosure-DQiUKrqd.js";
13
13
  import { n as formatRunVersion } from "./run-display-BycKYSU0.js";
14
- import { Yt as formatElapsedMs, Zt as runDurationMs } from "./FluidGridsProvider-Dc_Jhtch.js";
14
+ import { Yt as formatElapsedMs, Zt as runDurationMs } from "./FluidGridsProvider-gB2POEu6.js";
15
15
  import { r as useRunHumanRequests } from "./useHumanRequests-DwG2tQ3f.js";
16
16
  import { n as runListLinkKey, t as runListFilterFromSearch } from "./run-list-links-DZ8Q5l35.js";
17
17
  import { t as TechnicalDetails } from "./TechnicalDetails-D4xGy201.js";
18
18
  import { t as RunActionsMenu } from "./RunActionsMenu-BE_1r3bF.js";
19
- import { h as useWorkflowDefinitions } from "./useWorkflows-DEWdntS_.js";
19
+ import { h as useWorkflowDefinitions } from "./useWorkflows-Z4M64JlD.js";
20
20
  import { t as FluidGridsDocsLink } from "./FluidGridsDocsLink-JxkBpOeb.js";
21
21
  import { s as useFluidGridsPermission, t as FLUIDGRIDS_PERMISSIONS } from "./constants-dcxg6zG6.js";
22
- import { C as jsonArg, F as startBatchOperation, I as startBatchTerminate, P as startBatchExport, m as fetchBatchOperations, n as cancelBatchOperation, p as fetchBatchOperation, x as fetchSearchAttributes } from "./api-BqA-f-AD.js";
23
- import { a as RUN_CONTROL_DIALOG_STYLE, c as parseJsonInput, i as NativeSelect, o as StatusPill, r as JsonField, t as FieldError, u as useResource } from "./shared-Ctl9ZHo1.js";
22
+ import { C as jsonArg, F as startBatchOperation, I as startBatchTerminate, P as startBatchExport, m as fetchBatchOperations, n as cancelBatchOperation, p as fetchBatchOperation, x as fetchSearchAttributes } from "./api-CEnNq15C.js";
23
+ import { a as RUN_CONTROL_DIALOG_STYLE, c as parseJsonInput, i as NativeSelect, o as StatusPill, r as JsonField, t as FieldError, u as useResource } from "./shared-C0LCTtyh.js";
24
24
  import { t as describeOperationError } from "./errors-xPZ-IbQd.js";
25
25
  import { n as getFluidGridsClient } from "./client-Ctl4jmY3.js";
26
26
  import { bI as WorkflowResetType, eI as WorkflowBatchOperationType } from "./graphql-types-C5Tr6508.js";
@@ -554,7 +554,7 @@ function ExecutionFilters({ workflows = [], onRefresh }) {
554
554
  placeholder: tr("fluidgrids.executions.executionFilters.searchPlaceholder", "Search by workflow name or run ID..."),
555
555
  value: filter.search,
556
556
  onChange: (e) => setSearchQuery(e.target.value),
557
- className: "w-full pl-[3.25rem] pr-4 py-2 bg-background-secondary border border-border-secondary rounded-lg text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-action-primary-bg focus:border-transparent"
557
+ className: "w-full pl-[3.25rem] pr-4 py-2 bg-surface border border-border-default rounded-lg text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-action-primary-bg focus:border-transparent"
558
558
  }),
559
559
  filter.search && /* @__PURE__ */ jsx("button", {
560
560
  onClick: () => setSearchQuery(""),
@@ -707,7 +707,7 @@ function ExecutionFilters({ workflows = [], onRefresh }) {
707
707
  /* @__PURE__ */ jsx("button", {
708
708
  type: "button",
709
709
  onClick: () => handleDatePresetChange("custom"),
710
- className: "px-3 py-2 border border-border-default rounded-lg text-text-primary text-left hover:bg-background-tertiary",
710
+ className: "px-3 py-2 border border-border-default rounded-lg text-text-primary text-left hover:bg-surface-sunken",
711
711
  "data-testid": "runs-custom-range",
712
712
  children: tr("fluidgrids.executions.executionFilters.dateCustomRange", "Custom Range")
713
713
  }),
@@ -717,7 +717,7 @@ function ExecutionFilters({ workflows = [], onRefresh }) {
717
717
  type: "checkbox",
718
718
  checked: autoRefresh,
719
719
  onChange: (e) => setAutoRefresh(e.target.checked),
720
- className: "w-4 h-4 rounded border-border-secondary text-action-primary-bg focus:ring-action-primary-bg"
720
+ className: "w-4 h-4 rounded border-border-default text-action-primary-bg focus:ring-action-primary-bg"
721
721
  }), /* @__PURE__ */ jsx("span", {
722
722
  className: "text-sm text-text-secondary",
723
723
  children: tr("fluidgrids.executions.executionFilters.liveUpdates", "Live updates")
@@ -811,7 +811,7 @@ function ExecutionFilters({ workflows = [], onRefresh }) {
811
811
  showCustomDate && /* @__PURE__ */ jsxs("div", {
812
812
  className: "space-y-2",
813
813
  children: [/* @__PURE__ */ jsxs("div", {
814
- className: "flex flex-wrap gap-3 items-center p-3 bg-background-secondary rounded-lg border border-border-secondary",
814
+ className: "flex flex-wrap gap-3 items-center p-3 bg-surface rounded-lg border border-border-default",
815
815
  children: [
816
816
  /* @__PURE__ */ jsx("label", {
817
817
  className: "text-sm text-text-secondary",
@@ -825,7 +825,7 @@ function ExecutionFilters({ workflows = [], onRefresh }) {
825
825
  start: e.target.value ? new Date(e.target.value) : null,
826
826
  preset: "custom"
827
827
  }),
828
- className: "px-3 py-1.5 bg-background-primary border border-border-secondary rounded text-text-primary text-sm"
828
+ className: "px-3 py-1.5 bg-surface-canvas border border-border-default rounded text-text-primary text-sm"
829
829
  }),
830
830
  /* @__PURE__ */ jsx("label", {
831
831
  className: "text-sm text-text-secondary",
@@ -839,7 +839,7 @@ function ExecutionFilters({ workflows = [], onRefresh }) {
839
839
  end: e.target.value ? new Date(e.target.value) : null,
840
840
  preset: "custom"
841
841
  }),
842
- className: "px-3 py-1.5 bg-background-primary border border-border-secondary rounded text-text-primary text-sm"
842
+ className: "px-3 py-1.5 bg-surface-canvas border border-border-default rounded text-text-primary text-sm"
843
843
  }),
844
844
  /* @__PURE__ */ jsx("button", {
845
845
  onClick: () => setShowCustomDate(false),
@@ -866,7 +866,7 @@ function ExecutionFilters({ workflows = [], onRefresh }) {
866
866
  type: "checkbox",
867
867
  checked: autoRefresh,
868
868
  onChange: (e) => setAutoRefresh(e.target.checked),
869
- className: "w-4 h-4 rounded border-border-secondary text-action-primary-bg focus:ring-action-primary-bg"
869
+ className: "w-4 h-4 rounded border-border-default text-action-primary-bg focus:ring-action-primary-bg"
870
870
  }), /* @__PURE__ */ jsx("span", {
871
871
  className: "text-sm text-text-secondary",
872
872
  children: tr("fluidgrids.executions.executionFilters.autoRefresh", "Auto-refresh")
@@ -914,8 +914,8 @@ function StatCard({ label, value, icon, color, trend, onClick }) {
914
914
  onClick,
915
915
  disabled: !onClick,
916
916
  className: `
917
- flex flex-col p-4 bg-background-secondary rounded-lg border border-border-secondary
918
- hover:border-border-primary transition-colors
917
+ flex flex-col p-4 bg-surface rounded-lg border border-border-default
918
+ hover:border-border-strong transition-colors
919
919
  ${onClick ? "cursor-pointer" : "cursor-default"}
920
920
  text-left w-full
921
921
  `,
@@ -951,7 +951,7 @@ function ExecutionStats({ stats, loading, scoped = false, onFilterByStatus }) {
951
951
  const v2 = useNavigationV2();
952
952
  if (loading) return /* @__PURE__ */ jsx("div", {
953
953
  className: "grid grid-cols-2 sm:grid-cols-4 lg:grid-cols-6 gap-4",
954
- children: [...Array(v2 ? 4 : 6)].map((_, i) => /* @__PURE__ */ jsx("div", { className: "h-24 bg-background-secondary rounded-lg border border-border-secondary animate-pulse" }, i))
954
+ children: [...Array(v2 ? 4 : 6)].map((_, i) => /* @__PURE__ */ jsx("div", { className: "h-24 bg-surface rounded-lg border border-border-default animate-pulse" }, i))
955
955
  });
956
956
  if (!stats) return null;
957
957
  const formatDuration = (seconds) => {
@@ -1189,13 +1189,13 @@ function ExecutionTable({ executions, workflowNames, loading, canExecute = true,
1189
1189
  }));
1190
1190
  };
1191
1191
  if (loading && executions.length === 0) return /* @__PURE__ */ jsx("div", {
1192
- className: "bg-background-secondary rounded-lg border border-border-secondary overflow-hidden",
1192
+ className: "bg-surface rounded-lg border border-border-default overflow-hidden",
1193
1193
  children: /* @__PURE__ */ jsx("div", {
1194
1194
  className: "overflow-x-auto",
1195
1195
  children: /* @__PURE__ */ jsxs("table", {
1196
1196
  className: "w-full min-w-[800px]",
1197
1197
  children: [/* @__PURE__ */ jsx("thead", {
1198
- className: "bg-background-tertiary border-b border-border-secondary",
1198
+ className: "bg-surface-sunken border-b border-border-default",
1199
1199
  children: /* @__PURE__ */ jsxs("tr", { children: [
1200
1200
  /* @__PURE__ */ jsx("th", { className: "w-10 px-4 py-3" }),
1201
1201
  /* @__PURE__ */ jsx("th", {
@@ -1225,18 +1225,18 @@ function ExecutionTable({ executions, workflowNames, loading, canExecute = true,
1225
1225
  /* @__PURE__ */ jsx("th", { className: "px-4 py-3" })
1226
1226
  ] })
1227
1227
  }), /* @__PURE__ */ jsx("tbody", { children: [...Array(5)].map((_, i) => /* @__PURE__ */ jsx("tr", {
1228
- className: "border-b border-border-secondary",
1228
+ className: "border-b border-border-default",
1229
1229
  children: /* @__PURE__ */ jsx("td", {
1230
1230
  colSpan: 8,
1231
1231
  className: "px-4 py-4",
1232
- children: /* @__PURE__ */ jsx("div", { className: "h-8 bg-background-tertiary rounded animate-pulse" })
1232
+ children: /* @__PURE__ */ jsx("div", { className: "h-8 bg-surface-sunken rounded animate-pulse" })
1233
1233
  })
1234
1234
  }, i)) })]
1235
1235
  })
1236
1236
  })
1237
1237
  });
1238
1238
  if (executions.length === 0) return /* @__PURE__ */ jsxs("div", {
1239
- className: "bg-background-secondary rounded-lg border border-border-secondary p-12 text-center",
1239
+ className: "bg-surface rounded-lg border border-border-default p-12 text-center",
1240
1240
  children: [
1241
1241
  /* @__PURE__ */ jsx(Icon, {
1242
1242
  icon: "mdi:play-box-outline",
@@ -1259,13 +1259,13 @@ function ExecutionTable({ executions, workflowNames, loading, canExecute = true,
1259
1259
  ]
1260
1260
  });
1261
1261
  return /* @__PURE__ */ jsxs("div", {
1262
- className: "bg-background-secondary rounded-lg border border-border-secondary overflow-hidden",
1262
+ className: "bg-surface rounded-lg border border-border-default overflow-hidden",
1263
1263
  children: [/* @__PURE__ */ jsx("div", {
1264
1264
  className: "overflow-x-auto",
1265
1265
  children: /* @__PURE__ */ jsxs("table", {
1266
1266
  className: "w-full min-w-[800px]",
1267
1267
  children: [/* @__PURE__ */ jsx("thead", {
1268
- className: "bg-background-tertiary border-b border-border-secondary",
1268
+ className: "bg-surface-sunken border-b border-border-default",
1269
1269
  children: /* @__PURE__ */ jsxs("tr", { children: [
1270
1270
  /* @__PURE__ */ jsx("th", {
1271
1271
  className: "w-10 px-4 py-3",
@@ -1273,7 +1273,7 @@ function ExecutionTable({ executions, workflowNames, loading, canExecute = true,
1273
1273
  type: "checkbox",
1274
1274
  checked: selection.allSelected,
1275
1275
  onChange: () => selectAll(allRunIds),
1276
- className: "w-4 h-4 rounded border-border-secondary"
1276
+ className: "w-4 h-4 rounded border-border-default"
1277
1277
  })
1278
1278
  }),
1279
1279
  /* @__PURE__ */ jsx("th", {
@@ -1303,13 +1303,13 @@ function ExecutionTable({ executions, workflowNames, loading, canExecute = true,
1303
1303
  /* @__PURE__ */ jsx("th", { className: "px-4 py-3 w-32" })
1304
1304
  ] })
1305
1305
  }), /* @__PURE__ */ jsx("tbody", {
1306
- className: "divide-y divide-border-secondary",
1306
+ className: "divide-y divide-border-default",
1307
1307
  children: executions.map((execution) => {
1308
1308
  const isSelected = selection.runIds.includes(execution.id);
1309
1309
  const isExpanded = expandedRows.has(execution.id);
1310
1310
  return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsxs("tr", {
1311
1311
  className: `
1312
- hover:bg-background-tertiary/50 cursor-pointer transition-colors
1312
+ hover:bg-surface-sunken/50 cursor-pointer transition-colors
1313
1313
  ${isSelected ? "bg-action-primary-bg/10" : ""}
1314
1314
  `,
1315
1315
  onClick: () => onRowClick?.(execution),
@@ -1321,7 +1321,7 @@ function ExecutionTable({ executions, workflowNames, loading, canExecute = true,
1321
1321
  type: "checkbox",
1322
1322
  checked: isSelected,
1323
1323
  onChange: () => toggleSelectRun(execution.id),
1324
- className: "w-4 h-4 rounded border-border-secondary"
1324
+ className: "w-4 h-4 rounded border-border-default"
1325
1325
  })
1326
1326
  }),
1327
1327
  /* @__PURE__ */ jsx("td", {
@@ -1370,7 +1370,7 @@ function ExecutionTable({ executions, workflowNames, loading, canExecute = true,
1370
1370
  children: /* @__PURE__ */ jsxs("div", {
1371
1371
  className: "flex items-center gap-2",
1372
1372
  children: [/* @__PURE__ */ jsx("div", {
1373
- className: "flex-1 h-2 bg-background-tertiary rounded-full overflow-hidden max-w-[100px]",
1373
+ className: "flex-1 h-2 bg-surface-sunken rounded-full overflow-hidden max-w-[100px]",
1374
1374
  children: /* @__PURE__ */ jsx("div", {
1375
1375
  className: `h-full transition-all ${execution.status === "FAILED" ? "bg-[var(--color-status-error-bg)]" : execution.status === "COMPLETED" ? "bg-[var(--color-status-success-bg)]" : "bg-[var(--color-status-info-bg)]"}`,
1376
1376
  style: { width: `${execution.progress}%` }
@@ -1396,7 +1396,7 @@ function ExecutionTable({ executions, workflowNames, loading, canExecute = true,
1396
1396
  onClick: () => toggleRowExpanded(execution.id),
1397
1397
  "aria-expanded": isExpanded,
1398
1398
  "aria-label": isExpanded ? tr("fluidgrids.executions.executionTable.collapseRow", "Hide run details") : tr("fluidgrids.executions.executionTable.expandRow", "Show run details"),
1399
- className: "p-1.5 rounded hover:bg-background-tertiary text-text-secondary",
1399
+ className: "p-1.5 rounded hover:bg-surface-sunken text-text-secondary",
1400
1400
  children: /* @__PURE__ */ jsx(Icon, {
1401
1401
  icon: isExpanded ? "mdi:chevron-up" : "mdi:chevron-down",
1402
1402
  width: 18
@@ -1408,7 +1408,7 @@ function ExecutionTable({ executions, workflowNames, loading, canExecute = true,
1408
1408
  "data-agent": "confirm",
1409
1409
  type: "button",
1410
1410
  onClick: () => onAction?.(action.action, execution),
1411
- className: "p-1.5 rounded hover:bg-background-tertiary text-text-secondary",
1411
+ className: "p-1.5 rounded hover:bg-surface-sunken text-text-secondary",
1412
1412
  title: action.label,
1413
1413
  "aria-label": action.label,
1414
1414
  children: /* @__PURE__ */ jsx(Icon, {
@@ -1419,7 +1419,7 @@ function ExecutionTable({ executions, workflowNames, loading, canExecute = true,
1419
1419
  }),
1420
1420
  /* @__PURE__ */ jsx("button", {
1421
1421
  onClick: () => navigate(`../runs/${execution.id}`),
1422
- className: "p-1.5 rounded hover:bg-background-tertiary text-text-secondary",
1422
+ className: "p-1.5 rounded hover:bg-surface-sunken text-text-secondary",
1423
1423
  title: tr("fluidgrids.executions.executionTable.viewDetails", "View Details"),
1424
1424
  "aria-label": tr("fluidgrids.executions.executionTable.viewDetails", "View Details"),
1425
1425
  children: /* @__PURE__ */ jsx(Icon, {
@@ -1433,7 +1433,7 @@ function ExecutionTable({ executions, workflowNames, loading, canExecute = true,
1433
1433
  ]
1434
1434
  }, execution.id), isExpanded && /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", {
1435
1435
  colSpan: 8,
1436
- className: "px-4 py-4 bg-background-tertiary/30",
1436
+ className: "px-4 py-4 bg-surface-sunken/30",
1437
1437
  children: /* @__PURE__ */ jsxs("div", {
1438
1438
  className: "grid grid-cols-2 lg:grid-cols-4 gap-4",
1439
1439
  children: [
@@ -1467,7 +1467,7 @@ function ExecutionTable({ executions, workflowNames, loading, canExecute = true,
1467
1467
  ]
1468
1468
  }),
1469
1469
  (execution.skippedNodes ?? 0) > 0 && /* @__PURE__ */ jsxs("span", {
1470
- className: "text-tertiary",
1470
+ className: "text-text-muted",
1471
1471
  children: [
1472
1472
  execution.skippedNodes,
1473
1473
  " ",
@@ -1500,7 +1500,7 @@ function ExecutionTable({ executions, workflowNames, loading, canExecute = true,
1500
1500
  })]
1501
1501
  })
1502
1502
  }), /* @__PURE__ */ jsx("div", {
1503
- className: "sm:hidden px-4 py-2 bg-background-tertiary border-t border-border-secondary text-xs text-text-secondary text-center",
1503
+ className: "sm:hidden px-4 py-2 bg-surface-sunken border-t border-border-default text-xs text-text-secondary text-center",
1504
1504
  children: tr("fluidgrids.executions.executionTable.swipeHint", "Swipe to see more columns")
1505
1505
  })]
1506
1506
  });
@@ -1561,17 +1561,17 @@ function ExecutionCards({ executions, workflowNames, loading, onCardClick, onAct
1561
1561
  if (loading) return /* @__PURE__ */ jsx("div", {
1562
1562
  className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",
1563
1563
  children: Array.from({ length: 6 }).map((_, i) => /* @__PURE__ */ jsxs("div", {
1564
- className: "rounded-lg border border-border-secondary bg-background-secondary p-4 animate-pulse",
1564
+ className: "rounded-lg border border-border-default bg-surface p-4 animate-pulse",
1565
1565
  children: [
1566
1566
  /* @__PURE__ */ jsxs("div", {
1567
1567
  className: "flex justify-between mb-3",
1568
- children: [/* @__PURE__ */ jsx("div", { className: "h-4 bg-background-tertiary rounded w-32" }), /* @__PURE__ */ jsx("div", { className: "h-5 bg-background-tertiary rounded-full w-20" })]
1568
+ children: [/* @__PURE__ */ jsx("div", { className: "h-4 bg-surface-sunken rounded w-32" }), /* @__PURE__ */ jsx("div", { className: "h-5 bg-surface-sunken rounded-full w-20" })]
1569
1569
  }),
1570
- /* @__PURE__ */ jsx("div", { className: "h-3 bg-background-tertiary rounded w-48 mb-2" }),
1571
- /* @__PURE__ */ jsx("div", { className: "h-2 bg-background-tertiary rounded w-full mb-3" }),
1570
+ /* @__PURE__ */ jsx("div", { className: "h-3 bg-surface-sunken rounded w-48 mb-2" }),
1571
+ /* @__PURE__ */ jsx("div", { className: "h-2 bg-surface-sunken rounded w-full mb-3" }),
1572
1572
  /* @__PURE__ */ jsxs("div", {
1573
1573
  className: "flex justify-between",
1574
- children: [/* @__PURE__ */ jsx("div", { className: "h-3 bg-background-tertiary rounded w-16" }), /* @__PURE__ */ jsx("div", { className: "h-3 bg-background-tertiary rounded w-24" })]
1574
+ children: [/* @__PURE__ */ jsx("div", { className: "h-3 bg-surface-sunken rounded w-16" }), /* @__PURE__ */ jsx("div", { className: "h-3 bg-surface-sunken rounded w-24" })]
1575
1575
  })
1576
1576
  ]
1577
1577
  }, i))
@@ -1601,8 +1601,8 @@ function ExecutionCards({ executions, workflowNames, loading, onCardClick, onAct
1601
1601
  return /* @__PURE__ */ jsxs("div", {
1602
1602
  onClick: () => onCardClick(execution),
1603
1603
  className: `
1604
- rounded-lg border bg-background-secondary p-4 cursor-pointer
1605
- transition-all duration-200 hover:shadow-md hover:border-border-primary
1604
+ rounded-lg border bg-surface p-4 cursor-pointer
1605
+ transition-all duration-200 hover:shadow-md hover:border-border-strong
1606
1606
  ${config.borderColor}
1607
1607
  `,
1608
1608
  children: [
@@ -1614,7 +1614,7 @@ function ExecutionCards({ executions, workflowNames, loading, onCardClick, onAct
1614
1614
  className: "text-sm font-semibold text-text-primary truncate",
1615
1615
  children: execution.workflow?.name || workflowNames?.[execution.workflowKey] || execution.workflowKey
1616
1616
  }), /* @__PURE__ */ jsx("p", {
1617
- className: "text-xs text-text-tertiary mt-0.5",
1617
+ className: "text-xs text-text-muted mt-0.5",
1618
1618
  children: formatRunVersion(execution.version)
1619
1619
  })]
1620
1620
  }), /* @__PURE__ */ jsx(ExecutionStatusBadge, {
@@ -1625,10 +1625,10 @@ function ExecutionCards({ executions, workflowNames, loading, onCardClick, onAct
1625
1625
  /* @__PURE__ */ jsxs("div", {
1626
1626
  className: "mb-3",
1627
1627
  children: [/* @__PURE__ */ jsxs("div", {
1628
- className: "flex justify-between text-xs text-text-tertiary mb-1",
1628
+ className: "flex justify-between text-xs text-text-muted mb-1",
1629
1629
  children: [/* @__PURE__ */ jsx("span", { children: tr("fluidgrids.executions.executionCards.progressLabel", "Progress") }), /* @__PURE__ */ jsxs("span", { children: [Math.round(execution.progress), "%"] })]
1630
1630
  }), /* @__PURE__ */ jsx("div", {
1631
- className: "h-1.5 bg-background-tertiary rounded-full overflow-hidden",
1631
+ className: "h-1.5 bg-surface-sunken rounded-full overflow-hidden",
1632
1632
  children: /* @__PURE__ */ jsx("div", {
1633
1633
  className: `h-full rounded-full transition-all duration-500 ${getProgressColor(execution.status)}`,
1634
1634
  style: { width: `${Math.min(execution.progress, 100)}%` }
@@ -1672,7 +1672,7 @@ function ExecutionCards({ executions, workflowNames, loading, onCardClick, onAct
1672
1672
  ]
1673
1673
  }),
1674
1674
  /* @__PURE__ */ jsxs("div", {
1675
- className: "flex items-center justify-between text-xs text-text-tertiary pt-2 border-t border-border-secondary",
1675
+ className: "flex items-center justify-between text-xs text-text-muted pt-2 border-t border-border-default",
1676
1676
  children: [/* @__PURE__ */ jsxs("span", {
1677
1677
  className: "flex items-center gap-1",
1678
1678
  children: [/* @__PURE__ */ jsx(Icon, {
@@ -1687,7 +1687,7 @@ function ExecutionCards({ executions, workflowNames, loading, onCardClick, onAct
1687
1687
  const actions = runQuickActions(execution.status, { resumeOffered });
1688
1688
  if (actions.length === 0) return null;
1689
1689
  return /* @__PURE__ */ jsx("div", {
1690
- className: "flex gap-1 mt-2 pt-2 border-t border-border-secondary",
1690
+ className: "flex gap-1 mt-2 pt-2 border-t border-border-default",
1691
1691
  children: actions.map((action) => {
1692
1692
  const { icon, label, hover } = CARD_ACTIONS(tr)[action];
1693
1693
  return /* @__PURE__ */ jsxs("button", {
@@ -1697,7 +1697,7 @@ function ExecutionCards({ executions, workflowNames, loading, onCardClick, onAct
1697
1697
  e.stopPropagation();
1698
1698
  onAction(action, execution);
1699
1699
  },
1700
- className: `flex items-center gap-1 text-xs px-2 py-1 rounded bg-background-tertiary text-text-secondary transition-colors ${hover}`,
1700
+ className: `flex items-center gap-1 text-xs px-2 py-1 rounded bg-surface-sunken text-text-secondary transition-colors ${hover}`,
1701
1701
  children: [
1702
1702
  /* @__PURE__ */ jsx(Icon, {
1703
1703
  icon,
@@ -1766,12 +1766,12 @@ function ExecutionTimeline({ executions, workflowNames, loading, onItemClick, on
1766
1766
  className: "space-y-6 pl-8",
1767
1767
  children: Array.from({ length: 4 }).map((_, i) => /* @__PURE__ */ jsxs("div", {
1768
1768
  className: "flex gap-4 animate-pulse",
1769
- children: [/* @__PURE__ */ jsx("div", { className: "w-3 h-3 rounded-full bg-background-tertiary mt-1.5 shrink-0" }), /* @__PURE__ */ jsxs("div", {
1769
+ children: [/* @__PURE__ */ jsx("div", { className: "w-3 h-3 rounded-full bg-surface-sunken mt-1.5 shrink-0" }), /* @__PURE__ */ jsxs("div", {
1770
1770
  className: "flex-1",
1771
1771
  children: [
1772
- /* @__PURE__ */ jsx("div", { className: "h-4 bg-background-tertiary rounded w-48 mb-2" }),
1773
- /* @__PURE__ */ jsx("div", { className: "h-3 bg-background-tertiary rounded w-32 mb-1" }),
1774
- /* @__PURE__ */ jsx("div", { className: "h-3 bg-background-tertiary rounded w-24" })
1772
+ /* @__PURE__ */ jsx("div", { className: "h-4 bg-surface-sunken rounded w-48 mb-2" }),
1773
+ /* @__PURE__ */ jsx("div", { className: "h-3 bg-surface-sunken rounded w-32 mb-1" }),
1774
+ /* @__PURE__ */ jsx("div", { className: "h-3 bg-surface-sunken rounded w-24" })
1775
1775
  ]
1776
1776
  })]
1777
1777
  }, i))
@@ -1803,15 +1803,15 @@ function ExecutionTimeline({ executions, workflowNames, loading, onItemClick, on
1803
1803
  /* @__PURE__ */ jsx(Icon, {
1804
1804
  icon: "mdi:calendar",
1805
1805
  width: 14,
1806
- className: "text-text-tertiary"
1806
+ className: "text-text-muted"
1807
1807
  }),
1808
1808
  /* @__PURE__ */ jsx("span", {
1809
- className: "text-xs font-semibold text-text-tertiary uppercase tracking-wider",
1809
+ className: "text-xs font-semibold text-text-muted uppercase tracking-wider",
1810
1810
  children: dateLabel
1811
1811
  }),
1812
- /* @__PURE__ */ jsx("div", { className: "flex-1 h-px bg-border-secondary" }),
1812
+ /* @__PURE__ */ jsx("div", { className: "flex-1 h-px bg-border-default" }),
1813
1813
  /* @__PURE__ */ jsxs("span", {
1814
- className: "text-xs text-text-tertiary",
1814
+ className: "text-xs text-text-muted",
1815
1815
  children: [
1816
1816
  dateExecutions.length,
1817
1817
  " ",
@@ -1821,7 +1821,7 @@ function ExecutionTimeline({ executions, workflowNames, loading, onItemClick, on
1821
1821
  ]
1822
1822
  }), /* @__PURE__ */ jsxs("div", {
1823
1823
  className: "relative ml-4",
1824
- children: [/* @__PURE__ */ jsx("div", { className: "absolute left-[5px] top-0 bottom-0 w-px bg-border-secondary" }), /* @__PURE__ */ jsx("div", {
1824
+ children: [/* @__PURE__ */ jsx("div", { className: "absolute left-[5px] top-0 bottom-0 w-px bg-border-default" }), /* @__PURE__ */ jsx("div", {
1825
1825
  className: "space-y-4",
1826
1826
  children: dateExecutions.map((execution, idx) => {
1827
1827
  const isLast = idx === dateExecutions.length - 1;
@@ -1831,11 +1831,11 @@ function ExecutionTimeline({ executions, workflowNames, loading, onItemClick, on
1831
1831
  className: "relative flex gap-4 cursor-pointer group",
1832
1832
  children: [/* @__PURE__ */ jsx("div", {
1833
1833
  className: "relative z-10 shrink-0 mt-1.5",
1834
- children: /* @__PURE__ */ jsx("div", { className: `w-[11px] h-[11px] rounded-full border-2 border-background-primary ${getStatusDotColor(execution.status)}` })
1834
+ children: /* @__PURE__ */ jsx("div", { className: `w-[11px] h-[11px] rounded-full border-2 border-surface-canvas ${getStatusDotColor(execution.status)}` })
1835
1835
  }), /* @__PURE__ */ jsxs("div", {
1836
1836
  className: `
1837
- flex-1 rounded-lg border border-border-secondary bg-background-secondary p-3
1838
- transition-all duration-200 group-hover:shadow-sm group-hover:border-border-primary
1837
+ flex-1 rounded-lg border border-border-default bg-surface p-3
1838
+ transition-all duration-200 group-hover:shadow-sm group-hover:border-border-strong
1839
1839
  ${isLast ? "" : "mb-0"}
1840
1840
  `,
1841
1841
  children: [/* @__PURE__ */ jsxs("div", {
@@ -1849,7 +1849,7 @@ function ExecutionTimeline({ executions, workflowNames, loading, onItemClick, on
1849
1849
  className: "text-sm font-semibold text-text-primary truncate",
1850
1850
  children: execution.workflow?.name || workflowNames?.[execution.workflowKey] || execution.workflowKey
1851
1851
  }), /* @__PURE__ */ jsx("span", {
1852
- className: "text-xs text-text-tertiary",
1852
+ className: "text-xs text-text-muted",
1853
1853
  children: formatRunVersion(execution.version)
1854
1854
  })]
1855
1855
  }),
@@ -1902,7 +1902,7 @@ function ExecutionTimeline({ executions, workflowNames, loading, onItemClick, on
1902
1902
  e.stopPropagation();
1903
1903
  onAction("cancel", execution);
1904
1904
  },
1905
- className: "p-1 rounded opacity-60 group-hover:opacity-100 focus-visible:opacity-100 hover:bg-status-error-bg-subtle text-text-tertiary hover:text-status-error-text transition-all",
1905
+ className: "p-1 rounded opacity-60 group-hover:opacity-100 focus-visible:opacity-100 hover:bg-status-error-bg-subtle text-text-muted hover:text-status-error-text transition-all",
1906
1906
  title: tr("fluidgrids.executions.executionTimeline.cancelTooltip", "Cancel execution"),
1907
1907
  "aria-label": tr("fluidgrids.executions.executionTimeline.cancelTooltip", "Cancel execution"),
1908
1908
  children: /* @__PURE__ */ jsx(Icon, {
@@ -1914,7 +1914,7 @@ function ExecutionTimeline({ executions, workflowNames, loading, onItemClick, on
1914
1914
  }), execution.status === "RUNNING" && /* @__PURE__ */ jsx("div", {
1915
1915
  className: "mt-2",
1916
1916
  children: /* @__PURE__ */ jsx("div", {
1917
- className: "h-1 bg-background-tertiary rounded-full overflow-hidden",
1917
+ className: "h-1 bg-surface-sunken rounded-full overflow-hidden",
1918
1918
  children: /* @__PURE__ */ jsx("div", {
1919
1919
  className: "h-full bg-status-info-bg rounded-full transition-all duration-500 animate-pulse",
1920
1920
  style: { width: `${Math.min(execution.progress, 100)}%` }
@@ -2012,7 +2012,7 @@ function Pagination({ totalItems, showPageSize = true }) {
2012
2012
  /* @__PURE__ */ jsx("button", {
2013
2013
  onClick: () => goToPage(page - 1),
2014
2014
  disabled: page === 1,
2015
- className: "p-2 rounded hover:bg-background-tertiary disabled:opacity-50 disabled:cursor-not-allowed",
2015
+ className: "p-2 rounded hover:bg-surface-sunken disabled:opacity-50 disabled:cursor-not-allowed",
2016
2016
  children: /* @__PURE__ */ jsx(Icon, {
2017
2017
  icon: "mdi:chevron-left",
2018
2018
  width: 20,
@@ -2028,7 +2028,7 @@ function Pagination({ totalItems, showPageSize = true }) {
2028
2028
  onClick: () => goToPage(pageNum),
2029
2029
  className: `
2030
2030
  min-w-[32px] h-8 px-2 rounded text-sm font-medium
2031
- ${pageNum === page ? "bg-action-primary-bg text-action-primary-text" : "hover:bg-background-tertiary text-text-secondary"}
2031
+ ${pageNum === page ? "bg-action-primary-bg text-action-primary-text" : "hover:bg-surface-sunken text-text-secondary"}
2032
2032
  `,
2033
2033
  children: pageNum
2034
2034
  }, pageNum))
@@ -2044,7 +2044,7 @@ function Pagination({ totalItems, showPageSize = true }) {
2044
2044
  /* @__PURE__ */ jsx("button", {
2045
2045
  onClick: () => goToPage(page + 1),
2046
2046
  disabled: page === totalPages,
2047
- className: "p-2 rounded hover:bg-background-tertiary disabled:opacity-50 disabled:cursor-not-allowed",
2047
+ className: "p-2 rounded hover:bg-surface-sunken disabled:opacity-50 disabled:cursor-not-allowed",
2048
2048
  children: /* @__PURE__ */ jsx(Icon, {
2049
2049
  icon: "mdi:chevron-right",
2050
2050
  width: 20,
@@ -2188,7 +2188,7 @@ function RunsPlainTable({ executions, workflowNames, loading, canExecute = true,
2188
2188
  if (loading && executions.length === 0) return /* @__PURE__ */ jsx("div", {
2189
2189
  className: "space-y-2",
2190
2190
  "aria-busy": "true",
2191
- children: [...Array(5)].map((_, i) => /* @__PURE__ */ jsx("div", { className: "h-12 rounded-lg bg-background-tertiary animate-pulse" }, i))
2191
+ children: [...Array(5)].map((_, i) => /* @__PURE__ */ jsx("div", { className: "h-12 rounded-lg bg-surface-sunken animate-pulse" }, i))
2192
2192
  });
2193
2193
  return /* @__PURE__ */ jsx("div", {
2194
2194
  "data-testid": "runs-plain-table",
@@ -2366,7 +2366,7 @@ function SearchAttributeFilterBar({ applied, onApply, conflicts }) {
2366
2366
  }));
2367
2367
  };
2368
2368
  return /* @__PURE__ */ jsxs("section", {
2369
- className: "mb-4 space-y-3 rounded-lg border border-border-secondary bg-background-secondary p-3",
2369
+ className: "mb-4 space-y-3 rounded-lg border border-border-default bg-surface p-3",
2370
2370
  "data-testid": "search-attribute-filter",
2371
2371
  children: [
2372
2372
  /* @__PURE__ */ jsxs("div", {
@@ -2809,7 +2809,7 @@ function BatchOperationDialog({ type, input, selection, onClose, onStarted }) {
2809
2809
  })]
2810
2810
  }),
2811
2811
  dryRun && /* @__PURE__ */ jsx("p", {
2812
- className: "rounded-md bg-background-primary p-2 text-sm text-text-primary",
2812
+ className: "rounded-md bg-surface-canvas p-2 text-sm text-text-primary",
2813
2813
  "data-testid": "batch-dry-run-result",
2814
2814
  children: tr("fluidgrids.runControl.batch.dryRunResult", "The job would select {{count}} runs.", { count: dryRun.total })
2815
2815
  }),
@@ -2920,7 +2920,7 @@ function BatchProgressDrawer({ job: initial, open, onOpenChange, canCancel }) {
2920
2920
  /* @__PURE__ */ jsx(FieldError, { message: jobs.error }),
2921
2921
  (jobs.data?.items ?? []).map((item) => /* @__PURE__ */ jsxs("button", {
2922
2922
  type: "button",
2923
- className: "w-full rounded-md border border-border-secondary p-2 text-left hover:bg-background-tertiary",
2923
+ className: "w-full rounded-md border border-border-default p-2 text-left hover:bg-surface-sunken",
2924
2924
  onClick: () => setJob(item),
2925
2925
  "data-testid": `batch-job-${item.id}`,
2926
2926
  children: [/* @__PURE__ */ jsxs("div", {
@@ -2979,7 +2979,7 @@ function BatchJobProgress({ job, onCancel }) {
2979
2979
  })]
2980
2980
  }),
2981
2981
  /* @__PURE__ */ jsx("div", {
2982
- className: "h-2 overflow-hidden rounded-full bg-background-tertiary",
2982
+ className: "h-2 overflow-hidden rounded-full bg-surface-sunken",
2983
2983
  children: /* @__PURE__ */ jsx("div", {
2984
2984
  className: "h-full bg-[var(--color-status-info-bg)]",
2985
2985
  style: { width: `${progress.percent}%` }
@@ -3109,14 +3109,14 @@ function RunsParityBar({ workflowId, onWorkflowIdChange, total, counts, countsEr
3109
3109
  }) : /* @__PURE__ */ jsxs(Fragment$1, { children: [total !== null && /* @__PURE__ */ jsx("button", {
3110
3110
  type: "button",
3111
3111
  onClick: () => onSelectStatus("all"),
3112
- className: cn("rounded-full border px-2.5 py-1 text-xs", selectedStatus === "all" ? "border-action-primary-bg bg-action-primary-bg text-action-primary-text" : "border-border-secondary text-text-secondary hover:text-text-primary"),
3112
+ className: cn("rounded-full border px-2.5 py-1 text-xs", selectedStatus === "all" ? "border-action-primary-bg bg-action-primary-bg text-action-primary-text" : "border-border-default text-text-secondary hover:text-text-primary"),
3113
3113
  "aria-pressed": selectedStatus === "all",
3114
3114
  "data-testid": "runs-count-all",
3115
3115
  children: tr("fluidgrids.executions.parity.countAll", "All {{count}}", { count: total })
3116
3116
  }), counts.map(({ status, count }) => isRunStatus(status) ? /* @__PURE__ */ jsx("button", {
3117
3117
  type: "button",
3118
3118
  onClick: () => onSelectStatus(status),
3119
- className: cn("rounded-full border px-2.5 py-1 text-xs", selectedStatus === status ? "border-action-primary-bg bg-action-primary-bg text-action-primary-text" : "border-border-secondary text-text-secondary hover:text-text-primary"),
3119
+ className: cn("rounded-full border px-2.5 py-1 text-xs", selectedStatus === status ? "border-action-primary-bg bg-action-primary-bg text-action-primary-text" : "border-border-default text-text-secondary hover:text-text-primary"),
3120
3120
  "aria-pressed": selectedStatus === status,
3121
3121
  "data-testid": `runs-count-${status}`,
3122
3122
  children: tr("fluidgrids.executions.parity.countStatus", "{{status}} {{count}}", {
@@ -3372,7 +3372,7 @@ function ExecutionsListPage() {
3372
3372
  }, { replace: true });
3373
3373
  };
3374
3374
  return /* @__PURE__ */ jsxs("div", {
3375
- className: "p-4 sm:p-6 bg-background-primary min-h-screen",
3375
+ className: "p-4 sm:p-6 bg-surface-canvas min-h-screen",
3376
3376
  children: [
3377
3377
  /* @__PURE__ */ jsxs("div", {
3378
3378
  className: "flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4 mb-6",
@@ -3398,13 +3398,13 @@ function ExecutionsListPage() {
3398
3398
  label: tr("fluidgrids.executions.executionsList.moreOptions", "More options"),
3399
3399
  "data-testid": "runs-view-menu"
3400
3400
  }) : /* @__PURE__ */ jsxs("div", {
3401
- className: "flex items-center bg-background-secondary rounded-lg border border-border-secondary p-1",
3401
+ className: "flex items-center bg-surface rounded-lg border border-border-default p-1",
3402
3402
  children: [
3403
3403
  /* @__PURE__ */ jsx("button", {
3404
3404
  onClick: () => setViewMode("table"),
3405
3405
  "aria-pressed": viewMode === "table",
3406
3406
  "aria-label": tr("fluidgrids.executions.executionsList.tableViewTooltip", "Table View"),
3407
- className: `p-2 rounded ${viewMode === "table" ? "bg-background-tertiary text-text-primary" : "text-text-secondary hover:text-text-primary"}`,
3407
+ className: `p-2 rounded ${viewMode === "table" ? "bg-surface-sunken text-text-primary" : "text-text-secondary hover:text-text-primary"}`,
3408
3408
  title: tr("fluidgrids.executions.executionsList.tableViewTooltip", "Table View"),
3409
3409
  children: /* @__PURE__ */ jsx(Icon, {
3410
3410
  icon: "mdi:table",
@@ -3415,7 +3415,7 @@ function ExecutionsListPage() {
3415
3415
  onClick: () => setViewMode("cards"),
3416
3416
  "aria-pressed": viewMode === "cards",
3417
3417
  "aria-label": tr("fluidgrids.executions.executionsList.cardViewTooltip", "Card View"),
3418
- className: `p-2 rounded ${viewMode === "cards" ? "bg-background-tertiary text-text-primary" : "text-text-secondary hover:text-text-primary"}`,
3418
+ className: `p-2 rounded ${viewMode === "cards" ? "bg-surface-sunken text-text-primary" : "text-text-secondary hover:text-text-primary"}`,
3419
3419
  title: tr("fluidgrids.executions.executionsList.cardViewTooltip", "Card View"),
3420
3420
  children: /* @__PURE__ */ jsx(Icon, {
3421
3421
  icon: "mdi:view-grid",
@@ -3426,7 +3426,7 @@ function ExecutionsListPage() {
3426
3426
  onClick: () => setViewMode("timeline"),
3427
3427
  "aria-pressed": viewMode === "timeline",
3428
3428
  "aria-label": tr("fluidgrids.executions.executionsList.timelineViewTooltip", "Timeline View"),
3429
- className: `p-2 rounded ${viewMode === "timeline" ? "bg-background-tertiary text-text-primary" : "text-text-secondary hover:text-text-primary"}`,
3429
+ className: `p-2 rounded ${viewMode === "timeline" ? "bg-surface-sunken text-text-primary" : "text-text-secondary hover:text-text-primary"}`,
3430
3430
  title: tr("fluidgrids.executions.executionsList.timelineViewTooltip", "Timeline View"),
3431
3431
  children: /* @__PURE__ */ jsx(Icon, {
3432
3432
  icon: "mdi:timeline",
@@ -1096,7 +1096,7 @@ function ClusterRow({ cluster, canRetry, onOpenRun, onRetry, onDismiss }) {
1096
1096
  icon: "mdi:alert-outline"
1097
1097
  };
1098
1098
  return /* @__PURE__ */ jsx("li", {
1099
- className: "rounded-lg border border-border-secondary bg-background-primary p-3",
1099
+ className: "rounded-lg border border-border-default bg-surface-canvas p-3",
1100
1100
  "data-testid": "failure-cluster",
1101
1101
  "data-bucket": String(cluster.bucket),
1102
1102
  children: /* @__PURE__ */ jsxs("div", {
@@ -1108,7 +1108,7 @@ function ClusterRow({ cluster, canRetry, onOpenRun, onRetry, onDismiss }) {
1108
1108
  className: "flex flex-wrap items-center gap-2 text-sm",
1109
1109
  children: [
1110
1110
  /* @__PURE__ */ jsxs("span", {
1111
- className: "inline-flex items-center gap-1 rounded-full bg-background-secondary px-2 py-0.5 text-xs text-text-secondary",
1111
+ className: "inline-flex items-center gap-1 rounded-full bg-surface px-2 py-0.5 text-xs text-text-secondary",
1112
1112
  children: [/* @__PURE__ */ jsx(Icon, {
1113
1113
  icon: bucket.icon,
1114
1114
  width: 14
@@ -1173,7 +1173,7 @@ function FailureTriagePanel({ canManage, canRetry, onOpenRun, onRetry }) {
1173
1173
  const triage = useFailureTriage();
1174
1174
  const enabled = triage.settings?.enabled ?? false;
1175
1175
  return /* @__PURE__ */ jsxs("section", {
1176
- className: "mb-6 rounded-xl border border-border-secondary bg-background-secondary p-4",
1176
+ className: "mb-6 rounded-xl border border-border-default bg-surface p-4",
1177
1177
  "data-testid": "failure-triage-panel",
1178
1178
  children: [
1179
1179
  /* @__PURE__ */ jsxs("div", {