.budget-controls{min-width:0}.budget-controls select{max-width:180px;min-width:105px}.budget-controls .btn{height:40px}
#budgetDialog{width:min(1180px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:18px;background:var(--paper);color:var(--text);border:2px solid var(--text);overflow:auto;box-sizing:border-box}#budgetDialog::backdrop{background:rgba(0,0,0,.65)}
.budget-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:2px solid var(--text);padding-bottom:12px}.budget-heading h2{margin:0;font-size:22px}.budget-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:12px 0}
.budget-heading{position:sticky;top:-18px;z-index:8;background:var(--paper);padding-top:8px}.budget-fields>button{height:40px;align-self:end}.budget-table th{color:var(--text)}#budgetDialog textarea{background:var(--paper);color:var(--text);border:2px solid var(--line);padding:8px;font:inherit}
#budgetFilter{height:40px;border:2px solid var(--line);background:var(--paper);color:var(--text);padding:6px;font:inherit}#budgetDialog .budget-table .btn{min-height:36px}#budgetNotes>button{margin-top:8px}#budgetDialog .budget-heading .btn{flex-shrink:0}
.budget-scope{display:flex;gap:8px 18px;flex-wrap:wrap;padding:12px 0}.budget-fields .budget-scope label{flex-direction:row;align-items:center}
.budget-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.budget-fields label{display:flex;flex-direction:column;gap:5px;min-width:0;font-size:12px}.budget-fields input,.budget-fields select,.budget-fields textarea{min-height:40px;padding:6px 9px;border:2px solid var(--text);background:var(--paper);color:var(--text);width:100%;box-sizing:border-box}.budget-fields .wide{grid-column:1/-1}.budget-fields input[type=checkbox]{width:18px;min-height:18px}.budget-check{display:flex;gap:8px;align-items:center;margin:10px 0}
.budget-scroll{overflow:auto;max-height:45vh;border:1px solid var(--line)}.budget-table{width:100%;min-width:720px;border-collapse:collapse}.budget-table th,.budget-table td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}.budget-table th{position:sticky;top:0;background:var(--paper);text-align:left}.budget-table .amount{text-align:right;white-space:nowrap}.budget-table small{display:block;font-size:11px;color:var(--muted);max-width:260px;overflow-wrap:anywhere}.budget-table .btn{min-height:36px}.budget-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.budget-cards>div{border:1px solid var(--line);padding:12px;min-width:0}.budget-cards small{display:block;color:var(--muted);font-size:12px}.budget-cards b{display:block;font-size:18px;overflow-wrap:anywhere;margin-top:6px}.budget-note{font-size:13px;line-height:1.6;overflow-wrap:anywhere}.budget-error{color:var(--signal);white-space:pre-wrap;overflow-wrap:anywhere}.budget-section{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}.budget-preview{border:1px solid var(--line);padding:10px;white-space:pre-wrap}.budget-comparison{max-height:250px}.budget-comparison .btn.on{background:var(--accent);color:#142328}
@media(max-width:640px){#budgetDialog{padding:12px;width:calc(100vw - 12px);max-height:calc(100dvh - 12px)}.budget-heading{align-items:flex-start}.budget-heading h2{font-size:18px}.budget-fields,.budget-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-controls select{max-width:160px}.budget-actions .btn{min-height:40px}.budget-scroll{max-height:50vh}}
@media(max-width:640px){.budget-heading{top:-12px}}
