/* styles.css - 智能招聘系统全局样式 */ /* 基础样式 */ :root { --primary: #2563eb; --secondary: #f59e0b; --dark: #1e293b; --light: #f8fafc; --success: #10b981; --danger: #ef4444; --warning: #f97316; } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Segoe UI', 'Microsoft YaHei', sans-serif; background-color: #f1f5f9; color: var(--dark); line-height: 1.6; } /* 通用样式 */ a { text-decoration: none; color: inherit; } button { cursor: pointer; } /* 卡片样式 */ .card { background: white; border-radius: 8px; padding: 16px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); border: 1px solid #e2e8f0; transition: all 0.2s; } .card:hover { transform: translateY(-4px); box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1); } /* 按钮样式 */ .btn { padding: 12px; border: none; border-radius: 8px; font-size: 16px; font-weight: 500; transition: all 0.2s; } .btn-primary { background: var(--primary); color: white; } .btn-primary:hover { background: #1d4ed8; } .btn-secondary { background: var(--secondary); color: white; } .btn-secondary:hover { background: #d97706; } .btn-success { background: var(--success); color: white; } .btn-success:hover { background: #059669; } .btn-danger { background: var(--danger); color: white; } .btn-danger:hover { background: #dc2626; } /* 表单控件样式 */ .form-control { width: 100%; padding: 12px 16px; border: 1px solid #e2e8f0; border-radius: 8px; font-size: 16px; transition: all 0.2s; } .form-control:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1); outline: none; } /* 布局样式 */ .container { display: flex; min-height: 100vh; padding: 20px; gap: 20px; max-width: 1400px; margin: 0 auto; } .sidebar { width: 240px; background: white; border-radius: 12px; padding: 20px; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05); } .main-content { flex: 1; display: flex; flex-direction: column; gap: 20px; } /* 响应式设计 */ @media (max-width: 768px) { .container { flex-direction: column; padding: 10px; } .sidebar { width: 100%; } .form-row { flex-direction: column; } } /* 动画效果 */ .animate { animation-duration: 0.3s; animation-fill-mode: both; } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } .fade-in { animation-name: fadeIn; } /* 工具类 */ .text-primary { color: var(--primary); } .text-center { text-align: center; } .mt-2 { margin-top: 8px; } .mb-4 { margin-bottom: 16px; } .p-4 { padding: 16px; } /* ECharts 容器 */ .chart-container { width: 100%; height: 400px; }