/* ZEFRA design system — tokens (GERADO por tools/build_tokens.py, não edite à mão). */

@font-face {
  font-family: 'Bricolage Grotesque';
  src: url('../fonts/bricolage-grotesque-latin-wght.woff2') format('woff2');
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Figtree';
  src: url('../fonts/figtree-latin-wght.woff2') format('woff2');
  font-weight: 300 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'JetBrains Mono';
  src: url('../fonts/jetbrains-mono-latin-wght.woff2') format('woff2');
  font-weight: 100 800;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  color-scheme: light dark;
  /* escalas de referência (use os tokens semânticos nos componentes) */
  --brand-50: #F2F5FF;
  --brand-100: #E4EAFF;
  --brand-200: #C9D5FF;
  --brand-300: #A3B6FF;
  --brand-400: #7C93FF;
  --brand-500: #4E68F0;
  --brand-600: #1F3FD6;
  --brand-700: #1934B0;
  --brand-800: #172C8A;
  --brand-900: #14256B;
  --support-50: #E9FCF8;
  --support-100: #C8F7EE;
  --support-200: #93EFDD;
  --support-300: #5CE4CC;
  --support-400: #2FDABE;
  --support-500: #19D3B6;
  --support-600: #0FAE96;
  --support-700: #0E8977;
  --support-800: #0F6C5F;
  --support-900: #0E574D;
  --spark-300: #E3F77F;
  --spark-400: #D4F24A;
  --spark-500: #B9D92E;
  --spark-600: #93AE1C;
  --spark-700: #6D8016;
  --neutral-0: #FFFFFF;
  --neutral-50: #F4F6FD;
  --neutral-100: #ECEFF9;
  --neutral-200: #DFE3F0;
  --neutral-300: #C6CCDF;
  --neutral-400: #98A0BA;
  --neutral-500: #6B7494;
  --neutral-600: #4A5378;
  --neutral-700: #343B5C;
  --neutral-800: #1F2547;
  --neutral-900: #0D1433;
  --neutral-950: #0B1230;

  /* tipografia, espaço, forma, movimento */
  --font-display: 'Bricolage Grotesque', 'Segoe UI', system-ui, -apple-system, sans-serif;
  --font-ui: 'Figtree', 'Segoe UI', system-ui, -apple-system, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, 'Cascadia Code', Consolas, monospace;
  --text-xs: 0.75rem;
  --text-sm: 0.8125rem;
  --text-base: 0.9375rem;
  --text-md: 1.0625rem;
  --text-lg: 1.25rem;
  --text-xl: 1.5rem;
  --text-2xl: 1.875rem;
  --text-3xl: 2.375rem;
  --text-4xl: 3rem;
  --leading-tight: 1.15;
  --leading-snug: 1.3;
  --leading-normal: 1.5;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --radius-pill: 999px;
  --dur-instant: 90ms;
  --dur-fast: 160ms;
  --dur-base: 240ms;
  --dur-slow: 420ms;
  --ease-out: cubic-bezier(0.2, 0.7, 0.2, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --logo-main-dk: #DDE4FF;
  --logo-mid-dk: #8FA2FF;
  --logo-acc-dk: #19D3B6;
  --banner-h: 0px;
  --sheet: #FFFFFF;
  --sheet-ink: #0D1433;
  --support-hover: #5CE4CC;
  --sidebar-w: 248px;
  --topbar-h: 56px;
  --content-max: 1180px;
  --z-nav: 30;
  --z-dropdown: 40;
  --z-modal: 50;
  --z-toast: 60;

  /* elevação */
  --shadow-1: 0 1px 2px rgba(var(--shadow-color), 0.06), 0 1px 1px rgba(var(--shadow-color), 0.04);
  --shadow-2: 0 4px 14px rgba(var(--shadow-color), 0.09), 0 1px 3px rgba(var(--shadow-color), 0.06);
  --shadow-3: 0 18px 44px rgba(var(--shadow-color), 0.18), 0 4px 12px rgba(var(--shadow-color), 0.08);

  /* classificação de risco (provisório) */
  --risk-1: #2F9E62;
  --risk-2: #7FB431;
  --risk-3: #E3A006;
  --risk-4: #E36A1B;
  --risk-5: #C8322B;

  /* tema claro (padrão) */
  --bg: #F4F6FD;
  --surface: #FFFFFF;
  --surface-raised: #FFFFFF;
  --surface-sunken: #ECEFF9;
  --line: #DFE3F0;
  --line-strong: #C6CCDF;
  --text: #0D1433;
  --text-soft: #4A5378;
  --text-faint: #5F6889;
  --brand: #1F3FD6;
  --brand-hover: #1934B0;
  --brand-press: #172C8A;
  --on-brand: #FFFFFF;
  --brand-soft: #E4EAFF;
  --brand-soft-text: #1934B0;
  --support: #19D3B6;
  --support-strong: #0E7A69;
  --support-soft: #E9FCF8;
  --on-support: #0D1433;
  --focus: #4E68F0;
  --side-bg: #0B1230;
  --side-text: #E7EBFF;
  --side-text-soft: #A0ABD6;
  --side-hover: rgba(255, 255, 255, 0.06);
  --side-active: rgba(255, 255, 255, 0.10);
  --side-line: rgba(255, 255, 255, 0.10);
  --ok-bg: #DDF3E7;
  --ok-text: #14603C;
  --ok-solid: #1E9E5A;
  --warn-bg: #FFF0D2;
  --warn-text: #7A4A00;
  --warn-solid: #E39A00;
  --danger-bg: #FFE1DA;
  --danger-text: #9A2E18;
  --danger-solid: #D64533;
  --info-bg: #DDF0FA;
  --info-text: #0B5C8A;
  --info-solid: #0B7FBF;
  --logo-main: #1F3FD6;
  --logo-mid: #6B85F2;
  --logo-acc: #19D3B6;
  --shadow-color: 13, 20, 51;
  --overlay: rgba(11, 18, 48, 0.55);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #0B1230;
    --surface: #111A3E;
    --surface-raised: #182350;
    --surface-sunken: #0D1437;
    --line: #26336B;
    --line-strong: #34437F;
    --text: #E7EBFF;
    --text-soft: #A0ABD6;
    --text-faint: #8792C2;
    --brand: #7C93FF;
    --brand-hover: #96A9FF;
    --brand-press: #AFBEFF;
    --on-brand: #0A1030;
    --brand-soft: #1B2766;
    --brand-soft-text: #B7C3FF;
    --support: #19D3B6;
    --support-strong: #2FDABE;
    --support-soft: #0F3440;
    --on-support: #0B1230;
    --focus: #96A9FF;
    --side-bg: #080D26;
    --side-text: #E7EBFF;
    --side-text-soft: #A0ABD6;
    --side-hover: rgba(255, 255, 255, 0.06);
    --side-active: rgba(255, 255, 255, 0.10);
    --side-line: rgba(255, 255, 255, 0.10);
    --ok-bg: #11362A;
    --ok-text: #7FE0B0;
    --ok-solid: #34C77B;
    --warn-bg: #3A2A0A;
    --warn-text: #FFC56B;
    --warn-solid: #F0B02E;
    --danger-bg: #40160D;
    --danger-text: #FFA58F;
    --danger-solid: #F0705A;
    --info-bg: #0F2F44;
    --info-text: #86CCF0;
    --info-solid: #3FA9E0;
    --logo-main: #DDE4FF;
    --logo-mid: #8FA2FF;
    --logo-acc: #19D3B6;
    --shadow-color: 0, 0, 0;
    --overlay: rgba(3, 6, 20, 0.72);
  }
}

