:root {
  color-scheme: dark;
  --bg: #0b0e14;
  --panel: rgba(8, 12, 20, 0.30);
  --line: rgba(255,255,255,0.10);
  --text: #f1f5f9;
  /* 原 #94a3b8 太灰看不清，换成更亮的冰蓝并统一霓虹字影 */
  --muted: #b7dcff;
  --cyan: #00e5ff;
  --purple: #7c3aed;
  --ok: #34d399;
  --warn: #fbbf24;
  --bad: #f87171;
  --money: #ff4d4f;
  --money-soft: rgba(255,77,79,.16);
  --text-neon: 0 0 6px rgba(0, 229, 255, 0.28), 0 0 14px rgba(0, 229, 255, 0.12), 0 0 1px rgba(241, 245, 249, 0.45);
  --muted-neon: 0 0 7px rgba(56, 189, 248, 0.42), 0 0 16px rgba(0, 229, 255, 0.18), 0 0 1px rgba(183, 220, 255, 0.5);
}
* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; font-family: "JetBrains Mono", "PingFang SC", "Noto Sans SC", sans-serif; color: var(--text); text-shadow: var(--text-neon); background: #0b0e14; }
body {
  background-image:
    linear-gradient(180deg, rgba(5,7,12,.28), rgba(5,7,12,.40)),
    url("/bg-admin-swordsman.png");
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}
.app {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  min-height: 100vh;
  min-width: 0;
  width: 100%;
  max-width: 100%;
}
html, body {
  min-width: 0;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}
.main { min-width: 0; }
.cards { min-width: 0; }
.grid2 { min-width: 0; }
.side {
  border-right: 1px solid var(--line);
  background: rgba(8,12,20,.32);
  backdrop-filter: blur(12px) saturate(115%);
  -webkit-backdrop-filter: blur(12px) saturate(115%);
  padding: 18px 14px;
  display: flex; flex-direction: column; gap: 18px;
}
.brand { display: flex; gap: 12px; align-items: center; }
.logo {
  width: 42px;
  height: 42px;
  min-width: 42px;
  min-height: 42px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  flex: 0 0 42px;
  background: var(--cyan);
  color: #0b0e14;
  font-weight: 800;
  font-size: 18px;
  line-height: 1;
  box-shadow: 0 0 16px rgba(0,229,255,.22);
  overflow: hidden;
}
.logo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  border-radius: inherit;
}
.brand-name {
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}
.brand-sub {
  color: var(--muted);
  font-size: 12px;
  margin-top: 2px;
  line-height: 1.35;
  white-space: normal;
  word-break: keep-all;
}
/* 主控备注霓虹红 */
.master-note-neon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 88px;
  padding: 4px 10px;
  border-radius: 999px;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: #ff2d55 !important;
  border: 1px solid rgba(255, 45, 85, 0.7);
  background: rgba(255, 45, 85, 0.12);
  box-shadow: 0 0 10px rgba(255, 45, 85, 0.45), 0 0 22px rgba(255, 45, 85, 0.25), inset 0 0 10px rgba(255, 45, 85, 0.15);
  text-shadow: 0 0 8px rgba(255, 45, 85, 0.85), 0 0 16px rgba(255, 45, 85, 0.45);
  animation: master-note-pulse 1.8s ease-in-out infinite;
}
@keyframes master-note-pulse {
  0%, 100% {
    box-shadow: 0 0 10px rgba(255, 45, 85, 0.45), 0 0 22px rgba(255, 45, 85, 0.25), inset 0 0 10px rgba(255, 45, 85, 0.15);
  }
  50% {
    box-shadow: 0 0 16px rgba(255, 45, 85, 0.75), 0 0 30px rgba(255, 45, 85, 0.4), inset 0 0 12px rgba(255, 45, 85, 0.22);
  }
}
.master-owner {
  color: #ffd56a;
  font-weight: 700;
}
.user-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  min-width: 220px;
}
.user-actions .btn {
  white-space: nowrap;
}

/* 账号权限备注输入 */
.user-note-cell {
  min-width: 140px;
  max-width: 220px;
}
.user-note-input {
  width: 100%;
  min-width: 120px;
  box-sizing: border-box;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(8,12,20,.45);
  color: var(--text);
  border-radius: 10px;
  padding: 7px 10px;
  font-size: 12px;
  outline: none;
}
.user-note-input:focus {
  border-color: rgba(0,229,255,.4);
  box-shadow: 0 0 0 2px rgba(0,229,255,.12);
}
.user-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
nav { display: flex; flex-direction: column; gap: 8px; }
nav button {
  text-align: left; border: 1px solid transparent; background: transparent; color: var(--text);
  padding: 10px 12px; border-radius: 10px; cursor: pointer;
}
nav button:hover { border-color: rgba(0,229,255,.25); background: rgba(0,229,255,.06); }
nav button.active { border-color: rgba(0,229,255,.35); background: rgba(0,229,255,.12); color: var(--cyan); }
/* side-foot styles moved to bottom block */
.main { padding: 18px 22px 28px; }
.top { display:flex; justify-content: space-between; gap: 16px; align-items: flex-start; margin-bottom: 16px; }
.top h1 { margin: 0 0 6px; font-size: 24px; }
.top p { margin: 0; color: var(--muted); font-size: 13px; }
.top-right { display:flex; gap: 8px; align-items: center; }
.pill {
  display:inline-flex; align-items:center; padding: 6px 10px; border-radius: 999px;
  border: 1px solid var(--line); background: rgba(255,255,255,.04); color: var(--muted); font-size: 12px;
}
.pill.ok { color: var(--ok); border-color: rgba(52,211,153,.3); }
.pill.accent { color: var(--cyan); border-color: rgba(0,229,255,.3); }
.pill.neon-red,
#quick-ops-meta,
.top-right .pill:not(.ok):not(.accent),
.top-right .btn-logout {
  color: #ff2d55 !important;
  border-color: rgba(255,45,85,.55) !important;
  background: rgba(255,45,85,.08) !important;
  box-shadow: 0 0 10px rgba(255,45,85,.25), inset 0 0 8px rgba(255,45,85,.08);
  text-shadow: 0 0 8px rgba(255,45,85,.45);
}
.top-right .btn-logout:hover {
  background: rgba(255,45,85,.16) !important;
  border-color: rgba(255,45,85,.75) !important;
}
.page { display: none; }
.page.active { display: block; }
.cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.card, .panel {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 16px;
  backdrop-filter: blur(10px) saturate(115%);
  -webkit-backdrop-filter: blur(10px) saturate(115%);
  padding: 14px;
  box-shadow: 0 10px 28px rgba(0,0,0,.18);
}
.card .label { color: var(--muted); font-size: 12px; }
.card .value { font-size: 28px; font-weight: 700; margin: 8px 0 0; color: var(--cyan); text-shadow: 0 0 12px rgba(0,229,255,.18); }
.card .hint { display: none; }
.grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.panel-h { display:flex; justify-content: space-between; align-items:center; margin-bottom: 10px; }
.panel-h h2 { margin: 0; font-size: 16px; }
.panel-scroll {
  min-height: 360px;
  max-height: min(62vh, 560px);
  display: flex;
  flex-direction: column;
}
.scroll-list {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding-right: 4px;
  scrollbar-width: thin;
  scrollbar-color: rgba(0,229,255,.35) transparent;
}
.scroll-list::-webkit-scrollbar { width: 8px; }
.scroll-list::-webkit-scrollbar-thumb {
  background: rgba(0,229,255,.28);
  border-radius: 999px;
}
.list { display:flex; flex-direction: column; gap: 8px; }
.list .item {
  display:flex; justify-content: space-between; gap: 10px; padding: 10px 12px;
  border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.03);
  align-items: center;
}
.list .item .meta { color: var(--muted); font-size: 12px; white-space: nowrap; }
.ops-item { align-items: center; }
.ops-left { min-width: 0; }
.ops-title { font-weight: 600; color: #F8FAFC; }
.ops-actions { display: flex; gap: 6px; flex-shrink: 0; }
.ops-actions .btn { padding: 6px 10px; font-size: 12px; }
.ops-actions .btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
.table { width: 100%; border-collapse: collapse; }
.table th, .table td { text-align: left; padding: 10px 8px; border-bottom: 1px solid var(--line); font-size: 13px; }
.table th { color: var(--muted); font-weight: 600; }
.btn {
  border: 1px solid rgba(0,229,255,.35); background: rgba(0,229,255,.12); color: var(--cyan);
  border-radius: 10px; padding: 8px 12px; cursor: pointer;
}
.btn:hover { background: rgba(0,229,255,.2); }
.btn.ghost { border-color: var(--line); background: transparent; color: var(--muted); }
.btn.danger { border-color: rgba(248,113,113,.35); color: var(--bad); background: rgba(248,113,113,.08); }
.form { display:grid; gap: 12px; max-width: 420px; }
.form label { display:grid; gap: 6px; color: var(--muted); font-size: 13px; }
.form input, .form select {
  border: 1px solid var(--line); background: rgba(0,0,0,.25); color: var(--text);
  border-radius: 10px; padding: 10px 12px;
}
.note { color: var(--muted); font-size: 12px; line-height: 1.6; margin-top: 14px; }
.status-on { color: var(--ok); }
.status-off { color: var(--bad); }
.status-idle { color: var(--warn); }
@media (max-width: 960px) and (hover: none) and (pointer: coarse) {
  .app { grid-template-columns: 1fr; }
  .side { border-right: none; border-bottom: 1px solid var(--line); }
  .cards, .grid2 { grid-template-columns: 1fr; }
  .panel-scroll { max-height: 420px; }
}

/* 水墨轻发光（不抢戏） */
.card, .panel {
  transition: border-color 220ms ease, box-shadow 220ms ease, transform 180ms ease, background 220ms ease;
}
.card:hover, .panel:hover {
  border-color: rgba(232, 213, 168, 0.16);
  box-shadow: 0 0 22px rgba(232, 213, 168, 0.06);
  background: rgba(8, 12, 20, 0.36);
}
.btn {
  transition: box-shadow 220ms ease, background 220ms ease, border-color 220ms ease, transform 180ms ease;
  box-shadow: 0 0 12px rgba(0, 229, 255, 0.08);
}
.btn:hover {
  box-shadow: 0 0 18px rgba(0, 229, 255, 0.18);
  transform: translateY(-1px);
}
.pill.ok {
  box-shadow: 0 0 12px rgba(52, 211, 153, 0.12);
}
.pill.ok::before,
.status-on::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: currentColor;
  margin-right: 6px;
  vertical-align: middle;
  animation: ink-breathe-ok 2.8s ease-in-out infinite;
}
@keyframes ink-breathe-ok {
  0%, 100% { box-shadow: 0 0 4px rgba(52, 211, 153, 0.35); opacity: 0.78; }
  50% { box-shadow: 0 0 10px rgba(52, 211, 153, 0.7); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .pill.ok::before, .status-on::before { animation: none !important; }
  .card:hover, .panel:hover, .btn:hover { transform: none; }
}
/* 最近日志：字号缩小 */
#recent-logs .item {
  padding: 8px 10px;
  font-size: 12px;
  line-height: 1.45;
}
#recent-logs .item > div:first-child {
  font-size: 12px;
  color: #E2E8F0;
}
#recent-logs .item .meta {
  font-size: 11px;
}

/* 快捷操作列表也略收一点 */
#quick-ops .ops-title {
  font-size: 13px;
  font-weight: 600;
}
#quick-ops .meta {
  font-size: 11px;
}
#quick-ops .ops-actions .btn {
  padding: 5px 9px;
  font-size: 11px;
}

