:root{--bg:#f2f2f7;--card:#fff;--text:#111114;--muted:#75757e;--blue:#087af5;--green:#269d69;--red:#df6158;--orange:#e99722;--line:#e7e7ed;--safe:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif}body{display:flex;justify-content:center}button,input,select{font:inherit}button{cursor:pointer}#app{width:100%;max-width:480px;min-height:100dvh;position:relative;background:var(--bg)}header{height:104px;padding:calc(18px + env(safe-area-inset-top,0px)) 18px 10px;display:flex;align-items:end;justify-content:space-between}header small{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.6px}h1{margin:2px 0 0;font-size:31px;letter-spacing:-.8px}h2{margin:0}.iconBtn{border:0;width:42px;height:42px;border-radius:50%;background:var(--card);color:var(--blue);box-shadow:0 2px 12px #0000000b}main{height:calc(100dvh - 104px);overflow:auto;padding:0 17px calc(100px + var(--safe));scrollbar-width:none}main::-webkit-scrollbar{display:none}nav{position:absolute;z-index:5;bottom:0;left:0;right:0;height:calc(78px + var(--safe));padding:0 7px calc(8px + var(--safe));background:#fffffff0;border-top:1px solid var(--line);backdrop-filter:blur(18px);display:flex;align-items:center;justify-content:space-around}nav button{border:0;background:none;color:var(--muted);font-size:21px;width:70px;display:grid;place-items:center;gap:3px}nav span{font-size:10px}nav .active{color:var(--blue);font-weight:650}nav .add{width:52px;height:52px;border-radius:50%;background:var(--blue);color:#fff;font-size:29px;margin-top:-27px;box-shadow:0 8px 20px #087af54d}.hero{background:linear-gradient(145deg,#1b88f6,#0566d3);color:#fff;border-radius:26px;padding:23px;box-shadow:0 12px 28px #087af52b}.hero small{opacity:.84}.big{font-size:40px;font-weight:780;letter-spacing:-1.5px;margin:5px 0}.hero p{font-size:13px;opacity:.87;margin:0}.forecast{display:flex;justify-content:space-between;align-items:end;border-top:1px solid #ffffff42;margin-top:16px;padding-top:15px}.forecast strong{font-size:20px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:13px 0 22px}.metric,.card{background:var(--card);border-radius:20px;box-shadow:0 2px 12px #00000009}.metric{padding:16px}.metric small{display:block;color:var(--muted);margin-bottom:6px}.metric strong{font-size:21px}.green{color:var(--green)}.red{color:var(--red)}.orange{color:var(--orange)}.sectionHead{display:flex;align-items:center;justify-content:space-between;margin:22px 2px 10px}.sectionHead h2{font-size:18px}.link{border:0;background:none;color:var(--blue)}.list{padding:4px 16px}.row{display:grid;grid-template-columns:40px 1fr auto;gap:11px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}.row.tap{cursor:pointer}.ico{width:40px;height:40px;border-radius:13px;display:grid;place-items:center}.name{font-size:14px;font-weight:680}.sub{color:var(--muted);font-size:12px;margin-top:3px}.val{text-align:right;font-weight:700;font-size:14px}.val small{display:block;color:var(--muted);font-weight:400;margin-top:2px}.bar{height:6px;background:var(--line);border-radius:8px;overflow:hidden;margin-top:7px}.bar i{display:block;height:100%;background:var(--blue);border-radius:8px}.bar i.warn{background:var(--orange)}.bar i.over{background:var(--red)}.pendingTotal{display:flex;justify-content:space-between;align-items:center;padding:14px 15px;background:#fff8e8;border:1px solid #f5deaa;border-radius:18px;margin-bottom:10px}.pendingTotal span{font-size:13px;color:#806225}.pendingTotal strong{color:#775510}.badge{display:inline-block;background:#f0f0f4;color:var(--muted);border-radius:12px;padding:3px 7px;font-size:9px;font-weight:700;margin-top:4px}.empty{padding:24px;text-align:center;color:var(--muted)}.toolbar{display:flex;gap:8px;margin-bottom:12px}.toolbar input{flex:1}.primary{border:0;background:var(--blue);color:#fff;border-radius:12px;padding:11px 14px;font-weight:650}.secondary{border:0;background:var(--card);color:var(--blue);border-radius:12px;padding:11px 14px;font-weight:650}.settingsGroup{overflow:hidden;margin-bottom:18px}.setting{width:100%;border:0;background:var(--card);color:var(--text);display:flex;justify-content:space-between;align-items:center;padding:15px 16px;border-bottom:1px solid var(--line);text-align:left}.setting:last-child{border:0}.setting small{display:block;color:var(--muted);margin-top:3px}.version{text-align:center;color:var(--muted);font-size:12px;margin:28px}.negative{color:var(--red)}dialog{width:min(430px,calc(100% - 20px));border:0;border-radius:24px;padding:0;background:var(--card);color:var(--text);box-shadow:0 20px 70px #0004}dialog::backdrop{background:#0007;backdrop-filter:blur(4px)}form{padding:0 18px 20px}.dialogHead{height:60px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);margin:0 -18px;padding:0 12px}.dialogHead h2{font-size:17px}.dialogHead button{border:0;background:none;color:var(--blue)}.dialogHead button:last-child{justify-self:end;font-weight:700}.segments{display:grid;grid-template-columns:repeat(3,1fr);background:var(--bg);padding:3px;border-radius:12px;margin:18px 0}.segments button{border:0;background:none;color:var(--muted);padding:9px 4px;border-radius:9px}.segments .on{background:var(--card);color:var(--text);box-shadow:0 2px 7px #0001;font-weight:650}label{display:block;color:var(--muted);font-size:13px;margin:14px 0}input,select{width:100%;margin-top:6px;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:12px;padding:12px;font-size:16px}#error{color:var(--red);font-size:13px}.confirmBox{padding:22px}.confirmBox p{color:var(--muted);line-height:1.4}.confirmActions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px}.confirmActions button{border:0;border-radius:12px;padding:11px}.danger{background:var(--red);color:#fff}#toast{position:fixed;z-index:20;bottom:calc(90px + var(--safe));left:50%;transform:translateX(-50%) translateY(8px);background:#222;color:#fff;border-radius:12px;padding:10px 14px;opacity:0;pointer-events:none;transition:.2s;white-space:nowrap;font-size:13px}#toast.on{opacity:1;transform:translateX(-50%)}@media(prefers-color-scheme:dark){:root{--bg:#09090b;--card:#1c1c1e;--text:#f6f6f7;--muted:#a3a3aa;--line:#333338}nav{background:#1c1c1ef0}.pendingTotal{background:#332a18;border-color:#58451f}.pendingTotal span,.pendingTotal strong{color:#f0c96c}.badge{background:#303035}}
