/* ---------- Botão "Ver metas" ao lado do subtítulo (leva a /metasviagem/index) ---------- */
/* O bloco do título encolhe (o botão desce pra baixo do subtítulo) antes de a barra de controles
   pular de linha. */
.godi-res .godi-home-cabecalho > div:first-child{ flex: 1 1 360px; min-width: 0; }
.godi-res-resumo-linha{ display:flex; flex-wrap:wrap; align-items:center; gap: 8px 16px; }
.godi-res-resumo-linha .godi-home-resumo{ margin-top: 8px; }
.godi-res-metas{ margin-top: 8px; text-decoration:none !important; color: var(--h-tinta) !important; }
.godi-res-metas i{ color: var(--h-base); }
.dark-mode .godi-res-metas i{ color: var(--h-tinta); }

/* ---------- Filtro Hoje | Amanhã (mesmo contorno dos outros seletores do cabeçalho) ---------- */
.godi-res-dia{ gap: 4px; }
.godi-res-dia-rotulo{ font-size:.75rem; font-weight:600; color: var(--h-suave); text-transform:uppercase; letter-spacing:.06em; margin-right: 6px; }
.godi-res-dia a{ display:inline-flex; align-items:center; min-height:32px; padding: 0 14px; border-radius:999px; font-weight:600; color: var(--h-tinta); text-decoration:none; border:1px solid transparent; transition: background-color .2s, color .2s, border-color .2s; }
.godi-res-dia a:hover{ border-color: var(--h-linha); color: var(--h-tinta); text-decoration:none; }
.godi-res-dia a.ativo{ background: var(--h-base); color:#fff; }
.godi-res-dia a:focus-visible{ outline: 2px solid var(--h-base); outline-offset: 2px; }
.godi-res-amanha{ display:inline-flex; align-items:center; gap:8px; margin: 0 0 14px; padding: 6px 14px; border-radius: 999px; font-size:.8rem; font-weight:700; background: var(--h-base-suave); color: var(--h-tinta); }

/* ---------- Cards por equipe: a faixa do topo leva a cor da equipe (identidade) ---------- */
.godi-res-equipes{ display:grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 16px; margin-bottom: 28px; }
.godi-res-equipe{ position:relative; overflow:hidden; background: var(--h-cartao); border:1px solid var(--h-linha); border-radius: var(--h-raio);
    padding: 26px 22px 20px; min-width:0; --eq-cor-texto: var(--eq-texto); }
.dark-mode .godi-res-equipe{ --eq-cor-texto: var(--eq-texto-escuro); }
.godi-res-equipe::before{ content:''; position:absolute; inset: 0 0 auto 0; height: 6px; background: var(--eq); }
.godi-res-equipe::after{ content:''; position:absolute; top:-40px; right:-40px; width:140px; height:140px; border-radius:50%; background: var(--eq-suave); filter: blur(40px); pointer-events:none; }
.godi-res-equipe.total{ background: linear-gradient(180deg, var(--eq-suave), var(--h-cartao) 40%); border-color: var(--h-linha-forte); }
.godi-res-equipe-nome{ position:relative; text-align:center; font-family: var(--h-sans); font-size: .875rem; font-weight: 700; text-transform: uppercase; letter-spacing: .18em;
    color: var(--eq-cor-texto) !important; padding-bottom: 12px; margin: 0 0 16px; border-bottom: 1px solid var(--h-linha); }
.godi-res-metricas{ position:relative; display:flex; flex-direction:column; gap: 14px; margin:0; }
.godi-res-metrica dd{ margin:0; }
.godi-res-rotulo{ font-size: .6875rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--h-suave); display:flex; align-items:center; gap:6px; }
.godi-res-rotulo i{ width: 12px; text-align:center; }
.godi-res-rotulo i.eq{ color: var(--eq-cor-texto); }
.godi-res-rotulo i.critico, .godi-res-valor .critico{ color: var(--h-critico); }
.godi-res-rotulo i.ok, .godi-res-valor .ok{ color: var(--h-ok); }
.godi-res-valor{ font-size: 1.25rem; font-weight: 600; color: var(--h-tinta); line-height: 1.25; margin-top: 2px; font-variant-numeric: tabular-nums; white-space: nowrap; overflow:hidden; text-overflow: ellipsis; }
.godi-res-valor.eq{ color: var(--eq-cor-texto); }
.godi-res-valor .sem{ font-size: 1rem; font-weight: 500; color: var(--h-suave); }
.godi-res-meta{ display:flex; align-items:center; gap:8px; margin-top: 6px; }
.godi-res-meta-barra{ flex:1; height: 4px; border-radius: 4px; background: var(--h-linha); overflow:hidden; }
.godi-res-meta-barra span{ display:block; height:100%; background: var(--eq); border-radius: 4px; transform-origin:left; animation: godi-home-cresce .8s var(--h-ease) both; }
.godi-res-meta-perc{ font-size: .75rem; font-weight: 600; color: var(--h-suave); font-variant-numeric: tabular-nums; min-width: 3ch; text-align:right; }

