:root{--bp-bg:#faf9f7;--bp-ink:#1a1a1a;--bp-muted:#74736f;--bp-line:#e0ddd8;--bp-sage:#7c9a6e;--bp-pale:#eaf3de;--bp-amber:#faeeda;--bp-red:#fcebeb;--bp-blue:#e6f1fb}
body{background:var(--bp-bg)!important;color:var(--bp-ink);font-family:'DM Sans',sans-serif}
.budget-page{max-width:860px;margin:0 auto;padding:42px 28px 90px}
.budget-breadcrumb{font-size:12px;color:#999;margin-bottom:34px}.budget-breadcrumb a{color:var(--bp-sage);text-decoration:none}.budget-breadcrumb span{padding:0 9px}
.budget-hero{max-width:720px;margin-bottom:30px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--bp-sage);font-weight:500;margin:0 0 13px}.budget-hero h1{font:400 42px/1.12 'DM Serif Display',serif;letter-spacing:-.8px;margin:0 0 12px}.budget-hero h1 em{font-style:normal;color:var(--bp-sage)}.budget-hero h2{font-size:18px;font-weight:400;color:#585754;margin:0 0 19px}.budget-hero>p:last-child{font-size:14px;line-height:1.78;color:#53524f;margin:0}
.planner-card,.result-card,.faq-section{background:#fff;border:.5px solid var(--bp-line);border-radius:16px;padding:26px;margin-bottom:22px}.country-strip{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:27px;font-size:12px;color:var(--bp-muted)}.country-btn{background:transparent;border:.5px solid #d4d1cb;border-radius:100px;padding:8px 13px;font:500 12px 'DM Sans';color:#666;cursor:pointer}.country-btn.active{background:var(--bp-ink);color:#f0ebe0;border-color:var(--bp-ink)}
.income-row{display:grid;grid-template-columns:minmax(0,1fr) 1fr;gap:28px;align-items:end}.income-field label{display:block;font-size:13px;margin-bottom:7px;font-weight:500}.help{display:inline-flex;width:15px;height:15px;border:1px solid #aaa;border-radius:50%;align-items:center;justify-content:center;font-size:10px;color:#888;cursor:help}.income-field input{width:100%;box-sizing:border-box;border:.5px solid #d8d5cf;border-radius:8px;padding:13px 14px;font:15px 'DM Sans';background:#fff}.income-field input:focus,.row-label:focus,.row-amount:focus{outline:none;border-color:var(--bp-sage)}.income-field small{display:block;color:#999;font-size:11px;margin-top:5px}.field-error{display:none;color:#b3433d;font-size:11px;margin-top:6px}.field-error.show{display:block}.salary-link{font-size:12px;color:var(--bp-muted);padding-bottom:3px}.salary-link a{color:var(--bp-sage);text-decoration:none}
.ideal-strip{background:var(--bp-pale);border-left:3px solid var(--bp-sage);border-radius:8px;padding:14px 16px;margin:24px 0;font-size:13px}.ideal-strip strong{font-weight:500}.ideal-values{display:flex;gap:20px;flex-wrap:wrap;margin-top:8px;font-size:12px}.ideal-values span{color:#496142}
.expense-section{border-top:.5px solid #eeeae4;padding-top:22px;margin-top:24px}.section-head{display:flex;justify-content:space-between;gap:14px;align-items:end;margin-bottom:10px}.section-title{font-size:13px;font-weight:500;letter-spacing:.04em}.section-title small{font-weight:400;color:#999;letter-spacing:0}.section-total{font-size:12px;color:var(--bp-muted);white-space:nowrap}.progress-track{height:7px;background:#eeeae4;border-radius:8px;overflow:hidden;margin:0 0 12px}.progress-fill{height:100%;width:0;background:var(--bp-sage);border-radius:8px;transition:width .2s}.progress-fill.amber{background:#ef9f27}.progress-fill.red{background:#e24b4a}.expense-row{display:grid;grid-template-columns:27px minmax(0,1fr) 92px 130px 25px;gap:8px;align-items:center;border-bottom:.5px solid #f0ede8;padding:9px 0}.row-emoji{font-size:16px;text-align:center}.row-label,.row-amount,.row-category{border:0;background:transparent;font:12px 'DM Sans';min-width:0;padding:6px 5px}.row-label:focus{border-bottom:.5px solid var(--bp-sage)}.row-category{color:#777;border:.5px solid #e5e1da;border-radius:6px}.row-amount{border:.5px solid #e5e1da;border-radius:6px;text-align:right;background:#fff}.remove-row{border:0;background:none;color:#aaa;font-size:19px;cursor:pointer}.remove-row:hover{color:#e24b4a}.add-row{border:0;background:transparent;color:var(--bp-sage);font:500 12px 'DM Sans';padding:12px 0;cursor:pointer}.planner-actions{display:flex;justify-content:center;padding-top:20px}.dark-pill,.outline-pill,.wa-pill,.pdf-pill{border-radius:100px;padding:12px 25px;font:500 13px 'DM Sans';cursor:pointer}.dark-pill{border:0;background:var(--bp-ink);color:#f0ebe0}.outline-pill{background:transparent;border:.5px solid #aaa;color:var(--bp-ink)}.wa-pill{background:#25d366;border:0;color:#fff}.pdf-pill{background:transparent;border:.5px solid var(--bp-sage);color:var(--bp-sage)}
.budget-notice{background:var(--bp-amber);border:.5px solid #ef9f27;border-radius:8px;padding:12px 15px;font-size:13px;margin-bottom:20px}.verdict{padding:21px 23px;border-radius:12px;margin-bottom:18px}.verdict.excellent{background:var(--bp-ink);color:#f0ebe0}.verdict.good{background:var(--bp-pale)}.verdict.attention{background:var(--bp-amber)}.verdict.deficit{background:var(--bp-red);color:#8e2d2d}.verdict h2{font:400 25px 'DM Serif Display';margin:0 0 6px}.verdict p{font-size:13px;margin:0}.comparison{width:100%;border-collapse:collapse;font-size:12px}.comparison th{text-transform:uppercase;letter-spacing:.06em;color:#999;font-size:10px;text-align:left;font-weight:500;padding:10px 8px;background:#f8f7f4}.comparison td{padding:13px 8px;border-bottom:.5px solid #eeeae4}.comparison .num{text-align:right;font-variant-numeric:tabular-nums}.status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}.green{background:#7c9a6e}.amber{background:#ef9f27}.red{background:#e24b4a}.result-card h3{font:400 23px 'DM Serif Display';margin:0 0 16px}.bar{height:28px;display:flex;border-radius:6px;overflow:hidden;margin:10px 0 8px}.bar i{display:block;height:100%;font-style:normal;min-width:0}.bar .need{background:#1a1a1a}.bar .want{background:#7c9a6e}.bar .save{background:#a8c49a}.bar .free{background:#e8e5e0}.bar-label{font-size:11px;color:#777}.projection-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.projection-grid div{border-left:2px solid var(--bp-sage);padding:8px 10px;background:#f8faf5}.projection-grid small{display:block;color:#888;font-size:11px}.projection-grid strong{font-size:15px;font-weight:500}.insight{font-size:12px;line-height:1.5;padding:10px 14px;border-radius:8px;margin:7px 0;border-left:3px solid}.insight.success{background:var(--bp-pale);border-color:var(--bp-sage)}.insight.warning{background:var(--bp-amber);border-color:#ef9f27}.insight.danger{background:var(--bp-red);border-color:#e24b4a}.insight.info{background:var(--bp-blue);border-color:#85b7eb}.ranked{margin:0;padding:0;list-style:none}.ranked li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:.5px solid #eeeae4;font-size:13px}.ranked li span:last-child{font-variant-numeric:tabular-nums;color:#555}.result-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.share-box{background:#f8f7f4;border-radius:10px;padding:17px;margin-top:18px}.share-box h4{font-size:14px;margin:0 0 5px}.share-box p{font-size:12px;color:#777;margin:0 0 12px}.cta-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:17px}.cta-list a{font-size:12px;color:var(--bp-sage);text-decoration:none;border-bottom:.5px solid var(--bp-sage);padding-bottom:2px}
.faq-section h2{font:400 28px 'DM Serif Display';margin:0 0 18px}.faq-item{border-bottom:.5px solid #e8e6e1}.faq-q{width:100%;text-align:left;border:0;background:none;padding:15px 0;font:500 13px 'DM Sans';display:flex;justify-content:space-between;cursor:pointer}.faq-a{display:none;color:#555;font-size:12px;line-height:1.7;padding:0 0 15px}.faq-item.open .faq-a{display:block}.faq-q span{color:#999;font-size:17px}.legal-note{background:#f5f4f1;border-radius:9px;padding:15px 17px;color:#777;font-size:11px;line-height:1.65}.legal-note strong{color:#555}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,15px);opacity:0;background:#1a1a1a;color:#f0ebe0;border-radius:100px;padding:10px 20px;font-size:12px;transition:opacity .2s,transform .2s;pointer-events:none;z-index:20}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:640px){.budget-page{padding:30px 16px 60px}.budget-hero h1{font-size:32px}.income-row{grid-template-columns:1fr;gap:12px}.planner-card,.result-card,.faq-section{padding:20px 16px}.expense-row{grid-template-columns:23px minmax(0,1fr) 20px}.row-category{grid-column:2}.row-amount{grid-column:2}.remove-row{grid-column:3;grid-row:1}.projection-grid{grid-template-columns:repeat(2,1fr)}.comparison{font-size:11px}.comparison th,.comparison td{padding:10px 4px}.country-strip>span{width:100%}}