/* User pages only. Shared viewport boundaries; business components retain their colors. */
html.user-modal-lock,html.user-modal-lock body{overflow:hidden!important;overscroll-behavior:none}
html.user-modal-lock{scroll-behavior:auto!important}
[data-user-overlay]{box-sizing:border-box!important;position:fixed!important;inset:auto!important;top:var(--user-vtop,0px)!important;left:var(--user-vleft,0px)!important;width:var(--user-vwidth,100%)!important;height:var(--user-vheight,100dvh)!important;max-height:none!important;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))!important;place-items:center!important;overflow:hidden!important;overscroll-behavior:contain}
[data-user-overlay][hidden]{display:none!important}
html body [data-user-overlay]>[data-user-panel]{box-sizing:border-box!important;min-width:0!important;min-height:0!important;max-width:calc(var(--user-vwidth,100vw) - max(10px,env(safe-area-inset-left)) - max(10px,env(safe-area-inset-right)))!important;max-height:calc(var(--user-vheight,100dvh) - max(10px,env(safe-area-inset-top)) - max(10px,env(safe-area-inset-bottom)))!important;margin:0!important;overflow:auto!important;overscroll-behavior:contain;scrollbar-width:thin;scroll-padding-block:75px;transform:none!important}
[data-user-panel]>header,[data-user-panel]>.site-language-heading,[data-user-panel]>footer{min-width:0;flex-shrink:0;position:sticky;z-index:4;background:inherit}
[data-user-panel]>header,[data-user-panel]>.site-language-heading{top:0;gap:12px!important}
[data-user-panel]>footer{bottom:0}
[data-user-panel]>header>div,[data-user-panel]>.site-language-heading>span{min-width:0;overflow-wrap:anywhere}
[data-user-panel]>header>button,[data-user-panel]>.site-language-heading>button{flex:0 0 auto;min-width:36px;min-height:36px}
[data-user-panel]>:not(header):not(footer){min-width:0;min-height:0}
[data-user-panel]>:is(.country-picker-grid,.profile-icon-grid,.challenge-purchase-content,.purchase-success-content,.funded-action-content,.contract-deck-modal-cards,.order-detail-scroll,.order-detail-content,.kyc-history-modal-content,.legal-content,.site-language-options,.challenge-account-select-menu,.contract-detail-content,.contract-graph-modal-content,.login-history-content,.login-location-content,.settings-list,.personal-settings-list,.atm-custom-body){overflow:auto!important;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}
[data-user-panel].purchase-success-dialog,[data-user-panel].constraint-alert-dialog{grid-template-rows:minmax(0,1fr) auto!important}
[data-user-panel] :is(input,select,textarea){max-width:100%;box-sizing:border-box}
[data-user-panel] :is(code,dd,p){overflow-wrap:anywhere}
.dashboard-body .sidebar{max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.dashboard-body :is(.dashboard-main,.dashboard-content,[data-dashboard-view]){min-width:0;max-width:100%}
@media(max-width:1100px){
  html .dashboard-body [data-dashboard-view="accounts"] .challenge-account-toolbar{grid-template-columns:minmax(0,1fr) auto!important}
  html .dashboard-body [data-dashboard-view="accounts"] .challenge-account-toolbar-actions{grid-column:1/-1;grid-row:auto;min-width:0;max-width:100%;flex-direction:row;flex-wrap:wrap;justify-content:flex-end}
}
@media(max-width:720px){
  html .dashboard-body [data-dashboard-view="accounts"] .challenge-account-toolbar{grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;padding:10px!important;min-height:0!important}
  html .dashboard-body [data-dashboard-view="accounts"] .challenge-account-selector{grid-column:1;grid-row:1;min-width:0;width:100%}
  html .dashboard-body [data-dashboard-view="accounts"] .challenge-account-select-trigger{min-width:0;width:100%;min-height:48px;box-sizing:border-box;padding:6px 8px;gap:6px}
  html .dashboard-body [data-dashboard-view="accounts"] .challenge-account-current-copy{min-width:0}
  html .dashboard-body [data-dashboard-view="accounts"] .challenge-account-toolbar-meta{grid-column:2;grid-row:1;min-width:0;align-self:stretch}
  html .dashboard-body [data-dashboard-view="accounts"] .challenge-account-toolbar-meta .status-pill{height:100%;min-height:48px;min-width:0;padding:6px 9px;gap:6px;box-sizing:border-box;font-size:9px}
  html .dashboard-body [data-dashboard-view="accounts"] .challenge-account-toolbar-actions{grid-column:1/-1;grid-row:2;margin:0;padding:0;gap:6px;flex-direction:row}
  [data-user-overlay]{place-items:start center!important}
  [data-user-panel]{align-self:start!important;border-radius:12px!important}
  [data-user-panel]>header,[data-user-panel]>.site-language-heading{padding:12px!important;min-height:60px!important}
  [data-user-panel]>footer{padding:10px 12px!important;flex-wrap:wrap;gap:8px}
  /* Keep dismiss actions on the left, away from the floating support launcher. */
  body:not(.admin-body) :is([data-user-panel],[role="dialog"],[role="alertdialog"],dialog)>footer,
  body:not(.admin-body) :is([role="dialog"],[role="alertdialog"],dialog)>form>footer{
    display:flex!important;justify-content:flex-start!important;flex-direction:row!important;flex-wrap:wrap;gap:8px;
  }
  body:not(.admin-body) :is([data-user-panel],[role="dialog"],[role="alertdialog"],dialog)>footer>button,
  body:not(.admin-body) :is([role="dialog"],[role="alertdialog"],dialog)>form>footer>button{
    margin-inline:0!important;min-height:44px;order:-1;
  }
  html.user-modal-lock .ai-support-root:not(.open) .ai-support-launcher,
  body:has(dialog[open]) .ai-support-root:not(.open) .ai-support-launcher{
    visibility:hidden!important;pointer-events:none!important;
  }
  .dashboard-body .dashboard-top{height:auto;min-height:68px;flex-wrap:wrap;padding-block:10px}
  .dashboard-body .dashboard-top-actions{min-width:0;max-width:100%;flex-wrap:wrap;gap:6px}
  [data-user-panel] .purchase-voucher-fields{grid-template-columns:minmax(0,1fr)}
  [data-user-panel] .purchase-transfer-route{grid-template-columns:minmax(0,1fr)}
}
/* Low-height/landscape and browser zoom: one scroll container, sticky close controls. */
@media(max-height:520px){
  [data-user-panel]{display:flex!important;flex-direction:column!important;gap:0!important}
  [data-user-panel]>*{flex:0 0 auto!important}
  [data-user-panel]>header,[data-user-panel]>.site-language-heading{min-height:52px!important;padding:10px 12px!important}
  [data-user-panel]>:not(header):not(footer):not(.site-language-heading){overflow:visible!important;max-height:none!important}
}
@media(prefers-reduced-motion:reduce){[data-user-overlay],[data-user-panel]{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
