/* 专家库页面 · 仅本页使用 */
.expert-hero { padding: 4.5rem 0 3rem; background: linear-gradient(180deg,#F4F8FE 0%,#fff 100%); border-bottom: 1px solid var(--border); }
.expert-hero .badge { display:inline-flex; align-items:center; gap:.5rem; font-size:.75rem; color:var(--brand-deep); background:var(--brand-light); border:1px solid #D8E7FA; padding:.35rem .8rem; border-radius:999px; margin-bottom:1rem; }
.expert-hero h1 { font-size:2.35rem; line-height:1.25; letter-spacing:-.02em; color:var(--ink); max-width:820px; }
.expert-hero h1 .accent { color:var(--brand); }
.expert-hero .lead { max-width:760px; color:var(--text-secondary); font-size:1rem; margin-top:1rem; }
.expert-hero .hero-actions { display:flex; gap:.75rem; flex-wrap:wrap; margin-top:1.5rem; }
.expert-hero .hero-note { margin-top:1rem; font-size:.78rem; color:var(--text-muted); }
.expert-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.expert-card { border:1px solid var(--border); border-radius:16px; padding:1.35rem; background:#fff; display:flex; flex-direction:column; gap:.7rem; transition:box-shadow .18s, transform .18s; }
.expert-card:hover { box-shadow:0 14px 34px rgba(15,23,42,.08); transform:translateY(-2px); }
.ec-top { display:flex; justify-content:space-between; align-items:center; gap:.5rem; }
.ec-id { font-family:'SF Mono',Consolas,monospace; font-size:.75rem; color:var(--text-muted); letter-spacing:.02em; }
.ec-match { font-size:.7rem; font-weight:700; padding:.2rem .5rem; border-radius:999px; white-space:nowrap; }
.ec-match.high { background:#E8F5EC; color:#0B7E3D; }
.ec-match.mid { background:#FFF7E6; color:#B45309; }
.ec-match.low { background:#F3F4F6; color:#6B7280; }
.ec-domain { font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--brand); }
.ec-title { font-size:1.02rem; line-height:1.45; color:var(--ink); font-weight:700; }
.ec-desc { font-size:.82rem; line-height:1.65; color:var(--text-secondary); }
.ec-tags { display:flex; flex-wrap:wrap; gap:.35rem; }
.ec-tag { font-size:.7rem; padding:.18rem .5rem; border-radius:6px; background:var(--bg-code); border:1px solid var(--border); color:var(--text-secondary); }
.ec-meta { font-size:.76rem; color:var(--text-muted); display:flex; flex-wrap:wrap; gap:.35rem 1rem; }
.ec-risk { font-size:.74rem; color:#9A3412; background:#FFF7ED; border:1px solid #FED7AA; border-radius:8px; padding:.45rem .6rem; }
.ec-cta { margin-top:auto; }
.expert-card .btn { width:100%; justify-content:center; }
.map-wrap { overflow:auto; border:1px solid var(--border); border-radius:14px; background:#fff; }
.map-table { min-width:860px; font-size:.78rem; }
.map-table th, .map-table td { text-align:center; padding:.55rem .45rem; border-bottom:1px solid var(--border); white-space:nowrap; }
.map-table th:first-child, .map-table td:first-child { text-align:left; position:sticky; left:0; background:#fff; z-index:1; }
.map-table th { background:var(--bg-subtle); color:var(--text-muted); font-size:.68rem; }
.map-cell { cursor:pointer; color:var(--brand-deep); font-weight:700; border-radius:6px; }
.map-cell:hover { background:var(--brand-light); }
.map-cell.zero { color:#C0CAD8; font-weight:400; cursor:default; }
.map-note { font-size:.78rem; color:var(--text-muted); margin-top:.75rem; }
.query-panel { border:1px solid var(--border); border-radius:18px; padding:1.5rem; background:linear-gradient(180deg,#F8FBFF 0%,#fff 70%); }
.query-panel h2 { font-size:1.55rem; color:var(--ink); }
.query-panel .qsub { color:var(--text-secondary); font-size:.9rem; margin-top:.45rem; }
.query-form { display:flex; gap:.6rem; margin-top:1.1rem; }
.query-form input { flex:1; min-width:0; border:1px solid var(--border-strong); border-radius:10px; padding:.8rem .95rem; font:inherit; font-size:.9rem; color:var(--ink); background:#fff; }
.query-form input:focus { outline:2px solid #BFD7F6; border-color:var(--brand); }
.query-examples { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.8rem; }
.query-example { border:1px solid var(--border); background:#fff; color:var(--text-secondary); border-radius:999px; padding:.35rem .7rem; font-size:.74rem; cursor:pointer; font-family:inherit; }
.query-example:hover { border-color:var(--brand); color:var(--brand); }
.query-status { margin-top:1rem; font-size:.84rem; color:var(--text-secondary); }
.query-status b { color:var(--ink); }
.query-results { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:1rem; }
.query-result { border:1px solid var(--border); border-radius:12px; padding:1rem; background:#fff; }
.query-result .qr-head { display:flex; justify-content:space-between; gap:.5rem; align-items:center; }
.query-result h3 { font-size:.95rem; color:var(--ink); }
.query-result p { font-size:.8rem; color:var(--text-secondary); margin-top:.35rem; }
.query-result .qr-tags { font-size:.72rem; color:var(--brand-deep); margin-top:.4rem; }
.query-result .qr-risk { font-size:.72rem; color:#9A3412; margin-top:.35rem; }
.query-result .qr-actions { margin-top:.7rem; }
.booking-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:2rem; align-items:start; }
.booking-form { border:1px solid var(--border); border-radius:16px; padding:1.5rem; background:#fff; }
.booking-form label { display:block; font-size:.8rem; font-weight:600; color:var(--ink); margin-bottom:.65rem; }
.booking-form input, .booking-form textarea, .booking-form select { width:100%; margin-top:.3rem; padding:.65rem .75rem; border:1px solid var(--border-strong); border-radius:8px; font:inherit; font-size:.86rem; color:var(--ink); background:#fff; box-sizing:border-box; }
.booking-form textarea { resize:vertical; }
.booking-form .form-row { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; }
.booking-form .selected-expert { font-size:.8rem; color:var(--brand-deep); background:var(--brand-light); border-radius:8px; padding:.55rem .7rem; margin-bottom:.9rem; }
.booking-form .form-status { font-size:.78rem; color:var(--text-muted); margin-top:.7rem; }
.booking-copy h2 { font-size:1.6rem; color:var(--ink); }
.booking-copy p { color:var(--text-secondary); font-size:.9rem; margin-top:.7rem; }
.booking-steps { margin-top:1.2rem; display:grid; gap:.7rem; }
.booking-step { display:flex; gap:.7rem; font-size:.84rem; color:var(--text-secondary); }
.booking-step b { color:var(--brand); }
.privacy-note { font-size:.76rem; color:var(--text-muted); line-height:1.7; margin-top:1rem; }
.expert-empty { border:1px dashed var(--border-strong); border-radius:12px; padding:1.2rem; color:var(--text-muted); font-size:.84rem; background:#fff; }
@media (max-width: 900px) {
  .expert-grid { grid-template-columns:1fr; }
  .query-results { grid-template-columns:1fr; }
  .booking-grid { grid-template-columns:1fr; }
  .expert-hero h1 { font-size:1.9rem; }
}
@media (max-width: 620px) {
  .query-form { flex-direction:column; }
  .booking-form .form-row { grid-template-columns:1fr; }
  .expert-hero { padding-top:3rem; }
}

/* Mindix 生态下拉（专家库页使用，与站内其他页保持一致） */
.mindix-eco{position:relative;margin-left:14px;flex:0 0 auto;align-self:center;font-size:13px;line-height:1.2}
.mindix-eco summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid currentColor;border-radius:999px;opacity:.78;white-space:nowrap}
.mindix-eco summary::-webkit-details-marker{display:none}
.mindix-eco summary::after{content:"▾";font-size:11px;opacity:.7;transition:transform .15s}
.mindix-eco[open] summary::after{transform:rotate(180deg)}
.mindix-eco summary:hover,.mindix-eco[open] summary{opacity:1}
.mindix-eco-menu{position:absolute;top:calc(100% + 8px);left:0;z-index:1200;width:280px;padding:6px;background:#fff;color:#0f172a;border:1px solid rgba(15,23,42,.12);border-radius:12px;box-shadow:0 16px 40px rgba(15,23,42,.18)}
.mindix-eco-menu a{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:8px;text-decoration:none;color:#0f172a}
.mindix-eco-menu a:hover{background:#f1f5f9}
.mindix-eco-menu strong{display:block;font-size:13px;line-height:1.35}
.mindix-eco-menu span{display:block;margin-top:2px;font-size:12px;line-height:1.4;color:#64748b}
.mindix-eco-menu .mindix-eco-current{flex:0 0 auto;margin-left:auto;margin-top:0;padding:2px 6px;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:11px;line-height:1.5;white-space:nowrap}
.mindix-eco-menu .mindix-eco-go{flex:0 0 auto;margin-left:auto;color:#94a3b8;font-size:12px;line-height:1.5}
@media (max-width:820px){
  .mindix-eco{margin-left:8px}
  .mindix-eco .mindix-eco-label{display:none}
  .mindix-eco summary{padding:6px 8px}
  .mindix-eco summary::before{content:"生态";}
  .mindix-eco-menu{left:auto;right:0;width:min(280px,calc(100vw - 32px))}
}
