
/* Dashboard Grid System */
.dashboard-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 1.5rem;
    max-width: 1400px;
    margin: 0 auto;
}
/* Generic Widget Card */
.widget-card {
    background: var(--bg-panel);
    backdrop-filter: blur(10px);
    border: 1px solid var(--glass-border);
    border-radius: var(--radius-lg);
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 20px rgba(0,0,0,0.2);
    height: auto;
}

.widget-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    padding-bottom: 0.8rem;
}
.widget-title {
    font-size: var(--font-size-medium);
    color: var(--text-main);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
/* Specific Widget Sizing */
.widget-growth { grid-column: span 8; }
.widget-tasks { grid-column: span 4; }
.widget-tests { grid-column: span 4; }
.widget-social { grid-column: span 4; }
.widget-mood-sleep { grid-column: span 12; }
.widget-needs { grid-column: span 12;}
.widget-activity { grid-column: span 12; display: flex; gap: 1rem; flex-direction: row; }
/* Activity Stats */
.stat-box {
    flex: 1;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.05);
    border-radius: var(--radius-md);
    padding: 1rem;
    text-align: center;
}
.stat-value {
    font-size: 2rem;
    font-weight: bold;
    color: var(--accent-cyan);
    margin-bottom: 0.5rem;
}
.stat-label { color: var(--text-muted); font-size: 0.85rem; }

.task-list { list-style: none; display: flex; flex-direction: column; gap: 0.8rem; }
.task-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.8rem;
    background: rgba(0, 229, 255, 0.03);
    border-radius: 8px;
    border-right: 3px solid var(--accent-purple);
}
.task-item input[type="checkbox"] { accent-color: var(--accent-cyan); width: 18px; height: 18px; }
.task-item.completed { opacity: 0.5; text-decoration: line-through; border-right-color: var(--text-muted); }

.test-summary-item { margin-bottom: 1rem; }
.test-header { display: flex; justify-content: space-between; font-size: 0.9rem; margin-bottom: 0.4rem; }
.test-score { color: var(--accent-cyan); }
.progress-bar-bg {
    width: 100%; height: 6px;
    background: rgba(255,255,255,0.1);
    border-radius: 3px;
    overflow: hidden;
}
.progress-fill { height: 100%; border-radius: 3px; }
.fill-cyan { background: var(--accent-cyan); }
.fill-purple { background: var(--accent-purple); }
.fill-gold { background: var(--accent-gold); }

.chart-container {
    position: relative;
    flex-grow: 1;
    width: 100%;
    height: auto;
}

@media (max-width: 1200px) {
    .widget-growth { grid-column: span 12; }
    .widget-tasks { grid-column: span 12; }
    .widget-tests, .widget-social, .widget-needs { grid-column: span 6; }
}
@media (max-width: 768px) {
    .widget-tests, .widget-social, .widget-needs { grid-column: span 12; }
    .widget-activity { flex-wrap: wrap; }
    .stat-box { min-width: 45%; }
}
@media (max-width: 1200px) {
    .widget-needs { grid-column: span 12; height: auto; }
}
@media (max-width: 680px) {
    .widget-needs { grid-column: span 12; height: auto; }
}