.wm-app{--wm-bg:rgba(255,255,255,.04);--wm-bd:rgba(255,255,255,.12)}
.wm-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 12px}
.wm-toolbar .grp{display:flex;flex-wrap:wrap;gap:6px;align-items:center;background:var(--wm-bg);border:1px solid var(--wm-bd);border-radius:14px;padding:6px 10px;font-size:.88rem}
.wm-toolbar label{display:inline-flex;gap:5px;align-items:center;cursor:pointer;white-space:nowrap}
.wm-toolbar button,.wm-toolbar select{background:rgba(140,90,255,.18);color:#fff;border:1px solid rgba(160,120,255,.4);border-radius:10px;padding:6px 10px;font:inherit;cursor:pointer}
.wm-toolbar button.on{background:linear-gradient(135deg,#8b5cf6,#c026d3)}
.wm-toolbar input[type=range]{width:110px;accent-color:#a855f7}
.wm-dot{display:inline-block;width:10px;height:10px;border-radius:50%}
.wm-mapwrap{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--wm-bd)}
#wm-map{height:min(68vh,620px);min-height:380px;background:#0b0b14}
.wm-mapwrap.fs #wm-map,.wm-mapwrap:fullscreen #wm-map{height:100vh}
.wm-mapwrap.fs{position:fixed;inset:0;z-index:9999;border-radius:0}
.wm-legend{position:absolute;bottom:10px;inset-inline-start:10px;z-index:500;background:rgba(10,8,20,.82);border-radius:12px;padding:8px 10px;font-size:.78rem;line-height:1.7;pointer-events:none}
.wm-updated{position:absolute;top:10px;right:10px;left:auto;z-index:500;background:rgba(10,8,20,.82);border-radius:12px;padding:6px 10px;font-size:.8rem}
.wm-live{display:inline-block;width:8px;height:8px;border-radius:50%;background:#22c55e;margin-inline-end:6px;animation:wmblink 1.4s infinite}
@keyframes wmblink{50%{opacity:.25}}
.wm-ticker{overflow:hidden;white-space:nowrap;background:linear-gradient(90deg,rgba(192,38,211,.18),rgba(139,92,246,.18));border:1px solid var(--wm-bd);border-radius:14px;margin:0 0 12px;padding:9px 0;position:relative}
.wm-ticker .track{display:inline-block;padding-inline-start:100%;animation:wmtick 90s linear infinite}
.wm-ticker:hover .track{animation-play-state:paused}
.wm-ticker a{color:#fff;text-decoration:none;margin:0 22px;cursor:pointer;font-size:.9rem}
.wm-ticker a b{color:#f0abfc}
@keyframes wmtick{to{transform:translateX(-100%)}}
html[dir=rtl] .wm-ticker .track{animation-name:wmtickr}
@keyframes wmtickr{to{transform:translateX(100%)}}
.wm-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0}
.wm-kpi{background:var(--wm-bg);border:1px solid var(--wm-bd);border-radius:16px;padding:12px 14px}
.wm-kpi b{display:block;font-size:1.7rem;line-height:1.2;color:#e9d5ff;font-variant-numeric:tabular-nums}
.wm-kpi small{opacity:.75}
.wm-feeds{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0;font-size:.78rem}
.wm-feeds span{border-radius:999px;padding:3px 9px;background:rgba(255,255,255,.06)}
.wm-feeds .ok::before{content:"● ";color:#22c55e}.wm-feeds .bad::before{content:"● ";color:#ef4444}.wm-feeds .wait::before{content:"● ";color:#eab308}
.wm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:16px}
.wm-panel{background:var(--wm-bg);border:1px solid var(--wm-bd);border-radius:18px;padding:16px}
.wm-panel h2{font-size:1.08rem;margin:0 0 8px}
.wm-list{list-style:none;margin:0;padding:0;max-height:380px;overflow:auto}
.wm-list li{padding:8px 6px;border-bottom:1px solid rgba(255,255,255,.08);font-size:.9rem;cursor:pointer;border-radius:8px}
.wm-list li:hover,.wm-list li:focus{background:rgba(140,90,255,.15);outline:none}
.wm-list b{color:#d8b4fe}
.wm-err{color:#fca5a5}
.wm-src a{color:#c9a7ff}
/* pulsing markers */
.wm-pin{background:none;border:none}
.wm-pin i{position:absolute;left:50%;top:50%;width:var(--s);height:var(--s);margin:calc(var(--s)/-2) 0 0 calc(var(--s)/-2);border-radius:50%;background:var(--c);box-shadow:0 0 calc(var(--s)/1.5) var(--c);opacity:.95}
.wm-pin i::before,.wm-pin i::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--c);animation:wmripple var(--d) ease-out infinite;opacity:var(--o)}
.wm-pin i::after{animation-delay:calc(var(--d)/2)}
@keyframes wmripple{0%{transform:scale(1);opacity:var(--o)}100%{transform:scale(var(--r));opacity:0}}
.wm-pin.new i{animation:wmcore 1.2s ease-in-out infinite}
@keyframes wmcore{50%{filter:brightness(1.6)}}
.wm-wx{background:rgba(10,8,20,.85);border:1px solid rgba(255,255,255,.25);border-radius:10px;color:#fff;font-size:11px;padding:2px 6px;white-space:nowrap;text-align:center}
@media (prefers-reduced-motion:reduce){.wm-pin i::before,.wm-pin i::after,.wm-ticker .track,.wm-pin.new i{animation:none}}
.leaflet-popup-content{min-width:220px;max-width:300px;font-size:13px;line-height:1.5}
.wm-pop h4{margin:0 0 4px;font-size:14px}
.wm-pop img{width:100%;border-radius:8px;margin:6px 0;display:block;background:#111;min-height:60px}
.wm-pop figcaption{font-size:11px;opacity:.7}
.wm-pop a{color:#7c3aed}
.wm-pop .wm-loading{font-size:11px;opacity:.7}
@media(max-width:720px){#wm-map{height:58vh;min-height:320px}.wm-toolbar{gap:6px}.wm-toolbar .grp{padding:5px 8px;font-size:.8rem}.wm-legend{display:none}.wm-kpi b{font-size:1.35rem}}
.wm-pop{color:#1a1a2e;direction:inherit}

@media(max-width:720px){.wm-updated{top:auto;bottom:22px;right:6px;font-size:.68rem;padding:4px 8px}}
