.tmpl-confirmation-dialog {
  .k-dialog {
    border-radius: 12px !important;
    box-shadow:
      0 24px 64px rgba(0, 0, 0, 0.18),
      0 6px 24px rgba(0, 0, 0, 0.08) !important;
    width: 520px;
    height: 300px;
    max-width: 92vw;
    max-height: 90vh;
    overflow: hidden;
    background-color: $background-default;
  }

  .k-overlay {
    background-color: rgba(0, 0, 0, 0.45);
  }

  .k-window-titlebar,
  .k-dialog-titlebar {
    display: none;
  }

  // Make Kendo's content wrapper fill the dialog so the inner container can
  // flex its footer to the bottom edge.
  .k-window-content,
  .k-dialog-content {
    height: 100%;
    padding: 0;
    display: flex;
    flex-direction: column;
  }
}

.tmpl-dialog-box-container {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 32px 32px 28px;
  text-align: center;

  .tmpl-dialog-box__icon-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 18px;

    .tmpl-dialog-box__svg-icon {
      width: 110px;
      height: 90px;
      display: block;
    }

    .tmpl-dialog-box__icon-image {
      width: 96px;
      height: auto;
      max-height: 96px;
      object-fit: contain;
      user-select: none;
    }

    // Fallback path: FactoryRenderer ICON renders inside a Kendo button.
    // Strip the button chrome and let the SVG breathe.
    .k-button {
      width: 88px;
      height: 88px;
      background: transparent;
      border: none;
      box-shadow: none;
      pointer-events: none;

      svg,
      .k-icon {
        font-size: 64px;
        width: 64px;
        height: 64px;
        color: $text-secondary;
      }
    }
  }

  .tmpl-dialog-box__header {
    font-size: $font-size-xl;
    font-weight: $font-weight-semibold;
    color: $text-dark;
    margin: 0;
    padding: 0 0 8px 0;
    text-align: center;
    line-height: $line-height-md;
  }

  .tmpl-dialog-box__body {
    p {
      color: $text-secondary;
      font-size: $font-size-sm;
      font-weight: $font-weight-regular;
      line-height: $line-height-md;
      text-align: center;
      margin: 0;
      padding: 0;
    }
  }

  .tmpl-dialog-box__footer {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    margin-top: auto;
    padding-top: 16px;

    .k-button {
      min-width: 110px;
      height: 38px;
      border-radius: $border-radius-md;
      font-size: $font-size-sm;
      font-weight: $font-weight-medium;
      line-height: $line-height-sm;
      padding: 6px 24px;
      transition: all 0.18s ease;
    }

    .tmpl-confirm-btn--confirm {
      border: none;
    }

    .tmpl-confirm-btn--cancel {
      background-color: $background-default;
      border: 1px solid $border-secondary;
      color: $text-default;

      &:hover {
        background-color: rgba(0, 0, 0, 0.03);
      }
    }
  }
}

.k-dialog {
  border-radius: $border-radius-md !important;
}
