/* Text fields share the dashboard search border and focus ring. */
:is(input:not([type]), input:is([type=text], [type=email], [type=password], [type=search], [type=number], [type=tel], [type=url], [type=date], [type=time], [type=datetime-local], [type=month], [type=week]), textarea) {
    padding: 8px 12px;
    border: 1px solid #d0d5dd !important;
    border-radius: 7px !important;
    box-shadow: none !important;
}

:is(input:not([type]), input:is([type=text], [type=email], [type=password], [type=search], [type=number], [type=tel], [type=url], [type=date], [type=time], [type=datetime-local], [type=month], [type=week]), textarea):not(:disabled):not([readonly]) {
    background-color: #fff !important;
}

:is(input:not([type]), input:is([type=text], [type=email], [type=password], [type=search], [type=number], [type=tel], [type=url], [type=date], [type=time], [type=datetime-local], [type=month], [type=week]), textarea):focus {
    border-color: #d0d5dd !important;
    outline: 2px solid #6759e8 !important;
    outline-offset: 3px !important;
    box-shadow: none !important;
}

:is(input:not([type]), input:is([type=text], [type=email], [type=password], [type=search], [type=number], [type=tel], [type=url], [type=date], [type=time], [type=datetime-local], [type=month], [type=week]), textarea):disabled {
    background-color: #f2f4f7 !important;
    color: #667085 !important;
}

:is(input:not([type]), input:is([type=text], [type=email], [type=password], [type=search], [type=number], [type=tel], [type=url], [type=date], [type=time], [type=datetime-local], [type=month], [type=week]), textarea)[readonly] {
    background-color: #f9fafb !important;
}

:is(input, textarea).is-valid,
:is(input, textarea).is-valid:focus,
.has-success :is(input, textarea),
.has-success :is(input, textarea):focus {
    border-color: #067647 !important;
}

:is(input, textarea):is(.is-invalid, [aria-invalid=true]),
:is(input, textarea):is(.is-invalid, [aria-invalid=true]):focus,
.has-error :is(input, textarea),
.has-error :is(input, textarea):focus {
    border-color: #b42318 !important;
}

/* Keep text fields joined to their input-group buttons and addons. */
.input-group > :is(input, textarea):not(:first-child) {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}
.input-group > :is(input, textarea):not(:last-child) {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}
