/* Stock Filter 7 — estilo Apple claro (apple.com).
   Minimalismo refinado: blanco, grises, tipografía del sistema SF,
   cards redondeadas, sombras suaves, acentos sobrios. */

.sf7-app {
	--sf7-bg: #ffffff;
	--sf7-card: #f5f5f7;
	--sf7-ink: #1d1d1f;
	--sf7-sub: #6e6e73;
	--sf7-line: #d2d2d7;
	--sf7-blue: #0071e3;
	--sf7-green: #00a15a;
	--sf7-red: #e8412c;
	--sf7-amber: #b25e00;
	--sf7-gray: #86868b;

	font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif;
	color: var(--sf7-ink);
	background: var(--sf7-bg);
	max-width: 760px;
	margin: 0 auto;
	padding: 28px 22px 22px;
	-webkit-font-smoothing: antialiased;
	border-radius: 22px;
}

.sf7-head { text-align: center; margin-bottom: 22px; }
.sf7-title {
	font-size: 34px;
	font-weight: 600;
	letter-spacing: -0.02em;
	margin: 0;
}
.sf7-title span { color: var(--sf7-blue); }
.sf7-sub {
	font-size: 15px;
	color: var(--sf7-sub);
	margin: 6px 0 0;
	font-weight: 400;
}

.sf7-searchbar {
	display: flex;
	gap: 10px;
	align-items: center;
	margin-bottom: 20px;
}
.sf7-input {
	flex: 1;
	font-size: 17px;
	padding: 13px 16px;
	border: 1px solid var(--sf7-line);
	border-radius: 12px;
	background: #fff;
	color: var(--sf7-ink);
	outline: none;
	transition: border-color .2s, box-shadow .2s;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.sf7-input:focus {
	border-color: var(--sf7-blue);
	box-shadow: 0 0 0 4px rgba(0,113,227,0.12);
}
.sf7-go {
	font-size: 16px;
	font-weight: 500;
	padding: 13px 22px;
	border: none;
	border-radius: 12px;
	background: var(--sf7-blue);
	color: #fff;
	cursor: pointer;
	transition: opacity .2s, transform .1s;
}
.sf7-go:hover { opacity: .9; }
.sf7-go:active { transform: scale(.97); }
.sf7-refresh {
	font-size: 18px;
	width: 48px; height: 48px;
	border: 1px solid var(--sf7-line);
	border-radius: 12px;
	background: #fff;
	color: var(--sf7-sub);
	cursor: pointer;
	transition: background .2s, transform .4s;
}
.sf7-refresh:hover { background: var(--sf7-card); }
.sf7-refresh.spin { transform: rotate(360deg); }

.sf7-status {
	text-align: center;
	color: var(--sf7-sub);
	font-size: 15px;
	padding: 14px;
}
.sf7-status.err { color: var(--sf7-red); }

/* Banner de cobertura / motor */
.sf7-banner {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 18px;
}
.sf7-chip {
	font-size: 13px;
	padding: 7px 12px;
	border-radius: 980px;
	background: var(--sf7-card);
	color: var(--sf7-sub);
	font-weight: 500;
}
.sf7-chip.warn { background: #fff4e5; color: var(--sf7-amber); }
.sf7-chip.bad  { background: #fdecea; color: var(--sf7-red); }
.sf7-chip.ok   { background: #e6f6ee; color: var(--sf7-green); }

.sf7-symbolline {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 16px;
}
.sf7-symbol { font-size: 26px; font-weight: 600; letter-spacing: -0.01em; }
.sf7-price  { font-size: 22px; font-weight: 500; }
.sf7-asof   { font-size: 12px; color: var(--sf7-gray); }

/* Tarjeta de filtro */
.sf7-section-h {
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--sf7-gray);
	margin: 22px 0 10px;
	font-weight: 600;
}
.sf7-filter {
	background: var(--sf7-card);
	border-radius: 14px;
	padding: 14px 16px;
	margin-bottom: 8px;
}
.sf7-filter-top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 8px;
}
.sf7-filter-name { font-size: 15px; font-weight: 600; }
.sf7-filter-weight { font-size: 12px; color: var(--sf7-gray); }
.sf7-bar {
	position: relative;
	height: 6px;
	background: #e3e3e8;
	border-radius: 3px;
	overflow: hidden;
}
.sf7-bar > i {
	position: absolute;
	top: 0; bottom: 0;
	border-radius: 3px;
	transition: width .5s ease;
}
.sf7-bar > i.up   { background: var(--sf7-green); left: 50%; }
.sf7-bar > i.down { background: var(--sf7-red); right: 50%; }
.sf7-filter-note { font-size: 13px; color: var(--sf7-sub); margin-top: 8px; }
.sf7-filter.insufficient { opacity: .55; }
.sf7-filter.insufficient .sf7-filter-name::after {
	content: " · DATA INSUFICIENTE";
	color: var(--sf7-gray);
	font-weight: 400;
	font-size: 12px;
}

/* Tabla de horizontes */
.sf7-horizons { width: 100%; border-collapse: collapse; margin-top: 6px; }
.sf7-horizons th {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--sf7-gray);
	text-align: right;
	padding: 8px 8px;
	font-weight: 600;
	border-bottom: 1px solid var(--sf7-line);
}
.sf7-horizons th:first-child { text-align: left; }
.sf7-horizons td {
	font-size: 14px;
	padding: 11px 8px;
	text-align: right;
	border-bottom: 1px solid #ececef;
	font-variant-numeric: tabular-nums;
}
.sf7-horizons td:first-child { text-align: left; font-weight: 600; }
.sf7-horizons tr:last-child td { border-bottom: none; }

.sf7-verdict {
	display: inline-block;
	font-size: 12px;
	font-weight: 600;
	padding: 4px 10px;
	border-radius: 980px;
}
.sf7-verdict.call  { background: #e6f6ee; color: var(--sf7-green); }
.sf7-verdict.put   { background: #fdecea; color: var(--sf7-red); }
.sf7-verdict.watch { background: #fff4e5; color: var(--sf7-amber); }
.sf7-verdict.no    { background: #ececed; color: var(--sf7-gray); }

.sf7-conf {
	display: inline-block;
	min-width: 38px;
}

.sf7-disclaimer {
	font-size: 12px;
	color: var(--sf7-gray);
	text-align: center;
	margin-top: 22px;
	line-height: 1.5;
	border-top: 1px solid var(--sf7-line);
	padding-top: 16px;
}

@media (max-width: 560px) {
	.sf7-title { font-size: 28px; }
	.sf7-horizons th:nth-child(5),
	.sf7-horizons td:nth-child(5) { display: none; } /* oculta target en móvil */
	.sf7-searchbar { flex-wrap: wrap; }
	.sf7-input { min-width: 0; }
}
