/* Phinvio: tema oscuro por defecto, claro con [data-tema="claro"] */
:root{
  --bg:#0a0d13;--bg2:#0f131b;--panel:#131824;--panel2:#1a2030;--linea:#1e2533;--linea2:#2a3346;
  --texto:#e7eaf0;--suave:#8a93a8;--tenue:#5d667a;--acento:#f5c542;--acento2:#ffd86b;--acentoTxt:#15120a;
  --verde:#1fc97a;--rojo:#f0434f;--azul:#4f8cff;
  --sombra:0 18px 50px rgba(0,0,0,.55);--radio:10px;
  --barra:48px;--izq:44px;--der:300px;
  font-synthesis:none;
}
[data-tema="claro"]{
  --bg:#ffffff;--bg2:#f7f8fa;--panel:#ffffff;--panel2:#f1f3f7;--linea:#e6e9ef;--linea2:#d7dce5;
  --texto:#131722;--suave:#4f586b;--tenue:#6b7385;--acento:#e0a800;--acento2:#f5c542;--acentoTxt:#1a1400;
  --sombra:0 18px 50px rgba(20,30,50,.18);
  --gfondo1:#ffffff;--gfondo2:#ffffff;--rejilla:rgba(19,23,34,.06);--rejillaV:transparent;--vsube:#089981;--vbaja:#f23645;--vhueca:0;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;background:var(--bg);color:var(--texto);font:13px/1.35 "Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;overflow:hidden;-webkit-font-smoothing:antialiased}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input,select{font:inherit;color:inherit}
.num{font-variant-numeric:tabular-nums}
svg.ic{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ---------- estructura ---------- */
#app{position:fixed;inset:0;display:grid;grid-template-columns:var(--izq) 1fr var(--der);grid-template-rows:var(--barra) 1fr auto;grid-template-areas:"top top top" "izq centro der" "izq abajo der"}
#app.sin-der{grid-template-columns:var(--izq) 1fr 0}
#app.sin-der #der{border-left:0}
.izq-plegar{margin-top:auto;color:var(--tenue)}
.izq-pestana{position:absolute;left:0;top:50%;transform:translateY(-50%);z-index:8;width:16px;height:44px;display:grid;place-items:center;padding:0;border-radius:0 8px 8px 0;background:var(--panel2);border:1px solid var(--linea2);border-left:0;color:var(--suave);opacity:.8}
.izq-pestana[hidden]{display:none}
.izq-pestana:hover{opacity:1;color:var(--texto)}
.izq-pestana svg{width:14px;height:14px}
@media (min-width:901px){#app.sin-izq{grid-template-columns:0 minmax(0,1fr) var(--der)}#app.sin-izq.sin-der{grid-template-columns:0 minmax(0,1fr) 0}#app.sin-izq #izq{visibility:hidden;border:0;padding:0}}
@media (max-width:900px){.izq-pestana{display:none}.izq-plegar{display:none}}
#top{grid-area:top;display:flex;align-items:center;gap:4px;padding:0 8px;background:var(--bg2);border-bottom:1px solid var(--linea);min-width:0}
#izq{grid-area:izq;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;background:var(--bg2);border-right:1px solid var(--linea);overflow-y:auto;scrollbar-width:none}
#centro{grid-area:centro;position:relative;min-width:0;min-height:0}
#der{grid-area:der;background:var(--bg2);border-left:1px solid var(--linea);display:flex;flex-direction:column;min-height:0;overflow:hidden}
#abajo{grid-area:abajo;background:var(--bg2);border-top:1px solid var(--linea);display:none;height:260px;flex-direction:column;min-height:0}
#abajo.on{display:flex}

/* ---------- barra superior ---------- */
.marca{display:flex;align-items:center;gap:8px;padding:0 10px 0 4px;font-weight:800;letter-spacing:.3px;white-space:nowrap}
.marca .logo{width:26px;height:26px;border-radius:7px;background:linear-gradient(135deg,var(--acento2),var(--acento));display:grid;place-items:center;color:var(--acentoTxt);font-weight:900;font-size:13px}
.marca b{color:var(--acento)}
.sep{width:1px;height:24px;background:var(--linea);margin:0 4px;flex:none}
.bt{height:34px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border-radius:8px;color:var(--suave);font-weight:600;white-space:nowrap;transition:background .12s,color .12s}
.bt:hover{background:var(--panel2);color:var(--texto)}
.bt.on{color:var(--acento)}
.bt.prim{background:var(--acento);color:var(--acentoTxt)}
.bt.prim:hover{background:var(--acento2)}
.bt.ic-solo{width:34px;padding:0;justify-content:center}
#simbolo{flex-shrink:0;height:34px;display:flex;align-items:center;gap:8px;padding:0 10px;border-radius:8px;background:var(--panel2);font-weight:700;min-width:0}
#simbolo:hover{background:var(--linea2)}
#simbolo .fuente{font-size:10px;font-weight:700;letter-spacing:.6px;color:var(--suave);background:var(--bg);padding:2px 6px;border-radius:5px}
#tfs{display:flex;gap:1px;min-width:0;overflow-x:auto;scrollbar-width:none}
#btTfMas.fav .tf-actual{display:none}
#tfs .bt{padding:0 8px}
.hueco{flex:1}
.cotiza{display:flex;flex-direction:column;align-items:flex-end;padding:0 8px;line-height:1.15}
.cotiza .p{font-weight:700;font-size:14px}
.cotiza .c{font-size:11px;font-weight:600}
.sube{color:var(--verde)}.baja{color:var(--rojo)}

/* ---------- barra de dibujo ---------- */
#izq .bt{width:36px;height:36px;padding:0;justify-content:center;border-radius:8px}
#izq .bt.on{background:var(--panel2);color:var(--acento)}
#izq .sep{width:24px;height:1px;margin:4px 0}

/* ---------- gráfico ---------- */
#grafico{position:absolute;inset:0}
.leyenda{position:absolute;left:8px;top:6px;z-index:6;display:flex;flex-direction:column;gap:2px;pointer-events:none;max-width:calc(100% - 90px)}
.ley{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--suave);pointer-events:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:1px 4px;border-radius:6px;width:max-content;max-width:100%}
.leyenda .ley{background:color-mix(in srgb,var(--panel) 62%,transparent)}
.ley:hover{background:color-mix(in srgb,var(--panel2) 85%,transparent)}
.ley .t{color:var(--texto);font-weight:600}
.ley .v{font-variant-numeric:tabular-nums}
.ley .acc{display:none;gap:1px}
.ley:hover .acc{display:inline-flex}
.ley .acc button{width:22px;height:20px;display:grid;place-items:center;border-radius:5px;color:var(--suave)}
.ley .acc button:hover{background:var(--linea2);color:var(--texto)}
.ley .acc svg{width:14px;height:14px}
.ley.oculto .t,.ley.oculto .v{opacity:.45}
.ley-principal .t{font-size:13px}
.ohlc b{font-weight:600}
#aviso{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);z-index:8;color:var(--suave);font-size:13px;display:none;background:var(--panel);border:1px solid var(--linea);padding:10px 16px;border-radius:10px}
#aviso.on{display:block}
#capaDibujo{position:absolute;inset:0;z-index:5;display:none;cursor:crosshair}
#capaDibujo.on{display:block}

/* ---------- panel derecho ---------- */
.tabs{display:flex;gap:2px;padding:6px;border-bottom:1px solid var(--linea)}
.tabs .bt{flex:1;justify-content:center;height:30px;font-size:12px}
.tabs .bt.on{background:var(--panel2)}
.vista{flex:1;min-height:0;overflow:auto;display:none}
.vista.on{display:block}
.lw-cab{display:grid;grid-template-columns:1fr auto auto;gap:8px;padding:8px 12px;font-size:11px;color:var(--tenue);text-transform:uppercase;letter-spacing:.6px;position:sticky;top:0;background:var(--bg2);z-index:1}
.lw-fila{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:7px 12px;cursor:pointer;border-left:2px solid transparent}
.lw-fila:hover{background:var(--panel2)}
.lw-fila.act{background:var(--panel2);border-left-color:var(--acento)}
.lw-fila .s{font-weight:700;display:flex;align-items:center;gap:6px;min-width:0}
.lw-fila .s span{overflow:hidden;text-overflow:ellipsis}
.lw-fila .s small{font-size:9px;color:var(--tenue);font-weight:700}
.lw-fila .p{text-align:right;font-variant-numeric:tabular-nums}
.lw-fila .c{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;min-width:62px}
.lw-fila .x{opacity:0;color:var(--tenue);width:16px}
.lw-fila:hover .x{opacity:1}
.det{padding:14px;border-top:1px solid var(--linea)}
.det h3{font-size:15px}
.det .nombre{color:var(--suave);font-size:12px;margin-top:2px}
.det .grande{font-size:24px;font-weight:700;margin-top:10px}
.det .kv{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin-top:12px;font-size:12px}
.det .kv span{color:var(--suave)}
.vacio{padding:24px 16px;color:var(--suave);font-size:12px;text-align:center}

/* ---------- modales ---------- */
.modal{position:fixed;inset:0;background:rgba(5,8,14,.55);backdrop-filter:blur(3px);display:none;align-items:flex-start;justify-content:center;z-index:50;padding:64px 16px 16px}
.modal.on{display:flex}
.caja{width:100%;max-width:640px;max-height:calc(100vh - 90px);display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--linea);border-radius:14px;box-shadow:var(--sombra);overflow:hidden}
.caja.ancha{max-width:880px}
.caja .cab{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;font-weight:800;font-size:15px}
.buscador{margin:0 16px 10px;display:flex;align-items:center;gap:8px;padding:0 12px;height:42px;border-radius:10px;background:var(--bg);border:1px solid var(--linea)}
.buscador:focus-within{border-color:var(--acento)}
.buscador input{flex:1;background:none;border:0;outline:0;font-size:14px}
.filtros{display:flex;gap:6px;padding:0 16px 10px;overflow-x:auto;scrollbar-width:none}
.filtro{padding:6px 12px;border-radius:16px;background:var(--panel2);color:var(--suave);font-weight:600;font-size:12px;white-space:nowrap}
.filtro.on{background:var(--acento);color:var(--acentoTxt)}
.lista{overflow:auto;padding:0 8px 10px;flex:1;min-height:0}
.grupo{font-size:11px;letter-spacing:.8px;color:var(--tenue);text-transform:uppercase;padding:12px 10px 6px;font-weight:700}
.item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:9px 10px;border-radius:8px}
.item:hover,.item.sel{background:var(--panel2)}
.item .i1{flex:1;min-width:0}
.item .i1 b{display:block;font-weight:700}
.item .i1 small{display:block;color:var(--suave);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.item .tag{font-size:10px;font-weight:700;letter-spacing:.5px;color:var(--suave);background:var(--bg);padding:3px 7px;border-radius:6px;white-space:nowrap}
.item .estrella{color:var(--tenue)}
.item .estrella.on{color:var(--acento)}
.ind-cols{display:grid;grid-template-columns:190px 1fr;min-height:0;flex:1}
.ind-cats{border-right:1px solid var(--linea);overflow:auto;padding:4px 8px}
.ind-cats .bt{width:100%;justify-content:space-between}
.ind-cats .bt small{color:var(--tenue)}
.pie{padding:10px 16px;border-top:1px solid var(--linea);color:var(--suave);font-size:12px;display:flex;justify-content:space-between;gap:12px;align-items:center}
.form{padding:6px 16px 16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;overflow:auto}
.form label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--suave);min-width:0}
.form input,.form select{min-width:0;width:100%;height:38px;padding:0 10px;border-radius:8px;border:1px solid var(--linea);background:var(--bg);outline:0}
.form input:focus,.form select:focus{border-color:var(--acento)}
.form input[type=color]{padding:3px}
.acciones{display:flex;gap:8px;justify-content:flex-end;padding:12px 16px;border-top:1px solid var(--linea)}
.acciones .bt{background:var(--panel2);color:var(--texto)}
.acciones .bt.prim{background:var(--acento);color:var(--acentoTxt)}
.tarjetas{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;padding:4px 16px 16px;overflow:auto}
.tarjeta{border:1px solid var(--linea);border-radius:12px;padding:14px;text-align:left;background:var(--bg2);display:flex;flex-direction:column;gap:6px}
.tarjeta:hover{border-color:var(--acento)}
.tarjeta b{font-size:14px}
.tarjeta p{color:var(--suave);font-size:12px}
.tarjeta .chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.tarjeta .chips span{font-size:10px;background:var(--panel2);padding:3px 7px;border-radius:6px;color:var(--suave)}

/* ---------- menús ---------- */
.menu{position:fixed;z-index:60;background:var(--panel);border:1px solid var(--linea);border-radius:10px;box-shadow:var(--sombra);padding:6px;min-width:190px;display:none}
.menu.on{display:block}
.menu .bt{width:100%;justify-content:flex-start;height:34px}
.menu .t{padding:6px 10px 4px;font-size:11px;color:var(--tenue);text-transform:uppercase;letter-spacing:.6px}

/* ---------- toast ---------- */
#toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);opacity:0;z-index:70;background:var(--panel);border:1px solid var(--linea);box-shadow:var(--sombra);padding:10px 16px;border-radius:10px;font-weight:600;transition:all .2s;pointer-events:none}
#toast.on{opacity:1;transform:translateX(-50%) translateY(0)}

/* ---------- móvil ---------- */
#navMovil{display:none}
@media (max-width:900px){
  #app,#app.sin-der{grid-template-columns:0 1fr 0;grid-template-rows:var(--barra) 1fr auto 56px;grid-template-areas:"top top top" "izq centro der" "abajo abajo abajo" "nav nav nav"}
  #izq{display:none}
  #der{position:fixed;left:0;right:0;bottom:56px;top:var(--barra);z-index:30;display:none;border:0}
  #der.movil-on{display:flex}
  #izq.movil-on{display:flex;position:fixed;left:0;top:var(--barra);bottom:56px;width:48px;z-index:31}
  #navMovil{grid-area:nav;display:flex;justify-content:space-around;align-items:center;background:var(--bg2);border-top:1px solid var(--linea);padding-bottom:env(safe-area-inset-bottom)}
  #navMovil .bt{flex-direction:column;gap:2px;height:52px;font-size:10px}
  .ocultar-movil{display:none!important}
  #tfs{display:none}
  #btTfMas.fav .tf-actual{display:inline}
  .cotiza .c{display:none}
  #top{gap:2px;padding:0 6px}
  .marca span{display:none}
  .modal{padding:0}
  .caja{max-height:100vh;height:100%;border-radius:0}
  .ind-cols{grid-template-columns:1fr}
  .ind-cats{display:flex;border-right:0;border-bottom:1px solid var(--linea);overflow-x:auto;padding:4px 8px}
  .ind-cats .bt{width:auto}
  .ind-cats .bt small{display:none}
}

