/* SPS-Werkstatt (v37) – Farben werden von build_farbansichten in Variablen umgewandelt */
.sw-liste{margin-bottom:18px}
.sw-kopf{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:16px;align-items:start;margin-bottom:16px}
.sw-auftrag h2{margin:8px 0 8px;font-size:1.35rem}
.sw-auftrag p{margin:0;line-height:1.6}
.sw-zuo h3{margin:0}
.sw-zuo-kopf{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;margin-bottom:8px}
.sw-schreib{display:flex;gap:8px;align-items:center;font-size:.86rem;color:var(--ct-abb5c8);cursor:pointer}
.sw-schreib input{width:18px;height:18px}
.sw-tabelle{width:100%;border-collapse:collapse;font-size:.88rem}
.sw-tabelle th,.sw-tabelle td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--cr-273143);vertical-align:top}
.sw-tabelle th{color:var(--ct-7fdcf0);font-size:.74rem;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}
.sw-art-klein{display:none;color:var(--ct-78839a)}
.sw-tabelle code{color:var(--ct-00b4d8);font-weight:800;font-family:inherit}
.sw-raster{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:16px;align-items:start}
.sw-editor{min-width:0}
.sw-werkzeug{position:sticky;top:76px;z-index:5;background:var(--cf-0c111a);border:1px solid var(--cr-273143);border-radius:14px;padding:8px;margin-bottom:12px;box-shadow:0 8px 20px var(--cf-000000-a350)}
.sw-palette{display:flex;flex-wrap:wrap;gap:4px}
.sw-wz{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:54px;min-height:54px;padding:4px 4px;border:1px solid var(--cr-273143);border-radius:10px;background:var(--cf-111722);color:var(--ct-f3f6fb);font:inherit;font-size:.68rem;font-weight:700;cursor:pointer;line-height:1.1}
.sw-wz svg{width:40px;height:28px;fill:none;stroke:var(--ct-f3f6fb);stroke-width:3;stroke-linecap:round}
.sw-wz svg text{fill:var(--ct-f3f6fb);stroke:none;font-size:17px;font-weight:900;font-family:inherit}
.sw-wz svg circle{fill:var(--ct-f3f6fb);stroke:none}
.sw-wz[aria-pressed="true"]{border-color:var(--cr-ffd166);background:var(--cf-2a2410);box-shadow:0 0 0 1px var(--cf-ffd166) inset}
.sw-wz:focus-visible,.sw-hit:focus-visible,.sw-punkt:focus-visible{outline:3px solid var(--cr-7fdcf0);outline-offset:2px}
.sw-eigen{margin:0 0 10px;font-size:.86rem}
#sw-eigen-heim .sw-eigen{padding:0 4px}
.sw-eigen:empty{display:none}
.sw-netz>.sw-eigen{margin:0;padding:10px 12px;border-top:1px solid var(--cr-1b2433);background:var(--cf-111722)}
.sw-eigen .sw-info{margin:4px 2px;color:var(--ct-abb5c8);line-height:1.45}
.sw-eigen-zeile{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
.sw-eigen-zeile label{display:flex;gap:6px;align-items:center;font-weight:700}
.sw-eigen-zeile select{min-height:38px;max-width:100%;border-radius:8px;border:1px solid var(--cr-3a4558);background:var(--cf-111722);color:var(--ct-f3f6fb);font:inherit;font-size:.86rem;padding:4px 6px}
.sw-eigen-zeile .sw-fehlt select{border-color:var(--cr-ffd166);box-shadow:0 0 0 1px var(--cf-ffd166)}
.sw-wo{color:var(--ct-7fdcf0);font-weight:800}
.sw-netz{border:1px solid var(--cr-273143);border-radius:14px;background:var(--cf-0c111a);margin-bottom:12px;overflow:hidden}
.sw-netzkopf{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;padding:6px 10px;border-bottom:1px solid var(--cr-1b2433);background:var(--cf-111722)}
.sw-kom{flex:1 1 140px;min-width:0;min-height:34px;border-radius:8px;border:1px solid var(--cr-273143);background:var(--cf-0c111a);color:var(--ct-f3f6fb);font:inherit;font-size:.84rem;padding:4px 8px}
.sw-netzknoepfe{display:flex;flex-wrap:wrap;gap:2px 10px}
.sw-netzknoepfe .se-link{font-size:.84rem;min-height:40px;min-width:40px;padding:0 6px}
.sw-netzknoepfe .se-link[disabled]{opacity:.35;cursor:default}
.sw-planbox{padding:4px}
.sw-plan{display:block;width:100%;height:auto;touch-action:manipulation}
.sw-plan text{font-family:inherit}
.sw-l{fill:none;stroke:var(--ct-78839a);stroke-width:2.6}
.sw-l.an,.sw-schiene.an{stroke:var(--ct-3ddc84)}
.sw-schiene{fill:none;stroke:var(--ct-abb5c8);stroke-width:4}
.sw-schiene.rechts{stroke:var(--ct-3a4558);stroke-width:2;stroke-dasharray:4 5}
.sw-k{fill:none;stroke:var(--ct-f3f6fb);stroke-width:2.6}
.sw-k.zu{stroke:var(--ct-3ddc84)}
.sw-spule{fill:none;stroke:var(--ct-f3f6fb);stroke-width:2.6}
.sw-spule.an{stroke:var(--ct-3ddc84)}
.sw-pn{fill:var(--ct-f3f6fb);font-size:14px;font-weight:900}
.sw-adr{fill:var(--ct-00b4d8);font-size:13px;font-weight:800}
.sw-adr.fehlt{fill:var(--ct-ffd166)}
.sw-name{fill:var(--ct-abb5c8);font-size:10.5px}
.sw-knoten{fill:var(--ct-78839a)}
.sw-knoten.an{fill:var(--ct-3ddc84)}
.sw-platz{fill:none;stroke:var(--ct-3a4558);stroke-width:1.5;stroke-dasharray:4 4}
.sw-gewaehlt{fill:none;stroke:var(--ct-ffd166);stroke-width:2.4}
.sw-hit{fill:transparent;cursor:pointer;pointer-events:all}
.sw-hit:hover{fill:var(--ct-7fdcf0-a060)}
.sw-punkt{fill:var(--ct-111722);stroke:var(--ct-3a4558);stroke-width:1.5;opacity:.4;pointer-events:none}
.sw-punkt-hit{fill:transparent;cursor:pointer;pointer-events:all}
.sw-punkt-hit:focus-visible{outline:3px solid var(--cr-7fdcf0);outline-offset:2px}
.sw-punkt.an{opacity:0}
[data-werkzeug="zweig"] .sw-punkt,[data-werkzeug="leer"] .sw-punkt.an{opacity:.95;stroke:var(--ct-ffd166)}
[data-werkzeug="zweig"] .sw-punkt.an{fill:transparent}
.sw-sim{position:sticky;top:76px}
.sw-sim h3{margin:0}
.sw-sim h4{margin:14px 0 6px;font-size:.9rem;color:var(--ct-7fdcf0)}
.sw-sim-kopf{display:flex;justify-content:space-between;align-items:center;gap:8px}
.sw-zyklus{font-size:.8rem;color:var(--ct-abb5c8);font-variant-numeric:tabular-nums}
.sw-runleiste{margin-top:8px}
.sw-runleiste .se-knopf{touch-action:manipulation}
#sw-run[aria-pressed="false"]{background:var(--cf-3a2a0b);border-color:var(--cr-ffd166);color:var(--ct-ffcf73)}
.sw-io{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.sw-io li{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.9rem}
.sw-io-text{flex:1 1 150px;min-width:0}
.sw-io-text small{color:var(--ct-abb5c8)}
.sw-io-knoepfe{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.sw-io .se-knopf{min-height:40px;padding:0 12px;font-size:.84rem}
.sw-io .se-link{font-size:.82rem}
.sw-art-wahl{min-height:36px;border-radius:8px;border:1px solid var(--cr-3a4558);background:var(--cf-111722);color:var(--ct-f3f6fb);font:inherit;font-size:.8rem}
.sw-io li.ist-an strong{color:var(--ct-ffd166)}
.sw-geber:disabled{opacity:.45}
.sw-pruefbox{margin-top:16px}
.sw-erg{margin-top:12px;padding:14px 16px;border-radius:12px;border:1px solid var(--cr-124657);background:var(--cf-0b2a35)}
.sw-erg.nein{border-color:var(--cr-7a5a1a);background:var(--cf-2a210d)}
.sw-erg.ja{border-color:var(--cr-1f6b55);background:var(--cf-0b3b33)}
.sw-erg p{margin:0 0 8px;line-height:1.55}
.sw-erg h4{margin:14px 0 6px}
.sw-vergleich{display:flex;flex-wrap:wrap;gap:6px 22px}
.sw-tipp{padding:8px 10px;border-left:3px solid var(--cr-ffd166);background:var(--cf-ffd166-a070);border-radius:0 8px 8px 0}
.sw-befunde{margin:4px 0 10px;padding-left:20px;line-height:1.5}
.sw-befunde li{margin-bottom:4px}
.sw-befunde.ok{list-style:none;padding-left:0}
.sw-dg-box{display:inline-block;max-width:100%;box-sizing:border-box;vertical-align:top;overflow-x:auto;border:1px solid var(--cr-273143);border-radius:10px;background:var(--cf-0c111a);padding:6px}
.sw-diagramm{display:block;max-width:none;height:auto}
.sw-diagramm text{font-family:inherit}
.sw-dg-spalte{fill:transparent;stroke:var(--ct-1b2433);stroke-width:1}
.sw-dg-spalte.fehler{fill:var(--ct-ff6b6b-a140);stroke:var(--ct-ff6b6b)}
.sw-dg-nr{fill:var(--ct-abb5c8);font-size:11px;font-weight:700}
.sw-dg-name{fill:var(--ct-f3f6fb);font-size:11.5px;font-weight:700}
.sw-dg-achse{stroke:var(--ct-273143);stroke-width:1}
.sw-dg-ein{fill:none;stroke:var(--ct-00b4d8);stroke-width:2.4}
.sw-dg-ist{fill:none;stroke:var(--ct-3ddc84);stroke-width:2.6}
.sw-dg-soll{fill:none;stroke:var(--ct-ffd166);stroke-width:2;stroke-dasharray:5 4}
.sw-dg-leg{display:inline-block;width:18px;height:0;border-top:3px solid var(--cr-00b4d8);vertical-align:middle;margin:0 4px 0 8px}
.sw-dg-leg.ist{border-color:var(--cr-3ddc84)}
.sw-dg-leg.soll{border-top-style:dashed;border-color:var(--cr-ffd166)}
.sw-dg-leg.fehler{height:10px;border:1px solid var(--cr-ff6b6b);background:var(--cf-ff6b6b-a140)}
.sw-schritte{margin:6px 0 0;padding-left:22px;font-size:.86rem;line-height:1.45;color:var(--ct-abb5c8)}
.sw-schritte li.fehler{color:var(--ct-ff9b9b);font-weight:700}
.sw-hilfe{margin-top:16px}
.sw-hilfe h3{margin-top:0}
.sw-stufe{border:1px solid var(--cr-273143);border-radius:12px;padding:8px 12px;margin-bottom:8px;background:var(--cf-0c111a)}
.sw-stufe summary{cursor:pointer;font-weight:800;min-height:32px;display:flex;align-items:center}
.sw-stufe ol{margin:6px 0 4px;padding-left:22px;line-height:1.55}
.sw-ml{margin:10px 0 14px}
.sw-ml figcaption{font-weight:800;color:var(--ct-7fdcf0);margin-bottom:6px}
.sw-ml .sw-planbox{border:1px solid var(--cr-273143);border-radius:10px}
.sw-ml p{margin:6px 0 0;line-height:1.55}
@media (max-width:980px){.sw-raster{grid-template-columns:1fr}.sw-sim{position:static}.sw-kopf{grid-template-columns:1fr}}
@media (max-width:560px){.sw-liste{display:flex;overflow-x:auto;gap:8px;padding-bottom:6px;scroll-snap-type:x proximity}.sw-liste .se-chip{flex:0 0 210px;scroll-snap-align:start}.sw-planbox{overflow-x:auto}.sw-plan{min-width:450px}.sw-palette{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.sw-werkzeug{top:64px;padding:6px}.sw-wz{min-width:58px;font-size:.66rem}.sw-wz svg{width:34px;height:24px}.sw-tabelle th:nth-child(4),.sw-tabelle td:nth-child(4){display:none}.sw-art-klein{display:inline}.sw-netzkopf{padding:6px}}
.sw-wisch{display:none;margin:0;padding:0 10px 8px;font-size:.76rem;color:var(--ct-78839a)}
@media (max-width:560px){.sw-wisch{display:block}}
/* ---- Paket B (v44): Zeitglieder, Zähler, Anlagen, Funktionsplan ---- */
.sw-wz svg text.klein{font-size:11px;font-weight:800}
.sw-wz svg rect{fill:none}
.sw-palette:not(.mit-b) .sw-wz[data-wz="TON"],.sw-palette:not(.mit-b) .sw-wz[data-wz="TOF"],.sw-palette:not(.mit-b) .sw-wz[data-wz="TP"],.sw-palette:not(.mit-b) .sw-wz[data-wz="CTU"]{display:none}
.sw-box{fill:var(--ct-111722);stroke:var(--ct-f3f6fb);stroke-width:2.4}
.sw-box.an{stroke:var(--ct-3ddc84);fill:var(--ct-0b3b33)}
.sw-name.fehlt{fill:var(--ct-ffd166);font-weight:800}
.sw-eigen-zeile input[type="number"]{width:84px;min-height:38px;border-radius:8px;border:1px solid var(--cr-3a4558);background:var(--cf-111722);color:var(--ct-f3f6fb);font:inherit;font-size:.9rem;padding:4px 8px}
.sw-eigen-zeile .sw-fehlt input{border-color:var(--cr-ffd166);box-shadow:0 0 0 1px var(--cf-ffd166)}
.sw-anlage{margin:10px 0 4px;padding:10px;border:1px solid var(--cr-273143);border-radius:12px;background:var(--cf-0c111a)}
.sw-anlage h4{margin:0 0 8px}
.sw-anlage-bild{line-height:0}
.sa-svg{display:block;width:100%;height:auto;max-height:230px;border-radius:8px}
.sa-svg text{font-family:inherit}
.sa-t{fill:var(--ct-f3f6fb);font-size:12px;font-weight:700}
.sa-warn{fill:var(--ct-ff9b9b);font-weight:900}
.sa-dreh{transform-box:fill-box;transform-origin:center;animation:sa-dreh 1.2s linear infinite}
@keyframes sa-dreh{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.sa-dreh{animation-duration:4s}}
.sw-anlage .se-klein{margin:8px 0 0;line-height:1.5}
.sw-anlage-groessen{margin:6px 0 0;font-size:.86rem;font-weight:700;color:var(--ct-7fdcf0);font-variant-numeric:tabular-nums;min-height:1.3em}
.sw-von-anlage{font-size:.78rem;color:var(--ct-7fdcf0);padding:6px 0}
.sw-bereich{font-weight:400;color:var(--ct-abb5c8);font-size:.76rem}
.sw-eigen-zeile input[type="text"]{width:72px;min-height:38px;border-radius:8px;border:1px solid var(--cr-3a4558);background:var(--cf-111722);color:var(--ct-f3f6fb);font:inherit;font-size:.9rem;padding:4px 8px;text-align:right}
.sw-anlage-info{margin-top:6px}
.sw-anlage-info summary{cursor:pointer;font-size:.84rem;color:var(--ct-7fdcf0);font-weight:700;min-height:32px;display:flex;align-items:center}
.sw-anlage-info p{margin:4px 0 0;line-height:1.5}
.sw-wisch-dg{padding:4px 0 0}
@media (max-width:560px){.sw-werkzeug{position:sticky}.sw-werkzeug::after{content:'';position:absolute;top:0;right:0;bottom:0;width:36px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--cf-0c111a));border-radius:0 14px 14px 0}.sw-werkzeug{position:sticky;overflow:hidden}}
.sw-io li.von-anlage .sw-io-text strong{color:var(--ct-7fdcf0)}
.sw-tc .sw-io-text{font-variant-numeric:tabular-nums}
.sw-tc small{color:var(--ct-abb5c8)}
.sw-warn{color:var(--ct-ffd166);font-weight:700}
.sw-balken{display:block;height:5px;margin-top:4px;border-radius:3px;background:var(--cf-1b2433);overflow:hidden;max-width:220px}
.sw-balken span{display:block;height:100%;background:var(--cf-00b4d8);transition:width .1s linear}
.sw-dg-zeit{fill:var(--ct-78839a);font-size:10px;font-weight:700}
.sw-schritte small{color:var(--ct-78839a)}
.sw-fup{margin-top:12px;border:1px solid var(--cr-273143);border-radius:12px;padding:8px 12px;background:var(--cf-0c111a)}
.sw-fup summary{cursor:pointer;font-weight:800;min-height:32px;display:flex;align-items:center}
.sw-fup-netz{margin:10px 0}
.sw-fup-netz strong{display:block;margin-bottom:4px;color:var(--ct-7fdcf0);font-size:.88rem}
.sw-fup-box-scroll{overflow-x:auto;padding:4px 0}
.sw-fup-svg{display:block;max-width:none;height:auto}
.sw-fup-svg text{font-family:inherit}
.sw-fup-op{fill:var(--ct-00b4d8);font-size:12.5px;font-weight:800}
.sw-fup-op.an{fill:var(--ct-3ddc84)}
.sw-fup-neg{fill:var(--ct-0c111a);stroke:var(--ct-f3f6fb);stroke-width:1.8}
.sw-fup-l{fill:none;stroke:var(--ct-78839a);stroke-width:2}
.sw-fup-box{fill:var(--ct-111722);stroke:var(--ct-f3f6fb);stroke-width:2}
.sw-fup-box.spule{stroke:var(--ct-abb5c8)}
.sw-fup-box.spule.an{stroke:var(--ct-3ddc84);fill:var(--ct-0b3b33)}
.sw-fup-art{fill:var(--ct-f3f6fb);font-size:13px;font-weight:900}
.sw-fup-sub{fill:var(--ct-abb5c8);font-size:10.5px;font-weight:700}
.sw-fup-name{fill:var(--ct-abb5c8);font-size:10px}
