style: unify all views on Mission Control V2 design tokens
CI - Build & Test / Backend (.NET) (push) Successful in 31s
CI - Build & Test / Frontend (Vue/TS) (push) Successful in 16s
CI - Build & Test / Security Check (push) Successful in 3s
CI - Build & Test / Deploy Nexus (push) Has been skipped

- Map legacy v1 CSS variables (--nx-*, --panel, --text-*, --surface*) to V2 tokens in nexus-tokens.css
- Restyle global shell (main.css), AppSidebar, AppHeader to match V2 Sidebar/Topbar (glass, gradients, Space Grotesk)
- Add GalaxyBackground to the v1 shell in App.vue
- Replace hardcoded v1 hex colors with V2 tokens in all deviating views (Agents, Calendar, Docs, Incidents, Memory, Notifications, ProjectDetail, Security, Team, TaskDetail, Settings)
- Keep JS status colors as hex where alpha suffixes are concatenated (AgentsIndex, Team, Notifications)
- Add Settings nav item (System group) + gear icon to V2 sidebar so it shows on the dashboard
- No component or layout structure changes; LoginView and TaskBoardView untouched

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-10 08:05:52 +02:00
parent 706ff82ccd
commit 86ceb2bcce
18 changed files with 523 additions and 431 deletions
+18 -18
View File
@@ -192,7 +192,7 @@ onMounted(loadStatus)
}
.security-card {
border: 1px solid var(--line);
border-radius: 9px;
border-radius: var(--r);
background: var(--panel);
padding: 20px;
display: flex;
@@ -204,27 +204,27 @@ onMounted(loadStatus)
height: 40px;
display: grid;
place-items: center;
border-radius: 9px;
color: #a99cff;
border-radius: var(--r);
color: var(--a-mid);
background: var(--accent-soft);
}
.security-card-icon.twofa-icon {
color: #e5b05e;
color: var(--st-queue);
background: rgba(229,176,94,.1);
}
.security-card-icon.passkey-icon {
color: #6d9fe6;
color: var(--a-blue);
background: rgba(109,159,230,.1);
}
.security-card h3 {
margin: 0;
font-size: 13px;
color: #e8eaf0;
color: var(--tx);
}
.security-value {
font-size: 13px;
font-weight: 600;
color: #e8eaf0;
color: var(--tx);
}
.policy-text {
font-size: 11px;
@@ -234,7 +234,7 @@ onMounted(loadStatus)
.security-desc {
margin: 0;
font-size: 10px;
color: #7e8799;
color: var(--tx-3);
line-height: 1.5;
}
.security-detail-list {
@@ -250,14 +250,14 @@ onMounted(loadStatus)
}
.security-detail-label {
font-size: 10px;
color: #8991a1;
color: var(--tx-2);
font-weight: 500;
text-transform: uppercase;
letter-spacing: 0.03em;
}
.security-detail-value {
font-size: 10px;
color: #e8eaf0;
color: var(--tx);
font-weight: 500;
text-align: right;
word-break: break-word;
@@ -281,11 +281,11 @@ code.security-detail-value {
}
.status-bool.enabled {
background: rgba(81,212,154,.1);
color: #51d49a;
color: var(--st-work);
}
.status-bool.disabled {
background: rgba(225,110,117,.08);
color: #e16e75;
color: var(--st-block);
}
.security-status-row {
display: flex;
@@ -293,16 +293,16 @@ code.security-detail-value {
gap: 6px;
}
.check-icon {
color: #51d49a;
color: var(--st-work);
}
.x-icon {
color: #e16e75;
color: var(--st-block);
}
.enabled-text {
color: #51d49a;
color: var(--st-work);
}
.disabled-text {
color: #e16e75;
color: var(--st-block);
}
.memory-status {
@@ -311,11 +311,11 @@ code.security-detail-value {
justify-content: center;
gap: 8px;
padding: 48px;
color: #7e8799;
color: var(--tx-3);
font-size: 12px;
}
.memory-status.error {
color: #e16e75;
color: var(--st-block);
}
.spin {
animation: spin 1s linear infinite;