Mechanical swap of hardcoded color literals for styles.py constants and qcolor() across panels, models, and scan_logic. portrait_mode.py drops its private palette block; beamline_controls and data_collection_settings gain object names so the new $border QSS rules can target them. The status-panel test asserts the palette hex instead of 'red'. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>