/*  DO NOT TOUCH THIS FILE UNLESS YOU REALLY KNOW WHAT YOU ARE DOING WITH CSS
    Changes here will impact the entire application validation appearances
    You have been warned!
*/

:root {
    --arise-validation-icon-red: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='%23dc3545' d='M8 0a1 1 0 0 1 1 1v5.268l4.562-2.634a1 1 0 1 1 1 1.732L10 8l4.562 2.634a1 1 0 1 1-1 1.732L9 9.732V15a1 1 0 1 1-2 0V9.732l-4.562 2.634a1 1 0 1 1-1-1.732L6 8 1.438 5.366a1 1 0 0 1 1-1.732L7 6.268V1a1 1 0 0 1 1-1z'/%3E%3C/svg%3E");
    --arise-validation-icon-green: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='%23198754' d='M8 0a1 1 0 0 1 1 1v5.268l4.562-2.634a1 1 0 1 1 1 1.732L10 8l4.562 2.634a1 1 0 1 1-1 1.732L9 9.732V15a1 1 0 1 1-2 0V9.732l-4.562 2.634a1 1 0 1 1-1-1.732L6 8 1.438 5.366a1 1 0 0 1 1-1.732L7 6.268V1a1 1 0 0 1 1-1z'/%3E%3C/svg%3E");
    --arise-validation-icon-white: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='%23fff' d='M8 0a1 1 0 0 1 1 1v5.268l4.562-2.634a1 1 0 1 1 1 1.732L10 8l4.562 2.634a1 1 0 1 1-1 1.732L9 9.732V15a1 1 0 1 1-2 0V9.732l-4.562 2.634a1 1 0 1 1-1-1.732L6 8 1.438 5.366a1 1 0 0 1 1-1.732L7 6.268V1a1 1 0 0 1 1-1z'/%3E%3C/svg%3E");

    /* Validation icon positions */
    --arise-validation-icon-position-regular: right calc(0em + 0rem) top 0.375rem;
    --arise-validation-icon-position-kendo-datepicker-indicator-top: 0.375rem;
    --arise-validation-icon-position-kendo-datepicker-indicator-right: 0rem;
    --arise-validation-icon-position-kendo-datepicker: right var(--arise-validation-icon-position-kendo-datepicker-indicator-right) top var(--arise-validation-icon-position-kendo-datepicker-indicator-top);
    --arise-validation-icon-position-kendo-datepicker-caret-gap: calc(0.75em + 0.375rem);
    --arise-validation-icon-position-kendo-datepicker-caret-offset: calc(var(--arise-validation-icon-position-kendo-datepicker-indicator-right) + var(--arise-validation-icon-position-kendo-datepicker-caret-gap));
    --arise-validation-icon-position-kendo-datetimepicker: right calc(3.875em + 1.1875rem) top 0.375rem;
    --arise-validation-icon-position-kendo-datetimepicker-indicator-top: 0.375rem;
    --arise-validation-icon-position-kendo-datetimepicker-indicator-right: 0rem;
    --arise-validation-icon-position-kendo-datetimepicker-caret-gap: calc(0.75em + 0.375rem);
    --arise-validation-icon-position-kendo-datetimepicker-caret-offset: calc(var(--arise-validation-icon-position-kendo-datetimepicker-indicator-right) + var(--arise-validation-icon-position-kendo-datetimepicker-caret-gap));
    --arise-validation-icon-position-kendo-dropdownlist-indicator-top: 0.375rem;
    --arise-validation-icon-position-kendo-dropdownlist-indicator-right: 0rem;
    --arise-validation-icon-position-kendo-dropdownlist: right var(--arise-validation-icon-position-kendo-dropdownlist-indicator-right) top var(--arise-validation-icon-position-kendo-dropdownlist-indicator-top);
    --arise-validation-icon-position-kendo-dropdownlist-caret-gap: calc(0.75em + 0.375rem);
    --arise-validation-icon-position-kendo-dropdownlist-caret-offset: calc(var(--arise-validation-icon-position-kendo-dropdownlist-indicator-right) + var(--arise-validation-icon-position-kendo-dropdownlist-caret-gap));
    --arise-validation-icon-position-kendo-combobox-indicator-top: 0.375rem;
    --arise-validation-icon-position-kendo-combobox-indicator-right: 0rem;
    --arise-validation-icon-position-kendo-combobox-caret-gap: calc(0.75em + 0.375rem);
    --arise-validation-icon-position-kendo-combobox-caret-offset: calc(var(--arise-validation-icon-position-kendo-combobox-indicator-right) + var(--arise-validation-icon-position-kendo-combobox-caret-gap));
    --arise-validation-icon-position-kendo-multiselect: right calc(1.875em + 1.1875rem) top 0.375rem;
    --arise-validation-icon-position-kendo-multiselect-indicator-top: 0.375rem;
    --arise-validation-icon-position-kendo-multiselect-indicator-right: 0rem;
    --arise-validation-icon-position-kendo-multiselect-caret-gap: calc(0.75em + 0.375rem);
    --arise-validation-icon-position-kendo-multiselect-caret-offset: calc(var(--arise-validation-icon-position-kendo-multiselect-indicator-right) + var(--arise-validation-icon-position-kendo-multiselect-caret-gap));
    --arise-validation-icon-position-kendo-numerictextbox: right calc(1.875em + 1.1875rem) top 0.375rem;
    --arise-validation-icon-position-kendo-numerictextbox-indicator-top: 0.375rem;
    --arise-validation-icon-position-kendo-numerictextbox-indicator-right: 0rem;
    --arise-validation-icon-position-kendo-numerictextbox-caret-gap: calc(0.75em + 0.375rem);
    --arise-validation-icon-position-kendo-numerictextbox-caret-offset: calc(var(--arise-validation-icon-position-kendo-numerictextbox-indicator-right) + var(--arise-validation-icon-position-kendo-numerictextbox-caret-gap));
    --arise-validation-icon-position-kendo-upload: right calc(0.375em + 0.1875rem) top 0.375rem;
    --arise-validation-icon-position-grid-required: right top calc(0.275em + 1.1875rem);
    --arise-validation-icon-position-grid-invalid: right calc(.375em + .1875rem) center;
    --arise-validation-icon-position-grid-valid: right calc(0.375em + 1.1875rem) center;

    /* Shared validation style values */
    --arise-validation-padding-right-standard: calc(1.5em + 0.75rem);
    --arise-validation-padding-right-zero: 0;
    --arise-validation-background-repeat: no-repeat;
    --arise-validation-icon-dimension-standard: calc(0.75em + 0.375rem);
    --arise-validation-background-size-standard: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
    --arise-validation-background-size-compact: calc(.75em + .375rem) calc(.75em + .375rem);
}

