:root[data-theme='dark'] {
  color-scheme: dark;
  /* 纯色深底，避免浅色渐变残留 */
  --gradient: linear-gradient(180deg, #0f172a, #0f172a);
  --surface: #0f172a;
  --surface-strong: #0f172a;
  --border: rgba(80,94,130,0.6);
  --border-soft: rgba(80,94,130,0.45);
  --accent: #7dd3fc;
  --accent-2: #a78bfa;
  --accent-3: #38bdf8;
  --danger: #fca5a5;
  --success: #34d399;
  --warning: #fbbf24;
  --text-primary: #e5e7eb;
  --text-secondary: #cbd5e1;
  --text-muted: #94a3b8;
  --shadow-1: 0 10px 24px -18px rgba(0,0,0,0.6);
  --shadow-2: 0 18px 44px -30px rgba(0,0,0,0.68);
  --shadow-3: 0 26px 70px -46px rgba(0,0,0,0.72);
  --shadow: var(--shadow-3);
  --shadow-soft: var(--shadow-2);
}

:root[data-theme='dark'] body {
  background: #0f172a !important;
  color: var(--text-primary);
}
html[data-theme='dark'] {
  background: #0f172a !important;
}

:root[data-theme='dark'] a { color: var(--accent-3); }
:root[data-theme='dark'] a:hover { color: var(--accent-2); }

:root[data-theme='dark'] header {
  background: rgba(12,20,36,0.9);
  border-bottom: 1px solid var(--border);
  box-shadow: 0 18px 44px -28px rgba(0,0,0,0.6);
}

:root[data-theme='dark'] main {
  background: var(--surface);
  border-color: var(--border);
  box-shadow: var(--shadow);
  color: var(--text-primary);
}

:root[data-theme='dark'] .user-status a {
  background: rgba(24,32,48,0.85);
  border-color: var(--border);
  color: var(--text-secondary);
}

:root[data-theme='dark'] .user-status .user-name {
  background: rgba(99,102,241,0.22);
  border-color: rgba(99,102,241,0.4);
  color: var(--text-primary);
}

:root[data-theme='dark'] .btn {
  box-shadow: 0 30px 60px -30px rgba(56,189,248,0.45);
}

:root[data-theme='dark'] input,
:root[data-theme='dark'] textarea,
:root[data-theme='dark'] select {
  background: #0b1220;
  border-color: var(--border);
  color: var(--text-primary);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

:root[data-theme='dark'] input::placeholder,
:root[data-theme='dark'] textarea::placeholder {
  color: var(--text-muted);
}

:root[data-theme='dark'] button {
  color: var(--text-primary);
}

/* Index inline recorder */
html[data-theme='dark'] .inline-recorder {
  background: linear-gradient(145deg, rgba(21,26,40,0.98), rgba(17,24,39,0.95)) !important;
  border-color: rgba(99,102,241,0.25) !important;
  box-shadow: 0 24px 48px -30px rgba(0,0,0,0.45), inset 0 1px 0 rgba(255,255,255,0.05) !important;
}

html[data-theme='dark'] .inline-recorder::before {
  background: radial-gradient(160% 120% at 14% 6%, rgba(56,189,248,0.12), transparent 62%);
  opacity: 0.9;
}

html[data-theme='dark'] .inline-recorder-deck {
  background: rgba(30,41,59,0.9) !important;
  border-color: rgba(148,163,184,0.25) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), inset 0 -1px 0 rgba(0,0,0,0.3) !important;
}

html[data-theme='dark'] .inline-recorder-timer-wrap {
  background: rgba(19,23,37,0.75) !important;
  border-color: rgba(148,163,184,0.35) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.08) !important;
}

html[data-theme='dark'] .inline-recorder-timer {
  color: var(--text-primary) !important;
}

html[data-theme='dark'] .inline-recorder-status,
html[data-theme='dark'] .inline-recorder-tip,
html[data-theme='dark'] .inline-recorder-hint {
  color: var(--text-secondary) !important;
}

html[data-theme='dark'] .rec-control {
  background: #0b1220 !important;
  border-color: rgba(148,163,184,0.28) !important;
  box-shadow: 0 16px 32px -26px rgba(0,0,0,0.55) !important;
}

html[data-theme='dark'] .rec-control.rec-stop {
  background: linear-gradient(135deg, rgba(67,77,95,0.95), rgba(55,65,81,0.95)) !important;
  border-color: rgba(148,163,184,0.45) !important;
  box-shadow: 0 18px 32px -26px rgba(0,0,0,0.6) !important;
}

html[data-theme='dark'] .rec-icon-stop {
  background: #e5e7eb !important;
}

/* Index attachment panel */
html[data-theme='dark'] .attachment-panel {
  background: rgba(12, 20, 36, 0.96) !important;
  border-color: var(--border) !important;
  box-shadow: 0 26px 70px -46px rgba(0, 0, 0, 0.72) !important;
}

html[data-theme='dark'] .attachment-meta {
  color: var(--text-secondary) !important;
}

html[data-theme='dark'] .attachment-actions .secondary {
  background: rgba(24, 32, 48, 0.85) !important;
  color: var(--text-secondary) !important;
  border-color: var(--border) !important;
}

html[data-theme='dark'] .attachment-actions .secondary:hover {
  background: rgba(99, 102, 241, 0.16) !important;
  border-color: rgba(99, 102, 241, 0.4) !important;
}

/* Admin dashboard */
:root[data-theme='dark'] .sticky-toc {
  background: linear-gradient(180deg, rgba(17,24,39,0.94), rgba(17,24,39,0.9)) padding-box;
  border-color: var(--border);
  box-shadow: 0 24px 60px -34px rgba(0,0,0,0.55);
}

:root[data-theme='dark'] .sticky-toc a {
  background: rgba(18,24,38,0.9);
  border-color: var(--border-soft);
  color: var(--text-secondary);
}

:root[data-theme='dark'] .sticky-toc a.active {
  background: linear-gradient(135deg, rgba(99,102,241,0.18), rgba(14,165,233,0.18));
  border-color: rgba(99,102,241,0.38);
  color: var(--text-primary);
  box-shadow: 0 14px 30px -24px rgba(0,0,0,0.6);
}

:root[data-theme='dark'] section {
  background: var(--surface-strong);
  border-color: var(--border);
  box-shadow: var(--shadow);
}

:root[data-theme='dark'] section::before {
  background: radial-gradient(circle, rgba(99,102,241,0.18) 0%, rgba(17,24,39,0) 70%);
}

:root[data-theme='dark'] label {
  color: var(--text-secondary);
}

:root[data-theme='dark'] .stat-card,
:root[data-theme='dark'] .pending-card,
:root[data-theme='dark'] .brand-role-card,
:root[data-theme='dark'] .activation-card,
:root[data-theme='dark'] .vector-card {
  background: #0f172a;
  border-color: var(--border);
  box-shadow: 0 18px 48px -32px rgba(0,0,0,0.62);
  color: var(--text-primary);
}

:root[data-theme='dark'] .stat-subtext,
:root[data-theme='dark'] .muted-note {
  color: var(--text-muted);
}

:root[data-theme='dark'] table {
  color: var(--text-primary);
}

:root[data-theme='dark'] table thead {
  background: #111827;
}

:root[data-theme='dark'] table th,
:root[data-theme='dark'] table td {
  border-color: var(--border-soft);
}

:root[data-theme='dark'] .pill {
  background: rgba(99,102,241,0.16);
  color: #c7d2fe;
  border-color: rgba(99,102,241,0.35);
}

/* History mobile report */
:root[data-theme='dark'] body.history-mobile {
  background: #0b1220;
}

:root[data-theme='dark'] .page {
  background: #0f172a;
  border: 1px solid var(--border);
  box-shadow: 0 18px 46px -28px rgba(0,0,0,0.62);
}

:root[data-theme='dark'] .fixed-header-group {
  background: rgba(12,20,36,0.92);
  border-bottom: 1px solid var(--border-soft);
}

:root[data-theme='dark'] .icon-btn {
  background: #111827;
  border: 1px solid var(--border);
  color: var(--text-primary);
  box-shadow: 0 8px 20px rgba(0,0,0,0.5);
}

:root[data-theme='dark'] .tab-switch {
  background: rgba(17,24,39,0.94);
  border-color: var(--border);
  box-shadow: 0 14px 30px -20px rgba(0,0,0,0.6);
}

:root[data-theme='dark'] .tab-btn {
  background: #0b1220;
  border-color: var(--border-soft);
  color: var(--text-secondary);
}

