/* ============================================================
   다복메드플러스 CRM — 디자인 토큰 (디자인가이드 v1.6 원본)
   ★ 이 파일은 시안 1·2·3 이 그대로 공유합니다. 시안별로 수정하지 않습니다.
     가이드 "01 · 디자인 토큰" 블록의 값을 그대로 옮긴 것입니다.
   ============================================================ */
@import url("https://cdn.jsdelivr.net/gh/moonspam/NanumSquareNeo@1.0/nanumsquareneo.css");

:root{
  /* --- color / primitive --- */
  --orange-50:#FFF7ED; --orange-100:#FFF0DE; --orange-200:#FFDCB0; --orange-300:#FFBE72;
  --orange-400:#FF9C3D; --orange-500:#FF8A1C; --orange-600:#F07A0C; --orange-700:#B85000;
  --gold-400:#FFD360; --gradient-start:#FF9531; --gradient-end:#FFD360;
  --ink-900:#0B1B2B; --ink-800:#1B3145; --ink-700:#2B4257;
  --gray-600:#516375; --gray-500:#647589; --gray-400:#8A99A9; --gray-300:#CBD5E1;
  --gray-200:#E2E9F0; --gray-100:#F1F5F9; --gray-50:#F6F8FB; --white:#FFFFFF;

  /* --- color / semantic --- */
  --bg-surface:#FFFFFF; --bg-subtle:#F1F5F9; --bg-hover:#EEF3F9; --bg-inverse:#0B1B2B;
  --bg-brand:#FF8A1C; --bg-brand-hover:#FF9C3D; --bg-brand-active:#F07A0C;
  --bg-brand-soft:#FFF0DE; --bg-brand-vivid:#FF9531;
  --brand-grad:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));
  --text-on-brand:#FFFFFF;            /* 승인된 예외 2.36:1 */
  --text-heading:#0B1B2B; --text-body:#2B4257; --text-muted:#516375;
  --text-placeholder:#8A99A9; --text-inverse:#FFFFFF; --text-brand:#B85000; --text-disabled:#8A99A9;
  --border-default:#E2E9F0; --border-strong:#CBD5E1; --border-brand:#F07A0C; --border-danger:#E22D22;

  /* --- 회원 유형 (vivid / text / soft 3단) --- */
  /* 2026-09-04 고객 검토: 병원회원 초록(#18B45C)이 브랜드 살구색과 충돌하고
     정상·완료 상태색과도 겹쳐 파랑 계열로 변경했습니다. 브랜드 살구색은 그대로 둡니다. */
  --role-b2b:#FF8A1C;      --role-b2b-text:#B85000;      --role-b2b-soft:#FFF0DE;
  --role-b2c:#12B5AE;      --role-b2c-text:#0A7772;      --role-b2c-soft:#E4FAF8;
  --role-corp:#7C5CFC;     --role-corp-text:#6642E8;     --role-corp-soft:#EFEBFF;
  --role-hospital:#2E6BE6; --role-hospital-text:#1D4FBF; --role-hospital-soft:#E9F0FF;
  --role-admin:#64748B;    --role-admin-text:#4E5F75;    --role-admin-soft:#EDF1F6;

  /* --- 상태색 --- */
  --status-info:#2E90FA;    --status-info-fg:#0B65C2;    --status-info-bg:#E8F2FE;
  --status-success:#18B45C; --status-success-fg:#0F7A40; --status-success-bg:#E4FAED;
  --status-warn:#E8A317;    --status-warn-fg:#8C6208;    --status-warn-bg:#FDF3D9;
  /* 위험·삭제는 단계를 나누지 않고 한 색 */
  --status-danger:#E22D22;  --status-danger-fg:#E22D22;  --status-danger-bg:#FFF5F4;
  --status-danger-hover:#C7261A;

  /* --- 차트 팔레트 (기본은 중립 청회색, 역할색은 계열이 회원 유형일 때만) --- */
  --c-neutral:#8AA6C0; --c-n700:#5F7C99; --c-n300:#B7CBDD; --c-n200:#DCE7F0; --c-track:#F1F5F9;
  --chart-b2b:#FA9526; --chart-b2c:#08C6BD;

  /* --- typography — 나눔스퀘어 네오는 500·600이 없어 4단계만 사용 --- */
  --font-sans:'NanumSquareNeo','Noto Sans KR',system-ui,-apple-system,sans-serif;
  --font-mono:'Roboto Mono','SFMono-Regular',Consolas,monospace;
  /* 24인치(1920) 모니터 기준으로 본문 가독성을 올린 값 — 원래 11/12/13/14 였습니다 */
  --fs-11:12px; --fs-12:13px; --fs-13:14px; --fs-14:15px;
  --fs-16:16px; --fs-20:20px; --fs-24:24px; --fs-30:30px;
  --lh-tight:1.35; --lh-normal:1.55; --lh-loose:1.7;
  --fw-regular:400; --fw-bold:700; --fw-extra:800; --fw-black:900;

  /* --- spacing --- */
  --sp-2:2px; --sp-4:4px; --sp-6:6px; --sp-8:8px; --sp-10:10px; --sp-12:12px;
  --sp-16:16px; --sp-20:20px; --sp-24:24px; --sp-32:32px; --sp-40:40px; --sp-56:56px;
  --gap:16px;

  /* --- radius --- */
  --r-sm:4px; --r-md:6px; --r-lg:10px; --r-xl:14px; --r-full:999px;

  /* --- size (compact) --- */
  --h-control-sm:28px; --h-control-md:34px; --h-control-lg:40px;
  --h-row:40px; --h-row-head:38px; --w-sidebar:256px; --h-gnb:52px;
  --h-menu:34px; --td-pad:0;
  --main-pad:20px; --main-max:1440px; --side-pad:16px 12px;
  --card-pad:16px; --card-hpad:14px 16px; --stat-pad:16px; --kv-col:132px;
  --chart-h:150px; --bar-gap:10px; --bar-w:24px; --cal-h:84px;
  --tab-gap:20px; --tab-pad:10px 2px;

  /* --- elevation --- */
  --sh-sm:0 1px 2px rgba(11,27,43,.06);
  --sh-md:0 2px 8px rgba(11,27,43,.08);
  --sh-lg:0 8px 24px -4px rgba(11,27,43,.14);
  --sh-focus:0 0 0 3px rgba(255,138,28,.32);

  /* --- z-index --- */
  --z-sticky:100; --z-dropdown:200; --z-overlay:300; --z-modal:310; --z-toast:400;

  /* --- 컴포넌트 고정값 (가이드 02·03 규격) --- */
  --r-btn:var(--r-md);        /* 버튼·입력 모서리 6px */
  --r-input:var(--r-md);
  --r-badge:var(--r-full);    /* 배지 모서리 full */
  --r-chip:var(--r-full);
  --r-check:var(--r-sm);
  --r-bar:3px;
  --r-avatar:var(--r-full);
  --btn-p-bg:#FF8A1C; --btn-p-fg:#FFFFFF; --btn-p-border:#F07A0C; --btn-p-hover:#F07A0C;
  --check-bg:#FF8A1C; --check-border:#F07A0C; --check-mark:#FFFFFF;
  --chip-on-bg:#FFF0DE; --chip-on-border:#FFBE72; --chip-on-fg:#B85000;
  --tab-on-fg:#B85000; --tab-on-bd:#FF8A1C;
}

/* 회원 유형별 강조색 — 레이아웃은 4종 동일, 강조색과 메뉴만 달라집니다 */
body.role-b2b{--role:var(--role-b2b);--role-text:var(--role-b2b-text);--soft:var(--role-b2b-soft)}
body.role-b2c{--role:var(--role-b2c);--role-text:var(--role-b2c-text);--soft:var(--role-b2c-soft)}
body.role-corp{--role:var(--role-corp);--role-text:var(--role-corp-text);--soft:var(--role-corp-soft)}
body.role-hosp{--role:var(--role-hospital);--role-text:var(--role-hospital-text);--soft:var(--role-hospital-soft)}
body.role-admin{--role:var(--role-admin);--role-text:var(--role-admin-text);--soft:var(--role-admin-soft)}
body{--side-on-bg:var(--soft);--side-on-fg:var(--role-text);--side-on-shadow:inset 2px 0 0 var(--role)}
