/* ============================================
   医美模块公共样式（柔粉主题）
   ============================================ */
.medical-page-header {
  background: linear-gradient(135deg, #FD79A8, #A29BFE);
  padding: var(--space-2xl) 0;
  color: #fff;
}
.medical-page-header h1 { color: #fff; font-size: var(--font-2xl); margin-bottom: var(--space-sm); }
.medical-page-header p { opacity: 0.9; margin: 0; }

/* 分类导航 */
.medical-categories {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: var(--space-md);
  margin: var(--space-lg) 0;
}
.medical-category-item {
  background: var(--color-bg-card);
  border-radius: var(--radius-lg);
  padding: var(--space-lg) var(--space-md);
  text-align: center;
  cursor: pointer;
  transition: all var(--transition-normal);
  border: 1px solid var(--color-border-light);
}
.medical-category-item:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
  border-color: var(--color-accent-pink);
}
.medical-category-item .icon { font-size: 28px; display: block; margin-bottom: var(--space-sm); }
.medical-category-item .name { font-size: var(--font-sm); font-weight: 600; }

/* 机构卡片 */
.institution-card {
  background: var(--color-bg-card);
  border-radius: var(--radius-lg);
  padding: var(--space-lg);
  border: 1px solid var(--color-border-light);
  transition: all var(--transition-normal);
  cursor: pointer;
}
.institution-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
.institution-card-header {
  display: flex; justify-content: space-between; align-items: flex-start;
  margin-bottom: var(--space-sm);
}
.institution-card-name { font-size: var(--font-md); font-weight: 700; margin: 0; }
.institution-card-rating { color: var(--color-warning); font-weight: 700; }
.institution-card-meta {
  display: flex; gap: var(--space-md); font-size: var(--font-xs);
  color: var(--color-text-hint); margin: var(--space-sm) 0;
}
.institution-card-desc {
  font-size: var(--font-xs); color: var(--color-text-secondary);
  overflow: hidden; text-overflow: ellipsis; display: -webkit-box;
  -webkit-line-clamp: 2; -webkit-box-orient: vertical;
}

/* 医生卡片 */
.doctor-card {
  background: var(--color-bg-card);
  border-radius: var(--radius-lg);
  padding: var(--space-lg);
  text-align: center;
  border: 1px solid var(--color-border-light);
  transition: all var(--transition-normal);
  cursor: pointer;
}
.doctor-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
.doctor-avatar {
  width: 64px; height: 64px; border-radius: 50%;
  background: linear-gradient(135deg, #FD79A8, #A29BFE);
  color: #fff; display: flex; align-items: center; justify-content: center;
  font-size: 24px; font-weight: 700; margin: 0 auto var(--space-sm);
}
.doctor-name { font-size: var(--font-md); font-weight: 700; margin-bottom: 2px; }
.doctor-title { font-size: var(--font-xs); color: var(--color-text-secondary); margin-bottom: var(--space-sm); }

/* 项目卡片 */
.project-card {
  background: var(--color-bg-card);
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--color-border-light);
  transition: all var(--transition-normal);
  cursor: pointer;
}
.project-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
.project-card-img {
  height: 140px;
  background: linear-gradient(135deg, #FD79A8, #FDCB6E);
  display: flex; align-items: center; justify-content: center;
  font-size: 40px;
}
.project-card-body { padding: var(--space-md); }
.project-card-name { font-size: var(--font-sm); font-weight: 700; margin-bottom: var(--space-xs); }
.project-card-price {
  font-size: var(--font-lg); font-weight: 800; color: var(--color-error);
}
.project-card-original {
  font-size: var(--font-xs); color: var(--color-text-hint);
  text-decoration: line-through; margin-left: var(--space-sm);
}
.project-card-sales { font-size: var(--font-xs); color: var(--color-text-hint); }

/* 详情页 */
.medical-detail-section {
  background: var(--color-bg-card);
  border-radius: var(--radius-lg);
  padding: var(--space-xl);
  margin-bottom: var(--space-lg);
}
.medical-detail-section h3 {
  font-size: var(--font-lg); margin-bottom: var(--space-md);
  padding-bottom: var(--space-sm);
  border-bottom: 1px solid var(--color-border-light);
}

/* 预约表单 */
.reserve-time-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-sm);
}
.reserve-time-item {
  padding: 10px;
  text-align: center;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  font-size: var(--font-sm);
  cursor: pointer;
  transition: all var(--transition-fast);
}
.reserve-time-item:hover { border-color: var(--color-accent-pink); }
.reserve-time-item.active {
  background: linear-gradient(135deg, #FD79A8, #A29BFE);
  color: #fff; border-color: transparent;
}
.reserve-time-item.disabled {
  opacity: 0.4; cursor: not-allowed; text-decoration: line-through;
}

/* 案例卡片 */
.case-card {
  background: var(--color-bg-card);
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--color-border-light);
}
.case-card-img {
  height: 180px;
  background: linear-gradient(135deg, #A29BFE, #FD79A8);
  display: flex; align-items: center; justify-content: center;
  font-size: 48px;
}
.case-card-body { padding: var(--space-md); }

@media (max-width: 1024px) {
  .medical-categories { grid-template-columns: repeat(3, 1fr); }
  .reserve-time-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
  .medical-categories { grid-template-columns: repeat(2, 1fr); }
  .reserve-time-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ====== 医美商家平台 v3 ====== */
.med-hero { background: linear-gradient(135deg,#FF6B9D,#A78BFA); padding:42px 0 38px; color:#fff; text-align:center; }
.med-hero.sm-hero { padding:30px 0 26px; }
.med-hero h1 { color:#fff; font-size:28px; margin:0 0 8px; }
.med-hero p { opacity:.92; margin:0 0 20px; font-size:14px; }
.med-search { display:flex; max-width:640px; margin:0 auto; background:#fff; border-radius:24px; overflow:hidden; box-shadow:0 6px 20px rgba(120,60,140,.25); }
.med-search input { flex:1; border:0; outline:0; padding:13px 20px; font-size:14px; background:transparent; }
.med-search button { border:0; background:linear-gradient(135deg,#FF6B9D,#A78BFA); color:#fff; padding:0 30px; font-size:15px; cursor:pointer; }

.med-body { padding:24px 16px 60px; }
.med-kingkong { display:grid; grid-template-columns:repeat(8,1fr); gap:10px; background:#fff; border-radius:14px; padding:18px 12px; box-shadow:0 2px 12px rgba(0,0,0,.05); margin-bottom:18px; }
.med-kingkong-item { text-align:center; text-decoration:none; color:#333; border-radius:10px; padding:8px 4px; transition:.2s; }
.med-kingkong-item:hover { background:#FDF2F8; transform:translateY(-2px); }
.med-kingkong-icon { font-size:28px; }
.med-kingkong-name { font-size:12.5px; margin-top:5px; font-weight:600; }

.med-banner { position:relative; border-radius:14px; padding:22px 24px; margin-bottom:26px; background:linear-gradient(120deg,#FF8A3D,#FFB37A); color:#fff; overflow:hidden; }
.med-banner-title { font-size:19px; font-weight:800; }
.med-banner-sub { font-size:13px; opacity:.95; margin-top:6px; }
.med-banner-tag { position:absolute; top:12px; right:14px; background:rgba(255,255,255,.25); font-size:11px; padding:2px 8px; border-radius:4px; }

.med-rank-section { margin-bottom:32px; }
.med-section-head { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:14px; }
.med-section-head h3 { margin:0; font-size:19px; }
.med-section-tip { font-size:12px; color:#999; }

.med-ad-list { display:flex; flex-direction:column; gap:10px; margin-bottom:14px; }
.med-ad-card { position:relative; display:flex; align-items:center; gap:14px; background:#FFF4EC; border:1px solid #FFD9B8; border-radius:12px; padding:14px 16px; text-decoration:none; color:#333; transition:.2s; }
.med-ad-card:hover { box-shadow:0 6px 18px rgba(255,122,0,.15); transform:translateY(-1px); }
.med-ad-tag { position:absolute; top:0; left:12px; background:#FF7A00; color:#fff; font-size:11px; padding:2px 8px; border-radius:0 0 4px 4px; }
.med-ad-info { flex:1; padding-top:4px; }
.med-ad-name { font-size:15px; font-weight:700; }
.med-ad-meta { display:flex; flex-wrap:wrap; gap:10px; font-size:12px; color:#888; margin-top:6px; }

.med-rank-list { display:flex; flex-direction:column; gap:8px; }
.med-rank-row { display:flex; align-items:center; gap:14px; background:#fff; border:1px solid #EEF0F5; border-radius:12px; padding:14px 16px; text-decoration:none; color:#333; transition:.2s; }
.med-rank-row:hover { box-shadow:0 6px 18px rgba(0,0,0,.07); transform:translateY(-1px); }
.med-rank-no { width:26px; height:26px; flex-shrink:0; display:flex; align-items:center; justify-content:center; border-radius:6px; background:#F0F2F7; color:#999; font-weight:700; font-size:14px; }
.med-rank-no.top { background:linear-gradient(135deg,#FF6B9D,#A78BFA); color:#fff; }
.med-rank-info { flex:1; }
.med-rank-name { font-size:15px; font-weight:700; }
.med-rank-meta { display:flex; flex-wrap:wrap; gap:10px; font-size:12px; color:#888; margin-top:6px; }
.med-rank-stat { text-align:center; flex-shrink:0; }
.med-stat-num { font-size:17px; font-weight:800; color:#A78BFA; }
.med-stat-label { font-size:11px; color:#aaa; }

.med-inst-logo { width:52px; height:52px; flex-shrink:0; border-radius:10px; background:linear-gradient(135deg,#FCE7F3,#EDE9FE); display:flex; align-items:center; justify-content:center; font-size:26px; }
.med-inst-logo.sm { width:44px; height:44px; font-size:22px; }

.med-credit { font-size:11px; font-weight:800; padding:1px 7px; border-radius:4px; }
.cr-s { background:#FFE4E6; color:#E11D48; }
.cr-a { background:#FFEDD5; color:#EA580C; }
.cr-b { background:#DBEAFE; color:#2563EB; }
.cr-c { background:#F1F5F9; color:#64748B; }
.med-verified { font-size:11px; color:#16A34A; font-weight:600; margin-left:6px; }
.med-rating { color:#FA8231; font-weight:700; }

.med-project-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.med-project-card { background:#fff; border:1px solid #EEF0F5; border-radius:12px; overflow:hidden; text-decoration:none; color:#333; transition:.2s; }
.med-project-card:hover { box-shadow:0 8px 20px rgba(0,0,0,.08); transform:translateY(-2px); }
.med-project-thumb { height:120px; background:linear-gradient(135deg,#FCE7F3,#FEF3C7); display:flex; align-items:center; justify-content:center; font-size:40px; }
.med-project-name { font-size:13.5px; font-weight:600; padding:10px 12px 4px; line-height:1.4; min-height:38px; }
.med-project-price { font-size:17px; font-weight:800; color:#E11D48; padding:0 12px; }
.med-old-price { font-size:12px; color:#bbb; text-decoration:line-through; font-weight:400; margin-left:4px; }
.med-project-meta { display:flex; justify-content:space-between; font-size:11.5px; color:#999; padding:6px 12px 12px; }

.med-empty { text-align:center; color:#aaa; padding:50px 0; font-size:14px; }

/* 通用筛选按钮 */
.lead-filters, .msg-filters { display:flex; gap:10px; margin-bottom:18px; flex-wrap:wrap; }
.lf-btn { padding:7px 18px; border:1px solid #E5E7EB; background:#fff; border-radius:18px; font-size:13px; cursor:pointer; color:#666; }
.lf-btn.active { background:linear-gradient(135deg,#FF6B9D,#A78BFA); color:#fff; border-color:transparent; }

/* 线索统计卡 */
.lead-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:22px; }
.lead-stat-card { border-radius:12px; padding:22px 16px; text-align:center; color:#fff; }
.lead-stat-card.hot { background:linear-gradient(135deg,#FF6B6B,#FF8E53); }
.lead-stat-card.warm { background:linear-gradient(135deg,#FFB347,#FFCC70); }
.lead-stat-card.cold { background:linear-gradient(135deg,#74B9FF,#A29BFE); }
.lead-stat-card.done { background:linear-gradient(135deg,#55EFC4,#2ECC71); }
.ls-num { font-size:28px; font-weight:800; }
.ls-label { font-size:13px; opacity:.95; margin-top:4px; }

/* 线索卡 */
.lead-list { display:flex; flex-direction:column; gap:12px; }
.lead-card { background:#fff; border:1px solid #EEF0F5; border-radius:12px; padding:16px; display:flex; gap:16px; align-items:center; flex-wrap:wrap; }
.lead-user { display:flex; gap:12px; align-items:center; min-width:180px; }
.lead-avatar { width:48px; height:48px; border-radius:50%; background:#F1F5F9; display:flex; align-items:center; justify-content:center; font-size:22px; }
.lead-avatar-img { width:48px; height:48px; border-radius:50%; object-fit:cover; }
.lead-user-name { font-size:15px; font-weight:700; }
.lead-user-phone { font-size:12px; color:#999; margin-top:3px; }
.lead-level { font-size:11px; padding:1px 7px; border-radius:4px; margin-left:6px; font-weight:700; }
.ll-hot { background:#FFE4E6; color:#E11D48; }
.ll-warm { background:#FFEDD5; color:#EA580C; }
.ll-cold { background:#F1F5F9; color:#64748B; }
.lead-detail { flex:1; min-width:240px; }
.lead-line { font-size:13px; color:#666; line-height:1.9; }
.lead-line b { color:#333; }
.lead-time { color:#aaa; font-size:12px; }
.lead-actions { flex-shrink:0; }

/* 咨询弹窗 */
.lead-modal-mask { position:fixed; inset:0; background:rgba(0,0,0,.45); display:flex; align-items:center; justify-content:center; z-index:1000; padding:16px; }
.lead-modal { background:#fff; border-radius:14px; width:100%; max-width:480px; overflow:hidden; }
.lm-head { display:flex; justify-content:space-between; align-items:center; padding:16px 20px; font-size:16px; font-weight:700; border-bottom:1px solid #F0F0F0; }
.lm-close { font-size:24px; color:#999; cursor:pointer; line-height:1; }
.lm-body { padding:18px 20px; }
.lm-body textarea { width:100%; border:1px solid #E5E7EB; border-radius:8px; padding:12px; font-size:13.5px; resize:none; outline:none; box-sizing:border-box; font-family:inherit; }
.lm-body textarea:focus { border-color:#A78BFA; }
.lm-foot { display:flex; justify-content:flex-end; gap:10px; padding:14px 20px; border-top:1px solid #F0F0F0; }

/* 消息中心 */
.msg-list { display:flex; flex-direction:column; gap:10px; }
.msg-card { display:flex; gap:14px; background:#fff; border:1px solid #EEF0F5; border-radius:12px; padding:16px; cursor:pointer; transition:.2s; }
.msg-card:hover { box-shadow:0 4px 14px rgba(0,0,0,.06); }
.msg-card.unread { border-color:#E9D5FF; background:#FCFAFF; }
.msg-icon { width:44px; height:44px; flex-shrink:0; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:22px; }
.msg-consult { background:#FFEDD5; } .msg-recommend { background:#EDE9FE; } .msg-system { background:#F1F5F9; }
.msg-body { flex:1; }
.msg-head { display:flex; align-items:center; gap:8px; }
.msg-tag { font-size:11px; background:#F1F5F9; color:#64748B; padding:1px 7px; border-radius:4px; }
.msg-title { font-size:14.5px; font-weight:700; }
.msg-dot { width:8px; height:8px; border-radius:50%; background:#E11D48; margin-left:auto; }
.msg-content { font-size:13.5px; color:#555; margin-top:6px; line-height:1.6; }
.msg-time { font-size:11.5px; color:#bbb; margin-top:8px; }

@media (max-width:1024px) {
  .med-project-grid { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:640px) {
  .med-kingkong { grid-template-columns:repeat(4,1fr); }
  .med-project-grid { grid-template-columns:repeat(2,1fr); }
  .med-hero h1 { font-size:22px; }
  .med-rank-stat { display:none; }
  .lead-stats { grid-template-columns:repeat(2,1fr); }
  .lead-card { flex-direction:column; align-items:stretch; }
  .lead-actions { display:flex; justify-content:flex-end; }
}
