/* ==========================================================================
   HoldSpace · The Quiet Clinical Workflow for Independent Therapists
   专为独立执业心理咨询师定制的艺术级禅意设计系统 (Design System)
   ========================================================================== */

:root {
  /* 【晨曦冰川 · 深海星空蓝】现代艺术沙龙美学体系 (Glacier Azure & Midnight Indigo) */
  --bg-app: #F4F7FB;          /* 冰川珍珠微光底色：极度通透、清澈纯净、护眼舒展，彻底告别沉闷死白与土黄 */
  --bg-card: #FFFFFF;         /* 纯净白瓷卡片，融入海天冷光微漫反射 */
  --bg-card-hover: #FFFFFF;
  --bg-paper-tint: #EFF6FF;   /* 极淡冰川柔蓝托底 */
  --bg-muted: #E2E8F0;

  /* 皇家深海星空蓝主色系统 (沉静、高贵、深邃、治愈) */
  --forest-dark: #0F172A;     /* 深海冷墨黑 Slate-900，沉稳克制 */
  --forest-primary: #2563EB;  /* 核心交互：皇家深海星空蓝 */
  --forest-hover: #1D4ED8;
  --forest-soft: #EFF6FF;     /* 晨曦微蓝托底 */
  --forest-border: #BFDBFE;

  /* 泳道与状态专属生命力色彩乐章 */
  --amber-warm: #D97706;     /* 初访评估：暖琥珀金 (探索与相遇) */
  --amber-soft: #FEF3C7;
  --lake-blue: #2563EB;      /* 长程会谈：深海星空蓝 (深度连接与稳定) */
  --lake-soft: #EFF6FF;
  --emerald-green: #059669;  /* 阶段巩固：翡翠薄荷绿 (康复与生机) */
  --emerald-soft: #ECFDF5;
  --violet-quartz: #7C3AED;  /* 圆满结案：紫罗兰霞光 (整合与圆满) */
  --violet-soft: #F5F3FF;
  --rose-alert: #DC2626;     /* 危机警示：纯净朱砂红 */
  --rose-soft: #FEE2E2;

  /* 超高清深海冷墨排印文字层级 (WCAG AAA 视网膜级锐利排印，字字刀刻般清晰) */
  --text-primary: #0F172A;    /* 核心主诉/标题：深海冷墨黑 Slate-900，对比度达 18:1，清晰绝伦 */
  --text-secondary: #334155;  /* 次级姓名/排期：浓郁深灰 Slate-700，对比度达 11:1 */
  --text-muted: #64748B;      /* 辅助提示/元数据：高辨识度冷灰 Slate-500，对比度达 5.5:1 */
  --text-inverse: #FFFFFF;

  /* 发丝级微边框与海天微漫反射阴影 (立体微浮雕，开阔轻盈) */
  --border-subtle: rgba(226, 232, 240, 0.85);
  --border-card: rgba(226, 232, 240, 0.90);
  --shadow-subtle: 0 1px 2px rgba(15, 23, 42, 0.03), 0 4px 12px rgba(37, 99, 235, 0.03);
  --shadow-float: 0 4px 14px rgba(15, 23, 42, 0.05), 0 14px 32px rgba(37, 99, 235, 0.07);
  --shadow-drawer: -8px 0 36px rgba(15, 23, 42, 0.12);

  /* 现代顶级无衬线排印字体栈 (优先使用苹方、SF Pro 与 Inter，字形饱满锐利) */
  --font-serif: -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  --font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Inter", sans-serif;
  --font-mono: "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;
}

/* 禅意夜间深色模式 (Cosmic Obsidian & Deep Space Glass - 极致深邃冷极黑曜石与高奢晶曜态) */
body.theme-dark {
  --bg-app: #0A0E17;
  --bg-card: #121826;
  --bg-card-hover: #172033;
  --bg-paper-tint: #0D1322;
  --bg-muted: #1A2338;

  --forest-dark: #FFFFFF;
  --forest-primary: #38BDF8;
  --forest-hover: #7DD3FC;
  --forest-soft: rgba(56, 189, 248, 0.14);
  --forest-border: rgba(255, 255, 255, 0.10);

  --amber-warm: #FBBF24;
  --amber-soft: rgba(245, 158, 11, 0.16);
  --lake-blue: #38BDF8;
  --lake-soft: rgba(56, 189, 248, 0.16);
  --emerald-green: #34D399;
  --emerald-soft: rgba(16, 185, 129, 0.16);
  --violet-quartz: #A78BFA;
  --violet-soft: rgba(139, 92, 246, 0.16);
  --rose-alert: #F87171;
  --rose-soft: rgba(239, 68, 68, 0.18);

  /* 禅意夜间护眼超高清文字排印层级 (WCAG AAA 级对比度，柔和微冷瓷白，彻底杜绝纯白刺眼眩光与眼肌疲劳) */
  --text-primary: #F1F5F9;    /* 核心主诉/主要文字：柔和瓷白 Slate-100，对比度适中清晰 */
  --text-secondary: #94A3B8;  /* 次级姓名/排期说明：舒适沉稳冷灰 Slate-400，层次分明 */
  --text-muted: #64748B;      /* 辅助提示/元数据：高阶 Slate-500，克制雅致 */
  --text-inverse: #0A0E17;

  --border-subtle: rgba(255, 255, 255, 0.08);
  --border-card: rgba(255, 255, 255, 0.09);
  --shadow-subtle: 0 4px 18px rgba(0, 0, 0, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.05);
  --shadow-float: 0 16px 40px rgba(0, 0, 0, 0.65), inset 0 1px 0 rgba(255, 255, 255, 0.08);
  --shadow-drawer: -8px 0 48px rgba(0, 0, 0, 0.85);
}


/* 全局重置与基础设置 */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html, body {
  height: 100%;
  font-family: var(--font-sans);
  background-color: var(--bg-app);
  background-image: 
    radial-gradient(at 15% 10%, rgba(219, 234, 254, 0.70) 0px, transparent 52%),
    radial-gradient(at 88% 12%, rgba(238, 242, 255, 0.75) 0px, transparent 48%),
    radial-gradient(at 50% 90%, rgba(240, 249, 255, 0.55) 0px, transparent 55%),
    linear-gradient(180deg, #F8FAFC 0%, #EDF2F7 100%);
  background-attachment: scroll;
  color: var(--text-primary);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}

/* 彻底移除陈旧泛黄的纸纹噪点，保持背景如同冰川微光初晴般通透 */
body::before {
  display: none;
}

/* 按钮与交互元素重置 */
button, input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  border: none;
  background: none;
  outline: none;
}
button {
  cursor: pointer;
  transition: transform 0.12s ease-out, background-color 0.12s ease-out, border-color 0.12s ease-out, color 0.12s ease-out, box-shadow 0.12s ease-out, opacity 0.12s ease-out;
}

/* ==========================================================================
   1. 顶栏导航系统 (App Header - Frosted Glass Floating Island)
   ========================================================================== */
.app-header {
  position: sticky;
  top: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 28px;
  background-color: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(226, 232, 240, 0.85);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02), 0 8px 24px rgba(37, 99, 235, 0.03);
  gap: 14px;
  min-width: 0;
  transform: translateZ(0);
}

.header-left-zone {
  display: flex;
  align-items: center;
  gap: 22px;
  flex-shrink: 0;
  min-width: 0;
}

.brand-group {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-shrink: 0;
  min-width: auto;
  cursor: pointer;
  user-select: none;
  transition: opacity 0.15s ease, transform 0.15s ease;
}
.brand-group:hover {
  opacity: 0.90;
  transform: translateY(-0.5px);
}

.brand-logo {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background-color: #FFFFFF;
  border: 1px solid rgba(226, 232, 240, 0.9);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 2px;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s ease, border-color 0.25s ease;
}
.brand-group:hover .brand-logo {
  transform: translateY(-1.5px) scale(1.06);
  border-color: #93C5FD;
  box-shadow: 0 4px 14px rgba(37, 99, 235, 0.15);
}
.brand-logo-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.brand-title {
  font-family: var(--font-sans);
  font-size: 1.18rem;
  font-weight: 750;
  letter-spacing: -0.025em;
  color: #0F172A;
  line-height: 1.1;
  transition: color 0.2s ease;
}
.brand-group:hover .brand-title {
  color: #2563EB;
}
.brand-en {
  font-family: var(--font-sans);
  font-size: 0.82rem;
  font-weight: 500;
  color: #64748B;
  letter-spacing: 0.02em;
  margin-left: 4px;
}
.brand-subtitle {
  font-size: 0.70rem;
  color: #94A3B8;
  letter-spacing: 0.12em;
  font-weight: 500;
  white-space: nowrap;
  line-height: 1.1;
  margin-top: 2px;
}

/* 次栏中枢：直觉投喂槽 (Quick Dropzone / Smart Intake) - 黄金操作中控岛形态 */
.intake-dropzone-container {
  flex: 1 1 auto;
  max-width: 460px;
  min-width: 280px;
  transition: max-width 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.intake-dropzone-container:focus-within {
  max-width: 520px;
}

.intake-dropzone {
  display: flex;
  align-items: center;
  gap: 9px;
  background-color: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 100px;
  padding: 0 15px;
  height: 36px;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.03), 0 2px 8px rgba(15, 23, 42, 0.02);
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}
.intake-dropzone:hover {
  border-color: #94A3B8;
  box-shadow: 0 3px 10px rgba(15, 23, 42, 0.06);
  background-color: #FFFFFF;
}
.intake-dropzone:focus-within {
  border-color: #0D9488;
  box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.15), 0 4px 16px rgba(13, 148, 136, 0.08);
  background-color: #FFFFFF;
}
.intake-dropzone.drag-active {
  border-color: #0284C7;
  background-color: #F0F9FF;
  box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.2);
  transform: scale(1.01);
}
.intake-dropzone.intake-success-pulse {
  animation: intakePulse 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes intakePulse {
  0% { transform: scale(0.98); box-shadow: 0 0 0 0 rgba(2, 132, 199, 0.4); }
  50% { transform: scale(1.02); box-shadow: 0 0 0 6px rgba(2, 132, 199, 0.2); border-color: #0284C7; }
  100% { transform: scale(1); box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04); }
}
.dropzone-icon {
  color: #475569;
  display: flex;
  align-items: center;
  flex-shrink: 0;
  cursor: pointer;
  transition: transform 0.2s ease, color 0.2s ease;
}
.dropzone-icon:hover {
  color: #0F172A;
  transform: scale(1.1);
}
.intake-dropzone input {
  flex: 1 1 0%;
  min-width: 0;
  width: 100%;
  font-size: 0.80rem;
  font-weight: 500;
  color: #0F172A;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.intake-dropzone input::placeholder {
  color: #94A3B8;
}
.shortcut-badge {
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 600;
  background-color: #F1F5F9;
  color: #64748B;
  border: 1px solid #CBD5E1;
  border-bottom: 2px solid #94A3B8;
  padding: 1px 6.5px;
  border-radius: 5px;
  letter-spacing: 0.02em;
  flex-shrink: 0;
  white-space: nowrap;
  cursor: pointer;
  transition: all 0.15s cubic-bezier(0.16, 1, 0.3, 1);
  user-select: none;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
}
.shortcut-badge:hover {
  background-color: #0F172A;
  border-color: #0F172A;
  color: #FFFFFF;
  transform: translateY(-0.5px);
}
.shortcut-badge:active {
  transform: translateY(1px);
  border-bottom-width: 1px;
}

/* 顶栏右侧按钮群 - 紧凑高雅防挤爆 */
.header-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  min-width: 0;
}

/* 视图切换 Tabs */
.view-switch-tabs {
  display: flex;
  background-color: var(--bg-paper-tint);
  padding: 2.5px;
  border-radius: 9px;
  border: 1px solid var(--border-subtle);
  flex-shrink: 0;
  white-space: nowrap;
}
.view-tab {
  display: flex;
  align-items: center;
  gap: 5.5px;
  padding: 5px 12px;
  font-size: 0.78rem;
  font-weight: 500;
  color: var(--text-secondary);
  border-radius: 7px;
  white-space: nowrap;
  flex-shrink: 0;
  cursor: pointer;
  transition: transform 0.12s ease-out, background-color 0.12s ease-out, color 0.12s ease-out, box-shadow 0.12s ease-out;
}
.view-tab:hover {
  color: var(--text-primary);
  transform: translateY(-0.5px);
}
.view-tab.active {
  background-color: #FFFFFF;
  color: var(--forest-primary);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06), 0 2px 6px rgba(37, 99, 235, 0.04);
  font-weight: 650;
}

/* 平台总控独立入口链接 */
.admin-portal-link {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 6px 11px;
  border-radius: 8px;
  font-size: 0.8rem;
  font-weight: 500;
  text-decoration: none;
  background: rgba(139, 92, 246, 0.08);
  color: #8b5cf6;
  border: 1px solid rgba(139, 92, 246, 0.25);
  transition: all 0.18s ease;
}

.admin-portal-link:hover {
  background: rgba(139, 92, 246, 0.16);
  color: #7c3aed;
  border-color: rgba(139, 92, 246, 0.4);
  transform: translateY(-1px);
}

/* 物理级隐私护盾按钮 - 紧凑精美 */
.privacy-shield-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 9px;
  border-radius: 8px;
  font-size: 0.76rem;
  font-weight: 500;
  background-color: var(--bg-card);
  border: 1px solid var(--border-card);
  color: var(--text-secondary);
  box-shadow: var(--shadow-subtle);
  position: relative;
  white-space: nowrap;
  flex-shrink: 0;
}
.privacy-shield-btn:hover {
  background-color: var(--bg-paper-tint);
  color: var(--text-primary);
}
.privacy-shield-btn.active {
  background-color: var(--forest-soft);
  border-color: var(--forest-border);
  color: var(--forest-primary);
  font-weight: 600;
}
.shield-pulse {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: var(--forest-primary);
  box-shadow: 0 0 0 0 rgba(47, 70, 53, 0.4);
  animation: pulseBreath 2.8s infinite;
}
@keyframes pulseBreath {
  0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(47, 70, 53, 0.4); }
  70% { transform: scale(1.05); box-shadow: 0 0 0 6px rgba(47, 70, 53, 0); }
  100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(47, 70, 53, 0); }
}
.shield-status {
  font-weight: 600;
}
.key-hint {
  font-family: var(--font-mono);
  font-size: 0.66rem;
  color: var(--text-muted);
  background-color: rgba(0, 0, 0, 0.05);
  padding: 1px 4px;
  border-radius: 3px;
  white-space: nowrap;
  flex-shrink: 0;
}

/* 主要操作与图标按钮 */
.primary-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6.5px 16px;
  border-radius: 9px;
  background: linear-gradient(180deg, #2563EB 0%, #1D4ED8 100%);
  color: #FFFFFF;
  font-size: 0.82rem;
  font-weight: 600;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35), 0 2px 6px rgba(37, 99, 235, 0.25), 0 6px 16px -2px rgba(37, 99, 235, 0.3);
  white-space: nowrap;
  flex-shrink: 0;
  cursor: pointer;
  transition: transform 0.12s ease-out, box-shadow 0.12s ease-out, background 0.12s ease;
}
.primary-btn:hover {
  background: linear-gradient(180deg, #3B82F6 0%, #2563EB 100%);
  transform: translateY(-1.5px) scale(1.02);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45), 0 4px 12px rgba(37, 99, 235, 0.38), 0 10px 22px -2px rgba(37, 99, 235, 0.35);
}
.primary-btn:active {
  transform: translateY(1px) scale(0.97);
  box-shadow: 0 1px 4px rgba(37, 99, 235, 0.2);
}

.icon-tool-btn {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--bg-card);
  border: 1px solid var(--border-card);
  color: var(--text-secondary);
  box-shadow: var(--shadow-subtle);
  flex-shrink: 0;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.icon-tool-btn:hover {
  color: var(--text-primary);
  background-color: var(--bg-paper-tint);
  border-color: rgba(37, 99, 235, 0.3);
  transform: translateY(-1.5px) scale(1.05);
  box-shadow: 0 4px 10px rgba(15, 23, 42, 0.06);
}
.icon-tool-btn:active {
  transform: translateY(0.5px) scale(0.95);
}

/* 主题切换按钮动态日月旋转平滑变形动效 */
.theme-toggle-btn {
  position: relative;
  overflow: hidden;
}
.theme-toggle-btn .theme-icon-light,
.theme-toggle-btn .theme-icon-dark {
  position: absolute;
  transition: transform 0.38s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.25s ease;
}
.theme-toggle-btn .theme-icon-light {
  transform: rotate(0deg) scale(1);
  opacity: 1;
}
.theme-toggle-btn .theme-icon-dark {
  transform: rotate(-90deg) scale(0);
  opacity: 0;
}
body.theme-dark .theme-toggle-btn .theme-icon-light {
  transform: rotate(90deg) scale(0);
  opacity: 0;
}
body.theme-dark .theme-toggle-btn .theme-icon-dark {
  transform: rotate(0deg) scale(1);
  opacity: 1;
}

/* ==========================================================================
   2. 执业状态与快捷键条 (Statusbar & Shortcuts - Floating Crystal Island)
   ========================================================================== */
.clinical-statusbar {
  position: relative;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 28px 4px;
  min-height: 44px;
  background-color: transparent;
  border-bottom: none;
  font-size: 0.75rem;
  color: #475569;
  gap: 16px;
}

.statusbar-left {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

/* 执业中控黄金操作坞 (投喂槽 + 全局搜索 居中对齐) */
.statusbar-center {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex: 1 1 auto;
  max-width: 600px;
  min-width: 0;
  margin: 0 auto;
}

.statusbar-right {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.clinical-leaf-icon {
  margin-right: 2px;
  font-size: 0.8rem;
}
.breath-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: #2563EB;
  box-shadow: 0 0 6px rgba(37, 99, 235, 0.5);
  animation: breathingDot 4s infinite ease-in-out;
}
@keyframes breathingDot {
  0%, 100% { opacity: 0.3; transform: scale(0.85); }
  50% { opacity: 1; transform: scale(1.15); }
}
.breath-text {
  font-weight: 500;
  color: #334155;
}

.status-divider {
  width: 1px;
  height: 12px;
  background-color: #E2E8F0;
}

.today-sessions-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.78);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  padding: 4px 14px;
  border-radius: 20px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.02);
  color: #475569;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.today-sessions-pill:hover {
  background: #FFFFFF;
  border-color: rgba(37, 99, 235, 0.35);
  box-shadow: 0 2px 8px rgba(37, 99, 235, 0.08);
  transform: translateY(-1px);
}
.today-sessions-pill strong {
  color: #0F172A;
  font-weight: 700;
}
.highlight-time {
  font-family: var(--font-mono);
  font-weight: 600;
  color: #1E40AF;
}

.statusbar-right .keyboard-hints {
  display: flex;
  align-items: center;
  gap: 14px;
}
.hint-item {
  color: #64748B;
}
.hint-item kbd {
  font-family: var(--font-mono);
  font-size: 0.68rem;
  background-color: #F8FAFC;
  border: 1px solid #E2E8F0;
  padding: 1px 5px;
  border-radius: 4px;
  color: #475569;
}

/* ==========================================================================
   3. 核心主视口与看板泳道 (Main Viewport & Kanban)
   ========================================================================== */
.app-main-viewport {
  position: relative;
  z-index: 5;
  padding: 24px 28px 80px;
  min-height: calc(100vh - 120px);
  width: 100%;
  max-width: 100vw;
  box-sizing: border-box;
}

.view-panel {
  display: none;
  width: 100%;
  box-sizing: border-box;
}
.view-panel.active {
  display: block;
  animation: fadeInPanel 0.25s ease-out;
}
@keyframes fadeInPanel {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}

/* 看板视口容器：支持触控板与手势横向平滑流动，绝不硬性裁剪 */
#kanbanView {
  width: 100%;
  box-sizing: border-box;
  overflow-x: auto;
  overflow-y: visible;
  padding-bottom: 12px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: #CBD5E1 transparent;
}
#kanbanView::-webkit-scrollbar {
  height: 6px;
}
#kanbanView::-webkit-scrollbar-track {
  background: transparent;
}
#kanbanView::-webkit-scrollbar-thumb {
  background: #E2E8F0;
  border-radius: 999px;
}

/* 看板 4 列网格：采用 minmax(0, 1fr) 杜绝子元素撑爆外层 */
.kanban-columns-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  align-items: start;
  width: 100%;
  box-sizing: border-box;
  min-width: 0;
}

/* 水洗微晶半透明通透水晶展台 (Frosted Glass Gallery Stage · 层次感与空间呼吸感) */
.kanban-column {
  background: #F8FAFC;
  border: 1px solid #CBD5E1;
  border-radius: 20px;
  padding: 16px 14px;
  min-height: 560px;
  display: flex;
  flex-direction: column;
  min-width: 0;
  box-sizing: border-box;
  box-shadow: 0 4px 20px rgba(15, 23, 42, 0.05), 0 1px 3px rgba(0, 0, 0, 0.02);
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
  contain: layout style;
  transform: translateZ(0);
}
#col-intake { border-top: 4px solid #F59E0B; }
#col-active { border-top: 4px solid #2563EB; }
#col-maintenance { border-top: 4px solid #10B981; }
#col-concluded { border-top: 4px solid #8B5CF6; }

.kanban-column:hover {
  background: #FFFFFF;
  border-color: #94A3B8;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08), 0 2px 6px rgba(0, 0, 0, 0.03);
}
.kanban-column.drag-over {
  background: rgba(239, 246, 255, 0.95);
  border-color: #3B82F6;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.25), 0 8px 30px rgba(37, 99, 235, 0.12);
}

.column-header {
  margin-bottom: 14px;
  padding: 2px 4px 12px;
  border-bottom: 1px solid rgba(226, 232, 240, 0.75);
  position: relative;
}
.col-title-group {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 3px;
}
.col-stage-dot {
  width: 8.5px;
  height: 8.5px;
  border-radius: 50%;
  flex-shrink: 0;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.col-stage-dot.stage-intake { 
  background: linear-gradient(135deg, #F59E0B, #D97706); 
  box-shadow: 0 0 8px rgba(245, 158, 11, 0.45);
}
.col-stage-dot.stage-active { 
  background: linear-gradient(135deg, #3B82F6, #2563EB); 
  box-shadow: 0 0 8px rgba(37, 99, 235, 0.45);
}
.col-stage-dot.stage-maintenance { 
  background: linear-gradient(135deg, #10B981, #059669); 
  box-shadow: 0 0 8px rgba(16, 185, 129, 0.45);
}
.col-stage-dot.stage-concluded { 
  background: linear-gradient(135deg, #8B5CF6, #7C3AED); 
  box-shadow: 0 0 8px rgba(139, 92, 246, 0.45);
}

.col-name {
  font-family: var(--font-sans);
  font-size: 0.96rem;
  font-weight: 650;
  color: #0F172A;
  letter-spacing: -0.015em;
  -webkit-font-smoothing: antialiased;
}
.col-count {
  font-family: var(--font-mono);
  font-size: 0.70rem;
  font-weight: 650;
  padding: 1.5px 7.5px;
  border-radius: 20px;
  line-height: 1.2;
}
#col-intake .col-count {
  background-color: #FEF3C7;
  color: #B45309;
  border: 1px solid #FDE68A;
}
#col-active .col-count {
  background-color: #EFF6FF;
  color: #1D4ED8;
  border: 1px solid #DBEAFE;
}
#col-maintenance .col-count {
  background-color: #ECFDF5;
  color: #047857;
  border: 1px solid #A7F3D0;
}
#col-concluded .col-count {
  background-color: #F5F3FF;
  color: #6D28D9;
  border: 1px solid #DDD6FE;
}
.col-desc {
  font-size: 0.74rem;
  font-weight: 400;
  color: #64748B;
  letter-spacing: 0.005em;
  line-height: 1.4;
  margin-top: 2px;
}

.column-cards-container {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 13px;
  min-height: 140px;
  contain: layout paint;
}
.column-cards-container::after {
  content: "+ 拖拽个案至此推进阶段";
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin-top: auto;
  border: 1.5px dashed rgba(203, 213, 225, 0.75);
  border-radius: 12px;
  color: #94A3B8;
  font-size: 0.74rem;
  font-weight: 500;
  background: rgba(255, 255, 255, 0.35);
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  user-select: none;
  pointer-events: none;
  opacity: 0.85;
}
.kanban-column:hover .column-cards-container::after {
  border-color: rgba(37, 99, 235, 0.35);
  color: #2563EB;
  background: rgba(239, 246, 255, 0.5);
  opacity: 1;
}

/* ==========================================================================
   4. 个案卡片设计 (Case Card - Crafted Dossier White Porcelain Floating Card)
   ========================================================================== */
.case-card {
  background-color: #FFFFFF;
  border: 1px solid #CBD5E1;
  border-radius: 16px;
  padding: 16px 16px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95), 0 2px 8px rgba(15, 23, 42, 0.04), 0 8px 24px rgba(37, 99, 235, 0.04);
  cursor: grab;
  position: relative;
  will-change: transform;
  transform: translateZ(0);
  transition: transform 0.12s ease-out, box-shadow 0.12s ease-out, border-color 0.12s ease-out;
  user-select: none;
  min-width: 0;
  box-sizing: border-box;
}
.case-card:hover {
  transform: translateY(-3px) translateZ(0);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 1), 0 12px 28px -4px rgba(37, 99, 235, 0.16), 0 0 0 1.5px rgba(37, 99, 235, 0.30);
  border-color: #2563EB;
  background-color: #FFFFFF;
}
.case-card:active {
  transform: translateY(-1px) translateZ(0);
  transition-duration: 0.05s;
}
.case-card.keyboard-focused {
  border-color: #2563EB;
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.2), var(--shadow-float);
}
.case-card.dragging {
  opacity: 0.5;
  cursor: grabbing;
}
.case-card.just-dropped {
  animation: cardDropSpring 0.36s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}
@keyframes cardDropSpring {
  0% { transform: translateY(-4px) translateZ(0); box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.3); }
  100% { transform: translateY(0) translateZ(0); }
}

/* 卡片顶行：冰晶灰蓝代号与深海冷墨姓名、呼吸微光彩珠 */
.card-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 9px;
  gap: 8px;
}
.card-client-meta {
  display: flex;
  align-items: center;
  min-width: 0;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  gap: 7px;
}
.card-client-code {
  font-family: var(--font-mono);
  font-size: 0.74rem;
  font-weight: 650;
  color: #1D4ED8;
  letter-spacing: 0.01em;
  flex-shrink: 0;
  background: #EFF6FF;
  border: 1px solid #BFDBFE;
  padding: 2px 7.5px;
  border-radius: 6px;
  box-shadow: 0 1px 2px rgba(37, 99, 235, 0.04);
}
.card-real-name {
  font-size: 0.92rem;
  font-weight: 600;
  color: #0F172A;
  letter-spacing: -0.01em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* 危机与风险微光呼吸彩珠 (极简克制微彩珠) */
.crisis-badge {
  font-size: 0.68rem;
  font-weight: 600;
  padding: 2px 7.5px;
  border-radius: 100px;
  letter-spacing: 0.01em;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4.5px;
  line-height: 1.25;
  box-sizing: border-box;
  transition: all 0.2s ease;
}
.crisis-pulse-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
}
.badge-low {
  background-color: #F0FDF4;
  color: #15803D;
  border: 1px solid #DCFCE7;
  box-shadow: 0 1px 2px rgba(22, 163, 74, 0.06);
}
.badge-low .crisis-pulse-dot {
  background-color: #16A34A;
  box-shadow: 0 0 5px rgba(22, 163, 74, 0.5);
}
.badge-medium {
  background-color: #FFFBEB;
  color: #B45309;
  border: 1px solid #FEF3C7;
  box-shadow: 0 1px 2px rgba(217, 119, 6, 0.06);
}
.badge-medium .crisis-pulse-dot {
  background-color: #D97706;
  box-shadow: 0 0 5px rgba(217, 119, 6, 0.5);
}
.badge-high {
  background-color: #FEF2F2;
  color: #B91C1C;
  border: 1px solid #FEE2E2;
  box-shadow: 0 1px 2px rgba(220, 38, 38, 0.08);
}
.badge-high .crisis-pulse-dot {
  background-color: #DC2626;
  box-shadow: 0 0 7px rgba(220, 38, 38, 0.65);
  animation: highPulse 1.8s infinite ease-in-out;
}
@keyframes highPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(1.25); }
}

/* 核心议题呈现 (现代极简引语，深海冷墨超清排印) */
.card-issue-text {
  font-size: 0.91rem;
  font-weight: 500;
  line-height: 1.62;
  letter-spacing: 0;
  color: #1E293B;
  margin: 10px 0 12px 0;
  padding: 8px 12px;
  background: rgba(239, 246, 255, 0.55);
  border-radius: 0 8px 8px 0;
  border-left: 2px solid #DBEAFE;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}
.case-card:hover .card-issue-text {
  border-left-color: #2563EB;
  background: rgba(239, 246, 255, 0.92);
}

/* 心理动力学防御标签胶囊 (清爽克制微胶囊，层次分明) */
.card-capsules-row {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 12px;
}
.capsule-tag {
  font-size: 0.70rem;
  font-weight: 550;
  background-color: #F1F5F9;
  border: 1px solid #CBD5E1;
  color: #334155;
  padding: 3px 9px;
  border-radius: 6px;
  cursor: pointer;
  letter-spacing: 0.01em;
  transition: transform 0.10s ease-out, background-color 0.10s ease-out, border-color 0.10s ease-out, color 0.10s ease-out, box-shadow 0.10s ease-out;
}
.capsule-tag:hover {
  background-color: #2563EB;
  border-color: #2563EB;
  color: #FFFFFF;
  transform: translateY(-2px) scale(1.05);
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.25);
}

/* 卡片底栏：排期时间、课时进度、微操作 */
.card-footer-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 6px;
  padding-top: 10px;
  border-top: 1px solid #F8FAFC;
  font-size: 0.76rem;
  color: #64748B;
}
.card-schedule-time {
  display: flex;
  align-items: center;
  gap: 4px;
  font-family: var(--font-mono);
  font-weight: 600;
  font-size: 0.76rem;
  color: #475569;
}

.card-cycle-pill {
  white-space: nowrap;
  font-family: inherit;
  font-size: 0.70rem;
  font-weight: 500;
  background-color: #F8FAFC;
  color: #334155;
  border: 1px solid #E2E8F0;
  padding: 1.5px 6px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  line-height: 1.25;
  user-select: none;
}
.card-cycle-pill.urgent-renewal {
  background-color: #FEF3C7;
  color: #B45309;
  border-color: #FDE68A;
}

.card-action-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

