#dashboard {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 1em;
  align-items: flex-start;
  font-size: .9em;
  box-sizing: border-box;
  background-color: transparent;
  min-height: 0;

  /* Hard width to prevent collapsing */
  width: min(calc(100vw - 2em), 150em);
  min-width: min(calc(100vw - 2em), 150em);


}

#dashboard-left-side {
  display: flex;
  flex-direction: column;
  gap: 1em;
  align-items: flex-start;
  box-sizing: content-box;

  /* Fixed width with no shrinking */
  width: 23em;
  min-width: 23em;
  max-width: 23em;

  /* Scrollbar handling */
  /*margin-right: -10px;*/
  scrollbar-gutter: stable;
  max-height: fit-content;
  overflow-y: auto;
}

/* Items inside left sidebar */
.dashboard-left-container {
  font-size: .85em;
  /*min-width: 26em;*/
  width: 100%;
  /*max-width: 26em;*/
  margin: 0.5em 0;
  border-top: 2px solid lightgrey;
  border-bottom: 2px solid lightgrey;
}

.dashboard-left-container table {
  width: 100%;
}

#dashboard-right-side {
  display: flex;
  flex-direction: column;
  gap: 1em;
  padding: 0 .5em .5em 0;
  box-sizing: border-box;
  align-items: stretch;
  justify-content: flex-start;


  /* Fixed calculated width based on left sidebar size */
  width: calc(100% - 25em);
  min-width: calc(100% - 25em);
  max-width: 100em;
}

/* All children of right side */
#dashboard-right-side > * {
  /* ensure child elements take full available width but cap at 100em */
  width: 100%; /* Take full width of the container */
  box-sizing: border-box; /* Include padding and border in width calculation */
}

.dashboard-title-container {
  display: flex;
  justify-content: space-between;
  /*border-bottom: 1px solid silver;*/
  margin-bottom: .5em;
}

.dashboard-title {
  font-weight: 600;
  font-size: 1.1em;
  margin: 0 .5em;
}

hr {
  margin: 6pt 0;
}

td, th {
  padding: 0 .5em;
}

th.row-label {
  font-weight: 500;
  white-space: nowrap;
}

td.recap-metric {
  text-align: right;
}

.toggle-display-button {
  background: none;
  border: none;
  cursor: pointer;
  padding: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #838383;
  transform: translateY(-2px);
}

.toggle-arrow-icon {
  transition: transform 0.3s ease;
}

.toggle-arrow-up {
  transform: rotate(180deg);
}

.display-none {
  display: none;
}