/**
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

.part-label {
  color: #333;
  font-size: 1.2em;
  margin-right: 10px;
}
.nodes-view {
  width: 100%;
  height: 100%;
  .mat-header-cell {
    font-size: 15px;
    font-weight: bold;
    color: #666;
  }
  .mat-cell {
    color: #333;
  }
  .mat-row {
    &:hover {
      background: #cccccc;
      cursor: pointer;
    }
    &.selected-row {
      background: #303d54;
      .mat-cell {
        color: #fff;
      }
    }
  }
  .mat-header-cell.indicator-icon,
  .mat-cell.indicator-icon {
    max-width: 40px;
    font-size: 18px;
    margin-left: 10px;
  }
  .node-allocations {
    margin-top: 40px;
    .mat-table {
      margin-top: 20px;
    }
  }
  .no-record {
    font-size: 14px;
    font-weight: bold;
    color: #666;
    width: 100%;
    text-align: center;
  }
}
