﻿/* 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;
}

/* 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;
}

.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;
}

.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 เต็มหน้า*/
 