/* ============================================================
   Diárias — Design Tokens
   Fonte única de verdade para todas as CSS custom properties.
   NÃO adicionar regras de componente aqui — apenas :root vars.

   TODO: Quando globals.css for aposentado, remover o bloco :root duplicado de lá.
   TODO: Adicionar tokens de print quando print.ejs for criado.
   ============================================================ */

:root {
	/* === Brand institucional === */
	--primary-color: #044C8D;
	--primary-contrast: #ffffff;
	--bg: #f7f8fa;
	--text: #1f2937;
	--muted: #6b7280;
	--border: #e5e7eb;
	--success: #16a34a;
	--danger: #dc2626;
	--info: #2563eb;

	/* === Breakpoints (referência — usar @media diretamente) === */
	--mobile-max: 767px;
	--tablet-min: 768px;
	--tablet-max: 1023px;
	--notebook-min: 1024px;
	--notebook-max: 1279px;
	--desktop-min: 1280px;

	/* === Typography scale === */
	--font-weight-normal: 400;
	--font-weight-medium: 500;
	--font-weight-semibold: 600;
	--text-xs: 0.75rem;
	--text-sm: 0.875rem;
	--text-base: 1rem;
	--text-lg: 1.125rem;
	--text-xl: 1.25rem;
	--text-2xl: 1.5rem;

	/* === Semantic palette === */
	--background: #ffffff;
	--foreground: #1F2937;
	--card: #ffffff;
	--card-foreground: #1F2937;
	--popover: #ffffff;
	--popover-foreground: #1F2937;
	--primary: #1351B4;
	--primary-foreground: #ffffff;
	--secondary: #F3F4F6;
	--secondary-foreground: #1F2937;
	--muted: #F3F4F6;
	--muted-foreground: #6B7280;
	--accent: #F3F4F6;
	--accent-foreground: #1F2937;
	--destructive: #E52207;
	--destructive-foreground: #ffffff;
	--border: #E5E7EB;
	--input: transparent;
	--input-background: #ffffff;
	--switch-background: #D1D5DB;
	--ring: #2670E8;
	--success: #168821;
	--warning: #FFCD07;

	/* === Chart palette === */
	--chart-1: #2563EB;
	--chart-2: #22C55E;
	--chart-3: #F59E0B;
	--chart-4: #8B5CF6;
	--chart-5: #EC4899;

	/* === Border radius === */
	--radius: 0.25rem;
	--radius-sm: calc(var(--radius) - 2px);
	--radius-md: var(--radius);
	--radius-lg: calc(var(--radius) + 2px);
	--radius-xl: calc(var(--radius) + 4px);

	/* === Sidebar tokens === */
	--sidebar: #ffffff;
	--sidebar-foreground: #1F2937;
	--sidebar-primary: #1351B4;
	--sidebar-primary-foreground: #ffffff;
	--sidebar-accent: #F3F4F6;
	--sidebar-accent-foreground: #1F2937;
	--sidebar-border: #E5E7EB;
	--sidebar-ring: #2670E8;
	--sidebar-width: 16rem;
	--sidebar-width-icon: 3rem;

	/* === Color aliases (--color-* → semantic vars) === */
	--color-background: var(--background);
	--color-foreground: var(--foreground);
	--color-card: var(--card);
	--color-card-foreground: var(--card-foreground);
	--color-popover: var(--popover);
	--color-popover-foreground: var(--popover-foreground);
	--color-primary: var(--primary);
	--color-primary-foreground: var(--primary-foreground);
	--color-primary-700: #0C326F;
	--color-secondary: var(--secondary);
	--color-secondary-foreground: var(--secondary-foreground);
	--color-muted: var(--muted);
	--color-muted-foreground: var(--muted-foreground);
	--color-accent: var(--accent);
	--color-accent-foreground: var(--accent-foreground);
	--color-destructive: var(--destructive);
	--color-destructive-foreground: var(--destructive-foreground);
	--color-border: var(--border);
	--color-input: var(--input);
	--color-input-background: var(--input-background);
	--color-switch-background: var(--switch-background);
	--color-ring: var(--ring);
	--color-bg: #F3F4F6;
	--color-fg: #111827;
	--color-brand: #044C8D;
	--color-brand-foreground: #ffffff;

	/* === Elevation === */
	--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);
	--shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
}

/* === Dark mode (TODO: ativar via body[data-theme="dark"]) === */
.dark {
	--background: oklch(0.145 0 0);
	--foreground: oklch(0.985 0 0);
	--card: oklch(0.145 0 0);
	--card-foreground: oklch(0.985 0 0);
	--popover: oklch(0.145 0 0);
	--popover-foreground: oklch(0.985 0 0);
	--primary: oklch(0.985 0 0);
	--primary-foreground: oklch(0.205 0 0);
	--secondary: oklch(0.269 0 0);
	--secondary-foreground: oklch(0.985 0 0);
	--muted: oklch(0.269 0 0);
	--muted-foreground: oklch(0.708 0 0);
	--accent: oklch(0.269 0 0);
	--accent-foreground: oklch(0.985 0 0);
	--destructive: oklch(0.396 0.141 25.723);
	--destructive-foreground: oklch(0.637 0.237 25.331);
	--border: oklch(0.269 0 0);
	--input: oklch(0.269 0 0);
	--ring: oklch(0.439 0 0);
	--chart-1: oklch(0.488 0.243 264.376);
	--chart-2: oklch(0.696 0.17 162.48);
	--chart-3: oklch(0.769 0.188 70.08);
	--chart-4: oklch(0.627 0.265 303.9);
	--chart-5: oklch(0.645 0.246 16.439);
	--sidebar: oklch(0.205 0 0);
	--sidebar-foreground: oklch(0.985 0 0);
	--sidebar-primary: oklch(0.488 0.243 264.376);
	--sidebar-primary-foreground: oklch(0.985 0 0);
	--sidebar-accent: oklch(0.269 0 0);
	--sidebar-accent-foreground: oklch(0.985 0 0);
	--sidebar-border: oklch(0.269 0 0);
	--sidebar-ring: oklch(0.439 0 0);
}
