/* NOVAX v4 · 资产中心 + 管理后台 */
.funds-grid{display:grid;grid-template-columns:360px 1fr;gap:16px;align-items:start}
.funds-card .big{font-size:30px;font-weight:900;font-variant-numeric:tabular-nums;margin:4px 0 4px;color:var(--t1);letter-spacing:-.01em}
.funds-card .sub{font-size:12px;color:var(--t3);font-weight:600}
.funds-rows{margin-top:16px;border-top:1px solid var(--line)}
.funds-rows .row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px;transition:background var(--dur-fast) var(--ease),padding var(--dur-fast) var(--ease)}
.funds-rows .row:hover{background:var(--bg3);padding-left:6px;padding-right:6px;border-radius:6px}
.funds-rows .row span:first-child{color:var(--t3);font-weight:600}
.funds-rows .row b{font-variant-numeric:tabular-nums;font-weight:800;color:var(--t1)}
.dep-addr{background:var(--bg4);border:1px dashed var(--line2);border-radius:8px;padding:14px 16px;font-size:12px;font-family:var(--mono);color:#9fb7ff;word-break:break-all;margin-top:10px;cursor:pointer;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);font-weight:700}
.dep-addr:hover{border-color:var(--brand);background:var(--brand-dim);color:#cfdcff;transform:translateY(-1px);box-shadow:0 10px 24px -14px rgba(42,100,251,.6)}
html[data-theme="light"] .dep-addr,body[data-theme="light"] .dep-addr,:root.nx-theme-light .dep-addr,html.nx-theme-light .dep-addr,body.nx-theme-light .dep-addr,[data-theme="light"] .dep-addr,.nx-theme-light .dep-addr{color:var(--brand);background:#f4f7ff;border-color:#b7c9ff}
html[data-theme="light"] .dep-addr:hover,body[data-theme="light"] .dep-addr:hover,:root.nx-theme-light .dep-addr:hover,html.nx-theme-light .dep-addr:hover,body.nx-theme-light .dep-addr:hover,[data-theme="light"] .dep-addr:hover,.nx-theme-light .dep-addr:hover{background:#eaf0ff;color:var(--brand2)}
.admin-shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}
.admin-side{background:var(--bg2);border-right:1px solid var(--line);padding:18px 14px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;transition:background-color var(--dur) var(--ease)}
.admin-side .brand{display:flex;align-items:center;gap:10px;padding:10px 12px 22px;font-size:16px;font-weight:900;letter-spacing:.14em;color:var(--t1)}
.admin-side nav{flex:1 1 auto;overflow-y:auto}
.admin-side nav button{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;color:var(--t2);font-size:13px;padding:11px 12px;border-radius:8px;cursor:pointer;margin-bottom:2px;text-align:left;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);position:relative;font-weight:600}
.admin-side nav button::before{content:"";position:absolute;left:6px;top:50%;width:3px;height:0;border-radius:999px;background:var(--brand);transform:translateY(-50%);transition:height var(--dur) var(--ease)}
.admin-side nav button:hover{background:var(--bg3);color:var(--t1);transform:translateX(2px)}
.admin-side nav button.on{background:var(--brand-dim);color:var(--brand);font-weight:900;box-shadow:inset 0 0 0 1px rgba(42,100,251,.24)}
.admin-side nav button.on::before{height:24px}
.admin-side .foot{font-size:11px;color:var(--t3);padding:12px;line-height:1.85;font-weight:600}
.admin-main{padding:24px 28px;min-width:0;background:var(--bg);transition:background-color var(--dur) var(--ease);min-height:100vh}
.admin-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;gap:14px;flex-wrap:wrap}
.admin-hd h2{font-size:22px;font-weight:900;letter-spacing:.01em;color:var(--t1)}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:22px}
.stat{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:18px 20px;transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur) var(--ease);position:relative;overflow:hidden}
.stat::after{content:"";position:absolute;top:-50px;right:-50px;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,rgba(42,100,251,.22),transparent 60%);pointer-events:none;transition:transform var(--dur) var(--ease),opacity var(--dur) var(--ease)}
.stat:hover{border-color:var(--brand);transform:translateY(-3px);box-shadow:0 22px 44px -22px rgba(42,100,251,.55);background:var(--bg3)}
.stat:hover::after{transform:scale(1.25)}
.stat .k{font-size:10.5px;color:var(--t3);text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px;font-weight:800}
.stat .v{font-size:26px;font-weight:900;font-variant-numeric:tabular-nums;color:var(--t1);letter-spacing:-.01em}
.stat .v small{font-size:12px;color:var(--t3);font-weight:600;margin-left:6px}
.stat .delta{font-size:12px;margin-top:6px;font-weight:700}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 18px}
.form-grid .field{margin-bottom:0}
.form-actions{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}
.searchbar{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}
.searchbar input{height:40px;background:var(--bg4);border:1px solid var(--line2);border-radius:8px;padding:0 12px;outline:none;min-width:220px;color:var(--t1);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease);box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);font-weight:600}
.searchbar input:hover{background:var(--bg3);border-color:var(--line2)}
html[data-theme="light"] .searchbar input:hover,body[data-theme="light"] .searchbar input:hover,:root.nx-theme-light .searchbar input:hover,html.nx-theme-light .searchbar input:hover,body.nx-theme-light .searchbar input:hover,[data-theme="light"] .searchbar input:hover,.nx-theme-light .searchbar input:hover{background:#fff;border-color:#9aa5bb}
.searchbar input:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-ring),inset 0 0 0 1px rgba(42,100,251,.14);background:var(--bg2);color:var(--t1)}
html[data-theme="light"] .searchbar input:focus,body[data-theme="light"] .searchbar input:focus,:root.nx-theme-light .searchbar input:focus,html.nx-theme-light .searchbar input:focus,body.nx-theme-light .searchbar input:focus,[data-theme="light"] .searchbar input:focus,.nx-theme-light .searchbar input:focus{background:#fff}
.pill{display:inline-block;font-size:11px;font-weight:800;padding:3px 12px;border-radius:999px;letter-spacing:.05em}
.pill.ok{background:var(--up-dim);color:var(--up);box-shadow:0 0 0 1px rgba(42,100,251,.22) inset}
.pill.pend{background:var(--brand-dim);color:var(--brand);box-shadow:0 0 0 1px rgba(42,100,251,.24) inset}
.pill.rej{background:var(--dn-dim);color:var(--dn);box-shadow:0 0 0 1px rgba(239,68,68,.24) inset}
.pill.off{background:var(--bg4);color:var(--t2);box-shadow:0 0 0 1px rgba(255,255,255,.03) inset}
.warn-box{background:var(--brand-dim);border:1px solid rgba(42,100,251,.42);border-radius:10px;padding:14px 16px;font-size:13px;color:var(--t2);line-height:1.8;margin-bottom:18px;box-shadow:0 0 0 1px rgba(42,100,251,.1) inset;font-weight:600}
html[data-theme="light"] .warn-box,body[data-theme="light"] .warn-box,:root.nx-theme-light .warn-box,html.nx-theme-light .warn-box,body.nx-theme-light .warn-box,[data-theme="light"] .warn-box,.nx-theme-light .warn-box{color:#1a2a4a;background:rgba(42,100,251,.08);border-color:rgba(42,100,251,.30)}
/* ============================================================
   UICraft · admin.css 动效增强（资产中心 + 管理后台）
   ============================================================ */

/* ---- 资产中心（funds）：卡首屏 + 行 hover 拉条 + 钱包地址复制 ---- */
.funds-card {
  animation: enterPop var(--dur-520) var(--ease-out-quart) both; animation-delay: 120ms;
  position: relative;
}
.funds-card .big { transition: color var(--dur-200) var(--ease-out-quart), transform var(--dur-300) var(--ease-out-quart), filter var(--dur-300) var(--ease-out-quart); }
.funds-card:hover .big { color: var(--brand); transform: translateY(-1px); filter: drop-shadow(0 6px 14px rgba(42,100,251,.3)); }
.funds-rows .row {
  position: relative;
  overflow: hidden;
}
.funds-rows .row::before {
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0; width: 3px;
  background: var(--brand);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform var(--dur-200) var(--ease-out-quart);
}
.funds-rows .row:hover::before { transform: scaleY(1); }
.dep-addr.copied {
  animation: copyFlash var(--dur-520) var(--ease-out-quart);
}
@keyframes copyFlash {
  0%   { background: var(--up-dim); border-color: var(--up); color: var(--up); }
  100% { background: var(--bg4); }
}

/* ---- 管理后台：侧边栏品牌 + 导航 stagger 入场 + on 态左条 + hover 外推 ---- */
.admin-side .brand { animation: enterLift var(--dur-520) var(--ease-out-quart) both; animation-delay: 60ms; }
.admin-side nav button {
  animation: navBtnIn var(--dur-420) var(--ease-out-quart) both;
  animation-delay: calc(100ms + var(--i, 0) * 55ms);
  overflow: hidden;
}
.admin-side nav button:nth-child(n+12) { animation-delay: calc(100ms + 11 * 55ms); }
@keyframes navBtnIn {
  from { opacity: 0; transform: translateX(-10px); }
  to   { opacity: 1; transform: none; }
}
.admin-side nav button::after { /* 底部扫光层 */
  content: "";
  position: absolute;
  left: -100%; top: 0; bottom: 0;
  width: 100%;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--brand) 10%, transparent), transparent);
  transition: left var(--dur-520) var(--ease-out-quart);
  pointer-events: none;
}
.admin-side nav button:hover::after { left: 100%; }
.admin-side .foot { animation: enterFade var(--dur-520) var(--ease-out-quart) both; animation-delay: 700ms; }

