/* ---------- diseno.css · rediseño v1.47 · "BullGreen Aurora" ----------
   Capa visual nueva (se carga DESPUES de app.css y tema.css). Ideas, con apoyo en buenas practicas de plataformas de trading actuales:
   · oscuro primero, con contraste alto (WCAG AA) y profundidad por elevacion: superficies que se aclaran + sombras teñidas, no negro puro
   · verde = ganancia, rojo = perdida, SIEMPRE acompañados de una flecha (▲ ▼) para que no dependan solo del color
   · movimiento con funcion: puntos que laten cuando algo esta vivo, cifras que se animan al cambiar, entrada escalonada al cambiar de pantalla; todo se apaga con «reducir movimiento»
   · cifras con numeros tabulares (no bailan al cambiar), tarjetas con aire, jerarquia clara: lo importante grande, lo secundario apagado */

html[data-tema="oscuro"]{
  --fondo:#0a1020;--fondo2:#0e1629;--tarjeta:#111a2e;--tarjeta2:#17223a;--linea:rgba(148,163,184,.16);--linea2:rgba(148,163,184,.28);--borde:rgba(148,163,184,.16);
  --txt:#e9eefc;--txt2:#94a3c1;--txt3:#64748b;--ac2:#38bdf8;--ac3:#a78bfa;--ok:#34d399;--ko:#fb7185;--aviso:#fbbf24;
  --lima:#a3e635;--verde:#34d399;--rojo:#fb7185;--negro:#070c18;--gris:#111a2e;--blanco:#0a1020;--mal:#fb7185;
  --marca:linear-gradient(135deg,#a3e635 0%,#34d399 55%,#22d3ee 100%);
  --sombra:0 1px 0 rgba(255,255,255,.05) inset,0 14px 34px -16px rgba(2,6,23,.85);
  --sombra-alta:0 1px 0 rgba(255,255,255,.07) inset,0 22px 50px -18px rgba(2,6,23,.95);
  --radio:16px;--ease:cubic-bezier(.2,.7,.2,1);
}
html[data-tema="oscuro"] body{background:radial-gradient(1100px 560px at 6% -12%,rgba(163,230,53,.085),transparent 62%),radial-gradient(900px 520px at 100% -6%,rgba(56,189,248,.10),transparent 58%),radial-gradient(800px 600px at 60% 120%,rgba(167,139,250,.07),transparent 60%),#060a15;background-attachment:fixed;color:var(--txt)}
html[data-tema="oscuro"] .app{background:transparent}
html[data-tema="oscuro"] .centro{background:transparent;padding:22px 28px 40px;gap:16px}
html[data-tema="oscuro"] ::selection{background:rgba(56,189,248,.35)}
.kpi .v,.tbl td,.tbl th,.num,.bc-saldo,.bc-delta,.tk b,.estado .s,.sel-px,.precio,.cifra{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
:focus-visible{outline:2px solid var(--ac2);outline-offset:2px;border-radius:8px}

/* ---------- menu lateral ---------- */
html[data-tema="oscuro"] .sb{background:linear-gradient(180deg,rgba(17,26,46,.96),rgba(10,16,32,.96));border-right:1px solid var(--linea)}
@media (min-width:761px){html[data-tema="oscuro"] .sb{position:relative}}          /* en el celular el menu va fijo abajo (un position:relative aqui lo dejaba arriba, tapando el contenido) */
.sb-cab{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:2px 0 10px}
.sb-cab .logo{margin:0;flex:1;min-width:0;cursor:pointer}
.sb-colapsar{flex:none;width:30px;height:30px;border-radius:10px;border:1px solid var(--linea);background:rgba(255,255,255,.04);color:var(--txt2);cursor:pointer;display:grid;place-items:center;padding:0;transition:background .2s,color .2s,transform .35s var(--ease)}
.sb-colapsar:hover{background:rgba(56,189,248,.14);color:var(--ac2);border-color:rgba(56,189,248,.45)}
.sb-colapsar svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
body:not(.sb-ancho) .sb-colapsar svg{transform:rotate(180deg)}
@media (min-width:761px){
  body:not(.sb-ancho) .sb-cab{flex-direction:column;gap:10px}
  body:not(.sb-ancho) .sb .logo .solo-toro{max-width:38px}
  html[data-tema="oscuro"] .item{border-radius:12px;transition:background .2s,color .2s,transform .2s var(--ease)}
  html[data-tema="oscuro"] .item:hover{transform:translateX(2px)}
  html[data-tema="oscuro"] body:not(.sb-ancho) .item:hover{transform:none}
  html[data-tema="oscuro"] .item.on,html[data-tema="oscuro"] .item.abierto{background:linear-gradient(90deg,rgba(163,230,53,.16),rgba(56,189,248,.06));box-shadow:inset 3px 0 0 var(--lima),0 6px 18px -10px rgba(163,230,53,.45)}
  body.sb-ancho .sb .logo img.completo{max-width:132px}
}
html[data-tema="oscuro"] .estado{background:rgba(255,255,255,.035);border:1px solid var(--linea);border-radius:14px;padding:10px 12px}
html[data-tema="oscuro"] #estado-colector{display:none}
html[data-tema="oscuro"] #estado-mt5 .t{font-size:12px;display:flex;align-items:center;gap:6px}
html[data-tema="oscuro"] #estado-mt5 .s{font-size:11.5px;line-height:1.35}
html[data-tema="oscuro"] .item[data-n]:not([data-n=""])::after{background:var(--marca);color:#04210f;font-weight:700}
@media (max-width:760px){.sb-cab{display:none}}

/* ---------- barra de arriba (grande) ---------- */
html[data-tema="oscuro"] .barra-cuenta{height:64px;padding:0 20px;background:linear-gradient(180deg,#0d1424,#0a1020);border-bottom:1px solid var(--linea);box-shadow:0 10px 30px -18px rgba(0,0,0,.9);gap:16px;overflow:visible;position:relative;z-index:50;cursor:default}
.barra-cuenta .bc-izq{display:flex;align-items:center;gap:12px;min-width:0}
.bc-cuenta{display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:210px;padding:7px 16px 7px 14px;border:1px solid var(--linea);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));color:var(--txt);cursor:pointer;white-space:nowrap;position:relative;transition:border-color .2s,transform .25s var(--ease),box-shadow .25s;box-shadow:var(--sombra)}
.bc-cuenta:hover{border-color:rgba(56,189,248,.55);transform:translateY(-1px)}
.bc-cuenta.real{border-color:rgba(251,113,133,.45);background:linear-gradient(180deg,rgba(251,113,133,.10),rgba(251,113,133,.02))}
.bc-cuenta.real:hover{border-color:rgba(251,113,133,.85)}
.bc-top{display:flex;align-items:center;gap:7px;font-size:11px;line-height:1.2}
.bc-top b{letter-spacing:.12em;font-size:11px;font-weight:800}
.bc-cuenta.real .bc-top b{color:#ff9aa9}
.bc-sub{color:var(--txt2);font-size:11.5px;overflow:hidden;text-overflow:ellipsis}
.bc-num{display:flex;align-items:baseline;gap:10px}
.bc-saldo{font-size:19px;font-weight:700;letter-spacing:-.01em;color:var(--txt)}
.bc-delta{font-size:13px;font-weight:700}
.bc-delta.pos-t::before{content:"▲ ";font-size:.7em}.bc-delta.neg-t::before{content:"▼ ";font-size:.7em}
.barra-cuenta .punto{width:9px;height:9px;margin:0;flex:none}
.barra-cuenta .punto.ok{background:var(--ok);animation:latido 2.2s infinite}
.barra-cuenta .punto.aviso{background:var(--aviso)}.barra-cuenta .punto.error{background:var(--ko);animation:latido-rojo 1.6s infinite}
.barra-cuenta .bc-der{display:flex;align-items:center;gap:10px;color:var(--txt)}
.bc-sesiones{display:flex;gap:6px;align-items:center;margin-right:6px}
.bc-ses{display:flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;border:1px solid var(--linea);font-size:11.5px;color:var(--txt2);background:rgba(255,255,255,.03)}
.bc-ses i{width:7px;height:7px;border-radius:50%;background:var(--txt3)}
.bc-ses.abierta{color:var(--txt)}.bc-ses.abierta i{background:var(--ok);box-shadow:0 0 8px var(--ok)}
html[data-tema="oscuro"] .bc-btn{height:38px;padding:0 16px;border-radius:12px;font-size:12.5px;font-weight:600;background:rgba(255,255,255,.05);border:1px solid var(--linea);color:var(--txt);margin:0;transition:background .2s,border-color .2s,transform .15s}
html[data-tema="oscuro"] .bc-btn:hover{background:rgba(255,255,255,.1);border-color:var(--linea2)}
html[data-tema="oscuro"] .bc-btn:active{transform:scale(.97)}
html[data-tema="oscuro"] .bc-btn.peligro{color:#ff9aa9;border-color:rgba(251,113,133,.4);background:rgba(251,113,133,.06)}
html[data-tema="oscuro"] .bc-btn.reanudar{background:var(--marca);color:#052e1a;border-color:transparent}
.bc-btn.campana{position:relative;width:42px;padding:0;display:grid;place-items:center;font-size:17px}
.bc-btn.campana svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.bc-n{position:absolute;top:-6px;right:-6px;min-width:19px;height:19px;border-radius:10px;background:var(--marca);color:#04210f;font-size:10.5px;font-weight:800;line-height:19px;text-align:center;box-shadow:0 4px 12px -2px rgba(52,211,153,.7);animation:pop .35s var(--ease)}
@media (max-width:1280px){.bc-sesiones{display:none}}
@media (max-width:1100px){.bc-sub{display:none}.bc-cuenta{min-width:0}}
@media (max-width:900px){html[data-tema="oscuro"] .barra-cuenta{height:56px;padding:0 10px;gap:8px}.bc-btn.peligro{display:none}.bc-saldo{font-size:16px}.bc-delta{font-size:12px}.bc-cuenta{padding:5px 10px}}
/* celular: las dos cuentas ocupan una fila entera (mitad y mitad) y debajo van la campana y «Pausar demo»; la barra se queda fija arriba y el menu fijo abajo */
@media (max-width:760px){
  html[data-tema="oscuro"] .barra-cuenta{height:auto;flex-wrap:wrap;padding:8px 10px;gap:8px;position:sticky;top:0;z-index:55}
  .barra-cuenta .bc-izq{flex:1 1 100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
  .bc-cuenta{min-width:0;padding:6px 10px;border-radius:12px}
  .bc-num{flex-wrap:wrap;gap:0 8px}.bc-saldo{font-size:15px}.bc-delta{font-size:11.5px}.bc-top{font-size:10.5px}
  .barra-cuenta .bc-der{flex:1 1 100%;justify-content:flex-end;gap:8px}
  html[data-tema="oscuro"] .bc-btn{height:34px;padding:0 12px;font-size:12px}
  html[data-tema="oscuro"] .sb{position:fixed;left:0;right:0;bottom:0;top:auto;border-right:0;border-top:1px solid var(--linea);background:rgba(10,16,32,.97);z-index:40}
  html[data-tema="oscuro"] .sb nav{width:100%}
  html[data-tema="oscuro"] .sb nav .item{flex:1 1 0;min-width:0;padding:10px 2px;justify-content:center}          /* los 7 botones caben en 375 px (antes «Más» quedaba cortado) */
  .marca-agua{display:none}
}

/* ---------- encabezado de cada pantalla ---------- */
html[data-tema="oscuro"] .hero-ic{background:var(--marca);border:0;width:40px;height:40px;border-radius:13px;box-shadow:0 10px 24px -10px rgba(52,211,153,.75)}
html[data-tema="oscuro"] .hero-ic svg{stroke:#052e1a;width:20px;height:20px;stroke-width:2.1}
html[data-tema="oscuro"] .hero-t .resumen-h,html[data-tema="oscuro"] .resumen-h{font-size:24px;font-weight:750;letter-spacing:-.02em;background:linear-gradient(90deg,#fff,#b9c7e6);-webkit-background-clip:text;background-clip:text;color:transparent}
html[data-tema="oscuro"] .hero-s{font-size:13.5px;color:var(--txt2)}
.hero-chip{border-radius:999px}

/* ---------- tarjetas, cifras, tablas ---------- */
html[data-tema="oscuro"] .tarjeta,html[data-tema="oscuro"] .kpi,html[data-tema="oscuro"] .estr-t,html[data-tema="oscuro"] details.tarjeta.plegable,html[data-tema="oscuro"] .banda{
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.012)),var(--tarjeta) !important;border:1px solid var(--linea);border-top:1px solid rgba(255,255,255,.09);border-radius:var(--radio);box-shadow:var(--sombra);overflow-x:auto}
html[data-tema="oscuro"] .banda{background:linear-gradient(135deg,rgba(56,189,248,.12),rgba(167,139,250,.07)) !important;border-color:rgba(56,189,248,.25)}
html[data-tema="oscuro"] .tarjeta{padding:18px 20px}
html[data-tema="oscuro"] .kpi{padding:16px 18px;transition:transform .3s var(--ease),border-color .2s,box-shadow .3s;position:relative;overflow:hidden}
html[data-tema="oscuro"] .kpi:hover{transform:translateY(-2px);border-color:rgba(56,189,248,.4);box-shadow:var(--sombra-alta)}
html[data-tema="oscuro"] .kpi::after{content:"";position:absolute;right:-30px;top:-30px;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,rgba(56,189,248,.14),transparent 70%);pointer-events:none}
html[data-tema="oscuro"] .kpi.lima::after{background:radial-gradient(circle,rgba(163,230,53,.18),transparent 70%)}
html[data-tema="oscuro"] .kpi .sub:first-child{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--txt2)}
html[data-tema="oscuro"] .kpi .v{font-size:28px;font-weight:750;letter-spacing:-.025em;line-height:1.15;margin:4px 0 2px}
html[data-tema="oscuro"] .kpi.lima{border-top:1px solid rgba(163,230,53,.55);background:linear-gradient(180deg,rgba(163,230,53,.10),rgba(163,230,53,.01)),var(--tarjeta) !important}
.kpi .v.pos-t::before,.num.pos-t::before,.cifra.pos-t::before{content:"▲ ";font-size:.55em;vertical-align:.22em;opacity:.9}
.kpi .v.neg-t::before,.num.neg-t::before,.cifra.neg-t::before{content:"▼ ";font-size:.55em;vertical-align:.22em;opacity:.9}
.tbl .num.pos-t::before,.tbl .num.neg-t::before{font-size:.7em;vertical-align:.05em}
html[data-tema="oscuro"] .tbl thead th{font-size:11px;letter-spacing:.08em;color:var(--txt3);padding:10px 12px;border-bottom:1px solid var(--linea2)}
html[data-tema="oscuro"] .tbl td{padding:10px 12px;border-bottom:1px solid rgba(148,163,184,.08)}
html[data-tema="oscuro"] .tbl tbody tr:last-child td{border-bottom:0}
html[data-tema="oscuro"] .tbl tbody tr{transition:background .2s}
html[data-tema="oscuro"] .tbl tbody tr:hover{background:rgba(56,189,248,.06)}
.tbl td,.tbl th{white-space:nowrap}.tbl td.sub{white-space:normal}
.tbl .num,td.num,th.num{text-align:right}
html[data-tema="oscuro"] .insignia,html[data-tema="oscuro"] .veredicto{border-radius:999px;font-weight:650;letter-spacing:.02em}
html[data-tema="oscuro"] .barra-prog,html[data-tema="oscuro"] .gp-barra{height:7px;border-radius:99px;background:rgba(148,163,184,.16)}
html[data-tema="oscuro"] .barra-prog i{background:linear-gradient(90deg,var(--ac2),var(--ac3));border-radius:99px;transition:width .8s var(--ease)}
html[data-tema="oscuro"] .gp-barra i.g{background:linear-gradient(90deg,#10b981,var(--ok))}html[data-tema="oscuro"] .gp-barra i.p{background:linear-gradient(90deg,var(--ko),#f43f5e)}

/* ---------- botones, filtros, campos ---------- */
html[data-tema="oscuro"] .pill{background:var(--marca);color:#052e1a;font-weight:700;border-radius:12px;box-shadow:0 10px 22px -12px rgba(52,211,153,.9);transition:transform .15s,filter .2s,box-shadow .2s}
html[data-tema="oscuro"] .pill:hover{filter:brightness(1.06);box-shadow:0 14px 28px -12px rgba(52,211,153,.95)}
html[data-tema="oscuro"] .pill:active{transform:scale(.97)}
html[data-tema="oscuro"] .pill.peq{background:rgba(255,255,255,.045);color:var(--txt);border:1px solid var(--linea);box-shadow:none;font-weight:600}
html[data-tema="oscuro"] .pill.peq:hover{border-color:rgba(56,189,248,.55);color:var(--ac2);background:rgba(56,189,248,.08)}
html[data-tema="oscuro"] .chip{background:rgba(255,255,255,.04);border:1px solid var(--linea);border-radius:11px;color:var(--txt2);padding:7px 14px;font-size:13px;font-weight:550;transition:all .2s}
html[data-tema="oscuro"] .chip:hover{border-color:var(--linea2);color:var(--txt)}
html[data-tema="oscuro"] .chip.on{background:rgba(56,189,248,.14);border-color:rgba(56,189,248,.6);color:#bae6fd}
html[data-tema="oscuro"] .pestanas{gap:6px}
html[data-tema="oscuro"] .pestanas button{border-radius:11px;background:rgba(255,255,255,.04);border:1px solid var(--linea);color:var(--txt2);padding:8px 16px;font-weight:600;transition:all .2s}
html[data-tema="oscuro"] .pestanas button.on{background:linear-gradient(135deg,rgba(56,189,248,.2),rgba(167,139,250,.14));border-color:rgba(56,189,248,.55);color:#e0f2fe}
html[data-tema="oscuro"] select,html[data-tema="oscuro"] input[type=text],html[data-tema="oscuro"] input[type=number],html[data-tema="oscuro"] input[type=search],html[data-tema="oscuro"] input[type=date]{background:rgba(255,255,255,.05);color:var(--txt);border:1px solid var(--linea);border-radius:10px;padding:7px 10px;transition:border-color .2s,box-shadow .2s}
html[data-tema="oscuro"] select:focus,html[data-tema="oscuro"] input:focus{border-color:var(--ac2);box-shadow:0 0 0 3px rgba(56,189,248,.18);outline:none}
html[data-tema="oscuro"] .pill-check{background:rgba(255,255,255,.04);border:1px solid var(--linea);border-radius:11px;transition:all .2s}
html[data-tema="oscuro"] .pill-check:hover{border-color:var(--linea2)}
html[data-tema="oscuro"] .pill-check:has(input:checked){background:rgba(56,189,248,.12);border-color:rgba(56,189,248,.5)}
html[data-tema="oscuro"] .interruptor input:checked+span{background:linear-gradient(135deg,#34d399,#22d3ee)}
.vacio{border:1px dashed var(--linea2);border-radius:14px;text-align:center;padding:26px 14px;background:rgba(255,255,255,.02)}

/* ---------- estrategias: filas ---------- */
html[data-tema="oscuro"] .est-fila{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01)),var(--tarjeta);border:1px solid var(--linea);border-radius:14px;padding:13px 18px;box-shadow:var(--sombra);transition:transform .3s var(--ease),border-color .2s,box-shadow .3s}
html[data-tema="oscuro"] .est-fila:hover{transform:translateY(-2px);border-color:rgba(56,189,248,.5);box-shadow:var(--sombra-alta)}

/* ---------- senales ---------- */
html[data-tema="oscuro"] .senal{border-radius:14px;box-shadow:var(--sombra);border:1px solid var(--linea);border-left-width:4px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01)),var(--tarjeta);transition:transform .3s var(--ease),box-shadow .3s}
html[data-tema="oscuro"] .senal:hover{transform:translateY(-1px);box-shadow:var(--sombra-alta)}
html[data-tema="oscuro"] .accion.largo{background:linear-gradient(135deg,#34d399,#10b981);color:#04251a}html[data-tema="oscuro"] .accion.corto{background:linear-gradient(135deg,#fb7185,#f43f5e);color:#2b0610}

/* ---------- precios de la franja y lista de instrumentos ---------- */
html[data-tema="oscuro"] .tk{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015)),var(--tarjeta);border:1px solid var(--linea);border-radius:14px;box-shadow:var(--sombra);transition:transform .3s var(--ease),border-color .2s}
html[data-tema="oscuro"] .tk:hover{transform:translateY(-2px);border-color:rgba(56,189,248,.5)}
html[data-tema="oscuro"] .der{background:linear-gradient(180deg,rgba(17,26,46,.96),rgba(10,16,32,.96))}
html[data-tema="oscuro"] .fila:hover{background:rgba(56,189,248,.07)}

/* ---------- avisos emergentes y centro de notificaciones ---------- */
html[data-tema="oscuro"] .toast{background:rgba(17,26,46,.96);border:1px solid var(--linea2);color:var(--txt);box-shadow:var(--sombra-alta);backdrop-filter:blur(10px);border-radius:14px;padding:12px 20px;font-weight:550}
html[data-tema="oscuro"] .notif{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015)),#111a2e;border:1px solid var(--linea2);border-left:5px solid var(--ac2);border-radius:14px;box-shadow:var(--sombra-alta);backdrop-filter:blur(10px)}
html[data-tema="oscuro"] .centro-notifs{top:70px;right:16px;background:rgba(14,22,41,.97);border:1px solid var(--linea2);border-radius:16px;box-shadow:var(--sombra-alta);backdrop-filter:blur(14px);animation:aparece .25s var(--ease)}
.centro-notifs .cn-it{border-top:1px solid var(--linea);border-radius:10px;padding:9px 8px}.centro-notifs .cn-it.nueva{background:rgba(56,189,248,.08)}
html[data-tema="oscuro"] .mas-pop{background:rgba(14,22,41,.97);border:1px solid var(--linea2);border-radius:16px;box-shadow:var(--sombra-alta);backdrop-filter:blur(14px);animation:aparece .2s var(--ease)}

/* ---------- ayuda en linea: pasa el mouse (o toca) la «i» ---------- */
.ayuda{display:inline-grid;place-items:center;width:15px;height:15px;margin-left:5px;border-radius:50%;background:rgba(148,163,184,.2);color:var(--txt2);font-size:10px;font-weight:700;font-style:normal;cursor:help;position:relative;vertical-align:middle;text-transform:none;letter-spacing:0}
.ayuda:hover,.ayuda:focus{background:rgba(56,189,248,.3);color:#e0f2fe;outline:none}
.ayuda::after{content:attr(data-ayuda);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%) translateY(4px);width:max-content;max-width:260px;padding:9px 12px;border-radius:11px;background:#1b2745;color:#e9eefc;border:1px solid var(--linea2);font-size:12px;font-weight:450;line-height:1.45;text-align:left;box-shadow:var(--sombra-alta);opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;z-index:90;white-space:normal}
.ayuda:hover::after,.ayuda:focus::after{opacity:1;transform:translateX(-50%) translateY(0)}

/* ---------- animaciones ---------- */
@keyframes aparece{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes latido{0%,100%{box-shadow:0 0 0 0 rgba(52,211,153,.55)}70%{box-shadow:0 0 0 7px rgba(52,211,153,0)}}
@keyframes latido-rojo{0%,100%{box-shadow:0 0 0 0 rgba(251,113,133,.6)}70%{box-shadow:0 0 0 7px rgba(251,113,133,0)}}
@keyframes brilla{to{background-position:200% 0}}
@keyframes dibuja{from{stroke-dashoffset:var(--largo,600)}to{stroke-dashoffset:0}}
@keyframes sube-flash{0%{background:rgba(52,211,153,.35)}100%{background:transparent}}
@keyframes baja-flash{0%{background:rgba(251,113,133,.35)}100%{background:transparent}}
.entrando>*{animation:aparece .5s var(--ease) both}
.entrando>*:nth-child(2){animation-delay:.04s}.entrando>*:nth-child(3){animation-delay:.08s}.entrando>*:nth-child(4){animation-delay:.12s}.entrando>*:nth-child(5){animation-delay:.16s}.entrando>*:nth-child(6){animation-delay:.2s}.entrando>*:nth-child(n+7){animation-delay:.24s}
.flash-sube{animation:sube-flash .9s ease-out;border-radius:6px}.flash-baja{animation:baja-flash .9s ease-out;border-radius:6px}
.esqueleto{border-radius:12px;background:linear-gradient(100deg,rgba(255,255,255,.04) 30%,rgba(255,255,255,.1) 50%,rgba(255,255,255,.04) 70%);background-size:200% 100%;animation:brilla 1.4s linear infinite;min-height:70px}
.esq-fila{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.sim-t th.actual,.sim-t td.actual{background:rgba(56,189,248,.10)}
.sim-t td:first-child{white-space:normal;min-width:200px;line-height:1.35}
@media (max-width:760px){          /* selectores largos a proposito: las reglas generales de las tablas (relleno, mayusculas, sin saltos de linea) pesan mas */
  html[data-tema="oscuro"] .tbl.sim-t td:first-child{min-width:96px;max-width:108px;font-size:12px}
  html[data-tema="oscuro"] .tbl.sim-t td,html[data-tema="oscuro"] .tbl.sim-t thead th{padding:7px 4px;font-size:12.5px}
  html[data-tema="oscuro"] .tbl.sim-t thead th{white-space:normal;letter-spacing:0;font-size:11px;line-height:1.2}
  .tbl.sim-t th .sub{display:block}
}
@media (max-width:520px){.sim-t .opc{display:none}}          /* en el celular se oculta la columna de 5 % para que quepan las demas sin desplazar */
.sim .conclusion{margin-top:10px;padding:11px 14px;border-radius:12px;background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.32);font-size:13.5px;line-height:1.5}
.cal-lista{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}
.cal{display:flex;gap:11px;align-items:flex-start;padding:12px 14px;border-radius:14px;border:1px solid var(--linea2);background:rgba(255,255,255,.03)}
.cal .cal-i{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700}
.cal.ok .cal-i{background:rgba(52,211,153,.16);color:var(--ok)}
.cal.mal{border-color:rgba(251,113,133,.55);background:rgba(251,113,133,.08)}
.cal.mal .cal-i{background:rgba(251,113,133,.2);color:var(--ko)}
.cal .sub{margin-top:2px;line-height:1.4}
.curva path.linea{stroke-dasharray:var(--largo,600);animation:dibuja 1.1s var(--ease) both}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}}

/* ---------- por si algo desborda: nunca numeros montados ---------- */
.hoy-grid>*,.hoy-col>*,.kpis>*{min-width:0}

/* ---------- panel Hoy: tarjetas de cuenta, ideas, mercados, top ---------- */
.hoy-sub{margin:-8px 0 2px;font-size:13px}
.cuentas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media (max-width:1000px){.cuentas{grid-template-columns:minmax(0,1fr)}}
.cuenta-card{position:relative;overflow:hidden;padding:18px 20px 16px;border-radius:var(--radio);border:1px solid var(--linea);border-top:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.012)),var(--tarjeta);box-shadow:var(--sombra);display:flex;flex-direction:column;gap:10px}
.cuenta-card::before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:3px;background:linear-gradient(90deg,var(--ac2),var(--ac3))}
.cuenta-card.real::before{background:linear-gradient(90deg,#fb7185,#f59e0b)}
.cuenta-card.real{border-color:rgba(251,113,133,.32)}
.cuenta-card.vacia{justify-content:center;min-height:200px}
.cc-cab{display:flex;align-items:center;gap:10px}.cc-etq{font-weight:800;letter-spacing:.14em;font-size:12px;color:var(--txt2)}.cuenta-card.real .cc-etq{color:#ff9aa9}
.cc-ver{margin-left:auto;font-size:12.5px;text-decoration:none}.cc-ver:hover{text-decoration:underline}
.cc-grande{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.cc-grande .cifra{font-size:38px;font-weight:800;letter-spacing:-.03em;line-height:1.05}
.cc-grande small{font-size:14px;color:var(--txt2);font-weight:600}
.cc-delta{margin-left:10px;font-size:17px;font-weight:700;display:inline-flex;align-items:baseline;gap:6px}.cc-delta em{font-style:normal;font-size:12px;font-weight:500;color:var(--txt2)}
.cc-delta.pos-t .cifra::before{content:"▲ ";font-size:.6em}.cc-delta.neg-t .cifra::before{content:"▼ ";font-size:.6em}
.cc-delta .cifra{font-size:inherit;font-weight:inherit;letter-spacing:0}.cc-grande>.cifra::before{content:none !important}
.cc-curva{min-height:96px}.curva{display:block;width:100%;height:auto;overflow:visible}.curva-base{stroke:rgba(148,163,184,.4);stroke-dasharray:4 4;stroke-width:1}
.curva-vacia{display:grid;place-items:center;min-height:96px;color:var(--txt3);font-size:12.5px;text-align:center;border:1px dashed var(--linea);border-radius:12px;padding:8px}
.cc-curva-t{font-size:11.5px;margin-top:2px}
.cc-mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-top:12px;border-top:1px solid var(--linea)}
.cc-mini>div{display:flex;flex-direction:column;gap:3px;min-width:0}.cc-mini>div>.sub:first-child{font-size:11.5px;letter-spacing:.03em;color:var(--txt2)}
.cc-mini b{font-size:19px;letter-spacing:-.01em}.cc-mini .barra-prog{margin-top:4px}
.lado{display:inline-block;padding:2px 9px;border-radius:999px;font-size:10.5px;font-weight:800;letter-spacing:.06em}
.lado.c{background:rgba(52,211,153,.16);color:var(--ok)}.lado.v{background:rgba(251,113,133,.16);color:var(--ko)}
.ideas{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.idea{display:flex;gap:11px;align-items:flex-start;padding:11px 14px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid var(--linea);border-left:4px solid var(--txt3);font-size:13.5px;line-height:1.5}
.idea i{flex:none;width:22px;height:22px;margin-top:1px}.idea i svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.idea.alerta{border-left-color:var(--ko);background:rgba(251,113,133,.07)}.idea.alerta i{color:var(--ko)}
.idea.aviso{border-left-color:var(--aviso);background:rgba(251,191,36,.06)}.idea.aviso i{color:var(--aviso)}
.idea.bien{border-left-color:var(--ok);background:rgba(52,211,153,.06)}.idea.bien i{color:var(--ok)}
.idea.info{border-left-color:var(--ac2)}.idea.info i{color:var(--ac2)}
.idea .enlace{cursor:pointer;white-space:nowrap;margin-left:4px}
.mercados{display:flex;flex-direction:column;gap:12px}.mk-grupo h4{margin:0 0 6px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--txt3);font-weight:700}
.mk-fila{display:flex;flex-wrap:wrap;gap:6px}
.mk{display:flex;flex-direction:column;gap:1px;min-width:92px;padding:8px 11px;border-radius:11px;cursor:pointer;border:1px solid rgba(255,255,255,.06);transition:transform .25s var(--ease),border-color .2s;text-decoration:none;color:var(--txt)}
.mk:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.35)}.mk b{font-size:12.5px;letter-spacing:.02em}.mk span{font-size:11.5px;font-weight:650;font-variant-numeric:tabular-nums}.mk.cerrado{color:var(--txt3)}
.top-est{display:flex;flex-direction:column;gap:8px}
.te{display:grid;grid-template-columns:28px minmax(0,1fr) 90px auto;gap:12px;align-items:center;padding:9px 12px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid var(--linea);cursor:pointer;transition:border-color .2s,transform .25s var(--ease)}
.te:hover{border-color:rgba(56,189,248,.55);transform:translateX(2px)}
.te-n{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--marca);color:#04210f;font-weight:800;font-size:12.5px}
.te-t{display:flex;flex-direction:column;min-width:0}.te-t b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.te-t .sub{font-size:11.5px}
.te-c .curva{max-height:34px}.te-r{font-size:15px;white-space:nowrap}

/* ---------- ranking de estrategias ---------- */
.podio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:900px){.podio{grid-template-columns:minmax(0,1fr)}}
.podio-c{position:relative;display:flex;flex-direction:column;gap:4px;padding:16px 18px;border-radius:var(--radio);border:1px solid var(--linea);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.012)),var(--tarjeta);box-shadow:var(--sombra);cursor:pointer;overflow:hidden;transition:transform .3s var(--ease),border-color .2s,box-shadow .3s}
.podio-c:hover{transform:translateY(-3px);box-shadow:var(--sombra-alta)}
.podio-c.p1{border-color:rgba(163,230,53,.55)}.podio-c.p2{border-color:rgba(56,189,248,.5)}.podio-c.p3{border-color:rgba(167,139,250,.5)}
.podio-c::before{content:"";position:absolute;inset:0 0 auto 0;height:3px}.p1::before{background:#a3e635}.p2::before{background:#38bdf8}.p3::before{background:#a78bfa}
.pd-n{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#04210f;background:var(--marca)}.p2 .pd-n{background:#38bdf8}.p3 .pd-n{background:#a78bfa}
.pd-t{font-size:16px;margin-top:4px}.pd-r{font-size:32px;font-weight:800;letter-spacing:-.03em;line-height:1.1}.pd-r.pos-t::before,.pd-r.neg-t::before{content:none}
.pd-c{margin:4px 0}.podio-c .veredicto{align-self:flex-start}
.leyenda-rank{display:flex;gap:16px;flex-wrap:wrap;margin-top:6px;font-size:12.5px;color:var(--txt2)}.leyenda-rank i{display:inline-block;width:18px;height:4px;border-radius:2px;margin-right:6px;vertical-align:middle}
.curva.multi{overflow:visible}.eje{fill:var(--txt3);font-size:11px}
.bar-h{display:flex;flex-direction:column;gap:7px}.bh-f{display:grid;grid-template-columns:96px minmax(0,1fr) 74px 58px;gap:10px;align-items:center;font-size:13px}
.bh-n{font-weight:650;white-space:nowrap}.bh-c{height:9px;border-radius:99px;background:rgba(148,163,184,.14);overflow:hidden}.bh-c i{display:block;height:100%;border-radius:99px;transition:width .8s var(--ease)}
.bh-c i.pos{background:linear-gradient(90deg,#10b981,var(--ok))}.bh-c i.neg{background:linear-gradient(90deg,var(--ko),#f43f5e)}.bh-f b{text-align:right;white-space:nowrap}

.ficha-est{display:grid;grid-template-columns:minmax(0,290px) minmax(0,1fr);gap:22px;align-items:center}
@media (max-width:900px){.ficha-est{grid-template-columns:minmax(0,1fr)}}
.fe-r{font-size:40px;font-weight:800;letter-spacing:-.03em;line-height:1.1;margin:2px 0}.fe-r.pos-t::before,.fe-r.neg-t::before{content:none}.fe-m{margin:8px 0 0;line-height:1.5}
.fe-mini{display:flex;gap:18px;flex-wrap:wrap;margin-top:8px;font-size:12.5px;color:var(--txt2)}.fe-mini b{color:var(--txt);font-size:15px;margin-right:2px}

/* ---------- escala de la señal: stop · entrada · objetivo ---------- */
.escala{position:relative;height:46px;margin:8px 8px 0}
.esc-barra{position:absolute;left:0;right:0;top:20px;height:8px;border-radius:99px;background:linear-gradient(90deg,var(--ko) 0%,#fbbf24 50%,var(--ok) 100%);opacity:.8}
.esc-m{position:absolute;top:14px;width:2px;height:20px;margin-left:-1px;background:#e9eefc;border-radius:2px;font-style:normal}
.esc-m em{position:absolute;top:-17px;left:50%;transform:translateX(-50%);font-size:11px;font-style:normal;color:var(--txt2);white-space:nowrap}
.esc-m.ahora{top:15px;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:var(--ac2);border:2px solid #fff;box-shadow:0 0 0 4px rgba(56,189,248,.28);animation:latido 2s infinite}
.esc-m.ahora em{top:auto;bottom:-18px;color:var(--txt)}.esc-m.ahora.pos em{color:var(--ok)}.esc-m.ahora.neg em{color:var(--ko)}
.esc-e{position:absolute;top:32px;font-size:11px;color:var(--txt3)}.esc-e.izq{left:0}.esc-e.der{right:0}

.eje.nota{fill:var(--txt2);font-style:italic}

/* ---------- ajustes finos ---------- */
.kpi .v .cifra::before{content:none !important}
.kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.kpi .sub:last-child{font-size:12px}

/* ---------- pantalla Real: aviso fijo arriba (siempre a la vista; los errores se quedan hasta cerrarlos), controles bloqueados y «cambios sin guardar» ---------- */
.aviso-real{position:fixed;left:50%;transform:translateX(-50%);z-index:80;display:flex;gap:10px;align-items:flex-start;width:max-content;max-width:min(620px,calc(100vw - 24px));padding:12px 12px 12px 16px;border-radius:14px;font-size:14px;font-weight:550;line-height:1.4;background:#fff;color:#111;border:1.5px solid #2f9e44;box-shadow:0 18px 40px -16px rgba(2,6,23,.55)}
.aviso-real[hidden]{display:none}
.aviso-real.mal{border-color:#e03131}
.aviso-real.ok::before{content:"✔";color:#2f9e44}
.aviso-real.mal::before{content:"⚠";color:#e03131}
.aviso-real button{margin-left:auto;background:none;border:0;color:inherit;font-size:16px;line-height:1;cursor:pointer;opacity:.7;padding:2px 4px}
html[data-tema="oscuro"] .aviso-real{background:rgba(17,26,46,.98);color:#e9eefc;border-color:#34d399;box-shadow:0 18px 40px -16px rgba(2,6,23,.95)}
html[data-tema="oscuro"] .aviso-real.mal{border-color:#fb7185;background:rgba(48,20,32,.98)}
html[data-tema="oscuro"] .aviso-real.ok::before{color:#34d399}
html[data-tema="oscuro"] .aviso-real.mal::before{color:#fb7185}
.pill[disabled],.cua-in[disabled]{opacity:.45;cursor:not-allowed}
[data-real-libro][disabled]+span{opacity:.45}
.sucio-real{color:#d9480f;font-weight:650;font-size:13px;margin-left:8px}
html[data-tema="oscuro"] .sucio-real{color:#fbbf24}
