/* Shared needs and comparison components use the existing brand tokens. */
.needs-summary{border:1px solid var(--line);border-radius:var(--control);padding:16px;margin:16px 0;background:var(--white);font-size:14px}
.needs-summary summary{cursor:pointer;font-weight:800;min-height:30px}
.needs-summary p{margin:12px 0;overflow-wrap:anywhere}
.needs-consent{display:flex;gap:10px;align-items:flex-start;margin-top:16px;line-height:1.6}
.needs-consent input{width:20px;height:20px;flex:none}
.needs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}
.needs-field{display:grid;gap:8px;font-weight:700}
.needs-field select{width:100%;min-height:48px;border:1px solid var(--line);border-radius:var(--control);padding:12px;background:var(--white)}
.starting-point{padding:24px;text-align:left;border:1px solid var(--line);border-radius:var(--radius);margin:20px 0}
.starting-point summary{min-height:44px;cursor:pointer;font-weight:700}
.starting-point li{margin-bottom:8px;line-height:1.5}
.comparison-mobile{display:none}
.comparison-hint{font-size:14px;margin:16px 0}
.plan-summary .quiet-note{margin-top:24px}
@media(max-width:800px){
 .needs-grid{grid-template-columns:1fr}
 .comparison-mobile{display:grid;gap:16px}
 .comparison-mobile h2{font-size:25px}
 .comparison-mobile h3{font-size:16px;margin-top:20px}
 .comparison-mobile~.comparison-scroll{display:none}
 .starting-point{padding:18px}
 .roo-moment{margin-top:24px}
 .roo-home-conversation{min-width:0}
 .needs-summary .actions{align-items:flex-start}
}
