.budget-lead{font-size:21px;max-width:850px;margin:28px 0 45px}.budget-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);gap:40px;align-items:start}.budget-layout h2{font-size:34px;margin-bottom:20px}.budget-row{display:grid;grid-template-columns:minmax(130px,2fr) minmax(100px,1fr) minmax(130px,1fr) auto;gap:12px;padding:18px 0;border-bottom:1px solid var(--line);align-items:end}.budget-layout label{display:block;font-size:15px;font-weight:600;margin:14px 0}.budget-layout input,.budget-layout select{display:block;width:100%;min-width:0;font:inherit;padding:12px 10px;margin-top:8px;border:1px solid #acb9be;background:#fff;color:#102d44}.budget-layout button{padding:12px 16px;background:#fff;border:1px solid #9dabb2;min-height:46px}.budget-actions{display:flex;gap:12px;flex-wrap:wrap}.budget-result{background:#102d44;color:#fff;padding:30px;position:sticky;top:130px}.budget-result h2{font-family:var(--sans);font-size:clamp(24px,2.3vw,36px);overflow-wrap:anywhere}.budget-result dl{margin:30px 0}.budget-result dt{font-size:14px;color:#d0dde4;margin-top:18px}.budget-result dd{font-size:20px;margin:3px 0;border-bottom:1px solid #456073;padding-bottom:12px}.budget-result p{font-size:14px}.budget-result button{color:#102d44}.budget-explain{margin-top:70px}.budget-explain h2{margin-bottom:30px}.budget-explain h3{margin-top:30px}.budget-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.budget-row button{font-size:13px;margin-bottom:14px}#notice{color:#735110}.budget-layout button:disabled{opacity:.5}
@media(max-width:1150px){.budget-layout{grid-template-columns:1fr}.budget-result{position:static}.budget-row{grid-template-columns:minmax(130px,2fr) 1fr 1fr auto}}
@media(max-width:650px){.budget-row{grid-template-columns:1fr 1fr}.budget-row label:first-child{grid-column:1/-1}.budget-steps{grid-template-columns:1fr}.budget-lead{font-size:18px}.budget-row button{grid-column:1/-1}.budget-result{padding:24px}}
@media print{header,footer,.topbar,.budget-actions,#add,.budget-row button,#print,.budget-explain{display:none!important}.section{padding:0}.wrap{width:100%;max-width:none}.budget-layout{display:block}.budget-result{position:static;background:#fff;color:#000;border:1px solid #aaa;margin-top:20px;break-inside:avoid}.budget-result dt{color:#333}.budget-row{grid-template-columns:2fr 1fr 1fr;break-inside:avoid;padding:0}.budget-row input,.budget-row select{border:0;padding:3px}.budget-lead{font-size:14px}h1{font-size:28px}}