/* ---------- Linha dos 3 cartões ---------- */
.godi-res-linha{ display:grid; grid-template-columns: minmax(0, .8fr) minmax(0, .8fr) minmax(0, 1.4fr); gap: 24px; }
@media (max-width: 1199.98px){ .godi-res-linha{ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .godi-res-linha > :last-child{ grid-column: 1 / -1; } }
@media (max-width: 767.98px){ .godi-res-linha{ grid-template-columns: minmax(0, 1fr); } }
.godi-res-card{ display:flex; flex-direction:column; min-width:0; }
.godi-res-card-cabecalho{ display:flex; align-items:center; gap: 14px; margin-bottom: 20px; }
.godi-res-card-cabecalho h2{ font-family: var(--h-serif); font-size: 1.3rem; font-weight: 600; margin:0; line-height: 1.2; letter-spacing: -.01em; }
.godi-res-card-icone{ width: 44px; height: 44px; display:flex; align-items:center; justify-content:center; flex-shrink:0; border-radius: 12px; background: var(--h-base-suave); color: var(--h-base); font-size: 1.1rem; }
.dark-mode .godi-res-card-icone{ color: var(--h-tinta); }
.godi-res-card-corpo{ flex:1; display:flex; flex-direction:column; }
.godi-res-grafico{ position:relative; width:100%; }

.godi-res-adiant-corpo{ justify-content:flex-start; gap: 14px; }
.godi-res-adiant{ display:flex; align-items:center; justify-content:space-between; gap: 12px; padding: 18px; border-radius: 12px; background: var(--h-base-suave); border: 1px solid color-mix(in srgb, var(--h-base) 22%, transparent); }
.godi-res-adiant-valor{ font-size: 1.9rem; font-weight: 600; color: var(--h-tinta); line-height: 1.1; margin-top: 4px; font-variant-numeric: tabular-nums; overflow-wrap:anywhere; }
.godi-res-adiant-icone{ width: 44px; height: 44px; display:flex; align-items:center; justify-content:center; border-radius: 12px; background: var(--h-cartao); color: var(--h-base); font-size: 1.1rem; flex-shrink:0; }
.dark-mode .godi-res-adiant-icone{ color: var(--h-tinta); }
.godi-res-adiant.zerado{ background: var(--h-fundo-sutil); border-color: var(--h-linha); }
.godi-res-adiant.zerado .godi-res-adiant-valor{ color: var(--h-suave); }
.godi-res-nota{ margin:0; font-size: .8125rem; color: var(--h-suave); }

.godi-res-rosca-centro{ position:absolute; left:0; right:0; top:0; bottom: 58px; display:flex; flex-direction:column; align-items:center; justify-content:center; pointer-events:none; text-align:center; }
.godi-res-rosca-num{ font-family: var(--h-serif); font-size: 1.5rem; font-weight: 600; color: var(--h-tinta); font-variant-numeric: tabular-nums; }
.godi-res-rosca-txt{ font-size: .6875rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--h-suave); }

.godi-res-legenda{ display:flex; flex-wrap:wrap; justify-content:center; gap: 6px 18px; margin-top: 12px; font-size: .8125rem; color: var(--h-suave); }
.godi-res-legenda span{ display:inline-flex; align-items:center; gap: 6px; }
.godi-res-chip{ display:inline-block; width: 12px; height: 12px; border-radius: 3px; }
.godi-res-chip.meta{ background: var(--h-linha-forte); }

/* ---------- Card clicável (link "esticado" no nome cobre o card) + modal dos carregamentos ---------- */
/* O nome deixa de ser "relative" pra que o ::after do link se posicione no card inteiro; o brilho
   (::after do card) vai pra trás do conteúdo com isolation + z-index -1, pra não cobrir o nome. */
.godi-res-equipe{ isolation: isolate; transition: border-color .2s, box-shadow .2s, transform .2s var(--h-ease); }
.godi-res-equipe::after{ z-index: -1; }
.godi-res-equipe .godi-res-equipe-nome{ position: static; }
.godi-res-equipe:hover{ border-color: var(--eq); box-shadow: 0 6px 20px rgba(16, 24, 40, .08); transform: translateY(-2px); }
.godi-res-equipe:focus-within{ outline: 2px solid var(--eq); outline-offset: 2px; }
.godi-res-equipe-abrir{ color: inherit !important; text-decoration: none !important; }
.godi-res-equipe-abrir::after{ content:''; position:absolute; inset: 0; z-index: 1; cursor: pointer; }
.godi-res-equipe-abrir:focus{ outline: none; }
@media (prefers-reduced-motion: reduce){ .godi-res-equipe, .godi-res-equipe:hover{ transition:none; transform:none; } }

.godi-res-modal{ width: min(1100px, calc(100vw - 32px)); max-height: calc(100vh - 48px); padding: 0; border: 1px solid var(--h-linha); border-radius: var(--h-raio);
    background: var(--h-cartao); color: var(--h-texto); box-shadow: 0 24px 60px rgba(16, 24, 40, .25); }