/* 顶部说明去掉后，标题区更紧凑 */
.top h1 {
  margin: 0;
  font-size: 22px;
}
.top p#page-desc:empty,
.top p#page-desc[style*="display: none"] {
  display: none !important;
}
/* ===== 账号管理（可展开、可滚动） ===== */
.panel-account {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.account-scroll {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-right: 6px;
  scrollbar-width: thin;
  scrollbar-color: rgba(0,229,255,.45) transparent;
}
.account-scroll::-webkit-scrollbar { width: 8px; }
.account-scroll::-webkit-scrollbar-thumb {
  background: rgba(0,229,255,.28);
  border-radius: 999px;
}
.acct-card {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255,255,255,.03);
  overflow: hidden;
}
.acct-card.is-open {
  border-color: rgba(0,229,255,.22);
  box-shadow: 0 0 18px rgba(0,229,255,.08);
}
.acct-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
}
.acct-title { font-weight: 700; color: #F8FAFC; font-size: 14px; }
.acct-sub { color: var(--muted); font-size: 12px; margin-top: 4px; }
.acct-body {
  border-top: 1px solid rgba(255,255,255,.06);
  padding: 12px 14px 14px;
  max-height: 320px;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}
.acct-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 12px;
  margin-bottom: 12px;
}
.acct-form label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
}
.acct-form input {
  border: 1px solid var(--line);
  background: rgba(0,0,0,.28);
  color: var(--text);
  border-radius: 10px;
  padding: 9px 11px;
  font-size: 12px;
}
.acct-form-actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.auth-box {
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 12px;
  background: rgba(0,0,0,.16);
  padding: 10px;
}
.auth-box-h {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  font-size: 12px;
  color: #CBD5E1;
}
.auth-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 160px;
  overflow-y: auto;
}
.auth-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 10px;
  align-items: center;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.06);
  background: rgba(255,255,255,.03);
}
.auth-name { font-size: 12px; color: var(--text); text-shadow: var(--text-neon); font-weight: 600; }
.auth-addr { font-size: 11px; color: var(--muted); margin-top: 2px; }
.auth-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  color: var(--muted);
  font-size: 11px;
  text-align: right;
}
.empty-tip {
  color: var(--muted);
  font-size: 12px;
  padding: 10px 4px;
}
@media (max-width: 960px) and (hover: none) and (pointer: coarse) {
  .acct-form { grid-template-columns: 1fr; }
  .auth-row { grid-template-columns: 1fr; }
  .auth-meta { text-align: left; }
  /* account panel height handled globally */

}

/* ===== 账号管理：整页滚动（简单可靠） ===== */
html, body {
  height: auto !important;
  min-height: 100% !important;
  overflow-x: hidden !important; /* 缩窗不横滑露残边 */
  overflow-y: auto !important;
}
.app {
  min-height: 100vh !important;
  height: auto !important;
  overflow: visible !important;
}
.main {
  height: auto !important;
  min-height: 100vh !important;
  overflow: visible !important;
  display: block !important;
  padding-bottom: 40px !important;
}
.page {
  display: none !important;
}
.page.active {
  display: block !important;
  height: auto !important;
  overflow: visible !important;
}
#page-projects.page.active,
#page-projects .panel-account,
#page-projects .account-scroll,
#account-manage-list {
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  overflow: visible !important;
  flex: none !important;
}
#page-projects .panel-account {
  display: block !important;
}
#account-manage-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  padding-bottom: 40px !important;
}
/* 展开卡片别裁切 */
.acct-card {
  overflow: visible !important;
}
.acct-body {
  border-top: 1px solid rgba(255,255,255,.06);
  padding: 12px 14px 14px;
  max-height: 320px;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}
/* 账号管理分页 */
.acct-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
}
.page-size-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
}
.page-size-label select {
  border: 1px solid var(--line);
  background: rgba(0,0,0,.28);
  color: var(--text);
  border-radius: 8px;
  padding: 6px 8px;
}
.pager {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,.06);
}
.pager-btn {
  border: 1px solid rgba(0,229,255,.28);
  background: rgba(0,229,255,.08);
  color: #7dd3fc;
  border-radius: 8px;
  padding: 6px 10px;
  cursor: pointer;
  font-size: 12px;
  min-width: 34px;
}
.pager-btn:hover { background: rgba(0,229,255,.16); }
.pager-btn.active {
  background: rgba(0,229,255,.22);
  color: #fff;
  border-color: rgba(0,229,255,.5);
  box-shadow: 0 0 12px rgba(0,229,255,.16);
}
.pager-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.pager-info {
  color: var(--muted);
  font-size: 12px;
  margin-left: 4px;
}
/* 账号查询 */
.acct-search {
  width: min(280px, 42vw);
  border: 1px solid rgba(0,229,255,.28);
  background: rgba(0,0,0,.28);
  color: var(--text);
  border-radius: 10px;
  padding: 8px 12px;
  font-size: 12px;
  outline: none;
}
.acct-search:focus {
  border-color: rgba(0,229,255,.55);
  box-shadow: 0 0 0 1px rgba(0,229,255,.12), 0 0 14px rgba(0,229,255,.14);
}
.acct-search::placeholder { color: #64748B; }
@media (max-width: 960px) and (hover: none) and (pointer: coarse) {
  .acct-toolbar { width: 100%; flex-wrap: wrap; }
  .acct-search { width: 100%; }
}
/* acct-panel-height-cap: 打开后别太长 */
#page-projects .panel-account {
  max-height: calc(100vh - 120px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
#page-projects .account-scroll,
#account-manage-list {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow-y: auto;
  overflow-x: hidden;
  padding-bottom: 8px;
}
#page-projects .pager {
  flex: 0 0 auto;
}
.acct-card.is-open {
  /* 同一时间建议只看一个展开，避免整页被撑爆 */
}
.acct-card .acct-body {
  max-height: min(38vh, 340px) !important;
  overflow-y: auto !important;
}
.acct-card .auth-list {
  max-height: 150px !important;
  overflow-y: auto !important;
}
.acct-body::-webkit-scrollbar,
.auth-list::-webkit-scrollbar,
#account-manage-list::-webkit-scrollbar {
  width: 8px;
}
.acct-body::-webkit-scrollbar-thumb,
.auth-list::-webkit-scrollbar-thumb,
#account-manage-list::-webkit-scrollbar-thumb {
  background: rgba(0,229,255,.35);
  border-radius: 999px;
}
.user-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
.user-actions .meta {
  color: var(--muted);
  font-size: 12px;
}
/* 授权人：完整地址 + 余额 */
.auth-row {
  grid-template-columns: minmax(0, 1.4fr) auto auto !important;
  align-items: start !important;
}
.auth-addr {
  font-size: 11px !important;
  color: var(--muted) !important; text-shadow: var(--muted-neon);
  word-break: break-all !important;
  white-space: normal !important;
  line-height: 1.35;
  margin-top: 3px;
}
.auth-meta .bal {
  color: #34D399;
  font-weight: 600;
}
.auth-meta {
  min-width: 88px;
}

/* 操作日志：加长、字小、详情完整 */
.panel-logs {
  min-height: calc(100vh - 130px);
}
.log-list {
  max-height: calc(100vh - 190px);
  overflow-y: auto;
  padding-right: 4px;
}
.log-item {
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 8px 10px !important;
}
.log-main {
  min-width: 0;
  flex: 1;
}
.log-title {
  font-size: 12px;
  color: #E2E8F0;
  line-height: 1.4;
}
.log-detail {
  margin-top: 3px;
  font-size: 11px;
  color: var(--muted); text-shadow: var(--muted-neon);
  line-height: 1.4;
}
.log-addr {
  margin-top: 3px;
  font-size: 11px;
  color: #7DD3FC;
  word-break: break-all;
  line-height: 1.35;
}
.log-meta {
  display: flex !important;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  font-size: 11px !important;
  white-space: normal !important;
}
.log-acc {
  color: var(--muted); text-shadow: var(--muted-neon);
}
#recent-logs .log-title { font-size: 12px; }
#recent-logs .log-addr { font-size: 10px; }
/* 操作日志：完整地址明细 */
.log-grid {
  margin-top: 6px;
  display: grid;
  gap: 3px;
}
.log-line {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 8px;
  font-size: 11px;
  line-height: 1.4;
}
.log-line .k {
  color: #64748B;
}
.log-line .v {
  color: #CBD5E1;
  word-break: break-all;
}
.log-line .v.mono {
  color: #7DD3FC;
  font-family: "JetBrains Mono", Consolas, monospace;
  font-size: 10.5px;
}

/* 系统设置 */
.form-settings { max-width: 100%; }
.settings-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 14px;
}
.settings-checks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
  margin-top: 4px;
}
.settings-checks .check {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--text);
  font-size: 13px;
}
.settings-checks .check input {
  width: 16px;
  height: 16px;
  accent-color: var(--cyan);
}
.settings-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}
.settings-note { margin-top: 14px; }
body[data-theme="cyber"] {
  --bg: #050b14;
  --panel: rgba(8, 24, 40, 0.30);
  --cyan: #38f0ff;
}
body[data-theme="dark"] {
  --bg: #070707;
  --panel: rgba(18, 18, 18, 0.42);
  --cyan: #9aa4b2;
}
body.compact-mode .card .value { font-size: 22px; }
body.compact-mode .item { padding: 8px 10px; }
body.compact-mode .log-line { font-size: 11px; }
@media (max-width: 900px) and (hover: none) and (pointer: coarse) {
  .settings-grid, .settings-checks { grid-template-columns: 1fr; }
}

/* 真手机才解锁固定宽度，并切竖版布局 */
@media (max-width: 960px) and (hover: none) and (pointer: coarse) {
  html, body, .app { min-width: 0 !important; }
  .app { grid-template-columns: 1fr !important; }
  .side {
    border-right: none !important;
    border-bottom: 1px solid var(--line) !important;
  }
  .cards, .grid2 { grid-template-columns: 1fr !important; }
  .settings-grid, .settings-checks { grid-template-columns: 1fr !important; }
  .acct-form, .auth-row { grid-template-columns: 1fr !important; }
  .auth-meta { text-align: left !important; }
  .acct-toolbar { width: 100% !important; flex-wrap: wrap !important; }
  .acct-search { width: 100% !important; }
  .main { padding: 14px 12px 22px !important; }
}

/* 手机隐藏横滑 */
@media (max-width: 960px) and (hover: none) and (pointer: coarse) {
  html, body { overflow-x: hidden !important; }
}

/* ===== 统一登录门（和总控合成一套） ===== */
.login-gate {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #070a10;
}
.login-gate[hidden] { display: none !important; }
.login-bg-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  filter: saturate(1.05) contrast(1.05);
}
.login-shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(ellipse at 30% 40%, rgba(0,0,0,.10), rgba(0,0,0,.55) 70%),
    linear-gradient(90deg, rgba(5,7,12,.35), rgba(5,7,12,.55));
}
.login-wrap {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(240px, 360px) minmax(300px, 380px);
  gap: 28px;
  align-items: center;
  width: min(860px, calc(100vw - 40px));
  padding: 20px;
}
.login-hero {
  display: grid;
  justify-items: center;
  gap: 14px;
  text-align: center;
}
.login-hero-img {
  width: min(320px, 42vw);
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 18px 40px rgba(0,0,0,.45));
  opacity: 0.96;
}
.login-title {
  margin: 0;
  font-size: clamp(34px, 5vw, 48px);
  letter-spacing: 0.18em;
  font-weight: 800;
  color: #ff2d55;
  text-shadow:
    0 0 6px rgba(255,45,85,.95),
    0 0 18px rgba(255,45,85,.75),
    0 0 36px rgba(255,45,85,.45),
    0 2px 0 rgba(0,0,0,.35);
  font-family: "STKaiti", "KaiTi", "Kaiti SC", "Noto Serif SC", serif;
}
.login-card {
  display: grid;
  gap: 14px;
  padding: 22px 20px 18px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(10, 14, 22, 0.42);
  backdrop-filter: blur(14px) saturate(120%);
  -webkit-backdrop-filter: blur(14px) saturate(120%);
  box-shadow: 0 18px 50px rgba(0,0,0,.35);
}
.login-card-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 4px;
}
.login-mark {
  width: 40px;
  height: 40px;
  object-fit: contain;
  filter: drop-shadow(0 0 10px rgba(248, 113, 113, .35));
}
.login-card-name {
  font-size: 18px;
  font-weight: 700;
  color: #f8fafc;
}
.login-card-sub {
  margin-top: 2px;
  font-size: 12px;
  color: var(--muted); text-shadow: var(--muted-neon);
}
.login-field {
  display: grid;
  gap: 6px;
  color: var(--muted); text-shadow: var(--muted-neon);
  font-size: 13px;
}
.login-field input {
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.28);
  color: var(--text); text-shadow: var(--text-neon);
  border-radius: 12px;
  padding: 12px 14px;
  outline: none;
}
.login-field input:focus {
  border-color: rgba(0,229,255,.5);
  box-shadow: 0 0 0 1px rgba(0,229,255,.12), 0 0 16px rgba(0,229,255,.12);
}
.login-submit {
  width: 100%;
  margin-top: 4px;
  padding: 12px 14px;
  font-size: 15px;
  font-weight: 700;
}
.login-error {
  color: #fca5a5;
  font-size: 12px;
  text-align: center;
}
.btn-logout {
  padding: 6px 10px;
  font-size: 12px;
}
#console-app[hidden] { display: none !important; }

@media (max-width: 900px) and (hover: none) and (pointer: coarse) {
  .login-wrap {
    grid-template-columns: 1fr;
    width: min(420px, calc(100vw - 28px));
  }
  .login-hero-img { width: min(220px, 55vw); }
  .login-title { letter-spacing: 0.12em; }
}

/* 登录门时不要强制桌面最小宽度 */
body.console-login,
body.console-login html {
  min-width: 0 !important;
  overflow-x: hidden !important;
}
body.console-login .app { min-width: 0 !important; }



