:root{--ink:#17302c;--muted:#6b7e79;--line:#dfe8e4;--paper:#f5f7f3;--green:#1f675d;--deep:#174b45;--mint:#dff1e8;--lime:#d9e98b;--peach:#f5dfce;--lilac:#e9e1f2}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Avenir,"Segoe UI",Arial,sans-serif}button,input,select{font:inherit;color:inherit}button{cursor:pointer}.brand{display:flex;align-items:center;gap:9px;font-size:21px;font-weight:800}.brand i{display:grid;place-items:center;width:35px;height:35px;border-radius:12px;background:var(--green);color:white;font:italic 24px Georgia}.top{max-width:1180px;margin:auto;padding:25px 5vw;display:flex;justify-content:space-between}.link{border:0;background:none;color:var(--green);font-weight:700}.welcome{max-width:1120px;min-height:650px;margin:28px auto;display:grid;grid-template-columns:1.1fr .9fr;background:#eaf2e7;border-radius:30px;overflow:hidden;box-shadow:0 20px 70px #234a3c16}.welcome-copy{padding:78px 64px;background:radial-gradient(circle at 90% 90%,#d9e9c7,transparent 45%)}.eyebrow{color:var(--green);font-size:10px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase}.welcome h1,.question h1,.page-head h1{font-family:Georgia,serif;letter-spacing:-1.5px}.welcome h1{font-size:54px;line-height:1.05;margin:18px 0}.welcome-copy>p{max-width:500px;color:var(--muted);font-size:17px;line-height:1.6}.ticks{display:grid;gap:13px;margin-top:32px;font-size:13px;font-weight:700}.account{align-self:center;background:white;margin:25px;padding:44px;border-radius:23px;box-shadow:0 12px 45px #274f4117}.account h2{font:28px Georgia;margin:0 0 8px}.account>p,.question>p{color:var(--muted);font-size:13px;line-height:1.5}.field{display:grid;gap:7px;margin:16px 0;font-size:11px;font-weight:800}.field input,.field select,.row input,.row select,.moneybox input{width:100%;border:1px solid var(--line);background:#fbfcfa;border-radius:10px;padding:12px;outline:none}.field input:focus,.field select:focus{border-color:#76a69b;box-shadow:0 0 0 3px #1f675d12}.primary,.secondary{border:0;border-radius:12px;padding:13px 18px;font-weight:800}.primary{background:var(--green);color:white}.primary:hover{background:var(--deep)}.wide{width:100%}.note{display:block;text-align:center;color:#8a9793;font-size:10px;line-height:1.5;margin-top:13px}.onboard{min-height:100vh;background:radial-gradient(circle at 5% 15%,#d9e98b44,transparent 25%),var(--paper);padding-bottom:40px}.progress{max-width:750px;margin:34px auto 14px;display:flex;align-items:center;gap:13px;font-size:10px;color:#72837d}.track{height:5px;flex:1;background:#dce5df;border-radius:10px;overflow:hidden}.track i{display:block;height:100%;background:var(--green);transition:.3s}.question{max-width:750px;margin:auto;background:white;border:1px solid var(--line);border-radius:25px;padding:43px 50px;box-shadow:0 18px 55px #244d3f12}.question h1{font-size:36px;margin:12px 0 7px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}.choice{border:1px solid var(--line);background:#fbfcfa;border-radius:13px;padding:17px;text-align:left;font-weight:700}.choice.on{border:2px solid var(--green);background:#edf6f0}.choice b{display:inline-grid;place-items:center;width:31px;height:31px;border-radius:9px;background:var(--mint);margin-right:9px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.two{grid-template-columns:1fr 1fr}.entry,.review{border:1px solid var(--line);border-radius:15px;padding:16px;background:#fafcfa;margin-top:22px}.row{display:grid;grid-template-columns:1.4fr .7fr .8fr 26px;gap:8px;margin-bottom:8px}.row button{border:0;background:none;font-size:20px}.add{border:0;background:none;color:var(--green);font-weight:800;padding:12px 0}.tip{background:#edf6f0;border-radius:12px;padding:14px;font-size:11px;color:#506c65}.money-big{display:flex;align-items:baseline;justify-content:center;background:#fafcfa;border:1px solid var(--line);border-radius:15px;padding:22px;margin:20px 0}.money-big input{width:170px;border:0;background:none;text-align:center;font:44px Georgia}.money-big span{font:26px Georgia}.money-big small{color:var(--muted)}.review>div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 3px;font-size:12px}.review>div:last-child{border:0;color:var(--green);font-size:16px;font-weight:800}.actions{display:flex;justify-content:space-between;border-top:1px solid #edf1ef;margin-top:28px;padding-top:22px}.secondary{background:white;border:1px solid var(--line)}.app{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:220px;background:white;border-right:1px solid var(--line);padding:24px 17px;display:flex;flex-direction:column}.sidebar .brand{margin:0 9px 35px}.nav{display:grid;gap:5px}.nav button{display:flex;gap:12px;border:0;background:none;border-radius:10px;padding:11px 13px;color:#667873;font-weight:700;text-align:left}.nav button.on{background:#eaf3ed;color:var(--green)}.nav span{width:18px;text-align:center}.side-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:12px}.profile{display:flex;align-items:center;gap:10px;padding:10px}.avatar{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:var(--mint);font-weight:800;color:var(--green)}.profile p{display:grid;margin:0;font-size:11px}.profile small{color:var(--muted)}.main{margin-left:220px;padding:32px 42px 70px}.page-head,.dashboard,.content{max-width:1120px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-head h1{font-size:28px;margin:0}.page-head p{margin:4px 0;color:var(--muted);font-size:12px}.learn{display:flex;align-items:center;gap:10px;background:white;border:1px solid var(--line);border-radius:12px;padding:8px 12px;font-size:10px;font-weight:800}.switch{width:34px;height:19px;border-radius:20px;background:#becbc6;position:relative}.switch:after{content:"";position:absolute;width:13px;height:13px;left:3px;top:3px;background:white;border-radius:50%;transition:.2s}.switch.on{background:var(--green)}.switch.on:after{transform:translateX(15px)}.hero{background:linear-gradient(115deg,#226e63,#154b44);color:white;border-radius:22px;padding:38px 43px;min-height:230px;position:relative;overflow:hidden}.hero:after{content:"✓";position:absolute;right:80px;top:50px;display:grid;place-items:center;width:100px;height:100px;border:42px solid #d9e98b22;border-radius:50%;background:#d9e98b;color:var(--deep);font-size:28px}.hero small{font-size:9px;letter-spacing:1px}.hero strong{display:block;font:58px Georgia;margin:10px 0 2px}.hero p{font-size:11px;color:#cee0dc}.hero-actions{display:flex;gap:9px;margin-top:24px}.hero-actions button{border:1px solid #ffffff44;background:transparent;color:white;border-radius:11px;padding:10px 13px;font-weight:800;font-size:11px}.hero-actions button:first-child{background:white;color:var(--green)}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:13px 0}.metric,.card,.section{background:white;border:1px solid var(--line);border-radius:16px;padding:21px}.metric{display:flex;gap:12px;align-items:center}.metric i{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--mint);font-style:normal}.metric:nth-child(2) i{background:var(--peach)}.metric:nth-child(3) i{background:var(--lilac)}.metric p{display:grid;margin:0}.metric small,.label{font-size:8px;letter-spacing:1px;color:#81908b;font-weight:800}.metric b{font:20px Georgia;margin:3px 0}.metric span{font-size:9px;color:var(--muted)}.cards{display:grid;grid-template-columns:1.1fr .9fr;gap:13px}.card h2,.section h2{font:19px Georgia;margin:5px 0}.card p,.section p{color:var(--muted);font-size:11px;line-height:1.5}.coach{background:#eff3dc}.goal-line{display:flex;align-items:center;gap:18px;margin-top:18px}.ring{width:85px;height:85px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green) var(--degree),#e9efec 0);position:relative}.ring:after{content:"";position:absolute;inset:8px;border-radius:50%;background:white}.ring b{position:relative;z-index:1}.goal-line strong{font:24px Georgia}.timeline{margin-top:13px}.timeline div,.transactions div{display:flex;align-items:center;padding:12px 0;border-top:1px solid #edf1ef;font-size:11px}.timeline strong,.transactions strong{margin-left:auto}.positive{color:var(--green)}.section{margin-bottom:13px}.section-title{display:flex;align-items:center;gap:12px;margin-bottom:18px}.section-title i{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--mint);font-style:normal}.section-title h2,.section-title p{margin:0}.save{display:block;margin-left:auto}.summary{background:#eaf2df;border:1px solid #dce6d3;border-radius:18px;padding:30px;margin-bottom:14px}.summary strong{font:37px Georgia;margin:0 10px}.bar{height:9px;background:#dce5df;border-radius:10px;overflow:hidden;margin:20px 0}.bar i{display:block;height:100%;background:var(--green)}.transaction-icon{width:34px;height:34px;border-radius:10px;background:var(--mint);display:grid;place-items:center;margin-right:11px}.transactions p{display:grid;margin:0}.transactions small{color:var(--muted)}.goal-detail{background:linear-gradient(135deg,#e6f0df,#f4f6e8);border-radius:20px;padding:38px}.goal-detail h2{font:34px Georgia;margin:10px 0}.goal-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:20px 0}.goal-stats span{display:grid}.goal-stats b{font:22px Georgia}.coach-view{display:grid;grid-template-columns:.8fr 1.2fr;gap:13px}.prompts,.chat{background:white;border:1px solid var(--line);border-radius:17px;padding:26px;min-height:500px}.prompts h2{font:27px Georgia}.prompts button{display:block;width:100%;text-align:left;border:1px solid var(--line);background:#fbfcfa;border-radius:11px;padding:12px;margin:8px 0;font-size:11px}.chat{display:flex;flex-direction:column}.messages{display:flex;flex-direction:column;gap:9px}.bubble{max-width:80%;padding:12px;border-radius:13px;font-size:11px;line-height:1.5}.bubble.user{align-self:flex-end;background:var(--green);color:white}.bubble.nuvo{background:#eff3dc}.chat form{display:flex;border:1px solid var(--line);border-radius:12px;padding:5px;margin-top:auto}.chat input{flex:1;border:0;outline:none;padding:8px}.chat form button{border:0;background:var(--green);color:white;border-radius:9px;width:36px}.reset{display:block;margin:30px auto;border:0;background:none;color:#87948f;text-decoration:underline;font-size:10px}.tour{position:fixed;z-index:20;right:25px;bottom:25px;width:340px;background:white;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 20px 65px #153e3540}.tour header{display:flex;justify-content:space-between;color:var(--green);font-size:9px;font-weight:800}.tour header button{border:0;background:none}.tour h3{font:19px Georgia;margin:12px 0 5px}.tour p{font-size:11px;color:var(--muted);line-height:1.5}.tour footer{display:flex;justify-content:space-between;align-items:center}.tour footer button:first-child{border:0;background:none;color:var(--muted);font-size:10px}.modal-wrap{position:fixed;z-index:30;inset:0;background:#132f2a66;backdrop-filter:blur(4px);display:grid;place-items:center;padding:18px}.modal{position:relative;width:min(460px,100%);background:white;border-radius:21px;padding:32px;box-shadow:0 20px 70px #0e2c2550}.close{position:absolute;right:15px;top:14px;border:0;background:#eef2ef;border-radius:50%;width:29px;height:29px}.result{display:flex;gap:12px;background:#eaf4ed;border-radius:13px;padding:15px;margin:20px 0}.result.bad{background:#f8eadf}.result b{font-size:12px}.result p{margin:4px 0 0}.toast{position:fixed;right:25px;bottom:25px;background:var(--deep);color:white;padding:13px 18px;border-radius:11px;font-size:11px}.hidden{display:none!important}
@media(max-width:850px){.welcome{grid-template-columns:1fr;margin:18px}.welcome-copy{padding:45px}.sidebar{width:72px;padding:20px 8px}.sidebar .brand span,.nav button{font-size:0}.sidebar .nav button.on{font-size:0}.nav button{justify-content:center}.nav span{font-size:17px}.profile p{display:none}.main{margin-left:72px;padding:25px 20px}.metrics{grid-template-columns:1fr}.cards,.coach-view{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.row{grid-template-columns:1.3fr .7fr .8fr 24px}}
@media(max-width:600px){.welcome-copy{padding:34px 24px}.welcome h1{font-size:39px}.account{padding:28px 22px;margin:14px}.question{margin:0 12px;padding:34px 22px}.question h1{font-size:29px}.choices,.two{grid-template-columns:1fr}.sidebar{inset:auto 0 0 0;width:100%;height:calc(68px + env(safe-area-inset-bottom));z-index:10;border:0;border-top:1px solid var(--line);border-radius:0;padding:6px 8px env(safe-area-inset-bottom);box-shadow:0 -8px 30px #17302c18}.sidebar .brand,.side-bottom{display:none}.nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;width:100%;height:100%}.nav button,.sidebar .nav button.on{min-width:0;font-size:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:5px 2px}.nav span{font-size:16px}.main{margin:0;padding:18px 13px calc(94px + env(safe-area-inset-bottom))}.page-head p{max-width:220px}.learn>span:first-child{display:none}.hero{padding:27px 23px}.hero:after{display:none}.hero strong{font-size:49px}.metrics{grid-template-columns:1fr 1fr}.metric:last-child{grid-column:1/3}.cards{grid-template-columns:1fr}.tour{left:13px;right:13px;bottom:calc(78px + env(safe-area-inset-bottom));width:auto}.goal-stats{gap:8px}.goal-detail{padding:28px 21px}.question .form-grid{grid-template-columns:1fr}}
