@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap");:root{--mint-50:#edfdf4;--mint-100:#d4fae3;--mint-200:#abf4cc;--mint-300:#73e8ab;--mint-400:#3dd68c;--mint-500:#14b86a;--mint-600:#099554;--mint-700:#087746;--mint-800:#095e3a;--mint-900:#084d31;--mint-950:#032b1c;--slate-50:#f9fafb;--slate-100:#f1f3f5;--slate-200:#e2e5e9;--slate-300:#cdd1d7;--slate-400:#9da3ad;--slate-500:#6e7681;--slate-600:#4e545e;--slate-700:#363b44;--slate-800:#252a31;--slate-900:#1a1f2e;--slate-950:#0f1219;--surface-primary:var(--slate-950);--surface-elevated:var(--slate-900);--surface-overlay:rgba(26,31,46,0.8);--surface-card:rgba(26,31,46,0.6);--text-primary:var(--slate-50);--text-secondary:var(--slate-400);--text-tertiary:var(--slate-500);--text-accent:var(--mint-400);--border-subtle:rgba(255,255,255,0.06);--border-default:rgba(255,255,255,0.1);--border-accent:rgba(61,214,140,0.3);--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--space-5xl:8rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 2px rgba(0,0,0,0.3);--shadow-md:0 4px 12px rgba(0,0,0,0.4);--shadow-lg:0 8px 32px rgba(0,0,0,0.5);--shadow-glow:0 0 40px rgba(61,214,140,0.15);--shadow-glow-lg:0 0 80px rgba(61,214,140,0.2);--ease-out:cubic-bezier(0.23,1,0.32,1);--ease-in-out:cubic-bezier(0.77,0,0.175,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--font-sans:"Outfit",system-ui,-apple-system,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--z-base:0;--z-elevated:10;--z-sticky:20;--z-nav:30;--z-overlay:40;--z-modal:50}:root[data-theme=light]{color-scheme:light;--surface-primary:var(--slate-50);--surface-elevated:#ffffff;--surface-overlay:rgba(255,255,255,0.85);--surface-card:rgba(255,255,255,0.7);--text-primary:var(--slate-900);--text-secondary:var(--slate-600);--text-tertiary:var(--slate-500);--text-accent:var(--mint-600);--border-subtle:rgba(15,18,25,0.06);--border-default:rgba(15,18,25,0.1);--border-accent:rgba(9,149,84,0.3);--shadow-sm:0 1px 2px rgba(15,18,25,0.06);--shadow-md:0 4px 12px rgba(15,18,25,0.08);--shadow-lg:0 8px 32px rgba(15,18,25,0.12);--shadow-glow:0 0 40px rgba(9,149,84,0.12);--shadow-glow-lg:0 0 80px rgba(9,149,84,0.16)}:root[data-theme=light] body{background-color:var(--slate-50)}:root[data-theme=light] ::-webkit-scrollbar-thumb{background:var(--slate-300)}:root[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:var(--slate-400)}:root[data-theme=light] option{background-color:#ffffff;color:var(--slate-900)}@media (prefers-color-scheme:light){:root:not([data-theme]){color-scheme:light;--surface-primary:var(--slate-50);--surface-elevated:#ffffff;--surface-overlay:rgba(255,255,255,0.85);--surface-card:rgba(255,255,255,0.7);--text-primary:var(--slate-900);--text-secondary:var(--slate-600);--text-tertiary:var(--slate-500);--text-accent:var(--mint-600);--border-subtle:rgba(15,18,25,0.06);--border-default:rgba(15,18,25,0.1);--border-accent:rgba(9,149,84,0.3);--shadow-sm:0 1px 2px rgba(15,18,25,0.06);--shadow-md:0 4px 12px rgba(15,18,25,0.08);--shadow-lg:0 8px 32px rgba(15,18,25,0.12);--shadow-glow:0 0 40px rgba(9,149,84,0.12);--shadow-glow-lg:0 0 80px rgba(9,149,84,0.16)}:root:not([data-theme]) body{background-color:var(--slate-50)}}*,:after,:before{margin:0;padding:0;box-sizing:border-box}html{font-family:var(--font-sans);font-size:16px;line-height:1.6;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;color-scheme:dark}body{background-color:var(--slate-950);color:var(--text-primary);overflow-x:hidden}img,svg,video{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}ol,ul{list-style:none}h1,h2,h3,h4,h5,h6{font-weight:600;letter-spacing:-.02em;line-height:1.1}.text-display{font-size:clamp(2.5rem,5vw + 1rem,4.5rem);font-weight:700;letter-spacing:-.03em;line-height:1.05}.text-heading{font-size:clamp(1.75rem,3vw + .5rem,3rem);font-weight:600;letter-spacing:-.02em;line-height:1.15}.text-subheading{font-size:clamp(1.25rem,2vw,1.5rem);font-weight:500;line-height:1.4}.text-body{font-size:1rem;line-height:1.7;max-width:65ch}.text-body,.text-small{color:var(--text-secondary)}.text-small{font-size:.875rem;line-height:1.5}.text-mono{font-family:var(--font-mono);font-size:.8125rem;letter-spacing:.04em}.text-accent{color:var(--mint-400)}.container{max-width:1200px}.container,.container-wide{width:100%;margin-inline:auto;padding-inline:var(--space-lg)}.container-wide{max-width:1400px}.pageShell{max-width:1100px;width:100%;margin-inline:auto}.section{padding-block:var(--space-5xl)}@media (max-width:768px){.section{padding-block:var(--space-3xl)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:.75rem 1.75rem;border-radius:var(--radius-full);font-weight:500;font-size:.9375rem;letter-spacing:.01em;transition:transform .16s var(--ease-out),box-shadow .2s var(--ease-out),background-color .2s var(--ease-out);white-space:nowrap;position:relative;overflow:hidden}.btn:active{transform:scale(.97)}.btn-primary{background:var(--mint-400);color:var(--slate-950);font-weight:600}.btn-primary:hover{background:var(--mint-300);box-shadow:var(--shadow-glow)}.btn-secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border-default)}.btn-secondary:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.2)}.btn-lg{padding:1rem 2.25rem;font-size:1rem}.card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-xl);transition:transform .3s var(--ease-out),border-color .3s var(--ease-out),box-shadow .3s var(--ease-out)}.card:hover{border-color:var(--border-accent);transform:translateY(-2px);box-shadow:var(--shadow-glow)}.badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:.375rem .875rem;border-radius:var(--radius-full);font-size:.8125rem;font-weight:500;border:1px solid var(--border-accent);color:var(--mint-400);background:rgba(61,214,140,.08)}.divider{height:1px;background:var(--border-subtle);width:100%}.glass{background:rgba(26,31,46,.4);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}@media (prefers-reduced-motion:no-preference){.animate-fade-up{animation:fadeUp .6s var(--ease-out) both}.animate-fade-in{animation:fadeIn .5s var(--ease-out) both}.animate-scale-in{animation:scaleIn .5s var(--ease-out) both}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse-ring{0%{transform:scale(.9);opacity:.7}to{transform:scale(1.4);opacity:0}}}.stagger-1{animation-delay:0s}.stagger-2{animation-delay:60ms}.stagger-3{animation-delay:.12s}.stagger-4{animation-delay:.18s}.stagger-5{animation-delay:.24s}.stagger-6{animation-delay:.3s}.gradient-mesh{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.gradient-mesh:before{top:-20%;right:-10%;width:50vw;height:50vw;background:radial-gradient(circle,rgba(61,214,140,.08),transparent 70%);filter:blur(80px)}.gradient-mesh:after,.gradient-mesh:before{content:"";position:absolute;border-radius:50%}.gradient-mesh:after{bottom:-10%;left:-10%;width:40vw;height:40vw;background:radial-gradient(circle,rgba(61,214,140,.04),transparent 70%);filter:blur(60px)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--slate-700);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--slate-600)}::selection{background:rgba(61,214,140,.3);color:var(--text-primary)}:focus-visible{outline:2px solid var(--mint-400);outline-offset:2px}@media (prefers-reduced-transparency:reduce){.glass{background:var(--slate-900);-webkit-backdrop-filter:none;backdrop-filter:none}}option{background-color:#1a1f2e;color:#f9fafb}.skeleton-loader{background:linear-gradient(90deg,var(--slate-800) 25%,var(--slate-700) 50%,var(--slate-800) 75%);background-size:400% 100%;animation:skeleton-loading 1.4s ease-in-out infinite}@keyframes skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}:root{--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}*{-webkit-tap-highlight-color:transparent}html{text-size-adjust:100%}.panelBody,.scrollable,.txnList,[data-scroll]{-webkit-overflow-scrolling:touch}[role=button],a,button{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}.deleteBtn,.iconBtn,.modalClose,.monthBtn{min-height:unset;min-width:unset}a,button{touch-action:manipulation}body{min-height:100dvh}@supports (padding-bottom:env(safe-area-inset-bottom)){.dashboardLayout,main{padding-bottom:calc(1rem + env(safe-area-inset-bottom))}}.balanceStrip,.mainGrid,.page,.quickRow,.summaryGrid{max-width:100%;overflow-x:hidden}@media (max-width:480px){.balanceCard,.goalCard,.panel,.quickCard,.summaryCard{padding:1rem!important}.balanceValue,.kpiValue,.summaryCardValue{font-size:1.25rem!important}.chartsGrid,.mainGrid{grid-template-columns:1fr!important}.kpiRow,.summaryGrid{grid-template-columns:repeat(2,1fr)!important}.modal{border-radius:20px 20px 0 0!important;position:fixed!important;bottom:0!important;left:0!important;right:0!important;max-width:100%!important;max-height:85vh!important}.modalOverlay{align-items:flex-end!important}}input,select,textarea{font-size:max(16px,1rem)!important}body,html{overscroll-behavior-y:contain}.page-transition{animation:pageSlideIn .35s cubic-bezier(.32,.72,0,1) forwards;will-change:transform,opacity}@keyframes pageSlideIn{0%{transform:translateY(16px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}