/* BuniInsight design tokens — extracted from BuniInsight.pen (Ink Blue primary, neutral grays, Noto Sans KR, radius 8) */
:root {
  --primary-900: #172640;
  --primary-800: #1E3152;
  --primary-700: #253B64;
  --primary-600: #32517F;
  --primary-500: #456896;
  --primary-200: #C6D0E0;
  --primary-100: #E3E8F0;
  --primary-50: #F2F4F8;

  --success: #2F7A57;
  --success-bg: #EEF5F1;
  --success-border: #CDE3D6;
  --warning: #A86412;
  --warning-bg: #FBF5EB;
  --warning-border: #EBD8B8;
  --error: #B3261E;
  --error-bg: #FBEFEE;
  --error-border: #F0CBC8;
  --locked: #6C717A;
  --locked-bg: #F6F7F8;
  --locked-border: #E1E3E6;

  --gray-50: #F6F7F8;
  --gray-100: #EEF0F2;
  --gray-200: #E1E3E6;
  --gray-300: #CDD0D5;
  --gray-400: #A2A7AF;
  --gray-500: #6C717A;
  --gray-600: #555A63;
  --gray-700: #3B3F46;
  --gray-900: #17191D;
  --white: #FFFFFF;

  --brand: var(--primary-700);
  --brand-hover: var(--primary-800);
  --text-primary: var(--gray-900);
  --text-secondary: var(--gray-500);
  --text-tertiary: var(--gray-400);
  --border: var(--gray-200);
  --surface: var(--gray-50);
  --background: var(--white);

  --radius: 8px;
  --radius-pill: 999px;
  --shadow-modal: 0 8px 32px rgba(23, 25, 29, 0.16);
  --shadow-card: 0 1px 2px rgba(23, 25, 29, 0.04);

  --font-sans: "Noto Sans KR", "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;

  --fs-metric: 36px;
  --fs-page-title: 32px;
  --fs-section-title: 22px;
  --fs-component-title: 17px;
  --fs-body: 15px;
  --fs-secondary: 14px;
  --fs-caption: 13px;

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;

  --container-max: 1280px;
  --container-gutter: 40px;
  --header-height: 72px;
  --control-height: 44px;
  --viewport-height: 100dvh;
  --viewport-offset-top: 0px;
}

@media (max-width: 767px) {
  :root {
    --fs-metric: 32px;
    --fs-page-title: 26px;
    --fs-section-title: 20px;
    --container-gutter: 16px;
    --header-height: 56px;
  }
}
