.confirm{
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background-color: rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(2px);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 20px;
  textarea{
    margin: 0;
    resize: none;
    padding: 12px;
    border: 1px solid var(--transparent-hint);
    border-radius: 8px;
    margin-bottom: 12px;
    background-color: var(--bg-color);
    color: var(--color);
    &:focus{
      border: 1px solid var(--transparent-secondary);
    }
  }
  --confirmBgColor: #eff3fd;
  --confirmColor: #2962ff;

  &_danger{
    --confirmBgColor: #ffeded;
    --confirmColor: #ff2e2e;
  }
  &_success{
    --confirmBgColor: #e8fde8;
    --confirmColor: #0c9b06;
  }
  &_processing{
    --confirmBgColor: #f5ecff;
    --confirmColor: #8a50d2;
  }
  &_warning{
    --confirmBgColor: #fff5ed;
    --confirmColor: #ff8000;
  }
}

@mixin confirmDark{
  .confirm{
    --confirmBgColor: #2962ff;
    --confirmColor: #fff;

    &_danger{
      --confirmBgColor: #ff2e2e;
      --confirmColor: #fff;
    }
    &_success{
      --confirmBgColor: #0c9b06;
      --confirmColor: #fff;
    }
    &_processing{
      --confirmBgColor: #8a50d2;
      --confirmColor: #fff;
    }
    &_warning{
      --confirmBgColor: #ff8000;
      --confirmColor: #fff;
    }
  }
}

body.theme-dark {
  @include confirmDark;
}
body.theme-auto{
  @media (prefers-color-scheme: dark) {
    @include confirmDark;
  }
}

.confirm__modal{
  background-color: var(--dropdown-bg);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0.15), 0 0 12px rgba(0, 0, 0, 0.1);
  position: relative;
  width: 320px;
  border-radius: 12px;
  text-align: center;
  overflow: hidden;
}

.confirm__modalHeader{
  text-align: center;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  background-color: var(--confirmBgColor);
  font-size: 0.96rem;
  position: relative;
  padding: 15px 45px;
  svg{
    display: inline-flex;
    position: absolute;
    left: 15px;
    width: 24px;
    margin-right: 12px;
    fill: var(--confirmColor);
  }
  color: var(--confirmColor);
}

.confirm__modalMain{
  padding: 15px;
  background-color: #fff;
  p{
    text-align: center;
    margin-top: 0;
  }
}

.confirm__modalClose{
  position: absolute;
  left: 100%;
  bottom: 100%;
  transform: translate3d(0, 0, 0);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  svg{
    height: 18px;
    fill: #5d5d5d;
    transition: all 150ms ease;
  }
  &:hover{
    svg{
      transform: scale(1.1);
      fill: #000;
    }
  }
}

.confirm__modalFooter{
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 6px;
  button{
    padding: 10px 0;
    border-radius: 6px;
    color: var(--color);
    cursor: pointer;
    background-color: var(--transparent-hint);
    opacity: 0.8;
    border: none;
    &:hover{
      opacity: 1;
    }
    &:last-child{
      background-color: var(--confirmBgColor);
      color: var(--confirmColor);
    }
  }
}

.confirmTransition-enter{
  opacity: 0;
  .confirm__modal{
    transform: scale(0.97) translateY(-5%);
  }
  &-active{
    opacity: 1;
    transition: opacity 150ms ease;
    .confirm__modal{
      transform: scale(1) translateY(0);
      transition: transform 150ms ease;
    }
  }
}

.confirmTransition-leave{
  opacity: 1;
  &-active{
    opacity: 0;
    transition: opacity 150ms ease;
  }
}
