/* ==========================================================================
   Paginas publicas de conformidade (sub-fase 15.7).

   Servido pela borda nginx a partir de nginx/public/, sem SPA, sem build.
   Restricoes que este arquivo respeita de proposito (CSP da borda:
   "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline';
    img-src 'self' data:; font-src 'self'"):
     - ZERO fonte externa (Google Fonts morre em font-src 'self'): system stack.
     - ZERO @import e ZERO url() para outro host.
     - ZERO JavaScript nas paginas (script-src 'self' sem 'unsafe-inline').
   Sem acentos neste arquivo: o location do .css nao declara charset.
   ========================================================================== */

:root {
  --fundo: #ffffff;
  --fundo-suave: #f7f8fa;
  --texto: #1a1d21;
  --texto-suave: #55606d;
  --borda: #dfe3e8;
  --marca: #1f6feb;
  --marca-escura: #0b4fc4;
  --destaque-fundo: #fff8e1;
  --destaque-borda: #e6b800;
  --largura: 46rem;
}

@media (prefers-color-scheme: dark) {
  :root {
    --fundo: #14171a;
    --fundo-suave: #1b1f24;
    --texto: #e6e9ee;
    --texto-suave: #a3adba;
    --borda: #2c333b;
    --marca: #6ea8ff;
    --marca-escura: #9dc4ff;
    --destaque-fundo: #2a2415;
    --destaque-borda: #8a6d00;
  }
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  padding: 0;
  background: var(--fundo);
  color: var(--texto);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  font-size: 16px;
  line-height: 1.65;
}

.envelope {
  max-width: var(--largura);
  margin: 0 auto;
  padding: 2.5rem 1.25rem 4rem;
}

header.topo {
  border-bottom: 1px solid var(--borda);
  padding-bottom: 1.25rem;
  margin-bottom: 2rem;
}

header.topo .selo {
  display: inline-block;
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--texto-suave);
  margin-bottom: 0.35rem;
}

h1 {
  font-size: 1.85rem;
  line-height: 1.25;
  margin: 0 0 0.5rem;
  font-weight: 650;
}

h2 {
  font-size: 1.2rem;
  margin: 2.25rem 0 0.65rem;
  font-weight: 650;
  line-height: 1.35;
}

h3 {
  font-size: 1rem;
  margin: 1.5rem 0 0.4rem;
  font-weight: 650;
  color: var(--texto-suave);
}

p, li { margin: 0.6rem 0; }

ul, ol { padding-left: 1.35rem; }

a {
  color: var(--marca);
  text-decoration: underline;
  text-underline-offset: 2px;
}

a:hover { color: var(--marca-escura); }

.data {
  color: var(--texto-suave);
  font-size: 0.9rem;
  margin: 0;
}

.sumario {
  background: var(--fundo-suave);
  border: 1px solid var(--borda);
  border-radius: 8px;
  padding: 1rem 1.25rem;
  margin: 1.5rem 0 0;
}

.sumario p {
  margin: 0 0 0.4rem;
  font-weight: 650;
  font-size: 0.9rem;
}

.sumario ol { margin: 0; }

.sumario li { margin: 0.15rem 0; }

.tabela-envelope {
  overflow-x: auto;
  margin: 1rem 0;
  border: 1px solid var(--borda);
  border-radius: 8px;
}

table {
  border-collapse: collapse;
  width: 100%;
  font-size: 0.9rem;
  min-width: 34rem;
}

th, td {
  text-align: left;
  vertical-align: top;
  padding: 0.6rem 0.8rem;
  border-bottom: 1px solid var(--borda);
}

th {
  background: var(--fundo-suave);
  font-weight: 650;
}

tbody tr:last-child td { border-bottom: none; }

.pendente {
  background: var(--destaque-fundo);
  border-left: 3px solid var(--destaque-borda);
  border-radius: 4px;
  padding: 0.1rem 0.35rem;
  font-family: ui-monospace, SFMono-Regular, "Cascadia Mono", Consolas, monospace;
  font-size: 0.85em;
  white-space: nowrap;
}

.aviso {
  background: var(--destaque-fundo);
  border: 1px solid var(--destaque-borda);
  border-radius: 8px;
  padding: 0.9rem 1.1rem;
  margin: 1.5rem 0;
  font-size: 0.92rem;
}

.aviso p:first-child { margin-top: 0; }
.aviso p:last-child { margin-bottom: 0; }

footer.rodape {
  border-top: 1px solid var(--borda);
  margin-top: 3rem;
  padding-top: 1.25rem;
  font-size: 0.88rem;
  color: var(--texto-suave);
}

footer.rodape a { margin-right: 1rem; }

@media (max-width: 32rem) {
  .envelope { padding: 1.75rem 1rem 3rem; }
  h1 { font-size: 1.5rem; }
}
