﻿/* Global: consistent font for form controls and field labels (detail pages, dialogs) */
:root {
    --accy-control-font-size: 0.875rem;
    --accy-control-line-height: 1.5;
    --accy-field-label-font-size: 0.875rem;
}

:is(.main, .wrapper, .k-window-content, .k-dialog-content) :is(
    .k-input,
    .k-input-inner,
    .k-input-value-text,
    .k-picker,
    .k-textbox,
    .k-textarea,
    .k-combobox,
    .k-dropdownlist,
    .k-numerictextbox,
    .k-multiselect,
    .k-datepicker,
    .k-timepicker,
    .k-datetimepicker,
    .form-control,
    .form-select
) {
    font-size: var(--accy-control-font-size);
    line-height: var(--accy-control-line-height);
}

:is(.main, .wrapper, .k-window-content, .k-dialog-content) textarea:not(.k-input-inner) {
    font-size: var(--accy-control-font-size);
    line-height: var(--accy-control-line-height);
}

:is(.main, .wrapper, .k-window-content, .k-dialog-content) :is(
    .field-label,
    .field-caption,
    .xinv-field-label,
    .qo-label
) {
    font-size: var(--accy-field-label-font-size);
}

/* begin global: disable Telerik/Kendo popup animations (all components) */
/* ComboBox, DropDownList, DateTimePicker, DatePicker, Window, Drawer, etc. */

.k-child-animation-container {
    transition: none !important;
    transition-duration: 0ms !important;
    animation-duration: 0ms !important;
    animation-delay: 0ms !important;
}

.k-animation-container {
    box-shadow: var(--kendo-elevation-4, 0 8px 10px rgba(0, 0, 0, 0.12), 0 4px 16px rgba(0, 0, 0, 0.12));
}

.k-animation-container:has(.k-slide-down-exit),
.k-animation-container > div > .k-popup {
    box-shadow: none;
}

.k-animation-container .k-popup,
.k-popup.k-reset,
.k-popup {
    transition: none !important;
    animation: none !important;
    transition-duration: 0ms !important;
    animation-duration: 0ms !important;
}

[class^="k-slide-"][class$="-enter-active"],
[class^="k-slide-"][class$="-appear-active"],
[class^="k-slide-"][class$="-exit-active"],
[class^="k-fade-"][class$="-enter-active"],
[class^="k-fade-"][class$="-appear-active"],
[class^="k-fade-"][class$="-exit-active"],
[class^="k-zoom-"][class$="-enter-active"],
[class^="k-zoom-"][class$="-appear-active"],
[class^="k-zoom-"][class$="-exit-active"],
[class^="k-expand-"][class$="-enter-active"],
[class^="k-expand-"][class$="-appear-active"],
[class^="k-expand-"][class$="-exit-active"],
[class^="k-reveal-"][class$="-enter-active"],
[class^="k-reveal-"][class$="-appear-active"],
[class^="k-reveal-"][class$="-exit-active"] {
    transition: none !important;
    animation: none !important;
    transition-duration: 0ms !important;
    animation-duration: 0ms !important;
}

[class^="k-slide-"][class$="-enter"],
[class^="k-slide-"][class$="-appear"],
[class^="k-slide-"][class$="-exit"],
[class^="k-fade-"][class$="-enter"],
[class^="k-fade-"][class$="-appear"],
[class^="k-fade-"][class$="-exit"],
[class^="k-zoom-"][class$="-enter"],
[class^="k-zoom-"][class$="-appear"],
[class^="k-zoom-"][class$="-exit"] {
    transform: none !important;
    opacity: 1 !important;
}

.k-drawer-wrapper {
    transition: none !important;
}

/* end global: disable Telerik/Kendo popup animations */

/* MultiColumnComboBox: popup width matches anchor; table fills popup */
.k-animation-container:has(.k-table-th) .k-popup {
    box-sizing: border-box;
}

.k-animation-container:has(.k-table-th) .k-popup .k-table {
    width: 100%;
    table-layout: fixed;
}

