diff --git a/src/components/dashboard/ActiveProjectsPanel.vue b/src/components/dashboard/ActiveProjectsPanel.vue
new file mode 100644
index 0000000..b7013b6
--- /dev/null
+++ b/src/components/dashboard/ActiveProjectsPanel.vue
@@ -0,0 +1,174 @@
+
+
+
+
{{ $t('dashboard.activeProjects') }}
+ {{ $t('dashboard.viewAll') }}
+
+
+
+
+
+
+ {{ p.name }}
+
+
{{ $t('dashboard.stage.' + p.stageLabelKey) }}
+
+
+
+
+
{{ t('dashboard.empty.noProjects') }} {{ t('dashboard.empty.noProjectsLink') }}
+
+
+
+
+
+
+
diff --git a/src/components/dashboard/IdeasPanel.vue b/src/components/dashboard/IdeasPanel.vue
new file mode 100644
index 0000000..2707108
--- /dev/null
+++ b/src/components/dashboard/IdeasPanel.vue
@@ -0,0 +1,82 @@
+
+
+
+
{{ $t('dashboard.ideaPool') }}
+ {{ $t('dashboard.viewAll') }}
+
+
+
+
+ {{ idea.score }}
+
+
+ {{ idea.title }}
+ {{ ideaStatusLabel(idea.statusLabel) }}
+
+
+
{{ $t('dashboard.empty.noIdeas') }}
+
+
+
+
+
+
+
diff --git a/src/components/dashboard/StatCardRow.vue b/src/components/dashboard/StatCardRow.vue
new file mode 100644
index 0000000..9367f0a
--- /dev/null
+++ b/src/components/dashboard/StatCardRow.vue
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+
+ {{ stat.icon }}
+
+
+ ↑↓
+ —
+ {{ stat.trend > 0 ? '+' : '' }}{{ stat.trend }}
+
+
+
{{ stat.value }}
+
{{ stat.label }}
+
+
+
+
+
+
+
+
diff --git a/src/views/Dashboard.vue b/src/views/Dashboard.vue
index 7c9843a..8143e8c 100644
--- a/src/views/Dashboard.vue
+++ b/src/views/Dashboard.vue
@@ -24,97 +24,32 @@
-
-
-
-
-
-
- {{ stat.icon }}
-
-
- ↑↓
- —
- {{ stat.trend > 0 ? '+' : '' }}{{ stat.trend }}
-
-
-
{{ stat.value }}
-
{{ stat.label }}
-
-
-
+
-
-
-
{{ $t('dashboard.activeProjects') }}
- {{ $t('dashboard.viewAll') }}
-
-
-
-
-
-
- {{ p.name }}
-
-
{{ $t('dashboard.stage.' + p.stageLabelKey) }}
-
-
-
-
-
{{ t('dashboard.empty.noProjects') }} {{ t('dashboard.empty.noProjectsLink') }}
-
-
+
-
-
-
{{ $t('dashboard.ideaPool') }}
- {{ $t('dashboard.viewAll') }}
-
-
-
-
- {{ idea.score }}
-
-
- {{ idea.title }}
- {{ ideaStatusLabel(idea.statusLabel) }}
-
-
-
{{ $t('dashboard.empty.noIdeas') }}
-
-
+