:root[data-theme='dark'] .tab-btn.active {
  background: linear-gradient(135deg, #1f2937, #0f172a);
  color: #c7d2fe;
  border-color: rgba(99,102,241,0.4);
  box-shadow: 0 14px 24px rgba(0,0,0,0.6);
}

:root[data-theme='dark'] .stage-option {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-secondary);
  box-shadow: 0 6px 18px rgba(0,0,0,0.4);
}

:root[data-theme='dark'] .stage-option.active {
  background: #6366f1;
  color: #e5e7eb;
  border-color: rgba(99,102,241,0.6);
}

:root[data-theme='dark'] .title {
  color: #c7d2fe;
  background: linear-gradient(135deg, #a78bfa, #7c3aed 55%, #4f46e5);
}

:root[data-theme='dark'] .title-sub,
:root[data-theme='dark'] .notice {
  color: var(--text-muted);
}

:root[data-theme='dark'] .section {
  background: #0f172a;
  box-shadow: 0 10px 26px rgba(0,0,0,0.45);
}

:root[data-theme='dark'] .report-body {
  color: var(--text-primary);
}

:root[data-theme='dark'] .report-body h1,
:root[data-theme='dark'] .report-body h2,
:root[data-theme='dark'] .report-body h3,
:root[data-theme='dark'] .report-body strong {
  color: var(--text-primary);
}

:root[data-theme='dark'] .report-body p,
:root[data-theme='dark'] .report-body ul,
:root[data-theme='dark'] .report-body ol {
  color: var(--text-secondary);
}

:root[data-theme='dark'] .report-body blockquote {
  background: rgba(59,73,110,0.5);
  border-left-color: #6366f1;
  color: var(--text-secondary);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05);
}

:root[data-theme='dark'] .note-card {
  background: #0f172a;
  border-color: var(--border);
  box-shadow: 0 12px 22px rgba(0,0,0,0.45);
}

:root[data-theme='dark'] .note-title-wrap h4,
:root[data-theme='dark'] .note-title-wrap .note-preview {
  color: var(--text-secondary);
}

:root[data-theme='dark'] .note-toggle-btn {
  background: #0b1220;
  border-color: var(--border);
  color: var(--text-secondary);
  box-shadow: 0 10px 18px rgba(0,0,0,0.45);
}

:root[data-theme='dark'] .note-card textarea {
  background: #0b1220;
  color: var(--text-primary);
  border-color: var(--border);
}

