Files
gpf_pet_hospital/frontend/src/styles/theme.css
wangziqi 77eb648b38 完善统计功能并优化前端界面
后端:
- 扩展 StatsController,新增趋势分析(/trends)和今日待办(/today-todos)接口
- 更新 application-dev.yml 数据库配置(端口3306,允许公钥检索)
- 完善 pom.xml Maven 编译器插件和 Lombok 版本配置
- 添加 build-with-idea.sh 构建脚本

前端:
- 新增 Register.vue 注册页面
- 优化 Dashboard 仪表盘布局和数据统计展示
- 改进 MainLayout 侧边栏样式和品牌展示
- 更新 Login 登录页面样式
- 新增 theme.css 主题样式文件
- 扩展 API 接口(statsTrends、todayTodos)
- 更新路由和全局样式

文档:
- 添加功能检查报告和功能列表文档
2026-02-11 16:11:31 +08:00

98 lines
2.4 KiB
CSS

/* Pet Hospital Theme Variables */
:root {
/* Primary Brand Colors */
--brand-primary: #4361ee;
--brand-secondary: #3f37c9;
--brand-accent: #4cc9f0;
/* Status Colors */
--status-success: #4ade80;
--status-warning: #facc15;
--status-error: #f87171;
--status-info: #60a5fa;
/* Neutral Palette */
--neutral-50: #f8fafc;
--neutral-100: #f1f5f9;
--neutral-200: #e2e8f0;
--neutral-300: #cbd5e1;
--neutral-400: #94a3b8;
--neutral-500: #64748b;
--neutral-600: #475569;
--neutral-700: #334155;
--neutral-800: #1e293b;
--neutral-900: #0f172a;
/* Backgrounds */
--bg-app: var(--neutral-50);
--bg-panel: #ffffff;
--bg-hover: var(--neutral-100);
/* Text */
--text-primary: var(--neutral-800);
--text-secondary: var(--neutral-600);
--text-muted: var(--neutral-500);
--text-inverse: #ffffff;
/* Borders */
--border-default: var(--neutral-200);
--border-subtle: var(--neutral-300);
/* Shadows */
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
--shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
/* Radius */
--radius-xs: 4px;
--radius-sm: 6px;
--radius: 8px;
--radius-lg: 12px;
--radius-xl: 16px;
--radius-full: 9999px;
/* Transitions */
--transition-fast: all 0.15s ease;
--transition: all 0.2s ease;
--transition-slow: all 0.3s ease;
/* Spacing */
--space-xxs: 4px;
--space-xs: 8px;
--space-sm: 12px;
--space: 16px;
--space-md: 20px;
--space-lg: 24px;
--space-xl: 32px;
--space-xxl: 40px;
/* Typography */
--font-size-xs: 12px;
--font-size-sm: 14px;
--font-size: 16px;
--font-size-lg: 18px;
--font-size-xl: 20px;
--font-size-xxl: 24px;
--font-size-xxxl: 32px;
--font-weight-normal: 400;
--font-weight-medium: 500;
--font-weight-semibold: 600;
--font-weight-bold: 700;
}
/* Dark mode support (optional) */
@media (prefers-color-scheme: dark) {
:root {
--bg-app: var(--neutral-900);
--bg-panel: var(--neutral-800);
--bg-hover: var(--neutral-700);
--text-primary: var(--neutral-100);
--text-secondary: var(--neutral-300);
--text-muted: var(--neutral-400);
--border-default: var(--neutral-700);
--border-subtle: var(--neutral-600);
}
}