/* ===== Design Tokens (Light) ===== */
:root {
  --primary: #007AFF; --primary-light: #3395FF; --primary-dark: #0066D6;
  --primary-bg: #F0F7FF; --primary-subtle: #D6EAFF;
  --accent: #007AFF; --accent-light: #3395FF;
  --bg: #F8FAFC; --bg-card: #FFFFFF; --bg-card-hover: #F1F5F9;
  --bg-section: #F1F5F9; --bg-elevated: #FFFFFF;
  --text: #1E293B; --text-secondary: #64748B; --text-muted: #94A3B8;
  --border: #E2E8F0; --border-light: #F1F5F9;
  --radius: 12px; --radius-lg: 20px; --radius-xl: 28px;
  --shadow: 0 1px 3px rgba(0,0,0,0.08),0 1px 2px rgba(0,0,0,0.06);
  --shadow-hover: 0 4px 12px rgba(0,0,0,0.1),0 2px 4px rgba(0,0,0,0.06);
  --max-w: 1280px; --nav-h: 64px;
  --green: #16A34A; --orange: #EA580C; --red: #DC2626; --purple: #7C3AED;
  --transition: 0.3s cubic-bezier(0.4,0,0.2,1);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif;
  background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
a{color:var(--primary);text-decoration:none;transition:var(--transition)}
a:hover{color:var(--accent)}
.container{max-width:var(--max-w);margin:0 auto;padding:0 28px}
.container--full{max-width:100%;padding:0 40px}

/* ===== Loading ===== */
.loading-overlay{position:fixed;inset:0;z-index:9999;background:var(--bg);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;transition:opacity 0.5s}
.loading-overlay.hide{opacity:0;pointer-events:none}
.loading-spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 0.8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.loading-text{font-size:14px;color:var(--text-secondary)}
.loading-bar{width:200px;height:3px;background:var(--border);border-radius:3px;overflow:hidden}
.loading-bar-inner{height:100%;width:0;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:3px;transition:width 0.3s}

/* ===== Nav ===== */
.nav{position:fixed;top:0;left:0;right:0;height:var(--nav-h);z-index:100;transition:var(--transition)}
.nav-bg{background:rgba(255,255,255,0.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);box-shadow:0 1px 4px rgba(0,0,0,0.04)}
.nav .container{display:flex;align-items:center;justify-content:space-between;height:100%}
.nav-logo{display:flex;align-items:center;gap:10px;flex-shrink:0;cursor:pointer}
.logo-mark{width:30px;height:30px;background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;color:#fff;font-weight:700}
.logo-text{display:flex;flex-direction:column;line-height:1.2}
.logo-main{font-size:16px;font-weight:700;color:var(--text)}
.logo-brand{background:linear-gradient(135deg,#F59E0B,#EA580C);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.logo-sub{font-size:10px;color:var(--text-muted);font-weight:400;letter-spacing:1px}
.nav-links{display:flex;align-items:center;gap:2px;list-style:none;margin:0 auto;padding:0 16px}
.nav-links a{
  display:block;padding:8px 20px;border-radius:8px;font-size:14px;font-weight:500;
  color:var(--text-secondary);transition:var(--transition);cursor:pointer;position:relative;
}
.nav-links a:hover{color:var(--text);background:var(--bg-card-hover)}
.nav-links a.active{color:var(--primary);font-weight:600}
.nav-links a.active::after{content:'';position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:20px;height:2px;background:var(--primary);border-radius:2px}
.nav-right{display:flex;align-items:center;gap:8px;flex-shrink:0}

/* ===== Buttons ===== */
.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 20px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:var(--transition);white-space:nowrap}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{background:var(--primary-dark);box-shadow:0 4px 12px rgba(37,99,235,0.3)}
.btn-outline{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}
.btn-outline:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-bg)}
.btn-sm{padding:6px 14px;font-size:12px}
.btn-ghost{background:transparent;color:var(--text-secondary);border:none;padding:6px 12px}
.btn-ghost:hover{background:var(--bg-card-hover);color:var(--text)}
.btn-accent{background:var(--accent);color:#fff}
.btn-accent:hover{background:#0E7490;box-shadow:0 4px 12px rgba(8,145,178,0.3)}
.btn-success{background:var(--green);color:#fff}
.btn-success:hover{background:#15803d;box-shadow:0 4px 12px rgba(22,163,74,0.3)}

/* ===== Page System ===== */
.page{display:none;min-height:100vh;padding-top:var(--nav-h)}
.page.active{display:block;animation:pageIn 0.35s ease}
#page-home{position:relative;overflow:visible}
@keyframes pageIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* ===== Hero ===== */
.home-content{background:url("../images/bg.png") center/cover no-repeat;position:relative;z-index:0;min-height:calc(100vh - var(--nav-h))}
.home-content~.footer,.footer{position:relative;z-index:1}
#page-home{min-height:100vh}
.hero{position:relative;overflow:clip;padding:60px 0 40px}
.hero-flex{display:flex;align-items:stretch;gap:32px;position:relative;z-index:1}
.hero-left-col{flex:1;min-width:0}
.hero-top{margin-bottom:0;position:relative}
.hero-text-col{flex:1;min-width:0}
.hero-stats-row{margin-top:24px;margin-bottom:24px;position:relative;z-index:1}
.hero-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:100px;font-size:12px;font-weight:500;background:rgba(255,255,255,0.7);color:var(--text);border:1px solid rgba(255,255,255,0.5);margin-bottom:16px}
.hero-badge::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--primary);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.3}}
.hero h1{font-size:clamp(28px,3.6vw,44px);font-weight:800;line-height:1.15;margin-bottom:10px;color:var(--text)}
.hero h1 .hl{color:var(--primary)}
.hero p{font-size:15px;color:var(--text-secondary);max-width:520px;line-height:1.7}
.hero-actions{display:flex;gap:16px;position:relative;z-index:2;padding-bottom:0}
.hero-card .hc-icon{display:none}
.hero-actions .hero-card{flex:0 0 auto;max-width:220px}
.hero-search{display:flex;align-items:center;gap:12px;max-width:560px;margin:0 0 24px;background:rgba(255,255,255,0.6);border:1px solid rgba(255,255,255,0.4);border-radius:60px;padding:4px 4px 4px 20px;transition:var(--transition);backdrop-filter:blur(12px)}
.hero-search:focus-within{border-color:rgba(255,255,255,0.7);background:rgba(255,255,255,0.8);box-shadow:0 0 20px rgba(255,255,255,0.15)}
.hs-icon{font-size:16px;flex-shrink:0;opacity:0.5;color:var(--text-muted)}
.hs-input{border:none;background:none;padding:10px 0;font-size:14px;outline:none;color:var(--text);flex:1;min-width:0}
.hs-input::-webkit-input-placeholder{font-size:14px;color:var(--text-muted)}
.hs-btn{padding:8px 22px;border-radius:30px;border:none;font-size:13px;font-weight:600;color:#fff;background:linear-gradient(135deg,#3B82F6,#2563EB);cursor:pointer;transition:var(--transition);white-space:nowrap;flex-shrink:0}
.hs-btn:hover{background:linear-gradient(135deg,#60A5FA,#3B82F6);box-shadow:0 4px 12px rgba(37,99,235,0.3)}
@media(max-width:500px){.hero-actions{grid-template-columns:1fr}}
.hero-card{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:16px;background:rgba(255,255,255,0.78);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.35);cursor:pointer;transition:all 0.3s cubic-bezier(0.34,1.56,0.64,1);text-align:left;position:relative;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,0.06)}
.hero-card::before{content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(37,99,235,0.06),rgba(59,130,246,0.08),rgba(37,99,235,0.06),transparent);animation:cardShine 3s infinite;pointer-events:none;z-index:0}
@keyframes cardShine{0%{left:-100%}40%,100%{left:150%}}
.hero-card::after{content:'';position:absolute;top:-60%;left:-60%;width:220%;height:220%;background:radial-gradient(circle at var(--mouse-x,50%) var(--mouse-y,50%),rgba(0,122,255,0.04),transparent 50%);opacity:0;transition:opacity 0.4s;pointer-events:none}
.hero-card:nth-child(1)::before{background:linear-gradient(90deg,transparent,rgba(37,99,235,0.05),rgba(59,130,246,0.07),rgba(37,99,235,0.05),transparent)}
.hero-card:nth-child(2)::before{background:linear-gradient(90deg,transparent,rgba(22,163,74,0.05),rgba(34,197,94,0.07),rgba(22,163,74,0.05),transparent)}
.hero-card:hover{background:rgba(255,255,255,0.97);border-color:rgba(255,255,255,0.8);transform:translateY(-5px);box-shadow:0 16px 48px rgba(0,0,0,0.15)}
.hero-card:hover::after{opacity:1}
.hero-card:active{transform:translateY(-1px)}
.hc-icon{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:1}
.hc-icon svg{width:24px;height:24px}
.hc-info{flex:1;min-width:0;position:relative;z-index:1}
.hc-title{font-size:16px;font-weight:800;color:#1E293B;line-height:1.3;letter-spacing:0.5px}
.hc-desc{font-size:12px;color:#64748B;margin-top:3px;white-space:normal}
.hc-arrow{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px;font-weight:700;transition:all 0.3s;position:relative;z-index:1;color:#fff;opacity:0.9}
.hero-card:nth-child(1) .hc-arrow{background:#2563EB}
.hero-card:nth-child(2) .hc-arrow{background:#16A34A}
.hero-card:nth-child(3) .hc-arrow{background:#7C3AED}
.hero-card:nth-child(4) .hc-arrow{background:#D97706}
.hero-card:hover .hc-arrow{transform:translateX(4px);opacity:1}

/* Hero Match Panel — AI智能匹配面板 */
.hero-match-panel{width:400px;flex-shrink:0;align-self:flex-end;background:linear-gradient(135deg,rgba(239,246,255,0.92) 0%,rgba(240,253,244,0.88) 25%,rgba(243,232,255,0.85) 50%,rgba(236,254,255,0.88) 75%,rgba(239,246,255,0.92) 100%);background-size:400% 400%;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(59,130,246,0.15);border-radius:20px;padding:24px;transition:all 0.4s cubic-bezier(0.34,1.56,0.64,1);position:relative;overflow:visible;animation:hmpBgShift 10s ease-in-out infinite}
.hmp-ai-corner-img{position:absolute;top:-18px;right:-18px;width:110px;height:110px;object-fit:contain;z-index:10;pointer-events:none;filter:drop-shadow(0 4px 12px rgba(99,102,241,0.25));animation:aiFloat 3s ease-in-out infinite}
@keyframes aiFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.hero-match-panel::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 25% 35%,rgba(59,130,246,0.06) 0%,transparent 50%),radial-gradient(circle at 75% 65%,rgba(16,185,129,0.05) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(139,92,246,0.04) 0%,transparent 50%);animation:hmpMesh 15s ease-in-out infinite;pointer-events:none}
.hero-match-panel:hover{border-color:rgba(59,130,246,0.3);box-shadow:0 8px 40px rgba(59,130,246,0.12)}
.hmp-close-btn{width:30px;height:30px;border-radius:8px;border:none;background:rgba(99,102,241,0.06);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all 0.2s}
.hmp-close-btn:hover{background:rgba(239,68,68,0.1);color:#EF4444}
.hmp-max-btn{width:30px;height:30px;border-radius:8px;border:none;background:rgba(99,102,241,0.06);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all 0.2s}
.hmp-max-btn:hover{background:rgba(99,102,241,0.12);color:#6366F1}
.hmp-resize-handle{position:absolute;right:0;bottom:0;width:18px;height:18px;cursor:nwse-resize;z-index:10}
.hmp-resize-handle::after{content:'';position:absolute;right:4px;bottom:4px;width:8px;height:8px;border-right:2px solid rgba(99,102,241,0.2);border-bottom:2px solid rgba(99,102,241,0.2)}
/* FAB — floating AI button */
.cs-fab{position:fixed;right:32px;bottom:32px;z-index:999;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer}
.cs-fab:hover .cs-fab-img{transform:scale(1.08)}
.cs-fab-img{width:110px;height:110px;object-fit:contain;filter:none;transition:transform 0.3s}
.cs-fab-consult-btn{padding:7px 24px;border:1px solid rgba(59,130,246,0.3);border-radius:20px;background:rgba(59,130,246,0.12);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#2563EB;font-size:12px;font-weight:600;cursor:pointer;transition:all 0.25s;white-space:nowrap}
.cs-fab-consult-btn:hover{background:rgba(59,130,246,0.2);transform:translateY(-1px)}
.cs-fab-label{position:absolute;right:0;bottom:120px;transform:none;background:linear-gradient(135deg,rgba(59,130,246,0.8),rgba(99,102,241,0.8));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;padding:16px 20px;border-radius:16px;box-shadow:0 8px 32px rgba(59,130,246,0.2),0 2px 8px rgba(0,0,0,0.1);text-align:center;border:1px solid rgba(255,255,255,0.18);min-width:200px}
.cs-fab-label-title{font-size:14px;font-weight:700;letter-spacing:0.5px;margin-bottom:6px;color:#fff;white-space:nowrap}
.cs-fab-label-desc{font-size:11px;color:rgba(255,255,255,0.85);margin-bottom:0;line-height:1.5}
@keyframes hmpBgShift{0%,100%{background-position:0% 50%}25%{background-position:100% 0%}50%{background-position:50% 100%}75%{background-position:0% 50%}}
@keyframes hmpMesh{0%,100%{transform:translate(0,0)}20%{transform:translate(3%,-2%)}40%{transform:translate(-2%,3%)}60%{transform:translate(2%,-1%)}80%{transform:translate(-1%,2%)}}
.hmp-header,.hmp-body,.hmp-process{position:relative;z-index:1}
.hmp-body{display:flex;flex-direction:column;flex:1;overflow:hidden;min-height:0}
.hmp-chat-area{flex:1;overflow-y:auto;overflow-x:hidden;padding:0 2px;scroll-behavior:smooth;min-height:0}
.hmp-chat-area::-webkit-scrollbar{width:3px}
.hmp-chat-area::-webkit-scrollbar-thumb{background:rgba(99,102,241,0.15);border-radius:4px}
.hmp-bottom-bar{flex-shrink:0;border-top:1px solid rgba(99,102,241,0.08);padding-top:8px}
.hmp-entry{text-align:center;padding:24px 12px 16px;position:relative;z-index:1}
.hmp-entry-icon{width:72px;height:72px;border-radius:20px;background:linear-gradient(135deg,rgba(99,102,241,0.1),rgba(139,92,246,0.1));display:flex;align-items:center;justify-content:center;margin:0 auto 14px;color:#6366F1;transition:transform 0.3s}
.hmp-entry-icon:hover{transform:scale(1.08)}
.hmp-entry-title{font-size:16px;font-weight:700;color:var(--text);margin-bottom:8px}
.hmp-entry-desc{font-size:12px;color:var(--text-muted);line-height:1.7;margin-bottom:18px;padding:0 4px}
.hmp-entry-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 32px;border:none;border-radius:12px;background:linear-gradient(135deg,#6366F1,#8B5CF6);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all 0.3s;box-shadow:0 4px 16px rgba(99,102,241,0.25)}
.hmp-entry-btn:hover{box-shadow:0 6px 24px rgba(99,102,241,0.35);transform:translateY(-1px)}
.hmp-entry-btn:active{transform:translateY(0)}
.hmp-header{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.hmp-ai-badge{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#6366F1,#8B5CF6);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;flex-shrink:0;box-shadow:0 4px 12px rgba(99,102,241,0.25)}
.hmp-header-text{flex:1}
.hmp-title{font-size:15px;font-weight:700;color:var(--text)}
.hmp-title .ai-tag{display:inline-flex;align-items:center;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:0.5px;background:linear-gradient(135deg,#818CF8,#4F46E5);color:#fff;vertical-align:middle;margin-left:4px;line-height:1.6}
.hmp-subtitle{font-size:11px;color:var(--text-muted);margin-top:3px;letter-spacing:0.3px}
.hmp-reset-chat{width:38px;height:38px;border-radius:12px;border:1px solid rgba(99,102,241,0.12);background:rgba(99,102,241,0.04);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all 0.25s}
.hmp-reset-chat:hover{background:rgba(99,102,241,0.1);color:var(--text);transform:rotate(-90deg)}
.hmp-input{width:100%;background:rgba(255,255,255,0.5);border:1px solid var(--border);border-radius:10px;padding:8px 12px;font-size:13px;color:var(--text);outline:none;resize:none;transition:var(--transition);font-family:inherit;line-height:1.5}
.hmp-input::placeholder{color:var(--text-muted)}
.hmp-input:focus{border-color:var(--primary);background:#fff}
.hmp-features{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.hmp-feature{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;background:rgba(255,255,255,0.5);border:1px solid rgba(99,102,241,0.08);transition:var(--transition)}
.hmp-feature:hover{background:rgba(255,255,255,0.8);border-color:rgba(99,102,241,0.18)}
.hmp-feature-icon{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,rgba(99,102,241,0.1),rgba(139,92,246,0.1));display:flex;align-items:center;justify-content:center;color:#6366F1;flex-shrink:0}
.hmp-feature-text{flex:1;min-width:0}
.hmp-feature-title{font-size:12px;font-weight:600;color:var(--text)}
.hmp-feature-desc{font-size:10px;color:var(--text-muted);margin-top:1px}
.hmp-examples{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:10px}
.hmp-example-label{font-size:11px;color:var(--text-muted);white-space:nowrap}
.hmp-example-btn{padding:3px 10px;border-radius:100px;font-size:11px;border:1px solid var(--border);background:rgba(255,255,255,0.5);color:var(--text-secondary);cursor:pointer;transition:var(--transition)}
.hmp-example-btn:hover{background:var(--bg-card);border-color:var(--primary);color:var(--primary)}
.hmp-quick-actions{display:none}
.hmp-quick-btn{display:none}
.hmp-btn{width:100%;margin-top:14px;padding:10px;border-radius:10px;border:none;font-size:13px;font-weight:600;color:#fff;background:linear-gradient(135deg,#3B82F6,#2563EB);cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:6px;position:relative;overflow:hidden}
.hmp-btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.3),transparent);animation:btnShine 2.5s infinite}
.hmp-btn:hover{background:linear-gradient(135deg,#60A5FA,#3B82F6);box-shadow:0 4px 16px rgba(37,99,235,0.35)}
.hmp-categories{margin-bottom:6px}
.hmp-cat-tabs{display:flex;gap:4px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}
.hmp-cat-tabs::-webkit-scrollbar{height:0;display:none}
.hmp-cat-tab{flex-shrink:0;padding:5px 10px;border-radius:16px;border:none;background:rgba(99,102,241,0.06);color:var(--text-secondary);font-size:11px;font-weight:500;cursor:pointer;transition:all 0.25s;white-space:nowrap}
.hmp-cat-tab:hover{background:rgba(99,102,241,0.12);color:var(--text)}
.hmp-cat-tab.active{background:linear-gradient(135deg,#6366F1,#8B5CF6);color:#fff;font-weight:600}
.hmp-cat-presets{display:flex;gap:6px;flex-wrap:wrap;padding:8px 0 2px 40px}
.hmp-preset-btn{flex-shrink:0;padding:5px 12px;border-radius:20px;border:1px solid rgba(99,102,241,0.15);background:rgba(99,102,241,0.04);color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all 0.2s;white-space:nowrap;line-height:1.5}
.hmp-preset-btn:hover{background:rgba(99,102,241,0.1);color:#6366F1;border-color:rgba(99,102,241,0.3)}
.hmp-chat{padding:8px 4px;scroll-behavior:smooth}
.hmp-chat::-webkit-scrollbar{width:3px}
.hmp-chat::-webkit-scrollbar-thumb{background:rgba(99,102,241,0.15);border-radius:4px}
.hmp-chat-welcome{display:flex;gap:10px;align-items:flex-start}
.hmp-chat-ai-avatar{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}
.hmp-chat-ai-avatar img{width:100%;height:100%;object-fit:contain;border-radius:8px}
.hmp-chat-human-avatar{border-radius:8px}
.hmp-chat-bubble{max-width:100%}
.hmp-chat-name{font-size:10px;color:var(--text-muted);margin-bottom:4px;font-weight:500;letter-spacing:0.3px}
.hmp-chat-text{background:#fff;border:1px solid rgba(0,0,0,0.06);border-radius:2px 14px 14px 14px;padding:10px 14px;font-size:12px;line-height:1.7;color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,0.04)}
.hmp-chat-text strong{color:var(--text);font-weight:600}
.hmp-chat-msg{display:flex;gap:10px;align-items:flex-start;margin-top:14px;animation:fadeInUp 0.3s}
.hmp-chat-msg.user{flex-direction:row-reverse}
.hmp-chat-msg.user .hmp-chat-text{background:linear-gradient(135deg,#3B82F6,#6366F1);border:none;border-radius:14px 2px 14px 14px;color:#fff;box-shadow:0 2px 8px rgba(59,130,246,0.2)}
.hmp-chat-msg.user .hmp-chat-text strong{color:#fff}
.hmp-chat-msg.user .hmp-chat-name{text-align:right}
.hmp-chat-msg .hmp-chat-ai-avatar{width:32px;height:32px;border-radius:10px}
.hmp-chat-msg .hmp-chat-ai-avatar img{border-radius:10px}
.hmp-chat-msg .hmp-user-avatar{width:32px;height:32px;font-size:10px;border-radius:10px;background:linear-gradient(135deg,#3B82F6,#6366F1);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;flex-shrink:0;box-shadow:0 2px 6px rgba(59,130,246,0.2)}
.hmp-chat-cards{display:flex;gap:8px;margin-top:10px;overflow-x:auto;padding-bottom:4px}
.hmp-chat-cards::-webkit-scrollbar{height:2px}
.hmp-chat-cards::-webkit-scrollbar-thumb{background:rgba(99,102,241,0.1);border-radius:2px}
.hmp-chat-card{flex-shrink:0;width:150px;background:rgba(99,102,241,0.04);border:1px solid rgba(99,102,241,0.1);border-radius:10px;padding:10px;cursor:pointer;transition:all 0.25s}
.hmp-chat-card:hover{background:rgba(99,102,241,0.08);border-color:rgba(99,102,241,0.2);transform:translateY(-1px)}
.hmp-chat-card-title{font-size:11px;font-weight:600;color:var(--text);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hmp-chat-card-desc{font-size:10px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hmp-chat-card-link{font-size:10px;color:#6366F1;margin-top:6px;font-weight:500}
.hmp-chat-card:hover .hmp-chat-card-link{color:#4F46E5}
.hmp-input-bar{display:flex;gap:8px;align-items:flex-end;padding-top:2px}
.hmp-input{flex:1;resize:none;border-radius:12px;border:1px solid rgba(99,102,241,0.12);background:rgba(255,255,255,0.6);color:var(--text);font-size:12px;padding:9px 14px;outline:none;transition:all 0.25s;min-height:38px;max-height:72px;line-height:1.5}
.hmp-input:focus{border-color:rgba(99,102,241,0.3);background:#fff;box-shadow:0 0 0 3px rgba(99,102,241,0.08)}
.hmp-input::placeholder{color:var(--text-muted)}
.hmp-send-btn{width:38px;height:38px;border-radius:12px;border:none;background:linear-gradient(135deg,#6366F1,#8B5CF6);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all 0.25s;box-shadow:0 2px 8px rgba(99,102,241,0.2)}
.hmp-send-btn:hover{box-shadow:0 4px 16px rgba(99,102,241,0.35);transform:scale(1.06)}
.hmp-send-btn:active{transform:scale(0.96)}
.hmp-transfer-bar{display:flex;align-items:center;gap:6px;padding:6px 12px;background:rgba(245,158,11,0.08);border-radius:8px;font-size:12px;color:#D97706;margin-bottom:4px}
.hmp-transfer-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#F59E0B;animation:hmpTransferPulse 1.5s infinite}
@keyframes hmpTransferPulse{0%,100%{opacity:0.4;transform:scale(0.8)}50%{opacity:1;transform:scale(1.2)}}
.hmp-transfer-tip{color:var(--text-muted);font-size:13px}
.hmp-chat-msg.system{text-align:center;margin:8px 0}
.hmp-chat-system{background:none!important;box-shadow:none!important;padding:0!important}
.hmp-chat-system .hmp-chat-text{display:inline-block;background:rgba(0,0,0,0.04);border-radius:12px;padding:4px 14px;font-size:12px;color:var(--text-muted)}
.hmp-chat-name-human{color:#059669!important}
.hmp-chat-transfer-btn{font-size:10px;color:rgba(99,102,241,0.45);margin-top:6px;text-align:right;cursor:pointer;transition:color 0.2s}
.hmp-chat-transfer-btn:hover{color:#6366F1}
.hmp-thinking .hmp-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:rgba(99,102,241,0.5);margin:0 2px;animation:hmpDot 1.2s infinite}
.hmp-thinking .hmp-dot:nth-child(2){animation-delay:0.2s}
.hmp-thinking .hmp-dot:nth-child(3){animation-delay:0.4s}
@keyframes hmpDot{0%,80%,100%{opacity:0.3;transform:scale(0.8)}40%{opacity:1;transform:scale(1.2)}}
.hmp-title-gradient{background:linear-gradient(135deg,#6366F1,#8B5CF6,#3B82F6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}
.hmp-analysis-line{background:none!important;border:none!important;box-shadow:none!important;padding:0!important}
.hmp-analysis-text{font-size:11px;color:rgba(0,0,0,0.3);display:inline-block}
@keyframes hmpSpin{to{transform:rotate(360deg)}}

/* Match Process */
.hmp-process{padding-top:4px}
.hmp-step{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--border-light);opacity:0.4;transition:all 0.5s}
.hmp-step:last-child{border-bottom:none}
.hmp-step.done{opacity:0.7}
.hmp-step.active{opacity:1}
.hmp-step-num{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;border:2px solid var(--border);color:var(--text-muted);transition:all 0.3s}
.hmp-step.active .hmp-step-num{background:var(--primary);border-color:var(--primary);color:#fff}
.hmp-step.done .hmp-step-num{background:rgba(22,163,74,0.15);border-color:#22C55E;color:#22C55E;font-size:14px}
.hmp-step-body{flex:1;min-width:0}
.hmp-step-title{font-size:13px;font-weight:600;color:var(--text)}
.hmp-step-desc{font-size:11px;color:var(--text-muted);margin-top:2px;transition:all 0.3s}
.hmp-step.active .hmp-step-desc{color:var(--text-secondary)}
.hmp-step-status{width:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px}
.hmp-spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:hmpSpin 0.6s linear infinite}
@keyframes hmpSpin{to{transform:rotate(360deg)}}
.hmp-step.done .hmp-step-status{color:#22C55E}
.hmp-result-summary{text-align:center;padding:16px 0 8px}
.hmp-result-summary .hmp-big-num{font-size:36px;font-weight:800;color:var(--text);font-family:'Oswald',sans-serif}
.hmp-result-summary .hmp-big-num .hmp-suffix{font-size:16px;color:var(--text-muted)}
.hmp-result-summary .hmp-big-label{font-size:12px;color:var(--text-secondary);margin-top:2px}
.hmp-more-btn{width:100%;margin-top:12px;padding:10px;border-radius:10px;border:none;background:linear-gradient(135deg,#3B82F6,#2563EB);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:var(--transition);text-align:center}
.hmp-more-btn:hover{background:linear-gradient(135deg,#60A5FA,#3B82F6);box-shadow:0 2px 8px rgba(37,99,235,0.25)}
.hmp-reset-btn{width:100%;margin-top:8px;padding:8px;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:var(--transition);text-align:center}
.hmp-reset-btn:hover{background:var(--bg-section);border-color:var(--primary);color:var(--primary)}
@media(max-width:960px){.hero-flex{flex-direction:column}.hero-match-panel{width:100%;margin-top:20px;align-self:auto}}

/* 智能客服悬浮窗 */
.hero-match-panel-cs{position:fixed;right:24px;bottom:24px;width:380px;height:560px;flex-shrink:0;background:linear-gradient(135deg,rgba(239,246,255,0.97) 0%,rgba(240,253,244,0.95) 25%,rgba(243,232,255,0.96) 50%,rgba(236,254,255,0.95) 75%,rgba(239,246,255,0.97) 100%);background-size:400% 400%;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(99,102,241,0.18);border-radius:20px;padding:20px;transition:all 0.35s cubic-bezier(0.34,1.56,0.64,1);overflow:hidden;animation:hmpBgShift 10s ease-in-out infinite;display:flex;flex-direction:column;box-shadow:0 12px 48px rgba(99,102,241,0.12);z-index:1000}

/* Stats */

.stats-row{display:flex;gap:4px;min-width:160px;max-width:830px}
.stat-item{text-align:left;padding:0 24px;position:relative}
.stat-item+.stat-item{border-left:1px solid var(--border)}
.stat-num{font-size:22px;font-weight:700;color:var(--primary);line-height:1.1;font-family:'Oswald',sans-serif;letter-spacing:0.4px}
.stat-num .suffix{font-size:13px;color:var(--text-muted);font-weight:600;font-family:inherit}
.stat-label{font-size:12px;color:var(--text-secondary);margin-top:3px;white-space:nowrap}
@media(max-width:659px){.stats-row{flex-wrap:wrap}.stat-item{padding:0 14px}}

/* ===== Sections ===== */
.section{padding:40px 0}
.section-alt{background:var(--bg-section)}
#homeOpportunitySection{padding-top:0;flex:1;min-height:0;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:12px}
.section-header{text-align:center;margin-bottom:28px;padding:16px 24px;border-radius:14px;position:relative}
.section-header h2{color:#0F172A!important}
.section-sub-header{text-align:center;margin:40px 0 32px;padding-top:36px;border-top:1px solid var(--border);position:relative}
.section-sub-header h3{font-size:clamp(18px,2vw,26px);font-weight:700;margin-bottom:8px;color:#0F172A}
.section-sub-header .subtitle{font-size:14px;color:var(--text-secondary);max-width:460px;margin:0 auto}
.section-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 14px;border-radius:100px;font-size:12px;font-weight:600;letter-spacing:0.3px;background:var(--primary-bg);color:var(--primary);margin-bottom:10px}
.section h2{font-size:clamp(22px,2.8vw,34px);font-weight:700;margin-bottom:10px;color:#0F172A}
.section .subtitle{font-size:15px;color:var(--text-secondary);max-width:500px;margin:0 auto}
.section-more{position:absolute;top:0;right:0}
.section-more a{font-size:13px;font-weight:600;color:var(--primary);cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;gap:4px}
.section-more a:hover{color:var(--primary-dark);transform:translateX(2px)}
.section-header{text-align:center;margin-bottom:44px;position:relative}

/* Reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.6s ease,transform 0.6s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* ===== Home Scrolling Feed ===== */
.scrolling-feed{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden;position:relative;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.sf-track{display:flex;gap:12px;white-space:nowrap;padding:0 12px;will-change:transform;height:72px;align-items:center}
@keyframes sfScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.sf-item{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border-radius:10px;background:var(--bg-section);flex-shrink:0;font-size:14px;cursor:pointer;transition:var(--transition)}
.sf-item:hover{background:var(--bg-card-hover)}
.sf-badge{display:inline-block;padding:1px 8px;border-radius:4px;font-size:10px;font-weight:700;line-height:20px;flex-shrink:0}
.sf-name{font-weight:600;color:var(--text);max-width:300px;overflow:hidden;text-overflow:ellipsis}
.sf-org,.sf-date{font-size:12px;color:var(--text-muted);flex-shrink:0;max-width:140px;overflow:hidden;text-overflow:ellipsis}
.sf-date::before{content:'·';margin-right:4px}

/* ===== Home AI Matches ===== */
.match-scroll-track{display:flex;gap:14px;padding:4px;will-change:transform}
.match-scroll-track .match-card{flex-shrink:0;width:300px}
.match-card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);padding:16px;transition:all 0.3s ease;display:flex;flex-direction:column;position:relative;overflow:hidden}
.match-card:hover{box-shadow:0 8px 30px rgba(0,0,0,0.08);border-color:var(--primary-subtle);transform:translateY(-3px)}
.match-ai-badge{position:absolute;top:12px;right:-24px;background:linear-gradient(135deg,#7C3AED,#6D28D9);color:#fff;font-size:10px;font-weight:700;padding:2px 28px 2px 20px;letter-spacing:0.5px;transform:rotate(45deg);z-index:2;box-shadow:0 2px 6px rgba(124,58,237,0.3)}
/* Two-party layout */
.match-parties{display:flex;align-items:stretch;gap:8px;margin-bottom:8px;min-height:56px}
.match-party{flex:1;padding:6px 8px;border-radius:8px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.match-party.demand{background:#2563EB08;border:1px solid #2563EB15}
.match-party.supply{background:#16A34A08;border:1px solid #16A34A15}
.mp-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:3px}
.match-party.demand .mp-label{color:#2563EB}
.match-party.supply .mp-label{color:#16A34A}
.mp-name{font-size:12px;font-weight:700;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--text)}
.mp-org{font-size:10px;color:var(--text-muted);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.match-vs{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:34px}
.vs-icon{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;color:#fff;line-height:1;box-shadow:0 2px 8px rgba(0,0,0,0.1)}
.match-desc{font-size:12px;color:var(--text-secondary);line-height:1.6;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.match-tags{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px;min-height:18px}
.match-tags span{padding:1px 7px;border-radius:4px;font-size:10px;background:var(--primary-bg);color:var(--primary);font-weight:500}
.match-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:8px;border-top:1px solid var(--border-light);font-size:10px;color:var(--text-muted)}
.match-orgtype{font-weight:600;color:var(--text-secondary)}
.match-cat{text-align:right;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.match-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.match-phase-wrap{flex-shrink:0}
.match-phase-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;white-space:nowrap}

/* ===== Home Horizontal Scroll Cards ===== */
.hsc-track-wrap{overflow:hidden;padding-bottom:0;margin:-4px;position:relative;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.hsc-track{display:flex;gap:16px;padding:4px;will-change:transform}
@keyframes hscScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes tickerScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.hsc-card{flex-shrink:0;width:260px;border-radius:var(--radius-lg);display:flex;flex-direction:column;transition:all 0.3s ease;position:relative;overflow:hidden}

/* ===== 首页最新动态滚动条 ===== */
.home-ticker{overflow:hidden;margin-bottom:0;margin-top:20px;position:relative;mask-image:linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent);padding:6px 0;background:rgba(255,255,255,0.35);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:10px;border:1px solid rgba(255,255,255,0.4)}
.ticker-track{display:flex;gap:24px;will-change:transform;animation:tickerScroll 60s linear infinite}
.ticker-track:hover{animation-play-state:paused}
.ticker-item{flex-shrink:0;display:flex;align-items:center;gap:10px;padding:5px 16px 5px 12px;border-radius:8px;background:rgba(255,255,255,0.5);font-size:12px;cursor:pointer;transition:all 0.25s;white-space:nowrap}
.ticker-item:hover{background:rgba(255,255,255,0.85);box-shadow:0 2px 12px rgba(0,0,0,0.08);transform:translateY(-1px)}
.ticker-type{flex-shrink:0;padding:1px 8px;border-radius:4px;font-size:10px;font-weight:600;line-height:1.6}
.ticker-type--opp{background:#2563EB15;color:#2563EB}
.ticker-type--cap{background:#16A34A15;color:#16A34A}
.ticker-title{font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}
.ticker-tag{flex-shrink:0;padding:1px 6px;border-radius:3px;font-size:10px;background:var(--primary-subtle);color:var(--primary);font-weight:500}
.ticker-sep{color:#e2e8f0;flex-shrink:0}

/* ===== 场景机会卡片（蓝色公告风） ===== */
.hoc-card{background:#fff;border:1px solid #2563EB22;padding:0}
.hoc-card:hover{box-shadow:0 8px 28px rgba(37,99,235,0.12);border-color:#2563EB44;transform:translateY(-4px)}
.hoc-img{width:100%;height:120px;overflow:hidden;background:linear-gradient(135deg,#EFF6FF,#DBEAFE)}
.hoc-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.3s}
.hoc-card:hover .hoc-img img{transform:scale(1.05)}
.hoc-body{padding:14px 16px;display:flex;flex-direction:column;flex:1}
.hoc-field-row{margin-bottom:6px}
.hoc-field{display:inline-block;padding:2px 10px;border-radius:4px;font-size:11px;background:#2563EB10;color:#2563EB;font-weight:600}
.hoc-name{font-size:14px;font-weight:700;line-height:1.4;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:4px}
.hoc-org{font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:8px}
.hoc-details{display:flex;flex-direction:column;gap:5px;margin-bottom:auto}
.hoc-info-row{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-secondary)}
.hoc-info-row svg{flex-shrink:0;opacity:0.5}
.hoc-info-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hoc-footer{display:flex;align-items:center;justify-content:flex-end;margin-top:10px;padding-top:10px;border-top:1px solid #2563EB10}
.hoc-btn{padding:5px 14px;border-radius:6px;border:none;font-size:12px;font-weight:600;cursor:pointer;transition:var(--transition);white-space:nowrap;background:#2563EB;color:#fff}
.hoc-btn:hover{background:#1D4ED8;box-shadow:0 2px 8px rgba(37,99,235,0.3)}

/* ===== 场景能力卡片（紫绿渐变企业名片风） ===== */
.hcp-card{background:linear-gradient(145deg,#FAF5FF 0%,#F5F0FF 100%);border:1px solid #7C3AED22;padding:0}
.hcp-card:hover{box-shadow:0 8px 28px rgba(124,58,237,0.10);border-color:#7C3AED44;transform:translateY(-4px)}
.hcp-img{width:100%;height:120px;overflow:hidden;background:linear-gradient(135deg,#F5F3FF,#EDE9FE)}
.hcp-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.3s}
.hcp-card:hover .hcp-img img{transform:scale(1.05)}
.hcp-body{padding:14px 16px;display:flex;flex-direction:column;flex:1}
.hcp-name{font-size:14px;font-weight:700;line-height:1.4;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:4px}
.hcp-org{font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:8px}
.hcp-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.hcp-field{padding:1px 8px;border-radius:4px;font-size:10px;background:#7C3AED10;color:#7C3AED;font-weight:600}
.hcp-type{padding:1px 8px;border-radius:4px;font-size:10px;background:rgba(255,255,255,0.8);border:1px solid #7C3AED15;color:var(--text-muted)}
.hcp-cases{padding:1px 8px;border-radius:4px;font-size:10px;background:#05966910;color:#059669;font-weight:600}
.hcp-tags{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:auto;min-height:18px}
.hcp-tags span{padding:1px 7px;border-radius:4px;font-size:10px;background:rgba(255,255,255,0.8);border:1px solid #7C3AED15;color:#7C3AED;font-weight:500}
.hcp-footer{display:flex;align-items:center;justify-content:flex-end;margin-top:10px;padding-top:10px;border-top:1px solid #7C3AED10}
.hcp-btn{padding:5px 14px;border-radius:6px;border:none;font-size:12px;font-weight:600;cursor:pointer;transition:var(--transition);white-space:nowrap;background:linear-gradient(135deg,#7C3AED,#6D28D9);color:#fff}
.hcp-btn:hover{box-shadow:0 2px 8px rgba(124,58,237,0.3);opacity:0.95}
.hcp-ai-badge{display:inline-block;font-size:9px;font-weight:600;padding:1px 8px;border-radius:3px;background:#7C3AED15;color:#7C3AED;border:1px solid #7C3AED22}
.hcp-ai-badge.manual{background:#EA580C15;color:#EA580C;border:1px solid #EA580C22}



/* ===== Scene ===== */

/* Hero Banner (合肥风格) */
.scene-hero{position:relative;overflow:hidden;padding:60px 0 56px;text-align:center}
.scene-hero-bg{position:absolute;inset:0;pointer-events:none}
.scene-hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:80px;background:linear-gradient(transparent,var(--bg));pointer-events:none}
.scene-hero-inner{position:relative;z-index:1}
.scene-hero h1{font-size:clamp(28px,3.5vw,40px);font-weight:800;color:var(--text);margin-bottom:6px;letter-spacing:1px}
.scene-hero p{font-size:15px;color:var(--text-secondary);max-width:600px;margin:0 auto;line-height:1.7}

/* Hero variant: 场景中心 (light blue) */
.scene-hero--scene{background:linear-gradient(135deg,#e0f0ff 0%,#f0f8ff 40%,#e6f2ff 70%,#dceeff 100%)}
.scene-hero--scene .scene-hero-bg{opacity:0.08;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='300'%3E%3Ctext x='20' y='40' font-family='monospace' font-size='14' fill='%230369a1' opacity='0.4'%3E01001110 01100101 01110100 01010111 01101111 01110010 01101011%3C/text%3E%3Ctext x='20' y='70' font-family='monospace' font-size='14' fill='%230369a1' opacity='0.3'%3E01110011 01100011 01100101 01101110 01100101%3C/text%3E%3Ctext x='20' y='100' font-family='monospace' font-size='14' fill='%230369a1' opacity='0.2'%3E01100100 01101001 01100111 01101001 01110100 01100001 01101100%3C/text%3E%3C/svg%3E");background-repeat:repeat;background-size:300px 220px}

/* Hero variant: 场景能力 (light) */
.scene-hero--capability{background:linear-gradient(135deg,#e8f4fd 0%,#f0f8ff 40%,#e1eefe 70%,#e8f4fd 100%)}
.scene-hero--capability .scene-hero-bg{opacity:0.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cpolygon points='100,10 190,60 190,140 100,190 10,140 10,60' fill='none' stroke='%233b5fc0' stroke-width='1' opacity='0.4'/%3E%3Cpolygon points='100,40 150,68 150,122 100,150 50,122 50,68' fill='none' stroke='%233b5fc0' stroke-width='0.7' opacity='0.25'/%3E%3C/svg%3E");background-repeat:repeat;background-size:120px 120px}

/* Hero variant: 场景机会 (light) */
.scene-hero--opportunity{background:linear-gradient(135deg,#e6f7f5 0%,#f0fdfa 40%,#d1f2eb 70%,#e6f7f5 100%)}
.scene-hero--opportunity .scene-hero-bg{opacity:0.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Ccircle cx='100' cy='100' r='60' fill='none' stroke='%231b6b6b' stroke-width='1' opacity='0.4'/%3E%3Ccircle cx='100' cy='100' r='40' fill='none' stroke='%231b6b6b' stroke-width='0.7' opacity='0.25'/%3E%3Ccircle cx='100' cy='100' r='15' fill='%231b6b6b' opacity='0.1'/%3E%3Cline x1='40' y1='100' x2='160' y2='100' stroke='%231b6b6b' stroke-width='0.5' opacity='0.15'/%3E%3Cline x1='100' y1='40' x2='100' y2='160' stroke='%231b6b6b' stroke-width='0.5' opacity='0.15'/%3E%3C/svg%3E");background-repeat:repeat;background-size:120px 120px}

/* Hero variant: 场景匹配 (light purple) */
.scene-hero--matching{background:linear-gradient(135deg,#f5f0ff 0%,#faf5ff 40%,#ede9fe 70%,#f5f0ff 100%)}
.scene-hero--matching .scene-hero-bg{opacity:0.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Ccircle cx='100' cy='100' r='85' fill='none' stroke='%237C3AED' stroke-width='1' opacity='0.4'/%3E%3Ccircle cx='100' cy='100' r='55' fill='none' stroke='%237C3AED' stroke-width='0.7' opacity='0.25'/%3E%3Cpath d='M100 15L185 100L100 185L15 100Z' fill='none' stroke='%237C3AED' stroke-width='0.5' opacity='0.15'/%3E%3C/svg%3E");background-repeat:repeat;background-size:140px 140px}

/* Toolbar */
.scene-toolbar{background:var(--bg-card);border-bottom:1px solid var(--border);padding:16px 0;position:sticky;top:var(--nav-h);z-index:50}
.scene-toolbar-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.scene-search-group{display:flex;align-items:center;gap:10px;flex:1;min-width:320px}
.scene-total-count{font-size:13px;color:var(--text-muted);white-space:nowrap;flex-shrink:0}
.scene-total-count strong{color:var(--text);font-family:'Oswald',sans-serif;font-size:18px;font-weight:700;vertical-align:-1px;margin:0 2px}
.scene-cat-select{padding:10px 14px;border-radius:8px;border:1px solid var(--border);font-size:13px;color:var(--text);background:var(--bg-card);cursor:pointer;outline:none;min-width:120px}
.scene-cat-select:focus{border-color:var(--primary)}
.scene-search-input-wrap{display:flex;align-items:center;gap:8px;flex:1;padding:0 14px;border-radius:8px;border:1px solid var(--border);background:var(--bg);transition:var(--transition)}
.scene-search-input-wrap:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px rgba(0,122,255,0.1)}
.scene-search-input{border:none;background:none;padding:10px 0;font-size:14px;outline:none;color:var(--text);flex:1;min-width:0}
.scene-search-input::-webkit-input-placeholder{font-size:14px;color:var(--text-muted)}
.scene-search-btn{padding:10px 28px;border-radius:8px;font-size:14px;font-weight:600;white-space:nowrap;flex-shrink:0}

/* 场景图谱数据概览 */
.scene-stat-row{position:relative;padding:28px 0 24px;overflow:hidden}
.scene-stat-row .container{max-width:var(--max-w);width:100%;margin:0 auto}
.scene-stats{display:flex;flex-direction:column;gap:10px;position:relative;z-index:1}
.scene-stat-header{display:flex;flex-direction:column;gap:6px}
.scene-stat-title{font-size:22px;font-weight:800;color:var(--text);line-height:1.3;letter-spacing:0.5px}
.scene-stat-title::after{content:'';display:block;width:36px;height:3px;background:var(--primary);border-radius:2px;margin-top:10px}
.scene-stat-desc{font-size:13px;color:var(--text-secondary);line-height:1.8;max-width:560px}
.scene-stat-cards{display:flex;align-items:baseline;gap:0;flex-wrap:wrap}
.scene-stat-card{display:inline-flex;align-items:baseline;gap:6px;padding:0 20px;border:none;border-right:1px solid var(--border);background:none;cursor:default}
.scene-stat-card:first-child{padding-left:0}
.scene-stat-card:last-child{border-right:none}
.scene-stat-card:hover{background:none}
.scene-stat-num{font-family:'Oswald',sans-serif;font-size:28px;font-weight:700;line-height:1;color:var(--primary)}
.scene-stat-label{font-size:13px;color:var(--text-secondary);white-space:nowrap}
@media(max-width:768px){.scene-stats{gap:8px}.scene-stat-cards{gap:0}.scene-stat-card{padding:0 12px}.scene-stat-num{font-size:22px}}

/* Scene Category Tabs (合肥风格) */
.scene-tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:20px}
.scene-tab{position:relative;padding:10px 24px;font-size:15px;font-weight:500;color:var(--text-secondary);background:none;border:none;cursor:pointer;transition:var(--transition);margin-bottom:-2px}
.scene-tab:hover{color:var(--text)}
.scene-tab.active{color:var(--primary);font-weight:600}
.scene-tab.active::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--primary);border-radius:2px}
.scene-tab-badge{display:inline-block;margin-left:4px;padding:0 7px;border-radius:100px;font-size:11px;background:var(--primary-bg);color:var(--primary);line-height:18px;vertical-align:middle}
.scene-tab.active .scene-tab-badge{background:var(--primary);color:#fff}
.scene-tab-spacer{flex:1;min-width:12px}
.scene-tab-secondary{font-size:13px;color:var(--text-muted)}
.scene-tab-secondary.active{color:var(--primary)}

/* Sub Tabs (场景动态) */

/* Scene Definition - Accordion Layout */
.scene-def-layout{min-height:500px;background:transparent;border-radius:12px;position:relative;overflow:hidden}
.scene-def-layout > .scene-accordion,
.scene-def-layout > .scene-def-main{position:relative;z-index:2}
.scene-def-main{width:100%;position:relative}

/* Scene Accordion - 5 Domain Strips */
.scene-accordion{display:flex;gap:6px;margin:0 0 24px;height:360px;border-radius:14px;overflow:hidden}
.scene-acc-item{position:relative;flex:1;overflow:hidden;border-radius:12px;cursor:pointer;transition:flex 0.45s cubic-bezier(0.4,0,0.2,1),box-shadow 0.3s;min-width:60px}
.scene-acc-item:hover{flex:3}
.scene-acc-item.compressed{flex:0.6}
.scene-acc-item.expanded{flex:3}
.scene-acc-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 0.6s;filter:brightness(0.85)}
.scene-acc-item:hover .scene-acc-img{transform:scale(1.08);filter:brightness(1)}
.scene-acc-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0.1) 0%,rgba(0,0,0,0.2) 40%,rgba(0,0,0,0.7) 100%);transition:background 0.3s}
.scene-acc-item:hover .scene-acc-overlay{background:linear-gradient(180deg,rgba(0,0,0,0.02) 0%,rgba(0,0,0,0.15) 40%,rgba(0,0,0,0.6) 100%)}
.scene-acc-label{position:absolute;bottom:20px;left:18px;right:18px;color:#fff;font-size:17px;font-weight:700;line-height:1.3;text-shadow:0 2px 8px rgba(0,0,0,0.6);transition:opacity 0.3s;z-index:2;letter-spacing:0.5px}
.scene-acc-item:hover .scene-acc-label{opacity:0;pointer-events:none}
.scene-acc-badge{position:absolute;top:14px;right:14px;padding:4px 10px;background:rgba(255,255,255,0.18);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:rgba(255,255,255,0.9);font-size:11px;font-weight:500;border-radius:6px;z-index:2;transition:opacity 0.3s;border:1px solid rgba(255,255,255,0.12)}
.scene-acc-item:hover .scene-acc-badge{opacity:0}
.scene-acc-expand{position:absolute;inset:0;padding:24px 28px;display:flex;flex-direction:column;justify-content:flex-end;z-index:3;opacity:0;transition:opacity 0.35s;pointer-events:none}
.scene-acc-item:hover .scene-acc-expand{opacity:1;pointer-events:auto}
.scene-acc-expand-title{color:#fff;font-size:22px;font-weight:700;line-height:1.3;margin-bottom:8px;text-shadow:0 2px 8px rgba(0,0,0,0.5);letter-spacing:0.5px}
.scene-acc-expand-desc{color:rgba(255,255,255,0.8);font-size:12px;line-height:1.6;margin-bottom:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.scene-acc-expand-subs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.scene-acc-sub-tag{padding:4px 10px;background:rgba(255,255,255,0.15);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:#fff;font-size:11px;font-weight:500;border-radius:5px;white-space:nowrap;border:1px solid rgba(255,255,255,0.1);transition:all 0.2s}
.scene-acc-sub-tag:hover{background:rgba(255,255,255,0.25)}
.scene-acc-expand-stat{color:rgba(255,255,255,0.65);font-size:12px;letter-spacing:0.3px}
.scene-acc-expand-stat strong{color:#fff;font-size:15px;font-weight:700}
.scene-acc-item.active{box-shadow:inset 0 0 0 3px var(--primary),0 0 20px rgba(37,99,235,0.3)}
.scene-acc-item.active .scene-acc-overlay{background:linear-gradient(180deg,rgba(37,99,235,0.15) 0%,rgba(37,99,235,0.08) 30%,rgba(0,0,0,0.6) 100%)}
.scene-acc-item.active .scene-acc-label{color:#fff;text-shadow:0 0 20px rgba(37,99,235,0.6),0 2px 8px rgba(0,0,0,0.6)}
.scene-acc-item.active .scene-acc-badge{background:rgba(37,99,235,0.4);border-color:rgba(37,99,235,0.5)}
.scene-acc-item.active .scene-acc-decor{background:var(--primary)}
.scene-acc-decor{position:absolute;top:18px;left:18px;width:28px;height:3px;background:rgba(255,255,255,0.3);border-radius:2px;z-index:2;transition:opacity 0.3s,background 0.3s}
.scene-acc-item:hover .scene-acc-decor{opacity:0}

/* Sub-category icon card nav */
.scene-sub-nav{position:sticky;top:80px;z-index:40;display:flex;gap:8px;padding:14px 0 18px;overflow-x:auto;background:transparent;margin-bottom:4px;scrollbar-width:none;-ms-overflow-style:none}
.scene-sub-nav::-webkit-scrollbar{display:none}
.sub-nav-card{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:88px;height:88px;border-radius:14px;cursor:pointer;border:1.5px solid var(--border);background:var(--bg-card);color:var(--text-secondary);transition:all 0.2s ease;text-align:center;position:relative;overflow:hidden}
.sub-nav-card::before{content:'';position:absolute;inset:0;border-radius:14px;opacity:0;transition:opacity 0.2s;background:linear-gradient(135deg,rgba(79,70,229,0.04),rgba(124,58,237,0.04))}
.sub-nav-card:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-1px);box-shadow:0 2px 8px rgba(79,70,229,0.08)}
.sub-nav-card:hover::before{opacity:1}
.sub-nav-card.active{background:linear-gradient(135deg,var(--primary),#7C3AED);border-color:transparent;color:#fff;box-shadow:0 4px 14px rgba(79,70,229,0.25)}
.sub-nav-card.active::before{display:none}
.sub-nav-icon{width:30px;height:30px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sub-nav-icon svg{width:100%;height:100%}
.sub-nav-card.active .sub-nav-icon svg{stroke:#fff}
.sub-nav-label{font-size:11px;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-all;max-width:72px}
.sub-nav-count{position:absolute;top:5px;right:5px;min-width:16px;height:16px;border-radius:8px;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px;background:var(--primary-bg);color:var(--primary);line-height:1}
.sub-nav-card.active .sub-nav-count{background:rgba(255,255,255,0.25);color:#fff}

/* Category Banner */
.scene-cat-banner{position:relative;padding:18px 22px;margin-bottom:18px;border-radius:12px;overflow:hidden;background:var(--bg-card);border:1px solid var(--border)}
.scene-cat-banner .banner-accent{position:absolute;inset:0;border-radius:12px;pointer-events:none}
.scene-cat-banner .banner-accent-bar{position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:12px 0 0 12px}
.scene-cat-banner .banner-accent-grid{position:absolute;inset:0;opacity:0.03;background-image:radial-gradient(circle at 1px 1px,currentColor 1px,transparent 0);background-size:20px 20px}
.scene-cat-banner .banner-accent-glow{position:absolute;right:-40px;top:-40px;width:160px;height:160px;border-radius:50%;opacity:0.08;filter:blur(40px)}
.scene-cat-banner .banner-body{position:relative;z-index:1}
.scene-cat-banner .banner-top-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;flex-wrap:wrap}
.scene-cat-banner .banner-title-area{display:flex;align-items:center;gap:12px;min-width:0}
.scene-cat-banner .banner-title{font-size:20px;font-weight:700;line-height:1.3;color:var(--text)}
.scene-cat-banner .banner-stats-group{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap}
.scene-cat-banner .banner-stat{padding:3px 10px;border-radius:4px;font-size:11px;font-weight:500;line-height:1.4;white-space:nowrap}
.scene-cat-banner .banner-stat strong{font-size:13px}
.scene-cat-banner .banner-dir{display:flex;align-items:flex-start;gap:6px;font-size:13px;color:var(--text-secondary);line-height:1.6;margin-bottom:4px;padding:6px 10px;background:rgba(0,0,0,0.02);border-radius:6px}

#sceneSubFlowContent{min-height:200px}

.scene-sub-section{margin-bottom:28px}
.scene-sub-header{display:flex;align-items:center;gap:8px;padding:0 0 12px;border-bottom:1px solid var(--border);margin-bottom:16px}
.scene-sub-header .sub-name{font-size:14px;font-weight:600;color:var(--text)}
.scene-sub-header .sub-count{font-size:12px;color:var(--text-muted);margin-left:auto}

.scene-cloud-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:1400px){.scene-cloud-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1100px){.scene-cloud-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.scene-cloud-cards{grid-template-columns:1fr}}

.scene-cloud-card{background:var(--bg-card);border-radius:12px;border:1px solid var(--border);overflow:hidden;transition:all 0.25s;cursor:pointer;display:flex;flex-direction:column}
.scene-cloud-card:hover{border-color:var(--primary-subtle);box-shadow:0 4px 12px rgba(0,0,0,0.08);transform:translateY(-3px)}
.scene-cloud-card .card-image{width:100%;height:120px;overflow:hidden;flex-shrink:0;position:relative;display:flex;align-items:center;justify-content:center}
.scene-cloud-card .card-image svg{width:36px;height:36px;opacity:0.3}
.scene-cloud-card .card-image .img-label{position:absolute;bottom:6px;right:8px;font-size:9px;color:rgba(255,255,255,0.6);font-weight:500;letter-spacing:0.3px}
.scene-cloud-card .card-body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.scene-cloud-card .card-top{display:flex;gap:12px;align-items:flex-start;margin-bottom:8px}
.scene-cloud-card .card-icon{width:40px;height:40px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.scene-cloud-card .card-icon svg{width:22px;height:22px}
.scene-cloud-card .card-name{font-size:14px;font-weight:600;color:var(--text);line-height:1.4;flex:1;padding-top:2px}
.scene-cloud-card .card-name:hover{color:var(--primary)}
.scene-cloud-card .card-desc{margin:0 0 10px 0;font-size:13px;color:var(--text-secondary);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.scene-cloud-card .card-desc.open{-webkit-line-clamp:unset}
.scene-cloud-card .card-tags{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px;min-height:18px}
.scene-cloud-card .card-tags .tag{padding:2px 8px;border-radius:4px;font-size:10px;background:var(--bg-section);color:var(--text-muted);font-weight:500;line-height:1.4}
.scene-cloud-card .card-detail{max-height:0;overflow:hidden;transition:max-height 0.3s,opacity 0.3s;opacity:0;margin-top:0}
.scene-cloud-card .card-detail.open{max-height:350px;opacity:1;margin-top:6px}
.scene-cloud-card .card-detail-item{display:flex;align-items:flex-start;gap:5px;padding:4px 0;font-size:11px;color:var(--text-muted);line-height:1.5;border-top:1px dashed var(--border-light)}
.scene-cloud-card .card-detail-item:first-child{border-top:none}
.scene-cloud-card .card-detail-item span{flex:1;min-width:0}
.scene-cloud-card .card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:8px;border-top:1px solid var(--border-light)}
.scene-cloud-card .card-expand{font-size:11px;color:var(--primary);font-weight:500}
.scene-cloud-card:hover .card-expand{text-decoration:underline}
.scene-cloud-card.highlight{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-subtle)}
.scene-cloud-card.highlight .card-name{color:var(--primary)}

.scene-def-empty{text-align:center;padding:60px 0;color:var(--text-muted)}
.scene-def-empty .empty-big{font-size:48px;margin-bottom:12px}
.scene-def-empty p{font-size:14px}

@media(max-width:768px){
  .scene-accordion{height:120px;flex-wrap:wrap}
  .scene-acc-item{min-width:calc(50% - 3px)}
  .scene-def-main{padding:0}
}

/* Stat Row */
.scene-stat-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:8px}
.scene-stat{font-size:14px;color:var(--text-secondary)}
.scene-stat strong{color:var(--text);font-weight:700}
.scene-stat-sort{font-size:13px;color:var(--text-muted);display:flex;align-items:center;gap:4px}
.scene-sort-select{border:none;font-size:13px;color:var(--text-secondary);background:transparent;cursor:pointer;outline:none}

/* Scene Grid Cards */
.scene-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:36px}
.scene-card{
  background:var(--bg-card);border-radius:var(--radius-lg);padding:0;
  border:1px solid var(--border);transition:var(--transition);cursor:default;position:relative;overflow:hidden;
  display:flex;flex-direction:column;
}
.scene-card-img{height:120px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:var(--bg-section)}
.scene-card-body{padding:20px 24px;display:flex;flex-direction:column;flex:1}
.scene-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),#60A5FA);opacity:0;transition:var(--transition)}
.scene-card:hover::before{opacity:1}
.scene-card:hover{border-color:var(--primary-subtle);box-shadow:var(--shadow-hover);transform:translateY(-2px)}
.scene-card .icon{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;flex-shrink:0}
.scene-card .icon svg{width:20px;height:20px;flex-shrink:0}
.scene-card h3{font-size:16px;font-weight:700;margin-bottom:4px;color:var(--text)}
.scene-card p{font-size:13px;color:var(--text-secondary);line-height:1.6;flex:1}
.scene-card .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.scene-card .tags.tags-multi{max-height:54px;overflow:hidden;transition:max-height 0.3s ease}
.scene-card .tags.tags-multi.expanded{max-height:none}
.scene-card .tags span{padding:2px 10px;border-radius:6px;font-size:11px;background:var(--primary-bg);color:var(--primary);font-weight:500}
.scene-card .card-footer{margin-top:12px;padding-top:10px;border-top:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center}
.scene-card .card-footer .view-link{font-size:12px;color:var(--primary);cursor:pointer;display:flex;align-items:center;gap:4px}
.scene-card .card-footer .view-link:hover{text-decoration:underline}
.scene-card .card-footer .view-link svg{width:14px;height:14px}
.scene-card .card-footer .sm-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:6px;background:linear-gradient(135deg,#3B82F6,#2563EB);color:#fff;font-size:11px;font-weight:600;cursor:pointer;transition:all 0.2s}
.scene-card .card-footer .sm-btn:hover{background:linear-gradient(135deg,#60A5FA,#3B82F6);box-shadow:0 2px 8px rgba(37,99,235,0.3);transform:translateY(-1px)}

/* Scene Article Card List (合肥风格) */
.scene-article-list{display:flex;flex-direction:column;gap:10px}
.scene-article-card{display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);transition:var(--transition);cursor:pointer}
.scene-article-card:hover{border-color:var(--primary-subtle);box-shadow:var(--shadow-hover);transform:translateY(-1px)}
.scene-article-card .date-block{width:56px;flex-shrink:0;text-align:center;padding:8px 0;border-radius:8px;background:var(--primary-bg)}
.scene-article-card .date-block .day{display:block;font-size:22px;font-weight:800;color:var(--primary);line-height:1}
.scene-article-card .date-block .month{font-size:11px;color:var(--text-muted);margin-top:2px}
.scene-article-card .info{flex:1;min-width:0}
.scene-article-card .info .title{font-size:15px;font-weight:600;color:var(--text);margin-bottom:3px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;transition:var(--transition)}
.scene-article-card:hover .info .title{color:var(--primary)}
.scene-article-card .info .desc{font-size:13px;color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.scene-article-card .info .meta{font-size:12px;color:var(--text-muted);margin-top:4px;display:flex;align-items:center;gap:12px}
.scene-article-card .info .meta span{display:flex;align-items:center;gap:3px}
.scene-article-card .arrow-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);flex-shrink:0;font-size:16px}
.scene-article-card:hover .arrow-btn{border-color:var(--primary);color:var(--primary);background:var(--primary-bg)}


/* Scene Definition Filters (pill style) */
.def-pills{display:flex;gap:6px;flex-wrap:wrap}
.def-pills.fold .def-pill.extra{display:none}
.def-pills.fold.open .def-pill.extra{display:inline-flex}
.pill-toggle{display:inline-flex;align-items:center;gap:3px;font-size:11px;color:var(--primary);cursor:pointer;flex-shrink:0;white-space:nowrap;user-select:none;padding:2px 0 0}
.pill-toggle:hover{opacity:.8}
.def-pill{padding:3px 12px;border-radius:100px;font-size:12px;font-weight:500;cursor:pointer;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);transition:var(--transition)}
.def-pill{padding:3px 12px;border-radius:100px;font-size:12px;font-weight:500;cursor:pointer;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);transition:var(--transition)}
.def-pill:hover{border-color:var(--primary);color:var(--primary)}
.def-pill.active{background:var(--primary);border-color:var(--primary);color:#fff}
.scene-cat-pills-wrap{padding:4px 0 0}
.def-pills .pill-sub{font-size:11px;padding:2px 10px;border-radius:6px;border-color:var(--border-light);color:var(--text-muted)}
.def-pills .pill-sub.active{background:var(--primary-subtle);border-color:var(--primary);color:var(--primary)}

/* Scene Definition Table */
.def-table-wrap{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);overflow:auto}
.def-table{width:100%;border-collapse:collapse;font-size:13px;min-width:700px}
.def-table th{text-align:left;padding:10px 14px;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);background:var(--bg-section);font-size:12px;white-space:nowrap}
.def-table td{padding:10px 14px;border-bottom:1px solid var(--border-light);vertical-align:top;line-height:1.5}
.def-table tr:last-child td{border-bottom:none}
.def-table tr:hover td{background:var(--bg-card-hover)}
.def-table .def-id{font-family:'SF Mono','Menlo','Monaco',monospace;font-size:12px;color:var(--text-muted)}
.def-table .def-name{font-weight:600;color:var(--text)}
.def-table .def-desc{color:var(--text-secondary);font-size:13px}
.def-table .def-cat{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}
.def-table .def-cat.technology{background:#EFF6FF;color:#2563EB}
.def-table .def-cat.safety{background:#FEF2F2;color:#DC2626}
.def-table .def-cat.energy{background:#ECFDF5;color:#059669}
.def-table .def-cat.smart{background:#F5F3FF;color:#7C3AED}
.def-table .def-cat.lowalt{background:#FFF7ED;color:#EA580C}
.def-table .def-link{color:var(--primary);cursor:pointer;font-size:12px}
.def-table .def-link:hover{text-decoration:underline}

/* ===== Opportunity ===== */
.opp-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}
.opp-panel{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden}
.opp-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}
.opp-panel-header h3{font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px}
.opp-panel-header .badge{font-size:11px;padding:2px 10px;border-radius:100px;background:var(--primary-bg);color:var(--primary)}
.opp-list{padding:4px}
.opp-item{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:8px;transition:var(--transition);cursor:default}
.opp-item:hover{background:var(--bg-card-hover)}
.opp-item .info{flex:1;min-width:0}
.opp-item .info .title{font-size:14px;font-weight:600}
.opp-item .info .meta{font-size:12px;color:var(--text-muted);margin-top:1px}
.opp-item .score{font-size:13px;font-weight:700;color:var(--accent);flex-shrink:0}
.opp-item .status{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.opp-item .status.open{background:var(--green)}
.opp-item .status.match{background:var(--primary)}
.opp-item .status.wait{background:var(--orange)}
.opp-item .icon-placeholder{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--primary-bg)}

/* Demand Hall */
.demand-hall{margin-top:20px}
.filter-bar{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap;align-items:center}
.filter-label{font-size:12px;color:var(--text-muted);white-space:nowrap}
.filter-group{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.filter-pill{padding:4px 14px;border-radius:100px;font-size:12px;font-weight:500;cursor:pointer;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);transition:var(--transition)}
.filter-pill:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-bg)}
.filter-pill.active{background:var(--primary);border-color:var(--primary);color:#fff}
.demand-table-wrap{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);overflow:auto}
.demand-table{width:100%;border-collapse:collapse;font-size:13px;min-width:700px}
.demand-table th{text-align:left;padding:10px 14px;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);background:var(--bg-section);white-space:nowrap;font-size:12px}
.demand-table td{padding:10px 14px;border-bottom:1px solid var(--border-light)}
.demand-table tr:last-child td{border-bottom:none}
.demand-table tr:hover td{background:var(--bg-card-hover)}
.t-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}
.t-badge.open{background:#F0FDF4;color:var(--green)}
.t-badge.wait{background:#FFF7ED;color:var(--orange)}
.t-badge.closed{background:#F1F5F9;color:var(--text-muted)}
.t-badge.match{background:var(--primary-bg);color:var(--primary)}

/* ===== AI Tech Manager ===== */
.tm-wrap{
  background:var(--bg-card);border-radius:var(--radius-xl);padding:36px;
  border:1px solid var(--border);box-shadow:var(--shadow);margin-bottom:20px
}
.tm-header{text-align:center;margin-bottom:24px}
.tm-header h3{font-size:20px;font-weight:700}
.tm-header p{font-size:14px;color:var(--text-secondary);margin-top:4px}
.tm-box{max-width:680px;margin:0 auto;background:var(--bg-section);border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden}
.tm-body{padding:20px;max-height:420px;overflow-y:auto}
.tm-msg{display:flex;gap:10px;margin-bottom:12px;animation:msgIn 0.4s forwards}
.tm-msg.user{flex-direction:row-reverse}
@keyframes msgIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.tm-av{width:32px;height:32px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.tm-msg.ai .tm-av{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff}
.tm-msg.user .tm-av{background:#E2E8F0;color:var(--text-secondary)}
.tm-bub{max-width:78%;padding:10px 14px;border-radius:10px;font-size:14px;line-height:1.6}
.tm-msg.ai .tm-bub{background:var(--bg-card);border:1px solid var(--border)}
.tm-msg.user .tm-bub{background:var(--primary);color:#fff;border-bottom-right-radius:3px}
.tm-label{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;margin-bottom:4px;background:var(--primary-bg);color:var(--primary)}
.tm-extra{font-size:11px;color:var(--text-muted);margin-top:4px;text-align:right}
.tm-rec{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}
.tm-rec-card{padding:12px;border-radius:8px;background:var(--bg-card-hover);border:1px solid var(--border);cursor:pointer;transition:var(--transition)}
.tm-rec-card:hover{border-color:var(--primary-subtle);background:var(--primary-bg)}
.tm-rec-card .sc{font-size:12px;font-weight:600}
.tm-rec-card .sc.high{color:var(--green)}.tm-rec-card .sc.medium{color:var(--orange)}
.tm-rec-card .nm{font-size:14px;font-weight:600;margin-top:3px}
.tm-rec-card .co{font-size:12px;color:var(--text-muted);margin-top:1px}
.tm-input{display:flex;gap:8px;padding:14px 20px;border-top:1px solid var(--border);background:var(--bg-card)}
.tm-input input{flex:1;padding:10px 14px;border-radius:8px;border:1px solid var(--border);background:var(--bg-section);color:var(--text);font-size:14px;outline:none;transition:var(--transition)}
.tm-input input:focus{border-color:var(--primary);background:var(--bg-card)}
.tm-input .btn{border-radius:8px;padding:10px 20px}

/* ===== Capability ===== */
.cap-stat-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.modal.cap-detail-modal{width:700px;max-width:100%}
.cap-detail-modal .modal-body{padding:16px 32px 32px}
.cap-detail-section{margin-bottom:18px}
.cap-detail-section:last-child{margin-bottom:0}
.cap-detail-section .label{font-size:11px;color:var(--text-muted);margin-bottom:4px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px}
.cap-detail-section .value{font-size:13px;color:var(--text);line-height:1.7;white-space:pre-wrap}
.cap-detail-section .value.collapsed{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;cursor:pointer}
.cap-detail-section .value.collapsed::after{content:' 更多';color:var(--primary);font-size:12px}
.cap-detail-section .tags{display:flex;gap:4px;flex-wrap:wrap}
.cap-detail-section .tags span{padding:1px 8px;border-radius:4px;font-size:11px;background:var(--bg-section);color:var(--text-secondary)}
.cap-detail-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--text-muted)}
.cap-detail-meta span{display:flex;align-items:center;gap:4px}
.cap-stat{font-size:14px;color:var(--text-secondary)}
.cap-filter-bar{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 20px;margin-bottom:16px}
.cap-filter-group{display:flex;align-items:flex-start;gap:10px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--border-light)}
.cap-filter-label{font-size:12px;font-weight:600;color:var(--text-secondary);white-space:nowrap;line-height:28px;min-width:56px;flex-shrink:0}
.cap-pills{display:flex;gap:4px;flex-wrap:wrap}
.cap-pills .cap-pill{padding:2px 10px;border-radius:100px;font-size:11px;cursor:pointer;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);transition:var(--transition)}
.cap-pills .cap-pill:hover{border-color:var(--primary);color:var(--primary)}
.cap-pills .cap-pill.active{background:var(--primary);border-color:var(--primary);color:#fff}
.cap-cat-pills{padding:8px 0 12px}
.cap-cat-pills .def-pills .def-pill{font-size:12px;padding:3px 12px}
.cap-cat-pills .def-pills .pill-sub{font-size:11px;padding:2px 10px;border-radius:6px;border-color:var(--border-light);color:var(--text-muted)}
.cap-cat-pills .def-pills .pill-sub.active{background:var(--primary-subtle);border-color:var(--primary);color:var(--primary)}
.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cap-card{
  background:var(--bg-card);border-radius:var(--radius-lg);padding:22px;
  border:1px solid var(--border);transition:var(--transition);cursor:pointer;
  display:flex;flex-direction:column;min-width:0
}
.cap-card:hover{box-shadow:var(--shadow-hover);border-color:var(--primary-subtle);transform:translateY(-2px)}
.cap-top{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;min-width:0}
.cap-av{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:700;color:#fff;flex-shrink:0}
.cap-info{flex:1;min-width:0}
.cap-info .nm{font-size:15px;font-weight:700;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.cap-info .co{font-size:12px;color:var(--text-muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cap-info .org-type-badge{display:inline-block;margin-left:8px;padding:1px 8px;font-size:10px;line-height:20px;border-radius:4px;background:var(--primary-bg);color:var(--primary);font-weight:600;vertical-align:middle}
.cap-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}
.cap-tags span{padding:2px 8px;border-radius:4px;font-size:11px;background:var(--primary-bg);color:var(--primary)}
.cap-desc{font-size:13px;color:var(--text-secondary);line-height:1.55;flex:1;min-height:0}
.cap-footer{margin-top:auto;padding-top:10px;border-top:1px solid var(--border-light);font-size:12px;color:var(--text-muted)}
.cap-desc.collapsed{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-clamp:3;overflow:hidden}
.cap-meta{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:12px;color:var(--text-muted)}

/* 场景机会卡片增强样式 */
.opp-card .org-logo{background:#fff;border:1px solid var(--border);color:var(--text-muted);font-size:12px;font-weight:600}
.opp-urgency-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;flex-shrink:0}

/* 最新机会横向滚动 */
.latest-opp-section{padding:24px 0;background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 50%,#f0fdfa 100%);margin-bottom:0}
.latest-opp-scroll-wrap{overflow:hidden;padding:4px 0;position:relative;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.latest-opp-scroll{display:flex;gap:20px;padding:4px;will-change:transform}
@keyframes latestOppScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.latest-opp-scroll.animate{animation:latestOppScroll 30s linear infinite}
.latest-opp-scroll:hover{animation-play-state:paused}

/* 最新机会卡片 - 现代卡片风格 */
.latest-opp-section{padding:20px 0;background:linear-gradient(180deg,#f8fafc 0%,#fff 100%);margin-bottom:0}
.latest-opp-scroll-wrap{overflow:hidden;padding:8px 4px;position:relative;mask-image:linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent)}
.latest-opp-scroll{display:flex;gap:16px;padding:4px;will-change:transform}
@keyframes latestOppScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.latest-opp-scroll.animate{animation:latestOppScroll 35s linear infinite}
.latest-opp-scroll:hover{animation-play-state:paused}

.latest-opp-card{min-width:280px;max-width:280px;background:#fff;border-radius:14px;padding:0;border:1px solid #e2e8f0;cursor:pointer;transition:all 0.25s ease;flex-shrink:0;box-shadow:0 1px 3px rgba(0,0,0,0.04);position:relative;overflow:hidden}
.latest-opp-card:hover{box-shadow:0 8px 24px rgba(0,0,0,0.1);transform:translateY(-4px);border-color:#cbd5e1}
.latest-card-img{width:100%;height:110px;overflow:hidden;background:linear-gradient(135deg,#EFF6FF,#DBEAFE);position:relative}
.latest-card-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.3s}
.latest-card-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:rgba(0,0,0,0.5);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1.5px solid rgba(255,255,255,0.7);transition:all 0.3s;pointer-events:none}
.latest-card-play svg{margin-left:3px}
.latest-opp-card:hover .latest-card-img img,.latest-cap-card:hover .latest-card-img img{transform:scale(1.05)}
.latest-opp-card:hover .latest-card-play,.latest-cap-card:hover .latest-card-play{background:rgba(99,102,241,0.85);border-color:#fff;transform:translate(-50%,-50%) scale(1.1)}
.latest-card-accent{height:4px;background:linear-gradient(90deg,#3b82f6,#0ea5e9);border-radius:14px 14px 0 0}
.latest-card-content{padding:14px 16px 12px}
.latest-card-top{margin-bottom:10px}
.latest-new-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:100px;font-size:11px;font-weight:500;background:rgba(59,130,246,0.08);color:#3b82f6;border:1px solid rgba(59,130,246,0.15);margin-bottom:8px}
.latest-new-badge .badge-dot{width:6px;height:6px;border-radius:50%;background:#3b82f6;animation:pulse 2s infinite}
.latest-title{font-size:15px;font-weight:600;color:#0f172a;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.latest-card-org{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.latest-org-icon{width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,#e0e7ff,#c7d2fe);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#4f46e5;flex-shrink:0}
.latest-org-name{font-size:12px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.latest-card-meta{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9;margin-bottom:10px}
.latest-meta-item{flex:1}
.latest-meta-label{font-size:10px;color:#94a3b8;display:block;margin-bottom:3px;text-transform:uppercase;letter-spacing:0.5px}
.latest-budget{font-size:18px;font-weight:800;color:#dc2626;line-height:1}
.latest-budget.budget-tbd{color:#94a3b8;font-size:14px;font-weight:600}
.latest-deadline{font-size:14px;font-weight:600;color:#0f172a;line-height:1}
.latest-deadline.urgent{color:#dc2626}
.latest-meta-divider{width:1px;height:24px;background:#e2e8f0}
.latest-card-footer{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.latest-urgency{padding:3px 8px;border-radius:5px;font-size:10px;font-weight:600;flex-shrink:0}
.latest-cat{font-size:11px;color:#64748b;background:#f1f5f9;padding:3px 10px;border-radius:5px;flex-shrink:0;font-weight:500}

/* ===== 场景机会工具栏 ===== */
.opp-toolbar{background:#fff;border-bottom:1px solid #e2e8f0;padding:12px 0}

/* ===== 场景能力工具栏 ===== */
.cap-toolbar{background:#fff;border-bottom:1px solid #e2e8f0;padding:12px 0}
.cap-toolbar-main{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.cap-search-wrap{flex:1;min-width:240px;max-width:400px;position:relative}
.cap-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#94a3b8}
.cap-search-input{width:100%;padding:10px 12px 10px 38px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;outline:none;transition:all 0.2s}
.cap-search-input:focus{border-color:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,0.1)}
.cap-quick-filters{display:flex;gap:8px}
.cap-filter-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:14px;color:#475569;cursor:pointer;transition:all 0.2s}
.cap-filter-btn:hover{background:#f8fafc;border-color:#cbd5e1}
.cap-filter-btn.active{background:#f5f3ff;border-color:#7c3aed;color:#7c3aed}
.cap-sort-wrap{position:relative}
.cap-sort-dropdown{position:relative}
.cap-sort-toggle{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:14px;color:#475569;cursor:pointer;transition:all 0.2s}
.cap-sort-toggle:hover{background:#f8fafc}
.cap-sort-toggle .arrow-icon{transition:transform 0.2s}
.cap-sort-dropdown.open .cap-sort-toggle .arrow-icon{transform:rotate(180deg)}
.cap-sort-menu{position:absolute;top:100%;right:0;margin-top:4px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 10px 40px rgba(0,0,0,0.12);min-width:140px;z-index:100;overflow:hidden}
.cap-sort-item{padding:10px 14px;font-size:14px;color:#475569;cursor:pointer;transition:background 0.15s}
.cap-sort-item:hover{background:#f1f5f9}
.cap-sort-item.active{color:#7c3aed;background:#f5f3ff;font-weight:500}
.cap-count-wrap{margin-left:auto}
.cap-count{font-size:13px;color:#64748b}
.cap-count strong{color:#1e293b;font-size:16px}

/* 最新能力卡片 */
.latest-cap-section{padding:20px 0;background:linear-gradient(180deg,#faf5ff 0%,#fff 100%);margin-bottom:0}
.latest-cap-scroll-wrap{overflow:hidden;padding:8px 4px;position:relative;mask-image:linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent)}
.latest-cap-scroll{display:flex;gap:16px;padding:4px;will-change:transform}
@keyframes latestCapScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.latest-cap-scroll.animate{animation:latestCapScroll 35s linear infinite}
.latest-cap-scroll:hover{animation-play-state:paused}

.latest-cap-card{min-width:280px;max-width:280px;background:#fff;border-radius:14px;padding:0;border:1px solid #e2e8f0;cursor:pointer;transition:all 0.25s ease;flex-shrink:0;box-shadow:0 1px 3px rgba(0,0,0,0.04);position:relative;overflow:hidden}
.latest-cap-card:hover{box-shadow:0 8px 24px rgba(0,0,0,0.1);transform:translateY(-4px);border-color:#cbd5e1}
.latest-cap-card .latest-card-accent{height:4px;background:linear-gradient(90deg,#7c3aed,#a855f7);border-radius:14px 14px 0 0}
.latest-cap-card .latest-new-badge{background:rgba(124,58,237,0.08);color:#7c3aed;border-color:rgba(124,58,237,0.15)}
.latest-cap-card .latest-new-badge .badge-dot{background:#7c3aed}
.latest-cap-card .latest-org-icon{background:linear-gradient(135deg,#f3e8ff,#e9d5ff);color:#7c3aed}
.latest-category{font-size:14px;font-weight:600;color:#7c3aed}
.latest-cases{font-size:14px;font-weight:600;color:#0f172a}
.latest-org-type{font-size:11px;color:#64748b;background:#f1f5f9;padding:3px 10px;border-radius:5px;font-weight:500}

/* 能力筛选面板 */
.cap-filter-panel{margin-top:12px;padding:20px;background:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 4px 20px rgba(0,0,0,0.06)}
.cap-filter-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f1f5f9}
.cap-filter-title{font-size:15px;font-weight:600;color:#1e293b}
.cap-filter-actions{display:flex;gap:8px}
.cap-filter-reset{padding:6px 12px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;font-size:13px;color:#64748b;cursor:pointer;transition:all 0.2s}
.cap-filter-reset:hover{background:#f8fafc;border-color:#cbd5e1}
.cap-filter-close{padding:6px 12px;border:none;border-radius:6px;background:#7c3aed;color:#fff;font-size:13px;cursor:pointer;transition:all 0.2s}
.cap-filter-close:hover{background:#6d28d9}
.cap-filter-body{display:flex;flex-direction:column;gap:16px}
.cap-filter-section{display:flex;flex-direction:column;gap:10px}
.cap-filter-section-title{font-size:13px;font-weight:600;color:#475569}
.cap-filter-tags{display:flex;flex-wrap:wrap;gap:8px}
.cap-filter-tag{padding:6px 14px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;font-size:13px;color:#64748b;cursor:pointer;transition:all 0.15s}
.cap-filter-tag:hover{background:#f8fafc;border-color:#cbd5e1}
.cap-filter-tag.active{background:#f5f3ff;border-color:#7c3aed;color:#7c3aed;font-weight:500}
.cap-filter-level-group{display:flex;flex-direction:column;gap:12px}
.cap-filter-level{display:flex;flex-direction:column;gap:8px}
.cap-filter-level-label{font-size:12px;color:#94a3b8;font-weight:500;padding-left:2px}
.opp-toolbar-main{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.opp-search-wrap{flex:1;min-width:240px;max-width:400px;position:relative}
.opp-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#94a3b8}
.opp-search-input{width:100%;padding:10px 12px 10px 38px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;outline:none;transition:all 0.2s}
.opp-search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,0.1)}
.opp-quick-filters{display:flex;gap:8px}
.opp-filter-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:14px;color:#475569;cursor:pointer;transition:all 0.2s}
.opp-filter-btn:hover{background:#f8fafc;border-color:#cbd5e1}
.opp-filter-btn.active{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}
.opp-sort-wrap{position:relative}
.opp-sort-dropdown{position:relative}
.opp-sort-toggle{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:14px;color:#475569;cursor:pointer;transition:all 0.2s}
.opp-sort-toggle:hover{background:#f8fafc}
.opp-sort-toggle .arrow-icon{transition:transform 0.2s}
.opp-sort-dropdown.open .opp-sort-toggle .arrow-icon{transform:rotate(180deg)}
.opp-sort-menu{position:absolute;top:100%;right:0;margin-top:4px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 10px 40px rgba(0,0,0,0.12);min-width:140px;z-index:100;overflow:hidden}
.opp-sort-item{padding:10px 14px;font-size:14px;color:#475569;cursor:pointer;transition:background 0.15s}
.opp-sort-item:hover{background:#f1f5f9}
.opp-sort-item.active{color:#3b82f6;background:#eff6ff;font-weight:500}
.opp-count-wrap{margin-left:auto}
.opp-count{font-size:13px;color:#64748b}
.opp-count strong{color:#1e293b;font-size:16px}

/* 筛选面板 */
.opp-filter-panel{margin-top:12px;padding:20px;background:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 4px 20px rgba(0,0,0,0.06)}
.opp-filter-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f1f5f9}
.opp-filter-title{font-size:15px;font-weight:600;color:#1e293b}
.opp-filter-actions{display:flex;gap:8px}
.opp-filter-reset{padding:6px 12px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;font-size:13px;color:#64748b;cursor:pointer;transition:all 0.2s}
.opp-filter-reset:hover{background:#f8fafc;border-color:#cbd5e1}
.opp-filter-close{padding:6px 12px;border:none;border-radius:6px;background:#3b82f6;color:#fff;font-size:13px;cursor:pointer;transition:all 0.2s}
.opp-filter-close:hover{background:#2563eb}
.opp-filter-body{display:flex;flex-direction:column;gap:16px}

/* 筛选区块 */
.opp-filter-section{display:flex;flex-direction:column;gap:10px}
.opp-filter-section-title{font-size:13px;font-weight:600;color:#475569}
.opp-filter-tags{display:flex;flex-wrap:wrap;gap:8px}
.opp-filter-tag{padding:6px 14px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;font-size:13px;color:#64748b;cursor:pointer;transition:all 0.15s}
.opp-filter-tag:hover{background:#f8fafc;border-color:#cbd5e1}
.opp-filter-tag.active{background:#eff6ff;border-color:#3b82f6;color:#3b82f6;font-weight:500}

/* 三级分类 */
.opp-filter-level-group{display:flex;flex-direction:column;gap:12px}
.opp-filter-level{display:flex;flex-direction:column;gap:8px}
.opp-filter-level-label{font-size:12px;color:#94a3b8;font-weight:500;padding-left:2px}

/* 预算范围 */
.opp-filter-row-inline{flex-direction:row;gap:32px;align-items:flex-start}
.opp-filter-inline-item{display:flex;flex-direction:column;gap:10px}
.opp-filter-range-inputs{display:flex;align-items:center;gap:8px}
.opp-filter-range-inputs input{width:80px;padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;outline:none}
.opp-filter-range-inputs input:focus{border-color:#3b82f6}
.range-sep{color:#94a3b8;font-size:13px}
.range-unit{color:#64748b;font-size:13px}

/* 响应式 */
@media(max-width:768px){
  .opp-toolbar-main{flex-direction:column;align-items:stretch}
  .opp-search-wrap{max-width:100%}
  .opp-quick-filters{flex-wrap:wrap}
  .opp-count-wrap{margin-left:0;text-align:right}
  .opp-filter-section{gap:8px}
  .opp-filter-row-inline{flex-direction:column;gap:16px}
  .opp-filter-tags{gap:6px}
  .opp-filter-tag{padding:5px 10px;font-size:12px}
  .latest-opp-card{min-width:240px;max-width:240px}
}
.opp-info-row{display:flex;gap:16px;margin-bottom:8px;padding:8px 12px;background:var(--bg-section);border-radius:6px}
.opp-info-item{display:flex;align-items:center;gap:4px}
.opp-info-label{font-size:11px;color:var(--text-muted)}
.opp-info-value{font-size:12px;color:var(--text);font-weight:500}
.opp-connect-btn{transition:all 0.2s}
.opp-card:hover .opp-connect-btn{background:#1d4ed8;transform:scale(1.02)}

/* ===== Partners ===== */
.partner-track{display:flex;gap:20px;overflow:hidden;padding:12px 0;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.partner-track-inner{display:flex;gap:20px;animation:scrollL 30s linear infinite}
.partner-item{display:flex;align-items:center;gap:8px;padding:8px 20px;background:var(--bg-card);border-radius:8px;border:1px solid var(--border);font-size:14px;color:var(--text-secondary);white-space:nowrap}
@keyframes scrollL{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ===== Footer ===== */
.footer{background:var(--bg-card);border-top:1px solid var(--border);padding:40px 0 24px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px}
.footer-brand h4{font-size:16px;font-weight:700;margin-bottom:6px}
.footer-brand h4 span{color:var(--accent)}
.footer-brand p{font-size:13px;color:var(--text-secondary);line-height:1.6}
.footer-col h5{font-size:14px;font-weight:600;margin-bottom:10px}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:5px}
.footer-col a{font-size:13px;color:var(--text-secondary);cursor:pointer}
.footer-col a:hover{color:var(--primary)}
.footer-bottom{margin-top:24px;padding-top:14px;border-top:1px solid var(--border);text-align:center;font-size:13px;color:var(--text-muted)}

/* ===== Scrollbar ===== */
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}

/* ===== Skeleton Loading ===== */
.skeleton{background:linear-gradient(90deg,var(--bg-section) 25%,var(--border) 50%,var(--bg-section) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px;height:16px;margin:6px 0}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* ===== Responsive ===== */
@media(max-width:1024px){
  .scene-grid{grid-template-columns:1fr 1fr}
  .opp-layout{grid-template-columns:1fr}
  .cap-grid{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .nav-links a{padding:8px 12px;font-size:13px}
  .scene-grid{grid-template-columns:1fr}
  .def-grid{grid-template-columns:1fr}
  .cap-grid{grid-template-columns:1fr}
  .stats-row{gap:20px;flex-wrap:wrap}
  .footer-grid{grid-template-columns:1fr}
  .hero{padding:60px 0 40px}
  .tm-wrap{padding:20px}
  .container{padding:0 16px}
  .section{padding:44px 0}
  .hero-actions .btn{padding:10px 20px;font-size:14px}
}

/* ===== Modal ===== */
.modal-overlay{position:fixed;inset:0;z-index:9998;background:rgba(15,23,42,0.5);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;padding:20px}
.modal-overlay.open{display:flex}
.modal-overlay.open .modal{animation:modalIn 0.25s ease}
@keyframes modalIn{from{opacity:0;transform:scale(0.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}
.modal{background:var(--bg-card);border-radius:var(--radius-xl);width:420px;max-width:100%;box-shadow:0 24px 64px rgba(0,0,0,0.15);animation:modalIn 0.25s ease;position:relative;max-height:90vh;overflow-y:auto}
@keyframes modalIn{from{opacity:0;transform:scale(0.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}
.modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:8px;border:none;background:var(--bg-section);color:var(--text-muted);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}
.modal-close:hover{background:var(--border);color:var(--text)}
.modal-header{text-align:center;padding:32px 32px 16px}
.modal-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:22px;color:#fff;font-weight:700;margin:0 auto 12px}
.modal-header h3{font-size:18px;font-weight:700;margin-bottom:6px}
.modal-header p{font-size:13px;color:var(--text-secondary);line-height:1.5}
.modal-body{padding:16px 32px 32px}
.form-label{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:4px}

/* Enterprise Modal */
.enterprise-modal{background:var(--bg-card);border-radius:var(--radius-xl);width:820px;max-width:100%;box-shadow:0 24px 64px rgba(0,0,0,0.15);animation:modalIn 0.25s ease;position:relative;max-height:90vh;overflow-y:auto;padding:0}
.enterprise-modal .modal-close{color:#fff;background:rgba(0,0,0,0.25);z-index:10}
.enterprise-modal .modal-close:hover{background:rgba(0,0,0,0.45)}
.enterprise-modal .modal-body{padding:0 32px 32px}

/* Enterprise Header */
.ent-hero{background:linear-gradient(135deg,#F8F7FC 0%,#F0E6FF 100%);border:1px solid #E8E5F0;border-radius:16px;padding:20px 24px;margin-bottom:16px;display:flex;align-items:center;gap:20px}
.ent-hero-left{flex-shrink:0}
.ent-ai-score-wrap{display:flex;flex-direction:column;align-items:center;gap:6px}
.ent-ai-tag{display:inline-block;padding:1px 6px;border-radius:4px;background:linear-gradient(135deg,#7C3AED,#9333EA);color:#fff;font-size:10px;font-weight:700;margin-right:4px;vertical-align:middle}
.ent-score-ring-small{position:relative;width:64px;height:64px}
.ent-score-center-small{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}
.ent-score-num-small{font-size:22px;font-weight:800;color:#7C3AED;line-height:1}
.ent-ai-score-label{font-size:12px;color:#6B7280;font-weight:500;white-space:nowrap}
.ent-hero-info{flex:1;min-width:0}
.ent-hero-name{font-size:20px;font-weight:800;color:#1E293B;margin:0 0 8px}
.ent-hero-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:13px;color:#64748B;align-items:center}
.ent-hero-tag{background:var(--primary);color:#fff;padding:3px 10px;border-radius:100px;font-size:11px;font-weight:600}
.ent-score-level-small{padding:3px 10px;border-radius:100px;font-size:11px;font-weight:600}
.ent-ai-score-desc{font-size:11px;color:#9CA3AF;margin-top:6px}
.ent-hero-actions{display:flex;gap:8px;flex-shrink:0}
.ent-header{background:linear-gradient(135deg,#7C3AED,#A78BFA);color:#fff;padding:28px 32px;border-radius:var(--radius-xl) var(--radius-xl) 0 0}
.ent-header .ent-name{font-size:22px;font-weight:800;margin-bottom:4px}
.ent-header .ent-meta{font-size:13px;opacity:0.85;display:flex;gap:16px;flex-wrap:wrap}
.ent-header .ent-meta span{display:flex;align-items:center;gap:4px}

/* Enterprise Score Card */
.ent-score-card{display:flex;gap:24px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:20px}
.ent-score-left{flex-shrink:0}
.ent-score-ring{position:relative;width:80px;height:80px}
.ent-score-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}
.ent-score-num{font-size:24px;font-weight:800;color:#2563EB;line-height:1}
.ent-score-label{font-size:9px;color:#64748B;margin-top:2px}
.ent-score-right{flex:1;display:flex;flex-direction:column;gap:12px}
.ent-score-level{display:inline-block;padding:4px 14px;border-radius:100px;font-size:12px;font-weight:600}
.ent-score-dims{display:flex;gap:8px}
.ent-score-dim{text-align:center;background:var(--bg-section);border-radius:8px;padding:8px 12px;flex:1}
.ent-score-dim .dim-val{font-size:16px;font-weight:700;color:#1E293B;display:block}
.ent-score-dim .dim-name{font-size:10px;color:#64748B}

/* Enterprise Tabs */
.ent-tab-bar{display:flex;gap:0;border-bottom:2px solid var(--border);background:var(--bg-section);position:sticky;top:0;z-index:5}
.ent-tab{padding:12px 20px;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:var(--transition);white-space:nowrap}
.ent-tab:hover{color:var(--text)}
.ent-tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}
.ent-tab .ent-tab-count{display:inline-block;margin-left:4px;padding:0 6px;border-radius:100px;font-size:10px;background:var(--primary-bg);color:var(--primary);font-weight:600}

/* Enterprise Sections */
.ent-section{padding:24px 0;border-bottom:1px solid var(--border-light)}
.ent-section:last-child{border-bottom:none}
.ent-section:first-of-type{padding-top:16px}
.ent-section-title{font-size:16px;font-weight:700;color:#0F172A;margin-bottom:14px;display:flex;align-items:center;gap:8px}
.ent-section-title svg{flex-shrink:0}
.ent-section-title .ent-more{font-size:12px;font-weight:500;color:var(--primary);margin-left:auto;cursor:pointer}
/* Credit Rating Card */
.ent-credit-card{background:#fff;border:1px solid #E5E7EB;border-radius:14px;padding:20px;box-shadow:0 1px 4px rgba(0,0,0,0.04)}
.ent-credit-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.ent-credit-main{display:flex;align-items:baseline;gap:12px}
.ent-credit-level{font-size:32px;font-weight:800;font-family:'Oswald',sans-serif;letter-spacing:1px}
.ent-credit-score{font-size:13px;color:#6B7280}
.ent-credit-score strong{font-size:18px;color:#0F172A}
.ent-credit-badge{display:inline-flex;padding:4px 12px;border-radius:8px;font-size:13px;font-weight:700;letter-spacing:0.5px}
.ent-credit-dims{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.ent-credit-dim{display:flex;align-items:center;gap:10px}
.ent-credit-dim-label{width:70px;font-size:12px;color:#6B7280;flex-shrink:0;text-align:right}
.ent-credit-dim-bar{flex:1;height:8px;background:#F3F4F6;border-radius:4px;overflow:hidden}
.ent-credit-dim-fill{display:block;height:100%;border-radius:4px;transition:width 0.6s ease}
.ent-credit-dim-val{width:32px;font-size:12px;font-weight:600;color:#374151;text-align:right;flex-shrink:0}
.ent-credit-meta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:14px;padding-top:14px;border-top:1px solid #F3F4F6;font-size:11px}
.ent-credit-source{color:#9CA3AF}
.ent-credit-date{color:#9CA3AF}
.ent-credit-valid{color:#10B981;font-weight:500}
.ent-credit-expired{color:#EF4444;font-weight:600}
.ent-credit-actions{display:flex;gap:8px}
.ent-section-desc{font-size:13px;color:var(--text-muted);margin-bottom:12px}
.ent-tab-count{font-size:12px;font-weight:500;color:var(--text-muted);margin-left:6px;background:var(--bg-section);padding:2px 8px;border-radius:100px}

/* Enterprise profile grid */
.ent-profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.ent-profile-item{background:var(--bg-section);border-radius:8px;padding:12px}
.ent-profile-item .epi-label{font-size:11px;color:var(--text-muted);margin-bottom:4px}
.ent-profile-item .epi-value{font-size:14px;font-weight:600;color:var(--text)}
.ent-intro{font-size:13px;color:var(--text-secondary);line-height:1.7;padding:14px 16px;background:var(--bg-section);border-radius:8px;margin-top:12px}

/* Enterprise Contact */
.ent-contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.ent-contact-item{display:flex;align-items:center;gap:8px;padding:12px;background:var(--bg-section);border-radius:8px;font-size:13px;color:var(--text-secondary)}
.ent-contact-item svg{color:var(--primary);flex-shrink:0}
.ent-contact-tip{margin-top:12px;font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:6px}

/* Enterprise Capability */
.ent-cat-cloud{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.ent-cat-tag{padding:4px 12px;border-radius:100px;font-size:12px;background:var(--primary-bg);color:var(--primary);font-weight:500}
.ent-cat-tag strong{margin-left:4px}
.ent-tag-cloud{display:flex;flex-wrap:wrap;gap:6px}
.ent-tag{padding:2px 8px;border-radius:4px;font-size:11px;background:var(--bg-section);color:var(--text-muted)}
.ent-cap-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.ent-cap-item{background:var(--bg-section);border:1px solid var(--border);border-radius:10px;padding:14px;cursor:pointer;transition:var(--transition)}
.ent-cap-item:hover{border-color:var(--primary-subtle);box-shadow:0 2px 8px rgba(37,99,235,0.08)}
.ent-cap-item .eci-cat{font-size:11px;color:var(--text-muted);margin-bottom:4px}
.ent-cap-item .eci-name{font-size:14px;font-weight:600;color:var(--text);margin-bottom:6px}
.ent-cap-item .eci-desc{font-size:12px;color:var(--text-secondary);line-height:1.5;margin-bottom:8px}
.ent-cap-item .eci-tags{display:flex;gap:4px;flex-wrap:wrap}
.ent-cap-item .eci-tags span{padding:2px 6px;border-radius:4px;font-size:10px;background:var(--primary-bg);color:var(--primary)}

/* Enterprise Case */
.ent-case-grid{display:flex;flex-direction:column;gap:12px}
.ent-case-item{display:flex;gap:12px;padding:14px;background:var(--bg-section);border-radius:10px}
.eci-case-icon{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#10B981,#059669);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}
.eci-case-content{flex:1}
.eci-case-text{font-size:13px;color:var(--text);line-height:1.5;margin-bottom:6px}
.eci-case-source{font-size:11px;color:var(--text-muted)}

/* Enterprise Certificate */
.ent-cert-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.ent-cert-item{background:linear-gradient(135deg,#F5F3FF,#EDE9FE);border:1px solid rgba(124,58,237,0.15);border-radius:10px;padding:14px;display:flex;align-items:flex-start;gap:12px}
.ent-cert-icon{flex-shrink:0;width:36px;height:36px;border-radius:8px;background:rgba(124,58,237,0.08);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#7C3AED}
.ent-cert-type{font-size:10px;font-weight:600;color:#fff;background:linear-gradient(135deg,#7C3AED,#2563EB);border-radius:4px;padding:2px 6px;white-space:nowrap}
.ent-cert-info{flex:1;min-width:0}
.ent-cert-name{font-size:13px;font-weight:600;color:#333;margin-bottom:4px}
.ent-cert-issuer{font-size:11px;color:#888;margin-top:2px}
.ent-cert-expire{font-size:11px;color:#9CA3AF;margin-top:1px}
.ent-empty{text-align:center;padding:32px;color:var(--text-muted);font-size:13px;background:var(--bg-section);border-radius:10px}

/* Enterprise Tab Content */
.ent-tab-content{display:none}
.ent-tab-content.active{display:block}
.ent-tab-content .ent-section{border-bottom:none;padding:20px 0}
.ent-tab-content .ent-section:first-child{padding-top:0}

/* Enterprise Score Detail */
.ent-score-detail-grid{display:flex;flex-direction:column;gap:12px}
.ent-score-detail-item{display:flex;align-items:center;gap:16px;padding:12px;background:var(--bg-section);border-radius:8px}
.esdi-val{font-size:20px;font-weight:800;color:#2563EB;min-width:40px;text-align:center}
.esdi-name{font-size:13px;color:var(--text-secondary);min-width:60px}
.esdi-bar{flex:1;height:6px;background:#E8E5F0;border-radius:3px;overflow:hidden}
.esdi-bar span{display:block;height:100%;background:linear-gradient(90deg,#2563EB,#7C3AED);border-radius:3px;transition:width 0.5s}

/* Enterprise supply cards grid */
.ent-supply-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ent-supply-item{border:1px solid var(--border);border-radius:8px;padding:12px 14px;transition:var(--transition);cursor:pointer}
.ent-supply-item:hover{border-color:var(--primary-subtle);box-shadow:0 2px 8px rgba(124,58,237,0.08)}
.ent-supply-item .esi-name{font-size:13px;font-weight:600;color:var(--text);margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.ent-supply-item .esi-cat{font-size:10px;color:var(--primary);font-weight:600;margin-bottom:2px}
.ent-supply-item .esi-desc{font-size:11px;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ent-supply-item .esi-tags{display:flex;gap:3px;margin-top:4px}
.ent-supply-item .esi-tags span{padding:0 5px;border-radius:3px;font-size:9px;background:var(--bg-section);color:var(--text-muted)}

/* Enterprise cases */
.ent-case-item{padding:12px 14px;background:var(--bg-section);border-radius:8px;font-size:13px;color:var(--text-secondary);line-height:1.7;margin-bottom:8px}

/* Enterprise certs */
.ent-cert-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.ent-cert-card{border:1px dashed var(--border);border-radius:8px;padding:16px 12px;text-align:center;font-size:12px;color:var(--text-muted)}
.ent-cert-card svg{width:32px;height:32px;color:var(--primary);margin-bottom:6px}

/* Enterprise link in cap card */
.enterprise-link{color:var(--primary);cursor:pointer;font-weight:600;transition:var(--transition);border-bottom:1px dashed transparent}
.enterprise-link:hover{color:#6D28D9;border-bottom-color:var(--primary-subtle)}

/* User Center */
.uc-header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:16px;padding:28px 32px;margin-top:24px;display:flex;align-items:center;gap:24px;color:#fff;box-shadow:0 8px 32px rgba(102,126,234,0.3);flex-wrap:wrap}
.uc-actions{display:flex;gap:6px;flex-shrink:0;margin-left:auto;align-items:center;flex-wrap:wrap}
.uc-action-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:8px;font-size:11px;font-weight:500;cursor:pointer;background:rgba(255,255,255,0.15);color:rgba(255,255,255,0.9);border:1px solid rgba(255,255,255,0.2);transition:all 0.2s;white-space:nowrap}
.uc-action-btn:hover{background:rgba(255,255,255,0.25);color:#fff;border-color:rgba(255,255,255,0.4)}
.uc-action-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;font-size:10px;font-weight:700;background:rgba(255,255,255,0.25);line-height:1}
.uc-action-btn-active{background:rgba(255,255,255,0.3)!important;border-color:rgba(255,255,255,0.5)!important;color:#fff!important}
.uc-action-btn-primary{background:rgba(37,99,235,0.5);border-color:rgba(37,99,235,0.6)}
.uc-action-btn-primary:hover{background:rgba(37,99,235,0.7)}
.uc-action-btn-green{background:rgba(22,163,74,0.5);border-color:rgba(22,163,74,0.6)}
.uc-action-btn-green:hover{background:rgba(22,163,74,0.7)}
.uc-action-divider{width:1px;height:20px;background:rgba(255,255,255,0.2);margin:0 4px;flex-shrink:0}
.uc-primary-tabs{display:flex;gap:0;margin-top:16px;background:var(--bg-card);border-radius:12px 12px 0 0;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,0.06)}
.uc-avatar{width:64px;height:64px;border-radius:16px;background:rgba(255,255,255,0.2);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:800;flex-shrink:0;border:2px solid rgba(255,255,255,0.3)}
.uc-info{flex:1;min-width:0}
.uc-name{font-size:22px;font-weight:700;margin-bottom:4px;letter-spacing:0.5px}
.uc-meta{font-size:13px;opacity:0.9;display:flex;gap:16px;flex-wrap:wrap}
.uc-stats{display:flex;gap:24px;flex-shrink:0}
.uc-stat-item{text-align:center;background:rgba(255,255,255,0.15);padding:12px 20px;border-radius:12px;backdrop-filter:blur(10px)}
.uc-stat-item .uc-stat-num{font-size:24px;font-weight:800;line-height:1}
.uc-stat-item .uc-stat-label{font-size:11px;opacity:0.85;margin-top:4px}
.uc-tab-bar{display:flex;gap:0;border-bottom:none;margin-top:24px;background:var(--bg-card);position:sticky;top:0;z-index:10;overflow-x:auto;-webkit-overflow-scrolling:touch;box-shadow:0 2px 12px rgba(0,0,0,0.06)}
.uc-tab{padding:16px 24px;font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all 0.2s ease;white-space:nowrap;position:relative}
.uc-tab:hover{color:var(--text);background:var(--bg-section)}
.uc-tab.active{color:var(--primary);font-weight:600;background:var(--primary-bg)}
.uc-tab.active::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:40px;height:3px;background:var(--primary);border-radius:3px}
.uc-tab .uc-tab-count{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:100px;font-size:10px;background:var(--primary-bg);color:var(--primary);font-weight:600}
.uc-section{padding:24px 0}
.uc-section-title{font-size:15px;font-weight:700;color:#0F172A;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.uc-entry-actions{display:flex;gap:12px;margin-bottom:16px}
.uc-entry-form{padding:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;margin-bottom:12px}
.uc-entry-form .entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.uc-entry-form .entry-full{grid-column:1/-1}
.uc-entry-form .entry-actions{display:flex;gap:10px;margin-top:14px;align-items:center}
.btn-ai-match{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;transition:all 0.2s;box-shadow:0 4px 16px rgba(102,126,234,0.4)}
.btn-ai-match:hover{background:linear-gradient(135deg,#5a6fd6,#6a4190);box-shadow:0 6px 24px rgba(102,126,234,0.5);transform:translateY(-2px)}
.btn-ai-match .ai-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;background:rgba(255,255,255,0.2);font-size:11px;font-weight:800}
.uc-rec-tabs{display:flex;gap:8px;margin-bottom:14px}
.uc-rec-tab{padding:6px 16px;border-radius:100px;font-size:12px;font-weight:500;cursor:pointer;background:var(--bg-section);color:var(--text-secondary);border:none;transition:var(--transition)}
.uc-rec-tab.active{background:var(--primary-bg);color:var(--primary);font-weight:600}
.uc-board-empty{text-align:center;padding:48px 0;color:var(--text-muted);font-size:13px}
.uc-board-item{border:1px solid var(--border);border-radius:12px;padding:16px 20px;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;transition:all 0.2s}
.uc-board-item:hover{border-color:var(--primary-subtle);box-shadow:0 4px 12px rgba(0,0,0,0.06)}
.uc-board-item .bd-left{flex:1;min-width:0}
.uc-board-item .bd-partner{font-size:14px;font-weight:600;color:var(--text)}
.uc-board-item .bd-desc{font-size:12px;color:var(--text-secondary);margin-top:4px}
.uc-board-item .bd-tags{display:flex;gap:4px;margin-top:6px}
.uc-board-item .bd-tags span{padding:2px 8px;border-radius:4px;font-size:10px;background:var(--bg-section);color:var(--text-muted)}
.uc-board-item .bd-right{text-align:right;flex-shrink:0}
.uc-board-item .bd-score{font-size:18px;font-weight:800;color:var(--primary)}
.uc-board-item .bd-source{font-size:10px;color:var(--text-muted)}
.uc-board-item .bd-date{font-size:10px;color:var(--text-muted);margin-top:2px}
.uc-board-item .bd-status{display:inline-block;padding:3px 10px;border-radius:100px;font-size:10px;background:#16A34A15;color:#16A34A;font-weight:600}
.im-header{padding:14px 20px;font-size:15px;font-weight:700;color:var(--text);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.im-body{padding:16px 20px;max-height:320px;overflow-y:auto;min-height:200px;background:#F8F9FC}
.im-msg{margin-bottom:10px;font-size:13px;line-height:1.5}
.im-msg.system{text-align:center;color:var(--text-muted);font-size:12px;padding:8px 12px;background:#fff;border-radius:8px}
.im-msg.sent{text-align:right}
.im-msg.sent .im-bub{display:inline-block;background:var(--primary);color:#fff;padding:8px 14px;border-radius:12px 12px 4px 12px;max-width:80%}
.im-msg.received{text-align:left}
.im-msg.received .im-bub{display:inline-block;background:#fff;color:var(--text);padding:8px 14px;border-radius:12px 12px 12px 4px;max-width:80%;border:1px solid var(--border)}
.im-input-row{display:flex;gap:8px;padding:10px 20px;border-top:1px solid var(--border);background:#fff}
.im-input{flex:1;border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:13px;outline:none}
.im-input:focus{border-color:var(--primary)}
.form-input{width:100%;padding:10px 14px;border-radius:8px;border:1px solid var(--border);background:var(--bg-section);color:var(--text);font-size:14px;outline:none;transition:var(--transition)}
.form-input:focus{border-color:var(--primary);background:var(--bg-card)}
.btn-block{display:flex;align-items:center;justify-content:center;width:100%}

/* ===== Tab Bar ===== */
.tab-bar{display:flex;gap:0;margin-bottom:20px;border-bottom:2px solid var(--border)}
.tab-item{padding:10px 24px;font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:var(--transition)}
.tab-item:hover{color:var(--text)}
.tab-item.active{color:var(--primary);border-bottom-color:var(--primary)}
.tab-item .badge{display:inline-block;margin-left:6px;padding:0 7px;border-radius:100px;font-size:11px;background:var(--primary-bg);color:var(--primary)}

/* ===== My Panel (我的需求/我的能力) ===== */
.my-panel{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden;margin-top:20px}
.my-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border-bottom:1px solid var(--border);background:var(--bg-section)}
.my-panel-header h3{font-size:14px;font-weight:600;display:flex;align-items:center;gap:6px}
.my-panel-header .count{font-size:12px;color:var(--text-muted);font-weight:400}
.my-panel-body{padding:0}
.my-item{display:flex;align-items:center;gap:10px;padding:13px 20px;border-bottom:1px solid var(--border-light);transition:var(--transition)}
.my-item:last-child{border-bottom:none}
.my-item:hover{background:var(--bg-card-hover)}
.my-item .tag{width:4px;height:32px;border-radius:3px;flex-shrink:0}
.my-item .info{flex:1;min-width:0}
.my-item .info .title{font-size:14px;font-weight:600}
.my-item .info .meta{font-size:12px;color:var(--text-muted);margin-top:1px}
.my-item .status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.my-item .status-dot.draft{background:var(--orange)}
.my-item .status-dot.published{background:var(--green)}
.my-item .del-btn{width:26px;height:26px;border-radius:6px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:var(--transition);flex-shrink:0}
.my-item .del-btn:hover{background:#FEF2F2;color:var(--red)}
.my-empty{padding:40px 20px;text-align:center;color:var(--text-muted);font-size:14px;line-height:1.6}
.my-empty .empty-icon{width:40px;height:40px;border-radius:50%;background:var(--bg-section);display:flex;align-items:center;justify-content:center;margin:0 auto 10px}
.my-empty .empty-icon svg{width:20px;height:20px;color:var(--text-muted)}

/* ===== Scene Definition Table ===== */
.def-section{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden}
.def-filters{display:flex;gap:6px;padding:16px 20px;border-bottom:1px solid var(--border);background:var(--bg-section);flex-wrap:wrap}
.def-table-wrap{overflow-x:auto}
.def-table{width:100%;border-collapse:collapse;font-size:13px;min-width:720px}
.def-table th{text-align:left;padding:11px 16px;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);background:var(--bg-section);font-size:12px;white-space:nowrap}
.def-table td{padding:11px 16px;border-bottom:1px solid var(--border-light);vertical-align:top;line-height:1.5}
.def-table tr:last-child td{border-bottom:none}
.def-table tr:hover td{background:var(--bg-card-hover)}
.def-table .def-id{font-family:'SF Mono','Menlo','Monaco',monospace;font-size:12px;color:var(--text-muted)}
.def-table .def-name{font-weight:600;color:var(--text)}
.def-table .def-desc{color:var(--text-secondary);font-size:13px}
.def-table .def-cat{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}
.def-cat.technology{background:#F0F7FF;color:#007AFF}
.def-cat.safety{background:#FFF0F0;color:#DC2626}
.def-cat.energy{background:#F0FDF4;color:#16A34A}
.def-cat.smart{background:#FEFCE8;color:#CA8A04}
.def-cat.lowalt{background:#F5F3FF;color:#7C3AED}
.def-table .def-link{color:var(--primary);cursor:pointer;font-size:12px}
.def-table .def-link:hover{text-decoration:underline}

/* ===== Cap Entry (企业录入能力) ===== */
.cap-entry{background:var(--bg-card);border-radius:var(--radius-lg);padding:28px;border:1px solid var(--border);margin-bottom:20px}
.cap-entry h4{font-size:15px;font-weight:700;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.cap-entry .entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cap-entry .entry-full{grid-column:1/-1}
.cap-entry .entry-actions{display:flex;gap:10px;margin-top:14px}
.cap-entry .entry-tip{font-size:12px;color:var(--text-muted);margin-top:6px}

/* ===== Matching Page ===== */
.latest-mt-section{padding:20px 0;background:linear-gradient(180deg,#faf5ff 0%,#fff 100%);margin-bottom:0}
.latest-mt-scroll-wrap{overflow:hidden;padding:8px 4px;position:relative;mask-image:linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent)}
.latest-mt-scroll{display:flex;gap:16px;padding:4px;will-change:transform}
.latest-mt-scroll.animate{animation:latestMtScroll 35s linear infinite}
.latest-mt-scroll:hover{animation-play-state:paused}
@keyframes latestMtScroll{0%{transform:translateX(0)}100%{transform:translateX(calc(-280px * 8))}}
.latest-mt-card{min-width:280px;max-width:280px;background:#fff;border-radius:14px;padding:0;border:1px solid #e2e8f0;cursor:pointer;transition:all 0.25s ease;flex-shrink:0;box-shadow:0 1px 3px rgba(0,0,0,0.04);position:relative;overflow:hidden}
.latest-mt-card:hover{box-shadow:0 8px 24px rgba(0,0,0,0.1);transform:translateY(-4px);border-color:#cbd5e1}
.latest-mt-card .latest-card-accent{height:4px;background:linear-gradient(90deg,#7c3aed,#a855f7);border-radius:14px 14px 0 0}
.latest-mt-card .latest-mt-body{padding:16px}
.latest-mt-card .latest-mt-title{font-size:14px;font-weight:600;color:#1e293b;margin-bottom:8px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.latest-mt-card .latest-mt-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:#64748b;margin-bottom:8px}
.latest-mt-card .latest-mt-org{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;background:#f5f3ff;color:#7c3aed;font-weight:500}
.latest-mt-card .latest-mt-score{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;background:#ecfdf5;color:#059669;font-weight:600}
.latest-mt-card .latest-mt-desc{font-size:12px;color:#64748b;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.latest-mt-card .latest-mt-tags{display:flex;gap:4px;margin-top:8px;flex-wrap:wrap}
.latest-mt-card .latest-mt-tags span{padding:2px 8px;border-radius:4px;font-size:10px;background:#f1f5f9;color:#64748b}

/* Matching Toolbar */
.mt-toolbar-main{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.mt-search-wrap{position:relative;flex:1;min-width:200px}
.mt-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none}
.mt-search-input{width:100%;padding:10px 12px 10px 36px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;outline:none;transition:all 0.2s}
.mt-search-input:focus{border-color:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,0.1)}
.mt-quick-filters{display:flex;gap:8px}
.mt-filter-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:14px;color:#475569;cursor:pointer;transition:all 0.2s}
.mt-filter-btn:hover{background:#f8fafc;border-color:#cbd5e1}
.mt-filter-btn.active{background:#f5f3ff;border-color:#7c3aed;color:#7c3aed}
.mt-count-wrap{font-size:14px;color:#64748b;white-space:nowrap}
.mt-count strong{color:#7c3aed}

/* Matching Filter Panel */
.mt-filter-panel{margin-top:12px;padding:20px;background:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 4px 20px rgba(0,0,0,0.06)}
.mt-filter-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f1f5f9}
.mt-filter-title{font-size:15px;font-weight:600;color:#1e293b}
.mt-filter-actions{display:flex;gap:8px}
.mt-filter-reset{padding:6px 12px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;font-size:13px;color:#64748b;cursor:pointer;transition:all 0.2s}
.mt-filter-reset:hover{background:#f8fafc;border-color:#cbd5e1}
.mt-filter-close{padding:6px 12px;border:none;border-radius:6px;background:#7c3aed;color:#fff;font-size:13px;cursor:pointer;transition:all 0.2s}
.mt-filter-close:hover{background:#6d28d9}
.mt-filter-body{display:flex;flex-direction:column;gap:16px}
.mt-filter-section{display:flex;flex-direction:column;gap:10px}
.mt-filter-section-title{font-size:13px;font-weight:600;color:#475569}
.mt-filter-tags{display:flex;flex-wrap:wrap;gap:8px}
.mt-filter-tag{padding:6px 14px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;font-size:13px;color:#64748b;cursor:pointer;transition:all 0.15s}
.mt-filter-tag:hover{background:#f8fafc;border-color:#cbd5e1}
.mt-filter-tag.active{background:#f5f3ff;border-color:#7c3aed;color:#7c3aed;font-weight:500}
.mt-filter-level-group{display:flex;flex-direction:column;gap:12px}
.mt-filter-level{display:flex;flex-direction:column;gap:8px}
.mt-filter-level-label{font-size:12px;color:#94a3b8;font-weight:500;padding-left:2px}

/* ===== Matching Page Stats & Top Section ===== */
.mt-stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:20px 24px;background:var(--bg-card);border:1px solid var(--border);border-radius:16px}
.mt-stat-item{text-align:center;padding:4px 0}
.mt-stat-num{font-size:28px;font-weight:800;color:#7C3AED;line-height:1.1}
.mt-stat-label{font-size:12px;color:var(--text-muted);margin-top:2px}
@media(max-width:660px){.mt-stat-row{grid-template-columns:repeat(2,1fr)}}

/* Top Section Container */
.mt-top-section{background:var(--bg-card);border-radius:16px;overflow:hidden}
.mt-top-inner{position:relative;overflow:hidden}
.mt-top-track{display:flex;gap:16px;width:max-content;animation:mt-scroll 60s linear infinite}
.mt-top-track:hover{animation-play-state:paused}
@keyframes mt-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* Top Highlight Cards */
.mt-top-card{flex:0 0 340px;scroll-snap-align:start;background:linear-gradient(135deg,#FAF5FF,#F5F0FF);border:1px solid #7C3AED22;border-radius:var(--radius-lg);padding:20px;transition:all 0.3s ease;position:relative;overflow:hidden;cursor:pointer}
@media(max-width:768px){.mt-top-card{flex:0 0 280px}}
.mt-top-card:hover{box-shadow:0 8px 25px rgba(124,58,237,0.10);border-color:#7C3AED44;transform:translateY(-3px)}
.mt-top-card::after{content:'';position:absolute;top:-60%;right:-30%;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(124,58,237,0.04),transparent 60%);pointer-events:none}
.mt-top-hdr{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.mt-top-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;padding:2px 10px;border-radius:100px;background:linear-gradient(135deg,#7C3AED,#6D28D9);color:#fff;flex-shrink:0}
.mt-top-field{display:inline-block;padding:1px 8px;border-radius:4px;font-size:10px;background:#7C3AED10;color:#7C3AED;font-weight:600}
.mt-top-footer{display:flex;align-items:center;gap:6px;margin-top:8px;padding-top:6px;border-top:1px solid #7C3AED10;overflow:hidden}

/* Score Hint */
.mt-score-hint{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:var(--border-light);color:var(--text-muted);font-size:9px;cursor:help;margin-left:4px;font-style:normal;font-weight:600}

/* Match Result Vertical Party Rows */
.mtv-party{padding:6px 10px;border-radius:6px}
.mtv-party.demand{background:rgba(37,99,235,0.04)}
.mtv-party.supply{background:rgba(16,185,129,0.04)}
.mtv-label{font-size:9px;font-weight:700;margin-bottom:1px;letter-spacing:0.3px;display:flex;align-items:center;justify-content:space-between}
.mtv-party.demand .mtv-label{color:#2563EB}
.mtv-party.supply .mtv-label{color:#16A34A}
.mtv-name{font-size:12px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mtv-org{font-size:10px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mtv-score{text-align:center;font-size:18px;font-weight:800;color:#7C3AED;font-family:'Oswald',sans-serif;padding:4px 0 2px;letter-spacing:-0.3px}
.mtv-ai-badge{position:absolute;top:0;right:0;background:linear-gradient(135deg,#7C3AED,#A78BFA);color:#fff;font-size:9px;font-weight:700;padding:3px 12px 3px 16px;border-radius:0 0 0 8px;letter-spacing:0.3px}
.mtv-ai-badge.manual{background:linear-gradient(135deg,#EA580C,#FB923C)}
.mtv-type{display:inline-block;padding:0 5px;border-radius:3px;font-size:9px;line-height:16px;background:var(--bg-section);border:1px solid var(--border-light);color:var(--text-muted);margin-left:4px;font-weight:500;vertical-align:middle}
.mtv-divider{display:flex;align-items:center;justify-content:center;padding:4px 0;margin:2px 0}

/* AI Score Top Badge */
.mt-ai-top-score{display:inline-flex;align-items:center;font-size:11px;font-weight:800;color:#7C3AED;background:#7C3AED10;padding:2px 10px;border-radius:100px;border:1px solid #7C3AED22;font-family:'Oswald',sans-serif;letter-spacing:0.3px}

/* Dot badges */
.ms-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:3px;vertical-align:middle}
.ms-ai-dot{background:#7C3AED}
.ms-manual-dot{background:#D97706}

/* Tags inline */
.tt-tags{display:flex;gap:3px;overflow:hidden;flex-shrink:0;min-width:0}
.tt-tags span{padding:0 5px;border-radius:3px;font-size:9px;background:var(--bg-section);color:var(--text-muted);border:1px solid var(--border-light);flex-shrink:0;white-space:nowrap}
.tt-field{font-weight:600;color:var(--primary);flex-shrink:0;font-size:10px}
.tt-types{color:var(--text-muted);flex-shrink:0;font-size:10px;margin-left:auto}

/* Matching Results */
.mt-results{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}
@media(max-width:1200px){.mt-results{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.mt-results{grid-template-columns:1fr}}

/* Match Result Card */
.mt-result-card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden;transition:all 0.3s ease;cursor:pointer;display:flex;flex-direction:column;padding:14px 16px;gap:2px;position:relative;min-width:0}
.mt-result-card:hover{box-shadow:0 8px 25px rgba(124,58,237,0.08);border-color:#7C3AED33;transform:translateY(-3px)}
.mt-result-footer{display:flex;align-items:center;gap:6px;margin-top:6px;padding-top:6px;border-top:1px solid var(--border-light);overflow:hidden}

/* PDCA Badge Colors */
.mt-result-pdca{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:100px;font-size:11px;font-weight:600}
.mt-result-pdca.plan{background:#eff6ff;color:#3b82f6}
.mt-result-pdca.do{background:#faf5ff;color:#7c3aed}
.mt-result-pdca.check{background:#fffbeb;color:#d97706}
.mt-result-pdca.act{background:#ecfdf5;color:#059669}
.mt-result-pdca.done{background:#f0fdf4;color:#16a34a}
.mt-result-pdca.archive{background:#f9fafb;color:#6b7280}

/* Collapsible AI Assistant */
.mt-ai-mini{border:1px solid var(--border);border-radius:12px;margin-top:32px;overflow:hidden;background:var(--bg-card)}
.mt-ai-header{display:flex;align-items:center;gap:10px;padding:12px 16px;cursor:pointer;transition:var(--transition);user-select:none}
.mt-ai-header:hover{background:var(--bg-card-hover)}
.mt-ai-icon{width:28px;height:28px;border-radius:6px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.mt-ai-title{font-size:14px;font-weight:600;color:var(--text);flex-shrink:0}
.mt-ai-hint{font-size:12px;color:var(--text-muted);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mt-ai-toggle{font-size:12px;color:var(--primary);font-weight:600;flex-shrink:0;transition:var(--transition)}
.mt-ai-mini.open .mt-ai-toggle::after{content:'收起'}
.mt-ai-mini:not(.open) .mt-ai-toggle::after{content:'试试 →'}
.mt-ai-mini.open .mt-ai-hint{display:none}
.mt-ai-mini .mt-ai-body{max-height:0;overflow:hidden;transition:max-height 0.35s ease}
.mt-ai-mini.open .mt-ai-body{max-height:500px}

.pdca-stat-label{font-size:12px;color:var(--text-muted);margin-top:2px}
@media(max-width:660px){.pdca-stat-row{grid-template-columns:repeat(2,1fr)}}

.pdca-board{display:flex;gap:16px;overflow-x:auto;padding-bottom:12px;min-height:400px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.pdca-board::-webkit-scrollbar{height:6px}
.pdca-board::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
.pdca-board::-webkit-scrollbar-track{background:transparent}

.pdca-stage{flex:0 0 260px;min-width:260px;background:var(--bg-section);border-radius:16px;border:1px solid var(--border);display:flex;flex-direction:column;max-height:540px;scroll-snap-align:start}
.pdca-stage-header{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--border);background:var(--bg-card);border-radius:16px 16px 0 0;flex-shrink:0}
.pdca-stage-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:22px;border-radius:6px;color:#fff;font-size:11px;font-weight:800;flex-shrink:0}
.pdca-stage-name{font-size:14px;font-weight:600;color:var(--text);flex:1}
.pdca-stage-count{font-size:12px;font-weight:700;color:var(--text-muted);background:var(--bg-section);padding:0 8px;border-radius:100px;line-height:20px;flex-shrink:0}

.pdca-stage-body{flex:1;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:10px}
.pdca-stage-body::-webkit-scrollbar{width:4px}
.pdca-stage-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}

.pdca-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:14px;cursor:pointer;transition:all 0.3s ease;position:relative}
.pdca-card:hover{box-shadow:0 4px 16px rgba(0,0,0,0.08);border-color:#7C3AED33;transform:translateY(-2px)}
.pdca-card-title{font-size:13px;font-weight:600;color:#0F172A;margin-bottom:6px;line-height:1.4}
.pdca-card-desc{font-size:11px;color:var(--text-secondary);line-height:1.5;margin-bottom:8px}
.pdca-card-footer{display:flex;align-items:center;justify-content:space-between;gap:6px}
.pdca-card-tag{display:inline-block;padding:1px 8px;border-radius:4px;font-size:10px;font-weight:600;white-space:nowrap}
.pdca-card-time{font-size:10px;color:var(--text-muted);white-space:nowrap}
.pdca-card-done{background:linear-gradient(135deg,#F0FDF4 0%,#DCFCE7 100%);border-color:rgba(22,163,74,0.2)}
.pdca-card-done .pdca-card-title{color:#166534}
.pdca-card-done:hover{border-color:rgba(22,163,74,0.4)}

.login-gate:hover{background:rgba(255,255,255,0.92)}
.login-gate .gate-icon{width:52px;height:52px;border-radius:50%;background:var(--primary-bg);display:flex;align-items:center;justify-content:center}
.login-gate .gate-icon svg{width:26px;height:26px;color:var(--primary)}
.login-gate .gate-text{font-size:15px;font-weight:600;color:var(--text)}
.login-gate .gate-sub{font-size:13px;color:var(--text-muted)}

/* ===== Home Page Activity Sidebar ===== */
.home-act-sidebar{
  position:fixed;top:540px;
  right:20px;
  width:240px;z-index:50;
  display:flex;flex-direction:column;gap:14px;
  pointer-events:none
}
.has-card{
  pointer-events:auto;
  border-radius:14px;padding:18px 18px 16px;
  cursor:pointer;
  transition:all 0.4s cubic-bezier(0.34,1.56,0.64,1);
  position:relative;overflow:hidden;
  border:1px solid transparent
}
.has-card::before{
  content:'';position:absolute;top:0;left:0;
  width:100%;height:3px
}
.has-card:nth-child(1)::before{background:linear-gradient(90deg,#3B82F6,#60A5FA)}
.has-card:nth-child(2)::before{background:linear-gradient(90deg,#7C3AED,#A78BFA)}
.has-card::after{
  content:'';position:absolute;top:-50%;right:-30%;
  width:180px;height:180px;border-radius:50%;
  pointer-events:none;opacity:0.08
}
.has-card:nth-child(1){
  background:linear-gradient(135deg,#EFF6FF 0%,#DBEAFE 100%);
  border-color:rgba(37,99,235,0.15);
  box-shadow:0 4px 16px rgba(37,99,235,0.10)
}
.has-card:nth-child(1)::after{background:radial-gradient(circle,#3B82F6,transparent 70%)}
.has-card:nth-child(1):hover{
  box-shadow:0 8px 28px rgba(37,99,235,0.22);
  transform:translateY(-3px)
}
.has-card:nth-child(2){
  background:linear-gradient(135deg,#FAF5FF 0%,#EDE9FE 100%);
  border-color:rgba(124,58,237,0.15);
  box-shadow:0 4px 16px rgba(124,58,237,0.10)
}
.has-card:nth-child(2)::after{background:radial-gradient(circle,#7C3AED,transparent 70%)}
.has-card:nth-child(2):hover{
  box-shadow:0 8px 28px rgba(124,58,237,0.22);
  transform:translateY(-3px)
}
.has-label{font-size:11px;font-weight:700;letter-spacing:0.5px;margin-bottom:6px;position:relative;z-index:1}
.has-title{font-size:13px;font-weight:600;line-height:1.45;color:#1E293B;margin-bottom:6px;position:relative;z-index:1}
.has-meta{font-size:11px;color:#64748B;position:relative;z-index:1}
.has-btn-row{padding-top:10px;position:relative;z-index:1}
.has-btn{display:inline-block;padding:3px 14px;border-radius:100px;font-size:11px;font-weight:600;color:#fff;cursor:pointer;transition:all 0.25s}
.has-btn:hover{opacity:0.85;transform:scale(1.04)}
.has-card:nth-child(1) .has-meta{color:#475569}
.has-card:nth-child(2) .has-meta{color:#475569}

/* ===== 用户中心 - 需求详情区 ===== */
.uc-demand-section{border:1px solid var(--border);border-radius:12px;margin-bottom:16px;overflow:hidden}
.uc-demand-header{padding:14px 18px;background:linear-gradient(135deg,#2563EB08,#fff);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}
.uc-demand-header .dd-name{font-size:14px;font-weight:700;color:var(--text);flex:1}
.uc-demand-header .dd-field{font-size:11px;color:var(--primary);background:var(--primary-bg);padding:2px 8px;border-radius:4px;font-weight:600}
.uc-demand-header .dd-budget{font-size:13px;font-weight:700;color:#DC2626;white-space:nowrap}
.uc-demand-body{padding:12px 18px 16px}
.uc-demand-body .dd-detail{font-size:12px;color:var(--text-secondary);line-height:1.6;margin-bottom:8px}
.uc-demand-body .dd-tags{display:flex;gap:3px;flex-wrap:wrap;margin-bottom:10px}
.uc-demand-body .dd-tags span{padding:1px 6px;border-radius:3px;font-size:10px;background:var(--bg-section);color:var(--text-muted)}
.uc-demand-match-label{font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:8px;padding-top:8px;border-top:1px dashed var(--border-light);cursor:pointer;display:flex;align-items:center;gap:8px}
.uc-demand-match-label .uc-match-toggle{font-size:11px;color:var(--primary);font-weight:500;margin-left:auto}
.uc-demand-matches-wrap{margin-top:8px}
.uc-demand-matches{display:grid;grid-template-columns:1fr;gap:8px;max-height:0;overflow:hidden;transition:max-height 0.3s ease}
.uc-demand-matches.expanded{max-height:2000px}
.uc-demand-matches.collapsed{max-height:0}
.uc-demand-card{border:1px solid var(--border);border-radius:8px;padding:12px 14px;transition:var(--transition)}
.uc-demand-card:hover{border-color:var(--primary-subtle);box-shadow:0 2px 8px rgba(37,99,235,0.06)}
.uc-demand-card .dc-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:4px}
.uc-demand-card .dc-name{font-size:13px;font-weight:600;color:var(--text);flex:1;line-height:1.3}
.uc-demand-card .dc-score{flex-shrink:0;font-size:14px;font-weight:800;color:var(--primary)}
.uc-demand-card .dc-org{font-size:11px;color:var(--text-secondary);margin-bottom:4px}
.uc-demand-card .dc-tags{display:flex;gap:3px;flex-wrap:wrap;margin-bottom:6px}
.uc-demand-card .dc-tags span{padding:1px 5px;border-radius:3px;font-size:9px;background:var(--bg-section);color:var(--text-muted)}
.uc-demand-card .dc-actions{display:flex;gap:6px}
.uc-demand-card .dc-actions button{padding:4px 12px;border-radius:5px;font-size:10px;font-weight:600;cursor:pointer;border:none;transition:var(--transition)}
.dc-btn-confirm{background:var(--primary);color:#fff}
.dc-btn-confirm:hover{background:#6D28D9}
.dc-btn-confirm.confirmed{background:var(--bg-section);color:var(--text-muted);cursor:default}
.dc-btn-im{background:var(--bg-section);color:var(--text);border:1px solid var(--border)!important}
.dc-btn-im:hover{background:var(--border);color:var(--primary)}

/* ===== 用户中心 - 需求列表 ===== */
.uc-filter-tabs{display:flex;gap:8px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.uc-filter-tab{padding:5px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;background:var(--bg-section);color:var(--text-secondary);transition:var(--transition)}
.uc-filter-tab:hover{background:var(--primary-bg);color:var(--primary)}
.uc-filter-tab.active{background:var(--primary);color:#fff}
.uc-filter-tab .count{display:inline-block;margin-left:4px;padding:0 5px;border-radius:100px;font-size:10px;background:rgba(255,255,255,0.2);font-weight:600}
.uc-filter-tab:not(.active) .count{background:var(--bg-section);color:var(--text-muted)}

/* ===== 用户中心 - 状态徽章 ===== */
.badge{display:inline-block;padding:2px 10px;border-radius:100px;font-size:11px;font-weight:600}
.badge-pending{background:#FFF7ED;color:#EA580C;border:1px solid rgba(234,88,12,0.2)}
.badge-rejected{background:#FEF2F2;color:#DC2626;border:1px solid rgba(220,38,38,0.2)}
.badge-approved{background:#F0FDF4;color:#16A34A;border:1px solid rgba(22,163,74,0.2)}

/* ===== 用户中心 - 匹配类型徽章 ===== */
.msc-badge{display:inline-block;padding:1px 6px;border-radius:3px;font-size:10px;font-weight:700;margin-left:4px}
.msc-ai{background:linear-gradient(135deg,#7C3AED,#6D28D9);color:#fff}
.msc-manual{background:linear-gradient(135deg,#EA580C,#FB923C);color:#fff}

/* ===== 用户中心 - 需求/能力卡片 ===== */
.uc-demand-card-main{border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-bottom:12px;background:#fff;cursor:pointer;transition:var(--transition)}
.uc-demand-card-main:hover{border-color:var(--primary-subtle);box-shadow:0 2px 8px rgba(37,99,235,0.06)}
.uc-demand-main-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.uc-demand-main-header .dd-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:linear-gradient(135deg,#7C3AED,#9333EA);color:#fff;font-size:12px;flex-shrink:0}
.uc-demand-main-header .dd-name{font-size:14px;font-weight:600;color:var(--text);line-height:1.4;flex:1}
.uc-demand-main-header .dd-name:hover{color:var(--primary)}
.uc-demand-main-meta{display:flex;align-items:center;gap:10px;margin-bottom:6px;font-size:12px;color:var(--text-secondary)}
.uc-demand-main-meta .dd-field{padding:2px 8px;border-radius:4px;background:var(--primary-bg);color:var(--primary);font-weight:500}
.uc-demand-main-meta .dd-video{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;background:#FFF7ED;color:#EA580C;font-weight:500;cursor:pointer}
.uc-demand-main-meta .dd-video:hover{background:#FEE4CC}
.dd-detail{font-size:12px;color:var(--text-secondary);line-height:1.6;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dd-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:0}
.dd-tags span{padding:2px 8px;border-radius:4px;font-size:11px;background:var(--bg-section);color:var(--text-muted)}

/* ===== 场景分类分组 ===== */
.uc-scene-group{margin-bottom:24px}
.uc-scene-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-section);border-radius:10px 10px 0 0;margin-bottom:0}
.uc-scene-title{font-size:14px;font-weight:700;color:var(--text)}
.uc-scene-count{font-size:12px;color:var(--text-secondary);background:rgba(255,255,255,0.6);padding:2px 10px;border-radius:100px}
.uc-scene-subgroup{margin-top:12px}
.uc-scene-subheader{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--bg-card);border-left:3px solid var(--border);margin-bottom:0}
.uc-scene-subtitle{font-size:13px;font-weight:600;color:var(--text-secondary)}
.uc-scene-subcount{font-size:11px;color:var(--text-muted);padding:1px 8px;border-radius:100px;background:var(--bg-section)}
.uc-scene-cards{padding:16px;background:var(--bg-card);border:1px solid var(--border);border-top:none;border-radius:0 0 10px 10px}

/* ===== 匹配推荐区 ===== */
.uc-ai-recommend-section{border:1px dashed var(--primary-subtle);border-radius:10px;margin-bottom:12px;overflow:hidden;background:linear-gradient(135deg,#EFF6FF,#F5F3FF)}
.uc-ai-recommend-section.collapsed .uc-ai-recommend-list{max-height:0;padding:0;margin:0}
.uc-ai-recommend-section.expanded .uc-ai-recommend-list{max-height:2000px;padding:12px;margin:12px}
.uc-ai-recommend-header{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;background:linear-gradient(135deg,#2563EB15,#7C3AED15);transition:var(--transition)}
.uc-ai-recommend-header:hover{background:linear-gradient(135deg,#2563EB25,#7C3AED25)}
.uc-ai-recommend-header .ai-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;background:linear-gradient(135deg,#2563EB,#7C3AED);color:#fff;font-size:10px;font-weight:800}
.uc-ai-recommend-header .ai-title{font-size:13px;font-weight:600;color:var(--text);flex:1}
.uc-ai-recommend-header .toggle-text{font-size:12px;color:var(--primary);font-weight:500}
.uc-ai-recommend-list{transition:all 0.3s ease}
.uc-rec-card{border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-bottom:8px;background:#fff;transition:var(--transition)}
.uc-rec-card:hover{border-color:var(--primary-subtle);box-shadow:0 2px 8px rgba(37,99,235,0.08)}
.uc-rec-card .rec-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}
.uc-rec-card .rec-name{font-size:13px;font-weight:600;color:var(--text);flex:1;line-height:1.4}
.uc-rec-card .rec-score{flex-shrink:0;font-size:13px;font-weight:700;color:var(--primary)}
.uc-rec-card .rec-org{font-size:11px;color:var(--text-secondary);margin-bottom:4px;display:flex;align-items:center;gap:4px}
.uc-rec-card .rec-tags{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:6px}
.uc-rec-card .rec-tags span{padding:2px 6px;border-radius:4px;font-size:10px;background:var(--bg-section);color:var(--text-muted)}
.uc-rec-card .rec-actions{display:flex;gap:6px}
.uc-rec-card .rec-actions .btn{min-width:65px;justify-content:center;font-size:12px}

/* ===== 用户中心 - 能力匹配区 ===== */
.uc-cap-section{border:1px solid var(--border);border-radius:12px;margin-bottom:16px;overflow:hidden}
.uc-cap-header{padding:14px 18px;background:linear-gradient(135deg,#16A34A08,#fff);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}
.uc-cap-header .cp-name{font-size:14px;font-weight:700;color:var(--text);flex:1}
.uc-cap-header .cp-score{font-size:13px;font-weight:700;color:#16A34A;flex-shrink:0}
.uc-cap-header .cp-tags{font-size:10px;color:var(--text-muted)}
.uc-cap-body{padding:12px 18px 16px}
.uc-cap-body .cp-desc{font-size:12px;color:var(--text-secondary);line-height:1.6;margin-bottom:10px}
.uc-cap-match-label{font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:8px;padding-top:8px;border-top:1px dashed var(--border-light)}
.uc-cap-matches{display:grid;grid-template-columns:1fr;gap:8px}
.uc-cap-card{border:1px solid var(--border);border-radius:8px;padding:12px 14px;transition:var(--transition)}
.uc-cap-card:hover{border-color:rgba(22,163,74,0.2);box-shadow:0 2px 8px rgba(22,163,74,0.06)}
.uc-cap-card .cc-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:4px}
.uc-cap-card .cc-name{font-size:13px;font-weight:600;color:var(--text);flex:1;line-height:1.3}
.uc-cap-card .cc-score{flex-shrink:0;font-size:14px;font-weight:800;color:#16A34A}
.uc-cap-card .cc-org{font-size:11px;color:var(--text-secondary);margin-bottom:4px}
.uc-cap-card .cc-actions{display:flex;gap:6px;margin-top:6px}
.uc-cap-card .cc-actions button{padding:4px 12px;border-radius:5px;font-size:10px;font-weight:600;cursor:pointer;border:none;transition:var(--transition)}
.uc-empty-state{text-align:center;padding:40px 0;color:var(--text-muted);font-size:13px;line-height:1.6}

/* ===== 我的收藏 ===== */
.uc-collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-top:12px}
.uc-collection-item{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:16px;cursor:pointer;transition:var(--transition)}
.uc-collection-item:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}
.uc-collection-item .uci-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.uc-collection-item .uci-name{font-size:14px;font-weight:600;color:var(--text)}
.uc-collection-item .uci-remove{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:2px;border-radius:4px;transition:var(--transition)}
.uc-collection-item .uci-remove:hover{color:var(--danger);background:rgba(239,68,68,0.1)}
.uc-collection-item .uci-meta{display:flex;gap:8px;margin-bottom:8px}
.uc-collection-item .uci-type{font-size:11px;color:var(--primary);background:var(--primary-bg);padding:2px 8px;border-radius:4px}
.uc-collection-item .uci-industry{font-size:11px;color:var(--text-muted)}
.uc-collection-item .uci-stats{display:flex;justify-content:space-between;font-size:11px;color:var(--text-secondary)}
.uc-collection-item .uci-stat,.uc-collection-item .uci-score{display:flex;align-items:center;gap:4px}
.uc-collection-item .uci-score{color:#F59E0B;font-weight:600}

.uc-demand-empty-match{text-align:center;padding:16px 0;color:var(--text-muted);font-size:12px;line-height:1.6;border:1px dashed var(--border);border-radius:8px;margin-top:8px}
.uc-cap-match-notify{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:10px;background:linear-gradient(135deg,#FFF7ED,#FFEDD5);border:1px solid rgba(234,88,12,0.2);border-radius:8px}
.uc-cap-match-notify .notify-icon{width:18px;height:18px;border-radius:50%;background:#EA580C;color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.uc-cap-match-notify .notify-text{font-size:12px;color:#9A3412;flex:1;line-height:1.4}
.uc-cap-match-notify .notify-text strong{color:#C2410C}
.uc-cap-match-notify .dc-btn-im{background:#fff;color:#EA580C;border:1px solid rgba(234,88,12,0.3)!important;padding:3px 10px;border-radius:5px;font-size:10px;font-weight:600;cursor:pointer;transition:var(--transition);white-space:nowrap}
.uc-cap-match-notify .dc-btn-im:hover{background:#EA580C;color:#fff}

/* ===== 对接看板 - PDCA 六阶段 ===== */
.uc-board-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-wrap:wrap;gap:8px}
.uc-board-header .bh-title{font-size:15px;font-weight:700;color:var(--text)}
.uc-board-header .bh-actions{display:flex;gap:8px}
.uc-board-header .bh-btn{padding:5px 12px;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);transition:var(--transition)}
.uc-board-header .bh-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.bh-btn:hover{background:var(--bg-section)}
.uc-board-pdca{display:block}
.uc-board-timeline{display:none}
.uc-board-analysis{display:none}
.uc-board-im{display:none}
.uc-pdca-board{display:flex;gap:14px;overflow-x:auto;padding-bottom:12px;min-height:440px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.uc-pdca-board::-webkit-scrollbar{height:6px}
.uc-pdca-board::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
.uc-pdca-board::-webkit-scrollbar-track{background:transparent}
.uc-pdca-stage{flex:0 0 280px;min-width:280px;background:var(--bg-section);border-radius:14px;border:1px solid var(--border);display:flex;flex-direction:column;max-height:520px;scroll-snap-align:start}
.uc-pdca-stage-header{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border);background:var(--bg-card);border-radius:14px 14px 0 0;flex-shrink:0}
.uc-pdca-stage-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.uc-pdca-stage-name{font-size:13px;font-weight:700;color:var(--text);flex:1}
.uc-pdca-stage-count{font-size:11px;font-weight:600;color:var(--text-muted);background:var(--bg-section);padding:0 7px;border-radius:100px;line-height:18px;flex-shrink:0}
.uc-pdca-stage-body{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:8px}
.uc-pdca-stage-body::-webkit-scrollbar{width:4px}
.uc-pdca-stage-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}
.uc-pdca-item{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:12px;cursor:pointer;transition:all 0.25s;position:relative}
.uc-pdca-item:hover{box-shadow:0 3px 12px rgba(0,0,0,0.07);border-color:var(--primary-subtle);transform:translateY(-1px)}
.uc-pdca-item .pi-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:4px}
.uc-pdca-item .pi-name{font-size:12px;font-weight:600;color:var(--text);flex:1;line-height:1.3}
.uc-pdca-item .pi-score{font-size:12px;font-weight:700;color:var(--primary);flex-shrink:0}
.uc-pdca-item .pi-org{font-size:10px;color:var(--text-secondary);margin-bottom:4px}
.uc-pdca-item .pi-meta{display:flex;align-items:center;gap:6px;font-size:9px;color:var(--text-muted)}
.uc-pdca-item .pi-tag{display:inline-block;padding:1px 6px;border-radius:3px;font-size:9px;background:var(--bg-section);font-weight:500}
.uc-pdca-item .pi-date{white-space:nowrap}
.uc-pdca-item .pi-actions{display:flex;gap:4px;margin-top:6px;padding-top:6px;border-top:1px solid var(--border-light)}
.uc-pdca-item .pi-actions button{flex:1;padding:3px 8px;border-radius:4px;font-size:9px;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);transition:var(--transition)}
.uc-pdca-item .pi-actions button:hover{background:var(--primary-bg);color:var(--primary);border-color:var(--primary)}
.uc-pdca-item .pi-readonly-badge{font-size:10px;color:var(--text-muted);padding:2px 8px;border-radius:4px;background:var(--bg-section)}

/* Timeline & Analysis */
.uc-timeline-wrap{position:relative;padding:16px 0}
.uc-timeline-line{position:absolute;left:20px;top:0;bottom:0;width:2px;background:var(--border)}
.uc-timeline-item{position:relative;padding:0 0 20px 52px}
.uc-timeline-dot{position:absolute;left:14px;width:14px;height:14px;border-radius:50%;border:3px solid var(--primary);background:var(--bg-card);z-index:1}
.uc-timeline-dot.done{background:var(--green);border-color:var(--green)}
.uc-timeline-dot.active{background:var(--primary);border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-bg)}
.uc-timeline-content{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:12px 14px}
.uc-timeline-content .tl-date{font-size:10px;color:var(--text-muted);margin-bottom:2px}
.uc-timeline-content .tl-title{font-size:13px;font-weight:600;color:var(--text);margin-bottom:4px}
.uc-timeline-content .tl-desc{font-size:11px;color:var(--text-secondary);line-height:1.5}
.uc-timeline-empty{text-align:center;padding:40px 0;color:var(--text-muted);font-size:13px}
.uc-analysis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}
.uc-analysis-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:16px;text-align:center}
.uc-analysis-card .ac-num{font-size:28px;font-weight:800;color:var(--primary);line-height:1.1}
.uc-analysis-card .ac-label{font-size:11px;color:var(--text-muted);margin-top:4px}
.uc-analysis-card .ac-sub{font-size:10px;color:var(--text-muted);margin-top:2px}
.uc-im-records{padding:12px 0}
.uc-im-record-item{padding:10px 12px;border:1px solid var(--border);border-radius:8px;margin-bottom:8px;transition:var(--transition);cursor:pointer}
.uc-im-record-item:hover{border-color:var(--primary-subtle)}
.uc-im-record-item .ir-partner{font-size:13px;font-weight:600;color:var(--text);margin-bottom:2px}
.uc-im-record-item .ir-last{font-size:11px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.uc-im-record-item .ir-meta{font-size:10px;color:var(--text-muted);margin-top:4px;display:flex;gap:12px}
.uc-im-record-item .ir-badge{display:inline-block;padding:1px 6px;border-radius:3px;font-size:9px;background:var(--primary-bg);color:var(--primary);font-weight:600}

/* ===== Enterprise Profile (User Center) ===== */
.uep-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:20px;background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border)}
.uep-field{display:flex;flex-direction:column;gap:2px}
.uep-field label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.3px}
.uep-field div{font-size:14px;color:var(--text);padding:2px 0}
.uc-input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--bg);color:var(--text);outline:none;box-sizing:border-box;transition:border-color 0.15s}
.uc-input:focus{border-color:var(--primary)}
.ue-tabs{display:flex;gap:4px;margin-bottom:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:3px;flex-wrap:wrap}
.ue-tab{padding:8px 14px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;color:var(--text-secondary);transition:all 0.15s;white-space:nowrap}
.ue-tab:hover{color:var(--text);background:var(--bg-section)}
.ue-tab.ue-tab-active{background:var(--primary);color:#fff;box-shadow:0 1px 3px rgba(0,122,255,0.2)}
.ue-tabcontent{min-height:200px}

/* 企业档案-卡片式布局 */
.ue-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:16px}
.ue-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-light)}
.ue-card-title{font-size:16px;font-weight:600;color:var(--text);margin:0;display:flex;align-items:center;gap:8px}
.ue-card-badge{font-size:12px;font-weight:500;color:var(--primary);background:var(--primary-bg);padding:2px 8px;border-radius:100px}

/* 基本信息网格 */
.ue-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.ue-info-item{display:flex;flex-direction:column;gap:4px}
.ue-info-label{font-size:12px;color:var(--text-muted)}
.ue-info-value{font-size:14px;color:var(--text);font-weight:500}
.ue-info-full{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-light)}
.ue-info-desc{font-size:13px;color:var(--text-secondary);line-height:1.7;margin:4px 0 0}

/* AI补全横幅 */
.ue-ai-banner{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#F0F9FF 0%,#E0F2FE 100%);border:1px solid #BAE6FD;border-radius:12px;padding:16px 20px;margin-bottom:16px}
.ue-ai-banner-left{display:flex;align-items:center;gap:12px}
.ue-ai-badge{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#0EA5E9,#0284C7);display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:700}
.ue-ai-banner-text{display:flex;flex-direction:column;gap:2px}
.ue-ai-banner-title{font-size:14px;font-weight:600;color:#0369A1}
.ue-ai-banner-desc{font-size:12px;color:#0C4A6E}
.ue-ai-banner-actions{display:flex;gap:8px}
.ue-ai-mini-bar{display:flex;align-items:center;gap:10px;background:#FEF3C7;border:1px solid #FCD34D;border-radius:8px;padding:10px 14px;margin-bottom:16px}
.ue-ai-mini-bar span{font-size:13px;color:#92400E;flex:1}

/* 编辑模式状态条 */
.ue-edit-bar{display:flex;align-items:center;justify-content:space-between;background:#DCFCE7;border:1px solid #86EFAC;border-radius:8px;padding:10px 14px;margin-bottom:16px}
.ue-edit-bar span{font-size:13px;color:#166534;font-weight:500}
.ue-view-bar{display:flex;align-items:center;justify-content:space-between;background:var(--bg-section);border:1px solid var(--border);border-radius:8px;padding:10px 14px;margin-bottom:16px}
.ue-view-bar span{font-size:13px;color:var(--text-secondary)}

/* 卡片空状态 */
.ue-card-empty{text-align:center;padding:32px 16px}
.ue-card-empty-icon{width:48px;height:48px;margin:0 auto 12px;border-radius:12px;background:var(--bg-section);display:flex;align-items:center;justify-content:center;color:var(--text-muted)}
.ue-card-empty p{font-size:14px;color:var(--text-secondary);margin:0 0 12px}

/* 案例列表 */
.ue-cases-list{display:flex;flex-direction:column;gap:12px}
.ue-case-item{position:relative;display:flex;flex-direction:column;gap:6px;padding:14px 40px 14px 16px;background:var(--bg-section);border-radius:10px;border:1px solid var(--border-light);transition:all 0.15s}
.ue-case-item:hover{border-color:var(--primary-light);background:var(--primary-bg)}
.ue-case-main{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ue-case-title{font-size:14px;font-weight:600;color:var(--text)}
.ue-case-tags{display:flex;align-items:center;gap:6px}
.ue-tag{font-size:11px;padding:3px 8px;border-radius:4px;background:var(--primary-bg);color:var(--primary)}
.ue-tag.ue-tag-plain{background:var(--bg-card);color:var(--text-muted)}
.ue-case-desc{font-size:12px;color:var(--text-secondary);line-height:1.6}
.ue-item-delete{position:absolute;top:50%;right:12px;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--text-muted);padding:6px;border-radius:6px;opacity:0;transition:all 0.15s}
.ue-case-item:hover .ue-item-delete,.ue-cert-item:hover .ue-item-delete{opacity:1}
.ue-item-delete:hover{color:var(--danger);background:rgba(239,68,68,0.1)}

/* 带图片的案例卡片 */
.ue-cases-grid-img{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.ue-case-card-img{position:relative;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:all 0.2s}
.ue-case-card-img:hover{border-color:var(--primary);box-shadow:0 4px 12px rgba(0,0,0,0.1)}
.ue-case-img-wrap{width:100%;height:140px;overflow:hidden;background:var(--bg-section)}
.ue-case-img{width:100%;height:100%;object-fit:cover;transition:transform 0.3s}
.ue-case-card-img:hover .ue-case-img{transform:scale(1.05)}
.ue-case-card-body{padding:14px}
.ue-case-card-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:8px;line-height:1.4}
.ue-case-meta-row{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}
.ue-case-partner{font-size:11px;padding:3px 8px;border-radius:4px;background:var(--primary-bg);color:var(--primary)}
.ue-case-date{font-size:11px;color:var(--text-muted)}
.ue-case-card-body .ue-case-desc{font-size:12px;color:var(--text-secondary);line-height:1.6;margin:0}
.ue-case-card-img .ue-item-delete{position:absolute;top:8px;right:8px;transform:none;opacity:0;background:rgba(255,255,255,0.9);padding:6px;border-radius:6px}
.ue-case-card-img:hover .ue-item-delete{opacity:1}

/* 资质证书网格 */
.ue-certs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.ue-cert-item{position:relative;display:flex;align-items:center;gap:12px;padding:14px 40px 14px 14px;background:var(--bg-section);border-radius:10px;border:1px solid var(--border-light);transition:all 0.15s}
.ue-cert-item:hover{border-color:var(--primary-light);background:var(--primary-bg)}
.ue-cert-item.ue-cert-expired{opacity:0.7;border-color:var(--danger-light)}
.ue-cert-icon{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,#8B5CF6,#6366F1);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}
.ue-cert-body{flex:1;min-width:0}
.ue-cert-name{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ue-cert-meta{display:flex;align-items:center;gap:8px;margin-top:4px}
.ue-cert-type-tag{font-size:10px;padding:2px 6px;border-radius:4px;background:var(--bg-card);color:var(--text-muted)}
.ue-cert-date{font-size:11px;color:var(--text-muted)}
.ue-cert-date.text-danger{color:var(--danger)}

/* 按钮样式补充 */
.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:6px;font-size:13px;cursor:pointer;transition:all 0.15s}
.btn-outline:hover{border-color:var(--primary);color:var(--primary)}

/* ===== AI综合评分卡片 ===== */
.ai-score-hero{background:linear-gradient(135deg,#F8F7FC 0%,#F0E6FF 50%,#E8E0FF 100%);border:1px solid #E8E5F0;border-radius:16px;padding:20px 24px;margin-top:24px;margin-bottom:16px}

.ai-score-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.ai-score-top .ai-score-title{display:flex;align-items:center;gap:8px}
.ai-score-top .ai-badge{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,#7C3AED,#2563EB);display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:700}
.ai-score-top .ai-score-title span:last-child{font-size:14px;font-weight:600;color:#333}
.ai-score-tip{font-size:11px;color:#999}

.ai-score-body{display:flex;align-items:center;gap:24px}
.ai-score-left{display:flex;flex-direction:column;align-items:center;gap:10px;flex-shrink:0}
.ai-ring-wrap{position:relative;width:100px;height:100px}
.ai-ring-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}
.ai-ring-num{font-size:32px;font-weight:800;color:#7C3AED;line-height:1}
.ai-ring-unit{font-size:10px;color:#999;margin-top:2px}
.ai-level-badge{padding:4px 14px;border-radius:100px;font-size:11px;font-weight:600;color:#fff}

.ai-score-right{flex:1;display:flex;flex-direction:column;gap:10px}
.ai-dim-row{display:flex;align-items:center;gap:12px}
.ai-dim-row .ai-dim-label{width:60px;font-size:12px;color:#666;flex-shrink:0}
.ai-dim-row .ai-dim-bar{flex:1;height:8px;background:#E8E5F0;border-radius:4px;overflow:hidden;min-width:60px}
.ai-dim-row .ai-dim-fill{display:block;height:100%;background:linear-gradient(90deg,#7C3AED,#2563EB);border-radius:4px;transition:width 0.3s}
.ai-dim-row .ai-dim-val{width:50px;font-size:12px;font-weight:600;color:#333;text-align:right;flex-shrink:0}

/* AI评级过程展示 */
.ai-rating-process{margin-top:16px;padding:16px;background:rgba(255,255,255,0.9);border:1px solid rgba(124,58,237,0.2);border-radius:12px}
.ai-rating-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.ai-badge-pulse{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,#7C3AED,#2563EB);display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:700;animation:pulse 1.5s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.7;transform:scale(1.05)}}
.ai-badge-done{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,#10B981,#059669);display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:700}
.ai-rating-title{font-size:14px;font-weight:600;color:#7C3AED}
.ai-rating-title-done{font-size:14px;font-weight:600;color:#10B981}
.ai-rating-steps{display:flex;flex-direction:column;gap:12px}
.ai-step{display:flex;gap:12px;padding:12px;background:var(--bg-section);border-radius:8px;border:1px solid var(--border-light);opacity:0.6;transition:all 0.3s}
.ai-step.ai-step-done{opacity:1;border-color:rgba(124,58,237,0.3);background:rgba(124,58,237,0.05)}
.ai-step-icon{width:36px;height:36px;border-radius:8px;background:var(--bg-card);display:flex;align-items:center;justify-content:center;color:var(--text-muted);flex-shrink:0}
.ai-step-done .ai-step-icon{background:linear-gradient(135deg,#7C3AED,#2563EB);color:#fff}
.ai-step-content{flex:1;min-width:0}
.ai-step-name{font-size:13px;font-weight:600;color:var(--text);margin-bottom:4px}
.ai-step-desc{font-size:12px;color:var(--text-secondary);margin-bottom:8px}
.ai-step-result{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ai-step-status{font-size:11px;padding:2px 8px;border-radius:4px;background:#10B981;color:#fff;font-weight:500}
.ai-step-data{font-size:11px;color:var(--text-muted)}

/* AI按钮图标 */
.ai-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;background:rgba(255,255,255,0.2);font-size:10px;font-weight:700;margin-right:4px}

.ai-score-footer{margin-top:16px;display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid rgba(124,58,237,0.1)}
.ai-btn-group{display:flex;gap:8px}

.ai-score-detail{margin-top:16px;background:rgba(255,255,255,0.9);border:1px solid #E8E5F0;border-radius:10px;padding:14px}
.ai-detail-title{font-size:13px;font-weight:600;color:#333;margin-bottom:12px}
.ai-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;font-size:11px}
.ai-detail-section{margin-bottom:4px}
.ai-detail-hd{color:#7C3AED;font-weight:600;margin-bottom:6px;font-size:12px}
.ai-detail-row{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px dashed #E8E5F0}
.ai-detail-row span:first-child{color:#666}
.ai-detail-row span:last-child{color:#333}
.ai-detail-row b{font-weight:600;color:#7C3AED}

/* ===== 企业档案编辑模式 ===== */
.uc-edit-action{display:none}
.uc-edit-mode .uc-edit-action{display:inline-flex}

/* ===== 企业综合评分（旧版兼容） ===== */
.uc-score-card{background:linear-gradient(135deg,#7C3AED,#9333EA);border-radius:12px;padding:24px;color:#fff;text-align:center}
.uc-score-total{font-size:36px;font-weight:800}
.uc-score-label{font-size:14px;margin-top:4px}
.uc-score-level{font-size:12px;margin-top:8px;opacity:0.9}
.uc-score-dimensions{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:16px}
.uc-score-dim{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px;text-align:center}
.uc-score-dim-num{font-size:20px;font-weight:700}
.uc-score-dim-label{font-size:11px;color:var(--text-secondary);margin-top:2px}
.uc-score-detail{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:16px}
.uc-score-detail-title{font-size:13px;font-weight:600;margin-bottom:12px}
.uc-score-item{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--border-light);font-size:12px}
.uc-score-item-name{color:var(--text-secondary)}
.uc-score-item-value{display:flex;align-items:center;gap:6px}
.uc-score-tag{padding:1px 6px;border-radius:4px;font-size:10px;font-weight:600}

/* ===== Match Result Page ===== */
.mr-summary-card{background:linear-gradient(135deg,#2563EB,#1D4ED8);border-radius:16px;padding:28px 32px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.mr-summary-left{display:flex;align-items:center;gap:20px}
.mr-summary-icon{width:56px;height:56px;border-radius:16px;background:rgba(255,255,255,0.15);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;flex-shrink:0}
.mr-summary-info .mr-query{font-size:16px;font-weight:700;margin-bottom:4px}
.mr-summary-info .mr-meta{font-size:12px;opacity:0.75}
.mr-summary-right{text-align:right;flex-shrink:0}
.mr-summary-right .mr-score-num{font-size:36px;font-weight:800;font-family:'Oswald',sans-serif;line-height:1}
.mr-summary-right .mr-score-label{font-size:11px;opacity:0.65;margin-top:2px}
.mr-tabs{display:flex;gap:4px;background:var(--bg-card);border-radius:10px;padding:4px;border:1px solid var(--border)}
.mr-tab{padding:8px 18px;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;color:var(--text-secondary);transition:all 0.15s}
.mr-tab:hover{color:var(--text);background:var(--bg-section)}
.mr-tab.active{background:var(--primary);color:#fff;box-shadow:0 1px 3px rgba(0,122,255,0.2)}
.mr-tab .mr-tab-count{font-size:11px;opacity:0.7;font-weight:400;margin-left:4px}
.sr-tab{padding:8px 18px;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;color:var(--text-secondary);transition:all 0.15s}
.sr-tab:hover{color:var(--text);background:var(--bg-section)}
.sr-tab.active{background:var(--primary);color:#fff;box-shadow:0 1px 3px rgba(0,122,255,0.2)}
.mr-item{background:linear-gradient(135deg,rgba(239,246,255,0.95) 0%,rgba(240,253,244,0.92) 25%,rgba(243,232,255,0.90) 50%,rgba(236,254,255,0.92) 75%,rgba(239,246,255,0.95) 100%);background-size:300% 300%;border:1px solid rgba(59,130,246,0.12);border-radius:12px;padding:16px 20px;margin-bottom:10px;transition:all 0.3s;display:flex;gap:16px;align-items:flex-start;position:relative;overflow:hidden;animation:mrBgShift 8s ease-in-out infinite}
.mr-item::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 40%,rgba(59,130,246,0.04) 0%,transparent 50%),radial-gradient(circle at 70% 60%,rgba(16,185,129,0.03) 0%,transparent 50%),radial-gradient(circle at 50% 80%,rgba(139,92,246,0.03) 0%,transparent 50%);animation:mrMesh 12s ease-in-out infinite;pointer-events:none}
.mr-item:hover{background-size:200% 200%;border-color:rgba(59,130,246,0.35);box-shadow:0 4px 20px rgba(59,130,246,0.10),inset 0 1px 0 rgba(255,255,255,0.8)}
@keyframes mrBgShift{0%,100%{background-position:0% 50%}33%{background-position:100% 50%}66%{background-position:50% 100%}}
@keyframes mrMesh{0%,100%{transform:translate(0,0) rotate(0deg)}25%{transform:translate(2%,-1%) rotate(0.5deg)}50%{transform:translate(-1%,2%) rotate(-0.3deg)}75%{transform:translate(1%,-1%) rotate(0.2deg)}}
.mr-item:hover{border-color:var(--primary-subtle);box-shadow:var(--shadow-hover)}
.mr-item-score{width:60px;text-align:center;flex-shrink:0;padding-top:2px;position:relative;z-index:1}
.mr-item-score .mis-num{font-size:22px;font-weight:800;color:var(--primary);font-family:'Oswald',sans-serif;line-height:1.1}
.mr-item-score .mis-label{font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.5px}
.mr-item-score.mis-high .mis-num{color:#16A34A}
.mr-item-score.mis-mid .mis-num{color:#D97706}
.mr-item-body{flex:1;min-width:0;position:relative;z-index:1}
.mr-item-title{font-size:14px;font-weight:700;color:var(--text);margin-bottom:4px;line-height:1.4}
.mr-item-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.mr-item-meta span{font-size:11px;color:var(--text-secondary);background:var(--bg-section);padding:2px 8px;border-radius:4px}
.mr-item-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}
.mr-item-tags span{font-size:10px;padding:1px 6px;border-radius:3px;background:var(--primary-bg);color:var(--primary)}
.mr-item-phase{font-size:11px;color:var(--text-secondary);display:inline-flex;align-items:center;gap:4px;margin-bottom:6px;padding:2px 8px;background:#F8FAFC;border-radius:4px}
.mip-dot{width:6px;height:6px;border-radius:50%;background:#22C55E;flex-shrink:0}
.mip-desc{color:var(--text-muted);font-size:10px;margin-left:2px}
.mr-item-action{flex-shrink:0;display:flex;align-items:center;gap:8px;position:relative;z-index:1}
.mr-connect-btn{padding:7px 16px;border-radius:8px;border:none;font-size:12px;font-weight:600;cursor:pointer;background:var(--primary);color:#fff;transition:all 0.2s;white-space:nowrap}
.mr-connect-btn:hover{background:var(--primary-dark);box-shadow:0 2px 8px rgba(0,122,255,0.25)}
.mr-connect-btn.mr-connect-login{background:var(--orange)}
.mr-connect-btn.mr-connect-login:hover{background:#D97706}
.mr-empty{padding:60px 0;text-align:center;color:var(--text-muted);font-size:14px}
.mr-breakdown-detail{display:none;margin-top:6px;padding:8px 10px;background:var(--bg-section);border-radius:6px;font-size:11px;color:var(--text-secondary)}
.mr-breakdown-detail.open{display:block}
.mr-breakdown-row{display:flex;justify-content:space-between;align-items:center;padding:2px 0}
.mr-breakdown-row .mrb-label{color:var(--text-secondary)}
.mr-breakdown-row .mrb-val{font-weight:600;color:var(--text);font-family:'Oswald',sans-serif}

/* ===== No Demand Modal ===== */
.nd-modal-content{padding:32px;text-align:center}
.nd-icon{width:72px;height:72px;margin:0 auto 20px;background:linear-gradient(135deg,#EFF6FF,#DBEAFE);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#2563EB}
.nd-title{font-size:18px;font-weight:700;color:var(--text);margin-bottom:8px}
.nd-desc{font-size:13px;color:var(--text-secondary);margin-bottom:24px;line-height:1.6}
.nd-actions{display:flex;gap:12px;justify-content:center}
.nd-btn{padding:10px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all 0.2s}
.nd-btn-outline{background:transparent;border:1px solid var(--border);color:var(--text-secondary)}
.nd-btn-outline:hover{background:var(--bg-section);border-color:var(--text-secondary)}
.nd-btn-primary{background:linear-gradient(135deg,#3B82F6,#2563EB);border:none;color:#fff;box-shadow:0 2px 8px rgba(37,99,235,0.25)}
.nd-btn-primary:hover{background:linear-gradient(135deg,#60A5FA,#3B82F6);box-shadow:0 4px 12px rgba(37,99,235,0.35)}

/* ===== Demand Select Modal ===== */
.ds-modal-content{padding:24px}
.ds-header{margin-bottom:20px}
.ds-title{font-size:16px;font-weight:700;color:var(--text);margin-bottom:4px}
.ds-subtitle{font-size:12px;color:var(--text-secondary)}
.ds-list{max-height:280px;overflow-y:auto;margin-bottom:20px}
.ds-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;margin-bottom:8px;cursor:pointer;transition:all 0.2s;background:var(--bg-card)}
.ds-item:hover{border-color:var(--primary);background:var(--bg-section)}
.ds-item:has(input:checked){border-color:var(--primary);background:linear-gradient(135deg,rgba(239,246,255,0.95),rgba(219,234,254,0.9))}
.ds-radio input{width:16px;height:16px;accent-color:var(--primary)}
.ds-content{flex:1;min-width:0}
.ds-name{font-size:13px;font-weight:600;color:var(--text);margin-bottom:4px}
.ds-meta{display:flex;gap:8px;flex-wrap:wrap}
.ds-meta span{font-size:11px;padding:2px 8px;border-radius:4px;background:var(--bg-section);color:var(--text-secondary)}
.ds-field{background:var(--primary-bg)!important;color:var(--primary)!important}
.ds-budget{background:#FEF3C7!important;color:#D97706!important}
.ds-status{background:#DCFCE7!important;color:#16A34A!important}
.ds-actions{display:flex;gap:12px;justify-content:flex-end}
.ds-btn{padding:10px 24px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all 0.2s}
.ds-btn-outline{background:transparent;border:1px solid var(--border);color:var(--text-secondary)}
.ds-btn-outline:hover{background:var(--bg-section)}
.ds-btn-primary{background:linear-gradient(135deg,#3B82F6,#2563EB);border:none;color:#fff;box-shadow:0 2px 8px rgba(37,99,235,0.25)}
.ds-btn-primary:hover{background:linear-gradient(135deg,#60A5FA,#3B82F6);box-shadow:0 4px 12px rgba(37,99,235,0.35)}
.mr-tag{display:inline-block;padding:1px 6px;border-radius:3px;font-size:10px;background:var(--primary-bg);color:var(--primary);margin:1px}
@media(max-width:700px){.mr-summary-card{flex-direction:column;text-align:center}.mr-summary-left{flex-direction:column}.mr-summary-right{text-align:center}.mr-item{flex-direction:column}.mr-item-score{width:100%;display:flex;align-items:center;gap:8px}}

/* ===== Partner Wall ===== */
.partner-wall-outer{overflow:hidden;margin:0 -24px}
.partner-wall{display:flex;gap:20px;animation:partnerScroll 120s linear infinite;width:max-content}
.partner-wall:hover{animation-play-state:paused}
.partner-logo{padding:10px 20px;border:2px solid var(--border);border-radius:8px;background:#fff;flex-shrink:0}
.partner-logo-name{font-size:14px;font-weight:600;color:var(--text);white-space:nowrap}
@keyframes partnerScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ===== AI Match Result Modal ===== */
.ai-match-modal{width:640px;max-width:100%;max-height:80vh;overflow-y:auto;padding:24px}
.ai-match-result{}
.aim-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}
.aim-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#7C3AED,#9333EA);color:#fff;font-size:14px;font-weight:800}
.aim-title{font-size:18px;font-weight:700;color:var(--text)}
.aim-count{margin-left:auto;font-size:13px;color:var(--text-secondary)}
.aim-count strong{color:#7C3AED}
.aim-list{display:flex;flex-direction:column;gap:10px}
.aim-item{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:all 0.2s}
.aim-item:hover{border-color:#7C3AED44;background:rgba(124,58,237,0.03);transform:translateX(4px)}
.aimi-score{text-align:center;flex-shrink:0;width:56px}
.aimi-score-num{font-size:24px;font-weight:800;color:#7C3AED;font-family:Oswald,sans-serif}
.aimi-score-label{font-size:10px;color:var(--text-muted)}
.aimi-body{flex:1;min-width:0}
.aimi-name{font-size:14px;font-weight:600;color:var(--text);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aimi-org{font-size:12px;color:var(--text-secondary);margin-bottom:6px}
.aimi-tags{display:flex;gap:4px;flex-wrap:wrap}
.aimi-tags span{padding:2px 8px;border-radius:4px;font-size:10px;background:var(--primary-bg);color:var(--primary)}
.aimi-arrow{flex-shrink:0;color:var(--text-muted);font-size:18px}


/* Match Phase Tag */
.mt-phase-wrap{display:flex;align-items:center;margin-top:6px}
.mt-phase-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600}
.mtv-phase-row{margin-top:8px}


/* ===== 表单样式 ===== */
.modal-lg{width:720px;max-width:95%}
.modal-header h3{margin:0 0 4px;font-size:18px}
.modal-header p{margin:0;font-size:13px;color:var(--text-muted)}
.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border);background:var(--bg-section)}
.form-section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--border-light)}
.form-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.form-section-title{font-size:14px;font-weight:700;color:var(--text);margin-bottom:16px;display:flex;align-items:center;gap:8px}
.form-section-title::before{content:"";width:3px;height:14px;background:var(--primary);border-radius:2px}
.form-row{display:flex;gap:16px}
.form-row .form-group{flex:1}
.form-group{margin-bottom:16px}
.form-group:last-child{margin-bottom:0}
.form-label{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:6px}
.form-label .required{color:var(--danger)}
.form-input,.form-select,.form-textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;color:var(--text);background:var(--bg-card);transition:var(--transition);font-family:inherit}
.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-bg)}
.form-textarea{resize:vertical;min-height:80px;line-height:1.6}
.form-select{cursor:pointer}
.form-hint{font-size:11px;color:var(--text-muted);margin-top:4px}

/* 标签输入 */
.tag-input-area{display:flex;flex-direction:column;gap:8px}
.tag-pills{display:flex;flex-wrap:wrap;gap:6px;min-height:28px}
.tag-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:var(--primary-bg);color:var(--primary);border-radius:6px;font-size:12px;font-weight:500}
.tag-pill .tag-remove{cursor:pointer;opacity:0.6;font-size:14px;line-height:1}
.tag-pill .tag-remove:hover{opacity:1}
.ai-tags-suggest{font-size:12px;color:var(--text-muted);padding:8px 12px;background:linear-gradient(135deg,#7C3AED08,#6D28D905);border-radius:8px;border:1px dashed #7C3AED30}
.ai-tag-label{color:#7C3AED;font-weight:600}
.ai-tag-list{display:inline-flex;flex-wrap:wrap;gap:4px;margin-left:4px}
.ai-tag-btn{padding:2px 8px;background:#7C3AED15;color:#7C3AED;border-radius:4px;font-size:11px;cursor:pointer;border:1px solid transparent;transition:var(--transition)}
.ai-tag-btn:hover{background:#7C3AED;color:#fff}

/* 上传区域 */
.upload-area{border:2px dashed var(--border);border-radius:12px;padding:20px;text-align:center;cursor:pointer;transition:var(--transition);background:var(--bg-section)}
.upload-area:hover{border-color:var(--primary);background:var(--primary-bg)}
.upload-area-small{padding:16px;border-radius:10px}
.upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-muted)}
.upload-placeholder svg{opacity:0.4}
.upload-placeholder img{max-width:100%;max-height:120px;border-radius:8px}
.upload-file-list{display:flex;align-items:center;gap:10px;color:var(--text-muted);font-size:13px}

/* ===== 成功案例页面 ===== */
.cases-hero{background:linear-gradient(135deg,#F0F9FF 0%,#E0E7FF 50%,#F5F3FF 100%);padding:24px 0;color:var(--text);position:relative;overflow:hidden;border-bottom:1px solid var(--border)}
.cases-hero-row{display:flex;align-items:center;justify-content:space-between;gap:24px}
.cases-hero-left h1{font-size:22px;font-weight:800;margin:0 0 4px;color:#1E3A5F}
.cases-hero-left p{font-size:13px;color:#64748B;margin:0}
.cases-hero-stats{display:flex;gap:24px}
.cases-stat-item{text-align:center;background:rgba(255,255,255,0.6);padding:12px 20px;border-radius:10px;border:1px solid rgba(37,99,235,0.1)}
.cases-stat-num{font-size:24px;font-weight:800;font-family:Oswald,sans-serif;color:#2563EB}
.cases-stat-label{font-size:11px;color:#64748B;margin-top:2px}

/* 精选案例 */
.cases-featured{padding:24px 0;background:var(--bg-section)}
.cases-section-header{margin-bottom:16px}
.cases-section-header h2{font-size:18px;font-weight:700;color:var(--text);margin-bottom:4px}
.cases-section-header p{font-size:13px;color:var(--text-secondary)}
.cases-featured-title{font-size:16px;font-weight:700;color:var(--text);margin-bottom:16px;display:flex;align-items:center;gap:8px}
.cases-featured-title::before{content:'';width:4px;height:18px;background:linear-gradient(135deg,#2563EB,#7C3AED);border-radius:2px}
#casesFeatured{overflow:hidden;padding-bottom:16px}
#casesFeatured::-webkit-scrollbar{height:0}
#casesFeatured::-webkit-scrollbar-thumb{background:none}
.cases-featured-auto{display:flex;gap:20px;width:max-content;animation:casesFeaturedScroll 40s linear infinite}
.cases-featured-auto:hover{animation-play-state:paused}
@keyframes casesFeaturedScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.cases-featured-card{flex:0 0 320px;min-width:320px;background:var(--bg-card);border:1px solid var(--border);border-radius:14px;overflow:hidden;cursor:pointer;transition:all 0.3s}
.cases-featured-card:hover{box-shadow:0 12px 40px rgba(0,0,0,0.15);transform:translateY(-6px)}
.cases-featured-cover{height:180px;position:relative;display:flex;align-items:center;justify-content:center}
.cases-featured-cover-icon{font-size:56px}
.cases-featured-score{position:absolute;top:12px;right:12px;padding:4px 12px;border-radius:6px;font-size:11px;font-weight:700;color:#fff;background:rgba(255,255,255,0.2);backdrop-filter:blur(4px)}
.cases-featured-body{padding:18px}
.cases-featured-name{font-size:16px;font-weight:700;color:var(--text);margin-bottom:10px;line-height:1.4}
.cases-featured-org-row{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:13px;color:var(--text-secondary)}
.cases-featured-arrow{color:var(--primary);font-weight:700}
.cases-featured-highlight{display:flex;gap:8px;flex-wrap:wrap}
.cases-featured-highlight span{padding:4px 12px;border-radius:6px;font-size:12px;font-weight:500;background:linear-gradient(135deg,#EFF6FF,#DBEAFE);color:#2563EB}
.cases-featured-highlight span:nth-child(2){background:linear-gradient(135deg,#F0FDF4,#DCFCE7);color:#16A34A}
.cases-featured-highlight span:nth-child(3){background:linear-gradient(135deg,#FFF7ED,#FFEDD5);color:#EA580C}

/* 筛选栏 */
.cases-filter-wrap{padding:20px 24px;background:var(--bg-section)}
.cases-filter-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden}
.cases-filter-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:linear-gradient(135deg,#EFF6FF,#F5F3FF);cursor:pointer;transition:var(--transition)}
.cases-filter-header:hover{background:linear-gradient(135deg,#DBEAFE,#EDE9FE)}
.cases-filter-title{font-size:14px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px}
.cases-filter-title svg{width:16px;height:16px;color:var(--primary)}
.cases-filter-toggle{font-size:12px;color:var(--primary);font-weight:500}
.cases-filter-body{padding:16px;display:none;gap:16px;flex-wrap:wrap;border-top:1px solid var(--border)}
.cases-filter-body.open{display:flex}
.cases-filter-group{flex:1;min-width:200px}
.cases-filter-label{font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:8px}
.cases-filter-options{display:flex;flex-wrap:wrap;gap:6px}
.cases-filter-opt{padding:5px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;background:var(--bg-section);color:var(--text-secondary);border:1px solid transparent;transition:var(--transition)}
.cases-filter-opt:hover{background:var(--primary-bg);color:var(--primary)}
.cases-filter-opt.active{background:var(--primary);color:#fff}

/* 案例网格 */
.cases-grid-section{padding:0 24px 32px;background:var(--bg-section)}
.cases-grid-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.cases-grid-count{font-size:13px;color:var(--text-secondary)}
.cases-filter-bar{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:16px 20px;margin-bottom:20px;display:flex;gap:24px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
.cases-filter-bar::-webkit-scrollbar{display:none}
.cases-filter-group{display:flex;align-items:center;gap:12px;flex-shrink:0}
.cases-filter-label{font-size:13px;font-weight:600;color:var(--text-secondary);white-space:nowrap}
.cases-filter-tags{display:flex;gap:8px;flex-wrap:nowrap}
.cases-filter-tag{padding:6px 14px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;background:var(--bg-section);color:var(--text-secondary);border:1px solid transparent;transition:var(--transition);white-space:nowrap}
.cases-filter-tag:hover{background:var(--primary-bg);color:var(--primary)}
.cases-filter-tag.active{background:var(--primary);color:#fff}
.cases-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cases-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden;cursor:pointer;transition:all 0.3s}
.cases-card:hover{box-shadow:0 8px 32px rgba(0,0,0,0.12);transform:translateY(-4px);border-color:var(--primary-subtle)}
.cases-card-img-wrap{position:relative;height:180px;overflow:hidden}
.cases-card-cover{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}
.cases-card-cat-badge{position:absolute;top:10px;left:10px;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;color:#fff;background:rgba(255,255,255,0.22);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,0.35);box-shadow:0 2px 6px rgba(0,0,0,0.12);letter-spacing:0.3px}
.cases-card-cover-icon{font-size:48px}
.cases-card-body{padding:16px}
.cases-card-name-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:10px}
.cases-card-name{font-size:15px;font-weight:700;color:var(--text);line-height:1.4;flex:1;min-width:0}
.cases-card-name:hover{color:var(--primary)}
.cases-card-value{flex-shrink:0;font-size:15px;font-weight:700;color:#DC2626;white-space:nowrap;line-height:1.4}
.cases-card-org-row{display:flex;align-items:center;gap:6px;margin-bottom:10px;font-size:12px}
.cases-card-demand{color:var(--text-secondary);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cases-card-arrow{color:var(--primary);font-weight:600}
.cases-card-supply{color:var(--text-secondary);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cases-card-highlight{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.cases-card-hl-tag{padding:3px 10px;border-radius:4px;font-size:11px;font-weight:500;background:linear-gradient(135deg,#EFF6FF,#DBEAFE);color:#2563EB}
.cases-card-hl-tag:nth-child(2){background:linear-gradient(135deg,#F0FDF4,#DCFCE7);color:#16A34A}
.cases-card-hl-tag:nth-child(3){background:linear-gradient(135deg,#FFF7ED,#FFEDD5);color:#EA580C}
.cases-card-footer{display:flex;justify-content:flex-end;align-items:center;padding-top:10px;border-top:1px solid var(--border-light)}
.cases-card-score{font-size:13px;font-weight:700;color:var(--primary)}
.cases-card-star{color:#F59E0B;margin-right:2px}

/* 详情页 */
.case-detail-hero{padding:32px;background:linear-gradient(135deg,#1E3A5F,#2563EB)}
.case-detail-back{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:rgba(255,255,255,0.8);cursor:pointer;margin-bottom:16px;transition:var(--transition)}
.case-detail-back:hover{color:#fff}
.case-detail-title{font-size:24px;font-weight:800;color:#fff;margin-bottom:12px}
.case-detail-meta{display:flex;gap:12px;flex-wrap:wrap}
.case-detail-meta span{padding:4px 12px;border-radius:6px;font-size:12px;background:rgba(255,255,255,0.15);color:#fff}
.case-detail-main{padding:24px}
.case-detail-section{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:16px}
.case-detail-section-title{font-size:15px;font-weight:700;color:var(--text);margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--border)}
.case-detail-section p{font-size:13px;color:var(--text-secondary);line-height:1.8}
.case-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.case-info-item{padding:12px;background:var(--bg-section);border-radius:8px}
.case-info-label{font-size:11px;color:var(--text-muted);margin-bottom:4px}
.case-info-value{font-size:14px;font-weight:600;color:var(--text)}

@media(max-width:900px){
  .cases-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .cases-hero-stats{gap:16px}
  .cases-stat-num{font-size:24px}
  .cases-grid{grid-template-columns:1fr}
  .case-info-grid{grid-template-columns:1fr}
}

/* ===== 站内消息 - 导航栏铃铛 ===== */
.nav-bell {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  cursor: pointer;
  color: var(--text-secondary);
  transition: all 0.15s;
  vertical-align: middle;
}
.nav-bell:hover {
  background: var(--primary-bg);
  color: var(--primary);
}
.nav-bell-badge {
  position: absolute;
  top: 2px;
  right: 2px;
  min-width: 16px;
  height: 16px;
  line-height: 16px;
  text-align: center;
  font-size: 10px;
  font-weight: 700;
  color: #fff;
  background: #DC2626;
  border-radius: 8px;
  padding: 0 4px;
}
.nav-bell-panel {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 8px;
  width: 360px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 12px;
  box-shadow: 0 8px 30px rgba(0,0,0,0.12);
  z-index: 200;
  display: none;
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity 0.2s, transform 0.2s;
}
.nav-bell-panel.open {
  display: block;
  opacity: 1;
  transform: translateY(0);
}
.nav-bell-panel-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 16px;
  border-bottom: 1px solid var(--border-light);
}
.nav-bell-panel-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
}
.nav-bell-panel-markall {
  font-size: 12px;
  color: var(--primary);
  cursor: pointer;
}
.nav-bell-panel-markall:hover {
  text-decoration: underline;
}
.nav-bell-list {
  max-height: 320px;
  overflow-y: auto;
}
.nav-bell-empty {
  padding: 40px 16px;
  text-align: center;
  color: var(--text-muted);
  font-size: 13px;
}
.nav-bell-item {
  padding: 12px 16px;
  border-bottom: 1px solid var(--border-light);
  cursor: pointer;
  transition: background 0.15s;
}
.nav-bell-item:last-child {
  border-bottom: none;
}
.nav-bell-item:hover {
  background: #F8FAFC;
}
.nav-bell-item.unread {
  background: #F0F7FF;
  border-left: 3px solid #2563EB;
  padding-left: 13px;
}
.nav-bell-item.unread:hover {
  background: #E8F0FE;
}
.nav-bell-item-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4px;
}
.nav-bell-tag {
  display: inline-block;
  padding: 1px 6px;
  font-size: 10px;
  font-weight: 600;
  border-radius: 3px;
}
.nav-bell-tag.tag-match {
  background: #EFF6FF;
  color: #2563EB;
}
.nav-bell-tag.tag-reply {
  background: #F5F3FF;
  color: #7C3AED;
}
.nav-bell-time {
  font-size: 11px;
  color: var(--text-muted);
}
.nav-bell-item-title {
  font-size: 13px;
  color: var(--text);
  line-height: 1.4;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.nav-bell-item.unread .nav-bell-item-title {
  font-weight: 600;
}
.nav-bell-footer {
  padding: 12px 16px;
  text-align: center;
  font-size: 13px;
  color: var(--primary);
  cursor: pointer;
  border-top: 1px solid var(--border-light);
  transition: background 0.15s;
}
.nav-bell-footer:hover {
  background: #F8FAFC;
}

/* ===== 站内消息 - 用户中心消息列表 ===== */
.uc-message-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.uc-message-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--text);
}
.uc-message-unread-count {
  font-size: 12px;
  color: var(--primary);
  background: var(--primary-bg);
  padding: 2px 8px;
  border-radius: 4px;
}
.uc-message-markall {
  margin-left: auto;
  font-size: 12px;
  color: var(--primary);
  background: none;
  border: 1px solid var(--primary);
  padding: 4px 10px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s;
}
.uc-message-markall:hover {
  background: var(--primary);
  color: #fff;
}
.uc-message-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.uc-message-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 20px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 10px;
  transition: all 0.15s;
}
.uc-message-item:hover {
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.uc-message-item.unread {
  border-left: 4px solid #2563EB;
  background: #FAFCFF;
}
.uc-message-item-left {
  flex-shrink: 0;
  padding-top: 2px;
}
.uc-message-tag {
  display: inline-block;
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 600;
  border-radius: 4px;
  white-space: nowrap;
}
.uc-message-tag.tag-match {
  background: #EFF6FF;
  color: #2563EB;
}
.uc-message-tag.tag-reply {
  background: #F5F3FF;
  color: #7C3AED;
}
.uc-message-item-body {
  flex: 1;
  min-width: 0;
}
.uc-message-item-title {
  font-size: 14px;
  color: var(--text);
  margin-bottom: 4px;
  line-height: 1.4;
}
.uc-message-item.unread .uc-message-item-title {
  font-weight: 600;
}
.uc-message-item-content {
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.5;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-bottom: 6px;
}
.uc-message-item-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  color: var(--text-muted);
}
.uc-message-item-from {
  color: var(--text-secondary);
}
.uc-message-actions {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex-shrink: 0;
  align-self: center;
}
.uc-message-empty {
  text-align: center;
  padding: 60px 24px;
}
.uc-message-empty-icon {
  font-size: 48px;
  color: var(--border);
  margin-bottom: 12px;
}
.uc-message-empty-text {
  font-size: 14px;
  color: var(--text-muted);
}

