/* =========================================================
   恒链BI V250 全局布局统一
   - 全站仅 app-main 为业务纵向滚动区
   - 所有页面外间距统一：上9px / 左右11px
   - 分页统一为利润分析尺寸并固定底部
   - 表格宽度不足时统一使用分页上方固定横向滚动条
   - 左侧一级菜单手风琴；二级菜单增加背景层级
   - 顶部页签全部可关闭，但至少保留一个
   ========================================================= */

html,body,#root,.uranus-shell{
  height:100%!important;
  max-height:100vh!important;
  overflow:hidden!important;
}
.uranus-shell{min-height:0!important;}
.system-bar{
  z-index:1000!important;
}
.top-links,.store-switch,.signed-user,.sign-out-button{
  position:relative!important;
  z-index:1001!important;
}
.app-body{
  height:100vh!important;
  min-height:0!important;
  overflow:hidden!important;
}
.page-column{
  height:calc(100vh - 50px)!important;
  max-height:calc(100vh - 50px)!important;
  min-height:0!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.tabs-line,
.tabs-line.hl-sticky-tabs{
  position:relative!important;
  top:auto!important;
  flex:0 0 42px!important;
  z-index:900!important;
  background:#fff!important;
}
.page-column>.app-main,
.app-main{
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable!important;
  -webkit-overflow-scrolling:touch!important;
  box-sizing:border-box!important;
  padding:9px 11px 72px!important;
  gap:11px!important;
}

/* 公共分析时间栏进入 page-column 后不参与业务滚动。 */
.page-column>#hl-analysis-global-toolbar-v166,
#hl-analysis-global-toolbar-v166.hl-profit-header-v239{
  flex:0 0 auto!important;
  z-index:850!important;
}

