@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;650;700;800&display=swap";*{box-sizing:border-box}body{color:#243d35;background:#f7f8f3;margin:0;font-family:DM Sans,system-ui,sans-serif;font-size:14px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:0 0;border:0;min-height:44px}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #9cac54}.shell{max-width:1600px;min-height:100vh;margin:auto;display:flex}aside{background:#fff;border-right:1px solid #e4e8df;flex-direction:column;flex-shrink:0;width:252px;height:100vh;padding:39px 24px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.6px;align-items:center;gap:10px;font-size:20px;font-weight:700;display:flex}.brand-icon{color:#d9eea7;background:#184b3e;border-radius:11px;place-items:center;width:35px;height:35px;display:grid}.side-caption{color:#8a938a;margin:16px 0 46px;font-size:11px}nav{flex-direction:column;gap:8px;display:flex}nav button{text-align:left;color:#798278;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;font-weight:500;display:flex}.active{background:#eff4e6;color:#264d36!important}nav button.active:before{display:none}.side-bottom{color:#7d887c;flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;font-size:12px;display:flex}.side-bottom a{width:100%;margin:10px 26px}main{width:100%;max-width:1080px;padding:48px 60px 25px}.eyebrow{letter-spacing:2px;color:#809077;margin-bottom:14px;font-size:10px;font-weight:700}.heading{justify-content:space-between;align-items:center;gap:15px;display:flex}h1{letter-spacing:-1.2px;margin:0;font-family:Manrope,system-ui;font-size:30px;font-weight:650;line-height:1.3}h2{font-family:Manrope,system-ui;font-size:17px;font-weight:650}h3{margin:0;font-size:14px}.intro{color:#899184;margin:12px 0 34px;font-size:13px}.primary{color:#fff;white-space:nowrap;background:#224f40;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:11px 17px;font-size:12px;font-weight:600;display:inline-flex}.toolbar{justify-content:space-between;align-items:center;gap:10px;margin:0 0 20px;display:flex}.segments{background:#eaece3;border-radius:10px;padding:4px;display:flex}.segments button{color:#737d6b;border-radius:7px;min-height:34px;padding:7px 20px;font-size:12px}.segments .selected{color:#2b4d3d;background:#fff;box-shadow:0 1px 4px #293c3010}.toolbar select{color:#64715c;background:0 0;border:1px solid #dce1d5;border-radius:8px;max-width:170px;min-height:42px;padding:9px 12px;font-size:12px}.summary{color:#eff6e6;background:#193f34;border-radius:17px;justify-content:space-between;gap:20px;padding:30px 32px;display:flex;position:relative;overflow:hidden}.summary:after{content:"";pointer-events:none;border:1px solid #f0ffca0b;border-radius:50%;width:180px;height:180px;position:absolute;bottom:-130px;left:200px;box-shadow:0 0 0 35px #f0ffca03,0 0 0 70px #f0ffca03}.summary-label{letter-spacing:1.7px;color:#b5c8a4;font-size:10px}.summary strong{letter-spacing:-1.5px;margin:10px 0 6px;font-family:Manrope,system-ui;font-size:43px;font-weight:500;display:block}.summary p{color:#a1b6a5;margin:0;font-size:12px}.summary-details{border-left:1px solid #ffffff1c;flex-direction:column;justify-content:center;gap:17px;width:220px;padding-left:28px;font-size:11px;display:flex}.summary-details div{justify-content:space-between;gap:15px;display:flex}.summary-details span{color:#aec1ad}.summary-details b{font-weight:500}.period{align-items:center;gap:8px;margin:24px 0 15px;display:flex}.period h2{margin:0 10px;font-size:15px}.period button{color:#74816b;place-items:center;width:32px;display:grid}.period .today{border:1px solid #dce2d3;border-radius:7px;width:auto;min-height:31px;margin-left:auto;padding:5px 12px;font-size:11px}.list-panel{background:#fff;border:1px solid #e5e9de;border-radius:13px;overflow:hidden}.list-heading{border-bottom:1px solid #edf0e8;justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.list-heading span{color:#8f9988;font-size:11px}.payment{border-bottom:1px solid #edf0e8;align-items:center;gap:14px;min-height:87px;padding:16px 21px;display:flex}.payment:last-child{border-bottom:0}.tick{flex-shrink:0;place-items:center;width:36px;min-height:44px;display:grid;position:relative}.tick:before{content:"";border:1.5px solid #d1d9c7;border-radius:7px;width:23px;height:23px;position:absolute}.tick.checked:before{background:#e8efdd;border-color:#e8efdd}.tick svg{color:#436b40;position:relative}.payment-main{text-align:left;flex:1;min-width:0;padding:0}.payment-title{margin-bottom:6px;font-size:14px;font-weight:500;display:block}.muted{color:#949c8d;font-size:11px}.dot{padding:0 5px}.amount{text-align:right;flex-shrink:0;font-size:15px;font-weight:600}.amount small{color:#929b88;margin-top:5px;font-size:10px;font-weight:400;display:block}.done .payment-title{color:#819078}.overdue{color:#a06b4a;margin-left:7px;font-size:9px;font-weight:500}.paid-toggle{color:#7f8b75;align-items:center;gap:8px;width:100%;padding:17px 5px;font-size:11px;display:flex}.paid-toggle span{margin-left:auto}.empty{text-align:center;color:#7d8976;padding:42px 20px}.empty h3{color:#314f3c;margin:15px 0 10px;font-family:Manrope;font-size:18px}.empty p{max-width:360px;margin:0 auto 20px;font-size:12px;line-height:1.7}.empty-check{color:#64864d;background:#eef3e6;border-radius:50%;place-items:center;width:50px;height:50px;margin:auto;display:grid}.text-button{color:#477253;align-items:center;gap:7px;padding:8px 12px;font-size:12px;display:inline-flex}.forecast{flex-direction:column;gap:12px;display:flex}.forecast>button{text-align:left;background:#fff;border:1px solid #e3e8db;border-radius:12px;justify-content:space-between;align-items:center;padding:21px;display:flex;position:relative;overflow:hidden}.forecast button>span:last-of-type{align-items:center;gap:14px;display:flex}.forecast small,.commitment small{color:#8b9781;margin-top:7px;font-size:11px;font-weight:400;display:block}.forecast strong{letter-spacing:-.5px;font-size:20px;font-weight:500}.forecast i{background:#bad383;height:3px;position:absolute;bottom:0;left:0}.footnote{color:#89927d;padding:12px;font-size:11px;line-height:1.8}.commitment{text-align:left;border-bottom:1px solid #edf0e8;align-items:center;gap:15px;width:100%;padding:16px 22px;display:flex}.commitment>span:nth-child(2){flex:1}.commitment strong{font-weight:500}.avatar{color:#6d8554;background:#edf2e2;border-radius:11px;place-items:center;width:40px;height:40px;font-size:18px;display:grid}.commitment b{font-weight:500}.late{background:#fbf9f1;border:1px solid #e7dfcc;border-radius:10px;margin-top:20px;padding:14px}.late summary{cursor:pointer;color:#907a52;min-height:24px;font-size:12px}.stopped{padding:12px;display:block}.demo,.notice,.error{border-radius:9px;justify-content:space-between;align-items:center;gap:10px;margin:12px 0 18px;padding:13px 16px;font-size:12px;display:flex}.demo{color:#677749;background:#edf0dd}.demo button,.notice button,.error button{min-height:30px;font-size:12px;text-decoration:underline}.error{color:#9b432c;background:#f9e8e0}.notice{color:#426435;background:#e7f1e1}.notice button:last-child{margin-left:auto}footer{color:#9aa28f;align-items:center;gap:8px;margin:32px 0 0;font-size:10px;display:flex}.version{margin-left:auto}.mobile-nav{display:none}.scrim{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#12271d77;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fafbf6;border-radius:18px;width:100%;max-width:460px;max-height:90dvh;padding:25px;overflow:auto}.modal-top{justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px;display:flex}.modal h2{margin:0;font-size:20px}.modal label{flex-direction:column;gap:7px;margin:15px 0;font-size:12px;font-weight:500;display:flex}.modal input,.modal select{color:#2e4936;background:#fff;border:1px solid #d9dfd0;border-radius:8px;width:100%;min-width:0;padding:12px;font-size:16px}.modal .check-label{flex-direction:row;align-items:center;font-weight:400;line-height:1.5}.check-label input{accent-color:#24513f;flex-shrink:0;width:18px;height:18px}.hint{color:#859078;font-size:11px;line-height:1.6}.fields{gap:12px;display:flex}.fields>label{flex:1;min-width:0}.wide{width:100%;margin-top:12px}.danger{color:#a2573e;width:100%;margin-top:10px;font-size:12px}.stop-confirm{background:#f8eee3;border-radius:9px;padding:15px}.modal:has(.stop-confirm) form{display:none}@media (width>=1250px){main{padding:55px 76px}}@media (width<=1000px){aside{width:210px;padding:30px 18px}.brand{font-size:17px}main{padding:35px 30px}h1{font-size:25px}}@media (width<=720px){aside{display:none}main{max-width:600px;margin:auto;padding:28px 19px 100px}.eyebrow{margin-bottom:12px;font-size:9px}.heading{align-items:center;gap:6px}h1{letter-spacing:-1.1px;max-width:245px;font-size:25px}.heading .primary{min-width:44px;padding:10px}.heading .primary span{display:none}.intro{max-width:285px;margin:12px 0 26px;font-size:12px;line-height:1.7}.toolbar{gap:8px}.segments button{padding:6px 13px;font-size:11px}.toolbar select{max-width:132px;padding:9px 7px;font-size:11px}.summary{border-radius:14px;flex-direction:column;gap:22px;padding:24px}.summary strong{font-size:43px}.summary-details{border-top:1px solid #ffffff20;border-left:0;gap:12px;width:100%;padding:18px 0 0;font-size:11px}.summary-details div:last-child{display:none}.period{gap:2px;margin:22px 0 12px}.period h2{text-align:center;flex:1;margin:0;font-size:13px}.period .today{margin-left:8px;padding:5px 8px}.period button{width:28px}.list-heading{padding:17px 16px}.list-heading h3{font-size:13px}.payment{gap:9px;min-height:82px;padding:12px 13px}.payment-title{font-size:13px}.amount{font-size:14px}.muted{font-size:10px}.overdue{font-size:9px;display:inline-block}.tick{width:30px}.mobile-nav{padding:8px 20px calc(8px + env(safe-area-inset-bottom));z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border-top:1px solid #e5e9df;flex-direction:row;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{color:#8a9581;flex-direction:column;align-items:center;gap:5px;min-width:84px;padding:9px;font-size:10px;display:flex}.mobile-nav .active{background:0 0;color:#284d38!important}.commitment{gap:11px;padding:16px 13px}.commitment strong{font-size:12px}.commitment small{font-size:10px}.avatar{width:34px;height:34px;font-size:15px}.scrim{align-items:flex-end;padding:0}.modal{max-width:600px;padding:23px 22px calc(24px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;max-height:93dvh}.demo{font-size:11px;line-height:1.5}.empty{padding:32px 17px}.empty h3{font-size:17px}.forecast strong{font-size:18px}}.report-banner{background:#f0f4e7;border:1px solid #dce5cb;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;margin:22px 0;padding:20px;display:flex}.report-banner b{font-size:13px}.report-banner p{color:#839171;margin:7px 0 0;font-size:11px;line-height:1.6}.report-list{margin-bottom:25px}.report-row{border-bottom:1px solid #edf0e8;align-items:center;gap:8px;padding:15px 18px;display:flex}.report-row>div{flex:1}.report-row b{font-size:12px}.report-row small{color:#89947d;margin:5px 0;font-size:10px;display:block}.report-row span{font-size:12px}.report-row button{padding:5px 8px;font-size:11px}@media (width<=720px){.report-banner{align-items:flex-start;padding:16px}.report-banner .primary{padding:10px;font-size:11px}.report-row{gap:3px;padding:14px 12px}.report-row b{font-size:11px}.report-row small{font-size:9px}.report-banner b{font-size:12px}}.commitment .commit-notes{color:#9b8e70;max-width:410px;line-height:1.5}.modal textarea{font:inherit;background:#fff;border:1px solid #d9dfd0;border-radius:8px;width:100%;min-height:80px;padding:10px}.month-skips{border:1px solid #e1e7d7;border-radius:8px;grid-template-columns:repeat(4,1fr);gap:4px;padding:10px;display:grid}.month-skips legend{color:#7d8a6d;font-size:11px}.month-skips label{flex-direction:row;align-items:center;gap:6px;margin:4px;font-size:11px;font-weight:400;display:flex}.month-skips input{accent-color:#224f40;width:16px;height:16px;padding:0}.commitment>span:nth-child(2){min-width:0}.commitment strong{text-align:right;max-width:105px}.payment-title{overflow-wrap:anywhere}.login{max-width:390px;margin:8vh auto;padding:30px 24px}.login h1{margin-top:24px}.login>p{color:#7e8d77;line-height:1.7}.login label{flex-direction:column;gap:8px;margin:20px 0;display:flex}.login input{font:inherit;background:#fff;border:1px solid #d8dfcf;border-radius:9px;padding:14px;font-size:16px}.login small{color:#8c9681;margin-top:23px;line-height:1.8;display:block}footer{flex-wrap:wrap}
