.app-header[data-v-55b25bf4]{position:sticky;top:0;z-index:100;height:var(--header-h);background:var(--primary);color:#fff;display:flex;align-items:center;padding:0 20px;gap:32px;box-shadow:0 2px 6px #00000026}.logo[data-v-55b25bf4]{font-size:18px;font-weight:700;white-space:nowrap;color:#fff}.desktop-nav[data-v-55b25bf4]{display:none;gap:4px}.desktop-nav a[data-v-55b25bf4]{padding:6px 14px;border-radius:8px;font-size:15px;color:#ffffffd9;transition:background .15s,color .15s}.desktop-nav a[data-v-55b25bf4]:hover,.desktop-nav a.router-link-active[data-v-55b25bf4]{background:#ffffff2e;color:#fff}@media (min-width: 768px){.desktop-nav[data-v-55b25bf4]{display:flex}}.bottom-nav[data-v-74dfd84d]{position:fixed;bottom:0;left:0;right:0;height:var(--nav-h);background:var(--card);border-top:1px solid var(--border);display:flex;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;z-index:100;box-shadow:0 -2px 8px #0000000f}.bottom-nav[data-v-74dfd84d]::-webkit-scrollbar{display:none}.nav-item[data-v-74dfd84d]{flex:0 0 72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--text-sub);transition:color .15s;padding-bottom:env(safe-area-inset-bottom,0)}.nav-item.router-link-active[data-v-74dfd84d]{color:var(--primary)}.nav-icon[data-v-74dfd84d]{font-size:22px;line-height:1}.nav-label[data-v-74dfd84d]{font-size:10px;font-weight:500;white-space:nowrap}@media (min-width: 768px){.bottom-nav[data-v-74dfd84d]{display:none}}.main-content[data-v-0d53003f]{flex:1;display:flex;flex-direction:column}.welcome[data-v-02af1ae5]{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;padding:28px 24px;margin-bottom:16px}.welcome h1[data-v-02af1ae5]{font-size:26px;font-weight:700;margin-bottom:4px}.welcome p[data-v-02af1ae5]{font-size:16px;opacity:.85}.quick-links[data-v-02af1ae5]{display:flex;flex-direction:column;gap:12px}.quick-card[data-v-02af1ae5]{display:flex;align-items:center;gap:14px;padding:18px 16px;transition:box-shadow .15s,transform .15s}.quick-card[data-v-02af1ae5]:active{transform:scale(.98)}.quick-icon[data-v-02af1ae5]{font-size:28px;flex-shrink:0}.quick-card h2[data-v-02af1ae5]{font-size:18px;font-weight:600;margin-bottom:3px}.quick-card p[data-v-02af1ae5]{font-size:14px;color:var(--text-sub)}.arrow[data-v-02af1ae5]{margin-left:auto;font-size:24px;color:var(--text-sub);flex-shrink:0}@media (min-width: 768px){.quick-links[data-v-02af1ae5]{flex-direction:row}.quick-card[data-v-02af1ae5]{flex:1;flex-direction:column;text-align:center;padding:28px 20px}.quick-icon[data-v-02af1ae5]{font-size:36px}.arrow[data-v-02af1ae5]{display:none}}.page-header[data-v-8a11c6e3]{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.page-title[data-v-8a11c6e3]{font-size:20px;font-weight:700}.btn-refresh[data-v-8a11c6e3]{padding:8px 16px;background:var(--primary);color:#fff;border-radius:8px;font-size:15px;font-family:var(--font)}.btn-refresh[data-v-8a11c6e3]:disabled{opacity:.6;cursor:default}.controls[data-v-8a11c6e3]{padding:14px;margin-bottom:10px;display:flex;flex-direction:column;gap:10px}.search-input[data-v-8a11c6e3]{width:100%;padding:10px 14px;font-size:16px;font-family:var(--font);border:1.5px solid var(--border);border-radius:8px;outline:none}.search-input[data-v-8a11c6e3]:focus{border-color:var(--primary)}.filter-row[data-v-8a11c6e3]{display:flex;gap:8px;flex-wrap:wrap}.filter-btn[data-v-8a11c6e3]{padding:6px 14px;border:1.5px solid var(--border);border-radius:20px;font-size:14px;background:#fff;color:var(--text);font-family:var(--font);transition:all .15s}.filter-btn.active[data-v-8a11c6e3]{background:var(--primary);border-color:var(--primary);color:#fff}.summary[data-v-8a11c6e3]{font-size:14px;color:var(--text-sub);margin-bottom:10px}.error-box[data-v-8a11c6e3]{padding:16px;color:var(--danger);background:var(--danger-bg);font-size:16px}.table-wrap[data-v-8a11c6e3]{display:none;overflow-x:auto}table[data-v-8a11c6e3]{width:100%;border-collapse:collapse;font-size:15px}thead th[data-v-8a11c6e3]{background:var(--primary);color:#fff;padding:12px 14px;text-align:left;white-space:nowrap;font-weight:600}tbody tr[data-v-8a11c6e3]{border-bottom:1px solid var(--border)}tbody tr[data-v-8a11c6e3]:last-child{border-bottom:none}tbody tr[data-v-8a11c6e3]:nth-child(2n){background:#f8fafc}td[data-v-8a11c6e3]{padding:12px 14px;vertical-align:top;line-height:1.5}.cards-wrap[data-v-8a11c6e3]{display:flex;flex-direction:column;gap:12px}.item-card[data-v-8a11c6e3]{overflow:visible}.card-header[data-v-8a11c6e3]{background:var(--primary);color:#fff;padding:12px 14px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.card-title[data-v-8a11c6e3]{font-size:17px;font-weight:600;line-height:1.4}.card-body[data-v-8a11c6e3]{padding:8px 14px 12px}.card-row[data-v-8a11c6e3]{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);font-size:16px}.card-row[data-v-8a11c6e3]:last-child{border-bottom:none}.card-label[data-v-8a11c6e3]{min-width:96px;flex-shrink:0;font-size:13px;color:var(--text-sub);padding-top:2px}.card-value[data-v-8a11c6e3]{flex:1;line-height:1.5}@media (min-width: 768px){.table-wrap[data-v-8a11c6e3]{display:block}.cards-wrap[data-v-8a11c6e3]{display:none}}.page-header[data-v-7b283518]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.page-title[data-v-7b283518]{font-size:20px;font-weight:700}.btn-refresh[data-v-7b283518]{padding:8px 16px;background:var(--primary);color:#fff;border-radius:8px;font-size:15px;font-family:var(--font)}.btn-refresh[data-v-7b283518]:disabled{opacity:.6;cursor:default}.state-box[data-v-7b283518]{text-align:center;padding:48px 16px;color:var(--text-sub)}.error-box[data-v-7b283518]{padding:16px;color:var(--danger);background:var(--danger-bg)}.summary-cards[data-v-7b283518]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.summary-card[data-v-7b283518]{padding:14px 12px;display:flex;flex-direction:column;gap:4px}.sc-label[data-v-7b283518]{font-size:12px;color:var(--text-sub)}.sc-amount[data-v-7b283518]{font-size:15px;font-weight:700}.income[data-v-7b283518]{color:var(--success)}.expense[data-v-7b283518]{color:var(--danger)}.tabs[data-v-7b283518]{display:flex;background:var(--card);border-radius:var(--radius);padding:4px;margin-bottom:14px;box-shadow:var(--shadow)}.tab-btn[data-v-7b283518]{flex:1;padding:10px;border-radius:8px;font-size:15px;font-family:var(--font);font-weight:500;color:var(--text-sub);transition:all .15s}.tab-btn.active[data-v-7b283518]{background:var(--primary);color:#fff}.month-cards[data-v-7b283518]{display:flex;flex-direction:column;gap:10px}.month-card[data-v-7b283518]{cursor:pointer;transition:box-shadow .15s}.month-card.current[data-v-7b283518]{border-left:4px solid var(--primary)}.month-card-header[data-v-7b283518]{display:flex;align-items:center;gap:8px;padding:14px}.month-info[data-v-7b283518]{display:flex;align-items:center;gap:6px;min-width:72px}.month-label[data-v-7b283518]{font-size:16px;font-weight:700}.badge-current[data-v-7b283518]{font-size:11px;background:var(--primary);color:#fff;padding:1px 6px;border-radius:10px;white-space:nowrap}.month-summary[data-v-7b283518]{flex:1;display:flex;flex-direction:column;gap:2px;font-size:14px}.ms-income[data-v-7b283518]{color:var(--success)}.ms-expense[data-v-7b283518]{color:var(--danger)}.month-balance[data-v-7b283518]{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.mb-label[data-v-7b283518]{font-size:11px;color:var(--text-sub)}.mb-amount[data-v-7b283518]{font-size:14px;font-weight:700;color:var(--primary)}.chevron[data-v-7b283518]{color:var(--text-sub);font-size:12px}.month-detail[data-v-7b283518]{border-top:1px solid var(--border);background:var(--bg)}.detail-empty[data-v-7b283518]{padding:12px 14px;font-size:14px;color:var(--text-sub)}.detail-row[data-v-7b283518]{padding:10px 14px;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:4px;align-items:flex-start}.detail-row[data-v-7b283518]:last-of-type{border-bottom:none}.dr-meta[data-v-7b283518]{flex:1;display:flex;flex-direction:column;gap:2px}.dr-date[data-v-7b283518]{font-size:12px;color:var(--text-sub)}.dr-item[data-v-7b283518]{font-size:15px}.dr-amounts[data-v-7b283518]{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.dr-income[data-v-7b283518]{font-size:15px;font-weight:700;color:var(--success)}.dr-expense[data-v-7b283518]{font-size:15px;font-weight:700;color:var(--danger)}.dr-note[data-v-7b283518]{width:100%;font-size:12px;color:var(--text-sub);padding-top:2px}.detail-sub[data-v-7b283518]{padding:8px 14px;font-size:13px;color:var(--text-sub);background:var(--card);border-top:1px solid var(--border)}.expand-enter-active[data-v-7b283518],.expand-leave-active[data-v-7b283518]{transition:all .2s ease}.expand-enter-from[data-v-7b283518],.expand-leave-to[data-v-7b283518]{opacity:0}.ledger-filters[data-v-7b283518]{padding:12px 14px;margin-bottom:12px}.month-select[data-v-7b283518]{width:100%;padding:10px 12px;font-size:16px;font-family:var(--font);border:1.5px solid var(--border);border-radius:8px;background:#fff;outline:none}.month-select[data-v-7b283518]:focus{border-color:var(--primary)}.ledger-list[data-v-7b283518]{display:flex;flex-direction:column;gap:8px}.ledger-item[data-v-7b283518]{display:flex;justify-content:space-between;align-items:flex-start;padding:13px 14px;border-left:4px solid transparent}.li-income[data-v-7b283518]{border-left-color:var(--success)}.li-expense[data-v-7b283518]{border-left-color:var(--danger)}.li-left[data-v-7b283518]{display:flex;flex-direction:column;gap:3px}.li-date[data-v-7b283518]{font-size:12px;color:var(--text-sub)}.li-item[data-v-7b283518]{font-size:16px;font-weight:500}.li-note[data-v-7b283518]{font-size:12px;color:var(--text-sub)}.li-right[data-v-7b283518]{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.li-amount[data-v-7b283518]{font-size:17px;font-weight:700}.li-balance[data-v-7b283518]{font-size:12px;color:var(--text-sub)}.table-wrap[data-v-7b283518]{display:none;overflow-x:auto}table[data-v-7b283518]{width:100%;border-collapse:collapse;font-size:15px}thead th[data-v-7b283518]{background:var(--primary);color:#fff;padding:11px 14px;text-align:left;font-weight:600;white-space:nowrap}thead th.r[data-v-7b283518]{text-align:right}.table-row[data-v-7b283518]{border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s}.table-row[data-v-7b283518]:nth-child(2n){background:#f8fafc}.table-row[data-v-7b283518]:hover{background:#eff6ff}.table-row.row-current[data-v-7b283518]{font-weight:600}.table-row.row-active[data-v-7b283518]{background:#dbeafe!important}td[data-v-7b283518]{padding:11px 14px;vertical-align:middle}.r[data-v-7b283518]{text-align:right}.td-month[data-v-7b283518]{font-weight:700;white-space:nowrap}.td-income[data-v-7b283518]{color:var(--success);font-weight:600}.td-expense[data-v-7b283518]{color:var(--danger);font-weight:600}.td-balance[data-v-7b283518]{color:var(--primary);font-weight:700}.td-date[data-v-7b283518]{white-space:nowrap;color:var(--text-sub);font-size:14px}.td-note[data-v-7b283518]{color:var(--text-sub);font-size:13px}.detail-tr[data-v-7b283518]{background:var(--bg)!important}.detail-tr td[data-v-7b283518]{padding:8px 14px;font-size:14px}.detail-empty-td[data-v-7b283518]{color:var(--text-sub);font-style:italic}.td-sub-date[data-v-7b283518]{color:var(--text-sub);font-size:13px;padding-left:24px!important}.td-sub-item[data-v-7b283518]{color:var(--text)}@media (min-width: 768px){.summary-card[data-v-7b283518]{padding:18px 20px}.sc-amount[data-v-7b283518]{font-size:18px}.table-wrap[data-v-7b283518]{display:block}.month-cards[data-v-7b283518],.ledger-list[data-v-7b283518]{display:none}.month-select[data-v-7b283518]{max-width:280px}}.page-title[data-v-15f00973]{font-size:20px;font-weight:700;margin-bottom:16px}.announcements[data-v-15f00973]{display:flex;flex-direction:column;gap:14px}.announce-card[data-v-15f00973]{padding:18px}.announce-header[data-v-15f00973]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.announce-tag[data-v-15f00973]{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:700}.tag-important[data-v-15f00973]{background:var(--danger-bg);color:var(--danger)}.tag-notice[data-v-15f00973]{background:#dbeafe;color:#1d4ed8}.tag-event[data-v-15f00973]{background:var(--success-bg);color:var(--success)}.announce-date[data-v-15f00973]{font-size:13px;color:var(--text-sub)}.announce-title[data-v-15f00973]{font-size:18px;font-weight:700;margin-bottom:8px;line-height:1.4}.announce-body[data-v-15f00973]{font-size:16px;line-height:1.7;color:#374151}.page-title[data-v-1d3c7838]{font-size:20px;font-weight:700;margin-bottom:16px}.building-selector[data-v-1d3c7838]{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.building-btn[data-v-1d3c7838]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:18px 12px;border:2px solid var(--border);border-radius:14px;background:var(--card);font-family:var(--font);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.building-btn.active[data-v-1d3c7838]{border-color:var(--primary);background:#eff6ff;box-shadow:0 0 0 3px #1a56db1f}.building-icon[data-v-1d3c7838]{font-size:28px}.building-label[data-v-1d3c7838]{font-size:20px;font-weight:700;color:var(--text)}.building-btn.active .building-label[data-v-1d3c7838]{color:var(--primary)}.building-sub[data-v-1d3c7838]{font-size:13px;color:var(--text-sub)}.unit-picker[data-v-1d3c7838]{padding:16px;margin-bottom:16px}.picker-hint[data-v-1d3c7838]{font-size:14px;color:var(--text-sub);margin-bottom:14px}.unit-row[data-v-1d3c7838]{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.unit-row[data-v-1d3c7838]:last-child{border-bottom:none}.row-prefix[data-v-1d3c7838]{font-size:20px;font-weight:800;color:var(--primary);width:28px;flex-shrink:0}.row-units[data-v-1d3c7838]{display:flex;gap:10px;flex-wrap:wrap}.unit-btn[data-v-1d3c7838]{min-width:60px;height:48px;padding:0 12px;border:2px solid var(--border);border-radius:10px;background:#fff;font-size:18px;font-weight:700;font-family:var(--font);color:var(--text);cursor:pointer;transition:all .15s}.unit-btn[data-v-1d3c7838]:active{transform:scale(.94)}.unit-btn.active[data-v-1d3c7838]{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 2px 8px #1a56db4d}.fee-detail[data-v-1d3c7838]{margin-bottom:16px;overflow:hidden}.detail-header[data-v-1d3c7838]{display:flex;justify-content:space-between;align-items:center;background:var(--primary);color:#fff;padding:16px 18px}.detail-unit[data-v-1d3c7838]{display:flex;flex-direction:column;gap:2px}.detail-unit-label[data-v-1d3c7838]{font-size:13px;opacity:.8}.detail-unit-no[data-v-1d3c7838]{font-size:30px;font-weight:800;letter-spacing:2px}.detail-monthly[data-v-1d3c7838]{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.monthly-label[data-v-1d3c7838]{font-size:13px;opacity:.8}.monthly-amount[data-v-1d3c7838]{font-size:26px;font-weight:700}.detail-body[data-v-1d3c7838]{padding:12px 18px;display:flex;flex-direction:column;gap:12px}.detail-section[data-v-1d3c7838]{background:var(--bg);border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:0}.section-title[data-v-1d3c7838]{font-size:13px;font-weight:600;color:var(--text-sub);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.detail-item[data-v-1d3c7838]{display:flex;justify-content:space-between;padding:6px 0;font-size:16px;border-bottom:1px solid var(--border)}.detail-item[data-v-1d3c7838]:last-child{border-bottom:none}.detail-label[data-v-1d3c7838]{color:var(--text-sub)}.detail-value[data-v-1d3c7838]{font-weight:600}.annual-bar[data-v-1d3c7838]{display:flex;justify-content:space-between;align-items:center;background:var(--success-bg);padding:14px 18px}.annual-label[data-v-1d3c7838]{font-size:15px;color:var(--success);font-weight:600}.annual-amount[data-v-1d3c7838]{font-size:22px;font-weight:800;color:var(--success)}.slide-up-enter-active[data-v-1d3c7838],.slide-up-leave-active[data-v-1d3c7838]{transition:all .25s ease}.slide-up-enter-from[data-v-1d3c7838],.slide-up-leave-to[data-v-1d3c7838]{opacity:0;transform:translateY(12px)}.table-wrap[data-v-1d3c7838]{display:none;overflow-x:auto}table[data-v-1d3c7838]{width:100%;border-collapse:collapse;font-size:15px;white-space:nowrap}thead th[data-v-1d3c7838]{background:var(--primary);color:#fff;padding:12px 14px;text-align:left;font-weight:600}.table-row[data-v-1d3c7838]{border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s}.table-row[data-v-1d3c7838]:last-child{border-bottom:none}.table-row[data-v-1d3c7838]:nth-child(2n){background:#f8fafc}.table-row[data-v-1d3c7838]:hover{background:#eff6ff}.table-row.row-active[data-v-1d3c7838]{background:#dbeafe!important}td[data-v-1d3c7838]{padding:11px 14px;vertical-align:middle}.td-unit[data-v-1d3c7838]{font-weight:700}.td-total[data-v-1d3c7838]{font-weight:700;color:var(--primary);font-size:15px}@media (min-width: 768px){.table-wrap[data-v-1d3c7838]{display:block}.unit-picker[data-v-1d3c7838],.fee-detail[data-v-1d3c7838]{display:none}.building-selector[data-v-1d3c7838]{max-width:400px}}.view[data-v-d37f3c42]{display:flex;align-items:flex-start;justify-content:center;padding-top:24px}.box[data-v-d37f3c42]{width:100%;max-width:520px;padding:36px 28px;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.icon[data-v-d37f3c42]{font-size:52px;line-height:1}.title[data-v-d37f3c42]{font-size:22px;font-weight:700}.desc[data-v-d37f3c42]{font-size:17px;line-height:1.8;color:#374151;max-width:420px}.form-btn[data-v-d37f3c42]{display:inline-block;margin-top:8px;padding:14px 32px;background:var(--primary);color:#fff;font-size:18px;font-weight:600;border-radius:10px;text-decoration:none;transition:opacity .15s}.form-btn[data-v-d37f3c42]:active{opacity:.8}.view[data-v-4c854701]{display:flex;align-items:flex-start;justify-content:center;padding-top:24px}.box[data-v-4c854701]{width:100%;max-width:520px;padding:36px 28px;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.icon[data-v-4c854701]{font-size:52px;line-height:1}.title[data-v-4c854701]{font-size:22px;font-weight:700}.desc[data-v-4c854701]{font-size:17px;line-height:1.8;color:#374151;max-width:420px}.drive-btn[data-v-4c854701]{display:inline-block;margin-top:8px;padding:14px 32px;background:#1a73e8;color:#fff;font-size:18px;font-weight:600;border-radius:10px;text-decoration:none;transition:opacity .15s}.drive-btn[data-v-4c854701]:active{opacity:.8}:root{--primary: #1a56db;--primary-dark: #1e3a8a;--success: #15803d;--success-bg: #dcfce7;--warning: #a16207;--warning-bg: #fef9c3;--danger: #b91c1c;--danger-bg: #fee2e2;--neutral: #475569;--neutral-bg: #f1f5f9;--text: #111827;--text-sub: #6b7280;--bg: #f0f2f5;--card: #ffffff;--border: #e2e8f0;--header-h: 58px;--nav-h: 62px;--font: "PingFang TC", "Microsoft JhengHei", "Noto Sans TC", sans-serif;--radius: 12px;--shadow: 0 1px 4px rgba(0, 0, 0, .08)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:17px;-webkit-text-size-adjust:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.6}a{color:inherit;text-decoration:none}button{font-family:var(--font);cursor:pointer;border:none;background:none}.app{min-height:100svh;display:flex;flex-direction:column}.view{padding:16px;padding-bottom:calc(var(--nav-h) + 16px)}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:13px;font-weight:600;white-space:nowrap}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-neutral{background:var(--neutral-bg);color:var(--neutral)}.state-box{text-align:center;padding:48px 16px;color:var(--text-sub);font-size:16px}@media (min-width: 768px){.view{padding:24px;max-width:1200px;margin:0 auto;width:100%}}
