#view-redes.active{align-items:start}
#map-redes{height:440px;background:var(--panel-2)}
#view-redes .result-meta{flex-wrap:wrap;gap:8px}
.redes-intro{margin:0 0 12px}
.redes-supply-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}
.redes-supply-search .btn{margin:0;white-space:nowrap}
.redes-legend{display:grid;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:12px;color:var(--text)}
.redes-swatch{display:inline-block;width:18px;height:5px;margin-right:7px;border-radius:3px;vertical-align:middle}
.redes-mt{background:#e2574c}.redes-bt{background:#4ea6ff}.redes-ap{background:#f2c94c}.redes-ac{background:#b582f5}
.redes-list{display:grid;gap:8px;max-height:320px;overflow:auto;padding-right:2px}
.redes-item{width:100%;display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:10px;align-items:start;padding:11px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);text-align:left;cursor:pointer;font:inherit}
.redes-item:hover{border-color:var(--accent)}
.redes-item-line{width:5px;min-height:42px;border-radius:4px}
.redes-item-main{display:grid;gap:4px;min-width:0}
.redes-item-main b{font-size:13px}
.redes-item-main span{font:11px/1.35 'IBM Plex Mono',monospace;color:var(--muted);overflow-wrap:anywhere}
.redes-type{padding:4px 6px;border:1px solid var(--line);border-radius:5px;color:var(--accent);font:700 10px/1.2 'IBM Plex Mono',monospace;text-transform:uppercase}
.redes-sed-pin,.redes-supply-pin{background:transparent!important;border:0!important}
.redes-sed-pin span,.redes-supply-pin span{display:grid;place-items:center;min-width:38px;height:28px;padding:0 6px;border:2px solid #fff;border-radius:6px;color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.5);font:700 10px/1 'IBM Plex Mono',monospace}
.redes-sed-pin span{background:#39c38a;color:#08291d;font-size:16px}
.redes-supply-pin span{background:#f2c94c;color:#2c2600;font-size:15px}
.redes-selected-shadow{filter:drop-shadow(0 0 4px rgba(0,0,0,.85))}
.redes-selected-line{filter:drop-shadow(0 0 2px rgba(255,255,255,.9))}
.redes-hit-line{cursor:pointer;stroke-linecap:round;stroke-linejoin:round}

.redes-map-shell{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.redes-map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px;padding:7px 9px;border-bottom:1px solid var(--line);background:var(--panel)}
.redes-map-live{display:flex;align-items:center;gap:7px;min-width:0;color:var(--muted);font-size:12px}
.redes-live-dot{width:9px;height:9px;flex:none;border-radius:50%;background:var(--muted);box-shadow:0 0 0 3px color-mix(in srgb,var(--muted) 18%,transparent)}
.redes-map-live.is-live .redes-live-dot{background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 20%,transparent)}
.redes-fullscreen-btn{min-height:34px;padding:7px 11px;border:1px solid var(--accent);border-radius:7px;background:transparent;color:var(--text);font:700 11px/1.2 'IBM Plex Sans',sans-serif;cursor:pointer;white-space:nowrap}
.redes-fullscreen-btn:hover{background:color-mix(in srgb,var(--accent) 13%,transparent)}
.redes-map-info{display:grid;gap:3px;min-height:56px;padding:10px 12px;border-top:1px solid var(--line);background:var(--panel);color:var(--muted);font:11px/1.4 'IBM Plex Mono',monospace}
.redes-map-info b{color:var(--text);font:700 12px/1.35 'IBM Plex Sans',sans-serif}
.redes-map-info span{overflow-wrap:anywhere}

body.redes-map-open{overflow:hidden}
.redes-map-shell.is-fullscreen{position:fixed;inset:0;z-index:3000;display:grid;grid-template-rows:auto minmax(0,1fr) auto;border:0;border-radius:0;background:var(--bg)}
.redes-map-shell.is-fullscreen #map-redes{width:100%;height:100%;border:0;border-radius:0}
.redes-map-shell.is-fullscreen .redes-map-toolbar{padding:max(8px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) 8px max(10px,env(safe-area-inset-left))}
.redes-map-shell.is-fullscreen .redes-map-info{max-height:28vh;overflow:auto;padding:10px max(12px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}

@media(max-width:520px){
  #map-redes{height:330px}
  .redes-item{grid-template-columns:8px minmax(0,1fr)}
  .redes-type{grid-column:2;width:max-content}
  .redes-item-line{min-height:52px}
  .redes-supply-search{grid-template-columns:1fr}
  .redes-supply-search .btn{width:100%}
  .redes-map-toolbar{align-items:stretch;flex-direction:column}
  .redes-map-live{min-height:24px}
  .redes-fullscreen-btn{width:100%}
  .redes-map-shell.is-fullscreen .redes-map-toolbar{align-items:center;flex-direction:row}
  .redes-map-shell.is-fullscreen .redes-fullscreen-btn{width:auto}
}
