.budget-intro{padding-bottom:40px}
.budget-intro h1{max-width:900px;font-size:clamp(42px,6vw,72px)}
.budget-section{padding:28px 0 100px}
.budget-toolbar{display:flex;justify-content:space-between;align-items:end;gap:22px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.budget-toolbar h2{font-size:clamp(32px,4vw,48px);margin:8px 0 0}
.budget-actions{display:flex;gap:10px;flex-wrap:wrap}
.budget-actions .btn{min-height:46px}
.budget-actions .btn:disabled{opacity:.46;cursor:not-allowed;transform:none}
.budget-notice{margin:22px 0 0;padding:16px 18px;border-left:3px solid var(--coral);background:#f2ebe4;color:#554d46;font-size:14px;line-height:1.65}
.budget-notice strong{color:var(--ink)}
.budget-status{min-height:1.5em;margin:8px 0;color:var(--coral-dark);font-size:13px}
.budget-overview{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.6fr);gap:18px;margin-top:18px}
.budget-goal,.budget-stats{border:1px solid var(--line);background:var(--white);padding:25px}
.budget-goal label{display:block;margin:0 0 7px;font-size:14px;font-weight:700}
.budget-goal label:not(:first-child){margin-top:22px}
.budget-goal select,.amount-input input{width:100%;min-height:49px;border:1px solid #d9d1c8;background:#fff;padding:10px 12px;color:var(--ink);font:inherit;font-size:16px}
.amount-input{display:flex;align-items:center;border:1px solid #d9d1c8;background:#fff}
.amount-input input{min-width:0;border:0}
.amount-input span{padding:0 12px;color:var(--muted);font-size:14px;white-space:nowrap}
.budget-goal .small{margin:8px 0 0;line-height:1.55}
.budget-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.budget-stat{min-width:0;padding:15px 16px;background:#f8f6f1;border:1px solid #efe9e2;display:flex;flex-direction:column;justify-content:center;gap:3px}
.budget-stat>span{font-size:13px;color:var(--muted)}
.budget-stat>strong{font:600 clamp(18px,2vw,25px)/1.25 var(--sans);overflow-wrap:anywhere}
.budget-stat-wide{grid-column:1/-1}
.budget-stat-wide>strong{font-size:20px}
.budget-progress{height:9px;width:100%;background:#e5dfd7;border-radius:99px;overflow:hidden;margin-top:9px}
.budget-progress span{display:block;height:100%;width:0;background:var(--coral);border-radius:inherit;transition:width .2s ease}
.budget-lines-section{margin-top:46px}
.budget-lines-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px}
.budget-lines-heading h3,.category-heading h3{margin:7px 0 6px;font-size:clamp(27px,3vw,38px)}
.budget-lines-heading p{margin:0;font-size:14px}
.budget-lines-heading .btn{flex:0 0 auto}
.budget-empty{display:grid;justify-items:center;text-align:center;gap:5px;padding:48px 18px;border:1px dashed #cfc4b9;background:#fffefa}
.budget-empty[hidden]{display:none}
.budget-empty-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--rose2);color:var(--coral-dark);font-size:27px}
.budget-empty p{margin:7px 0 0;color:var(--ink);font:500 25px var(--serif)}
.budget-empty>span:last-child{color:var(--muted);font-size:14px}
.expense-list{display:grid;gap:10px}
.expense-card{padding:13px 15px 12px;border:1px solid var(--line);background:var(--white);box-shadow:0 5px 20px #362d2508}
.expense-top{display:grid;grid-template-columns:minmax(175px,1.15fr) minmax(145px,.8fr) minmax(155px,1fr) minmax(135px,.8fr) auto;gap:9px;align-items:end}
.expense-field{display:grid;gap:6px;min-width:0}
.expense-field label{font-size:13px;font-weight:700;color:#514b45}
.expense-field input,.expense-field select{width:100%;min-height:45px;border:1px solid #d9d1c8;background:#fff;padding:9px 10px;color:var(--ink);font:inherit;font-size:15px;border-radius:2px}
.expense-field input:focus,.expense-field select:focus,.budget-goal input:focus,.budget-goal select:focus{outline:3px solid #cd5a3d35;border-color:var(--coral-dark)}
.expense-delete{min-height:42px;padding:0 12px;border:1px solid var(--line);background:transparent;color:#6c6258;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.expense-delete:hover{border-color:var(--coral);color:var(--coral-dark)}
.expense-amounts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:10px}
.expense-status{grid-column:1/-1;display:flex;align-items:center;gap:8px;margin-top:8px;padding-top:7px;border-top:1px solid #eee9e3;color:#625b53;font-size:13px}
.expense-status::before{content:"";width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#cfc4b9}
.expense-status[data-state="quote"]::before{background:#d1a650}
.expense-status[data-state="partial"]::before{background:#bd806c}
.expense-status[data-state="paid"]::before{background:#758875}
.category-section{margin-top:56px;padding:28px;background:#fffefa;border:1px solid var(--line)}
.category-heading{margin-bottom:22px}
.category-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 30px}
.category-row{min-width:0}
.category-row-head{display:flex;justify-content:space-between;gap:12px;font-size:14px;margin-bottom:6px}
.category-row-head span:first-child{overflow-wrap:anywhere}
.category-row-head strong{white-space:nowrap}
.category-bar{height:7px;background:#e9e3dc;border-radius:99px;overflow:hidden}
.category-bar span{display:block;height:100%;background:#bd806c;border-radius:inherit}
.budget-footnote{margin:22px 0 0;font-size:13px;line-height:1.6}
.budget-next{padding:54px 0;background:#efe6de}
.budget-next .wrap{display:flex;align-items:center;justify-content:space-between;gap:26px}
.budget-next h2{font-size:clamp(30px,4vw,43px);margin:7px 0}
.budget-next p{max-width:600px;margin:0}
.budget-next .btn{flex:0 0 auto}
.budget-footer{background:#282724;color:#f6f1e9;padding:30px 0}
.budget-footer-inner{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:19px 40px}
.budget-footer nav{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px 22px}
.budget-footer nav a{color:#ddd6cd;font-size:13px}
.budget-footer nav a:hover{text-decoration:underline}
.budget-footer-inner>span{grid-column:1/-1;padding-top:14px;border-top:1px solid #ffffff24;color:#c7c0b6;font-size:12px}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:850px){.budget-overview{grid-template-columns:1fr}.expense-top{grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:9px}.expense-top .expense-field:first-child{grid-column:span 2}.expense-top .expense-delete{grid-column:5;grid-row:1}.expense-top .expense-field:nth-child(4),.expense-top .expense-field:nth-child(5){grid-column:span 2}.expense-amounts{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.budget-intro{padding:39px 0 22px}.budget-intro h1{font-size:clamp(39px,11vw,55px);margin:13px 0}.budget-intro p{font-size:15px}.budget-section{padding:22px 0 62px}.budget-toolbar{display:grid;align-items:start}.budget-actions{display:grid;grid-template-columns:1fr 1fr}.budget-actions .btn{padding:0 9px;font-size:10px}.budget-notice{padding:14px;font-size:13px}.budget-overview{gap:12px;margin-top:16px}.budget-goal,.budget-stats{padding:17px}.budget-stats{gap:8px}.budget-stat{padding:12px 11px}.budget-stat>span{font-size:12px}.budget-stat>strong{font-size:18px}.budget-stat-wide>strong{font-size:17px}.budget-lines-section{margin-top:36px}.budget-lines-heading{display:grid;align-items:start}.budget-lines-heading .btn{width:100%}.expense-card{padding:12px 10px}.expense-top{grid-template-columns:1fr 1fr;gap:8px}.expense-top .expense-field:first-child{grid-column:1/-1}.expense-top .expense-field:nth-child(4),.expense-top .expense-field:nth-child(5){grid-column:auto}.expense-top .expense-delete{grid-column:auto;grid-row:auto;min-height:44px}.expense-amounts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:9px}.expense-status{margin-top:7px;padding-top:6px}.expense-field label{font-size:12px}.expense-field input,.expense-field select{min-height:42px;font-size:14px;padding:8px}.category-section{padding:18px 14px;margin-top:36px}.category-breakdown{grid-template-columns:1fr;gap:13px}.category-row-head{font-size:13px}.budget-next{padding:39px 0}.budget-next .wrap{display:grid}.budget-next .btn{width:100%}.budget-footer-inner{grid-template-columns:1fr;gap:16px}.budget-footer nav{justify-content:flex-start;gap:10px 17px}.budget-footer-inner>span{grid-column:auto;line-height:1.5}}
@media print{body{background:#fff;color:#111;font-size:11pt}.announcement,.header,.budget-intro,.budget-notice,.budget-status,.budget-actions,.budget-lines-heading .btn,.expense-delete,.budget-next,.budget-footer,.budget-footnote{display:none!important}.budget-section{padding:0}.budget-section .wrap{width:100%;max-width:none}.budget-toolbar{padding:0 0 14pt}.budget-toolbar h2{font-size:25pt}.budget-overview{grid-template-columns:1fr 1.7fr;gap:10pt;margin-top:12pt;break-inside:avoid}.budget-goal,.budget-stats,.expense-card,.category-section{background:#fff;border:1px solid #bbb;box-shadow:none;break-inside:avoid}.budget-goal,.budget-stats{padding:10pt}.budget-stat{background:#f6f3ef}.budget-lines-section{margin-top:20pt}.budget-lines-heading{margin-bottom:8pt}.budget-lines-heading h3,.category-heading h3{font-size:18pt}.expense-card{padding:10pt;margin-bottom:8pt}.expense-top{grid-template-columns:1.2fr .8fr auto}.expense-amounts{grid-template-columns:repeat(4,1fr)}.expense-field input,.expense-field select{border:0;padding:0;min-height:auto;font-size:10pt;background:transparent;appearance:none}.category-section{margin-top:15pt;padding:12pt}.category-breakdown{grid-template-columns:repeat(2,1fr)}.category-bar{print-color-adjust:exact;-webkit-print-color-adjust:exact}.expense-status{font-size:9pt}}
@media(prefers-reduced-motion:reduce){.budget-progress span{transition:none}}
