/* Backend chart styles, without global admin styles. */


/* Stage 2 analysis truth pages: shared master/detail layout, each side scrolls independently. */
.analysis-v3-page {
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
}


.analysis-v3-toolbar {
  align-items: end;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(260px, 1fr) minmax(180px, 260px) minmax(150px, 190px) auto;
  margin-bottom: 12px;
}


.analysis-v3-toolbar p {
  margin: 4px 0 0;
}


.analysis-v3-toolbar input,
.analysis-v3-toolbar select {
  border: 1px solid #d8c69c;
  border-radius: 10px;
  min-height: 38px;
  min-width: 0;
  padding: 6px 10px;
  width: 100%;
}


.analysis-v3-toolbar .pagination-bar {
  grid-column: 1 / -1;
  margin: 0;
}


.analysis-v3-bulk-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  grid-column: 1 / -1;
}


.analysis-v3-forward-panel {
  align-items: end;
  background: #fff8df;
  border: 1px solid #e4c469;
  border-radius: 10px;
  display: grid;
  gap: 8px;
  grid-column: 1 / -1;
  grid-template-columns: repeat(2, minmax(180px, 1fr)) auto minmax(180px, 1fr);
  padding: 9px;
}


.analysis-v3-forward-panel label {
  display: grid;
  gap: 4px;
}


.analysis-v3-forward-preview-items {
  display: grid;
  gap: 7px;
  margin: 12px 0;
  max-height: 46vh;
  overflow: auto;
}


.analysis-v3-forward-preview-items > div {
  background: #fffaf0;
  border: 1px solid #ead9b2;
  border-radius: 8px;
  display: grid;
  gap: 3px;
  padding: 8px;
}


.analysis-v3-master-detail {
  align-items: stretch;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 3fr) minmax(300px, 2fr);
  height: 740px;
  min-height: 0;
}


.analysis-v3-list-scroll,
.analysis-v3-detail-scroll {
  box-sizing: border-box;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  min-width: 0;
  overscroll-behavior-x: contain;
  overscroll-behavior-y: auto;
  overflow: auto;
}


.analysis-v3-list-scroll {
  align-self: stretch;
  margin: 0;
}


.analysis-v3-list-scroll .analysis-table {
  min-width: 860px;
}


.analysis-v3-list-scroll .analysis-table thead th {
  background: #fffaf0;
  position: sticky;
  top: 0;
  z-index: 2;
}


.analysis-v3-detail-scroll {
  align-self: stretch;
  background: #fff;
  border: 1px solid #ead9b2;
  border-radius: 14px;
  padding: 16px;
  position: static;
}


.analysis-v3-detail-scroll > p {
  color: #6e634f;
}


.analysis-v3-detail-content {
  display: grid;
  gap: 14px;
}


.dynamic-group-main-row.is-analysis-excluded .analysis-v3-group-name-col,
.dynamic-group-main-row.is-analysis-excluded .analysis-v3-group-name-col a,
.dynamic-group-main-row.is-analysis-excluded .analysis-v3-group-name-col .analysis-v3-group-name-nickname,
.dynamic-group-main-row.is-analysis-excluded .analysis-v3-group-rank-col,
.dynamic-group-main-row.is-analysis-excluded .analysis-v3-group-score-col,
.dynamic-group-main-row.is-analysis-excluded .analysis-v3-group-confidence-col,
.dynamic-group-main-row.is-analysis-excluded .analysis-v3-group-coverage-col,
.dynamic-group-main-row.is-analysis-excluded .analysis-v3-group-anomaly-col,
.dynamic-group-main-row.is-analysis-excluded .analysis-v3-group-post-count-col,
.dynamic-group-main-row.is-analysis-excluded .analysis-v3-group-p50-col,
.analysis-v3-detail-header.is-analysis-excluded > div,
.analysis-v3-excluded-score > strong,
.analysis-v3-excluded-score .analysis-v3-metric-grid span,
.analysis-v3-excluded-score .analysis-v3-metric-grid strong,
.analysis-v3-excluded-metric span,
.analysis-v3-excluded-metric strong,
.analysis-v3-excluded-anomaly > strong,
.analysis-v3-excluded-anomaly > p {
  color: #b91c1c;
}


.analysis-v3-excluded-cell-label {
  display: block;
  font-size: 10px;
  font-weight: 700;
}


.analysis-v3-participation-pending {
  display: block;
  white-space: normal;
}


.analysis-v3-excluded-tag {
  display: inline-block;
  color: #b91c1c;
  font-size: 11px;
  font-weight: 700;
  white-space: normal;
}


.analysis-v3-group-data-management.is-analysis-excluded {
  background: #fff1f2;
  border-left: 4px solid #b91c1c;
  padding-left: 12px;
}


.analysis-v3-group-participation-state {
  font-weight: 600;
}


.analysis-v3-list-scroll .dynamic-group-table {
  min-width: 940px;
  table-layout: auto;
  width: 100%;
}


.dynamic-group-table .analysis-v3-group-select-col {
  padding-right: 0;
  text-align: center;
  width: 24px;
}


.dynamic-group-table .analysis-v3-group-select-col input {
  margin: 0;
}


.dynamic-group-table .analysis-v3-group-avatar-col {
  padding-left: 2px;
  width: 42px;
}

.dynamic-group-table .analysis-v3-group-rank-col,
.dynamic-group-table .analysis-v3-group-score-col,
.dynamic-group-table .analysis-v3-group-confidence-col,
.dynamic-group-table .analysis-v3-group-coverage-col,
.dynamic-group-table .analysis-v3-group-anomaly-col,
.dynamic-group-table .analysis-v3-group-post-count-col,
.dynamic-group-table .analysis-v3-group-p50-col { width: 1%; }

.dynamic-group-table .analysis-v3-group-name-col {
  max-width: 190px;
  min-width: 190px;
  width: 190px;
}


.analysis-v3-group-name {
  display: block;
  line-height: 1.2;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}


.analysis-v3-group-name.has-nickname {
  display: grid;
  gap: 2px;
}


.analysis-v3-group-name.has-nickname > span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}


.analysis-v3-group-name-nickname {
  color: #746d61;
  font-size: 10px;
}


.analysis-v3-merchant-identity {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  gap: 7px;
  padding: 4px 8px;
}


.analysis-v3-merchant-identity.is-self_store,
.analysis-v3-merchant-badge.is-self_store {
  background: #e7f0ff;
  color: #1d4f91;
}


.analysis-v3-merchant-identity.is-watched,
.analysis-v3-merchant-badge.is-watched {
  background: #fff0bf;
  color: #795500;
}


.analysis-v3-merchant-identity.is-ordinary,
.analysis-v3-merchant-badge.is-ordinary {
  background: #eeeae2;
  color: #5e584e;
}


.analysis-v3-merchant-badge {
  border-radius: 999px;
  padding: 5px 9px;
}


.analysis-v3-merchant-groups,
.analysis-v3-daily-chart {
  display: grid;
  gap: 7px;
  margin-top: 8px;
}


.analysis-v3-merchant-group-row,
.analysis-v3-daily-chart > div {
  background: #fffaf0;
  border: 1px solid #ead9b2;
  border-radius: 8px;
  display: grid;
  gap: 4px;
  padding: 8px;
}


.analysis-v3-merchant-group-filter {
  display: flex;
  gap: 8px;
  margin-top: 12px;
}


.analysis-v3-avatar-missing {
  align-items: center;
  background: #f2ead8;
  border-radius: 50%;
  color: #756b57;
  display: inline-flex;
  height: 36px;
  justify-content: center;
  width: 36px;
}


.analysis-v3-market-stack {
  display: grid;
  gap: 6px;
  margin-top: 8px;
}


.analysis-v3-market-layer {
  align-items: center;
  background: #fffaf0;
  border: 1px solid #ead9b2;
  border-radius: 9px;
  color: #263b2e;
  display: grid;
  gap: 5px 10px;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
  height: auto;
  min-height: 38px;
  justify-content: space-between;
  padding: 8px;
  text-align: left;
  width: 100%;
}


