:root{--accent: #13c700;--accent-rgb: 19, 199, 0;--safe-top: max(env(safe-area-inset-top, 0px), var(--tg-safe-top, 0px));--safe-bottom: max(env(safe-area-inset-bottom, 0px), var(--tg-safe-bottom, 0px));--safe-left: max(env(safe-area-inset-left, 0px), var(--tg-safe-left, 0px));--safe-right: max(env(safe-area-inset-right, 0px), var(--tg-safe-right, 0px));--tab-selected-fg: var(--accent)}[data-theme=light]{--bg-primary: #F2F2F7;--bg-card: #FFFFFF;--bg-secondary: #E5E5EA;--bg-input: #F2F2F7;--text-primary: #000000;--text-secondary: #3C3C43;--text-tertiary: #8E8E93;--accent-green: #34C759;--accent-red: #FF3B30;--accent-orange: #FF9500;--accent-yellow: #FFCC00;--accent-purple: #AF52DE;--separator: rgba(60, 60, 67, .12);--shadow: none;--card-shadow: none;--nav-bg: rgba(242, 242, 247, .96);--overlay: rgba(0, 0, 0, .4);--safe-top-bg: rgba(255, 255, 255, .72);--safe-top-bg-fallback: rgba(255, 255, 255, .9);--safe-bottom-bg: var(--safe-top-bg);--safe-bottom-bg-fallback: var(--safe-top-bg-fallback);--widget-bg: #FFFFFF;--widget-shadow: none;--icon-bg: #E5E5EA;--tab-selected-bg: rgba(var(--accent-rgb), .22)}[data-theme=dark]{--bg-primary: #000000;--bg-card: #1C1C1E;--bg-secondary: #2C2C2E;--bg-input: #2C2C2E;--text-primary: #FFFFFF;--text-secondary: #EBEBF5;--text-tertiary: #8E8E93;--accent-green: #30D158;--accent-red: #FF453A;--accent-orange: #FF9F0A;--accent-yellow: #FFD60A;--accent-purple: #BF5AF2;--separator: rgba(84, 84, 88, .65);--shadow: none;--card-shadow: none;--nav-bg: rgba(28, 28, 30, .96);--overlay: rgba(0, 0, 0, .6);--safe-top-bg: rgba(20, 20, 20, .72);--safe-top-bg-fallback: rgba(20, 20, 20, .9);--safe-bottom-bg: var(--safe-top-bg);--safe-bottom-bg-fallback: var(--safe-top-bg-fallback);--widget-bg: #2C2C2E;--widget-shadow: none;--icon-bg: #3A3A3C;--tab-selected-bg: rgba(var(--accent-rgb), .18)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{height:var(--tg-vh, 100%);overflow:hidden}body{height:var(--tg-vh, 100%);font-family:-apple-system,SF Pro Display,SF Pro Text,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5;color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#root{height:100%;display:flex;flex-direction:column}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,select,[contenteditable=true],[contenteditable=""]{-webkit-user-select:text!important;user-select:text!important;-webkit-touch-callout:default!important}body[data-admin-open]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25}a{color:var(--accent);text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;outline:none;background:none}input,textarea,select{font-family:inherit;outline:none;border:none}*,*:before,*:after{scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar,::-webkit-scrollbar-track,::-webkit-scrollbar-thumb,::-webkit-scrollbar-corner{width:0!important;height:0!important;display:none!important;background:transparent!important}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .8s linear infinite}@keyframes slideInDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.screen{flex:1;overflow-y:auto;overflow-x:hidden;padding-bottom:calc(84px + max(var(--safe-bottom),14px));background-color:transparent;-webkit-overflow-scrolling:touch;min-height:0;height:100%;animation:screenFadeIn .28s cubic-bezier(.25,.46,.45,.94) both}@keyframes screenFadeIn{0%{opacity:0}to{opacity:1}}.safe-area-top-frosted{position:fixed;top:0;left:0;right:0;height:calc(var(--safe-top, 0px) + 96px);z-index:1000;pointer-events:none;background:linear-gradient(to bottom,var(--safe-top-bg-fallback) 0px,var(--safe-top-bg-fallback) 6px,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,black 0px,black 6px,rgba(0,0,0,.55) 25%,rgba(0,0,0,.28) 45%,rgba(0,0,0,.1) 70%,rgba(0,0,0,.05) 90%,transparent 100%);mask-image:linear-gradient(to bottom,black 0px,black 6px,rgba(0,0,0,.55) 25%,rgba(0,0,0,.28) 45%,rgba(0,0,0,.1) 70%,rgba(0,0,0,.05) 90%,transparent 100%);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}@supports (backdrop-filter: blur(20px)) or (-webkit-backdrop-filter: blur(20px)){.safe-area-top-frosted{background:linear-gradient(to bottom,var(--safe-top-bg) 0px,var(--safe-top-bg) 6px,transparent 100%)}}.safe-area-bottom-frosted{position:fixed;bottom:0;left:0;right:0;height:calc(var(--safe-bottom, 0px) + 96px);z-index:95;pointer-events:none;background:linear-gradient(to top,var(--safe-bottom-bg-fallback) 0%,var(--safe-bottom-bg-fallback) 18%,transparent 100%);-webkit-mask-image:linear-gradient(to top,black 0%,black 18%,rgba(0,0,0,.85) 38%,rgba(0,0,0,.55) 58%,rgba(0,0,0,.28) 75%,rgba(0,0,0,.1) 88%,rgba(0,0,0,.05) 94%,transparent 100%);mask-image:linear-gradient(to top,black 0%,black 18%,rgba(0,0,0,.85) 38%,rgba(0,0,0,.55) 58%,rgba(0,0,0,.28) 75%,rgba(0,0,0,.1) 88%,rgba(0,0,0,.05) 94%,transparent 100%);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}@supports (backdrop-filter: blur(20px)) or (-webkit-backdrop-filter: blur(20px)){.safe-area-bottom-frosted{background:linear-gradient(to top,var(--safe-bottom-bg) 0%,var(--safe-bottom-bg) 18%,transparent 100%)}}.dashboard-plus-btn{transition:transform .12s ease,filter .12s ease;-webkit-tap-highlight-color:transparent}.dashboard-plus-btn:active{transform:scale(.93);filter:brightness(1.12)}.app-fade-in{animation:appFadeIn .4s ease both}@keyframes appFadeIn{0%{opacity:0}to{opacity:1}}.app-fade-out{animation:appFadeOut .22s ease both}@keyframes appFadeOut{0%{opacity:1}to{opacity:0}}@keyframes adminTabSlideFromRight{0%{opacity:0;transform:translate(20%)}to{opacity:1;transform:translate(0)}}@keyframes adminTabSlideFromLeft{0%{opacity:0;transform:translate(-20%)}to{opacity:1;transform:translate(0)}}.admin-tab-slide-from-right{animation:adminTabSlideFromRight .32s cubic-bezier(.32,.72,0,1) both;will-change:transform,opacity}.admin-tab-slide-from-left{animation:adminTabSlideFromLeft .32s cubic-bezier(.32,.72,0,1) both;will-change:transform,opacity}@keyframes screenSlideFromRight{0%{opacity:0;transform:translate(40%)}to{opacity:1;transform:translate(0)}}@keyframes screenSlideFromLeft{0%{opacity:0;transform:translate(-40%)}to{opacity:1;transform:translate(0)}}.screen-slide-from-right{animation:screenSlideFromRight .32s cubic-bezier(.32,.72,0,1) both;will-change:transform,opacity}.screen-slide-from-left{animation:screenSlideFromLeft .32s cubic-bezier(.32,.72,0,1) both;will-change:transform,opacity}@keyframes calendarSlideFromRight{0%{opacity:0;transform:translate(20%)}to{opacity:1;transform:translate(0)}}@keyframes calendarSlideFromLeft{0%{opacity:0;transform:translate(-20%)}to{opacity:1;transform:translate(0)}}.cal-slide-from-right{animation:calendarSlideFromRight .28s cubic-bezier(.32,.72,0,1) both}.cal-slide-from-left{animation:calendarSlideFromLeft .28s cubic-bezier(.32,.72,0,1) both}.card{background:var(--bg-card);border-radius:16px;padding:16px;transition:background-color .3s ease}.btn-primary{display:flex;align-items:center;justify-content:center;height:48px;border-radius:14px;background:var(--accent);color:#fff;font-size:17px;font-weight:600;width:100%;cursor:pointer;transition:opacity .15s ease,transform .15s ease;border:none;outline:none;font-family:inherit}.btn-primary:active{opacity:.8;transform:scale(.98)}.btn-secondary{display:flex;align-items:center;justify-content:center;height:48px;border-radius:14px;background:var(--bg-secondary);color:var(--text-primary);font-size:17px;font-weight:600;width:100%;cursor:pointer;transition:opacity .15s ease,transform .15s ease;border:none;outline:none;font-family:inherit}.btn-secondary:active{opacity:.8;transform:scale(.98)}.btn-destructive{background:var(--accent-red)!important;color:#fff!important}.skeleton{background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--bg-input) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:8px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-title{font-size:17px;font-weight:600;color:var(--text-primary)}.view-all{font-size:14px;color:var(--accent);font-weight:500;cursor:pointer;background:none;border:none;outline:none;font-family:inherit}.separator{height:1px;background:var(--separator);margin:0 12px;opacity:.6}.tap-feedback{transition:opacity .15s ease,transform .15s ease}.tap-feedback:active{opacity:.7;transform:scale(.97)}button{transition:opacity .12s ease,transform .12s ease}button:not(:disabled):not([data-no-press]):active{opacity:.85;transform:scale(.97)}.spring-transition{transition:all .35s cubic-bezier(.34,1.56,.64,1)}.ease-transition{transition:all .25s cubic-bezier(.25,.46,.45,.94)}.filter-tabs{display:flex;gap:8px;overflow-x:auto;padding:0;scrollbar-width:none}.filter-tabs::-webkit-scrollbar{display:none}.filter-tab{flex-shrink:0;height:34px;padding:0 16px;border-radius:10px;font-size:14px;font-weight:500;border:none;outline:none;cursor:pointer;font-family:inherit;transition:all .2s ease}.filter-tab.active{background:var(--accent);color:#fff}.filter-tab.inactive{background:var(--bg-secondary);color:var(--text-secondary)}.list-item{display:flex;align-items:center;gap:12px;padding:12px 0;transition:opacity .15s ease}.list-item:active{opacity:.7}.list-item-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px}.list-item-content{flex:1;min-width:0}.list-item-title{font-size:15px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.list-item-subtitle{font-size:13px;color:var(--text-tertiary);margin-top:2px}.list-item-amount{font-size:15px;font-weight:600;flex-shrink:0;white-space:nowrap}.amount-positive{color:var(--accent-green)}.amount-negative{color:var(--accent-red)}.badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:6px;font-size:12px;font-weight:600}.input-field{width:100%;height:48px;padding:0 16px;background:var(--bg-input);border-radius:12px;font-size:16px;color:var(--text-primary);border:1.5px solid transparent;transition:border-color .2s ease,background-color .3s ease;font-family:inherit}.input-field:focus{border-color:var(--accent)}.input-field::placeholder{color:var(--text-tertiary)}.stat-block{flex:1;display:flex;flex-direction:column;gap:4px;justify-content:center}.stat-label{font-size:12px;color:var(--text-tertiary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-value{font-size:20px;font-weight:700;color:var(--text-primary)}.stat-value.green{color:var(--accent-green)}.stat-value.red{color:var(--accent-red)}.stat-value.accent{color:var(--accent)}.stats-card{min-height:76px;display:flex;align-items:center}.stats-card>div{width:100%}@media (max-width: 400px){.stat-block .stat-value{font-size:16px}.stat-label{font-size:11px}.filter-tab{padding:0 10px;font-size:13px}.card{padding:12px}.list-item-title{font-size:14px}}@media (max-width: 340px){.stat-block .stat-value{font-size:14px}}.ambient-parallax-wrapper{position:fixed;top:-20vh;right:-20vh;bottom:-20vh;left:-20vh;z-index:-1;pointer-events:none;overflow:hidden;will-change:transform}.ambient-distort-wrapper{position:absolute;top:0;right:0;bottom:0;left:0;transition:transform .25s cubic-bezier(.32,.72,0,1)}.ambient-drift{position:absolute;top:0;right:0;bottom:0;left:0;will-change:transform;animation:ambientDrift 32s ease-in-out infinite;background:radial-gradient(60% 50% at 20% 30%,rgba(var(--accent-rgb),.2),transparent 70%),radial-gradient(50% 40% at 80% 70%,rgba(var(--accent-rgb),.14),transparent 70%),radial-gradient(40% 30% at 50% 50%,rgba(var(--accent-rgb),.08),transparent 60%)}[data-theme=dark] .ambient-drift{background:radial-gradient(60% 50% at 20% 30%,rgba(var(--accent-rgb),.28),transparent 70%),radial-gradient(50% 40% at 80% 70%,rgba(var(--accent-rgb),.2),transparent 70%),radial-gradient(40% 30% at 50% 50%,rgba(var(--accent-rgb),.12),transparent 60%)}@keyframes ambientDrift{0%{transform:translate(0) rotate(0)}25%{transform:translate(-3%,2%) rotate(2deg)}50%{transform:translate(2%,-3%) rotate(-1deg)}75%{transform:translate(-2%,-2%) rotate(1deg)}to{transform:translate(0) rotate(0)}}.ambient-ripple-container{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;pointer-events:none;overflow:hidden}.ambient-ripple{position:absolute;width:200px;height:200px;margin-left:-100px;margin-top:-100px;border-radius:50%;background:radial-gradient(circle,rgba(var(--accent-rgb),.3),transparent 70%);transform:scale(0);opacity:.3;will-change:transform,opacity;animation:ambientRipple .6s ease-out forwards}@keyframes ambientRipple{to{transform:scale(2.5);opacity:0}}.balance-mesh{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;will-change:transform;animation:balanceMeshDrift 20s ease-in-out infinite;background:radial-gradient(60% 50% at 20% 30%,rgba(255,255,255,.18),transparent 70%),radial-gradient(50% 40% at 80% 70%,rgba(88,86,214,.35),transparent 70%),radial-gradient(40% 30% at 50% 90%,rgba(var(--accent-rgb),.25),transparent 60%)}@keyframes balanceMeshDrift{0%,to{transform:translate(0) scale(1)}50%{transform:translate(2%,-2%) scale(1.05)}}body[data-ambient-hidden] .ambient-drift,body[data-ambient-hidden] .balance-mesh{animation-play-state:paused}@media (prefers-reduced-motion: reduce){.ambient-drift,.balance-mesh{animation:none!important}.ambient-parallax-wrapper,.ambient-distort-wrapper{transform:none!important;transition:none!important}.ambient-ripple-container{display:none!important}}.accent-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:18px;background:transparent;border-radius:9px;outline:none;cursor:pointer;padding:0;margin:0;touch-action:manipulation}.accent-slider::-webkit-slider-runnable-track{height:18px;border-radius:9px;background:inherit;border:none}.accent-slider::-moz-range-track{height:18px;border-radius:9px;background:inherit;border:none}.accent-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:#fff;border:2px solid rgba(0,0,0,.18);cursor:pointer;margin-top:-3px}.accent-slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:#fff;border:2px solid rgba(0,0,0,.18);cursor:pointer}