/* 转账ETH虚拟 - 仅模版，不接真后台 */
.eth-template-cards { margin-bottom: 12px; }
.eth-tpl-small { font-size: 16px !important; word-break: break-all; }
.eth-template-grid { margin-bottom: 12px; }
.eth-box {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255,255,255,.03);
  padding: 14px;
}
.eth-box h3 {
  margin: 0 0 12px;
  font-size: 15px;
}
.eth-box-wide { margin-top: 4px; }
.eth-box .form { max-width: none; }
#eth-tpl-logs .item { font-size: 12px; }


/* ETH虚拟模版：状态+RPC 合框 */
.eth-template-cards {
  display: grid;
  grid-template-columns: minmax(320px, 1.4fr) minmax(180px, 1fr) minmax(180px, 1fr);
}
.eth-status-rpc-card {
  cursor: pointer;
  user-select: none;
}
.eth-status-rpc-card:hover {
  border-color: rgba(0,229,255,.35);
}
.eth-status-rpc-row {
  display: grid;
  grid-template-columns: 0.9fr 1.3fr;
  gap: 14px;
  align-items: start;
}
.eth-rpc-block .eth-tpl-small {
  font-size: 13px !important;
  line-height: 1.35;
  margin-top: 8px;
  word-break: break-all;
}
.eth-copy-hint {
  color: var(--cyan);
  font-size: 11px;
  margin-left: 6px;
}
.eth-amt {
  font-size: 15px !important;
  line-height: 1.45;
  font-weight: 700;
}
/* 桌面不因宽度/缩放改列；仅真手机另处理 */


/* 新增子账号弹窗 */
.modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  padding: 18px;
}
.modal[hidden] { display: none !important; }
.modal-mask {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(4px);
}
.modal-card {
  position: relative;
  z-index: 1;
  width: min(420px, 100%);
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(10, 14, 22, 0.88);
  backdrop-filter: blur(14px) saturate(120%);
  -webkit-backdrop-filter: blur(14px) saturate(120%);
  box-shadow: 0 20px 50px rgba(0,0,0,.45);
  padding: 16px 16px 14px;
}
.modal-h {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}
.modal-h h3 { margin: 0; font-size: 16px; }
.modal-x { padding: 6px 10px; font-size: 12px; }
.modal-form { max-width: none; }
.modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 4px;
}


/* 子账号独立详情页：整页只看一个账号，不拥挤 */
.panel-account-detail {
  min-height: calc(100vh - 120px);
}
.detail-head-left {
  display: flex;
  align-items: center;
  gap: 10px;
}
.detail-head-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.account-detail-body {
  display: grid;
  gap: 14px;
}
.detail-summary {
  display: grid;
  grid-template-columns: minmax(140px, 1fr) minmax(140px, 1fr) minmax(140px, 1fr) minmax(280px, 1.6fr);
  gap: 10px;
  align-items: stretch;
}
.detail-summary .card .value {
  font-size: 18px;
}
.detail-summary .card-detail-inflow {
  min-width: 0;
}
.token-grid-sm {
  gap: 6px 10px;
  margin-top: 8px;
}
.token-grid-sm .token-row {
  padding: 5px 7px;
}
.token-grid-sm .token-val {
  font-size: 15px;
}
.detail-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.detail-form-grid .full-row { grid-column: 1 / -1; }
.detail-auth-panel .auth-list {
  max-height: min(48vh, 420px);
  overflow-y: auto;
}
.detail-auth-panel .auth-row {
  grid-template-columns: minmax(0, 1.6fr) auto auto;
}
/* 详情页桌面固定，不随缩放改列 */

/* layout-fluid: 窗口缩小时跟着变，不再锁死撑出横向丑边 */
html, body {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  max-width: 100% !important;
}
.main {
  min-width: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  overflow-x: hidden !important;
}
.top {
  flex-wrap: wrap;
  gap: 10px;
}
.panel-h {
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: flex-start !important;
}
.panel-h > h2 {
  flex: 0 1 auto;
}
.panel-h > .acct-toolbar,
.panel-h > div,
.panel-h > .detail-head-right {
  min-width: 0;
  max-width: 100%;
}
.acct-toolbar {
  flex-wrap: wrap !important;
  min-width: 0 !important;
  max-width: 100% !important;
  width: auto !important;
  justify-content: flex-end;
}
.acct-search {
  min-width: 0 !important;
  width: min(280px, 100%) !important;
  flex: 1 1 180px;
}
.cards,
.grid2,
.eth-template-cards,
.detail-summary,
.detail-form-grid,
.settings-grid,
.settings-checks,
.eth-template-grid {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
.settings-grid,
.settings-checks {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
}
.eth-template-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
}
.grid2 {
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr)) !important;
}
.cards {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
}
/* 登录页仍可自适应，不受桌面锁影响 */
body.console-login,
body.console-login .app {
  min-width: 0 !important;
  width: 100% !important;
}

/* 总览双卡：入金 + 授权/点击 */
.cards.cards-top2 {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) !important;
  align-items: stretch;
}
.card-inflow,
.card-traffic {
  min-height: 148px;
}
.card-inflow .sub,
.card-traffic .sub {
  margin-top: 10px;
  color: var(--muted);
  font-size: 12px;
}
.token-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 14px;
  margin-top: 10px;
}
.token-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding: 6px 8px;
  border-radius: 10px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.05);
}
.token-name {
  color: var(--muted);
  font-size: 12px;
  letter-spacing: .04em;
}
.token-val {
  color: var(--money);
  font-size: 18px;
  font-weight: 700;
  text-shadow: 0 0 12px rgba(255,77,79,.28);
}
.card-inflow {
  border-color: rgba(255,77,79,.22);
  box-shadow: 0 10px 28px rgba(255,77,79,.08);
}
.card-inflow .label {
  color: #ffb4b4;
}
.card-inflow .token-row {
  border-color: rgba(255,77,79,.12);
  background: rgba(255,77,79,.05);
}
.card-detail-inflow .value,
.card-detail-inflow .value-sm {
  color: var(--money) !important;
  text-shadow: 0 0 12px rgba(255,77,79,.22) !important;
}
.traffic-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 12px;
}
.traffic-item {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.05);
}
.traffic-k {
  color: var(--muted);
  font-size: 12px;
}
.traffic-v {
  margin-top: 6px;
  color: var(--cyan);
  font-size: 28px;
  font-weight: 700;
  text-shadow: 0 0 12px rgba(0,229,255,.16);
}
.card-detail-inflow .value-sm {
  font-size: 14px !important;
  line-height: 1.45;
  margin-top: 8px !important;
}
#quick-ops-meta {
  white-space: nowrap;
  font-size: 12px;
}
/* 我的后台 */
.shop-tip {
  color: var(--muted);
  font-size: 12px;
  margin: 0 0 12px;
}
.shop-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap: 12px;
}
.shop-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 170px;
}
.shop-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.shop-name {
  font-size: 18px;
  font-weight: 700;
}
.shop-meta, .shop-note {
  color: var(--muted);
  font-size: 12px;
}
.shop-actions {
  margin-top: auto;
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
.shop-actions .btn { text-decoration: none; }
.bind-box {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px 12px;
  background: rgba(255,255,255,.03);
}
.bind-title {
  font-size: 13px;
  margin-bottom: 8px;
}
.bind-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
}
/* 总控内嵌业务后台（列表态） */
#page-shops {
  min-height: 0;
}
.panel-shop-work {
  display: flex;
  flex-direction: column;
  padding: 0;
  min-height: 0;
}
.shop-work-h { margin-bottom: 0; }
.shop-work-title {
  display: flex;
  align-items: center;
  gap: 10px;
}
.shop-work-title h2 { margin: 0; font-size: 16px; }
.shop-work-frame-wrap {
  flex: 1 1 auto;
  min-height: 0;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--line);
  background: rgba(0,0,0,.25);
  position: relative;
}
.shop-frame {
  width: 100%;
  height: 100%;
  min-height: 480px;
  border: 0;
  display: block;
  background: #0b0e14;
}

/* shop-embed-mode: 打开后台时只保留 iframe 内一层滚动，外层不再双滚动条 */
body.shop-embed-mode,
body.shop-embed-mode html {
  height: 100% !important;
  overflow: hidden !important;
}
body.shop-embed-mode {
  overflow: hidden !important;
}
body.shop-embed-mode .app {
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 0 !important;
  overflow: hidden !important;
  grid-template-rows: 1fr !important;
}
body.shop-embed-mode .side {
  overflow: auto !important;
  max-height: 100vh !important;
  max-height: 100dvh !important;
}
body.shop-embed-mode .main {
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 0 !important;
  max-height: 100vh !important;
  max-height: 100dvh !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 10px 12px 12px !important;
  padding-bottom: 12px !important;
}
body.shop-embed-mode .top {
  flex: 0 0 auto !important;
  margin-bottom: 8px !important;
}
body.shop-embed-mode .top h1 {
  font-size: 18px !important;
  margin: 0 !important;
}
body.shop-embed-mode #page-desc { display: none !important; }
body.shop-embed-mode #page-shops.page.active {
  display: flex !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: auto !important;
  overflow: hidden !important;
  flex-direction: column !important;
}
body.shop-embed-mode #shops-list-panel[hidden],
body.shop-embed-mode #shop-work-panel[hidden] {
  display: none !important;
}
body.shop-embed-mode #shop-work-panel {
  display: flex !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: rgba(8,12,20,.35) !important;
}
body.shop-embed-mode .shop-work-frame-wrap {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: 100% !important;
  border: 0 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
}
body.shop-embed-mode .shop-frame {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  border: 0 !important;
}

/* 017 页同样单滚动嵌入 */
body.eth017-embed-mode,
body.eth017-embed-mode .app,
body.eth017-embed-mode .main {
  height: 100vh !important;
  height: 100dvh !important;
  overflow: hidden !important;
}
body.eth017-embed-mode .main {
  display: flex !important;
  flex-direction: column !important;
  padding: 10px 12px 12px !important;
}
body.eth017-embed-mode #page-eth-virtual.page.active {
  display: flex !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  flex-direction: column !important;
}
body.eth017-embed-mode #page-eth-virtual .panel {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  margin: 0 !important;
}
body.eth017-embed-mode #page-eth-virtual .eth-017-toolbar {
  flex: 0 0 auto !important;
}
body.eth017-embed-mode #page-eth-virtual .eth-017-wrap {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: auto !important;
  position: relative !important;
  overflow: hidden !important;
}
body.eth017-embed-mode #page-eth-virtual .eth-017-frame {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
}
body.console-subuser .panel-shops {
  /* 子账号列表可更紧凑 */
}

/* 子账号侧栏：只保留头像 + 超凡超越 + 口号，隐藏导航和账号信息 */
body.console-subuser #nav {
  display: none !important;
}
/* side-foot visible for subuser */
body.console-subuser .side {
  /* 只展示品牌区，更干净 */
}
body.console-subuser .side .brand {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  visibility: visible !important;
  opacity: 1 !important;
}
body.console-subuser .side .logo {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
}
body.console-subuser .side .brand-name,
body.console-subuser .side .brand-sub {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
body.console-subuser .side .brand > div {
  display: block !important;
  min-width: 0;
}

/* 子账号：强制只看自己的后台，防刷新露出总控 */
body.console-subuser #page-dashboard,
body.console-subuser #page-projects,
body.console-subuser #page-users,
body.console-subuser #page-logs,
body.console-subuser #page-settings,
body.console-subuser #page-eth-virtual,
body.console-subuser #page-account-detail {
  display: none !important;
}
body.console-subuser #nav button[data-page="dashboard"],
body.console-subuser #nav button[data-page="projects"],
body.console-subuser #nav button[data-page="users"],
body.console-subuser #nav button[data-page="logs"],
body.console-subuser #nav button[data-page="settings"],
body.console-subuser #nav button[data-page="eth-virtual"] {
  display: none !important;
}
body.console-subuser #page-shops.page,
body.console-subuser #page-shops {
  display: block !important;
}
body.console-subuser #page-shops.page.active {
  display: block !important;
}

