/* The Bridge — fundação F01/F02 (#679), kit aprovado em 2026-09-17.
 * Light default; opt-in html.theme-dark. JS/storage pgintegra-theme inalterados.
 * Papéis v4 são usados por todas as folhas ativas; aliases de escala mantêm
 * contratos de componentes já existentes sem reintroduzir famílias de marca.
 * HANDOFF §9: decisão Victor 2026-09-17 — warn claro >=3:1; --border-input
 * >=3:1 nos dois temas, aplicação em F06. Chips/secundários mantêm hairline-2.
 */

:root {
  color-scheme: light;
  /* Papéis migrados e novos: valores do kit. */
  --canvas: #EDF0F4;
  --surface: #FDFDFE;
  --surface-wash: #F4F6F9;
  --surface-raised: #FFFFFF;
  --surface-sunken: #F3F5F8;
  --hairline: #E2E6EC;
  --hairline-2: #C9D0DA;
  --border-input: #7F8A9C;
  --ink: #0F1B2D;
  --ink-2: #3B485C;
  --ink-3: #5E6B82;
  --ink-4: #9BA6B6;
  --accent: #0E6A73;
  --accent-tint: #E0EFF1;
  --accent-ink: #0B565D;
  --on-accent: #FFFFFF;
  --volume: #8FC1C7;
  --ok: #1E8E5A;
  --ok-soft: #9AD6B6;
  --ok-tint: #E3F4EA;
  --ok-ink: #14643F;
  --warn: #BF7E00;
  --warn-tint: #FBF0D6;
  --warn-ink: #7A5200;
  --fail: #D23B2E;
  --fail-tint: #FBE7E4;
  --fail-wash: #FDF3F1;
  --fail-ring: rgba(210,59,46,0.22);
  --fail-ink: #A12519;
  --run: #2F6BDE;
  --run-tint: #E6EEFC;
  --run-ink: #1D4FB0;
  --idle: #8792A4;
  --idle-tint: #ECEFF3;
  --idle-ink: #4A5668;
  --track: #DCE1E8;
  --scrim: rgba(15,27,45,0.36);
  --shadow-lift: 0 1px 2px rgba(15,27,45,0.10);
  --shadow-card: 0 0 0 1px rgba(15,27,45,0.06), 0 1px 2px rgba(15,27,45,0.04), 0 14px 32px -20px rgba(15,27,45,0.22);
  --shadow-alert: 0 0 0 1px rgba(210,59,46,0.22), 0 14px 32px -20px rgba(210,59,46,0.35);
  --shadow-pop: 0 24px 64px -16px rgba(15,27,45,0.38);
  --radius-xs: 2px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 10px;
  --radius-xl: 14px;
  --radius-pill: 999px;
  --motion-fast: 150ms;
  --motion-base: 250ms;
  --motion-slow: 400ms;
  --ease-primary: cubic-bezier(0.16, 1, 0.3, 1);
  --font-sans: Archivo, "Segoe UI", system-ui, sans-serif;
  --font-mono: "DM Mono", ui-monospace, Menlo, monospace;
  --fs-micro: 11px;
  --fs-caption: 12px;
  --fs-small: 13px;
  --fs-body: 14px;
  --fs-heading: 15px;
  --fs-subhead: 17px;
  --fs-title: 20px;
  --fs-figure: 24px;
  --fs-hero: 30px;
  /* Papéis tipográficos comuns ao CP, Agent e onboarding (DESIGN.md §5). */
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-display: 650;
  --fw-bold: 700;
  --lh-tight: 1;
  --lh-display: 1.1;
  --lh-title: 1.2;
  --lh-heading: 1.3;
  --lh-compact: 1.4;
  --lh-body: 1.5;
  --lh-prose: 1.6;
  --lh-code: 1.7;
  /* Exceções de papel aprovadas: marca no login e títulos do par Origem/Destino. */
  --fs-brand: 104px;
  --fs-brand-mobile: 48px;
  --lh-brand: .95;
  --fs-pair-title: 18px;
  --stretch-display: 116%;
  --stretch-figure: 112%;
  --tracking-display: -.012em;

  /* Compatibility scale aliases retained only where existing components use them. */
  --neutral-50: oklch(98% 0.005 260);
  --neutral-100: oklch(95% 0.008 260);
  --neutral-150: oklch(93% 0.009 260);
  --neutral-200: oklch(89% 0.010 260);
  --neutral-300: oklch(80% 0.012 260);
  --neutral-400: oklch(65% 0.014 260);
  --neutral-500: oklch(50% 0.015 260);
  --neutral-600: oklch(40% 0.015 260);
  --neutral-700: oklch(28% 0.013 260);
  --neutral-800: oklch(18% 0.010 260);
  --neutral-900: oklch(11% 0.04 280);
  --neutral-950: oklch(7% 0.03 280);
  --severity-informativa: oklch(45% 0.13 230);
  --severity-informativa-bg: oklch(95% 0.025 230);
  --severity-alerta: oklch(45% 0.15 85);
  --severity-alerta-bg: oklch(95% 0.040 85);
  --severity-critica: oklch(48% 0.18 25);
  --severity-critica-bg: oklch(95% 0.030 25);
  --status-active: oklch(45% 0.13 145);
  --status-active-bg: oklch(95% 0.030 145);
  --status-inactive: oklch(50% 0.005 260);
  --status-inactive-bg: oklch(95% 0.008 260);
  --status-running: oklch(58% 0.13 86);
  --status-running-bg: oklch(96% 0.035 86);
  --status-failed: oklch(48% 0.18 25);
  --status-failed-bg: oklch(95% 0.030 25);
  --status-completed: oklch(40% 0.08 260);
  --status-completed-bg: oklch(95% 0.020 260);
  --status-pending: oklch(50% 0.005 260);
  --status-pending-bg: oklch(95% 0.008 260);
  --status-queued: oklch(45% 0.13 230);
  --status-queued-bg: oklch(95% 0.025 230);
  /* Uma escala: consumidores legados resolvem os mesmos papéis v4. */
  --text-xs: var(--fs-caption);
  --text-sm: var(--fs-small);
  --text-base: var(--fs-body);
  --text-md: var(--fs-heading);
  --text-lg: var(--fs-subhead);
  --text-xl: var(--fs-title);
  --text-2xl: var(--fs-figure);
  --text-3xl: var(--fs-hero);
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-7: 1.75rem;
  --space-8: 2rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --ease-out: cubic-bezier(0.25, 1, 0.5, 1);
  --ease-in: cubic-bezier(0.5, 0, 0.75, 0);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --display-tracking: -0.02em;
  --display-tracking-sm: -0.01em;
  --display-leading: var(--lh-title);
  --density-base-regular: 16px;
  --density-base-compact: 14px;
  --radius: var(--radius-md);
  --surface-2: var(--surface-sunken);
  --surface-canvas: var(--canvas);
  --surface-elevated: var(--surface);
  --surface-overlay: var(--surface-2);
  --text-primary: var(--ink);
  --text-secondary: var(--ink-2);
  --text-muted: var(--ink-3);
  --border-default: var(--neutral-200);
  --border-strong: var(--neutral-300);
  --focus-ring: var(--accent);
  --bp-sm: 480px;
  --bp-md: 768px;
  --bp-lg: 1024px;
  --bp-xl: 1280px;

  /* Aliases antes ausentes. surface-3/text-disabled seguem fallback existente;
   * o foreground literal do onboarding mantém contraste no papel accent.
   */
  --surface-card: var(--surface-raised);
  --surface-default: var(--surface);
  --surface-muted: var(--surface-sunken);
  --surface-subtle: var(--surface-sunken);
  --surface-1: var(--surface);
  --surface-3: var(--surface-2);
  --border-subtle: var(--hairline);
  --text-disabled: var(--text-muted);
  --radius-full: var(--radius-pill);
}

