.screen {
  position: absolute; inset: 0;
  display: flex;
}
.screen--with-sidebar {
  display: grid;
  grid-template-columns: var(--sidebar-w) 1fr;
}
.screen__main {
  display: flex; flex-direction: column;
  position: relative;
  background: white;
  min-width: 0;
  min-height: 0;
}
.screen__main .block-field { flex: 1; min-height: 0; }

@media (max-width: 600px) {
  .screen--with-sidebar {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr var(--sidebar-w);
  }
  .sidebar {
    width: 100%; height: var(--sidebar-w);
    grid-template-rows: 1fr;
    grid-template-columns: 1fr 1fr 1fr;
    border-right: 0; border-top: 2px solid #ccc;
  }
  .sidebar__slot { flex-direction: row; }
}