:root[data-theme="dark"] {
  --bg: #0B1230;
  --surface: #111A3E;
  --surface-raised: #182350;
  --surface-sunken: #0D1437;
  --line: #26336B;
  --line-strong: #34437F;
  --text: #E7EBFF;
  --text-soft: #A0ABD6;
  --text-faint: #8792C2;
  --brand: #7C93FF;
  --brand-hover: #96A9FF;
  --brand-press: #AFBEFF;
  --on-brand: #0A1030;
  --brand-soft: #1B2766;
  --brand-soft-text: #B7C3FF;
  --support: #19D3B6;
  --support-strong: #2FDABE;
  --support-soft: #0F3440;
  --on-support: #0B1230;
  --focus: #96A9FF;
  --side-bg: #080D26;
  --side-text: #E7EBFF;
  --side-text-soft: #A0ABD6;
  --side-hover: rgba(255, 255, 255, 0.06);
  --side-active: rgba(255, 255, 255, 0.10);
  --side-line: rgba(255, 255, 255, 0.10);
  --ok-bg: #11362A;
  --ok-text: #7FE0B0;
  --ok-solid: #34C77B;
  --warn-bg: #3A2A0A;
  --warn-text: #FFC56B;
  --warn-solid: #F0B02E;
  --danger-bg: #40160D;
  --danger-text: #FFA58F;
  --danger-solid: #F0705A;
  --info-bg: #0F2F44;
  --info-text: #86CCF0;
  --info-solid: #3FA9E0;
  --logo-main: #DDE4FF;
  --logo-mid: #8FA2FF;
  --logo-acc: #19D3B6;
  --shadow-color: 0, 0, 0;
  --overlay: rgba(3, 6, 20, 0.72);
}

:root[data-theme="light"] {
  color-scheme: light;
}
:root[data-theme="dark"] {
  color-scheme: dark;
}
