/* 法智助手 - 浅色主题 */

/* === CSS 变量 === */
:root {
  --bg: #f9f9fc;
  --bg-card: #ffffff;
  --bg-card-hover: #f3f3f6;
  --bg-muted: #eeeef0;
  --bg-input: #f3f3f6;
  --bg-sidebar-active: #e4f0fa;
  --bg-upload: #f3f3f6;
  --color-primary: #003354;
  --color-primary-hover: #004a77;
  --color-primary-light: #cfe5ff;
  --color-secondary: #4c616c;
  --color-success: #005046;
  --color-success-bg: #97f3e2;
  --color-warning: #f59e0b;
  --color-warning-bg: #fffbeb;
  --color-error: #ba1a1a;
  --color-error-bg: #ffdad6;
  --text-primary: #1a1c1e;
  --text-secondary: #41474f;
  --text-muted: #727880;
  --text-on-primary: #ffffff;
  --border: #c1c7d0;
  --border-light: #dadadc;
  --shadow-sm: 0 1px 3px rgba(26,28,30,0.04);
  --shadow-lg: 0 12px 40px rgba(26,28,30,0.06);
}

/* === 全局 === */
html { background: var(--bg) !important; }
html.dark { color-scheme: light !important; }
body { background: var(--bg) !important; color: var(--text-primary) !important; }

/* === 通用组件 === */
.card { background: var(--bg-card) !important; border: 1px solid var(--border) !important; border-radius: 12px !important; box-shadow: var(--shadow-sm) !important; }
.info-card { background: var(--bg-muted) !important; border: 1px solid var(--border) !important; border-radius: 12px !important; padding: 1rem !important; }
.input-field { background: var(--bg-input) !important; border: 1px solid var(--border) !important; color: var(--text-primary) !important; border-radius: 10px !important; padding: 0.625rem 1rem !important; }
.input-field:focus { border-color: var(--color-primary) !important; box-shadow: 0 0 0 3px rgba(99,102,241,0.1) !important; }
.btn-primary { background: var(--color-primary) !important; color: var(--text-on-primary) !important; border: none !important; border-radius: 10px !important; font-weight: 600 !important; }
.btn-primary:hover { background: var(--color-primary-hover) !important; }

/* === 风险标签 === */
.severity-high { color: var(--color-error) !important; background: var(--color-error-bg) !important; }
.severity-mid { color: var(--color-warning) !important; background: var(--color-warning-bg) !important; }
.severity-low { color: var(--color-success) !important; background: var(--color-success-bg) !important; }

/* === Tab 栏 === */
.tab-active { background: var(--bg-card) !important; color: var(--color-primary) !important; border-bottom: 2px solid var(--color-primary) !important; }
.tab-inactive { color: var(--text-muted) !important; background: transparent !important; }
.tab-inactive:hover { color: var(--color-primary) !important; background: var(--bg) !important; }

/* === Loading spinner === */
.loading-spinner { border-color: var(--border) !important; border-top-color: var(--color-primary) !important; }

/* === 卡片 (glass-card 和 surface 系列) === */
.glass-card, [class*="bg-surface-container"], .bg-\[#1c2026\], .bg-\[#262a31\] {
  background: var(--bg-card) !important;
  border: 1px solid var(--border) !important;
  border-radius: 12px !important;
  box-shadow: var(--shadow-sm) !important;
  backdrop-filter: none !important;
}

/* === 侧边栏 === */
aside, .md\:flex aside {
  background: var(--bg-card) !important;
  border-right: 1px solid var(--border) !important;
}
aside nav a, aside nav a span { color: var(--text-secondary) !important; }
aside button[style*="color:white"], aside button[style*="color:white"] span { color: white !important; }
aside .text-lg, aside .font-black { color: var(--color-primary) !important; }
aside .text-\[10px\] { color: var(--text-muted) !important; }
aside a[class*="bg-[#1c2026]"], aside a[class*="border-r-2"] {
  background: var(--bg-sidebar-active) !important;
  color: var(--color-primary) !important;
  border-right-color: var(--color-primary) !important;
}
aside a[class*="border-r-2"] span { color: var(--color-primary) !important; }
aside a:hover { background: var(--bg) !important; color: var(--color-primary) !important; }
aside a:hover span { color: var(--color-primary) !important; }
aside .mt-auto { border-top: 1px solid var(--border) !important; }
aside .rounded-full { background: var(--color-primary) !important; }
aside .rounded-full span { color: white !important; }

