.milestones[data-v-acfc9c06]{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;margin-bottom:14px;padding:14px}.milestones.compact[data-v-acfc9c06]{background:#fff7ed;border-color:#fed7aa;margin-bottom:0;padding:12px}.milestones-title[data-v-acfc9c06]{color:var(--text-primary);margin-bottom:10px;font-size:13px;font-weight:700}.milestones-track[data-v-acfc9c06]{position:relative}.milestones-bar[data-v-acfc9c06]{background:#f1f5f9;border-radius:999px;height:6px;margin-bottom:8px;overflow:hidden}.milestones-fill[data-v-acfc9c06]{background:linear-gradient(90deg,#f97316,#fb923c);border-radius:999px;height:100%;transition:width .4s}.milestones-nodes[data-v-acfc9c06]{justify-content:space-between;gap:4px;display:flex}.milestone-node[data-v-acfc9c06]{opacity:.45;flex-direction:column;flex:1;align-items:center;gap:2px;min-width:0;transition:opacity .2s;display:flex}.milestone-node.done[data-v-acfc9c06]{opacity:1}.milestone-node.next[data-v-acfc9c06]{opacity:.85}.node-emoji[data-v-acfc9c06]{font-size:18px;line-height:1}.compact .node-emoji[data-v-acfc9c06]{font-size:16px}.node-days[data-v-acfc9c06]{color:var(--text-muted);font-size:10px;font-weight:700}.milestone-node.done .node-days[data-v-acfc9c06]{color:#f97316}.node-name[data-v-acfc9c06]{color:var(--text-muted);text-align:center;font-size:9px;line-height:1.2}.milestones-hint[data-v-acfc9c06]{color:var(--text-muted);margin-top:8px;font-size:11px;line-height:1.4}.plan-page[data-v-96fe3ca1]{min-height:100vh;padding-bottom:calc(var(--nav-height) + 24px);background:#f1f5f9}.plan-header[data-v-96fe3ca1]{background:var(--gradient-brand);color:#fff;justify-content:space-between;align-items:center;padding:20px 16px 12px;display:flex}.plan-header-title[data-v-96fe3ca1]{align-items:center;gap:12px;display:flex}.plan-title-icon[data-v-96fe3ca1]{font-size:32px}.plan-title[data-v-96fe3ca1]{letter-spacing:.5px;font-size:22px;font-weight:700}.plan-subtitle[data-v-96fe3ca1]{opacity:.8;margin-top:2px;font-size:12px}.menu-btn[data-v-96fe3ca1]{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:background .15s;display:flex}.menu-btn[data-v-96fe3ca1]:hover{background:#ffffff4d}.plan-refresh[data-v-96fe3ca1]{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:background .15s;display:flex}.plan-refresh[data-v-96fe3ca1]:hover{background:#ffffff4d}.plan-refresh[data-v-96fe3ca1]:disabled{opacity:.5}.spinning[data-v-96fe3ca1]{animation:1s linear infinite spin-96fe3ca1}@keyframes spin-96fe3ca1{to{transform:rotate(360deg)}}.plan-loading[data-v-96fe3ca1]{text-align:center;padding:60px 16px}.plan-loading-wave[data-v-96fe3ca1]{color:#64748b;font-size:16px;animation:1.5s ease-in-out infinite wave-96fe3ca1}@keyframes wave-96fe3ca1{0%,to{opacity:1}50%{opacity:.4}}.plan-error[data-v-96fe3ca1]{color:#ef4444;text-align:center;background:#fef2f2;border-radius:10px;margin:16px;padding:12px;font-size:14px}.plan-section-title[data-v-96fe3ca1]{color:#64748b;text-transform:uppercase;letter-spacing:.8px;padding:16px 16px 8px;font-size:13px;font-weight:600}.fin-cards[data-v-96fe3ca1]{grid-template-columns:1fr 1fr;gap:10px;padding:0 16px;display:grid}.fin-card[data-v-96fe3ca1]{background:#fff;border:1.5px solid #0000;border-radius:14px;padding:14px 16px}.fin-card-label[data-v-96fe3ca1]{color:#64748b;align-items:center;margin-bottom:6px;font-size:12px;display:flex}.fin-card-amount[data-v-96fe3ca1]{font-size:20px;font-weight:700}.fin-card.income[data-v-96fe3ca1]{border-color:#bbf7d0}.fin-card.income .fin-card-amount[data-v-96fe3ca1]{color:#059669}.fin-card.expense[data-v-96fe3ca1]{border-color:#fecaca}.fin-card.expense .fin-card-amount[data-v-96fe3ca1]{color:#dc2626}.fin-card.debt[data-v-96fe3ca1]{border-color:#fde68a}.fin-card.debt .fin-card-amount[data-v-96fe3ca1]{color:#d97706}.fin-card.disposable-pos[data-v-96fe3ca1]{border-color:#bfdbfe}.fin-card.disposable-pos .fin-card-amount[data-v-96fe3ca1]{color:#4a9eff}.fin-card.disposable-neg[data-v-96fe3ca1]{background:#fff5f5;border-color:#fecaca}.fin-card.disposable-neg .fin-card-amount[data-v-96fe3ca1]{color:#ef4444}.fin-card.clickable[data-v-96fe3ca1]{cursor:pointer;transition:box-shadow .15s,transform .1s}.fin-card.clickable[data-v-96fe3ca1]:hover{box-shadow:0 2px 12px #00000014}.fin-card.clickable[data-v-96fe3ca1]:active{transform:scale(.98)}.hero-shore-card[data-v-96fe3ca1]{color:var(--primary-text-dark);background:linear-gradient(145deg,#f8fbff 0%,#eaf4ff 45%,#d4ebff 100%);border:1px solid #cfe8ff;border-radius:18px;margin:12px 16px 10px;padding:20px 18px 16px;box-shadow:0 4px 18px #4a9eff1a}.hero-shore-title[data-v-96fe3ca1]{color:var(--primary-text);margin-bottom:4px;font-size:13px}.hero-shore-days[data-v-96fe3ca1]{font-variant-numeric:tabular-nums;color:#0284c7;margin-bottom:16px;font-size:48px;font-weight:900;line-height:1.1}.hero-shore-unit[data-v-96fe3ca1]{color:#38bdf8;margin-left:4px;font-size:18px;font-weight:600}.hero-shore-grid[data-v-96fe3ca1]{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px;display:grid}.hero-stat[data-v-96fe3ca1]{text-align:center}.hero-stat-val[data-v-96fe3ca1]{font-variant-numeric:tabular-nums;color:#0369a1;font-size:16px;font-weight:800}.hero-stat-label[data-v-96fe3ca1]{color:#64748b;margin-top:2px;font-size:11px}.hero-journal-btn[data-v-96fe3ca1]{cursor:pointer;width:100%;color:var(--primary-text);background:#ffffffe0;border:none;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:10px;font-size:14px;font-weight:700;display:flex;box-shadow:0 1px 4px #4a9eff14}.hero-journal-btn[data-v-96fe3ca1]:hover{background:#fff}[data-theme=dark]{color:#e0f2fe;box-shadow:0 4px 18px #00000040;box-shadow:none;background:#ffffff2e;border-color:#334155}.wish-home-card[data-v-96fe3ca1]{background:var(--bg-card);cursor:pointer;border:1.5px solid #fde68a;border-radius:14px;margin:0 16px 10px;padding:14px 16px}.wish-home-card.empty[data-v-96fe3ca1]{border-color:var(--border);border-style:dashed}.wish-home-label[data-v-96fe3ca1]{color:var(--text-muted);margin-bottom:4px;font-size:12px}.wish-home-text[data-v-96fe3ca1]{color:var(--text-primary);font-size:16px;font-weight:700;line-height:1.4}.wish-home-sub[data-v-96fe3ca1]{color:var(--text-muted);margin-top:6px;font-size:12px}.show-more-btn[data-v-96fe3ca1]{color:#64748b;cursor:pointer;background:0 0;border:1.5px dashed #cbd5e1;border-radius:12px;justify-content:center;align-items:center;gap:4px;width:calc(100% - 32px);margin:8px 16px 12px;padding:10px;font-size:13px;font-weight:600;display:flex}.show-more-btn .rotated[data-v-96fe3ca1]{transform:rotate(90deg)}.show-more-btn svg[data-v-96fe3ca1]{transition:transform .2s}.journal-banner.compact[data-v-96fe3ca1]{margin-top:0;padding:10px 14px}.journal-banner[data-v-96fe3ca1]{cursor:pointer;background:linear-gradient(135deg,#fff7ed,#fffbeb);border:1.5px solid #fde68a;border-radius:14px;align-items:center;gap:12px;margin:12px 16px 4px;padding:14px 16px;transition:box-shadow .15s,transform .1s;display:flex}.journal-banner.broken[data-v-96fe3ca1]{background:linear-gradient(135deg,#fef2f2,#fff1f2);border-color:#fecaca}.journal-banner.done[data-v-96fe3ca1]{background:linear-gradient(135deg,#ecfdf5,#f0fdf4);border-color:#bbf7d0}.journal-banner.clickable[data-v-96fe3ca1]:hover{box-shadow:0 2px 12px #f973161f}.journal-banner.clickable[data-v-96fe3ca1]:active{transform:scale(.995)}.journal-body[data-v-96fe3ca1]{flex:1;min-width:0}.journal-main[data-v-96fe3ca1]{color:#92400e;flex-wrap:wrap;align-items:center;gap:6px;font-size:15px;font-weight:700;line-height:1.4;display:flex}.journal-banner.done .journal-main[data-v-96fe3ca1]{color:#065f46}.journal-banner.broken .journal-main[data-v-96fe3ca1]{color:#991b1b}.journal-main b[data-v-96fe3ca1]{color:#f97316;font-size:18px;font-weight:900}.journal-banner.done .journal-main b[data-v-96fe3ca1]{color:#059669}.journal-tag[data-v-96fe3ca1]{border-radius:999px;padding:2px 7px;font-size:10px;font-weight:700}.journal-tag.ok[data-v-96fe3ca1]{color:#059669;background:#d1fae5}.journal-tag.pending[data-v-96fe3ca1]{color:#ea580c;background:#ffedd5}.journal-tag.warn[data-v-96fe3ca1]{color:#dc2626;background:#fee2e2}.journal-sub[data-v-96fe3ca1]{color:#b45309;margin-top:3px;font-size:12px;line-height:1.4}.journal-banner.done .journal-sub[data-v-96fe3ca1]{color:#34d399}.journal-banner.broken .journal-sub[data-v-96fe3ca1]{color:#f87171}.journal-arrow[data-v-96fe3ca1]{color:#d97706;flex-shrink:0}.growth-banner[data-v-96fe3ca1]{background:linear-gradient(135deg,#eff6ff,#f0f9ff);border:1px solid #bfdbfe;border-radius:12px;align-items:center;gap:10px;margin:12px 16px 0;padding:12px 14px;display:flex}.growth-left[data-v-96fe3ca1]{cursor:pointer;flex:1;align-items:center;gap:10px;min-width:0;display:flex}.growth-emoji[data-v-96fe3ca1]{flex-shrink:0;font-size:28px;line-height:1}.growth-body[data-v-96fe3ca1]{flex:1;min-width:0}.growth-main[data-v-96fe3ca1]{color:#3b82f6;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;font-weight:700;line-height:1.3;display:flex}.growth-points[data-v-96fe3ca1]{color:#4a9eff;background:#4a9eff1a;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600}.growth-sub[data-v-96fe3ca1]{color:#64748b;margin-top:2px;font-size:11px}.growth-arrow[data-v-96fe3ca1]{color:#94a3b8;flex-shrink:0}.growth-checkin[data-v-96fe3ca1]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#f97316,#fb923c);border:none;border-radius:999px;flex-shrink:0;padding:8px 16px;font-size:13px;font-weight:700;box-shadow:0 2px 8px #f973164d}.growth-checkin[data-v-96fe3ca1]:disabled{opacity:.6;cursor:not-allowed}.growth-checkin.done[data-v-96fe3ca1]{color:#64748b;box-shadow:none;background:#e2e8f0}.milestones-wrap[data-v-96fe3ca1]{margin:10px 16px 0}.home-growth-toast[data-v-96fe3ca1]{color:#fff;z-index:500;white-space:nowrap;background:#1e293b;border-radius:999px;padding:10px 20px;font-size:14px;font-weight:600;position:fixed;top:72px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0000002e}.toast-enter-active[data-v-96fe3ca1],.toast-leave-active[data-v-96fe3ca1]{transition:opacity .25s,transform .25s}.toast-enter-from[data-v-96fe3ca1],.toast-leave-to[data-v-96fe3ca1]{opacity:0;transform:translate(-50%)translateY(-8px)}.resist-banner[data-v-96fe3ca1]{cursor:pointer;background:linear-gradient(135deg,#ecfdf5,#f0fdf4);border:1px solid #bbf7d0;border-radius:12px;align-items:center;gap:12px;margin:20px 16px 12px;padding:12px 14px;transition:box-shadow .15s,transform .1s;display:flex}.resist-banner.clickable[data-v-96fe3ca1]:hover{box-shadow:0 2px 12px #10b98126}.resist-banner.clickable[data-v-96fe3ca1]:active{transform:scale(.995)}.resist-icon[data-v-96fe3ca1]{color:#10b981;flex-shrink:0;align-self:flex-start;margin-top:2px}.resist-body[data-v-96fe3ca1]{flex:1;min-width:0}.resist-main[data-v-96fe3ca1]{color:#065f46;margin-bottom:4px;font-size:14px;font-weight:600;line-height:1.4}.resist-main b[data-v-96fe3ca1]{font-weight:800}.resist-amt[data-v-96fe3ca1]{color:#059669;font-size:15px}.resist-sub[data-v-96fe3ca1]{color:#34d399;font-size:12px;line-height:1.4}.resist-arrow[data-v-96fe3ca1]{color:#6ee7b7;flex-shrink:0;align-self:center}.debt-overview-card[data-v-96fe3ca1]{background:#fff;border-radius:16px;margin:0 16px;padding:16px;box-shadow:0 2px 12px #0000000f}.debt-overview-card.clickable[data-v-96fe3ca1]{cursor:pointer;transition:box-shadow .15s,transform .1s}.debt-overview-card.clickable[data-v-96fe3ca1]:hover{box-shadow:0 4px 18px #4a9eff24}.debt-overview-card.clickable[data-v-96fe3ca1]:active{transform:scale(.995)}.debt-ov-more[data-v-96fe3ca1]{color:#4a9eff;border-top:1px solid #f1f5f9;justify-content:center;align-items:center;gap:4px;margin-top:14px;padding-top:12px;font-size:12px;font-weight:500;display:flex}.debt-overview-row[data-v-96fe3ca1]{grid-template-columns:1fr 1fr 1fr 1fr;gap:8px;margin-bottom:16px;display:grid}.debt-ov-item[data-v-96fe3ca1]{text-align:center}.debt-ov-label[data-v-96fe3ca1]{color:#94a3b8;margin-bottom:4px;font-size:11px}.debt-ov-val[data-v-96fe3ca1]{color:#1e293b;font-size:15px;font-weight:700}.debt-ov-val.danger[data-v-96fe3ca1]{color:#ef4444}.debt-ov-val.safe[data-v-96fe3ca1]{color:#10b981}.progress-label[data-v-96fe3ca1]{color:#64748b;justify-content:space-between;margin:12px 0 6px;font-size:12px;display:flex}.progress-pct[data-v-96fe3ca1]{color:#4a9eff;font-weight:700}.progress-track[data-v-96fe3ca1]{background:#f1f5f9;border-radius:99px;height:8px;overflow:hidden}.progress-fill[data-v-96fe3ca1]{border-radius:99px;height:100%;transition:width .8s cubic-bezier(.4,0,.2,1)}.progress-fill.repay[data-v-96fe3ca1]{background:linear-gradient(90deg,#4a9eff,#0ea5e9)}.pressure-row[data-v-96fe3ca1]{margin-top:14px}.pressure-label-row[data-v-96fe3ca1]{color:#64748b;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:12px;display:flex}.pressure-tag[data-v-96fe3ca1]{border-radius:99px;padding:2px 8px;font-size:11px;font-weight:600}.pressure-hint[data-v-96fe3ca1]{color:#cbd5e1;margin-top:4px;font-size:11px}.shore-cards[data-v-96fe3ca1]{align-items:center;gap:8px;padding:0 16px;display:flex}.shore-card[data-v-96fe3ca1]{background:#fff;border:1.5px solid #e2e8f0;border-radius:16px;flex:1;padding:16px 14px;box-shadow:0 2px 12px #0000000f}.shore-card.accel[data-v-96fe3ca1]{background:#f0fdf4;border-color:#a7f3d0}.shore-card-badge[data-v-96fe3ca1]{color:#4a9eff;background:#eff6ff;border-radius:99px;margin-bottom:8px;padding:2px 8px;font-size:11px;display:inline-block}.shore-card-badge.accel-badge[data-v-96fe3ca1]{color:#059669;background:#dcfce7}.shore-date[data-v-96fe3ca1]{color:#1e293b;font-size:20px;font-weight:700}.shore-months[data-v-96fe3ca1]{color:#64748b;margin-top:4px;font-size:13px}.shore-months b[data-v-96fe3ca1]{color:#4a9eff}.shore-card.accel .shore-months b[data-v-96fe3ca1]{color:#059669}.shore-extra[data-v-96fe3ca1]{color:#059669;margin-top:6px;font-size:12px;font-weight:600}.shore-save[data-v-96fe3ca1]{color:#94a3b8;margin-top:2px;font-size:12px}.shore-divider[data-v-96fe3ca1]{flex-shrink:0;font-size:20px}.chart-card[data-v-96fe3ca1]{background:#fff;border-radius:16px;margin:0 16px;padding:16px;box-shadow:0 2px 12px #0000000f}.milestone-list[data-v-96fe3ca1]{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.milestone-item[data-v-96fe3ca1]{color:#475569;align-items:center;gap:6px;font-size:12px;display:flex}.timeline-chart[data-v-96fe3ca1]{height:220px}.suggestions[data-v-96fe3ca1]{flex-direction:column;gap:10px;padding:0 16px;display:flex}.suggestion-card[data-v-96fe3ca1]{border:1.5px solid #0000;border-radius:14px;padding:14px 16px}.sug-header[data-v-96fe3ca1]{align-items:center;gap:8px;margin-bottom:6px;display:flex}.sug-emoji[data-v-96fe3ca1]{flex-shrink:0;font-size:18px}.sug-title[data-v-96fe3ca1]{font-size:14px;font-weight:700}.sug-body[data-v-96fe3ca1]{color:#475569;font-size:13px;line-height:1.6}.sug-critical[data-v-96fe3ca1]{background:#fff5f5;border-color:#fecaca}.sug-critical .sug-title[data-v-96fe3ca1]{color:#dc2626}.sug-warning[data-v-96fe3ca1]{background:#fffbeb;border-color:#fde68a}.sug-warning .sug-title[data-v-96fe3ca1]{color:#d97706}.sug-info[data-v-96fe3ca1]{background:#eff6ff;border-color:#bfdbfe}.sug-info .sug-title[data-v-96fe3ca1]{color:#4a9eff}.sug-good[data-v-96fe3ca1]{background:#f0fdf4;border-color:#bbf7d0}.sug-good .sug-title[data-v-96fe3ca1]{color:#059669}.quick-links[data-v-96fe3ca1]{grid-template-columns:1fr 1fr;gap:10px;padding:0 16px;display:grid}.ql-btn[data-v-96fe3ca1]{cursor:pointer;text-align:center;color:#334155;background:#fff;border:1.5px solid #e2e8f0;border-radius:14px;padding:14px 8px;font-size:13px;font-weight:500;transition:all .15s}.ql-btn[data-v-96fe3ca1]:hover{color:#4a9eff;background:#eff6ff;border-color:#4a9eff}.plan-bottom-pad[data-v-96fe3ca1]{height:16px}.drawer-mask[data-v-96fe3ca1]{z-index:1000;background:#00000073;align-items:stretch;display:flex;position:fixed;inset:0}.drawer-panel[data-v-96fe3ca1]{background:#fff;flex-direction:column;width:320px;max-width:85vw;height:100%;display:flex;box-shadow:4px 0 32px #00000026}.drawer-header[data-v-96fe3ca1]{background:var(--gradient-brand);flex-shrink:0;justify-content:space-between;align-items:center;padding:24px 16px 16px;display:flex}.drawer-brand[data-v-96fe3ca1]{align-items:center;gap:10px;display:flex}.drawer-brand-icon[data-v-96fe3ca1]{font-size:26px}.drawer-brand-name[data-v-96fe3ca1]{color:#fff;font-size:17px;font-weight:700}.drawer-close[data-v-96fe3ca1]{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:background .15s;display:flex}.drawer-close[data-v-96fe3ca1]:hover{background:#ffffff59}.drawer-scroll[data-v-96fe3ca1]{flex:1;padding:8px 0 24px;overflow-y:auto}.drawer-section-title[data-v-96fe3ca1]{color:#94a3b8;letter-spacing:1px;text-transform:uppercase;padding:12px 16px 6px;font-size:11px;font-weight:700}.drawer-list[data-v-96fe3ca1]{flex-direction:column;display:flex}.drawer-item[data-v-96fe3ca1]{cursor:pointer;align-items:center;gap:12px;padding:12px 16px;transition:background .12s;display:flex}.drawer-item[data-v-96fe3ca1]:hover{background:#f8fafc}.drawer-item-icon[data-v-96fe3ca1]{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.drawer-item-body[data-v-96fe3ca1]{flex:1;min-width:0}.drawer-item-title[data-v-96fe3ca1]{color:#1e293b;font-size:14px;font-weight:600}.drawer-item-sub[data-v-96fe3ca1]{color:#94a3b8;margin-top:1px;font-size:12px}.drawer-enter-active[data-v-96fe3ca1]{transition:opacity .25s}.drawer-leave-active[data-v-96fe3ca1]{transition:opacity .2s}.drawer-enter-from[data-v-96fe3ca1],.drawer-leave-to[data-v-96fe3ca1]{opacity:0}.drawer-enter-active .drawer-panel[data-v-96fe3ca1]{transition:transform .28s cubic-bezier(.32,.72,0,1)}.drawer-leave-active .drawer-panel[data-v-96fe3ca1]{transition:transform .22s cubic-bezier(.4,0,1,1)}.drawer-enter-from .drawer-panel[data-v-96fe3ca1],.drawer-leave-to .drawer-panel[data-v-96fe3ca1]{transform:translate(-100%)}.debt-card[data-v-6f2d94f5]{cursor:pointer;transition:transform .15s,box-shadow .15s}.debt-card[data-v-6f2d94f5]:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.debt-card[data-v-6f2d94f5]:active{transform:scale(.99)}.card-header[data-v-6f2d94f5]{align-items:center;gap:8px;margin-bottom:14px;display:flex}.card-icon[data-v-6f2d94f5]{background:var(--primary-bg);width:32px;height:32px;color:var(--primary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.card-name[data-v-6f2d94f5]{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:15px;font-weight:700;overflow:hidden}.card-amounts[data-v-6f2d94f5]{justify-content:space-between;align-items:flex-end;margin-bottom:14px;display:flex}.card-amount-label[data-v-6f2d94f5]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:11px}.card-amount-val[data-v-6f2d94f5]{font-size:20px;font-weight:800;line-height:1}.card-progress[data-v-6f2d94f5]{margin-bottom:12px}.card-footer[data-v-6f2d94f5]{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding-top:10px;display:flex}.card-meta[data-v-6f2d94f5]{color:var(--text-muted);flex-direction:column;gap:2px;font-size:12px;display:flex}.quick-pay-btn[data-v-6f2d94f5]{background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:6px 14px;font-size:12px;font-weight:600;transition:background .15s,transform .1s;display:flex}.quick-pay-btn[data-v-6f2d94f5]:hover{background:var(--primary-dark)}.quick-pay-btn[data-v-6f2d94f5]:active{transform:scale(.96)}.group-card[data-v-c4bb4fa6]{background:var(--bg-card);border:2px solid var(--border);border-radius:16px;padding:16px;transition:border-color .15s,box-shadow .15s}.group-card[data-v-c4bb4fa6]:hover{border-color:var(--primary);box-shadow:0 2px 16px #4a9eff1a}.group-card.overdue[data-v-c4bb4fa6]{background:#fff5f5;border-color:#fca5a5}.group-card.done[data-v-c4bb4fa6]{background:#f0fdf4;border-color:#6ee7b7}.group-header[data-v-c4bb4fa6]{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;margin-bottom:14px;display:flex}.group-icon[data-v-c4bb4fa6]{background:var(--primary-bg);width:34px;height:34px;color:var(--primary);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.group-card.overdue .group-icon[data-v-c4bb4fa6]{color:var(--danger);background:#fee2e2}.group-card.done .group-icon[data-v-c4bb4fa6]{color:#059669;background:#d1fae5}.group-title[data-v-c4bb4fa6]{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:16px;font-weight:800;overflow:hidden}.group-count[data-v-c4bb4fa6]{color:var(--text-muted);background:var(--bg);border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.group-chevron[data-v-c4bb4fa6]{color:var(--text-muted);flex-shrink:0;transition:transform .2s}.group-stats[data-v-c4bb4fa6]{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;display:grid}.group-stat[data-v-c4bb4fa6]{background:var(--bg);text-align:center;border-radius:10px;padding:8px 10px}.group-stat-val[data-v-c4bb4fa6]{font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:14px;font-weight:700;overflow:hidden}.group-stat-key[data-v-c4bb4fa6]{color:var(--text-muted);font-size:11px}.group-progress[data-v-c4bb4fa6]{margin-bottom:10px}.group-next[data-v-c4bb4fa6]{color:#92400e;background:#fef3c7;border-radius:8px;align-items:center;gap:5px;margin-bottom:2px;padding:6px 10px;font-size:12px;display:flex}.group-next-overdue[data-v-c4bb4fa6]{color:#991b1b;background:#fee2e2}.group-next-done[data-v-c4bb4fa6]{color:#065f46;background:#d1fae5}.group-children[data-v-c4bb4fa6]{border-top:1px solid var(--border);flex-direction:column;gap:10px;margin-top:14px;padding-top:14px;display:flex}.group-child[data-v-c4bb4fa6]{cursor:pointer;transition:opacity .15s}.group-child[data-v-c4bb4fa6]:hover{opacity:.9}.expand-enter-active[data-v-c4bb4fa6],.expand-leave-active[data-v-c4bb4fa6]{transition:opacity .2s,transform .2s}.expand-enter-from[data-v-c4bb4fa6],.expand-leave-to[data-v-c4bb4fa6]{opacity:0;transform:translateY(-6px)}.text-success[data-v-c4bb4fa6]{color:#059669}.text-danger[data-v-c4bb4fa6]{color:var(--danger)}.text-muted[data-v-c4bb4fa6]{color:var(--text-muted)}.font-bold[data-v-c4bb4fa6]{font-weight:700}.list-grid[data-v-e4e6aefd]{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=900px){.list-grid[data-v-e4e6aefd]{grid-template-columns:1fr 1fr}}.debt-row[data-v-e4e6aefd]{flex-direction:column;display:flex}.row-actions[data-v-e4e6aefd]{justify-content:flex-end;gap:4px;margin-top:4px;padding:0 2px;display:flex}.strategy-entry[data-v-e4e6aefd]{background:var(--bg-card);border:1.5px solid var(--primary-bg);cursor:pointer;border-radius:14px;align-items:center;gap:12px;margin-bottom:12px;padding:14px 16px;transition:border-color .15s,box-shadow .15s;display:flex}.strategy-entry[data-v-e4e6aefd]:hover{border-color:var(--primary);box-shadow:0 2px 12px #4a9eff1a}.strategy-entry-icon[data-v-e4e6aefd]{background:var(--gradient-brand);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.strategy-entry-info[data-v-e4e6aefd]{flex:1;min-width:0}.strategy-entry-title[data-v-e4e6aefd]{color:var(--text-primary);font-size:14px;font-weight:700}.strategy-entry-sub[data-v-e4e6aefd]{color:var(--text-muted);margin-top:2px;font-size:12px}.strategy-entry-arrow[data-v-e4e6aefd]{color:var(--primary);flex-shrink:0;font-size:16px;font-weight:600}.toolbar[data-v-e4e6aefd]{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.filter-tabs[data-v-e4e6aefd]{flex-wrap:wrap;flex:1;gap:6px;display:flex}.filter-tab[data-v-e4e6aefd]{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:6px 12px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.filter-tab[data-v-e4e6aefd]:hover{border-color:var(--primary);color:var(--primary)}.filter-tab.active[data-v-e4e6aefd]{background:var(--primary);border-color:var(--primary);color:#fff}.filter-count[data-v-e4e6aefd]{text-align:center;background:#ffffff4d;border-radius:999px;min-width:16px;padding:0 5px;font-size:11px}.filter-tab:not(.active) .filter-count[data-v-e4e6aefd]{background:var(--border);color:var(--text-muted)}.sort-wrap[data-v-e4e6aefd]{flex-shrink:0;position:relative}.sort-btn[data-v-e4e6aefd]{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:6px 12px;font-size:13px;transition:all .15s;display:flex}.sort-btn[data-v-e4e6aefd]:hover{border-color:var(--primary);color:var(--primary)}.sort-dropdown[data-v-e4e6aefd]{background:var(--bg-card);border:1px solid var(--border);z-index:100;border-radius:12px;min-width:120px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #0000001a}.sort-option[data-v-e4e6aefd]{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:8px;padding:8px 12px;font-size:13px;transition:background .15s;display:block}.sort-option[data-v-e4e6aefd]:hover{background:var(--bg)}.sort-option.active[data-v-e4e6aefd]{color:var(--primary);background:var(--primary-bg);font-weight:600}.ring-chart[data-v-d8b1160d]{width:180px;height:180px}.ov-page[data-v-b53aade5]{min-height:100vh;padding-bottom:calc(var(--nav-height) + 24px);background:#f8fafc}.ov-header[data-v-b53aade5]{background:var(--gradient-brand);z-index:10;align-items:center;gap:10px;padding:20px 12px 14px;display:flex;position:sticky;top:0}.ov-back[data-v-b53aade5]{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:background .15s;display:flex}.ov-back[data-v-b53aade5]:hover{background:#ffffff4d}.ov-title[data-v-b53aade5]{color:#fff;flex:1;font-size:16px;font-weight:700}.ov-add[data-v-b53aade5]{color:var(--primary-dark);cursor:pointer;background:#fffffff2;border:none;border-radius:99px;flex-shrink:0;align-items:center;gap:4px;padding:7px 14px;font-size:13px;font-weight:600;transition:background .15s;display:flex}.ov-add[data-v-b53aade5]:hover{background:#fff}.ov-scroll[data-v-b53aade5]{padding:12px 0 24px}.d-overdue[data-v-b53aade5]{color:#ef4444;cursor:pointer;background:#fef2f2;border-radius:10px;margin:4px 12px 8px;padding:10px 12px;font-size:13px}.d-done[data-v-b53aade5]{color:#059669;background:#f0fdf4;border-radius:10px;margin:4px 12px 8px;padding:10px 12px;font-size:13px}.d-locked[data-v-b53aade5]{cursor:pointer;color:#64748b;background:#f8fafc;border-radius:12px;align-items:center;gap:10px;margin:8px 12px;padding:16px;font-size:13px;display:flex}.d-progress-card[data-v-b53aade5]{background:#fff;border-radius:14px;align-items:center;gap:12px;margin:4px 12px 8px;padding:14px;display:flex;box-shadow:0 2px 12px #0000000d}.d-progress-left[data-v-b53aade5]{flex:1;min-width:0}.d-progress-label[data-v-b53aade5]{color:#94a3b8;margin-bottom:4px;font-size:11px}.d-progress-pct[data-v-b53aade5]{color:#1e293b;font-size:28px;font-weight:800;line-height:1}.d-pct-sign[data-v-b53aade5]{font-size:16px;font-weight:600}.d-bar[data-v-b53aade5]{background:#e2e8f0;border-radius:99px;height:6px;margin:8px 0 6px;overflow:hidden}.d-bar-fill[data-v-b53aade5]{background:linear-gradient(90deg, var(--primary), var(--primary-accent));border-radius:99px;height:100%;transition:width .8s}.d-detail[data-v-b53aade5]{align-items:center;gap:6px;font-size:11px;display:flex}.d-paid[data-v-b53aade5]{color:var(--primary);font-weight:600}.d-sep[data-v-b53aade5]{color:#cbd5e1}.d-remain[data-v-b53aade5]{color:#64748b}.d-finish-pill[data-v-b53aade5]{color:#059669;margin-top:6px;font-size:11px;font-weight:500}.d-month-stats[data-v-b53aade5]{grid-template-columns:1fr 1fr 1fr;gap:6px;margin:0 12px 8px;display:grid}.d-stat-card[data-v-b53aade5]{text-align:center;cursor:pointer;background:#fff;border:1px solid #f1f5f9;border-radius:10px;padding:10px 8px}.d-stat-val[data-v-b53aade5]{color:#1e293b;font-size:14px;font-weight:700}.d-stat-val.primary[data-v-b53aade5]{color:var(--primary)}.d-stat-val.muted[data-v-b53aade5]{color:#cbd5e1}.d-stat-val.danger[data-v-b53aade5]{color:#ef4444}.d-stat-val.success[data-v-b53aade5]{color:#059669}.d-stat-key[data-v-b53aade5]{color:#94a3b8;margin-top:2px;font-size:10px}.d-sub-title[data-v-b53aade5]{color:#475569;align-items:center;gap:6px;padding:8px 16px 4px;font-size:12px;font-weight:600;display:flex}.d-more[data-v-b53aade5]{color:var(--primary);cursor:pointer;font-size:12px}.d-bill-list[data-v-b53aade5]{margin:0 12px 4px}.d-bill-item[data-v-b53aade5]{cursor:pointer;background:#fff;border:1px solid #f1f5f9;border-radius:10px;align-items:center;gap:8px;margin-bottom:4px;padding:10px 12px;transition:background .12s;display:flex}.d-bill-item[data-v-b53aade5]:hover{background:#f8fafc}.d-bill-left[data-v-b53aade5]{flex:1;min-width:0}.d-bill-name[data-v-b53aade5]{color:#1e293b;font-size:13px;font-weight:600}.d-bill-meta[data-v-b53aade5]{margin-top:2px;font-size:11px}.d-bill-amount[data-v-b53aade5]{color:#1e293b;flex-shrink:0;font-size:14px;font-weight:700}.text-danger[data-v-b53aade5]{color:#ef4444}.text-muted[data-v-b53aade5]{color:#94a3b8}.d-debt-list[data-v-b53aade5]{flex-direction:column;gap:6px;margin:0 12px 4px;display:flex}.d-empty[data-v-b53aade5]{color:#94a3b8;flex-direction:column;align-items:center;gap:10px;padding:24px 16px;font-size:14px;display:flex}.d-empty-btn[data-v-b53aade5]{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:20px;padding:8px 20px;font-size:13px}.preset-btns[data-v-fa8a7e8d]{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.preset-btn[data-v-fa8a7e8d]{border:1.5px solid var(--border);background:var(--bg);color:var(--text-secondary);cursor:pointer;border-radius:20px;padding:5px 14px;font-size:12px;font-weight:600;transition:all .15s}.preset-btn[data-v-fa8a7e8d]:hover{border-color:var(--primary);color:var(--primary)}.preset-btn.active[data-v-fa8a7e8d]{border-color:var(--primary);background:var(--primary-bg);color:var(--primary)}.custom-loan-input[data-v-fa8a7e8d]{margin-top:10px}.add-layout[data-v-fa8a7e8d]{flex-direction:column;gap:16px;display:flex}@media (width>=900px){.add-layout[data-v-fa8a7e8d]{flex-direction:row;align-items:flex-start}.form-col[data-v-fa8a7e8d]{flex:1.2}.preview-col[data-v-fa8a7e8d]{flex:1;position:sticky;top:24px}}.form-section-title[data-v-fa8a7e8d]{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:6px;margin-bottom:14px;font-size:13px;font-weight:700;display:flex}.form-row[data-v-fa8a7e8d]{grid-template-columns:1fr;gap:0;display:grid}@media (width>=600px){.form-row[data-v-fa8a7e8d]{grid-template-columns:1fr 1fr;gap:0 16px}}.form-label-row[data-v-fa8a7e8d]{color:var(--text-secondary);justify-content:space-between;align-items:center;margin-bottom:6px;font-size:13px;font-weight:500;display:flex}.rate-mode-tabs[data-v-fa8a7e8d]{border:1.5px solid var(--border);border-radius:6px;display:inline-flex;overflow:hidden}.rate-tab[data-v-fa8a7e8d]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px 9px;font-size:11px;font-weight:600;transition:all .15s}.rate-tab.active[data-v-fa8a7e8d]{background:var(--primary);color:#fff}.rate-input-wrap[data-v-fa8a7e8d]{position:relative}.rate-suffix[data-v-fa8a7e8d]{color:var(--text-muted);pointer-events:none;font-size:14px;font-weight:600;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.rate-input-wrap .form-input[data-v-fa8a7e8d]{padding-right:28px}.subsidy-toggle[data-v-fa8a7e8d]{color:var(--primary);cursor:pointer;opacity:.8;background:0 0;border:none;align-items:center;gap:4px;margin-top:6px;padding:0;font-size:11px;font-weight:600;display:inline-flex}.subsidy-toggle[data-v-fa8a7e8d]:hover{opacity:1}.subsidy-panel[data-v-fa8a7e8d]{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;margin-top:8px;padding:10px 12px}.subsidy-mode-tabs[data-v-fa8a7e8d]{border:1.5px solid #bbf7d0;border-radius:6px;margin-bottom:8px;display:inline-flex;overflow:hidden}.subsidy-tab[data-v-fa8a7e8d]{color:#16a34a;cursor:pointer;background:0 0;border:none;padding:2px 10px;font-size:11px;font-weight:600;transition:all .15s}.subsidy-tab.active[data-v-fa8a7e8d]{color:#fff;background:#16a34a}.subsidy-input-row[data-v-fa8a7e8d]{align-items:center;display:flex;position:relative}.subsidy-input[data-v-fa8a7e8d]{background:#fff;padding-right:52px}.subsidy-unit[data-v-fa8a7e8d]{color:#16a34a;white-space:nowrap;pointer-events:none;font-size:11px;font-weight:600;position:absolute;right:10px}.subsidy-result[data-v-fa8a7e8d]{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;font-size:12px;display:flex}.subsidy-cross[data-v-fa8a7e8d]{color:var(--text-muted);text-decoration:line-through}.subsidy-arrow[data-v-fa8a7e8d]{color:#dc2626;font-weight:600}.subsidy-effective[data-v-fa8a7e8d]{color:#16a34a;font-weight:600}.hint-effective[data-v-fa8a7e8d]{font-weight:600;color:#16a34a!important}.repay-options[data-v-fa8a7e8d]{flex-direction:column;gap:10px;margin-bottom:8px;display:flex}.repay-option[data-v-fa8a7e8d]{border:2px solid var(--border);cursor:pointer;border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;transition:all .15s;display:flex}.repay-option[data-v-fa8a7e8d]:hover{border-color:#a5b4fc}.repay-option.active[data-v-fa8a7e8d]{border-color:var(--primary);background:var(--primary-bg)}.repay-radio[data-v-fa8a7e8d]{border:2px solid var(--border);border-radius:50%;flex-shrink:0;width:18px;height:18px;margin-top:1px;transition:all .15s}.repay-option.active .repay-radio[data-v-fa8a7e8d]{border-color:var(--primary);background:var(--primary);box-shadow:inset 0 0 0 3px #fff}.repay-title[data-v-fa8a7e8d]{align-items:center;gap:6px;margin-bottom:2px;font-size:14px;font-weight:600;display:flex}.repay-desc[data-v-fa8a7e8d]{color:var(--text-muted);font-size:12px;line-height:1.5}.repay-tag[data-v-fa8a7e8d]{color:#92400e;background:#fef3c7;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:700}.repay-tag-blue[data-v-fa8a7e8d]{color:var(--primary-dark);background:#dbeafe}.preview-card[data-v-fa8a7e8d]{background:#f0f7ff;border-color:#bfdbfe}.preview-stat-grid[data-v-fa8a7e8d]{grid-template-columns:1fr 1fr;gap:12px 8px;margin-bottom:12px;display:grid}.preview-stat[data-v-fa8a7e8d]{background:var(--bg);border-radius:10px;padding:10px 12px}.preview-stat-val[data-v-fa8a7e8d]{font-variant-numeric:tabular-nums;margin-bottom:3px;font-size:17px;font-weight:700}.preview-stat-key[data-v-fa8a7e8d]{color:var(--text-muted);font-size:12px}.interest-bar-label[data-v-fa8a7e8d]{color:var(--text-secondary);justify-content:space-between;margin-bottom:6px;font-size:12px;display:flex}.stacked-bar[data-v-fa8a7e8d]{background:var(--border);border-radius:999px;height:10px;display:flex;overflow:hidden}.stacked-principal[data-v-fa8a7e8d]{background:var(--primary);transition:width .4s}.stacked-interest[data-v-fa8a7e8d]{background:var(--warning);transition:width .4s}.stacked-legend[data-v-fa8a7e8d]{color:var(--text-secondary);justify-content:space-between;margin-top:7px;font-size:12px;display:flex}.dot[data-v-fa8a7e8d]{border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.dot-primary[data-v-fa8a7e8d]{background:var(--primary)}.dot-warning[data-v-fa8a7e8d]{background:var(--warning)}.preview-placeholder[data-v-fa8a7e8d]{text-align:center;border:2px dashed var(--border);background:0 0;flex-direction:column;justify-content:center;align-items:center;min-height:180px;display:flex}.schedule-edit-card[data-v-fa8a7e8d]{padding:16px}.edited-badge[data-v-fa8a7e8d]{color:var(--primary-dark);letter-spacing:0;text-transform:none;background:#dbeafe;border-radius:4px;padding:2px 7px;font-size:10px;font-weight:600}.reset-btn[data-v-fa8a7e8d]{color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;margin-left:auto;padding:2px 8px;font-size:11px;transition:color .15s,border-color .15s}.reset-btn[data-v-fa8a7e8d]:hover{color:var(--primary);border-color:var(--primary)}.schedule-scroll[data-v-fa8a7e8d]{border:1px solid var(--border);border-radius:10px;max-height:320px;margin-bottom:10px;overflow-y:auto}.schedule-mini-table[data-v-fa8a7e8d]{border-collapse:collapse;width:100%;font-size:12px}.schedule-mini-table thead tr[data-v-fa8a7e8d]{z-index:1;background:#f8faff;position:sticky;top:0}.schedule-mini-table th[data-v-fa8a7e8d]{text-align:right;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap;padding:7px 8px;font-weight:600}.schedule-mini-table th[data-v-fa8a7e8d]:first-child,.schedule-mini-table th[data-v-fa8a7e8d]:nth-child(2){text-align:left}.schedule-mini-table td[data-v-fa8a7e8d]{text-align:right;border-bottom:1px solid var(--border);vertical-align:middle;padding:5px 8px}.schedule-mini-table tr:last-child td[data-v-fa8a7e8d]{border-bottom:none}.td-period[data-v-fa8a7e8d]{text-align:left;color:var(--text-secondary);width:28px;font-weight:600}.td-date[data-v-fa8a7e8d]{text-align:left;white-space:nowrap;color:var(--text-secondary)}.td-payment[data-v-fa8a7e8d]{color:var(--primary);white-space:nowrap;font-weight:700}.mini-input[data-v-fa8a7e8d]{border:1.5px solid var(--border);text-align:right;background:#fff;border-radius:6px;outline:none;width:90px;padding:3px 6px;font-size:12px;transition:border-color .15s}.mini-input[data-v-fa8a7e8d]:focus{border-color:var(--primary)}.row-paid td[data-v-fa8a7e8d]{opacity:.45}.row-paid .td-period[data-v-fa8a7e8d]:after{content:" ✓";color:var(--success,#16a34a);font-size:10px}.schedule-edit-total[data-v-fa8a7e8d]{color:var(--text-secondary);border-top:1px solid var(--border);flex-wrap:wrap;gap:12px;padding:8px 4px 0;font-size:12px;display:flex}.bar-chart[data-v-5871c446],.line-chart[data-v-984732a1]{width:100%;height:240px}.schedule-wrap[data-v-1fa87d36]{border-radius:var(--radius);overflow:hidden}.schedule-table[data-v-1fa87d36]{border-collapse:collapse;width:100%;min-width:640px;font-size:13px}thead tr[data-v-1fa87d36]{background:#f8faff}th[data-v-1fa87d36]{text-align:right;color:var(--text-secondary);white-space:nowrap;border-bottom:2px solid var(--border);text-transform:uppercase;letter-spacing:.04em;padding:11px 10px;font-size:12px;font-weight:600}.th-period[data-v-1fa87d36],.th-date[data-v-1fa87d36]{text-align:left}td[data-v-1fa87d36]{text-align:right;border-bottom:1px solid var(--border);vertical-align:middle;padding:10px}tr:last-child td[data-v-1fa87d36]{border-bottom:none}.td-period[data-v-1fa87d36]{text-align:left;color:var(--text-secondary);width:36px;font-weight:600}.td-date[data-v-1fa87d36]{text-align:left;white-space:nowrap;color:var(--text-secondary)}.td-num[data-v-1fa87d36]{font-variant-numeric:tabular-nums;white-space:nowrap}.td-interest[data-v-1fa87d36]{color:var(--warning)}.td-remaining[data-v-1fa87d36]{color:var(--text-muted)}.td-status[data-v-1fa87d36]{text-align:center}.td-paid-date[data-v-1fa87d36]{color:var(--text-muted);margin-top:3px;font-size:11px}.td-action[data-v-1fa87d36]{text-align:center;white-space:nowrap}.row-paid[data-v-1fa87d36]{background:#f0fdf4}.row-paid td[data-v-1fa87d36]{color:var(--text-muted)}.row-overdue[data-v-1fa87d36]{background:#fff5f5}.row-editing[data-v-1fa87d36]{background:#eff6ff}.badge-override[data-v-1fa87d36]{color:var(--primary-dark);background:#dbeafe;border-radius:4px;margin-top:3px;padding:1px 5px;font-size:10px;font-weight:600;display:inline-block}.td-edit-inputs[data-v-1fa87d36]{text-align:left}.edit-inputs-row[data-v-1fa87d36]{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.edit-label[data-v-1fa87d36]{color:var(--text-muted);white-space:nowrap;font-size:11px}.edit-input[data-v-1fa87d36]{border:1.5px solid var(--primary);background:#fff;border-radius:6px;outline:none;width:90px;padding:4px 8px;font-size:13px}.edit-error[data-v-1fa87d36]{color:var(--danger);margin-top:4px;font-size:12px}.act-btn[data-v-1fa87d36]{background:var(--bg);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;border:none;border-radius:7px;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.act-btn[data-v-1fa87d36]:hover{background:var(--primary-bg);color:var(--primary)}.act-btn-money[data-v-1fa87d36]:hover{color:var(--warning);background:#fef3c7}.act-btn-edit[data-v-1fa87d36]:hover{color:#059669;background:#f0fdf4}.act-btn-confirm[data-v-1fa87d36]{color:#059669;background:#ecfdf5}.act-btn-confirm[data-v-1fa87d36]:hover{color:#fff;background:#059669}.act-btn-cancel[data-v-1fa87d36]{background:var(--danger-light);color:var(--danger)}.act-btn-cancel[data-v-1fa87d36]:hover{background:var(--danger);color:#fff}.act-btn+.act-btn[data-v-1fa87d36]{margin-left:4px}.modal-header[data-v-bbd7e260]{align-items:center;gap:10px;margin-bottom:18px;display:flex}.close-btn[data-v-bbd7e260]{background:var(--bg);width:30px;height:30px;color:var(--text-muted);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;margin-left:auto;transition:all .15s;display:flex}.close-btn[data-v-bbd7e260]:hover{background:var(--danger-light);color:var(--danger)}.info-block[data-v-bbd7e260]{background:var(--bg);border-radius:12px;margin-bottom:4px;padding:12px 14px}.info-row[data-v-bbd7e260]{justify-content:space-between;align-items:center;padding:6px 0;display:flex}.info-row+.info-row[data-v-bbd7e260]{border-top:1px solid var(--border)}.info-label[data-v-bbd7e260]{color:var(--text-muted);font-size:13px}.info-value[data-v-bbd7e260]{font-size:14px;font-weight:500}.modal-header[data-v-0be199cf]{align-items:center;gap:10px;margin-bottom:18px;display:flex}.close-btn[data-v-0be199cf]{background:var(--bg);width:30px;height:30px;color:var(--text-muted);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;margin-left:auto;transition:all .15s;display:flex}.close-btn[data-v-0be199cf]:hover{background:var(--danger-light);color:var(--danger)}.info-block[data-v-0be199cf]{background:var(--bg);border-radius:12px;padding:12px 14px}.info-row[data-v-0be199cf]{justify-content:space-between;align-items:center;padding:6px 0;display:flex}.info-row+.info-row[data-v-0be199cf]{border-top:1px solid var(--border)}.info-label[data-v-0be199cf]{color:var(--text-muted);font-size:13px}.info-value[data-v-0be199cf]{font-size:14px;font-weight:500}.mode-options[data-v-0be199cf]{flex-direction:column;gap:10px;display:flex}@media (width>=600px){.mode-options[data-v-0be199cf]{flex-direction:row}}.mode-option[data-v-0be199cf]{border:2px solid var(--border);cursor:pointer;border-radius:12px;flex:1;align-items:flex-start;gap:12px;padding:14px;transition:all .15s;display:flex}.mode-option[data-v-0be199cf]:hover{border-color:#a5b4fc}.mode-option.active[data-v-0be199cf]{border-color:var(--primary);background:var(--primary-bg)}.mode-radio[data-v-0be199cf]{background:var(--bg);width:36px;height:36px;color:var(--text-secondary);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.mode-option.active .mode-radio[data-v-0be199cf]{background:var(--primary);color:#fff}.mode-title[data-v-0be199cf]{margin-bottom:3px;font-size:14px;font-weight:600}.mode-desc[data-v-0be199cf]{color:var(--text-muted);font-size:12px;line-height:1.5}.modal-overlay[data-v-a105bfd5]{z-index:10001;background:#00000080;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (width>=480px){.modal-overlay[data-v-a105bfd5]{align-items:center;padding:20px}}.modal-box[data-v-a105bfd5]{background:var(--bg-card);border-radius:20px 20px 0 0;width:100%;max-width:480px;padding:24px 20px 32px}@media (width>=480px){.modal-box[data-v-a105bfd5]{border-radius:20px;padding:24px}}.modal-header[data-v-a105bfd5]{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal-title[data-v-a105bfd5]{color:var(--text-primary);font-size:17px;font-weight:700}.modal-close[data-v-a105bfd5]{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:8px;align-items:center;padding:4px;display:flex}.modal-close[data-v-a105bfd5]:hover{background:var(--bg)}.debt-name-tag[data-v-a105bfd5]{color:var(--primary);background:var(--primary-bg);border-radius:6px;margin-bottom:12px;padding:3px 10px;font-size:13px;font-weight:600;display:inline-block}.payoff-explain[data-v-a105bfd5]{color:var(--text-muted);margin-bottom:16px;font-size:13px;line-height:1.6}.payoff-explain strong[data-v-a105bfd5]{color:var(--text-primary)}.amount-grid[data-v-a105bfd5]{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;display:grid}.amount-card[data-v-a105bfd5]{text-align:center;border-radius:14px;padding:14px 12px}.amount-card.primary[data-v-a105bfd5]{background:var(--primary-bg);border:1.5px solid var(--primary)}.amount-card.green[data-v-a105bfd5]{background:#ecfdf5;border:1.5px solid #6ee7b7}.amount-label[data-v-a105bfd5]{color:var(--text-muted);margin-bottom:6px;font-size:11px}.amount-val[data-v-a105bfd5]{color:var(--text-primary);font-variant-numeric:tabular-nums;margin-bottom:3px;font-size:20px;font-weight:800}.amount-card.primary .amount-val[data-v-a105bfd5]{color:var(--primary)}.amount-card.green .amount-val[data-v-a105bfd5]{color:#059669}.amount-hint[data-v-a105bfd5]{color:var(--text-muted);font-size:11px}.summary-row[data-v-a105bfd5]{background:var(--bg);border-radius:10px;flex-direction:column;gap:6px;margin-bottom:14px;padding:10px 14px;display:flex}.sr-item[data-v-a105bfd5]{justify-content:space-between;font-size:13px;display:flex}.sr-key[data-v-a105bfd5]{color:var(--text-muted)}.sr-val[data-v-a105bfd5]{color:var(--text-primary);font-weight:600}.congrats-tip[data-v-a105bfd5]{color:var(--text-secondary);background:#fffbeb;border:1px solid #fde68a;border-radius:8px;align-items:center;gap:6px;margin-bottom:16px;padding:8px 12px;font-size:13px;display:flex}.custom-section[data-v-a105bfd5]{margin-bottom:14px}.custom-toggle[data-v-a105bfd5]{color:var(--primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:6px;width:100%;padding:6px 0;font-size:13px;display:flex}.custom-fields[data-v-a105bfd5]{background:var(--bg);border-radius:10px;margin-top:8px;padding:12px}.form-row[data-v-a105bfd5]{gap:10px;display:flex}.form-group.half[data-v-a105bfd5]{flex:1;margin-bottom:0}.input-prefix-wrap[data-v-a105bfd5]{align-items:center;display:flex;position:relative}.input-prefix[data-v-a105bfd5]{color:var(--text-muted);pointer-events:none;font-size:14px;position:absolute;left:10px}.form-input.with-prefix[data-v-a105bfd5]{padding-left:22px}.extra-interest-tip[data-v-a105bfd5]{color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;margin-top:10px;padding:6px 10px;font-size:12px}.modal-footer[data-v-a105bfd5]{gap:10px;display:flex}.modal-footer .btn[data-v-a105bfd5]{flex:1}.form-group[data-v-a105bfd5]{margin-bottom:14px}.form-label[data-v-a105bfd5]{color:var(--text-muted);margin-bottom:5px;font-size:12px;font-weight:600;display:block}.form-input[data-v-a105bfd5]{box-sizing:border-box;border:1.5px solid var(--border);background:var(--bg-card);width:100%;color:var(--text-primary);border-radius:10px;outline:none;padding:9px 12px;font-size:14px;transition:border-color .15s}.form-input[data-v-a105bfd5]:focus{border-color:var(--primary)}.btn-success[data-v-a105bfd5]{color:#fff;border-radius:var(--radius);cursor:pointer;background:#10b981;border:none;justify-content:center;align-items:center;gap:6px;padding:11px 20px;font-size:14px;font-weight:700;transition:background .15s;display:flex}.btn-success[data-v-a105bfd5]:hover:not(:disabled){background:#059669}.btn-success[data-v-a105bfd5]:disabled{opacity:.6;cursor:not-allowed}.modal-overlay[data-v-3ecab752]{z-index:10001;background:#00000080;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (width>=480px){.modal-overlay[data-v-3ecab752]{align-items:center;padding:20px}}.modal-box[data-v-3ecab752]{background:var(--bg-card);border-radius:20px 20px 0 0;width:100%;max-width:520px;max-height:90vh;padding:24px 20px 32px;overflow-y:auto}@media (width>=480px){.modal-box[data-v-3ecab752]{border-radius:20px;padding:24px}}.modal-header[data-v-3ecab752]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.modal-title[data-v-3ecab752]{color:var(--text-primary);align-items:center;gap:7px;font-size:17px;font-weight:700;display:flex}.modal-close[data-v-3ecab752]{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:8px;align-items:center;padding:4px;display:flex}.modal-close[data-v-3ecab752]:hover{background:var(--bg)}.debt-name-tag[data-v-3ecab752]{color:var(--primary);background:var(--primary-bg);border-radius:6px;margin-bottom:14px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.section-label[data-v-3ecab752]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:12px;font-weight:700}.mt-12[data-v-3ecab752]{margin-top:12px}.old-summary[data-v-3ecab752]{background:var(--bg);border-radius:10px;grid-template-columns:1fr 1fr 1fr 1fr;margin-bottom:0;display:grid;overflow:hidden}.os-item[data-v-3ecab752]{text-align:center;border-right:1px solid var(--border);padding:10px 8px}.os-item[data-v-3ecab752]:last-child{border-right:none}.os-val[data-v-3ecab752]{font-variant-numeric:tabular-nums;margin-bottom:3px;font-size:13px;font-weight:700}.os-key[data-v-3ecab752]{color:var(--text-muted);font-size:11px}.compare-grid[data-v-3ecab752]{align-items:center;gap:8px;margin:14px 0 10px;display:flex}.compare-card[data-v-3ecab752]{text-align:center;border-radius:12px;flex:1;padding:12px 10px}.compare-card.old[data-v-3ecab752]{background:#fef3c7;border:1.5px solid #fde68a}.compare-card.new[data-v-3ecab752]{background:#ecfdf5;border:1.5px solid #6ee7b7}.compare-label[data-v-3ecab752]{color:var(--text-muted);margin-bottom:4px;font-size:11px}.compare-interest[data-v-3ecab752]{font-variant-numeric:tabular-nums;margin-bottom:2px;font-size:20px;font-weight:800}.compare-sub[data-v-3ecab752]{color:var(--text-muted);margin-bottom:6px;font-size:11px}.compare-monthly[data-v-3ecab752]{color:var(--text-secondary);font-size:12px;font-weight:600}.compare-arrow[data-v-3ecab752]{color:var(--text-muted);flex-shrink:0}.savings-banner[data-v-3ecab752]{border-radius:8px;align-items:center;gap:8px;margin-bottom:16px;padding:10px 12px;font-size:13px;display:flex}.savings-banner.positive[data-v-3ecab752]{color:#065f46;background:#ecfdf5;border:1px solid #6ee7b7}.savings-banner.negative[data-v-3ecab752]{color:#92400e;background:#fef3c7;border:1px solid #fde68a}.confirm-steps[data-v-3ecab752]{background:var(--bg);border-radius:12px;flex-direction:column;gap:10px;margin-bottom:14px;padding:14px;display:flex}.cs-item[data-v-3ecab752]{align-items:flex-start;gap:10px;font-size:13px;line-height:1.5;display:flex}.cs-num[data-v-3ecab752]{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:flex}.cs-amt[data-v-3ecab752]{color:var(--primary);margin:0 2px;font-weight:700}.name-edit-group[data-v-3ecab752]{margin-bottom:14px}.form-label-row[data-v-3ecab752]{color:var(--text-secondary);justify-content:space-between;align-items:center;margin-bottom:6px;font-size:13px;font-weight:500;display:flex}.rate-mode-tabs[data-v-3ecab752]{border:1.5px solid var(--border);border-radius:6px;display:inline-flex;overflow:hidden}.rate-tab[data-v-3ecab752]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px 9px;font-size:11px;font-weight:600}.rate-tab.active[data-v-3ecab752]{background:var(--primary);color:#fff}.rate-input-wrap[data-v-3ecab752]{position:relative}.rate-suffix[data-v-3ecab752]{color:var(--text-muted);pointer-events:none;font-size:14px;font-weight:600;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.rate-input-wrap .form-input[data-v-3ecab752]{padding-right:28px}.form-row[data-v-3ecab752]{grid-template-columns:1fr 1fr;gap:0 14px;display:grid}.modal-footer[data-v-3ecab752]{gap:10px;display:flex}.modal-footer .btn[data-v-3ecab752]{flex:1}.btn-success[data-v-3ecab752]{color:#fff;border-radius:var(--radius);cursor:pointer;background:#10b981;border:none;justify-content:center;align-items:center;gap:6px;padding:11px 20px;font-size:14px;font-weight:700;transition:background .15s;display:flex}.btn-success[data-v-3ecab752]:hover:not(:disabled){background:#059669}.btn-success[data-v-3ecab752]:disabled{opacity:.5;cursor:not-allowed}.text-warning[data-v-3ecab752]{color:#d97706}.text-success[data-v-3ecab752]{color:#059669}.text-muted[data-v-3ecab752]{color:var(--text-muted)}.detail-hero[data-v-552c2df8]{background:var(--gradient-brand);color:#fff;padding:20px 20px 24px}@media (width>=768px){.detail-hero[data-v-552c2df8]{padding:28px 28px 32px}}.detail-hero-inner[data-v-552c2df8]{max-width:var(--content-max)}.detail-topbar[data-v-552c2df8]{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px;display:flex}.detail-title[data-v-552c2df8]{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:20px;font-weight:800;overflow:hidden}.detail-hero-body[data-v-552c2df8]{flex-direction:column;gap:20px;display:flex}@media (width>=768px){.detail-hero-body[data-v-552c2df8]{flex-direction:row;align-items:flex-end;gap:32px}.detail-hero-main[data-v-552c2df8]{flex:1}.detail-summary-grid[data-v-552c2df8]{flex:1.2}}.detail-remaining-label[data-v-552c2df8]{opacity:.75;margin-bottom:4px;font-size:13px}.detail-remaining-amount[data-v-552c2df8]{letter-spacing:-1px;font-size:40px;font-weight:800;line-height:1.1}@media (width>=768px){.detail-remaining-amount[data-v-552c2df8]{font-size:48px}}.detail-meta[data-v-552c2df8]{opacity:.7;margin-top:8px;font-size:13px}.detail-summary-grid[data-v-552c2df8]{background:#ffffff1f;border-radius:14px;grid-template-columns:1fr 1fr 1fr 1fr;display:grid;overflow:hidden}@media (width>=768px){.detail-summary-grid[data-v-552c2df8]{grid-template-columns:1fr 1fr;gap:1px}}.detail-summary-item[data-v-552c2df8]{text-align:center;border-right:1px solid #ffffff1f;padding:12px 8px}.detail-summary-item[data-v-552c2df8]:last-child{border-right:none}.dsv[data-v-552c2df8]{font-variant-numeric:tabular-nums;margin-bottom:3px;font-size:13px;font-weight:700}.dsk[data-v-552c2df8]{opacity:.7;font-size:11px}.progress-section[data-v-552c2df8]{background:var(--bg-card);border-bottom:1px solid var(--border);padding:12px 20px}@media (width>=768px){.progress-section[data-v-552c2df8]{padding:14px 28px}}.next-banner[data-v-552c2df8]{color:#92400e;background:#fef3c7;align-items:center;gap:8px;padding:10px 20px;font-size:13px;font-weight:500;display:flex}.next-banner.overdue[data-v-552c2df8]{color:#991b1b;background:#fee2e2}.banner-pay-btn[data-v-552c2df8]{color:inherit;cursor:pointer;white-space:nowrap;opacity:.85;background:0 0;border:1.5px solid;border-radius:999px;margin-left:auto;padding:4px 14px;font-size:12px;font-weight:700;transition:all .15s}.banner-pay-btn[data-v-552c2df8]:hover{opacity:1;background:#00000012}.chart-grid[data-v-552c2df8]{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=900px){.chart-grid[data-v-552c2df8]{grid-template-columns:1fr 1fr}}.chart-title[data-v-552c2df8]{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px;font-size:13px;font-weight:600}.sim-panel[data-v-552c2df8]{flex-direction:column;gap:12px;display:flex}.sim-control-card[data-v-552c2df8]{padding:20px}.sim-label[data-v-552c2df8]{color:var(--text-secondary);margin-bottom:8px;font-size:13px;font-weight:600}.sim-amount-row[data-v-552c2df8]{align-items:baseline;gap:4px;margin-bottom:12px;display:flex}.sim-unit[data-v-552c2df8]{color:var(--primary);font-size:20px;font-weight:700}.sim-amount-val[data-v-552c2df8]{color:var(--text-primary);font-size:36px;font-weight:800;line-height:1}.sim-slider[data-v-552c2df8]{width:100%;accent-color:var(--primary);cursor:pointer;margin-bottom:4px}.sim-range-labels[data-v-552c2df8]{color:var(--text-muted);justify-content:space-between;margin-bottom:12px;font-size:11px;display:flex}.sim-presets[data-v-552c2df8]{flex-wrap:wrap;gap:6px;display:flex}.preset-btn[data-v-552c2df8]{border:1.5px solid var(--border);background:var(--bg);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:500;transition:all .15s}.preset-btn[data-v-552c2df8]:hover{border-color:var(--primary);color:var(--primary)}.preset-btn.active[data-v-552c2df8]{border-color:var(--primary);background:var(--primary-bg);color:var(--primary);font-weight:700}.sim-compare[data-v-552c2df8]{grid-template-columns:1fr 1fr;gap:10px;display:grid}.sim-card[data-v-552c2df8]{background:var(--bg-card);border:1.5px solid var(--border);text-align:center;border-radius:14px;padding:14px 12px}.sim-card.result[data-v-552c2df8]{border-color:var(--primary);background:var(--primary-bg)}.sim-card-label[data-v-552c2df8]{color:var(--text-muted);margin-bottom:8px;font-size:11px;font-weight:500}.sim-card-months[data-v-552c2df8]{color:var(--text-primary);margin-bottom:4px;font-size:26px;font-weight:800;line-height:1}.sim-card-months.primary[data-v-552c2df8]{color:var(--primary)}.sim-card-interest[data-v-552c2df8]{color:var(--text-muted);font-size:12px}.sim-savings[data-v-552c2df8]{padding:16px}.sim-savings-row[data-v-552c2df8]{margin-bottom:12px;display:flex}.sim-savings-item[data-v-552c2df8]{text-align:center;flex:1}.sim-savings-val[data-v-552c2df8]{margin-bottom:3px;font-size:20px;font-weight:800}.sim-savings-val.green[data-v-552c2df8]{color:#16a34a}.sim-savings-key[data-v-552c2df8]{color:var(--text-muted);font-size:12px}.sim-savings-divider[data-v-552c2df8]{background:var(--border);width:1px;margin:4px 0}.sim-savings-tip[data-v-552c2df8]{color:var(--text-secondary);background:var(--bg);border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.6}.payoff-btn[data-v-552c2df8]{color:#fff;border-radius:var(--radius);cursor:pointer;white-space:nowrap;background:#ffffff2e;border:1.5px solid #fff6;flex-shrink:0;align-items:center;gap:4px;padding:6px 12px;font-size:13px;font-weight:700;transition:background .15s;display:flex}.payoff-btn[data-v-552c2df8]:hover{background:#ffffff47}.refine-btn[data-v-552c2df8]{color:#fff;border-radius:var(--radius);cursor:pointer;white-space:nowrap;background:#ffffff1f;border:1.5px solid #ffffff4d;flex-shrink:0;align-items:center;gap:4px;padding:6px 12px;font-size:13px;font-weight:700;transition:background .15s;display:flex}.refine-btn[data-v-552c2df8]:hover{background:#ffffff38}.payoff-result-banner[data-v-552c2df8]{color:#065f46;background:#ecfdf5;border-bottom:1px solid #6ee7b7;align-items:center;gap:10px;padding:10px 20px;font-size:13px;display:flex}.payoff-result-text[data-v-552c2df8]{flex:1;line-height:1.5}.payoff-result-close[data-v-552c2df8]{cursor:pointer;color:#065f46;opacity:.6;background:0 0;border:none;padding:0 4px;font-size:18px}.payoff-result-close[data-v-552c2df8]:hover{opacity:1}.undo-payoff-banner[data-v-552c2df8]{color:#92400e;background:#fef3c7;border-bottom:1px solid #fcd34d;align-items:center;gap:10px;padding:10px 20px;font-size:13px;display:flex}.undo-payoff-text[data-v-552c2df8]{flex:1;line-height:1.5}.undo-payoff-confirm-btn[data-v-552c2df8]{color:#fff;cursor:pointer;white-space:nowrap;background:#b45309;border:1.5px solid #b45309;border-radius:999px;padding:4px 14px;font-size:12px;font-weight:700;transition:opacity .15s}.undo-payoff-confirm-btn[data-v-552c2df8]:hover{opacity:.85}.undo-payoff-cancel-btn[data-v-552c2df8]{color:inherit;cursor:pointer;white-space:nowrap;opacity:.75;background:0 0;border:1.5px solid;border-radius:999px;padding:4px 14px;font-size:12px;font-weight:700;transition:opacity .15s}.undo-payoff-cancel-btn[data-v-552c2df8]:hover{opacity:1}.undo-payoff-btn[data-v-552c2df8]{color:#fff;border-radius:var(--radius);cursor:pointer;white-space:nowrap;background:#ffffff1f;border:1.5px solid #ffffff4d;flex-shrink:0;align-items:center;gap:4px;padding:6px 12px;font-size:13px;font-weight:700;transition:background .15s;display:flex}.undo-payoff-btn[data-v-552c2df8]:hover{background:#ffffff38}.edit-layout[data-v-1de75db3]{flex-direction:column;gap:16px;display:flex}@media (width>=900px){.edit-layout[data-v-1de75db3]{flex-direction:row;align-items:flex-start}.form-col[data-v-1de75db3]{flex:1.2}.preview-col[data-v-1de75db3]{flex:1;position:sticky;top:24px}}.warn-banner[data-v-1de75db3]{color:#92400e;background:#fffbeb;border-color:#fcd34d;align-items:flex-start;gap:10px;font-size:13px;line-height:1.6;display:flex}.form-section-title[data-v-1de75db3]{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:6px;margin-bottom:14px;font-size:13px;font-weight:700;display:flex}.form-row[data-v-1de75db3]{grid-template-columns:1fr;gap:0;display:grid}@media (width>=600px){.form-row[data-v-1de75db3]{grid-template-columns:1fr 1fr;gap:0 16px}}.form-label-row[data-v-1de75db3]{color:var(--text-secondary);justify-content:space-between;align-items:center;margin-bottom:6px;font-size:13px;font-weight:500;display:flex}.rate-mode-tabs[data-v-1de75db3]{border:1.5px solid var(--border);border-radius:6px;display:inline-flex;overflow:hidden}.rate-tab[data-v-1de75db3]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px 9px;font-size:11px;font-weight:600;transition:all .15s}.rate-tab.active[data-v-1de75db3]{background:var(--primary);color:#fff}.rate-input-wrap[data-v-1de75db3]{position:relative}.rate-suffix[data-v-1de75db3]{color:var(--text-muted);pointer-events:none;font-size:14px;font-weight:600;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.rate-input-wrap .form-input[data-v-1de75db3]{padding-right:28px}.subsidy-toggle[data-v-1de75db3]{color:var(--primary);cursor:pointer;opacity:.8;background:0 0;border:none;align-items:center;gap:4px;margin-top:6px;padding:0;font-size:11px;font-weight:600;display:inline-flex}.subsidy-toggle[data-v-1de75db3]:hover{opacity:1}.subsidy-panel[data-v-1de75db3]{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;margin-top:8px;padding:10px 12px}.subsidy-mode-tabs[data-v-1de75db3]{border:1.5px solid #bbf7d0;border-radius:6px;margin-bottom:8px;display:inline-flex;overflow:hidden}.subsidy-tab[data-v-1de75db3]{color:#16a34a;cursor:pointer;background:0 0;border:none;padding:2px 10px;font-size:11px;font-weight:600;transition:all .15s}.subsidy-tab.active[data-v-1de75db3]{color:#fff;background:#16a34a}.subsidy-input-row[data-v-1de75db3]{align-items:center;display:flex;position:relative}.subsidy-input[data-v-1de75db3]{background:#fff;padding-right:52px}.subsidy-unit[data-v-1de75db3]{color:#16a34a;white-space:nowrap;pointer-events:none;font-size:11px;font-weight:600;position:absolute;right:10px}.subsidy-result[data-v-1de75db3]{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;font-size:12px;display:flex}.subsidy-cross[data-v-1de75db3]{color:var(--text-muted);text-decoration:line-through}.subsidy-arrow[data-v-1de75db3]{color:#dc2626;font-weight:600}.subsidy-effective[data-v-1de75db3]{color:#16a34a;font-weight:600}.hint-effective[data-v-1de75db3]{font-weight:600;color:#16a34a!important}.repay-options[data-v-1de75db3]{flex-direction:column;gap:10px;margin-bottom:8px;display:flex}.repay-option[data-v-1de75db3]{border:2px solid var(--border);cursor:pointer;border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;transition:all .15s;display:flex}.repay-option[data-v-1de75db3]:hover{border-color:#a5b4fc}.repay-option.active[data-v-1de75db3]{border-color:var(--primary);background:var(--primary-bg)}.repay-radio[data-v-1de75db3]{border:2px solid var(--border);border-radius:50%;flex-shrink:0;width:18px;height:18px;margin-top:1px;transition:all .15s}.repay-option.active .repay-radio[data-v-1de75db3]{border-color:var(--primary);background:var(--primary);box-shadow:inset 0 0 0 3px #fff}.repay-title[data-v-1de75db3]{align-items:center;gap:6px;margin-bottom:2px;font-size:14px;font-weight:600;display:flex}.repay-desc[data-v-1de75db3]{color:var(--text-muted);font-size:12px;line-height:1.5}.repay-tag[data-v-1de75db3]{color:#92400e;background:#fef3c7;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:700}.repay-tag-blue[data-v-1de75db3]{color:var(--primary-dark);background:#dbeafe}.preview-card[data-v-1de75db3]{background:#f0f7ff;border-color:#bfdbfe}.preview-stat-grid[data-v-1de75db3]{grid-template-columns:1fr 1fr;gap:12px 8px;margin-bottom:12px;display:grid}.preview-stat[data-v-1de75db3]{background:var(--bg);border-radius:10px;padding:10px 12px}.preview-stat-val[data-v-1de75db3]{font-variant-numeric:tabular-nums;margin-bottom:3px;font-size:17px;font-weight:700}.preview-stat-key[data-v-1de75db3]{color:var(--text-muted);font-size:12px}.interest-bar-label[data-v-1de75db3]{color:var(--text-secondary);justify-content:space-between;margin-bottom:6px;font-size:12px;display:flex}.stacked-bar[data-v-1de75db3]{background:var(--border);border-radius:999px;height:10px;display:flex;overflow:hidden}.stacked-principal[data-v-1de75db3]{background:var(--primary);transition:width .4s}.stacked-interest[data-v-1de75db3]{background:var(--warning);transition:width .4s}.stacked-legend[data-v-1de75db3]{color:var(--text-secondary);justify-content:space-between;margin-top:7px;font-size:12px;display:flex}.dot[data-v-1de75db3]{border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.dot-primary[data-v-1de75db3]{background:var(--primary)}.dot-warning[data-v-1de75db3]{background:var(--warning)}.preview-placeholder[data-v-1de75db3]{text-align:center;border:2px dashed var(--border);background:0 0;flex-direction:column;justify-content:center;align-items:center;min-height:180px;display:flex}.schedule-edit-card[data-v-1de75db3]{padding:16px}.edited-badge[data-v-1de75db3]{color:var(--primary-dark);letter-spacing:0;text-transform:none;background:#dbeafe;border-radius:4px;padding:2px 7px;font-size:10px;font-weight:600}.reset-btn[data-v-1de75db3]{color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;margin-left:auto;padding:2px 8px;font-size:11px;transition:color .15s,border-color .15s}.reset-btn[data-v-1de75db3]:hover{color:var(--primary);border-color:var(--primary)}.schedule-scroll[data-v-1de75db3]{border:1px solid var(--border);border-radius:10px;max-height:320px;margin-bottom:10px;overflow-y:auto}.schedule-mini-table[data-v-1de75db3]{border-collapse:collapse;width:100%;font-size:12px}.schedule-mini-table thead tr[data-v-1de75db3]{z-index:1;background:#f8faff;position:sticky;top:0}.schedule-mini-table th[data-v-1de75db3]{text-align:right;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap;padding:7px 8px;font-weight:600}.schedule-mini-table th[data-v-1de75db3]:first-child,.schedule-mini-table th[data-v-1de75db3]:nth-child(2){text-align:left}.schedule-mini-table td[data-v-1de75db3]{text-align:right;border-bottom:1px solid var(--border);vertical-align:middle;padding:5px 8px}.schedule-mini-table tr:last-child td[data-v-1de75db3]{border-bottom:none}.td-period[data-v-1de75db3]{text-align:left;color:var(--text-secondary);width:28px;font-weight:600}.td-date[data-v-1de75db3]{text-align:left;white-space:nowrap;color:var(--text-secondary)}.td-payment[data-v-1de75db3]{color:var(--primary);white-space:nowrap;font-weight:700}.mini-input[data-v-1de75db3]{border:1.5px solid var(--border);text-align:right;background:#fff;border-radius:6px;outline:none;width:90px;padding:3px 6px;font-size:12px;transition:border-color .15s}.mini-input[data-v-1de75db3]:focus{border-color:var(--primary)}.schedule-edit-total[data-v-1de75db3]{color:var(--text-secondary);border-top:1px solid var(--border);flex-wrap:wrap;gap:12px;padding:8px 4px 0;font-size:12px;display:flex}.strategy-page[data-v-b8fb4d96]{padding-bottom:calc(var(--nav-height) + 24px)}.strat-header[data-v-b8fb4d96]{background:var(--bg-card);border-bottom:1px solid var(--border);z-index:10;align-items:center;gap:12px;padding:14px 16px;display:flex;position:sticky;top:0}.back-btn[data-v-b8fb4d96]{cursor:pointer;color:var(--text-primary);background:0 0;border:none;border-radius:8px;padding:4px;display:flex}.back-btn[data-v-b8fb4d96]:hover{background:var(--bg)}.strat-title[data-v-b8fb4d96]{color:var(--text-primary);font-size:16px;font-weight:700}.strat-hero[data-v-b8fb4d96]{background:var(--gradient-brand);color:#fff;padding:28px 20px 32px}.hero-label[data-v-b8fb4d96]{opacity:.8;align-items:center;gap:5px;margin-bottom:10px;font-size:12px;display:inline-flex}.hero-title[data-v-b8fb4d96]{letter-spacing:-.5px;margin:0 0 6px;font-size:30px;font-weight:800}.hero-sub[data-v-b8fb4d96]{opacity:.75;margin:0;font-size:13px}.strat-body[data-v-b8fb4d96]{max-width:var(--content-max);flex-direction:column;gap:16px;margin:0 auto;padding:16px;display:flex}@media (width>=768px){.strat-body[data-v-b8fb4d96]{padding:20px}}.extra-control-card[data-v-b8fb4d96]{padding:20px}.extra-label[data-v-b8fb4d96]{color:var(--text-secondary);margin-bottom:12px;font-size:13px;font-weight:600}.extra-row[data-v-b8fb4d96]{align-items:center;gap:12px;margin-bottom:12px;display:flex}.adj-btn[data-v-b8fb4d96]{border:1.5px solid var(--border);background:var(--bg);width:38px;height:38px;color:var(--text-secondary);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.adj-btn[data-v-b8fb4d96]:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-bg)}.extra-display[data-v-b8fb4d96]{background:var(--bg);border:1.5px solid var(--border);border-radius:12px;flex:1;align-items:center;gap:4px;padding:8px 14px;display:flex}.extra-unit[data-v-b8fb4d96]{color:var(--primary);font-size:18px;font-weight:700}.extra-input[data-v-b8fb4d96]{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;width:0;min-width:0;font-size:24px;font-weight:800}.preset-row[data-v-b8fb4d96]{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.preset-btn[data-v-b8fb4d96]{border:1.5px solid var(--border);background:var(--bg);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:5px 14px;font-size:13px;font-weight:500;transition:all .15s}.preset-btn[data-v-b8fb4d96]:hover{border-color:var(--primary);color:var(--primary)}.preset-btn.active[data-v-b8fb4d96]{border-color:var(--primary);background:var(--primary-bg);color:var(--primary);font-weight:600}.baseline-row[data-v-b8fb4d96]{background:var(--bg);border-radius:12px;padding:12px 4px;display:flex}.baseline-item[data-v-b8fb4d96]{text-align:center;flex:1}.baseline-val[data-v-b8fb4d96]{color:var(--text-primary);margin-bottom:2px;font-size:15px;font-weight:700}.baseline-key[data-v-b8fb4d96]{color:var(--text-muted);font-size:11px}.baseline-divider[data-v-b8fb4d96]{background:var(--border);width:1px;margin:4px 0}.strategy-grid[data-v-b8fb4d96]{grid-template-columns:1fr;gap:12px;display:grid}@media (width>=640px){.strategy-grid[data-v-b8fb4d96]{grid-template-columns:1fr 1fr}}.strategy-card[data-v-b8fb4d96]{background:var(--bg-card);border:1.5px solid var(--border);border-radius:16px;padding:16px;transition:border-color .2s,box-shadow .2s}.strategy-card.best[data-v-b8fb4d96]{border-color:var(--primary);box-shadow:0 0 0 3px #4a9eff1a}.card-header[data-v-b8fb4d96]{align-items:center;gap:10px;margin-bottom:14px;display:flex}.strategy-icon[data-v-b8fb4d96]{flex-shrink:0;font-size:26px;line-height:1}.strategy-name[data-v-b8fb4d96]{color:var(--text-primary);font-size:15px;font-weight:700}.strategy-desc[data-v-b8fb4d96]{color:var(--text-muted);margin-top:1px;font-size:12px}.best-badge[data-v-b8fb4d96]{background:var(--primary-bg);color:var(--primary);border-radius:999px;flex-shrink:0;align-items:center;gap:4px;margin-left:auto;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.result-grid[data-v-b8fb4d96]{background:var(--bg);border-radius:12px;gap:0;margin-bottom:12px;padding:12px 4px;display:flex}.result-item[data-v-b8fb4d96]{text-align:center;flex:1}.result-val[data-v-b8fb4d96]{color:var(--text-primary);margin-bottom:2px;font-size:18px;font-weight:800}.result-val.highlight[data-v-b8fb4d96]{color:var(--primary)}.result-key[data-v-b8fb4d96]{color:var(--text-muted);font-size:11px}.savings-bar[data-v-b8fb4d96]{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;flex-direction:column;gap:4px;margin-bottom:12px;padding:10px 12px;display:flex}.savings-row[data-v-b8fb4d96]{color:var(--text-secondary);justify-content:space-between;font-size:13px;display:flex}.savings-num.green[data-v-b8fb4d96]{color:#16a34a;font-weight:700}.order-section[data-v-b8fb4d96]{margin-top:4px}.order-label[data-v-b8fb4d96]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:12px;font-weight:600}.order-list[data-v-b8fb4d96]{flex-direction:column;gap:4px;display:flex}.order-item[data-v-b8fb4d96]{align-items:center;gap:8px;font-size:13px;display:flex}.order-num[data-v-b8fb4d96]{background:var(--primary-bg);width:20px;height:20px;color:var(--primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.order-name[data-v-b8fb4d96]{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.tip-card[data-v-b8fb4d96]{padding:16px}.tip-title[data-v-b8fb4d96]{color:var(--text-primary);margin-bottom:12px;font-size:14px;font-weight:700}.tip-row[data-v-b8fb4d96]{gap:10px;margin-bottom:10px;display:flex}.tip-row[data-v-b8fb4d96]:last-child{margin-bottom:0}.tip-icon[data-v-b8fb4d96]{flex-shrink:0;font-size:18px}.tip-text[data-v-b8fb4d96]{color:var(--text-secondary);font-size:13px;line-height:1.65}.income-page[data-v-ecd28bb5]{max-width:var(--content-max)}.page-header[data-v-ecd28bb5]{align-items:center;padding:20px 16px 12px;display:flex}.page-title[data-v-ecd28bb5]{color:var(--text-primary);align-items:center;gap:8px;margin:0;font-size:20px;font-weight:700;display:flex}.overview-grid[data-v-ecd28bb5]{grid-template-columns:repeat(3,1fr);gap:10px;padding:0 16px 12px;display:grid}.overview-card[data-v-ecd28bb5]{background:var(--bg-card);border:1px solid var(--border);text-align:center;border-radius:14px;padding:14px 12px}.overview-label[data-v-ecd28bb5]{color:var(--text-muted);margin-bottom:6px;font-size:11px}.overview-val[data-v-ecd28bb5]{font-size:17px;font-weight:800;line-height:1.2}.overview-val.primary[data-v-ecd28bb5]{color:var(--primary)}.overview-val.danger[data-v-ecd28bb5]{color:var(--danger)}.overview-val.success[data-v-ecd28bb5]{color:#10b981}.overview-hint[data-v-ecd28bb5]{color:var(--text-muted);margin-top:3px;font-size:11px}.ratio-bar-wrap[data-v-ecd28bb5]{margin:0 16px 12px;padding:14px 16px}.ratio-bar-header[data-v-ecd28bb5]{color:var(--text-primary);justify-content:space-between;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.ratio-bar-tip[data-v-ecd28bb5]{font-size:12px;font-weight:500}.ratio-bar[data-v-ecd28bb5]{background:var(--border);border-radius:999px;height:10px;margin-bottom:4px;position:relative;overflow:visible}.ratio-bar-fill[data-v-ecd28bb5]{border-radius:999px;height:100%;transition:width .6s}.ratio-bar-mark[data-v-ecd28bb5]{background:var(--text-muted);opacity:.4;border-radius:1px;width:2px;height:16px;position:absolute;top:-3px;left:40%}.ratio-bar-labels[data-v-ecd28bb5]{color:var(--text-muted);font-size:11px;display:flex}.month-group[data-v-ecd28bb5]{padding:0 16px 4px}.month-header[data-v-ecd28bb5]{justify-content:space-between;align-items:center;margin-bottom:8px;padding:0 2px;display:flex}.month-label[data-v-ecd28bb5]{color:var(--text-secondary);font-size:13px;font-weight:700}.month-total[data-v-ecd28bb5]{font-size:14px;font-weight:700}.income-list[data-v-ecd28bb5]{padding:0;overflow:hidden}.income-item[data-v-ecd28bb5]{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 16px;display:flex}.income-item[data-v-ecd28bb5]:last-child{border-bottom:none}.income-dot[data-v-ecd28bb5]{border-radius:50%;flex-shrink:0;width:10px;height:10px}.income-info[data-v-ecd28bb5]{flex:1;min-width:0}.income-source[data-v-ecd28bb5]{color:var(--text-primary);align-items:center;gap:6px;margin-bottom:2px;font-size:14px;font-weight:600;display:flex}.ledger-tag[data-v-ecd28bb5]{color:#15803d;background:#dcfce7;border-radius:99px;padding:1px 6px;font-size:10px;font-weight:600}.income-meta[data-v-ecd28bb5]{font-size:12px}.income-amount[data-v-ecd28bb5]{color:var(--primary);flex-shrink:0;font-size:16px;font-weight:700}.calendar-page[data-v-aab5bc62]{max-width:var(--content-max)}.page-header[data-v-aab5bc62]{padding:20px 16px 8px}.page-title[data-v-aab5bc62]{color:var(--text-primary);align-items:center;gap:8px;margin:0;font-size:20px;font-weight:700;display:flex}.month-nav[data-v-aab5bc62]{align-items:center;gap:12px;margin:0 16px 12px;padding:12px 16px;display:flex}.nav-btn[data-v-aab5bc62]{border:1px solid var(--border);background:var(--bg);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.nav-btn[data-v-aab5bc62]:hover{background:var(--primary-bg);color:var(--primary);border-color:var(--primary)}.month-center[data-v-aab5bc62]{text-align:center;flex:1}.month-label[data-v-aab5bc62]{color:var(--text-primary);margin-bottom:3px;font-size:17px;font-weight:700}.month-total[data-v-aab5bc62]{color:var(--text-muted);font-size:13px}.month-total .amount[data-v-aab5bc62]{color:var(--danger);font-weight:700}.paid-badge[data-v-aab5bc62]{color:#10b981;margin-left:8px;font-weight:600}.month-total.empty[data-v-aab5bc62]{color:var(--text-muted)}.weekdays[data-v-aab5bc62]{grid-template-columns:repeat(7,1fr);margin-bottom:4px;padding:0 16px;display:grid}.weekday[data-v-aab5bc62]{text-align:center;color:var(--text-muted);padding:6px 0;font-size:12px;font-weight:600}.calendar-grid[data-v-aab5bc62]{grid-template-columns:repeat(7,1fr);gap:3px;padding:0 16px;display:grid}.day-cell[data-v-aab5bc62]{aspect-ratio:1;cursor:pointer;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;padding:4px 2px;transition:background .15s;display:flex;position:relative}.day-cell[data-v-aab5bc62]:not(.is-empty):hover,.day-cell.has-payment[data-v-aab5bc62]{background:var(--bg-card)}.day-cell.is-today .day-num[data-v-aab5bc62]{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.day-cell.is-selected[data-v-aab5bc62]{background:var(--primary-bg);border:2px solid var(--primary)}.day-num[data-v-aab5bc62]{color:var(--text-primary);justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:500;display:flex}.day-dots[data-v-aab5bc62]{gap:2px;margin-top:2px;display:flex}.dot[data-v-aab5bc62]{border-radius:50%;width:5px;height:5px;display:inline-block}.legend[data-v-aab5bc62]{justify-content:center;gap:16px;padding:8px 16px;display:flex}.legend-item[data-v-aab5bc62]{color:var(--text-muted);align-items:center;gap:5px;font-size:12px;display:flex}.detail-panel[data-v-aab5bc62]{margin:12px 16px;padding:0;overflow:hidden}.detail-header[data-v-aab5bc62]{color:var(--text-secondary);border-bottom:1px solid var(--border);background:var(--bg);padding:12px 16px;font-size:13px;font-weight:600}.month-list[data-v-aab5bc62]{padding:0;overflow:hidden}.detail-item[data-v-aab5bc62]{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:10px;padding:12px 16px;transition:background .15s;display:flex}.detail-item[data-v-aab5bc62]:last-child{border-bottom:none}.detail-item[data-v-aab5bc62]:hover{background:var(--bg)}.detail-date[data-v-aab5bc62]{width:28px;color:var(--primary);flex-shrink:0;font-size:13px;font-weight:700}.detail-left[data-v-aab5bc62]{flex:1;min-width:0}.detail-name[data-v-aab5bc62]{white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:14px;font-weight:600;overflow:hidden}.detail-meta[data-v-aab5bc62]{font-size:12px}.detail-right[data-v-aab5bc62]{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.detail-amount[data-v-aab5bc62]{color:var(--primary);font-size:15px;font-weight:700}.expense-page[data-v-64739d33]{max-width:var(--content-max)}.page-header[data-v-64739d33]{align-items:center;padding:20px 16px 12px;display:flex}.page-title[data-v-64739d33]{color:var(--text-primary);align-items:center;gap:8px;margin:0;font-size:20px;font-weight:700;display:flex}.overview-grid[data-v-64739d33]{grid-template-columns:repeat(3,1fr);gap:10px;padding:0 16px 12px;display:grid}.overview-card[data-v-64739d33]{background:var(--bg-card);border:1px solid var(--border);text-align:center;border-radius:14px;padding:14px 12px}.overview-label[data-v-64739d33]{color:var(--text-muted);margin-bottom:6px;font-size:11px}.overview-val[data-v-64739d33]{color:var(--text-primary);font-size:17px;font-weight:800;line-height:1.2}.overview-val.danger[data-v-64739d33]{color:var(--danger)}.overview-val.success[data-v-64739d33]{color:#10b981}.overview-hint[data-v-64739d33]{color:var(--text-muted);margin-top:3px;font-size:11px}.ratio-bar-wrap[data-v-64739d33]{margin:0 16px 12px;padding:14px 16px}.ratio-bar-header[data-v-64739d33]{color:var(--text-primary);justify-content:space-between;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.ratio-bar-tip[data-v-64739d33]{font-size:12px;font-weight:500}.ratio-bar[data-v-64739d33]{background:var(--border);border-radius:999px;height:10px;margin-bottom:4px;position:relative;overflow:visible}.ratio-bar-fill[data-v-64739d33]{border-radius:999px;height:100%;transition:width .6s}.ratio-bar-mark[data-v-64739d33]{background:var(--text-muted);opacity:.4;border-radius:1px;width:2px;height:16px;position:absolute;top:-3px;left:50%}.ratio-bar-labels[data-v-64739d33]{color:var(--text-muted);font-size:11px;display:flex}.cat-group[data-v-64739d33]{padding:0 16px 8px}.cat-header[data-v-64739d33]{align-items:center;gap:8px;margin-bottom:8px;padding:0 2px;display:flex}.cat-dot[data-v-64739d33]{border-radius:50%;flex-shrink:0;width:10px;height:10px}.cat-label[data-v-64739d33]{color:var(--text-secondary);font-size:13px;font-weight:700}.cat-total[data-v-64739d33]{color:var(--text-primary);font-size:14px;font-weight:700}.per-month[data-v-64739d33]{color:var(--text-muted);margin-left:1px;font-size:11px;font-weight:500}.expense-list[data-v-64739d33]{padding:0;overflow:hidden}.expense-item[data-v-64739d33]{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 16px;display:flex}.expense-item[data-v-64739d33]:last-child{border-bottom:none}.expense-info[data-v-64739d33]{flex:1;min-width:0}.expense-name[data-v-64739d33]{color:var(--text-primary);margin-bottom:2px;font-size:14px;font-weight:600}.expense-meta[data-v-64739d33]{font-size:12px}.expense-right[data-v-64739d33]{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.expense-monthly[data-v-64739d33]{color:var(--danger);font-size:15px;font-weight:700}.expense-actions[data-v-64739d33]{gap:4px;display:flex}.icon-btn[data-v-64739d33]{cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;padding:4px;transition:color .15s,background .15s;display:flex}.edit-btn[data-v-64739d33]{color:var(--text-muted)}.edit-btn[data-v-64739d33]:hover{color:var(--primary);background:var(--primary-bg)}.del-btn[data-v-64739d33]{color:var(--text-muted)}.del-btn[data-v-64739d33]:hover{color:var(--danger);background:var(--danger-light)}.modal-overlay[data-v-64739d33]{z-index:10001;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (width>=480px){.modal-overlay[data-v-64739d33]{align-items:center;padding:20px}}.modal-box[data-v-64739d33]{background:var(--bg-card);border-radius:20px 20px 0 0;width:100%;max-width:480px;padding:24px 20px 32px}@media (width>=480px){.modal-box[data-v-64739d33]{border-radius:20px;padding:24px}}.modal-header[data-v-64739d33]{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-title[data-v-64739d33]{color:var(--text-primary);font-size:17px;font-weight:700}.modal-close[data-v-64739d33]{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:8px;align-items:center;padding:4px;display:flex}.modal-close[data-v-64739d33]:hover{background:var(--bg)}.form-row[data-v-64739d33]{gap:12px;display:flex}.amount-input-wrap[data-v-64739d33]{border:1.5px solid var(--border);border-radius:var(--radius);align-items:center;transition:border-color .15s;display:flex;overflow:hidden}.amount-input-wrap[data-v-64739d33]:focus-within{border-color:var(--primary)}.amount-prefix[data-v-64739d33]{color:var(--primary);background:var(--bg);border-right:1px solid var(--border);align-items:center;height:44px;padding:0 10px;font-size:18px;font-weight:700;display:flex}.amount-input[data-v-64739d33]{flex:1;min-width:0;font-size:18px;font-weight:700;border:none!important}.amount-input[data-v-64739d33]:focus{box-shadow:none;outline:none}.cycle-tabs[data-v-64739d33]{gap:6px;display:flex}.cycle-tab[data-v-64739d33]{border-radius:var(--radius);border:1.5px solid var(--border);background:var(--bg);color:var(--text-secondary);cursor:pointer;text-align:center;flex:1;padding:10px 6px;font-size:13px;font-weight:500;transition:all .15s}.cycle-tab.active[data-v-64739d33]{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.cat-tabs[data-v-64739d33]{flex-wrap:wrap;gap:6px;display:flex}.cat-tab[data-v-64739d33]{border:1.5px solid var(--border);background:var(--bg);color:var(--text-secondary);cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.cat-tab-add[data-v-64739d33]{color:var(--text-muted);border-style:dashed}.cat-tab-add[data-v-64739d33]:hover{border-color:var(--primary);color:var(--primary)}.custom-cat-row[data-v-64739d33]{align-items:center;gap:8px;margin-top:8px;display:flex}.custom-cat-row .form-input[data-v-64739d33]{flex:1}.conversion-hint[data-v-64739d33]{background:var(--primary-bg);color:var(--primary);border-radius:var(--radius);margin-bottom:16px;padding:8px 12px;font-size:13px;font-weight:600}.auto-badge[data-v-64739d33]{color:#fff;vertical-align:middle;background:#10b981;border-radius:4px;margin-left:5px;padding:1px 5px;font-size:10px;font-weight:700;line-height:1.5;display:inline-block}.next-due[data-v-64739d33]{color:#10b981;font-weight:500}.zap-btn[data-v-64739d33]{color:var(--text-muted)}.zap-btn[data-v-64739d33]:hover{color:#f59e0b;background:#fff7ed}.zap-btn.zap-on[data-v-64739d33]{color:#10b981}.zap-btn.zap-on[data-v-64739d33]:hover{color:#059669;background:#ecfdf5}.auto-record-group[data-v-64739d33]{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius);padding:14px}.auto-record-header[data-v-64739d33]{justify-content:space-between;align-items:center;display:flex}.toggle-switch[data-v-64739d33]{flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.toggle-switch input[data-v-64739d33]{opacity:0;width:0;height:0;position:absolute}.toggle-track[data-v-64739d33]{background:var(--border);cursor:pointer;border-radius:999px;align-items:center;transition:background .2s;display:flex;position:absolute;inset:0}.toggle-switch input:checked+.toggle-track[data-v-64739d33]{background:#10b981}.toggle-thumb[data-v-64739d33]{background:#fff;border-radius:50%;width:18px;height:18px;margin-left:3px;transition:transform .2s;box-shadow:0 1px 3px #0003}.toggle-switch input:checked+.toggle-track .toggle-thumb[data-v-64739d33]{transform:translate(20px)}.stats-page[data-v-512f96fa]{max-width:var(--content-max)}.inner-tabs[data-v-512f96fa]{border-bottom:1px solid var(--border);background:var(--bg-card);z-index:10;gap:6px;padding:12px 16px 8px;display:flex;position:sticky;top:0}.inner-tab[data-v-512f96fa]{border:1.5px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:5px;padding:7px 16px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.inner-tab[data-v-512f96fa]:hover{color:var(--primary);border-color:var(--primary)}.inner-tab.active[data-v-512f96fa]{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.kpi-grid[data-v-512f96fa]{grid-template-columns:1fr 1fr;gap:12px;padding:12px 16px;display:grid}@media (width>=768px){.kpi-grid[data-v-512f96fa]{grid-template-columns:repeat(4,1fr)}}.kpi-card[data-v-512f96fa]{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:16px}.kpi-label[data-v-512f96fa]{color:var(--text-muted);margin-bottom:6px;font-size:12px}.kpi-value[data-v-512f96fa]{color:var(--text-primary);font-size:20px;font-weight:800;line-height:1.2}.kpi-value.danger[data-v-512f96fa]{color:var(--danger)}.kpi-value.success[data-v-512f96fa]{color:#10b981}.kpi-value.primary[data-v-512f96fa]{color:var(--primary)}.kpi-progress[data-v-512f96fa]{background:var(--border);border-radius:4px;height:4px;margin-top:8px;overflow:hidden}.kpi-progress-fill[data-v-512f96fa]{background:var(--primary);border-radius:4px;height:100%;transition:width .6s}.finish-banner[data-v-512f96fa]{background:var(--gradient-brand);color:#fff;border:none;align-items:center;gap:14px;margin:0 16px 12px;padding:16px 20px;display:flex}.finish-icon[data-v-512f96fa]{background:#fff3;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.finish-content[data-v-512f96fa]{flex:1}.finish-label[data-v-512f96fa]{opacity:.75;margin-bottom:2px;font-size:12px}.finish-date[data-v-512f96fa]{font-size:16px;font-weight:700}.finish-countdown[data-v-512f96fa]{text-align:center}.finish-days[data-v-512f96fa]{font-size:28px;font-weight:800;line-height:1}.finish-days-label[data-v-512f96fa]{opacity:.75;font-size:12px}.chart-card[data-v-512f96fa]{margin:0 16px 12px;padding:16px}.chart-title[data-v-512f96fa]{color:var(--text-primary);align-items:center;gap:7px;margin-bottom:12px;font-size:14px;font-weight:600;display:flex}.chart-body[data-v-512f96fa]{width:100%;height:220px}.chart-body-tall[data-v-512f96fa]{height:200px}.ledger-summary-card[data-v-512f96fa]{margin:12px 16px 0;padding:14px 16px}.ls-header[data-v-512f96fa]{color:var(--text-primary);align-items:center;gap:6px;margin-bottom:12px;font-size:13px;font-weight:700;display:flex}.ls-link[data-v-512f96fa]{color:var(--primary);margin-left:auto;font-size:12px;font-weight:600;text-decoration:none}.ls-row[data-v-512f96fa]{grid-template-columns:repeat(4,1fr);gap:0;display:grid}.ls-item[data-v-512f96fa]{flex-direction:column;align-items:center;gap:4px;display:flex}.ls-label[data-v-512f96fa]{color:var(--text-muted);font-size:11px}.ls-val[data-v-512f96fa]{color:var(--text-primary);font-size:15px;font-weight:800}.ls-val.income[data-v-512f96fa]{color:#10b981}.ls-val.expense[data-v-512f96fa]{color:#ef4444}.calendar-page[data-v-e324cead]{max-width:var(--content-max)}.page-header[data-v-e324cead]{padding:20px 16px 8px}.page-title[data-v-e324cead]{color:var(--text-primary);align-items:center;gap:8px;margin:0;font-size:20px;font-weight:700;display:flex}.month-nav[data-v-e324cead]{align-items:center;gap:12px;margin:0 16px 12px;padding:12px 16px;display:flex}.nav-btn[data-v-e324cead]{border:1px solid var(--border);background:var(--bg);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.nav-btn[data-v-e324cead]:hover{background:var(--primary-bg);color:var(--primary);border-color:var(--primary)}.month-center[data-v-e324cead]{text-align:center;flex:1}.month-label[data-v-e324cead]{color:var(--text-primary);margin-bottom:3px;font-size:17px;font-weight:700}.month-total[data-v-e324cead]{color:var(--text-muted);font-size:13px}.month-total .amount[data-v-e324cead]{color:var(--danger);font-weight:700}.paid-badge[data-v-e324cead]{color:#10b981;margin-left:8px;font-weight:600}.month-total.empty[data-v-e324cead]{color:var(--text-muted)}.weekdays[data-v-e324cead]{grid-template-columns:repeat(7,1fr);margin-bottom:4px;padding:0 16px;display:grid}.weekday[data-v-e324cead]{text-align:center;color:var(--text-muted);padding:6px 0;font-size:12px;font-weight:600}.calendar-grid[data-v-e324cead]{grid-template-columns:repeat(7,1fr);gap:3px;padding:0 16px;display:grid}.day-cell[data-v-e324cead]{aspect-ratio:1;cursor:pointer;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;padding:4px 2px;transition:background .15s;display:flex;position:relative}.day-cell[data-v-e324cead]:not(.is-empty):hover,.day-cell.has-payment[data-v-e324cead]{background:var(--bg-card)}.day-cell.is-today .day-num[data-v-e324cead]{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.day-cell.is-selected[data-v-e324cead]{background:var(--primary-bg);border:2px solid var(--primary)}.day-num[data-v-e324cead]{color:var(--text-primary);justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:500;display:flex}.day-dots[data-v-e324cead]{gap:2px;margin-top:2px;display:flex}.dot[data-v-e324cead]{border-radius:50%;width:5px;height:5px;display:inline-block}.legend[data-v-e324cead]{justify-content:center;gap:16px;padding:8px 16px;display:flex}.legend-item[data-v-e324cead]{color:var(--text-muted);align-items:center;gap:5px;font-size:12px;display:flex}.detail-panel[data-v-e324cead]{margin:12px 16px;padding:0;overflow:hidden}.detail-header[data-v-e324cead]{color:var(--text-secondary);border-bottom:1px solid var(--border);background:var(--bg);padding:12px 16px;font-size:13px;font-weight:600}.month-list[data-v-e324cead]{padding:0;overflow:hidden}.detail-item[data-v-e324cead]{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:10px;padding:12px 16px;transition:background .15s;display:flex}.detail-item[data-v-e324cead]:last-child{border-bottom:none}.detail-item[data-v-e324cead]:hover{background:var(--bg)}.detail-date[data-v-e324cead]{width:28px;color:var(--primary);flex-shrink:0;font-size:13px;font-weight:700}.detail-left[data-v-e324cead]{flex:1;min-width:0}.detail-name[data-v-e324cead]{white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:14px;font-weight:600;overflow:hidden}.detail-meta[data-v-e324cead]{font-size:12px}.detail-right[data-v-e324cead]{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.detail-amount[data-v-e324cead]{color:var(--primary);font-size:15px;font-weight:700}.history-page[data-v-732f4666]{max-width:var(--content-max)}.page-header[data-v-732f4666]{padding:20px 16px 8px}.page-title[data-v-732f4666]{color:var(--text-primary);align-items:center;gap:8px;margin:0;font-size:20px;font-weight:700;display:flex}.summary-row[data-v-732f4666]{grid-template-columns:1fr 1fr;gap:12px;padding:8px 16px 16px;display:grid}.summary-card[data-v-732f4666]{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:16px}.summary-label[data-v-732f4666]{color:var(--text-muted);margin-bottom:6px;font-size:12px}.summary-value[data-v-732f4666]{color:var(--text-primary);font-size:22px;font-weight:800}.summary-value.success[data-v-732f4666]{color:#10b981}.month-group[data-v-732f4666]{padding:0 16px 4px}.month-header[data-v-732f4666]{justify-content:space-between;align-items:center;margin-bottom:8px;padding:0 2px;display:flex}.month-label[data-v-732f4666]{color:var(--text-secondary);font-size:13px;font-weight:700}.month-total[data-v-732f4666]{color:#10b981;font-size:13px;font-weight:600}.timeline[data-v-732f4666]{padding:4px 16px}.timeline-item[data-v-732f4666]{cursor:pointer;border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:12px 0;transition:background .15s;display:flex}.timeline-item.is-last[data-v-732f4666]{border-bottom:none}.timeline-item[data-v-732f4666]:hover{background:var(--bg);border-radius:8px;margin:0 -16px;padding-left:16px;padding-right:16px}.timeline-dot-wrap[data-v-732f4666]{flex-direction:column;flex-shrink:0;align-items:center;padding-top:1px;display:flex}.timeline-dot[data-v-732f4666]{background:#10b981;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.timeline-line[data-v-732f4666]{background:var(--border);flex:1;width:2px;min-height:20px;margin-top:4px}.timeline-content[data-v-732f4666]{flex:1;min-width:0}.timeline-top[data-v-732f4666]{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.timeline-name[data-v-732f4666]{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.timeline-amount[data-v-732f4666]{color:#10b981;flex-shrink:0;font-size:15px;font-weight:700}.timeline-meta[data-v-732f4666]{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:4px;font-size:12px;display:flex}.dot-sep[data-v-732f4666]{opacity:.5}.extra-tag[data-v-732f4666]{background:var(--bg);border:1px solid var(--border);color:var(--text-muted);border-radius:4px;padding:1px 6px;font-size:11px}.income-page[data-v-e744c78a]{max-width:var(--content-max)}.page-header[data-v-e744c78a]{align-items:center;padding:20px 16px 12px;display:flex}.page-title[data-v-e744c78a]{color:var(--text-primary);align-items:center;gap:8px;margin:0;font-size:20px;font-weight:700;display:flex}.overview-grid[data-v-e744c78a]{grid-template-columns:repeat(3,1fr);gap:10px;padding:0 16px 12px;display:grid}.overview-card[data-v-e744c78a]{background:var(--bg-card);border:1px solid var(--border);text-align:center;border-radius:14px;padding:14px 12px}.overview-label[data-v-e744c78a]{color:var(--text-muted);margin-bottom:6px;font-size:11px}.overview-val[data-v-e744c78a]{font-size:17px;font-weight:800;line-height:1.2}.overview-val.primary[data-v-e744c78a]{color:var(--primary)}.overview-val.danger[data-v-e744c78a]{color:var(--danger)}.overview-val.success[data-v-e744c78a]{color:#10b981}.overview-hint[data-v-e744c78a]{color:var(--text-muted);margin-top:3px;font-size:11px}.ratio-bar-wrap[data-v-e744c78a]{margin:0 16px 12px;padding:14px 16px}.ratio-bar-header[data-v-e744c78a]{color:var(--text-primary);justify-content:space-between;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.ratio-bar-tip[data-v-e744c78a]{font-size:12px;font-weight:500}.ratio-bar[data-v-e744c78a]{background:var(--border);border-radius:999px;height:10px;margin-bottom:4px;position:relative;overflow:visible}.ratio-bar-fill[data-v-e744c78a]{border-radius:999px;height:100%;transition:width .6s}.ratio-bar-mark[data-v-e744c78a]{background:var(--text-muted);opacity:.4;border-radius:1px;width:2px;height:16px;position:absolute;top:-3px;left:40%}.ratio-bar-labels[data-v-e744c78a]{color:var(--text-muted);font-size:11px;display:flex}.month-group[data-v-e744c78a]{padding:0 16px 4px}.month-header[data-v-e744c78a]{justify-content:space-between;align-items:center;margin-bottom:8px;padding:0 2px;display:flex}.month-label[data-v-e744c78a]{color:var(--text-secondary);font-size:13px;font-weight:700}.month-total[data-v-e744c78a]{font-size:14px;font-weight:700}.income-list[data-v-e744c78a]{padding:0;overflow:hidden}.income-item[data-v-e744c78a]{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 16px;display:flex}.income-item[data-v-e744c78a]:last-child{border-bottom:none}.income-dot[data-v-e744c78a]{border-radius:50%;flex-shrink:0;width:10px;height:10px}.income-info[data-v-e744c78a]{flex:1;min-width:0}.income-source[data-v-e744c78a]{color:var(--text-primary);margin-bottom:2px;font-size:14px;font-weight:600}.income-meta[data-v-e744c78a]{font-size:12px}.income-amount[data-v-e744c78a]{color:var(--primary);flex-shrink:0;font-size:16px;font-weight:700}.icon-btn[data-v-e744c78a]{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:6px;flex-shrink:0;align-items:center;padding:4px;transition:color .15s,background .15s;display:flex}.edit-btn[data-v-e744c78a]:hover{color:var(--primary);background:var(--primary-bg)}.del-btn[data-v-e744c78a]:hover{color:var(--danger);background:var(--danger-light)}.modal-overlay[data-v-e744c78a]{z-index:10001;background:#00000073;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}@media (width>=480px){.modal-overlay[data-v-e744c78a]{align-items:center;padding:20px}}.modal-box[data-v-e744c78a]{background:var(--bg-card);border-radius:20px 20px 0 0;width:100%;max-width:480px;padding:24px 20px 32px}@media (width>=480px){.modal-box[data-v-e744c78a]{border-radius:20px;padding:24px}}.modal-header[data-v-e744c78a]{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-title[data-v-e744c78a]{color:var(--text-primary);font-size:17px;font-weight:700}.modal-close[data-v-e744c78a]{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:8px;align-items:center;padding:4px;display:flex}.modal-close[data-v-e744c78a]:hover{background:var(--bg)}.amount-input-wrap[data-v-e744c78a]{border:1.5px solid var(--border);border-radius:var(--radius);align-items:center;transition:border-color .15s;display:flex;overflow:hidden}.amount-input-wrap[data-v-e744c78a]:focus-within{border-color:var(--primary)}.amount-prefix[data-v-e744c78a]{color:var(--primary);background:var(--bg);border-right:1px solid var(--border);align-items:center;height:44px;padding:0 12px;font-size:18px;font-weight:700;display:flex}.amount-input[data-v-e744c78a]{flex:1;font-size:20px;font-weight:700;border:none!important}.amount-input[data-v-e744c78a]:focus{box-shadow:none;outline:none}.source-tabs[data-v-e744c78a]{flex-wrap:wrap;gap:8px;display:flex}.source-tab[data-v-e744c78a]{border:1.5px solid var(--border);background:var(--bg);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:6px 16px;font-size:13px;font-weight:500;transition:all .15s}.source-tab.active[data-v-e744c78a]{color:#fff}.captcha-wrap[data-v-02d8f874]{margin-top:4px}.captcha-row[data-v-02d8f874]{align-items:center;gap:10px;display:flex}.captcha-input[data-v-02d8f874]{flex:1}.captcha-img-btn[data-v-02d8f874]{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:10px;flex-shrink:0;width:120px;height:44px;padding:0;position:relative;overflow:hidden}.captcha-img[data-v-02d8f874]{object-fit:cover;width:100%;height:100%;display:block}.captcha-placeholder[data-v-02d8f874]{color:var(--text-muted);font-size:12px}.captcha-refresh-icon[data-v-02d8f874]{color:var(--text-muted);background:#ffffffd9;border-radius:4px;padding:2px;position:absolute;bottom:4px;right:4px}.captcha-error[data-v-02d8f874]{color:var(--danger);margin-top:6px;font-size:12px}.auth-page[data-v-7d2e234f]{background:linear-gradient(135deg,#dbeafe 0%,#eff6ff 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-card[data-v-7d2e234f]{background:#fff;border-radius:20px;width:100%;max-width:420px;padding:36px 32px;box-shadow:0 8px 40px #4a9eff1f}.auth-logo[data-v-7d2e234f]{flex-direction:column;align-items:center;margin-bottom:28px;display:flex}.logo-circle[data-v-7d2e234f]{background:var(--gradient-brand);border-radius:18px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:12px;display:flex;box-shadow:0 8px 24px #4a9eff59}.auth-brand[data-v-7d2e234f]{color:var(--primary);margin-bottom:4px;font-size:26px;font-weight:800}.auth-tagline[data-v-7d2e234f]{color:var(--text-muted);font-size:13px}.auth-title[data-v-7d2e234f]{color:var(--text-primary);margin-bottom:20px;font-size:20px;font-weight:700}.auth-error[data-v-7d2e234f]{background:var(--danger-light);color:var(--danger);border-radius:10px;margin-bottom:16px;padding:10px 14px;font-size:14px}.pwd-wrap[data-v-7d2e234f]{position:relative}.pwd-wrap .form-input[data-v-7d2e234f]{padding-right:44px}.pwd-toggle[data-v-7d2e234f]{cursor:pointer;color:var(--text-muted);background:0 0;border:none;align-items:center;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.auth-footer[data-v-7d2e234f]{text-align:center;color:var(--text-secondary);margin-top:20px;font-size:14px}.auth-link[data-v-7d2e234f]{color:var(--primary);font-weight:600;text-decoration:none}.auth-link[data-v-7d2e234f]:hover{text-decoration:underline}.auth-page[data-v-4d970cb9]{background:linear-gradient(135deg,#dbeafe 0%,#eff6ff 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-card[data-v-4d970cb9]{background:#fff;border-radius:20px;width:100%;max-width:420px;padding:36px 32px;box-shadow:0 8px 40px #4a9eff1f}.auth-logo[data-v-4d970cb9]{flex-direction:column;align-items:center;margin-bottom:28px;display:flex}.logo-circle[data-v-4d970cb9]{background:var(--gradient-brand);border-radius:18px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:12px;display:flex;box-shadow:0 8px 24px #4a9eff59}.auth-brand[data-v-4d970cb9]{color:var(--primary);margin-bottom:4px;font-size:26px;font-weight:800}.auth-tagline[data-v-4d970cb9]{color:var(--text-muted);font-size:13px}.auth-title[data-v-4d970cb9]{margin-bottom:20px;font-size:20px;font-weight:700}.auth-error[data-v-4d970cb9]{background:var(--danger-light);color:var(--danger);border-radius:10px;margin-bottom:16px;padding:10px 14px;font-size:14px}.invite-input[data-v-4d970cb9]{letter-spacing:2px;font-weight:600}.pwd-wrap[data-v-4d970cb9]{position:relative}.pwd-wrap .form-input[data-v-4d970cb9]{padding-right:44px}.pwd-toggle[data-v-4d970cb9]{cursor:pointer;color:var(--text-muted);background:0 0;border:none;align-items:center;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.auth-footer[data-v-4d970cb9]{text-align:center;color:var(--text-secondary);margin-top:20px;font-size:14px}.auth-link[data-v-4d970cb9]{color:var(--primary);font-weight:600;text-decoration:none}.auth-link[data-v-4d970cb9]:hover{text-decoration:underline}.success-state[data-v-4d970cb9]{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:16px 0;display:flex}.success-title[data-v-4d970cb9]{color:#10b981;margin:0;font-size:20px;font-weight:700}.success-desc[data-v-4d970cb9]{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.6}.source-options[data-v-4d970cb9]{flex-wrap:wrap;gap:8px;display:flex}.source-opt[data-v-4d970cb9]{color:#475569;cursor:pointer;background:#f1f5f9;border:1.5px solid #e2e8f0;border-radius:20px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .15s}.source-opt[data-v-4d970cb9]:hover{border-color:var(--primary);color:var(--primary)}.source-opt.active[data-v-4d970cb9]{border-color:var(--primary);color:var(--primary);background:#eff6ff;font-weight:600}.invite-notice[data-v-4d970cb9]{background:#fff7ed;border:1.5px solid #fed7aa;border-radius:12px;align-items:flex-start;gap:10px;margin-bottom:20px;padding:16px;display:flex}.invite-notice-icon[data-v-4d970cb9]{flex-shrink:0;font-size:20px;line-height:1.4}.invite-notice-body[data-v-4d970cb9]{flex-direction:column;gap:6px;display:flex}.invite-notice-title[data-v-4d970cb9]{color:#c2410c;font-size:14px;font-weight:700}.invite-notice-text[data-v-4d970cb9]{color:#9a3412;font-size:13px;line-height:1.6}.invite-welcome[data-v-4d970cb9]{background:linear-gradient(135deg,#eff6ff,#f0f9ff);border:1px solid #bae6fd;border-radius:14px;align-items:flex-start;gap:12px;margin-bottom:16px;padding:14px 16px;display:flex}.invite-welcome-emoji[data-v-4d970cb9]{flex-shrink:0;font-size:28px;line-height:1}.invite-welcome-title[data-v-4d970cb9]{color:var(--primary-text-dark,#075985);font-size:15px;font-weight:700}.invite-welcome-sub[data-v-4d970cb9]{color:var(--text-secondary);margin-top:4px;font-size:12px;line-height:1.5}.invite-warn[data-v-4d970cb9]{color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:10px;margin-bottom:12px;padding:10px 14px;font-size:13px}.optional[data-v-4d970cb9]{color:#94a3b8;font-size:12px;font-weight:400}.wish-area[data-v-4d970cb9]{resize:vertical;min-height:56px;line-height:1.5}.profile-hero[data-v-b2fa9ac5]{background:var(--gradient-brand);color:#fff;padding:32px 20px 36px}.hero-inner[data-v-b2fa9ac5]{max-width:var(--content-max);align-items:center;gap:20px;display:flex}.avatar-circle[data-v-b2fa9ac5]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff3;border:3px solid #ffffff80;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;font-size:30px;font-weight:800;display:flex}.hero-name[data-v-b2fa9ac5]{margin-bottom:3px;font-size:22px;font-weight:800}.hero-level[data-v-b2fa9ac5]{color:#ffffffeb;cursor:pointer;background:#ffffff2e;border-radius:999px;align-items:center;gap:4px;margin-bottom:4px;padding:3px 10px 3px 6px;font-size:12px;font-weight:600;display:inline-flex}.hero-level-emoji[data-v-b2fa9ac5]{font-size:14px}.hero-username[data-v-b2fa9ac5]{opacity:.75;margin-bottom:6px;font-size:13px}.hero-join[data-v-b2fa9ac5]{opacity:.65;align-items:center;gap:5px;font-size:12px;display:flex}.profile-content[data-v-b2fa9ac5]{max-width:var(--content-max);padding:0 16px}.stats-row[data-v-b2fa9ac5]{grid-template-columns:repeat(3,1fr);gap:10px;padding:16px 0 4px;display:grid}.stat-card[data-v-b2fa9ac5]{background:var(--bg-card);border:1px solid var(--border);text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;display:flex}.stat-val[data-v-b2fa9ac5]{color:var(--text-primary);font-size:18px;font-weight:800;line-height:1}.stat-val.amount[data-v-b2fa9ac5]{font-size:14px}.stat-key[data-v-b2fa9ac5]{color:var(--text-muted);font-size:11px}.priv-locked-row[data-v-b2fa9ac5]{color:var(--text-muted);align-items:center;gap:8px;margin-top:16px;margin-bottom:4px;padding:14px 0;font-size:13px;font-weight:600;display:flex}.priv-locked-row-icon[data-v-b2fa9ac5]{opacity:.45}.section-label[data-v-b2fa9ac5]{color:var(--text-muted);letter-spacing:.6px;text-transform:uppercase;padding:20px 4px 8px;font-size:12px;font-weight:600}.menu-group[data-v-b2fa9ac5]{padding:0;overflow:hidden}.menu-item[data-v-b2fa9ac5]{cursor:pointer;align-items:center;gap:14px;padding:14px 16px;transition:background .12s;display:flex}.menu-item[data-v-b2fa9ac5]:hover,.menu-item[data-v-b2fa9ac5]:active{background:var(--bg)}.menu-item-icon[data-v-b2fa9ac5]{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.menu-item-info[data-v-b2fa9ac5]{flex:1;min-width:0}.menu-item-title[data-v-b2fa9ac5]{color:var(--text-primary);font-size:14px;font-weight:600}.menu-item-sub[data-v-b2fa9ac5]{color:var(--text-muted);margin-top:1px;font-size:12px}.menu-chevron[data-v-b2fa9ac5]{color:var(--text-muted);flex-shrink:0}.menu-divider[data-v-b2fa9ac5]{background:var(--border);height:1px;margin:0 16px}.theme-toggle[data-v-b2fa9ac5]{background:var(--border);cursor:pointer;border-radius:999px;flex-shrink:0;width:44px;height:26px;transition:background .25s;position:relative}.theme-toggle.on[data-v-b2fa9ac5]{background:var(--primary)}.theme-toggle-knob[data-v-b2fa9ac5]{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .25s cubic-bezier(.32,.72,0,1);position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0003}.theme-toggle.on .theme-toggle-knob[data-v-b2fa9ac5]{transform:translate(18px)}.invite-compact[data-v-b2fa9ac5]{padding:0;overflow:hidden}.invite-loading[data-v-b2fa9ac5]{color:var(--text-muted);text-align:center;padding:14px 16px;font-size:13px}.invite-row[data-v-b2fa9ac5]{align-items:center;gap:12px;padding:12px 14px;display:flex}.invite-row-icon[data-v-b2fa9ac5]{background:#f5f3ff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.invite-row-body[data-v-b2fa9ac5]{cursor:pointer;flex:1;min-width:0}.invite-row-code[data-v-b2fa9ac5]{letter-spacing:2px;color:#6d28d9;font-family:monospace;font-size:16px;font-weight:800;line-height:1.3}.invite-row-sub[data-v-b2fa9ac5]{color:var(--text-muted);margin-top:2px;font-size:11px}.invite-icon-btn[data-v-b2fa9ac5]{border:1px solid var(--border);background:var(--bg);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.invite-icon-btn.share[data-v-b2fa9ac5]{color:#059669;background:#ecfdf5;border-color:#bbf7d0}.invite-block[data-v-b2fa9ac5]{border-bottom:none}.invite-link-row[data-v-b2fa9ac5]{border-top:1px solid var(--border);align-items:center;gap:8px;margin-top:0;padding:10px 14px;display:flex}.invite-link-icon[data-v-b2fa9ac5]{color:var(--primary);flex-shrink:0}.invite-link-text[data-v-b2fa9ac5]{min-width:0;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:10px;overflow:hidden}.invite-link-btn[data-v-b2fa9ac5]{border:1px solid var(--primary-border);background:var(--primary-bg);color:var(--primary);cursor:pointer;border-radius:999px;flex-shrink:0;padding:4px 10px;font-size:11px;font-weight:600}.invite-tip[data-v-b2fa9ac5]{color:var(--text-muted);padding:0 14px 12px;font-size:11px;line-height:1.4}.invite-gen-row[data-v-b2fa9ac5]{cursor:pointer;text-align:left;width:100%;color:var(--text-primary);background:0 0;border:none;align-items:center;gap:12px;padding:14px 16px;font-size:14px;font-weight:600;display:flex}.invite-gen-row[data-v-b2fa9ac5]:disabled{opacity:.6;cursor:not-allowed}.invite-gen-row span[data-v-b2fa9ac5]{flex:1}.logout-btn[data-v-b2fa9ac5]{background:var(--bg-card);color:#ef4444;cursor:pointer;border:1.5px solid #fca5a5;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:20px;padding:14px;font-size:15px;font-weight:600;transition:background .15s;display:flex}.logout-btn[data-v-b2fa9ac5]:hover{background:#fef2f2}.comment-node[data-v-99a45104]{width:100%}.depth-1[data-v-99a45104],.depth-2[data-v-99a45104],.depth-3[data-v-99a45104]{border-left:2px solid var(--border);margin-top:8px;padding-left:12px}.comment-row[data-v-99a45104]{gap:8px;padding:8px 0;display:flex}.avatar[data-v-99a45104]{background:var(--gradient-brand);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:flex}.depth-2 .avatar[data-v-99a45104],.depth-3 .avatar[data-v-99a45104]{width:24px;height:24px;font-size:10px}.body[data-v-99a45104]{flex:1;min-width:0}.meta-row[data-v-99a45104]{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:3px;display:flex}.author[data-v-99a45104]{color:var(--text-primary);font-size:13px;font-weight:600}.reply-badge[data-v-99a45104]{color:var(--primary);background:var(--primary-bg);border-radius:999px;align-items:center;gap:2px;padding:1px 6px;font-size:11px;display:inline-flex}.time[data-v-99a45104]{color:var(--text-muted);flex:1;font-size:11px}.del-btn[data-v-99a45104]{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;padding:2px;display:flex}.del-btn[data-v-99a45104]:hover{color:var(--danger)}.content[data-v-99a45104]{color:var(--text-primary);white-space:pre-wrap;word-break:break-all;font-size:14px;line-height:1.65}.reply-prefix[data-v-99a45104]{color:var(--primary);margin-right:2px;font-size:13px}.reply-prefix em[data-v-99a45104]{font-style:normal;font-weight:600}.reply-btn[data-v-99a45104]{cursor:pointer;color:var(--text-muted);background:0 0;border:none;margin-top:4px;padding:2px 0;font-size:12px;transition:color .12s}.reply-btn[data-v-99a45104]:hover{color:var(--primary)}.children[data-v-99a45104]{margin-top:0}.post-detail-page[data-v-d46307ff]{flex-direction:column;min-height:100vh;padding-bottom:130px;display:flex}.detail-header[data-v-d46307ff]{background:var(--bg-card);border-bottom:1px solid var(--border);z-index:10;align-items:center;gap:12px;padding:14px 16px;display:flex;position:sticky;top:0}.back-btn[data-v-d46307ff]{cursor:pointer;color:var(--text-primary);background:0 0;border:none;border-radius:8px;padding:4px;display:flex}.back-btn[data-v-d46307ff]:hover{background:var(--bg)}.detail-title[data-v-d46307ff]{flex:1;font-size:16px;font-weight:700}.delete-post-btn[data-v-d46307ff]{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:8px;padding:4px;display:flex}.delete-post-btn[data-v-d46307ff]:hover{color:var(--danger)}.post-body[data-v-d46307ff]{margin:12px 16px 0;padding:16px}@media (width>=768px){.post-body[data-v-d46307ff]{margin:16px 20px 0}}.post-author[data-v-d46307ff]{align-items:center;gap:10px;margin-bottom:12px;display:flex}.post-avatar[data-v-d46307ff]{background:var(--gradient-brand);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;font-weight:700;display:flex}.post-author-name[data-v-d46307ff]{color:var(--text-primary);font-size:15px;font-weight:600}.post-time[data-v-d46307ff]{color:var(--text-muted);font-size:12px}.post-content[data-v-d46307ff]{color:var(--text-primary);white-space:pre-wrap;word-break:break-all;margin-bottom:14px;font-size:15px;line-height:1.8}.post-images[data-v-d46307ff]{border-radius:12px;gap:4px;margin-bottom:14px;display:grid;overflow:hidden}.post-images.img-count-1[data-v-d46307ff]{grid-template-columns:1fr}.post-images.img-count-2[data-v-d46307ff]{grid-template-columns:1fr 1fr}.post-images.img-count-3[data-v-d46307ff]{grid-template-columns:1fr 1fr 1fr}.post-images.img-count-4[data-v-d46307ff]{grid-template-columns:1fr 1fr}.post-images.img-count-5[data-v-d46307ff],.post-images.img-count-6[data-v-d46307ff],.post-images.img-count-7[data-v-d46307ff],.post-images.img-count-8[data-v-d46307ff],.post-images.img-count-9[data-v-d46307ff]{grid-template-columns:repeat(3,1fr)}.post-img-item[data-v-d46307ff]{aspect-ratio:1;background:var(--bg);overflow:hidden}.post-img-item.single[data-v-d46307ff]{aspect-ratio:auto;max-height:400px}.post-img[data-v-d46307ff]{object-fit:cover;cursor:zoom-in;width:100%;height:100%;transition:transform .2s}.post-img-item.single .post-img[data-v-d46307ff]{object-fit:contain;width:100%;height:auto;max-height:400px}.post-img[data-v-d46307ff]:hover{transform:scale(1.02)}.lightbox[data-v-d46307ff]{z-index:1000;cursor:zoom-out;background:#000000e0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox-img[data-v-d46307ff]{object-fit:contain;border-radius:8px;max-width:95vw;max-height:90vh}.mask-enter-active[data-v-d46307ff],.mask-leave-active[data-v-d46307ff]{transition:opacity .2s}.mask-enter-from[data-v-d46307ff],.mask-leave-to[data-v-d46307ff]{opacity:0}.post-stats[data-v-d46307ff]{color:var(--text-muted);border-top:1px solid var(--border);align-items:center;gap:10px;padding-top:12px;font-size:12px;display:flex}.detail-cheer-btn[data-v-d46307ff]{color:var(--text-muted);cursor:pointer;border:none;border:1.5px solid var(--border);background:0 0;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.detail-cheer-btn .cheer-emoji[data-v-d46307ff]{font-size:15px}.detail-cheer-btn[data-v-d46307ff]:hover,.detail-cheer-btn.cheered[data-v-d46307ff]{color:var(--primary);background:#f0f9ff;border-color:#bae6fd}.stat-muted[data-v-d46307ff]{color:var(--text-muted);font-size:13px}.review-hint[data-v-d46307ff]{color:#d97706;background:#fef3c7;border-radius:8px;margin-bottom:12px;padding:8px 12px;font-size:13px}.post-stat-divider[data-v-d46307ff]{background:var(--border);width:1px;height:14px}.comments-section[data-v-d46307ff]{padding:16px 16px 0}@media (width>=768px){.comments-section[data-v-d46307ff]{padding:16px 20px 0}}.comments-title[data-v-d46307ff]{color:var(--text-secondary);margin-bottom:8px;font-size:14px;font-weight:700}.no-comments[data-v-d46307ff]{text-align:center;color:var(--text-muted);padding:24px 0;font-size:13px}.comment-input-bar[data-v-d46307ff]{bottom:calc(var(--nav-height) + env(safe-area-inset-bottom,0px));background:var(--bg-card);border-top:1px solid var(--border);z-index:100;position:fixed;left:0;right:0;box-shadow:0 -2px 12px #0000000f}@media (width>=768px){.comment-input-bar[data-v-d46307ff]{bottom:0;left:var(--sidebar-mini)}}@media (width>=1200px){.comment-input-bar[data-v-d46307ff]{left:var(--sidebar-width)}}.reply-hint[data-v-d46307ff]{color:var(--primary);background:var(--primary-bg);border-bottom:1px solid #bfdbfe;align-items:center;gap:6px;padding:6px 16px;font-size:12px;display:flex}.cancel-reply[data-v-d46307ff]{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;margin-left:auto;padding:2px;display:flex}.cancel-reply[data-v-d46307ff]:hover{color:var(--danger)}.comment-error[data-v-d46307ff]{color:var(--danger);padding:6px 16px 0;font-size:12px}.comment-input-row[data-v-d46307ff]{align-items:center;gap:10px;padding:10px 16px;display:flex}.comment-input[data-v-d46307ff]{border:1.5px solid var(--border);background:var(--bg);height:40px;color:var(--text-primary);border-radius:20px;outline:none;flex:1;padding:0 16px;font-size:14px;transition:border-color .15s}.comment-input[data-v-d46307ff]:focus{border-color:var(--primary)}.comment-send[data-v-d46307ff]{background:var(--gradient-brand);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:opacity .15s;display:flex}.comment-send[data-v-d46307ff]:disabled{opacity:.45;cursor:not-allowed}.loading-wrap[data-v-d46307ff]{text-align:center;color:var(--text-muted);padding:48px 0;font-size:14px}.detail-toast[data-v-d46307ff]{bottom:calc(var(--nav-height) + 140px);color:#fff;z-index:200;white-space:nowrap;background:#0f172ae0;border-radius:999px;padding:10px 20px;font-size:14px;position:fixed;left:50%;transform:translate(-50%)}.toast-enter-active[data-v-d46307ff],.toast-leave-active[data-v-d46307ff]{transition:opacity .25s,transform .25s}.toast-enter-from[data-v-d46307ff],.toast-leave-to[data-v-d46307ff]{opacity:0;transform:translate(-50%)translateY(8px)}.lp[data-v-a8053d66]{min-height:100vh;padding-bottom:calc(var(--nav-height) + 24px);background:#f1f5f9;flex-direction:column;display:flex}.lp-header[data-v-a8053d66]{background:var(--gradient-brand-soft);color:#fff;flex-shrink:0;padding:14px 16px 20px}.lp-header-top[data-v-a8053d66]{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.lp-tabs[data-v-a8053d66]{gap:4px;display:flex}.lp-settings-btn[data-v-a8053d66]{cursor:pointer;color:#ffffffd9;background:#ffffff26;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:background .15s;display:flex}.lp-settings-btn[data-v-a8053d66]:hover{color:#fff;background:#ffffff47}.lp-tab[data-v-a8053d66]{cursor:pointer;color:#ffffffb3;background:#ffffff26;border:none;border-radius:999px;align-items:center;gap:4px;padding:6px 18px;font-size:13px;font-weight:600;transition:all .18s;display:flex}.lp-tab.active[data-v-a8053d66]{color:var(--primary);background:#fff}.lp-month[data-v-a8053d66]{justify-content:center;align-items:center;gap:10px;margin-bottom:16px;display:flex}.lp-month-btn[data-v-a8053d66]{cursor:pointer;color:#fff;background:#ffffff26;border:none;border-radius:8px;padding:4px 6px;transition:background .15s;display:flex}.lp-month-btn[data-v-a8053d66]:hover{background:#ffffff40}.lp-month-btn[data-v-a8053d66]:disabled{opacity:.3;cursor:not-allowed}.lp-month-label[data-v-a8053d66]{color:#fff;font-size:15px;font-weight:600}.lp-summary[data-v-a8053d66]{background:#ffffff1f;border-radius:14px;align-items:center;padding:12px 16px;display:flex}.lp-sum-item[data-v-a8053d66]{flex-direction:column;flex:1;align-items:center;gap:3px;display:flex}.lp-sum-label[data-v-a8053d66]{color:#ffffffa6;font-size:11px}.lp-sum-val[data-v-a8053d66]{color:#fff;letter-spacing:-.5px;font-size:16px;font-weight:800}.lp-sum-val.income[data-v-a8053d66]{color:#86efac}.lp-sum-val.expense[data-v-a8053d66]{color:#fca5a5}.lp-sum-divider[data-v-a8053d66]{background:#fff3;width:1px;height:32px}.lp-body[data-v-a8053d66]{flex:1;padding:12px 12px 0}.lp-hint[data-v-a8053d66]{text-align:center;color:#94a3b8;padding:48px 20px;font-size:14px;line-height:1.8}.acc-strip[data-v-a8053d66]{scrollbar-width:none;gap:8px;margin-bottom:10px;padding-bottom:4px;display:flex;overflow-x:auto}.acc-strip[data-v-a8053d66]::-webkit-scrollbar{display:none}.acc-chip[data-v-a8053d66]{background:#fff;border-radius:12px;flex-shrink:0;align-items:center;gap:8px;min-width:110px;padding:8px 12px;display:flex;box-shadow:0 1px 4px #0000000f}.acc-chip-emoji[data-v-a8053d66]{font-size:20px}.acc-chip-info[data-v-a8053d66]{flex-direction:column;display:flex}.acc-chip-name[data-v-a8053d66]{color:#64748b;font-size:11px}.acc-chip-bal[data-v-a8053d66]{color:#1e293b;font-size:13px;font-weight:700}.acc-chip-bal.neg[data-v-a8053d66]{color:#ef4444}.acc-total[data-v-a8053d66]{border:1.5px solid #e2e8f0}.day-card[data-v-a8053d66]{background:#fff;border-radius:16px;margin-bottom:10px;overflow:hidden;box-shadow:0 1px 4px #0000000f}.day-head[data-v-a8053d66]{background:#f8fafc;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:9px 14px;display:flex}.day-date[data-v-a8053d66]{color:#475569;font-size:12px;font-weight:600}.day-sub-total[data-v-a8053d66]{color:#94a3b8;font-size:12px}.day-sub-total.inc[data-v-a8053d66]{color:#10b981}.rec-row[data-v-a8053d66]{cursor:pointer;border-bottom:1px solid #f8fafc;align-items:center;gap:10px;padding:11px 14px;transition:background .1s;display:flex}.rec-row[data-v-a8053d66]:last-child{border-bottom:none}.rec-row[data-v-a8053d66]:active{background:#f8fafc}.transfer-row[data-v-a8053d66]{cursor:default}.rec-icon[data-v-a8053d66]{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;display:flex}.transfer-icon[data-v-a8053d66]{background:#f1f5f9}.rec-info[data-v-a8053d66]{flex:1;min-width:0}.rec-top[data-v-a8053d66]{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.rec-cat[data-v-a8053d66]{color:#1e293b;font-size:14px;font-weight:600}.rec-acc-tag[data-v-a8053d66]{color:#64748b;background:#f1f5f9;border-radius:999px;padding:1px 6px;font-size:10px}.rec-note[data-v-a8053d66]{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.rec-meta[data-v-a8053d66]{flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;display:flex}.rec-time[data-v-a8053d66]{color:#94a3b8;font-size:11px}.rec-paymethod[data-v-a8053d66]{color:#64748b;background:#f1f5f9;border-radius:999px;padding:1px 6px;font-size:10px}.rec-amt[data-v-a8053d66]{color:#1e293b;flex-shrink:0;font-size:15px;font-weight:700}.rec-amt.income[data-v-a8053d66]{color:#10b981}.transfer-amt[data-v-a8053d66]{color:#64748b}.rec-del[data-v-a8053d66]{cursor:pointer;color:#cbd5e1;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:4px;transition:color .15s;display:flex}.rec-del[data-v-a8053d66]:hover{color:#ef4444}.r-card[data-v-a8053d66]{background:#fff;border-radius:16px;margin-bottom:10px;padding:14px 16px;box-shadow:0 1px 4px #0000000f}.r-card-title[data-v-a8053d66]{color:#1e293b;margin-bottom:14px;font-size:14px;font-weight:700}.acc-list[data-v-a8053d66]{flex-direction:column;gap:2px;display:flex}.acc-row[data-v-a8053d66]{border-bottom:1px solid #f8fafc;align-items:center;gap:10px;padding:8px 0;display:flex}.acc-row[data-v-a8053d66]:last-child{border-bottom:none}.acc-row-icon[data-v-a8053d66]{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:18px;display:flex}.acc-row-info[data-v-a8053d66]{flex:1}.acc-row-name[data-v-a8053d66]{color:#1e293b;font-size:13px;font-weight:600;display:block}.acc-row-type[data-v-a8053d66]{color:#94a3b8;font-size:11px}.acc-row-bal[data-v-a8053d66]{color:#1e293b;font-size:14px;font-weight:700}.acc-row-bal.neg[data-v-a8053d66]{color:#ef4444}.acc-total-row[data-v-a8053d66]{color:#1e293b;border-top:1px solid #f1f5f9;justify-content:space-between;padding-top:10px;font-size:14px;font-weight:700;display:flex}.acc-total-row .income[data-v-a8053d66]{color:#10b981}.acc-total-row .expense[data-v-a8053d66]{color:#ef4444}.rank-list[data-v-a8053d66]{flex-direction:column;gap:12px;display:flex}.rank-row[data-v-a8053d66]{align-items:center;gap:10px;display:flex}.rank-no[data-v-a8053d66]{color:#64748b;background:#e2e8f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:flex}.rank-no.top3[data-v-a8053d66]{background:var(--primary);color:#fff}.rank-icon[data-v-a8053d66]{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;display:flex}.rank-mid[data-v-a8053d66]{flex:1;min-width:0}.rank-top-row[data-v-a8053d66]{justify-content:space-between;margin-bottom:5px;display:flex}.rank-name[data-v-a8053d66]{color:#334155;font-size:13px;font-weight:600}.rank-pct[data-v-a8053d66]{color:#94a3b8;font-size:12px}.rank-bar-bg[data-v-a8053d66]{background:#f1f5f9;border-radius:3px;height:6px;overflow:hidden}.rank-bar-fill[data-v-a8053d66]{border-radius:3px;height:100%;transition:width .4s}.rank-amt[data-v-a8053d66]{color:#1e293b;text-align:right;flex-shrink:0;min-width:64px;font-size:13px;font-weight:700}.chart-box[data-v-a8053d66]{width:100%;height:220px}.fab[data-v-a8053d66]{color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;transition:transform .15s,box-shadow .15s;display:flex}.fab[data-v-a8053d66]:hover{transform:scale(1.08)}.fab[data-v-a8053d66]:active{transform:scale(.94)}.fab-add[data-v-a8053d66]{z-index:100;background:var(--primary);cursor:grab;touch-action:none;position:fixed;box-shadow:0 4px 20px #4a9eff80}.fab-add[data-v-a8053d66]:hover{box-shadow:0 6px 24px #4a9eff8c}.fab-add[data-v-a8053d66]:active{cursor:grabbing}.settings-mask[data-v-a8053d66]{z-index:11000;background:#0000004d;justify-content:flex-end;align-items:flex-start;padding:68px 16px 0;display:flex;position:fixed;inset:0}@media (width>=768px){.settings-mask[data-v-a8053d66]{padding-left:calc(var(--sidebar-mini) + 16px)}}@media (width>=1200px){.settings-mask[data-v-a8053d66]{padding-left:calc(var(--sidebar-width) + 16px)}}.settings-popup[data-v-a8053d66]{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 8px 30px #00000026}.settings-item[data-v-a8053d66]{cursor:pointer;color:#334155;background:0 0;border:none;border-bottom:1px solid #f1f5f9;align-items:center;gap:10px;width:160px;padding:14px 20px;font-size:14px;font-weight:600;display:flex}.settings-item[data-v-a8053d66]:last-child{border-bottom:none}.settings-item[data-v-a8053d66]:hover{background:#f8fafc}.qp[data-v-a8053d66],.cm[data-v-a8053d66]{inset:0;bottom:var(--nav-height);z-index:400;background:#f8fafc;flex-direction:column;display:flex;position:fixed}@media (width>=768px){.qp[data-v-a8053d66],.cm[data-v-a8053d66]{left:var(--sidebar-mini);bottom:0}}@media (width>=1200px){.qp[data-v-a8053d66],.cm[data-v-a8053d66]{left:var(--sidebar-width)}}.qp-top[data-v-a8053d66],.cm-top[data-v-a8053d66]{background:#fff;border-bottom:1px solid #f1f5f9;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 16px 10px;display:flex}.qp-top-title[data-v-a8053d66]{color:#1e293b;font-size:16px;font-weight:700}.qp-close-btn[data-v-a8053d66]{cursor:pointer;color:#94a3b8;background:0 0;border:none;border-radius:8px;padding:4px;display:flex}.qp-close-btn[data-v-a8053d66]:hover{color:#475569;background:#f1f5f9}.entry-type-bar[data-v-a8053d66]{background:#fff;border-bottom:1px solid #f1f5f9;flex-shrink:0;display:flex}.etype-btn[data-v-a8053d66]{cursor:pointer;color:#64748b;background:0 0;border:none;border-bottom:2.5px solid #0000;flex:1;padding:10px 0;font-size:14px;font-weight:600;transition:all .15s}.etype-btn.active[data-v-a8053d66]{color:var(--primary);border-bottom-color:var(--primary)}.etype-btn.transfer.active[data-v-a8053d66]{color:#8b5cf6;border-bottom-color:#8b5cf6}.qp-amount-area[data-v-a8053d66]{background:#fff;border-bottom:1px solid #f1f5f9;flex-shrink:0;padding:12px 20px 14px}.qp-amount-row[data-v-a8053d66]{align-items:baseline;gap:4px;margin-bottom:10px;display:flex}.qp-currency[data-v-a8053d66]{color:#94a3b8;font-size:24px;font-weight:600}.qp-amount-num[data-v-a8053d66]{color:#1e293b;letter-spacing:-1px;border-bottom:3px solid var(--primary);min-width:40px;padding-bottom:2px;font-size:42px;font-weight:800;line-height:1.1;transition:border-color .15s}.qp-amount-num.error[data-v-a8053d66]{border-color:#ef4444}.qp-date-row[data-v-a8053d66]{gap:8px;display:flex}.qp-date-input[data-v-a8053d66],.qp-note-input[data-v-a8053d66]{color:#475569;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:8px;outline:none;height:34px;padding:0 10px;font-family:inherit;font-size:13px;transition:border-color .15s}.qp-date-input[data-v-a8053d66]:focus,.qp-note-input[data-v-a8053d66]:focus{border-color:var(--primary)}.qp-date-input[data-v-a8053d66]{flex:0 0 130px}.qp-note-input[data-v-a8053d66]{flex:1}.qp-error[data-v-a8053d66]{color:#ef4444;margin-top:6px;font-size:12px}.transfer-acc-area[data-v-a8053d66]{background:#fff;border-bottom:1px solid #f1f5f9;flex-shrink:0;max-height:200px;padding:12px 16px;overflow-y:auto}.tacc-label[data-v-a8053d66]{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:11px;font-weight:700}.tacc-list[data-v-a8053d66]{flex-wrap:wrap;gap:6px;display:flex}.tacc-btn[data-v-a8053d66]{color:#475569;cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;padding:6px 12px;font-size:13px;font-weight:500;transition:all .15s}.tacc-btn.active[data-v-a8053d66]{border-color:var(--primary);color:var(--primary);background:#eff6ff;font-weight:700}.qp-cats[data-v-a8053d66]{background:#fff;border-bottom:1px solid #f1f5f9;flex-shrink:0;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:6px;max-height:150px;padding:12px;display:grid;overflow-y:auto}.qp-cat-btn[data-v-a8053d66]{cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:5px;padding:4px 0;transition:transform .12s;display:flex}.qp-cat-btn[data-v-a8053d66]:active{transform:scale(.9)}.qp-cat-icon[data-v-a8053d66]{border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;transition:all .18s;display:flex}.qp-cat-label[data-v-a8053d66]{color:#94a3b8;white-space:nowrap;font-size:10px;font-weight:500}.qp-cat-label.active-label[data-v-a8053d66]{color:var(--primary);font-weight:700}.qp-cat-add-btn .qp-cat-icon[data-v-a8053d66]{color:#64748b;font-size:20px;font-weight:400}.qp-cat-add-btn:hover .qp-cat-icon[data-v-a8053d66]{color:var(--primary);background:#e0e7ff!important}.qp-new-cat-form[data-v-a8053d66]{background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-shrink:0;padding:10px 12px}.qp-new-cat-emojis[data-v-a8053d66]{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.qp-new-cat-emoji-btn[data-v-a8053d66]{cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;font-size:15px;transition:all .12s;display:flex}.qp-new-cat-emoji-btn.active[data-v-a8053d66]{border-color:var(--primary);background:#eff6ff}.qp-new-cat-row[data-v-a8053d66]{align-items:center;gap:8px;display:flex}.qp-new-cat-preview[data-v-a8053d66]{text-align:center;flex-shrink:0;width:28px;font-size:22px}.qp-new-cat-input[data-v-a8053d66]{color:#1e293b;background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;outline:none;flex:1;height:32px;padding:0 10px;font-family:inherit;font-size:13px;transition:border-color .15s}.qp-new-cat-input[data-v-a8053d66]:focus{border-color:var(--primary)}.qp-new-cat-save[data-v-a8053d66]{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;flex-shrink:0;height:32px;padding:0 12px;font-size:13px;font-weight:600}.qp-new-cat-save[data-v-a8053d66]:disabled{opacity:.5;cursor:default}.qp-new-cat-cancel[data-v-a8053d66]{color:#94a3b8;cursor:pointer;background:0 0;border:1.5px solid #e2e8f0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;display:flex}.qp-subcats[data-v-a8053d66]{background:#eff6ff;border-bottom:1px solid #dbeafe;flex-wrap:wrap;flex-shrink:0;gap:6px;padding:8px 12px;display:flex}.qp-subcat-btn[data-v-a8053d66]{color:#475569;cursor:pointer;background:#fff;border:1.5px solid #bfdbfe;border-radius:20px;padding:5px 12px;font-size:12px;font-weight:500;transition:all .15s}.qp-acc-row[data-v-a8053d66]{background:#fff;border-bottom:1px solid #f1f5f9;flex-wrap:wrap;flex-shrink:0;gap:6px;padding:8px 12px;display:flex}.qacc-btn[data-v-a8053d66]{color:#475569;cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;padding:5px 12px;font-size:12px;font-weight:500;transition:all .15s}.qacc-btn.active[data-v-a8053d66]{border-color:var(--primary);color:var(--primary);background:#eff6ff;font-weight:700}.qp-keyboard[data-v-a8053d66]{background:#e2e8f0;border-top:1px solid #e2e8f0;flex:1;grid-template-columns:3fr 1fr;gap:1px;min-height:0;display:grid}.qp-kb-left[data-v-a8053d66]{background:#e2e8f0;grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(3,1fr);gap:1px;height:100%;display:grid}.qp-kb-right[data-v-a8053d66]{background:#e2e8f0;flex-direction:column;gap:1px;height:100%;display:flex}.qp-kb-key[data-v-a8053d66]{cursor:pointer;color:#1e293b;background:#fff;border:none;justify-content:center;align-items:center;min-height:38px;font-size:18px;font-weight:500;transition:background 80ms;display:flex}.qp-kb-key[data-v-a8053d66]:active{background:#f1f5f9}.qp-kb-del[data-v-a8053d66]{color:#64748b;background:#f8fafc;flex-shrink:0;font-size:20px}.qp-kb-ok[data-v-a8053d66]{background:var(--primary);color:#fff;flex:1;font-size:14px;font-weight:700}.qp-kb-ok[data-v-a8053d66]:active{background:var(--primary-dark)}.qp-kb-ok.disabled[data-v-a8053d66]{cursor:not-allowed;background:#93c5fd}.qp-kb-plus[data-v-a8053d66]{color:var(--primary);background:#eff6ff;flex-shrink:0;font-size:22px}.cm-body[data-v-a8053d66]{flex:1;padding:16px;overflow-y:auto}.cm-section-title[data-v-a8053d66]{color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;font-size:12px;font-weight:700}.cm-cat-list[data-v-a8053d66]{flex-direction:column;gap:2px;display:flex}.cm-cat-row[data-v-a8053d66]{background:#fff;border-radius:12px;align-items:center;gap:10px;margin-bottom:4px;padding:10px 14px;display:flex}.cm-subcat-row[data-v-a8053d66]{margin-left:16px}.cm-cat-icon[data-v-a8053d66]{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.cm-cat-name[data-v-a8053d66]{color:#1e293b;flex:1;font-size:14px;font-weight:600}.cm-cat-sub-name[data-v-a8053d66]{color:#64748b;font-size:13px;font-weight:500}.cm-cat-name-wrap[data-v-a8053d66]{flex-direction:column;flex:1;display:flex}.cm-cat-sub[data-v-a8053d66]{color:#94a3b8;font-size:11px}.cm-acc-bal[data-v-a8053d66]{color:#1e293b;flex-shrink:0;font-size:13px;font-weight:700}.cm-acc-bal.neg[data-v-a8053d66]{color:#ef4444}.cm-del-btn[data-v-a8053d66]{cursor:pointer;color:#cbd5e1;background:0 0;border:none;border-radius:6px;padding:4px;display:flex}.cm-del-btn[data-v-a8053d66]:hover{color:#ef4444}.cm-sort-btns[data-v-a8053d66]{gap:2px;display:flex}.cm-sort-btn[data-v-a8053d66]{cursor:pointer;color:#64748b;background:0 0;border:1px solid #e2e8f0;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:13px;transition:all .12s;display:flex}.cm-sort-btn[data-v-a8053d66]:hover:not(:disabled){color:var(--primary);background:#eff6ff;border-color:#93c5fd}.cm-sort-btn[data-v-a8053d66]:disabled{opacity:.25;cursor:default}.cat-type-tabs[data-v-a8053d66]{gap:4px;margin-bottom:12px;display:flex}.cat-type-tab[data-v-a8053d66]{cursor:pointer;color:#64748b;background:#e2e8f0;border:none;border-radius:8px;flex:1;padding:8px 0;font-size:13px;font-weight:600;transition:all .15s}.cat-type-tab.active[data-v-a8053d66]{background:var(--primary);color:#fff}.cm-add-form[data-v-a8053d66]{background:#fff;border-radius:16px;padding:14px 16px}.cm-field-label[data-v-a8053d66]{color:#64748b;margin-bottom:8px;font-size:12px;font-weight:600}.cm-emoji-grid[data-v-a8053d66]{grid-template-columns:repeat(10,1fr);gap:6px;display:grid}.cm-emoji-btn[data-v-a8053d66]{aspect-ratio:1;cursor:pointer;background:#f1f5f9;border:2px solid #0000;border-radius:10px;justify-content:center;align-items:center;width:100%;font-size:18px;transition:all .15s;display:flex}.cm-emoji-btn.active[data-v-a8053d66]{border-color:var(--primary);background:#eff6ff}.cm-color-row[data-v-a8053d66]{flex-wrap:wrap;gap:8px;display:flex}.cm-color-dot[data-v-a8053d66]{cursor:pointer;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:transform .15s;display:flex}.cm-color-dot.active[data-v-a8053d66]{border-color:#1e293b;transform:scale(1.15)}.cat-parent-row[data-v-a8053d66]{flex-wrap:wrap;gap:6px;margin-bottom:4px;display:flex}.cat-parent-btn[data-v-a8053d66]{cursor:pointer;color:#475569;background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;padding:5px 12px;font-size:12px;transition:all .15s}.cat-parent-btn.active[data-v-a8053d66]{border-color:var(--primary);color:var(--primary);background:#eff6ff;font-weight:700}.cm-name-row[data-v-a8053d66]{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cm-preview-icon[data-v-a8053d66]{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex}.cm-name-input[data-v-a8053d66]{color:#1e293b;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;outline:none;flex:100px;min-width:0;height:38px;padding:0 12px;font-family:inherit;font-size:14px}.cm-name-input[data-v-a8053d66]:focus{border-color:var(--primary)}.cm-bal-input[data-v-a8053d66]{color:#1e293b;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;outline:none;flex:80px;width:90px;min-width:0;height:38px;padding:0 10px;font-family:inherit;font-size:14px}.cm-add-btn[data-v-a8053d66]{background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:10px;height:38px;padding:0 16px;font-size:14px;font-weight:700}.cm-add-btn[data-v-a8053d66]:hover{background:var(--primary-dark)}.cm-add-btn[data-v-a8053d66]:disabled{cursor:not-allowed;background:#93c5fd}.acc-type-grid[data-v-a8053d66]{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.acc-type-btn[data-v-a8053d66]{cursor:pointer;color:#475569;background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;font-size:12px;transition:all .15s;display:flex}.acc-type-btn span[data-v-a8053d66]:first-child{font-size:22px}.acc-type-btn.active[data-v-a8053d66]{border-color:var(--primary);color:var(--primary);background:#eff6ff;font-weight:700}.slide-up-enter-from[data-v-a8053d66],.slide-up-leave-to[data-v-a8053d66]{transform:translateY(100%)}.fade-enter-active[data-v-a8053d66],.fade-leave-active[data-v-a8053d66]{transition:opacity .2s}.fade-enter-from[data-v-a8053d66],.fade-leave-to[data-v-a8053d66]{opacity:0}.reimb-row[data-v-a8053d66]{margin-top:8px}.reimb-toggle[data-v-a8053d66]{color:#64748b;cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;align-items:center;gap:5px;padding:4px 12px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.reimb-toggle.active[data-v-a8053d66]{color:#b45309;background:#fef3c7;border-color:#f59e0b;font-weight:700}.rec-reimb-tag[data-v-a8053d66]{color:#b45309;cursor:pointer;background:#fef3c7;border:1px solid #fde68a;border-radius:20px;padding:1px 6px;font-size:10px;transition:all .15s}.rec-reimb-tag.reimbursed[data-v-a8053d66]{color:#15803d;background:#dcfce7;border-color:#bbf7d0}.rec-import-tag[data-v-a8053d66]{white-space:nowrap;border:1px solid;border-radius:20px;padding:1px 6px;font-size:10px}.rec-import-tag.wechat[data-v-a8053d66]{color:#059669;background:#dcfce7;border-color:#a7f3d0}.rec-import-tag.alipay[data-v-a8053d66]{color:var(--primary-dark);background:#dbeafe;border-color:#bfdbfe}.rec-import-tag.cmb[data-v-a8053d66]{color:#c0392b;background:#fee4e2;border-color:#f5c6bd}.rec-import-tag.debt-tag[data-v-a8053d66]{color:#b45309;background:#fef3c7;border-color:#fde68a}.rec-import-tag.payoff-tag[data-v-a8053d66]{color:#dc2626;letter-spacing:.02em;background:#fee2e2;border-color:#fecaca;font-weight:700}.r-card-title[data-v-a8053d66]{justify-content:space-between;align-items:center;display:flex}.r-card-action[data-v-a8053d66]{color:var(--primary);cursor:pointer;background:0 0;border:none;font-size:12px;font-weight:600}.budget-row[data-v-a8053d66]{margin-bottom:12px}.budget-row[data-v-a8053d66]:last-child{margin-bottom:0}.budget-row-top[data-v-a8053d66]{justify-content:space-between;margin-bottom:5px;display:flex}.budget-label[data-v-a8053d66]{color:#334155;font-size:13px;font-weight:600}.budget-vals[data-v-a8053d66]{color:#64748b;font-size:12px}.budget-bar-bg[data-v-a8053d66]{background:#f1f5f9;border-radius:4px;height:8px;overflow:hidden}.budget-bar-fill[data-v-a8053d66]{background:var(--primary);border-radius:4px;height:100%;transition:width .4s}.budget-bar-fill.warning[data-v-a8053d66]{background:#f59e0b}.budget-bar-fill.danger[data-v-a8053d66]{background:#ef4444}.budget-pct[data-v-a8053d66]{color:#64748b;align-items:center;gap:4px;margin-top:3px;font-size:11px;display:flex}.budget-pct.warning[data-v-a8053d66]{color:#b45309}.budget-pct.danger[data-v-a8053d66]{color:#dc2626}.budget-alert[data-v-a8053d66]{font-size:11px}.reimb-summary[data-v-a8053d66]{background:#f8fafc;border-radius:12px;align-items:center;margin-bottom:12px;padding:12px 16px;display:flex}.reimb-sum-item[data-v-a8053d66]{flex-direction:column;flex:1;align-items:center;gap:3px;display:flex}.reimb-sum-label[data-v-a8053d66]{color:#64748b;font-size:11px}.reimb-sum-val[data-v-a8053d66]{font-size:16px;font-weight:700}.reimb-sum-val.pending[data-v-a8053d66]{color:#f59e0b}.reimb-sum-val.done[data-v-a8053d66]{color:#10b981}.reimb-sum-divider[data-v-a8053d66]{background:#e2e8f0;width:1px;height:32px}.reimb-list[data-v-a8053d66]{flex-direction:column;gap:6px;display:flex}.reimb-item[data-v-a8053d66]{border-top:1px solid #f1f5f9;align-items:center;gap:8px;padding:8px 0;display:flex}.reimb-item-icon[data-v-a8053d66]{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:flex}.reimb-item-info[data-v-a8053d66]{flex:1}.reimb-item-cat[data-v-a8053d66]{color:#1e293b;font-size:13px;font-weight:600;display:block}.reimb-item-date[data-v-a8053d66]{color:#94a3b8;font-size:11px}.reimb-item-amt[data-v-a8053d66]{color:#1e293b;flex-shrink:0;font-size:13px;font-weight:700}.reimb-item-btn[data-v-a8053d66]{color:#64748b;cursor:pointer;white-space:nowrap;background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;flex-shrink:0;padding:3px 10px;font-size:11px;transition:all .15s}.reimb-item-btn.done[data-v-a8053d66]{color:#15803d;background:#dcfce7;border-color:#bbf7d0}.search-row[data-v-a8053d66]{flex-direction:column;gap:8px;margin-bottom:10px;display:flex}.search-input-wrap[data-v-a8053d66]{background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;align-items:center;gap:6px;height:38px;padding:0 10px;transition:border-color .15s;display:flex}.search-input-wrap[data-v-a8053d66]:focus-within{border-color:var(--primary)}.search-icon[data-v-a8053d66]{color:#94a3b8;flex-shrink:0}.search-input[data-v-a8053d66]{color:#1e293b;background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:14px}.search-input[data-v-a8053d66]::placeholder{color:#cbd5e1}.search-clear[data-v-a8053d66]{cursor:pointer;color:#94a3b8;background:0 0;border:none;border-radius:4px;padding:2px;display:flex}.search-clear[data-v-a8053d66]:hover{color:#475569}.filter-chips[data-v-a8053d66]{gap:6px;display:flex}.filter-chip[data-v-a8053d66]{color:#64748b;cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;padding:5px 14px;font-size:12px;font-weight:500;transition:all .15s}.filter-chip.active[data-v-a8053d66]{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:700}.profile-grid[data-v-a8053d66]{grid-template-columns:1fr 1fr;gap:12px;display:grid}.profile-item[data-v-a8053d66]{background:#f8fafc;border-radius:12px;flex-direction:column;gap:4px;padding:12px;display:flex}.profile-label[data-v-a8053d66]{color:#94a3b8;font-size:11px}.profile-val[data-v-a8053d66]{color:#1e293b;font-size:17px;font-weight:800}.profile-val.expense[data-v-a8053d66]{color:#ef4444}.profile-sub[data-v-a8053d66]{color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.hist-chart-wrap[data-v-a8053d66]{position:relative}.hist-loading[data-v-a8053d66]{color:#94a3b8;justify-content:center;align-items:center;font-size:13px;display:flex;position:absolute;inset:0}.hist-view-toggle[data-v-a8053d66]{gap:4px;display:flex}.hvt-btn[data-v-a8053d66]{color:#64748b;cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:600;transition:all .15s}.hvt-btn.active[data-v-a8053d66]{background:var(--primary);border-color:var(--primary);color:#fff}.reminder-banner[data-v-a8053d66]{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1.5px solid #bfdbfe;border-radius:14px;align-items:center;gap:10px;margin-bottom:10px;padding:12px 14px;display:flex}.reminder-icon[data-v-a8053d66]{flex-shrink:0;font-size:22px}.reminder-text[data-v-a8053d66]{flex:1}.reminder-title[data-v-a8053d66]{color:var(--primary-light);font-size:13px;font-weight:700}.reminder-sub[data-v-a8053d66]{color:#3b82f6;margin-top:2px;font-size:11px}.reminder-add[data-v-a8053d66]{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:20px;flex-shrink:0;padding:6px 14px;font-size:12px;font-weight:700}.reminder-close[data-v-a8053d66]{cursor:pointer;color:#93c5fd;background:0 0;border:none;flex-shrink:0;padding:2px;display:flex}.annual-btn-wrap[data-v-a8053d66]{flex-direction:column;align-items:center;gap:6px;padding:20px 16px 8px;display:flex}.annual-btn[data-v-a8053d66]{background:var(--gradient-brand);color:#fff;cursor:pointer;border:none;border-radius:14px;width:100%;max-width:360px;padding:14px 32px;font-size:15px;font-weight:700;transition:opacity .15s,transform .15s;box-shadow:0 4px 16px #4a9eff59}.annual-btn[data-v-a8053d66]:hover{opacity:.92;transform:translateY(-1px)}.annual-btn[data-v-a8053d66]:disabled{opacity:.6;cursor:not-allowed;transform:none}.annual-btn-hint[data-v-a8053d66]{color:#94a3b8;font-size:12px}.annual-modal-mask[data-v-a8053d66]{z-index:500;background:#000000b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.annual-modal[data-v-a8053d66]{background:var(--primary-text-dark);border-radius:20px;flex-direction:column;width:100%;max-width:400px;display:flex;overflow:hidden;box-shadow:0 20px 60px #00000080}.annual-modal-top[data-v-a8053d66]{justify-content:space-between;align-items:center;padding:14px 16px 10px;display:flex}.annual-modal-title[data-v-a8053d66]{color:#fff;font-size:16px;font-weight:700}.annual-canvas-wrap[data-v-a8053d66]{min-height:200px;position:relative}.annual-loading[data-v-a8053d66]{color:#fff9;justify-content:center;align-items:center;font-size:14px;display:flex;position:absolute;inset:0}.annual-canvas[data-v-a8053d66]{width:100%;display:block}.annual-modal-footer[data-v-a8053d66]{border-top:1px solid #ffffff1a;justify-content:center;padding:14px 16px;display:flex}.annual-dl-btn[data-v-a8053d66]{color:#fff;cursor:pointer;background:#ffffff26;border:1.5px solid #ffffff4d;border-radius:12px;padding:10px 28px;font-size:14px;font-weight:700;transition:background .15s}.annual-dl-btn[data-v-a8053d66]:hover{background:#ffffff40}.imp-mask[data-v-a8053d66]{z-index:11000;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (width>=480px){.imp-mask[data-v-a8053d66]{align-items:center}}.imp-panel[data-v-a8053d66]{background:var(--bg-card);width:100%;max-width:480px;padding-bottom:env(safe-area-inset-bottom,0px);border-radius:20px 20px 0 0;flex-direction:column;gap:0;display:flex}@media (width>=480px){.imp-panel[data-v-a8053d66]{border-radius:20px}}.imp-header[data-v-a8053d66]{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px 14px;display:flex}.imp-title[data-v-a8053d66]{color:var(--text-primary);font-size:16px;font-weight:700}.imp-close[data-v-a8053d66]{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:8px;padding:4px;transition:color .15s;display:flex}.imp-close[data-v-a8053d66]:hover{color:var(--danger)}.imp-platform-tabs[data-v-a8053d66]{gap:6px;padding:14px 20px 0;display:flex}.imp-platform-tab[data-v-a8053d66]{border:1.5px solid var(--border);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:10px;flex:1;padding:8px 4px;font-size:13px;font-weight:500;transition:all .15s}.imp-platform-tab.active[data-v-a8053d66]{border-color:var(--primary);background:var(--primary-bg);color:var(--primary);font-weight:700}.imp-platform-tab[data-v-a8053d66]:hover:not(.active){border-color:var(--primary);color:var(--primary)}.imp-drop[data-v-a8053d66]{border:2px dashed var(--border);cursor:pointer;border-radius:14px;flex-direction:column;align-items:center;gap:8px;margin:16px 20px;padding:28px 20px 20px;transition:border-color .2s,background .2s;display:flex}.imp-drop[data-v-a8053d66]:hover,.imp-drop.has-file[data-v-a8053d66]{border-color:var(--primary);background:var(--primary-bg)}.imp-drop-icon[data-v-a8053d66]{color:var(--text-muted);transition:color .2s}.imp-drop:hover .imp-drop-icon[data-v-a8053d66],.imp-drop.has-file .imp-drop-icon[data-v-a8053d66]{color:var(--primary)}.imp-drop-hint[data-v-a8053d66]{color:var(--text-secondary);text-align:center;font-size:14px}.imp-file-name[data-v-a8053d66]{color:var(--primary);word-break:break-all;text-align:center;font-size:13px;font-weight:600}.imp-tip[data-v-a8053d66]{color:var(--text-muted);text-align:center;font-size:11px;line-height:1.5}.imp-result[data-v-a8053d66]{flex-direction:column;gap:6px;margin:0 20px 4px;display:flex}.imp-result-row[data-v-a8053d66]{align-items:center;gap:6px;font-size:13px;display:flex}.imp-success[data-v-a8053d66]{color:#059669;font-weight:600}.imp-muted[data-v-a8053d66]{color:var(--text-muted)}.imp-error[data-v-a8053d66]{color:var(--danger);background:var(--danger-light);border-radius:8px;align-items:center;gap:6px;margin:0 20px 4px;padding:8px 12px;font-size:13px;display:flex}.imp-error.imp-info[data-v-a8053d66]{color:#059669;background:#d1fae5}.imp-footer[data-v-a8053d66]{border-top:1px solid var(--border);gap:8px;padding:14px 20px 18px;display:flex}.imp-cancel-btn[data-v-a8053d66]{border:1.5px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:10px;flex:1;padding:11px;font-size:14px;transition:border-color .15s}.imp-cancel-btn[data-v-a8053d66]:hover{border-color:var(--primary);color:var(--primary)}.imp-undo-btn[data-v-a8053d66]{color:#ef4444;cursor:pointer;background:0 0;border:1.5px solid #fca5a5;border-radius:10px;flex:1;padding:11px;font-size:14px;transition:all .15s}.imp-undo-btn[data-v-a8053d66]:hover:not(:disabled){background:#fef2f2}.imp-undo-btn[data-v-a8053d66]:disabled{opacity:.45;cursor:not-allowed}.imp-confirm-btn[data-v-a8053d66]{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:10px;flex:2;padding:11px;font-size:14px;font-weight:600;transition:background .15s,opacity .15s}.imp-confirm-btn[data-v-a8053d66]:hover:not(:disabled){background:var(--primary-light)}.imp-confirm-btn[data-v-a8053d66]:disabled{opacity:.45;cursor:not-allowed}.batch-chip[data-v-a8053d66]{color:#7c3aed!important;border-color:#a78bfa!important}.batch-chip.active[data-v-a8053d66]{color:#fff!important;background:#7c3aed!important;border-color:#7c3aed!important}.batch-check[data-v-a8053d66]{flex-shrink:0;align-items:center;margin-right:8px;display:flex}.batch-checkbox[data-v-a8053d66]{border:2px solid #cbd5e1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:all .15s;display:flex}.batch-checkbox.checked[data-v-a8053d66]{background:var(--primary);border-color:var(--primary)}.rec-row.batch-selected[data-v-a8053d66]{background:#eff6ff}.batch-bar[data-v-a8053d66]{bottom:calc(var(--nav-height));border-top:1px solid var(--border);z-index:10001;background:#fff;padding:12px 16px 16px;position:fixed;left:0;right:0;box-shadow:0 -4px 20px #0000001a}.batch-bar-info[data-v-a8053d66]{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.batch-hint[data-v-a8053d66]{color:var(--text-secondary);font-size:14px}.batch-count[data-v-a8053d66]{color:var(--primary);font-size:14px;font-weight:600}.batch-cancel[data-v-a8053d66]{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 10px;font-size:13px}.batch-cancel[data-v-a8053d66]:hover{background:var(--bg-secondary)}.batch-rule-toggle[data-v-a8053d66]{color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;margin-bottom:10px;font-size:13px;display:flex}.batch-rule-toggle input[type=checkbox][data-v-a8053d66]{accent-color:var(--primary);width:15px;height:15px}.batch-cat-grid[data-v-a8053d66]{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.batch-cat-btn[data-v-a8053d66]{border:1.5px solid var(--border);cursor:pointer;text-align:center;background:#fff;border-radius:10px;padding:8px 4px;font-size:13px;transition:all .15s}.batch-cat-btn[data-v-a8053d66]:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:#eff6ff}.batch-cat-btn[data-v-a8053d66]:disabled{opacity:.5;cursor:not-allowed}.slide-up-enter-active[data-v-a8053d66],.slide-up-leave-active[data-v-a8053d66]{transition:transform .25s,opacity .2s}.slide-up-enter-from[data-v-a8053d66],.slide-up-leave-to[data-v-a8053d66]{opacity:0;transform:translateY(100%)}.beach-page[data-v-f9f66a2e]{background:var(--bg);min-height:100vh;padding-bottom:calc(var(--nav-height) + 24px)}.beach-header[data-v-f9f66a2e]{z-index:50;background:var(--gradient-brand);border-bottom:1px solid #ffffff1f;flex-direction:column;justify-content:center;align-items:center;gap:1px;height:52px;display:flex;position:sticky;top:0}.beach-sub[data-v-f9f66a2e]{color:#ffffffbf;letter-spacing:.3px;font-size:11px}.beach-logo[data-v-f9f66a2e]{color:#fff;letter-spacing:.5px;text-shadow:0 1px 4px #0000001f;font-size:17px;font-weight:700}.beach-body[data-v-f9f66a2e]{padding:8px 6px 0}.channel-tabs[data-v-f9f66a2e]{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:6px;padding:8px 8px 4px;display:flex;overflow-x:auto}.channel-tabs[data-v-f9f66a2e]::-webkit-scrollbar{display:none}.channel-tab[data-v-f9f66a2e]{border:1.5px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:999px;flex-shrink:0;align-items:center;gap:4px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.channel-tab.active[data-v-f9f66a2e]{background:var(--gradient-brand);color:#fff;border-color:#0000}.sort-tabs[data-v-f9f66a2e]{gap:8px;padding:4px 8px 8px;display:flex}.sort-tab[data-v-f9f66a2e]{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:600}.sort-tab.active[data-v-f9f66a2e]{background:var(--primary-bg);border-color:var(--primary-border);color:var(--primary)}.waterfall[data-v-f9f66a2e]{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}@media (width>=600px){.waterfall[data-v-f9f66a2e]{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}}@media (width>=1024px){.waterfall[data-v-f9f66a2e]{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}}.beach-card[data-v-f9f66a2e]{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;width:100%;box-shadow:var(--shadow-sm);border-radius:12px;flex-direction:column;margin-bottom:0;transition:transform .15s;display:flex;overflow:hidden}.beach-card[data-v-f9f66a2e]:active{transform:scale(.98)}.card-cover[data-v-f9f66a2e]{flex-shrink:0;width:100%;position:relative}.cover-img[data-v-f9f66a2e]{object-fit:cover;aspect-ratio:3/4;border-radius:12px 12px 0 0;width:100%;display:block}.cover-text-bg[data-v-f9f66a2e]{aspect-ratio:3/4;border-radius:12px 12px 0 0;justify-content:center;align-items:center;padding:16px;display:flex}.cover-text-preview[data-v-f9f66a2e]{color:#fff;text-align:center;-webkit-line-clamp:6;word-break:break-all;text-shadow:0 1px 3px #0003;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.6;display:-webkit-box;overflow:hidden}.multi-badge[data-v-f9f66a2e]{color:#fff;background:#00000080;border-radius:4px;align-items:center;gap:2px;padding:1px 5px;font-size:11px;display:flex;position:absolute;top:6px;right:6px}.card-body[data-v-f9f66a2e]{flex-direction:column;flex:1;justify-content:flex-end;padding:6px 8px 8px;display:flex}.review-badge[data-v-f9f66a2e]{color:#fff;background:#4a9effeb;border-radius:4px;padding:2px 7px;font-size:11px;font-weight:600;position:absolute;top:6px;left:6px}.review-badge.rejected[data-v-f9f66a2e]{background:#b91c1ceb}.card-title[data-v-f9f66a2e]{color:var(--text-primary);-webkit-line-clamp:2;word-break:break-all;-webkit-box-orient:vertical;margin:0 0 6px;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.card-footer[data-v-f9f66a2e]{justify-content:space-between;align-items:center;display:flex}.card-author[data-v-f9f66a2e]{align-items:center;gap:4px;min-width:0;display:flex}.card-avatar[data-v-f9f66a2e]{background:var(--gradient-brand);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:10px;font-weight:700;display:flex}.card-name[data-v-f9f66a2e]{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:60px;font-size:11px;overflow:hidden}.card-right[data-v-f9f66a2e]{flex-shrink:0;align-items:center;gap:2px;display:flex}.card-cheer[data-v-f9f66a2e]{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;align-items:center;gap:2px;padding:2px 4px;font-size:11px;transition:color .15s,transform .15s;display:flex}.card-cheer.cheered[data-v-f9f66a2e]{color:var(--primary);transform:scale(1.05)}.cheer-emoji[data-v-f9f66a2e]{font-size:13px;line-height:1}.card-react[data-v-f9f66a2e]{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;align-items:center;gap:2px;padding:2px 4px;font-size:11px;transition:color .15s,transform .15s;display:flex}.card-react.active[data-v-f9f66a2e]{color:#f59e0b;transform:scale(1.05)}.card-react.resonate.active[data-v-f9f66a2e]{color:var(--primary)}.pinned-badge[data-v-f9f66a2e]{color:#fff;z-index:2;background:#f97316eb;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700;position:absolute;top:8px;left:8px}.card-comment[data-v-f9f66a2e]{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;align-items:center;gap:2px;padding:2px 4px;font-size:11px;transition:color .15s;display:flex}.card-comment[data-v-f9f66a2e]:hover{color:var(--primary)}.card-del[data-v-f9f66a2e]{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;padding:2px 4px;transition:color .15s;display:flex}.card-del[data-v-f9f66a2e]:hover{color:var(--danger)}.empty-state[data-v-f9f66a2e]{text-align:center;color:var(--text-muted);padding:60px 20px}.empty-icon[data-v-f9f66a2e]{margin-bottom:12px;font-size:48px}.empty-state p[data-v-f9f66a2e]{margin:0;font-size:14px}.feed-footer[data-v-f9f66a2e]{text-align:center;padding:20px 0 8px}.load-more[data-v-f9f66a2e]{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:20px;padding:7px 28px;font-size:13px}.load-more[data-v-f9f66a2e]:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-bg)}.feed-hint[data-v-f9f66a2e]{color:var(--text-muted);margin:0;font-size:12px}.fab[data-v-f9f66a2e]{bottom:calc(var(--nav-height) + 20px);background:var(--gradient-brand);color:#fff;cursor:pointer;z-index:100;border:none;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;transition:transform .15s,box-shadow .15s;display:flex;position:fixed;right:20px;box-shadow:0 4px 18px #4a9eff59}.fab[data-v-f9f66a2e]:hover{transform:scale(1.08);box-shadow:0 6px 24px #4a9eff73}.fab[data-v-f9f66a2e]:active{transform:scale(.95)}@media (width>=768px){.fab[data-v-f9f66a2e]{bottom:28px}}.compose-mask[data-v-f9f66a2e]{z-index:10001;background:#00000073;position:fixed;inset:0}.compose-panel[data-v-f9f66a2e]{background:var(--bg-card);z-index:10002;max-height:92vh;padding-bottom:env(safe-area-inset-bottom,16px);border-radius:18px 18px 0 0;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}@media (width>=768px){.compose-panel[data-v-f9f66a2e]{left:var(--sidebar-mini)}}@media (width>=1200px){.compose-panel[data-v-f9f66a2e]{left:var(--sidebar-width);border-radius:18px;max-width:560px;margin:0 auto;bottom:48px}}.compose-header[data-v-f9f66a2e]{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px 12px;display:flex}.compose-cancel[data-v-f9f66a2e]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:15px}.compose-cancel[data-v-f9f66a2e]:hover{color:var(--text-primary)}.compose-title[data-v-f9f66a2e]{color:var(--text-primary);font-size:16px;font-weight:700}.compose-publish[data-v-f9f66a2e]{background:var(--gradient-brand);color:#fff;cursor:pointer;border:none;border-radius:20px;padding:6px 18px;font-size:14px;font-weight:600;transition:opacity .15s}.compose-publish[data-v-f9f66a2e]:disabled{opacity:.4;cursor:not-allowed}.compose-images[data-v-f9f66a2e]{grid-template-columns:repeat(3,1fr);gap:6px;padding:14px 16px 10px;display:grid}.cimg-item[data-v-f9f66a2e]{aspect-ratio:1;background:#f5f5f5;border-radius:8px;position:relative;overflow:hidden}.cimg-thumb[data-v-f9f66a2e]{object-fit:cover;width:100%;height:100%;display:block}.cimg-mask[data-v-f9f66a2e]{background:#00000061;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.spinner[data-v-f9f66a2e]{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:22px;height:22px;animation:.7s linear infinite spin-f9f66a2e}@keyframes spin-f9f66a2e{to{transform:rotate(360deg)}}.cimg-error[data-v-f9f66a2e]{color:#fff;background:#dc262699;justify-content:center;align-items:center;font-size:10px;display:flex;position:absolute;inset:0}.cimg-del[data-v-f9f66a2e]{color:#fff;cursor:pointer;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;display:flex;position:absolute;top:4px;right:4px}.cimg-add[data-v-f9f66a2e]{aspect-ratio:1;border:1.5px dashed var(--border);background:var(--bg);color:var(--text-muted);cursor:pointer;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:11px;transition:border-color .15s,color .15s;display:flex}.cimg-add[data-v-f9f66a2e]:hover{border-color:var(--primary);color:var(--primary)}.compose-textarea[data-v-f9f66a2e]{width:100%;color:var(--text-primary);resize:none;background:var(--bg-card);box-sizing:border-box;border:none;outline:none;min-height:100px;padding:4px 16px 8px;font-family:inherit;font-size:15px;line-height:1.7}.compose-textarea[data-v-f9f66a2e]::placeholder{color:var(--text-muted)}.anon-toggle[data-v-f9f66a2e]{color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;margin:0 16px 8px;font-size:13px;display:flex}.anon-toggle input[data-v-f9f66a2e]{width:16px;height:16px;accent-color:var(--primary)}.compose-error[data-v-f9f66a2e]{background:var(--danger-light);color:var(--danger);border-radius:8px;margin:0 16px 8px;padding:8px 12px;font-size:13px}.compose-count[data-v-f9f66a2e]{text-align:right;color:var(--text-muted);padding:0 16px 12px;font-size:12px}.compose-count.warn[data-v-f9f66a2e]{color:var(--warning)}.mask-enter-active[data-v-f9f66a2e],.mask-leave-active[data-v-f9f66a2e]{transition:opacity .25s}.mask-enter-from[data-v-f9f66a2e],.mask-leave-to[data-v-f9f66a2e]{opacity:0}.slide-up-enter-active[data-v-f9f66a2e],.slide-up-leave-active[data-v-f9f66a2e]{transition:transform .3s cubic-bezier(.32,.72,0,1)}.slide-up-enter-from[data-v-f9f66a2e],.slide-up-leave-to[data-v-f9f66a2e]{transform:translateY(100%)}.beach-toast[data-v-f9f66a2e]{bottom:calc(var(--nav-height) + 80px);color:#fff;z-index:200;white-space:nowrap;background:#0f172ae0;border-radius:999px;padding:10px 20px;font-size:14px;position:fixed;left:50%;transform:translate(-50%)}.toast-enter-active[data-v-f9f66a2e],.toast-leave-active[data-v-f9f66a2e]{transition:opacity .25s,transform .25s}.toast-enter-from[data-v-f9f66a2e],.toast-leave-to[data-v-f9f66a2e]{opacity:0;transform:translate(-50%)translateY(8px)}.resist-page[data-v-7ed57f1a]{padding-bottom:24px}.page-header[data-v-7ed57f1a]{max-width:var(--content-max);align-items:center;gap:8px;padding:16px;display:flex}.back-btn[data-v-7ed57f1a]{cursor:pointer;color:var(--text-primary);background:0 0;border:none;padding:0 4px;font-size:28px;line-height:1}.page-title[data-v-7ed57f1a]{align-items:center;gap:8px;margin:0;font-size:20px;font-weight:800;display:flex}.title-icon[data-v-7ed57f1a]{color:#10b981}.page-content[data-v-7ed57f1a]{max-width:var(--content-max);padding:0 16px}.summary-card[data-v-7ed57f1a]{background:linear-gradient(135deg,#ecfdf5 0%,#f0fdf4 100%);border:1px solid #bbf7d0;margin-bottom:20px;padding:18px 16px}.summary-label[data-v-7ed57f1a]{color:#059669;margin-bottom:6px;font-size:12px;font-weight:600}.summary-main[data-v-7ed57f1a]{color:var(--text-primary);font-size:17px;line-height:1.5}.summary-main strong[data-v-7ed57f1a]{font-weight:800}.summary-main .saved[data-v-7ed57f1a]{color:#059669}.summary-hint[data-v-7ed57f1a]{color:#6ee7b7;margin-top:8px;font-size:12px}.section-head[data-v-7ed57f1a]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-title[data-v-7ed57f1a]{color:var(--text-secondary);font-size:14px;font-weight:700}.add-btn[data-v-7ed57f1a]{color:#059669;cursor:pointer;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:999px;align-items:center;gap:4px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.loading-hint[data-v-7ed57f1a]{text-align:center;color:var(--text-muted);padding:24px;font-size:14px}.empty-state[data-v-7ed57f1a]{text-align:center;color:var(--text-muted);padding:40px 20px}.empty-icon[data-v-7ed57f1a]{opacity:.35;margin-bottom:12px}.empty-state p[data-v-7ed57f1a]{margin-bottom:16px;font-size:14px;line-height:1.7}.record-list[data-v-7ed57f1a]{flex-direction:column;gap:10px;display:flex}.record-card[data-v-7ed57f1a]{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.record-name[data-v-7ed57f1a]{color:var(--text-primary);margin-bottom:4px;font-size:15px;font-weight:600}.record-meta[data-v-7ed57f1a]{color:var(--text-muted);flex-wrap:wrap;gap:8px;font-size:12px;display:flex}.record-note[data-v-7ed57f1a]{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.record-right[data-v-7ed57f1a]{flex-shrink:0;align-items:center;gap:8px;display:flex}.record-amount[data-v-7ed57f1a]{color:#059669;white-space:nowrap;font-size:16px;font-weight:800}.del-btn[data-v-7ed57f1a]{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:6px;padding:4px}.del-btn[data-v-7ed57f1a]:hover{color:var(--danger);background:var(--danger-light)}.form-mask[data-v-7ed57f1a]{z-index:10001;background:#0006;position:fixed;inset:0}.form-panel[data-v-7ed57f1a]{z-index:10002;padding:20px 16px calc(env(safe-area-inset-bottom,0px) + 24px);border-radius:18px 18px 0 0;max-width:560px;margin:0 auto;position:fixed;bottom:0;left:0;right:0}@media (width>=768px){.form-panel[data-v-7ed57f1a]{left:var(--sidebar-mini)}}@media (width>=1200px){.form-panel[data-v-7ed57f1a]{left:var(--sidebar-width)}}.form-panel-title[data-v-7ed57f1a]{margin-bottom:16px;font-size:17px;font-weight:700}.form-error[data-v-7ed57f1a]{background:var(--danger-light);color:var(--danger);border-radius:8px;margin-bottom:12px;padding:8px 12px;font-size:13px}.form-group[data-v-7ed57f1a]{margin-bottom:14px}.form-actions[data-v-7ed57f1a]{gap:10px;margin-top:8px;display:flex}.form-actions .btn[data-v-7ed57f1a]{flex:1}.btn-ghost[data-v-7ed57f1a]{background:var(--bg);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:10px;padding:12px;font-weight:600}.mask-enter-active[data-v-7ed57f1a],.mask-leave-active[data-v-7ed57f1a]{transition:opacity .2s}.mask-enter-from[data-v-7ed57f1a],.mask-leave-to[data-v-7ed57f1a]{opacity:0}.slide-up-enter-active[data-v-7ed57f1a],.slide-up-leave-active[data-v-7ed57f1a]{transition:transform .25s cubic-bezier(.32,.72,0,1)}.slide-up-enter-from[data-v-7ed57f1a],.slide-up-leave-to[data-v-7ed57f1a]{transform:translateY(100%)}.growth-page[data-v-86512f47]{max-width:var(--content-max);margin:0 auto;padding:0 16px 32px}.page-header[data-v-86512f47]{align-items:center;gap:8px;padding:20px 0 12px;display:flex}.back-btn[data-v-86512f47]{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;width:36px;height:36px;color:var(--text-secondary);border-radius:10px;justify-content:center;align-items:center;display:flex}.page-title[data-v-86512f47]{color:var(--text-primary);align-items:center;gap:8px;margin:0;font-size:20px;font-weight:800;display:flex}.title-icon[data-v-86512f47]{color:var(--primary)}.loading-state[data-v-86512f47]{text-align:center;color:var(--text-muted);padding:60px}.toast[data-v-86512f47]{color:#fff;z-index:500;white-space:nowrap;background:#1e293b;border-radius:999px;padding:10px 20px;font-size:14px;font-weight:600;position:fixed;top:72px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0000002e}.toast-enter-active[data-v-86512f47],.toast-leave-active[data-v-86512f47]{transition:opacity .25s,transform .25s}.toast-enter-from[data-v-86512f47],.toast-leave-to[data-v-86512f47]{opacity:0;transform:translate(-50%)translateY(-8px)}.level-card[data-v-86512f47]{background:var(--gradient-brand);color:#fff;border-radius:20px;margin-bottom:14px;padding:20px;box-shadow:0 8px 28px #4a9eff59}.level-top[data-v-86512f47]{align-items:center;gap:14px;margin-bottom:14px;display:flex}.level-emoji[data-v-86512f47]{font-size:42px;line-height:1}.level-name[data-v-86512f47]{font-size:22px;font-weight:800}.level-sub[data-v-86512f47]{opacity:.85;margin-top:2px;font-size:13px}.progress-track[data-v-86512f47]{background:#ffffff40;border-radius:999px;height:8px;overflow:hidden}.progress-fill[data-v-86512f47]{background:#fff;border-radius:999px;height:100%;transition:width .4s}.level-hint[data-v-86512f47]{opacity:.85;margin-top:10px;font-size:12px}.habit-card[data-v-86512f47]{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;margin-bottom:20px;padding:16px}.streak-row[data-v-86512f47]{background:#fff7ed;border-radius:12px;align-items:center;gap:12px;margin-bottom:12px;padding:14px;display:flex}.streak-row.ledger-streak[data-v-86512f47]{background:#eff6ff;margin-top:12px;margin-bottom:16px}.streak-row.ledger-streak .streak-tip[data-v-86512f47]{color:var(--primary-light)}.streak-info[data-v-86512f47]{align-items:baseline;gap:5px;display:flex}.streak-num[data-v-86512f47]{color:#94a3b8;font-size:32px;font-weight:900;line-height:1}.streak-num.hot[data-v-86512f47]{color:#f97316}.streak-num.ledger.hot[data-v-86512f47]{color:var(--primary)}.streak-label[data-v-86512f47]{color:#94a3b8;font-size:12px;font-weight:600}.streak-tip[data-v-86512f47]{color:#78350f;text-align:right;flex:1;font-size:12px;font-weight:500}.checkin-btn[data-v-86512f47]{cursor:pointer;color:#fff;background:linear-gradient(135deg,#f97316,#fb923c);border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px;font-size:16px;font-weight:700;transition:opacity .15s,transform .15s;display:flex;box-shadow:0 4px 14px #f9731659}.checkin-btn[data-v-86512f47]:active:not(:disabled){transform:scale(.98)}.checkin-btn[data-v-86512f47]:disabled{opacity:.65;cursor:not-allowed}.checkin-btn.done[data-v-86512f47]{color:#64748b;box-shadow:none;background:#e2e8f0}.achieve-grid[data-v-86512f47]{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.achieve-item[data-v-86512f47]{opacity:.4;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;transition:all .2s;display:flex}.achieve-item.unlocked[data-v-86512f47]{opacity:1;background:#fffbeb;border-color:#fde68a}.achieve-emoji[data-v-86512f47]{font-size:22px}.achieve-name[data-v-86512f47]{color:#334155;text-align:center;font-size:10px;font-weight:700}.achieve-desc[data-v-86512f47]{color:#94a3b8;text-align:center;font-size:9px;line-height:1.3}.section-title[data-v-86512f47]{color:var(--text-primary);margin:0 0 10px;font-size:15px;font-weight:700}.tier-list[data-v-86512f47]{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.tier-item[data-v-86512f47]{background:var(--bg-card);border:1px solid var(--border);opacity:.65;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.tier-item.passed[data-v-86512f47]{opacity:.85}.tier-item.active[data-v-86512f47]{opacity:1;border-color:var(--primary);background:var(--primary-bg)}.tier-emoji[data-v-86512f47]{font-size:24px}.tier-body[data-v-86512f47]{flex:1}.tier-name[data-v-86512f47]{color:var(--text-primary);font-size:14px;font-weight:700}.tier-range[data-v-86512f47]{color:var(--text-muted);margin-top:1px;font-size:12px}.tier-badge[data-v-86512f47]{background:var(--primary);color:#fff;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.rule-list[data-v-86512f47]{flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.rule-item[data-v-86512f47]{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;gap:12px;padding:12px 14px;display:flex}.rule-emoji[data-v-86512f47]{flex-shrink:0;font-size:22px}.rule-title[data-v-86512f47]{color:var(--text-primary);font-size:14px;font-weight:700}.rule-desc[data-v-86512f47]{color:var(--text-muted);margin-top:2px;font-size:12px;line-height:1.5}.empty-logs[data-v-86512f47]{text-align:center;color:var(--text-muted);background:var(--bg-card);border:1px dashed var(--border);border-radius:12px;padding:24px;font-size:13px}.log-list[data-v-86512f47]{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;margin-bottom:24px;overflow:hidden}.log-item[data-v-86512f47]{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.log-item[data-v-86512f47]:last-child{border-bottom:none}.log-left[data-v-86512f47]{min-width:0}.log-type[data-v-86512f47]{color:var(--primary);background:var(--primary-bg);border-radius:4px;margin-right:6px;padding:1px 6px;font-size:11px;font-weight:700}.log-desc[data-v-86512f47]{color:var(--text-secondary);font-size:13px}.log-right[data-v-86512f47]{text-align:right;flex-shrink:0}.log-points[data-v-86512f47]{color:#f97316;font-size:15px;font-weight:800;display:block}.log-time[data-v-86512f47]{color:var(--text-muted);font-size:11px}.journal-page[data-v-bebd8923]{max-width:var(--content-max);margin:0 auto;padding:0 16px 40px}.page-header[data-v-bebd8923]{align-items:center;gap:8px;padding:20px 0 12px;display:flex}.back-btn[data-v-bebd8923]{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;width:36px;height:36px;color:var(--text-secondary);border-radius:10px;justify-content:center;align-items:center;display:flex}.page-title[data-v-bebd8923]{color:var(--text-primary);align-items:center;gap:8px;margin:0;font-size:20px;font-weight:800;display:flex}.title-icon[data-v-bebd8923]{color:#ec4899}.loading-state[data-v-bebd8923]{text-align:center;color:var(--text-muted);padding:60px}.streak-card[data-v-bebd8923]{background:linear-gradient(135deg,#fff7ed,#fffbeb);border:1.5px solid #fde68a;border-radius:16px;align-items:center;gap:14px;margin-bottom:16px;padding:16px 18px;display:flex}.streak-card.broken[data-v-bebd8923]{background:linear-gradient(135deg,#fef2f2,#fff1f2);border-color:#fecaca}.streak-body[data-v-bebd8923]{align-items:baseline;gap:4px;display:flex}.streak-num[data-v-bebd8923]{color:#94a3b8;font-size:36px;font-weight:900;line-height:1}.streak-num.hot[data-v-bebd8923]{color:#f97316}.streak-label[data-v-bebd8923]{color:#94a3b8;font-size:13px;font-weight:600}.streak-meta[data-v-bebd8923]{text-align:right;flex:1}.streak-warn[data-v-bebd8923]{color:#dc2626;font-size:13px;font-weight:700;display:block}.streak-ok[data-v-bebd8923]{color:#059669;font-size:13px;font-weight:700;display:block}.streak-sub[data-v-bebd8923]{color:#94a3b8;margin-top:2px;font-size:11px;display:block}.debt-banner[data-v-bebd8923]{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:14px;justify-content:space-around;align-items:center;margin-bottom:14px;padding:14px 8px;display:flex}.debt-banner-item[data-v-bebd8923]{flex-direction:column;flex:1;align-items:center;gap:2px;min-width:0;display:flex}.debt-banner-val[data-v-bebd8923]{color:#0284c7;font-variant-numeric:tabular-nums;font-size:16px;font-weight:800}.debt-banner-label[data-v-bebd8923]{color:#64748b;font-size:11px}.debt-banner-divider[data-v-bebd8923]{background:#bae6fd;flex-shrink:0;width:1px;height:28px}.form-card[data-v-bebd8923]{background:var(--bg-card);border:1px solid var(--border);border-radius:18px;margin-bottom:20px;padding:18px 16px}.form-section[data-v-bebd8923]{margin:0}.section-label[data-v-bebd8923]{color:var(--text-primary);margin-bottom:10px;font-size:14px;font-weight:700}.form-divider[data-v-bebd8923]{background:var(--border);height:1px;margin:16px 0}.inline-field[data-v-bebd8923]{align-items:center;gap:8px;display:flex}.field-prefix[data-v-bebd8923],.field-suffix[data-v-bebd8923]{color:var(--text-secondary);flex-shrink:0;font-size:14px}.num-input[data-v-bebd8923]{border:none;border-bottom:2px solid var(--border);min-width:0;color:var(--primary);text-align:center;background:0 0;outline:none;flex:1;padding:4px 0;font-size:22px;font-weight:800}.num-input[data-v-bebd8923]:focus{border-bottom-color:var(--primary)}.text-input[data-v-bebd8923]{box-sizing:border-box;border:1.5px solid var(--border);background:var(--bg);width:100%;color:var(--text-primary);border-radius:10px;outline:none;padding:10px 12px;font-size:15px}.text-input[data-v-bebd8923]:focus{border-color:var(--primary)}.text-input.oneliner[data-v-bebd8923]{font-size:16px;font-weight:600}.mt-8[data-v-bebd8923]{margin-top:8px}.mood-row[data-v-bebd8923]{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.mood-btn[data-v-bebd8923]{border:1.5px solid var(--border);background:var(--bg);cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;transition:all .15s;display:flex}.mood-btn.active[data-v-bebd8923]{border-color:var(--primary);background:var(--primary-bg);box-shadow:0 0 0 2px #4a9eff26}.mood-emoji[data-v-bebd8923]{font-size:26px;line-height:1}.mood-text[data-v-bebd8923]{color:var(--text-secondary);font-size:12px;font-weight:600}.mood-btn.active .mood-text[data-v-bebd8923]{color:var(--primary)}.preview-box[data-v-bebd8923]{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;margin-top:16px;padding:14px}.preview-title[data-v-bebd8923]{color:#64748b;align-items:center;gap:6px;margin-bottom:8px;font-size:12px;font-weight:700;display:flex}.preview-loading[data-v-bebd8923]{color:#94a3b8;margin-left:4px;font-weight:500}.preview-content[data-v-bebd8923]{color:#334155;white-space:pre-wrap;word-break:break-word;margin:0;font-family:inherit;font-size:13px;line-height:1.7}.submit-btn[data-v-bebd8923]{cursor:pointer;color:#fff;background:linear-gradient(135deg,#ec4899,#f472b6);border:none;border-radius:12px;width:100%;margin-top:16px;padding:14px;font-size:16px;font-weight:700;box-shadow:0 4px 14px #ec489959}.submit-btn[data-v-bebd8923]:disabled{opacity:.5;cursor:not-allowed}.history-section[data-v-bebd8923]{margin-bottom:24px}.history-title[data-v-bebd8923]{color:var(--text-primary);margin-bottom:10px;font-size:15px;font-weight:700}.history-list[data-v-bebd8923]{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;overflow:hidden}.history-item[data-v-bebd8923]{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:10px;padding:12px 14px;display:flex}.history-item[data-v-bebd8923]:last-child{border-bottom:none}.history-item[data-v-bebd8923]:active{background:var(--bg)}.history-date[data-v-bebd8923]{color:var(--text-muted);flex-shrink:0;width:72px;font-size:12px}.history-mood[data-v-bebd8923]{flex-shrink:0;font-size:18px}.history-text[data-v-bebd8923]{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:14px;overflow:hidden}.history-arrow[data-v-bebd8923]{color:var(--text-muted);flex-shrink:0}.modal-mask[data-v-bebd8923]{z-index:400;background:#00000080;position:fixed;inset:0}.encourage-modal[data-v-bebd8923]{z-index:401;text-align:center;background:#fff;border-radius:20px;width:min(340px,100vw - 32px);padding:28px 24px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 60px #0003}.encourage-mood[data-v-bebd8923]{margin-bottom:12px;font-size:48px}.encourage-text[data-v-bebd8923]{color:#334155;white-space:pre-wrap;margin:0 0 20px;font-family:inherit;font-size:15px;line-height:1.8}.encourage-btn[data-v-bebd8923]{background:var(--gradient-brand);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;padding:12px;font-size:15px;font-weight:700}.mask-enter-active[data-v-bebd8923],.mask-leave-active[data-v-bebd8923]{transition:opacity .2s}.mask-enter-from[data-v-bebd8923],.mask-leave-to[data-v-bebd8923]{opacity:0}.modal-enter-active[data-v-bebd8923],.modal-leave-active[data-v-bebd8923]{transition:opacity .25s,transform .25s}.modal-enter-from[data-v-bebd8923],.modal-leave-to[data-v-bebd8923]{opacity:0;transform:translate(-50%,-45%)}.tab-bar[data-v-bebd8923]{gap:6px;margin-bottom:14px;display:flex;overflow-x:auto}.tab-btn[data-v-bebd8923]{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:999px;flex-shrink:0;padding:7px 14px;font-size:13px;font-weight:600}.tab-btn.active[data-v-bebd8923]{color:#fff;background:#ec4899;border-color:#ec4899}.vis-row[data-v-bebd8923]{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}@media (width<=400px){.vis-row[data-v-bebd8923]{grid-template-columns:1fr}}.vis-btn[data-v-bebd8923]{border:1.5px solid var(--border);background:var(--bg);cursor:pointer;text-align:left;border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px 12px;display:flex}.vis-btn.active[data-v-bebd8923]{background:#fdf2f8;border-color:#ec4899}.vis-label[data-v-bebd8923]{color:var(--text-primary);font-size:14px;font-weight:700}.vis-desc[data-v-bebd8923]{color:var(--text-muted);font-size:11px}.panel-card[data-v-bebd8923]{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;margin-bottom:16px;padding:16px}.panel-title[data-v-bebd8923]{color:var(--text-primary);align-items:center;gap:6px;margin-bottom:14px;font-size:15px;font-weight:700;display:flex}.panel-empty[data-v-bebd8923]{text-align:center;color:var(--text-muted);padding:24px;font-size:13px}.journey-list[data-v-bebd8923]{flex-direction:column;gap:0;display:flex}.journey-node[data-v-bebd8923]{gap:12px;min-height:64px;display:flex}.journey-line[data-v-bebd8923]{flex-direction:column;align-items:center;width:16px;display:flex}.journey-dot[data-v-bebd8923]{background:#ec4899;border:2px solid #fbcfe8;border-radius:50%;flex-shrink:0;width:12px;height:12px}.journey-bar[data-v-bebd8923]{background:#fbcfe8;flex:1;width:2px;margin:4px 0}.journey-body[data-v-bebd8923]{flex:1;padding-bottom:16px}.journey-month[data-v-bebd8923]{color:var(--text-primary);font-size:14px;font-weight:700}.journey-remain[data-v-bebd8923]{color:#ec4899;margin-top:2px;font-size:16px;font-weight:800}.journey-sub[data-v-bebd8923]{color:var(--text-muted);margin-top:2px;font-size:11px}.cert-btn[data-v-bebd8923]{background:var(--gradient-brand);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;margin-top:8px;padding:12px;font-size:14px;font-weight:700}.achieve-grid[data-v-bebd8923]{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.achieve-item[data-v-bebd8923]{opacity:.45;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;display:flex}.achieve-item.unlocked[data-v-bebd8923]{opacity:1;background:#fffbeb;border-color:#fde68a}.achieve-emoji[data-v-bebd8923]{font-size:24px}.achieve-name[data-v-bebd8923]{color:#334155;text-align:center;font-size:12px;font-weight:700}.achieve-desc[data-v-bebd8923]{color:#94a3b8;text-align:center;font-size:10px;line-height:1.3}.wish-hint[data-v-bebd8923]{color:var(--text-muted);margin:0 0 12px;font-size:13px;line-height:1.6}.wish-input[data-v-bebd8923]{box-sizing:border-box;border:1.5px solid var(--border);background:var(--bg);width:100%;color:var(--text-primary);resize:vertical;border-radius:12px;margin-bottom:12px;padding:12px;font-size:15px;line-height:1.6}.encourage-modal.shore[data-v-bebd8923]{background:var(--gradient-brand);color:#fff}.encourage-modal.shore .encourage-text[data-v-bebd8923]{color:#fffffff2}.shore-badge[data-v-bebd8923]{background:#fff3;border-radius:999px;margin-bottom:12px;padding:4px 12px;font-size:12px;font-weight:700;display:inline-block}.sub-page[data-v-602d6785]{min-height:100vh;padding-bottom:calc(var(--nav-height) + 24px);background:#f1f5f9}.sub-header[data-v-602d6785]{z-index:10;background:#fff;border-bottom:1px solid #e2e8f0;align-items:center;gap:8px;padding:16px 16px 12px;display:flex;position:sticky;top:0}.back-btn[data-v-602d6785]{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:8px;align-items:center;padding:4px;display:flex}.back-btn[data-v-602d6785]:hover{background:#f1f5f9}.sub-title[data-v-602d6785]{color:#1e293b;font-size:17px;font-weight:700}.sub-body[data-v-602d6785]{max-width:var(--content-max);padding:16px}.form-card[data-v-602d6785]{padding:20px}.input-with-icon[data-v-602d6785]{position:relative}.input-icon[data-v-602d6785]{color:#94a3b8;pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.form-input.has-icon[data-v-602d6785]{padding-left:36px}.wish-area[data-v-602d6785]{resize:vertical;box-sizing:border-box;width:100%;min-height:72px;line-height:1.5}.form-msg[data-v-602d6785]{border-radius:8px;margin-bottom:12px;padding:8px 12px;font-size:13px}.form-msg.success[data-v-602d6785]{color:#059669;background:#ecfdf5}.form-msg.error[data-v-602d6785]{color:#ef4444;background:#fef2f2}.sub-page[data-v-ec694115]{min-height:100vh;padding-bottom:calc(var(--nav-height) + 24px);background:#f1f5f9}.sub-header[data-v-ec694115]{z-index:10;background:#fff;border-bottom:1px solid #e2e8f0;align-items:center;gap:8px;padding:16px 16px 12px;display:flex;position:sticky;top:0}.back-btn[data-v-ec694115]{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:8px;align-items:center;padding:4px;display:flex}.back-btn[data-v-ec694115]:hover{background:#f1f5f9}.sub-title[data-v-ec694115]{color:#1e293b;font-size:17px;font-weight:700}.sub-body[data-v-ec694115]{max-width:var(--content-max);padding:16px}.form-card[data-v-ec694115]{padding:20px}.pwd-wrap[data-v-ec694115]{position:relative}.pwd-wrap .form-input[data-v-ec694115]{padding-right:56px}.pwd-toggle[data-v-ec694115]{cursor:pointer;color:#94a3b8;background:0 0;border:none;padding:2px 4px;font-size:12px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.pwd-toggle[data-v-ec694115]:hover{color:var(--primary)}.form-msg[data-v-ec694115]{border-radius:8px;margin-bottom:12px;padding:8px 12px;font-size:13px}.form-msg.success[data-v-ec694115]{color:#059669;background:#ecfdf5}.form-msg.error[data-v-ec694115]{color:#ef4444;background:#fef2f2}.sub-page[data-v-19aa492d]{min-height:100vh;padding-bottom:calc(var(--nav-height) + 24px);background:#f1f5f9}.sub-header[data-v-19aa492d]{z-index:10;background:#fff;border-bottom:1px solid #e2e8f0;align-items:center;gap:8px;padding:16px 16px 12px;display:flex;position:sticky;top:0}.back-btn[data-v-19aa492d]{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:8px;align-items:center;padding:4px;display:flex}.back-btn[data-v-19aa492d]:hover{background:#f1f5f9}.sub-title[data-v-19aa492d]{color:#1e293b;font-size:17px;font-weight:700}.sub-body[data-v-19aa492d]{max-width:var(--content-max);padding:16px}.lock-card[data-v-19aa492d]{flex-direction:column;gap:0;padding:20px;display:flex}.lock-row[data-v-19aa492d]{justify-content:space-between;align-items:center;gap:12px;padding:4px 0;display:flex}.lock-row-info[data-v-19aa492d]{flex:1;min-width:0}.lock-row-title[data-v-19aa492d]{color:#1e293b;font-size:14px;font-weight:600}.lock-row-sub[data-v-19aa492d]{color:#94a3b8;margin-top:1px;font-size:12px}.lock-divider[data-v-19aa492d]{background:#e2e8f0;height:1px;margin:14px 0}.lock-section-label[data-v-19aa492d]{color:#64748b;margin-bottom:10px;font-size:13px;font-weight:600}.lock-err[data-v-19aa492d]{color:#ef4444;margin:4px 0 6px;font-size:12px}.lock-credential-tag[data-v-19aa492d]{color:#10b981;margin-top:6px;font-size:12px;font-weight:600}.lk-toggle[data-v-19aa492d]{cursor:pointer;background:#cbd5e1;border-radius:13px;flex-shrink:0;width:44px;height:26px;transition:background .2s;position:relative}.lk-toggle.on[data-v-19aa492d]{background:var(--primary)}.lk-knob[data-v-19aa492d]{background:#fff;border-radius:50%;width:20px;height:20px;transition:left .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0003}.lk-toggle.on .lk-knob[data-v-19aa492d]{left:21px}.lock-method-row[data-v-19aa492d]{gap:8px;margin-bottom:12px;display:flex}.lock-method-btn[data-v-19aa492d]{color:#64748b;cursor:pointer;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;flex:1;padding:9px 0;font-size:13px;font-weight:600;transition:all .15s}.lock-method-btn.active[data-v-19aa492d]{border-color:var(--primary);color:var(--primary);background:#eff6ff}.lock-setup-btn[data-v-19aa492d]{color:var(--primary);cursor:pointer;background:0 0;border:1.5px dashed #e2e8f0;border-radius:10px;align-self:flex-start;margin-top:8px;padding:9px 16px;font-size:13px;font-weight:600}.lock-setup-btn[data-v-19aa492d]:hover{border-color:var(--primary)}.lock-cancel-btn[data-v-19aa492d]{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #e2e8f0;border-radius:8px;margin-top:10px;padding:7px 16px;font-size:13px}.pin-setup-panel[data-v-19aa492d]{flex-direction:column;align-items:center;margin-top:12px;display:flex}.pin-setup-title[data-v-19aa492d]{color:#64748b;margin-bottom:16px;font-size:13px;font-weight:600}.pin-setup-dots[data-v-19aa492d]{gap:12px;margin-bottom:4px;display:flex}.ps-dot[data-v-19aa492d]{background:0 0;border:2px solid #e2e8f0;border-radius:50%;width:13px;height:13px;transition:all .12s}.ps-dot.filled[data-v-19aa492d]{background:var(--primary);border-color:var(--primary)}.pin-setup-pad[data-v-19aa492d]{grid-template-columns:repeat(3,64px);gap:10px;margin-top:18px;display:grid}.ps-key[data-v-19aa492d]{color:#1e293b;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:22px;font-weight:300;transition:background .1s;display:flex}.ps-key[data-v-19aa492d]:active:not(:disabled){background:#eff6ff}.ps-key-del[data-v-19aa492d]{color:#94a3b8;background:0 0;border-color:#0000;font-size:18px}.ps-key-empty[data-v-19aa492d]{cursor:default;background:0 0;border:none}.ps-key[data-v-19aa492d]:disabled{opacity:0}.pattern-setup-panel[data-v-19aa492d]{flex-direction:column;align-items:center;margin-top:12px;display:flex}.ps-grid-wrap[data-v-19aa492d]{width:min(220px,70vw);margin:12px 0}.ps-grid[data-v-19aa492d]{aspect-ratio:1;touch-action:none;background:#f8fafc;border-radius:12px;width:100%;position:relative}.ps-grid-svg[data-v-19aa492d]{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.ps-node[data-v-19aa492d]{justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:absolute;transform:translate(-50%,-50%)}.ps-node-inner[data-v-19aa492d]{background:0 0;border:2px solid #e2e8f0;border-radius:50%;width:12px;height:12px;transition:all .15s}.ps-node-sel .ps-node-inner[data-v-19aa492d]{border-color:var(--primary);background:#4a9eff26;width:20px;height:20px;box-shadow:0 0 8px #4a9eff59}.lock-section-grid[data-v-19aa492d]{flex-wrap:wrap;gap:8px;margin-bottom:4px;display:flex}.lock-section-item[data-v-19aa492d]{color:#64748b;cursor:pointer;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:20px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:600;transition:all .15s;display:flex}.lock-section-item[data-v-19aa492d]:has(.lock-checkbox:checked){border-color:var(--primary);color:var(--primary);background:#eff6ff}.lock-checkbox[data-v-19aa492d]{display:none}.lock-timeout-sel[data-v-19aa492d]{color:#1e293b;cursor:pointer;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:8px;outline:none;height:32px;padding:0 8px;font-size:13px;font-weight:600}.page-header[data-v-c773a1b5]{max-width:var(--content-max);padding:20px 16px 8px}.page-title[data-v-c773a1b5]{color:var(--text-primary);align-items:center;gap:8px;font-size:20px;font-weight:800;display:flex}.text-primary-color[data-v-c773a1b5]{color:var(--primary)}.tab-bar[data-v-c773a1b5]{max-width:var(--content-max);gap:8px;padding:8px 16px 12px;display:flex;overflow-x:auto}.tab-btn[data-v-c773a1b5]{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:999px;flex-shrink:0;padding:6px 14px;font-size:13px;font-weight:600}.tab-btn.active[data-v-c773a1b5]{background:var(--primary);border-color:var(--primary);color:#fff}.empty-state[data-v-c773a1b5]{text-align:center;color:var(--text-muted);padding:60px 20px}.empty-icon[data-v-c773a1b5]{opacity:.3;margin-bottom:12px}.empty-state p[data-v-c773a1b5]{font-size:14px;line-height:1.7}.post-list[data-v-c773a1b5]{max-width:var(--content-max);flex-direction:column;gap:10px;padding:0 16px;display:flex}.post-card[data-v-c773a1b5]{padding:0;overflow:hidden}.post-main[data-v-c773a1b5]{cursor:pointer;align-items:center;gap:12px;padding:14px 16px;display:flex}.post-main[data-v-c773a1b5]:hover{background:var(--bg)}.post-thumb[data-v-c773a1b5]{border-radius:10px;flex-shrink:0;width:56px;height:56px;overflow:hidden}.post-thumb img[data-v-c773a1b5]{object-fit:cover;width:100%;height:100%}.post-info[data-v-c773a1b5]{flex:1;min-width:0}.post-meta[data-v-c773a1b5]{align-items:center;gap:8px;margin-bottom:4px;display:flex}.status-badge[data-v-c773a1b5]{border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.status-badge.pending[data-v-c773a1b5]{color:#d97706;background:#fef3c7}.status-badge.approved[data-v-c773a1b5]{color:#059669;background:#d1fae5}.status-badge.rejected[data-v-c773a1b5]{color:#dc2626;background:#fee2e2}.status-badge.removed[data-v-c773a1b5]{color:#6b7280;background:#f3f4f6}.review-remark[data-v-c773a1b5]{color:#991b1b;background:#fef2f2;border-radius:8px;margin-top:6px;padding:8px 10px;font-size:12px;line-height:1.5}.remark-label[data-v-c773a1b5]{font-weight:700}.post-time[data-v-c773a1b5]{color:var(--text-muted);font-size:11px}.post-content[data-v-c773a1b5]{color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden}.post-stats[data-v-c773a1b5]{color:var(--text-muted);gap:12px;margin-top:4px;font-size:12px;display:flex}.post-chevron[data-v-c773a1b5]{color:var(--text-muted);flex-shrink:0}.post-actions[data-v-c773a1b5]{border-top:1px solid var(--border);gap:8px;margin:0 0 2px;padding:10px 16px 12px;display:flex}.action-btn[data-v-c773a1b5]{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:5px;padding:6px 12px;font-size:13px;font-weight:600;display:flex}.action-btn.edit[data-v-c773a1b5]{color:var(--primary);background:#eff6ff}.action-btn.edit[data-v-c773a1b5]:hover{background:#dbeafe}.action-btn.del[data-v-c773a1b5]{color:#ef4444;background:#fef2f2}.action-btn.del[data-v-c773a1b5]:hover{background:#fee2e2}.list-footer[data-v-c773a1b5]{text-align:center;padding:16px}.load-more[data-v-c773a1b5]{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:8px 24px;font-size:13px}.feed-hint[data-v-c773a1b5]{color:var(--text-muted);font-size:13px}.compose-mask[data-v-c773a1b5]{z-index:200;background:#0006;position:fixed;inset:0}.compose-panel[data-v-c773a1b5]{z-index:201;background:var(--bg-card);border-radius:20px 20px 0 0;max-height:85vh;padding:0 16px 32px;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.compose-header[data-v-c773a1b5]{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 0 12px;display:flex}.compose-cancel[data-v-c773a1b5]{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:15px}.compose-title[data-v-c773a1b5]{color:var(--text-primary);font-size:16px;font-weight:700}.compose-publish[data-v-c773a1b5]{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:6px 14px;font-size:14px;font-weight:600}.compose-publish[data-v-c773a1b5]:disabled{opacity:.5;cursor:not-allowed}.compose-error[data-v-c773a1b5]{color:#ef4444;background:#fef2f2;border-radius:8px;margin:10px 0 0;padding:8px 12px;font-size:13px}.compose-textarea[data-v-c773a1b5]{resize:none;width:100%;min-height:120px;color:var(--text-primary);background:0 0;border:none;outline:none;padding:14px 0;font-size:15px;line-height:1.6}.compose-images[data-v-c773a1b5]{flex-wrap:wrap;gap:8px;padding-bottom:8px;display:flex}.img-thumb[data-v-c773a1b5]{border-radius:10px;width:72px;height:72px;position:relative;overflow:hidden}.img-thumb img[data-v-c773a1b5]{object-fit:cover;width:100%;height:100%}.img-overlay[data-v-c773a1b5]{color:#fff;background:#00000080;justify-content:center;align-items:center;font-size:11px;display:flex;position:absolute;inset:0}.img-overlay.error[data-v-c773a1b5]{background:#dc2626b3}.img-remove[data-v-c773a1b5]{color:#fff;cursor:pointer;background:#0000008c;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:flex;position:absolute;top:3px;right:3px}.img-add[data-v-c773a1b5]{border:1.5px dashed var(--border);background:var(--bg);width:72px;height:72px;color:var(--text-muted);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;display:flex}.mask-enter-active[data-v-c773a1b5],.mask-leave-active[data-v-c773a1b5]{transition:opacity .2s}.mask-enter-from[data-v-c773a1b5],.mask-leave-to[data-v-c773a1b5]{opacity:0}.slide-up-enter-active[data-v-c773a1b5],.slide-up-leave-active[data-v-c773a1b5]{transition:transform .25s cubic-bezier(.32,.72,0,1)}.slide-up-enter-from[data-v-c773a1b5],.slide-up-leave-to[data-v-c773a1b5]{transform:translateY(100%)}.shore-card-page[data-v-e8d26cdb]{background:var(--bg);min-height:100vh;padding-bottom:calc(var(--nav-height) + 24px)}.page-header[data-v-e8d26cdb]{background:var(--bg-card);border-bottom:1px solid var(--border);z-index:10;align-items:center;gap:12px;padding:14px 16px;display:flex;position:sticky;top:0}.back-btn[data-v-e8d26cdb]{cursor:pointer;color:var(--text-primary);background:0 0;border:none;border-radius:8px;padding:4px;display:flex}.page-title[data-v-e8d26cdb]{flex:1;font-size:16px;font-weight:700}.page-desc[data-v-e8d26cdb]{text-align:center;color:var(--text-muted);margin:16px 16px 12px;font-size:13px}.card-preview[data-v-e8d26cdb]{background:var(--gradient-brand-soft);color:#0c4a6e;border-radius:20px;margin:0 16px 20px;padding:24px 20px;position:relative;overflow:hidden;box-shadow:0 8px 28px #38bdf840}.card-preview[data-v-e8d26cdb]:before{content:"";background:#ffffff1a;border-radius:50%;width:180px;height:180px;position:absolute;top:-60px;right:-60px}.card-preview.shore[data-v-e8d26cdb]{background:linear-gradient(145deg,#047857 0%,#059669 50%,#34d399 100%);box-shadow:0 12px 40px #05966959}.card-brand[data-v-e8d26cdb]{color:#0369a1;margin-bottom:4px;font-size:13px}.card-user[data-v-e8d26cdb]{color:#0284c7;margin-bottom:16px;font-size:15px}.card-hero[data-v-e8d26cdb]{color:#075985;margin-bottom:20px;font-size:28px;font-weight:800;line-height:1.2}.card-stats[data-v-e8d26cdb]{flex-direction:column;gap:10px;display:flex}.stat-row[data-v-e8d26cdb]{border-bottom:1px solid #ffffff26;justify-content:space-between;align-items:center;padding:8px 0;display:flex}.stat-row[data-v-e8d26cdb]:last-child{border-bottom:none}.stat-label[data-v-e8d26cdb]{color:#0369a1;font-size:14px}.stat-value[data-v-e8d26cdb]{color:#0c4a6e;font-size:16px;font-weight:700}.card-wish[data-v-e8d26cdb]{background:#ffffff1f;border-radius:12px;margin-top:16px;padding:12px 14px}.wish-label[data-v-e8d26cdb]{color:#0369a1;margin-bottom:4px;font-size:12px}.wish-text[data-v-e8d26cdb]{color:#075985;font-size:15px;font-weight:600;line-height:1.5}.card-footer[data-v-e8d26cdb]{color:#64748b;text-align:center;margin-top:16px;font-size:11px}.action-row[data-v-e8d26cdb]{gap:8px;margin-bottom:16px;padding:0 16px;display:flex}.action-btn[data-v-e8d26cdb]{border:1.5px solid var(--border);background:var(--bg-card);color:var(--text-primary);cursor:pointer;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:6px;padding:12px 8px;font-size:13px;font-weight:600;transition:all .15s;display:flex}.action-btn.primary[data-v-e8d26cdb]{background:var(--gradient-brand);color:#fff;border:none}.action-btn[data-v-e8d26cdb]:disabled{opacity:.5;cursor:not-allowed}.share-preview[data-v-e8d26cdb]{margin:0 16px;padding:16px}.share-preview-title[data-v-e8d26cdb]{color:var(--text-secondary);margin-bottom:10px;font-size:13px;font-weight:700}.share-text[data-v-e8d26cdb]{color:var(--text-primary);white-space:pre-wrap;margin:0;font-family:inherit;font-size:13px;line-height:1.7}.loading[data-v-e8d26cdb]{text-align:center;color:var(--text-muted);padding:48px}.toast[data-v-e8d26cdb]{bottom:calc(var(--nav-height) + 24px);color:#fff;z-index:200;white-space:nowrap;background:#0f172ae0;border-radius:999px;padding:10px 20px;font-size:14px;position:fixed;left:50%;transform:translate(-50%)}.toast-enter-active[data-v-e8d26cdb],.toast-leave-active[data-v-e8d26cdb]{transition:opacity .25s,transform .25s}.toast-enter-from[data-v-e8d26cdb],.toast-leave-to[data-v-e8d26cdb]{opacity:0;transform:translate(-50%)translateY(8px)}.admin-login-page[data-v-1ae9fb74]{background:var(--gradient-brand);justify-content:center;align-items:center;min-height:100vh;display:flex}.admin-login-card[data-v-1ae9fb74]{background:#fff;border-radius:20px;width:100%;max-width:380px;padding:40px 36px;box-shadow:0 16px 48px #0003}.admin-logo[data-v-1ae9fb74]{flex-direction:column;align-items:center;gap:12px;margin-bottom:32px;display:flex}.logo-circle[data-v-1ae9fb74]{background:var(--gradient-brand);border-radius:16px;justify-content:center;align-items:center;width:60px;height:60px;display:flex;box-shadow:0 8px 24px #1d4ed866}.admin-brand[data-v-1ae9fb74]{color:#1e293b;margin:0;font-size:20px;font-weight:800}.admin-error[data-v-1ae9fb74]{color:#ef4444;background:#fef2f2;border-radius:10px;margin-bottom:16px;padding:10px 14px;font-size:14px}.form-group[data-v-1ae9fb74]{margin-bottom:16px}.form-label[data-v-1ae9fb74]{color:#374151;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.form-input[data-v-1ae9fb74]{box-sizing:border-box;border:1.5px solid #e5e7eb;border-radius:10px;outline:none;width:100%;padding:10px 14px;font-size:14px;transition:border-color .15s}.form-input[data-v-1ae9fb74]:focus{border-color:var(--primary)}.btn-login[data-v-1ae9fb74]{background:var(--gradient-brand);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;margin-top:8px;padding:12px;font-size:15px;font-weight:700;transition:opacity .15s}.btn-login[data-v-1ae9fb74]:hover{opacity:.9}.review-page[data-v-dda06400]{flex-direction:column;gap:20px;display:flex}.review-header[data-v-dda06400]{justify-content:space-between;align-items:center;display:flex}.review-title[data-v-dda06400]{color:#1e293b;margin:0;font-size:20px;font-weight:700}.refresh-btn[data-v-dda06400]{color:#374151;cursor:pointer;background:#fff;border:1.5px solid #e5e7eb;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;transition:all .15s;display:flex}.refresh-btn[data-v-dda06400]:hover{border-color:var(--primary);color:var(--primary)}.refresh-btn[data-v-dda06400]:disabled{opacity:.5;cursor:not-allowed}@keyframes spin-dda06400{to{transform:rotate(360deg)}}.spinning[data-v-dda06400]{animation:1s linear infinite spin-dda06400}.filter-tabs[data-v-dda06400]{flex-wrap:wrap;gap:8px;display:flex}.filter-tab[data-v-dda06400]{color:#6b7280;cursor:pointer;background:#fff;border:1.5px solid #e5e7eb;border-radius:20px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.filter-tab[data-v-dda06400]:hover{border-color:var(--primary);color:var(--primary)}.filter-tab.active[data-v-dda06400]{border-color:var(--primary);color:var(--primary);background:#eff6ff;font-weight:600}.tab-count[data-v-dda06400]{color:#64748b;background:#f1f5f9;border-radius:99px;padding:1px 7px;font-size:11px;font-weight:700}.filter-tab.active .tab-count[data-v-dda06400]{color:var(--primary);background:#dbeafe}.loading-state[data-v-dda06400]{text-align:center;color:#94a3b8;padding:60px;font-size:14px}.empty-state[data-v-dda06400]{color:#94a3b8;flex-direction:column;align-items:center;gap:12px;padding:60px;font-size:14px;display:flex}.table-wrap[data-v-dda06400]{background:#fff;border-radius:16px;overflow:auto hidden;box-shadow:0 2px 12px #0000000f}.review-table[data-v-dda06400]{border-collapse:collapse;width:100%;min-width:800px}.review-table th[data-v-dda06400]{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.5px;background:#f8fafc;border-bottom:1px solid #e5e7eb;padding:12px 16px;font-size:12px;font-weight:600}.review-table td[data-v-dda06400]{color:#1e293b;border-bottom:1px solid #f1f5f9;padding:14px 16px;font-size:14px}.review-table tr:last-child td[data-v-dda06400]{border-bottom:none}.review-table tr:hover td[data-v-dda06400]{background:#f8fafc}.td-username[data-v-dda06400]{font-weight:600}.td-email[data-v-dda06400]{color:#64748b;font-size:13px}.td-time[data-v-dda06400]{color:#94a3b8;white-space:nowrap;font-size:12px}.invite-code-badge[data-v-dda06400]{color:#475569;letter-spacing:1px;background:#f1f5f9;border-radius:6px;padding:2px 8px;font-family:monospace;font-size:12px;font-weight:600}.status-badge[data-v-dda06400]{border-radius:99px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.status-pending[data-v-dda06400]{color:#a16207;background:#fef9c3}.status-approved[data-v-dda06400]{color:#15803d;background:#dcfce7}.status-rejected[data-v-dda06400]{color:#b91c1c;background:#fee2e2}.td-actions[data-v-dda06400]{align-items:center;gap:6px;display:flex}.action-btn[data-v-dda06400]{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:4px;padding:5px 12px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.action-btn[data-v-dda06400]:disabled{opacity:.5;cursor:not-allowed}.action-btn.approve[data-v-dda06400]{color:#15803d;background:#dcfce7}.action-btn.approve[data-v-dda06400]:hover:not(:disabled){background:#bbf7d0}.action-btn.reject[data-v-dda06400]{color:#b91c1c;background:#fee2e2}.action-btn.reject[data-v-dda06400]:hover:not(:disabled){background:#fecaca}.no-action[data-v-dda06400]{color:#cbd5e1;font-size:13px}.source-badge[data-v-dda06400]{color:#15803d;background:#f0fdf4;border-radius:99px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.invite-page[data-v-f56e38e2]{flex-direction:column;gap:20px;display:flex}.invite-header[data-v-f56e38e2]{justify-content:space-between;align-items:center;display:flex}.invite-title[data-v-f56e38e2]{color:#1e293b;margin:0;font-size:20px;font-weight:700}.refresh-btn[data-v-f56e38e2]{color:#374151;cursor:pointer;background:#fff;border:1.5px solid #e5e7eb;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;transition:all .15s;display:flex}.refresh-btn[data-v-f56e38e2]:hover{border-color:var(--primary);color:var(--primary)}.refresh-btn[data-v-f56e38e2]:disabled{opacity:.5;cursor:not-allowed}@keyframes spin-f56e38e2{to{transform:rotate(360deg)}}.spinning[data-v-f56e38e2]{animation:1s linear infinite spin-f56e38e2}.stats-row[data-v-f56e38e2]{gap:12px;display:flex}.stat-card[data-v-f56e38e2]{text-align:center;background:#fff;border-radius:14px;flex:1;padding:16px;box-shadow:0 2px 8px #0000000d}.stat-val[data-v-f56e38e2]{color:#1e293b;font-size:28px;font-weight:800}.stat-val.used[data-v-f56e38e2]{color:var(--primary)}.stat-val.avail[data-v-f56e38e2]{color:#10b981}.stat-key[data-v-f56e38e2]{color:#94a3b8;margin-top:4px;font-size:12px}.loading-state[data-v-f56e38e2]{text-align:center;color:#94a3b8;padding:60px;font-size:14px}.empty-state[data-v-f56e38e2]{color:#94a3b8;flex-direction:column;align-items:center;gap:12px;padding:60px;font-size:14px;display:flex}.table-wrap[data-v-f56e38e2]{background:#fff;border-radius:16px;overflow:auto hidden;box-shadow:0 2px 12px #0000000f}.invite-table[data-v-f56e38e2]{border-collapse:collapse;width:100%;min-width:600px}.invite-table th[data-v-f56e38e2]{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.5px;background:#f8fafc;border-bottom:1px solid #e5e7eb;padding:12px 16px;font-size:12px;font-weight:600}.invite-table td[data-v-f56e38e2]{color:#1e293b;border-bottom:1px solid #f1f5f9;padding:14px 16px;font-size:14px}.invite-table tr:last-child td[data-v-f56e38e2]{border-bottom:none}.invite-table tr:hover td[data-v-f56e38e2]{background:#f8fafc}.code-badge[data-v-f56e38e2]{color:var(--primary-dark);letter-spacing:2px;background:#eff6ff;border-radius:6px;padding:3px 10px;font-family:monospace;font-size:13px;font-weight:700}.td-user[data-v-f56e38e2]{font-weight:500}.td-time[data-v-f56e38e2]{color:#94a3b8;white-space:nowrap;font-size:12px}.usage-badge[data-v-f56e38e2]{border-radius:99px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.usage-active[data-v-f56e38e2]{color:#15803d;background:#dcfce7}.usage-zero[data-v-f56e38e2]{color:#94a3b8;background:#f1f5f9}.review-page[data-v-9941c8e1]{flex-direction:column;gap:20px;display:flex}.review-header[data-v-9941c8e1]{justify-content:space-between;align-items:center;display:flex}.review-title[data-v-9941c8e1]{color:#1e293b;margin:0;font-size:20px;font-weight:700}.refresh-btn[data-v-9941c8e1]{color:#374151;cursor:pointer;background:#fff;border:1.5px solid #e5e7eb;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;transition:all .15s;display:flex}.refresh-btn[data-v-9941c8e1]:hover{border-color:var(--primary);color:var(--primary)}.refresh-btn[data-v-9941c8e1]:disabled{opacity:.5;cursor:not-allowed}@keyframes spin-9941c8e1{to{transform:rotate(360deg)}}.spinning[data-v-9941c8e1]{animation:1s linear infinite spin-9941c8e1}.filter-tabs[data-v-9941c8e1]{flex-wrap:wrap;gap:8px;display:flex}.filter-tab[data-v-9941c8e1]{color:#6b7280;cursor:pointer;background:#fff;border:1.5px solid #e5e7eb;border-radius:20px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .15s}.filter-tab[data-v-9941c8e1]:hover{border-color:var(--primary);color:var(--primary)}.filter-tab.active[data-v-9941c8e1]{border-color:var(--primary);color:var(--primary);background:#eff6ff;font-weight:600}.loading-state[data-v-9941c8e1]{text-align:center;color:#94a3b8;padding:60px;font-size:14px}.empty-state[data-v-9941c8e1]{color:#94a3b8;flex-direction:column;align-items:center;gap:12px;padding:60px;font-size:14px;display:flex}.post-list[data-v-9941c8e1]{flex-direction:column;gap:14px;display:flex}.post-card[data-v-9941c8e1]{background:#fff;border-radius:16px;padding:16px;box-shadow:0 2px 12px #0000000f}.post-card-head[data-v-9941c8e1]{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.post-author[data-v-9941c8e1]{align-items:center;gap:10px;display:flex}.post-avatar[data-v-9941c8e1]{background:var(--gradient-brand);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:15px;font-weight:700;display:flex}.post-name[data-v-9941c8e1]{color:#1e293b;font-size:14px;font-weight:600}.post-time[data-v-9941c8e1]{color:#94a3b8;margin-top:1px;font-size:12px}.status-badge[data-v-9941c8e1]{border-radius:99px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.status-pending[data-v-9941c8e1]{color:#a16207;background:#fef9c3}.status-approved[data-v-9941c8e1]{color:#15803d;background:#dcfce7}.status-rejected[data-v-9941c8e1]{color:#b91c1c;background:#fee2e2}.status-removed[data-v-9941c8e1]{color:#6b7280;background:#f3f4f6}.post-content[data-v-9941c8e1]{color:#334155;white-space:pre-wrap;word-break:break-word;margin:0 0 10px;font-size:14px;line-height:1.6}.review-remark[data-v-9941c8e1]{color:#991b1b;background:#fef2f2;border-radius:8px;margin-bottom:10px;padding:8px 12px;font-size:13px;line-height:1.5}.remark-label[data-v-9941c8e1]{font-weight:600}.post-images[data-v-9941c8e1]{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.post-img[data-v-9941c8e1]{object-fit:cover;border:1px solid #f1f5f9;border-radius:10px;width:90px;height:90px}.post-actions[data-v-9941c8e1]{flex-wrap:wrap;gap:8px;display:flex}.action-btn[data-v-9941c8e1]{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:4px;padding:6px 14px;font-size:13px;font-weight:600;transition:all .15s;display:flex}.action-btn[data-v-9941c8e1]:disabled{opacity:.5;cursor:not-allowed}.action-btn.approve[data-v-9941c8e1]{color:#15803d;background:#dcfce7}.action-btn.approve[data-v-9941c8e1]:hover:not(:disabled){background:#bbf7d0}.action-btn.pin[data-v-9941c8e1]{color:#c2410c;background:#ffedd5}.action-btn.pin[data-v-9941c8e1]:hover:not(:disabled){background:#fed7aa}.action-btn.reject[data-v-9941c8e1]{color:#b91c1c;background:#fee2e2}.action-btn.reject[data-v-9941c8e1]:hover:not(:disabled){background:#fecaca}.action-btn.remove[data-v-9941c8e1]{color:#374151;background:#f3f4f6}.action-btn.remove[data-v-9941c8e1]:hover:not(:disabled){background:#e5e7eb}.modal-mask[data-v-9941c8e1]{z-index:300;background:#00000073;position:fixed;inset:0}.modal-box[data-v-9941c8e1]{z-index:301;background:#fff;border-radius:16px;width:min(420px,100vw - 32px);padding:20px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 60px #0003}.modal-header[data-v-9941c8e1]{color:#1e293b;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:17px;font-weight:700;display:flex}.modal-close[data-v-9941c8e1]{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:4px}.modal-hint[data-v-9941c8e1]{color:#64748b;margin:0 0 12px;font-size:13px;line-height:1.5}.modal-textarea[data-v-9941c8e1]{resize:vertical;box-sizing:border-box;border:1.5px solid #e5e7eb;border-radius:10px;outline:none;width:100%;padding:10px 12px;font-size:14px;line-height:1.5}.modal-textarea[data-v-9941c8e1]:focus{border-color:var(--primary)}.modal-error[data-v-9941c8e1]{color:#dc2626;margin-top:8px;font-size:13px}.modal-footer[data-v-9941c8e1]{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.modal-btn[data-v-9941c8e1]{cursor:pointer;border:none;border-radius:8px;padding:8px 18px;font-size:14px;font-weight:600}.modal-btn.cancel[data-v-9941c8e1]{color:#374151;background:#f3f4f6}.modal-btn.confirm.reject[data-v-9941c8e1]{color:#b91c1c;background:#fee2e2}.modal-btn.confirm.remove[data-v-9941c8e1]{color:#fff;background:#374151}.modal-btn[data-v-9941c8e1]:disabled{opacity:.5;cursor:not-allowed}.mask-enter-active[data-v-9941c8e1],.mask-leave-active[data-v-9941c8e1]{transition:opacity .2s}.mask-enter-from[data-v-9941c8e1],.mask-leave-to[data-v-9941c8e1]{opacity:0}.modal-enter-active[data-v-9941c8e1],.modal-leave-active[data-v-9941c8e1]{transition:opacity .2s,transform .2s}.modal-enter-from[data-v-9941c8e1],.modal-leave-to[data-v-9941c8e1]{opacity:0;transform:translate(-50%,-45%)}.admin-shell[data-v-16592527]{background:#f1f5f9;flex-direction:column;min-height:100vh;display:flex}.admin-header[data-v-16592527]{background:var(--gradient-brand);flex-shrink:0;justify-content:space-between;align-items:center;height:56px;padding:0 24px;display:flex}.admin-header-left[data-v-16592527]{align-items:center;gap:10px;display:flex}.admin-title[data-v-16592527]{color:#fff;font-size:17px;font-weight:700}.logout-btn[data-v-16592527]{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;transition:background .15s;display:flex}.logout-btn[data-v-16592527]:hover{background:#ffffff4d}.admin-tabs[data-v-16592527]{background:#fff;border-bottom:1px solid #e5e7eb;flex-shrink:0;gap:4px;padding:0 24px;display:flex}.admin-tab[data-v-16592527]{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:14px 20px;font-size:14px;font-weight:500;transition:all .15s;display:flex}.admin-tab[data-v-16592527]:hover{color:var(--primary-dark)}.admin-tab.active[data-v-16592527]{color:var(--primary-dark);border-bottom-color:var(--primary-dark);font-weight:600}.admin-main[data-v-16592527]{box-sizing:border-box;flex:1;width:100%;max-width:1200px;margin:0 auto;padding:24px}.lock-screen[data-v-4847a35b]{z-index:9999;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:24px;padding-bottom:calc(var(--nav-height) + 24px);-webkit-user-select:none;user-select:none;background:#060f22e0;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@media (width>=768px){.lock-screen[data-v-4847a35b]{padding-bottom:24px}}.lock-clock[data-v-4847a35b]{text-align:center;margin-top:0;margin-bottom:32px}.lock-time[data-v-4847a35b]{color:#fff;letter-spacing:-2px;font-size:72px;font-weight:200;line-height:1}.lock-date[data-v-4847a35b]{color:#ffffff8c;margin-top:8px;font-size:16px}.lock-freeze[data-v-4847a35b]{color:#fca5a5;background:#ef44442e;border:1px solid #ef444459;border-radius:20px;margin-bottom:24px;padding:8px 20px;font-size:13px}.lock-dots[data-v-4847a35b]{gap:16px;margin-bottom:8px;display:flex}.lock-dot[data-v-4847a35b]{background:0 0;border:2px solid #fff6;border-radius:50%;width:14px;height:14px;transition:background .12s,border-color .12s}.lock-dot.filled[data-v-4847a35b]{background:#60a5fa;border-color:#60a5fa}.lock-hint-err[data-v-4847a35b]{color:#fca5a5;margin-top:4px;margin-bottom:16px;font-size:12px}.lock-numpad[data-v-4847a35b]{grid-template-columns:repeat(3,72px);gap:12px;margin-top:24px;display:grid}.lock-key[data-v-4847a35b]{color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;font-size:26px;font-weight:300;transition:background .12s,transform .1s;display:flex}.lock-key[data-v-4847a35b]:active:not(:disabled){background:#ffffff38;transform:scale(.93)}.lock-key[data-v-4847a35b]:disabled{opacity:0}.lock-key-del[data-v-4847a35b]{color:#fff9;background:0 0;font-size:22px}.lock-key-del[data-v-4847a35b]:active{background:#ffffff1a}.lock-key-empty[data-v-4847a35b]{cursor:default;background:0 0}.lock-pattern-hint[data-v-4847a35b]{color:#ffffff8c;min-height:20px;margin-bottom:24px;font-size:14px}.lock-pattern-hint[data-v-4847a35b]:has(.error){color:#fca5a5}.lock-pattern-wrap[data-v-4847a35b]{width:min(280px,80vw)}.lock-grid[data-v-4847a35b]{aspect-ratio:1;touch-action:none;width:100%;position:relative}.lock-grid-svg[data-v-4847a35b]{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.lock-node[data-v-4847a35b]{justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:absolute;transform:translate(-50%,-50%)}.node-inner[data-v-4847a35b]{background:0 0;border:2px solid #ffffff4d;border-radius:50%;width:14px;height:14px;transition:all .15s}.node-selected .node-inner[data-v-4847a35b]{background:#60a5fa40;border-color:#60a5fa;width:22px;height:22px;box-shadow:0 0 10px #60a5fa80}.node-error .node-inner[data-v-4847a35b]{background:#ef444433;border-color:#ef4444}.lock-switch-btn[data-v-4847a35b]{color:#ffffff8c;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:20px;margin-top:32px;padding:8px 20px;font-size:13px;transition:border-color .15s,color .15s}.lock-switch-btn[data-v-4847a35b]:hover{color:#ffffffd9;border-color:#ffffff73}@keyframes shake-4847a35b{0%,to{transform:translate(0)}20%{transform:translate(-10px)}40%{transform:translate(10px)}60%{transform:translate(-7px)}80%{transform:translate(7px)}}.shake[data-v-4847a35b]{animation:.5s shake-4847a35b}.lock-fade-enter-active[data-v-4847a35b],.lock-fade-leave-active[data-v-4847a35b]{transition:opacity .25s}.lock-fade-enter-from[data-v-4847a35b],.lock-fade-leave-to[data-v-4847a35b]{opacity:0}.app-shell[data-v-b23fc7e2]{background:var(--bg);min-height:100vh;display:flex}.sidebar[data-v-b23fc7e2]{width:var(--sidebar-mini);background:var(--bg-card);border-right:1px solid var(--border);z-index:200;flex-direction:column;flex-shrink:0;height:100vh;transition:width .25s;display:none;position:fixed;top:0;left:0;overflow:hidden}@media (width>=768px){.sidebar[data-v-b23fc7e2]{display:flex}}@media (width>=1200px){.sidebar[data-v-b23fc7e2]{width:var(--sidebar-width)}}.sidebar-logo[data-v-b23fc7e2]{cursor:pointer;border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:20px 14px 16px;display:flex;overflow:hidden}.logo-icon[data-v-b23fc7e2]{background:var(--gradient-brand);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex;box-shadow:0 4px 12px #4a9eff59}.logo-text[data-v-b23fc7e2]{color:var(--primary);white-space:nowrap;font-size:18px;font-weight:800;display:none}@media (width>=1200px){.logo-text[data-v-b23fc7e2]{display:block}}.sidebar-nav[data-v-b23fc7e2]{flex-direction:column;flex:1;gap:4px;padding:12px 8px;display:flex}.sidebar-nav-item[data-v-b23fc7e2]{color:var(--text-secondary);cursor:pointer;white-space:nowrap;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:12px;width:100%;padding:10px 12px;font-size:14px;font-weight:500;transition:all .15s;display:flex;overflow:hidden}.sidebar-nav-item[data-v-b23fc7e2]:hover{background:var(--bg);color:var(--text-primary)}.sidebar-nav-item.active[data-v-b23fc7e2]{background:var(--primary-bg);color:var(--primary);font-weight:600}.sidebar-nav-label[data-v-b23fc7e2]{display:none}@media (width>=1200px){.sidebar-nav-label[data-v-b23fc7e2]{display:block}}.sidebar-footer[data-v-b23fc7e2]{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding:12px;display:none}@media (width>=1200px){.sidebar-footer[data-v-b23fc7e2]{display:flex}}.sidebar-user[data-v-b23fc7e2]{background:var(--bg);border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.user-avatar[data-v-b23fc7e2]{background:var(--gradient-brand);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:flex}.user-info[data-v-b23fc7e2]{flex:1;min-width:0}.user-name[data-v-b23fc7e2]{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.logout-btn[data-v-b23fc7e2]{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:6px;flex-shrink:0;align-items:center;padding:4px;transition:color .15s,background .15s;display:flex}.logout-btn[data-v-b23fc7e2]:hover{color:var(--danger);background:var(--danger-light)}.sidebar-debt-summary[data-v-b23fc7e2]{background:var(--bg);border-radius:12px;padding:14px}.sidebar-debt-label[data-v-b23fc7e2]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:11px}.sidebar-debt-amount[data-v-b23fc7e2]{color:var(--danger);font-variant-numeric:tabular-nums;font-size:22px;font-weight:800;line-height:1.2}.sidebar-debt-progress[data-v-b23fc7e2]{color:var(--text-muted)}.sidebar-quote[data-v-b23fc7e2]{color:var(--text-muted);align-items:flex-start;gap:5px;padding:0 2px;font-size:12px;line-height:1.6;display:flex}.icon-sparkle[data-v-b23fc7e2]{color:var(--warning);flex-shrink:0;margin-top:2px}.main-content[data-v-b23fc7e2]{flex:1;min-width:0}@media (width>=768px){.main-content[data-v-b23fc7e2]:not(.auth-layout){margin-left:var(--sidebar-mini)}}@media (width>=1200px){.main-content[data-v-b23fc7e2]:not(.auth-layout){margin-left:var(--sidebar-width)}}.bottom-nav[data-v-b23fc7e2]{height:var(--nav-height);background:var(--bg-card);border-top:1px solid var(--border);z-index:10000;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 16px #00000012}@media (width>=768px){.bottom-nav[data-v-b23fc7e2]{display:none}}.bottom-nav-item[data-v-b23fc7e2]{cursor:pointer;color:var(--text-muted);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:8px 0;transition:color .15s;display:flex}.bottom-nav-item.active[data-v-b23fc7e2]{color:var(--primary)}.bottom-nav-icon[data-v-b23fc7e2]{justify-content:center;align-items:center;transition:transform .15s;display:flex}.bottom-nav-item.active .bottom-nav-icon[data-v-b23fc7e2]{transform:scale(1.1)}.bottom-nav-item.is-add .bottom-nav-icon[data-v-b23fc7e2]{background:var(--gradient-brand);color:#fff;border-radius:14px;width:46px;height:46px;margin-bottom:2px;box-shadow:0 4px 12px #4a9eff66}.bottom-nav-item.is-add[data-v-b23fc7e2]{color:var(--primary)}.bottom-nav-label[data-v-b23fc7e2]{font-size:11px;font-weight:500}.fade-enter-active[data-v-b23fc7e2],.fade-leave-active[data-v-b23fc7e2]{transition:opacity .15s}.fade-enter-from[data-v-b23fc7e2],.fade-leave-to[data-v-b23fc7e2]{opacity:0}:root{--primary:#4a9eff;--primary-light:#7dd3fc;--primary-dark:#3b82f6;--primary-bg:#eff6ff;--gradient-brand:linear-gradient(135deg, #60a5fa 0%, #38bdf8 52%, #7dd3fc 100%);--gradient-brand-soft:linear-gradient(145deg, #93c5fd 0%, #60a5fa 50%, #38bdf8 100%);--primary-accent:#38bdf8;--primary-sky:#7dd3fc;--primary-text:#0369a1;--primary-text-dark:#075985;--primary-border:#bae6fd;--primary-border-light:#e0f2fe;--primary-shadow:#4a9eff59;--primary-shadow-soft:#4a9eff26;--success:#10b981;--success-light:#d1fae5;--warning:#f59e0b;--warning-light:#fef3c7;--danger:#ef4444;--danger-light:#fee2e2;--text-primary:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--bg:#f1f5f9;--bg-card:#fff;--border:#e2e8f0;--shadow-sm:0 1px 3px #00000012, 0 1px 2px #0000000d;--shadow:0 4px 16px #00000014;--shadow-lg:0 8px 32px #0000001f;--radius:12px;--radius-lg:20px;--nav-height:64px;--sidebar-width:240px;--sidebar-mini:68px;--content-max:960px}[data-theme=dark]{--primary:#60a5fa;--primary-light:#7dd3fc;--primary-dark:#4a9eff;--primary-bg:#0c4a6e;--primary-text:#7dd3fc;--primary-text-dark:#bae6fd;--primary-border:#0369a1;--primary-border-light:#0c4a6e;--gradient-brand:linear-gradient(135deg, #38bdf8 0%, #0ea5e9 52%, #7dd3fc 100%);--gradient-brand-soft:linear-gradient(145deg, #0c4a6e 0%, #0369a1 50%, #0284c7 100%);--success:#10b981;--success-light:#064e3b;--warning:#f59e0b;--warning-light:#451a03;--danger:#f87171;--danger-light:#450a0a;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--bg:#0f172a;--bg-card:#1e293b;--border:#334155;--shadow-sm:0 1px 3px #0000004d, 0 1px 2px #0003;--shadow:0 4px 16px #0006;--shadow-lg:0 8px 32px #00000080}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;height:100%;font-size:16px}body{background:var(--bg);color:var(--text-primary);min-height:100%;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;line-height:1.6;overflow-x:hidden}.page{min-height:100vh;padding-bottom:calc(var(--nav-height) + 16px)}@media (width>=768px){.page{padding-bottom:32px}}.page-content{padding:16px}@media (width>=768px){.page-content{padding:20px 24px}}@media (width>=1200px){.page-content{padding:24px 32px}}.grid-2{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=768px){.grid-2{grid-template-columns:1fr 1fr}}.grid-3{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=768px){.grid-3{grid-template-columns:1fr 1fr}}@media (width>=1200px){.grid-3{grid-template-columns:1fr 1fr 1fr}}.card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border);padding:16px}.card+.card{margin-top:12px}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-size:14px;font-weight:500;line-height:1;text-decoration:none;transition:all .18s;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-light);filter:brightness(1.05)}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#059669}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#dc2626}.btn-outline{border:1.5px solid var(--border);color:var(--text-secondary);background:0 0}.btn-outline:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-bg)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--bg)}.btn-sm{border-radius:8px;padding:6px 14px;font-size:13px}.btn-xs{border-radius:6px;padding:4px 10px;font-size:12px}.btn-full{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:3px;padding:3px 9px;font-size:12px;font-weight:500;display:inline-flex}.badge-success{background:var(--success-light);color:#065f46}.badge-warning{background:var(--warning-light);color:#92400e}.badge-danger{background:var(--danger-light);color:#991b1b}.badge-primary{background:var(--primary-bg);color:var(--primary-dark)}.badge-gray{color:var(--text-secondary);background:#f1f5f9}.form-group{margin-bottom:18px}.form-label{color:var(--text-secondary);letter-spacing:.01em;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.form-input,.form-select,.form-textarea{border:1.5px solid var(--border);width:100%;color:var(--text-primary);background:var(--bg-card);appearance:none;border-radius:10px;outline:none;padding:10px 14px;font-size:15px;transition:border-color .18s,box-shadow .18s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4a9eff26}.form-textarea{resize:vertical;min-height:80px}.form-hint{color:var(--text-muted);margin-top:4px;font-size:12px}.form-error{color:var(--danger);margin-top:4px;font-size:12px;font-weight:500}.progress-bar{background:var(--border);border-radius:999px;height:6px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--primary), var(--primary-light));border-radius:999px;height:100%;transition:width .6s}.divider{background:var(--border);height:1px;margin:12px 0}.text-primary-color{color:var(--primary)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-danger{color:var(--danger)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-sm{font-size:13px}.text-xs{font-size:12px}.text-lg{font-size:18px}.text-xl{font-size:22px}.text-2xl{font-size:28px}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semi{font-weight:600}.text-right{text-align:right}.text-center{text-align:center}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-4{gap:4px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}.mt-4{margin-top:4px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-4{margin-bottom:4px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.modal-overlay{z-index:10001;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a8c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (width>=768px){.modal-overlay{align-items:center}}.modal-box{background:var(--bg-card);border-radius:24px 24px 0 0;width:100%;max-width:520px;padding:24px 20px 32px;animation:.28s cubic-bezier(.32,1,.5,1) slideUp}@media (width>=768px){.modal-box{box-shadow:var(--shadow-lg);border-radius:20px;padding:28px;animation:.22s scaleIn}}.modal-title{text-align:center;color:var(--text-primary);margin-bottom:20px;font-size:17px;font-weight:700}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.empty-state{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:64px 20px;display:flex}.empty-state .empty-icon{color:var(--text-muted);opacity:.5;margin-bottom:16px}.empty-state p{color:var(--text-secondary);margin-bottom:24px;font-size:15px;line-height:1.7}.page-header{align-items:center;gap:12px;padding:16px 16px 0;display:flex}@media (width>=768px){.page-header{padding:20px 24px 0}}.back-btn{border:1.5px solid var(--border);background:var(--bg-card);cursor:pointer;width:36px;height:36px;color:var(--text-secondary);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.back-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-bg)}.page-title{color:var(--text-primary);font-size:18px;font-weight:700}.tabs{background:var(--bg);border:1px solid var(--border);border-radius:12px;gap:2px;padding:4px;display:flex}.tab-item{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:6px;padding:9px 12px;font-size:14px;font-weight:500;transition:all .18s;display:flex}.tab-item.active{background:var(--bg-card);color:var(--primary);box-shadow:var(--shadow-sm);font-weight:600}.section-title{color:var(--text-primary);align-items:center;gap:8px;margin:20px 0 10px;font-size:15px;font-weight:700;display:flex}.section-title:first-child{margin-top:0}.amount{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.scroll-x{-webkit-overflow-scrolling:touch;overflow-x:auto}.fade-enter-active,.fade-leave-active{transition:opacity .18s}.fade-enter-from,.fade-leave-to{opacity:0}.icon-sm{width:14px;height:14px}.icon-md{width:18px;height:18px}.icon-lg{width:22px;height:22px}.icon-xl{width:28px;height:28px}
