@media screen{.mis-stage .app-main{--mis-page-inset-block:14px;--mis-page-inset-inline:18px;--mis-page-inset-bottom:24px;--mis-workspace-edge-inline:14px}.mis-stage .app-main:has(>.home-page){scrollbar-width:thin;padding-block:15px !important;padding-inline:max(0px,calc(20px - var(--mis-page-start-rail,var(--mis-native-page-rail,10px)))) max(0px,calc(20px - var(--mis-page-end-rail,var(--mis-native-page-rail,10px)))) !important}.mis-stage .app-main :is([data-mis-workspace-scroll],.crm_ai_workspace_content) :where(section,div[class]:not([class=""])):has(>.mis-page-banner-stack,>:where(div:not([class]),div[class=""])>.mis-page-banner-stack):not(:where(dialog,[role=dialog],[data-mis-control=drawer]) *){padding-block:var(--mis-page-inset-block) var(--mis-page-inset-bottom);padding-inline:var(--mis-page-inset-inline)}.app-main{scrollbar-gutter:stable both-edges}.app-main.is-fixed-workspace{scrollbar-gutter:auto}.app-main:has(>:is([data-mis-workspace-shell],.crm_ai_workspace_workspace)){overflow:hidden!important;scrollbar-gutter:auto!important;padding-inline:0!important}:is(.app-main,.mis-workspace-preview)>:is([data-mis-workspace-shell],.crm_ai_workspace_workspace){min-width:0;min-height:0;max-width:100%}:is(.app-main,.mis-workspace-preview)>:is([data-mis-workspace-shell],.crm_ai_workspace_workspace)>:is([data-mis-workspace-scroll],.crm_ai_workspace_content){box-sizing:border-box;min-width:0;min-height:0;scrollbar-gutter:stable both-edges!important;scrollbar-width:thin;padding-inline:14px;overscroll-behavior:contain}}@media screen and (max-width:760px){.mis-stage .app-main{--mis-page-inset-block:10px;--mis-page-inset-inline:10px;--mis-page-inset-bottom:18px;--mis-workspace-edge-inline:4px}.mis-stage .app-main:has(>.home-page){padding-block:15px !important;padding-inline:max(0px,calc(20px - var(--mis-page-start-rail,var(--mis-native-page-rail,10px)))) max(0px,calc(20px - var(--mis-page-end-rail,var(--mis-native-page-rail,10px)))) !important}.mis-stage .app-main>.home-page{padding:0 !important}:is(.app-main,.mis-workspace-preview)>:is([data-mis-workspace-shell],.crm_ai_workspace_workspace)>:is([data-mis-workspace-scroll],.crm_ai_workspace_content){padding-inline:4px}}

/* A check-in document fills its menu pane; the public detail body is its sole vertical scroller.
   The resource marker is supplied by the existing customer travel composition.
   Other customer views and the shared horizontal rails are deliberately unchanged. */
