/* Dashboard en vivo: mercados (Coinbase) y mapa de distribución en México. */
.lx-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:22px}
.lx-title{font-size:clamp(28px,4vw,46px);line-height:1.04;letter-spacing:-.045em;margin:10px 0 0;max-width:18ch}
.lx-sub{color:var(--ink-2);margin-top:12px;max-width:60ch}
.lx-status{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--stroke);border-radius:999px;padding:8px 14px;font-size:12.5px;font-weight:700;color:var(--ink-2);background:rgba(255,255,255,.04)}
.lx-dot{width:8px;height:8px;border-radius:50%;background:#C9A35C;box-shadow:0 0 0 0 rgba(201,163,92,.6)}
.lx-status[data-state=live] .lx-dot{background:#84CBA0;animation:lxPulse 1.8s infinite}
.lx-status[data-state=poll] .lx-dot{background:#E7C77E}
.lx-status[data-state=off] .lx-dot{background:#e0655e}
@keyframes lxPulse{0%{box-shadow:0 0 0 0 rgba(132,203,160,.55)}70%{box-shadow:0 0 0 9px rgba(132,203,160,0)}100%{box-shadow:0 0 0 0 rgba(132,203,160,0)}}
.lx-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.lx-card{position:relative;overflow:hidden;border:1px solid var(--stroke);border-radius:20px;background:rgba(255,255,255,.04);padding:18px 18px 14px;transition:border-color .35s,background .35s}
.lx-card[data-flash=up]{border-color:rgba(132,203,160,.55);background:rgba(132,203,160,.07)}
.lx-card[data-flash=down]{border-color:rgba(224,101,94,.5);background:rgba(224,101,94,.06)}
.lx-sym{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--ink-3)}
.lx-sym b{color:var(--ink);letter-spacing:.02em;font-size:14px}
.lx-chg{white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:11.5px;font-weight:800;letter-spacing:0;background:rgba(255,255,255,.06)}
.lx-chg.up{color:#9FDDB6;background:rgba(132,203,160,.12)}
.lx-chg.down{color:#F09A93;background:rgba(224,101,94,.12)}
.lx-price{display:block;font-size:clamp(22px,2.3vw,28px);font-weight:750;letter-spacing:-.03em;margin-top:10px;font-variant-numeric:tabular-nums;transition:color .4s}
.lx-card[data-flash=up] .lx-price{color:#BDF0CF}
.lx-card[data-flash=down] .lx-price{color:#FFC2BC}
.lx-mxn{display:block;font-size:12.5px;color:var(--ink-3);font-variant-numeric:tabular-nums;margin-top:2px}
.lx-spark{display:block;width:100%;height:46px;margin-top:10px;overflow:visible}
.lx-spark path.l{fill:none;stroke:#E7C77E;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.lx-spark path.a{fill:url(#lxGrad);opacity:.5}
.lx-spark circle{fill:#E7C77E}
.lx-time{display:block;font-size:11px;color:var(--ink-3);margin-top:6px;font-variant-numeric:tabular-nums}
.lx-note{font-size:12px;color:var(--ink-3);margin-top:14px}
.lx-skel{height:150px;border-radius:20px;background:linear-gradient(100deg,rgba(255,255,255,.03) 30%,rgba(255,255,255,.08) 50%,rgba(255,255,255,.03) 70%) 0 0/300% 100%;animation:lxSkel 1.4s infinite linear}
@keyframes lxSkel{to{background-position:-150% 0}}

/* Mapa */
.lx-map-wrap{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:16px;align-items:stretch}
.lx-map-card{padding:24px;position:relative}
.lx-map-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}
.lx-map-top h2{font-size:clamp(24px,3vw,36px);line-height:1.05;letter-spacing:-.04em;margin:8px 0 0}
.lx-tabs{display:flex;gap:6px;flex-wrap:wrap}
.lx-tab{border:1px solid var(--stroke);background:rgba(255,255,255,.04);color:var(--ink-2);border-radius:999px;padding:8px 13px;font:700 12px var(--fs,inherit);cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.lx-tab[aria-pressed=true]{border-color:rgba(209,171,108,.55);background:rgba(209,171,108,.16);color:#E7C77E}
.lx-map{position:relative;margin-top:14px}
.lx-map svg{display:block;width:100%;height:auto}
.lx-map path{stroke:rgba(231,199,126,.45);stroke-width:.8;vector-effect:non-scaling-stroke;transition:fill .6s,stroke .2s;cursor:pointer;outline:none}
.lx-map path:hover,.lx-map path:focus-visible,.lx-map path.on{stroke:#F0D9A6;stroke-width:1.8}
.lx-ping{fill:#F0D9A6;pointer-events:none;transform-box:fill-box;transform-origin:center;animation:lxPing 1.6s cubic-bezier(.16,1,.3,1) forwards}
@keyframes lxPing{0%{opacity:.95;transform:scale(.4)}100%{opacity:0;transform:scale(4.2)}}
.lx-pin{fill:#FFF3D6;pointer-events:none}
.lx-tip{position:absolute;pointer-events:none;z-index:3;min-width:150px;border:1px solid rgba(209,171,108,.4);border-radius:12px;background:rgba(10,10,12,.94);padding:9px 11px;font-size:12px;color:var(--ink-2);opacity:0;translate:0 6px;transition:opacity .15s,translate .15s}
.lx-tip.on{opacity:1;translate:none}
.lx-tip b{display:block;color:var(--ink);font-size:13px}
.lx-tip em{font-style:normal;color:#E7C77E;font-weight:800}
.lx-legend{display:flex;align-items:center;gap:10px;font-size:11.5px;color:var(--ink-3);margin-top:10px}
.lx-legend i{flex:1;max-width:180px;height:6px;border-radius:99px;background:linear-gradient(90deg,#2a251d,#8a6a33,#D1AB6C,#F0D9A6)}
.lx-rank{padding:22px;display:flex;flex-direction:column;gap:16px}
.lx-rank h3{font-size:15px;margin:0}
.lx-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.lx-kpis div{border:1px solid var(--stroke);border-radius:14px;padding:12px;background:rgba(255,255,255,.03)}
.lx-kpis b{display:block;font-size:22px;font-variant-numeric:tabular-nums;color:#E7C77E;letter-spacing:-.02em}
.lx-kpis span{font-size:11.5px;color:var(--ink-3)}
.lx-top{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.lx-top li{display:grid;grid-template-columns:1fr auto;gap:4px 10px;font-size:13px;align-items:center}
.lx-top li em{font-style:normal;font-variant-numeric:tabular-nums;color:var(--ink-2);font-weight:700}
.lx-top li i{grid-column:1/-1;height:4px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}
.lx-top li i b{display:block;height:100%;width:100%;transform-origin:0 50%;scale:var(--w,0) 1;background:linear-gradient(90deg,#B8923F,#E7C77E);transition:scale .7s cubic-bezier(.16,1,.3,1)}
.lx-feed{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:12.5px;color:var(--ink-2)}
.lx-feed li{display:flex;gap:9px;align-items:baseline;animation:lxIn .45s cubic-bezier(.16,1,.3,1) both}
.lx-feed time{flex:0 0 auto;font-size:11px;color:#E7C77E;font-weight:800;font-variant-numeric:tabular-nums}
@keyframes lxIn{from{opacity:0;translate:0 -6px}to{opacity:1;translate:none}}
.lx-demo{display:inline-block;margin-top:8px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#E7C77E;border:1px solid rgba(209,171,108,.35);border-radius:999px;padding:3px 9px}
@media(max-width:920px){.lx-map-wrap{grid-template-columns:1fr}}
@media(max-width:560px){.lx-name{display:none}.lx-chg{font-size:10.5px;padding:3px 6px}.lx-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.lx-card{padding:14px 12px 10px}.lx-price{font-size:19px}.lx-map-card,.lx-rank{padding:16px}}
@media(prefers-reduced-motion:reduce){.lx-ping,.lx-feed li,.lx-skel,.lx-status .lx-dot{animation:none!important}}
