/* ---------- page shell ----------
   #app is a single grid column: header · main · [identification] · controls · charts.
   Pages that add a section between main and the controls override grid-template-rows
   (see identification.css). */
#app{display:grid; grid-template-rows:auto minmax(0,1fr) auto auto; height:100vh; height:100dvh; gap:0}
main{position:relative; display:grid; grid-template-columns:1fr 320px; min-height:0}

@media (max-width:880px){
  #app{height:auto; min-height:100vh}
  main{grid-template-columns:1fr; grid-template-rows:1fr auto}
}
