/*
 * ECN Observatorio — estilos de componentes de dato.
 * Consume EXCLUSIVAMENTE los tokens de theme/ecn-brand-tokens.css.
 * Cero colores hardcodeados: si un token no está cargado, el navegador
 * hereda el estilo del tema — nunca inventamos un color aquí.
 */

/* ---- [ecn_dato] — cifra inline ---- */
.ecn-dato {
	color: var(--ecn-azul-dato);
	font-weight: 700;
	white-space: nowrap;
}

/* ---- [ecn_ficha] — tarjeta de indicador ---- */
.ecn-ficha {
	border: 1px solid var(--ecn-gris-borde);
	border-left: var(--ecn-ancho-linea-dato) solid var(--ecn-azul-dato);
	border-radius: var(--ecn-radio-borde);
	background: var(--ecn-blanco);
	padding: var(--ecn-sp-5);
	margin: var(--ecn-sp-5) 0;
	max-width: 32rem;
}

.ecn-ficha__titulo {
	font-size: var(--ecn-fs-md);
	font-weight: 700;
	color: var(--ecn-negro);
	margin-bottom: var(--ecn-sp-2);
}

.ecn-ficha__valor {
	font-size: var(--ecn-fs-2xl);
	font-weight: 800;
	line-height: 1.1;
	color: var(--ecn-azul-dato);
	margin: 0 0 var(--ecn-sp-2);
}

.ecn-ficha__variacion {
	font-size: var(--ecn-fs-sm);
	font-weight: 600;
	margin: 0 0 var(--ecn-sp-4);
}

.ecn-variacion--positiva {
	color: var(--ecn-variacion-positiva);
}

.ecn-variacion--negativa {
	color: var(--ecn-variacion-negativa);
}

.ecn-ficha__detalle {
	margin: 0;
	font-size: var(--ecn-fs-sm);
}

.ecn-ficha__fila {
	display: flex;
	flex-wrap: wrap; /* en pantallas angostas la etiqueta y el valor se apilan */
	gap: var(--ecn-sp-2);
	padding: var(--ecn-sp-1) 0;
	border-top: 1px solid var(--ecn-gris-superficie);
}

.ecn-ficha__fila dt {
	flex: 0 0 9rem;
	font-weight: 600;
	color: var(--ecn-gris);
}

.ecn-ficha__fila dd {
	margin: 0;
	color: var(--ecn-negro);
}

.ecn-ficha__sello {
	margin: var(--ecn-sp-4) 0 0;
	font-size: var(--ecn-fs-xs);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--ecn-azul-dato);
}

/* ---- [ecn_tabla] — tabla de indicadores ---- */
/* El wrapper scrollea horizontal: la tabla nunca desborda el contenedor. */
.ecn-tabla-wrap {
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.ecn-tabla {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--ecn-fs-sm);
	margin: var(--ecn-sp-5) 0;
	/* Cifras tabulares: ancho fijo, requisito de docs/04-tipografia.md */
	font-variant-numeric: tabular-nums lining-nums;
	font-feature-settings: 'tnum' 1, 'lnum' 1;
}

.ecn-tabla td {
	font-variant-numeric: tabular-nums lining-nums;
	font-feature-settings: 'tnum' 1, 'lnum' 1;
}

.ecn-tabla th {
	background: var(--ecn-negro);
	color: var(--ecn-blanco);
	text-align: left;
	padding: var(--ecn-sp-2) var(--ecn-sp-3);
}

.ecn-tabla td {
	padding: var(--ecn-sp-2) var(--ecn-sp-3);
	border-bottom: 1px solid var(--ecn-gris-borde);
}

.ecn-tabla tbody tr:nth-child(even) {
	background: var(--ecn-gris-superficie);
}

.ecn-tabla__valor {
	color: var(--ecn-azul-dato);
	font-weight: 700;
	white-space: nowrap;
}