html.theme-dark {
  color-scheme: dark;
  /* Mesmos papéis do kit, sem prefers-color-scheme automático. */
  --canvas: #0A111D;
  --surface: #101A29;
  --surface-wash: #0C1421;
  --surface-raised: #162235;
  --surface-sunken: #0D1623;
  --hairline: #1E2A3C;
  --hairline-2: #31415A;
  --border-input: #68768B;
  --ink: #EAF0F7;
  --ink-2: #C0CAD8;
  --ink-3: #8E9BAE;
  --ink-4: #5B6980;
  --accent: #5CC3CC;
  --accent-tint: #123238;
  --accent-ink: #8FDDE4;
  --on-accent: #06262A;
  --volume: #2F6A72;
  --ok: #4CC38A;
  --ok-soft: #2F7D58;
  --ok-tint: #12301F;
  --ok-ink: #8FE0B6;
  --warn: #F0B040;
  --warn-tint: #33270C;
  --warn-ink: #F6CE7E;
  --fail: #F0675A;
  --fail-tint: #3A1613;
  --fail-wash: #24120F;
  --fail-ring: rgba(240,103,90,0.3);
  --fail-ink: #FFA79E;
  --run: #6C9CF5;
  --run-tint: #15254A;
  --run-ink: #A9C5FB;
  --idle: #6F7C90;
  --idle-tint: #1A2434;
  --idle-ink: #B3BECC;
  --track: #243146;
  --scrim: rgba(2,6,12,0.6);
  --shadow-lift: 0 1px 2px rgba(0,0,0,0.5);
  --shadow-card: 0 0 0 1px #1E2A3C;
  --shadow-alert: 0 0 0 1px rgba(240,103,90,0.3);
  --shadow-pop: 0 24px 64px -16px rgba(0,0,0,0.7);

  /* Aliases de superfície e texto seguem o tema, sem tokens de marca legados. */
  --surface-canvas: var(--canvas);
  --surface-elevated: var(--surface);
  --surface-overlay: var(--surface-2);
  --border-default: var(--hairline-2);
  --border-strong: var(--hairline-2);
  --text-primary: var(--ink);
  --text-secondary: var(--ink-2);
  --text-muted: var(--ink-3);
  --severity-informativa: oklch(82% 0.10 230);
  --severity-informativa-bg: oklch(25% 0.035 230);
  --severity-alerta: oklch(82% 0.12 85);
  --severity-alerta-bg: oklch(25% 0.050 85);
  --severity-critica: oklch(78% 0.15 25);
  --severity-critica-bg: oklch(25% 0.045 25);
  --status-active: oklch(82% 0.13 145);
  --status-active-bg: oklch(25% 0.040 145);
  --status-inactive: oklch(75% 0.005 260);
  --status-inactive-bg: oklch(22% 0.010 260);
  --status-running: oklch(81% 0.115 86);
  --status-running-bg: oklch(26% 0.04 86);
  --status-failed: oklch(78% 0.15 25);
  --status-failed-bg: oklch(25% 0.045 25);
  --status-completed: oklch(78% 0.06 260);
  --status-completed-bg: oklch(22% 0.025 260);
  --status-pending: oklch(75% 0.005 260);
  --status-pending-bg: oklch(22% 0.010 260);
  --status-queued: oklch(82% 0.10 230);
  --status-queued-bg: oklch(25% 0.035 230);
}
