video-compliance-ai/frontend/tailwind.config.js
Your Name e4959d584f feat: 完善代理商端业务逻辑与前后端框架
主要更新:
- 更新代理商端文档,明确项目由品牌方分配流程
- 新增Brief配置详情页(已配置)设计稿
- 完善工作台紧急待办中品牌新任务功能
- 整理Pencil设计文件中代理商端页面顺序
- 新增后端FastAPI框架及核心API
- 新增前端Next.js页面和组件库
- 添加.gitignore排除构建和缓存文件

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 19:27:31 +08:00

149 lines
4.2 KiB
JavaScript

/** @type {import('tailwindcss').Config} */
module.exports = {
content: [
'./pages/**/*.{js,ts,jsx,tsx,mdx}',
'./components/**/*.{js,ts,jsx,tsx,mdx}',
'./app/**/*.{js,ts,jsx,tsx,mdx}',
'./src/**/*.{js,ts,jsx,tsx,mdx}',
],
theme: {
extend: {
// ========================================
// Colors - 颜色系统 (严格按照设计文件)
// ========================================
colors: {
// 背景色
'bg-page': '#0B0B0E',
'bg-card': '#16161A',
'bg-elevated': '#1A1A1E',
// 文字色
'text-primary': '#FAFAF9',
'text-secondary': '#6B6B70',
'text-tertiary': '#4A4A50',
// 强调色
'accent-indigo': '#6366F1',
'accent-green': '#32D583',
'accent-coral': '#E85A4F',
'accent-amber': '#FFB547',
'accent-blue': '#007AFF',
// 边框色
'border-subtle': '#2A2A2E',
'border-strong': '#3A3A40',
// 状态色 (带透明度)
'status-success': 'rgba(50, 213, 131, 0.125)',
'status-pending': 'rgba(99, 102, 241, 0.125)',
'status-error': 'rgba(232, 90, 79, 0.125)',
'status-warning': 'rgba(255, 181, 71, 0.125)',
},
// ========================================
// Typography - 字体系统
// ========================================
fontFamily: {
sans: ['DM Sans', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'sans-serif'],
display: ['Fraunces', 'serif'],
},
// ========================================
// Border Radius - 圆角系统
// ========================================
borderRadius: {
'sm': '8px',
'md': '12px',
'lg': '16px',
'xl': '20px',
'2xl': '24px',
'3xl': '31px',
},
// ========================================
// Spacing - 间距系统
// ========================================
spacing: {
'4.5': '18px',
'13': '52px',
'15': '60px',
'18': '72px',
'21': '84px',
'22': '88px',
'65': '260px',
'83': '332px',
},
// ========================================
// Sizes - 尺寸
// ========================================
width: {
'sidebar': '260px',
'mobile': '402px',
},
height: {
'status-bar': '44px',
'bottom-nav': '95px',
'nav-bar': '62px',
'mobile': '874px',
},
minHeight: {
'screen-mobile': '874px',
},
maxWidth: {
'mobile': '402px',
'desktop': '1440px',
},
// ========================================
// Box Shadow - 阴影
// ========================================
boxShadow: {
'card': '0px 4px 16px -4px rgba(0, 0, 0, 0.25)',
'elevated': '0px 8px 24px -4px rgba(0, 0, 0, 0.4)',
'nav': '0px -4px 24px 0px rgba(0, 0, 0, 0.25)',
'coral': '0px 8px 24px -4px rgba(232, 90, 79, 0.3)',
},
// ========================================
// Animations - 动画
// ========================================
animation: {
'fade-in': 'fadeIn 0.2s ease-out',
'slide-up': 'slideUp 0.3s ease-out',
'slide-down': 'slideDown 0.3s ease-out',
'scale-in': 'scaleIn 0.2s ease-out',
},
keyframes: {
fadeIn: {
'0%': { opacity: '0' },
'100%': { opacity: '1' },
},
slideUp: {
'0%': { opacity: '0', transform: 'translateY(10px)' },
'100%': { opacity: '1', transform: 'translateY(0)' },
},
slideDown: {
'0%': { opacity: '0', transform: 'translateY(-10px)' },
'100%': { opacity: '1', transform: 'translateY(0)' },
},
scaleIn: {
'0%': { opacity: '0', transform: 'scale(0.95)' },
'100%': { opacity: '1', transform: 'scale(1)' },
},
},
// ========================================
// Z-Index - 层级
// ========================================
zIndex: {
'sidebar': '40',
'bottom-nav': '50',
'modal': '60',
'toast': '70',
},
},
},
plugins: [],
};