/* 隐奢悬浮微操作群 (深海星空蓝反色微按钮) */
.card-ghost-actions {
  display: flex;
  align-items: center;
  gap: 4px;
}
.card-mini-btn {
  display: inline-flex;
  align-items: center;
  gap: 3.5px;
  padding: 3px 9px;
  font-size: 0.72rem;
  font-weight: 650;
  border-radius: 6px;
  background-color: #EFF6FF;
  border: 1px solid #BFDBFE;
  color: #1D4ED8;
  cursor: pointer;
  transition: transform 0.10s ease-out, background-color 0.10s ease-out, border-color 0.10s ease-out, color 0.10s ease-out, box-shadow 0.10s ease-out;
  user-select: none;
}
.case-card:hover .card-mini-btn {
  border-color: #93C5FD;
  background-color: #DBEAFE;
  color: #1E40AF;
}
.card-mini-btn:hover {
  background-color: #2563EB !important;
  border-color: #2563EB !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) scale(1.08);
  box-shadow: 0 4px 14px rgba(37, 99, 235, 0.38);
}
.card-mini-btn:active {
  transform: translateY(0.5px) scale(0.95);
}

/* ==========================================================================
   5. 物理级“隐私护盾”遮罩引擎 (Backdrop Privacy Masking)
   ========================================================================== */
body.privacy-shield-active .mask-target {
  filter: blur(5.5px);
  opacity: 0.65;
  user-select: none;
  transition: filter 0.22s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.22s ease;
  position: relative;
}
/* 鼠标悬停时柔和浮现 */
body.privacy-shield-active .mask-target:hover {
  filter: blur(0px);
  opacity: 1;
}

/* 隐藏真实姓名，仅展示代号 */
body.privacy-shield-active .card-real-name,
body.privacy-shield-active .real-name-tag {
  display: none !important;
}

/* ==========================================================================
   6. 侧边抽屉：会前 2 分钟闪回记忆卡 (Briefing Drawer)
   ========================================================================== */
.briefing-drawer-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(15, 23, 42, 0.42);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: 90;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.24s cubic-bezier(0.16, 1, 0.3, 1);
}
.briefing-drawer-overlay.active {
  opacity: 1;
  pointer-events: auto;
}

.briefing-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 520px;
  max-width: 90vw;
  background-color: #FFFFFF;
  box-shadow: var(--shadow-drawer);
  z-index: 100;
  display: flex;
  flex-direction: column;
  transform: translateX(100%) translateZ(0);
  will-change: transform;
  backface-visibility: hidden;
  transition: transform 0.26s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.26s ease;
}
.briefing-drawer.active {
  transform: translateX(0) translateZ(0);
}

.drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid var(--border-subtle);
  background-color: var(--bg-app);
}
.drawer-client-meta {
  display: flex;
  align-items: center;
  gap: 14px;
}
.client-avatar {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background-color: var(--forest-primary);
  color: #FFFFFF;
  font-family: var(--font-serif);
  font-size: 1.2rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
.drawer-client-name-row {
  display: flex;
  align-items: center;
  gap: 8px;
}
.drawer-client-id {
  font-family: var(--font-mono);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--forest-dark);
}
.real-name-tag {
  font-size: 0.85rem;
  color: var(--text-secondary);
}
.drawer-client-sub {
  font-size: 0.76rem;
  color: var(--text-muted);
  margin-top: 2px;
}
.drawer-close-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  font-size: 1.4rem;
  color: var(--text-muted);
  cursor: pointer;
  line-height: 1;
  transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1);
}
.drawer-close-btn:hover {
  background-color: rgba(0, 0, 0, 0.05);
  color: var(--text-primary);
  transform: scale(1.05);
}
.drawer-close-btn:active {
  transform: scale(0.95);
}

.drawer-content-scroll {
  flex: 1;
  overflow-y: auto;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.drawer-card {
  background-color: var(--bg-card);
  border: 1px solid var(--border-card);
  border-radius: 12px;
  padding: 16px;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.drawer-card:hover {
  border-color: rgba(203, 213, 225, 0.95);
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}
.drawer-card.highlight-card {
  background-color: #FAF9F5;
  border-color: #E6E1D3;
  border-left: 4px solid var(--forest-primary);
}
.drawer-card-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-serif);
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--forest-dark);
  margin-bottom: 12px;
}

.flash-bullet-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
  font-size: 0.84rem;
  line-height: 1.55;
  color: var(--text-primary);
}
.flash-bullet-list strong {
  color: var(--forest-primary);
}

.defense-capsules-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 14px;
}
.defense-capsules-cloud .capsule-tag {
  padding: 4px 10px;
  font-size: 0.74rem;
}
.defense-capsules-cloud .active-tag {
  background-color: var(--forest-soft);
  color: var(--forest-primary);
  font-weight: 600;
}

.alliance-meter-block {
  margin-top: 10px;
}
.alliance-meta {
  display: flex;
  justify-content: space-between;
  font-size: 0.78rem;
  color: var(--text-secondary);
  margin-bottom: 6px;
}
.alliance-score {
  font-family: var(--font-mono);
  font-weight: 600;
  color: var(--forest-primary);
}
.alliance-bar-track {
  height: 6px;
  background-color: var(--bg-muted);
  border-radius: 6px;
  overflow: hidden;
}
.alliance-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--forest-primary), #487252);
  border-radius: 6px;
  transition: width 0.4s ease;
}

.pack-progress-row {
  display: flex;
  justify-content: space-between;
  background-color: var(--bg-paper-tint);
  padding: 12px 16px;
  border-radius: 8px;
  margin-bottom: 14px;
}
.pack-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.pack-val {
  font-family: var(--font-mono);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--forest-dark);
}
.pack-val.highlight-danger {
  color: var(--amber-warm);
}
.pack-lbl {
  font-size: 0.7rem;
  color: var(--text-muted);
  margin-top: 2px;
}

.renewal-template-box {
  background-color: var(--amber-soft);
  border: 1px solid #EED8C3;
  border-radius: 8px;
  padding: 12px;
}
.template-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.74rem;
  font-weight: 600;
  color: #7B4412;
  margin-bottom: 8px;
}
.copy-template-btn {
  background-color: #FFFFFF;
  border: 1px solid #DFBE9F;
  color: #7B4412;
  font-size: 0.68rem;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 4px;
}
.copy-template-btn:hover {
  background-color: #FFF6EE;
}
.template-text {
  font-size: 0.78rem;
  line-height: 1.55;
  color: #4A301A;
}

.session-history-timeline {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.timeline-item {
  background: rgba(248, 250, 252, 0.95);
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-left: 3px solid var(--forest-primary);
  border-radius: 8px;
  padding: 10px 14px;
  position: relative;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
}
.timeline-item::before {
  display: none;
}
.timeline-item:hover {
  background: #FFFFFF;
  border-color: rgba(37, 99, 235, 0.25);
  border-left-color: var(--forest-primary);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05);
}
.timeline-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  color: var(--text-muted);
  margin-bottom: 5px;
}
.timeline-date-label {
  font-weight: 500;
}
.mini-text-btn {
  font-family: var(--font-sans);
  font-size: 0.70rem;
  font-weight: 600;
  padding: 1px 7px;
  border-radius: 4px;
  background: rgba(37, 99, 235, 0.08);
  border: 1px solid rgba(37, 99, 235, 0.25);
  color: var(--forest-primary);
  cursor: pointer;
  transition: all 0.18s ease;
}
.mini-text-btn:hover {
  background: var(--forest-primary);
  border-color: var(--forest-primary);
  color: #FFFFFF;
}

.timeline-row {
  margin-top: 5px;
  line-height: 1.5;
  font-size: 0.8rem;
}
.note-chip {
  display: inline-block;
  font-size: 10.5px;
  font-weight: 600;
  padding: 1.5px 6.5px;
  border-radius: 4px;
  margin-right: 6px;
  vertical-align: middle;
  line-height: 1.35;
  letter-spacing: 0.01em;
}
.note-chip-focus {
  background: rgba(37, 99, 235, 0.1);
  color: #1D4ED8;
  border: 1px solid rgba(37, 99, 235, 0.25);
}
.note-chip-state {
  background: rgba(100, 116, 139, 0.1);
  color: #334155;
  border: 1px solid rgba(100, 116, 139, 0.2);
}
.note-chip-counter {
  background: rgba(124, 58, 237, 0.1);
  color: #6D28D9;
  border: 1px solid rgba(124, 58, 237, 0.25);
}
.note-chip-setting {
  background: rgba(217, 119, 6, 0.1);
  color: #B45309;
  border: 1px solid rgba(217, 119, 6, 0.25);
}
.note-chip-homework {
  background: rgba(5, 150, 105, 0.1);
  color: #047857;
  border: 1px solid rgba(5, 150, 105, 0.25);
}

.note-text-content {
  color: var(--text-primary);
  font-size: 0.81rem;
  line-height: 1.5;
  vertical-align: middle;
}
.note-text-counter {
  color: #6D28D9;
  font-weight: 500;
}
.note-text-setting {
  color: #B45309;
  font-weight: 500;
}
.note-text-homework {
  color: #047857;
  font-weight: 500;
}

.drawer-footer-actions {
  display: flex;
  gap: 10px;
  margin-top: 10px;
}
.action-outline-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 12px;
  border: 1px solid var(--border-card);
  border-radius: 8px;
  font-size: 0.8rem;
  font-weight: 500;
  background-color: var(--bg-card);
  color: var(--text-secondary);
}
.action-outline-btn:hover {
  border-color: var(--forest-primary);
  color: var(--forest-primary);
  background-color: var(--forest-soft);
}

/* ==========================================================================
   7. 50 分钟专业静音时钟悬浮挂件 (Session Silent Timer)
   ========================================================================== */
.clinical-timer-widget {
  position: fixed;
  right: 28px;
  bottom: 24px;
  z-index: 80;
  user-select: none;
}

.timer-collapsed {
  height: 52px;
  padding: 6px 18px 6px 7px;
  border-radius: 28px;
  background: linear-gradient(135deg, #FFFFFF 0%, #F8FAFC 100%);
  box-shadow: 
    0 10px 30px -4px rgba(15, 118, 110, 0.22),
    0 4px 12px rgba(15, 23, 42, 0.08),
    0 0 0 1.5px rgba(13, 148, 136, 0.35);
  border: 1px solid rgba(13, 148, 136, 0.2);
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.timer-collapsed:hover {
  transform: translateY(-3px) scale(1.03);
  box-shadow: 
    0 14px 38px -4px rgba(13, 148, 136, 0.38),
    0 6px 16px rgba(15, 23, 42, 0.12),
    0 0 0 2px #0D9488;
}
.timer-collapsed:active {
  transform: translateY(-1px) scale(0.99);
}

.timer-ring-svg-wrap {
  position: relative;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.ring-bg {
  fill: none;
  stroke: #E2E8F0;
  stroke-width: 3.5;
}
.ring-progress {
  fill: none;
  stroke: #0D9488;
  stroke-width: 3.5;
  stroke-linecap: round;
  transform: rotate(-90deg);
  transform-origin: 50% 50%;
  transition: stroke-dashoffset 0.5s ease, stroke 0.3s ease;
}
.timer-mini-text {
  position: absolute;
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 800;
  color: #0F766E;
  letter-spacing: -0.02em;
}

.timer-collapsed-info {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.timer-collapsed-top {
  display: flex;
  align-items: center;
  gap: 6px;
}
.timer-pulse-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: #10B981;
  box-shadow: 0 0 7px rgba(16, 185, 129, 0.7);
  flex-shrink: 0;
  animation: timerDotPulse 2.4s ease-in-out infinite;
}
@keyframes timerDotPulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.3); opacity: 0.6; box-shadow: 0 0 10px rgba(16, 185, 129, 0.95); }
}
.timer-collapsed-title {
  font-size: 13px;
  font-weight: 700;
  color: #0F172A;
  letter-spacing: -0.01em;
  white-space: nowrap;
}
.timer-collapsed-status {
  font-size: 11px;
  font-weight: 600;
  color: #0D9488;
  white-space: nowrap;
  letter-spacing: 0.01em;
}

/* 50 分钟计时器运行中呼吸微光与最后 5 分钟收尾静音提醒 */
.clinical-timer-widget.is-running .timer-collapsed {
  animation: timerRunningPulse 3.6s ease-in-out infinite;
  border-color: #2563EB;
}
@keyframes timerRunningPulse {
  0%, 100% {
    box-shadow: 
      0 10px 28px -4px rgba(37, 99, 235, 0.25),
      0 0 0 2px rgba(37, 99, 235, 0.4);
  }
  50% {
    box-shadow: 
      0 14px 36px -4px rgba(37, 99, 235, 0.38),
      0 0 0 5px rgba(37, 99, 235, 0.5);
  }
}
.clinical-timer-widget.is-warning-phase .timer-collapsed {
  animation: timerWarningPulse 2.4s ease-in-out infinite;
}
@keyframes timerWarningPulse {
  0%, 100% {
    box-shadow: 
      0 10px 28px -4px rgba(217, 119, 6, 0.28),
      0 0 0 2px rgba(217, 119, 6, 0.5);
  }
  50% {
    box-shadow: 
      0 14px 36px -4px rgba(217, 119, 6, 0.45),
      0 0 0 6px rgba(217, 119, 6, 0.6);
  }
}

.timer-expanded-panel {
  display: none;
  position: absolute;
  bottom: 64px;
  right: 0;
  width: 350px;
  background-color: #FFFFFF;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 18px;
  box-shadow: 0 24px 60px -12px rgba(15, 23, 42, 0.24), 0 4px 16px rgba(15, 23, 42, 0.08);
  padding: 18px 20px;
  animation: popIn 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  z-index: 90;
}
@keyframes popIn {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}
.timer-expanded-panel.active {
  display: block;
}

.timer-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
.timer-session-label {
  font-size: 0.86rem;
  font-weight: 700;
  color: #0F172A;
  letter-spacing: 0.01em;
}
.timer-close-btn {
  font-size: 1.3rem;
  color: #64748B;
  cursor: pointer;
  line-height: 1;
  transition: color 0.15s ease;
}
.timer-close-btn:hover {
  color: #0F172A;
}

.timer-digital-display {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 12px;
}
.digital-time {
  font-family: var(--font-mono);
  font-size: 2.3rem;
  font-weight: 700;
  color: #062E1A;
  letter-spacing: -0.04em;
}
.timer-stage-badge {
  font-size: 0.74rem;
  font-weight: 650;
  padding: 3.5px 10px;
  border-radius: 100px;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.stage-opening {
  background-color: rgba(16, 185, 129, 0.14);
  color: #065F46;
  border: 1px solid rgba(16, 185, 129, 0.35);
}
.stage-closing {
  background-color: rgba(245, 158, 11, 0.16);
  color: #92400E;
  border: 1px solid rgba(245, 158, 11, 0.4);
  animation: softBlink 1.5s infinite;
}
.stage-terminate {
  background-color: rgba(239, 68, 68, 0.16);
  color: #991B1B;
  border: 1px solid rgba(239, 68, 68, 0.4);
}

@keyframes softBlink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

/* 阶段刻度：单行自然展开，彻底杜绝折行 */
.timer-timeline-milestones {
  display: flex;
  align-items: center;
  justify-content: space-between;
  white-space: nowrap;
  font-size: 0.73rem;
  font-weight: 550;
  color: #1E293B;
  background-color: #F1F5F9;
  border: 1px solid rgba(0, 0, 0, 0.09);
  border-radius: 8px;
  padding: 7px 12px;
  margin-bottom: 14px;
  letter-spacing: -0.01em;
}
.milestone-segment {
  white-space: nowrap;
  flex-shrink: 0;
}

.timer-controls {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 8px;
  margin-bottom: 10px;
}

/* 控制按钮通用基底：杜绝任何状态下的透明失格问题 */
.timer-action-btn {
  padding: 9px 12px;
  border-radius: 8px;
  font-size: 0.82rem;
  font-weight: 650;
  text-align: center;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background-color: #F1F5F9;
  color: #1E293B;
  cursor: pointer;
  transition: all 0.18s ease;
  user-select: none;
}

/* 主操作态（开始会谈 / 继续会谈） */
.timer-action-btn.primary {
  background-color: #10B981;
  color: #FFFFFF;
  border-color: #059669;
  box-shadow: 0 1px 3px rgba(16, 185, 129, 0.25);
}
.timer-action-btn.primary:hover {
  background-color: #059669;
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.35);
}

/* 暂停时钟专属高对比按钮（进行中状态）：浅金琥珀底配深金棕字与明晰边框，彻底告别单薄白底黑字 */
.timer-action-btn.is-running,
#timerPlayPauseBtn:not(.primary) {
  background-color: #FEF3C7;
  color: #92400E;
  border: 1px solid #FCD34D;
  box-shadow: 0 1px 3px rgba(245, 158, 11, 0.18);
}
.timer-action-btn.is-running:hover,
#timerPlayPauseBtn:not(.primary):hover {
  background-color: #FDE68A;
  border-color: #F59E0B;
  color: #78350F;
}

/* 重设 50' 按钮：高质感清晰浅底灰阶按钮 */
.timer-action-btn.secondary {
  background-color: #F8FAFC;
  color: #1E293B;
  border: 1px solid rgba(0, 0, 0, 0.14);
}
.timer-action-btn.secondary:hover {
  background-color: #E2E8F0;
  color: #0F172A;
  border-color: rgba(0, 0, 0, 0.22);
}

/* 提前结束并速记：白天模式下高辨识度薄荷翠绿按钮 */
.timer-action-btn.finish {
  grid-column: span 2;
  background-color: rgba(16, 185, 129, 0.12);
  color: #065F46;
  border: 1px solid rgba(16, 185, 129, 0.35);
  font-weight: 700;
  margin-top: 2px;
}
.timer-action-btn.finish:hover {
  background-color: rgba(16, 185, 129, 0.22);
  border-color: #10B981;
  color: #044E38;
}

.timer-note {
  font-size: 0.74rem;
  color: #334155;
  line-height: 1.5;
  font-weight: 500;
}

/* ==========================================================================
   8. 情绪解毒与正念去负荷全屏屏 (Decompression & Mindful Screen)
   ========================================================================== */
.decompression-screen {
  position: fixed;
  inset: 0;
  background: radial-gradient(ellipse at 50% 35%, #F0FDF4 0%, #ECFDF5 25%, #F0FDFA 55%, #F8FAFC 100%);
  color: #0F172A;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
  transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.decompression-screen.active {
  opacity: 1;
  pointer-events: auto;
}

/* 沉浸式环境极光流光底衬 */
.zen-ambient-aurora {
  position: absolute;
  inset: -20%;
  pointer-events: none;
  background: radial-gradient(circle at 50% 38%, rgba(52, 211, 153, 0.18) 0%, rgba(45, 212, 191, 0.14) 30%, rgba(56, 189, 248, 0.1) 55%, transparent 75%);
  filter: blur(60px);
  opacity: 0.85;
  animation: zenAuroraFloat 14s ease-in-out infinite alternate;
  z-index: 1;
}
@keyframes zenAuroraFloat {
  0% { transform: scale(0.95) translate(0, 0) rotate(0deg); opacity: 0.7; }
  50% { transform: scale(1.1) translate(15px, -15px) rotate(2deg); opacity: 0.95; }
  100% { transform: scale(1.02) translate(-10px, 10px) rotate(-1deg); opacity: 0.8; }
}

.decompression-content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 580px;
  padding: 48px 36px;
  display: flex;
  flex-direction: column;
  align-items: center;
  user-select: none;
}

/* 顶部神圣设置胶囊徽章 */
.zen-sacred-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 16px;
  background: rgba(16, 185, 129, 0.08);
  border: 1px solid rgba(16, 185, 129, 0.22);
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  color: #047857;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 4px 16px rgba(16, 185, 129, 0.08);
  margin-bottom: 28px;
  animation: fadeInDown 0.8s cubic-bezier(0.16, 1, 0.3, 1) both;
}
.zen-badge-sparkle {
  color: #10B981;
  font-size: 0.7rem;
  opacity: 0.85;
  animation: zenPulse 2.5s infinite ease-in-out;
}

/* 核心正念呼吸共振环容器 */
.zen-halo-container {
  position: relative;
  width: 220px;
  height: 220px;
  margin-bottom: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.zen-halo {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  animation: zenHarmonicBreath 6s infinite ease-in-out;
}
.halo-1 {
  width: 110px;
  height: 110px;
  border: 1.5px solid rgba(16, 185, 129, 0.45);
  box-shadow: 0 0 20px rgba(16, 185, 129, 0.2);
  animation-delay: 0s;
}
.halo-2 {
  width: 148px;
  height: 148px;
  border: 1.5px solid rgba(20, 184, 166, 0.35);
  box-shadow: 0 0 28px rgba(20, 184, 166, 0.16);
  animation-delay: 1.5s;
}
.halo-3 {
  width: 184px;
  height: 184px;
  border: 1.5px solid rgba(14, 165, 233, 0.25);
  box-shadow: 0 0 36px rgba(14, 165, 233, 0.12);
  animation-delay: 3s;
}
.halo-4 {
  width: 220px;
  height: 220px;
  border: 1.5px solid rgba(99, 102, 241, 0.16);
  box-shadow: 0 0 44px rgba(99, 102, 241, 0.08);
  animation-delay: 4.5s;
}

@keyframes zenHarmonicBreath {
  0%, 100% {
    transform: scale(0.88);
    opacity: 0.35;
  }
  50% {
    transform: scale(1.14);
    opacity: 0.9;
  }
}

/* 核心悬浮发光法球 */
.zen-center-circle {
  width: 76px;
  height: 76px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(240, 253, 250, 0.8) 100%);
  border: 1.5px solid rgba(16, 185, 129, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 
    0 12px 32px rgba(16, 185, 129, 0.22),
    inset 0 0 20px rgba(255, 255, 255, 0.9),
    0 0 40px rgba(52, 211, 153, 0.25);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  z-index: 5;
  animation: zenOrbFloat 6s ease-in-out infinite;
}
@keyframes zenOrbFloat {
  0%, 100% { transform: translateY(0px) scale(0.96); }
  50% { transform: translateY(-4px) scale(1.04); }
}

.zen-symbol-svg {
  color: #059669;
  filter: drop-shadow(0 2px 8px rgba(5, 150, 105, 0.3));
  transition: transform 0.4s ease;
}

/* 标题设计：艺术级渐变与经典排印 */
.decompression-title {
  font-family: var(--font-serif);
  font-size: 2.1rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  margin-bottom: 14px;
  background: linear-gradient(135deg, #0F172A 0%, #065F46 55%, #0D9488 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 4px 24px rgba(6, 95, 70, 0.12);
}

/* 动态呼吸韵律实时引导胶囊 */
.zen-breath-guide-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 22px;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(16, 185, 129, 0.28);
  border-radius: 999px;
  color: #065F46;
  font-size: 0.92rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  box-shadow: 0 4px 20px rgba(16, 185, 129, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  margin-bottom: 18px;
  transition: all 0.4s ease;
}
.zen-breath-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #10B981;
  box-shadow: 0 0 10px #10B981;
  animation: zenDotPulse 2s infinite ease-in-out;
}
@keyframes zenDotPulse {
  0%, 100% { transform: scale(0.9); opacity: 0.6; box-shadow: 0 0 6px #10B981; }
  50% { transform: scale(1.3); opacity: 1; box-shadow: 0 0 14px #10B981; }
}

/* 正念金句排版：典雅诗意 */
.decompression-mantra {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  line-height: 2.1;
  color: #475569;
  max-width: 480px;
  margin-bottom: 22px;
  letter-spacing: 0.04em;
  font-style: italic;
}

/* 倒计时精致指示 */
.breath-timer-display {
  font-family: var(--font-mono);
  font-size: 0.86rem;
  font-weight: 600;
  color: #0D9488;
  letter-spacing: 0.1em;
  padding: 5px 16px;
  background: rgba(13, 148, 136, 0.08);
  border-radius: 999px;
  border: 1px solid rgba(13, 148, 136, 0.2);
  margin-bottom: 26px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* 结束并返回工作台按钮：极高质感毛玻璃微晶胶囊 */
.skip-decompression-btn {
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(203, 213, 225, 0.85);
  padding: 10px 26px;
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #334155;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04), inset 0 1px 0 rgba(255, 255, 255, 0.8);
  cursor: pointer;
  transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}
.skip-decompression-btn:hover {
  background: #FFFFFF;
  border-color: #0D9488;
  color: #0F172A;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(13, 148, 136, 0.18), 0 0 0 1px rgba(13, 148, 136, 0.2);
}
.skip-decompression-btn:active {
  transform: translateY(0px) scale(0.98);
}

/* ==========================================================================
   9. 模态框与通用表单设计 (Dialogs & Forms)
   ========================================================================== */
.app-dialog {
  border: none;
  background: transparent;
  padding: 0;
  margin: auto;
  max-width: fit-content;
  width: auto;
  overflow: visible;
  outline: none;
  z-index: 150;
}
.app-dialog::backdrop {
  background-color: rgba(15, 23, 42, 0.45);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.app-dialog.modal-medium {
  max-width: fit-content;
}
.app-dialog.modal-large {
  max-width: 760px;
}
.app-dialog.modal-pricing {
  max-width: 1200px;
  width: 95vw;
}

.dialog-card {
  background-color: #FFFFFF;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 22px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 1), 0 28px 72px -12px rgba(15, 23, 42, 0.25), 0 8px 24px rgba(0, 0, 0, 0.04);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  max-height: 92vh;
}

dialog[open] .dialog-card {
  animation: dialogCardIn 0.14s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@keyframes dialogCardIn {
  from {
    opacity: 0.85;
    transform: scale(0.985) translateY(4px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.dialog-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 24px;
  border-bottom: 1px solid var(--border-subtle);
  background-color: var(--bg-app);
}
.dialog-title {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--forest-dark);
}
.dialog-subtitle {
  font-size: 0.74rem;
  color: var(--text-muted);
}
.dialog-close-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  font-size: 1.4rem;
  color: var(--text-muted);
  cursor: pointer;
  line-height: 1;
  transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1);
}
.dialog-close-btn:hover {
  background-color: rgba(0, 0, 0, 0.05);
  color: var(--text-primary);
  transform: scale(1.05);
}
.dialog-close-btn:active {
  transform: scale(0.95);
}

.dialog-body-form {
  padding: 22px 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.form-row {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.form-row-inline {
  flex-direction: row;
  gap: 16px;
}
.form-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.form-label {
  font-size: 0.76rem;
  font-weight: 600;
  color: var(--text-secondary);
}

.form-input, .form-textarea, .form-select {
  width: 100%;
  box-sizing: border-box;
  background-color: #FFFFFF;
  border: 1px solid var(--border-card);
  border-radius: 8px;
  padding: 9px 12px;
  font-size: 0.84rem;
  color: var(--text-primary);
  transition: border-color 0.2s, box-shadow 0.2s;
}
.form-textarea {
  width: 100%;
  box-sizing: border-box;
  resize: vertical;
  min-height: 68px;
  line-height: 1.5;
  font-family: inherit;
}
.form-input:focus, .form-textarea:focus, .form-select:focus {
  border-color: var(--forest-primary);
  box-shadow: 0 0 0 3px rgba(47, 70, 53, 0.1);
}

.dialog-form-scrollable {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 18px 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.smart-parse-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 0.76rem;
  font-weight: 600;
  color: #1e3a29;
  background: linear-gradient(135deg, #e8f5ed 0%, #d1fae5 50%, #bbf7d0 100%);
  border: 1px solid rgba(16, 185, 129, 0.45);
  padding: 6px 14px;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(16, 185, 129, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.85);
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: all 0.24s cubic-bezier(0.16, 1, 0.3, 1);
  user-select: none;
}
.smart-parse-btn:hover {
  background: linear-gradient(135deg, #dcfce7 0%, #a7f3d0 100%);
  border-color: rgba(16, 185, 129, 0.7);
  color: #064e3b;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(16, 185, 129, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.95);
}
.smart-parse-btn:active {
  transform: translateY(0) scale(0.97);
  box-shadow: 0 1px 2px rgba(16, 185, 129, 0.15);
}

/* 按钮微光扫光动效 */
.smart-parse-btn::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -70%;
  width: 45%;
  height: 200%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.55), transparent);
  transform: rotate(25deg);
  transition: none;
  pointer-events: none;
}
.smart-parse-btn:hover::after {
  left: 150%;
  transition: all 0.75s ease-in-out;
}

/* 提炼中旋转粒子 */
.smart-parse-btn.is-parsing {
  pointer-events: none;
  background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
  border-color: #10b981;
  color: #047857;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.2);
}
.smart-parse-btn .parse-spinner {
  display: inline-block;
  transition: transform 0.2s;
}
.smart-parse-btn.is-parsing .parse-spinner {
  animation: parseRotate 0.8s linear infinite;
}

/* 提炼完成瞬时成功态 */
.smart-parse-btn.is-success {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  border-color: #047857;
  color: #ffffff;
  box-shadow: 0 4px 14px rgba(16, 185, 129, 0.4);
}

@keyframes parseRotate {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* 填入示例胶囊微按钮 */
.fill-sample-pill-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  font-weight: 500;
  color: var(--forest-primary);
  background: rgba(47, 70, 53, 0.05);
  border: 1px dashed rgba(47, 70, 53, 0.25);
  border-radius: 6px;
  padding: 4px 9px;
  cursor: pointer;
  transition: all 0.2s ease;
  user-select: none;
}
.fill-sample-pill-btn:hover {
  background: rgba(47, 70, 53, 0.12);
  border-color: var(--forest-primary);
  color: var(--forest-dark);
  transform: translateY(-0.5px);
}
.fill-sample-pill-btn:active {
  transform: scale(0.97);
}

/* 被提炼填充的表单字段柔和呼吸微光高亮 */
@keyframes fieldPulseHighlight {
  0% {
    background-color: rgba(16, 185, 129, 0.24);
    border-color: #10b981;
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.3);
    transform: scale(1.008);
  }
  50% {
    background-color: rgba(16, 185, 129, 0.12);
    border-color: #34d399;
    box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.15);
  }
  100% {
    background-color: #ffffff;
    border-color: var(--border-card);
    box-shadow: none;
    transform: scale(1);
  }
}
.field-pulse-highlight {
  animation: fieldPulseHighlight 1.1s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}

.defense-selector-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.tag-opt {
  font-size: 0.74rem;
  padding: 5px 10px;
  border-radius: 6px;
  background-color: #F1F5F2;
  border: 1px solid #CBD5E1;
  color: #1E293B;
  cursor: pointer;
  transition: all 0.15s ease;
  user-select: none;
  display: inline-flex;
  align-items: center;
}
.tag-opt:hover {
  border-color: var(--forest-primary);
  color: var(--forest-primary);
  background-color: #E8EFEA;
}
.tag-opt:active,
.counter-tag-opt:active,
.setting-tag-opt:active {
  transform: scale(0.96);
}
.tag-opt.selected {
  background: linear-gradient(135deg, #2F4635 0%, #1E3A29 100%) !important;
  color: #FFFFFF !important;
  border-color: #1E3A29 !important;
  font-weight: 700 !important;
  box-shadow: 0 2px 8px rgba(47, 70, 53, 0.3) !important;
  transform: translateY(-1px);
}
.tag-opt.selected::before {
  content: '✓ ';
  font-weight: 800;
  margin-right: 3px;
  color: #86EFAC;
}

/* 咨询师反移情觉察胶囊 (雅致紫黛色系 · 潜意识雷达) */
.counter-tag-opt {
  font-size: 0.74rem;
  padding: 5px 10px;
  border-radius: 6px;
  background-color: rgba(124, 58, 237, 0.06);
  border: 1px solid rgba(124, 58, 237, 0.25);
  color: #5B21B6;
  cursor: pointer;
  transition: all 0.15s ease;
  user-select: none;
  display: inline-flex;
  align-items: center;
}
.counter-tag-opt:hover {
  border-color: #7C3AED;
  background-color: rgba(124, 58, 237, 0.12);
  color: #4C1D95;
}
.counter-tag-opt.selected {
  background: linear-gradient(135deg, #7C3AED 0%, #6D28D9 100%) !important;
  color: #FFFFFF !important;
  border-color: #5B21B6 !important;
  font-weight: 700 !important;
  box-shadow: 0 2px 8px rgba(124, 58, 237, 0.35) !important;
  transform: translateY(-1px);
}
.counter-tag-opt.selected::before {
  content: '✓ ';
  font-weight: 800;
  margin-right: 3px;
  color: #DDD6FE;
}

/* 会谈设置与阻抗把关胶囊 (经典暖琥珀色系) */
.setting-tag-opt {
  font-size: 0.74rem;
  padding: 5px 10px;
  border-radius: 6px;
  background-color: #FFFBEB;
  border: 1px solid #FDE68A;
  color: #92400E;
  cursor: pointer;
  transition: all 0.15s ease;
  user-select: none;
  display: inline-flex;
  align-items: center;
}
.setting-tag-opt:hover {
  border-color: var(--amber-warm);
  background-color: #FEF3C7;
  color: #78350F;
}
.setting-tag-opt.selected {
  background: linear-gradient(135deg, #D97706 0%, #B45309 100%) !important;
  color: #FFFFFF !important;
  border-color: #92400E !important;
  font-weight: 700 !important;
  box-shadow: 0 2px 8px rgba(217, 119, 6, 0.35) !important;
  transform: translateY(-1px);
}
.setting-tag-opt.selected::before {
  content: '✓ ';
  font-weight: 800;
  margin-right: 3px;
  color: #FEF3C7;
}

.score-input-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
}
.score-slider {
  flex: 1;
  accent-color: var(--forest-primary);
  height: 6px;
  cursor: pointer;
}
.score-num {
  font-family: var(--font-mono);
  font-size: 0.84rem;
  font-weight: 700;
  color: var(--forest-primary);
  min-width: 62px;
}
.alliance-state-badge {
  display: inline-flex;
  align-items: center;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 5px;
  transition: all 0.2s ease;
  user-select: none;
}
.alliance-state-badge.state-excellent {
  background: rgba(16, 185, 129, 0.12);
  border: 1px solid rgba(16, 185, 129, 0.3);
  color: #065f46;
}
.alliance-state-badge.state-good {
  background: rgba(47, 70, 53, 0.08);
  border: 1px solid rgba(47, 70, 53, 0.22);
  color: #1e3a29;
}
.alliance-state-badge.state-fair {
  background: rgba(245, 158, 11, 0.12);
  border: 1px solid rgba(245, 158, 11, 0.35);
  color: #92400e;
}
.alliance-state-badge.state-poor {
  background: rgba(239, 68, 68, 0.12);
  border: 1px solid rgba(239, 68, 68, 0.35);
  color: #991b1b;
}
#allianceRuptureAlert {
  background: rgba(245, 158, 11, 0.08);
  border: 1px solid rgba(245, 158, 11, 0.3);
  color: #92400e;
  animation: fadeIn 0.25s ease-out;
}

.dialog-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 14px 24px;
  border-top: 1px solid var(--border-subtle);
  background-color: var(--bg-card);
  position: sticky;
  bottom: 0;
  z-index: 15;
  flex-shrink: 0;
}
.btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  border-radius: 8px;
  font-size: 0.82rem;
  font-weight: 500;
  color: #475569;
  background-color: #F1F5F9;
  border: 1px solid #E2E8F0;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  user-select: none;
}
.btn-secondary:hover {
  background-color: #E2E8F0;
  color: #0F172A;
  border-color: #CBD5E1;
  transform: translateY(-1px);
}
.btn-secondary:active {
  transform: translateY(0) scale(0.98);
}
.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 20px;
  border-radius: 8px;
  background: linear-gradient(135deg, #2563EB 0%, #1D4ED8 100%);
  color: #FFFFFF !important;
  font-size: 0.82rem;
  font-weight: 600;
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 2px 8px rgba(37, 99, 235, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.25);
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  user-select: none;
}
.btn-primary:hover {
  background: linear-gradient(135deg, #3B82F6 0%, #2563EB 100%);
  box-shadow: 0 6px 18px rgba(37, 99, 235, 0.36), inset 0 1px 0 rgba(255, 255, 255, 0.35);
  transform: translateY(-1.5px);
}
.btn-primary:active {
  transform: translateY(0) scale(0.98);
  box-shadow: 0 1px 3px rgba(37, 99, 235, 0.2);
}

/* 危险操作文字按钮与胶囊 */
.btn-danger-text {
  background: rgba(239, 68, 68, 0.08);
  border: 1px solid rgba(239, 68, 68, 0.22);
  color: #DC2626;
  font-weight: 550;
  cursor: pointer;
  border-radius: 7px;
  padding: 6px 14px;
  font-size: 0.78rem;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  user-select: none;
}
.btn-danger-text:hover {
  background: #DC2626;
  border-color: #DC2626;
  color: #FFFFFF !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(220, 38, 38, 0.25);
}
.btn-danger-text:active {
  transform: translateY(0) scale(0.97);
}

/* 会谈手记元数据专属芯片 */
.note-client-chip {
  background: rgba(37, 99, 235, 0.1);
  color: #2563EB;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 5px;
  font-size: 0.75rem;
  border: 1px solid rgba(37, 99, 235, 0.25);
  display: inline-flex;
  align-items: center;
}
.note-session-chip {
  background: rgba(16, 185, 129, 0.1);
  color: #059669;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 5px;
  font-size: 0.75rem;
  border: 1px solid rgba(16, 185, 129, 0.25);
  display: inline-flex;
  align-items: center;
}
.note-date-chip {
  font-family: var(--font-mono);
  color: #64748B;
  font-size: 0.75rem;
  background: #F1F5F9;
  border: 1px solid #E2E8F0;
  padding: 2px 7px;
  border-radius: 5px;
  display: inline-flex;
  align-items: center;
}

/* 督导报告脱敏纸张排版 */
.dialog-body-scroll {
  max-height: 65vh;
  overflow-y: auto;
  padding: 24px;
}
.supervision-paper {
  background-color: #FAF9F5;
  border: 1px solid #EBE7DC;
  border-radius: 8px;
  padding: 28px;
  font-family: var(--font-serif);
  font-size: 0.88rem;
  line-height: 1.8;
  color: #2B332E;
}
.supervision-paper h4 {
  font-size: 1rem;
  font-weight: 700;
  margin: 16px 0 6px;
  color: var(--forest-dark);
  border-bottom: 1px solid #E5E1D5;
  padding-bottom: 4px;
}
.supervision-paper h4:first-child {
  margin-top: 0;
}

/* 本地存储弹窗 */
.dialog-body-padding {
  padding: 24px;
}
.storage-info-row {
  display: flex;
  justify-content: space-between;
  margin-bottom: 18px;
  font-size: 0.82rem;
  color: var(--text-secondary);
}
.storage-btn-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.full-w {
  width: 100%;
}
.file-label {
  cursor: pointer;
  text-align: center;
}
.action-danger-btn {
  padding: 8px 12px;
  border: 1px solid #F1D4D4;
  border-radius: 8px;
  font-size: 0.8rem;
  color: var(--rose-alert);
  background-color: var(--rose-soft);
}

/* ==========================================================================
   10. 周会谈流动排程视图 (Weekly Stream)
   ========================================================================== */
.weekly-stream-container {
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 18px;
  padding: 22px;
  box-shadow: 0 4px 20px rgba(15, 23, 42, 0.03), inset 0 1px 0 rgba(255, 255, 255, 0.95);
  transform: translateZ(0);
}
.weekly-header-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--border-subtle);
}
.weekly-nav-title {
  display: flex;
  align-items: center;
  gap: 12px;
}
.nav-arrow {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  background-color: var(--bg-paper-tint);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-secondary);
}
.week-title-text {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--forest-dark);
}
.today-jump-btn {
  font-size: 0.74rem;
  padding: 3px 8px;
  border-radius: 4px;
  background-color: var(--forest-soft);
  color: var(--forest-primary);
  font-weight: 600;
}
.weekly-stats-badge {
  font-size: 0.78rem;
  color: var(--text-muted);
}

