openxiangda 2.62.1 → 2.65.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/dist/browser/AuthoritativeSelector.d.ts +4 -3
  2. package/dist/browser/AuthoritativeSelector.d.ts.map +1 -1
  3. package/dist/browser/AuthoritativeSelector.js +25 -16
  4. package/dist/browser/AuthoritativeSelector.js.map +1 -1
  5. package/dist/browser/admin-contributions.d.ts +26 -0
  6. package/dist/browser/admin-contributions.d.ts.map +1 -1
  7. package/dist/browser/admin-contributions.js +30 -0
  8. package/dist/browser/admin-contributions.js.map +1 -1
  9. package/dist/browser/components/platform-fields/AttachmentFileList.d.ts +2 -1
  10. package/dist/browser/components/platform-fields/AttachmentFileList.d.ts.map +1 -1
  11. package/dist/browser/components/platform-fields/AttachmentFileList.js +3 -3
  12. package/dist/browser/components/platform-fields/AttachmentFileList.js.map +1 -1
  13. package/dist/browser/components/platform-fields/ResourceReferenceField.d.ts +4 -2
  14. package/dist/browser/components/platform-fields/ResourceReferenceField.d.ts.map +1 -1
  15. package/dist/browser/components/platform-fields/ResourceReferenceField.js +4 -4
  16. package/dist/browser/components/platform-fields/ResourceReferenceField.js.map +1 -1
  17. package/dist/browser/components/platform-fields/address-value.d.ts +2 -12
  18. package/dist/browser/components/platform-fields/address-value.d.ts.map +1 -1
  19. package/dist/browser/components/platform-fields/address-value.js +1 -69
  20. package/dist/browser/components/platform-fields/address-value.js.map +1 -1
  21. package/dist/browser/components/platform-fields/cascade-value.d.ts +2 -5
  22. package/dist/browser/components/platform-fields/cascade-value.d.ts.map +1 -1
  23. package/dist/browser/components/platform-fields/cascade-value.js +1 -46
  24. package/dist/browser/components/platform-fields/cascade-value.js.map +1 -1
  25. package/dist/browser/components/platform-fields/resource-query.d.ts +3 -19
  26. package/dist/browser/components/platform-fields/resource-query.d.ts.map +1 -1
  27. package/dist/browser/components/platform-fields/resource-query.js +2 -153
  28. package/dist/browser/components/platform-fields/resource-query.js.map +1 -1
  29. package/dist/browser/components/resource/GeneratedResourceCrud.d.ts +393 -2
  30. package/dist/browser/components/resource/GeneratedResourceCrud.d.ts.map +1 -1
  31. package/dist/browser/components/resource/GeneratedResourceCrud.js +148 -71
  32. package/dist/browser/components/resource/GeneratedResourceCrud.js.map +1 -1
  33. package/dist/browser/components/resource/GeneratedResourceForm.d.ts.map +1 -1
  34. package/dist/browser/components/resource/GeneratedResourceForm.js +7 -1
  35. package/dist/browser/components/resource/GeneratedResourceForm.js.map +1 -1
  36. package/dist/browser/components/resource/RecordDetailFrame.d.ts +4 -1
  37. package/dist/browser/components/resource/RecordDetailFrame.d.ts.map +1 -1
  38. package/dist/browser/components/resource/RecordDetailFrame.js +4 -2
  39. package/dist/browser/components/resource/RecordDetailFrame.js.map +1 -1
  40. package/dist/browser/components/resource/SurfaceFields.d.ts +4 -1
  41. package/dist/browser/components/resource/SurfaceFields.d.ts.map +1 -1
  42. package/dist/browser/components/resource/SurfaceFields.js +8 -8
  43. package/dist/browser/components/resource/SurfaceFields.js.map +1 -1
  44. package/dist/browser/components/resource/useResourceFormDrafts.d.ts.map +1 -1
  45. package/dist/browser/components/workflow/StandardWorkflowPages.d.ts +5 -2
  46. package/dist/browser/components/workflow/StandardWorkflowPages.d.ts.map +1 -1
  47. package/dist/browser/components/workflow/StandardWorkflowPages.js +107 -64
  48. package/dist/browser/components/workflow/StandardWorkflowPages.js.map +1 -1
  49. package/dist/browser/components/workflow/WorkflowBusinessStepEditor.d.ts +11 -0
  50. package/dist/browser/components/workflow/WorkflowBusinessStepEditor.d.ts.map +1 -0
  51. package/dist/browser/components/workflow/WorkflowBusinessStepEditor.js +55 -0
  52. package/dist/browser/components/workflow/WorkflowBusinessStepEditor.js.map +1 -0
  53. package/dist/browser/components/workflow/WorkflowBusinessStepRecoveryPanel.d.ts.map +1 -1
  54. package/dist/browser/components/workflow/WorkflowBusinessStepRecoveryPanel.js +13 -8
  55. package/dist/browser/components/workflow/WorkflowBusinessStepRecoveryPanel.js.map +1 -1
  56. package/dist/browser/components/workflow/WorkflowConditionConfigurationEditor.d.ts +18 -0
  57. package/dist/browser/components/workflow/WorkflowConditionConfigurationEditor.d.ts.map +1 -0
  58. package/dist/browser/components/workflow/WorkflowConditionConfigurationEditor.js +30 -0
  59. package/dist/browser/components/workflow/WorkflowConditionConfigurationEditor.js.map +1 -0
  60. package/dist/browser/components/workflow/WorkflowConditionEditor.d.ts +9 -0
  61. package/dist/browser/components/workflow/WorkflowConditionEditor.d.ts.map +1 -0
  62. package/dist/browser/components/workflow/WorkflowConditionEditor.js +33 -0
  63. package/dist/browser/components/workflow/WorkflowConditionEditor.js.map +1 -0
  64. package/dist/browser/components/workflow/WorkflowConditionExamples.d.ts +11 -0
  65. package/dist/browser/components/workflow/WorkflowConditionExamples.d.ts.map +1 -0
  66. package/dist/browser/components/workflow/WorkflowConditionExamples.js +52 -0
  67. package/dist/browser/components/workflow/WorkflowConditionExamples.js.map +1 -0
  68. package/dist/browser/components/workflow/WorkflowDesigner.d.ts +14 -0
  69. package/dist/browser/components/workflow/WorkflowDesigner.d.ts.map +1 -0
  70. package/dist/browser/components/workflow/WorkflowDesigner.js +586 -0
  71. package/dist/browser/components/workflow/WorkflowDesigner.js.map +1 -0
  72. package/dist/browser/components/workflow/WorkflowDesignerAssistant.d.ts +16 -0
  73. package/dist/browser/components/workflow/WorkflowDesignerAssistant.d.ts.map +1 -0
  74. package/dist/browser/components/workflow/WorkflowDesignerAssistant.js +75 -0
  75. package/dist/browser/components/workflow/WorkflowDesignerAssistant.js.map +1 -0
  76. package/dist/browser/components/workflow/WorkflowDiagram.d.ts +8 -2
  77. package/dist/browser/components/workflow/WorkflowDiagram.d.ts.map +1 -1
  78. package/dist/browser/components/workflow/WorkflowDiagram.js +6 -6
  79. package/dist/browser/components/workflow/WorkflowDiagram.js.map +1 -1
  80. package/dist/browser/components/workflow/WorkflowDraftHandlingEditor.d.ts +19 -0
  81. package/dist/browser/components/workflow/WorkflowDraftHandlingEditor.d.ts.map +1 -0
  82. package/dist/browser/components/workflow/WorkflowDraftHandlingEditor.js +22 -0
  83. package/dist/browser/components/workflow/WorkflowDraftHandlingEditor.js.map +1 -0
  84. package/dist/browser/components/workflow/WorkflowFlowCanvas.d.ts +7 -0
  85. package/dist/browser/components/workflow/WorkflowFlowCanvas.d.ts.map +1 -1
  86. package/dist/browser/components/workflow/WorkflowFlowCanvas.js +84 -23
  87. package/dist/browser/components/workflow/WorkflowFlowCanvas.js.map +1 -1
  88. package/dist/browser/components/workflow/WorkflowNodeCard.d.ts +2 -1
  89. package/dist/browser/components/workflow/WorkflowNodeCard.d.ts.map +1 -1
  90. package/dist/browser/components/workflow/WorkflowNodeCard.js +12 -10
  91. package/dist/browser/components/workflow/WorkflowNodeCard.js.map +1 -1
  92. package/dist/browser/components/workflow/WorkflowNodeConfigurationEditor.d.ts +13 -2
  93. package/dist/browser/components/workflow/WorkflowNodeConfigurationEditor.d.ts.map +1 -1
  94. package/dist/browser/components/workflow/WorkflowNodeConfigurationEditor.js +70 -23
  95. package/dist/browser/components/workflow/WorkflowNodeConfigurationEditor.js.map +1 -1
  96. package/dist/browser/components/workflow/WorkflowNotificationEditor.d.ts +20 -0
  97. package/dist/browser/components/workflow/WorkflowNotificationEditor.d.ts.map +1 -0
  98. package/dist/browser/components/workflow/WorkflowNotificationEditor.js +18 -0
  99. package/dist/browser/components/workflow/WorkflowNotificationEditor.js.map +1 -0
  100. package/dist/browser/components/workflow/WorkflowParallelConfigurationEditor.d.ts +10 -0
  101. package/dist/browser/components/workflow/WorkflowParallelConfigurationEditor.d.ts.map +1 -0
  102. package/dist/browser/components/workflow/WorkflowParallelConfigurationEditor.js +24 -0
  103. package/dist/browser/components/workflow/WorkflowParallelConfigurationEditor.js.map +1 -0
  104. package/dist/browser/components/workflow/WorkflowPeopleSourceEditor.d.ts +9 -0
  105. package/dist/browser/components/workflow/WorkflowPeopleSourceEditor.d.ts.map +1 -0
  106. package/dist/browser/components/workflow/WorkflowPeopleSourceEditor.js +13 -0
  107. package/dist/browser/components/workflow/WorkflowPeopleSourceEditor.js.map +1 -0
  108. package/dist/browser/components/workflow/WorkflowReminderEditor.d.ts +9 -0
  109. package/dist/browser/components/workflow/WorkflowReminderEditor.d.ts.map +1 -0
  110. package/dist/browser/components/workflow/WorkflowReminderEditor.js +23 -0
  111. package/dist/browser/components/workflow/WorkflowReminderEditor.js.map +1 -0
  112. package/dist/browser/components/workflow/WorkflowReturnPolicyEditor.d.ts +8 -0
  113. package/dist/browser/components/workflow/WorkflowReturnPolicyEditor.d.ts.map +1 -0
  114. package/dist/browser/components/workflow/WorkflowReturnPolicyEditor.js +34 -0
  115. package/dist/browser/components/workflow/WorkflowReturnPolicyEditor.js.map +1 -0
  116. package/dist/browser/components/workflow/WorkflowTaskForm.d.ts +1 -4
  117. package/dist/browser/components/workflow/WorkflowTaskForm.d.ts.map +1 -1
  118. package/dist/browser/components/workflow/WorkflowTaskForm.js +5 -6
  119. package/dist/browser/components/workflow/WorkflowTaskForm.js.map +1 -1
  120. package/dist/browser/components/workflow/workflow-approval-presentation.d.ts +13 -0
  121. package/dist/browser/components/workflow/workflow-approval-presentation.d.ts.map +1 -0
  122. package/dist/browser/components/workflow/workflow-approval-presentation.js +21 -0
  123. package/dist/browser/components/workflow/workflow-approval-presentation.js.map +1 -0
  124. package/dist/browser/components/workflow/workflow-designer-presentation.d.ts +13 -0
  125. package/dist/browser/components/workflow/workflow-designer-presentation.d.ts.map +1 -0
  126. package/dist/browser/components/workflow/workflow-designer-presentation.js +69 -0
  127. package/dist/browser/components/workflow/workflow-designer-presentation.js.map +1 -0
  128. package/dist/browser/components/workflow/workflow-flow-layout.d.ts +21 -11
  129. package/dist/browser/components/workflow/workflow-flow-layout.d.ts.map +1 -1
  130. package/dist/browser/components/workflow/workflow-flow-layout.js +28 -18
  131. package/dist/browser/components/workflow/workflow-flow-layout.js.map +1 -1
  132. package/dist/browser/components/workflow/workflow-operation-layout.d.ts +6 -0
  133. package/dist/browser/components/workflow/workflow-operation-layout.d.ts.map +1 -0
  134. package/dist/browser/components/workflow/workflow-operation-layout.js +17 -0
  135. package/dist/browser/components/workflow/workflow-operation-layout.js.map +1 -0
  136. package/dist/browser/components/workflow/workflow-parallel-layout.d.ts +37 -0
  137. package/dist/browser/components/workflow/workflow-parallel-layout.d.ts.map +1 -0
  138. package/dist/browser/components/workflow/workflow-parallel-layout.js +176 -0
  139. package/dist/browser/components/workflow/workflow-parallel-layout.js.map +1 -0
  140. package/dist/browser/platform-client.d.ts +71 -3
  141. package/dist/browser/platform-client.d.ts.map +1 -1
  142. package/dist/browser/platform-client.js +54 -4
  143. package/dist/browser/platform-client.js.map +1 -1
  144. package/dist/browser/record-detail.css +4 -3
  145. package/dist/browser/styles.css +386 -1
  146. package/dist/browser/workflow-approval.css +205 -0
  147. package/dist/browser/workflow-operation-input.d.ts.map +1 -1
  148. package/dist/browser/workflow-operation-input.js +1 -0
  149. package/dist/browser/workflow-operation-input.js.map +1 -1
  150. package/dist/config.d.ts +1 -0
  151. package/dist/config.d.ts.map +1 -1
  152. package/dist/core.d.ts +1 -0
  153. package/dist/core.d.ts.map +1 -1
  154. package/dist/core.js +1 -0
  155. package/dist/core.js.map +1 -1
  156. package/dist/react.d.ts +1 -0
  157. package/dist/react.d.ts.map +1 -1
  158. package/dist/react.js +1 -0
  159. package/dist/react.js.map +1 -1
  160. package/dist/resource.d.ts +22 -0
  161. package/dist/resource.d.ts.map +1 -0
  162. package/dist/resource.js +18 -0
  163. package/dist/resource.js.map +1 -0
  164. package/documentation/AGENTS.md +1 -1
  165. package/documentation/application-templates.md +37 -0
  166. package/documentation/field-components.md +10 -1
  167. package/documentation/frontend.md +14 -4
  168. package/documentation/getting-started.md +9 -7
  169. package/documentation/manifest.json +13 -7
  170. package/documentation/reference/cli.md +2 -0
  171. package/documentation/reference/mcp.md +238 -0
  172. package/documentation/workflow-events.md +33 -0
  173. package/package.json +26 -26
  174. package/releases/2.64.0.json +30 -0
  175. package/releases/2.65.0.json +30 -0
  176. package/skills/manifest.json +1 -1
  177. package/skills/openxiangda-v2/SKILL.md +7 -7
  178. package/skills/openxiangda-v2/references/application-templates.md +37 -0
  179. package/skills/openxiangda-v2/references/cli.md +2 -0
  180. package/skills/openxiangda-v2/references/field-components.md +10 -1
  181. package/skills/openxiangda-v2/references/frontend.md +14 -4
  182. package/skills/openxiangda-v2/references/getting-started.md +9 -7
  183. package/skills/openxiangda-v2/references/mcp.md +238 -0
  184. package/skills/openxiangda-v2/references/workflow-events.md +33 -0
  185. package/releases/2.20.1.json +0 -30
  186. package/releases/2.20.2.json +0 -30
  187. package/releases/2.20.3.json +0 -29
  188. package/releases/2.20.4.json +0 -30
  189. package/releases/2.31.5.json +0 -33
  190. package/releases/2.59.3.json +0 -36
  191. package/releases/2.60.0.json +0 -38
  192. package/releases/2.61.0.json +0 -39
  193. package/releases/2.61.1.json +0 -37
  194. package/releases/2.61.2.json +0 -32
  195. package/releases/2.61.3.json +0 -33
  196. package/releases/2.62.0.json +0 -40
  197. package/releases/2.62.1.json +0 -34
