.login-page[data-v-a96555f4]{display:flex;min-height:100vh;background:#fff}.login-hero[data-v-a96555f4]{position:relative;flex:1 1 52%;max-width:720px;overflow:hidden;background:linear-gradient(150deg,#1e3a8a,#2563eb 48%,#3b82f6);color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:48px 56px}.hero-grid[data-v-a96555f4]{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:22px 22px;opacity:.6;pointer-events:none}.hero-glow[data-v-a96555f4]{position:absolute;border-radius:50%;filter:blur(60px);opacity:.5;pointer-events:none}.hero-glow-1[data-v-a96555f4]{width:360px;height:360px;background:#60a5fa;top:-120px;right:-80px}.hero-glow-2[data-v-a96555f4]{width:300px;height:300px;background:#1d4ed8;bottom:-100px;left:-60px;opacity:.45}.hero-top[data-v-a96555f4]{position:relative;z-index:1;display:flex;align-items:center;gap:10px}.brand-chip[data-v-a96555f4]{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;font-size:18px;background:#ffffff29;border-radius:10px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.brand-name[data-v-a96555f4]{font-size:17px;font-weight:700;letter-spacing:.5px}.hero-center[data-v-a96555f4]{position:relative;z-index:1;margin:auto 0}.mascot[data-v-a96555f4]{width:168px;height:200px;margin:0 auto 8px;transform-origin:50% 92%;transition:transform .25s cubic-bezier(.22,1,.36,1);filter:drop-shadow(0 10px 20px rgba(0,0,0,.18))}.mascot svg[data-v-a96555f4]{display:block}.hero-title[data-v-a96555f4]{font-size:42px;line-height:1.28;font-weight:800;letter-spacing:1px;text-shadow:0 4px 24px rgba(0,0,0,.18)}.hero-sub[data-v-a96555f4]{margin-top:16px;font-size:16px;opacity:.88;letter-spacing:2px}.hero-feats[data-v-a96555f4]{list-style:none;margin-top:40px;display:flex;flex-direction:column;gap:14px}.hero-feats li[data-v-a96555f4]{display:flex;align-items:center;gap:14px;font-size:15px;opacity:.92;padding:12px 16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.14);border-radius:12px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.feat-ico[data-v-a96555f4]{font-size:18px}.hero-bottom[data-v-a96555f4]{position:relative;z-index:1;font-size:12px;opacity:.7;letter-spacing:.5px}.login-panel[data-v-a96555f4]{flex:1 1 48%;display:flex;align-items:center;justify-content:center;padding:40px}.login-box[data-v-a96555f4]{width:100%;max-width:420px}.mobile-brand[data-v-a96555f4]{display:none;align-items:center;gap:10px;justify-content:center;margin-bottom:28px}.mobile-brand .brand-name[data-v-a96555f4]{color:var(--text)}.login-head[data-v-a96555f4]{text-align:center;margin-bottom:32px}.login-title[data-v-a96555f4]{font-size:28px;font-weight:800;color:var(--text);letter-spacing:.5px}.login-desc[data-v-a96555f4]{margin-top:8px;color:var(--text-sub);font-size:14px}.login-form[data-v-a96555f4]{display:flex;flex-direction:column;gap:18px}.field[data-v-a96555f4]{display:flex;flex-direction:column;gap:8px}.field-label[data-v-a96555f4]{font-size:13px;font-weight:600;color:var(--text-sub)}.field input[data-v-a96555f4]{height:48px;padding:0 14px;font-size:15px;width:100%;border:1px solid var(--border);border-radius:12px;background:#fbfcfe;color:var(--text);transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease)}.field input[data-v-a96555f4]:focus{background:#fff;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}.pw-wrap[data-v-a96555f4]{position:relative}.pw-wrap input[data-v-a96555f4]{padding-right:46px}.pw-toggle[data-v-a96555f4]{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;color:var(--text-sub);padding:6px;border-radius:8px;display:inline-flex;transition:color .2s,background .2s}.pw-toggle[data-v-a96555f4]:hover{color:var(--primary);background:#f3f6fb}.row-between[data-v-a96555f4]{display:flex;align-items:center;justify-content:space-between;font-size:13px}.remember[data-v-a96555f4]{display:inline-flex;align-items:center;gap:8px;color:var(--text-sub);cursor:pointer}.remember input[data-v-a96555f4]{width:16px;height:16px;accent-color:var(--primary)}.forgot[data-v-a96555f4]{color:var(--primary);cursor:pointer;font-weight:600}.forgot[data-v-a96555f4]:hover{text-decoration:underline}.error[data-v-a96555f4]{color:var(--danger);font-size:13px;min-height:18px;padding:10px 14px;background:#fdecec;border:1px solid #FBD5D5;border-radius:10px}.login-btn[data-v-a96555f4]{margin-top:4px;background:var(--primary-grad);color:#fff;border:none;border-radius:12px;height:48px;font-size:16px;font-weight:700;letter-spacing:4px;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:var(--shadow-sm);transition:all .2s var(--ease)}.login-btn[data-v-a96555f4]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md);filter:brightness(1.04)}.login-btn[data-v-a96555f4]:active:not(:disabled){transform:translateY(0)}.login-btn[data-v-a96555f4]:disabled{opacity:.65;cursor:not-allowed}.spinner[data-v-a96555f4]{width:16px;height:16px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:spin-a96555f4 .7s linear infinite}@keyframes spin-a96555f4{to{transform:rotate(360deg)}}.login-foot[data-v-a96555f4]{margin-top:28px;text-align:center;color:var(--text-sub);font-size:12px;letter-spacing:1px}@media (max-width: 860px){.login-page[data-v-a96555f4]{flex-direction:column}.login-hero[data-v-a96555f4]{max-width:none;padding:32px 24px;min-height:220px}.hero-center[data-v-a96555f4]{margin:16px 0}.hero-title[data-v-a96555f4]{font-size:30px}.hero-feats[data-v-a96555f4]{display:none}.mascot[data-v-a96555f4]{width:120px;height:144px;margin-bottom:4px}.mobile-brand[data-v-a96555f4]{display:flex}.login-panel[data-v-a96555f4]{padding:32px 20px}}.toolbar[data-v-11485b6e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.toolbar h2[data-v-11485b6e]{font-size:18px}.total[data-v-11485b6e]{font-size:13px;color:var(--text-sub);font-weight:400;margin-left:8px}.filters[data-v-11485b6e]{display:flex;gap:10px}.filters input[data-v-11485b6e]{width:280px}.code[data-v-11485b6e]{color:var(--primary);font-family:monospace}.time[data-v-11485b6e]{color:var(--text-sub);font-size:13px}.ops[data-v-11485b6e]{display:flex;gap:6px;align-items:center;white-space:nowrap}.qty-row[data-v-11485b6e]{display:inline-flex;align-items:center;gap:6px}.mini[data-v-11485b6e]{display:inline-block;width:auto;padding:2px 8px;font-size:12px;background:var(--primary);color:#fff;border-radius:4px;border:none;cursor:pointer}.mini.warn[data-v-11485b6e]{background:var(--warning, #f59e0b)}.mini.zero-btn[data-v-11485b6e]{width:45px;padding:2px 0;text-align:center;box-sizing:border-box}.mini.green[data-v-11485b6e]{background:var(--success)}.mini.red[data-v-11485b6e]{background:var(--danger)}.mini-select[data-v-11485b6e]{padding:4px 6px;font-size:12px;border-radius:6px}.empty[data-v-11485b6e]{text-align:center;color:var(--text-sub);padding:40px 0}.pager[data-v-11485b6e]{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:16px;color:var(--text-sub);font-size:13px;flex-wrap:wrap}.pager-info[data-v-11485b6e]{white-space:nowrap}.page-nums[data-v-11485b6e]{display:flex;gap:4px;flex-wrap:wrap}.page-num[data-v-11485b6e]{min-width:30px;height:30px;padding:0 6px;border:1px solid #dcdfe6;border-radius:6px;background:#fff;color:var(--text);font-size:13px;display:inline-flex;align-items:center;justify-content:center}.page-num[data-v-11485b6e]:hover{border-color:var(--primary);color:var(--primary)}.page-num.active[data-v-11485b6e]{background:var(--primary);color:#fff;border-color:var(--primary)}.page-num.ellipsis[data-v-11485b6e]{border:none;background:none;color:var(--text-sub)}.page-size[data-v-11485b6e]{padding:4px 6px;border-radius:6px;font-size:13px}.goto[data-v-11485b6e]{display:flex;align-items:center;gap:6px;white-space:nowrap}.goto input[data-v-11485b6e]{width:56px;padding:4px 6px;font-size:13px}button.danger[data-v-11485b6e]{background:var(--danger);color:#fff}.row-click[data-v-11485b6e]{cursor:pointer}.row-click[data-v-11485b6e]:hover{background:#f5f7fa}.detail-dialog[data-v-11485b6e]{width:min(1220px,calc(100vw - 64px));max-width:none;min-width:960px;max-height:calc(100vh - 56px);padding:24px 28px;box-shadow:var(--shadow-lg)}.detail-actions[data-v-11485b6e]{display:flex;align-items:stretch;gap:10px;flex-wrap:nowrap;padding:12px 14px;margin-bottom:20px;background:linear-gradient(135deg,#f5f8ff,#eef3fb);border:1px solid #e3e9f3;border-radius:14px}.act-btn[data-v-11485b6e]{flex:1 1 0;justify-content:center;display:inline-flex;align-items:center;gap:6px;padding:10px 8px;font-size:13.5px;font-weight:600;color:var(--text);background:#fff;border:1px solid #e2e6ee;border-radius:11px;cursor:pointer;box-shadow:0 1px 2px #0000000a;transition:all .2s var(--ease)}.act-btn[data-v-11485b6e]:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.act-btn[data-v-11485b6e]:active{transform:translateY(0)}.act-btn.green[data-v-11485b6e]:hover{border-color:var(--success);color:var(--success)}.act-btn.red[data-v-11485b6e]:hover{border-color:var(--danger);color:var(--danger)}.act-btn .ico[data-v-11485b6e]{font-size:16px;line-height:1}.act-status[data-v-11485b6e]{display:flex;align-items:center;gap:8px;flex:0 0 auto;padding-left:6px;margin-left:2px;border-left:1px solid #e3e9f3}.act-status .lbl[data-v-11485b6e]{font-size:13px;color:var(--text-sub);font-weight:500}.act-status .mini-select[data-v-11485b6e]{padding:9px 12px;border-radius:11px;border:1px solid #e2e6ee;font-size:13.5px;font-weight:500;background:#fff;cursor:pointer}.borrow-list[data-v-11485b6e]{display:flex;flex-direction:column;gap:10px;margin-top:10px}.borrow-row[data-v-11485b6e]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#f7f9fc;border:1px solid #e7ebf2;border-radius:12px}.borrow-info[data-v-11485b6e]{display:flex;flex-direction:column;gap:3px;font-size:12.5px}.borrow-info span[data-v-11485b6e]{color:#4a5568}.detail-dialog .dialog-head[data-v-11485b6e]{font-size:19px;padding-left:13px;position:relative;margin-bottom:18px}.detail-dialog .dialog-head[data-v-11485b6e]:before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:4px;border-radius:4px;background:linear-gradient(180deg,var(--primary),#6aa8ff)}.detail-dialog .dialog-head .code[data-v-11485b6e]{font-size:13px}.detail-dialog .info-grid[data-v-11485b6e]{grid-template-columns:repeat(3,1fr);gap:12px 18px}.detail-dialog .info-grid .wide[data-v-11485b6e]{grid-column:span 3}.form-dialog[data-v-11485b6e]{width:calc(100vw - 300px);max-width:none;min-width:640px}.form-dialog .form[data-v-11485b6e]{grid-template-columns:repeat(3,1fr);margin:0}.form-dialog .form label.full[data-v-11485b6e]{grid-column:span 3}.op-form[data-v-11485b6e]{display:flex;flex-direction:column;gap:12px;margin-top:8px}.op-form label[data-v-11485b6e]{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-sub)}.op-form input[data-v-11485b6e],.op-form textarea[data-v-11485b6e]{border:1px solid #dcdfe6;border-radius:8px;padding:8px 11px;font-size:13px;background:#fff;color:var(--text);width:100%;box-sizing:border-box}.op-form input[data-v-11485b6e]:focus,.op-form textarea[data-v-11485b6e]:focus{outline:none;border-color:var(--primary)}.op-form textarea[data-v-11485b6e]{resize:vertical}.dialog-actions[data-v-11485b6e]{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:18px}.dialog-actions .btn[data-v-11485b6e]{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:92px;padding:9px 18px;line-height:1;font-size:14px;font-weight:500;text-align:center;border-radius:8px;border:1px solid transparent;cursor:pointer;transition:all .2s var(--ease)}.dialog-actions .btn-cancel[data-v-11485b6e]{background:#fff;color:#4b5563;border-color:#d0d5dd}.dialog-actions .btn-cancel[data-v-11485b6e]:hover{color:var(--primary);border-color:var(--primary);background:var(--primary-soft)}.dialog-actions .btn-confirm[data-v-11485b6e]{background:var(--primary-grad);color:#fff;box-shadow:var(--shadow-xs)}.dialog-actions .btn-confirm[data-v-11485b6e]:hover{box-shadow:var(--shadow-md);transform:translateY(-1px);filter:brightness(1.03)}.dialog-actions .btn-danger[data-v-11485b6e]{background:var(--danger);color:#fff}.dialog-actions .btn-danger[data-v-11485b6e]:hover{filter:brightness(1.05);box-shadow:var(--shadow-sm)}.dialog-actions .btn[data-v-11485b6e]:active{transform:translateY(0)}.dialog-actions .btn[data-v-11485b6e]:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.info-grid[data-v-11485b6e]{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;margin-bottom:16px}.info-grid>div[data-v-11485b6e]{display:flex;flex-direction:column;gap:2px;font-size:13px}.info-grid span[data-v-11485b6e]{color:var(--text-sub)}.info-grid .wide[data-v-11485b6e]{grid-column:span 2}.imgs[data-v-11485b6e]{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.thumb[data-v-11485b6e]{width:64px;height:64px;object-fit:cover;border-radius:6px;border:1px solid #ebeef5}.img-cell[data-v-11485b6e]{text-align:center}.cell-thumb[data-v-11485b6e]{width:40px;height:40px;object-fit:cover;border-radius:6px;border:1px solid #ebeef5;cursor:zoom-in;display:block;margin:0 auto;transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.cell-thumb[data-v-11485b6e]:hover{transform:scale(1.12);box-shadow:var(--shadow-sm);border-color:var(--primary)}.no-img[data-v-11485b6e]{font-size:12px;color:var(--text-sub);opacity:.6}.mask.viewer-mask[data-v-11485b6e]{z-index:99999!important}.viewer[data-v-11485b6e]{background:#fff;border-radius:14px;padding:16px 18px;width:min(860px,92vw);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:12px}.viewer-head[data-v-11485b6e]{display:flex;align-items:center;gap:10px}.viewer-title[data-v-11485b6e]{flex:1;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-count[data-v-11485b6e]{font-size:12px;color:var(--text-sub);background:#f0f3f7;padding:3px 10px;border-radius:999px}.viewer-body[data-v-11485b6e]{position:relative;display:flex;align-items:center;justify-content:center;background:#f7f8fa;border-radius:10px;min-height:380px;max-height:62vh;overflow:hidden}.viewer-img[data-v-11485b6e]{max-width:100%;max-height:62vh;object-fit:contain;display:block}.viewer-empty[data-v-11485b6e]{color:var(--text-sub);font-size:14px;padding:60px 0}.nav-btn[data-v-11485b6e]{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;min-height:0;padding:0;border-radius:50%;background:#ffffffe6;color:var(--text);font-size:24px;line-height:1;box-shadow:var(--shadow-sm);transition:all .2s var(--ease)}.nav-btn[data-v-11485b6e]:hover{background:#fff;transform:translateY(-50%) scale(1.08)}.nav-btn.left[data-v-11485b6e]{left:12px}.nav-btn.right[data-v-11485b6e]{right:12px}.viewer-strip[data-v-11485b6e]{display:flex;gap:8px;overflow-x:auto;padding:2px}.strip-thumb[data-v-11485b6e]{width:56px;height:56px;object-fit:cover;border-radius:6px;cursor:pointer;border:2px solid transparent;opacity:.6;flex:0 0 auto;transition:all .18s var(--ease)}.strip-thumb[data-v-11485b6e]:hover{opacity:1}.strip-thumb.active[data-v-11485b6e]{border-color:var(--primary);opacity:1}.name-field[data-v-11485b6e]{position:relative}.input-error[data-v-11485b6e]{border-color:var(--danger)!important}.name-tip[data-v-11485b6e]{font-size:12px;margin-top:3px}.name-tip.dup[data-v-11485b6e]{color:var(--danger)}.name-tip.ok[data-v-11485b6e]{color:#67c23a}.name-tip.checking[data-v-11485b6e]{color:var(--text-sub)}.img-box[data-v-11485b6e]{position:relative}.img-del[data-v-11485b6e]{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:var(--danger);color:#fff;font-size:12px;line-height:20px;padding:0;min-height:0}.upload-btn[data-v-11485b6e]{min-height:64px;background:#f0f2f5;color:var(--text)}.img-section[data-v-11485b6e]{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--text-sub)}.img-section .full[data-v-11485b6e]{grid-column:span 2}.timeline[data-v-11485b6e]{border-top:1px solid #ebeef5;padding-top:12px}.timeline b[data-v-11485b6e]{font-size:14px}.tl-item[data-v-11485b6e]{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid #f5f7fa}.tl-dot[data-v-11485b6e]{width:10px;height:10px;border-radius:50%;margin-top:4px;flex-shrink:0}.tl-body[data-v-11485b6e]{flex:1}.tl-head[data-v-11485b6e]{display:flex;align-items:center;gap:10px}.tl-time[data-v-11485b6e]{margin-left:auto;color:var(--text-sub);font-size:12px}.tl-detail[data-v-11485b6e]{color:var(--text-sub);font-size:13px;margin-top:4px}.tl-del[data-v-11485b6e]{margin-left:8px;border:none;background:transparent;color:#c0c4cc;cursor:pointer;font-size:12px;line-height:1;padding:2px 4px;border-radius:4px}.tl-del[data-v-11485b6e]:hover{background:#fef0f0;color:#f56c6c}.more-btn[data-v-11485b6e]{width:100%;margin-top:12px}.mask[data-v-11485b6e]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:20;display:flex;align-items:center;justify-content:center}.dialog[data-v-11485b6e]{background:#fff;border-radius:12px;width:560px;max-width:92vw;max-height:88vh;overflow:auto;padding:20px}.dialog-head[data-v-11485b6e]{display:flex;justify-content:space-between;align-items:center;font-size:16px;margin-bottom:16px}.close[data-v-11485b6e]{background:none;color:var(--text-sub);font-size:18px;padding:4px 8px}.form[data-v-11485b6e]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form label[data-v-11485b6e]{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-sub)}.form textarea[data-v-11485b6e]{border:1px solid #dcdfe6;border-radius:8px;padding:8px 12px;font-size:14px;font-family:inherit;resize:vertical}.loc-cell[data-v-11485b6e]{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:help}.cat-cell[data-v-11485b6e]{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:help}.table-wrap[data-v-11485b6e]{overflow-x:auto;width:100%}[data-v-11485b6e] th,[data-v-11485b6e] td{vertical-align:middle}.loc-tip[data-v-11485b6e]{position:fixed;z-index:9999;pointer-events:none;background:#fff;border:1px solid #ebeef5;border-radius:12px;box-shadow:0 10px 30px #1f23292e;padding:12px 14px;min-width:172px;font-size:13px;color:var(--text);animation:locTipIn-11485b6e .12s ease-out}.loc-tip-title[data-v-11485b6e]{font-weight:600;margin-bottom:8px;color:var(--primary);font-size:13px;display:flex;align-items:center;gap:4px}.loc-tip-row[data-v-11485b6e]{display:flex;justify-content:space-between;gap:18px;padding:4px 0;border-top:1px dashed #f0f2f5}.loc-tip-row[data-v-11485b6e]:first-of-type{border-top:none}.loc-tip-label[data-v-11485b6e]{color:var(--text-sub)}.loc-tip-value[data-v-11485b6e]{font-weight:600;color:var(--text);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes locTipIn-11485b6e{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.form label.full[data-v-11485b6e]{grid-column:span 2}.dialog-foot[data-v-11485b6e]{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:18px;grid-column:1 / -1}.link-btn[data-v-11485b6e]{background:none;border:none;color:var(--text-sub);cursor:pointer;font-size:13px;margin-right:auto;padding:4px 6px}.link-btn[data-v-11485b6e]:hover{color:var(--danger)}.qr-dialog[data-v-11485b6e]{width:480px}.preview-dialog[data-v-11485b6e]{width:560px}.preview-body[data-v-11485b6e]{display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px}.preview-img[data-v-11485b6e]{max-width:440px;max-height:340px;border:1px solid #dcdfe6;border-radius:6px;background:#fff}.preview-info[data-v-11485b6e]{font-size:13px;color:var(--text-sub)}.preview-foot[data-v-11485b6e]{display:flex;gap:10px;justify-content:center;padding:0 0 16px}.qr-body[data-v-11485b6e]{display:flex;gap:16px;align-items:center}.qr-img[data-v-11485b6e]{width:200px;height:200px;border:1px solid #ebeef5;border-radius:8px}.qr-info[data-v-11485b6e]{flex:1;display:flex;flex-direction:column;gap:8px;font-size:14px}.print-btn[data-v-11485b6e]{margin-top:6px}.hint[data-v-11485b6e]{color:var(--text-sub);font-size:12px}.records[data-v-11485b6e]{margin-top:16px;border-top:1px solid #ebeef5;padding-top:12px}.records b[data-v-11485b6e]{font-size:14px}.sub[data-v-11485b6e]{font-size:12px;color:var(--text-sub);font-weight:400;margin-left:6px}.records-empty[data-v-11485b6e]{color:var(--text-sub);font-size:13px;padding:12px 0}.record-row[data-v-11485b6e]{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #f5f7fa}.head[data-v-e145bd18]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.total[data-v-e145bd18]{font-size:13px;color:var(--text-sub);font-weight:400;margin-left:8px}.actions[data-v-e145bd18]{display:flex;gap:10px}button.danger[data-v-e145bd18]{background:var(--danger);color:#fff}.alert-item[data-v-e145bd18]{display:flex;border:1px solid #ebeef5;border-radius:8px;margin-bottom:10px;overflow:hidden;cursor:pointer;transition:box-shadow .2s,opacity .2s}.alert-item[data-v-e145bd18]:hover{box-shadow:0 4px 12px #0000001a}.alert-item.read[data-v-e145bd18]{opacity:.72;background:#f9fafc}.alert-item.read .content[data-v-e145bd18]{text-decoration:line-through;color:var(--text-sub)}.bar[data-v-e145bd18]{width:5px}.body[data-v-e145bd18]{padding:12px 14px;flex:1}.title[data-v-e145bd18]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.code[data-v-e145bd18]{color:var(--primary);font-family:monospace;font-size:13px}.status[data-v-e145bd18]{font-size:12px;color:var(--text-sub)}.status.unread[data-v-e145bd18]{color:var(--danger);font-weight:600}.content[data-v-e145bd18]{margin-top:6px;font-size:14px}.time[data-v-e145bd18]{margin-top:6px;font-size:12px;color:var(--text-sub)}.empty[data-v-e145bd18]{text-align:center;color:var(--text-sub);padding:60px 0;font-size:16px}.pager[data-v-e145bd18]{display:flex;justify-content:flex-end;gap:12px;align-items:center;margin-top:12px;color:var(--text-sub);font-size:13px}.pie-wrap[data-v-f5614ba1]{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.pie[data-v-f5614ba1]{width:200px;height:200px;flex:0 0 auto}.slice[data-v-f5614ba1]{transition:transform .2s ease,opacity .2s;transform-box:fill-box;transform-origin:center;cursor:pointer}.slice[data-v-f5614ba1]:hover{transform:scale(1.05)}.slice.dim[data-v-f5614ba1]{opacity:.4}.pie-total[data-v-f5614ba1]{font-size:30px;font-weight:800;fill:var(--text)}.pie-unit[data-v-f5614ba1]{font-size:12px;fill:var(--text-sub)}.legend[data-v-f5614ba1]{list-style:none;display:flex;flex-direction:column;gap:8px;flex:1;min-width:120px}.legend li[data-v-f5614ba1]{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer;padding:4px 6px;border-radius:8px;transition:background .15s}.legend li.active[data-v-f5614ba1]{background:#f3f6fb}.dot[data-v-f5614ba1]{width:10px;height:10px;border-radius:3px;flex:0 0 auto}.lg-label[data-v-f5614ba1]{color:var(--text)}.lg-val[data-v-f5614ba1]{margin-left:auto;font-weight:700;color:var(--text-sub)}.empty-sub[data-v-f5614ba1]{color:var(--text-sub);font-size:13px;padding:20px 0}.bar-chart[data-v-3b2e274d]{width:100%}.plots[data-v-3b2e274d]{display:flex;align-items:flex-end;gap:10px}.plot[data-v-3b2e274d]{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;cursor:default}.plot.clickable[data-v-3b2e274d]{cursor:pointer}.col-val[data-v-3b2e274d]{font-size:12px;font-weight:700;color:var(--text);margin-bottom:6px}.col-bar[data-v-3b2e274d]{width:68%;max-width:44px;min-height:3px;border-radius:8px 8px 0 0;background:var(--primary-grad);transition:height .55s cubic-bezier(.4,0,.2,1),filter .15s}.plot.clickable:hover .col-bar[data-v-3b2e274d]{filter:brightness(1.06)}.labels[data-v-3b2e274d]{display:flex;gap:10px;margin-top:8px}.col-label[data-v-3b2e274d]{flex:1;min-width:0;text-align:center;font-size:11px;color:var(--text-sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-sub[data-v-3b2e274d]{color:var(--text-sub);font-size:13px;padding:20px 0}.line-chart[data-v-dca6dc3a]{width:100%}svg[data-v-dca6dc3a]{width:100%;display:block}.area[data-v-dca6dc3a]{animation:fade-dca6dc3a .6s ease both}.line[data-v-dca6dc3a]{animation:draw-dca6dc3a 1s ease both}@keyframes fade-dca6dc3a{0%{opacity:0}to{opacity:1}}@keyframes draw-dca6dc3a{0%{stroke-dasharray:2000;stroke-dashoffset:2000}to{stroke-dasharray:2000;stroke-dashoffset:0}}.end-dot[data-v-dca6dc3a]{filter:drop-shadow(0 0 4px rgba(64,158,255,.5))}.axis-label[data-v-dca6dc3a]{font-size:11px;fill:var(--text-sub)}.empty-sub[data-v-dca6dc3a]{color:var(--text-sub);font-size:13px;padding:20px 0}.rt-chart[data-v-88ec30a5]{width:100%}.rt-legend[data-v-88ec30a5]{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-bottom:8px}.rt-item[data-v-88ec30a5]{display:inline-flex;align-items:center;gap:6px;font-size:13px}.rt-dot[data-v-88ec30a5]{width:9px;height:9px;border-radius:50%}.rt-name[data-v-88ec30a5]{color:var(--text-sub)}.rt-val[data-v-88ec30a5]{font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.rt-live[data-v-88ec30a5]{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--success);font-weight:600}.rt-pulse[data-v-88ec30a5]{width:8px;height:8px;border-radius:50%;background:var(--success);animation:pulse-88ec30a5 1.4s ease-in-out infinite}@keyframes pulse-88ec30a5{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}.rt-canvas[data-v-88ec30a5]{width:100%;display:block}.empty-sub[data-v-88ec30a5]{color:var(--text-sub);font-size:13px;padding:20px 0}.dash-head[data-v-279f0725]{display:flex;justify-content:flex-end;margin-bottom:12px}.cards[data-v-279f0725]{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:14px;margin-bottom:20px}.stat[data-v-279f0725]{background:#fff;border-radius:var(--radius);padding:22px 16px;text-align:center;box-shadow:var(--shadow-sm);border:1px solid var(--border)}.num[data-v-279f0725]{font-size:30px;font-weight:700}.label[data-v-279f0725]{color:var(--text-sub);font-size:13px;margin-top:4px}.chart-grid[data-v-279f0725]{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;margin-bottom:20px}.section[data-v-279f0725]{margin-bottom:20px}.section h3[data-v-279f0725]{font-size:15px;margin-bottom:16px}.bar-row[data-v-279f0725]{display:flex;align-items:center;gap:12px;margin-bottom:10px}.bar-label[data-v-279f0725]{width:80px;font-size:14px}.bar-track[data-v-279f0725]{flex:1;height:20px;background:#f0f2f5;border-radius:10px;overflow:hidden}.bar-fill[data-v-279f0725]{height:100%;background:var(--primary);border-radius:10px;transition:width .4s}.bar-count[data-v-279f0725]{width:40px;text-align:right;color:var(--text-sub);font-size:13px}.two-col[data-v-279f0725]{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}.top-row[data-v-279f0725]{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid #f5f7fa}.rank[data-v-279f0725]{width:24px;height:24px;border-radius:50%;background:#f0f2f5;color:var(--text-sub);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}.rank.r1[data-v-279f0725]{background:#f56c6c;color:#fff}.rank.r2[data-v-279f0725]{background:#e6a23c;color:#fff}.rank.r3[data-v-279f0725]{background:#e68a00;color:#fff}.top-count[data-v-279f0725]{margin-left:auto;color:var(--danger);font-weight:700}.code[data-v-279f0725]{color:var(--text-sub);font-size:13px}.mask[data-v-279f0725]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:20;display:flex;align-items:center;justify-content:center}.dialog[data-v-279f0725]{background:#fff;border-radius:12px;width:720px;max-width:94vw;max-height:86vh;overflow:auto;padding:20px}.dialog-head[data-v-279f0725]{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.close[data-v-279f0725]{background:none;color:var(--text-sub);font-size:18px;padding:4px 8px}.cat-item[data-v-279f0725]{border:1px solid #ebeef5;border-radius:8px;margin-bottom:8px}.cat-item-head[data-v-279f0725]{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer}.qty[data-v-279f0725]{color:var(--text-sub);font-size:13px}.toggle[data-v-279f0725]{margin-left:auto;color:var(--primary);font-size:13px}.item-logs[data-v-279f0725]{border-top:1px dashed #ebeef5;padding:8px 12px}.log-line[data-v-279f0725]{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:13px}.log-detail[data-v-279f0725]{color:var(--text-sub);flex:1}.log-time[data-v-279f0725]{color:var(--text-sub);font-size:12px}.warn-cards[data-v-279f0725]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.warn-card[data-v-279f0725]{display:flex;align-items:center;gap:10px;border:1px solid;border-radius:8px;padding:14px}.dot[data-v-279f0725]{width:10px;height:10px;border-radius:50%}.warn-num[data-v-279f0725]{margin-left:auto;font-size:22px;font-weight:700}.empty[data-v-279f0725]{text-align:center;padding:60px 0;color:var(--text-sub)}.empty-sub[data-v-279f0725]{color:var(--text-sub);font-size:13px;padding:20px 0}.alert-row[data-v-279f0725]{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #ebeef5;border-radius:8px;margin-bottom:8px;cursor:pointer;transition:box-shadow .2s,transform .15s}.alert-row[data-v-279f0725]:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.ar-name[data-v-279f0725]{flex-shrink:0}.ar-content[data-v-279f0725]{flex:1;color:var(--text-sub);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alert-mask[data-v-279f0725]{z-index:70}.alert-dialog[data-v-279f0725]{width:460px;max-width:92vw}.ad-head[data-v-279f0725]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.ad-name[data-v-279f0725]{font-size:16px}.ad-status[data-v-279f0725]{font-size:13px;color:var(--text-sub)}.ad-content[data-v-279f0725]{margin-top:10px;padding:14px;background:#f6f8fb;border-radius:10px;font-size:14px;line-height:1.6;cursor:pointer;transition:background .2s}.ad-content[data-v-279f0725]:hover{background:#eef3fa}.ad-time[data-v-279f0725]{margin-top:8px;font-size:12px;color:var(--text-sub)}.ad-goto[data-v-279f0725]{margin-top:16px;width:100%}.primary[data-v-279f0725]{background:var(--primary);color:#fff;border:none;border-radius:8px;padding:10px 16px;cursor:pointer;font-size:14px;transition:opacity .2s}.primary[data-v-279f0725]:hover{opacity:.9}.head[data-v-5a3e103d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.total[data-v-5a3e103d]{font-size:13px;color:var(--text-sub);font-weight:400;margin-left:8px}.tree-node[data-v-5a3e103d]{margin-left:22px;margin-top:6px}.level1[data-v-5a3e103d]{margin-left:0}.row[data-v-5a3e103d]{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:8px;background:#fafafa;margin-bottom:4px}.level2 .row[data-v-5a3e103d]{background:#f5f7fa}.level3 .row[data-v-5a3e103d]{background:#fff;border:1px solid #ebeef5}.name[data-v-5a3e103d]{font-weight:600}.code[data-v-5a3e103d]{color:var(--primary);font-family:monospace;font-size:12px}.count[data-v-5a3e103d]{color:var(--text-sub);font-size:12px;margin-left:auto}.actions[data-v-5a3e103d]{display:flex;gap:6px}.mini[data-v-5a3e103d]{padding:3px 10px;font-size:12px;background:var(--primary);color:#fff}.mini.warn[data-v-5a3e103d]{background:none;color:var(--warning);border:1px solid var(--warning)}.mini.danger[data-v-5a3e103d]{background:none;color:var(--danger);border:1px solid var(--danger)}.off[data-v-5a3e103d]{opacity:.55;background:#f0f2f5!important}.fold-row[data-v-5a3e103d]{cursor:pointer}.fold-btn[data-v-5a3e103d]{background:none;color:var(--text-sub);padding:2px 6px;font-size:12px}.empty[data-v-5a3e103d]{text-align:center;padding:60px 0;color:var(--text-sub)}.mask[data-v-5a3e103d]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:20;display:flex;align-items:center;justify-content:center}.dialog[data-v-5a3e103d]{background:#fff;border-radius:12px;width:440px;max-width:92vw;padding:20px}.dialog-head[data-v-5a3e103d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.close[data-v-5a3e103d]{background:none;color:var(--text-sub);font-size:18px;padding:4px 8px}.path[data-v-5a3e103d]{background:#ecf5ff;color:#409eff;border-radius:8px;padding:8px 12px;font-size:13px;margin-bottom:12px}.form[data-v-5a3e103d]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form label[data-v-5a3e103d]{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-sub)}.form label.full[data-v-5a3e103d]{grid-column:span 2}.dialog-foot[data-v-5a3e103d]{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.loc-dialog[data-v-5a3e103d]{width:420px}.loc-preview[data-v-5a3e103d]{display:flex;gap:16px;align-items:center}.loc-qr[data-v-5a3e103d]{width:180px;height:180px;border:1px solid #ebeef5;border-radius:8px}.loc-qr.loading[data-v-5a3e103d]{display:flex;align-items:center;justify-content:center;color:var(--text-sub);font-size:13px}.loc-info[data-v-5a3e103d]{flex:1;display:flex;flex-direction:column;gap:8px;font-size:14px}.path[data-v-5a3e103d]{font-weight:600}.code[data-v-5a3e103d]{color:var(--primary);font-family:monospace}.qr-content[data-v-5a3e103d],.hint[data-v-5a3e103d]{color:var(--text-sub);font-size:12px}.print-btn[data-v-5a3e103d]{width:100%;margin-top:14px}.mini.green[data-v-5a3e103d]{background:var(--success)}.head[data-v-35602601]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px;flex-wrap:wrap}.total[data-v-35602601]{font-size:13px;color:var(--text-sub);font-weight:400;margin-left:8px}.head-ops[data-v-35602601]{display:flex;align-items:center;gap:10px}.search-box[data-v-35602601]{position:relative;display:inline-flex;align-items:center}.search-icon[data-v-35602601]{position:absolute;left:10px;font-size:13px;opacity:.55;pointer-events:none}.search-input[data-v-35602601]{width:210px;padding:7px 28px 7px 30px;font-size:13px;border:1px solid #dcdfe6;border-radius:8px;background:#fff;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.search-input[data-v-35602601]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.search-clear[data-v-35602601]{position:absolute;right:4px;width:20px;height:20px;padding:0;min-height:0;border-radius:50%;background:#eef1f5;color:var(--text-sub);font-size:11px;line-height:20px}.search-clear[data-v-35602601]:hover{background:#e2e6ec}.hit-tip[data-v-35602601]{font-size:12px;color:var(--primary);background:var(--primary-soft);padding:3px 9px;border-radius:999px;white-space:nowrap}.input-error[data-v-35602601]{border-color:var(--danger)!important}.dup-hint[data-v-35602601]{font-size:12px;color:var(--danger);margin-top:2px}.cat[data-v-35602601]{margin-bottom:10px}.row[data-v-35602601]{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;margin-bottom:4px}.row.main[data-v-35602601]{background:#fafafa}.row.sub[data-v-35602601]{background:#fff;border:1px solid #ebeef5;margin-left:24px}.dot[data-v-35602601]{width:12px;height:12px;border-radius:3px}.actions[data-v-35602601]{margin-left:auto;display:flex;gap:6px}.count[data-v-35602601]{margin-left:8px;font-size:12px;color:var(--text-sub);background:#eef2f7;padding:2px 9px;border-radius:999px;white-space:nowrap}.row.main .count[data-v-35602601]{background:#e8f0ff;color:#2563eb}.mini[data-v-35602601]{padding:3px 10px;font-size:12px;background:var(--primary);color:#fff}.mini.warn[data-v-35602601]{background:none;color:var(--warning);border:1px solid var(--warning)}.mini.danger[data-v-35602601]{background:none;color:var(--danger);border:1px solid var(--danger)}.empty[data-v-35602601]{text-align:center;padding:60px 0;color:var(--text-sub)}.mask[data-v-35602601]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:20;display:flex;align-items:center;justify-content:center}.dialog[data-v-35602601]{background:#fff;border-radius:12px;width:400px;max-width:92vw;padding:20px}.dialog-head[data-v-35602601]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.close[data-v-35602601]{background:none;color:var(--text-sub);font-size:18px;padding:4px 8px}.level-switch[data-v-35602601]{display:flex;margin-bottom:14px;border-radius:8px;overflow:hidden;border:1px solid #dcdfe6}.level-switch button[data-v-35602601]{flex:1;background:#fff;border-radius:0;min-height:36px;font-size:13px;color:var(--text-sub)}.level-switch button.active[data-v-35602601]{background:var(--primary);color:#fff}.form[data-v-35602601]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form label[data-v-35602601]{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-sub)}.form label.full[data-v-35602601]{grid-column:span 2}.dialog-foot[data-v-35602601]{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.head[data-v-ad2dca79]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.tabs[data-v-ad2dca79]{display:flex;gap:6px;background:#f5f7fa;border-radius:8px;padding:3px}.tabs button[data-v-ad2dca79]{background:none;border-radius:6px;padding:6px 14px;color:var(--text-sub)}.tabs button.active[data-v-ad2dca79]{background:#fff;color:var(--primary);font-weight:600;box-shadow:0 1px 3px #00000014}.card[data-v-ad2dca79]{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 4px #0000000f}.sub-head[data-v-ad2dca79]{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.total[data-v-ad2dca79]{font-size:13px;color:var(--text-sub);font-weight:400;margin-left:8px}.create-form[data-v-ad2dca79]{display:flex;gap:10px;flex-wrap:wrap;background:#f0f9eb;padding:12px;border-radius:8px;margin-bottom:14px}.create-form input[data-v-ad2dca79],.group-form input[data-v-ad2dca79]{border:1px solid #dcdfe6;border-radius:8px;padding:8px 12px}.assign-panel[data-v-ad2dca79]{background:#ecf5ff;padding:12px;border-radius:8px;margin-bottom:14px;font-size:14px}.code[data-v-ad2dca79]{color:var(--primary);font-family:monospace}.time[data-v-ad2dca79]{color:var(--text-sub);font-size:13px}.mini[data-v-ad2dca79]{padding:3px 10px;font-size:12px;background:var(--primary);color:#fff;margin-right:6px}.mini.danger[data-v-ad2dca79]{background:none;color:var(--danger);border:1px solid var(--danger)}.empty[data-v-ad2dca79]{text-align:center;color:var(--text-sub);padding:30px 0}.mask[data-v-ad2dca79]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:20;display:flex;align-items:center;justify-content:center}.dialog[data-v-ad2dca79]{background:#fff;border-radius:12px;width:480px;max-width:92vw;max-height:80vh;overflow:auto;padding:20px}.dialog.wide[data-v-ad2dca79]{width:640px}.dialog-head[data-v-ad2dca79]{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.close[data-v-ad2dca79]{background:none;color:var(--text-sub);font-size:18px;padding:4px 8px}.group-form[data-v-ad2dca79]{display:flex;gap:10px;margin-bottom:12px;flex-wrap:wrap}.member-grid[data-v-ad2dca79]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;max-height:320px;overflow:auto}.member-item[data-v-ad2dca79]{display:flex;align-items:center;gap:6px;border:1px solid #ebeef5;border-radius:8px;padding:8px 10px;font-size:13px}.member-item .groups-mini[data-v-ad2dca79]{margin-left:auto;color:var(--primary);font-size:12px;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.groups-cell[data-v-ad2dca79]{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bind-info[data-v-ad2dca79]{color:var(--primary);font-size:13px}.bind-none[data-v-ad2dca79]{color:var(--text-sub);font-size:13px}.openid[data-v-ad2dca79]{font-family:monospace;font-size:12px;color:var(--text-sub);cursor:pointer;word-break:break-all;max-width:200px}.openid[data-v-ad2dca79]:hover{color:var(--primary)}.hint[data-v-ad2dca79]{color:var(--text-sub);font-size:12px;margin-top:8px}.group-row[data-v-ad2dca79]{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #f5f7fa}.sub[data-v-ad2dca79]{color:var(--text-sub);font-size:12px}.actions[data-v-ad2dca79]{margin-left:auto;display:flex;gap:6px}.perm-group-title[data-v-ad2dca79]{font-size:13px;color:var(--text-sub);margin:10px 0 6px;font-weight:600}.role-check[data-v-ad2dca79]{display:flex;align-items:center;gap:4px;margin-right:12px}.perm-mod[data-v-ad2dca79]{border:1px solid #ebeef5;border-radius:8px;padding:8px 10px;margin-bottom:8px}.mod-head[data-v-ad2dca79]{display:flex;align-items:center;gap:6px;margin-bottom:6px}.perm-actions[data-v-ad2dca79]{display:flex;flex-wrap:wrap;gap:4px 14px;padding-left:22px}.perm-actions label[data-v-ad2dca79]{display:flex;align-items:center;gap:4px;font-size:13px}.empty-sub[data-v-ad2dca79]{color:var(--text-sub);font-size:13px}.assign-foot[data-v-ad2dca79]{display:flex;gap:10px;margin-top:12px;justify-content:flex-end}.sys-actions[data-v-9d05890d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.sys-tabs[data-v-9d05890d]{display:flex;gap:6px;background:#f5f7fa;border-radius:8px;padding:3px}.sys-tabs button[data-v-9d05890d]{background:none;border-radius:6px;padding:6px 12px;color:var(--text-sub)}.sys-tabs button.active[data-v-9d05890d]{background:#fff;color:var(--primary);font-weight:600;box-shadow:0 1px 3px #00000014}.empty-sub[data-v-9d05890d]{color:var(--text-sub);font-size:13px;padding:16px 0}.stat-grid[data-v-9d05890d]{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:14px}.st[data-v-9d05890d]{background:#fafafa;border-radius:8px;padding:12px;text-align:center}.st b[data-v-9d05890d]{display:block;font-size:22px;color:var(--primary)}.st span[data-v-9d05890d]{color:var(--text-sub);font-size:12px}.cleanup-actions[data-v-9d05890d]{display:flex;gap:10px;justify-content:flex-end}.card[data-v-9d05890d]{margin-bottom:20px}.card h2[data-v-9d05890d]{font-size:16px;margin-bottom:14px}.head[data-v-9d05890d]{display:flex;justify-content:space-between;align-items:center}.total[data-v-9d05890d]{font-size:13px;color:var(--text-sub);font-weight:400;margin-left:8px}.grid[data-v-9d05890d]{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.grid label[data-v-9d05890d]{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-sub)}.code[data-v-9d05890d]{color:var(--primary);font-family:monospace;font-size:13px}.time[data-v-9d05890d]{color:var(--text-sub);font-size:13px}.empty[data-v-9d05890d]{text-align:center;color:var(--text-sub);padding:24px 0}.mini[data-v-9d05890d]{padding:3px 10px;font-size:12px;background:var(--primary);color:#fff;margin-right:6px}.pager[data-v-9d05890d]{display:flex;justify-content:flex-end;gap:12px;align-items:center;margin-top:12px;color:var(--text-sub);font-size:13px}.log-tools[data-v-9d05890d]{display:flex;gap:10px;align-items:center}.search[data-v-9d05890d]{width:240px}button.danger[data-v-9d05890d]{background:var(--danger);color:#fff}button.danger.ghost[data-v-9d05890d]{background:#fff0f0;color:var(--danger);border:1px solid var(--danger)}button.danger.ghost[data-v-9d05890d]:hover{background:#ffe3e3}.mini.danger[data-v-9d05890d]{background:none;color:var(--danger);border:1px solid var(--danger)}.log-target[data-v-9d05890d]{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-detail[data-v-9d05890d]{max-width:260px;color:var(--text-sub);font-size:12px}.pager[data-v-9d05890d]{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:14px;color:var(--text-sub);font-size:13px;flex-wrap:wrap}.pager-info[data-v-9d05890d]{color:var(--text-sub)}.page-nums[data-v-9d05890d]{display:flex;gap:4px;flex-wrap:wrap}.page-num[data-v-9d05890d]{min-width:30px;height:30px;padding:0 6px;border:1px solid #dcdfe6;border-radius:6px;background:#fff;color:var(--text);font-size:13px;display:inline-flex;align-items:center;justify-content:center}.page-num[data-v-9d05890d]:hover{border-color:var(--primary);color:var(--primary)}.page-num.active[data-v-9d05890d]{background:var(--primary);color:#fff;border-color:var(--primary)}.page-num.ellipsis[data-v-9d05890d]{border:none;background:none;color:var(--text-sub)}.page-size[data-v-9d05890d]{padding:4px 6px;border-radius:6px;font-size:13px}.goto[data-v-9d05890d]{display:flex;align-items:center;gap:6px}.goto input[data-v-9d05890d]{width:56px;border:1px solid #dcdfe6;border-radius:6px;padding:4px 6px;font-size:13px}.cleanup-toolbar[data-v-9d05890d]{display:flex;gap:10px;align-items:center;margin:12px 0;flex-wrap:wrap}.select-all[data-v-9d05890d]{font-size:13px;color:var(--text-sub);display:inline-flex;align-items:center;gap:4px;cursor:pointer}button.ghost[data-v-9d05890d]{background:#f5f7fa;color:var(--text-sub);border:1px solid var(--border);border-radius:8px;padding:6px 14px}button.ghost[data-v-9d05890d]:hover{background:#eef1f6}.cleanup-table[data-v-9d05890d]{width:100%;border-collapse:collapse;font-size:13px}.cleanup-table th[data-v-9d05890d],.cleanup-table td[data-v-9d05890d]{padding:8px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.cleanup-table th[data-v-9d05890d]{color:var(--text-sub);font-weight:500;background:#fafafa;white-space:nowrap}.thumb[data-v-9d05890d]{width:48px;height:48px;object-fit:cover;border-radius:6px;cursor:pointer;border:1px solid var(--border);display:block}.thumb[data-v-9d05890d]:hover{box-shadow:0 0 0 2px var(--primary)}.no-img[data-v-9d05890d]{color:var(--text-sub)}.badge-kind[data-v-9d05890d]{display:inline-block;padding:2px 9px;border-radius:8px;font-size:12px;white-space:nowrap}.badge-kind.orphan[data-v-9d05890d]{background:#fef0e6;color:#e67e22}.badge-kind.unlinked[data-v-9d05890d]{background:#e8f0fe;color:#2563eb}.badge-kind.lost[data-v-9d05890d]{background:#fde8e8;color:#d64545}.rel[data-v-9d05890d]{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.muted[data-v-9d05890d]{color:var(--text-sub)}.reason[data-v-9d05890d]{color:var(--text-sub);max-width:240px}.img-mask[data-v-9d05890d]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b8;z-index:95;display:flex;align-items:center;justify-content:center}.img-box[data-v-9d05890d]{position:relative;max-width:90vw}.img-box img[data-v-9d05890d]{max-width:90vw;max-height:84vh;border-radius:10px;box-shadow:0 20px 60px #00000080;display:block}.img-cap[data-v-9d05890d]{position:absolute;left:0;right:0;bottom:-32px;text-align:center;color:#fff;font-size:13px}.img-close[data-v-9d05890d]{position:absolute;top:-42px;right:0;background:#fff3;color:#fff;border:none;width:32px;height:32px;border-radius:50%;font-size:16px;cursor:pointer;transition:background .2s}.img-close[data-v-9d05890d]:hover{background:#ffffff59}.contact-grid[data-v-9d05890d]{display:grid;grid-template-columns:220px 1fr;gap:22px;align-items:start}.qr-block label[data-v-9d05890d],.contact-text label[data-v-9d05890d]{display:block;font-size:13px;color:var(--text-sub);margin-bottom:8px}.qr-wrap[data-v-9d05890d]{width:200px;height:200px;border:1px dashed #d0d7de;border-radius:10px;overflow:hidden;cursor:pointer;display:flex;align-items:center;justify-content:center;background:#fafbfc;transition:border-color .2s,background .2s}.qr-wrap[data-v-9d05890d]:hover{border-color:var(--primary);background:#f5f9ff}.qr-img[data-v-9d05890d]{width:100%;height:100%;object-fit:contain;display:block}.qr-placeholder[data-v-9d05890d]{display:flex;flex-direction:column;align-items:center;gap:6px;color:#b0b8c1}.qr-placeholder span[data-v-9d05890d]{font-size:34px;line-height:1}.qr-placeholder em[data-v-9d05890d]{font-style:normal;font-size:12px}.qr-actions[data-v-9d05890d]{margin:10px 0 6px}.hint[data-v-9d05890d]{font-size:12px;color:#98a2ad;line-height:1.6;margin:0}.contact-text[data-v-9d05890d]{display:flex;flex-direction:column;gap:14px}.contact-text textarea[data-v-9d05890d]{width:100%;border:1px solid #dcdfe6;border-radius:8px;padding:9px 12px;font-size:14px;color:var(--text);resize:vertical;font-family:inherit;line-height:1.6}.contact-text textarea[data-v-9d05890d]:focus{outline:none;border-color:var(--primary)}.contact-foot[data-v-9d05890d]{display:flex;justify-content:flex-end;margin-top:18px}.card[data-v-1bb69c63]{margin-bottom:20px}.card h2[data-v-1bb69c63]{font-size:16px;margin-bottom:14px}.head[data-v-1bb69c63]{display:flex;justify-content:space-between;align-items:center}.head-actions[data-v-1bb69c63]{display:flex;gap:10px;align-items:center}.import-btn[data-v-1bb69c63]{background:var(--primary);color:#fff;border-radius:8px;padding:6px 14px;font-size:13px;transition:all .2s var(--ease)}.import-btn[data-v-1bb69c63]:hover:not(:disabled){filter:brightness(1.05)}.import-btn[data-v-1bb69c63]:disabled{opacity:.6;cursor:not-allowed}.total[data-v-1bb69c63]{font-size:13px;color:var(--text-sub);font-weight:400;margin-left:8px}.grid[data-v-1bb69c63]{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.grid label[data-v-1bb69c63],.content-label[data-v-1bb69c63]{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-sub)}.content-label[data-v-1bb69c63]{margin-bottom:14px}.grid input[data-v-1bb69c63],.content-label textarea[data-v-1bb69c63]{border:1px solid #dcdfe6;border-radius:8px;padding:9px 11px;font-size:14px;color:var(--text);background:#fff;transition:border-color .18s var(--ease);font-family:inherit}.grid input[data-v-1bb69c63]:focus,.content-label textarea[data-v-1bb69c63]:focus{outline:none;border-color:var(--primary)}.content-label textarea[data-v-1bb69c63]{resize:vertical;line-height:1.6}.pin[data-v-1bb69c63]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-sub);margin-bottom:16px}.pin input[data-v-1bb69c63]{width:16px;height:16px}.form-actions[data-v-1bb69c63]{display:flex;gap:10px}.refresh-btn[data-v-1bb69c63]{background:#f5f7fa;border-radius:8px;padding:6px 12px;font-size:13px;transition:all .2s var(--ease)}.refresh-btn[data-v-1bb69c63]:hover{background:var(--primary-soft)}.empty[data-v-1bb69c63]{text-align:center;color:var(--text-sub);padding:24px 0}.title-cell .t[data-v-1bb69c63]{font-weight:600;color:var(--text)}.title-cell .c[data-v-1bb69c63]{color:var(--text-sub);font-size:12px;margin-top:3px;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ver[data-v-1bb69c63]{font-family:monospace;color:var(--primary);font-size:13px}.time[data-v-1bb69c63]{color:var(--text-sub);font-size:13px}.pinned-tag[data-v-1bb69c63]{color:#ffb300;font-size:13px;font-weight:600}.muted[data-v-1bb69c63]{color:var(--text-sub)}.mini[data-v-1bb69c63]{padding:3px 10px;font-size:12px;background:var(--primary);color:#fff;margin-right:6px}.mini.danger[data-v-1bb69c63]{background:none;color:var(--danger);border:1px solid var(--danger)}.card.mgmt[data-v-61004c31]{margin-bottom:16px}.mgmt-grid[data-v-61004c31]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.mgmt-block[data-v-61004c31]{border:1px solid #ebeef5;border-radius:10px;padding:14px}.mgmt-title[data-v-61004c31]{font-size:14px;font-weight:600;margin-bottom:10px}.conn-line[data-v-61004c31]{display:inline-block;font-size:13px;color:var(--text-sub);background:#f5f7fa;padding:4px 10px;border-radius:999px;margin-bottom:10px;line-height:1.4}.conn-line.ok[data-v-61004c31]{color:var(--success);background:#f0f9eb;border:1px solid #b3e19d;font-weight:600}.mgmt-actions[data-v-61004c31]{display:flex;gap:8px;align-items:center}.paper-row[data-v-61004c31]{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}.paper-row label[data-v-61004c31]{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-sub)}.paper-row select[data-v-61004c31],.paper-row input[data-v-61004c31]{border:1px solid #dcdfe6;border-radius:6px;padding:5px 8px;font-size:13px;width:92px}.paper-row input[type=number][data-v-61004c31]{width:70px}.mgmt-desc[data-v-61004c31]{font-size:12px;color:var(--text-sub);margin-bottom:10px;line-height:1.5}@media (max-width: 1200px){.mgmt-grid[data-v-61004c31]{grid-template-columns:1fr}}.primary[data-v-61004c31]{background:var(--primary);color:#fff;border:none;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:13px}.primary[data-v-61004c31]:disabled{opacity:.5;cursor:not-allowed}.mini[data-v-61004c31]{padding:4px 10px;font-size:12px;background:var(--primary);color:#fff;border:none;border-radius:6px;cursor:pointer}.card[data-v-029f2713]{margin-bottom:20px}.head[data-v-029f2713]{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.head h2[data-v-029f2713]{font-size:16px}.total[data-v-029f2713]{font-size:13px;color:var(--text-sub);font-weight:400;margin-left:8px}.head-actions[data-v-029f2713]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.kw[data-v-029f2713]{border:1px solid #dcdfe6;border-radius:8px;padding:7px 11px;font-size:13px;width:260px;background:#fff}.kw[data-v-029f2713]:focus{outline:none;border-color:var(--primary)}.refresh-btn[data-v-029f2713]{background:#f5f7fa;border-radius:8px;padding:6px 12px;font-size:13px;transition:all .2s var(--ease)}.refresh-btn[data-v-029f2713]:hover{background:var(--primary-soft)}.batch-del[data-v-029f2713]{background:var(--danger);color:#fff;border-radius:8px;padding:6px 14px;font-size:13px;transition:all .2s var(--ease)}.batch-del[data-v-029f2713]:hover:not(:disabled){filter:brightness(1.05)}.batch-del[data-v-029f2713]:disabled{opacity:.5;cursor:not-allowed}.empty[data-v-029f2713]{text-align:center;color:var(--text-sub);padding:24px 0}table[data-v-029f2713]{width:100%;border-collapse:collapse;font-size:13px}thead th[data-v-029f2713]{text-align:left;padding:10px;color:var(--text-sub);font-weight:600;background:#f7f9fc;border-bottom:1px solid #ebeef5}tbody td[data-v-029f2713]{padding:10px;border-bottom:1px solid #f0f2f5;color:var(--text);vertical-align:middle}tbody tr[data-v-029f2713]:hover{background:#fafbfe}.row-sel[data-v-029f2713]{background:var(--primary-soft)!important}.iname[data-v-029f2713]{font-weight:600}.icode[data-v-029f2713]{color:var(--text-sub);font-size:12px;margin-top:2px;font-family:monospace}.detail[data-v-029f2713]{color:var(--text-sub);max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.time[data-v-029f2713]{color:var(--text-sub);white-space:nowrap}.br-badge[data-v-029f2713]{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600}.br-out[data-v-029f2713]{background:#fff1e6;color:#e6781e}.br-in[data-v-029f2713]{background:#e8f8ee;color:#18a058}.qty[data-v-029f2713]{font-size:12px;font-weight:600}.qty.br-out[data-v-029f2713]{color:#e6781e}.qty.br-in[data-v-029f2713]{color:#18a058}.mini[data-v-029f2713]{padding:3px 10px;font-size:12px}.mini.danger[data-v-029f2713]{background:none;color:var(--danger);border:1px solid var(--danger)}.pager[data-v-029f2713]{display:flex;align-items:center;gap:14px;justify-content:flex-end;margin-top:14px}.pg[data-v-029f2713]{background:#f5f7fa;border-radius:8px;padding:6px 14px;font-size:13px;transition:all .2s var(--ease)}.pg[data-v-029f2713]:hover:not(:disabled){background:var(--primary-soft)}.pg[data-v-029f2713]:disabled{opacity:.5;cursor:not-allowed}.pg-info[data-v-029f2713]{color:var(--text-sub);font-size:13px}.profile-page[data-v-bc974f10]{max-width:640px}.card[data-v-bc974f10]{background:#fff;border-radius:12px;padding:20px;margin-bottom:20px;box-shadow:0 1px 4px #0000000f}.card h2[data-v-bc974f10]{font-size:16px;margin-bottom:14px}.profile-head[data-v-bc974f10]{display:flex;gap:16px;align-items:center}.avatar-wrap[data-v-bc974f10]{position:relative;width:64px;height:64px;border-radius:50%;overflow:hidden;cursor:pointer;flex-shrink:0}.avatar[data-v-bc974f10]{width:64px;height:64px;border-radius:50%;object-fit:cover;display:block}.avatar.placeholder[data-v-bc974f10]{background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:30px}.avatar-mask[data-v-bc974f10]{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073;color:#fff;font-size:12px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.avatar-wrap:hover .avatar-mask[data-v-bc974f10]{opacity:1}.meta .name[data-v-bc974f10]{font-size:18px;font-weight:600}.meta .sub[data-v-bc974f10]{color:var(--text-sub);font-size:13px;margin-top:4px}.grid[data-v-bc974f10]{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}.grid label[data-v-bc974f10]{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-sub)}.grid input[data-v-bc974f10]{border:1px solid #dcdfe6;border-radius:8px;padding:9px 12px;font-size:14px;color:var(--text)}.grid input[data-v-bc974f10]:focus{outline:none;border-color:var(--primary)}.actions[data-v-bc974f10]{display:flex;justify-content:flex-end}.primary[data-v-bc974f10]{background:var(--primary);color:#fff;border-radius:8px;padding:9px 20px}.primary[data-v-bc974f10]:disabled{opacity:.7;cursor:not-allowed}.page[data-v-e54ba103]{display:flex;flex-direction:column;gap:18px}.head[data-v-e54ba103]{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.sub[data-v-e54ba103]{font-size:13px;margin-top:2px}.tools[data-v-e54ba103]{display:flex;gap:10px;align-items:center}.tools input[data-v-e54ba103]{width:240px}.table-wrap[data-v-e54ba103]{width:100%;overflow-x:auto}table[data-v-e54ba103]{table-layout:fixed}thead th[data-v-e54ba103]{text-align:left;font-size:13px;color:var(--text-sub);font-weight:600;padding:13px 16px;background:#fbfcfe;border-bottom:1px solid var(--border);white-space:nowrap}tbody td[data-v-e54ba103]{padding:13px 16px;border-bottom:1px solid var(--border);font-size:14px;vertical-align:middle}tbody tr:last-child td[data-v-e54ba103]{border-bottom:none}.ellipsis[data-v-e54ba103]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:help}.ops[data-v-e54ba103]{display:flex;flex-wrap:nowrap;gap:2px 6px;white-space:nowrap}.strong[data-v-e54ba103]{font-weight:600}.cust-name[data-v-e54ba103]{display:inline-block;max-width:calc(100% - 38px);vertical-align:middle}.repair-count[data-v-e54ba103]{color:var(--danger);font-weight:700;margin-left:3px;cursor:pointer;vertical-align:middle}.repair-count[data-v-e54ba103]:hover{text-decoration:underline}.empty[data-v-e54ba103]{padding:48px 0;text-align:center;color:var(--text-sub)}.link[data-v-e54ba103]{background:none;color:var(--primary);padding:4px 10px;font-size:13px}.link[data-v-e54ba103]:hover{background:var(--primary-soft)}.danger-link[data-v-e54ba103]{color:var(--danger)}.danger-link[data-v-e54ba103]:hover{background:#fdecec}.pager[data-v-e54ba103]{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:16px;color:var(--text-sub);font-size:13px;flex-wrap:wrap}.pager-info[data-v-e54ba103]{white-space:nowrap}.page-nums[data-v-e54ba103]{display:flex;gap:4px;flex-wrap:wrap}.page-num[data-v-e54ba103]{min-width:30px;height:30px;padding:0 6px;border:1px solid #dcdfe6;border-radius:6px;background:#fff;color:var(--text);font-size:13px;display:inline-flex;align-items:center;justify-content:center}.page-num[data-v-e54ba103]:hover{border-color:var(--primary);color:var(--primary)}.page-num.active[data-v-e54ba103]{background:var(--primary);color:#fff;border-color:var(--primary)}.page-num.ellipsis[data-v-e54ba103]{border:none;background:none;color:var(--text-sub)}.page-size[data-v-e54ba103]{padding:4px 6px;border-radius:6px;font-size:13px}.goto[data-v-e54ba103]{display:flex;align-items:center;gap:6px;white-space:nowrap}.goto input[data-v-e54ba103]{width:56px;padding:4px 6px;font-size:13px}.mask[data-v-e54ba103]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:60;display:flex;align-items:center;justify-content:center}.modal[data-v-e54ba103]{background:#fff;border-radius:var(--radius);width:460px;max-width:calc(100vw - 40px);box-shadow:var(--shadow-lg);animation:modal-in-e54ba103 .25s var(--ease)}@keyframes modal-in-e54ba103{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-head[data-v-e54ba103]{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--border)}.modal-head b[data-v-e54ba103]{font-size:16px}.close[data-v-e54ba103]{background:none;color:var(--text-sub);font-size:18px;padding:4px 8px;border-radius:8px}.close[data-v-e54ba103]:hover{background:#f3f6fb}.form[data-v-e54ba103]{padding:18px 20px;display:flex;flex-direction:column;gap:6px}.form label[data-v-e54ba103]{font-size:13px;color:var(--text-sub);margin-top:8px}.form label[data-v-e54ba103]:first-child{margin-top:0}.form .req[data-v-e54ba103]{color:var(--danger)}.form .hint-inline[data-v-e54ba103]{color:var(--text-sub);font-size:12px;font-weight:400}.form input[data-v-e54ba103],.form textarea[data-v-e54ba103]{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;font-size:14px;outline:none;font-family:inherit;background:#fff;color:var(--text);resize:vertical}.form input[data-v-e54ba103]:focus,.form textarea[data-v-e54ba103]:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.dup-warn[data-v-e54ba103]{margin:4px 20px 0;padding:9px 12px;background:#fff6e6;border:1px solid #FFD591;color:#b26a00;border-radius:var(--radius-sm);font-size:13px;line-height:1.5}.modal-foot[data-v-e54ba103]{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px 20px}.modal-foot button[data-v-e54ba103]:not(.primary){background:#f3f6fb}tbody tr[data-v-e54ba103]{transition:background .15s var(--ease)}tbody tr[data-v-e54ba103]:hover{background:#f8faff}tbody tr:hover td[data-v-e54ba103]:first-child{box-shadow:inset 3px 0 0 var(--primary)}.loc-tip[data-v-e54ba103]{position:fixed;z-index:9999;pointer-events:none;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 30px #1f23292e;padding:11px 14px;min-width:160px;max-width:340px;font-size:13px;color:var(--text);animation:locTipIn-e54ba103 .12s ease-out}.loc-tip-title[data-v-e54ba103]{font-weight:600;margin-bottom:6px;color:var(--primary);font-size:13px}.loc-tip-text[data-v-e54ba103]{color:var(--text);line-height:1.55;word-break:break-word;white-space:pre-wrap}@keyframes locTipIn-e54ba103{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.repair-pop[data-v-e54ba103]{width:520px;max-width:calc(100vw - 40px)}.repair-pop-body[data-v-e54ba103]{max-height:60vh;overflow:auto;padding:12px 16px 18px}.repair-pop-list[data-v-e54ba103]{display:flex;flex-direction:column;gap:8px}.repair-pop-item[data-v-e54ba103]{border:1px solid var(--border);border-radius:var(--radius-sm);padding:11px 14px;cursor:pointer;transition:all .15s var(--ease)}.repair-pop-item[data-v-e54ba103]:hover{border-color:var(--primary);background:var(--primary-soft)}.rpi-main[data-v-e54ba103]{display:flex;justify-content:space-between;align-items:center;gap:10px}.rpi-item[data-v-e54ba103]{font-size:14px;font-weight:600;color:var(--text)}.rpi-status[data-v-e54ba103]{font-size:12px;padding:2px 9px;border-radius:8px;white-space:nowrap}.rpi-sub[data-v-e54ba103]{font-size:13px;margin-top:4px}.st-pending[data-v-e54ba103]{background:#fff4e5;color:#b76e00}.st-processing[data-v-e54ba103]{background:#e8f1ff;color:#2563eb}.st-done[data-v-e54ba103]{background:#e7f7ee;color:#1a9a55}.st-cancelled[data-v-e54ba103]{background:#f1f3f5;color:#8a94a6}.page[data-v-14d6107b]{display:flex;flex-direction:column;gap:18px}.head[data-v-14d6107b]{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.sub[data-v-14d6107b]{font-size:13px;margin-top:2px}.tools[data-v-14d6107b]{display:flex;gap:10px;align-items:center}.tools input[data-v-14d6107b]{width:240px}.table-wrap[data-v-14d6107b]{width:100%;overflow-x:auto}.ellipsis[data-v-14d6107b]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:help}.ops[data-v-14d6107b]{display:flex;flex-wrap:nowrap;gap:4px 10px;align-items:center}.img-cell[data-v-14d6107b]{text-align:center}.strong[data-v-14d6107b]{font-weight:600}.empty[data-v-14d6107b]{padding:48px 0;text-align:center;color:var(--text-sub)}.img-count[data-v-14d6107b]{font-size:13px;color:var(--primary)}.pager[data-v-14d6107b]{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:16px;color:var(--text-sub);font-size:13px;flex-wrap:wrap}.pager-info[data-v-14d6107b]{white-space:nowrap}.page-nums[data-v-14d6107b]{display:flex;gap:4px;flex-wrap:wrap}.page-num[data-v-14d6107b]{min-width:30px;height:30px;padding:0 6px;border:1px solid #dcdfe6;border-radius:6px;background:#fff;color:var(--text);font-size:13px;display:inline-flex;align-items:center;justify-content:center}.page-num[data-v-14d6107b]:hover{border-color:var(--primary);color:var(--primary)}.page-num.active[data-v-14d6107b]{background:var(--primary);color:#fff;border-color:var(--primary)}.page-num.ellipsis[data-v-14d6107b]{border:none;background:none;color:var(--text-sub)}.page-size[data-v-14d6107b]{padding:4px 6px;border-radius:6px;font-size:13px}.goto[data-v-14d6107b]{display:flex;align-items:center;gap:6px;white-space:nowrap}.goto input[data-v-14d6107b]{width:56px;padding:4px 6px;font-size:13px}.card[data-v-14d6107b]{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}table[data-v-14d6107b]{width:100%;border-collapse:collapse;table-layout:fixed}thead th[data-v-14d6107b]{text-align:left;font-size:13px;color:var(--text-sub);font-weight:600;padding:13px 16px;background:#fbfcfe;border-bottom:1px solid var(--border);white-space:nowrap}tbody td[data-v-14d6107b]{padding:13px 16px;border-bottom:1px solid var(--border);font-size:14px;vertical-align:middle}tbody tr:last-child td[data-v-14d6107b]{border-bottom:none}.link[data-v-14d6107b]{background:none;color:var(--primary);padding:4px 10px;font-size:13px}.link[data-v-14d6107b]:hover{background:var(--primary-soft)}.danger-link[data-v-14d6107b]{color:var(--danger)}.danger-link[data-v-14d6107b]:hover{background:#fdecec}.mask[data-v-14d6107b]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:60;display:flex;align-items:center;justify-content:center}.modal[data-v-14d6107b]{background:#fff;border-radius:var(--radius);width:540px;max-width:calc(100vw - 40px);max-height:92vh;overflow:auto;box-shadow:var(--shadow-lg);animation:modal-in-14d6107b .25s var(--ease)}@keyframes modal-in-14d6107b{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-head[data-v-14d6107b]{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--border);position:sticky;top:0;background:#fff;z-index:1}.modal-head b[data-v-14d6107b]{font-size:16px}.close[data-v-14d6107b]{background:none;color:var(--text-sub);font-size:18px;padding:4px 8px;border-radius:8px}.close[data-v-14d6107b]:hover{background:#f3f6fb}.form[data-v-14d6107b]{padding:18px 20px;display:flex;flex-direction:column;gap:6px}.form label[data-v-14d6107b]{font-size:13px;color:var(--text-sub);margin-top:8px}.form label[data-v-14d6107b]:first-child{margin-top:0}.form .req[data-v-14d6107b]{color:var(--danger)}.form .hint[data-v-14d6107b]{color:#b3bcc9;font-size:12px;font-weight:400}.form input[data-v-14d6107b],.form textarea[data-v-14d6107b],.form .sel[data-v-14d6107b]{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;font-size:14px;outline:none;font-family:inherit;background:#fff;color:var(--text);resize:vertical}.form input[data-v-14d6107b]:focus,.form textarea[data-v-14d6107b]:focus,.form .sel[data-v-14d6107b]:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.modal-foot[data-v-14d6107b]{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px 20px;position:sticky;bottom:0;background:#fff}.refresh-btn[data-v-14d6107b]{background:#f3f6fb;color:var(--text);padding:8px 14px;border-radius:var(--radius-sm);font-size:13px;transition:all .18s var(--ease)}.refresh-btn[data-v-14d6107b]:hover:not(:disabled){background:#e9eef5}.refresh-btn[data-v-14d6107b]:disabled{opacity:.5;cursor:not-allowed}.primary[data-v-14d6107b]{background:var(--primary-grad);color:#fff;padding:9px 16px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;transition:all .18s var(--ease)}.primary[data-v-14d6107b]:hover:not(:disabled){filter:brightness(1.05)}.primary[data-v-14d6107b]:disabled{opacity:.6;cursor:not-allowed}.cust-picker[data-v-14d6107b]{position:relative}.cust-dropdown[data-v-14d6107b]{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:5;max-height:240px;overflow:auto}.cust-opt[data-v-14d6107b]{display:flex;justify-content:space-between;padding:9px 12px;cursor:pointer;font-size:14px}.cust-opt[data-v-14d6107b]:hover{background:var(--primary-soft)}.cust-opt .c-name[data-v-14d6107b]{font-weight:500}.cust-opt .c-phone[data-v-14d6107b]{color:var(--text-sub);font-size:12px}.cust-empty[data-v-14d6107b]{padding:10px 12px;color:var(--text-sub);font-size:13px}.img-grid[data-v-14d6107b]{display:flex;flex-wrap:wrap;gap:10px}.img-thumb[data-v-14d6107b]{position:relative;width:78px;height:78px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border);background:#f5f7fa}.img-thumb img[data-v-14d6107b]{width:100%;height:100%;object-fit:cover}.img-del[data-v-14d6107b]{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;border:none;background:#0000008c;color:#fff;font-size:10px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}.img-del[data-v-14d6107b]:hover{background:var(--danger)}.img-add[data-v-14d6107b]{width:78px;height:78px;border:1px dashed var(--border);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-sub);font-size:13px;cursor:pointer;transition:all .18s var(--ease)}.img-add[data-v-14d6107b]:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}tbody tr[data-v-14d6107b]{transition:background .15s var(--ease)}tbody tr[data-v-14d6107b]:hover{background:#f8faff}tbody tr:hover td[data-v-14d6107b]:first-child{box-shadow:inset 3px 0 0 var(--primary)}.loc-tip[data-v-14d6107b]{position:fixed;z-index:9999;pointer-events:none;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 30px #1f23292e;padding:11px 14px;min-width:220px;max-width:360px;font-size:13px;color:var(--text);animation:locTipIn-14d6107b .12s ease-out}.loc-tip-row[data-v-14d6107b]{display:flex;align-items:baseline;gap:2px;line-height:1.7}.loc-tip-row+.loc-tip-row[data-v-14d6107b]{margin-top:1px}.loc-tip-label[data-v-14d6107b]{color:var(--text-sub);flex:none}.loc-tip-val[data-v-14d6107b]{color:var(--text);flex:1 1 auto;min-width:0;word-break:break-word;white-space:pre-wrap}@keyframes locTipIn-14d6107b{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.mask.viewer-mask[data-v-14d6107b]{z-index:99999!important}.viewer[data-v-14d6107b]{background:#fff;border-radius:14px;padding:16px 18px;width:min(860px,92vw);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:12px}.viewer-head[data-v-14d6107b]{display:flex;align-items:center;gap:10px}.viewer-title[data-v-14d6107b]{flex:1;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-count[data-v-14d6107b]{font-size:12px;color:var(--text-sub);background:#f0f3f7;padding:3px 10px;border-radius:999px}.viewer-body[data-v-14d6107b]{position:relative;display:flex;align-items:center;justify-content:center;background:#f7f8fa;border-radius:10px;min-height:380px;max-height:62vh;overflow:hidden}.viewer-img[data-v-14d6107b]{max-width:100%;max-height:62vh;object-fit:contain;display:block}.viewer-empty[data-v-14d6107b]{color:var(--text-sub);font-size:14px;padding:60px 0}.nav-btn[data-v-14d6107b]{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;min-height:0;padding:0;border-radius:50%;background:#ffffffe6;color:var(--text);font-size:24px;line-height:1;box-shadow:var(--shadow-sm);transition:all .2s var(--ease)}.nav-btn[data-v-14d6107b]:hover{background:#fff;transform:translateY(-50%) scale(1.08)}.nav-btn.left[data-v-14d6107b]{left:12px}.nav-btn.right[data-v-14d6107b]{right:12px}.viewer-strip[data-v-14d6107b]{display:flex;gap:8px;overflow-x:auto;padding:2px}.strip-thumb[data-v-14d6107b]{width:56px;height:56px;object-fit:cover;border-radius:6px;cursor:pointer;border:2px solid transparent;opacity:.6;flex:0 0 auto;transition:all .18s var(--ease)}.strip-thumb[data-v-14d6107b]:hover{opacity:1}.strip-thumb.active[data-v-14d6107b]{border-color:var(--primary);opacity:1}.detail-modal[data-v-14d6107b]{width:820px;max-width:calc(100vw - 40px);max-height:92vh;overflow:hidden;display:flex;flex-direction:column}.detail-body[data-v-14d6107b]{padding:18px 20px;overflow:auto;display:flex;flex-direction:column;gap:16px;flex:1}.detail-loading[data-v-14d6107b]{padding:48px 0;text-align:center;color:var(--text-sub)}.st-pending[data-v-14d6107b]{background:#fff4e5;color:#b76e00}.st-processing[data-v-14d6107b]{background:#e8f1ff;color:#2563eb}.st-done[data-v-14d6107b]{background:#e7f7ee;color:#1a9a55}.st-cancelled[data-v-14d6107b]{background:#f1f3f5;color:#8a94a6}.st-badge[data-v-14d6107b]{display:inline-flex;align-items:center;justify-content:center;padding:3px 12px;border-radius:999px;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap}.info-grid[data-v-14d6107b]{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 760px){.info-grid[data-v-14d6107b]{grid-template-columns:1fr}}.info-card[data-v-14d6107b]{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-sm)}.info-h[data-v-14d6107b]{font-size:14px;font-weight:600;margin-bottom:10px;color:var(--text)}.info-row[data-v-14d6107b]{display:flex;gap:10px;padding:5px 0;font-size:14px;border-bottom:1px dashed #eef1f5}.info-row[data-v-14d6107b]:last-child{border-bottom:none}.info-row span[data-v-14d6107b]{color:var(--text-sub);min-width:64px}.info-row b[data-v-14d6107b]{font-weight:500;word-break:break-all}.img-grid2[data-v-14d6107b]{display:flex;flex-wrap:wrap;gap:10px}.img-grid2 img[data-v-14d6107b]{width:96px;height:96px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border)}.block[data-v-14d6107b]{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-sm)}.block-h[data-v-14d6107b]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.block-h>span[data-v-14d6107b]{font-size:15px;font-weight:600}.block-empty[data-v-14d6107b]{color:var(--text-sub);font-size:13px;padding:8px 0}.step-list[data-v-14d6107b]{display:flex;flex-direction:column;gap:10px}.step-item[data-v-14d6107b]{position:relative;display:flex;gap:10px;align-items:flex-start}.step-item .step-time[data-v-14d6107b]{font-size:12px;color:var(--text-sub);min-width:130px;padding-top:8px;white-space:nowrap}.step-item textarea[data-v-14d6107b]{flex:1;border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 11px;font-size:14px;font-family:inherit;resize:vertical;outline:none}.step-item textarea[data-v-14d6107b]:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.step-item .img-del[data-v-14d6107b]{margin-top:6px}.sub-table[data-v-14d6107b]{width:100%;border-collapse:collapse}.sub-table th[data-v-14d6107b]{text-align:left;font-size:12px;color:var(--text-sub);font-weight:600;padding:8px 10px;background:#fbfcfe;border-bottom:1px solid var(--border);white-space:nowrap}.sub-table td[data-v-14d6107b]{padding:6px 8px;border-bottom:1px solid #f1f4f8;vertical-align:middle}.sub-table input[data-v-14d6107b]{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;font-size:14px;outline:none;font-family:inherit;background:#fff;color:var(--text)}.sub-table input[data-v-14d6107b]:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.sub-table .amt[data-v-14d6107b]{color:var(--text);font-weight:600}.fee-summary[data-v-14d6107b]{margin-top:12px;display:flex;flex-direction:column;gap:8px}.fee-line[data-v-14d6107b]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#fbfcfe;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px}.fee-line span[data-v-14d6107b]{color:var(--text-sub)}.fee-line b[data-v-14d6107b]{font-size:15px;color:var(--text)}.fee-line.strong[data-v-14d6107b]{background:#f4f8ff;border-color:#dce8ff}.fee-line.strong span[data-v-14d6107b]{color:var(--text);font-weight:600}.actual-input[data-v-14d6107b]{width:160px;text-align:right;border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;font-size:14px;outline:none;background:#fff;color:var(--text)}.actual-input[data-v-14d6107b]:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.modal-mask[data-v-5d425150]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#00000073;display:flex;align-items:center;justify-content:center}.modal-preview[data-v-5d425150]{display:flex;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000002e;width:960px;max-width:96vw;max-height:90vh;overflow:hidden}.preview-left[data-v-5d425150]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;background:#fafbfc;min-width:0}.stage-wrap[data-v-5d425150]{position:relative;background:#fff;border:1px solid #dcdfe6;border-radius:6px;box-shadow:0 2px 8px #0000000f;overflow:hidden;flex-shrink:0}.stage-img[data-v-5d425150]{position:absolute;left:0;top:0;width:100%;height:100%;z-index:1}.el-handle[data-v-5d425150]{position:absolute;left:0;top:0;cursor:move;border:2px dashed #409EFF;background:#409eff0f;box-sizing:border-box;z-index:3;touch-action:none;will-change:transform,width,height}.el-handle.t-qrcode[data-v-5d425150]{border-color:#409eff;background:#409eff0f}.el-handle.t-text[data-v-5d425150]{border-color:#f56c6c;background:#f56c6c0f}.el-handle.t-image[data-v-5d425150]{border-color:#67c23a;background:#67c23a0f}.el-handle.selected[data-v-5d425150]{border-style:solid;box-shadow:0 0 0 2px #409eff59;z-index:5}.el-tag[data-v-5d425150]{position:absolute;top:-2px;left:-2px;transform:translateY(-100%);font-size:11px;line-height:1;padding:2px 5px;border-radius:4px 4px 4px 0;color:#fff;background:#409eff;white-space:nowrap}.el-handle.t-text .el-tag[data-v-5d425150]{background:#f56c6c}.el-handle.t-image .el-tag[data-v-5d425150]{background:#67c23a}.el-handle[data-v-5d425150]:after{content:"";position:absolute;right:0;bottom:0;width:10px;height:10px;background:linear-gradient(135deg,transparent 50%,rgba(0,0,0,.35) 50%);cursor:nwse-resize}.preview-info[data-v-5d425150]{font-size:13px;color:#666;text-align:center}.preview-scale[data-v-5d425150]{font-size:11px;color:#999}.preview-right[data-v-5d425150]{width:300px;background:#fafafa;border-left:1px solid #ebeef5;padding:16px;display:flex;flex-direction:column;gap:12px;overflow-y:auto}.preview-right h3[data-v-5d425150]{margin:0;font-size:15px}.conn-box[data-v-5d425150]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.conn-line[data-v-5d425150]{display:inline-block;font-size:13px;color:var(--text-sub);background:#f5f7fa;padding:4px 10px;border-radius:999px;line-height:1.4}.conn-line.ok[data-v-5d425150]{color:var(--success);background:#f0f9eb;border:1px solid #b3e19d;font-weight:600}.toolbar[data-v-5d425150]{display:flex;flex-wrap:wrap;gap:6px}.tb[data-v-5d425150]{padding:5px 9px;font-size:12px;border:1px solid #dcdfe6;background:#fff;border-radius:6px;cursor:pointer}.tb[data-v-5d425150]:hover{border-color:#409eff;color:#409eff}.tb.danger[data-v-5d425150]:hover{border-color:#f56c6c;color:#f56c6c}.tb[data-v-5d425150]:disabled{opacity:.5;cursor:not-allowed}.props[data-v-5d425150]{border:1px solid #ebeef5;border-radius:8px;padding:10px;background:#fff}.props-title[data-v-5d425150]{font-size:13px;font-weight:600;margin-bottom:8px}.props.empty[data-v-5d425150]{font-size:12px;color:var(--text-sub)}.ctrl[data-v-5d425150]{margin-bottom:8px}.ctrl label[data-v-5d425150]{display:block;font-size:12px;color:#555;margin-bottom:2px}.ctrl input[type=range][data-v-5d425150]{width:100%}.ctrl textarea[data-v-5d425150],.ctrl input[type=text][data-v-5d425150]{width:100%;border:1px solid #dcdfe6;border-radius:6px;padding:5px 8px;font-size:13px;box-sizing:border-box;resize:vertical}.ctrl.row[data-v-5d425150]{display:flex;gap:12px;align-items:center}.ctrl.row select[data-v-5d425150]{border:1px solid #dcdfe6;border-radius:6px;padding:4px 6px;font-size:13px}.preview-btns[data-v-5d425150]{display:flex;gap:8px}.btns-bottom[data-v-5d425150]{display:flex;gap:10px;margin-top:auto;padding-top:8px;border-top:1px solid #ebeef5}.btns-bottom button[data-v-5d425150]{flex:1;padding:10px 0;border:none;border-radius:8px;font-size:14px;cursor:pointer}.ok[data-v-5d425150]{background:#409eff;color:#fff}.ok[data-v-5d425150]:disabled{background:#a0cfff;cursor:not-allowed}.cancel[data-v-5d425150]{background:#fff;border:1px solid #dcdfe6;color:#666}.val[data-v-5d425150]{color:#409eff;font-weight:600}.primary[data-v-5d425150]{background:var(--primary);color:#fff;border:none;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:13px}.mini[data-v-5d425150]{padding:4px 10px;font-size:12px;background:var(--primary);color:#fff;border:none;border-radius:6px;cursor:pointer}.mini.ghost[data-v-5d425150]{background:#fff;color:#666;border:1px solid #dcdfe6}.layout[data-v-fe086ea4]{display:flex;min-height:100vh}.sidebar[data-v-fe086ea4]{width:220px;background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.logo[data-v-fe086ea4]{padding:18px;font-weight:700;font-size:15px;color:var(--text);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:8px}.logo .logo-text[data-v-fe086ea4]{display:inline-flex;align-items:center;gap:10px}.logo .logo-chip[data-v-fe086ea4]{width:30px;height:30px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:var(--primary-grad);color:#fff;font-size:16px;box-shadow:var(--shadow-xs)}.cache-btn[data-v-fe086ea4]{background:#f5f7fa;border-radius:8px;padding:4px 8px;font-size:14px;transition:all .2s var(--ease)}.cache-btn[data-v-fe086ea4]:hover{background:var(--primary-soft)}.sidebar nav[data-v-fe086ea4]{flex:1;padding:14px 10px;display:flex;flex-direction:column;gap:6px;overflow-y:auto}.nav-item[data-v-fe086ea4]{display:flex;justify-content:space-between;align-items:center;background:none;color:var(--text);padding:11px 14px;border-radius:10px;text-align:left;width:100%;font-size:14px;transition:all .18s var(--ease)}.nav-item[data-v-fe086ea4]:hover{background:#f3f6fb}.nav-item.active[data-v-fe086ea4]{background:var(--primary-grad);color:#fff;box-shadow:var(--shadow-sm)}.arrow[data-v-fe086ea4]{font-size:12px;transition:transform .25s var(--ease);color:var(--text-sub)}.arrow.open[data-v-fe086ea4]{transform:rotate(180deg)}.nav-item.active .arrow[data-v-fe086ea4]{color:#ffffffd9}.sub-nav[data-v-fe086ea4]{margin:2px 0 6px;display:flex;flex-direction:column;gap:2px;animation:sub-in-fe086ea4 .2s var(--ease)}@keyframes sub-in-fe086ea4{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.nav-item.sub[data-v-fe086ea4]{padding:9px 14px 9px 40px;font-size:13px;color:var(--text-sub)}.nav-item.sub[data-v-fe086ea4]:hover{background:#f3f6fb}.nav-item.sub.active[data-v-fe086ea4]{background:var(--primary-soft);color:var(--primary);font-weight:600}.badge[data-v-fe086ea4]{background:var(--danger);color:#fff;border-radius:10px;font-size:11px;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}.mask[data-v-fe086ea4]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:40;display:flex;align-items:center;justify-content:center}.qr-modal[data-v-fe086ea4]{background:#fff;border-radius:14px;padding:24px;text-align:center;width:320px;box-shadow:var(--shadow-lg)}.modal-head[data-v-fe086ea4]{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.modal-head b[data-v-fe086ea4]{font-size:16px}.close[data-v-fe086ea4]{background:none;color:var(--text-sub);font-size:20px;padding:4px 8px;border-radius:8px;transition:all .2s var(--ease)}.close[data-v-fe086ea4]:hover{background:#f3f6fb}.qr-modal-img[data-v-fe086ea4]{width:220px;height:220px;border:1px solid var(--border);border-radius:10px}.qr-modal-loading[data-v-fe086ea4]{height:220px;display:flex;align-items:center;justify-content:center;color:var(--text-sub)}.modal-url[data-v-fe086ea4]{margin-top:10px;font-size:14px;color:var(--primary);word-break:break-all}.modal-tip[data-v-fe086ea4]{margin-top:6px;font-size:12px;color:var(--text-sub)}.user-box[data-v-fe086ea4]{padding:14px 18px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;color:var(--text-sub);font-size:13px}.user-box.clickable[data-v-fe086ea4]{cursor:pointer;transition:background .2s var(--ease)}.user-box.clickable[data-v-fe086ea4]:hover{background:#f3f6fb}.user-info[data-v-fe086ea4]{display:flex;align-items:center;gap:8px}.user-avatar[data-v-fe086ea4]{font-size:18px;width:30px;height:30px;border-radius:50%;background:var(--primary-soft);display:inline-flex;align-items:center;justify-content:center}.logout[data-v-fe086ea4]{background:none;color:var(--danger);padding:4px 10px;border-radius:8px;transition:all .2s var(--ease)}.logout[data-v-fe086ea4]:hover{background:#fdecec}.main[data-v-fe086ea4]{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg, #f5f7fa)}.tabs-bar[data-v-fe086ea4]{display:flex;gap:4px;padding:8px 16px 0;background:#fff;border-bottom:1px solid var(--border);overflow-x:auto;flex-shrink:0}.tabs-bar[data-v-fe086ea4]::-webkit-scrollbar{height:6px}.tabs-bar[data-v-fe086ea4]::-webkit-scrollbar-thumb{background:#d7dee8;border-radius:3px}.tab[data-v-fe086ea4]{display:inline-flex;align-items:center;gap:6px;padding:9px 8px 9px 12px;border:1px solid var(--border);border-bottom:none;border-radius:10px 10px 0 0;background:#f3f6fb;color:var(--text-sub);font-size:13px;cursor:pointer;white-space:nowrap;position:relative;top:1px;transition:all .18s var(--ease)}.tab[data-v-fe086ea4]:hover{background:#e9eef5}.tab.active[data-v-fe086ea4]{background:#fff;color:var(--primary);font-weight:600;box-shadow:0 -2px 8px #1f5adc14}.tab-icon[data-v-fe086ea4]{font-size:14px}.tab-label[data-v-fe086ea4]{max-width:160px;overflow:hidden;text-overflow:ellipsis}.tab-close[data-v-fe086ea4]{margin-left:2px;width:17px;height:17px;border-radius:50%;border:none;background:transparent;color:var(--text-sub);font-size:11px;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:all .15s var(--ease)}.tab-close[data-v-fe086ea4]:hover{background:var(--danger);color:#fff}.main-content[data-v-fe086ea4]{flex:1;min-height:0;overflow:auto;padding:28px 32px}.empty-main[data-v-fe086ea4]{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-sub)}.empty-inner[data-v-fe086ea4]{font-size:15px}.alert-popups[data-v-fe086ea4]{position:fixed;top:18px;right:18px;z-index:90;display:flex;flex-direction:column;gap:10px;width:320px;max-width:calc(100vw - 36px)}.alert-popup[data-v-fe086ea4]{background:#ffffffbd;backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%);border:1px solid rgba(245,108,108,.35);border-left:4px solid var(--ac, #F56C6C);border-radius:14px;padding:12px 14px;box-shadow:0 12px 32px #0000002e;cursor:pointer;animation:ap-in-fe086ea4 .35s ease;color:var(--text)}@keyframes ap-in-fe086ea4{0%{opacity:0;transform:translate(26px)}to{opacity:1;transform:translate(0)}}.ap-head[data-v-fe086ea4]{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.ap-tag[data-v-fe086ea4]{color:#fff;font-size:11px;padding:2px 8px;border-radius:8px;font-weight:600}.ap-close[data-v-fe086ea4]{color:var(--text-sub);font-size:14px;cursor:pointer;padding:0 4px}.ap-close[data-v-fe086ea4]:hover{color:var(--danger)}.ap-name[data-v-fe086ea4]{font-size:14px;font-weight:600;margin-bottom:3px}.ap-content[data-v-fe086ea4]{font-size:13px;color:var(--text-sub);line-height:1.5}:root{--primary: #409EFF;--primary-2: #67B0FF;--primary-grad: linear-gradient(135deg, #3a8ffe 0%, #5b9bff 100%);--primary-soft: #EAF2FF;--success: #22C55E;--warning: #F59E0B;--danger: #EF4444;--info: #94A3B8;--overdue: #EA580C;--bg: #F5F7FB;--surface: #FFFFFF;--text: #1F2937;--text-sub: #6B7280;--border: #E8EBF2;--radius: 14px;--radius-sm: 10px;--shadow-xs: 0 1px 2px rgba(16, 24, 40, .05);--shadow-sm: 0 2px 10px rgba(16, 24, 40, .06);--shadow-md: 0 14px 34px rgba(16, 24, 40, .1);--shadow-lg: 0 28px 64px rgba(16, 24, 40, .14);--ease: cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:system-ui,-apple-system,Segoe UI,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-size:14px;line-height:1.6}button{cursor:pointer;border:none;border-radius:var(--radius-sm);padding:9px 18px;font-size:14px;font-family:inherit;color:var(--text);background:#fff;transition:all .2s var(--ease)}button.primary{background:var(--primary-grad);color:#fff;box-shadow:var(--shadow-xs)}button.primary:hover{box-shadow:var(--shadow-md);transform:translateY(-1px);filter:brightness(1.03)}button.primary:active{transform:translateY(0)}button.danger{background:var(--danger);color:#fff}button.danger:hover{filter:brightness(1.05);box-shadow:var(--shadow-sm)}button:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}input,select{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;outline:none;font-family:inherit;background:#fff;color:var(--text);transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}input::placeholder,select::placeholder{color:#aeb4c0}input:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:22px;border:1px solid var(--border)}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border)}th{color:var(--text-sub);font-weight:600;background:#fbfcfe;font-size:13px}tbody tr{transition:background .15s var(--ease)}tbody tr:hover{background:#f8faff}.tag{display:inline-block;padding:3px 11px;border-radius:999px;font-size:12px;color:#fff;font-weight:500;line-height:1.5}.toast{position:fixed;top:22px;left:50%;transform:translate(-50%);padding:11px 22px;border-radius:10px;color:#fff;z-index:99;font-size:14px;box-shadow:var(--shadow-md);animation:toast-in .25s var(--ease)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.toast.success{background:var(--success)}.toast.error{background:var(--danger)}.refresh-btn{background:#fff;color:var(--text-sub);border:1px solid var(--border);padding:7px 14px;font-size:13px;border-radius:var(--radius-sm);white-space:nowrap;transition:all .2s var(--ease)}.refresh-btn:hover{color:var(--primary);border-color:var(--primary);box-shadow:var(--shadow-xs)}.refresh-btn.spin{animation:spin .6s linear}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.section-title{font-size:16px;font-weight:700;color:var(--text);letter-spacing:.2px}.text-sub{color:var(--text-sub)}.mono{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace}