/* ---- 后台主区：标题、搜索、统计卡 stagger ---- */
.admin-hd { animation: enterLift var(--dur-520) var(--ease-out-quart) both; animation-delay: 80ms; }
.searchbar { animation: enterLift var(--dur-520) var(--ease-out-quart) both; animation-delay: 140ms; position: relative; }
.searchbar::after { /* 搜索框 focus 光环 */
  content: "";
  position: absolute;
  left: 50%; top: 50%;
  width: 100%; height: 100%;
  transform: translate(-50%, -50%) scale(.96);
  border-radius: inherit;
  box-shadow: 0 0 0 0 var(--brand-ring);
  opacity: 0;
  transition: opacity var(--dur-300) var(--ease-out-quart), box-shadow var(--dur-300) var(--ease-out-quart);
  pointer-events: none;
}

.stat-grid .stat {
  animation: statPop var(--dur-520) var(--ease-out-quart) both;
  animation-delay: calc(160ms + var(--i, 0) * 80ms);
}
.stat-grid .stat:nth-child(n+10) { animation-delay: calc(160ms + 9 * 80ms); }
@keyframes statPop {
  from { opacity: 0; transform: scale(.94) translateY(6px); }
  to   { opacity: 1; transform: none; }
}
.stat .v {
  display: inline-block;
  transition: transform var(--dur-300) var(--ease-out-quart), color var(--dur-200) var(--ease-out-quart);
}
.stat:hover .v { transform: translateY(-2px) scale(1.02); color: var(--brand); }
.stat .delta { transition: transform var(--dur-200) var(--ease-out-quart); }
.stat:hover .delta { transform: translateX(2px); }
/* stat 右上角光晕：hover 扩大 */
.stat::after { will-change: transform, opacity; }

