{{-- Shared shell for the error pages (404/403/419/500). Deliberately standalone — it does NOT extend layouts/app.blade.php. That layout evaluates Auth::user() and SessionAuth::role() and pulls in HeaderComposer, which queries the database. An error page built on it would throw a second exception while rendering, and a 500 caused by the database being down would show a blank white screen instead of this. Nothing here touches the DB, the session, or the authenticated user. css/style.css is safe to link: the repo-root .htaccess serves it as a real static file, so it needs no working PHP behind it. The page is still legible without it. The underscore prefix keeps this file from ever being resolved as an HTTP status code by Laravel's error-view lookup. Sections: `code`, `title`, `message`, and the optional `actions`. --}} @yield('title') — {{ \App\Support\Branding::name() }} {{-- Same approach as auth/login.blade.php: there may be no logged-in user to read a theme from (and on a 500 we must not try), so fall back to the theme this browser last remembered — layouts/app.blade.php mirrors it into localStorage on every authenticated page load — then to the OS preference. Runs before the stylesheet paints, to avoid a flash of the wrong theme. --}}
{{-- The one exception to "nothing here touches the DB" above: App\Support\Branding swallows every Throwable and falls back to config('app.name') + the shipped /images/logo.png, so a 500 raised by the database being down still renders this page — it just renders it unbranded. --}}
@yield('code')

@yield('title')

@yield('message')

@hasSection('actions') @yield('actions') @else На главную @endif