/* Visão geral: grade estável, sem compressão ou sobreposição. */
#dashboard{
  min-width:0;
  width:100%;
}
#dashboard>.heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  width:100%;
}
#dashboard>.heading>div{
  min-width:0;
}
#dashboard>.heading>.btn{
  flex:0 0 auto;
  white-space:nowrap;
}
#dashboard>.cards{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  width:100%;
}
#dashboard>.cards>.metric{
  min-width:0;
  height:auto;
}
#dashboard>.two{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(280px,1fr);
  align-items:stretch;
  gap:18px;
  width:100%;
}
#dashboard>.two>.panel{
  min-width:0;
  width:100%;
}
#dashboard>.two>.panel>.panelhead{
  display:grid;
  grid-template-columns:minmax(0,1fr) max-content!important;
  align-items:center;
  gap:14px;
}
#dashboard>.two>.panel>.panelhead>.btn{
  width:max-content!important;
  min-width:0!important;
  max-width:max-content!important;
  flex:0 0 auto!important;
  justify-self:end;
  white-space:nowrap;
}
#dashboard .chart{
  min-width:0;
  width:100%;
  overflow:hidden;
}
#dashboard .listrow>*{
  min-width:0;
}
@media(max-width:1100px){
  #dashboard>.cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  #dashboard>.two{grid-template-columns:1fr}
}
@media(max-width:620px){
  #dashboard>.heading{align-items:stretch;flex-direction:column}
  #dashboard>.heading>.btn{width:100%}
  #dashboard>.cards{grid-template-columns:1fr}
  #dashboard>.two>.panel>.panelhead{grid-template-columns:1fr!important}
  #dashboard>.two>.panel>.panelhead>.btn{justify-self:start}
}
