/* Recanto do Sol — tokens compartilhados (site + portal)
   Cores tiradas da logo (azul royal do uniforme, sol amarelo/laranja)
   e da faixa arco-íris da fachada (roxo, verde, amarelo, laranja, vermelho). */
@font-face { font-family: "Libre Franklin"; font-weight: 400; src: url(fonts/libre-franklin-latin-400-normal.woff2) format("woff2"); }
@font-face { font-family: "Libre Franklin"; font-weight: 500; src: url(fonts/libre-franklin-latin-500-normal.woff2) format("woff2"); }
@font-face { font-family: "Libre Franklin"; font-weight: 600; src: url(fonts/libre-franklin-latin-600-normal.woff2) format("woff2"); }
@font-face { font-family: "Libre Franklin"; font-weight: 700; src: url(fonts/libre-franklin-latin-700-normal.woff2) format("woff2"); }
@font-face { font-family: "Libre Franklin"; font-weight: 800; src: url(fonts/libre-franklin-latin-800-normal.woff2) format("woff2"); }
@font-face { font-family: "Source Serif 4"; font-weight: 400; src: url(fonts/source-serif-4-latin-400-normal.woff2) format("woff2"); }
@font-face { font-family: "Source Serif 4"; font-weight: 600; src: url(fonts/source-serif-4-latin-600-normal.woff2) format("woff2"); }
@font-face { font-family: "Source Serif 4"; font-weight: 400; font-style: italic; src: url(fonts/source-serif-4-latin-400-italic.woff2) format("woff2"); }

:root {
  /* marca */
  --blue: #1e3a8a;        /* azul royal — uniforme e janelas */
  --blue-ink: #142a66;    /* tinta escura do azul */
  --blue-50: #f1f4fc;
  --blue-100: #e1e8f8;
  --blue-200: #c3d1f0;
  --sun: #f5b800;         /* sol */
  --orange: #ec7a1c;
  --red: #d33a2f;
  --green: #287a3c;
  --purple: #6a3e99;      /* faixa da fachada (cor da marca, não decorativa) */
  --cream: #fbf7ee;       /* parede creme da fachada, clareada */

  /* papéis */
  --ground: #f6f8fc;
  --surface: #ffffff;
  --raised: #f1f4fa;
  --border: #e3e8f2;
  --rule: #edf0f6;
  --control: #c9d2e3;
  --text: #16204a;
  --muted: #4f5878;
  --faint: #5f6884;
  --accent: var(--blue);

  --positive: #1f7a3c; --negative: #b4271f; --warning: #8a4b00;
  --pill-positive-bg: #ddf3e3; --pill-positive-ink: #0f4a22;
  --pill-negative-bg: #fde7e4; --pill-negative-ink: #861a14;
  --pill-warning-bg: #fff1d6; --pill-warning-ink: #7a4100;
  --pill-neutral-bg: #edf0f6; --pill-neutral-ink: #3b4466;

  --sans: "Libre Franklin", system-ui, sans-serif;
  --serif: "Source Serif 4", Georgia, serif;
}
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, p, ul, ol, figure, dl, dd { margin: 0; }
ul[class], ol[class] { list-style: none; padding: 0; }
img { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; color: inherit; }
a { color: inherit; text-decoration: none; }
:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.num { font-variant-numeric: tabular-nums; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
