.toast{z-index:60;left:50%;bottom:calc(var(--tabbar-h) + var(--safe-b) + 84px);color:#fff;text-align:center;background:#000000c7;border-radius:999px;max-width:78vw;padding:9px 16px;font-size:13px;position:fixed;transform:translate(-50%)}.fade-enter-active,.fade-leave-active{transition:opacity .2s}.fade-enter-from,.fade-leave-to{opacity:0}:root{--brand:#2a62ff;--brand-1:#1b66ff;--brand-2:#3369ff;--brand-3:#386cfa;--brand-4:#3259ff;--brand-grad:linear-gradient(160deg, #4a7bff 0%, #2a62ff 46%, #1b66ff 100%);--tint:#f5f7fe;--text:#545454;--text-strong:#3e3e3e;--text-sub:#444d68;--text-mute:#8c93a3;--line:#bfc6d0;--line-2:#c0c4cc;--line-3:#eef0f4;--bg:#f8f8f8;--card:#fff;--danger:#ff3f48;--ok:#12a150;--warn:#ff8f1f;--r-sm:6.4px;--r-md:8px;--r-lg:18px;--r:19px;--safe-b:env(safe-area-inset-bottom,0px);--tabbar-h:54px;--ease:cubic-bezier(.4, 0, .2, 1);--ease-back:cubic-bezier(.34, 1.4, .64, 1);--shadow-1:0 1px 2px #14101e0a;--shadow-2:0 1px 2px #14101e0a, 0 10px 26px -20px #14101e59;--shadow-3:0 6px 18px -6px #2a62ff73}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}html,body,#app{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:14px/1.55 PingFangSC-Regular,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Tahoma,Arial,sans-serif}.page{min-height:100%;padding-bottom:calc(var(--tabbar-h) + var(--safe-b) + 12px)}.page-white{background:var(--card)}.hero{background:var(--brand-grad);color:#fff;padding:14px 16px 0;position:relative;overflow:hidden}.hero:after{content:"";background:#ffffff12;border-radius:50%;width:220px;height:220px;position:absolute;bottom:-90px;right:-60px}.hero-top{align-items:center;gap:10px;min-height:32px;display:flex}.hero-top .title{letter-spacing:.3px;font-size:17px;font-weight:600}.hero-top .spacer{flex:1}.hero-top .icon-btn{color:#fff;opacity:.95;place-items:center;width:30px;height:30px;font-size:17px;display:grid}.hero-label{opacity:.85;margin-top:18px;font-size:13px}.hero-amount{justify-content:space-between;align-items:flex-end;gap:12px;margin-top:2px;display:flex}.hero-amount .num{font-variant-numeric:tabular-nums;letter-spacing:-.5px;font-size:40px;font-weight:700;line-height:1.15}.hero-amount .num small{opacity:.85;margin-left:4px;font-size:15px;font-weight:500}.kpi-row{border-top:1px solid #ffffff2e;grid-auto-columns:1fr;grid-auto-flow:column;margin-top:16px;padding:14px 0 18px;display:grid}.kpi-row .kpi{text-align:center;min-width:0}.kpi-row .kpi .v{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:17px;font-weight:700}.kpi-row .kpi .k{opacity:.82;white-space:nowrap;margin-top:3px;font-size:11px}.kpi-row .kpi .v.danger{color:#ffd9db}.pane{background:var(--card)}.pane-tight{padding:0 16px 16px}.section-title{color:var(--text-strong);align-items:center;gap:8px;padding:18px 16px 4px;font-size:15px;font-weight:600;display:flex}.section-title:before{content:"";background:var(--brand);border-radius:2px;width:3px;height:15px}.section-title .more{color:var(--text-mute);margin-left:auto;font-size:12px;font-weight:400}.grid-4{grid-template-columns:repeat(4,1fr);gap:18px 4px;padding:14px 8px 18px;display:grid}.grid-item{text-align:center}.grid-item .icon-circle{border:1px solid var(--line-3);width:52px;height:52px;color:var(--brand);background:#fff;border-radius:50%;place-items:center;margin:0 auto 7px;font-size:22px;display:grid}.grid-item .icon-circle.solid{background:var(--tint);border-color:#0000}.grid-item .label{color:var(--text);font-size:12px;line-height:1.3}.grid-item .badge{background:var(--danger);color:#fff;text-align:center;border-radius:8px;min-width:16px;height:16px;padding:0 4px;font-size:10px;line-height:16px;display:inline-block;position:relative;top:-58px;left:20px}.card{background:var(--card);border-radius:var(--r);margin:12px 16px;padding:14px 16px;box-shadow:0 1px 2px #14101e08,0 10px 26px -20px #14101e59}.card.flat{box-shadow:none;border:1px solid var(--line-3)}.row{border-bottom:1px solid var(--line-3);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.row:last-child{border-bottom:0}.row .k{color:var(--text-mute);font-size:13px}.row .v{color:var(--text-strong);font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.row .v.danger{color:var(--danger)}.row .v.ok{color:var(--ok)}.row .arrow{color:var(--line-2);font-size:13px}.field{padding:6px 0 2px}.field>label{color:var(--text-mute);margin-bottom:2px;font-size:12px;display:block}.field>input,.field>select,.field>textarea{width:100%;font:inherit;color:var(--text-strong);border:0;border-bottom:1px solid var(--line-2);-webkit-appearance:none;appearance:none;background:0 0;border-radius:0;outline:0;padding:9px 0;font-size:15px}.field>input::placeholder,.field>textarea::placeholder{color:#b9bfcc}.field>input:focus,.field>select:focus{border-bottom-color:var(--brand)}.field .unit{float:right;color:var(--text-mute);font-size:12px}.field-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.chips{flex-wrap:wrap;gap:8px;padding:8px 0 2px;display:flex}.chip{border:1px solid var(--line-3);color:var(--text);background:#fff;border-radius:999px;padding:7px 14px;font-size:13px;line-height:1}.chip.on{background:var(--tint);border-color:var(--brand);color:var(--brand);font-weight:600}.btn-pill{background:var(--brand);color:#fff;width:100%;font:inherit;text-align:center;border:0;border-radius:999px;padding:14px 0;font-size:16px;font-weight:600;display:block}.btn-pill:active{opacity:.88}.btn-pill.ghost{color:var(--brand);border:1px solid var(--brand);background:#fff}.btn-pill.mini{width:auto;padding:8px 18px;font-size:13px;font-weight:500;display:inline-block}.btn-pill[disabled]{opacity:.5}.btn-group{gap:12px;padding:18px 16px 6px;display:grid}.pill-ghost-white{color:#fff;font:inherit;white-space:nowrap;background:#ffffff29;border:1px solid #ffffff8c;border-radius:999px;padding:8px 18px;font-size:13px}.pill-ghost-white:active{background:#ffffff47}.hero-top .text-chip{white-space:nowrap;opacity:.95;font-size:13px}.profile{align-items:center;gap:12px;padding:14px 16px;display:flex}.profile .avatar{background:var(--tint);width:48px;height:48px;color:var(--brand);border-radius:50%;flex:none;place-items:center;font-size:20px;font-weight:600;display:grid}.profile .meta{flex:1;min-width:0}.profile .meta .n{color:var(--text-strong);font-size:16px;font-weight:600}.profile .meta .s{color:var(--text-mute);margin-top:2px;font-size:12px}.row .lead{color:inherit;align-items:center;gap:10px;display:inline-flex}.row .lead .ic{color:var(--brand);display:inline-flex}.switch{background:#dde1e8;border-radius:13px;flex:none;width:44px;height:26px;transition:background .18s;position:relative}.switch i{background:#fff;border-radius:50%;width:20px;height:20px;transition:left .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000002e}.switch.on{background:var(--brand)}.switch.on i{left:21px}.btn-pill.danger{color:var(--danger);background:#fff;border:1px solid #f5c2c5}.seg{background:#eff1f5;border-radius:999px;gap:2px;padding:2px;display:inline-flex}.seg button{color:var(--text);background:0 0;border:0;border-radius:999px;padding:6px 12px;font-family:inherit;font-size:12px;line-height:1}.seg button.on{color:var(--brand);background:#fff;font-weight:600;box-shadow:0 1px 3px #0000001a}.usage{align-items:center;gap:10px;padding:4px 0 2px;display:flex}.usage .bar{flex:1}.row .sub{color:var(--text-mute);margin-top:2px;font-size:12px;display:block}.dot{vertical-align:1px;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.dot.ok{background:var(--ok)}.dot.warn{background:var(--warn)}.dot.off{background:var(--line-2)}.me{align-items:center;gap:12px;margin-top:20px;display:flex}.me .av{color:#fff;background:#ffffff38;border-radius:50%;flex:none;place-items:center;width:54px;height:54px;font-size:22px;font-weight:600;display:grid}.me .nm{font-size:18px;font-weight:600}.me .sc{opacity:.85;margin-top:3px;font-size:12px}.swatches{gap:10px;padding:2px 0;display:flex}.swatch{border:2px solid #0000;border-radius:50%;width:26px;height:26px}.swatch.on{border-color:var(--text-strong);box-shadow:inset 0 0 0 2px #fff}.set-search,.search-bar{background:var(--card);border:1px solid var(--line-3);color:var(--text-mute);border-radius:999px;align-items:center;gap:8px;margin:12px 16px 0;padding:10px 14px;display:flex}.set-search input,.search-bar input{min-width:0;font:inherit;color:var(--text-strong);background:0 0;border:0;outline:0;flex:1;font-size:14px}.set-search .clr,.search-bar .clr{color:var(--text-mute);padding:0 2px;font-size:13px}.spark{align-items:flex-end;gap:5px;height:48px;padding-top:6px;display:flex}.spark>span{flex-direction:column;flex:1;justify-content:flex-end;height:100%;display:flex}.spark>span>i{background:var(--brand);opacity:.9;border-radius:3px 3px 0 0;display:block}.spark>span>i.zero{background:var(--line-3)}.spark-x{gap:5px;padding-top:4px;display:flex}.spark-x>span{text-align:center;color:var(--text-mute);flex:1;font-size:10px}.quick{gap:8px;padding-top:10px;display:flex}.quick button{border:1px solid var(--line-3);background:var(--card);color:var(--brand);font:inherit;border-radius:999px;flex:1;padding:8px 0;font-size:12px;line-height:1}.quick button:active{background:var(--tint);border-color:var(--brand)}.hero-acts{gap:8px;padding:12px 0 16px;display:flex}.hero-acts button{color:#fff;font:inherit;background:#ffffff24;border:1px solid #ffffff6b;border-radius:999px;flex:1;padding:9px 0;font-size:12px;line-height:1}.hero-acts button:active{background:#ffffff47}.mwrap{border-radius:var(--r);background:var(--card);border:1px solid var(--line-3);margin:12px 16px;overflow:hidden}.mat{border-bottom:1px solid var(--line-3);align-items:center;gap:12px;padding:10px 14px;display:flex}.mat:last-child{border-bottom:0}.mat:active{background:var(--tint)}.mat .cbar{border-radius:2px;flex:none;width:3px;height:26px}.mat .ring{flex:none;display:block}.mat .mt{flex:1;min-width:0}.mat .mt .n{color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.mat .mt .s{color:var(--text-mute);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11.5px;overflow:hidden}.mat .mr{text-align:right;flex:none}.mat .mr .d{font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.mat .mr .v{color:var(--text-mute);font-variant-numeric:tabular-nums;margin-top:2px;font-size:11.5px}.mgrid{grid-template-columns:1fr 1fr;gap:10px;margin:12px 16px;display:grid}.mcard{background:var(--card);border:1px solid var(--line-3);border-radius:var(--r);text-align:center;padding:12px 10px}.mcard:active{background:var(--tint)}.mcard .n{color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;margin-top:8px;font-size:13px;font-weight:500;overflow:hidden}.mcard .s{color:var(--text-mute);margin-top:3px;font-size:11px}.mtools{align-items:center;gap:8px;margin:12px 16px 0;display:flex}.mtools .search-bar{flex:1;margin:0}.vbtn{border:1px solid var(--line-3);background:var(--card);width:42px;height:42px;color:var(--brand);border-radius:50%;flex:none;place-items:center;display:grid}.vbtn:active{background:var(--tint)}.mrow{gap:8px;padding:10px 16px 0;display:flex;overflow-x:auto}.mrow::-webkit-scrollbar{display:none}.mrow .seg{flex:none}.hero{border-radius:0 0 22px 22px}.num,.kpi-row .kpi .v,.row .v,.mat .mr .d,.mat .mr .v,.mr .d,.btn-pill,.seg button{font-variant-numeric:tabular-nums}.row:active{background:var(--tint)}.row{transition:background .16s var(--ease)}.grid-item:active .icon-circle{background:var(--tint);border-color:var(--brand)}.icon-circle{transition:background .16s var(--ease), border-color .16s var(--ease)}.icon-btn:active,.vbtn:active,.pill-ghost-white:active{opacity:.72}.btn-pill{transition:opacity .16s var(--ease), transform .12s var(--ease)}.btn-pill:active{transform:scale(.985)}.field>input,.field>select,.field>textarea{transition:border-color .18s var(--ease), color .18s var(--ease)}.switch{transition:background .2s var(--ease)}.switch i{transition:left .22s var(--ease-back)}.seg button,.chip,.tabbar .item,.set-index button,.swatch{transition:background .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease), box-shadow .18s var(--ease)}.card{box-shadow:var(--shadow-2)}.card.flat{box-shadow:none}.section-title,.tag{letter-spacing:.2px}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.rise{animation:rise .24s var(--ease) both}.mhead{z-index:3;color:var(--text-mute);background:var(--bg);align-items:center;gap:7px;padding:10px 16px 7px;font-size:12px;display:flex;position:sticky;top:0}.mhead b{color:var(--text-strong);font-size:13px;font-weight:600}.mhead .n{margin-left:auto}.icon-circle{background:linear-gradient(#fff 0%,#f6f8fe 100%)}.sk{background:linear-gradient(90deg, var(--line-3) 25%, #e9edf5 37%, var(--line-3) 63%);background-size:400% 100%;border-radius:6px;height:14px;animation:1.3s linear infinite skm}.sk.w60{width:60%}.sk.w40{width:40%}.sk.h20{height:20px}@keyframes skm{0%{background-position:100% 0}to{background-position:0 0}}html[data-theme=dark] .sk{background:linear-gradient(90deg,#232833 25%,#2e3542 37%,#232833 63%) 0 0/400% 100%}.sk.on-blue{background:linear-gradient(90deg,#ffffff29 25%,#ffffff5c 37%,#ffffff29 63%) 0 0/400% 100%}.sk-num{border-radius:8px;width:168px;height:36px;display:block}.sk-kpi{width:46px;height:15px;margin:2px auto 3px}.sk-row{height:14px}.sk-chip{border-radius:5px;width:56px;height:13px;display:inline-block}.mcard .big{font-variant-numeric:tabular-nums;letter-spacing:-.5px;font-size:27px;font-weight:700;line-height:1.1}.mcard .big small{margin-left:2px;font-size:12px;font-weight:500}.empty{text-align:center;padding:46px 24px}.empty .ico{color:var(--line-2);margin-bottom:10px}.empty .t{color:var(--text);font-size:14px}.empty .d{color:var(--text-mute);margin-top:6px;font-size:12px}.kpi-row .kpi.tap:active{opacity:.68}.kpi-row .kpi.on{position:relative}.kpi-row .kpi.on:after{content:"";background:#ffffffeb;border-radius:2px;width:16px;height:2px;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)}.tag.warn{color:#e9720a;background:#fff3e8}html[data-theme=dark] .tag.warn{color:#ffa94d;background:#33240f}.mat .n mark,.mcard .n mark{color:inherit;background:#ff8f1f38;border-radius:3px}.set-index{gap:8px;padding:10px 16px 0;display:flex;overflow-x:auto}.set-index::-webkit-scrollbar{display:none}.set-index button{border:1px solid var(--line-3);background:var(--card);color:var(--text);font:inherit;border-radius:999px;flex:none;padding:7px 12px;font-size:12px;line-height:1}.set-index button:active{background:var(--tint);color:var(--brand);border-color:var(--brand)}.ta{resize:vertical;border:1px solid var(--line-3);background:var(--bg);width:100%;min-height:92px;color:var(--text);border-radius:10px;padding:10px;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}mark{color:inherit;background:#2a62ff29;border-radius:3px;padding:0 1px}html[data-brand=green]{--brand:#0e9f6e;--brand-1:#0b8a5f;--brand-2:#12b37c;--brand-3:#0fa374;--brand-4:#0c9463;--brand-grad:linear-gradient(160deg, #2bbe8c 0%, #0e9f6e 46%, #0b8a5f 100%);--tint:#ecfaf4}html[data-brand=orange]{--brand:#f97316;--brand-1:#ea6a0c;--brand-2:#fb8a34;--brand-3:#f97f22;--brand-4:#e96a0e;--brand-grad:linear-gradient(160deg, #fca05a 0%, #f97316 46%, #ea6a0c 100%);--tint:#fff4ea}html[data-brand=purple]{--brand:#7c3aed;--brand-1:#6d2fdc;--brand-2:#8b53f0;--brand-3:#8148ee;--brand-4:#7130e0;--brand-grad:linear-gradient(160deg, #a177f4 0%, #7c3aed 46%, #6d2fdc 100%);--tint:#f4effe}html[data-theme=dark]{--bg:#0f1115;--card:#171a21;--tint:#1e2430;--text:#c9cdd6;--text-strong:#edeff3;--text-sub:#aeb4c0;--text-mute:#858c9a;--line:#2a2f3a;--line-2:#3a4150;--line-3:#232833}html[data-theme=dark] body{background:var(--bg);color:var(--text)}html[data-theme=dark] .pane,html[data-theme=dark] .card{background:var(--card)}html[data-theme=dark] .card{box-shadow:none;border:1px solid var(--line-3)}html[data-theme=dark] .chip,html[data-theme=dark] .icon-circle,html[data-theme=dark] .btn-pill.ghost,html[data-theme=dark] .btn-pill.danger{background:#1b1f27}html[data-theme=dark] .btn-pill.danger{color:#ff7c84;border-color:#5a2a30}html[data-theme=dark] .seg{background:#232833}html[data-theme=dark] .seg button.on{color:#fff;background:#2e3542}html[data-theme=dark] .tabbar{background:#171a21f5}html[data-theme=dark] .field>input,html[data-theme=dark] .field>select,html[data-theme=dark] .field>textarea{color:var(--text-strong)}html[data-theme=dark] .switch{background:#3a4150}html[data-theme=dark] .toast{color:#111;background:#ffffffeb}html[data-theme=dark] .profile .avatar{color:#fff;background:#232833}html[data-font=small] body{font-size:13px}html[data-font=small] .row .k{font-size:12px}html[data-font=small] .row .v{font-size:13px}html[data-font=small] .section-title{font-size:14px}html[data-font=small] .grid-item .label{font-size:11px}html[data-font=small] .kpi-row .kpi .v{font-size:15px}html[data-font=small] .kpi-row .kpi .k{font-size:10px}html[data-font=small] .hero-amount .num{font-size:34px}html[data-font=small] .tabs .tab{font-size:13px}html[data-font=small] .field>input,html[data-font=small] .field>select{font-size:14px}html[data-font=large] body{font-size:16px}html[data-font=large] .row .k{font-size:15px}html[data-font=large] .row .v{font-size:16px}html[data-font=large] .section-title{font-size:17px}html[data-font=large] .grid-item .label{font-size:13px}html[data-font=large] .kpi-row .kpi .v{font-size:19px}html[data-font=large] .kpi-row .kpi .k{font-size:12px}html[data-font=large] .hero-amount .num{font-size:46px}html[data-font=large] .tabs .tab{font-size:16px}html[data-font=large] .field>input,html[data-font=large] .field>select,html[data-font=large] .btn-pill{font-size:17px}html[data-density=compact] .row{padding:8px 0}html[data-density=compact] .card{margin:8px 14px;padding:10px 14px}html[data-density=compact] .card.flat{margin:8px 14px}html[data-density=compact] .section-title{padding:12px 14px 2px}html[data-density=compact] .grid-4{gap:12px 4px;padding:10px 8px 12px}html[data-density=compact] .grid-item .icon-circle{width:44px;height:44px}html[data-density=compact] .notice .item{padding:10px 0}html[data-density=compact] .field{padding:3px 0 1px}html[data-density=compact] .pane-tight{padding:0 14px 12px}.tabs{border-bottom:1px solid var(--line-3);gap:26px;padding:14px 16px 0;display:flex}.tabs .tab{color:var(--text-mute);padding-bottom:10px;font-size:14px;position:relative}.tabs .tab.on{color:var(--brand);font-weight:600}.tabs .tab.on:after{content:"";background:var(--brand);border-radius:2px;width:22px;height:2px;position:absolute;bottom:-1px;left:50%;transform:translate(-50%)}.notice{padding:4px 16px 8px}.notice .item{border-bottom:1px solid var(--line-3);padding:14px 0}.notice .item:last-child{border-bottom:0}.notice .item .t{color:var(--text-strong);font-size:14px;line-height:1.4}.notice .item .d{color:var(--text-mute);margin-top:6px;font-size:12px}.bar{background:var(--line-3);border-radius:3px;height:6px;overflow:hidden}.bar>i{background:var(--brand);border-radius:3px;height:100%;display:block}.bar>i.danger{background:var(--danger)}.bar>i.warn{background:var(--warn)}.bar>i.ok{background:var(--ok)}.tabbar{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line-3);padding-bottom:var(--safe-b);background:#fffffff5;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar .item{text-align:center;color:var(--text-mute);background:0 0;border:0;padding:8px 0 9px;font-family:inherit;font-size:11px;text-decoration:none}.tabbar .item:visited,.tabbar .item:hover,.tabbar .item:active{text-decoration:none}.tabbar .item .ic{height:22px;color:inherit;margin-bottom:2px;display:block}.tabbar .item .ic svg{margin:0 auto;display:block}.tabbar .item.on{color:var(--brand);font-weight:600}.fab{z-index:21;right:14px;bottom:calc(var(--tabbar-h) + var(--safe-b) + 16px);background:var(--brand);color:#fff;border:0;border-radius:50%;width:54px;height:54px;font-size:22px;line-height:1;position:fixed;box-shadow:0 8px 20px -6px #2a62ff99}.fab:active{transform:scale(.95)}.muted{color:var(--text-mute);font-size:12px}.center{text-align:center}.pad{padding:16px}.tag{border-radius:var(--r-sm);background:var(--tint);color:var(--brand);padding:1px 7px;font-size:11px;line-height:17px;display:inline-block}.tag.danger{color:var(--danger);background:#ffedee}.tag.ok{color:var(--ok);background:#e8f8ef}
