.budget-editor,.budget-editor-controls{min-width:0}.budget-editor details{border-top:1px solid #cbdcd2;padding:12px 0}.budget-editor summary{display:flex;align-items:baseline;justify-content:space-between;gap:12px;cursor:pointer;font-weight:650;list-style:revert}.budget-editor summary strong,.budget-main-section>h3 strong{white-space:nowrap;font-size:.9em}.budget-main-section{margin:22px 0;border:1px solid #cbdcd2;border-radius:16px;padding:16px;background:rgba(255,255,255,.45)}.budget-main-section>h3{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 12px;font-size:1.1rem}.budget-main-section>h3 span,.budget-editor summary span{min-width:0;overflow-wrap:anywhere}.budget-item{padding:12px 0;min-width:0;border-bottom:1px solid #dde7e0}.budget-item-label{display:block!important;margin:0!important;min-width:0}.budget-item-label>span{display:block;font-size:.9rem;line-height:1.45;margin-bottom:7px;overflow-wrap:anywhere}.budget-item-controls{display:grid;grid-template-columns:minmax(80px,1fr) minmax(105px,1fr);gap:8px;min-width:0}.budget-editor input,.budget-editor select,.budget-editor-controls input,.budget-editor-controls select{max-width:100%;min-width:0;box-sizing:border-box}.budget-item>select{width:100%;margin-top:7px;font-size:.85rem}.budget-help,.budget-editor p,.budget-editor-controls p{font-size:.85rem;line-height:1.6}.budget-editor-total{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.budget-editor-controls{border-block:1px solid #cbdcd2;margin:18px 0;padding:16px 0}.budget-confirm{display:flex!important;align-items:flex-start;gap:10px;font-size:.85rem}.budget-confirm input{width:18px!important;flex:0 0 18px;margin-top:4px}.budget-target-inputs{border:0;padding:0;margin:16px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.budget-target-inputs legend{font-weight:650;margin-bottom:8px}.budget-target-inputs label{font-size:.8rem;min-width:0}.budget-target-inputs input{width:100%}#budget-target-warning{color:#8e442b;font-weight:650}#budget-target-warning[hidden]{display:none}@media(max-width:440px){.budget-main-section{padding:12px}.budget-editor summary{font-size:.9rem}.budget-target-inputs{grid-template-columns:1fr}.budget-target-inputs label{display:grid;grid-template-columns:1fr 90px;align-items:center;gap:8px}.budget-item-controls{grid-template-columns:minmax(70px,.8fr) minmax(110px,1.2fr)}}
.budget-chart-toggle{display:flex;gap:4px;border:1px solid #c4d8cc;border-radius:12px;padding:4px;margin:0 auto 20px;width:100%;max-width:380px;background:#e4f0e8}
.budget-chart-toggle button{flex:1;min-width:0;min-height:44px;border:0;border-radius:9px;padding:9px 8px;background:transparent;color:#466554;font-size:12px;line-height:1.4}
.budget-chart-toggle button[aria-pressed=true]{background:#fff;color:#244d3b;box-shadow:0 1px 4px #143c3212;font-weight:650}
.interactive-budget-chart{position:relative;isolation:isolate;flex-shrink:0;max-width:100%;aspect-ratio:1}
.interactive-budget-chart>div{position:relative;z-index:1;pointer-events:none;max-width:76%;max-height:76%}
.interactive-budget-chart strong{max-width:90%;font-size:clamp(20px,2.4vw,30px);overflow-wrap:anywhere;text-align:center}
.budget-chart-segments{position:absolute;inset:0;width:100%;height:100%;overflow:visible;border-radius:50%}
.budget-chart-segments path{cursor:pointer;transition:opacity .18s ease;outline:none}
.interactive-budget-chart.has-highlight path:not(.is-highlighted){opacity:.4}
.budget-chart-segments path.is-highlighted,.budget-chart-segments path:focus-visible{stroke:#183f33;stroke-width:2;stroke-linejoin:round}
.tool .budget-chart-detail{min-height:64px;margin:0 0 12px;font-size:12px;line-height:1.6;text-align:center;color:#385a50;overflow-wrap:anywhere}
.budget-chart-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;max-height:290px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:4px 6px 4px 2px;margin-bottom:12px;border-bottom:1px solid #d9e5dc}
.budget-chart-categories[hidden]{display:none}
.budget-chart-categories button{display:flex;align-items:center;gap:8px;min-height:44px;min-width:0;border:1px solid transparent;border-radius:8px;background:transparent;padding:8px;text-align:left;font-size:11px;line-height:1.5;color:#385a50}
.budget-chart-categories button span{min-width:0;overflow-wrap:anywhere}
.budget-chart-categories button i{width:10px;height:10px;border-radius:50%;flex:0 0 10px}
.budget-chart-categories button.is-highlighted{border-color:#8cb29c;background:#ffffffa6}
@media(max-width:450px){.budget-chart-categories{grid-template-columns:1fr;max-height:252px}.budget-chart-toggle button{font-size:11px}.interactive-budget-chart strong{font-size:26px}}
@media(prefers-reduced-motion:reduce){.budget-chart-segments path{transition:none}}
.budget-editor details[open]>summary>span{transform:none}
