.budget-hero{max-width:720px;padding:38px 0 28px}.budget-hero h1{font:700 clamp(38px,6vw,60px)/1.05 var(--head);letter-spacing:-.055em;margin:5px 0 13px}.budget-hero p:last-child{color:var(--text-secondary);font-size:18px;line-height:1.6;margin:0}.budget-layout{align-items:start;display:grid;gap:26px;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)}.income-card,.category-card,.budget-summary{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 2px 6px rgba(17,24,39,.035);padding:23px}.income-card{display:flex;gap:24px;justify-content:space-between;margin-bottom:14px}.section-label{color:var(--primary);font:700 11px var(--mono);letter-spacing:.04em;margin:0;text-transform:uppercase}.income-card h2,.category-card h2,.breakdown-heading h2{font:700 21px/1.18 var(--head);letter-spacing:-.035em;margin:6px 0 0}.field-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(130px,1fr));min-width:330px}.category-stack{display:grid;gap:14px}.category-card header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.category-card header p{color:var(--text-secondary);font-size:13px;line-height:1.4;margin:5px 0 0}.category-total{color:var(--primary);font:700 15px var(--mono);padding-top:6px}.expense-fields{display:grid;gap:11px;grid-template-columns:repeat(2,minmax(0,1fr))}label{color:var(--text-secondary);display:grid;font-size:12px;font-weight:700;gap:5px}input{appearance:textfield;background:#fff;border:1px solid #d1d5db;border-radius:7px;color:var(--text);font:500 15px var(--body);min-height:39px;outline:none;padding:8px 10px;width:100%}input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(99,102,241,.13)}.form-actions{align-items:center;display:flex;gap:18px;margin:24px 0 8px}.text-button{background:transparent;border:0;color:var(--text-secondary);cursor:pointer;font:700 13px var(--body);padding:9px}.text-button:hover{text-decoration:underline}.budget-summary{position:sticky;top:18px}.income-result,.expense-total{align-items:baseline;display:flex;justify-content:space-between;padding:16px 0}.income-result span,.expense-total span{color:var(--text-secondary);font-size:14px}.income-result strong,.expense-total strong{font:700 21px var(--head);letter-spacing:-.04em}.result-state{border-radius:10px;margin:2px 0;padding:20px}.result-state p{font-size:13px;font-weight:700;margin:0}.result-state strong{display:block;font:700 38px/1 var(--head);letter-spacing:-.06em;margin:8px 0}.result-state span{font-size:13px;line-height:1.4}.result-state.neutral{background:#f3f4f6;color:var(--text-secondary)}.result-state.positive{background:#ecfdf5;color:#065f46}.result-state.negative{background:#fef2f2;color:#991b1b}.savings-allocation{align-items:baseline;display:flex;justify-content:space-between;padding:2px 0 14px}.savings-allocation span{color:var(--text-secondary);font-size:12px;max-width:185px}.savings-allocation strong{color:#0f766e;font:700 16px var(--mono)}.breakdown-heading{align-items:baseline;border-top:1px solid var(--border);display:flex;justify-content:space-between;padding-top:20px}.breakdown-heading h2{font-size:17px}.breakdown-heading span{color:var(--text-tertiary);font-size:12px}.category-breakdown{display:grid;gap:10px;margin-top:16px}.breakdown-row{display:grid;gap:5px;grid-template-columns:1fr auto}.breakdown-row span{align-items:center;color:var(--text-secondary);display:flex;font-size:13px;gap:6px}.breakdown-row span i{border-radius:50%;display:inline-block;height:8px;width:8px}.breakdown-row strong{font:700 13px var(--mono)}.bar{background:#e5e7eb;border-radius:99px;grid-column:1/-1;height:7px;overflow:hidden}.bar i{background:var(--primary);border-radius:inherit;display:block;height:100%;min-width:0}.privacy-note{border-top:1px solid var(--border);color:var(--text-tertiary);font-size:11px;line-height:1.5;margin:22px 0 0;padding-top:16px}.spending-chart{border-top:1px solid var(--border);display:grid;gap:18px;grid-template-columns:116px minmax(0,1fr);margin-top:8px;padding-top:20px}.donut-chart{align-content:center;background:conic-gradient(#e5e7eb 0deg 360deg);border-radius:50%;display:grid;height:116px;justify-items:center;place-items:center;position:relative;width:116px}.donut-chart:before{background:var(--surface);border-radius:50%;content:'';height:76px;left:20px;position:absolute;top:20px;width:76px}.donut-chart span,.donut-chart small{position:relative;z-index:1}.donut-chart span{font:700 19px var(--head);letter-spacing:-.04em}.donut-chart small{color:var(--text-secondary);font-size:10px;margin-top:-24px}.spending-chart .breakdown-heading{border-top:0;padding-top:0}.export-button{background:#0f766e;border:0;border-radius:8px;color:#fff;cursor:pointer;font:700 14px var(--body);margin-top:24px;padding:12px 14px;width:100%}.export-button:hover{background:#115e59}.export-button:focus-visible{outline:3px solid var(--primary);outline-offset:3px}@media(max-width:560px){.spending-chart{grid-template-columns:92px minmax(0,1fr)}.donut-chart{height:92px;width:92px}.donut-chart:before{height:60px;left:16px;top:16px;width:60px}.donut-chart span{font-size:16px}.donut-chart small{margin-top:-20px}}
.budget-notes h2{font:700 27px/1.15 var(--head);letter-spacing:-.04em;margin:0 0 8px}.budget-notes p{color:var(--text-secondary);font-size:16px;line-height:1.65;margin:0;max-width:760px}@media(max-width:850px){.budget-layout{grid-template-columns:1fr}.budget-summary{position:static}.income-card{display:grid}.field-grid{min-width:0}}@media(max-width:560px){.budget-hero{padding-top:24px}.budget-hero p:last-child{font-size:16px}.income-card,.category-card,.budget-summary{padding:17px}.field-grid,.expense-fields{grid-template-columns:1fr}.category-card header{gap:8px}.category-card h2{font-size:19px}.result-state strong{font-size:33px}}