.weekly-days-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 12px;
}
.weekly-day-col {
  background: #FFFFFF;
  border: 1px solid rgba(226, 232, 240, 0.85);
  border-radius: 12px;
  padding: 12px;
  min-height: 480px;
  display: flex;
  flex-direction: column;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  contain: layout style;
}
.weekly-day-col:hover {
  border-color: rgba(203, 213, 225, 0.95);
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
}
.day-header {
  text-align: center;
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.day-name {
  font-size: 0.76rem;
  font-weight: 600;
  color: var(--text-secondary);
}
.day-date {
  font-family: var(--font-mono);
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--forest-dark);
}
.weekly-day-col.is-today {
  background-color: rgba(37, 99, 235, 0.04);
  border: 1.5px solid rgba(37, 99, 235, 0.4);
  box-shadow: 0 4px 18px rgba(37, 99, 235, 0.08);
}
.weekly-day-col.is-today .day-date {
  color: var(--forest-primary);
}
.day-slots-container {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.stream-slot-card {
  background-color: #FFFFFF;
  border: 1px solid var(--border-card);
  border-radius: 10px;
  padding: 12px;
  font-size: 0.8rem;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), 0 2px 6px rgba(37, 99, 235, 0.02);
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1);
}
.stream-slot-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 3px;
  background: var(--forest-primary);
  opacity: 0.75;
  transition: all 0.2s ease;
}
.stream-slot-card:hover {
  transform: translateY(-2px);
  border-color: #3B82F6;
  box-shadow: 0 8px 20px -4px rgba(37, 99, 235, 0.16), 0 2px 6px rgba(0, 0, 0, 0.04);
}
.stream-slot-card:hover::before {
  opacity: 1;
  width: 4px;
}
.stream-slot-card:active {
  transform: translateY(0) scale(0.985);
}
.slot-time {
  font-family: var(--font-mono);
  font-weight: 700;
  color: var(--forest-primary);
  font-size: 0.76rem;
  letter-spacing: 0.02em;
  margin-bottom: 4px;
}
.slot-client {
  font-weight: 600;
  color: var(--text-primary);
  font-size: 0.84rem;
}

/* ==========================================================================
   11. 浮动通知 (Toast Notifications)
   ========================================================================== */
.toast-container {
  position: fixed;
  top: 76px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2147483647;
  display: flex;
  flex-direction: column;
  gap: 8px;
  pointer-events: none;
}
.modal-toast-container {
  position: absolute;
  bottom: 24px;
  top: auto;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2147483647;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  pointer-events: none;
  width: 90%;
  max-width: 440px;
}
.toast-item {
  background-color: rgba(36, 53, 40, 0.95);
  backdrop-filter: blur(8px);
  color: #F5F4EE;
  padding: 9px 20px;
  border-radius: 100px;
  font-size: 0.82rem;
  font-weight: 500;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.15);
  animation: toastSlideDown 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  text-align: center;
  pointer-events: auto;
}
.modal-toast-container .toast-item {
  animation: toastSlideUp 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes toastSlideDown {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes toastSlideUp {
  from { opacity: 0; transform: translateY(12px) scale(0.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

/* ==========================================================================
   12. 全局搜索、锁屏遮罩与全栈安全组件增强 (Advanced Security & Flow)
   ========================================================================== */

/* 全局搜索按钮 - 次栏中控高奢微晶胶囊 */
.global-search-btn {
  display: flex;
  align-items: center;
  gap: 7px;
  background-color: rgba(255, 255, 255, 0.86);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(226, 232, 240, 0.95);
  padding: 0 14px;
  height: 36px;
  box-sizing: border-box;
  border-radius: 100px;
  color: #475569;
  font-size: 0.78rem;
  font-weight: 500;
  white-space: nowrap;
  flex-shrink: 0;
  cursor: pointer;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.03), 0 2px 8px rgba(15, 23, 42, 0.02);
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.global-search-btn:hover {
  background-color: #FFFFFF;
  border-color: #0D9488;
  color: #0F172A;
  transform: translateY(-1px);
  box-shadow: 0 3px 12px rgba(13, 148, 136, 0.12);
}
.global-search-btn .key-hint {
  background-color: rgba(241, 245, 249, 0.95);
  border: 1px solid rgba(203, 213, 225, 0.9);
  color: #64748B;
  font-size: 0.68rem;
  font-family: var(--font-mono);
  font-weight: 600;
  padding: 1.5px 5.5px;
  border-radius: 5px;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
}

/* 同步状态指示器 (微晶半透明安全胶囊) */
.sync-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background-color: rgba(255, 255, 255, 0.78);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(220, 252, 231, 0.9);
  padding: 3.5px 12px;
  border-radius: 20px;
  font-size: 0.74rem;
  font-weight: 600;
  color: #166534;
  margin-left: 6px;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.02);
  transition: all 0.2s ease;
}
.sync-status-pill .sync-text {
  color: #166534;
  font-weight: 600;
}
.sync-status-pill.status-offline {
  background-color: #FEF2F2;
  border-color: #FECACA;
  color: #991B1B;
}
.sync-status-pill.status-syncing {
  background-color: #F0F9FF;
  border-color: #BAE6FD;
  color: #0369A1;
}
.sync-status-pill.status-syncing .sync-text {
  color: #0369A1;
}
.sync-status-pill.status-syncing .sync-dot {
  background-color: #0284C7;
  box-shadow: 0 0 8px rgba(2, 132, 199, 0.8);
}
.pwa-install-btn {
  color: #2F4635;
  transition: all 0.2s ease;
}
.pwa-install-btn:hover {
  background-color: rgba(47, 70, 53, 0.12);
  color: #1a2c1f;
}
.sync-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: #2E7D32;
  box-shadow: 0 0 6px rgba(46, 125, 50, 0.5);
  animation: syncPulse 2.5s infinite;
}
@keyframes syncPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(0.85); }
}

/* 全局检索弹窗 (Modal Search / Spotlight Quick Navigator) */
.modal-search {
  border: none;
  background: transparent;
  padding: 0;
  max-width: 660px;
  width: 92vw;
  margin: 12vh auto auto auto;
  outline: none;
  animation: spotlightIn 0.16s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
@keyframes spotlightIn {
  0% {
    opacity: 0;
    transform: scale(0.96) translateY(-8px);
  }
  100% {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}
.modal-search::backdrop {
  background-color: rgba(15, 23, 42, 0.38);
  backdrop-filter: blur(10px) saturate(160%);
  -webkit-backdrop-filter: blur(10px) saturate(160%);
}
.search-dialog-box {
  background-color: #FFFFFF;
  border-radius: 20px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 24px 70px -12px rgba(15, 23, 42, 0.22), 0 0 0 1px rgba(0, 0, 0, 0.04);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
.search-input-wrap {
  display: flex;
  align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  gap: 14px;
  background-color: #FFFFFF;
}
.search-input-icon {
  flex-shrink: 0;
  color: #0D9488;
  transition: transform 0.15s ease, color 0.15s ease;
}
.search-input-wrap:focus-within .search-input-icon {
  color: #0F766E;
  transform: scale(1.06);
}
.search-input-wrap input {
  flex: 1;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: -0.01em;
  color: #0F172A;
  border: none;
  outline: none;
  background: transparent;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.search-input-wrap input::placeholder {
  color: #64748B;
  font-weight: 400;
  font-size: 15px;
}
.search-esc-badge kbd {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  background: #F1F5F9;
  color: #475569;
  padding: 3px 8px;
  border-radius: 5px;
  border: 1px solid #CBD5E1;
  box-shadow: 0 1.5px 0 #94A3B8;
}
.search-results-list {
  max-height: 400px;
  overflow-y: auto;
  padding: 10px 14px 14px 14px;
}
.search-results-list::-webkit-scrollbar {
  width: 6px;
}
.search-results-list::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.15);
  border-radius: 4px;
}
.search-result-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  margin-bottom: 6px;
  border-radius: 12px;
  cursor: pointer;
  background-color: #F8FAFC;
  border: 1px solid rgba(0, 0, 0, 0.04);
  transition: all 0.12s cubic-bezier(0.16, 1, 0.3, 1);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.search-result-item:last-child {
  margin-bottom: 0;
}
.search-result-item:hover, .search-result-item.selected {
  background-color: #F0FDF4;
  border-color: rgba(16, 185, 129, 0.4);
  box-shadow: 0 3px 12px rgba(16, 185, 129, 0.1);
  transform: translateY(-1px);
}
.search-item-main {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
  min-width: 0;
  padding-right: 16px;
}
.search-item-header {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.search-item-code {
  font-family: var(--font-mono);
  font-weight: 700;
  color: #0F766E;
  font-size: 13px;
  line-height: 18px;
  background-color: #E6FFFA;
  border: 1px solid #99F6E4;
  padding: 2px 8px;
  border-radius: 6px;
  letter-spacing: -0.01em;
}
.search-item-real {
  font-weight: 600;
  color: #0F172A;
  font-size: 15px;
  line-height: 20px;
}
.search-item-age {
  font-size: 13px;
  font-weight: 500;
  color: #475569;
}
.search-item-stage {
  font-size: 12px;
  font-weight: 600;
  line-height: 16px;
  padding: 3px 8px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  letter-spacing: 0.02em;
  box-shadow: none !important;
}
.search-item-stage.stage-intake {
  background: #FEF3C7 !important;
  color: #92400E !important;
  border: 1px solid #FCD34D !important;
}
.search-item-stage.stage-active {
  background: #E0F2FE !important;
  color: #0369A1 !important;
  border: 1px solid #BAE6FD !important;
}
.search-item-stage.stage-maintenance {
  background: #DCFCE7 !important;
  color: #166534 !important;
  border: 1px solid #BBF7D0 !important;
}
.search-item-stage.stage-concluded {
  background: #F3E8FF !important;
  color: #6B21A8 !important;
  border: 1px solid #E9D5FF !important;
}
.search-item-sub {
  font-size: 13px;
  line-height: 1.5;
  color: #334155;
  white-space: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  margin-top: 2px;
}
.search-item-focus-label {
  font-weight: 700;
  font-size: 13px;
  color: #0F766E;
}
.search-item-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 5px;
  flex-shrink: 0;
}
.search-item-time {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 13px;
  font-weight: 600;
  line-height: 18px;
  color: #0F766E;
  background-color: #F0FDFA;
  border: 1px solid #CCFBF1;
  padding: 3px 10px;
  border-radius: 6px;
  white-space: nowrap;
}
.search-item-enter-hint {
  font-size: 12px;
  font-weight: 700;
  color: #059669;
  opacity: 0;
  transform: translateX(-4px);
  transition: all 0.12s ease;
  white-space: nowrap;
}
.search-result-item:hover .search-item-enter-hint,
.search-result-item.selected .search-item-enter-hint {
  opacity: 1;
  transform: translateX(0);
}
.search-footer-hint {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 20px;
  background-color: #F8FAFC;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  font-size: 13px;
  color: #475569;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.search-footer-left {
  display: flex;
  align-items: center;
}
.search-count-pill {
  font-size: 12px;
  color: #334155;
  background-color: #E2E8F0;
  padding: 4px 10px;
  border-radius: 12px;
  font-weight: 600;
}
.search-count-pill strong {
  color: #0F766E;
  font-weight: 700;
}
.search-footer-right {
  display: flex;
  align-items: center;
  gap: 14px;
}
.search-footer-right span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 500;
  color: #475569;
}
.search-footer-hint kbd {
  background-color: #FFFFFF;
  border: 1px solid #94A3B8;
  box-shadow: 0 1.5px 0 #94A3B8;
  color: #1E293B;
  padding: 2px 6px;
  border-radius: 4px;
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
}
.search-empty-state {
  padding: 42px 20px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.search-empty-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background-color: rgba(15, 118, 110, 0.08);
  color: #0F766E;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 4px;
}
.search-empty-title {
  font-size: 16px;
  font-weight: 600;
  color: #0F172A;
}
.search-empty-sub {
  font-size: 13px;
  color: #475569;
}

/* 紧急锁屏遮罩 (Vault Lock Screen) */
.vault-lock-screen {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background-color: rgba(245, 244, 238, 0.98);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.vault-lock-screen.active {
  opacity: 1;
  pointer-events: auto;
}
.lock-screen-card {
  background-color: #FFFFFF;
  border: 1px solid var(--border-subtle);
  border-radius: 20px;
  padding: 42px 38px;
  max-width: 460px;
  width: 90vw;
  text-align: center;
  box-shadow: 0 20px 60px rgba(36, 53, 40, 0.12);
  animation: lockCardAppear 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes lockCardAppear {
  from { opacity: 0; transform: translateY(16px) scale(0.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.lock-brand-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: 20px;
  background-color: var(--forest-soft);
  color: var(--forest-primary);
  margin-bottom: 20px;
}
.lock-halo-pulse {
  position: absolute;
  inset: -6px;
  border-radius: 26px;
  border: 1.5px solid var(--forest-border);
  opacity: 0.6;
  animation: lockHalo 3s infinite ease-in-out;
}
@keyframes lockHalo {
  0%, 100% { transform: scale(1); opacity: 0.6; }
  50% { transform: scale(1.08); opacity: 0.2; }
}
.lock-title {
  font-family: var(--font-serif);
  font-size: 1.35rem;
  color: var(--forest-dark);
  margin-bottom: 10px;
}
.lock-subtitle {
  font-size: 0.8rem;
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 24px;
}
.lock-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.lock-input-group {
  display: flex;
  background-color: var(--bg-paper-tint);
  border: 1.5px solid var(--border-subtle);
  border-radius: 12px;
  overflow: hidden;
  transition: border-color 0.2s ease;
}
.lock-input-group:focus-within {
  border-color: var(--forest-primary);
  box-shadow: 0 0 0 3px rgba(47, 70, 53, 0.12);
}
.lock-input-group input {
  flex: 1;
  padding: 12px 16px;
  font-size: 0.95rem;
  letter-spacing: 0.1em;
}
.lock-submit-btn {
  background-color: var(--forest-primary);
  color: #FFFFFF;
  padding: 0 18px;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.85rem;
  font-weight: 500;
  transition: background-color 0.2s ease;
}
.lock-submit-btn:hover {
  background-color: var(--forest-hover);
}
.lock-error-tip {
  font-size: 0.75rem;
  color: var(--rose-alert);
  min-height: 18px;
}
.lock-safe-note {
  font-size: 0.7rem;
  color: var(--text-muted);
  line-height: 1.5;
  border-top: 1px dashed var(--border-subtle);
  padding-top: 14px;
  margin-top: 6px;
}

/* 归档与删除选择项 */
.archive-action-choices {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 16px 0;
}
.choice-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  border: 1.5px solid var(--border-subtle);
  border-radius: 12px;
  background-color: var(--bg-card);
  cursor: pointer;
  transition: all 0.2s ease;
}
.choice-card:hover {
  border-color: var(--forest-primary);
  background-color: var(--forest-soft);
  transform: translateY(-1px);
}
.choice-card.danger-choice:hover {
  border-color: var(--rose-alert);
  background-color: var(--rose-soft);
}
.choice-icon {
  font-size: 1.5rem;
}
.choice-info {
  display: flex;
  flex-direction: column;
  gap: 3px;
  text-align: left;
}
.choice-info strong {
  font-size: 0.85rem;
  color: var(--text-primary);
}
.choice-info span {
  font-size: 0.72rem;
  color: var(--text-secondary);
}

/* 抽屉底部多级指令台 (2-Tier Command Bar) */
.drawer-footer-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 16px 20px;
  border-top: 1px solid var(--border-subtle);
  background-color: var(--bg-card);
  box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.03);
}

.drawer-footer-primary-row {
  display: flex;
  gap: 10px;
  width: 100%;
}

.drawer-primary-action-btn {
  flex: 1.5;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 16px;
  background: var(--forest-primary);
  color: #ffffff;
  border: 1px solid var(--forest-primary);
  border-radius: 8px;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 2px 6px rgba(16, 185, 129, 0.2);
  white-space: nowrap;
}
.drawer-primary-action-btn:hover {
  background: #0ea371;
  border-color: #0ea371;
  box-shadow: 0 4px 10px rgba(16, 185, 129, 0.3);
  transform: translateY(-1px);
}
.drawer-primary-action-btn:active {
  transform: translateY(0);
}

.drawer-secondary-action-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 14px;
  background: var(--bg-card);
  color: var(--text-primary);
  border: 1px solid var(--border-card);
  border-radius: 8px;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.drawer-secondary-action-btn:hover {
  border-color: var(--forest-primary);
  color: var(--forest-primary);
  background-color: var(--forest-soft);
}

.drawer-footer-tools-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  width: 100%;
}

.drawer-tool-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 7px 6px;
  background: var(--bg-card);
  color: var(--text-secondary);
  border: 1px solid var(--border-card);
  border-radius: 6px;
  font-size: 0.76rem;
  font-weight: 500;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.18s ease;
  text-align: center;
}
.drawer-tool-btn:hover {
  border-color: var(--forest-primary);
  color: var(--forest-primary);
  background-color: var(--forest-soft);
}

.drawer-tool-vault-btn {
  background: rgba(16, 185, 129, 0.05);
  border-color: rgba(16, 185, 129, 0.35);
  color: var(--forest-primary);
  font-weight: 600;
}
.drawer-tool-vault-btn:hover {
  background: rgba(16, 185, 129, 0.12);
  border-color: var(--forest-primary);
}

.drawer-tool-danger-btn {
  color: var(--rose-alert);
  border-color: rgba(186, 78, 78, 0.25);
  background-color: transparent;
}
.drawer-tool-danger-btn:hover {
  background-color: var(--rose-soft);
  border-color: var(--rose-alert);
}

.action-danger-btn-subtle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  border-radius: 8px;
  border: 1px solid rgba(186, 78, 78, 0.25);
  color: var(--rose-alert);
  font-size: 0.78rem;
  background-color: transparent;
  transition: all 0.2s ease;
}
.action-danger-btn-subtle:hover {
  background-color: var(--rose-soft);
  border-color: var(--rose-alert);
}

/* 审计日志列表 */
.audit-log-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 4px 0;
}
.audit-log-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 10px 14px;
  border-radius: 8px;
  background-color: var(--bg-paper-tint);
  border: 1px solid var(--border-subtle);
  font-size: 0.75rem;
}
.audit-log-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.audit-action-tag {
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 4px;
  background-color: var(--forest-soft);
  color: var(--forest-primary);
}
.audit-time {
  color: var(--text-muted);
  font-size: 0.7rem;
}

/* 体面收费收据样式 (Dignified Receipt) */
.receipt-paper {
  background-color: #FFFFFF;
  padding: 36px 32px;
  border-radius: 12px;
  border: 1px solid var(--border-subtle);
  font-family: var(--font-serif);
  color: #243528;
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: relative;
}
.receipt-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 2px solid #2F4635;
  padding-bottom: 14px;
}
.receipt-brand-title {
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.receipt-no {
  font-family: var(--font-mono);
  font-size: 0.78rem;
  color: #838F87;
}
.receipt-table-info {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.84rem;
  margin: 10px 0;
}
.receipt-table-info td {
  padding: 8px 12px;
  border: 1px solid #E5E1D5;
}
.receipt-table-info td.lbl {
  background-color: #F7F6F0;
  width: 25%;
  font-weight: 600;
}
.receipt-seal-mark {
  align-self: flex-end;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 8px 16px;
  border: 2px solid #BA4E4E;
  color: #BA4E4E;
  border-radius: 8px;
  transform: rotate(-3deg);
  font-size: 0.75rem;
  font-weight: 600;
  margin-top: 10px;
}

.receipt-seal-void {
  align-self: flex-end;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  padding: 8px 16px;
  border: 2.5px solid #DC2626;
  color: #DC2626;
  border-radius: 8px;
  transform: rotate(3deg);
  font-size: 0.8rem;
  font-weight: 800;
  margin-top: 10px;
  background: rgba(220, 38, 38, 0.05);
  box-shadow: 0 0 0 1px rgba(220, 38, 38, 0.15);
}

.receipt-seal-invalidated {
  opacity: 0.6;
  filter: grayscale(1);
  text-decoration: line-through;
  border-style: dashed;
}

@media print {
  @page {
    size: A4 portrait;
    margin: 15mm 20mm;
  }

  body {
    background: #ffffff !important;
    color: #111827 !important;
  }

  /* 隐藏所有普通网页组件、顶栏、侧边抽屉、浮动挂件、背景遮罩等 */
  body * {
    visibility: hidden;
  }

  /* 仅对打印目标卡片及其子元素赋予可见性 */
  .receipt-paper, .receipt-paper *,
  .supervision-paper, .supervision-paper * {
    visibility: visible;
  }

  /* 打印弹窗容器解除居中固定定位与滚动条截断，自适应文档流展开 */
  dialog[open] {
    position: static !important;
    display: block !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: none !important;
    max-height: none !important;
    overflow: visible !important;
    box-shadow: none !important;
  }

  dialog .dialog-card,
  dialog .dialog-body-scroll {
    overflow: visible !important;
    max-height: none !important;
    height: auto !important;
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
  }

  /* 打印时隐去弹窗头部关闭按钮与底部操作按钮 */
  dialog .dialog-header,
  dialog .dialog-actions,
  dialog .dialog-close-btn {
    display: none !important;
  }

  /* 督导脱敏简报与结案收据卡片自适应 A4 页面 */
  .supervision-paper,
  .receipt-paper {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    color: #111827 !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 11pt !important;
    line-height: 1.8 !important;
  }

  .supervision-paper h4 {
    font-size: 13pt !important;
    color: #0f172a !important;
    border-bottom: 1px solid #cbd5e1 !important;
    margin: 16pt 0 8pt 0 !important;
    page-break-after: avoid;
    break-after: avoid;
  }

  .supervision-paper p {
    font-size: 11pt !important;
    color: #334155 !important;
    margin-bottom: 8pt !important;
  }

  .supervision-paper h4,
  .supervision-paper p {
    page-break-inside: avoid;
    break-inside: avoid;
  }
}

/* ==========================================================================
   14. 全端多视口自适应流式引擎 (Full Responsive & Adaptive System)
   覆盖：4K超宽屏、笔记本全屏/非全屏窗口 (1100px-1400px)、分屏 (880px-1100px)、平板与移动端
   ========================================================================== */

/* 1. 紧凑桌面与笔记本常规窗口 (1100px - 1400px，如 MacBook 默认非全屏窗口) */
@media (max-width: 1400px) {
  .app-main-viewport {
    padding: 16px 18px 60px;
  }
  .kanban-columns-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
  }
  .kanban-column {
    padding: 11px;
    border-radius: 12px;
  }
  .case-card {
    padding: 11px 10px;
  }
  .card-client-code {
    font-size: 0.84rem;
  }
  .card-real-name {
    font-size: 0.76rem;
  }
  .crisis-badge {
    font-size: 0.64rem;
    padding: 2px 6px;
  }
  .card-footer-row {
    font-size: 0.7rem;
    gap: 4px;
  }
  .card-cycle-pill {
    font-size: 0.65rem;
    padding: 2px 5px;
  }
  .card-mini-btn {
    padding: 2px 6px;
    font-size: 0.68rem;
  }
}

