.analytics-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.analytics-actions .range-buttons { padding: 3px; }
.advanced-chart-wrap { height: 500px; }
.advanced-chart-wrap canvas { touch-action: pan-y; }
.candle-tooltip { max-width: min(360px, calc(100vw - 34px)); translate: -50% calc(-100% - 10px); white-space: normal; }
.chart-card:fullscreen { overflow: auto; padding: 34px; background: var(--ivory); }
.chart-card:fullscreen .advanced-chart-wrap { height: calc(100vh - 190px); }
.metric-dashboard { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.analytics-metric { min-height: 146px; padding: 22px; }
.analytics-metric strong { display: block; margin-top: 8px; color: var(--charcoal); font-size: clamp(1.35rem, 3vw, 2rem); letter-spacing: -.04em; }
.analytics-metric p { margin: 7px 0 0; color: var(--ink-soft); font-size: 12px; }
.visual-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.visual-card { padding: clamp(20px, 3vw, 28px); }
.visual-card canvas { width: 100%; height: 270px; }
.visual-card.wide { grid-column: 1 / -1; }
.visual-legend { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 12px; color: var(--ink-soft); font-size: 12px; }
.legend-dot { display: inline-block; width: 9px; height: 9px; margin-right: 5px; border-radius: 50%; background: var(--copper); }
.legend-dot.patina { background: var(--patina); }
.legend-dot.deep { background: var(--copper-deep); }
.calendar-shell { overflow-x: auto; padding: 4px 2px 12px; }
.calendar-grid { display: grid; grid-template-rows: repeat(7, 14px); grid-auto-flow: column; grid-auto-columns: 14px; gap: 4px; width: max-content; min-width: 100%; }
.calendar-day { width: 14px; height: 14px; padding: 0; border: 1px solid rgb(60 39 24 / 8%); border-radius: 3px; background: #eadfd5; cursor: pointer; }
.calendar-day.missing { border-color: transparent; background: transparent; cursor: default; }
.calendar-day.gain.level-1 { background: #cbe3dc; }
.calendar-day.gain.level-2 { background: #91c2b6; }
.calendar-day.gain.level-3 { background: #5b9d90; }
.calendar-day.gain.level-4 { background: var(--patina); }
.calendar-day.loss.level-1 { background: #efd8c4; }
.calendar-day.loss.level-2 { background: #dfa778; }
.calendar-day.loss.level-3 { background: #c77f47; }
.calendar-day.loss.level-4 { background: var(--copper-deep); }
.data-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.data-stat { padding: 22px; }
.data-stat strong { display: block; margin-top: 7px; font-size: 1.45rem; letter-spacing: -.035em; }
.data-stat span { color: var(--ink-soft); font-size: 12px; text-transform: uppercase; letter-spacing: .06em; }
.method-chip { display: inline-flex; margin: 3px 5px 3px 0; padding: 5px 9px; border: 1px solid var(--border-warm); border-radius: 999px; background: #fff7ef; color: var(--copper-deep); font-size: 12px; font-weight: 760; }
.data-notice.error { border-color: #dca4a0; background: #fff0ef; color: #773732; }

@media (max-width: 960px) {
  .metric-dashboard, .data-stat-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 720px) {
  .advanced-chart-wrap { height: 420px; }
  .visual-grid { grid-template-columns: 1fr; }
  .visual-card.wide { grid-column: auto; }
}

@media (max-width: 480px) {
  .advanced-chart-wrap { height: 380px; }
  .metric-dashboard, .data-stat-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
  .analytics-metric, .data-stat { padding: 16px; }
}
