/* ========== 仪表盘 ========== */
.stats-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-bottom: 24px;
}
@media (max-width: 1200px) { .stats-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 768px) { .stats-grid { grid-template-columns: 1fr; } }

.stat-card {
  background: white; border-radius: 12px; padding: 24px; display: flex; align-items: center;
  gap: 16px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); transition: transform 0.2s;
}
.stat-card:hover { transform: translateY(-2px); }
.stat-icon { font-size: 36px; }
.stat-info { flex: 1; }
.stat-value { font-size: 32px; font-weight: 700; line-height: 1; }
.stat-label { font-size: 14px; color: #666; margin-top: 4px; }
.stat-blue .stat-value { color: #4299e1; }
.stat-green .stat-value { color: #48bb78; }
.stat-orange .stat-value { color: #ed8936; }
.stat-purple .stat-value { color: #9f7aea; }

.dashboard-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px;
}
@media (max-width: 1024px) { .dashboard-grid { grid-template-columns: 1fr; } }

/* ========== 时间线（仪表盘最近记录） ========== */
.timeline-item {
  display: flex; gap: 16px; padding: 12px 0; border-bottom: 1px solid #f0f0f0;
}
.timeline-item:last-child { border-bottom: none; }
.timeline-time { font-size: 13px; color: #999; white-space: nowrap; min-width: 50px; }
.timeline-content { flex: 1; }
.timeline-content strong { font-size: 14px; }
.timeline-content p { font-size: 13px; color: #666; margin-top: 4px; }
