/* Meiza - tokens de design (gerado a partir de tokens.json)
   Cores: papeis do Material 3. Unidades px equivalem a dp/sp no Android.
   Tema escuro: prefers-color-scheme ou [data-theme="dark"]; [data-theme="light"] forca o claro. */

:root {
  /* Marca */
  --meiza-indigo: #2F4BEF;
  --meiza-marinho: #0A1633;
  --meiza-menta: #2DD4A0;
  --meiza-esmeralda: #087F5B;
  --meiza-branco: #FFFFFF;
  --meiza-icone-gradiente-inicio: #3A57F5;
  --meiza-icone-gradiente-fim: #1F35C9;

  /* Cores - tema claro */
  --md-sys-color-primary: #2F4BEF;
  --md-sys-color-on-primary: #FFFFFF;
  --md-sys-color-primary-container: #DFE4FF;
  --md-sys-color-on-primary-container: #0A1A6B;
  --md-sys-color-secondary: #3D4A6B;
  --md-sys-color-on-secondary: #FFFFFF;
  --md-sys-color-secondary-container: #DDE3F3;
  --md-sys-color-on-secondary-container: #131C36;
  --md-sys-color-tertiary: #087F5B;
  --md-sys-color-on-tertiary: #FFFFFF;
  --md-sys-color-tertiary-container: #C9F5E3;
  --md-sys-color-on-tertiary-container: #00382A;
  --md-sys-color-error: #BA1A1A;
  --md-sys-color-on-error: #FFFFFF;
  --md-sys-color-error-container: #FFDAD6;
  --md-sys-color-on-error-container: #410002;
  --md-sys-color-background: #F7F8FC;
  --md-sys-color-on-background: #0A1633;
  --md-sys-color-surface: #FFFFFF;
  --md-sys-color-on-surface: #0A1633;
  --md-sys-color-surface-variant: #E4E7F2;
  --md-sys-color-on-surface-variant: #47506B;
  --md-sys-color-surface-dim: #D9DCE8;
  --md-sys-color-surface-bright: #FFFFFF;
  --md-sys-color-surface-container-lowest: #FFFFFF;
  --md-sys-color-surface-container-low: #F3F5FA;
  --md-sys-color-surface-container: #EDEFF7;
  --md-sys-color-surface-container-high: #E7EAF3;
  --md-sys-color-surface-container-highest: #E1E4EE;
  --md-sys-color-outline: #737C98;
  --md-sys-color-outline-variant: #C8CDDC;
  --md-sys-color-inverse-surface: #1A2545;
  --md-sys-color-inverse-on-surface: #F0F2FA;
  --md-sys-color-inverse-primary: #B5C0FF;
  --md-sys-color-surface-tint: #2F4BEF;
  --md-sys-color-scrim: #000000;
  --md-sys-color-shadow: #0A1633;
  --md-sys-color-success: #087F5B;
  --md-sys-color-on-success: #FFFFFF;
  --md-sys-color-success-container: #C9F5E3;
  --md-sys-color-on-success-container: #00382A;
  --md-sys-color-warning: #8F5400;
  --md-sys-color-on-warning: #FFFFFF;
  --md-sys-color-warning-container: #FFE2B0;
  --md-sys-color-on-warning-container: #2E1A00;
  --md-sys-color-info: #0B62B8;
  --md-sys-color-on-info: #FFFFFF;
  --md-sys-color-info-container: #D9E8FF;
  --md-sys-color-on-info-container: #001C3D;

  /* Tipografia */
  --md-ref-typeface-brand: 'Manrope', system-ui, Roboto, sans-serif;
  --md-ref-typeface-plain: 'Inter', system-ui, Roboto, sans-serif;
  --meiza-font-feature-numeros: 'tnum' 1, 'lnum' 1;
  --md-sys-typescale-display-large-font: var(--md-ref-typeface-brand);
  --md-sys-typescale-display-large-weight: 800;
  --md-sys-typescale-display-large-size: 57px;
  --md-sys-typescale-display-large-line-height: 64px;
  --md-sys-typescale-display-large-tracking: -0.25px;
  --md-sys-typescale-display-medium-font: var(--md-ref-typeface-brand);
  --md-sys-typescale-display-medium-weight: 800;
  --md-sys-typescale-display-medium-size: 45px;
  --md-sys-typescale-display-medium-line-height: 52px;
  --md-sys-typescale-display-medium-tracking: 0px;
  --md-sys-typescale-display-small-font: var(--md-ref-typeface-brand);
  --md-sys-typescale-display-small-weight: 700;
  --md-sys-typescale-display-small-size: 36px;
  --md-sys-typescale-display-small-line-height: 44px;
  --md-sys-typescale-display-small-tracking: 0px;
  --md-sys-typescale-headline-large-font: var(--md-ref-typeface-brand);
  --md-sys-typescale-headline-large-weight: 700;
  --md-sys-typescale-headline-large-size: 32px;
  --md-sys-typescale-headline-large-line-height: 40px;
  --md-sys-typescale-headline-large-tracking: 0px;
  --md-sys-typescale-headline-medium-font: var(--md-ref-typeface-brand);
  --md-sys-typescale-headline-medium-weight: 700;
  --md-sys-typescale-headline-medium-size: 28px;
  --md-sys-typescale-headline-medium-line-height: 36px;
  --md-sys-typescale-headline-medium-tracking: 0px;
  --md-sys-typescale-headline-small-font: var(--md-ref-typeface-brand);
  --md-sys-typescale-headline-small-weight: 700;
  --md-sys-typescale-headline-small-size: 24px;
  --md-sys-typescale-headline-small-line-height: 32px;
  --md-sys-typescale-headline-small-tracking: 0px;
  --md-sys-typescale-title-large-font: var(--md-ref-typeface-brand);
  --md-sys-typescale-title-large-weight: 700;
  --md-sys-typescale-title-large-size: 22px;
  --md-sys-typescale-title-large-line-height: 28px;
  --md-sys-typescale-title-large-tracking: 0px;
  --md-sys-typescale-title-medium-font: var(--md-ref-typeface-plain);
  --md-sys-typescale-title-medium-weight: 600;
  --md-sys-typescale-title-medium-size: 16px;
  --md-sys-typescale-title-medium-line-height: 24px;
  --md-sys-typescale-title-medium-tracking: 0.15px;
  --md-sys-typescale-title-small-font: var(--md-ref-typeface-plain);
  --md-sys-typescale-title-small-weight: 600;
  --md-sys-typescale-title-small-size: 14px;
  --md-sys-typescale-title-small-line-height: 20px;
  --md-sys-typescale-title-small-tracking: 0.1px;
  --md-sys-typescale-body-large-font: var(--md-ref-typeface-plain);
  --md-sys-typescale-body-large-weight: 400;
  --md-sys-typescale-body-large-size: 16px;
  --md-sys-typescale-body-large-line-height: 24px;
  --md-sys-typescale-body-large-tracking: 0.5px;
  --md-sys-typescale-body-medium-font: var(--md-ref-typeface-plain);
  --md-sys-typescale-body-medium-weight: 400;
  --md-sys-typescale-body-medium-size: 14px;
  --md-sys-typescale-body-medium-line-height: 20px;
  --md-sys-typescale-body-medium-tracking: 0.25px;
  --md-sys-typescale-body-small-font: var(--md-ref-typeface-plain);
  --md-sys-typescale-body-small-weight: 400;
  --md-sys-typescale-body-small-size: 12px;
  --md-sys-typescale-body-small-line-height: 16px;
  --md-sys-typescale-body-small-tracking: 0.4px;
  --md-sys-typescale-label-large-font: var(--md-ref-typeface-plain);
  --md-sys-typescale-label-large-weight: 600;
  --md-sys-typescale-label-large-size: 14px;
  --md-sys-typescale-label-large-line-height: 20px;
  --md-sys-typescale-label-large-tracking: 0.1px;
  --md-sys-typescale-label-medium-font: var(--md-ref-typeface-plain);
  --md-sys-typescale-label-medium-weight: 500;
  --md-sys-typescale-label-medium-size: 12px;
  --md-sys-typescale-label-medium-line-height: 16px;
  --md-sys-typescale-label-medium-tracking: 0.5px;
  --md-sys-typescale-label-small-font: var(--md-ref-typeface-plain);
  --md-sys-typescale-label-small-weight: 500;
  --md-sys-typescale-label-small-size: 11px;
  --md-sys-typescale-label-small-line-height: 16px;
  --md-sys-typescale-label-small-tracking: 0.5px;
  --md-sys-typescale-caption-font: var(--md-ref-typeface-plain);
  --md-sys-typescale-caption-weight: 400;
  --md-sys-typescale-caption-size: 12px;
  --md-sys-typescale-caption-line-height: 16px;
  --md-sys-typescale-caption-tracking: 0.4px;
  --md-sys-typescale-value-large-font: var(--md-ref-typeface-brand);
  --md-sys-typescale-value-large-weight: 800;
  --md-sys-typescale-value-large-size: 40px;
  --md-sys-typescale-value-large-line-height: 48px;
  --md-sys-typescale-value-large-tracking: -0.5px;
  --md-sys-typescale-value-medium-font: var(--md-ref-typeface-brand);
  --md-sys-typescale-value-medium-weight: 700;
  --md-sys-typescale-value-medium-size: 28px;
  --md-sys-typescale-value-medium-line-height: 36px;
  --md-sys-typescale-value-medium-tracking: 0px;
  --md-sys-typescale-value-small-font: var(--md-ref-typeface-plain);
  --md-sys-typescale-value-small-weight: 600;
  --md-sys-typescale-value-small-size: 16px;
  --md-sys-typescale-value-small-line-height: 24px;
  --md-sys-typescale-value-small-tracking: 0px;

  /* Espacamento (base 4dp) */
  --meiza-space-0: 0px;
  --meiza-space-0-5: 2px;
  --meiza-space-1: 4px;
  --meiza-space-2: 8px;
  --meiza-space-3: 12px;
  --meiza-space-4: 16px;
  --meiza-space-5: 20px;
  --meiza-space-6: 24px;
  --meiza-space-8: 32px;
  --meiza-space-10: 40px;
  --meiza-space-12: 48px;
  --meiza-space-16: 64px;

  /* Raio (shape) */
  --md-sys-shape-corner-none: 0px;
  --md-sys-shape-corner-extra-small: 4px;
  --md-sys-shape-corner-small: 8px;
  --md-sys-shape-corner-medium: 12px;
  --md-sys-shape-corner-large: 16px;
  --md-sys-shape-corner-extra-large: 28px;
  --md-sys-shape-corner-full: 9999px;

  /* Elevacao */
  --md-sys-elevation-level0: none;
  --md-sys-elevation-level1: 0 1px 2px rgba(10,22,51,.10), 0 1px 3px 1px rgba(10,22,51,.06);
  --md-sys-elevation-level2: 0 1px 2px rgba(10,22,51,.10), 0 2px 6px 2px rgba(10,22,51,.07);
  --md-sys-elevation-level3: 0 1px 3px rgba(10,22,51,.10), 0 4px 8px 3px rgba(10,22,51,.08);
  --md-sys-elevation-level4: 0 2px 3px rgba(10,22,51,.10), 0 6px 10px 4px rgba(10,22,51,.08);
  --md-sys-elevation-level5: 0 4px 4px rgba(10,22,51,.10), 0 8px 12px 6px rgba(10,22,51,.09);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --md-sys-color-primary: #B5C0FF;
    --md-sys-color-on-primary: #0A1F8F;
    --md-sys-color-primary-container: #1F37C4;
    --md-sys-color-on-primary-container: #DFE4FF;
    --md-sys-color-secondary: #BDC6E0;
    --md-sys-color-on-secondary: #26304D;
    --md-sys-color-secondary-container: #3D4763;
    --md-sys-color-on-secondary-container: #DDE3F3;
    --md-sys-color-tertiary: #2DD4A0;
    --md-sys-color-on-tertiary: #003826;
    --md-sys-color-tertiary-container: #005139;
    --md-sys-color-on-tertiary-container: #A6F2D3;
    --md-sys-color-error: #FFB4AB;
    --md-sys-color-on-error: #690005;
    --md-sys-color-error-container: #93000A;
    --md-sys-color-on-error-container: #FFDAD6;
    --md-sys-color-background: #070F24;
    --md-sys-color-on-background: #E6E9F5;
    --md-sys-color-surface: #0A1633;
    --md-sys-color-on-surface: #E6E9F5;
    --md-sys-color-surface-variant: #2A3555;
    --md-sys-color-on-surface-variant: #C3C9DD;
    --md-sys-color-surface-dim: #070F24;
    --md-sys-color-surface-bright: #2A3555;
    --md-sys-color-surface-container-lowest: #050B1C;
    --md-sys-color-surface-container-low: #0F1A38;
    --md-sys-color-surface-container: #141F40;
    --md-sys-color-surface-container-high: #1C284B;
    --md-sys-color-surface-container-highest: #263256;
    --md-sys-color-outline: #8D95AF;
    --md-sys-color-outline-variant: #3A4566;
    --md-sys-color-inverse-surface: #E6E9F5;
    --md-sys-color-inverse-on-surface: #1A2545;
    --md-sys-color-inverse-primary: #2F4BEF;
    --md-sys-color-surface-tint: #B5C0FF;
    --md-sys-color-scrim: #000000;
    --md-sys-color-shadow: #000000;
    --md-sys-color-success: #2DD4A0;
    --md-sys-color-on-success: #003826;
    --md-sys-color-success-container: #005139;
    --md-sys-color-on-success-container: #A6F2D3;
    --md-sys-color-warning: #FFB951;
    --md-sys-color-on-warning: #452B00;
    --md-sys-color-warning-container: #633F00;
    --md-sys-color-on-warning-container: #FFDDB0;
    --md-sys-color-info: #A6C8FF;
    --md-sys-color-on-info: #00315F;
    --md-sys-color-info-container: #004786;
    --md-sys-color-on-info-container: #D5E3FF;
    --md-sys-elevation-level0: none;
    --md-sys-elevation-level1: 0 1px 2px rgba(0,0,0,.40), 0 1px 3px 1px rgba(0,0,0,.20);
    --md-sys-elevation-level2: 0 1px 2px rgba(0,0,0,.40), 0 2px 6px 2px rgba(0,0,0,.22);
    --md-sys-elevation-level3: 0 1px 3px rgba(0,0,0,.40), 0 4px 8px 3px rgba(0,0,0,.24);
    --md-sys-elevation-level4: 0 2px 3px rgba(0,0,0,.40), 0 6px 10px 4px rgba(0,0,0,.26);
    --md-sys-elevation-level5: 0 4px 4px rgba(0,0,0,.40), 0 8px 12px 6px rgba(0,0,0,.28);
  }
}

