{# Bundled portfolio body: KPIs + curves + allocation. Tax planning panels moved to /tax (P1, P9). Rendered by /portfolio/body in one shot. #}
{% 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 moved to its own row, full width #}
{% include "_portfolio_allocation.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). #}