openxiangda 2.62.1 → 2.63.1

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 (179) 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/WorkflowBusinessStepRecoveryPanel.d.ts.map +1 -1
  50. package/dist/browser/components/workflow/WorkflowBusinessStepRecoveryPanel.js +13 -8
  51. package/dist/browser/components/workflow/WorkflowBusinessStepRecoveryPanel.js.map +1 -1
  52. package/dist/browser/components/workflow/WorkflowConditionConfigurationEditor.d.ts +18 -0
  53. package/dist/browser/components/workflow/WorkflowConditionConfigurationEditor.d.ts.map +1 -0
  54. package/dist/browser/components/workflow/WorkflowConditionConfigurationEditor.js +29 -0
  55. package/dist/browser/components/workflow/WorkflowConditionConfigurationEditor.js.map +1 -0
  56. package/dist/browser/components/workflow/WorkflowConditionEditor.d.ts +9 -0
  57. package/dist/browser/components/workflow/WorkflowConditionEditor.d.ts.map +1 -0
  58. package/dist/browser/components/workflow/WorkflowConditionEditor.js +33 -0
  59. package/dist/browser/components/workflow/WorkflowConditionEditor.js.map +1 -0
  60. package/dist/browser/components/workflow/WorkflowDesigner.d.ts +14 -0
  61. package/dist/browser/components/workflow/WorkflowDesigner.d.ts.map +1 -0
  62. package/dist/browser/components/workflow/WorkflowDesigner.js +510 -0
  63. package/dist/browser/components/workflow/WorkflowDesigner.js.map +1 -0
  64. package/dist/browser/components/workflow/WorkflowDesignerAssistant.d.ts +15 -0
  65. package/dist/browser/components/workflow/WorkflowDesignerAssistant.d.ts.map +1 -0
  66. package/dist/browser/components/workflow/WorkflowDesignerAssistant.js +75 -0
  67. package/dist/browser/components/workflow/WorkflowDesignerAssistant.js.map +1 -0
  68. package/dist/browser/components/workflow/WorkflowDiagram.d.ts +8 -2
  69. package/dist/browser/components/workflow/WorkflowDiagram.d.ts.map +1 -1
  70. package/dist/browser/components/workflow/WorkflowDiagram.js +6 -6
  71. package/dist/browser/components/workflow/WorkflowDiagram.js.map +1 -1
  72. package/dist/browser/components/workflow/WorkflowDraftHandlingEditor.d.ts +13 -0
  73. package/dist/browser/components/workflow/WorkflowDraftHandlingEditor.d.ts.map +1 -0
  74. package/dist/browser/components/workflow/WorkflowDraftHandlingEditor.js +20 -0
  75. package/dist/browser/components/workflow/WorkflowDraftHandlingEditor.js.map +1 -0
  76. package/dist/browser/components/workflow/WorkflowFlowCanvas.d.ts +7 -0
  77. package/dist/browser/components/workflow/WorkflowFlowCanvas.d.ts.map +1 -1
  78. package/dist/browser/components/workflow/WorkflowFlowCanvas.js +84 -23
  79. package/dist/browser/components/workflow/WorkflowFlowCanvas.js.map +1 -1
  80. package/dist/browser/components/workflow/WorkflowNodeCard.d.ts +2 -1
  81. package/dist/browser/components/workflow/WorkflowNodeCard.d.ts.map +1 -1
  82. package/dist/browser/components/workflow/WorkflowNodeCard.js +12 -10
  83. package/dist/browser/components/workflow/WorkflowNodeCard.js.map +1 -1
  84. package/dist/browser/components/workflow/WorkflowNodeConfigurationEditor.d.ts +13 -2
  85. package/dist/browser/components/workflow/WorkflowNodeConfigurationEditor.d.ts.map +1 -1
  86. package/dist/browser/components/workflow/WorkflowNodeConfigurationEditor.js +70 -23
  87. package/dist/browser/components/workflow/WorkflowNodeConfigurationEditor.js.map +1 -1
  88. package/dist/browser/components/workflow/WorkflowNotificationEditor.d.ts +20 -0
  89. package/dist/browser/components/workflow/WorkflowNotificationEditor.d.ts.map +1 -0
  90. package/dist/browser/components/workflow/WorkflowNotificationEditor.js +18 -0
  91. package/dist/browser/components/workflow/WorkflowNotificationEditor.js.map +1 -0
  92. package/dist/browser/components/workflow/WorkflowParallelConfigurationEditor.d.ts +10 -0
  93. package/dist/browser/components/workflow/WorkflowParallelConfigurationEditor.d.ts.map +1 -0
  94. package/dist/browser/components/workflow/WorkflowParallelConfigurationEditor.js +24 -0
  95. package/dist/browser/components/workflow/WorkflowParallelConfigurationEditor.js.map +1 -0
  96. package/dist/browser/components/workflow/WorkflowReminderEditor.d.ts +7 -0
  97. package/dist/browser/components/workflow/WorkflowReminderEditor.d.ts.map +1 -0
  98. package/dist/browser/components/workflow/WorkflowReminderEditor.js +7 -0
  99. package/dist/browser/components/workflow/WorkflowReminderEditor.js.map +1 -0
  100. package/dist/browser/components/workflow/WorkflowReturnPolicyEditor.d.ts +8 -0
  101. package/dist/browser/components/workflow/WorkflowReturnPolicyEditor.d.ts.map +1 -0
  102. package/dist/browser/components/workflow/WorkflowReturnPolicyEditor.js +33 -0
  103. package/dist/browser/components/workflow/WorkflowReturnPolicyEditor.js.map +1 -0
  104. package/dist/browser/components/workflow/WorkflowTaskForm.d.ts +1 -4
  105. package/dist/browser/components/workflow/WorkflowTaskForm.d.ts.map +1 -1
  106. package/dist/browser/components/workflow/WorkflowTaskForm.js +5 -6
  107. package/dist/browser/components/workflow/WorkflowTaskForm.js.map +1 -1
  108. package/dist/browser/components/workflow/workflow-approval-presentation.d.ts +13 -0
  109. package/dist/browser/components/workflow/workflow-approval-presentation.d.ts.map +1 -0
  110. package/dist/browser/components/workflow/workflow-approval-presentation.js +21 -0
  111. package/dist/browser/components/workflow/workflow-approval-presentation.js.map +1 -0
  112. package/dist/browser/components/workflow/workflow-designer-presentation.d.ts +13 -0
  113. package/dist/browser/components/workflow/workflow-designer-presentation.d.ts.map +1 -0
  114. package/dist/browser/components/workflow/workflow-designer-presentation.js +69 -0
  115. package/dist/browser/components/workflow/workflow-designer-presentation.js.map +1 -0
  116. package/dist/browser/components/workflow/workflow-flow-layout.d.ts +11 -2
  117. package/dist/browser/components/workflow/workflow-flow-layout.d.ts.map +1 -1
  118. package/dist/browser/components/workflow/workflow-flow-layout.js +44 -9
  119. package/dist/browser/components/workflow/workflow-flow-layout.js.map +1 -1
  120. package/dist/browser/components/workflow/workflow-operation-layout.d.ts +6 -0
  121. package/dist/browser/components/workflow/workflow-operation-layout.d.ts.map +1 -0
  122. package/dist/browser/components/workflow/workflow-operation-layout.js +17 -0
  123. package/dist/browser/components/workflow/workflow-operation-layout.js.map +1 -0
  124. package/dist/browser/platform-client.d.ts +71 -3
  125. package/dist/browser/platform-client.d.ts.map +1 -1
  126. package/dist/browser/platform-client.js +54 -4
  127. package/dist/browser/platform-client.js.map +1 -1
  128. package/dist/browser/record-detail.css +4 -3
  129. package/dist/browser/styles.css +355 -1
  130. package/dist/browser/workflow-approval.css +205 -0
  131. package/dist/browser/workflow-operation-input.d.ts.map +1 -1
  132. package/dist/browser/workflow-operation-input.js +1 -0
  133. package/dist/browser/workflow-operation-input.js.map +1 -1
  134. package/dist/core.d.ts +1 -0
  135. package/dist/core.d.ts.map +1 -1
  136. package/dist/core.js +1 -0
  137. package/dist/core.js.map +1 -1
  138. package/dist/react.d.ts +1 -0
  139. package/dist/react.d.ts.map +1 -1
  140. package/dist/react.js +1 -0
  141. package/dist/react.js.map +1 -1
  142. package/dist/resource.d.ts +22 -0
  143. package/dist/resource.d.ts.map +1 -0
  144. package/dist/resource.js +18 -0
  145. package/dist/resource.js.map +1 -0
  146. package/documentation/AGENTS.md +1 -1
  147. package/documentation/application-templates.md +37 -0
  148. package/documentation/field-components.md +10 -1
  149. package/documentation/frontend.md +14 -4
  150. package/documentation/getting-started.md +9 -7
  151. package/documentation/manifest.json +13 -7
  152. package/documentation/reference/cli.md +2 -0
  153. package/documentation/reference/mcp.md +238 -0
  154. package/documentation/workflow-events.md +33 -0
  155. package/package.json +41 -25
  156. package/releases/2.63.0.json +45 -0
  157. package/releases/2.63.1.json +46 -0
  158. package/skills/manifest.json +1 -1
  159. package/skills/openxiangda-v2/SKILL.md +7 -7
  160. package/skills/openxiangda-v2/references/application-templates.md +37 -0
  161. package/skills/openxiangda-v2/references/cli.md +2 -0
  162. package/skills/openxiangda-v2/references/field-components.md +10 -1
  163. package/skills/openxiangda-v2/references/frontend.md +14 -4
  164. package/skills/openxiangda-v2/references/getting-started.md +9 -7
  165. package/skills/openxiangda-v2/references/mcp.md +238 -0
  166. package/skills/openxiangda-v2/references/workflow-events.md +33 -0
  167. package/releases/2.20.1.json +0 -30
  168. package/releases/2.20.2.json +0 -30
  169. package/releases/2.20.3.json +0 -29
  170. package/releases/2.20.4.json +0 -30
  171. package/releases/2.31.5.json +0 -33
  172. package/releases/2.59.3.json +0 -36
  173. package/releases/2.60.0.json +0 -38
  174. package/releases/2.61.0.json +0 -39
  175. package/releases/2.61.1.json +0 -37
  176. package/releases/2.61.2.json +0 -32
  177. package/releases/2.61.3.json +0 -33
  178. package/releases/2.62.0.json +0 -40
  179. 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,308 @@
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 { 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; }
@@ -0,0 +1,205 @@
1
+ /* Opt-in approval presentation. Resource detail/editing and application themes keep their owners. */
2
+ .oxa-workflow-approval-detail { container-type: inline-size; background: var(--ant-color-bg-layout, #f5f6f8); }
3
+ .oxa-workflow-approval-detail .oxa-record-detail-width { max-width: 1280px; }
4
+ .oxa-workflow-approval-detail .oxa-record-detail-header { padding-block: 12px; min-height: 80px; }
5
+ .oxa-workflow-approval-detail .oxa-record-detail-heading { flex: 1; }
6
+ .oxa-workflow-approval-detail .oxa-record-detail-header .oxa-record-detail-hero { margin: 0; padding-left: 22px; border-left: 1px solid var(--ant-color-border-secondary, #e5e6eb); }
7
+ .oxa-workflow-approval-detail .oxa-record-detail-hero h1 { font-size: 20px; line-height: 1.5; }
8
+ .oxa-workflow-approval-detail .oxa-record-detail-header .ant-btn-text { color: var(--ant-color-primary, #1677ff); flex-shrink: 0; }
9
+ .oxa-workflow-approval-detail .oxa-record-detail-metadata { font-size: 13px; margin-top: 4px; }
10
+ .oxa-workflow-approval-detail .oxa-record-detail-header-tools { flex-shrink: 0; }
11
+ .oxa-workflow-approval-detail .oxa-record-detail-body { padding-block: 20px 28px; }
12
+ .oxa-workflow-approval-detail .oxa-workflow-detail-sections { gap: 20px; align-items: start; }
13
+ .oxa-workflow-main-column, .oxa-workflow-progress-rail { display: grid; gap: 16px; min-width: 0; }
14
+ .oxa-workflow-approval-detail .oxa-workflow-current-node { display: grid; justify-content: stretch; gap: 6px; padding: 18px 20px; margin: 0; border: 1px solid var(--ant-color-primary-border, #d6e4ff); border-left: 4px solid var(--ant-color-primary, #1677ff); border-radius: 6px; background: var(--ant-color-primary-bg, #f0f5ff); color: var(--ant-color-text, #1f2329); }
15
+ .oxa-workflow-current-node > strong { display: flex; gap: 12px; align-items: center; font-size: 17px; line-height: 1.5; }
16
+ .oxa-workflow-approval-detail .oxa-workflow-current-node > span { display: block; padding-left: 26px; color: var(--ant-color-text-secondary, #646a73); font-size: 14px; }
17
+ .oxa-workflow-current-dot { width: 14px; height: 14px; border-radius: 50%; background: var(--ant-color-primary, #1677ff); flex-shrink: 0; }
18
+ .oxa-workflow-approval-detail .oxa-workflow-business-sections { gap: 16px; }
19
+ .oxa-workflow-business-section { min-width: 0; background: var(--ant-color-bg-container, #fff); border: 1px solid var(--ant-color-border-secondary, #e5e6eb); border-radius: 8px; }
20
+ .oxa-workflow-business-section > h2 { font-size: 16px; font-weight: 600; line-height: 1.5; margin: 0; padding: 18px 20px 0; }
21
+ .oxa-workflow-business-section > .oxa-record-detail-card { border: 0; padding: 18px 20px 20px; border-radius: 8px; }
22
+ .oxa-workflow-approval-detail .oxa-record-detail-fields { gap: 20px 24px; }
23
+ .oxa-workflow-approval-detail .oxa-record-detail-label { margin-bottom: 4px; color: var(--ant-color-text-secondary, #646a73); font-size: 13px; }
24
+ .oxa-workflow-approval-detail .oxa-record-detail-value { font-size: 14px; }
25
+ .oxa-workflow-approval-detail .oxa-record-detail-value.is-amount { font-weight: 600; font-variant-numeric: tabular-nums; }
26
+ .oxa-workflow-approval-detail .oxa-record-detail-value > .ant-typography { margin-bottom: 0; line-height: 1.75; }
27
+ .oxa-workflow-subtable-disclosure { border-top: 1px solid var(--ant-color-border-secondary, #e5e6eb); padding-top: 14px; }
28
+ .oxa-workflow-subtable-disclosure > summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 14px; }
29
+ .oxa-workflow-subtable-disclosure > summary::-webkit-details-marker { display: none; }
30
+ .oxa-workflow-subtable-disclosure > summary > span:last-child { display: flex; align-items: center; gap: 12px; white-space: nowrap; }
31
+ .oxa-workflow-subtable-disclosure > summary .anticon { font-size: 12px; color: var(--ant-color-text-secondary); }
32
+ .oxa-workflow-subtable-disclosure[open] > summary { margin-bottom: 16px; }
33
+ .oxa-workflow-subtable-disclosure[open] > summary .anticon { transform: rotate(90deg); }
34
+ .oxa-workflow-approval-detail .oxa-file-list { gap: 0; }
35
+ .oxa-workflow-approval-detail .oxa-workflow-file-item { border: 0; border-radius: 0; padding: 10px 0; background: none; }
36
+ .oxa-workflow-approval-detail .oxa-workflow-file-item + .oxa-workflow-file-item { border-top: 1px solid var(--ant-color-border-secondary, #e5e6eb); }
37
+ .oxa-workflow-approval-detail .oxa-workflow-file-item:first-child { padding-top: 0; }
38
+ .oxa-workflow-approval-detail .oxa-workflow-file-item:last-child { padding-bottom: 0; }
39
+ .oxa-workflow-approval-detail .oxa-file-kind { width: 28px; height: 34px; border-radius: 4px; color: var(--ant-color-primary); background: var(--ant-color-primary-bg); font-size: 23px; }
40
+ .oxa-workflow-approval-detail .oxa-file-kind.is-pdf { color: #cf1322; background: #fff1f0; }
41
+ .oxa-workflow-approval-detail .oxa-file-kind.is-xls, .oxa-workflow-approval-detail .oxa-file-kind.is-xlsx { color: #389e0d; background: #f6ffed; }
42
+ .oxa-workflow-approval-detail .oxa-file-meta { display: flex; align-items: center; gap: 22px; }
43
+ .oxa-workflow-approval-detail .oxa-file-meta strong { font-weight: 400; font-size: 14px; }
44
+ .oxa-workflow-approval-detail .oxa-file-meta small { color: var(--ant-color-text-secondary); font-size: 13px; white-space: nowrap; }
45
+ .oxa-workflow-approval-detail .oxa-workflow-task-content { margin: 0; padding: 18px 20px; border-radius: 8px; }
46
+ .oxa-workflow-approval-detail .oxa-workflow-task-form { margin: 0; }
47
+ .oxa-workflow-approval-detail .oxa-workflow-task-form > .ant-typography-secondary { font-size: 12px; margin-bottom: 16px; }
48
+ .oxa-workflow-approval-detail .oxa-workflow-task-form .ant-form-item { margin-bottom: 16px; }
49
+ .oxa-workflow-approval-detail .oxa-workflow-timeline-card { border-radius: 8px; box-shadow: none; }
50
+ .oxa-workflow-approval-detail .oxa-workflow-timeline-card > .ant-card-head { min-height: 0; padding: 16px 18px 0; border: 0; }
51
+ .oxa-workflow-approval-detail .oxa-workflow-timeline-card .ant-card-head-title { font-size: 16px; font-weight: 600; }
52
+ .oxa-workflow-approval-detail .oxa-workflow-timeline-card > .ant-card-body { padding: 16px 18px; }
53
+ .oxa-workflow-approval-detail .oxa-workflow-timeline { gap: 0; }
54
+ .oxa-workflow-timeline-card .oxa-workflow-timeline > div, .oxa-workflow-progress-drawer .oxa-workflow-timeline > div { grid-template-columns: 20px minmax(0, 1fr); gap: 12px; padding-bottom: 22px; }
55
+ .oxa-workflow-timeline-card .oxa-workflow-timeline > div:last-child { padding-bottom: 0; }
56
+ .oxa-workflow-timeline-card .oxa-workflow-timeline > div:not(:last-child)::before { left: 9px; top: 22px; bottom: 0; background: var(--ant-color-border-secondary, #e5e6eb); }
57
+ .oxa-workflow-timeline-card .oxa-workflow-timeline-dot { width: 20px; height: 20px; margin-top: 1px; }
58
+ .oxa-workflow-timeline-card .oxa-workflow-timeline-title { display: flex; flex-wrap: wrap; gap: 6px 8px; align-items: center; margin: 0 0 8px; font-size: 14px; }
59
+ .oxa-workflow-timeline-card .oxa-workflow-timeline-title > strong { font-size: 14px; }
60
+ .oxa-workflow-timeline-card .oxa-workflow-timeline .ant-tag { margin-inline-end: 0; font-size: 12px; line-height: 20px; }
61
+ .oxa-workflow-timeline-card .oxa-workflow-primary-time { margin-left: auto; color: var(--ant-color-text-tertiary, #8f959e); font-size: 12px; white-space: nowrap; }
62
+ .oxa-workflow-timeline-card .oxa-workflow-timeline-operations, .oxa-workflow-timeline-card .oxa-workflow-timeline-assignees { display: grid; gap: 10px; margin: 0; }
63
+ .oxa-workflow-timeline-card .oxa-workflow-timeline-operations + .oxa-workflow-timeline-assignees { margin-top: 12px; }
64
+ .oxa-workflow-timeline-card .oxa-workflow-timeline-operations > div { display: block; }
65
+ .oxa-workflow-timeline-card .oxa-workflow-person-line, .oxa-workflow-progress-drawer .oxa-workflow-person-line { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; min-height: 24px; font-size: 13px; }
66
+ .oxa-workflow-timeline-card .oxa-workflow-person-line > .ant-avatar { flex-shrink: 0; }
67
+ .oxa-workflow-timeline-card .oxa-workflow-person-line > small { color: var(--ant-color-text-secondary); }
68
+ .oxa-workflow-timeline-card .oxa-workflow-operation-opinion, .oxa-workflow-progress-drawer .oxa-workflow-operation-opinion { display: block; margin-top: 6px; padding: 6px 10px; background: var(--ant-color-fill-quaternary, #f5f6f8); border-radius: 4px; color: var(--ant-color-text-secondary); font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
69
+ .oxa-workflow-timeline-card .oxa-workflow-timeline .is-planned { color: var(--ant-color-text-secondary); }
70
+ .oxa-workflow-quorum { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; }
71
+ .oxa-workflow-quorum > span { flex: 1; height: 6px; border-radius: 10px; background: var(--ant-color-fill-secondary, #ebeef2); overflow: hidden; }
72
+ .oxa-workflow-quorum > span > span { display: block; height: 100%; background: var(--ant-color-primary, #1677ff); border-radius: inherit; }
73
+ .oxa-workflow-quorum > small { font-size: 12px; color: var(--ant-color-text-tertiary); }
74
+ .oxa-workflow-audit-section { margin-top: 18px; border-top: 1px solid var(--ant-color-border-secondary, #e5e6eb); }
75
+ .oxa-workflow-audit-section > summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 10px; color: var(--ant-color-text-secondary); padding: 12px 0 0; font-size: 13px; }
76
+ .oxa-workflow-audit-section > summary::-webkit-details-marker { display: none; }
77
+ .oxa-workflow-audit-section > summary > .anticon:last-child { margin-left: auto; font-size: 12px; }
78
+ .oxa-workflow-audit-section[open] > summary > .anticon:last-child { transform: rotate(90deg); }
79
+ .oxa-workflow-audit-section > summary:focus-visible, .oxa-workflow-subtable-disclosure > summary:focus-visible { outline: 2px solid var(--ant-color-primary); outline-offset: 4px; }
80
+ .oxa-workflow-audit-section > .oxa-record-detail-card { border: 0; padding: 14px 0 0; }
81
+ .oxa-workflow-participants-card { background: var(--ant-color-bg-container, #fff); border: 1px solid var(--ant-color-border-secondary); border-radius: 8px; padding: 16px 18px; }
82
+ .oxa-workflow-participants-card h2 { margin: 0 0 14px; font-size: 16px; font-weight: 600; }
83
+ .oxa-workflow-participants-card dl { display: grid; gap: 10px; margin: 0; font-size: 13px; }
84
+ .oxa-workflow-participants-card dl > div { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 12px; }
85
+ .oxa-workflow-participants-card dt { color: var(--ant-color-text-secondary); }
86
+ .oxa-workflow-participants-card dd { margin: 0; overflow-wrap: anywhere; }
87
+ .oxa-workflow-approval-detail .oxa-record-detail-footer { padding-block: 12px max(12px, env(safe-area-inset-bottom)); }
88
+ .oxa-workflow-approval-detail .oxa-record-detail-updated { display: none; }
89
+ .oxa-workflow-approval-detail .oxa-record-detail-actions { width: 100%; }
90
+ .oxa-workflow-approval-detail .oxa-workflow-actions { width: 100%; gap: 12px; }
91
+ .oxa-workflow-approval-detail .oxa-workflow-actions-desktop > .ant-btn { min-height: 40px; min-width: 76px; box-shadow: none; border-radius: 6px; }
92
+ .oxa-workflow-approval-detail .oxa-workflow-actions-desktop > .oxa-workflow-approve-primary { min-width: 108px; }
93
+ .oxa-workflow-approval-detail .oxa-workflow-actions-desktop > .oxa-workflow-more-trigger { margin-right: auto; border-color: transparent; padding-left: 0; }
94
+ .oxa-workflow-more-label { display: grid; gap: 4px; text-align: left; white-space: normal; max-width: 320px; overflow-wrap: anywhere; }
95
+ .oxa-workflow-more-label small { color: var(--ant-color-text-secondary); font-size: 12px; font-weight: 400; line-height: 1.5; }
96
+ .oxa-workflow-more-list { display: grid; }
97
+ .oxa-workflow-more-list > .ant-btn { justify-content: flex-start; height: auto; min-height: 78px; padding: 16px 20px; border-radius: 0; border-bottom: 1px solid var(--ant-color-border-secondary); gap: 20px; }
98
+ .oxa-workflow-more-list .oxa-workflow-more-label { flex: 1; }
99
+ .oxa-workflow-more-list .oxa-workflow-more-label > strong { font-size: 16px; font-weight: 500; }
100
+ .oxa-workflow-more-list .oxa-workflow-more-label > small { font-size: 13px; }
101
+ .oxa-workflow-more-icon { display: flex; font-size: 26px; flex-shrink: 0; }
102
+ .oxa-workflow-more-drawer .ant-drawer-content-wrapper { max-height: 85dvh; }
103
+ .oxa-workflow-more-drawer .ant-drawer-section { border-radius: 16px 16px 0 0; }
104
+ .oxa-workflow-more-drawer .ant-drawer-header { padding: 28px 16px 16px; text-align: center; position: relative; }
105
+ .oxa-workflow-more-drawer .ant-drawer-header::before { content: ''; position: absolute; width: 36px; height: 4px; border-radius: 4px; background: var(--ant-color-border, #d9d9d9); top: 10px; left: calc(50% - 18px); }
106
+ .oxa-workflow-more-drawer .ant-drawer-body { overflow-y: auto; padding: 0; }
107
+ .oxa-workflow-more-drawer .ant-drawer-footer { padding: 10px 16px max(10px, env(safe-area-inset-bottom)); }
108
+ .oxa-workflow-more-drawer .ant-drawer-footer .ant-btn { height: 44px; font-size: 16px; color: var(--ant-color-text-secondary); }
109
+ @container (min-width: 1200px) {
110
+ .oxa-workflow-approval-detail .oxa-workflow-detail-sections-desktop { grid-template-columns: minmax(0, 1.85fr) minmax(0, 1fr); }
111
+ .oxa-workflow-detail-sections-desktop .oxa-workflow-progress-rail { position: sticky; top: 0; }
112
+ .oxa-workflow-detail-sections-desktop .oxa-record-detail-fields { grid-template-columns: repeat(4, minmax(0, 1fr)); }
113
+ }
114
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-record-detail-header { min-height: 52px; padding-block: 8px; }
115
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-record-detail-header > .oxa-record-detail-width { position: relative; }
116
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-record-detail-heading h2 { position: absolute; left: 50%; transform: translateX(-50%); max-width: calc(100% - 152px); text-overflow: ellipsis; white-space: nowrap; overflow: hidden; font-size: 17px; }
117
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-record-detail-header .ant-btn-text { color: var(--ant-color-text); }
118
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-record-detail-header .ant-tag { border: 0; background: none; margin: 0; padding: 0; font-size: 14px; }
119
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-record-detail-body { padding-top: 0; }
120
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-record-detail-width { padding-inline: 16px; }
121
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-record-detail-hero { padding: 16px 16px 12px; margin: 0 -16px; background: var(--ant-color-bg-container, #fff); }
122
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-record-detail-hero h1 { font-size: 20px; }
123
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-record-detail-metadata { font-size: 13px; margin-top: 7px; }
124
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-current-node { position: relative; padding: 12px 14px; border-width: 0 0 0 3px; border-radius: 6px; }
125
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-current-node > strong { font-size: 15px; gap: 10px; }
126
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-current-node > span { padding-left: 24px; font-size: 13px; }
127
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-detail-sections { gap: 18px; }
128
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-main-column { gap: 16px; }
129
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-business-sections { gap: 18px; }
130
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-business-section { border: 0; background: none; }
131
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-business-section > h2 { padding: 0 4px; margin-bottom: 8px; font-size: 14px; font-weight: 500; color: var(--ant-color-text-secondary); }
132
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-business-section > .oxa-record-detail-card { padding: 0 16px; border-radius: 10px; }
133
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-attachment-section > .oxa-record-detail-card { padding-block: 12px; }
134
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-record-detail-fields { display: block; }
135
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-record-detail-fields > div { display: flex; align-items: baseline; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--ant-color-border-secondary); }
136
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-record-detail-fields > div:last-child { border-bottom: 0; }
137
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-record-detail-fields > div.is-wide { display: block; }
138
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-record-detail-label { font-size: 14px; margin: 0; flex: 1; }
139
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-record-detail-value { font-size: 15px; max-width: 65%; text-align: right; }
140
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .is-wide > .oxa-record-detail-value { max-width: none; text-align: left; margin-top: 8px; }
141
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-subtable-disclosure { border: 0; padding: 12px 0; }
142
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-subtable-disclosure > summary { min-height: 24px; }
143
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-subtable-disclosure > summary > span:first-child { color: var(--ant-color-text-secondary); }
144
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-file-meta { display: grid; gap: 2px; }
145
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-file-meta strong { font-size: 15px; }
146
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-task-content { padding: 0; border: 0; background: transparent; }
147
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-task-form { display: grid; gap: 0; }
148
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-task-form > .ant-typography-secondary { margin: 0; padding: 12px 16px 0; border-radius: 10px 10px 0 0; background: var(--ant-color-bg-container); }
149
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-task-form > .ant-form { padding: 16px 16px 0; background: var(--ant-color-bg-container); }
150
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-timeline-card { background: none; border: 0; }
151
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-timeline-card > .ant-card-head { padding: 0 4px 8px; }
152
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-timeline-card .ant-card-head-title { font-size: 14px; font-weight: 500; color: var(--ant-color-text-secondary); }
153
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-timeline-card .ant-card-extra .ant-btn { padding: 0; height: auto; font-size: 13px; }
154
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-timeline-card > .ant-card-body { border-radius: 10px; background: var(--ant-color-bg-container); padding: 16px; }
155
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-timeline > div { padding-bottom: 18px; gap: 12px; }
156
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-timeline-title { margin-bottom: 3px; }
157
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-timeline-title > strong { font-size: 14px; font-weight: 500; }
158
+ .oxa-workflow-approval-detail .oxa-workflow-timeline-compact .oxa-workflow-person-line > .ant-avatar,
159
+ .oxa-workflow-approval-detail .oxa-workflow-timeline-compact .oxa-workflow-operation-opinion { display: none; }
160
+ .oxa-workflow-approval-detail .oxa-workflow-timeline-compact .oxa-workflow-person-line { font-size: 12px; gap: 4px; color: var(--ant-color-text-secondary); }
161
+ .oxa-workflow-approval-detail .oxa-workflow-timeline-compact .oxa-workflow-person-line .ant-tag { background: none; border: 0; padding: 0; color: inherit; }
162
+ .oxa-workflow-approval-detail .oxa-workflow-timeline-compact .oxa-workflow-timeline-operations + .oxa-workflow-timeline-assignees { margin-top: 4px; }
163
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-record-detail-footer { padding: 8px 0 max(8px, env(safe-area-inset-bottom)); }
164
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-record-detail-footer .oxa-record-detail-width { padding-inline: 12px; }
165
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-actions { gap: 10px; }
166
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-actions > .ant-btn { height: 48px; border-radius: 6px; font-size: 16px; box-shadow: none; }
167
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-actions > .oxa-workflow-more-trigger { flex: 0 0 56px; flex-direction: column; gap: 0; font-size: 10px; padding: 2px 8px; }
168
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-more-trigger .anticon { font-size: 24px; line-height: 24px; }
169
+
170
+ /* Reference spacing, shared by embedded progress and the complete-history sheet. */
171
+ .oxa-workflow-timeline-card .oxa-workflow-timeline > div { min-height: 0; }
172
+ .oxa-workflow-timeline-card .oxa-workflow-timeline > div > div { display: block; }
173
+ .oxa-workflow-timeline-card .oxa-workflow-timeline-title { justify-content: flex-start; }
174
+ .oxa-workflow-timeline-card .oxa-workflow-timeline-dot { border-radius: 50%; }
175
+ .oxa-workflow-timeline-card .oxa-workflow-operation-opinion { border-left: 0; box-sizing: border-box; }
176
+ .oxa-workflow-timeline-card .oxa-workflow-timeline .is-completed .oxa-workflow-timeline-dot { color: var(--ant-color-success-active, #389e0d); }
177
+ .oxa-workflow-approval-detail .oxa-workflow-task-form-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
178
+ .oxa-workflow-approval-detail .oxa-workflow-task-form-heading h4 { font-size: 16px; margin: 0; }
179
+ .oxa-workflow-approval-detail .oxa-workflow-task-form > .ant-typography-secondary { margin: 10px 0 0; font-size: 12px; }
180
+ .oxa-workflow-approval-detail.oxa-record-detail-desktop .oxa-workflow-task-form .ant-form-item-row { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 10px; }
181
+ .oxa-workflow-approval-detail.oxa-record-detail-desktop .oxa-workflow-task-form .ant-form-item-label { text-align: left; padding: 4px 0; }
182
+ .oxa-workflow-approval-detail.oxa-record-detail-desktop .oxa-workflow-task-form .ant-form-item-control { min-width: 0; }
183
+ .oxa-workflow-approval-detail.oxa-record-detail-desktop .oxa-workflow-task-form .ant-input-number { max-width: 240px; }
184
+ .oxa-workflow-approval-detail .oxa-workflow-task-required .ant-form-item-label > label::after { content: '*'; color: var(--ant-color-error); display: inline; visibility: visible; margin-left: 4px; }
185
+ .oxa-workflow-approval-detail .oxa-workflow-task-required-hint { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); }
186
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-task-form-heading { margin: 0 4px 8px; }
187
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-task-form-heading h4 { font-size: 14px; font-weight: 500; color: var(--ant-color-text-secondary); }
188
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-task-form > .ant-form { border-radius: 10px 10px 0 0; }
189
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-task-form > .ant-typography-secondary { margin: 0; padding: 0 16px; border-radius: 0; }
190
+ .oxa-workflow-approval-detail .oxa-mobile-file-list .oxa-workflow-file-item { background: transparent; padding: 10px 0; gap: 12px; }
191
+ .oxa-workflow-approval-detail .oxa-mobile-file-list .oxa-workflow-file-item:first-child { padding-top: 0; }
192
+ .oxa-workflow-approval-detail .oxa-mobile-file-list .oxa-workflow-file-item:last-child { padding-bottom: 0; }
193
+ .oxa-workflow-approval-detail .oxa-file-name-button { color: var(--ant-color-text); }
194
+ .oxa-workflow-approval-detail.oxa-record-detail-desktop .oxa-record-detail-header { min-height: 76px; padding-block: 10px; }
195
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-task-form .oxa-mobile-field { border: 0; padding: 0 0 16px; gap: 8px; }
196
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-task-form .oxa-mobile-field > label { font-size: 14px; color: var(--ant-color-text-secondary); }
197
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-task-required .oxa-mobile-field > label::after { content: ' *'; color: var(--ant-color-error); }
198
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-task-form .adm-text-area { padding: 10px 12px; border: 1px solid var(--ant-color-border, #d9d9d9); background: var(--ant-color-fill-quaternary, #fafafa); border-radius: 6px; --font-size: 14px; }
199
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-task-form .oxa-mobile-field:has(> .oxa-mobile-number-field) { grid-template-columns: minmax(72px, 0.6fr) minmax(0, 1fr); align-items: center; gap: 12px; }
200
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-task-form .oxa-mobile-number-field { border: 1px solid var(--ant-color-border, #d9d9d9); padding: 4px 10px; border-radius: 6px; min-width: 0; }
201
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-task-form .oxa-mobile-field-errors { grid-column: 1 / -1; }
202
+ .oxa-workflow-more-drawer .ant-drawer-footer .ant-btn { background: transparent; box-shadow: none; }
203
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-current-section { margin-inline: -16px; padding: 0 16px 14px; background: var(--ant-color-bg-container, #fff); }
204
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-application-section:first-child { margin-top: 16px; }
205
+ .oxa-workflow-approval-detail.oxa-record-detail-mobile .oxa-workflow-task-form > .ant-typography-secondary { padding: 0 16px 16px; border-radius: 0 0 10px 10px; }