/* Escáner de mercados (static/js/escaner.js). Usa las variables de iron.css y estilos.css: tema claro y oscuro solos. */
.esc-capa{position:fixed;inset:0;z-index:48;display:none;align-items:stretch;justify-content:center;padding:28px 24px;background:color-mix(in srgb,var(--bg) 62%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.esc-capa.on{display:flex;animation:esc-entra .18s ease-out}
@keyframes esc-entra{from{opacity:0}to{opacity:1}}
.esc-caja{width:100%;max-width:1560px;display:flex;flex-direction:column;min-height:0;background:var(--panel);border:1px solid var(--linea);border-radius:18px;box-shadow:var(--sombra);overflow:hidden;font-family:var(--fuente);font-size:14px;color:var(--texto)}
.esc-caja .ic{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.esc-caja h2,.esc-caja h3,.esc-caja h4,.esc-caja p{margin:0}
.esc-caja .vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.esc-caja .bt{height:36px;border-radius:10px}
.esc-caja .bt.ic-solo{width:36px}
.esc-caja :focus-visible{outline:2px solid var(--acento);outline-offset:2px}

/* ---------- cabecera ---------- */
.esc-cab{display:grid;grid-template-columns:1fr auto;grid-template-areas:"tit acc" "frase acc";align-items:center;column-gap:16px;padding:20px 24px 16px}
.esc-tit{grid-area:tit;display:flex;align-items:center;gap:14px;min-width:0}
.esc-frase{grid-area:frase;color:var(--suave);font-size:13.5px;margin:2px 0 0 56px!important;min-width:0}
.esc-acc{grid-area:acc}
.esc-logo{width:42px;height:42px;margin-bottom:-22px;border-radius:12px;display:grid;place-items:center;flex:none;background:color-mix(in srgb,var(--acento) 14%,transparent);color:var(--acento)}
.esc-logo .ic{width:20px;height:20px}
.esc-tit h2{font-family:var(--ftit,var(--fuente));font-size:19px;font-weight:700;letter-spacing:-.2px;line-height:1.2}
.esc-acc{display:flex;align-items:center;gap:6px;flex:none}
.esc-acc .bt.on{background:color-mix(in srgb,var(--acento) 14%,transparent);color:var(--acento)}
.esc-acc .bt.girando .ic{animation:esc-gira 1s linear infinite}
.esc-bt-pers{border:1px solid var(--linea2)}
.esc-x{margin-left:4px}
@keyframes esc-gira{to{transform:rotate(360deg)}}
.esc-auto{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 10px;border-radius:10px;color:var(--suave);font-weight:600;cursor:pointer;white-space:nowrap;user-select:none;position:relative}
.esc-auto:hover{background:var(--panel2);color:var(--texto)}
.esc-auto em{font-style:normal}
.esc-auto input{position:absolute;opacity:0;pointer-events:none}
.esc-sw{width:32px;height:18px;border-radius:9px;background:var(--linea2);position:relative;transition:background .15s}
.esc-sw::after{content:"";position:absolute;left:2px;top:2px;width:14px;height:14px;border-radius:50%;background:var(--panel);box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .15s}
.esc-auto input:checked+.esc-sw{background:var(--acento)}
.esc-auto input:checked+.esc-sw::after{transform:translateX(14px)}
.esc-auto input:focus-visible+.esc-sw{outline:2px solid var(--acento);outline-offset:2px}

/* ---------- dónde buscar, temporalidad y filtro ---------- */
.esc-ctl{display:flex;align-items:center;gap:12px;padding:0 24px 18px;border-bottom:1px solid var(--linea);flex-wrap:wrap}
.esc-univ{position:relative;display:flex;align-items:center;height:40px;border-radius:12px;background:var(--bg2);border:1px solid var(--linea);color:var(--suave);min-width:0}
.esc-univ:hover{border-color:var(--linea2)}
.esc-univ:focus-within{border-color:var(--acento)}
.esc-univ>.ic:first-child{position:absolute;left:12px;pointer-events:none;width:17px;height:17px}
.esc-univ>.ic:last-child{position:absolute;right:10px;pointer-events:none;width:16px;height:16px}
.esc-univ select{appearance:none;-webkit-appearance:none;height:100%;border:0;background:none;outline:0;padding:0 34px 0 38px;font-weight:600;color:var(--texto);cursor:pointer;max-width:100%;min-width:0;font-size:14px}
.esc-univ select option{background:var(--panel);color:var(--texto)}
.esc-tfs{display:flex;align-items:center;gap:2px;padding:3px;border-radius:12px;background:var(--bg2);border:1px solid var(--linea);overflow-x:auto;scrollbar-width:none}
.esc-tfs::-webkit-scrollbar{display:none}
.esc-tfs button{height:32px;min-width:44px;padding:0 11px;border-radius:9px;font-weight:600;font-size:13px;color:var(--suave);white-space:nowrap;transition:background .12s,color .12s;flex:none}
.esc-tfs button:hover{color:var(--texto);background:var(--panel2)}
.esc-tfs button.on{background:var(--panel);color:var(--texto);box-shadow:0 1px 3px rgba(0,0,0,.18),0 0 0 1px var(--linea2)}
.esc-tf-mas{height:32px;width:auto;max-width:84px;border:0;background:none;color:var(--suave);font-size:13px;font-weight:600;padding:0 4px 0 8px;outline:0;cursor:pointer;flex:none;border-left:1px solid var(--linea);border-radius:0;margin-left:4px}
.esc-tf-mas option{background:var(--panel);color:var(--texto)}
.esc-busca{margin-left:auto;display:flex;align-items:center;gap:8px;height:40px;padding:0 12px;border-radius:12px;background:var(--bg2);border:1px solid var(--linea);width:260px;color:var(--tenue)}
.esc-busca:focus-within{border-color:var(--acento);color:var(--suave)}
.esc-busca input{flex:1;min-width:0;background:none;border:0;outline:0;color:var(--texto);font-size:14px}
.esc-busca input::placeholder{color:var(--tenue)}

/* ---------- cuerpo: búsquedas | resultados | personalizar ---------- */
.esc-cuerpo{flex:1;min-height:0;display:flex;position:relative}
.esc-presets{width:300px;flex:none;overflow-y:auto;padding:18px 14px 20px 18px;display:flex;flex-direction:column;gap:4px;border-right:1px solid var(--linea);scrollbar-width:thin}
.esc-p-t{font-size:12px;font-weight:700;color:var(--tenue);letter-spacing:.5px;text-transform:uppercase;padding:0 10px 8px}
.esc-p{display:flex;align-items:center;gap:12px;padding:10px;border-radius:12px;text-align:left;transition:background .12s;border:1px solid transparent;width:100%}
.esc-p:hover{background:var(--panel2)}
.esc-p-ic{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex:none;background:var(--bg2);color:var(--suave);box-shadow:inset 0 0 0 1px var(--linea);transition:background .12s,color .12s}
.esc-p-ic .ic{width:18px;height:18px}
.esc-p-tx{min-width:0;display:flex;flex-direction:column;gap:2px}
.esc-p-tx b{font-size:14px;font-weight:600;line-height:1.25}
.esc-p-tx small{font-size:12.5px;color:var(--suave);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.esc-p.on{background:color-mix(in srgb,var(--acento) 9%,transparent);border-color:color-mix(in srgb,var(--acento) 32%,transparent)}
.esc-p.on .esc-p-ic{background:var(--acento);color:var(--acentoTxt);box-shadow:none}
.esc-p.on .esc-p-tx b{color:var(--texto)}

.esc-res{flex:1;min-width:0;display:flex;flex-direction:column;position:relative}
.esc-resumen{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 28px 16px;position:relative}
.esc-r-a{display:flex;align-items:center;gap:14px;min-width:0}
.esc-r-ic{display:none}
.esc-r-a h3{font-family:var(--ftit,var(--fuente));font-size:18px;font-weight:700;letter-spacing:-.2px}
.esc-r-a p{color:var(--suave);font-size:13.5px;margin-top:3px}
.esc-r-b{text-align:right;flex:none;display:flex;flex-direction:column;gap:3px;align-items:flex-end}
.esc-r-n{font-size:14px;color:var(--suave);white-space:nowrap;display:flex;align-items:baseline;gap:6px}
.esc-n{font-family:var(--fnum);font-size:22px;font-weight:700;color:var(--texto);letter-spacing:-.5px}
.esc-n-sk{display:inline-block;width:22px;height:16px;border-radius:6px;background:var(--panel2);animation:esc-brillo 1.2s ease-in-out infinite;align-self:center}
.esc-de{color:var(--tenue)}
.esc-r-b small{color:var(--tenue);font-size:12.5px;white-space:nowrap}
.esc-barra-carga{position:absolute;left:28px;right:28px;bottom:0;height:2px;border-radius:2px;overflow:hidden;opacity:0;transition:opacity .2s}
.esc-res.cargando .esc-barra-carga{opacity:1}
.esc-barra-carga::after{content:"";position:absolute;top:0;bottom:0;width:30%;background:var(--acento);border-radius:2px;animation:esc-carga 1.1s ease-in-out infinite}
@keyframes esc-carga{from{left:-30%}to{left:100%}}
.esc-tabla{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 16px 8px;transition:opacity .2s;scrollbar-width:thin}
.esc-res.cargando .esc-tabla table,.esc-res.cargando .esc-tarjetas{opacity:.55}

/* ---------- tabla ---------- */
.esc-tabla table{border-collapse:separate;border-spacing:0;width:100%;font-variant-numeric:tabular-nums}
.esc-tabla th{position:sticky;top:0;z-index:2;background:var(--panel);padding:10px 14px 12px;font-size:12.5px;color:var(--tenue);font-weight:600;white-space:nowrap;cursor:pointer;user-select:none;text-align:left;box-shadow:inset 0 -1px 0 var(--linea)}
.esc-tabla th>span{border-bottom:1px dotted transparent;padding-bottom:1px;transition:color .12s}
.esc-tabla th[data-tip]:hover>span{color:var(--texto);border-bottom-color:var(--tenue)}
.esc-tabla th.n{text-align:right}.esc-tabla th.c{text-align:center}
.esc-tabla th.e{width:52px;cursor:default}
.esc-tabla th[aria-sort="ascending"]>span,.esc-tabla th[aria-sort="descending"]>span{color:var(--texto)}
.esc-dir{font-style:normal;color:var(--acento);margin-left:5px;font-family:var(--fnum)}
/* explicación de cada columna al pasar el ratón */
.esc-tabla th[data-tip]:hover::after{content:attr(data-tip);position:absolute;top:calc(100% + 6px);right:6px;width:260px;white-space:normal;text-align:left;background:var(--panel);color:var(--texto);border:1px solid var(--linea2);box-shadow:var(--sombra);padding:10px 12px;border-radius:10px;font-size:12.5px;font-weight:500;line-height:1.45;z-index:6;pointer-events:none;animation:esc-entra .12s ease-out}
.esc-tabla th.m[data-tip]:hover::after,.esc-tabla th.l[data-tip]:hover::after{left:6px;right:auto}
.esc-tabla td{padding:0 14px;height:64px;white-space:nowrap;font-size:14px}
.esc-tabla td.n{text-align:right;font-family:var(--fnum);font-size:13.5px}
.esc-tabla td.c{text-align:center}
.esc-tabla .vacia{color:var(--tenue)}
.esc-tabla td.vacia{font-family:var(--fuente);font-size:13px}
.esc-tabla tbody tr{cursor:pointer}
.esc-tabla tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--panel2) 38%,transparent)}
.esc-tabla tbody tr td:first-child{border-radius:12px 0 0 12px}
.esc-tabla tbody tr td:last-child{border-radius:0 12px 12px 0}
.esc-tabla tbody tr:hover td,.esc-tabla tbody tr:focus-visible td{background:var(--panel2)}
.esc-tabla tbody tr:focus-visible{outline:0}
.esc-tabla tbody tr:focus-visible td:first-child{box-shadow:inset 3px 0 0 var(--acento)}
.esc-tabla td.sube{color:var(--verde)}.esc-tabla td.baja{color:var(--rojo)}
.esc-tabla td.m{width:1%;min-width:230px}
.esc-mc{display:flex;align-items:center;gap:12px;min-width:0}
.esc-caja .av{width:34px;height:34px;font-size:10.5px;flex:none;font-family:var(--fuente)}
.esc-sim{min-width:0;display:flex;flex-direction:column;gap:2px}
.esc-sim b{font-weight:650;font-size:14.5px;overflow:hidden;text-overflow:ellipsis}
.esc-sim small{font-size:12.5px;color:var(--suave);overflow:hidden;text-overflow:ellipsis;max-width:240px}
.esc-pct{display:inline-block;min-width:82px;text-align:center;padding:4px 9px;border-radius:8px;font-family:var(--fnum);font-size:13px;font-weight:600}
.esc-pct.sube{color:var(--verde);background:color-mix(in srgb,var(--verde) 12%,transparent)}
.esc-pct.baja{color:var(--rojo);background:color-mix(in srgb,var(--rojo) 12%,transparent)}
/* número con medidor fino debajo */
.esc-met{display:inline-flex;flex-direction:column;align-items:flex-end;gap:6px;font-weight:600}
.esc-met i{display:block;width:64px;height:3px;border-radius:3px;background:linear-gradient(90deg,color-mix(in srgb,var(--col) 75%,transparent) var(--w),color-mix(in srgb,var(--suave) 16%,transparent) var(--w))}
.esc-tabla th.k{min-width:110px}
.esc-pil{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;font-size:12.5px;font-weight:600;white-space:nowrap;background:var(--panel2);color:var(--suave)}
.esc-pil.sube{background:color-mix(in srgb,var(--verde) 12%,transparent);color:var(--verde)}
.esc-pil.baja{background:color-mix(in srgb,var(--rojo) 12%,transparent);color:var(--rojo)}
.esc-tend{font-size:13px;font-weight:600;color:var(--suave)}
.esc-tend.alcista{color:var(--verde)}.esc-tend.bajista{color:var(--rojo)}
/* lectura en palabras */
.esc-tabla td.l{width:99%;min-width:240px;white-space:normal}
.esc-lec{display:flex;align-items:flex-start;gap:10px;line-height:1.4;font-size:13.5px}
.esc-lec>span{display:flex;flex-direction:column;gap:1px;min-width:0}
.esc-lec em{font-style:normal;color:var(--suave);font-size:12.5px}
.esc-punto{width:8px;height:8px;border-radius:50%;flex:none;margin-top:6px;background:var(--tenue)}
.esc-punto.sube{background:var(--verde);box-shadow:0 0 0 3px color-mix(in srgb,var(--verde) 18%,transparent)}
.esc-punto.baja{background:var(--rojo);box-shadow:0 0 0 3px color-mix(in srgb,var(--rojo) 18%,transparent)}
.esc-punto.fuerte{background:var(--acento);box-shadow:0 0 0 3px color-mix(in srgb,var(--acento) 20%,transparent)}
.esc-tabla td.e{width:52px;text-align:center;padding:0 8px}
.esc-est{width:34px;height:34px;display:inline-grid;place-items:center;border-radius:9px;color:var(--tenue);flex:none;opacity:.55;transition:opacity .12s,background .12s,color .12s}
tr:hover .esc-est,.esc-tj .esc-est,.esc-est:focus-visible{opacity:1}
.esc-est:hover{background:var(--linea);color:var(--texto)}
.esc-est.on{color:var(--acento);opacity:1}
.esc-est.on .ic{fill:currentColor}
.esc-est .ic{width:17px;height:17px}

/* ---------- esqueletos de carga ---------- */
.esc-sk{display:flex;flex-direction:column;gap:6px;padding:8px 0}
.esc-sk-fila{display:flex;align-items:center;gap:24px;height:64px;padding:0 14px;border-radius:12px;animation:esc-brillo 1.3s ease-in-out infinite}
.esc-sk-fila:nth-child(even){background:color-mix(in srgb,var(--panel2) 38%,transparent)}
.esc-sk-fila i{display:block;height:12px;border-radius:6px;background:var(--panel2);flex:none}
.esc-sk-fila i.av{width:34px;height:34px;border-radius:50%;box-shadow:none}
.esc-sk-fila span{display:flex;flex-direction:column;gap:8px;width:200px;margin-left:-12px}
.esc-sk-fila span i.p{height:9px;opacity:.7}
.esc-sk-fila i.n{width:78px}
.esc-sk-fila i.n.c{width:84px;height:24px;border-radius:8px}
.esc-sk-fila i.l{margin-left:24px}
@keyframes esc-brillo{0%,100%{opacity:1}50%{opacity:.45}}

/* ---------- vacío, error y sugerencias ---------- */
.esc-vacio{padding:72px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;max-width:560px;margin:0 auto}
.esc-vacio-ic{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:var(--bg2);color:var(--tenue);box-shadow:inset 0 0 0 1px var(--linea);margin-bottom:6px}
.esc-vacio-ic .ic{width:24px;height:24px}
.esc-vacio h4{font-size:16.5px;font-weight:650;color:var(--texto)}
.esc-vacio p{color:var(--suave);font-size:14px;line-height:1.5}
.esc-sug{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:10px}
.esc-sug .bt{border:1px solid var(--linea2);color:var(--texto);padding:0 14px}
.esc-sug .bt:hover{border-color:var(--acento)}

/* ---------- pie ---------- */
.esc-pie{display:flex;align-items:center;gap:12px;padding:12px 28px;border-top:1px solid var(--linea);font-size:12.5px;color:var(--tenue);min-height:58px}
.esc-pie-t{flex:1;min-width:0}
.esc-pie i{font-style:normal;margin:0 7px}
.esc-pie .bt{flex:none;border:1px solid var(--linea2);color:var(--texto);font-size:13px}
.esc-pie .bt .ic{width:16px;height:16px;color:var(--acento)}
.esc-cargando{color:var(--acento);font-weight:600}
.esc-pie .baja{color:var(--rojo)}

/* ---------- personalizar (panel lateral) ---------- */
.esc-editor{position:absolute;top:0;right:0;bottom:0;width:420px;max-width:100%;z-index:8;background:var(--panel);border-left:1px solid var(--linea);box-shadow:-24px 0 48px -24px rgba(0,0,0,.35);display:none;flex-direction:column}
.con-editor .esc-editor{display:flex;animation:esc-panel .18s ease-out}
@keyframes esc-panel{from{transform:translateX(24px);opacity:0}to{transform:none;opacity:1}}
.esc-ed-in{flex:1;min-height:0;overflow-y:auto;padding:20px 22px 12px}
.esc-ed-cab{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:6px}
.esc-ed-cab h3{font-size:17px;font-weight:700}
.esc-ed-cab p{color:var(--suave);font-size:13px;margin-top:4px;line-height:1.45}
.esc-editor section{margin-top:20px}
.esc-editor h4{font-size:14px;font-weight:650;margin-bottom:10px;display:flex;flex-direction:column;gap:2px}
.esc-editor h4 small{font-weight:500;color:var(--tenue);font-size:12.5px}
.esc-ed-lista{display:flex;flex-direction:column;gap:6px}
.esc-ed-fila{display:flex;align-items:center;gap:2px;padding:4px 4px 4px 14px;border-radius:10px;background:var(--bg2);min-height:44px}
.esc-ed-fila span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-size:13.5px}
.esc-ed-fila span small{font-weight:500;color:var(--tenue);font-size:12px;margin-left:4px}
.esc-ed-fila.oculta span{color:var(--suave)}
.esc-caja .esc-ed-fila .bt,.esc-caja .esc-ed-filtro .bt{width:32px;height:32px}
.esc-ed-fila .bt .ic,.esc-ed-filtro .bt .ic{width:16px;height:16px}
.esc-ed-fila .bt[disabled]{opacity:.25;pointer-events:none}
.esc-ed-filtro{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;border-radius:12px;background:var(--bg2);align-items:center}
.esc-ed-filtro>select{grid-column:1}
.esc-ed-filtro>.bt{grid-column:2;grid-row:1}
.esc-ed-f2{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--suave);font-size:13px}
.esc-ed-f2 select{flex:1 1 150px}
.esc-editor select,.esc-editor input{height:38px;border-radius:9px;border:1px solid var(--linea);background:var(--panel);padding:0 10px;outline:0;min-width:0;font-size:13.5px;color:var(--texto)}
.esc-editor select option{background:var(--panel)}
.esc-editor select:focus,.esc-editor input:focus{border-color:var(--acento)}
.esc-editor input.mal{border-color:var(--rojo)}
.esc-ed-f2 input[data-f="v"],.esc-ed-f2 input[data-f="v2"]{width:90px;font-family:var(--fnum)}
.esc-ed-n{display:flex;align-items:center;gap:8px}
.esc-ed-n input{width:62px;font-family:var(--fnum)}
.esc-ed-nada{font-size:13px;color:var(--tenue);padding:12px 14px;border-radius:10px;border:1px dashed var(--linea2)}
.esc-ed-anadir{width:100%;height:40px;display:flex;align-items:center;justify-content:center;gap:6px;margin-top:8px;border-radius:10px;border:1px dashed var(--linea2);color:var(--suave);font-weight:600}
.esc-ed-anadir:hover{color:var(--texto);border-color:var(--acento)}
.esc-ed-anadir[disabled]{opacity:.4;pointer-events:none}
.esc-ed-mas{margin-top:8px;border-radius:12px;border:1px dashed var(--linea2)}
.esc-ed-mas[open]{border-style:solid;border-color:var(--linea);background:var(--bg2);padding-bottom:12px}
.esc-ed-mas summary{list-style:none;height:40px;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;color:var(--suave);font-weight:600}
.esc-ed-mas summary::-webkit-details-marker{display:none}
.esc-ed-mas summary:hover{color:var(--texto)}
.esc-ed-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:4px 12px 0}
.esc-ed-grid label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--suave);min-width:0}
.esc-ed-grid label.ancho{grid-column:1/-1}
.esc-caja .esc-ed-anadir2{margin:12px 12px 0;width:calc(100% - 24px);justify-content:center;background:var(--panel);border:1px solid var(--linea2);color:var(--texto)}
.esc-ed-nota{font-size:12.5px;color:var(--tenue);margin:22px 0 6px;line-height:1.5}
.esc-ed-ok{padding:14px 22px;border-top:1px solid var(--linea);padding-bottom:max(14px,env(safe-area-inset-bottom))}
.esc-caja .esc-ed-ok .bt{width:100%;justify-content:center;height:44px;font-size:14px}

