+ class="group flex flex-col bg-white px-4 py-3 transition-colors hover:bg-neutral-50 dark:bg-[color-mix(in_srgb,var(--coollabs-canvas)_97.5%,white)] dark:hover:bg-[color-mix(in_srgb,var(--coollabs-canvas)_96%,white)]">
Error rate
{{ $this->errorRate() }}%
diff --git a/tests/Feature/TrafficAnalytics/DashboardTrafficAnalyticsTest.php b/tests/Feature/TrafficAnalytics/DashboardTrafficAnalyticsTest.php
index 15504376c2..76c06e2132 100644
--- a/tests/Feature/TrafficAnalytics/DashboardTrafficAnalyticsTest.php
+++ b/tests/Feature/TrafficAnalytics/DashboardTrafficAnalyticsTest.php
@@ -150,6 +150,17 @@ it('shows loading states while the dashboard range refreshes', function () {
->toContain('aria-label="Loading analytics"');
});
+it('uses the dashboard surface treatment for the analytics KPI group', function () {
+ $view = file_get_contents(resource_path('views/livewire/dashboard/traffic-analytics.blade.php'));
+
+ expect($view)
+ ->toContain('rounded-xl bg-neutral-200 ring-1 ring-neutral-200')
+ ->toContain('dark:bg-white/[0.07] dark:ring-white/[0.08]')
+ ->toContain('dark:bg-[color-mix(in_srgb,var(--coollabs-canvas)_97.5%,white)]')
+ ->toContain('dark:hover:bg-[color-mix(in_srgb,var(--coollabs-canvas)_96%,white)]')
+ ->not->toContain('dark:bg-base dark:hover:bg-white/[0.03]');
+});
+
it('shows a failure empty-state instead of an all-zero KPI panel when every server fetch fails', function () {
$serverOne = Server::factory()->create([
'team_id' => $this->team->id,