/* MDS-OFFICE-VIEWPORT-1.0
   Presentation-only sizing repair. No hidden page overflow, zoom changes,
   rewritten routes, permission changes, or modifications to map transforms. */
html:has(#mds-office-app),
body:has(#mds-office-app) {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box;
  overscroll-behavior-x: none;
}
body:has(#mds-office-app) #root {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border-inline: 0 !important;
  box-sizing: border-box !important;
}
#mds-office-app.app.mds-office-ui[data-office-color-release] {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-inline: 0 !important;
  box-sizing: border-box !important;
}
#mds-office-app .mds-office-topbar,
#mds-office-app .mds-office-workspace,
#mds-office-app .mds-ws-body,
#mds-office-app .mds-ws-main {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
#mds-office-app .mds-ws-main {
  max-width: none;
  margin-inline: 0;
}
/* Let real content reflow instead of making the browser document wider. */
#mds-office-app .mds-ws-topbar { flex-wrap: wrap; min-width: 0; }
#mds-office-app .mds-ws-search { min-width: 0; flex: 1 1 220px; max-width: 440px; }
#mds-office-app .mds-ws-person { min-width: 0; }
#mds-office-app :is(.mds-ws-page-head,.mds-ws-section-head) { flex-wrap: wrap; }
#mds-office-app :is(.mds-ws-pin-open,.mds-ws-open-row,.mds-ws-department,.mds-ws-footer,.mds-ws-custom-grid li) {
  overflow-wrap: anywhere;
}
#mds-office-app .mds-ws-pin-open > small { padding-right: 24px; }
#mds-office-app .mds-brand-left,
#mds-office-app .mds-accountbar { max-width: 100%; }
#mds-office-app .mds-wordmark { white-space: normal; overflow-wrap: anywhere; }
#mds-office-app .mds-account-copy { min-width: 0; overflow-wrap: anywhere; }
/* Wide operational tables retain their own horizontal scroll; the entire
   website must not move sideways. Nothing is clipped or made inaccessible. */
#mds-office-app > main.main {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: auto;
  overscroll-behavior-x: contain;
}
#mds-office-app :is(.table-wrap,.table-scroll,.table-container,.s21-table-wrap) {
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overscroll-behavior-x: contain;
}
#mds-office-app .mds-fm { max-width: calc(100% - 40px); }
@media (max-width:650px) {
  #mds-office-app .mds-ws-search { max-width: none; flex-basis: 160px; }
}
