@stack('head') {{-- Image cropper assets — must be in the layout head (not inside the x-image-cropper component) because page-level uses of the cropper render those styles inside #main, which the SPA navigation later wipes via innerHTML swap. The layout-level modals (upload, sports-match) would then render their cropper overlays unstyled. --}} @yield('extra_styles') {{-- Device fingerprint: computes a stable per-device hash on first visit, caches it in localStorage + the `_fp` cookie so the server can dedupe guests across IP/VPN/country changes. Loaded async — never blocks paint. --}}
@include('layouts.partials.header') @if(session('impersonator_id')) @endif @include('layouts.partials.sidebar')