/* 统计卡片 */ .stat-card { padding: 16px; background: #ffffff; border-radius: 8px; border: 1px solid #f0f0f0; transition: all 0.3s ease; } .stat-card:hover { border-color: #d9d9d9; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); } /* 一列布局(默认) */ .stat-card-column { /* 继承默认样式 */ } /* 两列布局 */ .stat-card.stat-card-row { display: flex; align-items: center; gap: 16px; } .stat-card.stat-card-row .stat-card-header { flex: 1; margin-bottom: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; } .stat-card.stat-card-row .stat-card-body { flex-shrink: 0; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; } /* 卡片头部 */ .stat-card-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; } .stat-card-title { font-size: 13px; color: rgba(0, 0, 0, 0.65); font-weight: 500; } .stat-card-icon { font-size: 18px; display: flex; align-items: center; } /* 卡片内容 */ .stat-card-body { display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; } .stat-card-value { font-size: 24px; font-weight: 600; line-height: 1; } .stat-card-suffix { font-size: 14px; font-weight: 400; margin-left: 4px; color: rgba(0, 0, 0, 0.45); } /* 趋势指示器 */ .stat-card-trend { display: flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 500; padding: 2px 6px; border-radius: 4px; } .stat-card-trend.trend-up { color: #52c41a; background: #f6ffed; } .stat-card-trend.trend-down { color: #ff4d4f; background: #fff1f0; } .stat-card-trend svg { font-size: 10px; }