diff --git a/frontend/messages/de.json b/frontend/messages/de.json
index 81350a62..766f13f9 100644
--- a/frontend/messages/de.json
+++ b/frontend/messages/de.json
@@ -557,5 +557,22 @@
"training_seg_too_few_blocks": "Mindestens 5 Segmentierungsblöcke erforderlich (aktuell: {available}).",
"transcription_block_segmentation_only": "Nur Segmentierung",
"training_chip_kurrent": "Kurrent-Erkennung",
- "training_chip_segmentation": "Segmentierung"
+ "training_chip_segmentation": "Segmentierung",
+ "mission_control_heading": "Mitarbeiten",
+ "mission_control_segmentation_heading": "Segmentierung",
+ "mission_control_segmentation_description": "Textbereiche markieren — keine Vorkenntnisse nötig",
+ "mission_control_segmentation_cta": "Segmentieren",
+ "mission_control_segmentation_empty": "Alle Dokumente haben bereits Segmentierungsblöcke.",
+ "mission_control_transcription_heading": "Transkription",
+ "mission_control_transcription_description": "Text abschreiben — Kurrent-Kenntnisse hilfreich",
+ "mission_control_transcription_cta": "Transkribieren",
+ "mission_control_transcription_empty": "Keine Dokumente warten auf Transkription.",
+ "mission_control_ready_heading": "Lesefertig",
+ "mission_control_ready_description": "Vollständig transkribiert und geprüft",
+ "mission_control_ready_empty": "Noch keine Dokumente vollständig transkribiert.",
+ "mission_control_ready_empty_cta": "Jetzt mitmachen",
+ "mission_control_weekly_pulse": "↑ +{count} diese Woche",
+ "mission_control_expert_badge": "Experten gesucht",
+ "mission_control_blocks_progress": "{texted} / {total} Blöcke",
+ "mission_control_reviewed_pct": "{pct}% geprüft"
}
diff --git a/frontend/messages/en.json b/frontend/messages/en.json
index bbbd0f07..54494d0d 100644
--- a/frontend/messages/en.json
+++ b/frontend/messages/en.json
@@ -557,5 +557,22 @@
"training_seg_too_few_blocks": "At least 5 segmentation blocks required (currently: {available}).",
"transcription_block_segmentation_only": "Segmentation only",
"training_chip_kurrent": "Kurrent recognition",
- "training_chip_segmentation": "Segmentation"
+ "training_chip_segmentation": "Segmentation",
+ "mission_control_heading": "Contribute",
+ "mission_control_segmentation_heading": "Segmentation",
+ "mission_control_segmentation_description": "Mark text areas — no prior knowledge needed",
+ "mission_control_segmentation_cta": "Segment",
+ "mission_control_segmentation_empty": "All documents already have segmentation blocks.",
+ "mission_control_transcription_heading": "Transcription",
+ "mission_control_transcription_description": "Type out text — Kurrent knowledge helpful",
+ "mission_control_transcription_cta": "Transcribe",
+ "mission_control_transcription_empty": "No documents waiting for transcription.",
+ "mission_control_ready_heading": "Ready to Read",
+ "mission_control_ready_description": "Fully transcribed and reviewed",
+ "mission_control_ready_empty": "No documents fully transcribed yet.",
+ "mission_control_ready_empty_cta": "Start contributing",
+ "mission_control_weekly_pulse": "↑ +{count} this week",
+ "mission_control_expert_badge": "Expert needed",
+ "mission_control_blocks_progress": "{texted} / {total} blocks",
+ "mission_control_reviewed_pct": "{pct}% reviewed"
}
diff --git a/frontend/messages/es.json b/frontend/messages/es.json
index 2d7aba00..d6335b15 100644
--- a/frontend/messages/es.json
+++ b/frontend/messages/es.json
@@ -557,5 +557,22 @@
"training_seg_too_few_blocks": "Se requieren al menos 5 bloques de segmentación (actualmente: {available}).",
"transcription_block_segmentation_only": "Solo segmentación",
"training_chip_kurrent": "Reconocimiento Kurrent",
- "training_chip_segmentation": "Segmentación"
+ "training_chip_segmentation": "Segmentación",
+ "mission_control_heading": "Colaborar",
+ "mission_control_segmentation_heading": "Segmentación",
+ "mission_control_segmentation_description": "Marcar áreas de texto — sin conocimientos previos",
+ "mission_control_segmentation_cta": "Segmentar",
+ "mission_control_segmentation_empty": "Todos los documentos ya tienen bloques de segmentación.",
+ "mission_control_transcription_heading": "Transcripción",
+ "mission_control_transcription_description": "Escribir el texto — conocimiento de Kurrent útil",
+ "mission_control_transcription_cta": "Transcribir",
+ "mission_control_transcription_empty": "No hay documentos esperando transcripción.",
+ "mission_control_ready_heading": "Listo para leer",
+ "mission_control_ready_description": "Completamente transcrito y revisado",
+ "mission_control_ready_empty": "Aún no hay documentos completamente transcritos.",
+ "mission_control_ready_empty_cta": "Empezar a colaborar",
+ "mission_control_weekly_pulse": "↑ +{count} esta semana",
+ "mission_control_expert_badge": "Se busca experto",
+ "mission_control_blocks_progress": "{texted} / {total} bloques",
+ "mission_control_reviewed_pct": "{pct}% revisado"
}
diff --git a/frontend/src/lib/components/ExpertBadge.svelte b/frontend/src/lib/components/ExpertBadge.svelte
new file mode 100644
index 00000000..7fbdf28b
--- /dev/null
+++ b/frontend/src/lib/components/ExpertBadge.svelte
@@ -0,0 +1,26 @@
+
+
+
+
+ {m.mission_control_expert_badge()}
+
diff --git a/frontend/src/lib/components/MissionControlStrip.svelte b/frontend/src/lib/components/MissionControlStrip.svelte
new file mode 100644
index 00000000..7bd28697
--- /dev/null
+++ b/frontend/src/lib/components/MissionControlStrip.svelte
@@ -0,0 +1,45 @@
+
+
+
+ {m.mission_control_heading()}
+
+
+ {m.mission_control_ready_description()} +
+{m.mission_control_ready_empty()}
+ + {m.mission_control_ready_empty_cta()} + ++ {m.mission_control_segmentation_description()} +
+ + {#if docs.length === 0} +{m.mission_control_segmentation_empty()}
+ {:else} ++ {m.mission_control_transcription_description()} +
+ + {#if docs.length === 0} +{m.mission_control_transcription_empty()}
+ {:else} +