.aep-stock-chart{
	font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
	background:#fff;
	border:1px solid #e2e8e6;
	border-radius:10px;
	padding:18px 20px 14px;
	max-width:100%;
	margin:18px 0;
	box-shadow:0 1px 3px rgba(0,0,0,.04);
	color:#1f2937;
	--aep-chart-height:420px;
	--aep-line:#0a5d3a;
	--aep-line-fill:rgba(10,93,58,.18);
	--aep-line-fill-end:rgba(10,93,58,0);
	--aep-grid:#eef2f1;
	--aep-text:#4b5563;
	--aep-up:#0a5d3a;
	--aep-down:#b91c1c;
}
.aep-stock-chart--dark{
	background:#0e1116;
	border-color:#22272e;
	color:#e5e7eb;
	--aep-line:#34d399;
	--aep-line-fill:rgba(52,211,153,.22);
	--aep-line-fill-end:rgba(52,211,153,0);
	--aep-grid:#1f2937;
	--aep-text:#9ca3af;
	--aep-up:#34d399;
	--aep-down:#f87171;
}

.aep-stock-chart__head{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:16px;
	flex-wrap:wrap;
	margin-bottom:6px;
}
.aep-stock-chart__title{ display:flex; align-items:baseline; gap:10px; }
.aep-stock-chart__symbol{ font-weight:700; font-size:1rem; letter-spacing:.04em; }
.aep-stock-chart__name{ font-size:.9rem; color:var(--aep-text); }
.aep-stock-chart__quote{ display:flex; align-items:baseline; gap:10px; }
.aep-stock-chart__price{ font-size:1.6rem; font-weight:700; color:var(--aep-line); line-height:1; }
.aep-stock-chart__change{ font-size:.95rem; font-weight:600; color:var(--aep-up); }
.aep-stock-chart__change.is-down{ color:var(--aep-down); }

.aep-stock-chart__ranges{
	display:flex;
	gap:6px;
	margin:12px 0 10px;
	flex-wrap:wrap;
	padding:6px;
	border:1px solid #e2e8e6;
	border-radius:999px;
	background:#f8fafa;
	overflow-x:auto;
	-webkit-overflow-scrolling:touch;
}
.aep-stock-chart__range{
	background:#fff;
	border:1px solid transparent;
	color:var(--aep-text);
	font:inherit;
	font-size:.86rem;
	font-weight:700;
	min-width:52px;
	padding:9px 13px;
	border-radius:999px;
	cursor:pointer;
	transition:background .12s ease, color .12s ease, border-color .12s ease, box-shadow .12s ease;
	white-space:nowrap;
}
.aep-stock-chart__range:hover{ border-color:rgba(10,93,58,.28); color:var(--aep-line); }
.aep-stock-chart__range:focus-visible{
	outline:none;
	box-shadow:0 0 0 3px rgba(10,93,58,.18);
	border-color:var(--aep-line);
}
.aep-stock-chart__range.is-active{
	background:var(--aep-line);
	border-color:var(--aep-line);
	color:#fff;
}
.aep-stock-chart--dark .aep-stock-chart__ranges{
	background:#111827;
	border-color:#1f2937;
}
.aep-stock-chart--dark .aep-stock-chart__range{
	background:#0e1116;
	border-color:#1f2937;
}
.aep-stock-chart--dark .aep-stock-chart__range:hover,
.aep-stock-chart--dark .aep-stock-chart__range.is-active{
	background:var(--aep-line);
	color:#062014;
}

.aep-stock-chart__canvas-wrap{
	position:relative;
	height:var(--aep-chart-height);
	width:100%;
}
.aep-stock-chart__logo-overlay{
	position:absolute;
	z-index:1;
	top:50%;
	left:50%;
	width:min(260px, 42%);
	height:auto;
	opacity:var(--aep-logo-opacity, .08);
	transform:translate(-50%, -50%);
	pointer-events:none;
	user-select:none;
	filter:grayscale(10%);
}
.aep-stock-chart__canvas-wrap canvas{
	position:relative;
	z-index:2;
	width:100% !important;
	height:100% !important;
	display:block;
}
.aep-stock-chart__status{
	position:absolute;
	z-index:3;
	inset:0;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:.9rem;
	color:var(--aep-text);
	pointer-events:none;
}
.aep-stock-chart__status.is-error{ color:var(--aep-down); }

.aep-stock-chart__foot{
	display:flex;
	justify-content:space-between;
	color:var(--aep-text);
	font-size:.78rem;
	margin-top:8px;
	flex-wrap:wrap;
	gap:8px;
}

/* TradingView container */
.aep-stock-tv{
	margin:18px 0;
	border:1px solid #e2e8e6;
	border-radius:10px;
	overflow:hidden;
	background:#fff;
}
.aep-stock-tv .tradingview-widget-copyright{
	padding:6px 10px;
	font-size:11px;
	color:#94a3b8;
	background:#f8fafc;
	border-top:1px solid #eef2f1;
}
.aep-stock-tv .tradingview-widget-copyright a{
	color:#0a5d3a;
	text-decoration:none;
}

/* Compact ticker quote */
.aep-stock-quote{
	display:inline-flex;
	align-items:baseline;
	gap:8px;
	padding:6px 12px;
	border-radius:999px;
	background:#f1f5f4;
	font-family:inherit;
	font-size:.92rem;
	color:#1f2937;
	white-space:nowrap;
}
.aep-stock-quote__label{ color:#64748b; font-weight:600; font-size:.78rem; text-transform:uppercase; letter-spacing:.05em; }
.aep-stock-quote__symbol{ font-weight:700; }
.aep-stock-quote__price{ font-weight:700; }
.aep-stock-quote__change{ font-weight:600; font-size:.85rem; }
.aep-stock-quote--up .aep-stock-quote__change{ color:#0a5d3a; }
.aep-stock-quote--down .aep-stock-quote__change{ color:#b91c1c; }
.aep-stock-quote--error{ color:#94a3b8; }

@media (max-width:600px){
	.aep-stock-chart{
		padding:14px;
	}
	.aep-stock-chart__ranges{
		flex-wrap:nowrap;
		border-radius:14px;
		padding:7px;
	}
	.aep-stock-chart__range{
		min-width:58px;
		padding:10px 14px;
	}
	.aep-stock-chart__logo-overlay{
		width:min(210px, 55%);
	}
}
