/* Global sizing contract for data tables and form controls. */

:where(.admin-content,.supplier-main,.public-booking-page,.hotel-detail-page,.mobile-crew-body) :where(input,select,textarea,button) {
    box-sizing: border-box;
    max-width: 100%;
    font: inherit;
}

:where(.admin-content,.supplier-main,.public-booking-page,.hotel-detail-page,.mobile-crew-body) :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {
    min-width: 0;
}

:where(.admin-content,.supplier-main,.public-booking-page,.hotel-detail-page) textarea {
    width: 100%;
    min-height: 84px;
    resize: vertical;
}

:where(.admin-content,.supplier-main,.public-booking-page,.hotel-detail-page) select {
    width: 100%;
    text-overflow: ellipsis;
}

:where(.admin-content,.supplier-main) :where(.aos-panel,.supplier-card,.reservation-table,.guest-sheet,.table-scroll,.role-table-scroll,.hotel-admin-table):has(table) {
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-gutter: stable;
    -webkit-overflow-scrolling: touch;
}

:where(.admin-content,.supplier-main) table {
    width: 100%;
    max-width: none;
    table-layout: auto;
    border-collapse: collapse;
}

:where(.admin-content,.supplier-main) table:has(> thead > tr > :nth-child(5)) {
    min-width: 760px;
}

:where(.admin-content,.supplier-main) table:has(> thead > tr > :nth-child(8)) {
    min-width: 1040px;
}

:where(.admin-content,.supplier-main) table:has(> thead > tr > :nth-child(12)) {
    min-width: 1380px;
}

:where(.admin-content,.supplier-main) table :where(th,td) {
    min-width: 84px;
    max-width: 360px;
    vertical-align: middle;
    overflow-wrap: anywhere;
    word-break: normal;
}

:where(.admin-content,.supplier-main) table :where(th,td):first-child {
    min-width: 54px;
}

:where(.admin-content,.supplier-main) table :where(th,td):last-child {
    min-width: 112px;
}

:where(.admin-content,.supplier-main) table td > :where(form,div,label) {
    min-width: 0;
    max-width: 100%;
}

:where(.admin-content,.supplier-main) table td :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {
    display: block;
    width: 100%;
    min-width: 110px;
    max-width: 100%;
}

:where(.admin-content,.supplier-main) table td textarea {
    min-width: 180px;
    min-height: 72px;
}

:where(.admin-content,.supplier-main) table td :where(.row-actions,.supplier-actions,.guest-row-actions) {
    min-width: max-content;
    max-width: none;
}

:where(.admin-content,.supplier-main) table td :where(.button,button) {
    width: auto;
    max-width: 100%;
    white-space: nowrap;
}

:where(.admin-content,.supplier-main) :where(.form-grid,.supplier-form-grid,.aos-filter-fields,.record-form,label) {
    min-width: 0;
}

:where(.admin-content,.supplier-main) :where(.form-grid,.supplier-form-grid) > * {
    min-width: 0;
    max-width: 100%;
}

@media (max-width: 900px) {
    :where(.admin-content,.supplier-main) table :where(th,td) {
        padding-left: 9px;
        padding-right: 9px;
    }
}

@media (max-width: 640px) {
    :where(.admin-content,.supplier-main,.public-booking-page,.hotel-detail-page) :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {
        width: 100%;
    }

    :where(.admin-content,.supplier-main) :where(.aos-filter-fields,.row-actions,.supplier-actions) {
        align-items: stretch;
    }

    :where(.admin-content,.supplier-main) :where(.aos-filter-fields,.row-actions,.supplier-actions) > :where(label,input,select,.button,button,form) {
        max-width: 100%;
    }
}
