/* ORBIS UI/UX v38 — non-blocking scroll + loading stabilization
   Scope: presentation/runtime UX only. No engine, database, queue or route logic. */
:root{
  --orbis-v38-z-progress:2147483600;
  --orbis-v38-z-toast:2147483500;
  --orbis-v38-z-menu:2147482400;
}
html,body{
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  min-height:100%!important;
  height:auto!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:auto!important;
}
body.orbis-loading-active,
body.orbis-page-loading,
body.orbis-v33-loading,
body.orbis-v34-loading,
body.orbis-v34-loading-hard-lock,
body.orbis-ui-scroll-locked,
html.orbis-ui-scroll-locked{
  overflow-y:auto!important;
  height:auto!important;
  max-height:none!important;
  position:static!important;
  cursor:auto!important;
}
.orbis-v33-loading-overlay,
#orbisV33LoadingOverlay,
#orbisLoadingSpinnerV32,
#orbis-v34-hard-lock,
.orbis-loading-hard-lock,
.orbis-uiux-legacy-blocker{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
#orbis-global-loading.orbis-global-loading{
  position:fixed!important;
  right:18px!important;
  bottom:18px!important;
  left:auto!important;
  top:auto!important;
  width:min(360px,calc(100vw - 32px))!important;
  height:auto!important;
  min-height:0!important;
  inset:auto 18px 18px auto!important;
  z-index:var(--orbis-v38-z-toast)!important;
  display:block!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  transform:translateY(10px) scale(.985)!important;
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease!important;
  background:transparent!important;
}
#orbis-global-loading.is-active,
#orbis-global-loading.orbis-v38-active{
  visibility:visible!important;
  opacity:1!important;
  transform:translateY(0) scale(1)!important;
  pointer-events:none!important;
}
#orbis-global-loading .orbis-global-loading__backdrop{
  display:none!important;
  pointer-events:none!important;
}
#orbis-global-loading .orbis-global-loading__panel{
  position:relative!important;
  width:100%!important;
  min-height:0!important;
  padding:14px 16px!important;
  border-radius:18px!important;
  border:1px solid rgba(99,179,237,.38)!important;
  background:linear-gradient(135deg,rgba(6,18,34,.96),rgba(11,36,72,.94))!important;
  box-shadow:0 18px 50px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.08)!important;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:center!important;
  color:#eaf7ff!important;
  pointer-events:none!important;
}
#orbis-global-loading .orbis-global-loading__brand{
  width:42px!important;
  height:42px!important;
  display:grid!important;
  place-items:center!important;
}
#orbis-global-loading .orbis-global-loading__orbit{
  width:34px!important;
  height:34px!important;
  border-radius:50%!important;
  border:3px solid rgba(90,210,255,.26)!important;
  border-top-color:#38bdf8!important;
  animation:orbisV38Spin .8s linear infinite!important;
}
#orbis-global-loading .orbis-global-loading__pulse{
  display:none!important;
}
#orbis-global-loading .orbis-global-loading__text{
  min-width:0!important;
  display:block!important;
}
#orbis-global-loading [data-orbis-loading-title]{
  display:block!important;
  font-weight:850!important;
  font-size:13px!important;
  letter-spacing:.05em!important;
  text-transform:uppercase!important;
  color:#f8fbff!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#orbis-global-loading [data-orbis-loading-message]{
  display:block!important;
  margin-top:3px!important;
  font-size:12px!important;
  line-height:1.25!important;
  color:rgba(216,234,255,.84)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#orbis-global-loading .orbis-global-loading__bar{
  grid-column:1/-1!important;
  height:3px!important;
  border-radius:99px!important;
  overflow:hidden!important;
  background:rgba(120,180,220,.18)!important;
  margin-top:4px!important;
}
#orbis-global-loading .orbis-global-loading__bar i{
  display:block!important;
  width:36%!important;
  height:100%!important;
  border-radius:99px!important;
  background:linear-gradient(90deg,#2f80ff,#38d9ff,#35f0a3)!important;
  animation:orbisV38Bar 1.05s ease-in-out infinite!important;
}
#orbis-top-progress.orbis-top-progress{
  position:fixed!important;
  z-index:var(--orbis-v38-z-progress)!important;
  left:0!important;
  top:0!important;
  width:100%!important;
  height:3px!important;
  display:none!important;
  pointer-events:none!important;
  background:rgba(2,10,20,.2)!important;
}
#orbis-top-progress.is-active{display:block!important;}
#orbis-top-progress i{
  display:block!important;
  width:34%!important;
  height:100%!important;
  background:linear-gradient(90deg,#2f80ff,#38d9ff,#35f0a3)!important;
  box-shadow:0 0 18px rgba(56,217,255,.75)!important;
  animation:orbisV38Top 1s ease-in-out infinite!important;
}
.main,.content,.page,.app-shell,.dashboard-grid,.analysis-grid,.history-grid,.cards-grid{
  min-width:0!important;
  max-width:100%!important;
}
img,video,canvas,svg,iframe,table{max-width:100%!important;}
@media (max-width:900px){
  body{padding-top:0!important;}
  .sidebar{
    position:fixed!important;
    top:0!important;
    left:0!important;
    bottom:0!important;
    z-index:var(--orbis-v38-z-menu)!important;
    transform:translateX(-104%)!important;
    transition:transform .22s ease!important;
    max-width:min(86vw,320px)!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body.sidebar-open .sidebar,
  body.orbis-sidebar-open .sidebar{
    transform:translateX(0)!important;
  }
  .sidebar-backdrop{
    position:fixed!important;
    inset:0!important;
    z-index:calc(var(--orbis-v38-z-menu) - 1)!important;
    background:rgba(0,8,18,.58)!important;
    display:none!important;
  }
  body.sidebar-open .sidebar-backdrop,
  body.orbis-sidebar-open .sidebar-backdrop{
    display:block!important;
  }
  .main,.content,.page,.app-shell{
    width:100%!important;
    margin-left:0!important;
    padding-left:14px!important;
    padding-right:14px!important;
  }
}
@keyframes orbisV38Spin{to{transform:rotate(360deg)}}
@keyframes orbisV38Bar{0%{transform:translateX(-130%)}50%{transform:translateX(95%)}100%{transform:translateX(270%)}}
@keyframes orbisV38Top{0%{transform:translateX(-130%)}100%{transform:translateX(330%)}}
@media (prefers-reduced-motion:reduce){
  #orbis-global-loading .orbis-global-loading__orbit,
  #orbis-global-loading .orbis-global-loading__bar i,
  #orbis-top-progress i{animation:none!important;}
}