/* ========== 手机端布局（真手机/窄屏触控） ========== */
.mobile-nav-toggle {
  display: none;
}
@media (max-width: 960px) and (hover: none) and (pointer: coarse),
       (max-width: 820px) {
  html, body, .app {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  html, body {
    overflow-x: hidden !important;
  }
  .app {
    display: block !important;
    grid-template-columns: 1fr !important;
  }

  /* 顶栏菜单按钮 */
  .mobile-nav-toggle {
    display: inline-flex !important;
    position: sticky;
    top: 8px;
    z-index: 30;
    width: 100%;
    justify-content: center;
    min-height: 44px;
    margin-bottom: 10px;
  }

  /* 侧栏变顶部折叠菜单 */
  .side {
    position: sticky;
    top: 0;
    z-index: 40;
    border-right: none !important;
    border-bottom: 1px solid var(--line) !important;
    padding: 10px 12px 12px !important;
    background: rgba(8,12,20,.82) !important;
    backdrop-filter: blur(14px) saturate(120%);
    -webkit-backdrop-filter: blur(14px) saturate(120%);
  }
  .side .brand {
    margin-bottom: 6px;
  }
  .side nav {
    display: none;
    gap: 8px !important;
  }
  body.mobile-nav-open .side nav {
    display: flex !important;
    flex-direction: column;
    margin-top: 8px;
  }
  .side nav button {
    min-height: 46px !important;
    font-size: 15px !important;
    padding: 12px 14px !important;
    border-radius: 12px !important;
  }
  .side-foot {
    display: none;
  }
  body.mobile-nav-open .side-foot {
    display: block;
    margin-top: 10px;
    font-size: 12px;
    line-height: 1.5;
  }

  .main {
    padding: 12px 12px 28px !important;
    min-width: 0 !important;
  }
  .top {
    flex-wrap: wrap;
    gap: 8px;
  }
  .top h1 {
    font-size: 20px !important;
  }
  .top-right {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }
  .top-right .btn,
  .top-right .pill {
    min-height: 40px;
  }

  /* 卡片/面板一列 */
  .cards,
  .cards.cards-top2,
  .cards.cards-3,
  .cards.cards-1,
  .grid2,
  .shop-grid,
  .token-grid,
  .traffic-grid,
  .settings-grid,
  .settings-checks,
  .detail-summary,
  .detail-form-grid,
  .eth-template-cards,
  .eth-template-grid {
    grid-template-columns: 1fr !important;
  }

  .card .value,
  .traffic-v,
  .token-val {
    font-size: 22px !important;
  }
  .token-row,
  .traffic-item {
    min-height: 48px;
  }

  /* 按钮更好点 */
  .btn,
  button.btn,
  .ops-actions .btn,
  .shop-actions .btn {
    min-height: 44px !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
  }
  .ops-item {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }
  .ops-actions {
    width: 100%;
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  /* 列表滚动区别太矮；最近日志单独保留内部滚动 */
  .panel-scroll {
    min-height: 280px !important;
    max-height: none !important;
  }
  .panel-scroll.panel-recent-logs {
    min-height: 260px !important;
    max-height: min(68vh, 560px) !important;
  }
  .scroll-list:not(#recent-logs) {
    max-height: none !important;
  }
  #recent-logs.scroll-list,
  #recent-logs {
    max-height: min(46vh, 360px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-y !important;
  }

  /* 账号管理 */
  .acct-toolbar {
    width: 100% !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .acct-search,
  .page-size-label,
  .acct-toolbar .btn {
    width: 100% !important;
  }
  .auth-row {
    grid-template-columns: 1fr !important;
  }
  .auth-meta {
    text-align: left !important;
  }

  /* 登录门手机版 */
  .login-wrap {
    grid-template-columns: 1fr !important;
    width: min(440px, calc(100vw - 24px)) !important;
    gap: 14px !important;
    padding: 12px !important;
  }
  .login-hero-img {
    width: min(180px, 46vw) !important;
  }
  .login-title {
    font-size: 28px !important;
    letter-spacing: 0.12em !important;
  }
  .login-card {
    padding: 16px !important;
  }
  .login-field input,
  .login-submit {
    min-height: 46px !important;
    font-size: 16px !important; /* 防 iOS 自动放大 */
  }

  /* 内嵌后台：手机全屏更好操作 */
  body.shop-embed-mode .main { padding: 8px !important; }
  body.shop-embed-mode .top h1 { font-size: 16px !important; }
  #page-shops {
    min-height: 0 !important;
  }
  .panel-shop-work {
    min-height: 0 !important;
    padding: 0 !important;
    border-radius: 12px !important;
  }
  .shop-work-h {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
  }
  .shop-work-title {
    flex-wrap: wrap;
    gap: 8px !important;
  }
  .shop-work-title h2 {
    font-size: 15px !important;
  }
  .shop-work-actions {
    width: 100%;
  }
  .shop-work-actions .btn,
  #btn-shop-back,
  #btn-shop-reload {
    width: 100%;
  }
  .shop-work-frame-wrap {
    min-height: 0 !important;
    border-radius: 10px !important;
  }
  body:not(.shop-embed-mode) .shop-frame {
    height: 70vh !important;
    min-height: 70dvh !important;
  }
  .shop-card {
    min-height: auto !important;
  }
  .shop-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  /* 子弹全宽 */
  .modal-card {
    width: min(96vw, 480px) !important;
    max-height: 88dvh !important;
    overflow: auto !important;
  }

  /* 子账号手机：更干净 */
  body.console-subuser .side .brand-sub {
    font-size: 11px;
  }
  body.console-subuser .main {
    padding-top: 8px !important;
  }
}
/* 内嵌后台与总控融合 */
.panel-shop-work {
  background: rgba(8,12,20,.22) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: none !important;
}
.shop-work-frame-wrap.shop-frame-wrap-blend,
.shop-work-frame-wrap {
  background: transparent !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: inset 0 0 0 1px rgba(0,229,255,.05);
}
.shop-frame {
  background: transparent !important;
}
/* shop-work-chrome-hidden: 内嵌后台时去掉多余顶栏 */
#shop-work-panel.shop-bare .shop-work-h {
  display: none !important;
}
#shop-work-panel.shop-bare {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  min-height: calc(100vh - 100px);
}
#shop-work-panel.shop-bare .shop-work-frame-wrap {
  min-height: calc(100vh - 110px);
  border: 0;
  border-radius: 16px;
}
#page-eth-virtual .eth-017-wrap {
  min-height: calc(100vh - 160px);
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--line);
  background: rgba(0,0,0,.22);
}
#page-eth-virtual .eth-017-frame {
  width: 100%;
  height: calc(100vh - 170px);
  min-height: 720px;
  border: 0;
  display: block;
  background: transparent;
}
#page-eth-virtual .eth-017-toolbar {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
#page-eth-virtual .eth-017-toolbar .left {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
/* fluid-window-fix-20260717: 所有面板跟着窗口变，不露横向残边 */
html, body, .app, .main, .page, .panel, .card, .panel-account, .panel-account-detail {
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.app {
  grid-template-columns: 240px minmax(0, 1fr) !important;
  min-width: 0 !important;
  width: 100% !important;
}
.main, .page.active, .panel, .panel-account, #page-projects .panel-account {
  min-width: 0 !important;
  overflow-x: hidden !important;
}
#page-projects .panel-account,
#page-users .panel,
#page-logs .panel,
#page-settings .panel,
#page-dashboard .panel,
#page-eth-virtual .panel,
#page-shops .panel {
  width: 100% !important;
  max-width: 100% !important;
}
.panel-h {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 10px !important;
}
.acct-toolbar {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
.acct-search {
  flex: 1 1 160px !important;
  min-width: 0 !important;
  max-width: 100% !important;
  width: auto !important;
}
.page-size-label,
.acct-toolbar .btn,
#btn-refresh-accounts {
  flex: 0 0 auto !important;
}
.top-right {
  flex-wrap: wrap !important;
  max-width: 100% !important;
}
.cards.cards-top2 {
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr)) !important;
}
.table-wrap, .table {
  max-width: 100% !important;
}
.table {
  display: block;
  overflow-x: auto;
}
.shop-grid {
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr)) !important;
}
#page-eth-virtual .eth-017-toolbar {
  flex-wrap: wrap !important;
}
#page-eth-virtual .eth-017-frame {
  width: 100% !important;
  max-width: 100% !important;
}
.ops-item {
  max-width: 100% !important;
}
.ops-left { min-width: 0 !important; overflow-wrap: anywhere; }

/* 中等宽度桌面：侧栏仍在，内容自动收 */
@media (max-width: 1100px) {
  .app {
    grid-template-columns: 200px minmax(0, 1fr) !important;
  }
  .main { padding: 14px 14px 24px !important; }
  .grid2,
  .eth-template-grid,
  .cards.cards-top2 {
    grid-template-columns: 1fr !important;
  }
  .acct-toolbar {
    width: 100% !important;
    justify-content: stretch !important;
  }
  .acct-search,
  .page-size-label,
  .acct-toolbar .btn,
  #btn-refresh-accounts {
    width: 100% !important;
  }
  .panel-h {
    flex-direction: column !important;
    align-items: stretch !important;
  }
}

/* 更窄：侧栏改顶栏流式，不再横向撑破 */
@media (max-width: 820px) {
  html, body, .app {
    min-width: 0 !important;
    width: 100% !important;
    overflow-x: hidden !important;
  }
  .app {
    display: flex !important;
    flex-direction: column !important;
  }
  .side {
    width: 100% !important;
    border-right: none !important;
    border-bottom: 1px solid var(--line) !important;
  }
  .main {
    width: 100% !important;
    min-width: 0 !important;
    padding: 12px !important;
  }
  .top {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .top-right {
    justify-content: flex-start !important;
  }
  .cards,
  .cards.cards-top2,
  .grid2,
  .settings-grid,
  .settings-checks,
  .shop-grid {
    grid-template-columns: 1fr !important;
  }
}
/* 嵌入态轻量操作条：不制造第二套页面滚动 */
.shop-float-bar {
  display: none;
}
body.shop-embed-mode .shop-float-bar {
  display: flex !important;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  padding: 6px 10px;
  flex: 0 0 auto !important;
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: rgba(8,12,20,.55);
  backdrop-filter: blur(10px);
}
.shop-float-left {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 1 auto;
  min-width: 0;
  margin-right: auto;
}
body.shop-embed-mode .shop-float-bar .btn {
  min-height: 34px;
  padding: 6px 12px;
  font-size: 12px;
}
/* 浮条左侧：该账号入金，上下两行 */
.shop-float-inflow {
  display: none;
  flex: 1 1 auto;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  line-height: 1.25;
}
body.shop-embed-mode .shop-float-inflow:not([hidden]) {
  display: flex !important;
}
.shop-float-line {
  display: flex;
  align-items: baseline;
  gap: 6px;
  font-size: 11px;
  color: #cbd5e1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.shop-float-line .t {
  color: var(--muted); text-shadow: var(--muted-neon);
  min-width: 2.6em;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.shop-float-line b {
  color: #ff6b7a;
  font-size: 13px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.shop-float-slogan {
  display: none;
  flex: 0 0 auto;
  min-width: 0;
  margin: 0;
  padding: 0;
  text-align: left;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.14em;
  white-space: nowrap;
  color: #ff2d4a;
  text-shadow:
    0 0 4px rgba(255, 40, 70, 0.95),
    0 0 10px rgba(255, 20, 60, 0.85),
    0 0 18px rgba(255, 0, 80, 0.55),
    0 0 28px rgba(255, 0, 90, 0.35);
  animation: shop-neon-pulse 1.8s ease-in-out infinite;
}
body.shop-embed-mode .shop-float-slogan {
  display: block !important;
}
body.shop-embed-mode .shop-float-inflow:not([hidden]) {
  flex: 0 0 auto !important;
  max-width: none;
}
body.shop-embed-mode .shop-float-actions {
  margin-left: 0 !important;
  flex: 0 0 auto !important;
}
@keyframes shop-neon-pulse {
  0%, 100% {
    color: #ff3b5c;
    text-shadow:
      0 0 4px rgba(255, 45, 75, 0.95),
      0 0 10px rgba(255, 20, 60, 0.8),
      0 0 18px rgba(255, 0, 80, 0.5),
      0 0 28px rgba(255, 0, 90, 0.3);
    opacity: 1;
  }
  50% {
    color: #ff6b88;
    text-shadow:
      0 0 6px rgba(255, 80, 110, 1),
      0 0 14px rgba(255, 40, 80, 0.95),
      0 0 24px rgba(255, 0, 90, 0.7),
      0 0 36px rgba(255, 0, 110, 0.45);
    opacity: 0.92;
  }
}
.shop-float-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex: 0 0 auto;
  margin-left: auto;
}
body.console-subuser.shop-embed-mode .shop-float-bar {
  /* 子账号只有一个后台时，返回列表意义不大，只留重新载入 */
}
/* 桌面嵌入：主控可藏品牌，子账号必须显示 */
body.console-master.shop-embed-mode .side .brand {
  /* 桌面侧栏还在，品牌可留；手机 media 里另有隐藏 */
}
body.console-subuser.shop-embed-mode .side .brand {
  display: flex !important;
  visibility: visible !important;
}
body.console-subuser.shop-embed-mode #btn-shop-float-back {
  display: none !important;
}

/* 账号打开后台后的顶部摘要：角色/状态/授权/入金（按链） */
.shop-account-summary {
  flex: 0 0 auto;
  margin: 0 0 8px;
  padding: 10px 12px;
  border: 1px solid rgba(255, 80, 90, 0.22);
  border-radius: 14px;
  background: rgba(10, 14, 22, 0.42);
  backdrop-filter: blur(12px);
}
.shop-account-summary[hidden] { display: none !important; }
.shop-summary-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}
.shop-summary-title {
  font-size: 14px;
  font-weight: 700;
  color: #ffe4e6;
  text-shadow: 0 0 10px rgba(255, 60, 80, 0.35);
}
.shop-summary-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.shop-summary-grid {
  display: grid;
  /* 前三格收窄，入金加宽：金额多了也看得清 */
  grid-template-columns: minmax(72px, 0.7fr) minmax(68px, 0.6fr) minmax(68px, 0.6fr) minmax(200px, 2.4fr);
  gap: 8px;
  align-items: stretch;
}
.shop-summary-grid .card {
  padding: 8px 10px;
  min-height: 72px;
  min-width: 0;
}
.shop-summary-grid .card:not(.card-detail-inflow) .label {
  font-size: 11px;
}
.shop-summary-grid .card:not(.card-detail-inflow) .value,
.shop-summary-grid .card:not(.card-detail-inflow) .value-sm {
  font-size: 13px;
  line-height: 1.25;
  word-break: break-word;
}
.shop-summary-grid .value-sm {
  font-size: 13px;
  line-height: 1.25;
}
.shop-summary-grid .card-detail-inflow {
  min-width: 0;
  overflow: hidden;
}
.shop-summary-grid .card-detail-inflow .label {
  font-size: 11px;
  margin-bottom: 4px;
}
.shop-summary-grid .token-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 12px;
  margin-top: 2px;
}
.shop-summary-grid .token-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  min-width: 0;
}
.shop-summary-grid .token-name {
  font-size: 11px;
  opacity: 0.8;
  letter-spacing: 0.02em;
}
.shop-summary-grid .token-val {
  font-size: 16px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.01em;
  color: #ff6b7a;
  word-break: break-all;
  line-height: 1.15;
  max-width: 100%;
}
body.shop-embed-mode #shop-account-summary {
  margin: 0 0 6px;
}
body.shop-embed-mode #shop-work-panel {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
}
body.shop-embed-mode #shop-work-panel .shop-work-frame-wrap {
  flex: 1 1 auto !important;
  min-height: 0 !important;
}
@media (max-width: 1100px) {
  .shop-summary-grid {
    grid-template-columns: minmax(70px, 0.75fr) minmax(64px, 0.65fr) minmax(64px, 0.65fr) minmax(180px, 2.1fr);
  }
  .shop-summary-grid .token-val { font-size: 15px; }
}
@media (max-width: 900px) {
  .shop-summary-grid {
    grid-template-columns: 1fr 1fr;
  }
  .shop-summary-grid .card-detail-inflow {
    grid-column: 1 / -1;
  }
  .shop-summary-grid .token-val { font-size: 16px; }
}
@media (max-width: 560px) {
  .shop-summary-grid { grid-template-columns: 1fr; }
  .shop-summary-grid .card-detail-inflow { grid-column: auto; }
  .shop-summary-title { font-size: 13px; }
  .shop-summary-grid .token-grid-2 { grid-template-columns: 1fr 1fr; }
}






