.summary[data-v-cf56f402]{display:flex;align-items:center;background:linear-gradient(135deg,#fff,#fff0f4);border-radius:var(--radius);padding:16px 10px;box-shadow:var(--shadow)}.sum-item[data-v-cf56f402]{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}.sum-label[data-v-cf56f402]{font-size:12px;color:var(--text-sub)}.sum-value[data-v-cf56f402]{font-size:20px;font-weight:700}.sum-value small[data-v-cf56f402]{font-size:11px;font-weight:400;color:var(--text-sub);margin-left:2px}.sum-item.intake .sum-value[data-v-cf56f402]{color:var(--intake)}.sum-item.output .sum-value[data-v-cf56f402]{color:var(--output)}.sum-item.balance .sum-value[data-v-cf56f402]{color:var(--primary-deep)}.sum-item.balance .sum-value.neg[data-v-cf56f402]{color:var(--warn)}.sum-divider[data-v-cf56f402]{width:1px;height:28px;background:#ff8fab33}.day-card[data-v-49b6f1dd]{display:flex;flex-direction:column;gap:14px;animation:fadeIn-49b6f1dd .3s ease}@keyframes fadeIn-49b6f1dd{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.block[data-v-49b6f1dd]{background:var(--bg-white);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow-soft)}.block-title[data-v-49b6f1dd]{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:600;margin-bottom:10px}.block-title .dot[data-v-49b6f1dd]{width:8px;height:8px;border-radius:50%}.block-title.intake .dot[data-v-49b6f1dd]{background:var(--intake)}.block-title.output .dot[data-v-49b6f1dd]{background:var(--output)}.rec-list[data-v-49b6f1dd]{list-style:none;display:flex;flex-direction:column;gap:8px}.rec-item[data-v-49b6f1dd]{display:flex;align-items:center;gap:10px;padding:10px 12px;background:linear-gradient(135deg,#fffafb,#fff);border:1px solid rgba(255,143,171,.12);border-radius:var(--radius-sm);transition:transform .12s ease,box-shadow .12s ease}.rec-item[data-v-49b6f1dd]:active{transform:scale(.99);box-shadow:var(--shadow-soft)}.rec-icon[data-v-49b6f1dd]{font-size:20px}.rec-main[data-v-49b6f1dd]{display:inline-flex;align-items:baseline;gap:4px;min-width:36px;overflow:hidden}.rec-cat[data-v-49b6f1dd]{font-weight:500}.rec-note[data-v-49b6f1dd]{font-size:10px;color:var(--text-sub);opacity:.75;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rec-amount[data-v-49b6f1dd]{margin-left:auto;font-weight:600;color:var(--primary-deep)}.rec-amount i[data-v-49b6f1dd]{font-style:normal;font-size:11px;color:var(--text-sub);font-weight:400}.rec-time[data-v-49b6f1dd]{font-size:12px;color:var(--text-sub);min-width:36px;text-align:right}.rec-del[data-v-49b6f1dd]{width:22px;height:22px;border-radius:50%;background:#e573731f;color:var(--output);font-size:12px;display:flex;align-items:center;justify-content:center}.empty[data-v-49b6f1dd]{text-align:center;color:var(--text-sub);font-size:13px;padding:14px 0}.modal-mask[data-v-47790a41]{position:fixed;top:0;right:0;bottom:0;left:0;background:#5c4a4e59;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-end;justify-content:center;z-index:100;animation:maskIn-47790a41 .2s ease}@keyframes maskIn-47790a41{0%{opacity:0}to{opacity:1}}.modal[data-v-47790a41]{width:100%;max-width:480px;background:#fff;border-radius:22px 22px 0 0;padding:18px 18px calc(18px + env(safe-area-inset-bottom));animation:slideUp-47790a41 .25s ease}@keyframes slideUp-47790a41{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-head[data-v-47790a41]{display:flex;align-items:center;justify-content:space-between;font-size:17px;font-weight:600;margin-bottom:16px}.modal-close[data-v-47790a41]{width:30px;height:30px;border-radius:50%;background:#f6f6f6;color:var(--text-sub);font-size:14px}.seg[data-v-47790a41]{display:flex;background:#f4f4f6;border-radius:12px;padding:4px;margin-bottom:14px}.seg button[data-v-47790a41]{flex:1;padding:9px 0;border-radius:9px;font-weight:500;color:var(--text-sub);transition:all .2s ease}.seg button.active[data-v-47790a41]{background:#fff;color:var(--primary-deep);box-shadow:var(--shadow-soft)}.cat-grid[data-v-47790a41]{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.cat-btn[data-v-47790a41]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 0;border-radius:14px;background:#fafafa;border:2px solid transparent;color:var(--text-sub);font-size:13px;transition:all .18s ease}.cat-btn .cat-ico[data-v-47790a41]{font-size:22px}.cat-btn.active[data-v-47790a41]{background:#fff0f4;border-color:var(--primary);color:var(--primary-deep);font-weight:600}.field[data-v-47790a41]{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field span[data-v-47790a41]{font-size:13px;color:var(--text-sub)}.field input[data-v-47790a41]{height:44px;border:1px solid #eee;border-radius:12px;padding:0 14px;background:#fafafa;transition:border-color .18s ease}.save-btn[data-v-47790a41]{width:100%;height:50px;margin-top:4px;border-radius:25px;background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#fff;font-size:16px;font-weight:600;box-shadow:0 8px 20px #f56a8e59;transition:transform .15s ease}.save-btn[data-v-47790a41]:active{transform:scale(.98)}.modal-mask[data-v-af9e7823]{position:fixed;top:0;right:0;bottom:0;left:0;background:#5c4a4e59;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-end;justify-content:center;z-index:100;animation:maskIn-af9e7823 .2s ease}@keyframes maskIn-af9e7823{0%{opacity:0}to{opacity:1}}.modal[data-v-af9e7823]{width:100%;max-width:480px;background:#fff;border-radius:22px 22px 0 0;padding:18px 18px calc(18px + env(safe-area-inset-bottom));animation:slideUp-af9e7823 .25s ease}@keyframes slideUp-af9e7823{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-head[data-v-af9e7823]{display:flex;align-items:center;justify-content:space-between;font-size:17px;font-weight:600;margin-bottom:8px}.modal-close[data-v-af9e7823]{width:30px;height:30px;border-radius:50%;background:#f6f6f6;color:var(--text-sub);font-size:14px}.tip[data-v-af9e7823]{font-size:13px;color:var(--text-sub);margin-bottom:14px}.field[data-v-af9e7823]{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field span[data-v-af9e7823]{font-size:13px;color:var(--text-sub)}.field input[data-v-af9e7823]{height:44px;border:1px solid #eee;border-radius:12px;padding:0 14px;background:#fafafa}.save-btn[data-v-af9e7823]{width:100%;height:50px;margin-top:4px;border-radius:25px;background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#fff;font-size:16px;font-weight:600;box-shadow:0 8px 20px #f56a8e59;transition:transform .15s ease}.save-btn[data-v-af9e7823]:active{transform:scale(.98)}.modal-mask[data-v-c484fcab]{position:fixed;top:0;right:0;bottom:0;left:0;background:#5c4a4e59;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-end;justify-content:center;z-index:100;animation:maskIn-c484fcab .2s ease}@keyframes maskIn-c484fcab{0%{opacity:0}to{opacity:1}}.modal[data-v-c484fcab]{width:100%;max-width:480px;background:#fff;border-radius:22px 22px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom));animation:slideUp-c484fcab .25s ease}@keyframes slideUp-c484fcab{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-head[data-v-c484fcab]{display:flex;align-items:center;justify-content:space-between;font-size:17px;font-weight:600;margin-bottom:12px}.modal-close[data-v-c484fcab]{width:30px;height:30px;border-radius:50%;background:#f6f6f6;color:var(--text-sub);font-size:14px}.cal-nav[data-v-c484fcab]{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:10px}.cal-arrow[data-v-c484fcab]{width:32px;height:32px;border-radius:50%;background:#fff0f4;color:var(--primary-deep);font-size:18px;display:flex;align-items:center;justify-content:center}.cal-arrow[data-v-c484fcab]:disabled{opacity:.35}.cal-label[data-v-c484fcab]{font-size:16px;font-weight:600;min-width:110px;text-align:center}.weekdays[data-v-c484fcab]{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.weekdays span[data-v-c484fcab]{text-align:center;font-size:12px;color:var(--text-sub)}.grid[data-v-c484fcab]{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;transition:opacity .2s ease}.grid.dim[data-v-c484fcab]{opacity:.5}.cell[data-v-c484fcab]{aspect-ratio:1 / 1;border-radius:12px;background:#fafafa;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:transform .12s ease,background .18s ease}.cell[data-v-c484fcab]:active:not(.empty){transform:scale(.94)}.cell.empty[data-v-c484fcab]{background:transparent;pointer-events:none}.cell.future[data-v-c484fcab]{opacity:.4}.cell.today[data-v-c484fcab]{box-shadow:inset 0 0 0 2px var(--primary-light)}.cell.selected[data-v-c484fcab]{background:#fff0f4;box-shadow:inset 0 0 0 2px var(--primary)}.day-num[data-v-c484fcab]{font-size:14px;font-weight:500;color:var(--text-main)}.badge[data-v-c484fcab]{font-size:9px;line-height:1;font-weight:600;padding:2px 3px;border-radius:6px;white-space:nowrap}.badge.pos[data-v-c484fcab]{color:#fff;background:var(--intake)}.badge.neg[data-v-c484fcab]{color:#fff;background:var(--output)}.badge.zero[data-v-c484fcab]{color:var(--text-sub);background:#eee}.legend[data-v-c484fcab]{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;font-size:12px;color:var(--text-sub)}.lg[data-v-c484fcab]{display:inline-flex;align-items:center;gap:5px}.dot[data-v-c484fcab]{width:9px;height:9px;border-radius:3px;display:inline-block}.dot.pos[data-v-c484fcab]{background:var(--intake)}.dot.neg[data-v-c484fcab]{background:var(--output)}.home[data-v-2066cbbf]{max-width:480px;margin:0 auto;min-height:100%;display:flex;flex-direction:column;padding-bottom:96px}.topbar[data-v-2066cbbf]{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:8px;padding:14px 14px 12px;background:#fff5f7d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,143,171,.15)}.title-wrap[data-v-2066cbbf]{flex:1;text-align:center}.app-title[data-v-2066cbbf]{font-size:16px;font-weight:600}.date-line[data-v-2066cbbf]{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:2px}.date-main[data-v-2066cbbf],.week[data-v-2066cbbf]{font-size:13px;color:var(--text-sub)}.today-tag[data-v-2066cbbf]{font-size:11px;background:var(--primary);color:#fff;border-radius:8px;padding:1px 6px}.icon-btn[data-v-2066cbbf]{width:36px;height:36px;border-radius:50%;background:#fff;box-shadow:var(--shadow-soft);font-size:17px;display:flex;align-items:center;justify-content:center;transition:transform .15s ease}.icon-btn[data-v-2066cbbf]:active{transform:scale(.92)}.arrow[data-v-2066cbbf]{width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:var(--shadow-soft);font-size:16px;line-height:1;color:var(--primary-deep);display:flex;align-items:center;justify-content:center;transition:transform .15s ease}.arrow[data-v-2066cbbf]:active{transform:scale(.9)}.arrow[data-v-2066cbbf]:disabled{opacity:.35;box-shadow:none}.card-area[data-v-2066cbbf]{flex:1;padding:16px 14px;overflow-y:auto}.loading[data-v-2066cbbf]{text-align:center;color:var(--text-sub);padding:40px 0}.fab[data-v-2066cbbf]{position:fixed;left:50%;bottom:24px;transform:translate(-50%);width:calc(100% - 48px);max-width:432px;height:52px;border-radius:26px;background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#fff;font-size:16px;font-weight:600;box-shadow:0 8px 22px #f56a8e66;transition:transform .15s ease,box-shadow .15s ease;animation:floaty-2066cbbf 3s ease-in-out infinite}.fab[data-v-2066cbbf]:active{transform:translate(-50%) scale(.97)}@keyframes floaty-2066cbbf{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-4px)}}:root{--primary: #ff8fab;--primary-light: #ffb3c6;--primary-deep: #f56a8e;--bg: #fff5f7;--bg-white: #ffffff;--text-main: #5c4a4e;--text-sub: #8a7a7e;--intake: #4caf93;--output: #e57373;--warn: #ffb74d;--radius: 18px;--radius-sm: 12px;--shadow: 0 6px 20px rgba(255, 143, 171, .18);--shadow-soft: 0 2px 10px rgba(255, 143, 171, .12);--font: "PingFang SC", -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body,#app{height:100%}body{font-family:var(--font);background:linear-gradient(160deg,#fff5f7,#ffe9ef);background-attachment:fixed;color:var(--text-main);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea,select{font-family:inherit;font-size:14px;color:var(--text-main);outline:none}input:focus,textarea:focus{border-color:var(--primary)!important}::-webkit-scrollbar{width:0;height:0}
