:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17212b;background:#f4f7f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:0}button:disabled{opacity:.6;cursor:wait}.app{max-width:650px;margin:auto;min-height:100dvh;padding-bottom:95px}header{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:#fff;border-bottom:1px solid #e4e9ed}.brand{display:flex;align-items:center;gap:10px;color:#0f766e;font-size:19px}main{padding:18px}.month{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;text-transform:capitalize}.month button{border-radius:9px;background:#fff;padding:5px 16px;font-size:24px}.balance{border-radius:22px;padding:26px 22px;background:linear-gradient(135deg,#0f766e,#115e59);color:#fff;box-shadow:0 10px 30px #0f766e25}.balance>span{opacity:.85}.balance h1{font-size:37px;margin:12px 0 25px;letter-spacing:-1px}.totals{display:flex;gap:20px;border-top:1px solid #ffffff50;padding-top:16px}.totals>div{display:flex;flex:1;flex-direction:column;gap:5px}.totals small{opacity:.8}.positive{color:#0f9f72}.negative{color:#d14e54}.balance .positive{color:#bbf7d0}.balance .negative{color:#fecaca}.add,form button:not(.toggle button){display:flex;justify-content:center;align-items:center;gap:8px;background:#0f766e;color:#fff;padding:15px;border-radius:13px;font-weight:700;width:100%;margin:18px 0}.panel{background:#fff;border:1px solid #e6ecef;border-radius:18px;padding:20px;margin-top:16px}.panel h2{font-size:19px;margin:0 0 17px}.transaction{display:flex;align-items:center;gap:7px;padding:13px 0;border-bottom:1px solid #edf0f1}.transaction:last-child{border-bottom:0}.transactionBody{flex:1;min-width:0}.transactionBody strong{display:block;font-size:13px}.transactionBody small{display:block;color:#64748b;margin-top:4px;overflow-wrap:anywhere}.transaction>strong{font-size:13px;white-space:nowrap}.iconButton{background:transparent;color:#64748b;padding:6px;display:flex}.muted{color:#64748b}.sectionhead{display:flex;justify-content:space-between;align-items:center}.textButton,.back{display:flex;gap:6px;align-items:center;background:transparent;color:#0f766e}.back{margin-bottom:18px}.entry label,.auth label{display:flex;flex-direction:column;gap:8px;font-weight:600;margin:14px 0}.entry input,.entry select,.auth input{width:100%;border:1px solid #cbd5e1;border-radius:11px;padding:13px;background:#fff;color:#17212b}.toggle{display:flex;background:#edf4f3;border-radius:12px;padding:4px}.toggle button{flex:1;padding:12px;border-radius:9px;background:transparent}.toggle .active{background:#0f766e;color:#fff}.stat{margin:19px 0}.statlabel{display:flex;justify-content:space-between;gap:8px;font-size:13px}.track{height:9px;background:#e5e7eb;border-radius:10px;overflow:hidden;margin-top:8px}.track>div{background:#0f766e;height:100%;border-radius:10px}.center{max-width:460px;min-height:100dvh;margin:auto;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:24px;text-align:center}.auth{width:100%;text-align:left}.auth>svg{display:block;margin:auto}.auth h1,.auth>p{text-align:center}.auth small{color:#64748b}.error{color:#b42318}.banner{padding:12px;background:#fee4e2;border-radius:10px;margin-bottom:10px}nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);max-width:650px;width:100%;background:#fff;display:flex;border-top:1px solid #e5e7eb;padding:8px 0 max(10px,env(safe-area-inset-bottom));box-shadow:0 -4px 20px #00000008}nav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;background:transparent;color:#64748b;font-size:12px;padding:7px}nav .selected{color:#0f766e;font-weight:700}hr{border:0;border-top:1px solid #e5e7eb;margin:25px 0}@media(max-width:390px){.transaction{gap:3px}.transaction>strong{font-size:12px}.iconButton{padding:4px}.balance h1{font-size:31px}}.warning{color:#ad7500}.budgetEditor{padding:14px 0;border-bottom:1px solid #edf0f1}.budgetEditor:last-child{border-bottom:0}.budgetEditor label{display:block}.budgetEditor label strong{font-size:14px}.budgetControls{display:flex;gap:8px;margin-top:9px}.budgetControls input{min-width:0;flex:1;border:1px solid #cbd5e1;border-radius:9px;padding:10px}.budgetControls button{background:#0f766e;color:#fff;border-radius:9px;padding:10px 12px;font-size:13px}.budgetControls button:disabled{background:#b8c6c3}.budgetEditor .stat{margin:12px 0 3px}.budgetEditor .statlabel{font-size:12px}.stat small{display:block;margin-top:6px}.substat{margin:5px 0 0 12px;font-size:.85rem;color:#64748b}