.godi-res-modal::backdrop{ background: rgba(16, 24, 40, .45); }
.godi-res-modal-corpo{ padding: 24px 28px; }
.godi-res-modal-corpo[aria-busy="true"]{ min-height: 220px; display:flex; align-items:center; justify-content:center; color: var(--h-suave); }
.godi-res-modal-cabeca{ display:flex; align-items:flex-start; justify-content:space-between; gap: 16px; margin-bottom: 18px; }
.godi-res-modal-cabeca h2{ font-family: var(--h-serif); font-size: 1.5rem; font-weight: 600; color: var(--h-tinta); margin: 2px 0 0; line-height: 1.2; }
.godi-res-modal-sobre{ margin:0; font-size: .75rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--h-suave); }
.godi-res-modal-fechar{ flex-shrink:0; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--h-linha); background: transparent; color: var(--h-tinta); }
.godi-res-modal-fechar:hover{ background: var(--h-fundo-sutil); }
.godi-res-modal-fechar:focus-visible, .godi-res-modal-filtro button:focus-visible{ outline: 2px solid var(--h-base); outline-offset: 2px; }
.godi-res-modal-resumo{ display:grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0 0 18px; }
@media (max-width: 767.98px){ .godi-res-modal-resumo{ grid-template-columns: repeat(2, minmax(0, 1fr)); } .godi-res-modal-corpo{ padding: 18px 16px; } }
.godi-res-modal-resumo > div{ padding: 12px 14px; border-radius: 12px; background: var(--h-fundo-sutil); min-width: 0; }
.godi-res-modal-resumo dt{ font-size: .6875rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--h-suave); }
.godi-res-modal-resumo dd{ margin: 2px 0 0; font-size: 1.2rem; font-weight: 600; color: var(--h-tinta); font-variant-numeric: tabular-nums; overflow:hidden; text-overflow: ellipsis; white-space: nowrap; }
.godi-res-modal .critico{ color: var(--h-critico) !important; }
.godi-res-modal-filtro{ display:flex; flex-wrap:wrap; gap: 8px; margin-bottom: 12px; }
.godi-res-modal-filtro button{ min-height: 34px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--h-linha); background: transparent; color: var(--h-tinta); font-weight: 600; font-size: .875rem; }
.godi-res-modal-filtro button span{ margin-left: 4px; font-variant-numeric: tabular-nums; color: var(--h-suave); }
.godi-res-modal-filtro button[aria-pressed="true"]{ background: var(--h-base); border-color: var(--h-base); color: #fff; }
.godi-res-modal-filtro button[aria-pressed="true"] span{ color: rgba(255,255,255,.8); }
.godi-res-modal-tabela{ overflow:auto; max-height: calc(100vh - 380px); min-height: 160px; border: 1px solid var(--h-linha); border-radius: 12px; }
.godi-res-modal-tabela table{ width:100%; border-collapse: collapse; font-size: .875rem; }
.godi-res-modal-tabela thead th{ position: sticky; top: 0; z-index: 2; background: var(--h-cartao); font-size: .6875rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--h-suave);
    padding: 10px 12px; border-bottom: 1px solid var(--h-linha-forte); white-space: nowrap; text-align: left; }
.godi-res-modal-tabela td{ padding: 8px 12px; border-bottom: 1px solid var(--h-linha); white-space: nowrap; color: var(--h-texto); }
.godi-res-modal-tabela td.texto{ max-width: 240px; overflow:hidden; text-overflow: ellipsis; }
.godi-res-modal-tabela .num{ text-align: right; font-variant-numeric: tabular-nums; }
.godi-res-modal-tabela td a{ font-weight: 600; color: var(--h-base); }
.dark-mode .godi-res-modal-tabela td a{ color: var(--h-tinta); text-decoration: underline; }
.godi-res-modal-tabela .sem{ color: var(--h-suave); }
.godi-res-modal-grupo th, .godi-res-modal-grupo td{ background: var(--h-fundo-sutil); padding: 8px 12px; font-weight: 700; color: var(--h-tinta) !important; text-align: left; border-bottom: 1px solid var(--h-linha); }
.godi-res-modal-grupo td.num{ text-align: right; }
.godi-res-modal-grupo .equipe{ display:inline-block; margin-right: 8px; padding: 1px 8px; border-radius: 999px; font-size: .6875rem; letter-spacing: .06em; text-transform: uppercase; background: var(--h-base-suave); }
.godi-res-modal-grupo .info{ margin-left: 8px; font-weight: 500; color: var(--h-suave); }
.godi-res-modal-vazio-filtro{ margin: 0; padding: 24px; text-align: center; color: var(--h-suave); }
.godi-res-modal-rodape{ display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap: 12px; margin-top: 16px; font-size: .8125rem; color: var(--h-suave); }
.godi-res-modal-aviso{ margin: 0; padding: 32px 0; text-align:center; color: var(--h-suave); }

#godiResConteudo{ transition: opacity .25s; }
#godiResConteudo[aria-busy="true"]{ opacity: .5; pointer-events:none; }
#godiResConteudo.recarregado *{ animation: none !important; }