/* 2. 紧凑桌面与小笔记本 (1050px - 1250px) */
@media (max-width: 1250px) {
  .global-search-btn .search-text {
    display: none;
  }
  .brand-subtitle {
    display: none;
  }
  .app-header {
    padding: 8px 14px;
    gap: 8px;
  }
  .header-actions {
    gap: 5px;
  }
  .intake-dropzone-container {
    max-width: 320px;
  }
}

/* 3. 中等屏幕与左右分屏窗口 (880px - 1100px) */
@media (max-width: 1100px) {
  .kanban-columns-grid {
    grid-template-columns: repeat(4, minmax(260px, 1fr));
    gap: 12px;
  }
  #kanbanView {
    overflow-x: auto;
    padding-bottom: 16px;
  }
  .weekly-days-grid {
    grid-template-columns: repeat(7, minmax(130px, 1fr));
  }
  .weekly-stream-container {
    overflow-x: auto;
    padding-bottom: 16px;
  }
}

/* 4. 平板与狭窄分屏 (768px - 879px) */
@media (max-width: 880px) {
  .kanban-columns-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .weekly-days-grid {
    grid-template-columns: repeat(4, 1fr);
  }
  .clinical-statusbar {
    flex-wrap: wrap;
    padding: 8px 16px 4px;
    gap: 8px;
  }
  .statusbar-center {
    order: 3;
    width: 100%;
    max-width: 100%;
    margin-top: 4px;
  }
}

/* 5. 移动端竖屏 (< 768px) */
@media (max-width: 768px) {
  .app-header {
    flex-wrap: wrap;
    padding: 10px 14px;
    gap: 8px;
  }
  .header-left-zone {
    width: 100%;
    justify-content: space-between;
  }
  .header-actions {
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 6px;
  }
  .subscription-pill-btn {
    padding: 4px 10px;
    font-size: 11px;
  }
  .kanban-columns-grid {
    grid-template-columns: 1fr;
  }
  .weekly-days-grid {
    grid-template-columns: 1fr;
  }
  .briefing-drawer {
    width: 100%;
    max-width: 100vw;
  }
}

/* ==========================================================================
   15. 禅意夜间深色模式专用超高清排印与视觉强化引擎 (Full Dark Mode Engine)
   覆盖：顶栏、状态栏、看板、卡片、周排程、闪回卡抽屉、极速速记、全局搜索与浮动时钟
   ========================================================================== */

/* 1. 顶栏导航与控制在深色模式下的沉浸感与高辨识度 (Cosmic Obsidian & Deep Space Glass) */
body.theme-dark {
  background-color: #07090E;
  background-image: 
    radial-gradient(circle at 50% -12%, rgba(56, 189, 248, 0.14) 0%, transparent 55%),
    radial-gradient(circle at 12% 28%, rgba(99, 102, 241, 0.10) 0%, transparent 45%),
    radial-gradient(circle at 88% 68%, rgba(14, 165, 233, 0.08) 0%, transparent 45%),
    radial-gradient(circle at 50% 115%, rgba(139, 92, 246, 0.07) 0%, transparent 55%),
    linear-gradient(180deg, #07090E 0%, #05070B 100%);
  background-attachment: scroll;
  color: #F8FAFC;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body.theme-dark .app-header {
  background: rgba(8, 12, 20, 0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.09);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.6), inset 0 -1px 0 rgba(255, 255, 255, 0.03);
  transform: translateZ(0);
}

body.theme-dark .brand-title {
  color: #FFFFFF;
  font-weight: 700;
  letter-spacing: -0.01em;
}

body.theme-dark .brand-subtitle {
  color: #94A3B8;
  font-weight: 500;
}

body.theme-dark .intake-dropzone {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #F8FAFC;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.05);
  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1);
}

body.theme-dark .intake-dropzone:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(56, 189, 248, 0.45);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4), 0 0 14px rgba(56, 189, 248, 0.15);
}

body.theme-dark .intake-dropzone:focus-within {
  background: rgba(255, 255, 255, 0.09);
  border-color: #38BDF8;
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.25), 0 6px 20px rgba(0, 0, 0, 0.5);
}

body.theme-dark .intake-dropzone input {
  color: #FFFFFF;
  font-weight: 500;
}

body.theme-dark .intake-dropzone input::placeholder {
  color: #94A3B8;
  opacity: 1;
}

body.theme-dark .intake-dropzone .shortcut-badge {
  background-color: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.20);
  color: #F8FAFC;
  font-weight: 600;
}

body.theme-dark .icon-tool-btn {
  background-color: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: #F8FAFC;
  font-weight: 500;
}

body.theme-dark .icon-tool-btn:hover {
  background-color: rgba(255, 255, 255, 0.14);
  color: #FFFFFF;
  border-color: rgba(255, 255, 255, 0.28);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}

body.theme-dark .global-search-btn {
  background-color: rgba(19, 28, 46, 0.82);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: #E2E8F0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

body.theme-dark .global-search-btn:hover {
  background-color: rgba(30, 41, 59, 0.95);
  color: #FFFFFF;
  border-color: #38BDF8;
  box-shadow: 0 3px 14px rgba(56, 189, 248, 0.25);
  transform: translateY(-1px);
}

body.theme-dark .global-search-btn .key-hint {
  background-color: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #F1F5F9;
}

body.theme-dark .view-switch-tabs {
  background-color: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

body.theme-dark .view-tab {
  color: #CBD5E1;
  font-weight: 500;
}

body.theme-dark .view-tab:hover {
  color: #FFFFFF;
}

body.theme-dark .view-tab.active {
  background-color: rgba(255, 255, 255, 0.16);
  color: #FFFFFF;
  font-weight: 700;
  border: 1px solid rgba(255, 255, 255, 0.20);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

body.theme-dark .primary-btn {
  background: linear-gradient(135deg, #0284C7 0%, #0369A1 100%);
  border: 1px solid rgba(56, 189, 248, 0.4);
  color: #FFFFFF !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35), 0 2px 10px rgba(2, 132, 199, 0.45), 0 0 16px rgba(56, 189, 248, 0.22);
  transition: transform 0.12s ease-out, box-shadow 0.12s ease-out, background 0.12s ease;
}
body.theme-dark .primary-btn:hover {
  background: linear-gradient(135deg, #0EA5E9 0%, #0284C7 100%);
  border-color: rgba(56, 189, 248, 0.7);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45), 0 4px 18px rgba(56, 189, 248, 0.5), 0 0 24px rgba(56, 189, 248, 0.35);
  transform: translateY(-1.5px) scale(1.02);
}
body.theme-dark .primary-btn:active {
  transform: translateY(1px) scale(0.97);
  box-shadow: 0 1px 4px rgba(2, 132, 199, 0.3);
}

body.theme-dark .privacy-shield-btn {
  background-color: rgba(16, 185, 129, 0.16);
  border: 1px solid rgba(52, 211, 153, 0.38);
  color: #34D399;
  font-weight: 600;
}

body.theme-dark .privacy-shield-btn:hover {
  background-color: rgba(16, 185, 129, 0.25);
  border-color: #34D399;
}

/* 2. 执业状态条与快捷键条在深色模式下的超高对比度 */
body.theme-dark .clinical-statusbar {
  background: rgba(15, 23, 42, 0.75);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.10);
  color: #FFFFFF;
}

body.theme-dark .breath-text {
  color: #FFFFFF;
  font-weight: 550;
}

body.theme-dark .today-sessions-pill {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.40), inset 0 1px 0 rgba(255, 255, 255, 0.08);
  color: #FFFFFF;
  font-weight: 600;
  font-size: 0.86rem;
  letter-spacing: 0.015em;
  padding: 5px 16px;
  border-radius: 999px;
  line-height: 1.45;
}

body.theme-dark .today-sessions-pill:hover {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(56, 189, 248, 0.55);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.50), 0 0 14px rgba(56, 189, 248, 0.25);
  transform: translateY(-1px);
}

body.theme-dark .today-sessions-pill strong {
  color: #34D399;
  font-weight: 800;
  margin: 0 2px;
}

body.theme-dark .today-sessions-pill span {
  color: #F1F5F9;
}

body.theme-dark .today-sessions-pill .card-real-name {
  color: #38BDF8 !important;
  font-weight: 750;
  letter-spacing: 0.01em;
}

body.theme-dark .highlight-time {
  color: #FBBF24;
  font-weight: 800;
  margin: 0 2px;
}

body.theme-dark .status-divider {
  background-color: rgba(255, 255, 255, 0.16);
}

/* 密文同步胶囊在深色模式下的呈现 */
body.theme-dark .sync-status-pill {
  background-color: rgba(16, 185, 129, 0.14);
  border: 1px solid rgba(52, 211, 153, 0.35);
  color: #34D399;
  font-weight: 600;
}

body.theme-dark .sync-status-pill .sync-text {
  color: #34D399;
  font-weight: 600;
}

body.theme-dark .sync-dot {
  background-color: #34D399;
  box-shadow: 0 0 8px rgba(52, 211, 153, 0.8);
}

body.theme-dark .sync-status-pill.status-offline {
  background-color: rgba(245, 158, 11, 0.18);
  border-color: rgba(251, 191, 36, 0.4);
  color: #FBBF24;
}
body.theme-dark .sync-status-pill.status-offline .sync-text {
  color: #FBBF24;
}
body.theme-dark .sync-status-pill.status-offline .sync-dot {
  background-color: #FBBF24;
  box-shadow: 0 0 8px rgba(251, 191, 36, 0.8);
}
body.theme-dark .sync-status-pill.status-syncing {
  background-color: rgba(2, 132, 199, 0.18);
  border-color: rgba(56, 189, 248, 0.4);
  color: #38BDF8;
}
body.theme-dark .sync-status-pill.status-syncing .sync-text {
  color: #38BDF8;
}
body.theme-dark .sync-status-pill.status-syncing .sync-dot {
  background-color: #38BDF8;
  box-shadow: 0 0 8px rgba(56, 189, 248, 0.8);
}
body.theme-dark .pwa-install-btn {
  color: #F8FAFC;
}
body.theme-dark .pwa-install-btn:hover {
  background-color: rgba(255, 255, 255, 0.12);
  color: #FFFFFF;
}

body.theme-dark .hint-item {
  color: #CBD5E1;
  font-size: 0.78rem;
  font-weight: 500;
}

body.theme-dark .hint-item kbd {
  background-color: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.24);
  color: #FFFFFF;
  font-weight: 600;
  font-size: 0.72rem;
}

/* 3. 核心周期看板泳道与个案卡片（深空晶曜态、WCAG AAA 视网膜级锐利排印） */
body.theme-dark .kanban-column {
  background: #111827;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 20px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.05);
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
  contain: layout style;
  transform: translateZ(0);
}

body.theme-dark #col-intake { border-top: 4px solid #FBBF24; box-shadow: 0 -4px 16px rgba(245, 158, 11, 0.25), 0 8px 32px rgba(0, 0, 0, 0.6); }
body.theme-dark #col-active { border-top: 4px solid #38BDF8; box-shadow: 0 -4px 16px rgba(56, 189, 248, 0.25), 0 8px 32px rgba(0, 0, 0, 0.6); }
body.theme-dark #col-maintenance { border-top: 4px solid #34D399; box-shadow: 0 -4px 16px rgba(16, 185, 129, 0.25), 0 8px 32px rgba(0, 0, 0, 0.6); }
body.theme-dark #col-concluded { border-top: 4px solid #A78BFA; box-shadow: 0 -4px 16px rgba(139, 92, 246, 0.25), 0 8px 32px rgba(0, 0, 0, 0.6); }

body.theme-dark .kanban-column:hover {
  background: rgba(22, 31, 50, 0.92);
  border-color: rgba(255, 255, 255, 0.2);
  box-shadow: 0 12px 38px rgba(0, 0, 0, 0.7);
}

body.theme-dark .kanban-column.drag-over {
  background-color: rgba(30, 41, 59, 0.88) !important;
  border-color: rgba(56, 189, 248, 0.65) !important;
  box-shadow: 0 0 0 2px rgba(56, 189, 248, 0.35), 0 16px 40px rgba(0, 0, 0, 0.65) !important;
  transform: translateY(-2px);
}

body.theme-dark .col-name {
  color: #FFFFFF;
  font-weight: 650;
  font-size: 0.95rem;
  letter-spacing: -0.015em;
}

body.theme-dark .col-count {
  background-color: rgba(255, 255, 255, 0.10);
  color: #FFFFFF;
  font-weight: 600;
  border: 1px solid rgba(255, 255, 255, 0.16);
}

body.theme-dark #col-intake .col-count {
  background-color: rgba(245, 158, 11, 0.16);
  color: #FBBF24;
  border-color: rgba(251, 191, 36, 0.32);
}

body.theme-dark #col-active .col-count {
  background-color: rgba(59, 130, 246, 0.16);
  color: #60A5FA;
  border-color: rgba(96, 165, 250, 0.32);
}

body.theme-dark #col-stretch .col-count {
  background-color: rgba(16, 185, 129, 0.16);
  color: #34D399;
  border-color: rgba(52, 211, 153, 0.32);
}

body.theme-dark #col-concluded .col-count {
  background-color: rgba(139, 92, 246, 0.16);
  color: #A78BFA;
  border-color: rgba(167, 139, 250, 0.32);
}

/* 泳道副标题：舒适沉稳冷灰，拉开主次视觉焦点，消除刺眼光晕与视觉疲劳 */
body.theme-dark .col-desc {
  color: #94A3B8;
  font-size: 0.74rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.005em;
}

/* 个案卡片在深色模式下的超高清晰度排印 (深空黑曜石晶曜板) */
body.theme-dark .case-card {
  background-color: #131C2E;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.1);
  will-change: transform, box-shadow;
  transform: translateZ(0);
  transition: transform 0.14s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.14s cubic-bezier(0.2, 0.8, 0.2, 1), border-color 0.12s ease;
}

body.theme-dark .case-card:hover {
  background-color: #19243B;
  border-color: #38BDF8;
  box-shadow: 0 20px 44px -8px rgba(0, 0, 0, 0.9), 0 0 20px rgba(56, 189, 248, 0.32), 0 0 0 1.5px rgba(56, 189, 248, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.25);
  transform: translateY(-5px) scale(1.01) translateZ(0);
}

body.theme-dark .case-card:active {
  transform: translateY(-1px) scale(0.99) translateZ(0);
  transition-duration: 0.06s;
}

body.theme-dark .case-card.keyboard-focused {
  border-color: #38BDF8;
  box-shadow: 0 0 0 2px rgba(56, 189, 248, 0.45), 0 12px 36px rgba(0, 0, 0, 0.65);
}

body.theme-dark .case-card.just-dropped {
  animation: cardDropSpringDark 0.72s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}
@keyframes cardDropSpringDark {
  0% { transform: scale(0.95) translateY(-6px); box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.5); }
  50% { transform: scale(1.02) translateY(-1px); }
  100% { transform: scale(1) translateY(0); }
}

/* 卡片顶行：代号与姓名、危机微光呼吸彩珠 */
body.theme-dark .card-client-code {
  background: rgba(56, 189, 248, 0.10);
  border: 1px solid rgba(56, 189, 248, 0.25);
  color: #38BDF8;
  font-weight: 650;
  font-size: 0.74rem;
  letter-spacing: 0.02em;
  padding: 2px 7.5px;
  border-radius: 6px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

body.theme-dark .card-real-name {
  color: #F8FAFC !important;
  font-weight: 600;
  font-size: 0.92rem;
  letter-spacing: -0.01em;
}

/* 核心主诉：柔和瓷白 Slate-100，500 适中字重杜绝发虚光晕，搭配微光天蓝引语线 */
body.theme-dark .card-issue-text {
  color: #F1F5F9 !important;
  font-weight: 500;
  font-size: 0.90rem;
  line-height: 1.62;
  letter-spacing: 0.005em;
  border-left: 2.5px solid rgba(56, 189, 248, 0.45);
  border-radius: 0 8px 8px 0;
  padding: 8px 12px;
  margin: 10px 0 12px 0;
  background: rgba(56, 189, 248, 0.07);
  text-shadow: none !important;
  transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

body.theme-dark .case-card:hover .card-issue-text {
  border-left-color: #38BDF8;
  background: rgba(56, 189, 248, 0.14);
}

/* 心理动力学防御机制微胶囊：克制典雅的深色 Slate 曜石药丸，悬浮微光提亮 */
body.theme-dark .capsule-tag {
  background-color: rgba(255, 255, 255, 0.08);
  color: #94A3B8;
  border: 1px solid rgba(255, 255, 255, 0.14);
  font-size: 0.70rem;
  font-weight: 500;
  padding: 3px 9px;
  border-radius: 6px;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: transform 0.10s ease-out, background-color 0.10s ease-out, border-color 0.10s ease-out, color 0.10s ease-out, box-shadow 0.10s ease-out;
}

body.theme-dark .capsule-tag:hover {
  background-color: #38BDF8;
  border-color: #38BDF8;
  color: #07090E;
  font-weight: 700;
  transform: translateY(-2px) scale(1.05);
  box-shadow: 0 4px 14px rgba(56, 189, 248, 0.4);
}

/* 危机与风险标签深色专属温润调色 */
body.theme-dark .badge-low {
  background-color: rgba(16, 185, 129, 0.10);
  color: #34D399;
  border: 1px solid rgba(16, 185, 129, 0.24);
  font-weight: 500;
  font-size: 0.68rem;
}

body.theme-dark .badge-medium {
  background-color: rgba(245, 158, 11, 0.12);
  color: #FBBF24;
  border: 1px solid rgba(245, 158, 11, 0.26);
  font-weight: 500;
  font-size: 0.68rem;
}

body.theme-dark .badge-high {
  background-color: rgba(239, 68, 68, 0.16);
  color: #F87171;
  border: 1px solid rgba(239, 68, 68, 0.34);
  font-weight: 600;
  font-size: 0.68rem;
}

/* 卡片底栏 */
body.theme-dark .card-footer-row {
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  color: #94A3B8;
  font-size: 0.74rem;
  padding-top: 10px;
}

body.theme-dark .card-schedule-time {
  color: #CBD5E1;
  font-weight: 500;
  font-size: 0.74rem;
}

body.theme-dark .card-schedule-time svg {
  color: #38BDF8;
  stroke-width: 2.2;
}

/* 课时进度胶囊（告别暗灰不可见，黑曜石底配明晰银白字） */
body.theme-dark .card-cycle-pill {
  background-color: rgba(255, 255, 255, 0.05);
  color: #CBD5E1;
  border: 1px solid rgba(255, 255, 255, 0.09);
  font-weight: 500;
  font-size: 0.68rem;
  padding: 2px 7px;
  border-radius: 5px;
}

body.theme-dark .card-cycle-pill.urgent-renewal {
  background-color: rgba(245, 158, 11, 0.20);
  color: #FDE68A;
  border-color: rgba(251, 191, 36, 0.45);
  font-weight: 650;
}

/* 悬浮微操作按钮（闪回、速记）：高对比白字透光底，悬浮点亮深海宝蓝高光 */
body.theme-dark .card-mini-btn {
  background-color: rgba(56, 189, 248, 0.12);
  color: #38BDF8;
  border: 1px solid rgba(56, 189, 248, 0.3);
  font-weight: 600;
  font-size: 0.71rem;
  padding: 3px 9px;
  border-radius: 6px;
  cursor: pointer;
  transition: transform 0.10s ease-out, background-color 0.10s ease-out, border-color 0.10s ease-out, color 0.10s ease-out, box-shadow 0.10s ease-out;
}

body.theme-dark .card-mini-btn:hover {
  background-color: #38BDF8 !important;
  color: #07090E !important;
  border-color: #38BDF8 !important;
  font-weight: 700;
  box-shadow: 0 4px 16px rgba(56, 189, 248, 0.45);
  transform: translateY(-2px) scale(1.08);
}

body.theme-dark .card-mini-btn:active {
  transform: translateY(0.5px) scale(0.95);
}

/* 泳道底部拖拽推进槽占位符（完美覆写浅色模式的乳白底，与深邃夜景无缝融合） */
body.theme-dark .column-cards-container::after {
  border: 1.5px dashed rgba(255, 255, 255, 0.18);
  color: #CBD5E1;
  font-size: 0.78rem;
  font-weight: 600;
  background: rgba(255, 255, 255, 0.04);
}

body.theme-dark .kanban-column:hover .column-cards-container::after {
  border-color: rgba(56, 189, 248, 0.45);
  color: #38BDF8;
  background: rgba(56, 189, 248, 0.10);
  box-shadow: 0 0 16px rgba(56, 189, 248, 0.15);
}

/* 空白泳道占位符 */
body.theme-dark .col-empty-placeholder {
  background-color: rgba(255, 255, 255, 0.04);
  border: 1px dashed rgba(255, 255, 255, 0.18);
  color: #CBD5E1;
  font-weight: 550;
}

body.theme-dark .col-empty-placeholder:hover {
  background-color: rgba(56, 189, 248, 0.08);
  border-color: #38BDF8;
  color: #38BDF8;
}

/* 4. 周排程视图 (深空晶曜板与高对比度排期) */
body.theme-dark .weekly-stream-container {
  background-color: rgba(13, 18, 30, 0.90);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 18px;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.65), inset 0 1px 0 rgba(255, 255, 255, 0.05);
  transform: translateZ(0);
}

body.theme-dark .weekly-header-bar {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

body.theme-dark .week-title-text {
  color: #FFFFFF;
  font-weight: 700;
}

body.theme-dark .nav-arrow {
  background-color: rgba(255, 255, 255, 0.08);
  color: #E2E8F0;
  border: 1px solid rgba(255, 255, 255, 0.14);
}

body.theme-dark .nav-arrow:hover {
  background-color: rgba(255, 255, 255, 0.16);
  color: #FFFFFF;
}

body.theme-dark .today-jump-btn {
  background-color: rgba(56, 189, 248, 0.16);
  color: #38BDF8;
  border: 1px solid rgba(56, 189, 248, 0.35);
}

body.theme-dark .today-jump-btn:hover {
  background-color: #2563EB;
  color: #FFFFFF;
}

body.theme-dark .weekly-stats-badge {
  color: #CBD5E1;
}

body.theme-dark .weekly-day-col {
  background: rgba(18, 25, 41, 0.65);
  border: 1px solid rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(12px);
}

body.theme-dark .weekly-day-col:hover {
  border-color: rgba(255, 255, 255, 0.14);
}

body.theme-dark .weekly-day-col.is-today {
  background: rgba(56, 189, 248, 0.06);
  border: 1.5px solid rgba(56, 189, 248, 0.4);
  box-shadow: 0 4px 20px rgba(56, 189, 248, 0.12);
}

body.theme-dark .day-header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

body.theme-dark .day-name {
  color: #94A3B8;
}

body.theme-dark .day-date {
  color: #FFFFFF;
}

body.theme-dark .weekly-day-col.is-today .day-date {
  color: #38BDF8;
}

body.theme-dark .stream-slot-card {
  background-color: rgba(18, 25, 41, 0.88);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

body.theme-dark .stream-slot-card::before {
  background: #38BDF8;
  opacity: 0.85;
}

body.theme-dark .stream-slot-card:hover {
  background-color: rgba(24, 35, 58, 0.95);
  border-color: rgba(56, 189, 248, 0.6);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.55), 0 0 16px rgba(56, 189, 248, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

body.theme-dark .slot-time {
  color: #38BDF8;
  font-weight: 700;
}

body.theme-dark .slot-client {
  color: #FFFFFF;
  font-weight: 600;
}

body.theme-dark .day-slots-container div[style*="text-muted"] {
  color: #94A3B8 !important;
}

/* 5. 闪回卡抽屉 (深空黑曜石，高辨识度与极佳呼吸感) */
body.theme-dark .briefing-drawer {
  background-color: #0D1322;
  border-left: 1px solid rgba(255, 255, 255, 0.12);
  color: #F8FAFC;
  box-shadow: -8px 0 48px rgba(0, 0, 0, 0.85);
}

body.theme-dark .drawer-header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.10);
  background-color: rgba(13, 19, 34, 0.95);
}

body.theme-dark .drawer-client-id {
  color: #FFFFFF;
  font-weight: 700;
}

body.theme-dark .real-name-tag {
  color: #F1F5F9;
  font-weight: 600;
}

body.theme-dark .drawer-client-sub {
  color: #E2E8F0 !important;
  font-weight: 600;
  font-size: 0.82rem;
}

body.theme-dark .drawer-close-btn {
  color: #94A3B8;
}

body.theme-dark .drawer-close-btn:hover {
  background-color: rgba(255, 255, 255, 0.1);
  color: #FFFFFF;
  transform: scale(1.05);
}

body.theme-dark .drawer-close-btn:active {
  transform: scale(0.95);
}

body.theme-dark .drawer-card {
  background-color: #131C2E;
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 12px;
  color: #F8FAFC;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

body.theme-dark .drawer-card:hover {
  border-color: rgba(255, 255, 255, 0.18);
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.35);
}

/* 核心闪回要点大卡片：深空黑曜石搭配天蓝微光引语边框与内嵌微胶囊清单 */
body.theme-dark .drawer-card.highlight-card {
  background: linear-gradient(145deg, #131E33 0%, #0F172A 100%) !important;
  border: 1px solid rgba(56, 189, 248, 0.35) !important;
  border-left: 4px solid #38BDF8 !important;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.45), 0 0 24px rgba(56, 189, 248, 0.08);
}

body.theme-dark .drawer-card.highlight-card .drawer-card-title {
  color: #38BDF8;
  font-weight: 700;
  letter-spacing: 0.02em;
}

body.theme-dark .flash-bullet-list {
  color: #F8FAFC;
  gap: 8px;
}

body.theme-dark .flash-bullet-list li {
  padding: 8px 12px;
  background: rgba(255, 255, 255, 0.025);
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  line-height: 1.62;
  font-size: 0.84rem;
  transition: all 0.18s ease;
}

body.theme-dark .flash-bullet-list li:hover {
  background: rgba(255, 255, 255, 0.045);
  border-color: rgba(56, 189, 248, 0.25);
}

body.theme-dark .flash-bullet-list strong {
  color: #7DD3FC;
  font-weight: 650;
  margin-right: 4px;
}

body.theme-dark .defense-capsules-cloud .capsule-tag {
  background-color: rgba(255, 255, 255, 0.08);
  color: #BAE6FD;
  border: 1px solid rgba(255, 255, 255, 0.14);
}

body.theme-dark .defense-capsules-cloud .active-tag {
  background-color: rgba(56, 189, 248, 0.20);
  color: #38BDF8;
  border: 1px solid rgba(56, 189, 248, 0.4);
}

body.theme-dark .alliance-meta {
  color: #CBD5E1;
}

body.theme-dark .alliance-score {
  color: #34D399;
  font-weight: 700;
}

body.theme-dark .alliance-bar-track {
  background-color: rgba(255, 255, 255, 0.1);
}

body.theme-dark .pack-progress-row {
  background-color: rgba(255, 255, 255, 0.06);
}

body.theme-dark .pack-val {
  color: #FFFFFF;
  font-weight: 700;
}

body.theme-dark .pack-val.highlight-danger {
  color: #FBBF24;
}

body.theme-dark .pack-lbl {
  color: #CBD5E1;
}

/* 微信体面续约文案专属暗夜高辨识调色 */
body.theme-dark .renewal-template-box {
  background-color: rgba(251, 191, 36, 0.12);
  border: 1px solid rgba(251, 191, 36, 0.3);
}

body.theme-dark .template-header {
  color: #FBBF24;
}

body.theme-dark .copy-template-btn {
  background-color: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(251, 191, 36, 0.4);
  color: #FDE68A;
}

body.theme-dark .copy-template-btn:hover {
  background-color: rgba(251, 191, 36, 0.25);
  color: #FFFFFF;
}

body.theme-dark .template-text {
  color: #FEF3C7; /* 醒目高对比淡金白，彻底告别暗沉模糊 */
  line-height: 1.6;
}

body.theme-dark .timeline-item {
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid rgba(255, 255, 255, 0.07) !important;
  border-left: 3px solid #38BDF8 !important;
  border-radius: 8px;
  padding: 11px 15px;
  position: relative;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
body.theme-dark .timeline-item:hover {
  background: rgba(255, 255, 255, 0.055) !important;
  border-color: rgba(56, 189, 248, 0.35) !important;
  border-left-color: #60A5FA !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4), 0 0 14px rgba(56, 189, 248, 0.12);
  transform: translateY(-1px);
}
body.theme-dark .timeline-item::before {
  display: none !important;
}

body.theme-dark .timeline-meta {
  color: #CBD5E1 !important;
}
body.theme-dark .timeline-date-label {
  color: #E2E8F0 !important;
  font-weight: 600;
  font-size: 0.78rem;
}
body.theme-dark .mini-text-btn {
  background: rgba(56, 189, 248, 0.16) !important;
  border: 1px solid rgba(56, 189, 248, 0.45) !important;
  color: #7DD3FC !important;
  padding: 2px 8px;
  border-radius: 4px;
  font-weight: 600;
  font-size: 0.72rem;
  transition: all 0.18s ease;
}
body.theme-dark .mini-text-btn:hover {
  background: #2563EB !important;
  border-color: #38BDF8 !important;
  color: #FFFFFF !important;
  box-shadow: 0 0 10px rgba(56, 189, 248, 0.45);
}

body.theme-dark .timeline-row {
  color: #F8FAFC !important;
  font-size: 0.83rem;
  line-height: 1.65;
  margin-top: 6px;
}
body.theme-dark .note-text-content {
  color: #F8FAFC !important; /* 超清纯净瓷白，字字清晰刀刻般锐利，绝无昏暗发灰 */
  font-weight: 500;
  font-size: 0.84rem;
  line-height: 1.65;
}

body.theme-dark .note-chip-focus {
  background: rgba(56, 189, 248, 0.22) !important;
  color: #38BDF8 !important;
  border: 1px solid rgba(56, 189, 248, 0.55) !important;
  font-weight: 700;
}
body.theme-dark .note-chip-state {
  background: rgba(148, 163, 184, 0.22) !important;
  color: #F1F5F9 !important;
  border: 1px solid rgba(148, 163, 184, 0.45) !important;
  font-weight: 650;
}
body.theme-dark .note-chip-counter {
  background: rgba(167, 139, 250, 0.26) !important;
  color: #DDD6FE !important; /* 彻底替换难以辨认的黑紫，改为清晰薰衣草淡白紫 */
  border: 1px solid rgba(167, 139, 250, 0.6) !important;
  font-weight: 700;
}
body.theme-dark .note-text-counter {
  color: #DDD6FE !important; /* 醒目高对比淡紫，清清楚楚绝不发黑 */
  font-weight: 600;
}
body.theme-dark .note-chip-setting {
  background: rgba(245, 158, 11, 0.24) !important;
  color: #FCD34D !important;
  border: 1px solid rgba(251, 191, 36, 0.55) !important;
  font-weight: 700;
}
body.theme-dark .note-text-setting {
  color: #FCD34D !important;
  font-weight: 600;
}
body.theme-dark .note-chip-homework {
  background: rgba(52, 211, 153, 0.24) !important;
  color: #6EE7B7 !important;
  border: 1px solid rgba(52, 211, 153, 0.55) !important;
  font-weight: 700;
}
body.theme-dark .note-text-homework {
  color: #6EE7B7 !important; /* 翡翠生机绿，清晰可辨 */
  font-weight: 600;
}

body.theme-dark .drawer-secondary-action-btn {
  background-color: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  color: #FFFFFF !important;
  font-weight: 650;
}
body.theme-dark .drawer-secondary-action-btn:hover {
  background-color: rgba(56, 189, 248, 0.22) !important;
  border-color: #38BDF8 !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.5);
}

body.theme-dark .drawer-tool-btn {
  background-color: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  color: #F1F5F9 !important;
  font-weight: 600;
}
body.theme-dark .drawer-tool-btn:hover {
  background-color: rgba(255, 255, 255, 0.16) !important;
  border-color: rgba(255, 255, 255, 0.35) !important;
  color: #FFFFFF !important;
}

body.theme-dark .action-outline-btn {
  background-color: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #F8FAFC;
}

body.theme-dark .action-outline-btn:hover {
  background-color: rgba(255, 255, 255, 0.16);
  color: #FFFFFF;
  border-color: #38BDF8;
}

/* 6. 全局弹窗、极速速记与新建个案 (深空黑曜石高阶暗黑质感) */
body.theme-dark .dialog-card,
body.theme-dark .modal-card {
  background-color: #0F172A;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 22px;
  color: #F8FAFC;
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.9), inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

body.theme-dark .dialog-header,
body.theme-dark .modal-header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.10);
}

body.theme-dark .dialog-title,
body.theme-dark .modal-title {
  color: #FFFFFF;
  font-weight: 700;
}

body.theme-dark .dialog-subtitle {
  color: #CBD5E1;
  font-weight: 500;
}

body.theme-dark .sub-label-note {
  color: #94A3B8;
}

body.theme-dark .form-label {
  color: #F8FAFC;
  font-weight: 600;
}

body.theme-dark .form-input,
body.theme-dark .form-textarea,
body.theme-dark .form-select {
  background-color: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #FFFFFF;
  font-size: 0.84rem;
}

body.theme-dark .form-input:focus,
body.theme-dark .form-textarea:focus,
body.theme-dark .form-select:focus {
  border-color: #38BDF8;
  background-color: rgba(255, 255, 255, 0.10);
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.25);
}

/* 暗黑模式输入框提示文字 (WCAG AAA 标准，告别灰暗模糊) */
body.theme-dark .form-input::placeholder,
body.theme-dark .form-textarea::placeholder {
  color: #94A3B8;
  opacity: 0.95;
}

body.theme-dark .form-select option {
  background-color: #131C2E;
  color: #FFFFFF;
}

/* 1. 防御机制微胶囊 (暗黑模式超高对比 · 翡翠流光晶体) */
body.theme-dark .tag-opt {
  background-color: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.22);
  color: #F8FAFC !important;
  font-weight: 500;
}

