/* ============================================================
   TX 유리 ERP — 디자인 토큰 & 베이스
   인더스트리얼 글라스 톤: 쿨 슬레이트 + 글라스 틸/시안
   ============================================================ */
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.css");

:root {
  /* ---- 중립(슬레이트) ---- */
  --ink-900: #0c1620;
  --ink-800: #16242f;
  --ink-700: #283a47;
  --ink-600: #44586a;
  --ink-500: #647889;
  --ink-400: #8a9bab;
  --ink-300: #b9c6d1;
  --ink-200: #d8e0e7;
  --ink-150: #e6ebf0;
  --ink-100: #eef2f5;
  --ink-50:  #f5f8fa;
  --paper:   #ffffff;
  --bg:      #eceff3;

  /* ---- 브랜드: 글라스 틸 ---- */
  --brand-900: #0a3d44;
  --brand-700: #0e6e7a;
  --brand-600: #0d8595;
  --brand-500: #129cae;
  --brand-300: #6fc9d5;
  --brand-100: #d6eef1;
  --brand-tint: #eef8fa;

  /* ---- 공정 상태 색 ---- */
  --st-wait:   #7c8a99;   /* 대기 */
  --st-wait-bg:#eef1f4;
  --st-run:    #c2740a;   /* 작업중 */
  --st-run-bg: #fbf1e1;
  --st-done:   #1f8a4c;   /* 완료 */
  --st-done-bg:#e6f4ec;
  --st-bad:    #d33a36;   /* 불량 */
  --st-bad-bg: #fbeae9;
  --st-insp:   #6d49c9;   /* 검수 */
  --st-insp-bg:#efe9fb;
  --st-ship:   #0d8595;   /* 출하 */
  --st-ship-bg:#dff1f3;

  /* ---- 공정 단계 색 (절단→가공→강화→검수→출하) ---- */
  --proc-cut:   #2f6db0;
  --proc-mach:  #b06a2f;
  --proc-temper:#c2400a;
  --proc-insp:  #6d49c9;
  --proc-lami:  #6d49c9;
  --proc-multi: #0d8595;
  --proc-ship:  #1f8a4c;

  /* ---- 타이포 ---- */
  --font: "Pretendard", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --mono: "SF Mono", ui-monospace, "Roboto Mono", Menlo, monospace;

  /* ---- 라운드 / 그림자 ---- */
  --r-sm: 7px;
  --r-md: 11px;
  --r-lg: 16px;
  --r-xl: 22px;
  --sh-1: 0 1px 2px rgba(12,22,32,.06), 0 1px 1px rgba(12,22,32,.04);
  --sh-2: 0 2px 6px rgba(12,22,32,.08), 0 1px 2px rgba(12,22,32,.05);
  --sh-3: 0 8px 28px rgba(12,22,32,.12), 0 2px 6px rgba(12,22,32,.06);
  --sh-pop: 0 14px 44px rgba(12,22,32,.20), 0 4px 12px rgba(12,22,32,.10);

  --hair: #e2e8ee;
  --hair-strong: #d2dce4;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: var(--font);
  color: var(--ink-800);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-feature-settings: "tnum" 1, "cv01" 1;
}
#root { height: 100vh; }
button { font-family: inherit; cursor: pointer; }
input, select, textarea { font-family: inherit; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: var(--ink-200); border-radius: 99px; border: 2px solid transparent; background-clip: padding-box; }
::-webkit-scrollbar-thumb:hover { background: var(--ink-300); background-clip: padding-box; border: 2px solid transparent; }
::-webkit-scrollbar-track { background: transparent; }

/* ---- 숫자 강조용 ---- */
.tnum { font-variant-numeric: tabular-nums; }
.mono { font-family: var(--mono); }

/* ---- 유틸 ---- */
.row { display: flex; align-items: center; }
.col { display: flex; flex-direction: column; }
.gap4 { gap: 4px; } .gap6 { gap: 6px; } .gap8 { gap: 8px; }
.gap12 { gap: 12px; } .gap16 { gap: 16px; } .gap20 { gap: 20px; }
.grow { flex: 1; }
.muted { color: var(--ink-500); }
.dim { color: var(--ink-400); }

/* 진입 애니메이션 */
@keyframes pop-in { from { opacity: 0; transform: translateY(6px) scale(.99); } to { opacity: 1; transform: none; } }
@keyframes fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes slide-up { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes sheet-up { from { transform: translateY(100%); } to { transform: translateY(0); } }
@keyframes overlay-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes pulse-run { 0%,100% { opacity: 1; } 50% { opacity: .45; } }
