/* ============================================================
   REDES.LAB ON · Cronograma geral de monitoramento
   Painel interno AR27 / Vale / oCamino (nunca Associação)
   Depende dos tokens de styles.css e utilitários de layout.css
   ============================================================ */

/* ---------- linha do tempo horizontal ---------- */
.cg-tl{overflow:hidden;}
.cg-track{
  display:flex;gap:12px;align-items:stretch;
  overflow-x:auto;padding:14px 20px 18px;
  scroll-snap-type:x proximity;
}
.cg-ciclo{
  flex:0 0 236px;scroll-snap-align:center;position:relative;
  background:var(--surface-2);border:1px solid var(--rule-soft);
  border-radius:var(--r-md);padding:14px 16px;
  display:flex;flex-direction:column;gap:6px;
}
.cg-ciclo.fechado{opacity:.62;}
.cg-ciclo.futuro{background:var(--surface-sunk);}
.cg-ciclo.atual{
  border:1.5px solid color-mix(in srgb,var(--magenta-vivo) 45%,transparent);
  background:var(--surface);
  box-shadow:0 10px 26px -14px color-mix(in srgb,var(--magenta-vivo) 55%,transparent);
}
.cg-agora{
  position:absolute;top:-9px;left:14px;
  font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  background:var(--magenta-vivo);color:#fff;padding:3px 9px;border-radius:var(--r-pill);
}
.cg-ciclo-top{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.cg-n{
  width:30px;height:30px;border-radius:50%;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-weight:800;font-size:14px;
  background:var(--surface-sunk);color:var(--ink);
}
.cg-ciclo.atual .cg-n{background:var(--magenta-vivo);color:#fff;}
.cg-n-borda{background:var(--azul-noite);color:var(--off-white);}
.cg-mes{font-family:var(--serif);font-weight:800;font-size:16px;color:var(--ink);letter-spacing:-.01em;}
.cg-datas{font-family:var(--mono);font-size:10.5px;color:var(--body-soft);display:flex;align-items:center;gap:7px;flex-wrap:wrap;}
.cg-marcos{display:flex;flex-direction:column;gap:5px;margin-top:6px;padding-top:8px;border-top:1px dashed var(--rule);}
.cg-marco{display:flex;align-items:flex-start;gap:7px;font-family:var(--mono);font-size:10.5px;line-height:1.45;color:var(--body);}
.cg-marco-dot{width:7px;height:7px;border-radius:50%;flex:0 0 auto;margin-top:4px;}
.cg-borda{flex-basis:216px;background:color-mix(in srgb,var(--azul-noite) 5%,var(--surface-2));}

/* selo de data configurável x fixada */
.cg-cfg{
  font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:#8A6410;background:color-mix(in srgb,var(--amarelo-neon) 26%,transparent);
  border:1px dashed color-mix(in srgb,var(--amarelo-neon) 60%,transparent);
  padding:2px 8px;border-radius:var(--r-pill);white-space:nowrap;
}
html[data-mode="escuro"] .cg-cfg{color:var(--amarelo-neon);}
.cg-fixo{
  font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--azul-eletrico);background:color-mix(in srgb,var(--azul-eletrico) 13%,transparent);
  padding:3px 9px;border-radius:var(--r-pill);white-space:nowrap;
}

.cg-legenda{
  display:flex;flex-wrap:wrap;gap:6px 16px;padding:0 20px 16px;
  font-family:var(--mono);font-size:10px;color:var(--body-soft);
}
.cg-leg-item{display:inline-flex;align-items:center;gap:6px;}
.cg-leg-item .cg-marco-dot{margin-top:0;}

/* ---------- marcos obrigatórios ---------- */
.cg-marcos-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 28px;}
@media (max-width:900px){.cg-marcos-grid{grid-template-columns:1fr;}}
.cg-marco-row{
  display:flex;align-items:flex-start;gap:12px;padding:11px 0;
  border-bottom:1px solid var(--rule-soft);
}
.cg-marco-row b{font-family:var(--serif);font-weight:700;font-size:13.5px;color:var(--ink);}
.cg-marco-ico{
  width:32px;height:32px;border-radius:10px;flex:0 0 auto;
  background:var(--surface-sunk);color:var(--primary);
  display:flex;align-items:center;justify-content:center;
}

/* ---------- engajamento por organização ---------- */
.cg-eng-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;}
.cg-eng-card{padding:16px 18px;}
.cg-eng-nome{font-family:var(--serif);font-weight:700;font-size:14.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cg-eng-val{font-family:var(--serif);font-weight:800;font-size:26px;letter-spacing:-.02em;flex:0 0 auto;}
.cg-eng-mini{
  display:flex;gap:6px 14px;flex-wrap:wrap;
  font-family:var(--mono);font-size:10.5px;color:var(--body-soft);
}
.cg-eng-mini b{color:var(--ink);font-weight:700;}

/* ---------- comparativo ranqueado (painel interno) ---------- */
.cg-rank-row{
  display:flex;align-items:center;gap:13px;padding:13px 0;
  border-bottom:1px solid var(--rule-soft);
}
.cg-rank-row:last-child{border-bottom:none;}
.cg-rank-pos{
  width:26px;height:26px;border-radius:50%;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-weight:800;font-size:12.5px;
  background:var(--surface-sunk);color:var(--body-soft);
}
.cg-rank-pos.top{background:var(--amarelo-neon);color:var(--azul-noite);}
.cg-rank-nome{font-family:var(--serif);font-weight:700;font-size:14px;color:var(--ink);}
.cg-rank-bar{flex:1;min-width:90px;max-width:280px;}
.cg-rank-val{
  font-family:var(--serif);font-weight:800;font-size:16px;color:var(--ink);
  width:34px;text-align:right;flex:0 0 auto;
}
@media (max-width:640px){
  .cg-rank-bar{display:none;}
  .cg-ciclo{flex-basis:210px;}
}
