/* 全站子页 / 弹窗 / 空态统一层（不覆盖 fortune 独立暗色页） */
:root{
  --ui-modal-r:18px;
  --ui-overlay:rgba(15,23,32,.48);
  --z-toast:10020;
  --z-fab:10030;
  --z-feedback-overlay:10038;
  --z-modal-base:10040;
}

/* —— 统一居中弹窗：modal-overlay + modal-card —— */
.modal-overlay{
  position:fixed;inset:0;z-index:var(--z-modal-base);
  display:flex;align-items:center;justify-content:center;
  padding:20px;box-sizing:border-box;
  background:var(--ui-overlay);backdrop-filter:blur(6px);
}
.modal-overlay .modal-card,
.modal-overlay .modal-panel{
  width:min(560px,100%);max-height:min(88vh,900px);
  background:#fff;border-radius:var(--ui-modal-r);
  border:1px solid var(--line,#E6ECE9);
  box-shadow:0 24px 64px rgba(15,23,32,.22);
  display:flex;flex-direction:column;overflow:hidden;
  animation:uiModalIn .22s ease;
}
.modal-overlay .modal-panel.modal-wide,
.modal-overlay .modal-card.modal-wide{width:min(720px,100%)}
@keyframes uiModalIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}

.modal-head,.ai-modal-head,.upload-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:16px 20px;border-bottom:1px solid var(--line,#E6ECE9);flex:none;
}
.modal-head h3,.ai-modal-head h3,.upload-head h3{
  margin:0;font-size:16px;font-weight:800;color:var(--ink,#1a2e28);letter-spacing:-.01em;
}
.modal-close,.ai-modal-close{
  width:32px;height:32px;border-radius:10px;border:1px solid var(--line,#E6ECE9);
  background:#fff;color:var(--muted,#6b7c76);font-size:18px;line-height:1;
  cursor:pointer;display:grid;place-items:center;flex:none;
}
.modal-close:hover,.ai-modal-close:hover{background:#F4F7F6;color:var(--ink,#1a2e28)}
.modal-body{
  padding:16px 20px;overflow:auto;flex:1;min-height:0;
  font-size:14px;line-height:1.65;color:var(--ink-2,#3d4f48);
}
.modal-foot{
  padding:12px 20px;border-top:1px solid var(--line,#E6ECE9);
  display:flex;gap:10px;align-items:center;justify-content:flex-end;flex:none;flex-wrap:wrap;
}
.modal-foot .btn{min-width:96px}

/* 右上角抽屉 mask：补齐 head 结构 */
.modal-mask .modal-panel{
  display:flex;flex-direction:column;padding:0;overflow:hidden;
}
.modal-mask .modal-panel.modal-wide{width:min(720px,94vw);max-width:94vw}
.modal-mask .modal-panel .modal-head{padding:16px 20px;margin:0;border-bottom:1px solid var(--line)}
.modal-mask .modal-panel > h3{margin:0 0 6px;font-size:16px;font-weight:800}
.modal-mask .modal-panel > .desc{margin:0 0 14px}
.modal-mask .modal-body{padding:16px 20px;overflow:auto;flex:1;min-height:0}
.modal-mask .modal-foot{
  padding:12px 20px;border-top:1px solid var(--line);
  display:flex;gap:10px;justify-content:flex-end;flex:none;
}

/* —— 空态 —— */
.empty-state{
  text-align:center;padding:36px 20px;
  background:#F8FAF9;border:1px dashed #D5E0DB;border-radius:16px;color:var(--muted,#6b7c76);
}
.empty-state__icon{
  width:48px;height:48px;margin:0 auto 12px;border-radius:14px;
  background:#fff;border:1px solid var(--line,#E6ECE9);
  display:grid;place-items:center;color:var(--brand-deep,#0E5550);
}
.empty-state__icon svg{width:22px;height:22px}
.empty-state__title{font-size:14.5px;font-weight:700;color:var(--ink,#1a2e28);margin:0 0 6px}
.empty-state__desc{font-size:13px;line-height:1.6;margin:0;color:var(--muted,#6b7c76)}
.empty-state__actions{margin-top:14px;display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.empty-state--illustrated{padding:32px 20px 28px;background:#fff;border-style:solid;border-color:var(--line,#E6ECE9)}
.empty-state__art{
  width:min(180px,70%);height:auto;margin:0 auto 14px;display:block;
  filter:drop-shadow(0 12px 24px rgba(0,180,173,.16));
}

/* —— 顾问台面板（减少 card 嵌套） —— */
.desk-stack{display:flex;flex-direction:column;gap:12px}
.desk-panel{
  background:#fff;border:1px solid var(--line,#E6ECE9);border-radius:16px;padding:18px 20px;
}
.desk-panel__head{margin:0 0 14px}
.desk-panel__head h2,.desk-panel__head h3{margin:0 0 6px;font-size:16px;font-weight:800;color:var(--ink,#1a2e28)}
.desk-panel__head .desc{margin:0;font-size:13px;color:var(--muted,#6b7c76);line-height:1.55}
.desk-subsection{padding-top:14px;margin-top:14px;border-top:1px solid var(--line,#E6ECE9)}
.desk-subsection:first-child{padding-top:0;margin-top:0;border-top:0}
.desk-item{
  padding:14px 16px;border:1px solid #E8EFED;border-radius:12px;background:#FAFCFB;margin-bottom:10px;
}
.desk-item:last-child{margin-bottom:0}
.desk-table-wrap{
  overflow:hidden;border-radius:16px;border:1px solid var(--line,#E6ECE9);background:#fff;
}
.consult-table{width:100%;border-collapse:collapse;font-size:13px}
.consult-table th,.consult-table td{
  padding:12px 14px;text-align:left;border-bottom:1px solid var(--line,#E6ECE9);vertical-align:middle;
}
.consult-table th{font-size:12px;color:var(--muted,#6b7c76);background:#FAFCFB;font-weight:600}
.consult-table tbody tr:last-child td{border-bottom:0}
.consult-table .desk-table-actions{
  display:flex;flex-wrap:wrap;gap:6px;align-items:center;white-space:nowrap;
}
.consult-table .desk-table-actions .btn{margin:0;min-width:auto}
.mem-table .desk-table-actions{
  display:flex;flex-wrap:wrap;gap:6px;align-items:center;
}
.mem-table .desk-table-actions .btn{margin:0;min-width:auto}

/* —— 权益中心面板 —— */
.member-hero{margin-bottom:0}
.member-hero + .mem-tabs{margin-top:12px}
.mem-tabs{margin-top:12px;margin-bottom:0}
.mem-tabs + .mem-panel{margin-top:12px}
.member-hero + .mem-panel{margin-top:12px}
.mem-panel{
  background:#fff;border:1px solid var(--line,#E6ECE9);border-radius:20px;
  padding:22px 24px;margin-top:12px;
}
.mem-panel.mem-sku-card{margin-top:14px}
.mem-panel__head{margin-bottom:14px}
.mem-panel__head h2,.mem-panel__head h3{margin:0 0 6px;font-size:18px;font-weight:800;color:var(--ink,#1a2e28)}
.mem-panel__head .desc{margin:0;font-size:13px;color:var(--muted,#6b7c76);line-height:1.55}
.mem-panel--flush{padding:0;overflow:hidden}
.mem-panel--flush .mem-panel__head{padding:18px 20px 8px;margin-bottom:0}
.mem-panel--flush .mem-table-wrap{border-radius:0}
.ent-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px;
}
.ent-cell{
  background:#F8FAF9;border:1px solid var(--line,#E6ECE9);border-radius:14px;
  padding:14px 16px;text-align:center;
}
.ent-cell b{display:block;font-size:20px;font-weight:800;color:var(--brand-deep,#0E5550);word-break:break-all}
.ent-cell span{font-size:12px;color:var(--muted,#6b7c76)}
/* 权益网格可用/已用完分组（P2-6） */
.ent-sec-title{font-size:12px;font-weight:700;color:var(--muted,#6b7c76);margin:16px 0 4px;letter-spacing:.02em}
.ent-sec-title:first-child{margin-top:0}
.ent-grid{margin-top:8px}
.ent-cell.used{background:#F1F4F3;opacity:.75}
.ent-cell.used b{color:#9AA8A3}
.ent-go{display:block;margin-top:6px;font-size:11px;font-weight:700;color:var(--brand,#00B4AD);text-decoration:none;cursor:pointer}
.ent-cell.used .ent-go{color:var(--accent,#FC6C38)}

/* —— 快询评价弹窗（星标保留在 consult-flow.css） —— */
.cf-star-rating{display:flex;gap:8px;justify-content:center;margin-bottom:16px}
.cf-star{font-size:28px;color:#D1D5DB;cursor:pointer;transition:color .15s,transform .15s;line-height:1}
.cf-star.active,.cf-star:hover{color:#F59E0B;transform:scale(1.08)}

/* —— 快询独立页步骤面板（详情 / 确认 / 支付） —— */
.cf-step-page{max-width:560px;margin:0 auto}
.cf-step-page--wide{max-width:640px}
.cf-step-page .cf-back-btn{
  display:inline-flex;align-items:center;gap:6px;margin:0 0 12px;padding:6px 2px;
  border:0;background:transparent;color:var(--muted,#6b7c76);font-size:14px;font-weight:600;cursor:pointer;
}
.cf-step-page .cf-back-btn:hover{color:var(--ink,#1a2e28)}
.cf-app .desk-panel.cf-step-panel{border-radius:20px;padding:22px 24px}
.cf-app .cf-step-panel .desk-panel__head{margin-bottom:16px}
.cf-app .cf-step-panel .desk-panel__head h2{font-size:20px}
.cf-app .cf-step-foot{margin-top:4px}
.cf-app .cf-confirm-consultant,
.cf-app .cf-confirm-summary,
.cf-app .cf-pay-detail{
  background:#F8FAF9;border:1px solid var(--line,#E6ECE9);border-radius:14px;
  padding:14px 16px;margin-bottom:16px;
}
.cf-app .cf-confirm-consultant{display:flex;gap:14px;align-items:center;margin-bottom:16px}
.cf-app .cf-confirm-summary{margin-bottom:16px;padding:14px 16px}
.cf-app .cf-summary-row,.cf-app .cf-pay-row{
  display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:14px;
}
.cf-app .cf-pay-row + .cf-pay-row{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line,#E6ECE9)}
.cf-app .cf-pay-row span:first-child{color:var(--muted,#6b7c76)}
.cf-app .cf-pay-amount{
  text-align:center;padding:18px 16px;margin-bottom:16px;
  background:linear-gradient(160deg,#FFFBEB,#FEF3C7);border:1px solid #FDE68A;border-radius:14px;
}
.cf-app .cf-pay-label{font-size:13px;color:#92400E;margin-bottom:6px;font-weight:600}
.cf-app .cf-pay-number{font-size:32px;font-weight:800;color:var(--brand-deep,#0E5550);letter-spacing:-.02em}
.cf-app .cf-detail-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--line,#E6ECE9)}
.cf-app .cf-detail-section:first-of-type{border-top:0;padding-top:0;margin-top:0}
.cf-app .cf-detail-section h4{margin:0 0 8px;font-size:14px;font-weight:700;color:var(--ink,#1a2e28)}
.desk-table-empty{padding:8px 12px 16px;background:#fff}
.desk-table-empty .empty-state--illustrated{border:0;background:transparent}

/* —— 支付弹窗（原 mem-pay 并入 ui-shell） —— */
.pay-overlay{z-index:10020}
.pay-modal{width:min(400px,100%)}
.pay-modal .modal-body{text-align:center}
.pay-amt{font-size:17px;font-weight:700;margin:0 0 10px;color:var(--ink,#1a2e28)}
.pay-qr{width:240px;height:240px;margin:0 auto;background:#fff;border-radius:12px;border:1px solid var(--line,#E6ECE9)}
.pay-qr svg{width:100%;height:100%;display:block}
.pay-hint{font-size:13px;color:var(--muted,#6b7c76);text-align:center;line-height:1.55;margin:10px 0 0}
.order-detail-modal{width:min(440px,100%)}
.order-detail-modal .modal-body{text-align:left}
.order-detail-row{
  display:flex;justify-content:space-between;gap:12px;padding:8px 0;
  border-bottom:1px solid var(--line,#E6ECE9);font-size:13px;
}
.order-detail-row span{color:var(--muted,#6b7c76)}
.order-detail-row b{font-weight:600;color:var(--ink,#1a2e28);text-align:right}

/* 兼容旧类名（逐步淘汰） */
.mem-pay-overlay,.pay-overlay.modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;background:var(--ui-overlay);backdrop-filter:blur(6px)}
.mem-pay-modal,.pay-modal.modal-card{padding:0}
.mem-pay-amt,.pay-amt{font-size:17px;font-weight:700}
.mem-pay-qr,.pay-qr{width:240px;height:240px;margin:0 auto}
.mem-pay-hint,.pay-hint{font-size:13px;color:var(--muted,#6b7c76);line-height:1.55}
.mem-pay-x,.modal-close{width:32px;height:32px;border-radius:10px;border:1px solid var(--line,#E6ECE9);background:#fff;color:var(--muted,#6b7c76);font-size:18px;line-height:1;cursor:pointer;display:grid;place-items:center;flex:none}
.mem-detail-row,.order-detail-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line,#E6ECE9);font-size:13px}
.mem-detail-modal,.order-detail-modal{width:min(440px,100%)}

/* —— 主题表单 / 确认弹窗 —— */
.kx-dlg--form .modal-body{text-align:left;padding:18px 20px 8px}
.kx-dlg-lead{margin:0 0 8px;font-size:14px;line-height:1.65;color:var(--ink,#1a2e28)}
.kx-dlg-hint,.kx-dlg-field-hint{margin:0 0 14px;font-size:12.5px;line-height:1.55;color:var(--muted,#6b7c76)}
.kx-dlg-field{margin:0 0 14px}
.kx-dlg-label{display:block;margin:0 0 6px;font-size:13px;font-weight:700;color:var(--ink,#1a2e28)}
.kx-req{color:#d9480f}
.kx-dlg-input{
  width:100%;box-sizing:border-box;padding:10px 12px;border-radius:12px;
  border:1px solid var(--line,#E6ECE9);background:#FBFFFE;font-size:14px;color:var(--ink,#1a2e28);
  outline:none;transition:border-color .15s,box-shadow .15s;
}
.kx-dlg-input:focus{border-color:var(--brand,#00BEBD);box-shadow:0 0 0 3px rgba(0,190,189,.15)}
textarea.kx-dlg-input{resize:vertical;min-height:72px;line-height:1.55}
.kx-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kx-choice-card{
  display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;
  padding:12px 14px;border-radius:14px;border:1.5px solid var(--line,#E6ECE9);
  background:#fff;cursor:pointer;color:var(--ink,#1a2e28);transition:border-color .15s,background .15s,box-shadow .15s;
}
.kx-choice-card b{font-size:14px;font-weight:800}
.kx-choice-card span{font-size:12px;color:var(--muted,#6b7c76);line-height:1.4}
.kx-choice-card:hover{border-color:#9AD9D6;background:#F7FCFB}
.kx-choice-card.on{
  border-color:var(--brand,#00BEBD);background:linear-gradient(160deg,#F0FFFE,#E6F9F8);
  box-shadow:0 0 0 3px rgba(0,190,189,.12);
}
.kx-choice-card.on b{color:var(--brand-deep,#0A8F8E)}
.btn-danger{background:#c92a2a;border-color:#c92a2a;color:#fff}
.btn-danger:hover{filter:brightness(.95)}
@media (max-width:520px){
  .kx-choice-grid{grid-template-columns:1fr}
}

/* —— CTA 间距修饰 —— */
.cta-row--mt{margin-top:12px}
.cta-row--mt-lg{margin-top:18px}
.cta-row--flush{margin-top:16px}

/* —— 复盘结果区 —— */
.review-result{
  margin-top:18px;padding:18px;border-radius:16px;
  background:linear-gradient(160deg,#FBFFFE,#F4FAF8);
  border:1px solid #D4E8E2;
}
.review-result__head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #DCEEE9;
}
.review-result__head h3{margin:0;font-size:16px;font-weight:800;color:var(--ink,#1a2e28)}
.review-result .review-meta{margin-bottom:10px}
.review-result .signal-bar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.review-result .review-summary{
  background:#fff;border:1px solid #DCEEE9;border-radius:12px;
  padding:14px 16px;font-size:14px;line-height:1.75;color:var(--ink,#1a2e28);
  margin:0 0 14px;
}
.review-result .review-sections{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.review-result .review-section{
  background:#fff;border:1px solid #E6ECE9;border-radius:12px;
  padding:14px 16px;margin:0;
}
.review-result .review-section h4{
  margin:0 0 10px;font-size:13.5px;font-weight:800;display:flex;align-items:center;gap:8px;
}
.review-result .review-section ul,
.review-result .review-section ol{margin:0;padding-left:18px;font-size:13.5px;line-height:1.7;color:var(--ink-2,#3d4f48)}
.review-result .review-section li{margin-bottom:6px}
.review-result .review-section.is-highlight{border-color:#C6E9C9}
.review-result .review-section.is-highlight h4{color:#2F9E44}
.review-result .review-section.is-blocker{border-color:#F5D9A8}
.review-result .review-section.is-blocker h4{color:#D97706}
.review-result .review-section.is-growth{border-color:#B8E4DF}
.review-result .review-section.is-growth h4{color:#0E5550}
.review-result .review-section.is-action{border-color:#F7C7B4}
.review-result .review-section.is-action h4{color:#E85A2B}
.review-result .review-section.is-action{grid-column:1 / -1}
.review-result .review-raw{margin-top:12px}
.review-result .review-raw summary{
  cursor:pointer;font-size:13px;font-weight:600;color:var(--brand-deep,#0E5550);
}
.review-loading,.review-empty-hint{margin:0}

/* —— 子页卡片头 —— */
.subpage-card{padding:22px 24px!important;border-radius:20px!important}
.subpage-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}
.subpage-head-ic{
  width:40px;height:40px;border-radius:12px;flex:none;
  background:linear-gradient(135deg,#ECFDF5,#D1FAE5);color:var(--brand-deep,#0E5550);
  display:grid;place-items:center;
}
.subpage-head-ic svg{width:20px;height:20px}
.subpage-head h2{margin:0 0 4px;font-size:20px;font-weight:800}
.subpage-head .desc{margin:0;font-size:13px;color:var(--muted,#6b7c76);line-height:1.55}
.stat-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}
.stat-row .stat{
  background:#F8FAF9;border:1px solid var(--line,#E6ECE9);border-radius:14px;padding:14px 16px;
}
.stat-row .stat b{display:block;font-size:20px;font-weight:800;color:var(--brand-deep,#0E5550);word-break:break-all}
.stat-row .stat span{font-size:12px;color:var(--muted,#6b7c76)}

.ui-callout{
  margin-bottom:12px;padding:10px 14px;border-radius:10px;font-size:13px;line-height:1.55;
}
.ui-callout--info{background:#EFF8FF;border:1px solid #BFDBFE;color:#1D4ED8}
.ui-callout--warn{background:#FFF7ED;border:1px solid #FED7AA;color:#C2410C}
.ui-codebox{border:1px solid var(--line,#E6ECE9);border-radius:10px;overflow:hidden;background:#fff}
.ui-codebox-head{padding:8px 14px;background:#F8FAF9;font-weight:700;font-size:13px;color:var(--ink,#1a2e28)}
.ui-codebox-body{
  margin:0;padding:12px 14px;max-height:50vh;overflow:auto;
  white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.65;
  color:#333;font-family:inherit;
}
.pill-brand{
  background:var(--brand-soft,#ECFDF5)!important;color:var(--brand-deep,#0E5550)!important;
  border:1px solid #CFEBE4!important;font-size:11px!important;font-weight:700!important;
}
.pill-gray{
  background:#F1F5F9!important;color:#475569!important;border:1px solid #E2E8F0!important;
  font-size:11px!important;font-weight:600!important;
}

@media (max-width:720px){
  .review-result .review-sections{grid-template-columns:1fr}
  .review-result .review-section.is-action{grid-column:auto}
  .stat-row{grid-template-columns:1fr}
  .ent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .consult-table .desk-table-actions{flex-direction:column;align-items:flex-start}
  .modal-overlay{padding:12px;align-items:flex-end}
  .modal-overlay .modal-card,.modal-overlay .modal-panel{max-height:92vh;border-radius:18px 18px 12px 12px}
  /* 权益对比表：移动端横向滚动 */
  .mem-table-wrap,.ent-table-wrap{
    overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;
  }
  .mem-table-wrap .mem-table,.mem-table-wrap .ent-table,.ent-table{
    min-width:520px;
  }
}

/* —— 快询对话面板统一（cf-chat-modal / cf-chat-page）—— */
.cf-chat-page,.cf-chat-modal{
  background:#fff;border-radius:20px;overflow:hidden;
  box-shadow:0 8px 28px rgba(14,85,80,.12);
  border:1px solid var(--line,#E6ECE9);
}
.cf-chat-page{
  max-width:720px;margin:0 auto;display:flex;flex-direction:column;
  height:calc(100vh - 40px);
}
.cf-chat-page .cf-chat-header,.cf-chat-head{
  display:flex;align-items:center;gap:12px;padding:14px 18px;
  border-bottom:1px solid var(--line,#E6ECE9);background:#fff;
}
.cf-chat-page .cf-chat-messages,.cf-chat-messages{
  flex:1;overflow-y:auto;padding:18px 20px;background:#F7FBFA;
}
.cf-chat-page .cf-chat-input-area,.cf-chat-input-area{
  display:flex;flex-direction:column;gap:8px;padding:14px 18px;border-top:1px solid var(--line,#E6ECE9);
  background:#fff;align-items:stretch;
}
.cf-chat-input-wrap{
  display:flex;gap:10px;align-items:flex-end;width:100%;min-width:0;
}
.cf-chat-input,.cf-msg-input{
  flex:1 1 auto;min-width:0;width:100%;box-sizing:border-box;
  border:1.5px solid var(--line-strong,#D5E0DC);border-radius:12px;padding:11px 14px;
  font-size:14px;font-family:inherit;resize:none;line-height:1.5;max-height:120px;
}
.cf-chat-tip{
  font-size:11px;color:#9AA5A1;line-height:1.4;margin:0;text-align:left;width:100%;
}
.cf-chat-input:focus,.cf-msg-input:focus{
  outline:none;border-color:var(--brand,#00B4AD)!important;
  box-shadow:0 0 0 3px rgba(0,180,173,.12)!important;
}
.cf-chat-send,.cf-btn-send{
  background:linear-gradient(135deg,var(--brand,#00B4AD),var(--brand-2,#117C70))!important;
  color:#fff!important;border:0!important;border-radius:12px!important;
}
.cf-chat-send:hover:not(:disabled),.cf-btn-send:hover:not(:disabled){
  box-shadow:0 4px 12px rgba(0,180,173,.28)!important;transform:none;
}
.cf-msg-user .cf-msg-bubble,.cf-chat-msg.is-user .cf-bubble{
  background:linear-gradient(135deg,var(--brand,#00B4AD),#0E5550)!important;color:#fff!important;
}
.cf-msg-avatar,.cf-chat-avatar,.cf-welcome-avatar{
  background:linear-gradient(135deg,#0E5550,#00B4AD)!important;
}

/* —— 顾问台：KPI 与表格间距 / 装饰层不挡点击 —— */
.cons-pane{margin-top:16px}
.cons-pane .kpi-row{margin-bottom:16px}
.cons-pane .kpi-row + .hint,
.cons-pane .kpi-row + .desk-table-wrap,
.cons-pane .kpi-row + .desk-panel{
  margin-top:0;
}
.cons-pane .desk-table-wrap,.cons-pane .desk-table-scroll{
  margin-top:4px;
}
.cons-overview-grid{margin-top:0!important}
.cons-head::after,.cons-head::before{
  pointer-events:none!important;
}
.desk-table-wrap{
  overflow-x:auto;-webkit-overflow-scrolling:touch;
}

/* 顾问结算单 */
.stl-desk-preview{
  background:linear-gradient(135deg,#f3fbf9,#fff);
  border:1px solid #d5ebe6;border-radius:14px;padding:14px 16px;
}
.stl-desk-preview__title{font-weight:700;color:#0f2623;margin-bottom:4px}
.stl-desk-month{border:1px solid #e5eeeb;border-radius:12px;margin-top:10px;overflow:hidden}
.stl-desk-month__head{
  width:100%;display:flex;justify-content:space-between;gap:10px;align-items:center;
  padding:12px 14px;border:0;background:#f7fbfa;cursor:pointer;text-align:left;font-size:13px;
}
.stl-desk-month__body{display:none;padding:0 12px 12px}
.stl-desk-month.is-open .stl-desk-month__body{display:block}
.stl-desk-row{
  display:flex;justify-content:space-between;gap:12px;align-items:flex-start;
  padding:12px 4px;border-top:1px solid #eef3f1;
}
.stl-desk-row__amt{display:flex;gap:8px;align-items:center;margin-bottom:4px}

@media (max-width:640px){
  .cf-chat-page{height:calc(100vh - 24px);border-radius:12px}
  .login-page,.login-wrap{padding:16px 12px}
  .login-card,.lf-card{max-width:100%;margin:0 auto}
  .kx-shell .sidebar{display:none}
  .kx-shell .main,.kx-main{padding:12px}
  .consult-step{flex-wrap:wrap;gap:6px;font-size:12px}
  .topic-grid,.sku-strip{grid-template-columns:1fr 1fr}
  .consultant-card{flex-direction:column;align-items:stretch}
  .consultant-actions,.cc-right{display:flex;flex-wrap:wrap;gap:8px}
  .ent-group,.ent-grid{grid-template-columns:1fr}
  .member-hero,.hero-banner{padding:20px 16px}
  .review-result .review-sections{grid-template-columns:1fr}
}

