@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',Arial,sans-serif;color:#1b2b24;background:#f8f8f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.app-shell{min-height:100vh;display:flex}.sidebar{width:248px;flex:none;background:#172e25;color:#eff5ec;display:flex;flex-direction:column;padding:30px 17px 24px;position:sticky;top:0;height:100vh}.brand,.mobile-brand{display:flex;align-items:center;font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-.07em;font-size:23px;white-space:nowrap}.brand{padding:0 13px;gap:9px}.brand-icon{height:34px;width:34px;display:grid;place-items:center;background:#cdeaa6;color:#1e3928;border-radius:11px;font-size:30px;font-weight:400;line-height:1}.brand-light{font-weight:500}.brand small{display:block;letter-spacing:.19em;font-size:8px;color:#9eb6a6;margin:2px 0 0 1px;font-family:'DM Sans',sans-serif}.sidebar-label{font-size:10px;letter-spacing:.16em;color:#7f9a8a;font-weight:700;margin:58px 13px 14px}.side-nav{display:grid;gap:5px}.nav-item{width:100%;border:0;background:transparent;color:#a9bcae;text-align:left;padding:12px 14px;border-radius:10px;display:flex;gap:12px;align-items:center;font-weight:600;font-size:13px}.nav-item:hover,.nav-item.active{background:#2c4638;color:#fff}.nav-icon{font-size:20px;width:22px;text-align:center;font-weight:400}.sidebar-bottom{margin-top:auto}.sidebar-bottom p{font-size:11px;color:#7e9887;padding:12px 14px}.main-content{min-width:0;flex:1}.topbar{height:76px;border-bottom:1px solid #e9ebe6;background:#fff;display:flex;align-items:center;justify-content:flex-end;padding:0 48px}.top-actions{display:flex;align-items:center;gap:22px}.sync-status{font-size:11px;color:#718078;display:flex;align-items:center;gap:8px}.sync-status:before{content:'';width:6px;height:6px;border-radius:50%;background:#9bbd81}.button{border:0;border-radius:10px;padding:11px 17px;font-weight:700;font-size:12px;white-space:nowrap}.button-dark{background:#193528;color:#fff}.button-dark:hover{background:#284d38}.button-light{background:#edf2eb;color:#254031}.button-outline{background:white;border:1px solid #dbe2da;color:#274234}.button-danger{background:#fff0ed;color:#b84538}.content-wrap{max-width:1320px;margin:auto;padding:42px 50px 80px}.page-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:31px}.eyebrow{color:#859187;font-size:10px;letter-spacing:.18em;font-weight:800;margin-bottom:10px}.page-heading h1{font:800 clamp(24px,2.4vw,34px)/1.25 Manrope,sans-serif;letter-spacing:-.05em;margin:0 0 6px}.page-heading p{color:#849188;font-size:13px;margin:0}.month-control{display:flex;align-items:center;background:#fff;border:1px solid #e4e8e1;box-shadow:0 4px 16px #1c332409;border-radius:10px;height:42px;white-space:nowrap}.month-control button{border:0;background:none;color:#617468;font-size:25px;line-height:1;width:36px;height:40px}.month-control span{font-weight:700;font-size:12px;min-width:124px;text-align:center;text-transform:capitalize}.overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.card{background:#fff;border:1px solid #e9ece6;border-radius:15px;box-shadow:0 5px 22px #1d392806}.balance-card{padding:24px 25px;min-height:172px;position:relative;overflow:hidden}.balance-card.main{background:#1b3729;color:#fff;border-color:#1b3729}.balance-card.main:after{content:'◎';font-size:155px;position:absolute;right:-11px;bottom:-75px;line-height:1;color:#d3eaa3;opacity:.1}.card-label{color:#819088;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.main .card-label{color:#bfd0c0}.balance-value{font:800 clamp(25px,2.5vw,36px)/1.15 Manrope,sans-serif;letter-spacing:-.055em;margin:19px 0 8px}.card-foot{font-size:11px;color:#8a978f}.main .card-foot{color:#b2c8b4}.card-foot strong{color:#385d42}.main .card-foot strong{color:#d6ecaa}.balance-icon{position:absolute;right:23px;top:20px;border-radius:10px;background:#eef3e9;color:#4c7756;width:32px;height:32px;display:grid;place-items:center;font-size:19px}.main .balance-icon{background:#365842;color:#e0f0b4}.section-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:18px;margin-top:19px}.panel{padding:24px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:21px}.panel-head h2,.section-title{font:800 16px Manrope,sans-serif;letter-spacing:-.035em;margin:0}.panel-head p{font-size:11px;color:#87958a;margin:4px 0 0}.text-button{background:none;border:0;color:#3e7650;font-weight:800;font-size:11px}.flow-cards{display:grid;grid-template-columns:1fr 1fr;gap:11px}.flow-card{background:#f6f8f4;border-radius:10px;padding:15px}.flow-card.income{background:#eef5e9}.flow-card.expense{background:#fbf3ef}.flow-card span{font-size:11px;color:#79877e}.flow-card strong{display:block;font:800 20px Manrope,sans-serif;letter-spacing:-.04em;margin-top:5px}.flow-card.income strong{color:#467747}.flow-card.expense strong{color:#bd7658}.account-breakdown{margin-top:17px}.breakdown-row{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:10px 0;border-top:1px solid #eff1ec;font-size:12px}.breakdown-row strong{font-weight:800}.mini-pill{border-radius:100px;background:#f0f3ee;padding:4px 8px;color:#6f7e72;font-size:10px}.progress{height:6px;background:#edf1e8;border-radius:8px;overflow:hidden;margin:7px 0 14px}.progress span{display:block;height:100%;background:#b5d881;border-radius:8px}.due-item,.movement-item{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #eef1ec}.due-item:last-child,.movement-item:last-child{border-bottom:0}.item-icon{width:38px;height:38px;flex:none;border-radius:10px;background:#f0f4ed;color:#4c7654;display:grid;place-items:center;font-size:18px}.item-icon.expense{background:#fcf2eb;color:#be7b59}.item-icon.transfer{background:#eff0f8;color:#6976a8}.item-copy{min-width:0;flex:1}.item-copy strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-copy small{display:block;color:#97a099;font-size:10px;margin-top:3px}.item-amount{font-weight:800;font-size:12px;white-space:nowrap}.item-amount.income{color:#477e4e}.item-amount.expense{color:#bd7658}.item-actions{display:flex;gap:4px}.icon-button{border:0;background:transparent;color:#9aa69b;padding:5px;font-size:16px}.icon-button:hover{color:#203b2c}.due-button{border:0;background:#e5efdc;color:#3d6c43;font-size:10px;font-weight:800;border-radius:7px;padding:7px 9px}.due-button.paid{background:#eff3ec;color:#7b9479}.empty{padding:25px 8px;text-align:center;color:#97a298;font-size:12px}.empty .empty-icon{font-size:28px;display:block;margin-bottom:7px}.callout{margin-top:18px;background:#edf3e9;border:1px solid #dcebd3;border-radius:12px;padding:14px 16px;font-size:11px;line-height:1.5;color:#57745d}.callout strong{color:#2f563b}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px}.segmented{background:#edf0e9;border-radius:9px;padding:3px;display:flex;gap:2px}.segmented button{border:0;background:none;border-radius:7px;padding:8px 12px;color:#7d8b80;font-weight:700;font-size:11px}.segmented button.active{background:#fff;color:#234634;box-shadow:0 2px 5px #1d382111}.list-panel{padding:7px 22px}.list-date{background:#f8faf6;color:#7d8b7e;font-size:10px;font-weight:800;letter-spacing:.08em;padding:8px 12px;margin:10px -7px 0;border-radius:6px;text-transform:uppercase}.recurring-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.recurring-card{padding:18px 19px}.recurring-card-top{display:flex;justify-content:space-between;gap:8px}.recurring-card h3{font-size:13px;margin:10px 0 4px}.recurring-card p{font-size:11px;color:#89978d;margin:0}.recurring-card .amount{font:800 20px Manrope,sans-serif;margin:12px 0}.recurring-card footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf0e9;padding-top:11px}.badge{font-size:10px;font-weight:800;padding:5px 8px;border-radius:100px;background:#edf4e8;color:#5f8a61}.badge.muted{background:#f2f2ef;color:#9aa397}.analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.bar-row{margin:14px 0}.bar-meta{display:flex;justify-content:space-between;font-size:11px;margin-bottom:7px}.bar-meta strong{font-weight:800}.bar-track{height:8px;background:#eef1ec;border-radius:10px;overflow:hidden}.bar-fill{height:100%;background:#9dc978;border-radius:10px}.bar-fill.orange{background:#edbb98}.insight{display:flex;gap:12px;align-items:flex-start;background:#f4f8ef;padding:15px;border-radius:10px;margin-top:15px}.insight-icon{font-size:20px}.insight p{font-size:11px;line-height:1.5;margin:0;color:#54705c}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.settings-card{padding:25px}.settings-card h2{font-size:15px;margin:0 0 4px}.settings-card p{font-size:11px;color:#87938a;line-height:1.5;margin:0 0 18px}.field{display:grid;gap:6px;margin:13px 0}.field label{font-size:11px;font-weight:800;color:#586a5d}.field input,.field select{width:100%;height:41px;border:1px solid #dce3db;background:white;color:#22352a;border-radius:8px;padding:0 11px;outline:none;font-size:13px}.field input:focus,.field select:focus{border-color:#89af78;box-shadow:0 0 0 3px #bce2aa44}.field-hint{font-size:10px;color:#9ba89d}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.form-grid .full{grid-column:1/-1}.modal-backdrop{position:fixed;inset:0;background:#11251bc9;z-index:20;display:grid;place-items:center;padding:16px}.modal{width:min(100%,480px);max-height:min(94vh,850px);overflow:auto;background:#fff;border-radius:18px;box-shadow:0 20px 80px #11201944;padding:26px}.modal-header{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:20px}.modal-header h2{font:800 22px Manrope,sans-serif;letter-spacing:-.045em;margin:0}.modal-header p{font-size:11px;color:#849087;margin:5px 0 0}.modal-close{border:0;background:#f1f4ee;border-radius:8px;font-size:19px;color:#65766a;width:30px;height:30px}.modal-actions{display:flex;justify-content:space-between;gap:8px;margin-top:22px}.modal-actions .right{display:flex;gap:8px;margin-left:auto}.type-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;background:#f0f3ee;padding:4px;border-radius:10px}.type-picker label{font-size:11px;font-weight:800;text-align:center;padding:9px 2px;border-radius:7px;color:#748174;cursor:pointer}.type-picker input{position:absolute;opacity:0}.type-picker label:has(input:checked){background:white;color:#244b34;box-shadow:0 2px 6px #263c2618}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(100px);background:#213b2c;color:#fff;padding:10px 16px;border-radius:9px;font-size:12px;z-index:40;opacity:0;transition:.22s;box-shadow:0 8px 28px #0c201844;max-width:90vw;text-align:center}#toast.show{transform:translateX(-50%) translateY(0);opacity:1}.mobile-brand,.bottom-nav{display:none}.hidden{display:none!important}.error{color:#b63f36;font-size:11px;margin-top:6px}.warning{color:#bd7550}.note{color:#758479;font-size:11px;line-height:1.5}.auth-note{background:#f6f8f3;padding:12px;border-radius:8px;font-size:11px;color:#63806b;line-height:1.5}
@media(max-width:1100px){.sidebar{width:210px}.content-wrap{padding:32px 26px 70px}.topbar{padding:0 26px}.section-grid{grid-template-columns:1fr 1fr}}
@media(max-width:750px){.sidebar{display:none}.main-content{width:100%}.topbar{height:59px;padding:0 18px;justify-content:space-between}.mobile-brand{display:flex;gap:5px;font-size:17px}.mobile-brand .brand-icon{width:25px;height:25px;font-size:23px;border-radius:7px}.top-add{display:none}.sync-status{font-size:9px}.content-wrap{padding:26px 16px 100px}.page-heading{align-items:flex-start;flex-wrap:wrap;margin-bottom:22px}.page-heading h1{font-size:27px}.page-heading p{font-size:11px}.month-control{margin-top:4px}.overview-grid{grid-template-columns:1fr 1fr;gap:10px}.balance-card{min-height:139px;padding:17px}.balance-card.main{grid-column:1/-1;min-height:145px}.balance-value{font-size:24px;margin:16px 0 6px}.main .balance-value{font-size:32px}.balance-icon{right:15px;top:15px}.section-grid,.analysis-grid,.settings-grid{grid-template-columns:1fr;gap:13px;margin-top:13px}.panel{padding:19px}.recurring-grid{grid-template-columns:1fr}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:calc(65px + env(safe-area-inset-bottom));padding:5px 6px env(safe-area-inset-bottom);background:#fff;border-top:1px solid #e5ebe2;z-index:10;justify-content:space-around;box-shadow:0 -5px 25px #1026190a}.bottom-nav button{border:0;background:none;color:#8b9a8d;font-size:10px;font-weight:700;min-width:52px;display:flex;flex-direction:column;align-items:center;gap:1px}.bottom-nav button span{font-size:23px;line-height:1.1}.bottom-nav button.active{color:#2e6942}.bottom-nav .mobile-add{min-width:43px}.mobile-add span{background:#234a32;color:#fff;border-radius:13px;width:42px;height:42px;display:grid;place-items:center;font-size:29px!important;line-height:1!important;margin-top:-14px;box-shadow:0 5px 13px #234a3255}.modal-backdrop{padding:0;align-items:end}.modal{width:100%;max-height:92vh;border-radius:21px 21px 0 0;padding:23px 20px calc(22px + env(safe-area-inset-bottom))}#toast{bottom:82px}}
@media(max-width:390px){.overview-grid{gap:8px}.balance-card{padding:14px}.balance-card:not(.main) .balance-icon{display:none}.balance-value{font-size:21px}.card-foot{font-size:10px}.month-control span{min-width:105px}.sync-status{max-width:113px;line-height:1.2}}
.month-control span{text-transform:none}
#mobile-settings{display:none;border:0;background:#edf3e9;color:#31573e;border-radius:8px;width:29px;height:29px;font-size:16px}
@media(max-width:750px){#mobile-settings{display:block}.top-actions{gap:9px}}
.target-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:17px;padding:16px 22px;border:1px solid #d8e7cf;border-radius:13px;background:#eff6e9}.target-strip div{display:flex;align-items:baseline;gap:13px;flex-wrap:wrap}.target-strip small{font-size:10px;letter-spacing:.09em;color:#65816c;font-weight:800}.target-strip strong{font:800 16px Manrope,sans-serif;color:#294d35}.target-strip span{font-size:11px;color:#557261}.catalog-section{margin-top:27px}.catalog-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:13px;gap:12px}.catalog-heading h2{font:800 17px Manrope,sans-serif;letter-spacing:-.035em;margin:0}.catalog-heading p{font-size:11px;color:#8a988e;margin:4px 0 0}.catalog-heading span{font-size:10px;color:#8c998e;white-space:nowrap}.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.catalog-item{padding:14px;display:flex;align-items:center;gap:10px;min-width:0}.catalog-item .item-copy strong{font-size:12px}.catalog-item .item-copy small{line-height:1.3}.catalog-item .due-button{flex:none}.catalog-item .item-icon.income{background:#eef5e9;color:#518354}
@media(max-width:750px){.catalog-grid{grid-template-columns:1fr}.catalog-item{padding:12px}.target-strip{align-items:flex-start;flex-direction:column;padding:14px}.target-strip div{gap:5px;display:grid}.catalog-heading{align-items:flex-start}}
.setup-panel{max-width:640px;margin:0 auto;padding:34px}.setup-kicker{font-size:10px;letter-spacing:.14em;font-weight:800;color:#59805d}.setup-panel h2{font:800 clamp(23px,3vw,31px)/1.18 Manrope,sans-serif;letter-spacing:-.045em;margin:12px 0}.setup-panel p{font-size:13px;line-height:1.65;color:#687a6c;max-width:54ch;margin:0 0 22px}.setup-panel small{display:block;color:#859489;font-size:11px;line-height:1.5;margin-top:14px}
@media(max-width:750px){.setup-panel{padding:25px 21px}}
