// data.jsx — Sample data for LUMA prototype

// Patient personas (Tweak: persona switch)
const PERSONAS = {
  jihye: {
    id: "P-2026-0517",
    name: "김지혜",
    nameMasked: "김*혜",
    initials: "JH",
    age: 27,
    gender: "F",
    skinAge: 25,
    skinType: "Oily",
    topConcern: "모공 / 피지광",
    secondaryConcerns: ["여드름", "홍조"],
    inflow: "인스타그램 광고",
    inflowDetail: "@anyang_clinic_official · 3일 전",
    visits: 3,
    lastVisit: "2026.03.14 (74일 전)",
    rfm: { recency: 74, frequency: 3, monetary: 1_240_000 },
    segment: "재방문 활성 · 패키지 유효",
    skinScores: {
      주름: 92, 색소: 86, 여드름: 88, 피부톤: 82, 피부결: 76,
      "탄력/윤곽": 80, 다크서클: 78, 홍조: 68, 모공: 67, 유분광: 61,
    },
    indicators: {
      모공: [
        { k: "코 모공 밀도", you: "110-140개/cm²", base: "80-120개/cm²", verdict: "watch", note: "+15-25%" },
        { k: "중앙 볼 모공 밀도", you: "55-75개/cm²", base: "35-60개/cm²", verdict: "watch", note: "+20-30%" },
        { k: "코 평균 모공 직경", you: "0.25-0.38mm", base: "0.18-0.30mm", verdict: "watch", note: "약간 큼" },
        { k: "볼 평균 모공 직경", you: "0.18-0.28mm", base: "0.15-0.25mm", verdict: "watch", note: "약간 큼" },
        { k: "모공 면적 비율", you: "3.5-5.0%", base: "2.5-4.0%", verdict: "watch", note: "+1%p 내외" },
      ],
      "유분/피지광": [
        { k: "T존 광택 면적", you: "10-14%", base: "4-8%", verdict: "alert", note: "현저히 높음" },
        { k: "전체 얼굴 광택 면적", you: "7-10%", base: "3-6%", verdict: "alert", note: "높음" },
        { k: "이마 반사광", you: "Grade 3/5", base: "Grade 1-2/5", verdict: "alert", note: "광택 강함" },
        { k: "코 반사광", you: "Grade 3/5", base: "Grade 2/5", verdict: "watch", note: "광택 강함" },
        { k: "염증성 여드름", you: "1-3개", base: "0-5개", verdict: "good", note: "일반 범위" },
        { k: "면포 후보", you: "5-15개", base: "10-30개", verdict: "good", note: "적음" },
      ],
      "주름/탄력": [
        { k: "이마 정적 주름", you: "0개", base: "1-3개", verdict: "good", note: "매우 양호" },
        { k: "미간 정적 주름", you: "0개", base: "0-1개", verdict: "good", note: "양호" },
        { k: "눈가 잔주름", you: "0-1개/측", base: "1-3개/측", verdict: "good", note: "양호" },
        { k: "팔자 라인", you: "Grade 1/5", base: "Grade 1-2/5", verdict: "good", note: "양호" },
        { k: "중안면 볼륨", you: "85/100", base: "70-80/100", verdict: "good", note: "양호" },
        { k: "턱선 선명도", you: "76/100", base: "65-75/100", verdict: "good", note: "평균 이상" },
      ],
      "홍조/염증": [
        { k: "홍조 면적 비율", you: "12-18%", base: "5-10%", verdict: "alert", note: "평균보다 높음" },
        { k: "코끝 홍조 강도", you: "Grade 2-3/5", base: "Grade 1-2/5", verdict: "watch", note: "높음" },
        { k: "볼 중앙 홍조 강도", you: "Grade 2/5", base: "Grade 1/5", verdict: "watch", note: "약간 높음" },
        { k: "염증 후 홍반 후보", you: "2-4개", base: "0-5개", verdict: "good", note: "일반 범위" },
      ],
      "색소": [
        { k: "전체 가시 색소 병변", you: "12-18개", base: "20-35개", verdict: "good", note: "적음" },
        { k: "진한 점/모반 후보", you: "4-6개", base: "3-10개", verdict: "good", note: "일반 범위" },
        { k: "작은 잡티/PIH", you: "8-12개", base: "15-25개", verdict: "good", note: "적음" },
        { k: "색소 면적 비율", you: "0.4-0.8%", base: "1.0-2.0%", verdict: "good", note: "낮음" },
      ],
      "피부결": [
        { k: "피부결 점수", you: "76/100", base: "68-75/100", verdict: "good", note: "평균 이상" },
        { k: "표면 요철 지수", you: "22-28/100", base: "25-35/100", verdict: "good", note: "양호" },
        { k: "중앙 볼 요철 지수", you: "30-38/100", base: "25-40/100", verdict: "watch", note: "범위 상단" },
        { k: "패인 흉터 후보", you: "3-7개", base: "5-15개", verdict: "good", note: "적음" },
      ],
    },
  },
  minseo: {
    id: "P-2026-0489",
    name: "박민서",
    nameMasked: "박*서",
    initials: "MS",
    age: 38,
    gender: "F",
    skinAge: 41,
    skinType: "Combination",
    topConcern: "탄력 저하 / 주름",
    secondaryConcerns: ["볼륨 손실", "다크서클"],
    inflow: "지인 추천",
    inflowDetail: "기존 환자 김** · VIP",
    visits: 11,
    lastVisit: "2026.04.22 (35일 전)",
    rfm: { recency: 35, frequency: 11, monetary: 5_870_000 },
    segment: "VIP · 리프팅 관심 고객",
    skinScores: {
      주름: 62, 색소: 71, 여드름: 94, 피부톤: 74, 피부결: 70,
      "탄력/윤곽": 58, 다크서클: 56, 홍조: 80, 모공: 78, 유분광: 84,
    },
    indicators: {
      모공: [
        { k: "코 모공 밀도", you: "75-95개/cm²", base: "70-110개/cm²", verdict: "good", note: "일반 범위" },
        { k: "중앙 볼 모공 밀도", you: "30-45개/cm²", base: "30-55개/cm²", verdict: "good", note: "양호" },
        { k: "코 평균 모공 직경", you: "0.18-0.26mm", base: "0.18-0.30mm", verdict: "good", note: "일반 범위" },
      ],
      "유분/피지광": [
        { k: "T존 광택 면적", you: "3-5%", base: "4-8%", verdict: "good", note: "낮음" },
        { k: "전체 얼굴 광택 면적", you: "2-4%", base: "3-6%", verdict: "good", note: "낮음" },
        { k: "이마 반사광", you: "Grade 1/5", base: "Grade 1-2/5", verdict: "good", note: "양호" },
      ],
      "주름/탄력": [
        { k: "이마 정적 주름", you: "4-6개", base: "1-3개", verdict: "alert", note: "현저히 많음" },
        { k: "미간 정적 주름", you: "2-3개", base: "0-1개", verdict: "alert", note: "+2개" },
        { k: "눈가 잔주름", you: "5-7개/측", base: "3-5개/측", verdict: "watch", note: "약간 많음" },
        { k: "팔자 라인", you: "Grade 3/5", base: "Grade 1-2/5", verdict: "alert", note: "깊음" },
        { k: "중안면 볼륨", you: "58/100", base: "70-80/100", verdict: "alert", note: "−15p 손실" },
        { k: "턱선 선명도", you: "54/100", base: "65-75/100", verdict: "alert", note: "윤곽 흐림" },
        { k: "아랫볼 처짐 각도", you: "12-16°", base: "5-10°", verdict: "alert", note: "처짐 진행" },
      ],
      "홍조/염증": [
        { k: "홍조 면적 비율", you: "4-6%", base: "5-10%", verdict: "good", note: "낮음" },
        { k: "코끝 홍조 강도", you: "Grade 1/5", base: "Grade 1-2/5", verdict: "good", note: "양호" },
        { k: "볼 중앙 홍조 강도", you: "Grade 1/5", base: "Grade 1/5", verdict: "good", note: "일반 범위" },
      ],
      "색소": [
        { k: "전체 가시 색소 병변", you: "26-34개", base: "20-35개", verdict: "watch", note: "범위 상단" },
        { k: "기미 후보 영역", you: "광대 양측 2개", base: "0-1개", verdict: "alert", note: "관찰 필요" },
        { k: "진한 점/모반 후보", you: "5-8개", base: "3-10개", verdict: "good", note: "일반 범위" },
        { k: "색소 면적 비율", you: "1.4-1.8%", base: "1.0-2.0%", verdict: "watch", note: "범위 상단" },
      ],
      "피부결": [
        { k: "피부결 점수", you: "70/100", base: "68-75/100", verdict: "good", note: "일반 범위" },
        { k: "표면 요철 지수", you: "28-34/100", base: "25-35/100", verdict: "good", note: "양호" },
        { k: "다크서클 음영도", you: "Grade 3/5", base: "Grade 1-2/5", verdict: "alert", note: "현저함" },
      ],
    },
  },
  yoonseo: {
    id: "P-2026-0521",
    name: "최윤서",
    nameMasked: "최*서",
    initials: "YS",
    age: 22,
    gender: "F",
    skinAge: 21,
    skinType: "Dry-Sensitive",
    topConcern: "여드름 / 흉터",
    secondaryConcerns: ["민감성", "건조"],
    inflow: "유튜브 후기 영상",
    inflowDetail: "@gangnam_skin · 7일 전",
    visits: 1,
    lastVisit: "신규 (초진)",
    rfm: { recency: 0, frequency: 1, monetary: 0 },
    segment: "신규 · 여드름 케어",
    skinScores: {
      주름: 96, 색소: 70, 여드름: 48, 피부톤: 64, 피부결: 52,
      "탄력/윤곽": 90, 다크서클: 82, 홍조: 60, 모공: 65, 유분광: 70,
    },
    indicators: {
      모공: [
        { k: "코 모공 밀도", you: "120-150개/cm²", base: "80-120개/cm²", verdict: "watch", note: "+25-40%" },
        { k: "중앙 볼 모공 밀도", you: "60-80개/cm²", base: "35-60개/cm²", verdict: "watch", note: "+30%" },
        { k: "흉터 후 확장 모공", you: "8-14개", base: "0-3개", verdict: "alert", note: "여드름 흉터 동반" },
      ],
      "유분/피지광": [
        { k: "T존 광택 면적", you: "6-9%", base: "4-8%", verdict: "watch", note: "약간 높음" },
        { k: "전체 얼굴 광택 면적", you: "4-6%", base: "3-6%", verdict: "good", note: "일반 범위" },
        { k: "염증성 여드름", you: "8-14개", base: "0-5개", verdict: "alert", note: "현저히 많음" },
        { k: "면포 후보", you: "32-48개", base: "10-30개", verdict: "alert", note: "+50%" },
        { k: "여드름 후 홍반", you: "10-16개", base: "3-10개", verdict: "alert", note: "광범위" },
        { k: "낭종성 병변", you: "1-2개", base: "0개", verdict: "alert", note: "활동성" },
      ],
      "주름/탄력": [
        { k: "이마 정적 주름", you: "0개", base: "0-1개", verdict: "good", note: "매우 양호" },
        { k: "미간 정적 주름", you: "0개", base: "0개", verdict: "good", note: "양호" },
        { k: "눈가 잔주름", you: "0개/측", base: "0-1개/측", verdict: "good", note: "양호" },
        { k: "중안면 볼륨", you: "92/100", base: "78-88/100", verdict: "good", note: "양호" },
      ],
      "홍조/염증": [
        { k: "홍조 면적 비율", you: "14-20%", base: "5-10%", verdict: "alert", note: "여드름 동반 홍반" },
        { k: "코끝 홍조 강도", you: "Grade 2/5", base: "Grade 1/5", verdict: "watch", note: "약간 높음" },
        { k: "볼 중앙 홍조 강도", you: "Grade 2-3/5", base: "Grade 1/5", verdict: "alert", note: "민감성 동반" },
        { k: "염증 후 홍반(PIE)", you: "18-26개", base: "0-5개", verdict: "alert", note: "광범위" },
      ],
      "색소": [
        { k: "PIH(염증 후 색소침착)", you: "22-30개", base: "5-15개", verdict: "alert", note: "여드름 후속" },
        { k: "진한 점/모반 후보", you: "2-4개", base: "3-10개", verdict: "good", note: "낮음" },
        { k: "색소 면적 비율", you: "1.6-2.2%", base: "1.0-2.0%", verdict: "watch", note: "범위 상단" },
      ],
      "피부결": [
        { k: "피부결 점수", you: "52/100", base: "70-80/100", verdict: "alert", note: "현저히 낮음" },
        { k: "표면 요철 지수", you: "44-52/100", base: "20-32/100", verdict: "alert", note: "흉터·요철 동반" },
        { k: "패인 흉터(atrophic) 후보", you: "16-24개", base: "0-5개", verdict: "alert", note: "Box/Ice-pick 혼재" },
        { k: "흉터 면적 비율", you: "2.4-3.2%", base: "0.3-0.8%", verdict: "alert", note: "치료 필요" },
      ],
    },
  },
};

