:root{--green:#1d4d2f;--green-light:#e8f1e9;--ink:#18221b;--muted:#667168;--line:#dce4dd;--bg:#f7f8f6;--red:#a8372c}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}button,input,select{font:inherit}.app{max-width:760px;margin:auto;padding:env(safe-area-inset-top) 16px calc(86px + env(safe-area-inset-bottom))}.topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 0 22px}.brand{display:flex;align-items:center;gap:10px}.brand img{height:40px;width:40px}.brand strong,.brand span{display:block}.brand span,.welcome span,.screen-heading p,small{color:var(--muted);font-size:.82rem}.icon-button,.close{border:0;background:transparent;font-size:1.6rem;color:var(--green)}.screen{display:none}.screen.active{display:block}.welcome{padding:6px 0 20px}.welcome p,.screen-heading p{margin:0 0 4px}.welcome h1,.screen-heading h1{margin:0;font-size:1.7rem}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.summary-grid article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;min-height:112px}.summary-grid span,.summary-grid strong,.summary-grid small{display:block}.summary-grid span{font-size:.76rem;color:var(--muted)}.summary-grid strong{font-size:1.35rem;margin:10px 0 4px}.cash-card{background:var(--green)!important;color:#fff;border-color:var(--green)!important}.cash-card span,.cash-card small{color:#e7f1e8}.section{margin-top:26px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.section-title h2{font-size:1.02rem;margin:0}.section-title button{color:var(--green);background:none;border:0;font-size:.85rem}.compact-list,.data-list{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.list-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 14px;border-bottom:1px solid var(--line)}.list-row:last-child{border-bottom:0}.list-row strong,.list-row span{display:block}.list-row span{font-size:.8rem;color:var(--muted);margin-top:3px}.badge{background:var(--green-light);color:var(--green)!important;padding:4px 8px;border-radius:99px;font-size:.72rem!important;white-space:nowrap}.screen-heading{display:flex;justify-content:space-between;align-items:center;margin:5px 0 18px}.primary{border:0;background:var(--green);color:#fff;padding:10px 13px;border-radius:10px;font-weight:600;font-size:.86rem}.small{margin-bottom:14px}.small article{min-height:86px}.small article strong{font-size:1.12rem}.progress{height:7px;background:var(--green-light);border-radius:8px;overflow:hidden;margin-top:9px}.progress i{display:block;height:100%;background:var(--green)}.amount.income{color:var(--green)}.amount.expense{color:var(--red)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:2px;background:#fff;border-top:1px solid var(--line);padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));overflow-x:auto}.nav-item{min-width:72px;border:0;background:transparent;color:var(--muted);font-size:1.2rem;padding:3px 4px}.nav-item span{display:block;font-size:.68rem;margin-top:2px}.nav-item.active{color:var(--green);font-weight:700}.empty{padding:28px 16px;text-align:center}.empty strong,.empty span{display:block}.empty span{font-size:.85rem;color:var(--muted);margin-top:5px}dialog{border:0;border-radius:16px;width:min(92vw,440px);padding:0;box-shadow:0 12px 40px #0004}dialog::backdrop{background:#15211788}dialog form{padding:18px}dialog header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}dialog h2{font-size:1.2rem;margin:0}.close{line-height:1}.field{display:grid;gap:6px;margin:12px 0}.field label{font-size:.85rem;font-weight:600}.field input,.field select{width:100%;padding:11px;border:1px solid var(--line);border-radius:9px;background:#fff}.submit{width:100%;margin-top:10px}@media(max-width:480px){.summary-grid{grid-template-columns:1fr 1fr}.summary-grid .cash-card{grid-column:span 2}.bottom-nav{justify-content:flex-start}.app{padding-left:12px;padding-right:12px}}
