/* Base da intranet: fontes locais, cores da RGR (claro e escuro), alvos de toque de 48 px, fonte 17 px. */
@font-face { font-family: 'Barlow'; font-display: swap; font-weight: 400; src: url('/fontes/barlow-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Barlow'; font-display: swap; font-weight: 500; src: url('/fontes/barlow-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Barlow'; font-display: swap; font-weight: 600; src: url('/fontes/barlow-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Barlow'; font-display: swap; font-weight: 700 900; src: url('/fontes/barlow-latin-700-normal.woff2') format('woff2'); }
@font-face { font-family: 'Saira'; font-display: swap; font-weight: 100 900; src: url('/fontes/saira-latin-standard-normal.woff2') format('woff2'); }

:root {
  --marinho: #002546; --amarelo: #fbba00; --azul: #004177;
  --fundo: #f3f5f8; --cartao: #ffffff; --texto: #0d1b2a; --texto-2: #46566a; --linha: #d6dde6;
  --acao: var(--marinho); --acao-texto: #fff; --destaque: var(--amarelo); --destaque-texto: #0b1a2a;
  --borda-forte: var(--marinho); --ok: #17803d; --perigo: #b3261e; --aviso-fundo: #fff4cc;
  --acao-forte: #001a33; --suave: #e9eef4; --toque: #dfe7f0;
  --raio: 3px; --sombra: 0 1px 2px rgba(0, 37, 70, .08), 0 4px 14px rgba(0, 37, 70, .06);
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root {
    --fundo: #07121f; --cartao: #0f2134; --texto: #edf2f7; --texto-2: #a9b8c8; --linha: #23384e;
    --acao: #1f5f9e; --acao-texto: #fff; --borda-forte: #4f7fb3; --ok: #5bd28a; --perigo: #ff8a80; --aviso-fundo: #3a2f0b;
    --acao-forte: #184d82; --suave: #13283e; --toque: #1a3550;
    --sombra: none; color-scheme: dark;
  }
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font: 400 17px/1.45 Barlow, system-ui, sans-serif; background: var(--fundo); color: var(--texto); }
h1, h2, h3 { font-family: Saira, Barlow, sans-serif; line-height: 1.15; margin: 0 0 .4em; }
a { color: inherit; }
button, input, select, textarea { font: inherit; color: inherit; }
[hidden] { display: none !important; }
.botao { display: flex; align-items: center; justify-content: center; gap: .5em; min-height: 48px; padding: .6em 1.1em;
  border: 0; border-radius: var(--raio); background: var(--acao); color: var(--acao-texto); font-weight: 600; cursor: pointer;
  text-decoration: none; width: 100%; }
.botao:hover { background: var(--acao-forte); }
.botao:active { transform: translateY(1px); }
.botao.secundario { background: var(--cartao); color: var(--texto); border: 1.5px solid var(--linha); }
.botao.secundario:hover { background: var(--suave); }
.botao .icone { width: 20px; height: 20px; }
.icone { width: 22px; height: 22px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
::selection { background: var(--amarelo); color: #0b1a2a; }
input, textarea { caret-color: var(--acao); }
.botao:disabled { opacity: .55; cursor: default; }
.botao:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, .chip:has(input:focus-visible) { outline: 3px solid var(--amarelo); outline-offset: 2px; }
label { display: block; font-weight: 600; margin: 1em 0 .35em; }
input, select, textarea { width: 100%; min-height: 48px; padding: .55em .8em; border: 1.5px solid var(--linha); border-radius: var(--raio);
  background: var(--cartao); }
textarea { min-height: 110px; resize: vertical; line-height: 1.4; }
input::placeholder, textarea::placeholder { color: var(--texto-2); opacity: .8; }
.dica { color: var(--texto-2); font-size: .92em; margin: .3em 0 0; }
.erro { color: var(--perigo); font-weight: 600; margin: .6em 0; }
.erro:empty { display: none; }
.cartao { background: var(--cartao); border-radius: var(--raio); box-shadow: var(--sombra); border: 1px solid var(--linha); padding: 1.1em; }
.marcar { display: flex; align-items: center; gap: .6em; min-height: 48px; font-weight: 500; margin: .6em 0; }
.marcar input { width: 24px; min-height: 24px; height: 24px; accent-color: var(--marinho); }
.esconder-visual { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