:root[data-theme='dark'] .note-save {
  background: linear-gradient(135deg, #6366f1, #4338ca);
  box-shadow: 0 14px 26px rgba(67,56,202,0.4);
}

:root[data-theme='dark'] .note-status {
  color: var(--text-muted);
}

:root[data-theme='dark'] .transcript-card {
  background: linear-gradient(180deg, #0f172a, #0b1220);
  border-color: rgba(99,102,241,0.32);
  box-shadow: 0 10px 24px rgba(0,0,0,0.5);
}

:root[data-theme='dark'] .transcript-toggle {
  background: linear-gradient(135deg, #0b1220, #0f172a);
  border-color: var(--border);
  color: var(--text-primary);
}

:root[data-theme='dark'] .transcript-toggle .hint {
  color: var(--text-muted);
}

:root[data-theme='dark'] .transcript-body {
  background: #0b1220;
  border-color: var(--border);
  color: var(--text-secondary);
  box-shadow: inset 0 1px 3px rgba(0,0,0,0.45);
}

:root[data-theme='dark'] .transcript-line::before {
  color: var(--text-muted);
}

/* Record register */
:root[data-theme='dark'] .record-shell {
  background: radial-gradient(120% 120% at 20% 10%, #0b1220 0%, #0b1220 55%, #0f172a 100%);
}

:root[data-theme='dark'] .record-phone {
  background: #0b1220;
  border-color: var(--border);
  box-shadow: 0 38px 80px -42px rgba(0,0,0,0.72);
}

:root[data-theme='dark'] .record-inner {
  color: var(--text-primary);
}

:root[data-theme='dark'] .record-topbar {
  color: var(--text-primary);
}

:root[data-theme='dark'] .round-icon-btn {
  background: #111827;
  border-color: var(--border);
  color: var(--text-primary);
  box-shadow: 0 10px 22px rgba(0,0,0,0.55);
}

:root[data-theme='dark'] .login-card {
  background: #0f172a;
  border-color: var(--border);
  box-shadow: 0 18px 32px -22px rgba(0,0,0,0.6);
}

:root[data-theme='dark'] .record-title {
  color: #c7d2fe;
  background: linear-gradient(135deg, #a78bfa, #7c3aed 55%, #4338ca);
}

:root[data-theme='dark'] .subtitle {
  color: var(--text-muted);
}

:root[data-theme='dark'] .form-group label {
  color: var(--text-secondary);
}

:root[data-theme='dark'] .form-group input,
:root[data-theme='dark'] .form-group select {
  background: #0b1220;
  border-color: var(--border);
  color: var(--text-primary);
}

:root[data-theme='dark'] .login-btn {
  background: linear-gradient(135deg, #6366f1, #4338ca);
  box-shadow: 0 18px 30px -18px rgba(67,56,202,0.55);
}

:root[data-theme='dark'] .message {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-primary);
}

:root[data-theme='dark'] .error {
  background: rgba(239,68,68,0.12);
  border-color: rgba(239,68,68,0.45);
  color: #fecdd3;
}

:root[data-theme='dark'] .footer-note,
:root[data-theme='dark'] .footer-note a {
  color: var(--text-muted);
}

:root[data-theme='dark'] .send-btn {
  background: rgba(99,102,241,0.22);
  border-color: rgba(99,102,241,0.45);
  color: #c7d2fe;
}

/* Record profile */
:root[data-theme='dark'] .profile-shell {
  background: radial-gradient(120% 120% at 20% 10%, #0b1220 0%, #0b1220 55%, #0f172a 100%);
}

:root[data-theme='dark'] .profile-phone {
  background: #0b1220;
  border-color: var(--border);
  box-shadow: 0 38px 80px -42px rgba(0,0,0,0.72);
}

:root[data-theme='dark'] .profile-inner {
  color: var(--text-primary);
}

:root[data-theme='dark'] .profile-topbar {
  background: #0b1220;
}

:root[data-theme='dark'] .profile-title {
  color: var(--text-primary);
}

:root[data-theme='dark'] .lang-switch {
  background: #0b1220;
  border-color: var(--border);
  box-shadow: 0 10px 20px rgba(0,0,0,0.55);
}

:root[data-theme='dark'] .lang-btn {
  color: var(--text-secondary);
}

:root[data-theme='dark'] .lang-btn.active {
  background: linear-gradient(135deg, #1f2937, #0f172a);
  color: #c7d2fe;
}

:root[data-theme='dark'] .toggle-pill {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-primary);
  box-shadow: 0 12px 24px rgba(0,0,0,0.55);
}

:root[data-theme='dark'] .toggle-pill i {
  color: #c7d2fe;
}

:root[data-theme='dark'] .brand-notice-banner {
  background: rgba(251,191,36,0.12);
  border-color: rgba(251,191,36,0.35);
  color: #fef9c3;
  box-shadow: 0 20px 36px -28px rgba(0,0,0,0.55);
}

/* Accessibility helpers */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Theme toggle (icon-only) */
.toggle-pill[data-theme-toggle] {
  width: 34px;
  height: 34px;
  padding: 0;
  gap: 0;
  justify-content: center;
  border-radius: 10px;
}

.toggle-pill[data-theme-toggle] .theme-toggle-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  color: currentColor;
  position: relative;
  overflow: hidden;
  line-height: 0;
}

.toggle-pill[data-theme-toggle] .theme-toggle-icon svg {
  display: none !important;
  position: absolute;
  inset: 0;
  width: 18px;
  height: 18px;
  opacity: 0;
  transform: translateZ(0);
}

html[data-theme-mode="system"] .toggle-pill[data-theme-toggle] .theme-toggle-icon svg[data-icon="system"] { display: block !important; opacity: 1; }
html[data-theme-mode="dark"] .toggle-pill[data-theme-toggle] .theme-toggle-icon svg[data-icon="dark"] { display: block !important; opacity: 1; }
html[data-theme-mode="light"] .toggle-pill[data-theme-toggle] .theme-toggle-icon svg[data-icon="light"] { display: block !important; opacity: 1; }
html:not([data-theme-mode])[data-theme="dark"] .toggle-pill[data-theme-toggle] .theme-toggle-icon svg[data-icon="dark"] { display: block !important; opacity: 1; }
html:not([data-theme-mode]):not([data-theme="dark"]) .toggle-pill[data-theme-toggle] .theme-toggle-icon svg[data-icon="light"] { display: block !important; opacity: 1; }

@media (max-width: 768px) {
  .toggle-pill[data-theme-toggle] {
    width: 30px;
    height: 30px;
    border-radius: 9px;
  }
}

/* Intro.js onboarding (shared) */
.introjs-overlay {
  background: rgba(2, 6, 23, 0.52) !important;
  backdrop-filter: blur(2px);
}

.introjs-tooltip,
.index-intro-tooltip,
.history-intro-tooltip {
  background:
    linear-gradient(rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.96)) padding-box,
    linear-gradient(135deg, rgba(59, 130, 246, 0.55), rgba(99, 102, 241, 0.42), rgba(45, 212, 191, 0.5)) border-box !important;
  color: var(--text-primary) !important;
  border: 1px solid transparent !important;
  border-radius: 16px !important;
  box-shadow:
    0 34px 80px -56px rgba(2, 6, 23, 0.35),
    0 0 0 1px rgba(255, 255, 255, 0.35) inset !important;
  font-family: "Inter", "PingFang SC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  max-width: 360px !important;
  opacity: 1 !important;
  overflow: hidden;
  padding: 1.05rem 1.1rem 1.05rem !important;
  animation: introTooltipPop 140ms ease-out;
}

.introjs-tooltip * {
  box-sizing: border-box;
}

@keyframes introTooltipPop {
  from { opacity: 0; transform: translateY(6px) scale(0.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.introjs-tooltip::before,
.index-intro-tooltip::before,
.history-intro-tooltip::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, rgba(59, 130, 246, 0.92), rgba(99, 102, 241, 0.9), rgba(45, 212, 191, 0.92));
  opacity: 0.9;
}

.introjs-arrow {
  border-color: rgba(255, 255, 255, 0.96) !important;
}

.introjs-tooltip .introjs-tooltip-header,
.index-intro-tooltip .introjs-tooltip-header,
.history-intro-tooltip .introjs-tooltip-header {
  display: none !important;
}

.introjs-tooltiptext,
.introjs-tooltip-title {
  color: var(--text-primary) !important;
  font-size: 0.95rem !important;
  line-height: 1.55 !important;
}

.introjs-tooltiptext {
  padding-top: 0.3rem !important;
}

.introjs-tooltiptext::before {
  content: "新手引导";
  display: block;
  font-size: 0.74rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(71, 85, 105, 0.9);
  margin-bottom: 0.4rem;
}

.introjs-tooltipbuttons,
.introjs-buttons {
  margin-top: 0.95rem !important;
  display: flex !important;
  gap: 0.5rem !important;
  justify-content: flex-end !important;
  align-items: center !important;
}

.introjs-button {
  border-radius: 12px !important;
  border: 1px solid rgba(203, 213, 225, 0.7) !important;
  background: rgba(248, 250, 252, 0.9) !important;
  color: var(--text-primary) !important;
  font-weight: 700 !important;
  font-family: inherit !important;
  padding: 0.5rem 1rem !important;
  text-shadow: none !important;
  box-shadow: 0 16px 34px -28px rgba(2, 6, 23, 0.22) !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, border-color 0.18s ease !important;
}

.introjs-button::after,
.introjs-button::before {
  content: "";
}

.introjs-button:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 22px 44px -34px rgba(2, 6, 23, 0.28) !important;
  border-color: rgba(99, 102, 241, 0.35) !important;
  background: rgba(238, 242, 255, 0.9) !important;
}

.introjs-button:focus-visible {
  outline: 2px solid rgba(59, 130, 246, 0.55) !important;
  outline-offset: 2px !important;
}

.introjs-nextbutton,
.introjs-donebutton {
  border: none !important;
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.95), rgba(99, 102, 241, 0.92)) !important;
  color: #fff !important;
}

.introjs-nextbutton::after {
  content: "→";
  margin-left: 0.5rem;
  font-weight: 800;
}

.introjs-donebutton::after {
  content: "✓";
  margin-left: 0.5rem;
  font-weight: 900;
}

.introjs-prevbutton {
  background: rgba(255, 255, 255, 0.75) !important;
}

.introjs-prevbutton::before {
  content: "←";
  margin-right: 0.5rem;
  font-weight: 800;
}

.introjs-skipbutton {
  position: absolute !important;
  top: 0.65rem !important;
  right: 0.75rem !important;
  width: 30px !important;
  height: 30px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  font-size: 0 !important;
  background: rgba(15, 23, 42, 0.04) !important;
  border: 1px solid rgba(203, 213, 225, 0.7) !important;
  color: var(--text-secondary) !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.introjs-skipbutton::before {
  content: "×";
  font-size: 18px;
  line-height: 1;
  color: inherit;
}

.introjs-skipbutton:hover {
  background: rgba(99, 102, 241, 0.12) !important;
  border-color: rgba(99, 102, 241, 0.35) !important;
  color: var(--text-primary) !important;
}

.intro-no-skip .introjs-skipbutton {
  display: none !important;
}

.introjs-helperLayer {
  border-radius: 16px !important;
  box-shadow:
    0 0 0 4px rgba(59, 130, 246, 0.16),
    0 28px 60px -40px rgba(2, 6, 23, 0.38) !important;
}

.index-intro-highlight,
.history-intro-highlight {
  border-radius: 16px !important;
  box-shadow: 0 0 0 6px rgba(45, 212, 191, 0.22) !important;
}

.introjs-helperNumberLayer {
  background: rgba(59, 130, 246, 0.92) !important;
  color: #fff !important;
  border: 2px solid rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 18px 34px -22px rgba(2, 6, 23, 0.35) !important;
  font-weight: 800 !important;
}

.introjs-progress {
  background: rgba(148, 163, 184, 0.22) !important;
  border-radius: 999px !important;
  overflow: hidden !important;
}

.introjs-progressbar {
  background: linear-gradient(90deg, rgba(59, 130, 246, 0.95), rgba(45, 212, 191, 0.92)) !important;
}

.introjs-top-fix {
  transform: translateY(-10px) !important;
}

.index-history-bridge {
  display: none !important;
}
.index-history-bridge-highlight {
  box-shadow: none !important;
  background: transparent !important;
}

html[data-theme='dark'] .introjs-tooltip,
html[data-theme='dark'] .index-intro-tooltip,
html[data-theme='dark'] .history-intro-tooltip {
  background:
    linear-gradient(rgba(15, 23, 42, 0.96), rgba(15, 23, 42, 0.96)) padding-box,
    linear-gradient(135deg, rgba(99, 102, 241, 0.45), rgba(45, 212, 191, 0.32), rgba(59, 130, 246, 0.35)) border-box !important;
  border-color: transparent !important;
  box-shadow: 0 38px 86px -58px rgba(0, 0, 0, 0.7) !important;
}

html[data-theme='dark'] .introjs-tooltiptext,
html[data-theme='dark'] .introjs-tooltip-title {
  color: rgba(226, 232, 240, 0.98) !important;
}

html[data-theme='dark'] .introjs-tooltiptext::before {
  color: rgba(148, 163, 184, 0.95);
}

html[data-theme='dark'] .introjs-button {
  background: rgba(15, 23, 42, 0.85) !important;
  border-color: rgba(51, 65, 85, 0.9) !important;
  color: rgba(226, 232, 240, 0.98) !important;
  box-shadow: 0 18px 36px -30px rgba(0, 0, 0, 0.65) !important;
}

html[data-theme='dark'] .introjs-button:hover {
  background: rgba(99, 102, 241, 0.14) !important;
  border-color: rgba(99, 102, 241, 0.35) !important;
}

html[data-theme='dark'] .introjs-prevbutton {
  background: rgba(15, 23, 42, 0.6) !important;
}

html[data-theme='dark'] .introjs-skipbutton {
  background: rgba(2, 6, 23, 0.35) !important;
  border-color: rgba(51, 65, 85, 0.9) !important;
  color: rgba(226, 232, 240, 0.92) !important;
}

:root[data-theme='dark'] .notice-card {
  background: rgba(59,73,110,0.5);
  border-color: var(--border);
  color: var(--text-primary);
  box-shadow: 0 14px 30px -22px rgba(0,0,0,0.55);
}

:root[data-theme='dark'] .info-card {
  background: rgba(14,165,233,0.12);
  border-color: rgba(14,165,233,0.35);
  color: #bae6fd;
}

:root[data-theme='dark'] .workspace-card,
:root[data-theme='dark'] .status-card,
:root[data-theme='dark'] .morning-brief-card {
  background: #0f172a;
  border-color: var(--border);
  box-shadow: 0 20px 46px -26px rgba(0,0,0,0.62);
  color: var(--text-primary);
}

:root[data-theme='dark'] .workspace-card.chat-card {
  background: #0b1220;
}

:root[data-theme='dark'] .history-card {
  background: #0f172a;
  border-color: var(--border);
}

:root[data-theme='dark'] .locked-card .locked-notice {
  background: rgba(99,102,241,0.1);
  border-color: rgba(99,102,241,0.35);
  color: #c7d2fe;
}

:root[data-theme='dark'] .brand-prompt-message {
  color: var(--text-secondary);
}

:root[data-theme='dark'] .chat-window {
  background: #0b1220;
  border-color: var(--border);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.02);
}

:root[data-theme='dark'] .message .bubble {
  color: var(--text-primary);
  border-color: var(--border);
}

:root[data-theme='dark'] .message .meta {
  color: var(--text-muted);
}

:root[data-theme='dark'] header {
  background: #0b1220;
  border-bottom: 1px solid var(--border);
  box-shadow: 0 18px 44px -26px rgba(0,0,0,0.65);
}

:root[data-theme='dark'] .header-container h1,
:root[data-theme='dark'] .header-container .logo-text {
  color: var(--text-primary);
}

:root[data-theme='dark'] .header-link,
:root[data-theme='dark'] .user-info a {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-secondary);
}

:root[data-theme='dark'] .header-link:hover,
:root[data-theme='dark'] .user-info a:hover {
  background: rgba(99,102,241,0.16);
  border-color: rgba(99,102,241,0.38);
  color: var(--text-primary);
}

:root[data-theme='dark'] .drawer-toggle {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-secondary);
}

