/* ═══════════════════════════════════════════════════════════════
   ui-refresh.css — 报价工具·现代清爽视觉精修层
   ---------------------------------------------------------------
   · 定位：在 styles.css / pkg-calc.css / joint-calc.css / SHELL 内联
     之上做「加法式」精修，只调质感（色彩层次/阴影/圆角/聚焦/字距/
     表格交互），不改任何布局、骨架、类名与 JS 依赖。
   · 遵循：保留品牌橙粉渐变与暖色基调；深色模式照常适配。
   · 回退：整文件删除 + index.html 移除该 link 即可完全还原。
   ═══════════════════════════════════════════════════════════════ */

:root{
  /* 新增质感 token（浅色模式） */
  --ui-bg: radial-gradient(1200px 600px at 12% -8%, #fff7f0 0%, rgba(255,247,240,0) 55%),
           radial-gradient(1000px 520px at 108% 4%, #fff1f2 0%, rgba(255,241,242,0) 52%),
           #f6f2f3;
  --ui-panel-border: rgba(225,29,72,.10);
  --ui-panel-shadow: 0 1px 2px rgba(16,24,40,.04), 0 12px 32px -14px rgba(225,29,72,.16);
  --ui-card-hover-shadow: 0 2px 4px rgba(16,24,40,.05), 0 20px 44px -18px rgba(225,29,72,.24);
  --ui-ring: 0 0 0 3px rgba(225,29,72,.14);
  --ui-ring-accent: 0 0 0 3px rgba(249,115,22,.16);
  --ui-th-bg: #fbf7f6;
  --ui-hover-row: #fff8f6;
  --ui-num: "SFMono-Regular","SF Mono","JetBrains Mono",Consolas,"Liberation Mono",monospace;
}

/* ── 全局渲染：字体平滑 + 数字等宽对齐 ── */
body{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
/* 金额/积分/盒数等数字使用等宽，避免跳行抖动（覆盖各处） */
.mc-price,.mc-original,.mc-bonus,.mc-discount,
.kpi .val,.mall-points b,.pts-stepper em,
.price,.pkg .price,.lb-gmv,.lb-pct,.col-value,
.fu-metric-value,.rf-metric,.jt-stat .b,.cb-metric .b,
.product-table .pos-price,.combo-summary b,.package-card-price,
.mat-card .pts,.mat-card .price,
.mc-price,.month-table td
{ font-feature-settings:"tnum" 1,"lnum" 1; }
.month-table td,.mc-price,.mc-original,.mc-bonus,.mc-discount{
  font-variant-numeric:tabular-nums;
}

/* ── 工作台背景：柔和的暖色渐变（替代纯灰 #f4f5f7） ── */
body:not(.shell-ready) .app{background:var(--ui-bg);}
.shell .workspace{background:var(--ui-bg);}

/* ── 面板卡片：统一圆角 + 柔和描边 + 双层阴影 ── */
.panel{
  border-color:var(--ui-panel-border);
  border-radius:16px;
  box-shadow:var(--ui-panel-shadow);
  transition:box-shadow .18s ease,border-color .18s ease;
}
/* 补差/联报作用域面板（pkg-calc.css 定义，覆盖其阴影） */
:is(#panel-upgrade,#panel-combo) .panel{
  border-color:var(--ui-panel-border);
  border-radius:14px;
  box-shadow:var(--ui-panel-shadow);
}

/* ── 页签 / 分类胶囊：更细腻的 hover 与选中态 ── */
.cat-btn{border-radius:999px;transition:all .16s ease;}
.cat-btn:hover{border-color:#fdc8d0;color:var(--brand);background:#fff6f6;}
.cat-btn.active{
  background:linear-gradient(135deg,#f97316,#e11d48);
  color:#fff;border-color:transparent;
  box-shadow:0 6px 16px -6px rgba(225,29,72,.5);
}
.month-subtab,.qt-tab,.package-tab,.segment,.segments,.seg-view-btn,
.cb-tab,.fu-view-switch,.qt-board-tab{border-radius:999px;transition:all .15s ease;}
.seg-view-btn.active,.qt-tab.active,.package-tab.active,.cb-tab.active,
.fu-view-switch .active,.qt-board-tab.active{
  background:linear-gradient(135deg,#f97316,#e11d48);
  box-shadow:0 5px 14px -6px rgba(225,29,72,.5);
}

/* ── 输入控件：统一聚焦环 + 更柔的描边 ── */
input[type="number"],input[type="text"],input[type="password"],
input[type="search"],select,textarea{
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
input[type="number"]:focus,select:focus,
input[type="text"]:focus,input[type="password"]:focus,
input[type="search"]:focus,textarea:focus{
  border-color:var(--brand);
  box-shadow:var(--ui-ring);
}
:is(#panel-upgrade,#panel-combo) .field input,
:is(#panel-upgrade,#panel-combo) .field select,
:is(#panel-upgrade,#panel-combo) .product-table input{
  border-radius:9px;
}
:is(#panel-upgrade,#panel-combo) .field input:focus,
:is(#panel-upgrade,#panel-combo) .field select:focus,
:is(#panel-upgrade,#panel-combo) .product-table input:focus{
  box-shadow:var(--ui-ring);
}

/* ── 主按钮：渐变 + 投影 + 柔和上浮 ── */
.btn{
  background:linear-gradient(135deg,#f97316,#e11d48);
  box-shadow:0 8px 20px -8px rgba(225,29,72,.6);
  transition:all .16s ease;
}
.btn:hover{
  background:linear-gradient(135deg,#ea580c,#be123c);
  transform:translateY(-1px);
  box-shadow:0 12px 26px -10px rgba(225,29,72,.66);
}
.btn:active{transform:translateY(0) scale(.99);}
.btn.ghost{
  background:#fff;color:var(--ink);
  box-shadow:inset 0 0 0 1px var(--line);
}
.btn.ghost:hover{background:#fff7f6;box-shadow:inset 0 0 0 1px #fdc8d0;color:var(--brand);}
.primary,.login-submit,.combo-role-btn.active,.cb-role-btn.active,
.intro-save,.template-save,.mat-save,.pkg-save{
  background:linear-gradient(135deg,#f97316,#e11d48)!important;
  box-shadow:0 8px 20px -8px rgba(225,29,72,.6)!important;
  transition:all .16s ease!important;
}
.primary:hover,.login-submit:hover,.combo-role-btn.active:hover,
.cb-role-btn.active:hover,.intro-save:hover,.template-save:hover,
.mat-save:hover,.pkg-save:hover{
  background:linear-gradient(135deg,#ea580c,#be123c)!important;
  transform:translateY(-1px);
}

/* ── 次要按钮 / 复制卡：描边态更精致 ── */
.copy-btn,.copy-mini,.seg-card-actions button,.template-action-btn,
.seg-view-btn{border-radius:9px;transition:all .15s ease;}
.copy-btn:hover,.copy-mini:hover,.template-action-btn:hover{
  border-color:var(--brand);color:var(--brand);
  box-shadow:inset 0 0 0 1px rgba(225,29,72,.35);
}

/* ── 积分芯片（复用横排选择）：选中态加高亮描边 ── */
.pts-chip{border-radius:11px;transition:all .14s ease;}
.pts-chip:hover{border-color:#fdc8d0;box-shadow:0 3px 10px -4px rgba(225,29,72,.16);}
.pts-chip.active{
  border-color:var(--brand);
  background:linear-gradient(135deg,#fff7ed,#fff1f2);
  box-shadow:0 5px 14px -7px rgba(225,29,72,.5);
}
.pts-chip.active .pts-pts{color:var(--brand-deep);}
.pts-stepper button{border-radius:6px;transition:all .14s ease;}
.pts-stepper button:hover{border-color:var(--brand);color:var(--brand);}

/* ── 表格：表头 sticky + 分区着色 + 行 hover ── */
.month-table,.product-table,.rf-table,.fu-table,.cb-product-table,
.col-chart-panel .chart-table{
  border-radius:14px;overflow:hidden;border-color:var(--ui-panel-border);
}
.month-table th,.product-table th,.rf-table th,.fu-table th,.cb-pt-head{
  background:var(--ui-th-bg);
  position:sticky;top:0;z-index:2;
  font-weight:700;color:#5b4a4a;
}
.month-table td,.product-table td,.rf-table td,.fu-table td,.cb-pt-row{
  transition:background .14s ease;
}
.month-table tbody tr:hover td,
.product-table tbody tr:hover td,
.rf-table tbody tr:hover td,
.fu-table tbody tr:hover td,
.cb-pt-row:hover td{
  background:var(--ui-hover-row);
}
/* 表头排序/指北箭头保留 */
.month-table th:first-child,.product-table th:first-child,
.rf-table th:first-child,.fu-table th:first-child{border-radius:0;}

/* ── 横屏分段卡片：hover 轻微上浮 ── */
.seg-card,.jt-plan-preview,.cb-pkg-card,.package-card,.mall-card,
.gallery-card,.kpi,.card,.mat-card,.intro-card,.template-card{
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.seg-card:hover,.jt-plan-preview:hover,.cb-pkg-card:hover,
.package-card:hover,.mat-card:hover,.intro-card:hover,.template-card:hover{
  transform:translateY(-3px);
  border-color:#fdc8d0;
  box-shadow:var(--ui-card-hover-shadow);
}
.kpi:hover,.card:hover{
  box-shadow:var(--ui-card-hover-shadow);
}

/* ── KPI / 指标卡：左上角色条更鲜明 ── */
.kpi{border-color:var(--ui-panel-border);border-radius:16px;}
.kpi .val{letter-spacing:-.5px;font-weight:750;}

/* ── 弹窗（积分商城/积分兑换/素材预览）── */
.pts-modal,.mat-modal,.benefit-picker{
  border-radius:18px;
  box-shadow:0 1px 2px rgba(16,24,40,.06),0 40px 90px -24px rgba(15,23,42,.45);
}
.pts-modal-mask,.mat-modal-mask{backdrop-filter:blur(3px) saturate(120%);}
.pts-modal-head,.mat-modal-head,.benefit-picker .head{
  border-bottom:1px solid var(--ui-panel-border);
  background:linear-gradient(135deg,#fff7ed,#fff1f2);
  border-radius:18px 18px 0 0;
}
.modal-beta-panel,.pts-modal-ok,.mat-modal-ok{
  background:linear-gradient(135deg,#f97316,#e11d48);
  box-shadow:0 8px 20px -8px rgba(225,29,72,.6);
}
.modal-beta-panel:hover,.pts-modal-ok:hover,.mat-modal-ok:hover{
  background:linear-gradient(135deg,#ea580c,#be123c);
}

/* ── 侧栏（SHELL 内联定义，此处精修 active/悬浮态）── */
.sidebar-btn{transition:all .16s ease;}
.sidebar-btn:hover{background:#fff6f4;color:var(--brand);}
.sidebar-btn.active{
  background:linear-gradient(135deg,#fff7ed,#fff1f2);
  border-color:rgba(249,115,22,.22);
}
.body.shell-ready .sidebar-btn.active::before{opacity:1;}

/* ── 顶栏 / 用户胶囊：更柔的投影 ── */
.topbar{box-shadow:0 1px 0 rgba(225,29,72,.06),0 12px 30px -18px rgba(225,29,72,.18);}
.topbar-title{letter-spacing:-.3px;}
.topbar-user,.topbar-exit{transition:all .16s ease;}

/* ── 滚动条：细而协调（仅浅色模式）─ */
@media (pointer:fine){
  ::-webkit-scrollbar{width:10px;height:10px;}
  ::-webkit-scrollbar-thumb{background:#e7d6d6;border-radius:999px;border:2px solid transparent;background-clip:content-box;}
  ::-webkit-scrollbar-thumb:hover{background:#d9bebe;background-clip:content-box;}
  ::-webkit-scrollbar-track{background:transparent;}
}

/* ── 现代清爽细节：区块标题字距 + 折叠/收起按钮 ── */
.section-title,.section-sub,.panel-title,.jt-panel-title,.jt-section-title,
.cb-section-title,.fu-section-title,.rf-section-title{margin-bottom:2px;}
.section-title{letter-spacing:-.3px;}
.section-sub,.jt-panel-title span,.cb-section-desc{color:#8a7780;}
.month-section-title,.fu-section-title,.rf-section-title{border-left:3px solid #e11d48;}

/* ── 登录卡片：保持渐变，微调圆角与投影 ── */
.login-card{border-radius:20px;box-shadow:0 1px 2px rgba(16,24,40,.06),0 0 0 1px rgba(225,29,72,.06),0 32px 80px -24px rgba(225,29,72,.28);}
.login-submit{border-radius:13px;}

/* ═══════════════ 深色模式适配：在既有 dark 规则上补充 ═══════════════ */
body[data-theme="dark"]{
  --ui-bg: radial-gradient(1100px 600px at 12% -8%, rgba(249,115,22,.10) 0%, rgba(249,115,22,0) 55%),
            radial-gradient(1000px 520px at 108% 4%, rgba(225,29,72,.10) 0%, rgba(225,29,72,0) 52%),
            #0a0f1c;
  --ui-panel-border: rgba(148,163,184,.16);
  --ui-panel-shadow: 0 1px 2px rgba(0,0,0,.4), 0 12px 32px -14px rgba(0,0,0,.5);
  --ui-card-hover-shadow: 0 2px 4px rgba(0,0,0,.45), 0 20px 44px -18px rgba(225,29,72,.3);
  --ui-th-bg: rgba(148,163,184,.10);
  --ui-hover-row: rgba(251,113,133,.08);
}
body[data-theme="dark"]:not(.shell-ready) .app,
body[data-theme="dark"] .shell .workspace{background:var(--ui-bg);}
body[data-theme="dark"] .panel,
:is(#panel-upgrade,#panel-combo) .panel{
  border-color:var(--ui-panel-border);
  box-shadow:var(--ui-panel-shadow);
}
body[data-theme="dark"] .cat-btn.active,
body[data-theme="dark"] .seg-view-btn.active,
body[data-theme="dark"] .qt-tab.active,
body[data-theme="dark"] .package-tab.active,
body[data-theme="dark"] .cb-tab.active,
body[data-theme="dark"] .fu-view-switch .active,
body[data-theme="dark"] .qt-board-tab.active{box-shadow:0 5px 16px -6px rgba(225,29,72,.6);}
body[data-theme="dark"] .month-table th,
body[data-theme="dark"] .product-table th,
body[data-theme="dark"] .rf-table th,
body[data-theme="dark"] .fu-table th,
body[data-theme="dark"] .cb-pt-head{color:#cdd5e0;background:rgba(148,163,184,.08);}
body[data-theme="dark"] .month-table tbody tr:hover td,
body[data-theme="dark"] .product-table tbody tr:hover td,
body[data-theme="dark"] .rf-table tbody tr:hover td,
body[data-theme="dark"] .fu-table tbody tr:hover td,
body[data-theme="dark"] .cb-pt-row:hover td{background:var(--ui-hover-row);}
body[data-theme="dark"] .sidebar-btn.active{
  background:linear-gradient(135deg,rgba(249,115,22,.18),rgba(225,29,72,.22));
  border-color:rgba(251,146,60,.4);
}
body[data-theme="dark"] .kpi .val{letter-spacing:-.5px;}
body[data-theme="dark"] ::-webkit-scrollbar-thumb{background:#2a3140;background-clip:content-box;}

/* ═══ 2026-09-09 目标套餐档位卡紧凑化（方案A：横排小卡，补差/免单 与 双品联报 同步生效） ═══ */
:is(#panel-upgrade,#panel-combo) .target-package-panel .package-list{
  grid-template-columns:repeat(auto-fill,minmax(164px,1fr))!important;
  gap:8px!important;
}
:is(#panel-upgrade,#panel-combo) .target-package-panel .package-card{
  aspect-ratio:auto!important;
  min-height:54px!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-rows:none!important;
  align-content:center!important;
  gap:10px!important;
  padding:7px 10px!important;
  border-radius:8px!important;
}
:is(#panel-upgrade,#panel-combo) .target-package-panel .package-card-main{
  gap:2px!important;
  align-content:center!important;
  min-width:0!important;
}
:is(#panel-upgrade,#panel-combo) .target-package-panel .package-card-title{
  font-size:13.5px!important;
  line-height:1.3!important;
  letter-spacing:.2px!important;
  padding-right:0!important;
  color:#111827!important;
  font-weight:700!important;
}
:is(#panel-upgrade,#panel-combo) .target-package-panel .package-card-meta{
  display:none!important;
  min-height:0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  -webkit-line-clamp:initial!important;
  font-size:11px!important;
  line-height:1.4!important;
  margin:0!important;
}
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .target-package-panel .package-card-title{
  color:#f8fafc!important;
}
:is(#panel-upgrade,#panel-combo) .target-package-panel .package-card-price{
  align-self:center!important;
  font-size:13.5px!important;
  white-space:nowrap!important;
  padding-right:24px!important;
}
:is(#panel-upgrade,#panel-combo) .target-package-panel .package-card-badge{
  top:4px!important;right:4px!important;bottom:auto!important;left:auto!important;
  min-width:0!important;min-height:0!important;
  padding:2px 6px!important;
  border-bottom-left-radius:6px!important;
  font-size:9px!important;line-height:1.2!important;
}
:is(#panel-upgrade,#panel-combo) .target-package-panel .package-card-check{
  right:6px!important;bottom:6px!important;
  width:16px!important;height:16px!important;
  font-size:10px!important;
}

/* ═══════════════ 顶部「今日营业中」呼吸灯 → 绿色 ═══════════════ */
.topbar-pill{color:#15803d;}
body[data-theme="dark"] .topbar-pill{color:#4ade80;}
.topbar-pill::before{
  background:#22c55e;
  box-shadow:0 0 0 4px rgba(34,197,94,.14),0 0 14px rgba(34,197,94,.5);
}
@keyframes statusGlowPulse{
  0%,100%{transform:scale(.94);box-shadow:0 0 0 4px rgba(34,197,94,.12),0 0 12px rgba(34,197,94,.45);}
  50%{transform:scale(1.18);box-shadow:0 0 0 7px rgba(34,197,94,.16),0 0 22px rgba(34,197,94,.7);}
}

/* ═══════════════ 顶部导航：默认隐藏，鼠标移到屏幕最上方唤出 ═══════════════ */
body.topbar-auto .topbar{
  transform:translateY(-105%);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:transform .32s cubic-bezier(.22,.85,.3,1),opacity .26s ease,left .18s ease,visibility 0s linear .32s;
}
body.topbar-auto.topbar-show .topbar{
  transform:translateY(0);
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:transform .32s cubic-bezier(.22,.85,.3,1),opacity .26s ease,left .18s ease,visibility 0s;
}
body.topbar-auto .workspace{
  padding-top:10px;
  transition:padding-top .32s cubic-bezier(.22,.85,.3,1);
}
body.topbar-auto.topbar-show .workspace{
  padding-top:84px;
}
@media (prefers-reduced-motion:reduce){
  body.topbar-auto .topbar,body.topbar-auto .workspace{transition:none!important;}
}

/* ═══ 2026-09-09 首笔订单详情 与 目标套餐 等宽并排（宽屏双列布局下，两框一样大） ═══ */
@media (min-width:1281px){
  :is(#panel-upgrade,#panel-combo) .shell.pkg-shell{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  :is(#panel-upgrade,#panel-combo) .pkg-shell .first-order-panel,
  :is(#panel-upgrade,#panel-combo) .pkg-shell .target-package-panel{
    align-self:stretch!important;
  }
  :is(#panel-upgrade,#panel-combo) .pkg-shell .target-package-panel{
    display:flex!important;
    flex-direction:column!important;
  }
  :is(#panel-upgrade,#panel-combo) .pkg-shell .target-package-panel .package-list{
    flex:1 1 auto!important;
    align-content:flex-start!important;
  }
}

/* ═════════════════════════════════════════════════════════════════════
   ═══ 2026-09-09 退款计算：订单编号输入框统一 + 区块标题去左装饰条 ═══
   · 订单编号是 input[type=text]，未命中全局 input[type=number]/select 样式 → 补齐
   · 「订单信息 / 实时结果 / 产品扣费 / 赠品折算」标题左侧 3px 橙竖条去掉（仅退款面板）
   · 平台规则 / 满额阈值 提示卡、右侧实时结果卡顶部橙条按需保留
   · 回退：删除本块即可
   ═════════════════════════════════════════════════════════════════════ */
#panel-refund .rf-form input[type="text"]{
  width:100%;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:15px;
  font-family:inherit;
  background:#fff;
  color:var(--ink);
  box-shadow:inset 0 1px 2px rgba(16,24,40,.04);
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
#panel-refund .rf-form input[type="text"]::placeholder{color:#9ca3af;}
#panel-refund .rf-form input[type="text"]:focus{
  outline:none;
  border-color:var(--brand);
  box-shadow:var(--ui-ring);
}
#panel-refund .rf-section-title{border-left:none!important;}

/* ═════════════════════════════════════════════════════════════════════
   ═══ 2026-09-09 深色模式整体修复：工作台可操作面板统一变暗 ═══
   覆盖：套餐管理(month) / 退款计算(refund) / 回访日期(followup) /
        素材库(materials) / 胶原(collagen)
   说明：补差(upgrade)/报ABC(joint)/双品联报(combo) 已有独立深色适配，不重复覆盖。
   手段：面板内作用域 CSS 变量 → 内部 var(--ink/--ink2/--soft2/…)
        自动切换亮色文字；再把字面量浅色表面(#fff/#f9fafb/…)逐类覆盖成深色。
   另：深色模式下隐藏侧栏「胶原流失」入口（CSS 隐藏即无法再导航进入；
       若切深色前已停留在该面板，样式层也已兜底变暗，不会刺眼）。
   回退：删除本块即可。
   ═════════════════════════════════════════════════════════════════════ */
html[data-theme="dark"] #panel-month,
html[data-theme="dark"] #panel-refund,
html[data-theme="dark"] #panel-followup,
html[data-theme="dark"] #panel-materials,
html[data-theme="dark"] #panel-collagen{
  --ink:#e2e8f0; --ink-soft:#94a3b8; --ink2:#eef2f7; --muted2:#94a3b8;
  --line:rgba(148,163,184,.26); --line2:rgba(148,163,184,.26);
  --soft2:#151f33; --canvas:#0f172a;
  --brand2-light:rgba(249,115,22,.15); --brand2-border:rgba(251,146,60,.38);
  background:#0f172a;
  color-scheme:dark;
}

/* ── 深色：面板内全部输入/选择控件 ── */
html[data-theme="dark"] :is(#panel-month,#panel-refund,#panel-followup,#panel-materials,#panel-collagen)
:is(input[type="number"],input[type="text"],input[type="date"],input[type="search"],select,textarea){
  background:#0f172a;
  color:#e2e8f0;
  border-color:rgba(148,163,184,.34);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.3);
}
html[data-theme="dark"] :is(#panel-month,#panel-refund,#panel-followup,#panel-materials,#panel-collagen)
:is(input,textarea)::placeholder{color:#64748b;}
html[data-theme="dark"] :is(#panel-month,#panel-refund,#panel-followup,#panel-materials,#panel-collagen)
.cat-btn:not(.active):hover{background:rgba(251,113,133,.10);border-color:rgba(251,113,133,.4);}

/* ── 深色：套餐管理（当月套餐 / 积分商城 / 活动配图） ── */
html[data-theme="dark"] #panel-month .month-subtabs{
  background:#1e293b;border-color:rgba(148,163,184,.3);
}
html[data-theme="dark"] #panel-month .month-subtab{color:#cbd5e1;}
html[data-theme="dark"] #panel-month .month-subtab:hover{color:#fda4af;}
html[data-theme="dark"] #panel-month .cat-btn{
  background:#1e293b;border-color:rgba(148,163,184,.3);color:#cbd5e1;
}
html[data-theme="dark"] #panel-month .month-banner{
  background:linear-gradient(135deg,rgba(225,29,72,.18),rgba(15,23,42,.25));
  border-color:rgba(251,146,60,.35);
}
html[data-theme="dark"] #panel-month .mb-head{color:#fda4af;}
html[data-theme="dark"] #panel-month .mb-sub{color:#94a3b8;}
html[data-theme="dark"] #panel-month .mb-notice{
  background:rgba(249,115,22,.14);border-color:rgba(251,146,60,.4);color:#fdba74;
}
html[data-theme="dark"] #panel-month .month-table{
  background:#0f172a;border-color:rgba(148,163,184,.26);
}
html[data-theme="dark"] #panel-month .month-table th,
html[data-theme="dark"] #panel-month .month-table td{border-color:rgba(148,163,184,.22);}
html[data-theme="dark"] #panel-month .month-table td{color:#cbd5e1;}
html[data-theme="dark"] #panel-month .month-table .mc-product{background:#151f33;color:#eef2f7;}
html[data-theme="dark"] #panel-month .month-table .mc-product-img{background:#1e293b;}
html[data-theme="dark"] #panel-month .month-table .mc-original{color:#94a3b8;}
html[data-theme="dark"] #panel-month .month-table .mc-price{color:#fb7185;}
html[data-theme="dark"] #panel-month .month-table .mc-bonus{background:rgba(249,115,22,.16);color:#fdba74;}
html[data-theme="dark"] #panel-month .month-table .mc-discount{background:rgba(34,197,94,.16);color:#86efac;}
html[data-theme="dark"] #panel-month .month-table.level-table th{background:rgba(139,92,246,.18);color:#ddd6fe;}
html[data-theme="dark"] #panel-month .month-rules{background:#111a2e;border-color:rgba(148,163,184,.26);}
html[data-theme="dark"] #panel-month .month-empty{background:#151f33;color:#94a3b8;}
html[data-theme="dark"] #panel-month .copy-mini{background:#1e293b;border-color:rgba(251,146,60,.38);color:#fda4af;}
html[data-theme="dark"] #panel-month .copy-mini:hover{background:rgba(249,115,22,.14);}

/* ── 深色：退款计算 ── */
html[data-theme="dark"] #panel-refund .rf-form,
html[data-theme="dark"] #panel-refund .rf-summary,
html[data-theme="dark"] #panel-refund .rf-platform-group{
  background:#1e293b;border-color:rgba(148,163,184,.28);
}
html[data-theme="dark"] #panel-refund .rf-pill{color:#cbd5e1;}
html[data-theme="dark"] #panel-refund .rf-pill.active{color:#fff;}
html[data-theme="dark"] #panel-refund .rf-platform-rule,
html[data-theme="dark"] #panel-refund .rf-rule-strip{
  background:rgba(249,115,22,.14);color:#fdba74;
}
html[data-theme="dark"] #panel-refund .rf-platform-rule strong{color:#fed7aa;}
html[data-theme="dark"] #panel-refund .rf-details{border-color:rgba(148,163,184,.28);}
html[data-theme="dark"] #panel-refund .rf-details summary{color:#eef2f7;}
html[data-theme="dark"] #panel-refund .rf-details summary:hover{background:rgba(148,163,184,.08);}
html[data-theme="dark"] #panel-refund .rf-details-body{border-color:rgba(148,163,184,.2);}
html[data-theme="dark"] #panel-refund .rf-detail-card{
  background:rgba(148,163,184,.08);border-color:rgba(148,163,184,.2);
}
html[data-theme="dark"] #panel-refund .rf-tag.green{background:rgba(34,197,94,.16);color:#86efac;}
html[data-theme="dark"] #panel-refund .rf-tag.gray{background:rgba(148,163,184,.18);color:#cbd5e1;}
html[data-theme="dark"] #panel-refund .rf-tag.red{background:rgba(239,68,68,.16);color:#fca5a5;}
html[data-theme="dark"] #panel-refund .rf-tmall-box{
  background:rgba(249,115,22,.12);border-color:rgba(251,146,60,.4);
}
html[data-theme="dark"] #panel-refund .rf-tmall-title{color:#fb923c;}
html[data-theme="dark"] #panel-refund .rf-tmall-note,
html[data-theme="dark"] #panel-refund .rf-hint{color:#94a3b8;}
html[data-theme="dark"] #panel-refund .rf-readonly-value{
  background:#0f172a;color:#fb923c;border-color:rgba(251,146,60,.45);
}
html[data-theme="dark"] #panel-refund .rf-result{
  background:#0f172a;color:#cbd5e1;border-color:rgba(148,163,184,.24);
}
html[data-theme="dark"] #panel-refund .rf-warning{color:#fdba74;}
html[data-theme="dark"] #panel-refund .rf-copy-note{color:#94a3b8;}
html[data-theme="dark"] #panel-refund .rf-metric span{color:#94a3b8;}
html[data-theme="dark"] #panel-refund .rf-metric strong{color:#eef2f7;}
html[data-theme="dark"] #panel-refund .rf-summary{border-top-color:#fb923c;}
html[data-theme="dark"] #panel-refund .rf-note{color:#94a3b8;}

/* ── 深色：回访日期 ── */
html[data-theme="dark"] #panel-followup .fu-view-switch{
  background:#1e293b;border-color:rgba(251,146,60,.38);
}
html[data-theme="dark"] #panel-followup .fu-view-switch button{color:#cbd5e1;}
html[data-theme="dark"] #panel-followup .fu-view-switch button:hover{color:#fdba74;}
html[data-theme="dark"] #panel-followup .fu-tools-panel{
  background:#1e293b;border-color:rgba(251,146,60,.3);
}
html[data-theme="dark"] #panel-followup .fu-tools-panel input[type="date"]{
  border-color:rgba(251,146,60,.42);
}
html[data-theme="dark"] #panel-followup .fu-date-chip{color:#e2e8f0;}
html[data-theme="dark"] #panel-followup .fu-date-chip button{color:#fdba74;}
html[data-theme="dark"] #panel-followup .fu-timeline-node{
  background:#1e293b;border-color:rgba(251,146,60,.3);
  box-shadow:0 6px 16px rgba(0,0,0,.22);
}
html[data-theme="dark"] #panel-followup .fu-timeline-node:hover{
  background:rgba(249,115,22,.12);border-color:#fb923c;
}
html[data-theme="dark"] #panel-followup .fu-timeline-day{color:#eef2f7;}
html[data-theme="dark"] #panel-followup .fu-timeline-date{color:#fb923c;}
html[data-theme="dark"] #panel-followup .fu-table-title{color:#eef2f7;}
html[data-theme="dark"] #panel-followup .fu-table th,
html[data-theme="dark"] #panel-followup .fu-table td{border-color:rgba(251,146,60,.32);}
html[data-theme="dark"] #panel-followup .fu-table th{
  background:rgba(249,115,22,.2);color:#fdba74;
}
html[data-theme="dark"] #panel-followup .fu-table tbody tr:nth-child(odd) td{background:rgba(148,163,184,.05);}
html[data-theme="dark"] #panel-followup .fu-table tbody tr:nth-child(even) td{background:rgba(249,115,22,.07);}
html[data-theme="dark"] #panel-followup .fu-table .fu-day-cell{color:#eef2f7;}
html[data-theme="dark"] #panel-followup .fu-table .fu-require-cell{color:#cbd5e1;}
html[data-theme="dark"] #panel-followup .fu-table .fu-date-copy{color:#fb923c;}
html[data-theme="dark"] #panel-followup .fu-timeline-node.is-selected,
html[data-theme="dark"] #panel-followup .fu-table .fu-date-copy.is-selected,
html[data-theme="dark"] #panel-followup .fu-finishing-date.is-selected{
  background:linear-gradient(135deg,rgba(249,115,22,.2),rgba(236,72,153,.22))!important;
  border-color:rgba(236,72,153,.65)!important;
  color:#f9a8d4!important;
  box-shadow:0 10px 22px rgba(0,0,0,.3),0 0 0 3px rgba(249,115,22,.14)!important;
}
html[data-theme="dark"] #panel-followup .fu-image-preview{
  background:#151f33;border-color:rgba(148,163,184,.3);color:#eef2f7;
}
html[data-theme="dark"] #panel-followup .fu-image-preview img{
  border-color:rgba(148,163,184,.3);background:#0f172a;
}
html[data-theme="dark"] #panel-followup .fu-finishing-head strong{color:#eef2f7;}
html[data-theme="dark"] #panel-followup .fu-finishing-head span{color:#94a3b8;}
html[data-theme="dark"] #panel-followup .fu-finishing-table th,
html[data-theme="dark"] #panel-followup .fu-finishing-table td{border-color:rgba(251,146,60,.32);}
html[data-theme="dark"] #panel-followup .fu-finishing-group-1{background:rgba(168,85,247,.16);}
html[data-theme="dark"] #panel-followup .fu-finishing-group-2{background:rgba(245,158,11,.13);}
html[data-theme="dark"] #panel-followup .fu-finishing-group-3{background:rgba(244,63,94,.14);}
html[data-theme="dark"] #panel-followup .fu-finishing-date{color:#e2e8f0;}
html[data-theme="dark"] #panel-followup .fu-finishing-date:hover{
  background:rgba(249,115,22,.16);color:#fdba74;outline-color:rgba(251,146,60,.5);
}
html[data-theme="dark"] #panel-followup .fu-extra-divider{background:rgba(148,163,184,.4);}

/* ── 深色：素材库（复刻案例库整层） ── */
html[data-theme="dark"] #panel-materials .library-head,
html[data-theme="dark"] #panel-materials .material-group,
html[data-theme="dark"] #panel-materials .state-panel{border-color:rgba(148,163,184,.24);}
html[data-theme="dark"] #panel-materials .library-head h1,
html[data-theme="dark"] #panel-materials .group-head h2,
html[data-theme="dark"] #panel-materials .result-bar strong,
html[data-theme="dark"] #panel-materials .material-card h3,
html[data-theme="dark"] #panel-materials .state-panel strong,
html[data-theme="dark"] #panel-materials .modal-head strong,
html[data-theme="dark"] #panel-materials .modal-body p{color:#eef2f7;}
html[data-theme="dark"] #panel-materials .eyebrow,
html[data-theme="dark"] #panel-materials .library-count strong{color:#fb923c;}
html[data-theme="dark"] #panel-materials .library-summary,
html[data-theme="dark"] #panel-materials .library-count span,
html[data-theme="dark"] #panel-materials .filter-band label,
html[data-theme="dark"] #panel-materials .group-head span,
html[data-theme="dark"] #panel-materials .result-bar,
html[data-theme="dark"] #panel-materials .image-error,
html[data-theme="dark"] #panel-materials .load-more,
html[data-theme="dark"] #panel-materials .state-panel{color:#94a3b8;}
html[data-theme="dark"] #panel-materials .filter-band select,
html[data-theme="dark"] #panel-materials .filter-band input{background:#0f172a;}
html[data-theme="dark"] #panel-materials .clear-button,
html[data-theme="dark"] #panel-materials .view-switch,
html[data-theme="dark"] #panel-materials .material-card,
html[data-theme="dark"] #panel-materials .modal-panel{background:#1e293b;border-color:rgba(148,163,184,.3);}
html[data-theme="dark"] #panel-materials .clear-button,
html[data-theme="dark"] #panel-materials .card-actions button,
html[data-theme="dark"] #panel-materials .load-more button,
html[data-theme="dark"] #panel-materials .modal-head button{color:#cbd5e1;background:#0f172a;border-color:rgba(148,163,184,.32);}
html[data-theme="dark"] #panel-materials .clear-button:hover,
html[data-theme="dark"] #panel-materials .card-actions button:hover,
html[data-theme="dark"] #panel-materials .load-more button:hover{border-color:#fb923c;color:#fb923c;}
html[data-theme="dark"] #panel-materials .view-switch button{color:#94a3b8;}
html[data-theme="dark"] #panel-materials .view-switch button:hover{color:#fb923c;background:rgba(249,115,22,.14);}
html[data-theme="dark"] #panel-materials .material-image-button{background:#182136;}
html[data-theme="dark"] #panel-materials .modal-body img{background:#182136;}
html[data-theme="dark"] #panel-materials .material-card .material-tags span,
html[data-theme="dark"] #panel-materials .modal-tags span{
  background:rgba(249,115,22,.16);border-color:rgba(251,146,60,.42);color:#fdba74;
}
html[data-theme="dark"] #panel-materials .favorite-button{color:#cbd5e1;}
html[data-theme="dark"] #panel-materials .modal-head,
html[data-theme="dark"] #panel-materials .modal-actions{border-color:rgba(148,163,184,.24);}
html[data-theme="dark"] #panel-materials .load-more button{min-width:132px;}
html[data-theme="dark"] #panel-materials .card-actions .primary,
html[data-theme="dark"] #panel-materials .modal-actions .primary{color:#fff;}

/* ── 深色：胶原流失（保险兜底：入口虽隐藏，面板若残留仍不刺眼） ── */
html[data-theme="dark"] #panel-collagen{
  background:linear-gradient(135deg,rgba(46,25,61,.97),rgba(30,22,54,.97) 48%,rgba(24,20,44,.97));
}
html[data-theme="dark"] #panel-collagen{
  --col-card:rgba(28,23,46,.72);--col-border:rgba(255,255,255,.13);
  --col-text:#efe6fb;--col-muted:#bfaed6;
}
html[data-theme="dark"] #panel-collagen .col-hero,
html[data-theme="dark"] #panel-collagen .col-stat,
html[data-theme="dark"] #panel-collagen .col-panel,
html[data-theme="dark"] #panel-collagen .col-controls,
html[data-theme="dark"] #panel-collagen .col-result-card,
html[data-theme="dark"] #panel-collagen .col-comparison,
html[data-theme="dark"] #panel-collagen .col-mini,
html[data-theme="dark"] #panel-collagen .col-talking-card,
html[data-theme="dark"] #panel-collagen .col-note{
  background:rgba(22,17,40,.62);border-color:rgba(255,255,255,.13);
  box-shadow:0 18px 44px rgba(0,0,0,.35);
}
html[data-theme="dark"] #panel-collagen .col-chart-box{
  background:linear-gradient(180deg,rgba(32,26,52,.85),rgba(22,16,40,.78));
  border-color:rgba(255,255,255,.12);
}
html[data-theme="dark"] #panel-collagen .col-copy-btn{color:#cdb9e0;border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.08);}
html[data-theme="dark"] #panel-collagen .col-copy-btn:hover{color:#efe6fb;background:rgba(255,255,255,.16);}
html[data-theme="dark"] #panel-collagen .col-age-input{background:#120e24;color:#f3e8ff;box-shadow:inset 0 0 0 1px rgba(223,184,231,.35);}
html[data-theme="dark"] #panel-collagen .col-age-unit{color:#d9c6ea;}
html[data-theme="dark"] #panel-collagen .col-result-title{color:#c3b0d8;}
html[data-theme="dark"] #panel-collagen .col-main-rate .col-rate-unit,
html[data-theme="dark"] #panel-collagen .col-mini-v small{color:#bfaed6;}
html[data-theme="dark"] #panel-collagen .col-comparison p,
html[data-theme="dark"] #panel-collagen .col-talking-card p{color:#d7c8e4;}
html[data-theme="dark"] #panel-collagen .col-mini-k{color:#bfaed6;}
html[data-theme="dark"] #panel-collagen .col-mini-v{color:#efe6fb;}
html[data-theme="dark"] #panel-collagen .col-tag{background:rgba(230,70,154,.2);color:#f9a8d4;}
html[data-theme="dark"] #panel-collagen .col-range-labels{color:#a08fb5;}

/* ── 深色：侧栏隐藏「胶原流失」入口（用户指定） ── */
html[data-theme="dark"] .sidebar-btn[data-nav="collagen"]{display:none;}

/* ═════════════════════════════════════════════════════════════════════
   ═══ 2026-09-09 深色补充：双品联报(combo)组合区字面量浅色漏网 ═══
   覆盖 pkg-calc.css 后置追加的组合选择说明/预设/主副品切换/组合摘要/
   已选标签（写死 #fff7ed/#fff/#fed7aa 等，未走变量，深色下刺眼）。
   回退：删除本块即可。
   ═════════════════════════════════════════════════════════════════════ */
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .combo-builder-guide,
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .combo-presets{
  background:rgba(249,115,22,.14)!important;
  border-color:rgba(251,146,60,.4)!important;
}
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .combo-builder-guide strong,
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .combo-presets-head strong{color:#fdba74!important;}
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .combo-builder-guide>span,
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .combo-presets-head span,
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .combo-preset span{color:#94a3b8!important;}
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .combo-role-btn,
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .combo-preset,
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .combo-presets-badge{
  color:#fdba74!important;
  background:#1e293b!important;
  border-color:rgba(251,146,60,.42)!important;
}
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .combo-role-btn:hover,
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .combo-preset:hover{
  background:rgba(249,115,22,.16)!important;border-color:#fb923c!important;
}
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .combo-role-btn.active{
  background:linear-gradient(135deg,#f97316,#e11d48)!important;
  border-color:#f97316!important;color:#fff!important;
}
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .combo-preset strong{color:#eef2f7!important;}
html[data-theme="dark"] #panel-combo .combo-summary{
  background:rgba(249,115,22,.14)!important;border-color:rgba(251,146,60,.4)!important;
}
html[data-theme="dark"] #panel-combo .combo-summary strong,
html[data-theme="dark"] #panel-combo .addon-head{color:#fdba74!important;}
html[data-theme="dark"] #panel-combo .combo-summary>div>span{color:#94a3b8!important;}
html[data-theme="dark"] #panel-combo .combo-selected-list span{
  background:#1e293b!important;color:#e2e8f0!important;border-color:rgba(148,163,184,.34)!important;
}

/* ═══ 2026-09-09 深色收尾：补差/免单、报ABC、双品联报 残留浅色边缘修补 ═══
   覆盖 pkg-calc.css 后置追加的 .quote-action-panel .advanced-title 底边浅线
   (rgba(226,232,240,.95))、joint-calc.css 未随主题切换的
   .panel-title/.result-title/.joint-advanced-title/.joint-action-title 底边浅线，
   以及 styles.css #panel-upgrade .seg-tpl-cats 白底分段胶囊(.cat-btn)。
   .active 选中态仍保留原有渐变/白字（此处不含 .active）。
   回退：删除本块即可。
   ═════════════════════════════════════════════════════════════════════ */
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .advanced-title{
  border-bottom-color: rgba(148,163,184,.30) !important;
}
html[data-theme="dark"] #panel-joint .panel-title,
html[data-theme="dark"] #panel-joint .joint-advanced-title,
html[data-theme="dark"] #panel-joint .joint-action-title{
  border-bottom-color: rgba(148,163,184,.28) !important;
}
html[data-theme="dark"] #panel-upgrade .seg-tpl-cats .cat-btn{
  background:#1e293b !important;
  border-color:#334155 !important;
  color:#cbd5e1 !important;
}
/* ═══ 2026-09-09 深色模式：#panel-upgrade/.combo/.joint .panel 容器自身根修 ═══
   问题：之前多轮修补都只补了面板内部元素(advanced-title/panel-title/cat-btn)
   与最外层 html/body/.shell,但中间的 section#panel-upgrade.panel.panel-flush.active
   (1100×1462 几乎占满整个工作台)容器自身的白底 rgba(248,250,252) 与 1px
   浅灰边框 rgb(229,231,235) 完全没被压过，导致深色下"工作台外围一圈白"
   看起来像是容器边缘泛白。
   原因：pkg-calc.css:858 / :877 等 .panel 浅色规则用 :is(...) 选择器+!important，
   之前 pkg-calc.css:870 等 html[data-theme="dark"] 深色规则特异性偶发被绕过，
   UI 实际生效的仍是浅色。
   修复：直接用最高特异性 ID + class.active + !important，把 #panel-upgrade/.combo/.joint
   的 .panel 容器强制染深，从根源消除白边。
   回退：删除本块即可。 */
html[data-theme="dark"] #panel-upgrade.panel.panel-flush.active,
html[data-theme="dark"] #panel-combo.panel.panel-flush.active,
html[data-theme="dark"] #panel-joint.panel.panel-flush{
  background: rgba(15, 23, 42, 0.78) !important;
  border: 1px solid rgba(148, 163, 184, 0.26) !important;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.30), inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
  color: #f8fafc !important;
}
html[data-theme="dark"] #panel-joint .panel-title,
html[data-theme="dark"] #panel-joint .joint-advanced-title,
html[data-theme="dark"] #panel-joint .joint-action-title{
  border-bottom-color: rgba(148, 163, 184, 0.28) !important;
}


/* ═══ 2026-09-09 深色模式：工作台最外围透白根修 ═══
   问题：页面最外层 html/body 底色在深色下从未被设黑，默认浅色，
   从 .shell 与内部 sidebar/workspace 的缝隙、边缘留白处透出，
   形成「工作台外围一圈白 + 侧栏与内容区间白隙」。
   修复：把深色下最外层 html/body/.shell/.workspace/.topbar 底色统一染深，
   让任何缝隙露出的都是深色，从根源消除透白。回退：删除本块即可。 */
html[data-theme="dark"],
html[data-theme="dark"] body,
body.shell-ready[data-theme="dark"]{
  background:#0a0f1c !important;
  color-scheme:dark;
}
html[data-theme="dark"] .shell{
  background:#0a0f1c !important;
}
html[data-theme="dark"] body.shell-ready .workspace{
  background:var(--ui-bg) !important;
}

/* 2026-09-09 深色：套餐管理产品名字色 + 三面板结果区白底白边
   选择器都比 styles.css/pkg-calc.css 具更高特异性，可覆盖其 `!important`
   受影响元素（实测计算样式）：
     - #panel-month .month-section-title        字色 rgb(31,41,55)
     - #panel-upgrade/#panel-combo .result .script  大白底
     - #panel-upgrade/#panel-combo .copy-btn    白底白边
     - .seg-view-btn 未选态                    白底
     - .script-head (top/bottom 边)             rgb(255,247,247) 浅
     - #panel-joint .script-head                 rgb(248,250,252) 浅
   保留原选中态/激活态样式不动 */
html[data-theme="dark"] #panel-month .month-section-title,
html[data-theme="dark"] #panel-month .month-section-title span{
  color:#f8fafc !important;
}
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .result .script,
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .result .seg-card,
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .result .img-block{
  background:rgba(15,23,42,.78) !important;
  color:#f8fafc !important;
  border-color:rgba(148,163,184,.30) !important;
  box-shadow:none !important;
}
/* 2026-09-10 晚：修深色下段卡正文仍是浅色主题 --ink(#1f2937) 导致「深字压深底」看不清 */
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .seg-card .seg-card-content{
  color:#f1f5f9 !important;
}
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .seg-card .seg-card-extra-content,
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .seg-card .seg-card-caption{
  color:#cbd5e1 !important;
}
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .copy-btn,
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .seg-card .copy-btn,
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .seg-card-actions button,
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .img-actions button{
  background:rgba(30,41,59,.85) !important;
  color:#e2e8f0 !important;
  border:1px solid rgba(148,163,184,.34) !important;
  box-shadow:none !important;
}
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .copy-btn:hover,
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .seg-card .copy-btn:hover,
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .seg-card-actions button:hover{
  background:rgba(251,146,60,.18) !important;
  border-color:rgba(251,146,60,.55) !important;
  color:#fdba74 !important;
}
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .seg-view-btn{
  background:rgba(30,41,59,.85) !important;
  color:#cbd5e1 !important;
  border:1px solid rgba(148,163,184,.28) !important;
}
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .seg-view-btn.active{
  /* 保留 ui-refresh 73-77 行的 brand 渐变；这里再覆一层深色渐变以配深色面板 */
  background:linear-gradient(135deg,#f97316,#e11d48) !important;
  color:#fff !important;
  border-color:transparent !important;
}
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .script-head{
  background:rgba(15,23,42,.55) !important;
  border-top-color:rgba(148,163,184,.28) !important;
  border-bottom-color:rgba(148,163,184,.28) !important;
  color:#f8fafc !important;
}
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .script-head b,
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .script-head strong{
  color:#f8fafc !important;
}
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .seg-row-actions > button:not(.active){
  background:rgba(30,41,59,.85) !important;
  color:#cbd5e1 !important;
  border-color:rgba(148,163,184,.30) !important;
}
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .seg-up,
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .seg-down,
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .seg-del{
  background:rgba(30,41,59,.85) !important;
  color:#cbd5e1 !important;
  border:1px solid rgba(148,163,184,.34) !important;
}
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .seg-up:hover,
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .seg-down:hover{
  background:rgba(251,146,60,.18) !important;
  border-color:rgba(251,146,60,.55) !important;
  color:#fdba74 !important;
}
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .seg-del:hover{
  background:rgba(239,68,68,.18) !important;
  border-color:rgba(239,68,68,.55) !important;
  color:#fca5a5 !important;
}
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .script-divider,
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .script-divider::before,
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .script-divider::after{
  border-color:rgba(148,163,184,.22) !important;
  color:#cbd5e1 !important;
  background:transparent !important;
}
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .sd-label{
  color:#cbd5e1 !important;
}
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .seg-card-num{
  background:rgba(225,29,72,.16) !important;
  color:#fda4af !important;
  border:1px solid rgba(225,29,72,.4) !important;
}
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .script-extra,
html[data-theme="dark"] :is(#panel-upgrade,#panel-combo) .seg-extra-text{
  background:transparent !important;
  color:#e2e8f0 !important;
  border-color:rgba(148,163,184,.22) !important;
}

/* 联报(joint)：结果脚本头深色边 + 复制按钮白底 */
html[data-theme="dark"] #panel-joint .script-head{
  border-top-color:rgba(148,163,184,.28) !important;
  border-bottom-color:rgba(148,163,184,.28) !important;
  background:rgba(15,23,42,.55) !important;
  color:#f8fafc !important;
}
html[data-theme="dark"] #panel-joint .script-card{
  background:rgba(15,23,42,.65) !important;
  border-color:rgba(148,163,184,.26) !important;
  box-shadow:none !important;
}
html[data-theme="dark"] #panel-joint .script-text{
  background:rgba(2,6,23,.72) !important;
  border-color:rgba(148,163,184,.28) !important;
  color:#e5e7eb !important;
}
html[data-theme="dark"] #panel-joint .copy-btn{
  background:rgba(30,41,59,.85) !important;
  color:#e2e8f0 !important;
  border:1px solid rgba(148,163,184,.34) !important;
}
html[data-theme="dark"] #panel-joint .copy-btn:hover{
  background:rgba(251,146,60,.18) !important;
  border-color:rgba(251,146,60,.55) !important;
  color:#fdba74 !important;
}
html[data-theme="dark"] #panel-joint #jt-empty{
  background:rgba(15,23,42,.65) !important;
  border-color:rgba(148,163,184,.26) !important;
  color:#cbd5e1 !important;
}

