/* Design System Make AI First — brand='cdr', v0.3.0 */
/* Gerado em 2026-07-07T19:35:16+00:00 */
/* DTCG W3C v2025.10 · 3-layer · NÃO EDITE — rode `python build.py --brand cdr` */

:root {
  /* ─── Layer 1 — Primitives (theme-agnostic) ─── */
  --breakpoint-lg: 1024px;
  --breakpoint-md: 768px;
  --breakpoint-sm: 640px;
  --breakpoint-xl: 1280px;
  --font-family-display: Space Grotesk, Inter, system-ui, sans-serif;
  --font-family-mono: JetBrains Mono, ui-monospace, monospace;
  --font-family-sans: Inter, ui-sans-serif, system-ui, -apple-system, sans-serif;
  --font-leading-normal: 1.5;
  --font-leading-relaxed: 1.75;
  --font-leading-tight: 1.25;
  --font-size-2xl: 1.953rem;
  --font-size-3xl: 2.441rem;
  --font-size-4xl: 3.052rem;
  --font-size-5xl: 3.815rem;
  --font-size-base: 1rem;
  --font-size-lg: 1.25rem;
  --font-size-sm: 0.8rem;
  --font-size-xl: 1.563rem;
  --font-size-xs: 0.64rem;
  --font-weight-bold: 700;
  --font-weight-medium: 500;
  --font-weight-regular: 400;
  --font-weight-semibold: 600;
  --radius: 0.5rem;
  --radius-2xl: calc(var(--radius) + 8px);
  --radius-full: 9999px;
  --radius-lg: var(--radius);
  --radius-md: calc(var(--radius) - 2px);
  --radius-sm: calc(var(--radius) - 4px);
  --radius-xl: calc(var(--radius) + 4px);
  --shadow-lg: 0 10px 15px rgba(0,0,0,0.15);
  --shadow-md: 0 4px 6px rgba(0,0,0,0.10);
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
  --shadow-xl: 0 20px 25px rgba(0,0,0,0.20);
  --spacing-2xl: 48px;
  --spacing-3xl: 64px;
  --spacing-lg: 24px;
  --spacing-md: 16px;
  --spacing-sm: 8px;
  --spacing-xl: 32px;
  --spacing-xs: 4px;
  --z-base: 0;
  --z-dropdown: 1000;
  --z-modal: 1300;
  --z-popover: 1400;
  --z-sticky: 1100;
  --z-toast: 1500;

  /* ─── Layer 1 — Palette (brand-specific) ─── */
  --color-accent-100: hsl(250 88% 93%);
  --color-accent-200: hsl(250 85% 86%);
  --color-accent-300: hsl(250 83% 79%);
  --color-accent-400: hsl(250 81% 73%);
  --color-accent-50: hsl(250 90% 97%);
  --color-accent-500: hsl(250 80% 68%);
  --color-accent-600: hsl(253 72% 60%);
  --color-accent-700: hsl(256 66% 52%);
  --color-accent-800: hsl(259 60% 42%);
  --color-accent-900: hsl(261 56% 30%);
  --color-brand-100: hsl(258 88% 92%);
  --color-brand-200: hsl(258 86% 84%);
  --color-brand-300: hsl(258 85% 76%);
  --color-brand-400: hsl(260 85% 66%);
  --color-brand-50: hsl(258 90% 96%);
  --color-brand-500: hsl(262 85% 58%);
  --color-brand-600: hsl(263 78% 51%);
  --color-brand-700: hsl(264 74% 44%);
  --color-brand-800: hsl(265 68% 35%);
  --color-brand-900: hsl(266 62% 25%);
  --color-destructive-100: hsl(0 93% 94%);
  --color-destructive-300: hsl(0 94% 82%);
  --color-destructive-50: hsl(0 86% 97%);
  --color-destructive-500: hsl(0 79% 63%);
  --color-destructive-600: hsl(0 72% 51%);
  --color-destructive-700: hsl(0 74% 42%);
  --color-destructive-900: hsl(0 63% 31%);
  --color-info-100: hsl(204 94% 94%);
  --color-info-300: hsl(199 95% 74%);
  --color-info-50: hsl(204 100% 97%);
  --color-info-500: hsl(199 89% 48%);
  --color-info-600: hsl(200 98% 39%);
  --color-info-700: hsl(201 96% 32%);
  --color-info-900: hsl(202 80% 24%);
  --color-neutral-pure-0: hsl(0 0% 100%);
  --color-neutral-pure-100: hsl(260 8% 96%);
  --color-neutral-pure-200: hsl(258 7% 90%);
  --color-neutral-pure-300: hsl(258 6% 78%);
  --color-neutral-pure-400: hsl(257 5% 60%);
  --color-neutral-pure-50: hsl(260 10% 98%);
  --color-neutral-pure-500: hsl(257 6% 44%);
  --color-neutral-pure-600: hsl(258 7% 34%);
  --color-neutral-pure-700: hsl(258 8% 27%);
  --color-neutral-pure-800: hsl(258 8% 24%);
  --color-neutral-pure-900: hsl(260 8% 15%);
  --color-neutral-pure-950: hsl(260 8% 12%);
  --color-neutral-0: hsl(0 0% 100%);
  --color-neutral-100: hsl(260 10% 95%);
  --color-neutral-200: hsl(258 9% 88%);
  --color-neutral-300: hsl(258 8% 76%);
  --color-neutral-400: hsl(258 8% 66%);
  --color-neutral-50: hsl(260 12% 98%);
  --color-neutral-500: hsl(257 7% 50%);
  --color-neutral-600: hsl(257 7% 36%);
  --color-neutral-700: hsl(258 8% 24%);
  --color-neutral-800: hsl(260 8% 15%);
  --color-neutral-900: hsl(260 8% 11%);
  --color-neutral-950: hsl(260 9% 7%);
  --color-success-100: hsl(140 60% 88%);
  --color-success-300: hsl(140 56% 75%);
  --color-success-50: hsl(140 60% 96%);
  --color-success-500: hsl(140 53% 62%);
  --color-success-600: hsl(140 50% 50%);
  --color-success-700: hsl(140 50% 38%);
  --color-success-900: hsl(140 50% 22%);
  --color-warning-100: hsl(48 96% 89%);
  --color-warning-300: hsl(48 92% 70%);
  --color-warning-50: hsl(48 100% 96%);
  --color-warning-500: hsl(45 93% 47%);
  --color-warning-600: hsl(41 96% 40%);
  --color-warning-700: hsl(35 92% 33%);
  --color-warning-900: hsl(29 80% 26%);

  /* ─── Layer 2 — Semantic (light, default) ─── */
  --accent: hsl(250 80% 68%);
  --accent-dark: hsl(256 66% 52%);
  --accent-foreground: hsl(0 0% 100%);
  --accent-hover: hsl(253 72% 60%);
  --accent-light: hsl(250 81% 73%);
  --accent-lighter: hsl(250 88% 93%);
  --background: hsl(0 0% 100%);
  --border: hsl(258 9% 88%);
  --card: hsl(0 0% 100%);
  --card-foreground: hsl(260 8% 11%);
  --destructive: hsl(0 79% 63%);
  --destructive-dark: hsl(0 74% 42%);
  --destructive-foreground: hsl(0 0% 100%);
  --destructive-hover: hsl(0 72% 51%);
  --destructive-light: hsl(0 94% 82%);
  --destructive-lighter: hsl(0 93% 94%);
  --foreground: hsl(260 8% 11%);
  --gradient-primary: linear-gradient(135deg, hsl(262 85% 58%) 0%, hsl(250 80% 68%) 100%);
  --gradient-subtle: linear-gradient(135deg, hsl(258 90% 96%) 0%, hsl(250 88% 93%) 100%);
  --gradient-vibrant: linear-gradient(135deg, hsl(262 85% 58%) 0%, hsl(250 80% 68%) 50%, hsl(260 8% 11%) 100%);
  --info: hsl(199 89% 48%);
  --info-dark: hsl(201 96% 32%);
  --info-foreground: hsl(0 0% 100%);
  --info-hover: hsl(200 98% 39%);
  --info-light: hsl(199 95% 74%);
  --info-lighter: hsl(204 94% 94%);
  --input: hsl(258 9% 88%);
  --muted: hsl(260 10% 95%);
  --muted-foreground: hsl(257 7% 50%);
  --popover: hsl(0 0% 100%);
  --popover-foreground: hsl(260 8% 11%);
  --primary: hsl(262 85% 58%);
  --primary-dark: hsl(264 74% 44%);
  --primary-foreground: hsl(0 0% 100%);
  --primary-hover: hsl(263 78% 51%);
  --primary-light: hsl(260 85% 66%);
  --primary-lighter: hsl(258 88% 92%);
  --ring: hsl(262 85% 58%);
  --secondary: hsl(260 10% 95%);
  --secondary-foreground: hsl(260 8% 11%);
  --secondary-hover: hsl(258 9% 88%);
  --sidebar-accent: hsl(261 56% 30%);
  --sidebar-accent-foreground: hsl(258 85% 76%);
  --sidebar-background: hsl(260 8% 15%);
  --sidebar-border: hsl(258 8% 24%);
  --sidebar-foreground: hsl(260 10% 95%);
  --sidebar-primary: hsl(262 85% 58%);
  --sidebar-primary-foreground: hsl(260 9% 7%);
  --sidebar-ring: hsl(262 85% 58%);
  --success: hsl(140 53% 62%);
  --success-dark: hsl(140 50% 38%);
  --success-foreground: hsl(0 0% 100%);
  --success-hover: hsl(140 50% 50%);
  --success-light: hsl(140 56% 75%);
  --success-lighter: hsl(140 60% 88%);
  --warning: hsl(45 93% 47%);
  --warning-dark: hsl(35 92% 33%);
  --warning-foreground: hsl(260 8% 11%);
  --warning-hover: hsl(41 96% 40%);
  --warning-light: hsl(48 92% 70%);
  --warning-lighter: hsl(48 96% 89%);

  /* ─── Layer 3 — Components (derived from light) ─── */
  --alert-background: hsl(0 0% 100%);
  --alert-border-width: 3px;
  --alert-font-size: 0.8rem;
  --alert-padding: 16px;
  --alert-radius: calc(var(--radius) - 2px);
  --alert-title-color: hsl(260 8% 11%);
  --alert-title-weight: 600;
  --button-destructive-background: hsl(0 79% 63%);
  --button-destructive-background-hover: hsl(0 72% 51%);
  --button-destructive-text: hsl(0 0% 100%);
  --button-font-size: 0.8rem;
  --button-font-weight: 600;
  --button-ghost-background: transparent;
  --button-ghost-background-hover: hsl(250 80% 68%);
  --button-ghost-text: hsl(257 7% 50%);
  --button-ghost-text-hover: hsl(260 8% 11%);
  --button-padding-x: 16px;
  --button-padding-y: 8px;
  --button-primary-background: hsl(262 85% 58%);
  --button-primary-background-hover: hsl(263 78% 51%);
  --button-primary-text: hsl(0 0% 100%);
  --button-radius: calc(var(--radius) - 2px);
  --button-secondary-background: hsl(260 10% 95%);
  --button-secondary-background-hover: hsl(258 9% 88%);
  --button-secondary-border: hsl(258 9% 88%);
  --button-secondary-border-hover: hsl(262 85% 58%);
  --button-secondary-text: hsl(260 8% 11%);
  --card-accent-width: 3px;
  --card-background: hsl(0 0% 100%);
  --card-border: hsl(258 9% 88%);
  --card-border-width: 1px;
  --card-foreground: hsl(260 8% 11%);
  --card-padding: 16px;
  --card-radius: var(--radius);
  --card-shadow: 0 1px 2px rgba(0,0,0,0.05);
  --card-shadow-hover: 0 4px 6px rgba(0,0,0,0.10);
  --kpi-card-bar-bg: hsl(260 10% 95%);
  --kpi-card-bar-fill: hsl(262 85% 58%);
  --kpi-card-bar-height: 4px;
  --kpi-card-icon-bg: hsl(258 88% 92%);
  --kpi-card-icon-fg: hsl(264 74% 44%);
  --kpi-card-icon-radius: 9999px;
  --kpi-card-icon-size: 32px;
  --kpi-card-label-color: hsl(257 7% 50%);
  --kpi-card-label-size: 0.64rem;
  --kpi-card-label-spacing: 0.05em;
  --kpi-card-label-weight: 600;
  --kpi-card-trend-down-color: hsl(0 79% 63%);
  --kpi-card-trend-flat-color: hsl(257 7% 50%);
  --kpi-card-trend-size: 0.8rem;
  --kpi-card-trend-up-color: hsl(140 53% 62%);
  --kpi-card-value-color: hsl(260 8% 11%);
  --kpi-card-value-size: 1.953rem;
  --kpi-card-value-sub-color: hsl(257 7% 50%);
  --kpi-card-value-sub-size: 1.25rem;
  --kpi-card-value-weight: 700;
  --status-pill-font-size: 0.64rem;
  --status-pill-font-weight: 600;
  --status-pill-letter-spacing: 0.05em;
  --status-pill-padding-x: 10px;
  --status-pill-padding-y: 2px;
  --status-pill-radius: 9999px;
}

