diff --git a/app/modules/consultants/templates/consultants/_consultant_tabs.html b/app/modules/consultants/templates/consultants/_consultant_tabs.html
index b3abbaa..cdc4b3d 100644
--- a/app/modules/consultants/templates/consultants/_consultant_tabs.html
+++ b/app/modules/consultants/templates/consultants/_consultant_tabs.html
@@ -1,14 +1,2 @@
-{% set path = request.url.path %}
-
+{# UI/UX V2 Phase 1C — Consultant pilot. Existing URLs and visibility are preserved in the shared component. #}
+{% include "ui/templates/components/consultant_navigation_v2.html" %}
diff --git a/app/ui/templates/components/client_navigation_v2.html b/app/ui/templates/components/client_navigation_v2.html
new file mode 100644
index 0000000..84180c9
--- /dev/null
+++ b/app/ui/templates/components/client_navigation_v2.html
@@ -0,0 +1,59 @@
+{#
+ UI/UX V2 Phase 1C — Client pilot navigation
+
+ This component preserves the existing client portal URLs and visibility.
+ It changes presentation only and does not grant access, change routes, or
+ replace the client dashboard's existing AJAX content tabs.
+#}
+{% set _client_path = request.url.path %}
+{% set navigation_aria_label_v2 = 'Client workspace navigation' %}
+{% set navigation_items_v2 = [
+ {
+ 'label': 'Dashboard',
+ 'url': '/client/dashboard',
+ 'visible': true,
+ 'active': _client_path == '/client/dashboard'
+ },
+ {
+ 'label': 'Compliance',
+ 'url': '/client/compliance',
+ 'visible': true,
+ 'active': _client_path.startswith('/client/compliance') or _client_path.startswith('/client/engagements')
+ },
+ {
+ 'label': 'Documents',
+ 'url': '/client/documents',
+ 'visible': true,
+ 'active': _client_path.startswith('/client/documents')
+ },
+ {
+ 'label': 'Messages',
+ 'url': '/client/messages',
+ 'visible': true,
+ 'active': _client_path.startswith('/client/messages')
+ },
+ {
+ 'label': 'Bills & Payments',
+ 'url': '/client/billing',
+ 'visible': true,
+ 'active': _client_path.startswith('/client/billing')
+ },
+ {
+ 'label': 'Profile',
+ 'url': '/client/profile',
+ 'visible': true,
+ 'active': _client_path.startswith('/client/profile')
+ },
+ {
+ 'label': 'Alerts',
+ 'url': '/alerts',
+ 'visible': true,
+ 'active': _client_path.startswith('/alerts'),
+ 'badge': unread_alert_count if unread_alert_count is defined and unread_alert_count > 0 else none
+ }
+] %}
+
+
+ {% include "ui/templates/components/navigation_v2.html" %}
+ {% include "ui/templates/components/mobile_navigation_v2.html" %}
+
diff --git a/app/ui/templates/components/consultant_navigation_v2.html b/app/ui/templates/components/consultant_navigation_v2.html
new file mode 100644
index 0000000..325ad86
--- /dev/null
+++ b/app/ui/templates/components/consultant_navigation_v2.html
@@ -0,0 +1,71 @@
+{#
+ UI/UX V2 Phase 1C — Consultant pilot navigation
+
+ This component preserves the existing consultant portal URLs and visibility.
+ It changes presentation only and does not grant access, change routes, or
+ replace the consultant dashboard's existing AJAX content tabs.
+#}
+{% set _consultant_path = request.url.path %}
+{% set navigation_aria_label_v2 = 'Consultant workspace navigation' %}
+{% set navigation_items_v2 = [
+ {
+ 'label': 'Dashboard',
+ 'url': '/consultant/dashboard',
+ 'visible': true,
+ 'active': _consultant_path == '/consultant/dashboard'
+ },
+ {
+ 'label': 'Work',
+ 'url': '/consultant/work',
+ 'visible': true,
+ 'active': _consultant_path.startswith('/consultant/work') or _consultant_path.startswith('/consultant/assignments')
+ },
+ {
+ 'label': 'Messages',
+ 'url': '/consultant/communications',
+ 'visible': true,
+ 'active': _consultant_path.startswith('/consultant/communications')
+ },
+ {
+ 'label': 'Documents',
+ 'url': '/consultant/documents',
+ 'visible': true,
+ 'active': _consultant_path.startswith('/consultant/documents')
+ },
+ {
+ 'label': 'Service Requests',
+ 'url': '/consultant/service-requests',
+ 'visible': true,
+ 'active': _consultant_path.startswith('/consultant/service-requests')
+ },
+ {
+ 'label': 'Managed Clients',
+ 'url': '/consultant/managed-clients',
+ 'visible': true,
+ 'active': _consultant_path.startswith('/consultant/managed-clients')
+ },
+ {
+ 'label': 'Workspace',
+ 'url': '/consultant/workspace',
+ 'visible': true,
+ 'active': _consultant_path.startswith('/consultant/workspace')
+ },
+ {
+ 'label': 'Profile',
+ 'url': '/consultant/profile',
+ 'visible': true,
+ 'active': _consultant_path.startswith('/consultant/profile')
+ },
+ {
+ 'label': 'Alerts',
+ 'url': '/alerts',
+ 'visible': true,
+ 'active': _consultant_path.startswith('/alerts'),
+ 'badge': unread_alert_count if unread_alert_count is defined and unread_alert_count > 0 else none
+ }
+] %}
+
+
+ {% include "ui/templates/components/navigation_v2.html" %}
+ {% include "ui/templates/components/mobile_navigation_v2.html" %}
+