@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap";:root{--purple:#754de1;--dark:#282536;--muted:#898592;--line:#eeecf3;--bg:#f8f9fc}*{box-sizing:border-box}body{background:var(--bg);color:var(--dark);margin:0;font-family:DM Sans,Arial,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit;text-decoration:none}button{color:inherit}:is(button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible){outline-offset:3px;outline:3px solid #bca8f9}button{transition:background .16s,transform .16s}button:active:not(:disabled){transform:translateY(1px)}.shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--line);z-index:30;background:#fff;flex-direction:column;width:238px;padding:34px 20px 0;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-1px;align-items:center;gap:10px;margin:0 10px 38px;font:800 26px Manrope,sans-serif;display:flex}.brand-x{color:var(--purple)}.brand-symbol{color:#fff;background:#7650e3;border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.brand small{letter-spacing:1.7px;color:#93909e;margin-top:2px;font:650 8px DM Sans,sans-serif;display:block}.workspace{border:1px solid var(--line);border-radius:10px;align-items:center;gap:9px;margin-bottom:32px;padding:12px 9px;display:flex}.workspace-icon{color:#787087;background:#f4f1fb;border:1px solid #e9e4f3;border-radius:8px;padding:7px;display:flex}.workspace b{font-size:12px;display:block}.workspace small{color:var(--muted);margin-top:3px;font-size:10px;display:block}.workspace-dot,.green-dot{background:#62ac98;border-radius:50%;width:6px;height:6px;display:inline-block}.workspace-dot{margin-left:auto}.nav-label{letter-spacing:1.4px;color:#a5a0b0;margin:0 14px 13px;font-size:9px;font-weight:650}nav button{text-align:left;color:#898393;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;width:100%;margin-bottom:6px;padding:13px;font-size:13px;font-weight:500;display:flex}nav button:hover{background:#faf8ff}nav button.active{color:#744bd9;background:#f0eafb;font-weight:600}.nav-count{background:#e5dcf7;border-radius:4px;margin-left:auto;padding:2px 6px;font-size:10px}.sidebar-bottom{margin-top:auto;padding-top:50px}.tip{background:#f8f6fd;border:1px solid #eee8fa;border-radius:12px;margin-bottom:24px;padding:17px}.tip-icon{color:var(--purple);display:flex}.tip h3{margin:10px 0 8px;font:700 13px/1.65 Manrope,sans-serif}.tip p{color:#9990a5;margin:0 0 12px;font-size:11px;line-height:1.7}.tip button{width:100%;color:var(--purple);background:0 0;border:0;border-top:1px solid #eae4f3;justify-content:space-between;align-items:center;padding:12px 0 0;font-size:11px;font-weight:600;display:flex}.profile{border-top:1px solid var(--line);align-items:center;gap:9px;padding:20px 0;display:flex}.avatar{color:#7956c7;background:#f0e9fc;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:11px;font-weight:700;display:grid}.profile b{font-size:11px}.profile small{color:var(--muted);margin-top:3px;font-size:9px;display:block}.profile a{color:#b6b0c0;margin-left:auto}.avatar.small{width:30px;height:30px;font-size:10px}main{width:calc(100% - 238px);min-width:0;margin-left:238px}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:78px;padding:0 38px;display:flex}.breadcrumb{color:#a09ba9;align-items:center;gap:13px;font-size:11px;display:flex}.breadcrumb b{color:#686371;font-weight:500}.top-right{align-items:center;gap:20px;display:flex}.saved{color:#8d8896;align-items:center;gap:7px;font-size:10px;display:flex}.saved>span{background:#70b6a5;border-radius:50%;width:5px;height:5px}.content{max-width:1700px;margin:auto;padding:34px 38px 20px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px;display:flex}.eyebrow{letter-spacing:1.75px;color:#9990ad;margin:0 0 10px;font-size:9px;font-weight:700}h1{letter-spacing:-.9px;margin:0 0 9px;font:750 clamp(23px,2vw,30px)/1.3 Manrope,sans-serif}.subtitle{color:#938c9e;margin:0;font-size:12px}.button{white-space:nowrap;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-size:12px;font-weight:600;display:inline-flex}.primary{color:#fff;background:#7650df;box-shadow:0 3px 6px #6c49b31a}.primary:hover{background:#653bd3}.secondary{color:#77717f;background:#fff;border:1px solid #e7e3ef}.secondary:hover{background:#f7f4fc}.small-button{padding:8px 12px;font-size:11px}.icon-button{color:#a39aaf;background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;padding:5px;display:inline-flex}.icon-button:hover{color:#6b47c8;background:#eee9f7}.filterbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:21px;display:flex}.filters-left,.filter-actions{align-items:center;gap:12px;display:flex}.month-control{background:#fff;border:1px solid #e8e5ef;border-radius:7px;align-items:center;padding:3px;display:flex}.month-control label{text-align:center;text-transform:capitalize;color:#686272;min-width:141px;font-size:11px;position:relative}.month-control input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.select-wrap{color:#9891a4;align-items:center;gap:8px;display:flex}.select-wrap select{color:#8f879b;background:0 0;border:0;max-width:175px;padding:6px 0;font-size:11px}.text-button{color:#8564c6;background:0 0;border:0;align-items:center;gap:7px;font-size:11px;font-weight:500;display:flex}.demo-link{color:#96909f;font-size:10px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:22px;display:grid}.stat-card{border:1px solid var(--line);background:#fff;border-radius:12px;min-height:155px;padding:18px 19px 16px}.stat-card.accent{color:#fff;background:#7a54df;border-color:#7a54df;position:relative;overflow:hidden}.stat-label{color:#8d849c;justify-content:space-between;align-items:center;gap:8px;font-size:11px;font-weight:500;display:flex}.stat-label>span{border-radius:8px;place-items:center;width:29px;height:29px;display:grid}.accent .stat-label{color:#e4d8ff}.accent .stat-label>span{background:#ffffff1a}.lavender{color:#9a7cdb;background:#f2edfd}.mint{color:#6db39d;background:#e9f6f1}.peach{color:#d5a567;background:#fff5e8}.stat-value{letter-spacing:-1.2px;align-items:baseline;gap:3px;margin:8px 0 7px;font:700 32px Manrope,sans-serif;display:flex}.stat-value small{letter-spacing:-.5px;font-size:21px;font-weight:500}.stat-value svg{opacity:.55;align-self:center;margin-left:auto}.stat-value.money{white-space:nowrap;margin-top:14px;margin-bottom:17px;font-size:clamp(20px,1.8vw,27px)}.stat-value .muted{color:#b1aabb;font-size:17px}.stat-card p{color:#a39baa;margin:8px 0 0;font-size:9px;line-height:1.5}.stat-card p b{color:#8a8197;font-weight:500}.accent p{color:#e3d6fd}.mini-track{background:#ffffff30;border-radius:3px;height:3px;margin-top:10px;overflow:hidden}.mini-track span{background:#fff;height:100%;display:block}.green-dot{margin-right:4px}.analysis-grid{grid-template-columns:minmax(0,1fr) 288px;gap:21px;margin-bottom:24px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.chart-panel{padding:22px 23px 13px}.panel-title{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.panel h2{letter-spacing:-.3px;margin:0;font:700 14px Manrope,sans-serif}.panel p{color:#a09aaa;margin:7px 0 0;font-size:10px}.tag{text-transform:capitalize;color:#9b91a8;border:1px solid #e8e4ef;border-radius:5px;padding:5px 9px;font-size:10px}.chart{margin-left:-8px;position:relative}.chart>svg{width:100%;height:205px;display:block}.axis{fill:#a49aac;font-family:DM Sans,sans-serif;font-size:10px}.chart-legend{color:#9b91a7;justify-content:center;gap:23px;margin:8px 0;font-size:9px;display:flex}.chart-legend span{align-items:center;gap:6px;display:flex}.purple-dot{background:#885add;border-radius:50%;width:6px;height:6px}.dashed-line{border-top:1px dashed #ac9bc4;width:16px}.chart-empty{color:#b8a4dc;pointer-events:none;background:#ffffff85;flex-direction:column;justify-content:center;align-items:center;gap:9px;font-size:10px;display:flex;position:absolute;inset:0}.chart-empty b{color:#9583aa;font-size:12px}.chart-empty span{color:#aaa0b7}.pace-card{text-align:center;background:#f2edfb;border:1px solid #e7ddf9;border-radius:12px;padding:20px 22px;position:relative;overflow:hidden}.pace-title{justify-content:center;align-items:center;gap:8px;display:flex}.pace-title span{color:#9777d3;display:flex}.pace-title h2{color:#65517f;margin:0;font-size:12px;font-weight:600}.gauge{width:210px;height:139px;margin:4px auto 0;position:relative}.gauge svg{width:100%;height:auto}.gauge-value{color:#674d8c;font:750 22px Manrope,sans-serif;position:absolute;bottom:-1px;left:0;right:0}.gauge-value small{font-size:13px}.pace-card h3{margin:12px 0 8px;font:700 14px Manrope,sans-serif}.pace-card p{color:#a08db5;max-width:220px;margin:0 auto;font-size:10px;line-height:1.75}.pace-card button{color:#8d6abb;background:0 0;border:0;border-top:1px solid #e3d8f3;justify-content:center;align-items:center;gap:10px;width:100%;margin-top:14px;padding:12px 0 0;font-size:10px;font-weight:600;display:flex}.goals-header{justify-content:space-between;align-items:center;gap:15px;padding:22px 23px;display:flex}.count{color:#9b81c8;vertical-align:middle;background:#f4f0fc;border-radius:5px;margin-left:4px;padding:3px 7px;font:600 10px DM Sans,sans-serif}.table-tools{align-items:center;gap:10px;display:flex}.search{color:#afa6bc;border:1px solid #ece8f2;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;display:flex}.search input{color:#72637f;background:0 0;border:0;outline:none;width:110px;font-size:10px}.search input::placeholder{color:#aba1b6}.status-select{color:#9c91aa;background:#fff;border:1px solid #ece8f2;border-radius:6px;max-width:145px;padding:8px;font-size:10px}.table-scroll{overflow:auto}table{border-collapse:collapse;text-align:left;width:100%}th{color:#a69bb2;letter-spacing:.8px;white-space:nowrap;background:#fcfbfe;border-top:1px solid #f1eef5;border-bottom:1px solid #f1eef5;padding:12px 20px;font-size:8px;font-weight:600}td{border-bottom:1px solid #f2eff6;padding:18px 20px;font-size:11px}tr:last-child td{border-bottom:0}td:first-child,th:first-child{padding-left:23px}.goal-name{align-items:center;gap:11px;min-width:205px;display:flex}.goal-icon{color:#9c7ad6;background:#f1eafd;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:35px;height:35px;display:flex}.goal-icon.c1{color:#83a5d6;background:#eaf2fd}.goal-icon.c2{color:#d9a486;background:#fff1e9}.goal-icon.c3{color:#74b7a4;background:#eaf6f3}.goal-title{text-align:left;white-space:nowrap;background:0 0;border:0;padding:0;font-size:11px;font-weight:600}.goal-title:hover{color:var(--purple)}.goal-name small{color:#a59aae;margin-top:5px;font-size:9px;display:block}.goal-name small span{margin:0 5px}.amount{white-space:nowrap;font-size:11px;font-weight:600}.goal-target{color:#aaa0b4;white-space:nowrap;margin-top:5px;font-size:9px;display:block}.progress-label{justify-content:space-between;align-items:center;gap:10px;min-width:130px;margin-bottom:7px;display:flex}.progress-label b{color:#857192;font-size:10px;font-weight:600}.progress-label span{color:#b7acbf;white-space:nowrap;font-size:8px}.progress-track{background:#f1edf6;border-radius:4px;height:4px;overflow:hidden}.progress-track span{background:#a182dc;border-radius:4px;height:100%;display:block}.progress-track .complete{background:#72b59c}.status{white-space:nowrap;border-radius:5px;align-items:center;gap:5px;padding:5px 7px;font-size:8px;display:inline-flex}.status i{background:currentColor;border-radius:50%;width:4px;height:4px}.status.green{color:#6ba892;background:#edf7f2}.status.amber{color:#c4a16c;background:#fff6e9}.status.red{color:#c97580;background:#fceef0}.status.gray{color:#9388a1;background:#f3eff7}.row-actions{align-items:center;gap:8px;display:flex}.add-result{color:#ac92d0;background:#f8f5fd;border:1px solid #eee8f8;border-radius:5px;padding:5px;display:flex}.add-result:hover{background:#eae0fb}.table-footer{color:#b2a8bd;border-top:1px solid #f0ecf5;justify-content:space-between;align-items:center;padding:14px 23px;font-size:9px;display:flex}.footer-dot{margin:0 5px}.page-footer{color:#ada5b7;justify-content:space-between;padding:24px 0 0;font-size:9px;display:flex}.page-footer>span:first-child>span{padding:0 7px}.empty{color:#ae9bc9;flex-direction:column;justify-content:center;align-items:center;padding:42px 20px 48px;display:flex}.empty-icon{background:#f5efff;border-radius:18px;padding:16px;display:flex}.empty h3{color:#746282;margin:18px 0 0;font:700 16px Manrope,sans-serif}.empty p{color:#a697b5;margin:9px 0 22px;font-size:11px}.empty .button{font-size:11px}.demo-banner,.alert{color:#8b6cb6;background:#eeebfc;border:1px solid #e0d9f8;border-radius:8px;align-items:center;gap:9px;margin-bottom:18px;padding:12px 15px;font-size:11px;display:flex}.demo-banner button,.demo-banner a,.alert button{color:#7350af;background:0 0;border:0;align-items:center;gap:7px;margin-left:auto;font-size:11px;font-weight:600;display:flex}.alert{color:#b57462;background:#fff2ed;border-color:#f7ddd1}.result-value{color:#7e639e}.note{color:#a095ac;max-width:280px}.toast{color:#fff;z-index:100;background:#30283d;border-radius:10px;align-items:center;gap:10px;max-width:90vw;padding:14px 20px;font-size:12px;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 6px 25px #2b1e4630}dialog{width:490px;max-width:calc(100vw - 28px);max-height:90vh;color:var(--dark);border:1px solid #e9e0f6;border-radius:18px;padding:26px;box-shadow:0 30px 100px #2b21452e}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#251c3a65}.modal-top{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.modal-icon{color:var(--purple);background:#f0eafa;border-radius:10px;padding:10px;display:flex}dialog h2{letter-spacing:-.5px;margin:0 0 8px;font:750 21px Manrope,sans-serif}.modal-sub{color:#978aa6;margin:0 0 22px;font-size:12px;line-height:1.7}form>label,.form-row>label{color:#7c6e8d;margin-bottom:15px;font-size:11px;font-weight:600;display:block}form input,form select,form textarea{color:#574764;background:#fff;border:1px solid #e5ddec;border-radius:7px;width:100%;margin-top:7px;padding:11px 12px;font-size:12px}form input::placeholder,form textarea::placeholder{color:#b9afc3}.form-row{grid-template-columns:1fr 1fr;gap:15px;display:grid}.optional{color:#b2a8be;font-weight:400}.modal-actions{border-top:1px solid #eee8f3;justify-content:flex-end;gap:9px;margin-top:20px;padding-top:19px;display:flex}.delete-button{color:#c1818a;background:0 0;border:0;align-items:center;gap:5px;margin-right:auto;padding:0;font-size:11px;display:flex}.danger{color:#fff;background:#ba586a}.form-error{color:#b75b68;background:#fdf0f2;border-radius:6px;padding:10px;font-size:12px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.mobile-menu,.overlay{display:none}@media (min-width:1550px){.content{padding-top:40px}.stats-grid{gap:22px}.stat-card{padding:22px 24px}.analysis-grid{grid-template-columns:minmax(0,1fr) 320px}.chart>svg{height:230px}.pace-card{padding-top:23px}.gauge{margin-top:12px}.table-scroll td{padding-top:22px;padding-bottom:22px}}@media (max-width:1200px){.sidebar{width:210px;padding-left:14px;padding-right:14px}main{width:calc(100% - 210px);margin-left:210px}.content{padding:28px 25px}.topbar{padding:0 25px}.stats-grid{gap:12px}.stat-card{padding:15px 13px}.stat-label{font-size:10px}.analysis-grid{grid-template-columns:minmax(0,1fr) 250px;gap:16px}.pace-card{padding-left:15px;padding-right:15px}.table-tools{gap:5px}.status-select{max-width:105px}.goal-name{min-width:180px}.goal-title{font-size:10px}td,th{padding-left:13px;padding-right:13px}.progress-label{min-width:110px}.progress-label span{display:none}.stat-value.money{font-size:20px}.demo-link{font-size:9px}}@media (max-width:1000px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-value.money{font-size:26px}.analysis-grid{grid-template-columns:1fr}.pace-card{display:none}.goals-header,.filterbar{flex-wrap:wrap}.page-heading{align-items:flex-start}h1{font-size:25px}.subtitle{line-height:1.6}.table-tools{justify-content:space-between;width:100%}.search{flex:1}.search input{width:100%}.status-select{max-width:none}.stats-grid .stat-card{min-height:148px}.stat-card p{font-size:10px}.stat-label{font-size:12px}}@media (max-width:720px){.sidebar{width:238px;transition:transform .2s;transform:translate(-100%)}.sidebar.is-open{transform:translate(0)}.overlay{z-index:20;background:#24153955;border:0;display:block;position:fixed;inset:0}main{width:100%;margin-left:0}.topbar{height:62px;padding:0 19px}.mobile-menu{display:flex}.breadcrumb,.top-right{gap:8px}.saved{font-size:8px}.content{padding:26px 18px}.page-heading{flex-wrap:wrap;gap:18px;margin-bottom:23px;position:relative}.eyebrow{font-size:8px}h1{max-width:300px;font-size:25px;line-height:1.35}.subtitle{max-width:285px;font-size:11px}.page-heading>.button{padding:10px 13px;font-size:11px}.filterbar{gap:13px}.filters-left{justify-content:space-between;gap:7px;width:100%}.select-wrap{gap:3px}.select-wrap select{max-width:140px;font-size:9px}.month-control label{min-width:130px;font-size:10px}.filter-actions{justify-content:space-between;width:100%}.stats-grid{gap:11px;margin-bottom:17px}.stat-card{padding:13px 14px;min-height:143px!important}.stat-label{font-size:10px}.stat-label>span{width:25px;height:25px}.stat-value{font-size:29px}.stat-value svg{width:47px}.stat-value.money{font-size:21px}.stat-card p{font-size:8px;line-height:1.5}.stat-value small{font-size:18px}.analysis-grid{margin-bottom:17px}.chart-panel{padding:19px 15px 10px}.panel h2{font-size:13px}.panel p{font-size:9px}.chart>svg{height:190px}.chart-legend{font-size:8px}.goals-header{padding:19px 16px}.table-tools{margin-top:7px}.table-footer{padding:13px 16px;line-height:1.7}.table-footer>span{max-width:190px;font-size:8px}.table-footer .text-button{font-size:9px}.page-footer>span:last-child{display:none}.empty{padding:35px 18px}.empty h3{font-size:14px}.empty p{text-align:center;line-height:1.7}.demo-banner{align-items:flex-start;font-size:10px}.demo-banner button{white-space:nowrap;font-size:10px}.demo-banner a{font-size:10px}dialog{padding:22px 18px}.form-row{gap:11px}.toast{width:max-content;max-width:90vw;font-size:11px;bottom:20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation-duration:.01ms!important}}
