@font-face {
  font-family: "DM Sans";
  src: url("/static/assets/fonts/dm-sans-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
}

:root {
  color-scheme: light;

  --font-sans: "DM Sans", "Segoe UI", Arial, sans-serif;
  --font-mono: "Cascadia Code", "SFMono-Regular", Consolas, monospace;

  --color-brand-700: #0648d5;
  --color-brand-600: #0b63f6;
  --color-brand-500: #2278ff;
  --color-brand-100: #e8f0ff;
  --color-brand-50: #f4f7ff;

  --color-ink-950: #07101f;
  --color-ink-800: #17223a;
  --color-ink-600: #52617c;
  --color-ink-500: #71809a;

  --color-canvas: #f7f9fc;
  --color-surface: #ffffff;
  --color-muted: #eef2f7;
  --color-border: #dce3ee;
  --color-border-strong: #c4cfde;
  --color-success: #087b5b;
  --color-warning: #a85b00;
  --color-danger: #c83232;
  --color-danger-soft: #fff0f0;

  /* Administração ORTRIX: ambiente proprietário, separado do tenant municipal. */
  --platform-ink: #091426;
  --platform-navy: #0d1a31;
  --platform-sidebar: #0a1528;
  --platform-blue: #5d8cff;
  --platform-green: #35c89a;

  --focus-ring: 0 0 0 4px rgb(11 99 246 / 16%);
  --shadow-card: 0 10px 30px rgb(31 49 80 / 7%);
  --shadow-float: 0 18px 54px rgb(7 16 31 / 18%);
  --shadow-xl: 0 28px 80px rgb(7 16 31 / 24%);

  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --radius-xl: 24px;

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

  --text-xs: 12px;
  --text-sm: 14px;
  --text-base: 16px;
  --text-lg: 18px;

  --motion-fast: 140ms;
  --motion-standard: 200ms;
  --ease-standard: cubic-bezier(.2, .8, .2, 1);

  --scrollbar-thumb: #b5c1d1;
  --scrollbar-thumb-hover: #8f9eb2;
  --scrollbar-track: #eef2f7;
  --active-angle: 0deg;

  --platform-z-backdrop: 500;
  --platform-z-dialog: 600;
  --platform-z-toast: 900;

  /* Semantic aliases retained for the shared component layer. */
  --color-primary: var(--color-brand-600);
  --color-primary-hover: var(--color-brand-700);
  --color-primary-subtle: var(--color-brand-100);
  --color-primary-strong: var(--color-brand-700);
  --color-text: var(--color-ink-950);
  --color-text-secondary: var(--color-ink-600);
  --color-text-tertiary: var(--color-ink-500);
  --color-bg: var(--color-canvas);
  --color-bg-subtle: var(--color-muted);
  --color-bg-hover: var(--color-border);
  --color-border-hover: var(--color-border-strong);
  --color-success-subtle: #e5f6ef;
  --color-danger-subtle: #fee2e2;
  --transition-fast: var(--motion-fast);
  --transition-normal: var(--motion-standard);
}