@@ -3,6 +3,7 @@
3
3
 
4
4
  @import './mobile-fields.css';
5
5
  @import './record-detail.css';
6
+ @import './workflow-approval.css';
6
7
  @import './record-print.css';
7
8
 
8
9
  .oxa-ui-root {
@@ -305,6 +306,23 @@
305
306
  gap: 12px;
306
307
  }
307
308
 
309
+ .oxa-workflow-detail-sections {
310
+ display: grid;
311
+ gap: 18px;
312
+ }
313
+
314
+ .oxa-workflow-detail-section {
315
+ display: grid;
316
+ gap: 10px;
317
+ min-width: 0;
318
+ }
319
+
320
+ .oxa-workflow-detail-section > .ant-typography {
321
+ margin: 0 2px;
322
+ color: var(--ant-color-text);
323
+ font-size: 18px;
324
+ }
325
+
308
326
  .oxa-workflow-business,
309
327
  .oxa-workflow-timeline-card,
310
328
  .oxa-workflow-participants,
@@ -497,6 +515,15 @@
497
515
  min-height: 40px;
498
516
  }
499
517
 
518
+ .oxa-workflow-actions-desktop .oxa-workflow-more-trigger {
519
+ order: -1;
520
+ margin-right: auto;
521
+ }
522
+
523
+ .oxa-workflow-actions .oxa-workflow-more-trigger {
524
+ flex: 0 0 auto;
525
+ }
526
+
500
527
  .oxa-workflow-more-actions {
501
528
  position: absolute;
502
529
  bottom: 68px;
@@ -1294,6 +1321,16 @@
1294
1321
  .oxa-workflow-actions-mobile .ant-btn {
1295
1322
  flex: 1;
1296
1323
  min-width: 0;
1324
+ white-space: nowrap;
1325
+ }
1326
+
1327
+ .oxa-workflow-actions-mobile {
1328
+ flex-wrap: nowrap;
1329
+ justify-content: stretch;
1330
+ }
1331
+
1332
+ .oxa-workflow-actions-mobile .oxa-workflow-approve-primary {
1333
+ flex: 2 1 0;
1297
1334
  }
1298
1335
 
1299
1336
  .oxa-workflow-actions-mobile .oxa-workflow-more-trigger {
@@ -3138,7 +3175,19 @@
3138
3175
  .oxa-workflow-config-context { margin-bottom: 16px; }
3139
3176
  .oxa-workflow-config-context h4 { margin: 0 0 8px; }
3140
3177
  .oxa-workflow-config-help { color: var(--ant-color-text-secondary, #748092); font-size: 13px; line-height: 1.7; margin: 0 0 20px; }
3141
- .oxa-workflow-config .ant-tabs-nav { margin-bottom: 20px; }
3178
+ .oxa-workflow-config-section { margin: 0 0 24px; padding-top: 16px; border-top: 1px solid var(--ant-color-border-secondary, #e3e8ef); }
3179
+ .oxa-workflow-config-section h3 { margin: 0 0 16px; font-size: 14px; font-weight: 600; }
3180
+ .oxa-workflow-operation-table { width: 100%; border-collapse: collapse; font-size: 13px; table-layout: fixed; }
3181
+ .oxa-workflow-operation-table thead { background: var(--ant-color-fill-quaternary, #f4f6fa); color: var(--ant-color-text-secondary, #646a73); }
3182
+ .oxa-workflow-operation-table th, .oxa-workflow-operation-table td { padding: 10px 6px; text-align: left; border-bottom: 1px solid var(--ant-color-border-secondary, #e3e8ef); vertical-align: middle; }
3183
+ .oxa-workflow-operation-table th { font-weight: 500; }
3184
+ .oxa-workflow-operation-table th:nth-child(1) { width: 19%; }
3185
+ .oxa-workflow-operation-table th:nth-child(2) { width: 17%; }
3186
+ .oxa-workflow-operation-table th:nth-child(3) { width: 35%; }
3187
+ .oxa-workflow-operation-table small { display: block; margin-top: 4px; font-size: 11px; color: var(--ant-color-text-secondary, #646a73); font-weight: 400; }
3188
+ .oxa-workflow-operation-table .ant-form-item { margin: 0; }
3189
+ .oxa-workflow-operation-table .ant-select { width: 100%; }
3190
+ @media (max-width: 420px) { .oxa-workflow-operation-table th, .oxa-workflow-operation-table td { padding: 10px 4px; } .oxa-workflow-operation-table { font-size: 12px; } }
3142
3191
  .oxa-workflow-provider-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; width: 100%; }
3143
3192
  .oxa-workflow-provider-options .ant-radio-wrapper, .oxa-workflow-mode-options .ant-radio-wrapper { border: 1px solid var(--ant-color-border-secondary, #e0e6ed); border-radius: 6px; padding: 12px; margin: 0; align-items: start; }
3144
3193
  .oxa-workflow-provider-options .ant-radio-wrapper-checked, .oxa-workflow-mode-options .ant-radio-wrapper-checked { border-color: var(--ant-color-primary, #1677ff); background: var(--ant-color-primary-bg, #eef6ff); }
@@ -3289,3 +3338,339 @@
3289
3338
  .oxa-rich-text-toolbar-group-menus .oxa-rich-text-menu-button { min-width: 68px; }
3290
3339
  .oxa-rich-text-toolbar-group-menus .oxa-rich-text-menu-button:nth-child(2) { min-width: 76px; }
3291
3340
  }
3341
+ /* Workflow editor follows the approved canvas references; read-only diagrams keep their layout. */
3342
+ .oxa-workflow-designer { height: 100%; min-height: 0; display: flex; flex-direction: column; overflow: hidden; background: #f5f7fb; color: #182230; font-size: 14px; }
3343
+ .oxa-designer-toolbar { height: 56px; flex: 0 0 56px; padding: 0 16px; display: flex; align-items: center; justify-content: space-between; gap: 16px; background: #fff; border-bottom: 1px solid #e3e8ef; }
3344
+ .oxa-designer-toolbar-identity { display: flex; align-items: center; gap: 12px; min-width: 0; white-space: nowrap; }
3345
+ .oxa-designer-toolbar-identity > strong { font-size: 16px; max-width: 240px; overflow: hidden; text-overflow: ellipsis; }
3346
+ .oxa-designer-toolbar-label, .oxa-designer-save-state { color: #7b879a; font-size: 12px; }
3347
+ .oxa-designer-toolbar .ant-btn { height: 32px; font-size: 13px; box-shadow: none; }
3348
+ .oxa-designer-toolbar .ant-tag { margin: 0; line-height: 23px; background: #fff; }
3349
+ .oxa-designer-toolbar .ant-segmented { border: 1px solid #d9e2ef; background: #fff; padding: 0; color: #617086; font-size: 13px; }
3350
+ .oxa-designer-toolbar .ant-segmented-item-selected { background: #eaf2ff; color: #0066ff; box-shadow: none; }
3351
+ .oxa-designer-workspace { flex: 1; min-height: 0; display: grid; grid-template-columns: 240px minmax(0,1fr) 560px; }
3352
+ .oxa-designer-workspace.without-outline { grid-template-columns: 48px minmax(0,1fr) 560px; }
3353
+ .oxa-designer-workspace.without-inspector { grid-template-columns: 240px minmax(0,1fr); }
3354
+ .oxa-designer-workspace.without-outline.without-inspector { grid-template-columns: 48px minmax(0,1fr); }
3355
+ .oxa-designer-outline { min-height: 0; overflow: auto; background: #fff; padding: 8px; border-right: 1px solid #e3e8ef; scrollbar-width: thin; }
3356
+ .oxa-designer-outline-heading { display: flex; justify-content: space-between; align-items: center; min-height: 40px; padding: 0 8px; margin-bottom: 4px; }
3357
+ .oxa-designer-outline-heading strong { font-size: 14px; }
3358
+ .oxa-designer-outline-heading .ant-btn { padding: 4px; }
3359
+ .oxa-designer-outline .ant-input-search { margin: 0 8px 12px; width: calc(100% - 16px); }
3360
+ .oxa-designer-outline nav button { width: 100%; min-height: 38px; display: flex; align-items: center; gap: 12px; text-align: left; padding: 8px 12px; background: none; border: none; border-radius: 5px; cursor: pointer; color: inherit; font: inherit; }
3361
+ .oxa-designer-outline nav button .anticon { color: #0066ff; font-size: 19px; }
3362
+ .oxa-designer-outline nav button.kind-action .anticon { color: #7139f3; }
3363
+ .oxa-designer-outline nav button.kind-handle .anticon { color: #00a4ad; }
3364
+ .oxa-designer-outline nav button.kind-start .anticon { color: #526178; }
3365
+ .oxa-designer-outline nav button.kind-end .anticon { color: #389e0d; }
3366
+ .oxa-designer-outline nav button[aria-pressed=true] { background: #eaf2ff; color: #0066ff; }
3367
+ .oxa-designer-outline nav button span:last-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
3368
+ .oxa-designer-outline footer { margin: 28px 8px 0; border-top: 1px solid #e3e8ef; padding: 14px 2px; font-size: 13px; }
3369
+ .oxa-designer-outline footer strong { display: block; margin-bottom: 8px; }
3370
+ .oxa-designer-outline footer button { border: 0; background: none; color: #389e0d; padding: 0; font: inherit; cursor: pointer; }
3371
+ .oxa-designer-workspace main { display: flex; flex-direction: column; min-width: 0; min-height: 0; position: relative; }
3372
+ .oxa-designer-banner { height: 34px; flex: 0 0 34px; padding: 7px 20px; background: #eaf2ff; color: #0066ff; font-size: 12px; border-bottom: 1px solid #dce8fa; }
3373
+ .oxa-designer-workspace .oxa-workflow-diagram-standalone { flex: 1; min-height: 0; height: auto; }
3374
+ .oxa-workflow-diagram-designer .oxa-workflow-node { min-height: 0; border: 1px solid #d3dfed; border-left: 5px solid #0066ff; border-radius: 5px; padding: 12px; gap: 10px; box-shadow: none; background: #fff; }
3375
+ .oxa-workflow-diagram-designer .oxa-workflow-node.selected { background: #fff; border-color: #0066ff; box-shadow: 0 0 0 3px #0066ff22; }
3376
+ .oxa-workflow-diagram-designer .oxa-workflow-node.kind-action { border-left-color: #7139f3; }
3377
+ .oxa-workflow-diagram-designer .oxa-workflow-node.kind-handle { border-left-color: #00a4ad; }
3378
+ .oxa-workflow-diagram-designer .oxa-workflow-node.kind-condition { border-left-color: #0066ff; }
3379
+ .oxa-workflow-diagram-designer .oxa-workflow-node-kind { display: none; }
3380
+ .oxa-workflow-diagram-designer .oxa-workflow-node strong { font-size: 16px; line-height: 20px; margin: 0 0 4px; -webkit-line-clamp: 1; }
3381
+ .oxa-workflow-diagram-designer .oxa-workflow-node small { font-size: 13px; color: #617086; }
3382
+ .oxa-workflow-diagram-designer .oxa-workflow-node-icon { width: 24px; flex-basis: 24px; height: 28px; font-size: 23px; background: none; border-radius: 0; color: #0066ff; }
3383
+ .oxa-workflow-diagram-designer .kind-action .oxa-workflow-node-icon { color: #7139f3; }
3384
+ .oxa-workflow-diagram-designer .kind-handle .oxa-workflow-node-icon { color: #00a4ad; }
3385
+ .oxa-workflow-diagram-designer .oxa-workflow-node.kind-start, .oxa-workflow-diagram-designer .oxa-workflow-node.kind-end { justify-content: center; border-radius: 18px; padding: 4px 12px; gap: 8px; }
3386
+ .oxa-workflow-diagram-designer .oxa-workflow-node.kind-start { color: #fff; background: #3e4859; border: 1px solid #3e4859; }
3387
+ .oxa-workflow-diagram-designer .oxa-workflow-node.kind-start .oxa-workflow-node-icon { color: #fff; }
3388
+ .oxa-workflow-diagram-designer .oxa-workflow-node.kind-end { color: #298704; border: 1px solid #4b9f28; }
3389
+ .oxa-workflow-diagram-designer .oxa-workflow-node.kind-end .oxa-workflow-node-icon { color: #389e0d; }
3390
+ .oxa-workflow-diagram-designer .kind-start .oxa-workflow-node-copy, .oxa-workflow-diagram-designer .kind-end .oxa-workflow-node-copy { flex: 0 1 auto; }
3391
+ .oxa-workflow-diagram-designer .kind-start strong, .oxa-workflow-diagram-designer .kind-end strong { margin: 0; white-space: nowrap; }
3392
+ .oxa-workflow-diagram-designer .kind-start small, .oxa-workflow-diagram-designer .kind-end small { display: none; }
3393
+ .oxa-workflow-diagram-designer .oxa-workflow-edge-insert { position: absolute; pointer-events: all; width: 20px; height: 20px; display: grid; place-items: center; border: 1px solid #c5d2e4; border-radius: 50%; color: #6c7e98; background: white; padding: 0; font-size: 11px; }
3394
+ .oxa-workflow-diagram-designer .oxa-workflow-edge-insert:hover { color: #0066ff; border-color: #0066ff; }
3395
+ .oxa-workflow-diagram-designer .react-flow__handle { opacity: 0; }
3396
+ .oxa-workflow-diagram-designer .oxa-workflow-viewport-tools { bottom: 18px; left: 16px; border-radius: 5px; box-shadow: none; }
3397
+ .oxa-workflow-diagram-designer .oxa-workflow-graph-help { display: none; }
3398
+ .oxa-workflow-diagram-designer .react-flow__attribution { font-size: 8px; opacity: .55; }
3399
+ .oxa-designer-desktop-inspector { background: #fff; min-height: 0; overflow: auto; border-left: 1px solid #e3e8ef; scrollbar-width: thin; }
3400
+ .oxa-workflow-designer-inspector { padding: 14px 16px 24px; }
3401
+ .oxa-workflow-designer-inspector > header { display: flex; gap: 8px; align-items: center; min-height: 34px; margin-bottom: 14px; }
3402
+ .oxa-workflow-designer-inspector > header h2 { font-size: 16px; margin: 0; font-weight: 600; }
3403
+ .oxa-workflow-designer-inspector > header .ant-tag { margin: 0; font-size: 11px; }
3404
+ .oxa-workflow-designer-inspector > header .ant-btn { margin-left: auto; }
3405
+ .oxa-designer-inspector-icon { width: 30px; height: 30px; display: grid; place-items: center; color: #0066ff; background: #eaf2ff; font-size: 22px; border-radius: 5px; }
3406
+ .oxa-workflow-designer-inspector h3 { font-size: 14px; margin: 0 0 8px; }
3407
+ .oxa-workflow-designer-inspector p { color: #7b879a; font-size: 12px; line-height: 1.6; }
3408
+ .oxa-workflow-designer-inspector .oxa-workflow-config-inline label { display: inline-flex; flex-direction: row; margin: 0; }
3409
+ .oxa-designer-handling-notice, .oxa-designer-defaults-notice { border-radius: 4px; color: #2d7617; background: #edf8ea; padding: 9px 12px; margin-bottom: 14px; font-size: 13px; line-height: 20px; }
3410
+ .oxa-designer-defaults-notice { background: #fff7e7; color: #a16b1c; }
3411
+ .oxa-workflow-config-inline .oxa-workflow-config-section { border: 0; padding: 0; margin: 0 0 14px; }
3412
+ .oxa-workflow-config-inline .ant-form-item { margin-bottom: 12px; }
3413
+ .oxa-workflow-config-inline .ant-form-item-label { padding-bottom: 6px; }
3414
+ .oxa-workflow-config-inline .ant-form-item-label label { font-size: 13px; font-weight: 600; }
3415
+ .oxa-workflow-config-inline .oxa-workflow-provider-options { display: flex; flex-wrap: wrap; gap: 4px; }
3416
+ .oxa-workflow-config-inline .oxa-workflow-provider-options .ant-radio-button-wrapper { border: 1px solid #d9e2ef; border-radius: 4px; font-size: 12px; height: 28px; line-height: 26px; padding: 0 12px; }
3417
+ .oxa-workflow-config-inline .oxa-workflow-provider-options .ant-radio-button-wrapper::before { display: none; }
3418
+ .oxa-workflow-config-inline .oxa-workflow-mode-options { display: flex; flex-direction: row; align-items: center; flex-wrap: wrap; gap: 8px; }
3419
+ .oxa-workflow-config-inline .oxa-workflow-mode-options .ant-radio-wrapper { font-size: 12px; padding: 0; margin: 0; }
3420
+ .oxa-workflow-config-inline .oxa-workflow-mode-options + p, .oxa-workflow-config-inline .oxa-workflow-config-help { margin: 4px 0 8px; font-size: 12px; }
3421
+ .oxa-workflow-config-inline .oxa-workflow-operation-table { width: 100%; border: 1px solid #e2e8f1; border-collapse: collapse; table-layout: fixed; font-size: 13px; line-height: 20px; }
3422
+ .oxa-workflow-config-inline .oxa-workflow-operation-table th, .oxa-workflow-config-inline .oxa-workflow-operation-table td { box-sizing: border-box; height: 44px; padding: 4px 8px; border: 1px solid #e2e8f1; text-align: left; vertical-align: middle; }
3423
+ .oxa-workflow-config-inline .oxa-workflow-operation-table th { font-weight: 500; }
3424
+ .oxa-workflow-config-inline .oxa-workflow-operation-table thead th { background: #f5f7fb; color: #526178; height: 34px; }
3425
+ .oxa-workflow-config-inline .oxa-workflow-operation-table thead th:first-child { width: 23%; }
3426
+ .oxa-workflow-config-inline .oxa-workflow-operation-table thead th:last-child { width: 22%; }
3427
+ .oxa-workflow-config-inline .oxa-workflow-operation-table .ant-form-item { margin: 0; }
3428
+ .oxa-workflow-config-inline .oxa-workflow-operation-table .ant-input, .oxa-workflow-config-inline .oxa-workflow-operation-table .ant-select { font-size: 13px; padding-left: 0; width: 100%; }
3429
+ .oxa-workflow-config-inline .oxa-workflow-operation-table small { display: block; color: #7b879a; font-size: 11px; line-height: 14px; font-weight: 400; margin-top: 2px; }
3430
+ .oxa-workflow-config-inline .oxa-workflow-operation-table .ant-switch { min-width: 28px; }
3431
+ .oxa-workflow-config-inline .oxa-workflow-config-footer { padding: 0; border: 0; background: none; justify-content: flex-end; margin: 8px 0 14px; }
3432
+ .oxa-workflow-config-inline .oxa-workflow-config-footer > span { display: none; }
3433
+ .oxa-workflow-config-inline .oxa-workflow-config-footer .ant-btn { height: 30px; font-size: 12px; color: #0066ff; border-color: #9fc4ff; box-shadow: none; }
3434
+ .oxa-workflow-config-inline .oxa-workflow-config-footer .ant-btn-primary { color: #fff; }
3435
+ .oxa-workflow-config-inline .oxa-workflow-config-footer .ant-btn:disabled { opacity: .65; }
3436
+ .oxa-designer-draft-band { border: 1px solid #dce8fb; border-radius: 5px; overflow: hidden; margin-top: 12px; }
3437
+ .oxa-designer-draft-band > h3 { padding: 9px 12px; margin: 0; color: #0066ff; background: #eaf2ff; }
3438
+ .oxa-designer-draft-band .ant-collapse-item { border-bottom: 1px solid #e8edf5; }
3439
+ .oxa-designer-draft-band .ant-collapse-item:last-child { border-bottom: 0; }
3440
+ .oxa-designer-draft-band .ant-collapse-header { padding: 10px 12px !important; align-items: center !important; font-size: 12px; }
3441
+ .oxa-designer-draft-band .ant-collapse-header-text { font-weight: 500; flex: 0 0 102px !important; }
3442
+ .oxa-designer-draft-band .ant-collapse-extra { flex: 1; color: #69788f; min-width: 0; }
3443
+ .oxa-designer-draft-band .ant-collapse-extra span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
3444
+ .oxa-designer-draft-band .ant-collapse-content-box { padding: 4px 12px 14px !important; }
3445
+ .oxa-designer-draft-band label:not(.ant-checkbox-wrapper):not(.ant-radio-wrapper) { display: flex; flex-direction: column; gap: 6px; margin: 10px 0; font-size: 12px; }
3446
+ .oxa-workflow-designer fieldset, .oxa-workflow-designer-inspector fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
3447
+ .oxa-designer-branch { padding: 12px; border: 1px solid #e3e8ef; background: #f8fafc; border-radius: 5px; margin: 12px 0; display: grid; gap: 10px; }
3448
+ .oxa-designer-mobile-inspector { display: none; }
3449
+ .oxa-designer-show-inspector { position: absolute; top: 50px; right: 12px; z-index: 5; }
3450
+ @media(max-width: 1499px) {
3451
+ .oxa-designer-workspace { grid-template-columns: 200px minmax(0,1fr) 480px; }
3452
+ .oxa-designer-workspace.without-outline { grid-template-columns: 48px minmax(0,1fr) 480px; }
3453
+ .oxa-designer-workspace.without-inspector { grid-template-columns: 200px minmax(0,1fr); }
3454
+ .oxa-designer-toolbar-label, .oxa-designer-save-state { display: none; }
3455
+ }
3456
+ @media(max-width: 1199px) {
3457
+ .oxa-designer-workspace, .oxa-designer-workspace.without-outline { grid-template-columns: 48px minmax(0,1fr) 440px; }
3458
+ .oxa-designer-workspace.without-inspector, .oxa-designer-workspace.without-outline.without-inspector { grid-template-columns: 48px minmax(0,1fr); }
3459
+ .oxa-designer-outline-heading strong, .oxa-designer-outline .ant-input-search, .oxa-designer-outline nav button > span:last-child:not(.anticon), .oxa-designer-outline footer { display: none; }
3460
+ .oxa-designer-outline { padding: 8px 4px; }
3461
+ .oxa-designer-outline-heading { padding: 0; }
3462
+ .oxa-designer-outline nav button { justify-content: center; padding: 10px 4px; }
3463
+ .oxa-designer-toolbar { padding: 0 8px; gap: 8px; }
3464
+ .oxa-designer-toolbar-identity { gap: 6px; }
3465
+ .oxa-designer-toolbar-actions .ant-btn { font-size: 0; width: 30px; padding: 0; }
3466
+ .oxa-designer-toolbar-actions .ant-btn .anticon { font-size: 14px; }
3467
+ .oxa-designer-toolbar-actions .ant-btn-primary { font-size: 12px; width: auto; padding: 0 10px; }
3468
+ }
3469
+ @media(max-width: 899px) {
3470
+ .oxa-workflow-designer { min-height: 100dvh; height: auto; }
3471
+ .oxa-designer-workspace, .oxa-designer-workspace.without-outline, .oxa-designer-workspace.without-inspector, .oxa-designer-workspace.without-outline.without-inspector { grid-template-columns: minmax(0,1fr); min-height: calc(100dvh - 96px); }
3472
+ .oxa-designer-outline, .oxa-designer-desktop-inspector { display: none; }
3473
+ .oxa-designer-mobile-inspector { display: block; position: absolute; bottom: 18px; left: 18px; z-index: 5; }
3474
+ .oxa-designer-toolbar { height: auto; flex: 0 0 auto; min-height: 56px; padding: 8px; flex-wrap: wrap; }
3475
+ .oxa-designer-toolbar-identity { flex: 1 1 100%; }
3476
+ .oxa-designer-toolbar-identity strong { font-size: 14px; max-width: 130px; }
3477
+ .oxa-designer-toolbar-actions { margin-left: auto; }
3478
+ .oxa-designer-banner { height: auto; flex-basis: auto; padding: 8px 12px; }
3479
+ .oxa-workflow-designer-inspector { padding: 0 0 16px; }
3480
+ }
3481
+ .oxa-workflow-diagram-standalone .kind-handle { border-top-color: #53958c; }
3482
+ .oxa-workflow-diagram-standalone .kind-notification { border-top-color: #6d9fc7; }
3483
+ .oxa-workflow-node-status.status-skipped { color: #6c7483; background: #f4f5f7; border-color: #dce0e6; }
3484
+
3485
+ .oxa-workflow-config-inline .oxa-workflow-mode-options > .ant-radio-wrapper { width: auto; flex: 0 0 auto; display: inline-flex; min-height: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
3486
+ .oxa-designer-inspector-backdrop { position: fixed; inset: 0; z-index: 1000; border: 0; background: #0006; }
3487
+ @media(max-width:899px) {
3488
+ .oxa-designer-workspace .oxa-designer-desktop-inspector { display: block; position: fixed; inset: auto 0 0; height: 85dvh; z-index: 1001; padding: 16px; border: 0; border-radius: 12px 12px 0 0; box-shadow: 0 -8px 32px #1d355326; }
3489
+ }
3490
+
3491
+ .oxa-designer-insert-menu .ant-dropdown-menu { min-width: min(320px, calc(100vw - 32px)); padding: 8px; border: 1px solid #dbe3ee; border-radius: 8px; }
3492
+ .oxa-designer-insert-menu .ant-dropdown-menu-item, .oxa-designer-insert-menu .ant-dropdown-menu-submenu-title { min-height: 44px; font-size: 13px; }
3493
+ .oxa-designer-insert-menu .anticon { font-size: 18px; color: #0066ff; }
3494
+ .oxa-designer-return-summary > td { background: #f8faff; }
3495
+ .oxa-designer-return-summary > td > div { display: flex; align-items: flex-start; gap: 8px; }
3496
+ .oxa-designer-return-summary p { margin: 0; font-size: 11px; line-height: 1.8; }
3497
+ .oxa-designer-return-summary .ant-tag { font-size: 10px; margin: 0; line-height: 18px; }
3498
+ .oxa-designer-return-summary .ant-btn { margin-left: auto; padding: 0; font-size: 11px; }
3499
+
3500
+ .oxa-designer-workspace:not(.detail-inspector):not(.without-inspector) { grid-template-columns: 240px minmax(0,1fr) 496px; }
3501
+ .oxa-designer-workspace.without-outline:not(.detail-inspector):not(.without-inspector) { grid-template-columns: 48px minmax(0,1fr) 496px; }
3502
+ .oxa-designer-workspace.detail-inspector:not(.without-inspector) { grid-template-columns: 240px minmax(0,1fr) 640px; }
3503
+ .oxa-designer-workspace.without-outline.detail-inspector:not(.without-inspector) { grid-template-columns: 48px minmax(0,1fr) 640px; }
3504
+ .oxa-workflow-config-inline.compact { border: 1px solid #dcebdc; border-radius: 5px; overflow: hidden; }
3505
+ .oxa-workflow-config-inline.compact .oxa-designer-handling-notice { border-radius: 0; margin-bottom: 0; }
3506
+ .oxa-workflow-config-inline.compact form { display: none; }
3507
+ .oxa-designer-handling-summary { padding: 0 14px; }
3508
+ .oxa-designer-handling-summary button { width: 100%; min-height: 50px; display: flex; align-items: center; gap: 14px; padding: 8px 0; background: none; border: 0; border-bottom: 1px solid #e6ecf2; font: inherit; font-size: 13px; text-align: left; cursor: pointer; }
3509
+ .oxa-designer-handling-summary strong { flex: 0 0 76px; font-weight: 500; }
3510
+ .oxa-designer-handling-summary span:nth-child(2) { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #617086; }
3511
+ .oxa-designer-handling-summary span:last-child { color: #617086; }
3512
+ .oxa-workflow-config-inline.compact .oxa-workflow-config-footer { padding: 12px 14px; margin: 0; }
3513
+ .oxa-workflow-config-inline.compact .oxa-workflow-config-footer .ant-space, .oxa-workflow-config-inline.compact .oxa-workflow-config-footer .ant-btn { width: 100%; }
3514
+ @media(max-width:1499px) {
3515
+ .oxa-designer-workspace:not(.detail-inspector):not(.without-inspector) { grid-template-columns: 200px minmax(0,1fr) 440px; }
3516
+ .oxa-designer-workspace.without-outline:not(.detail-inspector):not(.without-inspector) { grid-template-columns: 48px minmax(0,1fr) 440px; }
3517
+ .oxa-designer-workspace.detail-inspector:not(.without-inspector) { grid-template-columns: 200px minmax(0,1fr) 560px; }
3518
+ .oxa-designer-workspace.without-outline.detail-inspector:not(.without-inspector) { grid-template-columns: 48px minmax(0,1fr) 560px; }
3519
+ }
3520
+ @media(max-width:1199px) {
3521
+ .oxa-designer-workspace:not(.without-inspector), .oxa-designer-workspace.without-outline:not(.without-inspector) { grid-template-columns: 48px minmax(0,1fr) 440px; }
3522
+ }
3523
+ @media(max-width:899px) {
3524
+ .oxa-designer-workspace:not(.without-inspector), .oxa-designer-workspace.without-outline:not(.without-inspector) { grid-template-columns: minmax(0,1fr); }
3525
+ }
3526
+
3527
+ .oxa-designer-ai-panel { padding: 16px; }
3528
+ .oxa-designer-ai-panel > header { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; }
3529
+ .oxa-designer-ai-panel > header > .anticon { color: #0066ff; font-size: 22px; }
3530
+ .oxa-designer-ai-panel h2 { font-size: 16px; margin: 0; }
3531
+ .oxa-designer-ai-panel > header > .ant-btn { margin-left: auto; }
3532
+ .oxa-designer-ai-panel > p { font-size: 13px; color: #617086; line-height: 1.8; }
3533
+
3534
+ .oxa-workflow-config-inline.compact .oxa-workflow-config-footer .ant-space-item { width: 100%; flex: 1; }
3535
+ .oxa-workflow-designer-inspector > header h2 { font-size: 20px; line-height: 28px; }
3536
+ .oxa-designer-workspace:not(.detail-inspector) .oxa-designer-inspector-icon { width: 40px; height: 40px; font-size: 27px; }
3537
+
3538
+ .oxa-designer-insert-option { display: flex; align-items: center; gap: 18px; }
3539
+ .oxa-designer-insert-option > span { min-width: 64px; }
3540
+ .oxa-designer-insert-option > small { color: #7a879b; font-size: 12px; white-space: normal; }
3541
+ .oxa-designer-insert-menu .ant-dropdown-menu-item-group-title { padding: 8px 12px 4px; color: #445169; font-size: 13px; font-weight: 600; }
3542
+ .oxa-designer-insert-menu .anticon.kind-condition { color: #e58a15; }
3543
+ .oxa-designer-insert-menu .anticon.kind-action { color: #7c3aed; }
3544
+ .oxa-designer-insert-menu .anticon.kind-notification { color: #e14b80; }
3545
+
3546
+ .oxa-workflow-config-inline .oxa-workflow-operation-table .ant-form-item-control-input { min-height: 24px; }
3547
+ .oxa-workflow-config-inline .oxa-workflow-operation-table td:last-child small { display: inline; margin-left: 8px; }
3548
+ .oxa-workflow-config-inline .oxa-workflow-operation-table .ant-select-content { font-size: 13px; }
3549
+ .oxa-workflow-designer-inspector .oxa-designer-draft-band .ant-collapse-header { font-size: 13px; }
3550
+
3551
+ .oxa-designer-condition-editor > .ant-alert { margin: 0 0 16px; font-size: 13px; }
3552
+ .oxa-designer-branch-selector { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
3553
+ .oxa-designer-branch-identity { display: flex; align-items: center; gap: 6px; margin-bottom: 20px; }
3554
+ .oxa-designer-branch-identity > .ant-input { flex: 1; min-width: 0; }
3555
+ .oxa-designer-branch-identity > .ant-tag { margin: 0; white-space: nowrap; }
3556
+ .oxa-designer-condition-surface { padding: 12px !important; border: 1px solid #e1e8f2 !important; background: #f7f9fc; border-radius: 6px; margin-bottom: 18px !important; }
3557
+ .oxa-designer-condition-surface .oxa-condition-row { grid-template-columns: minmax(0,1fr) 106px minmax(0,1fr); }
3558
+ .oxa-designer-condition-surface .oxa-condition-row > .ant-btn { grid-column: 1 / -1; justify-self: start; color: #0066ff; }
3559
+ .oxa-designer-condition-surface .ant-select, .oxa-designer-condition-surface .ant-input-number { width: 100%; min-width: 0; }
3560
+ .oxa-designer-condition-description { padding: 10px 12px; background: #f7f9fc; border: 1px solid #e1e8f2; border-radius: 5px; overflow-wrap: anywhere; }
3561
+ .oxa-designer-condition-editor > label { display: flex; flex-direction: column; gap: 8px; margin: 14px 0; font-weight: 600; }
3562
+ .oxa-designer-condition-editor > .oxa-designer-parallel-toggle { flex-direction: row; align-items: center; justify-content: flex-start; }
3563
+ .oxa-designer-return-notice { background: #eaf2ff; color: #0066ff; padding: 12px; border-radius: 5px; font-weight: 600; margin-bottom: 12px; }
3564
+ .oxa-designer-return-target { border: 1px solid #e1e8f2; background: #fafbfd; border-radius: 6px; padding: 14px; margin: 12px 0; }
3565
+ .oxa-designer-return-target.enabled { background: #fff; }
3566
+ .oxa-designer-return-target > header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
3567
+ .oxa-designer-return-target > header > .ant-checkbox-wrapper { font-weight: 600; }
3568
+ .oxa-designer-return-target > header > label { display: flex; align-items: center; gap: 8px; color: #7b879a; font-size: 12px; }
3569
+ .oxa-designer-return-target > header .ant-select { min-width: 172px; }
3570
+ .oxa-designer-return-path { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; margin: 14px 0 10px; font-size: 12px; }
3571
+ .oxa-designer-return-path > small { color: #7b879a; margin-right: 4px; }
3572
+ .oxa-designer-return-path > span { display: inline-flex; align-items: center; gap: 5px; min-width: 0; }
3573
+ .oxa-designer-return-path > span > span { background: #eaf2ff; border-radius: 4px; padding: 5px 8px; max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
3574
+ .oxa-designer-return-path .skipped { text-decoration: line-through; color: #a0a8b6; background: #f5f7fb; }
3575
+ .oxa-workflow-designer-inspector .oxa-designer-return-warning { color: #c98113; }
3576
+ .oxa-designer-return-rule { border: 1px solid #e1e8f2; background: #f7f9fc; border-radius: 6px; padding: 14px; margin: 18px 0; }
3577
+ .oxa-designer-return-rule h3 { margin: 0 0 8px; }
3578
+ .oxa-designer-return-rule p { margin: 0; }
3579
+ .oxa-designer-return-back { padding-left: 0; margin-bottom: 8px; }
3580
+ @media(max-width:899px) {
3581
+ .oxa-designer-branch-identity { flex-wrap: wrap; }
3582
+ .oxa-designer-branch-identity > .ant-input { flex-basis: 100%; }
3583
+ .oxa-designer-condition-surface .oxa-condition-row { grid-template-columns: minmax(0,1fr) 106px; }
3584
+ .oxa-designer-condition-surface .oxa-condition-row > :nth-child(3) { grid-column: 1 / -1; }
3585
+ .oxa-designer-return-target > header > label { width: 100%; flex-wrap: wrap; }
3586
+ .oxa-designer-return-target > header .ant-select { flex: 1; min-width: 0; }
3587
+ }
3588
+ .oxa-designer-condition-surface:disabled { opacity: .7; pointer-events: none; }
3589
+ .oxa-workflow-diagram-designer .oxa-workflow-edge-label.designer-branch { width: 296px; max-width: 296px; min-height: 64px; box-sizing: border-box; padding: 10px 14px; border-radius: 5px; background: #fafcff; }
3590
+ .oxa-workflow-edge-label.designer-branch > span { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #182230; font-size: 14px; font-weight: 600; }
3591
+ .oxa-workflow-edge-label.designer-branch > span > small { color: #64718a; background: #f0f4fa; border: 1px solid #dbe3ee; font-size: 11px; font-weight: 400; padding: 1px 6px; border-radius: 3px; }
3592
+ .oxa-workflow-edge-label.designer-branch > strong { display: block; margin-top: 5px; color: #617086; font-size: 12px; font-weight: 400; line-height: 18px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
3593
+ .oxa-designer-inspector-icon.kind-condition { color: #e58a15; background: #fff3df; }
3594
+ .oxa-designer-publish-modal .ant-modal-title { font-size: 20px; }
3595
+ .oxa-designer-publish-modal .ant-modal-body { max-height: calc(100dvh - 220px); overflow-y: auto; padding-right: 2px; }
3596
+ .oxa-designer-publish-modal h3 { font-size: 14px; margin: 20px 0 12px; }
3597
+ .oxa-designer-publish-modal p { color: #748092; font-size: 13px; line-height: 1.7; }
3598
+ .oxa-designer-publish-modal fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
3599
+ .oxa-designer-publish-checks { display: flex; align-items: center; gap: 10px; padding: 14px; border: 1px solid #e1e8f2; border-radius: 6px; color: #2d7617; font-size: 13px; }
3600
+ .oxa-designer-publish-checks .anticon { font-size: 20px; }
3601
+ .oxa-designer-publish-scope { width: 100%; display: flex; flex-direction: column; gap: 10px; }
3602
+ .oxa-designer-publish-scope > .ant-radio-wrapper { align-items: flex-start; border: 1px solid #dce4ef; padding: 14px; border-radius: 6px; margin: 0; }
3603
+ .oxa-designer-publish-scope > .ant-radio-wrapper-checked { border-color: #0066ff; background: #eaf2ff; box-shadow: 0 0 0 1px #0066ff22; }
3604
+ .oxa-designer-publish-scope strong { display: block; font-weight: 600; }
3605
+ .oxa-designer-publish-scope small { display: block; font-size: 12px; color: #748092; line-height: 1.7; margin-top: 6px; }
3606
+ .oxa-designer-publish-scope .ant-tag { margin-left: 8px; }
3607
+ .oxa-designer-publish-holds { margin: 12px 0; }
3608
+ .oxa-designer-publish-holds > summary, .oxa-designer-publish-exceptions > summary { color: #0066ff; cursor: pointer; font-size: 13px; }
3609
+ .oxa-designer-publish-holds label { display: flex; flex-direction: column; gap: 8px; margin: 12px 0; font-size: 13px; }
3610
+ .oxa-designer-publish-counts { border: 1px solid #e1e8f2; border-radius: 6px; margin: 0; }
3611
+ .oxa-designer-publish-counts > div { display: flex; justify-content: space-between; padding: 10px 14px; border-bottom: 1px solid #e1e8f2; font-size: 13px; }
3612
+ .oxa-designer-publish-counts > div:last-child { border: 0; }
3613
+ .oxa-designer-publish-counts dt::before { content: ''; display: inline-block; width: 9px; height: 9px; margin-right: 10px; background: #8290a6; border-radius: 50%; }
3614
+ .oxa-designer-publish-counts .outcome-eligible dt::before { background: #389e0d; }
3615
+ .oxa-designer-publish-counts .outcome-deferred dt::before { background: #1677ff; }
3616
+ .oxa-designer-publish-counts .outcome-excepted dt::before { background: #fa8c16; }
3617
+ .oxa-designer-publish-counts dd { margin: 0; font-variant-numeric: tabular-nums; }
3618
+ .oxa-designer-publish-reason { display: flex; align-items: center; gap: 12px; margin: 20px 0 8px; font-size: 13px; white-space: nowrap; }
3619
+
3620
+ @media(min-width:900px) {
3621
+ .oxa-workflow-config-inline .oxa-workflow-mode-field .ant-form-item-row { display: flex; flex-direction: row; align-items: center; gap: 12px; }
3622
+ .oxa-workflow-config-inline .oxa-workflow-mode-field .ant-form-item-label { flex: 0 0 auto; padding: 0; }
3623
+ .oxa-workflow-config-inline .oxa-workflow-mode-field .ant-form-item-control { flex: 1; min-width: 0; }
3624
+ }
3625
+ .oxa-designer-workspace.without-outline .oxa-designer-outline { padding: 8px 4px; }
3626
+ .oxa-designer-workspace.without-outline .oxa-designer-outline-heading { padding: 0; justify-content: center; }
3627
+ .oxa-designer-workspace.without-outline .oxa-designer-outline nav button { justify-content: center; padding: 10px 4px; gap: 0; }
3628
+ .oxa-designer-outline nav button .anticon { flex: 0 0 20px; min-width: 20px; }
3629
+
3630
+ .oxa-designer-ai-panel { min-height: calc(100dvh - 56px); box-sizing: border-box; display: flex; flex-direction: column; gap: 8px; }
3631
+ .oxa-designer-ai-panel > header { flex-shrink: 0; }
3632
+ .oxa-designer-ai-panel > .ant-spin-nested-loading { flex: 1; min-height: 0; overflow-y: auto; }
3633
+ .oxa-designer-ai-panel > .oxa-designer-ai-composer { order: 10; flex-shrink: 0; margin-top: auto; padding: 12px 0 0; border-top: 1px solid #e1e8f2; }
3634
+ .oxa-designer-ai-panel .oxa-designer-ai-composer > .ant-space { width: 100%; justify-content: flex-end; margin-bottom: 0 !important; }
3635
+ .oxa-designer-ai-panel .oxa-designer-ai-composer textarea { font-size: 13px; }
3636
+ @media(max-width:899px) { .oxa-designer-ai-panel { min-height: calc(85dvh - 32px); } }
3637
+
3638
+ .oxa-workflow-parallel-region { width:100%;height:100%;border:1px solid #d5e0f0;border-radius:8px;background:rgba(248,250,253,.84); }
3639
+ .oxa-workflow-node.designer-node.kind-parallel { border-color:transparent;background:transparent;box-shadow:none;border-left:0; }
3640
+ .oxa-workflow-node.designer-node.kind-parallel .oxa-workflow-node-kind { display:none; }
3641
+ .oxa-workflow-node.designer-node.kind-join { border-radius:22px;justify-content:center;padding:6px 12px; }
3642
+ .oxa-workflow-node.designer-node.kind-join .oxa-workflow-node-kind,.oxa-workflow-node.designer-node.kind-join .oxa-workflow-node-copy small { display:none; }
3643
+ .oxa-workflow-node.designer-node.kind-join .oxa-workflow-node-icon { width:22px;height:22px;font-size:14px; }
3644
+ .oxa-workflow-node.designer-node.kind-join .oxa-workflow-node-copy strong { font-size:12px;font-weight:500; }
3645
+ .oxa-designer-inspector-icon.kind-parallel,.oxa-designer-outline .kind-parallel { color:#1677ff; }
3646
+
3647
+ .oxa-workflow-reminder-editor { padding:16px;border:1px solid #dce5f0;border-radius:6px;background:#fff; }
3648
+ .oxa-workflow-reminder-editor h3 { margin:0 0 14px;font-size:14px;color:#1c293b; }
3649
+ .oxa-workflow-reminder-fields { display:grid;gap:14px;margin-top:16px; }
3650
+ .oxa-workflow-reminder-fields > div { display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#64748b;font-size:12px; }
3651
+ .oxa-workflow-reminder-fields .ant-input-number { width:78px; }
3652
+ .oxa-workflow-reminder-fields .ant-select { width:76px; }
3653
+ .oxa-workflow-reminder-fields .ant-space-compact { flex-shrink:0; }
3654
+ .oxa-workflow-reminder-summary { margin:0;padding:10px 12px;background:#f5f8fc;border-radius:4px;color:#3d597b;font-size:12px;line-height:1.7; }
3655
+ .oxa-workflow-reminder-editor > footer { display:flex;justify-content:flex-end;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid #e8edf3; }
3656
+
3657
+ /* Capability configuration follows the inspector design, not a template picker. */
3658
+ .oxa-workflow-people-sources { display: grid; gap: 12px; }
3659
+ .oxa-workflow-people-sources > label { display: grid; gap: 8px; }
3660
+ .oxa-designer-business-step h3 { font-size: 14px; margin: 24px 0 12px; }
3661
+ .oxa-designer-business-step > p { color: var(--ant-color-text-secondary); font-size: 13px; line-height: 1.7; }
3662
+ .oxa-designer-step-catalog { display: grid; gap: 8px; margin-top: 12px; max-height: 260px; overflow-y: auto; }
3663
+ .oxa-designer-step-catalog button { display: flex; align-items: center; gap: 12px; min-height: 48px; background: #fff; border: 1px solid #dce4ee; border-radius: 6px; padding: 10px 12px; text-align: left; cursor: pointer; }
3664
+ .oxa-designer-step-catalog button[aria-pressed=true] { border-color: #1677ff; background: #eff6ff; }
3665
+ .oxa-designer-step-catalog button > strong { flex: 1; }
3666
+ .oxa-designer-step-catalog button > .anticon { color: #1677ff; }
3667
+ .oxa-designer-business-step .oxa-workflow-operation-table td:last-child { min-width: 220px; }
3668
+ .oxa-designer-business-step .oxa-workflow-operation-table .ant-select { width: 100%; margin-bottom: 6px; }
3669
+ .oxa-designer-required { color: #d4380d; }
3670
+ .oxa-designer-condition-examples > p { color: var(--ant-color-text-secondary); font-size: 12px; line-height: 1.6; }
3671
+ .oxa-designer-condition-examples article { margin: 12px 0; padding: 12px; background: #f7f9fc; border: 1px solid #e4eaf2; border-radius: 6px; }
3672
+ .oxa-designer-condition-examples article > header { display: flex; gap: 8px; margin-bottom: 12px; }
3673
+ .oxa-designer-example-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
3674
+ .oxa-designer-example-fields label { display: grid; gap: 6px; font-size: 12px; }
3675
+ .oxa-designer-example-fields .ant-input-number { width: 100%; }
3676
+ .oxa-designer-condition-examples article > p { margin: 12px 0 0; color: #1677ff; }