/* OUTER-LOCK-INNER-SCROLL：大窗口/外层不滚，只让 iframe 里的 015/016 滚 */
html.shop-embed-mode,
body.shop-embed-mode {
  height: 100% !important;
  max-height: 100dvh !important;
  overflow: hidden !important;
  overscroll-behavior: none !important;
}
body.shop-embed-mode .app {
  height: 100dvh !important;
  max-height: 100dvh !important;
  min-height: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: row !important;
}
body.shop-embed-mode .side {
  flex: 0 0 auto !important;
  max-height: 100dvh !important;
  overflow: auto !important;
}
body.shop-embed-mode .main {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: 100dvh !important;
  max-height: 100dvh !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 10px 12px !important;
}
body.shop-embed-mode .top {
  flex: 0 0 auto !important;
  margin-bottom: 8px !important;
}
body.shop-embed-mode #page-shops.page.active {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  min-height: 0 !important;
  height: auto !important;
  overflow: hidden !important;
}
body.shop-embed-mode #shop-work-panel,
body.shop-embed-mode #shop-work-panel.shop-bare {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
}
body.shop-embed-mode #shop-account-summary {
  flex: 0 0 auto !important;
  margin: 0 0 8px !important;
  overflow: hidden !important;
}
body.shop-embed-mode .shop-float-bar {
  flex: 0 0 auto !important;
}
body.shop-embed-mode .shop-work-frame-wrap,
body.shop-embed-mode #shop-work-panel.shop-bare .shop-work-frame-wrap {
  position: relative !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
}
body.shop-embed-mode .shop-frame {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  border: 0 !important;
  display: block !important;
}

/* 手机：侧栏收成菜单按钮，摘要略压缩，但完整四格保留 */
@media (max-width: 900px) {
  body.shop-embed-mode .app {
    flex-direction: column !important;
  }
  body.shop-embed-mode .side {
    width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 6px 8px !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
  }
  body.shop-embed-mode .side-foot {
    display: none !important;
  }
  /* 手机窄屏：主控嵌入可收品牌；子账号保留头像+口号 */
  body.console-master.shop-embed-mode .side .brand {
    display: none !important;
  }
  body.console-subuser.shop-embed-mode .side .brand {
    display: flex !important;
  }
  body.shop-embed-mode:not(.mobile-nav-open) .side nav {
    display: none !important;
  }
  body.shop-embed-mode .mobile-nav-toggle {
    display: inline-flex !important;
    width: 100% !important;
    min-height: 38px !important;
    margin: 0 !important;
  }
  body.shop-embed-mode.mobile-nav-open .side nav {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    margin-top: 8px !important;
  }
  body.shop-embed-mode .main {
    height: auto !important;
    max-height: none !important;
    flex: 1 1 auto !important;
    padding: 6px !important;
  }
  body.shop-embed-mode .top {
    margin-bottom: 6px !important;
  }
  body.shop-embed-mode .top h1 {
    font-size: 14px !important;
  }
  body.shop-embed-mode #shop-account-summary {
    padding: 8px 10px !important;
    margin-bottom: 6px !important;
  }
  body.shop-embed-mode .shop-summary-title {
    font-size: 12px !important;
  }
  body.shop-embed-mode .shop-summary-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
  }
  body.shop-embed-mode .shop-summary-grid .card {
    min-height: 0 !important;
    padding: 6px 8px !important;
  }
  body.shop-embed-mode .shop-summary-grid .card-detail-inflow {
    grid-column: 1 / -1 !important;
  }
  body.shop-embed-mode .shop-summary-grid .value,
  body.shop-embed-mode .shop-summary-grid .value-sm {
    font-size: 13px !important;
  }
  body.shop-embed-mode .shop-summary-grid .token-val {
    font-size: 15px !important;
  }
  body.shop-embed-mode .shop-float-bar {
    padding: 6px 8px !important;
  }
}


/* LIST-SUMMARY-NO-EMBED-BAR */
/* 概况放在账号列表；打开后台不显示摘要条 */
body.shop-embed-mode #shop-account-summary {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
}
body.shop-embed-mode .shop-float-bar {
  flex: 0 0 auto !important;
  margin: 0 0 6px !important;
}
/* 手机打开后台：标题条再瘦一点，iframe 更大 */
@media (max-width: 900px) {
  body.shop-embed-mode .top h1 {
    font-size: 13px !important;
  }
  body.shop-embed-mode .top-right .pill {
    font-size: 11px !important;
    min-height: 28px !important;
    padding: 2px 8px !important;
  }
  body.shop-embed-mode .shop-float-bar {
    gap: 6px !important;
    padding: 5px 8px !important;
  }
  body.shop-embed-mode .shop-float-bar .btn {
    min-height: 32px !important;
    padding: 5px 10px !important;
    font-size: 11px !important;
  }
  body.shop-embed-mode .shop-float-line {
    font-size: 10px !important;
  }
  body.shop-embed-mode .shop-float-line b {
    font-size: 12px !important;
  }
  body.shop-embed-mode .shop-float-left {
    gap: 6px !important;
  }
  body.shop-embed-mode .shop-float-slogan {
    font-size: 12px !important;
    letter-spacing: 0.1em !important;
    margin: 0 !important;
  }
  body.shop-embed-mode .shop-work-frame-wrap {
    min-height: 55vh !important;
  }
}

/* 账号管理列表：概况卡片 */
.acct-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 12px 14px;
  margin-bottom: 10px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  background: rgba(8,12,20,.40);
  backdrop-filter: blur(10px);
}
.acct-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}
.acct-title {
  font-size: 15px;
  font-weight: 700;
  color: #f8fafc;
}
.acct-sub {
  margin-top: 4px;
  font-size: 12px;
  color: var(--muted); text-shadow: var(--muted-neon);
}
.acct-stats {
  display: grid;
  grid-template-columns: minmax(72px, 0.8fr) minmax(68px, 0.7fr) minmax(68px, 0.7fr) minmax(160px, 2fr);
  gap: 8px;
}
.acct-stat {
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(6,10,18,.45);
  min-width: 0;
}
.acct-stat .k {
  font-size: 11px;
  color: var(--muted); text-shadow: var(--muted-neon);
  margin-bottom: 4px;
}
.acct-stat .v {
  font-size: 14px;
  font-weight: 650;
  color: #e2e8f0;
  word-break: break-word;
}
.acct-stat-in .acct-inflow {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
.acct-stat-in .acct-inflow span {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  min-width: 140px;
  font-size: 12px;
  color: #cbd5e1;
}
.acct-stat-in .acct-inflow b {
  color: #ff6b7a;
  font-size: 16px;
  font-variant-numeric: tabular-nums;
  margin-left: 0;
}
.acct-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}
@media (max-width: 900px) {
  .acct-stats {
    grid-template-columns: 1fr 1fr;
  }
  .acct-stat-in {
    grid-column: 1 / -1;
  }
  .acct-head {
    flex-direction: column;
  }
  .acct-right,
  .acct-actions {
    width: 100%;
  }
  .acct-right .btn,
  .acct-actions .btn {
    flex: 1 1 auto;
  }
}


/* ETH017-NATIVE-UI：总控原生接入 017，不再 iframe */
#page-eth-virtual .eth017-native-panel {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
#page-eth-virtual .eth017-status-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
#page-eth-virtual .eth017-stat {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 12px;
  background: rgba(0,0,0,.22);
  padding: 10px 12px;
  min-width: 0;
}
#page-eth-virtual .eth017-stat .k {
  color: var(--muted);
  font-size: 12px;
  margin-bottom: 6px;
}
#page-eth-virtual .eth017-stat .v {
  color: #e2e8f0;
  font-size: 13px;
  line-height: 1.35;
  word-break: break-all;
}
#page-eth-virtual .eth017-stat .v.mono {
  font-family: "JetBrains Mono", Consolas, monospace;
  font-size: 12px;
  color: #7dd3fc;
}
#page-eth-virtual .eth017-toolbar {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
#page-eth-virtual .eth017-toolbar .left,
#page-eth-virtual .eth017-toolbar .right {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
#page-eth-virtual .eth017-forms {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
#page-eth-virtual .eth017-card {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  background: rgba(8,12,20,.36);
  padding: 12px;
  display: grid;
  gap: 10px;
}
#page-eth-virtual .eth017-card h3 {
  margin: 0;
  font-size: 14px;
}
#page-eth-virtual .eth017-card label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
}
#page-eth-virtual .eth017-card input,
#page-eth-virtual .eth017-card select {
  border: 1px solid var(--line);
  background: rgba(0,0,0,.28);
  color: var(--text);
  border-radius: 10px;
  padding: 9px 11px;
  font-size: 12px;
}
#page-eth-virtual .eth017-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
#page-eth-virtual .eth017-bal {
  display: grid;
  gap: 4px;
  color: #cbd5e1;
  font-size: 13px;
}
#page-eth-virtual .eth017-bal b {
  color: #ff6b7a;
  font-variant-numeric: tabular-nums;
}
#page-eth-virtual .eth017-result {
  border: 1px solid rgba(0,229,255,.18);
  border-radius: 12px;
  background: rgba(0,229,255,.06);
  padding: 10px 12px;
  color: #dbeafe;
  font-size: 13px;
  line-height: 1.45;
  word-break: break-word;
}
#page-eth-virtual .eth017-result.ok {
  border-color: rgba(52,211,153,.28);
  background: rgba(52,211,153,.08);
  color: #bbf7d0;
}
#page-eth-virtual .eth017-result.bad {
  border-color: rgba(248,113,113,.28);
  background: rgba(248,113,113,.08);
  color: #fecaca;
}
#page-eth-virtual .eth017-log-box {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  background: rgba(0,0,0,.16);
  padding: 10px 12px;
}
#page-eth-virtual .eth017-log-box .list {
  max-height: 240px;
  overflow: auto;
}
/* 旧 iframe 样式不再使用，防止残留高度把页撑坏 */
#page-eth-virtual .eth-017-frame,
#page-eth-virtual .eth-017-wrap {
  display: none !important;
}
@media (max-width: 1100px) {
  #page-eth-virtual .eth017-status-grid,
  #page-eth-virtual .eth017-forms {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 820px) {
  #page-eth-virtual .eth017-status-grid,
  #page-eth-virtual .eth017-forms {
    grid-template-columns: 1fr;
  }
}