.analysis-v3-market-layer > strong,
.analysis-v3-market-layer > span,
.analysis-v3-market-layer small {
  color: inherit;
  min-width: 0;
  overflow-wrap: anywhere;
  white-space: normal;
}


.analysis-v3-market-layer small { grid-column: 1 / -1; }


.analysis-v3-market-layer[data-market-layer="ordinary"] {
  background: #f3f5f7;
  border-color: #c8d0d8;
  color: #263746;
}


.analysis-v3-market-layer[data-market-layer="self_store"] {
  background: #eaf8ef;
  border-color: #8ecaa3;
  color: #155d36;
}


.analysis-v3-market-layer[data-market-layer="watched"] {
  background: #f3edff;
  border-color: #bca4e8;
  color: #56348a;
}


.analysis-v3-fulfillment-bars {
  display: grid;
  gap: 5px;
  grid-template-columns: repeat(7, minmax(48px, 1fr));
  margin-top: 8px;
}


.analysis-v3-fulfillment-bars > div {
  background: #fff4d4;
  border: 1px solid #e4c469;
  border-radius: 8px;
  display: grid;
  gap: 3px;
  padding: 6px;
  text-align: center;
}


.analysis-v3-trend-dialog {
  border: 1px solid #d9bc73;
  border-radius: 16px;
  max-height: 86vh;
  max-width: 1180px;
  padding: 16px;
  width: min(94vw, 1180px);
}


#analysisV3GroupTrendDialog.analysis-v3-trend-dialog {
  max-width: 1500px;
  width: min(96vw, 1500px);
}


.analysis-v3-trend-dialog::backdrop {
  background: rgb(30 25 14 / 52%);
}


.analysis-v3-trend-tooltip {
  background: rgb(255 252 244 / 98%);
  border: 1px solid #b99a51;
  border-radius: 10px;
  box-shadow: 0 12px 30px rgb(41 31 8 / 26%);
  color: #3f3217;
  font-size: 12px;
  line-height: 1.35;
  margin: 0;
  max-width: calc(100vw - 20px);
  min-width: min(280px, calc(100vw - 20px));
  overflow: visible;
  padding: 10px;
  pointer-events: none;
  position: fixed;
  width: max-content;
  z-index: 2147483647;
}


.analysis-v3-trend-tooltip[hidden] {
  display: none;
}


.analysis-v3-trend-tooltip > header {
  border-bottom: 1px solid #ead9b2;
  display: grid;
  gap: 2px;
  margin-bottom: 7px;
  padding-bottom: 7px;
}


.analysis-v3-trend-tooltip > header strong {
  color: #4d390c;
  font-size: 14px;
}


.analysis-v3-trend-tooltip > header span,
.analysis-v3-trend-tooltip-row small,
.analysis-v3-trend-tooltip > p {
  color: #746d61;
}


.analysis-v3-trend-tooltip-rows {
  display: grid;
  gap: 4px;
}


.analysis-v3-trend-tooltip-row {
  align-items: center;
  border-radius: 6px;
  display: grid;
  gap: 4px 7px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 4px 5px;
}


.analysis-v3-trend-tooltip-row.is-active {
  background: #f6e7bd;
  outline: 1px solid #d9bc73;
}


.analysis-v3-trend-tooltip-row > i {
  background: var(--trend-tooltip-color, #8b5cf6);
  border-radius: 50%;
  height: 9px;
  width: 9px;
}


.analysis-v3-trend-tooltip-row > i.is-empty {
  visibility: hidden;
}


.analysis-v3-trend-tooltip-row > span {
  overflow-wrap: anywhere;
}


.analysis-v3-trend-tooltip-row > strong {
  color: #3f3217;
  text-align: right;
  white-space: nowrap;
}


.analysis-v3-trend-tooltip-row > small {
  grid-column: 2 / -1;
}


.analysis-v3-trend-tooltip > p {
  font-size: 11px;
  margin: 7px 3px 0;
}


.analysis-v3-tooltip-bucket {
  cursor: crosshair;
}


.analysis-v3-hour.is-tooltip-active,
.analysis-v3-subscriber-day.is-tooltip-active,
.analysis-v3-market-day.is-tooltip-active,
.analysis-v3-reading-peer-row.is-tooltip-active,
.analysis-v3-reading-heat-cell.is-tooltip-active,
.analysis-v3-audience-single.is-tooltip-active {
  background: rgb(211 159 39 / 13%);
  border-radius: 6px;
  outline: 1px solid rgb(185 154 81 / 64%);
  outline-offset: -1px;
}


.analysis-v3-trend-dialog > header,
.analysis-v3-trend-tabs,
.analysis-v3-trend-toggles,
.analysis-v3-audience-step {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: space-between;
}


.analysis-v3-trend-toolbar {
  align-items: start;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.9fr);
}


.analysis-v3-trend-reference-help {
  color: #8a8377;
  display: grid;
  font-size: 11px;
  gap: 4px;
  line-height: 1.45;
  margin: 12px 0 0;
}


.analysis-v3-trend-reference-help strong {
  color: #746d61;
}


