@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap";*{box-sizing:border-box;margin:0;padding:0}:root,[data-theme=dark]{--bg:#0a0a0a;--bg-card:#111;--bg-card-hover:#161616;--bg-elevated:#1a1a1a;--bg-input:#0e0e0e;--bg-header:#0a0a0ad9;--bg-bottom-nav:#0a0a0af2;--bg-modal:#000000bf;--border:#1e1e1e;--border-light:#2a2a2a;--text:#e5e5e5;--text-secondary:#aaa;--text-muted:#555;--text-dim:#444;--text-dimmer:#333;--accent:#fff;--accent-inverse:#000;--accent-soft:#ffffff08;--green:#22c55e;--green-dim:#22c55e1f;--red:#ef4444;--red-dim:#ef44441f;--blue:#3b82f6;--blue-dim:#3b82f61f;--purple:#a855f7;--purple-dim:#a855f71f;--bar-track:#1e1e1e;--bar-fill:#fff;--bar-fill-alt:#888;--dot-opacity:.4;--shadow-fab:0 4px 20px #00000080;--date-filter:invert(1);--scrollbar:#333}[data-theme=light]{--bg:#f5f5f4;--bg-card:#fff;--bg-card-hover:#fafaf9;--bg-elevated:#f0f0ef;--bg-input:#fff;--bg-header:#f5f5f4e0;--bg-bottom-nav:#f5f5f4f2;--bg-modal:#0006;--border:#e5e5e4;--border-light:#d4d4d3;--text:#1c1917;--text-secondary:#57534e;--text-muted:#a8a29e;--text-dim:#a8a29e;--text-dimmer:#d6d3d1;--accent:#1c1917;--accent-inverse:#fff;--accent-soft:#00000008;--green:#16a34a;--green-dim:#16a34a1a;--red:#dc2626;--red-dim:#dc262614;--blue:#2563eb;--blue-dim:#2563eb14;--purple:#9333ea;--purple-dim:#9333ea14;--bar-track:#e5e5e4;--bar-fill:#1c1917;--bar-fill-alt:#78716c;--dot-opacity:.5;--shadow-fab:0 4px 20px #00000026;--date-filter:none;--scrollbar:#d4d4d3}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-bottom:env(safe-area-inset-bottom);touch-action:pan-y;min-height:100dvh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5;transition:background .3s,color .3s;position:relative;overflow-x:hidden}body.no-scroll{overscroll-behavior:none!important;height:100dvh!important;overflow:hidden!important}h1,.big-text{font-size:clamp(1.8rem,5vw,2.5rem)}h2{font-size:clamp(1.4rem,4vw,1.8rem)}.mono-amount{letter-spacing:-.02em;font-size:clamp(1.5rem,6vw,2.2rem);font-weight:800}input,select,button,textarea{max-width:100%;font-family:inherit;font-size:16px}button,.action-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all .2s cubic-bezier(.4,0,.2,1)}button:active,.action-btn:active{opacity:.8;transform:scale(.96)}input,select{appearance:none;border-radius:8px}input[type=date]{appearance:none;min-width:0}input[type=date]::-webkit-calendar-picker-indicator{filter:var(--date-filter)}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.helper-box{animation:.3s ease-out slideUp}::-webkit-scrollbar{width:0;height:0;display:none}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{display:none}@media print{body *{visibility:hidden}.print-only,.print-only *{visibility:visible}.print-only{color:#000!important;z-index:99999!important;background:#fff!important;width:100%!important;height:auto!important;padding:10mm 15mm!important;position:absolute!important;top:0!important;left:0!important}.print-watermark{z-index:-1;pointer-events:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;font-size:400px;font-weight:900;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-45deg);color:#00000008!important}.no-print{display:none!important}@page{margin:0}}.safe-p-top{padding-top:env(safe-area-inset-top)}.safe-p-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-m-top{margin-top:env(safe-area-inset-top)}.safe-m-bottom{margin-bottom:env(safe-area-inset-bottom)}.stat-grid-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.investment-portfolio{grid-column:span 2}.summary-grid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}@media (width<=600px){.summary-grid{grid-template-columns:1fr;gap:12px}.summary-item{border-bottom:1px solid var(--border);padding-bottom:8px;border-left:none!important;padding-left:0!important}.summary-item:last-child{border-bottom:none;padding-bottom:0}}.mobile-padding-x{padding-left:20px;padding-right:20px}.no-select{-webkit-user-select:none;user-select:none}.bottom-nav{background:var(--bg-bottom-nav);-webkit-backdrop-filter:blur(24px);border-top:1px solid var(--border);padding:8px 10px;padding-bottom:max(10px, env(safe-area-inset-bottom));z-index:1000;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s;display:none;position:fixed;bottom:0;left:0;right:0}.bottom-nav-inner{justify-content:space-between;align-items:center;max-width:600px;margin:0 auto;padding:0 4px;display:flex}.bottom-nav-btn{min-width:0;color:var(--text-dim);cursor:pointer;text-transform:uppercase;letter-spacing:.04em;background:0 0;border:none;border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 0;font-size:9px;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.bottom-nav-btn span{opacity:0;transition:all .3s;display:none;transform:translateY(4px)}.bottom-nav-btn.active span{opacity:1;display:block;transform:translateY(0)}@media (width>=500px){.bottom-nav-btn span{opacity:1;display:block;transform:translateY(0)}}.bottom-nav-btn svg{opacity:.6;transition:transform .2s}.bottom-nav-btn.active{color:var(--accent)}.bottom-nav-btn.active svg{opacity:1;transform:translateY(-2px)}.fab{bottom:calc(80px + env(safe-area-inset-bottom));background:var(--accent);width:56px;height:56px;color:var(--accent-inverse);cursor:pointer;z-index:999;border:none;border-radius:18px;justify-content:center;align-items:center;transition:transform .2s;display:none;position:fixed;right:20px;box-shadow:0 8px 24px #0003}.fab:active{transform:scale(.92)}.modal-overlay{background:var(--bg-modal);-webkit-backdrop-filter:blur(10px);z-index:10000;touch-action:none;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-card);border:1px solid var(--border-light);touch-action:auto;scrollbar-width:none;-ms-overflow-style:none;border-radius:20px;width:100%;max-width:540px;max-height:90dvh;padding:24px;position:relative;overflow-y:auto;box-shadow:0 20px 50px #0000004d}.modal-content::-webkit-scrollbar{display:none}.modal-handle{background:var(--border-light);border-radius:10px;width:40px;height:5px;margin:-8px auto 20px;display:none}@media (width<=1180px){.modal-handle{display:block}}.budget-modal-overlay{background:var(--bg-modal);-webkit-backdrop-filter:blur(10px);z-index:10000;touch-action:none;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.budget-modal-content{background:var(--bg-card);border:1px solid var(--border-light);touch-action:auto;scrollbar-width:none;-ms-overflow-style:none;border-radius:24px;width:100%;max-width:480px;max-height:90dvh;position:relative;overflow-y:auto;box-shadow:0 20px 50px #0000004d}.budget-modal-content::-webkit-scrollbar{display:none}@media (width<=1180px){.budget-modal-overlay{align-items:center;padding:20px}.budget-modal-content{border-radius:20px;width:100%;max-width:100%;max-height:85dvh;animation:.28s cubic-bezier(.34,1.42,.64,1) dialogPop;padding-bottom:max(24px, env(safe-area-inset-bottom))!important}.desktop-nav,.desktop-add{display:none!important}.bottom-nav{display:block}.fab{display:flex}.stat-grid-3{grid-template-columns:1fr!important}.investment-portfolio{grid-column:span 1!important}.dashboard-main{grid-template-columns:1fr!important}body.modal-open .bottom-nav,body.modal-open .fab{opacity:0;pointer-events:none;transform:translateY(100%)}body:has(input:focus,textarea:focus) .bottom-nav{opacity:0;pointer-events:none;transform:translateY(100%)}.modal-overlay{justify-content:center;align-items:flex-end;padding:0}.modal-content{border:none;border-top:1px solid var(--border);border-radius:24px 24px 0 0;width:100%;max-width:100%;max-height:88dvh;animation:.32s cubic-bezier(.32,.72,0,1) slideUp;padding-bottom:max(32px, env(safe-area-inset-bottom))!important}}@media (width<=480px){.stat-grid-3{grid-template-columns:1fr!important}.modal-content{padding:20px!important;padding-bottom:max(20px, env(safe-area-inset-bottom))!important}.modal-form-grid{grid-template-columns:1fr!important}}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.4s cubic-bezier(.2,.8,.2,1) forwards fadeIn}.mono{font-variant-numeric:tabular-nums;font-family:JetBrains Mono,SF Mono,monospace}.scroll-x{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;overflow-x:auto}.scroll-x::-webkit-scrollbar{display:none}.theme-toggle{background:var(--bg-elevated);border:1px solid var(--border);width:36px;height:36px;color:var(--text-dim);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;transition:all .2s;display:flex}.theme-toggle:hover{border-color:var(--accent);color:var(--text)}@keyframes toastIn{0%{opacity:0;transform:translate(100%)scale(.8)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes toastOut{to{opacity:0;transform:scale(.8)}}@keyframes toastInMobile{0%{opacity:0;transform:translateY(100%)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toastOutMobile{to{opacity:0;transform:translateY(40px)scale(.9)}}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}@keyframes dropdownIn{0%{opacity:0;transform:translateY(-6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes dialogPop{0%{opacity:0;transform:scale(.9)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.mobile-only{display:none!important}.desktop-only{display:flex!important}@media (width<=600px){.mobile-only{display:flex!important}.desktop-only{display:none!important}}body:not(.modal-open):not(:has(.modal-overlay)){height:auto!important;position:relative!important;overflow:auto!important}.helper-btn{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-dim);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:4px;padding:6px 12px;font-size:10px;font-weight:700;transition:all .2s;display:flex}.helper-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}@media (width<=600px){.responsive-btn{justify-content:center;display:flex;width:100%!important;padding:14px 20px!important}}.fixed-footer-container{padding:16px 24px;padding-bottom:calc(24px + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--bg) 60%, transparent);z-index:1000;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.fixed-footer-container>*{pointer-events:auto}@media (width<=600px){.fixed-footer-container{background:0 0;padding-bottom:0;bottom:84px}}
