:host { display: block; } .layout { display: grid; grid-template-columns: 340px 1fr; grid-template-rows: 100vh; gap: 0; } .aside { background: #ffffff; border-right: 1px solid rgba(0,0,0,0.06); box-shadow: 2px 0 12px rgba(0,0,0,0.03); padding: 16px; overflow: auto; } .main { display: flex; flex-direction: column; height: 100vh; overflow: hidden; } .toolbar { display: flex; align-items: center; justify-content: space-between; padding: 8px 12px; } .map { flex: 1 1 auto; min-height: 0; }