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).