/* START Validation indicator location normalization (state-consistent by control type) */
/* Regular (non-Kendo wrapper) inputs */
form .form-control:not(.k-datepicker):not(.k-datetimepicker):not(.k-dropdownlist):not(.k-multiselect):not(.k-numerictextbox):not(.k-input-inner) {
    background-position: var(--arise-validation-icon-position-regular) !important;
}

/* Kendo DatePicker (outer wrapper) */
form .k-datepicker.form-control.arise-kendo-widget-validation {
    background-position: var(--arise-validation-icon-position-kendo-datepicker) !important;
}

/* Kendo DateTimePicker */
form .k-datetimepicker.form-control.arise-kendo-widget-validation {
    background-position: var(--arise-validation-icon-position-kendo-datetimepicker) !important;
}

/* Kendo DropDownList */
form .k-dropdownlist.form-control.arise-kendo-widget-validation,
form .k-dropdownlist.arise-kendo-widget-validation {
    background-position: var(--arise-validation-icon-position-kendo-dropdownlist) !important;
}

/* Kendo MultiSelect */
form .k-multiselect.form-control.arise-kendo-widget-validation {
    background-position: var(--arise-validation-icon-position-kendo-multiselect) !important;
}

/* Kendo NumericTextBox */
form .k-numerictextbox.form-control.arise-kendo-widget-validation {
    background-position: var(--arise-validation-icon-position-kendo-numerictextbox) !important;
}
/* END Validation indicator location normalization */

form .form-control[data-val='true'][data-val-required]:not(.k-input-inner):not(.input-validation-error):not([aria-invalid='false']),
form .form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-required:not(.arise-kendo-widget-validation-valid):not(.arise-kendo-widget-validation-invalid):not(.valid):not(.input-validation-valid):not([data-arise-valid-state='valid']):not(.k-datepicker):not(.k-datetimepicker):not(.k-dropdownlist):not(.k-combobox):not(.k-dropdowngrid):not(.k-multiselect):not(.k-numerictextbox):not(.k-upload) {
    /*border-color: #0d6efd;*/
    padding-right: var(--arise-validation-padding-right-standard);
    background-image: var(--arise-validation-icon-red);
    background-repeat: var(--arise-validation-background-repeat);
    background-position: var(--arise-validation-icon-position-regular);
    background-size: var(--arise-validation-background-size-standard);
}

/* Align required indicators in grid edit rows with regular (non-grid) control positioning */
.k-grid .k-grid-edit-row .k-dropdownlist:has(input[data-val-required]) {
    background-position: var(--arise-validation-icon-position-kendo-dropdownlist) !important;
}

/* Match regular dropdown caret offset so icon/caret spacing is consistent in grid edit rows */
.k-grid .k-grid-edit-row .k-dropdownlist:has(input[data-val-required]) .k-input-button,
.k-grid .k-grid-edit-row .k-dropdownlist.k-invalid:has(input[data-val-required]) .k-input-button,
.k-grid .k-grid-edit-row .k-dropdownlist.k-valid:has(input[data-val-required]) .k-input-button {
    margin-right: var(--arise-validation-icon-position-kendo-dropdownlist-caret-offset) !important;
}

.k-grid .k-grid-edit-row textarea.form-control[data-val='true'][data-val-required],
.k-grid .k-grid-edit-row .k-widget.form-control[data-val-required][name='Text']:not(.k-valid),
.k-grid .k-grid-edit-row .k-widget.form-control[data-val-required][name='Note']:not(.k-valid),
.k-grid .k-grid-edit-row input.form-control[data-val='true'][data-val-required]:not([data-role='datepicker']) {
    background-position: var(--arise-validation-icon-position-regular) !important;
}

/* Match regular form-control inner padding for grid edit-row textareas */
.k-grid .k-grid-edit-row textarea.form-control {
    padding: 0.375rem 0.75rem;
}

/* Optional controls: never show validation indicator icons */
form .form-control:not([data-val-required]):not(.k-input-inner):not(.arise-kendo-widget-validation-required),
form .arise-kendo-widget-validation:not(.arise-kendo-widget-validation-required) {
    background-image: none !important;
}

