.absol-number-input {
    text-align: right;
    display: inline-block;
    vertical-align: middle;
    position: relative;
    min-width: calc(1em + 2px);
    height: calc(2em + 2px);
    border: solid 1px #d6d6d6;
    font-size: 1rem;
    box-sizing: border-box;
    width: 4em;
    --text-width: 0.5em;
    font-family: inherit;
    overflow: hidden;
    background-color: white;
}

.absol-number-input.as-background-none,
.absol-number-input.as-background-none input {
    background-color: transparent;
}

.absol-number-input[data-size="large"] {
    height: var(--large-size);
    border-radius: var(--large-radius);
}


.absol-number-input[data-size="regular"] {
    height: var(--default-size);
    border-radius: var(--default-radius);
}


.absol-number-input[data-size="small"] {
    height: var(--small-size);
    border-radius: var(--small-radius);
}


.absol-number-input.as-width-auto {
    width: calc(var(--text-width) + 1em);
}

.absol-number-input.as-has-stepper.as-width-auto:not(.as-read-only) {
    width: calc(var(--text-width) + 2.2em);
}

.absol-number-input:not(.as-focus) input,
.absol-number-input.as-focus .absol-number-input-text-formated {
    opacity: 0;
    color: transparent;
}


.absol-number-input.as-focus input,
.absol-number-input:not(.as-focus) .absol-number-input-text-formated {
    opacity: 1;
}

.absol-number-input-text-container {
    right: 0;
    left: 0em;
    top: 0;
    bottom: 0;
    position: absolute;
    text-align: right;
    /*display: flex;*/
    /*align-content: center;*/
}

.absol-number-input-text-formated {
    text-align: inherit;
    pointer-events: none;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-items: stretch;
}

.absol-number-input-text-formated >span{
    display: block;
    flex-grow: 1;
    padding: 0 0.35em;
}

/*.absol-number-input.as-read-only .absol-number-input-button-up-container,*/
/*.absol-number-input.as-read-only .absol-number-input-button-down-container,*/
.absol-number-input-button-up-container,
.absol-number-input-button-down-container {
    display: none;
}

.absol-number-input.as-read-only.as-border-none {
    border: none;
    background-color: transparent;
}

.absol-number-input.as-read-only.as-border-none input {
    /*text-align: left;*/
    padding-left: 0;
    background-color: transparent;
    padding-right: 0;
}

.absol-number-input.as-read-only.as-border-none .absol-number-input-text-formated span{
    padding-left: 0;
    padding-right: 0;
}

.absol-number-input.as-read-only.as-border-none {
    width: var(--text-width);
    padding: 0;
}



.absol-number-input-button-up-container {
    top: 0;
}

.absol-number-input-button-down-container {
    bottom: 0;
}

.absol-number-input.as-has-stepper:not(.as-read-only) .absol-number-input-button-up-container,
.absol-number-input.as-has-stepper:not(.as-read-only) .absol-number-input-button-down-container {
    right: 0;
    position: absolute;
    height: 1em;
    width: 1em;
    max-height: 50%;
    overflow: hidden;
    display: block;
}

.absol-number-input-button-up-container > button,
.absol-number-input-button-down-container > button {
    width: 100%;
    height: 100%;
    line-height: 1;
    padding: 0;
    border: none;
    box-sizing: border-box;
    outline: none;
    color: rgb(101, 101, 101);
    background-color: transparent;
    font-size: inherit;
}

.as-printer-content .absol-number-input button {
    display: none;
}

.as-printer-content .absol-number-input input[type="text"] {
    display: none;
}

.absol-number-input-button-up-container > button:active,
.absol-number-input-button-down-container > button:active {
    color: black;
    background-color: rgba(101, 101, 101, 0.3);
}

.absol-number-input.as-has-stepper:not(.as-read-only) .absol-number-input-text-container {
    right: 1.2em;
}


.absol-number-input-text-container > input[type="text"] {
    border: none;
    outline: none;
    width: 100%;
    height: 100%;
    text-align: inherit;
    padding: 0 0.35em;
    box-sizing: border-box;
    font: inherit;
    color: inherit;
}

.absol-number-input.as-has-stepper .absol-number-input-text-container > input[type="text"] {
    padding: 0 0.2em;
}

.absol-number-input.absol-disabled {
    pointer-events: none;
}

.absol-number-input.absol-disabled  {
    background-color: var(--as-disabled-background-color);
}

.absol-number-input.absol-disabled .absol-number-input-button-up-container,
.absol-number-input.absol-disabled .absol-number-input-button-down-container {
    opacity: 0.3;
}

body.as-number-input-force-dragging {
    user-select: none;
    pointer-events: none;
}

.as-number-input-mouse-line {
    border: 1px dashed #bfc1c2;
    position: fixed;
    z-index: 1e8;
}