/* ETH017 排序：状态 → 工具 → 查/发/收 三列 → 结果 → 记录 */
#page-eth-virtual .eth017-forms-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
#page-eth-virtual .eth017-card .field-hint {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}
@media (max-width: 1100px) {
  #page-eth-virtual .eth017-forms-3 {
    grid-template-columns: 1fr;
  }
}

/* 嵌入后台透明：透出总控背景 */
iframe#shop-frame,
#shop-frame,
.shop-frame,
.shop-work-frame-wrap,
#shop-work-panel .shop-work-frame-wrap,
body.shop-embed-mode #shop-work-panel,
body.shop-embed-mode #shop-work-panel.shop-bare {
  background: transparent !important;
  background-color: transparent !important;
}
iframe#shop-frame {
  color-scheme: dark;
}

/* ===== 总控原生后台（对齐转账ETH虚拟原生面板规格） ===== */
.panel-shop-work,
#shop-work-panel.shop-bare,
#shop-work-panel.shop-bare.panel {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  min-height: 0 !important;
}
#shop-work-panel.shop-bare .shop-work-h {
  display: none !important;
}
.shop-native-wrap {
  position: relative;
  display: block;
  min-height: 0;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.shop-native {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  overflow: visible;
  height: auto !important;
  min-height: 0;
  padding: 0;
  background: transparent !important;
  color: var(--text);
}
.shop-native-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 12px;
}
.shop-native-title {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.shop-native-sub {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
}
.shop-native-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}
.shop-native-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
}
.shop-native-grid > .shop-native-col-left {
  grid-column: 1;
  grid-row: 1;
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 12px;
  align-self: stretch;
  min-height: 100%;
  height: 100%;
}
.shop-native-grid > .shop-native-col-right {
  grid-column: 2;
  grid-row: 1;
  display: grid;
  grid-template-rows: auto minmax(180px, 1fr);
  gap: 12px;
  align-content: stretch;
  align-self: stretch;
  min-width: 0;
  min-height: 100%;
  height: 100%;
}
.shop-native-grid > .shop-native-card-token {
  grid-column: auto;
  grid-row: auto;
  align-self: start;
}
.shop-native-grid > .shop-native-card-results {
  grid-column: 1 / -1;
  grid-row: 2;
}

