/* xvia-platform-ds 0.3.2 — ds-tokens.css publicado. Fallback do CDN (src/shared/ds/cdn.ts): não editar. */
/* Ordem canônica das camadas. Deve ser a PRIMEIRA folha de estilo carregada pela aplicação. */
@layer ds.primitives, ds.semantic, ds.theme, app;

/* Gerado por @plataforma-xvia/ds-tokens — não editar. */
@layer ds.primitives {
  :root {
    --ds-color-brand-skyline: #004f9f;
    --ds-color-brand-skyline-0: #223069;
    --ds-color-brand-skyline-1: #222359;
    --ds-color-brand-forest: #009d3d;
    --ds-color-brand-forest-0: #00622f;
    --ds-color-brand-forest-1: #007d37;
    --ds-color-brand-golden: #ffd500;
    --ds-color-brand-golden-0: #fdc400;
    --ds-color-brand-golden-1: #f59c00;
    --ds-color-primary-50: #f5f8fb;
    --ds-color-primary-100: #e6edf5;
    --ds-color-primary-200: #ccdcec;
    --ds-color-primary-300: #99b9d9;
    --ds-color-primary-400: #6695c5;
    --ds-color-primary-500: #3372b2;
    --ds-color-primary-600: #004f9f;
    --ds-color-primary-700: #003f7f;
    --ds-color-primary-800: #002f5f;
    --ds-color-primary-900: #002040;
    --ds-color-primary-1000: #001020;
    --ds-color-secondary-100: #ccedd8;
    --ds-color-secondary-200: #99dab1;
    --ds-color-secondary-300: #66c68a;
    --ds-color-secondary-400: #33b264;
    --ds-color-secondary-500: #009d3d;
    --ds-color-secondary-600: #007f31;
    --ds-color-secondary-700: #006024;
    --ds-color-secondary-800: #004118;
    --ds-color-secondary-900: #00210c;
    --ds-color-tertiary-100: #fff8cc;
    --ds-color-tertiary-200: #fff099;
    --ds-color-tertiary-300: #ffe866;
    --ds-color-tertiary-400: #ffdf33;
    --ds-color-tertiary-500: #ffd500;
    --ds-color-tertiary-600: #ccac00;
    --ds-color-tertiary-700: #998200;
    --ds-color-tertiary-800: #665700;
    --ds-color-tertiary-900: #332c00;
    --ds-color-neutral-0: #ffffff;
    --ds-color-neutral-100: #f9f9f9;
    --ds-color-neutral-200: #d5d5d5;
    --ds-color-neutral-300: #b2b2b2;
    --ds-color-neutral-400: #8e8e8e;
    --ds-color-neutral-500: #8e8e8d;
    --ds-color-neutral-600: #7b7b7a;
    --ds-color-neutral-700: #686867;
    --ds-color-neutral-800: #565654;
    --ds-color-neutral-900: #30302e;
    --ds-color-neutral-1000: #1d1d1b;
    --ds-color-neutral-1100: #000000;
    --ds-color-green-100: #eaf6ed;
    --ds-color-green-200: #d4eddb;
    --ds-color-green-300: #a9dbb7;
    --ds-color-green-400: #7ec894;
    --ds-color-green-500: #53b670;
    --ds-color-green-600: #28a44c;
    --ds-color-green-700: #20833d;
    --ds-color-green-800: #18622e;
    --ds-color-green-900: #10421e;
    --ds-color-green-1000: #08210f;
    --ds-color-blue-100: #e6f5ff;
    --ds-color-blue-200: #cdebff;
    --ds-color-blue-300: #9cd7ff;
    --ds-color-blue-400: #6ac2ff;
    --ds-color-blue-500: #39aeff;
    --ds-color-blue-600: #0d99f7;
    --ds-color-blue-700: #067bcc;
    --ds-color-blue-800: #045c99;
    --ds-color-blue-900: #033e66;
    --ds-color-blue-1000: #011f33;
    --ds-color-yellow-100: #fff7dc;
    --ds-color-yellow-200: #feeaa6;
    --ds-color-yellow-300: #fddc69;
    --ds-color-yellow-400: #fbd120;
    --ds-color-yellow-500: #fac500;
    --ds-color-yellow-600: #f9bb00;
    --ds-color-yellow-700: #fbac00;
    --ds-color-yellow-800: #fd9800;
    --ds-color-yellow-900: #ff8600;
    --ds-color-yellow-1000: #ff6200;
    --ds-color-red-100: #fbe9ea;
    --ds-color-red-200: #f6d3d5;
    --ds-color-red-300: #eda8ab;
    --ds-color-red-400: #bd5458;
    --ds-color-red-500: #c83d42;
    --ds-color-red-600: #da1e28;
    --ds-color-red-700: #a91e23;
    --ds-color-red-800: #7f161a;
    --ds-color-red-900: #540f12;
    --ds-color-red-1000: #2a0709;
    --ds-color-orange-100: #fff3ea;
    --ds-color-orange-200: #ffe6d5;
    --ds-color-orange-300: #ffcdaa;
    --ds-color-orange-400: #ffb580;
    --ds-color-orange-500: #ff9c55;
    --ds-color-orange-600: #ff832b;
    --ds-color-orange-700: #cc6922;
    --ds-color-orange-800: #994f1a;
    --ds-color-orange-900: #663411;
    --ds-color-orange-1000: #331a09;
    --ds-color-purple-100: #c6a0f9;
    --ds-color-purple-200: #b88af6;
    --ds-color-purple-300: #aa73f3;
    --ds-color-purple-400: #9c5df0;
    --ds-color-purple-500: #8e48ec;
    --ds-color-purple-600: #7c3ed0;
    --ds-color-purple-700: #6a34b4;
    --ds-color-purple-800: #582a97;
    --ds-color-purple-900: #472179;
    --ds-spacing-0: 0rem;
    --ds-spacing-2: 0.125rem;
    --ds-spacing-4: 0.25rem;
    --ds-spacing-8: 0.5rem;
    --ds-spacing-12: 0.75rem;
    --ds-spacing-16: 1rem;
    --ds-spacing-20: 1.25rem;
    --ds-spacing-24: 1.5rem;
    --ds-spacing-32: 2rem;
    --ds-spacing-40: 2.5rem;
    --ds-spacing-48: 3rem;
    --ds-spacing-56: 3.5rem;
    --ds-spacing-64: 4rem;
    --ds-spacing-72: 4.5rem;
    --ds-spacing-80: 5rem;
    --ds-spacing-88: 5.5rem;
    --ds-spacing-96: 6rem;
    --ds-spacing-112: 7rem;
    --ds-space-1: 0.25rem;
    --ds-space-2: 0.5rem;
    --ds-space-3: 0.75rem;
    --ds-space-4: 1rem;
    --ds-space-5: 1.5rem;
    --ds-space-6: 2rem;
    --ds-space-7: 3rem;
    --ds-space-8: 4rem;
    --ds-radius-none: 0;
    --ds-radius-2xsm: 1px;
    --ds-radius-1xsm: 2px;
    --ds-radius-xsm: 4px;
    --ds-radius-sm: 8px;
    --ds-radius-md: 12px;
    --ds-radius-lg: 16px;
    --ds-radius-xlg: 20px;
    --ds-radius-big: 32px;
    --ds-radius-huge: 999px;
    --ds-size-control-sm: 2.25rem;
    --ds-size-control-md: 2.75rem;
    --ds-size-control-lg: 3rem;
    --ds-size-icon-sm: 1rem;
    --ds-size-icon-md: 1.25rem;
    --ds-size-icon-lg: 1.5rem;
    --ds-size-icon-xl: 1.75rem;
    --ds-size-icon-2xl: 2rem;
    --ds-size-border-width: 1px;
    --ds-size-focus-ring-width: 3px;
    --ds-size-card-media-ratio: 1.7778;
    --ds-size-bar-height: 2rem; /** Altura da faixa rasa do topo (barra de acessibilidade) na referência. */
    --ds-size-container-padding: clamp(1.5rem, 2.2222vw, 2rem); /** Respiro lateral do conteúdo centrado: 24px em telefone, 32px a partir de 1440px de viewport. Cresce com a tela para não colar o conteúdo na borda em nenhuma largura. */
    --ds-size-container-max: clamp(80rem, 62.5vw, 90rem); /** Largura máxima do conteúdo centrado: 1280px (1216px de conteúdo + 2 × space-6 de respiro, a medida da referência de 1440px) até ~2048px de viewport, depois cresce com a tela (62.5vw) até 1440px em ultrawide. */
    --ds-breakpoint-mobile: 30rem; /** Abaixo de 480px: telefones. Media queries não leem custom properties — os componentes repetem o valor literal. */
    --ds-breakpoint-tablet: 48rem; /** Abaixo de 768px: telefones e tablets pequenos; o chrome recolhe (menu, atalhos, carrossel sem botões). */
    --ds-breakpoint-desktop: 64rem; /** Abaixo de 1024px: tablets deitados e notebooks pequenos. */
    --ds-breakpoint-wide: 120rem; /** A partir de 1920px: ultrawide; o contêiner passa a crescer com a tela. */
    --ds-grid-desktop-columns: 12;
    --ds-grid-desktop-gap: 2rem;
    --ds-grid-desktop-col-width: 4.5rem;
    --ds-grid-desktop-padding: 7rem;
    --ds-grid-tablet-columns: 8;
    --ds-grid-tablet-gap: 1.25rem;
    --ds-grid-tablet-padding: 3rem;
    --ds-grid-mobile-columns: 4;
    --ds-grid-mobile-gap: 1rem;
    --ds-grid-mobile-padding: 1rem;
    --ds-opacity-0: 0;
    --ds-opacity-5: 0.05;
    --ds-opacity-10: 0.1;
    --ds-opacity-20: 0.2;
    --ds-opacity-25: 0.25;
    --ds-opacity-30: 0.3;
    --ds-opacity-40: 0.4;
    --ds-opacity-50: 0.5;
    --ds-opacity-60: 0.6;
    --ds-opacity-70: 0.7;
    --ds-opacity-75: 0.75;
    --ds-opacity-80: 0.8;
    --ds-opacity-90: 0.9;
    --ds-opacity-100: 1;
    --ds-motion-duration-fast: 150ms;
    --ds-motion-duration-base: 200ms;
    --ds-motion-duration-slow: 300ms;
    --ds-motion-easing-standard: cubic-bezier(0.2, 0, 0, 1); /** Curva padrão: sai rápido e assenta devagar (movimento sutil, ADR-011). */
    --ds-motion-easing-emphasized: cubic-bezier(0.3, 0, 0, 1);
    --ds-font-family-heading: 'Avenir Next LT Pro', Mulish, 'Segoe UI', system-ui, -apple-system, Roboto, Arial, sans-serif; /** Títulos: Avenir Next LT Pro (licenciada, quando a aplicação a tiver) com Mulish como equivalente livre. O DS só nomeia; a aplicação carrega. */
    --ds-font-family-sans: 'Open Sans', 'Segoe UI', system-ui, -apple-system, Roboto, Arial, sans-serif; /** Texto corrido e controles. */
    --ds-font-family-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    --ds-font-size-8: 0.5rem;
    --ds-font-size-10: 0.625rem;
    --ds-font-size-12: 0.75rem;
    --ds-font-size-14: 0.875rem;
    --ds-font-size-16: 1rem;
    --ds-font-size-18: 1.125rem;
    --ds-font-size-20: 1.25rem;
    --ds-font-size-24: 1.5rem;
    --ds-font-size-32: 2rem;
    --ds-font-size-40: 2.5rem;
    --ds-font-size-48: 3rem;
    --ds-font-size-56: 3.5rem;
    --ds-font-size-64: 4rem;
    --ds-font-size-xs: 0.75rem;
    --ds-font-size-sm: 0.875rem;
    --ds-font-size-md: 1rem;
    --ds-font-size-lg: 1.125rem;
    --ds-font-size-xl: 1.25rem;
    --ds-font-size-2xl: 1.5rem;
    --ds-font-size-3xl: 2rem;
    --ds-font-size-4xl: 2.5rem;
    --ds-font-size-5xl: 4rem;
    --ds-font-line-height-12: 0.75rem;
    --ds-font-line-height-14: 0.875rem;
    --ds-font-line-height-16: 1rem;
    --ds-font-line-height-18: 1.125rem;
    --ds-font-line-height-20: 1.25rem;
    --ds-font-line-height-24: 1.5rem;
    --ds-font-line-height-28: 1.75rem;
    --ds-font-line-height-32: 2rem;
    --ds-font-line-height-40: 2.5rem;
    --ds-font-line-height-48: 3rem;
    --ds-font-line-height-64: 4rem;
    --ds-font-line-height-tight: 1.2;
    --ds-font-line-height-normal: 1.55;
    --ds-font-weight-regular: 400;
    --ds-font-weight-medium: 500;
    --ds-font-weight-semibold: 600;
    --ds-font-weight-bold: 700;
    --ds-font-weight-black: 800;
    --ds-font-letter-spacing-caps: 0.02em;
  }
}

