.v-select__custom {
  padding: 0.125rem;
  
  &.v-text-field.v-text-field--solo:not(.v-text-field--solo-flat)>.v-input__control>.v-input__slot {
    box-shadow: none;
  }

  &.v-text-field.v-text-field--solo .v-input__control {
    min-height: 32px;
    height: 32px;
  }

  &.v-input input {
    min-height: 32px;
    height: 32px;
  }

  .v-input--selection-controls {
    margin-top: 0;
    padding-top: 0;
  }

  .v-input__slot {
    overflow: hidden;
    position: relative;
    height: 32px;
  }

  &.v-text-field .v-input__control {
    border-color: #d9d9d9;
  }

  &.select-large {

    .v-input__slot,
    .v-input__control {
      height: 40px !important;
      // border: solid 1px #D9D9D9;
      border-radius: 8px !important;
    }

  }

  legend {
    width: 0;
  }

  .v-select-list {
    padding: 0 1rem;
  }
}

.v-input__custom {
  .v-input__slot {

    &:before,
    &:after {
      display: none;
    }
  }

  .v-input__slot {
    overflow: hidden;
    position: relative;
  }

  &.input-large {
    border-radius: 8px !important;

    input {
      max-height: 40px;
      height: 40px;

    }
  }

  &.v-text-field .v-input__control {
    border-color: #d9d9d9;
  }

  &.surface-name {
    fieldset {
      max-width: 345px;
    }
  }
}

.v-text-field .v-input__append-inner,
.v-text-field .v-input__prepend-inner {
  align-self: center !important;
}



.v-select__widget {
  &.v-text-field.v-text-field--solo:not(.v-text-field--solo-flat)>.v-input__control>.v-input__slot {
    box-shadow: none;
  }

  &.v-text-field.v-text-field--solo .v-input__control {
    min-height: 30px !important;
    height: 30px !important;
  }

  &.v-input input {
    min-height: 30px !important;
    height: 30px !important;
  }

  &.v-text-field--outlined>.v-input__control>.v-input__slot {
    align-items: stretch;
    min-height: 30px;
  }

  .v-input--selection-controls {
    margin-top: 0;
    padding-top: 0;
  }

  .v-input__slot {
    overflow: hidden;
    position: relative;
    height: 30px !important;
  }
}

.size {
  &-mini {
    width: 110px;
    height: 30px;
    flex: 0 0 auto;

    &.v-text-field.v-text-field--solo .v-input__control {
      min-height: 30px;
      height: 30px;
    }
  }
}

.v-text-field>.v-input__control>.v-input__slot:after,
.v-text-field>.v-input__control>.v-input__slot:before {
  display: none;
}

.v-input__slot {
  margin-bottom: 0 !important;
}

.v-input {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.v-input__append-inner {
  .v-icon {
    color: currentColor !important;
  }
}

.v-main {

  .ant-input,
  .ant-input-affix-wrapper>input,
  .ant-select-selection {
    border-radius: 6px;
  }
}

.custom-radio {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  position: relative;
  padding-left: 28px;
  margin: 10px;
  font-size: 16px;
}
.custom-radio input[type="radio"] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}
/* Custom radio appearance */
.radio-mark {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 18px;
  width: 18px;
  background-color: white;
  border: 2px solid #ccc;
  border-radius: 50%;
  transition: all 0.2s ease;
}

/* Show selected state */
.custom-radio input[type="radio"]:checked~.radio-mark {
  border-color: #1677ff;
  background-color: #fff;
}

.custom-radio input[type="radio"]:checked~.radio-mark::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 11px;
  width: 11px;
  border-radius: 50%;
  background-color: #1677ff;
}

/* Light mode: use Vuetify default */
.checkbox-light .v-icon {
  color: #D9D9D9 !important;
}

/* Dark mode: override tick color to black */
.checkbox-dark .v-icon {
  color: #424242 !important;
}

@each $theme in dark, light {
  @include theme($theme);

  .v-application.#{$theme}-mode {

    .v-input-popup__custom {
      .v-input__slot {
        padding-left: 12px;
        padding-right: 12px;
        border: 1px solid map-deep-get($config,
          #{$theme},
          "v-input-popup-password-border"
        );
      }
    }

    .v-textarea {
      .v-input__slot{
        border: map-deep-get($config,
            #{$theme},
            "v-input-textarea-border"
          );
        fieldset {
          background-color: map-deep-get($config,
            #{$theme},
            "v-input-textarea-bg"
          );
          
        }
      }
    }

    .v-input {
      border-radius: 4px;
      border-radius: 6px;
      border-color: #d9d9d9;
      color: map-deep-get($config,
        #{$theme},
        "v-input-backgroundColor"
      );


      

      &:not(.v-input--radio-group, .v-input--checkbox) {
        .v-input__slot {
          background-color: map-deep-get($config,
            #{$theme},
            "v-input-backgroundColor"
          );
        }
      }

      .v-input__slot {
        fieldset {
          color: map-deep-get($config,
            #{$theme},
            "v-input-fieldset-color"
          ) !important;
        }

        &:hover {
          fieldset {
            color: map-deep-get($config,
              #{$theme},
              "v-input-fieldset-hover-color"
            ) !important;
          }
        }

        .v-input__append-inner {
          color: map-deep-get($config, #{$theme}, "v-input-icon-color");
        }
      }

      &--is-readonly {
        border-color: map-deep-get($config,
          #{$theme},
          "v-input-readonly-border-color"
        );

        &:not(.v-input--radio-group, .v-input--checkbox) {
          .v-input__slot {
            background-color: map-deep-get($config,
              #{$theme},
              "v-input-readonly-backgroundColor"
            ) !important;
          }
        }
      }

      &--is-disabled {
        border-color: map-deep-get($config,
          #{$theme},
          "v-input-readonly-border-color"
        );

        &:not(.v-input--radio-group, .v-input--checkbox) {
          .v-input__slot {
            background-color: map-deep-get($config,
              #{$theme},
              "v-input-disabled-backgroundColor"
            ) !important;
          }
        }

        input {
          color: map-deep-get($config, #{$theme}, "v-input-disabled-color");
        }
      }
    }

    .v-select {
      .v-label {
        color: map-deep-get($config, #{$theme}, "v-select-label-color");
        position: static !important;
      }

      &.v-input--is-disabled {
        .v-label {
          color: map-deep-get($config, #{$theme}, "v-input-disabled-color");
        }

        .v-icon.v-icon--disabled {
          color: map-deep-get($config,
            #{$theme},
            "v-input-disabled-color"
          ) !important;
        }

        .v-select__selection--disabled {
          color: map-deep-get($config,
            #{$theme},
            "v-input-disabled-color"
          ) !important;
        }
      }
    }

    .v-radio {
      .v-label {
        color: map-deep-get($config, #{$theme}, "non-activate");
      }

      &.v-item--active {
        .v-label {
          color: map-deep-get($config, #{$theme}, "activate");
        }
      }
    }
  }

  .v-radio {
    .v-icon {
      opacity: 0.6;
    }

    .v-label {
      color: map-deep-get($config, #{$theme}, "non-activate");
    }

    &.v-item--active {
      .v-icon {
        opacity: 1;
      }

      .v-label {
        color: map-deep-get($config, #{$theme}, "activate");
      }
    }
  }

  .v-input--checkbox {
    .v-icon {
      @if $theme ==dark {
        color: rgba(255, 255, 255, 0.6);
      }

      @else {
        color: #aaaaaa;
      }
    }
  }

  .v-textarea {
    textarea {
      padding: 10px;
    }
  }
}