/* OwAblauf, System-Register der Marke: Neutralskala, Inter, Hairlines. Farben nur über Tokens. */
.ow-ablauf { --n100: #F5F5F5; --n200: #E5E5E5; --n400: #A3A3A3; --n500: #737373; --n900: #171717; --w: #FFF; --b: #000;
  font: 400 15px/1.5 Inter, system-ui, sans-serif; color: var(--n900); border: 1px solid var(--n200); border-radius: 0.5rem; background: var(--w); overflow: hidden; }
.ow-ablauf-kopf { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; align-items: center; padding: 0.8rem 1rem; border-bottom: 1px solid var(--n200); }
.ow-ablauf-titel { font-weight: 600; }
.ow-ablauf-faelle { display: flex; gap: 0; margin-left: auto; border: 1px solid var(--n200); border-radius: 0.5rem; overflow: hidden; }
.ow-ablauf-fall { background: var(--w); border: 0; padding: 0.35rem 0.75rem; cursor: pointer; color: var(--n500); font: inherit; }
.ow-ablauf-fall[aria-pressed="true"] { background: var(--n900); color: var(--w); }
.ow-ablauf-fall:focus-visible { outline: 2px solid var(--n900); outline-offset: 2px; }
.ow-ablauf-buehne { padding: 0.5rem 0.5rem 0; overflow-x: auto; }
.ow-ablauf-buehne svg { display: block; min-width: 760px; }
.ow-knoten { cursor: pointer; }
.ow-knoten rect { fill: var(--w); stroke: var(--n400); stroke-width: 1.2; transition: stroke 200ms, fill 200ms; }
.ow-knoten text { font-size: 12.5px; fill: var(--n900); pointer-events: none; }
.ow-knoten.ow-start rect { stroke: var(--n900); }
.ow-knoten.ow-ende rect { fill: var(--n100); stroke: var(--n200); }
.ow-knoten.ow-mensch rect { stroke: var(--n900); stroke-dasharray: 4 3; }
.ow-knoten.ow-war rect { fill: var(--n100); stroke: var(--n900); }
.ow-knoten.ow-aktiv rect, .ow-knoten.ow-aktiv.ow-war rect { fill: var(--b); stroke: var(--b); }
.ow-knoten.ow-aktiv text { fill: var(--w); font-weight: 700; }
.ow-knoten:focus { outline: none; } .ow-knoten:focus-visible rect { stroke: var(--n900); stroke-width: 2.5; }
.ow-kante { stroke: var(--n200); stroke-width: 1.5; transition: stroke 200ms; }
.ow-kante.ow-aktiv { stroke: var(--n900); }
.ow-kante-label { font-family: "JetBrains Mono", ui-monospace, monospace; font-size: 10.5px; fill: var(--n500); paint-order: stroke; stroke: var(--w); stroke-width: 4px; stroke-linejoin: round; }
.ow-punkt { fill: var(--b); }
.ow-ablauf-erkl { padding: 0.8rem 1rem 1rem; border-top: 1px solid var(--n200); color: var(--n700, #404040); min-height: 3.2rem; }
@media (prefers-reduced-motion: reduce) { .ow-knoten rect, .ow-kante { transition: none; } .ow-punkt { display: none; } }
