.budget-native{--budget-border:#dddfe8;--budget-muted:#5b6275;--budget-ink:#242739;color:var(--budget-ink)}
.budget-explainer{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin:0 0 22px}
.budget-explainer h2{font-size:clamp(25px,3vw,34px);line-height:1.16;margin:7px 0 10px;letter-spacing:-.025em}
.budget-explainer p:not(.eyebrow){max-width:680px;line-height:1.55;color:var(--budget-muted);margin:0}
.budget-period{max-width:32%;border:1px solid #badbbf;background:#f0f9f1;color:#245b32;border-radius:14px;padding:10px 14px;font-size:14px;font-weight:700;overflow-wrap:anywhere}
.budget-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}
.budget-totals article{background:#fff;border:1px solid var(--budget-border);border-radius:19px;padding:21px 22px;min-width:0;display:grid;gap:9px}
.budget-totals span{font-weight:650;font-size:14px;color:#4f5667}.budget-totals strong{font-size:clamp(24px,2.5vw,32px);line-height:1.2;font-weight:750;letter-spacing:-.02em;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.budget-totals small{font-size:12px;color:var(--budget-muted);line-height:1.4}.budget-totals .needs-budget{border-color:#dfbd32;background:#fffbee}
.budget-notice{border:1px solid #d8dde8;border-left:4px solid #705de7;border-radius:12px;padding:15px 18px;line-height:1.55;font-size:14px;background:#fff;margin:14px 0}
.budget-notice.warning{border-color:#dcc359;border-left-color:#a78000;background:#fffbee}.budget-notice.danger{border-color:#e6b3b3;border-left-color:#b2353a;background:#fff7f7}
.budget-native .budget-editor{padding:24px}.budget-editor .section-head{gap:16px;align-items:flex-start}.budget-editor .section-head p{font-size:14px;line-height:1.5;margin-top:6px}.budget-editor .btn{white-space:normal}
.budget-currency{font-size:13px;color:var(--budget-muted);margin:18px 0 5px;line-height:1.5}
.budget-edit-row{display:grid;grid-template-columns:minmax(135px,1.4fr) minmax(130px,1fr) minmax(105px,.85fr) minmax(145px,1.1fr);align-items:center;gap:20px;padding:21px 0;border-bottom:1px solid var(--budget-border)}
.budget-category{min-width:0}.budget-category>strong{font-size:16px;line-height:1.4;overflow-wrap:anywhere}.budget-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}.budget-tags span{font-size:11px;font-weight:650;border-radius:6px;background:#eceaf9;color:#584a91;padding:3px 6px;line-height:1.3}
.budget-limit,.budget-spent{min-width:0;display:grid;gap:7px}.budget-limit label,.budget-spent>span{font-size:12px;color:var(--budget-muted)}
.budget-limit input{width:100%;min-width:0;box-sizing:border-box;border:1.5px solid #b1b6c5;border-radius:10px;background:white;padding:11px 12px;font:inherit;font-size:16px;font-weight:650;color:var(--budget-ink);font-variant-numeric:tabular-nums;min-height:46px}
.budget-limit input:focus{outline:3px solid #705de740;border-color:#705de7}.budget-limit input[readonly]{background:#f3f4f7;border-color:#dddfe8;color:#565d6d}.budget-limit input[aria-invalid=true]{border-color:#b2353a}
.budget-spent strong,.budget-limit>strong{font-size:16px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.budget-result{font-size:13px;line-height:1.45;min-width:0;color:#435b48}.budget-result strong{font-weight:650}.is-over .budget-result{color:#ab2835}
.budget-track{height:6px;border-radius:6px;background:#e9eceb;margin-top:10px;overflow:hidden}.budget-track i{display:block;height:100%;background:#4bc86a;border-radius:6px}.is-over .budget-track i{background:#c64452}
.budget-history{margin-top:24px;padding:16px 18px 0;border-radius:14px;background:#f6f7f9}.budget-history h3{font-size:17px;margin:0 0 6px}.budget-history>p{font-size:13px;line-height:1.5;margin:0;color:var(--budget-muted)}.budget-history .budget-edit-row:last-child{border-bottom:0}
.budget-savebar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:22px}.budget-savebar p{margin:0 0 5px;font-size:14px;font-weight:700;color:#2a6940}.budget-savebar p.has-draft{color:#7e6000}.budget-savebar small{font-size:12px;color:var(--budget-muted);line-height:1.4}.budget-save-actions{display:flex;gap:9px;flex-shrink:0}.budget-save-actions .btn:disabled{opacity:.5;cursor:default}
.budget-save-error{color:#a22131;line-height:1.5;margin:16px 0 0;background:#fff2f3;padding:12px 14px;border-radius:9px;font-size:14px}
@media(max-width:1100px){.budget-edit-row{grid-template-columns:minmax(110px,1.25fr) minmax(115px,1fr) minmax(90px,.85fr) minmax(110px,1fr);gap:12px}.budget-savebar{align-items:flex-start;flex-direction:column}.budget-save-actions{align-self:flex-end}}
@media(max-width:650px){.budget-explainer{display:block}.budget-period{display:inline-block;max-width:100%;margin-top:14px}.budget-totals{gap:8px}.budget-totals article{padding:14px 11px;border-radius:12px;gap:7px}.budget-totals span{font-size:12px;line-height:1.4}.budget-totals strong{font-size:20px}.budget-totals small{font-size:11px}.budget-native .budget-editor{padding:18px 16px}.budget-editor .section-head{flex-direction:column}.budget-edit-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 18px;padding:20px 0}.budget-category{grid-column:1/-1}.budget-result{grid-column:1/-1}.budget-category>strong{font-size:17px}.budget-track{margin-top:8px}.budget-limit label,.budget-spent>span{font-size:13px}.budget-spent{align-self:stretch;align-content:start}.budget-spent strong{padding-top:11px;font-size:17px}.budget-savebar{gap:16px}.budget-save-actions{display:grid;grid-template-columns:1fr 1fr;align-self:stretch;width:100%;flex-shrink:1}.budget-save-actions .btn{min-width:0;font-size:13px;padding:12px 10px}.budget-notice{font-size:13px;padding:13px 14px}.budget-history{padding:14px 12px 0}}
@media(max-width:360px){.budget-totals{grid-template-columns:1fr}.budget-totals article{grid-template-columns:1fr auto;align-items:center}.budget-totals small{grid-column:1/-1}.budget-save-actions{grid-template-columns:1fr}}