/* Gerado por @plataforma-xvia/ds-tokens — não editar. */
@layer ds.semantic {
  :root {
    --ds-shadow-sm: 0 2px 4px rgba(29, 29, 27, 0.08);
    --ds-shadow-md: 0 8px 12px rgba(29, 29, 27, 0.04), 0 2px 4px rgba(29, 29, 27, 0.02);
    --ds-color-background: var(--ds-color-neutral-0); /** Fundo da página. */
    --ds-color-surface: var(--ds-color-neutral-0); /** Superfície de cards e painéis. */
    --ds-color-surface-tint: var(--ds-color-primary-50); /** Faixa de destaque (busca da home). */
    --ds-color-surface-muted: var(--ds-color-neutral-100); /** Superfície secundária. */
    --ds-color-surface-strong: var(--ds-color-neutral-200); /** Superfície de contraste (faixa do rodapé). */
    --ds-color-border: var(--ds-color-neutral-200);
    --ds-color-border-strong: var(--ds-color-neutral-300);
    --ds-color-border-accent: var(--ds-color-primary-300); /** Borda de realce (acordeão aberto, campo ativo). */
    --ds-color-text-default: var(--ds-color-neutral-900);
    --ds-color-text-muted: var(--ds-color-neutral-700);
    --ds-color-action-bg: var(--ds-color-primary-600); /** Ação primária (azul). */
    --ds-color-action-bg-hover: var(--ds-color-primary-700);
    --ds-color-action-bg-active: var(--ds-color-primary-800);
    --ds-color-action-fg: var(--ds-color-neutral-0);
    --ds-color-action-soft: var(--ds-color-primary-100);
    --ds-color-action-outline: var(--ds-color-primary-600);
    --ds-color-action-positive-bg: var(--ds-color-secondary-600); /** Ação positiva (verde). */
    --ds-color-action-positive-bg-hover: var(--ds-color-secondary-700);
    --ds-color-action-positive-fg: var(--ds-color-neutral-0);
    --ds-color-action-tertiary-bg: var(--ds-color-tertiary-500); /** Ação terciária (amarelo do brasão). */
    --ds-color-action-tertiary-bg-hover: var(--ds-color-tertiary-600);
    --ds-color-action-tertiary-fg: var(--ds-color-neutral-900);
    --ds-color-action-neutral-bg: var(--ds-color-neutral-100); /** Ação neutra (cinza). */
    --ds-color-action-neutral-bg-hover: var(--ds-color-neutral-200);
    --ds-color-action-neutral-fg: var(--ds-color-neutral-900);
    --ds-color-accent: var(--ds-color-primary-600); /** Realce de categoria, ícones. */
    --ds-color-accent-soft: var(--ds-color-primary-100);
    --ds-color-accent-soft-fg: var(--ds-color-primary-900); /** Texto sobre accent-soft (pílula de telefone, realces). */
    --ds-color-link: var(--ds-color-primary-600);
    --ds-color-link-hover: var(--ds-color-primary-800);
    --ds-color-focus: var(--ds-color-tertiary-500); /** Anel de foco (amarelo do brasão). */
    --ds-color-brand-bg: var(--ds-color-primary-600); /** Faixa institucional. */
    --ds-color-brand-bg-strong: var(--ds-color-primary-700); /** Faixa institucional num tom mais fundo (tira do menu em telas estreitas). */
    --ds-color-brand-fg: var(--ds-color-neutral-0);
    --ds-color-status-success-bg: var(--ds-color-green-100);
    --ds-color-status-success-fg: var(--ds-color-green-800);
    --ds-color-status-warning-bg: var(--ds-color-orange-100);
    --ds-color-status-warning-fg: var(--ds-color-orange-800);
    --ds-color-status-danger-bg: var(--ds-color-red-100);
    --ds-color-status-danger-fg: var(--ds-color-red-700);
    --ds-color-status-info-bg: var(--ds-color-blue-100);
    --ds-color-status-info-fg: var(--ds-color-blue-900);
    --ds-color-gradient-primary: linear-gradient(180deg, var(--ds-color-brand-skyline) 0%, var(--ds-color-brand-skyline-0) 50%, var(--ds-color-brand-skyline-1) 100%);
    --ds-color-gradient-secondary: linear-gradient(180deg, var(--ds-color-brand-forest) 0%, var(--ds-color-brand-forest-1) 50%, var(--ds-color-brand-forest-0) 100%);
    --ds-color-gradient-tertiary: linear-gradient(180deg, var(--ds-color-brand-golden) 0%, var(--ds-color-brand-golden-0) 50%, var(--ds-color-brand-golden-1) 100%);
    --ds-text-display-size: var(--ds-font-size-56);
    --ds-text-display-line-height: var(--ds-font-line-height-64);
    --ds-text-display-family: var(--ds-font-family-heading);
    --ds-text-display-weight: var(--ds-font-weight-bold);
    --ds-text-heading-1-size: var(--ds-font-size-40);
    --ds-text-heading-1-line-height: var(--ds-font-line-height-48);
    --ds-text-heading-1-family: var(--ds-font-family-heading);
    --ds-text-heading-1-weight: var(--ds-font-weight-bold);
    --ds-text-heading-2-size: var(--ds-font-size-32);
    --ds-text-heading-2-line-height: var(--ds-font-line-height-48);
    --ds-text-heading-2-family: var(--ds-font-family-heading);
    --ds-text-heading-2-weight: var(--ds-font-weight-bold);
    --ds-text-heading-3-size: var(--ds-font-size-24);
    --ds-text-heading-3-line-height: var(--ds-font-line-height-40);
    --ds-text-heading-3-family: var(--ds-font-family-heading);
    --ds-text-heading-3-weight: var(--ds-font-weight-bold);
    --ds-text-heading-4-size: var(--ds-font-size-20);
    --ds-text-heading-4-line-height: var(--ds-font-line-height-28);
    --ds-text-heading-4-family: var(--ds-font-family-heading);
    --ds-text-heading-4-weight: var(--ds-font-weight-bold);
    --ds-text-heading-5-size: var(--ds-font-size-16);
    --ds-text-heading-5-line-height: var(--ds-font-line-height-24);
    --ds-text-heading-5-family: var(--ds-font-family-heading);
    --ds-text-heading-5-weight: var(--ds-font-weight-bold);
    --ds-text-body-small-size: var(--ds-font-size-14);
    --ds-text-body-small-line-height: var(--ds-font-line-height-20);
    --ds-text-body-small-family: var(--ds-font-family-sans);
    --ds-text-body-small-weight: var(--ds-font-weight-regular);
    --ds-text-body-medium-size: var(--ds-font-size-16);
    --ds-text-body-medium-line-height: var(--ds-font-line-height-24);
    --ds-text-body-medium-family: var(--ds-font-family-sans);
    --ds-text-body-medium-weight: var(--ds-font-weight-regular);
    --ds-text-body-large-size: var(--ds-font-size-20);
    --ds-text-body-large-line-height: var(--ds-font-line-height-28);
    --ds-text-body-large-family: var(--ds-font-family-sans);
    --ds-text-body-large-weight: var(--ds-font-weight-regular);
    --ds-text-tiny-size: var(--ds-font-size-12);
    --ds-text-tiny-line-height: var(--ds-font-line-height-16);
    --ds-text-tiny-family: var(--ds-font-family-sans);
    --ds-text-tiny-weight: var(--ds-font-weight-regular);
    --ds-text-uppercase-size: var(--ds-font-size-14);
    --ds-text-uppercase-line-height: var(--ds-font-line-height-20);
    --ds-text-uppercase-family: var(--ds-font-family-sans);
    --ds-text-uppercase-weight: var(--ds-font-weight-semibold);
  }
}

/* Camada de tema: vazia por padrão. Na última fase, GET /theme/active.css do CMS preenche @layer ds.theme com as custom properties de theme-allowlist.json. */
@layer ds.theme {
}
