html,
body {
  height: 100%;
  overflow: hidden;
}
.app-shell {
  height: 100vh;
  min-height: 0;
  grid-template: var(--topbar-height) minmax(0, 1fr) / var(--sidebar-width) minmax(0, 1fr);
  grid-template-areas: 'top top' 'nav main';
}
.topbar {
  height: var(--topbar-height);
}
.sidebar {
  min-height: 0;
  overflow-y: auto;
}
.main-content {
  min-height: 0;
  height: calc(100vh - var(--topbar-height));
  overflow-y: auto;
  overscroll-behavior: contain;
}
.app-shell.vehicle-workspace .main-content {
  overflow: hidden;
  padding-block: 0.55rem;
}
.context-panel {
  display: none !important;
}
.incident-list-viewport {
  max-height: calc(100vh - 250px);
  overflow: auto;
  padding: 2px 4px 16px 2px;
}
.admin-workspace {
  max-height: calc(100vh - 220px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.admin-workspace > .card-body {
  min-height: 0;
  overflow: auto;
}
.modal-body {
  background: #f7f8f9;
}
.modal-body .context-form {
  max-width: 760px;
  margin: auto;
}
.modal-body .detail-list {
  max-width: 620px;
}
.modal-content {
  border: 0;
  box-shadow: 0 18px 60px #1115;
}
@media (max-width: 991.98px) {
  html,
  body {
    overflow: hidden;
  }
  .app-shell {
    height: 100vh;
    padding-top: var(--topbar-height);
  }
  .main-content {
    height: calc(100vh - var(--topbar-height));
    overflow-y: auto;
  }
  .incident-list-viewport {
    max-height: calc(100vh - 270px);
  }
}
@media (max-width: 575.98px) {
  .modal-dialog {
    margin: 0;
    max-width: none;
    height: 100%;
  }
  .modal-content {
    min-height: 100%;
    border-radius: 0;
  }
  .incident-list-viewport {
    max-height: calc(100vh - 250px);
  }
}
.realtime-change-toast {
  width: min(380px, calc(100vw - 1.5rem));
  background: #fff;
  color: #17212b;
  border-left: 5px solid #198754 !important;
}
.realtime-change-toast--message {
  border-left-color: #fd7e14 !important;
}
.realtime-change-toast--message .toast-header {
  background: #fff3e8;
}
.realtime-change-toast .toast-body {
  max-height: 14rem;
  overflow: auto;
}
.realtime-change-toast li + li {
  margin-top: 0.2rem;
}
