@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@300;400;500;600;700&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{background:#f8f9fa;font-family:IBM Plex Sans,Segoe UI,sans-serif;color:#0f0f0f;-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit;outline:none}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:#f1f3f4}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:99px}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes ticker{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.fade-up{animation:fadeUp .25s ease forwards}.ticker-track{animation:ticker 32s linear infinite;white-space:nowrap;display:inline-flex}.ticker-track:hover{animation-play-state:paused}.spin-anim{animation:spin .7s linear infinite}.slide-up{animation:slideUp .3s ease forwards}input:focus{border-color:#2563eb!important;box-shadow:0 0 0 3px rgba(37,99,235,.1)}button:active{transform:scale(.98)}.sf-mobile-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e5e7eb;z-index:200;padding:4px 0 env(safe-area-inset-bottom,8px)}.sf-mobile-nav button{flex:1 1;background:none;border:none;padding:5px 2px;font-size:8px;color:#9ca3af;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;font-family:IBM Plex Mono,monospace;font-weight:600;letter-spacing:.03em;text-transform:uppercase;transition:color .15s}.sf-mobile-nav button.active{color:#0f0f0f}.sf-mobile-nav button .nav-icon{font-size:16px;line-height:1}@media (max-width:768px){.sf-mobile-nav{display:flex!important}body{padding-bottom:70px}.sf-desktop-nav{display:none!important}.sf-header{padding:0 12px!important;height:46px!important}.sf-header-actions{gap:6px!important}.sf-header-actions .sf-edit-month-btn{padding:5px 10px!important;font-size:10px!important}.sf-header-actions .sf-refresh-btn,.sf-header-signout,.sf-header-time,.sf-header-user-name{display:none!important}.sf-main{padding:10px 12px!important}.sf-grid-3,.sf-grid-4{grid-template-columns:1fr 1fr!important}.sf-grid-2{grid-template-columns:1fr!important}.sf-cash-panel{grid-template-columns:1fr 1fr!important}.sf-cash-panel-edit{display:none!important}.sf-overview-grid{grid-template-columns:1fr!important}.sf-budget-overview{grid-template-columns:1fr 1fr!important}.sf-debt-row{grid-template-columns:1fr 90px 28px!important}.sf-debt-deadline,.sf-debt-owner{display:none!important}.sf-budget-row{grid-template-columns:1fr 70px 70px 28px!important}.sf-budget-variance{display:none!important}.sf-needs-row{grid-template-columns:1fr 70px 60px!important}.sf-needs-hide{display:none!important}.sf-modal-overlay{align-items:flex-end!important;padding:0!important}.sf-modal-inner{max-height:92vh!important;border-radius:20px 20px 0 0!important;width:100%!important;max-width:100%!important}.sf-kids-grid{grid-template-columns:1fr!important}.sf-trends-grid{grid-template-columns:repeat(6,1fr)!important}.sf-market-grid{grid-template-columns:1fr!important}.sf-mortgage-grid{grid-template-columns:1fr 1fr!important}.sf-paydown-methods{grid-template-columns:1fr!important}.sf-paydown-row{grid-template-columns:20px 1fr 80px 60px!important}.sf-paydown-minpmt{display:none!important}.sf-fab{bottom:80px!important;right:16px!important}.ticker-track{animation-duration:20s}.sf-quick-spend{border-radius:20px 20px 0 0!important}.sf-stat-val{font-size:18px!important}.hide-mobile{display:none!important}}@media (min-width:769px){.sf-mobile-nav{display:none!important}body{padding-bottom:0}}