.approval-flow-definition { border: 0; padding: 0; margin: 0; min-width: 0; }
.approval-flow-definition[disabled] { opacity: .85; }
.approval-flow-step { margin: 12px 0; padding: 0; border: 1px solid #cbd2d8; background: #fafbfc; }
.approval-flow-step-head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 12px; background: #edf1f5; border-bottom: 1px solid #d5dce2; }
.approval-flow-step-number { color: #527896; font-size: 15px; }
.approval-flow-step-head input[type=text] { flex: 1 1 180px; max-width: 460px; }
.approval-flow-remove { margin-left: auto; }
.approval-flow-step-body { padding: 12px 18px; }
.approval-flow-step-body p { margin-top: 9px; margin-bottom: 9px; }
.approval-flow-step-body textarea { max-width: 95%; }
.approval-flow-checks { display: inline-flex; flex-wrap: wrap; gap: 8px 18px; }
.approval-flow-checks label.inline { margin: 0; padding: 0; width: auto; float: none; }
.approval-flow-node-options { margin-top: 14px; padding: 12px; background: #f2f4f6; border: 1px solid #dee4e8; }
.approval-flow-node-options summary { cursor: pointer; color: #416783; font-weight: bold; }
.approval-flow-deleted { opacity: .5; }
.approval-flow-relations select { width: 95%; max-width: 400px; }
.approval-flow-graph-toolbar { display: flex; align-items: center; gap: 20px; margin-top: 22px; margin-bottom: 10px; }
#approval-flow-graph { overflow: auto; min-height: 200px; border: 1px solid #ccd6de; background-color: #fff; background-image: radial-gradient(#d6e2eb 1px, transparent 1px); background-size: 20px 20px; }
#approval-flow-graph:fullscreen { padding: 25px; }
#approval-flow-graph svg { display: block; }
#approval-flow-form [hidden], .approval-flow-next-assignee[hidden] { display: none !important; }
#approval-flow-form .info, .approval-flow-hint { color: #687b87; font-size: .94em; }
#approval-flow-box { margin-top: 18px; padding: 18px; border: 1px solid #cbd7df; clear: both; }
.approval-flow-title { display: flex; align-items: center; gap: 12px; }
.approval-flow-badge { display: inline-block; border-radius: 3px; padding: 2px 8px; font-size: 12px; background: #e9eef2; color: #415666; }
.approval-flow-badge.running { background: #e5f0f9; color: #285b87; }
.approval-flow-badge.finished { background: #e8f2eb; color: #316644; }
.approval-flow-badge.rejected { background: #faeaea; color: #9e403d; }
.approval-flow-decision-form { padding: 12px 16px; background: #f5f7f9; max-width: 800px; }
.approval-flow-decision-form label { display: inline-block; margin-right: 12px; min-width: 85px; vertical-align: top; }
.approval-flow-decision-form textarea { max-width: 95%; }
.approval-flow-run-history { margin: 10px 0; }
.approval-flow-run-history summary { cursor: pointer; }
.approval-flow-history { padding-left: 24px; }
.approval-flow-history li { margin: 12px 0; }
.approval-flow-comment { white-space: pre-wrap; margin: 5px 0; padding: 8px; background: #f7f8fa; border-left: 3px solid #ccd7df; }
.approval-flow-decision.approve { color: #287040; }
.approval-flow-decision.reject { color: #a8433c; }
#approval-flow-selection .info { display: block; margin-top: 5px; }
@media (max-width: 700px) {
  .approval-flow-step-head { gap: 6px; }
  .approval-flow-step-body { padding: 10px; }
  .approval-flow-step-body.tabular p { padding-left: 0; }
  .approval-flow-step-body.tabular p > label { float: none; width: auto; margin-left: 0; display: block; text-align: left; }
  .approval-flow-step-body select { max-width: 100%; }
}
