/* ---------- Tokens ----------------------------------------------------------------------------
   A cor de destaque é a cor escolhida pelo usuário na engrenagem (--godi-base). O resto é neutro,
   e as cores de situação (atrasado / no prazo / aguardando) passam 4.5:1 sobre o fundo delas. */
.godi-home, .godi-home-seletor{
    --h-tinta: #172130;
    --h-texto: #344054;
    --h-suave: #5d6878;
    --h-linha: #e2e6eb;
    --h-linha-forte: #cfd5dd;
    --h-cartao: #ffffff;
    --h-fundo-sutil: #f6f7f9;
    --h-base: var(--godi-base, #004080);
    --h-base-suave: color-mix(in srgb, var(--h-base) 9%, transparent);
    --h-critico: #b42318;  --h-critico-fundo: #fef3f2;  --h-critico-barra: #d92d20;
    --h-ok: #067647;       --h-ok-fundo: #ecfdf3;       --h-ok-barra: #17b26a;
    --h-alerta: #93370d;   --h-alerta-fundo: #fffaeb;   --h-alerta-barra: #f79009;
    --h-serif: 'Newsreader', Georgia, 'Times New Roman', serif;
    --h-sans: 'Figtree', 'Source Sans Pro', system-ui, sans-serif;
    --h-raio: 14px;
    --h-ease: cubic-bezier(.2, .7, .2, 1);
}
.dark-mode .godi-home, .dark-mode .godi-home-seletor{
    --h-tinta: #f1f3f6;
    --h-texto: #d5dae1;
    --h-suave: #a9b2bd;
    --h-linha: #4b535c;
    --h-linha-forte: #5d6670;
    --h-cartao: #343a40;
    --h-fundo-sutil: #3c434a;
    --h-base-suave: color-mix(in srgb, var(--h-base) 28%, transparent);
    --h-critico: #fda29b;  --h-critico-fundo: rgba(217, 45, 32, .18);
    --h-ok: #75e0a7;       --h-ok-fundo: rgba(23, 178, 106, .16);
    --h-alerta: #fec84b;   --h-alerta-fundo: rgba(247, 144, 9, .16);
}

/* ---------- Base ---------- */
.godi-home{ font-family: var(--h-sans); color: var(--h-texto); padding: 28px 8px 48px; font-size: .9375rem; }
.godi-home h1, .godi-home h2, .godi-home h3{ color: var(--h-tinta); }
.godi-home .godi-num{ font-variant-numeric: tabular-nums; }
.godi-home :focus-visible{ outline: 2px solid var(--h-base); outline-offset: 2px; border-radius: 6px; }
.godi-home .sr-only-focusable:not(:focus){ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }

/* ---------- Cabeçalho ---------- */
.godi-home-cabecalho{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:20px 32px; margin-bottom: 32px; }
.godi-home-sobre{ font-size:.75rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color: var(--h-suave); margin-bottom: 6px; }
.godi-home-sobre span + span::before{ content:'·'; margin: 0 .5em; }
.godi-home-ola{ font-family: var(--h-serif); font-weight:500; font-size: clamp(1.9rem, 1.4rem + 1.6vw, 2.6rem); line-height:1.1; letter-spacing:-.015em; margin:0; }
.godi-home-resumo{ font-family: var(--h-serif); font-style: italic; font-size: 1.25rem; line-height:1.35; margin: 8px 0 0; color: var(--h-suave); }
.godi-home-resumo.tom-critico{ color: var(--h-critico); }
.godi-home-resumo.tom-ok{ color: var(--h-ok); }
.godi-home-controles{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; }

.godi-home-atualizar{ display:inline-flex; align-items:center; gap:8px; min-height:40px; padding: 0 14px; border-radius: 999px;
    border:1px solid var(--h-linha-forte); background: var(--h-cartao); color: var(--h-tinta); font: 600 .875rem var(--h-sans);
    transition: border-color .2s, background-color .2s, transform .15s var(--h-ease); cursor:pointer; }
.godi-home-atualizar:hover{ border-color: var(--h-base); background: var(--h-base-suave); }
.godi-home-atualizar:active{ transform: scale(.97); }
.godi-home-atualizar[aria-busy="true"]{ cursor: progress; }
.godi-home-atualizar[aria-busy="true"] i{ animation: godi-home-gira .9s linear infinite; }
.godi-home-status{ font-size:.8125rem; color: var(--h-suave); display:inline-flex; align-items:center; gap:6px; }
.godi-home-status::before{ content:''; width:8px; height:8px; border-radius:50%; background: var(--h-linha-forte); transition: background-color .3s; }
.godi-home-status.ok::before{ background: var(--h-ok-barra); }
.godi-home-status.erro{ color: var(--h-critico); }
.godi-home-status.erro::before{ background: var(--h-critico-barra); }
@keyframes godi-home-gira{ to{ transform: rotate(360deg); } }

/* ---------- Seletor do Administrator (também usado no Dashboard Resultados) ---------- */
.godi-home-seletor{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 10px; padding: 6px 6px 6px 14px; border-radius: 999px;
    background: var(--h-cartao); border:1px solid var(--h-linha-forte); font-family: var(--h-sans, inherit); }
.godi-home-seletor label{ margin:0; font-size:.75rem; font-weight:600; color: var(--h-suave); text-transform:uppercase; letter-spacing:.06em; }
.godi-home-seletor select{ min-height:32px; border:1px solid var(--h-linha); border-radius:999px; padding: 2px 28px 2px 12px; font-weight:600;
    background-color: var(--h-fundo-sutil); color: var(--h-tinta); cursor:pointer; transition: border-color .2s; }
.godi-home-seletor select:hover, .godi-home-seletor select:focus{ border-color: var(--h-base); outline:none; box-shadow: 0 0 0 3px var(--h-base-suave); }
.godi-home-seletor .godi-home-link{ padding: 0 10px 0 4px; }
.godi-home-seletor.carregando{ opacity:.6; pointer-events:none; }

/* ---------- Faixa de indicadores: uma superfície com divisões finas, não quatro cartões soltos ---------- */
.godi-home-kpis{ display:grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap:1px; background: var(--h-linha);
    border:1px solid var(--h-linha); border-radius: var(--h-raio); overflow:hidden; margin-bottom: 36px; }
.godi-home-kpi{ background: var(--h-cartao); padding: 20px 24px 22px; min-width:0; }
.godi-home-kpi-rotulo{ font-size:.75rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color: var(--h-suave); }
.godi-home-kpi-valor{ font-size: 1.75rem; font-weight:600; line-height:1.15; margin-top:8px; color: var(--h-tinta); font-variant-numeric: tabular-nums; letter-spacing:-.01em; overflow-wrap:anywhere; }
.godi-home-kpi-valor small{ font-size: 1rem; font-weight:500; color: var(--h-suave); }
.godi-home-kpi-extra{ font-size:.8125rem; color: var(--h-suave); margin-top:6px; line-height:1.4; }
.godi-home-kpi-extra strong{ color: var(--h-tinta); font-weight:600; }
.godi-home-kpi.tom-ok .godi-home-kpi-extra strong, .godi-home-kpi.tom-ok .godi-home-kpi-valor.tom{ color: var(--h-ok); }
.godi-home-kpi.tom-alerta .godi-home-kpi-extra strong{ color: var(--h-alerta); }
.godi-home-kpi.tom-critico .godi-home-kpi-extra strong, .godi-home-kpi .texto-critico{ color: var(--h-critico); }
.godi-home-progresso{ height:4px; border-radius:4px; background: var(--h-linha); margin-top:12px; overflow:hidden; }
.godi-home-progresso > div{ height:100%; border-radius:4px; background: var(--h-base); transform-origin:left; animation: godi-home-cresce .8s var(--h-ease) both; }
.godi-home-kpi.tom-ok .godi-home-progresso > div{ background: var(--h-ok-barra); }
.godi-home-kpi.tom-alerta .godi-home-progresso > div{ background: var(--h-alerta-barra); }
.godi-home-kpi.tom-critico .godi-home-progresso > div{ background: var(--h-critico-barra); }
@keyframes godi-home-cresce{ from{ transform: scaleX(0); } }

/* ---------- Títulos de seção (resultados × tarefas) ---------- */
.godi-home .godi-home-secao{ display:flex; align-items:center; gap:14px; font-family: var(--h-sans); font-size:.75rem; font-weight:700; letter-spacing:.08em;
    text-transform:uppercase; color: var(--h-suave); margin: 4px 0 16px; }
.godi-home .godi-home-secao::after{ content:''; flex:1; height:1px; background: var(--h-linha); }

/* Cores de texto por situação (usadas nos destaques, ritmo e ranking) */
.godi-home .tom-ok{ color: var(--h-ok); }
.godi-home .tom-alerta{ color: var(--h-alerta); }
.godi-home .tom-critico{ color: var(--h-critico); }
.godi-home .tom-base{ color: var(--h-base); }
.dark-mode .godi-home .tom-base{ color: var(--h-tinta); }
.godi-home-progresso.tom-ok > div{ background: var(--h-ok-barra); }
.godi-home-progresso.tom-alerta > div{ background: var(--h-alerta-barra); }
.godi-home-progresso.tom-critico > div{ background: var(--h-critico-barra); }

/* ---------- Cards de destaque (resultados no topo do painel) ---------- */
.godi-home-destaques{ display:grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap:16px; margin-bottom: 28px; }

/* ---------- Faixa "guias de ICMS para lançar" (Home do Fiscal) — verde-guia, como em Enviar Arquivos ---------- */
.godi-home-guias{ --g-guia: #0f6b4f; display:flex; flex-wrap:wrap; align-items:center; gap:14px 18px; margin: -8px 0 28px; padding: 16px 20px;
    border:1px solid color-mix(in srgb, var(--g-guia) 35%, var(--h-linha)); border-left:4px solid var(--g-guia); border-radius: var(--h-raio);
    background: color-mix(in srgb, var(--g-guia) 7%, var(--h-cartao)); }
.dark-mode .godi-home-guias{ --g-guia: #6fd3ae; }
.godi-home-guias.atrasada{ border-left-color: var(--h-alerta-barra); }
.godi-home-guias-icone{ flex-shrink:0; width:44px; height:44px; border-radius:12px; display:grid; place-items:center; font-size:1.15rem;
    color: var(--g-guia); background: color-mix(in srgb, var(--g-guia) 14%, var(--h-cartao)); }
.godi-home-guias-texto{ flex:1; min-width: 220px; }
.godi-home-guias-texto h2{ font-family: var(--h-serif); font-size:1.3rem; font-weight:600; color: var(--h-tinta); margin:0; letter-spacing:-.01em; }
.godi-home-guias-texto p{ margin: 2px 0 0; font-size:.8125rem; color: var(--h-suave); }
.godi-home-guias-botao{ display:inline-flex; align-items:center; gap:8px; min-height:44px; padding: 0 18px; border-radius: 11px; font-weight:600; font-size:.9rem;
    background: var(--g-guia); color:#fff !important; text-decoration:none !important; transition: filter .15s; }
.godi-home-guias-botao:hover{ filter: brightness(1.08); }
.dark-mode .godi-home-guias-botao{ color:#0b2a20 !important; }
/* Guias lançadas pelo lançamento automático (App\GuiaLancamento) — âmbar: entraram sem conferência. */
.godi-home-guias--auto{ --g-guia: #b54708; align-items:flex-start; }
.dark-mode .godi-home-guias--auto{ --g-guia: #f4b860; }
.godi-home-guias-lista{ list-style:none; margin: 8px 0 0; padding:0; display:flex; flex-direction:column; gap:4px; font-size:.875rem; }
.godi-home-guias-lista a{ color: var(--h-tinta); font-weight:500; font-variant-numeric: tabular-nums; }
.godi-home-guias-lista a:hover{ color: var(--g-guia); }
.godi-home-guias-tag{ display:inline-block; margin-left:6px; padding: 1px 8px; border-radius:999px; font-size:.75rem; font-weight:600;
    color: var(--g-guia); background: color-mix(in srgb, var(--g-guia) 14%, var(--h-cartao)); }
.godi-home-destaque{ --d-cor: var(--h-base); position:relative; background: var(--h-cartao); border:1px solid var(--h-linha); border-radius: var(--h-raio);
    padding: 20px 22px 20px; min-width:0; overflow:hidden; transition: box-shadow .25s var(--h-ease), transform .25s var(--h-ease); }
.godi-home-destaque::before{ content:''; position:absolute; inset:0 auto 0 0; width:4px; background: var(--d-cor); }
.godi-home-destaque:hover{ transform: translateY(-2px); box-shadow: 0 10px 24px -16px rgba(16, 24, 40, .35); }
.godi-home-destaque.cor-ok{ --d-cor: var(--h-ok-barra); }
.godi-home-destaque.cor-alerta{ --d-cor: var(--h-alerta-barra); }
.godi-home-destaque.cor-critico{ --d-cor: var(--h-critico-barra); }
.godi-home-destaque.cor-info{ --d-cor: #2e6be6; }
.godi-home-destaque-topo{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.godi-home-destaque-rotulo{ font-size:.75rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color: var(--h-suave); padding-top:4px; }
.godi-home-destaque-icone{ flex-shrink:0; width:40px; height:40px; border-radius:11px; display:grid; place-items:center; font-size:1rem;
    color: var(--d-cor); background: color-mix(in srgb, var(--d-cor) 13%, transparent); }
.godi-home-destaque-valor{ font-size: clamp(1.6rem, 1.2rem + 1vw, 2.05rem); font-weight:700; line-height:1.1; margin-top:6px; color: var(--h-tinta);
    font-variant-numeric: tabular-nums; letter-spacing:-.02em; overflow-wrap:anywhere; }
.godi-home-destaque-apoio{ font-size:.8125rem; color: var(--h-suave); margin-top:6px; line-height:1.4; }
.godi-home-destaque-apoio strong{ font-weight:700; }
.godi-home-destaque .godi-home-progresso{ margin-top:14px; height:6px; }

/* ---------- Ritmo do mês ---------- */
.godi-home-ritmo{ display:flex; flex-direction:column; height: calc(100% - 28px); }
.godi-home-ritmo-dias{ text-align:center; padding: 6px 0 18px; border-bottom:1px solid var(--h-linha); margin-bottom:6px; }
.godi-home-ritmo-dias strong{ display:block; font-family: var(--h-serif); font-size:3.4rem; font-weight:600; line-height:1; color: var(--h-base); font-variant-numeric: tabular-nums; }
.dark-mode .godi-home-ritmo-dias strong{ color: var(--h-tinta); }
.godi-home-ritmo-dias strong i{ font-size:2.2rem; }
.godi-home-ritmo-dias span{ display:block; font-size:.8125rem; color: var(--h-suave); margin-top:6px; }
.godi-home-ritmo-nota{ display:block; font-size:.72rem; color: var(--h-suave); opacity:.85; margin-top:4px; line-height:1.4; }
.godi-home-ritmo-lista{ margin:0; }
.godi-home-ritmo-lista > div{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding: 11px 0; border-bottom:1px solid var(--h-linha); }
.godi-home-ritmo-lista > div:last-child{ border-bottom:0; padding-bottom:0; }
.godi-home-ritmo-lista dt{ font-weight:500; color: var(--h-suave); font-size:.875rem; }
.godi-home-ritmo-lista dd{ margin:0; font-weight:700; color: var(--h-tinta); font-variant-numeric: tabular-nums; text-align:right; }

/* ---------- Ranking de clientes ---------- */
.godi-home-rank{ list-style:none; margin:0; padding:0; }
.godi-home-rank li{ display:grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items:center; gap: 4px 14px; padding: 9px 0; border-bottom:1px solid var(--h-linha); }
.godi-home-rank li:first-child{ padding-top:0; }
.godi-home-rank li:last-child{ border-bottom:0; padding-bottom:0; }
.godi-home-rank-pos{ width:26px; height:26px; border-radius:50%; display:grid; place-items:center; font-size:.75rem; font-weight:700;
    background: var(--h-fundo-sutil); color: var(--h-suave); font-variant-numeric: tabular-nums; }
.godi-home-rank-pos.primeiro{ background: var(--h-base); color:#fff; }
.godi-home-rank-corpo{ display:flex; flex-direction:column; gap:6px; min-width:0; }
.godi-home-rank-nome{ font-weight:600; color: var(--h-tinta); font-size:.875rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.godi-home-rank-barra{ display:block; height:6px; border-radius:6px; background: var(--h-linha); overflow:hidden; }
.godi-home-rank-barra i{ display:block; height:100%; border-radius:6px; background: var(--h-base); transform-origin:left; animation: godi-home-cresce .8s var(--h-ease) both; }
.godi-home-rank li:not(:first-child) .godi-home-rank-barra i{ background: color-mix(in srgb, var(--h-base) 62%, transparent); }
.godi-home-rank-valor{ text-align:right; line-height:1.25; }
.godi-home-rank-valor strong{ display:block; font-weight:700; color: var(--h-tinta); font-variant-numeric: tabular-nums; font-size:.9rem; }
.godi-home-rank-valor small{ font-size:.75rem; color: var(--h-suave); font-variant-numeric: tabular-nums; white-space:nowrap; }
.godi-home-rank-valor small .tom-ok, .godi-home-rank-valor small .tom-alerta, .godi-home-rank-valor small .tom-critico{ font-weight:600; }

/* ---------- Cartões e títulos de seção ---------- */
.godi-home-card{ background: var(--h-cartao); border-radius: var(--h-raio); padding: 24px; border:1px solid var(--h-linha); margin-bottom: 28px; }
.godi-home-card-titulo{ display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:6px 12px; margin-bottom:18px; }
.godi-home-card-titulo h3, .godi-home-card-titulo h2{ font-family: var(--h-serif); font-size:1.3rem; font-weight:600; margin:0; letter-spacing:-.01em; }
.godi-home-card-titulo h3 i{ display:none; }
.godi-home-card-titulo .text-muted, .godi-home-card-titulo .small{ font-size:.8125rem; color: var(--h-suave) !important; }

/* ---------- Pendências ---------- */
.godi-home-pendencias{ position:relative; transition: opacity .25s; }
.godi-home-pendencias[aria-busy="true"] .godi-home-pend-grid,
.godi-home-pendencias[aria-busy="true"] .godi-home-agora{ opacity:.45; pointer-events:none; }
.godi-home-pend-grid{ display:grid; grid-template-columns: repeat(auto-fill, minmax(205px, 1fr)); gap:12px; }
.godi-home-pend{ position:relative; display:flex; flex-direction:column; text-align:left; width:100%; min-height: 148px; border:1px solid var(--h-linha);
    border-radius: 12px; padding: 16px 16px 14px; background: var(--h-cartao); color: inherit; cursor:pointer;
    transition: border-color .2s, box-shadow .25s var(--h-ease), transform .25s var(--h-ease); }
.godi-home-pend:hover{ border-color: var(--h-linha-forte); box-shadow: 0 8px 20px -12px rgba(16, 24, 40, .25); transform: translateY(-2px); }
.godi-home-pend[aria-expanded="true"]{ border-color: var(--h-base); box-shadow: 0 0 0 3px var(--h-base-suave); transform:none; }
.godi-home-pend.zerado{ cursor:default; background: var(--h-fundo-sutil); }
.godi-home-pend.zerado:hover{ box-shadow:none; transform:none; border-color: var(--h-linha); }
.godi-home-pend-topo{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.godi-home-pend-titulo{ font-weight:600; line-height:1.3; color: var(--h-tinta); font-size:.9375rem; }
.godi-home-pend-num{ flex-shrink:0; font-size:2rem; font-weight:600; line-height:1; color: var(--h-tinta); font-variant-numeric: tabular-nums; letter-spacing:-.02em; }
.godi-home-pend.zerado .godi-home-pend-num, .godi-home-pend.zerado .godi-home-pend-titulo{ color: var(--h-suave); }
.godi-home-pend-prazo{ font-size:.75rem; color: var(--h-suave); margin-top:6px; line-height:1.4; flex:1; }
/* A régua do prazo: vermelho = atrasados, verde = no prazo, âmbar = aguardando outra pessoa */
.godi-home-regua{ display:flex; gap:2px; height:6px; margin-top:14px; border-radius:6px; overflow:hidden; background: var(--h-linha); }
.godi-home-regua span{ display:block; height:100%; transform-origin:left; animation: godi-home-cresce .7s var(--h-ease) both; }
.godi-home-pendencias.recarregado .godi-home-regua span, .godi-home-pendencias.recarregado .godi-home-lista{ animation: none; }
.godi-home-regua .r-atrasado{ background: var(--h-critico-barra); }
.godi-home-regua .r-noprazo{ background: var(--h-ok-barra); }
.godi-home-regua .r-espera{ background: var(--h-alerta-barra); }
.godi-home-pend-situacao{ font-size:.75rem; font-weight:600; margin-top:8px; color: var(--h-suave); }
.godi-home-pend-situacao .s-atrasado{ color: var(--h-critico); }
.godi-home-pend-situacao .s-noprazo{ color: var(--h-ok); }
.godi-home-pend-situacao .s-espera{ color: var(--h-alerta); }

.godi-home-lista{ margin-top:20px; border-top:1px solid var(--h-linha); padding-top:18px; animation: godi-home-entra .3s var(--h-ease); }
.godi-home-lista[hidden]{ display:none; }
.godi-home-lista-topo{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:6px 12px; margin-bottom:10px; }
.godi-home-lista-topo h4{ font-family: var(--h-serif); font-size:1.15rem; font-weight:600; margin:0; color: var(--h-tinta); }
.godi-home-lista-topo span{ font-size:.8125rem; color: var(--h-suave); }
.godi-home-tabela{ width:100%; border-collapse:collapse; font-size:.875rem; }
.godi-home-tabela th{ font-size:.75rem; font-weight:600; text-transform:uppercase; letter-spacing:.05em; color: var(--h-suave); padding: 8px 10px; border-bottom:1px solid var(--h-linha); text-align:left; white-space:nowrap; }
.godi-home-tabela td{ padding: 10px; border-bottom:1px solid var(--h-linha); vertical-align:middle; color: var(--h-texto); }
.godi-home-tabela tbody tr{ transition: background-color .15s; }
.godi-home-tabela tbody tr:hover{ background: var(--h-fundo-sutil); }
.godi-home-tabela tr.atrasada td:first-child{ box-shadow: inset 3px 0 0 var(--h-critico-barra); }
.godi-home-tabela .num{ font-variant-numeric: tabular-nums; }
.godi-home-tabela th.num, .godi-home-tabela td.num{ text-align:right; }
.godi-home-tabela tr.selecionada td{ background: var(--h-base-suave); }
.godi-home-tabela tr.selecionada td:first-child{ box-shadow: inset 3px 0 0 var(--h-base); }
.godi-home-tabela a.godi-home-filtrar{ color: var(--h-tinta); font-weight:600; text-decoration:none; }
.godi-home-tabela a.godi-home-filtrar:hover, .godi-home-tabela a.godi-home-filtrar:focus-visible{ color: var(--h-base); text-decoration:underline; }
.godi-home-fatia{ display:flex; align-items:center; gap:8px; min-width:120px; }
.godi-home-fatia > span{ flex:1; height:6px; border-radius:3px; background: var(--h-linha); overflow:hidden; }
.godi-home-fatia > span > i{ display:block; height:100%; border-radius:3px; background: var(--h-base); }
.godi-home-fatia > b{ font-weight:600; font-size:.8125rem; min-width:38px; text-align:right; font-variant-numeric: tabular-nums; }

.godi-home-selo{ display:inline-block; font-size:.75rem; font-weight:600; padding: 3px 9px; border-radius:999px; white-space:nowrap; }
.godi-home-selo.atrasado{ background: var(--h-critico-fundo); color: var(--h-critico); }
.godi-home-selo.noprazo{ background: var(--h-ok-fundo); color: var(--h-ok); }
.godi-home-selo.espera{ background: var(--h-alerta-fundo); color: var(--h-alerta); }

/* Botões de ação: alvo de pelo menos 40px de altura */
.godi-home-acao{ display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:40px; padding: 0 14px; border-radius:10px; white-space:nowrap;
    font: 600 .8125rem var(--h-sans); border:1px solid var(--h-base); color: var(--h-base); background: transparent; text-decoration:none !important;
    transition: background-color .2s, color .2s, transform .15s var(--h-ease); }
.godi-home-acao:hover, .godi-home-acao:focus-visible{ background: var(--h-base); color:#fff; }
.godi-home-acao:active{ transform: scale(.97); }
.godi-home-acao i{ transition: transform .2s var(--h-ease); }
.godi-home-acao:hover i{ transform: translateX(3px); }
.godi-home-acao.cheia{ background: var(--h-base); color:#fff; }
.godi-home-acao.cheia:hover{ background: var(--godi-base-hover, var(--h-base)); }
.dark-mode .godi-home .godi-home-acao:not(.cheia){ color: var(--h-tinta); border-color: var(--h-linha-forte); }

/* ---------- O que fazer agora ---------- */
.godi-home-agora{ list-style:none; margin:0; padding:0; transition: opacity .25s; }
.godi-home-agora li{ display:grid; grid-template-columns: minmax(52px, max-content) minmax(0, 1fr) auto; gap: 4px 14px; align-items:center; padding: 14px 0; border-bottom:1px solid var(--h-linha); }
.godi-home-agora li:first-child{ padding-top:2px; }
.godi-home-agora li:last-child{ border-bottom:0; padding-bottom:0; }
.godi-home-agora-dias{ text-align:center; line-height:1; color: var(--h-critico); white-space:nowrap; }
.godi-home-agora-dias strong{ display:block; font-family: var(--h-serif); font-size:1.6rem; font-weight:600; font-variant-numeric: tabular-nums; }
.godi-home-agora-dias span{ font-size:.6875rem; font-weight:600; text-transform:uppercase; letter-spacing:.05em; }
.godi-home-agora-tipo{ font-weight:600; color: var(--h-tinta); line-height:1.3; }
.godi-home-agora-desc{ font-size:.8125rem; color: var(--h-suave); line-height:1.4; overflow-wrap:anywhere; }
.godi-home-agora-mais{ font-size:.8125rem; color: var(--h-suave); margin: 14px 0 0; }

.godi-home-vazio{ color: var(--h-suave); text-align:center; padding: 28px 12px; }
.godi-home-vazio i{ display:block; font-size: 1.75rem; color: var(--h-ok-barra); margin-bottom:10px; }
.godi-home-vazio strong{ display:block; font-family: var(--h-serif); font-size:1.2rem; font-weight:600; color: var(--h-tinta); margin-bottom:2px; }

/* ---------- Aviso de erro da atualização ---------- */
.godi-home-erro{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 16px; padding: 12px 16px; margin-bottom: 18px;
    border-radius: 12px; background: var(--h-critico-fundo); color: var(--h-critico); border:1px solid color-mix(in srgb, var(--h-critico) 25%, transparent);
    animation: godi-home-entra .3s var(--h-ease); }
.godi-home-erro[hidden]{ display:none; }
.godi-home-erro p{ margin:0; font-weight:500; }
.godi-home-erro .godi-home-acao{ border-color: currentColor; color: inherit; }
.godi-home-erro .godi-home-acao:hover{ background: var(--h-critico-barra); color:#fff; border-color: var(--h-critico-barra); }

/* ---------- Solicitações de compra ---------- */
.godi-home-solic{ display:grid; grid-template-columns: repeat(2, 1fr); gap:1px; background: var(--h-linha); border-radius: 10px; overflow:hidden; }
.godi-home-solic div{ padding: 12px 14px; background: var(--h-cartao); }
.godi-home-solic span{ display:block; font-size:.75rem; font-weight:600; text-transform:uppercase; letter-spacing:.05em; color: var(--h-suave); }
.godi-home-solic strong{ font-size:1.4rem; font-weight:600; color: var(--h-tinta); font-variant-numeric: tabular-nums; }
.godi-home-solic strong.s-ok{ color: var(--h-ok); }
.godi-home-solic strong.s-critico{ color: var(--h-critico); }
.godi-home-link{ font-size:.8125rem; font-weight:600; color: var(--h-base) !important; display:inline-flex; align-items:center; min-height:32px; }
.dark-mode .godi-home-link{ color: var(--h-tinta) !important; text-decoration: underline; }

/* ---------- Aviso (perfil sem vínculo) ---------- */
.godi-home-aviso{ display:flex; gap:14px; align-items:flex-start; padding: 20px 22px; border-radius: var(--h-raio); background: var(--h-alerta-fundo); color: var(--h-alerta); }
.godi-home-aviso i{ font-size:1.25rem; margin-top:2px; }
.godi-home-aviso strong{ display:block; font-family: var(--h-serif); font-size:1.2rem; font-weight:600; margin-bottom:2px; }

/* ---------- Atalhos da Home padrão ---------- */
.godi-home-atalhos{ display:grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap:12px; }
.godi-home-atalho{ display:block; padding: 20px 22px; border-radius: var(--h-raio); border:1px solid var(--h-linha); background: var(--h-cartao); color: inherit !important; text-decoration:none !important;
    transition: border-color .2s, box-shadow .25s var(--h-ease), transform .25s var(--h-ease); }
.godi-home-atalho:hover{ border-color: var(--h-base); transform: translateY(-2px); box-shadow: 0 8px 20px -12px rgba(16, 24, 40, .25); }
.godi-home-atalho strong{ display:block; font-size:2rem; font-weight:600; color: var(--h-tinta); font-variant-numeric: tabular-nums; }
.godi-home-atalho span{ color: var(--h-suave); }

@keyframes godi-home-entra{ from{ opacity:0; transform: translateY(-4px); } }

@media (max-width: 575.98px){
    .godi-home{ padding: 18px 0 32px; }
    .godi-home-card{ padding: 18px 16px; }
    .godi-home-kpi{ padding: 16px 18px; }
    .godi-home-kpi-valor{ font-size: 1.5rem; }
    .godi-home-pend-grid{ grid-template-columns: 1fr 1fr; }
    .godi-home-pend{ min-height: 0; }
    .godi-home-agora li{ grid-template-columns: minmax(44px, max-content) minmax(0, 1fr); }
    .godi-home-agora li .godi-home-acao{ grid-column: 2; justify-self:start; }
    .godi-home-tabela thead{ display:none; }
    .godi-home-tabela tr{ display:grid; grid-template-columns: 1fr auto; gap: 2px 10px; padding: 10px 0; border-bottom:1px solid var(--h-linha); }
    .godi-home-tabela td{ border:0; padding: 2px 0; }
    .godi-home-tabela tr.atrasada td:first-child{ box-shadow:none; }
    .godi-home-tabela td[data-rotulo]::before{ content: attr(data-rotulo) ': '; color: var(--h-suave); font-size:.75rem; }
}

/* ---------- Contas a pagar por modalidade (painel financeiro) ---------- */
.godi-home-mods{ margin-bottom: 36px; }
.godi-home-mods-cabeca{ display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap: 4px 16px; margin-bottom: 14px; }
.godi-home-mods-cabeca .godi-home-secao{ flex: 1 1 320px; margin: 0; }
.godi-home-mods-dia{ display:inline-flex; gap:4px; padding:4px; border:1px solid var(--h-linha); border-radius:999px; background: var(--h-cartao); }
.godi-home-mods-dia a{ display:inline-flex; align-items:center; min-height:30px; padding: 0 14px; border-radius:999px; font-size:.8125rem; font-weight:600; color: var(--h-tinta); text-decoration:none; border:1px solid transparent; transition: background-color .2s, border-color .2s; }
.godi-home-mods-dia a:hover{ border-color: var(--h-linha); color: var(--h-tinta); text-decoration:none; }
.godi-home-mods-dia a.ativo{ background: var(--h-base); color:#fff; }
.godi-home-mods-total{ flex-basis:100%; margin:0; font-size:.8125rem; color: var(--h-suave); font-variant-numeric: tabular-nums; }
.godi-home-mods-total strong{ color: var(--h-tinta); font-weight:600; }
.godi-home-mods-grade{ display:grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px; }
.godi-home-mod{ position:relative; display:flex; flex-direction:column; gap: 10px; padding: 18px 20px 16px; min-width:0; overflow:hidden;
    background: var(--h-cartao); border:1px solid var(--h-linha); border-radius: var(--h-raio); color: var(--h-texto) !important; text-decoration:none !important;
    transition: border-color .2s, box-shadow .2s, transform .2s var(--h-ease); }
.godi-home-mod::before{ content:''; position:absolute; inset: 0 0 auto 0; height: 4px; background: var(--m-texto); }
.godi-home-mod:hover{ border-color: var(--m-borda); box-shadow: 0 6px 18px rgba(16, 24, 40, .08); transform: translateY(-2px); }
.godi-home-mod:focus-visible{ outline: 2px solid var(--m-texto); outline-offset: 2px; }
.godi-home-mod-nome{ font-size:.75rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color: var(--m-texto); }
.godi-home-mod-valores{ display:grid; grid-template-columns: 1fr 1fr; gap: 12px; margin:0; }
.godi-home-mod-valores > div{ min-width:0; }
.godi-home-mod-valores dt{ font-size:.6875rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color: var(--h-suave); }
.godi-home-mod-valores dd{ margin: 2px 0 0; font-size: 1.125rem; font-weight:600; color: var(--h-tinta); font-variant-numeric: tabular-nums; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.godi-home-mod-valores dd.qtd{ font-size:.75rem; font-weight:500; color: var(--h-suave); }
.godi-home-mod-barra{ display:block; height:4px; border-radius:4px; background: var(--h-linha); overflow:hidden; }
.godi-home-mod-barra > span{ display:block; height:100%; border-radius:4px; background: var(--m-texto); transform-origin:left; animation: godi-home-cresce .8s var(--h-ease) both; }
.godi-home-mod-pct{ font-size:.75rem; font-weight:600; color: var(--h-suave); margin-top: -4px; }
.godi-home-filtrar{ background:none; border:0; padding:0; color: var(--h-base); font-weight:600; cursor:pointer; }
.godi-home-filtrar:hover{ text-decoration:underline; }

@media (prefers-reduced-motion: reduce){
    .godi-home *, .godi-home *::before, .godi-home *::after{ animation: none !important; transition: none !important; }
}