// Score order for the analysis chart
const SCORE_KEYS = ["주름", "색소", "여드름", "피부톤", "피부결", "탄력/윤곽", "다크서클", "홍조", "모공", "유분광"];

// 일반 기준 (동일 연령대) baseline scores
const BASELINE_SCORES = {
  주름: 86, 색소: 78, 여드름: 80, 피부톤: 78, 피부결: 73,
  "탄력/윤곽": 76, 다크서클: 74, 홍조: 76, 모공: 74, 유분광: 72,
};

// Treatment recommendations (jihye baseline)
const TREATMENTS = [
  {
    id: "rf-microneedling",
    tier: "primary",
    name: "Secret RF Micro-needling",
    category: "RF + Microneedle",
    targetConcern: ["모공", "피부결"],
    fit: 95,
    duration: "20분",
    downtime: "1-2일 홍조",
    pricePerSession: 320_000,
    sessions: [
      { count: 3, price: 880_000, original: 960_000, badge: "기본" },
      { count: 4, price: 1_120_000, original: 1_280_000, badge: "권장", recommended: true },
      { count: 5, price: 1_350_000, original: 1_600_000, badge: "집중" },
    ],
    script: "환자분 코·볼 모공 밀도가 동일 연령대 대비 약 20% 높고, T존 광택 면적도 일반 기준의 2배 수준입니다. Secret RF는 진피층 콜라겐 리모델링을 통해 모공 입구의 탄력을 회복시키는 시술로, 4회 protocol에서 가장 안정적인 결과가 나타납니다.",
    aiEvidence: { studies: 24, cohort: "유사 환자 142명", improvement: "+38%" },
  },
  {
    id: "sebum-laser",
    tier: "primary",
    name: "Sebum Control Fractional Laser",
    category: "Fractional Laser",
    targetConcern: ["유분광", "피지"],
    fit: 78,
    duration: "30분",
    downtime: "2-3일 각질",
    pricePerSession: 280_000,
    sessions: [
      { count: 3, price: 760_000, original: 840_000, badge: "기본" },
      { count: 4, price: 980_000, original: 1_120_000, badge: "권장" },
      { count: 5, price: 1_180_000, original: 1_400_000, badge: "집중" },
    ],
    script: "피지선 활성도를 정밀하게 제어하는 1550nm fractional laser입니다. 환자분의 T존 광택 면적을 6개월 내 30% 이상 감소시킨 cohort 데이터가 있습니다.",
    aiEvidence: { studies: 18, cohort: "유사 환자 96명", improvement: "+30%" },
  },
  {
    id: "chemical-peel",
    tier: "secondary",
    name: "Chemical Peeling",
    category: "Salicylic / Jessner",
    targetConcern: ["피지", "각질"],
    fit: 70,
    duration: "15분",
    downtime: "당일",
    pricePerSession: 90_000,
    sessions: [
      { count: 3, price: 240_000, original: 270_000, badge: "기본" },
      { count: 4, price: 310_000, original: 360_000, badge: "권장" },
      { count: 6, price: 450_000, original: 540_000, badge: "집중" },
    ],
    script: "RF·레이저 사이 보조 시술로 매주 1회 진행하면 피지·각질 turnover를 가속하여 본 시술 효과를 30% 이상 부스팅합니다.",
    aiEvidence: { studies: 12, cohort: "유사 환자 220명", improvement: "+18%" },
  },
  {
    id: "ipl-vbeam",
    tier: "secondary",
    name: "V-Beam IPL · 홍조",
    category: "Vascular Laser",
    targetConcern: ["홍조"],
    fit: 64,
    duration: "20분",
    downtime: "당일~1일",
    pricePerSession: 220_000,
    sessions: [
      { count: 2, price: 410_000, original: 440_000, badge: "기본" },
      { count: 3, price: 590_000, original: 660_000, badge: "권장" },
    ],
    script: "홍조 면적이 일반 기준 대비 약 1.5배 수준으로, 모세혈관 표적 IPL을 RF protocol과 병행 시 안면 균질도가 빠르게 개선됩니다.",
    aiEvidence: { studies: 8, cohort: "유사 환자 64명", improvement: "+24%" },
  },
];