.analysis-v3-trend-identity {
  background: linear-gradient(180deg, #fffaf0, #f6e7bd);
  border: 1px solid #d9bc73;
  border-radius: 8px;
  display: grid;
  gap: 4px;
  margin-top: 10px;
  padding: 9px;
}


.analysis-v3-trend-identity span,
.analysis-v3-trend-identity small {
  color: #6f5314;
}


.analysis-v3-trend-metric-tabs {
  margin-top: 10px;
}


.analysis-v3-trend-tabs,
.analysis-v3-trend-toggles,
.analysis-v3-reference-grid,
.analysis-v3-hour-chart,
.analysis-v3-audience-step,
.analysis-v3-reading-note {
  margin-top: 12px;
}


.analysis-v3-trend-tabs,
.analysis-v3-trend-toggles {
  justify-content: flex-start;
}


.analysis-v3-reference-grid {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(6, minmax(100px, 1fr));
}


.analysis-v3-reference-grid > span,
.analysis-v3-audience-step {
  background: #fffaf0;
  border: 1px solid #ead9b2;
  border-radius: 8px;
  padding: 7px;
}


.analysis-v3-audience-step-chart {
  flex: 1 1 360px;
  min-width: 230px;
  position: relative;
}


.analysis-v3-audience-step-chart > svg {
  display: block;
  height: 50px;
  width: 100%;
}


.analysis-v3-audience-step-hits {
  display: grid;
  grid-auto-columns: minmax(18px, 1fr);
  grid-auto-flow: column;
  inset: 0;
  position: absolute;
}


.analysis-v3-audience-step-hits > span {
  cursor: crosshair;
}


.analysis-v3-audience-step-hits > span.is-tooltip-active {
  background: rgb(22 163 74 / 10%);
  outline: 1px solid rgb(22 163 74 / 36%);
}


.analysis-v3-hour-chart {
  align-items: end;
  border-bottom: 1px solid #b99a51;
  display: grid;
  gap: 3px;
  grid-template-columns: repeat(24, minmax(30px, 1fr));
  height: 280px;
  overflow-x: auto;
  padding-top: 66px;
  position: relative;
}


.analysis-v3-hour-lines {
  height: 210px;
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 66px;
  width: max(100%, 792px);
  z-index: 2;
}


.analysis-v3-hour {
  align-items: center;
  display: flex;
  height: 210px;
  flex-direction: column;
  justify-content: end;
  min-width: 30px;
  position: relative;
  z-index: 1;
}


.analysis-v3-hour.analysis-v3-tooltip-bucket::after {
  content: "";
  inset: -66px -2px 0;
  position: absolute;
  z-index: 3;
}


.analysis-v3-hour i {
  background: #d39f27;
  border-radius: 4px 4px 0 0;
  display: block;
  min-height: 0;
  width: 68%;
}


.analysis-v3-daily-trend {
  align-items: end;
  border-bottom: 1px solid #b99a51;
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(var(--trend-days), minmax(3px, 1fr));
  height: 270px;
  margin-top: 12px;
  min-width: calc(var(--trend-days) * 3px);
  overflow-x: auto;
  position: relative;
}


.analysis-v3-daily-lines {
  bottom: 30px;
  height: 240px;
  left: 0;
  min-width: calc(var(--trend-days) * 3px);
  pointer-events: none;
  position: absolute;
  width: max(100%, calc(var(--trend-days) * 3px));
  z-index: 2;
}


.analysis-v3-daily-lines line {
  fill: none;
  stroke-width: 2.5;
  vector-effect: non-scaling-stroke;
}


.analysis-v3-daily-lines .merchant-line { stroke: #8b5cf6; }

.analysis-v3-daily-lines .reading-line { stroke: #0ea5e9; }

.analysis-v3-daily-lines .reading-mean-line { stroke-dasharray: 4 3; }


.analysis-v3-daily-bucket {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 240px;
  justify-content: end;
  min-width: 3px;
  position: relative;
  z-index: 1;
}


.analysis-v3-daily-bucket > i {
  background: #d39f27;
  display: block;
  min-height: 0;
  width: 100%;
}


.analysis-v3-daily-bucket.is-partial > i { opacity: .45; }

.analysis-v3-daily-bucket.is-unknown > i { background: transparent; }


.analysis-v3-daily-bucket > span {
  bottom: -24px;
  font-size: 10px;
  left: 0;
  position: absolute;
  white-space: nowrap;
}


.analysis-v3-subscriber-section {
  margin-top: 14px;
}


.analysis-v3-subscriber-chart {
  align-items: end;
  border-bottom: 1px solid #b99a51;
  display: grid;
  gap: 4px;
  grid-template-columns: repeat(auto-fit, minmax(26px, 1fr));
  height: 230px;
  margin-top: 10px;
  overflow-x: auto;
}


.analysis-v3-subscriber-day {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: end;
  min-width: 26px;
  position: relative;
}


.analysis-v3-subscriber-day.analysis-v3-tooltip-bucket::after {
  content: "";
  inset: 0 -2px;
  position: absolute;
}


.analysis-v3-subscriber-day span {
  font-size: 9px;
  min-height: 22px;
  text-align: center;
}


.analysis-v3-subscriber-day i {
  background: #16a34a;
  border-radius: 4px 4px 0 0;
  display: block;
  width: 62%;
}


.analysis-v3-subscriber-day small {
  font-size: 9px;
  min-height: 14px;
}


.analysis-v3-reading-panel {
  display: grid;
  gap: 14px;
  margin-top: 14px;
}


.analysis-v3-reading-toolbar {
  align-items: center;
  background: #fffaf0;
  border: 1px solid #ead9b2;
  border-radius: 8px;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(260px, 1fr) auto auto;
  padding: 12px;
}


.analysis-v3-reading-toolbar strong,
.analysis-v3-reading-section > header strong {
  color: #5f470f;
  font-size: 15px;
}


.analysis-v3-reading-toolbar p,
.analysis-v3-reading-section > header p {
  color: #746d61;
  font-size: 12px;
  margin: 3px 0 0;
}


.analysis-v3-reading-summary-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}


.analysis-v3-reading-summary-card {
  background: #fff;
  border: 1px solid #ead9b2;
  border-radius: 8px;
  display: grid;
  gap: 4px;
  min-height: 82px;
  padding: 10px;
}


.analysis-v3-reading-summary-card span,
.analysis-v3-reading-summary-card small {
  color: #746d61;
}


.analysis-v3-reading-summary-card strong {
  color: #3f3217;
  font-size: 19px;
  line-height: 1.15;
  overflow-wrap: anywhere;
}


.analysis-v3-reading-summary-card.is-good {
  background: #f3faee;
  border-color: #bdd7a7;
}


.analysis-v3-reading-summary-card.is-info {
  background: #fff8e6;
  border-color: #e2c777;
}


.analysis-v3-reading-summary-card.is-warn {
  background: #fff3db;
  border-color: #dfb861;
}


.analysis-v3-reading-main-layout {
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, .75fr);
}


.analysis-v3-reading-bottom-layout {
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}


.analysis-v3-reading-section {
  border: 1px solid #ead9b2;
  border-radius: 8px;
  padding: 12px;
}


.analysis-v3-reading-section > header {
  align-items: start;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  margin-bottom: 10px;
}


.analysis-v3-reading-side-stack,
.analysis-v3-reading-risk-list,
.analysis-v3-reading-detail-table {
  display: grid;
  gap: 12px;
}


.analysis-v3-reading-legend {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 8px;
}


.analysis-v3-reading-legend span {
  align-items: center;
  color: #746d61;
  display: inline-flex;
  font-size: 12px;
  gap: 5px;
}


.analysis-v3-reading-legend i {
  border-radius: 999px;
  display: inline-block;
  height: 8px;
  width: 20px;
}


.analysis-v3-reading-legend .is-p50 {
  background: #7a5a00;
}


.analysis-v3-reading-legend .is-band {
  background: rgb(211 159 39 / 22%);
  border: 1px solid rgb(211 159 39 / 42%);
}


.analysis-v3-reading-legend .is-mean {
  background: #5f8a48;
}


.analysis-v3-reading-chart {
  border-bottom: 1px solid #d9bc73;
  min-height: 292px;
  overflow-x: auto;
  padding: 4px 0 0;
}


.analysis-v3-reading-age-svg {
  display: block;
  height: 260px;
  min-width: 760px;
  width: 100%;
}


.analysis-v3-reading-axis {
  stroke: #d8c99f;
  stroke-width: 1;
}


.analysis-v3-reading-grid-line {
  stroke: #f1e5c5;
  stroke-width: 1;
}


.analysis-v3-reading-band {
  fill: rgb(211 159 39 / 18%);
}


.analysis-v3-reading-p50-line {
  fill: none;
  stroke: #7a5a00;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3;
}


.analysis-v3-reading-mean-line {
  fill: none;
  stroke: #5f8a48;
  stroke-dasharray: 6 5;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.5;
}


.analysis-v3-reading-point {
  fill: #fffaf0;
  stroke: #7a5a00;
  stroke-width: 2;
}


.analysis-v3-reading-tooltip-hit {
  cursor: crosshair;
  fill: transparent;
  pointer-events: all;
}


.analysis-v3-reading-tooltip-hit.is-tooltip-active {
  fill: rgb(211 159 39 / 10%);
  stroke: rgb(185 154 81 / 48%);
  stroke-width: 1;
}


.analysis-v3-reading-svg-label {
  fill: #746d61;
  font-size: 11px;
}


.analysis-v3-reading-svg-label.is-value {
  fill: #3f3217;
}


.analysis-v3-reading-empty {
  align-items: center;
  background: #fffaf0;
  border: 1px dashed #d9bc73;
  border-radius: 8px;
  color: #746d61;
  display: grid;
  gap: 6px;
  justify-items: center;
  min-height: 246px;
  padding: 18px;
  text-align: center;
}


.analysis-v3-reading-empty strong {
  color: #5f470f;
  font-size: 22px;
}


.analysis-v3-reading-peer-bars {
  display: grid;
  gap: 9px;
}


.analysis-v3-reading-peer-row {
  align-items: center;
  display: grid;
  gap: 7px;
  grid-template-columns: 96px minmax(90px, 1fr) 68px;
}


.analysis-v3-reading-peer-row span {
  color: #3f3217;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}


.analysis-v3-reading-peer-row div {
  background: #f4ead0;
  border-radius: 999px;
  height: 10px;
  overflow: hidden;
}


.analysis-v3-reading-peer-row i {
  background: linear-gradient(90deg, #ead9b2, #d39f27, #7a5a00);
  display: block;
  height: 100%;
}


.analysis-v3-reading-peer-row strong {
  color: #5f470f;
  text-align: right;
}


.analysis-v3-reading-peer-row small {
  color: #746d61;
  grid-column: 2 / 4;
}


.analysis-v3-reading-risk-row,
.analysis-v3-reading-detail-row {
  align-items: center;
  border-bottom: 1px solid #f0e3c1;
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr auto;
  padding-bottom: 8px;
}


.analysis-v3-reading-risk-row small,
.analysis-v3-reading-detail-row small {
  color: #746d61;
  display: block;
  margin-top: 3px;
}


.analysis-v3-reading-pill {
  border-radius: 999px;
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  justify-content: center;
  min-width: 64px;
  padding: 3px 8px;
}


.analysis-v3-reading-pill.is-good {
  background: #e3f3dc;
  color: #2f6a25;
}


.analysis-v3-reading-pill.is-info {
  background: #f6e7bd;
  color: #6f5314;
}


.analysis-v3-reading-pill.is-warn {
  background: #fff1d2;
  color: #8a5b00;
}


.analysis-v3-reading-heatmap {
  display: grid;
  gap: 5px;
  grid-template-columns: 76px repeat(7, minmax(70px, 1fr));
  overflow-x: auto;
}


.analysis-v3-reading-heat-head,
.analysis-v3-reading-heat-row-head,
.analysis-v3-reading-heat-cell {
  border-radius: 6px;
  min-height: 44px;
  padding: 6px;
}


.analysis-v3-reading-heat-head {
  align-items: center;
  background: #fffaf0;
  color: #746d61;
  display: flex;
  font-size: 11px;
  justify-content: center;
  text-align: center;
}


.analysis-v3-reading-heat-row-head {
  align-items: center;
  background: #f6e7bd;
  color: #5f470f;
  display: flex;
  font-weight: 700;
}


.analysis-v3-reading-heat-cell {
  background: #fffaf0;
  border: 1px solid rgb(217 188 115 / 55%);
  color: #3f3217;
  display: grid;
  gap: 2px;
}


.analysis-v3-reading-heat-cell.is-unknown {
  background: #f8f5ed;
  color: #8a8377;
}


.analysis-v3-reading-heat-cell.is-low {
  background: #f1ead8;
}


.analysis-v3-reading-heat-cell.is-mid {
  background: #f6e7bd;
}


.analysis-v3-reading-heat-cell.is-good {
  background: #e6c86f;
}


.analysis-v3-reading-heat-cell.is-high {
  background: #d39f27;
  color: #2f2408;
}


.analysis-v3-reading-heat-cell strong {
  font-size: 13px;
}


.analysis-v3-reading-heat-cell small {
  font-size: 10px;
}


.analysis-v3-trend-placeholder {
  background: #fffaf0;
  border: 1px solid #ead9b2;
  border-radius: 8px;
  margin-top: 14px;
  padding: 14px;
}


.analysis-v3-hour-values {
  display: grid;
  font-size: 9px;
  line-height: 1.15;
  position: absolute;
  top: -62px;
  white-space: nowrap;
}


.analysis-v3-hour > strong {
  font-size: 10px;
  margin-top: 3px;
}


.analysis-v3-fulfillment-chart {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  height: 150px;
  margin-top: 10px;
  position: relative;
}


.analysis-v3-fulfillment-chart > svg {
  inset: 0;
  height: 100px;
  pointer-events: none;
  position: absolute;
  width: 100%;
  z-index: 2;
}


.analysis-v3-fulfillment-day {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: end;
  min-width: 36px;
}


.analysis-v3-fulfillment-day i {
  background: #0ea5e9;
  border-radius: 4px 4px 0 0;
  width: 48%;
}


.analysis-v3-market-composition {
  display: grid;
  gap: 3px;
  grid-template-columns: repeat(30, minmax(24px, 1fr));
  height: 210px;
  margin-top: 10px;
  overflow-x: auto;
}


.analysis-v3-market-day {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: end;
  min-width: 24px;
}


.analysis-v3-market-day > div {
  display: flex;
  flex-direction: column-reverse;
  max-height: calc(100% - 28px);
  width: 70%;
}


.analysis-v3-market-day-total {
  flex: 0 0 15px;
  font-variant-numeric: tabular-nums;
  line-height: 15px;
  min-height: 15px;
  white-space: nowrap;
}


.analysis-v3-market-day-date {
  flex: 0 0 13px;
  font-variant-numeric: tabular-nums;
  line-height: 13px;
  min-height: 13px;
  white-space: nowrap;
}


.analysis-v3-market-day i { min-height: 0; }

.analysis-v3-market-day .ordinary { background: #94a3b8; }

.analysis-v3-market-day .watched { background: #8b5cf6; }

.analysis-v3-market-day .self-store { background: #16a34a; }

.analysis-v3-market-day .identity-unknown {
  background: repeating-linear-gradient(135deg, #b8ad98 0 4px, #e6ded0 4px 8px);
}

.analysis-v3-market-day strong,
.analysis-v3-market-day span,
.analysis-v3-market-day small { font-size: 9px; }


.analysis-v3-group-manual {
  align-items: end;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}


.analysis-v3-group-policy-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 10px;
}


.analysis-v3-group-policy-grid label {
  background: #fffaf0;
  border: 1px solid #ead9b2;
  border-radius: 10px;
  display: grid;
  gap: 6px;
  padding: 10px;
}


.analysis-v3-group-policy-grid output {
  font-size: 18px;
  font-weight: 700;
}


.analysis-v3-group-policy-grid small {
  color: #746d61;
}


.analysis-v3-section-title {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: space-between;
}


.analysis-v3-window-tabs,
.analysis-v3-breakdown-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-start;
}


.analysis-v3-window-tabs .secondary-button,
.analysis-v3-breakdown-categories .secondary-button,
.analysis-v3-trend-tabs .secondary-button {
  min-height: 32px;
  padding: 5px 9px;
}


.analysis-v3-window-tabs .is-active,
.analysis-v3-breakdown-categories .is-active,
.analysis-v3-trend-tabs .is-active {
  background: #6f5314;
  color: #fff;
}


.analysis-v3-metric-button {
  background: #fffaf0;
  border: 1px solid #d7b45e;
  border-radius: 10px;
  display: grid;
  gap: 4px;
  padding: 9px;
  text-align: left;
}


.analysis-v3-metric-button:hover,
.analysis-v3-market-layer:hover {
  background: #fff1c9;
}


.analysis-v3-market-layer[data-market-layer="ordinary"]:hover { background: #e7ebef; }

.analysis-v3-market-layer[data-market-layer="self_store"]:hover { background: #dcf2e4; }

.analysis-v3-market-layer[data-market-layer="watched"]:hover { background: #e9ddfb; }


.analysis-v3-metric-button small,
.analysis-v3-coverage-note {
  color: #746d61;
}


.analysis-v3-trend-open {
  justify-self: start;
}


.analysis-v3-detail-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}


.analysis-v3-detail-actions > small {
  color: #746d61;
}


.analysis-v3-crawl-toggle {
  align-items: center;
  display: inline-flex;
  gap: 8px;
  margin: 0;
}


.analysis-v3-market-merchant-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 10px;
}


.analysis-v3-market-merchant-filters label {
  align-items: center;
  background: #fffaf0;
  border: 1px solid #ead9b2;
  border-radius: 999px;
  display: inline-flex;
  gap: 5px;
  padding: 5px 8px;
}


.analysis-v3-breakdown-dialog {
  border: 1px solid #d9bc73;
  border-radius: 16px;
  max-height: 84vh;
  padding: 0;
  width: min(760px, 94vw);
}


.analysis-v3-breakdown-dialog::backdrop {
  background: rgb(30 25 14 / 52%);
}


.analysis-v3-breakdown-dialog > header {
  align-items: center;
  background: #fff;
  display: flex;
  justify-content: space-between;
  padding: 14px 16px 8px;
}


.analysis-v3-breakdown-sticky {
  background: #fff;
  display: grid;
  gap: 8px;
  padding: 8px 0;
  position: sticky;
  top: 0;
  z-index: 3;
}


.analysis-v3-breakdown-list {
  display: grid;
  gap: 7px;
  margin: 8px 0 12px;
}


.analysis-v3-breakdown-row {
  align-items: center;
  background: #fffaf0;
  border: 1px solid #ead9b2;
  border-radius: 9px;
  display: grid;
  gap: 6px;
  grid-template-columns: minmax(160px, 1fr) auto auto;
  padding: 9px;
}


.analysis-v3-breakdown-row > div {
  display: grid;
}


.analysis-v3-breakdown-row > small {
  grid-column: 1 / -1;
}

  .analysis-v3-reference-grid {
    grid-template-columns: repeat(3, minmax(100px, 1fr));
  }


  .analysis-v3-reading-toolbar,
  .analysis-v3-reading-main-layout,
  .analysis-v3-reading-bottom-layout {
    grid-template-columns: 1fr;
  }


  .analysis-v3-reading-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }


  .analysis-v3-forward-panel {
    grid-template-columns: 1fr;
  }


.analysis-v3-detail-header {
  align-items: start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}


.analysis-v3-detail-header p,
.analysis-v3-detail-header small {
  display: block;
  margin: 4px 0 0;
}


.analysis-v3-metric-grid {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 8px;
}


.analysis-v3-metric-grid > div {
  background: #fffaf0;
  border: 1px solid #ead9b2;
  border-radius: 10px;
  display: grid;
  gap: 4px;
  padding: 9px;
}


.analysis-v3-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}


.analysis-v3-tags > span:not(.analysis-v3-unknown) {
  background: #f5ead0;
  border-radius: 999px;
  padding: 4px 8px;
}


.analysis-v3-unknown {
  color: #746d61;
  font-style: italic;
}


.analysis-v3-weak {
  color: #a35f00;
  display: inline-block;
  margin-left: 3px;
}


.analysis-v3-pending {
  color: #7b5a13;
  display: block;
  margin-top: 3px;
}


.analysis-v3-group-avatar {
  border-radius: 50%;
  height: 36px;
  object-fit: cover;
  width: 36px;
}


.analysis-v3-group-avatar.is-detail {
  height: 52px;
  width: 52px;
}


.ai-analysis-group-cell .analysis-v3-avatar-missing {
  align-items: center;
  background: #f2ead8;
  border-radius: 50%;
  color: #8a806e;
  display: inline-flex;
  flex: 0 0 36px;
  height: 36px;
  justify-content: center;
  width: 36px;
}

  .analysis-v3-toolbar {
    grid-template-columns: minmax(0, 1fr) minmax(170px, 1fr) minmax(140px, 180px) auto;
  }


  .analysis-v3-master-detail {
    grid-template-columns: minmax(0, 1.65fr) minmax(270px, 1fr);
  }

  .analysis-v3-toolbar {
    grid-template-columns: minmax(0, 1fr);
  }


  .analysis-v3-toolbar .pagination-bar,
  .analysis-v3-toolbar > * {
    grid-column: 1;
  }


  .analysis-v3-master-detail {
    display: flex;
    flex-direction: column;
    height: auto;
    min-height: 0;
  }


  .analysis-v3-list-scroll {
    height: 58vh;
    max-height: 58vh;
    min-height: 360px;
  }


  .analysis-v3-detail-scroll {
    height: 58vh;
    max-height: 58vh;
    min-height: 360px;
    overflow: auto;
    position: static;
  }


  .analysis-v3-trend-toolbar {
    grid-template-columns: minmax(0, 1fr);
  }


.analysis-v3-toolbar {
  align-items: stretch;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr);
}

.analysis-v3-toolbar-head {
  align-items: start;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.analysis-v3-title-line {
  align-items: center;
  display: flex;
  gap: 14px;
  min-width: 0;
}

.analysis-v3-toolbar-right {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: 10px;
  justify-content: flex-end;
  min-width: 0;
}

.analysis-v3-toolbar-actions {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: 8px;
}

.analysis-v3-inline-status {
  color: #456252;
  flex: 1 1 auto;
  font-size: 12px;
  min-height: 18px;
  min-width: 0;
  text-align: right;
}

.analysis-v3-inline-status.is-error {
  color: #b42318;
  font-weight: 800;
}

.analysis-v3-filter-row {
  align-items: end;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(220px, 1fr) minmax(135px, 165px) minmax(155px, 190px) repeat(3, auto);
}

.analysis-v3-filter-row--group {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.analysis-v3-group-filter-controls {
  align-items: center;
  display: grid;
  flex: 1 1 650px;
  gap: 10px;
  grid-template-columns: minmax(150px, 280px) minmax(120px, 145px) minmax(110px, 130px) minmax(150px, 170px) auto;
  justify-content: end;
  min-width: 0;
}

.analysis-v3-filter-row > button {
  height: 40px;
  min-width: 88px;
  padding-inline: 16px;
  white-space: nowrap;
  width: auto;
}

.analysis-v3-group-filter-controls > button {
  height: 40px;
  min-width: 88px;
  padding-inline: 16px;
  white-space: nowrap;
  width: auto;
}

.analysis-v3-action-row {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
}

.analysis-v3-avatar-refresh-status {
  color: #456252;
  flex: 1 1 120px;
  font-size: 12px;
  grid-row: 1;
  margin-left: auto;
  min-width: 0;
  overflow: hidden;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.analysis-v3-title-line .analysis-v3-avatar-refresh-status {
  flex: 0 1 auto;
  margin-left: 0;
  max-width: 560px;
  text-align: left;
}

.analysis-v3-avatar-refresh-status.is-error {
  color: #b42318;
  font-weight: 700;
}

.analysis-v3-toolbar .analysis-v3-action-row .pagination-bar,
.analysis-v3-toolbar .analysis-v3-bulk-actions {
  grid-column: auto;
  margin: 0;
}

.analysis-v3-bulk-actions button,
.analysis-v3-action-row .pagination-bar button,
.analysis-v3-filter-row--group .pagination-bar button,
.analysis-v3-forward-panel button {
  min-height: 40px;
  white-space: nowrap;
  width: auto;
}

.analysis-v3-filter-row--group .pagination-bar button,
.analysis-v3-filter-row--group .page-size-control select {
  height: 38px;
  min-height: 38px;
}

.analysis-v3-filter-row--group .page-size-control select {
  min-width: 64px;
}

.analysis-v3-filter-row--group .pagination-bar {
  align-items: center;
  flex: 0 0 auto;
  flex-wrap: nowrap;
  gap: 8px;
  grid-row: auto;
  justify-content: flex-start;
  margin: 0;
  min-width: 0;
}

.analysis-v3-group-list-meta {
  align-items: end;
  display: grid;
  gap: 4px;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(18px, auto) auto;
  justify-items: end;
  min-width: 0;
}

.analysis-v3-filter-row--group .pagination-info {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.analysis-v3-filter-row--group .page-size-control {
  align-items: center;
  flex-direction: row;
  gap: 6px;
  white-space: nowrap;
}

.analysis-v3-filter-row--group .page-size-control span {
  line-height: 16px;
}

  #viewRangeForm,
  .analysis-v3-filter-row,
  .relay-config-toolbar,
  .relay-route-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .analysis-v3-toolbar-head,
  .formal-daily-store-config-head {
    align-items: stretch;
    flex-direction: column;
  }

  .analysis-v3-toolbar-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .analysis-v3-title-line {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .analysis-v3-filter-row--group {
    align-items: stretch;
    flex-direction: column;
  }

  .analysis-v3-group-filter-controls {
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  .analysis-v3-filter-row--group .pagination-bar {
    justify-content: flex-start;
    width: 100%;
  }

  .analysis-v3-action-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .analysis-v3-forward-panel { grid-template-columns: minmax(0, 1fr); }


.asset-group-primary .analysis-v3-detail-scroll {
  background: #fffdf7;
  box-shadow: 0 10px 28px rgba(77, 61, 25, 0.08);
}


  .asset-group-primary .analysis-v3-list-scroll {
    height: 58vh;
    max-height: 640px;
    min-height: 360px;
    overflow: auto;
  }


  .asset-group-primary .analysis-v3-detail-scroll {
    height: 58vh;
    max-height: 640px;
    min-height: 360px;
    overflow: auto;
    position: static;
  }


.analysis-v3-group-window-tabs .analysis-v3-group-custom-days {
  align-items: stretch;
  display: inline-flex;
  flex: 0 0 auto;
  gap: 6px;
  height: 40px;
}


.analysis-v3-group-window-tabs .analysis-v3-group-custom-days label,
.analysis-v3-group-window-tabs .analysis-v3-group-custom-days input {
  align-items: center;
  background: #fffdf7;
  border: 1px solid #ead9b2;
  border-radius: 10px;
  box-sizing: border-box;
  color: #53645c;
  display: flex;
  height: 40px;
  margin: 0;
}


.analysis-v3-group-window-tabs .analysis-v3-group-custom-days label {
  padding: 0 12px;
  white-space: nowrap;
}


.analysis-v3-group-window-tabs .analysis-v3-group-custom-days input {
  flex: 0 0 64px;
  min-width: 64px;
  padding: 0 10px;
  width: 64px;
}


.analysis-v3-group-score-help {
  color: #536274;
  font-size: 12px;
  line-height: 1.5;
  margin: 8px 0 0;
}


.asset-merchant-filter-row .analysis-v3-inline-status {
  min-height: 18px;
  overflow: hidden;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}


.asset-merchant-master-detail .analysis-v3-detail-scroll {
  max-width: 620px;
}


  .asset-merchant-filter-row .analysis-v3-inline-status {
    grid-column: 1 / -1;
    text-align: left;
  }


.dynamic-group-table .analysis-v3-group-tags-col {
  width: 124px;
}


.analysis-v3-group-tag-list {
  align-items: center;
  display: flex;
  flex-wrap: nowrap;
  gap: 2px;
  max-height: none;
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
}


.analysis-v3-market-layer-wrap {
  display: grid;
  gap: 6px;
}


.analysis-v3-market-children {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
  padding-left: 10px;
}


.analysis-v3-market-child {
  align-items: center;
  background: color-mix(in srgb, var(--merchant-tag-color, #64748b) 10%, #fff);
  border: 1px solid color-mix(in srgb, var(--merchant-tag-color, #64748b) 45%, #fff);
  border-radius: 8px;
  color: #293241;
  display: grid;
  gap: 8px;
  height: auto;
  justify-content: space-between;
  line-height: 1.2;
  min-height: 38px;
  overflow: visible;
  padding: 7px 8px;
  text-align: left;
  white-space: normal;
}


.analysis-v3-market-child > strong,
.analysis-v3-market-child > span {
  color: inherit;
  min-width: 0;
  overflow-wrap: anywhere;
  position: static;
  text-overflow: ellipsis;
  white-space: normal;
}


.analysis-v3-market-child > span {
  flex: 0 0 auto;
  font-weight: 800;
}


.analysis-v3-rank-missing {
  color: #536274;
  display: inline-block;
  line-height: 1.15;
}


.analysis-v3-rank-reason {
  color: #536274;
  font-size: 12px;
  line-height: 1.45;
}


.analysis-v3-rank-reason p {
  margin: 4px 0 0;
}


.analysis-v3-fulfillment-chart {
  grid-template-columns: repeat(30, minmax(0, 1fr));
  overflow: visible;
}


.analysis-v3-fulfillment-day {
  min-width: 0;
  position: relative;
}


.analysis-v3-fulfillment-day::after {
  background: #173728;
  border-radius: 7px;
  bottom: 34px;
  box-shadow: 0 8px 22px rgba(23, 55, 40, .2);
  color: #fff;
  content: attr(data-fulfillment-tooltip);
  display: none;
  font-size: 11px;
  font-weight: 400;
  left: 50%;
  line-height: 1.45;
  min-width: 130px;
  padding: 7px 9px;
  pointer-events: none;
  position: absolute;
  text-align: left;
  transform: translateX(-50%);
  white-space: pre-line;
  z-index: 8;
}


.analysis-v3-fulfillment-day:hover::after,
.analysis-v3-fulfillment-day:focus-visible::after {
  display: block;
}


.analysis-v3-fulfillment-day:first-child::after {
  left: 0;
  transform: none;
}


.analysis-v3-fulfillment-day:last-child::after {
  left: auto;
  right: 0;
  transform: none;
}


.analysis-v3-fulfillment-value {
  font-size: 10px;
  font-variant-numeric: tabular-nums;
  font-weight: 400;
  line-height: 14px;
  min-width: 3ch;
  text-align: center;
  white-space: nowrap;
  writing-mode: horizontal-tb;
}


.analysis-v3-fulfillment-date {
  font-size: 9px;
  height: 13px;
  line-height: 13px;
  overflow: visible;
  white-space: nowrap;
}


.analysis-v3-fulfillment-stack {
  align-items: stretch;
  display: flex;
  flex-direction: column-reverse;
  width: 54%;
}


.analysis-v3-fulfillment-stack i {
  border-radius: 0;
  width: 100%;
}


.analysis-v3-fulfillment-stack i:first-child {
  border-radius: 0 0 4px 4px;
}


.analysis-v3-fulfillment-stack i:last-child {
  border-radius: 4px 4px 0 0;
}


.analysis-v3-fulfillment-stack .is-actual { background: #0ea5e9; }

.analysis-v3-fulfillment-stack .is-gap { background: #ef4444; }

.analysis-v3-fulfillment-stack .is-over { background: #22c55e; }


.analysis-v3-fulfillment-tag-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}


.analysis-v3-fulfillment-tag-tabs .secondary-button {
  background: color-mix(in srgb, var(--merchant-tag-color, #64748b) 8%, #fff);
  border-color: color-mix(in srgb, var(--merchant-tag-color, #64748b) 38%, #e5d4a7);
  min-height: 30px;
  padding: 4px 9px;
}


.analysis-v3-fulfillment-tag-tabs .secondary-button.is-active {
  background: color-mix(in srgb, var(--merchant-tag-color, #8b6a10) 20%, #fff);
  border-color: var(--merchant-tag-color, #8b6a10);
  color: #173728;
}


#dynamicGroupDetailPanel .analysis-v3-detail-content { container-type: inline-size; }


.analysis-v3-market-day .tagged {
  background: var(--market-segment-color, #8b5cf6);
}


.analysis-v3-market-merchant-filters label {
  background: color-mix(in srgb, var(--merchant-tag-color, #8a6900) 8%, #fffaf0);
  border-color: color-mix(in srgb, var(--merchant-tag-color, #8a6900) 34%, #ead9b2);
}


.analysis-v3-breakdown-summary {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
  margin: 8px 0 12px;
}


.analysis-v3-breakdown-summary > div {
  background: #fffaf0;
  border: 1px solid #ead9b2;
  border-radius: 9px;
  display: grid;
  gap: 4px;
  padding: 8px;
}


.analysis-v3-breakdown-summary span {
  color: #746d61;
  font-size: 12px;
}


.analysis-v3-breakdown-row {
  grid-template-columns: minmax(160px, 1fr) auto auto auto;
}


  .asset-merchant-master-detail .analysis-v3-detail-scroll {
    height: 58vh;
    max-height: 640px;
    max-width: none;
    min-height: 360px;
    overflow: auto;
    position: static;
  }


  .asset-merchant-filter-row > button,
  .asset-merchant-filter-row .analysis-v3-inline-status {
    width: 100%;
  }


  .asset-merchant-filter-row .analysis-v3-inline-status {
    text-align: left;
  }


  .merchant-tag-create-panel,
  .merchant-tag-create-fields,
  .merchant-tag-manager-row,
  .merchant-tag-fulfillment-row,
  .merchant-tag-fulfillment-target,
  .analysis-v3-merchant-group-row.is-compact {
    grid-template-columns: 1fr;
  }


/* Group trend: a fixed 24-hour overview and one shared daily date axis. */
.analysis-v3-group-hour-chart {
  grid-template-columns: repeat(24, minmax(0, 1fr));
  gap: 2px;
  overflow: visible;
}

.analysis-v3-group-hour-chart .analysis-v3-hour { min-width: 0; }

.analysis-v3-group-hour-chart .analysis-v3-hour-values { width: 100%; white-space: normal; overflow-wrap: anywhere; }

.analysis-v3-group-hour-chart .analysis-v3-hour-lines { width: 100%; }

.analysis-v3-daily-legend { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 10px; font-size: 12px; }

.analysis-v3-daily-legend span { display: inline-flex; align-items: center; gap: 5px; }

.analysis-v3-daily-legend i { display: inline-block; width: 18px; height: 3px; }

.analysis-v3-daily-legend .post-legend { background: #d39f27; height: 10px; }

.analysis-v3-daily-legend .merchant-legend { background: #8b5cf6; }

.analysis-v3-daily-legend .reading-legend { background: #0ea5e9; }

.analysis-v3-daily-legend .reading-mean-legend { border-top: 3px dashed #0ea5e9; }

.analysis-v3-combined-daily-chart { display: block; height: 270px; width: 100%; min-width: 0; overflow: visible; }

.analysis-v3-combined-daily-plot {
  display: grid;
  grid-template-columns: repeat(var(--trend-days), minmax(0, 1fr));
  width: 100%;
  min-width: 0;
  height: 250px;
  position: relative;
}

.analysis-v3-combined-daily-plot .analysis-v3-daily-lines { top: 0; bottom: auto; height: 222px; width: 100%; min-width: 0; }

.analysis-v3-combined-daily-plot .analysis-v3-market-day { position: relative; height: 250px; min-width: 0; }

.analysis-v3-combined-daily-plot .analysis-v3-market-day-total,
.analysis-v3-combined-daily-plot .analysis-v3-market-day-date { position: absolute; width: max-content; }

.analysis-v3-combined-daily-plot .analysis-v3-market-day-total { bottom: 13px; }

.analysis-v3-combined-daily-plot .analysis-v3-market-day-date { bottom: 0; }

.analysis-v3-combined-daily-plot .analysis-v3-market-day:first-child > span { left: 0; }

.analysis-v3-combined-daily-plot .analysis-v3-market-day:last-child > span { right: 0; }

.analysis-v3-combined-daily-plot .analysis-v3-market-day > div { position: absolute; bottom: 28px; max-height: 222px; }

.analysis-v3-combined-daily-plot .analysis-v3-market-day.is-partial > div { opacity: .65; }

.analysis-v3-combined-daily-plot .post-actual { background: #d39f27; }

.analysis-v3-combined-daily-plot .analysis-v3-daily-lines circle { fill: currentColor; stroke: none; }

.analysis-v3-combined-daily-plot .merchant-line { color: #8b5cf6; }

.analysis-v3-combined-daily-plot .reading-line { color: #0ea5e9; }


.analysis-v3-trend-tooltip-row[hidden], .analysis-v3-tooltip-pager[hidden] { display: none; }

.analysis-v3-tooltip-pager { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 8px; pointer-events: auto; }

.analysis-v3-tooltip-pager button { padding: 4px 8px; }

[data-analysis-recommendation-pane="automationGroupScore"] .analysis-v3-toolbar-head > div {
  min-width: 0;
}

#assetGroupsView .analysis-v3-toolbar-head { flex-wrap: wrap; }

#assetGroupsView .analysis-v3-toolbar-head > div:first-child { flex: 1 1 280px; min-width: 0; }

#assetGroupsView .analysis-v3-toolbar-right { flex: 1 1 600px; flex-wrap: wrap; }

#assetGroupsView .analysis-v3-toolbar-actions { flex: 1 1 auto; flex-wrap: wrap; justify-content: flex-end; }

#assetGroupsView .analysis-v3-toolbar-actions button { white-space: nowrap; }

  #assetGroupsView .analysis-v3-toolbar-actions, #assetMerchantsView .asset-merchant-actions { justify-content: flex-start; }

  #assetGroupsView .analysis-v3-toolbar-head > div:first-child,
  #assetGroupsView .analysis-v3-toolbar-right { flex: 0 1 auto; width: 100%; }

  #assetGroupsView .analysis-v3-toolbar-actions { flex-direction: row; width: 100%; }

  #assetGroupsView .analysis-v3-toolbar-actions button { width: auto; flex: 1 1 135px; }


.analysis-v3-daily-lines .reading-max-line,
.analysis-v3-daily-lines .reading-min-line { stroke: #dc2626; }

.analysis-v3-daily-lines .reading-min-line { stroke-dasharray: 4 3; }

.analysis-v3-daily-legend .reading-max-legend { background: #dc2626; }

.analysis-v3-daily-legend .reading-min-legend { border-top: 3px dashed #dc2626; }


.analysis-v3-daily-legend .daily-line-toggle { display: inline-flex; align-items: center; gap: 5px; padding: 3px 5px; border: 0; border-radius: 4px; background: transparent; color: inherit; box-shadow: none; font: inherit; cursor: pointer; }

.analysis-v3-daily-legend .daily-line-toggle.is-muted { color: #9ca3af; }

.analysis-v3-daily-legend .daily-line-toggle.is-muted i { filter: grayscale(1); opacity: .45; }

.analysis-v3-daily-legend .daily-line-toggle:focus-visible { outline: 2px solid #9b6a13; outline-offset: 2px; }


.analysis-v3-trend-tooltip-row:is(.metric-reading-max, .metric-reading-min) > :is(span, strong) { color: #dc2626; }

.analysis-v3-trend-tooltip-row:is(.metric-reading-p50, .metric-reading-mean) > :is(span, strong) { color: #0ea5e9; }

.analysis-v3-trend-tooltip-row.metric-merchant > :is(span, strong) { color: #8b5cf6; }
.analysis-v3-reading-card + .analysis-v3-reading-card { margin-top: 18px; }
.analysis-v3-reading-card details { overflow-x: auto; }
.reading-insights { color: #403921; }
.reading-insights .analysis-v3-reading-toolbar { display: flex; flex-wrap: wrap; padding: 10px 14px; gap: 10px; }
.reading-insights .analysis-v3-reading-toolbar > strong { margin-right: auto; }
.reading-insights .analysis-v3-reading-toolbar nav { margin: 0; flex-shrink: 0; }
.reading-insights h4 { margin: 0; font-size: 15px; line-height: 1.5; color: #624b16; }
.reading-insights p { margin: 6px 0 0; line-height: 1.5; font-size: 12px; }
.reading-insights .reading-insights-caption { color: #6e706d; font-size: 12px; line-height: 1.5; }
.reading-insights-summaries { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.reading-insights-summary { padding: 12px 14px; border: 1px solid #e9d9b4; border-radius: 9px; background: #fffcf4; min-width: 0; }
.reading-insights-summary > div { display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; }
.reading-insights-summary strong { font-size: 14px; color: #654d17; }
.reading-insights-summary span { font-size: 12px; color: #7a7567; }
.reading-insights-summary b { margin-left: auto; font-size: 21px; font-variant-numeric: tabular-nums; color: #304631; }
.reading-insights-summary p { color: #777264; overflow-wrap: anywhere; }
.reading-insights-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(290px, 30%); gap: 16px; align-items: start; }
.reading-insights-charts, .reading-insights-sidebar { display: grid; gap: 14px; min-width: 0; }
.reading-insights-chart, .reading-insights-card { border: 1px solid #eadbb9; border-radius: 9px; padding: 12px; min-width: 0; background: #fff; }
.reading-insights-chart header p { color: #737266; }
.reading-insights-legend { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; margin: 12px 0 4px; color: #7a7567; font-size: 11px; }
.reading-insights-legend span { display: inline-flex; align-items: center; gap: 5px; }
.reading-insights-legend span:not(:last-child)::before { content: ""; width: 18px; display: inline-block; }
.reading-legend-p50::before { border-top: 3px solid #806014; }
.reading-legend-mean::before { border-top: 3px dashed #668d49; }
.reading-legend-band::before { height: 8px; background: rgba(217, 174, 66, .18); border: 1px solid #e5c783; border-radius: 3px; }
.reading-insights-plot { position: relative; }
.reading-insights .analysis-v3-reading-age-svg { display: block; width: 100%; min-width: 0; height: auto; overflow: visible; }
.reading-insights-hit { fill: transparent; cursor: pointer; }
.reading-insights [data-reading-point]:hover .reading-insights-hit,
.reading-insights [data-reading-point]:focus .reading-insights-hit,
.reading-insights [data-reading-point].is-selected .reading-insights-hit { fill: rgba(217, 174, 66, .09); }
.reading-insights [data-reading-point]:focus { outline: none; }
.reading-insights [data-reading-point]:focus-visible .reading-insights-hit { stroke: #806014; stroke-width: 1; }
.reading-insights-tooltip { position: absolute; z-index: 10; max-width: min(310px, 100%); width: max-content; padding: 10px 12px; border: 1px solid #d8bd78; border-radius: 7px; background: #fffcf3; box-shadow: 0 5px 18px #3b2d1726; pointer-events: none; color: #413b2d; font-size: 12px; box-sizing: border-box; }
.reading-insights [hidden] { display: none !important; }
.reading-insights-card > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 6px; flex-wrap: wrap; }
.reading-insights-card > header > span { font-size: 11px; color: #777264; }
.reading-insights-switch { display: flex; gap: 4px; }
.reading-insights-switch button { border: 1px solid #e8d7af; border-radius: 5px; color: #756745; background: #fff; font-size: 11px; padding: 4px 7px; cursor: pointer; height: auto; min-height: 26px; box-shadow: none; }
.reading-insights-switch button[aria-pressed="true"] { background: #79601e; border-color: #79601e; color: #fff; }
.reading-insights table,
.reading-insights table.analysis-table { width: 100%; min-width: 0; table-layout: auto; border-collapse: collapse; font-size: 12px; font-variant-numeric: tabular-nums; }
.reading-insights table th:nth-child(n), .reading-insights table td:nth-child(n) { width: auto; min-width: 0; max-width: none; position: static; }
.reading-insights table thead { position: static; }
.reading-insights th, .reading-insights td { padding: 5px 6px; border-bottom: 1px solid #f0e7d5; text-align: right; white-space: nowrap; }
.reading-insights th { font-weight: 500; color: #7b715d; }
.reading-insights th:first-child, .reading-insights td:first-child { text-align: left; }
.reading-insights .is-selected td { background: #fff4d9; }
.reading-insights [data-reading-select] { border: 0; background: transparent; padding: 0; height: auto; min-height: 0; box-shadow: none; border-radius: 0; cursor: pointer; font: inherit; color: #69551d; text-decoration: underline; text-decoration-color: #dec998; text-underline-offset: 3px; }
.reading-insights-bucket-info { background: #faf8f1; border-radius: 6px; padding: 9px; margin-top: 9px; font-size: 12px; }
.reading-insights dl { margin: 5px 0 0; font-size: 12px; font-variant-numeric: tabular-nums; }
.reading-insights dl > div { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 3px 0; }
.reading-insights dt { color: #777264; }
.reading-insights dd { margin: 0; text-align: right; overflow-wrap: anywhere; }
.reading-insights-counts dd { font-weight: 600; }
.reading-insights-missing { display: flex; align-items: baseline; gap: 8px; margin-top: 8px; font-size: 12px; }
.reading-insights-missing > span { flex-shrink: 0; color: #777264; }
.reading-insights-missing p { margin: 0; display: flex; flex-wrap: wrap; gap: 4px; }
.reading-insights-missing p > span { background: #fbf1d9; color: #806427; border-radius: 4px; padding: 1px 5px; }
.reading-insights details { margin-top: 9px; font-size: 12px; overflow-x: auto; }
.reading-insights details > summary { cursor: pointer; color: #766125; margin-bottom: 7px; }
.reading-exposure h4 small { font-size: 11px; font-weight: 400; margin-left: 6px; color: #777264; }
.reading-exposure-result { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; margin: 12px 0 6px; }
.reading-exposure-result > strong { font-size: 19px; color: #425b35; }
.reading-exposure-result > span { font-size: 12px; color: #777264; }
.reading-exposure-slots { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 8px; margin: 12px 0; }
.reading-exposure-slot { padding: 9px; border: 1px solid #e8dfca; border-radius: 6px; background: #fcfbf7; font-size: 12px; font-variant-numeric: tabular-nums; }
.reading-exposure-slot > div { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 5px; }
.reading-exposure-slot > span { color: #777264; font-size: 11px; }
.reading-exposure-slot.is-leading { border-color: #aebf92; background: #f1f7e9; }
.reading-exposure-slot:focus-visible { outline: 2px solid #806014; outline-offset: 2px; }
@media (max-width: 1000px) {
  .reading-insights-layout { grid-template-columns: minmax(0, 1fr); }
  .reading-insights-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
  .reading-insights .analysis-v3-reading-age-svg { min-width: 620px; }
  .reading-insights-scroll { overflow-x: auto; }
}
@media (max-width: 600px) {
  .reading-insights-summaries, .reading-insights-sidebar { grid-template-columns: minmax(0, 1fr); }
  .reading-insights .analysis-v3-reading-toolbar { flex-wrap: wrap; }
  .reading-insights-summary b { font-size: 18px; }
}
#readingDateFields { border: 1px solid #dec995; border-radius: 10px; padding: 16px; }
#readingDateFields label { display: inline-flex; flex-direction: column; gap: 6px; margin: 6px 12px 6px 0; }

/* Stable plan uses a full-width form, not the generic filter toolbar grid. */
.stable-reading-plan-panel.tool-panel { display: block; padding: 20px; }
.stable-reading-plan-panel > header { margin-bottom: 18px; }
.stable-reading-plan-panel > header p, .stable-reading-hint { color: #737b72; font-size: 13px; line-height: 1.6; margin: 8px 0; }
#stableReadingPlanHost .crawl-v2-form { padding: 0; }
#stableReadingForm .crawl-v2-form-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 16px; }
#stableReadingForm label, #stableReadingForm input, #stableReadingForm select { min-width: 0; }
#stableReadingForm .crawl-v2-form-actions { justify-content: flex-start; flex-wrap: wrap; gap: 8px; margin: 18px 0; }
.stable-reading-run { padding: 16px; border: 1px solid #e5dcc5; border-radius: 10px; background: #fcfaf4; }
.stable-reading-run header { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.stable-reading-run header span, .stable-reading-timing p { color: #737b72; font-size: 12px; }
.stable-reading-run dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 16px 0; }
.stable-reading-run dt { font-size: 12px; color: #737b72; }
.stable-reading-run dd { margin: 6px 0 0; font-weight: 700; }
.stable-reading-timing { border-top: 1px solid #e5dcc5; padding-top: 12px; }
.stable-reading-timing > div { display: flex; align-items: baseline; flex-wrap: wrap; gap: 12px; }
.stable-reading-timing strong { font-size: 22px; color: #705513; }
.stable-reading-timing p { margin-bottom: 0; line-height: 1.6; overflow-wrap: anywhere; }
#analysisRecommendationStatus:empty, #stableReadingStatus:empty { display: none; }
@media (max-width: 1100px) { #stableReadingForm .crawl-v2-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
  .stable-reading-plan-panel.tool-panel { padding: 14px; }
  #stableReadingForm .crawl-v2-form-grid { grid-template-columns: minmax(0, 1fr); }
  .stable-reading-run dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.stable-reading-progress-line { line-height: 1.8; font-size: 15px; }
.stable-reading-progress-label { display: flex; justify-content: space-between; gap: 12px; font-size: 12px; color: #737b72; }
.stable-reading-run progress { display: block; width: 100%; height: 12px; margin: 8px 0; accent-color: #a57a16; }
.stable-reading-run dd { overflow-wrap: anywhere; }
.stable-reading-run details { font-size: 12px; margin: 12px 0; }
#stableReadingProgressStatus:empty { display: none; }

#stableReadingForm .datetime-combo { display: grid; grid-template-columns: minmax(120px, 1fr) repeat(3, 50px); gap: 4px; min-width: 0; }
#stableReadingForm .datetime-combo-select { padding: 0 3px; }
#dailyPrepareForm { padding: 0; margin: 18px 0; }
#dailyPrepareForm .crawl-v2-form-grid { max-width: 620px; grid-template-columns: minmax(120px, 1fr) minmax(180px, 2fr); align-items: start; }
#dailyPrepareEnabled { width: 20px; height: 20px; justify-self: start; margin: 8px 0; }
#dailyPrepareForm .time-combo { display: grid; grid-template-columns: repeat(2, 72px); gap: 8px; }
#dailyPrepareForm .datetime-combo-select { padding: 0 8px; }
#dailyPrepareForm .datetime-combo-select:last-child { display: none; }
@media (max-width: 600px) { #dailyPrepareForm .crawl-v2-form-grid { grid-template-columns: minmax(0, 1fr); } }