.k-animation-container:has(.k-table-th) .k-table-th,
.k-animation-container:has(.k-table-th) .k-table-td {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.telerik-pop {
    z-index: 44444;
}

.select-inv-popup-window.k-window .k-window-content {
    overflow: auto;
    max-height: calc(92vh - 52px);
}

/* Payment method popup: fit content through OK button without scrolling */
.payment-popup-window.k-window {
    height: auto !important;
    max-height: 96vh !important;
}

.payment-popup-window.k-window .k-window-content {
    overflow: visible !important;
    max-height: calc(96vh - 52px) !important;
}

.payment-popup-window .card-body {
    padding: 0.5rem 0.75rem;
}

.payment-popup-window .card-header {
    padding: 0.3rem 0.75rem;
}

.payment-popup-window .card-header label {
    margin-bottom: 0;
    font-size: 0.9rem;
}

.payment-popup-window .row.pt-3 {
    padding-top: 0.5rem !important;
}

.payment-popup-window .row.pt-2 {
    padding-top: 0.35rem !important;
}

.payment-popup-window .row.pb-2 {
    padding-bottom: 0.35rem !important;
}

.payment-popup-window .k-textarea textarea {
    min-height: 2.5rem !important;
    max-height: 3.5rem !important;
}

.payment-popup-window .Textboxcenter.h-75 {
    height: auto !important;
}

.payment-popup-window .Textboxcenter .k-input-inner {
    font-size: 1rem !important;
    padding-top: 0.35rem !important;
    padding-bottom: 0.35rem !important;
}

/* Master type / unit popup: shrink window to content */
.mastertype-unit-window.k-window {
    height: auto !important;
    max-height: 92vh !important;
}

.mastertype-unit-window.k-window .k-window-content {
    overflow: auto !important;
    max-height: calc(92vh - 52px) !important;
    padding: 0.65rem 0.85rem !important;
}

.required-mark {
    color: red;
}

/* Modal PDF preview: fill window below title bar (Quest / ViewPDF_Com) */
.pv-quest-pdf-window.k-window {
    display: flex !important;
    flex-direction: column !important;
    max-height: 96vh !important;
    box-sizing: border-box;
}

.pv-quest-pdf-window.k-window .k-window-titlebar {
    flex-shrink: 0;
}

.pv-quest-pdf-window.k-window .k-window-content {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

.pv-quest-pdf-window-content {
    height: calc(96vh - 92px);
    min-height: 560px;
    display: flex;
    flex: 1 1 auto;
    box-sizing: border-box;
}

.swal2-container {
    z-index: 20000 !important;
}

/* Global: black border for Telerik inputs and standard form controls */
:is(.main, .wrapper, .k-window-content, .k-dialog-content) .k-input:not(.k-input-button),
:is(.main, .wrapper, .k-window-content, .k-dialog-content) .k-picker,
:is(.main, .wrapper, .k-window-content, .k-dialog-content) .k-textarea,
:is(.main, .wrapper, .k-window-content, .k-dialog-content) .k-dropdownlist,
:is(.main, .wrapper, .k-window-content, .k-dialog-content) .k-combobox,
:is(.main, .wrapper, .k-window-content, .k-dialog-content) .k-multiselect {
    border: 1px solid #000 !important;
    border-radius: 0.25rem !important;
}

:is(.main, .wrapper, .k-window-content, .k-dialog-content) .k-input:not(.k-input-button):focus-within,
:is(.main, .wrapper, .k-window-content, .k-dialog-content) .k-picker:focus-within,
:is(.main, .wrapper, .k-window-content, .k-dialog-content) .k-textarea:focus-within,
:is(.main, .wrapper, .k-window-content, .k-dialog-content) .k-dropdownlist:focus-within,
:is(.main, .wrapper, .k-window-content, .k-dialog-content) .k-combobox:focus-within,
:is(.main, .wrapper, .k-window-content, .k-dialog-content) .k-multiselect:focus-within {
    border-color: #000 !important;
    box-shadow: 0 0 0 1px #000 !important;
}

:is(.main, .wrapper, .k-window-content, .k-dialog-content) .form-control,
:is(.main, .wrapper, .k-window-content, .k-dialog-content) .form-select,
:is(.main, .wrapper, .k-window-content, .k-dialog-content) textarea:not(.k-input-inner) {
    border: 1px solid #000 !important;
    border-radius: 0.25rem;
}

:is(.main, .wrapper, .k-window-content, .k-dialog-content) .form-control:focus,
:is(.main, .wrapper, .k-window-content, .k-dialog-content) .form-select:focus,
:is(.main, .wrapper, .k-window-content, .k-dialog-content) textarea:not(.k-input-inner):focus {
    border-color: #000 !important;
    box-shadow: 0 0 0 1px #000 !important;
}

/* Editable controls: white so they look editable. Telerik Default pickers use #f5f5f5 even when enabled. */
:is(.main, .wrapper, .k-window-content, .k-dialog-content) :is(
    .k-input:not(.k-input-button):not(.k-button),
    .k-picker,
    .k-textarea,
    .k-dropdownlist,
    .k-combobox,
    .k-multiselect,
    .k-multicolumncombobox,
    .k-numerictextbox,
    .k-datepicker,
    .k-datetimepicker,
    .k-timepicker,
    .k-autocomplete,
    .k-maskedtextbox
):not(.k-disabled):not(.k-state-disabled):not(.k-readonly):not([disabled]) {
    --kendo-color-base: #ffffff;
    --kendo-color-base-hover: #ffffff;
    --kendo-color-base-active: #ffffff;
    background-color: #ffffff !important;
}

/* Outline pickers invert to dark bg + light text on hover. Background is forced
   white above, so keep dark text or the value disappears on mouseover. */
.k-picker-outline:not(.k-disabled):not(.k-state-disabled):not(.k-readonly):is(:hover, .k-hover),
.k-picker:not(.k-disabled):not(.k-state-disabled):not(.k-readonly):is(:hover, .k-hover) {
    color: #212529 !important;
    background-color: #ffffff !important;
}

:is(.main, .wrapper, .k-window-content, .k-dialog-content) :is(
    .k-picker,
    .k-picker-outline,
    .k-dropdownlist,
    .k-combobox,
    .k-multicolumncombobox,
    .k-datepicker,
    .k-datetimepicker,
    .k-timepicker,
    .k-input,
    .k-input-outline
):is(:hover, .k-hover, :focus, .k-focus, :focus-within, .k-active):not(.k-disabled):not(.k-state-disabled):not(.k-readonly):not([disabled]) {
    color: #212529 !important;
    background-color: #ffffff !important;
}

:is(.main, .wrapper, .k-window-content, .k-dialog-content) :is(
    .k-picker,
    .k-picker-outline,
    .k-dropdownlist,
    .k-combobox,
    .k-multicolumncombobox,
    .k-datepicker,
    .k-datetimepicker,
    .k-timepicker,
    .k-input,
    .k-input-outline
):is(:hover, .k-hover, :focus, .k-focus, :focus-within, .k-active):not(.k-disabled):not(.k-state-disabled):not(.k-readonly):not([disabled]) :is(
    .k-input-inner,
    .k-input-value-text,
    .k-input-button,
    .k-button-icon
) {
    color: #212529 !important;
}

:is(.main, .wrapper, .k-window-content, .k-dialog-content) :is(
    .k-input,
    .k-picker,
    .k-dropdownlist,
    .k-combobox,
    .k-multiselect,
    .k-multicolumncombobox,
    .k-datepicker,
    .k-datetimepicker,
    .k-timepicker
):not(.k-disabled):not(.k-state-disabled):not(.k-readonly):not([disabled]) > .k-input-button {
    --kendo-color-base: #ffffff;
    --kendo-color-base-hover: #ffffff;
    background-color: #ffffff !important;
}

:is(.main, .wrapper, .k-window-content, .k-dialog-content) :is(
    .form-control,
    .form-select,
    textarea:not(.k-input-inner)
):not(:disabled):not([readonly]) {
    background-color: #ffffff !important;
}

.k-grid td.k-grid-edit-cell,
.k-grid td.k-edit-cell {
    background-color: #ffffff !important;
}

.k-grid td.k-grid-edit-cell :is(.k-input, .k-picker, .k-input-inner, .k-input-values),
.k-grid td.k-edit-cell :is(.k-input, .k-picker, .k-input-inner, .k-input-values) {
    --kendo-color-base: #ffffff;
    --kendo-color-base-hover: #ffffff;
    background-color: #ffffff !important;
}

/* Disabled / readonly controls: gray so they look locked */
:is(.main, .wrapper, .k-window-content, .k-dialog-content) :is(.k-disabled, .k-state-disabled, .k-readonly, .k-widget[disabled]) {
    --kendo-color-base: #e9ecef;
    --kendo-color-base-hover: #e9ecef;
    --kendo-disabled-bg: #e9ecef;
    --kendo-disabled-opacity: 1;
    --kendo-disabled-filter: none;
    background-color: #e9ecef !important;
    opacity: 1 !important;
    filter: none !important;
}

:is(.main, .wrapper, .k-window-content, .k-dialog-content) fieldset:disabled :is(.k-input, .k-picker, .k-textarea, .form-control, .form-select),
:is(.main, .wrapper, .k-window-content, .k-dialog-content) fieldset[disabled] :is(.k-input, .k-picker, .k-textarea, .form-control, .form-select) {
    --kendo-color-base: #e9ecef;
    background-color: #e9ecef !important;
    opacity: 1 !important;
}

:is(.main, .wrapper, .k-window-content, .k-dialog-content) :is(
    .form-control,
    .form-select,
    textarea:not(.k-input-inner)
):is(:disabled, [readonly]) {
    background-color: #e9ecef !important;
    opacity: 1;
}

.k-checkbox {
    border-color: gray !important;
    background-color: #ffffff;
}
.accordion-button:not(.collapsed) {
    color: #000000;
    background-color: #e7f1ff00;
    box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
}

.btn-new:hover {
    color: white;
    background-color: #2b4848;
    border-color: #2b4848;
}
 
.myNumericTextbox .k-input-inner,
.myTextRight .k-input-inner {
    text-align: right;
}

/* begin template grid row */
div.custom-ellipsis,
/* OnCellRender */
.k-grid td.custom-ellipsis,
/* OnRowRender */
.k-grid tr.custom-ellipsis .k-table-td {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.errorRowFormatting {
    color: red;
}
.inactiveRowFormatting {
    color: gray;
} 
.activeValuesRowFormatting {
    color: black;
}
/* end template grid row */

/*begin สำหรับ loading แบบ transparent เต็มหน้า*/
.loading-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(128, 128, 128, 0.5); /* สีเทาโปร่งใส */
    z-index: 20000; /* สูงกว่า Telerik Window/Modal (~10001) */
    display: flex;
    align-items: center;
    justify-content: center;
}
/*end สำหรับ loading แบบ transparent เต็มหน้า*/
 