/* ---- 表格：表头入场 + 行级斑马 + 行级出现动画（new-*） + pill badge ---- */
.admin-main .panel { animation: enterPop var(--dur-420) var(--ease-out-quart) both; animation-delay: 180ms; }
.admin-main .tbl tr[data-idx] {
  animation: rowFade var(--dur-300) var(--ease-out-quart) both;
  animation-delay: calc(200ms + (var(--data-idx, 0) * 35ms));
}
.admin-main .tbl tbody tr:nth-child(n+16) { animation-delay: calc(200ms + 15 * 35ms); }
@keyframes rowFade {
  from { opacity: 0; transform: translateX(-4px); }
  to   { opacity: 1; transform: none; }
}
.admin-main .tbl tbody tr.highlight {
  animation: rowHighlight 1.2s var(--ease-out-quart);
}
@keyframes rowHighlight {
  0%   { background: color-mix(in srgb, var(--brand) 14%, transparent); }
  100% { background: transparent; }
}

/* Pill：出现时的 statusPop 效果 + 颜色转换过渡 */
.pill {
  transition: background var(--dur-200) var(--ease-out-quart), color var(--dur-200) var(--ease-out-quart), box-shadow var(--dur-200) var(--ease-out-quart), transform var(--dur-200) var(--ease-out-quart);
}
.pill.new-pop { animation: statusPop var(--dur-420) var(--ease-out-quart) both; }
.pill:hover { transform: translateY(-1px); }