/* Standard control INVALID style */
form .form-control:invalid:not(.k-input-inner),
form .form-control[data-val-required][aria-invalid='true']:not(.k-input-inner),
/*form .form-control[data-val='true'][data-val-required]:valid,*/
form .form-control.input-validation-error:not(.k-input-inner),
/*form .form-control[data-val][data-val-required]:placeholder-shown,*/
/*form .form-control.input-validation-error[data-val][data-val-required]:valid,*/
/*form .form-control.input-validation-error[data-val][data-val-required]:invalid,*/
form .form-control.input-validation-error[data-val][data-val-required]:not(.k-input-inner),
form .form-control.input-validation-error[data-val='true'][data-val-required]:not(.k-input-inner),
form .form-control[data-val='true'][data-val-required][aria-invalid='true']:not(.k-input-inner),
form .form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-invalid:not(.k-datepicker):not(.k-dropdownlist):not(.k-combobox):not(.k-dropdowngrid):not(.k-multiselect):not(.k-upload) {
    /*border-color: #dc3545;*/
    padding-right: var(--arise-validation-padding-right-standard);
    background-image: var(--arise-validation-icon-red);
    background-repeat: var(--arise-validation-background-repeat);
    background-position: var(--arise-validation-icon-position-regular);
    background-size: var(--arise-validation-background-size-standard);
}

/* Standard control VALID style */
/*form .form-control.valid.dirty,*/
form .form-control.valid.dirty:not(.k-input-inner):not([disabled]),
form .form-control.input-validation-valid:not(.k-input-inner):not([disabled]):not(.input-validation-error):not([aria-invalid='true']),
form .form-control[data-val='true'][data-val-required]:not([aria-invalid='true']):not([style*='display: none']):not(.k-input-inner):placeholder-shown.dirty,
/*form .form-control.k-input-inner[data-val='true'][data-val-required]
      :not([style*="display: none"])*/
form .form-control[data-val='true'][data-val-required][aria-invalid='false']:not(.k-input-inner)[value]:not([value=""]),
form .form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-valid:not(.k-datepicker):not(.k-dropdownlist):not(.k-combobox):not(.k-dropdowngrid):not(.k-multiselect):not(.k-upload),
form .form-control.valid.arise-kendo-widget-validation:not(.arise-kendo-widget-validation-required) {
    /*border-color: #198754;*/
    padding-right: var(--arise-validation-padding-right-standard);
    background-image: var(--arise-validation-icon-green);
    background-repeat: var(--arise-validation-background-repeat);
    background-position: var(--arise-validation-icon-position-regular);
    background-size: var(--arise-validation-background-size-standard);
}

/* Default field-validation-error styling */
/*form .form-control + span.field-validation-error,*/ /* Regular form-control */
/*form .form-control + script + span.field-validation-error,*/ /* Regular Kendo Widget */
/*form .form-control + script + script + span.field-validation-error,*/ /* Double nested Kendo widget, e.g. DatePicker with MaskedTextBox */
form span.field-validation-error,
form div.field-validation-error {
    display: inline-block;
    margin-bottom: 0.25em;
    color: #dc3545;
    /*margin-top: 0.25em;*/
    /*padding: 0.25em;*/
}

/* For CaseID DDL in Global Event Calendar which has no form */
span.field-validation-error-manual,
div.field-validation-error-manual {
    display: inline-block;
    margin-bottom: 0.25em;
    color: #dc3545;
    /*margin-top: 0.25em;*/
    /*padding: 0.25em;*/
}

.error-summary-icon {
    display: inline-block;
    height: 1em;
    width: 1em;
    background-size: 1em 1em;
    background-repeat: var(--arise-validation-background-repeat);
    background-image: var(--arise-validation-icon-white);
}





/* Customized required field positioning for DatePicker, DropDownList */
form .k-datepicker.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-required:not(.arise-kendo-widget-validation-valid):not(.arise-kendo-widget-validation-invalid) {
    padding-right: var(--arise-validation-padding-right-zero);
    background-position: var(--arise-validation-icon-position-kendo-datepicker);
}

form .k-dropdownlist.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-required:not(.arise-kendo-widget-validation-valid):not(.arise-kendo-widget-validation-invalid),
form .k-dropdownlist.arise-kendo-widget-validation.arise-kendo-widget-validation-required:not(.arise-kendo-widget-validation-valid):not(.arise-kendo-widget-validation-invalid),
form .k-numerictextbox.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-required:not(.arise-kendo-widget-validation-valid):not(.arise-kendo-widget-validation-invalid) {
    padding-right: var(--arise-validation-padding-right-zero);
}

form .k-multiselect.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-required:not(.arise-kendo-widget-validation-valid):not(.arise-kendo-widget-validation-invalid),
form .k-datetimepicker.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-required:not(.arise-kendo-widget-validation-valid):not(.arise-kendo-widget-validation-invalid) {
    padding-right: var(--arise-validation-padding-right-zero);
}

form .k-dropdownlist.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-required:not(.arise-kendo-widget-validation-valid):not(.arise-kendo-widget-validation-invalid),
form .k-dropdownlist.arise-kendo-widget-validation.arise-kendo-widget-validation-required:not(.arise-kendo-widget-validation-valid):not(.arise-kendo-widget-validation-invalid) {
    background-position: var(--arise-validation-icon-position-kendo-dropdownlist);
}

form .k-numerictextbox.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-required:not(.arise-kendo-widget-validation-valid):not(.arise-kendo-widget-validation-invalid) {
    background-position: var(--arise-validation-icon-position-kendo-numerictextbox);
}

/* Kendo required indicators aligned to dropdown/datepicker pseudo-element model */
form .k-numerictextbox.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-required:not(.arise-kendo-widget-validation-valid):not(.arise-kendo-widget-validation-invalid),
form .k-multiselect.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-required:not(.arise-kendo-widget-validation-valid):not(.arise-kendo-widget-validation-invalid),
form .k-datetimepicker.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-required:not(.arise-kendo-widget-validation-valid):not(.arise-kendo-widget-validation-invalid) {
    position: relative;
    overflow: visible;
    background-image: none;
}

form .k-multiselect.form-control.arise-kendo-widget-validation {
    position: relative;
    overflow: visible;
}

form .k-numerictextbox.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-required:not(.arise-kendo-widget-validation-valid):not(.arise-kendo-widget-validation-invalid) .k-input-spinner {
    margin-right: var(--arise-validation-icon-position-kendo-numerictextbox-caret-offset);
}

