@font-face{font-family:Roboto;font-weight:300;src:url(/fonts/Roboto-Light.ttf) format("truetype");font-display:swap}@font-face{font-family:Roboto;font-weight:400;src:url(/fonts/Roboto-Regular.ttf) format("truetype");font-display:swap}@font-face{font-family:Roboto;font-weight:500;src:url(/fonts/Roboto-Medium.ttf) format("truetype");font-display:swap}@font-face{font-family:Roboto;font-weight:700;src:url(/fonts/Roboto-Bold.ttf) format("truetype");font-display:swap}@font-face{font-family:Poppins;font-weight:600;src:url(/fonts/Poppins-SemiBold.ttf) format("truetype");font-display:swap}@font-face{font-family:Poppins;font-weight:700;src:url(/fonts/Poppins-Bold.ttf) format("truetype");font-display:swap}:root{--green-50:#ecfdf5;--green-100:#d1fae5;--green-200:#a7f3d0;--green:#0e9f6e;--green-600:#0b8a5f;--green-700:#047857;--green-800:#065f46;--ink-900:#0f172a;--ink-800:#1e293b;--ink-700:#334155;--ink-500:#64748b;--ink-400:#94a3b8;--ink-300:#cbd5e1;--bg:#f8fafc;--card:#fff;--line:#e2e8f0;--line-soft:#eef2f6;--wash:#f1f5f9;--red-50:#fef2f2;--red:#dc2626;--amber-50:#fffbeb;--amber:#f59e0b;--amber-600:#d97706;--c-housing:#6366f1;--c-food:#f59e0b;--c-transport:#0ea5e9;--c-bank:#8b5cf6;--c-health:#ec4899;--c-leisure:#14b8a6;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--r-pill:9999px;--shadow-card:0 1px 2px rgba(15,23,42,.04),0 4px 16px -6px rgba(15,23,42,.1);--shadow-pop:0 8px 28px rgba(15,23,42,.14),0 0 0 1px rgba(15,23,42,.04);--shadow-nav:0 1px 3px rgba(15,23,42,.06);--font:"Roboto",system-ui,-apple-system,"Segoe UI",sans-serif;--font-display:"Poppins","Roboto",system-ui,sans-serif}body,html{margin:0;padding:0;height:100%;background:var(--bg)}body{overflow-x:hidden}*{box-sizing:border-box;min-width:0}.fin,body{font-family:var(--font);color:var(--ink-700);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.fin{background:var(--bg)}.fin,.fin *,.fin :after,.fin :before{box-sizing:border-box}.fin h1,.fin h2,.fin h3,.fin h4,.fin li,.fin p,.fin ul{margin:0;padding:0}.fin ul{list-style:none}.fin button{cursor:pointer;border:none;background:none}.fin button,.fin input,.fin select,.fin textarea{font-family:inherit}a{color:inherit;text-decoration:none}.display{font-family:var(--font-display)}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.pos{color:var(--green-700)}.neg{color:var(--red)}.muted{color:var(--ink-500)}.strong{color:var(--ink-900)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-card)}.track{background:var(--wash);overflow:hidden;width:100%}.fill,.track{border-radius:var(--r-pill)}.fill{height:100%;background:var(--green);transition:width .4s cubic-bezier(.2,.7,.3,1)}.fill.amber{background:var(--amber)}.fill.red{background:var(--red)}.chip{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;border-radius:var(--r-pill);font-size:12px;font-weight:500;background:var(--wash);color:var(--ink-500);white-space:nowrap}.chip.green{background:var(--green-50);color:var(--green-700)}.chip.amber{background:var(--amber-50);color:var(--amber-600)}.chip.red{background:var(--red-50);color:var(--red)}.demo-tag{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:500;letter-spacing:.02em;color:var(--ink-400);text-transform:uppercase}.demo-dot{width:6px;height:6px;border-radius:50%;background:var(--amber)}.inp{width:100%;height:46px;border:1px solid var(--line);border-radius:var(--r-md);background:#fff;padding:0 14px;font-size:14.5px;color:var(--ink-900);outline:none;transition:border-color .15s,box-shadow .15s}.inp:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-50)}.inp::placeholder{color:var(--ink-400)}select.inp{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.clickable{cursor:pointer;transition:background .15s,transform .1s,box-shadow .15s,opacity .15s}.clickable:active{transform:scale(.99)}.nav-item{cursor:pointer;transition:background .15s,color .15s}.nav-item:hover{background:hsla(0,0%,100%,.06)}.row-hover{transition:background .12s}.row-hover:hover{background:var(--wash)}.app-shell{height:100vh;height:100dvh;width:100%;max-width:100%}.app-main,.app-shell{display:flex;overflow:hidden}.app-main{flex:1 1;flex-direction:column;min-width:0}.app-body{flex:1 1;overflow-y:auto;overflow-x:hidden}@media (min-width:861px){.mobile-only{display:none!important}}@media (max-width:860px){.app-sidebar,.desktop-only,.desktop-topbar{display:none!important}}