:root[data-theme='dark'] .chat-sidebar {
  background: #0b1220;
  border-right: 1px solid var(--border);
  box-shadow: inset -1px 0 0 rgba(255,255,255,0.03);
  color: var(--text-secondary);
}

:root[data-theme='dark'] .sidebar-btn {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-primary);
  box-shadow: 0 12px 22px -16px rgba(0,0,0,0.55);
}

:root[data-theme='dark'] .chat-session-list .session,
:root[data-theme='dark'] .chat-session-list button {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-secondary);
}

:root[data-theme='dark'] .chat-session-list .session.active {
  background: linear-gradient(135deg, rgba(99,102,241,0.22), rgba(14,165,233,0.16));
  color: var(--text-primary);
  border-color: rgba(99,102,241,0.5);
}

:root[data-theme='dark'] .chat-session-item {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-secondary);
  box-shadow: 0 10px 22px -16px rgba(0,0,0,0.55);
}

:root[data-theme='dark'] .chat-session-item:hover {
  background: rgba(99,102,241,0.18);
  border-color: rgba(99,102,241,0.4);
  color: var(--text-primary);
}

:root[data-theme='dark'] .chat-session-item.active {
  background: #1f2937 !important;
  background-image: none !important;
  border-color: rgba(99,102,241,0.55);
  color: var(--text-primary);
}

:root[data-theme='dark'] .chat-session-item .time {
  color: var(--text-muted);
  background: transparent;
}

:root[data-theme='dark'] .chat-session-row {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-secondary);
  box-shadow: 0 10px 22px -16px rgba(0,0,0,0.55);
}

:root[data-theme='dark'] .chat-session-row:hover {
  background: rgba(99,102,241,0.18);
  border-color: rgba(99,102,241,0.4);
  color: var(--text-primary);
}

:root[data-theme='dark'] .chat-session-row .time {
  color: var(--text-muted);
  background: transparent;
}

:root[data-theme='dark'] .chat-session-row.active {
  background: #1f2937 !important;
  background-image: none !important;
  border-color: rgba(99,102,241,0.55);
  color: var(--text-primary);
}

:root[data-theme='dark'] .chat-session-row.active .time {
  color: var(--text-primary);
}

:root[data-theme='dark'] .chat-session-row .delete-session {
  color: var(--text-muted);
}

:root[data-theme='dark'] .chat-session-row.active .delete-session {
  color: var(--text-primary);
}

:root[data-theme='dark'] .btn {
  background: linear-gradient(135deg, rgba(59,130,246,0.9), rgba(99,102,241,0.85));
  color: #e5e7eb;
  box-shadow: 0 24px 48px -30px rgba(59,130,246,0.45);
}

:root[data-theme='dark'] .btn.secondary {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-secondary);
  box-shadow: none;
}

:root[data-theme='dark'] .btn.danger {
  background: linear-gradient(135deg, rgba(239,68,68,0.9), rgba(185,28,28,0.9));
  box-shadow: 0 24px 44px -32px rgba(239,68,68,0.35);
}

:root[data-theme='dark'] button:disabled {
  background: rgba(255,255,255,0.08);
  color: var(--text-muted);
  box-shadow: none;
}

:root[data-theme='dark'] body.history-page {
  background: #0b1220;
  color: var(--text-primary);
}

:root[data-theme='dark'] .page-header {
  background: rgba(11,18,32,0.96);
  border-bottom: 1px solid var(--border);
  box-shadow: 0 16px 36px -24px rgba(0,0,0,0.65);
}

:root[data-theme='dark'] .page-header h1,
:root[data-theme='dark'] .page-header .page-label {
  color: var(--text-primary);
}

:root[data-theme='dark'] .user-info a,
:root[data-theme='dark'] .user-info span {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-secondary);
}

:root[data-theme='dark'] .tab-pill {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-secondary);
}

:root[data-theme='dark'] .tab-pill.is-active {
  background: linear-gradient(135deg, rgba(99,102,241,0.24), rgba(14,165,233,0.16));
  border-color: rgba(99,102,241,0.45);
  color: var(--text-primary);
}

:root[data-theme='dark'] .filters {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-primary);
  box-shadow: 0 18px 40px -26px rgba(0,0,0,0.6);
}

:root[data-theme='dark'] .filters input,
:root[data-theme='dark'] .filters select {
  background: #0b1220;
  border-color: var(--border);
  color: var(--text-primary);
}

:root[data-theme='dark'] .filters input::placeholder {
  color: var(--text-muted);
}

:root[data-theme='dark'] .record-card,
:root[data-theme='dark'] .history-card-block {
  background: #0f172a;
  border-color: var(--border);
  box-shadow: 0 18px 40px -28px rgba(0,0,0,0.62);
  color: var(--text-primary);
}

:root[data-theme='dark'] .record-card h3,
:root[data-theme='dark'] .record-card .meta,
:root[data-theme='dark'] .history-card-block h4 {
  color: var(--text-primary);
}

:root[data-theme='dark'] .record-card .meta small {
  color: var(--text-muted);
}

:root[data-theme='dark'] .stage-badge,
:root[data-theme='dark'] .tag {
  background: rgba(99,102,241,0.2);
  border-color: rgba(99,102,241,0.4);
  color: #c7d2fe;
}

:root[data-theme='dark'] .pagination button,
:root[data-theme='dark'] .pagination .page-info {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-secondary);
}

:root[data-theme='dark'] .pagination button.active {
  background: rgba(99,102,241,0.26);
  color: var(--text-primary);
  border-color: rgba(99,102,241,0.45);
}

:root[data-theme='dark'] .pagination button:hover {
  background: rgba(99,102,241,0.18);
  color: var(--text-primary);
}

:root[data-theme='dark'] .chip,
:root[data-theme='dark'] .chip.warning,
:root[data-theme='dark'] .chip.info {
  background: #0b1220;
  border-color: var(--border);
  color: var(--text-primary);
}

:root[data-theme='dark'] .chip.success {
  background: rgba(52,211,153,0.16);
  border-color: rgba(52,211,153,0.35);
  color: #bbf7d0;
}

:root[data-theme='dark'] .chip.danger {
  background: rgba(248,113,113,0.14);
  border-color: rgba(248,113,113,0.4);
  color: #fecdd3;
}

:root[data-theme='dark'] .history-sidebar {
  background: #0b1220;
  border-color: var(--border);
  color: var(--text-secondary);
}

:root[data-theme='dark'] .history-sidebar .filter-group label {
  color: var(--text-secondary);
}

:root[data-theme='dark'] .history-sidebar input,
:root[data-theme='dark'] .history-sidebar select {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-primary);
}

:root[data-theme='dark'] .history-sidebar .filter-chip {
  background: rgba(99,102,241,0.16);
  border-color: rgba(99,102,241,0.35);
  color: #c7d2fe;
}

:root[data-theme='dark'] .history-sidebar .filter-chip.active {
  background: linear-gradient(135deg, rgba(99,102,241,0.22), rgba(14,165,233,0.18));
  border-color: rgba(99,102,241,0.45);
}

:root[data-theme='dark'] .history-sidebar button {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-secondary);
}

:root[data-theme='dark'] .history-sidebar button:hover {
  background: rgba(99,102,241,0.16);
  color: var(--text-primary);
}

:root[data-theme='dark'] .mini-feedback button {
  background: rgba(255,255,255,0.08);
  border-color: var(--border);
  color: #e0e0e0;
  box-shadow: 0 8px 18px -12px rgba(0,0,0,0.5);
}

