diff --git a/src/components/dashboard/glp1-tile.tsx b/src/components/dashboard/glp1-tile.tsx
index 1470f7e39..ed2ff4c36 100644
--- a/src/components/dashboard/glp1-tile.tsx
+++ b/src/components/dashboard/glp1-tile.tsx
@@ -374,7 +374,7 @@ export function Glp1Tile() {
title={t(preset.titleKey)}
onClick={() => setRangePoints(preset.points)}
className={cn(
- "rounded px-1.5 py-0.5 font-medium tabular-nums",
+ "inline-flex min-h-11 items-center justify-center rounded px-3 font-medium tabular-nums",
"hover:text-foreground focus-visible:ring-ring/50 focus-visible:ring-2 focus-visible:outline-none",
rangePoints === preset.points
? "bg-card text-foreground shadow-sm"
@@ -455,7 +455,7 @@ function TabButton({
data-active={active ? "true" : "false"}
onClick={onClick}
className={cn(
- "rounded px-2 py-1 text-xs font-medium",
+ "inline-flex min-h-11 items-center justify-center rounded px-3 text-xs font-medium",
"focus-visible:ring-ring/50 focus-visible:ring-2 focus-visible:outline-none",
active
? "bg-card text-foreground shadow-sm"
diff --git a/src/components/onboarding/getting-started-checklist.tsx b/src/components/onboarding/getting-started-checklist.tsx
index 74f8c90ad..0ed7f2957 100644
--- a/src/components/onboarding/getting-started-checklist.tsx
+++ b/src/components/onboarding/getting-started-checklist.tsx
@@ -352,7 +352,6 @@ export function GettingStartedChecklist() {
setDismissedAll(true)}
>
@@ -445,7 +444,7 @@ export function GettingStartedChecklist() {
})
}
aria-label={t("gettingStarted.dismissTooltip")}
- className="text-muted-foreground hover:text-foreground rounded p-1 transition-colors"
+ className="text-muted-foreground hover:text-foreground inline-flex h-11 w-11 items-center justify-center rounded transition-colors"
>
diff --git a/src/components/settings/dashboard-layout-section.tsx b/src/components/settings/dashboard-layout-section.tsx
index 3a27b4ef6..10ec46de8 100644
--- a/src/components/settings/dashboard-layout-section.tsx
+++ b/src/components/settings/dashboard-layout-section.tsx
@@ -253,7 +253,7 @@ export function DashboardLayoutSection({ id }: { id: string }) {
of the two surfaces (per feedback_dashboard_top_tiles
_selectable.md). */}
-
+
{t("dashboard.layoutTileColumn")}
@@ -280,25 +280,25 @@ export function DashboardLayoutSection({ id }: { id: string }) {
type="button"
variant="ghost"
size="icon"
- className="h-5 w-5"
+ className="size-11"
onClick={() => move(widget.id, -1)}
disabled={index === 0 || saveMutation.isPending}
aria-label={t("dashboard.moveUp")}
>
-
+
move(widget.id, 1)}
disabled={
index === arr.length - 1 || saveMutation.isPending
}
aria-label={t("dashboard.moveDown")}
>
-
+
{t(labelKey)}
diff --git a/src/components/settings/sources-section.tsx b/src/components/settings/sources-section.tsx
index fb0f48f19..ecb6c24f8 100644
--- a/src/components/settings/sources-section.tsx
+++ b/src/components/settings/sources-section.tsx
@@ -344,30 +344,37 @@ export function SourcesSection() {
{t(SOURCE_LABEL_KEYS[source] ?? source)}
- moveSource(metric, index, -1)}
- disabled={index === 0 || saveMutation.isPending}
- aria-label={t("settings.sections.sources.moveUp")}
- >
-
-
- moveSource(metric, index, 1)}
- disabled={
- index === list.length - 1 || saveMutation.isPending
- }
- aria-label={t("settings.sections.sources.moveDown")}
- >
-
-
+ {/* v1.4.27 R3d MB2 — stack up/down vertically on
+ narrow viewports so each button keeps the
+ 44 px floor without crowding the row. From
+ `sm:` up the two buttons sit side-by-side
+ again to preserve the desktop layout. */}
+
+
moveSource(metric, index, -1)}
+ disabled={index === 0 || saveMutation.isPending}
+ aria-label={t("settings.sections.sources.moveUp")}
+ >
+
+
+
moveSource(metric, index, 1)}
+ disabled={
+ index === list.length - 1 || saveMutation.isPending
+ }
+ aria-label={t("settings.sections.sources.moveDown")}
+ >
+
+
+
))}
@@ -502,32 +509,36 @@ export function SourcesSection() {
{t(DEVICE_TYPE_LABEL_KEYS[deviceType])}
-
- moveDeviceType(null, index, -1)
- }
- disabled={index === 0 || saveMutation.isPending}
- aria-label={t("settings.sections.sources.moveUp")}
- >
-
-
- moveDeviceType(null, index, 1)}
- disabled={
- index === list.length - 1 || saveMutation.isPending
- }
- aria-label={t("settings.sections.sources.moveDown")}
- >
-
-
+ {/* v1.4.27 R3d MB2 — same stacked-on-mobile shape
+ as the metric source rows above. */}
+
+
+ moveDeviceType(null, index, -1)
+ }
+ disabled={index === 0 || saveMutation.isPending}
+ aria-label={t("settings.sections.sources.moveUp")}
+ >
+
+
+
moveDeviceType(null, index, 1)}
+ disabled={
+ index === list.length - 1 || saveMutation.isPending
+ }
+ aria-label={t("settings.sections.sources.moveDown")}
+ >
+
+
+
))}