@media screen and (min-width:761px) {
  :is(#xinocler-crm-domestic-view,#xinocler-crm-overseas-view):has(> .crm-window > div > main > [role="tabpanel"]:not([hidden]) [data-crm-checkin-pane="timeline"]) {
    display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;
  }
  :is(#xinocler-crm-domestic-view,#xinocler-crm-overseas-view):has(> .crm-window > div > main > [role="tabpanel"]:not([hidden]) [data-crm-checkin-pane="timeline"]) > .crm-window {
    display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;
  }
  :is(#xinocler-crm-domestic-view,#xinocler-crm-overseas-view):has(> .crm-window > div > main > [role="tabpanel"]:not([hidden]) [data-crm-checkin-pane="timeline"]) > .crm-window > div:has(> main),
  :is(#xinocler-crm-domestic-view,#xinocler-crm-overseas-view):has(> .crm-window > div > main > [role="tabpanel"]:not([hidden]) [data-crm-checkin-pane="timeline"]) > .crm-window > div > main {
    display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;
  }
  :is(#xinocler-crm-domestic-view,#xinocler-crm-overseas-view) > .crm-window > div > main > [role="tabpanel"]:not([hidden]):has([data-crm-checkin-pane="timeline"]) {
    flex:1;min-height:0;overflow:hidden;
  }
  :is(#xinocler-crm-domestic-view,#xinocler-crm-overseas-view) [role="tabpanel"]:not([hidden]) > div:has(> [data-mis-workspace-shell]):has([data-crm-checkin-pane="timeline"]) {
    flex:1;min-height:0;overflow:hidden;
  }
  :is(#xinocler-crm-domestic-view,#xinocler-crm-overseas-view) [data-mis-workspace-shell]:has([data-crm-checkin-pane="timeline"]) {
    height:auto;flex:1;min-height:0;overflow:hidden;
  }
  :is(#xinocler-crm-domestic-view,#xinocler-crm-overseas-view) [data-mis-workspace-scroll]:has([data-crm-checkin-pane="timeline"]) {
    display:flex;flex-direction:column;min-height:0;overflow:hidden;
  }
  :is(#xinocler-crm-domestic-view,#xinocler-crm-overseas-view) [data-mis-workspace-scroll] > div:has([data-crm-checkin-pane="timeline"]),
  :is(#xinocler-crm-domestic-view,#xinocler-crm-overseas-view) [data-mis-workspace-scroll] > div > div:has(> .mis-detail-workspace [data-crm-checkin-pane="timeline"]) {
    flex:1;min-height:0;overflow:hidden;
  }
  :is(#xinocler-crm-domestic-view,#xinocler-crm-overseas-view) .mis-detail-center-body:has([data-crm-checkin-pane="timeline"]) > div:has(> [data-crm-checkin-pane="timeline"]) {
    min-height:100%;align-items:stretch;
  }
}

/* MY MIS mobile search reuses the existing input and home filter behavior.
   Home panel is mounted only while home is active; other workspaces keep their header. */
@media screen and (max-width:767px) {
 .mis-stage .mis-shell:has(> .app-main > .home-page) { grid-template-rows:100px 36px minmax(0,1fr); }
 .mis-stage .mis-shell:has(> .app-main > .home-page) > .topbar { grid-template-rows:55px 36px; row-gap:0; padding-bottom:8px; }
 .mis-stage .mis-shell:has(> .app-main > .home-page) > .topbar > .topbar-page-name { grid-column:1; grid-row:1; }
 .mis-stage .mis-shell:has(> .app-main > .home-page) > .topbar > .topbar-actions { grid-column:2; grid-row:1; }
 .mis-stage .mis-shell:has(> .app-main > .home-page) > .topbar > .global-search { display:flex; grid-column:1 / -1; grid-row:2; width:100%; min-width:0; box-sizing:border-box; }
 .mis-stage .mis-shell:has(> .app-main > .home-page) > .topbar > .global-search input { width:0; min-width:0; height:100%; box-sizing:border-box; }
 .mis-stage .mis-shell:has(> .app-main > .home-page) > .topbar > .global-search kbd { display:none; }
}

/* Permission and strategy-plan maintenance workspaces: the keepalive outer owner supplies the single home bottom inset.
 * Keep the current horizontal rails and the inner Banner top spacing intact. */
@media screen {
  .mis-stage .app-main:has(> .workspace-keepalive:not([hidden]) :is(#xinocler-crm-permissions-view,#xinocler-crm-strategy-plan-maintenance-view)) {
    padding-bottom:var(--mis-page-inset-bottom,24px) !important;
  }
  .mis-stage .app-main > .workspace-keepalive:not([hidden]) :is(#xinocler-crm-permissions-view,#xinocler-crm-strategy-plan-maintenance-view) > .crm-window {
    padding-bottom:0 !important;
  }
}

/* Permission desktop lists retain their local scrolling; the public workspace scroll owns mobile page overflow. Keepalive wrappers use one stable outer rail. */
@media screen and (min-width:761px) {
  .mis-stage .app-main:has(> .workspace-keepalive:not([hidden]) #xinocler-crm-permissions-view) { overflow:hidden !important; }
  .mis-stage .app-main > .workspace-keepalive:not([hidden]) :is([data-mis-workspace-scroll],.crm_ai_workspace_content2):has(> #xinocler-crm-permissions-view) { overflow:auto !important; scrollbar-gutter:stable both-edges !important; }
}
@media screen and (max-width:760px) {
  .mis-stage .app-main > .workspace-keepalive:not([hidden]):has(#xinocler-crm-permissions-view),
  .mis-stage .app-main > .workspace-keepalive:not([hidden]) :is([data-mis-workspace-shell],.crm_ai_workspace_workspace2):has(#xinocler-crm-permissions-view) { height:auto !important; }
  .mis-stage .app-main > .workspace-keepalive:not([hidden]) :is([data-mis-workspace-scroll],.crm_ai_workspace_content2):has(> #xinocler-crm-permissions-view) { flex:1 1 0%; width:100%; max-width:100%; box-sizing:border-box; height:auto !important; overflow:auto !important; scrollbar-gutter:stable both-edges !important; }
}
/* Product/material retained menu: app-main owns the permanent page-edge rail.
 * Inner workspace wrappers flow normally so short and long categories share one width. */
@media screen {
  .mis-stage .app-main:has(> .workspace-keepalive:not([hidden]) #xinocler-crm-product-materials-view) {
    overflow-y:auto!important;
    scrollbar-width:thin;
    scrollbar-gutter:stable both-edges!important;
    padding-block-end:var(--mis-crm-page-inset-block,0px)!important;
  }
  .mis-stage .app-main > .workspace-keepalive:not([hidden]):has(#xinocler-crm-product-materials-view),
  .mis-stage .app-main > .workspace-keepalive:not([hidden]) [data-mis-workspace-shell]:has(#xinocler-crm-product-materials-view) {
    height:auto!important;
    min-height:0;
    overflow:visible;
  }
  .mis-stage .app-main > .workspace-keepalive:not([hidden]) [data-mis-workspace-scroll]:has(> #xinocler-crm-product-materials-view) {
    flex:none;
    width:100%;
    max-width:100%;
    box-sizing:border-box;
    height:auto!important;
    overflow:visible!important;
    scrollbar-gutter:auto!important;
    padding-inline:0;
  }
  #xinocler-crm-product-materials-view > .crm-window > main {
    overflow:visible;
  }
  #xinocler-crm-product-materials-view > .crm-window {
    padding-block-end:var(--mis-page-inset-bottom,24px);
  }
}

/* Electronic seal retained menus consume the standard workspace rails once.
 * The active instance's workspace scroll owns the gutter; hidden instances stay isolated. */
@media screen {
  .mis-stage .app-main:has(> .workspace-keepalive:not([hidden]) .es-business) {
    overflow:hidden!important;
    scrollbar-gutter:auto!important;
    padding-inline:0!important;
    padding-block:15px!important;
  }
  .mis-stage .app-main > .workspace-keepalive:not([hidden]):has(.es-business) {
    display:flex;flex-direction:column;
    box-sizing:border-box;
    width:100%;max-width:100%;height:100%;
    min-width:0;min-height:0;overflow:hidden;
  }
  .mis-stage .app-main > .workspace-keepalive:not([hidden]) [data-mis-workspace-shell]:has(> [data-mis-workspace-scroll] > .es-business) {
    box-sizing:border-box;
    width:100%;max-width:100%;height:auto;flex:1 1 0%;
    min-width:0;min-height:0;
    overflow:hidden;
  }
  .mis-stage .app-main > .workspace-keepalive:not([hidden]) [data-mis-workspace-scroll]:has(> .es-business) {
    box-sizing:border-box;
    width:100%;max-width:100%;
    min-width:0;min-height:0;
    overflow:auto;
    scrollbar-gutter:stable both-edges!important;
    scrollbar-width:thin;
    padding-inline:var(--mis-workspace-edge-inline,14px)!important;
    overscroll-behavior:contain;
  }
}
@media screen and (max-width:760px) {
  .mis-stage .app-main:has(> .workspace-keepalive:not([hidden]) .es-business) { padding-block:15px!important; }
}

/* CRM page boundary, per 2026-10-31 user request: one 15px top/bottom owner.
 * Horizontal rails, local card/form padding and modal layouts retain their contracts. */
@media screen {
  .mis-stage .app-main:is([data-page-module="crm"],:has(> section[id^="xinocler-crm-"]),:has(> .workspace-keepalive:not([hidden]) section[id^="xinocler-crm-"])) {
    --mis-crm-page-inset-block:15px;
    --mis-page-inset-block:0px;
    --mis-page-inset-bottom:15px;
    padding-block:15px!important;
  }
  .mis-stage .app-main section[id^="xinocler-crm-"] {
    --mis-page-inset-block:0px!important;
    --mis-page-inset-bottom:0px!important;
    padding-block:0!important;
  }
  .mis-stage .app-main section[id^="xinocler-crm-"] > .crm-window {
    --mis-page-inset-block:0px!important;
    --mis-page-inset-bottom:0px!important;
    padding-block:0!important;
  }
  .mis-stage .app-main section[id^="xinocler-crm-"] :is(.crm-contract-page-banner,.sales-fulfillment-banner-host) {
    margin-block-start:0!important;
  }
  .mis-stage .app-main section[id^="xinocler-crm-"] > :is(.mwb-stage,.mcontact-stage) {
    padding-block:0!important;
  }
}

/* Whole-page scrollbars stay at the app-main edge, inside its outer rail.
 * A retained workspace must not put its native scrollbar inside the page padding.
 * Product/material already uses app-main as its measured scrolling owner. */
@media screen {
  .mis-stage .app-main { scrollbar-width:thin; }
  .mis-stage .app-main:has(> .workspace-keepalive:not([hidden]) > [data-mis-workspace-shell]):not(:has(> .workspace-keepalive:not([hidden]) #xinocler-crm-product-materials-view)),
  .mis-stage .app-main:has(> .workspace-keepalive:not([hidden]) > div:not([class]) > [data-mis-workspace-shell]):not(:has(> .workspace-keepalive:not([hidden]) #xinocler-crm-product-materials-view)) {
    padding-inline:0!important;
    scrollbar-gutter:auto!important;
    overflow:hidden!important;
  }
  .mis-stage .app-main > .workspace-keepalive:not([hidden]):has(> [data-mis-workspace-shell]),
  .mis-stage .app-main > .workspace-keepalive:not([hidden]):has(> div:not([class]) > [data-mis-workspace-shell]) {
    display:flex;flex-direction:column;
    min-width:0;min-height:0;
  }
  .mis-stage .app-main > .workspace-keepalive:not([hidden]) > [data-mis-workspace-shell],
  .mis-stage .app-main > .workspace-keepalive:not([hidden]) > div:not([class]) > [data-mis-workspace-shell] {
    box-sizing:border-box;min-width:0;min-height:0;max-width:100%;
    height:auto;flex:1 1 0%;
  }
  .mis-stage .app-main > .workspace-keepalive:not([hidden]) > [data-mis-workspace-shell] > [data-mis-workspace-scroll],
  .mis-stage .app-main > .workspace-keepalive:not([hidden]) > div:not([class]) > [data-mis-workspace-shell] > [data-mis-workspace-scroll] {
    box-sizing:border-box;min-width:0;min-height:0;
    scrollbar-width:thin;
    scrollbar-gutter:stable both-edges!important;
    padding-inline:var(--mis-workspace-edge-inline,14px);
    overscroll-behavior:contain;
  }
  .mis-stage .app-main [data-mis-workspace-scroll]:has(> section[id^="xinocler-crm-"]) {
    padding-inline:max(0px,calc(20px - var(--mis-page-start-rail,var(--mis-native-page-rail,10px)))) max(0px,calc(20px - var(--mis-page-end-rail,var(--mis-native-page-rail,10px))))!important;
  }
  /* The product page's flowing inner wrapper does not acquire a second rail. */
  .mis-stage .app-main [data-mis-workspace-scroll]:has(> #xinocler-crm-product-materials-view) { padding-inline:0!important; }
}
@media screen and (max-width:760px) {
  .mis-stage .app-main > .workspace-keepalive:not([hidden]):has(#xinocler-crm-permissions-view) { height:100%!important; }
}

/* Current page contract: 15px top/bottom, 20px visible sides including native rails. */
@media screen {
  .mis-stage .app-main {
    --mis-page-inset-block:0px;
    --mis-page-inset-inline:0px;
    --mis-page-inset-bottom:15px;
    --mis-workspace-edge-inline:0px;
    padding-block:15px!important;
    padding-inline:max(0px,calc(20px - var(--mis-page-start-rail,var(--mis-native-page-rail,10px)))) max(0px,calc(20px - var(--mis-page-end-rail,var(--mis-native-page-rail,10px))))!important;
  }
  .mis-stage .app-main:has(> :is([data-mis-workspace-shell],.crm_ai_workspace_workspace)) { padding-inline:0!important; }
  .mis-stage .app-main > :is([data-mis-workspace-shell],.crm_ai_workspace_workspace) > [data-mis-workspace-scroll],
  .mis-stage .app-main > .workspace-keepalive:not([hidden]) > [data-mis-workspace-shell] > [data-mis-workspace-scroll],
  .mis-stage .app-main > .workspace-keepalive:not([hidden]) > div:not([class]) > [data-mis-workspace-shell] > [data-mis-workspace-scroll] {
    padding-inline:max(0px,calc(20px - var(--mis-page-start-rail,var(--mis-native-page-rail,10px)))) max(0px,calc(20px - var(--mis-page-end-rail,var(--mis-native-page-rail,10px))))!important;
  }
  .mis-stage .app-main :where(section,main[class],div[class]:not([class=""])):has(> .mis-page-banner-stack,> :where(div:not([class]),div[class=""]) > .mis-page-banner-stack):not([data-mis-control="card"]):not(:where(dialog,[role="dialog"],[data-mis-control="drawer"],[data-mis-control="card"]) *) {
    --mis-page-inset-block:0px;
    --mis-page-inset-bottom:0px;
    padding:0!important;
  }
  /* Flowing product pages keep their existing outer page scrollbar. */
  .mis-stage .app-main [data-mis-workspace-scroll]:has(> #xinocler-crm-product-materials-view) { padding-inline:0!important; }
  /* Legacy resource pages expose their outer content layer through the compiled
     content role until their host supplies a stable public page-root marker. */
  .mis-stage .app-main[data-page-module] .crm-window > div > :is(div,main)[class*="_content_"] { padding:0!important; }
  .mis-stage .app-main[data-page-module="ai-employees"] section:has(> .ai_knowledge_layout_bannerRegion > .mis-page-banner-stack) { padding:0!important; }
}