/* 警告框 warn-box：入场轻微摇晃后稳定 */
.warn-box {
  position: relative;
  animation: warnIn var(--dur-640) var(--ease-out-quart) both;
}
@keyframes warnIn {
  0%   { opacity: 0; transform: translateY(-8px); }
  40%  { transform: translateX(-3px); }
  55%  { transform: translateX(2px); }
  70%  { transform: translateX(-1px); }
  100% { opacity: 1; transform: none; }
}

/* Form grid：field 入场 + focus 外推 + 提交按钮 微按压 */
.form-grid .field {
  animation: enterLift var(--dur-420) var(--ease-out-quart) both;
}
.form-grid .field:nth-child(1) { animation-delay: 220ms; }
.form-grid .field:nth-child(2) { animation-delay: 260ms; }
.form-grid .field:nth-child(3) { animation-delay: 300ms; }
.form-grid .field:nth-child(4) { animation-delay: 340ms; }
.form-grid .field:nth-child(5) { animation-delay: 380ms; }
.form-grid .field:nth-child(6) { animation-delay: 420ms; }
.form-grid .field:nth-child(7) { animation-delay: 460ms; }
.form-grid .field:nth-child(8) { animation-delay: 500ms; }
.form-actions { animation: enterLift var(--dur-420) var(--ease-out-quart) both; animation-delay: 540ms; }
.form-actions .btn { position: relative; }

/* ---- 资产页 fund-rows 行复制：提示小tooltip（copied→ok） ---- */
.funds-rows .row .copy-btn {
  margin-left: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px; height: 28px;
  border-radius: 6px;
  border: 1px solid var(--line2);
  background: var(--bg4);
  color: var(--t3);
  cursor: pointer;
  transition: all var(--dur-200) var(--ease-out-quart);
}
.funds-rows .row .copy-btn:hover {
  color: var(--brand); border-color: var(--brand); background: var(--brand-dim);
  transform: translateY(-1px);
}
.funds-rows .row .copy-btn:active { transform: translateY(1px) scale(.95); }

/* ============================================================
   UICraft · admin v3 动效深度增强（与 core.js reflowAnimations 联动）
   ============================================================ */

/* ---- 1) enter-pop：单页内容替换后通用入场类（admin body.innerHTML 后由 reflowAnimations 挂入） ---- */
.enter-pop {
  animation: enterPopSmooth var(--dur-420) var(--ease-out-quart) both;
}
@keyframes enterPopSmooth {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: none; }
}

