/**
 * Front-end styles: inherits the active theme's typography and color
 * (font-family/colors use `inherit`/currentColor wherever practical) while
 * adding a distinct, polished accent treatment for the price note and
 * dashboard, per the "inherit theme, but add better design & polish" brief.
 */

.bbwpcp-price-note {
	--bbwpcp-accent: #16a34a;
	--bbwpcp-accent-bg: rgba(22, 163, 74, 0.08);
	display: flex;
	align-items: flex-start;
	gap: 0.5em;
	margin: 0.6em 0 0.2em;
	padding: 0.55em 0.85em;
	font-size: 0.72em;
	line-height: 1.45;
	font-family: inherit;
	color: var(--bbwpcp-accent);
	background: var(--bbwpcp-accent-bg);
	border: 1px solid rgba(22, 163, 74, 0.18);
	border-radius: 0.6em;
	max-width: 32em;
}

.bbwpcp-price-note__icon {
	flex: 0 0 auto;
	display: inline-flex;
	margin-top: 0.15em;
}

.bbwpcp-price-note__text {
	color: inherit;
}

.bbwpcp-price-note__estimate {
	display: block;
	margin-top: 0.25em;
	font-weight: 600;
	opacity: 0.9;
}

/* ---------------------------------------------------------------------
 * Dashboard
 * ------------------------------------------------------------------- */

.bbwpcp-frontend-dashboard {
	--bbwpcp-fg: #0f172a;
	--bbwpcp-muted: #64748b;
	--bbwpcp-border: #e2e8f0;
	--bbwpcp-surface: #ffffff;
	--bbwpcp-surface-alt: #f8fafc;
	margin-top: 3em;
	padding-top: 2em;
	border-top: 1px solid var(--bbwpcp-border);
	font-family: inherit;
}

@media (prefers-color-scheme: dark) {
	.bbwpcp-frontend-dashboard {
		--bbwpcp-fg: #f1f5f9;
		--bbwpcp-muted: #94a3b8;
		--bbwpcp-border: #334155;
		--bbwpcp-surface: #0f172a;
		--bbwpcp-surface-alt: #1e293b;
	}
}

.bbwpcp-frontend-dashboard__title {
	margin: 0 0 0.25em;
	font-size: 1.4em;
	color: var(--bbwpcp-fg);
}

.bbwpcp-frontend-dashboard__subtitle {
	margin: 0 0 1.25em;
	color: var(--bbwpcp-muted);
	font-size: 0.95em;
}

.bbwpcp-dashboard {
	--bbwpcp-series-1: #2a78d6;
	--bbwpcp-series-2: #eb6834;
	--bbwpcp-series-3: #1baf7a;
	--bbwpcp-series-4: #eda100;
	--bbwpcp-series-5: #e87ba4;
	--bbwpcp-series-6: #008300;
	--bbwpcp-series-7: #4a3aa7;
	--bbwpcp-series-8: #e34948;
	--bbwpcp-series-9: #256abf;
	--bbwpcp-series-10: #5598e7;
	--bbwpcp-series-11: #184f95;
	--bbwpcp-chart-surface: var(--bbwpcp-surface);
	--bbwpcp-chart-ink-muted: #898781;
	--bbwpcp-chart-grid: #e7e6e0;
	--bbwpcp-chart-tooltip-bg: #14141a;
	color: var(--bbwpcp-fg);
}

@media (prefers-color-scheme: dark) {
	.bbwpcp-dashboard {
		--bbwpcp-series-1: #3987e5;
		--bbwpcp-series-2: #d95926;
		--bbwpcp-series-3: #199e70;
		--bbwpcp-series-4: #c98500;
		--bbwpcp-series-5: #d55181;
		--bbwpcp-series-6: #008300;
		--bbwpcp-series-7: #9085e9;
		--bbwpcp-series-8: #e66767;
		--bbwpcp-series-9: #1c5cab;
		--bbwpcp-series-10: #3987e5;
		--bbwpcp-series-11: #104281;
		--bbwpcp-chart-grid: #2c2c2a;
	}
}

.bbwpcp-dashboard__empty {
	color: var(--bbwpcp-muted);
	font-style: italic;
}

.bbwpcp-dashboard__legend {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4em 0.5em;
	margin-bottom: 1.1em;
}

.bbwpcp-metric-toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	padding: 0.4em 0.75em 0.4em 0.6em;
	border-radius: 999px;
	border: 1px solid var(--bbwpcp-border);
	background: var(--bbwpcp-surface);
	font-size: 0.78em;
	font-weight: 600;
	color: var(--bbwpcp-muted);
	cursor: pointer;
	user-select: none;
}

.bbwpcp-metric-toggle:has(input:checked) {
	color: var(--bbwpcp-fg);
	background: var(--bbwpcp-surface-alt);
	border-color: currentColor;
}

.bbwpcp-metric-toggle input {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}

.bbwpcp-metric-toggle__swatch {
	width: 1.1em;
	height: 3px;
	border-radius: 999px;
	display: inline-block;
	flex-shrink: 0;
}

.bbwpcp-dashboard__panels {
	display: flex;
	flex-direction: column;
	background: var(--bbwpcp-chart-surface);
	border: 1px solid var(--bbwpcp-border);
	border-radius: 0.75em;
	overflow: hidden;
}

.bbwpcp-chart-panel {
	position: relative;
	padding: 1em 1.25em 0.5em;
	border-bottom: 1px solid var(--bbwpcp-border);
}

.bbwpcp-chart-panel:last-child {
	border-bottom: none;
	padding-bottom: 1em;
}

.bbwpcp-chart-panel__header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 0.4em;
}

.bbwpcp-chart-panel__label {
	display: flex;
	align-items: center;
	gap: 0.5em;
	font-size: 0.85em;
	font-weight: 700;
	color: var(--bbwpcp-fg);
}

.bbwpcp-chart-panel__label-swatch {
	width: 0.9em;
	height: 3px;
	border-radius: 999px;
	display: inline-block;
}

.bbwpcp-chart-panel__latest {
	font-size: 0.9em;
	font-weight: 700;
	color: var(--bbwpcp-fg);
	font-variant-numeric: tabular-nums;
}

.bbwpcp-chart-panel__canvas-wrap {
	position: relative;
	height: 10em;
}

.bbwpcp-dashboard__table-toggle {
	margin-top: 1em;
	padding: 0.5em 1em;
	font-size: 0.85em;
	border: 1px solid var(--bbwpcp-border);
	background: var(--bbwpcp-surface);
	color: var(--bbwpcp-fg);
	border-radius: 0.5em;
	cursor: pointer;
}

.bbwpcp-dashboard__table-toggle:hover {
	background: var(--bbwpcp-surface-alt);
}

.bbwpcp-dashboard__table-wrap {
	margin-top: 1em;
	overflow-x: auto;
	border: 1px solid var(--bbwpcp-border);
	border-radius: 0.75em;
}

.bbwpcp-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.82em;
	white-space: nowrap;
}

.bbwpcp-table th,
.bbwpcp-table td {
	padding: 0.55em 0.85em;
	text-align: right;
	border-bottom: 1px solid var(--bbwpcp-border);
}

.bbwpcp-table th:first-child,
.bbwpcp-table td:first-child {
	text-align: left;
}

.bbwpcp-table thead th {
	background: var(--bbwpcp-surface-alt);
	color: var(--bbwpcp-muted);
	font-weight: 600;
	position: sticky;
	top: 0;
}

.bbwpcp-table tbody tr:hover {
	background: var(--bbwpcp-surface-alt);
}
