/* Schaltplan-Welt (v50) */
.sw-abschnitt{padding:10px 0 30px}
.sw-rahmen{width:min(1600px,calc(100% - 28px));margin-inline:auto}
.sw-app{display:grid;gap:10px}
.sw-leiste{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 12px;border-radius:16px;border:1px solid var(--cr-273143);background:var(--cf-0d121b)}
.sw-gruppe{display:flex;flex-wrap:wrap;gap:6px}
.sw-leiste button,.sw-tabs button{min-height:42px;padding:0 14px;border-radius:12px;border:1px solid var(--cr-273143);background:var(--cf-111722);color:var(--ct-abb5c8);font-family:inherit;font-weight:800;font-size:.9rem;cursor:pointer}
.sw-leiste button:hover,.sw-tabs button:hover{border-color:var(--cr-00b4d8);color:var(--ct-f3f6fb)}
.sw-leiste button[aria-pressed="true"],.sw-tabs button[aria-selected="true"]{background:var(--cf-0f2a33);border-color:var(--cr-00b4d8);color:var(--ct-f3f6fb)}
.sw-leiste label{display:flex;align-items:center;gap:8px;color:var(--ct-abb5c8);font-weight:700;font-size:.9rem}
.sw-leiste select{min-height:42px;border-radius:12px;border:1px solid var(--cr-273143);background:var(--cf-111722);color:var(--ct-f3f6fb);font-family:inherit;font-size:.9rem;padding:0 10px;max-width:240px}
.sw-hinweis{margin:0;color:var(--ct-78839a);font-size:.88rem;min-height:1.3em}
.sw-haupt{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:12px;align-items:start}
@media (max-width:1100px){.sw-haupt{grid-template-columns:1fr}}
.sw-buehne{position:relative;height:min(74vh,760px);min-height:380px;border-radius:18px;border:1px solid var(--cr-273143);background:var(--cf-070b12);overflow:hidden;outline:none}
.sw-buehne:focus-visible{box-shadow:0 0 0 3px var(--cf-00b4d8)}
.sw-buehne svg{display:block;width:100%;height:100%;touch-action:pan-y pinch-zoom;cursor:grab;user-select:none;-webkit-user-select:none;background:var(--cf-070b12);border-radius:0!important}
.sw-voll .sw-buehne svg{touch-action:none}
.sw-buehne svg:active{cursor:grabbing}
.sw-karte{position:absolute;right:10px;bottom:10px;width:220px;padding:6px;border-radius:12px;border:1px solid var(--cr-273143);background:var(--cf-0d121b-a920)}
.sw-karte svg{display:block;width:100%;height:auto;cursor:pointer;touch-action:manipulation}
.sw-karte-b{fill:var(--ct-1b2332);stroke:var(--ct-3a4556);stroke-width:12}
.sw-karte-sicht{fill:var(--ct-00b4d8-a180);stroke:var(--ct-00b4d8);stroke-width:24}
@media (max-width:700px){.sw-karte{width:140px}.sw-buehne{height:62vh;min-height:330px}}
/* Vollbild */
.sw-voll{position:fixed;inset:0;z-index:900;padding:10px;background:var(--cf-070b12);overflow:auto}
.sw-voll .sw-haupt{grid-template-columns:minmax(0,1fr) 320px}
.sw-voll .sw-buehne{height:calc(100dvh - 150px)}
@media (max-width:1100px){.sw-voll .sw-haupt{grid-template-columns:1fr}.sw-voll .sw-buehne{height:calc(100dvh - 190px)}}
html.sw-voll-aktiv{overflow:hidden}
/* Seitenleiste */
.sw-seite{display:grid;gap:10px;padding:12px;border-radius:18px;border:1px solid var(--cr-273143);background:var(--cf-0d121b);min-width:0}
.sw-tabs{display:flex;flex-wrap:wrap;gap:6px}
.sw-tabs button{min-height:38px;padding:0 10px;font-size:.84rem}
.sw-seite h3{margin:0 0 4px;font-size:1.05rem}
.sw-seite p{margin:0 0 8px;color:var(--ct-abb5c8);font-size:.92rem;line-height:1.5}
.sw-klein-p{font-size:.84rem!important;color:var(--ct-78839a)!important}
.sw-knopfliste{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin-bottom:8px}
.sw-knopf{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:52px;padding:6px 12px;border-radius:12px;border:1px solid var(--cr-273143);background:var(--cf-111722);color:var(--ct-f3f6fb);font-family:inherit;font-weight:800;font-size:.86rem;text-align:left;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none}
.sw-knopf small{color:var(--ct-78839a);font-weight:700;font-size:.74rem}
.sw-knopf:hover{border-color:var(--cr-00b4d8)}
.sw-knopf.sw-aktiv{border-color:var(--cr-00bd9d);background:var(--cf-0e3a2f)}.sw-knopf.sw-aktiv small{color:var(--ct-7ee7c8)}
.sw-knopf.sw-warn{border-color:var(--cr-ff6b6b);background:var(--cf-3a1418)}.sw-knopf.sw-warn small{color:var(--ct-ffb4b4)}
.sw-knopf.sw-zweit{min-height:44px;margin:4px 0;align-items:center;width:100%;text-align:center;background:transparent;color:var(--ct-00b4d8);border-color:var(--cr-1d6f80)}
.sw-knopf.sw-zweit[aria-pressed="true"]{background:var(--cf-3a1418);border-color:var(--cr-ff6b6b);color:var(--ct-ffb4b4)}
.sw-knopf[disabled]{opacity:.45;cursor:not-allowed}
.sw-knopfreihe{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.sw-knopfreihe .sw-knopf{font-size:.78rem;padding:4px 6px;min-height:44px;margin:0}
.sw-stoerliste{display:grid;gap:4px}
.sw-faelle{display:grid;gap:6px}
.sw-fallknopf{display:grid;gap:2px;padding:8px 12px;border-radius:12px;border:1px solid var(--cr-273143);background:var(--cf-111722);color:var(--ct-f3f6fb);font-family:inherit;text-align:left;cursor:pointer}
.sw-fallknopf:hover,.sw-fallknopf.sw-aktiv{border-color:var(--cr-00b4d8)}
.sw-fallknopf b{font-size:.9rem}.sw-fallknopf small{color:var(--ct-7ee7c8);font-weight:800}
.sw-stufe{font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--ct-78839a)}
.sw-ok{color:var(--ct-7ee7c8)!important}.sw-tipp{padding:8px 10px;border-radius:10px;background:var(--cf-2a2410);color:var(--ct-f6d58a)!important}
.sw-rot{color:var(--ct-ff8a8a)}
/* Multimeter */
.sw-dmm-anzeige{margin:2px 0 10px;padding:14px;border-radius:12px;background:var(--cf-1d2a1a);border:3px solid var(--cr-3a4556);color:var(--ct-c8f7a8);font:800 2rem/1 ui-monospace,Menlo,monospace;text-align:right;letter-spacing:.04em}
.sw-dmm-anzeige.sw-gefahr{color:var(--ct-ffd166)}
/* Status & Meldung */
.sw-status{display:flex;flex-wrap:wrap;gap:6px 18px;color:var(--ct-78839a);font-size:.88rem}
.sw-status b{color:var(--ct-f3f6fb)}
.sw-meldung{margin:0;padding:10px 14px;border-radius:12px;border:1px solid var(--cr-1d6f80);background:var(--cf-0f2a33);color:var(--ct-f3f6fb);font-size:.92rem}
.sw-meldung[data-art="warn"]{border-color:var(--cr-ff6b6b);background:var(--cf-3a1418)}
.sw-meldung[data-art="ok"]{border-color:var(--cr-00bd9d);background:var(--cf-0e3a2f)}
/* ---------- Zeichnung ---------- */
#sw-svg text{font-family:Inter,"Segoe UI",system-ui,sans-serif}
.sw-bereich rect{fill:var(--ct-0b1119);stroke:var(--ct-1b2332);stroke-width:2}
.sw-bereich-titel{fill:var(--ct-5d6b80);font-size:20px;font-weight:800;letter-spacing:.04em}
.sw-leiter{fill:none;stroke:var(--ct-2f3a4a);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.sw-hit{fill:none;stroke:transparent;stroke-width:16;pointer-events:stroke}
.sw-fluss{fill:none;stroke:transparent;stroke-width:3;stroke-dasharray:8 14;pointer-events:none}
.sw-schiene .sw-leiter{stroke-width:5}
.sw-schiene-name{fill:var(--ct-78839a);font-size:13px;font-weight:800}
.sw-n-L1 .sw-leiter{stroke:var(--ct-c8823c)}.sw-n-L2 .sw-leiter{stroke:var(--ct-e6e6e6)}.sw-n-L3 .sw-leiter{stroke:var(--ct-9aa3ad)}
.sw-n-N .sw-leiter{stroke:var(--ct-3b82f6)}.sw-n-PE .sw-leiter{stroke:var(--ct-9ccc3c);stroke-dasharray:14 6}
.sw-n-P24 .sw-leiter{stroke:var(--ct-ef4444)}.sw-n-M0 .sw-leiter{stroke:var(--ct-60a5fa)}
.sw-strom .sw-fluss{stroke:var(--ct-ffd166);animation:sw-fliessen .9s linear infinite}
@keyframes sw-fliessen{to{stroke-dashoffset:-22}}
.sw-bruch .sw-leiter{stroke:var(--ct-ff6b6b)!important;stroke-dasharray:4 6}
.sw-knoten{fill:var(--ct-abb5c8)}
.sw-sym{fill:none;stroke:var(--ct-cfd8e3);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.sw-flaeche{fill:var(--ct-111722)}
.sw-gestrichelt{stroke-dasharray:5 4;stroke-width:1.6}
.sw-pilz{fill:var(--ct-ef4444);stroke:var(--ct-ef4444)}
.sw-label{fill:var(--ct-abb5c8);font-size:13px}
.sw-fett{font-weight:800;fill:var(--ct-f3f6fb)}
.sw-klein{fill:var(--ct-78839a);font-size:11px;font-weight:700}
.sw-anzeige{fill:var(--ct-c8f7a8);font:800 15px ui-monospace,Menlo,monospace}
.sw-uhr{fill:var(--ct-ffd166);font-weight:800}
.sw-zustand{fill:var(--ct-7ee7c8);font-weight:800}
.sw-messer{stroke:var(--ct-f3f6fb);stroke-width:3}
.sw-zu .sw-messer{stroke:var(--ct-7ee7c8)}
.sw-ausgeloest .sw-sym{stroke:var(--ct-ff6b6b)}
.sw-faden.sw-durch{stroke:var(--ct-ff6b6b);stroke-dasharray:6 8}
.sw-bedienbar{cursor:pointer}
.sw-bedienbar:hover .sw-sym,.sw-bedienbar:focus-visible .sw-sym{stroke:var(--ct-00b4d8)}
.sw-bedienbar:focus{outline:none}
.sw-bedienbar:focus-visible{outline:none}
.sw-bedienbar::after{content:none}
.sw-el.sw-bedienbar:focus-visible>*{filter:drop-shadow(0 0 6px var(--cf-00b4d8))}
.sw-lampe .sw-glas{fill:var(--ct-111722)}
.sw-lampe.sw-an .sw-glas{fill:var(--ct-ffd166);filter:drop-shadow(0 0 14px var(--cf-ffd166))}
.sw-lampe.sw-kaputt .sw-sym{stroke:var(--ct-ff6b6b)}
.sw-spule.sw-an .sw-spule,.sw-spule.sw-an rect{fill:var(--ct-0e3a2f);stroke:var(--ct-7ee7c8)}
.sw-motor .sw-rotor{transform-box:fill-box;transform-origin:50% 50%;opacity:.35}
.sw-motor.sw-laeuft .sw-rotor{opacity:1;animation:sw-drehen .7s linear infinite}
.sw-motor.sw-laeuft.sw-stern .sw-rotor{animation-duration:1.6s}
.sw-motor.sw-laeuft.sw-links .sw-rotor{animation-direction:reverse}
.sw-motor.sw-brummt>circle{animation:sw-zittern .12s linear infinite}

@keyframes sw-drehen{to{transform:rotate(360deg)}}
@keyframes sw-zittern{50%{transform:translate(1.5px,-1px)}}
.sw-motor-m{fill:var(--ct-f3f6fb);font-size:24px;font-weight:900}
.sw-pe{stroke:var(--ct-9ccc3c)}
.sw-steckdose .sw-geraet.sw-weg{opacity:.25}
.sw-steckdose.sw-an .sw-geraet rect{fill:var(--ct-2a2410);stroke:var(--ct-ffd166)}
.sw-led{fill:var(--ct-273143);stroke:var(--ct-3a4556);stroke-width:1.5}
.sw-led.sw-led-an{fill:var(--ct-3ddc84);stroke:var(--ct-3ddc84);filter:drop-shadow(0 0 5px var(--cf-3ddc84))}
.sw-run{fill:var(--ct-3ddc84);font-weight:900}.sw-run.sw-stop{fill:var(--ct-ff8a8a)}
.sw-prog{fill:var(--ct-abb5c8);font-size:13px}
.sw-sps-box{stroke:var(--ct-f1c974)}
.sw-band{fill:var(--ct-1b2332)}.sw-rolle{fill:var(--ct-111722)}
.sw-paket{fill:var(--ct-c8823c);stroke:var(--ct-e7b780);stroke-width:2;cursor:pointer}
.sw-strahl{stroke:var(--ct-ef4444);stroke-width:2;stroke-dasharray:4 4}.sw-strahl.sw-unterbrochen{stroke:var(--ct-ffd166)}
.sw-scheibe{fill:none;stroke:var(--ct-cfd8e3);stroke-width:3;stroke-dasharray:6 6;transform-box:fill-box;transform-origin:50% 50%}
.sw-scheibe.sw-dreht{animation:sw-drehen 2s linear infinite}
.sw-klemme{fill:transparent;stroke:transparent;pointer-events:none}
.sw-app[data-modus="messen"] .sw-klemme{fill:var(--ct-0d121b);stroke:var(--ct-ffd166);stroke-width:2;pointer-events:all;cursor:crosshair}
.sw-app[data-modus="messen"] .sw-klemme:hover{fill:var(--ct-ffd166)}
.sw-app[data-modus="messen"] .sw-hit,.sw-app[data-modus="markieren"] .sw-hit,.sw-app[data-modus="info"] .sw-hit{cursor:crosshair}
.sw-app[data-modus="markieren"] .sw-el,.sw-app[data-modus="info"] .sw-el{cursor:help}
.sw-sonde circle{stroke-width:4}.sw-sonde path{stroke-width:5;fill:none}
.sw-sonde.sw-rot circle,.sw-sonde.sw-rot path{stroke:var(--ct-ef4444);fill:none}
.sw-sonde.sw-schwarz circle,.sw-sonde.sw-schwarz path{stroke:var(--ct-f3f6fb);fill:none}
.sw-markiert .sw-leiter,.sw-markiert .sw-sym{stroke:var(--ct-ff9e00)!important;stroke-width:6}
.sw-el.sw-markiert{filter:drop-shadow(0 0 8px var(--cf-ff9e00))}
.sw-pruef{cursor:pointer}
@media (prefers-reduced-motion:reduce){.sw-strom .sw-fluss,.sw-motor.sw-laeuft .sw-rotor,.sw-scheibe.sw-dreht,.sw-motor.sw-brummt>circle{animation:none}.sw-strom .sw-fluss{stroke-dasharray:none;opacity:.5}}
/* Legende */
.sw-legende{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;list-style:none;color:var(--ct-abb5c8);font-size:.9rem}
.sw-legende li{display:flex;align-items:center;gap:8px}
.sw-legende i{display:inline-block;width:28px;height:5px;border-radius:3px}
.sw-treffer{fill:transparent;stroke:none;pointer-events:all}
.sw-bereich-titel,.sw-label,.sw-klein,.sw-schiene-name{paint-order:stroke;stroke:var(--ct-070b12);stroke-width:5px;stroke-linejoin:round}
/* v50 Nachbesserungen */
.sw-buehne svg{touch-action:none}
.sw-dmm-live{position:absolute;left:10px;top:10px;display:grid;gap:2px;min-width:170px;padding:8px 12px;border-radius:12px;border:2px solid var(--cr-3a4556);background:var(--cf-1d2a1a-a950);pointer-events:none}
.sw-dmm-live[hidden]{display:none}
.sw-dmm-live span{color:var(--ct-78839a);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.sw-dmm-live b{color:var(--ct-c8f7a8);font:800 1.5rem/1.1 ui-monospace,Menlo,monospace}
.sw-dmm-live small{color:var(--ct-abb5c8);font-size:.74rem}
.sw-karte[hidden]{display:none}
.sw-verdeckt:not(.sw-farbig) .sw-draht .sw-leiter,.sw-verdeckt:not(.sw-farbig) .sw-schiene .sw-leiter{stroke:var(--ct-5d6b80)!important;stroke-dasharray:none!important}
.sw-verdeckt:not(.sw-farbig) .sw-fluss{stroke:transparent!important;animation:none!important}
.sw-knopf span{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
@media (pointer:coarse){.sw-hit{stroke-width:30}.sw-app[data-modus="messen"] .sw-klemme{r:14px}}
@media (max-width:700px){.sw-voll .sw-hinweis{display:none}.sw-buehne{height:56vh}.sw-dmm-live{min-width:130px;padding:6px 8px}.sw-dmm-live b{font-size:1.15rem}}
.sw-verdeckt .sw-zu .sw-messer{stroke:var(--ct-f3f6fb)}
