/* Generated automatically by ps_css_bundle_links() in assets/inc/header.php. Do not edit; edit the source files instead. Sources: /assets/css/page-content-spacing.css, /assets/css/uniform-rounding.css, /assets/css/table-scroll.css, /assets/css/property-display.css, /assets/css/mobile-page-polish.css */

/* ==== /assets/css/page-content-spacing.css ==== */
/* Shared screen spacing; leave document and print layouts unchanged. */
@media screen {
    :root { --ps-page-top-gap: 16px; }

    html body:not(.login-bg) .app-container .app-main > .main-heading {
        margin-bottom: 0 !important;
    }

    html body:not(.login-bg) .app-container .app-main > .main-content {
        margin-top: 0 !important;
        padding-top: var(--ps-page-top-gap) !important;
    }

    html body:not(.login-bg) .app-container .app-main > .main-content > :nth-child(1 of :not(script, style, link, template, [hidden], .ps-page-help-bar)) {
        margin-top: 0 !important;
    }

    html body:not(.login-bg) .app-container .main-content .ps-page-help-fallback-host {
        position: relative !important;
        box-sizing: border-box;
        padding-right: 64px !important;
        min-height: 44px;
    }

    html body:not(.login-bg) .app-container .main-content .ps-page-help-fallback-host > .ps-page-help-fallback-action {
        position: absolute;
        top: 0;
        right: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        margin: 0 !important;
        color: var(--ps-action-primary, #284567);
    }
}


/* ==== /assets/css/uniform-rounding.css ==== */
/* One radius for rectangular UI across themes; retain intentional circles and switches. */
:root { --ps-ui-radius: var(--ps-container-header-radius, 8px); }

/* Processing overlays live directly under body, outside the app/modal containers. */
html:root body:not(.login-bg) #loadingOverlay.ps-processing-overlay > .ps-processing-panel,
html:root body:not(.login-bg) .ps-processing-overlay > .ps-processing-panel {
    background-clip: padding-box !important;
    border-radius: var(--ps-ui-radius) !important;
    isolation: isolate;
    overflow: hidden !important;
}

/* Keep light surface backgrounds out of the outer antialiased border edge. */
html:root body:not(.login-bg) :is(.app-main, #app-side, .app-header, .swal2-container, .modal, .select2-container) :is(
    .card, .panel, .box, .well, .alert, .modal-content, .swal2-popup,
    .dropdown-menu, .select2-dropdown, .select2-selection,
    .table-responsive, .overdue-table-wrap, .connection-table-wrap,
    .card-header, .card-body, .panel-heading, .panel-body,
    .modal-header, .modal-body, .modal-footer,
    [class$="-card"], [class*="-card "], [class$="-panel"], [class*="-panel "]
) {
    background-clip: padding-box !important;
}

html:root body:not(.login-bg) :is(.app-main, #app-side, .app-header, .swal2-container, .modal, .select2-container) :is(
    .card, .panel, .well, .box, .alert, .badge, .progress,
    .modal-content, .swal2-popup, .ps-processing-panel,
    .dropdown-menu, .select2-dropdown, .select2-selection,
    .table-responsive, .overdue-table-wrap, .ps-team-chart-scroll,
    .pdk-sync-table-wrap, .connection-table-wrap,
    .profile-preferences-panel, .complex-property-toolbar, .complex-group,
    .complex-empty-workspace, .board-documents-shell, .title-assignments,
    .console-top, .history-toolbar, .refresh-state, .recipient-panel,
    .lookup-metric, .lookup-log, .account-empty-state, .account-card,
    .ps-menu-user-profile, .ps-menu-profile-card, .page-icon,
    .status-pill, .summary-card, .overdue-summary-card,
    [class$="-card"], [class*="-card "],
    [class$="-panel"], [class*="-panel "],
    [class$="-box"], [class*="-box "],
    [class$="-toolbar"], [class*="-toolbar "],
    [class$="-alert"], [class*="-alert "]
):not(.rounded-circle, .avatar, [role="switch"], [data-ps-native-radius]) {
    border-radius: var(--ps-ui-radius) !important;
}

html:root body:not(.login-bg) :is(.app-main, #app-side, .app-header, .swal2-container, .modal, .select2-container) :is(
    button, .btn, [role="button"], input[type="button"], input[type="submit"], input[type="reset"],
    .page-link, .paginate_button, .nav-link,
    .complex-command, .board-documents-command, .board-documents-submit,
    .board-documents-cancel, .board-primary-action, .pdk-sync-retry,
    .overdue-run-now, .ps-team-chart-action, .ps-help-button,
    .meeting-header-action, .console-button, .lookup-link,
    .queue-health-link, .history-toolbar-actions a,
    .form-control, .custom-select, select, textarea,
    input:not([type]), input[type="text"], input[type="search"], input[type="email"],
    input[type="password"], input[type="number"], input[type="tel"], input[type="url"],
    input[type="date"], input[type="datetime-local"], input[type="time"],
    input[type="month"], input[type="week"], input[type="file"]
):not(#ps-page-help-link, .rounded-circle, .btn-circle, .switch, .slider,
    [role="switch"], [type="checkbox"], [type="radio"], [type="range"],
    [data-ps-native-radius]):not(.switch *, [role="switch"] *) {
    border-radius: var(--ps-ui-radius) !important;
}

/* An inset header follows the card's outer curve, without rounded interior seams. */
html:root body:not(.login-bg) :is(.app-main, #app-side, .app-header, .swal2-container, .modal) :is(
    .card-header, .panel-heading, .insurance-header, .overdue-card-header,
    .dbp-card-header, .connection-panel-header, .ps-help-card-header,
    .sop-panel-head, .sop-document-header, .sop-document-head,
    .profile-info-header, .complex-group-heading, .board-documents-commandbar,
    .title-assignments > .ta-toolbar, .modal-header, .ps-page-help-container-header
) {
    border-radius: calc(var(--ps-ui-radius) - 1px) calc(var(--ps-ui-radius) - 1px) 0 0 !important;
}

html:root body:not(.login-bg) :is(.app-main, #app-side, .app-header, .swal2-container, .modal) :is(
    .card-header + .card-body, .panel-heading + .panel-body,
    .overdue-card-header + .overdue-card-body, .modal-header + .modal-body,
    .connection-panel-header + .table-responsive
) {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
}

html:root body:not(.login-bg) :is(.app-main, #app-side, .app-header, .swal2-container, .modal) :is(
    .card > .card-body:last-child, .card-footer, .panel-footer, .modal-footer,
    .overdue-card > .overdue-card-body:last-child
) {
    border-bottom-left-radius: calc(var(--ps-ui-radius) - 1px) !important;
    border-bottom-right-radius: calc(var(--ps-ui-radius) - 1px) !important;
}

/* Headerless cards need the same inner top curve as cards with a header. */
html:root body:not(.login-bg) :is(.app-main, #app-side, .app-header, .swal2-container, .modal) :is(
    .card > .card-body, .panel > .panel-body,
    .modal-content > .modal-body, .overdue-card > .overdue-card-body
):nth-child(1 of :not(script, style, link, template, [hidden], .d-none)) {
    border-top-left-radius: calc(var(--ps-ui-radius) - 1px) !important;
    border-top-right-radius: calc(var(--ps-ui-radius) - 1px) !important;
}

/* Retain the Technical theme's outer shadow, but not its white inset rim. */
html:root[data-ps-theme="technical"] body:not(.login-bg) .app-main .main-content :is(
    .card, .sop-panel, .overdue-card, .overdue-panel, .profile-info-card,
    .profile-preferences-panel, .complex-property-toolbar, .complex-group,
    .complex-empty-workspace, .board-documents-shell
) {
    box-shadow: 0 3px 0 rgba(13, 32, 21, .09) !important;
}


/* ==== /assets/css/table-scroll.css ==== */
/* Keep the selected page of rows inside a viewport-sized scrolling region. */
@media screen {
    /* The wrapper replaces the table as the controls grid/flex layout item. */
    html body:not(.login-bg) :is(.dataTables_wrapper, .dt-container) > .ps-table-scroll-region {
        grid-column: 1 / -1;
        justify-self: stretch;
        flex: 1 1 100%;
        width: 100%;
        min-width: 0;
    }
    html body:not(.login-bg) .ps-table-scroll-region {
        box-sizing: border-box;
        min-width: 0;
        max-width: 100%;
        max-height: var(--ps-table-scroll-height, 55vh) !important;
        overflow: auto !important;
        overscroll-behavior: contain;
        scrollbar-gutter: stable;
        scroll-padding-top: 56px;
        -webkit-overflow-scrolling: touch;
        background: linear-gradient(
            to bottom,
            var(--ps-header-end, #3f8fcf) 0,
            var(--ps-header-end, #3f8fcf) var(--ps-table-scroll-header-height, 0px),
            var(--ps-card, #fff) var(--ps-table-scroll-header-height, 0px),
            var(--ps-card, #fff) 100%
        );
    }
    html body:not(.login-bg) .ps-table-scroll-region::-webkit-scrollbar-track:vertical {
        background: var(--ps-card, #fff);
        margin-block-start: var(--ps-table-scroll-header-height, 0px);
    }
    html body:not(.login-bg) .ps-table-scroll-host {
        position: relative !important;
    }
    html body:not(.login-bg) .ps-table-scrollbar-header-cover {
        position: absolute;
        z-index: 12;
        display: block;
        pointer-events: none;
        background: var(--ps-header-end, #3f8fcf);
        border-bottom: 2px solid var(--ps-action-primary, #265aa6);
        box-sizing: border-box;
    }
    html body:not(.login-bg) .ps-table-scroll-region:focus-visible {
        outline: 2px solid var(--ps-action-primary, #245d93);
        outline-offset: 2px;
    }
    html body:not(.login-bg) .ps-table-scroll-region > table.ps-table-scroll-table > thead {
        position: sticky;
        top: 0;
        z-index: 3;
        background-color: var(--ps-card, #fff);
    }
    html body:not(.login-bg) .ps-report-cards .ps-table-scroll-region,
    html body:not(.login-bg) .ps-table-scroll-region.ps-table-scroll-inactive {
        max-height: none !important;
        overflow: visible !important;
        scrollbar-gutter: auto;
        --ps-table-scroll-header-height: 0px;
        background: transparent;
    }
    html body:not(.login-bg) .ps-table-scrollbar-header-cover[hidden] {
        display: none !important;
    }
}
@media print {
    html body .ps-table-scroll-region { max-height: none !important; height: auto !important; overflow: visible !important; }
    html body .ps-table-scroll-table > thead { position: static !important; }
}


/* ==== /assets/css/property-display.css ==== */
/* Keep canonical text intact for existing scripts, searches, and property keys. */
html body .ps-property-display {
    display: inline-grid !important;
    grid-template-columns: auto;
    vertical-align: baseline;
    font: inherit !important;
    color: inherit !important;
    letter-spacing: inherit;
    text-transform: inherit;
    background: none !important;
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
html body .ps-property-display > .ps-property-source {
    grid-area: 1 / 1;
    visibility: hidden !important;
    font: inherit !important;
    margin: 0 !important;
    padding: 0 !important;
}
html body .ps-property-display::after {
    content: attr(data-display-name);
    grid-area: 1 / 1;
    font: inherit;
    color: inherit;
    white-space: pre;
    pointer-events: none;
}


/* ==== /assets/css/mobile-page-polish.css ==== */
/* Presentation only. Desktop and printed documents retain their existing rules. */
.ps-mobile-directory-sort { display: none; }
@media screen and (max-width: 767px) {
    html:root body.ps-mobile-refined { --ps-main-content-padding-x: 12px; --ps-page-top-gap: 12px; }
    html:root body.ps-mobile-refined .app-container .app-main > .main-heading {
        position: relative !important; top: auto !important; flex-shrink: 0;
        min-height: 72px !important; height: auto !important;
    }
    html:root body.ps-mobile-refined .app-container .main-heading .page-title h5 {
        font-size: 16px !important; line-height: 1.4 !important; overflow-wrap: break-word !important;
    }
    html:root body.ps-mobile-refined .main-heading .sub-heading { font-size: 11px !important; line-height: 1.4 !important; }
    html:root body.ps-mobile-refined .main-content { padding-left: 12px !important; padding-right: 12px !important; font-size: 14px; }
    html:root body.ps-mobile-refined footer.main-footer.ps-theme-footer {
        position: relative !important; inset: auto !important; min-height: 38px !important;
        font-size: 10px !important; width: 100% !important; margin: 0 !important;
    }
    html:root body.ps-mobile-refined footer.main-footer.ps-theme-footer .main-footer-inner {
        min-height: 38px !important; padding: 8px 12px max(8px, env(safe-area-inset-bottom)) !important;
        line-height: 1.4 !important; gap: 6px; letter-spacing: 0 !important;
    }
    html:root body.ps-mobile-refined .main-content :is(.card-header, .insurance-header) { padding: 14px !important; }
    html:root body.ps-mobile-refined .main-content .card-header :is(h2,h3,h4,h5) {
        font-size: 15px !important; line-height: 1.4 !important; letter-spacing: .02em !important; margin-bottom: 0;
    }
    html:root body.ps-mobile-refined .main-content .card-header p { font-size: 12px !important; line-height: 1.5 !important; margin-top: 5px; }
    html:root body.ps-mobile-refined .main-content :is(.btn,.maintenance-toolbar-btn) {
        font-size: 13px !important; min-height: 44px !important; padding: 10px 12px !important;
        letter-spacing: 0 !important; white-space: normal !important;
    }
    html:root body.ps-mobile-refined :is(.accounts-page,.anydesk-page,.content-page,.employee-config-page) > .row { margin-left: -6px; margin-right: -6px; }
    html:root body.ps-mobile-refined :is(.accounts-page,.anydesk-page,.content-page,.employee-config-page) > .row > [class*="col-"] { padding-left: 6px; padding-right: 6px; }
    html:root body.ps-mobile-refined :is(.accounts-page,.anydesk-page,.content-page,.employee-config-page) .card-body { padding: 12px !important; }
    html:root body.ps-mobile-refined :is(.content-selector-group,.employee-filter-group) { margin-bottom: 10px !important; }
    html:root body.ps-mobile-refined :is(.content-selector-label,.employee-filter-group label) { font-size: 11px !important; letter-spacing: .04em; margin-bottom: 5px; }
    html:root body.ps-mobile-refined .employee-selector-col { flex: 0 0 100% !important; max-width: 100% !important; }
    html:root body.ps-mobile-refined .employee-filter-group select { width: 100% !important; }

    /* Search first, page size and view switch on one balanced row. */
    html:root body.ps-mobile-refined .main-content :is(.account-card-controls,.anydesk-card-controls,.employee-list-controls) {
        display: grid !important; grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
        gap: 10px !important; width: 100% !important; min-width: 0 !important;
        padding: 0 !important; margin: 0 !important; flex: 1 1 100% !important;
    }
    html:root body.ps-mobile-refined .main-content :is(.account-card-search,.anydesk-card-search,.employee-list-search) {
        grid-column: 1 / -1; width: 100% !important; min-width: 0 !important; max-width: none !important;
        height: 44px !important; padding: 10px 12px !important; font-size: 16px !important; margin: 0 !important;
    }
    html:root body.ps-mobile-refined :is(.account-card-page-size,.anydesk-card-page-size,.employee-list-page-size) {
        display: flex !important; align-items: center; gap: 6px; font-size: 11px !important;
        width: auto !important; min-width: 0 !important; margin: 0 !important;
    }
    html:root body.ps-mobile-refined :is(#accountCardPageSize,#anydeskCardPageSize,#employeeListPageSize) { width: 72px !important; min-width: 72px !important; height: 44px !important; margin: 0 !important; padding: 6px 22px 6px 10px !important; }
    html:root body.ps-mobile-refined :is(.account-view-toggle,.employee-list-header-actions) { display: flex !important; justify-content: flex-end; width: auto !important; background: none !important; margin: 0 !important; }
    html:root body.ps-mobile-refined :is(#accountViewToggle,#anydeskViewToggle,#employeeViewToggle) { width: 100% !important; max-width: none !important; margin: 0 !important; }
    html:root body.ps-mobile-refined :is(.employee-list-role-pill,.employee-list-title,.account-list-title,.anydesk-card-title) { grid-column: 1 / -1; font-size: 12px !important; min-width: 0 !important; width: auto !important; margin: 0 !important; }
    html:root body.ps-mobile-refined .anydesk-add-btn { width: 100% !important; margin: 10px 0 0 !important; min-height: 44px; font-size: 14px; }
    html:root body.ps-mobile-refined :is(.account-card-grid,.anydesk-card-grid,.employee-personnel-grid) { grid-template-columns: minmax(0,1fr) !important; gap: 12px !important; }
    html:root body.ps-mobile-refined .account-card-item { padding: 14px !important; }
    html:root body.ps-mobile-refined .account-card-main { display: flex; align-items: flex-start; gap: 10px; }
    html:root body.ps-mobile-refined .account-card-main > div:first-child { flex: 1; min-width: 0; }
    html:root body.ps-mobile-refined .account-card-main h6 { font-size: 16px !important; line-height: 1.4 !important; margin-bottom: 3px; }
    html:root body.ps-mobile-refined .account-card-main p { font-size: 12px !important; line-height: 1.5 !important; font-weight: 500 !important; }
    html:root body.ps-mobile-refined .account-card-actions { flex: 0 0 auto; display: flex; gap: 5px; }
    html:root body.ps-mobile-refined :is(.account-card-actions,.anydesk-account-card-actions) :is(button,a) { width: 44px !important; height: 44px !important; min-width: 44px !important; padding: 0 !important; font-size: 17px !important; }
    html:root body.ps-mobile-refined .account-card-meta { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
    html:root body.ps-mobile-refined .account-card-meta-item:first-child { grid-column: 1 / -1; }
    html:root body.ps-mobile-refined :is(.account-card-meta-item,.anydesk-card-field) { min-width: 0; padding: 9px !important; }
    html:root body.ps-mobile-refined :is(.account-card-meta-item,.anydesk-card-field) > :is(span,label) { font-size: 10px !important; line-height: 1.4; letter-spacing: .05em; }
    html:root body.ps-mobile-refined :is(.account-card-meta-item,.anydesk-card-field) strong { font-size: 13px !important; line-height: 1.5 !important; font-weight: 600 !important; overflow-wrap: anywhere; }
    html:root body.ps-mobile-refined .account-card-suspend { font-size: 13px !important; padding-top: 10px; }
    html:root body.ps-mobile-refined .anydesk-account-card-header { padding: 12px !important; display: flex; gap: 10px; align-items: center; }
    html:root body.ps-mobile-refined .anydesk-account-card-title { flex: 1; min-width: 0; }
    html:root body.ps-mobile-refined .anydesk-account-card-title :is(h3,h4,h5,h6) { font-size: 16px !important; }
    html:root body.ps-mobile-refined .anydesk-account-card-title p { font-size: 12px !important; }
    html:root body.ps-mobile-refined .anydesk-account-card-body { padding: 12px !important; gap: 8px !important; }
    html:root body.ps-mobile-refined .employee-personnel-card { padding: 12px !important; gap: 12px !important; }
    html:root body.ps-mobile-refined .employee-personnel-card > img { width: 48px !important; height: 48px !important; }
    html:root body.ps-mobile-refined .employee-personnel-card-body :is(h3,h4,h5,h6) { font-size: 16px !important; line-height: 1.4; }
    html:root body.ps-mobile-refined .employee-personnel-card-body p { font-size: 12px !important; line-height: 1.5; }

    /* All three reference columns fit without sideways scrolling. */
    html:root body.ps-mobile-refined .property-reference-page .card-body { padding: 10px !important; }
    html:root body.ps-mobile-refined .property-reference-page .property-reference-heading { gap: 10px; }
    html:root body.ps-mobile-refined .property-reference-page .property-reference-table {
        table-layout: fixed !important; min-width: 0 !important; width: 100% !important; font-size: 13px !important;
    }
    html:root body.ps-mobile-refined .property-reference-page .property-reference-table :is(th,td) { padding: 10px 7px !important; word-break: normal !important; overflow-wrap: break-word !important; }
    html:root body.ps-mobile-refined .property-reference-page .property-reference-table :is(th,td):first-child { width: 64% !important; }
    html:root body.ps-mobile-refined .property-reference-page .property-reference-table :is(th,td):nth-child(2) { width: 12% !important; }
    html:root body.ps-mobile-refined .property-reference-page .property-reference-table :is(th,td):nth-child(3) { width: 24% !important; }
    html:root body.ps-mobile-refined .property-reference-page .property-reference-table th { font-size: 11px !important; }
    html:root body.ps-mobile-refined .ps-team-chart-mobile-note { display: none !important; }
    html:root body.ps-mobile-refined #teamChartCard .ps-team-chart-actions { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)); width: 100%; gap: 7px; }
    html:root body.ps-mobile-refined #teamChartCard .ps-team-chart-actions .btn { width: 100% !important; min-width: 0 !important; font-size: 11px !important; padding: 9px 6px !important; gap: 5px; }
    html:root body.ps-mobile-refined #teamChartCard #teamChartTable { min-width: 1180px !important; width: 1180px !important; table-layout: fixed !important; font-size: 14px !important; }
    html:root body.ps-mobile-refined #teamChartCard #teamChartTable :is(th,td) { padding: 10px !important; word-break: normal !important; overflow-wrap: normal !important; }
    html:root body.ps-mobile-refined #teamChartCard #teamChartTable :is(th,td):first-child { white-space: nowrap !important; }

    /* Stacked records expose every field without duplicating interactive controls. */
    html:root body.ps-mobile-refined .app-main .ps-mobile-record-wrap {
        min-width: 0 !important; min-height: 0 !important; height: auto !important; max-height: none !important;
        overflow: visible !important; border: 0 !important;
    }
    html:root body.ps-mobile-refined .app-main :is(#boardDirectoryTable,#unit-insurance-table,.modification-review .vr-table).ps-mobile-record-table {
        display: block !important; width: 100% !important; min-width: 0 !important; margin: 0 !important; border: 0 !important; font: inherit !important;
    }
    html:root body.ps-mobile-refined .app-main .ps-mobile-record-table > :is(thead,colgroup) {
        position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip-path: inset(50%); opacity: 0; pointer-events: none;
    }
    html:root body.ps-mobile-refined .app-main .ps-mobile-record-table tbody { display: grid !important; grid-template-columns: minmax(0,1fr) !important; gap: 12px !important; width: 100% !important; }
    html:root body.ps-mobile-refined .app-main :is(#boardDirectoryTable,#unit-insurance-table,.modification-review .vr-table) tbody tr {
        display: grid !important; grid-template-columns: minmax(0,1fr) !important; gap: 11px !important;
        min-width: 0 !important; height: auto !important; padding: 14px !important; margin: 0 !important;
        border: 1px solid #d5dee7 !important; border-radius: 8px !important;
    }
    html:root body.ps-mobile-refined .app-main :is(#boardDirectoryTable,#unit-insurance-table,.modification-review .vr-table) tbody td {
        display: block !important; width: auto !important; min-width: 0 !important; max-width: 100% !important; height: auto !important;
        padding: 0 !important; border: 0 !important; text-align: left !important; white-space: normal !important;
        font-size: 14px !important; line-height: 1.5 !important; word-break: normal !important; overflow-wrap: anywhere !important;
    }
    html:root body.ps-mobile-refined .app-main .ps-mobile-record-table tbody td::before {
        content: attr(data-mobile-label); display: block; font: 700 10px/1.5 inherit; font-size: 10px; font-weight: 700;
        text-transform: uppercase; letter-spacing: .06em; margin-bottom: 3px; opacity: .8;
    }
    html:root body.ps-mobile-refined .app-main .ps-mobile-record-table td[colspan]::before { display: none; }
    html:root body.ps-mobile-refined .app-main #boardDirectory #boardDirectoryTable td { background: transparent !important; color: inherit !important; }
    html:root body.ps-mobile-refined .app-main #boardDirectory #boardDirectoryTable td:first-child { font-size: 17px !important; }
    html:root body.ps-mobile-refined .app-main #boardDirectory #boardDirectoryTable td a { color: inherit !important; text-decoration: underline; }
    html:root body.ps-mobile-refined .app-main #boardDirectory { height: auto !important; flex: 0 0 auto !important; }
    html:root body.ps-mobile-refined .app-main .main-content:has(#boardDirectory) { overflow: auto !important; display: block !important; }
    html:root body.ps-mobile-refined .app-main #boardDirectory .bd-scroll.ps-mobile-record-wrap {
        flex: 0 1 auto !important; height: 60vh !important; height: 60dvh !important; max-height: 60dvh !important; min-height: 0 !important;
        overflow: auto !important; padding: 12px !important; box-sizing: border-box;
    }
    html:root body.ps-mobile-refined .app-main #boardDirectory .bd-scroll .table-responsive { overflow: visible !important; min-height: 0 !important; height: auto !important; }
    html:root body.ps-mobile-refined #boardDirectory .bd-header h4 { flex-basis: 100%; }
    html:root body.ps-mobile-refined #boardDirectory .bd-actions { gap: 8px; }
    html:root body.ps-mobile-refined #boardDirectory .ps-mobile-directory-sort { display: grid; gap: 5px; padding: 12px 12px 0; margin: 0; font-size: 11px; font-weight: 700; }
    html:root body.ps-mobile-refined .modification-review .vr-pagination { font-size: 12px; line-height: 1.5; margin-top: 14px; }
    html:root body.ps-mobile-refined .modification-review .vr-detail-layout { grid-template-columns: minmax(0,1fr); gap: 0; }
    html:root body.ps-mobile-refined .modification-review .vr-fields { grid-template-columns: minmax(0,1fr) !important; gap: 14px; }
    html:root body.ps-mobile-refined .modification-review .vr-fields dt { font-size: 12px !important; opacity: .85; }
    html:root body.ps-mobile-refined .modification-review .vr-fields dd { font-size: 14px !important; line-height: 1.5 !important; margin-top: 4px; }
    html:root body.ps-mobile-refined .modification-review .mr-panel > summary.card-header { flex-wrap: nowrap !important; padding: 14px !important; gap: 12px !important; }
    html:root body.ps-mobile-refined .modification-review .mr-panel-header h4 { flex: 1; min-width: 0; font-size: 13px !important; }
    html:root body.ps-mobile-refined .modification-review .mr-panel > .mr-panel-body { padding: 14px !important; }
    html:root body.ps-mobile-refined .modification-review .mr-attachment-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
    html:root body.ps-mobile-refined .modification-review .mr-attachment figcaption { padding: 9px; }

    /* Assignments and board members: compact identity blocks, comfortable targets. */
    html:root body.ps-mobile-refined .title-assignments .ta-toolbar { padding: 14px !important; margin-bottom: 12px; gap: 12px; }
    html:root body.ps-mobile-refined .title-assignments .ta-toolbar h1 { font-size: 20px; }
    html:root body.ps-mobile-refined .title-assignments .ta-card:not(.is-collapsed) .ta-person {
        display: grid; grid-template-columns: 56px minmax(0,1fr); gap: 3px 12px; text-align: left; padding: 14px !important;
    }
    html:root body.ps-mobile-refined .title-assignments .ta-card:not(.is-collapsed) .ta-person img { grid-column: 1; grid-row: 1 / 4; width: 56px; height: 56px; margin: 0; border-width: 2px; }
    html:root body.ps-mobile-refined .title-assignments .ta-card:not(.is-collapsed) .ta-person :is(h2,p,a) { grid-column: 2; margin: 0; }
    html:root body.ps-mobile-refined .title-assignments .ta-person h2 { font-size: 16px; }
    html:root body.ps-mobile-refined .title-assignments .ta-person :is(p,a) { font-size: 12px; }
    html:root body.ps-mobile-refined .title-assignments .ta-properties { padding: 14px !important; }
    html:root body.ps-mobile-refined .title-assignments .ta-section-heading h3 { font-size: 14px; }
    html:root body.ps-mobile-refined .title-assignments .ta-property-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px 12px; }
    html:root body.ps-mobile-refined .title-assignments .ta-property-grid .ta-toggle { min-height: 44px; padding: 8px 0; font-size: 13px; }
    html:root body.ps-mobile-refined .content-bod-header-actions { display: flex; flex-wrap: wrap; width: 100%; gap: 8px; }
    html:root body.ps-mobile-refined .content-bod-header-actions > * { flex: 1 1 120px; min-width: 0; }
    html:root body.ps-mobile-refined .content-bod-board-collapse { display: grid !important; grid-template-columns: 18px minmax(0,1fr) auto; gap: 8px; align-items: center; padding: 12px !important; width: 100%; }
    html:root body.ps-mobile-refined .content-bod-board-collapse-label { font-size: 12px !important; text-align: left; }
    html:root body.ps-mobile-refined .content-bod-board-count { grid-column: 3; grid-row: 1; font-size: 10px !important; white-space: nowrap; }
    html:root body.ps-mobile-refined .content-bod-board-collapse .content-bod-status { position: static !important; transform: none !important; grid-column: 2 / -1; grid-row: 2; font-size: 11px !important; text-align: left; width: auto !important; }
    html:root body.ps-mobile-refined .content-bod-status[hidden] { display: none !important; }
    html:root body.ps-mobile-refined .content-bod-grid { padding: 10px !important; gap: 12px !important; }
    html:root body.ps-mobile-refined .content-bod-member-top { padding: 14px !important; display: flex !important; gap: 12px; text-align: left; }
    html:root body.ps-mobile-refined .content-bod-avatar { width: 52px !important; height: 52px !important; }
    html:root body.ps-mobile-refined .content-bod-member-heading { min-width: 0; text-align: left !important; }
    html:root body.ps-mobile-refined .content-bod-member-heading h4 { font-size: 16px !important; line-height: 1.4; }
    html:root body.ps-mobile-refined .content-bod-position { font-size: 13px !important; }
    html:root body.ps-mobile-refined .content-bod-fields { padding: 12px !important; gap: 8px !important; }
    html:root body.ps-mobile-refined .content-bod-field { padding: 9px !important; min-width: 0; }
    html:root body.ps-mobile-refined .content-bod-field :is(strong,input,select) { font-size: 13px !important; overflow-wrap: anywhere; }
    html:root body.ps-mobile-refined .content-bod-field label { font-size: 10px !important; }
    html:root body.ps-mobile-refined .insurance-body { padding: 12px !important; }
    html:root body.ps-mobile-refined .insurance-legend { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px !important; width: 100%; }
    html:root body.ps-mobile-refined .insurance-legend .insurance-pill { width: 100% !important; min-height: 40px; padding: 7px 5px !important; font-size: 11px !important; }
    html:root body.ps-mobile-refined .insurance-count { font-size: 12px; }
    html:root body.ps-mobile-refined .ps-report-controls { gap: 10px; }
}

/* Phone refinement: keep desktop, print, theme colors and original controls intact. */
@media screen and (max-width: 767px) {
    html:root body.ps-mobile-refined.ps-mobile-refresh {
        --ps-footer-height: 44px;
        --ps-main-content-padding-x: 12px;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .app-main > header.main-heading,
    html:root body.ps-mobile-refined.ps-mobile-refresh .app-container #app-side.app-side ~ .app-main > header.main-heading {
        position: relative !important;
        inset: auto !important;
        flex: 0 0 auto !important;
        height: auto !important;
        min-height: 68px !important;
        padding: 12px 12px 12px 64px !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .app-container .main-heading :is(.container-fluid, .row, .col-sm-12, .col-12, .page-title) {
        height: auto !important;
        min-height: 44px !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .app-container .main-heading .page-icon {
        display: none !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .app-container .main-heading .page-title h5 {
        font-size: 15px !important;
        line-height: 1.4 !important;
        letter-spacing: 0 !important;
        margin: 0 !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .main-heading .sub-heading {
        display: none !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ps-shell-menu-controls {
        top: 12px !important;
        left: 12px !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ps-shell-menu-controls .onoffcanvas-toggler {
        height: 44px !important;
        width: 44px !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .app-main > .main-content {
        padding: 12px 12px calc(64px + env(safe-area-inset-bottom, 0px)) !important;
        scroll-padding-bottom: 64px;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh footer.main-footer.ps-theme-footer {
        position: fixed !important;
        inset: auto 0 0 !important;
        height: auto !important;
        min-height: 44px !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh footer.main-footer .main-footer-inner {
        min-height: 44px !important;
        padding: 8px 12px calc(8px + env(safe-area-inset-bottom, 0px)) !important;
        gap: 5px !important;
        justify-content: center !important;
        font-size: 10px !important;
        line-height: 1.4 !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh footer.main-footer :is(.ps-footer-copyright, .ps-footer-brand) {
        font-size: 10px !important;
        font-weight: 400 !important;
        letter-spacing: 0 !important;
        line-height: 1.4 !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ps-footer-copyright { white-space: nowrap; }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ps-footer-brand { min-width: 0; }

    /* Help gets its own space instead of floating over a search or action. */
    html:root body.ps-mobile-refined.ps-mobile-refresh .ps-page-help-container-header {
        padding: 14px !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ps-page-help-container-header > .ps-page-help-container-action {
        top: 14px !important;
        right: 14px !important;
        transform: none !important;
        width: 44px !important;
        height: 44px !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh #ps-page-help-link {
        width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
    }

    /* Explicit grid areas replace the conflicting search/page-size rules. */
    html:root body.ps-mobile-refined.ps-mobile-refresh .accounts-page .account-card-controls {
        grid-template-areas: "search search" "actions perpage" !important;
        grid-template-columns: minmax(0, 1fr) 84px !important;
        gap: 10px !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .accounts-page #accountCardSearch {
        grid-area: search !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 44px !important;
        font-size: 16px !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .accounts-page .ps-page-help-container-header #accountCardSearch {
        width: calc(100% - 54px) !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .accounts-page .account-card-page-size {
        grid-area: perpage !important;
        width: 84px !important;
        margin: 0 !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .accounts-page #accountCardPageSize {
        width: 84px !important;
        min-width: 84px !important;
        height: 44px !important;
        font-size: 16px !important;
        padding: 8px 24px 8px 12px !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .accounts-page .account-view-toggle {
        grid-area: actions !important;
        width: 100% !important;
        min-height: 44px !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .accounts-page .account-card-meta-item:last-child:nth-child(even) {
        grid-column: 1 / -1;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .accounts-page .account-card-item {
        box-shadow: 0 2px 8px rgba(15, 23, 42, .05) !important;
    }

    /* Keep overdue guidance readable without turning it into a large banner. */
    html:root body.ps-mobile-refined.ps-mobile-refresh .overdue-card-header {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 12px !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .overdue-card-header > div:first-child {
        padding-right: 48px;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .overdue-card-title { font-size: 17px !important; }
    html:root body.ps-mobile-refined.ps-mobile-refresh .overdue-card-subtitle {
        font-size: 12px !important;
        line-height: 1.5 !important;
        font-weight: 500 !important;
        margin-top: 6px;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .overdue-header-actions {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        width: 100% !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .overdue-run-now {
        flex: 1 1 125px;
        min-height: 44px !important;
        font-size: 12px !important;
        padding: 10px !important;
        white-space: normal !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .overdue-card-body { padding: 14px !important; }
    html:root body.ps-mobile-refined.ps-mobile-refresh .overdue-selector label {
        font-size: 12px !important;
        margin-bottom: 6px;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .overdue-selector select {
        font-size: 16px !important;
        min-height: 44px;
        width: 100%;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .overdue-empty {
        padding: 22px 16px !important;
        margin-top: 16px;
        text-align: left !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .overdue-empty > i { font-size: 28px !important; }
    html:root body.ps-mobile-refined.ps-mobile-refresh .overdue-empty h5 {
        font-size: 16px !important;
        margin: 12px 0 8px !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .overdue-empty p {
        font-size: 14px !important;
        font-weight: 400 !important;
        line-height: 1.65 !important;
        margin: 0 !important;
    }

    /* Meetings: generous controls, quieter table text and wrapping pagination. */
    html:root body.ps-mobile-refined.ps-mobile-refresh .meetings-card-header {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 12px !important;
        font-size: 17px !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .meetings-card-header > span {
        padding-right: 48px;
        min-height: 32px;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .meeting-header-actions {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: 100% !important;
        gap: 8px !important;
        margin: 0 !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .meeting-header-action {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 6px !important;
        min-height: 44px !important;
        min-width: 0 !important;
        padding: 9px 8px !important;
        font-size: 12px !important;
        line-height: 1.35 !important;
        white-space: normal !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .meeting-header-action:last-child:nth-child(odd) { grid-column: 1 / -1; }
    html:root body.ps-mobile-refined.ps-mobile-refresh .meetings-page .card-body { padding: 12px !important; }
    html:root body.ps-mobile-refined.ps-mobile-refresh #mtgs_wrapper {
        display: grid !important;
        grid-template-columns: 84px minmax(0, 1fr) !important;
        gap: 12px !important;
        overflow: visible !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh #mtgs_wrapper .dataTables_length {
        grid-column: 1 !important;
        grid-row: 1 !important;
        margin: 0 !important;
        width: auto !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh #mtgs_wrapper .dataTables_length label {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 4px !important;
        margin: 0 !important;
        font-size: 11px !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh #mtgs_wrapper .dataTables_length select {
        width: 84px !important;
        min-width: 84px !important;
        max-width: none !important;
        height: 44px !important;
        font-size: 16px !important;
        padding: 8px 24px 8px 10px !important;
        margin: 0 !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh #mtgs_wrapper .dataTables_filter {
        grid-column: 2 !important;
        grid-row: 1 !important;
        margin: 0 !important;
        min-width: 0 !important;
        width: 100% !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh #mtgs_wrapper .dataTables_filter label {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh #mtgs_wrapper .dataTables_filter input {
        box-sizing: border-box !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 44px !important;
        font-size: 16px !important;
        padding: 8px 10px !important;
        margin: 0 !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh #mtgs_wrapper :is(#type-filters, .dataTables_scroll, .dataTables_info, .dataTables_paginate, #mtgs) {
        grid-column: 1 / -1 !important;
        min-width: 0 !important;
        width: 100% !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh #mtgs_wrapper #type-filters {
        font-size: 12px !important;
        line-height: 1.4 !important;
        padding: 4px 8px !important;
        gap: 4px 10px !important;
        margin: 0 !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh #type-filters :is(a, button) {
        display: inline-flex;
        align-items: center;
        min-height: 40px;
        font-size: 12px !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh #mtgs :is(th, td) {
        font-size: 13px !important;
        line-height: 1.5 !important;
        padding: 12px 9px !important;
        vertical-align: middle !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh #mtgs th { font-size: 11px !important; }
    html:root body.ps-mobile-refined.ps-mobile-refresh #mtgs .meeting-property-code { font-size: 14px !important; }
    html:root body.ps-mobile-refined.ps-mobile-refresh #mtgs .meeting-type-chip {
        font-size: 10px !important;
        padding: 5px 7px !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh #mtgs_wrapper .dataTables_info {
        font-size: 12px !important;
        line-height: 1.5 !important;
        padding: 8px 0 0 !important;
        text-align: center !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh #mtgs_wrapper .dataTables_paginate,
    html:root body.ps-mobile-refined.ps-mobile-refresh #mtgs_wrapper .dataTables_paginate > span {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 4px !important;
        padding: 0 !important;
        white-space: normal !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh #mtgs_wrapper .paginate_button {
        min-width: 34px !important;
        min-height: 40px !important;
        padding: 9px 8px !important;
        margin: 0 !important;
        font-size: 12px !important;
    }

    /* Board profiles: compact identity and paired short fields. */
    html:root body.ps-mobile-refined.ps-mobile-refresh .content-page .content-bod-member-top {
        display: grid !important;
        grid-template-columns: 88px minmax(0, 1fr) !important;
        min-height: 0 !important;
        padding: 18px 14px !important;
        gap: 14px !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .content-page .content-bod-avatar-link {
        min-width: 0 !important;
        width: 88px !important;
        text-align: center;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .content-page .content-bod-avatar {
        width: 48px !important;
        height: 48px !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .content-page .content-bod-member-heading,
    html:root body.ps-mobile-refined.ps-mobile-refresh .content-page .content-bod-member-name-row,
    html:root body.ps-mobile-refined.ps-mobile-refresh .content-page .content-bod-position {
        align-items: flex-start !important;
        justify-content: flex-start !important;
        text-align: left !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .content-page .content-bod-member-heading h4 {
        font-size: 16px !important;
        line-height: 1.4 !important;
        text-align: left !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .content-page .content-bod-fields {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        padding: 12px !important;
        gap: 8px !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .content-page .content-bod-field-wide { grid-column: 1 / -1 !important; }
    html:root body.ps-mobile-refined.ps-mobile-refresh .content-page .content-bod-field {
        min-width: 0 !important;
        padding: 10px !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .content-page .content-bod-field strong {
        font-size: 13px !important;
        line-height: 1.5 !important;
        overflow-wrap: anywhere;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .content-page .content-bod-group-actions {
        min-width: 0 !important;
        min-height: 44px !important;
        align-self: center;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .content-page .content-bod-group-actions button {
        min-width: 44px !important;
        min-height: 44px !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .content-page .content-bod-card .ps-page-help-container-header > :first-child {
        padding-right: 48px;
    }

    /* Work-request summary tiles and filters. */
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .maintenance-summary-card {
        flex: 0 0 50% !important;
        width: 50% !important;
        max-width: 50% !important;
        padding-left: 5px !important;
        padding-right: 5px !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .maintenance-summary-shell {
        margin-bottom: 10px !important;
        min-height: 0 !important;
        height: auto !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .maintenance-summary-link {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-content: center !important;
        align-items: center !important;
        gap: 6px !important;
        min-height: 106px !important;
        height: auto !important;
        padding: 12px !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .maintenance-summary-icon { display: none !important; }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .maintenance-summary-copy {
        grid-column: 1 / -1;
        min-width: 0 !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .maintenance-summary-eyebrow {
        font-size: 9px !important;
        line-height: 1.4 !important;
        letter-spacing: .02em !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .maintenance-summary-title {
        font-size: 12px !important;
        line-height: 1.4 !important;
        white-space: normal !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .maintenance-summary-total {
        position: static !important;
        font-size: 20px !important;
        line-height: 1.2 !important;
        text-align: left !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .ticket-graph-toggle {
        min-height: 44px !important;
        padding: 10px !important;
        font-size: 13px !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .ticket-card-controls {
        display: grid !important;
        grid-template-areas: "search search" "status perpage" "category category" "actions actions" !important;
        grid-template-columns: minmax(0, 1fr) 84px !important;
        gap: 10px !important;
        padding: 0 !important;
        width: 100% !important;
        min-width: 0 !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .ticket-card-title { display: none !important; }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .ticket-card-search {
        grid-area: search !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .ps-page-help-container-header .ticket-card-search { width: calc(100% - 54px) !important; }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .ticket-status-form { grid-area: status !important; }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .ticket-card-page-size {
        grid-area: perpage !important;
        width: 84px !important;
        margin: 0 !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .ticket-card-page-size > span { display: none !important; }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .ticket-card-category-filter { grid-area: category !important; }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .ticket-property-form { grid-column: 1 / -1 !important; }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .ticket-card-controls :is(form, select) {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .ticket-card-controls :is(input, select) {
        height: 44px !important;
        min-height: 44px !important;
        padding: 8px 24px 8px 10px !important;
        font-size: 16px !important;
        letter-spacing: 0 !important;
        box-sizing: border-box !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .ticket-card-header-actions {
        grid-area: actions !important;
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        width: 100% !important;
        margin: 0 !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .ticket-card-header-actions .maintenance-toolbar-btn:not([hidden]) {
        flex: 1 1 100px !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 44px !important;
        gap: 6px !important;
        padding: 8px !important;
        font-size: 12px !important;
        line-height: 1.4 !important;
        white-space: normal !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .ticket-card-header-actions .maintenance-toolbar-btn i { font-size: 14px !important; }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .ticket-filter-reset-btn[hidden] { display: none !important; }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page #ticketCardsView { padding: 10px !important; }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .ticket-card-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 10px !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .ticket-card-item {
        padding: 12px !important;
        box-shadow: 0 2px 8px rgba(15, 23, 42, .05) !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .ticket-card-top {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 4px !important;
        margin-bottom: 8px !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .ticket-card-number {
        font-size: 14px !important;
        line-height: 1.4 !important;
        font-variant-numeric: tabular-nums;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .ticket-card-complex {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        line-height: 1.5 !important;
        text-align: left !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .ticket-card-subject {
        font-size: 15px !important;
        line-height: 1.5 !important;
        font-weight: 700 !important;
        margin-bottom: 10px !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .ticket-card-meta {
        display: grid !important;
        grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) !important;
        gap: 8px !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .ticket-card-meta > span {
        min-width: 0 !important;
        padding: 8px !important;
        font-size: 12px !important;
        line-height: 1.5 !important;
        overflow-wrap: anywhere;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .ticket-card-meta strong {
        font-size: 10px !important;
        font-weight: 600 !important;
        letter-spacing: .03em !important;
        margin-bottom: 3px;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .ticket-card-footer {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
        margin-top: 10px !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page :is(.ticket-comment-pill, .ticket-image-pill, .ticket-update-pill) {
        font-size: 11px !important;
        line-height: 1.4 !important;
        padding: 7px 9px !important;
        min-height: 32px !important;
        white-space: normal !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .ticket-update-pill {
        min-height: 44px !important;
        display: inline-flex;
        align-items: center;
        margin-left: auto;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .ticket-bulk-toolbar:not([hidden]) {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 8px !important;
        padding: 12px !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .ticket-bulk-toolbar[hidden] { display: none !important; }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .ticket-bulk-select-all {
        margin: 0 !important;
        font-size: 13px !important;
        min-height: 44px;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .ticket-bulk-count { font-size: 12px !important; }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ticket-card-page .ticket-bulk-print {
        grid-column: 1 / -1;
        width: 100% !important;
        min-height: 44px !important;
        font-size: 13px !important;
    }

    /* Ticket details: labels above fields, with description in a separate block. */
    html:root body.ps-mobile-refined.ps-mobile-refresh .ps-mobile-ticket-detail #tck_header {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 5px !important;
        padding-right: 62px !important;
        font-size: 15px !important;
        line-height: 1.5 !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ps-mobile-ticket-detail #tck_header .float-right {
        float: none !important;
        font-size: 12px !important;
        font-weight: 500 !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ps-mobile-ticket-detail #tck_body {
        padding: 14px !important;
        font-size: 14px !important;
        line-height: 1.65 !important;
        overflow-wrap: break-word;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ps-mobile-ticket-detail .maintenance-ticket-topline {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 12px !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ps-mobile-ticket-detail .maintenance-ticket-contact-actions {
        display: flex !important;
        gap: 10px !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ps-mobile-ticket-detail .maintenance-ticket-contact-actions a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        border: 1px solid var(--ps-border, #d6dfe8);
        border-radius: 8px;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ps-mobile-ticket-detail .maintenance-ticket-contact-actions i { margin: 0 !important; }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ps-mobile-ticket-detail .maintenance-ticket-inline-controls {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px !important;
        width: 100% !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ps-mobile-ticket-detail .maintenance-ticket-top-control {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 5px !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ps-mobile-ticket-detail .maintenance-ticket-top-control label {
        position: static !important;
        float: none !important;
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        font-size: 12px !important;
        line-height: 1.5 !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ps-mobile-ticket-detail .maintenance-ticket-top-control select {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: 44px !important;
        margin: 0 !important;
        font-size: 16px !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ps-mobile-ticket-detail .maintenance-ticket-edit-line {
        display: block !important;
        margin-top: 14px !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ps-mobile-ticket-detail .maintenance-ticket-edit-line > strong {
        display: block;
        font-size: 12px !important;
        margin-bottom: 6px;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .ps-mobile-ticket-detail :is(#ticketSubjectInput, #ticketDetailsInput) {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        padding: 10px !important;
        font-size: 15px !important;
        line-height: 1.65 !important;
        white-space: pre-wrap !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
        border-radius: 6px;
    }
}

/* Center board-member identity in the space beside the avatar on phones. */
@media screen and (max-width: 767px) {
    html:root body.ps-mobile-refined.ps-mobile-refresh .content-page .content-bod-member-heading,
    html:root body.ps-mobile-refined.ps-mobile-refresh .content-page .content-bod-member-name-row,
    html:root body.ps-mobile-refined.ps-mobile-refresh .content-page .content-bod-position {
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        width: 100% !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .content-page .content-bod-member-heading h4 {
        font-size: 20px !important;
        line-height: 1.35 !important;
        text-align: center !important;
        margin: 0 !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .content-page .content-bod-position {
        font-size: 16px !important;
        line-height: 1.4 !important;
        margin-top: 6px !important;
    }
}

/* Match the existing phone/coarse-pointer card-view breakpoint. */
@media screen and (max-width: 900px), screen and (max-width: 1024px) and (pointer: coarse) {
    html:root body:not(.login-bg) :is(
        .maintenance-view-toggle, .account-view-toggle, .employee-list-header-actions .employee-view-toggle,
        .content-bod-view-toggle, .content-view-toggle, .directory-view-toggle,
        #accountViewToggle, #anydeskViewToggle, #employeeViewToggle, #contentBodViewToggle
    ) {
        display: none !important;
    }
    html:root body:not(.login-bg) .content-page #contentBodListView {
        display: none !important;
    }
    html:root body:not(.login-bg) .content-page #contentBodCardView {
        display: block !important;
    }
    html:root body:not(.login-bg) .content-page .content-bod-header-actions {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;
    }
    html:root body:not(.login-bg) .content-page #contentBodShowAdd {
        display: inline-flex !important;
        flex: 0 0 auto !important;
        align-items: center !important;
        justify-content: center !important;
        align-self: flex-start !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: 44px !important;
        min-height: 44px !important;
        padding: 10px 14px !important;
        margin: 0 !important;
        gap: 7px !important;
        border-radius: 8px !important;
        font-size: 14px !important;
        line-height: 1.3 !important;
        white-space: nowrap !important;
    }
    html:root body:not(.login-bg) .content-page #contentBodShowAdd :is(i, span) {
        font-size: 14px !important;
        line-height: 1.3 !important;
    }
}
@media screen and (max-width: 767px) {
    html:root body.ps-mobile-refined.ps-mobile-refresh .accounts-page .account-card-controls {
        grid-template-areas: "search search" "perpage perpage" !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .accounts-page .account-card-page-size {
        justify-content: flex-start !important;
        width: auto !important;
        gap: 8px !important;
    }
    html:root body.ps-mobile-refined.ps-mobile-refresh .accounts-page .account-card-page-size span[data-mobile-label] {
        display: inline !important;
        font-size: 12px !important;
    }
}

