/* V166：以即时分析为统一视觉模板；纯 CSS + 一次性路由标记，不做持续 DOM 测量 */

/* ===== 公共：时间在上、日期在下；取消额外下边线 ===== */
.hl-analysis-shared-range-v155,
.ad-v109-page .ad-v112-date{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  gap:4px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.hl-analysis-shared-range-v155 .ad-v112-timezone,
.ad-v109-page .ad-v112-timezone{
  min-height:18px!important;
  height:18px!important;
  line-height:18px!important;
  border:0!important;
  margin:0!important;
  padding:0!important;
}
.hl-analysis-shared-range-v155 .ad-v112-date-controls,
.ad-v109-page .ad-v112-date-controls{
  min-height:32px!important;
  height:32px!important;
  border:0!important;
  margin:0!important;
  padding:0!important;
}

/* ===== 历史分析：即时分析式顶部模板 ===== */
body.hl-analysis-v166-history #hl-history-v150{
  padding-top:0!important;
}
body.hl-analysis-v166-history #hl-history-v150 .hl-his-overview{
  min-height:436px!important;
  height:auto!important;
  padding:0 16px 14px!important;
  overflow:visible!important;
  border:1px solid #e3e8ef!important;
  background:#fff!important;
}
body.hl-analysis-v166-history #hl-history-v150 .hl-his-header{
  min-height:55px!important;
  height:55px!important;
  padding:0!important;
  margin:0!important;
  border-bottom:0!important;
  align-items:center!important;
}
body.hl-analysis-v166-history #hl-history-v150 .hl-his-header h1{
  font-size:18px!important;
  color:#152238!important;
}
body.hl-analysis-v166-history #hl-history-v150 .hl-his-rednote{
  display:table!important;
  width:auto!important;
  max-width:calc(100% - 10px)!important;
  margin:4px 0 6px!important;
  padding:5px 10px!important;
  line-height:18px!important;
  border:0!important;
  border-radius:2px!important;
}
body.hl-analysis-v166-history #hl-history-v150 .hl-his-metric-strip{
  height:140px!important;
  min-height:140px!important;
  padding:14px 0 8px!important;
  gap:12px!important;
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr) 40px!important;
  align-items:stretch!important;
  overflow:visible!important;
}
body.hl-analysis-v166-history #hl-history-v150 .hl-his-card-viewport{
  min-width:0!important;
  height:118px!important;
  min-height:118px!important;
  overflow:hidden!important;
}
body.hl-analysis-v166-history #hl-history-v150 .hl-his-cards{
  height:118px!important;
  align-items:stretch!important;
  gap:12px!important;
}
body.hl-analysis-v166-history #hl-history-v150 .hl-his-card{
  width:180px!important;
  min-width:180px!important;
  height:118px!important;
  min-height:118px!important;
  padding:10px 12px!important;
  border-radius:6px!important;
  border:1px solid #e3e8ee!important;
  background:#fff!important;
  color:#39475b!important;
}
body.hl-analysis-v166-history #hl-history-v150 .hl-his-card.active{
  border:2px solid #259cf0!important;
  padding:9px 11px!important;
  box-shadow:0 3px 10px rgba(37,156,240,.10)!important;
}
body.hl-analysis-v166-history #hl-history-v150 .hl-his-card-title{font-size:13px!important;color:#647186!important}
body.hl-analysis-v166-history #hl-history-v150 .hl-his-card strong{font-size:21px!important;margin:5px 0 6px!important;line-height:25px!important}
body.hl-analysis-v166-history #hl-history-v150 .hl-his-card small{font-size:10px!important;margin-top:0!important;line-height:15px!important}
body.hl-analysis-v166-history #hl-history-v150 .hl-his-arrow{
  width:40px!important;min-width:40px!important;height:118px!important;min-height:118px!important;
  border:0!important;background:#fafbfc!important;color:#2b3341!important;border-radius:2px!important;font-size:34px!important;
}
body.hl-analysis-v166-history #hl-history-v150 .hl-his-chart-legend{
  height:37px!important;
  min-height:37px!important;
  margin:0!important;
  font-size:11px!important;
}
body.hl-analysis-v166-history #hl-history-v150 .hl-his-chart{
  height:190px!important;
  min-height:190px!important;
  padding:0!important;
  margin:0!important;
}
body.hl-analysis-v166-history #hl-history-v150 .hl-his-chart svg{
  width:100%!important;
  height:166px!important;
  overflow:visible!important;
}
/* 曲线线宽与即时分析一致 */
body.hl-analysis-v166-history #hl-history-v150 .hl-his-chart svg .current-line,
body.hl-analysis-v166-history #hl-history-v150 .hl-his-chart svg .previous-line{
  stroke-width:2px!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  vector-effect:non-scaling-stroke!important;
}
body.hl-analysis-v166-history #hl-history-v150 .hl-his-chart svg .previous-line{stroke-dasharray:3 3!important}
body.hl-analysis-v166-history #hl-history-v150 .hl-his-chart svg .current-point{r:1.8}

