@import "https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700;800&display=swap";.bottom-nav[data-v-751eb24d]{width:calc(100% - 44px);max-width:436px;min-height:68px;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));border:var(--border-soft);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:100;background:#ffffffe6;border-radius:25px;grid-template-columns:1fr 1fr 76px 1fr 1fr;align-items:center;display:grid;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.nav-item[data-v-751eb24d]{color:#98a2bd;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:7px 2px;text-decoration:none;transition:color .18s,transform .18s;display:flex}.nav-item.active[data-v-751eb24d]{color:var(--accent)}.nav-item[data-v-751eb24d]:active{transform:scale(.94)}.nav-svg[data-v-751eb24d]{width:24px;height:24px}.coin-icon[data-v-751eb24d]{color:#fff;background:#9aa4bd;border-radius:50%;place-items:center;width:25px;height:25px;font-size:16px;font-weight:800;line-height:1;display:grid}.coin-icon span[data-v-751eb24d]{transform:translateY(.5px)}.nav-item.active .coin-icon[data-v-751eb24d]{background:var(--accent)}.nav-label[data-v-751eb24d]{font-size:11.5px;font-weight:800}.nav-add[data-v-751eb24d]{color:#fff;width:66px;height:66px;box-shadow:var(--shadow-float);background:linear-gradient(135deg,#7791ff 0%,#4b55f5 100%);border-radius:50%;justify-content:center;align-items:center;margin:-31px auto 0;transition:transform .15s,box-shadow .15s;display:flex}.nav-add svg[data-v-751eb24d]{width:34px;height:34px}.nav-add[data-v-751eb24d]:active{transform:scale(.92);box-shadow:0 8px 18px #5d73ff42}.app-shell[data-v-0842bef5]{flex-direction:column;height:100%;display:flex;position:relative}.page-content[data-v-0842bef5]{-webkit-overflow-scrolling:touch;flex:1;padding-bottom:80px;overflow-y:auto}.page-enter-active[data-v-0842bef5],.page-leave-active[data-v-0842bef5]{transition:opacity .2s,transform .2s}.page-enter-from[data-v-0842bef5]{opacity:0;transform:translateY(8px)}.page-leave-to[data-v-0842bef5]{opacity:0;transform:translateY(-4px)}:root{--bg-primary:#f7f9ff;--bg-secondary:#ffffffeb;--bg-tertiary:#eef2fb;--bg-elevated:#ffffffc7;--bg-card:#ffffffe0;--text-primary:#080a2a;--text-secondary:#687193;--text-muted:#9aa4c1;--text-inverse:#fff;--accent:#5d73ff;--accent-hover:#4b61ec;--accent-glow:#5d73ff38;--accent-dim:#5d73ff1a;--green:#28a463;--green-light:#28a4631a;--danger:#ef334c;--danger-light:#ef334c17;--warning:#ffb42e;--cat-takeout:#28a463;--cat-dining:#5d73ff;--cat-grocery:#ffb42e;--cat-telecom:#7358d9;--cat-credit:#ef334c;--cat-study:#1aa5a5;--cat-fun:#ff7b54;--radius-sm:12px;--radius-md:18px;--radius-lg:26px;--radius-xl:34px;--border-soft:1px solid #8997c41f;--shadow-sm:0 8px 24px #2c3d7612;--shadow-md:0 16px 38px #2c3d761a;--shadow-lg:0 24px 56px #2c3d7624;--shadow-float:0 16px 30px #5d73ff57}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{height:100%}body{color:var(--text-primary);-webkit-font-smoothing:antialiased;background:#eef3ff;font-family:Noto Sans SC,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.6}#app{background:radial-gradient(circle at 8% 10%,#9fb7ff70,#0000 29%),radial-gradient(circle at 100% 5%,#ffdb8e73,#0000 28%),linear-gradient(#f9fbff 0%,#f5f7ff 45%,#fff 100%);max-width:480px;height:100%;margin:0 auto;position:relative;overflow:hidden}input,button,textarea,select{font-family:inherit;font-size:inherit;color:inherit;background:0 0;border:none;outline:none}button{cursor:pointer}input[type=date]::-webkit-calendar-picker-indicator{filter:brightness(.5)}::-webkit-scrollbar{width:0;display:none}.page-heading{padding:28px 24px 14px}.page-title{color:var(--text-primary);font-size:24px;font-weight:800;line-height:1.2}.glass-card{background:var(--bg-card);border:var(--border-soft);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
