diff --git a/src/features/termination/pages/TerminationDetails.tsx b/src/features/termination/pages/TerminationDetails.tsx index 5fd175a..ed5b89b 100644 --- a/src/features/termination/pages/TerminationDetails.tsx +++ b/src/features/termination/pages/TerminationDetails.tsx @@ -284,7 +284,12 @@ export function TerminationDetails({ terminationId, onBack, currentUser }: Termi ); return { - canApprove: isCurrentlyAssigned && !isFinalState && !isSettlementPhase && ![...['NBH Final Approval', 'CCO Approval', 'CEO Final Approval'], 'Show Cause Notice (SCN)', 'SCN'].includes(currentStage), + // NBH Evaluation is excluded here because "approving" at that stage IS + // the act of issuing the SCN — which must go through the dedicated + // POST /:id/scn endpoint so the dealer gets the SRS §4.3.2.8 email and + // DD-Admin/Legal get the system notification. The generic Approve path + // would do a silent transition and skip those side-effects. + canApprove: isCurrentlyAssigned && !isFinalState && !isSettlementPhase && ![...['NBH Final Approval', 'CCO Approval', 'CEO Final Approval'], 'NBH Evaluation', 'Show Cause Notice (SCN)', 'SCN'].includes(currentStage), canIssueSCN: currentStage === 'NBH Evaluation' && (userRole === 'NBH' || userRole === 'Super Admin') && !isFinalState, canUploadSCNResponse: isScnStage && (['Legal Admin', 'DD Admin', 'DD Lead', 'Super Admin'].includes(userRole)) && !isFinalState, canHold: diff --git a/src/styles/globals.css b/src/styles/globals.css index 62ad0af..fff5f27 100644 --- a/src/styles/globals.css +++ b/src/styles/globals.css @@ -237,6 +237,63 @@ .hover\:bg-amber-700:hover:not(.hover\:bg-status-progress-hover) { background-color: var(--color-re-red-hover) !important; } + + /* ─── Brand sweep: lighter amber notice/info palette → red palette ─── * + * Intent: any raw bg-amber-50/100/200, border-amber-200/300, + * text-amber-600..900 (typically used for info/notice/warning Alerts + * or fast-tracked banners) gets re-coloured to the brand red ramp, + * so new UI doesn't have to remember to use red-* explicitly. + * + * In-progress trackers continue to look amber because they go through + * the dedicated .bg-status-progress*, .bg-status-workflow-*, + * .border-status-* utilities defined above — those are intentionally + * excluded via :not(...) guards so trackers keep their amber tone. + * + * If you genuinely want amber for a one-off (e.g. a "skipped" + * indicator), opt-in via the status-workflow-* classes instead of + * raw bg-amber-*. + */ + + /* Surfaces (info / notice backgrounds) */ + .bg-amber-50:not(.bg-status-progress-soft):not(.bg-status-workflow-panel):not(.bg-status-workflow-icon):not(.bg-status-workflow-badge) { + background-color: #fef2f2 !important; /* red-50 */ + } + .bg-amber-100:not(.bg-status-workflow-icon):not(.bg-status-workflow-badge) { + background-color: #fee2e2 !important; /* red-100 */ + } + .bg-amber-200 { + background-color: #fecaca !important; /* red-200 */ + } + + /* Hover surfaces (outline-style buttons, list hovers, etc.) */ + .hover\:bg-amber-50:hover { + background-color: #fef2f2 !important; /* red-50 */ + } + .hover\:bg-amber-100:hover { + background-color: #fee2e2 !important; /* red-100 */ + } + + /* Borders (info / notice frames) */ + .border-amber-200:not(.border-status-workflow-panel):not(.border-status-progress) { + border-color: #fecaca !important; /* red-200 */ + } + .border-amber-300:not(.border-status-workflow-panel):not(.border-status-progress) { + border-color: #fca5a5 !important; /* red-300 */ + } + + /* Text (icons, titles, descriptions in notice/info alerts) */ + .text-amber-600:not(.text-status-progress):not(.text-status-progress-muted):not(.text-status-progress-strong) { + color: var(--color-re-red) !important; + } + .text-amber-700:not(.text-status-progress):not(.text-status-progress-muted):not(.text-status-progress-strong) { + color: var(--color-re-red-hover) !important; + } + .text-amber-800:not(.text-status-progress-strong) { + color: #991b1b !important; /* red-800 */ + } + .text-amber-900:not(.text-status-progress-strong) { + color: #7f1d1d !important; /* red-900 */ + } } /* RE Branding Utilities */