.text-label {
    margin-top: 4px;
    margin-bottom: 4px;
    padding-top: 2px;
    text-align: left;
    /*width:14%;*/
}
.jvs-text-label {
    margin-top: 4px;
    margin-bottom: 4px;
    padding-top: 2px;
    width:23.333%;
}
.text-char {
    text-align: center;
    font-size: 24px;
    font-weight: bold;
}

.input-group[class*=col-] {
    /*float: inline-end;*/
}

.btn-custom{
    /*text-align:right;*/
    padding-right:0!important;
}
.space-row{
    margin-bottom: 2px;
}

.tableCheckbox {
    height: 200px;
}

div[id=chkbottom_9], div[id=chktop_9] {
    border-left: 1px solid rgba(0, 0, 0, 1);
}

div[id=checkboxesFixedType], div[id=checkboxesDisassemblyType] {
    display: grid;
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    width: 150px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    background-color: #fff;
    padding: 3px;
    border: 1px solid rgba(0, 0, 0, 0.2);
    width: 270px
}

textarea {
    resize: none;
    width: 50%;
    height: auto;
}

textarea, .lblNote, toothPosition {
    margin-left: 10px
}

.lblSearch {
    width: 120px;
}

div.lblSearch {
    float: left;
}

.fixed-type {
    padding-right: 0px !important
}

label.error {
    color: red;
    font-size: 1rem;
    display: block;
    margin-top: 5px;
}

label.error.fail-alert {
    border: 2px solid red;
    border-radius: 4px;
    line-height: 1;
    padding: 2px 0 6px 6px;
    background: #ffe6eb;
}

#reg-test-time, #reg-finish-time {
    width: 100px !important;
}

.chkTop {
    border-bottom: 1px solid rgba(0, 0, 0, 1);
}

.chkBottom, .chkTop {
    display: flex;
    width: 557px
}

div.chkTop div span {
    margin-left: 7px
}

div.chkTop div label {
    margin: 3px;
}

div.chkTop div, div.chkBottom div {
    display: grid;
}

div.chkBottom div label {
    margin: 3px;
    margin-top: 8px
}

div.chkBottom div span {
    margin-left: 7px;
    margin-top: -2px
}

.flex {
    display: flex;
}

.lblRegPatient, .lblRegDoctor, .lblToothPosition, .lblDatePicker {
    background-color: unset !important;
}

.row-image {
  margin-left: 0px;
  margin-right: 0px
}

#btn-add-image {
    margin-top: 30px;
    margin-left: 12px;
}

div[id^="divImg-"] {
    margin-bottom: 10px
}

.img-show {
    width: 100%;
    min-height: 50px;
    height: 10%;
}
.jvs-width {
    width: 20.333%;
}
/*.jvs-space-row {
    margin-bottom: 1rem;
}*/
.jvs-padding{
    padding-left:0px;
    padding-right: 0px;
}
table {
    table-layout: fixed;
}

td {
    overflow: hidden;
    text-overflow: ellipsis;
}
.text-white{
    color:black !important;
}
.text-left {
    text-align: left !important;
}

.dataTable > thead > tr > th[class*=sorting_] {
    color: black;
}

.dataTable > thead > tr > th.sorting_desc:after {
    content: "\f0dd";
    top: -6px;
    color: black;
}

.dataTable > thead > tr > th.sorting_asc:after {
    content: "\f0de";
    top: 4px;
    color: black;
}

.dataTable > thead > tr > th[class*=sort]:hover {
    color: black;
}

.dataTable > thead > tr > th[class*=sorting_] {
    color: black;
}

.dataTable > thead > tr > th.sorting_asc, .dataTable > thead > tr > th.sorting_desc {
    background-image: none;
    background-image: none;
    background-image: none;
    background-repeat: repeat-x;
    filter: none;
}

#affiliations {
    padding: 5px 4px 5px;
    font-size: 14px;
    height: 34px;
}

.affiliations {
    width: 100px !important;
}

.dataTables_empty {
    display: none;
}

.no-wrap {
    white-space: nowrap;
}

.lblMin {
    min-width: max-content
}

.red-asterisk::after {
    content: '*';
    color: red;
}
input, select, textarea {
    background-color: #FFF2CC !important;
}
.btn-primary, .btn-primary.focus, .btn-primary:focus, .btn-primary[disabled] {
    background-color: #F2F2F2 !important;
    border-color: black;
    border-width: 0.5px !important;
    opacity: 0.9;
    color: black !important;
    margin-top: 3px;
}

