:root{--bg:#f3f7f6;--card:#fff;--text:#15302d;--muted:#6b7d7a;--primary:#0f766e;--primary2:#14b8a6;--danger:#b42318;--line:#dce7e4;--shadow:0 12px 30px rgba(15,118,110,.08)}
*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Tahoma,sans-serif;background:var(--bg);color:var(--text);padding-bottom:84px}.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:18px max(18px,calc((100vw - 980px)/2));background:linear-gradient(135deg,#0f766e,#115e59);color:#fff;box-shadow:0 8px 20px rgba(15,118,110,.2)}h1,h2,p{margin:0}.topbar h1{font-size:1.55rem}.topbar p{opacity:.86;font-size:.9rem;margin-top:3px}.container{max-width:980px;margin:auto;padding:18px}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.summary-grid .card{padding:18px}.summary-grid span{display:block;color:var(--muted);font-size:.88rem}.summary-grid strong{display:block;margin-top:8px;font-size:1.45rem}.accent{background:linear-gradient(135deg,#0f766e,#14b8a6);color:#fff;border:none}.accent span{color:rgba(255,255,255,.82)}.panel{padding:20px;margin-bottom:16px}.section-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px}.section-title h2{font-size:1.15rem}.section-title p{color:var(--muted);font-size:.86rem;margin-top:4px}.upload-box{display:flex;align-items:center;justify-content:center;min-height:110px;border:2px dashed #8dc9c2;border-radius:16px;background:#f5fffd;color:var(--primary);font-weight:700;cursor:pointer;margin-bottom:16px}.upload-box input{display:none}.preview{padding:12px;border:1px solid var(--line);border-radius:16px;margin-bottom:16px;text-align:center}.preview img{max-width:100%;max-height:360px;border-radius:12px}.preview p{margin-top:8px;color:var(--muted);font-size:.85rem}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;margin-bottom:15px}.form-grid label{font-size:.85rem;color:var(--muted);font-weight:600}.form-grid input,.form-grid select{width:100%;margin-top:6px;border:1px solid #cbdad7;border-radius:12px;padding:12px;background:#fff;font-size:1rem;color:var(--text)}.form-grid input:focus,.form-grid select:focus{outline:2px solid rgba(20,184,166,.22);border-color:var(--primary2)}.full{grid-column:1/-1}.primary,.ghost{border:0;border-radius:12px;padding:12px 16px;font-weight:700;cursor:pointer}.primary{background:var(--primary);color:#fff;width:100%}.ghost{background:rgba(255,255,255,.15);color:inherit;border:1px solid currentColor}.danger{color:var(--danger)}.transaction-list{display:grid;gap:10px}.tx-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);border-radius:14px}.tx-info strong{display:block}.tx-info small{color:var(--muted)}.tx-amount{font-weight:800;white-space:nowrap}.tx-amount.expense{color:var(--danger)}.tx-amount.income{color:var(--primary)}.empty{text-align:center;padding:26px;color:var(--muted)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:20;display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-top:1px solid var(--line);padding:8px max(8px,calc((100vw - 700px)/2));padding-bottom:max(8px,env(safe-area-inset-bottom))}.bottom-nav button{background:none;border:0;padding:10px;color:var(--muted);font-weight:700}.bottom-nav button.active{color:var(--primary)}.hidden{display:none!important}@media(max-width:680px){.summary-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.panel{padding:16px}.container{padding:12px}.summary-grid .card{padding:16px}.section-title{align-items:center}.section-title .ghost{font-size:.75rem;padding:9px}}
