/* Identidade visual compartilhada — Equilíbrio Engenharia */
:root {
  color-scheme: light;

  /* Marca */
  --brand-navy-900: #0a2454;
  --brand-navy-800: #113179;
  --brand-navy-700: #184393;
  --brand-blue-600: #2679a6;
  --brand-blue-500: #3b98c4;
  --brand-blue-100: #dceff8;
  --brand-blue-050: #f0f8fc;

  /* Neutros */
  --neutral-950: #111827;
  --neutral-800: #1f2937;
  --neutral-700: #374151;
  --neutral-600: #4b5563;
  --neutral-500: #6b7280;
  --neutral-400: #9ca3af;
  --neutral-300: #d1d5db;
  --neutral-200: #e5e7eb;
  --neutral-100: #f3f4f6;
  --neutral-050: #f8fafc;
  --white: #ffffff;

  /* Estados */
  --state-success: #15803d;
  --state-success-strong: #166534;
  --state-success-soft: #f0fdf4;
  --state-success-border: #bbf7d0;
  --state-warning: #b45309;
  --state-warning-strong: #92400e;
  --state-warning-soft: #fffbeb;
  --state-warning-border: #fde68a;
  --state-danger: #dc2626;
  --state-danger-strong: #b91c1c;
  --state-danger-soft: #fef2f2;
  --state-danger-border: #fecaca;
  --state-info: #2563eb;
  --state-info-strong: #1d4ed8;
  --state-info-soft: #eff6ff;
  --state-info-border: #bfdbfe;

  /* Superfícies e conteúdo */
  --surface-page: #f5f7fa;
  --surface-raised: var(--white);
  --surface-subtle: var(--neutral-050);
  --surface-selected: var(--brand-blue-050);
  --border-subtle: var(--neutral-200);
  --border-default: var(--neutral-300);
  --border-strong: var(--neutral-400);
  --text-primary: var(--neutral-800);
  --text-secondary: var(--neutral-500);
  --text-tertiary: var(--neutral-400);
  --text-on-brand: var(--white);

  /* Tipografia */
  --font-sans: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-mono: "Cascadia Mono", "SFMono-Regular", Consolas, monospace;
  --font-size-2xs: 10px;
  --font-size-xs: 11px;
  --font-size-sm: 12px;
  --font-size-md: 13px;
  --font-size-lg: 14px;
  --font-size-xl: 16px;
  --font-size-2xl: 18px;
  --font-size-3xl: 22px;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --line-height-tight: 1.2;
  --line-height-default: 1.45;

  /* Espaçamento */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;

  /* Forma e profundidade */
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 10px;
  --radius-pill: 999px;
  --shadow-sm: 0 1px 2px rgb(15 23 42 / 6%);
  --shadow-md: 0 6px 18px rgb(15 23 42 / 9%);
  --shadow-lg: 0 14px 34px rgb(15 23 42 / 12%);
  --focus-ring: 0 0 0 3px rgb(59 152 196 / 24%);
  --transition-fast: 150ms ease;
  --transition-base: 200ms ease;

  /* Densidade confortável: Hub, formulários e configurações */
  --control-height-comfortable: 36px;
  --control-padding-x-comfortable: 12px;
  --control-padding-y-comfortable: 8px;
  --row-height-comfortable: 44px;

  /* Densidade compacta: tabelas técnicas e orçamento */
  --control-height-compact: 28px;
  --control-padding-x-compact: 8px;
  --control-padding-y-compact: 5px;
  --row-height-compact: 32px;

  /* Compatibilidade durante a migração dos aplicativos */
  --c-bg: var(--surface-page);
  --c-surface: var(--surface-raised);
  --c-surface-alt: var(--surface-subtle);
  --c-border: var(--border-subtle);
  --c-border-strong: var(--border-default);
  --c-text: var(--text-primary);
  --c-text-muted: var(--text-secondary);
  --c-text-subtle: var(--text-tertiary);
  --c-primary: var(--brand-navy-800);
  --c-primary-hover: var(--brand-navy-900);
  --c-accent: var(--brand-blue-600);
  --c-accent-soft: var(--brand-blue-050);
  --c-success: var(--state-success);
  --c-warn: var(--state-warning);
  --c-error: var(--state-danger);
  --c-info: var(--state-info);
  --c-success-bg: var(--state-success-soft);
  --c-warn-bg: var(--state-warning-soft);
  --c-error-bg: var(--state-danger-soft);
  --c-info-bg: var(--state-info-soft);
  --sp-1: var(--space-1);
  --sp-2: var(--space-2);
  --sp-3: var(--space-3);
  --sp-4: var(--space-4);
  --sp-5: var(--space-5);
  --sp-6: var(--space-6);
  --sp-8: var(--space-8);
  --r-sm: var(--radius-sm);
  --r-md: var(--radius-md);
  --r-lg: var(--radius-lg);
  --fs-xs: var(--font-size-xs);
  --fs-sm: var(--font-size-sm);
  --fs-base: var(--font-size-md);
  --fs-md: var(--font-size-lg);
  --fs-lg: var(--font-size-xl);
  --fs-xl: var(--font-size-2xl);
  --fs-2xl: var(--font-size-3xl);
  --fw-normal: var(--font-weight-medium);
  --fw-semibold: var(--font-weight-semibold);
  --fw-bold: var(--font-weight-bold);
  --t-fast: var(--transition-fast);
  --t-base: var(--transition-base);
}

[data-density="comfortable"] {
  --control-height: var(--control-height-comfortable);
  --control-padding-x: var(--control-padding-x-comfortable);
  --control-padding-y: var(--control-padding-y-comfortable);
  --row-height: var(--row-height-comfortable);
}

[data-density="compact"] {
  --control-height: var(--control-height-compact);
  --control-padding-x: var(--control-padding-x-compact);
  --control-padding-y: var(--control-padding-y-compact);
  --row-height: var(--row-height-compact);
}
