/* Dashboard metrics grid - 4 equal columns, responsive */
.dashboard__metrics {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-md);
    margin-bottom: var(--space-xl);
}

/* Charts section - 2 columns */
.dashboard__charts {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: var(--space-lg);
    margin-bottom: var(--space-xl);
}

.dashboard__chart-card {
    background: var(--bg-secondary);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    padding: var(--space-lg);
}

.dashboard__chart-card h3 {
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--text-secondary);
    margin-bottom: var(--space-md);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Bottom sections - 2 columns */
.dashboard__sections {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-lg);
}

.dashboard__section {
    background: var(--bg-secondary);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    padding: var(--space-lg);
}

.dashboard__section h3 {
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--text-secondary);
    margin-bottom: var(--space-md);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Upcoming activities list */
.upcoming-list { display: flex; flex-direction: column; gap: 2px; }
.upcoming-item { display: flex; align-items: center; gap: 10px; padding: 8px; border-radius: var(--radius-sm); transition: background var(--transition-fast); }
.upcoming-item:hover { background: var(--bg-tertiary); }
.upcoming-item__check { flex-shrink: 0; }
.upcoming-item__icon { flex-shrink: 0; color: var(--text-tertiary); display: flex; }
.upcoming-item__title { flex: 1; font-size: var(--text-sm); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.upcoming-item__date { font-size: var(--text-xs); color: var(--text-tertiary); white-space: nowrap; }
.upcoming-item--overdue .upcoming-item__date { color: #EF4444; }

/* Responsive */
@media (max-width: 1200px) {
    .dashboard__metrics { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
    .dashboard__charts { grid-template-columns: 1fr; }
    .dashboard__sections { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .dashboard__metrics { grid-template-columns: 1fr; }
}