form .k-multiselect.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-required:not(.arise-kendo-widget-validation-valid):not(.arise-kendo-widget-validation-invalid) .k-input-button {
    margin-right: var(--arise-validation-icon-position-kendo-multiselect-caret-offset);
}

/* Move MultiSelect clear icon right for required validation states (including disabled) */
form .k-multiselect.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-required .k-clear-value,
form .k-multiselect.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-invalid .k-clear-value,
form .k-multiselect.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-valid .k-clear-value {
    margin-right: var(--arise-validation-icon-position-kendo-multiselect-caret-offset);
}

form .k-multiselect.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-invalid .k-input-button,
form .k-multiselect.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-valid .k-input-button {
    margin-right: var(--arise-validation-icon-position-kendo-multiselect-caret-offset);
}

form .k-datetimepicker.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-required:not(.arise-kendo-widget-validation-valid):not(.arise-kendo-widget-validation-invalid) .k-input-button:last-child {
    margin-right: var(--arise-validation-icon-position-kendo-datetimepicker-caret-offset);
}

form .k-numerictextbox.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-required:not(.arise-kendo-widget-validation-valid):not(.arise-kendo-widget-validation-invalid)::after {
    content: "";
    position: absolute;
    top: var(--arise-validation-icon-position-kendo-numerictextbox-indicator-top);
    right: var(--arise-validation-icon-position-kendo-numerictextbox-indicator-right);
    width: var(--arise-validation-icon-dimension-standard);
    height: var(--arise-validation-icon-dimension-standard);
    background-image: var(--arise-validation-icon-red);
    background-repeat: var(--arise-validation-background-repeat);
    background-size: contain;
    pointer-events: none;
    z-index: 1;
}

form .k-multiselect.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-invalid,
form .k-multiselect.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-valid {
    background-image: none;
}

form .k-multiselect.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-invalid::after {
    content: "";
    position: absolute;
    top: var(--arise-validation-icon-position-kendo-multiselect-indicator-top);
    right: var(--arise-validation-icon-position-kendo-multiselect-indicator-right);
    width: var(--arise-validation-icon-dimension-standard);
    height: var(--arise-validation-icon-dimension-standard);
    background-image: var(--arise-validation-icon-red);
    background-repeat: var(--arise-validation-background-repeat);
    background-size: contain;
    pointer-events: none;
    z-index: 1;
}

form .k-multiselect.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-valid::after {
    content: "";
    position: absolute;
    top: var(--arise-validation-icon-position-kendo-multiselect-indicator-top);
    right: var(--arise-validation-icon-position-kendo-multiselect-indicator-right);
    width: var(--arise-validation-icon-dimension-standard);
    height: var(--arise-validation-icon-dimension-standard);
    background-image: var(--arise-validation-icon-green);
    background-repeat: var(--arise-validation-background-repeat);
    background-size: contain;
    pointer-events: none;
    z-index: 1;
}

/* Kendo ComboBox / MultiColumnComboBox required indicator via pseudo-element */
form .k-combobox.form-control.arise-kendo-widget-validation,
form .k-dropdowngrid.form-control.arise-kendo-widget-validation {
    position: relative;
    overflow: visible;
}

form .k-combobox.form-control.arise-kendo-widget-validation .k-input-button,
form .k-dropdowngrid.form-control.arise-kendo-widget-validation .k-input-button {
    margin-right: var(--arise-validation-icon-position-kendo-combobox-caret-offset);
}

form .k-combobox.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-required:not(.arise-kendo-widget-validation-valid):not(.arise-kendo-widget-validation-invalid),
form .k-dropdowngrid.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-required:not(.arise-kendo-widget-validation-valid):not(.arise-kendo-widget-validation-invalid),
form .k-combobox.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-invalid,
form .k-dropdowngrid.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-invalid,
form .k-combobox.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-valid,
form .k-dropdowngrid.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-valid {
    padding-right: var(--arise-validation-padding-right-zero);
    background-image: none;
}

form .k-combobox.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-required:not(.arise-kendo-widget-validation-valid):not(.arise-kendo-widget-validation-invalid)::after,
form .k-dropdowngrid.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-required:not(.arise-kendo-widget-validation-valid):not(.arise-kendo-widget-validation-invalid)::after,
form .k-combobox.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-invalid::after,
form .k-dropdowngrid.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-invalid::after {
    content: "";
    position: absolute;
    top: var(--arise-validation-icon-position-kendo-combobox-indicator-top);
    right: var(--arise-validation-icon-position-kendo-combobox-indicator-right);
    width: var(--arise-validation-icon-dimension-standard);
    height: var(--arise-validation-icon-dimension-standard);
    background-image: var(--arise-validation-icon-red);
    background-repeat: var(--arise-validation-background-repeat);
    background-size: contain;
    pointer-events: none;
    z-index: 1;
}

form .k-combobox.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-valid::after,
form .k-dropdowngrid.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-valid::after {
    content: "";
    position: absolute;
    top: var(--arise-validation-icon-position-kendo-combobox-indicator-top);
    right: var(--arise-validation-icon-position-kendo-combobox-indicator-right);
    width: var(--arise-validation-icon-dimension-standard);
    height: var(--arise-validation-icon-dimension-standard);
    background-image: var(--arise-validation-icon-green);
    background-repeat: var(--arise-validation-background-repeat);
    background-size: contain;
    pointer-events: none;
    z-index: 1;
}

