@layer tokens {/* =================================================================
   S16 — Constituição visual SEMAP
   ================================================================= */
:root {
  /* Cor */
  --color-blue: #0d66d5;
  --color-blue-focus: #0050bd;
  --color-blue-soft: #0d66d51a;
  --color-text: #141413;
  --color-text-2: #5b5b5a;
  --color-muted: #727271;
  --color-bg: #faf8f5;
  --color-card: #ffffff;
  --color-border: rgba(0,0,0,.078);
  --color-border-2: #ededed;
  --color-border-3: #e7e7e7;

  /* Status */
  --color-success: #1a7f4b;
  --color-warning: #9a6700;
  --color-danger: #b42318;
  --color-info: var(--color-blue);

  /* Tipografia */
  --font-title: 'Newsreader', Georgia, 'Times New Roman', serif;
  --font-body: 'Open Sans', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;

  /* Raios */
  --r-card: 1rem;
  --r-btn: 10px;
  --r-pill: 100px;

  /* Layout e espaço */
  --container: 1200px;
  --pad-x: 1.25rem;
  --section-y: 5rem;
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-8: 2.5rem;

  /* Movimento */
  --ease: cubic-bezier(.2,.6,.2,1);
  --dur-fast: .16s;
  --dur: .34s;
}}@layer overrides {

/* Ponte temporária para o legado. Remover este arquivo restaura a cascata anterior. */
html:root {
  --health-primary: var(--color-blue);
  --health-secondary: var(--color-blue-focus);
  --primary-50: var(--color-blue-soft);
  --primary-100: var(--color-blue-soft);
  --primary-200: var(--color-blue-soft);
  --primary-300: var(--color-blue);
  --primary-400: var(--color-blue);
  --primary-500: var(--color-blue);
  --primary-600: var(--color-blue);
  --primary-700: var(--color-blue-focus);
  --primary-800: var(--color-blue-focus);
  --gray-50: var(--color-bg);
  --gray-100: var(--color-border);
  --gray-200: var(--color-border-2);
  --gray-300: var(--color-border-3);
  --gray-400: var(--color-muted);
  --gray-500: var(--color-muted);
  --gray-600: var(--color-text-2);
  --gray-700: var(--color-text-2);
  --gray-800: var(--color-text);
  --gray-900: var(--color-text);
  --success: var(--color-success);
  --warning: var(--color-warning);
  --error: var(--color-danger);
  --info: var(--color-info);
  --font-sans: var(--font-body);
  --font-display: var(--font-title);
  --radius-md: var(--r-btn);
  --radius-xl: var(--r-card);
  --radius-2xl: var(--r-card);
  --radius-full: var(--r-pill);
  --transition-fast: var(--dur-fast) var(--ease);
  --transition-base: var(--dur) var(--ease);
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-8: 2.5rem;
}

html body,
body .page-wrapper {
  background: var(--color-bg);
}

body .content-box,
body .tab-content,
body .ocr-panel,
body .notification {
  background-color: var(--color-card);
}

body .notification[data-tipo="info"] {
  --notification-color: var(--color-info);
}

body .notification[data-tipo="sucesso"] {
  --notification-color: var(--color-success);
}

body .notification[data-tipo="aviso"] {
  --notification-color: var(--color-warning);
}

body .notification[data-tipo="erro"] {
  --notification-color: var(--color-danger);
}

/* Exceção única permitida: feedback permanece, mas sem movimento perceptível. */
}@layer legado {@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: .001ms !important;
    transition-duration: .001ms !important;
  }
}
}
