/**
 * tokens.css - Design Tokens, Cores, Tipografia e Variáveis Base
 * UTILIT - OPS360
 */

:root {
  /* shadcn/ui Design Tokens (Zinc/Slate Palette + HSL) */
  --background: 0 0% 100%;
  --foreground: 240 10% 3.9%;
  --card: #ffffff;
  --card-foreground: #0f172a;
  --popover: #ffffff;
  --popover-foreground: #0f172a;
  --primary: #0f172a;
  --primary-foreground: #f8fafc;
  --secondary: #f1f5f9;
  --secondary-foreground: #0f172a;
  --muted: #f8fafc;
  --muted-foreground: #64748b;
  --accent: #f1f5f9;
  --accent-foreground: #0f172a;
  --destructive: #ef4444;
  --destructive-foreground: #f8fafc;
  --border: #e2e8f0;
  --input: #e2e8f0;
  --ring: #0f172a;
  --radius: 0.5rem;

  /* Cores de marca padrão (fallback se não fornecidas por brand_settings) */
  --brand-dark: #1B3A57;
  --brand-dark2: #122A40;
  --brand-accent: #F7A81B;
  --brand-accent-hover: #E08600;
  --success: #2E9E4F;
  --danger: #B3261E;
  --warning: #946200;

  --bg: #f8fafc;
  --text: #0f172a;
  --text-muted: #64748b;

  /* Largura útil do conteúdo — padrão único do portal. Era 1240px e sobrava
     margem vazia nas laterais; o FinOps já abria em 1680px por conta própria e
     isso virou o padrão de todas as telas. Ajuste aqui, não página por página. */
  --page-max: 1680px;

  /* Sidebar Dark / Slate High-End Tokens */
  --sidebar-bg: #090d16;
  --sidebar-border: rgba(255, 255, 255, 0.08);
  --sidebar-text: #94a3b8;
  --sidebar-text-hover: #f1f5f9;
  /* Texto discreto do menu (rótulos de seção, subitens, rodapé): derivado do menu, nunca cinza fixo. */
  --sidebar-muted: rgba(255, 255, 255, 0.62);
  --sidebar-active-bg: rgba(255, 255, 255, 0.08);
  --sidebar-active-border: var(--brand-accent);

  /* Tipografia Corporativa & Formal */
  --font-display: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-numeric: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-mono: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-code: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", "Courier New", monospace;

  /* Sombras e Elevações */
  --shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.06), 0 1px 2px -1px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.06), 0 2px 4px -2px rgba(0, 0, 0, 0.04);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.07), 0 4px 6px -4px rgba(0, 0, 0, 0.03);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: var(--font-body);
  background: var(--bg);
  color: var(--text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Tipografia Numérica Formal & Empresarial (Tabular Figures) */
:root {
  font-feature-settings: "cv02", "cv03", "cv04", "cv11", "tnum" 1;
}

/* Garante que qualquer elemento que use var(--font-mono) para números ou métricas
   passe a usar a fonte formal corporativa com números tabulares alinhados */
[style*="--font-mono"],
.font-mono,
.kpi-val,
.stat-val,
.rep-table td,
.tabular-nums {
  font-family: var(--font-numeric) !important;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
  letter-spacing: -0.015em;
}

/* Blocos de código reais, logs, tokens técnicos e scripts continuam com fonte monospace limpa */
pre, code, kbd, samp, pre.log-box, .code-block, input[name="cron_expr"] {
  font-family: var(--font-code) !important;
  font-variant-numeric: normal;
  letter-spacing: normal;
}

