/** * BrandSlot — Phase 17 seam component for the login page brand area. * * Phase 19 shipped a minimal shippable placeholder: a 48px circle with "FS" * initials, the app name "FamilySync", and the tagline "Family calendar & lists". * * Phase 17 replaces the placeholder div with a decorative logo — the approved * FamilySync family-house SVG. LoginPage layout is untouched (seam contract honored; * see 19-UI-SPEC.md §Brand Slot section). * * CSS custom properties used (all set in tokens.css): * --brand-logo-size — image size (default: 48px) * --brand-logo-border-radius — image border-radius (0 — SVG draws its own shape) * * Accessibility: *

contains the app name — screen readers read "FamilySync" as the page title. * The logo image is decorative (alt="", aria-hidden="true"). * * Security: all copy is plain-text JSX children — no dangerouslySetInnerHTML (T-05-24). */ export function BrandSlot() { return (
{/* Decorative brand logo — Phase 17 approved brand mark (logo.svg) */} {/* App name —

so screen readers identify the page (UI-SPEC §Accessibility) */}

FamilySync

{/* Tagline */}

Family calendar & lists

); }