.budget-section{padding-top:8px;padding-bottom:36px;scroll-margin-top:150px}.budget-glass{padding:30px;border:1px solid #d5e3f4;border-radius:26px;background:linear-gradient(125deg,#f2f7ffb8,#fff 50%,#edf8f4b5);box-shadow:inset 0 1px 0 #fff,0 14px 45px #314c7710;color:var(--ink)}.budget-heading{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}.budget-heading h2{font-size:clamp(28px,3vw,40px);line-height:1.15}.budget-heading p{font-size:14px;line-height:1.75;color:var(--muted)}.budget-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}.budget-totals>div{padding:0 20px;border-right:1px solid var(--line)}.budget-totals>div:first-child{padding-left:0}.budget-totals>div:last-child{border:0}.budget-totals strong{display:block;font-size:clamp(30px,3.5vw,46px);font-weight:600;line-height:1.2;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.budget-totals strong small{font-size:20px;font-weight:400}.budget-totals>div>span{display:block;font-size:12px;line-height:1.5;color:var(--muted);margin-top:6px}.budget-saved strong{color:#23877a}.budget-explorer{display:grid;grid-template-columns:1fr 1.15fr;gap:26px}.budget-list{height:270px;overflow:auto;padding-right:10px;scrollbar-width:thin;scrollbar-color:#b9cfe6 transparent;overscroll-behavior:contain}.budget-example{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;text-align:left;border:1px solid transparent;border-radius:10px;padding:11px 13px;background:transparent;color:var(--ink);font:inherit;font-size:13px;line-height:1.5;transition:background .2s,border-color .2s}.budget-example small{white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.budget-example:hover{background:#edf4fc}.budget-example.is-active{background:linear-gradient(110deg,#e4f0ff,#f4f9ff);border-color:#bdd5ed}.budget-detail{min-width:0;border-left:1px solid var(--line);padding-left:26px;display:flex;flex-direction:column}.budget-detail-top{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--brand);letter-spacing:.08em}.budget-detail h3{font-size:23px;line-height:1.25;margin:12px 0 18px;min-height:58px;letter-spacing:-.025em}.budget-bar-label{display:flex;justify-content:space-between;font-size:12px;line-height:1.5;color:var(--muted);margin-bottom:6px}.budget-bar-label strong{font-weight:550;color:var(--ink)}.budget-track{height:9px;background:#e8eff7;border-radius:6px;margin-bottom:12px;overflow:hidden}.budget-plan-bar{height:100%;width:100%;background:linear-gradient(90deg,#d4e5f7,#9ebfdf);border-radius:inherit}.budget-actual-bar{height:100%;background:linear-gradient(90deg,#b6e4dc,#56a99c);border-radius:inherit;transition:width .45s ease}.budget-difference{font-size:14px;color:#23877a;font-weight:550;margin:0 0 12px}.budget-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}.budget-controls button{border:1px solid #cadced;background:#ffffffb0;border-radius:9px;width:34px;height:30px;color:var(--brand);font-size:18px}.budget-controls span{font-size:11px;color:var(--muted)}.budget-source{font-size:11px;line-height:1.6;color:var(--muted);margin-top:20px;max-width:none}.budget-example:focus-visible,.budget-list:focus-visible,.budget-controls button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
@media(max-width:700px){.budget-section{padding-bottom:24px}.budget-glass{padding:20px}.budget-heading{grid-template-columns:1fr;gap:16px}.budget-totals{grid-template-columns:1fr 1fr;gap:20px 0}.budget-totals>div{padding:0 12px}.budget-totals>div:nth-child(odd){padding-left:0}.budget-totals>div:nth-child(even){border:0}.budget-explorer{grid-template-columns:minmax(0,1fr);gap:20px}.budget-list{height:180px}.budget-detail{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}.budget-detail h3{min-height:58px}.budget-heading h2{font-size:29px}.budget-controls{margin-top:8px}}
@media(prefers-reduced-motion:reduce){.budget-example,.budget-actual-bar{transition:none}}
