/* ==========================================================================
   VB 内容层补充：AI 能力中心（智能体市场）
   来源：原 V1.38 shared/wb.content.css §「AI 能力中心」 + shared/wb.theme.css 令牌
   说明：Vue 包未加载原文内容层样式，这里按原令牌值 1:1 回填，仅作用于 .ai-* 作用域
   ========================================================================== */

/* ---------- 内容层令牌（取值同 wb.theme.css :root / body.end-* 覆盖） ---------- */
.ai-hero, .ai-grp, .ai-grid, .ai-item {
  --c-canvas: #FFFFFF;
  --c-surface: #FFFFFF;
  --c-tile: #F5F7FA;
  --c-line: #E6EAF2;
  --c-line-2: #D9DFE9;
  --c-text: #0B1220;
  --c-text-2: #3A4457;
  --c-text-3: #8A93A6;
  --c-blue: #1D4ED8;
  --c-blue-d: #1A3FB8;
  --r-card: 14px;
  --r-ctl: 10px;
  --r-pill: 999px;
  --gap: 16px;
  --block: 20px;
  --primary: #1D4ED8;
  --primary-dark: #1E3A8A;
  --primary-light: #EFF4FF;
  --accent-soft: rgba(29, 78, 216, .08);
}
body.end-hospital .ai-hero,
body.end-hospital .ai-grp,
body.end-hospital .ai-grid,
body.end-hospital .ai-item {
  --c-blue: #4F46E5;
  --c-blue-d: #4338CA;
  --primary: #4F46E5;
  --primary-dark: #3730A3;
  --primary-light: #F4F4FF;
  --accent-soft: rgba(79, 70, 229, .08);
}

