.budget-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.85fr);gap:clamp(25px,5vw,70px);padding-bottom:65px;align-items:start}.budget-layout h2{font-size:clamp(28px,3vw,42px);line-height:1.05;text-transform:uppercase;margin-bottom:20px}.budget-layout p{color:var(--muted);margin-bottom:20px}.budget-layout fieldset{padding:0;border:0;margin:28px 0 12px;min-width:0}.budget-days{display:grid;grid-template-columns:1fr 1fr;gap:8px 22px}.budget-day label{display:block;font-size:18px;margin-bottom:8px}.budget-input{display:flex;align-items:center;border:1px solid var(--line-2);border-radius:8px;background:var(--ink-2);padding-right:14px;gap:8px}.budget-input input{width:100%;min-width:0;min-height:48px;padding:10px 12px;background:transparent;color:var(--paper);border:0;border-radius:8px;font:inherit;font-size:20px}.budget-input span{color:var(--muted)}.budget-input:focus-within{outline:2px solid var(--green);outline-offset:3px}.budget-input input:focus{outline:none}.budget-input:has([aria-invalid=true]){border-color:#ffb9ac}.budget-layout .budget-error{color:#ffb9ac;font-size:14px;margin:8px 0;min-height:20px}.budget-results{background:var(--ink-2);border:1px solid var(--line-2);border-radius:var(--radius);padding:clamp(22px,3vw,38px)}.budget-results h3{font-size:24px;margin:30px 0 20px}.budget-layout .budget-total{color:var(--green);font-size:clamp(64px,7vw,100px);font-weight:700;line-height:1;margin:30px 0 22px;overflow-wrap:anywhere}.budget-total span{display:block;color:var(--muted);font-size:17px;font-weight:400;margin-top:10px}.budget-reset{display:inline-block;min-height:48px;margin:15px 0 0 20px;padding:10px 0;color:var(--paper);font:inherit;text-decoration:underline;text-underline-offset:4px;background:none;border:0;cursor:pointer}.budget-layout .btn{cursor:pointer;border:0;font:inherit}.budget-notice{border:1px solid var(--green);padding:20px;margin:25px 0}.budget-notice p{margin:12px 0 0}.budget-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.budget-layout [hidden]{display:none}@media(max-width:740px){.budget-layout{grid-template-columns:1fr}.budget-days{gap:8px 14px}.budget-reset{margin-left:0;display:block}.budget-results{margin-top:10px}}@media(max-width:360px){.budget-days{grid-template-columns:1fr}}

.budget-layout>*,.budget-day,.budget-results{min-width:0}.budget-layout :where(h2,h3,p,label,button){overflow-wrap:anywhere}
