input:not(.reset){
    border: 1px solid #cccccc;
    border-radius: 4px;

    font-size: 14px;
    color: #555555;

    padding: 6px 12px;
    width: 100%;
    line-height: 1.42857143;

    transition: 0.3s ease all;
    &:focus{
        border-color: #66afe9;
        box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
        -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);
    }
    &[disabled] {
        cursor: not-allowed;
    }
    &::placeholder{
        color: var(--placeholder-color);
    }
}

input{
    margin: 0;
    min-width: 0;
    outline: none;
}

textarea{
    border: 1px solid #D0D0D0;
    border-radius: 2px;
    font-size: 12px;
    padding: 2px 4px;
    margin: 0;
    outline: none;
    min-width: 100%;
    max-width: 100%;
    width: 100%;
    &::placeholder{
        color: var(--placeholder-color);
    }
}

textarea{
    outline: none;
}

label{
    font-size: 14px;
    margin-bottom: 5px;
    font-weight: bold;
    color: var(--label-color);
    display: block;
}

.field_container{
    --icon-filter: brightness(0) saturate(100%) invert(97%) sepia(0%) saturate(546%) hue-rotate(191deg) brightness(96%) contrast(73%);
    --selected-icon-filter: brightness(0) saturate(100%) invert(0%) sepia(4%) saturate(0%) hue-rotate(309deg) brightness(100%) contrast(107%);
    --label-color: #333333;
    --field-container-bg: #FFFFFF;
    --placeholder-color: #D4D4D4;
    text-align: left;

    margin-bottom: 15px;
    &:has(.reset) {margin-bottom: 0;}
    &.line{
        display: flex;
        align-items: center;
        gap: 5px;
    }
    &.hidden{display: none;}
    &:has(input:focus){
        label{
            color: #000000;
        }
    }
    &:has(textarea:focus){
        label{
            color: #000000;
        }
    }
    &:has(input[type="checkbox"]){
        background: none;
    }
    &:has(.field_container_controls_data_cont){
        .field_container_controls_data_cont{
            display: grid;
            grid-template-columns: auto;
            &:has(div){
                grid-template-columns: auto 36px;
            }
        }
    }
    &:has(img){
        .field_container_enter_data_cont{
            display: grid;
            grid-template-columns: auto 20px;
            border: 1px solid #D0D0D0;
            border-radius: 4px;
            background: var(--field-container-bg);
            &:has(input:focus){
                input{
                    border-color: none;
                    box-shadow: none;
                    -webkit-box-shadow: none;
                }
                border-color: #66afe9;
                box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);
                -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);
            }
        }
        input{
            border-radius: 2px 0 0 2px;
            border: none;
        }
    }
    img:not(.reset){
        width: 15px;
        height: 20px;
        padding: 2.5px;
        border-left: none;
        filter: var(--icon-filter);
        &:active{
            filter: var(--selected-icon-filter);
        }
        -khtml-user-select: none;
        -o-user-select: none;
        -moz-user-select: none;
        -webkit-user-select: none;
        user-select: none;
    }
}

.form_line{
    --display: grid;
    --cols: repeat(2, 1fr);
    --gap: 10px;

    display: var(--display);
    grid-template-columns: var(--cols);
    gap: var(--gap);
}

.input_error{
    color: #ff0000;
    font-size: 12px;
    margin-top: 1px;
}

.errors_all{
    width: 100%;
    display: block;

    font-size: 14px;
    color: #ff0000;
}