/* ============================================================
   Design Tokens — light default + [data-theme="dark"] toggle
   - 새 시스템 변수: --primary, --bg-0, --fg, --shadow-* 등
   - 레거시 변수 리맵: --bg, --b1, --t1, --a1 등 (인라인 스타일 호환)
   ============================================================ */

:root {
  /* === MiniMax-inspired Purple === */
  --primary:     #6366F1;
  --primary-600: #4F46E5;
  --primary-700: #4338CA;
  --primary-50:  #EEF2FF;
  --primary-100: #E0E7FF;
  --primary-200: #C7D2FE;

  /* === Neutrals (light) === */
  --bg-0: #F5F6FA;   /* page bg */
  --bg-1: #FFFFFF;   /* cards */
  --bg-2: #F9FAFB;   /* subtle panel */
  --bg-3: #F0F1F5;   /* hover / row */
  --bg-4: #E5E7EB;

  --fg:       #0F172A;   /* 본문(거의 검정) — AAA */
  --fg-muted: #334155;   /* 보조 (한 톤 더 진하게) */
  --fg-dim:   #4B5563;   /* 약함 (#9CA3AF → #4B5563, 가독성 ↑) */
  --fg-on:    #FFFFFF;

  --border:    #E5E7EB;
  --border-hi: #D1D5DB;

  --ok:     #10B981;
  --warn:   #F59E0B;
  --danger: #EF4444;
  --info:   #0EA5E9;

  --radius:    8px;
  --radius-md: 12px;
  --radius-lg: 16px;

  --shadow-sm: 0 1px 2px rgba(16,24,40,.04), 0 1px 3px rgba(16,24,40,.06);
  --shadow-md: 0 4px 12px rgba(16,24,40,.06), 0 2px 4px rgba(16,24,40,.04);
  --shadow-lg: 0 12px 32px rgba(16,24,40,.12), 0 4px 12px rgba(16,24,40,.06);

  --font-sans: 'Inter','Pretendard','Noto Sans KR',-apple-system,BlinkMacSystemFont,system-ui,'Malgun Gothic',sans-serif;
  --font-mono: 'JetBrains Mono','Consolas',monospace;

  /* === Legacy remap (인라인 스타일 호환 — 라이트 매핑) === */
  --bg:    #F5F6FA;   /* was #060d1a */
  --bg2:   #FFFFFF;   /* was #091224 */
  --bg3:   #F9FAFB;   /* was #0d1835 */
  --card:  #FFFFFF;   /* was #101d38 */
  --card2: #F9FAFB;   /* was #142240 */
  --b1:    #E5E7EB;   /* was #1a2e55 */
  --b2:    #D1D5DB;   /* was #1e3666 */
  --t1:    #0F172A;   /* was #ffffff */
  --t2:    #1F2937;   /* was #e2e8f0 — 거의 검정에 가까움 */
  --t3:    #4B5563;   /* was #cbd5e1 — 가독성 위해 진하게 */
  /* 액센트(a1~a6)는 다크/라이트 공용 — 그대로 유지 */
  --a1: #3B82F6;
  --a2: #06B6D4;
  --a3: #8B5CF6;
  --a4: #10B981;
  --a5: #F59E0B;
  --a6: #EF4444;
  /* 3개월 전망 source 색 (2026-06-16) — 아이콘 없이 색만 구분, 흰 배경 대비 */
  --ol-fcst: #0E7490;   /* 전망입력(수동) — cyan-700 */
  --ol-auto: #7C3AED;   /* 자동전망(기존계약) — violet-600 */
  --ol-plan: #64748B;   /* 계획대체(수주 전망 미입력) — slate-500 */
}

