/* O-NET – stránka stavu siete ([onet_mapa]) v štýle onet.sk: tmavé pozadie, zelená O-NET, Space Grotesk / Inter (načíta téma webu). */
.onet-mapa{--om-bg:#13161C;--om-card:#1A1E26;--om-line:rgba(188,188,188,.15);--om-text:#F4F6F5;--om-muted:#9AA3A0;--om-green:#009F58;--om-ok:#2BD47D;--om-bad:#FF5A4E;--om-plan:#F5B83D;
  color:var(--om-text);font-family:Inter,system-ui,sans-serif;font-size:15px;line-height:1.6;max-width:1180px;margin:0 auto;padding:24px 0 40px}
.onet-mapa *{box-sizing:border-box}
.om-hero{display:flex;gap:20px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;margin-bottom:28px}
.om-eyebrow{font:600 13px Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--om-green)}
.onet-mapa .om-h1{font:700 clamp(30px,4.6vw,52px)/1.1 "Space Grotesk",sans-serif;margin:8px 0 12px;letter-spacing:-.02em;color:var(--om-text);text-wrap:balance}
.om-lead{color:var(--om-muted);font-size:17px;max-width:620px;margin:0}
.om-badge{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:999px;font-weight:600;border:1px solid var(--om-line)}
.om-badge.ok{background:rgba(43,212,125,.1);border-color:rgba(43,212,125,.35);color:#C9F5DC}
.om-badge.bad{background:rgba(255,90,78,.1);border-color:rgba(255,90,78,.35);color:#FFD9D5}
.om-badge.plan{background:rgba(245,184,61,.1);border-color:rgba(245,184,61,.35);color:#FBE7BD}
.om-dot{width:10px;height:10px;border-radius:50%;background:currentColor}
.om-badge.bad .om-dot{background:var(--om-bad);animation:om-p 1.8s infinite}
@keyframes om-p{0%{box-shadow:0 0 0 0 rgba(255,90,78,.6)}70%{box-shadow:0 0 0 10px rgba(255,90,78,0)}100%{box-shadow:0 0 0 0 rgba(255,90,78,0)}}
.om-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(290px,1fr);gap:20px;align-items:start}
.om-card{background:linear-gradient(180deg,#1B2028,#161A21);border:1px solid var(--om-line);border-radius:22px;padding:18px;box-shadow:0 20px 50px rgba(0,0,0,.35)}
.om-map{position:relative;border-radius:16px;overflow:hidden;background:radial-gradient(120% 90% at 50% 20%,#1A2029 0%,#0E1115 70%)}
.om-map svg{display:block;width:100%;height:auto}
.om-map .riv{fill:none;stroke:#1E4560;stroke-width:calc(7px * var(--k,1));stroke-linecap:round;stroke-linejoin:round;opacity:.85}
.om-map .tb{fill:rgba(255,255,255,.02);stroke:rgba(255,255,255,.22);stroke-width:calc(1px * var(--k,1));stroke-dasharray:3 5}
.om-map .st{fill:none;stroke:rgba(255,255,255,.13);stroke-width:calc(1px * var(--k,1));stroke-linecap:round}
.om-map .mj{fill:none;stroke:rgba(255,255,255,.28);stroke-width:calc(2px * var(--k,1));stroke-linecap:round}
.om-map .cs{fill:none;stroke:var(--om-ok);stroke-width:calc(2.4px * var(--k,1));stroke-linecap:round;stroke-linejoin:round;filter:url(#omGl);cursor:pointer;transition:stroke-width .2s}
.om-map .cs.hov,.om-map .cs.sel{stroke-width:calc(4.5px * var(--k,1));stroke:#7CF0B0}
.om-map .cs.plan{stroke:var(--om-plan)}
.om-map .cs.bad{stroke:var(--om-bad);filter:url(#omGr);animation:om-b 1.6s ease-in-out infinite}
@keyframes om-b{50%{opacity:.45}}
.om-map .vd{cursor:pointer}
.om-map .vs{fill:none;stroke:var(--om-ok);stroke-width:calc(1.8px * var(--k,1));stroke-linecap:round;stroke-linejoin:round;filter:url(#omGl);transition:stroke-width .2s}
.om-map .vd.plan .vs,.om-map .vs.plan{stroke:var(--om-plan)}
.om-map .vd.bad .vs,.om-map .vs.bad{stroke:var(--om-bad);filter:url(#omGr);animation:om-b 1.6s ease-in-out infinite}
.om-map .vd:hover .vs{stroke-width:calc(3px * var(--k,1))}.om-map .vd circle{fill:var(--om-ok);stroke:#0E1115;stroke-width:calc(2px * var(--k,1))}
.om-map .vd.bad circle{fill:var(--om-bad)}.om-map .vd.plan circle{fill:var(--om-plan)}
.om-map .lbl{font:600 var(--fs,13px) Inter,sans-serif;fill:#fff;paint-order:stroke;stroke:rgba(0,0,0,.5);stroke-width:var(--sw,3px);pointer-events:none}
.om-map:not(.all) .lbl.tn{display:none}
.om-seg{position:absolute;top:12px;left:12px;display:flex;background:rgba(14,17,21,.75);backdrop-filter:blur(10px);border:1px solid var(--om-line);border-radius:999px;padding:3px}
.onet-mapa .om-seg button{background:none;border:none;color:var(--om-muted);font:600 12px Inter,sans-serif;padding:6px 12px;border-radius:999px;cursor:pointer;margin:0}
.onet-mapa .om-seg button.on{background:#fff;color:#13161C}
.om-attr{position:absolute;right:12px;bottom:8px;font-size:10px;color:#5d6764}
.om-tip{position:absolute;display:none;pointer-events:none;background:#1A1E26;border:1px solid var(--om-line);border-radius:8px;padding:3px 8px;font:600 12px Inter,sans-serif;color:#fff;white-space:nowrap}
.om-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;font-size:13px;color:var(--om-muted)}
.om-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.om-legend i.ok{background:var(--om-ok)}.om-legend i.bad{background:var(--om-bad)}.om-legend i.plan{background:var(--om-plan)}
.om-lbl{display:block;font:600 16px "Space Grotesk",sans-serif;margin-bottom:8px}
.onet-mapa .om-srch{width:100%;background:#12151B;border:1px solid var(--om-line);border-radius:12px;color:var(--om-text);padding:12px 14px;font:15px Inter,sans-serif;margin:0 0 8px}
.onet-mapa .om-srch:focus{outline:none;border-color:var(--om-green)}
.om-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid transparent;cursor:pointer;margin-bottom:8px;transition:.2s}
.om-row:hover,.om-row.sel{border-color:var(--om-line);background:rgba(255,255,255,.06)}
.om-row b{font-weight:600}.om-row small{display:block;color:var(--om-muted);font-size:12px}
.om-pill{font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;white-space:nowrap}
.om-pill.ok{color:var(--om-ok);background:rgba(43,212,125,.12)}.om-pill.bad{color:#FF8A80;background:rgba(255,90,78,.14)}.om-pill.plan{color:var(--om-plan);background:rgba(245,184,61,.14)}
.om-det{margin-top:12px;padding:14px 16px;border-radius:16px;background:rgba(0,159,88,.08);border:1px solid rgba(0,159,88,.25)}
.om-det b{display:block;font:600 16px "Space Grotesk",sans-serif;margin-bottom:2px}.om-det p{margin:0;color:#CFD8D4;font-size:14px}
.om-upd{margin-top:14px;font-size:12px;color:var(--om-muted)}
.om-none{color:var(--om-muted);font-size:14px;margin:4px 2px 10px}
@media(max-width:900px){.om-grid{grid-template-columns:minmax(0,1fr)}}
