--- task: Fix "Similar products already exist" modal layout — match-row cards unreadable on mobile (flex row squishes info text to single characters, Import button overlaps content) cycles: 5 context: true private: false started: 2026-05-28T16:30:42Z finished: 2026-05-28T16:31:11Z --- ## files - resources/js/Pages/CreateProductUltimate.vue [lines 534-560] — fuzzy match modal template: `.match-row` items with thumb, info, button - resources/js/Pages/CreateProductUltimate.vue [lines 875-914] — scoped CSS: `.match-row`, `.match-thumb`, `.match-info` and dark mode overrides ## steps 1. In `CreateProductUltimate.vue` template (lines 534-560), wrap the `FileImage` + `.match-info` div in a new `
` inner wrapper, leaving the `
``` Target template structure: ```html
{{ m.name }}
{{ m.category }} · {{ m.subcategory }} · ₱{{ m.price }} / {{ m.unitname }}
...
``` Current CSS (lines 875-890): ```css .match-row { display: flex; align-items: center; /* ← causes single-column squish when button competes for width */ gap: 12px; padding: 12px 0; border-bottom: 1px solid #f1f5f9; } .match-thumb { width: 56px; height: 56px; border-radius: 10px; object-fit: cover; flex-shrink: 0; } .match-info { flex: 1; min-width: 0; } ``` Target CSS additions/changes: ```css .match-row { display: flex; flex-direction: column; /* vertical stack: top-row then button */ gap: 10px; padding: 12px 0; border-bottom: 1px solid #f1f5f9; } .match-row-top { display: flex; align-items: center; gap: 12px; } /* .match-thumb and .match-info stay unchanged */ ``` ## notes - dictionary: ai-docs/dictionary.md - linters: none - constraints: `.bb-modal*` styles are scoped to `CreateProductUltimate.vue` — do NOT touch global CSS. Dark mode override `:global(.dark-mode) .match-row` at line 914 only sets `border-bottom-color` — no changes needed there. - build: `npm run build` then `docker restart bukidbountyapp` (see dictionary Build & Deployment Standards)