*{box-sizing:border-box}body{margin:0;background:#edf2ef;color:#203e32;font:15px system-ui,-apple-system,sans-serif}main{max-width:760px;margin:auto;padding:24px 20px 48px;min-height:100vh;background:#f8faf8}header,.heading,.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center}h1{font-size:27px;margin:6px 0}h2{font-size:19px}small,.muted{color:#6c7d74;font-size:13px;line-height:1.7}button{background:#164f3e;color:white;padding:12px 16px;border:0;border-radius:12px;cursor:pointer;font:inherit}button:disabled{opacity:.55;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b3863c;outline-offset:2px}.secondary{background:#e7eeea;color:#234b39}label{display:block;margin:14px 0;font-size:14px}input,select{display:block;width:100%;padding:13px;margin-top:6px;border:1px solid #cedbd1;border-radius:10px;background:white;font:inherit;color:#203e32}form{background:white;border-radius:18px;padding:18px;border:1px solid #e1e8e2}nav{display:flex;gap:8px;margin:20px 0}nav button{flex:1;background:#e5ede7;color:#244937;padding:12px 6px}nav button.active{background:#164f3e;color:white}.toolbar{margin-top:18px;font-size:13px}.filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.filters label{flex:1;margin:0;min-width:130px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.card{padding:18px;border:1px solid #e1e8e2;border-radius:16px;background:white;margin-bottom:12px}.card strong{font-size:23px;display:block;margin-top:8px}.hero{background:#164f3e;color:white;padding:24px;border-radius:20px;margin-top:18px}.hero strong{font-size:34px;display:block;margin:12px 0}.hero small{color:#d4e4db}.line{display:flex;justify-content:space-between;gap:12px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.actions button{font-size:13px;padding:9px 12px}.income{color:#27805b}.expense{color:#a76335}#message{background:#fff0d3;padding:12px;border-radius:12px}#message:empty{display:none}#login{margin-top:48px}dialog{border:0;border-radius:18px;max-width:440px;width:90%;padding:0}dialog::backdrop{background:#122b2370}#payError{color:#a34332}[hidden]{display:none!important}.empty{padding:36px 12px;text-align:center;color:#748379}
