.tool-hero{max-width:820px}.storage{background:#eef2e9}.storage p{margin-bottom:12px}.jump-nav{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.jump-nav a{background:#e8eee3;border-radius:25px;padding:7px 14px;text-decoration:none;font-size:.88rem}.period{display:flex;gap:20px;align-items:end;flex-wrap:wrap}.period .field{min-width:170px}.period p{flex:1;margin:0 0 10px;min-width:240px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0 24px}.stats article{background:#eaf0e4;border:1px solid var(--line);border-radius:14px;padding:24px;min-width:0}.stats span,.stats small{display:block;color:var(--muted);font-size:.84rem}.stats strong{display:block;font-size:clamp(1.45rem,2.6vw,2.2rem);font-weight:650;color:var(--green);margin:9px 0;overflow-wrap:anywhere}.balance-row,.manage-row,.trash-row{display:flex;gap:16px;align-items:start;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.balance-row strong{white-space:nowrap}.balance-row small{display:block;color:var(--muted)}.budget-row{border-bottom:1px solid var(--line);padding:16px 0}.budget-row header{display:flex;justify-content:space-between;gap:16px;font-size:.95rem;overflow-wrap:anywhere}.budget-row p{font-size:.82rem;color:var(--muted);margin:6px 0 10px}.budget-row .toolbar{gap:7px}.budget-row input{width:130px;min-width:0}.budget-row button{font-size:.8rem;padding:8px 12px}.budget-bar{height:6px;background:#edf0e7;border-radius:6px;margin:10px 0;overflow:hidden}.budget-bar span{display:block;height:100%;background:#8fa65b}.budget-row.over .budget-bar span{background:#b45343}.budget-row.over .remaining{color:#a3322b}.field small{font-size:.77rem;font-weight:400;color:var(--muted)}#tx-form .toolbar,#account-form .toolbar,#category-form .toolbar{margin-top:18px}#tx-form>label{margin-top:16px}.ledger{margin-top:24px}.compact{margin-top:0}.compact h3{margin-bottom:0}.filters{display:grid;grid-template-columns:1fr 1fr 2fr;gap:16px}.entry{padding:20px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px}.entry p{margin:3px 0;font-size:.88rem;white-space:pre-wrap;overflow-wrap:anywhere}.entry header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.entry .amount{font-size:1.2rem;white-space:nowrap;font-variant-numeric:tabular-nums}.entry .toolbar{margin-top:10px}.entry button,.manage-row button,.trash-row button{font-size:.8rem;padding:7px 11px}.entry .muted{font-size:.8rem}.entry .plan{color:#765628;background:#f0ead5}.pagination{justify-content:center;margin-top:22px}.management-list{margin-top:24px;max-height:400px;overflow:auto}.manage-row strong{display:block}.manage-row small{font-size:.8rem;color:var(--muted)}.manage-row .toolbar{flex-shrink:0}.backup{margin-top:40px}.backup .toolbar{margin-bottom:18px}.file-button{border:1px solid #c4cec1;border-radius:9px;padding:10px 16px;position:relative;display:inline-flex;align-items:center;min-height:44px;cursor:pointer;background:white;font-weight:600;overflow:hidden}.file-button input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.file-button:focus-within{outline:3px solid #8ba64a;outline-offset:3px}.mapping{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.confirmation{border:1px solid #aebb9d;margin:20px 0}.confirmation h2{font-size:1.3rem}.confirmation p{max-width:850px}.confirmation pre{max-height:230px;overflow:auto}#action-confirm:focus-within{outline:1px solid #cbd6c3}.trash{margin-top:24px}#trash-list{max-height:450px;overflow:auto}.limits{margin-top:20px;font-size:.8rem}button{white-space:normal}.empty{color:var(--muted);font-size:.9rem}.toolbar .field{margin:0}
@media(max-width:850px){.stats{grid-template-columns:1fr}.stats article{padding:20px}.grid-two,.mapping{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr}.filters label:last-child{grid-column:1/-1}.entry{grid-template-columns:1fr}.entry .amount{font-size:1.1rem}.period p{min-width:0;flex-basis:100%}.manage-row{flex-direction:column}.manage-row .toolbar{width:100%}.budget-row .toolbar{flex-wrap:wrap}.budget-row input{flex:1}.balance-row{flex-wrap:wrap}}
