/* UX-07A — Inter real (CDN controlado). Fallback: Segoe UI / system-ui.
   Carregado por todo módulo que linka tokens.css → fonte única, sem drift. */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root {
  /* Module Colors (Canonical) — UNIFICAÇÃO REAL */
  --unif-gc-primary: #164E45;
  --unif-gc-primary-soft: rgba(22, 78, 69, .15);
  --unif-gc-accent: #2FBF9B;
  --unif-gc-accent-soft: rgba(47, 191, 155, .15);
  --unif-gc: var(--unif-gc-primary);
  --unif-gc-soft: var(--unif-gc-primary-soft);

  --unif-grh-primary: #8E3150;
  --unif-grh-primary-soft: rgba(142, 49, 80, .15);
  --unif-grh-accent: #B64268;
  --unif-grh-accent-soft: rgba(182, 66, 104, .15);
  --unif-grh: var(--unif-grh-primary);
  --unif-grh-soft: var(--unif-grh-primary-soft);

  --unif-sgq-primary: #7BD6B3;
  --unif-sgq-primary-soft: rgba(123, 214, 179, .15);
  --unif-sgq-accent: #0ABAB5;
  --unif-sgq-accent-soft: rgba(10, 186, 181, .15);
  --unif-sgq: var(--unif-sgq-primary);
  --unif-sgq-soft: var(--unif-sgq-primary-soft);

  --unif-nsa-primary: #49A8F5;
  --unif-nsa-primary-soft: rgba(73, 168, 245, .15);
  --unif-nsa-accent: #1E88E5;
  --unif-nsa-accent-soft: rgba(30, 136, 229, .15);
  --unif-nsa: var(--unif-nsa-primary);
  --unif-nsa-soft: var(--unif-nsa-primary-soft);

  /* CGH — Custos e Gastos Hospitalares (Terracota — decisão arquitetural 2026-06-06) */
  --unif-cgh-primary: #C96A3D;
  --unif-cgh-primary-soft: rgba(201, 106, 61, 0.15);
  --unif-cgh-accent: #A84F27;
  --unif-cgh-accent-soft: rgba(168, 79, 39, 0.15);
  --unif-cgh: var(--unif-cgh-primary);
  --unif-cgh-soft: var(--unif-cgh-primary-soft);

  /* Module Accent Contract */
  --module-primary: var(--ds-info, #0EA5E9);
  --module-primary-soft: var(--ds-info-light, #E0F2FE);
  --module-accent: var(--ds-info, #0EA5E9);
  --module-accent-soft: var(--ds-info-light, #E0F2FE);
  --module-accent-contrast: #ffffff;

  /* Surface / Text Contract */
  --surface: #F8FAFC;
  --surface-muted: #EEF2F7;
  --text-primary: #0F172A;
  --text-secondary: #64748B;
  --border: rgba(15, 23, 42, .08);
  --focus-ring: 0 0 0 3px color-mix(in srgb, var(--module-accent) 28%, transparent);

  /* Semantic Colors */
  --ds-success: #22C55E;
  --ds-success-light: #DCFCE7;
  --ds-warning: #F59E0B;
  --ds-warning-light: #FEF3C7;
  --ds-danger: #EF4444;
  --ds-danger-light: #FEE2E2;
  --ds-info: #0EA5E9;
  --ds-info-light: #E0F2FE;

  /* Backgrounds & Text */
  --ds-bg: var(--surface);
  --ds-card: #FFFFFF;
  --ds-border: var(--border);
  --ds-border-light: rgba(15, 23, 42, .04);
  --ds-text: var(--text-primary);
  --ds-muted: var(--text-secondary);

  /* Dark Theme */
  --ds-bg-dark: #0F172A;
  --ds-card-dark: #1E293B;
  --ds-border-dark: rgba(255, 255, 255, .08);
  --ds-text-dark: #F1F5F9;
  --ds-muted-dark: #94A3B8;

  /* Typography Scale — UNIFICAÇÃO REAL */
  --ds-font: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
  --ds-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --ds-f-h1: 2.25rem;
  --ds-f-h2: 1.875rem;
  --ds-f-h3: 1.5rem;
  --ds-f-h4: 1.25rem;
  --ds-f-h5: 1.125rem;
  --ds-f-h6: 1rem;
  --ds-f-body: 0.9375rem;
  --ds-f-caption: 0.75rem;
  --ds-font-size: var(--ds-f-body);

  /* Font Weights */
  --ds-w-regular: 400;
  --ds-w-medium: 500;
  --ds-w-semibold: 600;
  --ds-w-bold: 700;

  /* Line Heights */
  --ds-lh-tight: 1.2;
  --ds-lh-base: 1.5;
  --ds-lh-relaxed: 1.625;

  /* Spacing Scale — UNIFICAÇÃO REAL (4px base) */
  --ds-s-4: 0.25rem;
  --ds-s-8: 0.5rem;
  --ds-s-12: 0.75rem;
  --ds-s-16: 1rem;
  --ds-s-24: 1.5rem;
  --ds-s-32: 2rem;
  --ds-s-40: 2.5rem;
  --ds-s-48: 3rem;

  /* Legacy Space mappings for compatibility */
  --ds-space-xs: var(--ds-s-4);
  --ds-space-sm: var(--ds-s-8);
  --ds-space-md: var(--ds-s-16);
  --ds-space-lg: var(--ds-s-24);
  --ds-space-xl: var(--ds-s-32);

  /* Radius & Shadows */
  --ds-radius-sm: 6px;
  --ds-radius-md: 10px;
  --ds-radius-lg: 16px;
  --ds-shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);
  --ds-shadow-md: 0 4px 6px rgba(0, 0, 0, .07);
  --ds-shadow-lg: 0 10px 20px rgba(0, 0, 0, .1);

  /* Layout */
  --ds-header-height: 48px;
  --ds-unif-bar-height: var(--ds-header-height);
  --ds-sidebar-width: 260px;
  --ds-sidebar-bg: #0F172A;
  --ds-topbar-height: 56px;
  --ds-z-sidebar: 100;
  --ds-z-topbar: 90;
  --ds-z-dropdown: 200;
  --ds-z-modal: 9000;
  --ds-z-command-palette: 9800;
  --ds-z-toast: 9999;

  /* Transitions */
  --ds-transition: all .25s ease;
  --ds-transition-fast: all .15s ease;
  --ds-transition-slow: all .4s ease;

  /* Utilities */
  --ds-overlay: rgba(0, 0, 0, .52);
  --ds-focus-ring: var(--focus-ring);
}

html[data-theme="dark"] {
  --surface: #0F172A;
  --surface-muted: #1E293B;
  --text-primary: #F1F5F9;
  --text-secondary: #94A3B8;
  --border: rgba(255, 255, 255, .08);
  --ds-bg: var(--surface);
  --ds-card: var(--ds-card-dark);
  --ds-border: var(--border);
  --ds-text: var(--text-primary);
  --ds-muted: var(--text-secondary);
  --focus-ring: 0 0 0 3px color-mix(in srgb, var(--module-accent) 34%, transparent);
}

body[data-module="portal"] {
  --module-primary: var(--org-accent, var(--ds-info));
  --module-primary-soft: color-mix(in srgb, var(--module-primary) 16%, transparent);
  --module-accent: var(--module-primary);
  --module-accent-soft: var(--module-primary-soft);
  --module-accent-contrast: #0F172A;
}

body[data-module="gc"] {
  --module-primary: var(--unif-gc-primary);
  --module-primary-soft: var(--unif-gc-primary-soft);
  --module-accent: var(--unif-gc-accent);
  --module-accent-soft: var(--unif-gc-accent-soft);
  --module-accent-contrast: #0F172A;
}

body[data-module="grh"] {
  --module-primary: var(--unif-grh-primary);
  --module-primary-soft: var(--unif-grh-primary-soft);
  --module-accent: var(--unif-grh-accent);
  --module-accent-soft: var(--unif-grh-accent-soft);
  --module-accent-contrast: #ffffff;
}

body[data-module="sgq"] {
  --module-primary: var(--unif-sgq-primary);
  --module-primary-soft: var(--unif-sgq-primary-soft);
  --module-accent: var(--unif-sgq-accent);
  --module-accent-soft: var(--unif-sgq-accent-soft);
  --module-accent-contrast: #0F172A;
}

body[data-module="nsa"] {
  --module-primary: var(--unif-nsa-primary);
  --module-primary-soft: var(--unif-nsa-primary-soft);
  --module-accent: var(--unif-nsa-accent);
  --module-accent-soft: var(--unif-nsa-accent-soft);
  --module-accent-contrast: #ffffff;
}

body[data-module="cgh"] {
  --module-primary: var(--unif-cgh-primary);
  --module-primary-soft: var(--unif-cgh-primary-soft);
  --module-accent: var(--unif-cgh-accent);
  --module-accent-soft: var(--unif-cgh-accent-soft);
  --module-accent-contrast: #0F172A;
}
