/* BVQ Mercado en Línea — tabla completa de operaciones cerradas.
 * Hereda los tokens de marca de bvq-mercado.css (.bvq-widget). */

.bvq-tabla{border:0;background:none;box-shadow:none;border-radius:0;overflow:visible}

/* ------------------------------ tarjetas ------------------------------ */
.bvq-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:14px;margin-bottom:22px}
.bvq-card{
	position:relative;display:flex;flex-direction:column;gap:3px;
	background:var(--bvq-surface);border:1px solid var(--bvq-line);
	border-radius:var(--bvq-radius);padding:17px 18px 15px;overflow:hidden;
}
/* El tricolor de marca reparte las tres tarjetas según su significado:
   azul institucional para la sesión, rojo para el movimiento del mercado,
   amarillo para el valor económico. */
.bvq-card::before{content:"";position:absolute;inset:0 0 auto 0;height:3px}
.bvq-card--azul::before{background:var(--bvq-azul)}
.bvq-card--rojo::before{background:var(--bvq-rojo)}
.bvq-card--amarillo::before{background:var(--bvq-amarillo)}
.bvq-card-v{
	display:flex;align-items:center;gap:9px;
	font-size:26px;font-weight:700;letter-spacing:-.025em;line-height:1.15;
	color:var(--bvq-azul);font-variant-numeric:tabular-nums;
}
.bvq-card-sub{font-size:13.5px;color:var(--bvq-muted)}

/* Comparación contra la rueda anterior. La paleta del manual no tiene
   verde, así que el alza va en azul institucional y la baja en el rojo de
   marca — que además coincide con la convención bursátil. El color no es
   la única señal: el triángulo y el texto dicen lo mismo, para quien no
   distingue esos dos colores. */
.bvq-vs{
	display:inline-flex;align-items:center;gap:4px;margin-top:5px;
	font-size:12.5px;font-weight:700;letter-spacing:.01em;
	color:var(--bvq-muted);font-variant-numeric:tabular-nums;
}
.bvq-vs-f{font-size:9px;line-height:1}
.bvq-vs--media{margin-top:2px;font-weight:600}
.bvq-vs--sube{color:var(--bvq-azul)}
.bvq-vs--baja{color:var(--bvq-rojo)}

