/* KT Design System 8.2: сгенерировано из tokens.json, не править руками. */
:root, [data-theme="light"] {
  --background: #ffffff;
  --foreground: #0c0a09;
  --canvas: #faf9f7;
  --card: #ffffff;
  --card-foreground: #0c0a09;
  --popover: #ffffff;
  --popover-foreground: #0c0a09;
  --primary: #3661f1;
  --primary-foreground: #ffffff;
  --primary-hover: #2a50d6;
  --primary-active: #2447c4;
  --primary-subtle: #edf1fe;
  --primary-subtle-foreground: #1f3fae;
  --secondary: #f3f2ef;
  --secondary-hover: #e8e5e0;
  --secondary-foreground: #0c0a09;
  --muted: #f7f6f4;
  --muted-foreground: #6b665f;
  --subtle-foreground: #6f6a63;
  --disabled-foreground: #a59f97;
  --graphite: #44403b;
  --accent: #f6f5f3;
  --accent-foreground: #0c0a09;
  --selected: #f2f1ee;
  --destructive: #c4321f;
  --destructive-foreground: #ffffff;
  --border: #ebe8e4;
  --border-soft: #f3f2f0;
  --border-strong: #dedad4;
  --input: #8f8a83;
  --ring: #2a50d6;
  --brand: #0096d7;
  --brand-subtle: #e6f4fb;
  --brand-subtle-foreground: #0f4c7a;
  --inverse: #1c1a19;
  --inverse-foreground: #f5f4f2;
  --inverse-muted-foreground: #b0aba3;
  --link: #2a50d6;
  --orb-core: #3661f1;
  --orb-glow: #5479f3;
  --orb-accent: #0096d7;
  --orb-highlight: #ffffff;
  --sky: #4fb3e8;
  --ice: #dcf0fb;
  --peach: #f4a77e;
  --sand: #efe6da;
  --sage: #8fc5a2;
  --success: #1d7a48;
  --success-subtle: #e9f5ee;
  --warning: #8f5a00;
  --warning-subtle: #fbf2df;
  --danger-subtle: #fcebe8;
  --info: #33507a;
  --info-subtle: #eef2f7;
  --chart-1: #3661f1;
  --chart-2: #0096d7;
  --chart-3: #c8602b;
  --chart-4: #3f9466;
  --chart-5: #8f8a83;
  --chart-success: #509c6f;
  --chart-warning: #bb7d2b;
  --chart-danger: #ad371d;
  --chart-info: #6185b9;
  --chart-neutral: #63605c;
  --chart-grid: #ecebe7;
  --overlay: #0c0a0952;
  --sky-subtle: #e3f1fa;
  --sky-strong: #0b5a8a;
  --peach-subtle: #fbeae0;
  --peach-strong: #9a4416;
  --sage-subtle: #e6f2ea;
  --sage-strong: #2a6643;
  --sand-subtle: #f3ece2;
  --sand-strong: #6e5432;
  --shadow-whisper: 0 0 0 1px #0c0a090a, 0 1px 2px #0c0a090d;
  --shadow-float: 0 0 0 1px #0c0a090d, 0 12px 32px -8px #0c0a0929, 0 2px 6px #0c0a090a;
}
[data-theme="dark"] {
  --background: #121110;
  --foreground: #f5f4f2;
  --canvas: #1b1a19;
  --card: #1b1a19;
  --card-foreground: #f5f4f2;
  --popover: #232220;
  --popover-foreground: #f5f4f2;
  --primary-subtle: #1a2342;
  --primary-subtle-foreground: #b0c2ff;
  --secondary: #2a2927;
  --secondary-hover: #353431;
  --secondary-foreground: #f5f4f2;
  --muted: #232220;
  --muted-foreground: #a39e96;
  --subtle-foreground: #9a958d;
  --disabled-foreground: #5f5b55;
  --graphite: #cfcac3;
  --accent: #232220;
  --accent-foreground: #f5f4f2;
  --selected: #2f2e2b;
  --destructive: #ff8a7a;
  --destructive-foreground: #1f0907;
  --border: #2c2b29;
  --border-soft: #222120;
  --border-strong: #3d3b38;
  --input: #77726b;
  --ring: #8aa6ff;
  --brand: #38aee6;
  --brand-subtle: #10293a;
  --brand-subtle-foreground: #a9d7f5;
  --inverse: #2f2e2b;
  --link: #8aa6ff;
  --ice: #1b3346;
  --peach: #e8946a;
  --sand: #3a332a;
  --sage: #6fae86;
  --success: #6fcf97;
  --success-subtle: #12261a;
  --warning: #e9b65c;
  --warning-subtle: #2a2210;
  --danger-subtle: #331815;
  --info: #9db6dc;
  --info-subtle: #172235;
  --chart-1: #8aa6ff;
  --chart-2: #38aee6;
  --chart-3: #f0935f;
  --chart-4: #6fcf97;
  --chart-5: #77726b;
  --chart-success: #87d1b6;
  --chart-warning: #f7ba6b;
  --chart-danger: #d4867c;
  --chart-info: #7c9ec6;
  --chart-neutral: #75726f;
  --chart-grid: #2a2a2d;
  --overlay: #0000008c;
  --sky-subtle: #14293a;
  --sky-strong: #8fcdf2;
  --peach-subtle: #3a2418;
  --peach-strong: #f2b08d;
  --sage-subtle: #16291e;
  --sage-strong: #9fd3b3;
  --sand-subtle: #2c2620;
  --sand-strong: #d9c2a2;
  --shadow-whisper: 0 0 0 1px #ffffff0a;
  --shadow-float: 0 0 0 1px #ffffff0f, 0 16px 40px -8px #00000099;
}
:root {
  --space-0: 0;
  --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;
  --space-16: 64px;
  --space-24: 96px;
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-2xl: 20px;
  --radius-full: 9999px;
  --text-xs: 0.75rem;
  --text-sm: 0.8125rem;
  --text-base: 0.875rem;
  --text-md: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.625rem;
  --text-3xl: 2.75rem;
  --text-4xl: 4rem;
  --control-xs: 1.75rem;
  --control-sm: 2rem;
  --control-md: 2.25rem;
  --control-lg: 2.75rem;
  --sidebar-width: 240px;
  --sidebar-collapsed: 60px;
  --topbar-height: 3.25rem;
  --content-max: 1160px;
  --chat-max: 720px;
  --form-max: 420px;
  --page-max: 1200px;
  --drawer-width: 440px;
  --dialog-width: 480px;
  --table-row: 3.25rem;
  --table-row-compact: 2.5rem;
  --z-sticky: 20;
  --z-dropdown: 30;
  --z-drawer: 40;
  --z-modal: 50;
  --z-toast: 60;
  --z-tooltip: 70;
  --bp-sm: 640px;
  --bp-md: 768px;
  --bp-lg: 1024px;
  --bp-xl: 1280px;
  --duration-fast: 100ms;
  --duration-base: 150ms;
  --duration-slow: 240ms;
  --duration-slower: 400ms;
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-enter: cubic-bezier(0, 0, 0.2, 1);
  --ease-exit: cubic-bezier(0.4, 0, 1, 1);
  --opacity-disabled: 0.45;
  --opacity-dim: 0.55;
  --opacity-overlay: 0.4;
  --font-sans: "Onest", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", "Cascadia Mono", Consolas, "Liberation Mono", monospace;
}
@font-face { font-family: "Onest"; src: url("fonts/Onest-subset.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
.display-xl { font-family: var(--font-sans); font-size: 4rem; line-height: 1.02; font-weight: 300; letter-spacing: -0.03em; font-feature-settings: "ss02"; }
.display { font-family: var(--font-sans); font-size: 2.75rem; line-height: 1.08; font-weight: 300; letter-spacing: -0.025em; font-feature-settings: "ss02"; }
.h1 { font-family: var(--font-sans); font-size: 1.625rem; line-height: 1.2; font-weight: 500; letter-spacing: -0.02em; font-feature-settings: "ss02"; }
.h2 { font-family: var(--font-sans); font-size: 1.25rem; line-height: 1.3; font-weight: 500; letter-spacing: -0.015em; font-feature-settings: "ss02"; }
.h3 { font-family: var(--font-sans); font-size: 1rem; line-height: 1.4; font-weight: 600; letter-spacing: -0.01em; }
.body-lg { font-family: var(--font-sans); font-size: 1rem; line-height: 1.6; font-weight: 400; letter-spacing: 0; }
.body { font-family: var(--font-sans); font-size: 0.875rem; line-height: 1.5; font-weight: 400; letter-spacing: 0; }
.label { font-family: var(--font-sans); font-size: 0.8125rem; line-height: 1.4; font-weight: 500; letter-spacing: 0; }
.caption { font-family: var(--font-sans); font-size: 0.75rem; line-height: 1.45; font-weight: 400; letter-spacing: 0.01em; }
.overline { font-family: var(--font-sans); font-size: 0.75rem; line-height: 1.3; font-weight: 500; letter-spacing: 0.01em; }
.kpi { font-family: var(--font-sans); font-size: 1.875rem; line-height: 1.1; font-weight: 400; letter-spacing: -0.02em; font-variant-numeric: proportional-nums; }
.code { font-family: var(--font-mono); font-size: 0.75rem; line-height: 1.5; font-weight: 400; letter-spacing: 0; }
