/* Defaults are the seeded default theme, Professional Blue; themes.css lists the subset a broker theme overrides. */
:root {
  --background: hsl(210 20% 98%);
  --foreground: hsl(213 25% 15%);
  --card: hsl(0 0% 100%);
  --card-foreground: hsl(213 25% 15%);
  --muted: hsl(210 30% 96%);
  --muted-foreground: hsl(213 15% 45%);

  /* Not part of the theme contract: popovers stay white on every tenant. */
  --popover: hsl(0 0% 100%);
  --popover-foreground: hsl(222.2 84% 4.9%);

  --primary: hsl(213 94% 32%);
  --primary-foreground: hsl(0 0% 100%);
  --secondary: hsl(213 60% 48%);
  --secondary-foreground: hsl(0 0% 100%);
  /* A hover wash (`accent / 50%` behind foreground text), never a text colour. */
  --accent: hsl(24 100% 56%);
  --accent-foreground: hsl(0 0% 100%);
  --destructive: hsl(0 84% 60%);
  --destructive-foreground: hsl(0 0% 100%);

  --border: hsl(213 20% 88%);
  --input: hsl(213 20% 88%);
  --ring: hsl(213 94% 32%);

  --success-subtle: hsl(138 76% 97%);
  --success-muted: hsl(141 84% 93%);
  --success-line: hsl(141 79% 85%);
  --success: hsl(142 72% 29%);
  --success-strong: hsl(143 64% 24%);
  --success-foreground: hsl(0 0% 100%);

  --warning-subtle: hsl(48 100% 96%);
  --warning-muted: hsl(48 96% 89%);
  --warning-line: hsl(48 97% 77%);
  --warning: hsl(26 90% 37%);
  --warning-strong: hsl(23 82% 31%);
  --warning-foreground: hsl(0 0% 100%);

  --danger-subtle: hsl(0 86% 97%);
  --danger-muted: hsl(0 93% 94%);
  --danger-line: hsl(0 96% 89%);
  --danger: hsl(0 74% 42%);
  --danger-strong: hsl(0 70% 35%);
  --danger-foreground: hsl(0 0% 100%);

  --info-subtle: hsl(214 100% 97%);
  --info-muted: hsl(214 95% 93%);
  --info-line: hsl(213 97% 87%);
  --info: hsl(224 76% 48%);
  --info-strong: hsl(226 71% 40%);
  --info-foreground: hsl(0 0% 100%);

  /* Lifecycle states with no semantic role (draft, expired, terminated). */
  --neutral-muted: hsl(220 14% 96%);
  --neutral-line: hsl(220 13% 91%);
  --neutral-strong: hsl(215 28% 17%);

  --font-sans: 'Inter', 'Inter Fallback', system-ui, sans-serif;
  --font-features: 'cv01', 'ss01', 'case';

  --text-xs: 0.75rem;
  --text-xs--line-height: 1rem;
  --text-sm: 0.875rem;
  --text-sm--line-height: 1.25rem;
  --text-base: 1rem;
  --text-base--line-height: 1.5rem;
  --text-lg: 1.125rem;
  --text-lg--line-height: 1.75rem;
  --text-xl: 1.25rem;
  --text-xl--line-height: 1.75rem;
  --text-2xl: 1.5rem;
  --text-2xl--line-height: 2rem;

  /* Variable-font weights tuned to approximate SF Pro, not the 100-step grid. */
  --weight-body: 435;
  --weight-medium: 500;
  --weight-subheading: 580;
  --weight-semibold: 600;
  --weight-heading: 650;
  --weight-bold: 700;

  --tracking-body: -0.011em;
  --tracking-subheading: -0.017em;
  --tracking-heading: -0.022em;
  --tracking-tight: -0.025em;

  --radius: 0.5rem;
  --radius-full: 9999px;
  --shadow-hsl: 0 0% 0%;
  --shadow-alpha: 0.1;

  --motion-ease: cubic-bezier(0.4, 0, 0.2, 1);
  --motion-ease-in: cubic-bezier(0.4, 0, 1, 1);
  --motion-ease-out: cubic-bezier(0, 0, 0.2, 1);
  --motion-fast: 150ms;
  --motion-base: 200ms;
  --motion-slow: 300ms;
  --motion-slower: 500ms;

  --space: 0.25rem;
  --header-height: 4rem;
  --sidebar-width: 16rem;
  --sidebar-width-collapsed: 4rem;
  --content-padding: 1.5rem;
  --content-padding-mobile: 1rem;
  --breakpoint-md: 768px;
  --control-height-sm: 2rem;
  --control-height: 2.25rem;
  --control-height-lg: 2.5rem;
}

/* Re-declared per theme scope: a property that references another resolves where it is declared, so on :root alone the scale would ignore a scoped --radius. */
:root,
[data-theme] {
  --radius-sm: calc(var(--radius) * 0.5);
  --radius-md: calc(var(--radius) * 0.75);
  --radius-lg: var(--radius);
  --radius-xl: calc(var(--radius) * 1.5);
  --radius-2xl: calc(var(--radius) * 2);

  --shadow-xs: 0 1px 2px 0 hsl(var(--shadow-hsl) / calc(var(--shadow-alpha) * 0.5));
  --shadow-sm:
    0 1px 3px 0 hsl(var(--shadow-hsl) / var(--shadow-alpha)),
    0 1px 2px -1px hsl(var(--shadow-hsl) / var(--shadow-alpha));
  --shadow-md:
    0 4px 6px -1px hsl(var(--shadow-hsl) / var(--shadow-alpha)),
    0 2px 4px -2px hsl(var(--shadow-hsl) / var(--shadow-alpha));
  --shadow-lg:
    0 10px 15px -3px hsl(var(--shadow-hsl) / var(--shadow-alpha)),
    0 4px 6px -4px hsl(var(--shadow-hsl) / var(--shadow-alpha));
  --shadow-xl:
    0 20px 25px -5px hsl(var(--shadow-hsl) / var(--shadow-alpha)),
    0 8px 10px -6px hsl(var(--shadow-hsl) / var(--shadow-alpha));
}
