@import url('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{--green:#146b52;--ink:#202d29;--muted:#84908a;--line:#e8ece9;--bg:#f7f9f8}*{box-sizing:border-box}body{margin:0;font:14px 'DM Sans',sans-serif;color:var(--ink);background:var(--bg)}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:white;color:var(--ink);border-radius:8px;padding:10px 15px}button:hover{background:#edf4ef}aside{position:fixed;width:244px;height:100vh;background:#fff;border-right:1px solid var(--line);padding:34px 21px;display:flex;flex-direction:column}.brand{font:800 34px Manrope,sans-serif;text-decoration:none;color:#183d30;display:flex;align-items:center;gap:10px;letter-spacing:-1.5px}.brand>span:first-child{background:#1c7458;color:white;width:34px;height:38px;display:grid;place-items:center;border-radius:11px;font-size:32px;font-style:italic}.dot{color:#3aa47c;margin-left:-10px}.workspace{display:flex;align-items:center;gap:10px;margin:37px 0 30px;padding:12px 8px;border:1px solid var(--line);border-radius:9px;font-weight:600;font-size:12px}.workspace>b,.profile>b,.avatar{background:#e9f1ec;color:#32644e;border-radius:9px;padding:10px;font-size:12px}.workspace small,.profile small{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:5px}.workspace>span{margin-left:auto}aside>label{font-size:9px;color:#98a29d;letter-spacing:1.6px;margin:0 12px 13px}nav button{display:flex;gap:13px;align-items:center;width:100%;margin-bottom:7px;border:0;text-align:left;color:#78847e;padding:13px 14px;font-size:17px}nav button span{font-size:12px;font-weight:550}nav .active{background:#eaf4ee;color:#176346}.sidebottom{margin-top:auto}.help{background:#f7faf8;border:1px solid #e7eee9;border-radius:10px;padding:16px;margin-top:22px}.help span{font-weight:600;font-size:12px}.help p{font-size:11px;color:#859089;line-height:1.7}.help button{font-size:10px;padding:8px 10px;width:100%}.profile{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:21px;margin-top:22px;font-size:12px}main{margin-left:244px}header{height:79px;background:white;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 40px}.breadcrumb{font-size:11px;color:#8c9690}.breadcrumb span{margin:0 15px;color:#c6cec8}.breadcrumb b{color:#48564e;font-weight:500}.topright{display:flex;align-items:center;gap:17px}.topright button{border:0;padding:8px;font-size:20px}.demo{font-size:10px;color:#71867a}.avatar{border-radius:50%}section{padding:37px 40px 20px;max-width:1600px;margin:auto}.heading{display:flex;align-items:center;justify-content:space-between}.eyebrow{font-size:9px;letter-spacing:1.6px;font-weight:600;color:#85968a}h1{font:750 29px Manrope,sans-serif;letter-spacing:-1px;margin:9px 0}p{color:#8a958f;font-size:12px}.primary{background:var(--green);color:white;border-color:var(--green);font-size:12px;padding:12px 18px}.primary:hover{background:#10543f}.toolbar{display:flex;align-items:center;justify-content:space-between;margin:30px 0 23px}.toolbar>div{display:flex;gap:9px}.toolbar button{font-size:11px}.period{border:1px solid var(--line);background:white;border-radius:8px;align-items:center}.period b{font-size:11px;min-width:130px;text-align:center;font-weight:500}.period button{border:0;font-size:17px;padding:6px 12px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:23px}.card,.panel{border:1px solid var(--line);background:#fff;border-radius:12px}.card{padding:21px}.card .label{display:flex;justify-content:space-between;color:#7b8981;font-size:11px}.card .symbol{color:#367b60;font-size:16px}.card strong{font:700 25px Manrope,sans-serif;display:block;letter-spacing:-.8px;margin:17px 0 12px}.card small{color:#8c9891;font-size:10px}.card small b{color:#2a9164;font-weight:500}.card.featured{background:#155d47;color:white;border-color:#155d47}.featured .label,.featured small{color:#b8d1c4}.featured .symbol{color:#cce6d8}.featured small b{color:#b9e6c6}.grid{display:grid;grid-template-columns:1.8fr 1fr;gap:22px;margin-bottom:23px}.panel{padding:23px}.panel h2{font:700 14px Manrope,sans-serif;margin:0 0 6px}.panelhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.panelhead p{font-size:10px;margin:5px 0 0}.panelhead button{font-size:10px;padding:7px 11px}.legend{font-size:9px;color:#829087;display:flex;gap:15px}.legend i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#2e8762;margin-right:5px}.legend i.out{background:#cbd9cc}.chart{height:213px;display:flex;gap:12px}.axis{display:flex;flex-direction:column;justify-content:space-between;font-size:9px;color:#9aa69e;padding-bottom:25px;min-width:41px}.plot{position:relative;flex:1}.lines{position:absolute;inset:0 0 26px;background:repeating-linear-gradient(to top,transparent 0,transparent calc(25% - 1px),#eff2ef calc(25% - 1px),#eff2ef 25%)}.bars{position:absolute;inset:0;display:flex;justify-content:space-around;align-items:flex-end}.barGroup{height:100%;display:flex;align-items:flex-end;gap:5px;position:relative;padding-bottom:26px;width:9%}.bar{width:45%;border-radius:4px 4px 0 0;background:#2d805f;min-height:2px}.bar.out{background:#dbe6dc}.barGroup span{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:9px;color:#98a59c}.chartfoot{border-top:1px solid #f0f3f1;padding-top:15px;margin-top:16px;font-size:10px;color:#86948b;display:flex;justify-content:space-between}.chartfoot b{color:#388567;font-weight:500}.donutwrap{display:flex;align-items:center;justify-content:center;margin:13px 0 20px}.donut{width:156px;height:156px;border-radius:50%;background:conic-gradient(#1e6c50 0 38%,#69a283 38% 65%,#b5ceb9 65% 85%,#e3ebe2 85%);display:grid;place-items:center}.donut>div{background:white;border-radius:50%;width:116px;height:116px;display:flex;flex-direction:column;justify-content:center;text-align:center;font-size:10px;color:#8b978f}.donut strong{color:#243d2e;font:700 19px Manrope;margin-top:6px}.catrow{display:flex;align-items:center;font-size:10px;margin-top:13px;gap:8px}.catrow i{width:7px;height:7px;border-radius:2px}.catrow b{margin-left:auto;font-weight:500}.catrow span{color:#98a39c;width:27px;text-align:right}.tablepanel{padding-bottom:8px}.tabletools{display:flex;gap:8px}.tabletools input{border:1px solid var(--line);border-radius:7px;padding:8px 11px;font-size:10px;width:190px}.tabletools select{border:1px solid var(--line);border-radius:7px;font-size:10px;background:white;padding:7px}table{width:100%;border-collapse:collapse;font-size:11px}th{text-align:left;color:#96a198;font-size:9px;font-weight:500;background:#fafcfb;padding:12px 8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}td{padding:15px 8px;border-bottom:1px solid #f1f4f1;color:#738177}td:first-child{color:#354d3e;font-weight:500}.transaction{display:flex;align-items:center;gap:10px}.txicon{padding:8px;border-radius:8px;color:#458567;background:#edf5ef}.txicon.expense{color:#a27c50;background:#f8f4ed}.tag{border:1px solid #e9eee9;border-radius:5px;padding:3px 7px;font-size:9px}.status{border-radius:5px;padding:4px 7px;font-size:9px;background:#eaf6ee;color:#39865c}.status.pending{background:#fff6e5;color:#b48b37}.status.overdue{background:#fcece9;color:#bd6e5e}.money{font-weight:600;color:#418260;white-space:nowrap}.money.expense{color:#5c6c62}.tableend{display:flex;justify-content:space-between;font-size:10px;color:#99a49c;padding:14px 8px}.empty{text-align:center;padding:40px;color:#849087}.bankgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.bank{padding:28px}.bank strong{display:block;font:700 28px Manrope;margin-top:22px}.bank p{line-height:1.8}.budget{margin-top:25px}.budgetline{height:7px;background:#eef3ee;border-radius:8px;margin-top:12px;overflow:hidden}.budgetline div{height:100%;background:#499675;border-radius:8px}footer{display:flex;justify-content:space-between;color:#a1aba4;font-size:9px;margin-top:28px}dialog{border:1px solid var(--line);border-radius:15px;width:480px;padding:27px;box-shadow:0 20px 90px #132e3030}dialog::backdrop{background:#162b2555;backdrop-filter:blur(3px)}.dialoghead{display:flex;align-items:center;justify-content:space-between}.dialoghead h2{font:700 20px Manrope;margin:0}.dialoghead button{border:0;font-size:23px;padding:0 8px}form label{display:flex;flex-direction:column;font-size:11px;gap:8px;margin:15px 0}form input,form select{border:1px solid #dae4dc;border-radius:7px;padding:11px;min-width:0;width:100%;background:white;color:#334b3d}.formrow{display:flex;gap:15px}.formrow label{width:50%}form>.primary{width:100%;margin-top:10px}#toast{position:fixed;bottom:25px;right:25px;background:#1a5340;color:white;padding:15px 22px;border-radius:10px;display:none;z-index:5}@media(min-width:1500px){section{padding-top:45px}.chart{height:245px}}@media(max-width:1100px){aside{width:205px;padding:27px 15px}main{margin-left:205px}section{padding:28px 24px}.cards{gap:10px}.card{padding:16px}.card strong{font-size:20px}.grid{grid-template-columns:1.5fr 1fr}.demo{display:none}header{padding:0 25px}}@media(max-width:800px){aside{width:68px;padding:24px 9px}.brand{font-size:0}.brand>span:first-child{font-size:30px}.dot,.workspace,aside>label,nav button span,.sidebottom{display:none}nav{margin-top:40px}nav button{justify-content:center;padding:14px 5px}main{margin-left:68px}.grid{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr)}section{padding:25px 16px}.heading{align-items:flex-start;gap:15px}.heading .primary{white-space:nowrap;font-size:10px}h1{font-size:25px}.heading p{font-size:10px}.eyebrow{font-size:8px}.tablepanel{overflow:auto}.tabletools input{width:135px}table{min-width:620px}.bankgrid{grid-template-columns:1fr}footer span{display:none}.toolbar button{font-size:10px;padding:9px}.breadcrumb{font-size:10px}.topright{gap:7px}.panelhead{gap:8px}.tablepanel .panelhead{min-width:600px}.period b{min-width:102px}}

[hidden]{display:none!important}.scheduleBadge{font-size:9px;font-weight:400;display:block;color:#72877a;background:#eef5ef;border-radius:4px;padding:4px 7px}.transaction{flex-wrap:wrap}#scheduleSummary{line-height:1.8;color:#287154}#scheduleHelp{line-height:1.6}dialog{max-height:90vh;overflow:auto}button:disabled{opacity:.5;cursor:wait}

.accountHint{font-size:10px;font-weight:400;color:#84938a}.bank button{margin-top:12px}.bank h2{overflow-wrap:anywhere}#accountError{color:#a33e32}

/* V3: Keep every navigation link reachable under zoom and on small screens. */
aside{height:100dvh;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}aside>*{flex-shrink:0}.sidebottom{padding-top:12px}.bankgrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.rowactions{display:flex;gap:5px;flex-wrap:wrap;min-width:140px}.rowactions button{font-size:10px;padding:6px 8px}.text-danger{color:#a54437}.dialogactions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.danger{background:#a74336;color:white;border:1px solid #a74336}.danger:hover{background:#873327}.menu-toggle,.menu-overlay{display:none}#entryError,#deleteError{color:#a33e32;line-height:1.6}.heading{flex-wrap:wrap}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #59a887;outline-offset:3px}
@media(max-height:720px) and (min-width:901px){aside{padding-top:18px;padding-bottom:18px}.workspace{margin:20px 0}.help{display:none}.profile{margin-top:12px;padding-top:12px}}
@media(max-width:900px){aside{display:flex;width:252px;padding:25px 19px;z-index:30;transform:translateX(-100%);transition:transform .18s ease;visibility:hidden}.brand{font-size:34px}.brand>span:first-child{font-size:32px}.dot{display:inline}.workspace{display:flex;margin:26px 0}.sidebottom,aside>label,nav button span{display:block}nav{margin-top:0}nav button{justify-content:flex-start;padding:12px 14px}nav button span{font-size:13px}.menu-open aside{transform:translateX(0);visibility:visible}.menu-toggle{display:block;position:fixed;top:21px;left:14px;z-index:40;padding:7px 10px;background:white;box-shadow:0 2px 12px #183d3012}.menu-open .brand{margin-top:38px}.menu-overlay{display:block;position:fixed;inset:0;background:#102c2166;border:0;border-radius:0;z-index:20}.menu-overlay[hidden]{display:none}main{margin-left:0}header{padding-left:66px;padding-right:16px}.breadcrumb{font-size:10px}.topright{gap:5px}section{padding:25px 16px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.grid{grid-template-columns:minmax(0,1fr)}.heading{gap:12px}.toolbar{flex-wrap:wrap;gap:10px}.heading .primary{font-size:12px}.heading p{font-size:12px}.panel{min-width:0}.tablepanel{overflow-x:auto}footer{gap:10px}dialog{width:calc(100% - 24px);max-width:480px;padding:22px;max-height:90dvh}.formrow{flex-wrap:wrap;gap:0}.formrow label{width:100%}}
@media(max-width:420px){.breadcrumb{max-width:175px}.topright .avatar{display:none}.cards{gap:9px}.card{padding:15px 12px}.card strong{font-size:20px}.panel{padding:18px}.toolbar>div{flex-wrap:wrap}.period b{min-width:110px}.legend{gap:7px}h1{font-size:25px}}

.account-overview{margin-bottom:23px}.account-overview .panelhead{gap:14px;align-items:flex-start}.account-overview .panelhead p{max-width:640px;line-height:1.6}.account-overview .panelhead button{white-space:nowrap}.account-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,225px),1fr));gap:15px}.account-summary{min-width:0;border:1px solid #e3ebe5;background:#fafcfb;border-radius:10px;padding:20px}.account-summary-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:19px}.account-summary h3{font:700 14px Manrope,sans-serif;margin:0;overflow-wrap:anywhere}.account-summary-head span{font-size:10px;color:#7a8c80}.account-balance-label{font-size:10px;color:#7e8f83}.account-available{display:block;font:700 24px Manrope,sans-serif;color:#176b50;margin:7px 0 20px;overflow-wrap:anywhere}.account-summary dl{margin:0}.account-summary dl>div{display:flex;justify-content:space-between;gap:10px;margin:11px 0;font-size:11px}.account-summary dt{color:#7e8f83}.account-summary dd{margin:0;font-weight:500}.account-summary .income{color:#2d8a61}.account-projection{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #e2ebe4;padding-top:14px;margin-top:18px;font-size:11px}.account-projection span{color:#7e8f83}.negative{color:#b05043!important}@media(max-width:600px){.account-overview .panelhead{flex-wrap:wrap}.account-overview-grid{grid-template-columns:1fr}}
