.dash-hero {
  display: flex; justify-content: space-between; align-items: flex-end;
  margin-bottom: 32px; flex-wrap: wrap; gap: 16px;
}
.dash-hero h1 { font-size: 1.8rem; }
.dash-hero .portfolio-value { font-family: var(--font-mono); font-size: 2.2rem; font-weight: 700; color: var(--gold-bright); }

.dashboard-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 24px;
  margin-top: 28px;
}
.dashboard-sidebar { display: flex; flex-direction: column; gap: 24px; }
.chart-card { padding: 26px; }
.chart-card canvas { width: 100%; height: 260px; display: block; }
.chart-card-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }

.quick-actions { display: flex; gap: 12px; margin-top: 20px; flex-wrap: wrap; }

.activity-card { padding: 26px; }
.activity-card h3 { margin-bottom: 6px; }

/* Markets page — top gainers/losers + coin table */
.movers-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 24px; }
.movers-card { padding: 22px 24px; }
.movers-head h3 { font-size: 1.05rem; display: flex; align-items: center; gap: 8px; margin-bottom: 16px; }
.movers-window { font-size: 0.72rem; color: var(--text-faint); font-weight: 500; }
.mover-row { display: flex; align-items: center; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--border); }
.mover-row:last-child { border-bottom: none; }
.mover-info { flex: 1; min-width: 0; }
.mover-name { font-weight: 600; font-size: 0.9rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mover-symbol { font-size: 0.75rem; color: var(--text-faint); }
.mover-right { text-align: right; }
.mover-right .badge { margin-top: 4px; }

.coin-icon { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.coin-icon-fallback {
  width: 28px; height: 28px; border-radius: 50%; flex-shrink: 0;
  background: linear-gradient(135deg, var(--gold-bright), var(--gold));
  color: #0a0a0d; display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 0.8rem;
}

/* Market movers mini-widget on Dashboard */
.market-mini-row { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--border); }
.market-mini-row:last-child { border-bottom: none; }
.market-mini-row .mono { font-size: 0.85rem; }

/* Wallet allocation bar */
.allocation-bar {
  height: 12px; border-radius: 999px; overflow: hidden; display: flex;
  background: var(--bg-elevated); border: 1px solid var(--border); margin: 14px 0;
}
.allocation-bar-usd { background: linear-gradient(90deg, var(--gold-bright), var(--gold)); }
.allocation-bar-btc { background: linear-gradient(90deg, #f7a94a, #e6473f); }
.allocation-legend { display: flex; justify-content: space-between; font-size: 0.82rem; color: var(--text-muted); }
.allocation-legend span { display: inline-flex; align-items: center; gap: 6px; }
.allocation-dot { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