// Package presets
const PACKAGES = [
  {
    id: "pkg-core",
    name: "Pore Control Core",
    tier: "권장",
    items: ["Secret RF × 4", "Chemical Peel × 4", "홈케어 키트"],
    sessions: 8,
    duration: "10주",
    price: 1_290_000,
    original: 1_640_000,
    discount: 21,
    targets: ["모공", "유분광"],
    coverage: 0.86,
  },
  {
    id: "pkg-comprehensive",
    name: "Pore + Tone Comprehensive",
    tier: "집중",
    items: ["Secret RF × 4", "Sebum Laser × 3", "V-Beam × 2", "Peel × 4"],
    sessions: 13,
    duration: "14주",
    price: 2_180_000,
    original: 3_080_000,
    discount: 29,
    targets: ["모공", "유분광", "홍조"],
    coverage: 0.94,
    recommended: true,
  },
  {
    id: "pkg-light",
    name: "Quick Start Trial",
    tier: "기본",
    items: ["Secret RF × 2", "Peel × 2"],
    sessions: 4,
    duration: "5주",
    price: 740_000,
    original: 820_000,
    discount: 10,
    targets: ["모공"],
    coverage: 0.62,
  },
];

// Connected devices (관리자 화면)
const DEVICES = [
  { id: "dev-1", name: "Secret RF Duo", category: "RF+MNRF", status: "운영중", utilization: 78, sessionsToday: 6, sessionsWeek: 31, consumable: { name: "Tip 25P", remain: 0.42, units: 18 }, lastService: "2026.04.02", brand: "Cynosure", peer: 64 },
  { id: "dev-2", name: "Ultraformer MPT", category: "HIFU", status: "운영중", utilization: 84, sessionsToday: 5, sessionsWeek: 28, consumable: { name: "카트리지 4MHz", remain: 0.18, units: 4 }, lastService: "2026.03.18", brand: "Classys", peer: 71 },
  { id: "dev-3", name: "V-Beam Perfecta", category: "Vascular Laser", status: "운영중", utilization: 41, sessionsToday: 2, sessionsWeek: 11, consumable: { name: "Dye Kit", remain: 0.66, units: 1 }, lastService: "2026.02.20", brand: "Candela", peer: 58 },
  { id: "dev-4", name: "Volnewmer Plus", category: "MRF", status: "정비", utilization: 0, sessionsToday: 0, sessionsWeek: 4, consumable: { name: "Tip 3.0", remain: 0.05, units: 1 }, lastService: "2026.05.20", brand: "Hironic", peer: 52, alert: "Tip 재고 임박 · 자동 발주 대기" },
  { id: "dev-5", name: "PicoSure Pro", category: "Pico Laser", status: "유휴", utilization: 22, sessionsToday: 1, sessionsWeek: 5, consumable: { name: "핸드피스", remain: 0.88, units: 1 }, lastService: "2026.01.11", brand: "Cynosure", peer: 49, alert: "Peer 평균 대비 -55% 활용" },
  { id: "dev-6", name: "Fraxel Dual", category: "Fractional Laser", status: "운영중", utilization: 67, sessionsToday: 4, sessionsWeek: 22, consumable: { name: "Tip Pack", remain: 0.71, units: 8 }, lastService: "2026.04.28", brand: "Solta", peer: 60 },
];

