.advanced-chart-wrap { min-height: 360px; }
.advanced-chart-wrap canvas { height: 360px; }
.analytics-actions { align-items: flex-start; }
.metric-dashboard, .data-stat-grid { display: grid; gap: 12px; }
.analytics-metric, .data-stat { min-width: 0; padding: 17px; box-shadow: none; }
.analytics-metric strong, .data-stat strong { display: block; overflow: hidden; margin-top: 7px; font-size: 1.22rem; text-overflow: ellipsis; white-space: nowrap; font-variant-numeric: tabular-nums; }
.analytics-metric p { margin: 8px 0 0; color: var(--muted); font-size: .8rem; line-height: 1.45; }
.visual-grid { display: grid; gap: 16px; }
.visual-card { padding: 18px; }
.visual-card canvas { width: 100%; height: 250px; margin-top: 12px; }
.visual-legend { display: flex; flex-wrap: wrap; gap: 9px 16px; margin-top: 12px; color: var(--muted); font-size: .74rem; }
.visual-legend span { display: inline-flex; align-items: center; gap: 6px; }
.legend-dot { width: 9px; height: 9px; border-radius: 2px; background: var(--aluminium); }
.legend-dot.patina { background: var(--gain); }
.legend-dot.deep { background: var(--charcoal-2); }
.calendar-shell { max-width: 100%; overflow-x: auto; padding-bottom: 8px; }
.calendar-grid { display: grid; width: max-content; min-width: 100%; grid-template-rows: repeat(7, 14px); grid-auto-flow: column; grid-auto-columns: 14px; gap: 4px; }
.calendar-day { width: 14px; height: 14px; min-height: 0; padding: 0; border: 0; border-radius: 2px; background: #e8e1dc; }
.calendar-day.gain { background: var(--gain); }
.calendar-day.loss { background: var(--aluminium); }
.calendar-day.flat { background: #aa9a91; }
.calendar-day.level-1 { opacity: .35; }
.calendar-day.level-2 { opacity: .55; }
.calendar-day.level-3 { opacity: .75; }
.calendar-day.level-4 { opacity: 1; }
.calendar-day.missing { visibility: hidden; }

@media (min-width: 600px) {
  .metric-dashboard, .data-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .advanced-chart-wrap, .advanced-chart-wrap canvas { min-height: 470px; height: 470px; }
}

@media (min-width: 900px) {
  .metric-dashboard { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .data-stat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .visual-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .visual-card.wide { grid-column: 1 / -1; }
  .analytics-actions { align-items: flex-end; }
}

@media (max-width: 359px) {
  .metric-dashboard, .data-stat-grid { grid-template-columns: 1fr; }
  .advanced-chart-wrap, .advanced-chart-wrap canvas { min-height: 310px; height: 310px; }
}
