/* Frente 58: guia público de erros e mapa do e·Vitória (as páginas são geradas; este estilo é o mesmo dos manuais). */
@font-face { font-family: 'Carlito'; font-weight: 400; font-display: swap; src: url('/fonts/carlito-400-latin.woff2') format('woff2'); }
@font-face { font-family: 'Carlito'; font-weight: 700; font-display: swap; src: url('/fonts/carlito-700-latin.woff2') format('woff2'); }
:root { --azul: #0A3D62; --verde: #2F7580; --gelo: #D5E2E9; --texto: #1F2A33; --cinza: #5F6F7C; --fundo: #F5F8FA; --cartao: #fff; --marca: #FFF4D6; color-scheme: light; }
@media (prefers-color-scheme: dark) {
  :root { --azul: #9CC6E4; --verde: #6FB7C1; --gelo: #2A3B47; --texto: #E6EEF3; --cinza: #A9B8C3; --fundo: #0F1A21; --cartao: #16232C; --marca: #3A2E12; color-scheme: dark; }
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--fundo); color: var(--texto); font: 17px/1.5 Calibri, Carlito, Arial, sans-serif; }
main { max-width: 960px; margin: 0 auto; padding: 24px 16px 48px; }
a { color: var(--verde); }
header { display: flex; align-items: center; gap: 10px; font: 24px Georgia, serif; color: var(--azul); }
header a { color: inherit; text-decoration: none; display: flex; align-items: center; gap: 10px; min-height: 44px; }
nav.trilha { margin: 12px 0 0; color: var(--cinza); font-size: 15px; }
h1 { font: 400 32px/1.2 Georgia, 'Times New Roman', serif; color: var(--azul); margin: 20px 0 8px; }
h2 { font: 400 24px/1.25 Georgia, serif; color: var(--azul); margin: 32px 0 8px; }
h3 { font-size: 19px; margin: 0; }
.data { color: var(--cinza); margin: 4px 0 20px; font-size: 15px; }
.cartoes { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.cartao { display: flex; flex-direction: column; gap: 6px; background: var(--cartao); border: 1px solid var(--gelo); border-radius: 8px; padding: 18px;
  color: inherit; text-decoration: none; min-height: 44px; }
a.cartao:hover, a.cartao:focus-visible { border-color: var(--verde); outline: none; box-shadow: 0 0 0 3px color-mix(in srgb, var(--verde) 30%, transparent); }
.cartao .titulo { font: 21px Georgia, serif; color: var(--azul); }
.busca { display: flex; flex-direction: column; gap: 4px; margin: 8px 0 16px; position: sticky; top: 0; background: var(--fundo); padding: 8px 0; }
.busca input { font: inherit; padding: 10px 12px; min-height: 44px; border: 1px solid var(--gelo); border-radius: 8px; background: var(--cartao); color: var(--texto); }
.busca small { color: var(--cinza); }
article.codigo { background: var(--cartao); border: 1px solid var(--gelo); border-radius: 8px; padding: 14px 16px; margin: 0 0 10px; scroll-margin-top: 140px; overflow-wrap: anywhere; }
article.codigo:target { border-color: var(--verde); box-shadow: 0 0 0 3px color-mix(in srgb, var(--verde) 30%, transparent); background: var(--marca); }
article.codigo h3 a { color: var(--azul); text-decoration: none; }
article.codigo dl { display: grid; grid-template-columns: minmax(120px, 170px) minmax(0, 1fr); gap: 4px 12px; margin: 8px 0 0; }
article.codigo dt { color: var(--cinza); }
article.codigo dd { margin: 0; min-width: 0; }
article.codigo ol, article.codigo ul { margin: 0; padding-left: 20px; }
@media (max-width: 560px) { article.codigo dl { grid-template-columns: minmax(0, 1fr); } article.codigo dd { margin-bottom: 6px; } }
.oculto { display: none; }
.ajuda { margin-top: 8px; }
.ajuda a { font-weight: 700; display: inline-flex; align-items: center; min-height: 44px; }
.secao li { margin: 2px 0; }
footer { color: var(--cinza); font-size: 14px; margin-top: 32px; border-top: 1px solid var(--gelo); padding-top: 12px; }
