@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{color:#1c3029;font-synthesis:none;background:#f5f7f4;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #90dabc}.app-shell{min-height:100vh;display:flex}.sidebar{color:#e8f2eb;background:#101e19;flex-direction:column;flex:none;width:252px;min-height:100vh;padding:30px 16px 24px;display:flex}.brand{letter-spacing:-.7px;align-items:center;gap:12px;padding:0 14px;font-family:Manrope,sans-serif;font-size:22px;font-weight:800;display:flex}.brand small{color:#799187;letter-spacing:.2px;margin-top:-3px;font-family:DM Sans,sans-serif;font-size:10px;font-weight:500;display:block}.brand-mark{color:#153820;letter-spacing:-3px;background:#c5ed9f;border-radius:10px;place-items:center;width:35px;height:35px;padding-right:4px;font:800 23px Manrope,sans-serif;display:inline-grid}.side-label{color:#637a6e;letter-spacing:1.9px;margin:68px 14px 16px;font-size:10px;font-weight:700}.sidebar nav{gap:7px;display:grid}.sidebar nav button{color:#a9bdb0;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:14px;padding:13px 15px;font-size:14px;font-weight:600;display:flex}.sidebar nav button:hover,.sidebar nav button.active{color:#d4f3c5;background:#1d3328}.sidebar nav button.active{box-shadow:inset 3px 0 #b6e491}.sidebar nav svg{stroke-width:1.8px}.side-bottom{border-top:1px solid #294037;gap:25px;margin-top:auto;padding:22px 14px 0;display:grid}.private-badge{color:#8fa89a;align-items:center;gap:9px;font-size:12px;display:flex}.private-badge span{background:#bce690;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #273e2c}.signout{color:#b4c6b9;text-align:left;background:0 0;border:0;align-items:center;gap:11px;padding:3px 0;font-size:13px;display:flex}.signout:hover{color:#fff}.content{flex:1;min-width:0}.topbar{letter-spacing:1.5px;color:#7b9083;border-bottom:1px solid #e3e9e2;justify-content:space-between;align-items:center;height:76px;padding:0 clamp(28px,5vw,76px);font-size:10px;font-weight:800;display:flex}.slash{color:#c0cbc1;margin:0 9px}.topbar-right{letter-spacing:0;color:#6e8074;align-items:center;gap:18px;font-size:12px;font-weight:500;display:flex}.avatar{color:#315743;background:#d5e9cd;border-radius:50%;place-items:center;width:32px;height:32px;font-size:12px;font-weight:800;display:grid}.page{max-width:1350px;margin:auto;padding:48px clamp(28px,5vw,76px) 80px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:34px;display:flex}.eyebrow{color:#669374;letter-spacing:2.1px;margin:0 0 11px;font-size:10px;font-weight:800}.page-heading h1,.login-card h1{letter-spacing:-2.1px;color:#183327;margin:0 0 9px;font-family:Manrope,sans-serif;font-size:clamp(31px,3.1vw,45px);font-weight:800;line-height:1.2}.heading-period{color:#9ccb7b}.page-heading p:not(.eyebrow){color:#829189;margin:0;font-size:14px}.outline{color:#244232;white-space:nowrap;background:#fff;border:1px solid #d5dfd5;border-radius:8px;align-items:center;gap:9px;padding:10px 14px;font-size:12px;font-weight:700;display:flex}.outline:hover{background:#eff6ec}.primary{color:#fff;white-space:nowrap;background:#284f36;border:0;border-radius:8px;justify-content:center;align-items:center;gap:12px;padding:12px 16px;font-size:13px;font-weight:700;display:inline-flex}.primary:hover{background:#326843}.goal-card{color:#fff;background:linear-gradient(110deg,#1c3c2c 0%,#28543a 67%,#326c47 100%);border-radius:17px;padding:30px 34px 26px;box-shadow:0 16px 30px -21px #1c3c2c}.goal-top{align-items:center;gap:13px;display:flex}.goal-icon{color:#1f4b30;background:#d9f2aa;border-radius:9px;place-items:center;width:38px;height:38px;display:grid}.goal-label,.goal-number{letter-spacing:1.7px;color:#c2dfbe;font-size:10px;font-weight:800}.goal-number{color:#8fb49a;margin-left:auto}.goal-main{justify-content:space-between;align-items:end;gap:20px;margin:22px 0 30px;display:flex}.goal-main h2{letter-spacing:-1px;margin:0 0 5px;font:800 clamp(23px,2vw,30px) Manrope,sans-serif}.goal-main p{color:#b9d0be;margin:0;font-size:13px}.goal-saved{text-align:right}.goal-saved small{color:#b9d6bb;letter-spacing:1.5px;margin-bottom:4px;font-size:10px;font-weight:800;display:block}.goal-saved strong{letter-spacing:-1px;font:800 clamp(25px,2.4vw,34px) Manrope,sans-serif}.progress{background:#4f7059;border-radius:99px;height:9px;overflow:hidden}.progress span{background:#c5eaa0;border-radius:99px;height:100%;transition:width .3s;display:block}.goal-bottom{color:#c0d5c4;justify-content:space-between;margin-top:15px;font-size:12px;display:flex}.goal-bottom b{color:#fff}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:21px 0 30px;display:grid}.stat-card,.panel{background:#fff;border:1px solid #e7ece5;border-radius:13px}.stat-card{flex-direction:column;align-items:flex-start;min-height:188px;padding:22px 24px;display:flex}.stat-icon{border-radius:9px;place-items:center;width:39px;height:39px;margin-bottom:19px;display:grid}.stat-icon.green{color:#4c9256;background:#e6f5dd}.stat-icon.blue{color:#4d8998;background:#e9f2f6}.stat-icon.amber{color:#bd8c38;background:#fff0d8}.stat-card>span{color:#8b9b8e;letter-spacing:1.35px;font-size:10px;font-weight:800}.stat-card strong{letter-spacing:-1px;color:#20382a;margin:7px 0 3px;font:800 26px Manrope,sans-serif}.stat-card strong em{color:#869587;letter-spacing:0;font:600 12px DM Sans,sans-serif}.stat-card small{color:#a2aea3;font-size:11px}.section-grid{grid-template-columns:1.4fr 1fr;gap:17px;display:grid}.panel{min-width:0;padding:24px}.panel-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px;display:flex}.panel-heading .eyebrow{margin-bottom:5px}.panel h3,.transfer-panel h3{letter-spacing:-.5px;color:#21392c;margin:0;font:800 17px Manrope,sans-serif}.text-button{color:#388052;white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;padding:3px;font-size:12px;font-weight:800;display:inline-flex}.text-button:hover{text-decoration:underline}.transaction-list{display:grid}.transaction-row{border-bottom:1px solid #eef1eb;align-items:center;gap:13px;padding:13px 0;display:flex}.transaction-row:last-child{border-bottom:0}.transaction-row.excluded{opacity:.53}.transaction-symbol{border-radius:9px;flex:none;place-items:center;width:36px;height:36px;display:grid}.transaction-symbol.incoming{color:#4b945f;background:#e8f5e2}.transaction-symbol.outgoing{color:#bf8862;background:#f5ede3}.transaction-info{flex:1;min-width:0}.transaction-info strong,.subscription-info strong{color:#2a4032;white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.transaction-info span,.subscription-info span{color:#9aaa9b;margin-top:3px;font-size:11px;display:block}.transaction-end{text-align:right;flex:none}.transaction-end strong{color:#35463c;font:800 12px Manrope,sans-serif;display:block}.transaction-end strong.positive{color:#4e9662}.transfer-panel{background:#f0f6ea;flex-direction:column;align-items:flex-start;display:flex}.transfer-panel .eyebrow{margin-bottom:17px}.transfer-icon{color:#397454;background:#ddedca;border-radius:10px;place-items:center;width:43px;height:43px;margin-bottom:14px;display:grid}.transfer-panel h3{margin-bottom:9px}.transfer-panel>p:not(.eyebrow){color:#7c8e7b;max-width:290px;margin:0;font-size:12px;line-height:1.6}.transfer-amount{align-items:baseline;gap:8px;margin:20px 0;display:flex}.transfer-amount strong{color:#284b32;font:800 26px Manrope,sans-serif}.transfer-amount span{color:#8a9a88;font-size:12px}.empty{color:#91a399;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:190px;display:flex}.empty svg{color:#72a67b}.empty strong{color:#36543d;font-size:13px}.empty span{max-width:275px;font-size:12px}.empty button{color:#3d8051;background:0 0;border:0;align-items:center;gap:5px;margin-top:8px;font-size:12px;font-weight:800;display:flex}.message{border-radius:9px;align-items:center;gap:10px;margin:20px clamp(28px,5vw,76px) 0;padding:12px 16px;font-size:13px;display:flex}.message button{background:0 0;border:0;margin-left:auto;font-size:20px}.message.error{color:#9a4639;background:#fff0ec}.message.success{color:#316949;background:#e5f5df}.loading-content{text-align:center;color:#7d9383;padding:80px}.centered{color:#54735d;justify-content:center;align-items:center;gap:12px;min-height:100vh;display:flex}.loading-dot{background:#b2df95;border-radius:50%;width:11px;height:11px}.login-shell{background:radial-gradient(circle at 80% 20%,#2d6545,#142920 65%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#f8faf5;border-radius:18px;width:100%;max-width:460px;padding:47px;box-shadow:0 20px 60px #0a1a13a0}.login-card .brand-mark{margin-bottom:35px}.login-card h1{font-size:44px}.login-card h1 em{color:#71a962;font-style:normal}.login-card>p:not(.eyebrow):not(.message){color:#728577;margin:14px 0 29px;line-height:1.6}.login-card .primary{width:100%}.count-pill{color:#5a8065;background:#edf4e9;border:1px solid #e1ebdf;border-radius:20px;padding:7px 11px;font-size:11px;font-weight:700}.import-card{background:#eaf3e5;border:1px solid #dcebd9;border-radius:13px;gap:20px;margin-bottom:21px;padding:25px;display:flex}.import-icon{color:#3b8052;background:#d1e8c6;border-radius:12px;flex:none;place-items:center;width:48px;height:48px;display:grid}.import-copy{flex:1}.import-copy h2{margin:0 0 8px;font:800 17px Manrope,sans-serif}.import-copy p{color:#748b79;max-width:710px;margin:0;font-size:12px;line-height:1.6}.import-controls{flex-wrap:wrap;align-items:center;gap:13px;margin-top:17px;display:flex}.file-button{color:#39744d;cursor:pointer;background:#fff;border:1px solid #d3e2d1;border-radius:8px;align-items:center;gap:8px;padding:9px 12px;font-size:12px;font-weight:800;display:inline-flex}.file-button input{display:none}.filename{color:#5e7965;font-size:12px}.preview{color:#456851;border-top:1px solid #d6e4d4;flex-wrap:wrap;align-items:center;gap:16px;margin-top:17px;padding-top:16px;font-size:12px;display:flex}.preview label{align-items:center;gap:7px;display:flex}.preview select{max-width:230px}.preview .primary{margin-left:auto}.inline-error{color:#a44837!important;margin-top:10px!important}.transactions-panel .panel-heading{margin-bottom:4px}.hint{color:#98a599;font-size:11px;line-height:1.5}.include-button{color:#60816a;background:#f3f8ef;border:1px solid #d8e6d5;border-radius:6px;align-items:center;gap:3px;margin-top:5px;padding:4px 6px;font-size:10px;display:inline-flex}.include-button.selected{color:#3b8554}.privacy-note{color:#89998c;align-items:center;gap:8px;margin-top:18px;font-size:11px;display:flex}.subscription-summary{color:#fff;background:linear-gradient(115deg,#1d4030,#326b48);border-radius:14px;justify-content:space-between;min-height:230px;margin-bottom:20px;padding:30px 35px;display:flex;overflow:hidden}.summary-icon{color:#285235;background:#c8e8a7;border-radius:10px;place-items:center;width:40px;height:40px;display:grid}.subscription-summary p{letter-spacing:1.8px;color:#afd3b3;margin:23px 0 5px;font-size:10px;font-weight:800}.subscription-summary strong{letter-spacing:-1.2px;font:800 38px Manrope,sans-serif;display:block}.subscription-summary span:not(.summary-icon){color:#b6d2bb;font-size:12px}.summary-corner{color:#80b886;opacity:.45;align-self:center;font:300 160px/.9 Manrope,sans-serif}.subscription-grid{grid-template-columns:1fr 1.2fr}.subscription-form{gap:15px;display:grid}.subscription-form label,.modal label{color:#4e6655;gap:7px;font-size:12px;font-weight:700;display:grid}.subscription-form input,.subscription-form select,.modal input,.preview select{color:#254133;background:#fff;border:1px solid #d9e4d9;border-radius:8px;width:100%;min-height:40px;padding:10px 12px;font-size:13px}.subscription-form input::placeholder{color:#a8b6aa}.form-inline{grid-template-columns:1fr 1fr;gap:12px;display:grid}.subscription-form .primary{justify-self:start}.subscription-row{border-bottom:1px solid #edf0e9;align-items:center;gap:12px;padding:13px 0;display:flex}.subscription-row:last-child{border-bottom:0}.subscription-row.inactive{opacity:.48}.subscription-avatar{color:#4f845d;background:#e9f3e4;border-radius:9px;flex:none;place-items:center;width:37px;height:37px;font-size:14px;font-weight:800;display:grid}.subscription-info{flex:1;min-width:0}.toggle{background:#cfdacf;border:0;border-radius:20px;flex:none;width:33px;height:19px;padding:3px}.toggle span{background:#fff;border-radius:50%;width:13px;height:13px;transition:transform .2s;display:block}.toggle.on{background:#5da56d}.toggle.on span{transform:translate(14px)}.icon-button{color:#9aaba0;background:0 0;border:0;padding:5px}.icon-button:hover{color:#9e4c43}.modal-backdrop{z-index:10;background:#0e241b9c;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:15px;gap:16px;width:min(100%,440px);padding:28px;display:grid;box-shadow:0 20px 60px #0c241a66}.modal-head{justify-content:space-between;display:flex}.modal-head .eyebrow{margin:0}.modal-head button{color:#8da08f;background:0 0;border:0;font-size:22px;line-height:16px}.modal h2{color:#1e3829;margin:0;font:800 22px Manrope,sans-serif}.modal .hint{margin:0}.form-actions{justify-content:end;gap:9px;display:flex}.form-actions .outline{background:#fff}@media (width<=950px){.sidebar{width:200px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-grid{grid-template-columns:1fr}.subscription-grid{grid-template-columns:1fr 1fr}}@media (width<=700px){.app-shell{display:block}.sidebar{width:100%;min-height:0;padding:12px 16px 0;display:block}.brand{padding:0;font-size:18px}.brand-mark{width:30px;height:30px;font-size:20px}.brand small,.side-label,.side-bottom{display:none}.sidebar nav{gap:0;margin-top:12px;display:flex;overflow:auto}.sidebar nav button{white-space:nowrap;gap:6px;padding:10px;font-size:11px}.sidebar nav svg{width:15px}.topbar{height:48px;padding:0 20px}.topbar-right{gap:0;font-size:0}.avatar{width:26px;height:26px;font-size:11px}.page{padding:28px 20px 50px}.page-heading{align-items:flex-start}.page-heading .outline{padding:9px;font-size:0}.page-heading .outline svg{width:19px}.goal-card{padding:23px 19px}.goal-main{align-items:flex-start}.goal-saved strong{font-size:23px}.stats-grid{grid-template-columns:1fr 1fr;gap:9px}.stat-card{min-height:152px;padding:16px}.stat-icon{margin-bottom:12px}.stat-card strong{font-size:20px}.stat-card:last-child{grid-column:span 2}.panel{padding:20px}.subscription-grid{grid-template-columns:1fr}.message{margin:12px 20px 0}.import-card{gap:12px;padding:18px}.import-icon{display:none}.preview .primary{margin-left:0}}@media (width<=420px){.stats-grid{grid-template-columns:1fr}.stat-card:last-child{grid-column:auto}.goal-main{display:block}.goal-saved{text-align:left;margin-top:20px}.goal-bottom{gap:12px}.form-inline{grid-template-columns:1fr}}
