/* ریسپانسیوِ مشترک — دسکتاپ (≥۱۲۰۰) / تبلت / موبایل
   این شیت بعد از تمِ تلریک بار می‌شود تا برنده باشد.

   گرید حساس است: ستون له نمی‌شود، عرضِ سرستون و بدنه یکی می‌ماند،
   و کمبودِ جا به اسکرولِ افقیِ داخلِ خودِ گرید ترجمه می‌شود — نه به اسکرولِ کلِ صفحه
   و نه به ناپدیدشدنِ یک ستون. عرضِ ستون‌ها را clinicGrids در clinic-ui.js قفل می‌کند. */

html, body {
    max-width: 100%;
}

/* گوشی و تبلت: صفحه خودش به چپ و راست نرود. اسکرول افقی فقط داخل گرید و جدول می‌ماند. */
@media (max-width: 1199.98px) {
    html, body {
        overflow-x: hidden;
    }

    .row {
        max-width: 100%;
        margin-inline: 0;
    }
}

.page,
main,
article.content {
    min-width: 0;
    max-width: 100%;
}

img,
svg,
video,
canvas {
    max-width: 100%;
}

/* ── گرید و درختیِ تلریک ─────────────────────────────── */
.k-grid,
.k-treelist {
    width: 100% !important;
    max-width: 100%;
    min-width: 0;
}

.k-grid-aria-root,
.k-grid-container,
.k-treelist .k-grid-container {
    min-width: 0;
    max-width: 100%;
}

/* overflow:visible روی هدر (برای راهنمایی که دیگر در مارک‌آپ نیست) عرضِ جدول را
   از کادرِ گرید بیرون می‌ریخت و سرستون از بدنه جدا می‌شد. برش باید روی پوشهٔ هدر بماند
   تا scrollLeftِ تلریک سرستون را با بدنه قفل کند. */
.k-grid .k-grid-header,
.k-grid .k-grid-header-wrap,
.k-treelist .k-grid-header,
.k-treelist .k-grid-header-wrap {
    overflow: hidden !important;
    max-width: 100%;
    min-width: 0;
}

.k-grid .k-grid-content,
.k-treelist .k-grid-content {
    overflow: auto !important;
    max-width: 100%;
    min-width: 0;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

.k-grid .k-table-th,
.k-grid .k-table-td,
.k-grid-header th,
.k-grid td,
.k-treelist .k-table-th,
.k-treelist .k-table-td {
    overflow: hidden !important;
    text-overflow: ellipsis;
    max-width: none;
}

/* منوی عملیات داخل سلول نباید بریده شود */
.k-grid td:has(.grid-row-actions),
.k-grid .k-table-td:has(.grid-row-actions) {
    overflow: visible !important;
    text-overflow: clip;
}

.k-grid .k-toolbar,
.k-grid-toolbar,
.k-treelist .k-toolbar {
    flex-wrap: wrap;
    row-gap: 0.35rem;
    height: auto;
}

.k-grid .k-pager,
.k-treelist .k-pager,
.k-pager {
    flex-wrap: wrap;
    height: auto;
    min-height: 2.5rem;
    row-gap: 0.3rem;
}

.k-pager-numbers {
    flex-wrap: wrap;
}

.k-grid .k-filtercell,
.k-grid .k-filtercell .k-filtercell-wrapper,
.k-treelist .k-filtercell {
    min-width: 0;
    max-width: 100%;
}

.k-grid .k-filtercell .k-input,
.k-grid .k-filtercell .k-picker,
.k-grid .k-filtercell .k-textbox,
.k-grid .k-filtercell .k-dropdownlist,
.k-treelist .k-filtercell .k-input,
.k-treelist .k-filtercell .k-picker {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100%;
}

/* ── جدولِ HTML: جعبهٔ جدول دست نمی‌خورد؛ والد اسکرول می‌گیرد ── */
.table-responsive,
.rpt-table-wrap,
.inv-table-wrap {
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
}

article.content div:has(> table):not(.k-grid-header-wrap):not(.k-grid-content):not(.k-grid-header):not(.k-grid-footer):not(.k-grid-footer-wrap),
.k-dialog-content div:has(> table):not(.k-grid-header-wrap):not(.k-grid-content):not(.k-grid-header):not(.k-grid-footer-wrap),
.k-window-content div:has(> table):not(.k-grid-header-wrap):not(.k-grid-content):not(.k-grid-header):not(.k-grid-footer-wrap) {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* ── دیالوگ، پنجره، ورودی ──────────────────────────── */
.k-input,
.k-picker,
.k-textarea,
.k-textbox {
    max-width: 100%;
}

.k-popup,
.k-animation-container,
.k-list-container {
    max-width: calc(100vw - 1rem);
}

@media (max-width: 1199.98px) {
    .k-dialog,
    .k-window {
        max-width: calc(100vw - 1rem) !important;
        max-height: calc(100dvh - 1rem) !important;
    }

    .k-dialog-content,
    .k-window-content {
        max-height: min(70dvh, calc(100dvh - 8rem));
        overflow: auto;
    }

    .acc-head .k-input,
    .acc-head .k-textbox,
    .acc-head .k-picker {
        width: 100% !important;
    }
}

@media (max-width: 767.98px) {
    .k-dialog-content,
    .k-window-content,
    .k-dialog-titlebar,
    .k-window-titlebar {
        padding-inline: 0.75rem !important;
    }

    .k-dialog-actions,
    .k-dialog .k-actions,
    .k-window .k-actions {
        flex-wrap: wrap;
    }

    .clinic-toast,
    .clinic-visit-call {
        min-width: 0 !important;
        width: min(100% - 1rem, 24rem);
        max-width: calc(100vw - 1rem);
    }
}

@media print {
    .k-grid,
    .k-treelist,
    .k-grid-header,
    .k-grid-header-wrap,
    .k-grid-content {
        overflow: visible !important;
        height: auto !important;
        max-height: none !important;
    }

    article.content div:has(> table) {
        overflow: visible !important;
    }
}
