/* ===== Apple Design Language — 小菊哥 AI智能工作台 ===== */
/* ===== Reset & Base ===== */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --p:#3B82F6;--pl:#60A5FA;--pd:#2563EB;--pb:#EBF5FF;
  --sb:#FFF;--st:#3C3C43;--sh:#F5F5F7;
  --bg:#FFFFFF;--cd:#FFF;--bd:rgba(60,60,67,.12);
  --tx:#1C1C1E;--ts:rgba(60,60,67,.6);--tm:rgba(60,60,67,.3);
  --su:#34C759;--wa:#FF9500;--da:#FF3B30;--in:#6366F1;
  --ac-1:#22D3EE;--ac-2:#3B82F6;--ac-3:#6366F1;
  --ac-grad:linear-gradient(135deg,var(--ac-1) 0%,var(--ac-2) 48%,var(--ac-3) 100%);
  --ac-grad-v:linear-gradient(180deg,var(--ac-1) 0%,var(--ac-2) 55%,var(--ac-3) 100%);
  --ac-glow:0 6px 18px rgba(59,130,246,.30);
  --white:#FFF;
  --teal-300:#5EEAD4;--teal-400:#2DD4BF;--teal-500:#14B8A6;--teal-550:#0EA5A4;--teal-600:#0D9488;--teal-650:#0F766E;--teal-700:#0E7490;--teal-800:#115E59;--teal-900:#134E4A;--teal-950:#064E3B;
  --r:12px;--rs:10px;--shd:0 1px 3px rgba(0,0,0,.04);
  --r-lg:16px;--sh-md:0 6px 20px rgba(0,0,0,.08);
  --shd-m:0 4px 12px rgba(0,0,0,.06);--tr:all .2s ease;--tr-s:all .35s cubic-bezier(.4,0,.2,1)
}
body{font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue','PingFang SC','Microsoft YaHei',sans-serif;background:var(--bg);color:var(--tx);min-height:100vh;overflow-x:hidden;transition:background .4s,color .4s;-webkit-font-smoothing:antialiased}
[data-theme="dark"]{
  --bg:#050A1F;--cd:#0C1A3D;--bd:rgba(99,179,255,.20);--sb:#071022;--st:#E5E5EA;--sh:#0E2047;
  --tx:#F2F4F8;--ts:rgba(235,235,245,.78);--tm:rgba(235,235,245,.55);
  --shd:0 1px 3px rgba(0,0,0,.5);--shd-m:0 4px 16px rgba(0,0,0,.6);--r-lg:16px;--sh-md:0 6px 20px rgba(0,0,0,.45)
}
input,select,textarea,button{font-family:inherit;font-size:inherit}

/* ===== Login — Apple Style ===== */
#lp{position:relative;display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg)}
#lp::before{content:'';position:absolute;top:-60%;left:-40%;width:180%;height:180%;background:radial-gradient(ellipse at 50% 30%,rgba(59,130,246,.02) 0%,transparent 60%);pointer-events:none}
.lb{background:#FFF;border-radius:20px;padding:48px 40px;width:400px;max-width:90vw;box-shadow:0 1px 3px rgba(0,0,0,.04),0 8px 32px rgba(0,0,0,.06);text-align:center;position:relative;z-index:1}
.lb .logo{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--p),var(--pl));display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:36px;color:#fff;overflow:hidden;box-shadow:0 4px 12px rgba(59,130,246,.25)}
.lb .logo img{width:100%;height:100%;object-fit:cover;display:block}
.lb h1{font-size:26px;margin-bottom:4px;color:var(--tx);font-weight:700;letter-spacing:-.5px}
.lb-sub{color:rgba(60,60,67,.6);margin-bottom:28px;font-size:14px}
.lb .fg{text-align:left;margin-bottom:20px}
.lb .fg label{display:block;margin-bottom:6px;font-weight:500;font-size:13px;color:rgba(60,60,67,.6)}
.lb .fg input{width:100%;padding:12px 16px;border:1.5px solid rgba(60,60,67,.2);border-radius:10px;font-size:15px;transition:var(--tr);background:#FFF;color:var(--tx)}
.lb .fg input:focus{outline:none;border-color:var(--p)}
.lb .bp{width:100%;padding:14px;background:var(--p);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:var(--tr)}
.lb .bp:hover{background:#1D4ED8}
.lb .er{background:#FEF2F2;color:#DC2626;padding:10px 16px;border-radius:10px;font-size:14px;margin-bottom:16px;display:none}
.lb-footer{margin-top:16px}.lb-footer a{color:rgba(60,60,67,.3);font-size:12px;text-decoration:none}.lb-footer a:hover{color:rgba(60,60,67,.6)}
.lp-footer{position:absolute;bottom:18px;left:0;right:0;text-align:center;font-size:12px;color:rgba(60,60,67,.4);z-index:1}.lp-footer a{color:rgba(60,60,67,.45);text-decoration:none;transition:color .2s}.lp-footer a:hover{color:var(--p);text-decoration:underline}
.lp-footer .cr{font-size:12px;color:rgba(60,60,67,.5);margin-bottom:3px;letter-spacing:.2px}.app-footer .cr{font-size:11px;color:var(--tm);opacity:.7;margin:6px 0 2px;letter-spacing:.2px}

/* ===== Sidebar — White, macOS/iPadOS Style ===== */
#app{display:none;min-height:100vh}
.sb{position:fixed;left:0;top:0;bottom:0;width:180px;background:var(--sb);z-index:100;display:flex;flex-direction:column;transition:transform .3s,width .3s;border-right:1px solid var(--bd)}
.sb-hd{padding:28px 16px 18px;border-bottom:1px solid var(--bd);display:flex;flex-direction:column;align-items:center;gap:4px}
.sb-hd .ls{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--p),var(--pl));display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;flex-shrink:0;margin-bottom:6px;overflow:hidden;box-shadow:0 2px 8px rgba(59,130,246,.2)}
.sb-hd .ls img{width:100%;height:100%;object-fit:cover;display:block}
.sb-hd .an{color:var(--tx);font-weight:700;font-size:18px;line-height:1.3;letter-spacing:-.3px}
.sb-hd .an-sub{color:var(--ts);font-size:11px;letter-spacing:.3px;font-weight:400;margin-top:-1px}
.sb-hd .av{color:var(--p);font-size:10px;letter-spacing:1px;font-weight:500;margin-top:2px}
.sb-nv{flex:1;padding:8px 0;overflow-y:auto}
.sb-nv .ni{display:flex;align-items:center;gap:10px;padding:10px 14px;color:var(--st);cursor:pointer;transition:var(--tr);font-size:15px;font-weight:400;border-radius:8px;margin:2px 10px}
.sb-nv .ni:hover{background:var(--sh);color:var(--tx)}
.sb-nv .ni.act{background:var(--pb);color:var(--p)!important;font-weight:500}
.sb-nv .ni .nv-i{width:22px;height:22px}
.sb-nv .ni.act .nv-i{color:var(--p)}
.sb-nv .nv-div{height:1px;background:var(--bd);margin:8px 16px}
.sb-nv .nv-lb{padding:14px 16px 4px;color:var(--tm);font-size:12px;font-weight:600;letter-spacing:.8px;text-transform:uppercase}
.sb-nv .nv-lb:first-child{padding-top:6px}
.sb-ft{padding:12px 14px;border-top:1px solid var(--bd);display:flex;align-items:center;gap:10px}
.sb-ft .ua{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--p),var(--pl));color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0;overflow:hidden;box-shadow:0 2px 6px rgba(59,130,246,.25)}
.sb-ft .ua img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
.sb-ft .ui{flex:1;min-width:0}
.sb-ft .un{color:var(--tx);font-size:14px;font-weight:600;line-height:1.3}
.sb-ft .ur{color:var(--ts);font-size:11px;line-height:1.3;margin-top:1px}
.sb-ft .lo{width:30px;height:30px;border-radius:8px;border:none;background:transparent;color:var(--tm);cursor:pointer;font-size:14px;transition:var(--tr);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sb-ft .lo:hover{background:var(--sh);color:var(--tx)}
.lo-i{width:16px;height:16px;color:currentColor}
.sb.collapsed{width:54px}
.sb.collapsed .sb-hd{padding:16px 8px 10px}
.sb.collapsed .sb-hd .ls{width:30px;height:30px;font-size:14px;margin-bottom:0}
.sb.collapsed .sb-hd .an,.sb.collapsed .sb-hd .an-sub,.sb.collapsed .sb-hd .av{display:none}
.sb.collapsed .sb-nv .ni{padding:8px;justify-content:center;margin:1px 6px}
.sb.collapsed .sb-nv .ni span:not(.nv-i){display:none}
.sb.collapsed .nv-lb{display:none}
.sb.collapsed .nv-div{margin:4px 12px}
.sb.collapsed .sb-ft{padding:8px;justify-content:center}
.sb.collapsed .sb-ft .ua{width:26px;height:26px;font-size:10px}
.sb.collapsed .sb-ft .ui,.sb.collapsed .sb-ft .lo{display:none}
.sb-nv::-webkit-scrollbar{width:3px}
.sb-nv::-webkit-scrollbar-thumb{background:var(--bd);border-radius:3px}

/* ===== Main Layout ===== */
/* 桌面端主内容区让出固定左侧边栏 .topbar(200px)；折叠/移动端在各自覆盖中归零 */
.mc{margin-left:200px;min-height:calc(100vh - 58px);display:flex;flex-direction:column;transition:margin-left .3s}
.tb{background:rgba(255,255,255,.82);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:10px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--bd);position:sticky;top:0;z-index:50}
[data-theme="dark"] .tb{background:rgba(28,28,30,.82)}
.tb .pt{font-size:20px;font-weight:700;color:var(--tx);letter-spacing:-.3px}
.tb-logo{width:22px;height:22px;flex-shrink:0;display:none;color:var(--p)}
@media(min-width:768px){.tb-logo{display:inline-block;vertical-align:middle}}
.tb .hm{display:flex;width:34px;height:34px;border:none;background:none;cursor:pointer;font-size:18px;color:var(--tm);border-radius:8px;align-items:center;justify-content:center;transition:var(--tr)}
.tb .hm:hover{background:var(--sh);color:var(--tx)}
.pc{padding:20px 24px;flex:1}
.app-footer{text-align:center;padding:22px 12px 18px;color:var(--tm);font-size:11px;line-height:1.9;border-top:1px solid var(--bd);background:var(--cd)}.app-footer a{display:block;color:var(--tm);text-decoration:none;font-size:12px;margin-top:4px;opacity:.85}.app-footer a:hover{text-decoration:underline;opacity:1}
[data-theme="dark"] .app-footer{color:rgba(235,235,245,.75)}[data-theme="dark"] .app-footer .cr{color:rgba(235,235,245,.75);opacity:1}[data-theme="dark"] .app-footer a{color:rgba(235,235,245,.8);opacity:1}[data-theme="dark"] .app-footer a:hover{color:var(--pl)}
[data-theme="dark"] .lp-footer{color:rgba(235,235,245,.7)}[data-theme="dark"] .lp-footer .cr{color:rgba(235,235,245,.7);opacity:1}[data-theme="dark"] .lp-footer a{color:rgba(235,235,245,.75);opacity:1}[data-theme="dark"] .lp-footer a:hover{color:var(--pl)}
.sb-ol{position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:90;display:none}
.sb-ol.show{display:block}

/* ===== Cards ===== */
.cd{background:var(--cd);border-radius:14px;padding:16px;box-shadow:var(--shd);transition:var(--tr-s);margin-bottom:12px}
.cd:hover{box-shadow:var(--shd-m)}
.cd-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;position:relative;padding-left:10px}
.cd-hd::before{content:'';position:absolute;left:0;top:4px;bottom:4px;width:3px;border-radius:2px;background:linear-gradient(180deg,var(--p),var(--pl))}
.cd-hd h3{font-size:16px;font-weight:700;letter-spacing:-.3px;color:var(--tx)}
.cd-glass{background:rgba(255,255,255,var(--g,0.8));backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border:1px solid rgba(255,255,255,var(--gb,0.3))}
[data-theme="dark"] .cd-glass{--g:0.12;--gb:0.08}

/* ===== Loading ===== */
@keyframes spin{to{transform:rotate(360deg)}}
.spin{display:inline-block;width:14px;height:14px;border:2px solid var(--bd);border-top-color:var(--p);border-radius:50%;animation:spin .6s linear infinite;vertical-align:middle;margin-right:6px}
.loading-btn{opacity:.7;pointer-events:none}