form .k-multiselect.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-required:not(.arise-kendo-widget-validation-valid):not(.arise-kendo-widget-validation-invalid)::after {
    content: "";
    position: absolute;
    top: var(--arise-validation-icon-position-kendo-multiselect-indicator-top);
    right: var(--arise-validation-icon-position-kendo-multiselect-indicator-right);
    width: var(--arise-validation-icon-dimension-standard);
    height: var(--arise-validation-icon-dimension-standard);
    background-image: var(--arise-validation-icon-red);
    background-repeat: var(--arise-validation-background-repeat);
    background-size: contain;
    pointer-events: none;
    z-index: 1;
}

form .k-datetimepicker.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-required:not(.arise-kendo-widget-validation-valid):not(.arise-kendo-widget-validation-invalid)::after {
    content: "";
    position: absolute;
    top: var(--arise-validation-icon-position-kendo-datetimepicker-indicator-top);
    right: var(--arise-validation-icon-position-kendo-datetimepicker-indicator-right);
    width: var(--arise-validation-icon-dimension-standard);
    height: var(--arise-validation-icon-dimension-standard);
    background-image: var(--arise-validation-icon-red);
    background-repeat: var(--arise-validation-background-repeat);
    background-size: contain;
    pointer-events: none;
    z-index: 1;
}

/* Kendo DropDownList required indicator style */
form .k-dropdownlist.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-required:not(.arise-kendo-widget-validation-valid):not(.arise-kendo-widget-validation-invalid),
form .k-dropdownlist.arise-kendo-widget-validation.arise-kendo-widget-validation-required:not(.arise-kendo-widget-validation-valid):not(.arise-kendo-widget-validation-invalid) {
    background-image: none;
}

/* Move dropdown caret left to avoid overlap with top-right validation indicator */
form .k-dropdownlist.arise-kendo-widget-validation .k-input-button {
    margin-right: var(--arise-validation-icon-position-kendo-dropdownlist-caret-offset);
}

form .k-dropdownlist.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-required:not(.arise-kendo-widget-validation-valid):not(.arise-kendo-widget-validation-invalid)::after,
form .k-dropdownlist.arise-kendo-widget-validation.arise-kendo-widget-validation-required:not(.arise-kendo-widget-validation-valid):not(.arise-kendo-widget-validation-invalid)::after {
    content: "";
    position: absolute;
    top: var(--arise-validation-icon-position-kendo-dropdownlist-indicator-top);
    right: var(--arise-validation-icon-position-kendo-dropdownlist-indicator-right);
    width: var(--arise-validation-icon-dimension-standard);
    height: var(--arise-validation-icon-dimension-standard);
    background-image: var(--arise-validation-icon-red);
    background-repeat: var(--arise-validation-background-repeat);
    background-size: contain;
    pointer-events: none;
    z-index: 1;
}

/* Kendo Upload required/invalid indicator style */
form .k-upload.arise-kendo-widget-validation.arise-kendo-widget-validation-required:not(.arise-kendo-widget-validation-valid):not(.arise-kendo-widget-validation-invalid),
form .k-upload.arise-kendo-widget-validation.arise-kendo-widget-validation-invalid {
    padding-right: var(--arise-validation-padding-right-zero);
    background-image: none;
}

/* Kendo Upload valid indicator style */
form .k-upload.arise-kendo-widget-validation.arise-kendo-widget-validation-valid {
    padding-right: var(--arise-validation-padding-right-zero);
    background-image: none;
}

/* Kendo Upload indicator via pseudo-element (keeps control background full width) */
form .k-upload.arise-kendo-widget-validation {
    position: relative;
    overflow: visible;
}

form .k-upload.arise-kendo-widget-validation::after {
    content: "";
    position: absolute;
    top: var(--arise-validation-icon-position-kendo-dropdownlist-indicator-top);
    right: var(--arise-validation-icon-position-kendo-dropdownlist-indicator-right);
    width: var(--arise-validation-icon-dimension-standard);
    height: var(--arise-validation-icon-dimension-standard);
    background-repeat: var(--arise-validation-background-repeat);
    background-size: contain;
    pointer-events: none;
    z-index: 1;
    display: none;
}

form .k-upload.arise-kendo-widget-validation.arise-kendo-widget-validation-required:not(.arise-kendo-widget-validation-valid):not(.arise-kendo-widget-validation-invalid)::after,
form .k-upload.arise-kendo-widget-validation.arise-kendo-widget-validation-invalid::after {
    display: block;
    background-image: var(--arise-validation-icon-red);
}

form .k-upload.arise-kendo-widget-validation.arise-kendo-widget-validation-valid::after {
    display: block;
    background-image: var(--arise-validation-icon-green);
}

/* Customized required field positioning for DateTimePicker */
form .k-datetimepicker.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-required:not(.arise-kendo-widget-validation-valid):not(.arise-kendo-widget-validation-invalid) {
    padding-right: var(--arise-validation-padding-right-zero);
    background-position: var(--arise-validation-icon-position-kendo-datetimepicker);
}

/* Customized invalid field positioning for DatePicker */
form .k-datepicker.form-control:invalid,
form .k-datepicker.form-control[data-val-required][aria-invalid='true']:not(.k-input-inner),
form .k-datepicker.form-control.input-validation-error:not(.k-input-inner),
form .k-datepicker.form-control[data-val][data-val-required][aria-describedby$='-error']:not(.k-input-inner),
form .k-datepicker.form-control.input-validation-error[data-val][data-val-required]:not(.k-input-inner),
form .k-datepicker.form-control.input-validation-error[data-val='true'][data-val-required]:not(.k-input-inner),
form .k-datepicker.form-control[data-val='true'][data-val-required][aria-invalid='true']:not(.k-input-inner),
form .k-datepicker.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-invalid {
    padding-right: var(--arise-validation-padding-right-zero);
    background-position: var(--arise-validation-icon-position-kendo-datepicker);
}

/* Kendo DatePicker indicator on inner input (prevents outer wrapper overlap on hover/focus) */
form .k-datepicker.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-required,
form .k-datepicker.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-invalid,
form .k-datepicker.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-valid {
    background-image: none !important;
}

