/**
 * Copyright © 2016-2026 The Thingsboard Authors
 *
 * Licensed 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.
 */
@import "../../../../../scss/constants";

:host {
  height: 100%;
  max-height: 100vh;
  display: grid;
  grid-template-rows: min-content minmax(auto, 1fr) min-content;

  .tb-loader {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    height: 300px;
    max-height: 100%;

    .label {
      margin-bottom: 0;
      text-align: center;
    }
  }

  .status {
    margin-left: 12px;
    border-radius: 12px;
    height: 24px;
    line-height: 24px;
    padding: 0 8px;
    width: fit-content;
    color: #198038;
    background-color: rgba(25, 128, 56, 0.08);
    font-size: 14px;

    &.inactive {
      color: #d12730;
      background-color: rgba(209, 39, 48, 0.08);
    }
  }

  .tb-hint-instruction {
    border-radius: 6px;
    background-color: rgba(48, 86, 128, 0.04);
    padding: 6px 16px;

    .content {
      vertical-align: middle;
    }
  }

  .tb-font-14 {
    font-size: 14px;
  }

  .tb-flex-1 {
    flex: 1;
  }

  .tb-form-table-body {
    max-height: 108px;
    min-height: 108px;
    overflow-y: auto;
    scrollbar-gutter: stable;

    .tb-form-table-row {
      min-height: 38px;
    }
  }

  .tb-no-data-available {
    .tb-no-data-bg {
      min-height: 68px;
    }
  }

  .tb-install-instruction-text {
    min-height: 42px;
  }

  @media #{$mat-sm} {
    width: 470px;
  }

  @media #{$mat-gt-sm} {
    width: 720px;
  }
}

:host-context(.mat-mdc-dialog-container) {
  .tb-dialog-actions {
    display: flex;
    gap: 8px;
    padding: 8px 16px;
  }

  .mat-mdc-dialog-content {
    max-height: 80vh;
    padding: 16px;
  }
}

:host ::ng-deep {
  .tb-markdown-view {
    .tb-command-code {
      .code-wrapper {
        padding: 0;
        pre[class*=language-] {
          margin: 0;
          background: #F3F6FA;
          border-color: #305680;
          padding-right: 38px;
          padding-bottom: 4px;
          min-height: 42px;
          scrollbar-width: thin;

          &::-webkit-scrollbar {
            width: 4px;
            height: 4px;
          }
        }
      }
      button.clipboard-btn {
        right: -2px;
        p {
          color: #305680;
        }
        p, div {
          background-color: #F3F6FA;
        }
        div {
          img {
            display: none;
          }
          &:after {
            content: "";
            position: initial;
            display: block;
            width: 18px;
            height: 18px;
            background: #305680;
            mask-image: url(/assets/copy-code-icon.svg);
            -webkit-mask-image: url(/assets/copy-code-icon.svg);
            mask-repeat: no-repeat;
            -webkit-mask-repeat: no-repeat;
          }
        }
      }
    }
  }
  .mdc-button__label > span {
    .mat-icon {
      vertical-align: text-bottom;
      box-sizing: initial;
    }
  }

  .tabs-icon {
    margin-right: 8px;
  }

  .tb-form-panel.tb-tab-body {
    padding: 16px 0 0;
  }
}
