.budget-package-note{font-size:11px;color:#61775e;border-bottom:1px solid #dce3d6;padding-bottom:14px;margin-bottom:25px}
.budget-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:28px 0}
.budget-kpi{border:1px solid #dbe2d6;padding:20px;background:#fffefa;min-width:0}.budget-kpi:last-child{background:#eaf0e4}.budget-kpi.over{background:#faeee4;color:#8c4e32}.budget-kpi>span{display:block;font-size:10px;line-height:1.6;letter-spacing:.025em}.budget-kpi strong{display:block;margin-top:12px;font:400 clamp(23px,2.1vw,36px)/1.15 var(--serif);font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.035em}
.budget-overview{display:grid;grid-template-columns:1.15fr 1fr;gap:24px;align-items:start}.budget-panel{border:1px solid #dbe2d6;background:#fffefa;padding:28px;min-width:0}.budget-section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:20px}.budget-section-head h2{font:400 29px/1.2 var(--serif);letter-spacing:-.025em;margin:0}.budget-section-head h3{font:400 24px/1.3 var(--serif);margin:0}.budget-section-head>span{font-size:11px;color:#73836c}.budget-panel label{display:block;font-size:12px}.budget-target-row{display:flex;gap:12px;margin:10px 0}.budget-target-row input{width:100%;min-width:0;padding:12px;background:#f8f9f2;border:1px solid #d4decb;color:#365040;font:400 22px var(--serif)}#budget-target-hint{display:block;font-size:10px;color:#7d8474;line-height:1.6}#budget-target-error{color:#9b4338;font-size:12px}
.budget-meter{height:9px;display:flex;background:#ebece2;border-radius:10px;overflow:hidden;margin:24px 0 12px}.budget-meter span{background:#54715b}.budget-meter i{background:#c0ccb3}.budget-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:11px;color:#6b7c64}.budget-legend i{width:8px;height:8px;display:inline-block;border-radius:50%;background:#54715b;margin-right:7px}.budget-legend span+span i{background:#c0ccb3}.budget-note{font-size:11px;line-height:1.75;color:#788272;margin:16px 0;overflow-wrap:anywhere}.budget-category-bars{display:grid;gap:14px;margin-top:24px}.budget-category-bars>div{display:grid;grid-template-columns:1fr auto;gap:6px 14px;font-size:11px}.budget-category-bars strong{font-weight:500}.budget-category-bars i{grid-column:1/-1;background:#f1f1e9;height:3px;display:block}.budget-category-bars b{display:block;background:#a7b697;height:100%}
.budget-due-row{display:flex;justify-content:space-between;align-items:center;gap:15px;width:100%;padding:16px 0;border:0;border-top:1px solid #e2e6da;text-align:left;background:none;color:#3d5542}.budget-due-row span{min-width:0}.budget-due-row strong{display:block;font-size:12px;font-weight:600;overflow-wrap:anywhere}.budget-due-row small{display:block;margin-top:6px;font-size:11px;line-height:1.6;color:#828977}.budget-due-row b{font-weight:500;font-size:14px;white-space:nowrap}.budget-due-row.overdue small{color:#a05e3e}.budget-export{display:flex;gap:10px;flex-wrap:wrap;border-top:1px solid #e2e6da;margin-top:20px;padding-top:20px}.budget-export button{font-size:11px;padding:11px 14px}.budget-list-heading{margin:38px 0 20px}.budget-list-heading .text-button{white-space:normal}.budget-filters{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:18px}.budget-filters label{flex:1;min-width:180px;font-size:11px}.budget-filters span{display:block;margin-bottom:6px}.budget-filters input,.budget-filters select{width:100%;padding:12px 14px;color:#3f5c45;background:#fffefa;border:1px solid #d5dfcc;border-radius:3px;font-size:12px}
.budget-item{display:grid;grid-template-columns:minmax(170px,1fr) 1.3fr auto;gap:22px;align-items:center;background:#fffefa;border:1px solid #dce3d7;padding:22px;margin-bottom:12px}.budget-item-title{min-width:0}.budget-item h3{font:400 25px/1.25 var(--serif);margin:10px 0 8px;overflow-wrap:anywhere}.budget-item p{font-size:11px;color:#77836f;margin:0;overflow-wrap:anywhere}.budget-item-title>small{display:block;font-size:10px;line-height:1.7;color:#839076;margin-top:7px}.budget-state{display:inline-block;font-size:9px;letter-spacing:.04em;padding:5px 8px;background:#eeeade;color:#8b775a;border-radius:12px}.budget-state.booked{background:#e6eddd;color:#476347}.budget-item-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.budget-item-totals small{display:block;font-size:10px;color:#849078;margin-bottom:7px}.budget-item-totals strong{font-size:15px;font-weight:500;white-space:nowrap;font-variant-numeric:tabular-nums}.budget-item-actions{display:grid;gap:12px;justify-items:center}.budget-item-actions .action-secondary{padding:10px 14px;font-size:11px}.budget-item-actions .text-button{font-size:10px}.budget-item>.budget-warning{grid-column:1/-1;margin:0}.budget-warning,.budget-error{font-size:12px;line-height:1.7;padding:13px 16px;background:#fbf0e2;color:#825939}.budget-error{background:#faeded;color:#973e34}.budget-empty{font-size:12px;color:#7e8874;line-height:1.7;padding:20px 0}.budget-undo{padding:14px 18px;background:#edf1e5;font-size:12px;display:flex;gap:20px;align-items:center;margin-bottom:15px}.budget-disclaimer{max-width:900px}
#budget-dialog{width:860px;max-width:calc(100vw - 24px);max-height:92dvh;overflow:auto}#budget-dialog form,#budget-children-dialog form{padding:32px}#budget-dialog h2,#budget-children-dialog h2{font:400 34px/1.2 var(--serif);margin:10px 0 25px}#budget-children-dialog{width:620px;max-width:calc(100vw - 24px);max-height:90dvh;overflow:auto}.budget-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.budget-field{display:block;font-size:12px;color:#526e55;font-weight:600;margin-bottom:18px}.budget-field input,.budget-field textarea,.budget-field select{display:block;margin-top:8px;width:100%;padding:11px 12px;font:400 13px/1.5 var(--sans,Arial);border:1px solid #d6dfcf;background:#fdfef9;border-radius:3px;color:#35503c;min-width:0}.budget-field textarea{resize:vertical}.budget-field input:disabled{background:#f0f0e9;color:#919586}.budget-form-actions{display:flex;justify-content:flex-end;gap:14px;margin-top:24px;flex-wrap:wrap}.budget-calculation{padding:18px;background:#eef2e6;border-left:2px solid #728967;margin:20px 0 28px;display:grid;gap:8px;font-size:12px}.budget-calculation strong{font:400 27px var(--serif)}.budget-calculation small{font-size:11px;line-height:1.6;color:#6f8067}.budget-calculation .budget-alert{color:#9c5535}.budget-payment{position:relative;display:grid;grid-template-columns:1fr .65fr .8fr;gap:0 12px;border:1px solid #d9e1d0;padding:18px 38px 0 18px;margin:12px 0;background:#fafbf6}.budget-payment .budget-field{font-size:10px}.budget-payment .budget-field input{padding:9px;font-size:12px}.budget-payment .budget-check{align-self:start;margin-top:10px}.budget-payment [data-remove-payment]{position:absolute;top:10px;right:10px;border:0;background:none;color:#8c7864;font-size:22px;line-height:1;padding:3px}.budget-check{display:flex;gap:8px;align-items:center;font-size:12px}.budget-check input,.budget-child-list input{accent-color:#54715b;min-width:17px;width:17px;height:17px}.budget-child-list{display:grid;gap:0;max-height:48dvh;overflow:auto;border-block:1px solid #dce3d6}.budget-child-list label{display:flex;gap:13px;align-items:center;padding:13px;border-bottom:1px solid #e4e8db}.budget-child-list strong{display:block;font-size:12px;font-weight:500}.budget-child-list small{display:block;margin-top:5px;font-size:10px;color:#7c8971}.budget-child-list label:has(input:checked){background:#edf2e5}
@media(max-width:1200px){.budget-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.budget-item{grid-template-columns:1fr 1.2fr}.budget-item-actions{grid-column:1/-1;display:flex;justify-content:flex-end}.budget-overview{grid-template-columns:1fr 1fr}.budget-panel{padding:22px}}
@media(max-width:760px){.budget-overview{grid-template-columns:1fr}.budget-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.budget-kpi{padding:18px 15px}.budget-kpi strong{font-size:30px}.budget-kpi:last-child{grid-column:1/-1}.budget-item{grid-template-columns:1fr;gap:18px}.budget-item-totals{gap:10px}.budget-item-totals strong{font-size:14px}.budget-item-actions{grid-column:auto;border-top:1px solid #e5e9dd;padding-top:15px;justify-content:space-between}.budget-item>.budget-warning{grid-column:auto}.budget-form-grid{grid-template-columns:1fr}.budget-payment{grid-template-columns:1fr 1fr}.budget-payment .budget-field:first-child{grid-column:1/-1}#budget-dialog form,#budget-children-dialog form{padding:23px 18px}.budget-section-head h2{font-size:27px}.budget-section-head h3{font-size:23px}.budget-filters label{min-width:140px}.budget-calculation strong{font-size:25px}.budget-due-row b{font-size:13px}.budget-kpi strong{font-size:clamp(22px,6vw,30px)}}
/* Direct expense payment controls, including narrow mobile cards. */
.budget-item-actions{gap:10px;flex-wrap:wrap}.budget-item-actions .budget-field{margin:0;min-width:150px;text-align:left}.budget-item-actions .action-primary{padding:11px 14px;font-size:12px}.budget-item-actions button:disabled{opacity:.65;cursor:default}@media(max-width:760px){.budget-item-actions .budget-field{flex-basis:100%;width:100%}.budget-item-actions input[type=date]{width:100%;box-sizing:border-box}}
