Task T7 moderator evidence Implemented App\Services\NameTagResolver::moderatorFor(Service $service). Covered behavior: - Non-empty services.moderator_name wins and is trimmed. - Without override, first visible agenda item (is_before_event=false) ordered by sort_order then id is used. - Multiple responsible names are joined with comma-space: "Anna Müller, Tom Klein". - No override and no visible agenda item returns null. Verification: - RED before implementation: ddev exec php artisan test tests/Feature/NameTagResolverTest.php failed because App\Services\NameTagResolver did not exist. - GREEN targeted: ddev exec php artisan test tests/Feature/NameTagResolverTest.php -> 7 passed. - GREEN full suite: ddev exec php artisan test -> 532 passed (2659 assertions). - Pint: ddev exec ./vendor/bin/pint app/Services/NameTagResolver.php tests/Feature/NameTagResolverTest.php. - LSP diagnostics clean for app/Services/NameTagResolver.php and tests/Feature/NameTagResolverTest.php.