.budget-planner{margin:36px 0;padding:26px;border:1px solid #c5dacc;border-radius:22px;background:#f0f6ef;color:#173f2e;line-height:1.65;min-width:0;overflow-wrap:anywhere;box-sizing:border-box}
.budget-planner *{box-sizing:border-box}.budget-planner [hidden]{display:none!important}.budget-quick-start{margin:20px 0}.budget-quick-start>button{width:100%}.budget-quick-start>.budget-hint{margin:9px 0 0}
.blog-content .budget-planner h2{margin:0 0 14px;font-size:clamp(25px,3vw,31px)}.blog-content .budget-planner h3{margin:0 0 14px;font-size:19px;line-height:1.5}
.budget-planner p{margin:0 0 15px}.budget-planner button,.budget-planner input,.budget-planner select,.budget-planner textarea{font:inherit;font-size:16px;line-height:1.45;min-width:0;max-width:100%}
.budget-planner button{min-height:44px;padding:10px 13px;border:1px solid #a4b9ac;border-radius:10px;background:#fff;color:#124d33;font-weight:650;white-space:normal;cursor:pointer;overflow-wrap:anywhere}
.budget-planner button:hover{background:#e5f1df}.budget-planner button:disabled{opacity:.55;cursor:not-allowed}.budget-planner .budget-primary{background:#095039;color:#fff;border-color:#095039}.budget-planner .budget-primary:hover{background:#073e2c}
.budget-planner :is(button,input,select,textarea,a):focus-visible{outline:3px solid #287249;outline-offset:3px}.budget-planner a{color:#095039;text-underline-offset:3px}
.budget-period-form,.budget-limit-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:20px 0 12px}.budget-period-form>.budget-field{flex:1 1 200px}.budget-limit-form>.budget-field{flex:1 1 210px}.budget-full{grid-column:1/-1;flex-basis:100%}
.budget-field{min-width:0}.budget-field label{display:block;font-size:14px;font-weight:700;margin:0 0 6px}.budget-field label span{font-weight:400}.budget-field :is(input,select){display:block;width:100%;min-height:46px;padding:10px 12px;border:1px solid #98b1a1;border-radius:9px;background:#fff;color:#163e2b}.budget-field [aria-invalid=true]{border:2px solid #a02e20}
.budget-planner .budget-hint{font-size:13px;line-height:1.65;color:#4a6455;margin-bottom:14px}.budget-summary{margin:23px 0;padding:20px;border:1px solid #bfd5be;border-radius:16px;background:#fff}.budget-limit-form{margin-top:13px}.budget-limit-form .budget-hint{margin:0}.budget-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}.budget-totals>div{min-width:0;padding:14px;border:1px solid #d2dfd1;border-radius:12px;background:#f8fbf7}.budget-totals dt{font-size:13px;line-height:1.5}.budget-totals dd{font-size:clamp(20px,2.6vw,28px);font-weight:750;line-height:1.4;margin:7px 0 0;font-variant-numeric:tabular-nums}.budget-totals>.budget-total-net{background:#e4f6cd;border-color:#b8d694}.budget-planner .budget-balance{font-size:19px;font-weight:750;margin:0 0 12px}.budget-balance[data-overrun=true]{color:#972b1f}.budget-progress-label{display:block;font-size:13px;font-weight:650;margin-bottom:6px}.budget-planner progress{display:block;width:100%;height:15px;accent-color:#095039;margin-bottom:9px}.budget-planner .budget-household{font-size:14px;margin:16px 0 0;padding-top:14px;border-top:1px solid #d2dfd1}.budget-entry-heading,.budget-ledger-heading{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.blog-content .budget-entry-heading h3,.blog-content .budget-ledger-heading h3{margin:0}.budget-entry-heading{margin-bottom:13px}.budget-ledger-heading{margin:24px 0 5px}.budget-ledger-heading .budget-hint{margin:5px 0 0}
.budget-entry-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px;border:1px solid #d3e1d6;border-radius:15px;background:#fff}.budget-actions{display:flex;gap:10px;flex-wrap:wrap}.budget-planner .budget-error{color:#972b1f;font-size:14px;margin-bottom:0}.budget-planner .budget-warning,.budget-undo{padding:13px;border:1px solid #cfb976;border-radius:10px;background:#fff9e5;color:#6c4510;font-size:14px}.budget-entry-form .budget-warning{margin:0}.budget-planner [data-budget-entry-notice]{margin:13px 0}.budget-undo{margin-bottom:14px}.budget-undo span{display:block}.budget-undo button{margin-top:8px}
.budget-memory{margin-top:21px;padding-bottom:20px;border-bottom:1px solid #cbdcce;font-size:13px}.budget-memory label{display:flex;gap:12px;align-items:center;min-height:48px;font-size:15px;font-weight:650;cursor:pointer}.budget-memory input{appearance:auto;width:21px;height:21px;flex:0 0 21px;accent-color:#0b5038}.budget-memory p{margin:6px 0 0;color:#4c6456}
.budget-planner .budget-entries{display:grid;gap:10px;padding:0;margin:0;list-style:none}.budget-planner .budget-entry{margin:0;padding:16px;border:1px solid #d1dfd4;border-radius:14px;background:#fff;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}.budget-entry-copy{min-width:0}.budget-entry-copy strong{font-size:17px;font-variant-numeric:tabular-nums;display:block}.budget-entry-copy span{font-size:14px;color:#4c6656;display:block;margin-top:4px}.budget-entry-actions{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}.budget-planner .budget-empty{padding:20px;border:1px dashed #a9bdaa;border-radius:12px;background:#fff;font-size:15px}
.budget-export{border-top:1px solid #cbdcce;padding-top:20px;margin-top:24px;font-size:14px}.budget-export label{display:block;font-weight:650;margin:16px 0 7px}.budget-export textarea{display:block;width:100%;padding:12px;border:1px solid #98b1a1;border-radius:9px;background:#fff;color:#153d2c;resize:vertical;margin-bottom:8px}.budget-planner .budget-status{font-size:14px;font-weight:650;min-height:1.5em;margin:17px 0 9px}.budget-planner .budget-note{font-size:12px;line-height:1.7;color:#4b6555;margin-bottom:0}.budget-print-sheet{display:none}
@media(max-width:600px){.budget-planner{padding:18px;border-radius:16px}.budget-summary,.budget-entry-form{padding:15px}.budget-entry-form{grid-template-columns:minmax(0,1fr)}.budget-totals{grid-template-columns:minmax(0,1fr);gap:8px}.budget-totals>div{display:flex;gap:14px;justify-content:space-between;align-items:center;padding:12px}.budget-totals dt{max-width:58%}.budget-totals dd{font-size:21px;margin:0;text-align:right}.budget-period-form,.budget-limit-form{align-items:stretch}.budget-period-form>.budget-field,.budget-limit-form>.budget-field{flex-basis:100%}.budget-period-form>button,.budget-limit-form>button{width:100%}.budget-planner .budget-entry{grid-template-columns:minmax(0,1fr);padding:14px}.budget-entry-heading>button,.budget-ledger-heading>button{width:100%}.budget-actions{flex-direction:column}.budget-actions>button{width:100%}.budget-entry-actions>button{flex:1}.budget-intro{font-size:15px}}
@media(max-width:360px){.budget-planner{padding:13px}.budget-summary,.budget-entry-form{padding:12px}.budget-totals>div{display:block}.budget-totals dt{max-width:none}.budget-totals dd{text-align:left;margin-top:4px}}
@media print{.budget-planner{display:none}body.budget-print-mode>*{display:none!important}body.budget-print-mode>.budget-print-sheet{display:block!important;background:#fff!important;color:#111!important;font:12pt/1.5 sans-serif!important;padding:0!important;margin:0!important}body.budget-print-mode{margin:0!important;padding:0!important;background:#fff!important}.budget-print-sheet h1{font-size:22pt;margin:0 0 10pt}.budget-print-sheet h2{font-size:14pt;margin:18pt 0 8pt;break-after:avoid}.budget-print-sheet p{margin:0 0 10pt}.budget-print-sheet ul{padding-left:18pt}.budget-print-sheet li{margin-bottom:8pt;break-inside:avoid}.budget-print-sheet pre{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere}.budget-print-sheet small{font-size:9pt}}