.btn[disabled] {
    background-color: #ABBAC3 !important;
    border-color: #ABBAC3;
}

.tilde {
    width: 50px !important;
}

.text-red {
    color: red;
}

thead>tr>th.table-header {
    text-align: center !important;
}

.dataTables_wrapper {
    overflow-x: auto !important;
    width: 100%;
}

.time-begin-end {
    width: 380px
}

[class*='date-timepicker-'] {
    min-width: 120px
}

.minw-95 {
    min-width: 100px;
}

.container_space_between {
    display: flex;
    justify-content: space-between;
}

select[disabled] {
    color: #848484 !important;
    background-color: #EEE !important;
}

@media (max-width: 1366px) and (max-height: 768px) {
    body {
        zoom: 75%;
    }
}
.disabled-paging {
    pointer-events: none;
    opacity: 0.85;
    cursor: default;
}

.textTime {
    max-width: 60px !important;
}

.table > thead > tr > th:last-child, .table > thead > tr > th:first-child {
    border-right-color: #ddd !important;
}

#languageSelect {
    width : 120px !important;
}

.widget-main {
    padding: 4px !important;
}

.page-header {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
    margin: 0 0 -2px !important;
}

#top_bar_img_company {
    width: 32px !important;
    margin-top: 5px;
    height: 32px !important;
}

.navbar{
    min-height: 40px !important;
}

.footer .footer-inner .footer-content {
    padding: 2px !important;
}

.page-content {
    padding: 8px 20px 8px !important;
}

textarea {
    padding-left: 5px !important;
}

.modal-dialog-centered {
    width: 620px !important;
}

/* Trên màn hình nhỏ (ví dụ: dưới 768px) */
@media (max-width: 767.98px) {
    .map-placeholder-container {
        display: none;
    }

    #map-placeholder-container {
        display: none;
    }

    .btn-select-location-mobile {
        display: block; /* Hiện nút "Chọn vị trí" */
    }

    /* modal full màn hình trên mobile */
    #modalMapSelectFullScreen .modal-dialog {
        max-width: 100%;
        margin: 0;
        height: 100%;
    }

    #modalMapSelectFullScreen .modal-content {
        height: 100%;
        border-radius: 0;
    }

    #modalMapSelectFullScreen .modal-body {
        flex-grow: 1;
        padding: 5px;
    }

    #map-select-fullscreen-placeholder {
        height: calc(100%) !important; /* Chiếm hết chiều cao body modal */
    }

    .gm-style-iw {
        width: 90% !important;
    }

    .popup-button-group {
        display: inline-flex;
    }

    #text-search {
        width: 85vw !important;
    }

    #map_search {
        width: 90vw !important;
    }

    .modal-dialog-centered {
        width: 95vw !important;
    }

    #map-dialog {
        margin-top: 30px !important;
    }
}

/* ==================== #need-support-table DataTable Layout ==================== */
/* Note: Horizontal scroll is now handled by .table-horizontal-scroll-wrapper in datatable-manager.css */
#need-support-table .dataTables_wrapper {
    width: 100%;
}

#need-support-table table.dataTable {
    width: 100% !important;
    border-collapse: collapse;
}

/* Mobile optimizations - Horizontal scroll handled by wrapper */
@media (max-width: 768px) {
    #need-support-table table.dataTable {
        -webkit-overflow-scrolling: touch; /* iOS smooth scroll */
    }
}

.dataTables_info {
    padding-top: 5px;
}

/* Ngăn focus vào input readonly và disabled */
input[readonly],
input[readonly]:focus,
input[readonly]:active,
input[disabled],
input[disabled]:focus,
input[disabled]:active,
textarea[readonly],
textarea[readonly]:focus,
textarea[readonly]:active,
textarea[disabled],
textarea[disabled]:focus,
textarea[disabled]:active {
    cursor: default !important;
    pointer-events: none !important;
    outline: none !important;
    box-shadow: none !important;
}

input[readonly],
input[disabled],
textarea[readonly],
textarea[disabled] {
    tabindex: -1 !important;
}

/* Ngăn focus vào button và div disabled */
button[disabled],
.disabled,
[class*="disabled"],
.search-button-section.disabled,
.search-button-section[style*="cursor: not-allowed"],
.search-button-section[style*="cursor:not-allowed"] {
    cursor: default !important;
    pointer-events: none !important;
    outline: none !important;
    box-shadow: none !important;
}

button[disabled],
.disabled,
[class*="disabled"],
.search-button-section.disabled {
    tabindex: -1 !important;
}