.shop-native-col-left {
  display: grid;
  gap: 12px;
  align-content: stretch;
  align-items: stretch;
  min-width: 0;
  min-height: 100%;
  height: 100%;
}
.shop-native-card {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  background: rgba(8,12,20,.36);
  box-shadow: none;
  padding: 12px;
  display: grid;
  gap: 10px;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;

  min-width: 0;
}
.shop-native-card-wallet,
.shop-native-card-amount,
.shop-native-card-token {
  align-content: start;
}
.shop-native-card-wide,
.shop-native-card-results {
  grid-column: 1 / -1;
}
/* 排序：左 1钱包+3额度 / 右 2代币 / 底 4记录 */
.shop-native-col-left {
  display: grid;
  gap: 12px;
  grid-template-columns: 1fr;
  align-content: start;
  min-width: 0;
}
.shop-native-card-amount {
  grid-column: auto;
  align-self: start;
}
.shop-native-card h3 {
  margin: 0;
  font-size: 14px;
  font-weight: 650;
}
.shop-native-card-h {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.shop-native-card-h h3 { margin: 0; }
.shop-native-form {
  display: grid;
  gap: 10px;
}
.shop-native-form label {
  display: grid;
  gap: 6px;
  font-size: 12px;
  color: var(--muted);
}
.shop-native-form input {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(0,0,0,.28);
  color: var(--text);
  padding: 9px 11px;
  font-size: 12px;
  outline: none;
}
.shop-native-form input:focus {
  border-color: rgba(0,229,255,.45);
  box-shadow: 0 0 0 3px rgba(0,229,255,.10);
}
.shop-native-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.shop-native-results {
  display: grid;
  gap: 10px;
}
.shop-native-result-item {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  background: rgba(0,0,0,.16);
  padding: 12px;
}
.shop-native-log {
  max-height: 220px;
  overflow: auto;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  background: rgba(0,0,0,.16);
  padding: 10px 12px;
  font-size: 12px;
  line-height: 1.5;
}
.shop-native-log-item { padding: 3px 0; color: #cbd5e1; }
.shop-native-log-item .t { color: #64748b; margin-right: 6px; }
.shop-native-log-item.ok { color: #4ade80; }
.shop-native-log-item.warn { color: #fbbf24; }
.shop-native-log-item.error { color: #fb7185; }
.btn.danger-like,
button.danger-like {
  border-color: rgba(248,113,113,.35) !important;
  color: #fecaca !important;
}
/* 旧独立返回条规则已废弃，见下方合并顶栏 */
@media (max-width: 980px) {
  .shop-native-grid { grid-template-columns: 1fr; }
  .shop-native-grid > .shop-native-col-left,
  .shop-native-grid > .shop-native-col-right,
  .shop-native-grid > .shop-native-card-results {
    grid-column: 1 / -1;
    grid-row: auto;
  }
  .shop-native-col-left,
  .shop-native-col-right { grid-column: 1 / -1; }
  .shop-native-card-token { grid-column: 1 / -1; }
  .shop-native-card-art { min-height: 160px; }
  .shop-native-head { flex-direction: column; }
  .shop-native-pills { justify-content: flex-start; }
}


/* 原生后台顶栏合并：状态胶囊 + 返回/重载同一行，去掉标题块 */
#shop-work-panel:not([hidden]) .shop-float-bar,
#shop-work-panel .shop-native-head {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin: 0 0 12px !important;
  padding: 8px 10px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 14px !important;
  background: rgba(8,12,20,.36) !important;
  box-shadow: none !important;
  backdrop-filter: blur(8px);
}
.shop-native-head .shop-native-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-start;
  flex: 1 1 auto;
  min-width: 0;
}
.shop-native-head-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex: 0 0 auto;
}
.shop-native-title,
.shop-native-sub {
  display: none !important;
}
/* 旧独立浮条结构已并入 head，避免再多一层空条 */
#shop-work-panel > .shop-float-bar:not(.shop-native-head) {
  display: none !important;
}
/* .shop-float-slogan hide removed: now used in shop top bar */
.shop-float-inflow:not([hidden]) {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
@media (max-width: 820px) {
  .shop-native-head {
    flex-direction: column;
    align-items: stretch;
  }
  .shop-native-head-actions {
    justify-content: flex-end;
  }
}


/* 账号管理：只保留入金块 */
.acct-stats-inflow-only {
  display: grid !important;
  grid-template-columns: 1fr !important;
}
.acct-stats-inflow-only .acct-stat-in {
  grid-column: 1 / -1;
}
/* 接入后台顶栏：只留操作按钮 */
.shop-native-head-actions-only {
  justify-content: flex-end !important;
}
/* old head-actions-only hide neutralized */


/* 账号卡头部信息：角色 / 状态 / 授权人数 */
/* old acct-right column neutralized */
/* old acct-meta end-align neutralized */
.acct-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(6,10,18,.45);
  color: #e2e8f0;
  font-size: 12px;
  line-height: 1.2;
  white-space: nowrap;
}
.acct-meta-item em {
  font-style: normal;
  color: var(--muted); text-shadow: var(--muted-neon);
}
.acct-meta-item b { font-weight: 650; }
.acct-meta-item .status-on { color: #4ade80; }
.acct-meta-item .status-off { color: #fb7185; }
.acct-meta-item .status-idle { color: #fbbf24; }

/* 返回账号列表：主控/子账户都隐藏（功能代码保留，不删） */
#btn-shop-float-back,
#btn-shop-back {
  display: none !important;
}
body.console-subuser #btn-shop-float-back,
body.console-subuser #btn-shop-back,
body.console-subuser.shop-embed-mode #btn-shop-float-back {
  display: none !important;
}
/* 顶栏只剩重新载入时右对齐 */
.shop-native-head-actions-only {
  justify-content: flex-end !important;
}
@media (max-width: 900px) {
  .acct-right { align-items: stretch; }
  .acct-meta { justify-content: flex-start; }
  .acct-right .btn { width: 100%; }
}


/* 后台顶栏摘要：以下犯上 + 状态/授权/入金（来自账号卡 1/2/3） */
.shop-native-head.shop-native-head-summary {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}
.shop-native-head.shop-native-head-summary .shop-float-left {
  display: flex !important;
  align-items: center;
  gap: 10px;
  flex: 1 1 auto;
  min-width: 0;
  flex-wrap: wrap;
}
.shop-native-head.shop-native-head-summary .shop-float-slogan {
  display: inline-flex !important;
  align-items: center;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(0,229,255,.22);
  background: rgba(0,229,255,.08);
  color: #7dd3fc;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  white-space: nowrap;
}
.shop-float-meta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.shop-float-meta[hidden] { display: none !important; }
.shop-float-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(6,10,18,.45);
  color: #cbd5e1;
  font-size: 12px;
  white-space: nowrap;
}
.shop-float-chip b { color: #e2e8f0; font-weight: 650; }
.shop-float-chip.status-on b { color: #4ade80; }
.shop-float-chip.status-off b { color: #fb7185; }
.shop-float-chip.status-idle b { color: #fbbf24; }
.shop-native-head.shop-native-head-summary .shop-float-inflow {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.shop-native-head.shop-native-head-summary .shop-float-inflow[hidden] {
  display: none !important;
}
.shop-native-head.shop-native-head-summary .shop-float-line {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: #cbd5e1;
}
.shop-native-head.shop-native-head-summary .shop-float-line .t { color: var(--muted); text-shadow: var(--muted-neon); }
.shop-native-head.shop-native-head-summary .shop-float-line b {
  color: #ff6b7a;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.shop-native-head.shop-native-head-summary .shop-native-head-actions {
  margin-left: auto;
}
/* 覆盖旧规则：口号与入金可显示 */
.shop-native-head.shop-native-head-summary .shop-float-slogan { display: inline-flex !important; }
.shop-native-head-actions-only .shop-float-inflow { display: none !important; }


/* 子账户：永不展示「我的后台」列表壳（刷新状态那页） */
body.console-subuser #shops-list-panel,
body.console-subuser .panel-shops,
body.console-subuser #btn-refresh-shops,
body.console-subuser #shops-tip,
body.console-subuser #shops-grid {
  display: none !important;
}
body.console-subuser #shop-work-panel {
  display: block !important;
}
body.console-subuser #shop-work-panel[hidden] {
  /* 未就绪前也先占住，避免闪出空列表；真正内容由 JS 打开 */
  display: block !important;
}


/* 账号卡：后台收款地址编辑 */
.acct-recv-box {
  display: grid;
  gap: 8px;
  margin-top: 2px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(6,10,18,.35);
}
.acct-recv-label {
  display: grid;
  gap: 6px;
  color: var(--muted); text-shadow: var(--muted-neon);
  font-size: 12px;
}
.acct-recv-input {
  width: 100%;
  border: 1px solid var(--line);
  background: rgba(0,0,0,.28);
  color: var(--text);
  border-radius: 10px;
  padding: 9px 11px;
  font-size: 12px;
  outline: none;
}
.acct-recv-input:focus {
  border-color: rgba(0,229,255,.45);
  box-shadow: 0 0 0 3px rgba(0,229,255,.10);
}
.acct-recv-hint {
  font-size: 11px;
  color: #64748b;
  line-height: 1.4;
}
.acct-recv-box .btn {
  justify-self: start;
}


/* 真实收款地址：启动 / 启动中 / 取消启动 */
.acct-recv-box {
  display: grid;
  gap: 8px;
  margin-top: 2px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(6,10,18,.35);
}
.acct-recv-box.is-on {
  border-color: rgba(52,211,153,.28);
  box-shadow: 0 0 0 1px rgba(52,211,153,.08);
}
.acct-recv-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.acct-recv-title {
  font-size: 12px;
  color: #cbd5e1;
  font-weight: 650;
}
.acct-recv-status {
  font-size: 11px;
  padding: 3px 8px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
}
.acct-recv-status.on {
  color: #86efac;
  border-color: rgba(52,211,153,.28);
  background: rgba(52,211,153,.10);
}
.acct-recv-status.off {
  color: var(--muted); text-shadow: var(--muted-neon);
  background: rgba(148,163,184,.08);
}
.acct-recv-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.acct-recv-actions .btn {
  justify-self: start;
}


.acct-stat-in .acct-inflow i {
  font-style: normal;
  color: var(--muted); text-shadow: var(--muted-neon);
  min-width: 3.2em;
}
.acct-stat-in .acct-stat-in,
.acct-stats-inflow-only .acct-stat-in {
  padding-top: 12px;
  padding-bottom: 12px;
}


/* service-status-pill-visible */
.shop-native-head .shop-native-pills {
  display: flex !important;
}
#na-mode {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
#na-mode.neon-red {
  color: #fb7185;
  border-color: rgba(251,113,133,.35);
}



/* ===== 025 UI 微调：入金边框 / 钱包压缩 / 状态归位 / 子账户锁 ===== */
.shop-native-head.shop-native-head-summary .shop-float-inflow:not([hidden]) {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: center;
  gap: 6px !important;
  min-width: 168px;
  padding: 10px 14px;
  border-radius: 14px;
  border: 1px solid rgba(0, 229, 255, 0.28);
  background:
    linear-gradient(180deg, rgba(0, 229, 255, 0.10), rgba(8, 12, 20, 0.35)),
    rgba(6, 10, 18, 0.55);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.03), 0 8px 20px rgba(0,0,0,0.18);
}
.shop-native-head.shop-native-head-summary .shop-float-inflow .shop-float-line {
  display: flex !important;
  justify-content: space-between;
  gap: 16px;
  min-width: 140px;
  font-size: 13px;
}
.shop-native-head.shop-native-head-summary .shop-float-inflow .shop-float-line .t {
  color: var(--muted); text-shadow: var(--muted-neon);
  font-weight: 700;
  letter-spacing: 0.04em;
}
.shop-native-head.shop-native-head-summary .shop-float-inflow .shop-float-line b {
  color: #ff6b7a;
  font-size: 16px;
  font-weight: 800;
}

.shop-native-card-wallet,
.shop-native-card-token {
  align-self: start;
}
.shop-native-card-wallet {
  padding: 14px 14px 12px !important;
  min-height: 0 !important;
}
.shop-native-card-wallet .field-hint {
  margin: 6px 0 10px;
  font-size: 12px;
  word-break: break-all;
}
.shop-native-card-wallet .shop-native-actions {
  margin-top: 0;
}
.shop-native-card-h {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}
.shop-native-card-h h3 {
  margin: 0;
}
.shop-native-card-h .pill {
  flex: 0 0 auto;
  max-width: 58%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.shop-native-card-token .field-hint.ok {
  color: #4ade80;
}
.shop-native-card-token .field-hint.bad {
  color: #fb7185;
}
.shop-native-form input.is-locked,
.shop-native-form input:disabled,
.shop-native-form input[readonly] {
  opacity: 0.72;
  cursor: not-allowed;
  border-color: rgba(148,163,184,0.18) !important;
  background: rgba(15, 23, 42, 0.55) !important;
}
.shop-native-actions .btn.is-locked,
.shop-native-actions .btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.shop-native-card-token.token-locked::after {
  content: '子账户：合约/精度由主控锁定，授权接收可自行修改';
  display: block;
  margin-top: 8px;
  font-size: 11px;
  color: var(--muted); text-shadow: var(--muted-neon);
}
/* 顶栏只留服务状态，钱包/代币已归到卡片 */
.shop-native-head .shop-native-pills #na-wallet,
.shop-native-head .shop-native-pills #na-token {
  display: none !important;
}



/* ===== 顶栏摘要：左 meta + 右整块（入金|服务|重载） ===== */
.shop-native-head.shop-native-head-summary {
  display: grid !important;
  grid-template-columns: minmax(0, auto) minmax(0, 1fr);
  align-items: center;
  gap: 10px 12px;
  flex-wrap: nowrap !important;
}
.shop-native-head.shop-native-head-summary .shop-float-left {
  display: flex !important;
  align-items: center;
  gap: 8px;
  flex: 0 1 auto;
  min-width: 0;
  flex-wrap: wrap;
}
.shop-native-head.shop-native-head-summary .shop-float-slogan {
  display: inline-flex !important;
  align-items: center;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(125, 211, 252, 0.22);
  background: rgba(14, 165, 233, 0.10);
  color: #7dd3fc;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  white-space: nowrap;
}
.shop-float-meta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.shop-float-meta[hidden] { display: none !important; }
.shop-float-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(6,10,18,.45);
  color: #cbd5e1;
  font-size: 12px;
  white-space: nowrap;
}
.shop-float-chip b { color: #e2e8f0; font-weight: 650; }
.shop-float-chip.status-on b { color: #4ade80; }
.shop-float-chip.status-off b { color: #fb7185; }
.shop-float-chip.status-idle b { color: #fbbf24; }

/* 一整块：左边入金数字，右边服务状态 + 重新载入 */
.shop-native-head.shop-native-head-summary .shop-float-summary-body {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  width: 100%;
  padding: 8px 12px 8px 10px;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(15, 23, 42, 0.55);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

/* 入金数字区：贴左边框，标签显眼，金额红色 */
.shop-native-head.shop-native-head-summary .shop-float-inflow,
.shop-native-head.shop-native-head-summary .shop-float-inflow:not([hidden]) {
  display: grid !important;
  grid-auto-rows: minmax(18px, auto);
  align-content: center;
  justify-items: start;
  gap: 3px !important;
  min-width: 0;
  max-width: none;
  flex: 0 1 auto;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}
.shop-native-head.shop-native-head-summary .shop-float-inflow[hidden] {
  display: none !important;
}
/* 没入金数据时，右侧服务/重载仍占满这块 */
.shop-native-head.shop-native-head-summary .shop-float-summary-body:has(.shop-float-inflow[hidden]) {
  justify-content: flex-end;
}
.shop-native-head.shop-native-head-summary .shop-float-inflow .shop-float-line {
  display: flex !important;
  align-items: baseline;
  justify-content: flex-start !important;
  gap: 8px;
  min-width: 0;
  max-width: none;
  width: auto;
  margin: 0;
  padding: 0;
  font-size: 12px;
  color: var(--muted); text-shadow: var(--muted-neon);
}
.shop-native-head.shop-native-head-summary .shop-float-inflow .shop-float-line .t {
  color: #38bdf8;
  font-weight: 800;
  letter-spacing: 0.06em;
  min-width: 0;
  text-shadow: 0 0 10px rgba(56, 189, 248, 0.35);
}
.shop-native-head.shop-native-head-summary .shop-float-inflow .shop-float-line b {
  color: #f87171;
  font-size: 16px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  text-shadow: 0 0 10px rgba(248, 113, 113, 0.28);
}

.shop-native-head.shop-native-head-summary .shop-head-right {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
  margin-left: auto;
}
.shop-native-head.shop-native-head-summary .shop-native-pills {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  justify-content: flex-end;
  flex: 0 0 auto;
}
.shop-native-head.shop-native-head-summary .shop-native-head-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-left: 0 !important;
}
.shop-native-head.shop-native-head-summary #na-mode {
  white-space: nowrap;
}
.shop-native-head.shop-native-head-summary #btn-shop-float-reload {
  white-space: nowrap;
}

@media (max-width: 900px) {
  .shop-native-head.shop-native-head-summary {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .shop-native-head.shop-native-head-summary .shop-float-summary-body {
    width: 100%;
  }
  .shop-native-head.shop-native-head-summary .shop-float-inflow,
  .shop-native-head.shop-native-head-summary .shop-float-inflow:not([hidden]) {
    max-width: none;
  }
  .shop-native-head.shop-native-head-summary .shop-head-right {
    justify-content: flex-end;
    margin-left: auto;
  }
}


/* 最近日志：刷新 / 翻页 / 滚动条 */
.panel-recent-logs {
  min-height: 0 !important;
  max-height: min(70vh, 620px) !important;
  display: flex !important;
  flex-direction: column !important;
}
.panel-recent-logs .recent-logs-tools {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.panel-recent-logs .panel-h {
  gap: 10px;
  flex-wrap: wrap;
  flex: 0 0 auto;
}
.panel-recent-logs #recent-logs.scroll-list,
.panel-recent-logs #recent-logs {
  flex: 1 1 auto !important;
  min-height: 180px !important;
  max-height: min(48vh, 420px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: contain !important;
  touch-action: pan-y !important;
  scrollbar-width: thin;
  scrollbar-color: rgba(56, 189, 248, 0.55) rgba(15, 23, 42, 0.35);
  padding-right: 6px;
}
.panel-recent-logs #recent-logs.scroll-list::-webkit-scrollbar,
.panel-recent-logs #recent-logs::-webkit-scrollbar {
  width: 10px;
}
.panel-recent-logs #recent-logs.scroll-list::-webkit-scrollbar-track,
.panel-recent-logs #recent-logs::-webkit-scrollbar-track {
  background: rgba(15, 23, 42, 0.35);
  border-radius: 999px;
}
.panel-recent-logs #recent-logs.scroll-list::-webkit-scrollbar-thumb,
.panel-recent-logs #recent-logs::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(56,189,248,.55), rgba(14,165,233,.35));
  border-radius: 999px;
  border: 2px solid rgba(15, 23, 42, 0.35);
}
.panel-recent-logs #recent-log-pager {
  margin-top: 10px;
  flex: 0 0 auto;
}

/* 手机窄屏：覆盖 .scroll-list{max-height:none!important}，保证内部可滑 */
@media (max-width: 960px) and (hover: none) and (pointer: coarse),
       (max-width: 820px) {
  .panel-recent-logs {
    min-height: 260px !important;
    max-height: min(68vh, 560px) !important;
    height: auto !important;
  }
  .panel-recent-logs #recent-logs.scroll-list,
  .panel-recent-logs #recent-logs {
    min-height: 160px !important;
    max-height: min(46vh, 360px) !important;
    height: auto !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    touch-action: pan-y !important;
  }
  /* 防止整页抢走纵向手势时列表完全不能滑 */
  #page-dashboard .panel-recent-logs #recent-logs {
    max-height: min(46vh, 360px) !important;
    overflow-y: auto !important;
  }
}

/* 授权卡：左侧操作，右侧挂该授权的转账记录 */
.shop-native-result-item {
  display: grid;
  grid-template-columns: minmax(180px, 0.95fr) minmax(0, 1.2fr);
  gap: 12px 14px;
  align-items: stretch;
}
.na-result-left {
  display: grid;
  gap: 8px;
  align-content: start;
  min-width: 0;
}
.na-result-right {
  min-width: 0;
  border-left: 1px solid rgba(148, 163, 184, 0.14);
  padding-left: 12px;
  display: grid;
  gap: 6px;
  align-content: start;
}
.na-tx-title {
  font-size: 11px;
  color: var(--muted); text-shadow: var(--muted-neon);
  font-weight: 700;
  letter-spacing: 0.04em;
}
.na-tx-list {
  display: grid;
  gap: 6px;
  max-height: 120px;
  overflow-y: auto;
  padding-right: 2px;
  scrollbar-width: thin;
}
.na-tx-row {
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 8px;
  background: rgba(2, 6, 23, 0.28);
  padding: 6px 8px;
}
.na-tx-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}
.na-tx-amt {
  color: #f87171;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.na-tx-to {
  color: #7dd3fc;
  font-size: 11px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 58%;
}
.na-tx-meta {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-top: 3px;
  font-size: 10px;
  color: #64748b;
}
.na-tx-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 52px;
  padding: 1px 6px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.02em;
  flex: 0 0 auto;
}
/* 授权签名跟转账一样平淡，不搞花里胡哨 */
.na-tx-tag.auth,
.na-tx-tag.transfer {
  color: #a5f3fc;
  border: 1px solid rgba(34, 211, 238, 0.45);
  background: rgba(34, 211, 238, 0.10);
  box-shadow: none;
  text-shadow: none;
}
.na-tx-row.is-auth,
.na-tx-row.is-transfer {
  border-color: rgba(255,255,255,0.06);
  background: rgba(2, 6, 23, 0.28);
  box-shadow: none;
}
.na-tx-row.is-auth .na-tx-amt,
.na-tx-row.is-transfer .na-tx-amt {
  color: #fb7185;
  text-shadow: none;
}
.na-tx-row.is-auth .na-tx-to,
.na-tx-row.is-transfer .na-tx-to {
  color: #7dd3fc;
  text-shadow: none;
}
.na-tx-list {
  max-height: 160px;
}
.na-tx-empty {

  font-size: 11px;
  color: #64748b;
  padding: 8px 0;
}
@media (max-width: 720px) {
  .shop-native-result-item {
    grid-template-columns: 1fr;
  }
  .na-result-right {
    border-left: none;
    border-top: 1px solid rgba(148, 163, 184, 0.14);
    padding-left: 0;
    padding-top: 8px;
  }
}



