@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap");:root{--bg:#f7f9f6;--text:#182824;--muted:#74817c;--line:#e7ece7;--green:#146b50;--soft:#e8f3ed}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:DM Sans,sans-serif}button,input{font:inherit}button{cursor:pointer}h1,h2,p{margin-top:0}.app{display:flex;min-height:100vh}.sidebar{width:246px;background:#fff;border-right:1px solid var(--line);padding:32px 17px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;font-family:Manrope,sans-serif;font-weight:800;font-size:23px;letter-spacing:-1px}.mark{display:grid;place-items:center;border-radius:12px;background:#175a43;color:white;height:37px;width:37px;font-size:22px}.accent{color:#23ae7c}.sideLabel{font-size:10px;color:#a4b0a9;letter-spacing:2px;font-weight:800;margin:55px 16px 17px}.nav{width:100%;display:flex;align-items:center;gap:14px;background:none;border:0;text-align:left;padding:14px 17px;border-radius:11px;color:#67766e;font-weight:600;margin-bottom:5px}.nav.selected,.nav:hover{background:#eaf4ee;color:#166747}.sideBottom{margin-top:auto;color:#7b9085;font-size:12px;display:flex;align-items:center;gap:8px;padding:12px}.main{flex:1 1;padding:46px min(5vw,70px);max-width:1500px;margin:0 auto;width:100%}.top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:38px}.eyebrow{color:#388667;letter-spacing:2.2px;font-size:10px;font-weight:800;margin-bottom:12px}.top h1{font:800 34px Manrope;margin-bottom:7px;letter-spacing:-1.1px}.muted,.top p{color:var(--muted);line-height:1.65}.outline{border:1px solid #e2ebe4;border-radius:10px;background:white;display:inline-flex;gap:8px;align-items:center;padding:11px 15px;font-size:12px;color:#41594d;font-weight:700}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:15px;gap:15px;margin-bottom:24px}.panel,.tile{background:white;border:1px solid var(--line);border-radius:17px;padding:25px}.featured{background:#16583f;color:#fff;border-color:#16583f}.tileLabel{display:flex;justify-content:space-between;font-size:12px;font-weight:700;color:#798b81}.featured .tileLabel{color:#bed5c8}.big{font:800 30px Manrope;letter-spacing:-1px;margin:23px 0 7px}.tile p{font-size:11px;line-height:1.55;color:#9aa69f;margin:0}.featured p{color:#c8ded1}.twoCol{display:grid;grid-template-columns:1.25fr 1fr;grid-gap:22px;gap:22px}.panelHead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:19px}.panel h2{font:800 17px Manrope;letter-spacing:-.4px;margin:0 0 15px}.panelHead h2{margin:0}.link,.textButton{background:none;border:0;color:#19835a;font-weight:700;font-size:12px}.txn{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid #eef1ee;gap:12px}.txn:last-child{border:0}.txn strong{display:block;font-size:13px}.goal small,.txn small{display:block;color:#99a69d;font-size:11px;margin-top:6px}.txn b{font-size:13px}.goal{padding:17px 0;border-bottom:1px solid var(--line)}.goal>span{font-size:13px;color:#74867a}.goal strong{float:right;font-size:13px}.track{background:#e9f0eb;height:8px;overflow:hidden;margin-top:22px}.track,.track div{border-radius:20px}.track div{background:#24a478;height:100%}.empty{background:#f8faf8;border:1px dashed #dce7df;border-radius:12px;padding:32px 20px;text-align:center;color:#98a89d;font-size:13px}.upload{display:flex;gap:8px;align-items:center;padding:10px 13px;background:#16583f;color:white;border-radius:9px;font-size:12px;cursor:pointer}.upload input{display:none}.inlineForm{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.inlineForm input,.login input{border:1px solid #dbe7dc;background:#fff;border-radius:9px;padding:12px;min-width:0}.inlineForm button,.login form button{background:#175a43;border:0;color:white;border-radius:9px;padding:12px 18px;display:flex;align-items:center;gap:6px}.setting{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}footer{font-size:10px;letter-spacing:1.2px;color:#aab4ad;margin:36px 0}.notice{background:#ecf6f1;border:1px solid #cae5d5;padding:14px 18px;border-radius:10px;margin-bottom:20px;color:#226c4c;font-size:13px}.notice button{float:right;border:0;background:none}.login{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;padding:25px}.loginCard{width:min(100%,440px);background:white;border:1px solid var(--line);border-radius:22px;padding:40px;box-shadow:0 10px 45px #173b2310}.loginCard h1{font:800 28px Manrope;letter-spacing:-1px;margin:4px 0}.loginCard p{color:#829188}.loginCard label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:700;margin:18px 0}.loginCard form button{width:100%;justify-content:center;margin-top:25px}.loginCard .textButton{margin:20px 0}.loginCard small{display:block;font-size:11px;color:#9daaa2;line-height:1.6}.loginCard .error{color:#ad3d35;font-size:12px}@media(max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.sidebar{width:80px;padding:24px 10px}.nav,.sideLabel,.sidebar .brand span:not(.mark){font-size:0}.nav,.sidebar .brand{justify-content:center}.sideBottom{font-size:0}.main{padding:30px 20px}.twoCol{grid-template-columns:1fr}}@media(max-width:520px){.sidebar{display:none}.stats{grid-template-columns:1fr 1fr;gap:8px}.tile{padding:16px}.big{font-size:24px}.main{padding:25px 13px}.top h1{font-size:27px}.top .outline{font-size:0}.top .outline svg{width:18px}.panel{padding:19px}}.spendingManager{min-height:420px}.filterBar{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.searchField{display:flex;align-items:center;gap:9px;border:1px solid #dbe7dc;border-radius:12px;padding:0 12px;background:#f8faf8;min-width:230px;flex:1 1}.searchField input{border:0;background:transparent;outline:0;padding:12px 0;width:100%;min-width:0}.prettySelect{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:#f8faf8;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23165d42' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;border:1px solid #dbe7dc;border-radius:12px;padding:11px 38px 11px 13px;color:#243d31;font-weight:600;max-width:100%;cursor:pointer}.prettySelect:focus-visible,.searchField:focus-within{outline:2px solid #1c976c;outline-offset:2px}.resultsMeta{font-size:12px;color:#74817c;margin-bottom:7px}.reviewRow{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #edf0ec;padding:17px 0}.reviewDetails{min-width:0}.reviewDetails strong{font-size:14px;overflow-wrap:anywhere}.reviewDetails small{display:block;color:#798c80;font-size:11px;margin-top:5px}.reviewAmount{white-space:nowrap;font-size:14px}.reviewFlags{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}.reviewFlags label{display:flex;align-items:center;gap:5px;padding:6px 9px;border:1px solid #e1eae2;border-radius:9px;font-size:11px;background:#fafcfb;cursor:pointer}.reviewFlags input{accent-color:#167650}.pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:19px;color:#6e8275;font-size:12px}.pagination>div{display:flex;gap:8px}.pagination button:disabled{opacity:.35;cursor:not-allowed}.linkedAccount{margin-top:14px;background:#eff7f1;border:1px solid #d5e9dc;border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}.linkedAccount span{font-size:10px;letter-spacing:1.4px;color:#61836e;font-weight:800}.linkedAccount strong{font-size:13px;float:none;overflow-wrap:anywhere}@media(max-width:620px){.filterBar>*{width:100%;flex:1 1}.reviewRow{gap:8px}.reviewAmount{font-size:12px}.linkedAccount{padding:11px}}.insightsStack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:22px;gap:22px;margin-top:24px}.insightsStack>.panel:last-of-type{grid-column:1/-1}.cashEstimate{font:800 27px Manrope,sans-serif;color:#146b50;margin:10px 0 15px}.commitmentGrid{margin:20px 0;display:grid;grid-gap:10px;gap:10px}.commitment{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:9px 0}.commitment>span{font-size:12px;font-weight:600}.commitment .inlineForm{margin:0}.commitment .inlineForm input{max-width:110px}.periodToggle{display:flex;padding:3px;background:#edf5ef;border-radius:10px;gap:3px}.periodToggle button{border:0;background:transparent;padding:8px 10px;color:#648275;border-radius:8px;font-size:11px;font-weight:700}.periodToggle .selected{background:white;color:#155f44;box-shadow:0 1px 3px #0001}.insightTotal{font:800 24px Manrope,sans-serif;margin-bottom:20px}.insightTotal small{display:block;margin-top:6px;color:#84958b;font:500 11px DM Sans,sans-serif}.categoryLine{margin:17px 0}.categoryLine>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:12px}.categoryLine span{font-weight:700}.categoryTrack{height:7px;margin-top:8px;background:#edf4ef;border-radius:10px;overflow:hidden}.categoryTrack>div{background:#1a9870;height:100%;border-radius:10px}.scenarioGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin:20px 0}.scenarioGrid>div{padding:16px;border-radius:12px;border:1px solid #dbe9df;background:#f8fbf8;display:flex;flex-direction:column;gap:9px}.scenarioGrid span{font-size:11px;color:#678273}.scenarioGrid strong{font:800 22px Manrope,sans-serif}.scenarioGrid small{font-size:11px;color:#6c8072}.scenarioGrid .link{text-align:left;padding:0}@media(max-width:1000px){.insightsStack,.scenarioGrid{grid-template-columns:1fr}.insightsStack>.panel:last-of-type{grid-column:auto}}@media(max-width:620px){.commitment{align-items:flex-start;flex-direction:column}.insightsStack .panel{padding:18px}}.metricStack{display:grid;grid-template-columns:1fr;grid-gap:0;gap:0}.metricStack>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #edf1ed}.metricStack span{font-size:12px;color:#73877a}.metricStack strong{font:800 17px Manrope}.insightSubhead{font:800 14px Manrope;margin:25px 0 9px}.cashProjection{display:flex;flex-direction:column;gap:6px;background:#edf6ef;padding:16px;border-radius:12px;margin:15px 0}.cashProjection>small,.cashProjection>span{color:#668270;font-size:11px}.cashProjection>strong{font:800 23px Manrope;color:#165a43}.recurringPreview{border-top:1px solid #e6ede7;margin-top:16px;padding-top:12px}.recurringPreview>strong{font-size:12px}.recurringPreview>div{padding:8px 0;font-size:12px;color:#667c6d;gap:9px}.recurringPreview>div,.scenarioRow{display:flex;justify-content:space-between}.scenarioRow{gap:12px;border-bottom:1px solid #e5ebe6;padding:17px 0}.scenarioRow>div:first-child{display:flex;flex-direction:column;gap:7px;min-width:0}.scenarioRow strong{font-size:13px}.scenarioRow small{font-size:11px;color:#74817c;line-height:1.5}.scenarioRow span{font-size:12px;font-weight:700}.scenarioRow>div:last-child{display:flex;align-items:flex-start;gap:8px}.purchaseForm{margin-top:16px;background:#f7faf7;border:1px solid #dce9dd;border-radius:13px;padding:18px}.purchaseForm h3{margin-top:0;font-size:15px}.purchaseForm label{display:flex;flex-direction:column;gap:7px;margin:12px 0;font-size:12px;font-weight:700;color:#607569}.purchaseForm input,.purchaseForm textarea{font:inherit;border:1px solid #d5e5da;border-radius:9px;background:white;padding:10px;color:#17362a;width:100%;max-width:100%;resize:vertical}.purchaseInputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.purchaseActions{display:flex;gap:9px;margin-top:16px}.purchaseActions>button:first-child{border:0;background:#16583f;color:white;border-radius:9px;padding:11px 16px;font-weight:700}@media(max-width:650px){.purchaseInputs{grid-template-columns:1fr}.scenarioRow{flex-direction:column}.scenarioRow>div:last-child{align-self:flex-start}}.quickMetrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;margin-bottom:23px}.quickMetrics .tile{padding:20px;min-height:150px}.quickMetrics .big{margin:14px 0 8px;font-size:clamp(21px,2.3vw,29px);overflow-wrap:anywhere}.quickMetrics .tileLabel{line-height:1.4}.quickMetrics .tile p{font-size:10px}.quickMetrics+.insightsStack{margin-top:0}.insightsStack+.twoCol{margin-top:24px}@media(max-width:1100px){.quickMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.quickMetrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.quickMetrics .tile{padding:14px;min-height:136px}.quickMetrics .big{font-size:clamp(17px,5vw,24px)}.quickMetrics .tile p{font-size:9px}}.travelWorkspace{display:grid;grid-gap:22px;gap:22px}.travelWorkspace .quickMetrics{grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.travelMetric{font:800 21px Manrope,sans-serif;margin:12px 0;overflow-wrap:anywhere}.travelTrips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}.travelTrip{text-align:left;color:var(--text);font:inherit;cursor:pointer}.travelTrip.selected{border-color:var(--green);background:var(--soft)}.travelTrip h2{font-size:18px}.travelTrip small,.travelTrip strong{display:block;margin:10px 0}.travelTrip p{font-size:13px;color:var(--muted)}.travelFilters{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end;margin:20px 0}.travelFilters label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#41594d;flex:1 1 160px}.travelFilters input:not([type=checkbox]),.travelFilters select{width:100%;min-width:0;padding:11px;border:1px solid #dbe7de;border-radius:9px;background:#fff;color:var(--text);font:inherit}.travelFilters small{line-height:1.5;color:var(--muted)}.travelFilters .travelConfirm{flex:1 0 100%;flex-direction:row;align-items:flex-start;line-height:1.6}.travelConfirm input{margin-top:4px}.travelWorkspace button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:1000px){.travelWorkspace .quickMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}.travelTrips{grid-template-columns:1fr}}@media(max-width:620px){.travelWorkspace .reviewRow,.travelWorkspace .setting{flex-wrap:wrap}.travelMetric{font-size:18px}.travelFilters label{flex-basis:100%}}