/* ===== Stats Grid ===== */
.sg{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:20px}
.sc{background:var(--cd);border-radius:14px;padding:16px 20px;box-shadow:var(--shd);display:flex;align-items:center;gap:14px;transition:var(--tr)}
.sc .si{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.sc .sv{font-size:22px;font-weight:700;line-height:1.2;color:var(--tx);letter-spacing:-.3px}
.sc .sl{font-size:12px;color:var(--ts)}
.sc .sc_{font-size:11px;margin-top:2px}

/* ===== Buttons ===== */
.btn{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:8px;border:1px solid var(--bd);background:var(--cd);color:var(--tx);cursor:pointer;font-size:12px;font-weight:500;transition:var(--tr);white-space:nowrap}
.btn:hover{background:var(--sh)}
.btn-p{background:var(--p);color:#fff;border-color:var(--p)}
.btn-p:hover{background:#1D4ED8}
.btn-s{background:var(--su);color:#fff;border-color:var(--su)}
.btn-s:hover{opacity:.85}
.btn-d{background:var(--da);color:#fff;border-color:var(--da)}
.btn-d:hover{opacity:.85}
.btn-w{background:var(--wa);color:#fff;border-color:var(--wa)}
.btn-w:hover{opacity:.85}
.btn-gh{background:transparent;border-color:transparent;color:var(--ts)}
.btn-gh:hover{background:var(--sh);color:var(--tx)}
.btn-sm{padding:5px 10px;font-size:11px;border-radius:6px}
.btn-xs{padding:3px 8px;font-size:10px;border-radius:5px}
.btn:disabled{opacity:.6;cursor:not-allowed}

/* ===== Report System Styles ===== */
.rb-tabs{display:flex;gap:2px;border-bottom:2px solid var(--bd);padding-bottom:0;flex-wrap:wrap;}
.rb-tab{padding:8px 16px;font-size:12px;font-weight:500;border:none;background:transparent;color:var(--ts);cursor:pointer;border-radius:8px 8px 0 0;transition:var(--tr);margin-bottom:-2px;border-bottom:2px solid transparent;}
.rb-tab:hover{background:var(--sh);color:var(--tx);}
.rb-tab.act{color:var(--p);font-weight:600;border-bottom-color:var(--p);background:var(--pb);}
.rb-panel{transition:var(--tr-s);}
.rb-panel:hover{box-shadow:var(--shd-m);}
.rb-ph button{transition:var(--tr);}
.rb-ph button:hover{transform:scale(1.1);}
.rb-loading{text-align:center;color:var(--ts);}

/* Xiaomi风格日报卡片 */
#rb-card{font-family:-apple-system,'PingFang SC','MiSans','Helvetica Neue',sans-serif;}
#rb-card input[type="number"]:focus{border-color:#FF6900!important;box-shadow:0 0 0 3px rgba(255,105,0,.12);background:var(--cd)!important;}
#rb-card input[type="number"]:hover{border-color:#FF6900!important;background:var(--cd)!important;}
#rb-card input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;}
#rb-card textarea:focus{border-color:#FF6900!important;box-shadow:0 0 0 3px rgba(255,105,0,.12);}
#rb-card table tr:hover{background:rgba(255,105,0,.06)!important;}
#rb-card button.btn-p:hover{opacity:.9;transform:scale(1.01);}
#rb-card button.btn-p:active{transform:scale(.98);}

/* AI分析区域 — 2026-07-20 重构：层次清晰、排版精美、可读实用 */
#rb-ai-content{font-size:14px;line-height:1.8;color:var(--tx)}
.rb-ai-module{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--bd)}
.rb-ai-module:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}
.rb-ai-module-hd{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.rb-ai-module-hd::before{content:'';width:4px;height:18px;background:#FF6900;border-radius:2px;display:inline-block}
.rb-ai-module-hd.month::before{background:var(--p)}
.rb-ai-module-title{font-size:16px;font-weight:700;color:var(--tx);letter-spacing:-.3px}
.rb-ai-module-date{font-size:11px;color:var(--ts);margin-left:auto;font-weight:400}

.rb-ai-card{margin-bottom:12px;padding:14px;border-radius:14px;border-left:4px solid;background:var(--cd);box-shadow:var(--shd);transition:var(--tr)}
.rb-ai-card:last-child{margin-bottom:0}
.rb-ai-card:hover{box-shadow:var(--shd-m);transform:translateY(-1px)}
.rb-ai-card.highlights{border-color:var(--su);background:linear-gradient(135deg,var(--cd),rgba(52,199,89,.06))}
.rb-ai-card.problems{border-color:var(--wa);background:linear-gradient(135deg,var(--cd),rgba(255,149,0,.06))}
.rb-ai-card.suggestions{border-color:#5856D6;background:linear-gradient(135deg,var(--cd),rgba(88,86,214,.06))}
.rb-ai-card.trends{border-color:var(--p);background:linear-gradient(135deg,var(--cd),rgba(59,130,246,.06))}
.rb-ai-card.gaps{border-color:var(--da);background:linear-gradient(135deg,var(--cd),rgba(255,59,48,.06))}
.rb-ai-card.actions{border-color:#FF6900;background:linear-gradient(135deg,var(--cd),rgba(255,105,0,.06))}

.rb-ai-card-hd{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.rb-ai-card-icon{font-size:16px;line-height:1}
.rb-ai-card-title{font-size:13px;font-weight:700;letter-spacing:-.2px}

.rb-ai-body{display:flex;flex-direction:column;gap:8px}
.rb-ai-p{margin:0;font-size:13px;line-height:1.7;color:var(--tx)}
.rb-ai-item{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:10px;background:var(--sh);border:1px solid var(--bd);margin-bottom:6px;transition:var(--tr)}
.rb-ai-item:last-child{margin-bottom:0}
.rb-ai-item:hover{background:var(--pb)}
.rb-ai-num{flex-shrink:0;width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#FF6900,#FF9F0A);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:2px;box-shadow:0 2px 6px rgba(255,105,0,.22)}
.rb-ai-bullet{flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--tm);margin-top:9px}
.rb-ai-item-txt{flex:1;font-size:13px;line-height:1.7;color:var(--tx)}
.rb-ai-highlight{color:var(--p);font-weight:700;white-space:nowrap}

.rb-ai-sub{margin-top:8px;padding:10px 12px;border-radius:10px;background:var(--bg);border:1px dashed var(--bd)}
.rb-ai-sub-hd{font-size:12px;font-weight:700;color:var(--tx);margin-bottom:6px;display:flex;align-items:center;gap:6px}
.rb-ai-sub .rb-ai-item{margin-bottom:6px}
.rb-ai-sub .rb-ai-item:last-child{margin-bottom:0}

/* 深色主题适配 */
[data-theme="dark"] .rb-ai-card{background:rgba(13,26,61,.55)!important;-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);border-color:rgba(120,170,255,.20)!important}
[data-theme="dark"] .rb-ai-sub{background:rgba(13,26,61,.35)}
[data-theme="dark"] .rb-ai-item{background:rgba(13,26,61,.45);border-color:rgba(99,179,255,.12)}
[data-theme="dark"] .rb-ai-item:hover{background:rgba(59,130,246,.18)}

/* ===== Tabs — 2026-07-23 强化层次：蓝调渐变玻璃 + 厚重激活态 ===== */
.tabs{display:flex;gap:0;background:linear-gradient(180deg,rgba(59,130,246,.08) 0%,rgba(59,130,246,.03) 100%);padding:5px;border-radius:14px;margin-bottom:18px;border:1px solid rgba(59,130,246,.14);box-shadow:0 2px 14px rgba(59,130,246,.06),inset 0 1px 0 rgba(255,255,255,.7)}
[data-theme="dark"] .tabs{background:linear-gradient(180deg,rgba(23,45,100,.78) 0%,rgba(13,28,68,.88) 100%);border:1px solid rgba(99,179,255,.28);box-shadow:0 4px 20px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.12),0 0 18px rgba(59,130,246,.12)}
.tab{padding:10px 18px;cursor:pointer;color:rgba(60,60,67,.75);font-size:14.5px;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);border:none;background:transparent;border-radius:10px;flex:1;text-align:center;letter-spacing:.3px;position:relative;white-space:nowrap}
[data-theme="dark"] .tab{color:rgba(235,235,245,.7)}
.tab:hover{color:var(--p);background:rgba(59,130,246,.08)}
[data-theme="dark"] .tab:hover{color:#5AC8FA;background:rgba(59,130,246,.15)}
.tab.act{background:linear-gradient(135deg,var(--p) 0%,var(--pl) 100%);color:#fff!important;font-weight:700;box-shadow:0 4px 16px rgba(59,130,246,.35),inset 0 1px 0 rgba(255,255,255,.25);text-shadow:0 1px 1px rgba(0,0,0,.1);transform:translateY(-1px)}
.tab.act:hover{background:linear-gradient(135deg,#1D4ED8 0%,var(--p) 100%)}
.fx-tabs{display:flex;gap:6px;background:var(--bg);border:1px solid #E2E8F0;padding:6px;border-radius:12px;margin-bottom:16px;box-shadow:0 2px 8px rgba(0,0,0,.05)}
[data-theme="dark"] .fx-tabs{background:#0F172A;border:1px solid #1E293B;box-shadow:0 2px 8px rgba(0,0,0,.2)}
/* ===== 多维分析导航 ===== */
.fx-section-label{font-size:12px;font-weight:600;color:#64748B;margin-bottom:4px;margin-top:2px;padding-left:2px;letter-spacing:.3px}
[data-theme="dark"] .fx-section-label{color:#94A3B8}
.fx-section-label:first-child{margin-top:0}
.fx-sub-tabs{display:flex;gap:4px;background:rgba(60,60,67,.04);padding:5px;border-radius:10px;margin-bottom:10px}
[data-theme="dark"] .fx-sub-tabs{background:rgba(255,255,255,.06)}
.fx-sub-tab{flex:1;padding:9px 0;border:none;background:transparent;border-radius:8px;font-size:13px;font-weight:500;color:#64748B;cursor:pointer;transition:all .2s ease;letter-spacing:.5px;position:relative;overflow:hidden}
[data-theme="dark"] .fx-sub-tab{color:#94A3B8}
.fx-sub-tab:hover{color:#334155;background:rgba(0,0,0,.03)}
[data-theme="dark"] .fx-sub-tab:hover{color:#E2E8F0;background:rgba(255,255,255,.04)}
.fx-sub-tab.act{background:linear-gradient(135deg,#0D9488,#0F766E);color:#fff!important;font-weight:600;box-shadow:0 2px 8px rgba(13,148,136,.25)}
.fx-sub-tab.act:hover{background:linear-gradient(135deg,#0F766E,#0D9488);box-shadow:0 3px 12px rgba(13,148,136,.35)}
[data-theme="dark"] .fx-sub-tab.act{background:linear-gradient(135deg,#0D9488,#14B8A6);box-shadow:0 2px 10px rgba(13,148,136,.3)}

/* ===== 导航与内容之间的分割 ===== */
.fx-nav-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(13,148,136,.15),transparent);margin:4px 0 12px 0}

/* ===== 对话分析面板 ===== */
.fd-panel{background:var(--cd);border-radius:14px;padding:14px;border:1px solid var(--bd);margin-bottom:10px}
/* ===== 总多维分析面板（fxSwitchTab使用此class切换显示） ===== */
.fx-panel{background:var(--cd);border-radius:14px;padding:14px;border:1px solid var(--bd);margin-bottom:10px}

/* ===== 数据管理统计卡片 ===== */
.fx-stat-card{background:var(--cd);border-radius:12px;padding:12px;border:1px solid var(--bd);text-align:center;transition:all .2s}
.fx-stat-card:hover{box-shadow:0 2px 8px rgba(0,0,0,.06);transform:translateY(-1px)}
.fx-stat-num{font-size:24px;font-weight:700}
.fx-stat-label{font-size:12px;color:var(--ts);margin-top:2px}

/* ===== fx-tabs 顶级导航增强 ===== */
.fx-tab{flex:1;padding:10px 4px;border:none;background:transparent;border-radius:9px;font-size:13px;font-weight:500;color:#64748B;cursor:pointer;transition:all .22s cubic-bezier(.4,0,.2,1);letter-spacing:.3px}
.fx-tab:hover{color:#0F766E;background:#F1F5F9}
[data-theme="dark"] .fx-tab{color:#94A3B8}
[data-theme="dark"] .fx-tab:hover{color:#5EEAD4;background:#1E293B}
.fx-tab.act{background:linear-gradient(135deg,#0D9488,#0F766E) !important;color:var(--bg) !important;font-weight:700;font-size:13.5px;box-shadow:0 4px 14px rgba(13,148,136,.22),0 2px 6px rgba(0,0,0,.08);transform:translateY(-1px)}
[data-theme="dark"] .fx-tab.act{background:linear-gradient(135deg,#14B8A6,#0D9488) !important;color:var(--bg) !important;box-shadow:0 4px 16px rgba(13,148,136,.35),0 2px 6px rgba(0,0,0,.4)}

/* ===== Form ===== */
.fg{margin-bottom:14px}
.fg label{display:block;margin-bottom:5px;font-weight:500;font-size:13px;color:var(--tx)}
.fg .rq{color:var(--da);margin-left:2px}
.fg input,.fg select,.fg textarea{width:100%;padding:10px 12px;border:1.5px solid var(--bd);border-radius:10px;font-size:13px;transition:var(--tr);background:var(--cd);color:var(--tx)}
.fg input:focus,.fg select:focus,.fg textarea:focus{outline:none;border-color:var(--p)}
.fg textarea{resize:vertical;min-height:60px}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fr3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}

/* ===== Table ===== */
.tw{overflow-x:auto}
table{width:100%;border-collapse:collapse}
th,td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--bd);font-size:13px}
th{font-weight:600;color:var(--ts);font-size:12px;letter-spacing:.3px;background:transparent}
tr:hover td{background:rgba(60,60,67,.03)}

/* ===== Badges ===== */
.stg{display:inline-block;padding:2px 10px;border-radius:12px;font-size:11px;font-weight:500}
.stg.pd{background:rgba(255,59,48,.12);color:var(--da)}
.stg.cp{background:rgba(52,199,89,.12);color:var(--su)}
.stg.act{background:rgba(59,130,246,.12);color:var(--p)}
.stg.dis{background:rgba(60,60,67,.06);color:rgba(60,60,67,.5)}
.stg.ps{background:rgba(52,199,89,.12);color:var(--su)}
.stg.fl{background:rgba(255,59,48,.12);color:var(--da)}
.role-badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:500}
.role-admin{background:rgba(255,59,48,.12);color:var(--da)}
.role-leader{background:rgba(59,130,246,.12);color:var(--p)}
.role-consultant{background:rgba(52,199,89,.12);color:var(--su)}

/* ===== Modal ===== */
.mo-ol{position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:200;display:none;align-items:center;justify-content:center;padding:20px}
.mo-ol.show{display:flex}
.mo{background:var(--cd);border-radius:18px;width:100%;max-width:540px;max-height:80vh;overflow-y:auto;box-shadow:0 4px 24px rgba(0,0,0,.1)}
.mo-lg{max-width:80vw;width:960px}
.mo-hd{padding:18px 20px 14px;border-bottom:1px solid var(--bd);display:flex;align-items:center;justify-content:space-between}
.mo-hd h3{font-size:17px;font-weight:600;letter-spacing:-.2px}
.mo-hd .cl{width:30px;height:30px;border:none;background:none;cursor:pointer;font-size:18px;color:var(--tm);border-radius:7px;display:flex;align-items:center;justify-content:center;transition:var(--tr)}
.mo-hd .cl:hover{background:var(--sh);color:var(--tx)}
.mo-bd{padding:20px}
.mo-ft{padding:14px 20px;border-top:1px solid var(--bd);display:flex;justify-content:flex-end;gap:8px}

/* ===== Toast ===== */
.ts{position:fixed;top:16px;right:16px;z-index:300;display:flex;flex-direction:column;gap:6px}
.ts-it{padding:12px 18px;border-radius:12px;color:#fff;font-size:13px;box-shadow:0 4px 12px rgba(0,0,0,.15);animation:si .3s ease;max-width:340px;display:flex;align-items:center;gap:8px}
.ts-it.s{background:var(--su)}
.ts-it.e{background:var(--da)}
.ts-it.i{background:var(--p)}
.ts-it.w{background:var(--wa)}
@keyframes si{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}

/* ===== AI Response ===== */
.ds-msg{line-height:1.8;font-size:15px;color:var(--tx)}
.ds-msg strong{color:var(--tx);font-weight:600}
.ds-msg em{color:var(--ts)}
.ds-msg .hd{font-size:15px;font-weight:600;color:var(--su);margin:14px 0 6px;padding-bottom:4px;border-bottom:1.5px solid rgba(52,199,89,.25)}
.ds-msg .hd-lg{font-size:16px;font-weight:600;color:var(--p);margin:16px 0 8px;padding-bottom:5px;border-bottom:1.5px solid rgba(59,130,246,.2)}
.ds-msg a{color:var(--p);text-decoration:none}
.ds-msg a:hover{text-decoration:underline}
.hc:hover{border-color:var(--p)!important;transform:translateY(-2px)}
.sb-nv .ni .bdg{margin-left:auto;background:var(--da);color:#fff;font-size:10px;padding:1px 7px;border-radius:10px;font-weight:600}

/* 问答页面格式化样式 */
.rb-h1{font-size:18px;font-weight:700;color:var(--p);margin:18px 0 10px;padding-bottom:6px;border-bottom:2px solid var(--p)}
.rb-h2{font-size:16px;font-weight:600;color:#0D9488;margin:16px 0 8px;padding-bottom:4px;border-bottom:1.5px solid #5EEAD4}
.rb-h3{font-size:15px;font-weight:600;color:var(--p);margin:14px 0 6px;padding-bottom:3px;border-bottom:1px solid #93C5FD}
.rb-h4{font-size:14px;font-weight:600;color:var(--in);margin:12px 0 5px}
.rb-num{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:50%;background:var(--p);color:#fff;font-size:11px;font-weight:700;margin-right:6px}
.rb-bullet{color:var(--p);margin-right:6px}
.rb-section{font-size:15px;font-weight:700;color:#0D9488;margin:12px 0 6px;padding:6px 0 4px;border-bottom:1.5px solid #5EEAD4}
/* 框架模式分节语义配色 */
.rb-section-blue{color:#1D4ED8;border-bottom-color:#93C5FD}
.rb-section-purple{color:#7E22CE;border-bottom-color:#D8B4FE}
.rb-section-green{color:#15803D;border-bottom-color:#86EFAC}
.rb-section-orange{color:#C2410C;border-bottom-color:#FDBA74}
.rb-section-cyan{color:#0E7490;border-bottom-color:#67E8F9}
.rb-section-red{color:#B91C1C;border-bottom-color:#FCA5A5}
.rb-section-gray{color:#475569;border-bottom-color:#CBD5E1}
.rb-bullet + *{margin-left:4px}

/* ===== Backbone ===== */
.bb-wrap{display:flex;gap:12px;height:calc(100vh - 120px);overflow:hidden}
.bb-col{border-radius:14px;background:var(--cd);box-shadow:var(--shd);display:flex;flex-direction:column;overflow:hidden}
.bb-chat{flex:2;min-width:280px}
.bb-script{flex:2;min-width:280px}
.bb-profile{flex:1.2;min-width:220px}
.bb-col-hd{padding:12px 14px;border-bottom:1px solid var(--bd);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.bb-col-hd h4{font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px;letter-spacing:-.1px}
.bb-msgs{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:8px}
.bb-msg{max-width:92%;padding:8px 12px;border-radius:14px;font-size:13px;line-height:1.5;word-break:break-word}
.bb-msg.ai{align-self:flex-start;background:#F2F2F7;color:var(--tx);border-bottom-left-radius:4px}
[data-theme="dark"] .bb-msg.ai{background:#2C2C2E}
.bb-msg.user{align-self:flex-end;background:var(--p);color:#fff;border-bottom-right-radius:4px}
.bb-msg .tm{font-size:10px;color:var(--tm);margin-top:4px;display:block}
.bb-msg.user .tm{color:rgba(255,255,255,.5)}
.bb-inp{padding:8px 10px;border-top:1px solid var(--bd);display:flex;gap:8px;align-items:flex-end;flex-shrink:0}
.bb-inp textarea{flex:1;padding:8px 12px;border:1.5px solid var(--bd);border-radius:10px;resize:none;min-height:36px;max-height:80px;font-size:13px;background:var(--cd);color:var(--tx)}
.bb-inp textarea:focus{outline:none;border-color:var(--p)}
.bb-inp .ia{display:flex;gap:4px;flex-shrink:0}
.bb-inp .ia .btn{font-size:16px;width:34px;height:34px;padding:0;display:flex;align-items:center;justify-content:center}

/* ===== Script Panel ===== */
.bb-scr{flex:1;overflow-y:auto;padding:8px}
.sc-card{background:var(--bg);border-radius:10px;padding:12px;margin-bottom:8px;border-left:3px solid var(--p)}
.sc-card .sc-tag{font-size:10px;color:var(--p);font-weight:600;margin-bottom:4px}
.sc-card .sc-txt{font-size:13px;line-height:1.6}
.sc-card .sc-acts{display:flex;gap:4px;margin-top:8px}
.sc-card .sc-acts .btn{font-size:11px;padding:3px 8px}
.sc-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;color:var(--tm);font-size:13px;padding:20px;text-align:center}

/* ===== Profile Panel ===== */
.bb-pf{flex:1;overflow-y:auto;padding:10px}
.pf-row{margin-bottom:8px}
.pf-row label{font-size:11px;color:var(--ts);display:block;margin-bottom:2px;font-weight:500}
.pf-row .pf-val{font-size:13px;color:var(--tx);padding:6px 10px;background:var(--bg);border-radius:8px;min-height:28px;word-break:break-word}
.pf-row .pf-val.pf-ed{background:var(--cd);border:1px solid var(--bd);cursor:pointer;transition:var(--tr)}
.pf-row .pf-val.pf-ed:hover{border-color:var(--p)}
.pf-st{display:flex;gap:4px;flex-wrap:wrap;margin:8px 0}
.pf-st .stg{cursor:pointer}

/* ===== 对话助手轻量版（班次+输入+话术+画像）===== */
.bb-lite-wrap{display:flex;flex-direction:column;height:calc(100vh - 160px);gap:10px}
.bb-lite-shift{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--cd);border-radius:var(--r);box-shadow:var(--shd);font-size:12px;border:1px solid var(--bd)}
.bb-lite-main{display:flex;gap:12px;flex:1;overflow:hidden}
.bb-lite-col{display:flex;flex-direction:column;background:var(--cd);border-radius:var(--r);box-shadow:var(--shd);border:1px solid var(--bd);overflow:hidden}
.bb-lite-col-hd{padding:12px 14px;border-bottom:1px solid var(--bd);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:var(--cd)}
.bb-lite-col-hd h4{font-size:13px;font-weight:700;display:flex;align-items:center;gap:6px;color:var(--tx);letter-spacing:-.2px}
.bb-lite-col-bd{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column}
.bb-lite-inp{flex:1;resize:none;border:1.5px solid var(--bd);border-radius:12px;padding:12px;font-size:14px;line-height:1.6;background:var(--bg);color:var(--tx);min-height:80px;transition:border-color .2s,box-shadow .2s}
.bb-lite-inp:focus{outline:none;border-color:var(--p);box-shadow:0 0 0 4px rgba(59,130,246,.1);background:var(--cd)}
.bb-lite-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap;justify-content:flex-end}
.mg-grid{display:grid;grid-template-columns:320px 1fr 1fr;gap:12px;align-items:start}
.bb-lite-actions .btn{font-size:13px;padding:8px 16px;border-radius:10px}

/* ===== 创作中心：配图推荐（简化清爽版）===== */
.mg-suggest-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;flex-wrap:wrap;gap:8px}
.mg-suggest-tools{display:flex;gap:6px;flex-shrink:0}
.mg-suggest-tools .btn{font-size:11px;padding:5px 10px;border-radius:6px;background:var(--bg);border-color:var(--bd);color:var(--ts)}
.mg-suggest-tools .btn:hover{background:var(--pb);border-color:var(--p);color:var(--p)}
.mg-suggest-card{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--cd);border:1px solid var(--bd);border-radius:10px;margin-bottom:8px;transition:var(--tr);cursor:pointer}
.mg-suggest-card:hover{border-color:var(--p);background:var(--pb);box-shadow:var(--shd)}
.mg-suggest-card:active{transform:scale(.995)}
.mg-suggest-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;background:var(--bg);flex-shrink:0}
.mg-suggest-body{flex:1;min-width:0}
.mg-suggest-title{font-size:13px;font-weight:600;color:var(--tx);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mg-suggest-desc{font-size:11px;color:var(--ts);line-height:1.4;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mg-suggest-gen{font-size:11px;padding:4px 12px;border-radius:6px;flex-shrink:0}
.mg-suggest-gen:hover{opacity:.9}
[data-theme="dark"] .mg-suggest-icon{background:rgba(255,255,255,.08)}
[data-theme="dark"] .mg-suggest-tools .btn{background:rgba(255,255,255,.06)}
[data-theme="dark"] .mg-suggest-tools .btn:hover{background:rgba(59,130,246,.18)}

/* 话术卡片 */
.bb-script-list{display:flex;flex-direction:column;gap:10px}
.bb-script-card{background:var(--bg);border:1px solid var(--bd);border-radius:14px;overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.bb-script-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.08);border-color:var(--p)}
.bb-script-card.top{border-left:4px solid var(--p)}
.bb-script-card-hd{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid var(--bd);background:rgba(59,130,246,.06)}
.bb-script-card-hd .tag{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:var(--p)}
.bb-script-card-hd .tag .dot{width:7px;height:7px;border-radius:50%;background:var(--p)}
.bb-script-card-bd{padding:12px;font-size:13px;line-height:1.7;color:var(--tx);white-space:pre-wrap}
.bb-script-card-act{display:flex;gap:8px;padding:8px 12px;background:var(--cd);border-top:1px solid var(--bd)}
.bb-script-card-act .btn{font-size:12px;padding:5px 12px;border-radius:8px}
.bb-script-card-act .fav{font-size:14px;padding:4px 8px;border:none;background:transparent;cursor:pointer;opacity:.45;transition:opacity .2s,transform .2s}
.bb-script-card-act .fav:hover{opacity:.85;transform:scale(1.1)}
.bb-script-card-act .fav.on{opacity:1;color:var(--wa)}

/* 画像面板 */
.bb-profile-sec{margin-bottom:14px}
.bb-profile-sec-title{display:flex;align-items:center;gap:6px;margin-bottom:10px;font-size:13px;font-weight:700;color:var(--tx)}
.bb-profile-sec-title i{width:3px;height:14px;border-radius:2px;display:inline-block}
.bb-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bb-profile-dim{background:var(--bg);border:1px solid var(--bd);border-radius:10px;padding:8px 10px;min-height:54px;display:flex;flex-direction:column;justify-content:center;transition:border-color .2s}
.bb-profile-dim:hover{border-color:var(--p)}
.bb-profile-dim .lab{font-size:10px;color:var(--ts);font-weight:500;margin-bottom:3px;text-transform:uppercase;letter-spacing:.3px}
.bb-profile-dim .val{font-size:12px;font-weight:600;color:var(--tx);line-height:1.4;word-break:break-word}
.bb-profile-dim .val.empty{color:var(--tm);font-weight:400}
.bb-profile-disease{background:#EEF2FF;border:1px solid rgba(99,102,241,.2);border-radius:12px;padding:12px}
.bb-profile-disease .hd{font-size:12px;font-weight:700;color:var(--ac-3);margin-bottom:8px;display:flex;align-items:center;gap:6px}
.bb-profile-disease .tags{display:flex;flex-wrap:wrap;gap:6px}
.bb-profile-disease .tag{font-size:11px;background:var(--cd);border:1px solid rgba(99,102,241,.25);color:var(--p);border-radius:20px;padding:3px 10px;font-weight:500}
.bb-profile-psy{background:rgba(59,130,246,.08);border:1px solid rgba(59,130,246,.15);border-radius:12px;padding:12px}
.bb-profile-psy .hd{font-size:12px;font-weight:700;color:var(--p);margin-bottom:8px;display:flex;align-items:center;gap:6px}
.bb-profile-psy .item{font-size:12px;line-height:1.6;color:var(--tx);padding:6px 10px;background:var(--cd);border-radius:8px;margin-bottom:6px}
.bb-profile-psy .item:last-child{margin-bottom:0}
.bb-profile-action{background:linear-gradient(135deg,var(--wa),#FF8C42);border-radius:12px;padding:12px;color:#fff}
.bb-profile-action .hd{font-size:12px;font-weight:700;margin-bottom:4px}
.bb-profile-action .bd{font-size:12px;line-height:1.5;opacity:.95}

/* 标签页 */
.bb-ptabs{display:flex;gap:6px;background:var(--bg);border-radius:12px;padding:5px;border:1px solid var(--bd)}
.bb-ptab{flex:1;font-size:13px;padding:8px 5px;border-radius:10px;border:none;cursor:pointer;background:transparent;color:var(--ts);font-weight:600;transition:all .2s}
.bb-ptab:hover{background:rgba(59,130,246,.08);color:var(--p)}
.bb-ptab.act{background:var(--p);color:#fff;font-weight:700;box-shadow:0 2px 8px rgba(59,130,246,.25)}
.bb-ptab.green{color:#2E7D32}
.bb-ptab.green.act{background:#2E7D32;color:#fff;box-shadow:0 2px 8px rgba(46,125,50,.25)}
.bb-ptab.orange{color:var(--wa)}
.bb-ptab.orange.act{background:var(--wa);color:#fff;box-shadow:0 2px 8px rgba(255,105,0,.25)}

/* 对话历史 */
.bb-lite-history{position:relative;padding-left:18px;display:flex;flex-direction:column;gap:10px}
.bb-lite-history::before{content:'';position:absolute;left:6px;top:6px;bottom:6px;width:2px;background:var(--bd);border-radius:1px}
.bb-lite-hitem{position:relative;display:flex;flex-direction:column;gap:2px}
.bb-lite-hitem::before{content:'';position:absolute;left:-15px;top:8px;width:9px;height:9px;border-radius:50%;background:var(--ts);border:2px solid var(--cd);box-shadow:0 0 0 1px var(--bd)}
.bb-lite-hitem.ai::before{background:var(--p)}
.bb-lite-hitem .meta{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--tm);margin-bottom:2px;padding-left:2px}
.bb-lite-hitem .meta .who{font-weight:600}
.bb-lite-hitem .bubble{padding:8px 10px;border-radius:10px;font-size:12px;line-height:1.5;background:var(--bg);color:var(--tx);border:1px solid var(--bd)}
.bb-lite-hitem.ai .bubble{background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.15);color:var(--tx)}
.bb-lite-hitem.ai.clickable{cursor:pointer}
.bb-lite-hitem.ai.clickable .bubble:hover{border-color:var(--p)}
.bb-lite-hitem .hint{font-size:10px;color:var(--p);margin-top:2px}

/* ===== 对话助手：话术卡片（边界清晰）===== */
.bb-script-list{display:flex;flex-direction:column;gap:10px}
.bb-scard{background:var(--cd);border:1px solid var(--bd);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.05);transition:transform .15s,box-shadow .15s,border-color .15s}
.bb-scard:hover{border-color:var(--p);box-shadow:0 5px 16px rgba(0,0,0,.10)}
.bb-scard.primary{background:linear-gradient(135deg,var(--p),var(--in));border:none;box-shadow:0 7px 20px rgba(59,130,246,.30)}
.bb-scard.primary .bb-scard-tag{background:rgba(255,255,255,.22);color:#fff}
.bb-scard.primary .bb-scard-text{color:#fff}
.bb-scard.primary .bb-scard-btn{background:rgba(255,255,255,.92);border-color:rgba(255,255,255,.6);color:var(--p)}
.bb-scard.primary .bb-scard-fav{color:#fff;opacity:.85}
.bb-scard-pri-tip{font-size:11px;color:rgba(255,255,255,.95);padding:9px 14px 0;text-align:center;font-weight:600;letter-spacing:.3px}
.bb-scard-hd{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--bd);background:var(--sh)}
.bb-scard.primary .bb-scard-hd{background:rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.20)}
.bb-scard-tag{font-size:11px;font-weight:700;padding:2px 9px;border-radius:10px;white-space:nowrap}
.bb-scard-body{display:flex;align-items:center;gap:8px;padding:10px 12px}
.bb-scard.primary .bb-scard-body{padding:12px 14px}
.bb-scard-text{font-size:13px;line-height:1.65;color:var(--tx);flex:1;word-break:break-word}
.bb-scard.primary .bb-scard-text{font-size:14px;line-height:1.7}
.bb-scard-act{display:flex;gap:5px;flex-shrink:0;align-items:center}
.bb-scard-btn{border:1px solid var(--bd);background:var(--bg);color:var(--ts);font-size:11px;padding:3px 9px;border-radius:7px;cursor:pointer;white-space:nowrap;transition:all .15s}
.bb-scard-btn:hover{color:var(--p);border-color:var(--p)}
.bb-scard-fav{background:transparent;border:none;cursor:pointer;font-size:15px;opacity:.45;padding:2px 5px;transition:opacity .15s}
.bb-scard-fav:hover{opacity:1}
.bb-scard.plain{box-shadow:none;background:var(--bg)}
.bb-scard.plain:hover{border-color:var(--bd);box-shadow:none}

/* ===== 对话助手：患者画像（卡片化·界限分明）===== */
.bb-prof-empty{text-align:center;color:var(--tm);font-size:12px;padding:18px 10px;line-height:1.7}
.bb-prof-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.bb-prof-cell{background:var(--sh);border:1px solid var(--bd);border-radius:8px;padding:6px 9px}
.bb-prof-cell .k{font-size:10px;color:var(--tm);font-weight:600}
.bb-prof-cell .v{font-size:12px;font-weight:600;color:var(--tx);margin-top:2px;line-height:1.4;word-break:break-word}
.bb-prof-sec{margin-top:10px;border:1px solid var(--bd);border-radius:10px;padding:9px 11px;background:var(--cd)}
.bb-prof-sec-hd{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--tx);margin-bottom:7px}
.bb-prof-sec-hd::before{content:'';width:3px;height:13px;border-radius:2px;background:var(--p)}
.bb-prof-sec.amber .bb-prof-sec-hd::before{background:var(--wa)}
.bb-prof-sec.purple .bb-prof-sec-hd::before{background:var(--ac-3)}
.bb-prof-sec.blue .bb-prof-sec-hd::before{background:var(--p)}
.bb-prof-sec.grad{background:linear-gradient(135deg,#FF6900,#FF8C42);border:none}
.bb-prof-sec.grad .bb-prof-sec-hd{color:#fff}
.bb-prof-chips{display:flex;flex-wrap:wrap;gap:5px}
.bb-prof-chip{font-size:11px;background:var(--pb);color:var(--p);border:1px solid rgba(59,130,246,.22);border-radius:10px;padding:3px 9px}
.bb-prof-sec.grad .bb-prof-chip{background:rgba(255,255,255,.22);color:#fff;border-color:rgba(255,255,255,.4)}
.bb-prof-line{font-size:12px;line-height:1.65;color:var(--tx)}

/* ===== Session List ===== */
.sl{display:flex;flex-direction:column;gap:6px}
.sl-it{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--cd);border-radius:12px;border:1px solid var(--bd);cursor:pointer;transition:var(--tr)}
.sl-it:hover{border-color:var(--p)}
.sl-it .sii{width:36px;height:36px;border-radius:50%;background:var(--pb);color:var(--p);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.sl-it .sii2{flex:1;min-width:0}
.sl-it .sit{font-weight:600;font-size:14px;letter-spacing:-.1px}
.sl-it .sim{font-size:11px;color:var(--ts);margin-top:2px}

/* ===== Empty State ===== */
.em{text-align:center;padding:48px 24px;color:var(--tm);background:linear-gradient(180deg,rgba(59,130,246,.02),transparent);border-radius:14px;border:1px dashed rgba(59,130,246,.15)}
.em h4{font-size:15px;font-weight:600;color:var(--ts);margin-top:10px;letter-spacing:-.2px}
.em .eic{font-size:48px;margin-bottom:12px}
.em h4{font-size:17px;margin-bottom:6px;color:var(--tx);font-weight:600;letter-spacing:-.2px}
.em p{font-size:13px}

/* ===== SVG Icon System ===== */
.i-stroke{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ===== Utility ===== */
.fx{display:flex}.fx-c{display:flex;flex-direction:column}.fx-w{display:flex;flex-wrap:wrap}
.fx-ac{display:flex;align-items:center}.fx-ac-c{display:flex;align-items:center;justify-content:center}
.fx-sb{display:flex;justify-content:space-between;align-items:center}
.fx-1{flex:1}.fx-s0{flex-shrink:0}
.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-10{gap:10px}.gap-12{gap:12px}.gap-16{gap:16px}
.fw-6{font-weight:600}.fs-11{font-size:11px}.fs-12{font-size:12px}.fs-13{font-size:13px}.fs-14{font-size:14px}
.ts-c{color:var(--ts)}.tm-c{color:var(--tm)}.tx-c{color:var(--tx)}.da-c{color:var(--da)}.su-c{color:var(--su)}
.mb-4{margin-bottom:4px}.mb-6{margin-bottom:6px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}
.mt-4{margin-top:4px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}
.p-4{padding:4px}.p-6{padding:6px}.p-8{padding:8px}.p-10{padding:10px}.p-12{padding:12px}.p-16{padding:16px}
.px-10{padding:0 10px}.px-14{padding:0 14px}.px-16{padding:0 16px}.px-18{padding:0 18px}
.py-6{padding:6px 0}.py-10{padding:10px 0}
.w-full{width:100%}.mw-680{max-width:680px;margin:0 auto}.mw-900{max-width:900px;margin:0 auto}.mw-1100{max-width:1100px;margin:0 auto}
.d-n{display:none}.ta-l{text-align:left}.ta-c{text-align:center}.ws-pw{white-space:pre-wrap}
.cur-p{cursor:pointer}.ov-h{overflow:hidden}

/* ===== PWA ===== */
.pwa-mode .sb{padding-top:env(safe-area-inset-top)}
.pwa-mode .mc{padding-bottom:env(safe-area-inset-bottom)}

/* ===== Copy Tooltip ===== */
.cp-tip{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--tx);color:#fff;padding:8px 16px;border-radius:8px;font-size:13px;z-index:999;animation:fadeInOut 1.5s ease}
@keyframes slideIn{from{opacity:0;transform:translateX(100px)}to{opacity:1;transform:translateX(0)}}@keyframes slideUp{from{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}
@keyframes fadeInOut{0%{opacity:0;transform:translateX(-50%) translateY(10px)}20%{opacity:1;transform:translateX(-50%) translateY(0)}80%{opacity:1}100%{opacity:0;transform:translateX(-50%) translateY(-10px)}}

/* ===== Scrollbar ===== */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(60,60,67,.2);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:rgba(60,60,67,.35)}

/* ===== 手机端底部快捷导航栏 ===== */
.mbn{display:none}
@media(max-width:900px){
  .bb-wrap{flex-direction:column;height:auto}
  .bb-col{min-width:0;max-height:50vh}
  .sb,.topbar{transform:translateX(-100%);width:82%;max-width:340px}
  .sb.open,.topbar.open{transform:translateX(0)}
  .sb-ol.show{display:block}
  .mc{margin-left:0}
  .tb .hm{display:flex}
  .pc{padding:12px;padding-bottom:calc(56px + env(safe-area-inset-bottom) + 20px)}
  .app-footer{padding-bottom:calc(56px + env(safe-area-inset-bottom) + 8px)}
  .fr,.fr3{grid-template-columns:1fr}
  .sg{grid-template-columns:1fr 1fr}
  .us-list-header,.us-user-row{min-width:760px}
  .mo-lg{max-width:95vw}
  .lb{padding:32px 24px}
  .lb h1{font-size:22px}
  /* 底部导航栏 */
  .mbn{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;height:56px;padding-bottom:env(safe-area-inset-bottom);background:rgba(255,255,255,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--bd);box-shadow:0 -2px 12px rgba(0,0,0,.08)}
  .mbn-i{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:none;border:none;color:var(--tm);font-size:11px;cursor:pointer;font-family:inherit;transition:color .15s}
  .mbn-ic{font-size:20px;line-height:1}
  .mbn-i.act{color:var(--p)}
  .mbn-i.act .mbn-ic{transform:translateY(-1px)}
  .mbn-i:active{opacity:.6}
}
@media(max-width:900px){
  html[data-theme="dark"] .mbn{background:rgba(15,23,42,.96);border-top-color:rgba(255,255,255,.12)}
}

/* ===== 手机端适配增强 @2026-07-24（Route A 补全：刘海屏安全区 / iOS 聚焦防缩放 / 防横向溢出 / 拇指点击区） ===== */
@media(max-width:900px){
  /* 个别模块偶发横向溢出时，禁止整页出现横向滚动条（不影响表格内部横向滚动） */
  html,body{overflow-x:hidden}
  /* 输入框≥16px，避免 iOS 聚焦时视口自动放大（经典移动端痛点） */
  .fg input,.fg select,.fg textarea,.lb .fg input{font-size:16px}
  /* 侧边栏导航点击区≥44px，拇指友好 */
  .sb-nv .ni{padding:13px 14px;min-height:44px}
}
@media(max-width:640px){
  /* 顶栏时钟在非桌面端隐藏，避免窄屏拥挤/溢出 */
  #ct{display:none}
  .tb{padding:10px 14px;gap:8px}
  .tb .pt{font-size:17px}
  /* 弹窗在窄屏更贴近边缘但不贴边，并给更高可视高度 */
  .mo-ol{padding:14px}
  .mo{max-height:86vh}
  /* 登录框进一步适配超小屏（SE 等） */
  .lb{padding:28px 18px}
  .lb .fg input{font-size:16px}
  /* 底部导航字号微调，保证 5 项不挤压 */
  .mbn-i{font-size:10.5px}
  .mbn-ic{font-size:19px}
  /* ===== 今日日报：固定 540px 卡片在手机上溢出/被裁，改为单列全宽流式 ===== */
  #rb-root{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box}
  #rb-main{flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:12px!important;width:100%!important;min-width:0!important}
  #rb-left-col,#rb-right-col{width:100%!important;min-width:0!important;flex:1 1 auto!important}
  #rb-card,#rb-visit-card,#rb-team-panel{width:100%!important;max-width:100%!important;min-width:0!important}
  #rb-root>div:first-child{flex-direction:column;align-items:stretch}
  #rb-root>div:first-child>div:last-child{justify-content:flex-start;flex-wrap:wrap;width:100%}
  /* 顶部控件行在窄屏允许换行、不溢出 */
  #rb-root>div:first-child select,#rb-root>div:first-child input[type=date]{max-width:100%}
  /* 主题选择浮层：手机上按钮不在屏幕右缘，absolute+right:0 会让 320px 浮层溢出左侧不可点；改为 fixed 水平居中、悬浮于底栏之上，任意位置按钮都完整可见 */
  #rb-theme-picker{position:fixed!important;left:50%!important;right:auto!important;top:auto!important;bottom:72px!important;transform:translateX(-50%)!important;width:min(320px,92vw)!important;max-height:50vh!important}
  /* 弹窗内部固定 min-width 内容在窄屏解除，避免 10px 裁切 */
  .mo-bd [style*="min-width:360px"],.mo-bd [style*="min-width:300px"]{min-width:0!important}
  /* 日报 7 列表格在手机上超出宽度：改为卡片内横向滚动，保留列对齐（核心“不太适配”问题） */
  #rb-card,#rb-visit-card,#rb-team-panel{overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch}
  #rb-card table,#rb-visit-card table,#rb-team-panel table{font-size:11px;table-layout:fixed;width:100%!important}
  /* table-layout:fixed 强制表格精确贴合卡片宽度，列自动均分，彻底消除 auto 布局 min-content 溢出 */
  #rb-card table th,#rb-card table td,
  #rb-visit-card table th,#rb-visit-card table td,
  #rb-team-panel table th,#rb-team-panel table td{padding:5px 5px!important}
}

/* 新人入口二级子标签（咨询技能中心） */
.nrt{padding:9px 16px;cursor:pointer;color:var(--ts);font-size:14px;font-weight:600;border-radius:9px;background:var(--cd);border:1px solid var(--bd);transition:var(--tr);white-space:nowrap;user-select:none}
.nrt:hover{color:#667EEA;background:rgba(102,126,234,.08)}
.nrt.act{background:linear-gradient(135deg,#667EEA,#764BA2);color:#fff;border-color:transparent;box-shadow:0 3px 10px rgba(102,126,234,.3)}

/* 信息流转化体系模块 */
.ifs{max-width:1000px;margin:0 auto;padding-bottom:30px}
.ifs-hd{background:linear-gradient(135deg,#6366F1,#3B82F6);border-radius:18px;padding:24px 26px;color:#fff;margin-bottom:16px;box-shadow:0 10px 30px rgba(99,102,241,.28)}
.ifs-hd-t{display:flex;align-items:center;gap:14px}
.ifs-hd-t .ic{font-size:38px;line-height:1}
.ifs-hd-t .tt{font-size:22px;font-weight:800}
.ifs-hd-t .st{font-size:13px;opacity:.9;margin-top:2px}
.ifs-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.ifs-badge{background:rgba(255,255,255,.18);padding:5px 12px;border-radius:20px;font-size:12px}
.ifs-sec{font-size:16px;font-weight:700;margin:20px 0 10px;color:var(--tx);display:flex;align-items:center;gap:8px}
.ifs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.ifs-card{background:var(--cd);border:1px solid var(--bd);border-radius:12px;padding:14px;border-top:3px solid #3B82F6;display:flex;flex-direction:column;color:var(--tx)}
.ifs-card-t{font-size:13px;font-weight:700;color:var(--tx);margin-bottom:6px}
.ifs-card-b{font-size:13px;color:var(--ts);line-height:1.62;flex:1}
.ifs-copy{margin-top:10px;align-self:flex-start;background:#3B82F6;color:#fff;border:none;border-radius:8px;padding:5px 12px;font-size:12px;cursor:pointer;font-weight:600;font-family:inherit}
.ifs-copy:hover{background:#1D4ED8}
.ifs-steps{display:flex;flex-direction:column}
.ifs-step{display:flex;gap:12px;padding:11px 0;border-bottom:1px dashed var(--bd)}
.ifs-step:last-child{border-bottom:none}
.ifs-step .num{flex:0 0 28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#6366F1,#3B82F6);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}
.ifs-step .ct{flex:1}
.ifs-step .ct b{color:var(--tx);font-size:13.5px}
.ifs-step .ct div{font-size:13px;color:var(--ts);line-height:1.62;margin-top:3px}
.ifs-obj{background:rgba(59,130,246,.10);border:1px solid rgba(59,130,246,.25);border-radius:10px;padding:10px 12px}
.ifs-obj .q{font-size:13px;font-weight:700;color:var(--tx);margin-bottom:4px}
.ifs-obj .a{font-size:13px;color:var(--ts);line-height:1.58}
.ifs-sms{background:rgba(217,119,6,.10);border:1px solid rgba(217,119,6,.25);border-left:4px solid #F9A825;border-radius:8px;padding:10px 12px;font-size:12.5px;color:var(--tx);line-height:1.62}
.ifs-sms .st{font-weight:700;color:var(--wa);margin-bottom:4px;display:block}
.ifs-tag{background:rgba(59,130,246,.12);color:var(--tx);padding:6px 12px;border-radius:16px;font-size:12px;border:1px solid rgba(59,130,246,.2)}
.ifs-note{background:rgba(99,102,241,.07);border:1px solid rgba(99,102,241,.22);border-radius:10px;padding:11px 14px;font-size:12.5px;color:var(--ts);line-height:1.65}

/* 商务通/信息流体系 可编辑卡片（管理员可编辑每个模块） */
.sys-card{background:var(--cd);border:1px solid var(--bd);border-radius:14px;margin-bottom:16px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.sys-card-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 16px;background:linear-gradient(135deg,rgba(59,130,246,.08),rgba(99,102,241,.08));border-bottom:1px solid var(--bd)}
.sys-card-t{font-size:15px;font-weight:700;color:var(--tx);margin:0}
.sys-edit{flex:0 0 auto;background:linear-gradient(135deg,var(--pd),#00B8D4);color:#fff;border:none;border-radius:8px;padding:5px 12px;font-size:12px;cursor:pointer;font-weight:600;font-family:inherit;white-space:nowrap}
.sys-edit:hover{filter:brightness(1.07)}
.sys-card-bd{padding:16px}
.sys-hero{position:relative}
.sys-edit-hero{position:absolute;top:12px;right:12px;z-index:5;background:var(--cd);color:var(--p);border:1px solid var(--bd);box-shadow:0 2px 6px rgba(0,0,0,.15)}
.sys-edit-hero:hover{background:var(--sh)}

/* ===== 每日励志语录 Hero（呼吸灯 + 流光） ===== */
.quote-hero{position:relative;border-radius:20px;margin-bottom:14px;overflow:hidden;color:#fff;background:linear-gradient(120deg,#0D9488 0%,#0EA5A4 28%,var(--p) 64%,var(--in) 100%);box-shadow:0 10px 36px rgba(13,148,136,.28),0 2px 8px rgba(0,0,0,.12);animation:heroGlow 4.5s ease-in-out infinite}
.quote-hero .qh-glow{position:absolute;top:-60%;left:-30%;width:70%;height:220%;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 60%);animation:shineMove 6.5s linear infinite;pointer-events:none}
@keyframes shineMove{0%{transform:translateX(0) rotate(8deg);opacity:.45}50%{opacity:.85}100%{transform:translateX(320%) rotate(8deg);opacity:.45}}
.quote-hero .qh-inner{position:relative;z-index:2;padding:22px 26px}
.quote-hero .qh-badge{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;font-weight:600;letter-spacing:1.5px;opacity:.92}
.quote-hero .qh-dot{width:11px;height:11px;border-radius:50%;background:#fff;box-shadow:0 0 0 0 rgba(255,255,255,.7);animation:breathe 2.2s ease-in-out infinite}
@keyframes breathe{0%{box-shadow:0 0 0 0 rgba(255,255,255,.55);transform:scale(1)}50%{box-shadow:0 0 0 12px rgba(255,255,255,0);transform:scale(1.35)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0);transform:scale(1)}}
.quote-hero .qh-text{font-size:21px;line-height:1.75;font-weight:600;margin-top:13px;letter-spacing:.3px;text-shadow:0 1px 10px rgba(0,0,0,.22);word-break:break-word;min-height:64px;display:flex;align-items:center}
.quote-hero .qh-foot{margin-top:14px;display:flex;justify-content:space-between;align-items:center;font-size:12px;opacity:.82}
.quote-hero .qh-refresh{cursor:pointer;border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.12);color:#fff;border-radius:20px;padding:5px 14px;font-size:12px;transition:all .2s;font-family:inherit}
.quote-hero .qh-refresh:hover{background:rgba(255,255,255,.26);transform:translateY(-1px)}
@keyframes heroGlow{0%,100%{box-shadow:0 10px 36px rgba(13,148,136,.28),0 2px 8px rgba(0,0,0,.12)}50%{box-shadow:0 12px 46px rgba(59,130,246,.45),0 2px 8px rgba(0,0,0,.12)}}
@media (max-width:600px){.quote-hero .qh-text{font-size:18px;min-height:54px}}

/* ===== 首页高级模块：玻璃拟态 + 呼吸灯升级 ===== */
.hm-welcome{position:relative;border-radius:24px;margin-bottom:16px;padding:30px 30px;color:#fff;background:linear-gradient(120deg,#6366F1 0%,#3B82F6 58%,#0EA5E9 100%);background-size:200% 200%;animation:hmWelcomeFlow 14s ease infinite;box-shadow:0 16px 50px rgba(59,130,246,.34),0 3px 10px rgba(0,0,0,.12);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;overflow:hidden;min-width:0}
.hm-welcome::before{content:'';position:absolute;top:-45%;right:-12%;width:340px;height:340px;background:radial-gradient(circle,rgba(255,255,255,.20),transparent 60%);border-radius:50%;pointer-events:none;animation:hmFloat 11s ease-in-out infinite}
.hm-welcome::after{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:20px 20px;opacity:.5;pointer-events:none;animation:hmDotDrift 22s linear infinite}
/* P5 首页动态视觉增强 */
@keyframes hmWelcomeFlow{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes hmFloat{0%,100%{transform:translate(0,0)}50%{transform:translate(14px,-20px)}}
@keyframes hmDotDrift{0%{background-position:0 0}100%{background-position:60px 60px}}
@keyframes hmSparkPulse{0%,100%{text-shadow:0 0 0 rgba(34,211,238,0);opacity:.85}50%{text-shadow:0 0 16px rgba(34,211,238,.75);opacity:1}}
@keyframes hmUnderline{0%{background-position:0 0}100%{background-position:200% 0}}
.hm-ai-spark{display:inline-block;animation:hmSparkPulse 2.6s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){
  .hm-welcome,.hm-welcome::before,.hm-welcome::after,.hm-ai-spark,.hm-section-title::after{animation:none!important}
}
.hm-welcome-text{position:relative;z-index:1;min-width:0}
.hm-welcome-greet{font-size:25px;font-weight:800;letter-spacing:-.3px;text-shadow:0 2px 10px rgba(0,0,0,.2);overflow-wrap:anywhere;word-break:break-word}
.hm-welcome-greet span{font-weight:800}
.hm-welcome-sub{font-size:13.5px;opacity:.9;margin-top:8px;font-weight:500;overflow-wrap:anywhere;word-break:break-word}
.hm-welcome-meta{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.hm-welcome-meta span{font-size:12px;opacity:.94;background:rgba(255,255,255,.14);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.22);padding:5px 12px;border-radius:20px;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.hm-welcome-stats{position:relative;z-index:1;display:flex;gap:11px;flex-wrap:wrap}
.hm-stat-card{position:relative;background:rgba(255,255,255,.14);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.24);border-radius:16px;padding:14px 18px;min-width:80px;text-align:center;transition:transform .25s,background .25s,box-shadow .25s;overflow:hidden}
.hm-stat-card:hover{transform:translateY(-3px);background:rgba(255,255,255,.22);box-shadow:0 12px 28px rgba(0,0,0,.2)}
.hm-stat-ic{font-size:18px;margin-bottom:5px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.25))}
.hm-stat-num{font-size:27px;font-weight:800;line-height:1;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.2)}
.hm-stat-label{font-size:11px;opacity:.88;margin-top:5px;font-weight:600;letter-spacing:.5px}

/* ===== 首页顶部双栏：欢迎卡 + 每日能量 ===== */
.hm-hero-row{display:grid;grid-template-columns:1.25fr 1fr;gap:18px;margin-bottom:18px;align-items:stretch}
.hm-hero-row .hm-welcome,.hm-hero-row .quote-hero{margin-bottom:0;height:100%}
.hm-hero-row .hm-welcome{flex-direction:column;justify-content:space-between;align-items:stretch;padding:28px 28px;gap:20px}
.hm-hero-row .hm-welcome-top{display:flex;justify-content:space-between;align-items:center;gap:18px;position:relative;z-index:2;flex-wrap:wrap}
.hm-hero-row .hm-welcome-stats{margin-left:auto;flex-shrink:0;gap:12px}
.hm-hero-row .hm-stat-card{padding:16px 22px;min-width:96px}
.hm-hero-row .hm-stat-num{font-size:30px}
.hm-hero-row .quote-hero{display:flex}
.hm-hero-row .quote-hero .qh-inner{flex:1;display:flex;flex-direction:column;justify-content:space-between;padding:26px 28px}
.hm-hero-row .quote-hero .qh-text{font-size:clamp(18px,1.6vw,23px);line-height:1.7}
@media (max-width:900px){
  .hm-hero-row{grid-template-columns:1fr;gap:14px}
  .hm-hero-row .hm-welcome{padding:22px 22px;gap:16px}
  .hm-hero-row .hm-welcome-top{flex-direction:column;align-items:flex-start;gap:14px}
  .hm-hero-row .hm-welcome-stats{margin-left:0;width:100%;justify-content:flex-start}
  .hm-hero-row .hm-stat-card{flex:1 1 auto;max-width:none}
}

/* ===== P5 智能工作台卡片：洞察 / 待办 / 跨模块记忆 ===== */
.hm-ai-row{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;margin:18px 0;align-items:stretch}
.hm-ai-card{position:relative;background:var(--cd);border-radius:var(--r-lg);padding:20px;border:1px solid var(--bd);box-shadow:var(--shd);margin-bottom:12px;transition:box-shadow .25s,transform .25s;overflow:hidden}
.hm-ai-card:hover{box-shadow:var(--shd-m);transform:translateY(-1px)}
.hm-ai-card-todo{min-width:0}
.hm-ai-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:15px;font-weight:700;color:var(--tx);letter-spacing:-.2px}
.hm-ai-spark{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:var(--ac-grad);color:#fff;font-size:13px;flex-shrink:0;box-shadow:0 3px 10px rgba(59,130,246,.3);animation:hmSparkPulse 2.6s ease-in-out infinite}
.hm-ai-role{margin-left:auto;font-size:11px;font-weight:600;color:var(--ts);background:var(--bg);padding:4px 10px;border-radius:20px;border:1px solid var(--bd);white-space:nowrap}
.hm-ai-count{margin-left:auto;font-size:12px;font-weight:700;color:var(--p);background:var(--pb);padding:4px 12px;border-radius:20px;white-space:nowrap}
.hm-ai-body{color:var(--ts);font-size:14px;line-height:1.7}
.hm-ai-text{color:var(--tx);font-size:14px;line-height:1.8;word-break:break-word}
.hm-ai-text p{margin:0 0 8px}
.hm-ai-text p:last-child{margin-bottom:0}
.hm-ai-text ol,.hm-ai-text ul{margin:0 0 10px 18px;padding:0}
.hm-ai-text li{margin-bottom:8px}
.hm-ai-text li>p{margin:0 0 6px;font-size:13.5px;color:var(--ts);line-height:1.7}
.hm-ai-text li>p:last-child{margin-bottom:0}
.hm-ai-text strong{font-weight:700}
.hm-ai-skel{color:var(--tm);font-size:13px;padding:6px 0}
.hm-ai-fallback{background:var(--bg);border:1px dashed var(--bd);border-radius:10px;padding:12px 14px}

/* 主动预警条 */
.hm-warn-wrap{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.hm-warn{display:flex;align-items:center;gap:12px;background:linear-gradient(90deg,rgba(245,158,11,.12),rgba(245,158,11,.04));border:1px solid rgba(245,158,11,.25);border-radius:12px;padding:12px 14px}
.hm-warn-ic{font-size:18px;flex-shrink:0}
.hm-warn-body{flex:1;min-width:0}
.hm-warn-t{font-size:13px;font-weight:600;color:var(--tx);line-height:1.5}
.hm-warn-btn{flex-shrink:0;background:var(--wa);color:#fff;border:none;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer;transition:var(--tr)}
.hm-warn-btn:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 3px 10px rgba(245,158,11,.3)}

/* 跨模块记忆 */
.hm-mem-sum{font-size:13px;font-weight:600;color:var(--p);margin-bottom:12px}
.hm-mem-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.hm-mem-chip{font-size:11px;font-weight:600;color:var(--ts);background:var(--bg);border:1px solid var(--bd);border-radius:20px;padding:4px 10px}
.hm-mem-sec{font-size:12px;font-weight:700;color:var(--tx);margin:16px 0 10px;letter-spacing:.3px;display:flex;align-items:center;gap:6px}
.hm-mem-recents{display:flex;flex-direction:column;gap:10px}
.hm-mem-rec{background:var(--bg);border:1px solid var(--bd);border-radius:10px;padding:12px;transition:background .2s}
.hm-mem-rec:hover{background:var(--sh)}
.hm-mem-rec-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.hm-mem-tag{font-size:10px;font-weight:700;color:#fff;background:var(--ac-grad);padding:3px 8px;border-radius:12px;white-space:nowrap}
.hm-mem-rec-time{font-size:11px;color:var(--tm);white-space:nowrap}
.hm-mem-rec-text{font-size:13px;color:var(--tx);line-height:1.6;word-break:break-word}
.hm-mem-ctx-card{display:flex;gap:10px;align-items:center;width:100%;text-align:left;font:inherit;color:var(--tx);background:var(--bg);border:1px solid var(--bd);border-radius:10px;padding:9px 11px;margin-bottom:8px;cursor:pointer;transition:var(--tr)}
.hm-mem-ctx-card:hover{background:var(--sh);border-color:var(--p);transform:translateX(2px)}
.hm-mem-ctx-ic{flex-shrink:0;font-size:15px;line-height:1}
.hm-mem-ctx-main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.hm-mem-ctx-k{flex-shrink:0;font-size:11px;color:var(--tm);font-weight:500}
.hm-mem-ctx-v{flex:1;font-size:13px;color:var(--tx);line-height:1.5;word-break:break-word;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.hm-mem-ctx-go{flex-shrink:0;font-size:11px;font-weight:700;color:var(--p);white-space:nowrap}

/* 智能待办中枢 */
.hm-todo-list{display:flex;flex-direction:column;gap:8px}
.hm-todo{display:flex;align-items:center;gap:10px;background:var(--bg);border:1px solid var(--bd);border-radius:10px;padding:10px 12px;cursor:pointer;transition:var(--tr)}
.hm-todo:hover{background:var(--sh);transform:translateX(2px)}
.hm-todo-tag{flex-shrink:0;font-size:10px;font-weight:700;color:#fff;background:var(--p);padding:3px 8px;border-radius:10px}
.hm-todo-label{flex:1;font-size:13px;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.hm-todo-flag{flex-shrink:0;font-size:10px;font-weight:700;color:#fff;background:var(--da);padding:2px 6px;border-radius:6px}
.hm-todo.overdue{border-color:rgba(255,59,48,.3);background:rgba(255,59,48,.06)}

/* ===== P5 三卡增强：可交互（指标条 / 头部操作 / 记忆筛选 / 待办底部 / 新建任务弹窗） ===== */
.hm-ai-act{margin-left:8px;width:30px;height:30px;border:none;border-radius:8px;background:var(--bg);border:1px solid var(--bd);color:var(--ts);font-size:14px;cursor:pointer;transition:var(--tr);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.hm-ai-act:hover{background:var(--p);color:#fff;border-color:var(--p);transform:translateY(-1px)}
.hm-insight-hint{font-size:11px;color:var(--tm);margin-bottom:10px}
.hm-insight-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:14px}
.hm-metric{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:var(--bg);border:1px solid var(--bd);border-radius:10px;padding:10px 4px;cursor:pointer;transition:var(--tr)}
.hm-metric:hover{background:var(--sh);border-color:var(--p);transform:translateY(-2px)}
.hm-metric-v{font-size:18px;font-weight:800;color:var(--tx);line-height:1.1}
.hm-metric-k{font-size:11px;color:var(--tm);font-weight:600}
.hm-metric-warn .hm-metric-v{color:var(--da)}
.hm-insight-text{margin-bottom:2px}
.hm-insight-foot{display:flex;gap:10px;margin-top:12px}
.hm-insight-btn{flex:1;border:none;border-radius:10px;padding:9px 12px;font-size:13px;font-weight:600;cursor:pointer;transition:var(--tr);font-family:inherit}
.hm-insight-suggest{background:var(--ac-grad);color:#fff;box-shadow:0 4px 14px rgba(59,130,246,.28)}
.hm-insight-suggest:hover{opacity:.92;transform:translateY(-1px)}
.hm-insight-ask{background:var(--bg);border:1px solid var(--bd);color:var(--tx)}
.hm-insight-ask:hover{background:var(--sh);border-color:var(--p)}

/* 跨模块记忆：可交互 */
.hm-mem-chip{cursor:pointer;transition:var(--tr)}
.hm-mem-chip:hover{border-color:var(--p);color:var(--tx)}
.hm-mem-chip.active{background:var(--ac-grad);color:#fff;border-color:transparent}
.hm-mem-rec{cursor:pointer}
.hm-mem-rec:hover{background:var(--sh);border-color:var(--p)}
.hm-mem-rec-act{margin-top:8px;font-size:11px;font-weight:700;color:var(--p);opacity:0;transition:opacity .2s}
.hm-mem-rec:hover .hm-mem-rec-act{opacity:1}
.hm-mem-inject{margin-left:auto;font-size:11px;font-weight:600;color:var(--p);background:var(--pb);border:1px solid var(--bd);border-radius:14px;padding:3px 10px;cursor:pointer;transition:var(--tr);font-family:inherit}
.hm-mem-inject:hover{background:var(--p);color:#fff;border-color:var(--p)}
.hm-mem-cta{margin-top:10px;font-size:12px;font-weight:600;color:#fff;background:var(--ac-grad);border:none;border-radius:8px;padding:6px 12px;cursor:pointer}

/* 智能待办：底部操作 */
.hm-todo-foot{display:flex;gap:10px;margin-top:12px}
.hm-todo-new{flex:1;background:var(--ac-grad);color:#fff;border:none;border-radius:10px;padding:9px;font-size:13px;font-weight:600;cursor:pointer;transition:var(--tr);font-family:inherit;box-shadow:0 4px 14px rgba(59,130,246,.26)}
.hm-todo-new:hover{opacity:.92;transform:translateY(-1px)}
.hm-todo-all{flex:1;background:var(--bg);border:1px solid var(--bd);color:var(--tx);border-radius:10px;padding:9px;font-size:13px;font-weight:600;cursor:pointer;transition:var(--tr);font-family:inherit}
.hm-todo-all:hover{background:var(--sh);border-color:var(--p)}

/* 新建任务弹窗 */
.hm-nt{display:flex;flex-direction:column;gap:4px}
.hm-nt-lab{font-size:12px;font-weight:600;color:var(--ts);margin-top:8px}
.hm-nt-inp{width:100%;background:var(--bg);border:1px solid var(--bd);border-radius:8px;padding:9px 11px;font-size:14px;color:var(--tx);font-family:inherit;outline:none;transition:var(--tr);box-sizing:border-box}
.hm-nt-inp:focus{border-color:var(--p);box-shadow:0 0 0 3px var(--pb)}
.hm-nt-cancel{background:var(--bg);border:1px solid var(--bd);color:var(--ts);border-radius:10px;padding:9px 16px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:var(--tr)}
.hm-nt-cancel:hover{background:var(--sh)}
.hm-nt-ok{background:var(--ac-grad);color:#fff;border:none;border-radius:10px;padding:9px 16px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;box-shadow:0 4px 14px rgba(59,130,246,.28);transition:var(--tr)}
.hm-nt-ok:hover{opacity:.92;transform:translateY(-1px)}

@media (max-width:900px){
  .hm-ai-row{grid-template-columns:1fr;gap:14px;margin:14px 0}
  .hm-ai-card{padding:16px}
  .hm-warn{flex-direction:column;align-items:flex-start;gap:8px}
  .hm-warn-btn{width:100%;text-align:center}
  .hm-insight-metrics{grid-template-columns:repeat(5,1fr);gap:6px}
  .hm-metric{padding:9px 2px}
  .hm-metric-v{font-size:16px}
  .hm-mem-rec-act{opacity:1}
  .hm-ai-act{width:28px;height:28px}
}

.quote-hero{position:relative;border-radius:20px;margin-bottom:14px;overflow:hidden;color:#fff;background:linear-gradient(120deg,var(--teal-600) 0%,var(--p) 40%,var(--in) 72%,var(--ac-3) 100%);box-shadow:0 14px 44px rgba(59,130,246,.35),0 3px 10px rgba(0,0,0,.14);animation:heroGlow 5s ease-in-out infinite}
.quote-hero .qh-glow{position:absolute;top:-70%;left:-40%;width:80%;height:240%;background:radial-gradient(circle,rgba(255,255,255,.26),transparent 58%);animation:shineMove 7s linear infinite;pointer-events:none}
.quote-hero .qh-shine{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.18) 50%,transparent 60%);animation:cardShine 4.2s ease-in-out infinite;pointer-events:none}
.quote-hero .qh-inner{position:relative;z-index:2;padding:24px 28px}
.quote-hero .qh-badge{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;opacity:.95}
.quote-hero .qh-dot{position:relative;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 0 0 0 rgba(255,255,255,.7);animation:breathe 2s ease-in-out infinite;flex-shrink:0}
.quote-hero .qh-dot-ring{position:absolute;left:28px;width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.55);animation:breatheRing 2s ease-in-out infinite}
@keyframes breathe{0%{box-shadow:0 0 0 0 rgba(255,255,255,.65);transform:scale(1)}55%{box-shadow:0 0 0 16px rgba(255,255,255,0);transform:scale(1.45)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0);transform:scale(1)}}
@keyframes breatheRing{0%{transform:scale(1);opacity:.7}55%{transform:scale(2.6);opacity:0}100%{transform:scale(1);opacity:.7}}
@keyframes cardShine{0%{transform:translateX(-100%)}40%,100%{transform:translateX(100%)}}
.quote-hero .qh-text{font-size:22px;line-height:1.8;font-weight:600;margin-top:15px;letter-spacing:.4px;text-shadow:0 2px 12px rgba(0,0,0,.2);word-break:break-word;min-height:60px;display:flex;align-items:center}
.quote-hero .qh-foot{margin-top:16px;display:flex;justify-content:space-between;align-items:center;font-size:12px;opacity:.9}
.quote-hero .qh-refresh{cursor:pointer;border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.14);color:#fff;border-radius:20px;padding:6px 16px;font-size:12px;transition:all .2s;font-family:inherit;backdrop-filter:blur(4px)}
.quote-hero .qh-refresh:hover{background:rgba(255,255,255,.3);transform:translateY(-1px);box-shadow:0 4px 12px rgba(255,255,255,.2)}
@keyframes heroGlow{0%,100%{box-shadow:0 14px 44px rgba(59,130,246,.32),0 3px 10px rgba(0,0,0,.14)}50%{box-shadow:0 16px 52px rgba(99,102,241,.48),0 3px 10px rgba(0,0,0,.14)}}

/* ===== 小菊哥 3D 拟人化头像 ===== */
.qh-avatar3d{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:44px;height:44px;margin-left:10px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.28),rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(6px);box-shadow:0 6px 18px rgba(0,0,0,.18),inset 0 1px 2px rgba(255,255,255,.5);animation:xjgAvatar3D 3.6s ease-in-out infinite;transform-style:preserve-3d;cursor:default;position:relative;z-index:3}
.qh-avatar3d img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
.qh-avatar3d::before{content:'';position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(255,255,255,.25);animation:xjgAvatarRing 2.4s ease-out infinite;pointer-events:none}
.qh-avatar3d::after{content:'';position:absolute;inset:-3px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.55),transparent 50%);pointer-events:none}
@keyframes xjgAvatar3D{0%,100%{transform:perspective(400px) rotateY(0deg) translateY(0) scale(1)}25%{transform:perspective(400px) rotateY(90deg) translateY(-5px) scale(1.06)}50%{transform:perspective(400px) rotateY(180deg) translateY(0) scale(1)}75%{transform:perspective(400px) rotateY(270deg) translateY(-5px) scale(1.06)}}
@keyframes xjgAvatarRing{0%{transform:scale(1);opacity:.7}70%{transform:scale(1.5);opacity:0}100%{transform:scale(1);opacity:0}}

/* ===== 小菊哥 3D 拟人化头像 ===== */
.qh-avatar3d{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:44px;height:44px;margin-left:10px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.28),rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(6px);box-shadow:0 6px 18px rgba(0,0,0,.18),inset 0 1px 2px rgba(255,255,255,.5);animation:xjgAvatar3D 3.6s ease-in-out infinite;transform-style:preserve-3d;cursor:default;position:relative;z-index:3}
.qh-avatar3d img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
.qh-avatar3d::before{content:'';position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(255,255,255,.25);animation:xjgAvatarRing 2.4s ease-out infinite;pointer-events:none}
.qh-avatar3d::after{content:'';position:absolute;inset:-3px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.55),transparent 50%);pointer-events:none}
@keyframes xjgAvatar3D{0%,100%{transform:perspective(400px) rotateY(0deg) translateY(0) scale(1)}25%{transform:perspective(400px) rotateY(90deg) translateY(-5px) scale(1.06)}50%{transform:perspective(400px) rotateY(180deg) translateY(0) scale(1)}75%{transform:perspective(400px) rotateY(270deg) translateY(-5px) scale(1.06)}}
@keyframes xjgAvatarRing{0%{transform:scale(1);opacity:.7}70%{transform:scale(1.5);opacity:0}100%{transform:scale(1);opacity:0}}

.hm-card{position:relative;background:var(--cd);border-radius:18px;padding:16px 18px;margin-bottom:12px;border:1px solid var(--bd);box-shadow:0 4px 16px rgba(0,0,0,.04);transition:box-shadow .2s,transform .2s}
.hm-card:hover{box-shadow:0 6px 22px rgba(0,0,0,.08);transform:translateY(-1px)}
.hm-card-accent{background:linear-gradient(135deg,rgba(13,148,136,.08),rgba(13,148,136,.02));border:1px solid rgba(13,148,136,.18)}
.hm-card-blue{background:linear-gradient(135deg,rgba(37,99,235,.08),rgba(37,99,235,.02));border:1px solid rgba(37,99,235,.18)}
.hm-card-hd{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.hm-card-icon{font-size:20px}
.hm-card-title{font-weight:700;font-size:15px;color:var(--tx)}
.hm-card-count{font-size:11px;color:var(--tm);background:var(--bg);padding:2px 10px;border-radius:10px;margin-left:auto}
.hm-card-meta{font-size:11px;color:var(--tm);margin-left:auto}
.hm-card-bd{}
.hm-card-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.hm-card textarea{width:100%;padding:10px 12px;border:1px solid var(--bd);border-radius:10px;font-size:13px;resize:vertical;background:var(--cd);color:var(--tx);transition:border-color .2s,box-shadow .2s}
.hm-card textarea:focus{outline:none;border-color:var(--p);box-shadow:0 0 0 3px rgba(13,148,136,.12)}
.hm-divider{height:1px;background:linear-gradient(90deg,var(--bd),transparent);margin:10px 0}
.hm-empty{text-align:center;padding:20px;color:var(--tm);font-size:13px}

/* ===== 首页公告中心（移到快捷功能上方，支持编辑/删除） ===== */
.hm-ann-section{margin-bottom:18px}
.hm-ann-card{
  position:relative;background:var(--cd);border:1px solid var(--bd);border-radius:20px;
  padding:16px 18px;box-shadow:0 4px 16px rgba(0,0,0,.04);
  overflow:hidden;transition:box-shadow .2s,transform .2s;
}
.hm-ann-card::before{
  content:'';position:absolute;left:0;top:16px;bottom:16px;width:4px;
  border-radius:0 3px 3px 0;
  background:linear-gradient(180deg,var(--ac-1),var(--ac-2),var(--ac-3));
}
.hm-ann-card:hover{box-shadow:0 6px 22px rgba(0,0,0,.08);transform:translateY(-1px)}
.hm-ann-hd{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-bottom:10px;
}
.hm-ann-title-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.hm-ann-ic{font-size:20px}
.hm-ann-title{font-size:15px;font-weight:800;color:var(--tx)}
.hm-ann-badge{
  font-size:10.5px;font-weight:700;
  padding:3px 9px;border-radius:var(--r-lg);
  background:rgba(59,130,246,.12);color:var(--ac-2);border:1px solid rgba(59,130,246,.18);
}
.hm-ann-badge-zero{background:var(--bg);color:var(--tm);border-color:var(--bd)}
.hm-ann-hd-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
.hm-ann-btn{
  display:inline-flex;align-items:center;gap:4px;
  padding:6px 12px;border-radius:var(--r-sm);
  font-size:12px;font-weight:700;border:1px solid transparent;
  cursor:pointer;transition:all .18s;background:transparent;color:var(--ts);
  font-family:inherit;
}
.hm-ann-btn:hover{background:var(--bg);color:var(--tx)}
.hm-ann-btn.primary{
  background:var(--ac-grad);color:#fff;border-color:transparent;
  box-shadow:0 3px 10px rgba(59,130,246,.35);
}
.hm-ann-btn.primary:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(59,130,246,.45)}
.hm-ann-btn.text{color:var(--ts)}
.hm-ann-btn.text:hover{color:var(--p);background:rgba(59,130,246,.08)}
.hm-ann-preview{
  display:flex;align-items:center;gap:12px;
  padding:10px 12px;border-radius:var(--r-md);
  background:var(--bg);border:1px solid var(--bd);
}
.hm-ann-preview-dot{
  width:10px;height:10px;border-radius:50%;flex-shrink:0;
  background:var(--ac-1);box-shadow:0 0 0 4px rgba(34,211,238,.15);
  animation:breathe 2.2s ease-in-out infinite;
}
.hm-ann-preview-text{flex:1;min-width:0}
.hm-ann-preview-title{
  font-size:13.5px;font-weight:700;color:var(--tx);
  line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.hm-ann-preview-meta{font-size:11px;color:var(--tm);margin-top:2px}
.hm-ann-empty{padding:10px 12px;color:var(--tm);font-size:13px}
.hm-ann-body{display:none;margin-top:12px}
.hm-ann-list{display:flex;flex-direction:column;gap:10px}
.hm-ann-item{
  position:relative;padding:12px 14px;border-radius:var(--r-md);
  background:var(--bg);border:1px solid var(--bd);
  transition:all .18s;
}
.hm-ann-item.unread{
  background:rgba(34,211,238,.06);border-color:rgba(34,211,238,.25);
  box-shadow:0 0 0 1px rgba(34,211,238,.1);
}
.hm-ann-item.unread::before{
  content:'';position:absolute;top:10px;right:10px;width:6px;height:6px;border-radius:50%;background:var(--ac-1);
}
.hm-ann-item-hd{
  display:flex;align-items:center;gap:10px;margin-bottom:6px;flex-wrap:wrap;
}
.hm-ann-item-time{
  font-size:11px;font-weight:700;color:var(--ac-2);
  background:rgba(59,130,246,.1);padding:2px 7px;border-radius:var(--r-xs);
}
.hm-ann-item-author{font-size:11px;color:var(--tm)}
.hm-ann-item-actions{display:flex;align-items:center;gap:5px;margin-left:auto}
.hm-ann-item-btn{
  font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:var(--r-xs);
  border:1px solid var(--bd);background:var(--cd);color:var(--ts);
  cursor:pointer;transition:all .15s;font-family:inherit;
}
.hm-ann-item-btn:hover{border-color:var(--p);color:var(--p);background:var(--pb)}
.hm-ann-item-btn.danger:hover{border-color:var(--da);color:var(--da);background:rgba(239,68,68,.08)}
.hm-ann-item-summary{
  font-size:12px;font-weight:600;color:var(--ac-2);margin-bottom:5px;
  padding:4px 8px;border-radius:var(--r-xs);background:rgba(59,130,246,.08);
}
.hm-ann-item-content{
  font-size:13px;line-height:1.65;color:var(--tx);white-space:pre-wrap;
}
.hm-ann-empty-body{
  text-align:center;padding:20px;color:var(--tm);font-size:13px;
}
.hm-ann-publish-area{
  margin-top:14px;padding-top:14px;border-top:1px dashed var(--bd);
}
.hm-ann-publish-hd{
  display:flex;align-items:center;gap:8px;margin-bottom:8px;
  font-size:13px;font-weight:700;color:var(--tx);
}
.hm-ann-publish-meta{
  font-size:10.5px;font-weight:600;color:var(--tm);margin-left:auto;
}
.hm-ann-publish-area textarea{
  width:100%;padding:10px 12px;border:1px solid var(--bd);border-radius:12px;
  font-size:13px;resize:vertical;background:var(--cd);color:var(--tx);
  transition:border-color .2s,box-shadow .2s;min-height:64px;box-sizing:border-box;
}
.hm-ann-publish-area textarea:focus{outline:none;border-color:var(--p);box-shadow:0 0 0 3px rgba(59,130,246,.12)}
.hm-ann-publish-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.hm-ann-edit-ta{
  width:100%;padding:10px 12px;border:1px solid var(--p);border-radius:12px;
  font-size:13px;resize:vertical;background:var(--cd);color:var(--tx);min-height:64px;box-sizing:border-box;
}
.hm-ann-edit-actions{display:flex;gap:8px;margin-top:8px}

@media(max-width:600px){
  .hm-ann-hd{flex-direction:column;align-items:flex-start;gap:8px}
  .hm-ann-hd-actions{width:100%;justify-content:flex-end}
  .hm-ann-item-actions{margin-left:0;width:100%;justify-content:flex-end}
}

.hm-section-title{font-size:15px;font-weight:800;color:var(--tx);margin:20px 0 12px 2px;display:flex;align-items:center;gap:8px}
.hm-section-title::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--ac-1),var(--ac-2),var(--ac-3),transparent);background-size:200% 100%;animation:hmUnderline 4s linear infinite;margin-left:6px}

.hm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:18px}
.hm-grid-item{position:relative;background:var(--cd);border-radius:18px;padding:16px 18px;border:1px solid var(--bd);cursor:pointer;display:flex;align-items:center;gap:14px;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}
.hm-grid-item::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--hm-color);opacity:0;transition:opacity .3s}
.hm-grid-item:hover{border-color:var(--hm-color);transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.12)}
.hm-grid-item:hover::before{opacity:1}
.hm-grid-icon{position:relative;width:50px;height:50px;border-radius:15px;background:linear-gradient(135deg,var(--hm-color),var(--hm-color));display:flex;align-items:center;justify-content:center;font-size:25px;flex-shrink:0;transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .3s;box-shadow:0 6px 16px -4px var(--hm-color),inset 0 1px 1px rgba(255,255,255,.5)}
.hm-grid-item:hover .hm-grid-icon{transform:scale(1.08) rotate(-5deg)}
.hm-grid-text{flex:1;min-width:0}
.hm-grid-title{font-weight:700;font-size:15px;margin-bottom:3px;color:var(--tx);transition:color .25s}
.hm-grid-item:hover .hm-grid-title{color:var(--hm-color)}
.hm-grid-desc{font-size:12px;color:var(--ts);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hm-grid-arrow{color:var(--tm);font-size:22px;font-weight:700;transition:transform .3s,color .3s}
.hm-grid-item:hover .hm-grid-arrow{transform:translateX(4px);color:var(--hm-color)}

.hm-log-item{padding:8px 0;border-bottom:1px solid var(--bd);display:flex;justify-content:space-between;align-items:center;font-size:12.5px}
.hm-log-item:last-child{border-bottom:none}
.hm-log-item span:first-child{color:var(--tx);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:78%}
.hm-log-item span:last-child{color:var(--ts);font-size:11px;flex-shrink:0}
.hm-timeline{position:relative;padding-left:6px}
.hm-timeline::before{content:'';position:absolute;left:9px;top:16px;bottom:16px;width:2px;background:linear-gradient(180deg,var(--p),transparent);opacity:.45}
.hm-timeline .hm-log-item{position:relative;padding:9px 0 9px 26px;border-bottom:none;transition:background .2s;border-radius:9px}
.hm-timeline .hm-log-item::before{content:'';position:absolute;left:3px;top:50%;transform:translateY(-50%);width:12px;height:12px;border-radius:50%;background:var(--cd);border:2.5px solid var(--p);box-shadow:0 0 0 3px var(--bg);z-index:1;transition:transform .2s}
.hm-timeline .hm-log-item:hover{background:var(--bg)}
.hm-timeline .hm-log-item:hover::before{transform:translateY(-50%) scale(1.2)}
.hm-timeline .hm-log-item span:first-child{color:var(--tx);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:72%}
.hm-timeline .hm-log-item span:last-child{color:var(--ts);font-size:11px;flex-shrink:0}
.hm-footer{text-align:center;padding:24px 12px 18px;color:var(--tm);font-size:11px;line-height:1.9}.hm-footer a{display:block;color:var(--tm);text-decoration:none;font-size:12px;margin-top:4px;opacity:.85}.hm-footer a:hover{text-decoration:underline;opacity:1}

@media (max-width:600px){
  .hm-welcome{padding:20px 18px}
  .hm-welcome-greet{font-size:19px}
  .hm-stat-card{padding:10px 14px;min-width:60px}
  .hm-stat-num{font-size:20px}
  .quote-hero .qh-text{font-size:18px;min-height:54px}
  .hm-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
}

/* ===== 多维分析表格：高对比表头 + 层次感 + 可手动换色 ===== */
:root{
  --fx-hd-start:#E0F7FA;
  --fx-hd-end:#B2EBF2;
  --fx-hd-text:#064E3B;
  --fx-hd-border:rgba(6,78,59,.12);
  --fx-hd-shadow:rgba(255,255,255,.6);
}
.fx-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;position:relative;border-radius:12px;border:1px solid var(--bd);box-shadow:0 4px 14px rgba(0,0,0,.06);margin-bottom:8px}
.fx-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;min-width:520px;background:var(--cd)}
.fx-table-wrap::after{content:'← 滑动查看完整表格 →';position:absolute;right:8px;bottom:6px;font-size:11px;color:var(--tm);background:rgba(255,255,255,.7);padding:2px 8px;border-radius:10px;pointer-events:none;opacity:.8}
@media(max-width:900px){.fx-table-wrap::after{display:block}}
.fx-table thead tr{background:linear-gradient(135deg,var(--fx-hd-start),var(--fx-hd-end));color:var(--fx-hd-text)}
.fx-table.fx-table-dark thead tr{background:linear-gradient(135deg,var(--fx-hd-start),var(--fx-hd-end));color:var(--fx-hd-text)}
.fx-table th{padding:12px 14px;text-align:left;font-weight:800;font-size:13px;letter-spacing:.5px;text-shadow:0 1px 0 var(--fx-hd-shadow);border-bottom:2px solid var(--fx-hd-border);white-space:nowrap;position:sticky;top:0;z-index:3}
.fx-table td:first-child,.fx-table th:first-child{position:sticky;left:0;z-index:4;background:var(--cd)}
.fx-table th:first-child{border-top-left-radius:10px}
.fx-table th:last-child{border-top-right-radius:10px}
.fx-table td{padding:10px 14px;border-bottom:1px solid var(--bd);font-size:13px;line-height:1.5;color:var(--tx);transition:background .15s}
.fx-table tr:hover td{background:rgba(13,148,136,.06)}
.fx-table .fx-tr:hover td{background:rgba(13,148,136,.06)}
.fx-table .fx-tr-total{background:linear-gradient(135deg,#F0FDFA,#CCFBF1);font-weight:700}
.fx-table .fx-tr-total td{color:#0D9488;border-bottom:none}
.fx-table .fx-tr-total:hover{background:linear-gradient(135deg,#E0F7FA,#B2EBF2)}
.fx-table input[type="number"]{width:62px;max-width:72px;padding:5px 4px;border:1px solid var(--bd);border-radius:6px;font-size:12px;text-align:center;background:var(--cd);color:var(--tx);transition:border-color .2s,box-shadow .2s}
.fx-table input[type="number"]:focus{outline:none;border-color:var(--p);box-shadow:0 0 0 3px rgba(13,148,136,.12)}
[data-theme="dark"]{--fx-hd-start:#115E59;--fx-hd-end:#134E4A;--fx-hd-text:#fff;--fx-hd-border:rgba(255,255,255,.2);--fx-hd-shadow:rgba(0,0,0,.3)}
[data-theme="dark"] .fx-table thead tr{background:linear-gradient(135deg,var(--fx-hd-start),var(--fx-hd-end));color:var(--fx-hd-text)}
[data-theme="dark"] .fx-table th{text-shadow:0 1px 2px var(--fx-hd-shadow);border-bottom-color:var(--fx-hd-border)}
[data-theme="dark"] .fx-table td{border-bottom-color:var(--bd)}
[data-theme="dark"] .fx-table .fx-tr-total{background:linear-gradient(135deg,#134E4A,#064E3B)}
[data-theme="dark"] .fx-table .fx-tr-total td{color:#5EEAD4}
/* 表头手动换色预设 */
.fx-hd-theme-teal{--fx-hd-start:#E0F7FA;--fx-hd-end:#B2EBF2;--fx-hd-text:#064E3B;--fx-hd-border:rgba(6,78,59,.12);--fx-hd-shadow:rgba(255,255,255,.6)}
.fx-hd-theme-blue{--fx-hd-start:#DBEAFE;--fx-hd-end:#BFDBFE;--fx-hd-text:#1E3A8A;--fx-hd-border:rgba(30,58,138,.12);--fx-hd-shadow:rgba(255,255,255,.6)}
.fx-hd-theme-orange{--fx-hd-start:#FFEDD5;--fx-hd-end:#FED7AA;--fx-hd-text:#7C2D12;--fx-hd-border:rgba(124,45,18,.12);--fx-hd-shadow:rgba(255,255,255,.6)}
.fx-hd-theme-purple{--fx-hd-start:#EEF2FF;--fx-hd-end:#E0F2FE;--fx-hd-text:#3730A3;--fx-hd-border:rgba(67,56,202,.12);--fx-hd-shadow:rgba(255,255,255,.6)}
.fx-hd-theme-gray{--fx-hd-start:#F3F4F6;--fx-hd-end:#E5E7EB;--fx-hd-text:#1F2937;--fx-hd-border:rgba(31,41,55,.12);--fx-hd-shadow:rgba(255,255,255,.6)}
.fx-hd-theme-custom{/* 由 JS 动态设置 --fx-hd-start/end/text */}
/* 暗色模式下，手动预设色不覆盖，强制保持高对比深青底；自定义颜色仍保留 */
html[data-theme="dark"] body{--fx-hd-start:#115E59;--fx-hd-end:#134E4A;--fx-hd-text:#fff;--fx-hd-border:rgba(255,255,255,.2);--fx-hd-shadow:rgba(0,0,0,.3)}
.fx-hd-theme-teal .fx-hd-swatch,.fx-hd-theme-blue .fx-hd-swatch,.fx-hd-theme-orange .fx-hd-swatch,.fx-hd-theme-purple .fx-hd-swatch,.fx-hd-theme-gray .fx-hd-swatch,.fx-hd-theme-custom .fx-hd-swatch{border:2px solid var(--p)}
.fx-table-hd-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.fx-table-hd-bar .fx-hd-label{font-size:12px;color:var(--ts);font-weight:600}
.fx-hd-swatch{width:20px;height:20px;border-radius:50%;cursor:pointer;border:2px solid transparent;box-shadow:0 1px 3px rgba(0,0,0,.15);transition:transform .15s,border-color .15s}
.fx-hd-swatch:hover{transform:scale(1.15)}
.fx-hd-swatch.active{border-color:var(--p);transform:scale(1.15)}
.fx-hd-custom{display:flex;align-items:center;gap:6px}
.fx-hd-custom input[type="color"]{width:24px;height:20px;border:none;border-radius:50%;padding:0;cursor:pointer;background:none;overflow:hidden}
.fx-hd-custom span{font-size:12px;color:var(--ts)}

/* ===== 多维分析：炫光标题 + 动态 Tab ===== */
.fx-glow-title{position:relative;display:inline-block}
.fx-glow-title::after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:3px;background:linear-gradient(90deg,var(--teal-600),var(--p),var(--ac-3));border-radius:2px;animation:fxGlowBar 3s ease-in-out infinite;background-size:200% 100%}
@keyframes fxGlowBar{0%,100%{background-position:0 0}50%{background-position:100% 0}}
.fx-tab{position:relative;overflow:hidden}
.fx-tab.act::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);animation:tabShine 2.5s ease-in-out infinite}
@keyframes tabShine{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}

/* ===== 全局高级感增强 ===== */
.card-elevate{transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1)}
.card-elevate:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,.12)}
.btn-gradient{background:linear-gradient(135deg,#0D9488,#0EA5A4);border:none;color:#fff;transition:all .2s}
.btn-gradient:hover{background:linear-gradient(135deg,#0F766E,#0D9488);transform:translateY(-1px);box-shadow:0 6px 18px rgba(13,148,136,.3)}
.breathe-dot{width:8px;height:8px;border-radius:50%;background:#0D9488;box-shadow:0 0 0 0 rgba(13,148,136,.5);animation:dotBreathe 2.2s ease-in-out infinite;display:inline-block;margin-right:6px}
@keyframes dotBreathe{0%,100%{box-shadow:0 0 0 0 rgba(13,148,136,.45);transform:scale(1)}50%{box-shadow:0 0 0 10px rgba(13,148,136,0);transform:scale(1.35)}}

/* ===== 页面内容切换柔化 ===== */
#pc{animation:fadePage .25s ease-out}
@keyframes fadePage{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}



/* ===== 转化体系（商务通 / 信息流）===== */
.cs-root{position:relative;}
.cs-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--pd),#00B8D4);border-radius:22px;padding:26px 28px;color:#fff;margin-bottom:20px;box-shadow:0 18px 44px rgba(30,136,229,.30),0 2px 8px rgba(0,0,0,.12);}
.cs-hero::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:22px 22px;mask-image:radial-gradient(circle at 75% 20%,#000,transparent 75%);opacity:.6;pointer-events:none;}
.cs-hero::after{content:'';position:absolute;top:-60%;right:-8%;width:360px;height:360px;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 62%);border-radius:50%;pointer-events:none;}
.cs-hero-top{position:relative;z-index:1;display:flex;align-items:center;gap:16px;}
.cs-hero-ic{font-size:34px;width:64px;height:64px;flex:none;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,.10));border:1px solid rgba(255,255,255,.30);border-radius:18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.35);}
.cs-hero-tx{flex:1;min-width:0;}
.cs-hero-name{font-size:24px;font-weight:800;letter-spacing:.5px;text-shadow:0 2px 10px rgba(0,0,0,.20);}
.cs-hero-sub{font-size:13px;opacity:.92;margin-top:4px;}
.cs-goal{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.34);padding:8px 16px;border-radius:999px;font-size:13px;font-weight:600;white-space:nowrap;margin-top:14px;box-shadow:0 4px 14px rgba(0,0,0,.12);}
.cs-kpis{position:relative;z-index:1;display:flex;flex-wrap:nowrap;gap:12px;margin-top:18px;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch;padding-bottom:4px}
.cs-kpis::-webkit-scrollbar{height:4px}
.cs-kpis::-webkit-scrollbar-thumb{background:rgba(255,255,255,.35);border-radius:4px}
.cs-kpi{flex:1 0 0;min-width:130px;background:rgba(255,255,255,.15);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.26);border-top:3px solid var(--kc);border-radius:14px;padding:14px 8px;text-align:center;transition:transform .2s,background .2s,box-shadow .2s;}
.cs-kpi:hover{transform:translateY(-3px);background:rgba(255,255,255,.24);box-shadow:0 10px 24px rgba(0,0,0,.16);}
.cs-kpi-v{font-size:24px;font-weight:800;line-height:1.1;text-shadow:0 2px 8px rgba(0,0,0,.16);}
.cs-kpi-l{font-size:12px;opacity:.92;margin-top:5px;}
.cs-fw-head{position:relative;margin:26px 0 12px;font-size:18px;font-weight:800;color:var(--tx);}
.cs-fw-head::after{content:'';position:absolute;left:0;bottom:-6px;width:54px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--pd),#00B8D4);}
.cs-fw{display:flex;align-items:stretch;gap:6px;overflow-x:auto;padding-bottom:6px;}
.cs-fw-step{flex:1;min-width:120px;background:var(--cd);border:1px solid var(--bd);border-radius:14px;padding:14px 12px;transition:transform .2s,box-shadow .2s,border-color .2s;}
.cs-fw-step:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.10);border-color:var(--c2,var(--tm));}
.cs-fw-n{width:28px;height:28px;line-height:28px;text-align:center;border-radius:50%;background:linear-gradient(135deg,var(--pd),#00B8D4);color:#fff;font-weight:700;font-size:13px;margin-bottom:8px;box-shadow:0 4px 10px rgba(30,136,229,.30);}
.cs-fw-t{font-size:14px;font-weight:700;color:var(--tx);}
.cs-fw-d{font-size:11px;color:var(--ts);margin-top:5px;line-height:1.5;}
.cs-fw-arrow{align-self:center;color:var(--ts);font-size:22px;flex:none;}
.cs-group{margin-top:24px;}
.cs-group-h{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:800;color:var(--tx);margin-bottom:14px;letter-spacing:.3px;}
.cs-group-bar{width:5px;height:20px;border-radius:3px;background:linear-gradient(180deg,var(--pd),#00B8D4);box-shadow:0 2px 6px rgba(30,136,229,.30);}
.cs-sub-h{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--tx);margin:18px 0 10px 4px;}
.cs-sub-dot{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--pd),#00B8D4);box-shadow:0 2px 6px rgba(30,136,229,.30);}
.cs-acc-wrap{display:flex;flex-direction:column;gap:14px;}
.cs-acc-group{background:var(--cd);border:1px solid var(--bd);border-radius:14px;overflow:hidden;}
.cs-acc-group-h{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--tx);padding:10px 14px;background:var(--bg);border-bottom:1px solid var(--bd);}
.cs-scripts{display:flex;flex-direction:column;}
.cs-acc-item{background:var(--cd);border-bottom:1px solid var(--bd);}
.cs-acc-item:last-child{border-bottom:none;}
.cs-acc-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;cursor:pointer;user-select:none;transition:background-color .2s;}
.cs-acc-hd:hover{background:var(--bg);}
.cs-acc-item.open .cs-acc-hd{background:rgba(30,136,229,.06);}
.cs-acc-title{font-size:13.5px;font-weight:700;color:var(--tx);flex:1;line-height:1.5;}
.cs-acc-arrow{width:22px;height:22px;display:flex;align-items:center;justify-content:center;color:var(--ts);font-size:11px;transition:transform .25s;flex:none;}
.cs-acc-item.open .cs-acc-arrow{transform:rotate(180deg);color:var(--pd);}
.cs-acc-body{max-height:0;overflow:hidden;opacity:0;transition:max-height .3s ease,opacity .2s ease,padding .25s ease;padding:0 16px;}
.cs-acc-item.open .cs-acc-body{max-height:500px;opacity:1;padding:0 16px 14px;}
.cs-acc-b{font-size:13px;color:var(--ts);line-height:1.75;margin-bottom:10px;}

/* 话术卡片化分组 */
.cs-script-grid{display:flex;flex-direction:column;gap:18px;}
.cs-script-group-h{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--tx);margin-bottom:6px;padding-left:4px;letter-spacing:.3px;}

.cs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px;}
.cs-gcard{position:relative;background:var(--cd);border:1px solid var(--bd);border-radius:14px;padding:16px;display:flex;flex-direction:column;overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s,background-color .2s;box-shadow:0 4px 14px rgba(0,0,0,.06);}
.cs-gcard::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--pd),#00B8D4);opacity:.85;}
.cs-gcard:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.12);border-color:var(--c2,var(--tm));background-color:var(--cd);}
.cs-gcard-t{font-size:15px;font-weight:700;color:var(--tx);margin-bottom:9px;}
.cs-gcard-b{font-size:13px;color:var(--ts);line-height:1.65;flex:1;}
.cs-gcard-tip{font-size:13px;color:var(--st);line-height:1.7;background:var(--bg);border-left:3px solid var(--pd);border-radius:8px;padding:10px 12px;margin-top:10px;white-space:pre-wrap;word-break:break-word;}

/* 折叠话术容器：默认隐藏，点击展开；与 cs-gcard-tip 视觉一致 */
.cs-collapsible{font-size:13px;color:var(--st);line-height:1.7;background:var(--bg);border-left:3px solid var(--pd);border-radius:8px;padding:10px 12px;margin-top:10px;white-space:pre-wrap;word-break:break-word;}
.cs-step-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.cs-step-head b{flex:1;margin-bottom:0;}
.cs-sms-tip{font-size:12.5px;color:var(--ts);line-height:1.6;margin-top:8px;padding-top:8px;border-top:1px dashed var(--bd);white-space:pre-wrap;word-break:break-word;}

.cs-steps{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:16px;}
.cs-step{position:relative;background:var(--cd);border:1px solid var(--bd);border-radius:14px;padding:16px 16px 16px 14px;overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s,background-color .2s;box-shadow:0 4px 14px rgba(0,0,0,.06);}
.cs-step::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--pd),#00B8D4);opacity:.85;}
.cs-step:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.12);border-color:var(--c2,var(--tm));background-color:var(--cd);}
.cs-step-n{position:absolute;top:12px;left:14px;width:28px;height:28px;border-radius:50%;background:var(--pd);color:#fff;font-weight:700;text-align:center;line-height:28px;font-size:13px;box-shadow:0 4px 10px rgba(30,136,229,.30);}
.cs-step-ct{font-size:13px;color:var(--tx);line-height:1.6;padding-left:40px;}
.cs-step-ct b{display:block;margin-bottom:6px;font-size:14.5px;}
@media (max-width:640px){
  .cs-grid,.cs-steps{grid-template-columns:1fr;}
  .cs-script-group-h{font-size:12px;}
  .cs-gcard,.cs-step{padding:14px;}
  .cs-step-ct{padding-left:0;padding-top:34px;}
  .cs-step-n{left:14px;top:12px;}
}
.cs-objs{display:grid;grid-template-columns:repeat(auto-fill,minmax(266px,1fr));gap:16px;}
.cs-obj{background:var(--cd);border:1px solid rgba(217,119,6,.25);border-radius:12px;padding:14px;transition:border-color .2s,background-color .2s,box-shadow .2s,transform .2s;color:var(--tx);box-shadow:0 4px 14px rgba(0,0,0,.06);}
.cs-obj:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.12);background:linear-gradient(135deg,rgba(255,243,224,.85),rgba(255,224,178,.85));}
.cs-obj-q{font-size:13.5px;font-weight:700;color:var(--wa);margin-bottom:7px;}
.cs-obj-a{font-size:13px;color:var(--ts);line-height:1.6;}
.cs-sms-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:16px;}
.cs-sms{position:relative;background:var(--cd);border:1px solid var(--bd);border-radius:12px;padding:14px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s,border-color .2s,background-color .2s;box-shadow:0 4px 14px rgba(0,0,0,.06);}
.cs-sms::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#6366F1,#00B8D4);opacity:.85;}
.cs-sms:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.12);border-color:var(--c2,var(--tm));}
.cs-sms-t{font-size:13.5px;font-weight:700;color:#6366F1;margin-bottom:7px;}
.cs-sms-b{font-size:13px;color:var(--tx);line-height:1.65;margin-bottom:10px;}
.cs-copy{margin-top:10px;align-self:flex-start;background:var(--cd);color:var(--ts);border:1px solid var(--bd);border-radius:8px;padding:6px 12px;font-size:12px;cursor:pointer;font-weight:500;box-shadow:none;}
.cs-copy:hover{background:var(--bg);color:var(--tx);border-color:var(--c2,var(--tm));transform:none;filter:none;}
.cs-copy-amber{background:var(--cd);border-color:var(--bd);box-shadow:none;}
.cs-gcard-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap;align-items:center;}
.cs-copy-view{background:var(--bg);color:var(--tx);border-color:var(--c2,var(--tm));}
.cs-copy-view:hover{background:var(--cd);color:var(--tx);border-color:var(--c2,var(--tm));filter:brightness(1.05);}
.cs-copy-view-active{background:linear-gradient(135deg,var(--pd),#00B8D4);color:#fff;border-color:transparent;box-shadow:0 4px 12px rgba(30,136,229,.28);}
.cs-copy-view-active:hover{color:#fff;filter:brightness(1.05);}


/* ===== 病种筛选 Pill Bar ===== */
.cs-filter-bar{margin-top:20px;}
.cs-filter-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;flex-wrap:wrap;}
.cs-filter-hint{font-size:12px;color:var(--ts);font-weight:400;}
.cs-filter-pills{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:6px;}
.cs-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:999px;background:var(--cd);border:1.5px solid var(--bd);color:var(--tx);font-size:13px;font-weight:600;cursor:pointer;transition:all .22s;white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.06);}
.cs-pill:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.10);border-color:var(--c2,var(--tm));}
.cs-pill-act{background:linear-gradient(135deg,var(--pd),#00B8D4);color:#fff;border-color:transparent;box-shadow:0 4px 14px rgba(30,136,229,.32);}
.cs-pill-act:hover{border-color:transparent;box-shadow:0 6px 18px rgba(30,136,229,.40);}
.cs-pill span{font-size:13px;}
#cs-disease-root{min-height:120px;}
.cs-root.cs-theme-if .cs-hero{background:linear-gradient(135deg,#6366F1 0%,#3B82F6 52%,#06B6D4 100%);box-shadow:0 20px 48px rgba(99,102,241,.32),0 2px 8px rgba(0,0,0,.12);}
.cs-root.cs-theme-if .cs-hero::after{background:radial-gradient(circle,rgba(255,255,255,.26),transparent 62%);}
.cs-root.cs-theme-if .cs-fw-head::after{background:linear-gradient(90deg,#3B82F6,#6366F1);}
.cs-root.cs-theme-if .cs-fw-step:hover{border-color:#3B82F6;}
.cs-root.cs-theme-if .cs-fw-n{background:linear-gradient(135deg,#6366F1,#3B82F6);box-shadow:0 4px 10px rgba(59,130,246,.34);}
.cs-root.cs-theme-if .cs-group-bar{background:linear-gradient(180deg,#3B82F6,#6366F1);box-shadow:0 2px 6px rgba(59,130,246,.32);}
.cs-root.cs-theme-if .cs-script::before,.cs-root.cs-theme-if .cs-gcard::before,.cs-root.cs-theme-if .cs-step::before{background:linear-gradient(90deg,#3B82F6,#6366F1);}
.cs-root.cs-theme-if .cs-script:hover,.cs-root.cs-theme-if .cs-gcard:hover,.cs-root.cs-theme-if .cs-step:hover{border-color:#3B82F6;}
.cs-root.cs-theme-if .cs-script-t,.cs-root.cs-theme-if .cs-gcard-t{color:#1D4ED8;}
.cs-root.cs-theme-if .cs-step-n{background:#3B82F6;box-shadow:0 4px 10px rgba(59,130,246,.34);}
.cs-root.cs-theme-if .cs-copy{background:linear-gradient(135deg,#6366F1,#3B82F6);box-shadow:0 4px 12px rgba(59,130,246,.30);}
.cs-root.cs-theme-if .cs-copy-view{background:var(--bg);border-color:var(--bd);color:var(--tx);box-shadow:none;}
.cs-root.cs-theme-if .cs-copy-view:hover{background:var(--cd);border-color:#3B82F6;color:var(--tx);}
.cs-root.cs-theme-if .cs-copy-view-active{background:linear-gradient(135deg,#6366F1,#3B82F6);color:#fff;border-color:transparent;box-shadow:0 4px 12px rgba(59,130,246,.30);}
.cs-root.cs-theme-if .cs-copy-view-active:hover{color:#fff;filter:brightness(1.05);}
.cs-root.cs-theme-if .cs-gcard-tip{border-left-color:#3B82F6;}
.cs-root.cs-theme-if .cs-collapsible{border-left-color:#3B82F6;}

/* 胃肠信息流主题 */
.cs-root.cs-theme-wcif .cs-hero{background:linear-gradient(135deg,#4338CA 0%,#6366F1 52%,#8B5CF6 100%);box-shadow:0 20px 48px rgba(67,56,202,.32),0 2px 8px rgba(0,0,0,.12);}
.cs-root.cs-theme-wcif .cs-hero::after{background:radial-gradient(circle,rgba(255,255,255,.26),transparent 62%);}
.cs-root.cs-theme-wcif .cs-fw-head::after{background:linear-gradient(90deg,#6366F1,#4338CA);}
.cs-root.cs-theme-wcif .cs-fw-step:hover{border-color:#6366F1;}
.cs-root.cs-theme-wcif .cs-fw-n{background:linear-gradient(135deg,#4338CA,#6366F1);box-shadow:0 4px 10px rgba(99,102,241,.34);}
.cs-root.cs-theme-wcif .cs-group-bar{background:linear-gradient(180deg,#6366F1,#4338CA);box-shadow:0 2px 6px rgba(99,102,241,.32);}
.cs-root.cs-theme-wcif .cs-script::before,.cs-root.cs-theme-wcif .cs-gcard::before,.cs-root.cs-theme-wcif .cs-step::before{background:linear-gradient(90deg,#6366F1,#4338CA);}
.cs-root.cs-theme-wcif .cs-script:hover,.cs-root.cs-theme-wcif .cs-gcard:hover,.cs-root.cs-theme-wcif .cs-step:hover{border-color:#6366F1;}
.cs-root.cs-theme-wcif .cs-script-t,.cs-root.cs-theme-wcif .cs-gcard-t{color:#4338CA;}
.cs-root.cs-theme-wcif .cs-step-n{background:#6366F1;box-shadow:0 4px 10px rgba(99,102,241,.34);}
.cs-root.cs-theme-wcif .cs-copy{background:linear-gradient(135deg,#4338CA,#6366F1);box-shadow:0 4px 12px rgba(99,102,241,.30);}
.cs-root.cs-theme-wcif .cs-copy-view{background:var(--bg);border-color:var(--bd);color:var(--tx);box-shadow:none;}
.cs-root.cs-theme-wcif .cs-copy-view:hover{background:var(--cd);border-color:#6366F1;color:var(--tx);}
.cs-root.cs-theme-wcif .cs-copy-view-active{background:linear-gradient(135deg,#4338CA,#6366F1);color:#fff;border-color:transparent;box-shadow:0 4px 12px rgba(99,102,241,.30);}
.cs-root.cs-theme-wcif .cs-copy-view-active:hover{color:#fff;filter:brightness(1.05);}
.cs-root.cs-theme-wcif .cs-gcard-tip{border-left-color:#6366F1;}
.cs-root.cs-theme-wcif .cs-collapsible{border-left-color:#6366F1;}

/* 转化体系响应式 */
@media (max-width:640px){
  .cs-hero-top{flex-wrap:wrap;}
  .cs-goal{margin-top:0;margin-left:0;align-self:flex-start;width:100%;}
  .cs-kpi{min-width:120px;padding:12px 6px}
  .cs-kpi-v{font-size:20px}
  .cs-kpi-l{font-size:11px}
}

/* ===== 公海回访体系 · 渠道切换标签 ===== */
.gh-ch-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 14px;padding:6px;background:var(--cd);border:1px solid var(--bd);border-radius:14px;width:fit-content;max-width:100%;box-shadow:0 4px 14px rgba(0,0,0,.06);}
.gh-ch-tab{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border-radius:10px;font-size:13.5px;font-weight:700;color:var(--tx);cursor:pointer;transition:all .18s;white-space:nowrap;border:1px solid transparent;background:transparent;}
.gh-ch-tab:hover{background:var(--bg);border-color:var(--bd);}
.gh-ch-tab.on{background:linear-gradient(135deg,var(--pd),#00B8D4);color:#fff;border-color:transparent;box-shadow:0 4px 14px rgba(30,136,229,.32);}
@media(max-width:640px){
  .gh-ch-tabs{width:100%;}
  .gh-ch-tab{flex:1;justify-content:center;min-width:110px;padding:10px 8px;font-size:13px;}
}

/* ===== 转化体系 · 电话对话树 ===== */
.cs-dlg{display:flex;flex-direction:column;gap:14px;background:var(--cd);border:1px solid var(--bd);border-radius:16px;padding:18px;box-shadow:0 4px 14px rgba(0,0,0,.06);}
.cs-dlg-open{display:flex;align-items:flex-start;gap:12px;background:linear-gradient(135deg,rgba(13,148,136,.10),rgba(6,182,212,.08));border:1px solid rgba(13,148,136,.22);border-radius:14px;padding:14px 16px;}
.cs-dlg-open-l{flex:none;display:inline-flex;align-items:center;gap:6px;background:#0D9488;color:#fff;font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px;white-space:nowrap;margin-top:2px;}
.cs-dlg-open-tx{flex:1;font-size:13.5px;color:var(--tx);line-height:1.75;}
.cs-dlg-branches{display:flex;flex-direction:column;gap:12px;}
.cs-dlg-b{display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--bd);border-radius:14px;overflow:hidden;position:relative;transition:transform .2s,box-shadow .2s,border-color .2s;}
.cs-dlg-b::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--wa),var(--p));opacity:.75;}
.cs-dlg-b:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.10);border-color:var(--c2,var(--tm));}
.cs-dlg-p,.cs-dlg-a{padding:14px 16px;font-size:13.5px;line-height:1.75;display:flex;gap:10px;align-items:flex-start;color:var(--tx);}
.cs-dlg-p{border-bottom:1px dashed var(--bd);}
.cs-dlg-p-l,.cs-dlg-a-l{flex:none;display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:800;letter-spacing:.4px;padding:4px 9px;border-radius:999px;margin-top:1px;}
.cs-dlg-p-l{color:var(--wa);background:rgba(245,158,11,.12);}
.cs-dlg-a-l{color:var(--p);background:rgba(59,130,246,.12);}

/* ===== 转化体系 · 回访体系架构步骤优化 ===== */
.cs-hero-top{align-items:flex-start;}
.cs-goal{margin-top:0;margin-left:auto;align-self:flex-start;}
.cs-fw{padding-bottom:12px;}
.cs-fw-step{min-width:140px;padding:16px 12px;}
.cs-fw-n{margin-bottom:10px;width:30px;height:30px;line-height:30px;font-size:14px;}
.cs-fw-t{font-size:13.5px;}
.cs-fw-d{font-size:12px;line-height:1.55;margin-top:6px;}
@media(max-width:860px){
  .cs-fw{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
  .cs-fw-arrow{display:none;}
  .cs-fw-step{min-width:0;}
}
@media(max-width:560px){
  .cs-fw{grid-template-columns:repeat(2,1fr);}
}

/* ===== 历史分析报告精装版样式（fxr-*） ===== */
.fxr-report{--fxr-green:var(--su);--fxr-green-d:#248a3d;--fxr-green-l:#e8f9ee;--fxr-blue:var(--p);--fxr-blue-d:var(--pd);--fxr-blue-l:#e9f2ff;--fxr-red:var(--da);--fxr-red-d:#c4261d;--fxr-red-l:#ffeceb;--fxr-orange:var(--wa);--fxr-ink:var(--tx);--fxr-ink2:var(--ts);--fxr-line:var(--bd);--fxr-radius:18px;--fxr-shadow:0 2px 4px rgba(0,0,0,.05),0 10px 24px rgba(0,0,0,.08);font-size:14px;color:var(--tx);line-height:1.72;padding:2px 0 18px}
.fxr-hero{position:relative;margin:10px 0 24px;padding:30px 32px 26px;border-radius:26px;overflow:hidden;background:linear-gradient(135deg,#0b7a36 0%,#16a34a 42%,#22c55e 100%);color:#fff;box-shadow:0 18px 50px rgba(22,163,74,.28)}
.fxr-hero::after{content:'';position:absolute;right:-60px;top:-60px;width:260px;height:260px;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 70%);border-radius:50%;pointer-events:none}
.fxr-hero>*{position:relative;z-index:1}
.fxr-kicker{font-size:12px;letter-spacing:2.5px;font-weight:600;opacity:.92;text-transform:uppercase}
.fxr-hero h1{font-size:32px;line-height:1.18;font-weight:800;margin:10px 0 12px;letter-spacing:-.5px}
.fxr-hero h1 .fxr-plus{color:#fff200}
.fxr-hero p{font-size:14px;opacity:.95;max-width:760px}
.fxr-hero b{color:#fff;font-weight:700}
.fxr-target{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:8px 16px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);border-radius:999px;font-size:13px;font-weight:600;backdrop-filter:blur(8px)}
.fxr-target b{font-size:15px;color:#fff200}
.fxr-pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;vertical-align:middle;letter-spacing:.3px}
.fxr-pill.win{background:var(--fxr-green-l);color:var(--fxr-green-d)}
.fxr-pill.opt{background:var(--fxr-blue-l);color:var(--fxr-blue-d)}
.fxr-pill::before{content:'';width:6px;height:6px;border-radius:50%}
.fxr-pill.win::before{background:var(--fxr-green)}.fxr-pill.opt::before{background:var(--fxr-blue)}
.fxr-sec{margin-top:30px}
.fxr-sec-head{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}
.fxr-sec-no{font-size:13px;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--fxr-green),var(--fxr-blue));min-width:30px;height:30px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.fxr-sec-head h2{font-size:20px;font-weight:700;letter-spacing:-.3px;color:var(--tx)}
.fxr-sec-meta{font-size:12px;color:var(--ts);margin-left:auto}
.fxr-card{background:var(--cd);border:1px solid var(--bd);border-radius:var(--fxr-radius);box-shadow:var(--fxr-shadow);padding:18px 20px;margin:12px 0}
.fxr-card.win{border-top:3px solid var(--fxr-green)}
.fxr-card.opt{border-top:3px solid var(--fxr-blue)}
.fxr-card h3{font-size:16px;font-weight:700;margin-bottom:10px;color:var(--tx)}
.fxr-card h3 small{font-size:12px;color:var(--ts);font-weight:500}
.fxr-card p{font-size:13.5px;color:var(--ts);margin:6px 0}
.fxr-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}
.fxr-metric{background:var(--cd);border:1px solid var(--bd);border-radius:16px;padding:16px 14px;text-align:center;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.fxr-metric .num{font-size:28px;font-weight:800;letter-spacing:-1px;line-height:1}
.fxr-metric .num.g{color:var(--fxr-green)}.fxr-metric .num.b{color:var(--fxr-blue)}.fxr-metric .num.r{color:var(--fxr-red)}
.fxr-metric .lab{font-size:12px;color:var(--ts);margin-top:8px;font-weight:500}
.fxr-metric .sub{font-size:11px;color:var(--ts);margin-top:3px;opacity:.8}
.fxr-tbl{width:100%;border-collapse:separate;border-spacing:0;margin:12px 0;font-size:13px;background:var(--cd);border-radius:14px;overflow:hidden;border:1px solid var(--bd)}
.fxr-tbl th{background:var(--bg);color:var(--tx);font-weight:700;padding:12px 14px;text-align:left;font-size:12.5px;border-bottom:1px solid var(--bd)}
.fxr-tbl td{padding:11px 14px;border-bottom:1px solid var(--bd);vertical-align:top;color:var(--ts)}
.fxr-tbl tr:last-child td{border-bottom:none}
.fxr-tbl tr:hover td{background:var(--bg)}
.fxr-tbl td b{color:var(--tx)}
.fxr-tbl .c{text-align:center}
.fxr-note{font-size:12.5px;color:var(--ts);background:var(--bg);border:1px dashed var(--bd);border-radius:12px;padding:12px 14px;margin:12px 0;display:flex;gap:10px;align-items:flex-start}
.fxr-note .ico{flex:none;width:20px;height:20px;border-radius:6px;background:var(--fxr-blue-l);color:var(--fxr-blue-d);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;margin-top:1px}
.fxr-x{background:var(--fxr-red-l);border:1px solid #ffc9c5;border-radius:16px;padding:14px 16px;margin:12px 0}
.fxr-x .xt{font-size:14px;font-weight:700;color:var(--fxr-red-d);margin-bottom:8px;display:flex;align-items:center;gap:8px}
.fxr-x ul{margin:0;padding-left:20px}.fxr-x li{margin:5px 0;color:var(--fxr-red-d);font-size:13px}
.fxr-script{background:linear-gradient(180deg,var(--cd),var(--bg));border:1px solid var(--bd);border-left:4px solid var(--fxr-green);border-radius:14px;padding:14px 18px;margin:12px 0;box-shadow:0 1px 2px rgba(0,0,0,.04);position:relative}
.fxr-script .tag{position:absolute;top:-10px;left:14px;background:var(--fxr-green);color:#fff;font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px}
.fxr-script.alt{border-left-color:var(--fxr-blue)}.fxr-script.alt .tag{background:var(--fxr-blue)}
.fxr-script.night{border-left-color:var(--fxr-orange)}.fxr-script.night .tag{background:var(--fxr-orange)}
.fxr-script p{font-size:13.5px;color:var(--ts);margin:6px 0}
.fxr-script .q{font-size:14px;color:var(--tx);font-weight:600;line-height:1.8}
.fxr-script .arrow{color:var(--fxr-green-d);font-weight:600;font-size:12.5px;margin-top:8px;background:var(--fxr-green-l);display:inline-block;padding:4px 12px;border-radius:9px}
.fxr-script.alt .arrow{color:var(--fxr-blue-d);background:var(--fxr-blue-l)}
.fxr-script.night .arrow{color:#a85b00;background:#fff3e0}
.fxr-hl{background:linear-gradient(180deg,transparent 62%,rgba(52,199,89,.28) 62%);font-weight:700;color:var(--tx)}
.fxr-hl-b{background:linear-gradient(180deg,transparent 62%,rgba(59,130,246,.22) 62%);font-weight:700;color:var(--tx)}
.fxr-bad{color:var(--fxr-red-d);font-weight:700}.fxr-ok{color:var(--fxr-green-d);font-weight:700}
.fxr-real{font-size:13px;color:var(--ts);padding-left:12px;border-left:2px solid var(--fxr-green-l);margin:6px 0}
.fxr-real b{color:var(--fxr-green-d)}
.fxr-foot{margin-top:26px;padding-top:14px;border-top:1px solid var(--bd);font-size:11.5px;color:var(--ts);display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}
.fxr-foot .dot{width:5px;height:5px;border-radius:50%;background:var(--ts);display:inline-block}
[data-theme="dark"] .fxr-pill.win{background:rgba(52,199,89,.18);color:#86efac}
[data-theme="dark"] .fxr-pill.opt{background:rgba(59,130,246,.18);color:#93c5fd}
[data-theme="dark"] .fxr-x{background:rgba(255,59,48,.12);border-color:rgba(255,59,48,.25)}
[data-theme="dark"] .fxr-x .xt,[data-theme="dark"] .fxr-x li{color:#ff7b72}
[data-theme="dark"] .fxr-note .ico{background:rgba(59,130,246,.18);color:#93c5fd}
[data-theme="dark"] .fxr-script .arrow{background:rgba(52,199,89,.18);color:#86efac}
[data-theme="dark"] .fxr-script.alt .arrow{background:rgba(59,130,246,.18);color:#93c5fd}
[data-theme="dark"] .fxr-script.night .arrow{background:rgba(255,149,0,.18);color:#fdba74}
[data-theme="dark"] .fxr-bad{color:#ff7b72}
[data-theme="dark"] .fxr-ok{color:#86efac}
[data-theme="dark"] .fxr-real b{color:#86efac}
@media (max-width:640px){.fxr-metrics{grid-template-columns:1fr}.fxr-hero h1{font-size:26px}}


/* ===== Premium Visual Upgrade 2026.07.12 ===== */

/* --- AI Chat Mode Bar (unified framework / DeepSeek / Doubao) --- */
.ds-topbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap;padding:10px 14px;background:var(--cd);border:1px solid var(--bd);border-radius:16px;box-shadow:var(--shd)}
.ds-topbar-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ds-topbar-right{display:flex;gap:6px;align-items:center}
.ds-title{font-size:17px;font-weight:800;color:#000;letter-spacing:-.3px;display:inline-flex;align-items:center;gap:6px}
[data-theme="dark"] .ds-title{color:var(--tx)}
.ds-mode-bar{display:inline-flex;align-items:center;background:var(--bg);border:1px solid var(--bd);border-radius:14px;padding:4px;gap:2px;box-shadow:inset 0 1px 2px rgba(0,0,0,.04)}
.ds-mode-opt{position:relative;display:flex;align-items:center;gap:5px;padding:6px 12px 6px 9px;border-radius:11px;cursor:pointer;font-size:14px;font-weight:700;color:#111827;transition:all .25s cubic-bezier(.4,0,.2,1);user-select:none}
.ds-mode-opt:hover{background:rgba(59,130,246,.08);color:#000}
.ds-mode-opt.act{background:#fff;color:var(--p);box-shadow:0 2px 8px rgba(59,130,246,.22);font-weight:800}
[data-theme="dark"] .ds-mode-opt{color:rgba(235,235,245,.75)}
[data-theme="dark"] .ds-mode-opt:hover{color:#fff}
[data-theme="dark"] .ds-mode-opt.act{background:#2C2C2E;color:var(--pl)}
.ds-mode-icon{font-size:14px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.08))}
.ds-mode-sub{font-size:11px;color:#374151;font-weight:600;margin-left:1px}
.ds-mode-opt.act .ds-mode-sub{color:var(--pl)}
[data-theme="dark"] .ds-mode-sub{color:rgba(235,235,245,.65)}
[data-theme="dark"] .ds-mode-opt.act .ds-mode-sub{color:#93C5FD}
.ds-search-badge{cursor:pointer;font-size:14px;font-weight:700;padding:5px 12px;border-radius:20px;background:rgba(59,130,246,.10);color:#111827;border:1px solid rgba(59,130,246,.30);transition:all .2s;user-select:none;letter-spacing:.2px}
.ds-search-badge:hover{background:rgba(59,130,246,.16);color:#000;border-color:rgba(59,130,246,.5)}
.ds-search-badge.on{background:#D1FAE5;color:#047857;border-color:#34D399;font-weight:800}
[data-theme="dark"] .ds-search-badge{background:rgba(59,130,246,.16);color:var(--st);border-color:rgba(99,179,255,.40)}
[data-theme="dark"] .ds-search-badge:hover{background:rgba(59,130,246,.26);color:var(--tx);border-color:rgba(99,179,255,.6)}
[data-theme="dark"] .ds-search-badge.on{background:rgba(16,185,129,.18);color:#6EE7B7;border-color:rgba(16,185,129,.5)}

/* --- 问答附件（图片/文档 粘贴·上传） --- */
.ds-atch-btn{font-size:14px;line-height:1;padding:6px 11px;border-radius:10px}
.ds-attach:empty{display:none}
.ds-atch{position:relative;display:flex;align-items:center;gap:6px;padding:5px 9px 5px 7px;background:var(--bg);border:1px solid var(--bd);border-radius:10px;font-size:12px;color:var(--st);max-width:210px}
.ds-atch-img{width:34px;height:34px;border-radius:7px;object-fit:cover;flex-shrink:0;border:1px solid var(--bd)}
.ds-atch-doc{width:34px;height:34px;border-radius:7px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:16px;background:linear-gradient(135deg,var(--p),var(--pl));color:#fff}
.ds-atch-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}
.ds-atch-x{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;background:var(--da);color:#fff;border:none;font-size:11px;line-height:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.ds-drop-hint{outline:2px dashed rgba(59,130,246,.5);outline-offset:2px}
.ds-tbtn{font-size:13px;padding:6px 12px;border-radius:10px}
.ds-msg-mode{display:inline-flex;align-items:center;gap:3px}

/* --- Sidebar Premium --- */
.sb-hd{padding:26px 16px 20px;border-bottom:1px solid var(--bd);background:linear-gradient(180deg,var(--sb) 0%,rgba(59,130,246,.04) 100%);position:relative}
.sb-hd .ls{width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,var(--p),var(--pl));box-shadow:0 6px 18px rgba(59,130,246,.28);transition:transform .3s}
.sb-hd:hover .ls{transform:scale(1.05) rotate(-3deg)}
.sb-hd .an{font-size:20px;font-weight:800;letter-spacing:-.5px}
.sb-hd .an-sub{font-size:12px;font-weight:500;color:var(--tm);margin-top:1px}
.sb-hd .av{display:inline-flex;align-items:center;gap:4px;background:var(--pb);color:var(--p);padding:2px 10px;border-radius:20px;font-size:10px;letter-spacing:.5px;font-weight:700;margin-top:4px}
.sb-hd::after{content:'';position:absolute;bottom:0;left:16px;right:16px;height:1px;background:linear-gradient(90deg,transparent,var(--p),transparent);opacity:.2}
.sb-nv{padding:12px 0}
.sb-nv .nv-lb{display:inline-flex;align-items:center;gap:6px;padding:10px 16px 6px;color:var(--tm);font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.sb-nv .nv-lb::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--p);opacity:.5}
.sb-nv .ni{display:flex;align-items:center;gap:11px;padding:11px 14px;margin:3px 10px;border-radius:12px;font-size:14.5px;font-weight:600;color:var(--st);position:relative;transition:all .2s cubic-bezier(.4,0,.2,1)}
.sb-nv .ni::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:0 4px 4px 0;background:var(--p);opacity:0;transition:opacity .2s}
.sb-nv .ni:hover{background:var(--sh);color:var(--tx);transform:translateX(2px)}
.sb-nv .ni:hover::before{opacity:.25}
.sb-nv .ni.act{background:linear-gradient(90deg,var(--pb),rgba(59,130,246,.06));color:var(--p)!important;font-weight:700;box-shadow:0 2px 10px rgba(59,130,246,.1)}
.sb-nv .ni.act::before{opacity:1}
.sb-nv .ni .nv-i{width:23px;height:23px;transition:transform .2s}
.sb-nv .ni:hover .nv-i{transform:scale(1.1)}
.sb-nv .ni .bdg{margin-left:auto;background:linear-gradient(135deg,var(--da),#FF6B6B);color:#fff;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700;box-shadow:0 2px 6px rgba(255,59,48,.2)}
.sb-nv .nv-div{margin:10px 16px;background:linear-gradient(90deg,transparent,var(--bd),transparent);opacity:.6}
.sb-ft{padding:12px 14px;border-top:1px solid var(--bd);background:var(--sb);display:flex;align-items:center;gap:10px}
.sb-ft .ua{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--p),var(--pl));box-shadow:0 4px 12px rgba(59,130,246,.25)}
.sb-ft .un{font-size:14px;font-weight:700}
.sb-ft .ur{font-size:11px;font-weight:500;color:var(--tm)}
.sb-ft .lo{width:34px;height:34px;border-radius:10px;background:var(--bg);color:var(--ts);transition:all .2s}
.sb-ft .lo:hover{background:var(--da);color:#fff;transform:rotate(90deg)}

/* --- Top Bar Premium --- */
.tb{padding:12px 24px;background:rgba(255,255,255,.78);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-bottom:1px solid var(--bd);box-shadow:0 1px 0 rgba(255,255,255,.5) inset}
[data-theme="dark"] .tb{background:rgba(28,28,30,.78)}
.tb .hm{width:36px;height:36px;border-radius:11px;background:var(--cd);border:1px solid var(--bd);color:var(--ts);font-size:17px;box-shadow:var(--shd);transition:all .2s}
.tb .hm:hover{background:var(--p);color:#fff;border-color:var(--p);transform:scale(1.05)}
.tb .pt{font-size:22px;font-weight:800;letter-spacing:-.6px;background:linear-gradient(90deg,var(--tx),var(--p));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.tb-logo{width:26px;height:26px;color:var(--p);filter:drop-shadow(0 2px 4px rgba(59,130,246,.2))}
.th-btn{width:34px;height:34px;border-radius:50%;border:1px solid var(--bd);background:var(--cd);color:var(--ts);font-size:16px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;box-shadow:var(--shd)}
.th-btn:hover{background:var(--p);color:#fff;border-color:var(--p);transform:rotate(15deg) scale(1.05)}

/* --- Buttons Premium --- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:10px;border:1px solid var(--bd);background:var(--cd);color:var(--tx);cursor:pointer;font-size:13px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(0,0,0,.08)}
.btn:active{transform:translateY(0)}
.btn-p{background:linear-gradient(135deg,var(--p),var(--pl));color:#fff;border-color:transparent;box-shadow:0 4px 14px rgba(59,130,246,.3)}
.btn-p:hover{background:linear-gradient(135deg,#1D4ED8,var(--p));box-shadow:0 6px 18px rgba(59,130,246,.38)}
.btn-s{background:linear-gradient(135deg,var(--su),#30D158);color:#fff;border-color:transparent;box-shadow:0 4px 14px rgba(52,199,89,.26)}
.btn-s:hover{background:linear-gradient(135deg,#248A3D,var(--su));box-shadow:0 6px 18px rgba(52,199,89,.32)}
.btn-d{background:linear-gradient(135deg,var(--da),#FF6B6B);color:#fff;border-color:transparent;box-shadow:0 4px 14px rgba(255,59,48,.26)}
.btn-d:hover{background:linear-gradient(135deg,#D32F2F,var(--da));box-shadow:0 6px 18px rgba(255,59,48,.32)}
.btn-w{background:linear-gradient(135deg,var(--wa),#FFB340);color:#fff;border-color:transparent;box-shadow:0 4px 14px rgba(255,149,0,.26)}
.btn-w:hover{background:linear-gradient(135deg,#E68600,var(--wa));box-shadow:0 6px 18px rgba(255,149,0,.32)}
.btn-gh{background:transparent;border-color:transparent;color:var(--ts)}
.btn-gh:hover{background:var(--sh);color:var(--tx);box-shadow:none}
.btn-sm{padding:6px 12px;font-size:12px;border-radius:8px}
.btn-xs{padding:4px 10px;font-size:11px;border-radius:7px}

/* --- Cards & Containers Premium --- */
.hm-card,.bb-msgs,.bb-inp,.sc-card,.card-like{background:var(--cd);border:1px solid var(--bd);border-radius:18px;box-shadow:0 4px 16px rgba(0,0,0,.04);transition:box-shadow .2s,transform .2s}
.hm-card:hover,.bb-msgs:hover,.bb-inp:hover,.sc-card:hover{box-shadow:0 6px 22px rgba(0,0,0,.08)}
.hm-card{padding:18px 20px}
.bb-msgs{padding:18px}
.bb-inp{padding:12px}
.bb-inp textarea{border-radius:14px;padding:12px 16px;border:1px solid var(--bd);background:var(--bg);transition:all .2s}
.bb-inp textarea:focus{outline:none;border-color:var(--p);box-shadow:0 0 0 4px rgba(59,130,246,.1);background:var(--cd)}
.bb-inp .ia .btn{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--p),var(--pl));color:#fff;border:none;box-shadow:0 4px 12px rgba(59,130,246,.25);transition:all .2s}
.bb-inp .ia .btn:hover{transform:scale(1.08);box-shadow:0 6px 16px rgba(59,130,246,.35)}
.sc-card{padding:18px;border-radius:18px;margin-bottom:12px}
.sc-card .sc-acts .btn{font-size:12px;padding:6px 12px;border-radius:8px}
.sc-empty{padding:50px 20px;text-align:center;color:var(--tm);background:var(--cd);border:1px dashed var(--bd);border-radius:18px}

/* --- Chat Message Bubbles Premium --- */
#ds-msgs>div[style*="background:var(--pb)"],.ai-msg{border-radius:18px!important;padding:16px 18px!important;border:1px solid rgba(52,199,89,.18)!important;background:linear-gradient(135deg,rgba(52,199,89,.10),rgba(52,199,89,.06))!important;box-shadow:0 4px 14px rgba(52,199,89,.08)!important}
#ds-msgs>div[style*="background:var(--bg)"],.user-msg{border-radius:18px!important;padding:14px 16px!important;border:1px solid var(--bd)!important;background:var(--cd)!important;box-shadow:0 4px 14px rgba(0,0,0,.04)!important}
[data-theme="dark"] #ds-msgs>div[style*="background:var(--pb)"],.ai-msg{background:linear-gradient(135deg,rgba(52,199,89,.12),rgba(52,199,89,.06))!important}

/* --- Tables Premium --- */
table,.tbl{width:100%;border-collapse:separate;border-spacing:0;background:var(--cd);border-radius:14px;overflow:hidden;border:1px solid var(--bd);box-shadow:0 4px 16px rgba(0,0,0,.04);font-size:13px}
.tbl th{background:linear-gradient(180deg,var(--bg),var(--sh));color:var(--tx);font-weight:700;padding:12px 14px;text-align:left;border-bottom:1px solid var(--bd)}
.tbl td{padding:11px 14px;border-bottom:1px solid var(--bd);color:var(--tx)}
.tbl tr:last-child td{border-bottom:none}
.tbl tr:hover td{background:var(--bg)}
.tbl tr:nth-child(even) td{background:rgba(59,130,246,.02)}
.tbl tr:nth-child(even):hover td{background:var(--bg)}

/* --- Forms Premium --- */
.fg{margin-bottom:14px}
.fg label{display:block;margin-bottom:6px;font-size:12px;font-weight:700;color:var(--ts);text-transform:uppercase;letter-spacing:.5px}
input[type="text"],input[type="password"],input[type="number"],input[type="email"],input[type="tel"],select,textarea{width:100%;padding:11px 14px;border:1.5px solid var(--bd);border-radius:12px;background:var(--cd);color:var(--tx);font-size:14px;transition:all .2s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--p);box-shadow:0 0 0 4px rgba(59,130,246,.1)}
select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:38px}

/* --- Tabs Premium 3.0 — 表头突出、层次清晰、动效精致 --- */
.tabs{
  display:flex;gap:6px;padding:7px;border-radius:18px;margin-bottom:22px;
  background:linear-gradient(180deg,var(--cd) 0%,var(--bg) 100%);
  border:1px solid var(--bd);
  box-shadow:0 6px 22px rgba(0,0,0,.08),0 1px 3px rgba(0,0,0,.04),inset 0 1px 0 rgba(255,255,255,.55);
  position:relative;overflow:hidden
}
.tabs::before{
  content:'';position:absolute;left:0;top:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,105,0,.45),transparent)
}
[data-theme="dark"] .tabs{
  background:linear-gradient(180deg,rgba(30,35,50,.85),rgba(15,20,35,.7));
  border-color:rgba(255,255,255,.12);
  box-shadow:0 8px 28px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.06)
}
[data-theme="dark"] .tabs::before{background:linear-gradient(90deg,transparent,rgba(255,105,0,.35),transparent)}
.tab{
  position:relative;padding:11px 18px;border-radius:13px;font-size:15px;font-weight:700;
  color:rgba(60,60,67,.72);cursor:pointer;border:none;background:transparent;
  flex:1;text-align:center;letter-spacing:.45px;white-space:nowrap;
  transition:all .28s cubic-bezier(.4,0,.2,1);overflow:hidden;z-index:1
}
[data-theme="dark"] .tab{color:rgba(235,235,245,.65)}
.tab::before{
  content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,105,0,.14),rgba(255,140,66,.08));
  opacity:0;transition:opacity .28s ease;border-radius:13px;z-index:-1
}
.tab:hover{color:var(--tx);transform:translateY(-1px)}
.tab:hover::before{opacity:1}
[data-theme="dark"] .tab:hover{color:#fff}
.tab.act{
  background:linear-gradient(135deg,#FF6900 0%,#FF8C42 100%);color:#fff;font-weight:800;
  font-size:15.5px;letter-spacing:.6px;
  box-shadow:0 6px 20px rgba(255,105,0,.42),0 2px 6px rgba(0,0,0,.1),inset 0 1px 0 rgba(255,255,255,.28);
  text-shadow:0 1px 2px rgba(0,0,0,.18);transform:translateY(-2px)
}
.tab.act:hover{background:linear-gradient(135deg,#FF7A1A 0%,#FF9A5C 100%);transform:translateY(-2px) scale(1.01)}
.tab .tab-ico{margin-right:6px;font-size:1.05em;vertical-align:-1px}

/* --- 咨询技能中心顶部 tab 栏：白色主题背景 --- */
.zx-tabs{background:#fff;border:1px solid rgba(60,60,67,.10);box-shadow:0 2px 12px rgba(0,0,0,.05),inset 0 1px 0 rgba(255,255,255,.8)}
.zx-tabs::before{display:none}
.zx-tabs .tab{color:rgba(60,60,67,.72)}
.zx-tabs .tab:hover{color:#000;background:rgba(59,130,246,.07)}
.zx-tabs .tab.act{background:var(--ac-grad);color:#fff;font-weight:800;box-shadow:0 6px 20px rgba(59,130,246,.32),inset 0 1px 0 rgba(255,255,255,.25)}
.zx-tabs .tab.act:hover{background:linear-gradient(135deg,var(--ac-2),var(--ac-3));color:#fff}
[data-theme="dark"] .zx-tabs{background:#fff;border-color:rgba(60,60,67,.14);box-shadow:0 4px 18px rgba(0,0,0,.35)}
[data-theme="dark"] .zx-tabs .tab{color:rgba(60,60,67,.72)}
[data-theme="dark"] .zx-tabs .tab:hover{color:#000;background:rgba(59,130,246,.08)}
[data-theme="dark"] .zx-tabs .tab.act{color:#fff}

.fx-tabs{padding:6px;border-radius:15px;background:linear-gradient(180deg,rgba(30,41,59,.85),rgba(15,23,42,.75));border:1px solid rgba(148,163,184,.25);box-shadow:0 4px 14px rgba(15,23,42,.18);margin-bottom:20px}
[data-theme="dark"] .fx-tabs{background:linear-gradient(180deg,rgba(30,41,59,.95),rgba(15,23,42,.9));border-color:rgba(148,163,184,.2);box-shadow:0 4px 20px rgba(0,0,0,.5)}
.fx-tabs .fx-tab{padding:11px 18px;border-radius:12px;font-size:14px;font-weight:700;color:#94A3B8;transition:all .22s;cursor:pointer;border:none;background:transparent;flex:1;text-align:center;letter-spacing:.4px}
.fx-tabs .fx-tab:hover{color:#E2E8F0;background:rgba(255,255,255,.06)}
.fx-tabs .fx-tab.act{background:linear-gradient(135deg,var(--p),var(--pl));color:#fff;box-shadow:0 5px 18px rgba(59,130,246,.36),inset 0 1px 0 rgba(255,255,255,.25);font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.15);transform:translateY(-1px)}

/* --- 次级导航 also 强化 --- */
.fx-sub-tabs{padding:6px;border-radius:12px;background:linear-gradient(180deg,rgba(60,60,67,.12),rgba(60,60,67,.06));border:1px solid var(--bd);box-shadow:0 2px 8px rgba(0,0,0,.06);margin-bottom:12px}
[data-theme="dark"] .fx-sub-tabs{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04));border-color:rgba(255,255,255,.1)}
.fx-sub-tab{padding:9px 10px;border-radius:9px;font-size:13px;font-weight:700;color:var(--ts);cursor:pointer;border:none;background:transparent;flex:1;text-align:center;transition:all .2s}
.fx-sub-tab:hover{color:var(--tx);background:rgba(59,130,246,.06)}
.fx-sub-tab.act{background:linear-gradient(135deg,#0D9488,#0F766E);color:#fff!important;font-weight:800;box-shadow:0 3px 12px rgba(13,148,136,.28)}

/* --- 模块 Section Label 强化 --- */
.fx-section-label{font-size:13px;font-weight:800;color:var(--ts);margin-bottom:8px;margin-top:4px;padding-left:10px;letter-spacing:.6px;text-transform:uppercase;display:flex;align-items:center;gap:8px}
.fx-section-label::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--p);box-shadow:0 0 0 3px rgba(59,130,246,.12)}
[data-theme="dark"] .fx-section-label{color:#94A3B8}
[data-theme="dark"] .fx-section-label::before{box-shadow:0 0 0 3px rgba(96,165,250,.2)}

/* --- Section Titles Premium --- */
.page-title{font-size:24px;font-weight:800;color:var(--tx);letter-spacing:-.6px;margin-bottom:16px;display:flex;align-items:center;gap:10px}
.page-title::before{content:'';width:5px;height:26px;border-radius:3px;background:linear-gradient(180deg,var(--p),var(--pl))}
.section-title{font-size:16px;font-weight:800;color:var(--tx);margin:24px 0 12px;display:flex;align-items:center;gap:10px}
.section-title::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--bd),transparent)}

/* --- Filter Bar / Pills Premium — 用户管理、筛选器强化 --- */
.filter-bar{padding:14px 18px;margin-bottom:18px;background:linear-gradient(135deg,var(--cd),var(--bg));border:1px solid var(--bd);border-radius:16px;box-shadow:0 3px 12px rgba(0,0,0,.06),inset 0 1px 0 rgba(255,255,255,.5);position:relative;overflow:hidden}
.filter-bar::before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--p),var(--pl))}
[data-theme="dark"] .filter-bar{background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.02));box-shadow:0 3px 14px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.04)}
.filter-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.filter-row:last-child{margin-bottom:0}
.filter-label{font-size:13px;font-weight:800;color:var(--ts);min-width:52px;letter-spacing:.5px;text-transform:uppercase}
.filter-pill{cursor:pointer;padding:8px 16px;border-radius:20px;font-size:13px;font-weight:600;transition:all .2s;user-select:none;border:1px solid transparent;background:var(--bg);color:var(--ts)}
.filter-pill:hover{background:var(--sh);color:var(--tx);transform:translateY(-1px)}
.filter-pill.act{background:linear-gradient(135deg,var(--p),var(--pl));color:#fff;border-color:transparent;box-shadow:0 4px 12px rgba(59,130,246,.28);font-weight:700}
[data-theme="dark"] .filter-pill{background:rgba(255,255,255,.05);color:#94A3B8}
[data-theme="dark"] .filter-pill:hover{background:rgba(255,255,255,.1);color:#E2E8F0}
[data-theme="dark"] .filter-pill.act{background:linear-gradient(135deg,var(--pd),var(--pl));box-shadow:0 4px 14px rgba(37,99,235,.35)}

/* --- User Management Premium --- */
.us-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.us-stat-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;border:1px solid rgba(0,0,0,.06);background:linear-gradient(135deg,#F8FAFF,#EFF3FF);box-shadow:0 2px 10px rgba(0,0,0,.04);transition:transform .2s,box-shadow .2s}
.us-stat-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.08)}
.us-stat-card.admin{background:linear-gradient(135deg,#FEF2F2,#FFE4E6)}
.us-stat-card.leader{background:linear-gradient(135deg,#EFF6FF,#DBEAFE)}
.us-stat-card.consultant{background:linear-gradient(135deg,#ECFDF5,#D1FAE5)}
.us-stat-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;background:rgba(255,255,255,.7);box-shadow:0 1px 3px rgba(0,0,0,.06);backdrop-filter:blur(4px)}
.us-stat-num{font-size:24px;font-weight:800;color:var(--p);line-height:1}
.us-stat-card.admin .us-stat-icon,.us-stat-card.admin .us-stat-num{color:#DC2626}
.us-stat-card.leader .us-stat-icon,.us-stat-card.leader .us-stat-num{color:var(--pd)}
.us-stat-card.consultant .us-stat-icon,.us-stat-card.consultant .us-stat-num{color:#059669}
.us-stat-label{font-size:12px;color:var(--ts);margin-top:2px}
.us-divider{height:1px;background:linear-gradient(90deg,transparent,var(--bd),transparent);margin:18px 0}
.us-list-card{overflow-x:auto;-webkit-overflow-scrolling:touch}
.us-mobile-hint{display:none}
.us-list-header{display:grid;grid-template-columns:42px 2fr 1fr 1fr 1fr 60px 1.4fr 90px;gap:12px;align-items:center;padding:10px 18px;font-size:11px;font-weight:700;color:var(--ts);border-bottom:1px solid var(--bd);background:var(--sh)}
.us-user-row{display:grid;grid-template-columns:42px 2fr 1fr 1fr 1fr 60px 1.4fr 90px;gap:12px;align-items:center;padding:12px 18px;transition:background .2s}
.us-user-row:hover{background:var(--sh)}
.us-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}
.us-status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:4px;vertical-align:middle}
.us-status-dot.on{background:#059669}
.us-status-dot.off{background:#DC2626}
.us-row-actions{display:flex;gap:4px;justify-content:flex-end}
.us-row-actions .btn{padding:4px 8px;font-size:13px}
[data-theme="dark"] .us-row-actions .btn{color:var(--tx);background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.1)}
[data-theme="dark"] .us-stat-card{background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.03));border-color:rgba(255,255,255,.06)}
[data-theme="dark"] .us-stat-icon{background:rgba(255,255,255,.1);box-shadow:0 1px 3px rgba(0,0,0,.2)}
[data-theme="dark"] .us-stat-num{color:var(--tx)}
[data-theme="dark"] .us-stat-card.admin .us-stat-icon,[data-theme="dark"] .us-stat-card.admin .us-stat-num{color:#FCA5A5}
[data-theme="dark"] .us-stat-card.leader .us-stat-icon,[data-theme="dark"] .us-stat-card.leader .us-stat-num{color:#93C5FD}
[data-theme="dark"] .us-stat-card.consultant .us-stat-icon,[data-theme="dark"] .us-stat-card.consultant .us-stat-num{color:#6EE7B7}
[data-theme="dark"] .us-list-header{background:rgba(255,255,255,.06);color:rgba(235,235,245,.7)}
[data-theme="dark"] .us-user-row:hover{background:rgba(255,255,255,.05)}

/* --- Mode Bar Premium — 小菊哥问答模式切换 --- */
.ds-mode-bar{display:inline-flex;align-items:center;background:linear-gradient(180deg,rgba(60,60,67,.18),rgba(60,60,67,.1));border:1px solid rgba(60,60,67,.18);border-radius:16px;padding:5px;gap:3px;box-shadow:0 3px 10px rgba(0,0,0,.08),inset 0 1px 0 rgba(255,255,255,.4)}
[data-theme="dark"] .ds-mode-bar{background:linear-gradient(180deg,rgba(40,40,45,.7),rgba(30,30,35,.55));border-color:rgba(255,255,255,.12);box-shadow:0 4px 14px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.05)}
.ds-mode-opt{position:relative;display:flex;align-items:center;gap:6px;padding:8px 14px 8px 11px;border-radius:12px;cursor:pointer;font-size:14px;font-weight:700;color:#111827;transition:all .25s cubic-bezier(.4,0,.2,1);user-select:none}
.ds-mode-opt:hover{background:rgba(59,130,246,.08);color:#000}
.ds-mode-opt.act{background:var(--cd);color:var(--p);box-shadow:0 4px 14px rgba(59,130,246,.25);font-weight:800}
[data-theme="dark"] .ds-mode-opt{color:rgba(235,235,245,.65)}
[data-theme="dark"] .ds-mode-opt:hover{color:#fff;background:rgba(59,130,246,.12)}
[data-theme="dark"] .ds-mode-opt.act{background:#2C2C2E;color:var(--pl);box-shadow:0 4px 16px rgba(37,99,235,.35)}
.ds-mode-sub{font-size:11px;color:#374151;font-weight:600;margin-left:1px}
.ds-mode-opt.act .ds-mode-sub{color:var(--pl);font-weight:700}
[data-theme="dark"] .ds-mode-sub{color:rgba(235,235,245,.65)}

/* --- Channel Bar — 回答渠道 --- */
.ds-channel-bar{display:inline-flex;align-items:center;gap:8px;margin-left:10px;padding:4px 8px;background:var(--bg);border:1px solid var(--bd);border-radius:14px;flex-wrap:wrap}
.ds-channel-bar.disabled{opacity:.45;pointer-events:none}
.ds-ch-label{font-size:13px;color:#111827;font-weight:700;white-space:nowrap}
.ds-ch-opt{display:inline-flex;align-items:center;padding:5px 12px;border-radius:10px;font-size:13px;font-weight:700;color:#111827;background:transparent;border:1px solid transparent;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap;user-select:none}
.ds-ch-opt:hover{background:var(--chbg,rgba(59,130,246,.08));color:var(--chc,var(--p))}
.ds-ch-opt.act{background:var(--chc,var(--p));color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.12)}
[data-theme="dark"] .ds-channel-bar{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}
[data-theme="dark"] .ds-ch-label{color:var(--tm)}
[data-theme="dark"] .ds-ch-opt{color:var(--tx)}
[data-theme="dark"] .ds-ch-opt.act{color:#fff;box-shadow:0 2px 10px rgba(0,0,0,.35)}

/* --- Page Title Bar Premium --- */
.tb{padding:14px 24px;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.82));backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-bottom:1px solid var(--bd);box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 4px 12px rgba(0,0,0,.04)}
[data-theme="dark"] .tb{background:linear-gradient(180deg,rgba(38,38,40,.92),rgba(28,28,30,.82))}
.tb .pt{font-size:23px;font-weight:900;letter-spacing:-.7px;background:linear-gradient(90deg,var(--tx),var(--p));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* --- Responsive adjustments for premium mode bar --- */
@media (max-width:640px){
  .ds-mode-opt{padding:6px 10px 6px 8px}
  .ds-mode-sub{display:none}
  .ds-title{font-size:15px}
  .ds-topbar{padding:8px 10px}
  .tb .pt{font-size:18px}
  .sb-nv .ni{font-size:14px;padding:10px 12px}
  .hm-grid{grid-template-columns:1fr}
  .hm-welcome{padding:20px 18px}
}

/* ===== 部门制度内容：统一加粗 + 统一字体（一个字体）===== */
.dept-content, .dept-content *{
  font-weight:700 !important;
  font-family:"Microsoft YaHei","微软雅黑","PingFang SC","Helvetica Neue",Arial,sans-serif !important;
  letter-spacing:0.2px;
}

/* ===== 小菊哥问答 · 四模式升级 ===== */

/* 模式切换胶囊：专属主题色 */
.ds-mode-opt{background:transparent;color:#111827;font-weight:700;}
.ds-mode-opt:hover{background:rgba(59,130,246,.08);transform:translateY(-1px);box-shadow:0 3px 10px rgba(0,0,0,.08);}
.ds-mode-opt.act{background:linear-gradient(135deg,var(--p),var(--pd));color:#fff;box-shadow:0 5px 16px rgba(59,130,246,.28);transform:translateY(-1px);}
.ds-mode-opt.act .ds-mode-sub{color:rgba(255,255,255,.9);}
.ds-mode-opt .ds-mode-tx{display:flex;flex-direction:column;line-height:1.15;}
.ds-mode-opt .ds-mode-sub{font-size:11px;font-weight:600;margin-top:1px;color:#374151;}
.ds-mode-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:9px;background:rgba(59,130,246,.12);font-size:15px;flex-shrink:0;}
.ds-mode-opt.act .ds-mode-icon{background:rgba(255,255,255,.25);}
[data-theme="dark"] .ds-mode-opt{color:rgba(235,235,245,.8);}
[data-theme="dark"] .ds-mode-opt:hover{color:#fff;background:rgba(59,130,246,.12);}
[data-theme="dark"] .ds-mode-opt.act{background:#2C2C2E;color:#fff;}
[data-theme="dark"] .ds-mode-opt .ds-mode-sub{color:rgba(235,235,245,.65);}

/* 顶栏标题随当前模式变色 */
#ds-topbar .ds-title{color:var(--cur);}

/* 气泡：AI 卡片 */
#ds-msgs{display:flex;flex-direction:column;}
.ds-ai-card{display:flex;gap:10px;margin-bottom:14px;align-items:flex-start;}
.ds-avatar{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0;box-shadow:0 3px 10px rgba(0,0,0,.14);}
.ds-ai-body{flex:1;min-width:0;background:var(--cd);border:1px solid var(--bd);border-radius:14px;padding:12px 15px;box-shadow:0 1px 5px rgba(0,0,0,.05);}
.ds-ai-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;}
.ds-ai-name{font-weight:700;font-size:14px;color:var(--tx);}
.ds-ai-time{font-size:11px;color:var(--tm);margin-left:auto;}
.ds-ai-content{font-size:14px;line-height:1.85;color:var(--tx);}
.ds-ai-content .rb-num{color:var(--tx);}
.ds-ai-content strong{color:var(--tx);font-weight:700;}

/* 气泡：用户卡片 */
.ds-user-card{display:flex;gap:10px;margin-bottom:14px;align-items:flex-start;flex-direction:row-reverse;}
.ds-user-avatar{width:34px;height:34px;border-radius:50%;background:var(--sh);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}
.ds-user-body{max-width:78%;background:linear-gradient(135deg,var(--p),var(--pd));border-radius:14px 14px 4px 14px;padding:10px 14px;color:#fff;box-shadow:0 3px 12px rgba(37,99,235,.22);}
.ds-user-head{display:flex;justify-content:space-between;gap:10px;font-size:11px;opacity:.85;margin-bottom:4px;}
.ds-user-text{font-size:14px;line-height:1.7;word-break:break-word;}
[data-theme="dark"] .ds-user-body{background:linear-gradient(135deg,var(--pd),#1D4ED8);}

/* 空状态 + 推荐问题 */
.ds-empty{padding:46px 20px;text-align:center;color:var(--tm);background:var(--cd);border:1px dashed var(--bd);border-radius:18px;display:flex;flex-direction:column;align-items:center;}
.ds-empty-hero{width:66px;height:66px;border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:34px;color:#fff;margin-bottom:14px;box-shadow:0 8px 24px rgba(0,0,0,.16);}
.ds-empty-title{font-size:17px;font-weight:700;color:var(--tx);}
.ds-empty-sub{font-size:12px;color:var(--tm);margin-top:5px;max-width:340px;}
.ds-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:18px;max-width:520px;}
.ds-chip{font-size:13px;padding:8px 14px;border-radius:20px;background:var(--cd);border:1px solid var(--bd);color:var(--ts);cursor:pointer;transition:all .2s;line-height:1.4;}
.ds-chip:hover{background:var(--sh);color:var(--tx);border-color:var(--cur);transform:translateY(-1px);box-shadow:0 3px 10px rgba(0,0,0,.08);}

/* 加载打字动画 */
.ds-ai-typing{display:flex;gap:6px;padding:8px 2px;align-items:center;}
.ds-ai-typing span{width:9px;height:9px;border-radius:50%;background:var(--tm);animation:dsBlink 1.2s infinite both;}
.ds-ai-typing span:nth-child(2){animation-delay:.18s;}
.ds-ai-typing span:nth-child(3){animation-delay:.36s;}
@keyframes dsBlink{0%,60%,100%{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}

/* 发送按钮 */
.ds-send{background:linear-gradient(135deg,var(--p),var(--pd));color:#fff;border:none;font-weight:600;}
.ds-send:hover{filter:brightness(1.06);}
.bb-inp .ia .ds-send{width:auto;min-width:76px;height:38px;padding:0 16px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}

/* ===== 小菊哥 3D 动态化统一规范 @2026-07-18 ===== */
:root{
  --anim-ease:cubic-bezier(.22,1,.36,1);
  --anim-dur:.28s;
  --anim-dur-s:.2s;
  --glow-blue:var(--pd);
  --glow-cyan:#00B8D4;
  --lift:-6px;
  --shd-3d:0 10px 30px rgba(59,130,246,.18),0 4px 10px rgba(0,0,0,.08);
  --ring:0 0 0 0 rgba(30,136,229,.45);
}
@keyframes xjgFadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes xjgPopIn{from{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:none}}
@keyframes xjgBreathe{0%{box-shadow:var(--ring);transform:scale(1)}55%{box-shadow:0 0 0 14px rgba(30,136,229,0);transform:scale(1.4)}100%{box-shadow:var(--ring);transform:scale(1)}}
@keyframes xjgGlowBorder{0%,100%{border-color:var(--glow-blue)}50%{border-color:var(--glow-cyan);box-shadow:0 0 14px rgba(0,184,212,.4)}}
.xjg-card{transition:transform var(--anim-dur) var(--anim-ease),box-shadow var(--anim-dur) var(--anim-ease)}
.xjg-card:hover{transform:translateY(var(--lift));box-shadow:var(--shd-3d)}
.xjg-in{animation:xjgFadeUp var(--anim-dur) var(--anim-ease) both}

/* 首页卡片：入场 + 悬浮抬升 */
.hm-grid-item,.hm-card,.hm-stat-card{transition:transform var(--anim-dur) var(--anim-ease),box-shadow var(--anim-dur) var(--anim-ease);animation:xjgFadeUp var(--anim-dur) var(--anim-ease) both}
.hm-grid-item:hover,.hm-card:hover,.hm-stat-card:hover{transform:translateY(var(--lift));box-shadow:var(--shd-3d)}

/* 咨询技能中心：静态为主，仅保留 KPI 弹入与 pill 激活流光 */
.cs-script,.cs-gcard{transition:border-color var(--anim-dur-s) var(--anim-ease),background-color var(--anim-dur-s) var(--anim-ease)}
.cs-script:hover,.cs-gcard:hover{border-color:var(--c2,var(--tm));background-color:var(--bg)}
.cs-step,.cs-obj{transition:border-color var(--anim-dur-s) var(--anim-ease),background-color var(--anim-dur-s) var(--anim-ease)}
.cs-step:hover,.cs-obj:hover{border-color:var(--c2,var(--tm));background-color:var(--bg)}
.cs-kpi{animation:xjgPopIn var(--anim-dur) var(--anim-ease) both;transition:transform var(--anim-dur-s) var(--anim-ease),box-shadow var(--anim-dur-s) var(--anim-ease)}
.cs-kpi:hover{transform:translateY(-4px);box-shadow:var(--shd-3d)}
.cs-pill{transition:all var(--anim-dur-s) var(--anim-ease)}
.cs-pill:hover{transform:translateY(-3px)}
.cs-pill-act{box-shadow:0 0 0 2px var(--glow-cyan),0 6px 16px rgba(0,184,212,.3);animation:xjgGlowBorder 2.4s var(--anim-ease) infinite}

/* 对话助手气泡：弹入 + 悬浮 */
.bb-bubble,.ds-ai-card,.ds-user-card{animation:xjgPopIn var(--anim-dur-s) var(--anim-ease) both;transition:transform var(--anim-dur-s) var(--anim-ease),box-shadow var(--anim-dur-s) var(--anim-ease)}
.bb-bubble:hover,.ds-ai-card:hover{transform:translateY(-3px);box-shadow:var(--shd-3d)}

/* 小菊哥问答：模式胶囊悬浮 + 激活流光 + 空态 + 头像呼吸 */
.ds-mode-opt{transition:all var(--anim-dur-s) var(--anim-ease)}
.ds-mode-opt:hover{transform:translateY(-3px)}
.ds-mode-opt.act{animation:xjgGlowBorder 2.4s var(--anim-ease) infinite}
.ds-empty-hero{animation:xjgFadeUp .5s var(--anim-ease) both}
.ds-avatar{box-shadow:var(--ring);animation:xjgBreathe 2.6s var(--anim-ease) infinite}

/* 数据总览 / 多维分析 卡片悬浮 */
.fx-stat-card{transition:transform var(--anim-dur-s) var(--anim-ease),box-shadow var(--anim-dur-s) var(--anim-ease)}
.fx-stat-card:hover{transform:translateY(-4px);box-shadow:var(--shd-3d)}

/* 通用按钮微光 */
button:hover,.btn:hover{box-shadow:0 0 0 1px var(--glow-cyan),0 4px 12px rgba(0,184,212,.25)}


/* ===== 银河系 3D 动态全局背景 @2026-07-20 ===== */
/* 浅色：纯白底 + 极淡粒子；深色：蓝色宇宙罩层 */
#xjg-galaxy{position:fixed;inset:0;width:100%;height:100%;z-index:-2;display:block;pointer-events:none}
.xjg-cosmos-scrim{position:fixed;inset:0;z-index:-1;pointer-events:none;background:transparent;transition:background .4s ease}
/* 浅色主题：隐藏银河画布，恢复白底，加极淡顶部光晕 */
[data-theme="light"] #xjg-galaxy{display:none}
[data-theme="light"] body{background:var(--bg)!important}
[data-theme="light"] .xjg-cosmos-scrim{background:radial-gradient(ellipse 100% 60% at 50% 0%, rgba(34,211,238,.08), transparent 60%)}
[data-theme="dark"] .xjg-cosmos-scrim{
  background:
    radial-gradient(ellipse 125% 82% at 50% 42%, rgba(4,6,15,0) 0%, rgba(4,6,15,.42) 58%, rgba(4,6,15,.84) 100%),
    linear-gradient(180deg, rgba(4,6,15,.38) 0%, rgba(4,6,15,0) 22%, rgba(4,6,15,0) 78%, rgba(4,6,15,.46) 100%);}
/* 内容层让星河透出 */
body{background:transparent!important}
/* 登录页始终为白色主题（不被深色主题影响）：白底卡片 + 深色文字，背景不透明盖住银河 */
/* 原玻璃态深色登录已撤销，恢复原始白底登录页 */



/* === 报表/表格品牌表头与浅色容器：深色主题下转深色，保证浅字可读 === */
.xjg-th-brand{background:linear-gradient(135deg,#FFF5EB,var(--bg));border-bottom:2px solid #FF6900}
[data-theme="dark"] .xjg-th-brand{background:linear-gradient(135deg,rgba(255,105,0,.22),rgba(255,105,0,.08));border-bottom:2px solid #FF6900}
.xjg-th{background:linear-gradient(135deg,#F8FAFC,#F1F5F9)}
[data-theme="dark"] .xjg-th{background:var(--cd)}
.xjg-chip-wa{background:linear-gradient(135deg,#FFF8E1,#FFECB3);border:1px solid rgba(217,119,6,.25);color:var(--wa)}
[data-theme="dark"] .xjg-chip-wa{background:rgba(255,149,0,.16);border-color:rgba(255,149,0,.35);color:var(--wa)}

/* === 深色主题兜底：修正硬编码浅色背景 === */
[data-theme="dark"] .stg.pd,[data-theme="dark"] .stg.fl,[data-theme="dark"] .role-admin{background:rgba(255,59,48,.16)!important}
[data-theme="dark"] .stg.cp,[data-theme="dark"] .stg.ps,[data-theme="dark"] .role-consultant{background:rgba(52,199,89,.16)!important}
[data-theme="dark"] .stg.act,[data-theme="dark"] .role-leader{background:rgba(59,130,246,.16)!important}
[data-theme="dark"] .ifs-obj{background:rgba(59,130,246,.16)!important}
[data-theme="dark"] .cs-obj{background:rgba(217,119,6,.12)!important}

/* === 蓝色宇宙下内容层玻璃化：让 galaxy 透出，3D与静态结合 @2026-07-19 ===
 * 顶级设计师视角：3D 背景与静态 UI 必须有"材质呼应"——内容层改用低透明玻璃 + 背景模糊，
 * 蓝色星云从卡片背后透出，UI 浮于宇宙之上，形成空间纵深（参考 Linear / Vercel / Arc 玻璃语言）。
 * 浅色主题保持实色白卡不变。文字仍为浅色，玻璃深蓝底保证对比度可读。
 */
[data-theme="dark"] .cd,
[data-theme="dark"] .hm-card,
[data-theme="dark"] .sc-card,
[data-theme="dark"] .bb-col,
[data-theme="dark"] .bb-msgs,
[data-theme="dark"] .bb-inp,
[data-theme="dark"] .fx-panel,
[data-theme="dark"] .fd-panel,
[data-theme="dark"] .fx-stat-card,
[data-theme="dark"] .sys-card,
[data-theme="dark"] .cs-acc-group,
[data-theme="dark"] .cs-gcard,
[data-theme="dark"] .cs-step,
[data-theme="dark"] .cs-sms,
[data-theme="dark"] .tbl,
[data-theme="dark"] table,
[data-theme="dark"] .mo,
[data-theme="dark"] .ds-ai-card,
[data-theme="dark"] .ds-user-card,
[data-theme="dark"] .rb-card,
[data-theme="dark"] .filter-bar,
[data-theme="dark"] .ds-topbar,
[data-theme="dark"] .fxr-card,
[data-theme="dark"] .fxr-tbl,
[data-theme="dark"] .fxr-script,
[data-theme="dark"] .fxr-metric,
[data-theme="dark"] .ai-msg{
  background:rgba(13,26,61,.55)!important;
  -webkit-backdrop-filter:blur(20px) saturate(1.4);
  backdrop-filter:blur(20px) saturate(1.4);
  border-color:rgba(120,170,255,.20)!important;
}
/* 表格头随玻璃化降不透明度，避免深实色头与玻璃体割裂 */
[data-theme="dark"] .tbl th{background:rgba(13,26,61,.72)!important}
/* hero 内玻璃小卡在深色下融入蓝宇宙（避免白雾偏灰） */
[data-theme="dark"] .hm-stat-card{background:rgba(120,170,255,.10)!important;border-color:rgba(120,170,255,.22)!important}
[data-theme="dark"] .cs-kpi{background:rgba(120,170,255,.10)!important;border-color:rgba(120,170,255,.22)!important}

/* === P0 全量统一：Tab 语言 + 卡片圆角 @2026-07-19 ===
 * 顶级设计师视角：同一产品只该有一套 Tab 语言、一套圆角节奏。
 * 把 .tabs(橙) / .fx-tabs(蓝) / .fx-sub-tabs(青绿) 三套收敛为「玻璃胶囊 + 主蓝激活 + 流光」；
 * 所有卡片圆角统一 18px，消除 10~22 散乱。浅色/深色均生效，hero 彩色渐变保持不变。
 */
.tabs,.fx-tabs,.fx-sub-tabs{
  display:flex;gap:4px;padding:6px!important;border-radius:14px!important;
  background:linear-gradient(180deg,rgba(30,41,59,.96),rgba(15,23,42,.96))!important;border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:0 10px 30px rgba(0,0,0,.35),0 2px 6px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.12)!important;margin-bottom:16px!important;
}
[data-theme="dark"] .tabs,[data-theme="dark"] .fx-tabs,[data-theme="dark"] .fx-sub-tabs{
  background:linear-gradient(180deg,rgba(15,23,42,.98),rgba(2,6,23,.98))!important;border-color:rgba(255,255,255,.08)!important;
  box-shadow:0 12px 36px rgba(0,0,0,.55),0 3px 8px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.tab,.fx-tab,.fx-sub-tab{
  flex:1;text-align:center;cursor:pointer;transition:all .22s cubic-bezier(.4,0,.2,1);
  padding:10px 16px;border:none;background:transparent!important;border-radius:10px!important;
  font-size:14px;font-weight:600;color:rgba(226,232,240,.72)!important;box-shadow:none!important;text-shadow:none!important;transform:none!important;
}
.tab:hover,.fx-tab:hover,.fx-sub-tab:hover{color:#fff!important;background:rgba(255,255,255,.08)!important}
[data-theme="dark"] .tab:hover,[data-theme="dark"] .fx-tab:hover,[data-theme="dark"] .fx-sub-tab:hover{color:#fff!important;background:rgba(255,255,255,.10)!important}
.tab.act,.fx-tab.act,.fx-sub-tab.act{
  background:linear-gradient(135deg,#0f172a 0%,#1e3a8a 50%,var(--pd) 100%)!important;color:#fff!important;
  font-weight:700!important;box-shadow:0 6px 20px rgba(37,99,235,.45),0 2px 6px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.18)!important;transform:translateY(-2px)!important;
}
[data-theme="dark"] .tab.act,[data-theme="dark"] .fx-tab.act,[data-theme="dark"] .fx-sub-tab.act{
  background:linear-gradient(135deg,#020617 0%,#172554 50%,#1d4ed8 100%)!important;color:#fff!important;
}
/* 卡片圆角统一 */
.cd,.hm-card,.sc-card,.sys-card,.cs-gcard,.cs-step,.cs-acc-group,.cs-sms,.fx-panel,.fd-panel,.fx-stat-card,.mo,.rb-card,.filter-bar,.ds-topbar,.bb-col,.bb-msgs,.bb-inp,.tbl,table{
  border-radius:18px!important;
}

/* === 深色模式文字对比度优化 @2026-07-20 ===
 * 蓝色宇宙背景上有星云/粒子，var(--ts) 60%透明度与 var(--tm) 25%透明度在复杂底上易糊。
 * 关键文字强制提升不透明度 + 加文字阴影，确保所有模块/子模块都能看清。
 */
[data-theme="dark"] body,[data-theme="dark"] .cd,[data-theme="dark"] .cs-gcard,[data-theme="dark"] .cs-step,[data-theme="dark"] .cs-obj,[data-theme="dark"] .cs-sms,[data-theme="dark"] .tbl,[data-theme="dark"] .rb-card,[data-theme="dark"] .fx-panel,[data-theme="dark"] .fx-stat-card,[data-theme="dark"] .mo,[data-theme="dark"] .sys-card,[data-theme="dark"] .hm-card,[data-theme="dark"] .bb-msgs,[data-theme="dark"] .bb-inp{
  color:var(--tx)
}
[data-theme="dark"] .cs-gcard-b,[data-theme="dark"] .cs-obj-a,[data-theme="dark"] .cs-sms-b,[data-theme="dark"] .cs-step-ct,[data-theme="dark"] .cs-filter-hint,[data-theme="dark"] .cs-copy,[data-theme="dark"] .cs-pill span,[data-theme="dark"] .tbl td,[data-theme="dark"] .rb-card p,[data-theme="dark"] .rb-card li,[data-theme="dark"] .mo p,[data-theme="dark"] .mo li,[data-theme="dark"] .hm-card-count,[data-theme="dark"] .hm-card-meta,[data-theme="dark"] .fx-stat-card span,[data-theme="dark"] .sys-card-desc,[data-theme="dark"] .sc-card-desc{
  color:rgba(235,235,245,.88)!important
}
[data-theme="dark"] .cs-gcard-t,[data-theme="dark"] .cs-step-ct b,[data-theme="dark"] .cs-obj-q,[data-theme="dark"] .cs-sms-t,[data-theme="dark"] .cs-group-h,[data-theme="dark"] .cs-sub-h,[data-theme="dark"] .cs-script-group-h,[data-theme="dark"] .tbl th,[data-theme="dark"] .rb-card h3,[data-theme="dark"] .rb-card h4,[data-theme="dark"] .mo h3,[data-theme="dark"] .mo h4,[data-theme="dark"] .hm-card-title,[data-theme="dark"] .fx-stat-card strong,[data-theme="dark"] .sys-card-title,[data-theme="dark"] .sc-card-title{
  text-shadow:0 1px 3px rgba(0,0,0,.45)
}
/* 星云南背景上的文字加一层阴影，避免被亮云点干扰 */
[data-theme="dark"] .cs-pill,[data-theme="dark"] .cs-group-h,[data-theme="dark"] .cs-sub-h,[data-theme="dark"] .cs-script-group-h,[data-theme="dark"] .cs-gcard-t,[data-theme="dark"] .cs-step-ct b,[data-theme="dark"] .cs-obj-q,[data-theme="dark"] .cs-sms-t,[data-theme="dark"] .cs-filter-hint{
  text-shadow:0 1px 2px rgba(0,0,0,.5)
}

/* ===== 深色主题：公告面板玻璃化 ===== */
[data-theme="dark"] .hm-ann-card{background:rgba(12,26,61,.72);border-color:rgba(99,179,255,.14)}
[data-theme="dark"] .hm-ann-preview,[data-theme="dark"] .hm-ann-item{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1)}
[data-theme="dark"] .hm-ann-item.unread{background:rgba(34,211,238,.08);border-color:rgba(34,211,238,.22)}
[data-theme="dark"] .hm-ann-item-summary{background:rgba(59,130,246,.16)}
[data-theme="dark"] .hm-ann-publish-area textarea,[data-theme="dark"] .hm-ann-edit-ta{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:var(--tx)}
[data-theme="dark"] .hm-ann-publish-area textarea:focus,[data-theme="dark"] .hm-ann-edit-ta:focus{border-color:var(--ac-2);box-shadow:0 0 0 3px rgba(59,130,246,.2)}

/* ===== 手机端关键模块自适应覆盖（放在末尾确保覆盖桌面规则） ===== */
@media(max-width:900px){
  /* 朋友圈三列 → 单列堆叠 */
  .mg-grid{grid-template-columns:1fr}
  /* 对话助手轻量版：手机端单列流式，彻底杜绝面板重叠（Apple：清晰 / 深度 / 留白 / 拇指可达） */
  .bb-lite-wrap{height:auto;min-height:0;gap:12px;padding-bottom:2px}
  .bb-lite-shift{flex-wrap:wrap;row-gap:6px;font-size:12px;line-height:1.5}
  .bb-lite-main{flex-direction:column;height:auto;overflow:visible;gap:12px}
  .bb-lite-col{max-height:none;min-height:0;width:100%;border-radius:var(--r-lg);box-shadow:var(--sh-md)}
  .bb-lite-col-hd{padding:14px 16px}
  .bb-lite-col-hd h4{font-size:15px}
  .bb-lite-col-bd{padding:14px 16px;overflow-y:visible}
  .bb-lite-inp{font-size:16px;min-height:96px;border-radius:14px}
  .bb-lite-actions{flex-wrap:wrap;gap:10px;margin-top:12px}
  .bb-lite-actions .btn{font-size:15px;padding:12px 18px;border-radius:12px;min-height:44px;flex:1 1 auto}
  .bb-ptab{font-size:14px;padding:10px 4px;min-height:42px}
  /* 首页 4 个 KPI → 2×2 */
  .hm-welcome-stats .hm-stat-card{flex:1 1 calc(50% - 6px);min-width:calc(50% - 6px)}
  /* 用户管理统计卡片 4 列 → 2 列 */
  .us-stats-grid{grid-template-columns:repeat(2,1fr)}
  /* 商务通/信息流转化体系架构横向步骤 → 纵向 */
  .cs-fw{flex-direction:column;align-items:stretch;overflow-x:visible;padding-bottom:0}
  .cs-fw-step{width:100%;min-width:0}
  .cs-fw-arrow{transform:rotate(90deg);margin:4px 0;font-size:18px}
  /* 用户管理表格：提示 + 前两列 sticky */
  .us-mobile-hint{display:block;text-align:center;font-size:11px;color:#fff;padding:6px 0;border-bottom:1px solid var(--bd);background:linear-gradient(90deg,var(--p),var(--pl));letter-spacing:.5px}
  .us-list-header,.us-user-row{grid-template-columns:42px 120px 80px 80px 80px 56px 110px 76px;min-width:760px}
  .us-list-header>div:nth-child(1),.us-user-row>div:nth-child(1){position:sticky;left:0;z-index:2;background:var(--sh);box-shadow:2px 0 4px rgba(0,0,0,.06)}
  .us-list-header>div:nth-child(2),.us-user-row>div:nth-child(2){position:sticky;left:42px;z-index:2;background:var(--sh);box-shadow:2px 0 4px rgba(0,0,0,.06)}
  .us-user-row>div:nth-child(1),.us-user-row>div:nth-child(2){background:var(--cd)}
}

/* ===== 添加到主屏 引导横幅（PWA 类 App 体验） ===== */
.pwa-guide{
  position:fixed;left:50%;bottom:18px;transform:translateX(-50%);
  z-index:9999;max-width:520px;width:calc(100% - 28px);
  display:flex;align-items:center;gap:12px;
  padding:12px 14px;border-radius:14px;
  background:linear-gradient(135deg,#0D9488,#0EA5A4);
  color:#fff;box-shadow:0 10px 30px rgba(13,148,136,.35);
  font-size:13px;line-height:1.5;
}
.pwa-guide-ico{font-size:26px;line-height:1;flex:0 0 auto}
.pwa-guide-body{flex:1 1 auto;min-width:0}
.pwa-guide-txt{margin:0}
.pwa-guide-txt b{color:#FFE9B0;font-weight:700}
.pwa-guide-btn{
  flex:0 0 auto;margin-top:6px;border:none;cursor:pointer;
  background:#fff;color:#0D9488;font-weight:700;font-size:13px;
  padding:7px 14px;border-radius:10px;
  box-shadow:0 2px 8px rgba(0,0,0,.18);
}
.pwa-guide-btn:active{transform:translateY(1px)}
.pwa-guide-x{
  flex:0 0 auto;align-self:flex-start;margin-top:-4px;
  border:none;background:rgba(255,255,255,.18);color:#fff;
  width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:13px;line-height:24px;
}
.pwa-guide-x:hover{background:rgba(255,255,255,.32)}
@media(max-width:900px){
  .pwa-guide{bottom:10px;font-size:12px;padding:10px 12px;gap:9px}
  .pwa-guide-ico{font-size:22px}
  .pwa-guide-btn{margin-top:6px;padding:6px 12px}
  /* 咨询技能中心 7 Tab 横向滚动 */
  .tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:5px;padding:6px;border-radius:14px}
  .tab{flex:0 0 auto;white-space:nowrap;padding:9px 13px;font-size:13.5px;letter-spacing:.3px}
  .tab.act{font-size:14px;transform:translateY(-1px)}
  /* 咨询技能中心顶部 tab 栏：手机端自动换行，全部可见不滑动 */
  .zx-tabs{flex-wrap:wrap!important;overflow-x:visible!important;gap:5px}
  .zx-tabs .tab{flex:1 1 auto;min-width:74px;max-width:none;padding:8px 10px;font-size:12.5px;letter-spacing:.2px}
  /* 新人入口二级子标签 */
  .nrt{padding:7px 11px;font-size:12.5px;border-radius:8px}
  /* 小菊哥问答顶部栏 */
  .ds-topbar{gap:8px;padding:8px 10px}
  .ds-topbar-left{gap:6px}
  .ds-title{font-size:15px}
  .ds-mode-opt{padding:5px 9px 5px 7px;font-size:13px}
  .ds-mode-opt .ds-mode-sub{display:none}
  /* 个人日报卡片宽度 */
  #rb-main{flex-direction:column!important;gap:12px}
  #rb-card,#rb-visit-card{width:100%!important;max-width:100%!important;box-sizing:border-box}
  #rb-right-col{min-width:0!important;width:100%!important}
  #rb-root{padding:2px!important}
  /* 排班表 */
  #pc>div:has(>table){padding:0}
  #pc table{font-size:11px}
}

/* ============================================================
   小菊哥问答 · 手机端 APP 化重设计（≤768px）
   原则：全屏对话式布局——顶栏紧凑、模式横滑、输入固定贴底栏上方
   ============================================================ */
@media(max-width:768px){
  /* 外壳：钉在顶栏与底栏之间，填满移动视口，内部消息自行滚动 */
  .ds-shell{
    position:fixed!important;
    top:54px!important;left:0!important;right:0!important;bottom:56px!important;
    height:auto!important;width:100%!important;
    display:flex!important;flex-direction:column!important;
    padding:0!important;gap:0!important;
    background:var(--bg);
    z-index:1;
  }
  /* —— 顶栏：标题 + 操作按钮一行，模式横滑另起一行 —— */
  .ds-shell .ds-topbar{
    position:relative!important;top:auto!important;
    flex-wrap:wrap!important;align-items:center!important;
    margin:0!important;gap:8px!important;
    padding:8px 12px!important;
    border-radius:0!important;
    border-left:none!important;border-right:none!important;border-top:none!important;
    background:var(--cd);
    box-shadow:0 1px 0 var(--bd)!important;
  }
  .ds-shell .ds-topbar-left{
    flex:1 1 auto!important;flex-wrap:wrap!important;align-items:center!important;gap:8px!important;
    min-width:0!important;
  }
  .ds-shell .ds-title{font-size:17px!important;flex:1 1 auto!important}
  .ds-shell .ds-topbar-right{flex:0 0 auto!important;gap:6px!important}
  .ds-shell .ds-tbtn{
    padding:7px 10px!important;font-size:13px!important;border-radius:10px!important;
    display:inline-flex!important;align-items:center!important;gap:3px!important;
  }
  /* 模式选择：横向滑动分段控件 */
  .ds-shell .ds-mode-bar{
    flex:1 1 100%!important;order:3!important;
    display:flex!important;flex-wrap:nowrap!important;
    width:100%!important;overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;
    gap:6px!important;padding:4px!important;margin-top:2px!important;
    background:var(--bg)!important;border:1px solid var(--bd)!important;border-radius:12px!important;
    box-shadow:none!important;
  }
  .ds-shell .ds-mode-bar::-webkit-scrollbar{display:none}
  .ds-shell .ds-mode-opt{
    flex:0 0 auto!important;white-space:nowrap!important;
    padding:7px 12px!important;font-size:14px!important;border-radius:10px!important;
  }
  .ds-shell .ds-mode-opt .ds-mode-sub{display:none!important}
  .ds-shell .ds-mode-icon{width:22px!important;height:22px!important;font-size:14px!important}
  /* 搜索开关徽标与标题同一行靠右 */
  .ds-shell #ds-search-badge{order:2!important;margin-top:0!important}
  /* —— 渠道条：紧凑横滑，隐藏“回答渠道：”长标签省空间 —— */
  .ds-shell #ds-channel-bar{
    margin:6px 0 0!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:6px!important;
    padding:4px 6px!important;border-radius:12px!important;width:100%!important;
  }
  .ds-shell #ds-channel-bar .ds-ch-label{display:none!important}
  .ds-shell #ds-channel-bar .ds-ch-opt{
    flex:0 0 auto!important;white-space:nowrap!important;
    padding:6px 14px!important;font-size:14px!important;border-radius:9px!important;
  }
  /* —— 消息区：全宽、内部滚动 —— */
  .ds-shell #ds-msgs{
    flex:1 1 auto!important;min-height:0!important;
    width:100%!important;margin:0!important;
    padding:12px 10px!important;border-radius:0!important;
    background:var(--bg)!important;box-shadow:none!important;
    overflow-y:auto!important;-webkit-overflow-scrolling:touch;
  }
  .ds-shell .ds-ai-card{gap:8px!important;margin-bottom:12px!important}
  .ds-shell .ds-avatar{width:32px!important;height:32px!important;font-size:16px!important;border-radius:10px!important}
  .ds-shell .ds-ai-body{padding:10px 12px!important;border-radius:12px!important}
  .ds-shell .ds-ai-content{font-size:14.5px!important;line-height:1.8!important}
  .ds-shell .ds-user-card{margin-bottom:12px!important}
  .ds-shell .ds-user-body{max-width:82%!important;padding:9px 12px!important;border-radius:14px 14px 4px 14px!important}
  .ds-shell .ds-user-text{font-size:14.5px!important;line-height:1.7!important}
  /* 空状态 */
  .ds-shell .ds-empty{padding:36px 18px!important;border-radius:14px!important;margin:6px 4px!important}
  .ds-shell .ds-empty-title{font-size:16px!important}
  .ds-shell .ds-empty-sub{font-size:12px!important}
  .ds-shell .ds-chips{
    flex-wrap:nowrap!important;overflow-x:auto!important;justify-content:flex-start!important;
    max-width:none!important;gap:8px!important;margin-top:16px!important;padding-bottom:4px!important;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;
  }
  .ds-shell .ds-chips::-webkit-scrollbar{display:none}
  .ds-shell .ds-chip{flex:0 0 auto!important;white-space:nowrap!important;font-size:13px!important;padding:8px 13px!important}
  /* —— 输入栏：固定在底栏上方 —— */
  .ds-shell #ds-inp-wrap{
    position:relative!important;bottom:auto!important;
    margin:0!important;border-radius:0!important;
    border-left:none!important;border-right:none!important;border-bottom:none!important;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important;
    background:var(--cd);box-shadow:0 -1px 0 var(--bd)!important;
  }
  .ds-shell #ds-attach{margin-bottom:8px!important}
  .ds-shell #ds-inp{
    width:100%!important;font-size:16px!important;line-height:1.5!important;
    padding:10px 12px!important;border-radius:14px!important;
    border:1px solid var(--bd)!important;background:var(--bg)!important;color:var(--tx)!important;
    resize:none!important;min-height:44px!important;max-height:120px!important;
  }
  .ds-shell #ds-inp-wrap .ia{gap:8px!important;margin-top:8px!important}
  .ds-shell .ds-atch-btn{width:42px!important;height:42px!important;font-size:18px!important;border-radius:12px!important;flex:0 0 auto!important}
  .ds-shell .ds-send{
    flex:1 1 auto!important;height:42px!important;font-size:15px!important;font-weight:700!important;
    border-radius:12px!important;padding:0 18px!important;
  }
}

/* ===== 排班表单元格键盘焦点 ===== */
.pb-focus{outline:2px solid var(--p)!important;outline-offset:-2px!important;box-shadow:inset 0 0 0 2px rgba(59,130,246,.25)!important;border-radius:6px!important}

/* ====================================================================
   2026-07-23 系统级视觉层次加强
   - .page-hd：每个模块页顶部的统一页头（图标 + 主标题 + 副标题 + 操作区）
   - .sec-hd：模块内部节标题（左侧渐变重音条 + 标题 + 副标题）
   - .hd-bar：通用渐变重音条（4px 宽，可独立使用）
   - .title-row：标题行（左标题 + 右操作）
   - 仅追加新样式，不改 JS/HTML；不破坏任何现有渲染
   ==================================================================== */

/* ===== Page Header — 全模块统一页头 ===== */
.page-hd{
  display:flex;align-items:center;gap:14px;
  background:linear-gradient(135deg,rgba(59,130,246,.08) 0%,rgba(59,130,246,.02) 100%);
  border:1px solid rgba(59,130,246,.15);
  border-radius:16px;
  padding:16px 22px;
  margin-bottom:18px;
  box-shadow:0 2px 14px rgba(59,130,246,.06);
  position:relative;overflow:hidden;
}
.page-hd::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--p),var(--pl));border-radius:0 2px 2px 0}
[data-theme="dark"] .page-hd{background:linear-gradient(135deg,rgba(59,130,246,.15) 0%,rgba(59,130,246,.05) 100%);border-color:rgba(59,130,246,.25);box-shadow:0 2px 18px rgba(0,0,0,.35)}
.page-hd-icon{
  width:42px;height:42px;border-radius:11px;flex-shrink:0;
  background:linear-gradient(135deg,var(--p),var(--pl));
  display:flex;align-items:center;justify-content:center;
  font-size:20px;color:#fff;
  box-shadow:0 3px 10px rgba(59,130,246,.25);
}
.page-hd-titles{flex:1;min-width:0}
.page-title{font-size:20px;font-weight:700;color:var(--tx);letter-spacing:-.3px;line-height:1.3;margin:0}
.page-sub{font-size:12.5px;color:var(--ts);margin-top:4px;line-height:1.45;letter-spacing:.1px}
.page-hd-actions{display:flex;gap:8px;flex-shrink:0;align-items:center}

/* ===== Section Header — 模块内部节标题 ===== */
.sec-hd{
  display:flex;align-items:center;gap:8px;
  margin:18px 0 12px;padding:8px 0;
  border-bottom:2px solid rgba(59,130,246,.12);
}
.sec-hd-bar{width:4px;height:18px;border-radius:2px;background:linear-gradient(180deg,var(--p),var(--pl));flex-shrink:0}
.sec-title{font-size:15.5px;font-weight:700;color:var(--tx);letter-spacing:-.2px;line-height:1.3}
.sec-sub{font-size:11.5px;color:var(--ts);margin-left:auto;font-weight:400;letter-spacing:.2px}
.sec-hd-actions{display:flex;gap:6px;margin-left:auto;align-items:center}

/* ===== Title Row — 紧凑标题行（左标题 + 右操作） ===== */
.title-row{display:flex;align-items:center;gap:10px;margin:14px 0 12px}
.title-row .title{font-size:16px;font-weight:700;color:var(--tx);letter-spacing:-.2px}
.title-row .title-sub{font-size:12px;color:var(--ts);font-weight:400;margin-left:4px}
.title-row .actions{margin-left:auto;display:flex;gap:6px;align-items:center}

/* ===== 通用重音条工具类（可独立叠在标题前） ===== */
.hd-bar{display:inline-block;width:4px;height:16px;border-radius:2px;background:linear-gradient(180deg,var(--p),var(--pl));vertical-align:-2px;margin-right:6px}
.hd-bar.green{background:linear-gradient(180deg,var(--su),#5CD87A)}
.hd-bar.orange{background:linear-gradient(180deg,var(--wa),#FFB340)}
.hd-bar.red{background:linear-gradient(180deg,var(--da),#FF6961)}
.hd-bar.purple{background:linear-gradient(180deg,#5856D6,#7B79E8)}

/* ===== 页面容器 - 增强内容与背景的对比 ===== */
.pc{padding:20px 24px}
@media(min-width:900px){.pc{padding:24px 28px}}

/* ===== 标题通用增强 - 覆盖默认 h1/h2/h3/h4，让全站正文标题更有层次 ===== */
.pc h1,.pc h2,.pc h3,.pc h4{letter-spacing:-.2px;color:var(--tx)}
.pc h1{font-size:22px;font-weight:700;margin:18px 0 12px}
.pc h2{font-size:18px;font-weight:700;margin:16px 0 10px;padding-bottom:6px;border-bottom:2px solid rgba(59,130,246,.12)}
.pc h3{font-size:16px;font-weight:700;margin:14px 0 8px}
.pc h4{font-size:14.5px;font-weight:600;margin:12px 0 6px;color:var(--ts)}

/* 深色主题：BB 病种卡用家族靛低饱和底，避免浅紫方块刺眼 */
[data-theme="dark"] .bb-profile-disease{background:rgba(99,102,241,.14);border-color:rgba(99,102,241,.30)}
[data-theme="dark"] .bb-profile-disease .tag{border-color:rgba(99,102,241,.35)}

/* ============================================================
   P4-2 全局命令面板 / 顶栏搜索（从 style.css.p7bak 恢复）
   修复 .cmdk-search-ic 无尺寸导致放大镜 SVG 被放大成全屏黑环
   ============================================================ */

/* ---------- 顶栏搜索按钮 ---------- */
.tb-cmdk{display:flex;align-items:center;gap:7px;padding:8px 14px;border:1px solid var(--bd);background:var(--cd);color:var(--ts);border-radius:var(--rs);cursor:pointer;font-size:13px;font-weight:600;transition:all .2s;font-family:inherit}
.tb-cmdk:hover{border-color:var(--ac-2);color:var(--ac-2);box-shadow:0 4px 14px var(--ac-glow)}
.tb-cmdk svg{width:16px;height:16px;flex-shrink:0}
.tb-cmdk kbd{font-family:inherit;font-size:10.5px;background:var(--bg);border:1px solid var(--bd);border-radius:5px;padding:1px 6px;color:var(--tm)}

/* ---------- 全局命令面板 ---------- */
.cmdk{position:fixed;inset:0;z-index:3000;display:none;align-items:flex-start;justify-content:center;padding-top:13vh}
.cmdk.show{display:flex}
.cmdk-overlay{position:absolute;inset:0;background:rgba(8,14,34,.40);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);animation:xjgFade .2s ease both}
@keyframes xjgFade{from{opacity:0}to{opacity:1}}
.cmdk-box{position:relative;width:min(640px,92vw);max-height:64vh;background:var(--bg);border:1px solid var(--bd);border-radius:var(--r-lg);box-shadow:0 28px 80px rgba(8,14,34,.40);overflow:hidden;display:flex;flex-direction:column;animation:xjgPop .26s cubic-bezier(.2,.8,.2,1) both}
@keyframes xjgPop{0%{opacity:0;transform:translateY(-14px) scale(.97)}100%{opacity:1;transform:none}}
.cmdk-input-wrap{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--bd)}
.cmdk-search-ic{width:20px;height:20px;color:var(--tm);flex-shrink:0}
.cmdk-input{flex:1;border:none;background:transparent;font-size:17px;color:var(--tx);outline:none;font-family:inherit}
.cmdk-input::placeholder{color:var(--tm)}
.cmdk-esc{font-size:11px;color:var(--tm);border:1px solid var(--bd);border-radius:6px;padding:2px 7px;background:var(--cd)}
.cmdk-list{overflow-y:auto;padding:8px;flex:1}
.cmdk-group{font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--tm);padding:10px 12px 6px}
.cmdk-item{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:var(--r);cursor:pointer;transition:background .15s}
.cmdk-item:hover{background:var(--sh)}
.cmdk-item.active{background:var(--sh);box-shadow:inset 3px 0 0 var(--ac-2)}
.cmdk-ic{width:34px;height:34px;border-radius:var(--r);display:flex;align-items:center;justify-content:center;background:var(--cd);color:var(--ac-2);flex-shrink:0}
.cmdk-ic .emoji{font-size:18px;line-height:1}
.cmdk-body{flex:1;min-width:0}
.cmdk-title{font-size:15px;font-weight:600;color:var(--tx)}
.cmdk-desc{font-size:12.5px;color:var(--tm);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmdk-empty{padding:34px;text-align:center;color:var(--tm);font-size:14px}
.cmdk-foot{display:flex;gap:16px;padding:10px 16px;border-top:1px solid var(--bd);font-size:11.5px;color:var(--tm);background:var(--cd)}
.cmdk-foot kbd{font-family:inherit;background:var(--bg);border:1px solid var(--bd);border-radius:5px;padding:1px 6px;margin-right:3px;font-size:10.5px}

/* 命令面板双模式 */
.cmdk.mode-ai .pane-cmd{display:none}
.cmdk.mode-cmd .pane-ai{display:none}
.cmdk.mode-ai .cmdk-foot{display:none}
.cmdk.mode-ai .cmdk-box{height:64vh}
.cmdk.mode-ai .pane-ai{display:flex;flex-direction:column;flex:1;min-height:0}
.cmdk.mode-ai .cmdk-ai-log{flex:1}
.cmdk-tabs{display:flex;align-items:center;gap:6px;padding:10px 14px 0}
.cmdk-tab{background:transparent;border:none;cursor:pointer;font-size:13px;font-weight:600;color:var(--ts);padding:7px 14px;border-radius:var(--r) var(--r) 0 0;transition:.15s}
.cmdk-tab:hover{color:var(--tx)}
.cmdk-tab.active{color:var(--ac-2);background:var(--cd);box-shadow:inset 0 -2px 0 var(--ac-2)}
.cmdk-esc-right{margin-left:auto;font-size:10px;color:var(--ts);padding:2px 8px;border:1px solid var(--bd);border-radius:var(--rs)}
.cmdk-ai-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px;min-height:0;scroll-behavior:smooth}
.cmdk-ai-row{display:flex}
.cmdk-ai-row.user{justify-content:flex-end}
.cmdk-ai-row.ai{justify-content:flex-start}
.cmdk-ai-msg{display:flex;flex-direction:column;gap:8px;max-width:86%}
.cmdk-ai-row.user .cmdk-ai-msg{align-items:flex-end;margin-left:auto}
.cmdk-ai-row.ai .cmdk-ai-msg{align-items:flex-start;margin-right:auto}
.cmdk-ai-bubble{padding:12px 15px;border-radius:16px;font-size:13.5px;line-height:1.7;word-break:break-word;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.cmdk-ai-row.user .cmdk-ai-bubble{background:var(--ac-grad);color:#fff;border-bottom-right-radius:5px;white-space:pre-wrap}
.cmdk-ai-row.ai .cmdk-ai-bubble{background:var(--bg);border:1px solid var(--bd);color:var(--tx);border-bottom-left-radius:5px}
.cmdk-ai-bubble.loading{color:var(--tm);font-style:italic}
/* AI 回复结构化排版 */
.cmdk-ai-bubble h2,.cmdk-ai-bubble h3,.cmdk-ai-bubble h4,.cmdk-ai-bubble h5{margin:0 0 8px;font-weight:700;line-height:1.4;color:inherit}
.cmdk-ai-bubble h2{font-size:16px}
.cmdk-ai-bubble h3{font-size:15px}
.cmdk-ai-bubble h4{font-size:14px}
.cmdk-ai-bubble h5{font-size:13px}
.cmdk-ai-bubble p{margin:0 0 8px}
.cmdk-ai-bubble p:last-child{margin-bottom:0}
.cmdk-ai-bubble ol,.cmdk-ai-bubble ul{margin:0 0 10px 18px;padding:0}
.cmdk-ai-bubble li{margin-bottom:4px}
.cmdk-ai-bubble strong{font-weight:700}
.cmdk-ai-bubble code{background:rgba(99,102,241,.12);padding:1px 5px;border-radius:4px;font-family:monospace;font-size:12px}
.cmdk-ai-bubble pre{background:var(--cd);border:1px solid var(--bd);border-radius:var(--r);padding:10px;overflow-x:auto;margin:0 0 10px}
.cmdk-ai-bubble pre code{background:none;padding:0}

.cmdk-ai-actions{display:flex;flex-wrap:wrap;gap:6px;padding-left:4px}
.cmdk-ai-action-btn{font-size:11.5px;padding:5px 11px;border-radius:var(--rs);border:1px solid var(--bd);background:var(--cd);color:var(--tx);cursor:pointer;transition:.15s;display:inline-flex;align-items:center;gap:4px}
.cmdk-ai-action-btn:hover{border-color:var(--ac-2);color:var(--ac-2);background:rgba(59,130,246,.08)}
.cmdk-ai-action-btn.primary{background:var(--ac-grad);color:#fff;border-color:transparent}
.cmdk-ai-action-btn.primary:hover{opacity:.92;color:#fff}

.cmdk-ai-quick{display:flex;flex-wrap:wrap;gap:8px;padding:10px 14px;border-top:1px solid var(--bd);background:var(--cd)}
.cmdk-ai-quick button{font-size:12px;padding:6px 12px;border-radius:999px;border:1px solid var(--bd);background:var(--bg);color:var(--tx);cursor:pointer;transition:.15s}
.cmdk-ai-quick button:hover{border-color:var(--ac-2);color:var(--ac-2);background:rgba(59,130,246,.08)}
.cmdk-input-wrap.ai{display:flex;gap:8px;padding:10px 14px;border-top:1px solid var(--bd);align-items:center}
.cmdk-input-wrap.ai .cmdk-input{flex:1;padding:8px 0}
.cmdk-ai-send{background:var(--ac-grad);color:#fff;border:none;border-radius:var(--r);padding:7px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:.15s;white-space:nowrap}
.cmdk-ai-send:hover{opacity:.92}

@media(max-width:768px){
  .cmdk{padding-top:8vh}
  .cmdk-box{width:96vw;max-height:78vh}
  .cmdk-ai-log{min-height:0}
  .tb-cmdk span{display:none}
  .tb-cmdk kbd{display:none}
}

/* ===== 种草抖音评论 — 高端视觉 ===== */
.dy-panel{max-width:1200px;margin:0 auto;padding:0 0 28px}
.dy-hero{
  display:flex;align-items:flex-start;justify-content:space-between;gap:20px;
  padding:22px 26px;margin-bottom:18px;
  background:linear-gradient(135deg,rgba(34,211,238,.10),rgba(59,130,246,.08),rgba(99,102,241,.06));
  border:1px solid rgba(34,211,238,.22);border-radius:var(--r-lg);
  box-shadow:0 8px 28px rgba(59,130,246,.10);
  position:relative;overflow:hidden;
}
.dy-hero::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:4px;
  background:var(--ac-grad-v);border-radius:var(--r-lg) 0 0 20px;
}
.dy-hero-left{display:flex;flex-direction:column;gap:8px;position:relative;z-index:1}
.dy-title{font-size:20px;font-weight:800;color:var(--tx);letter-spacing:-.4px;display:flex;align-items:center;gap:10px;margin:0}
.dy-title .dy-icon{
  width:38px;height:38px;border-radius:var(--r);
  background:var(--ac-grad);color:var(--white);font-size:20px;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 18px rgba(59,130,246,.32);
}
.dy-subtitle{font-size:13.5px;color:var(--ts);line-height:1.7;max-width:680px}
.dy-hero-filters{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px;align-items:center}
.dy-filter{
  display:inline-flex;align-items:center;gap:7px;cursor:pointer;
  padding:6px 12px;border-radius:999px;font-size:13px;font-weight:600;
  background:var(--cd);color:var(--tx);border:1px solid var(--bd);
  box-shadow:0 2px 6px rgba(0,0,0,.04);
  transition:all .2s;
}
.dy-filter:hover{border-color:var(--ac-2);box-shadow:0 4px 10px rgba(59,130,246,.10)}
.dy-filter.dy-locked{cursor:not-allowed;opacity:.92;background:rgba(34,211,238,.10);border-color:rgba(34,211,238,.30);color:var(--teal-700)}
.dy-filter.dy-locked input[type="checkbox"]{cursor:not-allowed;accent-color:var(--teal-700)}
[data-theme="dark"] .dy-filter.dy-locked{background:rgba(34,211,238,.12);border-color:rgba(34,211,238,.40);color:#A5F3FC}
.dy-filter input[type="checkbox"]{
  width:16px;height:16px;accent-color:var(--ac-2);cursor:pointer;flex-shrink:0;
}
.dy-filter:has(input:checked){
  background:rgba(34,211,238,.12);border-color:rgba(34,211,238,.36);color:var(--teal-700);
}
[data-theme="dark"] .dy-filter{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.10);color:var(--tx)}
[data-theme="dark"] .dy-filter:hover{border-color:var(--ac-1);box-shadow:0 4px 14px rgba(34,211,238,.12)}
[data-theme="dark"] .dy-filter:has(input:checked){background:rgba(34,211,238,.14);border-color:rgba(34,211,238,.42);color:#A5F3FC}
/* 保留旧 badge 兼容 */
.dy-hero-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}
.dy-badge{
  display:inline-flex;align-items:center;gap:5px;
  padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;
  background:rgba(34,211,238,.12);color:var(--teal-700);border:1px solid rgba(34,211,238,.28);
}
[data-theme="dark"] .dy-badge{background:rgba(34,211,238,.14);color:#A5F3FC;border-color:rgba(34,211,238,.32)}

.dy-toolbar{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  padding:16px 20px;margin-bottom:22px;
  background:var(--cd);border:1px solid var(--bd);border-radius:var(--r-lg);
  box-shadow:0 4px 16px rgba(0,0,0,.04);
}
.dy-toolbar-label{font-size:13px;font-weight:700;color:var(--tx)}
.dy-toolbar select{
  padding:8px 14px;border-radius:8px;border:1px solid var(--bd);
  background:var(--bg);color:var(--tx);font-size:13px;font-weight:600;
  cursor:pointer;outline:none;transition:all .2s;
}
.dy-toolbar select:focus{border-color:var(--ac-2);box-shadow:0 0 0 3px rgba(59,130,246,.12)}
.dy-toolbar-meta{font-size:12px;color:var(--ts);margin-left:auto;display:flex;align-items:center;gap:8px}
.dy-toolbar-meta b{color:var(--ac-2);font-weight:800}

.dy-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;
}
.dy-card{
  position:relative;
  background:var(--cd);border:1px solid var(--bd);border-radius:var(--r-lg);
  padding:18px;box-shadow:0 4px 18px rgba(0,0,0,.04);
  transition:all .25s cubic-bezier(.4,0,.2,1);
  display:flex;flex-direction:column;gap:12px;
  overflow:hidden;
}
.dy-card:hover{
  transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,.10);
  border-color:rgba(34,211,238,.35);
}
.dy-card::after{
  content:'';position:absolute;right:0;top:0;width:80px;height:80px;
  background:radial-gradient(circle at 100% 0%,rgba(34,211,238,.10),transparent 70%);
  pointer-events:none;
}
.dy-card-hd{display:flex;align-items:center;gap:10px;position:relative;z-index:1}
.dy-no{
  font-size:26px;font-weight:800;color:var(--tm);line-height:1;
  font-family:'SF Pro Display','Helvetica Neue',sans-serif;
}
.dy-tag-dis{
  display:inline-flex;align-items:center;
  padding:4px 10px;border-radius:999px;
  font-size:12px;font-weight:800;color:var(--white);
  background:var(--ac-grad);
  box-shadow:0 3px 10px rgba(59,130,246,.26);
}
.dy-tag-sym{
  display:inline-flex;align-items:center;
  padding:4px 10px;border-radius:999px;
  font-size:12px;font-weight:600;color:var(--ts);
  background:var(--bg);border:1px solid var(--bd);
}
.dy-txt{
  font-size:14px;line-height:1.85;color:var(--tx);
  background:var(--bg);border:1px solid var(--bd);border-radius:10px;
  padding:16px;flex:1;position:relative;z-index:1;
  letter-spacing:.1px;
}
.dy-txt::before{
  content:'“';position:absolute;left:10px;top:6px;
  font-size:42px;color:var(--tm);opacity:.18;line-height:1;
  font-family:Georgia,serif;
}
.dy-txt p{margin:0;padding-left:16px}
.dy-kw-row{display:flex;gap:8px;flex-wrap:wrap;position:relative;z-index:1}
.dy-kw{
  display:inline-flex;align-items:center;gap:4px;
  padding:4px 10px;border-radius:6px;font-size:11px;font-weight:700;
  background:rgba(34,211,238,.10);color:var(--teal-700);border:1px solid rgba(34,211,238,.22);
}
[data-theme="dark"] .dy-kw{background:rgba(34,211,238,.14);color:#A5F3FC;border-color:rgba(34,211,238,.28)}
.dy-kw.gh{background:rgba(59,130,246,.10);color:var(--pd);border-color:rgba(59,130,246,.22)}
[data-theme="dark"] .dy-kw.gh{background:rgba(59,130,246,.14);color:#BFDBFE;border-color:rgba(59,130,246,.28)}
.dy-card-ft{display:flex;align-items:center;justify-content:space-between;gap:10px;position:relative;z-index:1}
.dy-length{font-size:11px;color:var(--tm);font-weight:600}
.dy-copy{
  display:inline-flex;align-items:center;gap:5px;
  padding:6px 14px;border-radius:8px;border:1px solid var(--bd);
  background:var(--cd);color:var(--ts);font-size:12px;font-weight:700;
  cursor:pointer;transition:all .2s;
}
.dy-copy:hover{
  background:var(--ac-grad);color:var(--white);border-color:transparent;
  box-shadow:0 4px 14px rgba(59,130,246,.28);
}
.dy-empty{
  text-align:center;padding:60px 20px;color:var(--tm);font-size:14px;
  background:var(--cd);border:1px dashed var(--bd);border-radius:var(--r-lg);
}
@media(max-width:900px){
  .dy-hero{flex-direction:column;gap:14px;padding:18px}
  .dy-toolbar-meta{margin-left:0;width:100%}
  .dy-grid{grid-template-columns:1fr}
  .dy-title{font-size:20px}
}
@media(max-width:600px){
  .dy-card{padding:14px}
  .dy-txt{font-size:14px;padding:14px}
  .dy-toolbar{padding:12px 14px;gap:10px}
}

/* 种草抖音评论 · 内置创作参考区（注意事项 / 核心策略 / 谐音替换表） */
.dy-guide{margin-top:30px}
.dy-guide-hd{display:flex;align-items:center;gap:14px;padding:16px 20px;background:linear-gradient(135deg,rgba(245,158,11,.10),rgba(239,68,68,.06));border:1px solid rgba(245,158,11,.28);border-radius:var(--r-lg);margin-bottom:18px}
.dy-guide-ic{width:40px;height:40px;border-radius:var(--r);background:var(--ac-grad);color:var(--white);font-size:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 6px 18px rgba(59,130,246,.30)}
.dy-guide-title{font-size:17px;font-weight:800;color:var(--tx);margin:0}
.dy-guide-sub{font-size:12.5px;color:var(--ts);margin:3px 0 0}

.dy-notice{display:flex;gap:14px;padding:16px 18px;background:rgba(245,158,11,.07);border:1px solid rgba(245,158,11,.30);border-radius:10px;margin-bottom:18px}
.dy-notice-bd{font-size:26px;line-height:1;flex-shrink:0}
.dy-notice-ct{flex:1;font-size:13px;color:var(--tx);line-height:1.7}
.dy-notice-ct>b{color:#B45309;display:block;margin-bottom:6px;font-size:13.5px}
[data-theme="dark"] .dy-notice-ct>b{color:#FBBF24}
.dy-notice-ct ol{margin:0 0 0 18px;padding:0}
.dy-notice-ct li{margin:5px 0}
.dy-notice-ct li>b{display:inline;color:var(--tx);margin:0;font-size:13px;font-weight:700}

.dy-guide-h5{font-size:14px;font-weight:800;color:var(--tx);margin:18px 0 10px;padding-left:11px;border-left:4px solid var(--ac-2)}

.dy-strat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.dy-strat{border:1px solid var(--bd);border-radius:var(--r);padding:13px 15px;background:var(--cd)}
.dy-strat>b{display:block;color:var(--ac-2);font-size:13.5px;font-weight:800;margin-bottom:5px}
.dy-strat p{margin:0;font-size:12.5px;color:var(--ts);line-height:1.65}

.dy-table-wrap{overflow-x:auto;border:1px solid var(--bd);border-radius:var(--r);background:var(--cd)}
.dy-ref-table{width:100%;border-collapse:collapse;font-size:13px;min-width:480px}
.dy-ref-table th,.dy-ref-table td{border:1px solid var(--bd);padding:9px 11px;text-align:left;vertical-align:top}
.dy-ref-table th{background:rgba(34,211,238,.08);color:var(--ts);font-weight:700;white-space:nowrap}
.dy-gzh{color:var(--teal-700);font-weight:800;white-space:nowrap}
[data-theme="dark"] .dy-gzh{color:#A5F3FC}
.dy-guide-foot{font-size:12px;color:var(--tm);margin:14px 0 0;line-height:1.6}

@media(max-width:768px){
  .dy-strat-grid{grid-template-columns:1fr}
  .dy-guide-hd{flex-direction:row;padding:14px}
}

/* ===== 我的（底部导航「我的」面板）===== */
.mine-wrap{max-width:680px;margin:0 auto;padding:4px 2px}
.mine-profile{display:flex;align-items:center;gap:14px;padding:18px;background:linear-gradient(135deg,rgba(34,211,238,.08),rgba(59,130,246,.06));border:1px solid var(--bd);border-radius:var(--r-lg);margin-bottom:18px}
.mine-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;box-shadow:0 4px 14px rgba(59,130,246,.2);flex-shrink:0}
.mine-pinfo{flex:1;min-width:0}
.mine-name{font-size:18px;font-weight:800;color:var(--tx);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.mine-role{font-size:11px;font-weight:700;color:var(--ac-2);background:rgba(59,130,246,.12);border:1px solid rgba(59,130,246,.24);padding:2px 8px;border-radius:999px}
.mine-status{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ts);margin-top:5px}
.mine-dot{width:8px;height:8px;border-radius:50%;background:var(--su);box-shadow:0 0 0 3px rgba(52,199,89,.18)}
.mine-set-btn{width:38px;height:38px;border-radius:10px;border:1px solid var(--bd);background:var(--cd);color:var(--ts);font-size:17px;cursor:pointer;flex-shrink:0;transition:all .2s}
.mine-set-btn:hover{border-color:var(--ac-2);color:var(--ac-2)}
.mine-sec-hd{font-size:13px;font-weight:800;color:var(--ts);margin:6px 4px 12px;letter-spacing:.3px}
.mine-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.mine-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:16px;border-radius:var(--r-lg);background:var(--cd);border:1px solid var(--bd);cursor:pointer;text-align:left;transition:all .2s;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.mine-card:hover{transform:translateY(-2px);border-color:var(--ac-2);box-shadow:0 6px 18px rgba(59,130,246,.12)}
.mine-card-ic{font-size:24px;line-height:1}
.mine-card-t{font-size:15px;font-weight:800;color:var(--tx)}
.mine-card-d{font-size:11.5px;color:var(--ts);line-height:1.5}
.mine-logout{width:100%;margin-top:18px;padding:13px;border-radius:var(--r-lg);border:1px solid rgba(255,59,48,.25);background:rgba(255,59,48,.06);color:var(--da);font-size:14px;font-weight:700;cursor:pointer;transition:all .2s}
.mine-logout:hover{background:rgba(255,59,48,.12)}
@media(min-width:600px){.mine-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:900px){.mine-grid{grid-template-columns:repeat(4,1fr)}.mine-wrap{max-width:920px}}

/* ============================================================
   手机端适配精修层 @2026-08-15（深度审查补充）
   统一断点：平板/大手机 ≤900 · 手机 ≤640 · 小屏 SE ≤480
   原则（ardot-design-core 响应式）：触控目标≥44px、字号阶梯、
   grid 窄屏塌缩、宽表横向滚动封装、禁止整页横向溢出
   （既有 ≤900/≤640 规则已较完善，本层聚焦补全 SE 档与统一安全网）
   ============================================================ */

/* —— 全局安全网（≤900 兜底，杜绝媒体资源把页面撑出横向滚动条） —— */
@media(max-width:900px){
  img,video,canvas{max-width:100%;height:auto}
}

/* —— 通用触控目标与字号阶梯（≤640） —— */
@media(max-width:640px){
  /* 工具栏 pill / 筛选 / 标签：竖向 padding 提到 ≥40px，拇指友好 */
  .cs-pill,.dy-filter,.nrt,.ds-chip{padding-top:10px;padding-bottom:10px}
  .tab,.nrt,.cs-pill,.dy-filter{min-height:40px}
  /* 顶栏命令面板触发按钮在窄屏不挤压文字 */
  .tb-cmdk{font-size:12px;padding:7px 10px}
  .tb-cmdk kbd{display:none}
  /* 首页洞察 5 列指标在小手机更紧凑，避免数字被裁 */
  .hm-insight-metrics{gap:4px}
  .hm-insight-metrics>div{font-size:11px}
}

/* —— 小屏 SE（≤480）：所有模块再塌缩一档，追求最佳单手体验 —— */
@media(max-width:480px){
  .pc{padding:10px 12px;padding-bottom:calc(56px + env(safe-area-inset-bottom) + 16px)}
  .tb{padding:10px 12px;gap:6px}
  .tb .pt{font-size:16px}
  /* 首页欢迎卡 */
  .hm-welcome{padding:18px 14px;gap:12px}
  .hm-welcome-greet{font-size:17px}
  .hm-stat-card{padding:9px 10px;min-width:0;flex:1 1 calc(50% - 5px)}
  .hm-stat-num{font-size:18px}
  .hm-section-title{font-size:14px}
  .hm-grid{grid-template-columns:1fr}
  /* 技能中心 */
  .cs-hero{padding:16px 14px}
  .cs-hero-top{gap:8px}
  .cs-kpi{min-width:0;flex:1 1 42%;padding:10px 4px}
  .cs-kpi-v{font-size:18px}
  .cs-dlg{padding:14px}
  .cs-dlg-p,.cs-dlg-a{padding:12px}
  .cs-objs,.cs-sms-list,.cs-grid,.cs-steps{gap:12px}
  .cs-gcard,.cs-step,.cs-obj,.cs-sms{padding:12px}
  .cs-pill,.nrt{padding:9px 12px;font-size:12.5px}
  /* 转化体系对话树 / 架构步骤 */
  .cs-fw-n{width:26px;height:26px;line-height:26px;font-size:13px}
  .cs-fw-t{font-size:12.5px}
  .gh-ch-tab{padding:9px 6px;font-size:12px;min-width:0}
  /* 数据中心 */
  .ds-topbar{gap:6px;padding:8px 10px}
  .ds-title{font-size:14px}
  .ds-mode-opt{padding:5px 8px 5px 6px;font-size:12.5px}
  .fxr-hero{padding:22px 18px}
  .fxr-hero h1{font-size:22px}
  .fxr-card{padding:14px 14px}
  /* 日报：超小屏表格字号再降，配合 table-layout:fixed 均分，避免横向裁切 */
  #rb-card table,#rb-visit-card table,#rb-team-panel table{font-size:10px}
  #rb-card table th,#rb-card table td,
  #rb-visit-card table th,#rb-visit-card table td,
  #rb-team-panel table th,#rb-team-panel table td{padding:4px 3px!important}
  /* 朋友圈种草 */
  .dy-hero{padding:14px;gap:10px}
  .dy-title{font-size:17px}
  .dy-toolbar{flex-direction:column;align-items:stretch;gap:8px}
  .dy-toolbar select{width:100%}
  .dy-card{padding:12px}
  .dy-strat-grid{gap:10px}
  /* 我的面板（保持 2 列，320px 仍可舒适点击） */
  .mine-profile{padding:14px;gap:10px}
  .mine-avatar{width:48px;height:48px}
  .mine-name{font-size:16px}
  .mine-card{padding:14px;gap:5px}
  .mine-card-t{font-size:14px}
  /* 弹窗 / 登录 */
  .mo{max-height:88vh}
  .mo-hd{padding:14px 16px 12px}
  .mo-bd{padding:16px}
  .mo-ft{padding:12px 16px}
  .lb{padding:24px 16px}
  /* 底部导航：保证 5 项在 320px 也不溢出 */
  .mbn-i{min-width:0;overflow:hidden;font-size:10px}
  .mbn-ic{font-size:18px}
  .mbn-i>*{min-width:0}
  .mbn-lb{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  /* 通用卡片间距收紧 */
  .cd,.hm-card,.sys-card,.sc-card{padding:14px}
}

/* —— 超窄（≤360）：最后兜底，杜绝任意一档文字溢出 —— */
@media(max-width:360px){
  .hm-welcome-greet{font-size:16px}
  .hm-stat-num{font-size:16px}
  .tb .pt{font-size:15px}
  .mbn-i{font-size:9.5px}
  .cs-kpi{flex:1 1 100%}
}

/* ============================================================
   手机端「任意尺寸流式自适应」增强层 @2026-08-15b
   目标：不再只靠断点阶梯，而是用 clamp() 连续缩放 + fr/百分比回流，
   让 320→640 之间每一档宽度都自然贴合，彻底消除「某尺寸偏大/偏小/突兀」。
   结构安全已由上层保证（html,body overflow-x:hidden + 宽表卡内横滚）。
   ============================================================ */
@media(max-width:900px){
  /* —— 标题/数字连续缩放：下限=SE 档、上限=桌面档，中间随视口平滑过渡 —— */
  .hm-welcome-name{font-size:clamp(18px,5.4vw,24px)}
  .hm-welcome-greet{font-size:clamp(14px,4.4vw,20px)}
  .cs-hero-name{font-size:clamp(18px,5.4vw,24px)}
  .cs-hero-sub{font-size:clamp(11px,3.4vw,13px)}
  .fxr-hero h1{font-size:clamp(20px,6.4vw,28px)}
  .fxr-hero p{font-size:clamp(12px,3.6vw,14px);max-width:100%}
  .ds-title,.page-hd-titles{font-size:clamp(15px,4.4vw,20px)}
  .lb h1{font-size:clamp(20px,6vw,26px)}
  .ifs-hd-t .ic{font-size:clamp(26px,7vw,38px)}
  .cs-fw-head,.cs-group-h,.cs-sub-h{font-size:clamp(15px,4.2vw,18px)}
  .hm-stat-num,.rb-num{font-size:clamp(16px,4.6vw,22px)}
  /* —— 卡片内边距随屏收，保证内容离屏边有呼吸（统一手感） —— */
  .cd,.hm-card,.sys-card,.sc-card,.cs-gcard,.cs-dlg,.cs-step,.cs-obj,.cs-sms{padding:clamp(12px,3.4vw,18px)}
  /* —— 首页欢迎 meta 标签行允许换行，绝不溢出 —— */
  .hm-welcome-meta{display:flex;flex-wrap:wrap;gap:6px}
  /* —— 技能中心 KPI：手机上由「横滑条」改为「2 列回流」，更贴合而非滑出去 —— */
  .cs-kpis{flex-wrap:wrap;overflow-x:visible}
  .cs-kpi{flex:1 1 calc(50% - 6px);min-width:0}
  /* —— 主内容容器绝不超出视口 —— */
  .pc,.mc,.ifs,.dy-panel,.mine-wrap{max-width:100%}
  /* —— 关键容器允许子项收缩，长文本/长内容不撑破 —— */
  .hm-welcome,.cs-hero,.fxr-hero,.bb-col,.us-list-card,.mbn{min-width:0}
  /* —— 公海二级 tab 在窄屏允许换行，3 渠道不挤压 —— */
  .gh-ch-tabs{display:flex;flex-wrap:wrap;gap:6px}
}

/* ============================================================
   用户管理列表：≤900 由「卡内横滑宽表」改为「堆叠卡片」
   彻底贴合任意手机宽度，零横向滚动；桌面 >900 仍保持网格表头。
   列顺序固定：1头像 2用户/职称 3角色 4分组 5密码 6状态 7最近登录 8操作
   ============================================================ */
@media(max-width:900px){
  .us-list-header{display:none}
  .us-mobile-hint{display:none}
  .us-list-card{overflow-x:visible;padding:0!important}
  .us-user-row{
    display:flex;flex-wrap:wrap;align-items:center;gap:10px;
    padding:14px;background:var(--cd);border:1px solid var(--bd);
    border-radius:14px;margin-bottom:10px;min-width:0;
  }
  .us-user-row .us-avatar{flex:0 0 auto;width:44px;height:44px;font-size:16px}
  .us-user-row>div:nth-child(2){flex:1 1 calc(100% - 60px);min-width:0}
  .us-user-row>div:nth-child(n+3){
    flex:1 1 100%;min-width:0;
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding:8px 0;border-top:1px dashed var(--bd);
  }
  .us-user-row>div:nth-child(2)::before{content:"用户 / 职称";font-size:12px;color:var(--ts);font-weight:600;flex:none;align-self:flex-start;margin-top:2px}
  .us-user-row>div:nth-child(3)::before{content:"角色";font-size:12px;color:var(--ts);font-weight:600;flex:none}
  .us-user-row>div:nth-child(4)::before{content:"分组";font-size:12px;color:var(--ts);font-weight:600;flex:none}
  .us-user-row>div:nth-child(5)::before{content:"密码";font-size:12px;color:var(--ts);font-weight:600;flex:none}
  .us-user-row>div:nth-child(6)::before{content:"状态";font-size:12px;color:var(--ts);font-weight:600;flex:none}
  .us-user-row>div:nth-child(7)::before{content:"最近登录";font-size:12px;color:var(--ts);font-weight:600;flex:none}
  .us-user-row>div.us-row-actions{justify-content:flex-start;gap:8px;border-top:1px dashed var(--bd)}
  .us-user-row>div.us-row-actions::before{display:none}
}
