/* Stops the homepage footer jump and the stock-page body jump.
   The screener lives in the real table. Charts and the fair-value chip
   keep their final box so later data does not move them. */

body.sl-home .home-screener .screener-toolbar {
  min-height: 74px;
}

.range-btn.is-pending {
  visibility: hidden;
}

#chartOverlays {
  min-width: 220px;
}

#chartRanges {
  min-width: 300px;
}

#technical-analysis .stock-panel-body {
  height: 420px;
  min-height: 420px;
  max-height: 420px;
  overflow: hidden;
}

.ai-analysis-panel {
  min-height: 132px;
}

.stock-sidebar {
  min-height: 480px;
}

/* Desktop sidebar panels arrive in two steps: a short shell, then the
   growth table and quarter list. Hold the final box so that fill does not
   push Quarterly Earnings. The hero does the same for its second paint. */
@media (min-width: 1101px) {
  .stock-hero:not(:has(.stock-not-found)) {
    min-height: 206px;
  }
  .stock-sidebar .stock-panel:has(.gv-panel) {
    min-height: 545px;
  }
  .stock-sidebar .stock-panel:has(.earnings-cards) {
    min-height: 568px;
  }
  .stock-sidebar .stock-panel:has(.sentiment-box) {
    min-height: 213px;
  }
}

.stock-page {
  min-height: 120vh;
}

.alert-bell-badge {
  position: absolute;
  top: -5px;
  right: -6px;
}