/* 2026-09-10 合并回访视图(按天合并,用量档徽标多枚)
    设计:整行不再染色,行底色交给原表格交替白/浅橙;
    「用量档」列通过徽标圆点 + 文字区分一个月/三个月;
    同天两档合并成一行时,该列同时显示两个徽标,自然表达「双档覆盖」 */
#panel-followup .fu-source-cell{
  white-space:nowrap;
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;
}
#panel-followup .fu-source-badge{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:22px;padding:1px 10px 1px 6px;border-radius:11px;
  font-size:12px;font-weight:700;white-space:nowrap;border:1px solid transparent;
}
#panel-followup .fu-source-badge .fu-source-dot{
  width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:6px;
  box-shadow:0 0 0 1.5px currentColor;opacity:.85;
}
/* 一个月量徽标:紫色系 */
#panel-followup .fu-source-badge.fu-source-month1{
  background:#ede9fe;color:#6b21a8;border-color:#c4b5fd;
}
#panel-followup .fu-source-badge.fu-source-month1 .fu-source-dot{ background:#8b5cf6; }
/* 三个月量徽标:橙色系 */
#panel-followup .fu-source-badge.fu-source-month3{
  background:#ffedd5;color:#9a3412;border-color:#fed7aa;
}
#panel-followup .fu-source-badge.fu-source-month3 .fu-source-dot{ background:#f97316; }
/* 深色模式:徽标半透明,圆点亮度提升 */
html[data-theme="dark"] #panel-followup .fu-source-badge.fu-source-month1{
  background:rgba(168,85,247,.22);color:#e9d5ff;border-color:rgba(168,85,247,.55);
}
html[data-theme="dark"] #panel-followup .fu-source-badge.fu-source-month1 .fu-source-dot{ background:#c084fc; }
html[data-theme="dark"] #panel-followup .fu-source-badge.fu-source-month3{
  background:rgba(251,146,60,.22);color:#fed7aa;border-color:rgba(251,146,60,.55);
}
html[data-theme="dark"] #panel-followup .fu-source-badge.fu-source-month3 .fu-source-dot{ background:#fdba74; }
/* 合并视图下保持原表格交替白/浅橙节奏,不再叠加整行染色;
   这里故意留空,避免后续误以为还有旧版紫/橙/红行背景 */