:root[data-theme="dark"] {
  --md-sys-color-primary: #B5C0FF;
  --md-sys-color-on-primary: #0A1F8F;
  --md-sys-color-primary-container: #1F37C4;
  --md-sys-color-on-primary-container: #DFE4FF;
  --md-sys-color-secondary: #BDC6E0;
  --md-sys-color-on-secondary: #26304D;
  --md-sys-color-secondary-container: #3D4763;
  --md-sys-color-on-secondary-container: #DDE3F3;
  --md-sys-color-tertiary: #2DD4A0;
  --md-sys-color-on-tertiary: #003826;
  --md-sys-color-tertiary-container: #005139;
  --md-sys-color-on-tertiary-container: #A6F2D3;
  --md-sys-color-error: #FFB4AB;
  --md-sys-color-on-error: #690005;
  --md-sys-color-error-container: #93000A;
  --md-sys-color-on-error-container: #FFDAD6;
  --md-sys-color-background: #070F24;
  --md-sys-color-on-background: #E6E9F5;
  --md-sys-color-surface: #0A1633;
  --md-sys-color-on-surface: #E6E9F5;
  --md-sys-color-surface-variant: #2A3555;
  --md-sys-color-on-surface-variant: #C3C9DD;
  --md-sys-color-surface-dim: #070F24;
  --md-sys-color-surface-bright: #2A3555;
  --md-sys-color-surface-container-lowest: #050B1C;
  --md-sys-color-surface-container-low: #0F1A38;
  --md-sys-color-surface-container: #141F40;
  --md-sys-color-surface-container-high: #1C284B;
  --md-sys-color-surface-container-highest: #263256;
  --md-sys-color-outline: #8D95AF;
  --md-sys-color-outline-variant: #3A4566;
  --md-sys-color-inverse-surface: #E6E9F5;
  --md-sys-color-inverse-on-surface: #1A2545;
  --md-sys-color-inverse-primary: #2F4BEF;
  --md-sys-color-surface-tint: #B5C0FF;
  --md-sys-color-scrim: #000000;
  --md-sys-color-shadow: #000000;
  --md-sys-color-success: #2DD4A0;
  --md-sys-color-on-success: #003826;
  --md-sys-color-success-container: #005139;
  --md-sys-color-on-success-container: #A6F2D3;
  --md-sys-color-warning: #FFB951;
  --md-sys-color-on-warning: #452B00;
  --md-sys-color-warning-container: #633F00;
  --md-sys-color-on-warning-container: #FFDDB0;
  --md-sys-color-info: #A6C8FF;
  --md-sys-color-on-info: #00315F;
  --md-sys-color-info-container: #004786;
  --md-sys-color-on-info-container: #D5E3FF;
  --md-sys-elevation-level0: none;
  --md-sys-elevation-level1: 0 1px 2px rgba(0,0,0,.40), 0 1px 3px 1px rgba(0,0,0,.20);
  --md-sys-elevation-level2: 0 1px 2px rgba(0,0,0,.40), 0 2px 6px 2px rgba(0,0,0,.22);
  --md-sys-elevation-level3: 0 1px 3px rgba(0,0,0,.40), 0 4px 8px 3px rgba(0,0,0,.24);
  --md-sys-elevation-level4: 0 2px 3px rgba(0,0,0,.40), 0 6px 10px 4px rgba(0,0,0,.26);
  --md-sys-elevation-level5: 0 4px 4px rgba(0,0,0,.40), 0 8px 12px 6px rgba(0,0,0,.28);
}

/* Utilitario: numeros tabulares para valores em reais */
.meiza-numeros { font-feature-settings: var(--meiza-font-feature-numeros); font-variant-numeric: tabular-nums lining-nums; }
