= 2 ? "grid gap-4 sm:grid-cols-2" : "grid gap-4"
diff --git a/src/app/insights/mood/page.tsx b/src/app/insights/mood/page.tsx
index a21ea684c..d53a91c2b 100644
--- a/src/app/insights/mood/page.tsx
+++ b/src/app/insights/mood/page.tsx
@@ -100,6 +100,10 @@ export default function InsightsStimmungPage() {
explainerMetric="mood"
coachLaunch
>
+ {/* No `
` here: mood is event-driven, not a
+ MeasurementType series, so the period-over-period range read
+ (`/api/analytics/range`, keyed on a MeasurementType enum) has
+ nothing to aggregate. */}
+
+ }
+ showAllValuesType="SLEEP_DURATION"
+ /* No `statStrip`: `` already leads with the average
+ nightly total + per-stage breakdown, so a duration-in-minutes
+ min / max / median / mean strip would duplicate it and read in an
+ awkward unit. */
>
+
+
diff --git a/src/app/insights/weight/page.tsx b/src/app/insights/weight/page.tsx
index c2d431799..de2a9b6a3 100644
--- a/src/app/insights/weight/page.tsx
+++ b/src/app/insights/weight/page.tsx
@@ -14,6 +14,7 @@ import { InsightStatusCard } from "@/components/insights/insight-status-card";
import { MetricEmptyState } from "@/components/insights/metric-empty-state";
import { MetricStatStrip } from "@/components/insights/metric-stat-strip";
import { MeasurementDiversityNudge } from "@/components/insights/measurement-diversity-nudge";
+import { MetricRangeControls } from "@/components/insights/metric-range-controls";
import { MetricTargetSummary } from "@/components/insights/metric-target-summary";
import { SubPageShell } from "@/components/insights/sub-page-shell";
import { buildWeightBandsFromHeight } from "@/lib/analytics/value-bands";
@@ -88,6 +89,7 @@ export default function InsightsGewichtPage() {
coachLaunch
showAllValuesType="WEIGHT"
>
+
+ {/* No `` here: workouts are session records, not a
+ MeasurementType series, so the period-over-period range read has
+ nothing to aggregate. */}
{isLoading ? (