/* db_tokens.css — --db-* 디자인 토큰 정본 (단일 변경점).
   2026-07-28 properties_grid.css 에서 이관 — 페이지명 파일이 전역 토큰을 소유하던 것을 분리(센서스 ② 후속).
   door-butler-web_v1 이식 토큰(라이트). 3개 레이아웃(application·embed_modal·print_form) 전부에서 로드.
   ⚠️ sans 폰트 값의 정본은 여기 --db-font-sans 1곳뿐 —
     m3-tokens.css(--md-sys-typescale-font-brand/plain)와 tailwind/application.css(@theme --font-sans)가
     var(--db-font-sans) 로 참조한다. 폰트 변경은 이 파일에서만. */
:root {
  --db-font-sans: 'Wanted Sans Variable', 'Wanted Sans', system-ui, sans-serif;
  --db-color-card: #FFFFFF;
  --db-color-bg-alt: #F4F4F5;
  --db-color-text: #1D1B20;
  --db-color-text-sub: #70737C;
  /* 기존 var(--db-color-text-muted, #9ca3af) 폴백으로만 살던 값을 정식 토큰으로 승격 — 시각 동일 */
  --db-color-text-muted: #9CA3AF;
  /* 진한 회색 강조 텍스트 — 페이지 인디케이터(shared_pagination) · 도넛차트 라벨
     (donut_chart_controller) · 대시보드 % 라벨. 2026-07-29 이전엔 같은 #334155 가 3개 파일
     5곳에 리터럴로 흩어져 있었다(한 곳만 고치면 갈라지는 상태). 정본은 여기 1곳. */
  --db-color-text-strong: #334155;
  /* 주 파랑 = 남색 단일화(2026-07-28 써니 결정) — 앱 지배색(#1e40af 75곳: 로고·nav·등록버튼)과 정합.
     door-butler 이식값(#306AFF/#2B5FE6/#2655CC) 폐기. hover/pressed 파생은 로고·등록버튼과 동일 남색 스택. */
  --db-color-primary: #1e40af;
  --db-color-primary-hover: #1e3a8a;
  --db-color-primary-pressed: #172f6f;
  --db-color-on-primary: #FFFFFF;
  /* primary 의 연한 배경 변형 — Tailwind bg-primary-container / text-primary-container-on 이 이걸 탄다.
     2026-07-29 남색 체계로 신설(구 구글블루 #D3E3FD/#0842A0 대체). blue-100 배경 위 primary 텍스트. */
  --db-color-primary-container: #DBEAFE;
  --db-color-on-primary-container: var(--db-color-primary);
  /* .db-action-btn 기본색 — 주 파랑 단일화로 primary 참조(이원화 종결). */
  --db-color-action: var(--db-color-primary);
  /* .db-action-btn 중립 변형(취소·일회성 도구 등 주 액션과 톤 구분) — 호출부 raw hex #6b7280 을
     토큰화. 렌더값 동일. 호출부는 color: "var(--db-color-action-neutral)" 로 넘긴다. */
  --db-color-action-neutral: #6b7280;
  --db-color-danger: #DC2626;
  --db-color-danger-hover: #B91C1C;
  --db-color-outline: rgba(112,115,124,0.22);
  --db-color-fill-subtle: rgba(112,115,124,0.05);
  --db-color-fill-light: rgba(112,115,124,0.08);
  --db-color-fill-medium: rgba(112,115,124,0.16);
  /* 그리드 인라인편집 저장 피드백 — 셀 배경을 잠깐 물들였다 되돌린다.
     ⚠️ CSS 규칙이 아니라 **JS 가 인라인으로 칠한다**(lib/grid_flash.js). 클래스로 못 바꾸는 이유:
        선택행 규칙 `[data-…] .tabulator-row.dsv2-row-selected .tabulator-cell`(0,4,0)이 있어
        평범한 클래스(0,2,0)는 선택된 행에서 진다. 인라인은 항상 이겨서 지금 동작이 유지된다.
     값의 정본은 여기 3줄뿐이다 — 종전엔 컨트롤러 3곳에 raw hex 8번 흩어져 있었다(2026-07-31).
     JS 는 이 토큰을 읽어서 쓰므로, 색을 바꾸려면 **여기만** 고치면 된다.
     ⚠️ #dcfce7 은 badge_colors.js 의 green 배경과 값이 같지만 **다른 의미**다(뱃지 vs 저장성공).
        우연히 같은 것이라 합치지 말 것 — 한쪽 톤을 조정할 때 다른 쪽이 같이 움직인다. */
  --db-color-flash-ok: #dcfce7;
  --db-color-flash-error: #fee2e2;
  --db-color-flash-saving: #fef9c3;
  --db-text-label-2: 500 12px/1.385 var(--db-font-sans);
  /* 캡션(라벨보다 한 단계 작은 보조문구) — shared/_date_field 의 label 이 참조하는데
     정의가 없어 그 폰트 선언이 통째로 무효였다(2026-07-29 실측·신설). */
  --db-text-caption-1: 500 11px/1.4 var(--db-font-sans);
  --db-text-body-2: 500 15px/1.467 var(--db-font-sans); /* door-butler-web_v1 이식 — 우클릭 메뉴 폰트 */
  --db-radius-xs: 4px;
  --db-radius-input: 10px;
  --db-radius-md: 12px; /* door-butler-web_v1 이식 — M3 medium (우클릭 메뉴 radius) */
  --db-radius-btn: 10px;
  --db-shadow-overlay: 0 16px 40px rgba(0,0,0,.12), 0 4px 12px rgba(0,0,0,.08);
  --db-space-2: 8px;
  --db-duration-fast: 150ms;
}
