:root{--primary:#6c5ce7;--primary-light:#a29bfe;--primary-dark:#5a4bd1;--primary-glow:#6c5ce74d;--accent-green:#00cec9;--accent-green-glow:#00cec940;--accent-red:#ff6b6b;--accent-red-glow:#ff6b6b40;--accent-orange:#fdcb6e;--accent-blue:#74b9ff;--accent-pink:#fd79a8;--bg-primary:#0f0f23;--bg-secondary:#1a1a2e;--bg-card:#1a1a2ecc;--bg-card-hover:#242442e6;--bg-glass:#ffffff0a;--bg-input:#ffffff14;--text-primary:#fff;--text-secondary:#c0c0d8;--text-muted:#9090b0;--border:#ffffff1a;--border-active:#6c5ce780;--shadow-sm:0 2px 8px #0003;--shadow-md:0 4px 20px #0000004d;--shadow-lg:0 8px 40px #0006;--shadow-glow:0 0 30px var(--primary-glow);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--nav-height:72px;--safe-bottom:env(safe-area-inset-bottom,0px);--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5;overflow-x:hidden}body:before{content:"";z-index:-1;background:radial-gradient(circle at 30% 20%,#6c5ce714 0%,#0000 50%),radial-gradient(circle at 70% 80%,#00cec90d 0%,#0000 50%);width:200%;height:200%;animation:20s ease-in-out infinite alternate bgPulse;position:fixed;top:-50%;left:-50%}@keyframes bgPulse{0%{transform:rotate(0)}to{transform:rotate(3deg)}}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}input,select,textarea{color:var(--text-primary);background:0 0;border:none;outline:none;font-family:inherit}a{color:inherit;text-decoration:none}#app{max-width:480px;min-height:100vh;margin:0 auto;position:relative}#main-content{padding-bottom:calc(var(--nav-height) + var(--safe-bottom) + 16px)}.page{animation:fadeSlideUp .4s var(--ease-out);padding:20px 16px;display:none}.page.active{display:block}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}#bottom-nav{width:100%;max-width:480px;height:var(--nav-height);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border);padding:0 8px;padding-bottom:var(--safe-bottom);z-index:100;background:#0f0f23f2;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav-item{border-radius:var(--radius-md);transition:all .3s var(--ease-out);flex-direction:column;align-items:center;gap:4px;padding:8px 16px;display:flex;position:relative}.nav-item .nav-icon{width:22px;height:22px;color:var(--text-secondary);transition:all .3s var(--ease-out);justify-content:center;align-items:center;display:flex}.nav-item .nav-label{color:var(--text-secondary);transition:color .3s var(--ease-out);font-size:10px;font-weight:600}.nav-item.active .nav-icon,.nav-item.active .nav-label{color:var(--primary-light)}.nav-item.active:before{content:"";background:var(--primary);border-radius:0 0 2px 2px;width:24px;height:2px;position:absolute;top:-1px;left:50%;transform:translate(-50%)}.nav-fab{background:linear-gradient(135deg, var(--primary), var(--primary-dark));width:52px;height:52px;box-shadow:0 4px 20px var(--primary-glow);transition:all .3s var(--ease-spring);border-radius:50%;justify-content:center;align-items:center;margin-top:-20px;display:flex}.nav-fab:hover{box-shadow:0 6px 30px var(--primary-glow);transform:scale(1.08)}.nav-fab:active{transform:scale(.95)}.nav-fab .fab-icon{color:#fff;width:24px;height:24px}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-lg);transition:all .3s var(--ease-out);padding:20px}.glass-card:hover{border-color:var(--border-active);background:var(--bg-card-hover)}.balance-card:hover{background:linear-gradient(135deg, var(--primary) 0%, #4834d4 50%, var(--primary-dark) 100%);filter:brightness(1.06);border-color:#0000;transform:translateY(-3px);box-shadow:0 14px 40px #6c5ce759}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-header h1{letter-spacing:-.5px;font-size:24px;font-weight:700}.page-header .greeting{color:var(--text-secondary);margin-bottom:4px;font-size:14px}.header-icon{background:var(--bg-glass);border:1px solid var(--border);width:40px;height:40px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;display:flex}.balance-card{background:linear-gradient(135deg, var(--primary) 0%, #4834d4 50%, var(--primary-dark) 100%);border-radius:var(--radius-xl);cursor:default;transition:transform .3s var(--ease-spring), box-shadow .3s var(--ease-out), filter .3s ease;border:none;margin-bottom:20px;padding:24px;position:relative;overflow:hidden}.balance-card:before{content:"";background:#ffffff14;border-radius:50%;width:200px;height:200px;position:absolute;top:-60%;right:-20%}.balance-card:after{content:"";background:#ffffff0d;border-radius:50%;width:150px;height:150px;position:absolute;bottom:-40%;left:-10%}.balance-label{color:#ffffffb3;align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.balance-amount{color:#fff;letter-spacing:-1px;margin:8px 0 16px;font-size:32px;font-weight:800}.balance-summary{gap:16px;display:flex}.balance-item{color:#ffffffd9;align-items:center;gap:8px;font-size:13px;display:flex}.balance-item .dot{border-radius:50%;width:8px;height:8px}.dot-income{background:var(--accent-green)}.dot-expense{background:var(--accent-red)}.summary-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;display:grid}.summary-card{padding:16px}.summary-card .card-icon{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:36px;height:36px;margin-bottom:12px;display:flex}.card-icon.income{background:var(--accent-green-glow);color:var(--accent-green)}.card-icon.expense{background:var(--accent-red-glow);color:var(--accent-red)}.summary-card .card-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:4px;font-size:11px;font-weight:700}.summary-card .card-value{letter-spacing:-.3px;font-size:18px;font-weight:700}.summary-card .card-count{color:var(--text-secondary);margin-top:4px;font-size:11px}.section-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-header h3{font-size:16px;font-weight:600}.section-header .see-all{color:var(--primary-light);font-size:13px;font-weight:500}.transaction-list{flex-direction:column;gap:8px;display:flex}.transaction-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);transition:all .25s var(--ease-out);cursor:pointer;align-items:center;gap:12px;padding:14px 16px;display:flex}.transaction-item:hover{background:var(--bg-card-hover);border-color:var(--border-active);transform:translate(4px)}.transaction-item .tx-icon{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.transaction-item .tx-info{flex:1;min-width:0}.transaction-item .tx-category{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.transaction-item .tx-note{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.transaction-item .tx-amount{text-align:right;flex-shrink:0;font-size:14px;font-weight:700}.transaction-item .tx-date{color:var(--text-muted);text-align:right;font-size:11px}.tx-amount.income{color:var(--accent-green)}.tx-amount.expense{color:var(--accent-red)}.ai-insight-card{border:1px solid #6c5ce733;margin-bottom:20px;padding:20px;position:relative;overflow:hidden}.ai-insight-card:before{content:"";background:linear-gradient(90deg, var(--primary), var(--accent-green), var(--primary-light));height:3px;position:absolute;top:0;left:0;right:0}.ai-insight-btn{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:#fff;border-radius:var(--radius-md);cursor:pointer;width:100%;transition:all .3s var(--ease-out);border:none;justify-content:center;align-items:center;gap:8px;margin-top:16px;padding:12px 20px;font-size:14px;font-weight:600;display:flex}.ai-insight-btn:hover{box-shadow:0 6px 24px var(--primary-glow);transform:translateY(-2px)}.ai-insight-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.chart-container{margin-bottom:20px;padding:16px}.chart-wrapper{height:200px;position:relative}.chart-tabs{gap:8px;margin-bottom:16px;display:flex}.chart-tab{border-radius:var(--radius-full);background:var(--bg-input);color:var(--text-secondary);transition:all .25s var(--ease-out);padding:6px 14px;font-size:12px;font-weight:600}.chart-tab.active{background:var(--primary);color:#fff}.welcome-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);text-align:center;width:90%;max-width:320px;animation:welcomeIn .5s var(--ease-spring);padding:36px 28px 32px;box-shadow:0 20px 60px #0000004d,0 0 40px #6c5ce714}@keyframes welcomeIn{0%{opacity:0;transform:scale(.9)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.welcome-emoji{transform-origin:70% 70%;margin-bottom:14px;font-size:44px;animation:1.8s ease-in-out infinite wave;display:inline-block}@keyframes wave{0%,to{transform:rotate(0)}15%{transform:rotate(14deg)}30%{transform:rotate(-8deg)}45%{transform:rotate(14deg)}60%{transform:rotate(-4deg)}75%{transform:rotate(10deg)}}.welcome-title{color:var(--text-primary);margin:0 0 6px;font-size:20px;font-weight:800}.welcome-desc{color:var(--text-muted);margin:0 0 22px;font-size:13px}.welcome-input{border-radius:var(--radius-md);color:#fff;text-align:center;letter-spacing:.3px;box-sizing:border-box;background:#ffffff0f;border:1px solid #ffffff1a;outline:none;width:100%;margin-bottom:18px;padding:14px 16px;font-family:inherit;font-size:15px;font-weight:600;transition:border-color .2s,box-shadow .2s,background .2s}.welcome-input::placeholder{color:#ffffff59;font-weight:400}.welcome-input:focus{border-color:var(--primary);background:#ffffff14;box-shadow:0 0 0 3px #6c5ce733}.welcome-input.shake{animation:.4s inputShake}@keyframes inputShake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.welcome-btn{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px;font-family:inherit;font-size:14px;font-weight:700;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 8px 28px #6c5ce759}.welcome-btn:hover{transform:translateY(-2px);box-shadow:0 12px 35px #6c5ce773}.welcome-btn:active{transform:scale(.97);box-shadow:0 4px 15px #6c5ce74d}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;opacity:0;pointer-events:none;transition:opacity .3s var(--ease-out);background:#0009;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal-overlay.active{opacity:1;pointer-events:all}#welcome-modal{align-items:center}.modal-sheet{background:var(--bg-secondary);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:480px;max-height:90vh;transition:transform .4s var(--ease-out);padding:12px 20px 32px;overflow-y:auto;transform:translateY(100%)}.modal-overlay.active .modal-sheet{transform:translateY(0)}.modal-handle{background:var(--text-muted);border-radius:var(--radius-full);opacity:.3;width:40px;height:4px;margin:0 auto 16px}.modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-header h2{font-size:20px;font-weight:700}.modal-close{background:var(--bg-input);width:32px;height:32px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;display:flex}.smart-input-wrapper{margin-bottom:16px;position:relative}.smart-input-wrapper input{background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;transition:all .25s var(--ease-out);padding:14px 48px 14px 16px;font-size:14px}.smart-input-wrapper input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.smart-input-icon{color:var(--primary-light);opacity:.6;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.modal-divider{color:var(--text-muted);align-items:center;gap:12px;margin:16px 0;font-size:12px;display:flex}.modal-divider:before,.modal-divider:after{content:"";background:var(--border);flex:1;height:1px}.type-toggle{background:var(--bg-input);border-radius:var(--radius-full);margin-bottom:20px;padding:3px;display:flex;position:relative}.type-btn{border-radius:var(--radius-full);text-align:center;z-index:1;transition:color .3s var(--ease-out);flex:1;padding:10px;font-size:13px;font-weight:600}.type-btn.active{color:#fff}.type-slider{border-radius:var(--radius-full);background:var(--accent-red);width:calc(50% - 3px);height:calc(100% - 6px);transition:all .35s var(--ease-spring);position:absolute;top:3px;left:3px}.type-toggle[data-active=income] .type-slider{background:var(--accent-green);left:50%}.amount-section{margin-bottom:20px}.amount-input-wrapper{background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-md);transition:all .25s var(--ease-out);align-items:center;margin-bottom:10px;padding:12px 16px;display:flex}.amount-input-wrapper:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.currency-prefix{color:var(--text-secondary);margin-right:8px;font-size:16px;font-weight:700}.amount-input-wrapper input{letter-spacing:-.5px;flex:1;font-size:24px;font-weight:700}.quick-amounts{flex-wrap:wrap;gap:8px;display:flex}.quick-btn{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary);transition:all .2s var(--ease-out);padding:8px 14px;font-size:12px;font-weight:600}.quick-btn:hover{background:var(--primary-glow);border-color:var(--primary);color:var(--primary-light)}.category-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px;display:grid}.category-item{border-radius:var(--radius-md);background:var(--bg-input);transition:all .2s var(--ease-out);cursor:pointer;border:1.5px solid #0000;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;display:flex}.category-item:hover{background:var(--bg-card-hover)}.category-item.selected{border-color:var(--primary);background:var(--primary-glow)}.category-item .cat-emoji{font-size:22px}.category-item .cat-label{color:var(--text-secondary);text-align:center;font-size:10px;font-weight:500}.input-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:8px;font-size:12px;font-weight:600;display:block}.text-input{background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;transition:all .25s var(--ease-out);padding:12px 16px;font-size:14px}.text-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.form-group{margin-bottom:16px}.save-btn{background:linear-gradient(135deg, var(--primary), var(--primary-dark));border-radius:var(--radius-md);color:#fff;width:100%;transition:all .3s var(--ease-out);box-shadow:0 4px 20px var(--primary-glow);justify-content:center;align-items:center;gap:8px;margin-top:8px;padding:16px;font-size:15px;font-weight:700;display:flex}.save-btn:hover{box-shadow:0 6px 30px var(--primary-glow);transform:translateY(-2px)}.save-btn:active{transform:scale(.98)}#toast-container{z-index:999;pointer-events:none;flex-direction:column;gap:8px;width:calc(100% - 32px);max-width:420px;display:flex;position:fixed;top:20px;left:50%;transform:translate(-50%)}.toast{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:toastIn .4s var(--ease-spring);pointer-events:all;align-items:center;gap:10px;padding:14px 16px;font-size:13px;font-weight:500;display:flex}.toast.success{border-left:3px solid var(--accent-green)}.toast.error{border-left:3px solid var(--accent-red)}.toast.info{border-left:3px solid var(--primary)}.toast.removing{animation:toastOut .3s var(--ease-out) forwards}@keyframes toastIn{0%{opacity:0;transform:translateY(-20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toastOut{to{opacity:0;transform:translateY(-20px)scale(.95)}}.scanner-area{background:var(--bg-card);border:2px dashed var(--border);border-radius:var(--radius-lg);justify-content:center;align-items:center;width:100%;min-height:200px;max-height:50vh;margin-bottom:16px;display:flex;position:relative;overflow:hidden}.scanner-area video,.scanner-area img{object-fit:contain;width:100%;height:100%;max-height:50vh}.scanner-placeholder{text-align:center;color:var(--text-muted);max-width:280px;padding:32px 24px}.scanner-placeholder h3{color:var(--text-primary);margin-bottom:8px;font-size:18px}.scanner-placeholder p{color:var(--text-secondary);font-size:13px;line-height:1.5}.scanner-placeholder .scan-icon{opacity:.5;margin-bottom:16px}.scanner-actions{gap:12px;display:flex}.scanner-btn{border-radius:var(--radius-md);transition:all .25s var(--ease-out);flex:1;justify-content:center;align-items:center;gap:8px;padding:14px;font-size:14px;font-weight:600;display:flex}.scanner-btn.primary{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:#fff;box-shadow:0 4px 20px var(--primary-glow)}.scanner-btn.secondary{background:var(--bg-input);border:1px solid var(--border);color:var(--text-secondary)}.scanner-btn:hover{transform:translateY(-2px)}.capture-btn{color:#0f0f23;cursor:pointer;z-index:10;background:linear-gradient(135deg,#00cec9,#00b894);border:none;border-radius:50px;align-items:center;gap:8px;padding:14px 32px;font-size:16px;font-weight:700;animation:2s ease-in-out infinite pulse-capture;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #00cec966}@keyframes pulse-capture{0%,to{box-shadow:0 4px 20px #00cec966}50%{box-shadow:0 4px 30px #00cec9b3}}.ocr-date-input{border:none;border-bottom:2px solid var(--primary);color:var(--text-primary);background:0 0;outline:none;padding:4px 0;font-family:inherit;font-size:14px;font-weight:600}.ocr-date-input:focus{border-bottom-color:var(--primary-light)}.ocr-result{margin-top:16px}.ocr-text-box{background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);white-space:pre-wrap;max-height:200px;margin-bottom:16px;padding:16px;font-family:Courier New,monospace;font-size:13px;line-height:1.6;overflow-y:auto}.ocr-detected{flex-direction:column;gap:8px;display:flex}.ocr-field{background:var(--bg-input);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:12px;display:flex}.ocr-field .field-label{color:var(--text-muted);text-transform:uppercase;font-size:12px;font-weight:600}.ocr-field .field-value{font-size:15px;font-weight:700}.ocr-field .field-value.amount{color:var(--accent-green)}.ocr-amount-edit{align-items:center;gap:4px;display:flex}.ocr-amount-input{border:none;border-bottom:2px solid var(--accent-green);color:var(--accent-green);text-align:right;background:0 0;outline:none;width:140px;padding:4px 0;font-family:inherit;font-size:18px;font-weight:700;transition:border-color .2s}.ocr-amount-input:focus{border-bottom-color:var(--primary-light)}[data-theme=light] .ocr-amount-input{color:var(--accent-green)}.progress-bar{background:var(--bg-input);border-radius:var(--radius-full);width:100%;height:4px;margin:16px 0;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--primary), var(--accent-green));border-radius:var(--radius-full);height:100%;transition:width .3s var(--ease-out)}.settings-group{margin-bottom:24px}.settings-group .group-title{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:8px;padding-left:4px;font-size:11px;font-weight:600}.setting-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);transition:all .25s var(--ease-out);align-items:center;gap:12px;margin-bottom:4px;padding:14px 16px;display:flex}.setting-item:hover{background:var(--bg-card-hover)}.setting-item .setting-icon{border-radius:var(--radius-sm);background:var(--bg-input);width:36px;height:36px;color:var(--text-secondary);justify-content:center;align-items:center;display:flex}.setting-item .setting-info{flex:1}.setting-item .setting-label{font-size:14px;font-weight:500}.setting-item .setting-desc{color:var(--text-muted);font-size:12px}.toggle-switch{border-radius:var(--radius-full);background:var(--bg-input);cursor:pointer;width:48px;height:26px;transition:background .3s var(--ease-out);position:relative}.toggle-switch.active{background:var(--primary)}.toggle-switch:after{content:"";width:20px;height:20px;transition:transform .3s var(--ease-spring);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.toggle-switch.active:after{transform:translate(22px)}.api-key-input{gap:8px;margin-top:8px;display:flex}.api-key-input input{background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-sm);flex:1;padding:10px 14px;font-family:monospace;font-size:13px}.api-key-input button{background:var(--primary);border-radius:var(--radius-sm);color:#fff;padding:10px 16px;font-size:13px;font-weight:600}.report-card{margin-bottom:16px}.report-stat{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 0;display:flex}.report-stat:last-child{border-bottom:none}.report-stat .stat-label{color:var(--text-secondary);font-size:13px}.report-stat .stat-value{font-size:15px;font-weight:700}.export-btn{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-secondary);transition:all .25s var(--ease-out);justify-content:center;align-items:center;gap:8px;padding:14px;font-size:14px;font-weight:600;display:flex}.export-btn:hover{background:var(--primary-glow);border-color:var(--primary);color:var(--primary-light)}.ai-insight{border:1px solid var(--border-active);border-radius:var(--radius-md);background:linear-gradient(135deg,#6c5ce71a,#00cec90d);margin-top:16px;padding:16px}.ai-insight .insight-header{color:var(--primary-light);align-items:center;gap:8px;margin-bottom:10px;font-size:13px;font-weight:600;display:flex}.ai-insight .insight-text{color:var(--text-secondary);font-size:13px;line-height:1.6}.ai-insight .insight-loading{color:var(--text-muted);align-items:center;gap:8px;font-size:13px;display:flex}.ai-insight .insight-loading .spinner{border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}.empty-state{text-align:center;color:var(--text-muted);padding:40px 20px}.empty-state .empty-icon{opacity:.3;margin-bottom:12px;font-size:48px}.empty-state h3{color:var(--text-secondary);margin-bottom:4px;font-size:16px;font-weight:600}.empty-state p{font-size:13px}.filter-bar{scrollbar-width:none;-ms-overflow-style:none;gap:8px;margin-bottom:16px;display:flex;overflow-x:auto}.filter-bar::-webkit-scrollbar{display:none}.filter-chip{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-full);white-space:nowrap;color:var(--text-secondary);transition:all .2s var(--ease-out);padding:8px 14px;font-size:12px;font-weight:600}.filter-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.search-box{margin-bottom:16px;position:relative}.search-box input{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;padding:12px 16px 12px 42px;font-size:14px}.search-box input:focus{border-color:var(--primary)}.search-box .search-icon{color:var(--text-muted);position:absolute;top:50%;left:14px;transform:translateY(-50%)}.tx-delete-btn{background:var(--accent-red-glow);border-radius:var(--radius-sm);color:var(--accent-red);opacity:0;margin-left:auto;padding:8px;transition:opacity .2s}.transaction-item:hover .tx-delete-btn{opacity:1}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:var(--radius-full)}.month-picker{justify-content:center;align-items:center;gap:16px;margin-bottom:20px;display:flex}.month-picker .month-label{text-align:center;min-width:140px;font-size:16px;font-weight:600}.month-picker button{background:var(--bg-input);border:1px solid var(--border);width:32px;height:32px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.month-picker button:hover{background:var(--primary-glow);border-color:var(--primary);color:var(--primary-light)}body[data-theme=light]{--bg-primary:#f0f0f7;--bg-secondary:#fff;--bg-card:#fff;--bg-card-hover:#f8f8ff;--bg-glass:#00000006;--bg-input:#0000000d;--text-primary:#112;--text-secondary:#3d3d5c;--text-muted:#7070a0;--border:#0000001a;--border-active:#6c5ce766;--shadow-sm:0 2px 8px #0000000f;--shadow-md:0 6px 20px #0000000f;--shadow-lg:0 8px 30px #00000014;--shadow-glow:0 4px 20px #6c5ce726;--accent-green:#00b3a6;--accent-red:#e74c4c;--primary-light:#6c5ce7}body[data-theme=light]:before{background:radial-gradient(circle at 20% 10%,#6c5ce70a 0%,#0000 50%),radial-gradient(circle at 80% 90%,#00cec908 0%,#0000 50%)}body[data-theme=light] .glass-card{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border:1px solid #ebebf0;box-shadow:0 6px 24px #0000000d}body[data-theme=light] .glass-card:hover{background:#fafaff;border-color:#dddde8;box-shadow:0 8px 28px #00000012}body[data-theme=light] .balance-card{background:linear-gradient(135deg,#6c5ce7 0%,#5b4ed4 50%,#4834d4 100%);border:none;box-shadow:0 8px 32px #6c5ce74d}body[data-theme=light] .balance-card:hover{background:linear-gradient(135deg,#6c5ce7 0%,#5b4ed4 50%,#4834d4 100%);box-shadow:0 10px 40px #6c5ce759}body[data-theme=light] .balance-label,body[data-theme=light] .balance-amount,body[data-theme=light] .balance-item{color:#fff!important}body[data-theme=light] .balance-amount{text-shadow:0 2px 8px #00000026}body[data-theme=light] .summary-card .card-value{color:#112;font-weight:800}body[data-theme=light] .summary-card .card-label{color:#666690;font-weight:700}body[data-theme=light] .card-icon.income{color:#009e94;background:#00b3a61f}body[data-theme=light] .card-icon.expense{color:#d43d3d;background:#e74c4c1f}body[data-theme=light] #bottom-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border-top:1px solid #e8e8f0;box-shadow:0 -4px 20px #0000000f}body[data-theme=light] .nav-item .nav-icon{color:#888}body[data-theme=light] .nav-item .nav-label{color:#888;font-weight:600}body[data-theme=light] .nav-item.active .nav-icon,body[data-theme=light] .nav-item.active .nav-label{color:#6c5ce7}body[data-theme=light] .transaction-item{background:#fff;border:1px solid #ebebf0;box-shadow:0 2px 8px #00000008}body[data-theme=light] .transaction-item:hover{background:#fafaff;border-color:#d8d8e8;box-shadow:0 4px 14px #0000000f}body[data-theme=light] .transaction-item .tx-category{color:#112;font-weight:700}body[data-theme=light] .tx-amount.income{color:#009e94;font-weight:800}body[data-theme=light] .tx-amount.expense{color:#d43d3d;font-weight:800}body[data-theme=light] .page-header h1{color:#112;font-weight:800}body[data-theme=light] .section-header h3{color:#224;font-weight:700}body[data-theme=light] .see-all{color:#6c5ce7;font-weight:600}body[data-theme=light] .setting-item{background:#fff;border:1px solid #ebebf0;box-shadow:0 2px 8px #00000008}body[data-theme=light] .setting-item:hover{background:#fafaff;box-shadow:0 4px 14px #0000000d}body[data-theme=light] .setting-label{color:#112;font-weight:600}body[data-theme=light] .group-title{color:#6c5ce7;font-weight:700}body[data-theme=light] .modal-overlay{background:#00000059}body[data-theme=light] .modal-sheet{background:#fff;box-shadow:0 -8px 40px #0000001f}body[data-theme=light] .modal-header h2{color:#112;font-weight:800}body[data-theme=light] .text-input,body[data-theme=light] .smart-input-wrapper input,body[data-theme=light] .amount-input-wrapper{color:#112;background:#f8f8fc;border:1px solid #dddde8}body[data-theme=light] .text-input:focus,body[data-theme=light] .smart-input-wrapper input:focus,body[data-theme=light] .amount-input-wrapper:focus-within{background:#fff;border-color:#6c5ce7;box-shadow:0 0 0 3px #6c5ce71f}body[data-theme=light] .amount-input-wrapper input{color:#112}body[data-theme=light] .quick-btn{color:#3d3d5c;background:#f0f0f7;border:1px solid #dddde8;font-weight:700}body[data-theme=light] .quick-btn:hover{color:#6c5ce7;background:#6c5ce714;border-color:#6c5ce7}body[data-theme=light] .filter-chip{color:#3d3d5c;background:#f0f0f7;border:1px solid #dddde8;font-weight:700}body[data-theme=light] .filter-chip.active{color:#fff;background:#6c5ce7;border-color:#6c5ce7}body[data-theme=light] .toggle-switch{background:#d8d8e8}body[data-theme=light] .toggle-switch.active{background:#6c5ce7}body[data-theme=light] .search-box input{color:#112;background:#fff;border:1px solid #dddde8;box-shadow:0 2px 8px #00000008}body[data-theme=light] .chart-container{background:#fff;border:1px solid #ebebf0;box-shadow:0 6px 24px #0000000d}body[data-theme=light] .header-icon{color:#3d3d5c;background:#fff;border:1px solid #dddde8;box-shadow:0 2px 8px #0000000d}body[data-theme=light] .empty-state h3{color:#3d3d5c}body[data-theme=light] .api-key-input input{color:#112;background:#f8f8fc;border:1px solid #dddde8}body[data-theme=light] .report-stat .stat-label{color:#555580;font-weight:600}body[data-theme=light] .report-stat .stat-value{color:#112;font-weight:800}body[data-theme=light] .ai-insight{background:linear-gradient(135deg,#6c5ce70f,#00cec90a);border:1px solid #6c5ce726}body[data-theme=light] .export-btn{color:#3d3d5c;background:#fff;border:1px solid #dddde8;font-weight:700;box-shadow:0 2px 8px #0000000a}body[data-theme=light] .export-btn:hover{color:#6c5ce7;background:#6c5ce70f;border-color:#6c5ce7}body[data-theme=light] .category-item{background:#f5f5fa;border:1.5px solid #0000}body[data-theme=light] .category-item:hover{background:#eeeef8}body[data-theme=light] .category-item.selected{background:#6c5ce714;border-color:#6c5ce7}body[data-theme=light] .category-item .cat-label{color:#3d3d5c;font-weight:600}body[data-theme=light] .ocr-text-box{color:#3d3d5c;background:#f8f8fc;border:1px solid #dddde8}body[data-theme=light] .ocr-field{background:#f5f5fa}body[data-theme=light] .scanner-area{background:#f5f5fa;border-color:#dddde8}body[data-theme=light] .scanner-btn.secondary{color:#3d3d5c;background:#fff;border:1px solid #dddde8;box-shadow:0 2px 8px #0000000a}body[data-theme=light] .month-picker button{color:#3d3d5c;background:#fff;border:1px solid #dddde8;box-shadow:0 2px 6px #0000000a}body[data-theme=light] .month-picker .month-label{color:#112;font-weight:700}body[data-theme=light] ::-webkit-scrollbar-thumb{background:#c0c0d0}body,body #bottom-nav,body .glass-card,body .modal-sheet,body .transaction-item,body .setting-item{transition:background .4s,color .4s,border-color .4s,box-shadow .4s}
