diff --git a/frontend/src/components/ticker/RecommendationPanel.tsx b/frontend/src/components/ticker/RecommendationPanel.tsx
index 30a7180..fabd6ef 100644
--- a/frontend/src/components/ticker/RecommendationPanel.tsx
+++ b/frontend/src/components/ticker/RecommendationPanel.tsx
@@ -173,7 +173,7 @@ function SetupCard({ setup, action, currentPrice, risk, regime }: { setup?: Trad
{formatPrice(sizing.dollarRisk)}
-
at risk
+
max loss
{sizing.exceedsAccount && (
@@ -195,33 +195,44 @@ function SetupCard({ setup, action, currentPrice, risk, regime }: { setup?: Trad
);
}
-function RiskSettingsBar({ risk, update }: { risk: RiskSettings; update: (p: Partial) => void }) {
+const RISK_PRESETS = [0.5, 1, 2, 3];
+
+/** Compact, set-once sizing controls: a clean account field (no spinners) and a
+ * segmented risk-% selector — risk is almost always one of a few values. */
+function RiskControls({ risk, update }: { risk: RiskSettings; update: (p: Partial) => void }) {
return (
-
Recommended Action is the ticker-level bias. The preferred setup is shown first; the opposite side is available under Alternative scenario.
@@ -271,8 +285,6 @@ export function RecommendationPanel({ symbol, longSetup, shortSetup, currentPric
{summary.reasoning}
)}
-
-
{earningsDays != null && earningsDays >= 0 && (
earningsDays <= EARNINGS_HORIZON_DAYS ? (