// Revisit / 알림톡 queue
const REVISITS = [
  { id: "rv-1", patient: "김지혜", concern: "Pore Control 패키지 · 3/4회 완료", lastVisit: "47일 전", suggestedDate: "2026.06.04 (수)", confidence: 92, channel: "알림톡 + 카톡 채널", status: "예약대기", nextTreatment: "Secret RF #4" },
  { id: "rv-2", patient: "박민서", concern: "Ultraformer 효과 감소 추정 시점", lastVisit: "35일 전", suggestedDate: "2026.06.10 (수)", confidence: 88, channel: "알림톡", status: "발송완료", nextTreatment: "리프팅 부스터" },
  { id: "rv-3", patient: "이수아", concern: "Peel 잔여 2회 · 만료 임박", lastVisit: "62일 전", suggestedDate: "2026.06.02 (월)", confidence: 76, channel: "알림톡", status: "예약완료", nextTreatment: "Peel #5" },
  { id: "rv-4", patient: "정하늘", concern: "V-Beam 후 홍조 trend 정상화 — Maintenance", lastVisit: "88일 전", suggestedDate: "2026.06.18 (목)", confidence: 71, channel: "알림톡", status: "발송예정", nextTreatment: "V-Beam Maintenance" },
  { id: "rv-5", patient: "한지원", concern: "Fraxel 패키지 #2 — 6주 간격 도래", lastVisit: "41일 전", suggestedDate: "2026.06.07 (토)", confidence: 84, channel: "카톡 채널", status: "예약대기", nextTreatment: "Fraxel #3" },
  { id: "rv-6", patient: "오세린", concern: "VIP — 분기 정기 상담", lastVisit: "78일 전", suggestedDate: "2026.06.12 (금)", confidence: 95, channel: "실장 직접 콜", status: "콜백예약", nextTreatment: "상담" },
];

