div {
  box-sizing: border-box;
  overflow-wrap: break-word;
  word-break: break-word;
}

.gl-container #scene {
  top: 0px !important;
  left: 0px !important;
}

pre {
  max-width: 100%;
  max-height: 100%;
  overflow: auto;
  white-space: pre-wrap;
  box-sizing: border-box;
  border: 3px solid #E0E0E0;
}

button {
  overflow-wrap: initial;
  word-break: initial;
}

.TabPanel {
  display: flex;
  height: 100%;
}

.MuiToolbar-root .MuiBox-root {
  border-bottom: none;
}

.MuiTabs-root .MuiTabs-indicator {
  background-color: orange;
}

.SystemInfo {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 5px;
  flex-grow: 1;
}

.SystemInfoItem {
  display: flex; /* Grid for individual items */
  flex-direction: row;
  flex-grow: 1;
}

.SystemInfoItem > div:first-child {
  display: flex;
  justify-self: end; /* Align the first column content to the right */
  width: 10rem;
}

.SystemInfoItem > div:last-child {
  display: flex;
  flex-grow: 1;
  justify-self: end; /* Align the first column content to the right */
}

.DocBox {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  max-width: 2048px;
  margin: 0 auto;
}

.Controls {
  display: flex;
  background-color: #F5F5F5;
  border: 1px solid #E0E0E0;
  overflow-y: auto;
  padding: 10px;
  flex-direction: column;
  margin-left: 10px;
  box-sizing: border-box;
  overflow-x: visible;
  min-width: 10rem;
  flex-grow: 1;
}

.MessageContent div > p:first-child {
  margin-top: 0;
}

.MenuCard.MuiCard-root {
  display: flex;
  flex-direction: column;
  min-width: 10rem;
  flex-grow: 1;
  background-color: #1A2536; /* Midnight Blue */
  color: #D3CDBF; /* Warm Gray */
  border-radius: 0;
}

.MenuCard.MuiCard-root button {
  min-height: 64px;
}
/* Prevent toolbar from shrinking vertically when media < 600px */
.MuiToolbar-root {
  min-height: 72px !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
}

.ChatBox {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  max-width: 1024px;
  width: 100%;
  margin: 0 auto;
  background-color: #D3CDBF;
}

.user-message.MuiCard-root {
  background-color: #DCF8C6;
  border: 1px solid #B2E0A7;
  color: #333333;
  margin-bottom: 0.75rem;
  margin-left: 1rem;
  border-radius: 0.25rem;
  min-width: 80%;
  max-width: 80%;
  justify-self: right;
  display: flex;
  white-space: pre-wrap;
  overflow-wrap: break-word;
  word-break: break-word;
  flex-direction: column;
  align-items: self-end;
  align-self: end;
  flex-grow: 0;
}

.Docs.MuiCard-root,
.assistant-message.MuiCard-root {
  border: 1px solid #E0E0E0;
  background-color: #FFFFFF;
  color: #333333;
  margin-bottom: 0.75rem;
  margin-right: 1rem;
  min-width: 70%;
  border-radius: 0.25rem;
  justify-self: left;
  display: flex;
  white-space: pre-wrap;
  overflow-wrap: break-word;
  word-break: break-word;
  flex-direction: column;
  flex-grow: 0;
  padding: 16px 0;
  font-size: 0.9rem;
}


.Docs.MuiCard-root {
  display: flex;
  flex-grow: 1;
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.Docs .MuiCardContent-root,
.assistant-message .MuiCardContent-root {
  padding: 0 16px !important;
  font-size: 0.9rem;
}

.Docs span,
.assistant-message span {
  font-size: 0.9rem;
}

.user-message .MuiCardContent-root:last-child,
.assistant-message .MuiCardContent-root:last-child,
.Docs .MuiCardContent-root:last-child {
    padding: 16px;
}

.users > div {
  padding: 0.25rem;
}

.user-active {
  font-weight: bold;
}

.metadata {
  border: 1px solid #E0E0E0;
  font-size: 0.75rem;
  padding: 0.125rem;
}

/* Reduce general whitespace in markdown content */
* p.MuiTypography-root {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  font-size: 0.9rem;
}

/* Reduce space between headings and content */
* h1.MuiTypography-root,
* h2.MuiTypography-root,
* h3.MuiTypography-root,
* h4.MuiTypography-root,
* h5.MuiTypography-root,
* h6.MuiTypography-root {
  margin-top: 1rem;
  margin-bottom: 0.5rem;
  font-size: 1rem;
}

/* Reduce space in lists */
* ul.MuiTypography-root,
* ol.MuiTypography-root {
    margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  font-size: 0.9rem;
}

* li.MuiTypography-root {
  margin-bottom: 0.25rem;
  font-size: 0.9rem;
}

* .MuiTypography-root li {
  margin-top: 0;
  margin-bottom: 0;
  padding: 0;
  font-size: 0.9rem;
}

/* Reduce space around code blocks */
* .MuiTypography-root pre {
  border: 1px solid #F5F5F5;
  border-radius: 0.5rem;
  padding: 0.5rem 0.75rem;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 0.9rem;
}

.PromptStats .MuiTableCell-root {
  font-size: 0.8rem;
}

#SystemPromptInput {
  font-size: 0.9rem;
  line-height: 1.25rem;
}