/* ===== 广告流量：同步即时分析的头部/指标/图表高度 ===== */
body.hl-analysis-v166-ads .ad-v109-overview{
  min-height:436px!important;
  height:auto!important;
  padding:0 16px 14px!important;
  border:1px solid #e3e8ef!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
body.hl-analysis-v166-ads .ad-v109-header{
  min-height:55px!important;
  margin:0!important;
  padding:0!important;
  align-items:center!important;
  border-bottom:0!important;
}
body.hl-analysis-v166-ads .ad-v109-header h1{font-size:18px!important;line-height:22px!important;margin:0 0 4px!important;color:#152238!important}
body.hl-analysis-v166-ads .ad-v109-header p{padding:4px 10px!important;line-height:18px!important;margin:0!important;border:0!important}
body.hl-analysis-v166-ads .ad-v109-metric-strip{
  min-height:140px!important;height:140px!important;
  margin:0!important;padding:14px 0 8px!important;gap:12px!important;
  grid-template-columns:40px minmax(0,1fr) 40px!important;
}
body.hl-analysis-v166-ads .ad-v109-metric{height:118px!important;min-height:118px!important;padding:10px 12px!important;border-radius:6px!important;background:#fff!important}
body.hl-analysis-v166-ads .ad-v109-metric.active{padding:9px 11px!important}
body.hl-analysis-v166-ads .ad-v109-arrow{width:40px!important;min-width:40px!important;height:118px!important;min-height:118px!important;font-size:34px!important;border-radius:2px!important}
body.hl-analysis-v166-ads .ad-v109-chart-toolbar{min-height:37px!important;height:37px!important;margin:0!important}
body.hl-analysis-v166-ads .ad-v109-chart{height:190px!important;min-height:190px!important;margin:0!important}
body.hl-analysis-v166-ads .ad-v109-chart svg{height:166px!important}
body.hl-analysis-v166-ads .ad-v109-axis{margin-top:-4px!important}
body.hl-analysis-v166-ads .ad-v109-line{stroke-width:2px!important;stroke-linecap:round!important;stroke-linejoin:round!important;vector-effect:non-scaling-stroke!important}
body.hl-analysis-v166-ads .ad-v109-line.previous{stroke-dasharray:3 3!important}

/* ===== 利润分析：用即时分析的垂直节奏，不改业务DOM/数据 ===== */
body.hl-analysis-v166-profit .app-main>.workspace-panel{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  padding:0 16px 14px!important;
  border:1px solid #e3e8ef!important;
  background:#fff!important;
}
body.hl-analysis-v166-profit .app-main>.workspace-panel>.page-header{
  order:1!important;
  min-height:55px!important;height:55px!important;
  margin:0!important;padding:0!important;border-bottom:0!important;
  align-items:center!important;
}
body.hl-analysis-v166-profit .app-main>.workspace-panel>.page-header h1{font-size:18px!important;color:#152238!important}
body.hl-analysis-v166-profit .app-main>.workspace-panel>.page-header p{display:none!important}
body.hl-analysis-v166-profit .app-main>.workspace-panel>.summary-grid{
  order:2!important;
  min-height:140px!important;height:140px!important;
  margin:0!important;padding:14px 0 8px!important;
  grid-template-columns:repeat(4,minmax(180px,1fr))!important;
  gap:12px!important;overflow:hidden!important;
}
body.hl-analysis-v166-profit .app-main>.workspace-panel>.summary-grid .summary-item{
  min-height:118px!important;height:118px!important;
  padding:10px 12px!important;border:1px solid #e3e8ee!important;border-left:1px solid #e3e8ee!important;border-radius:6px!important;background:#fff!important;
}
body.hl-analysis-v166-profit .app-main>.workspace-panel>.summary-grid .summary-item span{font-size:13px!important;color:#647186!important}
body.hl-analysis-v166-profit .app-main>.workspace-panel>.summary-grid .summary-item strong{font-size:21px!important;margin:5px 0 6px!important}
body.hl-analysis-v166-profit .app-main>.workspace-panel>.summary-grid .summary-item small{font-size:10px!important}
body.hl-analysis-v166-profit .app-main>.workspace-panel>.wide-grid{
  order:3!important;
  min-height:227px!important;height:227px!important;
  margin:0!important;gap:12px!important;
  grid-template-columns:minmax(0,2.5fr) minmax(250px,1fr)!important;
}
body.hl-analysis-v166-profit .app-main>.workspace-panel>.wide-grid>.sub-panel{
  min-height:227px!important;height:227px!important;padding:8px 10px!important;overflow:hidden!important;
}
body.hl-analysis-v166-profit .app-main>.workspace-panel>.wide-grid>.sub-panel h2{margin-bottom:4px!important;font-size:14px!important}
body.hl-analysis-v166-profit .app-main>.workspace-panel>.wide-grid .line-chart{padding-top:0!important}
body.hl-analysis-v166-profit .app-main>.workspace-panel>.wide-grid .line-chart svg{height:166px!important}
body.hl-analysis-v166-profit .app-main>.workspace-panel>.wide-grid .series{stroke-width:2px!important;stroke-linecap:round!important;stroke-linejoin:round!important;vector-effect:non-scaling-stroke!important}
body.hl-analysis-v166-profit .app-main>.workspace-panel>.filter-bar{order:4!important;margin:12px 0!important}
body.hl-analysis-v166-profit .app-main>.workspace-panel>.data-table-wrap{order:5!important}

/* 三页顶部不能被下方超宽表撑开 */
body.hl-analysis-v166-history .app-main,
body.hl-analysis-v166-ads .app-main,
body.hl-analysis-v166-profit .app-main{min-width:0!important;overflow-x:hidden!important}

@media(max-width:1100px){
  body.hl-analysis-v166-history #hl-history-v150 .hl-his-overview,
  body.hl-analysis-v166-ads .ad-v109-overview{min-height:436px!important;height:auto!important}
  body.hl-analysis-v166-profit .app-main>.workspace-panel>.summary-grid{grid-template-columns:repeat(2,minmax(180px,1fr))!important;height:auto!important}
}


/* V170：广告流量总高度、文字位置、图例与曲线位置对齐历史分析，切换更平滑 */
body.hl-analysis-v166-ads .ad-v109-header p{
  display:table!important;
  width:auto!important;
  max-width:calc(100% - 10px)!important;
  margin:4px 0 6px!important;
  padding:5px 10px!important;
  line-height:18px!important;
  border:0!important;
  border-radius:2px!important;
}

body.hl-analysis-v166-ads .ad-v109-metric-strip{
  padding:14px 0 8px!important;
}

/* 按时段/按店铺在左，统计日期文字保持居中，整体高度与历史分析一致 */
body.hl-analysis-v166-ads .ad-v109-chart-toolbar{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  min-height:37px!important;
  height:37px!important;
  margin:0!important;
  padding:0!important;
}
body.hl-analysis-v166-ads .ad-v109-chart-toolbar > :first-child{
  position:relative!important;
  z-index:2!important;
  flex:0 0 auto!important;
}
body.hl-analysis-v166-ads .ad-v109-chart-toolbar > :last-child{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  margin:0!important;
  white-space:nowrap!important;
  text-align:center!important;
}

/* 曲线区域整体下移一点，视觉高度/留白跟历史分析一致 */
body.hl-analysis-v166-ads .ad-v109-chart{
  height:190px!important;
  min-height:190px!important;
  margin:0!important;
  padding-top:4px!important;
  box-sizing:border-box!important;
}
body.hl-analysis-v166-ads .ad-v109-chart svg{
  height:166px!important;
  display:block!important;
}
body.hl-analysis-v166-ads .ad-v109-axis{
  margin-top:0!important;
}


/* V171：修复广告流量总览首帧正确、稍后又上移的问题。 */
body.hl-analysis-v166-ads .ad-v109-page{
  margin-top:46px!important;
  padding-top:0!important;
}
body.hl-analysis-v166-ads .ad-v109-overview{
  padding-top:14px!important;
  box-sizing:border-box!important;
}
body.hl-analysis-v166-ads .ad-v109-header{
  margin:0 0 8px!important;
  padding:0!important;
}
body.hl-analysis-v166-ads .ad-v109-header h1{
  margin:0 0 6px!important;
}
body.hl-analysis-v166-ads .ad-v109-header p{
  margin:0 0 2px!important;
}


/* ================= V172 首帧稳定布局 =================
   历史分析和广告流量不再依赖后置 body class 才获得最终样式，
   DOM 一出现就是最终位置，因此文字/卡片/曲线不会过一会再移动。
*/

/* 历史分析：最终布局直接作用于真实 DOM */
#hl-history-v150{
  padding-top:0!important;
}
#hl-history-v150 .hl-his-overview{
  min-height:436px!important;
  height:auto!important;
  padding:0 16px 14px!important;
  overflow:visible!important;
  border:1px solid #e3e8ef!important;
  background:#fff!important;
}
#hl-history-v150 .hl-his-header{
  min-height:55px!important;
  height:55px!important;
  padding:0!important;
  margin:0!important;
  border-bottom:0!important;
  align-items:center!important;
}
#hl-history-v150 .hl-his-header h1{
  font-size:18px!important;
  line-height:22px!important;
  font-weight:400!important;
  color:#152238!important;
  margin:0!important;
}
#hl-history-v150 .hl-his-rednote{
  display:table!important;
  width:auto!important;
  max-width:calc(100% - 10px)!important;
  margin:-3px 0 7px!important;
  padding:5px 10px!important;
  line-height:18px!important;
  border:0!important;
  border-radius:2px!important;
}
#hl-history-v150 .hl-his-metric-strip{
  height:140px!important;
  min-height:140px!important;
  padding:14px 0 8px!important;
  gap:12px!important;
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr) 40px!important;
  align-items:stretch!important;
  overflow:visible!important;
}
#hl-history-v150 .hl-his-card-viewport{
  min-width:0!important;height:118px!important;min-height:118px!important;overflow:hidden!important;
}
#hl-history-v150 .hl-his-cards{height:118px!important;align-items:stretch!important;gap:12px!important;}
#hl-history-v150 .hl-his-card{
  width:180px!important;min-width:180px!important;height:118px!important;min-height:118px!important;
  padding:10px 12px!important;border-radius:6px!important;border:1px solid #e3e8ee!important;background:#fff!important;color:#39475b!important;
}
#hl-history-v150 .hl-his-card.active{
  border:2px solid #259cf0!important;padding:9px 11px!important;box-shadow:0 3px 10px rgba(37,156,240,.10)!important;
}
#hl-history-v150 .hl-his-card-title{font-size:13px!important;color:#647186!important}
#hl-history-v150 .hl-his-card strong{font-size:21px!important;margin:5px 0 6px!important;line-height:25px!important}
#hl-history-v150 .hl-his-card small{font-size:10px!important;margin-top:0!important;line-height:15px!important}
#hl-history-v150 .hl-his-arrow{
  width:40px!important;min-width:40px!important;height:118px!important;min-height:118px!important;
  border:0!important;background:#fafbfc!important;color:#2b3341!important;border-radius:2px!important;font-size:34px!important;
}
#hl-history-v150 .hl-his-chart-legend{height:37px!important;min-height:37px!important;margin:0!important;font-size:11px!important}
#hl-history-v150 .hl-his-chart{height:190px!important;min-height:190px!important;padding:0!important;margin:0!important}
#hl-history-v150 .hl-his-chart svg{width:100%!important;height:166px!important;overflow:visible!important}
#hl-history-v150 .hl-his-chart svg .current-line,
#hl-history-v150 .hl-his-chart svg .previous-line{
  stroke-width:2px!important;stroke-linecap:round!important;stroke-linejoin:round!important;vector-effect:non-scaling-stroke!important;
}
#hl-history-v150 .hl-his-chart svg .previous-line{stroke-dasharray:3 3!important}

