2026-01-30 10:41:19 +08:00
|
|
|
/**
|
|
|
|
|
* EmailBill 主题系统 - 根据 v2.pen 设计稿
|
|
|
|
|
* 用于保持整个应用色彩和布局一致性
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
:root {
|
|
|
|
|
/* ============ 颜色变量 - 浅色主题 ============ */
|
|
|
|
|
|
|
|
|
|
/* 背景色 */
|
|
|
|
|
--bg-primary: #FFFFFF;
|
|
|
|
|
--bg-secondary: #F6F7F8;
|
|
|
|
|
--bg-tertiary: #F3F4F6;
|
|
|
|
|
--bg-button: #F5F5F5;
|
|
|
|
|
|
|
|
|
|
/* 文字颜色 */
|
|
|
|
|
--text-primary: #1A1A1A;
|
|
|
|
|
--text-secondary: #6B7280;
|
|
|
|
|
--text-tertiary: #9CA3AF;
|
|
|
|
|
|
|
|
|
|
/* 强调色 */
|
|
|
|
|
--accent-primary: #FF6B6B;
|
|
|
|
|
--accent-danger: #EF4444;
|
|
|
|
|
--accent-warning: #D97706;
|
|
|
|
|
--accent-warning-bg: #FFFBEB;
|
|
|
|
|
--accent-success: #22C55E;
|
|
|
|
|
--accent-success-bg: #F0FDF4;
|
|
|
|
|
--accent-info: #6366F1;
|
|
|
|
|
--accent-info-bg: #E0E7FF;
|
|
|
|
|
|
|
|
|
|
/* 图标色 */
|
|
|
|
|
--icon-star: #FF6B6B;
|
|
|
|
|
--icon-coffee: #FCD34D;
|
|
|
|
|
|
2026-02-11 15:19:30 +08:00
|
|
|
|
|
|
|
|
/* 边框颜色 */
|
|
|
|
|
--border-color: #E5E7EB;
|
|
|
|
|
|
2026-01-30 10:41:19 +08:00
|
|
|
/* ============ 布局变量 ============ */
|
|
|
|
|
|
|
|
|
|
/* 间距 */
|
|
|
|
|
--spacing-xs: 2px;
|
|
|
|
|
--spacing-sm: 4px;
|
2026-02-11 15:19:30 +08:00
|
|
|
--spacing-md: 8px;
|
2026-01-30 10:41:19 +08:00
|
|
|
--spacing-lg: 12px;
|
|
|
|
|
--spacing-xl: 16px;
|
|
|
|
|
--spacing-2xl: 20px;
|
|
|
|
|
--spacing-3xl: 24px;
|
|
|
|
|
|
|
|
|
|
/* 圆角 */
|
|
|
|
|
--radius-sm: 12px;
|
|
|
|
|
--radius-md: 16px;
|
|
|
|
|
--radius-lg: 20px;
|
|
|
|
|
--radius-full: 22px;
|
|
|
|
|
|
|
|
|
|
/* 字体大小 */
|
|
|
|
|
--font-xs: 9px;
|
|
|
|
|
--font-sm: 11px;
|
|
|
|
|
--font-base: 12px;
|
|
|
|
|
--font-md: 13px;
|
|
|
|
|
--font-lg: 15px;
|
|
|
|
|
--font-xl: 18px;
|
|
|
|
|
--font-2xl: 24px;
|
|
|
|
|
--font-3xl: 32px;
|
|
|
|
|
|
|
|
|
|
/* 字体粗细 */
|
|
|
|
|
--font-medium: 500;
|
|
|
|
|
--font-semibold: 600;
|
|
|
|
|
--font-bold: 700;
|
|
|
|
|
--font-extrabold: 800;
|
|
|
|
|
|
|
|
|
|
/* 字体 */
|
|
|
|
|
--font-primary: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
|
|
|
|
--font-display: 'Bricolage Grotesque', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
|
|
|
|
|
|
|
|
|
/* 阴影 (可选) */
|
|
|
|
|
--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
|
|
|
|
|
--shadow-md: 0 4px 6px rgba(0, 0, 0, 0.05);
|
|
|
|
|
--shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.05);
|
2026-02-11 15:19:30 +08:00
|
|
|
|
|
|
|
|
/* 边框颜色 */
|
|
|
|
|
--border-color: #E5E7EB;
|
2026-02-12 21:39:27 +08:00
|
|
|
|
|
|
|
|
/* 分段控制器 (Segmented Control) - From .pans/v2.pen NDWwE */
|
|
|
|
|
--segmented-bg: #F4F4F5;
|
|
|
|
|
--segmented-active-bg: #FFFFFF;
|
2026-01-30 10:41:19 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* ============ 深色主题 ============ */
|
|
|
|
|
[data-theme="dark"] {
|
|
|
|
|
/* 背景色 */
|
|
|
|
|
--bg-primary: #09090B;
|
|
|
|
|
--bg-secondary: #18181b;
|
|
|
|
|
--bg-tertiary: #27272a;
|
|
|
|
|
--bg-button: #27272a;
|
|
|
|
|
|
|
|
|
|
/* 文字颜色 */
|
|
|
|
|
--text-primary: #f4f4f5;
|
|
|
|
|
--text-secondary: #a1a1aa;
|
|
|
|
|
--text-tertiary: #71717a;
|
|
|
|
|
|
2026-02-10 19:47:55 +08:00
|
|
|
/* 边框颜色 */
|
|
|
|
|
--border-color: #3f3f46;
|
|
|
|
|
|
2026-01-30 10:41:19 +08:00
|
|
|
/* 强调色 (深色主题调整) */
|
|
|
|
|
--accent-primary: #FF6B6B;
|
|
|
|
|
--accent-danger: #f87171;
|
|
|
|
|
--accent-warning: #fbbf24;
|
|
|
|
|
--accent-warning-bg: #451a03;
|
|
|
|
|
--accent-success: #4ade80;
|
|
|
|
|
--accent-success-bg: #064e3b;
|
|
|
|
|
--accent-info: #818cf8;
|
|
|
|
|
--accent-info-bg: #312e81;
|
|
|
|
|
|
|
|
|
|
/* 图标色 (深色主题) */
|
|
|
|
|
--icon-star: #FF6B6B;
|
|
|
|
|
--icon-coffee: #FCD34D;
|
2026-02-12 21:39:27 +08:00
|
|
|
|
|
|
|
|
/* 分段控制器 (Segmented Control) - From .pans/v2.pen NDWwE */
|
|
|
|
|
--segmented-bg: #27272a;
|
|
|
|
|
--segmented-active-bg: #3f3f46;
|
2026-01-30 10:41:19 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* ============ 通用工具类 ============ */
|
|
|
|
|
|
|
|
|
|
/* 文字 */
|
|
|
|
|
.text-primary {
|
|
|
|
|
color: var(--text-primary);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.text-secondary {
|
|
|
|
|
color: var(--text-secondary);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.text-tertiary {
|
|
|
|
|
color: var(--text-tertiary);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.text-danger {
|
|
|
|
|
color: var(--accent-danger);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 背景 */
|
|
|
|
|
.bg-primary {
|
|
|
|
|
background-color: var(--bg-primary);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.bg-secondary {
|
|
|
|
|
background-color: var(--bg-secondary);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.bg-tertiary {
|
|
|
|
|
background-color: var(--bg-tertiary);
|
|
|
|
|
}
|
|
|
|
|
|
2026-02-11 15:19:30 +08:00
|
|
|
|
2026-02-10 19:47:55 +08:00
|
|
|
|
|
|
|
|
/* 布局容器 */
|
2026-01-30 10:41:19 +08:00
|
|
|
.container-fluid {
|
|
|
|
|
width: 100%;
|
|
|
|
|
max-width: 402px;
|
|
|
|
|
margin: 0 auto;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Flex 布局 */
|
|
|
|
|
.flex {
|
|
|
|
|
display: flex;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.flex-col {
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.items-center {
|
|
|
|
|
align-items: center;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.justify-between {
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.justify-center {
|
|
|
|
|
justify-content: center;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 间距 */
|
|
|
|
|
.gap-xs { gap: var(--spacing-xs); }
|
|
|
|
|
.gap-sm { gap: var(--spacing-sm); }
|
|
|
|
|
.gap-md { gap: var(--spacing-md); }
|
|
|
|
|
.gap-lg { gap: var(--spacing-lg); }
|
|
|
|
|
.gap-xl { gap: var(--spacing-xl); }
|
|
|
|
|
.gap-2xl { gap: var(--spacing-2xl); }
|
|
|
|
|
.gap-3xl { gap: var(--spacing-3xl); }
|
|
|
|
|
|
|
|
|
|
/* 内边距 */
|
|
|
|
|
.p-sm { padding: var(--spacing-md); }
|
|
|
|
|
.p-md { padding: var(--spacing-xl); }
|
|
|
|
|
.p-lg { padding: var(--spacing-2xl); }
|
|
|
|
|
.p-xl { padding: var(--spacing-3xl); }
|
|
|
|
|
|
|
|
|
|
/* 圆角 */
|
|
|
|
|
.rounded-sm { border-radius: var(--radius-sm); }
|
|
|
|
|
.rounded-md { border-radius: var(--radius-md); }
|
|
|
|
|
.rounded-lg { border-radius: var(--radius-lg); }
|
|
|
|
|
.rounded-full { border-radius: var(--radius-full); }
|