body.theme-dark .tag-opt:hover {
  background-color: rgba(16, 185, 129, 0.18);
  border-color: #34D399;
  color: #FFFFFF !important;
}

body.theme-dark .tag-opt.selected {
  background: linear-gradient(135deg, #10B981 0%, #059669 100%) !important;
  border-color: #34D399 !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  box-shadow: 0 0 14px rgba(16, 185, 129, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
  transform: translateY(-1px);
}
body.theme-dark .tag-opt.selected::before {
  content: '✓ ';
  font-weight: 800;
  color: #E6FFFA;
  margin-right: 3px;
}

/* 2. 咨询师反移情微胶囊 (暗黑模式雅致紫晶流光 · 潜意识雷达) */
body.theme-dark .counter-tag-opt {
  background-color: rgba(139, 92, 246, 0.16);
  border: 1px solid rgba(167, 139, 250, 0.38);
  color: #DDD6FE !important;
  font-weight: 500;
}

body.theme-dark .counter-tag-opt:hover {
  background-color: rgba(139, 92, 246, 0.3);
  border-color: #C4B5FD;
  color: #FFFFFF !important;
}

body.theme-dark .counter-tag-opt.selected {
  background: linear-gradient(135deg, #8B5CF6 0%, #7C3AED 100%) !important;
  border-color: #A78BFA !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  box-shadow: 0 0 14px rgba(139, 92, 246, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
  transform: translateY(-1px);
}
body.theme-dark .counter-tag-opt.selected::before {
  content: '✓ ';
  font-weight: 800;
  color: #F3E8FF;
  margin-right: 3px;
}

/* 3. 会谈设置微胶囊 (暗黑模式暖琥珀流光 · 边界守护) */
body.theme-dark .setting-tag-opt {
  background-color: rgba(245, 158, 11, 0.14);
  border: 1px solid rgba(245, 158, 11, 0.35);
  color: #FDE68A !important;
  font-weight: 500;
}

body.theme-dark .setting-tag-opt:hover {
  background-color: rgba(245, 158, 11, 0.25);
  border-color: #FBBF24;
  color: #FFFFFF !important;
}

body.theme-dark .setting-tag-opt.selected {
  background: linear-gradient(135deg, #D97706 0%, #B45309 100%) !important;
  border-color: #F59E0B !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  box-shadow: 0 0 14px rgba(217, 119, 6, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
  transform: translateY(-1px);
}
body.theme-dark .setting-tag-opt.selected::before {
  content: '✓ ';
  font-weight: 800;
  color: #FEF3C7;
  margin-right: 3px;
}

/* 4. 智能提取微工具条在暗黑模式下的温润调色 */
body.theme-dark .smart-intake-bar {
  background: rgba(56, 189, 248, 0.08) !important;
  border-color: rgba(56, 189, 248, 0.25) !important;
}
body.theme-dark #labelToggleNoteIntake {
  color: #38BDF8 !important;
}
body.theme-dark #toggleNoteIntakePanelBtn {
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: rgba(255, 255, 255, 0.20) !important;
  color: #38BDF8 !important;
}
body.theme-dark #toggleNoteIntakePanelBtn:hover {
  background: rgba(56, 189, 248, 0.22) !important;
  color: #FFFFFF !important;
}

/* 5. 工作同盟定性胶囊在暗黑模式下的超清调色 */
body.theme-dark .score-slider {
  accent-color: #38BDF8;
}
body.theme-dark .score-num {
  color: #38BDF8;
  font-weight: 700;
}
body.theme-dark .alliance-state-badge.state-excellent {
  background: rgba(16, 185, 129, 0.2);
  border: 1px solid rgba(52, 211, 153, 0.45);
  color: #6EE7B7;
}
body.theme-dark .alliance-state-badge.state-good {
  background: rgba(56, 189, 248, 0.18);
  border: 1px solid rgba(56, 189, 248, 0.40);
  color: #7DD3FC;
}
body.theme-dark .alliance-state-badge.state-fair {
  background: rgba(245, 158, 11, 0.2);
  border: 1px solid rgba(251, 191, 36, 0.45);
  color: #FDE68A;
}
body.theme-dark .alliance-state-badge.state-poor {
  background: rgba(239, 68, 68, 0.22);
  border: 1px solid rgba(248, 113, 113, 0.5);
  color: #FCA5A5;
}
body.theme-dark #allianceRuptureAlert {
  background: rgba(245, 158, 11, 0.2);
  border: 1px solid rgba(251, 191, 36, 0.5);
  color: #FEF3C7;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.45);
}

/* 6. 顺滑细轨滚动条与底部吸底阴影提示 */
.dialog-form-scrollable::-webkit-scrollbar {
  width: 6px;
}
.dialog-form-scrollable::-webkit-scrollbar-track {
  background: transparent;
}
.dialog-form-scrollable::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.15);
  border-radius: 4px;
}
body.theme-dark .dialog-form-scrollable::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.28);
}
body.theme-dark .dialog-actions {
  background-color: #0F172A;
  border-top: 1px solid rgba(255, 255, 255, 0.10);
  box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.6);
}

body.theme-dark .btn-danger-text {
  background: rgba(239, 68, 68, 0.15);
  border: 1px solid rgba(239, 68, 68, 0.35);
  color: #F87171;
}
body.theme-dark .btn-danger-text:hover {
  background: #EF4444;
  border-color: #EF4444;
  color: #FFFFFF !important;
  box-shadow: 0 4px 14px rgba(239, 68, 68, 0.4);
}
body.theme-dark .note-client-chip {
  background: rgba(56, 189, 248, 0.15);
  color: #38BDF8;
  border-color: rgba(56, 189, 248, 0.35);
}
body.theme-dark .note-session-chip {
  background: rgba(52, 211, 153, 0.15);
  color: #34D399;
  border-color: rgba(52, 211, 153, 0.35);
}
body.theme-dark .note-date-chip {
  color: #CBD5E1;
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.14);
}

body.theme-dark .smart-parse-btn {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.22) 0%, rgba(5, 150, 105, 0.3) 100%);
  border: 1px solid rgba(52, 211, 153, 0.45);
  color: #6ee7b7;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
body.theme-dark .smart-parse-btn:hover {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.35) 0%, rgba(5, 150, 105, 0.48) 100%);
  border-color: #6ee7b7;
  color: #ecfdf5;
  box-shadow: 0 4px 16px rgba(16, 185, 129, 0.3);
}
body.theme-dark .smart-parse-btn.is-success {
  background: linear-gradient(135deg, #059669 0%, #047857 100%);
  color: #ffffff;
  border-color: #34d399;
}
body.theme-dark .fill-sample-pill-btn {
  background: rgba(52, 211, 153, 0.1);
  border-color: rgba(52, 211, 153, 0.3);
  color: #6ee7b7;
}
body.theme-dark .fill-sample-pill-btn:hover {
  background: rgba(52, 211, 153, 0.2);
  color: #a7f3d0;
}
body.theme-dark .field-pulse-highlight {
  animation-name: fieldPulseHighlightDark;
}
@keyframes fieldPulseHighlightDark {
  0% {
    background-color: rgba(16, 185, 129, 0.28);
    border-color: #34d399;
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.35);
    transform: scale(1.008);
  }
  100% {
    background-color: #131C2E;
    border-color: rgba(255, 255, 255, 0.15);
    box-shadow: none;
    transform: scale(1);
  }
}

body.theme-dark .dialog-close-btn {
  color: #94A3B8;
}
body.theme-dark .dialog-close-btn:hover {
  background-color: rgba(255, 255, 255, 0.1);
  color: #FFFFFF;
  transform: scale(1.05);
}
body.theme-dark .dialog-close-btn:active {
  transform: scale(0.95);
}

body.theme-dark .btn-secondary {
  background-color: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #F8FAFC;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

body.theme-dark .btn-secondary:hover {
  background-color: rgba(255, 255, 255, 0.16);
  border-color: rgba(255, 255, 255, 0.25);
  color: #FFFFFF;
  transform: translateY(-1px);
}

body.theme-dark .btn-secondary:active {
  transform: translateY(0) scale(0.98);
}

body.theme-dark .btn-primary {
  background: linear-gradient(135deg, #0284C7 0%, #0369A1 100%);
  border: 1px solid rgba(56, 189, 248, 0.35);
  color: #FFFFFF !important;
  box-shadow: 0 2px 10px rgba(2, 132, 199, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.25);
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

body.theme-dark .btn-primary:hover {
  background: linear-gradient(135deg, #0EA5E9 0%, #0284C7 100%);
  border-color: rgba(56, 189, 248, 0.6);
  box-shadow: 0 6px 20px rgba(56, 189, 248, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.35);
  transform: translateY(-1.5px);
}

body.theme-dark .btn-primary:active {
  transform: translateY(0) scale(0.98);
}

/* 7. 全局检索 (Cmd+K) 面板 */
body.theme-dark .modal-search::backdrop {
  background-color: rgba(3, 7, 18, 0.75);
  backdrop-filter: blur(14px) saturate(180%);
  -webkit-backdrop-filter: blur(14px) saturate(180%);
}

body.theme-dark .search-dialog-box {
  background-color: #0B1120;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 30px 80px -12px rgba(0, 0, 0, 0.85), 0 0 0 1px rgba(255, 255, 255, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

body.theme-dark .search-input-wrap {
  background-color: #0B1120;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

body.theme-dark .search-input-icon {
  color: #38BDF8;
}

body.theme-dark .search-input-wrap:focus-within .search-input-icon {
  color: #7DD3FC;
}

body.theme-dark .search-input-wrap input {
  background: transparent;
  color: #F8FAFC;
}

body.theme-dark .search-input-wrap input::placeholder {
  color: #64748B;
}

body.theme-dark .search-esc-badge kbd {
  background-color: #1E293B;
  color: #F8FAFC;
  border: 1px solid #475569;
  box-shadow: 0 1.5px 0 #334155;
  font-size: 11px;
  font-weight: 700;
}

body.theme-dark .search-results-list::-webkit-scrollbar-thumb {
  background-color: rgba(255, 255, 255, 0.2);
}

body.theme-dark .search-result-item {
  background-color: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

body.theme-dark .search-result-item:hover,
body.theme-dark .search-result-item.selected {
  background-color: #1E293B;
  border-color: rgba(56, 189, 248, 0.5);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5);
}

body.theme-dark .search-item-code {
  color: #38BDF8;
  background-color: rgba(56, 189, 248, 0.16);
  border: 1px solid rgba(56, 189, 248, 0.36);
  font-size: 13px;
  font-weight: 700;
}

body.theme-dark .search-item-real {
  color: #FFFFFF;
  font-size: 15px;
  font-weight: 600;
}

body.theme-dark .search-item-age {
  color: #CBD5E1;
  font-size: 13px;
  font-weight: 500;
}

body.theme-dark .search-item-stage.stage-intake {
  background: rgba(245, 158, 11, 0.22) !important;
  color: #FCD34D !important;
  border: 1px solid rgba(245, 158, 11, 0.5) !important;
  font-weight: 600;
  box-shadow: none !important;
}

body.theme-dark .search-item-stage.stage-active {
  background: rgba(56, 189, 248, 0.22) !important;
  color: #7DD3FC !important;
  border: 1px solid rgba(56, 189, 248, 0.5) !important;
  font-weight: 600;
  box-shadow: none !important;
}

body.theme-dark .search-item-stage.stage-maintenance {
  background: rgba(16, 185, 129, 0.22) !important;
  color: #6EE7B7 !important;
  border: 1px solid rgba(16, 185, 129, 0.5) !important;
  font-weight: 600;
  box-shadow: none !important;
}

body.theme-dark .search-item-stage.stage-concluded {
  background: rgba(168, 85, 247, 0.22) !important;
  color: #D8B4FE !important;
  border: 1px solid rgba(168, 85, 247, 0.5) !important;
  font-weight: 600;
  box-shadow: none !important;
}

body.theme-dark .search-item-sub {
  color: #E2E8F0;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
}

body.theme-dark .search-item-focus-label {
  color: #38BDF8;
  font-weight: 700;
  font-size: 13px;
}

body.theme-dark .search-item-time {
  color: #7DD3FC;
  background-color: rgba(56, 189, 248, 0.16);
  border: 1px solid rgba(56, 189, 248, 0.32);
  font-size: 13px;
  font-weight: 600;
}

body.theme-dark .search-item-enter-hint {
  color: #38BDF8;
  font-size: 12px;
  font-weight: 700;
}

body.theme-dark .search-footer-hint {
  background-color: rgba(15, 23, 42, 0.6);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  color: #CBD5E1;
  font-size: 13px;
}

body.theme-dark .search-count-pill {
  background-color: rgba(255, 255, 255, 0.1);
  color: #F1F5F9;
  font-size: 12px;
  font-weight: 600;
}

body.theme-dark .search-count-pill strong {
  color: #38BDF8;
  font-weight: 700;
}

body.theme-dark .search-footer-right span {
  color: #CBD5E1;
  font-size: 12px;
  font-weight: 500;
}

body.theme-dark .search-footer-hint kbd {
  background-color: #1E293B;
  color: #FFFFFF;
  border-color: #64748B;
  box-shadow: 0 1px 0 #475569;
  font-size: 11px;
  font-weight: 700;
}

body.theme-dark .search-empty-icon {
  background-color: rgba(56, 189, 248, 0.12);
  color: #38BDF8;
}

body.theme-dark .search-empty-title {
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 600;
}

body.theme-dark .search-empty-sub {
  color: #CBD5E1;
  font-size: 13px;
}

/* 8. 督导简报与收据纸质版面 */
body.theme-dark .supervision-paper {
  background-color: #131C2E;
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #F8FAFC;
}

body.theme-dark .supervision-paper h4 {
  color: #38BDF8;
  border-bottom: 1px solid rgba(255, 255, 255, 0.10);
}

body.theme-dark .receipt-paper {
  background-color: #131C2E;
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: #F8FAFC;
}

body.theme-dark .receipt-header-row {
  border-bottom: 2px solid #38BDF8;
}

body.theme-dark .receipt-brand-title {
  color: #FFFFFF;
}

body.theme-dark .receipt-no {
  color: #94A3B8;
}

body.theme-dark .receipt-table-info td {
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #F8FAFC;
}

body.theme-dark .receipt-table-info td.lbl {
  background-color: rgba(255, 255, 255, 0.05);
  color: #CBD5E1;
}

/* 9. 正念过渡屏与呼吸时钟 (Dark Mode Deep Cosmic Sanctuary) */
body.theme-dark .decompression-screen {
  background: radial-gradient(ellipse at 50% 35%, #05131A 0%, #040D14 35%, #02060B 75%, #010307 100%);
  color: #F8FAFC;
}

body.theme-dark .zen-ambient-aurora {
  background: radial-gradient(circle at 50% 38%, rgba(20, 184, 166, 0.24) 0%, rgba(56, 189, 248, 0.18) 35%, rgba(99, 102, 241, 0.09) 60%, transparent 80%);
  opacity: 0.95;
  filter: blur(80px);
}

body.theme-dark .zen-sacred-badge {
  background: rgba(20, 184, 166, 0.12);
  border-color: rgba(45, 212, 191, 0.35);
  color: #5EEAD4;
  box-shadow: 0 0 20px rgba(45, 212, 191, 0.2);
}

body.theme-dark .zen-badge-sparkle {
  color: #2DD4BF;
}

body.theme-dark .halo-1 {
  border-color: rgba(45, 212, 191, 0.6);
  box-shadow: 0 0 24px rgba(45, 212, 191, 0.38);
}
body.theme-dark .halo-2 {
  border-color: rgba(56, 189, 248, 0.45);
  box-shadow: 0 0 32px rgba(56, 189, 248, 0.28);
}
body.theme-dark .halo-3 {
  border-color: rgba(99, 102, 241, 0.35);
  box-shadow: 0 0 38px rgba(99, 102, 241, 0.2);
}
body.theme-dark .halo-4 {
  border-color: rgba(168, 85, 247, 0.24);
  box-shadow: 0 0 48px rgba(168, 85, 247, 0.15);
}

body.theme-dark .zen-center-circle {
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.95) 0%, rgba(6, 26, 30, 0.88) 100%);
  border-color: rgba(45, 212, 191, 0.65);
  box-shadow: 
    0 12px 36px rgba(0, 0, 0, 0.7),
    inset 0 0 24px rgba(45, 212, 191, 0.2),
    0 0 45px rgba(45, 212, 191, 0.4);
}

body.theme-dark .zen-symbol-svg {
  color: #5EEAD4;
  filter: drop-shadow(0 0 12px rgba(94, 234, 212, 0.7));
}

body.theme-dark .decompression-title {
  background: linear-gradient(135deg, #FFFFFF 0%, #E0F2FE 40%, #5EEAD4 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 0 35px rgba(94, 234, 212, 0.35);
}

body.theme-dark .zen-breath-guide-pill {
  background: rgba(15, 23, 42, 0.85);
  border-color: rgba(45, 212, 191, 0.45);
  color: #F1F5F9;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.5), 0 0 20px rgba(45, 212, 191, 0.2);
}

body.theme-dark .zen-breath-dot {
  background: #2DD4BF;
  box-shadow: 0 0 14px #2DD4BF;
}

body.theme-dark .decompression-mantra {
  color: #94A3B8;
}

body.theme-dark .breath-timer-display {
  background: rgba(56, 189, 248, 0.12);
  color: #38BDF8;
  border-color: rgba(56, 189, 248, 0.35);
  box-shadow: 0 0 16px rgba(56, 189, 248, 0.25);
}

body.theme-dark .skip-decompression-btn {
  background: rgba(15, 23, 42, 0.8);
  border-color: rgba(148, 163, 184, 0.3);
  color: #E2E8F0;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
}
body.theme-dark .skip-decompression-btn:hover {
  background: rgba(30, 41, 59, 0.95);
  border-color: #2DD4BF;
  color: #FFFFFF;
  box-shadow: 0 8px 30px rgba(45, 212, 191, 0.35), 0 0 0 1px rgba(45, 212, 191, 0.4);
}

body.theme-dark .timer-collapsed {
  background: linear-gradient(135deg, #0F172A 0%, #131C2E 100%);
  border: 1px solid rgba(56, 189, 248, 0.45);
  box-shadow: 
    0 12px 36px -4px rgba(0, 0, 0, 0.8),
    0 0 0 1.5px rgba(56, 189, 248, 0.5),
    0 0 24px rgba(56, 189, 248, 0.28);
}

body.theme-dark .timer-collapsed:hover {
  border-color: #38BDF8;
  box-shadow: 
    0 16px 44px -4px rgba(0, 0, 0, 0.9),
    0 0 0 2px #38BDF8,
    0 0 36px rgba(56, 189, 248, 0.5);
}

body.theme-dark .ring-bg {
  stroke: rgba(255, 255, 255, 0.15);
}

body.theme-dark .ring-progress {
  stroke: #38BDF8;
  filter: drop-shadow(0 0 4px rgba(56, 189, 248, 0.7));
}

body.theme-dark .timer-mini-text {
  color: #38BDF8;
  font-weight: 800;
}

body.theme-dark .timer-pulse-dot {
  background-color: #38BDF8;
  box-shadow: 0 0 8px #38BDF8;
  animation: timerDotPulseCyan 2.4s ease-in-out infinite;
}
@keyframes timerDotPulseCyan {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.3); opacity: 0.7; box-shadow: 0 0 12px #38BDF8; }
}

body.theme-dark .timer-collapsed-title {
  color: #FFFFFF;
}

body.theme-dark .timer-collapsed-status {
  color: #7DD3FC;
}

body.theme-dark .clinical-timer-widget.is-running .timer-collapsed {
  animation: timerRunningPulseDark 3.6s ease-in-out infinite;
  border-color: #38BDF8;
}
@keyframes timerRunningPulseDark {
  0%, 100% {
    box-shadow: 
      0 12px 36px -4px rgba(0, 0, 0, 0.8),
      0 0 0 2px rgba(56, 189, 248, 0.6),
      0 0 24px rgba(56, 189, 248, 0.35);
  }
  50% {
    box-shadow: 
      0 16px 44px -4px rgba(0, 0, 0, 0.9),
      0 0 0 5px rgba(56, 189, 248, 0.8),
      0 0 36px rgba(56, 189, 248, 0.6);
  }
}

body.theme-dark .clinical-timer-widget.is-warning-phase .timer-collapsed {
  animation: timerWarningPulseDark 2.4s ease-in-out infinite;
  border-color: #F59E0B;
}
@keyframes timerWarningPulseDark {
  0%, 100% {
    box-shadow: 
      0 12px 36px -4px rgba(0, 0, 0, 0.8),
      0 0 0 2px rgba(245, 158, 11, 0.7),
      0 0 24px rgba(245, 158, 11, 0.4);
  }
  50% {
    box-shadow: 
      0 16px 44px -4px rgba(0, 0, 0, 0.9),
      0 0 0 5px rgba(245, 158, 11, 0.9),
      0 0 36px rgba(245, 158, 11, 0.65);
  }
}

body.theme-dark .timer-expanded-panel {
  width: 350px;
  padding: 18px 20px;
  background-color: #0F172A;
  border: 1px solid rgba(255, 255, 255, 0.16);
  box-shadow: 0 28px 70px -12px rgba(0, 0, 0, 0.9), 0 0 28px rgba(56, 189, 248, 0.2);
}

body.theme-dark .timer-session-label {
  color: #F8FAFC;
  font-weight: 600;
  font-size: 0.84rem;
}

body.theme-dark .timer-close-btn {
  color: #CBD5E1;
}

body.theme-dark .timer-close-btn:hover {
  color: #FFFFFF;
}

body.theme-dark .digital-time {
  color: #FFFFFF;
  font-weight: 700;
  text-shadow: none;
}

body.theme-dark .timer-stage-badge.stage-opening {
  background-color: rgba(74, 222, 128, 0.2);
  color: #4ADE80;
  border: 1px solid rgba(74, 222, 128, 0.45);
  font-weight: 600;
}

body.theme-dark .timer-stage-badge.stage-closing {
  background-color: rgba(251, 191, 36, 0.2);
  color: #FBBF24;
  border: 1px solid rgba(251, 191, 36, 0.45);
  font-weight: 600;
}

body.theme-dark .timer-timeline-milestones {
  background-color: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: #F8FAFC;
  font-weight: 550;
  font-size: 0.73rem;
  white-space: nowrap;
  letter-spacing: -0.01em;
}

/* 夜间模式：通用时钟操作按钮基底 */
body.theme-dark .timer-action-btn {
  background-color: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #FFFFFF;
}

/* 夜间模式：主操作态（开始会谈 / 继续会谈） */
body.theme-dark .timer-action-btn.primary {
  background-color: #10B981;
  color: #FFFFFF;
  border-color: #34D399;
  box-shadow: 0 0 14px rgba(16, 185, 129, 0.35);
}
body.theme-dark .timer-action-btn.primary:hover {
  background-color: #059669;
}

/* 暂停时钟按钮专属高对比呈现（进行中状态）：告别透明浮空文字，拥有深金琥珀底与明晰金边框 */
body.theme-dark .timer-action-btn.is-running,
body.theme-dark #timerPlayPauseBtn:not(.primary) {
  background-color: rgba(245, 158, 11, 0.22);
  border: 1px solid rgba(251, 191, 36, 0.55);
  color: #FCD34D;
  font-weight: 650;
  box-shadow: 0 0 14px rgba(245, 158, 11, 0.18);
}
body.theme-dark .timer-action-btn.is-running:hover,
body.theme-dark #timerPlayPauseBtn:not(.primary):hover {
  background-color: rgba(245, 158, 11, 0.35);
  border-color: #FBBF24;
  color: #FFFFFF;
}

/* 重设 50' 按钮：夜间模式下清晰浅灰白透底 */
body.theme-dark .timer-action-btn.secondary {
  background-color: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.24);
  color: #FFFFFF;
  font-weight: 600;
}
body.theme-dark .timer-action-btn.secondary:hover {
  background-color: rgba(255, 255, 255, 0.22);
  color: #FFFFFF;
  border-color: rgba(255, 255, 255, 0.36);
}

/* 提前结束并速记：夜间模式下透亮薄荷翠绿按钮 */
body.theme-dark .timer-action-btn.finish {
  background-color: rgba(16, 185, 129, 0.22);
  border: 1px solid rgba(52, 211, 153, 0.5);
  color: #6EE7B7;
  font-weight: 700;
}
body.theme-dark .timer-action-btn.finish:hover {
  background-color: #10B981;
  color: #062E1A;
  border-color: #10B981;
}

body.theme-dark .timer-note {
  color: #CBD5E1;
  font-size: 0.76rem;
  font-weight: 500;
  line-height: 1.5;
}

body.theme-dark .backup-note-box {
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-left: 3px solid #38BDF8 !important;
}

/* ==========================================================================
   26. 专业执业订阅与数据主权中心 (Subscription & Checkout Engine)
   ========================================================================== */

/* 顶栏咨询师终身执业档案编号药丸徽章 */
.practitioner-id-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--bg-paper-tint, rgba(255, 255, 255, 0.05));
  border: 1px solid var(--border-subtle, rgba(255, 255, 255, 0.1));
  border-radius: 999px;
  padding: 4px 10px;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  color: var(--text-secondary);
  font-size: 0.72rem;
  font-weight: 600;
  white-space: nowrap;
  flex-shrink: 0;
  min-width: max-content;
  user-select: none;
}

.practitioner-id-pill .id-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--forest-primary, #10b981);
  box-shadow: 0 0 6px rgba(16, 185, 129, 0.4);
}

.practitioner-id-pill .id-prefix {
  font-size: 0.68rem;
  color: var(--text-muted);
  font-weight: 500;
}