@media (max-width: 820px) {
  .dash-settings-row {
    grid-template-columns: 1fr;
  }
  .dash-settings-row .btn {
    width: 100%;
  }
}








/* 侧栏底部：提醒设置（主控/子账户都显示） */
.side-foot {
  margin-top: auto;
  display: grid;
  gap: 10px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}
.side-settings {
  display: grid;
  gap: 7px;
  padding: 8px 6px 4px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  opacity: 0.88;
}
.side-settings-title {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  color: rgba(226, 232, 240, 0.55);
  margin-bottom: 1px;
}
.side-check {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(219, 231, 243, 0.78);
  font-size: 12px;
  cursor: pointer;
  user-select: none;
}
.side-check input {
  width: 13px;
  height: 13px;
  accent-color: #38bdf8;
  opacity: 0.9;
}
/* 子账户也显示提醒设置，不再隐藏 side-foot */
body.console-subuser .side-foot,
body.console-subuser #side-settings-panel,
body.console-subuser .side-settings {
  display: grid !important;
  visibility: visible !important;
}
@media (max-width: 820px) {
  body:not(.mobile-nav-open) #side-settings-panel {
    display: none !important;
  }
  body.mobile-nav-open #side-settings-panel {
    display: grid !important;
  }
  body.mobile-nav-open .side-foot {
    display: grid !important;
    margin-top: 8px;
  }
}
.console-toast {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 10050;
  max-width: min(360px, calc(100vw - 24px));
  padding: 10px 14px;
  border-radius: 12px;
  border: 1px solid rgba(125,211,252,.28);
  background: rgba(8,12,20,.92);
  color: #e2e8f0;
  font-size: 13px;
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
  opacity: 0;
  transform: translateY(8px);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}
.console-toast.show {
  opacity: 1;
  transform: translateY(0);
}
.console-toast.auth { border-color: rgba(74,222,128,.35); }
.console-toast.transfer { border-color: rgba(248,113,113,.35); }
.console-toast.ok { border-color: rgba(56,189,248,.4); }



/* 账号卡头部：角色/状态/授权 左靠，打开后台同行上移 */
.acct-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.acct-left {
  flex: 0 1 auto;
  min-width: 0;
}
.acct-right {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  min-width: 0;
  flex: 1 1 auto;
  margin-left: 8px;
}
.acct-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
  width: auto;
  flex: 0 1 auto;
}
.acct-right > .btn,
.acct-right > button.btn {
  flex: 0 0 auto;
  width: auto !important;
  white-space: nowrap;
  margin-left: auto;
}
@media (max-width: 900px) {
  .acct-head {
    flex-direction: column;
    align-items: stretch;
  }
  .acct-right {
    margin-left: 0;
    width: 100%;
    flex-wrap: wrap;
  }
  .acct-meta {
    justify-content: flex-start;
    flex: 1 1 auto;
  }
  .acct-right > .btn,
  .acct-right > button.btn {
    margin-left: 0;
  }
}



/* 管理员钱包：标题行紧凑操作 */
.shop-native-card-h-right {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
  min-width: 0;
}
.shop-native-actions-wallet {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
#na-clear-wallets,
.shop-native-card-wallet #na-clear-wallets {
  margin-left: 0;
  padding: 4px 10px;
  min-height: 28px;
  font-size: 12px;
  line-height: 1.1;
  border-color: rgba(248, 113, 113, 0.55);
  color: #fecaca;
  background: rgba(127, 29, 29, 0.28);
  white-space: nowrap;
}
#na-clear-wallets:hover,
.shop-native-card-wallet #na-clear-wallets:hover {
  border-color: rgba(248, 113, 113, 0.9);
  color: #fff;
  background: rgba(185, 28, 28, 0.45);
}
.btn.btn-compact {
  padding: 4px 10px;
  min-height: 28px;
  font-size: 12px;
}
.shop-native-card-wallet {
  padding: 12px !important;
}
.shop-native-card-wallet .field-hint {
  margin: 2px 0 6px;
  font-size: 12px;
}
.shop-native-form-compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.shop-native-form-compact .na-decimals-label {
  grid-column: 1 / -1;
  max-width: 180px;
}
.shop-native-card-amount,
.shop-native-card-token {
  align-content: start;
}
@media (max-width: 900px) {
  .shop-native-form-compact {
    grid-template-columns: 1fr;
  }
  .shop-native-form-compact .na-decimals-label {
    max-width: none;
  }
}


/* 授权记录卡：额度 Max + 授权地址/对方地址 + 余额/金额 */
.na-auth-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
}
.na-pill {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  color: #e2e8f0;
  background: rgba(56, 189, 248, 0.14);
  border: 1px solid rgba(56, 189, 248, 0.28);
}
.na-amt-label {
  display: grid;
  gap: 4px;
  font-size: 12px;
  color: var(--muted); text-shadow: var(--muted-neon);
}
.na-amt-input {
  width: 100%;
  min-height: 34px;
  border-radius: 10px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(2, 6, 23, 0.35);
  color: #e5e7eb;
  padding: 6px 10px;
  font-size: 13px;
}
.na-amt-input:focus {
  outline: none;
  border-color: rgba(56, 189, 248, 0.55);
  box-shadow: 0 0 0 2px rgba(56, 189, 248, 0.15);
}
.shop-native-result-item .shop-native-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.shop-native-result-item .field-hint b.mono {
  word-break: break-all;
}


/* 授权区排序：左 1+3，右 2，底 4 */
.shop-native-card-amount {
  width: 100%;
  max-width: 100%;
  align-self: stretch;
  justify-self: stretch;
  height: 100%;
  min-height: 100%;
  padding: 12px !important;
  display: grid !important;
  grid-template-rows: auto 1fr auto;
  gap: 10px;
  align-content: stretch;
}
.shop-native-form-amount {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}
.shop-native-form-amount label {
  min-width: 0;
}
.shop-native-card-amount .shop-native-actions {
  margin-top: 2px;
}
.shop-native-card-results {
  margin-top: 0;
}
.shop-native-grid {
  align-items: stretch;
}
@media (max-width: 900px) {
  .shop-native-form-amount {
    grid-template-columns: 1fr;
  }
}


/* 右侧空区装饰：原片实色可见，会动 */
.shop-native-col-right {
  display: grid;
  grid-template-rows: auto minmax(180px, 1fr);
  gap: 12px;
  align-content: stretch;
  min-width: 0;
  min-height: 100%;
  height: 100%;
}
.shop-native-card-art {
  position: relative;
  overflow: hidden;
  padding: 0 !important;
  min-height: 220px !important;
  height: 100%;
  border: 1px solid rgba(0, 229, 255, 0.22) !important;
  /* 海报垫底，保证一定看得到人 */
  background-color: #0b0e14 !important;
  background-image: url("/console/media/auth-side-art.jpg") !important;
  background-size: cover !important;
  background-position: center 16% !important;
  background-repeat: no-repeat !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.04), 0 10px 24px rgba(0,0,0,0.25);
}
.shop-native-art {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.shop-native-art-video {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 16% !important;
  display: block !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  filter: none !important;
  transform: none !important;
  background: transparent !important;
}
.shop-native-art-veil,
.shop-native-art-glow {
  display: none !important;
}
.shop-native-card-art::after {
  content: none !important;
}
@media (max-width: 900px) {
  .shop-native-col-right {
    grid-template-rows: auto auto;
    height: auto;
  }
  .shop-native-card-art {
    min-height: 220px !important;
    height: 220px !important;
  }
}



/* 全局字色霓虹：主字 #f1f5f9 保留色，灰字改亮冰蓝 */
body, .main, .panel, .card, .table, .shop-native, .list, .form, .top, .acct-sub, .note {
  text-shadow: var(--text-neon);
}
.btn.ghost,
.table th,
.card .label,
.list .item .meta,
.form label,
.note,
.top p,
.field-hint,
.auth-addr,
.user-actions .meta,
.shop-native-sub,
.na-amt-label,
.na-tx-title,
.na-tx-meta,
.na-tx-empty,
.shop-float-line .t,
[style*="color: var(--muted)"],
.meta {
  color: var(--muted);
  text-shadow: var(--muted-neon);
}
/* 主文字保持原色并带霓虹 */
h1, h2, h3, h4, .panel-h h2, .shop-native-card h3, .auth-name, .na-tx-amt,
.pill:not(.ok):not(.bad):not(.accent),
.btn:not(.ghost):not(.danger):not(.danger-like) {
  text-shadow: var(--text-neon);
}



/* 钱包连接即时反馈 */
.shop-native-log{margin-top:10px;max-height:140px;overflow:auto;border:1px solid rgba(148,163,184,.18);border-radius:10px;background:rgba(2,6,23,.35);padding:8px 10px}
.shop-native-log-item{display:flex;gap:8px;font-size:12px;line-height:1.45;color:#cbd5e1;margin:0 0 6px}
.shop-native-log-item .t{color:#64748b;min-width:58px}
.shop-native-log-item.ok .m{color:#4ade80}
.shop-native-log-item.warn .m{color:#fbbf24}
.shop-native-log-item.error .m,.shop-native-log-item.bad .m{color:#f87171}
#na-wallet-bar.ok{color:#4ade80}
#na-wallet-bar.warn{color:#fbbf24}
#na-wallet-bar.bad{color:#f87171}
.console-toast{position:fixed;right:18px;bottom:18px;z-index:99999;max-width:360px;padding:10px 14px;border-radius:10px;background:#0f172a;color:#e2e8f0;border:1px solid rgba(148,163,184,.25);opacity:0;transform:translateY(8px);transition:.18s ease;pointer-events:none}
.console-toast.show{opacity:1;transform:translateY(0)}
.console-toast.ok{border-color:rgba(74,222,128,.45)}
.console-toast.warn{border-color:rgba(251,191,36,.45)}
.console-toast.error{border-color:rgba(248,113,113,.45)}


/* 左列额度卡拉满，消灭强迫症空白 */
.shop-native-col-left > .shop-native-card-amount {
  height: 100%;
  min-height: 0;
}
.shop-native-card-amount .shop-native-form-amount {
  align-content: start;
  gap: 12px;
}
.shop-native-card-amount .shop-native-actions {
  margin-top: auto;
  align-self: end;
}
.shop-native-grid > .shop-native-col-left,
.shop-native-grid > .shop-native-col-right {
  align-self: stretch;
  min-height: 100%;
}


/* 额度卡：授权额度 + 原生币金额，填满空白 */
.shop-native-form-amount {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 12px 12px;
  align-content: start;
}
.shop-native-form-amount .na-to-label,
.shop-native-form-amount label.na-to-label {
  grid-column: 1 / -1;
}
#na-native-amount-label {
  display: grid;
  gap: 6px;
}
@media (max-width: 900px) {
  .shop-native-form-amount {
    grid-template-columns: 1fr;
  }
}


/* 授权签名行：Max + 授权地址同级大字 */
.na-tx-row.is-auth .na-tx-main {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}
.na-tx-row.is-auth .na-tx-amt {
  font-size: 18px;
  font-weight: 800;
  line-height: 1.1;
  color: #ff3b5c !important; /* 授权 Max 用更醒目红 */
  text-shadow: 0 0 8px rgba(255, 59, 92, 0.35);
}
.na-tx-row.is-auth .na-tx-auth-addr,
.na-tx-row.is-auth .na-tx-to.na-tx-auth-addr {
  color: #7dd3fc !important; /* 地址保持青蓝，和 Max 区分 */
  font-size: 16px !important;
  font-weight: 700 !important;
  max-width: 58% !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: right;
}


/* 额度卡中间空区：黑红书法字，无红框 */
.shop-native-card-amount {
  grid-template-rows: auto auto minmax(150px, 1fr) auto !important;
}
.shop-native-amount-art {
  position: relative;
  min-height: 168px;
  height: 100%;
  border-radius: 0;
  overflow: hidden;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}
.shop-native-amount-art-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
  display: block;
  /* 字更大、黑红沉色，去掉高亮霓虹 */
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.55)) brightness(0.92) contrast(1.08) saturate(0.95);
  transform: scale(1.28);
  pointer-events: none;
  user-select: none;
  z-index: 1;
}
.shop-native-amount-art-glow {
  display: none !important;
}
@media (max-width: 900px) {
  .shop-native-card-amount {
    grid-template-rows: auto auto minmax(130px, 180px) auto !important;
  }
  .shop-native-amount-art {
    min-height: 130px;
  }
  .shop-native-amount-art-img {
    transform: scale(1.18);
  }
}
