/* ============================================================================
   Visitor + vendor app — app-specific styles ONLY.

   The design system (tokens, MudBlazor normalisation, cards, page headers,
   empty states, pills, avatars, heroes, prose) lives in the shared
   /design/cb-design.css, linked into this app's wwwroot at build and loaded
   BEFORE this file — the same file the organizer portal loads.

   This app previously had NO shared design layer at all: every page hand-rolled
   its own <style> block with hardcoded oranges, which is why the surfaces looked
   inconsistent. Anything reused across pages belongs in cb-design.css, not here.
   ============================================================================ */

/* Background comes from the shared layer (--cb-bg, warm stone #FAFAF9).
   It used to be hardcoded #F8FAFC here — a cool slate that contradicted the
   theme this app ships with, and a big part of why it felt like a different
   product from the portal. */

/* ── Boot splash (before Blazor renders) ── */
.cb-boot {
    position: fixed; inset: 0;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 14px;
    background: #1E293B;
}
.cb-boot img { object-fit: contain; }
.cb-boot-title { color: #fff; font-weight: 800; font-size: 18px; letter-spacing: -0.3px; }

/* ── Blazor unhandled-error banner ── */
#blazor-error-ui {
    display: none;
    position: fixed; bottom: 0; left: 0; right: 0;
    background: #FEF2F2; color: #991B1B;
    padding: 10px 16px; font-size: 13px; z-index: 2000;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, .1);
}
#blazor-error-ui .reload,
#blazor-error-ui .dismiss { color: #991B1B; margin-left: 8px; cursor: pointer; text-decoration: underline; }
