Bulk car import
Admin-only. Each row becomes a catalog entry with status: "incomplete". Duplicates matching
brand + model + variant + year (case-insensitive, variant defaults to Base) are skipped.
Imports persist in this browser under localStorage["carPlatform:importedCatalogCars_v1"] and merge into
runtime catalog reads (they do not rewrite data/cars.js on disk).
Access denied. Sign in with an account whose Supabase profiles.role (or app account type) is admin.
CSV: first row headers must include brand, model, year; include
variant or leave blank / omit for Base. Optional: generation, country,
category, pp.
JSON: array of objects with the same field names, or { "cars": [...] }.
Import preview
Choose a .csv or .json file to preview rows before importing.