/* ============================================================
   PADRÃO VISUAL — Lopes & Salazar / LSA Codex
   Fonte da verdade de cores, tipografia e componentes.
   Fontes servidas localmente (sem dependência do Google em runtime).
   ============================================================ */

/* ---- FONTES LOCAIS ---- */
/* Cinzel: títulos e nome do sistema (display, clássica, combina com a logo).
   Jost: corpo de texto (limpa, geométrica). Arquivos em /static/fonts/. */
@font-face {
  font-family: 'Cinzel'; font-style: normal; font-weight: 400;
  font-display: swap; src: url('/static/fonts/cinzel-400.ttf') format('truetype');
}
@font-face {
  font-family: 'Cinzel'; font-style: normal; font-weight: 600;
  font-display: swap; src: url('/static/fonts/cinzel-600.ttf') format('truetype');
}
@font-face {
  font-family: 'Jost'; font-style: normal; font-weight: 300;
  font-display: swap; src: url('/static/fonts/jost-300.ttf') format('truetype');
}
@font-face {
  font-family: 'Jost'; font-style: normal; font-weight: 400;
  font-display: swap; src: url('/static/fonts/jost-400.ttf') format('truetype');
}
@font-face {
  font-family: 'Jost'; font-style: normal; font-weight: 500;
  font-display: swap; src: url('/static/fonts/jost-500.ttf') format('truetype');
}
@font-face {
  font-family: 'Jost'; font-style: normal; font-weight: 600;
  font-display: swap; src: url('/static/fonts/jost-600.ttf') format('truetype');
}

/* ---- PALETA ---- */
:root {
  --verde: #1a2f26;        /* cor principal: menu, fundos fortes, botão primário */
  --verde-2: #24412f;      /* hover do verde */
  --verde-3: #2f5640;      /* verde médio: links, acentos sutis */
  --dourado: #b28b58;      /* acento da marca: nome do sistema, destaques, dado principal */
  --dourado-claro: #c9a574;/* hover do dourado */
  --fundo: #eef2ef;        /* fundo das telas internas (verde bem claro) */
  --texto: #1a2f26;        /* texto principal */
  --cinza: #6b7d74;        /* texto secundário */
  --borda: #d4ddd6;        /* bordas e divisores */
  --branco: #ffffff;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Jost', sans-serif; background: var(--fundo); color: var(--texto); min-height: 100vh; }

/* ---- MENU SUPERIOR ---- */
header.menu-topo {
  background: var(--verde); padding: 0 32px; display: flex; align-items: center;
  justify-content: space-between; height: 68px; box-shadow: 0 2px 12px rgba(26,47,38,0.18);
}
.menu-esq { display: flex; align-items: center; gap: 32px; }
.menu-dir { display: flex; align-items: center; gap: 28px; }
.logo-sistema { font-family: 'Cinzel', serif; font-size: 22px; font-weight: 600; color: var(--dourado); letter-spacing: 3px; text-decoration: none; }
.menu-topo nav { display: flex; gap: 6px; }
.menu-topo nav a { color: rgba(255,255,255,0.75); text-decoration: none; padding: 8px 16px; border-radius: 6px; font-size: 14px; font-weight: 500; letter-spacing: 0.3px; transition: all 0.18s; }
.menu-topo nav a:hover { background: rgba(255,255,255,0.08); color: #fff; }
.menu-topo nav a.active { color: var(--dourado); background: rgba(178,139,88,0.14); }
.menu-topo nav a.sair { color: rgba(255,255,255,0.6); }
.menu-topo nav a.sair:hover { color: #e7b3a3; background: rgba(231,124,124,0.12); }
.logo-escritorio { height: 30px; }

/* ---- CONTÊINER E CARTÃO ---- */
.container { max-width: 900px; margin: 36px auto; padding: 0 24px; }
.card { background: #fff; border-radius: 14px; padding: 36px; box-shadow: 0 2px 16px rgba(26,47,38,0.06); border: 1px solid var(--borda); }
h2.titulo { font-family: 'Cinzel', serif; font-size: 22px; font-weight: 600; color: var(--verde); letter-spacing: 1px; margin-bottom: 8px; }
.secao-titulo { font-size: 12px; font-weight: 600; color: var(--dourado); text-transform: uppercase; letter-spacing: 1px; margin: 26px 0 14px; }

/* ---- BOTÕES ----
   IMPORTANTE: todo <button> precisa de font-family: inherit, senão herda
   a fonte do sistema (Arial) em vez da fonte da página. */
.btn-primary { width: 100%; padding: 15px; background: var(--verde); color: #fff; border: none; border-radius: 10px; font-size: 15px; font-weight: 600; font-family: inherit; cursor: pointer; letter-spacing: 0.5px; transition: background 0.18s; }
.btn-primary:hover { background: var(--verde-2); }
.btn-primary:disabled { background: #c3cfc8; cursor: not-allowed; }

.btn-tool { display: inline-flex; align-items: center; gap: 6px; background: #f3f6f4; color: var(--verde); border: 1px solid var(--borda); padding: 9px 15px; border-radius: 8px; font-size: 13px; font-weight: 600; font-family: inherit; cursor: pointer; text-decoration: none; transition: background 0.15s; }
.btn-tool:hover { background: #e7ede9; }
.btn-tool svg { width: 14px; height: 14px; stroke: currentColor; fill: none; stroke-width: 2; }
.btn-excluir { background: #f3f6f4; color: #9a5a4e; border-color: var(--borda); }
.btn-excluir:hover { background: #f6eae8; color: #8a3a2e; }

.btn-mini { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; padding: 8px 14px; border-radius: 7px; font-size: 12px; font-weight: 600; font-family: inherit; border: none; cursor: pointer; transition: all 0.15s; }
.btn-mini svg { width: 13px; height: 13px; fill: none; stroke-width: 2; }
.btn-ver { background: var(--verde); color: #fff; } .btn-ver svg { stroke: #fff; } .btn-ver:hover { background: var(--verde-2); }
.btn-baixar { background: #fff; color: var(--dourado); border: 1.5px solid var(--dourado); font-weight: 500; } .btn-baixar svg { stroke: var(--dourado); } .btn-baixar:hover { background: #faf6ef; }