:root[data-theme='dark'] .mini-feedback button,
:root[data-theme='dark'] .mini-feedback button:hover,
:root[data-theme='dark'] .mini-feedback button.is-done,
:root[data-theme='dark'] .mini-feedback button:disabled {
  background: rgba(31,41,55,0.9);
}

:root[data-theme='dark'] .mini-feedback button:hover:not(.is-done):not(:disabled) {
  background: rgba(99,102,241,0.22);
}

:root[data-theme='dark'] .mini-feedback button:hover:not(.is-done):not(:disabled) {
  background: rgba(99,102,241,0.18);
  border-color: rgba(99,102,241,0.4);
  color: #e5e7eb;
}

:root[data-theme='dark'] .mini-feedback button.is-done,
:root[data-theme='dark'] .mini-feedback button:disabled {
  background: rgba(255,255,255,0.06);
  border-color: var(--border);
  color: var(--text-muted);
  box-shadow: none;
}

:root[data-theme='dark'] .history-empty {
  color: var(--text-muted);
  background: #0f172a;
  border: 1px dashed var(--border);
}

:root[data-theme='dark'] .brand-chip {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-secondary);
}

:root[data-theme='dark'] .brand-chip:hover {
  background: rgba(99,102,241,0.16);
  border-color: rgba(99,102,241,0.4);
  color: var(--text-primary);
}

:root[data-theme='dark'] .brand-chip.active {
  background: linear-gradient(135deg, rgba(99,102,241,0.26), rgba(14,165,233,0.18));
  color: var(--text-primary);
  box-shadow: 0 14px 28px -20px rgba(0,0,0,0.55);
}

:root[data-theme='dark'] .pagination-bar .page-summary {
  color: var(--text-muted);
}

:root[data-theme='dark'] .page-btn {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-secondary);
  box-shadow: 0 10px 22px -16px rgba(0,0,0,0.55);
}

:root[data-theme='dark'] .page-btn:hover {
  background: rgba(99,102,241,0.16);
  color: var(--text-primary);
}

:root[data-theme='dark'] .page-btn.active {
  background: linear-gradient(135deg, rgba(99,102,241,0.32), rgba(14,165,233,0.2));
  color: var(--text-primary);
  border-color: rgba(99,102,241,0.5);
  box-shadow: 0 16px 28px -22px rgba(0,0,0,0.6);
}

:root[data-theme='dark'] .brand-tag,
:root[data-theme='dark'] .owner-tag {
  background: rgba(99,102,241,0.16);
  color: var(--text-primary);
  border: 1px solid var(--border);
}

:root[data-theme='dark'] .flash {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-secondary);
  box-shadow: 0 12px 32px -26px rgba(0,0,0,0.6);
}

:root[data-theme='dark'] .flash i {
  color: #c7d2fe;
}

:root[data-theme='dark'] main {
  background: #0f172a;
  border-color: var(--border);
  box-shadow: var(--shadow);
}

:root[data-theme='dark'] .list-item {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-primary);
  box-shadow: 0 16px 34px -28px rgba(0,0,0,0.6);
}

:root[data-theme='dark'] .record-group {
  border-top-color: var(--border);
}

:root[data-theme='dark'] .record-content {
  background: #0b1220;
  border-color: var(--border);
  color: var(--text-secondary);
}

:root[data-theme='dark'] .record-content .token-usage-line.record-usage {
  color: var(--text-muted);
}

:root[data-theme='dark'] .record-delete-btn {
  background: rgba(248,113,113,0.16);
  border-color: rgba(248,113,113,0.45);
  color: #fecdd3;
  box-shadow: 0 10px 26px -20px rgba(0,0,0,0.6);
}

:root[data-theme='dark'] .task-status-card {
  background: #0f172a;
  border-color: var(--border);
  box-shadow: 0 12px 28px -22px rgba(0,0,0,0.55);
  color: var(--text-primary);
}

:root[data-theme='dark'] .task-status-card h4 {
  color: var(--text-primary);
}

:root[data-theme='dark'] .task-status-summary {
  color: var(--text-secondary);
}

:root[data-theme='dark'] .task-status-meta {
  color: var(--text-muted);
}

:root[data-theme='dark'] .task-toggle {
  background: rgba(99,102,241,0.16);
  color: #c7d2fe;
}

:root[data-theme='dark'] .task-toggle:hover {
  background: rgba(99,102,241,0.22);
}

:root[data-theme='dark'] .task-status-list li {
  border-color: var(--border);
}

:root[data-theme='dark'] .task-status-list li span.status-label {
  color: var(--text-secondary);
}

:root[data-theme='dark'] .task-status-list li span.status-meta {
  color: var(--text-muted);
}

:root[data-theme='dark'] .task-status-empty {
  color: var(--text-muted);
  border-color: var(--border);
}

:root[data-theme='dark'] .record-tags {
  background: #0b1220;
  border-color: var(--border);
  color: var(--text-secondary);
}

:root[data-theme='dark'] .record-detail {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-primary);
}

:root[data-theme='dark'] .record-detail p,
:root[data-theme='dark'] .record-detail ul,
:root[data-theme='dark'] .record-detail ol {
  color: var(--text-secondary);
}

:root[data-theme='dark'] .tag {
  background: rgba(99,102,241,0.16);
  border-color: rgba(99,102,241,0.35);
  color: #c7d2fe;
}

:root[data-theme='dark'] .tag i {
  color: #c7d2fe;
}

:root[data-theme='dark'] .tag.admin {
  background: rgba(59,130,246,0.2);
  border-color: rgba(59,130,246,0.45);
  color: #dbeafe;
}

:root[data-theme='dark'] .tag.tag-focus {
  border-color: #fb923c;
  color: #fed7aa;
}

:root[data-theme='dark'] .record-audio {
  background: #0f172a;
  border-color: var(--border);
  box-shadow: 0 6px 14px rgba(0,0,0,0.5);
  color: var(--text-secondary);
}

:root[data-theme='dark'] .record-audio-head {
  color: var(--text-secondary);
}

:root[data-theme='dark'] .record-audio audio {
  background: #0b1220;
  border-color: var(--border);
}

:root[data-theme='dark'] .record-transcript {
  background: #0b1220;
  border-color: var(--border);
  color: var(--text-secondary);
}

:root[data-theme='dark'] .record-transcript .hint {
  color: var(--text-muted);
}

:root[data-theme='dark'] .record-transcript-body {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-primary);
}

:root[data-theme='dark'] .history-entry details.report-details {
  background: #0f172a;
  border-color: var(--border);
  box-shadow: 0 16px 34px -26px rgba(0,0,0,0.6);
}

:root[data-theme='dark'] .history-entry details.report-details summary.report-toggle {
  background: #1f2937;
  border-color: var(--border);
  color: #c7d2fe;
}

:root[data-theme='dark'] .history-entry details.report-details summary.report-toggle:hover {
  background: rgba(99,102,241,0.18);
  border-color: rgba(99,102,241,0.45);
  color: #e5e7eb;
}

:root[data-theme='dark'] .history-entry details.report-details > *:not(summary) {
  background: #0b1220;
  color: var(--text-secondary);
  border-top: 1px solid var(--border);
}

:root[data-theme='dark'] .entry-header-line {
  background: #0f172a;
  border: 1px solid var(--border);
}

:root[data-theme='dark'] .entry-index,
:root[data-theme='dark'] .entry-meta .ts-text,
:root[data-theme='dark'] .entry-meta {
  color: var(--text-primary);
}

:root[data-theme='dark'] .history-top-pagination {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-primary);
}

:root[data-theme='dark'] .history-top-pagination a {
  background: #0b1220;
  border-color: var(--border);
  color: #e5e7eb;
}

:root[data-theme='dark'] .history-top-pagination a:hover {
  background: rgba(99,102,241,0.2);
  border-color: rgba(99,102,241,0.45);
  color: #fff;
}

:root[data-theme='dark'] .focus-hint-group {
  background: #0f172a;
  border-color: var(--border);
}

:root[data-theme='dark'] .focus-hint-toggle {
  color: var(--text-primary);
}

:root[data-theme='dark'] .focus-hint-toggle-main i,
:root[data-theme='dark'] .focus-hint-chevron {
  color: #c7d2fe;
}

:root[data-theme='dark'] .focus-hint-optional {
  background: rgba(99,102,241,0.2);
  color: #c7d2fe;
}

:root[data-theme='dark'] .focus-hint-preview {
  color: var(--text-secondary);
}

:root[data-theme='dark'] .focus-hint-feedback {
  color: var(--text-muted);
}

