:root,page{--c-brand:#1f9e78;--c-brand-strong:#178a67;--c-brand-weak:#e4f3ee;--c-brand-ink:#0f5b44;--c-success:#1f9e78;--c-success-bg:#e4f3ee;--c-warning:#e0913a;--c-warning-bg:#fdf0e2;--c-danger:#d4674a;--c-danger-bg:#fbece8;--c-ink:#183a31;--c-text:#2b3a34;--c-muted:#7c8c85;--c-hint:#a2b0a9;--c-on-brand:#fff;--c-bg:#f4f8f6;--c-surface:#fff;--c-subtle:#eef4f2;--c-line:#eef2f0;--c-line-2:#e3ebe7;--cat-food-bg:#e4f3ee;--cat-food:#1f8a68;--cat-traf-bg:#eaf0fb;--cat-traf:#3f6bb5;--cat-stay-bg:#f1ecfb;--cat-stay:#6a4fb0;--cat-tick-bg:#fdf0e2;--cat-tick:#c47a26;--cat-shop-bg:#fbe9f0;--cat-shop:#b84a72;--cat-etc-bg:#eef2f0;--cat-etc:#6b7b74;--fs-display:1.5rem;--fs-h1:1.1rem;--fs-h2:0.9rem;--fs-title:0.8rem;--fs-body:0.7rem;--fs-sm:0.6rem;--fs-xs:0.55rem;--fw-regular:400;--fw-medium:600;--fw-bold:800;--font-num:"SF Pro Display",ui-monospace,"PingFang SC",sans-serif;--sp-1:0.2rem;--sp-2:0.4rem;--sp-3:0.6rem;--sp-4:0.8rem;--sp-5:1rem;--sp-6:1.2rem;--sp-8:1.6rem;--r-pill:49.95rem;--r-card:0.9rem;--r-hero:1.1rem;--r-ctrl:0.6rem;--r-chip:1rem;--sh-card:0 0.2rem 0.8rem rgba(31,120,95,.06);--sh-hero:0 0.3rem 1rem rgba(31,120,95,.08);--sh-fab:0 0.5rem 1rem rgba(31,120,95,.32);--sh-pop:0 0.4rem 1.2rem rgba(20,50,40,.14);--ease:cubic-bezier(.2,.7,.3,1);--dur:.18s;--tabbar-h:2.9rem;--safe-b:env(safe-area-inset-bottom,0rem)}.btn-primary{background:var(--c-brand);border:none;border-radius:var(--r-ctrl);box-shadow:var(--sh-fab);color:var(--c-on-brand);font-size:var(--fs-body);font-weight:var(--fw-bold);padding:.6rem .8rem}.btn-ghost{background:var(--c-surface);border:.05rem solid var(--c-brand);border-radius:var(--r-ctrl);color:var(--c-brand);font-weight:var(--fw-medium);padding:.55rem .8rem}.card{border-radius:var(--r-card);padding:var(--sp-4)}.chip{align-items:center;border-radius:var(--r-chip);display:inline-flex;font-size:var(--fs-xs);font-weight:var(--fw-medium);gap:.2rem;padding:.2rem .5rem}.amount{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-weight:var(--fw-bold);letter-spacing:-.015rem}.amount--recv{color:var(--c-success)}.amount--pay{color:var(--c-danger)}.progress{background:var(--c-subtle);border-radius:.3rem;height:.4rem;overflow:hidden}.progress > i{background:var(--c-brand);border-radius:.3rem;display:block;height:100%}.progress.is-warn > i{background:var(--c-warning)}.page{background:var(--c-bg);min-height:100vh;padding:.8rem .8rem 1.5rem}.back{color:var(--c-brand);display:block;font-size:.65rem;font-weight:700;padding:.1rem .1rem .5rem}.hint{color:var(--c-muted);font-size:.65rem}.hero{background:linear-gradient(150deg,#2ba986,#178a67);border-radius:1rem;box-shadow:0 .4rem 1.1rem rgba(31,120,95,.1);margin-bottom:.6rem;padding:.9rem}.h-name{color:#d3f0e6;display:block;font-size:.7rem}.h-amt{color:#fff;display:block;font-size:1.5rem;font-variant-numeric:tabular-nums;font-weight:800;margin:.2rem 0}.h-sub{color:#d3f0e6;display:block;font-size:.6rem}.card{background:var(--c-surface);border-radius:.9rem;box-shadow:var(--sh-card);margin-bottom:.55rem;padding:.7rem}.sec{color:var(--c-ink);display:block;font-size:.65rem;font-weight:800;margin-bottom:.4rem}.drow{align-items:center;border-top:.05rem solid var(--c-line);display:flex;justify-content:space-between;padding:.45rem 0}.drow:first-of-type{border-top:none}.drow.total .dk,.drow.total .dmain{color:var(--c-ink);font-weight:800}.dk{color:var(--c-text);font-size:.65rem}.dv{text-align:right}.dmain{color:var(--c-ink);font-size:.65rem;font-variant-numeric:tabular-nums;font-weight:700}.dsub{color:var(--c-muted);display:block;font-size:.55rem;margin-top:.1rem}.ro{color:var(--c-hint);display:block;font-size:.6rem;margin-top:.3rem;text-align:center}.acts{display:flex;gap:.6rem;margin-top:.4rem}.act{border-radius:.7rem;flex:1;font-size:.75rem;font-weight:800;padding:.65rem;text-align:center}.act.edit{background:var(--c-brand);box-shadow:var(--sh-fab);color:#fff;flex:2}.act.del{background:var(--c-danger-bg);color:var(--c-danger)}.editinfo{background:var(--c-subtle);border-radius:.6rem;color:var(--c-muted);display:block;font-size:.575rem;margin-bottom:.5rem;padding:.5rem .65rem}.hero{position:relative}.h-edit{bottom:.65rem;color:hsla(0,0%,100%,.8);font-size:.55rem;max-width:60%;position:absolute;right:.75rem;text-align:right}