Stability checkpoint — Customer widgets + ConfirmModal + 5 specs

Single MR landed since stable-v1.0.40 (UI !109 → 87568f2) :

♻️  Refactoring
- B-7-2b extension : CustomerDetailPanel + CustomerCreateForm widgets.
  customers.component.html : 494 → 252 LOC (-49%) net of all extractions.
  Each widget self-contained with signal inputs + event outputs.
- B-7-2c : new ConfirmModal generic widget (shared/) replaces 2 near-
  identical confirmation modals in customers (Delete + Batch Delete).
  Reusable for any "are you sure?" UX across the app.

🧪 Tests
- 5 widget spec files added :
  - dashboard-health-probes (statusClass + statusLabel logic tests)
  - dashboard-quality-summary (smoke)
  - dashboard-architecture-map (6 topology helpers tested)
  - customer-detail-panel (smoke)
  - customer-create-form (form state lifecycle + submit guard tests)
  - confirm-modal (smoke + variant/defaults)
- Total : 308 tests passing across 45 spec files (was 297/42 in 1.0.39
  baseline = +11 tests, +3 spec files).

🐛 Bug fix
- ConfirmModal outputs renamed cancel/confirm → cancelled/confirmed
  (eslint @angular-eslint/no-output-native flagged the DOM-event
  shadowing). Past-tense form keeps semantics + lints clean.

Post-merge main pipeline #411 green on SHA a1c731c (final commit
of the MR).