:root {
  color-scheme: light;
  --primary: #0866e5;
  --primary-dark: #034eba;
  --primary-hover: #034eba;
  --primary-contrast: #ffffff;
  --navy: #06285f;
  --navy-dark: #031b42;
  --sidebar-start: #031f4e;
  --sidebar-end: #075ed7;
  --text-main: #102342;
  --text-muted: #63728f;
  --text-primary: var(--text-main);
  --text-secondary: var(--text-muted);
  --border: #dce6f4;
  --surface: #ffffff;
  --surface-soft: #f5f9ff;
  --surface-strong: #e7f1ff;
  --background: #f7f9fc;
  --accent: #0866e5;
  --accent-soft: #e8f2ff;
  --success: #25a244;
  --warning: #ff8a00;
  --danger: #e94c5c;
  --danger-soft: #fff0f2;
  --warning-soft: #fff7e8;
  --shadow-sm: 0 2px 8px rgb(6 40 95 / 5%);
  --shadow-md: 0 16px 40px rgb(6 40 95 / 10%);
  --radius-sm: .7rem;
  --radius-md: 1rem;
  --radius-lg: 1.3rem;
  --content-max: 1320px;
  --sidebar-width: 228px;
  --bottom-nav-height: 68px;
  --header-height: 78px;
  --transition: 220ms ease;
}

[data-theme="dark"] {
  color-scheme: dark;
  --background: #071426;
  --surface: #0c2038;
  --surface-soft: #102b49;
  --surface-strong: #173b60;
  --text-main: #f3f7fd;
  --text-muted: #aec0d6;
  --text-primary: var(--text-main);
  --text-secondary: var(--text-muted);
  --primary: #62a5ff;
  --primary-dark: #408ce8;
  --primary-hover: #7bb3ff;
  --primary-contrast: #061525;
  --navy: #b9d6ff;
  --navy-dark: #dceaff;
  --border: #294663;
  --accent: #62a5ff;
  --accent-soft: #123b65;
  --danger: #ff9ba6;
  --danger-soft: #402129;
  --warning: #ffc46b;
  --warning-soft: #3d3019;
  --success: #79d99b;
  --shadow-sm: 0 2px 8px rgb(0 0 0 / 20%);
  --shadow-md: 0 16px 40px rgb(0 0 0 / 32%);
}
