/* BSANCO global responsive contract v2.3 */
*,*::before,*::after{box-sizing:border-box}img,video,audio,canvas{max-width:100%}.win-mdi-body-viewport{min-width:0;overflow:auto;-webkit-overflow-scrolling:touch}.win32-window-container,.mdi-window{max-width:100%;min-width:0}button,input,select,textarea{max-width:100%}@media(max-width:900px){.mdi-window{inset:0!important;width:100%!important;height:100dvh!important;max-width:none!important;max-height:none!important;border-radius:0!important}.win-mdi-body-viewport{height:calc(100dvh - 42px)!important}.grid,.main-split{min-width:0}.main-split{flex-direction:column}.main-split>div{width:100%!important;max-width:none!important;min-width:0!important}.modal-panel,[role=dialog]{max-width:calc(100vw - 24px)!important}}@media(max-width:520px){body{font-size:14px}.ribbon-right-controls{gap:4px!important}.active-user-badge-wrapper label,.system-environment-status-badge{display:none}.dropdown{max-width:calc(100vw - 16px)!important;min-width:0!important}.uoh-btn,button{min-height:44px}.uoh-views,.uoh-channels{scroll-snap-type:x proximity}.uoh-view,.uoh-channel{scroll-snap-align:start}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}

/* v2.4 resilient modal and MDI geometry */
html,body{max-width:100%;overflow-x:hidden}
body.uoh-modal-open{overflow:hidden!important}
.bsanco-window-frame,.mdi-window,.win-mdi-body-viewport,.mdi-content-body{min-width:0;min-height:0}
.uoh-modal-root{padding:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))!important}
.uoh-modal-root .uoh-create-dialog{width:min(1080px,calc(100vw - 24px))!important;height:min(900px,calc(100dvh - 24px))!important;max-height:calc(100dvh - 24px)!important}
@media(max-width:760px){.uoh-modal-root .uoh-create-dialog{width:calc(100vw - 8px)!important;height:calc(100dvh - 8px)!important;max-height:calc(100dvh - 8px)!important}.uoh-dialog input,.uoh-dialog select,.uoh-dialog textarea{font-size:16px!important}.uoh-wizard-heading{align-items:flex-start!important;flex-wrap:wrap}.uoh-wizard-heading>button{width:100%;margin:4px 0 0!important}.uoh-create-action-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 38px!important}.uoh-create-action-row .create-action-title,.uoh-create-action-row .create-action-project{grid-column:1/-1}.uoh-create-dialog>footer{padding-bottom:max(10px,env(safe-area-inset-bottom))!important}}


