.ctp-chart-outer {
	width: 100%;
	max-width: 800px;
	margin: 1em 0;
}

.ctp-chart-legend {
	display: flex;
	gap: 16px;
	font-size: 0.8em;
	color: #666;
	margin-bottom: 0.5em;
}

.ctp-legend-swatch {
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 2px;
	margin-right: 4px;
	vertical-align: middle;
}

.ctp-chart-wrap {
	position: relative;
	width: 100%;
	min-height: 320px;
}

.ctp-chart-error {
	padding: 1em;
	background: #fdecea;
	color: #611a15;
	border-radius: 6px;
}

.ctp-analysis-table {
	width: 100%;
	font-size: 0.85em;
	margin: 0.5em 0;
	border-collapse: collapse;
}

.ctp-analysis-table td {
	padding: 2px 0;
}

.ctp-analysis-table td:last-child {
	text-align: right;
	font-weight: 600;
}

.ctp-rsi-gauge {
	position: relative;
	height: 6px;
	border-radius: 3px;
	background: linear-gradient(to right, #34c77b 0%, #e0e0e0 30%, #e0e0e0 70%, #e5533d 100%);
	margin-top: 0.4em;
}

.ctp-rsi-gauge-fill {
	position: absolute;
	top: -3px;
	width: 2px;
	height: 12px;
	background: #222;
}

.ctp-rsi-gauge-marker {
	display: none;
}

.ctp-rsi-labels {
	display: flex;
	justify-content: space-between;
	font-size: 0.68em;
	color: #999;
	margin-top: 2px;
}

.ctp-breakout-badge {
	display: inline-block;
	font-size: 0.78em;
	font-weight: 600;
	padding: 3px 10px;
	border-radius: 4px;
	margin: 0.5em 0;
}

.ctp-breakout-bullish {
	background: #34c77b;
	color: #fff;
}

.ctp-breakout-bearish {
	background: #e5533d;
	color: #fff;
}

.ctp-pattern-box {
	background: rgba(0,0,0,0.03);
	border-radius: 6px;
	padding: 8px 10px;
	margin: 0.5em 0;
}

.ctp-pattern-title {
	font-size: 0.8em;
	font-weight: 600;
	margin-bottom: 4px;
}

.ctp-pattern-stat {
	font-size: 0.78em;
	color: #555;
	line-height: 1.5;
}

.ctp-positive {
	color: #1d9e75;
}

.ctp-negative {
	color: #d85a30;
}

.ctp-signal-box {
	max-width: 360px;
	padding: 1.25em;
	border-radius: 10px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	border: 1px solid #e0e0e0;
	margin: 1em 0;
}

.ctp-signal-buy {
	background: #eafaf1;
	border-color: #34c77b;
}

.ctp-signal-sell {
	background: #fdecea;
	border-color: #e5533d;
}

.ctp-signal-hold {
	background: #f4f5f7;
	border-color: #c9ccd1;
}

.ctp-signal-pair {
	font-size: 0.85em;
	color: #666;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.ctp-signal-value {
	font-size: 1.8em;
	font-weight: 700;
	margin: 0.15em 0;
}

.ctp-signal-price {
	font-size: 0.95em;
	margin-bottom: 0.4em;
}

.ctp-signal-reason {
	font-size: 0.85em;
	color: #444;
	margin-bottom: 0.5em;
}

.ctp-signal-time {
	font-size: 0.75em;
	color: #999;
}

.ctp-signal-disclaimer {
	font-size: 0.7em;
	color: #999;
	margin-top: 0.5em;
	font-style: italic;
}
