.household-planner { padding:20px; margin:0 0 28px; border:1px solid var(--border); border-radius:18px; background:var(--bg-elevated); color:var(--text-primary); }
.household-planner h2,.household-planner h3 { margin:8px 0 14px; }
.household-money p { line-height:1.5; margin:12px 0; }
.household-money label { display:flex; flex-direction:column; gap:6px; margin:12px 0; }
.household-money input,.household-money select { box-sizing:border-box; width:100%; min-width:0; min-height:44px; padding:9px; color:var(--text-primary); background:var(--bg-base); border:1px solid var(--border); border-radius:9px; font:inherit; }
.household-money details { margin:16px 0; }
.hp-review { padding:12px 0; border-top:1px solid var(--border); }
.hp-review button { margin:4px; }
.household-planner p { margin:10px 0; line-height:1.5; }
.hp-kicker { color:var(--green-primary,#4ade80); font-size:.82rem; font-weight:700; }
.household-planner label { display:flex; flex-direction:column; gap:6px; margin:12px 0; font-size:.88rem; }
.household-planner input,.household-planner select { box-sizing:border-box; width:100%; min-width:0; min-height:44px; padding:9px; color:var(--text-primary); background:var(--bg-base); border:1px solid var(--border); border-radius:9px; font:inherit; }
.household-planner input[type=range] { padding:0; accent-color:var(--accent,#84cc5c); }
.household-planner .hp-check { flex-direction:row; align-items:center; gap:10px; }
.hp-check input { width:24px; height:24px; min-height:24px; flex:0 0 24px; }
.hp-totals,.hp-members,.hp-fields,.hp-comparisons { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:12px; }
.hp-totals > div,.hp-member,.hp-comparisons > div { padding:14px; border:1px solid var(--border); border-radius:12px; background:var(--bg-base); min-width:0; }
.hp-totals strong { display:block; font-size:1.3rem; margin-top:8px; }
.hp-member summary,.hp-goal summary { min-height:44px; padding:6px 0; cursor:pointer; font-weight:700; }
.hp-member details { margin:14px 0; }
.hp-toolbar,.hp-actions,.hp-presets,.hp-goal-heading { display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between; }
.hp-toolbar label { flex:1; min-width:180px; }
.household-planner button { width:auto; min-height:44px; }
.hp-goal { padding:14px; margin:12px 0; border:1px solid var(--border); border-radius:12px; }
.hp-goal summary > span { display:block; }
.hp-goal summary > span + span { font-size:.85rem; font-weight:400; margin:6px 0; color:var(--text-secondary); }
.hp-progress { height:14px; display:flex; overflow:hidden; border-radius:8px; background:var(--bg-base); margin:16px 0 10px; }
.hp-progress span { height:100%; }
.hp-person-0 { background:#50a7df; }.hp-person-1 { background:#cb91df; }
.hp-dot { display:inline-block; width:10px; height:10px; border-radius:50%; margin-right:7px; }
.hp-attribution { font-size:.86rem; }
.hp-short { color:var(--status-danger,#f87171); }
.hp-assumptions { border-left:3px solid var(--status-warning,#fbbf24); padding:4px 12px; margin:16px 0; font-size:.86rem; }
.hp-assumptions summary { cursor:pointer; padding:10px 0; }
.hp-save { margin-top:20px; padding-top:16px; border-top:1px solid var(--border); }
.recorded-savings-heading { margin:20px 0; padding:12px; background:var(--bg-elevated); border-radius:10px; }
@media(max-width:420px){.household-planner {padding:14px}.hp-actions button,.hp-toolbar > button {flex:1}.hp-member,.hp-goal{padding:12px}.hp-fields{grid-template-columns:1fr}}
