  padding:8px 10px;word-break:break-all;cursor:copy}
.zw5-mn:hover{background:rgba(15,118,110,.05);border-color:#a7f3d0}
.zw5-acts{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
.zw5-btn{height:26px;padding:0 12px;border-radius:6px;font-size:11.5px;font-weight:600;cursor:pointer;
  border:1px solid var(--line-2,#e5e7eb);background:#fff;color:var(--ink-2,#475569);transition:.14s}
.zw5-btn:hover{background:rgba(15,23,42,.04);border-color:#cbd5e1;color:#111827}
.zw5-btn.pri{background:#0f766e;border-color:#0f766e;color:#fff}
.zw5-btn.pri:hover{background:#0b5f57;border-color:#0b5f57}
.zw5-btn.warn{background:#fff;color:#b45309;border-color:#fde68a}
.zw5-btn.warn:hover{background:#fffbeb}
.zw5-btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none}
.zw5-spin{display:inline-block;width:10px;height:10px;margin-right:5px;vertical-align:-1px;
  border:2px solid rgba(15,23,42,.14);border-top-color:#0f766e;border-radius:50%;
  animation:zw5spin .8s linear infinite}
@keyframes zw5spin{to{transform:rotate(360deg)}}
.zw5-inp{display:flex;gap:6px;margin-top:8px}
.zw5-inp input{flex:1;height:28px;background:#fff;border:1px solid var(--line-2,#e5e7eb);
  border-radius:6px;color:#111827;padding:0 10px;font-size:12px;outline:none}
.zw5-inp input:focus{border-color:#0f766e;box-shadow:0 0 0 2px rgba(15,118,110,.12)}
.zw5-empty{padding:18px 6px;text-align:center;color:var(--ink-3,#94a3b8);font-size:12px}
/* 加载动画：只放品牌图标，无文字无边框 */
.zw5-load{display:flex;align-items:center;justify-content:center;min-height:120px}
.zw5-load svg{width:40px;height:40px}

.zw7-load{display:flex;align-items:center;justify-content:center;height:100%;min-height:240px;padding:0}
.drawer-body>.zw7-load,#drawerBody>.zw7-load{height:100%}
.zw7-load svg{width:40px;height:40px;flex:0 0 auto}

#zm2root{margin:0 0 14px}
.zm2-bar{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 10px}
.zm2-b{height:26px;padding:0 12px;border-radius:6px;font-size:11.5px;font-weight:600;cursor:pointer;
  border:1px solid var(--line-2,#e5e7eb);background:#fff;color:#475569;transition:.14s}
.zm2-b:hover{background:rgba(15,23,42,.04);border-color:#cbd5e1;color:#111827}
.zm2-b.pri{background:#0f766e;border-color:#0f766e;color:#fff}
.zm2-b.pri:hover{background:#0b5f57}
.zm2-b.warn{color:#b45309;border-color:#fde68a}
.zm2-b.warn:hover{background:#fffbeb}
.zm2-b[disabled]{opacity:.45;cursor:not-allowed}
.zm2-sec{margin:0 0 12px}
.zm2-t{font-size:10px;font-weight:600;color:var(--ink-3,#6b7280);letter-spacing:.14em;
  text-transform:uppercase;margin:0 0 7px;display:flex;align-items:center;gap:8px}
.zm2-t em{font-style:normal;letter-spacing:0;text-transform:none;font-weight:500;font-size:11px;color:#9ca3af}
.zm2-card{border:1px solid var(--line-2,#e5e7eb);border-radius:8px;background:#fff;padding:10px 12px;
  margin-bottom:8px;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.zm2-row{display:flex;align-items:center;gap:8px;padding:6px 2px;border-bottom:1px solid rgba(15,23,42,.05);
  cursor:pointer;font-size:12.5px;color:#1e293b}
.zm2-row:last-child{border-bottom:0}
.zm2-row:hover{background:rgba(15,118,110,.05)}
.zm2-k{font-size:10px;font-weight:600;padding:1px 6px;border-radius:4px;background:rgba(15,23,42,.05);color:#64748b}
.zm2-n{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zm2-u{font-size:11px;color:#94a3b8}
.zm2-state{padding:10px 0 2px;font-size:12px;color:#b45309;line-height:1.6}
.zm2-hint{font-size:11.5px;color:#94a3b8;margin-top:6px;line-height:1.5}
.zm2-msgs{max-height:250px;overflow:auto;margin:8px 0;padding-right:4px}
.zm2-m{padding:5px 9px;margin-bottom:5px;border-radius:7px;font-size:12px;line-height:1.55;
  max-width:88%;word-break:break-word}
.zm2-me{background:#ecfdf5;border:1px solid #a7f3d0;margin-left:auto}
.zm2-ot{background:rgba(15,23,42,.04);border:1px solid rgba(15,23,42,.05)}
.zm2-time{font-size:10px;color:#94a3b8;margin-top:2px}
.zm2-inp{display:flex;gap:6px;margin-top:8px}
.zm2-inp textarea{flex:1;min-height:54px;resize:vertical;background:#fff;border:1px solid var(--line-2,#e5e7eb);
  border-radius:6px;color:#111827;padding:8px 10px;font-size:12px;outline:none;font-family:var(--font-body,system-ui)}
.zm2-inp textarea:focus{border-color:#0f766e;box-shadow:0 0 0 2px rgba(15,118,110,.12)}
.zm2-back{font-size:11.5px;color:#0f766e;cursor:pointer;margin-bottom:8px;display:inline-block}
.zm2-load{display:flex;align-items:center;justify-content:center;min-height:240px}

.drawer-body>.zl3-load,#drawerBody>.zl3-load{display:flex;align-items:center;justify-content:center;
  height:100%;min-height:240px;padding:0}
.zl3-load svg{width:40px;height:40px;flex:0 0 auto}

.zm2-cardk{border:1px solid var(--line-2,#e5e7eb);border-radius:8px;background:#fff;padding:10px 12px;
  margin-bottom:8px;box-shadow:0 1px 2px rgba(15,23,42,.04);cursor:pointer;transition:.15s}
.zm2-cardk:hover{box-shadow:0 4px 14px rgba(15,23,42,.08);border-color:#cbd5e1;transform:translateY(-1px)}
.zm2-kh{display:flex;align-items:center;gap:8px}
.zm2-kn{font-size:12.5px;font-weight:600;color:#111827;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zm2-kc{font-size:10.5px;font-weight:600;padding:1px 8px;border-radius:5px;border:1px solid transparent}
.zm2-kc.ok{background:#ecfdf5;color:#0f766e;border-color:#a7f3d0}
.zm2-kc.wait{background:#fffbeb;color:#b45309;border-color:#fde68a}
.zm2-kc.none{background:rgba(15,23,42,.04);color:#94a3b8;border-color:rgba(15,23,42,.06)}
.zm2-km{margin-top:5px;font-size:11.5px;color:#94a3b8;line-height:1.5;
  font-family:var(--font-mono,ui-monospace,Menlo,monospace);word-break:break-all}
.zm2-kf{margin-top:6px;font-size:11px;color:#0f766e}
.zm2-kv{display:flex;gap:10px;padding:5px 0;border-bottom:1px solid rgba(15,23,42,.05);font-size:12px}
.zm2-kv:last-child{border-bottom:0}
.zm2-kv span{width:76px;color:#94a3b8;flex:0 0 auto}
.zm2-kv b{font-weight:500;color:#1e293b;word-break:break-all}

/* 抽屉打开时，顶部轮播整块冻结（不再自动切、也不能被手势滑走） */
body.zd1-drawer-open .carousel{pointer-events:none !important;touch-action:none !important}
body.zd1-drawer-open .carousel #track{transition:none !important}
body.zd1-drawer-open .carousel .nav,
body.zd1-drawer-open .carousel #dots{pointer-events:none !important;opacity:.55}

/* 抽屉里的加载动画：绝对铺满 + 弹性居中（不再贴顶） */
.drawer-body,.drawer-body>*{position:relative}
.zl3-load,.zw7-load{position:absolute !important;inset:0 !important;width:100%;
  display:flex;align-items:center;justify-content:center;min-height:240px;padding:0}
.zl3-load svg,.zw7-load svg{width:40px;height:40px;flex:0 0 auto}

/* 货币 App 图标 */
.zm2-apico{width:14px;height:14px;object-fit:contain;vertical-align:-2px;margin-right:5px;
  border-radius:3px;background:transparent}

.zi-ico{width:14px;height:14px;object-fit:contain;vertical-align:-2px;margin-right:5px;
  border-radius:3px;display:inline-block}
.zi-ico.sm{width:12px;height:12px;margin-right:4px}

/* 让绝对定位直接以整个抽屉(#drawer, position:fixed)为参照 */
.drawer-body{position:static !important}
#drawerBody{position:static !important}
.zl3-load,.zw7-load{
  position:absolute !important;
  inset:0 !important;
  width:auto !important;
  height:auto !important;
  min-height:0 !important;
  display:flex;
  align-items:center;          /* ← 垂直居中：以抽屉高度为准 */
  justify-content:center;      /* ← 水平居中 */
  padding:0;
  pointer-events:none;         /* 不挡 tab 栏/头部点击 */
  z-index:2;
}
.zl3-load svg,.zw7-load svg{width:40px;height:40px;flex:0 0 auto}

#zl6-load{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  pointer-events:none;z-index:6;background:transparent;border:0;margin:0;padding:0}
#zl6-load svg{width:40px;height:40px;display:block}

/* 抹平中间层定位，让 absolute 直接以 #drawer 为参照 */
.drawer-body{position:static !important}
.drawer-body>*{position:static !important}
#zw5root,#zm2root,#drawerBody{position:static !important}

/* 四类加载层统一：absolute 铺满整块抽屉 + flex 居中 */
.zw5-load,.zm2-load,.zw7-load,.zl3-load{
  position:absolute !important;
  inset:0 !important;
  width:auto !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;      /* 垂直居中（以抽屉高度为准） */
  justify-content:center !important;  /* 水平居中 */
  pointer-events:none !important;
  z-index:5;
}
.zw5-load svg,.zm2-load svg,.zw7-load svg,.zl3-load svg{
  width:40px !important;height:40px !important;display:block
}

/* 抽屉开着时：整个页面不许滚（顶部卡片自然就不会被滑走） */
body.zd2-lock{overflow:hidden !important;height:100vh !important;touch-action:none}
/* 两块滑动卡片都冻住：不响应鼠标/触摸，也不做位移动画 */
body.zd2-lock .carousel,
body.zd2-lock .tw-carousel{pointer-events:none !important;touch-action:none !important}
body.zd2-lock .carousel .track,
body.zd2-lock .carousel #track,
body.zd2-lock .tw-carousel #twTrack{transition:none !important}
body.zd2-lock .carousel .dots,
body.zd2-lock .tw-carousel #twDots{pointer-events:none !important;opacity:.6}
/* 抽屉内部照常滚 */
body.zd2-lock .drawer,
body.zd2-lock .drawer-body{pointer-events:auto !important;touch-action:auto !important;overflow:auto}

/* 时间列常驻左侧留白：图标只在留白里滑动，hover 不改变任何 padding → 不推动其它元素 */
#tb tr>td:first-child{position:relative;padding-left:28px !important;overflow:visible !important}
.zx-del{position:absolute;left:1px;top:50%;width:24px;height:24px;padding:0;border:0;
  background:transparent;color:#dc2626;cursor:pointer;display:flex;align-items:center;justify-content:center;
  opacity:0;transform:translateX(-16px) translateY(-50%);transition:opacity .16s ease,transform .16s ease;

/* DEL_ICON_SMALL：删除图标缩小 */
.zx-del{ width:18px !important; height:18px !important; left:2px !important; }
.zx-del svg{ width:12px !important; height:12px !important; }