/* ---------------- 页面入场动画（原 wb.theme.css 二、基础） ---------------- */
.page { animation: wbPage .4s cubic-bezier(.22, 1, .36, 1); }
@keyframes wbPage { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.page > * { animation: wbRise .5s cubic-bezier(.22, 1, .36, 1) both; }
.page > *:nth-child(1) { animation-delay: .02s; }
.page > *:nth-child(2) { animation-delay: .07s; }
.page > *:nth-child(3) { animation-delay: .12s; }
.page > *:nth-child(4) { animation-delay: .17s; }
.page > *:nth-child(5) { animation-delay: .22s; }
.page > *:nth-child(n+6) { animation-delay: .27s; }
@keyframes wbRise { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }


/* ---------- 内容层令牌（取值同原 wb.theme.css :root；作用于内容区，覆盖 hero/stat 等原版部件） ---------- */
.content {
  color: #222B3D;
  --dark: #0B1220;
  --accent: #1D4ED8;
  --accent-soft: rgba(29, 78, 216, .08);
  --primary: #1D4ED8;
  --primary-dark: #1E3A8A;
  --primary-light: #EFF4FF;
  --primary-lite: #466EDF;
  --ink: #0B1220;
  --ink-2: #3A4457;
  --ink-3: #8A93A6;
  --line: #E6EAF2;
  --line-2: #EFF2F8;
  --gray-300: #D9DFE9;
  --gray-400: #8A93A6;
  --gray-800: #0B1220;
  --bg-2: #F5F7FA;
  --card: #FFFFFF;
  --block: 20px;
  --gap: 16px;
  --r-card: 14px;
  --r-lg: 14px;
  --r-ctl: 10px;
  --sh-sm: 0 2px 10px rgba(11, 18, 32, .05);
  --sh-md: 0 12px 30px rgba(11, 18, 32, .07);
  --shadow: 0 12px 30px rgba(11, 18, 32, .07);
  --shadow-soft: 0 2px 10px rgba(11, 18, 32, .05);
  --ease: cubic-bezier(.22, 1, .36, 1);
}
body.end-hospital .content {
  --dark: #16123A;
  --accent: #4F46E5;
  --accent-soft: rgba(79, 70, 229, .08);
  --primary: #4F46E5;
  --primary-dark: #3730A3;
  --primary-light: #F4F4FF;
  --primary-lite: #6F67EA;
}

/* ---------------- AI 能力中心 ---------------- */
.ai-hero {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 20px 22px;
  border: 1px solid var(--c-line);
  border-radius: var(--r-card);
  background: linear-gradient(180deg, #FBFAF8 0%, var(--c-tile) 100%);
  margin-bottom: var(--block);
}
.ai-hero .t { font-size: 15px; font-weight: 600; color: var(--c-text); }
.ai-hero .s { font-size: 12.5px; color: var(--c-text-3); margin-top: 4px; }
.ai-hero .r { margin-left: auto; display: flex; align-items: center; gap: 10px; }

.ai-grp {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 22px 0 12px;
}
.ai-grp:first-child { margin-top: 0; }
.ai-grp .doti { width: 7px; height: 7px; border-radius: 50%; background: var(--c-blue); flex: none; }
.ai-grp b { font-size: 14px; font-weight: 600; color: var(--c-text); }
.ai-grp span { font-size: 12px; color: var(--c-text-3); }

.ai-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 1080px) { .ai-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.ai-item {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 13px 15px 12px;
  background: var(--c-surface);
  border: 1px solid var(--c-line);
  border-radius: 10px;
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.ai-item:hover {
  border-color: var(--c-line-2);
  box-shadow: 0 2px 10px rgba(0, 0, 0, .05);
  transform: translateY(-1px);
}
.ai-item .ico {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--c-tile);
  color: var(--c-text-2);
  margin-bottom: 10px;
  flex: none;
}
.ai-item .ico svg { width: 15px; height: 15px; }
.ai-item .nm {
  font-size: 13px;
  font-weight: 600;
  color: var(--c-text);
  line-height: 1.35;
  margin-bottom: 4px;
}
.ai-item .ds {
  font-size: 11.5px;
  color: var(--c-text-3);
  line-height: 1.5;
  min-height: 34px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ai-item .ft {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  padding-top: 9px;
  border-top: 1px solid var(--c-line);
  font-size: 11px;
  color: var(--c-text-3);
}
.ai-item .ft .s { margin-left: auto; color: var(--c-blue); }

/* 带外部系统入口的能力卡（创意精灵 / 商业化评估）：右上角标出"打开系统" */
.ai-item.has-ext::after {
  content: '打开系统 \2197';
  position: absolute;
  right: 10px;
  top: 10px;
  padding: 3px 7px;
  border-radius: 999px;
  font-size: 10.5px;
  line-height: 1.2;
  background: var(--c-tile);
  color: var(--c-blue);
  opacity: .8;
  transition: opacity .18s ease;
}
/* V1.27 智能体市场：同一能力群的卡片统一底色，不同群不同色（6 色循环） */
.ai-item.gi-0 { background: #EFF4FF; border-color: #D9E4FB; }
.ai-item.gi-1 { background: #F4F0FF; border-color: #E2DAFA; }
.ai-item.gi-2 { background: #ECF9F5; border-color: #D2EDE4; }
.ai-item.gi-3 { background: #FFF6EA; border-color: #F5E2C8; }
.ai-item.gi-4 { background: #EEF8EE; border-color: #D7EBD7; }
.ai-item.gi-5 { background: #FDF1F5; border-color: #F2DAE2; }
.ai-item.gi-0:hover, .ai-item.gi-1:hover, .ai-item.gi-2:hover,
.ai-item.gi-3:hover, .ai-item.gi-4:hover, .ai-item.gi-5:hover { filter: brightness(.985); }
.ai-item[class*="gi-"] .ico { background: rgba(255, 255, 255, .82); }
.ai-item[class*="gi-"] .ft { border-top-color: rgba(15, 35, 60, .09); }

.ai-item.has-ext:hover { border-color: var(--c-blue); }
.ai-item.has-ext:hover::after { opacity: 1; }

/* Hero 里的主按钮（原 .btn.pri + wb.theme.css 六、按钮），作用域限定在 AI 中心 */
.ai-hero .btn.pri {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 36px;
  padding: 0 18px;
  border: 1px solid transparent;
  border-radius: 10px;
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: 0;
  color: #fff;
  background: linear-gradient(135deg, var(--primary-dark), var(--primary));
  box-shadow: 0 6px 18px var(--accent-soft);
  transition: all .25s cubic-bezier(.22, 1, .36, 1);
}
.ai-hero .btn.pri svg { width: 14px; height: 14px; }
@media (hover: hover) and (pointer: fine) {
  .ai-hero .btn.pri:hover {
    background: linear-gradient(135deg, var(--primary-dark), var(--primary));
    color: #fff;
    filter: brightness(1.06);
    box-shadow: 0 12px 26px var(--accent-soft);
  }
}

/* ---------------- AI 能力中心：主题层覆盖（原 wb.theme.css） ---------------- */
.ai-hero {
  border-radius: 14px !important;
  background: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 55%, #fff 190%) !important;
}
.ai-hero .t { color: #fff !important; }
.ai-hero .s { color: rgba(255, 255, 255, .82) !important; }
.ai-item {
  border-radius: 12px;
  border-color: #E6EAF2;
  transition: border-color .25s cubic-bezier(.22, 1, .36, 1), box-shadow .25s cubic-bezier(.22, 1, .36, 1), transform .25s cubic-bezier(.22, 1, .36, 1);
}
@media (hover: hover) and (pointer: fine) {
  .ai-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(11, 18, 32, .07);
    border-color: var(--primary);
  }
}
.ai-item .ico { border-radius: 10px; background: var(--primary-light, #EFF4FF); color: var(--primary); }
.ai-item .ft { border-top-color: #EFF2F8; }
.ai-item .ft .s, .ai-grp .doti { color: var(--primary); }
.ai-grp .doti { background: var(--primary); }
.ai-grid.cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 1280px) { .ai-grid.cols-5 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.ai-grp .ai-tip {
  font-size: 11px; line-height: 18px; color: #6B7589;
  background: #EFF2F8; border-radius: 999px; padding: 0 9px;
}


/* ==========================================================================
   hero-dark 深色页头 + stat-card（取自原 V1.38 wb.css/wb.content.css/wb.theme.css）
   ========================================================================== */

/* wb.css */
.stat-row {display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px;}

/* wb.css */
.stat-card {background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:20px 22px;display:flex;align-items:center;gap:16px;position:relative;overflow:hidden;box-shadow:var(--shadow-soft);transition:all .2s;cursor:default;}

/* wb.css */
.stat-card:hover {box-shadow:var(--shadow);transform:translateY(-2px);border-color:var(--line-2);}

/* wb.css */
.stat-icon {width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;background:var(--bg-2)!important;color:var(--ink-2)!important;transition:transform .2s;}

/* wb.css */
.stat-icon svg {width:20px;height:20px;display:block;}

/* wb.css */
.stat-cl .stat-icon {background:var(--stat-bg)!important;color:var(--stat-ic)!important;}

/* wb.css */
.stat-card:hover .stat-icon {transform:scale(1.06);}

/* wb.css */
.stat-label {font-size:11.5px;color:var(--gray-400);font-weight:500;white-space:nowrap;}

/* wb.css */
.stat-value {font-size:26px;font-weight:700;color:var(--ink);line-height:1.2;letter-spacing:-.3px;font-variant-numeric:tabular-nums;white-space:nowrap;}

/* wb.css */
.stat-trend {font-size:11px;color:var(--gray-400);margin-top:2px;font-weight:500;white-space:nowrap;}

/* wb.css */
/* ===== 深色驾驶舱头（仅驾驶舱页 · 保留深色 hero 特色） ===== */
.hero-dark {position:relative;margin:-26px -30px 18px;padding:26px 30px;background:var(--dark);overflow:hidden;}

/* wb.css */
.hero-dark::before {content:"";position:absolute;top:-140px;right:-60px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(8.4, 90.6, 255.0, .34) 0%,rgba(8.4, 90.6, 255.0, 0) 65%);}

/* wb.css */
.hero-dark::after {content:"";position:absolute;bottom:-200px;left:12%;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(55.8, 119.1, 245.6, .18) 0%,rgba(55.8, 119.1, 245.6, 0) 65%);}

/* wb.css */
.hero-dark .hd-grid {position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse at 72% 0%,#000 0%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at 72% 0%,#000 0%,transparent 75%);}

/* wb.css */
.hero-dark .hd-head {position:relative;z-index:2;display:flex;align-items:flex-end;gap:18px;margin-bottom:18px;}

/* wb.css */
.hero-dark .hd-t {font-size:21px;font-weight:700;color:#fff;letter-spacing:.3px;white-space:nowrap;}

/* wb.css */
.hero-dark .hd-s {font-size:12.5px;color:rgba(255,255,255,.5);margin-top:5px;white-space:nowrap;}

/* wb.css */
.hero-dark .stat-row {position:relative;z-index:2;margin-bottom:0;}

/* wb.css */
.hero-dark .stat-card {background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:none;border-radius:16px;}

/* wb.css */
.hero-dark .stat-card:hover {background:rgba(255,255,255,.10);border-color:rgba(102.1, 151.8, 251.3, .5);box-shadow:0 10px 30px rgba(8.4, 90.6, 255.0, .25);transform:translateY(-3px);}

/* wb.css */
.hero-dark .stat-icon {background:rgba(255,255,255,.1)!important;color:#CCDDFF!important;}

/* wb.css */
.hero-dark .stat-label {color:rgba(255,255,255,.6);}

/* wb.css */
.hero-dark .stat-value {color:#fff;text-shadow:0 0 24px rgba(55.8, 119.1, 245.6, .35);}

/* wb.css */
.hero-dark .stat-trend {color:#A5D8FF;}

/* wb.css */
.g2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* wb.css */
.g3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* wb.css */
.g4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* wb.css */
.g-2-1 { grid-template-columns: 2fr 1fr; }

/* wb.css */
@media (max-width: 1100px) .g4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* wb.css */
/* 深色 hero 内 actions 对齐 */
.hero-dark .hd-head .actions { margin-left: auto; display: flex; gap: 9px; flex: none; }

/* wb.css */
/* ---------- ② 组件适配 ---------- */

/* 统计卡补充（结构走原型 .stat-card） */
.stat-value small { font-size: 13px; font-weight: 600; color: var(--ink-2); margin-left: 3px; letter-spacing: 0; }

/* wb.css */
.hero-dark .stat-value small { color: rgba(255, 255, 255, .55); }

/* wb.content.css */
.stat-card {
    background: var(--c-tile);
    border: none;
    border-radius: var(--r-card);
    padding: 15px 18px;
    gap: 12px;
    align-items: center;
    box-shadow: none;
}

/* wb.content.css */
.stat-card:hover {
    background: #F3F1EA;
    box-shadow: none;
    transform: none;
}

/* wb.content.css */
.stat-icon {
    width: 34px !important;
    height: 34px !important;
    border-radius: 10px !important;
    background: #FFFFFF !important;
    color: var(--c-text-2) !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .04);
}

/* wb.content.css */
.stat-icon svg { width: 17px; height: 17px; }

/* wb.content.css */
.stat-label {
    font-size: 12.5px;
    color: var(--c-text-3);
    font-weight: 500;
    letter-spacing: 0;
}

/* wb.content.css */
.stat-value {
    font-size: 25px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -.4px;
    color: var(--c-text);
    margin-top: 2px;
}

/* wb.content.css */
.stat-value small {
    font-size: 13px;
    font-weight: 500;
    color: var(--c-text-3);
    margin-left: 2px;
}

/* wb.content.css */
.stat-trend {
    font-size: 11.5px;
    color: var(--c-text-3);
    margin-top: 3px;
}

/* wb.content.css */
/* 深色驾驶舱头部 */
.hero-dark {
    margin: -20px -24px var(--block);
    padding: 20px 24px;
    border-radius: 0;
    background: #16171A;
}

/* wb.content.css */
.hero-dark .hd-head {
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
}

/* wb.content.css */
.hero-dark .hd-t {
    font-size: 19px;
    font-weight: 600;
    letter-spacing: 0;
    color: #fff;
}

/* wb.content.css */
.hero-dark .hd-s {
    font-size: 12.5px;
    color: rgba(255, 255, 255, .45);
    margin-top: 2px;
}

/* wb.content.css */
.hero-dark .stat-card {
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 10px;
    padding: 14px 16px;
}

/* wb.content.css */
.hero-dark .stat-card:hover { background: rgba(255, 255, 255, .09); transform: none; }

/* wb.content.css */
.hero-dark .stat-icon { background: rgba(255, 255, 255, .10) !important; color: #CFE0FF !important; box-shadow: none; }

/* wb.content.css */
.hero-dark .stat-label { color: rgba(255, 255, 255, .55); }

/* wb.content.css */
.hero-dark .stat-value { color: #fff; text-shadow: none; font-size: 24px; }

/* wb.content.css */
.hero-dark .stat-value small { color: rgba(255, 255, 255, .5); }

/* wb.content.css */
.hero-dark .stat-trend { color: rgba(255, 255, 255, .45); }

/* wb.theme.css */
/* 统计卡 */
.stat-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 20px 22px;
    gap: 15px;
    box-shadow: var(--sh-sm);
    transition: all .3s var(--ease);
}

/* wb.theme.css */
@media (hover: hover) and (pointer: fine) .stat-card:hover {
        transform: translateY(-3px);
        box-shadow: var(--sh-md);
        border-color: var(--gray-300);
    }

/* wb.theme.css */
.stat-icon {
    width: 42px; height: 42px;
    border-radius: 12px;
    background: var(--primary-light) !important;
    color: var(--primary) !important;
    transition: transform .3s cubic-bezier(.34, 1.56, .64, 1);
}

/* wb.theme.css */
.stat-card:hover .stat-icon { transform: scale(1.08) rotate(-4deg); }

/* wb.theme.css */
.stat-icon svg { width: 19px; height: 19px; }

/* wb.theme.css */
.stat-value { font-size: 27px; font-weight: 800; color: var(--gray-800); letter-spacing: -.4px; }

/* wb.theme.css */
.stat-value em { font-style: normal; color: var(--accent); }

/* wb.theme.css */
.stat-trend { font-size: 11.5px; color: var(--ink-3); }

/* wb.theme.css */
/* 深色驾驶舱头：适配端色 */
.hero-dark {
    margin: -26px -32px 20px;
    padding: 28px 32px;
    background: linear-gradient(135deg, #0B1220 0%, #16264A 62%, var(--primary-dark) 130%);
}

/* wb.theme.css */
.hero-dark::before {
    background: radial-gradient(circle, var(--accent) 0%, transparent 66%);
    opacity: .22;
}

/* wb.theme.css */
.hero-dark::after {
    background: radial-gradient(circle, var(--primary) 0%, transparent 66%);
    opacity: .16;
}

/* wb.theme.css */
.hero-dark .hd-t { font-size: 22px; font-weight: 800; letter-spacing: .2px; }

/* wb.theme.css */
.hero-dark .hd-s { font-size: 12.5px; color: rgba(255, 255, 255, .5); }

/* wb.theme.css */
.hero-dark .stat-card {
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 14px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

/* wb.theme.css */
@media (hover: hover) and (pointer: fine) .hero-dark .stat-card:hover { background: rgba(255, 255, 255, .10); border-color: rgba(255, 255, 255, .24); transform: translateY(-3px); }

/* wb.theme.css */
.hero-dark .stat-value { font-size: 25px; font-weight: 800; }

/* wb.theme.css */
.hero-dark .stat-label { color: rgba(255, 255, 255, .55); }

/* wb.theme.css */
.hero-dark .stat-icon { background: rgba(255, 255, 255, .10) !important; color: #fff !important; }

/* wb.theme.css */
.hero-dark .stat-trend { color: rgba(255, 255, 255, .5); }

/* wb.theme.css */
.hd-mini { display: flex; flex-direction: column; gap: 8px; margin-top: 10px; }

/* wb.theme.css */
.hd-row { display: grid; grid-template-columns: 58px 1fr 40px; align-items: center; gap: 9px; }

/* wb.theme.css */
.hd-row .hd-n { font-size: 11.5px; color: var(--ink-3); white-space: nowrap; }

/* wb.theme.css */
.hd-row .hd-t { height: 6px; border-radius: 999px; background: var(--gray-100); overflow: hidden; }

/* wb.theme.css */
.hd-row .hd-t b { display: block; height: 100%; border-radius: 999px; transition: width .8s var(--ease); }

/* wb.theme.css */
.hd-row .hd-v { font-size: 12px; font-weight: 800; text-align: right; color: var(--c-text); font-variant-numeric: tabular-nums; }

/* wb.theme.css */
/* ==========================================================================
   十五、响应式
   ========================================================================== */
@media (max-width: 1240px) .hero-dark { margin: -22px -24px 18px; padding: 24px; }
