.budget-heading,.budget-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--sp-3); }
.uxp-plano .budget-actions .btn.stop { color:var(--stop-2); background:var(--stop-soft); border-color:var(--stop-line); }
.budget-dashboard { display:grid; gap:var(--sp-4); }
.budget-body > p,.budget-dashboard p,.budget-step p,.budget-simulator > p { margin:0; }
.budget-heading h3,.budget-actions h3 { margin:0; }
.budget-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--sp-3); }
.budget-metric { min-width:0; padding:var(--gap-4); background:var(--raised); border:1px solid var(--line); border-radius:var(--r); }
.budget-metric h4 { font-size:var(--text-sm); color:var(--text-2); font-weight:500; margin:0; }
.budget-metric p { font-size:var(--text-h3); font-variant-numeric:tabular-nums; margin:var(--gap-2) 0; overflow-wrap:anywhere; }
.budget-metric .hint { display:block; overflow-wrap:anywhere; }
.budget-meter { display:flex; height:12px; overflow:hidden; background:var(--line); border-radius:var(--r-l); }
.budget-segment { display:block; flex:none; }
.budget-segment-0 { background:var(--accent); }
.budget-segment-1 { background:var(--pend); }
.budget-segment-2 { background:var(--text-3); opacity:.35; }
.budget-steps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--sp-4); }
.budget-step,.budget-quote { border:1px solid var(--line); border-radius:var(--r); padding:var(--gap-4); }
.budget-step h4 { font-size:var(--text-base); margin:0 0 var(--gap-3); }
.budget-form-footer,.budget-estimate-footer { position:sticky; bottom:0; z-index:2; padding:var(--gap-4); background:var(--raised); border-top:1px solid var(--line); display:grid; gap:var(--gap-3); }
.budget-table-scroll { max-width:100%; max-height:40vh; overflow:auto; }
.budget-table thead { position:sticky; top:0; background:var(--raised); z-index:1; }
.budget-table p { margin:var(--gap-2) 0 0; }
.uxp-plano .budget-table .hint { font-size:var(--text-sm); }
.budget-table { width:100%; border-collapse:collapse; font-size:var(--text-sm); }
.budget-table th,.budget-table td { padding:var(--gap-3); border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.budget-table th { color:var(--text-2); font-weight:500; }
.budget-table td:first-child { min-width:180px; }
.budget-table .input { min-width:100px; width:100%; }
.budget-table .budget-source { min-width:180px; }
.budget-table td:last-child { min-width:160px; font-variant-numeric:tabular-nums; }
.budget-table tr[data-unknown="true"] td:last-child { color:var(--pend); }
.budget-estimate-footer p { margin:0; }
.budget-simulator { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--sp-4); }
.budget-simulator > p,.budget-simulator > .budget-simulator-result { grid-column:1 / -1; }
@media (max-width:760px) {
 .budget-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .budget-steps,.budget-simulator { grid-template-columns:minmax(0,1fr); }
 .budget-estimate-footer { position:static; }
 .budget-table-scroll { max-height:none; }
 .budget-metric p { font-size:var(--text-base); }
}
