*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0A0A0A;--surface: #111111;--surface2: #161616;--border: #1F1F1F;--border2: #2A2A2A;--accent: #EA580C;--accent-hov: #F97316;--green: #22C55E;--red: #EF4444;--text: #F0F0F0;--text-mid: #888888;--text-dim: #444444;--sidebar-width: 190px;--topbar-height: 50px;--bottomnav-height: 60px}body{font-family:IBM Plex Mono,Courier New,monospace;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overflow-x:hidden}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}input,select,button,textarea{font-family:inherit}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.4);cursor:pointer}.app-layout{display:flex;flex-direction:column;min-height:100vh}.app-body{display:flex;flex:1;max-width:1200px;margin:0 auto;width:100%}.sidebar{width:var(--sidebar-width);background:var(--surface);border-right:1px solid var(--border);padding:20px 10px;display:flex;flex-direction:column;gap:2px;flex-shrink:0;position:sticky;top:var(--topbar-height);height:calc(100vh - var(--topbar-height));overflow-y:auto}.main-content{flex:1;padding:24px 22px 80px;overflow-x:hidden;min-width:0}.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:var(--bottomnav-height);background:var(--surface);border-top:1px solid var(--border);z-index:90;padding:0 4px;align-items:center;justify-content:space-around}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 8px;border-radius:8px;border:none;background:transparent;cursor:pointer;font-family:inherit;flex:1;transition:all .15s}.bottom-nav-item.active{background:var(--accent)}.bottom-nav-item .nav-icon{font-size:16px;line-height:1}.bottom-nav-item .nav-label{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);white-space:nowrap}.bottom-nav-item.active .nav-label{color:#fff}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:18px;margin-bottom:12px}.row-2{display:grid;grid-template-columns:1fr 1fr 28px;gap:8px;margin-bottom:8px;align-items:center}.row-budget{display:grid;grid-template-columns:1.4fr 1fr 1fr 28px;gap:8px;margin-bottom:8px;align-items:center}.row-debt{display:grid;grid-template-columns:1.6fr 1fr .7fr 1fr 28px;gap:8px;margin-bottom:8px;align-items:center}.pro-badge{background:var(--accent);color:#fff;font-size:9px;font-weight:700;padding:2px 6px;border-radius:4px;letter-spacing:.05em;vertical-align:middle;margin-left:6px}.pro-gate{position:relative;overflow:hidden}.pro-gate-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a0a0acc;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:10;border-radius:10px}@media (max-width: 900px){.grid-4{grid-template-columns:repeat(2,1fr)}.main-content{padding:20px 16px 80px}}@media (max-width: 640px){.sidebar{display:none}.bottom-nav{display:flex}.main-content{padding:16px 12px 80px}.app-body{max-width:100%}.grid-2{grid-template-columns:1fr;gap:10px}.grid-3{grid-template-columns:repeat(3,1fr);gap:8px}.grid-4{grid-template-columns:repeat(2,1fr);gap:8px}.row-budget{grid-template-columns:1fr 1fr 28px}.row-budget .cat-select{display:none}.row-debt{grid-template-columns:1fr 1fr 28px}.row-debt .debt-rate,.row-debt .debt-monthly{display:none}.card{padding:14px}.topbar-user-email{display:none}.page-header h1{font-size:16px}.recharts-wrapper{font-size:10px}}@media (max-width: 380px){.grid-3{grid-template-columns:repeat(3,1fr);gap:6px}.bottom-nav-item .nav-label{font-size:7px}.main-content{padding:12px 10px 70px}}
