/* Tokens do projeto e base. O hex da marca mora SO neste bloco :root (nunca em template). */
:root {
  /* Marca (rampa gerada por paleta.py a partir da cor da Liziane) */
  --cor-primaria: #1F5FD0;
  --cor-primaria-hover: #1A4FAC;
  --cor-primaria-escura: #133B80;
  --cor-primaria-suave: #E7EDF8;
  --cor-primaria-soft: rgba(31, 95, 208, 0.12);
  --cor-primaria-sombra: rgba(31, 95, 208, 0.15);
  --texto-sobre-cor: #FFFFFF;

  /* Cores do logo dela: so no monograma da sidebar e da tela de erro */
  --marca-marinho: #12314F;
  --marca-dourado: #A58A52;

  /* Faixa lateral estilo Book: marinho e dourado (o painel que abre ao lado é um tom acima) */
  --marinho: #0C2340;
  --marinho-claro: #14315A;
  --marinho-ativo: #1F4A7A;
  --dourado: #C9A24B;
  --sidebar-texto: #C9D3E2;
  --trilha-largura: 156px;
  --painel-largura: 268px;

  /* Superficie e texto (tema light) */
  --branco: #FFFFFF;
  --fundo: #F5F7FA;
  --borda: #E5E7EB;
  --borda-forte: #CBD2DC;
  --texto: #1B2430;
  --texto-secundario: #4B5563;
  --texto-suave: #4B5563;
  --texto-fraco: #6B7280;

  /* Estado */
  --verde: #16A34A;
  --verde-escuro: #15803D;
  --verde-suave: #DCFCE7;
  --ambar: #D97706;
  --ambar-suave: #FEF3C7;
  --vermelho: #DC2626;
  --vermelho-suave: #FEE2E2;
  --azul-info: #0284C7;

  /* Forma */
  --raio-sm: 8px;
  --raio: 12px;
  --raio-lg: 18px;
  --raio-full: 9999px;
  --sombra-sm: 0 1px 2px rgba(16, 24, 40, 0.06);
  --sombra: 0 4px 12px rgba(16, 24, 40, 0.08);
  --sombra-md: 0 8px 24px rgba(16, 24, 40, 0.12);
  --sombra-lg: 0 16px 40px rgba(16, 24, 40, 0.18);
  --transicao: 0.15s ease;

  /* Tipografia */
  --font: "Inter", -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-titulo: "Sora", "Inter", sans-serif;

  /* Layout */
  --sidebar-width: 248px;
  --topbar-h: 58px;
}

*, *::before, *::after { box-sizing: border-box; }

[hidden] { display: none !important; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  font-family: var(--font);
  font-size: 15px;
  line-height: 1.55;
  color: var(--texto);
  background: var(--fundo);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* CRITICO: sem isso o formulario cai para a fonte do sistema */
button, input, select, textarea { font-family: inherit; }

h1, h2, h3, h4, h5 {
  font-family: var(--font-titulo);
  font-weight: 700;
  letter-spacing: -.02em;
  color: var(--texto);
  line-height: 1.2;
  margin: 0;
}

a { color: var(--cor-primaria); text-decoration: none; }
a:hover { color: var(--cor-primaria-escura); }

p { margin: 0; }

:focus-visible {
  outline: 2px solid var(--cor-primaria);
  outline-offset: 2px;
}