/* Kendo DatePicker indicator via pseudo-element (after calendar button) */
form .k-datepicker.form-control.arise-kendo-widget-validation {
    position: relative;
    overflow: visible;
}

/* Move datepicker calendar button left to avoid overlap with top-right validation indicator */
form .k-datepicker.form-control.arise-kendo-widget-validation .k-input-button {
    margin-right: var(--arise-validation-icon-position-kendo-datepicker-caret-offset);
}

form .k-datepicker.form-control.arise-kendo-widget-validation::after {
    content: "";
    position: absolute;
    top: var(--arise-validation-icon-position-kendo-datepicker-indicator-top);
    right: var(--arise-validation-icon-position-kendo-datepicker-indicator-right);
    width: var(--arise-validation-icon-dimension-standard);
    height: var(--arise-validation-icon-dimension-standard);
    background-repeat: var(--arise-validation-background-repeat);
    background-size: contain;
    pointer-events: none;
    z-index: 1;
    display: none;
}

form .k-datepicker.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-required:not(.arise-kendo-widget-validation-valid):not(.arise-kendo-widget-validation-invalid)::after,
form .k-datepicker.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-invalid::after {
    display: block;
    background-image: var(--arise-validation-icon-red);
}

form .k-datepicker.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-valid::after {
    display: block;
    background-image: var(--arise-validation-icon-green);
}

/* Customized invalid field positioning for DateTimePicker */
form .k-datetimepicker.form-control:invalid,
form .k-datetimepicker.form-control[data-val-required][aria-invalid='true']:not(.k-input-inner),
form .k-datetimepicker.form-control.input-validation-error:not(.k-input-inner),
form .k-datetimepicker.form-control[data-val][data-val-required][aria-describedby$='-error']:not(.k-input-inner),
form .k-datetimepicker.form-control.input-validation-error[data-val][data-val-required]:not(.k-input-inner),
form .k-datetimepicker.form-control.input-validation-error[data-val='true'][data-val-required]:not(.k-input-inner),
form .k-datetimepicker.form-control[data-val='true'][data-val-required][aria-invalid='true']:not(.k-input-inner),
form .k-datetimepicker.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-invalid {
    padding-right: var(--arise-validation-padding-right-zero);
    background-position: var(--arise-validation-icon-position-kendo-datetimepicker);
}

/* Customized invalid field positioning for DropDownList */
form .k-dropdownlist.form-control:invalid,
form .k-dropdownlist.form-control[data-val-required][aria-invalid='true']:not(.k-input-inner),
form .k-dropdownlist.form-control.input-validation-error:not(.k-input-inner),
form .k-dropdownlist.form-control[data-val][data-val-required][aria-describedby$='-error']:not(.k-input-inner),
form .k-dropdownlist.form-control.input-validation-error[data-val][data-val-required]:not(.k-input-inner),
form .k-dropdownlist.form-control.input-validation-error[data-val='true'][data-val-required]:not(.k-input-inner),
form .k-dropdownlist.form-control[data-val='true'][data-val-required][aria-invalid='true']:not(.k-input-inner),
form .k-dropdownlist.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-invalid,
form .k-dropdownlist.arise-kendo-widget-validation.arise-kendo-widget-validation-invalid {
    padding-right: var(--arise-validation-padding-right-zero);
    background-position: var(--arise-validation-icon-position-kendo-dropdownlist);
}

/* Kendo DropDownList invalid indicator style */
form .k-dropdownlist.arise-kendo-widget-validation.arise-kendo-widget-validation-invalid {
    background-image: none;
}

form .k-dropdownlist.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-invalid::after,
form .k-dropdownlist.arise-kendo-widget-validation.arise-kendo-widget-validation-invalid::after {
    content: "";
    position: absolute;
    top: var(--arise-validation-icon-position-kendo-dropdownlist-indicator-top);
    right: var(--arise-validation-icon-position-kendo-dropdownlist-indicator-right);
    width: var(--arise-validation-icon-dimension-standard);
    height: var(--arise-validation-icon-dimension-standard);
    background-image: var(--arise-validation-icon-red);
    background-repeat: var(--arise-validation-background-repeat);
    background-size: contain;
    pointer-events: none;
    z-index: 1;
}

/* Customized invalid field positioning for MultiSelect */
form .k-multiselect.form-control:invalid,
form .k-multiselect.form-control[data-val-required][aria-invalid='true']:not(.k-input-inner),
form .k-multiselect.form-control.input-validation-error:not(.k-input-inner),
form .k-multiselect.form-control[data-val][data-val-required][aria-describedby$='-error']:not(.k-input-inner),
form .k-multiselect.form-control.input-validation-error[data-val][data-val-required]:not(.k-input-inner),
form .k-multiselect.form-control.input-validation-error[data-val='true'][data-val-required]:not(.k-input-inner),
form .k-multiselect.form-control[data-val='true'][data-val-required][aria-invalid='true']:not(.k-input-inner),
form .k-multiselect.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-invalid {
    padding-right: var(--arise-validation-padding-right-zero);
    background-position: var(--arise-validation-icon-position-kendo-multiselect);
}

/* Customized invalid field positioning for NumericTextBox */
form .k-numerictextbox.form-control:invalid,
form .k-numerictextbox.form-control[data-val-required][aria-invalid='true']:not(.k-input-inner),
form .k-numerictextbox.form-control.input-validation-error:not(.k-input-inner),
form .k-numerictextbox.form-control[data-val][data-val-required][aria-describedby$='-error']:not(.k-input-inner),
form .k-numerictextbox.form-control.input-validation-error[data-val][data-val-required]:not(.k-input-inner),
form .k-numerictextbox.form-control.input-validation-error[data-val='true'][data-val-required]:not(.k-input-inner),
form .k-numerictextbox.form-control[data-val='true'][data-val-required][aria-invalid='true']:not(.k-input-inner),
form .k-numerictextbox.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-invalid {
    padding-right: var(--arise-validation-padding-right-zero);
    background-position: var(--arise-validation-icon-position-kendo-numerictextbox);
}

