    /* ── Charts Section ── */
    .charts-section {
      padding: 12px var(--content-px) 0;
      position: relative;
      z-index: 10;
    }

    /* ── Insight Sections ── */
    .insight-section {
      margin-bottom: 24px;
    }
    .insight-section-title {
      font-size: 10px;
      font-weight: 400;
      text-transform: uppercase;
      letter-spacing: var(--ls-wide);
      color: var(--text-3);
      margin-bottom: 12px;
    }
    .insight-subsection-title {
      font-size: 10px;
      font-weight: 400;
      text-transform: uppercase;
      letter-spacing: var(--ls-wide);
      color: var(--text-3);
      margin-bottom: 8px;
    }
    /* Snapshot metric cards */
    .insight-snapshot {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8px;
      margin-bottom: 24px;
    }
    .insight-snap-card {
      background: var(--glass-bg);
      border: 1px solid var(--glass-border);
      border-radius: 12px;
      padding: 12px;
    }
    .insight-snap-label {
      font-size: 10px;
      font-weight: 400;
      text-transform: uppercase;
      letter-spacing: var(--ls-wide);
      color: var(--text-3);
      margin-bottom: 4px;
    }
    .insight-snap-value {
      font-family: var(--font-mono);
      font-size: 20px;
      font-weight: 400;
      color: var(--text-1);
      letter-spacing: var(--ls-tight);
      line-height: var(--lh-tight);
    }
    .insight-snap-sub {
      font-size: 10px;
      font-weight: 400;
      color: var(--text-3);
      margin-top: 2px;
      font-family: var(--font-mono);
    }
    /* Winners & Losers list */
    .insight-wl-row {
      display: flex;
      align-items: center;
      padding: 10px 0;
      border-bottom: 1px solid var(--divider);
      gap: 10px;
    }
    .insight-wl-row:last-child { border-bottom: none; }
    .insight-wl-rank {
      font-size: 10px;
      font-family: var(--font-mono);
      color: var(--text-3);
      width: 16px;
      text-align: center;
      flex-shrink: 0;
    }
    .insight-wl-ticker {
      font-size: 14px;
      font-weight: 400;
      color: var(--text-1);
      min-width: 50px;
    }
    .insight-wl-bar-wrap {
      flex: 1;
      height: 4px;
      background: rgba(255,255,255,0.04);
      border-radius: 2px;
      overflow: hidden;
    }
    [data-theme="light"] .insight-wl-bar-wrap { background: rgba(0,0,0,0.04); }
    .insight-wl-bar {
      height: 100%;
      border-radius: 2px;
      transition: width var(--duration-normal) var(--ease-out);
    }
    .insight-wl-values {
      text-align: right;
      flex-shrink: 0;
    }
    .insight-wl-pnl {
      font-size: 12px;
      font-weight: 400;
      font-family: var(--font-mono);
    }
    .insight-wl-roi {
      font-size: 10px;
      font-family: var(--font-mono);
      color: var(--text-3);
    }

    /* ── Chart Segment Control ── */
    .chart-segment-control {
      display: flex;
      background: rgba(255,255,255,0.04);
      border: 1px solid rgba(255,255,255,0.06);
      border-radius: 12px;
      padding: 4px;
      gap: 2px;
      margin-bottom: 16px;
    }
    [data-theme="light"] .chart-segment-control {
      background: rgba(0,0,0,0.04);
      border-color: rgba(0,0,0,0.08);
    }
    .chart-seg-btn {
      flex: 1;
      padding: 8px 0;
      border: none;
      border-radius: 10px;
      background: transparent;
      color: var(--text-3);
      font-size: 14px;
      font-weight: 400;
      font-family: var(--font-sans);
      cursor: pointer;
      transition: all var(--duration-normal) var(--ease-out);
      -webkit-tap-highlight-color: transparent;
    }
    .chart-seg-btn.active {
      background: rgba(255,255,255,0.08);
      color: var(--text-1);
    }
    [data-theme="light"] .chart-seg-btn.active {
      background: rgba(0,0,0,0.06);
      color: var(--text-1);
    }

    .chart-view { }
    .chart-view.hidden { display: none !important; }

    /* ── Chart Hero Metric ── */
    .chart-hero-metric {
      text-align: center;
      padding: 8px 0 12px;
    }
    .chart-hero-label {
      font-size: 12px;
      color: var(--text-3);
      text-transform: uppercase;
      letter-spacing: var(--ls-slight);
      margin-bottom: 2px;
    }
    .chart-hero-number {
      font-family: var(--font-mono);
      font-size: 28px;
      font-weight: 400;
      color: var(--text-1);
      letter-spacing: var(--ls-tight);
    }
    .chart-hero-sub {
      font-family: var(--font-mono);
      font-size: 14px;
      font-weight: 400;
      margin-top: 2px;
    }

    .chart-pills-row {
      display: flex;
      justify-content: center;
      margin-top: 10px;
    }

    .chart-card {
      background: var(--glass-bg);
      border: 1px solid var(--glass-border);
      border-radius: 12px;
      padding: 16px;
      position: relative;
      overflow: hidden;
      box-shadow: var(--shadow-card), inset 0 1px 0 var(--glass-shine);
      margin-bottom: 10px;
      backdrop-filter: blur(20px) saturate(180%);
      -webkit-backdrop-filter: blur(20px) saturate(180%);
      transition: all var(--duration-enter) ease;
    }
    .chart-card::before {
      content: '';
      position: absolute;
      top: 0; left: 0; right: 0;
      height: 50%;
      border-radius: 20px 20px 0 0;
      background: linear-gradient(180deg, rgba(74,124,255,0.06) 0%, transparent 100%);
      pointer-events: none;
      z-index: 1;
    }
    [data-theme="light"] .chart-card::before {
      background: linear-gradient(180deg, rgba(255,255,255,0.25) 0%, transparent 100%);
    }

    .chart-card-title {
      font-size: 9px;
      font-weight: 400;
      text-transform: uppercase;
      letter-spacing: var(--ls-spread);
      color: var(--text-3);
      font-family: var(--font-mono);
      margin-bottom: 10px;
      transition: color var(--duration-slow) ease;
    }

    .chart-card-title strong {
      color: var(--text-1);
      font-weight: 400;
    }

    .chart-wrapper {
      position: relative;
      width: 100%;
    }

    /* ── Pie chart layout ── */
    .pie-layout {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 16px;
      padding: 4px 0;
    }

    .pie-donut-wrap {
      position: relative;
      width: 140px;
      aspect-ratio: 1;
      flex-shrink: 0;
    }

    .pie-donut-wrap canvas {
      width: 100% !important;
      height: 100% !important;
    }

    .pie-center-label {
      position: absolute;
      top: 50%; left: 50%;
      transform: translate(-50%, -50%);
      text-align: center;
      pointer-events: none;
      transition: opacity var(--duration-normal) ease;
    }

    .pie-center-label .pie-center-amount {
      font-family: var(--font-mono);
      font-size: 14px;
      font-weight: 400;
      color: var(--text-1);
      letter-spacing: var(--ls-tight);
      transition: color var(--duration-slow) ease;
    }

    .pie-center-label .pie-center-sub {
      font-family: var(--font-mono);
      font-size: 9px;
      font-weight: 400;
      color: var(--text-3);
      text-transform: uppercase;
      letter-spacing: var(--ls-spread);
      margin-top: 2px;
      transition: color var(--duration-slow) ease;
    }

    @media (min-width: 480px) {
      .pie-layout {
        flex-direction: row;
        align-items: flex-start;
        gap: 20px;
      }
    }

    .pie-legend-table {
      flex: 1;
      min-width: 0;
      width: 100%;
    }

    .pie-legend-item {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 6px 0;
    }
    .pie-legend-item + .pie-legend-item {
      border-top: 1px solid rgba(255,255,255,0.04);
    }
    [data-theme="light"] .pie-legend-item + .pie-legend-item {
      border-top-color: rgba(0,0,0,0.04);
    }

    .pie-legend-dot {
      width: 6px;
      height: 6px;
      border-radius: 4px;
      flex-shrink: 0;
    }

    .pie-legend-name {
      font-size: 12px;
      font-weight: 400;
      color: var(--text-1);
      font-family: var(--font-sans);
      flex: 1;
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .pie-legend-bar-wrap {
      flex: 0 0 48px;
      height: 4px;
      border-radius: 4px;
      background: rgba(255,255,255,0.06);
      overflow: hidden;
    }
    [data-theme="light"] .pie-legend-bar-wrap {
      background: rgba(0,0,0,0.06);
    }
    .pie-legend-bar-fill {
      height: 100%;
      border-radius: 4px;
      transition: width 0.8s var(--ease-out);
    }

    .pie-legend-val {
      font-family: var(--font-mono);
      font-size: 10px;
      font-weight: 400;
      color: var(--text-1);
      text-align: right;
      min-width: 56px;
      font-variant-numeric: tabular-nums;
    }

    .pie-legend-pct {
      font-family: var(--font-mono);
      font-size: 9px;
      font-weight: 400;
      color: var(--text-3);
      text-align: right;
      min-width: 32px;
      font-variant-numeric: tabular-nums;
    }

    .pie-legend-total {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 6px 0 0;
      margin-top: 2px;
      border-top: 1px solid var(--divider);
    }
    .pie-legend-total-label {
      font-size: 9px;
      font-weight: 400;
      color: var(--text-3);
      letter-spacing: var(--ls-wide);
      text-transform: uppercase;
      flex: 1;
    }
    .pie-legend-total-val {
      font-family: var(--font-mono);
      font-size: 10px;
      font-weight: 400;
      color: var(--text-1);
      font-variant-numeric: tabular-nums;
    }

    /* Stacked bar */
    .alloc-stacked-bar {
      display: flex;
      height: 10px;
      border-radius: 4px;
      overflow: visible;
      gap: 2px;
      margin-bottom: 12px;
    }
    .alloc-bar-seg {
      height: 100%;
      border-radius: 4px;
      transition: flex var(--duration-enter) var(--ease-out), transform var(--duration-fast) ease, opacity var(--duration-fast) ease;
      cursor: pointer;
      position: relative;
    }
    .alloc-bar-seg:hover {
      transform: scaleY(1.4);
      z-index: 5;
    }

    .alloc-total-row {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      margin-bottom: 16px;
    }
    .alloc-total-label {
      font-size: 24px;
      font-weight: 400;
      font-family: var(--font-mono);
      color: var(--text-1);
      letter-spacing: var(--ls-tight);
    }
    .alloc-total-sub {
      font-size: 12px;
      color: var(--text-3);
    }

    .alloc-ranked-list {
      display: flex;
      flex-direction: column;
      gap: 0;
    }
    .alloc-rank-row {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 8px 0;
      border-bottom: 1px solid rgba(255,255,255,0.04);
      cursor: default;
      transition: background var(--duration-fast) ease;
    }
    [data-theme="light"] .alloc-rank-row {
      border-bottom-color: rgba(0,0,0,0.04);
    }
    .alloc-rank-row:last-child { border-bottom: none; }
    .alloc-rank-row:hover {
      background: rgba(255,255,255,0.02);
      border-radius: 10px;
      margin: 0 -8px;
      padding: 8px 8px;
    }
    [data-theme="light"] .alloc-rank-row:hover {
      background: rgba(0,0,0,0.02);
    }
    .alloc-rank-num {
      font-family: var(--font-mono);
      font-size: 10px;
      font-weight: 400;
      color: var(--text-3);
      width: 16px;
      text-align: center;
      flex-shrink: 0;
    }
    .alloc-rank-dot {
      width: 8px;
      height: 8px;
      border-radius: 4px;
      flex-shrink: 0;
    }
    .alloc-rank-name {
      font-size: 12px;
      font-weight: 400;
      color: var(--text-1);
      flex: 1;
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .alloc-rank-bar {
      flex: 0 0 80px;
      height: 4px;
      border-radius: 4px;
      background: rgba(255,255,255,0.06);
      overflow: hidden;
    }
    [data-theme="light"] .alloc-rank-bar {
      background: rgba(0,0,0,0.04);
    }
    .alloc-rank-bar-fill {
      height: 100%;
      border-radius: 4px;
      transition: width 0.8s var(--ease-out);
    }
    .alloc-rank-val {
      font-family: var(--font-mono);
      font-size: 12px;
      font-weight: 400;
      color: var(--text-1);
      text-align: right;
      min-width: 64px;
      font-variant-numeric: tabular-nums;
    }
    .alloc-rank-pct {
      font-family: var(--font-mono);
      font-size: 10px;
      font-weight: 400;
      color: var(--text-3);
      text-align: right;
      min-width: 36px;
      font-variant-numeric: tabular-nums;
    }

    .alloc-tabs {
      display: flex;
      gap: 2px;
      background: rgba(255,255,255,0.04);
      border-radius: 12px;
      padding: 2px;
    }
    [data-theme="light"] .alloc-tabs {
      background: rgba(0,0,0,0.04);
    }
    .alloc-tab {
      background: none;
      border: none;
      padding: 4px 10px;
      font-size: 10px;
      font-weight: 400;
      color: var(--text-3);
      cursor: pointer;
      border-radius: 10px;
      transition: all var(--duration-normal) ease;
      font-family: var(--font-sans);
    }
    .alloc-tab:hover {
      color: var(--text-2);
    }
    .alloc-tab.active {
      background: rgba(255,255,255,0.08);
      color: var(--text-1);
    }
    [data-theme="light"] .alloc-tab.active {
      background: rgba(0,0,0,0.06);
    }

    .chart-wrapper {
      position: relative;
      width: 100%;
      min-width: 0;
    }

    .chart-wrapper canvas {
      width: 100% !important;
    }

    .chart-wrapper-pnl {
      height: clamp(200px, 30vw, 320px);
    }

    .chart-wrapper-pnl canvas {
      height: 100% !important;
    }

    .chart-wrapper-hist {
      height: clamp(180px, 25vw, 280px);
    }

    .chart-wrapper-hist canvas {
      height: 100% !important;
    }

    .chart-toggle-row {
      margin-bottom: 6px;
    }

    .chart-toggle-btn {
      padding: 6px 12px;
      font-size: 12px;
    }

