:root{--ink:#0f172a;--sub:#5b6577;--hint:#98a2b3;--line:#e9ecf3;--bg:#f4f6fa;--card:#fff;--brand:#2f6bff;--brand-soft:#ebf1ff;--money:#0a9e63;--money-soft:#e6f6ef;--warn:#e8952b;--warn-soft:#fdf3e3;--danger:#e5484d;--danger-soft:#fdecec;--violet:#7b5cfa;--radius:16px}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body,html{max-width:100vw;overflow-x:hidden}body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,HarmonyOS Sans SC,Microsoft YaHei,sans-serif;background:#e9edf4;color:var(--ink);-webkit-font-smoothing:antialiased;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}a{color:inherit;text-decoration:none}.shell{max-width:480px;margin:0 auto;min-height:100vh;background:var(--bg);display:flex;flex-direction:column;position:relative}@media (min-width:481px){body{padding:0}.shell{min-height:100vh;box-shadow:0 0 40px rgba(16,24,40,.08)}}.main{flex:1 1;overflow-y:auto;padding:14px 16px 90px}.nav{height:52px;display:flex;align-items:center;gap:10px;padding:0 16px;background:#fff;border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:20}.nav .title{font-size:15.5px;font-weight:600}.nav .right{margin-left:auto;font-size:12px;color:var(--sub)}.card{background:var(--card);border-radius:var(--radius);padding:15px;margin-bottom:11px;border:1px solid #eff2f7}.hero{border-radius:20px;padding:18px;color:#fff;margin-bottom:12px;background:linear-gradient(152deg,#1b2a52,#20356b 55%,#253e7c);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-70px;top:-80px;background:rgba(92,138,255,.18)}.hero .lab{font-size:11.5px;color:#a8bce4}.hero .amt{font-size:36px;font-weight:600;line-height:1.25;margin:4px 0 2px;letter-spacing:-1px}.hero .amt small{font-size:16px;font-weight:500;margin-right:2px;opacity:.85}.hero .cmp{font-size:11.5px;color:#8fe0b8}.hero .split{display:flex;margin-top:16px;padding-top:13px;border-top:1px solid hsla(0,0%,100%,.14);position:relative;z-index:2}.hero .split>div{flex:1 1}.hero .split .k{font-size:10.5px;color:#9db1d8;margin-bottom:3px}.hero .split .v{font-size:15px;font-weight:600}.hero .split .v.g{color:#7be0b0}.btn{display:flex;align-items:center;justify-content:center;gap:6px;height:46px;border-radius:13px;border:none;font-family:inherit;font-size:14.5px;font-weight:600;cursor:pointer;width:100%;transition:.15s}.btn.primary{background:var(--brand);color:#fff}.btn.primary:hover{background:#1d4fd8}.btn.primary:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{background:#fff;color:var(--brand);border:1.2px solid #d5e0ff}.btn.sm{height:36px;font-size:12.5px;border-radius:10px;width:auto;padding:0 15px}.acts{display:flex;gap:10px;margin-bottom:13px}.acts .btn{flex:1 1}.sec{font-size:12.5px;font-weight:600;margin:16px 2px 9px;display:flex;align-items:center;justify-content:space-between}.muted{color:var(--sub);font-size:12px}.hint{color:var(--hint);font-size:11px}.money{font-weight:600;color:var(--money)}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}.badge{font-size:10.5px;padding:2.5px 8px;border-radius:20px;font-weight:500;white-space:nowrap}.badge.ok{background:var(--money-soft);color:var(--money)}.badge.wait{background:var(--warn-soft);color:var(--warn)}.badge.no{background:var(--danger-soft);color:var(--danger)}.badge.info{background:var(--brand-soft);color:var(--brand)}.pf{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0}.list{background:#fff;border-radius:var(--radius);border:1px solid #eff2f7;overflow:hidden;margin-bottom:11px}.item{display:flex;align-items:center;gap:11px;padding:13px 15px;border-bottom:1px solid #f6f8fb}.item:last-child{border-bottom:none}.item .info{flex:1 1;min-width:0}.item .l1{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500}.item .l2{font-size:10.5px;color:var(--hint);margin-top:3px}.item .amt{text-align:right;flex-shrink:0}.item .amt .v{font-size:13.5px;font-weight:600;color:var(--money)}.item .amt .k{font-size:9.5px;color:var(--hint);margin-top:2px}.sum{display:flex;background:#fff;border-radius:var(--radius);padding:14px 4px;margin-bottom:11px;border:1px solid #eff2f7}.sum>div{flex:1 1;text-align:center;position:relative}.sum>div+div:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:1px;background:var(--line)}.sum .k{font-size:10.5px;color:var(--sub);margin-bottom:3px}.sum .v{font-size:15px;font-weight:600}.field{margin-bottom:14px}.field .lab{font-size:12px;font-weight:500;margin-bottom:7px;display:flex;justify-content:space-between}.field input{width:100%;height:46px;border:1.5px solid var(--line);border-radius:12px;padding:0 14px;font-family:inherit;font-size:15px;color:var(--ink);background:#fff;outline:none}.field input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(47,107,255,.1)}.notice{background:var(--warn-soft);font-size:11px;color:#96601a;line-height:1.75;margin-bottom:14px}.error,.notice{border-radius:10px;padding:10px 12px}.error{background:var(--danger-soft);color:#b4323a;font-size:12px;margin-bottom:12px}.chart{display:flex;align-items:flex-end;gap:9px;height:96px;margin-top:6px}.chart .col{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%}.chart .bar{width:100%;border-radius:6px 6px 3px 3px;background:#dde6fa;margin-top:auto}.chart .col.hi .bar{background:var(--brand)}.chart .col span{font-size:10px;color:var(--hint)}.tabbar{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;height:64px;background:#fff;border-top:1px solid var(--line);display:flex;z-index:30}.tabbar .it{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--hint);font-size:10px}.tabbar .it.on{color:var(--brand);font-weight:500}.tabbar .it svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.7}.empty{text-align:center;padding:40px 20px;color:var(--hint);font-size:12.5px}