/* Global readability layer for bpmn-js diagrams. Logic remains in BPMN XML. */
#canvas .djs-label {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 11px !important;
  line-height: 1.2;
  fill: #1d2b22 !important;
  paint-order: stroke;
  stroke: rgba(255,255,255,.92);
  stroke-width: 2.6px;
  stroke-linejoin: round;
}

/* Flow labels need a stronger halo because they sit close to connectors. */
#canvas .djs-connection .djs-label,
#canvas .djs-element[data-element-id*="_label"] .djs-label {
  font-size: 10px !important;
  font-weight: 650;
  stroke-width: 3.4px;
}

/* Lane/pool captions should remain secondary to the process itself. */
#canvas .djs-element[data-element-id^="Lane_"] .djs-label,
#canvas .djs-element[data-element-id^="L_"] .djs-label {
  font-size: 10px !important;
  font-weight: 700;
  fill: #53635a !important;
}

/* Make tasks and linked sub-processes visually easier to distinguish. */
#canvas .djs-element[data-element-id] .djs-visual > rect {
  rx: 7px;
  ry: 7px;
}

/* Keep connections visually behind text and reduce visual noise. */
#canvas .djs-connection .djs-visual > path {
  stroke-width: 1.5px !important;
}

/* Explicitly linked N1/N2/N3 nodes get a subtle emphasis. */
#canvas .djs-element .djs-visual > rect[style*="stroke-dasharray"],
#canvas .djs-element[data-element-id^="R_"] .djs-visual > rect,
#canvas .djs-element[data-element-id="RR"] .djs-visual > rect,
#canvas .djs-element[data-element-id="CC"] .djs-visual > rect,
#canvas .djs-element[data-element-id="RC"] .djs-visual > rect,
#canvas .djs-element[data-element-id="GT"] .djs-visual > rect,
#canvas .djs-element[data-element-id="ER"] .djs-visual > rect,
#canvas .djs-element[data-element-id="AE"] .djs-visual > rect,
#canvas .djs-element[data-element-id="CE"] .djs-visual > rect {
  stroke-width: 2px !important;
}