// BI Dashboard KPIs
const KPIS = [
  { label: "당일 상담 건수", value: 28, delta: "+12%", deltaSign: "up", sub: "WoW · 목표 24건" },
  { label: "당일 전환율", value: "62.4%", delta: "+5.1pp", deltaSign: "up", sub: "패키지 전환 18건" },
  { label: "당일 객단가", value: "₩1.42M", delta: "-3.0%", deltaSign: "down", sub: "전주 ₩1.46M" },
  { label: "재방문율 (30일)", value: "47.8%", delta: "+2.3pp", deltaSign: "up", sub: "Target 45%" },
];

// Staff perf (BI)
const STAFF = [
  { name: "이실장", role: "상담 실장", consults: 12, conv: 0.75, avg: 1_860_000, sat: 4.8, color: "#E07A6C" },
  { name: "박실장", role: "상담 실장", consults: 9, conv: 0.66, avg: 1_530_000, sat: 4.6, color: "#2F6FE0" },
  { name: "정실장", role: "상담 실장", consults: 7, conv: 0.57, avg: 1_240_000, sat: 4.5, color: "#1F9D6E" },
  { name: "안실장", role: "상담 실장", consults: 6, conv: 0.83, avg: 2_140_000, sat: 4.9, color: "#6A56D6" },
];