/* ---------- probador de estrategias ---------- */
#abajo{height:340px}
.pb-cab{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--linea)}
.pb-cab b{display:flex;align-items:center;gap:8px;white-space:nowrap}
.pb-cab select{height:32px;border-radius:8px;border:1px solid var(--linea);background:var(--panel);padding:0 8px;outline:0}
.pb-nota{color:var(--tenue);font-size:11px;white-space:nowrap}
.pb-cuerpo{flex:1;min-height:0;display:grid;grid-template-columns:380px 1fr}
.pb-conf{border-right:1px solid var(--linea);overflow:auto;padding:10px 12px}
.pb-desc{color:var(--suave);font-size:12px;margin-bottom:8px}
.pb-t{font-size:11px;letter-spacing:.7px;text-transform:uppercase;color:var(--tenue);margin:12px 0 6px;font-weight:700}
.pb-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
.pb-form label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--suave);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pb-form input,.pb-form select{width:100%;height:32px;border-radius:7px;border:1px solid var(--linea);background:var(--bg);padding:0 8px;outline:0}
.pb-form input:focus,.pb-form select:focus{border-color:var(--acento)}
.pb-res{min-width:0;display:flex;flex-direction:column;overflow:hidden}
.kpis{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));border-bottom:1px solid var(--linea)}
.kpi{padding:10px 12px;border-right:1px solid var(--linea);display:flex;flex-direction:column;gap:2px;min-width:0}
.kpi span{font-size:11px;color:var(--suave);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi b{font-size:15px;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums;white-space:nowrap}
.kpi small{font-size:11px;color:var(--tenue);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pb-tabs{display:flex;align-items:center;gap:4px;padding:4px 8px;border-bottom:1px solid var(--linea)}
.pb-tabs .bt{height:28px;font-size:12px}
.pb-tabs .bt.on{background:var(--panel2);color:var(--texto)}
.pb-curva{flex:1;min-height:0;position:relative}
.pb-lista{flex:1;min-height:0;overflow:auto}
.pb-lista table{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}
.pb-lista th{position:sticky;top:0;background:var(--bg2);text-align:left;color:var(--tenue);font-weight:600;padding:6px 10px;border-bottom:1px solid var(--linea)}
.pb-lista td{padding:6px 10px;border-bottom:1px solid var(--linea);white-space:nowrap}
.pb-lista tr[data-t]{cursor:pointer}
.pb-lista tr[data-t]:hover td{background:var(--panel2)}
@media (max-width:1200px){.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:900px){#abajo{height:60vh}.pb-cuerpo{grid-template-columns:1fr;overflow:auto}.pb-conf{border-right:0;border-bottom:1px solid var(--linea)}.kpis{grid-template-columns:repeat(2,1fr)}.pb-curva{min-height:220px}}

/* ---------- creador de estrategias ---------- */
.cr-nombre{flex:1;font-size:16px;font-weight:800;background:none;border:0;border-bottom:1px dashed var(--linea2);outline:0;padding:4px 0;margin-right:12px}
.cr-cuerpo{overflow:auto;padding:0 16px 12px}
.cr-sec{border:1px solid var(--linea);border-radius:12px;padding:10px 12px;margin-bottom:10px;background:var(--bg2)}
.cr-t{font-weight:700;margin-bottom:8px}
.cond{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 0;border-top:1px dashed var(--linea)}
.cond:first-of-type{border-top:0}
.cond .y{font-size:11px;font-weight:800;color:var(--acento);text-transform:uppercase;width:100%}
.operando{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:9px;background:var(--panel2)}
.cond select,.cond input{height:30px;border-radius:7px;border:1px solid var(--linea);background:var(--bg);padding:0 6px;outline:0;font-size:12px}
.cond .op-par{width:64px}.cond .op-num{width:90px}.cond .op-ind{max-width:190px}
.cond .op-op{font-weight:700;color:var(--acento)}
.cr-mas{margin-top:4px;color:var(--acento)}
.cr-ayuda{color:var(--suave);font-size:12px;margin-top:4px}

/* ---------- pestaña API ---------- */
.api{padding:14px;display:flex;flex-direction:column;gap:10px;font-size:12px}
.api h4{font-size:15px}.api h5{font-size:11px;letter-spacing:.7px;text-transform:uppercase;color:var(--tenue);margin-top:6px}
.api p{color:var(--suave)}
.api pre{background:var(--bg);border:1px solid var(--linea);border-radius:8px;padding:10px;overflow:auto;font-size:11px;line-height:1.5}
.api-bt{justify-content:center;width:100%}
.api-clave{display:flex;align-items:center;gap:6px;background:var(--bg);border:1px solid var(--linea);border-radius:8px;padding:6px 8px}
.api-clave span{color:var(--suave)}.api-clave code{flex:1;overflow:hidden;text-overflow:ellipsis;font-size:11px}
.api-form{display:flex;flex-direction:column;gap:8px}
.api-form label{display:flex;flex-direction:column;gap:4px;color:var(--suave)}
.api-form input,.api-form select{height:34px;border-radius:8px;border:1px solid var(--linea);background:var(--bg);padding:0 8px;outline:0}
.api-nota{font-size:11px}
.wh{display:flex;gap:8px;align-items:center;border:1px solid var(--linea);border-radius:8px;padding:8px}
.wh div{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.wh small{color:var(--suave);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.api-rutas{border-collapse:collapse;font-size:11px}.api-rutas td{padding:4px 6px;border-bottom:1px solid var(--linea)}.api-rutas td:first-child{color:var(--acento);font-weight:700}
.credito{padding:8px 12px;border-top:1px solid var(--linea);font-size:10px;color:var(--tenue);text-align:center}
.credito a{color:var(--suave)}

/* ---------- barra de repetición ---------- */
#barraRep{position:absolute;left:50%;bottom:34px;transform:translateX(-50%);z-index:9;display:none;align-items:center;gap:8px;padding:8px 10px;
  background:var(--panel);border:1px solid var(--linea2);border-radius:12px;box-shadow:var(--sombra);white-space:nowrap}
#barraRep.on{display:flex}
#barraRep select{height:32px;border-radius:8px;border:1px solid var(--linea);background:var(--bg);padding:0 6px}
#barraRep .tenue{color:var(--tenue);font-size:12px}

/* ---------- varios gráficos ---------- */
#centro{display:grid;gap:1px;background:var(--linea);grid-template-columns:1fr;grid-template-rows:1fr}
#centro[data-diseno="2"]{grid-template-columns:1fr 1fr}
#centro[data-diseno="2v"]{grid-template-rows:1fr 1fr}
#centro[data-diseno="3"]{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}
#centro[data-diseno="3"] #celda0{grid-row:1 / span 2}
#centro[data-diseno="4"]{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
.celda{position:relative;min-width:0;min-height:0;background:var(--bg)}
.celda-extra{display:flex;flex-direction:column}
.celda-cab{display:flex;align-items:center;gap:6px;padding:4px 6px;border-bottom:1px solid var(--linea);background:var(--bg2)}
.celda-cab .bt{height:28px}
.celda-cab .fuente{font-size:9px;font-weight:700;color:var(--suave);background:var(--bg);padding:2px 5px;border-radius:4px}
.celda-cab select{height:28px;border-radius:7px;border:1px solid var(--linea);background:var(--bg);padding:0 4px}
.celda-p{margin-left:auto;font-size:12px;font-weight:700}
.celda-graf{position:relative;flex:1;min-height:0}
.celda-ley{position:absolute;left:0;right:0;top:37px;bottom:0;pointer-events:none}
.celda-ley .leyenda{pointer-events:none}
@media (max-width:900px){#centro[data-diseno]{grid-template-columns:1fr;grid-template-rows:1fr}#centro .celda-extra{display:none}}

/* ---------- analista IA ---------- */
.ia{display:flex;flex-direction:column;min-height:100%}
.ia-cab{display:flex;flex-direction:column;gap:10px;padding:14px;border-bottom:1px solid var(--linea)}
.ia-cab b{font-size:15px;display:block}.ia-cab small{color:var(--suave)}
.ia-cab .bt{justify-content:center}
.ia-res{padding:14px;display:flex;flex-direction:column;gap:12px;font-size:12.5px;line-height:1.5}
.ia-titular{font-size:15px;font-weight:700;line-height:1.35}
.ia-chips{display:flex;gap:6px;flex-wrap:wrap}
.ia-sesgo,.ia-conf{padding:4px 10px;border-radius:14px;background:var(--panel2);font-weight:700;font-size:11px;text-transform:capitalize}
.ia-sesgo.sube{background:rgba(31,201,122,.15)}.ia-sesgo.baja{background:rgba(240,67,79,.15)}
.ia-conf{color:var(--acento);letter-spacing:1px}
.ia-sec h6,.ia-esc h6{font-size:10.5px;letter-spacing:.8px;text-transform:uppercase;color:var(--tenue);margin-bottom:3px}
.ia-sec p,.ia-esc p{color:var(--texto)}
.ia-niv{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;padding:7px 0;border-bottom:1px solid var(--linea)}
.ia-niv span{font-weight:700;font-size:11px}.ia-niv b{text-align:right}.ia-niv small{grid-column:1 / -1;color:var(--suave)}
.ia-dibujar{margin-top:8px;width:100%;justify-content:center;background:var(--panel2)}
.ia-esc{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ia-esc>div{border:1px solid var(--linea);border-radius:10px;padding:10px}
.ia-esc .sube{border-color:rgba(31,201,122,.4)}.ia-esc .baja{border-color:rgba(240,67,79,.4)}
.ia-esc .sube h6{color:var(--verde)}.ia-esc .baja h6{color:var(--rojo)}
.ia-aviso{color:var(--tenue);font-size:11px}
.ia-cargando{display:flex;align-items:center;gap:6px;color:var(--suave);padding:20px 0}
.ia-cargando span{width:7px;height:7px;border-radius:50%;background:var(--acento);animation:iaPunto 1s infinite ease-in-out}
.ia-cargando span:nth-child(2){animation-delay:.15s}.ia-cargando span:nth-child(3){animation-delay:.3s}
@keyframes iaPunto{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}

/* ---------- modo fácil, bienvenida, tour y ayuda ---------- */
.lectura{font-size:11px;font-weight:600;padding:1px 7px;border-radius:9px;background:var(--panel2);color:var(--suave)}
.lectura.sube{color:var(--verde);background:rgba(31,201,122,.12)}.lectura.baja{color:var(--rojo);background:rgba(240,67,79,.12)}
.aj-expl{grid-column:1 / -1;background:var(--bg2);border:1px solid var(--linea);border-radius:10px;padding:10px 12px;color:var(--suave);font-size:12px;line-height:1.5}
.aj-expl b{color:var(--texto)}
.bienv{max-width:720px;overflow:auto}
.bienv-top{padding:28px 28px 12px;text-align:center;background:radial-gradient(600px 200px at 50% 0,rgba(245,197,66,.14),transparent)}
.bienv-top .logo{width:52px;height:52px;margin:0 auto 12px;border-radius:14px;background:linear-gradient(135deg,var(--acento2),var(--acento));display:grid;place-items:center;font-weight:900;font-size:20px;color:var(--acentoTxt)}
.bienv-top h2{font-size:24px}.bienv-top p{color:var(--suave);margin-top:6px;font-size:14px}
.bienv-nivel{display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap;padding:6px 16px 14px;color:var(--suave)}
.bienv-op{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 20px 16px}
.bienv-op button{text-align:left;border:1px solid var(--linea);border-radius:14px;padding:16px;background:var(--bg2);display:flex;flex-direction:column;gap:6px;transition:border-color .15s,transform .15s}
.bienv-op button:hover{border-color:var(--acento);transform:translateY(-2px)}
.bienv-op b{display:flex;align-items:center;gap:8px;font-size:14px}.bienv-op b svg{color:var(--acento)}
.bienv-op small{color:var(--suave);font-size:12.5px;line-height:1.4}
.bienv-pie{display:flex;justify-content:center;padding:0 16px 18px}
.tour{position:fixed;inset:0;z-index:80}
.tour-hueco{position:absolute;border-radius:10px;box-shadow:0 0 0 9999px rgba(5,8,14,.72);border:2px solid var(--acento);transition:all .25s}
.tour-caja{position:absolute;background:var(--panel);border:1px solid var(--linea2);border-radius:14px;box-shadow:var(--sombra);padding:14px 16px;display:flex;flex-direction:column;gap:6px;transition:all .25s}
.tour-caja small{color:var(--acento);font-weight:700;font-size:11px}.tour-caja b{font-size:15px}.tour-caja p{color:var(--suave);font-size:13px;line-height:1.45}
.tour-bt{display:flex;gap:6px;margin-top:6px}
.ayuda{overflow:auto;padding:0 18px 18px;display:flex;flex-direction:column;gap:10px}
.ayuda-acc{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.ayuda-sw{display:flex;align-items:center;gap:8px;color:var(--suave)}
.ayuda h5{font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:var(--tenue);margin-top:8px}
.ayuda dl{display:grid;grid-template-columns:180px 1fr;gap:8px 14px}.ayuda dt{font-weight:700}.ayuda dd{color:var(--suave)}
.ayuda table{border-collapse:collapse}.ayuda td{padding:5px 10px 5px 0;color:var(--suave)}
.ayuda kbd{background:var(--panel2);border:1px solid var(--linea2);border-radius:6px;padding:2px 7px;font:inherit;font-size:12px;color:var(--texto)}
.ayuda-aviso{color:var(--tenue);font-size:12px;margin-top:6px}
@media (max-width:640px){.bienv-op{grid-template-columns:1fr}.ayuda dl{grid-template-columns:1fr}}
@media (max-width:420px){#navMovil .bt{padding:0 2px;font-size:9px;min-width:0}#navMovil .bt svg{width:17px;height:17px}}
@media (max-width:480px){#top .cotiza{display:none}#top .marca{padding:0 4px 0 0}}

/* ---------- barra inferior, estilo de dibujos, minigráficos ---------- */
#celda0 #grafico{bottom:28px}
.barra-inf{position:absolute;left:0;right:0;bottom:0;height:28px;display:flex;align-items:center;gap:2px;padding:0 6px;border-top:1px solid var(--linea);background:var(--bg2);font-size:11px}
.barra-inf button{height:22px;padding:0 8px;border-radius:6px;color:var(--suave);font-weight:600}
.barra-inf button:hover{background:var(--panel2);color:var(--texto)}
.barra-inf button.on{color:var(--acento)}
.barra-inf .rangos{display:flex;gap:1px}
.barra-inf .reloj{color:var(--tenue);margin-right:8px}
.dib-barra{position:absolute;top:10px;left:50%;transform:translateX(-50%);z-index:9;display:none;align-items:center;gap:4px;padding:6px 8px;background:var(--panel);border:1px solid var(--linea2);border-radius:12px;box-shadow:var(--sombra)}
.dib-barra.on{display:flex}
.dib-barra button{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;color:var(--suave)}
.dib-barra button:hover,.dib-barra button.on{background:var(--panel2);color:var(--texto)}
.dib-barra .col{width:18px;height:18px;border-radius:50%;background:var(--c);border:2px solid transparent}
.dib-barra .col.on{border-color:var(--texto);box-shadow:0 0 0 2px var(--panel)}
.dib-barra .gr i{display:block;width:16px;background:currentColor;border-radius:2px}
.dib-barra .sep{width:1px;height:18px;background:var(--linea2);margin:0 2px}
.dib-barra svg{width:15px;height:15px}
.lw-cab,.lw-fila{grid-template-columns:minmax(0,1fr) 52px auto auto}
.lw-cab span:nth-child(2){grid-column:3}.lw-cab span:nth-child(3){grid-column:4}
.spark{width:52px;height:16px;opacity:.9}
@keyframes flashS{0%{background:rgba(34,209,139,.35)}100%{background:transparent}}
@keyframes flashB{0%{background:rgba(255,77,94,.35)}100%{background:transparent}}
.flash-sube{animation:flashS .9s ease-out;border-radius:4px}.flash-baja{animation:flashB .9s ease-out;border-radius:4px}
/* precios que ruedan en la lista: el dígito que cambia sube (verde) o baja (rojo) */
.rueda-sube{animation:numSube 1.4s ease-out}.rueda-baja{animation:numBaja 1.4s ease-out}
@keyframes numSube{0%,35%{color:#22d18b}100%{color:inherit}}
@keyframes numBaja{0%,35%{color:#ff4d5e}100%{color:inherit}}
.rd{display:inline-block;height:1.2em;line-height:1.2em;overflow:hidden;vertical-align:bottom}
.rd-w{display:flex;flex-direction:column}
.rd-w>span{height:1.2em;line-height:1.2em}
.rueda-sube .rd-w{animation:rdSube .45s cubic-bezier(.2,.8,.3,1) both}
.rueda-baja .rd-w{animation:rdBaja .45s cubic-bezier(.2,.8,.3,1) both}
@keyframes rdSube{from{transform:translateY(0)}to{transform:translateY(-1.2em)}}
@keyframes rdBaja{from{transform:translateY(-1.2em)}to{transform:translateY(0)}}
@media (max-width:900px){.barra-inf .reloj{display:none}}
.menu{width:max-content;max-width:340px;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.menu-fila{display:flex;gap:4px;padding:2px 4px 4px}
.menu .menu-fila .bt{width:auto;flex:1;height:34px;justify-content:center;padding:0}
.lw-fila{padding:6px 12px}
.lw-fila .s{flex-direction:column;align-items:flex-start;gap:0;line-height:1.2}
.lw-fila .s span{max-width:100%}
.lw-fila .s small{font-size:9px;letter-spacing:.4px}

/* ---------- orden y minimalismo (28-sep) ---------- */
#izq{gap:4px;padding:8px 0}
.herr{position:relative;display:flex}
.herr .bt{width:36px;height:36px;padding:0;justify-content:center;border-radius:9px;color:var(--suave)}
.herr .bt:hover{color:var(--texto);background:var(--panel2)}
.herr.on .bt{color:var(--acento);background:color-mix(in srgb,var(--acento) 12%,transparent)}
.herr-mas{position:absolute;right:0;bottom:0;width:10px;height:10px;opacity:.55}
.herr-mas::after{content:"";position:absolute;right:2px;bottom:2px;border-left:5px solid transparent;border-bottom:5px solid var(--suave)}
.herr:hover .herr-mas{opacity:1}
.menu-kbd{margin-left:auto;font:inherit;font-size:10px;color:var(--tenue);border:1px solid var(--linea2);border-radius:5px;padding:1px 5px}
.menu .bt{gap:10px}
.menu-on{margin-left:auto;font-size:10px;font-weight:700;color:var(--acento);text-transform:uppercase;letter-spacing:.5px}
.cab-link{height:30px;font-size:12px;color:var(--acento)}
.caja .cab{gap:8px}
.leyenda .ley-principal .ohlc{font-size:12px}
.resumen .lectura{margin-left:4px}
.det{padding:12px 14px}
.det-l{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.det h3{font-size:14px;line-height:1.25}
.det-c{font-weight:700;font-size:13px;white-space:nowrap;font-family:var(--fnum)}
.det-c small{font-weight:500;color:var(--tenue);font-family:var(--fuente)}
.det-v{display:flex;justify-content:space-between;margin-top:8px;font-size:12px;color:var(--suave)}
.det-v b{color:var(--texto)}
body.sin-barra-inf .barra-inf{display:none}
body.sin-barra-inf #celda0 #grafico{bottom:0}
/* personalizar */
.pers{max-width:760px}
.pers-cuerpo{overflow:auto;padding:0 18px 12px}
.pers h5{font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:var(--tenue);margin:14px 0 8px}
.pers-est{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pers-est button,.pers-velas button{border:1px solid var(--linea);border-radius:12px;padding:10px;background:var(--bg2);text-align:left;display:flex;flex-direction:column;gap:4px}
.pers-est button.on,.pers-velas button.on{border-color:var(--acento);box-shadow:0 0 0 1px var(--acento)}
.pers-est small{color:var(--suave);font-size:11px}
.mues{display:flex;height:46px;border-radius:8px;overflow:hidden;margin-bottom:4px}
.mues i{flex:1}
.mues-oro i:nth-child(1){background:#07090d}.mues-oro i:nth-child(2){background:#10141d}.mues-oro i:nth-child(3){background:#f2c14e;flex:.35}
.mues-noche i:nth-child(1){background:#0d1733}.mues-noche i:nth-child(2){background:#16244c}.mues-noche i:nth-child(3){background:#4f8dff;flex:.35}
.mues-grafito i:nth-child(1){background:#0f1012}.mues-grafito i:nth-child(2){background:#212328}.mues-grafito i:nth-child(3){background:#e8e8e3;flex:.35}
.pers-velas{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.pers-velas button{flex-direction:row;align-items:center;gap:10px;font-size:12px;font-weight:600}
.vv{display:flex;gap:3px}.vv i{width:8px;height:22px;border-radius:2px;display:block}
.vv i.est{background:var(--verde)}.vv i.est2{background:var(--rojo)}
.vv input{width:22px;height:26px;padding:0;border:0;background:none;cursor:pointer}
.pers-lista{display:flex;flex-direction:column;border:1px solid var(--linea);border-radius:12px;overflow:hidden}
.pers-sw,.pers-letra{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid var(--linea);cursor:pointer}
.pers-sw:last-child,.pers-letra:last-child{border-bottom:0}
.pers-sw span,.pers-letra span{display:flex;flex-direction:column;gap:2px}
.pers-sw small{color:var(--suave);font-size:11.5px}
.pers-sw input{display:none}
.pers-sw i{width:38px;height:22px;border-radius:11px;background:var(--linea2);position:relative;flex:none;transition:background .15s}
.pers-sw i::after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s}
.pers-sw input:checked+i{background:var(--acento)}
.pers-sw input:checked+i::after{transform:translateX(16px)}
.pers-letra div{display:flex;gap:4px}
.pers-letra button{width:40px;height:32px;border-radius:8px;border:1px solid var(--linea);font-weight:700}
.pers-letra button.on{border-color:var(--acento);color:var(--acento)}
@media (max-width:640px){.pers-est{grid-template-columns:1fr}}

/* ---------- lista de seguimiento v2 ---------- */
#vLista.on{display:flex;flex-direction:column}
#lwFilas{flex:1;min-height:0;overflow:auto}
.lw-barra{display:flex;gap:4px;align-items:center;padding:10px 10px 6px;position:sticky;top:0;background:var(--bg2);z-index:2}
.lw-filtro{flex:1;display:flex;align-items:center;gap:8px;height:34px;padding:0 10px;border-radius:9px;background:var(--panel2);color:var(--tenue)}
.lw-filtro svg{width:15px;height:15px}
.lw-filtro input{flex:1;min-width:0;background:none;border:0;outline:0;font-size:12.5px}
.lw-barra .bt.ic-solo{width:34px;height:34px}
.lw-sec{padding:2px 6px 6px}
.lw-sec-t{display:flex;align-items:center;gap:6px;width:100%;padding:8px 6px 6px;color:var(--tenue);font-size:11px;font-weight:700;letter-spacing:.7px;text-transform:uppercase}
.lw-sec-t svg{width:13px;height:13px;transition:transform .15s}
.lw-sec-t small{margin-left:auto;font-weight:600;letter-spacing:0}
.lw-sec.plegada .lw-sec-t svg{transform:rotate(-90deg)}
.lw-sec.plegada .lw-sec-f{display:none}
.lw-fila,.lw-cab{display:grid;grid-template-columns:30px minmax(0,1fr) 48px auto;gap:10px;align-items:center;padding:7px 8px;border-radius:10px;border-left:0;position:relative}
.lw-fila:hover{background:var(--panel2)}
.lw-fila.act{background:color-mix(in srgb,var(--acento) 10%,transparent);box-shadow:inset 2px 0 0 var(--acento)}
.av{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:800;letter-spacing:-.3px;
  color:var(--c);background:color-mix(in srgb,var(--c) 16%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 30%,transparent)}
.lw-fila .s{display:flex;flex-direction:column;gap:1px;min-width:0}
.lw-fila .s b{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lw-fila .s small{font-size:11px;color:var(--suave);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:0;font-weight:400}
.lw-fila .spark{width:48px;height:16px;opacity:.85}
.lw-fila .pc{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.lw-fila .p{font-size:12.5px;font-weight:600}
.pill{font-family:var(--fnum);font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:6px;background:var(--panel2);color:var(--suave);white-space:nowrap}
.pill.sube{color:var(--verde);background:color-mix(in srgb,var(--verde) 14%,transparent)}
.pill.baja{color:var(--rojo);background:color-mix(in srgb,var(--rojo) 14%,transparent)}
.pill.grande{font-size:13px;padding:3px 9px;border-radius:8px}
.lw-fila .acc{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:none;gap:2px;background:var(--panel2);padding:3px;border-radius:8px;box-shadow:-10px 0 12px var(--panel2)}
.lw-fila:hover .acc{display:flex}
.lw-fila:hover .pc{visibility:hidden}
.lw-fila .acc button{width:26px;height:26px;display:grid;place-items:center;border-radius:7px;color:var(--suave)}
.lw-fila .acc button:hover{background:var(--linea2);color:var(--texto)}
.lw-fila .acc svg{width:15px;height:15px}
/* ficha del mercado */
#detalle{border-top:1px solid var(--linea);padding:14px;display:flex;flex-direction:column;gap:12px;background:var(--bg2)}
.fi-cab{display:flex;align-items:center;gap:10px}
.fi-cab .av{width:36px;height:36px;font-size:11px}
.fi-cab>div{flex:1;min-width:0;display:flex;flex-direction:column}
.fi-cab b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fi-cab small{font-size:11.5px;color:var(--suave)}
.fi-rt{display:flex;justify-content:space-between;font-size:11.5px;color:var(--suave);margin-bottom:6px}
.fi-rv{color:var(--texto);font-size:11px}
.fi-barra{position:relative;height:6px;border-radius:3px;background:var(--panel2)}
.fi-barra i{position:absolute;left:0;top:0;bottom:0;border-radius:3px;background:linear-gradient(90deg,var(--rojo),var(--acento),var(--verde));opacity:.55}
.fi-barra b{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;background:var(--texto);border:2px solid var(--bg2);transform:translate(-50%,-50%)}
.fi-kv{display:flex;justify-content:space-between;font-size:12px;color:var(--suave)}
.fi-kv b{color:var(--texto)}
.fi-acc{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fi-acc .bt{justify-content:center;background:var(--panel2);color:var(--texto);height:34px;font-size:12px}
.fi-acc .bt svg{width:15px;height:15px}
.fi-acc .bt:hover{background:var(--linea2)}

/* ---------- catálogo de indicadores v2 ---------- */
.caja-ind{max-width:1040px;height:min(720px,calc(100vh - 90px))}
.ind-cols{grid-template-columns:200px minmax(0,1fr) 300px}
.ind-cats{padding:6px 8px}
.ind-cats .bt{height:32px;font-size:12.5px;color:var(--suave)}
.ind-cats .bt.on{background:var(--panel2);color:var(--texto)}
.ind-cats .bt small{font-family:var(--fnum);font-size:11px}
#lInd{padding:4px 10px 12px}
.ind-t{font-size:11px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:var(--tenue);padding:12px 8px 6px}
.ind-f{display:flex;align-items:center;gap:8px;width:100%;height:36px;padding:0 8px 0 10px;border-radius:8px;text-align:left;font-size:13px}
.ind-f span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ind-f em{font-style:normal;font-size:10.5px;color:var(--acento);white-space:nowrap}
.ind-f i{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;color:var(--tenue);opacity:0}
.ind-f i svg{width:15px;height:15px}
.ind-f:hover,.ind-f.sel{background:var(--panel2)}
.ind-f:hover i,.ind-f.sel i{opacity:1}
.ind-f i:hover{background:var(--acento);color:var(--acentoTxt)}
.ind-f.activo{background:color-mix(in srgb,var(--acento) 8%,transparent);margin-bottom:2px}
.ind-f.activo button{width:26px;height:26px;display:grid;place-items:center;border-radius:7px;color:var(--suave)}
.ind-f.activo button:hover{background:var(--linea2);color:var(--texto)}
.ind-f.activo svg{width:14px;height:14px}
.ind-prev{border-left:1px solid var(--linea);padding:20px 18px;display:flex;flex-direction:column;gap:12px;background:var(--bg2);overflow:auto}
.ip-g{font-size:11px;color:var(--acento);font-weight:700;letter-spacing:.4px;text-transform:uppercase}
.ind-prev h4{font-size:18px;line-height:1.25}
.ip-para{color:var(--texto);font-size:13.5px;line-height:1.5}
.ip-leer{border-top:1px solid var(--linea);padding-top:12px}
.ip-leer b{font-size:11px;color:var(--tenue);letter-spacing:.6px;text-transform:uppercase}
.ip-leer p{color:var(--suave);font-size:13px;line-height:1.55;margin-top:4px}
.ip-add{justify-content:center;margin-top:auto;height:40px}
/* buscador v2 */
.sim-f{gap:12px;padding:8px 10px}
.sim-f .av{width:32px;height:32px;flex:none}
.sim-f .i1 b{font-size:13.5px}
.sim-tipo{font-size:11.5px;color:var(--suave);white-space:nowrap}
.sim-fu{font-size:10px;font-weight:700;letter-spacing:.5px;color:var(--tenue);min-width:52px;text-align:right}
.sim-f .estrella{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;opacity:.5}
.sim-f:hover .estrella,.sim-f .estrella.on{opacity:1}
.sim-f .estrella.on svg{fill:var(--acento)}
@media (max-width:900px){.ind-cols{grid-template-columns:1fr}.ind-prev{display:none}.sim-tipo{display:none}}
.caja .buscador,.caja .filtros,.caja .cab{flex:none}
.sim-f{cursor:pointer;align-items:center}
.sim-mk{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}
.sim-mk button{font-size:10px;font-weight:700;letter-spacing:.3px;padding:2px 7px;border-radius:6px;background:var(--bg);color:var(--suave);border:1px solid var(--linea)}
.sim-mk button:hover{border-color:var(--acento);color:var(--texto)}
.sim-mk button.on{color:var(--acento);border-color:color-mix(in srgb,var(--acento) 45%,transparent)}
.sim-mk em{font-style:normal;font-size:10px;color:var(--tenue);align-self:center}
@media (max-width:900px){#der #detalle{display:none}}

/* ---------- tamaños más cómodos y ligeros (28-sep) ---------- */
:root{--barra:54px;--izq:54px;--der:336px}
html,body{font-size:14px}
#top{gap:6px;padding:0 12px;border-bottom-color:color-mix(in srgb,var(--linea) 70%,transparent)}
#top .sep{background:color-mix(in srgb,var(--linea) 70%,transparent);height:22px;margin:0 6px}
.bt{height:38px;padding:0 12px;border-radius:10px;font-size:13.5px}
.bt.ic-solo{width:38px}
.bt svg.ic{width:19px;height:19px}
#simbolo{height:38px;padding:0 12px;border-radius:10px;font-size:14.5px}
#tfs .bt{padding:0 10px;font-size:13px}
.marca{font-size:14px}.marca .logo{width:30px;height:30px;border-radius:8px}
#izq{border-right-color:color-mix(in srgb,var(--linea) 70%,transparent)}
.herr .bt{width:40px;height:40px;border-radius:10px}
.herr .bt svg.ic{width:20px;height:20px}
.tabs{padding:8px 10px}.tabs .bt{height:34px;font-size:13px}
.leyenda .ley{font-size:12.5px}
.caja .cab{font-size:16px;padding:16px 18px 12px}
.item{padding:10px 12px}
.menu{padding:8px;border-radius:12px}.menu .bt{height:38px;font-size:13.5px}
.lw-fila .s b{font-size:14px}.lw-fila .p{font-size:13.5px}
.av{width:34px;height:34px;font-size:11px}
.lw-fila{grid-template-columns:34px minmax(0,1fr) 48px auto;padding:8px 8px}
.barra-inf{height:30px}.barra-inf button{font-size:11.5px}
#celda0 #grafico{bottom:30px}
.dib-barra{padding:7px 9px;gap:5px;border-radius:14px}
.dib-barra button{width:30px;height:30px}
.dib-barra .col{width:20px;height:20px}

/* ---------- mi perfil ---------- */
.perf{max-width:620px;overflow:hidden}
.perf-top{position:relative;padding:34px 24px 20px;display:flex;align-items:center;gap:18px;
  background:radial-gradient(500px 180px at 0 0,color-mix(in srgb,var(--acento) 22%,transparent),transparent),linear-gradient(180deg,var(--panel2),transparent)}
.perf-x{position:absolute;right:12px;top:12px}
.perf-av{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;font-size:30px;font-weight:800;color:var(--acentoTxt);
  background:linear-gradient(135deg,var(--acento2),var(--acento));box-shadow:0 10px 30px color-mix(in srgb,var(--acento) 35%,transparent)}
.perf-id{display:flex;flex-direction:column;gap:4px;min-width:0}
.perf-nombre{font-size:22px;font-weight:800;background:none;border:0;outline:0;border-bottom:1px dashed transparent;padding:2px 0;width:100%}
.perf-nombre:hover,.perf-nombre:focus{border-bottom-color:var(--linea2)}
.perf-id span{color:var(--suave);font-size:13px}
.perf-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:0 20px 8px}
.perf-stats div{background:var(--bg2);border:1px solid var(--linea);border-radius:12px;padding:12px 10px;display:flex;flex-direction:column;gap:2px}
.perf-stats b{font-size:22px;font-family:var(--fnum)}
.perf-stats span{font-size:11.5px;color:var(--suave);line-height:1.3}
.perf-cuerpo{overflow:auto;padding:4px 20px 20px}
.perf-cuerpo h5{font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:var(--tenue);margin:16px 4px 8px}
.perf-f{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:12px 14px;border-radius:12px;background:var(--bg2);border:1px solid var(--linea);margin-bottom:8px;cursor:pointer}
.perf-f:hover{border-color:var(--linea2)}
.perf-f>svg,.perf-f .ic-caja svg{width:20px;height:20px;color:var(--acento);flex:none}
.perf-f>span:not(.ic-caja):not(.perf-est){flex:1;display:flex;flex-direction:column;gap:2px}
.perf-f b{font-size:14px}.perf-f small{font-size:12px;color:var(--suave)}
.perf-f svg.rot{transform:rotate(-90deg);color:var(--tenue)}
.perf-f input{display:none}
.perf-f .sw{width:40px;height:23px;border-radius:12px;background:var(--linea2);position:relative;flex:none}
.perf-f .sw::after{content:"";position:absolute;left:3px;top:3px;width:17px;height:17px;border-radius:50%;background:#fff;transition:transform .15s}
.perf-f input:checked+.sw{background:var(--acento)}.perf-f input:checked+.sw::after{transform:translateX(17px)}
.perf-est{font-size:11px;font-weight:700;padding:3px 9px;border-radius:8px;background:var(--panel2);color:var(--suave)}
.perf-est.ok{color:var(--verde);background:color-mix(in srgb,var(--verde) 14%,transparent)}
.perf-f.peligro b,.perf-f.peligro>svg{color:var(--rojo)}
@media (max-width:640px){.perf-stats{grid-template-columns:repeat(3,1fr)}.perf-top{padding:28px 18px 16px}}
.pers-fondos{display:flex;flex-wrap:wrap;gap:8px}
.pers-fondos button,.pers-fondos label{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;border:1px solid var(--linea);background:var(--bg2);font-size:12.5px;font-weight:600;cursor:pointer}
.pers-fondos button.on,.pers-fondos label.on{border-color:var(--acento);box-shadow:0 0 0 1px var(--acento)}
.pers-fondos i{width:18px;height:18px;border-radius:5px;border:1px solid var(--linea2)}
.pers-fondos input{width:22px;height:22px;padding:0;border:0;background:none}

/* ---------- barra inferior v2 (estilo TradingView, más limpia) ---------- */
.barra-inf{position:absolute;left:0;right:0;bottom:0;height:auto;display:flex;flex-direction:column;padding:0;border-top:1px solid color-mix(in srgb,var(--linea) 70%,transparent);background:var(--bg2);font-size:12px}
.bi-fila{display:flex;align-items:center;gap:6px;height:34px;padding:0 8px}
.seg{display:flex;gap:2px;padding:2px;border-radius:9px;background:color-mix(in srgb,var(--panel2) 60%,transparent)}
.seg button{height:24px;padding:0 9px;border-radius:7px;color:var(--suave);font-weight:600;font-size:11.5px}
.seg button:hover{color:var(--texto)}
.seg button.on{background:var(--panel);color:var(--texto);box-shadow:0 1px 2px rgba(0,0,0,.25)}
.seg.escalas button.on{color:var(--acento)}
.bi-bt{height:28px;display:inline-flex;align-items:center;gap:6px;padding:0 8px;border-radius:8px;color:var(--suave);font-size:11.5px;font-weight:600}
.bi-bt:hover{background:var(--panel2);color:var(--texto)}
.bi-bt svg{width:16px;height:16px}
.bi-sep{width:1px;height:16px;background:var(--linea2)}
.bi-tabs{display:flex;gap:2px;height:32px;align-items:center;padding:0 6px;border-top:1px solid color-mix(in srgb,var(--linea) 60%,transparent)}
.bi-tabs button{height:26px;display:inline-flex;align-items:center;gap:7px;padding:0 11px;border-radius:7px;color:var(--suave);font-size:12px;font-weight:600}
.bi-tabs button svg{width:15px;height:15px}
.bi-tabs button:hover{background:var(--panel2);color:var(--texto)}
.bi-tabs button.on{color:var(--acento);background:color-mix(in srgb,var(--acento) 10%,transparent)}
#celda0 #grafico{bottom:35px}
body.sin-barra-inf #celda0 #grafico{bottom:0}
.pop-fecha{display:flex;gap:6px;padding:4px}
.pop-fecha input{height:34px;border-radius:8px;border:1px solid var(--linea);background:var(--bg);padding:0 8px;color:var(--texto);color-scheme:dark}
@media (max-width:900px){
  .bi-tabs{display:none}
  #celda0 #grafico{bottom:34px}
  .bi-fila{overflow-x:auto;scrollbar-width:none}
  .seg.rangos button:nth-child(6),.seg.rangos button:nth-child(8){display:none}
  .bi-reloj{display:none}.bi-sep{display:none}
}
.ley.plegada{display:none}
.ley-mas{font-size:11px;font-weight:700;color:var(--acento);background:color-mix(in srgb,var(--panel2) 80%,transparent);border-radius:7px;padding:2px 8px;width:max-content}
.ley-mas{display:inline-flex;align-items:center;gap:3px}
.ley-mas svg{width:13px;height:13px;flex:none}
.ley-plegar{color:var(--tenue);padding:1px 6px;opacity:.75}
.ley-plegar:hover{color:var(--texto);opacity:1}
.leyenda .ley .t{overflow:hidden;text-overflow:ellipsis;max-width:260px}
@media (max-width:900px){.leyenda .ley .t{max-width:150px}}
@media (max-width:900px){
  .leyenda{left:6px;top:4px;max-width:calc(100% - 70px)}
  .ley{font-size:11.5px;gap:4px;padding:1px 3px}
  .ley .acc,.ley:hover .acc{display:none}
  .ley.abierta .acc{display:inline-flex}
  .ley.abierta{background:color-mix(in srgb,var(--panel2) 90%,transparent)}
  .ley .acc button{width:26px;height:24px}
  .lectura{font-size:10px;padding:0 5px}
  .resumen .lectura{display:inline-block;max-width:52vw;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
  #top .marca{display:none}
  .bt{height:36px;padding:0 10px}
  #simbolo{height:36px;font-size:14px}
}
.barra-inf{align-items:stretch}


/* teléfono: menos cosas a la vista, lo secundario vive en «Más» */
@media (max-width:600px){
  #btAyuda{display:none}
  #der .credito{display:none}
  .menu-credito{font-size:11px;color:var(--tenue);white-space:normal;line-height:1.35}
}

/* dibujar en el teléfono */
.dib-flota,.dib-pildora{display:none}
@media (max-width:900px){
  .dib-flota{display:grid;place-items:center;position:absolute;left:12px;bottom:calc(var(--eje-t,34px) + 14px);z-index:6;width:46px;height:46px;border-radius:23px;
    background:color-mix(in srgb,var(--panel) 88%,transparent);border:1px solid var(--linea2);color:var(--texto);box-shadow:0 6px 20px rgba(0,0,0,.35);backdrop-filter:blur(8px)}
  .dib-flota svg{width:21px;height:21px}
  .dib-flota.on{background:var(--acento);color:#111;border-color:transparent}
  .dib-pildora.on{display:flex;align-items:center;gap:8px;position:absolute;top:10px;left:50%;transform:translateX(-50%);z-index:6;max-width:calc(100% - 90px);
    padding:8px 14px;border-radius:20px;background:var(--acento);color:#111;font-size:13px;font-weight:600;white-space:nowrap;box-shadow:0 6px 20px rgba(0,0,0,.35)}
  .dib-pildora span{overflow:hidden;text-overflow:ellipsis}
  .dib-pildora svg{width:16px;height:16px;flex:none}
  #izq.movil-on{display:none}
}
.hoja{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,0);pointer-events:none;transition:background .2s}
.hoja.on{background:rgba(0,0,0,.45);pointer-events:auto}
.hoja-caja{position:absolute;left:0;right:0;bottom:0;background:var(--panel);border-radius:20px 20px 0 0;padding:6px 16px calc(16px + env(safe-area-inset-bottom));
  transform:translateY(100%);transition:transform .25s cubic-bezier(.2,.8,.2,1);max-height:85vh;overflow-y:auto;overflow-x:hidden}
.hoja.on .hoja-caja{transform:none}
.hoja-asa{width:40px;height:4px;border-radius:2px;background:var(--linea2);margin:4px auto 8px}
.hoja-cab{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.hoja-cab b{font-size:17px}
.hoja-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.hoja-grid button,.hoja-pie button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:74px;padding:8px 4px;border-radius:14px;background:var(--bg2);color:var(--texto);font-size:11.5px;text-align:center;line-height:1.2}
.hoja-grid button span,.hoja-pie button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.hoja-grid svg,.hoja-pie svg{width:22px;height:22px}
.hoja-grid button.on,.hoja-pie button.on{background:color-mix(in srgb,var(--acento) 18%,var(--bg2));color:var(--acento)}
.hoja-pie{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--linea)}
.hoja-pie button{min-height:60px;flex-direction:row;gap:8px;font-size:13px}

/* teléfono: nada se desliza de lado; lo que no cabe baja a otra línea */
@media (max-width:900px){
  html,body{overflow-x:hidden;overscroll-behavior-x:none}
  .modal,.caja,.ci-lista,.ci-cuerpo,#der,.lw-cuerpo{overflow-x:hidden}
  .bi-fila{overflow:hidden}
}

/* noticias */
#vNoticias{overflow-y:auto;overflow-x:hidden;padding:10px 12px 16px}
.nt-cats{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.nt-cats button{height:30px;padding:0 12px;border-radius:15px;background:var(--panel2);color:var(--suave);font-size:12.5px;font-weight:600}
.nt-cats button.on{background:var(--texto);color:var(--bg)}
.nt-lista{display:flex;flex-direction:column}
.nt-f{display:flex;flex-direction:column;gap:4px;padding:12px 6px;border-bottom:1px solid color-mix(in srgb,var(--linea) 60%,transparent);color:var(--texto);text-decoration:none;border-radius:8px}
.nt-f:hover{background:var(--panel2)}
.nt-meta{font-size:11.5px;color:var(--tenue)}
.nt-meta b{color:var(--acento);font-weight:600}
.nt-t{font-size:14px;font-weight:600;line-height:1.4}
.nt-r{font-size:12.5px;color:var(--suave);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nt-carga{display:flex;flex-direction:column;gap:10px;padding:8px 6px}
.nt-carga i{height:54px;border-radius:10px;background:linear-gradient(90deg,var(--panel2),var(--bg2),var(--panel2));background-size:200% 100%;animation:ntbrillo 1.2s linear infinite}
@keyframes ntbrillo{to{background-position:-200% 0}}

/* ===== identidad: geometría sagrada (φ = 1,618) ===== */
.logo-ic{display:block;flex:none}
.logo-marca{width:30px;height:30px;filter:none}
.logo-ic.dibujando .lg-o,.logo-ic.dibujando .lg-e,.logo-ic.dibujando .lg-i,.logo-ic.dibujando .lg-m{stroke-dasharray:200;stroke-dashoffset:200;animation:trazo 1.3s cubic-bezier(.62,0,.38,1) forwards}
.logo-ic.dibujando .lg-e{animation-delay:.25s}
.logo-ic.dibujando .lg-i{animation-delay:.5s}
.logo-ic.dibujando .lg-m{animation-delay:.7s}
.logo-ic.dibujando .lg-v{opacity:0;animation:aparece .5s .95s forwards}
@keyframes trazo{to{stroke-dashoffset:0}}
@keyframes aparece{to{opacity:1}}

/* órbitas: elipses de proporción áurea con un astro cada una */
.orbitas{position:absolute;left:50%;top:50%;width:0;height:0;pointer-events:none}
.orb{position:absolute;left:calc(var(--a) / -2);top:calc(var(--b) / -2);width:var(--a);height:var(--b);border-radius:50%;
  border:1px solid color-mix(in srgb,var(--acento) 22%,transparent);transform:rotate(-18deg)}
.orb i{position:absolute;inset:0;border-radius:50%;animation:giro var(--t) linear infinite;animation-delay:var(--d)}
.orb i::after{content:"";position:absolute;left:50%;top:-3px;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:var(--acento);box-shadow:0 0 10px var(--acento)}
@keyframes giro{to{transform:rotate(360deg)}}

#arranque{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:34px;
  background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--acento) 7%,var(--bg)) 0,var(--bg) 61.8%);transition:opacity .5s,visibility .5s}
#arranque.fuera{opacity:0;visibility:hidden}
.arr-centro{position:relative;width:96px;height:96px}
.arr-centro .logo-ic{width:96px;height:96px;position:relative}
.arr-nombre{font-family:var(--ftit);font-weight:800;letter-spacing:.38em;font-size:13px;color:var(--suave);margin-top:40px;opacity:0;animation:aparece .6s .6s forwards}
.arr-nombre b{color:var(--acento)}
/* intro de partículas (30-sep-2026) */
#arranque{background:#060708!important;cursor:pointer}
.intro-lienzo{position:absolute;inset:0;display:block}
#arranque .arr-nombre{position:absolute;left:0;right:0;text-align:center;margin:0;animation:none;opacity:0;letter-spacing:1.1em;
  font-family:var(--ftit);font-weight:300;font-size:clamp(15px,2.2vw,22px);color:#c4c8ce;transition:opacity 1s ease,letter-spacing 1.4s cubic-bezier(.16,1,.3,1)}
#arranque .arr-nombre b{color:#e3e6ea;font-weight:500}
#arranque.con-nombre .arr-nombre{opacity:1;letter-spacing:.42em}
#arranque .arr-centro{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:160px;height:160px}
#arranque .arr-centro .logo-ic{width:160px;height:160px}

/* bienvenida: flor de la vida girando muy despacio detrás */
.bienv{position:relative;overflow:hidden;isolation:isolate}
.bienv-cosmos{position:absolute;left:50%;top:0;width:520px;height:520px;margin-left:-260px;margin-top:-170px;z-index:-1;pointer-events:none;color:color-mix(in srgb,var(--acento) 16%,transparent)}
.bienv-cosmos .flor{width:100%;height:100%;animation:giro 240s linear infinite;
  -webkit-mask-image:radial-gradient(circle,#000 30%,transparent 61.8%);mask-image:radial-gradient(circle,#000 30%,transparent 61.8%)}
.bienv-cosmos .orbitas{top:170px}
.bienv-top .logo-ic{width:62px;height:62px;margin:0 auto 14px}
.bienv-top p b{color:var(--acento)}

/* mentalidad y riesgo */
.mente{max-width:560px;width:100%;padding:0;overflow:hidden;display:flex;flex-direction:column;max-height:92vh}
.mente-cab{display:flex;align-items:center;gap:12px;padding:16px 16px 12px 20px}
.mente-cab .logo-ic{width:34px;height:34px}
.mente-cab>div{flex:1;display:flex;flex-direction:column}
.mente-cab b{font-size:17px}.mente-cab small{color:var(--tenue);font-size:12.5px}
.mente-cuerpo{overflow-y:auto;overflow-x:hidden;padding:0 20px 20px;display:flex;flex-direction:column;gap:18px}
.mente-cuerpo h5{font-size:12px;color:var(--tenue);font-weight:600;margin:0 0 8px;text-transform:uppercase;letter-spacing:.08em}
.mente-dia{position:relative;padding:18px 18px 16px;border-radius:16px;overflow:hidden;
  background:linear-gradient(135deg,color-mix(in srgb,var(--acento) 16%,var(--bg2)),var(--bg2) 61.8%)}
.mente-dia span{font-size:11.5px;color:var(--acento);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.mente-dia h3{font-size:20px;margin:6px 0 4px;line-height:1.25}
.mente-dia p{margin:0;color:var(--suave);font-size:14px;line-height:1.5}
.mente-lista{display:flex;flex-direction:column;gap:2px}
.mente-lista label{display:flex;align-items:center;gap:12px;padding:10px 8px;border-radius:10px;cursor:pointer;font-size:14px}
.mente-lista label:hover{background:var(--panel2)}
.mente-lista input{position:absolute;opacity:0;pointer-events:none}
.mente-lista i{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--linea2);flex:none;display:grid;place-items:center;transition:.15s}
.mente-lista input:checked+i{background:var(--acento);border-color:var(--acento)}
.mente-lista input:checked+i::after{content:"";width:9px;height:5px;border:2px solid var(--acentoTxt,#111);border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}
.mente-lista input:checked~span{color:var(--suave)}
.mente-ok{margin-top:8px;padding:10px 12px;border-radius:10px;background:var(--panel2);color:var(--tenue);font-size:13px;text-align:center}
.mente-ok.listo{background:color-mix(in srgb,var(--sube,#22d18b) 16%,transparent);color:var(--sube,#22d18b);font-weight:600}
.mente-calc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mente-calc label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--tenue)}
.mente-calc input{height:40px;padding:0 12px;border-radius:10px;background:var(--panel2);border:1px solid transparent;font-size:15px;color:var(--texto);font-family:var(--fnum);min-width:0}
.mente-calc input:focus{outline:0;border-color:var(--acento)}
.mente-res{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.mente-res .tenue{grid-column:1/-1;color:var(--tenue);font-size:13px;margin:0;line-height:1.5}
.mente-kpi{padding:12px;border-radius:12px;background:var(--bg2);display:flex;flex-direction:column;gap:2px;min-width:0}
.mente-kpi span{font-size:11.5px;color:var(--tenue)}
.mente-kpi b{font-family:var(--fnum);font-size:18px;overflow:hidden;text-overflow:ellipsis}
.mente-kpi small{font-size:11.5px;color:var(--suave)}
.mente-kpi .sube{color:var(--sube,#22d18b)}.mente-kpi .baja{color:var(--baja,#ff4d5e)}
@media (max-width:600px){#mMente{padding:0;align-items:stretch}.mente{max-height:none;height:100%;border-radius:0;max-width:none}.mente-cab{padding-top:max(16px,env(safe-area-inset-top))}}

/* tarjeta de mentalidad en noticias */
.nt-mente{display:flex;flex-direction:column;gap:3px;width:100%;text-align:left;padding:14px;margin-bottom:12px;border-radius:14px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--acento) 14%,var(--bg2)),var(--bg2) 61.8%);color:var(--texto)}
.nt-mente span{font-size:11px;color:var(--acento);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.nt-mente b{font-size:15px}
.nt-mente small{font-size:12.5px;color:var(--suave);line-height:1.45}
@media (prefers-reduced-motion:reduce){.orb i,.bienv-cosmos .flor{animation:none}.logo-ic.dibujando *{animation-duration:.01s!important}}
.mente-cuerpo>section{flex:none}
.logo-ic{color:var(--acento)}

/* ===== teléfono: distribución ===== */
.dib-top{display:none}
@media (max-width:900px){
  .dib-top{display:inline-flex}
  .dib-top.on{background:var(--acento);color:#111}
  #top{gap:4px;padding:0 8px}
  #top .marca{padding:0 2px 0 0}
  #simbolo{max-width:42vw}
  /* barra de abajo: cinco partes iguales, icono grande y la activa con fondo */
  #app,#app.sin-der{grid-template-rows:var(--barra) 1fr auto calc(58px + env(safe-area-inset-bottom))}
  #navMovil{justify-content:stretch;padding:0 4px env(safe-area-inset-bottom)}
  #navMovil .bt{flex:1 1 0;min-width:0;height:58px;gap:3px;font-size:10.5px;font-weight:600;color:var(--tenue);background:none;border-radius:0;padding:0}
  #navMovil .bt svg{width:22px;height:22px;padding:3px 14px;box-sizing:content-box;border-radius:14px;transition:background .15s}
  #navMovil .bt.on{color:var(--acento)}
  #navMovil .bt.on svg{background:color-mix(in srgb,var(--acento) 16%,transparent)}
  #der{bottom:calc(58px + env(safe-area-inset-bottom))}
  #der .tabs{display:none}   /* en el teléfono Alertas, Noticias, IA y Práctica están en el menú Más */
}
/* menús como hoja */
.hoja-t{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tenue);margin:14px 2px 8px}
.hoja-t:first-of-type{margin-top:4px}
.hoja-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
#hojaDib .hoja-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.hoja-grid.chips{grid-template-columns:repeat(4,minmax(0,1fr))}
.hoja-grid.chips button{min-height:44px;font-size:14px;font-weight:600;flex-direction:row}
.hoja-grid button svg{flex:none}
.hoja-grid button .menu-on{display:none}
.hoja-grid button .menu-kbd{display:none}
.hoja-grid button .menu-credito{font-size:10px}
.dib-listo{display:none!important}
@media (max-width:600px){
  .dib-barra{top:auto;bottom:10px;left:8px;right:8px;transform:none;flex-wrap:wrap;justify-content:center;gap:6px;padding:10px}
  .dib-barra button{width:38px;height:38px;border-radius:10px}
  .dib-barra .col{width:30px;height:30px}
  .dib-barra .sep{display:none}
  .dib-barra svg{width:19px;height:19px}
  .dib-listo{display:grid!important;width:auto!important;padding:0 14px;background:var(--acento)!important;color:#111!important;font-weight:700}
}

@media (max-width:600px){
  #barraRep{left:8px;right:8px;transform:none;flex-wrap:wrap;justify-content:center;white-space:normal;text-align:center;font-size:13px}
}
.ley-comp .t{display:inline-flex;align-items:center;gap:6px}
.ley-comp small{color:var(--tenue);font-weight:500}
.comp-punto{width:9px;height:9px;border-radius:50%;flex:none}
@media (max-width:900px){.ley-comp .acc{display:none}}
/* teléfono: una marca discreta que dice "tócame" junto a cada indicador */
@media (max-width:900px){
  .ley:not(.ley-principal):not(.ley-mas) .t::after{content:"";display:inline-block;width:5px;height:5px;margin:0 2px 2px 7px;border-right:1.5px solid var(--tenue);border-bottom:1.5px solid var(--tenue);transform:rotate(45deg)}
}
#hojaDib .hoja-t{margin-top:14px}
#hojaDib .hoja-cab+.hoja-t{margin-top:0}

/* analista IA: estructura */
.ia-dibujar{width:100%;justify-content:center;margin:10px 0 4px}
.ia-est{display:flex;flex-direction:column;gap:2px;margin-top:8px}
.ia-fila{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid color-mix(in srgb,var(--linea) 60%,transparent);font-size:13px}
.ia-fila>span{color:var(--suave)}
.ia-fila b{font-family:var(--fnum);font-size:12.5px;text-align:right}
.ia-pivs{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.ia-piv{font-size:11px;font-weight:700;padding:2px 7px;border-radius:9px}
.ia-piv.sube{background:color-mix(in srgb,var(--verde) 16%,transparent);color:var(--verde)}
.ia-piv.baja{background:color-mix(in srgb,var(--rojo) 16%,transparent);color:var(--rojo)}
.ia-ley{margin-top:8px;font-size:12.5px;color:var(--suave)}
.ia-ley summary{cursor:pointer;color:var(--acento);font-weight:600;list-style:none}
.ia-ley summary::-webkit-details-marker{display:none}
.ia-ley p{margin:8px 0 0;line-height:1.55}

/* perfil minimalista */
.pf{position:relative;max-width:420px;width:100%;padding:28px 20px 18px;display:flex;flex-direction:column;gap:18px;overflow-y:auto;max-height:92vh}
.pf-x{position:absolute;top:10px;right:10px}
.pf-cab{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.pf-av{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:26px;font-weight:800;color:var(--acentoTxt);
  background:linear-gradient(135deg,var(--acento2),var(--acento));margin-bottom:6px}
.pf-nombre{display:inline-flex;align-items:center;gap:6px;color:var(--tenue)}
.pf-nombre svg{width:14px;height:14px}
.pf-nombre input{background:none;border:0;outline:0;font-size:19px;font-weight:700;color:var(--texto);text-align:center;width:auto;padding:2px 4px;border-radius:6px}
.pf-nombre input:focus{background:var(--panel2)}
.pf-cab small{color:var(--tenue);font-size:12.5px}
.pf-num{display:grid;grid-template-columns:repeat(4,1fr);text-align:center;padding:6px 0}
.pf-num div{display:flex;flex-direction:column;gap:2px}
.pf-num div+div{border-left:1px solid color-mix(in srgb,var(--linea) 70%,transparent)}
.pf-num b{font-size:19px;font-family:var(--fnum);font-weight:600}
.pf-num span{font-size:11px;color:var(--tenue)}
.pf-grupo{display:flex;flex-direction:column;border-radius:14px;background:var(--bg2);overflow:hidden}
.pf-f{display:flex;align-items:center;gap:12px;height:50px;padding:0 14px;width:100%;text-align:left;color:var(--texto);font-size:14.5px;cursor:pointer;background:none;position:relative}
.pf-f+.pf-f::before{content:"";position:absolute;top:0;left:46px;right:0;height:1px;background:color-mix(in srgb,var(--linea) 70%,transparent)}
.pf-f:hover{background:var(--panel2)}
.pf-f>svg:first-child{width:19px;height:19px;color:var(--suave);flex:none}
.pf-f>span{flex:1}
.pf-f>svg.rot{width:15px;height:15px;color:var(--tenue);transform:rotate(-90deg)}
.pf-f em{font-style:normal;font-size:12.5px;color:var(--tenue)}
.pf-f em.ok{color:var(--verde)}
.pf-f input[type=checkbox]{position:absolute;opacity:0;pointer-events:none}
.pf-borrar{align-self:center;color:var(--rojo);font-size:13px;opacity:.8;padding:6px 10px}
.pf-borrar:hover{opacity:1}
@media (max-width:600px){#mPerfil .pf{max-width:none;max-height:none;height:100%;border-radius:0;padding-top:max(28px,env(safe-area-inset-top))}}
.pf-f .sw{width:40px;height:23px;border-radius:12px;background:var(--linea2);position:relative;flex:none}
.pf-f .sw::after{content:"";position:absolute;left:3px;top:3px;width:17px;height:17px;border-radius:50%;background:#fff;transition:transform .15s}
.pf-f input:checked+.sw{background:var(--acento)}.pf-f input:checked+.sw::after{transform:translateX(17px)}

.hoja-nota{margin:0 2px 12px;font-size:13.5px;line-height:1.55;color:var(--texto)}
.hoja-nota span{color:var(--suave);font-size:13px}
.ia-plan{border-radius:12px;background:var(--bg2);padding:10px 12px 4px;margin-top:10px;cursor:pointer;border:1px solid transparent;transition:border-color .15s}
.ia-plan.on{border-color:color-mix(in srgb,var(--acento) 55%,transparent)}
.ia-plan-cab{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}
.ia-plan.sube .ia-plan-cab b{color:var(--verde)}.ia-plan.baja .ia-plan-cab b{color:var(--rojo)}
.ia-plan-cab span{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--acento)}
.ia-plan .ia-fila:last-child{border-bottom:0}
.ia-plan small{color:var(--tenue);font-weight:500}
.ia-nota{display:block;margin-top:8px;color:var(--tenue);font-size:11.5px;line-height:1.45}
.ia-plan .ia-fila b{white-space:nowrap}
.ley-ia{cursor:pointer}
.ley-x{display:inline-grid;place-items:center;width:22px;height:22px;margin-left:6px;border-radius:11px;color:var(--suave);background:var(--panel2)}
.ley-x svg{width:13px;height:13px}
.ley-x:hover{color:var(--texto);background:var(--rojo)}
.ia-quitar{margin:0 14px 6px;width:calc(100% - 28px)}
.ley-ia .t::after{display:none!important}
/* logo en blanco y negro (en el tema claro, negro) */
.logo-ic{color:var(--texto)}
.logo-marca{filter:none}
/* marca en blanco y negro: CHARTS más fina en vez de dorada; órbitas y flor en gris */
.marca b,.arr-nombre b{color:var(--texto);font-weight:500}
[data-estilo] .marca b{color:var(--texto)}
.orb{border-color:color-mix(in srgb,var(--texto) 16%,transparent)}
.orb i::after{background:var(--texto);box-shadow:0 0 10px color-mix(in srgb,var(--texto) 70%,transparent)}
.bienv-cosmos{color:color-mix(in srgb,var(--texto) 12%,transparent)}
#arranque{background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--texto) 5%,var(--bg)) 0,var(--bg) 61.8%)}
/* ---------- IA: chat con el gráfico y estrategia en palabras (ia_chat.js) ---------- */
.ia-modos{display:flex;gap:4px;padding:10px 12px 0}
.ia-modos .bt{flex:1;justify-content:center;height:32px;font-size:12.5px;border-radius:9px;background:transparent;color:var(--suave)}
.ia-modos .bt.on{background:var(--panel2);color:var(--texto)}
.ia-cuerpo{flex:1;display:flex;flex-direction:column;min-height:0}
.iac{flex:1;display:flex;flex-direction:column;min-height:0}
.iac-msgs{flex:1;display:flex;flex-direction:column;gap:10px;padding:14px 12px 8px;font-size:13px;line-height:1.5}
.iac-vacio{padding:18px 6px 6px;color:var(--suave)}
.iac-vacio b{display:block;color:var(--texto);font-size:15px;margin-bottom:6px}
.iac-m{max-width:92%;padding:9px 12px;border-radius:14px;overflow-wrap:anywhere}
.iac-m.yo{align-self:flex-end;background:color-mix(in srgb,var(--acento) 16%,var(--panel2));border-bottom-right-radius:5px}
.iac-m.ia{align-self:flex-start;background:var(--panel2);border-bottom-left-radius:5px}
.iac-m.ia.error{background:color-mix(in srgb,var(--rojo) 12%,var(--panel2));color:var(--texto)}
.iac-m .ia-cargando{padding:2px 0}
.iac-nivs{margin-top:8px;border-top:1px solid var(--linea);padding-top:4px}
.iac-niv{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:5px 0;font-size:12px}
.iac-niv span{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--c)}
.iac-niv em{font-style:normal;color:var(--suave);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.iac-niv b{font-family:var(--fnum);font-variant-numeric:tabular-nums}
.iac-dib{width:100%;justify-content:center;margin-top:6px;height:32px;background:var(--panel)}
.iac-pie{position:sticky;bottom:0;background:var(--bg2);border-top:1px solid var(--linea);padding:8px 12px 10px}
.iac-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.iac-chip{border:1px solid var(--linea2);background:transparent;color:var(--texto);border-radius:14px;padding:5px 10px;font:inherit;font-size:12px;cursor:pointer;text-align:left;line-height:1.3}
.iac-chip:hover{border-color:var(--acento);color:var(--acento)}
.iac-caja{display:flex;gap:6px;align-items:flex-end}
.iac-caja textarea,.iae textarea{flex:1;resize:none;border:1px solid var(--linea2);background:var(--panel);color:var(--texto);border-radius:10px;padding:8px 10px;font:inherit;font-size:13px;line-height:1.4;min-height:36px;outline:0}
.iac-caja textarea:focus,.iae textarea:focus{border-color:var(--acento)}
.iac-caja .bt{height:36px;padding:0 14px}
.iac-caja .bt:disabled,.iae .bt:disabled{opacity:.55;cursor:default}
.iae{display:flex;flex-direction:column;gap:10px;padding:14px 12px;font-size:13px;line-height:1.5}
.iae-intro{color:var(--suave)}
.iae textarea{width:100%}
.iae .iac-chips{margin:0}
.iae-go{justify-content:center;height:36px}
.iae-no{border:1px solid color-mix(in srgb,var(--rojo) 40%,transparent);border-radius:10px;padding:10px 12px}
.iae-no ul{margin:6px 0 0 18px;color:var(--suave);font-size:12px}
.iae-res{display:flex;flex-direction:column;gap:10px}
.iae-tit b{font-size:15px}.iae-tit p{color:var(--suave);margin-top:2px}
.iae-sec{border-left:2px solid var(--linea2);padding-left:10px}
.iae-sec h6{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--tenue);margin-bottom:2px}
.iae-sec h6.sube{color:var(--verde)}.iae-sec h6.baja{color:var(--rojo)}
.iae-sec p{font-size:12.5px}.iae-sec i{font-style:normal;color:var(--acento)}
.iae-y{font-size:10.5px;font-weight:800;color:var(--acento);text-transform:uppercase;margin-right:6px}
.iae-conf{display:flex;gap:6px;flex-wrap:wrap}
.iae-conf span{padding:3px 9px;border-radius:12px;background:var(--panel2);font-size:11.5px;color:var(--suave)}
.iae-kpis{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--linea);border-radius:10px;overflow:hidden}
.iae-kpis .kpi{border-bottom:1px solid var(--linea)}
.iae-kpis .kpi:nth-child(2n){border-right:0}
.iae-kpis .kpi:nth-last-child(-n+2){border-bottom:0}
.iae-acc{display:flex;gap:6px;flex-wrap:wrap}
.iae-acc .bt{flex:1 1 auto;justify-content:center;height:34px}
.iae-acc #iaeVer{flex-basis:100%}
@media (max-width:900px){.iac-caja textarea,.iae textarea{font-size:16px}.iac-m{max-width:96%}}
.iae-acc .bt:not(.prim){background:var(--panel2)}
/* con el probador abierto, su contenido ensanchaba la columna central y empujaba el panel derecho fuera de la pantalla */
@media (min-width:901px){#app{grid-template-columns:var(--izq) minmax(0,1fr) var(--der)}#app.sin-der{grid-template-columns:var(--izq) minmax(0,1fr) 0}}

/* ---------- probador: selector con fichas, informe ampliado y laboratorio (27-sep) ---------- */
.pb-cab{overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap}
.pb-cab::-webkit-scrollbar{display:none}
.pb-cab .bt,.pb-tit{flex-shrink:0}
.pb-elegir{display:flex;align-items:center;gap:8px;height:38px;max-width:340px;min-width:150px;padding:0 10px;border:1px solid var(--linea);border-radius:10px;background:var(--panel);color:var(--texto);flex-shrink:1}
.pb-elegir small{font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--acento);white-space:nowrap}
.pb-elegir span{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;text-align:left}
.pb-elegir svg{width:16px;height:16px;flex-shrink:0;color:var(--suave)}
.pb-elegir:hover{border-color:var(--acento)}
.pb-sep{width:1px;height:22px;background:var(--linea);flex-shrink:0}
.pb-lab svg{color:var(--acento)}
.pb-cuerpo{position:relative}
.pb-cuerpo.con-sel{overflow:hidden}
.pb-desc{display:flex;gap:8px;align-items:flex-start}
.pb-desc p{flex:1;margin:0}
.pb-q{width:22px;height:22px;border-radius:50%;border:1px solid var(--linea);color:var(--suave);font-weight:800;font-size:12px;flex-shrink:0;display:grid;place-items:center;background:var(--panel);cursor:pointer}
.pb-q.on,.pb-q:hover{border-color:var(--acento);color:var(--acento)}
.pb-ficha{border:1px solid var(--linea);border-radius:10px;background:var(--panel);padding:8px 10px;margin:0 0 10px;display:grid;gap:7px;font-size:12px}
.pb-ficha[hidden]{display:none}
.pb-ficha div{display:flex;flex-direction:column;gap:1px}
.pb-ficha b{font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--tenue)}
.pb-ficha span{color:var(--texto);line-height:1.45}
.pb-sel{position:absolute;inset:0;z-index:5;background:var(--bg2);display:flex;flex-direction:column;min-height:0}
.pb-sel[hidden]{display:none}
.pbs-cab{display:flex;gap:8px;padding:8px 10px;border-bottom:1px solid var(--linea)}
.pbs-buscar{flex:1;display:flex;align-items:center;gap:8px;height:38px;padding:0 10px;border:1px solid var(--linea);border-radius:10px;background:var(--panel)}
.pbs-buscar:focus-within{border-color:var(--acento)}
.pbs-buscar svg{width:17px;height:17px;color:var(--tenue);flex-shrink:0}
.pbs-buscar input{flex:1;min-width:0;background:none;border:0;outline:0;height:100%;font-size:14px;color:var(--texto)}
.pbs-chips{display:flex;gap:6px;padding:8px 10px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--linea);flex-shrink:0}
.pbs-chips::-webkit-scrollbar{display:none}
.pbs-chip{height:30px;padding:0 12px;border-radius:999px;border:1px solid var(--linea);color:var(--suave);font-weight:600;font-size:12.5px;white-space:nowrap;flex-shrink:0}
.pbs-chip small{color:var(--tenue);font-weight:600;margin-left:3px}
.pbs-chip.on{background:var(--acento);border-color:var(--acento);color:var(--acentoTxt)}
.pbs-chip.on small{color:inherit;opacity:.8}
.pbs-lista{flex:1;min-height:0;overflow:auto;padding:8px;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:6px;align-content:start}
.pbs-it{display:grid;grid-template-columns:1fr auto;gap:4px 8px;padding:9px 10px;border:1px solid var(--linea);border-radius:10px;cursor:pointer;background:var(--panel);align-self:start}
.pbs-it:hover{border-color:color-mix(in srgb,var(--acento) 50%,var(--linea))}
.pbs-it.on{border-color:var(--acento);box-shadow:inset 3px 0 0 var(--acento)}
.pbs-tx{min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px}
.pbs-tx b{font-size:13px}
.pbs-cat{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--acento)}
.pbs-tx small{flex-basis:100%;color:var(--suave);font-size:12px;line-height:1.4}
.pbs-it .pb-ficha{grid-column:1/-1;margin:4px 0 0;background:var(--bg2);cursor:default}
.pb-aviso{margin:8px 10px 0;padding:8px 10px;border-radius:8px;background:color-mix(in srgb,#f5c542 13%,transparent);border:1px solid color-mix(in srgb,#f5c542 38%,transparent);font-size:12px;color:var(--texto);line-height:1.45}
.lab-cuerpo .pb-aviso{margin:0 0 8px}
.kpis.kpis10{grid-template-columns:repeat(5,minmax(0,1fr))}
.kpis10 .kpi{border-bottom:1px solid var(--linea)}
.kpis10 .kpi:nth-child(n+6){border-bottom:0}
.pb-leyenda{position:absolute;top:6px;left:10px;z-index:3;display:flex;gap:12px;font-size:11px;color:var(--suave);pointer-events:none}
.pb-leyenda span::before{content:'';display:inline-block;width:14px;height:0;border-top:2px solid #1fc97a;vertical-align:middle;margin-right:5px}
.pb-leyenda .l2::before{border-top:2px dashed var(--tenue)}
.pb-meses .pb-barra{width:40%;min-width:80px}
.pb-barra i{display:block;height:8px;border-radius:4px;min-width:2px}
.b-sube{background:#1fc97a}.b-baja{background:#f0434f}
.lab{display:flex;flex-direction:column;min-height:0;flex:1}
.lab-cab{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--linea)}
.lab-cab div{display:flex;flex-direction:column;min-width:0}
.lab-cab b{font-size:14px}
.lab-cab small{color:var(--tenue);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lab-cab .bt{flex-shrink:0}
.lab-prog{position:relative;display:flex;align-items:center;gap:10px;padding:4px 12px;border-bottom:1px solid var(--linea);font-size:12px;color:var(--suave)}
.lab-prog[hidden]{display:none}
.lab-prog i{position:absolute;left:0;bottom:-1px;height:2px;background:var(--acento);transition:width .15s}
.lab-prog span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lab-cuerpo{flex:1;min-height:0;overflow:auto;padding:10px 12px 14px}
.lab-resumen{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:12.5px;color:var(--suave);margin-bottom:8px}
.lab-resumen b{color:var(--texto)}
.lab-check{display:flex;align-items:center;gap:6px;cursor:pointer}
.lab-tabla{overflow:auto;border:1px solid var(--linea);border-radius:10px}
.lab-tabla table{width:100%;border-collapse:collapse;font-size:12.5px;font-variant-numeric:tabular-nums}
.lab-tabla th{position:sticky;top:0;background:var(--bg2);text-align:left;color:var(--tenue);font-weight:600;padding:7px 10px;border-bottom:1px solid var(--linea);white-space:nowrap;z-index:1}
.lab-tabla th.ord{cursor:pointer}.lab-tabla th.ord.on{color:var(--acento)}
.lab-tabla td{padding:7px 10px;border-bottom:1px solid var(--linea);white-space:nowrap}
.lab-tabla tr:last-child td{border-bottom:0}
.lab-tabla tr[data-id]{cursor:pointer}
.lab-tabla tr[data-id]:hover td{background:var(--panel2)}
.lab-tabla tr.actual td{background:color-mix(in srgb,var(--acento) 9%,transparent)}
.lab-tabla tr.poco td{opacity:.6}
.lab-nom b{display:block;font-size:12.5px}.lab-nom small{color:var(--tenue);font-size:11px}
.lab-tabla td.lab-par{white-space:normal;min-width:200px;color:var(--suave)}.lab-par b{color:var(--texto)}
.lab-tag{display:inline-block;padding:2px 7px;border-radius:999px;font-size:10.5px;font-weight:700;background:color-mix(in srgb,#f5c542 16%,transparent);color:#c9950c}
.lab-tag.rojo{background:color-mix(in srgb,#f0434f 14%,transparent);color:#f0434f}
.lab-tag.verde{background:color-mix(in srgb,#1fc97a 14%,transparent);color:#15a865}
.lab-nota{color:var(--tenue);font-size:11.5px;margin:8px 0 0;line-height:1.45}
.lab-rangos{display:grid;gap:5px;margin:10px 0}
.lr-f{display:grid;grid-template-columns:22px minmax(110px,1.6fr) repeat(3,minmax(56px,1fr));gap:6px;align-items:center;font-size:12px}
.lr-cab{color:var(--tenue);font-size:11px}
.lr-f span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lr-f small{color:var(--tenue)}
.lr-f input[type=number],.lab-opc input,.lab-opc select{height:32px;border-radius:7px;border:1px solid var(--linea);background:var(--bg);padding:0 8px;outline:0;width:100%;min-width:0;color:var(--texto)}
.lr-f input[type=checkbox]{width:16px;height:16px;accent-color:var(--acento)}
.lr-f input:disabled{opacity:.4}
.lab-opc{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin:8px 0 12px}
.lab-opc label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--suave);min-width:130px}
.lab-opc .lab-ancho{flex:1;min-width:220px}
.lab-opc .lab-nota{margin:0;align-self:center;flex:1;min-width:160px}
.lab-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--linea);border-radius:10px;margin-bottom:8px;overflow:hidden}
.lab-kpis .kpi:last-child{border-right:0}
@media (max-width:900px){
  .kpis.kpis10,.lab-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kpis10 .kpi:nth-child(n+6){border-bottom:1px solid var(--linea)}
  .pb-elegir{max-width:62vw}
  .pb-lab span{display:none}
  .pb-lab#pbRank span{display:inline}
  .pbs-lista{grid-template-columns:1fr}
  .pbs-buscar input{font-size:16px}
  .lab-cuerpo{overflow:visible}
  .lab-opc input,.lr-f input[type=number]{font-size:16px}
  .lr-f{grid-template-columns:22px minmax(0,1.4fr) repeat(3,minmax(0,1fr))}
}
/* ajustes del probador tras verlo en pantalla */
#abajo{container-type:inline-size}
@media (min-width:901px){#abajo{height:380px}}
.pb-elegir{flex-shrink:0;min-width:210px}
.pb-cuerpo.lab-on{grid-template-columns:minmax(0,1fr)}
.pb-cuerpo.lab-on .pb-conf{display:none}
.kpis10 .kpi{padding:7px 12px}
.kpis10 .kpi b{font-size:14.5px}
.lab-tabla td,.lab-tabla th{padding:6px 9px}
.lab-nom{white-space:normal!important;min-width:170px}
@container (max-width:1180px){.pb-lab:not(#pbRank) span,.pb-cab .pb-nota{display:none}}
@container (max-width:980px){.pb-tit span{display:none}}
.pb-herr{display:contents}
.pb-lab .l-corto{display:none}
@media (max-width:900px){
  .pb-cab{flex-wrap:wrap;overflow:visible;row-gap:6px;padding:8px 10px 6px}
  .pb-tit,.pb-cab .hueco,.pb-cab .pb-nota{display:none}
  .pb-elegir{order:1;flex:1;max-width:none;min-width:0}
  #pbRun{order:2}
  #pbCerrar{order:3}
  .pb-herr{order:4;display:flex;align-items:center;gap:4px;width:100%;overflow-x:auto;scrollbar-width:none}
  .pb-herr::-webkit-scrollbar{display:none}
  .pb-herr .pb-sep{display:none}
  .pb-herr .bt{flex-shrink:0;padding:0 10px}
  .pb-herr .bt span{display:none}
  .pb-herr #pbRank{background:var(--panel2);color:var(--texto)}
  .pb-herr #pbRank .l-corto{display:inline}
  .pb-herr #pbRank .l-largo{display:none}
  .lab-tabla .n{display:none}
  .lab-nom{min-width:120px}
}
@media (max-width:900px){.pb-cab .pb-tit,.pb-elegir small{display:none}}
@container (max-width:1180px){.pb-tit span,#pbCrear span,#pbEditar span{display:none}}

/* ---------- compartir con marca (js/compartir.js) ---------- */
.cmp-caja{max-width:720px}
.cmp-cuerpo{display:flex;flex-direction:column;gap:12px;padding:0 16px 16px;overflow-y:auto;min-height:0}
.cmp-prev{background:#000;border:1px solid var(--linea);border-radius:10px;overflow:hidden;display:grid;place-items:center}
.cmp-prev img{display:block;max-width:100%;max-height:min(50vh,420px);object-fit:contain}
.cmp-enlace{display:flex;gap:8px;min-width:0}
.cmp-enlace input{flex:1;min-width:0;height:38px;padding:0 10px;border-radius:8px;border:1px solid var(--linea2);background:var(--bg2);font:13px/1 var(--fnum,ui-monospace,monospace);color:var(--texto)}
.cmp-enlace .bt{border:1px solid var(--linea2);flex:none}
.cmp-acc{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.cmp-acc .bt{justify-content:center;border:1px solid var(--linea2);text-decoration:none;color:var(--texto)}
.cmp-acc .bt.prim{border-color:transparent;color:var(--acentoTxt)}
.cmp-nota{color:var(--tenue);font-size:12px;line-height:1.45}
.ci-exp-pie .cmp-ind{margin-left:auto;border:1px solid var(--linea2)}
.ci-exp-pie .cmp-ind + .bt{margin-left:0}
.cmp-aviso{position:absolute;top:8px;left:50%;transform:translateX(-50%);z-index:12;display:flex;align-items:center;gap:10px;padding:5px 5px 5px 12px;
  background:var(--panel);border:1px solid var(--linea2);border-radius:12px;box-shadow:var(--sombra);max-width:calc(100% - 16px)}
.cmp-av-t{display:flex;align-items:center;gap:8px;min-width:0;color:var(--suave);white-space:nowrap;overflow:hidden}
.cmp-av-t>span{overflow:hidden;text-overflow:ellipsis}
.cmp-av-t b{color:var(--texto)}
.cmp-av-b{display:flex;gap:6px;flex:none}
.cmp-av-b .bt{height:32px;border:1px solid var(--linea2)}
.cmp-av-b .bt.prim{border-color:transparent}
body.vista-comp #leyendas .leyenda:first-child{margin-top:46px}
@media (max-width:700px){
  .cmp-aviso{left:8px;right:8px;transform:none;flex-wrap:wrap;gap:6px;padding:8px}
  .cmp-av-t{width:100%;padding:0 4px}
  .cmp-av-b{width:100%}
  .cmp-av-b .bt{flex:1;justify-content:center;padding:0 8px}
  body.vista-comp #leyendas .leyenda:first-child{margin-top:84px}
  .cmp-acc{grid-template-columns:1fr 1fr}
  .cmp-acc .bt:last-child:nth-child(odd){grid-column:1 / -1}
  .cmp-enlace input{font-size:16px}
}

/* ---------- arreglos de experiencia (auditoría) ---------- */
.ic.arriba{transform:rotate(180deg)}
.lw-pista{font-size:11.5px;color:var(--tenue);text-align:center;padding:10px 14px 16px;line-height:1.4}
#toast{max-width:calc(100% - 32px)}
#toast.con-accion{display:flex;align-items:center;gap:14px;pointer-events:auto}
.toast-acc{color:var(--acento);font-weight:700;padding:6px 4px;min-height:36px}
#sinRed{position:absolute;left:50%;top:8px;transform:translateX(-50%);z-index:7;display:none;align-items:center;gap:8px;max-width:calc(100% - 24px);padding:7px 14px;border-radius:18px;background:color-mix(in srgb,var(--panel) 92%,transparent);border:1px solid var(--linea2);color:var(--texto);font-size:12.5px;font-weight:600;box-shadow:var(--sombra)}
#sinRed.on{display:flex}
#sinRed i{width:8px;height:8px;border-radius:50%;background:var(--rojo);flex:none}
.sim-mk .sim-mas{font-style:normal;font-weight:700;color:var(--acento)}
@media (max-width:900px){
  #toast{bottom:calc(56px + 14px + env(safe-area-inset-bottom))}
  #top .bt,#simbolo{min-height:44px;min-width:44px}
  .lw-barra .bt.ic-solo{width:44px;height:44px}
  .lw-filtro{height:44px}
  .hoja-cab .bt.ic-solo,.cab .bt.ic-solo{min-width:44px;min-height:44px}
}
/* probador en el teléfono: el formulario y los resultados van uno debajo del otro (nada se tapa)
   y las tablas del laboratorio se leen como tarjetas, sin deslizar de lado */
@media (max-width:900px){
  .pb-cuerpo{grid-auto-rows:max-content;align-content:start}
  .pb-conf,.pb-res{overflow:visible}
}
@media (max-width:600px){
  .lab-tabla{overflow:visible;border:0;border-radius:0}
  .lab-tabla table,.lab-tabla tbody{display:block}
  .lab-tabla thead{display:block;margin-bottom:6px}
  .lab-tabla thead tr{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
  .lab-tabla thead th{position:static;display:none;border:0;background:none}
  .lab-tabla thead th.ord{display:block;padding:5px 11px;border-radius:14px;background:var(--panel2);color:var(--suave);font-size:12px}
  .lab-tabla thead th.ord.on{color:var(--acentoTxt);background:var(--acento)}
  .lab-tabla tbody tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 10px;padding:10px 12px;border:1px solid var(--linea);border-radius:12px;margin-bottom:8px}
  .lab-tabla td{display:flex;flex-direction:column;gap:1px;padding:0!important;border:0!important;white-space:normal;min-width:0;font-size:13px}
  .lab-tabla td::before{content:attr(data-l);font-size:10.5px;color:var(--tenue);font-weight:600}
  .lab-tabla td[data-l=""]::before,.lab-tabla td.lab-nom::before{display:none}
  .lab-tabla td.lab-nom,.lab-tabla td.lab-par,.lab-tabla td:empty{grid-column:1 / -1}
  .lab-tabla td:empty{display:none}
  .lab-tabla td.n{display:none}
  .lab-nom{min-width:0!important}
}
.ley-u{font-size:10px;color:var(--tenue);margin-left:3px;font-weight:600}
.lw-leyenda{font-size:10.5px;color:var(--tenue);text-align:right;padding:4px 14px 0}
.pill small{font-size:.8em;opacity:.75;font-weight:600}
/* teléfono: zonas de toque de al menos 44 px */
@media (max-width:900px){
  #der .tabs .bt{height:44px}
  .lw-sec-t{min-height:44px}
  .lw-filtro input{height:100%}
  .ley-mas{position:relative}
  .ley-mas::after{content:'';position:absolute;inset:-13px -8px}
}

/* teléfono: la barra de arriba (mercado, temporalidad, dibujo…) solo tiene sentido en el gráfico.
   En la Lista, Alertas, Noticias, IA y Práctica se oculta y el panel sube hasta arriba. */
@media (max-width:900px){
  body:has(#der.movil-on) #top{display:none}
  body:has(#der.movil-on) #der.movil-on{top:0;padding-top:env(safe-area-inset-top)}
}

/* ---------- editor de Iron Script (js/editor_script.js) ---------- */
.es{position:fixed;z-index:45;display:none;flex-direction:column;background:var(--panel);border-top:1px solid var(--linea2);box-shadow:0 -12px 32px rgba(0,0,0,.35);left:var(--izq);right:0;bottom:0;height:min(46vh,460px)}
.es.on{display:flex}
body:has(#app:not(.sin-der)) .es{right:var(--der)}
.es.min{height:44px}
.es.min .es-tabs,.es.min .es-cuerpo{display:none}
.es-cab{display:flex;align-items:center;gap:8px;padding:5px 8px 5px 12px;border-bottom:1px solid var(--linea);min-height:44px}
.es-titulo{display:flex;align-items:baseline;gap:10px;min-width:0;flex:1;cursor:pointer}
.es-titulo b{font-size:13px;letter-spacing:.3px;color:var(--acento);flex:none}
.es-nombre{font-weight:600;color:var(--texto);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.es-nombre.sucio::after{content:" ·";color:var(--acento)}
.es-acc{display:flex;gap:2px;flex:none}
.es-acc .bt{height:32px;font-size:12.5px}
.es-prim{background:var(--acento);color:var(--acentoTxt)!important}
.es-prim:hover{background:var(--acento2)}
.es.min .es-mm svg{transform:rotate(180deg)}
.es-tabs{display:none}
.es-cuerpo{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 300px;min-height:0}
.es-zona{display:flex;flex-direction:column;min-width:0;min-height:0;border-right:1px solid var(--linea)}
.es-code{flex:1;display:flex;min-height:0;overflow:hidden;background:var(--bg);font:13px/20px var(--fnum)}
.es-num{flex:none;width:40px;padding:10px 8px 10px 0;text-align:right;color:var(--tenue);user-select:none;will-change:transform}
.es-num span{display:block}
.es-num span.mal{color:var(--rojo,#f0434f);font-weight:700}
.es-capa{position:relative;flex:1;min-width:0;overflow:hidden}
.es-pre,.es-ta{position:absolute;inset:0;margin:0;padding:10px 12px;font:inherit;tab-size:4;white-space:pre;overflow-wrap:normal}
.es-pre{pointer-events:none;color:var(--texto);will-change:transform;overflow:visible}
.es-ta{width:100%;height:100%;resize:none;border:0;outline:0;background:transparent;color:transparent;caret-color:var(--acento);overflow:auto}
.es-ta::selection{background:color-mix(in srgb,var(--acento) 30%,transparent);color:transparent}
.es-pre i{font-style:normal}
.es-c{color:var(--tenue)}.es-s{color:#a5d6a7}.es-n{color:#f9a875}.es-k{color:#c792ea;font-weight:600}.es-d{color:#82aaff}.es-f{color:#4fd1c5}.es-col{color:#f5c542}
.es-sug{display:flex;gap:4px;padding:0 8px;overflow-x:auto;scrollbar-width:none;min-height:0}
.es-sug:not(:empty){padding:4px 8px;border-top:1px solid var(--linea)}
.es-sug button{font:12px var(--fnum);padding:3px 8px;border-radius:6px;background:var(--panel2);color:var(--texto);white-space:nowrap}
.es-estado{display:flex;gap:10px;align-items:center;padding:5px 12px;border-top:1px solid var(--linea);font-size:12px;color:var(--suave);min-height:28px;white-space:nowrap;overflow:hidden}
.es-estado span{overflow:hidden;text-overflow:ellipsis}
.es-estado.con-error{cursor:pointer;color:var(--texto)}
.es-lado{overflow:auto;min-height:0;padding:8px}
.es-lado [data-panel]{display:flex;flex-direction:column;gap:4px}
.es-lado [data-panel][hidden]{display:none}
.es-vacio{color:var(--tenue);font-size:12.5px;padding:8px 4px;line-height:1.5}
.es-err{display:flex;gap:8px;text-align:left;padding:8px;border-radius:8px;background:color-mix(in srgb,#f0434f 9%,transparent);font-size:12.5px;line-height:1.4;color:var(--texto)}
.es-err:hover{background:color-mix(in srgb,#f0434f 16%,transparent)}
.es-err-l{flex:none;font-weight:700;color:#f0434f;font-size:11.5px;padding-top:1px}
.es-err small{display:block;color:var(--suave);margin-top:2px}
.es-qf{width:100%;height:32px;padding:0 10px;border-radius:8px;background:var(--panel2);border:1px solid var(--linea);color:var(--texto);margin-bottom:4px}
.es-fl{display:flex;flex-direction:column;gap:2px}
.es-fn{display:flex;flex-direction:column;gap:2px;text-align:left;padding:6px 8px;border-radius:7px}
.es-fn:hover{background:var(--panel2)}
.es-fn code{font:12px var(--fnum);color:#4fd1c5}
.es-fn span{font-size:11.5px;color:var(--suave);line-height:1.35}
.es-nuevo{justify-content:center;margin-bottom:4px;background:var(--panel2)}
.es-mio{display:flex;align-items:center;border-radius:8px}
.es-mio.on{background:var(--panel2)}
.es-mio>button:first-child{flex:1;display:flex;flex-direction:column;text-align:left;padding:7px 8px;min-width:0}
.es-mio b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.es-mio small{font-size:11px;color:var(--tenue)}
.es-mio .ic-solo{width:32px;height:32px;display:grid;place-items:center;color:var(--tenue);border-radius:7px}
.es-mio .ic-solo:hover{color:#f0434f}
.ci-crear{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:12px;margin:4px 4px 10px;border-radius:12px;background:color-mix(in srgb,var(--acento) 9%,var(--panel2));border:1px solid color-mix(in srgb,var(--acento) 30%,transparent)}
.ci-crear div{display:flex;flex-direction:column;gap:2px;min-width:0}
.ci-crear small{color:var(--suave);font-size:12px;line-height:1.35}
.ci-crear .bt{flex:none}
@media (max-width:900px){
  .es{left:0;right:0;top:0;height:auto;bottom:0;z-index:60;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
  body:has(#app:not(.sin-der)) .es{right:0}
  .es.min{top:auto;height:calc(48px + env(safe-area-inset-bottom))}
  .es-acc .bt span{display:none}
  .es-acc .bt{width:38px;padding:0;justify-content:center}
  .es-tabs{display:flex;gap:2px;padding:4px 6px;border-bottom:1px solid var(--linea);overflow-x:auto;scrollbar-width:none}
  .es-tabs button{flex:1;height:32px;border-radius:8px;font-size:12.5px;font-weight:600;color:var(--suave);white-space:nowrap;padding:0 8px}
  .es-tabs button.on{background:var(--panel2);color:var(--texto)}
  .es-cuerpo{display:flex;flex-direction:column}
  .es-zona{border:0;flex:1}
  .es-zona[hidden]{display:none}
  .es-lado{flex:1}
  .es-lado:not(:has([data-panel]:not([hidden]))){display:none}
  .es-code{font-size:13.5px;line-height:21px}
  .es-num{width:32px}
}
@media (min-width:901px){.es-tabs .solo-movil{display:none}.es-zona[hidden]{display:flex}}

/* ---------- tienda de indicadores, publicar y panel del creador (js/tienda.js, publicar_script.js, ventas_creador.js) ---------- */
.ti-m .caja:focus,.pu-m .caja:focus,.cv-m .caja:focus{outline:0}
.ti-m,.pu-m,.cv-m{align-items:center;z-index:65}   /* por encima del editor (60 en el teléfono) y de las hojas */
body.con-editor #mCuenta{z-index:66}
#mTienda{align-items:flex-start}
.ti-cargando{padding:40px 20px;text-align:center;color:var(--suave)}
.bt.cargando{opacity:.6;pointer-events:none}
/* tienda */
.ti-caja{max-width:980px;height:min(720px,calc(100vh - 90px))}
.ti-cab,.cv-cab,.pu-cab{display:flex;align-items:center;gap:8px;padding:16px 16px 8px 20px;flex:none}
.ti-cab h2,.cv-cab h2{font-size:18px;font-weight:800;letter-spacing:-.2px}
.ti-cab .cab-link{height:34px}
.ti-barra{display:flex;gap:8px;padding:4px 20px 10px;flex:none}
.ti-busca{height:42px}
.ti-orden{flex:none;height:42px;padding:0 12px;border-radius:11px;border:0;background:var(--panel2);color:var(--texto);font-weight:600;outline:0}
.ti-orden:focus-visible{box-shadow:0 0 0 1px var(--acento)}
.ti-filtros{display:flex;gap:6px;padding:0 20px 12px;flex:none;flex-wrap:wrap}
.ti-filtros button{height:32px;padding:0 14px;border-radius:16px;color:var(--suave);font-weight:600;font-size:13px;background:var(--panel2);white-space:nowrap}
.ti-filtros button:hover{color:var(--texto)}
.ti-filtros button.on{background:var(--texto);color:var(--bg)}
.ti-lista{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:4px 20px 20px;border-top:1px solid color-mix(in srgb,var(--linea) 60%,transparent)}
.ti-rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;padding-top:14px}
.ti-t{display:flex;flex-direction:column;gap:5px;min-width:0;min-height:148px;padding:14px 16px;border-radius:14px;background:var(--bg2);border:1px solid var(--linea);text-align:left;transition:border-color .12s,transform .12s}
.ti-t:hover{border-color:var(--linea2)}
.ti-t:focus-visible{outline:0;border-color:var(--acento)}
.ti-t-n{font-size:15px;font-weight:700;color:var(--texto);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ti-t-a{font-size:12px;color:var(--tenue)}
.ti-t-d{font-size:12.5px;line-height:1.45;color:var(--suave);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ti-t-pie{margin-top:auto;padding-top:8px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.ti-t-pie b{font-size:13.5px;font-weight:700;color:var(--texto);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ti-gratis{color:var(--verde)!important}
.ti-t-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--tenue);white-space:nowrap}
.ti-t-meta svg{width:13px;height:13px}
.ti-val,.ti-cerr{display:inline-flex;align-items:center;gap:3px}
.ti-esq{background:linear-gradient(90deg,var(--bg2),var(--panel2),var(--bg2));background-size:200% 100%;animation:ntbrillo 1.2s linear infinite;border-color:transparent}
.ti-vacio{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:56px 16px;color:var(--suave)}
.ti-vacio b{font-size:15px;color:var(--texto)}
.ti-vacio span{max-width:380px;line-height:1.5}
.ti-vacio .bt{margin-top:6px}
.ti-mas{display:flex;margin:16px auto 0;background:var(--panel2);color:var(--texto)}
/* ficha y compra */
.ti-ficha{max-width:560px;max-height:calc(100vh - 60px)}
.ti-fcab{display:flex;align-items:center;gap:6px;padding:10px 10px 0 8px;flex:none}
.ti-volver{padding:0 10px 0 6px;gap:2px}
.ti-fcuerpo{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:6px 22px 16px;display:flex;flex-direction:column;gap:12px}
.ti-fcuerpo h2{font-size:21px;font-weight:800;letter-spacing:-.2px;line-height:1.25;overflow-wrap:anywhere}
.ti-fdatos{font-size:13px;color:var(--suave);margin-top:-6px}
.ti-fdatos b{color:var(--texto);font-weight:600}
.ti-fchips{display:flex;flex-wrap:wrap;gap:6px}
.ti-fchips span{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 11px;border-radius:14px;background:var(--panel2);font-size:12.5px;font-weight:600;color:var(--suave)}
.ti-fchips svg{width:14px;height:14px}
.ti-fchips .ti-precio{color:var(--acento)}
.ti-fchips .ti-gratis{background:color-mix(in srgb,var(--verde) 12%,var(--panel2))}
.ti-fdesc{font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.ti-fdesc.vacia{color:var(--tenue)}
.ti-codigo{border-radius:12px;background:var(--bg);border:1px solid var(--linea)}
.ti-codigo summary{cursor:pointer;padding:10px 14px;font-weight:600;font-size:13px;color:var(--suave)}
.ti-codigo pre{margin:0;padding:0 14px 14px;max-height:280px;overflow:auto;font:12.5px/1.55 var(--fnum);white-space:pre;color:var(--texto)}
.ti-nota{font-size:12.5px;line-height:1.5;color:var(--suave)}
.ti-fpie{flex:none;display:flex;flex-direction:column;gap:10px;padding:14px 22px 18px;border-top:1px solid color-mix(in srgb,var(--linea) 60%,transparent)}
.ti-acc{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.ti-acc .bt{height:42px;border-radius:11px;font-weight:700;background:var(--panel2);color:var(--texto)}
.ti-acc .bt.prim{background:var(--acento);color:var(--acentoTxt)}
.ti-acc .bt[disabled]{opacity:.55;cursor:default}
.ti-tienes{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--suave)}
.ti-tienes svg{color:var(--verde);width:18px;height:18px;stroke-width:2.4}
.ti-tienes b{color:var(--texto)}
.ti-compra{gap:14px}
.ti-unico{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:12px;background:var(--bg2);border:1px solid var(--acento);font-weight:600}
.ti-unico b{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}
.ti-pago .caja{max-width:380px}
/* publicar */
.pu-caja{max-width:560px;max-height:calc(100vh - 60px)}
.pu-corta{max-width:440px}
.pu-cab{padding:16px 12px 6px 22px}
.pu-cab h3{flex:1;font-size:18px;font-weight:800}
.pu-cuerpo{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:8px 22px 14px;display:flex;flex-direction:column;gap:14px}
.pu-txt{font-size:13.5px;line-height:1.5;color:var(--suave)}
.pu-campo{display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:600;color:var(--suave);min-width:0}
.pu-campo span{font-weight:400;color:var(--tenue)}
.pu-campo>input,.pu-campo>textarea,.pu-campo>select,.pu-usd input{width:100%;min-width:0;padding:10px 12px;border-radius:10px;border:1px solid var(--linea);background:var(--bg);color:var(--texto);font:inherit;font-size:14px;font-weight:400;outline:0}
.pu-campo>input,.pu-campo>select{height:42px;padding-top:0;padding-bottom:0}
.pu-campo>textarea{resize:vertical;min-height:84px;line-height:1.45}
.pu-campo>input:focus,.pu-campo>textarea:focus,.pu-campo>select:focus,.pu-usd input:focus{border-color:var(--acento)}
.pu-grupo{border:0;display:flex;flex-direction:column;gap:8px;min-width:0}
.pu-grupo legend{font-size:12.5px;font-weight:600;color:var(--suave);margin-bottom:6px}
.pu-op{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;border-radius:12px;border:1px solid var(--linea);background:var(--bg2);cursor:pointer}
.pu-op.on{border-color:var(--acento);background:color-mix(in srgb,var(--acento) 7%,var(--bg2))}
.pu-op input{margin-top:2px;width:16px;height:16px;accent-color:var(--acento);flex:none}
.pu-op span{display:flex;flex-direction:column;gap:2px;min-width:0}
.pu-op b{font-size:13.5px}
.pu-op small{font-size:12px;color:var(--suave);line-height:1.4}
.pu-op.compacta{align-items:center;padding:10px 14px}
.pu-op.compacta input{margin-top:0}
.pu-dos{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pu-precios{display:flex;flex-direction:column;gap:8px}
.pu-precios[hidden]{display:none}
.pu-precio{display:flex;align-items:center;gap:10px;padding:6px 6px 6px 14px;border-radius:12px;background:var(--bg2);font-size:13.5px;font-weight:600;cursor:pointer}
.pu-precio>input{width:16px;height:16px;accent-color:var(--acento);flex:none}
.pu-precio>span:first-of-type{flex:1;min-width:0}
.pu-precio small{font-weight:400;color:var(--tenue);font-size:12px;margin-left:4px}
.pu-usd{position:relative;display:flex;align-items:center;flex:none;width:128px}
.pu-usd input{height:38px;padding:0 44px 0 10px;text-align:right;font-variant-numeric:tabular-nums}
.pu-usd i{position:absolute;right:10px;font-style:normal;font-size:12px;color:var(--tenue);pointer-events:none}
.pu-resumen{font-size:12.5px;line-height:1.5;color:var(--suave)}
.pu-resumen b{color:var(--verde);font-weight:700}
.pu-mio{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--acento) 7%,var(--bg2));border:1px solid color-mix(in srgb,var(--acento) 25%,transparent);cursor:pointer}
.pu-mio input{width:18px;height:18px;margin-top:1px;accent-color:var(--acento);flex:none}
.pu-mio span{display:flex;flex-direction:column;gap:4px;font-size:13px;line-height:1.4}
.pu-mio small{font-size:12px;color:var(--suave)}
.pu-pie{flex:none;display:flex;align-items:center;gap:8px;padding:12px 16px;border-top:1px solid color-mix(in srgb,var(--linea) 60%,transparent)}
.pu-pie .bt{height:40px;background:var(--panel2);color:var(--texto)}
.pu-pie .bt.prim{background:var(--acento);color:var(--acentoTxt);font-weight:700}
.pu-pie .pu-retirar{background:none;color:var(--rojo);padding:0 8px}
/* panel del creador */
.cv-caja{max-width:620px;max-height:calc(100vh - 60px)}
.cv-cuerpo{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:6px 20px 20px;display:flex;flex-direction:column;gap:14px}
.cv-saldos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.cv-s{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:12px;background:var(--bg2);min-width:0}
.cv-s small{font-size:11.5px;color:var(--tenue);font-weight:600}
.cv-s b{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cv-s.principal{background:color-mix(in srgb,var(--acento) 9%,var(--bg2));border:1px solid color-mix(in srgb,var(--acento) 28%,transparent)}
.cv-s.principal b{color:var(--acento)}
.cv-txt{font-size:12.5px;line-height:1.5;color:var(--suave)}
.cv-txt b{color:var(--texto)}
.cv-sec{display:flex;flex-direction:column;gap:10px;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--linea) 60%,transparent)}
.cv-sec h3{font-size:14px;font-weight:700;display:flex;align-items:center;gap:8px}
.cv-sec h3 small{font-size:11px;font-weight:700;color:var(--suave);background:var(--panel2);padding:2px 7px;border-radius:9px}
.cv-form{display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px}
.cv-imp{width:100%}
.cv-imp input{height:42px}
.cv-dir,.cv-form .cv-nota,.cv-form .cv-error,.cv-form .cv-pedir{grid-column:1/-1}
.cv-dir input{font-family:var(--fnum);font-size:13px}
.cv-nota{font-size:12px;line-height:1.5;color:var(--tenue)}
.cv-pedir{height:42px;justify-content:center;font-weight:700;border-radius:11px}
.cv-tabla{display:flex;flex-direction:column}
.cv-fila{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 2px;border-top:1px solid color-mix(in srgb,var(--linea) 50%,transparent)}
.cv-fila:first-child{border-top:0}
.cv-fila>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.cv-fila b{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cv-fila small{font-size:12px;color:var(--tenue);overflow-wrap:anywhere}
.cv-tx{font-family:var(--fnum)}
.cv-estado{flex:none;height:24px;padding:0 10px;border-radius:12px;display:inline-flex;align-items:center;font-size:11.5px;font-weight:700;background:var(--panel2);color:var(--suave)}
.cv-estado.ok{background:color-mix(in srgb,var(--verde) 15%,var(--panel2));color:var(--verde)}
.cv-estado.mal{background:color-mix(in srgb,var(--rojo) 14%,var(--panel2));color:var(--rojo)}
.cv-estado.azul{background:color-mix(in srgb,var(--azul) 15%,var(--panel2));color:var(--azul)}
.cv-gana{flex:none;font-weight:700;color:var(--verde);font-variant-numeric:tabular-nums}
.cv-vacio{font-size:12.5px;color:var(--tenue)}
/* editor: estado de cada script y enlaces */
.es-sello{font-weight:600}
.es-sello.ok{color:var(--verde)}
.es-sello.aviso{color:var(--acento)}
.es-sin-sesion{font-size:12px;line-height:1.45;color:var(--suave);padding:8px 10px;margin:2px 0 4px;border-radius:8px;background:var(--panel2)}
.es-sin-sesion button{color:var(--acento);font-weight:700;padding:0}
.es-enlaces{display:flex;gap:4px;margin-top:8px;padding-top:8px;border-top:1px solid var(--linea)}
.es-enlaces button{flex:1;height:32px;border-radius:8px;font-size:12.5px;font-weight:600;color:var(--suave)}
.es-enlaces button:hover{background:var(--panel2);color:var(--texto)}
.es.subiendo [data-guardar]{opacity:.5;pointer-events:none}
/* indicadores: secciones de "Mis scripts" y botón de la tienda */
.ci-sec{grid-column:1/-1;font-size:11px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:var(--tenue);padding:12px 12px 4px}
.ci-sec-vacio{grid-column:1/-1;font-size:12.5px;color:var(--tenue);padding:0 12px 8px}
.ci-crear{grid-column:1/-1}
.ci-crear .ci-crear-bt{display:flex;flex-direction:row;gap:6px;flex:none}
.ci-crear-bt .bt:not(.prim){background:var(--panel)}
#irTienda svg{width:16px;height:16px}
@media (max-width:900px){
  .ti-m,.pu-m,.cv-m,#mTienda{align-items:stretch}
  .ti-caja,.ti-ficha,.pu-caja,.cv-caja{max-width:none;max-height:none;height:100%;border-radius:0;padding-top:env(safe-area-inset-top)}
  .ti-cab,.cv-cab{padding:12px 8px 6px 16px}
  .ti-barra{padding:4px 14px 8px}
  .ti-orden{max-width:40%;padding:0 6px;font-size:13px}
  .ti-filtros{padding:0 14px 10px;gap:5px;flex-wrap:nowrap}
  .ti-filtros button{flex:1 1 auto;padding:0 8px;font-size:12.5px}
  .ti-lista{padding:2px 14px calc(16px + env(safe-area-inset-bottom))}
  .ti-rejilla{grid-template-columns:1fr;gap:10px;padding-top:12px}
  .ti-t{min-height:0}
  .ti-fcuerpo{padding:6px 16px 14px}
  .ti-fpie{padding:12px 16px calc(14px + env(safe-area-inset-bottom))}
  .ti-acc .bt{flex:1;justify-content:center}
  .pu-cuerpo{padding:8px 16px 14px}
  .pu-pie{padding:10px 14px calc(10px + env(safe-area-inset-bottom));flex-wrap:wrap}
  .pu-pie .bt{flex:1;justify-content:center}
  .pu-pie .hueco{display:none}
  .pu-pie .pu-retirar{flex-basis:100%;order:3}
  .pu-precio{flex-wrap:wrap}
  .cv-cuerpo{padding:6px 16px calc(20px + env(safe-area-inset-bottom))}
  .cv-saldos{grid-template-columns:1fr 1fr}
  .cv-s.principal{grid-column:1/-1}
  .cv-form{grid-template-columns:1fr}
  .ci-crear{flex-direction:column;align-items:stretch}
  .ci-crear-bt .bt{flex:1;justify-content:center}
  #irTienda span{display:none}
  #irTienda{width:38px;padding:0;justify-content:center}
  .pu-m:has(.pu-corta){align-items:flex-end}
  .pu-caja.pu-corta{height:auto;max-height:90vh;border-radius:18px 18px 0 0;padding-top:0}
  .ti-pago{align-items:flex-end}
  .ti-pago .caja{max-width:none;height:auto;border-radius:18px 18px 0 0;padding-bottom:max(20px,env(safe-area-inset-bottom))}
}
/* editor en PC: las pestañas (Problemas, Funciones, Mis scripts) encima de la columna derecha */
@media (min-width:901px){
  .es-tabs{display:flex;position:absolute;top:45px;right:0;width:300px;gap:2px;padding:5px 6px;border-left:1px solid var(--linea);border-bottom:1px solid var(--linea);background:var(--panel);z-index:1}
  .es-tabs button{flex:1;height:28px;border-radius:7px;font-size:12px;font-weight:600;color:var(--suave);white-space:nowrap}
  .es-tabs button:hover{color:var(--texto)}
  .es-tabs button.on{background:var(--panel2);color:var(--texto)}
  .es-lado{padding-top:48px}
  .es.min .es-tabs{display:none}
}

/* ---------- pegar código de Pine (js/pine_ui.js) ---------- */
#mPine{z-index:70}
.pine-caja{max-width:760px}
.pine-cuerpo{display:flex;flex-direction:column;gap:10px;padding:0 16px 12px;overflow:auto;min-height:0}
.pine-intro{color:var(--suave);font-size:13.5px;margin:0}
.pine-ta{width:100%;min-height:260px;height:40vh;resize:vertical;padding:10px 12px;border-radius:10px;border:1px solid var(--linea);background:var(--bg);color:var(--texto);font:12.5px/19px var(--fnum)}
.pine-ta:focus{outline:2px solid color-mix(in srgb,var(--acento) 50%,transparent);outline-offset:1px}
.pine-res{font-size:13px;line-height:1.5;padding:10px 12px;border-radius:10px;background:var(--panel2)}
.pine-res p{margin:6px 0 2px}
.pine-res ul{margin:2px 0;padding-left:18px;color:var(--suave)}
.pine-pie{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px 14px;border-top:1px solid var(--linea);flex-wrap:wrap}
.pine-pie small{color:var(--tenue);font-size:12px;flex:1;min-width:200px}
.pine-bts{display:flex;gap:6px;flex:none}
@media (max-width:900px){#mPine{padding:0;align-items:stretch}.pine-caja{max-height:none;height:100%;border-radius:0;border:0;padding-top:env(safe-area-inset-top)}.pine-ta{height:auto;flex:1}}

body.con-editor #menu{z-index:75}   /* el menú de plantillas del editor por encima del editor */
@media (min-width:901px){body.con-editor:not(.es-min) #centro{margin-bottom:min(46vh,460px)}body.con-editor.es-min #centro{margin-bottom:44px}}   /* en PC el gráfico se encoge encima del editor */

/* ---------- ventana de Indicadores v4: categorías a la izquierda, lista, ficha con vista previa (js/indicadores_ui.js) ---------- */
.ci-busca{flex:1;display:flex;align-items:center;gap:8px;height:40px;padding:0 12px;border-radius:10px;background:var(--panel2);color:var(--tenue);border:1px solid transparent;transition:border-color .12s,box-shadow .12s}
.ci-busca:focus-within{border-color:color-mix(in srgb,var(--acento) 70%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--acento) 16%,transparent)}
.ci-busca input{flex:1;min-width:0;background:none;border:0;outline:0;font-size:14px;color:var(--texto)}
.ci-busca input::placeholder{color:var(--tenue)}
.ci-busca svg{width:17px;height:17px}
#mInd .caja-ind{max-width:1180px;height:min(760px,calc(100vh - 90px))}
#mInd .ci-cab{display:flex;align-items:center;gap:10px;padding:14px 14px 12px 20px;flex:none;border-bottom:1px solid var(--linea)}
#mInd .ci-cab>b{font-size:16px;font-weight:700;white-space:nowrap;margin-right:10px;letter-spacing:-.1px}
#mInd .ci-cab .cab-link{height:34px;font-size:12.5px}
#mInd .ci-cuerpo{flex:1;min-height:0;display:grid;grid-template-columns:212px minmax(0,1fr) 344px}
/* categorías */
#mInd .ci-cats{display:flex;flex-direction:column;gap:1px;padding:10px 8px 14px;overflow-y:auto;overflow-x:hidden;border-right:1px solid var(--linea);scrollbar-width:thin;min-height:0}
#mInd .ci-cat{flex:none;display:flex;align-items:center;gap:10px;height:34px;padding:0 10px;border-radius:8px;color:var(--suave);font-size:13px;font-weight:500;text-align:left;transition:background .12s,color .12s}
#mInd .ci-cat svg{width:16px;height:16px;color:var(--tenue);transition:color .12s}
#mInd .ci-cat span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#mInd .ci-cn{font-size:11.5px;font-weight:600;color:var(--tenue);font-variant-numeric:tabular-nums;min-width:18px;text-align:right}
#mInd .ci-cat:hover{background:var(--panel2);color:var(--texto)}
#mInd .ci-cat:hover svg{color:var(--suave)}
#mInd .ci-cat.on{background:color-mix(in srgb,var(--acento) 13%,transparent);color:var(--texto);font-weight:600}
#mInd .ci-cat.on svg,#mInd .ci-cat.on .ci-cn{color:var(--acento)}
#mInd .ci-cat[data-c="iron"],#mInd .ci-cat[data-c="tend"],#mInd .ci-cat[data-c="todos"]{margin-top:13px;position:relative}
#mInd .ci-cat[data-c="iron"]::before,#mInd .ci-cat[data-c="tend"]::before,#mInd .ci-cat[data-c="todos"]::before{content:"";position:absolute;left:10px;right:10px;top:-7px;height:1px;background:var(--linea)}
#mInd .ci-cat:focus-visible,#mInd .ci-f button:focus-visible,#mInd .ci-pie button:focus-visible,#mInd .ind-prev .bt:focus-visible{outline:2px solid var(--acento);outline-offset:-2px}
/* lista */
#mInd .ci-centro{display:flex;flex-direction:column;min-width:0;min-height:0}
#mInd .ci-lcab{flex:none;display:flex;align-items:baseline;gap:8px;padding:14px 20px 8px;min-width:0}
#mInd .ci-lcab b{font-size:13.5px;font-weight:650;white-space:nowrap}
#mInd .ci-lcab span{font-size:12px;color:var(--tenue);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#mInd .ci-lista{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 10px 14px;display:block}
#mInd .ci-item{display:flex;flex-direction:column;border-radius:10px;min-width:0}
#mInd .ci-item.abierto{background:var(--bg2);margin:2px 0}
#mInd .ci-f{display:flex;align-items:center;gap:2px;min-height:56px;padding:0 6px 0 0;border-radius:10px;cursor:pointer;transition:background .1s}
#mInd .ci-f:hover,#mInd .ci-f.sel{background:var(--panel2)}
#mInd .ci-n{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:3px;padding:8px 8px 8px 12px;text-align:left;color:inherit;font:inherit;align-self:stretch}
#mInd .ci-l1{display:flex;align-items:center;gap:6px;min-width:0}
#mInd .ci-nom{flex:0 1 auto;min-width:0;font-size:13.5px;font-weight:600;color:var(--texto);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#mInd .ci-nom mark{background:color-mix(in srgb,var(--acento) 30%,transparent);color:inherit;border-radius:3px;padding:0 1px;margin:0 -1px}
#mInd .ci-l2{display:flex;align-items:center;gap:6px;min-width:0}
#mInd .ci-tags.ci-tags-m{display:none}
#mInd .ci-desc{min-width:0;font-size:12px;color:var(--suave);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.35}
#mInd .ci-punto{width:7px;height:7px;border-radius:50%;background:var(--acento);flex:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--acento) 18%,transparent)}
#mInd .ci-tags{display:flex;gap:4px;flex:none;margin-left:2px}
.ci-tag{font-style:normal;display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:5px;font-size:10.5px;font-weight:600;letter-spacing:.1px;white-space:nowrap;color:var(--tenue);border:1px solid var(--linea2);line-height:1}
.ci-tag-cv{color:var(--verde);border-color:color-mix(in srgb,var(--verde) 38%,transparent);background:color-mix(in srgb,var(--verde) 8%,transparent)}
.ci-tag-nuevo{color:var(--acento);border-color:color-mix(in srgb,var(--acento) 45%,transparent);background:color-mix(in srgb,var(--acento) 10%,transparent)}
.ci-tag-pro{color:var(--azul);border-color:color-mix(in srgb,var(--azul) 40%,transparent);background:color-mix(in srgb,var(--azul) 8%,transparent)}
.ci-tag-en{color:var(--texto);border-color:color-mix(in srgb,var(--acento) 45%,transparent)}
[data-tema="claro"] .ci-tag-cv{color:#0a8a55}
[data-tema="claro"] .ci-tag-nuevo{color:#8a6700}
#mInd .ci-f>button:not(.ci-n){width:32px;height:32px;flex:none;display:grid;place-items:center;border-radius:8px;color:var(--tenue);transition:background .12s,color .12s,opacity .12s}
#mInd .ci-f>button svg{width:17px;height:17px}
#mInd .ci-est{opacity:0}
#mInd .ci-f:hover .ci-est,#mInd .ci-f.sel .ci-est,#mInd .ci-est:focus-visible{opacity:1}
#mInd .ci-est.on{opacity:1;color:var(--acento)}
#mInd .ci-est.on svg{fill:var(--acento)}
#mInd .ci-est:hover{color:var(--acento);background:color-mix(in srgb,var(--acento) 12%,transparent)}
#mInd .ci-i{display:none!important}
#mInd .ci-add{border:1px solid var(--linea2)}
#mInd .ci-f:hover .ci-add,#mInd .ci-f.sel .ci-add{color:var(--texto);border-color:color-mix(in srgb,var(--acento) 50%,var(--linea2))}
#mInd .ci-add:hover{background:var(--acento)!important;color:var(--acentoTxt)!important;border-color:var(--acento)!important}
#mInd .ci-vacio{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:48px 24px;color:var(--tenue);font-size:12.5px;line-height:1.5}
#mInd .ci-vacio b{color:var(--texto);font-size:14px;font-weight:600}
#mInd .ci-sec{font-size:11px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:var(--tenue);padding:14px 12px 4px}
#mInd .ci-sec-vacio{font-size:12.5px;color:var(--tenue);padding:0 12px 8px}
#mInd .ci-crear{margin:2px 2px 8px}
/* explicación desplegable (teléfono) */
#mInd .ci-exp{padding:2px 12px 14px;display:flex;flex-direction:column;gap:9px;animation:aparece .2s}
#mInd .ci-exp p{margin:0;font-size:13.5px;line-height:1.55;color:var(--texto)}
#mInd .ci-exp .ci-leer{color:var(--suave);font-size:13px}
#mInd .ci-vista{display:block;width:100%;height:120px;border:1px solid var(--linea);border-radius:10px;background:var(--bg)}
.ci-exp-pie{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:2px}
.ci-exp-pie small{color:var(--tenue);font-size:12px}
.ci-exp-pie .bt{height:36px}
/* ficha */
#mInd .ind-prev{border-left:1px solid var(--linea);padding:0;display:flex;flex-direction:column;gap:0;background:color-mix(in srgb,var(--bg2) 55%,var(--panel));overflow:hidden;min-height:0}
#mInd .ip-cuerpo{flex:1;min-height:0;overflow-y:auto;padding:18px 18px 12px;display:flex;flex-direction:column;gap:14px}
#mInd .ip-cab h4{font-size:16.5px;font-weight:700;line-height:1.3;letter-spacing:-.1px}
#mInd .ip-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}
#mInd .ip-vista{margin:0;border:1px solid var(--linea);border-radius:10px;background:var(--bg);overflow:hidden;flex:none}
#mInd .ip-vista canvas{display:block;width:100%;height:156px}
#mInd .ip-vista figcaption{font-size:11px;color:var(--tenue);padding:6px 10px;border-top:1px solid var(--linea)}
#mInd .ip-vista:not(:has(canvas)) figcaption,#mInd .ip-vista.sin figcaption{border-top:0;padding:14px 12px}
#mInd .ip-vista.sin canvas{display:none}
#mInd .ip-sec b{display:block;font-size:10.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--tenue);margin-bottom:4px}
#mInd .ip-sec p{font-size:13px;line-height:1.55;color:var(--texto)}
#mInd .ip-sec+.ip-sec p{color:var(--suave)}
#mInd .ip-acc{flex:none;display:flex;gap:8px;padding:12px 18px 14px;border-top:1px solid var(--linea)}
#mInd .ip-acc .ic-solo{width:40px;height:40px;border:1px solid var(--linea2)}
#mInd .ip-acc .ic-solo svg{width:17px;height:17px}
#mInd .ip-fav.on{color:var(--acento);border-color:color-mix(in srgb,var(--acento) 50%,transparent)}
#mInd .ip-fav.on svg{fill:var(--acento)}
#mInd .ip-add{flex:1;justify-content:center;height:40px}
#mInd .ip-vacio{margin:auto;color:var(--tenue);font-size:12.5px;text-align:center;padding:20px}
/* en tu gráfico */
#mInd .ci-pie{flex:none;display:flex;align-items:center;gap:10px;padding:10px 16px 10px 20px;border-top:1px solid var(--linea);min-height:50px;min-width:0}
#mInd .ci-pt{font-size:12px;color:var(--tenue);white-space:nowrap;flex:none;display:inline-flex;align-items:center;gap:6px}
#mInd .ci-pt small{font-size:11px;font-weight:700;color:var(--texto);background:var(--panel2);border-radius:9px;padding:1px 7px;font-variant-numeric:tabular-nums}
#mInd .ci-chips{display:flex;flex-wrap:wrap;gap:6px;min-width:0;max-height:66px;overflow-y:auto}
#mInd .ci-chip{display:inline-flex;align-items:center;gap:1px;height:28px;padding:0 3px 0 10px;border-radius:14px;background:var(--panel2);font-size:12px;font-weight:600;min-width:0;flex:none}
#mInd .ci-chip-t{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#mInd .ci-chip button{width:24px;height:24px;display:grid;place-items:center;border-radius:12px;color:var(--suave)}
#mInd .ci-chip button:hover{background:var(--linea2);color:var(--texto)}
#mInd .ci-chip svg{width:13px;height:13px}
@media (min-width:901px) and (max-height:820px){
  #mInd .ci-cats{padding:8px 8px 10px}
  #mInd .ci-cat{height:30px}
  #mInd .ci-cat[data-c="iron"],#mInd .ci-cat[data-c="tend"],#mInd .ci-cat[data-c="todos"]{margin-top:9px}
  #mInd .ci-cat[data-c="iron"]::before,#mInd .ci-cat[data-c="tend"]::before,#mInd .ci-cat[data-c="todos"]::before{top:-5px}
  #mInd .ip-vista canvas{height:132px}
}
@media (max-width:1180px) and (min-width:901px){
  #mInd .ci-cuerpo{grid-template-columns:192px minmax(0,1fr) 300px}
}
@media (max-width:900px){
  #mInd .caja-ind{height:100%;max-height:none;padding-top:env(safe-area-inset-top)}
  #mInd .ci-cab{gap:4px;padding:10px 6px 10px 12px;border-bottom:0}
  #mInd .ci-cab>b{display:none}
  #mInd .ci-cab .cab-link{padding:0 8px;font-size:13px}
  #mInd .caja-ind{border:0}
  #mInd .ci-busca{height:42px;min-width:0}
  #mInd .ci-cab .bt{flex:none}
  #mInd .ci-cuerpo{display:flex;flex-direction:column}
  #mInd .ci-cats{flex:none;flex-direction:row;gap:6px;padding:0 12px 10px;overflow-x:auto;overflow-y:hidden;border-right:0;border-bottom:1px solid var(--linea);scrollbar-width:none;overscroll-behavior-x:contain}
  #mInd .ci-cats::-webkit-scrollbar{display:none}
  #mInd .ci-cat{height:32px;padding:0 12px;border-radius:16px;background:var(--panel2);gap:6px;font-size:13px}
  #mInd .ci-cat svg{display:none}
  #mInd .ci-cat span{overflow:visible}
  #mInd .ci-cat[data-c]{margin-top:0}
  #mInd .ci-cat[data-c]::before{display:none}
  #mInd .ci-cat.on{background:var(--texto);color:var(--bg)}
  #mInd .ci-cat.on .ci-cn{color:color-mix(in srgb,var(--bg) 70%,transparent)}
  #mInd .ci-cn{min-width:0}
  #mInd .ci-centro{flex:1}
  #mInd .ci-lcab{padding:10px 16px 4px}
  #mInd .ci-lista{padding:0 4px 10px}
  #mInd .ci-f{min-height:60px;padding-right:4px;cursor:default}
  #mInd .ci-f:hover{background:none}
  #mInd .ci-f.sel{background:none}
  #mInd .ci-f.sel .ci-add,#mInd .ci-f:hover .ci-add{color:var(--tenue)}
  #mInd .ci-l1 .ci-tags{display:none}
  #mInd .ci-tags.ci-tags-m{display:flex;margin-left:0}
  #mInd .ci-tags.ci-tags-m:not(:has(.ci-tag:not(.ci-tag-lugar))){display:none}
  #mInd .ci-tags-m .ci-tag-lugar{display:none}
  #mInd .ci-f:active{background:var(--panel2)}
  #mInd .ci-n{padding:8px 6px 8px 12px}
  #mInd .ci-nom{font-size:14.5px}
  #mInd .ci-desc{font-size:12.5px}
  #mInd .ci-i{display:grid!important}
  #mInd .ci-est{opacity:.7}
  #mInd .ci-f>button:not(.ci-n){width:34px;height:34px}
  #mInd .ci-add{border:0}
  #mInd .ci-item.abierto .ci-i{color:var(--acento);background:color-mix(in srgb,var(--acento) 14%,transparent)}
  #mInd .ind-prev{display:none}
  #mInd .ci-pie{padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:8px;min-height:48px}
  #mInd .ci-chips{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;max-height:none;scrollbar-width:none;overscroll-behavior-x:contain}
  #mInd .ci-chips::-webkit-scrollbar{display:none}
  #mInd .ci-chip-t{max-width:160px}
  #mInd .ci-pie>.ci-pt:only-child{white-space:normal}
}

/* estado de los datos en la leyenda: en directo, con retraso o cerrado */
.ley-datos{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px;white-space:nowrap}
.ley-datos.directo{color:#2bd97c;background:color-mix(in srgb,#2bd97c 12%,transparent)}
.ley-datos.directo i{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 0 0 currentColor;animation:latido 2.4s ease-out infinite}
.ley-datos.retraso{color:#f5b942;background:color-mix(in srgb,#f5b942 13%,transparent)}
.ley-datos.cerrado{color:var(--suave);background:var(--panel2)}
@keyframes latido{0%{box-shadow:0 0 0 0 rgba(43,217,124,.45)}70%{box-shadow:0 0 0 6px rgba(43,217,124,0)}100%{box-shadow:0 0 0 0 rgba(43,217,124,0)}}
@media (prefers-reduced-motion:reduce){.ley-datos.directo i{animation:none}}

/* filtro por exchange en el buscador y en la lista */
.filtros-ex{padding-top:0;align-items:center}
.filtros-ex[hidden]{display:none}
.filtros-ex .fex-t{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--tenue);margin-right:2px;flex:none}
.lw-ex{font-style:normal;font-size:10px;font-weight:700;letter-spacing:.3px;color:var(--suave);background:var(--panel2);border-radius:4px;padding:0 4px;margin-right:5px}
.lw-exf{display:flex;align-items:center;gap:6px;margin:6px 12px 2px;padding:5px 6px 5px 10px;border-radius:8px;background:color-mix(in srgb,var(--acento) 12%,var(--panel2));font-size:12px;color:var(--suave)}
.lw-exf b{color:var(--texto)}
.lw-exf button{margin-left:auto;width:24px;height:24px;display:grid;place-items:center;border-radius:6px;color:var(--suave)}
.lw-exf button svg{width:14px;height:14px}

/* ---------- teléfono, en el gráfico: la barra de arriba se oculta y la de abajo cambia (con animación) a los botones del gráfico,
   con el mismo estilo que las pestañas: Mercado · Tiempo · Tipo · Operar · Lista · Menú (en el Menú está todo, también la cuenta).
   Dibujar pasa a un botón flotante pequeño sobre el gráfico. Al tocar «Lista» todo vuelve. No afecta al modo operar ni al PC. ---------- */
#btListaMovil,#btMenuMovil,.mv-px{display:none}
@media (max-width:900px){
  body:not(.op):not(:has(#der.movil-on)) #app,body:not(.op):not(:has(#der.movil-on)) #app.sin-der{
    grid-template-rows:minmax(0,1fr) auto calc(58px + env(safe-area-inset-bottom));grid-template-areas:"izq centro der" "abajo abajo abajo" "top top top"}
  body:not(.op):not(:has(#der.movil-on)) #navMovil{display:none}
  body:not(.op):not(:has(#der.movil-on)) #centro{padding-top:env(safe-area-inset-top)}
  body:not(.op):not(:has(#der.movil-on)) #izq.movil-on{top:env(safe-area-inset-top);bottom:calc(58px + env(safe-area-inset-bottom))}
  body:not(.op):not(:has(#der.movil-on)) #top{height:auto;gap:0;padding:0 4px env(safe-area-inset-bottom);align-items:stretch;background:var(--bg2);border-bottom:0;border-top:1px solid var(--linea)}
  body:not(.op):not(:has(#der.movil-on)) #top .marca,body:not(.op):not(:has(#der.movil-on)) #top>.hueco,body:not(.op):not(:has(#der.movil-on)) #top>.sep,body:not(.op):not(:has(#der.movil-on)) #tfs,body:not(.op):not(:has(#der.movil-on)) #btAyuda,body:not(.op):not(:has(#der.movil-on)) #btOperar,body:not(.op):not(:has(#der.movil-on)) #cuentaHueco>*{display:none!important}
  body:not(.op):not(:has(#der.movil-on)) #simbolo{order:1} body:not(.op):not(:has(#der.movil-on)) #btTfMas{order:2} body:not(.op):not(:has(#der.movil-on)) #btTipo{order:3} body:not(.op):not(:has(#der.movil-on)) #btModoOp{order:4} body:not(.op):not(:has(#der.movil-on)) #btListaMovil{order:5} body:not(.op):not(:has(#der.movil-on)) #btMenuMovil{order:6}
  body:not(.op):not(:has(#der.movil-on)) #top>.bt:not(.ocultar-movil):not([hidden]),body:not(.op):not(:has(#der.movil-on)) #simbolo{
    flex:1 1 0;min-width:0;width:auto;height:58px;margin:0;padding:0;border-radius:0;background:none!important;box-shadow:none;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--tenue);font-size:10.5px;font-weight:600;line-height:1.1}
  body:not(.op):not(:has(#der.movil-on)) #top>.bt svg{width:22px;height:22px;padding:3px 12px;box-sizing:content-box;border-radius:14px;transition:background .15s}
  body:not(.op):not(:has(#der.movil-on)) #top>.bt::after{content:attr(data-et);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  body:not(.op):not(:has(#der.movil-on)) #top>.bt.on{color:var(--acento)}
  body:not(.op):not(:has(#der.movil-on)) #top>.bt.on svg{background:color-mix(in srgb,var(--acento) 16%,transparent)}
  body:not(.op):not(:has(#der.movil-on)) #btListaMovil,body:not(.op):not(:has(#der.movil-on)) #btMenuMovil{display:flex!important}
  /* temporalidad: el «1H» hace de icono */
  body:not(.op):not(:has(#der.movil-on)) #btTfMas svg{display:none}
  body:not(.op):not(:has(#der.movil-on)) #btTfMas .tf-actual{display:grid!important;place-items:center;height:28px;font-size:15px;font-weight:800;color:var(--acento)}
  /* mercado: nombre en negrita y el precio debajo, un poco más ancho que los demás */
  body:not(.op):not(:has(#der.movil-on)) #simbolo{flex:1.6 1 0;color:var(--texto);padding:0 2px}
  body:not(.op):not(:has(#der.movil-on)) #simbolo #simTxt{display:block;max-width:100%;font-size:13px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;height:auto;line-height:28px}
  body:not(.op):not(:has(#der.movil-on)) #simbolo .fuente{display:none}
  body:not(.op):not(:has(#der.movil-on)) .mv-px{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--fnum);font-size:10.5px;font-weight:600}
  body:not(.op):not(:has(#der.movil-on)) .mv-px.sube{color:var(--verde)} body:not(.op):not(:has(#der.movil-on)) .mv-px.baja{color:var(--rojo)}
  /* dibujar: flotante pequeño y discreto abajo a la izquierda del gráfico */
  #celda0>#btDibMovil.dib-flota{width:38px;height:38px;border-radius:19px;left:10px;opacity:.82;box-shadow:0 3px 12px rgba(0,0,0,.3)}
  #celda0>#btDibMovil.dib-flota svg{width:18px;height:18px}
  #celda0>#btDibMovil.dib-flota.on{opacity:1}
  body.op #celda0>#btDibMovil.dib-flota{display:none}
}
/* cambio con estilo entre las pestañas y la barra del gráfico: los botones llegan desde abajo uno tras otro */
@keyframes mvLlega{from{opacity:0;transform:translateY(70%) scale(.92)}to{opacity:1;transform:none}}
@keyframes mvBarra{from{opacity:.4;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (max-width:900px) and (prefers-reduced-motion:no-preference){
  #top.mv-anim,#navMovil.mv-anim{animation:mvBarra .32s cubic-bezier(.2,.8,.2,1) both}
  #top.mv-anim>*:not(.hueco):not(#ocultos),#navMovil.mv-anim>.bt{
    animation:mvLlega .38s cubic-bezier(.2,.9,.25,1.15) both;animation-delay:calc(var(--mv-i,0) * 35ms)}
}

/* 2-oct-2026: en PC Estrategias y Escáner viven en el menú Más; las temporalidades nunca se aplastan */
#btEst,#btEscaner{display:none!important}
@media (min-width:901px){
  #tfs{flex-shrink:0}
}
/* pantallas medianas: Indicadores, Operar y Modo operar se quedan en icono (el nombre sale al pasar el ratón) */
@media (min-width:901px) and (max-width:1250px){
  #btInd>span,#btOperar>span,#btModoOp>span{display:none}
}

/* Analista IA: semáforo de "¿es buen momento?" (ia.py _semaforo, 4-oct-2026) */
.ia-sem{border-radius:12px;padding:10px 12px 6px;margin-top:8px;border:1px solid}
.ia-sem p{margin:4px 0 6px}
.ia-sem-t{display:block;font-size:15px}
.ia-sem.entrar{background:color-mix(in srgb,var(--verde) 10%,var(--bg2));border-color:color-mix(in srgb,var(--verde) 45%,transparent)}
.ia-sem.entrar .ia-sem-t{color:var(--verde)}
.ia-sem.esperar{background:color-mix(in srgb,#f2c14e 9%,var(--bg2));border-color:color-mix(in srgb,#f2c14e 40%,transparent)}
.ia-sem.esperar .ia-sem-t{color:#f2c14e}
.ia-orient{margin-top:10px}
.ia-orient summary{cursor:pointer;color:var(--suave);font-size:13px}

/* Analista IA rehecho (4-oct-2026): veredicto y lectura por temporalidad */
.ia-veredicto{margin:10px 0 4px;padding:10px 12px;border-radius:12px;background:var(--bg2);border-left:3px solid var(--acento);font-weight:600;line-height:1.4}
.ia-tfs{display:grid;gap:8px}
.ia-tf{border-radius:10px;background:var(--bg2);padding:8px 10px;border:1px solid transparent}
.ia-tf.tuya{border-color:color-mix(in srgb,var(--acento) 45%,transparent)}
.ia-tf-cab{display:flex;justify-content:space-between;align-items:center;gap:8px}
.ia-tf-cab span{font-weight:600;font-size:13px;text-align:right}
.ia-tf-est{color:var(--suave);font-size:13px;margin:2px 0 4px}
.ia-tf-niv{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;font-size:13px}
.ia-tf-niv>span:nth-child(odd){color:var(--suave)}
.ia-tf-niv small{color:var(--suave);font-size:11px}
.ia-tenue{color:var(--tenue)}
.ia-tf[data-tf]{cursor:pointer}
.ia-tf[data-tf]:hover{border-color:color-mix(in srgb,var(--acento) 30%,transparent)}
.ia-tf[data-tf] .ia-tf-cab b::after{content:" ›";color:var(--suave);font-weight:400}

/* paso a paso de la explicación de un indicador (ayuda.js: pasos) */
.ip-pasos{margin:6px 0 0;padding-left:20px;display:grid;gap:5px}
.ip-pasos li{line-height:1.4}
