@layer vuetify-components {
  .v-number-input input[type=number] {
    -moz-appearance: textfield;
  }
  .v-number-input input[type=number]::-webkit-outer-spin-button, .v-number-input input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
  }
  .v-number-input .v-field:has(.v-field__prepend-inner > .v-number-input__control:first-child) {
    padding-inline-start: 0;
  }
  .v-number-input .v-field:has(.v-field__append-inner > .v-number-input__control:last-child) {
    padding-inline-end: 0;
  }
  .v-number-input .v-field__prepend-inner:has(.v-number-input__control) {
    overflow: hidden;
    border-start-start-radius: inherit;
    border-end-start-radius: inherit;
  }
  .v-number-input .v-field__prepend-inner:has(.v-number-input__control) > .v-icon {
    margin-inline-end: 4px;
  }
  .v-number-input .v-field__prepend-inner:has(.v-number-input__control) > hr + .v-icon,
  .v-number-input .v-field__prepend-inner:has(.v-number-input__control) > .v-number-input__control + .v-icon {
    margin-inline: 8px 0;
  }
  .v-number-input .v-field__prepend-inner:has(.v-number-input__control) .v-divider--vertical {
    margin-inline: -1px 0;
  }
  .v-number-input .v-field__append-inner:has(.v-number-input__control) {
    overflow: hidden;
    border-start-end-radius: inherit;
    border-end-end-radius: inherit;
  }
  .v-number-input .v-field__append-inner:has(.v-number-input__control) > .v-icon {
    margin-inline-start: 4px;
  }
  .v-number-input .v-field__append-inner:has(.v-number-input__control) > .v-icon:has(+ hr),
  .v-number-input .v-field__append-inner:has(.v-number-input__control) > .v-icon:has(+ .v-number-input__control) {
    margin-inline: 0 8px;
  }
  .v-number-input .v-field__append-inner:has(.v-number-input__control) .v-divider--vertical {
    margin-inline: 0 -1px;
  }
  .v-number-input .v-field__clearable:has(+ .v-field__append-inner > hr:first-child) {
    margin-inline-end: 8px;
  }
  .v-number-input--inset .v-divider {
    height: 55%;
    width: 55%;
    align-self: center;
  }
  .v-number-input--split .v-field__input {
    text-align: center;
  }
  .v-number-input--stacked .v-number-input__control {
    flex-direction: column-reverse;
  }
  .v-number-input--stacked .v-number-input__control .v-btn {
    flex: 1;
  }
  .v-number-input--stacked .v-field--variant-underlined > .v-field__prepend-inner:has(.v-number-input__control),
  .v-number-input--stacked .v-field--variant-underlined > .v-field__append-inner:has(.v-number-input__control) {
    padding-top: var(--v-field-padding-top);
  }
  .v-number-input--stacked .v-field--variant-underlined > .v-field__prepend-inner:has(.v-number-input__control) > *:not(.v-number-input__control, .v-divider--vertical),
  .v-number-input--stacked .v-field--variant-underlined > .v-field__append-inner:has(.v-number-input__control) > *:not(.v-number-input__control, .v-divider--vertical) {
    margin-top: var(--v-input-padding-top, 0);
  }
  .v-number-input--hide-input .v-field {
    flex: none;
    gap: 0;
  }
  .v-number-input--hide-input .v-field__input {
    width: 0;
    padding-inline: 0;
  }
  .v-number-input__control {
    display: flex;
    height: 100%;
  }
  .v-number-input__control .v-btn {
    background-color: transparent;
    border-radius: 0;
  }
}