/* v1 mobile touch workstation: Win32/Delphi visuals with phone-native ergonomics */
:root{--bsanco-touch:44px;--bsanco-safe-bottom:env(safe-area-inset-bottom,0px);--bsanco-safe-top:env(safe-area-inset-top,0px)}
#bsanco-mobile-menu-toggle,#bsanco-mobile-menu-shade{display:none}
@media (hover:none),(pointer:coarse){
  button,a,.dropdown-item,[data-action],input,select,textarea{touch-action:manipulation;-webkit-tap-highlight-color:rgba(10,36,106,.18)}
  .menu-item:hover>.dropdown{display:none!important}.menu-item.is-open>.dropdown,.bsanco-dropdown-open{display:block!important}
  button:active,.dx-btn:active,.win32-btn-classic:active,[data-action]:active{filter:brightness(.9);transform:none!important}
}
@media(max-width:768px){
  html,body{width:100%;height:100dvh!important;overscroll-behavior:none}
  #ribbon-layer-wrapper{padding-top:var(--bsanco-safe-top);z-index:2147482000!important}
  #dynamic-menu-ribbon{height:52px!important;min-height:52px!important;display:flex!important;flex-direction:row!important;align-items:center!important;padding:4px 6px!important}
  #bsanco-mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:124px;min-height:44px;border:2px outset #fff;background:#d4d0c8;color:#000;font:700 13px Tahoma;z-index:2}
  #bsanco-mobile-menu-toggle:active{border-style:inset}
  #dynamic-menu-ribbon>.menu-nodes-container{display:block!important;position:fixed!important;top:0!important;right:0!important;bottom:0!important;width:min(88vw,360px)!important;max-width:360px!important;padding:calc(var(--bsanco-safe-top) + 58px) 7px calc(var(--bsanco-safe-bottom) + 12px)!important;background:#c0c0c0!important;border-left:3px outset #fff!important;overflow-y:auto!important;overflow-x:hidden!important;transform:translateX(105%);transition:transform .18s ease;z-index:2147483001!important;box-shadow:-8px 0 24px #0008}
  body.bsanco-mobile-menu-open #dynamic-menu-ribbon>.menu-nodes-container{transform:translateX(0)}
  #bsanco-mobile-menu-shade{display:block;position:fixed;inset:0;border:0;background:#0008;opacity:0;visibility:hidden;pointer-events:none;z-index:2147483000;transition:opacity .18s}
  body.bsanco-mobile-menu-open #bsanco-mobile-menu-shade{opacity:1;visibility:visible;pointer-events:auto}
  .menu-nodes-container>.menu-item{display:block;width:100%;margin:0 0 4px}.menu-button{width:100%;min-height:46px!important;justify-content:flex-start;border:2px outset #fff!important;background:#ece9d8!important;color:#000!important;padding:8px 10px!important;font-size:14px!important}
  .menu-item.is-open>.menu-button{background:#000080!important;color:#fff!important;border-style:inset!important}
  .bsanco-dropdown-open{position:static!important;inset:auto!important;width:100%!important;max-height:none!important;min-width:0!important;margin:2px 0 7px!important;box-shadow:none!important;border:2px inset #fff!important;background:#fff!important}
  .bsanco-dropdown-open .dropdown-item{min-height:48px!important;white-space:normal!important;line-height:1.45;padding:8px!important;border-bottom:1px solid #d4d0c8}.bsanco-dropdown-open .content{min-width:0}.bsanco-dropdown-open small{display:block}
  .ribbon-right-controls{margin-inline-start:auto!important;width:auto!important;border:0!important}.active-user-badge-wrapper{min-height:42px;max-width:calc(100vw - 145px);overflow:hidden}.active-user-badge-wrapper span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.system-environment-status-badge{display:none!important}
  #mdi-master-canvas{overflow-y:auto!important;overscroll-behavior:contain;padding-bottom:calc(50px + var(--bsanco-safe-bottom))}
  .dashboard-header-summary{padding:10px!important;min-height:auto!important}.dashboard-welcome-title h1{font-size:15px!important;line-height:1.5!important}.dashboard-welcome-title p{font-size:11px!important;white-space:normal!important}
  .premium-dashboard-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;padding:8px!important}.premium-erp-card{height:auto!important;min-height:126px!important;padding:10px!important;border-radius:0!important;border:2px outset #fff!important}.premium-erp-card:active{border-style:inset!important;background:#e8eef8!important}
  .lower-dashboard-widgets-wrapper{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;padding:0 8px 10px!important}.lower-dashboard-widget-card{min-height:220px!important;border-radius:0!important;border:2px outset #fff!important}
  .mdi-bottom-taskbar-strip{position:fixed!important;right:0;left:0;bottom:0;min-height:calc(48px + var(--bsanco-safe-bottom))!important;padding:3px 5px var(--bsanco-safe-bottom)!important;overflow-x:auto!important;z-index:2147481000!important}.tab-chip-item{min-height:42px!important;min-width:120px!important;padding:8px!important}
  .mdi-window,.bsanco-window-frame,[data-window-module]{position:fixed!important;top:calc(52px + var(--bsanco-safe-top))!important;right:0!important;bottom:calc(48px + var(--bsanco-safe-bottom))!important;left:0!important;width:100%!important;height:auto!important;max-width:none!important;max-height:none!important;border:1px solid #000!important;resize:none!important;transform:none!important}
  .win-mdi-header-bar{min-height:48px!important;height:48px!important;padding:4px 6px!important;touch-action:none}.win-mdi-header-bar>div:first-child{min-width:0}.win-mdi-header-bar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.win-ctrl-btn,.win32-close-btn{min-width:42px!important;min-height:40px!important;font-size:16px!important}
  .win-mdi-body-viewport{height:calc(100dvh - 148px - var(--bsanco-safe-top) - var(--bsanco-safe-bottom))!important;overflow:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  .win-mdi-body-viewport button:not(.mic-btn),.modal-panel button,[role=dialog] button{min-height:44px!important;min-width:44px}.win-mdi-body-viewport input:not([type=checkbox]):not([type=radio]):not([type=range]),.win-mdi-body-viewport select,.win-mdi-body-viewport textarea{min-height:44px!important;font-size:16px!important;padding:8px!important}
  .win-mdi-body-viewport table{min-width:720px}.win-mdi-body-viewport table th{position:sticky;top:0;z-index:3}.win-mdi-body-viewport .overflow-auto,.win-mdi-body-viewport .overflow-x-auto,.table-responsive{scrollbar-width:thin;overscroll-behavior-inline:contain}
  div[id*="modal-overlay"],.bsanco-child-modal-overlay,[data-bsanco-modal]{padding:0!important;align-items:stretch!important}.bsanco-child-modal-container,div[id*="modal-overlay"]>div,[role=dialog]{width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;border-radius:0!important}.bsanco-child-modal-header,div[id*="modal-overlay"] .win32-titlebar{min-height:52px!important}.flex-1.overflow-y-auto{overscroll-behavior:contain}
  .grid-cols-2,.grid-cols-3,.grid-cols-4,.grid-cols-5,.grid-cols-6{grid-template-columns:1fr!important}.r10-form-grid,.r10-subform{grid-template-columns:1fr!important}.r10-form-grid fieldset{grid-template-columns:1fr!important}.r10-wizard-tabs{display:flex!important;overflow-x:auto!important}.r10-wizard-tabs button{min-width:115px;min-height:44px}
}
@media(max-width:430px){.premium-dashboard-grid{grid-template-columns:1fr!important}.premium-erp-card{min-height:112px!important}.active-user-badge-wrapper{padding:3px 6px!important}#sys-active-user-display{display:none}.dashboard-welcome-title p{display:none}.dashboard-header-summary{padding:6px 8px!important}}


/* Mobile drawer v2: Win32 accordion, usable without hover or mouse. */
@media (max-width:820px),(pointer:coarse){
  #dynamic-menu-ribbon{z-index:2147483100!important}
  #dynamic-menu-ribbon>.menu-nodes-container{top:0!important;bottom:0!important;height:100dvh!important;max-height:100dvh!important;z-index:2147483200!important;box-shadow:-3px 0 8px #0005!important;overscroll-behavior:contain}
  #bsanco-mobile-menu-shade{z-index:2147483000!important;background:rgba(0,0,0,.22)!important}
  #dynamic-menu-ribbon>.menu-nodes-container>.menu-item>.dropdown{display:none!important;position:static!important;inset:auto!important;width:calc(100% - 10px)!important;max-width:none!important;max-height:none!important;margin:0 5px 7px!important;padding:4px!important;transform:none!important;overflow:visible!important;z-index:auto!important;background:#f4f3ee!important;border:2px inset #fff!important;box-shadow:none!important}
  #dynamic-menu-ribbon>.menu-nodes-container>.menu-item.is-open>.dropdown,
  #dynamic-menu-ribbon>.menu-nodes-container>.menu-item>.dropdown.bsanco-dropdown-open{display:block!important}
  #dynamic-menu-ribbon .menu-item.is-open>.menu-button{border-style:inset!important;background:#d6d2c7!important}
  #dynamic-menu-ribbon .dropdown-item{display:flex!important;align-items:center!important;min-height:44px!important;width:100%!important;margin:2px 0!important;padding:9px 10px!important;white-space:normal!important;touch-action:manipulation}
  #dynamic-menu-ribbon .menu-button::after{content:'◀';margin-inline-start:auto;font-size:11px}
  #dynamic-menu-ribbon .menu-item.is-open>.menu-button::after{content:'▼'}
}


/* Mobile navigation/window chrome v3 — no click-blocking overlay. */
@media (max-width:820px),(pointer:coarse){
  #bsanco-mobile-menu-shade{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
  #dynamic-menu-ribbon{pointer-events:none!important;background:transparent!important;box-shadow:none!important}
  #dynamic-menu-ribbon #bsanco-mobile-menu-toggle,
  #dynamic-menu-ribbon>.menu-nodes-container,
  #dynamic-menu-ribbon>.menu-nodes-container *{pointer-events:auto!important}
  #dynamic-menu-ribbon>.menu-nodes-container{top:0!important;right:0!important;bottom:0!important;height:100dvh!important;max-height:100dvh!important;overflow-y:auto!important;overflow-x:hidden!important;box-shadow:-2px 0 5px rgba(0,0,0,.3)!important}
  #dynamic-menu-ribbon .menu-button,
  #dynamic-menu-ribbon .dropdown-item{position:relative!important;z-index:1!important;touch-action:manipulation!important;user-select:none!important;-webkit-tap-highlight-color:rgba(10,36,106,.18)!important}

  .bsanco-window-frame.mdi-window{display:flex!important;flex-direction:column!important;overflow:hidden!important}
  .bsanco-window-titlebar,
  .win-mdi-header-bar{display:flex!important;visibility:visible!important;opacity:1!important;position:relative!important;inset:auto!important;z-index:2147482500!important;flex:0 0 52px!important;width:100%!important;min-width:0!important;height:52px!important;min-height:52px!important;padding:4px 6px!important;align-items:center!important;justify-content:space-between!important;background:linear-gradient(90deg,#0a246a,#3a6ea5)!important;color:#fff!important;border:0!important;border-bottom:2px solid #001a4b!important;overflow:visible!important;pointer-events:auto!important;touch-action:manipulation!important}
  .bsanco-window-titlebar>div:first-child,
  .win-mdi-header-bar>div:first-child{display:flex!important;min-width:0!important;flex:1 1 auto!important;overflow:hidden!important}
  .bsanco-window-titlebar>div:first-child span:last-child,
  .win-mdi-header-bar>div:first-child span:last-child{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#fff!important;font:bold 13px Tahoma,sans-serif!important}
  .bsanco-window-controls,
  .win-mdi-header-bar>div:last-child{display:flex!important;visibility:visible!important;opacity:1!important;flex:0 0 auto!important;gap:3px!important;pointer-events:auto!important}
  .bsanco-window-titlebar .win-ctrl-btn,
  .win-mdi-header-bar .win-ctrl-btn{display:inline-flex!important;visibility:visible!important;opacity:1!important;align-items:center!important;justify-content:center!important;width:44px!important;min-width:44px!important;height:42px!important;min-height:42px!important;margin:0!important;padding:0!important;border:2px outset #fff!important;border-radius:0!important;background:#d4d0c8!important;color:#000!important;font:bold 16px/1 Tahoma,sans-serif!important;pointer-events:auto!important;touch-action:manipulation!important}
  .bsanco-window-titlebar .win-ctrl-btn:active,
  .win-mdi-header-bar .win-ctrl-btn:active{border-style:inset!important;background:#c0c0c0!important}
  .win-mdi-body-viewport,.mdi-content-body{flex:1 1 0!important;height:auto!important;min-height:0!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important}
}

@media(max-width:820px),(pointer:coarse){.bsanco-window-controls,.win-mdi-header-bar>div:last-child{display:flex!important;position:relative!important;z-index:2147483600!important}.win-ctrl-btn[data-win-ctrl=min],.win-ctrl-btn[data-win-ctrl=max],.win-ctrl-btn[data-win-ctrl=close]{display:inline-flex!important;visibility:visible!important;pointer-events:auto!important}.bsanco-window-titlebar{overflow:visible!important}}

/* ============================================================================
   BSANCO MOBILE UX REFINEMENT 2.6
   Front-end only: keeps Win32/Delphi chrome, IDs, routes and workflows intact.
   ============================================================================ */
:root{
  --bsanco-mobile-gutter:8px;
  --bsanco-mobile-face:#ece9d8;
  --bsanco-mobile-title:#0a246a;
  --bsanco-mobile-border:#7f9db9;
  --bsanco-mobile-focus:#1d4ed8;
  --bsanco-mobile-tap:42px;
}

/* Shared compact action language. The hit-area stays touch-safe; only visual padding
   and label wrapping are reduced so the data region gets more room. */
.bsanco-mobile-actionbar,
.win-mdi-body-viewport header:has(button),
.win-mdi-body-viewport footer:has(button),
.win-mdi-body-viewport [class*="toolbar"]:has(button),
.win-mdi-body-viewport [class*="actions"]:has(button),
.win-mdi-body-viewport [class*="filters"]:has(button),
.win-mdi-body-viewport .filter-ribbon-group-box,
.win-mdi-body-viewport .r11-flow-tools,
.win-mdi-body-viewport .r11-progress-select,
.win-mdi-body-viewport .ac-filters{
  min-width:0;
}

.bsanco-mobile-actionbar button,
.bsanco-mobile-actionbar a,
.win-mdi-body-viewport header:has(button) button,
.win-mdi-body-viewport footer:has(button) button,
.win-mdi-body-viewport [class*="toolbar"]:has(button) button,
.win-mdi-body-viewport [class*="actions"]:has(button) button,
.win-mdi-body-viewport [class*="filters"]:has(button) button,
.win-mdi-body-viewport .filter-ribbon-group-box button,
.win-mdi-body-viewport .r11-flow-tools button,
.win-mdi-body-viewport .r11-progress-select button,
.win-mdi-body-viewport .ac-filters button{
  max-width:100%;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.bsanco-mobile-table-scroll{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:auto;
  overflow-y:visible;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-inline:contain;
  scrollbar-width:thin;
}
.bsanco-mobile-table-scroll>table,
.win-mdi-body-viewport table{
  width:max-content;
  min-width:100%;
  max-width:none;
  table-layout:auto;
}
.bsanco-mobile-table-scroll th,
.bsanco-mobile-table-scroll td,
.win-mdi-body-viewport table th,
.win-mdi-body-viewport table td{
  max-width:420px;
  overflow-wrap:anywhere;
}

@media (min-width:821px) and (pointer:fine){
  html[data-bsanco-ui="delphi32-v1"] .win-mdi-body-viewport button:not(.win-ctrl-btn):not(.mic-btn):not(.bsanco-select-trigger):not(.bsanco-select-option),
  html[data-bsanco-ui="delphi32-v1"] .v1-enhanced-modal button:not(.mic-btn):not(.bsanco-select-trigger):not(.bsanco-select-option){
    min-height:27px!important;
    padding:3px 8px!important;
  }
  html[data-bsanco-ui="delphi32-v1"] .win-mdi-body-viewport .bsanco-mobile-actionbar,
  html[data-bsanco-ui="delphi32-v1"] .win-mdi-body-viewport header:has(button),
  html[data-bsanco-ui="delphi32-v1"] .win-mdi-body-viewport footer:has(button),
  html[data-bsanco-ui="delphi32-v1"] .win-mdi-body-viewport [class*="toolbar"]:has(button),
  html[data-bsanco-ui="delphi32-v1"] .win-mdi-body-viewport [class*="actions"]:has(button),
  html[data-bsanco-ui="delphi32-v1"] .win-mdi-body-viewport [class*="filters"]:has(button){
    gap:5px!important;
  }
}

@media (max-width:820px),(pointer:coarse){
  /* Preserve the classic face/titlebar while making the content region fluid. */
  .win-mdi-body-viewport,
  .mdi-content-body,
  [data-window-module] .overflow-y-auto{
    min-width:0!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:auto!important;
    padding-inline:var(--bsanco-mobile-gutter)!important;
    padding-bottom:calc(10px + var(--safe-area-bottom,0px))!important;
  }
  .win-mdi-body-viewport>*{min-width:0;max-width:100%}
  .win-mdi-body-viewport header:has(button),
  .win-mdi-body-viewport footer:has(button),
  .win-mdi-body-viewport [class*="toolbar"]:has(button),
  .win-mdi-body-viewport [class*="actions"]:has(button),
  .win-mdi-body-viewport [class*="filters"]:has(button),
  .win-mdi-body-viewport .filter-ribbon-group-box,
  .win-mdi-body-viewport .r11-flow-tools,
  .win-mdi-body-viewport .r11-progress-select,
  .win-mdi-body-viewport .ac-filters,
  .bsanco-mobile-actionbar{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:6px!important;
    width:100%!important;
    min-width:0!important;
    padding:6px!important;
    background:var(--bsanco-mobile-face)!important;
    border:1px solid var(--bsanco-mobile-border)!important;
    border-radius:2px!important;
  }
  .win-mdi-body-viewport header:has(button)>*,
  .win-mdi-body-viewport footer:has(button)>*,
  .win-mdi-body-viewport [class*="toolbar"]:has(button)>*,
  .win-mdi-body-viewport [class*="actions"]:has(button)>*,
  .win-mdi-body-viewport [class*="filters"]:has(button)>*,
  .win-mdi-body-viewport .filter-ribbon-group-box>*,
  .win-mdi-body-viewport .r11-flow-tools>*,
  .win-mdi-body-viewport .r11-progress-select>*,
  .win-mdi-body-viewport .ac-filters>*,
  .bsanco-mobile-actionbar>*{min-width:0;max-width:100%}
  .win-mdi-body-viewport header:has(button) button,
  .win-mdi-body-viewport footer:has(button) button,
  .win-mdi-body-viewport [class*="toolbar"]:has(button) button,
  .win-mdi-body-viewport [class*="actions"]:has(button) button,
  .win-mdi-body-viewport [class*="filters"]:has(button) button,
  .win-mdi-body-viewport .filter-ribbon-group-box button,
  .win-mdi-body-viewport .r11-flow-tools button,
  .win-mdi-body-viewport .r11-progress-select button,
  .win-mdi-body-viewport .ac-filters button,
  .bsanco-mobile-actionbar button,
  .bsanco-mobile-actionbar a{
    flex:0 1 auto!important;
    width:auto!important;
    min-width:44px!important;
    min-height:var(--bsanco-mobile-tap)!important;
    max-width:100%!important;
    padding:6px 9px!important;
    border-radius:2px!important;
    font-size:12px!important;
    line-height:1.25!important;
  }
  .win-mdi-body-viewport .filter-ribbon-group-box input,
  .win-mdi-body-viewport .filter-ribbon-group-box select,
  .win-mdi-body-viewport .filter-item-cell input,
  .win-mdi-body-viewport .filter-item-cell select,
  .win-mdi-body-viewport [class*="filters"] input,
  .win-mdi-body-viewport [class*="filters"] select,
  .win-mdi-body-viewport [class*="toolbar"] input,
  .win-mdi-body-viewport [class*="toolbar"] select{
    flex:1 1 145px!important;
    min-width:120px!important;
    min-height:var(--bsanco-mobile-tap)!important;
    max-width:100%!important;
    font-size:16px!important;
  }
  .win-mdi-body-viewport table button,
  .bsanco-mobile-table-scroll table button{
    min-width:40px!important;
    min-height:38px!important;
    padding:4px 7px!important;
    font-size:11px!important;
    white-space:nowrap!important;
  }
  .win-mdi-body-viewport table th,
  .win-mdi-body-viewport table td,
  .bsanco-mobile-table-scroll th,
  .bsanco-mobile-table-scroll td{
    min-height:34px!important;
    padding:6px 8px!important;
    vertical-align:middle!important;
    white-space:nowrap;
  }
  .win-mdi-body-viewport table td:has(input),
  .win-mdi-body-viewport table td:has(select),
  .win-mdi-body-viewport table td:has(textarea){white-space:normal}
  .win-mdi-body-viewport input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  .win-mdi-body-viewport select,
  .win-mdi-body-viewport textarea{
    max-width:100%!important;
    min-width:0!important;
    min-height:var(--bsanco-mobile-tap)!important;
    font-size:16px!important;
  }
  .win-mdi-body-viewport textarea{min-height:84px!important}
  .win-mdi-body-viewport .grid,
  .win-mdi-body-viewport .r10-form-grid,
  .win-mdi-body-viewport .r10-subform,
  .win-mdi-body-viewport .r11-qc-form>section,
  .win-mdi-body-viewport .r11-detail dl,
  .win-mdi-body-viewport .r11-progress-summary{
    min-width:0!important;
  }
  .win-mdi-body-viewport .grid-cols-2,
  .win-mdi-body-viewport .grid-cols-3,
  .win-mdi-body-viewport .grid-cols-4,
  .win-mdi-body-viewport .grid-cols-5,
  .win-mdi-body-viewport .grid-cols-6,
  .win-mdi-body-viewport .r10-form-grid,
  .win-mdi-body-viewport .r10-subform{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .win-mdi-body-viewport .r11-stepper,
  .win-mdi-body-viewport .r10-wizard-tabs,
  .win-mdi-body-viewport .uoh-views,
  .win-mdi-body-viewport .uoh-channels{
    display:flex!important;
    flex-wrap:nowrap!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overscroll-behavior-inline:contain;
  }
  .win-mdi-body-viewport .r11-stepper>*,
  .win-mdi-body-viewport .r10-wizard-tabs>button,
  .win-mdi-body-viewport .uoh-view,
  .win-mdi-body-viewport .uoh-channel{flex:0 0 auto!important}
  .bsanco-mobile-table-scroll{margin-inline:0!important}
  .bsanco-mobile-table-scroll>table{display:table!important;min-width:max-content!important}
  .win-mdi-body-viewport .r11-detail>header,
  .win-mdi-body-viewport .r11-qc-form>header,
  .win-mdi-body-viewport .win32-module-title,
  .win-mdi-body-viewport .legacy-importer>header{
    align-items:flex-start!important;
    flex-wrap:wrap!important;
    gap:8px!important;
  }
  .win-mdi-body-viewport .r11-detail>header>*:first-child,
  .win-mdi-body-viewport .r11-qc-form>header>*:first-child{min-width:0!important;flex:1 1 180px}
  .win-mdi-body-viewport .r11-detail>header button,
  .win-mdi-body-viewport .r11-qc-form>header button{flex:0 1 auto!important}
  .win-mdi-body-viewport .bsanco-modal-footer,
  .win-mdi-body-viewport .modal-footer{display:flex!important;flex-wrap:wrap!important;gap:6px!important}
  .win-mdi-body-viewport .bsanco-modal-footer button,
  .win-mdi-body-viewport .modal-footer button{flex:1 1 140px!important;min-height:var(--bsanco-mobile-tap)!important}
  /* Make the table region the space consumer; action controls stay above it. */
  .win-mdi-body-viewport .bsanco-mobile-actionbar+*,
  .win-mdi-body-viewport header:has(button)+*,
  .win-mdi-body-viewport [class*="toolbar"]:has(button)+*{min-width:0}
}

@media(max-width:430px){
  .win-mdi-body-viewport{padding-inline:5px!important}
  .win-mdi-body-viewport header:has(button),
  .win-mdi-body-viewport footer:has(button),
  .win-mdi-body-viewport [class*="toolbar"]:has(button),
  .win-mdi-body-viewport [class*="actions"]:has(button),
  .win-mdi-body-viewport [class*="filters"]:has(button),
  .win-mdi-body-viewport .filter-ribbon-group-box,
  .win-mdi-body-viewport .r11-flow-tools,
  .win-mdi-body-viewport .r11-progress-select,
  .win-mdi-body-viewport .ac-filters,
  .bsanco-mobile-actionbar{gap:4px!important;padding:5px!important}
  .win-mdi-body-viewport header:has(button) button,
  .win-mdi-body-viewport footer:has(button) button,
  .win-mdi-body-viewport [class*="toolbar"]:has(button) button,
  .win-mdi-body-viewport [class*="actions"]:has(button) button,
  .win-mdi-body-viewport [class*="filters"]:has(button) button,
  .win-mdi-body-viewport .filter-ribbon-group-box button,
  .win-mdi-body-viewport .r11-flow-tools button,
  .win-mdi-body-viewport .r11-progress-select button,
  .win-mdi-body-viewport .ac-filters button,
  .bsanco-mobile-actionbar button{padding-inline:7px!important;font-size:11px!important}
}


/* v24: endless-scroll owns paging; keep the legacy Win32 pager controls hidden from first paint. */
button[id$="-btn-first"],
button[id$="-btn-prev"],
button[id$="-btn-next"],
button[id$="-btn-last"],
div:has(>button[id$="-btn-first"]),
div:has(>button[id$="-btn-prev"]),
div:has(>button[id$="-btn-next"]),
.bsanco-legacy-pager-hidden{display:none!important}

/* v24: one ellipsis per row; native CRM actions and R10 actions share one menu. */
html[data-bsanco-ui="delphi32-v1"] .proj-row-more.bsanco-row-actions{position:relative;display:inline-block!important;margin:0!important;vertical-align:middle}
html[data-bsanco-ui="delphi32-v1"] .proj-row-more.bsanco-row-actions>.proj-row-more-toggle{min-width:30px!important;min-height:30px!important;padding:1px 8px!important;line-height:1!important}
html[data-bsanco-ui="delphi32-v1"] .proj-row-more.bsanco-row-actions>.proj-row-more-menu.bsanco-row-action-menu{position:fixed!important;z-index:2147483000!important;display:grid!important;gap:2px!important;min-width:190px!important;max-width:min(300px,calc(100vw - 12px))!important;padding:4px!important;background:#d4d0c8!important;border:2px outset #fff!important;box-shadow:3px 3px #404040!important}
html[data-bsanco-ui="delphi32-v1"] .proj-row-more.bsanco-row-actions>.proj-row-more-menu.bsanco-row-action-menu[hidden]{display:none!important}
html[data-bsanco-ui="delphi32-v1"] .proj-row-more.bsanco-row-actions>.proj-row-more-menu.bsanco-row-action-menu>button{display:block!important;width:100%!important;min-height:32px!important;padding:5px 8px!important;text-align:right!important;white-space:nowrap!important}
html[data-bsanco-ui="delphi32-v1"] .proj-row-more.bsanco-row-actions>.proj-row-more-menu.bsanco-row-action-menu>button:hover,
html[data-bsanco-ui="delphi32-v1"] .proj-row-more.bsanco-row-actions>.proj-row-more-menu.bsanco-row-action-menu>button:focus-visible{background:#000080!important;color:#fff!important;outline:1px dotted #fff!important;outline-offset:-3px}
@media(max-width:820px),(pointer:coarse){
  html[data-bsanco-ui="delphi32-v1"] .proj-row-more.bsanco-row-actions>.proj-row-more-menu.bsanco-row-action-menu{min-width:min(250px,calc(100vw - 12px))!important}
}