[data-theme='dark'] {
  /* ─── Layer 2 — Semantic (dark override) ─── */
  --accent: hsl(250 80% 68%);
  --accent-dark: hsl(256 66% 52%);
  --accent-foreground: hsl(260 12% 98%);
  --accent-hover: hsl(253 72% 60%);
  --accent-light: hsl(250 81% 73%);
  --accent-lighter: hsl(259 60% 42%);
  --background: hsl(260 8% 12%);
  --border: hsl(258 8% 24%);
  --card: hsl(260 8% 15%);
  --card-foreground: hsl(260 12% 98%);
  --destructive: hsl(0 79% 63%);
  --destructive-dark: hsl(0 74% 42%);
  --destructive-foreground: hsl(260 12% 98%);
  --destructive-hover: hsl(0 94% 82%);
  --destructive-light: hsl(0 94% 82%);
  --destructive-lighter: hsl(0 74% 42%);
  --foreground: hsl(260 12% 98%);
  --gradient-primary: linear-gradient(135deg, hsl(262 85% 58%) 0%, hsl(250 80% 68%) 100%);
  --gradient-subtle: linear-gradient(135deg, hsl(259 60% 42%) 0%, hsl(260 8% 11%) 100%);
  --gradient-vibrant: linear-gradient(135deg, hsl(262 85% 58%) 0%, hsl(250 80% 68%) 50%, hsl(260 8% 11%) 100%);
  --info: hsl(199 89% 48%);
  --info-dark: hsl(201 96% 32%);
  --info-foreground: hsl(260 12% 98%);
  --info-hover: hsl(199 95% 74%);
  --info-light: hsl(199 95% 74%);
  --info-lighter: hsl(201 96% 32%);
  --input: hsl(258 8% 24%);
  --muted: hsl(260 8% 15%);
  --muted-foreground: hsl(258 8% 66%);
  --popover: hsl(258 8% 24%);
  --popover-foreground: hsl(260 12% 98%);
  --primary: hsl(262 85% 58%);
  --primary-dark: hsl(258 85% 76%);
  --primary-foreground: hsl(260 12% 98%);
  --primary-hover: hsl(260 85% 66%);
  --primary-light: hsl(258 85% 76%);
  --primary-lighter: hsl(266 62% 25%);
  --ring: hsl(262 85% 58%);
  --secondary: hsl(258 8% 24%);
  --secondary-foreground: hsl(260 12% 98%);
  --secondary-hover: hsl(258 8% 27%);
  --sidebar-accent: hsl(261 56% 30%);
  --sidebar-accent-foreground: hsl(258 85% 76%);
  --sidebar-background: hsl(260 8% 15%);
  --sidebar-border: hsl(258 8% 24%);
  --sidebar-foreground: hsl(260 10% 95%);
  --sidebar-primary: hsl(262 85% 58%);
  --sidebar-primary-foreground: hsl(260 9% 7%);
  --sidebar-ring: hsl(262 85% 58%);
  --success: hsl(140 53% 62%);
  --success-dark: hsl(140 50% 38%);
  --success-foreground: hsl(260 12% 98%);
  --success-hover: hsl(140 56% 75%);
  --success-light: hsl(140 56% 75%);
  --success-lighter: hsl(140 50% 38%);
  --warning: hsl(45 93% 47%);
  --warning-dark: hsl(35 92% 33%);
  --warning-foreground: hsl(260 9% 7%);
  --warning-hover: hsl(48 92% 70%);
  --warning-light: hsl(48 92% 70%);
  --warning-lighter: hsl(35 92% 33%);

  /* ─── Layer 3 — Components (re-derived for dark) ─── */
  --alert-background: hsl(260 8% 15%);
  --alert-title-color: hsl(260 12% 98%);
  --button-destructive-background-hover: hsl(0 94% 82%);
  --button-destructive-text: hsl(260 12% 98%);
  --button-ghost-text: hsl(258 8% 66%);
  --button-ghost-text-hover: hsl(260 12% 98%);
  --button-primary-background-hover: hsl(260 85% 66%);
  --button-primary-text: hsl(260 12% 98%);
  --button-secondary-background: hsl(258 8% 24%);
  --button-secondary-background-hover: hsl(258 8% 27%);
  --button-secondary-border: hsl(258 8% 24%);
  --button-secondary-text: hsl(260 12% 98%);
  --card-background: hsl(260 8% 15%);
  --card-border: hsl(258 8% 24%);
  --card-foreground: hsl(260 12% 98%);
  --kpi-card-bar-bg: hsl(260 8% 15%);
  --kpi-card-icon-bg: hsl(266 62% 25%);
  --kpi-card-icon-fg: hsl(258 85% 76%);
  --kpi-card-label-color: hsl(258 8% 66%);
  --kpi-card-trend-flat-color: hsl(258 8% 66%);
  --kpi-card-value-color: hsl(260 12% 98%);
  --kpi-card-value-sub-color: hsl(258 8% 66%);
}
