.dashboard-grid { 
    display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); 
    gap: 2rem; margin-bottom: 4rem; 
}
.stat-card { 
    background: var(--surface); padding: 2.5rem; border-radius: var(--radius-lg); 
    display: flex; align-items: center; gap: 2rem; position: relative;
    border: 1px solid var(--border); transition: var(--transition);
    overflow: hidden;
}
.stat-card:hover { transform: translateY(-5px); box-shadow: 0 15px 30px rgba(0,0,0,0.4); border-color: var(--border-hover); }
.stat-card::before {
    content: ''; position: absolute; top: 0; right: 0; bottom: 0; width: 4px;
    background: var(--primary); box-shadow: 0 0 15px var(--primary-glow);
}
.stat-card.c-success::before { background: var(--secondary); box-shadow: 0 0 15px var(--secondary-glow); }
.stat-card.c-secondary::before { background: var(--accent); box-shadow: 0 0 15px var(--accent-glow); }

.stat-icon-wrapper {
    width: 80px; height: 80px; border-radius: 20px; display: flex; align-items: center; justify-content: center;
    font-size: 2.5rem; color: var(--primary); background: rgba(99, 102, 241, 0.1);
}
.stat-card.c-success .stat-icon-wrapper { color: var(--secondary); background: rgba(16, 185, 129, 0.1); }
.stat-card.c-secondary .stat-icon-wrapper { color: var(--accent); background: rgba(245, 158, 11, 0.1); }

.stat-info h3 { font-size: 1.1rem; color: var(--text-light); margin-bottom: 0.5rem; font-weight: 700; }
.stat-info p { font-size: 3rem; font-weight: 900; color: #fff; line-height: 1; }

.recent-activity-container { background: var(--surface); border-radius: var(--radius-lg); border: 1px solid var(--border); overflow: hidden; }
.activity-item { 
    padding: 1.5rem 2.5rem; border-bottom: 1px solid var(--border); 
    display: flex; justify-content: space-between; align-items: center; transition: var(--transition);
}
.activity-item:hover { background: rgba(255,255,255,0.02); padding-right: 3rem; }
.activity-meta { color: var(--text-light); font-size: 0.95rem; margin-top: 0.5rem; font-weight: 600; }
.activity-title { font-weight: 800; color: #fff; font-size: 1.2rem; }

@media (max-width: 968px) {
    .dashboard-grid { grid-template-columns: 1fr; gap: 1.5rem; }
    .stat-card { padding: 1.5rem; gap: 1rem; flex-direction: column; text-align: center; }
    .stat-card::before { width: 100%; height: 4px; top: auto; bottom: 0; left: 0; right: 0; }
    .activity-item { flex-direction: column; align-items: flex-start; gap: 1rem; padding: 1.5rem 1rem; }
    .activity-item .points-badge { align-self: flex-start; }
}