/* ---- 2) 保存按钮成功 flash：按钮上挂 save-ok 类（由 admin/index.php onclick 触发） ---- */
.btn.save-ok {
  animation: saveFlashGreen var(--dur-820) var(--ease-out-quart) both;
}
@keyframes saveFlashGreen {
  0%   { background: var(--up); color: #fff; box-shadow: 0 0 0 0 var(--up-dim), 0 14px 36px -12px rgba(42,100,251,.6); }
  40%  { box-shadow: 0 0 0 10px rgba(42,100,251,0), 0 14px 36px -12px rgba(42,100,251,.6); }
  100% { color: inherit; }
}
.btn.save-err {
  animation: saveFlashRed var(--dur-640) var(--ease-out-quart) both;
}
@keyframes saveFlashRed {
  0%   { background: var(--dn); color: #fff; }
  30%  { transform: translateX(-2px); }
  50%  { transform: translateX(2px); }
  70%  { transform: translateX(-1px); }
  100% { color: inherit; }
}

/* ---- 3) 管理后台侧栏：活动指示器平滑滑动（一个绝对定位 span，随 on 按钮位移）
         #admNav > .nav-indicator（JS 创建并写入 top/height；所有属性 transition） ---- */
#admNav { position: relative; }
#admNav .nav-indicator {
  position: absolute;
  left: 6px;
  width: 3px;
  border-radius: 999px;
  background: var(--brand);
  box-shadow: 0 0 12px var(--brand-dim);
  opacity: 0;
  transition:
    top var(--dur-520) var(--ease-out-expo),
    height var(--dur-520) var(--ease-out-expo),
    opacity var(--dur-300) var(--ease-out-quart);
  pointer-events: none;
  z-index: 1;
}
#admNav .nav-indicator.on { opacity: 1; }
/* 关闭 button 自己的 ::before（因为现在有统一指示器），保留 hover 微高光 */
.admin-side nav button::before { display: none; }

/* ---- 4) Tabs 下划线指示器滑动：.tabs.underlined > .tabs-ink + button.on
         若页面包含 <div class="tabs underlined"><span class="tabs-ink"></span>... 则 ink 会跟随 on 按钮位移
         FAIL-OPEN：若未提供 ink 或 JS 未运行，on 按钮仍通过 border/color 足够区分 */
.tabs.underlined { position: relative; }
.tabs.underlined .tabs-ink {
  position: absolute;
  bottom: 0; left: 0;
  height: 2px;
  background: var(--brand);
  border-radius: 2px 2px 0 0;
  width: 0;
  opacity: 0;
  transition:
    left var(--dur-520) var(--ease-out-expo),
    width var(--dur-520) var(--ease-out-expo),
    opacity var(--dur-300) var(--ease-out-quart);
  pointer-events: none;
  z-index: 1;
}
.tabs.underlined .tabs-ink.on { opacity: 1; }

/* ---- 5) Form 字段 focus：除了已有 input:focus，额外 field 容器补外推微阴影 ---- */
.field { position: relative; }
.field:focus-within label { color: var(--brand); letter-spacing: .01em; }
.field label { transition: color var(--dur-200) var(--ease-out-quart), letter-spacing var(--dur-200) var(--ease-out-quart); }

/* ---- 6) Stat 卡 delta 右移的同时 + 数值染色（已有 hover .v 染色，补 delta 颜色） ---- */
.stat .delta.up { color: var(--up); }
.stat .delta.dn { color: var(--dn); }

/* ---- 7) Pill 切换 status 时额外 statusPop 重复触发安全（若 new-pop 类重复不生效则改 animation-name 两次） ---- */
@keyframes statusPopAlt {
  from { opacity: 0; transform: scale(.88); }
  to   { opacity: 1; transform: none; }
}
.pill.status-swap { animation: statusPopAlt var(--dur-520) var(--ease-out-quart) both; }

/* ============================================================
   prefers-reduced-motion · admin 统一降级（全局类由 core.js 注入到 :root）
   ============================================================ */
:root.nx-reduced-motion .enter-pop,
html.nx-reduced-motion .enter-pop,
:root.nx-reduced-motion #admNav .nav-indicator,
html.nx-reduced-motion #admNav .nav-indicator,
:root.nx-reduced-motion .tabs.underlined .tabs-ink,
html.nx-reduced-motion .tabs.underlined .tabs-ink,
:root.nx-reduced-motion .btn.save-ok,
html.nx-reduced-motion .btn.save-ok,
:root.nx-reduced-motion .btn.save-err,
html.nx-reduced-motion .btn.save-err {
  animation: none !important;
  transition: none !important;
}
:root.nx-reduced-motion #admNav .nav-indicator.on,
html.nx-reduced-motion #admNav .nav-indicator.on,
:root.nx-reduced-motion .tabs.underlined .tabs-ink.on,
html.nx-reduced-motion .tabs.underlined .tabs-ink.on {
  opacity: 1; /* 仍保证可见性（颜色区分即可，无过渡） */
}

/* ============================================================
   响应式
   ============================================================ */
@media (max-width:900px){.admin-shell{grid-template-columns:1fr}.admin-side{position:static;height:auto;flex-direction:row;flex-wrap:wrap}.admin-side nav{display:flex;flex-wrap:wrap}.admin-side nav button{width:auto;flex:0 0 auto}.admin-main{padding:18px}.form-grid{grid-template-columns:1fr}#admNav .nav-indicator{width:100%;height:2px;left:0;top:auto!important;bottom:0}}
@media (max-width:480px){.funds-grid{grid-template-columns:1fr;gap:12px}.funds-card .big{font-size:26px}.funds-rows .row{padding:10px 0;font-size:12.5px;white-space:nowrap}.dep-addr{font-size:11.5px;padding:10px 12px}.panel .tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:0}.panel .tabs button{flex:0 0 auto;white-space:nowrap;padding:10px 15px;font-size:12.5px}.stat-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stat{padding:14px 16px;border-radius:10px}.stat .v{font-size:20px}.searchbar{flex-direction:column;gap:8px}.searchbar input{min-width:0;width:100%}.admin-hd{flex-direction:column;align-items:flex-start;gap:10px}.form-actions{flex-direction:column}.form-actions .btn{width:100%}}

/* 后台内容区：未包 .field / .btn 的原生控件与标题 */
.admin-main h4,
.admin-main h3 {
  font-size: 14px;
  font-weight: 800;
  color: var(--t1);
  letter-spacing: .02em;
  margin: 0 0 10px;
  font-family: inherit;
}
.admin-main strong { font-weight: 800; color: var(--t1); }
.admin-main hr { border: 0; border-top: 1px solid var(--line); margin: 18px 0; opacity: 1; }
.adm-sec {
  font-size: 11px;
  color: var(--t3);
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 800;
  margin: 0 0 14px;
}
.spacer { flex: 1 1 auto; min-width: 8px; }
.stats4 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}
.stat-card {
  background: var(--bg2);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 16px 18px;
}
.stat-card .st-label { font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 8px; }
.stat-card .st-value { font-size: 20px; font-weight: 900; font-variant-numeric: tabular-nums; color: var(--t1); letter-spacing: -.01em; }
.tabs3 {
  display: flex;
  gap: 2px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 16px;
}
.tabs3 .tab,
.tabs3 button {
  background: none;
  border: 0;
  padding: 12px 18px;
  font-size: 13px;
  color: var(--t2);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  font-weight: 700;
  font-family: inherit;
}
.tabs3 .tab:hover,
.tabs3 button:hover { color: var(--t1); }
.tabs3 .tab.active,
.tabs3 .tab.on,
.tabs3 button.active,
.tabs3 button.on {
  color: var(--brand);
  border-bottom-color: var(--brand);
}
.admin-main .tabs { margin-bottom: 16px; }
.admin-main input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):not([type="button"]):not([type="submit"]),
.admin-main select,
.admin-main textarea {
  background: var(--bg4);
  border: 1px solid var(--line2);
  border-radius: 8px;
  color: var(--t1);
  min-height: 36px;
  padding: 0 10px;
  font-size: 13px;
  font-weight: 600;
  font-family: inherit;
  outline: none;
  box-sizing: border-box;
}
.admin-main textarea { padding: 8px 10px; min-height: 72px; resize: vertical; }
.admin-main input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):hover,
.admin-main select:hover,
.admin-main textarea:hover {
  border-color: var(--brand);
  background: var(--bg3);
}
.admin-main input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):focus,
.admin-main select:focus,
.admin-main textarea:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 4px var(--brand-ring);
}
.admin-main .tbl input:not([type="checkbox"]),
.admin-main .tbl select,
.admin-main .tbl textarea {
  min-height: 32px;
  font-size: 12.5px;
}
.mask .modal p { color: var(--t2); font-size: 13px; line-height: 1.7; }
.mask .modal p .field { text-align: left; margin: 12px 0 0; }
.mask .modal p .field label { text-transform: none; letter-spacing: .04em; }

