/* ============================================================
   会员登录 / 注册弹窗
   复用主题设计变量（tokens.css），不引入新色值
   ============================================================ */

.hqt-mm[hidden]{display:none!important}

.hqt-mm{
  position:fixed; inset:0;
  /* AI 询价浮层用了 int32 上限 2147483647，这里必须同值：弹窗挂在 body 末尾，
     同 z-index 时 DOM 靠后的胜出，正好压住右下角那几个悬浮按钮 */
  z-index:2147483647;
  display:flex; align-items:center; justify-content:center;
  padding:24px 16px;
  font-family:var(--f-body);
}

.hqt-mm__mask{
  position:absolute; inset:0;
  background:rgba(6,23,56,.52);
  -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px);
  opacity:0; transition:opacity .22s var(--ease);
}
.hqt-mm.is-open .hqt-mm__mask{opacity:1}

.hqt-mm__dialog{
  position:relative;
  width:100%; max-width:432px;
  background:var(--white);
  border-radius:var(--r-lg);
  box-shadow:var(--sh-4);
  padding:0 0 26px;
  opacity:0; transform:translateY(10px) scale(.985);
  transition:opacity .24s var(--ease), transform .24s var(--ease);
  max-height:calc(100vh - 48px); overflow:auto;
}
.hqt-mm.is-open .hqt-mm__dialog{opacity:1; transform:none}

/* 关闭 */
.hqt-mm__close{
  position:absolute; top:14px; right:14px; z-index:2;
  width:32px; height:32px; border:0; border-radius:50%;
  background:transparent; color:var(--muted-2);
  font-size:22px; line-height:1; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:.16s;
}
.hqt-mm__close:hover{background:var(--mist); color:var(--t)}

/* 顶部 tab */
.hqt-mm__head{display:flex; align-items:flex-end; gap:22px; padding:26px 30px 0; position:relative}
.hqt-mm__tab{
  border:0; background:none; padding:0 0 10px; cursor:pointer;
  font:600 16px/1.4 var(--f-display); color:var(--muted-2);
  position:relative; transition:color .18s;
}
.hqt-mm__tab:hover{color:var(--muted)}
.hqt-mm__tab.is-active{color:var(--t)}
.hqt-mm__tab.is-active::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:2.5px;
  border-radius:2px; background:var(--brand);
}
.hqt-mm__head::after{
  content:''; position:absolute; left:30px; right:30px; bottom:0; height:1px; background:var(--line);
}

.hqt-mm__sub{
  margin:14px 30px 0; font:400 13px/1.6 var(--f-body); color:var(--muted);
}
.hqt-mm__sub[hidden]{display:none}

/* 已登录：我的账号 */
.hqt-mm__title{
  font:600 16px/1.4 var(--f-display); color:var(--t);
  padding-bottom:10px;
}
.hqt-mm__title[hidden]{display:none}

.hqt-mm__who{
  border:1px solid var(--line); border-radius:var(--r-md);
  padding:14px 16px; background:#FAFCFF;
}
.hqt-mm__who-row{display:flex; justify-content:space-between; gap:14px; padding:5px 0; font:400 13.5px/1.5 var(--f-body)}
.hqt-mm__who-row span{color:var(--muted-2); flex:0 0 auto}
.hqt-mm__who-row b{color:var(--t); font-weight:600; text-align:right; word-break:break-all}

.hqt-mm__rights{display:flex; flex-direction:column; gap:7px; margin-top:2px}
.hqt-mm__right{display:flex; align-items:center; gap:8px; font:400 13.5px/1.5 var(--f-body); color:var(--t)}
.hqt-mm__right i{
  flex:0 0 auto; width:16px; height:16px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:rgba(26,85,194,.10); color:var(--brand);
  font:700 10px/1 var(--f-body); font-style:normal;
}
.hqt-mm__right.is-lock{color:var(--muted-2)}
.hqt-mm__right.is-lock i{background:var(--mist); color:var(--muted-2)}

/* 邮箱未验证提示条：提示色用琥珀，不用红色 —— 这不是错误，只是提醒 */
.hqt-mm__verify{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  margin-top:10px; padding:9px 12px; border-radius:var(--r-sm);
  background:#FFF9EC; border:1px solid #F5E3BE; color:#8A5B12;
  font:400 12.5px/1.5 var(--f-body);
}
.hqt-mm__verify[hidden]{display:none}
.hqt-mm__verify span{flex:1 1 auto; min-width:0}
.hqt-mm__linkbtn{
  flex:0 0 auto; background:none; border:none; padding:0; cursor:pointer;
  color:var(--brand); font:500 12.5px/1.5 var(--f-body); text-decoration:underline;
}
.hqt-mm__linkbtn:disabled{color:var(--muted-2); cursor:default; text-decoration:none}

