diff --git a/frontend/src/shared/design-system/tokens.css b/frontend/src/shared/design-system/tokens.css index 21a63565..e13fc403 100644 --- a/frontend/src/shared/design-system/tokens.css +++ b/frontend/src/shared/design-system/tokens.css @@ -242,7 +242,7 @@ /* ========================================================================== */ @media (prefers-color-scheme: dark) { - :root { + :root:not([data-theme="light"]) { /* Semantic Colors (Dark Mode) */ --color-text-primary: #ffffff; --color-text-secondary: var(--color-neutral-300); @@ -265,6 +265,29 @@ } } +/* Explicit dark mode via data attribute */ +:root[data-theme="dark"] { + /* Semantic Colors (Dark Mode) */ + --color-text-primary: #ffffff; + --color-text-secondary: var(--color-neutral-300); + --color-text-tertiary: var(--color-neutral-500); + --color-text-inverse: var(--color-neutral-900); + + --color-background-primary: var(--color-neutral-900); + --color-background-secondary: var(--color-neutral-800); + --color-background-tertiary: var(--color-neutral-700); + --color-background-hover: var(--color-neutral-700); + --color-background-active: rgba(59, 130, 246, 0.2); + + --color-border-primary: var(--color-neutral-700); + --color-border-secondary: var(--color-neutral-600); + + --color-input-background: var(--color-neutral-800); + --color-input-border: var(--color-neutral-700); + --color-input-hover: var(--color-neutral-600); + --color-input-focus: var(--color-primary-400); +} + /* ========================================================================== */ /* BASE STYLES */ /* ========================================================================== */ diff --git a/frontend/src/shared/shell/AppLayout.vue b/frontend/src/shared/shell/AppLayout.vue new file mode 100644 index 00000000..e83124af --- /dev/null +++ b/frontend/src/shared/shell/AppLayout.vue @@ -0,0 +1,81 @@ + + + + + diff --git a/frontend/src/shared/shell/Footer.vue b/frontend/src/shared/shell/Footer.vue new file mode 100644 index 00000000..110e7227 --- /dev/null +++ b/frontend/src/shared/shell/Footer.vue @@ -0,0 +1,167 @@ + + + + + + + diff --git a/frontend/src/shared/shell/Header.vue b/frontend/src/shared/shell/Header.vue new file mode 100644 index 00000000..71c775d4 --- /dev/null +++ b/frontend/src/shared/shell/Header.vue @@ -0,0 +1,289 @@ + + + + + diff --git a/frontend/src/shared/shell/Sidebar.vue b/frontend/src/shared/shell/Sidebar.vue new file mode 100644 index 00000000..10452e23 --- /dev/null +++ b/frontend/src/shared/shell/Sidebar.vue @@ -0,0 +1,251 @@ + + + + +