/* ---------- tarjetas (móvil) ---------- */
.esc-tarjetas{display:flex;flex-direction:column;gap:10px;padding:4px 0 12px}
.esc-tj{padding:14px 14px 12px;border-radius:16px;background:var(--bg2);border:1px solid var(--linea);display:flex;flex-direction:column;gap:10px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.esc-tj:active{background:var(--panel2)}
.esc-tj-a{display:flex;align-items:center;gap:12px;min-width:0}
.esc-tj-a .esc-sim{flex:1}
.esc-tj-a .esc-sim small{max-width:none;white-space:nowrap}
.esc-tj-p{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none}
.esc-tj-p b{font-family:var(--fnum);font-size:14.5px;font-weight:600}
.esc-tj-p .esc-pct{min-width:0;font-size:12.5px;padding:2px 8px}
.esc-tj-b{display:flex;align-items:center;gap:8px}
.esc-tj-b .esc-lec{flex:1;font-size:13.5px}
.esc-tj-b .esc-est{width:40px;height:40px;margin:-6px -4px -6px 0}
.esc-tj-d{display:flex;gap:6px;flex-wrap:wrap}
.esc-tj-d span{display:inline-flex;align-items:baseline;gap:6px;padding:5px 10px;border-radius:8px;background:var(--panel);font-size:13px;font-weight:600;color:var(--texto);font-variant-numeric:tabular-nums}
.esc-tj-d small{font-family:var(--fuente);font-weight:500;color:var(--tenue);font-size:11.5px}

/* ---------- pantallas medianas ---------- */
@media (max-width:1180px){
  .esc-presets{width:252px}
  .esc-p-tx small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .esc-busca{width:200px}
  .esc-auto em,.esc-acc .bt[data-a="escanear"] span{display:none}
}

/* ---------- móvil: pantalla completa, búsquedas en carrusel y tarjetas ---------- */
@media (max-width:760px){
  .esc-capa{padding:0;background:var(--panel)}
  .esc-caja{border-radius:0;border:0;max-width:none;box-shadow:none}
  .esc-cab{padding:10px 10px 10px 16px;padding-top:max(10px,env(safe-area-inset-top));grid-template-areas:"tit acc" "frase frase";column-gap:8px}
  .esc-logo,.esc-h-de{display:none}
  .esc-tit h2{font-size:20px}
  .esc-frase{margin:2px 0 0!important;font-size:13px}
  .esc-acc{gap:2px}
  .esc-acc .bt span,.esc-auto em{display:none}
  .esc-acc .bt{width:40px;height:40px;padding:0;justify-content:center}
  .esc-bt-pers{border:0}
  .esc-auto{padding:0 6px;height:40px}
  .esc-x{margin-left:0}
  .esc-ctl{padding:4px 14px 12px;gap:8px;border-bottom:0}
  .esc-univ{flex:1 1 100%;height:44px}
  .esc-univ select{width:100%;font-size:16px;font-weight:600;text-overflow:ellipsis}
  .esc-tfs{flex:1 1 auto;min-width:0}
  .esc-tfs button{height:36px;min-width:42px;padding:0 8px}
  .esc-busca{display:none}
  .esc-cuerpo{flex-direction:column}
  .esc-presets{width:auto;flex-direction:row;overflow-x:auto;overflow-y:hidden;padding:2px 14px 12px;gap:8px;border-right:0;border-bottom:1px solid var(--linea);scroll-snap-type:x proximity;scrollbar-width:none;flex:none}
  .esc-presets::-webkit-scrollbar{display:none}
  .esc-p-t{display:none}
  .esc-p{flex:none;width:232px;gap:10px;padding:10px 12px;border:1px solid var(--linea);scroll-snap-align:center;background:var(--bg2)}
  .esc-p-ic{width:34px;height:34px}
  .esc-p-tx b{font-size:13.5px}
  .esc-p-tx small{font-size:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .esc-resumen{padding:14px 16px 12px;flex-direction:column;align-items:stretch;gap:6px}
  .esc-r-a h3{font-size:16px}
  .esc-r-a p{font-size:13px}
  .esc-r-b{align-items:flex-start;text-align:left;gap:2px}
  .esc-r-n{font-size:13.5px}
  .esc-n{font-size:18px}
  .esc-r-b small{white-space:normal}
  .esc-barra-carga{left:16px;right:16px}
  .esc-tabla{padding:0 12px 8px}
  .esc-sk-fila{gap:14px}
  .esc-sk-fila i.n.c,.esc-sk-fila i.l{display:none}
  .esc-sk-fila span{width:140px;margin-left:0}
  .esc-vacio{padding:40px 16px}
  .esc-pie{padding:10px 14px;padding-bottom:max(10px,env(safe-area-inset-bottom));min-height:0;flex-wrap:wrap;gap:8px}
  .esc-pie-t{flex:1 1 100%;font-size:12px}
  .esc-pie .bt{width:100%;justify-content:center;height:44px}
  .esc-editor{position:fixed;inset:0;width:auto;border:0;z-index:49;box-shadow:none}
  .esc-ed-in{padding:16px 16px 12px;padding-top:max(16px,env(safe-area-inset-top))}
  .esc-editor select,.esc-editor input{font-size:16px;height:44px}
  .esc-ed-ok{padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom))}
}
/* teléfono: filas planas como la lista, búsquedas en pastillas y resumen en una línea */
@media (max-width:760px){
  .esc-frase{display:none}
  .esc-cab{grid-template-areas:"tit acc"}
  .esc-ctl{padding:2px 14px 8px}
  .esc-univ{height:40px}
  .esc-univ select{font-size:15px}
  .esc-tfs button{height:32px}
  .esc-presets{padding:2px 14px 10px;gap:6px;border-bottom:0}
  .esc-p{width:auto;padding:0 12px 0 6px;height:36px;border-radius:18px;gap:6px;background:var(--panel2);border:0}
  .esc-p-ic{width:26px;height:26px;border-radius:13px}
  .esc-p-ic svg{width:15px;height:15px}
  .esc-p-tx small{display:none}
  .esc-p-tx b{font-size:13px;white-space:nowrap}
  .esc-resumen{padding:10px 16px 6px;flex-direction:row;align-items:baseline;justify-content:space-between;gap:10px;border-top:1px solid var(--linea)}
  .esc-r-a p,.esc-r-b small{display:none}
  .esc-r-a h3{font-size:15px}
  .esc-r-n{font-size:13px;color:var(--suave)}
  .esc-n{font-size:15px}
  .esc-tabla{padding:0 4px 8px}
  .esc-tarjetas{gap:0;padding:0}
  .esc-tj{padding:10px 12px;border-radius:12px;background:transparent;border:0;gap:2px}
  .esc-tj-d{display:none}
  .esc-tj-a{gap:10px}
  .esc-tj-b{padding-left:48px}
  .esc-tj-b .esc-lec{font-size:12.5px;color:var(--suave)}
  .esc-tj-b .esc-lec em{display:none}
  .esc-tj-b .esc-lec{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
  .esc-tj-b .esc-est{width:32px;height:32px;margin:-6px -6px -6px 0}
}
@media (prefers-reduced-motion:reduce){
  .esc-capa.on,.con-editor .esc-editor,.esc-sk-fila,.esc-n-sk,.esc-acc .bt.girando .ic,.esc-barra-carga::after{animation:none}
}
@media (max-width:760px){
  .esc-caja,.esc-cuerpo,.esc-res,.esc-tabla{overflow-x:hidden}
  .esc-presets{flex-wrap:wrap;overflow:visible;scroll-snap-type:none}
  .esc-tfs{overflow:hidden;display:flex}
  .esc-tfs button{flex:1 1 0;min-width:0;padding:0 2px;font-size:12.5px}
}
.esc-p-sel{display:none}
@media (max-width:760px){
  .esc-presets .esc-p{display:none}
  .esc-p-sel{display:flex;align-items:center;gap:10px;width:100%;height:44px;padding:0 12px 0 8px;border-radius:12px;background:var(--panel2);position:relative}
  .esc-p-sel select{flex:1;min-width:0;height:100%;background:none;border:0;outline:0;font-size:15px;font-weight:600;color:var(--texto);appearance:none;-webkit-appearance:none}
  .esc-p-sel>svg:last-child{width:16px;height:16px;color:var(--tenue);pointer-events:none}
  .esc-p-sel .esc-p-ic{width:30px;height:30px;border-radius:15px;display:grid;place-items:center;background:color-mix(in srgb,var(--acento) 20%,transparent);color:var(--acento)}
  .esc-p-sel .esc-p-ic svg{width:16px;height:16px}
}
.esc-tf-sel{display:none}
@media (max-width:760px){
  /* fila 1: dónde buscar + temporalidad; fila 2: qué buscar */
  .esc-ctl{display:grid;grid-template-columns:minmax(0,1fr) 116px;gap:8px;padding:2px 14px 8px}
  .esc-univ{flex:none;height:44px;min-width:0}
  .esc-univ select{font-size:14px}
  .esc-tfs{display:block;background:none;border:0;padding:0;height:44px}
  .esc-tfs>button,.esc-tfs .esc-tf-mas{display:none}
  .esc-tf-sel{display:flex;align-items:center;gap:6px;height:44px;padding:0 10px;border-radius:12px;background:var(--panel2);border:1px solid var(--linea)}
  .esc-tf-sel select{flex:1;min-width:0;height:100%;background:none;border:0;outline:0;font-size:15px;font-weight:700;color:var(--acento);appearance:none;-webkit-appearance:none}
  .esc-tf-sel .ic{width:17px;height:17px;color:var(--tenue);flex:none}
  .esc-auto,.esc-acc [data-a="csv"]{display:none!important}
  .esc-tj{padding:12px}
  .esc-tj-b{padding-left:0;margin-top:2px}
}

/* el nombre de la búsqueda no se repite en la cabecera de resultados */
.esc-r-a p{margin-top:0}
@media (max-width:760px){.esc-r-a p{display:block;font-size:12.5px}}

/* =================== v6: portada con tarjetas, modo Simple/Pro, columnas, Y/O, guardados =================== */
.esc-capa[data-vista="inicio"] .esc-ctl,.esc-capa[data-vista="inicio"] .esc-cuerpo{display:none}
.esc-capa[data-vista="res"] .esc-inicio{display:none}
.esc-capa[data-vista="inicio"] .esc-cab{border-bottom:1px solid var(--linea)}
.esc-seg{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:11px;background:var(--bg2);border:1px solid var(--linea);flex:none;vertical-align:middle}
.esc-seg button{height:28px;padding:0 12px;border-radius:8px;font-size:12.5px;font-weight:650;color:var(--suave);transition:background .12s,color .12s}
.esc-seg button:hover{color:var(--texto)}
.esc-seg button.on{background:var(--panel);color:var(--texto);box-shadow:0 1px 3px rgba(0,0,0,.18),0 0 0 1px var(--linea2)}
.esc-modo button.on[data-modo="pro"]{color:var(--acento)}
.esc-editor h4 .esc-seg{margin-top:6px;align-self:flex-start}

/* portada */
.esc-inicio{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.esc-ini-in{max-width:1180px;margin:0 auto;padding:26px 28px 34px}
.esc-ini-cab h3{font-family:var(--ftit,var(--fuente));font-size:24px;font-weight:750;letter-spacing:-.4px}
.esc-ini-cab p{color:var(--suave);font-size:14px;margin-top:6px!important;max-width:640px;line-height:1.5}
.esc-inicio h4{font-size:11.5px;font-weight:750;letter-spacing:.9px;text-transform:uppercase;color:var(--tenue);margin:28px 0 12px!important;display:flex;align-items:center;gap:12px}
.esc-inicio h4::after{content:"";flex:1;height:1px;background:var(--linea)}
.esc-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.esc-card{position:relative;display:flex;align-items:flex-start;gap:14px;padding:16px 16px 15px;border-radius:14px;background:var(--bg2);border:1px solid var(--linea);text-align:left;cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s,background .15s;min-width:0}
.esc-card:hover{border-color:color-mix(in srgb,var(--acento) 45%,var(--linea));background:color-mix(in srgb,var(--acento) 4%,var(--bg2));transform:translateY(-1px);box-shadow:0 10px 24px -16px rgba(0,0,0,.55)}
.esc-card:active{transform:none}
.esc-card-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:none;background:var(--panel);color:var(--acento);box-shadow:inset 0 0 0 1px var(--linea)}
.esc-card-ic .ic{width:19px;height:19px}
.esc-card:hover .esc-card-ic{background:var(--acento);color:var(--acentoTxt,#fff);box-shadow:none}
.esc-card-tx{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.esc-card-tx b{font-size:14.5px;font-weight:680;line-height:1.25;color:var(--texto)}
.esc-card-tx small{font-size:12.5px;color:var(--suave);line-height:1.42;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.esc-card-tx em{font-style:normal;font-size:11.5px;font-weight:650;color:var(--tenue);margin-top:4px;display:inline-flex;align-items:center;gap:5px}
.esc-card-tx em.on{color:var(--acento)}
.esc-card-tx em .ic{width:13px;height:13px}
.esc-card-g{padding-right:10px}
.esc-card-acc{display:flex;flex-direction:column;gap:2px;margin:-6px -2px -6px 0}
.esc-caja .esc-card-acc .bt{width:32px;height:32px;color:var(--tenue)}
.esc-card-acc .bt:hover{color:var(--texto);background:var(--linea)}
.esc-card-acc .bt.on{color:var(--acento)}
.esc-card-acc .bt .ic{width:16px;height:16px}
.esc-seguir{margin-top:20px;width:100%;display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;text-align:left;background:color-mix(in srgb,var(--acento) 9%,transparent);border:1px solid color-mix(in srgb,var(--acento) 30%,transparent);color:var(--texto);font-size:14px}
.esc-seguir:hover{background:color-mix(in srgb,var(--acento) 14%,transparent)}
.esc-seguir span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.esc-seguir>.ic:first-child{color:var(--acento)}
.esc-seguir>.ic:last-child{transform:rotate(180deg);color:var(--acento)}
.esc-ini-pie{margin-top:30px!important;font-size:12px;color:var(--tenue);line-height:1.5}

/* barra de resultados */
.esc-volver{flex:none;gap:6px;padding:0 12px 0 8px;color:var(--suave);font-weight:650}
.esc-volver:hover{color:var(--texto)}
.esc-ctl-acc{display:flex;align-items:center;gap:4px;flex:none}
.esc-ctl-acc .bt{color:var(--suave)}
.esc-ctl-acc .bt:hover{color:var(--texto)}
.esc-ctl-acc .bt[data-a="columnas"],.esc-ctl-acc .esc-bt-pers{gap:6px;padding:0 12px;border:1px solid var(--linea2);color:var(--texto);font-weight:600}
.esc-ctl-acc .bt.on{background:color-mix(in srgb,var(--acento) 14%,transparent);color:var(--acento);border-color:color-mix(in srgb,var(--acento) 35%,transparent)}
.esc-ctl-acc .bt[data-a="guardar"].on .ic,.esc-ctl-acc .bt[data-a="alerta"].on .ic{fill:color-mix(in srgb,var(--acento) 30%,transparent)}
.esc-ctl-acc .bt.girando .ic{animation:esc-gira 1s linear infinite}
.esc-ctl .esc-busca{margin-left:auto;width:220px;order:10}
.esc-r-ic{display:grid!important;width:38px;height:38px;border-radius:11px;place-items:center;flex:none;background:color-mix(in srgb,var(--acento) 13%,transparent);color:var(--acento)}
.esc-r-a b{font-family:var(--ftit,var(--fuente));font-size:17px;font-weight:720;letter-spacing:-.2px;display:block}
.esc-r-a>div{min-width:0}
.esc-txt{display:inline-block;max-width:150px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;font-size:12.5px;font-weight:600;color:var(--suave);padding:3px 9px;border-radius:7px;background:var(--panel2)}
.esc-tabla td.acento{color:var(--acento);font-weight:650}

/* selector de columnas y cajitas flotantes */
.esc-pop{position:fixed;z-index:60;width:330px;max-height:min(440px,70vh);display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--linea2);border-radius:14px;box-shadow:var(--sombra),0 18px 40px -18px rgba(0,0,0,.6);font-family:var(--fuente);color:var(--texto);animation:esc-entra .12s ease-out;overflow:hidden}
.esc-pop .ic{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.esc-pop-q{flex:none;display:flex;align-items:center;gap:8px;margin:10px;padding:0 10px;height:38px;border-radius:10px;background:var(--bg2);border:1px solid var(--linea);color:var(--tenue)}
.esc-pop-q input{flex:1;min-width:0;background:none;border:0;outline:0;color:var(--texto);font-size:14px}
.esc-pop-l{flex:1;min-height:0;overflow-y:auto;padding:0 6px 6px;scrollbar-width:thin}
.esc-pop-l h6{margin:10px 8px 4px;font-size:11px;font-weight:750;letter-spacing:.7px;text-transform:uppercase;color:var(--tenue)}
.esc-pop-l button{width:100%;display:flex;align-items:center;gap:10px;justify-content:space-between;padding:8px 10px;border-radius:9px;text-align:left;font-size:13.5px;color:var(--texto)}
.esc-pop-l button:hover{background:var(--panel2)}
.esc-pop-l button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.esc-pop-l button .ic{color:var(--tenue)}
.esc-pop-l button.on .ic{color:var(--acento)}
.esc-pop-l button.on span{font-weight:650}
.esc-pop-p{flex:none;margin:0;padding:10px 14px;border-top:1px solid var(--linea);font-size:12px;color:var(--tenue);line-height:1.45}
.esc-pop-nombre{padding:16px;gap:8px;width:300px;max-height:none}
.esc-pop-nombre b{font-size:15px}
.esc-pop-nombre p{margin:0;font-size:12.5px;color:var(--suave);line-height:1.45}
.esc-pop-nombre input{height:40px;border-radius:10px;border:1px solid var(--linea);background:var(--bg2);padding:0 12px;color:var(--texto);font-size:14px;outline:0;margin-top:4px}
.esc-pop-nombre input:focus{border-color:var(--acento)}
.esc-pop-nombre div{display:flex;gap:8px;justify-content:flex-end;margin-top:6px}
.esc-pop-nombre .bt{height:36px;border-radius:10px;padding:0 14px;gap:6px}
.esc-pop.hoja-movil{left:0!important;right:0;bottom:0;top:auto!important;width:auto;max-height:78vh;border-radius:18px 18px 0 0;padding-bottom:env(safe-area-inset-bottom)}

/* condiciones Y/O y grupos */
.esc-ed-botones{display:flex;gap:8px}
.esc-ed-botones .esc-ed-anadir{flex:1}
.esc-ed-grupo{border:1px solid color-mix(in srgb,var(--acento) 30%,var(--linea));border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:6px;background:color-mix(in srgb,var(--acento) 4%,transparent)}
.esc-ed-grupo-cab{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:650;color:var(--suave)}
.esc-ed-grupo-cab .bt{margin-left:auto}
.esc-ed-grupo .esc-ed-filtro{background:var(--panel)}
.esc-ed-anadir.mini{height:34px;margin-top:2px;font-size:12.5px}
.esc-ud{font-style:normal;font-size:12px;color:var(--tenue)}
.esc-ed-txt{flex:1 1 160px;display:flex}
.esc-ed-f2 select[data-f="op"]{flex:1 1 120px}
.esc-ed-txt select{flex:1}
.esc-editor select[multiple]{height:auto;padding:4px}

@media (max-width:1180px){
  .esc-ctl .esc-busca{width:160px}
  .esc-ctl-acc .bt[data-a="columnas"] span,.esc-ctl-acc .esc-bt-pers span{display:none}
  .esc-ctl-acc .bt[data-a="columnas"],.esc-ctl-acc .esc-bt-pers{width:36px;padding:0;justify-content:center}
}
@media (max-width:760px){
  .esc-ini-in{padding:16px 16px 28px}
  .esc-ini-cab h3{font-size:20px}
  .esc-ini-cab p{font-size:13px}
  .esc-cards{grid-template-columns:1fr;gap:8px}
  .esc-card{padding:12px}
  .esc-card-ic{width:36px;height:36px}
  .esc-card-tx small{-webkit-line-clamp:2}
  .esc-modo button{padding:0 9px}
  .esc-ctl{grid-template-columns:auto minmax(0,1fr) 116px!important}
  .esc-volver span{display:none}
  .esc-volver{width:44px;height:44px;padding:0;justify-content:center;border-radius:12px;background:var(--panel2)}
  .esc-ctl-acc{grid-column:1/-1;justify-content:space-between}
  .esc-ctl-acc .esc-auto{display:none!important}
  .esc-ctl-acc .bt{width:auto;flex:1;height:40px;justify-content:center}
  .esc-ctl .esc-busca{display:none}
  .esc-r-ic{display:none!important}
  .esc-r-a b{font-size:15px}
}
