* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: #F2F5F7;
  color: #0F1B2D;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 15px;
  line-height: 1.4;
}
button, input, select { font-family: inherit; }
h1, h2, p { margin: 0; }

.tela { max-width: 560px; margin: 0 auto; padding: 28px 20px 110px; }
.tela.centro { padding-top: 56px; }
.marca { font-size: 13px; font-weight: 700; color: #0F2747; letter-spacing: .04em; text-transform: uppercase; }
h1 { font-size: 26px; line-height: 1.2; font-weight: 700; margin-top: 6px; }
h2 { font-size: 15px; font-weight: 700; }
.sub { margin-top: 6px; font-size: 14px; color: #5B6678; }
.secao { margin-top: 22px; }
.secao-topo { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 10px; }
.contagem { font-size: 13px; color: #5B6678; }
.nota-rodape { margin-top: 8px; font-size: 12px; color: #5B6678; }

.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip {
  height: 40px; padding: 0 14px; border-radius: 20px;
  border: 1px solid #C5CFD8; background: #FFFFFF; color: #0F1B2D;
  font-size: 14px; font-weight: 600; cursor: pointer;
}
.chip.on { background: #0F2747; border-color: #0F2747; color: #FFFFFF; }
.chip.peq { height: 34px; padding: 0 12px; font-size: 13px; }
details.ufs { margin-top: 10px; }
details.ufs summary { cursor: pointer; font-size: 14px; font-weight: 600; color: #0F2747; min-height: 44px; display: flex; align-items: center; }
details.ufs .chips { margin-top: 4px; }

.campos { display: flex; gap: 12px; }
label.campo { display: flex; flex-direction: column; gap: 6px; flex: 1; min-width: 0; font-size: 13px; font-weight: 600; color: #5B6678; }
input[type=text], input[type=email], input[type=password], input[type=number], input[type=date], input[type=time], select {
  width: 100%; min-width: 0; height: 44px; padding: 0 12px;
  border: 1px solid #C5CFD8; border-radius: 12px; background: #FFFFFF;
  font-size: 16px; color: #0F1B2D;
}

.botao {
  display: flex; align-items: center; justify-content: center;
  width: 100%; min-height: 52px; border-radius: 14px; border: 0;
  background: #0F2747; color: #FFFFFF; font-size: 16px; font-weight: 700; cursor: pointer;
  text-decoration: none;
}
.botao[disabled] { opacity: .6; cursor: default; }
.botao.sec { background: transparent; border: 1.5px solid #0F2747; color: #0F2747; min-height: 48px; font-size: 15px; text-decoration: none; }
.botao.link { background: transparent; color: #0F2747; min-height: 44px; font-size: 14px; }
.barra-acao { position: sticky; bottom: 76px; padding: 12px 0 4px; background: linear-gradient(to top, #F2F5F7 70%, rgba(242,245,247,0)); margin-top: 18px; }

.erro { margin-top: 14px; padding: 12px 14px; border-radius: 12px; background: #FDE8E6; color: #B42318; font-size: 14px; font-weight: 600; }
.aviso { margin-top: 14px; padding: 12px 14px; border-radius: 12px; background: #E3EBF6; color: #0A1B33; font-size: 14px; }
.vazio { margin-top: 28px; padding: 22px 18px; border-radius: 16px; background: #FFFFFF; border: 1px solid #DCE3E8; text-align: center; color: #5B6678; }

.lista { display: flex; flex-direction: column; gap: 12px; margin-top: 16px; }
.card {
  display: flex; gap: 12px; width: 100%; padding: 14px; text-align: left; cursor: pointer;
  background: #FFFFFF; border: 1px solid #DCE3E8; border-radius: 16px; color: inherit;
}
.nota {
  flex: none; width: 44px; height: 44px; border-radius: 22px;
  display: flex; align-items: center; justify-content: center;
  background: #E8ECF0; color: #3B4657; font-size: 18px; font-weight: 700;
}
.nota.alta { background: #E3EBF6; color: #0A1B33; }
.card-item { display: flex; flex-direction: column; gap: 6px; }
.baixar {
  align-self: flex-end; min-height: 40px; padding: 0 16px; border-radius: 12px;
  border: 1.5px solid #0F2747; background: #FFFFFF; color: #0F2747;
  font-size: 14px; font-weight: 700; cursor: pointer;
}
.card-corpo { flex: 1; min-width: 0; }
.card-topo { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.card-orgao { font-size: 15px; font-weight: 700; }
.card-meta { margin-top: 2px; font-size: 13px; color: #5B6678; }
.card-objeto {
  margin-top: 6px; font-size: 14px; line-height: 1.35;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.card-base { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-top: 10px; }
.valor { font-size: 14px; font-weight: 700; }
.selo { flex: none; font-size: 12px; font-weight: 700; padding: 3px 10px; border-radius: 10px; background: #E8ECF0; color: #3B4657; }
.selo.prazo { background: #FDF0DC; color: #8A4204; }
.selo.novo { background: #DDF3E4; color: #0A6B3A; }
.selo.ok { background: #DDF3E4; color: #0A6B3A; }

.voltar { display: inline-flex; align-items: center; gap: 4px; min-height: 44px; padding: 0 8px 0 0; background: none; border: 0; color: #0F2747; font-size: 15px; font-weight: 700; cursor: pointer; }
.titulo-detalhe { font-size: 21px; line-height: 1.25; font-weight: 700; margin-top: 4px; }
.grade { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
.info { background: #FFFFFF; border: 1px solid #DCE3E8; border-radius: 14px; padding: 12px; }
.info small { display: block; font-size: 12px; font-weight: 600; color: #5B6678; }
.info strong { display: block; margin-top: 4px; font-size: 16px; }
.info strong.prazo { color: #8A4204; }
.texto-objeto { margin-top: 8px; padding: 12px 14px; background: #FFFFFF; border: 1px solid #DCE3E8; border-radius: 14px; font-size: 14px; line-height: 1.5; white-space: pre-line; }
.acoes { display: flex; flex-direction: column; gap: 10px; margin-top: 18px; }
.linha-status { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 14px; font-weight: 600; }
.linha-status select { max-width: 220px; }

nav.abas {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 10;
  background: #FFFFFF; border-top: 1px solid #DCE3E8;
  padding: 8px 8px calc(12px + env(safe-area-inset-bottom));
}
nav.abas .dentro { max-width: 560px; margin: 0 auto; display: flex; }
nav.abas button {
  flex: 1; display: flex; flex-direction: column; align-items: center; gap: 4px;
  min-height: 44px; padding: 6px 0; background: none; border: 0; cursor: pointer;
  color: #5B6678; font-size: 12px; font-weight: 500;
}
nav.abas button.ativa { color: #0F2747; font-weight: 700; }
nav.abas svg { width: 24px; height: 24px; }

@media (min-width: 700px) {
  .tela { padding-top: 44px; }
  .tela.centro { margin-top: 24px; background: #FFFFFF; border: 1px solid #DCE3E8; border-radius: 20px; padding: 40px 36px; }
}

.secoes { margin-top: 18px; display: flex; flex-direction: column; gap: 10px; }
details.sec { background: #FFFFFF; border: 1px solid #DCE3E8; border-radius: 14px; }
details.sec summary {
  list-style: none; cursor: pointer; min-height: 52px; padding: 8px 14px;
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
}
details.sec summary::-webkit-details-marker { display: none; }
details.sec summary::after { content: ''; flex: none; width: 8px; height: 8px; margin-left: 4px; border-right: 2px solid #5B6678; border-bottom: 2px solid #5B6678; transform: rotate(45deg); }
details.sec[open] summary::after { transform: rotate(-135deg); }
.sec-t { font-size: 15px; font-weight: 700; flex: none; }
.sec-r { flex: 1; min-width: 0; text-align: right; font-size: 13px; color: #5B6678; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sec-c { padding: 2px 14px 16px; }
.rotulo { margin: 14px 0 8px; font-size: 13px; font-weight: 600; color: #5B6678; }
.sec-c .rotulo:first-child { margin-top: 4px; }
.favs { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.favs li { display: flex; align-items: center; gap: 8px; padding: 6px 6px 6px 12px; border: 1px solid #DCE3E8; border-radius: 12px; }
.fav-nome { flex: 1; min-width: 0; font-weight: 600; }
.fav-x { flex: none; width: 44px; height: 44px; border: 0; background: none; color: #5B6678; font-size: 16px; cursor: pointer; }

.cert { padding: 10px 12px; border: 1px solid #DCE3E8; border-radius: 12px; list-style: none; }
.cert-topo { display: flex; align-items: center; gap: 8px; }
.cert-data { margin-top: 8px; }
.aviso-link { display: block; width: 100%; text-align: left; border: 0; font-family: inherit; cursor: pointer; background: #FDF0DC; color: #8A4204; font-weight: 600; }
.sec-c .acoes:first-child { margin-top: 0; }

ul.check { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.check-item { display: flex; align-items: flex-start; gap: 12px; width: 100%; min-height: 48px; padding: 10px 8px; text-align: left; background: none; border: 0; border-radius: 10px; font-size: 14px; color: inherit; cursor: pointer; }
.caixa { flex: none; width: 24px; height: 24px; margin-top: 1px; border: 2px solid #98A5B3; border-radius: 7px; display: flex; align-items: center; justify-content: center; font-size: 15px; font-weight: 700; color: #FFFFFF; }
.check-item.on .caixa { background: #0F2747; border-color: #0F2747; }
.check-item.on .check-txt { color: #5B6678; text-decoration: line-through; text-decoration-color: #98A5B3; }
.check-txt { display: flex; flex-direction: column; gap: 3px; font-weight: 600; }
.check-sit { font-size: 12px; font-weight: 600; }
.check-sit.ok { color: #0A6B3A; }
.check-sit.sem { color: #5B6678; }
.check-sit.vencida, .check-sit.antes { color: #B42318; }
.check-extra { display: flex; align-items: center; }
.check-extra .check-item { flex: 1; }

.cert-link { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; font-weight: 700; color: #0F2747; text-decoration: none; }
.cert-data { margin-top: 2px; }

.prop-item { display: flex; align-items: center; gap: 8px; padding: 8px 6px 8px 12px; border: 1px solid #DCE3E8; border-radius: 12px; list-style: none; }
.prop-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.prop-txt small { color: #5B6678; font-size: 13px; }
.arq { flex-wrap: wrap; }
.arq-nome { display: block; font-size: 12px; font-weight: 500; color: #5B6678; word-break: break-all; }
.chip.peq[disabled] { opacity: .5; }
.doc-barra { display: flex; flex-direction: column; gap: 10px; }
.folha { margin-top: 16px; background: #FFFFFF; border: 1px solid #DCE3E8; border-radius: 12px; padding: 22px 18px; font-family: 'Times New Roman', Times, serif; font-size: 15px; line-height: 1.55; }
.pagina + .pagina { margin-top: 36px; padding-top: 28px; border-top: 2px dashed #C5CFD8; }
.folha h2 { font-size: 17px; text-align: center; text-transform: uppercase; margin-bottom: 18px; }
.folha p { margin: 0 0 12px; text-align: justify; }
.folha .fecho { margin-top: 24px; text-align: left; }
.assina { margin-top: 56px; text-align: center; font-size: 14px; }
.assina .linha { width: 70%; margin: 0 auto 6px; border-top: 1px solid #0F1B2D; }
.tabela { width: 100%; border-collapse: collapse; margin: 14px 0; font-size: 13px; }
.tabela th, .tabela td { border: 1px solid #98A5B3; padding: 5px 6px; text-align: left; vertical-align: top; }
.tabela.cond th { width: 35%; background: #F2F5F7; }
.tabela thead th { background: #F2F5F7; }
.tabela th, .tabela td { overflow-wrap: anywhere; }
@media screen { .folha { overflow-x: auto; } .tabela { font-size: 12px; } .tabela th, .tabela td { padding: 4px 4px; } }
@media print {
  nav.abas, .doc-barra { display: none !important; }
  body { background: #FFFFFF; }
  .tela { max-width: none; padding: 0; }
  .folha { border: 0; border-radius: 0; padding: 0; margin: 0; font-size: 12pt; }
  .pagina { break-inside: avoid-page; }
  .pagina + .pagina { break-before: page; margin-top: 0; padding-top: 0; border-top: 0; }
  .folha { overflow: visible; }
  .tabela { font-size: 10pt; }
  .tabela tr { break-inside: avoid; }
}
@page { size: A4; margin: 18mm 15mm; }

.prop-linha { flex-direction: column; align-items: stretch; gap: 6px; }
.prop-topo { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.prop-topo strong { font-size: 14px; line-height: 1.35; }
.prop-baixo { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.prop-baixo small { color: #5B6678; font-size: 13px; }
.prop-preco { display: flex; align-items: center; gap: 4px; font-size: 14px; font-weight: 600; }
.prop-preco input { width: 118px; height: 40px; padding: 0 8px; }
.prop-ref { color: #5B6678; font-size: 12px; }
ul.itens-pncp { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.itens-pncp li { display: flex; gap: 10px; padding: 8px 10px; border: 1px solid #DCE3E8; border-radius: 12px; }
.item-n { flex: none; width: 26px; height: 26px; border-radius: 13px; background: #E8ECF0; color: #3B4657; font-size: 12px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.item-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.item-desc { font-size: 14px; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.item-txt small { color: #5B6678; font-size: 13px; }

.ref-caixa { margin-top: 8px; padding: 10px; background: #F4F7F9; border-radius: 10px; }
.ref-lista { list-style: none; margin: 8px 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.ref-lista li { padding: 6px 0; border-top: 1px solid #DCE3E8; }
.ref-docs { list-style: none; margin: 6px 0 4px; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.ref-docs a { color: #0B5FA5; word-break: break-word; }
.forn-caixa { background: #FFF8E6; }
.socio-caixa { margin-top: 12px; }

.card-acoes { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.excluir { border-color: #B42318; color: #B42318; }
.pend { background: #B42318 !important; color: #fff !important; border-color: #B42318 !important; }
.excluir-area { margin-top: 18px; }
.fav-x.pend { width: auto; padding: 0 12px; border-radius: 10px; font-size: 14px; font-weight: 700; }

/* Menu agrupado na barra de baixo */
nav.abas { overflow: visible; }
nav.abas .dentro { position: relative; }
nav.abas .seta { font-style: normal; font-size: 10px; }
nav.abas button > span { display: block; }
.menu-fundo { position: fixed; inset: 0; z-index: 9; background: rgba(15, 23, 42, .28); border: 0; padding: 0; }
.menu-folha { display: none; position: absolute; left: 0; right: 0; bottom: calc(100% + 18px); background: #FFFFFF; border: 1px solid #DCE3E8; border-radius: 18px; box-shadow: 0 12px 32px rgba(15, 23, 42, .22); padding: 8px; flex-direction: column; gap: 4px; }
.menu-folha.aberta { display: flex; }
nav.abas .menu-item { flex-direction: row; justify-content: flex-start; gap: 14px; min-height: 60px; padding: 8px 12px; border-radius: 12px; text-align: left; color: #1B2433; font-size: 15px; }
nav.abas .menu-item.ativa { background: #EAF0F8; color: #0F2747; }
nav.abas .menu-item span { display: flex; flex-direction: column; gap: 2px; }
nav.abas .menu-item small { font-size: 12px; color: #5B6678; font-weight: 400; }

/* Agenda */
.ag-topo { display: flex; align-items: center; gap: 10px; margin: 14px 0 8px; }
.ag-topo strong { flex: 1; text-align: center; font-size: 16px; }
.ag-sem { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; margin-bottom: 4px; }
.ag-cab span { text-align: center; font-size: 12px; font-weight: 700; color: #5B6678; }
.ag-dia { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 3px; min-height: 48px; padding: 6px 0 4px; background: #FFFFFF; border: 1px solid #E3E8EC; border-radius: 10px; font-size: 14px; cursor: pointer; color: #1B2433; }
.ag-dia.fora { color: #A3ACB9; background: #F7F9FA; }
.ag-dia.hoje { border-color: #0F2747; font-weight: 700; }
.ag-dia.sel { background: #0F2747; color: #FFFFFF; border-color: #0F2747; }
.ag-pontos { display: flex; gap: 3px; min-height: 7px; }
.ag-pontos i, .ag-legenda i { display: inline-block; width: 7px; height: 7px; border-radius: 50%; }
.p-edital { background: #D9480F; }
.p-certidao { background: #B7791F; }
.p-evento { background: #0B5FA5; }
.ag-dia.sel .ag-pontos i { box-shadow: 0 0 0 1.5px #FFFFFF; }
.ag-legenda { font-size: 12px; color: #5B6678; margin: 8px 0 0; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.ag-lista { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.ag-linha { display: flex; align-items: center; gap: 6px; border: 1px solid #DCE3E8; border-radius: 12px; padding-right: 4px; }
.ag-item { flex: 1; display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; background: none; border: 0; text-align: left; font: inherit; color: inherit; cursor: pointer; min-width: 0; }
div.ag-item { cursor: default; }
.ag-marca { flex: none; width: 8px; height: 8px; border-radius: 50%; margin-top: 6px; }
.ag-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ag-txt strong { font-size: 14px; }
.ag-txt small { font-size: 12px; color: #5B6678; }

/* ===== Tema 2026-11: moderno, azul-marinho (so visual) ===== */
body { background: #F1F4F9; }
body:has(.tela > .marca)::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 140px; background: linear-gradient(135deg, #16355F, #0F2747); border-radius: 0 0 28px 28px; z-index: 0; }
.tela { position: relative; z-index: 1; }
.tela > .marca { color: #9FB6D9; }
.tela > .marca + h1 { color: #FFFFFF; }
.tela > .marca ~ .sub { color: #C9D6EA; }
.card, .card-item, details.ufs, details.sec, .nota, .info { border-radius: 18px; box-shadow: 0 4px 14px rgba(15, 39, 71, .08); border-color: transparent; }
.botao { border-radius: 14px; background: #0F2747; box-shadow: 0 4px 12px rgba(15, 39, 71, .25); }
.botao.sec { background: #FFFFFF; color: #0F2747; box-shadow: none; }
.botao.link { background: transparent; box-shadow: none; }
input[type=text], input[type=email], input[type=password], input[type=number], input[type=date], input[type=time], select { border-radius: 12px; }
.chip { border-radius: 20px; }
.chip.on { background: #0F2747; border-color: #0F2747; color: #FFFFFF; }
.selo { border-radius: 20px; }
nav.abas button.ativa { color: #0F2747; }

/* Menu novo (tres tracinhos) no lugar do menu de baixo */
body{padding-top:56px}
.topo{position:fixed;top:0;left:0;right:0;height:56px;background:#0F2747;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 16px;z-index:60}
.topo .lg{color:#fff;font-weight:800;font-size:14px;text-decoration:none;letter-spacing:.3px}
.topo .hb{background:none;border:0;padding:10px 4px;cursor:pointer;box-shadow:none;min-height:0}
.topo .hb i{display:block;width:24px;height:3px;background:#fff;border-radius:2px;margin:4px 0}
.topo .painel{display:none;position:fixed;left:12px;right:12px;top:64px;background:#fff;border-radius:18px;box-shadow:0 14px 34px rgba(0,0,0,.28);padding:10px;max-height:78vh;overflow:auto;z-index:70}
.topo .painel.aberta{display:block}
.topo .painel .gr{font-size:11px;font-weight:800;color:#5B6678;text-transform:uppercase;padding:10px 10px 2px}
.topo .painel button,.topo .painel .pg{display:block;width:100%;text-align:left;background:none;border:0;box-shadow:none;padding:12px 10px;border-radius:10px;font:inherit;font-size:15px;color:#0F1B2D;text-decoration:none;min-height:0}
.topo .painel button:active,.topo .painel .pg:active,.topo .painel button.ativa{background:#E3EBF6}
.topo .painel .pg{border-top:1px solid #E8ECF0;margin-top:8px;font-weight:700;color:#0F2747}
.topo-fundo{position:fixed;inset:0;z-index:55;background:rgba(15,39,71,.35);border:0;padding:0}
@media(min-width:760px){.topo .painel{left:auto;right:16px;width:340px}}

/* Cabecalho do app alinhado com a barra nova */
body:has(.tela > .marca)::before{top:56px;height:132px}
.tela > .marca{display:none}
.tela > h1{margin-top:6px}

/* Janelinha das atividades do CNPJ (bolinha para escolher) */
.ativ-janela{max-height:176px;overflow:auto;border:1px solid #D5DCE3;border-radius:14px;background:#fff;padding:2px 12px;margin-bottom:12px;-webkit-overflow-scrolling:touch}
.ativ-op{display:flex;gap:12px;align-items:flex-start;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid #EEF1F5;border-radius:0;box-shadow:none;padding:10px 0;font:inherit;font-size:14px;font-weight:600;color:#0F1B2D;min-height:0;cursor:pointer}
.ativ-op:last-child{border-bottom:0}
.ativ-op small{display:block;font-weight:400;font-size:12px;color:#5B6678;margin-top:2px}
.ativ-op .bol{flex:none;width:20px;height:20px;border-radius:50%;border:2px solid #9AA7BA;margin-top:1px;background:#fff}
.ativ-op.on .bol{border-color:#0F2747;background:radial-gradient(circle,#0F2747 0 45%,#fff 50%)}
.ativ-n{font-weight:400;color:#5B6678}


/* Certidões em caixinhas: campos um embaixo do outro, sem sair de lado no celular */
.cert{list-style:none}
.cert .sec-c{min-width:0}
.cert-corpo{display:flex;flex-direction:column;gap:12px;min-width:0}
.cert-corpo .cert-link{text-align:center;text-decoration:none;display:block}
.cert-data{display:grid;grid-template-columns:1fr;gap:10px;min-width:0}
.cert-data .campo,.cert-corpo .campo{min-width:0;width:100%}
.cert-data input[type=date]{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.cert .sec-t{overflow-wrap:anywhere}


/* Ícone do Radar na frente do nome, em todas as telas do app */
.topo .lg{display:inline-flex;align-items:center;gap:9px}
.topo .lg::before{content:"";width:30px;height:30px;flex:none;border-radius:8px;background:url(/icons/icon-192.png) center/cover no-repeat;box-shadow:0 0 0 1.5px rgba(255,255,255,.28)}

/* Botões das certidões: texto centralizado */
.cert-corpo .cert-link, .sec-c label.botao { display: flex !important; align-items: center; justify-content: center; text-align: center; }
/* Tela de documentos e certidões: faixa azul mais alta no celular para caber título e subtítulo */
@media (max-width: 600px) { body:has(.tela.docs)::before { height: 135px !important; } .tela.docs h1, .tela.docs .sub { text-align: center; padding: 0 20px; } .tela.docs .secoes { margin: 32px 16px 0; } }
.tela.docs h1, .tela.docs .sub { text-align: center; }
/* Arquivos guardados: miniatura, nome que quebra a linha e botões embaixo (só nas linhas de arquivo) */
li.arq-arq { display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px 10px; min-width: 0; }
li.arq-arq .fav-nome { flex: 1 1 calc(100% - 64px) !important; min-width: 0; max-width: 100%; }
li.arq-arq .arq-nome { display: block; max-width: 100%; overflow-wrap: anywhere; word-break: break-word; white-space: normal; }
.arq-mini { flex: none; width: 48px; height: 48px; border-radius: 10px; background: #E8EEF7; border: 1px solid #DCE3E8; display: flex; align-items: center; justify-content: center; font-size: 24px; overflow: hidden; cursor: pointer; }
.arq-mini img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Certidões: verde dentro da validade, vermelho vencida */
.cert-ok .sec-r { color: #0A6B3A; font-weight: 700; }
.cert-vence .sec-r { color: #8A4204; font-weight: 700; }
.cert-vencida .sec-r { color: #B3261E; font-weight: 700; }
.cert-ok input[data-cert] { color: #0A6B3A; font-weight: 700; border-color: #0A6B3A; }
.cert-vence input[data-cert] { color: #8A4204; font-weight: 700; border-color: #8A4204; }
.cert-vencida input[data-cert] { color: #B3261E; font-weight: 700; border-color: #B3261E; }
/* Tela de documentos: faixa azul mais curta */
body:has(.tela.docs > .marca)::before { height: 100px; }
.tela.docs > .sub { display: none; }
/* Conteúdo começa abaixo da faixa azul em todas as telas */
.tela:not(.buscar) > .marca ~ .sub { margin-bottom: 36px; }
/* Faixa azul com altura calculada pelo app (ajustarFaixa) */
body:has(.tela > .marca)::before { height: calc(var(--faixa, 190px) - 56px) !important; }
.tela.docs .secoes { margin-top: 48px; }
/* Título e subtítulo centralizados em todas as telas com faixa azul */
.tela > .marca ~ h1, .tela > .marca ~ .sub { text-align: center; padding-left: 16px; padding-right: 16px; }
.tela > .marca { text-align: center; }
/* Botão Voltar (volta para a tela anterior) */
#btn-voltar { position: fixed; top: 10px; right: 64px; z-index: 80; height: 36px; padding: 0 14px; border-radius: 18px; border: 1px solid rgba(255,255,255,.55); background: rgba(255,255,255,.14); color: #fff; font-size: 14px; font-weight: 700; cursor: pointer; box-shadow: none; min-height: 0; }
#btn-voltar[hidden] { display: none; }

/* "Baixar edital" como link (arquivo direto do site do órgão): mesma cara do botão */
a.baixar { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }

/* Computador: letras 25% maiores, coluna mais larga (celular não muda) */
@media screen and (min-width:700px){
body{font-size:19px}
.marca{font-size:16px}
h1{font-size:33px}
h2{font-size:19px}
.sub{font-size:18px}
.contagem{font-size:16px}
.nota-rodape{font-size:15px}
.chip{font-size:18px}
.chip.peq{font-size:16px}
details.ufs summary{font-size:18px}
label.campo{font-size:16px}
input[type="text"], input[type="email"], input[type="password"], input[type="number"], input[type="date"], input[type="time"], select{font-size:20px}
.botao{font-size:20px}
.botao.sec{font-size:19px}
.botao.link{font-size:18px}
.erro{font-size:18px}
.aviso{font-size:18px}
.nota{font-size:23px}
.baixar{font-size:18px}
.card-orgao{font-size:19px}
.card-meta{font-size:16px}
.card-objeto{font-size:18px}
.valor{font-size:18px}
.selo{font-size:15px}
.voltar{font-size:19px}
.titulo-detalhe{font-size:26px}
.info small{font-size:15px}
.info strong{font-size:20px}
.texto-objeto{font-size:18px}
.linha-status{font-size:18px}
nav.abas button{font-size:15px}
.sec-t{font-size:19px}
.sec-r{font-size:16px}
.rotulo{font-size:16px}
.fav-x{font-size:20px}
.check-item{font-size:18px}
.caixa{font-size:19px}
.check-sit{font-size:15px}
.cert-link{font-size:18px}
.prop-txt small{font-size:16px}
.arq-nome{font-size:15px}
.folha{font-size:19px}
.folha h2{font-size:21px}
.assina{font-size:18px}
.tabela{font-size:16px}
.prop-topo strong{font-size:18px}
.prop-baixo small{font-size:16px}
.prop-preco{font-size:18px}
.prop-ref{font-size:15px}
.item-n{font-size:15px}
.item-desc{font-size:18px}
.item-txt small{font-size:16px}
.fav-x.pend{font-size:18px}
nav.abas .seta{font-size:13px}
nav.abas .menu-item{font-size:19px}
nav.abas .menu-item small{font-size:15px}
.ag-topo strong{font-size:20px}
.ag-cab span{font-size:15px}
.ag-dia{font-size:18px}
.ag-legenda{font-size:15px}
.ag-txt strong{font-size:18px}
.ag-txt small{font-size:15px}
.topo .lg{font-size:18px}
.topo .painel .gr{font-size:14px}
.topo .painel button, .topo .painel .pg{font-size:19px}
.ativ-op{font-size:18px}
.ativ-op small{font-size:15px}
.arq-mini{font-size:30px}
#btn-voltar{font-size:18px}
[style*="font-size:11px"]{font-size:14px!important}
[style*="font-size: 11px"]{font-size:14px!important}
[style*="font-size:12px"]{font-size:15px!important}
[style*="font-size: 12px"]{font-size:15px!important}
[style*="font-size:13px"]{font-size:16px!important}
[style*="font-size: 13px"]{font-size:16px!important}
[style*="font-size:14px"]{font-size:18px!important}
[style*="font-size: 14px"]{font-size:18px!important}
[style*="font-size:15px"]{font-size:19px!important}
[style*="font-size: 15px"]{font-size:19px!important}
[style*="font-size:16px"]{font-size:20px!important}
[style*="font-size: 16px"]{font-size:20px!important}
[style*="font-size:17px"]{font-size:21px!important}
[style*="font-size: 17px"]{font-size:21px!important}
[style*="font-size:20px"]{font-size:25px!important}
[style*="font-size: 20px"]{font-size:25px!important}
[style*="font-size:21px"]{font-size:26px!important}
[style*="font-size: 21px"]{font-size:26px!important}
.tela{max-width:780px}
nav.abas .dentro{max-width:780px}
}
