diff --git a/docs/features/project-brief.md b/docs/features/project-brief.md
index e6fcbb16f7..a19e368fec 100644
--- a/docs/features/project-brief.md
+++ b/docs/features/project-brief.md
@@ -2,7 +2,7 @@
## Overview
-The Project Brief feature displays team project information to users on the home page. When a user's team has a project brief configured, a "Project Brief" button appears next to the experience name. Clicking this button opens a modal that displays structured project details.
+The Project Brief feature displays team project information to users on the home page. When a user's team has a project brief configured, a "Project Brief" button appears next to the experience name. Clicking this button opens a modal that displays structured project details. When the Project Hub feature is enabled, a visible "Go to Project Hub" button opens the external Project Hub application.
## Data Flow
@@ -17,7 +17,7 @@ HomePage.updateDashboard()
↓ reads from storage
this.projectBrief = this.storageService.getUser().projectBrief
↓
-Template: *ngIf="projectBrief" shows button
+Template: *ngIf="projectBrief" shows Project Brief button; *ngIf="showProjectHub" shows Project Hub button
↓
showProjectBrief() → opens ProjectBriefModalComponent
```
@@ -34,10 +34,11 @@ showProjectBrief() → opens ProjectBriefModalComponent
- `project-brief-modal.component.scss` - Component-specific styles
- `project-brief-modal.component.spec.ts` - Unit tests
-**Input:**
+**Modal property:**
```typescript
-@Input() projectBrief: ProjectBrief = {};
+projectBrief: ProjectBrief = {};
```
+Ionic sets this public property through `componentProps` when the modal is created.
**Interface:**
```typescript
@@ -62,6 +63,10 @@ interface ProjectBrief {
- Professional Skills (as chips)
- Deliverables
+**Color treatment:**
+- Modal section header icons and chips use the primary brand color.
+- Do not use the secondary brand color for Technical Skills accents; customer secondary colors can be too light to remain visible on the light modal background.
+
**Empty Field Handling:**
- All sections show "None specified" when the field is empty or undefined
- Uses `hasValue()` for string fields and `hasItems()` for array fields
@@ -124,17 +129,28 @@ Button placement - next to experience name:
```html
-
-
- Project Brief
-
+
+
+
+ Project Brief
+
+
+
+ Go to Project Hub
+
+
```
@@ -177,11 +193,11 @@ Button placement - next to experience name:
## Accessibility
-- Button includes `aria-label="View project brief"` with i18n support
+- Buttons include descriptive aria labels with i18n support
- Keyboard navigation with `(keydown.enter)` and `(keydown.space)` handlers
- Modal has proper semantic structure with ``, ``, and heading hierarchy
- Close button includes `aria-label="Close project brief"`
-- Ion-chips for industry/skills are visually distinct with color coding
+- Ion-chips for industry/skills use the primary brand color so labels and outlines remain visible when secondary branding is faint
## Sample Data
@@ -219,6 +235,7 @@ After parsing:
- Template renders title when provided
- Template shows "None specified" for empty fields
- Template renders chips for industry and skills
+- Template keeps section accents on the primary brand color
**HomePage tests (additions needed):**
- Button visible when `projectBrief` is set
diff --git a/projects/v3/src/app/components/project-brief-modal/project-brief-modal.component.html b/projects/v3/src/app/components/project-brief-modal/project-brief-modal.component.html
index c4ca51db22..8c53bcb1c0 100644
--- a/projects/v3/src/app/components/project-brief-modal/project-brief-modal.component.html
+++ b/projects/v3/src/app/components/project-brief-modal/project-brief-modal.component.html
@@ -59,13 +59,13 @@