/* 仪表板通用样式 */ .dashboard-container { display: flex; min-height: 100vh; background-color: #f0f2f5; } /* 侧边栏 */ .sidebar { width: 250px; background: linear-gradient(180deg, #1890ff 0%, #0050b3 100%); color: #fff; position: fixed; height: 100vh; overflow-y: auto; box-shadow: 2px 0 8px rgba(0,0,0,0.1); } .sidebar-header { padding: 20px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); } .sidebar-header h2 { font-size: 18px; margin-bottom: 5px; } .sidebar-header p { font-size: 12px; opacity: 0.8; } .sidebar-menu { padding: 20px 0; } .menu-item { padding: 12px 20px; cursor: pointer; transition: all 0.3s; display: flex; align-items: center; gap: 10px; color: rgba(255, 255, 255, 0.85); text-decoration: none; } .menu-item:hover { background-color: rgba(255, 255, 255, 0.1); color: #fff; } .menu-item.active { background-color: rgba(255, 255, 255, 0.2); color: #fff; border-left: 3px solid #fff; } .menu-icon { font-size: 18px; } /* 主内容区 */ .main-content { flex: 1; margin-left: 250px; padding: 20px; } /* 顶部导航 */ .top-nav { background: #fff; padding: 15px 20px; border-radius: 8px; margin-bottom: 20px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); display: flex; justify-content: space-between; align-items: center; } .top-nav-left h1 { font-size: 20px; color: #333; } .top-nav-right { display: flex; align-items: center; gap: 20px; } .user-info { display: flex; align-items: center; gap: 10px; } .user-avatar { width: 36px; height: 36px; border-radius: 50%; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 600; } .user-name { font-size: 14px; color: #333; } .btn-logout { padding: 6px 16px; background-color: #ff4d4f; color: #fff; border: none; border-radius: 4px; cursor: pointer; font-size: 13px; } .btn-logout:hover { background-color: #ff7875; } /* 统计卡片 */ .stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; margin-bottom: 20px; } .stat-card { background: #fff; padding: 20px; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); display: flex; align-items: center; gap: 15px; transition: transform 0.3s; } .stat-card:hover { transform: translateY(-5px); box-shadow: 0 4px 12px rgba(0,0,0,0.15); } .stat-icon { width: 50px; height: 50px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 24px; color: #fff; } .stat-icon.blue { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); } .stat-icon.green { background: linear-gradient(135deg, #84fab0 0%, #8fd3f4 100%); } .stat-icon.orange { background: linear-gradient(135deg, #fa709a 0%, #fee140 100%); } .stat-icon.red { background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%); } .stat-info h3 { font-size: 28px; font-weight: 600; margin-bottom: 5px; color: #333; } .stat-info p { font-size: 13px; color: #666; } /* 工具栏 */ .toolbar { background: #fff; padding: 15px 20px; border-radius: 8px; margin-bottom: 20px; display: flex; justify-content: space-between; align-items: center; box-shadow: 0 2px 8px rgba(0,0,0,0.1); } .toolbar-left { display: flex; gap: 10px; } .search-box { position: relative; } .search-box input { padding: 8px 35px 8px 12px; border: 1px solid #d9d9d9; border-radius: 4px; width: 250px; } .search-box button { position: absolute; right: 0; top: 0; padding: 8px 12px; background: none; border: none; cursor: pointer; color: #666; } /* 内容卡片 */ .content-card { background: #fff; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); overflow: hidden; } .content-header { padding: 15px 20px; border-bottom: 1px solid #e8e8e8; display: flex; justify-content: space-between; align-items: center; } .content-header h2 { font-size: 16px; font-weight: 600; } .content-body { padding: 20px; } /* 响应式设计 */ @media (max-width: 768px) { .sidebar { width: 60px; } .sidebar-header h2, .sidebar-header p, .menu-item span { display: none; } .main-content { margin-left: 60px; } .stats-grid { grid-template-columns: 1fr; } .toolbar { flex-direction: column; gap: 10px; } .search-box input { width: 100%; } }