/* Customized valid field positioning for DatePicker */
form .k-datepicker.form-control.valid[data-val='true'][data-val-required='true'],
form .k-datepicker.form-control[data-val='true'][data-val-required]:not([style*='display: none']):not(.k-input-inner):not(:placeholder-shown),
form .k-datepicker.form-control[data-val='true'][data-val-required][aria-invalid='false']:not(.k-input-inner),
form .k-datepicker.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-valid {
    padding-right: var(--arise-validation-padding-right-zero);
    background-position: var(--arise-validation-icon-position-kendo-datepicker);
}

/* Customized valid field positioning for DateTimePicker */
form .k-datetimepicker.form-control.valid[data-val='true'][data-val-required='true'],
form .k-datetimepicker.form-control[data-val='true'][data-val-required]:not([style*='display: none']):not(.k-input-inner):not(:placeholder-shown),
form .k-datetimepicker.form-control[data-val='true'][data-val-required][aria-invalid='false']:not(.k-input-inner),
form .k-datetimepicker.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-valid {
    padding-right: var(--arise-validation-padding-right-zero);
    background-position: var(--arise-validation-icon-position-kendo-datetimepicker);
}

/* Customized valid field positioning for DropDownList */
form .k-dropdownlist.form-control.valid[data-val='true'][data-val-required='true'],
form .k-dropdownlist.form-control[data-val='true'][data-val-required]:not([style*='display: none']):not(.k-input-inner):not(:placeholder-shown),
form .k-dropdownlist.form-control[data-val='true'][data-val-required][aria-invalid='false']:not(.k-input-inner),
form .k-dropdownlist.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-valid,
form .k-dropdownlist.arise-kendo-widget-validation.arise-kendo-widget-validation-valid {
    padding-right: var(--arise-validation-padding-right-zero);
    background-position: var(--arise-validation-icon-position-kendo-dropdownlist);
}

/* Kendo DropDownList valid indicator style */
form .k-dropdownlist.arise-kendo-widget-validation.arise-kendo-widget-validation-valid {
    background-image: none;
}

form .k-dropdownlist.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-valid::after,
form .k-dropdownlist.arise-kendo-widget-validation.arise-kendo-widget-validation-valid::after {
    content: "";
    position: absolute;
    top: var(--arise-validation-icon-position-kendo-dropdownlist-indicator-top);
    right: var(--arise-validation-icon-position-kendo-dropdownlist-indicator-right);
    width: var(--arise-validation-icon-dimension-standard);
    height: var(--arise-validation-icon-dimension-standard);
    background-image: var(--arise-validation-icon-green);
    background-repeat: var(--arise-validation-background-repeat);
    background-size: contain;
    pointer-events: none;
    z-index: 1;
}

/* Customized valid field positioning for DropDownList */
form .k-multiselect.form-control.valid[data-val='true'][data-val-required='true'],
form .k-multiselect.form-control[data-val='true'][data-val-required]:not([style*='display: none']):not(.k-input-inner):not(:placeholder-shown),
form .k-multiselect.form-control[data-val='true'][data-val-required][aria-invalid='false']:not(.k-input-inner),
form .k-multiselect.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-valid {
    padding-right: var(--arise-validation-padding-right-zero);
    background-position: var(--arise-validation-icon-position-kendo-multiselect);
}

/* Customized valid field positioning for DatePicker */
form .k-numerictextbox.form-control.valid[data-val='true'][data-val-required='true'],
form .k-numerictextbox.form-control[data-val='true'][data-val-required]:not([style*='display: none']):not(.k-input-inner):not(:placeholder-shown),
form .k-numerictextbox.form-control[data-val='true'][data-val-required][aria-invalid='false']:not(.k-input-inner),
form .k-numerictextbox.form-control.arise-kendo-widget-validation.arise-kendo-widget-validation-valid {
    padding-right: var(--arise-validation-padding-right-zero);
    background-position: var(--arise-validation-icon-position-kendo-numerictextbox);
}

/* Kendo grid inline Editing styles */

.k-grid .k-grid-edit-row .field-validation-error {
    display: block;
    position: initial;
}

.k-grid .k-grid-edit-row .k-tooltip-error {
    color: #dc3545;
    background: transparent;
}

.k-grid .k-grid-edit-row .k-dropdownlist:has(input[data-val-required]),
.k-widget.form-control[data-val-required][name='Note']:not(.k-valid),
.k-widget.form-control[data-val-required][name='Text']:not(.k-valid),
.k-grid .k-grid-edit-row span.k-maskedtextbox:has(input[data-val-required]):not(.k-disabled),
.k-grid .k-grid-edit-row input[data-val='true'][data-val-required]:not([data-role='datepicker']) {
    padding-right: var(--arise-validation-padding-right-standard);
    background-image: var(--arise-validation-icon-red);
    background-repeat: var(--arise-validation-background-repeat);
    background-position: var(--arise-validation-icon-position-grid-required);
    background-size: var(--arise-validation-background-size-standard);
}