/* --------------------- barra de herramientas -------------------------- */
.bvq-t-panel{background:var(--bvq-surface);border:1px solid var(--bvq-line);border-radius:var(--bvq-radius);overflow:hidden}
.bvq-toolbar{
	display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;
	padding:14px 18px;border-bottom:1px solid var(--bvq-line);background:var(--bvq-surface-2);
}
.bvq-export{display:flex;gap:6px;flex-wrap:wrap}
.bvq-btn{
	font:inherit;font-size:13.5px;font-weight:700;letter-spacing:.02em;
	color:var(--bvq-azul);background:var(--bvq-surface);border:1px solid var(--bvq-line-2);
	padding:6px 12px;border-radius:6px;cursor:pointer;transition:background .15s,color .15s,border-color .15s;
}
.bvq-btn:hover{background:var(--bvq-azul);border-color:var(--bvq-azul);color:#fff}
.bvq-btn:focus-visible{outline:2px solid var(--bvq-azul);outline-offset:2px}
.bvq-btn-fuerte{background:var(--bvq-azul);border-color:var(--bvq-azul);color:#fff}
.bvq-btn-fuerte:hover{background:#0A2C56}

.bvq-filtros{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
/* Señal discreta de frescura. No compite con la tabla: si no hay nada que
   decir queda vacía y no ocupa lugar. */
.bvq-estado{
	font-size:12.5px;color:var(--bvq-muted);font-variant-numeric:tabular-nums;
	white-space:nowrap;
}
.bvq-estado:empty{display:none}
.bvq-busca{display:flex;align-items:center;gap:7px;background:var(--bvq-surface);border:1px solid var(--bvq-line-2);border-radius:6px;padding:0 10px;color:var(--bvq-muted)}
.bvq-busca:focus-within{border-color:var(--bvq-azul);box-shadow:0 0 0 3px var(--bvq-azul-soft)}
.bvq-busca input{font:inherit;font-size:14.5px;border:0;background:none;padding:7px 0;min-width:190px;color:var(--bvq-ink);outline:none}
.bvq-pp{display:flex;align-items:center;gap:7px;font-size:13.5px;color:var(--bvq-muted)}
.bvq-pp select{font:inherit;font-size:14px;padding:6px 8px;border:1px solid var(--bvq-line-2);border-radius:6px;background:var(--bvq-surface);color:var(--bvq-ink)}

.bvq-aviso{
	display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
	padding:11px 18px;background:var(--bvq-amarillo-soft);
	border-bottom:1px solid var(--bvq-line);font-size:14.5px;color:var(--bvq-azul);font-weight:500;
}

/* -------------------------------- tabla ------------------------------- */
.bvq-scroll{overflow-x:auto}
.bvq-t{width:100%;border-collapse:collapse;font-size:14.5px;min-width:960px}
.bvq-t thead th{
	background:var(--bvq-surface);border-bottom:2px solid var(--bvq-line-2);
	padding:0;text-align:left;vertical-align:bottom;white-space:nowrap;position:sticky;top:0;z-index:1;
}
/* El botón ordena y el icono explica: dos acciones distintas, así que van
   en elementos separados y no uno dentro del otro. */
.bvq-th-wrap{display:flex;align-items:center;gap:2px;padding-right:10px}
.bvq-t th.bvq-r .bvq-th-wrap{justify-content:flex-end}
.bvq-th{
	font:inherit;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
	color:var(--bvq-muted);background:none;border:0;cursor:pointer;
	padding:13px 4px 13px 12px;text-align:inherit;display:flex;align-items:center;gap:6px;
}
.bvq-t th.bvq-r .bvq-th{justify-content:flex-end}
.bvq-th:hover{color:var(--bvq-azul)}
.bvq-th:focus-visible{outline:2px solid var(--bvq-azul);outline-offset:-2px}
.bvq-arrow{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;opacity:0}
.bvq-t th[aria-sort="ascending"] .bvq-arrow{opacity:1;border-bottom:5px solid var(--bvq-rojo)}
.bvq-t th[aria-sort="descending"] .bvq-arrow{opacity:1;border-top:5px solid var(--bvq-rojo)}
.bvq-t th[aria-sort="ascending"] .bvq-th,
.bvq-t th[aria-sort="descending"] .bvq-th{color:var(--bvq-azul)}
.bvq-c-exp{width:38px}

.bvq-t tbody td{padding:11px 12px;border-bottom:1px solid var(--bvq-line);color:var(--bvq-ink-2);vertical-align:middle}
.bvq-t tbody tr.bvq-t-row:hover td{background:var(--bvq-surface-2)}
.bvq-t .bvq-r{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.bvq-t .bvq-fuerte{font-weight:700;color:var(--bvq-azul)}
.bvq-c-emisor{font-weight:500;color:var(--bvq-azul);min-width:190px}
.bvq-c-titulo{white-space:nowrap}
.bvq-t-nom{display:block;font-size:12.5px;color:var(--bvq-muted);margin-top:3px}
.bvq-u{color:var(--bvq-muted);font-size:12.5px}
.bvq-c-hora,.bvq-c-emision{color:var(--bvq-muted)}
.bvq-c-condicion,.bvq-c-plaza{white-space:nowrap;color:var(--bvq-muted)}
.bvq-solo-quito[hidden]{display:none}
.bvq-solo-quito{display:inline-flex;align-items:center;gap:.45rem;cursor:pointer;white-space:nowrap;font-size:.91rem}
.bvq-solo-quito input{width:16px;height:16px;margin:0;cursor:pointer;accent-color:var(--bvq-azul,#041E42)}

/* Oferta y demanda son los dos lados del mercado: se distinguen por forma
   y por texto, no solo por color, para quien no separa azul de rojo. */
.bvq-tag{
	display:inline-block;font-size:12px;font-weight:700;letter-spacing:.04em;
	text-transform:uppercase;padding:2px 9px;border-radius:11px;white-space:nowrap;
}
.bvq-tag-o{background:var(--bvq-rojo-soft,rgba(234,28,36,.09));color:var(--bvq-rojo);border:1px solid rgba(234,28,36,.28)}
.bvq-tag-d{background:var(--bvq-azul-soft);color:var(--bvq-azul);border:1px solid var(--bvq-line-2)}
.bvq-t-vacio td{padding:40px 18px;text-align:center;color:var(--bvq-muted)}

.bvq-exp{
	display:flex;align-items:center;justify-content:center;width:22px;height:22px;
	border:1px solid var(--bvq-line-2);border-radius:50%;background:var(--bvq-surface);
	color:var(--bvq-azul);cursor:pointer;padding:0;transition:background .15s,color .15s,transform .18s;
}
.bvq-exp:hover{background:var(--bvq-azul);border-color:var(--bvq-azul);color:#fff}
.bvq-exp:focus-visible{outline:2px solid var(--bvq-azul);outline-offset:2px}
.bvq-exp[aria-expanded="true"]{background:var(--bvq-azul);border-color:var(--bvq-azul);color:#fff;transform:rotate(45deg)}

.bvq-t-det > td{background:var(--bvq-surface-2);padding:0 12px 16px}
.bvq-t-det .bvq-dl{border-top:1px dashed var(--bvq-line-2);padding-top:13px;margin-top:0}

.bvq-vacio-busca{padding:40px 18px;text-align:center;color:var(--bvq-muted);font-size:15px;border-bottom:1px solid var(--bvq-line)}

/* ----------------------------- paginación ----------------------------- */
.bvq-pag{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:14px 18px;background:var(--bvq-surface-2)}
.bvq-pag-txt{margin:0;font-size:13.5px;color:var(--bvq-muted);font-variant-numeric:tabular-nums}
.bvq-pag-btns{display:flex;gap:4px;flex-wrap:wrap}
.bvq-pg{
	font:inherit;font-size:14px;font-weight:500;min-width:32px;padding:5px 9px;
	border:1px solid transparent;border-radius:6px;background:none;color:var(--bvq-ink-2);cursor:pointer;
	font-variant-numeric:tabular-nums;
}
.bvq-pg:hover:not([disabled]){background:var(--bvq-azul-soft);color:var(--bvq-azul)}
.bvq-pg[aria-current="page"]{background:var(--bvq-azul);border-color:var(--bvq-azul);color:#fff;font-weight:700}
.bvq-pg[disabled]{opacity:.35;cursor:default}
.bvq-pg-gap{padding:5px 4px;color:var(--bvq-muted);align-self:center}

.bvq-pie{margin:16px 0 0;font-size:13.5px;color:var(--bvq-muted);font-weight:300}

.screen-reader-text{
	position:absolute!important;width:1px;height:1px;overflow:hidden;
	clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap;
}

/* =======================================================================
 * Estilo 1.9.0 — barra de herramientas en azul institucional y filas
 * alternas. Lo comparten las seis tablas del plugin (operaciones, ofertas,
 * ranking, calculadora e inventario, Visión AMERCA).
 *
 * Paleta: la del arco «BVQ, la Voz Bursátil» del Manual de Marca —azul,
 * blanco y gris como apoyo, rojo solo como acento—. No se agrega ningún
 * color: el rojo sigue limitado a la pestaña activa y la flecha de orden.
 * ======================================================================= */

/* --- Barra azul. Selectores con .bvq-widget delante para ganarle a los
   estilos de botón del tema (Elementor y similares fijan fondo y color
   en button:hover). --- */
.bvq-widget .bvq-toolbar{background:var(--bvq-azul);border-bottom:0;color:#fff}
.bvq-widget .bvq-toolbar .bvq-btn{
	background:transparent;color:#fff;border-color:rgba(255,255,255,.42);
}
.bvq-widget .bvq-toolbar .bvq-btn:hover,
.bvq-widget .bvq-toolbar .bvq-btn:focus{background:#fff;color:var(--bvq-azul);border-color:#fff}
/* Sobre azul, el contorno azul del foco no se vería: va en amarillo de marca. */
.bvq-widget .bvq-toolbar :focus-visible{outline:2px solid var(--bvq-amarillo);outline-offset:2px}
.bvq-widget .bvq-toolbar .bvq-estado{color:rgba(255,255,255,.8)}
.bvq-widget .bvq-toolbar .bvq-pp{color:rgba(255,255,255,.85)}
/* Buscador y selector siguen blancos: un campo debe leerse como campo. */
.bvq-widget .bvq-toolbar .bvq-busca,
.bvq-widget .bvq-toolbar .bvq-pp select{border-color:transparent}
.bvq-widget .bvq-toolbar .bvq-busca:focus-within{border-color:var(--bvq-amarillo);box-shadow:0 0 0 3px rgba(255,198,0,.35)}
.bvq-widget .bvq-toolbar .bvq-calc-t{color:#fff}
.bvq-widget .bvq-toolbar .bvq-i{color:rgba(255,255,255,.8)}
.bvq-widget .bvq-toolbar .bvq-i:hover,
.bvq-widget .bvq-toolbar .bvq-i[aria-expanded="true"]{color:var(--bvq-azul);background:#fff}
/* Filtros por país de Visión AMERCA. Ecuador conserva su borde rojo. */
.bvq-widget .bvq-toolbar .bvq-chipf{background:transparent;color:#fff;border-color:rgba(255,255,255,.42)}
.bvq-widget .bvq-toolbar .bvq-chipf:hover{border-color:#fff;color:#fff}
.bvq-widget .bvq-toolbar .bvq-chipf.is-on{background:#fff;color:var(--bvq-azul);border-color:#fff}
.bvq-widget .bvq-toolbar .bvq-chipf.is-propia{border-color:var(--bvq-rojo);color:#fff;font-weight:700}
.bvq-widget .bvq-toolbar .bvq-chipf.is-propia.is-on{background:var(--bvq-rojo);border-color:var(--bvq-rojo);color:#fff}

/* La línea del encabezado retoma el azul de la barra y cierra el bloque. */
.bvq-t thead tr:last-child th{border-bottom-color:var(--bvq-azul)}

/* --- Filas alternas. «of .bvq-t-row:not([hidden])» cuenta SOLO las filas
   visibles: el patrón sigue correcto al buscar, paginar, filtrar u ordenar
   (las tablas ocultan filas y operaciones cerradas intercala filas de
   detalle). El detalle desplegado toma el tono de su fila. Las filas con
   resaltado propio —BVQ en Visión, el título elegido en la calculadora—
   lo conservan. En un navegador anterior a 2023 la regla se ignora y la
   tabla queda blanca, como hasta ahora. --- */
.bvq-t-det > td{background:var(--bvq-surface)}
.bvq-t tbody tr.bvq-t-row:nth-child(even of .bvq-t-row:not([hidden])):not(.is-propia):not(.is-sel) > td,
.bvq-t tbody tr.bvq-t-row:nth-child(even of .bvq-t-row:not([hidden])):not(.is-propia):not(.is-sel) + .bvq-t-det > td{
	background:var(--bvq-cebra);
}
/* El paso del mouse debe distinguirse de la fila alterna: un azul suave.
   Repite el prefijo de la regla anterior (con «n» en vez de «even») porque
   esa regla pesa 0,7,3 y un simple tr:hover perdería contra ella. */
.bvq-t tbody tr.bvq-t-row:nth-child(n of .bvq-t-row:not([hidden])):not(.is-propia):not(.is-sel):hover > td{
	background:var(--bvq-azul-soft);
}

/* ------------------------------- móvil -------------------------------- */
@media (max-width:760px){
	.bvq-toolbar{padding:12px 14px}
	.bvq-busca input{min-width:0;width:100%}
	.bvq-filtros{width:100%}
	.bvq-busca{flex:1}
	/* En pantalla chica el buscador compartía línea con la hora y el selector
	   y quedaba en «Buscar c…»: pasa a su propia línea, a todo el ancho. */
	.bvq-filtros .bvq-busca{flex:1 1 100%;order:2}
	.bvq-pag{padding:12px 14px}
	.bvq-card-v{font-size:22px}
}

/* ------------------------- impresión y PDF ---------------------------- */
@media print{
	body *{visibility:hidden!important}
	.bvq-tabla,.bvq-tabla *{visibility:visible!important}
	.bvq-tabla{position:absolute;left:0;top:0;width:100%}
	.bvq-toolbar,.bvq-pag,.bvq-c-exp,.bvq-aviso,.bvq-tabs{display:none!important}
	.bvq-scroll{overflow:visible!important}
	.bvq-t{min-width:0;font-size:9.5pt}
	.bvq-t thead th{position:static}
	.bvq-t tbody tr{page-break-inside:avoid}
	.bvq-card{border:1px solid #ccc}
	.bvq-t-det[hidden]{display:none!important}
}

/* ---------------------- subtotales por título ------------------------- */
.bvq-subtot{padding:16px 18px 14px;border-bottom:1px solid var(--bvq-line);background:var(--bvq-surface-2)}
.bvq-subtot-cab{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:10px}
.bvq-subtot-tit{margin:0;font-size:14px;font-weight:700;letter-spacing:.02em;color:var(--bvq-azul)}
.bvq-subtot-mas{border:0;background:none;padding:0;cursor:pointer;font:inherit;font-size:13px;font-weight:600;color:var(--bvq-azul);text-decoration:underline}
.bvq-subtot-mas:hover{color:#000}

.bvq-subtot-lista{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.bvq-subtot-item{
	display:grid;align-items:center;gap:10px;
	grid-template-columns:52px minmax(0,1fr) 64px 118px 52px 140px;
	font-size:13.5px;color:var(--bvq-ink-2);font-variant-numeric:tabular-nums;
}
.bvq-subtot-nom{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bvq-subtot-ops{text-align:right;color:var(--bvq-muted)}
.bvq-subtot-efe{text-align:right;font-weight:700;color:var(--bvq-azul)}
.bvq-subtot-pct{text-align:right;color:var(--bvq-muted)}

/* La barra es apoyo visual: el dato ya va en cifras, por eso se oculta
   a los lectores de pantalla y no lleva texto propio. */
.bvq-subtot-barra{display:block;height:6px;border-radius:3px;background:rgba(4,30,66,.10);overflow:hidden}
.bvq-subtot-barra i{display:block;height:100%;background:var(--bvq-azul);border-radius:3px}
.bvq-subtot-item:first-child .bvq-subtot-barra i{background:var(--bvq-amarillo,#FFC600)}

@media (max-width:900px){
	.bvq-subtot-item{grid-template-columns:52px minmax(0,1fr) 110px;row-gap:4px}
	.bvq-subtot-ops,.bvq-subtot-pct{display:none}
	.bvq-subtot-barra{grid-column:1 / -1}
}

/* ------------- tarjetas: ayuda contextual y desglose por plaza --------- */
.bvq-k{display:inline-flex;align-items:center;gap:6px}

.bvq-card-v--abrible{
	display:inline-flex;align-items:center;gap:8px;
	border:0;background:none;padding:0;margin:0;cursor:pointer;
	font:inherit;color:inherit;text-align:left;
}
.bvq-card-v--abrible:hover{color:var(--bvq-azul)}
.bvq-card-flecha{flex:0 0 auto;opacity:.5;transition:transform .2s ease,opacity .2s ease}
.bvq-card-v--abrible:hover .bvq-card-flecha{opacity:1}
.bvq-card-v--abrible[aria-expanded="true"] .bvq-card-flecha{transform:rotate(180deg);opacity:1}

.bvq-card-desglose{margin-top:10px;padding-top:10px;border-top:1px solid var(--bvq-line)}
.bvq-card-desglose ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.bvq-card-desglose li{
	display:grid;grid-template-columns:minmax(0,1fr) auto 50px;align-items:baseline;gap:10px;
	font-size:13.5px;color:var(--bvq-ink-2);font-variant-numeric:tabular-nums;
}
.bvq-desg-plaza{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bvq-desg-val{font-weight:700;color:var(--bvq-azul)}
.bvq-desg-pct{text-align:right;color:var(--bvq-muted)}

/* ---------- contexto cuando el libro de subasta está vacío ------------ */
.bvq-contexto{
	margin:0;padding:18px 20px;border-bottom:1px solid var(--bvq-line);
	background:var(--bvq-surface-2);border-left:4px solid var(--bvq-amarillo,#FFC600);
}
.bvq-contexto-t{margin:0 0 5px;font-size:15px;font-weight:700;color:var(--bvq-azul)}
.bvq-contexto-d{margin:0;font-size:14px;line-height:1.55;color:var(--bvq-ink-2);max-width:72ch}
.bvq-contexto-a{
	display:inline-block;margin-top:10px;font-size:14px;font-weight:600;
	color:var(--bvq-azul);text-decoration:underline;
}
.bvq-contexto-a:hover{color:#000}
