/* 工单04行内表单，按确认原型布局；全部颜色引用既有 token。 */
.stage-form { display: grid; gap: var(--space-4); min-width: 0; }
.stage-form h4 { font-size: var(--text-body); font-weight: 600; }
.stage-form p { margin: 0; }
.stage-form .field-error:empty { display: none; }
.stage-form :is([data-stage-facts],.stage-batches,[data-stage-batches]) { display: grid; gap: var(--space-3); }
.stage-form :is(input,select) { min-width: 0; width: 100%; }
.stage-form .input-shell:has([aria-invalid="true"]) { border-color: var(--danger); }
.stage-form .editor-footer { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--space-2); padding-top: var(--space-3); }
.stage-batch-choice { display: grid; gap: var(--space-2); padding: var(--space-3); border-radius: var(--radius-md); background: var(--fill-soft); }
.stage-batch-check { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); min-height: 44px; font-size: var(--text-body); }
.stage-form .stage-batch-check input { flex: 0 0 auto; width: 18px; height: 18px; accent-color: var(--accent); }
.stage-form input[type="number"] { text-align: right; font-variant-numeric: tabular-nums; }
.stage-form .is-warn { color: var(--warn-ink); }
.flow-stage-edit { margin-top: var(--space-2); }
.stage-conflict-body { display: grid; gap: var(--space-2); min-width: 0; flex: 1; }
.stage-conflict-body .btn { justify-self: start; max-width: 100%; white-space: normal; }
