/* ADSK_FONT_20261013: 自托管 Artifakt Element（字体文件取自本机 Autodesk 安装目录）；网页使用授权由客户确认。 */
/* ============================================================================
@font-face { font-family:"ArtifaktElement"; src:url("./assets/fonts/Artifakt Element Regular.woff") format("woff"); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:"ArtifaktElement"; src:url("./assets/fonts/Artifakt Element Semi Bold.woff") format("woff"); font-weight:600 650; font-style:normal; font-display:swap; }
@font-face { font-family:"ArtifaktElement"; src:url("./assets/fonts/Artifakt_Element_Bold.woff2") format("woff2"); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:"ArtifaktElement"; src:url("./assets/fonts/Artifakt_Element_Black.woff2") format("woff2"); font-weight:800 900; font-style:normal; font-display:swap; }
   cad/engine.css  —  AutoCAD 落地页「登录 / 在线支付 / 我的订单 / 下载」引擎样式
   ----------------------------------------------------------------------------
   来源: /adobe/app.css 中这些组件所需的规则(逐条抠出, 选择器与属性值原样保留)
   适配: 只有【品牌色】改成本站 SketchUp 皮肤的变量 (--primary / --primary-dark),
         这样弹窗、按钮、二维码区与页面观感一致; 版式尺寸/padding/圆角/层级一字未改。
   加载顺序: 必须在 ./app.css 之后 (本文件覆盖 app.css 的同名 .modal-mask 等)
   本文件是新增文件, 不涉及备份。
   ========================================================================== */

/* --ink-1 在本站皮肤里没有定义, 但 PS 引擎的内联样式里用到了 var(--ink-1);
   这里给它一个等价映射, 避免取到空值。 */
:root { --ink-1: var(--ink); }

/* ★★ 必须有: 来源 /adobe/app.css 第 372 行 [hidden] { display: none !important; }
   漏了它, 任何"带 inline display:flex 的遮罩 + hidden 属性"都不会消失 ——
   例如 #install-progress-mask, 它会以透明全屏盖在页面上, 吃掉所有点击
   (实测: 不加这条时点"登录"会 30s 超时, 因为 install-progress-mask 拦截了 pointer events)。
   同一个坑 /adobe/app.css 里已经踩过并修好了, 这里照搬。 */
[hidden] { display: none !important; }

/* ============== 顶栏三件套 (登录 / 我的订单 / 客服) ==============
   原始规则来自 /adobe/app.css .topbar-btn (深色顶栏上的配色) */
