#app[data-v-44d27808]{position:relative;z-index:2}body.default{--primary-color:0,113,227;--sub-color:#6e6e73}body.dustRed{--primary-color:245,34,45;--sub-color:#616577}body.volcano{--primary-color:255,122,69;--sub-color:#616577}body.sunsetOrange{--primary-color:255,169,64;--sub-color:#616577}body.calendulaGold{--primary-color:255,197,61;--sub-color:#616577}body.sunriseYellow{--primary-color:255,245,102;--sub-color:#616577}body.lime{--primary-color:160,217,17;--sub-color:#616577}body.polarGreen{--primary-color:115,209,61;--sub-color:#616577}body.cyan{--primary-color:19,194,194;--sub-color:#616577}body.daybreakBlue{--primary-color:24,144,255;--sub-color:#616577}a{text-decoration:none;transition:all .25s cubic-bezier(.22,1,.36,1)}body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro SC","PingFang SC","Helvetica Neue","Microsoft YaHei",sans-serif;color:#1d1d1f}html.windows ::-webkit-scrollbar{width:6px;height:6px;overflow:auto}html.windows ::-webkit-scrollbar-thumb{background-color:#e6e6e6;min-height:25px;min-width:25px;border:1px solid #e0e0e0;border-radius:99px}html.windows ::-webkit-scrollbar-track{background-color:#f7f7f7;border:1px solid #efefef}.ant-btn.ant-btn-primary:not(:disabled){box-shadow:0 6px 16px rgba(0,113,227,.28);background-color:rgba(var(--primary-color),1);border-color:rgba(var(--primary-color),1);border-radius:10px;transition:background-color .2s,box-shadow .2s,transform .15s}.ant-btn.ant-btn-primary:not(:disabled):focus,.ant-btn.ant-btn-primary:not(:disabled):hover{color:#fff}.ant-btn.ant-btn-link:not(:disabled){font-size:14px;color:rgba(var(--primary-color),1)}.ant-btn:focus,.ant-btn:hover{color:rgba(var(--primary-color),1);border-color:rgba(var(--primary-color),1)}.ant-switch-checked{background-color:rgba(var(--primary-color),1)}.ant-checkbox-checked .ant-checkbox-inner,.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled){background-color:rgba(var(--primary-color),1);border-color:rgba(var(--primary-color),1)}.ant-input-lg{font-size:15px}.ant-form-explain{pointer-events:none}.ant-table .ant-btn,.ant-table .ant-tag{white-space:normal;word-break:break-all}.ant-table .ant-table-body{overflow-x:auto!important}.dropdown-menu .ant-dropdown-menu-item>a{padding:8px 24px 8px 20px;color:#000;font-size:16px}.dropdown-menu .ant-dropdown-menu-item>a .svg-icon{margin-right:5px;font-size:18px}.spin-loading{text-align:center;height:100%;flex:1;padding:40px 0}.empty-tip{display:flex;flex-direction:column;align-items:center;padding:100px 0}.empty-tip .tit{text-align:center;font-size:18px;margin-bottom:30px}.empty-tip .svg-icon{font-size:200px}.line-hr{margin:12px 0;border:none;height:1px;background-color:#f5f5f5;background-image:linear-gradient(90deg,transparent,rgba(0,0,0,.4),transparent);opacity:.25}.copy-link{color:rgba(var(--primary-color),1);cursor:pointer;font-size:18px}.use-shadow{border-radius:16px;background-color:#fff;box-shadow:0 4px 20px rgba(0,0,0,.05)}.no-lisence{height:100vh;background:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:2;position:relative}.no-lisence .text{font-size:20px;margin:20px 0}.no-lisence .img{text-align:center}.no-lisence .img img{width:500px;max-width:80%}.no-lisence .link{font-size:18px}.is-darkmode .use-shadow{background-color:#ececec}.is-darkmode .no-lisence .img img{mix-blend-mode:color-burn}.svg-icon[data-v-4db41a58]{vertical-align:middle;display:inline-block;line-height:1}.svg-icon>i[data-v-4db41a58]{display:block}.svg-icon.disabled[data-v-4db41a58]{pointer-events:none;opacity:.5}

/* ══════ 以下内容合并自原 custom.css（确认弹窗按钮间距） ══════ */
/* 确认弹窗按钮竖排时留出间距 */
.ant-modal-confirm-btns .ant-btn + .ant-btn {
  margin-top: 10px !important;
  margin-left: 0 !important;
}


/* ══════ 以下内容合并自原 custom.css（公告弹窗重新设计） ══════ */
/* ── 1. 弹窗外框 ── */
.ant-modal {
  width: 92% !important;
  max-width: 460px !important;
  top: 20px !important;
  padding-bottom: 0 !important;
}

.ant-modal-content {
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 12px 48px rgba(0, 0, 0, .18) !important;
}

/* 弹窗主体：唯一的滚动容器
   dvh 会跟随浏览器地址栏伸缩，vh 作为旧浏览器兜底 */