.practitioner-id-pill .id-number {
  font-family: var(--font-mono, monospace);
  font-weight: 700;
  color: var(--text-primary);
  letter-spacing: 0.3px;
}

.practitioner-id-pill:hover {
  background: rgba(16, 185, 129, 0.08);
  border-color: rgba(16, 185, 129, 0.35);
  color: var(--forest-primary);
  transform: translateY(-1px);
}

.practitioner-id-pill:hover .id-number {
  color: var(--forest-primary);
}

body.theme-dark .practitioner-id-pill {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.08);
}

body.theme-dark .practitioner-id-pill:hover {
  background: rgba(16, 185, 129, 0.12);
  border-color: rgba(16, 185, 129, 0.4);
}

/* 顶栏订阅徽章胶囊按钮 */
.subscription-pill-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: linear-gradient(135deg, rgba(47, 70, 53, 0.08) 0%, rgba(16, 185, 129, 0.12) 100%);
  border: 1px solid rgba(52, 211, 153, 0.35);
  border-radius: 999px;
  padding: 5px 14px;
  cursor: pointer;
  transition: all 0.2s ease;
  color: var(--forest-primary);
  font-size: 0.74rem;
  font-weight: 600;
  white-space: nowrap;
  flex-shrink: 0;
  min-width: max-content;
  user-select: none;
}

.sub-tier-label {
  white-space: nowrap;
  display: inline-block;
}

.subscription-pill-btn:hover {
  background: linear-gradient(135deg, rgba(47, 70, 53, 0.14) 0%, rgba(16, 185, 129, 0.2) 100%);
  border-color: rgba(52, 211, 153, 0.6);
  transform: translateY(-1px);
}

.sub-tier-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #10B981;
  box-shadow: 0 0 8px rgba(16, 185, 129, 0.6);
}

body.theme-dark .subscription-pill-btn {
  background: rgba(16, 185, 129, 0.12);
  border-color: rgba(52, 211, 153, 0.35);
  color: #34D399;
}

body.theme-dark .subscription-pill-btn:hover {
  background: rgba(16, 185, 129, 0.22);
  border-color: rgba(52, 211, 153, 0.6);
}

.subscription-pill-btn.trial-upgrade-active {
  border-color: rgba(212, 163, 89, 0.5);
  background: linear-gradient(135deg, rgba(212, 163, 89, 0.12) 0%, rgba(16, 185, 129, 0.14) 100%);
  box-shadow: 0 0 10px rgba(212, 163, 89, 0.18);
}

.subscription-pill-btn.trial-upgrade-active:hover {
  border-color: var(--gold-primary, #d4a359);
  background: linear-gradient(135deg, rgba(212, 163, 89, 0.22) 0%, rgba(16, 185, 129, 0.24) 100%);
  box-shadow: 0 0 14px rgba(212, 163, 89, 0.35);
  transform: translateY(-1px);
}

.subscription-pill-btn.trial-upgrade-active .upgrade-action-text {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.subscription-pill-btn.unactivated-pill {
  border-color: rgba(212, 163, 89, 0.45);
  background: linear-gradient(135deg, rgba(212, 163, 89, 0.1) 0%, rgba(16, 185, 129, 0.08) 100%);
  color: var(--text-primary);
  box-shadow: 0 1px 6px rgba(212, 163, 89, 0.12);
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.subscription-pill-btn.unactivated-pill:hover {
  border-color: var(--gold-primary, #d4a359);
  background: linear-gradient(135deg, rgba(212, 163, 89, 0.18) 0%, rgba(16, 185, 129, 0.15) 100%);
  box-shadow: 0 2px 14px rgba(212, 163, 89, 0.28);
  transform: translateY(-1px);
}

.subscription-pill-btn.unactivated-pill .upgrade-action-text {
  text-decoration: none;
  font-weight: 700;
  letter-spacing: 0.02em;
}

body.theme-dark .subscription-pill-btn.unactivated-pill {
  border-color: rgba(212, 163, 89, 0.4);
  background: linear-gradient(135deg, rgba(212, 163, 89, 0.16) 0%, rgba(16, 185, 129, 0.12) 100%);
  color: #f1f5f9;
  box-shadow: 0 1px 8px rgba(0, 0, 0, 0.35);
}

body.theme-dark .subscription-pill-btn.unactivated-pill:hover {
  border-color: var(--gold-primary, #d4a359);
  background: linear-gradient(135deg, rgba(212, 163, 89, 0.25) 0%, rgba(16, 185, 129, 0.2) 100%);
  box-shadow: 0 2px 16px rgba(212, 163, 89, 0.3);
}


/* 订阅弹窗大卡片与横幅 */
.subscription-dialog-card {
  border-radius: 14px;
}

.pricing-headline-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11.5px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 999px;
  background: #FFF7ED;
  color: #9A3412;
  border: 1px solid #FDBA74;
  box-shadow: 0 1px 3px rgba(234, 88, 12, 0.1);
  letter-spacing: 0.02em;
}

body.theme-dark .pricing-headline-pill {
  background: rgba(245, 158, 11, 0.18);
  color: #FCD34D;
  border-color: rgba(245, 158, 11, 0.45);
  box-shadow: 0 0 14px rgba(245, 158, 11, 0.16);
}

.modal-pricing .dialog-subtitle {
  color: #475569;
  font-size: 12.5px;
  margin-top: 3px;
  line-height: 1.5;
}

body.theme-dark .modal-pricing .dialog-subtitle {
  color: #94A3B8;
}

.early-bird-tag {
  color: #C2410C;
  font-weight: 700;
}

body.theme-dark .early-bird-tag {
  color: #FBBF24;
}

.subscription-dialog-card {
  width: 100%;
}

.subscription-dialog-card .dialog-body-scroll {
  max-height: 85vh;
  padding: 14px 18px;
  overflow-y: auto;
}

/* =========================================================================
   HoldSpace 订阅中心：分段选项卡与交易账单明细面板 (Exquisite Segmented Tabs & Orders Stream)
   ========================================================================= */

.sub-segmented-control-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px 20px 4px;
  background: transparent;
}

.sub-segmented-control {
  display: inline-flex;
  align-items: center;
  background: var(--bg-paper-tint, rgba(47, 70, 53, 0.04));
  border: 1px solid var(--border-subtle, rgba(47, 70, 53, 0.12));
  border-radius: 999px;
  padding: 4px;
  gap: 4px;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.03);
}

body.theme-dark .sub-segmented-control {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2);
}

.sub-seg-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 20px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-secondary, #64748B);
  background: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1);
  white-space: nowrap;
}

.sub-seg-btn:hover {
  color: var(--text-primary, #1E293B);
  background: rgba(0, 0, 0, 0.02);
}

body.theme-dark .sub-seg-btn:hover {
  color: #F8FAFC;
  background: rgba(255, 255, 255, 0.04);
}

.sub-seg-btn.active {
  background: #FFFFFF;
  color: var(--forest-primary, #2F4635);
  font-weight: 700;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.04);
}

body.theme-dark .sub-seg-btn.active {
  background: rgba(255, 255, 255, 0.14);
  color: #FFFFFF;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
}

.sub-seg-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 6px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  background: rgba(16, 185, 129, 0.15);
  color: #10B981;
  transition: all 0.2s ease;
}

.sub-seg-btn.active .sub-seg-badge {
  background: #10B981;
  color: #FFFFFF;
}

