    /* Parent-page sub-tab bar — shared by 🌐 Market and 🔬 Analytics */
    .subnav {
      display:flex;
      gap:8px;
      margin-bottom:18px;
      border-bottom:1px solid var(--border);
      flex-wrap:wrap;
    }
    .subtab-btn {
      background:transparent;
      border:none;
      border-bottom:2px solid transparent;
      color:var(--muted);
      font-size:14px;
      font-weight:600;
      padding:8px 14px;
      cursor:pointer;
      margin-bottom:-1px;
    }
    .subtab-btn:hover { color:var(--text); }
    .subtab-btn.active {
      color:var(--blue);
      border-bottom-color:var(--blue);
    }
    .subpage { display:none; }
    .subpage.active { display:block; }

    section {
      margin-bottom:26px;
    }

    .section-title {
      font-size:11px;
      color:var(--muted);
      text-transform:uppercase;
      letter-spacing:1px;
      font-weight:900;
      margin-bottom:13px;
    }

    .grid-2 {
      display:grid;
      grid-template-columns:repeat(auto-fit,minmax(360px,1fr));
      gap:18px;
    }

    .grid-3 {
      display:grid;
      grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
      gap:14px;
    }

    .cards {
      display:grid;
      grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
      gap:14px;
    }

    .card,
    .panel,
    .chart-card {
      background:var(--surface);
      border:1px solid var(--border);
      border-radius:var(--radius);
    }

    .card {
      padding:16px 18px;
      cursor:help;
    }

    .card-label {
      color:var(--muted);
      font-size:11px;
      text-transform:uppercase;
      letter-spacing:.5px;
      font-weight:850;
      margin-bottom:8px;
    }

    .card-value {
      font-size:22px;
      font-weight:900;
      font-variant-numeric:tabular-nums;
    }

    .card-sub {
      color:var(--muted);
      font-size:12px;
      margin-top:4px;
      line-height:1.35;
    }

    .panel {
      padding:18px;
    }

    .panel-title {
      font-size:14px;
      font-weight:900;
      margin-bottom:12px;
      display:flex;
      align-items:center;
      gap:8px;
    }

    .chart-card {
      padding:18px;
    }

    .chart-header {
      display:flex;
      justify-content:space-between;
      align-items:flex-start;
      gap:10px;
      margin-bottom:14px;
    }

    .chart-title {
      font-size:14px;
      font-weight:900;
    }

    .chart-meta {
      color:var(--muted);
      font-size:12px;
      margin-top:3px;
    }

    .chart-wrap {
      position:relative;
      height:270px;
    }