/* Kendo grid inline Editing Dropdown invalid styles */
.k-grid .k-grid-edit-row .k-dropdownlist.k-invalid:has(input[data-val-required]),
.k-grid .k-grid-edit-row input.form-control.k-invalid:not([data-role='datepicker']) {
    /*border-color: #dc3545;*/
    padding-right: var(--arise-validation-padding-right-standard);
    background-image: var(--arise-validation-icon-red);
    background-repeat: var(--arise-validation-background-repeat);
    background-position: var(--arise-validation-icon-position-grid-invalid);
    background-size: var(--arise-validation-background-size-compact);
}
/* Kendo grid inline Editing Dropdown valid styles */
.k-grid .k-grid-edit-row .k-dropdownlist.k-valid:has(input[data-val-required]),
.k-widget.form-control.k-valid[data-val-required][name='Note'],
.k-grid .k-grid-edit-row input.form-control.k-valid:not([data-role='datepicker']):not(:placeholder-shown) {
    /*border-color: #198754;*/
    background-image: var(--arise-validation-icon-green);
    background-repeat: var(--arise-validation-background-repeat);
    background-position: var(--arise-validation-icon-position-grid-valid);
    background-size: var(--arise-validation-background-size-standard);
}

/* Kendo grid inline Editing Datepicker valid styles */
.k-grid .k-grid-edit-row span.k-datepicker.k-invalid span.k-maskedtextbox {
    /*border-color: #dc3545;*/
    padding-right: var(--arise-validation-padding-right-standard);
    background-image: var(--arise-validation-icon-red);
    background-repeat: var(--arise-validation-background-repeat);
    background-position: var(--arise-validation-icon-position-grid-invalid);
    background-size: var(--arise-validation-background-size-compact);
}

/* Kendo grid inline Editing Datepicker invalid styles */
.k-grid .k-grid-edit-row span.k-datepicker.k-valid,
.k-grid .k-grid-edit-row span.k-datepicker.k-valid span.k-maskedtextbox {
    /*border-color: #198754;*/
    background-image: var(--arise-validation-icon-green);
    background-repeat: var(--arise-validation-background-repeat);
    background-position: var(--arise-validation-icon-position-grid-valid);
    background-size: var(--arise-validation-background-size-standard);
}

/* position required and valid icons */
.k-grid .k-grid-edit-row .k-dropdownlist.k-valid,
.k-grid .k-grid-edit-row .k-dropdownlist.k-valid:has(input[data-val-required]),
.k-grid .k-grid-edit-row .k-dropdownlist.k-valid:has(.k-input-inner),
.k-grid .k-grid-edit-row input.form-control.k-valid:not([data-role='datepicker']),
.k-grid .k-grid-edit-row .k-dropdownlist:has(input[data-val-required]) {
    padding-right: var(--arise-validation-padding-right-zero);
    background-position: var(--arise-validation-icon-position-kendo-dropdownlist);
}
/* position required and valid icons */
.k-grid .k-grid-edit-row .k-dropdownlist.k-invalid,
.k-grid .k-grid-edit-row .form-control.k-invalid,
.k-grid .k-grid-edit-row .k-dropdownlist.k-invalid:has(input[data-val-required]),
.k-grid .k-grid-edit-row .k-dropdownlist:has(input[data-val-required]) {
    padding-right: var(--arise-validation-padding-right-zero);
    background-position: var(--arise-validation-icon-position-kendo-dropdownlist);
}

/* Overwrite kendo styling for tool-tip and icon */
.k-grid.k-widget .k-grid-edit-row .k-tooltip {
    all: unset;
    display: flex;
    margin-bottom: 0.25em;
    color: #dc3545;
}

    .k-grid.k-widget .k-grid-edit-row .k-tooltip .k-i-warning {
        display: none;
    }

        .k-grid.k-widget .k-grid-edit-row .k-tooltip .k-i-warning::before {
            content: none;
        }


/*Kendo Edit Popup Validations Overwrite*/

.k-edit-form-container {
    width: auto;
}

    .k-edit-form-container .k-tooltip,
    .k-edit-form-container .k-callout,
    .k-edit-form-container .k-i-warning {
        all: unset;
        margin-bottom: 0.25em;
        color: #dc3545;
    }

        .k-edit-form-container .k-tooltip.k-tooltip-error > .k-svg-icon {
            display: none;
        }

/* START Generic RadioBool required indicator on span.form-control */
form .input-group.arise-required-input-group > .form-control {
    position: relative;
    padding-right: var(--arise-validation-padding-right-standard);
}

/* Lightweight fallback (no :has support): class-driven states remain strong */
form .input-group.arise-required-input-group.arise-required-input-group-fallback > .form-control {
    --arise-required-input-group-icon: var(--arise-validation-icon-red);
}

form .input-group.arise-required-input-group.arise-required-input-group-fallback.arise-kendo-widget-validation-valid > .form-control {
    --arise-required-input-group-icon: var(--arise-validation-icon-green);
}

form .input-group.arise-required-input-group.arise-required-input-group-fallback.arise-kendo-widget-validation-invalid > .form-control {
    --arise-required-input-group-icon: var(--arise-validation-icon-red);
}

/* Modern browser enhancement: prefer checked-state icon coloring when :has is supported */
@supports selector(:has(*)) {
    form .input-group.arise-required-input-group:has(input[type='radio'][data-val-required]):not(:has(input[type='radio']:checked)) > .form-control {
        --arise-required-input-group-icon: var(--arise-validation-icon-red);
    }

    form .input-group.arise-required-input-group:has(input[type='radio']:checked) > .form-control {
        --arise-required-input-group-icon: var(--arise-validation-icon-green);
    }
}

form .input-group.arise-required-input-group > .form-control::after {
    content: "";
    position: absolute;
    top: 0.375rem;
    right: 0.375rem;
    width: var(--arise-validation-icon-dimension-standard);
    height: var(--arise-validation-icon-dimension-standard);
    background-image: var(--arise-required-input-group-icon, var(--arise-validation-icon-red));
    background-repeat: var(--arise-validation-background-repeat);
    background-size: contain;
    pointer-events: none;
}

/* END Generic RadioBool required indicator on span.form-control */