#budget-form{max-width:1000px}#budget-form fieldset{background:white;border:1px solid #bccbc4;padding:24px;margin:24px 0;border-radius:8px;min-width:0}#budget-form legend{font-size:23px;font-weight:bold;padding:0 8px}.budget-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.budget-fields label{font-weight:bold;display:block}.budget-fields input,.budget-fields select{display:block;width:100%;box-sizing:border-box;padding:12px;font:inherit;margin-top:8px;background:white;color:#172a25;border:1px solid #71877d;border-radius:4px}#budget-error{color:#9a2525}#budget-results{margin-top:30px}.budget-fields input:focus-visible,.budget-fields select:focus-visible{outline:3px solid #986318;outline-offset:2px}@media(max-width:600px){.budget-fields{grid-template-columns:1fr}#budget-form fieldset{padding:18px}}
#budget-form fieldset{border:0;border-top:4px solid #986318;box-shadow:0 3px 18px rgba(23,42,37,.07);padding:28px;background:#fffdf8}#budget-form legend{background:#eee0bf;color:#174d3c;border-radius:6px;padding:10px 16px;font-family:Georgia,serif;font-size:22px}.budget-fields{gap:22px}.budget-fields label{font-size:15px;line-height:1.5}.budget-fields input,.budget-fields select{border-color:#bdc9c2;background:#fff;padding:14px;font-size:18px}.budget-currency{color:#6c5425;white-space:nowrap}.help{background:#f5efdf;border-left:3px solid #c69a48;padding:16px 18px;line-height:1.65;color:#34493f}#budget-results>.gear-result-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}#budget-results>.gear-result-grid section{border:0;border-top:4px solid #174d3c;border-radius:6px;background:#e9f0e9;padding:24px}#budget-results .gear-verdict{font-size:32px;margin:14px 0}#budget-results h3{font-size:21px}#budget-results .gear-chart tr:last-child{background:#174d3c;color:white;font-weight:700}#budget-results .gear-chart th{white-space:normal}#budget-results .gear-chart td{text-align:right}#budget-form .gear-button{padding:16px 28px;border-radius:6px;font-weight:700}#budget-form .gear-button:hover{background:#25654f}@media(max-width:700px){#budget-results>.gear-result-grid{grid-template-columns:1fr}#budget-form fieldset{padding:20px}#budget-form legend{font-size:19px;max-width:85%}}
.money-input{position:relative;display:block;margin-top:8px}.money-input .money-symbol{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#174d3c;font-size:18px;pointer-events:none}.money-input input{padding-left:38px!important;margin-top:0!important}.night-row{display:grid;grid-template-columns:75px 1fr 1fr auto;gap:14px;align-items:center;padding:18px 0;border-bottom:1px solid #d9e1da}.night-row label{font-weight:700;font-size:14px}.night-row input{display:block;box-sizing:border-box;width:100%;padding:14px;margin-top:8px;font:inherit;background:white;color:#172a25;border:1px solid #bdc9c2;border-radius:4px}.budget-add,.budget-remove{font:inherit;padding:10px 14px;border:1px solid #174d3c;border-radius:4px;background:white;color:#174d3c;cursor:pointer}.budget-add{margin-top:18px}.budget-remove{font-size:13px}.night-title{color:#174d3c}@media(max-width:700px){.night-row{grid-template-columns:1fr}.budget-remove{justify-self:start}}
.night-row{grid-template-columns:65px minmax(120px,1fr) minmax(140px,1fr) 120px auto}@media(max-width:850px){.night-row{grid-template-columns:1fr 1fr}.night-title{grid-column:1/-1}.budget-remove{justify-self:start}}@media(max-width:500px){.night-row{grid-template-columns:1fr}}
.budget-subtotal{margin:22px 0 8px;padding:18px;background:#e9f0e9;border-left:4px solid #174d3c;color:#174d3c}.budget-subtotal>strong,.budget-subtotal>span{display:block}.budget-subtotal>span{font-size:14px;margin-top:6px}.budget-subtotal>div{display:flex;justify-content:space-between;gap:18px;padding:8px 0;font-size:14px}.budget-subtotal strong{font-variant-numeric:tabular-nums}.budget-section-total{border-top:1px solid #b6c9ba;margin-top:6px}@media(max-width:500px){.budget-subtotal>div{flex-wrap:wrap}}
.budget-group-heading{grid-column:1/-1;background:#eee0bf;border-left:4px solid #986318;padding:16px 18px;margin-top:8px}.budget-group-heading h2{font-size:20px;margin:0 0 6px}.budget-group-heading p{font-size:14px;line-height:1.5;margin:0}.budget-group-label{display:block;font-size:12px;font-weight:700;color:#705016;margin:5px 0;text-transform:uppercase;letter-spacing:.04em}
