/* 바른물류 배차시스템 — generated from tokens.json */
@font-face { font-family: "Noto Sans KR"; src: url("/fonts/NotoSansKR-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Noto Sans KR"; src: url("/fonts/NotoSansKR-Medium.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Noto Sans KR"; src: url("/fonts/NotoSansKR-Bold.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
:root, [data-theme="light"] {
  --bg: #f4f6f9;
  --surface: #ffffff;
  --surface-sunken: #eef1f5;
  --surface-hover: #f2f7fb;
  --surface-selected: #e3f3fc;
  --line: #dde2e9;
  --line-control: #8a95a3;
  --ink: #1a2230;
  --ink-muted: #556070;
  --ink-subtle: #6b7583;
  --brand: #00a0e9;
  --on-brand: #0b1620;
  --brand-soft: #e3f3fc;
  --primary: #0072bc;
  --primary-hover: #005f9e;
  --on-primary: #ffffff;
  --primary-text: #00659e;
  --focus: #0072bc;
  --danger: #c62828;
  --on-danger: #ffffff;
  --danger-soft: #fde8e8;
  --warning: #a15c00;
  --success: #1e7b3c;
  --st-req: #8a4b00;
  --st-req-bg: #fff1db;
  --st-req-dot: #f59e0b;
  --st-rcp: #0a5fb4;
  --st-rcp-bg: #e1effd;
  --st-rcp-dot: #2f80ed;
  --st-pend: #0b6e6e;
  --st-pend-bg: #dcf4f2;
  --st-pend-dot: #14a3a0;
  --st-cmplt: #1f6b33;
  --st-cmplt-bg: #e2f4e6;
  --st-cmplt-dot: #2e9e4f;
  --st-cncl: #5b6573;
  --st-cncl-bg: #eceff3;
  --amt-billing: #1a2230;
  --amt-payment: #0a5fb4;
  --amt-fee: #1e7b3c;
  --overlay: rgba(15, 20, 27, 0.48);
  --shadow-sm: 0 1px 2px rgba(16, 24, 40, 0.06);
  --shadow-md: 0 4px 12px rgba(16, 24, 40, 0.10);
  --shadow-lg: 0 12px 32px rgba(16, 24, 40, 0.18);
}
[data-theme="dark"] {
  --bg: #0f141b;
  --surface: #161c25;
  --surface-sunken: #1c2430;
  --surface-hover: #1f2935;
  --surface-selected: #0f3047;
  --line: #2a3441;
  --line-control: #5d6978;
  --ink: #e6ebf1;
  --ink-muted: #a5afbd;
  --ink-subtle: #8b95a3;
  --brand: #2bb5f2;
  --on-brand: #0b1620;
  --brand-soft: #0f3047;
  --primary: #3aa9e8;
  --primary-hover: #62bdf0;
  --on-primary: #06121c;
  --primary-text: #5cc0f5;
  --focus: #5cc0f5;
  --danger: #ff8a80;
  --on-danger: #2a0b0b;
  --danger-soft: #3b1717;
  --warning: #ffb74d;
  --success: #7fd18f;
  --st-req: #ffc56b;
  --st-req-bg: #3a2a10;
  --st-req-dot: #f5a524;
  --st-rcp: #8cc4ff;
  --st-rcp-bg: #132c48;
  --st-rcp-dot: #5aa5ff;
  --st-pend: #6fd6cc;
  --st-pend-bg: #0f3533;
  --st-pend-dot: #2fc4bd;
  --st-cmplt: #86d69a;
  --st-cmplt-bg: #14331d;
  --st-cmplt-dot: #4cc26e;
  --st-cncl: #aab3bf;
  --st-cncl-bg: #262e38;
  --amt-billing: #e6ebf1;
  --amt-payment: #8cc4ff;
  --amt-fee: #7fd18f;
  --overlay: rgba(0, 0, 0, 0.6);
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.5);
  --shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.6);
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --radius-xs: 2px;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 10px;
  --radius-full: 9999px;
  --control-sm: 28px;
  --control-md: 34px;
  --control-lg: 44px;
  --row-height: 36px;
  --row-height-compact: 30px;
  --header-height: 56px;
  --sidebar-width: 232px;
  --sidebar-collapsed: 64px;
  --bp-sm: 576px;
  --bp-md: 768px;
  --bp-lg: 992px;
  --bp-xl: 1200px;
  --bp-xxl: 1600px;
  --z-sticky: 100;
  --z-sidebar: 200;
  --z-dropdown: 300;
  --z-modal: 1050;
  --z-toast: 1100;
  --font-sans: "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;
}
.display { font-family: var(--font-sans); font-size: 28px; line-height: 36px; font-weight: 700; letter-spacing: -0.02em; }
.title-lg { font-family: var(--font-sans); font-size: 20px; line-height: 28px; font-weight: 700; letter-spacing: -0.01em; }
.title-md { font-family: var(--font-sans); font-size: 16px; line-height: 24px; font-weight: 700; }
.title-sm { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 700; }
.body { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 400; }
.body-strong { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 500; }
.label { font-family: var(--font-sans); font-size: 13px; line-height: 18px; font-weight: 500; }
.cell { font-family: var(--font-sans); font-size: 13px; line-height: 18px; font-weight: 400; }
.caption { font-family: var(--font-sans); font-size: 12px; line-height: 16px; font-weight: 400; }
.kpi { font-family: var(--font-sans); font-size: 24px; line-height: 30px; font-weight: 700; letter-spacing: -0.01em; }
.kpi-sm { font-family: var(--font-sans); font-size: 18px; line-height: 24px; font-weight: 700; }