/* 资料补全折叠块：默认收起，不占空间；B 端客户多数想先看报价再填资料 */
.hqt-mm__prof{
  margin-top:12px; border:1px solid var(--line); border-radius:var(--r-md); background:#fff;
}
.hqt-mm__prof summary{
  padding:11px 14px; cursor:pointer; list-style:none;
  font:500 13px/1.4 var(--f-body); color:var(--brand);
  display:flex; align-items:center; justify-content:space-between;
}
.hqt-mm__prof summary::-webkit-details-marker{display:none}
.hqt-mm__prof summary::after{content:'＋'; color:var(--muted-2); font-weight:400}
.hqt-mm__prof[open] summary::after{content:'－'}
.hqt-mm__prof summary:hover{background:#FAFCFF}
.hqt-mm__prof-body{padding:4px 14px 14px; border-top:1px solid var(--line)}
.hqt-mm__prof-body .hqt-mm__field{margin-top:12px}
.hqt-mm__submit--sm{
  width:100%; height:38px; margin-top:12px; font-size:13px;
}

/* 报价历史 */
.hqt-mm__hist-wrap{margin-top:6px; border-top:1px solid var(--line); padding-top:14px}
.hqt-mm__hist-title{font:600 13px/1.4 var(--f-body); color:var(--ink-2); margin-bottom:8px}
.hqt-mm__hist{display:flex; flex-direction:column; gap:6px; max-height:196px; overflow:auto}
.hqt-mm__hist-empty{font:400 12.5px/1.55 var(--f-body); color:var(--muted-2); padding:8px 0}
.hqt-mm__hist-item{
  display:flex; align-items:baseline; gap:10px;
  padding:8px 11px; border:1px solid var(--line); border-radius:var(--r-sm);
  background:#FAFCFF; font:400 12.5px/1.4 var(--f-body);
}
.hqt-mm__hist-item .hh-d{flex:1 1 auto; color:var(--t); overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.hqt-mm__hist-item .hh-p{flex:0 0 auto; color:var(--brand); font-weight:600; font-variant-numeric:tabular-nums}
.hqt-mm__hist-item .hh-t{flex:0 0 auto; color:var(--muted-2); font-size:11.5px; font-variant-numeric:tabular-nums}

/* 表单 */
.hqt-mm__form{padding:18px 30px 0; display:flex; flex-direction:column; gap:14px}
.hqt-mm__form[hidden]{display:none}

.hqt-mm__field{display:flex; flex-direction:column; gap:6px}
.hqt-mm__label{font:500 13px/1.4 var(--f-body); color:var(--muted)}
.hqt-mm__opt{font:400 11.5px/1 var(--f-body); color:var(--muted-2); font-style:normal; margin-left:4px}
.hqt-mm__ref-note{display:block; margin-top:5px; font:400 11.5px/1.5 var(--f-body); color:#22A06B}
.hqt-mm__input{
  height:46px; padding:0 14px; width:100%;
  border:1px solid var(--line); border-radius:var(--r-sm);
  background:#fff; color:var(--t);
  font:400 15px/1.4 var(--f-body);
  transition:border-color .16s, box-shadow .16s;
}
.hqt-mm__input::placeholder{color:var(--muted-2)}
.hqt-mm__input:focus{
  outline:0; border-color:var(--brand);
  box-shadow:0 0 0 3px rgba(26,85,194,.12);
}
.hqt-mm__input.is-bad{border-color:#D94848; box-shadow:0 0 0 3px rgba(217,72,72,.10)}

.hqt-mm__pw{position:relative}
.hqt-mm__eye{
  position:absolute; right:6px; top:50%; transform:translateY(-50%);
  border:0; background:none; cursor:pointer; padding:6px 9px;
  color:var(--muted-2); font:400 12px/1 var(--f-body); border-radius:6px;
}
.hqt-mm__eye:hover{color:var(--brand); background:var(--mist)}

.hqt-mm__check{
  display:flex; align-items:flex-start; gap:8px;
  font:400 12.5px/1.55 var(--f-body); color:var(--muted); cursor:pointer;
}
.hqt-mm__check input{margin:2px 0 0; width:15px; height:15px; accent-color:var(--brand); flex:0 0 auto}
.hqt-mm__check a{color:var(--brand); text-decoration:none}
.hqt-mm__check a:hover{text-decoration:underline}

.hqt-mm__submit{
  height:47px; border:0; border-radius:var(--r-sm); cursor:pointer;
  background:var(--brand); color:#fff;
  font:600 15px/1 var(--f-body);
  transition:background .16s, transform .1s;
  margin-top:2px;
}
.hqt-mm__submit:hover{background:var(--brand-2)}
.hqt-mm__submit:active{transform:translateY(1px)}
.hqt-mm__submit:disabled{opacity:.62; cursor:not-allowed; transform:none}

.hqt-mm__err{
  margin:0; padding:9px 12px; border-radius:var(--r-sm);
  background:#FDF0F0; border:1px solid #F7D6D6; color:#B83A3A;
  font:400 13px/1.55 var(--f-body);
}
.hqt-mm__err[hidden]{display:none}

/* 成功提示：找回密码发信成功后用它。
   成功和失败必须是两种颜色 —— 都用红色的话，客户看到「已发送」是红的会以为失败了。 */
.hqt-mm__ok{
  margin:0; padding:9px 12px; border-radius:var(--r-sm);
  background:#EFF8F1; border:1px solid #CFE9D6; color:#1F7A3D;
  font:400 13px/1.55 var(--f-body);
}
.hqt-mm__ok[hidden]{display:none}

/* 次要说明块：主说明之下的补充（比如「收不到邮件怎么办」） */
.hqt-mm__note--soft{
  background:transparent; border:none; padding:0 2px;
  border-top:1px dashed var(--line); padding-top:10px;
}
.hqt-mm__note--soft p{color:var(--muted-2); font-size:12px}

.hqt-mm__foot{
  margin:16px 30px 0; padding-top:14px; border-top:1px solid var(--line);
  font:400 12.5px/1.6 var(--f-body); color:var(--muted-2); text-align:center;
}
.hqt-mm__foot a{color:var(--brand); text-decoration:none}
.hqt-mm__foot a:hover{text-decoration:underline}

/* 「忘记密码」靠右，跟「免费注册」拉开距离，避免误点 */
.hqt-mm__forgot{float:right}

/* 说明块：忘记密码/设置新密码两处复用 */
.hqt-mm__note{
  margin:18px 30px 0; padding:14px 16px; border-radius:10px;
  background:#F6F8FC; border:1px solid var(--line);
}
.hqt-mm__note b{
  display:block; font:500 13.5px/1.5 var(--f-body); color:var(--ink); margin-bottom:6px;
}
.hqt-mm__note p{
  margin:0 0 6px; font:400 12.5px/1.7 var(--f-body); color:var(--muted);
}
.hqt-mm__note p:last-child{margin-bottom:0}
.hqt-mm__note-tip{color:var(--muted-2) !important; padding-top:6px; border-top:1px dashed var(--line)}

/* 骨架：提交中 */
.hqt-mm__submit.is-loading{color:transparent; position:relative}
.hqt-mm__submit.is-loading::after{
  content:''; position:absolute; left:50%; top:50%;
  width:16px; height:16px; margin:-8px 0 0 -8px;
  border:2px solid rgba(255,255,255,.4); border-top-color:#fff;
  border-radius:50%; animation:hqt-mm-spin .7s linear infinite;
}
@keyframes hqt-mm-spin{to{transform:rotate(360deg)}}

/* 报价浮条里的「注册获取尾程卡派报价」：从死文案变成真入口 */
a.qdock-no-tail{text-decoration:none; border-bottom:1px dashed currentColor; cursor:pointer}
a.qdock-no-tail:hover{opacity:.78}

/* 头部入口按钮 */
.nav-member{
  border:1px solid var(--line-2); background:#fff; color:var(--brand);
  height:36px; padding:0 14px; border-radius:999px; cursor:pointer;
  font:600 13.5px/1 var(--f-body); white-space:nowrap;
  transition:.16s; margin-left:10px;
  display:inline-flex; align-items:center; gap:6px;
}
.nav-member:hover{border-color:var(--brand); background:var(--mist)}
.nav-member[data-state="member"]{color:var(--t); border-color:var(--line)}
.nav-member .nm-dot{
  width:6px; height:6px; border-radius:50%; background:#22A06B; display:none;
}
.nav-member[data-state="member"] .nm-dot{display:inline-block}

@media (max-width:900px){
  .nav-member{margin-left:6px; height:34px; padding:0 11px; font-size:13px}
}
@media (max-width:520px){
  .hqt-mm{padding:0; align-items:flex-end}
  .hqt-mm__dialog{
    max-width:100%; border-radius:18px 18px 0 0;
    max-height:92vh; padding-bottom:calc(22px + env(safe-area-inset-bottom));
    transform:translateY(24px);
  }
  .hqt-mm.is-open .hqt-mm__dialog{transform:none}
  .hqt-mm__head{padding:22px 20px 0}
  .hqt-mm__head::after{left:20px; right:20px}
  .hqt-mm__sub{margin:12px 20px 0}
  .hqt-mm__form{padding:16px 20px 0}
  .hqt-mm__foot{margin:14px 20px 0}
  .hqt-mm__input{height:48px; font-size:16px} /* 16px 防 iOS 自动放大 */
}
