/* ==========================================================================
   GestãoTrack Pro — Design Tokens Unificados (tokens.css) — Módulo Climatização & HVAC
   Conformidade WCAG 2.2 AA & Padrão Visual Multi-Superfície
   Paleta: Azul Engenharia (#0284c7) + Ciano Térmico (#0891b2 / #06b6d4)
   ========================================================================== */

:root {
  /* 1. Tipografia & Escala Modular (Piso legível 12px / 0.75rem) */
  --font-sans: 'Plus Jakarta Sans', 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, 'Cascadia Code', Consolas, monospace;

  --text-xs:   0.75rem;   /* 12px — badges, metadados */
  --text-sm:   0.875rem;  /* 14px — tabelas, labels, botões compactos */
  --text-base: 1rem;      /* 16px — inputs (evita auto-zoom no iOS) e corpo */
  --text-lg:   1.125rem;  /* 18px — títulos de seção/modal */
  --text-xl:   1.5rem;    /* 24px — cabeçalhos */
  --text-kpi:  clamp(1.75rem, 2.4vw, 2.5rem);

  /* 2. Espaçamento (Grid 4px/8px) & Raios */
  --space-1: 0.25rem; --space-2: 0.5rem; --space-3: 0.75rem;
  --space-4: 1rem;    --space-6: 1.5rem; --space-8: 2rem;
  --radius-sm: 8px;   --radius-md: 12px; --radius-lg: 16px; --radius-full: 9999px;

  /* 3. Cores Semânticas — Tema Claro Padrão SaaS */
  --bg-canvas:        #f1f5f9;
  --bg-page:          #f8fafc;
  --surface-1:        #ffffff;
  --surface-2:        #f8fafc;
  --surface-elevated: #ffffff;
  --border-subtle:    #e2e8f0;
  --border-strong:    #cbd5e1;
  --border-hover:     rgba(2, 132, 199, 0.4);

  --text-primary:     #0f172a;
  --text-secondary:   #334155;
  --text-muted:       #475569; /* Contraste > 7:1 sobre branco */

  /* Marca & Identidade Térmica HVAC */
  --brand-primary:       #0284c7; /* Azul Engenharia */
  --brand-primary-hover: #0369a1;
  --brand-cyan:          #0891b2; /* Ciano Térmico */
  --brand-cyan-light:    #06b6d4;
  --brand-glow:          rgba(2, 132, 199, 0.22);
  --accent-vip:          #d97706; /* Exclusivo para Piloto VIP / Destaques Premium */

  --status-scheduled-bg: #e0f2fe; --status-scheduled-fg: #0369a1;
  --status-active-bg:    #cffafe; --status-active-fg:    #0e7490;
  --status-success-bg:   #dcfce7; --status-success-fg:   #15803d;
  --status-warning-bg:   #fef3c7; --status-warning-fg:   #b45309;
  --status-danger-bg:    #fee2e2; --status-danger-fg:    #b91c1c;

  /* Anel de Foco Acessível Global */
  --focus-ring: 0 0 0 2px #ffffff, 0 0 0 4px #0284c7;
}

[data-theme="dark"] {
  --bg-canvas:        #080b11;
  --bg-page:          #080b11;
  --surface-1:        #0f172a;
  --surface-2:        #18243e;
  --surface-elevated: #1e293b;
  --border-subtle:    rgba(148, 163, 184, 0.16);
  --border-strong:    rgba(148, 163, 184, 0.32);
  --border-hover:     rgba(56, 189, 248, 0.45);

  --text-primary:     #f8fafc; /* Contraste > 15:1 */
  --text-secondary:   #cbd5e1; /* Contraste > 10:1 */
  --text-muted:       #94a3b8; /* Contraste ~ 6.2:1 */

  --brand-primary:       #38bdf8;
  --brand-primary-hover: #0284c7;
  --brand-cyan:          #22d3ee;
  --brand-cyan-light:    #67e8f9;
  --brand-glow:          rgba(56, 189, 248, 0.25);

  --status-scheduled-bg: rgba(56, 189, 248, 0.14); --status-scheduled-fg: #38bdf8;
  --status-active-bg:    rgba(6, 182, 212, 0.18);  --status-active-fg:    #22d3ee;
  --status-success-bg:   rgba(16, 185, 129, 0.16); --status-success-fg:   #34d399;
  --status-warning-bg:   rgba(245, 158, 11, 0.16); --status-warning-fg:   #fbbf24;
  --status-danger-bg:    rgba(239, 68, 68, 0.16);  --status-danger-fg:    #f87171;

  --focus-ring: 0 0 0 2px var(--bg-canvas), 0 0 0 4px #38bdf8;
}

/* Foco visível global WCAG 2.4.7 */
:is(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--brand-primary) !important;
  outline-offset: 2px !important;
  box-shadow: var(--focus-ring);
}

/* Respeito a usuários com sensibilidade a movimento WCAG 2.3.3 */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
