:root{color-scheme:light;--green:#176b4d;--pale:#e9f4ee;--ink:#17231e;--muted:#617068;--line:#dce4df;--danger:#a22d2d;--card:#fff}*{box-sizing:border-box}body{margin:0;background:#f5f7f5;color:var(--ink);font:16px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;padding-bottom:84px}.app-shell{max-width:720px;margin:auto;padding:0 16px 24px}.topbar{padding:calc(16px + env(safe-area-inset-top)) 0 14px}.brand{font-size:1.25rem;font-weight:800;color:var(--green);text-decoration:none}.summary{background:var(--green);color:white;border-radius:18px;padding:18px;margin-bottom:18px;box-shadow:0 6px 18px #176b4d25}.eyebrow{margin:0 0 14px;font-size:.86rem;opacity:.82}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.summary span,.summary small{display:block;font-size:.8rem;opacity:.8}.summary strong{font-size:1.22rem;display:block}.summary .remaining strong{font-size:1.45rem}.card,.transaction,.history-card{background:var(--card);border:1px solid var(--line);border-radius:15px}.card{padding:18px;margin-bottom:22px}h1,h2,p{margin-top:0}h1{font-size:1.28rem;margin-bottom:14px}h2{font-size:1.08rem;margin:0}.page-heading{padding:9px 0 18px}.page-heading p{color:var(--muted);margin-bottom:0}label{font-weight:650;font-size:.92rem;display:block;margin-bottom:13px}input{display:block;width:100%;margin-top:5px;border:1px solid #bac8c0;border-radius:10px;background:#fff;padding:12px;font:inherit;min-height:48px;color:var(--ink)}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}button{border:0;border-radius:11px;background:var(--green);color:white;font:700 1rem inherit;min-height:48px;padding:10px 16px;cursor:pointer;width:100%}button:active{transform:translateY(1px)}button.secondary{background:#eaf0ec;color:var(--ink);margin-top:9px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:0 2px 10px}.section-heading span{color:var(--muted);font-size:.9rem}.transaction-list{display:grid;gap:9px}.transaction{padding:14px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.transaction strong,.transaction small{display:block}.transaction small,.amounts small{color:var(--muted);font-size:.82rem}.amounts{text-align:right;font-weight:700}.row-actions{grid-column:1/-1;display:flex;gap:14px;border-top:1px solid var(--line);padding-top:8px}.text-button{background:transparent;color:var(--green);width:auto;min-height:auto;padding:3px 0;font-size:.87rem}.text-button.delete{color:var(--danger)}.edit-card{display:block}.edit-card form{display:block}.danger-outline{color:var(--danger);background:transparent;border:1px solid #d8aaaa;margin-top:24px}.empty{padding:22px;text-align:center;color:var(--muted);background:white;border-radius:14px}.tabbar{position:fixed;z-index:3;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);display:flex;justify-content:center;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -2px 12px #0000000b}.tabbar a{flex:1;max-width:240px;text-align:center;text-decoration:none;color:var(--muted);padding:16px 8px;font-size:.88rem;font-weight:700}.tabbar a[aria-current=page]{color:var(--green)}.history-list{display:grid;gap:10px}.history-card{padding:15px;text-decoration:none;color:inherit;display:grid;gap:8px}.history-card div:last-child{text-align:right}.history-card small{display:block;color:var(--muted);font-size:.8rem}.history-card span{font-weight:750;color:var(--green)}.back{color:var(--green);display:inline-block;text-decoration:none;margin-bottom:14px;font-weight:650}.form-error{background:#fff0f0;color:#8a2525;padding:10px;border-radius:9px;font-size:.9rem}.success{color:var(--green);font-weight:700}@media (min-width:700px){body{padding-bottom:0}.app-shell{padding-bottom:32px}.tabbar{position:static;border-top:0;box-shadow:none;margin:auto;max-width:720px;border-bottom:1px solid var(--line);order:-1}.tabbar a{padding:12px}.topbar{padding-top:28px}.history-card{grid-template-columns:1fr 1fr;align-items:center}}

.inline-form { display: inline; margin: 0; }
.text-button { background: none; border: 0; padding: 0; font: inherit; cursor: pointer; text-decoration: none; }
.button { display: inline-block; text-decoration: none; text-align: center; }
