/* Instant UI + no layout/page-break. Loaded last from header.jsp. */
html {
    scroll-behavior: auto !important;
}
html, body {
    max-width: 100%;
}
a, button, .btn, .simbis-btn, .simbis-row-btn, .tablinks, #cssmenu a {
    touch-action: manipulation;
}
#loader {
    pointer-events: none;
}

/* Keep the two-column shell from wrapping / dropping the content pane */
.container {
    max-width: 100%;
}
.central-view,
.view-extend,
.overray,
.oplist-page,
.pd-dashboard,
.claims-dash-page,
[class*="simbis-"][class*="-page"],
.tabcontent {
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    page-break-inside: auto;
    break-inside: auto;
}
.central-view.col-sm-10,
.central-view.col-md-10,
.central-view.col-lg-10 {
    min-width: 0;
}
.overray {
    overflow-x: auto;
    overflow-y: visible;
    clear: both;
}
.overray::after {
    content: "";
    display: table;
    clear: both;
}

/* Simbis panels / tables: never spill or wrap the page */
.simbis-panel,
.simbis-sample-search-panel,
.simbis-sample-list-panel,
.simbis-triage-list-panel,
.simbis-grid-wrap,
.simbis-dual-panels {
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}
.simbis-grid-wrap,
.simbis-classic-grid-scroll {
    overflow-x: auto !important;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.simbis-results-table,
.oplist-table,
.simbis-classic-grid,
table.oplist-table {
    width: 100%;
    max-width: 100%;
    table-layout: auto;
    border-collapse: collapse;
}
.simbis-results-table th,
.simbis-results-table td,
.oplist-table th,
.oplist-table td {
    word-break: break-word;
    overflow-wrap: anywhere;
    vertical-align: middle;
}
.simbis-row-actions,
.oplist-btn,
.simbis-row-btn,
.simbis-fab-item,
.simbis-ctx-item {
    white-space: nowrap;
}
.simbis-filter-row,
.simbis-panel-filters,
.pd-toolbar,
.pd-filter-bar {
    flex-wrap: wrap;
    max-width: 100%;
}

/* Instant expand / collapse — no slide delay */
.simbis-consult-modal .content,
.simbis-fab-menu,
.simbis-ctx-menu,
.nav-bar {
    transition: none !important;
    animation: none !important;
}

/* Graphs: reserved height, no layout jump, no animated fills */
.pd-dashboard [id^="chart"],
.pd-dashboard [id^="gauge"],
.pd-dashboard [id^="spark"],
.pd-h140, .pd-h155, .pd-h160, .pd-h165,
.pd-tile-spark, .pd-tile-gauge-chart {
    max-width: 100%;
}
.pd-progress-fill {
    transition: none !important;
}

/* Kill looping decoration animations that steal frames */
.simbis-notify-wrap [class*="pulse"],
.simbis-notify-wrap [class*="shake"],
.simbis-notify-toast {
    animation: none !important;
}

@media print {
    .left-sidebar, .toolbar, #cssmenu, .simbis-fab-wrap, #loader {
        display: none !important;
    }
    .central-view, .overray, .simbis-panel, .pd-card, .pd-tile {
        page-break-inside: avoid;
        break-inside: avoid;
        width: 100% !important;
        float: none !important;
    }
}

@media (max-width: 768px) {
    .central-view {
        max-width: 100% !important;
    }
}