/* 广告流量：最终布局直接作用于真实 DOM */
.ad-v109-page .ad-v109-overview{
  min-height:436px!important;
  height:auto!important;
  padding:14px 16px 14px!important;
  border:1px solid #e3e8ef!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.ad-v109-page .ad-v109-header{
  min-height:55px!important;
  margin:0 0 8px!important;
  padding:0!important;
  align-items:center!important;
  border-bottom:0!important;
}
.ad-v109-page .ad-v109-header h1{
  font-size:18px!important;
  line-height:22px!important;
  margin:0 0 6px!important;
  color:#152238!important;
}
.ad-v109-page .ad-v109-header p{
  display:block!important;
  width:max-content!important;
  max-width:calc(100% - 12px)!important;
  margin:0!important;
  padding:5px 10px!important;
  line-height:18px!important;
  height:28px!important;
  box-sizing:border-box!important;
  border:0!important;
  border-radius:2px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.ad-v109-page .ad-v109-metric-strip{
  min-height:140px!important;height:140px!important;margin:0!important;padding:14px 0 8px!important;gap:12px!important;
  grid-template-columns:40px minmax(0,1fr) 40px!important;
}
.ad-v109-page .ad-v109-metric{height:118px!important;min-height:118px!important;padding:10px 12px!important;border-radius:6px!important;background:#fff!important}
.ad-v109-page .ad-v109-metric.active{padding:9px 11px!important}
.ad-v109-page .ad-v109-arrow{width:40px!important;min-width:40px!important;height:118px!important;min-height:118px!important;font-size:34px!important;border-radius:2px!important}
.ad-v109-page .ad-v109-chart-toolbar{
  position:relative!important;display:flex!important;align-items:center!important;
  min-height:37px!important;height:37px!important;margin:0!important;padding:0!important;
}
.ad-v109-page .ad-v109-chart-toolbar > :first-child{position:relative!important;z-index:2!important;flex:0 0 auto!important}
.ad-v109-page .ad-v109-chart-toolbar > :last-child{
  position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;
  margin:0!important;white-space:nowrap!important;text-align:center!important;
}
.ad-v109-page .ad-v109-chart{height:190px!important;min-height:190px!important;margin:0!important;padding-top:4px!important;box-sizing:border-box!important}
.ad-v109-page .ad-v109-chart svg{height:166px!important;display:block!important}
.ad-v109-page .ad-v109-axis{margin-top:0!important}
.ad-v109-page .ad-v109-line{stroke-width:2px!important;stroke-linecap:round!important;stroke-linejoin:round!important;vector-effect:non-scaling-stroke!important}
.ad-v109-page .ad-v109-line.previous{stroke-dasharray:3 3!important}

/* 利润分析：路由 class 在 React 主程序前就存在，因此也首帧直接使用最终位置。 */
html.hl-route-profit-v166 .app-main>.workspace-panel{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  padding:0 16px 14px!important;
  border:1px solid #e3e8ef!important;
  background:#fff!important;
}
html.hl-route-profit-v166 .app-main>.workspace-panel>.page-header{
  order:1!important;min-height:55px!important;height:55px!important;margin:0!important;padding:0!important;border-bottom:0!important;align-items:center!important;
}
html.hl-route-profit-v166 .app-main>.workspace-panel>.page-header h1{font-size:18px!important;color:#152238!important}
html.hl-route-profit-v166 .app-main>.workspace-panel>.page-header p{display:none!important}
html.hl-route-profit-v166 .app-main>.workspace-panel>.summary-grid{
  order:2!important;min-height:140px!important;height:140px!important;margin:0!important;padding:14px 0 8px!important;
  grid-template-columns:repeat(4,minmax(180px,1fr))!important;gap:12px!important;overflow:hidden!important;
}
html.hl-route-profit-v166 .app-main>.workspace-panel>.summary-grid .summary-item{
  min-height:118px!important;height:118px!important;padding:10px 12px!important;border:1px solid #e3e8ee!important;border-radius:6px!important;background:#fff!important;
}
html.hl-route-profit-v166 .app-main>.workspace-panel>.wide-grid{
  order:3!important;min-height:227px!important;height:227px!important;margin:0!important;gap:12px!important;
  grid-template-columns:minmax(0,2.5fr) minmax(250px,1fr)!important;
}
html.hl-route-profit-v166 .app-main>.workspace-panel>.filter-bar{order:4!important;margin:12px 0!important}
html.hl-route-profit-v166 .app-main>.workspace-panel>.data-table-wrap{order:5!important}
