page{--ink:#22453c;--ink-2:#5a7268;--ink-3:#93a69d;--primary:#2e7d6b;--primary-deep:#1f4e42;--accent:#d98e5f;--accent-soft:#f6e3d3;--gold:#c9a25e;--bg:#f6f3ec;--line:#e8e2d6;--danger:#c25b4e;background:var(--bg);color:var(--ink);font-size:.7rem}:root{--ink:#22453c;--ink-2:#5a7268;--ink-3:#93a69d;--primary:#2e7d6b;--primary-deep:#1f4e42;--accent:#d98e5f;--accent-soft:#f6e3d3;--gold:#c9a25e;--bg:#f6f3ec;--line:#e8e2d6;--danger:#c25b4e}body{background:var(--bg);color:var(--ink);font-size:.7rem;margin:0}.page{box-sizing:border-box;padding:.6rem .6rem 3.5rem}@media (min-width:768px){.page{margin:0 auto;max-width:12rem;padding-top:.8rem}}.hero{background:linear-gradient(165deg,#e3f0e9,#f6f3ec 78%);border-radius:0 0 .8rem .8rem;margin:-.6rem -.6rem .6rem;padding:.9rem .8rem 1rem}.hi-top{align-items:center;display:flex;justify-content:space-between}.brand{color:var(--primary-deep);font-family:"Noto Serif SC",Songti SC,serif;font-size:1.05rem;font-weight:900;letter-spacing:.15rem}.hi-user{align-items:center;background:hsla(0,0%,100%,.72);border-radius:24.975rem;color:var(--primary);display:flex;font-size:.6rem;gap:.2rem;padding:.25rem .55rem}.uava{font-size:.65rem}.hi-title{color:var(--ink);font-family:"Noto Serif SC",Songti SC,serif;font-size:1.15rem;font-weight:700;line-height:1.45;margin-top:1.1rem}.hi-sub{color:var(--ink-2);font-size:.6rem;margin-top:.4rem}.hi-search{background:#fff;border-radius:24.975rem;box-shadow:0 .15rem .6rem rgba(34,69,60,.08);color:var(--ink-3);font-size:.65rem;margin-top:.8rem;padding:.5rem .7rem}.home-grid{display:grid;gap:.3rem;grid-template-columns:repeat(5,1fr)}.hg-item{align-items:center;display:flex;flex-direction:column;gap:.3rem}.hg-item .hi{align-items:center;border-radius:.6rem;display:flex;font-size:.85rem;height:2.1rem;justify-content:center;width:2.1rem}.hg-item .ht{color:var(--ink-2);font-size:.55rem}.merchant-entry{align-items:center;background:linear-gradient(120deg,var(--accent-soft),#fbf1e6);border-radius:.5rem;box-shadow:0 .15rem .6rem rgba(34,69,60,.08);display:flex;justify-content:space-between;margin-top:.6rem;padding:.7rem .75rem}.me-title{color:var(--primary-deep);font-family:"Noto Serif SC",Songti SC,serif;font-size:.75rem;font-weight:700}.me-sub{color:var(--ink-2);font-size:.55rem;margin-top:.2rem}.me-arrow{color:var(--ink-3);font-size:1rem}.sec-head{align-items:center;display:flex;justify-content:space-between;padding:.4rem .1rem .5rem}.sec-head .st{color:var(--primary-deep);font-family:"Noto Serif SC",Songti SC,serif;font-size:.8rem;font-weight:700}.sec-head .smore{color:var(--ink-3);font-size:.6rem}.article-row{align-items:center;background:#fff;border-radius:.5rem;box-shadow:0 .15rem .6rem rgba(34,69,60,.06);display:flex;gap:.5rem;margin-bottom:.4rem;padding:.55rem}.a-cover{align-items:center;background:#e3f0e9;border-radius:.4rem;display:flex;flex-shrink:0;font-size:1rem;height:2.6rem;justify-content:center;width:2.6rem}.a-title{color:var(--ink);font-size:.7rem;font-weight:600}.a-date{color:var(--ink-3);font-size:.55rem;margin-top:.25rem}.card{background:#fff;border-radius:.5rem;box-shadow:0 .15rem .6rem rgba(34,69,60,.06);margin-bottom:.5rem;padding:.7rem}.card-title{align-items:center;display:flex;font-size:.75rem;font-weight:600;justify-content:space-between;margin-bottom:.5rem}.row{align-items:center;display:flex;gap:.4rem;justify-content:space-between;padding:.4rem 0}.row .tag{flex-shrink:0;white-space:nowrap}.row-label{color:var(--ink-2)}.row-value{font-weight:500}.muted{color:var(--ink-3);font-size:.6rem}.primary{color:var(--primary)}.danger{color:var(--danger)}.success{color:var(--primary)}.warn{color:var(--accent)}.grid{display:grid;gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}.grid-item{background:#fff;border-radius:.5rem;box-shadow:0 .15rem .6rem rgba(34,69,60,.06);box-sizing:border-box;min-width:0;padding:.7rem .5rem;text-align:center}.grid-icon{background:#e3f0e9;border-radius:50%;color:var(--primary);font-size:.8rem;font-weight:600;height:1.9rem;line-height:1.9rem;margin:0 auto .35rem;text-align:center;width:1.9rem}.stat-row{display:flex;justify-content:space-around;padding:.5rem 0;text-align:center}.stat-num{color:var(--primary);font-size:1rem;font-weight:700}.stat-label{color:var(--ink-3);font-size:.6rem;margin-top:.2rem}.btn{background:var(--primary);border-radius:.35rem;box-shadow:0 .2rem .5rem rgba(46,125,107,.24);color:#fff;font-size:.75rem;font-weight:600;margin-top:.5rem;padding:.6rem 0;text-align:center}.btn-plain{background:#fff;border:.05rem solid var(--primary);box-shadow:none;color:var(--primary)}.btn-gray{background:#eef0ea;box-shadow:none;color:var(--ink-2)}.btn-warn{background:var(--accent);box-shadow:0 .2rem .5rem rgba(217,142,95,.28)}.btn-sm{font-size:.65rem;height:1.6rem;line-height:1.6rem;margin-top:0;padding:0 .7rem}.input{background:#fbfaf6;border-radius:.35rem;color:var(--ink);font-size:.7rem;margin-bottom:.5rem;padding:.55rem .6rem}.tag{background:#e3f0e9;border-radius:.2rem;color:var(--primary);display:inline-block;font-size:.55rem;padding:.1rem .4rem}.tag-warn{background:var(--accent-soft);color:var(--accent)}.tag-success{background:#e3f0e9;color:var(--primary)}.tag-danger{background:#f8e7e5;color:var(--danger)}.list-item{align-items:center;border-bottom:.05rem solid var(--line);display:flex;justify-content:space-between;padding:.6rem 0}.avatar{background:#e3f0e9;border-radius:50%;height:1.8rem;margin-right:.5rem;width:1.8rem}.empty{color:var(--ink-3);padding:2rem 0;text-align:center}.qrcode-wrap{background:#fff;border-radius:.5rem;padding:1rem;text-align:center}.code-text{font-size:.9rem;font-weight:700;letter-spacing:.05rem;margin-top:.6rem}.app-tabbar{background:hsla(0,0%,100%,.98);border-top:.05rem solid #e2e8e4;bottom:0;display:flex;left:50%;max-width:18.75rem;padding:.3rem 0 calc(.3rem + env(safe-area-inset-bottom));position:fixed;transform:translateX(-50%);width:100%;z-index:100}.app-tabbar-item{align-items:center;color:#93a69d;display:flex;flex:1;flex-direction:column;gap:.15rem;justify-content:center}.app-tabbar-icon{background:#eef2ef;border-radius:.3rem;color:#93a69d;font-size:.6rem;font-weight:600;height:1.15rem;line-height:1.15rem;text-align:center;width:1.15rem}.app-tabbar-text{font-size:.55rem;line-height:1.2}.app-tabbar-item.on{color:#2e7d6b}.app-tabbar-item.on .app-tabbar-icon{background:#2e7d6b;color:#fff}@media (min-width:768px){.app-tabbar{max-width:12rem}}.has-tabbar{padding-bottom:3.75rem}.mini-tabbar{background:hsla(0,0%,100%,.96);border-top:.05rem solid var(--line);bottom:0;display:flex;height:2.75rem;left:50%;max-width:18.75rem;position:fixed;transform:translateX(-50%);width:100%;z-index:60}.mini-tabbar-item{align-items:center;color:var(--ink-3);display:flex;flex:1;flex-direction:column;gap:.1rem;justify-content:center}.mini-tabbar-item.on{color:var(--primary)}@media (min-width:768px){.mini-tabbar{max-width:12rem}}.nav-back{color:var(--primary);display:inline-block;font-size:.7rem;padding:.1rem 0 .45rem}.field-err{color:#c25b4e;font-size:.55rem;line-height:1.5;margin:-.15rem 0 .25rem}.input-err{background:#fdf6f5!important;border:.05rem solid #e0a9a2!important}.field-hint{color:var(--ink-3);font-size:.55rem;line-height:1.5;margin:-.15rem 0 .25rem}.mask{align-items:center;background:rgba(34,69,60,.45);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:200}.modal-box{background:#fff;border-radius:.5rem;box-shadow:0 .3rem 1rem rgba(34,69,60,.2);max-width:90%;padding:.8rem;width:15rem}.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem}.chip{background:#fff;border-radius:24.975rem;box-shadow:0 .1rem .35rem rgba(34,69,60,.06);color:var(--ink-2);font-size:.6rem;padding:.3rem .7rem}.chip.on{background:var(--primary);color:#fff}.chip.disabled{background:#f1f4f2;color:var(--ink-3);opacity:.45}.home-banner{border-radius:.5rem;height:6.5rem;margin-bottom:.6rem;overflow:hidden}.banner-item{display:flex;flex-direction:column;height:6.5rem;justify-content:center;padding:0 1rem}.banner-title{color:#fff;font-size:1rem;font-weight:700}.banner-sub{color:hsla(0,0%,100%,.85);font-size:.6rem;margin-top:.3rem}.banner-btn{background:hsla(0,0%,100%,.22);border-radius:24.975rem;color:#fff;display:inline-block;font-size:.6rem;margin-top:.6rem;padding:.25rem .7rem}