/* 工作台引导式寻源模块（作用域 #main-app） */

/* ===== 欢迎卡（默认隐藏；仅引导激活时覆盖聊天区，点击开始引导） ===== */
.gd-welcome{
  position:absolute;inset:0;z-index:5;
  display:none;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:36px 30px;overflow:auto;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
}
.gd-welcome.hide{display:none !important;}
/* 引导激活但未开始时，欢迎卡覆盖聊天区（hide 存在时不显示） */
.ai-chat-area.gd-active .gd-welcome:not(.hide){display:flex;}
.gd-welcome .gd-ico{
  width:74px;height:74px;border-radius:20px;margin-bottom:20px;
  background:linear-gradient(135deg,#2563eb,#3b82f6);
  display:flex;align-items:center;justify-content:center;font-size:38px;
  box-shadow:0 14px 30px -10px rgba(37,99,235,.45);
}
.gd-welcome h2{font-size:25px;font-weight:800;color:#0f1b33;margin:0 0 14px;}
.gd-welcome h2 b{color:#2563eb;}
.gd-welcome p{color:#5b6b82;font-size:14px;line-height:1.8;margin:0 0 22px;max-width:440px;}
.gd-steps{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:26px;}
.gd-steps .gd-chip{
  display:inline-flex;align-items:center;gap:6px;
  border:1px solid #dbe6f6;background:#f4f8ff;color:#2563eb;
  border-radius:999px;padding:7px 15px;font-size:13px;font-weight:600;
}
.gd-steps .gd-chip i{
  width:19px;height:19px;border-radius:50%;background:#e2ecfd;color:#2563eb;
  font-style:normal;font-size:12px;display:inline-flex;align-items:center;justify-content:center;
}
.gd-start-btn{
  border:none;cursor:pointer;
  background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;
  font-size:16px;font-weight:700;border-radius:12px;
  padding:13px 40px;display:inline-flex;align-items:center;gap:8px;
  box-shadow:0 12px 26px -10px rgba(37,99,235,.55);transition:transform .15s;
}
.gd-start-btn:hover{transform:translateY(-2px);}
.gd-welcome .gd-role{margin-top:20px;color:#94a3b8;font-size:12.5px;}

/* ===== 引导模式顶部条 ===== */
.gd-banner{
  display:none;align-items:center;gap:10px;
  background:#eef4ff;border:1px solid #d7e5fb;color:#2563eb;
  border-radius:10px;padding:9px 14px;margin-bottom:10px;font-size:13px;font-weight:600;
}
.gd-banner.on{display:flex;}
.gd-banner .sp{flex:1;}
.gd-banner button{
  border:1px solid #c4d6f6;background:#fff;color:#2563eb;border-radius:7px;
  padding:4px 11px;font-size:12px;cursor:pointer;font-weight:600;
}
.gd-banner button:hover{background:#f2f7ff;}

/* ===== 知识引用条 ===== */
.gd-know{
  margin:6px 0 0;padding:7px 11px;
  background:#f4f8f5;border-left:3px solid #059669;border-radius:0 7px 7px 0;
}
.gd-know .gd-k-title{font-size:11.5px;color:#059669;font-weight:700;margin-bottom:3px;}
.gd-know .gd-k-list{display:flex;flex-wrap:wrap;gap:6px;}
.gd-know .gd-k-tag{
  font-size:11.5px;color:#47605b;background:#e4f2ea;border:1px solid #cfe7da;
  border-radius:6px;padding:2px 8px;cursor:default;
}

/* ===== 需求确认卡（阶段 ready） ===== */
.gd-confirm{
  margin-top:10px;border:1px solid #d7e5fb;background:#f7faff;border-radius:12px;padding:14px 16px;
}
.gd-confirm .gd-c-head{font-size:13.5px;font-weight:700;color:#1e4fa8;margin-bottom:10px;}
.gd-confirm table{width:100%;border-collapse:collapse;font-size:12.5px;}
.gd-confirm td{padding:5px 6px;border-bottom:1px dashed #e0e8f5;color:#33415c;}
.gd-confirm td.k{color:#8a97b2;width:78px;white-space:nowrap;}
.gd-confirm tr:last-child td{border-bottom:none;}
.gd-confirm .gd-c-actions{display:flex;gap:10px;margin-top:13px;flex-wrap:wrap;}
.gd-confirm .gd-c-actions button{
  border-radius:9px;padding:9px 18px;font-size:13.5px;font-weight:700;cursor:pointer;border:1px solid transparent;
}
.gd-btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;}
.gd-btn-primary:hover{filter:brightness(1.05);}
.gd-btn-ghost{background:#fff;color:#5b6b82;border-color:#d4ddec !important;}
.gd-btn-ghost:hover{border-color:#9db6dd !important;color:#2563eb;}

/* 引导阶段气泡动画 */
.gd-typing-dots i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#94a3b8;margin:0 1px;animation:gdblink 1.2s infinite both;}
.gd-typing-dots i:nth-child(2){animation-delay:.2s;}
.gd-typing-dots i:nth-child(3){animation-delay:.4s;}
@keyframes gdblink{0%,80%,100%{opacity:.25;}40%{opacity:1;}}

/* ===== 引导态：把顶部聊天区扩展为可多轮对话 ===== */
#main-app .ai-chat-area.gd-active{
  position:relative;
  flex:1 1 auto;min-height:0;
  display:flex;flex-direction:column;
  padding:14px 20px 16px;overflow:hidden;
}
#main-app .ai-chat-area.gd-active .ai-chat-header{flex:0 0 auto;}
#main-app .ai-chat-area.gd-active .ai-chat-quick-tags{display:none;}
#main-app .ai-chat-area.gd-active #chat-messages{
  flex:1 1 auto;min-height:0;max-height:none;
  margin:4px 0 10px;padding-right:4px;
}
#main-app .ai-chat-area.gd-active .ai-chat-input{flex:0 0 auto;}

/* 引导态隐藏下方动态业务区，让聊天占满主列 */
#main-app .main-content:has(.ai-chat-area.gd-active) #content-area{display:none;}
#main-app .main-content:has(.ai-chat-area.gd-active) #supplier-preview-static{display:none !important;}

/* ===== 侧边栏用户信息卡（可点击编辑） ===== */
.sidebar-footer .user-info-sidebar {
  cursor: pointer;
  transition: background .15s;
  padding: 6px 8px;
  border-radius: 8px;
  margin: -6px -8px;
}
.sidebar-footer .user-info-sidebar:hover {
  background: #f1f5f9;
}
.sidebar-footer .user-info-sidebar:active {
  background: #e2e8f0;
}

/* 个人资料编辑模态框 */
.profile-modal-body {
  padding: 8px 0;
}
.profile-form-row {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 16px;
}
.profile-form-row label {
  font-size: 12.5px;
  color: #64748b;
  font-weight: 600;
}
.profile-form-row input {
  padding: 9px 12px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 14px;
  color: #0f172a;
  background: #fff;
  transition: border-color .15s;
}
.profile-form-row input:focus {
  outline: none;
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, .1);
}
.profile-form-row input[readonly] {
  background: #f8fafc;
  color: #94a3b8;
}
.profile-role-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 6px;
  font-size: 11.5px;
  font-weight: 600;
  margin-left: 8px;
}
.profile-role-badge.buyer { background: #dbeafe; color: #1e4fa8; }
.profile-role-badge.supplier { background: #dcfce7; color: #065f46; }
.profile-role-badge.expert { background: #f3e8ff; color: #6b21a8; }
.profile-role-badge.admin { background: #fee2e2; color: #991b1b; }

@media (max-width: 680px) {
  .profile-modal-body { padding: 4px 0; }
  .profile-form-row input { font-size: 15px; }
}