// Sample chart data (BI)
const WEEKLY_REVENUE = [12.4, 14.1, 13.8, 15.2, 16.0, 15.6, 17.8, 18.4, 17.2, 19.1, 20.6, 19.8, 22.4, 21.7]; // in M KRW
const WEEKLY_CONVERSION = [54, 58, 56, 61, 60, 62, 65, 63, 66, 64, 68, 67, 69, 71];

// Concerns chip options (intake)
const CONCERN_OPTIONS = [
  "모공", "유분/피지광", "여드름", "흉터/요철", "주름", "탄력/볼륨",
  "색소/잡티", "기미", "다크서클", "홍조/모세혈관", "민감성", "건조",
  "다크닝/톤", "팔자 라인", "이중턱", "리프팅",
];

const INFLOW_OPTIONS = [
  { v: "instagram", l: "인스타그램", icon: "○" },
  { v: "youtube", l: "유튜브", icon: "▶" },
  { v: "naver", l: "네이버 검색", icon: "N" },
  { v: "kakao", l: "카카오 채널", icon: "K" },
  { v: "referral", l: "지인 추천", icon: "+" },
  { v: "revisit", l: "재방문", icon: "↻" },
  { v: "ad", l: "옥외/매체 광고", icon: "▣" },
];

// Make available globally
Object.assign(window, {
  PERSONAS, SCORE_KEYS, BASELINE_SCORES,
  TREATMENTS, PACKAGES, DEVICES, REVISITS,
  KPIS, STAFF, WEEKLY_REVENUE, WEEKLY_CONVERSION,
  CONCERN_OPTIONS, INFLOW_OPTIONS,
});