.topbar-btn { display: inline-flex; align-items: center; gap: 4px; padding: 6px 12px; border-radius: 8px; font-size: 14px; font-weight: 600; color: var(--ink-2, #1D1D1F); cursor: pointer; border: 1px solid transparent; background: none; }
.topbar-btn:hover { background: var(--bg-soft-2, #F5F5F7); border-color: var(--border, #E5E5EA); color: var(--ink, #1D1D1F); }
.topbar-vip-badge { display: inline-flex; align-items: center; gap: 3px; padding: 3px 9px; border-radius: 999px; background: linear-gradient(135deg,#FFD700 0%,#FFA500 100%); color: #1D1D1F; font-size: 11px; font-weight: 700; line-height: 1; box-shadow: 0 2px 6px rgba(245,158,11,0.25); margin-left: 6px; cursor: default; user-select: none; }
/* CAD: 本站顶栏是深蓝底, .topbar-btn 默认的深色字看不见 -> 借用 app.css 里 .nav-btn 的配色 */
.nav-actions .topbar-btn { color: var(--text-pale); }
.nav-actions .topbar-btn:hover { background: rgba(74,142,212,0.15); border-color: var(--primary-light); color: #fff; }
.nav-actions .topbar-btn svg { flex-shrink: 0; }
@media (max-width: 413px) {
  .nav-actions .topbar-btn { padding-left: 6px !important; padding-right: 6px !important; }
}

/* ============== 弹窗骨架 (登录 / 我的订单 / 支付) ==============
   来源: /adobe/app.css  .pay-mask / .pay-modal / .pay-modal-header / .pay-modal-body / .pay-modal-close */
.pay-mask { position: fixed; inset: 0; background: rgba(0,0,0,0.5); display: flex; align-items: center; justify-content: center; z-index: 200; padding: 20px; }
.pay-mask[hidden] { display: none !important; }
.pay-modal { background: #fff; border-radius: 14px; width: 100%; max-width: 420px; max-height: 95vh; overflow: auto; box-shadow: 0 20px 60px rgba(0,0,0,0.25); }
.pay-modal-header { display: flex; justify-content: space-between; align-items: center; padding: 18px 22px; border-bottom: 1px solid var(--border); font-size: 16px; font-weight: 700; color: var(--ink); }
.pay-modal-close { background: none; border: none; font-size: 22px; color: var(--text-muted); cursor: pointer; line-height: 1; padding: 0; }
.pay-modal-close:hover { background: #F5F5F7; color: #1D1D1F; }
.pay-modal-body { padding: 22px; }

/* ============== 表单控件 (支付 / 登录 / 订单查询) ============== */
.pay-input { width: 100%; padding: 12px 14px; border: 1px solid var(--border); border-radius: 8px; font-size: 15px; font-family: inherit; outline: none; box-sizing: border-box; color: var(--ink); background: #fff; }
.pay-input:focus { border-color: var(--primary); }
.pay-input:focus-visible { outline: 2px solid var(--primary) !important; outline-offset: 2px; }
/* CAD: 原值 #001E36 / #001A2E 是 Adobe 品牌深蓝 -> 改成本站 --primary 系 */
.pay-btn-primary { width: 100%; padding: 12px; background: var(--primary); color: #fff; border-radius: 8px; border: none; font-size: 15px; font-weight: 700; cursor: pointer; }
.pay-btn-primary:hover { background: var(--primary-dark); }
.pay-btn-primary:disabled { background: #C7C7CC; cursor: not-allowed; }
.pay-btn-secondary { width: 100%; padding: 12px; background: var(--bg-soft); color: var(--ink); border-radius: 8px; border: 1px solid var(--border); font-size: 15px; font-weight: 600; cursor: pointer; }
.pay-btn-secondary:hover { background: #F5F5F7; }

/* ============== 二维码支付区 ============== */
.qrcode-area { text-align: center; display: flex; flex-direction: column; align-items: center; }
.qrcode-img { display: block; width: 220px; height: 220px; border: 1px solid var(--border); border-radius: 10px; margin: 0 auto 10px; }
.qrcode-status { font-size: 13px; color: var(--text-muted); margin-bottom: 12px; }

/* ============== 弹窗内的版本选择 (PS 页 .version-options 分支) ==============
   ★ /adobe/app.css 里【没有】这几条 (PS 页那个分支只有内联布局), 所以这里是本页补写的
     最小可用样式; 用在"订阅版"支付弹窗里让用户挑一个要激活的版本。
   ★ 若客户决定订阅版不做版本选择, 删掉这一节 + 把 psState.selectedVersion 预设即可。 */
.version-options { display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px; max-height: 240px; overflow-y: auto; }
.version-option { display: flex; justify-content: space-between; align-items: center; padding: 10px 14px; border: 1px solid var(--border); border-radius: 10px; cursor: pointer; transition: all .15s ease; }
.version-option:hover { border-color: var(--primary-light); background: var(--bg-soft-3); }
.version-option.selected { border-color: var(--primary); background: var(--primary-soft); box-shadow: var(--primary-shadow); }
.version-option-name { font-weight: 700; font-size: 14px; color: var(--ink); }
.version-option-year { font-size: 12px; color: var(--text-muted); margin-top: 2px; }
.version-option-price { font-weight: 800; font-size: 15px; color: var(--primary); }

/* ============== 支付成功页里的"安装教程"块 ==============
   .install-guide-link* 来自 /adobe/app.css; 下面 4 条是 showDownload 用到但 skin 里缺的 */
.install-guide-header { display: flex; align-items: center; gap: 8px; }
.install-guide-icon { font-size: 16px; line-height: 1; }
.install-guide-title { font-size: 15px; font-weight: 700; color: var(--ink); }
.install-guide-link { display: flex; align-items: center; gap: 14px; padding: 16px 18px; background: var(--bg-soft-2); border: 1px solid var(--primary-light); border-radius: 12px; text-decoration: none; color: inherit; margin-bottom: 16px; transition: all .2s; }
.install-guide-link:hover { background: #fff; box-shadow: var(--primary-shadow); transform: translateY(-2px); }
.install-guide-link-icon { font-size: 28px; }
.install-guide-link-text { flex: 1; }
.install-guide-link-title { display: block; font-size: 15px; font-weight: 600; color: var(--ink); }
.install-guide-link-arrow { color: var(--primary); font-size: 20px; font-weight: 700; }

/* ============== 我的订单 (表格式弹窗) ==============
   来源: /adobe/app.css .modal-mask / .modal-wide / .modal-header / .modal-close-x / .modal-body /
         .order-query-form / .order-input / .action-btn-primary / .order-result / .order-table /
         .order-download-btn
   ★ 注意: app.css 里也有一个 .modal-mask (是 SketchUp 皮肤的 OS 弹窗, display:none 直到 .open)。
     本文件在 app.css 之后加载, 这里显式给出 [hidden] 规则, 保证两种用法都不串。 */
.modal-mask {
  position: fixed; inset: 0; z-index: 2000;
  background: rgba(0,0,0,0.5);
  backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
  display: flex; align-items: center; justify-content: center;
  padding: 20px;
}
.modal-mask[hidden] { display: none !important; }
.modal-wide { width: 760px; max-width: 100%; }
.modal-header {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 16px; padding-bottom: 12px;
  border-bottom: 1px solid var(--border);
}
.modal-header span { font-size: 18px; font-weight: 700; color: var(--ink); }
.modal-close-x {
  background: #F5F5F7; color: var(--ink); border: none;
  padding: 4px 10px; border-radius: 4px;
  font-weight: 600; font-size: 14px;
  cursor: pointer;
}
.modal-body { padding: 0; }
/* CAD: .modal-mask 本体是遮罩, 里面的白卡在 PS 里叫 .modal, 会被 app.css 的 .modal 规则接管,
   那套是 SketchUp 皮肤的(白底16px圆角32px内边距), 观感正好合适, 所以这里不重复定义。 */
.modal-mask > .modal { background: #fff; color: var(--ink); }

.order-query-form { display: flex; gap: 10px; margin-bottom: 16px; }
.order-input {
  flex: 1; padding: 10px 14px;
  border: 1px solid var(--border); border-radius: 8px;
  font-size: 14px; color: var(--ink); background: #fff; font-family: inherit;
}
.order-input:focus { outline: 2px solid var(--primary); border-color: var(--primary); }
.action-btn-primary {
  padding: 10px 20px;
  background: var(--primary); color: #fff;
  border: none; border-radius: 8px;
  font-size: 14px; font-weight: 600; cursor: pointer;
}
.action-btn-primary:disabled { background: var(--border-2); cursor: not-allowed; }
.order-result { margin-top: 8px; }
.order-table { width: 100%; border-collapse: collapse; font-size: 13px; margin-top: 8px; }
.order-table tr { border-bottom: 1px solid var(--border); }
.order-table tr:last-child { border-bottom: none; }
.order-table th {
  text-align: left; padding: 10px 12px;
  color: var(--ink-3); font-weight: 500;
  background: var(--bg-soft);
}
.order-table td { padding: 10px 12px; color: var(--ink); word-break: break-all; }
.order-download-btn {
  background: var(--primary); color: #fff; border: none;
  padding: 4px 12px; border-radius: 8px;
  font-size: 11px; font-weight: 600; cursor: pointer;
  white-space: nowrap; min-width: 60px;
}
.order-download-btn:hover { background: var(--primary-dark); }

/* ============== 会员横幅 (VIP 分支; CAD 页当前不会走到, 保留以免引擎报错) ============== */
.vip-member-banner { background: linear-gradient(135deg,#FFD700 0%,#FFA500 100%); color: #1D1D1F; padding: 16px 20px; border-radius: 14px; margin-bottom: 16px; text-align: center; font-weight: 700; font-size: 16px; box-shadow: 0 8px 24px rgba(255,165,0,0.30); border: 1px solid #FFA500; }

/* ============== Windows 分支不露"钱" (客户既有口径, 照搬 /adobe/app.css) ============== */
body.is-win .pay-bar,
body.is-win .pay-bar-wrap,
body.is-win .paybar,
body.is-win [id^="payBar"],
body.is-win [class*="pay-bar"]:not(.pay-bar-price),
body.is-win .v-price-bundle,
body.is-win .version-option-price { display: none !important; }

/* CADFAQSTYLE_20261009: /cad/ 问答区版式（作用域仅 #faq；复用站点变量；不改 app.css 的共享类） */
#faq .faq-eyebrow{font-size:11.5px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--primary-light,#4A8ED4);margin:0 0 8px;text-align:center}
#faq .faq-list{display:flex;flex-direction:column;gap:11px;max-width:820px;margin:18px auto 0}
#faq .faq-item{background:#fff;border:1px solid var(--border);border-radius:11px;overflow:hidden;transition:border-color .18s ease}
#faq .faq-item:hover{border-color:var(--primary-light,#B9B9C0)}
#faq .faq-item:focus-within{border-color:var(--primary)}
#faq .faq-q{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:13px 16px;font-size:14.5px;font-weight:600;color:var(--ink);cursor:pointer}
#faq .faq-q:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:9px}
#faq .faq-arrow{flex:0 0 auto;color:var(--text-muted);font-size:15px;line-height:1;transition:transform .18s ease}
#faq .faq-item.open .faq-arrow{transform:rotate(180deg)}
#faq .faq-a{display:none;font-size:13px;line-height:1.75;color:var(--text-muted);border-top:1px solid var(--border);padding:12px 16px 14px}
#faq .faq-item.open .faq-a{display:block}
@media (max-width:640px){#faq .faq-q{font-size:14px;padding:13px 14px}#faq .faq-a{padding:12px 14px 13px}}

/* CADHEROGAP_20261009: 主图与标题贴合（只作用于 /cad/ 的 hero；不改共享的 app.css）
   原 app.css: .hero-inner{grid-template-columns:1fr 1fr; gap:56px} ⇒ 右列被拉满 + 图的 margin-left:auto
   ⇒ 标题与图之间空出 124px。改为"右列按图片宽度收缩"，列间距 32px。 */
.hero .hero-inner{ grid-template-columns: minmax(0, 560px) minmax(0, 1fr); gap: 64px; justify-content: start; }
@media (max-width: 760px){ .hero .hero-inner{ grid-template-columns: 1fr; gap: 28px; } }

/* CADHEROWIDE_20261009: /cad/ hero 左列文字与主图同宽、左边缘对齐（作用域 .hero；不改 app.css）
   根因: hero 内文字元素带着 max-width 限制(480px 级) ⇒ 左列宽但文字窄 ⇒ 列内留白 + 与图之间空档过大。
   用 !important 才能覆盖 inline 的 max-width（作者样式表中的 important 声明 > 普通 inline 声明）。 */
.hero .hero-tag, .hero .hero-title, .hero .hero-desc, .hero .hero-trust{ max-width: 100% !important; }

/* CADIMGRIGHT_20261009: /cad/ hero —— 主图贴右（与版本区卡片右边缘同线）；单列窄屏不适用 */
@media (min-width: 761px){
  .hero .hero-inner > div:last-child{ display: flex; justify-content: flex-end; align-items: center; }
  .hero .hero-inner > div:last-child picture{ display: block; }
}

/* ===== CAD_REVIEWS_20261011175206.: 评论区（结构/类名照 sketchup/app.css L161-169 + L337-385；仅本页） ===== */
/* 说明: 基础评论样式（.reviews-section/.review-grid/.review-card/.review-stars/.review-text）由 cad/app.css 提供；
   本文件只保留 CAD 独有的空态与按钮样式，避免两份同义规则 */
.review-empty { grid-column: 1 / -1; text-align: center; padding: 30px 24px; }
.review-empty .review-text { color: #fff; opacity: .88; margin-bottom: 14px; }
.review-empty .review-cta { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 16px; border-radius: 8px;
  background: #fff; color: #1B3A6B; font-weight: 600; font-size: 13px; text-decoration: none; }
.review-empty .review-cta:hover { background: #f2f6ff; }

/* CAD_REVIEWS6_20261012_015511: 网格下方客服入口（app.css 无此规则，不与既有重复） */
.review-more { text-align: center; margin: 22px 0 0; }



/* CAD_STARS_FIX_20261012_023928: 星标 SVG 的尺寸/填充（值逐字取自 sketchup/app.css L369；cad/app.css 只有 .review-stars 文字规则、缺 svg 规则 ⇒ 星标此前不可见） */
.review-stars svg { display: block; width: 15px; height: 15px; fill: #D97A00; /* 站内 --rating(#FF9500) 同色相压暗一档, 与白卡对比 3.12:1 */ }
.review-stars { display: inline-flex; align-items: center; gap: 2px; }

/* CAD_MODAL91_20261012_063209: 套用 9.1 终稿（瑞士网格派）视觉 —— 仅本页、仅 #payMask 支付弹窗
   令牌沿用 CAD 自己的: --ink #112754 / --primary #2060b0 / --border #C8D9EE / --text-muted #4A7AAA
   间距阶梯 4/8/12/16/24/32；圆角统一 4px；选中态 = 整行浅底 #EAF2FA + 左侧 3px 强调竖条（不用发光）
   ✗ 未改任何 id / 事件 / 模板字符串 / 支付逻辑；✗ 价格显示保持现状（不渲染）*/
#payMask .pay-modal { border-radius: 4px; }
#payMask .pay-modal-body { padding: 10px 20px 16px; }
#payModalBody .version-options { gap: 8px; margin-bottom: 24px; }
#payModalBody .version-option { padding: 12px 14px; border: 1px solid var(--border); border-radius: 4px; }
#payModalBody .version-option:hover { background: var(--bg-soft); border-color: var(--primary-light); }
#payModalBody .version-option.selected { background: #EAF2FA; border-color: var(--primary); box-shadow: inset 3px 0 0 var(--primary); }
#payModalBody .version-option-name { font-size: 14px; font-weight: 600; }
#payModalBody .version-option-year { font-size: 12px; color: var(--text-muted); margin-top: 4px; }
#payModalBody .pay-input { height: 44px; padding: 0 12px; font-size: 14px; border: 1px solid var(--border); border-radius: 4px; }
#payModalBody .pay-btn-primary { height: 44px; margin-top: 24px !important; font-size: 15px; font-weight: 600; border-radius: 4px; }
#payModalBody #payMsg { margin-top: 8px !important; font-size: 12px; }
#payModalBody .version-option:focus-visible, #payModalBody .pay-btn-primary:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
#payModalBody .pay-btn-primary:active { transform: translateY(1px); }
@media (prefers-reduced-motion: reduce) { #payModalBody * { transition: none !important; } }

/* CAD_V3_$TS: 分区步骤式（3 段小标题 + 段间 1px 线）—— 仅本页、仅 #payModalBody
   字号 12/14/15；间距 8/12/20/24；纸白底 + 1 条线分组；无卡片套卡片；无渐变/发光 */
#payModalBody .pay-selected-version, #payModalBody .version-options { margin-top: 8px; }
#payModalBody .pay-selected-version { padding: 14px 16px; background: #EAF2FA; border: 2px solid var(--primary); border-radius: 4px; display: flex; justify-content: space-between; align-items: center; }
#payModalBody .version-options { gap: 8px; }
#payModalBody .version-option { padding: 12px 14px; border: 1px solid var(--border); border-radius: 4px; }
#payModalBody .version-option.selected { background: #EAF2FA; border-color: var(--primary); box-shadow: inset 3px 0 0 var(--primary); }
#payModalBody .pay-input { height: 44px; padding: 0 12px; font-size: 14px; border: 1px solid var(--border); border-radius: 4px; }
#payModalBody .pay-btn-primary { height: 44px; margin-top: 8px !important; font-size: 15px; font-weight: 600; border-radius: 4px; }
#payModalBody #payMsg { margin-top: 8px !important; font-size: 12px; }
#payModalBody .pay-btn-primary:active { transform: translateY(1px); }
@media (prefers-reduced-motion: reduce) { #payModalBody * { transition: none !important; } }

/* CAD_NOSEC_20261012_065544: 去掉三段编号文案后，把两条 1px 分组线改挂到相邻块 ——
   线① = 版本区下沿（#versionOptions / .pay-selected-version 的 border-bottom）
   线② = 手机号区下沿（#payMsg 的 border-bottom）⇒ 观感仍是「版本区 ─ 手机号区 ─ 支付区」*/
#payModalBody .version-options, #payModalBody .pay-selected-version { padding-bottom: 20px; border-bottom: 1px solid var(--border); }
#payModalBody #payMsg { margin-top: 20px !important; padding-bottom: 20px; border-bottom: 1px solid var(--border); }

/* CAD_QSTYLE_20261012_072531: 二维码态 + 支付成功态 统一到 #lineMask 的 .n10-* 视觉
   对齐项: 圆角 6px ｜ 主按钮 42px 黑底白字 ｜ 次按钮 42px 白底描边 ｜ 提示 12px #8A8A93 ｜ 分隔线 1px #EFEFF1 ｜ 正文 13.5px
   作用域限定在 #payModalBody（二维码/成功态都渲染在它里面）⇒ 不影响登录弹窗、订单弹窗等其它层 */
#payModalBody .qrcode-area { display: flex; flex-direction: column; align-items: center; padding: 8px 0 0; }
#payModalBody .qrcode-img { width: 220px; height: 220px; padding: 10px; background: #FFFFFF; border: 1px solid #EFEFF1; border-radius: 6px; }
#payModalBody #qrcodeStatus { margin-top: 10px; padding-top: 10px; border-top: 1px solid #EFEFF1; width: 100%; text-align: center; font-size: 12px; color: #8A8A93; line-height: 1.65; }
#payModalBody #qrcodePaidBtn { display: block; width: 100%; height: 42px; margin-top: 10px; border: 1px solid #0A0A0B; border-radius: 6px; background: #0A0A0B; color: #FFFFFF; font-size: 13.5px; font-weight: 600; cursor: pointer; font-family: inherit; }
#payModalBody #qrcodePaidBtn:active { transform: translateY(1px); }
#payModalBody #qrcodePaidBtn:focus-visible { outline: 2px solid #0A0A0B; outline-offset: 2px; }
#payModalBody #qrcodeCancelBtn { display: block; width: 100%; height: 42px; margin-top: 10px; border: 1px solid #DCDCE0; border-radius: 6px; background: #FFFFFF; color: #0A0A0B; font-size: 13.5px; font-weight: 500; cursor: pointer; font-family: inherit; }
#payModalBody #qrcodeCancelBtn:active { transform: translateY(1px); }
@media (prefers-reduced-motion: reduce) { #payModalBody .qrcode-area *, #payModalBody #qrcodePaidBtn, #payModalBody #qrcodeCancelBtn { transition: none !important; } }

/* CAD_FINAL3_20261012_075306: 成功页按 final3_清单步骤式 落地（纯 CSS；只作用 #payModalBody）
   final3 规格: 步号 24px 圆（--primary-soft 底 / --primary 字）｜ 标题 15/600 ｜ 正文 13/20 ｜ 说明 13/20 --text-muted
   每步 border-top 1px --border + 上下 16px ｜ 按钮 44px / 4px / 15px 600，三档（1 实心 + 1 描边 + 1 文字）｜ 间距 4/8/12/16/20
   ⚠️ final3 的「3px 左边线」指引条未采用（impeccable 禁侧边粗色条）⇒ 普通段落 + 站点 --ink-3
   ⚠️ final3 实心按钮为蓝 #1F5FA8 ⇒ 映射为站点 --primary #2060b0（同色相，不引入第二个蓝）*/
#payModalBody .sd-root { max-height: none; overflow: visible; padding: 4px 20px 16px; }
#payModalBody .sd-note { margin: 0; font-size: 12.5px; line-height: 20px; color: #212121; }   /* CAD_NONBLUE_20261013_044654: 客户要求整段不用蓝 ⇒ 段级 color 由 --ink-3 改为真值 #212121（加粗保留 ✔）*/
#payModalBody .sd-step { margin: 0; padding: 16px 0 0; border-top: 1px solid var(--border); }
#payModalBody .sd-idx { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border: 0; border-radius: 50%; background: var(--primary-soft); color: var(--primary); font-size: 14px; font-weight: 600; margin-right: 12px; vertical-align: middle; font-variant-numeric: tabular-nums; }
#payModalBody .sd-title { font-size: 15px; line-height: 22px; font-weight: 600; color: var(--ink); vertical-align: middle; }
#payModalBody .sd-desc { margin: 4px 0 0; font-size: 13px; line-height: 20px; color: var(--text-muted); }
#payModalBody .sd-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
#payModalBody .sd-actions--mt { margin-top: 4px; }
#payModalBody .sd-actions--between { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
#payModalBody .sd-divider { height: 0; background: none; border-top: 1px solid #EFEFF1; margin: 0; }
#payModalBody .sd-cta { display: inline-flex; align-items: center; justify-content: center; height: 44px; padding: 0 20px; border: 1px solid var(--primary); border-radius: 6px; background: #0A0A0B; border-color: #0A0A0B; color: #FFFFFF; font-size: 13.5px; font-weight: 600; font-family: inherit; cursor: pointer; white-space: nowrap; }
#payModalBody .sd-cta:active { transform: translateY(1px); }
#payModalBody .sd-cta:disabled { background: var(--primary-soft); border-color: var(--border); color: var(--text-muted); cursor: not-allowed; }
#payModalBody .sd-cta:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
#payModalBody .sd-cta--ghost { background: #FFFFFF; color: var(--ink); border-color: var(--border-2); text-decoration: none; }
#payModalBody .sd-field { flex: 1 1 220px; min-width: 160px; box-sizing: border-box; }
#payModalBody .sd-tip { margin: 4px 0 0; font-size: 13px; line-height: 20px; color: var(--text-muted); }
#payModalBody label.sd-tip { margin: 0 0 8px; font-size: 14px; line-height: 20px; font-weight: 600; color: var(--ink-3); }
#payModalBody .sd-msg { margin: 4px 0 0; font-size: 13px; line-height: 20px; font-weight: 600; color: var(--ink); }
#payModalBody .sd-err { text-align: center; padding: 32px 24px; }
#payModalBody .sd-err__t { font-size: 18px; color: #B4232A; }
@media (max-width: 420px) { #payModalBody .sd-cta { width: 100%; } }
/* CAD_FINAL3B_20261012_075724: 补齐 final3 的头部块与 3px 引导条、完成态（final3 原值）*/
#payModalBody .sd-head__t { margin: 0; font-size: 22px; line-height: 30px; font-weight: 650; letter-spacing: .01em; color: var(--ink); }
#payModalBody .sd-head__s { margin: 0; font-size: 14px; line-height: 20px; color: var(--text-muted); }
#payModalBody .sd-note { margin: 0; padding: 0 0 0 12px; border-left: 3px solid var(--border-2); }
#payModalBody .sd-ok { margin: 4px 0 0; font-size: 13px; line-height: 20px; font-weight: 600; color: var(--ink); }
#payModalBody .sd-ok[hidden] { display: none; }
#payModalBody .sd-idx.is-done { background: var(--primary); color: #FFFFFF; }
#payModalBody #subEmailMsg:empty { display: none; }   /* 没内容时不占 17px 占位 ✔ 有内容时照常显示 */
#payModalBody .sd-ok[hidden] { display: none; }        /* 完成态平时不占高（复核 ✔）*/
#payMask:has(.sd-root) .pay-modal-body { padding: 6px 20px 8px; }   /* 仅当弹窗体内是成功页时生效；共享规则 #payMask .pay-modal-body 不动 */

html body .pay-mask[hidden] { display: none; }   /* 保险: 带 hidden 的遮罩永不显示（更高优先级 ✔ 无 !important ✔）*/
/* CAD_NINE_20261012_234348: 审查清单九条（仅成功页 ✔）*/
#payMask:has(.sd-root) #payModalTitle { display: none; }                       /* ② 隐藏标题文字（id 保留 ✔）*/
#payMask:has(.sd-root) .pay-modal-header { justify-content: flex-end; padding: 6px 12px; }                /* ② 标题栏压矮（× 仍在右、可点 ✔）*/
#payModalBody .sd-note b { color: inherit; font-weight: 500; }                 /* ③ 加粗不再发黑（沿用 --ink-3 ✔）*/
#payMask:has(.sd-root) label.sd-tip[for="subEmail"] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }  /* ⑨ 标签视觉隐藏、读屏保留（不用 display:none）*/
/* CAD_POLISH2_20261012_235001: 六条低风险打磨（仅 #payModalBody 作用域 ✔ 同一风格内 ✔）*/
#payModalBody .sd-cta { font-size: 14px; }                                    /* ① 按钮 13.5 → 14px */
#payMask:has(.sd-root) #payModalBody .pay-input { border-radius: 6px; }        /* ② 输入框圆角 4 → 6px */
#payModalBody .sd-actions--mt { margin-top: 8px; }                            /* ③ 说明→按钮 4 → 8px */
#payModalBody .sd-tip { color: var(--ink-3); }                                /* ⑤ 提示 色差区分 */
/* CAD_DIRBCSS_20261012_235523: 方向B·清单式 纯CSS兜底（照 docs/dirB_清单式.html 的值 ✔ engine.js 零写入 ✔）
   ① 字号 17/14/12.5  ② 间距 4/10/20  ③ 每条目 1px 通栏 #E8EDF3  ④ 圆圈→8px 状态点（②=进行中蓝）
   ✗ 未做: ::before 契约句 / 1/3→2/3 联动 / 结构重排 / 任何 engine.js 写入（按批准口径）*/
#payModalBody .sd-head__t { font-size: 17px; line-height: 24px; }
#payModalBody .sd-title { font-size: 14px; }
#payModalBody .sd-step { padding: 10px 0; border-top: 1px solid #E8EDF3; }
#payModalBody .sd-desc, #payModalBody .sd-tip { margin-top: 4px; }
#payModalBody .sd-divider { margin: 20px 0; }
#payModalBody .sd-idx { width: 8px; height: 8px; min-width: 8px; border: 0; background: var(--ink-3); color: transparent; font-size: 0; border-radius: 50%; margin-top: 6px; }
#payModalBody .sd-step.is-current .sd-idx { background: var(--primary); }

/* CAD_CONTRACT_20261012_235644: 契约句 + 状态类驱动（纯展示 ✔ 无 !important ✔）*/
#payModalBody .sd-step.is-done .sd-idx { background: var(--ink-3); }

/* CAD_DIRBEXACT_20261013_000130: 按 dirB 原型逐项对齐（引导段页尾 ✔ ① 动作并排 ✔ 契约句主句+灰后缀 ✔ 隐藏 prototpye 没有的分隔线 ✔）*/
#payModalBody .sd-actions { align-items: center; }
#payModalBody .sd-divider { display: none; }
/* CAD_ADSKSKIN_20261013_043145: Autodesk 真值皮肤（仅成功页 ✔ 只改字体/字号/字距/颜色 ✔ 文案一字不动 ✔）
   真值出处: signin.autodesk.com 内联 CSS 逐字 —— font-family: ArtifaktElement, Arial, sans-serif ｜ .typography-main-heading 21-26px/1.2 ｜ .875rem=14px/1.5 ｜ letter-spacing 0 ｜ #000 / .paper-root #212121 ｜ .divider-styles #e5e5e5
   有意偏离: 输入框描边保留 #8a8a8a（真值卡片是 border:0），可辨识优先 ✔ ｜ 字体只写名字、不自托管 ✔ */
#payModalBody .sd-root, #payModalBody .sd-root * { font-family: ArtifaktElement, Arial, sans-serif; }
#payModalBody .sd-title { font-size: 14px; line-height: 1.4; letter-spacing: 0; color: #000; }
#payModalBody .sd-idx { border-radius: 0; background: #000; }
#payModalBody .sd-cta { border-radius: 0; background: #000; border-color: #000; font-size: 14px; font-weight: 600; }
#payModalBody .sd-cta--ghost { background: #fff; color: #000; border: 1px solid #8a8a8a; border-radius: 2px; }
#payModalBody #subEmail, #payModalBody .pay-input { border-radius: 0; border-color: #8a8a8a; font-size: 14px; }
#payModalBody .sd-divider { border-top-color: #e5e5e5; }
#payModalBody .sd-step { border-top-color: #e5e5e5; }
/* CAD_NOTE125_20261013_043600: 客户指令两处（仅页尾说明 ✔ 文案一字不动 ✔）*/
#payModalBody .sd-note { padding-left: 0; border-left: 0; }          /* ① 连竖线带左内边距一起删除 ✔ */
#payModalBody .sd-note { font-size: 12.5px; line-height: 1.45; }     /* ② 更像脚注：14 → 12.5px（比照其线上旧值）✔ */
#payModalBody .sd-desc, #payModalBody .sd-tip, #payModalBody .sd-msg, #payModalBody .sd-ok { font-size: 14px; line-height: 1.5; letter-spacing: 0; color: #212121; }
/* CAD_LINEFONT2_20261013_045032: 收敛版——只保留线上真实存在的类名（范围只减不增 ✔ 颜色/圆角/间距仍未动 ✔）*/
#lineMask, #lineMask * { font-family: ArtifaktElement, Arial, sans-serif; }
#lineMask .pay-modal-header span { font-size: 22px; line-height: 1.2; letter-spacing: 0; font-weight: 600; }
#lineMask .n10-opt, #lineMask .n10-opt * { font-size: 14px; font-weight: 600; letter-spacing: 0; }
#lineMask .n10-sub, #lineMask .n10-hint, #lineMask .n10-note, #lineMask #lineHint { font-size: 12.5px; line-height: 1.45; letter-spacing: 0; }
#lineMask .n10-inp, #lineMask #linePhone { font-size: 14px; }
#lineMask .n10-cta, #lineMask #lineConfirmBtn, #lineMask button { font-size: 14px; font-weight: 600; }
/* CAD_LINETHEME_20261013_045232: 「选择购买方式」面板整套黑白灰（含颜色 ✔ 选中态/禁用态用黑白灰重新表达 ✔ 尺寸/间距未动 ✔）*/
#lineMask { color: #212121; }
#lineMask .pay-modal-header span { color: #000; }
#lineMask .n10-sub, #lineMask .n10-hint, #lineMask #lineHint, #lineMask .n10-note { color: #212121; }
#lineMask .n10-opt, #lineMask .n10-opt-name, #lineMask .n10-opt-main, #lineMask .n10-opt-desc, #lineMask .n10-tag { color: #212121; }
#lineMask .n10-opt { border: 1px solid #8a8a8a; border-radius: 0; background: #fff; }
#lineMask .n10-opt.is-sel, #lineMask .n10-opt.selected { border: 2px solid #000; background: #fff; box-shadow: none; }
#lineMask .n10-opt.is-sel::before, #lineMask .n10-opt.selected::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 8px; background: #000; vertical-align: middle; }
#lineMask .n10-opts, #lineMask .n10-note { border-color: #e5e5e5; }
#lineMask .n10-inp, #lineMask #linePhone { border: 1px solid #8a8a8a; border-radius: 0; color: #212121; }
#lineMask .n10-inp:focus, #lineMask #linePhone:focus { outline: 2px solid #000; outline-offset: 1px; border-color: #000; }
#lineMask .n10-cta, #lineMask #lineConfirmBtn { background: #000; color: #fff; border: 1px solid #000; border-radius: 0; }
#lineMask .n10-cta:disabled, #lineMask #lineConfirmBtn:disabled { background: #e5e5e5; color: #5c5c5c; border-color: #e5e5e5; cursor: not-allowed; }

/* CAD_QRDEPLOY_20261013_050048: 二维码屏对齐三屏语言（仅呈现 ✔ 逻辑未动 ✔）*/
#payModalBody .qrcode-area, #payModalBody .qrcode-area * { font-family: ArtifaktElement, Arial, sans-serif; }
#payModalBody .qrcode-hint { margin-top: 6px; font-size: 12.5px; line-height: 1.45; color: #6b6b6b; }
#payModalBody .qrcode-orderno { margin-bottom: 8px; font-size: 14px; font-family: inherit; color: #212121; }
#payModalBody .qrcode-img { width: 200px; height: 200px; padding: 16px; border: 1px solid #e5e5e5; border-radius: 0; background: #fff; }
#payModalBody #qrcodeStatus { margin-top: 14px; padding-top: 12px; border-top: 1px solid #e5e5e5; font-size: 14px; line-height: 1.45; color: #212121; }
#payModalBody .qr-spin { width: 12px; height: 12px; border: 2px solid #e5e5e5; border-top-color: #000; border-radius: 50%; display: inline-block; vertical-align: -1px; margin-right: 6px; animation: qrsp .9s linear infinite; }
@keyframes qrsp { to { transform: rotate(360deg) } }
@media (prefers-reduced-motion: reduce) { #payModalBody .qr-spin { animation: none } }
#payModalBody #qrcodePaidBtn { height: 44px; border-radius: 0; font-size: 14px; }
#payModalBody #qrcodeCancelBtn { height: 44px; border-radius: 0; font-size: 14px; border-color: #8a8a8a; }

/* CAD_QRFOOT_20261013_050430: 二维码屏页尾说明（照图逐字 ✔ 仅呈现 ✔）*/
#payModalBody .qrcode-foot { margin-top: 14px; font-size: 12.5px; line-height: 1.45; color: #212121; text-align: center; }

/* CAD_A5TITLE_20261013_050532: 副标题样式（照图 ✔）*/

/* CAD_HIDESTATUS_20261013_050810: 客户要求不显示状态行 ⇒ 只隐藏、不删元素（轮询继续写入 ✔ 不会断链 ✔）*/
/* CAD_PAIDHIDE_20261013_050923: 客户要求去掉「我已支付」⇒ 只隐藏、不删元素（id 仍被流程引用 ✔ 一行可还原 ✔）；状态行恢复可见 ✔ */
#payModalBody #qrcodePaidBtn { display: none; }

/* CAD_TITLESCOPE_20261013_051735: 标题规则去掉 #payModalBody 前缀（标题在 .pay-modal-header 里，不是 #payModalBody 的后代 ⇒ 旧规则永不命中 ✗）*/
#payMask .pay-modal-header span { font-size: 22px; line-height: 1.2; font-weight: 600; color: #000; letter-spacing: 0; }
#payMask .pay-modal-header .pay-title-sub { display: block; font-size: 14px; line-height: 1.45; font-weight: 400; color: #212121; }

/* CAD_SPACE_20261013_051820: 间距重排（上方收 −8px / 下方放 +8px ⇒ 净≈0 ✔ 不缩字号不删文案 ✔）*/
#payModalBody .qrcode-area { padding: 0; }          /* 原 padding: 8px 0 0 ⇒ 上方收 8px */
#payModalBody #qrcodeStatus { margin-top: 18px; }   /* 14 → 18 */
#payModalBody #qrcodeCancelBtn { margin-top: 12px; }/* 10 → 14（可见按钮；主按钮已隐藏）*/

/* CAD_TOPSHRINK_20261013_051909: 只从上方收（支付弹窗体上内距 22 → 12px ✔ 仅上方 ✔ 字号/文案/二维码未动 ✔）*/
#payMask .pay-modal-body { padding-top: 4px; }   /* 真值上内距原为 10px（L215）⇒ 收满 10px ✔ 只收"上" ✔ 左右 20 / 底 16 未动 ✔ */

/* CAD_IMPROVED_20261013_052835: 照改进稿落地（二维码 240 ✔ 上内距 6 ✔ 状态行分隔线 ✔ 下方间距回正 ✔ 标题栏线色 #e5e5e5 ✔）*/
#payModalBody #qrcodeStatus { margin-top: 12px; padding-top: 14px; border-top: 1px solid #e5e5e5; margin-bottom: 14px; }
#payMask .pay-modal-header { border-bottom-color: #e5e5e5; }

/* CAD_COMPACT2_20261013_053157: 立即压缩（二维码 200 ✔ 安静区 16 未动 ✔ 间距收紧 ✔ 金额行 18/700 ✔）+ 宽屏双栏（grid ✔ 不改 DOM 顺序 ✔ 不动 id ✔）*/
#payModalBody #qrcodeStatus { margin-top: 10px; padding-top: 10px; margin-bottom: 10px; }
@media (min-width: 480px) {
}
/* CAD_WIDE2COL_20261013_053252: 宽屏双栏修正（放宽面板 560 ✔ 左列 180 ✔ 右列起排 ✔ 仅媒体查询内 ✔ 窄屏未动 ✔）*/
@media (min-width: 480px) { #payModalBody .qrcode-area .qrcode-orderno, #payModalBody .qrcode-area .qrcode-amount { white-space: nowrap; } }
/* CAD_GRIDAREA_20261013_053343: 宽屏双栏——7 条显式 grid-area（✗ 不改 DOM ✔ 仅媒体查询内 ✔ 窄屏未动 ✔）*/
@media (min-width: 480px) {
}

/* CAD_NOBORDER_20261013_053836: ① 二维码去 1px 边框（保留 16px 白边=安静区 ✔ 高度不变 ✔）② 状态行改回居中（与提示/订单号/金额/页尾一致 ✔）*/
#payModalBody .qrcode-img { border: 0; }

/* CAD_TITLE1LINE_20261013_054200: ① 提示与二维码同宽(200px)并紧贴(2px) ✔ ② 标题回一行(副标题 inline)并缩小(17/13) ✔ 纯 CSS ✔ */
#payModalBody .qrcode-hint { width: 200px; margin: 2px auto 0; }
#payMask .pay-modal-header span { font-size: 17px; line-height: 1.25; }
#payMask .pay-modal-header .pay-title-sub { display: inline; font-size: 13px; line-height: 1.25; font-weight: 400; color: #212121; margin-left: 6px; }

/* CAD_GAPFIX_20261013_054536: 让码贴住提示——去掉 .qrcode-img 的下外边距(base L58 margin:0 auto 10px 的 10px)并显式 display:block+margin-bottom:0 ✔ 安静区 16px 保留 ✔ */
#payModalBody .qrcode-img { display: block; margin: 0 auto; margin-bottom: 0; }

/* CAD_CLIPQR_20261013_055056: 客户确认白边在图内(四周均匀) ⇒ 保守裁边缘 5%（每边≈10px 码本体理论不动 ✔ 不缩放不形变 ✔ 一行可逆 ✔）*/

/* CAD_NARROW_20261013_055403: 空白主因=面板过宽(420) ⇒ 仅二维码屏收窄到 320（:has 限定 ✔ 不动共享 app.css ✔ 高度不变 ✔）*/

/* CAD_KILLGAP_20261013_055635: 只压"码上方空"与"码→提示空"（删 clip ✔ 图片上下内边距 0 ✔ body 上内距 0 ✔ 提示上距 0 ✔ 头部下内距 18→10 ✔）✗ 未动宽度/字号/按钮/文案 ✔ */
#payModalBody .qrcode-img { padding: 0 16px; }
#payMask .pay-modal-body { padding-top: 0; }
#payModalBody .qrcode-hint { margin-top: 0; }
#payMask:has(.qrcode-img) .pay-modal-header { padding-bottom: 10px; }

/* CAD_QRWIN_20261013_055752: 画大+开窗——图片 240px 画进 200px 窗口（overflow:hidden）⇒ 图内自带白边被裁到窗外 ✔ 卡片高度不变 ✔ padding 0 ✔ */
#payModalBody .qrwin { display: grid; place-items: center; width: 160px; height: 160px; margin: 0 auto; overflow: hidden; }
#payModalBody .qrcode-img { width: 176px; height: 176px; padding: 0; }

/* CAD_W420_20261013_060124: 撤掉 320px（那是我自己为追空白加的，客户要求与"选版本"一致 ⇒ 回到共享 420px）✗ header 10px 与 body padding-top 0 刻意保留: 客户点名"码上方不要空" ✔ */

/* CAD_QRSMALL_20261013_061308: 客户"二维码太大了" ⇒ 收一档: 窗口 200→180 / 图 240→200 ⇒ 每边裁 10px（原 20px）✗ 未动宽度/字号/按钮/文案 ✔ */

/* CAD_QRSTD_20261013_062140: ① 提示下侧留 8px 间隙（上间距仍 0=紧贴码 ✔）② 码回标准大小: 窗口 200 / 图 220 ⇒ 每边裁 10px ✔ */
#payModalBody .qrcode-hint { margin-bottom: 8px; }

/* CAD_QR160_20261013_062418: 客户"二维码还是很大" ⇒ 窗口 200→160 / 图 220→176 ⇒ 每边仍只裁 8px（保住安静区 ✔）✗ 未动间隙/宽度/字号/文案 ✔ */

/* CAD_HINTLEFT_20261013_062957: 客户要求提示行与订单号左边缘对齐+改黑 ⇒ 提示 width:auto + text-align:left + color:#000；订单号同步 left（原本受容器 center 影响）✗ 未动间隙/码/宽度/字号 ✔ */
#payModalBody .qrcode-hint { width: auto; text-align: left; color: #000; }

/* CAD_HINTQR_20261013_063024: 更正——提示与"二维码"同宽同列(160px) + 行内左对齐(左缘与码齐) + 颜色 #000 ✗ 未动间隙/紧贴/码尺寸/面板/其它行对齐 ✔ */
#payModalBody .qrcode-hint { width: 160px; margin-left: auto; margin-right: auto; text-align: center; color: #000; font-size: 11.5px; }

/* CAD_ORDCENTER_20261013_063103: 还原订单号对齐 ⇒ 删掉我上轮多加的 left 覆盖，让它回到继承 .qrcode-area 的 center（= 与金额/状态行/页尾一致）✗ 未动提示/码/面板/其它行 ✔ */

/* CAD_HINTSIZE_20261013_063533: 客户要求提示左右都对齐二维码 ⇒ 让文字宽度≈码宽(160px): 字号 12.5→11px ✔ 并 text-align:center（等宽时与 left 等效，防换行时左右对称）✗ 未动颜色/间隙/紧贴/码/面板 ✔ */

/* CAD_ALIGN138_20261013_063552: 实测 12.5px 时提示文字自然宽 =137.5px（窄于码 160px）⇒ 改为"码窗口收成 138px"让两者左右边界重合（差 0.5px）✔ 字号回到 12.5px（✗ 不放大成 14.5px）⇒ 码同时变小 ✔ 每边裁 7px ✔ */

/* CAD_HINT115_20261013_063810: ① 恢复客户已接受的码尺寸（窗口 160 / 图 176，每边裁 8px）★ 码几何量自此冻结 ✗ 不再擅动 ② 只把提示字号 12.5→11.5px，宽度保持 160px（= 与码同宽 ⇒ 保证单行）居中 ✔ */

/* CAD_ACTSTYLE_20261013_070519: 激活版成功页套订阅版令牌（⑦ 黑方块标记 8px 方角 #000 + 小节标题 14/1.4/#000 + 卡片 1px #8a8a8a/2px）✗ 仅激活版元素 ✔ */
#payModalBody .install-guide-header { align-items: center; }
#payModalBody .install-guide-icon::before { content: ""; display: inline-block; width: 8px; height: 8px; background: #000; border-radius: 0; margin-right: 8px; vertical-align: middle; }
#payModalBody .install-guide-title { font-size: 14px; line-height: 1.4; font-weight: 600; color: #000; }
#payModalBody .install-guide-link { border: 1px solid #8a8a8a; border-radius: 2px; }
#payModalBody .install-guide-link-title { font-size: 14px; font-weight: 600; color: #000; }

/* CAD_ACTFONT2_20261013_070626: 激活版成功页字体族对齐（install-guide 类及其子元素）✗ 仅激活版元素 ✔ ✗ 不 hotlink 字体 ✔ */
#payModalBody .install-guide, #payModalBody .install-guide * { font-family: ArtifaktElement, Arial, sans-serif; }

/* CAD_GUIDE_20261013_071850: 激活版成功页①教程卡片真改成扁平单行次级按钮观感（覆盖 L78 的厚圆角大块）②标题栏对齐订阅版（隐藏标题/压矮，× 保留）✗ 不用 !important ✔ 只命中本页元素 ✔ */
#payModalBody .install-guide-link { padding: 0 14px; height: 44px; min-height: 44px; background: #fff; border: 1px solid #8a8a8a; border-radius: 2px; gap: 10px; }
#payModalBody .install-guide-link:hover { background: #fff; box-shadow: none; transform: none; }
#payModalBody .install-guide-link-icon { font-size: 20px; line-height: 1; display: inline-flex; align-items: center; }
#payModalBody .install-guide-link-arrow { color: #000; font-size: 16px; font-weight: 400; display: inline-flex; align-items: center; }
#payMask:has(.install-guide) #payModalTitle { display: none; }
#payMask:has(.install-guide) .pay-modal-header { justify-content: flex-end; padding: 6px 12px; }

/* CAD_P0_20261013_073442: P0-A 两行合并为页尾注 ｜ P0-B 去标题栏底带+×浮右上 ｜ P1-A 间距尺 16/8/8/16 ✗ 不用 !important ✔ */
#payMask:has(.install-guide) .pay-modal-header { background: #fff; border-bottom: 0; padding: 0; min-height: 0; position: relative; }
#payMask:has(.install-guide) .pay-modal-close { position: absolute; right: 10px; top: 8px; }
#payModalBody .install-guide { padding: 16px 0 0; }
#payModalBody .install-guide-link { margin-top: 8px; }

/* CAD_ORDERS1_20261013_074145: 表格版「我的订单」字体族+标题21/1.2/600/#000+正文14/1.5/#212121+小字12.5/1.45+分隔线1px #e5e5e5 ✗ 未动圆角/按钮/emoji/另一视图 ✔ 不用 !important ✔ */
#orders-mask, #orders-mask * { font-family: ArtifaktElement, Arial, sans-serif; letter-spacing: 0; }
#orders-mask .pay-modal-header span, #orders-mask .modal-title { font-size: 21px; line-height: 1.2; font-weight: 600; color: #000; }
#orders-mask .pay-modal-header { border-bottom: 1px solid #e5e5e5; }
#orders-mask .order-table, #orders-mask .order-table td, #orders-mask .order-table th, #orders-mask .order-result, #orders-mask #ordersList { font-size: 14px; line-height: 1.5; color: #212121; }
#orders-mask .order-table tr { border-bottom: 1px solid #e5e5e5; }
#orders-mask .order-table th { border-bottom: 1px solid #e5e5e5; color: #212121; }
#orders-mask .order-input, #orders-mask .pay-input { font-size: 14px; line-height: 1.5; color: #212121; letter-spacing: 0; }
#orders-mask small, #orders-mask .order-sub, #orders-mask .order-meta { font-size: 12.5px; line-height: 1.45; color: #212121; }

/* CAD_ORDERS2_20261013_074228: 部件二 表格版「我的订单」按钮套参考体系（主=纯黑44px方角/次=白底1px #8a8a8a/禁用=中性灰）✗ 未动圆角/emoji/另一视图 ✔ 不用 !important ✔ */
#orders-mask .action-btn-primary { height: 44px; padding: 0 20px; background: #000; border: 1px solid #000; border-radius: 2px; color: #FFFFFF; font-size: 14px; font-weight: 600; letter-spacing: 0; }
#orders-mask .action-btn-primary:hover { background: #000; border-color: #000; }
#orders-mask .action-btn-primary:disabled { background: #e5e5e5; border-color: #e5e5e5; color: #5c5c5c; cursor: not-allowed; }
#orders-mask .order-download-btn { height: 36px; padding: 0 16px; background: #FFFFFF; border: 1px solid #8a8a8a; border-radius: 2px; color: #000; font-size: 14px; font-weight: 600; letter-spacing: 0; }
#orders-mask .order-download-btn:hover { background: #FFFFFF; border-color: #000; color: #000; }

/* CAD_ORDERSAC_20261013_074441: 部件A 订单视图圆角 14→2px（仅两个订单视图）｜ 部件C 手机号查询版套同一体系 ✗ 不用 !important ✔ 只覆盖、不改共享类 ✔ */
#orders-mask .pay-modal, #orders-mask .modal, #ordersMask .pay-modal, #ordersMask .modal { border-radius: 2px; }
#ordersMask, #ordersMask * { font-family: ArtifaktElement, Arial, sans-serif; letter-spacing: 0; }
#ordersMask .pay-modal-header span, #ordersMask .modal-title { font-size: 21px; line-height: 1.2; font-weight: 600; color: #000; }
#ordersMask .pay-modal-header { border-bottom: 1px solid #e5e5e5; }
#ordersMask, #ordersMask .pay-modal { color: #212121; }
#ordersMask #ordersList, #ordersMask #ordersList * { font-size: 14px; line-height: 1.5; color: #212121; }
#ordersMask small { font-size: 12.5px; line-height: 1.45; color: #212121; }
#ordersMask .pay-input, #ordersMask #ordersPhone { height: 44px; font-size: 14px; color: #212121; border-radius: 2px; box-sizing: border-box; }
#ordersMask #ordersQueryBtn { height: 44px; padding: 0 20px; background: #000; border: 1px solid #000; border-radius: 2px; color: #FFFFFF; font-size: 14px; font-weight: 600; letter-spacing: 0; }
#ordersMask #ordersQueryBtn:hover { background: #000; border-color: #000; }
#ordersMask #ordersQueryBtn:disabled { background: #e5e5e5; border-color: #e5e5e5; color: #5c5c5c; }

/* CAD_ACTQ_20261013_075002: 「查看订单/激活进度」弹窗套 Autodesk 体系（字体栈+标题21/1.2/600/#000+正文14/1.5/#212121+分隔线#e5e5e5+提交邮箱黑色44/2px+下载白底细边2px+输入框44/2px+圆角2px）✗ 不用 !important ✔ 只覆盖该弹窗 ✔ */
#actqMask, #actqMask *, #orderDetailMask, #orderDetailMask *, #cadActqMask, #cadActqMask * { font-family: ArtifaktElement, Arial, sans-serif; letter-spacing: 0; }
#actqMask .pay-modal, #orderDetailMask .pay-modal, #cadActqMask .pay-modal, #actqMask .modal, #orderDetailMask .modal, #cadActqMask .modal { border-radius: 2px; }
#actqMask .pay-modal-header span, #orderDetailMask .pay-modal-header span, #cadActqMask .pay-modal-header span { font-size: 21px; line-height: 1.2; font-weight: 600; color: #000; }
#actqMask .pay-modal-header, #orderDetailMask .pay-modal-header, #cadActqMask .pay-modal-header { border-bottom: 1px solid #e5e5e5; }
#actqMask, #actqMask p, #actqMask div, #actqMask span, #orderDetailMask, #orderDetailMask p, #orderDetailMask div, #orderDetailMask span, #cadActqMask, #cadActqMask p, #cadActqMask div, #cadActqMask span { font-size: 14px; line-height: 1.5; color: #212121; }
#actqMask .pay-input, #orderDetailMask .pay-input, #cadActqMask .pay-input { height: 44px; font-size: 14px; color: #212121; border-radius: 2px; box-sizing: border-box; }
#actqMask .pay-btn-primary, #orderDetailMask .pay-btn-primary, #cadActqMask .pay-btn-primary, #actqMask #cadActqSubmit, #orderDetailMask #cadActqSubmit, #cadActqMask #cadActqSubmit { height: 44px; padding: 0 20px; background: #000; border: 1px solid #000; border-radius: 2px; color: #FFFFFF; font-size: 14px; font-weight: 600; letter-spacing: 0; }
#actqMask .pay-btn-secondary, #orderDetailMask .pay-btn-secondary, #cadActqMask .pay-btn-secondary { height: 44px; padding: 0 20px; background: #FFFFFF; border: 1px solid #8a8a8a; border-radius: 2px; color: #000; font-size: 14px; font-weight: 600; letter-spacing: 0; }
