@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@500;600;650;700;750;800&display=swap');
:root{--pink:#ac3266;--blush:#fbf0f5;--mint:#e6f4ee;--green:#397d68;--ink:#24292e;--muted:#858990;--line:#edf0ef;--soft:#f6f7f8;--white:#fff}*{box-sizing:border-box}body{margin:0;background:var(--white);color:var(--ink);font:14px 'DM Sans',sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;border:0}a{color:inherit;text-decoration:none}button:disabled{opacity:.55;cursor:wait}header{height:89px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(32px,calc((100vw - 1200px)/2));gap:20px}.header-actions{display:flex;align-items:center;gap:16px}.badge{font-size:10px;padding:6px 9px;border-radius:20px;background:var(--mint);color:var(--green)}.quiet{background:none;color:var(--muted);padding:8px}.iconbtn{background:none;font-size:22px;color:var(--ink)}.avatar{border-radius:50%;background:var(--blush);color:var(--pink);width:34px;height:34px;font-weight:700}nav{display:flex;justify-content:center;gap:17px;border-bottom:1px solid var(--line);padding:16px;position:sticky;top:0;background:var(--white);z-index:5}nav button{background:none;color:var(--muted);padding:12px 21px;border-radius:12px;display:flex;align-items:center;gap:9px}nav button.active{background:var(--blush);color:var(--pink);font-weight:700}.ico{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px}.ico svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}main{max-width:1200px;margin:0 auto;padding:36px 0 65px;min-height:calc(100vh - 260px)}.eyebrow{color:var(--muted);font-size:12px;margin:0 0 9px}h1,h2,h3,p{margin-top:0}h1{font:750 31px Manrope;letter-spacing:-1px;margin-bottom:28px}h2{font:700 19px Manrope;letter-spacing:-.5px;margin-bottom:20px}h3{font-size:14px;margin-bottom:8px}p{line-height:1.7}.grid{display:grid;grid-template-columns:1.85fr 1fr;gap:30px}.card{border-radius:19px;padding:26px;background:var(--soft);margin-bottom:24px}.balance{background:var(--mint);padding:28px 30px 25px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.balance .label{color:var(--green);font-size:13px}.big{font:750 44px Manrope;letter-spacing:-1.5px;margin:20px 0 25px}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:20px}.metric small{display:block;color:var(--muted);font-size:12px;margin-bottom:7px}.metric strong{font-size:18px}.green{color:var(--green)}.pink{color:var(--pink)}.micro{font-size:10px;letter-spacing:.6px;text-transform:uppercase}.balance .micro{color:var(--green);margin:24px 0 0}.services{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.service{border-radius:17px;background:var(--soft);padding:22px 8px 18px;min-height:130px;color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:12px;text-align:center;transition:transform .2s,background .2s}.service:hover{transform:translateY(-3px);background:var(--mint)}.service .ico{color:var(--muted)}.service strong{font-size:12px;line-height:1.5}.service small{font-size:10px;color:var(--muted)}.service.featured{background:var(--blush);color:var(--pink)}.insight{background:var(--blush);padding:23px}.insight h3{display:flex;align-items:center;gap:9px;color:var(--pink);font-size:12px;margin-bottom:15px}.insight p{font-size:13px;margin-bottom:13px}.link{background:none;color:var(--pink);font-weight:600;padding:0;font-size:12px}.section-head{display:flex;justify-content:space-between;align-items:center;margin:26px 0 8px}.section-head h2{margin:0}.transaction{display:flex;align-items:center;gap:13px;padding:17px 0;border-bottom:1px solid var(--line);width:100%;background:none;color:var(--ink);text-align:left}.transaction .tile{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--soft);color:var(--muted);flex-shrink:0}.transaction .tile.income{color:var(--green);background:var(--mint)}.transaction .details{flex:1;min-width:0}.transaction strong{font-size:12px}.transaction small{display:block;color:var(--muted);font-size:11px;margin-top:6px}.transaction .amount{white-space:nowrap;font-weight:650;font-size:13px}.collect{margin-top:24px;padding:20px}.collect p{font-size:11px;color:var(--muted);margin:5px 0 15px}.primary,.secondary{padding:13px 20px;border-radius:9px;font-weight:600;font-size:13px;display:inline-flex;justify-content:center;align-items:center;gap:8px}.primary{background:var(--pink);color:#fff}.secondary{background:var(--blush);color:var(--pink)}.wide{width:100%}.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:24px;flex-wrap:wrap}.toolbar input{flex:1;min-width:150px}.budget-line{height:6px;background:#eee3e8;border-radius:8px;overflow:hidden;margin:14px 0 10px}.budget-line span{display:block;height:100%;background:var(--pink);border-radius:8px}.bars{height:150px;display:flex;align-items:end;gap:18px;margin:30px 0}.bar{flex:1;max-width:65px;background:#ead0dc;border-radius:6px 6px 0 0;position:relative;min-height:3px}.bar:last-child{background:var(--pink)}.bar small{position:absolute;bottom:-22px;left:0;right:0;text-align:center;color:var(--muted);font-size:10px}.category{margin:20px 0}.category .row{font-size:12px}.category .budget-line{height:4px;margin-top:8px}.subtle{color:var(--muted);font-size:12px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.chip{padding:9px 16px;border-radius:30px;background:var(--soft);color:var(--muted);font-size:12px}.chip.selected{background:var(--blush);color:var(--pink)}.tracker-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.tracker{border:1px solid var(--line);background:var(--white);text-align:left;border-radius:16px;padding:23px;color:var(--ink)}.tracker .ico{color:var(--green);margin-bottom:20px}.tracker strong{display:block;font:700 20px Manrope;margin:12px 0 5px}.habit{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.habit input{accent-color:var(--green);width:17px;height:17px}.habit label{flex:1}.habit small{color:var(--muted);font-size:11px}.steps{display:flex;align-items:center;gap:25px}.ring{width:95px;height:95px;border-radius:50%;background:conic-gradient(var(--green) 202deg,#d7e9e2 0);display:grid;place-items:center;position:relative}.ring:before{content:'';position:absolute;inset:8px;background:var(--mint);border-radius:50%}.ring span{position:relative;font-size:23px}.empty{text-align:center;padding:45px 24px;color:var(--muted);line-height:1.8}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.setting{padding:20px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.setting button{background:var(--soft);padding:8px 15px;border-radius:8px;color:var(--pink)}footer{max-width:1200px;margin:auto;border-top:1px solid var(--line);padding:25px 0;display:flex;justify-content:space-between;color:var(--muted);font-size:10px}dialog{border:0;border-radius:23px;max-width:460px;width:calc(100% - 30px);padding:30px;color:var(--ink);background:var(--white);max-height:90vh}dialog::backdrop{background:#162c2455;backdrop-filter:blur(4px)}dialog h2{font-size:23px;margin:20px 0 9px}dialog .close{float:right;background:var(--soft);border-radius:50%;width:28px;height:28px;color:var(--muted)}label.field{display:block;font-size:12px;margin:17px 0 7px}input,select,textarea{border:1px solid transparent;background:var(--soft);padding:13px 14px;border-radius:8px;color:var(--ink);width:100%}input:focus,textarea:focus,select:focus{border-color:var(--pink);outline:none}textarea{resize:vertical;min-height:80px}form .primary{margin-top:22px}.form-message{font-size:12px;color:var(--pink);line-height:1.6;margin-top:14px}.auth-divider{text-align:center;color:var(--muted);font-size:11px;margin:17px 0}.google{border:1px solid var(--line);background:var(--white);color:var(--ink)}.auth-links{display:flex;justify-content:space-between;margin:17px 0}.consent{font-size:11px;display:flex;align-items:start;gap:10px;line-height:1.5;margin-top:18px}.consent input{width:15px;flex-shrink:0}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--white);padding:13px 22px;border-radius:12px;z-index:30;max-width:90%;display:none;font-size:13px}.chat{max-width:760px;margin:auto}.chat-entry{padding:22px;border-radius:16px;margin:20px 0;line-height:1.8;background:var(--mint)}.chat-entry.user{background:var(--blush);margin-left:80px}.chat-form{display:flex;gap:12px;position:sticky;bottom:20px;background:var(--white);padding:12px 0}.chat-form .primary{margin:0}.dark{--white:#171b20;--ink:#edf0ef;--soft:#22272e;--muted:#a1a7ae;--line:#30353a;--mint:#183d32;--blush:#422438;--green:#9ed4bb}.notice{padding:12px 16px;border-radius:10px;background:var(--soft);color:var(--muted);font-size:11px;line-height:1.7;margin:16px 0}.auth-page{max-width:410px;margin:25px auto}.title-row{display:flex;justify-content:space-between;align-items:start}.title-row .primary{margin-top:0}.full{grid-column:1/-1}
@media(min-width:1400px){main{padding-top:45px}.grid{gap:38px}.balance{min-height:258px}.service{min-height:140px}}
@media(max-width:1250px){main,footer{margin-left:32px;margin-right:32px}}
@media(max-width:800px){header{padding:0 22px;height:73px}.header-actions{gap:12px}.install{display:none}.grid{grid-template-columns:1fr;gap:0}main{margin:0;padding:28px 22px 100px}footer{display:none}nav{position:fixed;top:auto;bottom:0;width:100%;padding:9px 5px calc(9px + env(safe-area-inset-bottom));justify-content:space-around;gap:0;border-top:1px solid var(--line);border-bottom:0}nav button{flex-direction:column;gap:4px;font-size:10px;padding:8px 11px}nav button .ico{width:20px;height:20px}.services{gap:8px}.service{padding:17px 5px;min-height:113px}.service strong{font-size:10px}.service small{font-size:9px}.balance{padding:24px}.big{font-size:37px}.badge{display:none}h1{font-size:27px;margin-bottom:23px}.settings-grid{grid-template-columns:1fr}.insight{margin-top:25px}.tracker{padding:18px}#toast{bottom:90px}.chat-form{bottom:75px}.title-row{gap:10px}.title-row .primary{padding:10px;font-size:11px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Android-first refinements: 320px to tablet, with 48px touch targets. */
html{scroll-padding-bottom:110px;scrollbar-gutter:stable}body{min-width:280px;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}button,a{touch-action:manipulation}button{min-height:48px}button:focus-visible,a:focus-visible{outline:3px solid var(--green)}[hidden]{display:none!important}.header-context{display:flex;gap:8px;align-items:center;font:650 15px Manrope;min-width:0}.header-actions{gap:8px}.iconbtn,.avatar{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.avatar{width:40px;height:40px;min-height:40px}.fa-icon svg{width:20px;height:20px;fill:currentColor;stroke:none}.primary .ico,.secondary .ico{width:18px;height:18px}.primary .ico svg,.secondary .ico svg{width:16px;height:16px}.quiet{display:inline-flex;align-items:center;justify-content:center;gap:7px}.home-add{margin:-6px 0 6px}.link{min-height:44px;display:inline-flex;align-items:center}.row>*{min-width:0}.toolbar select{width:auto;flex:0 1 180px}.transaction .details strong{overflow-wrap:anywhere}.transaction .amount{font-variant-numeric:tabular-nums}.card{min-width:0}.grid>*{min-width:0}.subtle,.eyebrow{color:#70767e}.dark .subtle,.dark .eyebrow{color:#a1a7ae}dialog .close{width:48px;height:48px;display:flex;align-items:center;justify-content:center}dialog form{clear:both}dialog .close .ico{width:18px}.title-row h1{min-width:0}.title-row>.primary{flex-shrink:0}input,select,textarea{font-size:16px;min-height:48px}.consent input,.habit input{min-height:0}.consent{padding:8px 0}.google{display:flex;gap:12px}nav button{min-height:52px}nav button.active .ico{color:var(--pink)}
@media(max-width:800px){
 html{scrollbar-gutter:auto}header{height:auto;min-height:68px;padding:calc(8px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left));gap:4px;border-bottom:0}.header-context{font-size:13px}.header-actions{gap:2px}header .badge{display:none}header .iconbtn{width:42px;min-width:42px}.header-actions .avatar{width:36px;height:36px;min-height:36px}main{padding:16px max(16px,env(safe-area-inset-right)) calc(110px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));min-height:calc(100dvh - 68px)}h1{font-size:26px;line-height:1.3;letter-spacing:-.8px}h2{font-size:18px}.title-row{align-items:center}.title-row .quiet{font-size:11px;padding:0 0 0 8px}.title-row .quiet .ico{width:16px}.title-row h1{margin-bottom:20px}.title-row>.primary{font-size:12px;padding:10px 13px;min-height:48px}.balance{border-radius:22px;padding:20px 22px}.balance .big{font-size:38px;margin:12px 0 22px}.balance .micro{font-size:9px;line-height:1.7;margin-top:20px}.balance .label{font-size:13px}.metric small{font-size:11px;line-height:1.5}.metric strong{font-size:18px}.balance .quiet{padding:0;min-height:32px}.card{margin-bottom:20px}.services{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.service{min-height:119px;padding:18px 7px 14px;gap:10px;border-radius:16px}.service strong{font-size:12px}.service small{font-size:9px;line-height:1.5}.service .ico svg{width:22px;height:22px}.service.featured{order:-1}.insight{margin-top:22px}.insight p{font-size:14px}.insight h3{font-size:13px}.section-head{margin-top:24px}.section-head .link{padding-left:8px}.transaction{padding:16px 0;gap:11px}.transaction strong{font-size:13px}.transaction small{font-size:11px;line-height:1.5}.transaction .amount{font-size:13px}.collect h3{line-height:1.6}.collect h3 .ico{margin-right:5px}nav{padding:8px max(4px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left));box-shadow:0 -6px 24px #273f3306;background:var(--white)}nav button{flex:1;max-width:110px;min-width:0;min-height:57px;padding:7px 2px;border-radius:15px;font-size:10px;gap:5px}nav .fa-icon svg{width:20px;height:20px}.tracker-grid{gap:12px}.tracker{min-width:0;padding:18px 14px}.tracker strong{font-size:18px;overflow-wrap:anywhere}.tracker .subtle{font-size:11px}.steps{gap:18px}.ring{flex-shrink:0;width:76px;height:76px}.toolbar{gap:10px}.toolbar input{flex-basis:100%;min-width:0}.toolbar select{flex:1;min-width:0}.toolbar .primary{flex:1}.settings-grid{gap:18px}.setting{gap:15px;font-size:14px}.setting button{min-height:48px;min-width:88px}.chat-entry.user{margin-left:28px}.chat-form{bottom:calc(79px + env(safe-area-inset-bottom));padding:8px 0;gap:8px}.chat-form input{min-width:0}.chat-form .primary{padding:12px}dialog{width:calc(100% - 20px);max-height:calc(100dvh - 24px);padding:22px;border-radius:22px}dialog h2{font-size:22px;line-height:1.4;clear:both}.auth-links .link{font-size:12px}.notice{font-size:12px}.home-add{margin-top:-4px;min-height:50px}.eyebrow{font-size:11px}.chips .chip{min-height:44px}#toast{bottom:calc(95px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100% - 32px)}
}
@media(max-width:359px){.services{grid-template-columns:repeat(2,minmax(0,1fr))}.header-context{font-size:12px}.header-actions{gap:0}header .iconbtn{width:38px;min-width:38px}.balance{padding:18px}.balance .big{font-size:34px}.metric strong{font-size:16px}.tracker-grid{grid-template-columns:1fr}.title-row h1{font-size:23px}.title-row>.primary{max-width:120px;white-space:normal}.header-context #back{width:30px;min-width:30px}}
@media(max-height:500px) and (orientation:landscape){dialog{max-height:94dvh}main{padding-bottom:100px}nav button{min-height:48px}.chat-form{position:static}}
@media(display-mode:standalone){#install-button{display:none}}
@media(max-width:800px){header .iconbtn{width:48px;min-width:48px}header .avatar{width:48px;height:48px;min-height:48px}}
@media(max-width:359px){.metric small{min-height:33px}}