/* === 顶部导航 === */
nav.fixed {
  background: var(--bg-card) !important;
  border-bottom: 1px solid var(--border) !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
}
nav.fixed input { background: var(--bg) !important; color: var(--text-primary) !important; border: 1px solid var(--border) !important; }
nav.fixed .bg-\[#1c2026\] { background: var(--bg) !important; }
nav.fixed button, nav.fixed span, nav.fixed div { color: var(--text-secondary) !important; }
nav.fixed .font-bold { color: var(--color-primary) !important; }

/* === 主内容区 === */
main { background: var(--bg) !important; }
main h1, main h2 { color: var(--text-primary) !important; }
main p, main span.text-on-surface-variant, main .text-sm { color: var(--text-secondary) !important; }

/* === 表单输入 === */
input, textarea, select {
  background: var(--bg-input) !important;
  border: 1px solid var(--border) !important;
  color: var(--text-primary) !important;
  border-radius: 10px !important;
}
input:focus, textarea:focus, select:focus {
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 3px rgba(99,102,241,0.1) !important;
}
input::placeholder, textarea::placeholder { color: var(--text-muted) !important; }
label { color: var(--text-secondary) !important; }

/* === 主按钮 === */
[class*="from-primary-container"], [class*="bg-gradient-to-r"] {
  background: var(--color-primary) !important;
  color: white !important;
  border: none !important;
}
[class*="from-primary-container"]:hover, [class*="bg-gradient-to-r"]:hover {
  background: var(--color-primary-hover) !important;
}

/* === 主色文字 === */
.text-primary, .text-\[#bac3ff\], [class*="text-primary"] { color: var(--color-primary) !important; }
.text-secondary, .text-\[#ddb8ff\] { color: var(--color-secondary) !important; }
.text-tertiary, .text-\[#4edea3\] { color: var(--color-success) !important; }
.text-error, .text-\[#ffb4ab\] { color: var(--color-error) !important; }
.text-on-surface, .text-\[#dfe2eb\] { color: var(--text-primary) !important; }
.text-on-surface-variant, .text-\[#c5c5d7\] { color: var(--text-secondary) !important; }
.text-outline, .text-\[#8f8fa0\] { color: var(--text-muted) !important; }

/* === 小按钮 === */
[class*="bg-surface-container-high"], [class*="bg-outline-variant"] {
  background: var(--bg-muted) !important; color: var(--text-secondary) !important; border: 1px solid var(--border) !important;
}
[class*="bg-surface-container-high"]:hover { background: var(--border) !important; }
[class*="bg-primary-container\/30"], [class*="bg-primary-container\/20"] { background: var(--color-primary-light) !important; color: var(--color-primary) !important; }
[class*="bg-error-container\/30"] { background: var(--color-error-bg) !important; color: var(--color-error) !important; }
[class*="bg-tertiary-container\/20"], [class*="bg-tertiary-container\/30"] { background: var(--color-success-bg) !important; color: var(--color-success) !important; }

/* === 边框 === */
[class*="border-outline-variant"], [class*="border-\[#31353c\]"], [class*="border-\[#444654\]"] { border-color: var(--border) !important; }

/* === 上传区域 === */
[class*="border-dashed"] { border-color: var(--border-light) !important; background: var(--bg-upload) !important; }
[class*="border-dashed"]:hover { border-color: var(--color-primary) !important; }

/* === 弹窗 Modal === */
[class*="bg-black\/70"], [class*="bg-black\/30"] { background: rgba(0,0,0,0.3) !important; }

/* === 底部移动导航 === */
.md\:hidden.fixed.bottom-0 { background: var(--bg-card) !important; border-top: 1px solid var(--border) !important; }

/* === 历史记录卡片 === */
button[class*="shrink-0"][class*="bg-surface-container"] { background: var(--bg-card) !important; border: 1px solid var(--border) !important; }
button[class*="shrink-0"][class*="bg-surface-container"]:hover { background: var(--bg-card-hover) !important; }
button[class*="border-primary\/50"] { border-color: var(--color-primary) !important; background: var(--color-primary-light) !important; }

/* === 统计数字 === */
.text-2xl.font-black, .text-3xl.font-black { color: var(--text-primary) !important; }

/* === 分隔线 === */
[class*="h-px"][class*="bg-outline-variant"] { background: var(--border) !important; }

/* === 硬编码深色背景覆盖 === */
.bg-\[#10141a\], .bg-\[#0a0e14\], .bg-\[#181c22\] { background: var(--bg) !important; }
nav.fixed.bg-\[#10141a\], nav[class*="bg-[#10141a]"] { background: var(--bg-card) !important; border-bottom: 1px solid var(--border) !important; }
aside.bg-\[#0a0e14\], aside[class*="bg-[#0a0e14]"] { background: var(--bg-card) !important; }
.bg-\[#1c2026\], [class*="bg-[#1c2026]"] { background: var(--bg-card) !important; }
div[class*="bg-[#1c2026]"][class*="rounded-2xl"] { border: 1px solid var(--border) !important; box-shadow: var(--shadow-lg) !important; }
.bg-\[#7187ff\], [class*="bg-[#7187ff]"] { background: var(--color-primary) !important; }

/* 硬编码深色文字覆盖 */
.text-\[#dfe2eb\], [class*="text-[#dfe2eb]"] { color: var(--text-primary) !important; }
.text-\[#bac3ff\], [class*="text-[#bac3ff]"] { color: var(--color-primary) !important; }
.text-\[#001b7e\], [class*="text-[#001b7e]"] { color: var(--text-on-primary) !important; }
.text-\[#ffd599\], [class*="text-[#ffd599]"] { color: var(--color-warning) !important; }
[class*="border-[#31353c]"] { border-color: var(--border) !important; }

/* 硬编码 hover 覆盖 */
[class*="hover:bg-[#31353c]"]:hover { background: var(--bg-muted) !important; }
[class*="hover:bg-[#1c2026]"]:hover { background: var(--bg) !important; }
[class*="hover:text-[#bac3ff]"]:hover { color: var(--color-primary) !important; }
[class*="hover:text-[#ffb4ab]"]:hover { color: var(--color-error) !important; }
div.fixed.bottom-0[class*="bg-[#10141a]"] { background: var(--bg-card) !important; border-top: 1px solid var(--border) !important; }

/* === case-band 浅色覆盖 === */
.case-band-civil, .case-band-contract, .case-band-ip, .case-band-labor, .case-band-default {
  background: linear-gradient(135deg, #eef2ff 0%, #f5f3ff 100%) !important;
}

/* === doc-preview / markdown === */
.doc-preview h1, .doc-preview h2 { color: var(--color-primary) !important; }
.doc-preview h3 { color: var(--text-secondary) !important; }
.doc-preview table th { background: var(--bg) !important; color: var(--color-primary) !important; }
.doc-preview td, .doc-preview th { border-color: var(--border) !important; }
.markdown-body strong { color: var(--color-primary) !important; }

/* === 滚动条 === */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--border-light); border-radius: 3px; }

/* === case_detail.html 特定覆盖 === */
/* 左下角按钮组 */
aside button[class*="bg-[#262a31]"], aside button[class*="bg-gradient"] {
  background: var(--bg-muted) !important;
  color: var(--text-secondary) !important;
  border-color: var(--border) !important;
}
aside button[class*="bg-[#262a31]"]:hover { background: var(--border) !important; }
aside button[class*="from-primary"] {
  background: var(--color-primary) !important;
  color: white !important;
}

/* 利益冲突标签 */
aside [class*="text-warning"], aside .text-\[#fbbf24\] { color: var(--color-warning) !important; }

/* 案件详情页 header 区域 */
header.fixed { background: var(--bg-card) !important; border-bottom: 1px solid var(--border) !important; }

/* Tab 栏 case_detail */
[class*="border-b-2"][class*="border-primary"] { border-color: var(--color-primary) !important; }

/* 胜诉预判圆环 - echarts 容器背景 */
[id*="chart"], [id*="Chart"] { background: transparent !important; }

/* glass-panel 覆盖 */
.glass-panel { background: var(--bg-card) !important; border: 1px solid var(--border) !important; border-radius: 12px !important; box-shadow: var(--shadow-sm) !important; backdrop-filter: none !important; }

/* === 按钮文字对比度修复 === */
/* 内联 style 指定了 color:white 的按钮，不被覆盖 */
[style*="color:white"], [style*="color:white"] span { color: white !important; }
[style*="color:var(--color-primary)"], [style*="color:var(--color-primary)"] span { color: var(--color-primary) !important; }
[style*="color:var(--text-primary)"], [style*="color:var(--text-primary)"] span { color: var(--text-primary) !important; }
