.a-budget{grid-area:budget;min-width:0;scroll-margin-top:20px}
body.onboarding .a-budget{display:none!important}
.budget{display:grid;gap:20px;--budget-accent:var(--focus,#b6c3ff)}
.budget p{margin:0;line-height:1.6}.budget .budget-muted{color:var(--muted,#bbc9e4);font-size:13px}
.budget-overview{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(120deg,#26365c66,#17243b33)}
.budget-total{font-size:clamp(24px,4vw,36px);font-weight:750;letter-spacing:-.03em;display:block;line-height:1.35;margin-top:5px;overflow-wrap:anywhere}
.budget-status{color:var(--budget-accent);font-size:13px;margin-top:8px!important}
.budget-route{font-size:13px;color:var(--muted)}
.budget-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.budget-category{padding:16px;border:1px solid var(--line);border-radius:14px;min-width:0}
.budget-category>b{display:block;margin-bottom:8px}.budget-category span{font-weight:650;display:block}.budget-category small{display:block;margin-top:8px;color:var(--muted);line-height:1.5}
.budget details{border-top:1px solid var(--line);padding-top:14px}.budget summary{cursor:pointer;font-weight:650;color:var(--budget-accent);padding:5px 0;min-height:30px}
.budget-lines{display:grid;gap:18px;margin-top:15px}
.budget-line{border:1px solid var(--line);border-radius:12px;padding:16px;min-width:0}
.budget-line h3{font-size:15px;margin:0 0 7px;color:var(--ink)}
.budget-fields{display:grid;grid-template-columns:minmax(160px,1.8fr) repeat(3,minmax(90px,1fr)) minmax(80px,.8fr);gap:10px;margin-top:12px}
.budget-fields label{display:grid;gap:6px;align-content:start;font-size:12px;color:var(--muted);min-width:0}
.budget-fields input,.budget-fields select{font:inherit;font-size:14px;width:100%;min-height:44px;padding:9px;border:1px solid var(--line);border-radius:8px;box-sizing:border-box;background:var(--bg,#080f20);color:var(--ink,#f7f9ff)}
.budget input:focus-visible,.budget select:focus-visible,.budget summary:focus-visible{outline:2px solid var(--budget-accent);outline-offset:3px}
.budget a{color:var(--budget-accent)}.budget-source{margin-top:10px!important;font-size:12px;color:var(--muted)}
.budget-error{color:var(--bad,#ffa9b0);font-size:13px;margin-top:8px!important}
.budget-reset{padding:7px 0;background:none;border:0;color:var(--budget-accent);text-decoration:underline;font:inherit;cursor:pointer;justify-self:start}
.budget-checks-wrap{display:grid;gap:10px}.budget .budget-checks-h{font-size:15px;margin:0;color:var(--ink)}
.budget-checks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.budget-check{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,260px);gap:6px 16px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:12px;min-width:0}
.budget-check>div b{display:block;font-size:14px}.budget-check>div small{display:block;color:var(--muted);font-size:12px;line-height:1.5;margin-top:2px}
.budget-check .budget-fields{margin-top:0;grid-template-columns:1fr}
.budget-check[data-state="custom"],.budget-check[data-state="quoted"]{grid-template-columns:1fr}
.budget-check[data-state="custom"] .budget-fields,.budget-check[data-state="quoted"] .budget-fields{grid-template-columns:minmax(160px,1.8fr) repeat(3,minmax(90px,1fr)) minmax(80px,.8fr)}
.budget-fields .budget-wide{grid-column:1/-1}
.budget-reconfirm{margin-top:10px!important;padding:10px 12px;border-radius:10px;background:#ffc94d1f;color:var(--ink);font-size:13px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.budget-reconfirm button,.budget-questions button{font:inherit;font-size:13px;font-weight:700;min-height:36px;padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--budget-accent);cursor:pointer}
.budget-place{margin-top:12px;display:grid;gap:6px}.budget-place label{display:grid;gap:6px;font-size:12px;color:var(--muted);max-width:360px}
.budget-place input{font:inherit;font-size:16px;width:100%;min-height:44px;padding:9px;border:1px solid var(--line);border-radius:8px;box-sizing:border-box;background:var(--bg,#080f20);color:var(--ink,#f7f9ff)}
.budget-questions{margin-top:10px;border-top:0!important;padding-top:0!important}.budget-questions summary{font-size:13px}.budget-questions p{margin-top:8px!important}.budget-questions button{margin-top:8px}
@media(max-width:900px){.budget-check[data-state="custom"] .budget-fields,.budget-check[data-state="quoted"] .budget-fields{grid-template-columns:repeat(4,minmax(0,1fr))}.budget-fields{grid-template-columns:repeat(4,minmax(0,1fr))}.budget-fields label:first-child{grid-column:1/-1}}
@media(max-width:600px){.budget-check{grid-template-columns:1fr}.budget-check[data-state="custom"] .budget-fields,.budget-check[data-state="quoted"] .budget-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-grid{grid-template-columns:1fr}.budget-category{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.budget-category small{grid-column:1/-1;margin:0}.budget-overview{padding:16px;display:block}.budget-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-line{padding:13px}.budget-route{margin-bottom:8px!important}}
@media print{.a-budget{display:none!important}}
.free-tools{margin:18px 0 0;text-align:center;color:var(--muted);font-size:15px}.free-tools a{font-weight:700}
