diff --git a/brand/css/pipexerp-brand-bar.css b/brand/css/pipexerp-brand-bar.css
new file mode 100644
index 0000000..2c64a5a
--- /dev/null
+++ b/brand/css/pipexerp-brand-bar.css
@@ -0,0 +1,147 @@
+/**
+ * PipexERP Brand Bar
+ * 统一品牌条样式 - 用于在各子系统顶部显示
+ */
+
+.pipex-brand-bar {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ height: 48px;
+ padding: 0 24px;
+ background: linear-gradient(135deg, #52c41a 0%, #389e0d 100%);
+ color: white;
+ font-family: var(--pipex-font-family, 'Segoe UI', -apple-system, sans-serif);
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
+ position: relative;
+ z-index: 1000;
+}
+
+.pipex-brand-bar--dark {
+ background: linear-gradient(135deg, #135200 0%, #237804 100%);
+}
+
+.pipex-brand-bar__logo {
+ display: flex;
+ align-items: center;
+ gap: 12px;
+ text-decoration: none;
+ color: white;
+}
+
+.pipex-brand-bar__icon {
+ width: 28px;
+ height: 28px;
+}
+
+.pipex-brand-bar__title {
+ font-size: 16px;
+ font-weight: 600;
+ letter-spacing: 0.5px;
+}
+
+.pipex-brand-bar__divider {
+ width: 1px;
+ height: 20px;
+ background: rgba(255, 255, 255, 0.4);
+ margin: 0 12px;
+}
+
+.pipex-brand-bar__subtitle {
+ font-size: 14px;
+ font-weight: 500;
+ opacity: 0.9;
+}
+
+.pipex-brand-bar__nav {
+ display: flex;
+ align-items: center;
+ gap: 24px;
+}
+
+.pipex-brand-bar__link {
+ color: white;
+ text-decoration: none;
+ font-size: 14px;
+ opacity: 0.85;
+ transition: opacity 0.2s ease;
+}
+
+.pipex-brand-bar__link:hover {
+ opacity: 1;
+}
+
+.pipex-brand-bar__badge {
+ display: inline-flex;
+ align-items: center;
+ padding: 4px 10px;
+ background: rgba(255, 255, 255, 0.2);
+ border-radius: 12px;
+ font-size: 12px;
+ font-weight: 500;
+}
+
+/* Footer Brand */
+.pipex-brand-footer {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ padding: 16px;
+ gap: 8px;
+ font-size: 13px;
+ color: var(--pipex-text-tertiary, #999);
+ border-top: 1px solid var(--pipex-border, #e8e8e8);
+}
+
+.pipex-brand-footer__logo {
+ width: 20px;
+ height: 20px;
+}
+
+.pipex-brand-footer a {
+ color: var(--pipex-primary, #52c41a);
+ text-decoration: none;
+}
+
+.pipex-brand-footer a:hover {
+ text-decoration: underline;
+}
+
+/* Compact Brand Tag */
+.pipex-brand-tag {
+ display: inline-flex;
+ align-items: center;
+ gap: 6px;
+ padding: 4px 12px;
+ background: var(--pipex-primary-bg, rgba(82, 196, 26, 0.1));
+ border: 1px solid var(--pipex-primary, #52c41a);
+ border-radius: 16px;
+ font-size: 12px;
+ font-weight: 500;
+ color: var(--pipex-primary, #52c41a);
+}
+
+.pipex-brand-tag__icon {
+ width: 14px;
+ height: 14px;
+}
+
+/* Responsive */
+@media (max-width: 768px) {
+ .pipex-brand-bar {
+ padding: 0 16px;
+ height: 44px;
+ }
+
+ .pipex-brand-bar__title {
+ font-size: 14px;
+ }
+
+ .pipex-brand-bar__subtitle {
+ font-size: 12px;
+ }
+
+ .pipex-brand-bar__nav {
+ display: none;
+ }
+}
diff --git a/brand/css/pipexerp-variables.css b/brand/css/pipexerp-variables.css
new file mode 100644
index 0000000..a824b51
--- /dev/null
+++ b/brand/css/pipexerp-variables.css
@@ -0,0 +1,130 @@
+/**
+ * PipexERP Brand CSS Variables
+ * 企业统一品牌色彩系统
+ */
+
+:root {
+ /* === Primary Colors (Enterprise Green) === */
+ --pipex-primary: #52c41a;
+ --pipex-primary-hover: #389e0d;
+ --pipex-primary-active: #237804;
+ --pipex-primary-light: #b7eb8f;
+ --pipex-primary-lighter: #d9f7be;
+ --pipex-primary-dark: #135200;
+ --pipex-primary-bg: rgba(82, 196, 26, 0.1);
+
+ /* === Functional Colors === */
+ --pipex-success: #52c41a;
+ --pipex-info: #1890ff;
+ --pipex-warning: #faad14;
+ --pipex-error: #ff4d4f;
+
+ /* === Light Mode Colors === */
+ --pipex-bg-primary: #ffffff;
+ --pipex-bg-secondary: #fafafa;
+ --pipex-bg-tertiary: #f5f5f5;
+ --pipex-text-primary: #333333;
+ --pipex-text-secondary: #666666;
+ --pipex-text-tertiary: #999999;
+ --pipex-border: #d9d9d9;
+ --pipex-border-light: #e8e8e8;
+ --pipex-shadow: rgba(0, 0, 0, 0.08);
+ --pipex-shadow-hover: rgba(0, 0, 0, 0.12);
+
+ /* === Component Specific === */
+ --pipex-header-height: 56px;
+ --pipex-sidebar-width: 240px;
+ --pipex-border-radius: 8px;
+ --pipex-border-radius-sm: 4px;
+ --pipex-border-radius-lg: 12px;
+ --pipex-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
+
+ /* === Typography === */
+ --pipex-font-family: 'Segoe UI', 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Noto Sans SC', sans-serif;
+ --pipex-font-size-xs: 12px;
+ --pipex-font-size-sm: 14px;
+ --pipex-font-size-base: 16px;
+ --pipex-font-size-lg: 18px;
+ --pipex-font-size-xl: 20px;
+ --pipex-font-size-2xl: 24px;
+ --pipex-font-weight-normal: 400;
+ --pipex-font-weight-medium: 500;
+ --pipex-font-weight-semibold: 600;
+ --pipex-font-weight-bold: 700;
+
+ /* === Spacing === */
+ --pipex-spacing-xs: 4px;
+ --pipex-spacing-sm: 8px;
+ --pipex-spacing-md: 16px;
+ --pipex-spacing-lg: 24px;
+ --pipex-spacing-xl: 32px;
+ --pipex-spacing-2xl: 48px;
+}
+
+/* === Dark Mode Colors === */
+[data-theme="dark"],
+.dark,
+.pipex-dark {
+ --pipex-primary: #73d13d;
+ --pipex-primary-hover: #95de64;
+ --pipex-primary-active: #52c41a;
+ --pipex-primary-light: #237804;
+ --pipex-primary-lighter: #135200;
+ --pipex-primary-dark: #b7eb8f;
+ --pipex-primary-bg: rgba(115, 209, 61, 0.15);
+
+ --pipex-bg-primary: #0d1117;
+ --pipex-bg-secondary: #161b22;
+ --pipex-bg-tertiary: #21262d;
+ --pipex-text-primary: #e6edf3;
+ --pipex-text-secondary: #8b949e;
+ --pipex-text-tertiary: #6e7681;
+ --pipex-border: #30363d;
+ --pipex-border-light: #21262d;
+ --pipex-shadow: rgba(0, 0, 0, 0.3);
+ --pipex-shadow-hover: rgba(0, 0, 0, 0.4);
+}
+
+/* === Utility Classes === */
+.pipex-text-primary {
+ color: var(--pipex-primary) !important;
+}
+
+.pipex-bg-primary {
+ background-color: var(--pipex-primary) !important;
+}
+
+.pipex-border-primary {
+ border-color: var(--pipex-primary) !important;
+}
+
+.pipex-btn-primary {
+ background: linear-gradient(135deg, var(--pipex-primary), var(--pipex-primary-hover));
+ color: white;
+ border: none;
+ padding: var(--pipex-spacing-sm) var(--pipex-spacing-md);
+ border-radius: var(--pipex-border-radius);
+ cursor: pointer;
+ transition: var(--pipex-transition);
+ font-weight: var(--pipex-font-weight-medium);
+}
+
+.pipex-btn-primary:hover {
+ background: linear-gradient(135deg, var(--pipex-primary-hover), var(--pipex-primary-active));
+ transform: translateY(-1px);
+ box-shadow: 0 4px 12px rgba(82, 196, 26, 0.3);
+}
+
+.pipex-card {
+ background: var(--pipex-bg-primary);
+ border: 1px solid var(--pipex-border);
+ border-radius: var(--pipex-border-radius-lg);
+ padding: var(--pipex-spacing-lg);
+ box-shadow: 0 2px 8px var(--pipex-shadow);
+ transition: var(--pipex-transition);
+}
+
+.pipex-card:hover {
+ box-shadow: 0 4px 16px var(--pipex-shadow-hover);
+ border-color: var(--pipex-primary);
+}
diff --git a/brand/logo/favicon.svg b/brand/logo/favicon.svg
new file mode 100644
index 0000000..8a96919
--- /dev/null
+++ b/brand/logo/favicon.svg
@@ -0,0 +1,13 @@
+
diff --git a/brand/logo/pipexerp-aiproj.svg b/brand/logo/pipexerp-aiproj.svg
new file mode 100644
index 0000000..68a99bc
--- /dev/null
+++ b/brand/logo/pipexerp-aiproj.svg
@@ -0,0 +1,17 @@
+
diff --git a/brand/logo/pipexerp-dbeaver.svg b/brand/logo/pipexerp-dbeaver.svg
new file mode 100644
index 0000000..7aa5c2e
--- /dev/null
+++ b/brand/logo/pipexerp-dbeaver.svg
@@ -0,0 +1,17 @@
+
diff --git a/brand/logo/pipexerp-gitea.svg b/brand/logo/pipexerp-gitea.svg
new file mode 100644
index 0000000..6ad4afd
--- /dev/null
+++ b/brand/logo/pipexerp-gitea.svg
@@ -0,0 +1,17 @@
+
diff --git a/brand/logo/pipexerp-icon.svg b/brand/logo/pipexerp-icon.svg
new file mode 100644
index 0000000..348d464
--- /dev/null
+++ b/brand/logo/pipexerp-icon.svg
@@ -0,0 +1,13 @@
+
diff --git a/brand/logo/pipexerp-jenkins.svg b/brand/logo/pipexerp-jenkins.svg
new file mode 100644
index 0000000..f3836b8
--- /dev/null
+++ b/brand/logo/pipexerp-jenkins.svg
@@ -0,0 +1,17 @@
+
diff --git a/brand/logo/pipexerp-logo-dark.svg b/brand/logo/pipexerp-logo-dark.svg
new file mode 100644
index 0000000..e98a510
--- /dev/null
+++ b/brand/logo/pipexerp-logo-dark.svg
@@ -0,0 +1,19 @@
+
diff --git a/brand/logo/pipexerp-logo.svg b/brand/logo/pipexerp-logo.svg
new file mode 100644
index 0000000..0d9e564
--- /dev/null
+++ b/brand/logo/pipexerp-logo.svg
@@ -0,0 +1,19 @@
+
diff --git a/brand/logo/pipexerp-metabase.svg b/brand/logo/pipexerp-metabase.svg
new file mode 100644
index 0000000..ad076f1
--- /dev/null
+++ b/brand/logo/pipexerp-metabase.svg
@@ -0,0 +1,17 @@
+
diff --git a/brand/templates/brand-header.html b/brand/templates/brand-header.html
new file mode 100644
index 0000000..5379d9c
--- /dev/null
+++ b/brand/templates/brand-header.html
@@ -0,0 +1,58 @@
+
+
+
+
+