/* Factum: cores e base comuns a TODAS as páginas (site, cadastro, painel, guias).
   Cada página carrega este arquivo primeiro. Cor nova entra aqui, nunca solta na página. */
:root{
  --ink:#0d1311;          /* preto esverdeado, nunca #000 */
  --ink-2:#17201c;
  --paper:#f3f4f1;        /* branco frio, não creme */
  --paper-2:#e7e9e4;
  --card:#fff;
  --text:#121816;
  --text-2:#4b5550;
  --text-3:#646d68;       /* 4,9:1 no papel */
  --placeholder:#8a928e;
  --on-dark:#eef1ee;
  --on-dark-2:#a9b3ae;
  --line:rgb(18 24 22 / .12);
  --line-2:rgb(18 24 22 / .26);
  --line-dark:rgb(238 241 238 / .14);
  --accent:#1f6a4c;       /* o único verde de ação */
  --accent-hi:#27805c;
  --accent-soft:#e3efe8;
  --accent-ink:#173f2f;
  --ok:#5cc596;           /* marcas e foco sobre fundo escuro */
  --warn:#a8620c;
  --warn-soft:#f6ead8;
  --warn-ink:#6e3f06;     /* texto sobre --warn-soft */
  --bad:#c2412b;
  --bad-soft:#f8e3df;
  --bad-ink:#8a2a19;
  --focus:var(--accent);  /* seções escuras trocam para --ok */
  --ease-out:cubic-bezier(.23,1,.32,1);
}
*{box-sizing:border-box;margin:0}
html{-webkit-text-size-adjust:100%;color-scheme:light;background:var(--paper)}
body{font-family:"Geist",ui-sans-serif,system-ui,sans-serif;font-size:16px;line-height:1.55;color:var(--text);background:var(--paper);font-feature-settings:"ss01";-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-underline-offset:.2em}
button{font:inherit;color:inherit}
input::placeholder{color:var(--placeholder)}
::selection{background:var(--accent);color:#fff}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:6px}
.num{font-variant-numeric:tabular-nums}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;z-index:99;background:#fff;color:var(--ink);padding:10px 14px;border-radius:8px}
.skip:focus{left:8px}
