
/* ── LA RED VIVA MÉXICO ─────────────────────────────────────────────── */
.living-web-dashboard{background:linear-gradient(180deg,#050b16 0%,#071426 48%,#050b16 100%);padding-top:105px;padding-bottom:110px}
.lw-container{max-width:1540px}
.lw-head{text-align:center;max-width:1040px;margin:0 auto 28px}
.lw-head .section-title{font-size:clamp(2.7rem,5vw,5.2rem);margin-bottom:10px}
.lw-lead{font:300 1.08rem/1.65 var(--font-display);color:rgba(250,247,242,.63);max-width:880px;margin:0 auto}
.lw-headline{margin-top:18px;font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(250,247,242,.46)}
.lw-headline b{color:var(--gold);font-weight:500}
.lw-livebar{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:0 auto 18px}
.lw-chip{border:1px solid rgba(201,168,76,.14);background:#07101e;padding:8px 11px;font-size:.5rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(250,247,242,.53)}
.lw-chip strong{color:var(--gold);font-weight:500}
.lw-chip.ok{border-color:rgba(70,169,138,.32)}
.lw-chip.warn{border-color:rgba(218,170,62,.34)}
.lw-chip.off{border-color:rgba(168,178,197,.13);color:rgba(250,247,242,.35)}

.lw-shell{display:grid;grid-template-columns:minmax(245px,.72fr) minmax(540px,1.9fr) minmax(280px,.88fr);gap:12px;align-items:stretch}
.lw-zone{border:1px solid rgba(201,168,76,.12);background:rgba(7,16,30,.88);min-width:0}
.lw-zone-head{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(201,168,76,.1);padding:13px 14px}
.lw-zone-head span,.lw-subhead span{font-size:.46rem;letter-spacing:.25em;color:rgba(250,247,242,.44)}
.lw-zone-head b,.lw-subhead b{font-size:.47rem;letter-spacing:.22em;color:var(--gold);font-weight:500}
.lw-world,.lw-story{padding-bottom:12px}
.lw-item{padding:15px 14px;border-bottom:1px solid rgba(201,168,76,.08)}
.lw-item:last-child{border-bottom:0}
.lw-kicker{font-size:.43rem;letter-spacing:.24em;text-transform:uppercase;color:#73a8d9;margin-bottom:8px}
.lw-item h4{font:300 1rem/1.22 var(--font-display);margin-bottom:6px}
.lw-item p{font-size:.64rem;line-height:1.55;color:rgba(250,247,242,.48)}
.lw-metric{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin:6px 0}
.lw-metric span{font-size:.59rem;color:rgba(250,247,242,.48)}
.lw-metric b{font:300 1.15rem var(--font-display);color:var(--cream)}
.lw-progress{height:3px;background:rgba(250,247,242,.07);margin-top:9px;overflow:hidden}
.lw-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),#7da5d4)}
.lw-mini-list{display:grid;gap:6px;margin-top:9px}
.lw-mini-list div{display:flex;justify-content:space-between;gap:10px;font-size:.54rem;color:rgba(250,247,242,.42)}
.lw-mini-list b{color:rgba(250,247,242,.7);font-weight:500}

.lw-center{display:flex;flex-direction:column;min-height:730px}
.lw-layer-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:12px 12px 0}
.lw-layer-tab{border:1px solid rgba(201,168,76,.13);background:#081224;color:rgba(250,247,242,.43);padding:8px 10px;font-size:.43rem;letter-spacing:.18em;text-transform:uppercase;border-radius:20px}
.lw-layer-tab:hover,.lw-layer-tab.active{color:#07101e;background:var(--gold);border-color:var(--gold)}
.lw-graph-wrap{position:relative;min-height:520px;margin:10px 12px 0;background:
 radial-gradient(circle at 50% 48%,rgba(201,168,76,.06),transparent 34%),
 linear-gradient(180deg,#07101e,#081426);border:1px solid rgba(201,168,76,.1);overflow:hidden}
#lwGraph{width:100%;height:520px;display:block}
.lw-edge{stroke:rgba(130,158,196,.23);stroke-width:1.15}
.lw-edge.rel{stroke:rgba(201,168,76,.58);stroke-width:2}
.lw-edge.hot{stroke:rgba(218,94,87,.54)}
.lw-edge.dim{stroke:rgba(130,158,196,.10)}
.lw-node{cursor:pointer}
.lw-node circle{fill:#0d203a;stroke:rgba(201,168,76,.35);stroke-width:2;transition:.25s}
.lw-node:hover circle,.lw-node.active circle{stroke:var(--gold);stroke-width:3;filter:drop-shadow(0 0 8px rgba(201,168,76,.25))}
.lw-node.disabled circle{stroke:rgba(170,180,195,.18)}
.lw-node text{font-size:12px;fill:rgba(250,247,242,.78);font-family:Georgia,serif;text-anchor:middle;pointer-events:none}
.lw-node .sub{font-size:8px;fill:rgba(201,168,76,.68);font-family:Arial,sans-serif;letter-spacing:.08em}
.lw-node image{pointer-events:none}
.lw-graph-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:40px;font-size:.7rem;line-height:1.7;color:rgba(250,247,242,.42)}

.lw-selected{margin:10px 12px 12px;border:1px solid rgba(201,168,76,.1);background:#07101e;padding:14px}
.lw-person-card{display:grid;grid-template-columns:84px 1fr auto;gap:14px;align-items:center}
.lw-person-card img{width:84px;height:84px;object-fit:cover;border:1px solid rgba(201,168,76,.14)}
.lw-person-card .ey{font-size:.43rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:4px}
.lw-person-card h4{font:300 1.35rem/1.05 var(--font-display);margin-bottom:5px}
.lw-person-card p{font-size:.61rem;line-height:1.45;color:rgba(250,247,242,.5)}
.lw-person-stats{display:grid;grid-template-columns:repeat(2,minmax(72px,1fr));gap:1px;background:rgba(201,168,76,.08)}
.lw-person-stat{background:#09152a;padding:9px 10px;min-width:86px}
.lw-person-stat b{display:block;font:300 1rem var(--font-display);color:var(--cream)}
.lw-person-stat span{font-size:.4rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(250,247,242,.35)}

.lw-rung{position:relative;padding:13px 14px 18px;border-bottom:1px solid rgba(201,168,76,.08)}
.lw-rung:after{content:"↓";position:absolute;left:50%;bottom:-8px;color:rgba(201,168,76,.26);font-size:.65rem}
.lw-rung:last-child:after{display:none}
.lw-rk{font-size:.43rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.lw-rv{font:300 .82rem/1.45 var(--font-display);color:rgba(250,247,242,.72)}
.lw-rv.dim{font-family:Arial,sans-serif;font-style:italic;font-size:.62rem;color:rgba(250,247,242,.37)}
.lw-route-pills{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}
.lw-route-pills span{border:1px solid rgba(201,168,76,.12);padding:5px 6px;font-size:.41rem;letter-spacing:.1em;color:rgba(250,247,242,.48)}
.lw-status-card{margin:12px;border:1px solid rgba(201,168,76,.12);padding:13px;background:rgba(201,168,76,.025)}
.lw-status-card b{display:block;font-size:.47rem;letter-spacing:.18em;color:var(--gold);margin-bottom:6px}
.lw-status-card p{font-size:.58rem;line-height:1.5;color:rgba(250,247,242,.43)}

.lw-subgrid{display:grid;grid-template-columns:1.15fr .9fr .95fr;gap:12px;margin-top:12px}
.lw-subpanel{border:1px solid rgba(201,168,76,.12);background:#07101e;min-height:210px}
.lw-subhead{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid rgba(201,168,76,.09);padding:12px 14px}
.lw-source-cloud{display:flex;gap:6px;flex-wrap:wrap;padding:14px}
.lw-source-pill{border:1px solid rgba(201,168,76,.12);padding:7px 9px;font-size:.46rem;letter-spacing:.08em;color:rgba(250,247,242,.54)}
.lw-source-pill strong{color:var(--gold);font-weight:500}
.lw-source-pill.held{opacity:.35}
.lw-bridge{padding:14px}
.lw-bridge-hero{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}
.lw-bridge-hero b{font:300 2rem var(--font-display);color:var(--cream)}
.lw-bridge-hero span{font-size:.48rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold)}
.lw-bridge p{font-size:.61rem;line-height:1.55;color:rgba(250,247,242,.45)}
.lw-bridge-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(201,168,76,.08);margin-top:12px}
.lw-bridge-grid div{background:#09152a;padding:9px 10px}
.lw-bridge-grid b{display:block;font:300 1rem var(--font-display)}
.lw-bridge-grid span{font-size:.42rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(250,247,242,.35)}
.lw-law{margin-top:12px;padding:13px 15px;border-left:2px solid var(--gold);background:rgba(201,168,76,.035);font-size:.56rem;line-height:1.55;color:rgba(250,247,242,.43)}

@media(max-width:1200px){
 .lw-shell{grid-template-columns:1fr 1.8fr}.lw-story{grid-column:1/-1}.lw-story #lwStoryPath{display:grid;grid-template-columns:repeat(3,1fr)}
 .lw-subgrid{grid-template-columns:1fr 1fr}.lw-subpanel:last-child{grid-column:1/-1}
}
@media(max-width:850px){
 .living-web-dashboard{padding-top:80px}
 .lw-shell{grid-template-columns:1fr}.lw-world{order:2}.lw-center{order:1}.lw-story{order:3}
 .lw-center{min-height:0}.lw-graph-wrap{min-height:430px}#lwGraph{height:430px}
 .lw-story #lwStoryPath{display:block}
 .lw-subgrid{grid-template-columns:1fr}.lw-subpanel:last-child{grid-column:auto}
 .lw-person-card{grid-template-columns:70px 1fr}.lw-person-card img{width:70px;height:70px}.lw-person-stats{grid-column:1/-1}
}
@media(max-width:560px){
 .lw-head{text-align:left}.lw-livebar{justify-content:flex-start}
 .lw-layer-tabs{overflow:auto;flex-wrap:nowrap}.lw-layer-tab{white-space:nowrap}
 .lw-graph-wrap{min-height:360px;margin:8px 0 0}#lwGraph{height:360px}
 .lw-selected{margin:8px 0 0}.lw-zone{border-left:0;border-right:0}
 .lw-subgrid{margin-left:-24px;margin-right:-24px}
}

.lw-edge.brief{stroke:rgba(111,159,209,.24);stroke-width:1.05;stroke-dasharray:3 4}
.lw-observation-ladder{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:6px;padding:14px;border-bottom:1px solid rgba(201,168,76,.08)}
.lw-observation-ladder div{background:#09152a;padding:10px;text-align:center;min-width:0}.lw-observation-ladder b{display:block;font:300 1.25rem var(--font-display);color:var(--cream)}.lw-observation-ladder span{font-size:.4rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(250,247,242,.34)}.lw-observation-ladder i{font-style:normal;color:rgba(201,168,76,.35)}
@media(max-width:700px){.lw-observation-ladder{grid-template-columns:1fr 1fr}.lw-observation-ladder i{display:none}}
.lw-history-blocker{margin-top:12px;border-left:2px solid #d2a33c;background:rgba(210,163,60,.055);padding:10px 12px}.lw-history-blocker b{display:block;font-size:.45rem;letter-spacing:.17em;color:#d2a33c;margin-bottom:5px}.lw-history-blocker p{font-size:.58rem;line-height:1.5;color:rgba(250,247,242,.46)}
.lw-upstream-bridge{margin:0 14px 4px;padding:11px 12px;border:1px solid rgba(210,163,60,.18);background:rgba(210,163,60,.04)}.lw-upstream-bridge b{display:block;font-size:.45rem;letter-spacing:.16em;color:#d2a33c;margin-bottom:5px}.lw-upstream-bridge span{font-size:.62rem;color:rgba(250,247,242,.68)}.lw-upstream-bridge p{font-size:.54rem;line-height:1.45;color:rgba(250,247,242,.38);margin-top:5px}
