:root{--bg:#f5f5f3;--card:#eae9e7;--ink:#171717;--muted:#737373;--rule:#bbb9b6;--accent:#f12e13;--soft:#fff1ed}*{box-sizing:border-box}body{margin:0;background:#dededa;color:var(--ink);font:14px Arial,Helvetica,sans-serif}body.dark{--bg:#292827;--card:#41403e;--ink:#faf9f6;--muted:#b9b6b1;--rule:#64615e;--soft:#492c25;background:#1b1b1a}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button{border:0;background:none}h1,h2,h3,p{margin:0}button:disabled{opacity:.5;cursor:default}.app{max-width:1080px;min-height:100dvh;margin:auto;background:var(--bg);display:grid;grid-template-columns:220px 1fr}.sidebar{border-right:1px solid var(--rule);padding:38px 24px;display:flex;flex-direction:column;gap:36px}.brand{font-size:26px;font-weight:900;letter-spacing:-1px}.brand i{display:inline-block;width:12px;height:20px;background:var(--accent);margin-right:8px;transform:skewY(-20deg)}.tagline{font-size:12px;line-height:1.6;color:var(--muted);margin-top:10px}.nav{display:flex;flex-direction:column;gap:6px}.nav button{text-align:left;padding:15px 12px;display:flex;align-items:center;gap:14px;border-left:2px solid transparent;color:var(--muted)}.nav button.active{color:var(--accent);border-color:var(--accent);background:var(--soft)}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6}.sidefoot{margin-top:auto;font-size:11px;color:var(--muted);line-height:1.7}.main{min-width:0;padding-bottom:30px}.topbar{height:96px;padding:0 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule)}.topbar h1{font-size:20px}.eyebrow{font-size:10px;letter-spacing:1.1px;text-transform:uppercase;font-weight:bold}.muted{color:var(--muted)}.content{padding:28px 36px}.hero{background:var(--accent);color:white;padding:30px 36px}.hero .big{font-size:42px;letter-spacing:-1.6px;font-weight:800;margin:9px 0}.hero p{font-size:12px;line-height:1.6}.sectionhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.sectionhead h2{font-size:13px;letter-spacing:.7px;text-transform:uppercase}.textbtn{font-size:12px;color:var(--accent);padding:7px 0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.envelope{text-align:left;background:var(--card);padding:20px;min-width:0}.envelope.wide{grid-column:1/-1}.envelope .label{display:flex;justify-content:space-between;color:var(--accent);font-size:10px;letter-spacing:1px;text-transform:uppercase}.envelope strong{display:block;font-size:24px;letter-spacing:-.6px;margin:11px 0 6px}.envelope small{color:var(--muted);font-size:11px}.progress{height:4px;background:var(--rule);margin-top:12px}.progress span{display:block;height:100%;background:#666;max-width:100%}.wide .progress span{background:var(--accent)}.badge{border:1px solid var(--accent);padding:2px 5px;font-size:9px}.floating{position:fixed;bottom:32px;margin-left:700px;width:54px;height:54px;background:var(--accent);color:#fff;font-size:30px;z-index:3}.primary{background:var(--accent);color:white;font-weight:bold;padding:14px 16px;width:100%;text-align:left;margin-top:20px}.row{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--rule);gap:15px}.row small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.filters{display:flex;gap:7px;overflow:auto;padding-bottom:20px}.chip{padding:8px 12px;border:1px solid var(--rule);white-space:nowrap;font-size:11px}.chip.active{border-color:var(--accent);background:var(--accent);color:white}.day{font-size:10px;color:var(--muted);letter-spacing:1px;padding-top:20px}.positive{color:var(--accent)}.empty{padding:40px 0;color:var(--muted);line-height:1.8}.bars{height:160px;display:flex;align-items:flex-end;gap:12px;margin:25px 0 35px}.barcol{flex:1;height:100%;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:9px;font-size:10px;color:var(--muted)}.barcol div{width:100%;min-height:3px;background:var(--rule)}.barcol div.today{background:#65615e}.callout{background:var(--soft);color:var(--accent);padding:18px;line-height:1.6;margin-bottom:18px}.callout strong{display:block;margin-bottom:4px}.toggle{width:40px;height:23px;background:var(--rule);padding:3px;flex-shrink:0}.toggle.on{background:var(--accent)}.toggle span{display:block;background:white;width:17px;height:17px}.toggle.on span{margin-left:17px}.settingtitle{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:24px 0 6px}.segment{display:flex;border:1px solid var(--rule);margin-top:8px}.segment button{flex:1;padding:10px}.segment button.active{background:var(--accent);color:#fff;font-weight:bold}.avatar{width:44px;height:44px;background:#62605e;color:white;display:grid;place-items:center;font-weight:bold}.profile{display:flex;gap:12px;align-items:center}.setup{max-width:520px;min-height:100dvh;background:var(--bg);margin:auto;display:flex;flex-direction:column}.setup header{padding:25px;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between}.setup section{padding:30px 25px;flex:1}.setup h1{font-size:29px;letter-spacing:-.6px;margin-bottom:12px}.setup p{line-height:1.6;color:var(--muted);margin-bottom:28px}.setup footer{padding:25px}.field{display:block;margin-top:20px;color:var(--muted);font-size:12px}.field input,.field select{display:block;margin-top:8px;width:100%;padding:13px 12px;background:var(--card);border:1px solid var(--rule);color:var(--ink);border-radius:0}.counter{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--rule);padding:10px;margin-top:9px}.counter button{border:1px solid var(--rule);width:34px;height:34px}.counter strong{font-size:19px}.setup .callout{margin-top:25px;color:var(--ink);background:var(--card)}dialog{background:var(--bg);color:var(--ink);border:0;border-top:2px solid var(--ink);padding:26px;width:440px;max-width:100%;max-height:90dvh;overflow:auto}dialog::backdrop{background:#0008}.modalhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.modalhead h2{font-size:18px}.modalhead button{font-size:25px}.amount input{font-size:32px;font-weight:bold;width:100%;color:var(--ink);background:none;border:0;border-bottom:1px solid var(--rule);padding:10px 0}.choices{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.error{color:var(--accent);font-size:12px;margin-top:12px}#toast{position:fixed;bottom:95px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:13px 22px;display:none;z-index:10}.hint{font-size:11px;color:var(--muted);line-height:1.7;margin-top:18px}.mobilebrand{display:none}.stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:25px}.stat{background:var(--card);padding:20px}.stat strong{display:block;margin-top:10px;font-size:22px}@media(min-width:1100px){.floating{margin-left:710px}}@media(max-width:760px){body{background:var(--bg)}.app{display:block}.sidebar{padding:0;border:0;position:fixed;bottom:0;width:100%;height:65px;background:var(--bg);z-index:4;display:block;border-top:1px solid var(--rule)}.sidebar>.brand,.sidefoot{display:none}.nav{display:flex;flex-direction:row;gap:0;height:100%}.nav button{flex:1;justify-content:center;flex-direction:column;padding:8px 0;gap:5px;border-left:0;border-top:2px solid transparent;font-size:10px}.nav button.active{border-color:var(--accent);background:none}.main{padding-bottom:80px}.topbar{height:70px;padding:0 20px}.hero{padding:25px 20px}.hero .big{font-size:34px}.content{padding:23px 20px}.envelope{padding:15px 12px}.envelope strong{font-size:21px}.floating{margin:0;right:20px;bottom:86px}.mobilebrand{display:block;font-size:20px}.bars{gap:8px}dialog{position:fixed;bottom:0;margin:0 auto;padding:25px;max-width:520px;width:100%}.stats .stat{padding:14px}.stat strong{font-size:19px}}