.sub-tab-pane {
  display: block;
  animation: tabFadeIn 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.sub-tab-pane.hidden,
.sub-orders-empty.hidden,
.hidden {
  display: none !important;
}

@keyframes tabFadeIn {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 订单与账单统计三列指标条 */
.orders-summary-bar {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-bottom: 18px;
}

@media (max-width: 860px) {
  .orders-summary-bar {
    grid-template-columns: 1fr;
  }
}

.order-summary-card {
  display: flex;
  align-items: center;
  gap: 14px;
  background: var(--bg-card, #FFFFFF);
  border: 1px solid var(--border-subtle, rgba(47, 70, 53, 0.12));
  border-radius: 12px;
  padding: 14px 18px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.02);
  transition: all 0.2s ease;
}

body.theme-dark .order-summary-card {
  background: rgba(255, 255, 255, 0.03);
  border-color: rgba(255, 255, 255, 0.08);
}

.summary-card-icon {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: rgba(16, 185, 129, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  flex-shrink: 0;
}

body.theme-dark .summary-card-icon {
  background: rgba(16, 185, 129, 0.15);
}

.summary-card-content {
  flex: 1;
  min-width: 0;
}

.summary-card-label {
  font-size: 11.5px;
  color: var(--text-muted, #94A3B8);
  font-weight: 500;
  display: block;
}

.summary-card-value {
  font-size: 18px;
  font-weight: 800;
  color: var(--text-primary, #0F172A);
  margin-top: 2px;
  letter-spacing: -0.01em;
}

body.theme-dark .summary-card-value {
  color: #F8FAFC;
}

.summary-card-value.highlight-plan {
  color: var(--forest-primary, #2F4635);
}

body.theme-dark .summary-card-value.highlight-plan {
  color: #34D399;
}

.summary-card-value.text-safe {
  color: #10B981;
  font-size: 16px;
}

.summary-card-sub {
  font-size: 11px;
  color: var(--text-secondary, #64748B);
  margin-top: 2px;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 订单表头 */
.orders-list-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--border-subtle, rgba(47, 70, 53, 0.1));
}

body.theme-dark .orders-list-header {
  border-color: rgba(255, 255, 255, 0.08);
}

.orders-list-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--text-primary, #1E293B);
}

body.theme-dark .orders-list-title {
  color: #F1F5F9;
}

.orders-list-tag {
  font-size: 10.5px;
  font-weight: 600;
  padding: 1.5px 7px;
  border-radius: 6px;
  background: rgba(16, 185, 129, 0.1);
  color: #10B981;
}

.orders-tip-text {
  font-size: 11.5px;
  color: var(--text-muted, #94A3B8);
}

/* 订单卡片流 */
.sub-orders-stream {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.sub-order-card {
  background: var(--bg-card, #FFFFFF);
  border: 1px solid var(--border-subtle, rgba(47, 70, 53, 0.12));
  border-radius: 12px;
  padding: 16px 20px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.02);
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

body.theme-dark .sub-order-card {
  background: rgba(255, 255, 255, 0.025);
  border-color: rgba(255, 255, 255, 0.09);
}

.sub-order-card:hover {
  border-color: rgba(16, 185, 129, 0.35);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
  transform: translateY(-1px);
}

.order-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  flex-wrap: wrap;
  gap: 8px;
}

.order-id-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-mono, monospace);
  font-size: 12px;
  font-weight: 600;
  color: var(--text-primary, #1E293B);
  background: var(--bg-paper-tint, rgba(47, 70, 53, 0.04));
  border: 1px solid var(--border-subtle, rgba(47, 70, 53, 0.12));
  padding: 3px 9px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
}

body.theme-dark .order-id-chip {
  color: #E2E8F0;
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.1);
}

.order-id-chip:hover {
  border-color: var(--forest-primary, #2F4635);
  color: var(--forest-primary, #2F4635);
}

body.theme-dark .order-id-chip:hover {
  border-color: #34D399;
  color: #34D399;
}

.order-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 999px;
  background: rgba(16, 185, 129, 0.1);
  color: #059669;
  border: 1px solid rgba(16, 185, 129, 0.25);
}

.order-status-pill.status-refunded {
  background: rgba(239, 68, 68, 0.08);
  color: #DC2626;
  border-color: rgba(239, 68, 68, 0.28);
}

.order-status-pill.status-consulting,
.order-status-pill.status-pending {
  background: rgba(245, 158, 11, 0.1);
  color: #D97706;
  border-color: rgba(245, 158, 11, 0.28);
}

.order-status-pill.status-rejected {
  background: rgba(156, 163, 175, 0.12);
  color: #4B5563;
  border-color: rgba(156, 163, 175, 0.3);
}

body.theme-dark .order-status-pill {
  background: rgba(16, 185, 129, 0.15);
  color: #34D399;
  border-color: rgba(16, 185, 129, 0.3);
}

body.theme-dark .order-status-pill.status-refunded {
  background: rgba(239, 68, 68, 0.18);
  color: #F87171;
  border-color: rgba(239, 68, 68, 0.38);
}

body.theme-dark .order-status-pill.status-consulting,
body.theme-dark .order-status-pill.status-pending {
  background: rgba(245, 158, 11, 0.18);
  color: #FBBF24;
  border-color: rgba(245, 158, 11, 0.35);
}

body.theme-dark .order-status-pill.status-rejected {
  background: rgba(156, 163, 175, 0.18);
  color: #9CA3AF;
  border-color: rgba(156, 163, 175, 0.35);
}

.order-card-body {
  display: grid;
  grid-template-columns: 2fr 1.2fr 1.2fr;
  gap: 16px;
  background: var(--bg-paper-tint, rgba(47, 70, 53, 0.03));
  border: 1px solid rgba(0, 0, 0, 0.04);
  border-radius: 9px;
  padding: 12px 16px;
  align-items: center;
  margin-bottom: 12px;
}

body.theme-dark .order-card-body {
  background: rgba(255, 255, 255, 0.02);
  border-color: rgba(255, 255, 255, 0.05);
}

@media (max-width: 860px) {
  .order-card-body {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

.order-plan-name-row {
  font-size: 14px;
  font-weight: 700;
  color: var(--text-primary, #0F172A);
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
}

body.theme-dark .order-plan-name-row {
  color: #F8FAFC;
}

.order-calc-breakdown {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  font-size: 12px;
  color: var(--text-secondary, #64748B);
}

.order-calc-item.calc-origin {
  text-decoration: line-through;
  color: var(--text-muted, #94A3B8);
}

.order-calc-item.calc-deduct {
  color: #D97706;
  font-weight: 600;
  background: rgba(245, 158, 11, 0.08);
  padding: 1px 6px;
  border-radius: 4px;
}

.order-calc-item.calc-final {
  color: #059669;
  font-weight: 800;
  font-size: 13.5px;
}

body.theme-dark .order-calc-item.calc-final {
  color: #34D399;
}

.order-meta-col {
  font-size: 11.5px;
  color: var(--text-secondary, #64748B);
  line-height: 1.6;
}

.order-meta-item {
  display: flex;
  align-items: center;
  gap: 5px;
}

.order-meta-val {
  font-weight: 600;
  color: var(--text-primary, #1E293B);
}

body.theme-dark .order-meta-val {
  color: #E2E8F0;
}

.order-card-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  padding-top: 10px;
  border-top: 1px dashed var(--border-subtle, rgba(47, 70, 53, 0.1));
}

body.theme-dark .order-card-actions {
  border-color: rgba(255, 255, 255, 0.06);
}

.btn-order-receipt {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: 7px;
  background: rgba(16, 185, 129, 0.1);
  border: 1px solid rgba(16, 185, 129, 0.3);
  color: var(--forest-primary, #2F4635);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.18s ease;
}

body.theme-dark .btn-order-receipt {
  background: rgba(16, 185, 129, 0.15);
  border-color: rgba(16, 185, 129, 0.35);
  color: #34D399;
}

.btn-order-receipt:hover {
  background: rgba(16, 185, 129, 0.2);
  border-color: rgba(16, 185, 129, 0.5);
  transform: translateY(-0.5px);
}

.btn-order-invoice {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: 7px;
  background: transparent;
  border: 1px solid var(--border-subtle, rgba(47, 70, 53, 0.15));
  color: var(--text-secondary, #64748B);
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.18s ease;
}

body.theme-dark .btn-order-invoice {
  border-color: rgba(255, 255, 255, 0.1);
  color: #94A3B8;
}

.btn-order-invoice:hover {
  color: var(--text-primary, #1E293B);
  border-color: var(--text-secondary, #64748B);
}

body.theme-dark .btn-order-invoice:hover {
  color: #F1F5F9;
  border-color: rgba(255, 255, 255, 0.3);
}

.btn-order-invoice.invoice-pending {
  background: rgba(245, 158, 11, 0.08);
  border-color: rgba(245, 158, 11, 0.35);
  color: #D97706;
  font-weight: 600;
}

body.theme-dark .btn-order-invoice.invoice-pending {
  background: rgba(245, 158, 11, 0.15);
  border-color: rgba(245, 158, 11, 0.4);
  color: #FBBF24;
}

.btn-order-invoice.invoice-done {
  background: rgba(16, 185, 129, 0.08);
  border-color: rgba(16, 185, 129, 0.35);
  color: #10B981;
  font-weight: 600;
}

body.theme-dark .btn-order-invoice.invoice-done {
  background: rgba(16, 185, 129, 0.15);
  border-color: rgba(16, 185, 129, 0.4);
  color: #34D399;
}

.btn-order-refund {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: 7px;
  background: transparent;
  border: 1px solid var(--border-subtle, rgba(47, 70, 53, 0.15));
  color: var(--text-secondary, #64748B);
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.18s ease;
}

.btn-order-refund.refund-active {
  border-color: rgba(16, 185, 129, 0.3);
  color: #10B981;
  background: rgba(16, 185, 129, 0.05);
}

.btn-order-refund.refund-active:hover {
  background: rgba(16, 185, 129, 0.12);
  border-color: #10B981;
}

.btn-order-refund.refund-consulting {
  border-color: rgba(245, 158, 11, 0.45) !important;
  color: #f59e0b !important;
  background: rgba(245, 158, 11, 0.1) !important;
}

body.theme-dark .btn-order-refund.refund-active {
  border-color: rgba(16, 185, 129, 0.35);
  color: #34D399;
  background: rgba(16, 185, 129, 0.12);
}

body.theme-dark .btn-order-refund.refund-consulting {
  border-color: rgba(245, 158, 11, 0.5) !important;
  color: #fbbf24 !important;
  background: rgba(245, 158, 11, 0.16) !important;
}

.order-refund-expired {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  font-size: 11px;
  color: var(--text-muted, #94A3B8);
  background: rgba(0, 0, 0, 0.03);
  border-radius: 6px;
}

body.theme-dark .order-refund-expired {
  background: rgba(255, 255, 255, 0.04);
  color: #64748B;
}

/* 算式无优惠时的标准资费样式 */
.order-calc-item.calc-standard {
  background: rgba(47, 70, 53, 0.06);
  color: var(--text-primary, #1E293B);
  font-weight: 700;
}

body.theme-dark .order-calc-item.calc-standard {
  background: rgba(255, 255, 255, 0.08);
  color: #F8FAFC;
}

/* 自助开票模态窗样式 */
.invoice-order-summary-box {
  background: var(--bg-paper-tint, rgba(47, 70, 53, 0.04));
  border: 1px solid var(--border-subtle, rgba(47, 70, 53, 0.12));
  border-radius: 8px;
  padding: 12px 16px;
}

body.theme-dark .invoice-order-summary-box {
  background: rgba(255, 255, 255, 0.03);
  border-color: rgba(255, 255, 255, 0.08);
}

.invoice-type-toggle {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 6px;
}

@media (max-width: 520px) {
  .invoice-type-toggle {
    grid-template-columns: 1fr;
  }
}

.invoice-type-option {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 8px;
  border: 1.5px solid var(--border-subtle, rgba(47, 70, 53, 0.15));
  background: var(--bg-card, #FFFFFF);
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-secondary, #475569);
  transition: all 0.2s ease;
}

.invoice-type-option.active {
  border-color: #10B981;
  background: rgba(16, 185, 129, 0.06);
  color: #0F766E;
}

.invoice-type-option .radio-circle {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 1.5px solid var(--text-muted);
  display: inline-block;
  position: relative;
  transition: all 0.2s ease;
  flex-shrink: 0;
}

.invoice-type-option.active .radio-circle {
  border-color: #10B981;
  background: #10B981;
  box-shadow: inset 0 0 0 3px #FFFFFF;
}

body.theme-dark .invoice-type-option {
  background: rgba(255, 255, 255, 0.03);
  border-color: rgba(255, 255, 255, 0.1);
  color: #94A3B8;
}

body.theme-dark .invoice-type-option.active {
  background: rgba(16, 185, 129, 0.15);
  border-color: #10B981;
  color: #34D399;
}

body.theme-dark .invoice-type-option.active .radio-circle {
  box-shadow: inset 0 0 0 3px #1E293B;
}

/* 发票详情卡片 */
.invoice-detail-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 9px 0;
  border-bottom: 1px dashed var(--border-subtle, rgba(47, 70, 53, 0.1));
  font-size: 13px;
}

.invoice-detail-row:last-child {
  border-bottom: none;
}

.invoice-detail-lbl {
  color: var(--text-muted, #64748B);
  font-size: 12.5px;
  width: 100px;
  flex-shrink: 0;
}

.invoice-detail-val {
  color: var(--text-primary, #1E293B);
  font-weight: 600;
  text-align: right;
  word-break: break-all;
}

body.theme-dark .invoice-detail-val {
  color: #F8FAFC;
}

/* 空态设计 */
.sub-orders-empty {
  text-align: center;
  padding: 44px 20px;
  background: var(--bg-paper-tint, rgba(47, 70, 53, 0.03));
  border: 1px dashed var(--border-subtle, rgba(47, 70, 53, 0.15));
  border-radius: 12px;
  margin: 14px 0;
}

body.theme-dark .sub-orders-empty {
  background: rgba(255, 255, 255, 0.02);
  border-color: rgba(255, 255, 255, 0.1);
}

.empty-icon-wrap {
  font-size: 40px;
  margin-bottom: 10px;
  opacity: 0.85;
}

.empty-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--text-primary, #1E293B);
  margin-bottom: 6px;
}

body.theme-dark .empty-title {
  color: #F8FAFC;
}

.empty-desc {
  font-size: 12.5px;
  color: var(--text-muted, #64748B);
  max-width: 520px;
  margin: 0 auto 18px;
  line-height: 1.6;
}

/* 底部三条保障微说明 */
.orders-security-footer {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--border-subtle, rgba(47, 70, 53, 0.1));
}

body.theme-dark .orders-security-footer {
  border-color: rgba(255, 255, 255, 0.08);
}

@media (max-width: 860px) {
  .orders-security-footer {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

.security-guarantee-item {
  display: flex;
  gap: 10px;
  font-size: 11.5px;
  line-height: 1.55;
  color: var(--text-secondary, #64748B);
}

.security-guarantee-item strong {
  display: block;
  color: var(--text-primary, #1E293B);
  font-size: 12px;
  margin-bottom: 2px;
}

body.theme-dark .security-guarantee-item strong {
  color: #F1F5F9;
}

.guarantee-icon {
  font-size: 16px;
  flex-shrink: 0;
  margin-top: 1px;
}

.current-sub-banner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: rgba(47, 70, 53, 0.05);
  border: 1px solid rgba(47, 70, 53, 0.15);
  border-radius: 8px;
  padding: 10px 14px;
  margin-bottom: 14px;
}

body.theme-dark .current-sub-banner {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.1);
}

.banner-left {
  display: flex;
  align-items: center;
  gap: 9px;
}

.banner-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #10B981;
  box-shadow: 0 0 8px rgba(16, 185, 129, 0.8);
  transition: all 0.3s ease;
}

.banner-status-dot.dot-unactivated {
  background: #d4a359;
  box-shadow: 0 0 10px rgba(212, 163, 89, 0.85);
  animation: pulseUnactivated 2.5s infinite ease-in-out;
}

.banner-status-dot.dot-trial {
  background: #10B981;
  box-shadow: 0 0 10px rgba(16, 185, 129, 0.85);
}

.banner-status-dot.dot-active {
  background: #10B981;
  box-shadow: 0 0 10px rgba(16, 185, 129, 0.85);
}

.banner-status-dot.dot-expired {
  background: #ef4444;
  box-shadow: 0 0 8px rgba(239, 68, 68, 0.7);
}

@keyframes pulseUnactivated {
  0%, 100% {
    transform: scale(1);
    opacity: 0.9;
  }
  50% {
    transform: scale(1.25);
    opacity: 1;
    box-shadow: 0 0 14px rgba(212, 163, 89, 1);
  }
}

.banner-title {
  font-size: 13px;
  font-weight: 700;
  color: var(--text-primary);
}

.banner-desc {
  font-size: 11.5px;
  color: var(--text-muted);
  margin-top: 1.5px;
}

.security-chip {
  font-size: 11px;
  font-weight: 600;
  color: var(--forest-primary);
  background: rgba(16, 185, 129, 0.1);
  padding: 3px 8px;
  border-radius: 6px;
  border: 1px solid rgba(16, 185, 129, 0.25);
  white-space: nowrap;
}

body.theme-dark .security-chip {
  color: #34D399;
}

/* 4 大独立执业个人方案阶梯网格 (从 5 列扩展为 4 列，彻底解除窄挤) */
.pricing-cards-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 14px;
  align-items: stretch;
}

@media (max-width: 980px) {
  .pricing-cards-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 620px) {
  .pricing-cards-grid {
    grid-template-columns: 1fr;
  }
}

/* 专属机构与团队协同方案 (Full-Width Clinic Banner Card) */
.plan-card.clinic-banner-card {
  background: linear-gradient(135deg, rgba(245, 243, 255, 0.95) 0%, rgba(238, 242, 255, 0.85) 50%, #FFFFFF 100%);
  border: 1.5px solid rgba(139, 92, 246, 0.38);
  border-radius: 12px;
  padding: 18px 24px;
  margin-bottom: 14px;
  box-shadow: 0 4px 18px rgba(124, 58, 237, 0.08);
  cursor: pointer;
  height: auto;
  transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.22s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.22s ease;
}

body.theme-dark .plan-card.clinic-banner-card {
  background: linear-gradient(135deg, rgba(76, 29, 149, 0.22) 0%, rgba(30, 27, 75, 0.45) 50%, rgba(20, 22, 36, 0.96) 100%);
  border-color: rgba(167, 139, 250, 0.4);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}

.plan-card.clinic-banner-card:hover {
  transform: translateY(-3px);
  border-color: #8B5CF6;
  box-shadow: 0 14px 34px rgba(124, 58, 237, 0.18), 0 0 0 1.5px rgba(139, 92, 246, 0.5);
}

body.theme-dark .plan-card.clinic-banner-card:hover {
  border-color: #A78BFA;
  box-shadow: 0 14px 34px rgba(124, 58, 237, 0.3), 0 0 0 1.5px #A78BFA;
}

.clinic-banner-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

@media (max-width: 880px) {
  .clinic-banner-content {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }
}

.clinic-info-col {
  flex: 1;
  min-width: 0;
}

.clinic-badge-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  flex-wrap: wrap;
}

.badge-clinic-team {
  background: #EDE9FE;
  color: #6D28D9;
  font-weight: 700;
  border: 1px solid #DDD6FE;
  font-size: 11px;
  padding: 3px 8px;
  border-radius: 5px;
}

body.theme-dark .badge-clinic-team {
  background: rgba(139, 92, 246, 0.25);
  color: #C4B5FD;
  border-color: rgba(139, 92, 246, 0.45);
}

.clinic-seats-pill {
  font-size: 11px;
  font-weight: 600;
  background: #E0E7FF;
  color: #3730A3;
  padding: 3px 8px;
  border-radius: 5px;
  border: 1px solid #C7D2FE;
}

body.theme-dark .clinic-seats-pill {
  background: rgba(99, 102, 241, 0.22);
  color: #A5B4FC;
  border-color: rgba(99, 102, 241, 0.4);
}

.clinic-save-tag {
  font-size: 11px;
  font-weight: 700;
  background: #FEF3C7;
  color: #92400E;
  padding: 3px 8px;
  border-radius: 5px;
  border: 1px solid #FCD34D;
}

body.theme-dark .clinic-save-tag {
  background: rgba(245, 158, 11, 0.2);
  color: #FCD34D;
  border-color: rgba(245, 158, 11, 0.4);
}

.clinic-title-row {
  margin-bottom: 12px;
}

.clinic-main-title {
  margin: 0 0 4px 0;
  font-size: 17.5px;
  font-weight: 700;
  color: var(--text-primary);
  letter-spacing: -0.01em;
}

.clinic-sub-note {
  font-size: 12px;
  color: #64748B;
  display: block;
}

body.theme-dark .clinic-sub-note {
  color: #94A3B8;
}

.clinic-features-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px 18px;
}

@media (max-width: 640px) {
  .clinic-features-grid {
    grid-template-columns: 1fr;
  }
}

.clinic-feature-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 12px;
  line-height: 1.45;
  color: #334155;
}

body.theme-dark .clinic-feature-item {
  color: #CBD5E1;
}

.clinic-feature-item .feature-icon {
  font-size: 14px;
  flex-shrink: 0;
  margin-top: 1px;
}

.clinic-feature-item strong {
  display: block;
  color: var(--text-primary);
  font-weight: 600;
}

.clinic-feature-item span {
  display: block;
  font-size: 11px;
  color: #64748B;
}

body.theme-dark .clinic-feature-item span {
  color: #94A3B8;
}

.clinic-pricing-action-col {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 10px;
  flex-shrink: 0;
  padding-left: 22px;
  border-left: 1px solid rgba(139, 92, 246, 0.22);
  min-width: 230px;
}

@media (max-width: 880px) {
  .clinic-pricing-action-col {
    align-items: stretch;
    border-left: none;
    padding-left: 0;
    border-top: 1px solid rgba(139, 92, 246, 0.22);
    padding-top: 14px;
  }
}

.clinic-price-wrapper {
  text-align: right;
}

@media (max-width: 880px) {
  .clinic-price-wrapper {
    text-align: left;
  }
}

.clinic-price-row {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 2px;
}

@media (max-width: 880px) {
  .clinic-price-row {
    justify-content: flex-start;
  }
}

.clinic-price-row .currency {
  font-size: 18px;
  font-weight: 700;
  color: var(--text-primary);
}

.clinic-price-row .amount {
  font-family: var(--font-serif);
  font-size: 32px;
  font-weight: 800;
  color: var(--text-primary);
  line-height: 1;
}

.clinic-price-row .period {
  font-size: 12px;
  color: #64748B;
  margin-left: 4px;
  font-weight: 600;
}

body.theme-dark .clinic-price-row .period {
  color: #94A3B8;
}

.clinic-origin-calc {
  font-size: 11px;
  color: #64748B;
  margin-top: 3px;
}

body.theme-dark .clinic-origin-calc {
  color: #94A3B8;
}

.clinic-origin-calc .origin-strike {
  text-decoration: line-through;
  color: #94A3B8;
}

body.theme-dark .clinic-origin-calc .origin-strike {
  color: #64748B;
}

.clinic-origin-calc .origin-formula {
  margin-left: 4px;
  font-size: 10.5px;
}

.clinic-unit-calc {
  font-size: 11.5px;
  color: #475569;
  margin-top: 3px;
}

body.theme-dark .clinic-unit-calc {
  color: #CBD5E1;
}

.clinic-unit-calc strong {
  color: #7C3AED;
  font-size: 12.5px;
}

body.theme-dark .clinic-unit-calc strong {
  color: #A78BFA;
}

.clinic-unit-calc .calc-highlight {
  display: inline-block;
  margin-left: 4px;
  background: rgba(124, 58, 237, 0.1);
  color: #6D28D9;
  padding: 1px 5px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 600;
}

body.theme-dark .clinic-unit-calc .calc-highlight {
  background: rgba(167, 139, 250, 0.18);
  color: #C4B5FD;
}

.btn-clinic-primary {
  background: linear-gradient(135deg, #7C3AED 0%, #6D28D9 100%);
  border: 1px solid #5B21B6;
  color: #FFFFFF;
  padding: 10px 18px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.01em;
  box-shadow: 0 4px 14px rgba(124, 58, 237, 0.35);
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.btn-clinic-primary:hover {
  background: linear-gradient(135deg, #6D28D9 0%, #5B21B6 100%);
  box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45);
  transform: translateY(-1px);
}

/* 套餐激活与当前生效按钮高亮样式 */
.plan-action-btn.current-active-plan {
  background: #DCFCE7 !important;
  color: #14532D !important;
  border: 1.5px solid #86EFAC !important;
  font-weight: 700 !important;
  box-shadow: 0 2px 8px rgba(20, 83, 45, 0.15) !important;
}

body.theme-dark .plan-action-btn.current-active-plan {
  background: rgba(16, 185, 129, 0.22) !important;
  color: #34D399 !important;
  border-color: #059669 !important;
  box-shadow: 0 2px 10px rgba(16, 185, 129, 0.25) !important;
}

.plan-action-btn.btn-disabled,
.plan-action-btn:disabled {
  opacity: 0.55 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
  background: rgba(0, 0, 0, 0.04) !important;
  border: 1px solid var(--border-subtle) !important;
  color: var(--text-muted) !important;
  box-shadow: none !important;
  transform: none !important;
}

body.theme-dark .plan-action-btn.btn-disabled,
body.theme-dark .plan-action-btn:disabled {
  background: rgba(255, 255, 255, 0.05) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  color: var(--text-muted) !important;
}

/* 14天免费体验版卡片 */
.plan-card.trial-card {
  border: 1px dashed rgba(16, 185, 129, 0.4);
  background: linear-gradient(180deg, rgba(16, 185, 129, 0.03) 0%, var(--bg-card) 100%);
}

.plan-badge.badge-trial {
  background: rgba(16, 185, 129, 0.08);
  color: var(--forest-primary);
  border: 1px solid rgba(16, 185, 129, 0.2);
}

body.theme-dark .plan-card.trial-card {
  border-color: rgba(52, 211, 153, 0.35);
  background: linear-gradient(180deg, rgba(16, 185, 129, 0.04) 0%, var(--bg-card) 100%);
}

body.theme-dark .plan-badge.badge-trial {
  background: rgba(52, 211, 153, 0.15);
  color: #34D399;
}

.plan-card {
  position: relative;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 9px;
  padding: 14px 12px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  cursor: pointer;
  transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1), 
              box-shadow 0.22s cubic-bezier(0.16, 1, 0.3, 1), 
              border-color 0.22s ease,
              background-color 0.22s ease;
}

.plan-card:hover {
  transform: translateY(-5px);
  border-color: var(--forest-primary);
  box-shadow: 0 14px 28px rgba(47, 70, 53, 0.12), 0 0 0 1.5px var(--forest-primary);
}

body.theme-dark .plan-card:hover {
  border-color: #34D399;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.4), 0 0 0 1.5px #34D399;
}

/* 体验版 Hover */
.plan-card.trial-card:hover {
  border-style: solid;
  border-color: #10B981;
  box-shadow: 0 14px 30px rgba(16, 185, 129, 0.18), 0 0 0 1.5px #10B981;
}

body.theme-dark .plan-card.trial-card:hover {
  border-color: #34D399;
  box-shadow: 0 14px 30px rgba(16, 185, 129, 0.25), 0 0 0 1.5px #34D399;
}

/* 年度版主力高亮卡片 */
.plan-card.featured-card {
  border: 2px solid #10B981;
  background: linear-gradient(180deg, rgba(16, 185, 129, 0.04) 0%, var(--bg-card) 40%);
  box-shadow: 0 8px 20px rgba(16, 185, 129, 0.12);
}

body.theme-dark .plan-card.featured-card {
  background: linear-gradient(180deg, rgba(16, 185, 129, 0.1) 0%, rgba(24, 36, 29, 0.95) 40%);
  border-color: #34D399;
}

.plan-card.featured-card:hover {
  transform: translateY(-7px) scale(1.015);
  border-color: #059669;
  box-shadow: 0 18px 36px rgba(16, 185, 129, 0.28), 0 0 0 2px #10B981;
}

.plan-popular-ribbon {
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  background: #10B981;
  color: #FFFFFF;
  font-size: 9.5px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 999px;
  white-space: nowrap;
  letter-spacing: 0.02em;
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.plan-card.featured-card:hover .plan-popular-ribbon {
  transform: translateX(-50%) scale(1.06);
  box-shadow: 0 3px 10px rgba(16, 185, 129, 0.45);
}

/* 终身版黑金高亮卡片 */
.plan-card.gold-card {
  border: 1px solid rgba(245, 158, 11, 0.4);
  background: linear-gradient(180deg, rgba(245, 158, 11, 0.04) 0%, var(--bg-card) 40%);
}

body.theme-dark .plan-card.gold-card {
  background: linear-gradient(180deg, rgba(245, 158, 11, 0.08) 0%, rgba(28, 26, 20, 0.95) 40%);
  border-color: rgba(245, 158, 11, 0.5);
}

.plan-card.gold-card:hover {
  transform: translateY(-6px);
  border-color: #D97706;
  box-shadow: 0 18px 36px rgba(217, 119, 6, 0.26), 0 0 0 2px #F59E0B;
}

body.theme-dark .plan-card.gold-card:hover {
  border-color: #FBBF24;
  box-shadow: 0 18px 36px rgba(245, 158, 11, 0.3), 0 0 0 2px #FBBF24;
}

/* 悬浮时内部按钮联动响应 */
.plan-card:hover .btn-outline {
  background: var(--bg-paper-tint);
  border-color: var(--forest-primary);
  color: var(--forest-primary);
  font-weight: 700;
}

.plan-card.trial-card:hover .btn-outline {
  border-color: #10B981;
  color: #059669;
  background: rgba(16, 185, 129, 0.08);
}

.plan-card:hover .btn-featured {
  background: #059669;
  box-shadow: 0 4px 14px rgba(16, 185, 129, 0.45);
}

.plan-card:hover .btn-gold {
  box-shadow: 0 4px 14px rgba(217, 119, 6, 0.5);
  filter: brightness(1.08);
}

.plan-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 9px;
}

.plan-name {
  font-size: 14.5px;
  font-weight: 700;
  color: var(--text-primary);
  letter-spacing: -0.01em;
}

.plan-badge {
  font-size: 10px;
  padding: 2.5px 6px;
  border-radius: 4px;
  font-weight: 600;
}

.badge-neutral { background: var(--border-subtle); color: var(--text-secondary); }
.badge-popular { background: rgba(16, 185, 129, 0.15); color: #059669; }
.badge-gold { background: rgba(245, 158, 11, 0.18); color: #D97706; }

body.theme-dark .badge-popular { color: #34D399; }
body.theme-dark .badge-gold { color: #FBBF24; }

.plan-price-block {
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--border-subtle);
}

.plan-price {
  display: flex;
  align-items: baseline;
  gap: 2px;
}

.plan-price .currency {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary);
}

.plan-price .amount {
  font-family: var(--font-serif);
  font-size: 27px;
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1;
}

.plan-price .period {
  font-size: 11.5px;
  color: var(--text-muted);
  margin-left: 2px;
}

.plan-origin-price {
  font-size: 11.5px;
  color: #475569;
  margin-top: 3px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.theme-dark .plan-origin-price {
  color: var(--text-muted);
}

.plan-features-list {
  list-style: none;
  padding: 0;
  margin: 0 0 14px 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 12px;
  color: #334155;
  line-height: 1.45;
}

body.theme-dark .plan-features-list {
  color: var(--text-secondary);
}

.plan-features-list strong {
  color: var(--text-primary);
}

.plan-action-btn {
  width: 100%;
  padding: 8.5px 10px;
  border-radius: 6px;
  font-size: 12.5px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: center;
}

.btn-outline {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  color: var(--text-primary);
}

.btn-outline:hover {
  background: var(--bg-paper-tint);
  border-color: var(--forest-primary);
}

.btn-featured {
  background: #10B981;
  border: 1px solid #059669;
  color: #FFFFFF;
}

.btn-featured:hover {
  background: #059669;
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.35);
}

.btn-gold {
  background: linear-gradient(135deg, #D97706 0%, #B45309 100%);
  border: 1px solid #B45309;
  color: #FFFFFF;
}

.btn-gold:hover {
  opacity: 0.95;
  box-shadow: 0 4px 12px rgba(217, 119, 6, 0.35);
}

/* 兑换码模块 */
.redeem-box {
  background: var(--bg-paper-tint);
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  padding: 10px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 6px;
}

body.theme-dark .redeem-box {
  background: rgba(255, 255, 255, 0.03);
}

.redeem-title {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-primary);
  display: flex;
  align-items: center;
  gap: 7px;
}

.redeem-form {
  display: flex;
  align-items: center;
  gap: 8px;
}

.redeem-input {
  font-family: var(--font-mono);
  font-size: 12px;
  padding: 6px 12px;
  border-radius: 6px;
  border: 1px solid var(--border-subtle);
  background: var(--bg-card);
  color: var(--text-primary);
  width: 250px;
}

.redeem-submit-btn {
  background: var(--forest-primary);
  color: #FFFFFF;
  border: none;
  border-radius: 6px;
  padding: 6px 14px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}

/* 收银台专属卡片与自适应容器 */
.checkout-dialog-card {
  width: 480px;
  max-width: 92vw;
  max-height: 94vh;
  display: flex;
  flex-direction: column;
  border-radius: 14px;
}

.checkout-dialog-card .dialog-body-padding {
  padding: 18px 22px;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.2) transparent;
}

.checkout-summary-box {
  background: var(--bg-paper-tint);
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  padding: 10px 14px;
  margin-bottom: 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

body.theme-dark .checkout-summary-box {
  background: rgba(255, 255, 255, 0.04);
}

.summary-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12.5px;
}

.summary-item .label {
  color: var(--text-secondary);
}

.summary-item .value {
  color: var(--text-primary);
  font-weight: 500;
}

.summary-item.total-row {
  margin-top: 4px;
  padding-top: 6px;
  border-top: 1px dashed var(--border-subtle);
}

.total-price {
  font-family: var(--font-serif);
  font-size: 22px;
  font-weight: 700;
  color: #10B981;
}

.payment-tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}

.pay-tab {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 10px;
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  background: var(--bg-card);
  cursor: pointer;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--text-primary);
  transition: all 0.2s ease;
}

.pay-tab.active {
  border-color: #10B981;
  background: rgba(16, 185, 129, 0.06);
}

.qrcode-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 10px 0;
  margin-bottom: 12px;
}

.mock-qrcode {
  position: relative;
  padding: 10px;
  background: #FFFFFF;
  border-radius: 8px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
  margin-bottom: 8px;
  min-width: 150px;
  min-height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.qrcode-brand-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #07C160;
  color: #FFFFFF;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 4px;
  border: 2px solid #FFFFFF;
}

.qrcode-tip {
  font-size: 12.5px;
  font-weight: 500;
  color: var(--text-primary);
}

.qrcode-subtext {
  font-size: 11px;
  color: #10b981;
  margin-top: 4px;
  font-weight: 500;
}

.checkout-actions {
  display: flex;
  gap: 10px;
  margin-top: 14px;
}

/* 按钮原地微交互确认态 (杜绝浏览器原生丑陋阻塞 confirm 弹窗) */
.btn-danger-confirm {
  background: rgba(239, 68, 68, 0.25) !important;
  color: #f87171 !important;
  border-color: rgba(239, 68, 68, 0.5) !important;
  font-weight: 700 !important;
}

[data-theme="light"] .btn-danger-confirm {
  background: #fee2e2 !important;
  color: #b91c1c !important;
  border-color: #fca5a5 !important;
}

/* ========================================================================= */
/* 2026 各套餐功能权益精益求精视觉系统 (HoldSpace Peerless Tier Design System) */
/* ========================================================================= */

/* 1. 直觉投喂槽内微信解析助手小胶囊 */
.intake-assistant-trigger {
  background: rgba(16, 185, 129, 0.12);
  border: 1px solid rgba(16, 185, 129, 0.25);
  color: var(--forest-primary);
  font-size: 11px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 6px;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.intake-assistant-trigger:hover {
  background: rgba(16, 185, 129, 0.22);
  border-color: var(--forest-primary);
  transform: translateY(-1px);
}
body.theme-dark .intake-assistant-trigger {
  background: rgba(16, 185, 129, 0.2);
  border-color: rgba(16, 185, 129, 0.4);
  color: #34d399;
}

/* 2. 状态栏执业个案容量指示器 (初见版 5 位限制 / 随行版无限托管) */
.capacity-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  background: rgba(16, 185, 129, 0.08);
  border: 1px solid rgba(16, 185, 129, 0.2);
  color: var(--forest-primary);
  transition: all 0.25s ease;
  cursor: pointer;
}
.capacity-status-pill:hover {
  background: rgba(16, 185, 129, 0.15);
}
.capacity-status-pill .capacity-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 6px rgba(16, 185, 129, 0.6);
}
.capacity-status-pill.capacity-full {
  background: rgba(245, 158, 11, 0.12);
  border-color: rgba(245, 158, 11, 0.4);
  color: #d97706;
}
.capacity-status-pill.capacity-full .capacity-dot {
  background: #f59e0b;
  box-shadow: 0 0 8px rgba(245, 158, 11, 0.8);
}
.capacity-status-pill.capacity-unlimited {
  background: rgba(59, 130, 246, 0.08);
  border-color: rgba(59, 130, 246, 0.25);
  color: #2563eb;
}
.capacity-status-pill.capacity-unlimited .capacity-dot {
  background: #3b82f6;
  box-shadow: 0 0 6px rgba(59, 130, 246, 0.6);
}

/* 3. 顶栏创世数字铭牌微章 (磐石版专属璀璨入口) */
.genesis-nav-plaque-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 700;
  background: linear-gradient(135deg, #1c1917 0%, #292524 100%);
  border: 1px solid #d97706;
  color: #fbbf24;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(217, 119, 6, 0.25);
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
.genesis-nav-plaque-btn:hover {
  transform: translateY(-1px) scale(1.02);
  box-shadow: 0 4px 14px rgba(217, 119, 6, 0.4);
  border-color: #f59e0b;
}
.genesis-nav-plaque-btn .genesis-gem {
  font-size: 13px;
  filter: drop-shadow(0 0 4px rgba(245, 158, 11, 0.8));
}

/* 4. 瑞士级创世执业者黑金拉丝数字铭牌实体卡 (Genesis Plaque Board) */
.genesis-plaque-board {
  position: relative;
  background: linear-gradient(145deg, #18181b 0%, #09090b 60%, #1c1917 100%);
  border: 1.5px solid rgba(217, 119, 6, 0.45);
  border-radius: 16px;
  padding: 32px 28px;
  color: #f5f5f4;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.6), inset 0 1px 1px rgba(245, 158, 11, 0.3);
  overflow: hidden;
}
.genesis-plaque-board::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 200%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(245, 158, 11, 0.04) 45%,
    rgba(251, 191, 36, 0.1) 50%,
    rgba(245, 158, 11, 0.04) 55%,
    transparent 100%
  );
  pointer-events: none;
  animation: plaqueSheen 8s infinite linear;
}
@keyframes plaqueSheen {
  0% { transform: translateX(0); }
  100% { transform: translateX(100%); }
}
.plaque-corner {
  position: absolute;
  width: 14px;
  height: 14px;
  border-color: #d97706;
  border-style: solid;
}
.plaque-corner.top-left { top: 10px; left: 10px; border-width: 2px 0 0 2px; }
.plaque-corner.top-right { top: 10px; right: 10px; border-width: 2px 2px 0 0; }
.plaque-corner.bottom-left { bottom: 10px; left: 10px; border-width: 0 0 2px 2px; }
.plaque-corner.bottom-right { bottom: 10px; right: 10px; border-width: 0 2px 2px 0; }

.plaque-header-emblem {
  text-align: center;
  border-bottom: 1px solid rgba(217, 119, 6, 0.25);
  padding-bottom: 14px;
  margin-bottom: 20px;
}
.plaque-brand {
  font-family: var(--font-mono);
  font-size: 17px;
  font-weight: 800;
  letter-spacing: 0.22em;
  color: #fbbf24;
  text-shadow: 0 0 12px rgba(245, 158, 11, 0.4);
}
.plaque-sub {
  font-size: 11.5px;
  letter-spacing: 0.10em;
  color: #e7e5e4;
  margin-top: 5px;
  font-weight: 500;
}
.plaque-hero-section {
  text-align: center;
  margin-bottom: 24px;
}
.plaque-stars {
  color: #f59e0b;
  letter-spacing: 6px;
  font-size: 11px;
  opacity: 0.85;
  margin-bottom: 2px;
}
.plaque-seat-hero {
  font-family: var(--font-mono), "Cinzel", "Bodoni MT", "Didot", "Georgia", serif;
  font-size: 40px;
  font-weight: 900;
  letter-spacing: 0.12em;
  margin: 4px 0 6px 0;
  background: linear-gradient(180deg, #fffbeb 0%, #fef3c7 35%, #f59e0b 75%, #d97706 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 2px 14px rgba(245, 158, 11, 0.45));
}
.plaque-seat-tagline {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: #fde68a;
  text-transform: uppercase;
  margin-bottom: 14px;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
}
.plaque-archive-pill {
  background: rgba(217, 119, 6, 0.16);
  border: 1px solid rgba(217, 119, 6, 0.45);
  color: #fef3c7;
  font-family: var(--font-mono);
  font-size: 11.5px;
  font-weight: 600;
  padding: 3.5px 12px;
  border-radius: 999px;
  letter-spacing: 0.04em;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
.plaque-badge-row {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
.plaque-number-badge {
  background: linear-gradient(135deg, #b45309 0%, #d97706 100%);
  color: #fff;
  font-size: 11.5px;
  font-weight: 800;
  padding: 3.5px 12px;
  border-radius: 999px;
  letter-spacing: 0.04em;
  box-shadow: 0 2px 8px rgba(217, 119, 6, 0.4);
}
.plaque-status-badge {
  background: rgba(16, 185, 129, 0.18);
  border: 1px solid rgba(16, 185, 129, 0.4);
  color: #34d399;
  font-size: 11.5px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 999px;
}
.plaque-crypto-meta {
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 14px 16px;
  font-size: 11.5px;
  color: #d6d3d1;
  margin-bottom: 20px;
}
.plaque-meta-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.plaque-meta-row:last-child {
  margin-bottom: 0;
}
.plaque-meta-row code {
  font-family: var(--font-mono);
  color: #fbbf24;
  font-weight: 700;
  font-size: 12px;
}
.plaque-meta-row strong {
  color: #fbbf24;
  font-weight: 750;
  font-size: 12px;
}
.plaque-seal-stamp {
  display: flex;
  justify-content: flex-end;
}
.seal-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  border: 2px dashed rgba(217, 119, 6, 0.6);
  color: #fbbf24;
  text-align: center;
  transform: rotate(-10deg);
  box-shadow: 0 0 12px rgba(217, 119, 6, 0.2);
}
.seal-star {
  font-size: 8px;
  letter-spacing: 2px;
}
.seal-text {
  font-size: 11px;
  font-weight: 800;
  margin: 1px 0;
}
.seal-date {
  font-size: 9px;
  font-family: var(--font-mono);
}

/* 5. 督导简报去标识化与防扩散水印 */
.supervision-watermark-wrapper {
  position: relative;
  overflow: hidden;
}
.supervision-watermark-wrapper::before {
  content: "中国心理学会伦理守则 · 督导去标识化脱敏档案";
  position: absolute;
  top: 40%;
  left: -20%;
  width: 140%;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  color: rgba(148, 163, 184, 0.08);
  transform: rotate(-25deg);
  pointer-events: none;
  letter-spacing: 0.1em;
}


/* =========================================================================
   主理人加席位收银台与协同中心精益求精定制样式
   ========================================================================= */

/* 收银台席位演变动态推演条 */
.checkout-evolution-bar {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.1) 0%, rgba(27, 56, 36, 0.08) 100%);
  border: 1px solid rgba(16, 185, 129, 0.3);
  border-radius: 8px;
  padding: 7px 12px;
  margin-bottom: 8px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

body.theme-dark .checkout-evolution-bar {
  background: rgba(16, 185, 129, 0.12);
  border-color: rgba(16, 185, 129, 0.35);
}

.checkout-evolution-text {
  font-size: 11.5px;
  color: var(--text-secondary);
}

.checkout-evolution-target {
  font-size: 13.5px;
  font-weight: 800;
  color: #10B981;
}

/* 快捷加席胶囊标签 */
.checkout-seat-pills {
  display: flex;
  gap: 6px;
  margin-bottom: 6px;
}

.checkout-seat-pill {
  flex: 1;
  padding: 4px 6px;
  font-size: 11px;
  font-weight: 600;
  text-align: center;
  border-radius: 6px;
  border: 1px solid var(--border-subtle);
  background: rgba(255, 255, 255, 0.05);
  color: var(--text-secondary);
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
}

.checkout-seat-pill:hover {
  background: rgba(16, 185, 129, 0.1);
  border-color: rgba(16, 185, 129, 0.4);
  color: var(--text-primary);
}

.checkout-seat-pill.active {
  background: #10B981;
  border-color: #059669;
  color: #ffffff;
  font-weight: 700;
  box-shadow: 0 2px 6px rgba(16, 185, 129, 0.3);
}

/* 对公银行凭单展示卡片 (取代单调二维码) */
.corporate-voucher-card {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.08) 0%, rgba(217, 119, 6, 0.04) 100%);
  border: 1.5px solid rgba(245, 158, 11, 0.35);
  border-radius: 10px;
  padding: 10px 14px;
  margin: 6px 0;
  text-align: left;
}

.corporate-voucher-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  padding-bottom: 6px;
  border-bottom: 1px dashed rgba(245, 158, 11, 0.3);
}

.corporate-voucher-title {
  font-size: 13px;
  font-weight: 700;
  color: #d97706;
  display: flex;
  align-items: center;
  gap: 6px;
}

.corporate-voucher-badge {
  font-size: 10.5px;
  background: rgba(245, 158, 11, 0.15);
  color: #b45309;
  padding: 2px 6px;
  border-radius: 4px;
  font-weight: 600;
}

.corporate-voucher-row {
  font-size: 12px;
  line-height: 1.8;
  color: var(--text-primary);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.corporate-voucher-label {
  color: var(--text-muted);
}

.corporate-voucher-val {
  font-family: var(--font-mono);
  font-weight: 600;
}

.corporate-copy-btn {
  background: none;
  border: 1px solid rgba(245, 158, 11, 0.4);
  color: #d97706;
  font-size: 10.5px;
  padding: 2px 8px;
  border-radius: 4px;
  cursor: pointer;
  margin-left: 6px;
  transition: all 0.15s;
}

.corporate-copy-btn:hover {
  background: #f59e0b;
  color: #ffffff;
}

/* 团队协同中心满员智能引导横幅 */
.seats-full-alert-banner {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.12) 0%, rgba(234, 88, 12, 0.08) 100%);
  border: 1.5px solid rgba(245, 158, 11, 0.4);
  border-radius: 10px;
  padding: 12px 16px;
  margin-top: 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}

.seats-full-alert-text {
  font-size: 12px;
  color: var(--text-primary);
  display: flex;
  align-items: center;
  gap: 6px;
}

.seats-full-alert-text strong {
  color: #d97706;
}

/* 凭证说明与页脚说明基础样式 */
.corporate-voucher-note {
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 6px;
  font-size: 11.5px;
  line-height: 1.6;
  color: #92400e;
  background: rgba(245, 158, 11, 0.1);
  border: 1px solid rgba(245, 158, 11, 0.25);
}

.checkout-footer-note {
  font-size: 11px;
  color: var(--text-muted);
  text-align: center;
  margin-top: 12px;
}

/* =========================================================================
   夜间模式 (Dark Mode) 收银台与对公凭单深度高对比度与极致清晰度适配
   ========================================================================= */

/* 1. 概览卡片容器与标签文字高对比度提升 */
body.theme-dark .checkout-summary-box {
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

body.theme-dark .summary-item .label {
  color: #cbd5e1 !important;
  font-weight: 500;
}

body.theme-dark .summary-item .value {
  color: #f8fafc !important;
  font-weight: 600;
}

body.theme-dark #checkoutPlanName {
  color: #ffffff !important;
  font-weight: 700;
  letter-spacing: -0.2px;
}

body.theme-dark #checkoutOrderNo {
  color: #e2e8f0 !important;
  font-weight: 600;
}

body.theme-dark .summary-item.total-row {
  border-top-color: rgba(255, 255, 255, 0.15) !important;
}

body.theme-dark .total-row .label {
  color: #ffffff !important;
  font-weight: 700;
  font-size: 14px;
}

body.theme-dark .total-price {
  color: #34d399 !important;
  font-weight: 800;
  text-shadow: 0 0 14px rgba(52, 211, 153, 0.35);
}

/* 2. 席位演变动态推演条高对比度 */
body.theme-dark .checkout-evolution-bar {
  background: rgba(16, 185, 129, 0.16) !important;
  border: 1.5px solid rgba(16, 185, 129, 0.45) !important;
}

body.theme-dark .checkout-evolution-text {
  color: #e2e8f0 !important;
  font-size: 12px;
}

body.theme-dark .checkout-evolution-text strong {
  color: #ffffff !important;
  font-weight: 800;
}

body.theme-dark .checkout-evolution-target {
  color: #34d399 !important;
  font-weight: 800;
  font-size: 14px;
  text-shadow: 0 0 10px rgba(52, 211, 153, 0.4);
}

/* 3. 快捷加席胶囊标签与步进器清晰度提升 */
body.theme-dark .checkout-seat-pill {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  color: #e2e8f0 !important;
  font-weight: 600;
}

body.theme-dark .checkout-seat-pill:hover {
  background: rgba(16, 185, 129, 0.25) !important;
  border-color: #10B981 !important;
  color: #ffffff !important;
}

body.theme-dark .checkout-seat-pill.active {
  background: #10B981 !important;
  border-color: #059669 !important;
  color: #ffffff !important;
  font-weight: 700;
  box-shadow: 0 0 14px rgba(16, 185, 129, 0.45) !important;
}

body.theme-dark .stepper-btn {
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: rgba(255, 255, 255, 0.28) !important;
  color: #ffffff !important;
  font-weight: 700;
}

body.theme-dark .stepper-btn:hover {
  background: rgba(255, 255, 255, 0.22) !important;
  color: #ffffff !important;
}

body.theme-dark #seatStepCount {
  color: #34d399 !important;
  font-weight: 800;
}

/* 4. 支付方式 Tab 状态深度清晰化 */
body.theme-dark .pay-tab {
  background: rgba(255, 255, 255, 0.05) !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
  color: #e2e8f0 !important;
}

body.theme-dark .pay-tab:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;
}

body.theme-dark .pay-tab.active {
  background: rgba(16, 185, 129, 0.2) !important;
  border-color: #10B981 !important;
  color: #ffffff !important;
  font-weight: 700;
  box-shadow: 0 0 12px rgba(16, 185, 129, 0.28) !important;
}

/* 5. 对公专属转账卡片及提示条夜间高亮 */
body.theme-dark .corporate-voucher-card {
  background: rgba(245, 158, 11, 0.12) !important;
  border: 1.5px solid rgba(245, 158, 11, 0.45) !important;
}

body.theme-dark .corporate-voucher-header {
  border-bottom-color: rgba(245, 158, 11, 0.35) !important;
}

body.theme-dark .corporate-voucher-title {
  color: #fbbf24 !important;
  font-weight: 700;
}

body.theme-dark .corporate-voucher-badge {
  background: rgba(245, 158, 11, 0.25) !important;
  color: #fde68a !important;
  border: 1px solid rgba(245, 158, 11, 0.45) !important;
}

body.theme-dark .corporate-voucher-label {
  color: #cbd5e1 !important;
  font-weight: 500;
}

body.theme-dark .corporate-voucher-val {
  color: #ffffff !important;
  font-weight: 700;
  font-family: var(--font-mono);
}

body.theme-dark .corporate-copy-btn {
  background: rgba(245, 158, 11, 0.16) !important;
  border-color: rgba(245, 158, 11, 0.5) !important;
  color: #fde68a !important;
  font-weight: 600;
}

body.theme-dark .corporate-copy-btn:hover {
  background: #f59e0b !important;
  color: #0f172a !important;
  font-weight: 700;
}

body.theme-dark .corporate-voucher-note {
  color: #fef08a !important;
  background: rgba(245, 158, 11, 0.22) !important;
  border: 1px solid rgba(245, 158, 11, 0.45) !important;
}

body.theme-dark .corporate-voucher-note strong {
  color: #ffffff !important;
  text-decoration: underline;
}

/* 6. 操作按钮与底部安全声明清晰度 */
body.theme-dark #cancelCheckoutBtn {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.26) !important;
  color: #f1f5f9 !important;
  font-weight: 600;
}

body.theme-dark #cancelCheckoutBtn:hover {
  background: rgba(255, 255, 255, 0.16) !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.45) !important;
}

body.theme-dark .checkout-footer-note {
  color: #94a3b8 !important;
}

/* 7. 右下角会谈时钟面板：正念呼吸过渡触发按钮 */
.timer-mindful-row {
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px dashed var(--border-card);
}
.timer-mindful-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 8px;
  background: rgba(47, 70, 53, 0.06);
  border: 1px solid rgba(47, 70, 53, 0.15);
  color: var(--forest-primary);
  font-size: 0.76rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}
.timer-mindful-btn:hover {
  background: rgba(47, 70, 53, 0.12);
  border-color: var(--forest-primary);
  transform: translateY(-1px);
}
body.theme-dark .timer-mindful-btn {
  background: rgba(16, 185, 129, 0.12);
  border-color: rgba(16, 185, 129, 0.25);
  color: #34d399;
}

/* ==========================================================================
   页面交互鲁棒性防护与点击响应优化 (Interaction Robustness & Click Protection)
   ========================================================================== */
/* 1. 彻底杜绝任何未打开的 dialog 在不可见时拦截用户鼠标点击 */
dialog:not([open]) {
  display: none !important;
  pointer-events: none !important;
}

/* 2. 卡片内部按钮与操作项禁用 HTML5 原生拖拽，杜绝鼠标微移导致点击被吞 */
.card-mini-btn,
.case-card button,
.case-card .card-action-bar,
.stream-slot-card {
  -webkit-user-drag: none;
  user-select: none;
}

.case-card {
  cursor: pointer;
  user-select: none;
}

.case-card .btn-briefing,
.case-card .btn-quicknote {
  cursor: pointer;
  pointer-events: auto;
  position: relative;
  z-index: 2;
}

/* ==========================================================================
   关于 HoldSpace · 横向双栏高奢数字执业证书架构 (Studio Credential Plaque)
   ========================================================================== */
.about-modal-split-card {
  position: relative;
  display: flex;
  width: 740px;
  max-width: 95vw;
  min-height: 380px;
  background: #FFFFFF;
  border-radius: 20px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 1), 0 24px 60px -12px rgba(15, 23, 42, 0.22), 0 0 0 1px rgba(226, 232, 240, 0.9);
  overflow: hidden;
}

/* 左栏：品牌艺术展区 (Brand Identity Showcase, 31% 紧凑精致宽度，纯净雅致灰阶) */
.about-left-pane {
  width: 31%;
  min-width: 210px;
  max-width: 218px;
  background: linear-gradient(180deg, #F8FAFC 0%, #F1F5F9 100%);
  border-right: 1px solid rgba(226, 232, 240, 0.9);
  padding: 30px 18px 26px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 16px;
  box-sizing: border-box;
}

.about-studio-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 76px;
  height: 76px;
  border-radius: 20px;
  background: #FFFFFF;
  border: 1px solid rgba(226, 232, 240, 0.9);
  box-shadow: 0 10px 25px -4px rgba(15, 23, 42, 0.08), 0 2px 6px -1px rgba(15, 23, 42, 0.04), inset 0 1px 1px #FFFFFF;
  padding: 8px;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.about-studio-badge:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 14px 30px -4px rgba(15, 23, 42, 0.12);
}
.about-studio-badge img {
  width: 58px;
  height: 58px;
  object-fit: contain;
  display: block;
}

.about-left-brand-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.about-studio-title {
  font-family: var(--font-sans);
  font-size: 1.35rem;
  font-weight: 800;
  color: #0F172A;
  letter-spacing: -0.025em;
  margin-bottom: 3px;
  line-height: 1.2;
}
.about-studio-version {
  font-family: var(--font-sans);
  font-size: 0.74rem;
  font-weight: 500;
  color: #64748B;
  letter-spacing: 0.01em;
  margin-bottom: 8px;
}
.about-studio-slogan {
  font-size: 0.80rem;
  color: #334155;
  line-height: 1.45;
  font-weight: 500;
  letter-spacing: 0.04em;
  padding: 0 4px;
  white-space: nowrap;
}

.about-studio-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 11px;
  border-radius: 20px;
  background: rgba(16, 185, 129, 0.08);
  border: 1px solid rgba(16, 185, 129, 0.25);
  font-size: 0.69rem;
  color: #065F46;
  font-weight: 600;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
}
.about-studio-pulse-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #10B981;
  box-shadow: 0 0 6px rgba(16, 185, 129, 0.7);
}

/* 右栏：专业执业资质与伦理合规证书区 (Credentials & Ethics Panel, 69% 舒展宽裕空间) */
.about-right-pane {
  flex: 1;
  width: 69%;
  padding: 26px 28px 22px 26px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: #FFFFFF;
  position: relative;
  box-sizing: border-box;
}

/* 右上角悬浮极简微光关闭按钮 */
.about-split-close-btn {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #F1F5F9;
  color: #64748B;
  border: 1px solid #E2E8F0;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  z-index: 10;
}
.about-split-close-btn:hover {
  background: #E2E8F0;
  color: #0F172A;
  transform: scale(1.05);
}

.about-section-heading {
  font-size: 0.73rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #64748B;
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding-right: 36px;
}
.about-section-heading::after {
  content: "";
  flex: 1;
  height: 1px;
  background: rgba(226, 232, 240, 0.85);
}

/* 三维资质徽章独立卡片矩阵 (69% 宽裕空间，彻底消除折行) */
.about-matrix-list {
  display: flex;
  flex-direction: column;
  gap: 9px;
  margin-bottom: 16px;
}
.about-matrix-card {
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: 11px;
  padding: 9px 13px;
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 50px;
  box-sizing: border-box;
  transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1);
}
.about-matrix-card:hover {
  background: #F1F5F9;
  border-color: #CBD5E1;
  transform: translateY(-1px);
  box-shadow: 0 3px 10px rgba(15, 23, 42, 0.05);
}
.about-matrix-icon {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.about-matrix-icon.ethics {
  background: #EFF6FF;
  border: 1px solid #DBEAFE;
  color: #2563EB;
}
.about-matrix-icon.security {
  background: #F0FDF4;
  border: 1px solid #DCFCE7;
  color: #16A34A;
}
.about-matrix-icon.legal {
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  color: #64748B;
}
.about-matrix-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.matrix-card-title {
  font-size: 0.75rem;
  font-weight: 700;
  color: #0F172A;
  margin-bottom: 2px;
  line-height: 1.2;
}
.matrix-card-desc {
  font-size: 0.72rem;
  color: #475569;
  line-height: 1.45;
  word-break: break-word;
}
.matrix-card-desc.mono, .matrix-card-desc .mono {
  font-family: var(--font-mono);
  color: #64748B;
}

/* 底部操作区：权威合规声明与防伪背书，舒展庄重 */
.about-split-footer {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding-top: 14px;
  border-top: 1px solid rgba(226, 232, 240, 0.85);
}
.about-footer-notice {
  font-size: 0.72rem;
  font-weight: 500;
  color: #475569;
  display: flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
}
.about-footer-notice svg {
  color: #059669;
  flex-shrink: 0;
}
.about-footer-notice span {
  white-space: nowrap;
}

/* ==========================================================================
   关于 HoldSpace · 横向双栏高奢证书卡片夜间模式 (About Modal Dark Theme)
   ========================================================================== */
body.theme-dark .about-modal-split-card {
  background: #0F172A;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 24px 64px -12px rgba(0, 0, 0, 0.85), 0 0 0 1px rgba(255, 255, 255, 0.12);
}

body.theme-dark .about-left-pane {
  background: linear-gradient(180deg, #131C2E 0%, #0F172A 100%);
  border-right: 1px solid rgba(255, 255, 255, 0.10);
}

body.theme-dark .about-studio-badge {
  background: #FFFFFF;
  border: 1px solid rgba(255, 255, 255, 0.25);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.1);
}

body.theme-dark .about-studio-title {
  color: #FFFFFF;
}

body.theme-dark .about-studio-version {
  color: #94A3B8;
}

body.theme-dark .about-studio-slogan {
  color: #E2E8F0;
}

body.theme-dark .about-studio-status {
  background: rgba(16, 185, 129, 0.14);
  border-color: rgba(52, 211, 153, 0.35);
  color: #34D399;
}

body.theme-dark .about-right-pane {
  background: #0F172A;
}

body.theme-dark .about-split-close-btn {
  background: #1E293B;
  color: #CBD5E1;
  border: 1px solid rgba(255, 255, 255, 0.14);
}

body.theme-dark .about-split-close-btn:hover {
  background: #334155;
  color: #FFFFFF;
}

body.theme-dark .about-section-heading {
  color: #94A3B8;
}

body.theme-dark .about-section-heading::after {
  background: rgba(255, 255, 255, 0.10);
}

body.theme-dark .about-matrix-card {
  background: #131C2E;
  border: 1px solid rgba(255, 255, 255, 0.10);
}

body.theme-dark .about-matrix-card:hover {
  background: #18233A;
  border-color: rgba(56, 189, 248, 0.40);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.45);
}

body.theme-dark .about-matrix-icon.ethics {
  background: rgba(59, 130, 246, 0.16);
  border: 1px solid rgba(96, 165, 250, 0.35);
  color: #60A5FA;
}

body.theme-dark .about-matrix-icon.security {
  background: rgba(16, 185, 129, 0.16);
  border: 1px solid rgba(52, 211, 153, 0.35);
  color: #34D399;
}

body.theme-dark .about-matrix-icon.legal {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: #CBD5E1;
}

body.theme-dark .matrix-card-title {
  color: #FFFFFF;
  font-weight: 700;
}

body.theme-dark .matrix-card-desc {
  color: #CBD5E1;
}

body.theme-dark .matrix-card-desc.mono,
body.theme-dark .matrix-card-desc .mono {
  color: #94A3B8;
}

body.theme-dark .about-split-footer {
  border-top: 1px solid rgba(255, 255, 255, 0.10);
}

body.theme-dark .about-footer-notice {
  color: #94A3B8;
}

/* ========================================================
   VIP 专属技术顾问与执业护航通道 (Private Tech Concierge Desk)
   ======================================================== */
.vip-dialog-container {
  border: none;
  border-radius: 16px;
  padding: 0;
  box-shadow: 0 25px 60px -15px rgba(15, 23, 42, 0.28), 0 0 0 1px rgba(226, 232, 240, 0.85);
  background: transparent;
  overflow: hidden;
}

.vip-dialog-card {
  background: #FFFFFF;
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.vip-dialog-header {
  padding: 12px 20px 10px 20px;
  border-bottom: 1px solid rgba(226, 232, 240, 0.85);
  background: linear-gradient(180deg, #F8FAFC 0%, #FFFFFF 100%);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.vip-dialog-header .dialog-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.94rem;
  font-weight: 700;
  color: #0F172A;
  margin: 0;
}

.vip-dialog-header .dialog-subtitle {
  display: block;
  font-size: 0.72rem;
  color: #64748B;
  margin-top: 1px;
}

.vip-header-shield-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 7px;
  background: rgba(5, 150, 105, 0.10);
  color: #059669;
  border: 1px solid rgba(5, 150, 105, 0.20);
  flex-shrink: 0;
}

.vip-close-btn {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid rgba(226, 232, 240, 0.9);
  background: #F8FAFC;
  color: #64748B;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  line-height: 1;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.vip-close-btn:hover {
  background: #E2E8F0;
  color: #0F172A;
  transform: scale(1.05);
}

.vip-body-wrap {
  padding: 11px 18px 12px 18px;
  overflow: visible; /* 严格单屏无须滑动 */
}

.vip-channel-list {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

/* 模块 1：私享管家服务台卡片 */
.vip-concierge-card {
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: 11px;
  padding: 8px 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
}

.vip-concierge-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.vip-concierge-badge-wrap {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.vip-role-badge {
  font-size: 0.73rem;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 20px;
  background: rgba(5, 150, 105, 0.12);
  color: #065F46;
  border: 1px solid rgba(5, 150, 105, 0.25);
  letter-spacing: 0.02em;
}

.vip-response-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 0.70rem;
  font-weight: 600;
  color: #D97706;
  background: rgba(245, 158, 11, 0.10);
  border: 1px solid rgba(245, 158, 11, 0.25);
  padding: 2px 7px;
  border-radius: 20px;
}

/* 纵向三通道全宽列表：微信、电话、邮箱 */
.vip-channel-strip-list {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.vip-channel-strip {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 8px;
  padding: 5px 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  cursor: pointer;
  transition: all 0.18s cubic-bezier(0.4, 0, 0.2, 1);
}

.vip-channel-strip:hover {
  border-color: #CBD5E1;
  background: #F8FAFC;
  transform: translateY(-1px);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.03);
}

body.theme-dark .vip-pledge-footer {
  border-top-color: rgba(255, 255, 255, 0.08);
}

/* 7天全额退款保障与凭据模态框（极简紧凑·单屏无滚动闭环） */
.modal-refund-help .dialog-card {
  max-width: 560px;
  width: 94%;
  border-radius: 14px;
  overflow: hidden;
  max-height: 90vh;
  background-color: #FFFFFF;
}

body.theme-dark .modal-refund-help .dialog-card {
  background-color: #0F172A;
  border-color: rgba(255, 255, 255, 0.12);
  color: #F8FAFC;
}

.modal-refund-help .dialog-body-compact {
  padding: 13px 20px;
  overflow: hidden;
  max-height: none;
  background-color: inherit;
}

.refund-order-compact-strip {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 9px;
  padding: 9px 13px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
}

.refund-order-compact-strip .strip-row-top,
.refund-order-compact-strip .strip-row-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.refund-order-compact-strip .strip-row-bottom {
  font-size: 11px;
  color: var(--text-muted);
  border-top: 1px dashed var(--border-subtle);
  padding-top: 5px;
}

.btn-order-invoice.invoice-cancelled {
  background: rgba(239, 68, 68, 0.08) !important;
  border: 1px solid rgba(239, 68, 68, 0.4) !important;
  color: #EF4444 !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}

.btn-order-invoice.invoice-cancelled:hover {
  background: rgba(239, 68, 68, 0.15) !important;
  border-color: #EF4444 !important;
}

.vip-strip-left {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  flex: 1;
}

.vip-strip-icon {
  width: 25px;
  height: 25px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.vip-strip-icon.wechat {
  background: rgba(5, 150, 105, 0.10);
  color: #059669;
  border: 1px solid rgba(5, 150, 105, 0.20);
}

.vip-strip-icon.phone {
  background: rgba(37, 99, 235, 0.10);
  color: #2563EB;
  border: 1px solid rgba(37, 99, 235, 0.20);
}

.vip-strip-icon.email {
  background: rgba(147, 51, 234, 0.10);
  color: #9333EA;
  border: 1px solid rgba(147, 51, 234, 0.20);
}

.vip-strip-content {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.vip-strip-title-row {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.vip-strip-label {
  font-size: 0.78rem;
  font-weight: 700;
  color: #1E293B;
  flex-shrink: 0;
}

.vip-strip-code {
  font-family: var(--font-mono, monospace);
  font-size: 0.86rem;
  font-weight: 700;
  color: #059669;
  background: rgba(5, 150, 105, 0.08);
  padding: 1px 6px;
  border-radius: 4px;
}

.vip-strip-val {
  font-family: var(--font-mono, monospace);
  font-size: 0.82rem;
  font-weight: 700;
  color: #0F172A;
  white-space: nowrap;
}

/* 独立可点击复制的席位凭证胶囊 (微信搜索不加凭证，凭证单独复制用于添加好友验证) */
.vip-credential-tag.clickable {
  font-size: 0.69rem;
  font-family: var(--font-mono, monospace);
  color: #047857;
  background: rgba(16, 185, 129, 0.08);
  border: 1px dashed rgba(16, 185, 129, 0.35);
  padding: 1px 6px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  cursor: pointer;
  transition: all 0.18s ease;
  user-select: none;
}

.vip-credential-tag.clickable::after {
  content: ' 📋';
  font-size: 0.64rem;
  opacity: 0.6;
}

.vip-credential-tag.clickable:hover {
  background: rgba(16, 185, 129, 0.18);
  border-color: #10B981;
  color: #065F46;
  transform: translateY(-1px);
  box-shadow: 0 1px 3px rgba(16, 185, 129, 0.18);
}

.vip-credential-tag.clickable:hover::after {
  opacity: 1;
}

.vip-credential-tag.clickable:active {
  transform: translateY(0);
}

.vip-strip-inline-hint {
  font-size: 0.69rem;
  color: #64748B;
  background: rgba(100, 116, 139, 0.07);
  padding: 1px 5px;
  border-radius: 4px;
  white-space: nowrap;
}

.vip-strip-action {
  flex-shrink: 0;
}

.vip-action-pill {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 6px;
  transition: all 0.18s ease;
  white-space: nowrap;
}

.vip-action-pill.copy-pill {
  background: rgba(5, 150, 105, 0.10);
  color: #059669;
  border: 1px solid rgba(5, 150, 105, 0.25);
}

.vip-channel-strip:hover .vip-action-pill.copy-pill {
  background: #059669;
  color: #FFFFFF;
}

.vip-action-pill.call-pill {
  background: rgba(37, 99, 235, 0.08);
  color: #2563EB;
  border: 1px solid rgba(37, 99, 235, 0.22);
}

.vip-channel-strip:hover .vip-action-pill.call-pill {
  background: #2563EB;
  color: #FFFFFF;
}

.vip-action-pill.email-pill {
  background: rgba(147, 51, 234, 0.08);
  color: #9333EA;
  border: 1px solid rgba(147, 51, 234, 0.22);
}

.vip-channel-strip:hover .vip-action-pill.email-pill {
  background: #9333EA;
  color: #FFFFFF;
}

/* 模块 2：数据主权与去标识化系统健康诊断单行条带 */
.vip-diagnostics-bar {
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: 9px;
  padding: 7px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.vip-diag-info {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  flex: 1;
}

.vip-diag-icon {
  font-size: 0.85rem;
  line-height: 1;
  flex-shrink: 0;
}

.vip-diag-heading {
  font-size: 0.76rem;
  font-weight: 700;
  color: #1E293B;
  white-space: nowrap;
}

.vip-diag-privacy {
  font-size: 0.69rem;
  color: #64748B;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.btn-vip-diagnostics {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: #FFFFFF;
  color: #0F172A;
  border: 1px solid #CBD5E1;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 6px;
  cursor: pointer;
  flex-shrink: 0;
  transition: all 0.18s ease;
  white-space: nowrap;
}

.btn-vip-diagnostics:hover {
  background: #059669;
  color: #FFFFFF;
  border-color: #059669;
}

/* 底部庄严伦理合规与零知识法律承诺 */
.vip-pledge-footer {
  margin-top: 8px;
  padding-top: 7px;
  border-top: 1px solid rgba(226, 232, 240, 0.85);
}

.vip-pledge-notice {
  font-size: 0.69rem;
  color: #64748B;
  display: flex;
  align-items: center;
  gap: 6px;
  line-height: 1.35;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.vip-pledge-notice svg {
  color: #059669;
  flex-shrink: 0;
}

/* ========================================================
   暗色模式适配 (Dark Theme Support)
   ======================================================== */
body.theme-dark .vip-dialog-container {
  box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.8), 0 0 0 1px rgba(255, 255, 255, 0.12);
}

body.theme-dark .vip-dialog-card {
  background: #0B1320;
}

body.theme-dark .vip-dialog-header {
  border-bottom-color: rgba(255, 255, 255, 0.08);
  background: linear-gradient(180deg, #111D30 0%, #0B1320 100%);
}

body.theme-dark .vip-close-btn {
  background: #1E293B;
  border-color: rgba(255, 255, 255, 0.12);
  color: #94A3B8;
}

body.theme-dark .vip-close-btn:hover {
  background: #334155;
  color: #FFFFFF;
}

body.theme-dark .vip-concierge-card,
body.theme-dark .vip-service-card {
  background: #111D30;
  border-color: rgba(255, 255, 255, 0.08);
}

body.theme-dark .vip-channel-strip,
body.theme-dark .vip-diagnostics-bar {
  background: #0B1320;
  border-color: rgba(255, 255, 255, 0.08);
}

body.theme-dark .vip-channel-strip:hover {
  background: #16243C;
  border-color: rgba(255, 255, 255, 0.18);
}

body.theme-dark .vip-strip-label,
body.theme-dark .vip-strip-val,
body.theme-dark .vip-service-title,
body.theme-dark .vip-diag-heading {
  color: #F1F5F9;
}

body.theme-dark .vip-credential-tag.clickable {
  background: rgba(16, 185, 129, 0.15);
  border-color: rgba(16, 185, 129, 0.4);
  color: #34D399;
}

body.theme-dark .vip-credential-tag.clickable:hover {
  background: rgba(16, 185, 129, 0.25);
  border-color: #34D399;
  color: #6EE7B7;
}

body.theme-dark .vip-strip-inline-hint {
  background: rgba(255, 255, 255, 0.06);
  color: #94A3B8;
}

body.theme-dark .vip-cocreation-hint-bar {
  color: #94A3B8;
}

body.theme-dark .vip-service-desc,
body.theme-dark .vip-diag-privacy,
body.theme-dark .vip-pledge-notice,
body.theme-dark .vip-strip-sub {
  color: #94A3B8;
}

body.theme-dark .btn-vip-diagnostics {
  background: #1E293B;
  color: #F1F5F9;
  border-color: rgba(255, 255, 255, 0.15);
}

body.theme-dark .btn-vip-diagnostics:hover {
  background: #059669;
  border-color: #059669;
  color: #FFFFFF;
}

body.theme-dark .vip-pledge-footer {
  border-top-color: rgba(255, 255, 255, 0.08);
}

.qr-pulse-highlight {
  box-shadow: 0 0 0 4px #10b981 !important;
  transition: box-shadow 0.25s ease-in-out;
}

/* ========================================================================= */
/* 2026 专属执业授权与免码入队高奢凭证弹窗系统 (HoldSpace Sovereign License Claim) */
/* ========================================================================= */

#teamJoinDialog {
  border: none;
  background: transparent;
  padding: 0;
}

#teamJoinDialog::backdrop {
  background: rgba(15, 23, 42, 0.65);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.license-claim-card {
  max-width: 480px !important;
  width: 92vw;
  margin: 0 auto;
  background: #FFFFFF;
  border: 1px solid rgba(212, 163, 89, 0.35);
  border-radius: 20px;
  box-shadow: 
    0 24px 64px -12px rgba(15, 23, 42, 0.28),
    0 4px 20px rgba(212, 163, 89, 0.12),
    0 0 0 1px rgba(255, 255, 255, 0.9) inset;
  overflow: hidden;
  position: relative;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

body.theme-dark .license-claim-card {
  background: #111827;
  border-color: rgba(212, 163, 89, 0.3);
  box-shadow: 
    0 24px 64px -12px rgba(0, 0, 0, 0.65),
    0 4px 24px rgba(212, 163, 89, 0.1),
    0 0 0 1px rgba(255, 255, 255, 0.06) inset;
}

/* 顶部流金高光细线 */
.license-claim-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #d4a359 0%, #10b981 50%, #d4a359 100%);
  z-index: 10;
}

/* 弹窗 Header */
#teamJoinDialog .dialog-header {
  padding: 16px 22px 14px;
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.95) 0%, rgba(255, 255, 255, 0.9) 100%);
  border-bottom: 1px solid var(--border-subtle);
}

body.theme-dark #teamJoinDialog .dialog-header {
  background: linear-gradient(180deg, rgba(30, 41, 59, 0.8) 0%, rgba(17, 24, 39, 0.8) 100%);
  border-bottom-color: rgba(255, 255, 255, 0.08);
}

#teamJoinDialog .dialog-title {
  font-family: var(--font-serif, "Songti SC", serif);
  font-size: 16.5px;
  font-weight: 700;
  color: var(--text-primary);
  display: flex;
  align-items: center;
  gap: 6px;
}

#teamJoinDialog .dialog-subtitle {
  font-size: 11.5px;
  color: var(--text-secondary);
  margin-top: 2px;
  display: block;
}

/* 勋章与标题 Hero 区域 */
.license-hero-section {
  text-align: center;
  padding: 4px 0 14px;
}

.license-seal-emblem {
  width: 58px;
  height: 58px;
  margin: 0 auto 12px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.license-seal-emblem .seal-glow {
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 163, 89, 0.35) 0%, rgba(16, 185, 129, 0.15) 60%, transparent 70%);
  filter: blur(6px);
  animation: sealPulse 3s ease-in-out infinite alternate;
}

@keyframes sealPulse {
  0% { transform: scale(0.95); opacity: 0.7; }
  100% { transform: scale(1.08); opacity: 1; }
}

.license-seal-emblem .seal-core {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: linear-gradient(135deg, #ffffff 0%, #f4f6f4 100%);
  border: 2px solid var(--gold-primary, #d4a359);
  box-shadow: 
    0 4px 14px rgba(212, 163, 89, 0.28),
    inset 0 2px 4px rgba(255, 255, 255, 1);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
}

body.theme-dark .license-seal-emblem .seal-core {
  background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
  border-color: #d4a359;
  box-shadow: 
    0 4px 16px rgba(0, 0, 0, 0.5),
    inset 0 1px 2px rgba(255, 255, 255, 0.1);
}

.license-hero-title {
  margin: 0;
  font-family: var(--font-serif, "Songti SC", serif);
  font-size: 16.5px;
  font-weight: 700;
  color: var(--text-primary);
  letter-spacing: -0.01em;
  line-height: 1.4;
}

.license-hero-subtitle {
  margin: 5px 0 0 0;
  font-size: 12px;
  color: var(--text-secondary);
}

/* 换机接管安全卡片 */
.license-handover-card {
  background: rgba(245, 158, 11, 0.08);
  border: 1px solid rgba(245, 158, 11, 0.35);
  border-radius: 12px;
  padding: 11px 14px;
  margin-bottom: 14px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-primary);
}

.license-handover-card .handover-title {
  font-weight: 700;
  color: #b45309;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
}

body.theme-dark .license-handover-card .handover-title {
  color: #fbbf24;
}

/* 数字执业证书金卡 (Certificate Card) */
.license-cert-card {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, rgba(248, 250, 248, 0.9) 100%);
  border: 1px solid rgba(212, 163, 89, 0.3);
  border-radius: 14px;
  padding: 16px;
  margin-bottom: 16px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03);
  position: relative;
}

body.theme-dark .license-cert-card {
  background: linear-gradient(180deg, rgba(30, 41, 59, 0.6) 0%, rgba(15, 23, 42, 0.6) 100%);
  border-color: rgba(212, 163, 89, 0.25);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
}

/* 7 位档案编号核心高亮聚焦盒 */
.cert-id-highlight {
  background: linear-gradient(135deg, rgba(27, 56, 36, 0.05) 0%, rgba(212, 163, 89, 0.06) 100%);
  border: 1px dashed rgba(27, 56, 36, 0.25);
  border-radius: 10px;
  padding: 10px 14px;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

body.theme-dark .cert-id-highlight {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.08) 0%, rgba(212, 163, 89, 0.08) 100%);
  border-color: rgba(16, 185, 129, 0.3);
}

.cert-id-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  text-align: left;
}

