{# Bundled portfolio body: KPIs + curves + allocation.
Tax planning panels moved to /tax (P1, P9).
Rendered by /portfolio/body in one shot. #}
{# Action Inbox — lazy-loaded; respects the page's account filter. #}
{% include "_portfolio_kpis.html" %}
{# Top row — two charts side by side at 50/50 #}
{% include "_portfolio_equity_curve.html" %}
{% include "_portfolio_cash_curve.html" %}
{# Allocation row: existing concentration donut on the left, the cash-vs-
positions deployment chart on the right. 2/3 + 1/3 split keeps the chip
leaderboard breathing while giving the deployment panel enough room for
its hero stat + legend. #}
{% include "_portfolio_allocation.html" %}
{% include "_portfolio_deployment.html" %}
{# Top Movers panel — only render when at least one mover exists. #}
{% if top_movers and (top_movers.winners or top_movers.losers) %}
{% include "_portfolio_top_movers.html" %}
{% endif %}
{# Wash-sale watch moved to the Tax page wash-sales tab — that's its natural
home. The portfolio panel intentionally stays free of tax-detection UI. #}
{# Tax planning panels (offset budget + year-end projection) moved to /tax (P9). #}