*,:after,:before{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}:root{--bg-primary:#090909;--bg-secondary:#111111;--glass-bg:rgba(255,255,255,0.04);--glass-bg-hover:rgba(255,255,255,0.08);--glass-border:rgba(255,255,255,0.10);--glass-border-hover:rgba(255,255,255,0.20);--text-primary:#ffffff;--text-secondary:rgba(255,255,255,0.55);--text-muted:rgba(255,255,255,0.30);--income-color:#c8ffc8;--income-bg:rgba(200,255,200,0.10);--expense-color:#ffc8c8;--expense-bg:rgba(255,200,200,0.10);--accent:rgba(255,255,255,0.90);--radius-sm:12px;--radius-md:18px;--radius-lg:24px;--radius-xl:32px;--nav-height:60px;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,html{background:var(--bg-primary);color:var(--text-primary)}#__next,body,html{height:100%;width:100%;overflow:hidden}.app-background{position:fixed;inset:0;z-index:0;background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(255,255,255,.07) 0,transparent 60%),radial-gradient(ellipse 60% 40% at 80% 100%,rgba(180,180,180,.04) 0,transparent 50%),linear-gradient(160deg,#0f0f0f,#090909 40%,#0a0a0a 70%,#0d0d0d)}.glass-card{background:var(--glass-bg);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);transition:background .3s ease,border-color .3s ease,transform .2s ease}.glass-card:active{transform:scale(.98)}.app-shell{position:relative;z-index:1;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.scroll-area{flex:1 1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;padding-top:calc(var(--safe-top) + 16px);padding-bottom:calc(var(--nav-height) + var(--safe-bottom) + 24px);padding-left:20px;padding-right:20px}.scroll-area::-webkit-scrollbar{display:none}.bottom-nav{overflow:visible;position:fixed;bottom:0;left:0;right:0;z-index:100;height:calc(var(--nav-height) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:rgba(9,9,9,.92);backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);border-top:1px solid var(--glass-border);justify-content:space-around;padding-left:4px;padding-right:4px}.bottom-nav,.nav-item{display:flex;align-items:center}.nav-item{flex-direction:column;justify-content:center;gap:3px;padding:6px 4px;border-radius:10px;cursor:pointer;transition:all .2s ease;background:none;border:none;color:var(--text-muted);text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex:1 1;min-width:0}.nav-item.active{color:var(--text-primary)}.nav-item:active{transform:scale(.92)}.nav-icon{font-size:22px;line-height:1;transition:transform .2s ease}.nav-label{font-size:9px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.nav-dot{width:4px;height:4px;border-radius:50%;background:white;opacity:0;transition:opacity .3s ease;margin-top:-2px}.nav-item.active .nav-dot{opacity:1}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding-top:8px}.page-title{font-size:28px;font-weight:700;letter-spacing:-.5px;color:var(--text-primary)}.page-subtitle{font-size:13px;color:var(--text-secondary);margin-top:2px}.balance-card{padding:28px 24px;margin-bottom:20px;position:relative;overflow:hidden}.balance-card:before{content:"";position:absolute;top:-40%;right:-20%;width:200px;height:200px;background:radial-gradient(circle,rgba(255,255,255,.05) 0,transparent 70%);pointer-events:none}.balance-label{font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:8px}.balance-amount{font-size:42px;font-weight:800;letter-spacing:-2px;color:var(--text-primary);line-height:1;transition:all .5s ease}.balance-amount.positive{color:#e8ffe8}.balance-amount.negative{color:#ffe8e8}.balance-meta{display:flex;gap:20px;margin-top:20px}.balance-meta-item{display:flex;flex-direction:column;gap:4px}.balance-meta-label{font-size:11px;color:var(--text-muted);font-weight:500;letter-spacing:.05em;text-transform:uppercase}.balance-meta-value{font-size:15px;font-weight:600}.balance-meta-value.income{color:var(--income-color)}.balance-meta-value.expense{color:var(--expense-color)}.stats-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-bottom:20px}.stat-card{padding:16px;display:flex;flex-direction:column;gap:8px}.stat-icon{font-size:20px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--glass-bg-hover)}.stat-value{font-size:20px;font-weight:700;letter-spacing:-.5px}.stat-label{font-size:11px;color:var(--text-secondary);font-weight:500;letter-spacing:.05em;text-transform:uppercase}.section-title{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px;margin-top:4px}.transaction-list{display:flex;flex-direction:column;gap:8px}.transaction-item{display:flex;align-items:center;gap:14px;padding:14px 16px;cursor:pointer;transition:all .2s ease}.transaction-item:active{transform:scale(.98);background:var(--glass-bg-hover)!important}.transaction-icon{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.transaction-icon.income{background:var(--income-bg)}.transaction-icon.expense{background:var(--expense-bg)}.transaction-info{flex:1 1;min-width:0}.transaction-desc{font-size:15px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transaction-cat{font-size:12px;color:var(--text-muted);margin-top:2px}.transaction-amount{font-size:16px;font-weight:700;text-align:right;flex-shrink:0}.transaction-amount.income{color:var(--income-color)}.transaction-amount.expense{color:var(--expense-color)}.transaction-date{font-size:11px;color:var(--text-muted);text-align:right;margin-top:2px}.nav-fab-center{width:52px;height:52px;border-radius:16px;background:white;color:#0a0a0a;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-bottom:calc(var(--nav-height) * .25);box-shadow:0 4px 20px rgba(0,0,0,.6),0 1px 4px rgba(255,255,255,.12);transition:all .2s cubic-bezier(.34,1.56,.64,1);-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;z-index:1}.nav-fab-center:active{transform:scale(.88)}.fab{position:fixed;bottom:calc(var(--nav-height) + var(--safe-bottom) + 14px);right:20px;z-index:99;width:52px;height:52px;border-radius:16px;background:white;color:#0a0a0a;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 32px rgba(0,0,0,.6),0 2px 8px rgba(255,255,255,.08);transition:all .2s cubic-bezier(.34,1.56,.64,1);-webkit-user-select:none;-moz-user-select:none;user-select:none}.fab:active{transform:scale(.9)}.modal-overlay{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:flex-end;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-sheet{width:100%;background:#111111;border-top-left-radius:28px;border-top-right-radius:28px;border-top:1px solid var(--glass-border);padding:12px 24px 32px;padding-bottom:calc(32px + var(--safe-bottom));animation:slideUp .35s cubic-bezier(.32,.72,0,1);max-height:90dvh;overflow-y:auto}.modal-sheet::-webkit-scrollbar{display:none}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-handle{width:36px;height:4px;background:rgba(255,255,255,.2);border-radius:2px;margin:0 auto 20px}.modal-title{font-size:20px;font-weight:700;margin-bottom:24px;color:var(--text-primary)}.type-toggle{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-bottom:20px}.type-btn{padding:12px;border-radius:14px;border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--text-secondary);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit;letter-spacing:.02em}.type-btn.active.income{background:var(--income-bg);border-color:rgba(200,255,200,.3);color:var(--income-color)}.type-btn.active.expense{background:var(--expense-bg);border-color:rgba(255,200,200,.3);color:var(--expense-color)}.form-group{margin-bottom:16px}.form-label{display:block;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.form-input{width:100%;padding:14px 16px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:16px;font-family:inherit;font-weight:500;outline:none;transition:border-color .2s ease,background .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-input:focus{border-color:rgba(255,255,255,.3);background:var(--glass-bg-hover)}.form-input::placeholder{color:var(--text-muted)}.amount-input-wrap{position:relative}.amount-prefix{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:18px;font-weight:600;color:var(--text-secondary);pointer-events:none}.amount-input-wrap .form-input{padding-left:32px;font-size:22px;font-weight:700;letter-spacing:-.5px}.category-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.category-chip{padding:8px 14px;border-radius:10px;border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;font-family:inherit}.category-chip.selected{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3);color:white}.submit-btn{width:100%;padding:16px;border-radius:16px;background:white;color:#0a0a0a;font-size:16px;font-weight:700;font-family:inherit;letter-spacing:.02em;border:none;cursor:pointer;margin-top:8px;transition:all .2s cubic-bezier(.34,1.56,.64,1);-webkit-user-select:none;-moz-user-select:none;user-select:none}.submit-btn:active{transform:scale(.97)}.submit-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;gap:12px;color:var(--text-muted);text-align:center}.empty-state-icon{font-size:48px;opacity:.4}.empty-state-text{font-size:15px;font-weight:500;color:var(--text-muted)}.month-badge{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:4px 10px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:6px}.chart-container{padding:20px;margin-bottom:20px}.chart-title{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:16px}.chart-bars{display:flex;align-items:flex-end;gap:8px;height:80px}.chart-bar-wrap{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%}.chart-bar-track{flex:1 1;width:100%;border-radius:6px;background:var(--glass-bg);display:flex;align-items:flex-end;overflow:hidden}.chart-bar-fill{width:100%;border-radius:6px;transition:height .6s cubic-bezier(.34,1.56,.64,1)}.chart-bar-fill.income{background:rgba(200,255,200,.5)}.chart-bar-fill.expense{background:rgba(255,200,200,.5)}.chart-bar-label{font-size:9px;color:var(--text-muted);font-weight:500;letter-spacing:.03em}.loading-pulse{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.skeleton{background:var(--glass-bg);border-radius:8px;animation:pulse 1.5s ease-in-out infinite}.logo{font-size:22px;font-weight:800;letter-spacing:-.5px;color:var(--text-primary)}.logo span{color:rgba(255,255,255,.4)}.delete-confirm{display:flex;align-items:center;justify-content:center;padding:10px 16px;background:rgba(255,80,80,.15);border:1px solid rgba(255,80,80,.3);border-radius:12px;color:#ff8080;font-size:13px;font-weight:600;cursor:pointer;width:100%;font-family:inherit;margin-top:8px;transition:all .2s ease}.filter-tabs{display:flex;gap:8px;margin-bottom:16px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.filter-tabs::-webkit-scrollbar{display:none}.filter-tab{padding:8px 18px;border-radius:10px;border:1px solid var(--glass-border);background:transparent;color:var(--text-muted);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s ease;font-family:inherit;flex-shrink:0}.filter-tab.active{background:white;color:#0a0a0a;border-color:white}.fade-in{animation:fadeInUp .4s ease both}.fade-in-delay-1{animation-delay:.05s}.fade-in-delay-2{animation-delay:.1s}.fade-in-delay-3{animation-delay:.15s}.fade-in-delay-4{animation-delay:.2s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.search-wrap{position:relative;margin-bottom:16px}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;display:flex;align-items:center}.search-input{width:100%;padding:12px 16px 12px 40px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:14px;color:var(--text-primary);font-size:15px;font-family:inherit;outline:none;-webkit-appearance:none}.search-input:focus{border-color:rgba(255,255,255,.25)}.search-input::placeholder{color:var(--text-muted)}