:root {
    --ff: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}

*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: var(--ff);
}

html,
body {
  height: 100%;
  overflow-x: hidden;
}

.container {
  height: 100%;
}

.layout {
  display: flex;
  height: 100%;
  overflow: hidden;
}

/* Sidebar remains fixed at its width and does not scroll */
.sidebar {
  flex: 0 0 250px;
  height: 100%;
  padding: 1rem;
  border-right: 1px solid #d0d0d0;
  overflow-y: auto;
}

/* Main wrapper fills the remaining space and handles content overflow */
.main-wrapper {
  flex: 1 1 auto;
  height: 100%;
  overflow-y: auto; /* Only this container scrolls when content overflows */
  min-width: 0; /* Prevents flex children (like SVG charts) from blowing out layout width */
}

.main {
  padding: 1rem;
}

ul.sidebar-list,
ul.sidebar-list li {
    list-style-type: none;
}