/* USDT-TRC20 充值卡片 */
.usdt-dep{max-width:480px}
.usdt-dep-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.usdt-coin{display:flex;flex-direction:column;gap:1px}
.usdt-coin b{font-size:20px;font-weight:900;letter-spacing:.04em;color:var(--t1)}
.usdt-coin span{font-size:11px;color:var(--t3);font-weight:600}
.usdt-net{font-size:11px;font-weight:800;letter-spacing:.06em;padding:5px 10px;border-radius:999px;background:var(--up-dim);color:var(--up)}
.usdt-dep-lead{font-size:12.5px;color:var(--t2);line-height:1.7;margin:0 0 14px}
.usdt-dep-lead b{color:var(--t1)}
.usdt-dep-qrbox{display:flex;flex-direction:column;align-items:center;padding:16px 12px 8px;background:var(--bg3);border:1px solid var(--line);border-radius:14px;margin-bottom:14px}
.usdt-dep-qr{width:168px;height:168px;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}
.usdt-dep-qr img{display:block;width:168px;height:168px}
.usdt-dep-qrhint{margin-top:8px;font-size:11px;color:var(--t3);font-weight:600}
.usdt-dep-lab{font-size:11px;color:var(--t3);font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.usdt-dep-addrrow{display:flex;gap:8px;align-items:stretch;margin-bottom:12px}
.usdt-dep-addrrow .dep-addr{flex:1;margin-top:0}
.usdt-dep-addrrow .btn{flex:0 0 auto;height:auto}
.usdt-dep-tips{margin:0 0 14px;padding-left:18px;font-size:12px;color:var(--t3);line-height:1.75}
.usdt-dep-tips li{margin:2px 0}
.usdt-dep .btn-gold{width:100%;margin-top:4px}
@media (max-width:480px){
  .usdt-dep-qr,.usdt-dep-qr img{width:148px;height:148px}
  .usdt-dep-addrrow{flex-direction:column}
}
