@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',Arial,sans-serif;color:#10243a;background:#f5f8fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}.hidden{display:none!important}.app{min-height:100vh}.shell{max-width:1320px;margin:auto;display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.sidebar{background:#08283b;color:white;padding:28px 18px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;font-weight:800;font-size:22px;padding:8px 12px 32px}.brandmark{width:32px;height:32px;border-radius:10px;background:#009c75;display:grid;place-items:center;color:white;font-weight:800}.side-link{display:flex;align-items:center;gap:14px;border:0;background:transparent;color:#a9bdc8;width:100%;text-align:left;border-radius:12px;padding:13px 15px;margin:3px 0;font-weight:700}.side-link:hover,.side-link.active{background:#153e51;color:white}.side-link.active .ico{color:#33d7a7}.side-foot{margin-top:auto;padding:12px;color:#8eacb8;font-size:12px}.main{min-width:0}.top{height:86px;background:#08283b;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 36px}.top h1{font-size:21px;margin:0}.top small{color:#c4d5dd}.top-actions{display:flex;align-items:center;gap:14px}.round{border:0;border-radius:50%;width:36px;height:36px;background:#174459;color:#fff}.avatar{border-radius:50%;width:36px;height:36px;background:#d6f4e8;color:#008965;font-weight:800;display:grid;place-items:center}.content{padding:28px 36px 90px;max-width:1100px;margin:auto}.hero{background:#fff;border-radius:22px;padding:26px;box-shadow:0 6px 24px #0b30400c}.muted{color:#80909a;font-size:13px}.balance{font-size:38px;font-weight:800;letter-spacing:-1.5px;margin:5px 0 20px}.eye{border:0;background:transparent;color:#71828e;margin-left:7px}.row{display:flex;justify-content:space-between;gap:16px;align-items:center}.grid{display:grid;gap:18px}.two{grid-template-columns:1.1fr .9fr}.three{grid-template-columns:repeat(3,1fr)}.mini{display:flex;align-items:center;gap:12px;padding:16px;border-radius:15px;background:#f7fafb;flex:1}.mini strong{display:block;font-size:19px;margin-top:3px}.pill-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:18px;flex:none}.greenbg{background:#d9f6ea;color:#009c75}.redbg{background:#ffe7e7;color:#e44c54}.bluebg{background:#e5efff;color:#3978ec}.purplebg{background:#ede8ff;color:#7659df}.orangebg{background:#fff0db;color:#e9972a}.card{background:white;border-radius:20px;padding:22px;box-shadow:0 5px 20px #0b30400b}.card h2,.section-title{font-size:17px;margin:0 0 18px;font-weight:800}.section{margin-top:22px}.budget-track{display:flex;height:12px;overflow:hidden;border-radius:20px;background:#edf2f4;margin:14px 0 19px}.budget-track span:nth-child(1){background:#f5676b}.budget-track span:nth-child(2){background:#4d83ed}.budget-track span:nth-child(3){background:#00af7c}.budget-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;margin:15px 0}.budget-row .bar{height:6px;background:#eaf0f2;border-radius:20px;overflow:hidden;margin-top:7px}.budget-row .bar i{display:block;height:100%;border-radius:20px}.budget-row strong{font-size:14px}.budget-row small{font-size:11px;color:#8a9ba4}.actions{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.action{border:0;background:#fff;border-radius:16px;padding:18px 6px;box-shadow:0 5px 20px #0b30400b;display:flex;align-items:center;flex-direction:column;gap:9px;font-weight:700;color:#26394c}.action .pill-icon{width:44px;height:44px;border-radius:15px}.tx{display:flex;align-items:center;gap:13px;padding:13px 0;border-bottom:1px solid #eef2f4}.tx:last-child{border-bottom:0}.tx-info{min-width:0;flex:1}.tx-info strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}.tx-info small{color:#8898a2;font-size:11px}.tx-amount{text-align:right;font-weight:800;font-size:14px}.tx-amount small{display:block;font-weight:500;color:#91a0a8;font-size:11px;margin-top:4px}.expense{color:#e44854}.income{color:#009c75}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:17px}.input,.select,.textarea{width:100%;background:#fff;border:1px solid #e0e9ec;border-radius:12px;padding:12px 14px;color:#10243a;outline:none}.input:focus,.select:focus,.textarea:focus{border-color:#009c75;box-shadow:0 0 0 3px #009c7520}.search{flex:1;min-width:180px}.chip{border:0;border-radius:10px;background:#eef3f5;color:#536877;padding:10px 15px;font-size:13px;font-weight:700}.chip.active{background:#009c75;color:white}.btn{border:0;border-radius:12px;padding:12px 18px;background:#009c75;color:#fff;font-weight:800}.btn:hover{background:#008d69}.btn.secondary{background:#edf6f2;color:#008c69}.btn.danger{background:#ffe8e8;color:#d0434c}.form{display:grid;gap:16px}.form label{font-size:13px;font-weight:700;display:block;margin-bottom:7px}.form .fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.amount-box{background:#f2f6f8;padding:19px;border-radius:15px;text-align:center}.amount-box input{border:0;background:none;text-align:center;font-size:32px;font-weight:800;width:100%;color:#10243a;outline:none}.donut{width:220px;height:220px;border-radius:50%;margin:auto;display:grid;place-items:center;background:conic-gradient(#299ef0 0 28%,#fa8654 28% 46%,#f5cf4b 46% 62%,#00b79a 62% 74%,#8970dd 74% 84%,#e45d70 84% 94%,#b5c1c9 94% 100%)}.donut-inner{border-radius:50%;width:140px;height:140px;background:white;display:grid;place-items:center;text-align:center}.donut-inner strong{font-size:23px}.legend{display:grid;gap:12px}.legend-item{display:flex;align-items:center;gap:9px;font-size:13px}.dot{width:10px;height:10px;border-radius:50%}.legend-item b{margin-left:auto}.tool-list{display:grid;gap:10px}.tool-link{display:flex;align-items:center;gap:13px;border:1px solid #edf1f3;background:#fff;border-radius:14px;padding:13px;text-align:left;color:#10243a;width:100%}.tool-link span:nth-child(2){flex:1}.tool-link strong{display:block;font-size:13px}.tool-link small{color:#8598a2;font-size:11px}.tool-link:hover{border-color:#00ac7c}.stat{background:white;border-radius:16px;padding:18px}.stat strong{display:block;font-size:22px;margin-top:5px}.progress{height:7px;background:#e9eff1;border-radius:10px;overflow:hidden;margin:12px 0}.progress i{display:block;height:100%;background:#00a878}.empty{text-align:center;color:#8da0aa;padding:42px 15px}.bottom{display:none}.login-wrap{min-height:100vh;background:linear-gradient(145deg,#08283b 0%,#0b3d4d 70%,#08654d 100%);display:grid;place-items:center;padding:20px}.login-card{background:white;border-radius:24px;padding:32px;width:min(100%,410px);box-shadow:0 30px 70px #031d2a55}.login-card .brand{padding:0 0 22px;color:#08283b}.login-card h1{font-size:25px;margin:6px 0}.login-card p{color:#738791;font-size:13px;line-height:1.5;margin:0 0 25px}.login-card .btn{width:100%;margin-top:8px}.login-error{color:#d43d4a;font-size:12px;min-height:18px}.notice{font-size:11px;color:#8b9da6;margin-top:18px;line-height:1.4}.back{border:0;background:none;color:#9fc3d0;font-size:14px;font-weight:700}.message{position:fixed;right:24px;bottom:24px;background:#08283b;color:#fff;padding:13px 18px;border-radius:12px;box-shadow:0 10px 30px #09273444;z-index:20}.inline-actions{display:flex;gap:6px}.tiny{border:0;background:#f1f5f6;border-radius:7px;padding:5px 8px;color:#536775;font-size:11px}.split-cols{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.day{text-align:center;padding:10px 0;border-radius:9px;background:#f5f8fa;font-size:12px}.day.today{background:#009c75;color:white}.day.event{color:#df4555;font-weight:800}.report-bars{height:190px;display:flex;align-items:end;gap:18px;border-bottom:1px solid #dfe8eb;padding:0 20px}.report-bars div{flex:1;display:flex;gap:4px;align-items:end;height:100%}.report-bars i{display:block;width:50%;border-radius:5px 5px 0 0}.report-labels{display:flex;justify-content:space-around;font-size:11px;color:#8fa0a8;margin:10px 20px}.module-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.module-head h2{margin:0;font-size:21px}.modal-bg{position:fixed;inset:0;background:#031c2b88;z-index:30;display:grid;place-items:center;padding:20px}.modal{background:white;width:min(100%,520px);max-height:90vh;overflow:auto;border-radius:20px;padding:23px}.modal h2{margin:0 0 20px;font-size:20px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.seg{display:flex;background:#edf3f5;padding:4px;border-radius:12px;gap:3px}.seg button{border:0;border-radius:9px;background:transparent;flex:1;padding:10px;font-weight:700;color:#6e808b}.seg button.active{background:#009c75;color:white}.help{font-size:11px;color:#90a0a8;margin-top:5px}@media(max-width:850px){.shell{display:block}.sidebar{display:none}.top{height:75px;padding:0 20px}.content{padding:20px 15px 110px}.two{grid-template-columns:1fr}.bottom{display:flex;position:fixed;bottom:0;left:0;right:0;justify-content:space-around;align-items:center;background:white;border-top:1px solid #e8eff1;height:72px;padding-bottom:env(safe-area-inset-bottom);z-index:10;box-shadow:0 -4px 20px #0b304013}.bottom button{border:0;background:none;color:#8597a2;font-size:10px;font-weight:700;display:flex;flex-direction:column;gap:3px;align-items:center;min-width:52px}.bottom button.active{color:#009c75}.bottom .ico{font-size:20px}.bottom button.add .ico{background:#e9eff4;color:#446070;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-size:24px}.message{bottom:88px;left:15px;right:15px;text-align:center}.card{padding:18px}}@media(max-width:520px){.top h1{font-size:17px}.balance{font-size:32px}.hero{padding:18px}.mini{padding:10px}.mini strong{font-size:14px}.mini .pill-icon{width:30px;height:30px}.actions{gap:7px}.action{padding:13px 3px;font-size:10px}.action .pill-icon{width:34px;height:34px}.three,.split-cols,.form .fields{grid-template-columns:1fr}.donut{width:190px;height:190px}.donut-inner{width:120px;height:120px}}
.forgot-link{display:block;margin:18px auto 0;border:0;background:none;color:#087b5b;font:inherit;font-weight:700;cursor:pointer}.forgot-link:hover{text-decoration:underline}