/* ===== 左侧菜单：只允许展开一个一级菜单 ===== */
.side-menu{
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
.menu-group.hl-menu-accordion-v250{
  margin:0 -7px 8px!important;
  padding:0 7px!important;
  border-radius:4px!important;
  transition:background-color .12s ease!important;
}
.menu-group.hl-menu-accordion-v250>p{
  position:relative!important;
  min-height:35px!important;
  margin:0!important;
  padding:8px 25px 8px 7px!important;
  display:flex!important;
  align-items:center!important;
  cursor:pointer!important;
  user-select:none!important;
  color:#596678!important;
  font-weight:600!important;
}
.menu-group.hl-menu-accordion-v250>p:after{
  content:'›'!important;
  position:absolute!important;
  right:9px!important;
  top:50%!important;
  transform:translateY(-50%) rotate(0deg)!important;
  color:#8994a3!important;
  font-size:16px!important;
  line-height:1!important;
  transition:transform .15s ease!important;
}
.menu-group.hl-menu-accordion-v250.hl-menu-open-v250{
  background:#f5f7fa!important;
  padding-bottom:6px!important;
}
.menu-group.hl-menu-accordion-v250.hl-menu-open-v250>p:after{
  transform:translateY(-50%) rotate(90deg)!important;
}
.menu-group.hl-menu-accordion-v250:not(.hl-menu-open-v250)>button{
  display:none!important;
}
.menu-group.hl-menu-accordion-v250.hl-menu-open-v250>button{
  display:block!important;
  height:34px!important;
  border-radius:3px!important;
  padding-left:18px!important;
  background:#f5f7fa!important;
  color:#526071!important;
}
.menu-group.hl-menu-accordion-v250.hl-menu-open-v250>button:hover{
  background:#eaf3fb!important;
  color:#168be5!important;
}
.menu-group.hl-menu-accordion-v250.hl-menu-open-v250>button.active{
  background:#e4f2fd!important;
  color:#168be5!important;
  font-weight:500!important;
}
.menu-group-direct{
  margin-bottom:8px!important;
}

/* ===== 顶部已打开页签：全部显示关闭按钮，至少保留一个由 JS 守卫 ===== */
.tab-history{
  min-width:0!important;
  scrollbar-width:none!important;
}
.tab-history::-webkit-scrollbar{height:0!important;}
.history-tab-close{
  display:inline-flex!important;
  visibility:visible!important;
  pointer-events:auto!important;
  align-items:center!important;
  justify-content:center!important;
}

/* ===== 全局固定分页：尺寸按利润分析统一 ===== */
.app-main.hl-v250-has-fixed-pagination{
  padding-bottom:72px!important;
}
.hl-fixed-pagination.hl-pagination-unified-v250{
  min-height:48px!important;
  height:48px!important;
  box-sizing:border-box!important;
  padding:8px 10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:7px!important;
  background:#fff!important;
  border-top:1px solid #dfe5ec!important;
  box-shadow:0 -2px 7px rgba(30,50,75,.08)!important;
  overflow:visible!important;
  white-space:nowrap!important;
}
.hl-pagination-unified-v250 .hl-pagination-total-v250{
  margin-right:auto!important;
  color:#697586!important;
  font-size:11px!important;
}
.hl-pagination-unified-v250 select,
.hl-pagination-unified-v250 .hl-pagination-size-v250{
  height:30px!important;
  min-width:82px!important;
  padding:0 26px 0 10px!important;
  border:1px solid #d8e0e8!important;
  border-radius:3px!important;
  background:#fff!important;
  color:#596574!important;
  font-size:11px!important;
}
.hl-pagination-unified-v250 button{
  height:30px!important;
  min-width:30px!important;
  padding:0 8px!important;
  border:1px solid #e0e6ed!important;
  border-radius:2px!important;
  background:#fff!important;
  color:#687586!important;
  font-size:11px!important;
  line-height:28px!important;
}
.hl-pagination-unified-v250 button.active,
.hl-pagination-unified-v250 button[class*='active'],
.hl-pagination-unified-v250 b{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:30px!important;
  min-width:30px!important;
  padding:0 8px!important;
  border-radius:2px!important;
  background:#269bf0!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:500!important;
}
.hl-pagination-unified-v250 input,
.hl-pagination-unified-v250 .hl-pagination-jump-v250{
  width:42px!important;
  height:30px!important;
  padding:0 6px!important;
  box-sizing:border-box!important;
  border:1px solid #d8e0e8!important;
  border-radius:3px!important;
  background:#fff!important;
  color:#596574!important;
  text-align:center!important;
  font-size:11px!important;
}
.hl-pagination-unified-v250 [disabled]{
  opacity:.4!important;
  cursor:not-allowed!important;
}

/* ===== 全局固定横向滚动条：仅一条，位于分页正上方 ===== */
.hl-fixed-hscroll{
  position:fixed!important;
  z-index:119!important;
  height:17px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  box-sizing:border-box!important;
  background:#fff!important;
  border-top:1px solid #dfe5ec!important;
  border-bottom:1px solid #dfe5ec!important;
  box-shadow:0 -1px 4px rgba(30,50,75,.06)!important;
  scrollbar-gutter:stable!important;
  overscroll-behavior-x:contain!important;
}
.hl-fixed-hscroll[hidden]{display:none!important;}
.hl-fixed-hscroll-inner{height:1px!important;min-height:1px!important;pointer-events:none!important;}
.hl-native-hscroll-hidden-v250{
  overflow-x:auto!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
.hl-native-hscroll-hidden-v250::-webkit-scrollbar{
  height:0!important;
  background:transparent!important;
}

/* 避免页面自身出现第二条横向滚动条。 */
.page-column,.app-main,.workspace-panel,.analysis-card,.orders-card{
  max-width:100%!important;
}

@media(max-width:900px){
  .app-main{padding-left:11px!important;padding-right:11px!important;}
  .hl-fixed-pagination.hl-pagination-unified-v250{overflow-x:auto!important;}
}

/* =========================================================
   V250 回归修复：菜单展开可靠性、分页不遮表格、币种弹层置顶
   ========================================================= */

/* 顶部系统栏形成最高层叠上下文，币种选择弹层永远在 KPI / 表头 / 分页之上。 */
.system-bar{
  z-index:1000000!important;
  overflow:visible!important;
  isolation:isolate!important;
}
.system-bar .top-links,
.system-bar .henglian-currency-v20,
.system-bar .store-switch,
.system-bar .signed-user,
.system-bar .sign-out-button{
  position:relative!important;
  z-index:1000010!important;
  overflow:visible!important;
}
.system-bar .henglian-currency-popover{
  z-index:1000020!important;
}

/* 一级菜单与二级菜单使用不同背景层级。 */
.menu-group.hl-menu-accordion-v250.hl-menu-open-v250{
  background:#f2f5f8!important;
}
.menu-group.hl-menu-accordion-v250.hl-menu-open-v250>p{
  background:#e9f0f6!important;
  color:#344256!important;
  border-radius:4px!important;
}
.menu-group.hl-menu-accordion-v250.hl-menu-open-v250>button{
  display:block!important;
  background:#f8fafc!important;
  color:#566476!important;
  margin-top:1px!important;
}
.menu-group.hl-menu-accordion-v250.hl-menu-open-v250>button:hover{
  background:#edf5fb!important;
  color:#168be5!important;
}
.menu-group.hl-menu-accordion-v250.hl-menu-open-v250>button.active{
  background:#dff0fc!important;
  color:#168be5!important;
}
/* 同步覆盖系统原 sidebar-collapse.js 的收起状态，避免出现“箭头打开但二级菜单没出来”。 */
.menu-group.hl-menu-accordion-v250.hl-menu-open-v250.hl-sidebar-collapsible>button{
  display:block!important;
}

/* 固定分页离开文档流后，保留真实占位，最后一行不会再被分页覆盖。 */
.hl-pagination-spacer-v250{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  flex:0 0 auto!important;
  pointer-events:none!important;
  visibility:hidden!important;
  box-sizing:border-box!important;
}

/* ===== V251：经营总览等所有页签始终显示关闭 × ===== */
.tabs-line .tab-history > .history-tab > .history-tab-close,
.tabs-line .tab-history > .history-tab:first-child > .history-tab-close{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 22px!important;
  width:22px!important;
  min-width:22px!important;
  max-width:22px!important;
  height:40px!important;
  margin:0!important;
  padding:0 7px 0 3px!important;
  color:#929cab!important;
  background:transparent!important;
  border:0!important;
  font-size:0!important;
  line-height:40px!important;
  overflow:visible!important;
  position:relative!important;
  z-index:2!important;
}
.tabs-line .tab-history > .history-tab > .history-tab-close::before{
  content:'×'!important;
  display:block!important;
  color:currentColor!important;
  font-size:15px!important;
  font-weight:400!important;
  line-height:1!important;
}
.tabs-line .tab-history > .history-tab > .history-tab-close:hover{
  color:#d34e4e!important;
}
.tabs-line .tab-history > .history-tab > .history-tab-label{
  flex:0 1 auto!important;
  min-width:0!important;
}

/* =========================================================
   V252：币种弹层层级 / 全站横向滚动响应式 / 菜单层级加强
   ========================================================= */

/* 利润分析固定 KPI/表头属于业务层；顶部系统栏必须是页面最高的常驻层。 */
.system-bar{
  z-index:2147483000!important;
  overflow:visible!important;
  isolation:isolate!important;
}
.system-bar .top-links,
.system-bar .henglian-currency-v20,
.system-bar .store-switch,
.system-bar .signed-user,
.system-bar .sign-out-button{
  position:relative!important;
  z-index:2147483100!important;
  overflow:visible!important;
}
.system-bar .henglian-currency-popover{
  z-index:2147483600!important;
  overflow:visible!important;
}

/* 所有普通页面的表格滚动容器都收进当前业务可视宽度。
   窗口 resize 后 clientWidth 会真实变化，固定横向滚动条才能随之重算。 */
.app-main .hl-global-table-scroll-v252{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  box-sizing:border-box!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
.app-main .hl-global-table-scroll-v252::-webkit-scrollbar{
  height:0!important;
  background:transparent!important;
}
.app-main .hl-global-table-scroll-v252>table{
  max-width:none!important;
}

/* 横向代理条本身也严格限制在当前视口内，不允许沿用旧窗口宽度。 */
#hl-fixed-hscroll{
  max-width:calc(100vw - 2px)!important;
}

/* 1.31：Mac 会同时在 Chrome、Safari 等浏览器中自动隐藏原生滚动条。
   此轨道只覆盖当前页面的主纵向滚动区和唯一横向代理条，不改变业务容器尺寸。 */
.hl-persistent-scrollbar{
  position:fixed;
  z-index:2300;
  display:block;
  box-sizing:border-box;
  overflow:hidden;
  background:#e8ecf1;
  border:1px solid #d3d9e2;
  user-select:none;
  touch-action:none;
}
.hl-persistent-scrollbar[hidden]{display:none!important;}
.hl-persistent-scrollbar-vertical{border-radius:7px 0 0 7px;}
.hl-persistent-scrollbar-horizontal{border-radius:7px 7px 0 0;}
.hl-persistent-scrollbar-thumb{
  position:absolute;
  top:0;
  left:0;
  box-sizing:border-box;
  background:#8f9baa;
  border:3px solid #e8ecf1;
  border-radius:8px;
  cursor:pointer;
}
.hl-persistent-scrollbar:hover .hl-persistent-scrollbar-thumb,
.hl-persistent-scrollbar.is-dragging .hl-persistent-scrollbar-thumb{
  background:#6f7c8c;
}
.hl-persistent-scrollbar-vertical .hl-persistent-scrollbar-thumb{cursor:ns-resize;}
.hl-persistent-scrollbar-horizontal .hl-persistent-scrollbar-thumb{cursor:ew-resize;}

/* 一级展开、二级普通、二级选中三层颜色明确区分。 */
.menu-group.hl-menu-accordion-v250.hl-menu-open-v250{
  background:#eef3f8!important;
  border:1px solid #dce6ef!important;
}
.menu-group.hl-menu-accordion-v250.hl-menu-open-v250>p{
  background:#dfe9f3!important;
  color:#2f4054!important;
  font-weight:600!important;
  border-radius:3px!important;
}
.menu-group.hl-menu-accordion-v250.hl-menu-open-v250>button{
  background:#f7f9fc!important;
  color:#566476!important;
  border-left:3px solid transparent!important;
  border-radius:2px!important;
}
.menu-group.hl-menu-accordion-v250.hl-menu-open-v250>button:hover{
  background:#eaf4fc!important;
  color:#168be5!important;
  border-left-color:#9ccff2!important;
}
.menu-group.hl-menu-accordion-v250.hl-menu-open-v250>button.active{
  background:#d8ecfb!important;
  color:#087fcf!important;
  border-left-color:#168be5!important;
  font-weight:600!important;
}

/* 全站业务表格统一站点/店铺两行展示。 */
table th.hl-store-column-unified,
table td.hl-store-column-unified{
  text-align:center!important;
  vertical-align:middle!important;
}
table td.hl-store-column-unified>.hl-store-cell-unified{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  width:100%!important;
  min-width:0!important;
  color:#344054!important;
  font-size:12px!important;
  font-weight:400!important;
  line-height:1.45!important;
  white-space:nowrap!important;
  box-sizing:border-box!important;
}
table .hl-store-cell-site{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  max-width:100%!important;
  color:#344054!important;
  font-size:12px!important;
  font-weight:400!important;
  line-height:1.45!important;
  white-space:nowrap!important;
}
table .hl-store-cell-site>img{
  display:block!important;
  flex:0 0 auto!important;
  width:17px!important;
  min-width:17px!important;
  max-width:17px!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  object-fit:cover!important;
}
table .hl-store-cell-name{
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  color:#344054!important;
  font-size:12px!important;
  font-weight:400!important;
  line-height:1.45!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
table .hl-store-site-column-hidden{
  display:none!important;
  width:0!important;
  min-width:0!important;
  max-width:0!important;
  padding:0!important;
  border:0!important;
}

/* 1.58：全站横向、纵向滚动条始终保持普通鼠标箭头。 */
html body [class*="persistent-scrollbar"],
html body [class*="persistent-scrollbar"] *,
html body [id*="fixed-hscroll"],
html body [id*="fixed-hscroll"] *,
html body [id*="horizontal-scroll"],
html body [id*="horizontal-scroll"] *{
  cursor:default!important;
}
html body *::-webkit-scrollbar,
html body *::-webkit-scrollbar-track,
html body *::-webkit-scrollbar-thumb,
html body *::-webkit-scrollbar-button,
html body *::-webkit-scrollbar-corner{
  cursor:default!important;
}

/* First reads must not briefly present unloaded totals as zero or empty tables. */
.hl-page-loading{
  box-sizing:border-box;
  min-height:320px;
  width:100%;
  padding:48px 24px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  background:#fff;
  border:1px solid #e8edf3;
  color:#606266;
  text-align:center;
  font-size:14px;
}
.hl-page-loading strong{font-size:16px;color:#303133}
.hl-page-loading>span{max-width:720px;line-height:1.6;overflow-wrap:anywhere}
.hl-page-loading>i{
  display:block;
  width:28px;
  height:28px;
  box-sizing:border-box;
  border:3px solid #e8f2fc;
  border-top-color:#409eff;
  border-radius:50%;
  animation:hl-page-loading-spin .9s linear infinite;
}
.hl-page-loading>button{
  border:1px solid #409eff;
  border-radius:4px;
  padding:8px 18px;
  background:#409eff;
  color:#fff;
  cursor:pointer;
}
.hl-page-loading>button:focus-visible{outline:2px solid #1677d2;outline-offset:3px}
@keyframes hl-page-loading-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.hl-page-loading>i{animation:none}}
