.symulator-plc-glowny-obszar{display:flex;flex:1;overflow:hidden;position:relative}#kontener-pulpit-hmi{display:flex;flex-direction:column;width:100%;height:100%}.symulator-plc-panel-hmi{width:100%;min-width:0;max-width:none;flex:1;background-color:#161922;border-left:none;display:flex;flex-direction:column;overflow-y:auto;z-index:5;transition:transform .25s ease}#kontener-pulpit-hmi.ukryty,.symulator-plc-panel-hmi.ukryty{display:none!important}.symulator-plc-panel-hmi .naglowek-hmi{padding:10px 14px;background:linear-gradient(180deg,#222838,#1a1e2b);border-bottom:1px solid var(--kolor-obramowanie, #333a4f);font-size:13px;font-weight:700;color:#e2e8f0;display:flex;justify-content:space-between;align-items:center;letter-spacing:.5px;text-transform:uppercase}.symulator-plc-panel-hmi .naglowek-hmi .hmi-status-badge{font-size:10px;padding:2px 6px;border-radius:3px;background:#00d26a26;color:#00d26a;border:1px solid rgba(0,210,106,.3);font-weight:600}.hmi-sekcja{padding:12px 14px;border-bottom:1px solid #232838}.hmi-tytul-sekcji{font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;margin-bottom:10px;display:flex;align-items:center;gap:6px}.hmi-tytul-sekcji:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background-color:var(--kolor-akcent, #00d26a)}.hmi-siatka-przyciskow{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.hmi-pole-sterowania{background:#1c2130;border:1px solid #2d3448;border-radius:6px;padding:8px 6px;display:flex;flex-direction:column;align-items:center;gap:5px;box-shadow:inset 0 1px 2px #0000004d;overflow:hidden;box-sizing:border-box}.hmi-etykieta-przycisku{font-size:11px;font-weight:600;color:#cbd5e1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.hmi-adres-tag{font-size:9px;font-family:var(--czcionka-kod, monospace);color:#64748b;background:#12151f;padding:1px 4px;border-radius:3px;border:1px solid #252b3d}.hmi-przycisk-no{width:44px;height:44px;border-radius:50%;border:3px solid #334155;background:radial-gradient(circle at 35% 35%,#22c55e,#15803d);color:#fff;font-weight:700;font-size:13px;cursor:pointer;box-shadow:0 4px 6px #0006,inset 0 2px 3px #fff6;display:flex;align-items:center;justify-content:center;user-select:none;transition:transform .05s,box-shadow .05s,filter .1s}.hmi-przycisk-no:active,.hmi-przycisk-no.wcisniety{transform:translateY(3px) scale(.96);box-shadow:0 1px 2px #0009,inset 0 2px 4px #00000080;filter:brightness(1.25);border-color:#4ade80}.hmi-przycisk-no.niebieski{background:radial-gradient(circle at 35% 35%,#38bdf8,#0284c7)}.hmi-przycisk-no.niebieski:active,.hmi-przycisk-no.niebieski.wcisniety{border-color:#7dd3fc}.hmi-przelacznik-toggle{width:50px;height:26px;background:#272f44;border:2px solid #3b4562;border-radius:14px;position:relative;cursor:pointer;transition:background-color .2s,border-color .2s}.hmi-przelacznik-toggle .toggle-galka{width:18px;height:18px;background:#e2e8f0;border-radius:50%;position:absolute;top:2px;left:2px;transition:transform .2s,background-color .2s;box-shadow:0 2px 4px #0006}.hmi-przelacznik-toggle.wlaczony{background:#0284c7;border-color:#38bdf8}.hmi-przelacznik-toggle.wlaczony .toggle-galka{transform:translate(24px);background:#fff}.hmi-estop-ramka{width:100%;display:flex;flex-direction:column;align-items:center;background:#2a2516;border:2px dashed #f59e0b;border-radius:8px;padding:10px;gap:8px;margin-top:4px}.hmi-estop-kolnierz{width:60px;height:60px;border-radius:50%;background:radial-gradient(circle,#facc15 65%,#ca8a04);border:3px solid #eab308;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 6px #00000080}.hmi-estop-przycisk{width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#ef4444,#991b1b);border:3px solid #7f1d1d;color:#fff;font-weight:800;font-size:10px;letter-spacing:.5px;cursor:pointer;box-shadow:0 5px 8px #0009,inset 0 2px 3px #fff6;display:flex;align-items:center;justify-content:center;transition:transform .1s,box-shadow .1s,filter .1s;user-select:none}.hmi-estop-przycisk.zaryglowany{transform:translateY(4px) scale(.92);box-shadow:0 1px 3px #000c,inset 0 3px 5px #000000b3;filter:brightness(.8);border-color:#ef4444}.hmi-estop-status{font-size:10px;font-weight:700;color:#22c55e}.hmi-estop-przycisk.zaryglowany+.hmi-estop-status{color:#ef4444}.hmi-siatka-led{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.hmi-lampka-kontener{display:flex;flex-direction:column;align-items:center;gap:4px}.hmi-dioda-led{width:24px;height:24px;border-radius:50%;border:2px solid #334155;background:#1e293b;box-shadow:inset 0 1px 3px #0009;transition:background-color .15s,box-shadow .15s,border-color .15s}.hmi-dioda-led.zielona.aktywna{background:radial-gradient(circle at 35% 35%,#4ade80,#16a34a);border-color:#86efac;box-shadow:0 0 12px #22c55e,inset 0 1px 2px #fffc}.hmi-dioda-led.czerwona.aktywna{background:radial-gradient(circle at 35% 35%,#f87171,#dc2626);border-color:#fca5a5;box-shadow:0 0 12px #ef4444,inset 0 1px 2px #fffc}.hmi-dioda-led.zolta.aktywna{background:radial-gradient(circle at 35% 35%,#fde047,#ca8a04);border-color:#fef08a;box-shadow:0 0 12px #eab308,inset 0 1px 2px #fffc}.hmi-dioda-led.niebieska.aktywna{background:radial-gradient(circle at 35% 35%,#60a5fa,#2563eb);border-color:#93c5fd;box-shadow:0 0 12px #3b82f6,inset 0 1px 2px #fffc}.hmi-etykieta-led{font-size:10px;font-weight:600;color:#94a3b8}.hmi-wyswietlacz-7seg{background:#090b10;border:2px solid #232938;border-radius:6px;padding:8px 12px;display:flex;flex-direction:column;align-items:center;margin-top:10px;box-shadow:inset 0 2px 6px #000c}.hmi-7seg-wartosc{font-family:var(--czcionka-kod, monospace);font-size:26px;font-weight:700;color:#22c55e;letter-spacing:3px;text-shadow:0 0 10px rgba(34,197,94,.6)}.hmi-7seg-podpis{font-size:10px;color:#64748b;margin-top:2px}.hmi-potencjometr-blok{background:#1c2130;border:1px solid #2d3448;border-radius:6px;padding:10px;margin-bottom:8px;display:flex;flex-direction:column;gap:6px}.hmi-pot-naglowek{display:flex;justify-content:space-between;font-size:11px;font-weight:600;color:#cbd5e1}.hmi-pot-odczyt{font-family:var(--czcionka-kod, monospace);color:#38bdf8;font-size:11px}.hmi-suwak-analog{width:100%;-webkit-appearance:none;appearance:none;height:7px;background:#0f121a;border-radius:4px;border:1px solid #273044;outline:none;cursor:pointer;margin:6px 0;box-shadow:inset 0 1px 3px #000000b3;transition:border-color .15s ease}.hmi-suwak-analog:hover{border-color:#3b4764}.hmi-suwak-analog:focus{border-color:#38bdf8;box-shadow:inset 0 1px 3px #000000b3,0 0 5px #38bdf84d}.hmi-suwak-analog::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#38bdf8,#0284c7);border:2px solid #0b0f19;box-shadow:0 2px 5px #0009,0 0 6px #38bdf880;cursor:pointer;transition:transform .1s ease,box-shadow .15s ease,background .15s ease}.hmi-suwak-analog::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 3px 8px #000c,0 0 12px #38bdf8cc;background:radial-gradient(circle at 35% 35%,#7dd3fc,#0284c7)}.hmi-suwak-analog::-webkit-slider-thumb:active{transform:scale(1.1);background:radial-gradient(circle at 35% 35%,#00ea76,#00d26a);box-shadow:0 1px 3px #000000e6,0 0 14px #00d26ae6}.hmi-suwak-analog::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#38bdf8,#0284c7);border:2px solid #0b0f19;box-shadow:0 2px 5px #0009,0 0 6px #38bdf880;cursor:pointer;transition:transform .1s ease,box-shadow .15s ease}.hmi-suwak-analog::-moz-range-thumb:hover{transform:scale(1.2);box-shadow:0 3px 8px #000c,0 0 12px #38bdf8cc}.hmi-suwak-analog::-moz-range-thumb:active{transform:scale(1.1);background:radial-gradient(circle at 35% 35%,#00ea76,#00d26a);box-shadow:0 1px 3px #000000e6,0 0 14px #00d26ae6}.hmi-suwak-analog::-moz-range-progress{background:linear-gradient(90deg,#0284c7,#38bdf8);height:7px;border-radius:4px}.hmi-pot-skala{display:flex;justify-content:space-between;font-size:9px;color:#64748b;font-family:var(--czcionka-kod, monospace)}.hmi-wskaznik-aq-blok{background:#1c2130;border:1px solid #2d3448;border-radius:6px;padding:10px;margin-bottom:8px;display:flex;flex-direction:column;gap:6px}.hmi-aq-pasek-tlo{width:100%;height:12px;background:#0f121a;border:1px solid #273044;border-radius:6px;overflow:hidden;position:relative}.hmi-aq-pasek-wypelnienie{height:100%;width:0%;background:linear-gradient(90deg,#0284c7,#38bdf8);box-shadow:0 0 8px #38bdf880;transition:width .1s linear}#kontener-sterownik-plc{width:100%!important;display:block!important;margin:0!important;padding:0!important;box-sizing:border-box!important;flex-shrink:0!important}.symulator-plc-panel-sterownika{width:100%!important;box-sizing:border-box!important;margin:0!important;background:linear-gradient(180deg,#1e2330,#141722);border-top:2px solid #2c3345;border-bottom:1px solid var(--kolor-obramowanie, #333a4f);padding:8px 16px;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px 16px;flex-wrap:wrap;z-index:6;box-shadow:0 -3px 10px #0000004d}#symulator-plc-panel-sterownika:before{content:"";display:none}#symulator-plc-panel-sterownika>div.plc-sekcja-cpu{order:1;flex:0 0 auto}#symulator-plc-panel-sterownika>#plc-listwa-wejsc{order:2;flex:0 0 auto}#symulator-plc-panel-sterownika>#plc-listwa-wyjsc{order:3;flex:0 0 auto}#symulator-plc-panel-sterownika>div.plc-sekcja-transport-wymuszenia,#symulator-plc-panel-sterownika>div:nth-child(4){order:4;margin-left:auto!important;flex:0 0 auto}.symulator-plc-panel-sterownika.uklad-dwuwierszowy{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:6px 16px!important}.symulator-plc-panel-sterownika.uklad-dwuwierszowy>div.plc-sekcja-cpu{order:1!important;flex:0 0 auto!important;border-right:none!important;padding-right:12px!important}.symulator-plc-panel-sterownika.uklad-dwuwierszowy>div.plc-sekcja-transport-wymuszenia,.symulator-plc-panel-sterownika.uklad-dwuwierszowy>div:nth-child(4){order:2!important;margin-left:auto!important;flex:0 0 auto!important}.symulator-plc-panel-sterownika.uklad-dwuwierszowy:before{content:""!important;display:block!important;width:100%!important;flex-basis:100%!important;height:1px!important;background:#252c3d!important;order:3!important;margin:3px 0!important}.symulator-plc-panel-sterownika.uklad-dwuwierszowy>#plc-listwa-wejsc{order:4!important;flex:0 0 auto!important;margin-right:12px!important}.symulator-plc-panel-sterownika.uklad-dwuwierszowy>#plc-listwa-wyjsc{order:5!important;flex:0 0 auto!important}@media(max-width:850px){.symulator-plc-panel-sterownika{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px}#symulator-plc-panel-sterownika:before{content:"";display:block;width:100%;flex-basis:100%;height:1px;background:#252c3d;order:3;margin:3px 0}#symulator-plc-panel-sterownika>div.plc-sekcja-cpu{order:1;flex:0 0 auto;border-right:none;padding-right:12px}#symulator-plc-panel-sterownika>div.plc-sekcja-transport-wymuszenia,#symulator-plc-panel-sterownika>div:nth-child(4){order:2;margin-left:auto!important;flex:0 0 auto}#symulator-plc-panel-sterownika>#plc-listwa-wejsc{order:4;flex:0 0 auto;margin-right:8px}#symulator-plc-panel-sterownika>#plc-listwa-wyjsc{order:5;flex:0 0 auto}}.symulator-plc-kontener.tryb-programowanie #kontener-sterownik-plc{display:none!important}.symulator-plc-kontener.tryb-symulacja #kontener-sterownik-plc{display:block!important}#symulator-plc-panel-sterownika>div.plc-sekcja-transport-wymuszenia,#symulator-plc-panel-sterownika>div:nth-child(4),.symulator-plc-kontener.tryb-programowanie #symulator-plc-panel-sterownika>div:nth-child(4),.symulator-plc-kontener.tryb-symulacja #symulator-plc-panel-sterownika>div:nth-child(4){display:flex!important;margin-left:auto!important}.symulator-plc-kontener.tryb-programowanie #symulator-plc-panel-sterownika .grupa-wymuszenia,.symulator-plc-kontener.tryb-programowanie #symulator-plc-panel-sterownika .plc-pasek-transportu{display:inline-flex!important}.symulator-plc-kontener.tryb-programowanie #plc-tryb-run,.symulator-plc-kontener.tryb-programowanie #plc-btn-transport-run{opacity:.9!important;cursor:pointer!important}.plc-sekcja-cpu{display:flex;align-items:center;gap:12px;border-right:1px solid #2f374c;padding-right:16px}.plc-obudowa-logo{display:flex;flex-direction:column}.plc-marka-cpu{font-size:13px;font-weight:800;color:#cbd5e1;letter-spacing:1px}.plc-model-cpu{font-size:9px;color:#64748b;font-family:var(--czcionka-kod, monospace)}.plc-diody-cpu{display:flex;gap:8px}.plc-led-cpu-para{display:flex;flex-direction:column;align-items:center;gap:2px}.plc-led-cpu-para span{font-size:8px;font-weight:700;color:#94a3b8}.plc-led-status{width:12px;height:12px;border-radius:50%;background:#262c3e;border:1px solid #3c4662;transition:background-color .15s,box-shadow .15s}.plc-led-status.run.aktywny{background:#22c55e;box-shadow:0 0 8px #22c55e}.plc-led-status.stop.aktywny{background:#eab308;box-shadow:0 0 8px #eab308}.plc-led-status.error.aktywny{background:#ef4444;box-shadow:0 0 8px #ef4444}.plc-przelacznik-trybu{display:flex;background:#0f121a;border:1px solid #2f374c;border-radius:4px;overflow:hidden}.plc-przycisk-trybu{background:transparent;border:none;color:#94a3b8;font-size:10px;font-weight:700;padding:4px 8px;cursor:pointer;transition:background-color .15s,color .15s}.plc-przycisk-trybu:hover{color:#e2e8f0}.plc-przycisk-trybu.aktywny{background:#0284c7;color:#fff}.plc-listwa-io{display:flex;flex-direction:column;gap:4px}.plc-naglowek-listwy{font-size:10px;font-weight:700;color:#94a3b8;display:flex;align-items:center;gap:6px}.plc-punkty-io{display:flex;gap:4px}.plc-punkt-io{display:flex;flex-direction:column;align-items:center;background:#0d1017;border:1px solid #232938;border-radius:3px;padding:2px 4px;min-width:22px}.plc-punkt-io .punkt-numer{font-size:8px;font-family:var(--czcionka-kod, monospace);color:#64748b}.plc-dioda-io{width:8px;height:8px;border-radius:50%;background:#1b212f;border:1px solid #323b52;margin-top:2px;transition:background-color .1s,box-shadow .1s}.plc-dioda-io.aktywna.zielona{background:#22c55e;box-shadow:0 0 6px #22c55e;border-color:#86efac}.plc-dioda-io.aktywna.zolta{background:#eab308;box-shadow:0 0 6px #eab308;border-color:#fef08a}.plc-pasek-transportu{display:flex;align-items:center;gap:6px;margin-left:auto}.przycisk-transportu{background:#252b3b;border:1px solid #3c4662;color:#e2e8f0;border-radius:4px;font-size:11px;font-weight:600;padding:5px 10px;display:flex;align-items:center;gap:5px;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}.przycisk-transportu:hover{background:#333a4f;border-color:#4a5472}.przycisk-transportu.aktywny-run{background:#15803d;border-color:#22c55e;color:#fff;box-shadow:0 0 8px #22c55e66}.przycisk-transportu.aktywny-stop{background:#991b1b;border-color:#ef4444;color:#fff;box-shadow:0 0 8px #ef444466}.przycisk-transportu.aktywny-pauza{background:#854d0e;border-color:#eab308;color:#fff}.plc-metryki-cyklu{display:inline-flex;align-items:center;gap:10px;font-family:var(--czcionka-kod, monospace);font-size:11px;color:#94a3b8;background:#0b0e14;padding:2px 8px;border-radius:4px;border:1px solid #232938}.plc-metryki-cyklu .wartosc-metryki{color:#00d26a;font-weight:700}.sfc-krok.krok-aktywny rect{stroke:#00d26a!important;stroke-width:3.5px!important;filter:drop-shadow(0 0 8px rgba(0,210,106,.8));animation:puls-kroku 1.5s infinite alternate ease-in-out}.sfc-krok.krok-aktywny text{fill:#fff!important;font-weight:800!important}.sfc-tranzycja.tranzycja-spelniona line{stroke:#00d26a!important;stroke-width:4px!important;filter:drop-shadow(0 0 6px #00d26a)}.sfc-tranzycja.tranzycja-spelniona text{fill:#00d26a!important;font-weight:700!important}.sfc-tranzycja-warunek tspan.sfc-zmienna-warunku.sfc-zmienna-aktywna,.sfc-zmienna-warunku.sfc-zmienna-aktywna,tspan.sfc-zmienna-aktywna{fill:#00ea76!important;font-weight:800!important;text-shadow:0 0 6px rgba(0,234,118,.85);filter:drop-shadow(0 0 5px rgba(0,234,118,.95))!important}.sfc-linia-do-tranzycji.linia-aktywna,[data-rodzaj=do-tranzycji].linia-aktywna,path.linia-aktywna,line.linia-aktywna{stroke:#00d26a!important;stroke-width:3.5px!important;filter:drop-shadow(0 0 8px rgba(0,210,106,.85))!important}.ld-kontakt.kontakt-przewodzi path,.ld-kontakt.kontakt-przewodzi line{stroke:#00d26a!important;stroke-width:2.5px!important;filter:drop-shadow(0 0 4px #00d26a)}.ld-cewka.cewka-aktywna circle,.ld-cewka.cewka-aktywna path{stroke:#00d26a!important;stroke-width:2.5px!important;fill:#00d26a33!important;filter:drop-shadow(0 0 6px #00d26a)}.ld-szyna-l1.przewodzi{stroke:#00d26a!important;filter:drop-shadow(0 0 5px #00d26a)}.fbd-polaczenie.polaczenie-aktywne{stroke:#00d26a!important;stroke-width:3px!important;filter:drop-shadow(0 0 5px #00d26a)}.fbd-pin.pin-aktywny{fill:#00d26a!important;stroke:#86efac!important;filter:drop-shadow(0 0 4px #00d26a)}@keyframes puls-kroku{0%{filter:drop-shadow(0 0 4px rgba(0,210,106,.6))}to{filter:drop-shadow(0 0 12px rgba(0,210,106,.95))}}.hmi-przycisk-no.zolty{background:radial-gradient(circle at 35% 35%,#facc15,#ca8a04)}.hmi-przycisk-no.zolty:active,.hmi-przycisk-no.zolty.wcisniety{border-color:#fef08a}.hmi-dioda-led.biala.aktywna{background:radial-gradient(circle at 35% 35%,#fff,#cbd5e1);border-color:#f8fafc;box-shadow:0 0 14px #ffffffe6,inset 0 1px 2px #fff}.sfc-krok.krok-aktywny .sfc-krok-ramka,.sfc-krok.aktywny .sfc-krok-ramka{fill:#00381e!important;stroke:#00ea76!important;stroke-width:3px!important;filter:drop-shadow(0 0 10px rgba(0,234,118,.85))!important;animation:puls-krok-aktywny 1s infinite alternate ease-in-out}@keyframes puls-krok-aktywny{0%{stroke-width:2.5px;filter:drop-shadow(0 0 6px rgba(0,234,118,.6))}to{stroke-width:3.5px;filter:drop-shadow(0 0 14px rgba(0,234,118,.95))}}.sfc-tranzycja.tranzycja-spelniona .sfc-tranzycja-kreska{stroke:#00ea76!important;stroke-width:4.5px!important;filter:drop-shadow(0 0 8px #00ea76)!important}.ld-element-g.kontakt-przewodzi .ld-zestyk-kreska,.ld-element-g.przewodzi .ld-zestyk-kreska,.ld-styk-r-g.kontakt-przewodzi .ld-zestyk-kreska,.ld-styk-r-g.przewodzi .ld-zestyk-kreska{stroke:#00ea76!important;stroke-width:2.8px!important;filter:drop-shadow(0 0 6px rgba(0,234,118,.95))!important}.ld-element-g.kontakt-przewodzi .ld-element-symbol,.ld-element-g.cewka-aktywna .ld-element-symbol,.ld-element-symbol.symbol-aktywny{fill:#00ea76!important;font-weight:800!important;text-shadow:0 0 6px rgba(0,234,118,.85);filter:drop-shadow(0 0 4px rgba(0,234,118,.9))!important}.ld-element-g.cewka-aktywna .ld-cewka-luk,.ld-element-g.aktywna .ld-cewka-luk,.ld-cewka.cewka-aktywna .ld-cewka-luk,.ld-cewka.aktywna .ld-cewka-luk{stroke:#00ea76!important;stroke-width:2.8px!important;filter:drop-shadow(0 0 7px rgba(0,234,118,.95))!important}.ld-element-g.cewka-aktywna text,.ld-element-g.aktywna text,.ld-cewka.cewka-aktywna text,.ld-cewka.aktywna text{fill:#00ea76!important;font-weight:700!important}.ld-blok-wartosc-live{font-family:var(--czcionka-kod, "Consolas", monospace);font-size:8.5px;font-weight:700;fill:#00ea76;filter:drop-shadow(0 0 4px rgba(0,234,118,.85));pointer-events:none}.ld-blok-pin-zmienna.wartosc-aktywna{fill:#00ea76!important;font-weight:700!important;filter:drop-shadow(0 0 4px rgba(0,234,118,.85))!important}.ld-rung-karta.przewodzi{border-color:#00d26a66;box-shadow:0 0 8px #00d26a26}.ld-przewod.przewodzi{stroke:#00ea76!important;stroke-width:2.5px!important;filter:drop-shadow(0 0 5px rgba(0,234,118,.85))!important}.modal-karty-nawigacja{display:flex;gap:4px;padding:0 16px;background:#141722;border-bottom:1px solid var(--kolor-obramowanie, #333a4f)}.modal-karta-tab{padding:8px 16px;font-size:12px;font-weight:600;color:#94a3b8;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s}.modal-karta-tab:hover{color:#cbd5e1}.modal-karta-tab.aktywna{color:var(--kolor-akcent, #00d26a);border-bottom-color:var(--kolor-akcent, #00d26a)}.modal-karta-zawartosc{display:none;padding:16px;max-height:480px;overflow-y:auto}.modal-karta-zawartosc.aktywna{display:block}.pasek-akcji-tabeli{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.wyszukiwarka-symboli{background:#0f121a;border:1px solid #2d3448;color:#f0f3fa;padding:6px 12px;border-radius:4px;font-size:12px;width:220px}.modal-diag-kontener{font-family:var(--czcionka-kod, monospace);font-size:11px}.tabela-rejestrow{width:100%;border-collapse:collapse;margin-bottom:14px}.tabela-rejestrow th,.tabela-rejestrow td{padding:5px 8px;border:1px solid #282f42;text-align:left}.tabela-rejestrow th{background:#1c2230;color:#cbd5e1;font-weight:600}.wartosc-bit-on{color:#00d26a;font-weight:700}.wartosc-bit-off{color:#64748b}.hmi-naglowek-akcje{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}.btn-hmi-narzedzie{padding:3px 7px;font-size:10.5px;font-weight:600;color:#cbd5e1;background:#1e293b;border:1px solid #334155;border-radius:4px;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.btn-hmi-narzedzie:hover{background:#334155;color:#f8fafc;border-color:#475569}.btn-hmi-narzedzie.aktywny-tryb-edycji{background:#f59e0b;color:#0f172a;border-color:#d97706;font-weight:700;box-shadow:0 0 8px #f59e0b66}.btn-akcent-hmi{background:#0284c7;color:#fff;border-color:#0369a1}.btn-akcent-hmi:hover{background:#0369a1}.hmi-pasek-info-edycji{background:#2a2010;border-bottom:1px solid #78350f;padding:6px 12px;font-size:10px;color:#fde68a;line-height:1.4}.hmi-siatka-dynamiczna{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px}.hmi-siatka-analogowa{display:flex;flex-direction:column;gap:8px}.hmi-kafelek-aparatu{position:relative;border-radius:6px;transition:transform .15s,box-shadow .15s}.hmi-kafelek-aparatu.w-trybie-edycji{border:1px dashed #475569;padding:2px;cursor:grab}.hmi-kafelek-aparatu.w-trybie-edycji:hover{border-color:#38bdf8;background:#38bdf80d}.hmi-kafelek-aparatu.przeciagany{opacity:.4}.hmi-kafelek-aparatu.drag-nad{border-color:#22c55e;background:#22c55e26;transform:scale(1.02)}.hmi-kafelek-edycja-bar{display:flex;justify-content:space-between;align-items:center;background:#0f172a;border:1px solid #1e293b;border-radius:4px;padding:2px 6px;margin-bottom:4px;font-size:11px}.hmi-drag-uchwyt{color:#64748b;cursor:grab;user-select:none;font-size:12px}.btn-kafelek-akcja{background:transparent;border:none;color:#94a3b8;cursor:pointer;font-size:11px;padding:2px 4px;border-radius:3px;transition:color .1s,background .1s}.btn-kafelek-akcja:hover{color:#f8fafc;background:#334155}.hmi-przycisk-custom{width:48px;height:48px;min-width:44px;min-height:44px;border-radius:50%;border:3px solid #334155;background:radial-gradient(circle at 35% 35%,var(--kolor-przycisku, #22c55e),#0f172a);color:#fff;font-weight:700;cursor:pointer;box-shadow:0 4px 6px #00000080,inset 0 2px 3px #fff6;display:flex;align-items:center;justify-content:center;user-select:none;transition:transform .05s,box-shadow .05s,filter .1s;box-sizing:border-box!important;padding:0 2px!important;overflow:hidden!important;flex-shrink:0}.hmi-przycisk-custom:active,.hmi-przycisk-custom.wcisniety{transform:translateY(3px) scale(.96);box-shadow:0 1px 2px #000000b3,inset 0 2px 4px #0009;filter:brightness(1.25);border-color:#f8fafc}.btn-rdzen-tekst{text-shadow:0 1px 2px rgba(0,0,0,.9);letter-spacing:.2px;width:100%;max-width:42px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.05;word-break:break-word;overflow-wrap:break-word;box-sizing:border-box;font-size:11px;font-weight:800;pointer-events:none}.btn-rdzen-tekst.tekst-krotki{font-size:12px;font-weight:800;letter-spacing:.5px}.btn-rdzen-tekst.tekst-sredni{font-size:9.5px;font-weight:700;letter-spacing:.2px}.btn-rdzen-tekst.tekst-dlugi{font-size:8px;font-weight:700;line-height:1;letter-spacing:0}.btn-rdzen-tekst.tekst-bardzo-dlugi{font-size:7px;font-weight:700;line-height:.95;letter-spacing:-.2px}.hmi-obrotowy-kontener{cursor:pointer;display:flex;align-items:center;justify-content:center;padding:2px;border-radius:50%;transition:filter .15s;user-select:none}.hmi-obrotowy-kontener:hover{filter:drop-shadow(0 0 6px rgba(56,189,248,.4))}.btn-rot-step{padding:2px 6px;font-size:9px;font-weight:700;background:#1e293b;color:#94a3b8;border:1px solid #334155;border-radius:3px;cursor:pointer;transition:all .15s}.btn-rot-step:hover{color:#f8fafc;background:#334155}.btn-rot-step.aktywny-krok{background:#0284c7;color:#fff;border-color:#38bdf8;box-shadow:0 0 6px #38bdf866}.hmi-status-obrotu{font-size:8px;font-weight:700;color:#94a3b8;text-align:center}.hmi-dioda-led-custom{width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#2a334a,#151a26);border:2px solid #3b4562;box-shadow:inset 0 2px 4px #0009;transition:all .12s ease-out}.hmi-dioda-led-custom.aktywna{background:radial-gradient(circle at 35% 35%,#ffffff 0%,var(--led-kolor, #22c55e) 55%,#052e16 100%);border-color:#fff;box-shadow:0 0 14px var(--led-kolor, #22c55e),inset 0 0 6px #fffc;transform:scale(1.05)}.hmi-tagi-dol{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;margin-top:2px;flex-wrap:wrap}.hmi-typ-zestyku-tag{font-size:8px;font-weight:700;padding:1px 4px;border-radius:2px}.hmi-typ-zestyku-tag.tag-no{background:#22c55e26;color:#4ade80;border:1px solid rgba(34,197,94,.3)}.hmi-typ-zestyku-tag.tag-nc{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.hmi-czujnik-pasek{background:#1c2130;border:1px solid #2d3448;border-radius:6px;padding:8px 12px;display:flex;justify-content:space-between;align-items:center;box-shadow:inset 0 1px 2px #0000004d}.modal-hmi-nakladka{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:16px}.modal-hmi-okno{background:#161a26;border:1px solid #334155;border-radius:8px;width:min(680px,95vw);max-height:94vh;display:flex;flex-direction:column;box-shadow:0 16px 36px #000000bf;overflow:hidden;animation:modal-hmi-pojawienie .18s ease-out}@keyframes modal-hmi-pojawienie{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.modal-hmi-naglowek{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;background:#1e2436;border-bottom:1px solid #334155;font-weight:700;font-size:13px;color:#f8fafc;flex-shrink:0}.btn-zamknij-modal-hmi{background:transparent;border:none;color:#94a3b8;font-size:20px;cursor:pointer;line-height:1}.btn-zamknij-modal-hmi:hover{color:#f8fafc}.modal-hmi-tresc{padding:16px 18px;max-height:calc(94vh - 52px);overflow-y:auto}.form-rzad-dwukolumnowy{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-rzad-dwukolumnowy-nierowny{display:grid;grid-template-columns:1fr 1.35fr;gap:12px}.form-rzad-trzykolumnowy{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.hmi-paleta-wyboru{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px}.hmi-paleta-karta{background:#1c2233;border:1px solid #2d374d;border-radius:6px;padding:10px;cursor:pointer;transition:all .15s;display:flex;flex-direction:column;gap:3px}.hmi-paleta-karta:hover{border-color:#38bdf8;background:#232c42;transform:translateY(-2px);box-shadow:0 4px 12px #38bdf833}.hmi-paleta-karta .paleta-ikona{display:flex;align-items:center;justify-content:center;height:48px;margin-bottom:6px;background:#0f172a;border-radius:6px;border:1px solid rgba(255,255,255,.05);overflow:hidden}.paleta-mini-aparat-svg{display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.45));transition:transform .18s ease}.hmi-paleta-karta:hover .paleta-mini-aparat-svg{transform:scale(1.08)}.hmi-paleta-karta b{font-size:12px;color:#f1f5f9}.hmi-paleta-karta span{font-size:10px;color:#94a3b8}.form-grupa-hmi{margin-bottom:12px}.form-grupa-hmi label{display:block;font-size:11px;font-weight:600;color:#cbd5e1;margin-bottom:4px}.input-hmi,.modal-hmi-okno input[type=text],.modal-hmi-okno input[type=number],.modal-hmi-okno select{width:100%;padding:7px 10px;background:#0f172a!important;border:1px solid #334155!important;border-radius:4px;color:#f8fafc!important;font-size:12px;outline:none;transition:border-color .15s;box-sizing:border-box}.input-hmi:focus,.modal-hmi-okno input[type=text]:focus,.modal-hmi-okno input[type=number]:focus,.modal-hmi-okno select:focus{border-color:#38bdf8!important;background:#172033!important;color:#fff!important}.probka-barwy{width:22px;height:22px;border-radius:4px;cursor:pointer;transition:transform .1s}.probka-barwy:hover{transform:scale(1.15)}.btn-hmi-dialog{padding:7px 14px;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;border:none;transition:all .15s}.btn-hmi-dialog.btn-anuluj{background:#334155;color:#cbd5e1}.btn-hmi-dialog.btn-anuluj:hover{background:#475569;color:#f8fafc}.btn-hmi-dialog.btn-zapisz{background:#0284c7;color:#fff}.btn-hmi-dialog.btn-zapisz:hover{background:#0369a1}#modal-konfiguracja-sprzetu-plc .symulator-plc-modal-okno{height:auto!important;min-height:unset!important;max-height:90vh!important}
