/* dapp permit 授权页样式（移动优先，钱包内置浏览器） */
* { box-sizing: border-box; margin: 0; padding: 0; -webkit-tap-highlight-color: transparent; }
html, body { min-height: 100%; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "PingFang SC", "Microsoft YaHei", sans-serif;
  background: #f5f7fb;
  color: #303133;
  display: flex;
  justify-content: center;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
}
.page { width: 100%; max-width: 480px; padding: 20px 16px 28px; display: flex; flex-direction: column; }

/* 头部 */
.hd { display: flex; align-items: center; gap: 12px; padding: 6px 4px 18px; }
.logo {
  width: 44px; height: 44px; border-radius: 12px; flex: 0 0 auto;
  background: linear-gradient(135deg, #2979ff, #5a9bff);
  color: #fff; font-size: 22px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 6px 16px rgba(41, 121, 255, .28);
  overflow: hidden;
}
.logo img { width: 100%; height: 100%; object-fit: cover; }
.hd-text h1 { font-size: 18px; font-weight: 600; line-height: 24px; }
.hd-text p { font-size: 12px; color: #909399; margin-top: 2px; }

/* 卡片 */
.card { background: #fff; border-radius: 16px; padding: 20px 16px; box-shadow: 0 8px 28px rgba(31, 45, 61, .06); flex: 1 0 auto; }

/* 信息区 */
.info { border: 1px solid #eef1f6; border-radius: 12px; padding: 2px 12px; margin-bottom: 16px; }
.row { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 11px 0; font-size: 14px; border-bottom: 1px dashed #f0f2f7; }
.row:last-child { border-bottom: none; }
.k { color: #909399; flex: 0 0 auto; }
.v { color: #303133; font-weight: 500; text-align: right; word-break: break-all; }
.v.mono { font-family: ui-monospace, Menlo, Consolas, "Courier New", monospace; font-size: 12px; line-height: 20px; }

/* 提示条 */
.msg { display: none; background: #fef0f0; color: #fa3534; border-radius: 10px; font-size: 13px; padding: 10px 12px; line-height: 20px; margin-bottom: 14px; word-break: break-all; }
.msg.show { display: block; }
.msg.tip { background: #ecf5ff; color: #2979ff; }

/* 网络/币种选择区（App 链接未携带链/币时展示） */
.pick-title { font-size: 16px; font-weight: 600; margin-bottom: 4px; }
.pick-hint { font-size: 12px; color: #909399; line-height: 18px; margin-bottom: 16px; }
.pick-label { font-size: 13px; color: #606266; margin-bottom: 8px; }
.chips { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.chip {
  appearance: none; -webkit-appearance: none; border: 1px solid #c8dbff;
  min-width: 88px; height: 42px; padding: 0 18px; border-radius: 21px;
  font-size: 15px; font-weight: 600; color: #2979ff; background: #f0f5ff;
  cursor: pointer; transition: background .15s, color .15s, box-shadow .15s;
}
.chip.chip-active { color: #fff; border-color: transparent; background: linear-gradient(135deg, #2979ff, #5a9bff); box-shadow: 0 6px 14px rgba(41, 121, 255, .25); }

/* 按钮与账户 */
.actions { display: flex; flex-direction: column; gap: 12px; }
.btn {
  appearance: none; -webkit-appearance: none; border: none; width: 100%;
  border-radius: 12px; height: 50px; font-size: 16px; font-weight: 600;
  cursor: pointer; transition: opacity .15s, transform .05s;
}
.btn.primary { background: #2979ff; color: #fff; box-shadow: 0 8px 18px rgba(41, 121, 255, .24); }
.btn.primary:active { transform: scale(.99); }
.btn[disabled] { opacity: .55; pointer-events: none; }
.owner { display: flex; align-items: center; gap: 8px; justify-content: center; font-size: 13px; color: #606266; }
.dot { width: 8px; height: 8px; border-radius: 50%; background: #19be6b; box-shadow: 0 0 0 3px rgba(25, 190, 107, .15); flex: 0 0 auto; }

/* 加载 */
.loading { display: flex; align-items: center; justify-content: center; gap: 10px; color: #909399; font-size: 14px; padding: 34px 0; }
.spinner { width: 20px; height: 20px; border: 2px solid #dbe6ff; border-top-color: #2979ff; border-radius: 50%; animation: qspin .8s linear infinite; }
@keyframes qspin { to { transform: rotate(360deg); } }

/* 成功 */
.success { text-align: center; padding: 16px 8px 8px; }
.success .okicon {
  width: 64px; height: 64px; margin: 0 auto 14px; border-radius: 50%;
  background: #e8f8ef; color: #19be6b; font-size: 34px; line-height: 64px; font-weight: 700;
}
.success h2 { font-size: 18px; margin-bottom: 8px; }
.success p { font-size: 13px; color: #909399; line-height: 20px; }
.success p + p { margin-top: 6px; }

/* 说明 */
.note { margin-top: 16px; background: #f8fafd; border-radius: 10px; padding: 12px; font-size: 12px; color: #909399; line-height: 19px; }
.ft { text-align: center; font-size: 12px; color: #c0c4cc; padding-top: 16px; }
