/* RedData Protect: só o que é próprio desta aplicação.
   A casca, as cores e a tipografia vêm dos arquivos copiados do RedData Self-service, sem edição. */
html{color-scheme:light}

/* selo de dados fictícios: visível em todas as telas */
.selo-ficticio{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid #e2c36b;background:#fff7dc;color:#5f4700;font-size:12px;font-weight:600;white-space:nowrap}
.selo-ficticio::before{content:"";width:7px;height:7px;border-radius:50%;background:#b98600}

/* rodapé fixo */
.rodape-fixo{position:fixed;left:0;right:0;bottom:0;z-index:15;padding:7px 16px;background:var(--surface-raised,#fff);border-top:1px solid var(--border,#e4e4e7);color:var(--ink-2,#52514e);font-size:12px;text-align:center}
.main{padding-bottom:64px}
.auth{padding-bottom:34px}
#toast{bottom:52px}

/* topo */
.topbar .logo-product{color:var(--red-text);border-color:color-mix(in srgb,var(--brand) 35%,transparent)}
.user-account{position:relative}
.user-account>summary{list-style:none;display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 6px;border-radius:10px}
.user-account>summary::-webkit-details-marker{display:none}
.user-account>summary:hover{background:var(--page)}
.user-account>div{position:absolute;right:0;top:calc(100% + 6px);min-width:220px;padding:12px;display:grid;gap:8px;background:var(--surface-raised,#fff);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 32px rgba(16,16,20,.14);z-index:40}
.user-account small{color:var(--ink-muted)}
.account-name{font-weight:600;font-size:13px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* foco visível em tudo que recebe teclado */
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--blue,#2a78d6);outline-offset:2px}

/* entrada */
.auth-inner .auth-aviso{font-size:12px;margin:18px 0 0}
.auth-inner .selo-ficticio{margin-top:10px}

/* restaurantes */
.destaques{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-bottom:24px}
.destaque{display:grid;gap:10px;padding:20px;border:1px solid var(--border);border-radius:14px;background:var(--surface-raised,#fff);color:var(--ink);text-decoration:none}
.destaque h2{margin:0;font-size:18px}
.destaque p{margin:0;color:var(--ink-2);font-size:13.5px;line-height:1.45}
.destaque dl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:4px 0 0;font-size:13px}
.destaque dt{color:var(--ink-muted)}
.destaque dd{margin:0;font-weight:500}
.etiqueta{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;background:var(--page);border:1px solid var(--border);font-size:12px;font-weight:600;color:var(--ink-2);white-space:nowrap}
.etiqueta.id{font-variant-numeric:tabular-nums;letter-spacing:.02em}
.secao-titulo{font-size:16px;margin:0 0 10px}
.filtros{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.filtros button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}

/* busca do topo */
#menu-results{display:grid;gap:2px;margin-top:10px;max-height:50vh;overflow:auto}
.modal-corpo{padding:20px}
.modal-corpo h2{margin:0 0 12px;font-size:18px}

@media(max-width:767px){
  .topbar .selo-ficticio{font-size:11px;padding:3px 8px}
  .account-name{display:none}
  .rodape-fixo{font-size:11px;padding:6px 10px}
  .main{padding-bottom:84px}
}

/* ícone da tela vazia e menu da conta no celular */
.empty-symbol svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:767px){.topbar .user .user-account>div{position:fixed;left:12px;right:12px;top:108px;min-width:0;overflow-wrap:anywhere}}

/* ---------- etapa 4: loja, evento, análise, envio, seguradora ---------- */
.valores{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-bottom:20px}
.valores.tres{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.valor{display:grid;gap:6px;align-content:start;padding:18px 20px;border:1px solid var(--border);border-radius:14px;background:var(--surface-raised,#fff)}
.valor h3{margin:0;font-size:13px;font-weight:600;color:var(--ink-2);font-family:var(--font)}
.valor strong{font-size:30px;line-height:1.15;font-weight:600;color:var(--ink);font-family:var(--font-display);letter-spacing:-.02em;overflow-wrap:anywhere}
.valor small{font-size:12.5px;line-height:1.45;color:var(--ink-2)}
.valor.destaque-valor{border-color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.06),0 4px 12px rgba(0,0,0,.06)}
.duas-colunas{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:20px;align-items:start}
.duas-colunas>.panel{margin-bottom:20px;min-width:0}
.panel{border-radius:14px}
.grafico{width:100%;height:320px}
.como-tabela{margin-top:10px}
.como-tabela>summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--ink-2);padding:6px 0}
.como-tabela[open]>summary{margin-bottom:8px}
.ficha{display:grid;grid-template-columns:minmax(120px,auto) 1fr;gap:8px 16px;margin:0 0 14px;font-size:13.5px}
.ficha dt{color:var(--ink-muted)}
.ficha dd{margin:0;overflow-wrap:anywhere}
.ficha code,td code{font-size:12px;overflow-wrap:anywhere}
.memoria{margin:0;padding:0;list-style:none;counter-reset:passo;display:grid;gap:8px}
.memoria li{counter-increment:passo;display:grid;grid-template-columns:28px 1fr;gap:2px 10px;padding:10px 12px;border-radius:10px;background:var(--page);font-size:13.5px;line-height:1.45}
.memoria li::before{content:counter(passo);grid-row:1/3;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--surface-raised,#fff);border:1px solid var(--border);font-size:12px;font-weight:600;color:var(--ink-2)}
.memoria li span{grid-column:2;color:var(--ink-2)}
.situacao{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12.5px;font-weight:600;white-space:nowrap;border:1px solid transparent}
.situacao>span{font-weight:700}
.situacao.ok{background:#e6f4e6;color:#005200;border-color:#b5dab5}
.situacao.atencao{background:#fff4d6;color:#5c4400;border-color:#e9cf82}
.situacao.critico{background:#fde8e8;color:#8f1d1d;border-color:#efb4b4}
.situacao.neutro{background:#eeeeec;color:#3d3c39;border-color:#d2d1ca}
.situacao.info{background:#e4effb;color:#0d366b;border-color:#b3d0f3}
.resultado{padding:16px 18px;border-radius:14px;border:1px solid var(--border);background:var(--surface-raised,#fff);margin-bottom:20px;border-left-width:4px}
.resultado.ok{border-left-color:#0ca30c}.resultado.atencao{border-left-color:#d99a00}.resultado.neutro{border-left-color:#72706b}
.resultado p{margin:8px 0 0;font-size:14px;line-height:1.5}
.versoes{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px;font-size:12.5px}
.versoes a[aria-current=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.linha-form{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap}
.linha-form .field{margin-bottom:0;min-width:170px}
.linha-form select{max-width:100%}
.marcar{display:inline-flex;align-items:center;gap:8px;font-size:13px}
.recebimento>summary{display:flex;gap:6px 18px;flex-wrap:wrap;align-items:center;cursor:pointer;font-size:14px}
.recebimento[open]>summary{margin-bottom:16px}
a.etiqueta{text-decoration:none;color:var(--ink)}
a.etiqueta:hover{border-color:var(--ink)}
.destaque .actions{margin-top:6px}
@media(max-width:767px){.valor strong{font-size:26px}.grafico{height:260px}.ficha{grid-template-columns:1fr;gap:2px 0}.ficha dd{margin-bottom:8px}.linha-form .field{flex:1 1 100%}}

/* link com cara de botão, igual ao botão da casca */
a.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 14px;border-radius:10px;border:1px solid var(--line,#e4e4e7);background:var(--surface-raised,#fff);color:var(--ink);font-size:13.5px;font-weight:600;text-decoration:none;white-space:nowrap}
a.button:hover{background:var(--page);text-decoration:none}
a.button.primary{background:var(--red-text);border-color:var(--red-text);color:#fff}
a.button.primary:hover{background:var(--red-dark)}
button.primary,.linha-form button{min-height:36px;padding:0 14px;border-radius:10px;font-weight:600}
.marcar input{width:auto;height:auto;min-height:0;margin:0;flex:none}

/* ---------- etapa 5: rede ---------- */
.mapa{width:100%;height:auto;max-height:440px;border:1px solid var(--border);border-radius:14px;background:var(--surface-raised,#fff)}
.mapa .bairro{fill:var(--page);stroke:var(--grid,#e1e0d9);stroke-width:1.5;stroke-dasharray:4 4}
.mapa .rotulo{font:600 13px var(--font);fill:var(--ink-2)}
.mapa .ponto,.legenda-mapa .ponto{fill:var(--surface-raised,#fff);stroke:var(--baseline,#c3c2b7);stroke-width:1.5}
.mapa .ponto.na-area{stroke:var(--ink-2);stroke-width:1.8}
.mapa .ponto.afetada{fill:var(--series-1,#2a78d6);fill-opacity:.78;stroke:var(--surface-raised,#fff);stroke-width:1.5}
.legenda-mapa{display:flex;gap:6px 18px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-2);margin:8px 0 0}
.legenda-mapa span{display:inline-flex;align-items:center;gap:6px}
.legenda-mapa i{display:inline-block;width:11px;height:11px;border-radius:50%;border:1.5px solid var(--baseline,#c3c2b7);background:var(--surface-raised,#fff)}
.legenda-mapa i.na-area{border-color:var(--ink-2)}
.legenda-mapa i.afetada{background:var(--series-1,#2a78d6);border-color:var(--series-1,#2a78d6)}
tfoot th{text-align:left;border-top:2px solid var(--border);padding:10px 12px}
tfoot th.num{text-align:right}
table.compacta th,table.compacta td{padding:9px 10px}
table.compacta{min-width:0}
.mapa .rotulo{paint-order:stroke;stroke:var(--surface-raised,#fff);stroke-width:4px;stroke-linejoin:round}

/* ---------- contexto real: dado público, separado do fictício ---------- */
.selo-real{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid #9cc3f0;background:#e4effb;color:#0d366b;font-size:12px;font-weight:600;white-space:nowrap}
.selo-real::before{content:"";width:7px;height:7px;border-radius:50%;background:#1c5cb0}
.resultado.real{border-left-color:#1c5cb0}
.grafico.menor{height:220px;margin-top:14px}
.mapa .distrito{fill:var(--page);stroke:var(--baseline,#c3c2b7);stroke-width:1.2}
.mapa .oc,.legenda-mapa .oc{stroke:var(--surface-raised,#fff);stroke-width:1}
.mapa .oc.arvore{fill:var(--series-3,#1baf7a);fill-opacity:.85}
.mapa .oc.alagamento{fill:var(--series-1,#2a78d6)}
.mapa .oc.inundacao{fill:var(--series-2,#eb6834)}
.legenda-mapa i.oc.arvore{background:var(--series-3,#1baf7a);border-color:var(--series-3,#1baf7a)}
.legenda-mapa i.oc.alagamento{background:var(--series-1,#2a78d6);border-color:var(--series-1,#2a78d6)}
.legenda-mapa i.oc.inundacao{background:var(--series-2,#eb6834);border-color:var(--series-2,#eb6834)}
td small{color:var(--ink-muted);overflow-wrap:anywhere}
.main>.secao-titulo{margin-top:26px}

/* ---------- etapa 6: jornada, fontes e aceite ---------- */
.abas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:20px}
.abas a{display:grid;gap:2px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-raised,#fff);color:var(--ink);text-decoration:none}
.abas a span{font-size:12.5px;color:var(--ink-2)}
.abas a:hover{border-color:var(--ink-2);text-decoration:none}
.abas a[aria-current=page]{border-color:var(--ink);box-shadow:inset 0 -3px 0 var(--brand)}
.andamento{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:0}
.andamento li{position:relative;display:grid;gap:4px;padding:0 0 18px 30px;font-size:14px}
.andamento li::before{content:"";position:absolute;left:4px;top:3px;width:12px;height:12px;border-radius:50%;border:2px solid var(--baseline,#c3c2b7);background:var(--surface-raised,#fff)}
.andamento li::after{content:"";position:absolute;left:10px;top:19px;bottom:0;width:2px;background:var(--grid,#e1e0d9)}
.andamento li:last-child::after{display:none}
.andamento li.feito::before{background:#0ca30c;border-color:#0ca30c}
.andamento li span{color:var(--ink-2)}
.protecao .etiqueta{margin-bottom:8px}
@media(max-width:600px){.abas{grid-template-columns:1fr}}

/* Mapas das telas (mapa.js): fundo com o contorno real dos distritos, marcas por cima. */
.mapa .distrito-nome{font-weight:500;font-size:12px;fill:var(--ink-muted,#77766f)}
.mapa .ponto-nome{font-size:12px}
.mapa .pt,.legenda-mapa i.pt{fill:var(--surface-raised,#fff);stroke:var(--baseline,#c3c2b7);stroke-width:1.5}
.mapa .pt.s1{fill:var(--series-1,#2a78d6);stroke:var(--surface-raised,#fff)}
.mapa .pt.s2{fill:var(--series-2,#eb6834);stroke:var(--surface-raised,#fff)}
.mapa .pt.s3{fill:var(--series-3,#1baf7a);stroke:var(--surface-raised,#fff)}
.mapa .pt.contorno{stroke:var(--ink-2);stroke-width:1.8}
.mapa .pt.foco{fill:var(--ink);stroke:var(--surface-raised,#fff);stroke-width:2.5}
.mapa .pt.suave{fill-opacity:.78}
.mapa a .pt{cursor:pointer}
.mapa a:hover .pt{stroke:var(--ink);stroke-width:2}
.mapa .area{fill:var(--series-1,#2a78d6);fill-opacity:.07;stroke:var(--series-1,#2a78d6);stroke-width:1.4;stroke-dasharray:6 4}
.mapa .raio{fill:none;stroke:var(--ink-2);stroke-width:1.3;stroke-dasharray:3 5}
.mapa .bairro.alcancado{fill:var(--series-1,#2a78d6);fill-opacity:.07;stroke:var(--series-1,#2a78d6)}
.legenda-mapa i.pt.s1{background:var(--series-1,#2a78d6);border-color:var(--series-1,#2a78d6)}
.legenda-mapa i.pt.s2{background:var(--series-2,#eb6834);border-color:var(--series-2,#eb6834)}
.legenda-mapa i.pt.s3{background:var(--series-3,#1baf7a);border-color:var(--series-3,#1baf7a)}
.legenda-mapa i.pt.contorno{border-color:var(--ink-2)}
.legenda-mapa i.pt.foco{background:var(--ink);border-color:var(--ink)}
.legenda-mapa i.pt.raio{background:transparent;border:1.5px dashed var(--ink-2)}
.legenda-mapa i.pt.area{background:transparent;border:1.5px dashed var(--series-1,#2a78d6)}
.legenda-mapa i.losango{border-radius:0;transform:rotate(45deg) scale(.82)}
.credito-mapa{font-size:11.5px;color:var(--ink-muted,#77766f);margin:4px 0 0}
