.login[data-v-0217babb]{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(160deg,#e0f4fa,#f0f7fb 55%,#e6f9f1);position:relative;overflow:hidden}.login[data-v-0217babb]:before{content:"";position:absolute;top:-120px;left:-90px;width:340px;height:300px;background:#0fa6c617;border-radius:46% 54% 38% 62%/58% 42% 60% 40%;transform:rotate(-16deg)}.login[data-v-0217babb]:after{content:"";position:absolute;right:-110px;bottom:-130px;width:330px;height:330px;border:16px solid rgba(111,220,195,.4);border-radius:50%}.doodle[data-v-0217babb]{position:absolute;opacity:.85}.doodle-cloud[data-v-0217babb]{top:9%;left:12%;width:130px;animation:drift-0217babb 7s ease-in-out infinite}.doodle-star[data-v-0217babb]{top:16%;right:14%;width:44px;transform:rotate(14deg);animation:twinkle-0217babb 3s ease-in-out infinite}.doodle-star2[data-v-0217babb]{bottom:15%;left:16%;width:32px;transform:rotate(-18deg);animation:twinkle-0217babb 3.6s ease-in-out infinite .8s}@keyframes drift-0217babb{0%,to{transform:translate(0)}50%{transform:translate(16px)}}@keyframes twinkle-0217babb{0%,to{opacity:.55;transform:scale(1) rotate(14deg)}50%{opacity:1;transform:scale(1.12) rotate(6deg)}}.card[data-v-0217babb]{width:340px;text-align:center;position:relative;z-index:2;padding:28px 24px}.login-mascot[data-v-0217babb]{display:block;width:168px;height:168px;margin:-86px auto 6px;object-fit:contain;filter:drop-shadow(3px 4px 0 rgba(28,74,94,.14));animation:login-bob-0217babb 3s ease-in-out infinite}@keyframes login-bob-0217babb{0%,to{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(0) translateY(-6px)}}.card input[data-v-0217babb]{margin:10px 0}.card button[data-v-0217babb]{width:100%;margin-top:8px;padding:10px 16px;font-size:15px}.tip[data-v-0217babb]{font-size:12px;color:var(--c-ink-3);margin:10px 0 0}h2[data-v-0217babb]{margin:0 0 14px;font-size:19px;font-weight:800;color:var(--c-ink)}.layout[data-v-0db46b50]{display:flex;min-height:100vh;background:var(--c-cream)}.side[data-v-0db46b50]{width:210px;background-color:#1c4a5e;background-image:repeating-linear-gradient(46deg,rgba(255,255,255,.022) 0 1px,transparent 1px 12px),repeating-linear-gradient(-44deg,rgba(255,206,31,.03) 0 1px,transparent 1px 16px);color:#efe7da;padding:0 0 16px;display:flex;flex-direction:column;border-right:2px solid #1C1916}.logo[data-v-0db46b50]{color:#f7fcfa;font-weight:800;padding:18px 14px 14px;font-size:17px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;border-bottom:2px dashed rgba(255,255,255,.12)}.logo-name[data-v-0db46b50]{letter-spacing:.5px;font-size:16px;white-space:nowrap}.logo-sub[data-v-0db46b50]{font-size:10px;color:#8aa5b4;font-weight:500;margin-left:auto;white-space:nowrap}.menu[data-v-0db46b50]{flex:1;padding:12px 10px;overflow-y:auto}.menu-group[data-v-0db46b50]{margin-bottom:2px}.group-head[data-v-0db46b50]{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;border-radius:12px;font-size:13.5px;font-weight:800;color:#efe7da;-webkit-user-select:none;user-select:none;transition:background var(--t-fast)}.group-head[data-v-0db46b50]:hover{background:#ffffff12}.group-icon[data-v-0db46b50]{font-size:15px}.group-name[data-v-0db46b50]{flex:1;letter-spacing:.5px}.group-arrow[data-v-0db46b50]{color:#8aa5b4;font-weight:700;transition:transform var(--t-fast);font-size:15px}.menu-group.open .group-arrow[data-v-0db46b50]{transform:rotate(90deg);color:#ffce1f}.menu-group.open .group-head[data-v-0db46b50]{color:#ffce1f}.group-items[data-v-0db46b50]{padding:0 0 4px}.menu a[data-v-0db46b50]{display:block;padding:10px 12px 10px 38px;color:#c2d8d3;border:1.5px solid transparent;border-radius:14px 10px 16px 8px/8px 16px 10px 14px;margin-bottom:2px;font-size:13.5px;font-weight:600;position:relative;transition:all var(--t-fast)}.menu a[data-v-0db46b50]:hover{color:#f7fcfa;background:#ffffff12}.menu a.router-link-active[data-v-0db46b50]{background:var(--c-primary);color:#fff;border-color:#ffce1f;box-shadow:3px 3px #00000047;transform:rotate(-.6deg)}.menu a.sub[data-v-0db46b50]:before{content:"";position:absolute;left:22px;top:50%;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:currentColor;opacity:.45}.menu a.sub.router-link-active[data-v-0db46b50]:before{opacity:.9}.side-foot[data-v-0db46b50]{padding:12px 16px;border-top:2px dashed rgba(255,255,255,.12)}.role-tag[data-v-0db46b50]{font-size:11px;font-weight:700;color:#1c4a5e;background:#ffce1f;padding:3px 10px;border-radius:12px 9px 14px 7px/7px 14px 9px 12px;display:inline-block}.main[data-v-0db46b50]{flex:1;display:flex;flex-direction:column;min-width:0}.top[data-v-0db46b50]{height:56px;background:var(--c-paper);display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:2px solid var(--c-ink)}.top-title[data-v-0db46b50]{font-weight:800;color:var(--c-ink);font-size:15px;background:linear-gradient(transparent 60%,#FFE98A 60%,#FFE98A 94%,transparent 94%);padding:0 4px}.top-right[data-v-0db46b50]{display:flex;align-items:center;gap:16px}.user-name[data-v-0db46b50]{font-size:13px;color:var(--c-ink-3);font-weight:600}.ghost[data-v-0db46b50]{background:#fff;border:1.5px solid var(--c-ink);border-radius:var(--r-md);padding:6px 14px;cursor:pointer;color:var(--c-ink);font-weight:600;box-shadow:var(--sh-sm)}.ghost[data-v-0db46b50]:hover{background:var(--c-accent-soft)}.ghost[data-v-0db46b50]:active{transform:translate(2px,2px);box-shadow:none}.content[data-v-0db46b50]{padding:20px;flex:1;overflow-y:auto}.trend-chart[data-v-151f2a8d]{width:100%}.tc-head[data-v-151f2a8d]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;flex-wrap:wrap;gap:8px}.tc-ranges[data-v-151f2a8d]{display:flex;gap:6px}.range-btn[data-v-151f2a8d],.mode-btn[data-v-151f2a8d]{padding:4px 14px;font-size:12px;border-radius:16px;background:#fff;border:1px solid #D6E4EE;color:#4e6b7e;cursor:pointer;transition:all .15s}.range-btn.on[data-v-151f2a8d],.mode-btn.on[data-v-151f2a8d]{background:#0fa6c6;border-color:#0fa6c6;color:#fff}.tc-modes[data-v-151f2a8d]{display:flex;gap:6px}.chart-box[data-v-151f2a8d]{position:relative;overflow-x:auto}.svg[data-v-151f2a8d]{width:100%;min-width:440px;height:auto;display:block}.grid-line[data-v-151f2a8d]{stroke:#efe7da;stroke-width:1;stroke-dasharray:3 3}.axis-text[data-v-151f2a8d]{font-size:11px;fill:#8aa5b4}.line[data-v-151f2a8d]{fill:none;stroke:#0fa6c6;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.dot[data-v-151f2a8d]{fill:#0fa6c6;stroke:#fff;stroke-width:1.5}.cross[data-v-151f2a8d]{stroke:#0fa6c6;stroke-width:1;stroke-dasharray:4 3;opacity:.5}.hover-dot[data-v-151f2a8d]{fill:#0fa6c6;stroke:#fff;stroke-width:2}.tip-bg[data-v-151f2a8d]{fill:#1c4a5e;opacity:.94}.tip-date[data-v-151f2a8d]{fill:#cfe8f2;font-size:12px;font-weight:600}.tip-val[data-v-151f2a8d]{fill:#fff;font-size:12px}.tc-empty[data-v-151f2a8d]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#9bb0bd;font-size:13px}.pie-wrap[data-v-db3ba185]{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.svg[data-v-db3ba185]{width:170px;height:170px}.total-num[data-v-db3ba185]{font-size:26px;font-weight:700;fill:#1c4a5e}.total-label[data-v-db3ba185]{font-size:11px;fill:#8aa5b4}.legend[data-v-db3ba185]{display:flex;flex-direction:column;gap:8px}.legend-item[data-v-db3ba185]{display:flex;align-items:center;gap:8px;font-size:13px}.legend-dot[data-v-db3ba185]{width:10px;height:10px;border-radius:3px}.legend-label[data-v-db3ba185]{width:66px;color:#4e6b7e}.legend-count[data-v-db3ba185]{font-weight:600;color:#1c4a5e}.empty[data-v-db3ba185]{text-align:center;color:#b1c9d8;padding:40px 0}.overview[data-v-9fa84464]{padding-bottom:8px}.school-sel[data-v-9fa84464]{padding:4px 10px;font-size:12px;border-radius:14px;border:1px solid var(--c-line);background:#fff;color:var(--c-ink);max-width:200px}.stat-grid[data-v-9fa84464]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:14px}.stat[data-v-9fa84464]{background:var(--c-paper);border:1.5px solid var(--c-ink);border-left:8px solid var(--c);border-radius:var(--r-wobble);padding:16px;box-shadow:var(--sh-md);transition:transform var(--t-fast),box-shadow var(--t-fast)}.stat[data-v-9fa84464]:hover{transform:translate(-2px,-2px);box-shadow:var(--sh-lg)}.s-label[data-v-9fa84464]{font-size:13px;color:var(--c-ink-2)}.s-num[data-v-9fa84464]{font-size:30px;font-weight:800;margin:6px 0 2px;color:var(--c-ink)}.s-sub[data-v-9fa84464]{font-size:12px;color:var(--c-ink-3)}.mini-row[data-v-9fa84464]{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:16px}.mini[data-v-9fa84464]{background:var(--c-paper);padding:14px;text-align:center;border:1.5px solid var(--c-ink);border-left:6px solid var(--c);border-radius:var(--r-wobble);box-shadow:var(--sh-sm)}.m-num[data-v-9fa84464]{font-size:20px;font-weight:800;color:var(--c)}.m-lab[data-v-9fa84464]{font-size:11px;color:var(--c-ink-3);margin-top:4px}.panel-title[data-v-9fa84464]{display:flex;align-items:center;gap:8px}.rank[data-v-9fa84464]{display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center;border-radius:50%;background:#e9f3f9;font-size:12px;color:var(--c-ink-2)}.rank.top[data-v-9fa84464]{background:#f0dcb0;color:#e8930c;font-weight:700}.todo-list[data-v-9fa84464]{display:flex;flex-direction:column;gap:10px}.todo-item[data-v-9fa84464]{display:flex;justify-content:space-between;padding:12px 14px;background:var(--c-paper-2);border-radius:8px;font-size:14px}.todo-item.clickable[data-v-9fa84464]{cursor:pointer}.todo-item.clickable[data-v-9fa84464]:hover{background:#eff4ff}.todo-item b.txt-red[data-v-9fa84464]{color:var(--c-danger)}.todo-item b.orange[data-v-9fa84464]{color:#e8930c}.divider[data-v-9fa84464]{height:1px;background:var(--c-line-soft);margin:8px 0}.type-row[data-v-9fa84464]{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:13px;color:var(--c-ink-2)}.bar-bg[data-v-9fa84464]{flex:1;height:8px;background:var(--c-line-soft);border-radius:4px;overflow:hidden}.bar[data-v-9fa84464]{height:100%;background:linear-gradient(90deg,#0fa6c6,#2fbedd);border-radius:4px;transition:width .4s}.mini-btn[data-v-9fa84464]{padding:4px 14px;font-size:12px;border-radius:14px;background:#fff;border:1px solid var(--c-line);color:var(--c-ink-2)}.mini-btn.on[data-v-9fa84464]{background:var(--c-primary);border-color:var(--c-primary);color:#fff}.mini-btn.ghost[data-v-9fa84464]{border:1px solid var(--c-info);color:var(--c-info)}.mini-btn.snack-link[data-v-9fa84464]{border:1px solid #E8930C;color:#e8930c;font-weight:700}.empty[data-v-9fa84464]{color:var(--c-ink-4);padding:16px;text-align:center}.page-head[data-v-79231ef2]{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:10px;margin-bottom:14px}.page-title[data-v-79231ef2]{margin:0 0 4px;font-size:18px}.page-sub[data-v-79231ef2]{margin:0;color:#7d93a3;font-size:12px}.row[data-v-79231ef2]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sel[data-v-79231ef2]{padding:7px 10px;border:1px solid #D8E6EE;border-radius:6px;background:#fff}.mini-btn[data-v-79231ef2]{padding:6px 12px;font-size:12px;border-radius:6px;border:1px solid #D8E6EE;background:#fff;color:#4e6b7e;cursor:pointer}.mini-btn.on[data-v-79231ef2]{background:#0fa6c6;color:#fff;border-color:#0fa6c6}.mini-btn.ghost[data-v-79231ef2]{background:transparent}.stat-grid[data-v-79231ef2]{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:14px}.stat[data-v-79231ef2]{background:#fff;border:1px solid #E4EEF3;border-left:4px solid var(--c);border-radius:8px;padding:12px 14px}.s-label[data-v-79231ef2]{font-size:12px;color:#7d93a3}.s-num[data-v-79231ef2]{font-size:22px;font-weight:700;color:#1f4a44;margin:4px 0 2px}.s-sub[data-v-79231ef2]{font-size:11px;color:#9db2bf}.card[data-v-79231ef2]{background:#fff;border:1px solid #E4EEF3;border-radius:8px;padding:12px}.tbl[data-v-79231ef2]{width:100%;border-collapse:collapse;font-size:13px}.tbl th[data-v-79231ef2]{text-align:left;color:#7d93a3;font-weight:500;padding:8px 10px;border-bottom:1px solid #E4EEF3}.tbl td[data-v-79231ef2]{padding:9px 10px;border-bottom:1px solid #F2F7FA}.medal[data-v-79231ef2]{font-size:18px}.rank-no[data-v-79231ef2]{color:#9db2bf}.c-main[data-v-79231ef2]{color:#0fa6c6;font-size:15px}.bar-wrap[data-v-79231ef2]{display:inline-block;width:80px;height:6px;background:#edf4f8;border-radius:4px;vertical-align:middle;margin-right:6px}.bar[data-v-79231ef2]{height:100%;background:#21a98b;border-radius:4px}.pct[data-v-79231ef2]{font-size:12px;color:#4e6b7e}.tag[data-v-79231ef2]{display:inline-block;padding:1px 8px;border-radius:10px;font-size:11px}.tag-green[data-v-79231ef2]{background:#e5f8ec;color:#1b9e63}.tag-blue[data-v-79231ef2]{background:#e8f4f8;color:#0fa6c6}.tag-gray[data-v-79231ef2]{background:#f1f4f6;color:#8aa5b4}.empty[data-v-79231ef2]{text-align:center;color:#b1c9d8;padding:26px}.page-head[data-v-436fa983]{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:10px;margin-bottom:14px}.page-title[data-v-436fa983]{margin:0 0 4px;font-size:18px}.page-sub[data-v-436fa983]{margin:0;color:#7d93a3;font-size:12px}.row[data-v-436fa983]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sel[data-v-436fa983]{padding:7px 10px;border:1px solid #D8E6EE;border-radius:6px;background:#fff}.mini-btn[data-v-436fa983]{padding:6px 12px;font-size:12px;border-radius:6px;border:1px solid #D8E6EE;background:#fff;color:#4e6b7e;cursor:pointer}.mini-btn.on[data-v-436fa983]{background:#0fa6c6;color:#fff;border-color:#0fa6c6}.mini-btn.ghost[data-v-436fa983]{background:transparent}.stat-grid[data-v-436fa983]{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:14px}.stat[data-v-436fa983]{background:#fff;border:1px solid #E4EEF3;border-left:4px solid var(--c);border-radius:8px;padding:12px 14px}.s-label[data-v-436fa983]{font-size:12px;color:#7d93a3}.s-num[data-v-436fa983]{font-size:22px;font-weight:700;color:#1f4a44;margin:4px 0 2px}.s-sub[data-v-436fa983]{font-size:11px;color:#9db2bf}.card[data-v-436fa983]{background:#fff;border:1px solid #E4EEF3;border-radius:8px;padding:14px}.panel-title[data-v-436fa983]{font-size:14px;font-weight:600;color:#1f4a44;margin-bottom:12px}.chart[data-v-436fa983]{max-height:460px;overflow-y:auto}.chart-row[data-v-436fa983]{display:flex;align-items:center;gap:10px;margin-bottom:6px}.c-date[data-v-436fa983]{width:44px;font-size:12px;color:#7d93a3;text-align:right}.bar-bg[data-v-436fa983]{flex:1;height:14px;background:#f2f8fa;border-radius:4px;overflow:hidden}.bar[data-v-436fa983]{height:100%;background:linear-gradient(90deg,#21a98b,#0fa6c6);border-radius:4px;min-width:0}.c-num[data-v-436fa983]{width:34px;font-size:12px;color:#4e6b7e}.empty[data-v-436fa983]{text-align:center;color:#b1c9d8;padding:40px}.page-head[data-v-63ea9534]{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:10px;margin-bottom:14px}.page-title[data-v-63ea9534]{margin:0 0 4px;font-size:18px}.page-sub[data-v-63ea9534]{margin:0;color:#7d93a3;font-size:12px}.row[data-v-63ea9534]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sel[data-v-63ea9534]{padding:7px 10px;border:1px solid #D8E6EE;border-radius:6px;background:#fff}.mini-btn[data-v-63ea9534]{padding:6px 12px;font-size:12px;border-radius:6px;border:1px solid #D8E6EE;background:#fff;color:#4e6b7e;cursor:pointer}.mini-btn.on[data-v-63ea9534]{background:#0fa6c6;color:#fff;border-color:#0fa6c6}.mini-btn.ghost[data-v-63ea9534]{background:transparent}.stat-grid[data-v-63ea9534]{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:14px}.stat[data-v-63ea9534]{background:#fff;border:1px solid #E4EEF3;border-left:4px solid var(--c);border-radius:8px;padding:12px 14px}.s-label[data-v-63ea9534]{font-size:12px;color:#7d93a3}.s-num[data-v-63ea9534]{font-size:22px;font-weight:700;color:#1f4a44;margin:4px 0 2px}.s-sub[data-v-63ea9534]{font-size:11px;color:#9db2bf}.card[data-v-63ea9534]{background:#fff;border:1px solid #E4EEF3;border-radius:8px;padding:14px}.panel-title[data-v-63ea9534]{font-size:14px;font-weight:600;color:#1f4a44;margin-bottom:12px}.trend[data-v-63ea9534]{max-height:300px;overflow-y:auto}.trend-row[data-v-63ea9534]{display:flex;align-items:center;gap:10px;margin-bottom:5px}.t-date[data-v-63ea9534]{width:44px;font-size:12px;color:#7d93a3;text-align:right}.t-bars[data-v-63ea9534]{flex:1;display:flex;flex-direction:column;gap:2px}.t-bar[data-v-63ea9534]{height:7px;border-radius:3px;min-width:0}.t-bar.claim[data-v-63ea9534]{background:#0fa6c6}.t-bar.used[data-v-63ea9534]{background:#21a98b}.t-num[data-v-63ea9534]{width:56px;font-size:12px;color:#4e6b7e}.legend[data-v-63ea9534]{margin-top:8px;font-size:11px;color:#8aa5b4}.dot[data-v-63ea9534]{display:inline-block;width:10px;height:10px;border-radius:3px;margin:0 4px 0 10px;vertical-align:middle}.dot.claim[data-v-63ea9534]{background:#0fa6c6}.dot.used[data-v-63ea9534]{background:#21a98b}.tbl[data-v-63ea9534]{width:100%;border-collapse:collapse;font-size:13px}.tbl th[data-v-63ea9534]{text-align:left;color:#7d93a3;font-weight:500;padding:8px 10px;border-bottom:1px solid #E4EEF3}.tbl td[data-v-63ea9534]{padding:9px 10px;border-bottom:1px solid #F2F7FA}.bar-wrap[data-v-63ea9534]{display:inline-block;width:70px;height:6px;background:#edf4f8;border-radius:4px;vertical-align:middle;margin-right:6px}.bar[data-v-63ea9534]{height:100%;background:#0fa6c6;border-radius:4px}.pct[data-v-63ea9534]{font-size:12px;color:#4e6b7e}.tag[data-v-63ea9534]{display:inline-block;padding:1px 8px;border-radius:10px;font-size:11px;margin-left:4px}.tag-blue[data-v-63ea9534]{background:#e8f4f8;color:#0fa6c6}.tag-gray[data-v-63ea9534]{background:#f1f4f6;color:#8aa5b4}.warn[data-v-63ea9534]{color:#c0392b;font-weight:600}.empty[data-v-63ea9534]{text-align:center;color:#b1c9d8;padding:26px}h3[data-v-61a644bd]{margin:0 0 14px}.toolbar[data-v-61a644bd]{display:flex;gap:8px;align-items:center}.mini-btn[data-v-61a644bd]{padding:6px 12px;font-size:12px;border-radius:6px;background:#e9f3f9;color:#544c44;border:1px solid #E1E5EA}.mini-btn.ghost[data-v-61a644bd]{background:#fff;color:#0fa6c6;border-color:#0fa6c6}.mini-btn.danger-btn[data-v-61a644bd]{background:#fff;color:#c0392b;border-color:#c0392b}.mini-btn.green-btn[data-v-61a644bd]{background:#fff;color:#0f8fc4;border-color:#0f8fc4}.mini-btn[data-v-61a644bd]:hover{opacity:.85}.ava-fallback[data-v-61a644bd]{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#e0f4fa;color:#0fa6c6;font-weight:600}.ava-fallback.big[data-v-61a644bd]{width:56px;height:56px;font-size:22px}.copy-line[data-v-61a644bd]{cursor:pointer;line-height:1.6}.copy-line[data-v-61a644bd]:hover{color:#0fa6c6}.seq-cell[data-v-61a644bd]{font-weight:700;color:#0fa6c6;white-space:nowrap}.seq-hint[data-v-61a644bd]{font-size:10px;font-weight:400;color:#c0392b;margin-top:2px}.id-block[data-v-61a644bd]{display:flex;flex-direction:column;gap:4px}.id-row[data-v-61a644bd]{display:flex;align-items:center;gap:6px;line-height:1.5}.id-key[data-v-61a644bd]{display:inline-block;min-width:20px;text-align:center;font-size:10px;color:#8a99a8;background:#f0f4f8;border-radius:4px;padding:1px 4px;flex:none}.detail-dialog[data-v-61a644bd]{max-width:560px;width:92%}.detail-head[data-v-61a644bd]{display:flex;gap:12px;align-items:center;margin-bottom:14px}.detail-ava[data-v-61a644bd]{width:56px;height:56px;border-radius:50%;object-fit:cover}.detail-name[data-v-61a644bd]{font-size:16px;font-weight:600;display:flex;gap:8px;align-items:center}.detail-grid[data-v-61a644bd]{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}.d-item label[data-v-61a644bd]{display:block;font-size:12px;color:#8a99a8;margin-bottom:2px}.d-item>div[data-v-61a644bd]{font-size:13px;word-break:break-all}.pager[data-v-61a644bd]{display:flex;align-items:center;justify-content:flex-end;margin-top:12px}.empty[data-v-61a644bd]{text-align:center;color:#b1c9d8;padding:24px}.grid[data-v-2d99a370]{display:flex;gap:14px;margin-bottom:14px}.stat-card[data-v-2d99a370]{flex:1;text-align:center;padding:16px;border-radius:12px;background:#fff;cursor:pointer;border:2px solid transparent;box-shadow:0 2px 8px #1f4a440a}.stat-card.on[data-v-2d99a370]{border-color:#0fa6c6}.sc-num[data-v-2d99a370]{font-size:28px;font-weight:700}.sc-num.blue[data-v-2d99a370]{color:#0fa6c6}.sc-num.txt-green[data-v-2d99a370]{color:#0f8fc4}.sc-num.orange[data-v-2d99a370]{color:#e8930c}.sc-num.red[data-v-2d99a370]{color:#c0392b}.sc-num.purple[data-v-2d99a370]{color:#7b5be6}.toolbar-r[data-v-2d99a370]{display:flex;gap:8px;align-items:center}.toolbar-r select[data-v-2d99a370]{padding:5px 8px;border:1px solid #D8E6EE;border-radius:6px}.btn-sm.dark[data-v-2d99a370]{background:#4e6b7e;color:#fff}.btn-sm.purple[data-v-2d99a370]{background:#7b5be6;color:#fff}.tag.tag-purple[data-v-2d99a370]{background:#efe8ff;color:#5b3bc0}.tag.tag-blue[data-v-2d99a370]{background:#e4f5fb;color:#0f8fc4}.mask[data-v-2d99a370]{position:fixed;top:0;right:0;bottom:0;left:0;background:#14283766;display:flex;align-items:center;justify-content:center;z-index:50}.dialog[data-v-2d99a370]{background:#fff;border-radius:12px;padding:20px 22px;width:420px;max-width:92vw;box-shadow:0 10px 40px #0000002e}.dialog h3[data-v-2d99a370]{margin:0 0 6px}.form-row[data-v-2d99a370]{display:flex;align-items:center;gap:10px;margin:10px 0}.form-row label[data-v-2d99a370]{width:56px;color:#4e6b7e;font-size:13px}.form-row input[data-v-2d99a370]{flex:1;padding:8px 10px;border:1px solid #D8E6EE;border-radius:6px}.sc-label[data-v-2d99a370]{font-size:12px;color:#8aa5b4;margin-top:4px}h3[data-v-2d99a370]{margin:0 0 12px}.btn-sm[data-v-2d99a370]{padding:4px 12px;font-size:12px;border-radius:5px;color:#fff;margin-right:6px}.btn-sm.blue[data-v-2d99a370]{background:#0fa6c6;color:#fff}.btn-sm.green[data-v-2d99a370]{background:#0f8fc4;color:#fff}.btn-sm.orange[data-v-2d99a370]{background:#e8930c;color:#fff}.btn-sm.danger[data-v-2d99a370]{background:#c0392b;color:#fff}.ava[data-v-2d99a370]{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#e4f5ea;color:#0f8fc4;font-weight:600}.txt-green[data-v-2d99a370]{color:#0f8fc4}.dialog.wide[data-v-2d99a370]{width:720px}.info-grid[data-v-2d99a370]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;font-size:13px;color:#4e6b7e}.info-grid b[data-v-2d99a370]{display:block;margin-top:2px;color:#1c4a5e}.empty[data-v-2d99a370]{text-align:center;color:#b1c9d8;padding:20px}.tag.tag-purple[data-v-cd68c88a]{background:#efe8ff;color:#5b3bc0}.btn-sm.purple[data-v-cd68c88a]{background:#7a52c7}.tag.tag-blue[data-v-cd68c88a]{background:#e4f5fb;color:#0f8fc4}.back-row[data-v-cd68c88a]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.head-card[data-v-cd68c88a]{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.head-left[data-v-cd68c88a]{display:flex;align-items:center;gap:14px}.avatar[data-v-cd68c88a]{width:60px;height:60px;border-radius:50%;object-fit:cover;border:2px solid var(--c-ink)}.ava-fallback[data-v-cd68c88a]{display:flex;align-items:center;justify-content:center;background:var(--c-primary-soft);color:var(--c-primary);font-size:24px;font-weight:800}.rname[data-v-cd68c88a]{font-size:18px;font-weight:800;color:var(--c-ink)}.rsub[data-v-cd68c88a]{font-size:12px;color:var(--c-ink-3);margin-top:2px;display:flex;gap:6px;flex-wrap:wrap}.rtags[data-v-cd68c88a]{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}.head-right[data-v-cd68c88a]{display:flex;gap:8px}.stat-row[data-v-cd68c88a]{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.s-card[data-v-cd68c88a]{flex:1;min-width:108px;text-align:center;padding:14px 8px;background:var(--c-paper);border:1.5px solid var(--c-line);border-radius:10px}.s-num[data-v-cd68c88a]{font-size:20px;font-weight:800;color:var(--c-ink)}.s-num.green[data-v-cd68c88a]{color:var(--c-success)}.s-num.blue[data-v-cd68c88a]{color:var(--c-primary)}.s-num.orange[data-v-cd68c88a]{color:#e8930c}.s-num.red[data-v-cd68c88a]{color:var(--c-danger)}.s-label[data-v-cd68c88a]{font-size:11px;color:var(--c-ink-3);margin-top:4px}.two-col[data-v-cd68c88a]{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width: 1080px){.two-col[data-v-cd68c88a]{grid-template-columns:1fr}}.info-grid[data-v-cd68c88a]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 14px;font-size:13px;color:var(--c-ink-2)}.info-grid b[data-v-cd68c88a]{display:block;margin-top:2px;color:var(--c-ink);font-weight:600}.note-box[data-v-cd68c88a]{margin-top:12px;background:var(--c-accent-soft);border:1px solid #F0DCB0;border-radius:8px;padding:8px 12px;font-size:12px;color:var(--c-ink-2)}.bar-list[data-v-cd68c88a]{display:flex;flex-direction:column;gap:10px}.bar-top[data-v-cd68c88a]{display:flex;justify-content:space-between;font-size:12px;color:var(--c-ink-2);margin-bottom:4px}.bar-track[data-v-cd68c88a]{height:8px;background:var(--c-line-soft);border-radius:5px;overflow:hidden}.bar-fill[data-v-cd68c88a]{height:100%;border-radius:5px;transition:width .3s ease}.tabs[data-v-cd68c88a]{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;border-bottom:1.5px dashed var(--c-line);padding-bottom:10px}.tab[data-v-cd68c88a]{padding:6px 14px;border-radius:8px;font-size:13px;font-weight:600;color:var(--c-ink-2);cursor:pointer;border:1.5px solid transparent}.tab[data-v-cd68c88a]:hover{background:var(--c-paper-2)}.tab.on[data-v-cd68c88a]{background:var(--c-primary);color:#fff;border-color:var(--c-ink)}.filter-row[data-v-cd68c88a]{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.chip[data-v-cd68c88a]{padding:4px 12px;font-size:12px;border-radius:20px;cursor:pointer;background:var(--c-paper-2);color:var(--c-ink-2);border:1px solid var(--c-line)}.chip.on[data-v-cd68c88a]{background:var(--c-primary-soft);color:var(--c-primary);border-color:var(--c-primary-line);font-weight:700}.btn-sm[data-v-cd68c88a]{padding:4px 12px;font-size:12px;border-radius:5px;color:#fff}.btn-sm.orange[data-v-cd68c88a]{background:#e8930c}.btn-sm.dark[data-v-cd68c88a]{background:#4e6b7e}.btn-sm.red[data-v-cd68c88a]{background:#c0392b}.btn-sm.green[data-v-cd68c88a]{background:#0f8fc4}.btn-sm[data-v-cd68c88a]:disabled,.btn-sm[data-v-cd68c88a]:disabled:hover{background:#ded7ce!important;color:#8aa5b4!important;cursor:not-allowed;box-shadow:none;transform:none}.tbl-wrap[data-v-cd68c88a]{overflow-x:auto}.tbl[data-v-cd68c88a]{min-width:720px}.nowrap[data-v-cd68c88a]{white-space:nowrap}.txt-green[data-v-cd68c88a]{color:var(--c-success)}.txt-red[data-v-cd68c88a]{color:var(--c-danger)}.att-head[data-v-cd68c88a]{display:flex;align-items:center;gap:10px;margin-bottom:12px}.att-month[data-v-cd68c88a]{font-size:15px;color:var(--c-ink)}.att-stats[data-v-cd68c88a]{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.a-card[data-v-cd68c88a]{flex:1;min-width:96px;text-align:center;padding:10px 6px;background:var(--c-paper-2);border:1.5px solid var(--c-line);border-radius:10px}.a-num[data-v-cd68c88a]{font-size:19px;font-weight:800;color:var(--c-ink)}.a-num.blue[data-v-cd68c88a]{color:var(--c-primary)}.a-num.green[data-v-cd68c88a]{color:var(--c-success)}.a-num.orange[data-v-cd68c88a]{color:#e8930c}.a-label[data-v-cd68c88a]{font-size:11px;color:var(--c-ink-3);margin-top:3px}.att-grid[data-v-cd68c88a]{display:grid;grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:5px}.att-day[data-v-cd68c88a]{aspect-ratio:1;border:1.5px solid var(--c-line);border-radius:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--c-paper-2);color:var(--c-ink-4);font-size:11px}.att-day.act[data-v-cd68c88a]{background:var(--c-primary-soft);border-color:var(--c-primary-line);color:var(--c-ink)}.ad-d[data-v-cd68c88a]{font-weight:700}.ad-n[data-v-cd68c88a]{color:var(--c-primary);font-weight:800;font-size:12px}.sum-bar[data-v-cd68c88a]{margin-top:10px;padding:10px 14px;border-radius:8px;background:var(--c-paper-2);border:1px solid var(--c-line);font-size:13px;color:var(--c-ink-2);font-weight:600}.empty[data-v-cd68c88a]{text-align:center;color:var(--c-ink-4);padding:24px}.grid[data-v-98b0cc35]{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}.mini-stat[data-v-98b0cc35]{flex:1;min-width:100px;text-align:center;padding:12px 6px;background:#fff;border-radius:10px;cursor:pointer;border:2px solid transparent;box-shadow:0 2px 6px #1f4a440a}.mini-stat.on[data-v-98b0cc35]{border-color:#0fa6c6}.ms-num[data-v-98b0cc35]{font-size:24px;font-weight:700}.ms-num.blue[data-v-98b0cc35]{color:#0fa6c6}.ms-num.txt-green[data-v-98b0cc35]{color:#0f8fc4}.ms-num.orange[data-v-98b0cc35]{color:#e8930c}.ms-num.txt-red[data-v-98b0cc35]{color:#c0392b}.txt-green[data-v-98b0cc35]{color:#0f8fc4}.btn-sm.purple[data-v-98b0cc35]{background:#7a52c7;color:#fff}.btn-sm[data-v-98b0cc35]:disabled{background:#ded7ce!important;color:#8aa5b4!important;cursor:not-allowed}.btn-sm[data-v-98b0cc35]:disabled:hover{background:#ded7ce!important;box-shadow:none;transform:none}.aftersale-box[data-v-98b0cc35]{margin-top:12px;padding:12px 14px;border-radius:10px;background:#fdf1ee;border:1px solid #A8DCEF;font-size:13px;color:#4e6b7e}.ab-head[data-v-98b0cc35]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-weight:500;color:#1c4a5e}.ab-row[data-v-98b0cc35]{line-height:1.8}.af-summary[data-v-98b0cc35]{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#4e6b7e;margin-bottom:12px}.af-summary b[data-v-98b0cc35]{color:#1c4a5e;margin-left:4px}.mini-btn.red[data-v-98b0cc35]{background:#c0392b;color:#fff;border:1px solid #C0392B}.commission-box[data-v-98b0cc35]{margin-top:10px;display:flex;gap:18px;flex-wrap:wrap;background:#fdf1ee;border:1px solid #A8DCEF;border-radius:8px;padding:10px 14px;font-size:13px;color:#4e6b7e}.commission-box b[data-v-98b0cc35]{color:#1c4a5e;margin-left:4px}.ms-num.gray[data-v-98b0cc35]{color:#4e6b7e}.ms-label[data-v-98b0cc35]{font-size:11px;color:#8aa5b4;margin-top:2px}h3[data-v-98b0cc35]{margin:0 0 12px}.card-head[data-v-98b0cc35]{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:12px}.card-head h3[data-v-98b0cc35]{margin:0}.card-head .toolbar[data-v-98b0cc35]{margin-bottom:0}.toolbar[data-v-98b0cc35]>*{flex:0 0 auto}.dash[data-v-98b0cc35]{color:#8aa5b4;font-size:12px}.toolbar[data-v-98b0cc35]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.mini-btn[data-v-98b0cc35]{padding:6px 12px;font-size:12px;border-radius:6px}.mini-btn.blue[data-v-98b0cc35]{background:#fff;color:#0fa6c6;border:1px solid #0FA6C6}.mini-btn.green[data-v-98b0cc35]{background:#fff;color:#0f8fc4;border:1px solid #0F8FC4}.btn-sm[data-v-98b0cc35]{padding:4px 12px;font-size:12px;border-radius:5px;color:#fff;margin-right:0;white-space:nowrap}.btn-sm.blue[data-v-98b0cc35]{background:#0fa6c6;color:#fff}.btn-sm.orange[data-v-98b0cc35]{background:#e8930c;color:#fff}.btn-sm.red[data-v-98b0cc35]{background:#c0392b;color:#fff}.ops[data-v-98b0cc35]{display:flex;gap:6px;flex-wrap:nowrap}.ops-cell[data-v-98b0cc35],.nowrap[data-v-98b0cc35]{white-space:nowrap}.tbl-wrap[data-v-98b0cc35]{overflow-x:auto}.tbl[data-v-98b0cc35]{min-width:780px}.tbl th[data-v-98b0cc35],.tbl td[data-v-98b0cc35]{padding:9px 6px;font-size:12px}.txt-red[data-v-98b0cc35]{color:#c0392b}.dialog.wide[data-v-98b0cc35]{width:760px}.info-grid[data-v-98b0cc35]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 16px;font-size:13px;color:#4e6b7e}.info-grid b[data-v-98b0cc35]{display:block;margin-top:2px;color:#1c4a5e;font-weight:500}.note-box[data-v-98b0cc35]{margin-top:10px;background:#fff6de;border:1px solid #F0DCB0;padding:10px 12px;border-radius:8px;font-size:13px}.imgs[data-v-98b0cc35]{display:flex;flex-wrap:wrap;gap:8px}.img-item[data-v-98b0cc35]{width:90px;height:90px;object-fit:cover;border-radius:6px;cursor:zoom-in;border:1px solid #D6E4EE}.empty[data-v-98b0cc35]{text-align:center;color:#b1c9d8;padding:24px}.toolbar[data-v-7df070a2]{display:flex;align-items:center;gap:8px;margin-bottom:14px;flex-wrap:wrap}.toolbar select[data-v-7df070a2],.toolbar input[type=date][data-v-7df070a2]{padding:5px 10px;font-size:13px;border:1px solid #E3E7EA;border-radius:8px;background:#fff;color:#1f4a44}.toolbar select[data-v-7df070a2]{max-width:200px}.muted[data-v-7df070a2]{color:#8aa5b4;font-size:12px}.btn-clear[data-v-7df070a2]{padding:5px 12px;font-size:12px;border:1px solid #E3E7EA;border-radius:8px;background:#fff;color:#8aa5b4;cursor:pointer}.btn-clear[data-v-7df070a2]:hover{color:#1f4a44;border-color:#1f4a44}.grid[data-v-7df070a2]{display:flex;gap:10px;margin-bottom:14px}.mini-stat[data-v-7df070a2]{flex:1;text-align:center;padding:12px;background:#fff;border-radius:10px;cursor:pointer;border:2px solid transparent;box-shadow:0 2px 6px #1f4a440a}.mini-stat.on[data-v-7df070a2]{border-color:#0fa6c6}.ms-num[data-v-7df070a2]{font-size:24px;font-weight:700}.ms-num.blue[data-v-7df070a2]{color:#0fa6c6}.ms-num.green[data-v-7df070a2]{color:#0f8fc4}.ms-num.orange[data-v-7df070a2]{color:#e8930c}.ms-num.red[data-v-7df070a2]{color:#c0392b}.ms-label[data-v-7df070a2]{font-size:11px;color:#8aa5b4;margin-top:2px}h3[data-v-7df070a2]{margin:0 0 12px}.btn-sm[data-v-7df070a2]{padding:3px 10px;font-size:12px;border-radius:5px;color:#fff;margin-right:4px}.btn-sm.green[data-v-7df070a2]{background:#0f8fc4}.btn-sm.blue[data-v-7df070a2]{background:#1677ff}.btn-sm.red[data-v-7df070a2]{background:#c0392b}.openid-row[data-v-7df070a2]{display:flex;align-items:center;gap:6px}.btn-copy[data-v-7df070a2]{padding:0 6px;font-size:11px;border:1px solid #ddd;border-radius:4px;background:#f7f5f2;cursor:pointer}.btn-copy[data-v-7df070a2]:hover{background:#eee}.empty[data-v-7df070a2]{text-align:center;color:#b1c9d8;padding:24px}h3[data-v-cbbf47cd]{margin:0 0 14px}.inh-badge[data-v-cbbf47cd]{display:inline-block;padding:1px 8px;border-radius:10px;font-size:11px;margin-right:6px;vertical-align:middle}.inh-badge.inherit[data-v-cbbf47cd]{background:#e8f4f8;color:#0fa6c6}.inh-badge.custom[data-v-cbbf47cd]{background:#e5f8ec;color:#1b9e63}.add-btn[data-v-cbbf47cd]{background:#0fa6c6;color:#fff}.btn-sm[data-v-cbbf47cd]{padding:3px 10px;font-size:12px;border-radius:5px;color:#fff;margin-right:4px}.btn-sm.blue[data-v-cbbf47cd]{background:#0fa6c6}.btn-sm.orange[data-v-cbbf47cd]{background:#e8930c}.btn-sm.red[data-v-cbbf47cd]{background:#c0392b}.green[data-v-cbbf47cd]{background:#0f8fc4;color:#fff}.empty[data-v-cbbf47cd]{text-align:center;color:#b1c9d8;padding:24px}h3[data-v-5f4acd89]{margin:0 0 10px}.inh-badge[data-v-5f4acd89]{display:inline-block;padding:1px 8px;border-radius:10px;font-size:11px;margin:0 6px;vertical-align:middle}.inh-badge.inherit[data-v-5f4acd89]{background:#e8f4f8;color:#0fa6c6}.inh-badge.custom[data-v-5f4acd89]{background:#e5f8ec;color:#1b9e63}.hint[data-v-5f4acd89]{color:#948b80;font-size:12px;line-height:1.8;margin:0 0 14px}.hint b[data-v-5f4acd89]{color:#0fa6c6}.add-btn[data-v-5f4acd89]{background:#0fa6c6;color:#fff}.btn-sm[data-v-5f4acd89]{padding:3px 10px;font-size:12px;border-radius:5px;color:#fff;margin-right:4px}.btn-sm.blue[data-v-5f4acd89]{background:#0fa6c6}.btn-sm.orange[data-v-5f4acd89]{background:#e8930c}.btn-sm.red[data-v-5f4acd89]{background:#c0392b}.green[data-v-5f4acd89]{background:#0f8fc4;color:#fff}.tbl-wrap[data-v-5f4acd89]{overflow-x:auto}.tbl[data-v-5f4acd89]{min-width:880px}.thumb[data-v-5f4acd89]{width:84px;height:42px;object-fit:cover;border-radius:4px;border:1px solid #D6E4EE}.thumb-miss[data-v-5f4acd89]{font-size:12px;color:#b1c9d8}.preview-box[data-v-5f4acd89]{margin-top:8px}.empty[data-v-5f4acd89]{text-align:center;color:#b1c9d8;padding:24px}.form-item[data-v-5f4acd89]{margin-bottom:14px}.form-item label[data-v-5f4acd89]{display:block;font-size:13px;color:#4e6b7e;margin-bottom:6px}.upload-box[data-v-5f4acd89]{width:100%;height:130px;border:1px dashed #D6DCE5;border-radius:8px;background:#f4fafd;display:flex;align-items:center;justify-content:center;overflow:hidden}.preview-img[data-v-5f4acd89]{width:100%;height:100%;object-fit:contain;background:#fff}.upload-empty[data-v-5f4acd89]{font-size:12px;color:#b1c9d8}.upload-actions[data-v-5f4acd89]{display:flex;gap:8px;margin-top:8px}.file-input[data-v-5f4acd89]{display:none!important}.mini-btn[data-v-5f4acd89]{padding:6px 12px;font-size:12px;border-radius:6px;background:#0fa6c6;color:#fff;border:0}.mini-btn.blue[data-v-5f4acd89]{background:#0fa6c6}.mini-btn.gray[data-v-5f4acd89]{background:#f2f4f7;color:#4e6b7e}.mini-btn[data-v-5f4acd89]:disabled{opacity:.6;cursor:not-allowed}.link-input[data-v-5f4acd89]{margin-top:8px;font-size:12px}.tip[data-v-5f4acd89]{color:#8aa5b4;font-size:11px;margin:6px 0 0;line-height:1.6}.page-head[data-v-e91152a9]{display:flex;align-items:center;justify-content:space-between;background:var(--c-paper);border:1.5px solid var(--c-ink);border-radius:var(--r-wobble);padding:14px 18px;margin-bottom:14px;box-shadow:var(--sh-sm)}.page-title[data-v-e91152a9]{margin:0;font-size:17px;color:var(--c-ink)}.page-sub[data-v-e91152a9]{margin:4px 0 0;font-size:12px;color:var(--c-ink-3)}.save-all[data-v-e91152a9]{white-space:nowrap}.card-grid[data-v-e91152a9]{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pcard.wide[data-v-e91152a9]{grid-column:1 / -1}.pcard[data-v-e91152a9]{background:var(--c-paper);border:1.5px solid var(--c-ink);border-radius:var(--r-wobble);box-shadow:var(--sh-sm);padding:16px 18px}.pcard.accent[data-v-e91152a9]{border-color:#a8dcef;background:linear-gradient(180deg,#fdfefe,#f7fcfd)}.pcard-head[data-v-e91152a9]{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:10px;border-bottom:2px dashed var(--c-line)}.p-icon[data-v-e91152a9]{width:40px;height:40px;border-radius:12px 9px 13px 8px/8px 13px 9px 12px;display:flex;align-items:center;justify-content:center;font-size:20px;border:1.5px solid var(--c-ink);flex-shrink:0;transform:rotate(-3deg)}.p-title[data-v-e91152a9]{font-size:15px;font-weight:800;color:var(--c-ink)}.p-sub[data-v-e91152a9]{font-size:12px;color:var(--c-ink-3);margin-top:2px}.head-switch[data-v-e91152a9]{margin-left:auto}.row[data-v-e91152a9]{display:flex;align-items:center;justify-content:space-between;margin:9px 0;gap:12px}.lb[data-v-e91152a9]{color:var(--c-ink-2);font-size:13.5px}.row input[type=number][data-v-e91152a9],.row input[type=text][data-v-e91152a9]{width:160px;padding:7px 10px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);font-size:13.5px;background:var(--c-paper-2);box-sizing:border-box}.row input[data-v-e91152a9]:focus{outline:none;border-color:var(--c-primary);background:#fff}.inline[data-v-e91152a9]{display:flex;align-items:center;gap:6px}.muted[data-v-e91152a9]{color:var(--c-ink-3);font-size:12px}.hint[data-v-e91152a9]{color:#948b80;font-size:12px;margin:6px 0 2px;line-height:1.6}.switch-row[data-v-e91152a9]{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:9px 0;cursor:pointer;-webkit-user-select:none;user-select:none}.switch[data-v-e91152a9]{width:46px;height:25px;border-radius:14px;border:1.5px solid var(--c-ink);background:var(--c-line-soft);position:relative;transition:background var(--t-fast);flex-shrink:0}.switch .knob[data-v-e91152a9]{position:absolute;top:1.5px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;border:1.5px solid var(--c-ink);transition:left var(--t-fast);box-shadow:1px 1px #00000026}.switch-row.on .switch[data-v-e91152a9]{background:var(--c-success-soft)}.switch-row.on .switch .knob[data-v-e91152a9]{left:22px;background:var(--c-success)}.sec-grid[data-v-e91152a9]{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px 22px}.sec[data-v-e91152a9]{min-width:0}.sec-title[data-v-e91152a9]{font-size:12.5px;font-weight:700;color:var(--c-ink-3);margin:4px 0 2px;letter-spacing:.3px}.demo-box[data-v-e91152a9]{margin-top:10px;padding:9px 12px;font-size:12.5px;color:var(--c-ink-2);background:linear-gradient(transparent 55%,#FFE98A 55%,#FFE98A 92%,transparent 92%);border-radius:var(--r-sm);display:inline-block;line-height:1.7}.demo-box b[data-v-e91152a9]{color:var(--c-ink)}.tbl[data-v-e91152a9]{width:100%;border-collapse:collapse;margin-top:4px}.tbl th[data-v-e91152a9],.tbl td[data-v-e91152a9]{padding:8px;border-bottom:1px solid var(--c-line-soft);text-align:left;font-size:13.5px}.tbl th[data-v-e91152a9]{background:var(--c-paper-2);color:var(--c-ink-2);font-size:12.5px}.cell-input[data-v-e91152a9]{padding:6px 10px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);background:var(--c-paper-2);font-size:13.5px}.cell-input[data-v-e91152a9]:focus{outline:none;border-color:var(--c-primary);background:#fff}.tbl code[data-v-e91152a9]{background:var(--c-paper-2);padding:2px 8px;border-radius:6px;font-size:12px;color:var(--c-ink-2)}.comm-grid[data-v-e91152a9]{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;align-items:start}@media (max-width: 900px){.comm-grid[data-v-e91152a9]{grid-template-columns:1fr}}.comm-input-row[data-v-e91152a9]{display:flex;align-items:center;gap:12px;margin:12px 0}.comm-input-row .lb[data-v-e91152a9]{width:90px;color:var(--c-ink-2);flex-shrink:0}.comm-input-row .range[data-v-e91152a9]{flex:1;accent-color:var(--c-primary)}.comm-input-row .num[data-v-e91152a9]{width:80px;padding:6px 8px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);background:var(--c-paper-2)}.comm-input-row .unit[data-v-e91152a9]{color:var(--c-ink-2)}.preview[data-v-e91152a9]{background:var(--c-danger-soft);border:1.5px dashed var(--c-danger-line);border-radius:var(--r-md);padding:12px 14px}.preview-title[data-v-e91152a9]{font-size:12px;color:var(--c-ink-3);margin-bottom:8px;font-weight:700}.preview-row[data-v-e91152a9]{display:flex;align-items:center;gap:10px;font-size:13px;padding:4px 0}.pv-fee[data-v-e91152a9]{color:var(--c-ink-2);width:96px}.pv-arrow[data-v-e91152a9]{color:var(--c-ink-4)}.pv-cut[data-v-e91152a9]{color:var(--c-danger);width:110px}.pv-earn[data-v-e91152a9]{color:var(--c-success);font-weight:600}button.primary[data-v-e91152a9]{background:var(--c-primary);color:#fff;border:1.5px solid var(--c-ink);padding:8px 20px;border-radius:var(--r-md);cursor:pointer;font-weight:700;box-shadow:var(--sh-sm);transition:all var(--t-fast)}button.primary[data-v-e91152a9]:hover{background:var(--c-primary-hover)}button.primary[data-v-e91152a9]:active{transform:translate(2px,2px);box-shadow:none}@media (max-width: 860px){.card-grid[data-v-e91152a9]{grid-template-columns:1fr}.page-head[data-v-e91152a9]{flex-direction:column;align-items:flex-start;gap:10px}}.hint[data-v-ca84a86f]{color:#948b80;font-size:12px;margin:4px 0 12px}.toolbar[data-v-ca84a86f]{margin:12px 0}.tbl[data-v-ca84a86f]{width:100%;border-collapse:collapse}.tbl th[data-v-ca84a86f],.tbl td[data-v-ca84a86f]{padding:10px 8px;border-bottom:1px solid #eee;text-align:left;font-size:14px}.tbl th[data-v-ca84a86f]{background:#f4fafd;color:#4e6b7e}.tag[data-v-ca84a86f]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px}.tag.on[data-v-ca84a86f]{background:#e4f5ea;color:#0fa6c6}.tag.off[data-v-ca84a86f]{background:#fdecec;color:#e64340}button[data-v-ca84a86f]{margin-right:6px}button.primary[data-v-ca84a86f]{background:#0fa6c6;color:#fff;border:0;padding:6px 14px;border-radius:4px;cursor:pointer}button.ghost[data-v-ca84a86f]{background:#fff;color:#1c4a5e;border:1px solid #D6E4EE;padding:5px 12px;border-radius:4px;cursor:pointer}button.danger[data-v-ca84a86f]{background:#fff;color:#e64340;border:1px solid #F3C2BF;padding:5px 12px;border-radius:4px;cursor:pointer}button[data-v-ca84a86f]:disabled{opacity:.5;cursor:not-allowed}.empty[data-v-ca84a86f]{text-align:center;color:#8aa5b4;padding:32px}.modal-mask[data-v-ca84a86f]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-ca84a86f]{background:#fff;padding:24px;border-radius:8px;width:420px}.modal h4[data-v-ca84a86f]{margin:0 0 16px}.modal .row[data-v-ca84a86f]{display:flex;align-items:center;justify-content:space-between;margin:10px 0}.modal .row input[data-v-ca84a86f]{width:240px;padding:6px 8px;border:1px solid #D6E4EE;border-radius:4px}.modal .actions[data-v-ca84a86f]{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.hint[data-v-f5610af2]{color:#948b80;font-size:12px;margin:4px 0 12px;line-height:1.7}.toolbar[data-v-f5610af2]{margin:12px 0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tbl[data-v-f5610af2]{width:100%;border-collapse:collapse}.tbl th[data-v-f5610af2],.tbl td[data-v-f5610af2]{padding:10px 8px;border-bottom:1px solid #eee;text-align:left;font-size:14px}.tbl th[data-v-f5610af2]{background:#f4fafd;color:#4e6b7e}.tag[data-v-f5610af2]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px}.tag.on[data-v-f5610af2]{background:#e4f5ea;color:#0fa6c6}.tag.off[data-v-f5610af2]{background:#fdecec;color:#e64340}button[data-v-f5610af2]{margin-right:6px}button.primary[data-v-f5610af2]{background:#0fa6c6;color:#fff;border:0;padding:6px 14px;border-radius:4px;cursor:pointer}button.ghost[data-v-f5610af2]{background:#fff;color:#1c4a5e;border:1px solid #D6E4EE;padding:5px 12px;border-radius:4px;cursor:pointer}button.danger[data-v-f5610af2]{background:#fff;color:#e64340;border:1px solid #F3C2BF;padding:5px 12px;border-radius:4px;cursor:pointer}button[data-v-f5610af2]:disabled{opacity:.5;cursor:not-allowed}.empty[data-v-f5610af2]{text-align:center;color:#8aa5b4;padding:32px}.modal-mask[data-v-f5610af2]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-f5610af2]{background:#fff;padding:24px;border-radius:8px;width:460px}.modal h4[data-v-f5610af2]{margin:0 0 16px}.modal .row[data-v-f5610af2]{display:flex;align-items:center;justify-content:space-between;margin:10px 0}.modal .row input[data-v-f5610af2]{width:260px;padding:6px 8px;border:1px solid #D6E4EE;border-radius:4px}.modal textarea[data-v-f5610af2]{width:100%;padding:8px;border:1px solid #D6E4EE;border-radius:4px;font-family:inherit;font-size:13px;box-sizing:border-box}.modal .actions[data-v-f5610af2]{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.entry-card[data-v-97c48292]{padding:18px 20px}.entry-row[data-v-97c48292]{display:flex;align-items:center;justify-content:space-between;gap:18px}.entry-info[data-v-97c48292]{flex:1;min-width:0}.entry-ctl[data-v-97c48292]{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0}.slide-switch[data-v-97c48292]{width:52px;height:28px;border-radius:14px;background:#cbd8d3;cursor:pointer;position:relative;transition:background .25s ease;flex-shrink:0}.slide-switch.on[data-v-97c48292]{background:#21a98b}.slide-knob[data-v-97c48292]{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:left .25s ease}.slide-switch.on .slide-knob[data-v-97c48292]{left:27px}.entry-state[data-v-97c48292]{font-size:12px;font-weight:600}.entry-state.st-on[data-v-97c48292]{color:#1e8e4d}.entry-state.st-off[data-v-97c48292]{color:#c0392b}.settings-gate[data-v-97c48292]{max-width:420px;margin:48px auto 0;text-align:center;padding:36px 32px 32px}.settings-gate .gate-icon[data-v-97c48292]{font-size:42px;margin-bottom:8px}.settings-gate h3[data-v-97c48292]{margin:0 0 6px;display:block;justify-content:center}.settings-gate h3[data-v-97c48292]:before{display:none}.settings-gate .hint[data-v-97c48292]{margin:0 0 18px}.gate-form[data-v-97c48292]{display:flex;gap:8px;justify-content:center}.gate-input[data-v-97c48292]{flex:1;max-width:220px;padding:9px 12px;border:1px solid #D5E3DF;border-radius:8px;font-size:14px}.gate-btn[data-v-97c48292]{white-space:nowrap}.gate-err[data-v-97c48292]{margin-top:12px;color:#c0392b;font-size:13px}.gate-change[data-v-97c48292]{margin-top:14px;padding-top:12px;border-top:1px dashed #E3EDEA}.gate-change label[data-v-97c48292]{display:block;font-size:13px;color:#4e6b7e;margin-bottom:8px}.tabs[data-v-97c48292]{gap:6px;margin-bottom:14px}.tab-btn[data-v-97c48292]{background:#fff;color:#544c44;border:1px solid #D6E4EE}.tab-btn.on[data-v-97c48292]{background:#0fa6c6;border-color:#0fa6c6;color:#fff}h3[data-v-97c48292]{margin:0 0 14px;display:flex;align-items:center;gap:8px;font-size:15px;color:#3e5566}h3[data-v-97c48292]:before{content:"";display:inline-block;width:4px;height:16px;border-radius:2px;background:linear-gradient(180deg,#0fa6c6,#0f8fc4);flex-shrink:0}.mode-badge[data-v-97c48292]{font-size:12px;font-weight:600;padding:2px 10px;border-radius:20px;line-height:1.6}.mode-badge.on[data-v-97c48292]{background:#e5f6ec;color:#1e8e4d;border:1px solid #BFE6CE}.mode-badge.off[data-v-97c48292]{background:#fff6e5;color:#8a6a12;border:1px solid #F0DCB0}.tpl-grid[data-v-97c48292]{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}@media (max-width: 720px){.tpl-grid[data-v-97c48292]{grid-template-columns:1fr}}.add-btn[data-v-97c48292]{background:#0fa6c6}.btn-sm[data-v-97c48292]{padding:3px 10px;font-size:12px;border-radius:5px;color:#fff;margin-right:4px}.btn-sm.orange[data-v-97c48292]{background:#e8930c}.btn-sm.red[data-v-97c48292]{background:#c0392b}.btn-sm.blue[data-v-97c48292]{background:#2e7bd9}.green[data-v-97c48292]{background:#0f8fc4;color:#fff}.empty[data-v-97c48292]{text-align:center;color:#b1c9d8;padding:24px}.form-item[data-v-97c48292]{margin-bottom:14px}.form-item label[data-v-97c48292]{display:block;font-size:13px;color:#4e6b7e;margin-bottom:6px}.danger-zone[data-v-97c48292]{border:1px solid #A8DCEF}.card[data-v-97c48292]{border-radius:12px;border-color:#e3edf4;box-shadow:0 1px 3px #3e55660d,0 4px 14px #3e55660d}.pay-card[data-v-97c48292]{border:1px solid #F0DCB0}.pay-card h3[data-v-97c48292]{margin-bottom:6px}.warn-line[data-v-97c48292]{margin:8px 0 12px;padding:8px 12px;border-radius:8px;background:#fff6e5;border:1px solid #F0DCB0;color:#8a6a12;font-size:13px}.hint[data-v-97c48292]{color:#948b80;font-size:13px;line-height:1.7;margin:0 0 14px}.danger[data-v-97c48292]{background:#c0392b}.row[data-v-97c48292]{display:flex;gap:12px}.privacy-card .hint code[data-v-97c48292]{background:#f4eee0;color:#c0392b;padding:1px 6px;border-radius:3px;font-size:12px}.privacy-list[data-v-97c48292]{display:flex;flex-direction:column;gap:12px;margin-top:10px}.privacy-item[data-v-97c48292]{border:1px solid #D6E4EE;border-radius:6px;padding:12px 14px;background:#fbf7ee}.privacy-item .row-between[data-v-97c48292]{margin-bottom:6px;align-items:center}.privacy-title[data-v-97c48292]{font-weight:600;color:#544c44;font-size:14px}.privacy-title .num[data-v-97c48292]{display:inline-block;background:#0fa6c6;color:#fff;width:22px;height:22px;line-height:22px;text-align:center;border-radius:50%;margin-right:8px;font-size:12px}.privacy-fields[data-v-97c48292]{font-size:13px;color:#544c44;line-height:1.7;margin-bottom:8px}.privacy-fields code[data-v-97c48292]{background:#f4eee0;padding:1px 5px;border-radius:3px;font-size:12px;color:#c0392b}.privacy-text[data-v-97c48292]{display:block;width:100%;box-sizing:border-box;border:1px solid #D6E4EE;border-radius:4px;padding:8px 10px;font-size:12px;line-height:1.6;background:#fff;color:#544c44;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,Courier New,monospace}.role-mgr[data-v-97c48292]{border-top:2px dashed #E3D9C8}.perm-grid[data-v-97c48292]{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;max-height:260px;overflow-y:auto;border:1px solid #E3D9C8;border-radius:6px;padding:10px 12px;background:#fdfbf5}.perm-item[data-v-97c48292]{display:flex;align-items:center;gap:6px;font-size:13px;color:#4e6b7e;cursor:pointer;margin:0}.perm-item input[data-v-97c48292]{margin:0}.pcard[data-v-8fedbe63]{background:var(--c-paper);border:1.5px solid var(--c-ink);border-radius:var(--r-wobble);box-shadow:var(--sh-sm);padding:16px 18px}.pcard-head[data-v-8fedbe63]{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:10px;border-bottom:2px dashed var(--c-line)}.p-icon[data-v-8fedbe63]{width:40px;height:40px;border-radius:12px 9px 13px 8px/8px 13px 9px 12px;display:flex;align-items:center;justify-content:center;font-size:20px;border:1.5px solid var(--c-ink);flex-shrink:0;transform:rotate(-3deg)}.p-title[data-v-8fedbe63]{font-size:15px;font-weight:800;color:var(--c-ink)}.p-sub[data-v-8fedbe63]{font-size:12px;color:var(--c-ink-3);margin-top:2px}.filter-bar[data-v-8fedbe63]{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.filter-bar .push-right[data-v-8fedbe63]{margin-left:auto}.chip[data-v-8fedbe63]{padding:6px 14px;border:1.5px solid var(--c-line);border-radius:16px;background:var(--c-paper-2);font-size:13px;cursor:pointer;color:var(--c-ink-2);font-weight:600}.chip.on[data-v-8fedbe63]{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}.chip-trash[data-v-8fedbe63]{border-style:dashed}.chip-trash.on[data-v-8fedbe63]{border-style:solid}.warn-badge[data-v-8fedbe63]{display:inline-block;min-width:18px;padding:0 5px;margin-left:4px;border-radius:9px;background:var(--c-danger);color:#fff;font-size:11px;line-height:18px}.tbl[data-v-8fedbe63]{width:100%;border-collapse:collapse}.tbl th[data-v-8fedbe63],.tbl td[data-v-8fedbe63]{padding:8px;border-bottom:1px solid var(--c-line-soft);text-align:left;font-size:13.5px;vertical-align:middle}.tbl th[data-v-8fedbe63]{background:var(--c-paper-2);color:var(--c-ink-2);font-size:12.5px}.cell-input[data-v-8fedbe63]{padding:6px 10px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);background:var(--c-paper-2);font-size:13.5px}.thumb[data-v-8fedbe63]{width:44px;height:44px;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--c-paper-2);font-size:22px}.thumb img[data-v-8fedbe63]{width:100%;height:100%;object-fit:cover}.g-name[data-v-8fedbe63]{font-weight:700;color:var(--c-ink)}.g-desc[data-v-8fedbe63]{font-size:12px;max-width:220px}.stock-warn[data-v-8fedbe63]{color:var(--c-danger);font-weight:700}.muted[data-v-8fedbe63]{color:var(--c-ink-3);font-size:12.5px}.txt-red[data-v-8fedbe63]{color:var(--c-danger)}.empty[data-v-8fedbe63]{text-align:center;color:var(--c-ink-4);padding:30px 0}.tag[data-v-8fedbe63]{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:700}.tag-success[data-v-8fedbe63]{background:#e5f6f0;color:#157a5e}.tag-muted[data-v-8fedbe63]{background:#eff2f0;color:#8a978f}.btn-sm[data-v-8fedbe63]{padding:4px 10px;font-size:12px;border-radius:5px;color:#fff;margin-right:4px;border:none;cursor:pointer}.btn-sm.green[data-v-8fedbe63]{background:#0f8fc4}.btn-sm.blue[data-v-8fedbe63]{background:#0fa6c6}.btn-sm.red[data-v-8fedbe63]{background:#c0392b}.btn-sm.orange[data-v-8fedbe63]{background:#e67e22}.stock-name-row[data-v-8fedbe63]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}.stock-name[data-v-8fedbe63]{font-weight:700;color:var(--c-ink);font-size:14px;text-align:right}.stock-grid[data-v-8fedbe63]{display:flex;gap:12px;align-items:stretch}.stock-col[data-v-8fedbe63]{flex:1;display:flex;flex-direction:column}.stock-cap[data-v-8fedbe63]{font-size:12px;color:var(--c-ink-3);margin-bottom:8px;text-align:center;line-height:1.4}.stock-val[data-v-8fedbe63]{font-size:20px;font-weight:800;color:var(--c-ink);text-align:center;line-height:38px}.stock-input[data-v-8fedbe63]{width:100%;box-sizing:border-box;padding:8px 10px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);font-size:14px;text-align:center;background:var(--c-paper-2)}.primary[data-v-8fedbe63]{background:var(--c-primary);color:#fff;border:1.5px solid var(--c-ink);padding:8px 20px;border-radius:var(--r-md);cursor:pointer;font-weight:700}.primary[data-v-8fedbe63]:hover{background:var(--c-primary-hover)}.ghost-sm[data-v-8fedbe63]{background:#fff;border:1.5px solid var(--c-line);border-radius:var(--r-md);padding:8px 14px;cursor:pointer;font-weight:600;color:var(--c-ink-2);font-size:13px}.ghost-sm[data-v-8fedbe63]:hover{border-color:var(--c-primary);color:var(--c-primary)}.import-result[data-v-8fedbe63]{border:1px solid var(--c-line);border-radius:var(--r-sm);padding:10px 12px;max-height:200px;overflow-y:auto;background:var(--c-paper-2)}.ghost[data-v-8fedbe63]{background:#fff;border:1.5px solid var(--c-ink);border-radius:var(--r-md);padding:8px 16px;cursor:pointer;font-weight:600}.ghost[data-v-8fedbe63]:hover{background:var(--c-paper-2)}.modal-mask[data-v-8fedbe63]{position:fixed;top:0;right:0;bottom:0;left:0;background:#16221f73;z-index:100;display:flex;align-items:center;justify-content:center}.modal[data-v-8fedbe63]{background:#fff;border:1.5px solid var(--c-ink);border-radius:var(--r-lg);padding:20px 24px;width:460px;max-width:92vw;max-height:88vh;overflow-y:auto}.modal h3[data-v-8fedbe63]{margin:0 0 12px;color:var(--c-ink)}.row[data-v-8fedbe63]{display:flex;align-items:center;justify-content:space-between;margin:9px 0;gap:12px}.row.top[data-v-8fedbe63]{align-items:flex-start}.row input[type=text][data-v-8fedbe63],.row input[type=number][data-v-8fedbe63],.row input[data-v-8fedbe63]:not([type]){width:280px;padding:7px 10px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);font-size:13.5px;background:var(--c-paper-2);box-sizing:border-box}.row textarea[data-v-8fedbe63]{padding:7px 10px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);font-size:13.5px;background:var(--c-paper-2);font-family:inherit}.lb[data-v-8fedbe63]{color:var(--c-ink-2);font-size:13.5px;flex-shrink:0}.modal-foot[data-v-8fedbe63]{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.duo[data-v-8fedbe63]{display:flex;gap:14px}.duo .row[data-v-8fedbe63]{flex:1;margin:9px 0 0}.duo .row input[data-v-8fedbe63],.duo .row select[data-v-8fedbe63]{width:100%;min-width:0;box-sizing:border-box}.upload-box[data-v-8fedbe63]{width:100%;height:100px;border:1.5px dashed var(--c-line);border-radius:var(--r-sm);background:var(--c-paper-2);display:flex;align-items:center;justify-content:center;overflow:hidden}.preview-img[data-v-8fedbe63]{width:100%;height:100%;object-fit:contain;background:#fff}.upload-empty[data-v-8fedbe63]{font-size:12px;color:var(--c-ink-4)}.upload-actions[data-v-8fedbe63]{display:flex;gap:8px;margin-top:8px}.upload-tip[data-v-8fedbe63]{color:var(--c-ink-4);font-size:11px;margin:6px 0 0;line-height:1.6}.file-input[data-v-8fedbe63]{display:none!important}.mini-btn[data-v-8fedbe63]{padding:6px 12px;font-size:12px;border-radius:6px;background:var(--c-primary);color:#fff;border:0;cursor:pointer}.mini-btn.blue[data-v-8fedbe63]{background:var(--c-primary)}.mini-btn.gray[data-v-8fedbe63]{background:var(--c-paper-2);color:var(--c-ink-2);border:1px solid var(--c-line)}.mini-btn[data-v-8fedbe63]:disabled{opacity:.6;cursor:not-allowed}.cat-list[data-v-8fedbe63]{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto;padding:2px}.cat-row[data-v-8fedbe63]{display:flex;align-items:center;gap:8px}.cat-idx[data-v-8fedbe63]{width:20px;height:20px;flex-shrink:0;border-radius:50%;background:var(--c-paper-2);border:1.5px solid var(--c-line);color:var(--c-ink-2);font-size:12px;display:flex;align-items:center;justify-content:center;font-weight:700}.cat-input[data-v-8fedbe63]{flex:1;width:auto;min-width:0}.mini-btn.red[data-v-8fedbe63]{background:#c0392b}.switch-wrap[data-v-8fedbe63]{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.sw-label[data-v-8fedbe63]{font-size:13px;font-weight:700}.sw-label.on[data-v-8fedbe63]{color:#157a5e}.sw-label.off[data-v-8fedbe63]{color:var(--c-ink-4)}.switch[data-v-8fedbe63]{width:44px;height:24px;border-radius:12px;background:#c9d4d0;position:relative;transition:background .2s;flex-shrink:0;border:1px solid var(--c-line);box-sizing:border-box}.switch.on[data-v-8fedbe63]{background:#0f8fc4}.switch .knob[data-v-8fedbe63]{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:left .2s}.switch.on .knob[data-v-8fedbe63]{left:22px}.img-up[data-v-7a3e2b37]{min-width:0}.up-grid[data-v-7a3e2b37]{display:flex;flex-wrap:wrap;gap:8px}.up-cell[data-v-7a3e2b37]{position:relative;width:72px;height:72px;border:1.5px solid var(--c-line);border-radius:8px;overflow:hidden;background:var(--c-paper-2);flex-shrink:0}.up-cell img[data-v-7a3e2b37]{width:100%;height:100%;object-fit:cover;display:block}.up-loading[data-v-7a3e2b37]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--c-ink-4);font-size:18px}.up-x[data-v-7a3e2b37]{position:absolute;top:0;right:0;width:20px;height:20px;background:#c0392be6;color:#fff;border-radius:0 0 0 8px;display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;line-height:1}.up-add[data-v-7a3e2b37]{width:72px;height:72px;border:1.5px dashed var(--c-line);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;color:var(--c-ink-3);font-size:20px;background:var(--c-paper-2);flex-shrink:0}.up-add[data-v-7a3e2b37]:hover{border-color:var(--c-primary);color:var(--c-primary)}.up-add i[data-v-7a3e2b37]{font-style:normal;font-size:11px}.up-add.busy[data-v-7a3e2b37]{cursor:wait}.up-spin[data-v-7a3e2b37]{font-size:11px;color:var(--c-primary)}.up-tip[data-v-7a3e2b37]{color:#948b80;font-size:12px;margin:6px 0 0}.row[data-v-c8a6bb10]{display:flex;align-items:center;justify-content:space-between;margin:9px 0;gap:12px}.row.top[data-v-c8a6bb10]{align-items:flex-start}.row .lb[data-v-c8a6bb10]{color:var(--c-ink-2);font-size:13.5px;line-height:1.55;flex-shrink:0}.row input[data-v-c8a6bb10],.row textarea[data-v-c8a6bb10]{padding:7px 10px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);font-size:13.5px;background:var(--c-paper-2);box-sizing:border-box;font-family:inherit}.row input[data-v-c8a6bb10]:focus,.row textarea[data-v-c8a6bb10]:focus{outline:none;border-color:var(--c-primary);background:#fff}.act-div[data-v-c8a6bb10]{border-top:2px dashed var(--c-line);margin:16px 0 12px}.hint[data-v-c8a6bb10]{color:#948b80;font-size:12px;margin:6px 0 2px;line-height:1.7}.mini[data-v-c8a6bb10]{padding:6px 14px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);background:var(--c-paper-2);cursor:pointer;font-size:12.5px;font-weight:700;color:var(--c-ink-2)}.mini[data-v-c8a6bb10]:hover{border-color:var(--c-primary);color:var(--c-primary)}.mini.danger[data-v-c8a6bb10]:hover{border-color:#c0392b;color:#c0392b}.vas-table[data-v-c8a6bb10]{width:100%;border-collapse:collapse;margin:4px 0 10px;font-size:13px}.vas-table th[data-v-c8a6bb10],.vas-table td[data-v-c8a6bb10]{border:1.5px solid var(--c-line);padding:6px 10px;text-align:left}.vas-table th[data-v-c8a6bb10]{background:var(--c-paper-2);color:var(--c-ink-2);font-size:12.5px}.vas-table input[type=number][data-v-c8a6bb10],.vas-table input[type=text][data-v-c8a6bb10],.vas-table input[data-v-c8a6bb10]:not([type]){padding:5px 8px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);background:#fff;font-size:13px}.muted2[data-v-c8a6bb10]{color:#948b80;font-size:12.5px}.cfg-warn[data-v-c8a6bb10]{margin:6px 0 8px;padding:8px 12px;border:1.5px solid #E8B24A;border-left-width:5px;border-radius:var(--r-sm);background:#fff8e8;color:#8a5a12;font-size:12.5px;line-height:1.85}.cfg-warn b[data-v-c8a6bb10]{display:block;margin-bottom:2px}.cell-select[data-v-c8a6bb10]{padding:5px 8px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);background:#fff;font-size:13px}.page-head[data-v-ca9573c8]{display:flex;align-items:center;justify-content:space-between;background:var(--c-paper);border:1.5px solid var(--c-ink);border-radius:var(--r-wobble);padding:14px 18px;margin-bottom:14px;box-shadow:var(--sh-sm)}.page-title[data-v-ca9573c8]{margin:0;font-size:17px;color:var(--c-ink)}.page-sub[data-v-ca9573c8]{margin:4px 0 0;font-size:12px;color:var(--c-ink-3)}.save-all[data-v-ca9573c8]{white-space:nowrap}.card-grid[data-v-ca9573c8]{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pcard.wide[data-v-ca9573c8]{grid-column:1 / -1}.pcard[data-v-ca9573c8]{background:var(--c-paper);border:1.5px solid var(--c-ink);border-radius:var(--r-wobble);box-shadow:var(--sh-sm);padding:16px 18px}.pcard.state-on[data-v-ca9573c8]{border-color:var(--c-success-line);background:linear-gradient(180deg,#fdfefe,#f4fbf8)}.pcard.state-off[data-v-ca9573c8]{border-color:var(--c-line)}.pcard-head[data-v-ca9573c8]{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:10px;border-bottom:2px dashed var(--c-line)}.p-icon[data-v-ca9573c8]{width:40px;height:40px;border-radius:12px 9px 13px 8px/8px 13px 9px 12px;display:flex;align-items:center;justify-content:center;font-size:20px;border:1.5px solid var(--c-ink);flex-shrink:0;transform:rotate(-3deg)}.p-title[data-v-ca9573c8]{font-size:15px;font-weight:800;color:var(--c-ink)}.p-sub[data-v-ca9573c8]{font-size:12px;color:var(--c-ink-3);margin-top:2px}.head-switch[data-v-ca9573c8]{margin-left:auto;display:flex;align-items:center;gap:10px;cursor:pointer}.head-btns[data-v-ca9573c8]{margin-left:auto;display:flex;gap:8px}.state-text[data-v-ca9573c8]{font-size:13px;font-weight:800}.switch-row.on .state-text[data-v-ca9573c8]{color:var(--c-success)}.switch-row:not(.on) .state-text[data-v-ca9573c8]{color:var(--c-ink-3)}.switch[data-v-ca9573c8]{width:46px;height:25px;border-radius:14px;border:1.5px solid var(--c-ink);background:var(--c-line-soft);position:relative;transition:background var(--t-fast);flex-shrink:0;display:inline-block}.switch .knob[data-v-ca9573c8]{position:absolute;top:1.5px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;border:1.5px solid var(--c-ink);transition:left var(--t-fast);box-shadow:1px 1px #00000026}.switch-row.on .switch[data-v-ca9573c8]{background:var(--c-success-soft)}.switch-row.on .switch .knob[data-v-ca9573c8]{left:22px;background:var(--c-success)}.row[data-v-ca9573c8]{display:flex;align-items:center;justify-content:space-between;margin:9px 0;gap:12px}.row.top[data-v-ca9573c8]{align-items:flex-start}.lb[data-v-ca9573c8]{color:var(--c-ink-2);font-size:13.5px}.row input[data-v-ca9573c8],.row textarea[data-v-ca9573c8]{width:170px;padding:7px 10px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);font-size:13.5px;background:var(--c-paper-2);box-sizing:border-box;font-family:inherit}.row textarea[data-v-ca9573c8]{width:210px;resize:vertical}.row input[data-v-ca9573c8]:focus,.row textarea[data-v-ca9573c8]:focus{outline:none;border-color:var(--c-primary);background:#fff}.inline[data-v-ca9573c8]{display:flex;align-items:center;gap:6px}.muted[data-v-ca9573c8]{color:var(--c-ink-3);font-size:12px}.hint[data-v-ca9573c8]{color:#948b80;font-size:12px;margin:6px 0 2px;line-height:1.6}.demo-box[data-v-ca9573c8]{margin-top:10px;padding:9px 12px;font-size:12.5px;color:var(--c-ink-2);background:linear-gradient(transparent 55%,#FFE98A 55%,#FFE98A 92%,transparent 92%);border-radius:var(--r-sm);display:inline-block;line-height:1.7}.demo-box b[data-v-ca9573c8]{color:var(--c-ink)}.tbl[data-v-ca9573c8]{width:100%;border-collapse:collapse;margin-top:4px}.tbl th[data-v-ca9573c8],.tbl td[data-v-ca9573c8]{padding:8px;border-bottom:1px solid var(--c-line-soft);text-align:left;font-size:13.5px}.tbl th[data-v-ca9573c8]{background:var(--c-paper-2);color:var(--c-ink-2);font-size:12.5px}.cell-input[data-v-ca9573c8]{padding:6px 10px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);background:var(--c-paper-2);font-size:13.5px}.cell-input[data-v-ca9573c8]:focus{outline:none;border-color:var(--c-primary);background:#fff}.tbl code[data-v-ca9573c8]{background:var(--c-paper-2);padding:2px 8px;border-radius:6px;font-size:12px;color:var(--c-ink-2)}button.primary[data-v-ca9573c8]{background:var(--c-primary);color:#fff;border:1.5px solid var(--c-ink);padding:8px 20px;border-radius:var(--r-md);cursor:pointer;font-weight:700;box-shadow:var(--sh-sm);transition:all var(--t-fast)}button.primary[data-v-ca9573c8]:hover{background:var(--c-primary-hover)}button.primary[data-v-ca9573c8]:active{transform:translate(2px,2px);box-shadow:none}.mini[data-v-ca9573c8]{padding:6px 14px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);background:var(--c-paper-2);cursor:pointer;font-size:12.5px;font-weight:700;color:var(--c-ink-2)}.mini[data-v-ca9573c8]:hover{border-color:var(--c-primary);color:var(--c-primary)}.mini.danger[data-v-ca9573c8]:hover{border-color:#c0392b;color:#c0392b}@media (max-width: 860px){.card-grid[data-v-ca9573c8]{grid-template-columns:1fr}.page-head[data-v-ca9573c8]{flex-direction:column;align-items:flex-start;gap:10px}}.page-head[data-v-ac39fe39]{display:flex;align-items:center;justify-content:space-between;background:var(--c-paper);border:1.5px solid var(--c-ink);border-radius:var(--r-wobble);padding:14px 18px;margin-bottom:14px;box-shadow:var(--sh-sm)}.page-title[data-v-ac39fe39]{margin:0;font-size:17px;color:var(--c-ink)}.page-sub[data-v-ac39fe39]{margin:4px 0 0;font-size:12px;color:var(--c-ink-3)}.save-all[data-v-ac39fe39]{white-space:nowrap}.share-grid[data-v-ac39fe39]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin-top:4px}.sc-badge[data-v-ac39fe39]{font-size:11px;padding:1px 8px;border-radius:999px;margin-left:6px;vertical-align:1px}.sc-badge.on[data-v-ac39fe39]{background:#e2f5e9;color:#1e8e4d}.sc-badge.off[data-v-ac39fe39]{background:#eef3f7;color:#8a99a8}.sc-reset[data-v-ac39fe39]{margin-left:auto;font-size:11px;padding:3px 8px;border-radius:6px;background:#fff;color:#8a99a8;border:1px solid #E1E5EA;cursor:pointer}.sc-reset[data-v-ac39fe39]:hover{color:#c0392b;border-color:#c0392b}.share-card[data-v-ac39fe39]{background:var(--c-paper-2);border:1.5px solid var(--c-ink);border-radius:var(--r-wobble);padding:14px 16px;box-shadow:var(--sh-sm);transition:transform var(--t-fast),box-shadow var(--t-fast)}.share-card[data-v-ac39fe39]:hover{transform:translate(-2px,-2px);box-shadow:var(--sh-md)}.sc-head[data-v-ac39fe39]{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:10px;border-bottom:2px dashed var(--c-line)}.sc-emoji[data-v-ac39fe39]{width:38px;height:38px;border-radius:12px 9px 13px 8px/8px 13px 9px 12px;display:flex;align-items:center;justify-content:center;font-size:19px;border:1.5px solid var(--c-ink);background:#ede8fa;flex-shrink:0;transform:rotate(-3deg)}.sc-name[data-v-ac39fe39]{font-size:14.5px;font-weight:800;color:var(--c-ink)}.sc-hint[data-v-ac39fe39]{font-size:11.5px;color:var(--c-ink-3);margin-top:1px}.sc-row[data-v-ac39fe39]{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.sc-row[data-v-ac39fe39]:last-child{margin-bottom:0}.sc-lb[data-v-ac39fe39]{font-size:12.5px;color:var(--c-ink-2);font-weight:700}.sc-input[data-v-ac39fe39]{width:100%;padding:7px 10px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);background:#fff;font-size:13px;box-sizing:border-box;font-family:inherit}.sc-input[data-v-ac39fe39]:focus{outline:none;border-color:var(--c-primary)}.hint[data-v-ac39fe39]{color:#948b80;font-size:12px;margin:6px 0 2px;line-height:1.6}.store-share[data-v-ac39fe39]{margin-top:18px;background:var(--c-paper);border:1.5px solid var(--c-ink);border-radius:var(--r-wobble);padding:14px 18px;box-shadow:var(--sh-sm)}.ss-head[data-v-ac39fe39]{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:12px}.ss-head-text[data-v-ac39fe39]{flex:1;min-width:240px}.ss-title[data-v-ac39fe39]{margin:0;font-size:15px;color:var(--c-ink)}.ss-sub[data-v-ac39fe39]{margin:4px 0 0;font-size:12px;color:var(--c-ink-3)}.ss-select[data-v-ac39fe39]{width:auto;min-width:190px;max-width:280px;padding:8px 12px;border:1.5px solid var(--c-ink);border-radius:var(--r-md);background:#fff;font-size:13px;font-family:inherit;cursor:pointer;box-shadow:var(--sh-sm);flex:0 0 auto}.ss-select[data-v-ac39fe39]:focus{outline:none;border-color:var(--c-primary)}.ss-empty[data-v-ac39fe39]{min-height:96px;display:flex;align-items:center;justify-content:center;padding:18px 14px;text-align:center;color:#9a948a;font-size:13px;border:1.5px dashed var(--c-line);border-radius:var(--r-md);background:var(--c-paper-2)}.store-card[data-v-ac39fe39]{box-shadow:var(--sh-sm)}button.primary[data-v-ac39fe39]{background:var(--c-primary);color:#fff;border:1.5px solid var(--c-ink);padding:8px 20px;border-radius:var(--r-md);cursor:pointer;font-weight:700;box-shadow:var(--sh-sm);transition:all var(--t-fast)}button.primary[data-v-ac39fe39]:hover{background:var(--c-primary-hover)}button.primary[data-v-ac39fe39]:active{transform:translate(2px,2px);box-shadow:none}.pcard[data-v-f0f1aa6d]{background:var(--c-paper);border:1.5px solid var(--c-ink);border-radius:var(--r-wobble);box-shadow:var(--sh-sm);padding:16px 18px}.pcard-head[data-v-f0f1aa6d]{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:10px;border-bottom:2px dashed var(--c-line)}.p-icon[data-v-f0f1aa6d]{width:40px;height:40px;border-radius:12px 9px 13px 8px/8px 13px 9px 12px;display:flex;align-items:center;justify-content:center;font-size:20px;border:1.5px solid var(--c-ink);flex-shrink:0;transform:rotate(-3deg)}.p-title[data-v-f0f1aa6d]{font-size:15px;font-weight:800;color:var(--c-ink)}.p-sub[data-v-f0f1aa6d]{font-size:12px;color:var(--c-ink-3);margin-top:2px}.filter-bar[data-v-f0f1aa6d]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.tbl[data-v-f0f1aa6d]{width:100%;border-collapse:collapse}.tbl th[data-v-f0f1aa6d],.tbl td[data-v-f0f1aa6d]{padding:8px;border-bottom:1px solid var(--c-line-soft);text-align:left;font-size:13.5px;vertical-align:middle}.tbl th[data-v-f0f1aa6d]{background:var(--c-paper-2);color:var(--c-ink-2);font-size:12.5px}.cell-input[data-v-f0f1aa6d]{padding:6px 10px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);background:var(--c-paper-2);font-size:13.5px}.g-name[data-v-f0f1aa6d]{font-weight:700;color:var(--c-ink)}.muted[data-v-f0f1aa6d]{color:var(--c-ink-3);font-size:12.5px}.txt-red[data-v-f0f1aa6d]{color:var(--c-danger)}.txt-warn[data-v-f0f1aa6d]{color:#b7791f}.reject-note[data-v-f0f1aa6d]{color:#c0392b;font-size:12px;margin-top:3px}.empty[data-v-f0f1aa6d]{text-align:center;color:var(--c-ink-4);padding:30px 0}.tag[data-v-f0f1aa6d]{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:700}.tag-success[data-v-f0f1aa6d]{background:#e2f7ef;color:#178a6e}.tag-warn[data-v-f0f1aa6d]{background:#fff3dc;color:#b7791f}.tag-muted[data-v-f0f1aa6d]{background:#eee;color:#888}.tag-danger[data-v-f0f1aa6d]{background:#fde8e4;color:#c0392b}.btn-sm[data-v-f0f1aa6d]{padding:4px 10px;font-size:12px;border-radius:5px;color:#fff;margin-right:4px;border:none;cursor:pointer}.btn-sm.green[data-v-f0f1aa6d]{background:#0f8fc4}.btn-sm.blue[data-v-f0f1aa6d]{background:#0fa6c6}.btn-sm.red[data-v-f0f1aa6d]{background:#c0392b}.btn-sm.orange[data-v-f0f1aa6d]{background:#e8912d}.btn-sm.purple[data-v-f0f1aa6d]{background:#7a52c7}.tag-act[data-v-f0f1aa6d]{background:#f0e8ff;color:#7a52c7;font-size:11px;padding:2px 8px;vertical-align:middle}.modal-wide[data-v-f0f1aa6d]{width:640px}.own-switch[data-v-f0f1aa6d]{background:var(--c-paper-2);border:1.5px dashed var(--c-line);border-radius:var(--r-md);padding:10px 14px;margin-bottom:10px;display:flex;flex-direction:column;gap:4px}.act-body[data-v-f0f1aa6d]{max-height:56vh;overflow-y:auto;padding-right:6px}.hint[data-v-f0f1aa6d]{color:#948b80;font-size:12px;margin:6px 0 2px;line-height:1.7}.primary[data-v-f0f1aa6d]{background:var(--c-primary);color:#fff;border:1.5px solid var(--c-ink);padding:8px 20px;border-radius:var(--r-md);cursor:pointer;font-weight:700}.primary[data-v-f0f1aa6d]:hover{background:var(--c-primary-hover)}.ghost[data-v-f0f1aa6d]{background:#fff;border:1.5px solid var(--c-ink);border-radius:var(--r-md);padding:8px 16px;cursor:pointer;font-weight:600}.modal-mask[data-v-f0f1aa6d]{position:fixed;top:0;right:0;bottom:0;left:0;background:#16221f73;z-index:100;display:flex;align-items:center;justify-content:center}.modal[data-v-f0f1aa6d]{background:#fff;border:1.5px solid var(--c-ink);border-radius:var(--r-lg);padding:20px 24px;width:460px;max-width:92vw;max-height:88vh;overflow-y:auto}.modal h3[data-v-f0f1aa6d]{margin:0 0 12px;color:var(--c-ink)}.row[data-v-f0f1aa6d]{display:flex;align-items:center;justify-content:space-between;margin:9px 0;gap:12px}.row input[type=text][data-v-f0f1aa6d],.row input[type=number][data-v-f0f1aa6d],.row input[data-v-f0f1aa6d]:not([type]){width:280px;padding:7px 10px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);font-size:13.5px;background:var(--c-paper-2);box-sizing:border-box}.lb[data-v-f0f1aa6d]{color:var(--c-ink-2);font-size:13.5px;flex-shrink:0}.staff-row[data-v-f0f1aa6d]{display:flex;align-items:center;gap:8px;margin:6px 0 6px 20px}.staff-row input[data-v-f0f1aa6d]{padding:6px 10px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);font-size:13.5px;background:var(--c-paper-2);box-sizing:border-box}.mini[data-v-f0f1aa6d]{padding:5px 12px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);background:var(--c-paper-2);cursor:pointer;font-size:12.5px;font-weight:700;color:var(--c-ink-2)}.mini[data-v-f0f1aa6d]:hover{border-color:var(--c-primary);color:var(--c-primary)}.modal-foot[data-v-f0f1aa6d]{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.pcard[data-v-4c45087e]{background:var(--c-paper);border:1.5px solid var(--c-ink);border-radius:var(--r-wobble);box-shadow:var(--sh-sm);padding:16px 18px}.pcard-head[data-v-4c45087e]{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:10px;border-bottom:2px dashed var(--c-line)}.p-icon[data-v-4c45087e]{width:40px;height:40px;border-radius:12px 9px 13px 8px/8px 13px 9px 12px;display:flex;align-items:center;justify-content:center;font-size:20px;border:1.5px solid var(--c-ink);flex-shrink:0;transform:rotate(-3deg)}.p-title[data-v-4c45087e]{font-size:15px;font-weight:800;color:var(--c-ink)}.p-sub[data-v-4c45087e]{font-size:12px;color:var(--c-ink-3);margin-top:2px}.filter-bar[data-v-4c45087e]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.tbl[data-v-4c45087e]{width:100%;border-collapse:collapse}.tbl th[data-v-4c45087e],.tbl td[data-v-4c45087e]{padding:8px;border-bottom:1px solid var(--c-line-soft);text-align:left;font-size:13.5px;vertical-align:middle}.tbl th[data-v-4c45087e]{background:var(--c-paper-2);color:var(--c-ink-2);font-size:12.5px}.cell-input[data-v-4c45087e]{padding:6px 10px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);background:var(--c-paper-2);font-size:13.5px;box-sizing:border-box}.g-name[data-v-4c45087e]{font-weight:700;color:var(--c-ink)}.muted[data-v-4c45087e]{color:var(--c-ink-3);font-size:12.5px}.hl[data-v-4c45087e]{font-weight:800;color:#1b8a70}.empty[data-v-4c45087e]{text-align:center;color:var(--c-ink-4);padding:30px 0}.tag[data-v-4c45087e]{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:700}.tag-success[data-v-4c45087e]{background:#e2f7ef;color:#178a6e}.tag-warn[data-v-4c45087e]{background:#fff3dc;color:#b7791f}.tag-muted[data-v-4c45087e]{background:#eee;color:#888}.tag-act[data-v-4c45087e]{background:#e2f6f0;color:#1b8a70}.tag-blue[data-v-4c45087e]{background:#e6f3fb;color:#0f8fc4}.rule-chip[data-v-4c45087e]{display:inline-block;background:#f2faf8;border:1px solid var(--c-line);border-radius:10px;padding:2px 8px;margin:2px 4px 0 0;font-size:11.5px;color:var(--c-ink-2);font-weight:700}.btn-sm[data-v-4c45087e]{padding:4px 10px;font-size:12px;border-radius:5px;color:#fff;margin-right:4px;border:none;cursor:pointer}.btn-sm.green[data-v-4c45087e]{background:#0f8fc4}.btn-sm.blue[data-v-4c45087e]{background:#0fa6c6}.btn-sm.red[data-v-4c45087e]{background:#c0392b}.btn-sm.orange[data-v-4c45087e]{background:#e8912d}.primary[data-v-4c45087e]{background:var(--c-primary);color:#fff;border:1.5px solid var(--c-ink);padding:8px 20px;border-radius:var(--r-md);cursor:pointer;font-weight:700}.primary[data-v-4c45087e]:hover{background:var(--c-primary-hover)}.ghost[data-v-4c45087e]{background:#fff;border:1.5px solid var(--c-ink);border-radius:var(--r-md);padding:8px 16px;cursor:pointer;font-weight:600}.modal-mask[data-v-4c45087e]{position:fixed;top:0;right:0;bottom:0;left:0;background:#16221f73;z-index:100;display:flex;align-items:center;justify-content:center}.modal[data-v-4c45087e]{background:#fff;border:1.5px solid var(--c-ink);border-radius:var(--r-lg);padding:20px 24px;width:460px;max-width:92vw;max-height:88vh;overflow-y:auto}.modal-wide[data-v-4c45087e]{width:660px}.modal h3[data-v-4c45087e]{margin:0 0 12px;color:var(--c-ink)}.row[data-v-4c45087e]{display:flex;align-items:center;justify-content:space-between;margin:9px 0;gap:12px}.row input[type=text][data-v-4c45087e],.row input[type=number][data-v-4c45087e],.row input[data-v-4c45087e]:not([type]){width:300px;padding:7px 10px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);font-size:13.5px;background:var(--c-paper-2);box-sizing:border-box}.row select.cell-input[data-v-4c45087e]{width:300px}.lb[data-v-4c45087e]{color:var(--c-ink-2);font-size:13.5px;flex-shrink:0}.duo[data-v-4c45087e]{display:flex;gap:12px}.duo .row[data-v-4c45087e]{flex:1}.duo .row input[data-v-4c45087e]{width:100%}.rule-head[data-v-4c45087e]{margin:14px 0 6px;font-weight:800;color:var(--c-ink);border-top:2px dashed var(--c-line);padding-top:12px}.rule-row[data-v-4c45087e]{display:flex;align-items:center;gap:8px;margin:6px 0;flex-wrap:wrap}.rule-row input[data-v-4c45087e]{padding:6px 10px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);font-size:13px;background:var(--c-paper-2);box-sizing:border-box}.mini[data-v-4c45087e]{padding:5px 12px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);background:var(--c-paper-2);cursor:pointer;font-size:12.5px;font-weight:700;color:var(--c-ink-2)}.mini[data-v-4c45087e]:hover{border-color:var(--c-primary);color:var(--c-primary)}.rule-tip[data-v-4c45087e]{background:#fff9ec;border:1px solid #F0E3C0;border-radius:var(--r-sm);padding:8px 12px;font-size:12.5px;color:#8a6d3b;line-height:1.7;margin-bottom:8px}.rule-empty[data-v-4c45087e]{background:var(--c-paper-2);border:1.5px dashed var(--c-line);border-radius:var(--r-sm);padding:10px 12px;font-size:12.5px;color:var(--c-ink-2);margin-bottom:8px}.rule-card[data-v-4c45087e]{border:1.5px solid var(--c-line);border-radius:var(--r-sm);background:var(--c-paper-2);padding:8px 12px;margin:8px 0}.rule-line[data-v-4c45087e]{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px;color:var(--c-ink)}.rule-line input[data-v-4c45087e]{padding:6px 10px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);font-size:13px;background:#fff;box-sizing:border-box}.rule-idx[data-v-4c45087e]{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--c-primary);color:#fff;font-size:11.5px;font-weight:800;flex:none}.rule-word[data-v-4c45087e]{color:var(--c-ink-2);font-size:12.5px}.rule-limit[data-v-4c45087e]{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--c-ink-2);cursor:pointer;-webkit-user-select:none;user-select:none}.rule-limit input[data-v-4c45087e]{accent-color:var(--c-primary)}.rule-preview[data-v-4c45087e]{margin-top:6px;padding-left:26px;font-size:12px;color:var(--c-primary);font-weight:700}.modal-foot[data-v-4c45087e]{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.cred-box[data-v-4c45087e]{background:var(--c-paper-2);border:1.5px dashed var(--c-line);border-radius:var(--r-md);padding:12px 14px}.cred-row[data-v-4c45087e]{display:flex;align-items:center;justify-content:space-between;padding:6px 0}.cred-row b[data-v-4c45087e]{font-size:14px;color:var(--c-ink);-webkit-user-select:all;user-select:all}.page-head h2[data-v-d705b341]{margin:0 0 4px;font-size:20px}.page-head .sub[data-v-d705b341]{margin:0 0 14px;color:#8a8f99;font-size:12px}.stats-row[data-v-d705b341]{display:flex;gap:12px;margin-bottom:14px}.stat-card[data-v-d705b341]{flex:1;background:#fff;border:1px solid #EEF0F3;border-radius:10px;padding:12px 16px;display:flex;flex-direction:column;gap:2px}.sc-label[data-v-d705b341]{font-size:12px;color:#8a8f99}.sc-num[data-v-d705b341]{font-size:22px}.sc-num.warn[data-v-d705b341]{color:#d97706}.toolbar[data-v-d705b341]{display:flex;gap:8px;margin-bottom:12px;align-items:center;flex-wrap:wrap}.toolbar select[data-v-d705b341],.toolbar input[data-v-d705b341]{padding:6px 10px;font-size:13px;border:1px solid #EEF0F3;border-radius:8px;background:#fff}.date-inp[data-v-d705b341]{max-width:150px}.mono[data-v-d705b341]{font-family:monospace;font-size:12px}.amt[data-v-d705b341]{color:#1c4a5e}.muted[data-v-d705b341]{color:#8a8f99;font-size:12px}.st[data-v-d705b341]{font-weight:600;font-size:12px}.st.pending[data-v-d705b341]{color:#d97706}.st.confirming[data-v-d705b341],.st.paid[data-v-d705b341]{color:#0e86c4}.st.rejected[data-v-d705b341]{color:#dc2626}.ops[data-v-d705b341]{display:flex;gap:6px}.empty-cell[data-v-d705b341]{text-align:center;color:#8a8f99;padding:24px 0}.page-head h2[data-v-fca02f6f]{margin:0 0 4px;font-size:20px}.page-head .sub[data-v-fca02f6f]{margin:0 0 14px;color:#8a8f99;font-size:12px}.toolbar[data-v-fca02f6f]{display:flex;align-items:center;gap:8px;margin-bottom:14px;flex-wrap:wrap}.quick[data-v-fca02f6f]{display:flex;gap:6px}.btn-sm.on[data-v-fca02f6f]{background:#1d4ed8;color:#fff}.muted[data-v-fca02f6f]{color:#8a8f99;font-size:12px}.stats-row[data-v-fca02f6f]{display:flex;gap:12px;margin-bottom:14px;flex-wrap:wrap}.stat-card[data-v-fca02f6f]{flex:1;min-width:180px;background:#fff;border:1px solid #EEF0F3;border-radius:10px;padding:12px 16px;display:flex;flex-direction:column;gap:2px}.sc-label[data-v-fca02f6f]{font-size:12px;color:#8a8f99}.sc-num[data-v-fca02f6f]{font-size:22px}.sc-sub[data-v-fca02f6f]{font-size:11px;color:#b0b6c0}.panel[data-v-fca02f6f]{background:#fff;border:1px solid #EEF0F3;border-radius:10px;padding:14px 16px;margin-bottom:14px}.panel h3[data-v-fca02f6f]{margin:0 0 12px;font-size:15px}.chart[data-v-fca02f6f]{display:flex;align-items:flex-end;gap:6px;overflow-x:auto;padding:6px 0}.bar-col[data-v-fca02f6f]{display:flex;flex-direction:column;align-items:center;min-width:34px;flex:1}.bar-wrap[data-v-fca02f6f]{height:160px;display:flex;align-items:flex-end}.bar[data-v-fca02f6f]{width:18px;background:linear-gradient(180deg,#3b82f6,#1d4ed8);border-radius:4px 4px 0 0}.bar-amt[data-v-fca02f6f]{font-size:10px;color:#1d4ed8;margin-top:2px;white-space:nowrap}.bar-date[data-v-fca02f6f]{font-size:10px;color:#8a8f99;margin-top:4px}.two-col[data-v-fca02f6f]{display:flex;gap:12px;flex-wrap:wrap}.two-col .panel[data-v-fca02f6f]{flex:1;min-width:320px}.top3[data-v-fca02f6f]{color:#d97706;font-weight:700}.inv-row[data-v-fca02f6f]{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed #EEF0F3;font-size:13px}.inv-row[data-v-fca02f6f]:last-child{border-bottom:none}.empty-cell[data-v-fca02f6f]{text-align:center;color:#8a8f99;padding:24px 0}.pcard[data-v-39fe2242]{background:var(--c-paper);border:1.5px solid var(--c-ink);border-radius:var(--r-wobble);box-shadow:var(--sh-sm);padding:16px 18px}.pcard-head[data-v-39fe2242]{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:10px;border-bottom:2px dashed var(--c-line)}.p-icon[data-v-39fe2242]{width:40px;height:40px;border-radius:12px 9px 13px 8px/8px 13px 9px 12px;display:flex;align-items:center;justify-content:center;font-size:20px;border:1.5px solid var(--c-ink);flex-shrink:0;transform:rotate(-3deg)}.p-title[data-v-39fe2242]{font-size:15px;font-weight:800;color:var(--c-ink)}.p-sub[data-v-39fe2242]{font-size:12px;color:var(--c-ink-3);margin-top:2px}.tab-bar[data-v-39fe2242]{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.chip[data-v-39fe2242]{padding:6px 16px;border:1.5px solid var(--c-line);border-radius:16px;background:var(--c-paper-2);font-size:13px;cursor:pointer;color:var(--c-ink-2);font-weight:600}.chip.on[data-v-39fe2242]{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}.warn-badge[data-v-39fe2242]{display:inline-block;min-width:18px;padding:0 5px;margin-left:5px;border-radius:9px;background:var(--c-danger);color:#fff;font-size:11px;line-height:18px}.filter-bar[data-v-39fe2242]{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.push-right[data-v-39fe2242]{margin-left:auto}.tbl[data-v-39fe2242]{width:100%;border-collapse:collapse}.tbl th[data-v-39fe2242],.tbl td[data-v-39fe2242]{padding:9px 10px;border-bottom:1px solid var(--c-line-soft);text-align:left;font-size:13.5px;vertical-align:middle}.tbl th[data-v-39fe2242]{background:var(--c-paper-2);color:var(--c-ink-2);font-size:12.5px}.cell-input[data-v-39fe2242]{padding:6px 10px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);background:var(--c-paper-2);font-size:13.5px}.g-name[data-v-39fe2242]{font-weight:700;color:var(--c-ink)}.muted[data-v-39fe2242]{color:var(--c-ink-3);font-size:12.5px}.muted.err[data-v-39fe2242]{color:var(--c-danger);font-size:11px;max-width:180px;white-space:normal}.txt-red[data-v-39fe2242]{color:var(--c-danger)}.desc[data-v-39fe2242]{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty[data-v-39fe2242]{text-align:center;color:var(--c-ink-4);padding:30px 0}.tag[data-v-39fe2242]{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:700}.tag-success[data-v-39fe2242]{background:#e2f7ef;color:#178a6e}.tag-warn[data-v-39fe2242]{background:#fff3dc;color:#b7791f}.tag-info[data-v-39fe2242]{background:#e3f5fb;color:#0e7e95}.tag-blue[data-v-39fe2242]{background:#e8f4ff;color:#1b6fa8}.tag-muted[data-v-39fe2242]{background:#eee;color:#888}.btn-sm[data-v-39fe2242]{padding:4px 10px;font-size:12px;border-radius:5px;color:#fff;margin-right:4px;border:none;cursor:pointer}.btn-sm.green[data-v-39fe2242]{background:#0f8fc4}.btn-sm.blue[data-v-39fe2242]{background:#0fa6c6}.btn-sm.red[data-v-39fe2242]{background:#c0392b}.btn-sm.purple[data-v-39fe2242]{background:#7c5cbf}.pd-grid[data-v-39fe2242]{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin-bottom:12px;font-size:13px}.pd-grid .lb[data-v-39fe2242]{color:var(--c-muted);margin-right:8px}.pd-sec[data-v-39fe2242]{font-weight:700;color:var(--c-ink);margin:14px 0 8px;padding-left:8px;border-left:3px solid var(--c-primary)}.desc .addr[data-v-39fe2242]{color:var(--c-muted);font-size:12px}.modal-mask[data-v-39fe2242]{position:fixed;top:0;right:0;bottom:0;left:0;background:#16221f73;z-index:100;display:flex;align-items:center;justify-content:center}.modal[data-v-39fe2242]{background:#fff;border:1.5px solid var(--c-ink);border-radius:var(--r-lg);padding:20px 24px;width:520px;max-width:92vw;max-height:86vh;overflow-y:auto}.modal h3[data-v-39fe2242]{margin:0 0 12px;color:var(--c-ink)}.row[data-v-39fe2242]{display:flex;align-items:center;justify-content:space-between;margin:9px 0;gap:12px}.lb[data-v-39fe2242]{color:var(--c-ink-2);font-size:13.5px;flex-shrink:0}.pick-list[data-v-39fe2242]{max-height:320px;overflow-y:auto;border:1.5px solid var(--c-line);border-radius:var(--r-sm)}.pick-row[data-v-39fe2242]{display:flex;align-items:center;gap:10px;padding:7px 10px;border-bottom:1px solid var(--c-line-soft)}.pick-row[data-v-39fe2242]:last-child{border-bottom:none}.pick-name[data-v-39fe2242]{flex:1;font-size:13px;color:var(--c-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pick-num[data-v-39fe2242]{width:76px!important;text-align:center}.tr-total[data-v-39fe2242]{margin:12px 0 2px;font-size:13.5px;color:var(--c-ink-2);text-align:right}.modal-foot[data-v-39fe2242]{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.primary[data-v-39fe2242]{background:var(--c-primary);color:#fff;border:1.5px solid var(--c-ink);padding:8px 20px;border-radius:var(--r-md);cursor:pointer;font-weight:700}.primary[data-v-39fe2242]:hover{background:var(--c-primary-hover)}.ghost[data-v-39fe2242]{background:#fff;border:1.5px solid var(--c-ink);border-radius:var(--r-md);padding:8px 16px;cursor:pointer;font-weight:600}.ghost[data-v-39fe2242]:hover{background:var(--c-paper-2)}.page-head h2[data-v-bc78f4f4]{margin:0 0 4px;font-size:20px}.page-head .sub[data-v-bc78f4f4]{margin:0 0 14px;color:#8a8f99;font-size:12px}.stats-row[data-v-bc78f4f4]{display:flex;gap:12px;margin-bottom:14px}.stat-card[data-v-bc78f4f4]{flex:1;background:#fff;border:1px solid #EEF0F3;border-radius:10px;padding:12px 16px;display:flex;flex-direction:column;gap:2px}.sc-label[data-v-bc78f4f4]{font-size:12px;color:#8a8f99}.sc-num[data-v-bc78f4f4]{font-size:22px}.sc-num.warn[data-v-bc78f4f4]{color:#d97706}.sc-num.ok[data-v-bc78f4f4]{color:#16a34a}.toolbar[data-v-bc78f4f4]{display:flex;gap:8px;margin-bottom:12px}.muted[data-v-bc78f4f4]{color:#8a8f99;font-size:12px}.typ[data-v-bc78f4f4]{font-weight:700;font-size:12px}.typ.inc[data-v-bc78f4f4]{color:#16a34a}.typ.dec[data-v-bc78f4f4]{color:#dc2626}.num-inc[data-v-bc78f4f4]{color:#16a34a}.num-dec[data-v-bc78f4f4]{color:#dc2626}.reason-cell[data-v-bc78f4f4]{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.st[data-v-bc78f4f4]{font-weight:600;font-size:12px}.st.pending[data-v-bc78f4f4]{color:#d97706}.st.approved[data-v-bc78f4f4]{color:#16a34a}.st.rejected[data-v-bc78f4f4]{color:#dc2626}.ops[data-v-bc78f4f4]{display:flex;gap:6px}.empty-cell[data-v-bc78f4f4]{text-align:center;color:#8a8f99;padding:24px 0}.notify-page[data-v-d1e9d11c]{display:flex;flex-direction:column;gap:16px}.page-hint[data-v-d1e9d11c]{color:#948b80;font-size:13px;line-height:1.8;margin:0}.page-hint b[data-v-d1e9d11c]{color:#0fa6c6}.row-line[data-v-d1e9d11c]{display:flex;align-items:center;gap:10px;margin-bottom:8px}.wb[data-v-d1e9d11c]{flex:1;min-width:180px}.wb.full[data-v-d1e9d11c]{width:100%}.ck[data-v-d1e9d11c]{display:flex;align-items:center;gap:4px;font-size:13px;color:#456;white-space:nowrap}.evt[data-v-d1e9d11c]{display:flex;flex-wrap:wrap;gap:4px 12px}.lb2[data-v-d1e9d11c]{width:110px;flex:none;font-size:13px;color:#456}.qr-box[data-v-d1e9d11c]{display:flex;gap:16px;align-items:center;margin-top:14px;padding:14px;border:1px dashed #9cc;border-radius:10px;background:#f6fbfd}.qr-img[data-v-d1e9d11c]{width:168px;height:168px;background:#fff;border:1px solid #dde}.qr-info[data-v-d1e9d11c]{font-size:13px;line-height:1.9}.mono[data-v-d1e9d11c]{font-family:ui-monospace,Consolas,monospace;font-size:12px}.pcard[data-v-4a8c776a]{background:var(--c-paper);border:1.5px solid var(--c-ink);border-radius:var(--r-wobble);box-shadow:var(--sh-sm);padding:16px 18px;margin-bottom:16px}.pcard-head[data-v-4a8c776a]{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:10px;border-bottom:2px dashed var(--c-line)}.p-icon[data-v-4a8c776a]{width:40px;height:40px;border-radius:12px 9px 13px 8px/8px 13px 9px 12px;display:flex;align-items:center;justify-content:center;font-size:20px;border:1.5px solid var(--c-ink);flex-shrink:0;transform:rotate(-3deg)}.p-title[data-v-4a8c776a]{font-size:15px;font-weight:800;color:var(--c-ink)}.p-sub[data-v-4a8c776a]{font-size:12px;color:var(--c-ink-3);margin-top:2px}.balance[data-v-4a8c776a]{margin-left:auto;font-size:26px;font-weight:800;color:#1b8a70}.refresh[data-v-4a8c776a]{margin-left:10px;background:#fff;border:1.5px solid var(--c-line);border-radius:var(--r-sm);padding:5px 12px;cursor:pointer;font-size:12.5px;color:var(--c-ink-2);font-weight:700}.refresh[data-v-4a8c776a]:hover{border-color:var(--c-primary);color:var(--c-primary)}.stats[data-v-4a8c776a]{display:flex;gap:10px;margin:4px 0 12px;flex-wrap:wrap}.stat[data-v-4a8c776a]{flex:1;min-width:130px;background:#f2faf8;border:1.5px solid var(--c-line);border-radius:var(--r-md);padding:10px 12px;text-align:center}.stat-v[data-v-4a8c776a]{font-size:20px;font-weight:800;color:var(--c-ink)}.stat-v.hl[data-v-4a8c776a]{color:#1b8a70}.stat-v.warn[data-v-4a8c776a]{color:#b7791f}.stat-l[data-v-4a8c776a]{font-size:12px;color:var(--c-ink-3);margin-top:2px}.rule-box[data-v-4a8c776a]{background:#f7fbfa;border:1.5px dashed var(--c-line);border-radius:var(--r-md);padding:8px 12px;margin-bottom:12px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}.rule-tag[data-v-4a8c776a]{display:inline-block;background:#fff;border:1.5px solid var(--c-line);border-radius:10px;padding:3px 10px;font-size:12px;font-weight:700;color:var(--c-ink-2)}.filter-bar[data-v-4a8c776a]{display:flex;align-items:center;gap:10px}.cell-input[data-v-4a8c776a]{padding:6px 10px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);background:var(--c-paper-2);font-size:13.5px;box-sizing:border-box}.muted[data-v-4a8c776a]{color:var(--c-ink-3);font-size:12.5px}.apply-box[data-v-4a8c776a]{background:#f2faf8;border:1.5px solid var(--c-line);border-radius:var(--r-md);padding:12px 14px;margin-bottom:14px}.rule-head[data-v-4a8c776a]{margin:4px 0 8px;font-weight:800;color:var(--c-ink)}.row[data-v-4a8c776a]{display:flex;align-items:center;justify-content:space-between;margin:9px 0;gap:12px}.row input[data-v-4a8c776a]{padding:7px 10px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);font-size:13.5px;background:#fff;box-sizing:border-box}.lb[data-v-4a8c776a]{color:var(--c-ink-2);font-size:13.5px;flex-shrink:0}.modal-foot[data-v-4a8c776a]{display:flex;align-items:center;gap:12px;margin-top:8px}.primary[data-v-4a8c776a]{background:var(--c-primary);color:#fff;border:1.5px solid var(--c-ink);padding:8px 20px;border-radius:var(--r-md);cursor:pointer;font-weight:700}.primary[data-v-4a8c776a]:hover{background:var(--c-primary-hover)}.sub-title[data-v-4a8c776a]{font-weight:800;color:var(--c-ink);margin:14px 0 8px;padding-top:10px;border-top:2px dashed var(--c-line)}.tbl[data-v-4a8c776a]{width:100%;border-collapse:collapse}.tbl th[data-v-4a8c776a],.tbl td[data-v-4a8c776a]{padding:8px;border-bottom:1px solid var(--c-line-soft);text-align:left;font-size:13.5px;vertical-align:middle}.tbl th[data-v-4a8c776a]{background:var(--c-paper-2);color:var(--c-ink-2);font-size:12.5px}.hl[data-v-4a8c776a]{font-weight:800;color:#1b8a70}.empty[data-v-4a8c776a]{text-align:center;color:var(--c-ink-4);padding:30px 0}.tag[data-v-4a8c776a]{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:700}.tag-success[data-v-4a8c776a]{background:#e2f7ef;color:#178a6e}.tag-warn[data-v-4a8c776a]{background:#fff3dc;color:#b7791f}.tag-muted[data-v-4a8c776a]{background:#eee;color:#888}.btn-sm[data-v-4a8c776a]{padding:4px 10px;font-size:12px;border-radius:5px;color:#fff;margin-right:4px;border:none;cursor:pointer}.btn-sm.green[data-v-4a8c776a]{background:#0f8fc4}.btn-sm.red[data-v-4a8c776a]{background:#c0392b}.card-head[data-v-55c5e219]{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:12px}.card-head h3[data-v-55c5e219]{margin:0}.muted[data-v-55c5e219]{color:#8aa5b4;font-size:12px}.tbl-wrap[data-v-55c5e219]{overflow-x:auto}.tbl[data-v-55c5e219]{min-width:720px}.tbl th[data-v-55c5e219],.tbl td[data-v-55c5e219]{padding:9px 8px;font-size:12px}.hl[data-v-55c5e219]{font-weight:800;color:#1b8a70}.sc-name[data-v-55c5e219]{font-weight:600;color:#1c4a5e}.sc-full[data-v-55c5e219]{font-size:11px;color:#8aa5b4;margin-top:2px}.tag-green[data-v-55c5e219]{background:#e2f6f0;color:#1b8a70}.tag-gray[data-v-55c5e219]{background:#eef2f4;color:#8aa5b4}.btn-sm[data-v-55c5e219]{padding:4px 12px;font-size:12px;border-radius:5px;color:#fff;border:none;cursor:pointer}.btn-sm.blue[data-v-55c5e219]{background:#0fa6c6}.mini-btn[data-v-55c5e219]{padding:6px 12px;font-size:12px;border-radius:6px}.mini-btn.green[data-v-55c5e219]{background:#fff;color:#0f8fc4;border:1px solid #0F8FC4}.empty[data-v-55c5e219]{text-align:center;color:#b1c9d8;padding:24px}.row-between[data-v-7591ed03]{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.add-btn[data-v-7591ed03]{background:#0fa6c6;white-space:nowrap}.hint[data-v-7591ed03]{color:#948b80;font-size:13px;line-height:1.7;margin:0 0 14px;max-width:720px}.empty[data-v-7591ed03]{text-align:center;color:#b1c9d8;padding:24px}.tag[data-v-7591ed03]{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600}.tag-red[data-v-7591ed03]{background:#fde8e6;color:#c0392b}.tag-blue[data-v-7591ed03]{background:#e6f0fb;color:#2e7bd9}.tag-green[data-v-7591ed03]{background:#e5f6ec;color:#1e8e4d}.tag-gray[data-v-7591ed03]{background:#ededed;color:#888}.tag-cyan[data-v-7591ed03]{background:#e2f6fb;color:#0b7c97}.muted[data-v-7591ed03]{color:#b1c9d8;font-size:12px;margin-left:4px}.btn-sm[data-v-7591ed03]{padding:3px 10px;font-size:12px;border-radius:5px;color:#fff;margin-right:4px}.btn-sm.orange[data-v-7591ed03]{background:#e8930c}.btn-sm.red[data-v-7591ed03]{background:#c0392b}.green[data-v-7591ed03]{background:#0f8fc4;color:#fff}.ghost[data-v-7591ed03]{background:#fff;border:1px solid #ccc}.card[data-v-7591ed03]{border-radius:12px;border-color:#e3edf4;box-shadow:0 1px 3px #3e55660d,0 4px 14px #3e55660d;padding:16px 18px}h3[data-v-7591ed03]{margin:0 0 4px;display:flex;align-items:center;gap:8px;font-size:15px;color:#3e5566}.tbl[data-v-7591ed03]{width:100%;border-collapse:collapse;font-size:13px}.tbl th[data-v-7591ed03],.tbl td[data-v-7591ed03]{padding:9px 10px;border-bottom:1px solid #EDF2F4;text-align:left}.tbl th[data-v-7591ed03]{color:#6b7e8c;font-weight:700;background:#f7fbfc}.perm-mods[data-v-7591ed03]{display:flex;flex-direction:column;gap:10px;border:1px solid #E3D9C8;border-radius:8px;padding:12px;background:#fdfbf5;max-height:320px;overflow-y:auto}.perm-mod[data-v-7591ed03]{border:1px solid #EFE6D4;border-radius:8px;padding:8px 10px;background:#fff}.perm-mod-head[data-v-7591ed03]{display:flex;align-items:center;gap:8px;font-size:13px;color:#3e5566;cursor:pointer;margin-bottom:6px}.perm-mod-head input[data-v-7591ed03]{margin:0}.perm-subs[data-v-7591ed03]{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px;padding-left:22px}.perm-item[data-v-7591ed03]{display:flex;align-items:center;gap:6px;font-size:12.5px;color:#4e6b7e;cursor:pointer;margin:0}.perm-item input[data-v-7591ed03]{margin:0}.form-item[data-v-7591ed03]{margin-bottom:14px}.form-item label[data-v-7591ed03]{display:block;font-size:13px;color:#4e6b7e;margin-bottom:6px}.mask[data-v-7591ed03]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:50}.dialog[data-v-7591ed03]{background:#fff;border-radius:12px;padding:22px;width:480px;max-width:92vw}.dialog-title[data-v-7591ed03]{font-weight:800;font-size:16px;margin-bottom:14px;color:#3e5566}.dialog-foot[data-v-7591ed03]{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.dialog input[data-v-7591ed03]{width:100%;padding:9px 12px;border:1px solid #D5E3DF;border-radius:8px;font-size:14px;box-sizing:border-box}.overview[data-v-24de2e67]{padding-bottom:8px}.stat-grid[data-v-24de2e67]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:14px}.stat[data-v-24de2e67]{background:var(--c-paper);border:1.5px solid var(--c-ink);border-left:8px solid var(--c);border-radius:var(--r-wobble);padding:16px;box-shadow:var(--sh-md)}.s-label[data-v-24de2e67]{font-size:13px;color:var(--c-ink-2)}.s-num[data-v-24de2e67]{font-size:28px;font-weight:800;margin:6px 0 2px;color:var(--c-ink)}.s-sub[data-v-24de2e67]{font-size:12px;color:var(--c-ink-3)}.panel[data-v-24de2e67]{background:var(--c-paper);border:1.5px solid var(--c-ink);border-radius:var(--r-wobble);padding:14px 16px;margin-bottom:14px;box-shadow:var(--sh-sm)}.panel-head[data-v-24de2e67]{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.panel-title[data-v-24de2e67]{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--c-ink)}.tbl[data-v-24de2e67]{width:100%;border-collapse:collapse;font-size:13px}.tbl th[data-v-24de2e67],.tbl td[data-v-24de2e67]{padding:9px 10px;border-bottom:1px solid var(--c-line-soft);text-align:left}.tbl th[data-v-24de2e67]{color:var(--c-ink-2);font-weight:700;background:var(--c-paper-2)}.fee-strong[data-v-24de2e67]{font-weight:700;color:var(--c-ink)}.tag[data-v-24de2e67]{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600}.tag-green[data-v-24de2e67]{background:#e5f6ec;color:#1e8e4d}.tag-gray[data-v-24de2e67]{background:#ededed;color:#888}.muted[data-v-24de2e67]{color:var(--c-ink-3);font-size:12px;margin-left:4px}.empty[data-v-24de2e67]{text-align:center;color:var(--c-ink-4);padding:24px}.mini-btn[data-v-24de2e67]{padding:4px 14px;font-size:12px;border-radius:14px;background:#fff;border:1px solid var(--c-line);color:var(--c-ink-2)}.todo-grid[data-v-24de2e67]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.todo-card[data-v-24de2e67]{background:var(--c-paper-2);border:1.5px solid var(--c-ink);border-radius:14px;padding:12px 14px;cursor:pointer;transition:transform .12s,box-shadow .12s}.todo-card[data-v-24de2e67]:hover{transform:translateY(-2px);box-shadow:var(--sh-md)}.todo-card.zero[data-v-24de2e67]{opacity:.55}.todo-top[data-v-24de2e67]{display:flex;align-items:center;justify-content:space-between;gap:8px}.todo-label[data-v-24de2e67]{font-size:13px;font-weight:700;color:var(--c-ink)}.todo-count[data-v-24de2e67]{font-size:20px;font-weight:800;color:var(--c-ink-3)}.todo-count.alert[data-v-24de2e67]{color:#e8604c}.todo-desc[data-v-24de2e67]{font-size:12px;color:var(--c-ink-3);margin-top:2px}.todo-go[data-v-24de2e67]{font-size:12px;color:var(--c-primary);font-weight:700;margin-top:6px}.mini-btn.on[data-v-24de2e67]{background:var(--c-primary);border-color:var(--c-primary);color:#fff}.mini-btn.ghost[data-v-24de2e67]{border:1px solid var(--c-info);color:var(--c-info)}.date-inp[data-v-24de2e67]{padding:3px 8px;font-size:12px;border-radius:12px;border:1px solid var(--c-line);background:#fff;color:var(--c-ink)}.overview[data-v-28cd805a]{padding-bottom:8px}.sch-bar[data-v-28cd805a]{display:flex;align-items:center;gap:10px;margin-bottom:12px}.sch-name[data-v-28cd805a]{font-weight:800;font-size:16px;color:var(--c-ink)}.sel[data-v-28cd805a]{padding:6px 10px;border-radius:8px;border:1.5px solid var(--c-line);background:#fff;font-size:13px}.stat-grid[data-v-28cd805a]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:14px}.stat[data-v-28cd805a]{background:var(--c-paper);border:1.5px solid var(--c-ink);border-left:8px solid var(--c);border-radius:var(--r-wobble);padding:16px;box-shadow:var(--sh-md)}.s-label[data-v-28cd805a]{font-size:13px;color:var(--c-ink-2)}.s-num[data-v-28cd805a]{font-size:26px;font-weight:800;margin:6px 0 2px;color:var(--c-ink)}.s-sub[data-v-28cd805a]{font-size:12px;color:var(--c-ink-3)}.cols-2[data-v-28cd805a]{display:grid;grid-template-columns:1fr 1fr;gap:14px}.panel[data-v-28cd805a]{background:var(--c-paper);border:1.5px solid var(--c-ink);border-radius:var(--r-wobble);padding:14px 16px;box-shadow:var(--sh-sm)}.panel-head[data-v-28cd805a]{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.panel-title[data-v-28cd805a]{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--c-ink)}.type-row[data-v-28cd805a]{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:13px;color:var(--c-ink-2)}.bar-bg[data-v-28cd805a]{flex:1;height:8px;background:var(--c-line-soft);border-radius:4px;overflow:hidden}.bar[data-v-28cd805a]{height:100%;background:linear-gradient(90deg,#0fa6c6,#2fbedd);border-radius:4px}.tag[data-v-28cd805a]{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600}.tag-green[data-v-28cd805a]{background:#e5f6ec;color:#1e8e4d}.tag-gray[data-v-28cd805a]{background:#ededed;color:#888}.muted[data-v-28cd805a]{color:var(--c-ink-3);font-size:12px}.empty[data-v-28cd805a]{color:var(--c-ink-4);padding:16px;text-align:center}.mini-btn[data-v-28cd805a]{padding:4px 14px;font-size:12px;border-radius:14px;background:#fff;border:1px solid var(--c-line);color:var(--c-ink-2)}.mini-btn.on[data-v-28cd805a]{background:var(--c-primary);border-color:var(--c-primary);color:#fff}.mini-btn.ghost[data-v-28cd805a]{border:1px solid var(--c-info);color:var(--c-info)}.page-head[data-v-e3bb0103]{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.page-title[data-v-e3bb0103]{font-size:18px;font-weight:800;margin:0 0 4px;color:var(--c-ink)}.page-sub[data-v-e3bb0103]{font-size:13px;color:var(--c-ink-3);margin:0}.panel[data-v-e3bb0103]{background:var(--c-paper);border:1.5px solid var(--c-ink);border-radius:var(--r-wobble);padding:14px 16px;box-shadow:var(--sh-sm)}.tbl[data-v-e3bb0103]{width:100%;border-collapse:collapse;font-size:13px}.tbl th[data-v-e3bb0103],.tbl td[data-v-e3bb0103]{padding:9px 10px;border-bottom:1px solid var(--c-line-soft);text-align:left}.tbl th[data-v-e3bb0103]{color:var(--c-ink-2);font-weight:700;background:var(--c-paper-2)}.mono[data-v-e3bb0103]{font-family:ui-monospace,monospace;font-size:12px}.ellipsis[data-v-e3bb0103]{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail[data-v-e3bb0103]{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--c-ink-2)}.op[data-v-e3bb0103]{font-family:ui-monospace,monospace;font-size:12px;color:var(--c-info)}.tag[data-v-e3bb0103]{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600}.tag-cyan[data-v-e3bb0103]{background:#e2f6fb;color:#0b7c97}.tag-blue[data-v-e3bb0103]{background:#e6f0fb;color:#2e7bd9}.tag-green[data-v-e3bb0103]{background:#e5f6ec;color:#1e8e4d}.tag-orange[data-v-e3bb0103]{background:#fcebdd;color:#c8720c}.tag-gray[data-v-e3bb0103]{background:#ededed;color:#888}.muted[data-v-e3bb0103]{color:var(--c-ink-3);font-size:12px}.empty[data-v-e3bb0103]{text-align:center;color:var(--c-ink-4);padding:24px}.pager[data-v-e3bb0103]{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:12px}.mini-btn[data-v-e3bb0103]{padding:4px 14px;font-size:12px;border-radius:14px;background:#fff;border:1px solid var(--c-line);color:var(--c-ink-2)}.mini-btn[data-v-e3bb0103]:disabled{opacity:.5;cursor:not-allowed}.mini-btn.ghost[data-v-e3bb0103]{border:1px solid var(--c-info);color:var(--c-info)}.filter-sel[data-v-e3bb0103]{padding:4px 10px;font-size:12px;border-radius:14px;border:1px solid var(--c-line);background:#fff;color:var(--c-ink);max-width:200px}.filter-date[data-v-e3bb0103]{padding:3px 8px;font-size:12px;border-radius:12px;border:1px solid var(--c-line);background:#fff;color:var(--c-ink)}h3[data-v-b53d4125]{margin:0 0 14px}.add-btn[data-v-b53d4125]{background:#0fa6c6;color:#fff}.btn-sm[data-v-b53d4125]{padding:3px 10px;font-size:12px;border-radius:5px;color:#fff;margin-right:4px}.btn-sm.blue[data-v-b53d4125]{background:#0fa6c6}.btn-sm.orange[data-v-b53d4125]{background:#e8930c}.btn-sm.red[data-v-b53d4125]{background:#c0392b}.green[data-v-b53d4125]{background:#0f8fc4;color:#fff}.empty[data-v-b53d4125]{text-align:center;color:#b1c9d8;padding:24px}.tabs[data-v-b53d4125]{display:flex;gap:8px;margin-bottom:14px}.tab[data-v-b53d4125]{padding:8px 18px;border:1px solid var(--c-line);background:#fff;border-radius:8px;font-size:14px;color:var(--c-ink-2);cursor:pointer}.tab.on[data-v-b53d4125]{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}.filter-bar[data-v-b53d4125]{margin-bottom:12px}.stat-grid[data-v-b53d4125]{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}.stat[data-v-b53d4125]{background:var(--c-paper-2);border-radius:10px;padding:12px 14px;border-left:6px solid var(--c-primary)}.stat-val[data-v-b53d4125]{font-size:24px;font-weight:800;color:var(--c-ink)}.stat-label[data-v-b53d4125]{font-size:12px;color:var(--c-ink-3);margin-top:2px}h3[data-v-6e6cf8f0]{margin:0 0 14px}.empty[data-v-6e6cf8f0]{text-align:center;color:#b1c9d8;padding:24px}.btn-sm[data-v-6e6cf8f0]{padding:3px 10px;font-size:12px;border-radius:5px;color:#fff;margin-right:4px}.btn-sm.blue[data-v-6e6cf8f0]{background:#0fa6c6}.btn-sm.gray[data-v-6e6cf8f0]{background:#8a9ba8}.green[data-v-6e6cf8f0]{background:#0f8fc4;color:#fff}.green[data-v-6e6cf8f0]:disabled{opacity:.6}.form-grid[data-v-6e6cf8f0]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.stat-grid[data-v-6e6cf8f0]{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}.stat[data-v-6e6cf8f0]{background:var(--c-paper-2);border-radius:10px;padding:12px 14px;border-left:6px solid var(--c-primary)}.stat-val[data-v-6e6cf8f0]{font-size:24px;font-weight:800;color:var(--c-ink)}.stat-label[data-v-6e6cf8f0]{font-size:12px;color:var(--c-ink-3);margin-top:2px}h3[data-v-1b62cb3c]{margin:0 0 14px}.tabs[data-v-1b62cb3c]{display:flex;gap:8px;margin-bottom:14px}.tab[data-v-1b62cb3c]{padding:8px 18px;border:1px solid var(--c-line);background:#fff;border-radius:8px;font-size:14px;color:var(--c-ink-2);cursor:pointer}.tab.on[data-v-1b62cb3c]{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}.filter-bar[data-v-1b62cb3c]{margin-bottom:12px}.empty[data-v-1b62cb3c]{text-align:center;color:#b1c9d8;padding:24px}.ellipsis[data-v-1b62cb3c]{display:inline-block;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.btn-sm[data-v-1b62cb3c]{padding:3px 10px;font-size:12px;border-radius:5px;color:#fff;margin-right:4px}.btn-sm.blue[data-v-1b62cb3c]{background:#0fa6c6}.btn-sm.orange[data-v-1b62cb3c]{background:#e8930c}.btn-sm.gray[data-v-1b62cb3c]{background:#8a9ba8}.btn-sm[data-v-1b62cb3c]:disabled{opacity:.5}.green[data-v-1b62cb3c]{background:#0f8fc4;color:#fff}.kv[data-v-1b62cb3c]{display:flex;gap:12px;font-size:13px;margin-bottom:8px}.kv .k[data-v-1b62cb3c]{flex:0 0 72px;color:var(--c-ink-3)}.imgs[data-v-1b62cb3c]{display:flex;flex-wrap:wrap;gap:8px}.img-item[data-v-1b62cb3c]{width:90px;height:90px;object-fit:cover;border-radius:6px;cursor:zoom-in;border:1px solid #D6E4EE}.ov-title[data-v-1daa9ae6]{font-size:13px;font-weight:700;color:var(--c-ink, #1F4A44);margin:14px 0 8px}.pcard[data-v-1daa9ae6]{background:var(--c-paper);border:1.5px solid var(--c-ink);border-radius:var(--r-wobble);box-shadow:var(--sh-sm);padding:16px 18px}.pcard-head[data-v-1daa9ae6]{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:10px;border-bottom:2px dashed var(--c-line)}.p-icon[data-v-1daa9ae6]{width:40px;height:40px;border-radius:12px 9px 13px 8px/8px 13px 9px 12px;display:flex;align-items:center;justify-content:center;font-size:20px;border:1.5px solid var(--c-ink);flex-shrink:0;transform:rotate(-3deg)}.p-title[data-v-1daa9ae6]{font-size:15px;font-weight:800;color:var(--c-ink)}.p-sub[data-v-1daa9ae6]{font-size:12px;color:var(--c-ink-3);margin-top:2px}.filter-bar[data-v-1daa9ae6]{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.lb[data-v-1daa9ae6]{font-size:13px;color:var(--c-ink-2)}.cell-input[data-v-1daa9ae6]{padding:6px 10px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);background:var(--c-paper-2);font-size:13.5px}.tabs[data-v-1daa9ae6]{display:flex;gap:8px}.tab[data-v-1daa9ae6]{padding:6px 16px;border-radius:8px;font-size:13.5px;font-weight:700;color:var(--c-ink-2);cursor:pointer;border:1.5px solid var(--c-line);background:var(--c-paper-2)}.tab.on[data-v-1daa9ae6]{background:var(--c-primary);color:#fff;border-color:var(--c-ink)}.muted[data-v-1daa9ae6]{color:var(--c-ink-3);font-size:12.5px}.stat-grid[data-v-1daa9ae6]{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.stat[data-v-1daa9ae6]{flex:1;min-width:120px;text-align:center;padding:12px 8px;background:var(--c-paper-2);border:1.5px solid var(--c-line);border-radius:10px}.s-num[data-v-1daa9ae6]{font-size:18px;font-weight:800;color:var(--c-ink)}.s-num.green[data-v-1daa9ae6]{color:var(--c-success)}.s-num.blue[data-v-1daa9ae6]{color:var(--c-primary)}.s-num.orange[data-v-1daa9ae6]{color:#e8930c}.s-label[data-v-1daa9ae6]{font-size:11px;color:var(--c-ink-3);margin-top:4px}.tbl[data-v-1daa9ae6]{width:100%;border-collapse:collapse}.tbl th[data-v-1daa9ae6],.tbl td[data-v-1daa9ae6]{padding:8px;border-bottom:1px solid var(--c-line-soft);text-align:left;font-size:13.5px;vertical-align:middle}.tbl th[data-v-1daa9ae6]{background:var(--c-paper-2);color:var(--c-ink-2);font-size:12.5px}.mono[data-v-1daa9ae6]{font-family:ui-monospace,monospace;font-size:12.5px}.txt-green[data-v-1daa9ae6]{color:var(--c-success);font-weight:700}.txt-red[data-v-1daa9ae6]{color:var(--c-danger)}.fee-strong[data-v-1daa9ae6]{font-weight:700}.empty[data-v-1daa9ae6]{text-align:center;color:var(--c-ink-4);padding:30px 0}.total-row td[data-v-1daa9ae6]{font-weight:800;border-top:2px solid var(--c-ink);background:var(--c-paper-2)}.tag[data-v-1daa9ae6]{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:700}.tag-success[data-v-1daa9ae6]{background:#e2f7ef;color:#178a6e}.tag-warn[data-v-1daa9ae6]{background:#fff3dc;color:#b7791f}.tag-muted[data-v-1daa9ae6]{background:#eee;color:#888}.tag-danger[data-v-1daa9ae6]{background:#fde8e4;color:#c0392b}.tag-blue[data-v-1daa9ae6]{background:#e4f5fb;color:#0f8fc4}.tag-purple[data-v-1daa9ae6]{background:#efe8ff;color:#7a52c7}.primary[data-v-1daa9ae6]{background:var(--c-primary);color:#fff;border:1.5px solid var(--c-ink);padding:8px 20px;border-radius:var(--r-md);cursor:pointer;font-weight:700}.primary[data-v-1daa9ae6]:hover{background:var(--c-primary-hover)}.tbl[data-v-34644afd]{width:100%;border-collapse:collapse;font-size:13px}.tbl th[data-v-34644afd],.tbl td[data-v-34644afd]{border-bottom:1px solid var(--c-line);padding:9px 8px;text-align:center}.tbl th[data-v-34644afd]{color:var(--c-ink-2);font-size:12px}.ft-col[data-v-34644afd]{min-width:76px}.ft-name[data-v-34644afd]{font-weight:800;color:var(--c-ink)}.ft-sum[data-v-34644afd]{font-size:10.5px;margin-top:2px}.sw[data-v-34644afd]{display:inline-flex;align-items:center;width:40px;height:22px;border-radius:999px;background:#c9d6d2;cursor:pointer;position:relative;transition:background .15s}.sw .knob[data-v-34644afd]{position:absolute;left:2px;top:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left .15s;box-shadow:0 1px 3px #00000040}.sw.on[data-v-34644afd]{background:var(--c-accent, #21A98B)}.sw.on .knob[data-v-34644afd]{left:20px}.sw input[data-v-34644afd]{display:none}.empty[data-v-34644afd]{color:var(--c-ink-2);padding:18px 0}.tag[data-v-34644afd]{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:700}.tag-success[data-v-34644afd]{background:#e4f6ec;color:#1f7a4d}.tag-warn[data-v-34644afd]{background:#fff3e0;color:#b26a00}.page-head[data-v-13d447fc]{display:flex;align-items:center;justify-content:space-between;background:var(--c-paper);border:1.5px solid var(--c-ink);border-radius:var(--r-wobble);padding:14px 18px;margin-bottom:14px;box-shadow:var(--sh-sm)}.page-title[data-v-13d447fc]{margin:0;font-size:17px;color:var(--c-ink)}.page-sub[data-v-13d447fc]{margin:4px 0 0;font-size:12px;color:var(--c-ink-3)}.save-all[data-v-13d447fc]{white-space:nowrap}.share-grid[data-v-13d447fc]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin-top:4px}.sc-badge[data-v-13d447fc]{font-size:11px;padding:1px 8px;border-radius:999px;margin-left:6px;vertical-align:1px}.sc-badge.on[data-v-13d447fc]{background:#e2f5e9;color:#1e8e4d}.sc-badge.off[data-v-13d447fc]{background:#eef3f7;color:#8a99a8}.sc-reset[data-v-13d447fc]{margin-left:auto;font-size:11px;padding:3px 8px;border-radius:6px;background:#fff;color:#8a99a8;border:1px solid #E1E5EA;cursor:pointer}.sc-reset[data-v-13d447fc]:hover{color:#c0392b;border-color:#c0392b}.share-card[data-v-13d447fc]{background:var(--c-paper-2);border:1.5px solid var(--c-ink);border-radius:var(--r-wobble);padding:14px 16px;box-shadow:var(--sh-sm);transition:transform var(--t-fast),box-shadow var(--t-fast)}.share-card[data-v-13d447fc]:hover{transform:translate(-2px,-2px);box-shadow:var(--sh-md)}.sc-head[data-v-13d447fc]{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:10px;border-bottom:2px dashed var(--c-line)}.sc-emoji[data-v-13d447fc]{width:38px;height:38px;border-radius:12px 9px 13px 8px/8px 13px 9px 12px;display:flex;align-items:center;justify-content:center;font-size:19px;border:1.5px solid var(--c-ink);background:#ede8fa;flex-shrink:0;transform:rotate(-3deg)}.sc-name[data-v-13d447fc]{font-size:14.5px;font-weight:800;color:var(--c-ink)}.sc-hint[data-v-13d447fc]{font-size:11.5px;color:var(--c-ink-3);margin-top:1px}.sc-row[data-v-13d447fc]{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.sc-lb[data-v-13d447fc]{font-size:12.5px;color:var(--c-ink-2);font-weight:700}.sc-input[data-v-13d447fc]{width:100%;padding:7px 10px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);background:#fff;font-size:13px;box-sizing:border-box;font-family:inherit}.sc-input[data-v-13d447fc]:focus{outline:none;border-color:var(--c-primary)}.sc-inherit[data-v-13d447fc]{font-size:11.5px;color:#8a99a8;background:#f4f8f6;border:1px dashed var(--c-line);border-radius:var(--r-sm);padding:5px 9px;margin-top:-4px}.hint[data-v-13d447fc]{color:#948b80;font-size:12px;margin:6px 0 2px;line-height:1.6}button.primary[data-v-13d447fc]{background:var(--c-primary);color:#fff;border:1.5px solid var(--c-ink);padding:8px 20px;border-radius:var(--r-md);cursor:pointer;font-weight:700;box-shadow:var(--sh-sm);transition:all var(--t-fast)}button.primary[data-v-13d447fc]:hover{background:var(--c-primary-hover)}button.primary[data-v-13d447fc]:active{transform:translate(2px,2px);box-shadow:none}.settings-page[data-v-c89f8479]{max-width:1200px}.page-head[data-v-c89f8479]{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:var(--c-paper);border:1.5px solid var(--c-ink);border-radius:var(--r-wobble);padding:14px 18px;margin-bottom:14px;box-shadow:var(--sh-sm)}.page-title[data-v-c89f8479]{margin:0;font-size:17px;color:var(--c-ink)}.page-sub[data-v-c89f8479]{margin:4px 0 0;font-size:12px;color:var(--c-ink-3)}.head-ctl[data-v-c89f8479]{display:flex;align-items:center;gap:8px}.school-select[data-v-c89f8479]{min-width:220px;padding:8px 12px;border:1.5px solid var(--c-ink);border-radius:var(--r-md);background:#fff;font-size:13px;font-family:inherit;cursor:pointer;box-shadow:var(--sh-sm)}.school-select[data-v-c89f8479]:focus{outline:none;border-color:var(--c-primary)}button.primary[data-v-c89f8479]{background:var(--c-primary);color:#fff;border:1.5px solid var(--c-ink);padding:8px 18px;border-radius:var(--r-md);cursor:pointer;font-weight:700;box-shadow:var(--sh-sm)}button.primary[data-v-c89f8479]:hover{background:var(--c-primary-hover)}.tabs[data-v-c89f8479]{display:flex;gap:6px;margin-bottom:12px}.tab-btn[data-v-c89f8479]{background:#fff;color:var(--c-ink-2);border:1.5px solid var(--c-line);padding:7px 16px;border-radius:var(--r-md);cursor:pointer;font-size:13px}.tab-btn.on[data-v-c89f8479]{background:var(--c-primary);border-color:var(--c-ink);color:#fff}.card[data-v-c89f8479]{background:var(--c-paper);border:1.5px solid var(--c-ink);border-radius:var(--r-wobble);padding:14px 16px;box-shadow:var(--sh-sm)}.tbl[data-v-c89f8479]{width:100%;border-collapse:collapse;font-size:13px}.tbl th[data-v-c89f8479],.tbl td[data-v-c89f8479]{padding:8px 10px;border-bottom:1px solid var(--c-line);text-align:left}.tbl th[data-v-c89f8479]{color:var(--c-ink-2);font-size:12px;background:#0fa6c60f}.mono[data-v-c89f8479]{font-family:ui-monospace,Consolas,monospace}.muted[data-v-c89f8479]{color:#8a99a8;font-size:12.5px}.empty[data-v-c89f8479]{text-align:center;color:#b1c9d8;padding:22px}.tag[data-v-c89f8479]{font-size:11px;padding:2px 8px;border-radius:999px;display:inline-block}.tag-blue[data-v-c89f8479]{background:#e3f2fb;color:#1b7dbd}.tag-green[data-v-c89f8479]{background:#e2f5e9;color:#1e8e4d}.tag-orange[data-v-c89f8479]{background:#fff1e0;color:#c77700}.tag-gray[data-v-c89f8479]{background:#eef3f7;color:#8a99a8}.stock-low[data-v-c89f8479]{color:#c0392b}.ellipsis[data-v-c89f8479]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row[data-v-c89f8479]{display:flex;align-items:center}.row-between[data-v-c89f8479]{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.kw-input[data-v-c89f8479]{padding:7px 10px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);font-size:13px}.chip[data-v-c89f8479]{border:1.5px solid var(--c-line);background:#fff;color:var(--c-ink-2);border-radius:999px;padding:4px 14px;font-size:12.5px;cursor:pointer}.chip.on[data-v-c89f8479]{background:var(--c-primary);border-color:var(--c-ink);color:#fff}.btn-ghost[data-v-c89f8479]{border:1.5px solid var(--c-line);background:#fff;border-radius:var(--r-sm);padding:6px 14px;cursor:pointer;font-size:13px}.stat-cards[data-v-c89f8479]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}.stat[data-v-c89f8479]{background:var(--c-paper-2);border:1.5px solid var(--c-line);border-radius:var(--r-md);padding:12px 14px;text-align:center}.st-v[data-v-c89f8479]{font-size:19px;font-weight:800;color:var(--c-ink)}.st-l[data-v-c89f8479]{font-size:11.5px;color:#8a99a8;margin-top:3px}.rank-grid[data-v-c89f8479]{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media (max-width: 860px){.rank-grid[data-v-c89f8479]{grid-template-columns:1fr}}.page[data-v-be0bd0ea]{padding:0}.head[data-v-be0bd0ea]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.page-title[data-v-be0bd0ea]{font-size:20px;font-weight:800;color:var(--c-ink, #1F4A44)}.page-sub[data-v-be0bd0ea]{font-size:13px;color:#7c918d;margin-top:4px}.head-actions[data-v-be0bd0ea]{display:flex;gap:8px}.add-btn[data-v-be0bd0ea]{background:var(--c-mint, #21A98B);color:#fff;border:0;border-radius:8px;padding:8px 14px;font-weight:700;cursor:pointer}.mini-btn[data-v-be0bd0ea]{border:0;border-radius:8px;padding:8px 12px;cursor:pointer;font-weight:700;background:#eaf3f0;color:#1f4a44}.mini-btn.ghost[data-v-be0bd0ea]{background:#fff;border:1px solid #DCEAE6}.mini-btn.copy[data-v-be0bd0ea]{background:#e0f4fa;color:#0c86a3}.tip[data-v-be0bd0ea]{font-size:13px;color:#5c7470;padding:10px 14px;margin-bottom:12px}.inherit-tip[data-v-be0bd0ea]{background:#f0fafc}.card[data-v-be0bd0ea]{background:#fff;border-radius:12px;box-shadow:0 1px 4px #1f4a4414}.grid-preview[data-v-be0bd0ea]{padding:12px}.empty[data-v-be0bd0ea]{padding:30px;text-align:center;color:#b1c9d8;font-size:14px}.preview-wrap[data-v-be0bd0ea],.plat-wrap[data-v-be0bd0ea]{padding:14px;margin-bottom:12px}.pv-head[data-v-be0bd0ea]{display:flex;align-items:baseline;gap:10px;margin-bottom:10px;flex-wrap:wrap}.pv-title[data-v-be0bd0ea]{font-size:14px;font-weight:800;color:#1f4a44}.pv-sub[data-v-be0bd0ea]{font-size:12px}.pv-grid[data-v-be0bd0ea]{display:flex;flex-wrap:wrap;gap:8px;border:2px dashed #DCEAE6;border-radius:14px;padding:12px}.pv-grid.readonly[data-v-be0bd0ea]{border-style:solid;background:#fafdfc}.pv-tile[data-v-be0bd0ea]{width:calc(25% - 6px);box-sizing:border-box;border-radius:12px;padding:12px 6px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:grab;border:1px solid transparent;position:relative;background:#fff;text-align:center}.pv-grid.readonly .pv-tile[data-v-be0bd0ea]{cursor:default}.pv-tile.wide[data-v-be0bd0ea]{width:calc(50% - 4px)}.pv-tile.dragging[data-v-be0bd0ea]{opacity:.5;border:1px dashed #0FA6C6}.pv-tile.off[data-v-be0bd0ea]{opacity:.45}.tile[data-v-be0bd0ea]{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:23px;flex-shrink:0}.pv-name[data-v-be0bd0ea]{font-size:13px;font-weight:700;color:#1f4a44;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pv-sub[data-v-be0bd0ea]{font-size:11px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pv-hidden[data-v-be0bd0ea]{position:absolute;top:4px;right:6px;font-size:10px;background:#f3e3e0;color:#e8604c;border-radius:999px;padding:0 6px}.pv-wide-tag[data-v-be0bd0ea]{position:absolute;top:4px;left:6px;font-size:10px;background:#eaf6f1;color:#21a98b;border-radius:999px;padding:0 6px}.pv-empty[data-v-be0bd0ea]{width:100%;text-align:center;color:#b1c9d8;padding:20px 0;font-size:13px}.pv-tip[data-v-be0bd0ea]{font-size:12px;margin-top:8px}.entry[data-v-be0bd0ea]{display:flex;align-items:center;gap:14px;padding:10px 8px;border-bottom:1px dashed #E6F0ED}.entry[data-v-be0bd0ea]:last-child{border-bottom:0}.entry.off[data-v-be0bd0ea]{opacity:.55}.info[data-v-be0bd0ea]{flex:1;min-width:0}.name[data-v-be0bd0ea]{font-size:15px;font-weight:700;color:#1f4a44;display:flex;align-items:center;gap:6px}.badge[data-v-be0bd0ea]{font-size:11px;padding:1px 6px;border-radius:999px;font-weight:700}.badge.builtin[data-v-be0bd0ea]{background:#eaf3f0;color:#21a98b}.badge.page[data-v-be0bd0ea]{background:#e0f4fa;color:#0c86a3}.badge.miniapp[data-v-be0bd0ea]{background:#eeebfb;color:#6c5ce7}.badge.wideb[data-v-be0bd0ea]{background:#eaf6f1;color:#21a98b}.badge.hidden[data-v-be0bd0ea]{background:#f3e3e0;color:#e8604c}.sub[data-v-be0bd0ea]{font-size:12px;margin-top:2px}.target[data-v-be0bd0ea]{font-size:11px;margin-top:2px;word-break:break-all}.ops[data-v-be0bd0ea]{display:flex;gap:6px;flex-shrink:0;flex-wrap:nowrap;align-items:center}.op[data-v-be0bd0ea]{border:1px solid #D8E6EE;border-radius:7px;box-sizing:border-box;padding:0;box-shadow:none;cursor:pointer;font-size:12px;line-height:1;font-weight:600}.op[data-v-be0bd0ea]:disabled{opacity:.4;cursor:default}.op.sq[data-v-be0bd0ea]{width:26px;height:26px;min-width:26px;flex:0 0 26px;display:inline-flex;align-items:center;justify-content:center;background:#f2f8f6;color:#5c7470;font-size:13px}.op.pill[data-v-be0bd0ea]{height:26px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;flex:0 0 auto}.op.pill-green[data-v-be0bd0ea]{background:#eaf6f1;color:#1e8e5a;border-color:#bfe5d2}.op.pill-red[data-v-be0bd0ea]{background:#f3e3e0;color:#c0392b;border-color:#e8c5be}.op.pill-blue[data-v-be0bd0ea]{background:#0fa6c6;color:#fff;border-color:#0fa6c6}.op.pill-gray[data-v-be0bd0ea]{background:#fff;color:#8a6d5c;border-color:#e3d5cc}.mask[data-v-be0bd0ea]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f282466;display:flex;align-items:center;justify-content:center;z-index:50}.dialog[data-v-be0bd0ea]{background:#fff;border-radius:14px;padding:18px;width:480px;max-width:92vw;max-height:88vh;overflow:auto}.dialog-title[data-v-be0bd0ea]{font-size:16px;font-weight:800;color:#1f4a44;margin-bottom:12px}.type-row[data-v-be0bd0ea]{display:flex;gap:8px;margin-bottom:4px}.type-btn[data-v-be0bd0ea]{flex:1;border:1px solid #DCEAE6;background:#fff;border-radius:8px;padding:8px 0;cursor:pointer;font-weight:700;color:#5c7470}.type-btn.on[data-v-be0bd0ea]{background:#eaf6f1;border-color:#21a98b;color:#21a98b}.f-row[data-v-be0bd0ea]{margin-bottom:12px}.f-label[data-v-be0bd0ea]{display:block;font-size:13px;font-weight:700;color:#1f4a44;margin-bottom:4px}.f-hint[data-v-be0bd0ea]{font-size:11px;margin-top:4px}input[data-v-be0bd0ea],select[data-v-be0bd0ea]{border:1px solid #DCEAE6;border-radius:8px;padding:8px 10px;font-size:13px}.icon-row[data-v-be0bd0ea]{display:flex;gap:16px}.icon-col[data-v-be0bd0ea]{flex:1}.emoji-quick[data-v-be0bd0ea]{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.emoji-btn[data-v-be0bd0ea]{border:1px solid #E6F0ED;background:#fff;border-radius:6px;width:26px;height:26px;min-width:26px;flex:0 0 26px;padding:0;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;line-height:1;box-shadow:none}.color-row[data-v-be0bd0ea]{display:flex;gap:8px}.palette[data-v-be0bd0ea]{display:flex;gap:4px;margin-top:6px}.palette-btn[data-v-be0bd0ea]{width:26px;height:26px;min-width:26px;flex:0 0 26px;padding:0;box-sizing:border-box;border-radius:6px;border:1px solid rgba(0,0,0,.08);cursor:pointer;font-size:12px;font-weight:700;line-height:1;box-shadow:none}.check-row[data-v-be0bd0ea]{display:flex;align-items:center;gap:8px;font-size:13px;color:#1f4a44;font-weight:700;margin:6px 0 14px}.dialog-ops[data-v-be0bd0ea]{display:flex;justify-content:flex-end;gap:10px}.btn[data-v-be0bd0ea]{border:0;border-radius:8px;padding:9px 18px;font-weight:700;cursor:pointer}.btn.ghost[data-v-be0bd0ea]{background:#eaf3f0;color:#5c7470}.btn.blue[data-v-be0bd0ea]{background:#0fa6c6;color:#fff}.btn.blue[data-v-be0bd0ea]:disabled{opacity:.5}:root{--c-primary: #0FA6C6;--c-primary-hover: #0C86A3;--c-primary-soft: #E0F4FA;--c-primary-line: #A8DCEF;--c-accent: #FFCE1F;--c-accent-deep: #A87A00;--c-accent-soft: #FFF6DE;--c-info: #0A7A96;--c-info-soft: #E2F3F8;--c-info-line: #B0DFEC;--c-success: #0E82B0;--c-success-soft: #DDEEF8;--c-success-line: #A6CBE0;--c-danger: #C0392B;--c-danger-soft: #FBE5E2;--c-danger-line: #F0B5AE;--c-ink: #1C4A5E;--c-ink-2: #4E6B7E;--c-ink-3: #8AA5B4;--c-ink-4: #B1C9D8;--c-line: #D6E4EE;--c-line-soft: #E9F3F9;--c-cream: #F0F7FB;--c-paper: #FFFFFF;--c-paper-2: #F4FAFD;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-wobble: 18px 14px 20px 12px / 12px 20px 14px 18px;--sh-sm: 2px 2px 0 rgba(46, 42, 38, .06);--sh-md: 4px 4px 0 rgba(46, 42, 38, .08);--sh-lg: 6px 6px 0 rgba(46, 42, 38, .1);--t-fast: .15s ease;--t-normal: .26s ease}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;background-color:var(--c-cream);background-image:repeating-linear-gradient(46deg,rgba(15,166,198,.025) 0 1px,transparent 1px 11px),repeating-linear-gradient(-44deg,rgba(28,74,94,.018) 0 1px,transparent 1px 14px);color:var(--c-ink);font-size:14px}a{text-decoration:none;color:inherit}button{cursor:pointer;border:1.5px solid var(--c-ink);border-radius:var(--r-md);padding:8px 16px;background:var(--c-primary);color:#fff;font-size:14px;font-weight:600;transition:transform var(--t-fast),box-shadow var(--t-fast),background var(--t-fast);box-shadow:var(--sh-sm)}button:hover{background:var(--c-primary-hover)}button:active{transform:translate(2px,2px);box-shadow:none}button.ghost{background:#fff;color:var(--c-info);border-color:var(--c-info);box-shadow:2px 2px #0a7a9629}button.ghost:hover{background:var(--c-info-soft)}button.ghost-green{background:#fff;color:var(--c-success);border-color:var(--c-success)}button.danger{background:var(--c-danger)}button.green{background:var(--c-success)}button.orange{background:#e8930c}button:disabled{opacity:.5;cursor:not-allowed}input,textarea,select{width:100%;padding:8px 10px;border:1.5px solid var(--c-line);border-radius:var(--r-md);font-size:14px;box-sizing:border-box;background:var(--c-paper);color:var(--c-ink);outline:none;transition:border-color var(--t-fast),box-shadow var(--t-fast)}input:focus,textarea:focus,select:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px #0fa6c621}textarea{min-height:70px;resize:vertical}::placeholder{color:var(--c-ink-4)}.card{background:var(--c-paper);border:1.5px solid var(--c-ink);border-radius:var(--r-wobble);padding:16px;margin-bottom:16px;box-shadow:var(--sh-md)}.card:hover{box-shadow:var(--sh-lg)}.card h3{display:flex;align-items:center;gap:8px}.muted{color:var(--c-ink-3);font-size:12px}.err{color:var(--c-danger);font-size:12px}h3{margin:0 0 14px;font-size:15px;color:var(--c-ink);font-weight:800;letter-spacing:.3px}h4{color:var(--c-ink)}.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl th,.tbl td{padding:10px;border-bottom:1px solid var(--c-line-soft);text-align:left;vertical-align:top}.tbl th{background:var(--c-paper-2);color:var(--c-ink-2);font-weight:700;white-space:nowrap}.tbl tr:hover td{background:#f0f7fb}.tbl .ellipsis{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag{display:inline-block;padding:2px 10px;font-weight:600;border-radius:20px 16px 22px 14px/14px 22px 16px 20px;font-size:12px;line-height:1.6;border:1px solid transparent}.tag-blue{background:var(--c-info-soft);color:var(--c-info);border-color:var(--c-info-line)}.tag-green{background:var(--c-success-soft);color:var(--c-success);border-color:var(--c-success-line)}.tag-orange{background:var(--c-accent-soft);color:var(--c-accent-deep);border-color:#f0dcb0}.tag-red{background:var(--c-danger-soft);color:var(--c-danger);border-color:var(--c-danger-line)}.tag-gray{background:#eef5f9;color:var(--c-ink-3);border-color:var(--c-line)}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.row-between{display:flex;align-items:center;justify-content:space-between}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.toolbar input,.toolbar select{width:auto}.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--c-paper);border:1.5px solid var(--c-ink);border-radius:var(--r-wobble);padding:14px 18px;margin-bottom:16px;box-shadow:var(--sh-sm)}.page-title{margin:0;font-size:17px;color:var(--c-ink);font-weight:800;letter-spacing:.3px}.page-sub{margin:4px 0 0;font-size:12px;color:var(--c-ink-3)}.section{margin-bottom:18px}.section-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:15px;font-weight:800;color:var(--c-ink);margin:0 0 12px;padding-left:12px;position:relative}.section-title:before{content:"";position:absolute;left:0;top:1px;bottom:1px;width:4px;border-radius:2px;background:linear-gradient(180deg,var(--c-primary),#0F8FC4)}.section-title .sec-sub{font-size:12px;color:var(--c-ink-3);font-weight:500;margin-left:2px}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.cols-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cols-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.cols-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.col-span-2{grid-column:span 2}.col-span-3{grid-column:span 3}.wide{grid-column:1 / -1}@media (max-width: 860px){.cols-2,.cols-3,.cols-4{grid-template-columns:1fr}.col-span-2,.col-span-3{grid-column:auto}}.panel{background:var(--c-paper);border:1.5px solid var(--c-ink);border-radius:var(--r-wobble);padding:16px;box-shadow:var(--sh-sm)}.panel>.panel-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;color:var(--c-ink);margin:0 0 12px}.panel .panel-hint{color:var(--c-ink-3);font-size:12px;line-height:1.7;margin:0 0 12px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.panel-head .panel-title{margin:0}.panel-sub{font-size:13px;font-weight:700;color:var(--c-ink-2);margin:16px 0 8px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}.mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#2e2a2673;display:flex;align-items:center;justify-content:center;z-index:100}.dialog{background:var(--c-paper);border:1.5px solid var(--c-ink);border-radius:var(--r-wobble);width:520px;max-width:92vw;max-height:86vh;overflow:auto;padding:22px;box-shadow:8px 8px #2e2a2629}.dialog-title{font-size:16px;font-weight:800;margin-bottom:16px;color:var(--c-ink)}.dialog-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.form-item{margin-bottom:12px}.form-item label{display:block;font-size:13px;color:var(--c-ink-2);margin-bottom:6px;font-weight:600}.center{text-align:center}.empty{text-align:center;color:var(--c-ink-4);padding:30px 0}.fee-strong{color:#e8930c;font-weight:800}.mono{font-family:ui-monospace,Consolas,monospace;font-size:12px;color:var(--c-ink-2)}img.th{width:40px;height:40px;border-radius:50%;object-fit:cover}.xx-mark{display:inline-block;padding:0 3px;background:linear-gradient(transparent 58%,#FFE98A 58%,#FFE98A 94%,transparent 94%)}.xx-hr{height:0;border-top:2px dashed var(--c-line);margin:16px 0}
