.login-page[data-v-10911b65]{min-height:100vh;display:flex;flex-direction:column;justify-content:center}.brand[data-v-10911b65]{text-align:center;margin-bottom:28px}.brand img[data-v-10911b65]{height:80px}.slogan[data-v-10911b65]{font-size:12px;color:var(--muted);margin-top:10px;letter-spacing:1px}.form[data-v-10911b65]{padding:22px 18px}.field[data-v-10911b65]{margin-bottom:16px}.field label[data-v-10911b65]{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}.field input[data-v-10911b65]{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px;font-size:15px;outline:none;background:#fafaf8}.field input[data-v-10911b65]:focus{border-color:var(--ink)}.code-row[data-v-10911b65]{display:grid;grid-template-columns:1fr}.code-row input[data-v-10911b65]{margin-bottom:8px}.tip[data-v-10911b65]{font-size:11px;color:var(--muted);text-align:center;margin-top:12px}.foot[data-v-10911b65]{text-align:center;font-size:11px;color:var(--muted);margin-top:20px}.join-page[data-v-0f9c3afa]{min-height:100vh}.brand[data-v-0f9c3afa]{text-align:center;padding:30px 0 20px}.brand img[data-v-0f9c3afa]{height:64px}.center[data-v-0f9c3afa]{text-align:center}.invited[data-v-0f9c3afa]{padding:10px 0 4px}.t1[data-v-0f9c3afa]{font-size:18px;font-weight:600}.t2[data-v-0f9c3afa]{font-size:13px;color:var(--muted);margin:6px 0 10px}.t2 b[data-v-0f9c3afa]{color:var(--accent);font-size:15px;letter-spacing:1px}.rule[data-v-0f9c3afa]{font-size:12px;color:var(--muted);margin:14px 0 16px;text-align:left}.perks .v[data-v-0f9c3afa]{font-size:13px}.chart[data-v-f27fcab7]{display:flex;align-items:flex-end;gap:8px;height:96px;padding-top:6px}.bar-col[data-v-f27fcab7]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}.bar[data-v-f27fcab7]{width:55%;max-width:26px;background:var(--ink);border-radius:4px 4px 0 0}.bar-label[data-v-f27fcab7]{font-size:10px;color:var(--muted);margin-top:6px}.role-switch[data-v-80cb07e7]{display:flex;gap:8px;flex-wrap:wrap}.chip[data-v-80cb07e7]{padding:7px 14px;border-radius:9px;border:1px solid var(--line);background:#fff;font-size:13px;cursor:pointer}.chip.on[data-v-80cb07e7]{background:var(--ink);color:#fff;border-color:var(--ink)}.me-head[data-v-80cb07e7]{display:flex;align-items:center;gap:12px}.avatar[data-v-80cb07e7]{width:46px;height:46px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600}.menu[data-v-80cb07e7]{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);cursor:pointer;font-size:14px}.menu[data-v-80cb07e7]:last-child{border-bottom:none}.menu i[data-v-80cb07e7]{font-style:normal;font-size:12px;color:var(--muted)}.menu.logout span[data-v-80cb07e7]{color:var(--red)}.center[data-v-80cb07e7]{text-align:center}.qr[data-v-80cb07e7]{width:190px;height:190px;margin:8px auto;display:block;border:1px solid var(--line);border-radius:10px;padding:6px;background:#fff}.s[data-v-80cb07e7]{font-size:12px;color:var(--muted);margin:6px 0 12px}.ref[data-v-80cb07e7]{color:var(--accent);letter-spacing:1px}.btn.small[data-v-80cb07e7]{margin:0 auto}:root{--ink: #111111;--ink2: #444441;--muted: #888780;--line: #e8e6df;--accent: #b9791a;--accent-soft: #faeeda;--bg: #f6f5f1;--card: #ffffff;--green: #3b6d11;--red: #a32d2d}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.6}#app{max-width:480px;margin:0 auto;min-height:100vh;background:var(--bg);position:relative}.page{padding:16px 16px 84px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:12px}.card-title{font-size:13px;color:var(--muted);margin-bottom:10px}.kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.kpi .num{font-size:22px;font-weight:600;letter-spacing:-.5px}.kpi .num small{font-size:12px;font-weight:400;color:var(--muted);margin-left:2px}.kpi .label{font-size:12px;color:var(--muted)}.row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:none}.row .t{font-size:14px}.row .s{font-size:12px;color:var(--muted)}.row .v{font-size:14px;font-weight:500}.row .v.in{color:var(--green)}.row .v.out{color:var(--red)}.btn{display:block;width:100%;padding:13px;border:none;border-radius:12px;background:var(--ink);color:#fff;font-size:15px;font-weight:500;cursor:pointer}.btn:active{opacity:.85}.btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--ink)}.btn.accent{background:var(--accent)}.btn.small{width:auto;padding:8px 14px;font-size:13px;border-radius:9px}.btn:disabled{opacity:.45}.tag{display:inline-block;font-size:11px;padding:2px 8px;border-radius:6px;background:var(--accent-soft);color:var(--accent)}.empty{text-align:center;color:var(--muted);padding:40px 0;font-size:13px}.tabbar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;display:flex;background:#fffffff5;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:50}.tabbar .tab{flex:1;text-align:center;padding:10px 0 8px;font-size:11px;color:var(--muted);cursor:pointer;text-decoration:none}.tabbar .tab .ico{display:block;font-size:20px;line-height:1.2}.tabbar .tab.on{color:var(--ink);font-weight:500}.hdr{display:flex;align-items:center;gap:10px;padding:14px 16px 10px}.hdr img{height:44px}.hdr .name{font-size:17px;font-weight:600;letter-spacing:.5px}.hdr .sub{margin-left:auto}.banner{background:var(--ink);color:#fff;border-radius:14px;padding:18px 16px;margin-bottom:12px}.banner .hi{font-size:15px;font-weight:500}.banner .role-line{font-size:12px;opacity:.72;margin-top:2px}