:root[data-theme='dark'] .focus-hint-group textarea,
:root[data-theme='dark'] .focus-hint-group textarea:focus,
:root[data-theme='dark'] textarea#focus_hint,
:root[data-theme='dark'] textarea#focus_hint:focus {
  background: #0b1220 !important;
  border-color: var(--border) !important;
  color: rgba(226, 232, 240, 0.98) !important;
}

:root[data-theme='dark'] .focus-hint-group textarea:focus,
:root[data-theme='dark'] textarea#focus_hint:focus {
  border-color: rgba(99, 102, 241, 0.55) !important;
  box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.18) !important;
}

:root[data-theme='dark'] .focus-hint-group textarea::placeholder,
:root[data-theme='dark'] textarea#focus_hint::placeholder {
  color: rgba(148, 163, 184, 0.92) !important;
}

:root[data-theme='dark'] .brand-prompt-modal {
  background: #0f172a;
  border-color: var(--border);
  box-shadow: 0 32px 64px -32px rgba(0,0,0,0.7);
  color: var(--text-primary);
}

:root[data-theme='dark'] .brand-prompt-header h3 {
  color: var(--text-primary);
}

:root[data-theme='dark'] .brand-prompt-brand {
  background: rgba(99,102,241,0.2);
  border-color: rgba(99,102,241,0.45);
  color: #c7d2fe;
}

:root[data-theme='dark'] .brand-prompt-message {
  color: var(--text-secondary);
}

:root[data-theme='dark'] #brand-generator-answer,
:root[data-theme='dark'] #brand-prompt-textarea {
  background: #0b1220;
  border-color: var(--border);
  color: var(--text-primary);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.05);
}

:root[data-theme='dark'] #brand-generator-answer::placeholder,
:root[data-theme='dark'] #brand-prompt-textarea::placeholder {
  color: var(--text-muted);
}

:root[data-theme='dark'] #brand-generator-progress,
:root[data-theme='dark'] #brand-generator-question {
  color: var(--text-primary);
}

:root[data-theme='dark'] .brand-generator-example {
  background: #0b1220;
  border-color: var(--border);
  color: var(--text-secondary);
}

:root[data-theme='dark'] .brand-generator-example-fill {
  background: rgba(99,102,241,0.16);
  border: 1px solid rgba(99,102,241,0.4);
  color: #c7d2fe;
}

:root[data-theme='dark'] .brand-generator-preview {
  background: #0b1220;
  border-color: var(--border);
  color: var(--text-secondary);
}

:root[data-theme='dark'] .brand-generator-review-label {
  color: var(--text-muted);
}

:root[data-theme='dark'] .brand-generator-review-input {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-primary);
}

:root[data-theme='dark'] .brand-generator-review-example {
  background: rgba(99,102,241,0.16);
  border-color: rgba(99,102,241,0.4);
  color: #c7d2fe;
}

:root[data-theme='dark'] .brand-generator-review-fill {
  background: rgba(99,102,241,0.18);
  border: 1px solid rgba(99,102,241,0.45);
  color: #e5e7eb;
}

:root[data-theme='dark'] .brand-generator-review-fill:hover {
  background: rgba(99,102,241,0.24);
}

:root[data-theme='dark'] .brand-generator-preview-content {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-secondary);
}

/* 兜底：策略/摘要中可能插入的内联浅色卡片，强制暗色化 */
:root[data-theme='dark'] .strategy-rich > div[style] {
  background: #0f172a !important;
  border-color: var(--border) !important;
  color: var(--text-primary) !important;
  box-shadow: 0 10px 24px -18px rgba(0,0,0,0.55) !important;
}
:root[data-theme='dark'] .strategy-rich > div[style] p {
  color: var(--text-secondary) !important;
}
:root[data-theme='dark'] .strategy-rich > div[style] strong {
  color: var(--text-primary) !important;
}

:root[data-theme='dark'] .note-toggle {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-primary);
  box-shadow: 0 8px 18px -12px rgba(0,0,0,0.5);
}

:root[data-theme='dark'] .note-toggle:hover {
  background: rgba(99,102,241,0.18);
  border-color: rgba(99,102,241,0.4);
}

:root[data-theme='dark'] .note-collapse {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-primary);
}

:root[data-theme='dark'] .note-label {
  color: var(--text-muted);
}

:root[data-theme='dark'] .note-textarea {
  background: #0b1220;
  border-color: var(--border);
  color: var(--text-primary);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

:root[data-theme='dark'] .note-textarea::placeholder {
  color: var(--text-muted);
}

:root[data-theme='dark'] .note-save {
  background: linear-gradient(135deg, #6366f1, #4338ca);
  color: #e5e7eb;
  box-shadow: 0 14px 28px -18px rgba(67,56,202,0.45);
}

:root[data-theme='dark'] .note-save:disabled {
  background: rgba(255,255,255,0.08);
  color: var(--text-muted);
  box-shadow: none;
}

:root[data-theme='dark'] .chat-session-left .title {
  color: var(--text-primary);
}

/* Profile page */
:root[data-theme='dark'] .profile-page main {
  background: var(--surface);
  border-color: var(--border);
  box-shadow: var(--shadow);
  color: var(--text-primary);
}

:root[data-theme='dark'] .profile-page .card {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-primary);
  box-shadow: 0 16px 36px -24px rgba(0,0,0,0.6);
}

:root[data-theme='dark'] .profile-page .card h2 {
  color: var(--text-primary);
}

:root[data-theme='dark'] .profile-page label,
:root[data-theme='dark'] .profile-page .section-header {
  color: var(--text-secondary);
}

:root[data-theme='dark'] .profile-page input[type="text"],
:root[data-theme='dark'] .profile-page input[type="password"],
:root[data-theme='dark'] .profile-page input[type="email"],
:root[data-theme='dark'] .profile-page select,
:root[data-theme='dark'] .profile-page textarea {
  background: #0b1220;
  border-color: var(--border);
  color: var(--text-primary);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

:root[data-theme='dark'] .profile-page input::placeholder,
:root[data-theme='dark'] .profile-page textarea::placeholder {
  color: var(--text-muted);
}

:root[data-theme='dark'] .profile-page .flash {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-secondary);
  box-shadow: 0 12px 28px -22px rgba(0,0,0,0.55);
}

:root[data-theme='dark'] .profile-page .flash.success {
  background: rgba(34,197,94,0.12);
  border-color: rgba(34,197,94,0.35);
  color: #bbf7d0;
}

:root[data-theme='dark'] .profile-page .flash.error {
  background: rgba(239,68,68,0.14);
  border-color: rgba(239,68,68,0.35);
  color: #fecdd3;
}

:root[data-theme='dark'] .profile-page .flash.info {
  background: rgba(59,130,246,0.12);
  border-color: rgba(59,130,246,0.32);
  color: #c7d2fe;
}

:root[data-theme='dark'] .profile-page .account-card,
:root[data-theme='dark'] .profile-page .card.account-card {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-primary);
}

:root[data-theme='dark'] .profile-page .card .hint,
:root[data-theme='dark'] .profile-page .token-inline-line,
:root[data-theme='dark'] .profile-page .account-meta .row .label,
:root[data-theme='dark'] .profile-page .customer-type-hint,
:root[data-theme='dark'] .profile-page .hint {
  color: var(--text-muted);
}

:root[data-theme='dark'] .profile-page .account-meta .row .value,
:root[data-theme='dark'] .profile-page .feature-value {
  color: var(--text-primary);
}

:root[data-theme='dark'] .profile-page .membership-detail {
  color: var(--text-secondary);
}

:root[data-theme='dark'] .profile-page .membership-pill {
  background: rgba(99,102,241,0.18);
  border: 1px solid rgba(99,102,241,0.4);
  color: #c7d2fe;
}

:root[data-theme='dark'] .profile-page .status-pill {
  background: #0b1220;
  border: 1px solid var(--border);
  color: var(--text-secondary);
}

:root[data-theme='dark'] .profile-page .customer-type-grid label,
:root[data-theme='dark'] .profile-page .stage-grid label {
  color: var(--text-secondary);
}

:root[data-theme='dark'] .profile-page .customer-type-grid input,
:root[data-theme='dark'] .profile-page .stage-grid input {
  background: #0b1220;
  border-color: var(--border);
  color: var(--text-primary);
}

:root[data-theme='dark'] .profile-page .collapsible,
:root[data-theme='dark'] .profile-page .customer-type-form,
:root[data-theme='dark'] .profile-page .stage-form {
  background: rgba(17,24,39,0.92) !important;
  border-color: var(--border) !important;
  box-shadow: 0 16px 40px -28px rgba(0,0,0,0.62) !important;
}

:root[data-theme='dark'] .profile-page .collapse-toggle {
  color: var(--text-primary) !important;
}

