/* assets/css/components/dashboard-v2.css — <x-dashboard-page>.
   Card surfaces (.kpi-tile, .chart-slot, .dashboard-list) use the Direction C
   treatment: radius + resting/hover shadow, no border. */
.x-dashboard { display: grid; gap: var(--spacing-5); padding: var(--spacing-5); }
.x-dashboard__title { font-family: var(--font-family-display); font-weight: 700; }
.kpi-grid {
    display: grid; gap: var(--spacing-4);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 768px) { .kpi-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.kpi-grid--scroll { display: flex; overflow-x: auto; gap: var(--spacing-2-5); }
.kpi-grid--scroll .kpi-tile { flex: 0 0 auto; min-width: 150px; }

.kpi-tile {
    display: grid; grid-template-columns: auto 1fr; gap: var(--spacing-3);
    padding: 10px 12px;
    background: var(--bg-elevated);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-1);
    transition: box-shadow .15s;
    min-height: 72px; text-decoration: none; color: inherit;
}
.kpi-tile:hover,
.kpi-tile:focus-within { box-shadow: var(--shadow-2); background: hsl(var(--color-brand-h),77%,45%,.05); }
.kpi-tile__value {
    font-family: var(--font-family-display);
    font-size: 1.5rem; font-weight: 800;
    color: var(--color-brand); font-variant-numeric: tabular-nums;
}
.kpi-tile__delta { font-size: 0.85rem; }
.kpi-tile__delta--up   { color: var(--color-success); }
.kpi-tile__delta--down { color: var(--color-danger); }
.kpi-tile__delta--flat { color: var(--text-tertiary); }
.kpi-tile__extra { grid-column: 1 / -1; }
@media (max-width: 767.98px) {
    .kpi-tile { min-height: 64px; padding: 10px 12px; }
    .kpi-tile__value { font-size: 1.25rem; }
}

/* Sparkline (inline SVG, viewBox 0 0 100 24) sizing inside the extra slot. */
.spark { color: var(--color-brand); }
.kpi-tile__extra .spark { display: block; width: 100%; height: 24px; }

.chart-slot {
    background: var(--bg-elevated);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-1);
    transition: box-shadow .15s;
    padding: 10px 14px;
}
.chart-slot:hover,
.chart-slot:focus-within { box-shadow: var(--shadow-2); background: hsl(var(--color-brand-h),77%,45%,.05); }
.chart-slot__title { font-weight: 600; margin-bottom: var(--spacing-3); }
.chart-slot__body  { min-height: 240px; }

.dashboard-list {
    background: var(--bg-elevated);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-1);
    transition: box-shadow .15s;
    padding: var(--spacing-5);
}
.dashboard-list:hover,
.dashboard-list:focus-within { box-shadow: var(--shadow-2); background: hsl(var(--color-brand-h),77%,45%,.05); }
.dashboard-list ul { list-style: none; padding: 0; margin: 0; }
.dashboard-list li { padding: var(--spacing-2) 0; border-bottom: 1px solid var(--border-subtle); }
.dashboard-list li:last-child { border-bottom: 0; }

.dashboard-actions {
    position: sticky; bottom: 0;
    display: flex; gap: var(--spacing-3); justify-content: flex-end;
    padding: var(--spacing-4) var(--spacing-5);
    background: var(--bg-elevated);
    border-top: 1px solid var(--border-subtle);
}