.ant-modal-confirm .ant-modal-body {
  padding: 20px 18px 0 !important;
  max-height: 76vh !important;
  max-height: 76dvh !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

/* ── 2. 关键：取消内层滚动，只保留一层 ── */
.ant-modal-confirm-body-wrapper,
.ant-modal-confirm-body,
.ant-modal-confirm-content,
.ant-modal-confirm-content > div {
  max-height: none !important;
  overflow: visible !important;
  height: auto !important;
}

/* ── 3. 去掉中间灰色盒子的边框和内边距 ── */
.ant-modal-confirm-content {
  margin: 14px 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

.ant-modal-confirm-content > div,
.ant-modal-confirm-content > div > div:first-child {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

/* ── 4. 标题栏 ── */
.ant-modal-confirm-title {
  font-size: 17px !important;
  font-weight: 600 !important;
  padding-right: 28px !important;
}

.ant-modal-confirm .ant-modal-confirm-body > .anticon,
.ant-modal-confirm-body > svg {
  margin-right: 10px !important;
  font-size: 20px !important;
}

/* ── 5. 关闭按钮 ── */
.ant-modal-close {
  top: 4px !important;
  right: 4px !important;
}

.ant-modal-close-x {
  width: 44px !important;
  height: 44px !important;
  line-height: 44px !important;
  font-size: 17px !important;
}

/* ── 6. 底部按钮吸底 ── */
/* 无论内容多长，按钮始终贴在可视区底部，不会被顶出屏幕 */
.ant-modal-confirm-body-wrapper .ant-modal-confirm-btns {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 5 !important;
  float: none !important;
  text-align: center !important;
  width: 100% !important;
  margin-top: 16px !important;
  padding: 12px 0 16px !important;
  background: #fff !important;
  border-top: 1px solid #eef0f5 !important;
}

.ant-modal-confirm-btns .ant-btn {
  float: none !important;
  min-width: 140px !important;
  height: 42px !important;
  border-radius: 10px !important;
  font-size: 15px !important;
  font-weight: 500 !important;
}

/* ── 7. 正文内容排版 ── */
.ant-modal-confirm-content p {
  margin-bottom: 10px !important;
}

.ant-modal-confirm-content p:last-child {
  margin-bottom: 0 !important;
}

.ant-modal-confirm-content ul,
.ant-modal-confirm-content ol {
  padding-left: 20px !important;
  margin-bottom: 12px !important;
}

.ant-modal-confirm-content li {
  margin-bottom: 6px !important;
}

.ant-modal-confirm-content > div > div {
  padding: 12px 14px !important;
  margin-bottom: 12px !important;
}

.ant-modal-confirm-content > div > div:last-child {
  margin-bottom: 0 !important;
}

.ant-modal-confirm-content a[style*="background"],
.ant-modal-confirm-content a[class*="btn"] {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  text-align: center !important;
}

.ant-modal-confirm-content img {
  max-width: 100% !important;
  height: auto !important;
  border-radius: 8px !important;
}

/* ── 8. 手机端 ── */
@media (max-width: 768px) {
  .ant-modal {
    width: 94% !important;
    top: 12px !important;
    margin: 0 auto !important;
  }

  .ant-modal-confirm .ant-modal-body {
    padding: 18px 14px 0 !important;
    max-height: 80vh !important;
    max-height: 80dvh !important;
  }

  .ant-modal-confirm-title {
    font-size: 16px !important;
  }

  .ant-modal-confirm-content {
    font-size: 13.5px !important;
    line-height: 1.65 !important;
  }

  .ant-modal-confirm-content > div > div {
    padding: 10px 12px !important;
    margin-bottom: 10px !important;
  }

  .ant-modal-confirm-body-wrapper .ant-modal-confirm-btns {
    padding: 10px 0 14px !important;
    margin-top: 12px !important;
  }

  .ant-modal-confirm-btns .ant-btn {
    min-width: 60% !important;
    height: 44px !important;
  }
}

/* ── 9. 矮屏兜底（横屏 / 小屏手机）── */
@media (max-height: 640px) {
  .ant-modal {
    top: 8px !important;
  }

  .ant-modal-confirm .ant-modal-body {
    max-height: 86vh !important;
    max-height: 86dvh !important;
    padding-top: 14px !important;
  }
}

/* ── 10. 滚动条美化 ── */
.ant-modal-confirm .ant-modal-body::-webkit-scrollbar {
  width: 5px;
}

.ant-modal-confirm .ant-modal-body::-webkit-scrollbar-thumb {
  background: #d0d5e0;
  border-radius: 3px;
}

.ant-modal-confirm .ant-modal-body::-webkit-scrollbar-track {
  background: transparent;
}

/* ── 11. 暗色模式 ── */
body.is-darkmode .ant-modal-confirm-body-wrapper .ant-modal-confirm-btns {
  background: #1f232e !important;
  border-top-color: rgba(255, 255, 255, .08) !important;
}

/* 确保按钮本身是内联块级，以便受 text-align 影响 */
.ant-modal-confirm-btns .ant-btn {
    float: none !important;
}
/* 弹窗外框：宽度 + 吸顶高度（这是全文最后一处 .ant-modal，实际生效的就是这条） */
.ant-modal {
  width: 88% !important;
  max-width: 420px !important;
  top: 60px !important;
  margin: 0 auto !important;
}


/* ══════ 以下内容合并自原 custom.css（加载层容器） ══════ */
/* 加载层容器 — 放开宽度限制 */
.loading-user {
  width: auto !important;
  max-width: none !important;
  overflow: visible !important;
}
.loading-user {
  width: auto !important;
  max-width: none !important;
  overflow: visible !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
}