:root[data-theme='dark'] .profile-page .collapse-toggle .title {
  color: var(--text-primary) !important;
  background: none !important;
}

:root[data-theme='dark'] .profile-page .collapsible .collapse-toggle .title,
:root[data-theme='dark'] .profile-page .customer-type-form .collapse-toggle .title,
:root[data-theme='dark'] .profile-page .stage-form .collapse-toggle .title {
  color: rgba(226, 232, 240, 0.98) !important;
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
}

:root[data-theme='dark'] .profile-page .collapsible .collapse-toggle .title i,
:root[data-theme='dark'] .profile-page .customer-type-form .collapse-toggle .title i,
:root[data-theme='dark'] .profile-page .stage-form .collapse-toggle .title i {
  color: #c7d2fe !important;
}

:root[data-theme='dark'] .profile-page .collapse-toggle .meta {
  color: var(--text-muted) !important;
}

:root[data-theme='dark'] .profile-page .collapse-toggle .chevron {
  color: rgba(199, 210, 254, 0.9) !important;
}

:root[data-theme='dark'] .profile-page .customer-type-form-header {
  color: var(--text-primary) !important;
}

:root[data-theme='dark'] .profile-page .customer-type-form textarea,
:root[data-theme='dark'] .profile-page .customer-type-form textarea:focus {
  background: #0b1220 !important;
  border-color: var(--border) !important;
  color: rgba(226, 232, 240, 0.98) !important;
}

:root[data-theme='dark'] .profile-page .customer-type-form textarea:focus {
  border-color: rgba(99, 102, 241, 0.55) !important;
  box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.18) !important;
}

:root[data-theme='dark'] .profile-page .stage-form .hint {
  color: var(--text-muted) !important;
}

:root[data-theme='dark'] .profile-page .account-email-collapse,
:root[data-theme='dark'] .profile-page .account-email-form,
:root[data-theme='dark'] .profile-page .account-email-form .form-row {
  background: #0f172a;
  color: var(--text-primary);
}

:root[data-theme='dark'] .profile-page .account-email-form input {
  background: #0b1220;
  border-color: var(--border);
  color: var(--text-primary);
}

:root[data-theme='dark'] .profile-page .account-email-form .hint,
:root[data-theme='dark'] .profile-page .account-card .hint,
:root[data-theme='dark'] .profile-page .token-inline-line {
  color: var(--text-muted);
}

:root[data-theme='dark'] .profile-page .avatar-preview,
:root[data-theme='dark'] .profile-page .avatar-preview img {
  background: #0b1220;
  border-color: var(--border);
}

:root[data-theme='dark'] .profile-page .btn.secondary,
:root[data-theme='dark'] .profile-page .btn.tertiary {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-secondary);
  box-shadow: none;
}

:root[data-theme='dark'] .profile-page .btn.secondary:hover,
:root[data-theme='dark'] .profile-page .btn.tertiary:hover {
  background: rgba(99,102,241,0.2);
  border-color: rgba(99,102,241,0.4);
  color: var(--text-primary);
}

:root[data-theme='dark'] .page-btn,
:root[data-theme='dark'] .page-btn:hover {
  box-shadow: 0 10px 22px -16px rgba(0,0,0,0.55);
}

:root[data-theme='dark'] .task-status-summary .summary-item {
  background: rgba(255,255,255,0.1);
  border-color: var(--border);
  color: #e5e7eb;
}

:root[data-theme='dark'] .task-status-summary .summary-item strong {
  color: #ffffff;
}

:root[data-theme='dark'] .history-refresh-btn {
  color: #c7d2fe;
  background: rgba(99,102,241,0.18);
  border-color: rgba(99,102,241,0.45);
}

:root[data-theme='dark'] .history-refresh-btn:hover:not(:disabled) {
  background: rgba(99,102,241,0.26);
  border-color: rgba(99,102,241,0.55);
}

:root[data-theme='dark'] .entry-meta {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-secondary);
}

:root[data-theme='dark'] .entry-meta i {
  color: #c7d2fe;
}

:root[data-theme='dark'] .entry-chip {
  background: rgba(99,102,241,0.18);
  color: #e5e7eb;
}

:root[data-theme='dark'] .entry-chip-owner {
  background: rgba(14,165,233,0.2);
  color: #e0f2fe;
}

:root[data-theme='dark'] .funnel-pill {
  background: rgba(99,102,241,0.16);
  border-color: rgba(99,102,241,0.45);
  color: #e5e7eb;
  box-shadow: 0 10px 22px -16px rgba(0,0,0,0.55);
}

:root[data-theme='dark'] .stage-selector {
  background: #0b1220;
  border-color: var(--border);
}

:root[data-theme='dark'] .stage-label {
  color: var(--text-muted);
}

:root[data-theme='dark'] .stage-btn {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-secondary);
}

:root[data-theme='dark'] .stage-btn:hover:not([disabled]) {
  background: rgba(99,102,241,0.2);
  border-color: rgba(99,102,241,0.45);
  color: var(--text-primary);
}

:root[data-theme='dark'] .stage-btn.active {
  background: linear-gradient(135deg, rgba(99,102,241,0.32), rgba(14,165,233,0.24));
  color: var(--text-primary);
  border: 1px solid rgba(99,102,241,0.5);
  box-shadow: 0 12px 26px -18px rgba(0,0,0,0.55);
}

:root[data-theme='dark'] .stage-btn[disabled] {
  background: rgba(255,255,255,0.06);
  color: var(--text-muted);
  border-color: var(--border);
}

:root[data-theme='dark'] .entry-report {
  background: #0f172a;
  border-color: var(--border);
  box-shadow: 0 16px 40px -28px rgba(0,0,0,0.6);
}

:root[data-theme='dark'] .entry-report .report-body {
  color: var(--text-secondary);
}

:root[data-theme='dark'] .filters-toggle {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-primary);
  box-shadow: 0 14px 30px -22px rgba(0,0,0,0.6);
}

:root[data-theme='dark'] .filters-toggle:hover {
  background: rgba(99,102,241,0.18);
  border-color: rgba(99,102,241,0.45);
}

:root[data-theme='dark'] .filters-toggle-icon {
  color: #c7d2fe;
}

:root[data-theme='dark'] .strategy-card {
  background: #0f172a;
  border-color: var(--border);
  box-shadow: 0 20px 38px -26px rgba(0,0,0,0.6);
}

:root[data-theme='dark'] .strategy-card-header h2 {
  color: var(--text-primary);
}

:root[data-theme='dark'] .strategy-card-body {
  border-top-color: var(--border);
  color: var(--text-secondary);
}

:root[data-theme='dark'] .strategy-hint {
  color: var(--text-muted);
}

:root[data-theme='dark'] .strategy-rich {
  background: #0b1220;
  border-color: var(--border);
  color: var(--text-secondary);
}

:root[data-theme='dark'] .strategy-rich h3 {
  color: var(--text-primary);
}

:root[data-theme='dark'] .strategy-rich h3::before {
  background: #c7d2fe;
}

:root[data-theme='dark'] .strategy-rich strong {
  color: var(--text-primary);
}

:root[data-theme='dark'] .funnel-summary {
  background: #0f172a;
  border-color: var(--border);
  box-shadow: 0 16px 36px -26px rgba(0,0,0,0.55);
}

:root[data-theme='dark'] .funnel-summary::after {
  background: radial-gradient(circle, rgba(99,102,241,0.14) 0%, rgba(15,23,42,0) 70%);
}

:root[data-theme='dark'] .funnel-summary-header h2,
:root[data-theme='dark'] .funnel-summary-header span {
  color: var(--text-primary);
}

:root[data-theme='dark'] .funnel-summary .chip-row button,
:root[data-theme='dark'] .chip-row button {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-secondary);
}

:root[data-theme='dark'] .chip-row button:hover {
  background: rgba(99,102,241,0.2);
  border-color: rgba(99,102,241,0.4);
  color: var(--text-primary);
}

:root[data-theme='dark'] .funnel-legend li {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-primary);
  box-shadow: 0 12px 26px -20px rgba(0,0,0,0.55);
}

:root[data-theme='dark'] .funnel-legend li span:last-child {
  color: var(--text-muted);
}

:root[data-theme='dark'] .funnel-total {
  background: rgba(99,102,241,0.16);
  border-color: rgba(99,102,241,0.35);
  color: #e5e7eb;
}

:root[data-theme='dark'] .history-page .funnel-legend li {
  background: #0f172a !important;
  border-color: var(--border) !important;
  color: var(--text-primary) !important;
  box-shadow: 0 12px 26px -20px rgba(0,0,0,0.55) !important;
}

:root[data-theme='dark'] .history-page .funnel-legend li span:last-child {
  color: var(--text-muted) !important;
}