.cert-id-label {
  font-size: 11px;
  color: var(--text-muted);
  font-weight: 500;
}

.cert-id-badge {
  font-size: 10px;
  color: var(--forest-primary);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 3px;
}

body.theme-dark .cert-id-badge {
  color: #34d399;
}

.cert-id-value {
  font-family: var(--font-mono, "SF Mono", monospace);
  font-size: 21px;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: var(--forest-primary);
  text-shadow: 0 1px 2px rgba(27, 56, 36, 0.08);
}

body.theme-dark .cert-id-value {
  color: #34d399;
  text-shadow: 0 0 12px rgba(52, 211, 153, 0.35);
}

/* 规格要素 2×2 四宫格 */
.cert-specs-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.cert-spec-item {
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: 8px;
  padding: 7px 10px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  text-align: left;
}

body.theme-dark .cert-spec-item {
  background: rgba(255, 255, 255, 0.03);
  border-color: rgba(255, 255, 255, 0.06);
}

.spec-label {
  font-size: 10.5px;
  color: var(--text-muted);
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 4px;
}

.spec-val {
  font-size: 11.5px;
  color: var(--text-primary);
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.spec-green {
  color: #059669 !important;
}

body.theme-dark .spec-green {
  color: #34d399 !important;
}

/* 称谓表单 */
.license-name-form-group {
  margin-bottom: 18px;
  text-align: left;
}

.license-name-label-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}

.license-field-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-primary);
  display: flex;
  align-items: center;
  gap: 6px;
}

.license-optional-tag {
  font-size: 10.5px;
  font-weight: normal;
  color: var(--text-muted);
  background: var(--bg-subtle, #f1f5f9);
  padding: 1px 6px;
  border-radius: 4px;
}

body.theme-dark .license-optional-tag {
  background: rgba(255, 255, 255, 0.08);
}

.license-field-hint {
  font-size: 11px;
  color: var(--text-muted);
}

.license-input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.license-input-icon {
  position: absolute;
  left: 12px;
  font-size: 14px;
  pointer-events: none;
  opacity: 0.6;
}

.license-field-input {
  width: 100%;
  height: 40px;
  padding: 0 14px 0 36px;
  border-radius: 10px;
  border: 1px solid var(--border-subtle, #e2e8f0);
  background: var(--bg-app, #f8fafc);
  color: var(--text-primary);
  font-size: 13px;
  outline: none;
  transition: all 0.2s ease;
  box-sizing: border-box;
}

.license-field-input:focus {
  background: #ffffff;
  border-color: var(--gold-primary, #d4a359);
  box-shadow: 0 0 0 3px rgba(212, 163, 89, 0.18);
}

body.theme-dark .license-field-input {
  background: #0f172a;
  border-color: #334155;
  color: #f1f5f9;
}

body.theme-dark .license-field-input:focus {
  background: #1e293b;
  border-color: var(--gold-primary, #d4a359);
}

/* 操作按钮组 */
.license-claim-actions {
  display: flex;
  gap: 12px;
  margin-top: 10px;
}

.btn-license-cancel {
  padding: 11px 18px;
  border-radius: 10px;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--text-secondary);
  background: var(--bg-subtle, #f1f5f9);
  border: 1px solid var(--border-subtle, #e2e8f0);
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  white-space: nowrap;
}

.btn-license-cancel:hover {
  background: #e2e8f0;
  color: var(--text-primary);
  transform: translateY(-1px);
}

body.theme-dark .btn-license-cancel {
  background: #1e293b;
  border-color: #334155;
  color: #94a3b8;
}

body.theme-dark .btn-license-cancel:hover {
  background: #334155;
  color: #f1f5f9;
}

.btn-license-confirm {
  flex: 1;
  padding: 11px 22px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 700;
  color: #ffffff !important;
  background: linear-gradient(135deg, #1b3824 0%, #265434 100%) !important;
  border: 1px solid rgba(212, 163, 89, 0.45) !important;
  box-shadow: 
    0 4px 16px rgba(27, 56, 36, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.btn-license-confirm:hover {
  background: linear-gradient(135deg, #152d1c 0%, #1f472b 100%) !important;
  box-shadow: 
    0 6px 22px rgba(27, 56, 36, 0.38),
    inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
  transform: translateY(-1.5px);
}

.btn-license-confirm:active {
  transform: translateY(0) scale(0.99);
}

.btn-license-confirm:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}

/* 底部主权背书注脚 */
.license-claim-security-note {
  margin-top: 14px;
  font-size: 11px;
  color: var(--text-muted);
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}

.license-claim-security-note svg {
  color: var(--forest-primary);
  flex-shrink: 0;
}

body.theme-dark .license-claim-security-note svg {
  color: #34d399;
}




