diff --git a/dashboard/src/routes/+error.svelte b/dashboard/src/routes/+error.svelte
new file mode 100644
index 0000000..7d01f75
--- /dev/null
+++ b/dashboard/src/routes/+error.svelte
@@ -0,0 +1,50 @@
+
+
+
+ Error {$page.status} — Coverage Tracker
+
+
+
+
{$page.status}
+
{$page.error?.message ?? 'Something went wrong'}
+
Back to dashboard
+
+
+
diff --git a/dashboard/static/_headers b/dashboard/static/_headers
index f7ef77f..673e711 100644
--- a/dashboard/static/_headers
+++ b/dashboard/static/_headers
@@ -2,4 +2,4 @@
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Referrer-Policy: strict-origin-when-cross-origin
- Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' https://avatars.githubusercontent.com; connect-src 'self' https://cloudflareinsights.com; frame-ancestors 'none'; base-uri 'self'; form-action 'self'
+ Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' https://avatars.githubusercontent.com; connect-src 'self' https://cloudflareinsights.com; frame-ancestors 'none'; base-uri 'self'; form-action 'self'