/* 强制兜底：无类名时也覆盖漏斗图例 */
:root[data-theme='dark'] .funnel-legend li {
  background: #0f172a !important;
  border-color: var(--border) !important;
  color: var(--text-primary) !important;
}
:root[data-theme='dark'] .funnel-legend li span:last-child {
  color: var(--text-muted) !important;
}

/* Extra specificity to squash light overrides */
html[data-theme='dark'] .funnel-legend li {
  background: #0f172a !important;
  border-color: var(--border) !important;
  color: var(--text-primary) !important;
  box-shadow: 0 12px 26px -20px rgba(0,0,0,0.55) !important;
}
html[data-theme='dark'] .funnel-legend li span:last-child {
  color: var(--text-muted) !important;
}
html[data-theme='dark'] .funnel-bar {
  background: #0b1220 !important;
}

html[data-theme='dark'] body,
html[data-theme='dark'] main,
html[data-theme='dark'] #chat,
html[data-theme='dark'] .tab-content,
html[data-theme='dark'] .workspace-card.chat-card,
html[data-theme='dark'] .chat-layout,
html[data-theme='dark'] .chat-main,
html[data-theme='dark'] .chat-body,
html[data-theme='dark'] .chat-window {
  background-color: #0f172a !important;
}

html[data-theme='dark'] .chat-window .message.bot {
  background: transparent !important;
  border: none !important;
}


:root[data-theme='dark'] .brand-notice-banner i { color: #fbbf24; }

:root[data-theme='dark'] .message.user .bubble {
  background: linear-gradient(135deg, #1f2937, #0f172a);
  color: #e5e7eb;
}

:root[data-theme='dark'] .message.bot .bubble {
  background: #0f172a;
  color: var(--text-primary);
}

:root[data-theme='dark'] .morning-brief-bubble {
  background: #0f172a;
  border-color: var(--border);
  box-shadow: 0 12px 28px -20px rgba(0,0,0,0.6);
}

/* 强制聊天侧边列表在暗色下去除渐变底色 */
html[data-theme='dark'] #chat-session-list .chat-session-row {
  background: #0f172a !important;
  border-color: var(--border) !important;
  color: var(--text-primary);
  background-image: none !important;
}
html[data-theme='dark'] #chat-session-list .chat-session-row .time {
  background: transparent !important;
  color: var(--text-muted);
}
html[data-theme='dark'] #chat-session-list .chat-session-row.active {
  background: #1f2937 !important;
  background-image: none !important;
  border-color: rgba(99,102,241,0.55) !important;
  color: var(--text-primary) !important;
  box-shadow: 0 10px 24px -16px rgba(59,130,246,0.35) !important;
}
html[data-theme='dark'] #chat-session-list .chat-session-row.active .time {
  color: var(--text-primary) !important;
}
html[data-theme='dark'] #chat-session-list .chat-session-row.active::before {
  content: "";
  position: absolute;
  left: -3px;
  top: 8px;
  bottom: 8px;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, #38bdf8, #6366f1);
}
html[data-theme='dark'] #chat-session-list .chat-session-left .title {
  background: transparent !important;
  color: var(--text-primary) !important;
}
html[data-theme='dark'] #chat-session-list .chat-session-left .time {
  background: transparent !important;
}
html[data-theme='dark'] .message.bot {
  background: transparent !important;
}
html[data-theme='dark'] .chat-window .message.bot {
  background: transparent !important;
  border: none !important;
}
html[data-theme='dark'] .tab-content,
html[data-theme='dark'] #chat,
html[data-theme='dark'] .chat-layout,
html[data-theme='dark'] .workspace-card.chat-card {
  background: #0f172a !important;
}
html[data-theme='dark'] .chat-window .message {
  background: transparent !important;
}

html[data-theme='dark'] .message {
  background: transparent !important;
  border-color: transparent !important;
}

html[data-theme='dark'] .workspace-card.chat-card {
  background: var(--surface) !important;
  border-color: var(--border) !important;
}

:root[data-theme='dark'] .morning-brief-header,
:root[data-theme='dark'] .morning-brief-title,
:root[data-theme='dark'] .morning-brief-meta {
  color: var(--text-primary);
}

:root[data-theme='dark'] .message .copy-btn {
  background: rgba(255,255,255,0.04);
  color: var(--text-muted);
}

:root[data-theme='dark'] .chat-input {
  background: #0b1220;
  border-color: var(--border);
  box-shadow: 0 12px 28px -18px rgba(0,0,0,0.55);
}

:root[data-theme='dark'] .chat-input-row {
  background: #0f172a;
  border-color: var(--border);
}

:root[data-theme='dark'] .chat-input input {
  background: #0b1220;
  color: var(--text-primary);
  border-color: var(--border);
}

:root[data-theme='dark'] .chat-input .chat-retrieve-toggle {
  background: rgba(99,102,241,0.16);
  color: #c7d2fe;
  border-color: rgba(99,102,241,0.35);
}

:root[data-theme='dark'] .toast-message {
  background: #0f172a;
  color: var(--text-primary);
  border-color: var(--border);
  box-shadow: 0 16px 32px -18px rgba(0,0,0,0.6);
}

:root[data-theme='dark'] .morning-brief-card {
  background: #0f172a;
  border-color: var(--border);
  box-shadow: 0 18px 40px -28px rgba(0,0,0,0.62);
}

:root[data-theme='dark'] .morning-brief-tag {
  background: rgba(99,102,241,0.18);
  border-color: rgba(99,102,241,0.38);
  color: #c7d2fe;
}

:root[data-theme='dark'] .morning-brief-section h4 {
  color: var(--text-primary);
}

:root[data-theme='dark'] .morning-brief-section p {
  color: var(--text-secondary);
}

:root[data-theme='dark'] .moment-suggestion {
  background: #0b1220;
  border-color: var(--border);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

:root[data-theme='dark'] .moment-text {
  color: var(--text-primary);
}

:root[data-theme='dark'] .moment-hint {
  color: var(--text-muted);
}

:root[data-theme='dark'] .hero-card {
  background: linear-gradient(135deg, rgba(99,102,241,0.18), rgba(59,130,246,0.12));
  border-color: rgba(99,102,241,0.35);
  box-shadow: 0 20px 44px -28px rgba(0,0,0,0.6);
}

:root[data-theme='dark'] .avatar {
  background: #111827;
  border-color: var(--border);
  color: #c7d2fe;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 10px 18px rgba(0,0,0,0.55);
}

:root[data-theme='dark'] .hero-name {
  color: var(--text-primary);
}

:root[data-theme='dark'] .hero-email {
  color: var(--text-muted);
}

:root[data-theme='dark'] .chip {
  background: #0f172a;
  border-color: var(--border);
  color: var(--text-primary);
  box-shadow: 0 6px 16px rgba(0,0,0,0.45);
}

:root[data-theme='dark'] .chip.pro { background: rgba(59,130,246,0.16); color: #bfdbfe; border-color: rgba(59,130,246,0.45); }
:root[data-theme='dark'] .chip.trial { background: rgba(219,39,119,0.18); color: #f9a8d4; border-color: rgba(219,39,119,0.4); }
:root[data-theme='dark'] .chip.expired { background: rgba(180,83,9,0.18); color: #fcd34d; border-color: rgba(180,83,9,0.45); }

:root[data-theme='dark'] .section-title {
  color: var(--text-secondary);
}

:root[data-theme='dark'] .mini-card,
:root[data-theme='dark'] .setting-card,
:root[data-theme='dark'] .collapse {
  background: #0f172a;
  border-color: var(--border);
  box-shadow: 0 12px 26px rgba(0,0,0,0.5);
}

:root[data-theme='dark'] .mini-card .label,
:root[data-theme='dark'] .mini-card .meta {
  color: var(--text-muted);
}

:root[data-theme='dark'] .mini-card .value {
  color: var(--text-primary);
}

:root[data-theme='dark'] .form-group label {
  color: var(--text-secondary);
}

:root[data-theme='dark'] .form-group input[type="file"],
:root[data-theme='dark'] .form-group input[type="password"] {
  background: #0b1220;
  border-color: var(--border);
  color: var(--text-primary);
}

:root[data-theme='dark'] .collapse-header {
  color: var(--text-primary);
}

:root[data-theme='dark'] .collapse-indicator,
:root[data-theme='dark'] .usage-line {
  color: var(--text-muted);
}

:root[data-theme='dark'] .logout-btn {
  background: linear-gradient(135deg, rgba(248,113,113,0.14), rgba(239,68,68,0.16));
  border-color: rgba(248,113,113,0.5);
  color: #fecdd3;
  box-shadow: 0 12px 26px rgba(0,0,0,0.45);
}

:root[data-theme='dark'] .footer-note {
  color: var(--text-muted);
}