/* === Dark theme (html[data-theme="dark"]) === */
:root[data-theme="dark"] {
  --bg-0: #060D1A;
  --bg-1: #101D38;
  --bg-2: #091224;
  --bg-3: #142240;
  --bg-4: #1A2E55;

  --fg:       #FFFFFF;
  --fg-muted: #CBD5E1;
  --fg-dim:   #94A3B8;
  --fg-on:    #FFFFFF;

  --border:    #1A2E55;
  --border-hi: #1E3666;

  --shadow-sm: 0 1px 3px rgba(0,0,0,.4);
  --shadow-md: 0 4px 12px rgba(0,0,0,.5);
  --shadow-lg: 0 12px 32px rgba(0,0,0,.6);

  /* Legacy 다크 — 원본 팔레트 복원 */
  --bg:    #060D1A;
  --bg2:   #091224;
  --bg3:   #0D1835;
  --card:  #101D38;
  --card2: #142240;
  --b1:    #1A2E55;
  --b2:    #1E3666;
  --t1:    #FFFFFF;
  --t2:    #E2E8F0;
  --t3:    #CBD5E1;
  /* 3개월 전망 source 색 — 다크 (짙은 배경 대비, 밝은 단계) */
  --ol-fcst: #67E8F9;   /* cyan-300 */
  --ol-auto: #C4B5FD;   /* violet-300 */
  --ol-plan: #94A3B8;   /* slate-400 */
}

/* 폰트 패밀리 전역 적용 (인라인 body 규칙 오버라이드) */
body { font-family: var(--font-sans); }

/* ============================================================
   라이트 모드 가독성 안전망
   - JS가 인라인으로 박은 다크-팔레트 색을 흰 배경 친화로 치환
   - 속성 셀렉터 [style*="..."] + !important 로 인라인 스타일 오버라이드
   - 다크 모드([data-theme="dark"])에서는 적용 안 됨
   ============================================================ */
:root:not([data-theme="dark"]) [style*="#cbd5e1"],
:root:not([data-theme="dark"]) [style*="#CBD5E1"] { color: #475569 !important; }

:root:not([data-theme="dark"]) [style*="#e2e8f0"],
:root:not([data-theme="dark"]) [style*="#E2E8F0"] { color: #1F2937 !important; }

:root:not([data-theme="dark"]) [style*="#94a3b8"],
:root:not([data-theme="dark"]) [style*="#94A3B8"] { color: #475569 !important; }

:root:not([data-theme="dark"]) [style*="#f1f5f9"],
:root:not([data-theme="dark"]) [style*="#F1F5F9"] { color: #1F2937 !important; }

/* 다크 팔레트의 강조색(파스텔톤) — 흰 배경에 흐려보임 → 더 진한 톤으로 */
:root:not([data-theme="dark"]) [style*="#93c5fd"],
:root:not([data-theme="dark"]) [style*="#93C5FD"] { color: #1E40AF !important; }

:root:not([data-theme="dark"]) [style*="#67e8f9"],
:root:not([data-theme="dark"]) [style*="#67E8F9"] { color: #0E7490 !important; }

:root:not([data-theme="dark"]) [style*="#6ee7b7"],
:root:not([data-theme="dark"]) [style*="#6EE7B7"] { color: #047857 !important; }

:root:not([data-theme="dark"]) [style*="#34d399"],
:root:not([data-theme="dark"]) [style*="#34D399"] { color: #047857 !important; }

:root:not([data-theme="dark"]) [style*="#fca5a5"],
:root:not([data-theme="dark"]) [style*="#FCA5A5"] { color: #B91C1C !important; }

:root:not([data-theme="dark"]) [style*="#fb7185"],
:root:not([data-theme="dark"]) [style*="#FB7185"] { color: #B91C1C !important; }

:root:not([data-theme="dark"]) [style*="#fcd34d"],
:root:not([data-theme="dark"]) [style*="#FCD34D"] { color: #92400E !important; }

:root:not([data-theme="dark"]) [style*="#fbbf24"],
:root:not([data-theme="dark"]) [style*="#FBBF24"] { color: #92400E !important; }

:root:not([data-theme="dark"]) [style*="#a78bfa"],
:root:not([data-theme="dark"]) [style*="#A78BFA"] { color: #6D28D9 !important; }

:root:not([data-theme="dark"]) [style*="#c4b5fd"],
:root:not([data-theme="dark"]) [style*="#C4B5FD"] { color: #5B21B6 !important; }

/* 매우 옅은 회색 텍스트 — var(--t3) 사용처는 이미 #4B5563로 회수됨 */

