:root {
  /* === CORES === */
  /* Primary Colors - Government Blue Scale */
  --color-primary-900: #071D41;
  --color-primary-800: #0C326F;
  --color-primary-700: #1351B4;  /* Principal */
  --color-primary-600: #155BCB;
  --color-primary-400: #5BA8F5;
  --color-primary-100: #CFE0FF;
  --color-primary-50: #E1E7F1;

  /* Secondary/Accent */
  --color-secondary: #FF6B35;

  /* Semantic Colors */
  --color-success: #168821;
  --color-warning: #FFCD07;
  --color-error: #E52207;
  --color-info: #155BCB;

  /* Neutral Colors */
  --color-black: #000000;
  --color-gray-900: #333333;
  --color-gray-700: #555555;
  --color-gray-500: #686868;
  --color-gray-300: #CCCCCC;
  --color-gray-100: #F5F5F5;
  --color-gray-50: #F8F8F8;
  --color-white: #FFFFFF;

  /* Background Colors */
  --bg-primary: var(--color-gray-50);
  --bg-surface: var(--color-white);
  --bg-muted: var(--color-primary-50);

  /* === TIPOGRAFIA (Escala Gov.br base 14px) === */
  --font-family-base: 'Poppins', 'Helvetica', 'Arial', sans-serif;

  /* Gov.br Scale - base 14px */
  --font-size-scale-down-03: 8.106px;
  --font-size-scale-down-02: 9.716px;
  --font-size-scale-down-01: 11.662px;
  --font-size-scale-base: 14px;
  --font-size-scale-up-01: 16.8px;
  --font-size-scale-up-02: 20.16px;
  --font-size-scale-up-03: 24.192px;
  --font-size-scale-up-04: 29.03px;
  --font-size-scale-up-05: 34.832px;
  --font-size-scale-up-06: 41.8px;

  /* Aliases para uso comum */
  --font-size-xs: 0.6875rem;   /* 11px */
  --font-size-sm: 0.75rem;     /* 12px */
  --font-size-base: 0.875rem;  /* 14px */
  --font-size-md: 1rem;        /* 16px */
  --font-size-lg: 1.125rem;    /* 18px */
  --font-size-xl: 1.25rem;     /* 20px */
  --font-size-2xl: 1.5rem;     /* 24px */
  --font-size-3xl: 1.875rem;   /* 30px */
  --font-size-4xl: 2.25rem;    /* 36px */
  --font-size-5xl: 2.5rem;     /* 40px */

  /* Heading Sizes - Escala Gov.br */
  --heading-1: 41.8px;    /* Gov.br scale-up-06 */
  --heading-2: 29.03px;   /* Gov.br scale-up-04 */
  --heading-3: 20.16px;   /* Gov.br scale-up-02 */
  --heading-4: 16.8px;    /* Gov.br scale-up-01 */
  --heading-5: 14px;      /* Gov.br scale-base */
  --heading-6: 11.662px;  /* Gov.br scale-down-01 */

  /* Legacy variable compatibility */
  --heading1: var(--heading-1);
  --heading2: var(--heading-2);
  --heading3: var(--heading-3);
  --heading4: var(--heading-4);
  --heading5: var(--heading-5);
  --typography: var(--font-size-base);
  --caption: var(--font-size-xs);

  /* Font Weights - Gov.br */
  --font-weight-thin: 100;
  --font-weight-extra-light: 200;
  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extra-bold: 800;
  --font-weight-black: 900;

  /* Line Heights - Gov.br */
  --line-height-low: 1.15;
  --line-height-medium: 1.45;
  --line-height-high: 1.85;

  /* === BREAKPOINTS UNIFICADOS (Bootstrap 5) === */
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --breakpoint-xxl: 1400px;

  /* Legacy breakpoint compatibility */
  --mq-mobile: 480px;
  --mq-tablet: 768px;
  --mq-desktop: 1024px;
  --mq-large-desktop: 1280px;

  /* === SPACING === */
  --space-1: 0.25rem;  /* 4px */
  --space-2: 0.5rem;   /* 8px */
  --space-3: 0.75rem;  /* 12px */
  --space-4: 1rem;     /* 16px */
  --space-5: 1.25rem;  /* 20px */
  --space-6: 1.5rem;   /* 24px */
  --space-8: 2rem;     /* 32px */
  --space-10: 2.5rem;  /* 40px */
  --space-12: 3rem;    /* 48px */

  /* === BORDER RADIUS === */
  --radius-sm: 0.25rem;   /* 4px */
  --radius-md: 0.5rem;    /* 8px */
  --radius-lg: 0.75rem;   /* 12px */
  --radius-xl: 1rem;      /* 16px */
  --radius-2xl: 1.5rem;   /* 24px */
  --radius-full: 9999px;  /* Pills/circles */

  /* === SHADOWS === */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);
  --shadow-mixed: 0 0.325rem 0.35rem rgba(0, 0, 0, 0.095);

  /* === Z-INDEX SCALE === */
  --z-dropdown: 500;
  --z-sticky: 1000;
  --z-fixed: 1100;
  --z-modal-backdrop: 1400;
  --z-modal: 1500;
  --z-popover: 1600;
  --z-tooltip: 1700;
  --z-loading: 9999;

  /* === TRANSITIONS === */
  --transition-fast: 150ms ease;
  --transition-base: 200ms ease;
  --transition-slow: 300ms ease;

  /* === BOOTSTRAP OVERRIDES === */
  --bs-primary-rgb: 19, 81, 180;
  --bs-secondary-rgb: 104, 104, 104;
  --bs-link-color: 19, 81, 180;
  --bs-link-hover-color: 19, 81, 180;
  --background-color: 248, 248, 248, 1;
}

/* Tipografia Responsiva - Gov.br */
@media (max-width: 991px) {
  :root {
    --heading-1: 34.832px;  /* Gov.br scale-up-05 */
    --heading-2: 24.192px;  /* Gov.br scale-up-03 */
    --heading-3: 16.8px;    /* Gov.br scale-up-01 */
    --heading1: var(--heading-1);
    --heading2: var(--heading-2);
    --heading3: var(--heading-3);
  }
}

@media (max-width: 767px) {
  :root {
    --heading-1: 29.03px;   /* Gov.br scale-up-04 */
    --heading-2: 20.16px;   /* Gov.br scale-up-02 */
    --heading-3: 14px;      /* Gov.br scale-base */
    --heading-4: 14px;      /* Gov.br scale-base */
    --heading1: var(--heading-1);
    --heading2: var(--heading-2);
    --heading3: var(--heading-3);
    --heading4: var(--heading-4);
  }
}
