.route-switch button:disabled,
.route-switch button.is-locked {
  cursor: not-allowed;
  opacity: .42;
  box-shadow: none;
}

/* Customer analytics scoreboard v2 — approved local design. */
.detail-modal.is-analytics {
  width: min(1120px,calc(100vw - 44px)) !important;
  font-family: -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
}
.detail-modal.is-analytics .detail-modal-card {
  height: min(724px,calc(100vh - 48px)) !important;
  min-height: 0 !important;
  max-height: calc(100vh - 48px) !important;
  padding: 18px 24px 12px !important;
  overflow: hidden !important;
}
.detail-modal.is-analytics .modal-head {
  min-height: 50px !important;
  margin: 0 0 12px !important;
}
.detail-modal.is-analytics .modal-head h2 {
  max-width: 900px;
  font-size: 20px !important;
  line-height: 28px !important;
  font-weight: 650;
}
.detail-modal.is-analytics .modal-head p {
  margin-top: 3px !important;
  color: #697386;
  font-size: 13px !important;
  line-height: 20px !important;
}
.detail-modal.is-analytics .detail-modal-card > #modalCustomerBody {
  display: block !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  flex: 1 1 auto !important;
}
.analytics-scoreboard {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 0;
  gap: 10px;
  flex-direction: column;
}
.analytics-scoreboard-grid {
  display: grid;
  min-height: 0;
  gap: 22px;
  grid-template-columns: 334px minmax(0,1fr);
  flex: 1 1 auto;
}
.analytics-score-column {
  display: flex;
  min-width: 0;
  min-height: 0;
  gap: 14px;
  flex-direction: column;
}
.analytics-score-panel,
.analytics-score-funnel,
.analytics-insight-panel {
  min-width: 0;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: #fff;
}
.analytics-score-panel {
  padding: 20px;
  background: #f5f6f7;
}
.analytics-score-panel > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.analytics-score-panel > header span {
  color: #697386;
  font-size: 14px;
  line-height: 20px;
}
.analytics-score-panel > header b {
  padding: 5px 8px;
  border-radius: 999px;
  background: #e6f4ee;
  color: #18865b;
  font-size: 12px;
  line-height: 18px;
  font-weight: 650;
}
.analytics-score-value {
  display: flex;
  margin-top: 14px;
  align-items: end;
}
.analytics-score-value strong {
  color: #17191c;
  font-size: 62px;
  line-height: .9;
  letter-spacing: -.04em;
}
.analytics-score-value span {
  margin: 0 0 5px 7px;
  color: #697386;
  font-size: 13px;
}
.analytics-score-track {
  position: relative;
  display: grid;
  height: 7px;
  margin-top: 20px;
  border-radius: 999px;
  grid-template-columns: 40fr 30fr 30fr;
}
.analytics-score-track i {
  display: block;
  height: 7px;
}
.analytics-score-track i:first-child {
  border-radius: 999px 0 0 999px;
  background: #c7cbd2;
}
.analytics-score-track i:nth-child(2) {
  background: #d6a951;
}
.analytics-score-track i:nth-child(3) {
  border-radius: 0 999px 999px 0;
  background: #5baf8f;
}
.analytics-score-track > b {
  position: absolute;
  top: 50%;
  width: 3px;
  height: 15px;
  border-radius: 2px;
  background: #17191c;
  transform: translate(-50%,-50%);
}
.analytics-score-scale {
  display: flex;
  margin-top: 7px;
  color: #8a94a3;
  font-size: 12px;
  line-height: 18px;
  justify-content: space-between;
}
.analytics-score-panel dl {
  display: grid;
  margin: 18px 0 0;
  border-top: 1px solid #dde1e7;
}
.analytics-score-panel dl > div {
  display: grid;
  padding: 11px 0;
  border-bottom: 1px solid #dde1e7;
  grid-template-columns: 1fr auto;
  align-items: center;
}
.analytics-score-panel dl > div:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
.analytics-score-panel dt {
  color: #697386;
  font-size: 13px;
  line-height: 20px;
}
.analytics-score-panel dd {
  margin: 0;
  color: #17191c;
  font-size: 14px;
  line-height: 20px;
  font-weight: 650;
}
.analytics-score-funnel {
  padding: 16px 17px;
}
.analytics-score-funnel h3,
.analytics-insight-panel h3 {
  margin: 0;
  color: #17191c;
  font-size: 15px;
  line-height: 22px;
}
.analytics-score-funnel > div {
  display: grid;
  margin-top: 16px;
  gap: 13px 8px;
  grid-template-columns: repeat(3,minmax(0,1fr));
}
.analytics-score-funnel article {
  display: grid;
  min-width: 0;
  gap: 7px;
  grid-template-columns: 22px minmax(0,1fr);
  align-items: center;
}
.analytics-score-funnel article > i {
  position: relative;
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border: 1px solid #d3d7de;
  border-radius: 50%;
  color: #8a94a3;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
}
.analytics-score-funnel article.is-reached > i {
  border-color: #18865b;
  background: #18865b;
}
.analytics-score-funnel article.is-reached > i::after {
  width: 7px;
  height: 4px;
  border-bottom: 1.5px solid #fff;
  border-left: 1.5px solid #fff;
  content: "";
  transform: translateY(-1px) rotate(-45deg);
}
.analytics-score-funnel article p {
  min-width: 0;
  margin: 0;
}
.analytics-score-funnel article strong,
.analytics-score-funnel article span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.analytics-score-funnel article strong {
  color: #303741;
  font-size: 13px;
  line-height: 19px;
}
.analytics-score-funnel article span {
  margin-top: 2px;
  color: #8a94a3;
  font-size: 12px;
  line-height: 18px;
}
.analytics-insight-panel {
  display: flex;
  min-height: 0;
  overflow: hidden;
  flex-direction: column;
}
.analytics-insight-panel > header {
  display: flex;
  min-height: 53px;
  padding: 0 18px;
  border-bottom: 1px solid #e5e7eb;
  align-items: center;
}
.analytics-ai-mark {
  display: grid;
  width: 24px;
  height: 24px;
  margin-right: 9px;
  place-items: center;
  border-radius: 8px;
  background: #eef3ff;
  color: #1b4be5;
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
}
.analytics-insight-panel > header > b {
  margin-left: auto;
  padding: 5px 8px;
  border-radius: 999px;
  background: #fff3d9;
  color: #8b5a00;
  font-size: 12px;
  line-height: 18px;
  font-weight: 650;
}
.analytics-insight-scroll {
  min-height: 0;
  padding: 16px 18px 18px;
  overflow-x: hidden;
  overflow-y: auto;
  flex: 1 1 auto;
}
.analytics-conclusion {
  padding: 16px 18px;
  border-radius: 12px;
  background: #eef3ff;
}
.analytics-conclusion p {
  margin: 0;
  color: #27364d;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.72;
  overflow-wrap: anywhere;
}
.analytics-interpretation-grid {
  display: grid;
  margin-top: 18px;
  padding: 18px 0;
  border-top: 1px solid #e5e7eb;
  border-bottom: 1px solid #e5e7eb;
  gap: 24px;
  grid-template-columns: 1fr 1fr;
}
.analytics-interpretation-grid section + section {
  padding-left: 24px;
  border-left: 1px solid #e5e7eb;
}
.analytics-interpretation-grid h4 {
  margin: 0;
  color: #17191c;
  font-size: 14px;
  line-height: 21px;
  font-weight: 650;
}
.analytics-interpretation-grid section:last-child h4 {
  color: #a86500;
}
.analytics-interpretation-grid ul {
  margin: 11px 0 0;
  padding-left: 17px;
  color: #4f5968;
  font-size: 13px;
  line-height: 1.75;
}
.analytics-interpretation-grid li + li {
  margin-top: 7px;
}
.analytics-stage-summary {
  display: grid;
  margin-top: 18px;
  padding: 15px 16px;
  border-radius: 12px;
  background: #f5f6f7;
  grid-template-columns: 126px minmax(0,1fr);
  align-items: center;
}
.analytics-stage-summary > span {
  color: #697386;
  font-size: 12px;
}
.analytics-stage-summary strong {
  color: #17191c;
  font-size: 15px;
  line-height: 21px;
}
.analytics-stage-summary p {
  margin: 4px 0 0;
  color: #697386;
  font-size: 12px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.analytics-data-note {
  margin: 0;
  color: #8a94a3;
  font-size: 12px;
  line-height: 18px;
}
.detail-modal.is-analytics .detail-action-bar {
  min-height: 52px !important;
  margin-top: 10px !important;
  padding-top: 10px !important;
  background: #fff;
}
.detail-modal.is-analytics .detail-action-bar #detailPrimaryAction {
  min-width: 104px;
  min-height: 40px;
  padding: 0 20px;
  border: 1px solid var(--ui-brand,#3e5abd) !important;
  border-radius: 8px;
  background: var(--ui-brand,#3e5abd) !important;
  color: #fff !important;
  box-shadow: 0 4px 10px rgb(62 90 189 / 16%) !important;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
}
.detail-modal.is-analytics .detail-action-bar #detailPrimaryAction:hover {
  border-color: var(--ui-brand-hover,#334ca9) !important;
  background: var(--ui-brand-hover,#334ca9) !important;
}
@media (max-width:760px) {
  .detail-modal.is-analytics {
    width: 100vw !important;
    height: 100dvh;
    margin: 0;
    border-radius: 0 !important;
  }
  .detail-modal.is-analytics .detail-modal-card {
    width: 100%;
    height: 100dvh !important;
    max-height: none !important;
    padding: 14px 13px 10px !important;
  }
  .detail-modal.is-analytics .modal-head {
    min-height: 42px !important;
    margin-bottom: 8px !important;
  }
  .detail-modal.is-analytics .modal-head h2 {
    max-width: calc(100vw - 76px);
    font-size: 17px !important;
    line-height: 24px !important;
  }
  .detail-modal.is-analytics .modal-head p {
    display: none !important;
  }
  .detail-modal.is-analytics .detail-modal-card > #modalCustomerBody {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
  }
  .analytics-scoreboard {
    height: auto;
  }
  .analytics-scoreboard-grid {
    display: block;
  }
  .analytics-score-column {
    gap: 10px;
  }
  .analytics-score-panel {
    padding: 15px;
  }
  .analytics-score-value strong {
    font-size: 48px;
  }
  .analytics-score-panel dl {
    gap: 0;
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
  .analytics-score-panel dl > div {
    display: block;
    padding: 10px 8px 0;
    border-right: 1px solid #dde1e7;
    border-bottom: 0;
    text-align: center;
  }
  .analytics-score-panel dl > div:first-child {
    padding-left: 0;
  }
  .analytics-score-panel dl > div:last-child {
    padding-right: 0;
    border-right: 0;
  }
  .analytics-score-panel dd {
    margin-top: 4px;
    font-size: 13px;
  }
  .analytics-score-funnel {
    margin-bottom: 10px;
    padding: 14px;
  }
  .analytics-score-funnel > div {
    gap: 12px 7px;
  }
  .analytics-insight-panel {
    overflow: visible;
  }
  .analytics-insight-panel > header {
    min-height: 48px;
    padding: 0 14px;
  }
  .analytics-insight-scroll {
    padding: 14px;
    overflow: visible;
  }
  .analytics-conclusion {
    padding: 15px;
  }
  .analytics-conclusion p {
    font-size: 13px;
    line-height: 1.68;
  }
  .analytics-interpretation-grid {
    grid-template-columns: 1fr;
  }
  .analytics-interpretation-grid section + section {
    padding: 15px 0 0;
    border-top: 1px solid #e5e7eb;
    border-left: 0;
  }
  .analytics-interpretation-grid ul {
    font-size: 12px;
  }
  .analytics-stage-summary {
    gap: 7px;
    grid-template-columns: 1fr;
  }
  .analytics-data-note {
    padding: 2px 2px 8px;
    font-size: 12px;
    line-height: 18px;
  }
  .detail-modal.is-analytics .detail-action-bar {
    min-height: 46px !important;
    margin-top: 8px !important;
    padding-top: 8px !important;
  }
}

/* Sales-facing company detail: compact, evidence-first and useful with sparse data. */
#detailModal:not(.is-analytics) { width: min(1060px, calc(100vw - 40px)); }
#detailModal:not(.is-analytics) .detail-modal-card { max-height: calc(100vh - 32px) !important; padding: 20px 24px 14px !important; }
#detailModal:not(.is-analytics) #modalCustomerBody { min-height: 0; max-height: calc(100vh - 170px); overflow-y: auto !important; padding: 0 4px 2px 0 !important; scrollbar-gutter: stable; }
#detailModal:not(.is-analytics) .detail-identity-tags { position: static; justify-content: flex-start; margin: 0 0 12px; }
#detailModal:not(.is-analytics) .detail-identity-tags span { min-height: 24px; padding: 3px 10px; font-size: 12px; font-weight: 500; }
.detail-quick-summary { padding: 15px 17px 16px; border: 1px solid #dbe5fb; border-radius: 14px; background: #f3f6fc; }
.detail-quick-summary header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 8px; }
.detail-quick-summary h3 { margin: 0; color: #17191c; font-size: 15px; font-weight: 600; }
.detail-quick-summary header span { color: #52657d; font-size: 12px; white-space: nowrap; }
.detail-quick-summary p { max-width: 96ch; margin: 0; color: #34445a; font-size: 14px; line-height: 1.75; overflow-wrap: anywhere; }
.detail-overview-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, .85fr); gap: 16px; margin-top: 16px; }
.detail-overview-main,.detail-sales-sidebar { display: grid; align-content: start; gap: 16px; min-width: 0; }
.detail-fact-section,.detail-overview-layout .detail-contact-card,.detail-overview-layout .detail-activity-card,.detail-overview-layout .detail-script-card { margin: 0; padding: 17px 18px; border: 1px solid #e2e7ee; border-radius: 14px; background: #fff; }
.detail-fact-section > header,.detail-overview-layout .detail-activity-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 13px; }
.detail-fact-section h3,.detail-overview-layout .detail-contact-card h3,.detail-overview-layout .detail-activity-card h3,.detail-overview-layout .detail-script-card h3 { margin: 0; color: #17191c; font-size: 15px; font-weight: 600; line-height: 1.4; }
.detail-fact-section header p,.detail-overview-layout .detail-activity-card header p { max-width: 46ch; margin: 0; color: #7a8493; font-size: 12px; line-height: 1.55; text-align: right; }
.detail-fact-section dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border-block-start: 1px solid #edf0f4; }
.detail-fact-section dl > div { display: grid; grid-template-columns: 82px minmax(0,1fr); gap: 8px; padding: 11px 8px 11px 0; border-block-end: 1px solid #edf0f4; }
.detail-fact-section dt,.detail-overview-layout .detail-contact-card dt { color: #7a8493; font-size: 12px; }
.detail-fact-section dd,.detail-overview-layout .detail-contact-card dd { min-width: 0; margin: 0; color: #343a40; font-size: 13px; line-height: 1.55; overflow-wrap: anywhere; }
.detail-source-state { margin-top: 12px; color: #697386; font-size: 12px; line-height: 1.6; }
.detail-overview-layout .detail-contact-card dl { display: grid; grid-template-columns: 1fr; gap: 0; margin: 10px 0 0; }
.detail-overview-layout .detail-contact-card dl > div { display: grid; grid-template-columns: 64px minmax(0,1fr); gap: 10px; padding: 9px 0; border: 0; border-block-end: 1px solid #edf0f4; }
.detail-overview-layout .detail-contact-card dl > div:last-child { border-block-end: 0; }
.detail-compact-empty { display: grid; gap: 5px; margin-top: 10px; padding: 13px 14px; border-radius: 10px; background: #f5f6f7; }
.detail-compact-empty strong { color: #343a40; font-size: 13px; font-weight: 600; }
.detail-compact-empty span { color: #697386; font-size: 12px; line-height: 1.6; }
.detail-overview-layout .detail-activity-card ul,.detail-overview-layout .detail-script-card ol { margin-top: 9px; }
.detail-overview-layout .detail-activity-card li,.detail-overview-layout .detail-script-card li { padding: 9px 0; }
.detail-overview-layout .detail-activity-card li p,.detail-overview-layout .detail-script-card li p { font-size: 13px; line-height: 1.65; }
.detail-overview-layout .detail-script-card li p b { display: block; margin: 0 0 2px; color: #17191c; }
.detail-sales-goal { display: grid; gap: 5px; margin-top: 12px; padding: 12px 13px; border-radius: 10px; background: #f5f6f7; color: #343a40; font-size: 12px; line-height: 1.6; }
.detail-sales-goal b { color: #17191c; font-size: 12px; }
#detailModal:not(.is-analytics) .detail-live-progress { margin: 12px 0 0; }
.feedback-detail-state.is-waiting { color: #b96800; }
.feedback-file-status.is-pending { max-width: 132px; text-align: right; line-height: 1.35; }

@media (max-width: 820px) {
  #detailModal:not(.is-analytics) { width: 100vw; }
  #detailModal:not(.is-analytics) .detail-modal-card { padding: 18px !important; }
  .detail-overview-layout { grid-template-columns: 1fr; }
  .detail-fact-section > header,.detail-overview-layout .detail-activity-card > header { display: block; }
  .detail-fact-section header p,.detail-overview-layout .detail-activity-card header p { margin-top: 4px; text-align: left; }
  .detail-fact-section dl { grid-template-columns: 1fr; }
}

/* OCTANS brand motion is inline so the orbital satellite cannot be flattened
   into a static external image by browser caching or image rendering policy. */
.brand-logo.animated-brand .octans-mark-image {
  overflow: visible;
}
.brand-logo.animated-brand .octans-brand-orbit {
  fill: none;
  stroke: #3e5abd;
  stroke-width: 2.7;
  stroke-linecap: round;
}
.brand-logo.animated-brand .octans-brand-satellite-static {
  display: none;
}

.brand-logo.animated-brand .octans-brand-satellite {
  display: block;
  transform-box: view-box;
  transform-origin: 0 0;
  animation: octans-brand-satellite-orbit 2s linear infinite;
  will-change: transform;
}

@keyframes octans-brand-satellite-orbit {
  0% { transform: translate(332.4px, 129.6px); }
  6.25% { transform: translate(338.9px, 166px); }
  12.5% { transform: translate(324.2px, 207.6px); }
  18.75% { transform: translate(290.6px, 248.1px); }
  25% { transform: translate(243.2px, 281.2px); }
  31.25% { transform: translate(189.2px, 302px); }
  37.5% { transform: translate(136.9px, 307.2px); }
  43.75% { transform: translate(94.2px, 296.1px); }
  50% { transform: translate(67.6px, 270.4px); }
  56.25% { transform: translate(61.1px, 234px); }
  62.5% { transform: translate(75.8px, 192.4px); }
  68.75% { transform: translate(109.4px, 151.9px); }
  75% { transform: translate(156.8px, 118.8px); }
  81.25% { transform: translate(210.8px, 98px); }
  87.5% { transform: translate(263.1px, 92.8px); }
  93.75% { transform: translate(305.8px, 103.9px); }
  100% { transform: translate(332.4px, 129.6px); }
}

@media (max-height: 760px) and (min-width: 821px) {
  #detailModal:not(.is-analytics) .detail-modal-card {
    height: calc(100vh - 20px) !important;
    min-height: 0 !important;
    padding-top: 16px !important;
    padding-bottom: 10px !important;
  }
  #detailModal:not(.is-analytics) .deepseek-detail-layout {
    grid-template-rows: 330px 88px;
    row-gap: 8px;
  }
  #detailModal:not(.is-analytics) .deepseek-detail-main {
    height: 330px;
    grid-template-rows: 132px 190px;
    gap: 8px;
  }
  #detailModal:not(.is-analytics) .deepseek-overview-card { height: 132px; }
  #detailModal:not(.is-analytics) .deepseek-overview-card p { -webkit-line-clamp: 4; }
  #detailModal:not(.is-analytics) .deepseek-signal-section { height: 190px; }
  #detailModal:not(.is-analytics) .deepseek-signal-section li { min-height: 43px; }
  #detailModal:not(.is-analytics) .deepseek-detail-sidebar,
  #detailModal:not(.is-analytics) .deepseek-geo-panel { min-height: 330px; height: auto; }
  #detailModal:not(.is-analytics) .deepseek-visibility-section > div > div { min-height: 48px; }
}

@media (prefers-reduced-motion: reduce) {
  .brand-logo.animated-brand .octans-brand-satellite {
    display: none;
  }
  .brand-logo.animated-brand .octans-brand-satellite-static {
    display: block;
  }
}

/* Homepage workbench rhythm: the five-customer list and team progress share
   one card body, while the rest of the dashboard keeps its original layout. */
#view-home .home-workbench-panel {
  display: flex;
  min-height: 0;
  flex-direction: column;
}
#view-home #mineWorkbenchContent {
  min-height: 0;
}
#view-home .home-team-workbench {
  min-width: 0;
  min-height: 0;
  overflow: auto;
  border-top: 1px solid #e5e7eb;
  background: #fff;
  scrollbar-width: thin;
}
#view-home .home-team-workbench[hidden] {
  display: none !important;
}
#view-home .home-team-workbench .team-progress-table {
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
}
#view-home .home-team-workbench .team-progress-row {
  flex: 1 1 54px;
  grid-template-columns: minmax(120px, 1.35fr) 64px 56px 48px 64px minmax(160px, 1.4fr);
  gap: 10px;
  min-height: 54px;
  padding: 8px 16px;
}
#view-home .home-team-workbench .team-progress-row.is-head {
  flex: 0 0 42px;
  min-height: 42px;
}
#view-home .home-team-workbench .team-rate {
  width: 100%;
  gap: 12px;
}
#view-home .home-team-workbench .team-rate i {
  width: auto;
  flex: 1 1 auto;
}
#view-home .home-team-workbench .team-rate small {
  min-width: 42px;
  flex: 0 0 42px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
#view-home .home-team-workbench {
  overflow: hidden;
}
#view-home .home-team-workbench .team-progress-table {
  min-height: 0;
  max-height: 546px;
  overflow-x: hidden;
  overflow-y: auto;
  flex: 0 1 auto;
  scrollbar-width: thin;
  scrollbar-color: #aeb8c7 transparent;
}
#view-home .home-team-workbench .team-progress-table::-webkit-scrollbar {
  width: 3px;
}
#view-home .home-team-workbench .team-progress-table::-webkit-scrollbar-button {
  display: none;
  width: 0;
  height: 0;
}
#view-home .home-team-workbench .team-progress-table::-webkit-scrollbar-track {
  margin-block: 14px;
  background: transparent;
}
#view-home .home-team-workbench .team-progress-table::-webkit-scrollbar-thumb {
  min-height: 30px;
  border-radius: 999px;
  background: #aeb8c7;
}
#view-home .home-team-workbench .team-progress-table::-webkit-scrollbar-thumb:hover {
  background: #8d98a8;
}
#view-home .home-team-workbench .team-progress-row:not(.is-head) {
  min-height: 84px;
  height: 84px;
  flex: 0 0 84px;
  color: #17191c;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
#view-home .home-team-workbench .team-progress-row.is-head {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #fff;
  font-size: 12px;
  line-height: 18px;
  font-weight: 500;
}
#view-home .home-team-workbench .team-member b {
  color: #17191c;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
}
#view-home .home-team-workbench .team-member small,
#view-home .home-team-workbench .team-rate small {
  color: #697386;
  font-size: 12px;
  line-height: 18px;
  font-weight: 400;
}

@media (min-width: 1181px) {
  #view-home #mineWorkbenchContent,
  #view-home .home-team-workbench {
    flex: 1 1 auto;
  }
  #view-home #mineWorkbenchContent {
    display: flex;
    flex-direction: column;
  }
  #view-home #mineWorkbenchContent[hidden] {
    display: none !important;
  }
  #view-home #homeTasks {
    height: 100%;
    flex: 1 1 auto;
    grid-template-rows: repeat(5, minmax(72px, 1fr));
  }
  #view-home #homeTasks .task-row {
    min-height: 72px !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }
}

@media (max-width: 767px) {
  #view-home .home-team-workbench {
    overflow: visible;
  }
  #view-home .home-team-workbench .team-progress-row {
    flex: none;
    min-height: 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 16px;
  }
  #view-home .home-team-workbench .team-progress-table {
    max-height: none;
    overflow: visible;
  }
  #view-home .home-team-workbench .team-progress-row:not(.is-head) {
    height: auto;
    min-height: 0;
    flex-basis: auto;
  }
}

/* Homepage supervisor entry: integrated into the live OCTANS task-card header. */
#mineWorkbenchContent[hidden] { display: none !important; }
.home-workbench-head {
  min-height: 72px;
  padding: 13px 16px;
  align-items: center;
}
.home-workbench-head > div:first-child { min-width: 0; }
.home-workbench-head h2 { font-size: 16px; }
.home-workbench-head p { margin-top: 4px; }
.home-workbench-head .workbench-tabs {
  display: inline-flex;
  width: auto;
  flex: 0 0 auto;
  gap: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border-color: #d7deec;
  border-radius: 7px;
  background: #fff;
}
.home-workbench-head .workbench-tabs[hidden] { display: none !important; }
.home-workbench-head .workbench-tabs button {
  min-height: 32px;
  padding: 0 18px;
  border: 0;
  border-inline-start: 1px solid #e4e8f0;
  border-radius: 0;
  color: #343a40;
  font-size: 13px;
  box-shadow: none;
}
.home-workbench-head .workbench-tabs button:first-child {
  border-inline-start: 0;
  border-radius: 6px 0 0 6px;
}
.home-workbench-head .workbench-tabs button:last-child {
  border-radius: 0 6px 6px 0;
}
.home-workbench-head .workbench-tabs button.is-active {
  border-color: transparent;
  background: #f0f4ff;
  color: #3157c8;
  box-shadow: inset 0 0 0 1px #b9c9ff;
}
.home-workbench-head .workbench-tabs b {
  min-width: 17px;
  height: 17px;
  margin-inline-start: 3px;
  font-size: 10px;
}
.dashboard-layout.is-management { grid-template-columns: minmax(0, 1fr); }
.dashboard-layout.is-management .dashboard-primary {
  display: grid !important;
  grid-column: 1 / -1;
  grid-template-rows: auto minmax(0, 1fr) !important;
  gap: 0;
}
.dashboard-layout.is-management .home-workbench-panel {
  min-height: 0;
  border-radius: 10px 10px 0 0;
  box-shadow: none;
}
.dashboard-layout.is-management .lower-grid,
.dashboard-layout.is-management #customerDetail { display: none !important; }
.dashboard-layout.is-management .team-workbench,
.dashboard-layout.is-management .pending-workbench {
  min-height: 0;
  margin-top: -1px;
  padding: 16px;
  overflow: hidden;
  border: 1px solid #e1e6ee;
  border-radius: 0 0 10px 10px;
  background: #fff;
}
.dashboard-layout.is-management .team-workbench-head {
  justify-content: flex-end;
  margin-bottom: 12px;
}
.dashboard-layout.is-management .team-workbench-head > div { display: none; }

@media (max-width: 767px) {
  .home-workbench-head { align-items: stretch; flex-direction: column; gap: 12px; }
  .home-workbench-head .workbench-tabs { display: flex; width: 100%; }
  .home-workbench-head .workbench-tabs button { min-width: max-content; flex: 1 1 0; padding-inline: 10px; }
  .dashboard-layout.is-management .team-workbench,
  .dashboard-layout.is-management .pending-workbench { padding: 12px; }
  #view-home .task-row:has(.market-pack-state) {
    min-height: 108px;
    grid-template-columns: 28px minmax(0, 1fr) 58px !important;
    grid-template-rows: auto auto;
    gap: 7px 10px;
  }
  #view-home .task-row:has(.market-pack-state) .task-customer { grid-column: 2; grid-row: 1; }
  #view-home .task-row:has(.market-pack-state) .score { grid-column: 3; grid-row: 1; }
  #view-home .task-row:has(.market-pack-state) .market-pack-state { grid-column: 2; grid-row: 2; }
  #view-home .task-row:has(.market-pack-state) .market-pack-state small { display: none !important; }
  #view-home .task-row:has(.market-pack-state) .task-action { grid-column: 3; grid-row: 2; justify-content: flex-end; margin: 0; }
}

#detailModal.is-analytics #detailPrimaryAction {
  border-color: var(--ui-brand,#3e5abd) !important;
  border-radius: 8px !important;
  background: var(--ui-brand,#3e5abd) !important;
  color: #fff !important;
  box-shadow: 0 4px 10px rgb(62 90 189 / 16%) !important;
}
#detailModal.is-analytics #detailPrimaryAction:hover {
  border-color: var(--ui-brand-hover,#334ca9) !important;
  background: var(--ui-brand-hover,#334ca9) !important;
}

.upload-zone {
  cursor: pointer;
}

.upload-zone:hover {
  border-color: var(--ca-primary);
  background: #f3f6ff;
}

.upload-zone:focus-within {
  outline: 2px solid rgba(62, 90, 189, .18);
  outline-offset: 2px;
}

.customer-tier {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  white-space: nowrap;
  word-break: keep-all;
}

/* Route switching, import feedback and touch conversion states. */
.route-loading {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 40;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid #dbe4f4;
  border-radius: 10px;
  background: rgba(255, 255, 255, .96);
  color: var(--ui-text, #27364d);
  font-size: 12px;
  box-shadow: 0 12px 28px rgba(39, 56, 92, .14);
}
.route-loading[hidden] { display: none; }

.data-loading-screen {
  position: fixed;
  z-index: 100;
  inset: 0 0 0 var(--sidebar);
  display: grid;
  place-items: center;
  background: var(--canvas, #f7f9fc);
}
.data-loading-screen[hidden] { display: none; }
.data-loading-content {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 12px;
  color: var(--muted, #718096);
  text-align: center;
}
.data-loading-mark { display: block; width: 52px; height: 52px; }
.data-loading-content p { margin: 0; color: var(--muted, #718096); font-size: 14px; line-height: 22px; }
.loading-spinner {
  width: 15px;
  height: 15px;
  border: 2px solid #d8e2f7;
  border-top-color: var(--ui-brand, #4c6cda);
  border-radius: 50%;
  animation: route-spin .75s linear infinite;
}

.resource-loading-state {
  display: grid;
  min-height: clamp(280px, 46vh, 440px);
  place-items: center;
  background: radial-gradient(circle at 50% 42%, rgba(76, 108, 218, .055), transparent 34%);
}
.resource-loading-state > div { display: grid; justify-items: center; gap: 12px; padding: 30px; text-align: center; }
.resource-loading-state img { display: block; width: 52px; height: 52px; }
.resource-loading-state p { margin: 0; color: #697386; font-size: 13px; line-height: 20px; }
.resource-filter-empty {
  display: grid !important;
  width: 100%;
  min-height: clamp(280px,46vh,440px);
  padding: 32px;
  place-items: center;
  box-sizing: border-box;
  color: #697386;
  text-align: center;
}
@keyframes route-spin { to { transform: rotate(360deg); } }

.loading-mark { display: block; width: 24px; height: 24px; flex: 0 0 auto; }
.loading-mark-home { width: 52px; height: 52px; margin-bottom: 8px; }

.company-avatar { flex: 0 0 auto; text-transform: none; }
.task-row .company-avatar { width: 30px; height: 30px; }

/* 市场化首页：5家推荐企业自动生成方案的逐家进度。 */
#view-home .task-row:has(.market-pack-state) {
  grid-template-columns: 30px minmax(190px, .9fr) minmax(250px, 1.25fr) 76px minmax(150px, .72fr) 64px !important;
}
.market-pack-state { min-width: 0; }
.market-pack-state > div { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; min-width: 0; }
.market-pack-state strong { color: #283346; font-size: 12px; font-weight: 650; white-space: nowrap; }
.market-pack-state small { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; color: #8290a4; font-size: 11px; white-space: nowrap; }
.market-pack-state small span { margin-left: 3px; color: #56647a; font-variant-numeric: tabular-nums; }
.market-pack-state i { display: block; height: 5px; margin-top: 7px; overflow: hidden; border-radius: 999px; background: #e9edf3; }
.market-pack-state i b { display: block; width: 100%; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#1b4be5,#54a8e8); transform: scaleX(var(--bar-scale,0)); transform-origin: left center; transition: transform .45s ease; }
.market-pack-state.is-ready strong { color: #118255; }
.market-pack-state.is-ready small, .market-pack-state.is-failed small, .market-pack-state.is-pending small { display: block; margin-top: 3px; }
.market-pack-state.is-failed strong { color: #c84444; }
@media (max-width: 1180px) {
  #view-home .task-row:has(.market-pack-state) { grid-template-columns: 28px minmax(170px,1fr) 70px minmax(135px,.8fr) 60px !important; }
  #view-home .task-row:has(.market-pack-state) .task-signal { display: none; }
}

/* 方案访问数据看板：保持真实详情窗口结构，增加纵向空间和可读字号。 */
.detail-modal { width: min(1020px, calc(100vw - 40px)) !important; }
.detail-modal-card {
  height: min(690px, calc(100vh - 32px)) !important;
  min-height: min(620px, calc(100vh - 32px));
  padding: 22px 28px 16px !important;
}
.detail-modal-card .modal-head { margin-bottom: 14px; }
.detail-modal-card .modal-head h2 { font-size: 23px !important; line-height: 32px !important; font-weight: 650; }
.detail-modal-card .modal-head p { margin-top: 6px; font-size: 13px !important; line-height: 20px !important; }
.detail-modal-card > #modalCustomerBody {
  display: flex !important;
  min-height: 0;
  flex: 1 1 auto !important;
  overflow: hidden !important;
}
.proposal-analytics {
  width: 100%;
  height: 100%;
  grid-template-rows: auto minmax(150px, .9fr) minmax(190px, 1.1fr) auto auto;
  gap: 12px;
}
.analytics-metrics article { padding: 13px 16px; }
.analytics-metrics span,.analytics-metrics small { font-size: 13px; line-height: 18px; }
.analytics-metrics strong { font-size: 24px; }
.analytics-metrics strong.is-status { font-size: 18px; }
.analytics-card > header { padding: 13px 16px 10px; }
.analytics-card h3 { font-size: 16px; line-height: 23px; }
.analytics-card header p { font-size: 13px; line-height: 19px; }
.analytics-icon { width: 28px; height: 28px; font-size: 11px; }
.analytics-path ol { padding: 0 16px 12px; }
.analytics-path li { min-height: 38px; }
.analytics-path li strong,.analytics-path li span,.analytics-path time { font-size: 13px; line-height: 19px; }
.analytics-bars { gap: 10px; padding: 2px 16px 12px; }
.analytics-bars > div > div,.analytics-bars b { font-size: 13px; }
.analytics-bars i { height: 7px; }
.analytics-basis { margin: 0 16px 12px; padding: 9px 11px; font-size: 13px; line-height: 19px; white-space: normal; }
.analytics-level { font-size: 13px; }
.analytics-ai-grid article { padding: 13px 16px; }
.analytics-ai-grid article > span,.analytics-ai-grid p,.analytics-ai-grid li,.analytics-ai-grid dt,.analytics-ai-grid dd { font-size: 13px; line-height: 20px; }
.analytics-ai-grid p { margin: 7px 0 10px; -webkit-line-clamp: 4; }
.analytics-ai-grid dl > div { padding: 9px 11px; }
.analytics-recommendation { grid-template-columns: 76px minmax(0,1fr); padding: 11px 14px; }
.analytics-recommendation span,.analytics-recommendation p,.analytics-disclaimer { font-size: 13px; line-height: 20px; }
.analytics-recommendation p { white-space: normal; }
.detail-action-bar { min-height: 48px; margin-top: 12px !important; padding-top: 12px !important; }
@media (max-height: 700px) {
  .detail-modal-card { height: calc(100vh - 20px) !important; min-height: 0; }
  .proposal-analytics { grid-template-rows: auto auto auto auto auto; }
}
.resource-table .data-row { grid-template-columns: 54px minmax(190px, 1.45fr) minmax(120px, 1fr) 78px 72px 108px 102px 80px; }
.resource-table.is-market .data-row { grid-template-columns: 54px minmax(190px, 1.45fr) minmax(120px, 1fr) 78px 72px 108px 102px 80px; }
.resource-table .data-head > span:nth-last-child(-n + 2) { text-align: center; }
.followup-table .data-row { grid-template-columns: 54px minmax(190px, 1.2fr) minmax(120px, .9fr) 100px minmax(135px, 1fr) 108px 150px; }
.tier-cell { display: flex; align-items: center; }
.resource-city-filter { display: inline-flex; min-height: 34px; align-items: center; gap: 6px; padding: 0 10px; border: 1px solid var(--ui-border); border-radius: 10px; background: #fff; color: var(--ui-muted); font-size: 12px; }
.resource-city-filter svg { width: 14px; height: 14px; }
.resource-city-filter select { min-width: 96px; border: 0; outline: 0; background: transparent; color: var(--ui-text); font: inherit; cursor: pointer; }
.resource-city-filter:focus-within { border-color: var(--ui-blue); box-shadow: 0 0 0 2px rgba(27, 75, 229, .12); }
.followup-customer { display: flex !important; align-items: center; gap: 9px; min-width: 0; }
.followup-customer > span { min-width: 0; }
.followup-customer strong, .followup-customer small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.followup-actions { display: flex; align-items: center; justify-content: flex-end; gap: 3px; white-space: nowrap; }
.row-action:disabled, button:disabled { cursor: wait; opacity: .58; }

.import-progress { margin-top: 14px; padding: 12px; border: 1px solid #e2e8f4; border-radius: 9px; background: #fbfcff; }
.import-progress-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--ui-text, #27364d); font-size: 12px; }
.import-progress-head span { color: var(--ui-brand, #4c6cda); font-weight: 800; }
.import-progress-track { height: 7px; margin-top: 10px; overflow: hidden; border-radius: 99px; background: #e9eef8; }
.import-progress-track i { display: block; width: 100%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #7d98ee, #4c6cda); transform: scaleX(var(--progress-scale,0)); transform-origin: left center; transition: transform .25s ease; }
.import-progress p { margin: 8px 0 0; color: var(--ui-text-secondary, #6f7e93); font-size: 11px; line-height: 1.55; }

/* v118: proposal generation progress stays visible above collapsed material groups. */
.material-group-content .solution-progress { min-height: 0; border-color: #d9dde5; background: #f8f9fa; }
.material-group-content .solution-progress-head > span { background: #e8f5ef; color: #18865b; }
.material-group-content .solution-progress-head > b { color: #18865b; }
.material-group-content .solution-progress-track { height: 9px; background: #dcebe4; }
.material-group-content .solution-progress-track i { background: #18865b; transition: transform 100ms linear; }
@media (prefers-reduced-motion:reduce) { .material-group-content .solution-progress-track i { transition: none; } }
.import-steps span.is-complete { color: var(--ui-success, #16834b); }
.import-steps span.is-complete b { background: #dff3e8; color: var(--ui-success, #16834b); }
.import-result { display: flex; align-items: center; gap: 8px; margin-top: 10px; padding: 10px 12px; border-radius: 8px; background: #eff9f2; color: #237b4b; font-size: 11px; }
.import-result strong { font-size: 12px; }
#importModal { width: min(600px, calc(100vw - 28px)); max-height: calc(100vh - 32px); overflow-x: hidden; overflow-y: auto; }
.import-modal-card { width: 100%; box-sizing: border-box; }
.import-result[hidden] { display: none; }
.import-modal-foot { align-items: center; justify-content: space-between; }
.import-modal-foot > div { display: flex; gap: 9px; }
.single-import-trigger { display: inline-flex; min-height: 38px; padding: 0 10px; align-items: center; gap: 7px; border-radius: 8px; color: var(--ui-brand, #4c6cda); font-size: 13px; font-weight: 650; }
.single-import-trigger:hover { background: #eef3ff; }
.single-import-trigger svg { width: 17px; height: 17px; }
.single-import-trigger.is-active { background: #e9efff; }
.single-import-panel { display: grid; margin-top: 14px; padding: 15px; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 12px; border: 1px solid #d9e2f5; border-radius: 10px; background: #f8faff; }
.single-import-panel[hidden] { display: none; }
.single-import-panel > div,.single-import-panel > label { min-width: 0; }
.single-import-panel > div { grid-column: 1 / -1; }
.single-import-panel > div strong { display: block; color: #182230; font-size: 14px; line-height: 21px; }
.single-import-panel > div p { margin: 3px 0 0; color: #667085; font-size: 12px; line-height: 18px; }
.single-import-panel label { display: grid; gap: 6px; }
.single-import-panel label span { color: #344054; font-size: 12px; font-weight: 650; }
.single-import-panel input { width: 100%; min-height: 39px; padding: 0 11px; border: 1px solid #cfd7e6; border-radius: 8px; background: #fff; color: #101828; font: inherit; outline: 0; }
.single-import-panel input:focus { border-color: var(--ui-brand, #4c6cda); box-shadow: 0 0 0 3px rgba(76,108,218,.13); }
.single-import-panel .primary-button { min-height: 39px; white-space: nowrap; }
.single-import-error { grid-column: 1 / -1; margin: -4px 0 0; color: #b42318; font-size: 12px; line-height: 18px; }
@media (max-width: 640px) { .import-modal-foot { align-items: stretch; flex-direction: column; } .import-modal-foot > div { display: grid; grid-template-columns: 1fr 1fr; } .single-import-trigger { justify-content: center; } .single-import-panel { grid-template-columns: 1fr; } .single-import-panel > div,.single-import-panel > label,.single-import-panel .primary-button { grid-column: 1; width: 100%; } }

/* Single resource entry: compact identity correction inside the existing import dialog. */
.single-import-panel { grid-template-columns: 1fr; align-items: stretch; max-height: 420px; overflow-y: auto; padding: 16px; gap: 12px; background: #f8faff; }
.single-import-heading,.single-import-panel > div,.single-import-panel > label,.single-import-panel .primary-button { grid-column: 1; width: 100%; }
.single-kind-switch { display: inline-grid; width: fit-content !important; padding: 3px; grid-template-columns: repeat(3, auto); gap: 2px; border: 1px solid #d7dfec; border-radius: 9px; background: #fff; }
.single-import-panel .single-kind-switch,
.single-import-panel .single-resolve-status,
.single-import-panel .single-candidates,
.single-import-panel .single-legal-field { display: none !important; }
.single-kind-switch button { min-height: 30px; padding: 0 12px; border-radius: 6px; color: #667085; font-size: 12px; font-weight: 650; }
.single-kind-switch button:hover { color: #2849b8; background: #f1f4fb; }
.single-kind-switch button.is-active { color: #fff; background: #4c6cda; box-shadow: 0 1px 2px rgba(37,56,111,.18); }
.single-name-field,.single-legal-field { display: grid; gap: 6px; }
.single-legal-field[hidden] { display: none; }
.single-legal-field small { color: #7b8798; font-size: 11px; line-height: 1.55; }
.single-resolve-status { display: flex !important; width: 100% !important; min-height: 36px; padding: 8px 10px; box-sizing: border-box; align-items: center; gap: 8px; border: 1px solid #e1e6ef; border-radius: 8px; background: #fff; color: #667085; font-size: 11px; line-height: 1.45; }
.single-resolve-status strong { flex: 0 0 auto; color: #344054; font-size: 11px; }
.single-resolve-status.is-loading { color: #4c6cda; border-color: #d8e1fa; background: #f5f7ff; }
.single-resolve-status.is-warning { border-color: #eadfbf; background: #fffaf0; color: #806522; }
.single-resolve-status.is-success { border-color: #cfe9d9; background: #f2faf5; color: #287a4d; }
.single-resolve-status.is-error { border-color: #f1d1ce; background: #fff6f5; color: #b42318; }
.single-candidates { display: grid !important; width: 100% !important; gap: 7px; }
.single-candidates[hidden] { display: none !important; }
.single-candidate-wrap { display: grid; width: 100%; gap: 0; }
.single-candidate { display: flex; width: 100%; min-height: 50px; padding: 9px 10px; box-sizing: border-box; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid #dce3ef; border-radius: 8px; background: #fff; text-align: left; }
.single-candidate:hover,.single-candidate.is-selected { border-color: #8199e5; background: #f5f7ff; box-shadow: 0 0 0 2px rgba(76,108,218,.08); }
.single-candidate span { min-width: 0; }
.single-candidate strong,.single-candidate small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.single-candidate strong { color: #202939; font-size: 12px; }
.single-candidate small { margin-top: 4px; color: #778397; font-size: 11px; }
.single-candidate > b { flex: 0 0 auto; color: #8a6d22; font-size: 10px; font-weight: 650; }
.single-source-links { display: flex !important; width: auto !important; margin: -1px 7px 0; padding: 7px 4px 2px; align-items: center; gap: 9px; overflow: hidden; border-top: 1px solid #edf0f5; color: #8490a1; font-size: 10px; }
.single-source-links span { flex: 0 0 auto; }
.single-source-links a { overflow: hidden; max-width: 170px; color: #4c6cda; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.single-source-links a:hover { text-decoration: underline; }
.single-manual-choice { justify-self: start; padding: 3px 1px; color: #4c6cda; font-size: 11px; font-weight: 650; }
.single-manual-choice:hover { text-decoration: underline; }
.single-import-panel > .primary-button { justify-self: end; width: fit-content; }
.single-entry-grid { display: grid !important; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: end; gap: 10px; }
.single-entry-grid label { min-width: 0; }
.single-entry-or { padding-bottom: 11px; color: #98a2b3; font-size: 11px; }
.single-brand-field input { border-color: #b9c8ef; background: #fbfcff; }
.single-entry-help { margin: -4px 0 0; color: #536ba9; font-size: 11px; line-height: 1.55; }
@media (max-width: 640px) { .single-kind-switch { width: 100% !important; grid-template-columns: repeat(3, 1fr); } .single-import-panel > .primary-button { width: 100%; } }
@media (max-width: 640px) { .single-entry-grid { grid-template-columns: 1fr; } .single-entry-or { padding: 0; text-align: center; } }

/* 客户跟进 2.1.0 final overrides: 保证完整节点轨迹拥有独立的横向空间。 */
.followup-table { min-width: 1160px; }
.followup-table .data-row { grid-template-columns: 36px minmax(178px,1.15fr) minmax(118px,.82fr) minmax(350px,2.35fr) minmax(90px,.72fr) minmax(86px,.74fr) minmax(140px,.9fr); gap: 14px; }
.followup-table .data-row:not(.data-head) { min-height: 112px; padding-top: 13px; padding-bottom: 13px; }
.followup-customer { display: grid !important; align-items: center; }
.followup-customer > span { display: grid; align-content: center; gap: 4px; }
.followup-actions { align-content: center; flex-wrap: wrap; gap: 8px; white-space: normal; }
@media (max-width: 900px) { .followup-table { min-width: 1160px; } }

.touch-modal { width: min(600px, calc(100vw - 30px)); }
.touch-modal .modal-card { padding: 24px; }
.touch-summary { display: flex; align-items: flex-start; gap: 9px; margin-top: 19px; padding: 12px 13px; border: 1px solid #dbe9ff; border-radius: 9px; background: #f4f8ff; color: #33538f; }
.touch-summary .status-dot { margin-top: 4px; }
.touch-summary strong, .touch-summary small { display: block; }
.touch-summary strong { font-size: 12px; }
.touch-summary small { margin-top: 4px; color: #71809a; font-size: 11px; line-height: 1.5; }
.touch-field { position: relative; display: block; margin-top: 17px; }
.touch-field > span { display: block; margin-bottom: 7px; color: #66758a; font-size: 11px; font-weight: 700; }
.touch-field textarea { display: block; width: 100%; resize: vertical; padding: 11px 12px; border: 1px solid #dce4f1; border-radius: 8px; outline: none; background: #fbfcfe; color: #33435b; font: inherit; font-size: 12px; line-height: 1.65; }
.touch-field textarea:focus { border-color: #8da5eb; box-shadow: 0 0 0 3px rgba(76,108,218,.1); }
.touch-field .secondary-button { margin-top: 8px; min-height: 30px; font-size: 11px; }
.touch-link-box { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 16px; padding: 12px 13px; border: 1px solid #dfe5ef; border-radius: 9px; background: #fff; }
.touch-link-box span, .touch-link-box small { display: block; }
.touch-link-box span { color: #33435b; font-size: 11px; font-weight: 700; }
.touch-link-box small { margin-top: 4px; color: #8490a1; font-size: 10px; }
.touch-link-box a { flex: 0 0 auto; color: #4262c3; font-size: 11px; font-weight: 700; text-decoration: none; }
.touch-link-box a:hover { text-decoration: underline; }

@media (max-width: 640px) {
  .data-loading-screen { left: 0; }
  .route-loading { right: 14px; bottom: 14px; left: 14px; justify-content: center; }
  .touch-modal .modal-card { padding: 17px; }
  .touch-link-box { align-items: flex-start; flex-direction: column; gap: 9px; }
  .touch-link-box a { overflow: hidden; max-width: 100%; text-overflow: ellipsis; white-space: nowrap; }
  .followup-actions { justify-content: flex-start; flex-wrap: wrap; }
}

/* frontend-v2 UI unification: preserve the current visual language and make all
   operational controls share one interaction and spacing system. */
.resource-search,
.region-picker-trigger,
.primary-button,
.secondary-button,
.small-select,
.filter-button { min-height: 40px; }

.resource-region-filter { position: relative; flex: 0 0 154px; width: 154px; min-width: 154px; }
.resource-import-filter { position: relative; flex: 0 1 250px; width: 250px; min-width: 190px; }
.region-picker.import-batch-picker { width: 100%; }
.region-picker-trigger.import-batch-trigger { height: 32px; min-height: 32px; }
.region-picker-menu.import-batch-menu { width: 340px; min-width: 340px; max-width: min(340px, calc(100vw - 28px)); }
.import-batch-option { min-height: 44px; padding-block: 5px; }
.import-batch-option-main { display: grid; min-width: 0; gap: 2px; }
.import-batch-option-main strong { overflow: hidden; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.import-batch-option-main small { color: #697386; font-size: 11px; font-weight: 400; }
.import-batch-option.is-selected .import-batch-option-main small { color: #4562b8; }
.region-picker { position: relative; width: 154px; }
.region-picker-trigger {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) 14px;
  align-items: center;
  width: 100%;
  min-width: 0;
  height: 32px;
  min-height: 32px;
  gap: 6px;
  padding: 0 10px;
  border: 1px solid var(--ui-line-strong, #d3d7de);
  border-radius: 10px;
  background: #fff;
  color: var(--ui-text, #17191c);
  font-size: 13px;
  cursor: pointer;
}
.region-picker-trigger > span:not(.region-picker-caret) { color: #697386; }
.region-picker-trigger strong { overflow: hidden; font-weight: 600; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.region-picker-caret { color: #697386; font-size: 16px; transition: transform .16s ease; }
.region-picker.is-open .region-picker-caret { transform: rotate(180deg); }
.region-picker-trigger:hover { border-color: #aab2bf; }
.region-picker-trigger:focus-visible { border-color: #1b4be5; box-shadow: 0 0 0 2px rgba(27,75,229,.12); outline: 0; }
.region-picker-menu {
  position: absolute;
  z-index: 80;
  top: calc(100% + 8px);
  right: auto;
  left: 0;
  width: 188px;
  min-width: 188px;
  max-width: min(188px, calc(100vw - 28px));
  max-height: min(248px, calc(100vh - 180px));
  padding: 6px;
  overflow-y: auto;
  overflow-x: hidden;
  box-sizing: border-box;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(16,24,40,.12);
  scrollbar-width: thin;
  scrollbar-color: #c7ccd4 transparent;
}
.region-picker-menu::-webkit-scrollbar { width: 5px; }
.region-picker-menu::-webkit-scrollbar-track { background: transparent; }
.region-picker-menu::-webkit-scrollbar-thumb { border-radius: 999px; background: #c7ccd4; }
.region-picker-menu::-webkit-scrollbar-thumb:hover { background: #aab2bf; }
.region-picker-menu[hidden] { display: none; }

/* Customer resource filters must float above the table without being clipped. */
#view-resources .resource-panel { overflow: visible; }
#view-resources .resource-toolbar {
  position: relative;
  z-index: 120;
  border-radius: 12px 12px 0 0;
  background: #fff;
}
#view-resources .table-scroll,
#view-resources .table-footer { position: relative; z-index: 1; }
#view-resources .region-picker-menu {
  z-index: 240;
  max-height: min(340px, calc(100vh - 180px));
}
.resource-table { position: relative; }
.resource-table.is-loading::after {
  content: none;
  display: none;
  position: absolute;
  top: 8px;
  right: 12px;
  z-index: 4;
  padding: 5px 9px;
  border: 1px solid #dbe3f4;
  border-radius: 999px;
  background: rgba(255,255,255,.96);
  color: #4562b8;
  font-size: 12px;
  font-weight: 600;
  box-shadow: 0 3px 10px rgba(24,39,75,.08);
}
.followup-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; white-space: nowrap; }
.region-option {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 14px;
  align-items: center;
  width: 100%;
  min-height: 36px;
  padding: 0 8px;
  box-sizing: border-box;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #343a40;
  font-size: 13px;
  text-align: left;
  cursor: pointer;
}
.region-option[hidden] { display: none; }
.region-option:first-child { grid-template-columns: minmax(0, 1fr) 14px; }
.region-option:hover { background: #f5f6f7; }
.region-option.is-selected { background: #eef3ff; color: #1b4be5; font-weight: 600; }
.region-option-label { display: block; min-width: 0; overflow: hidden; writing-mode: horizontal-tb; word-break: keep-all; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.region-option i { width: 6px; height: 10px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; opacity: 0; transform: rotate(45deg); }
.region-option.is-selected i { opacity: 1; }
.region-province { display: block; }
.region-province + .region-province { margin-top: 2px; }
.region-province-toggle {
  display: grid;
  grid-template-columns: 14px minmax(0, 1fr) auto;
  align-items: center;
  width: 100%;
  min-height: 36px;
  gap: 6px;
  padding: 0 8px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #343a40;
  font-size: 13px;
  text-align: left;
  cursor: pointer;
}
.region-province-toggle:hover { background: #f5f6f7; }
.region-province-toggle strong { overflow: hidden; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.region-province-toggle small { color: #a0a7b2; font-size: 11px; }
.region-province-caret,.region-picker-caret { display: inline-block; width: 7px; height: 7px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: rotate(-45deg); transition: transform .16s ease; }
.region-province.is-expanded .region-province-caret { transform: rotate(45deg); }
.region-picker.is-open .region-picker-caret { transform: rotate(225deg); }
.region-child { padding-left: 28px; }
.region-all { margin-bottom: 3px; }
.region-picker-empty { padding: 20px 12px; color: #697386; font-size: 13px; text-align: center; }

.confirm-modal { width: min(430px, calc(100vw - 32px)); }
.confirm-modal-card { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 16px; padding: 24px; }
.confirm-modal-card h2 { margin: 2px 0 6px; color: #17191c; font-size: 18px; }
.confirm-modal-card p { margin: 0; color: #697386; font-size: 14px; line-height: 1.65; }
.confirm-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: #f5f6f7; color: #343a40; }
.confirm-icon svg { width: 20px; height: 20px; }
.confirm-modal-card .modal-foot { display: flex; grid-column: 1 / -1; align-items: center; justify-content: space-between; margin-top: 8px; }
.confirm-actions { display: flex; gap: 9px; margin-left: auto; }
.confirm-actions button { flex: 0 0 auto; }
#confirmAccept[data-tone="danger"] { background: #15171a; color: #fff; }

.export-modal { width: min(720px, calc(100vw - 32px)); }
.export-modal-card { width: 100%; max-width: none; padding: 24px; }
.export-modal .modal-head p { max-width: 42ch; margin: 6px 0 0; color: #697386; font-size: 13px; line-height: 1.55; }
.export-fields { display: grid; gap: 22px; margin-top: 22px; }
.export-field { display: grid; gap: 8px; color: #343a40; font-size: 13px; font-weight: 600; }
.export-field select { width: 100%; height: 42px; padding: 0 12px; border: 1px solid #d3d7de; border-radius: 10px; background: #fff; color: #17191c; font: inherit; font-weight: 400; }
.export-field select:focus-visible { border-color: #1b4be5; box-shadow: 0 0 0 2px rgba(27,75,229,.12); outline: 0; }
.export-field small { color: #697386; font-size: 12px; font-weight: 400; }
.export-tier-field { min-width: 0; margin: 0; padding: 0; border: 0; }
.export-tier-field legend { margin-bottom: 10px; color: #343a40; font-size: 13px; font-weight: 600; }
.export-tier-options { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.export-tier-options label { position: relative; display: flex; min-width: 0; min-height: 70px; align-items: center; gap: 10px; padding: 11px 12px; border: 1px solid #dfe3e9; border-radius: 12px; background: #fff; cursor: pointer; box-sizing: border-box; }
.export-tier-options label:has(input:checked) { border-color: #1b4be5; background: #eef3ff; }
.export-tier-options input { width: 17px; height: 17px; flex: 0 0 auto; accent-color: #1b4be5; }
.export-tier-options b,.export-tier-options small { display: block; min-width: 0; }
.export-tier-options b { color: #17191c; font-size: 13px; }
.export-tier-options small { margin-top: 3px; color: #697386; font-size: 11px; }
.export-error { margin: 8px 0 0; color: #c4322a; font-size: 12px; }
.export-summary { min-height: 22px; padding: 12px 14px; border-radius: 10px; background: #f5f6f7; color: #4f5968; font-size: 13px; line-height: 1.55; }
.export-summary strong { color: #17191c; }
.export-steps{display:grid;grid-template-columns:1fr 42px 1fr 42px 1fr;align-items:center;margin:22px 0 4px;color:#8a94a5;font-size:13px}.export-steps span{display:flex;align-items:center;gap:8px;white-space:nowrap}.export-steps b{width:25px;height:25px;display:grid;place-items:center;border:1px solid #d7dce5;border-radius:50%;font-size:12px}.export-steps i{height:1px;background:#dde2ea}.export-steps .is-active{color:#1b4be5;font-weight:700}.export-steps .is-active b{border-color:#1b4be5;background:#1b4be5;color:#fff}.export-integrity-note{display:flex;gap:9px;padding:11px 13px;border:1px solid #cce6db;border-radius:10px;background:#f0faf6;color:#256b55;font-size:12px;line-height:1.55}.export-integrity-note svg{width:17px;height:17px;flex:0 0 auto}.export-columns{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px;border:1px solid #e1e5eb;border-radius:10px;color:#5f6a7c;font-size:12px}.export-columns strong{margin-right:4px;color:#303948}.export-columns span{padding-right:10px;border-right:1px solid #e2e6ec}.export-generate-stage,.export-complete-stage{padding:26px 0 8px}.export-generate-stage>h3,.export-complete-stage>h3,.export-error-stage h3{text-align:center;margin:0 0 8px;color:#17191c}.export-generate-stage>p,.export-complete-stage>p,.export-error-stage p{text-align:center;margin:0;color:#697386;font-size:13px}.export-spinner{width:42px;height:42px;margin:0 auto 18px;border:3px solid #e4e9f2;border-top-color:#1b4be5;border-radius:50%;animation:export-spin .85s linear infinite}.export-progress-head{display:flex;justify-content:space-between;margin:24px 0 9px;color:#667184;font-size:13px}.export-progress-head strong{color:#1b4be5}.export-progress-track{height:8px;border-radius:4px;background:#edf0f4;overflow:hidden}.export-progress-track i{display:block;width:100%;height:100%;border-radius:4px;background:#1b4be5;transform:scaleX(var(--progress-scale,.08));transform-origin:left center;transition:transform .45s cubic-bezier(.22,1,.36,1)}.export-progress-stats{display:flex;justify-content:center;gap:30px;margin:18px 0;color:#697386;font-size:13px}.export-progress-stats b{margin-right:4px;color:#17191c}.export-current{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;padding:14px 0;border-top:1px solid #e5e8ed;border-bottom:1px solid #e5e8ed}.export-current strong,.export-current small{display:block}.export-current small{margin-top:5px;color:#748095}.export-current>b{color:#1b4be5}.export-phase-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:16px}.export-phase-grid span{padding:10px;border-radius:9px;background:#f5f7fa;color:#718096;font-size:11px}.export-phase-grid b{display:block;margin-bottom:4px;color:#2c3544;font-size:12px}.export-phase-grid .is-active{background:#edf2ff;color:#1b4be5}.export-phase-grid .is-active b{color:#1b4be5}.export-phase-grid .is-done{background:#eff8f4;color:#28735c}.export-background-note{text-align:left!important;margin-top:14px!important;font-size:12px!important}.export-complete-icon{width:52px;height:52px;margin:0 auto 16px;display:grid;place-items:center;border-radius:50%;background:#eaf8f2;color:#16805d}.export-complete-icon svg{width:27px;height:27px}.export-complete-summary{display:grid;grid-template-columns:repeat(3,1fr);margin:22px 0 16px;padding:14px 0;border-top:1px solid #e3e7ed;border-bottom:1px solid #e3e7ed;text-align:center;color:#6d788b;font-size:12px}.export-complete-summary b{display:block;margin-bottom:3px;color:#17191c;font-size:18px}.export-file-row{display:flex;align-items:center;gap:12px;padding:13px 15px;border-radius:10px;background:#f6f8fb}.export-file-row>svg{width:25px;height:25px;color:#1b4be5}.export-file-row strong,.export-file-row small{display:block}.export-file-row small{margin-top:4px;color:#738095}.export-error-stage{padding:35px 0}.export-error-stage h3{color:#b52620}@keyframes export-spin{to{transform:rotate(360deg)}}

@media (max-width: 560px) {
  .export-tier-options { grid-template-columns: 1fr; }
  .export-tier-options label { min-height: 56px; }
  .export-steps{grid-template-columns:1fr 18px 1fr 18px 1fr;font-size:11px}.export-phase-grid{grid-template-columns:1fr 1fr}.export-progress-stats{gap:12px;flex-wrap:wrap}.export-columns span{padding-right:6px}
}

.next-action { align-items: flex-start; }
.next-action strong { order: 1; }
.next-action span { order: 2; color: #697386; }
.relationship-readiness{display:block;width:max-content;max-width:100%;margin-top:5px;padding:2px 7px;border-radius:999px;background:#f5f6f7;color:#697386;font-size:11px;font-style:normal;font-weight:600;line-height:18px}.relationship-readiness.success{background:#edf8f3;color:#18865b}.relationship-readiness.insufficient{background:#fff6e8;color:#9a5a00}
.primary-button:disabled,
.secondary-button:disabled,
.text-button:disabled { cursor: not-allowed; opacity: .5; }
.route-switch button[aria-selected="true"],
.segmented-control button[aria-pressed="true"] { background: #fff; color: #17191c; }

@media (max-width: 760px) {
  .resource-toolbar { align-items: stretch; }
  .filter-actions { width: 100%; }
  .resource-region-filter { width: 100%; }
  .resource-import-filter { width: 100%; }
  .resource-import-filter { flex-basis: 100%; }
  .import-batch-menu { width: min(320px, calc(100vw - 28px)); }
  .region-picker-trigger { width: 100%; }
  .region-picker-menu { right: auto; left: 0; width: min(320px, calc(100vw - 28px)); }
  .confirm-modal-card { grid-template-columns: 36px minmax(0, 1fr); padding: 20px; }
  .confirm-icon { width: 36px; height: 36px; }
}

/* Final readable sizing for the proposal analytics dialog. */
.detail-modal { width: min(1020px,calc(100vw - 40px)) !important; }
.detail-modal-card { height: min(690px,calc(100vh - 32px)) !important; min-height: min(620px,calc(100vh - 32px)); padding: 22px 28px 16px !important; }
.detail-modal-card > #modalCustomerBody { display: flex !important; flex: 1 1 auto !important; overflow: hidden !important; }
.proposal-analytics { width: 100%; height: 100%; grid-template-rows: auto minmax(150px,.9fr) minmax(190px,1.1fr) auto auto; gap: 12px; }
.detail-modal-card .modal-head h2 { font-size: 23px !important; line-height: 32px !important; }
.detail-modal-card .modal-head p,.analytics-metrics span,.analytics-metrics small,.analytics-card header p,.analytics-path li strong,.analytics-path li span,.analytics-path time,.analytics-bars > div > div,.analytics-bars b,.analytics-basis,.analytics-level,.analytics-ai-grid article > span,.analytics-ai-grid p,.analytics-ai-grid li,.analytics-ai-grid dt,.analytics-ai-grid dd,.analytics-recommendation span,.analytics-recommendation p,.analytics-disclaimer { font-size: 13px !important; line-height: 20px !important; }
.analytics-metrics article { padding: 13px 16px; }
.analytics-metrics strong { font-size: 24px; }
.analytics-metrics strong.is-status { font-size: 18px; }
.analytics-card > header { padding: 13px 16px 10px; }
.analytics-card h3 { font-size: 16px; line-height: 23px; }
.analytics-icon { width: 28px; height: 28px; font-size: 11px; }
.analytics-path ol { padding: 0 16px 12px; }
.analytics-path li { min-height: 38px; }
.analytics-bars { gap: 10px; padding: 2px 16px 12px; }
.analytics-bars i { height: 7px; }
.analytics-basis { margin: 0 16px 12px; padding: 9px 11px; white-space: normal; }
.analytics-ai-grid article { padding: 13px 16px; }
.analytics-ai-grid p { margin: 7px 0 10px; -webkit-line-clamp: 4; }
.analytics-ai-grid dl > div { padding: 9px 11px; }
.analytics-recommendation { grid-template-columns: 76px minmax(0,1fr); padding: 11px 14px; }
.analytics-recommendation p { white-space: normal; }
.detail-action-bar { min-height: 48px; margin-top: 12px !important; padding-top: 12px !important; }
@media (max-height:700px) { .detail-modal-card { height: calc(100vh - 20px) !important; min-height: 0; }.proposal-analytics { grid-template-rows:auto auto auto auto auto; } }

/* Proposal conversion analytics: preserve the current visual system while exposing the complete sales funnel. */
.detail-modal.is-analytics .detail-modal-card { height: min(780px,calc(100vh - 24px)) !important; min-height: 0 !important; }
.detail-modal.is-analytics .detail-modal-card > #modalCustomerBody { overflow-y: auto !important; overscroll-behavior: contain; scrollbar-gutter: stable; }
.detail-modal.is-analytics .proposal-analytics { height: auto !important; grid-template-rows: auto auto auto auto auto auto !important; padding-right: 4px; }
.analytics-funnel > header { border-bottom: 1px solid #edf0f4; }
.analytics-context { margin-left: auto; color: #727d8c; font-size: 12px; white-space: nowrap; }
.analytics-funnel-track { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); padding: 12px 16px 15px; }
.analytics-funnel-track article { position: relative; display: flex; min-width: 0; align-items: center; gap: 9px; color: #8a94a3; }
.analytics-funnel-track article:not(:last-child)::after { position: absolute; top: 14px; right: 7px; left: 38px; height: 2px; background: #e3e8f0; content: ""; }
.analytics-funnel-track article.is-reached:not(:last-child)::after { background: #b9ddcf; }
.analytics-funnel-track i { position: relative; z-index: 1; display: grid; width: 28px; height: 28px; place-items: center; flex: 0 0 auto; border: 1px solid #d9e0e9; border-radius: 50%; background: #fff; color: #8a94a3; font-size: 11px; font-style: normal; font-weight: 700; }
.analytics-funnel-track article.is-reached i { border-color: #18865b; background: #18865b; color: #fff; box-shadow: 0 0 0 4px #e9f5f0; }
.analytics-funnel-track article > div { position: relative; z-index: 1; min-width: 0; padding-right: 8px; background: #fff; }
.analytics-funnel-track strong,.analytics-funnel-track span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.analytics-funnel-track strong { color: #303741; font-size: 12px; line-height: 18px; }
.analytics-funnel-track span { color: #8a94a3; font-size: 11px; line-height: 16px; }
.analytics-ai-grid { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
.analytics-path ol { height: auto !important; max-height: 210px; overflow-y: auto !important; }

@media (max-width:760px) {
  .detail-modal.is-analytics { width: 100vw !important; height: 100vh; margin: 0; border-radius: 0 !important; }
  .detail-modal.is-analytics .detail-modal-card { height: 100vh !important; max-height: none !important; padding: 18px 14px 12px !important; }
  .analytics-context { display: none; }
  .analytics-funnel-track { grid-template-columns: repeat(3,minmax(0,1fr)); row-gap: 16px; padding-inline: 13px; }
  .analytics-funnel-track article:nth-child(3)::after { display: none; }
  .analytics-ai-grid { grid-template-columns: 1fr !important; }
}

/* The same dialog has two explicit modes: resource profile and follow-up analytics. */
.detail-modal:not(.is-analytics) { width: min(1120px, calc(100vw - 40px)) !important; }
.detail-modal:not(.is-analytics) .detail-modal-card {
  height: min(820px, calc(100vh - 36px)) !important;
  min-height: min(660px, calc(100vh - 36px)) !important;
  max-height: min(820px, calc(100vh - 36px)) !important;
}
.detail-modal:not(.is-analytics) .detail-modal-card > #modalCustomerBody {
  display: flex !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  flex: 1 1 auto !important;
  flex-direction: column;
  scrollbar-gutter: stable;
}
.detail-modal.is-analytics { width: min(1020px, calc(100vw - 40px)) !important; }
.detail-modal.is-analytics .detail-modal-card {
  height: min(690px, calc(100vh - 32px)) !important;
  min-height: min(620px, calc(100vh - 32px)) !important;
  max-height: min(690px, calc(100vh - 32px)) !important;
}
.detail-modal.is-analytics .detail-modal-card > #modalCustomerBody {
  display: flex !important;
  overflow: hidden !important;
  flex: 1 1 auto !important;
}

/* GEO demand is a complete two-part business explanation, never a clamped excerpt. */
.deepseek-geo-copy { display: grid; gap: 14px; margin-top: 14px; }
.deepseek-geo-copy article { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 11px; align-items: start; padding: 13px 12px; border: 1px solid #dfe7fa; border-radius: 12px; background: #fff; }
.deepseek-geo-copy article > div { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 9px; background: #eef3ff; color: #1b4be5; }
.deepseek-geo-copy article > div svg { width: 17px; height: 17px; }
.deepseek-geo-copy section { min-width: 0; }
.deepseek-geo-copy strong { display: block; margin-bottom: 5px; color: #202634; font-size: 13px; line-height: 20px; }
.deepseek-geo-copy p { display: block !important; margin: 0 !important; overflow: visible !important; color: #596579; font-size: 13px; line-height: 1.75; -webkit-box-orient: initial !important; -webkit-line-clamp: unset !important; }
@media (max-width:760px) { .deepseek-geo-copy article { grid-template-columns: 30px minmax(0,1fr); padding: 12px 10px; }.deepseek-geo-copy article > div { width: 30px; height: 30px; } }
.export-generate-stage > .export-eta { width: max-content; max-width: 100%; margin: 10px auto 0; padding: 5px 10px; border-radius: 999px; background: #eef3ff; color: #1b4be5; font-size: 12px; font-weight: 650; }
@media (prefers-reduced-motion: reduce) { .export-spinner { animation-duration: 1.8s; } }
@media (max-width: 800px) {
  .detail-modal:not(.is-analytics),.detail-modal.is-analytics { width: 100vw !important; height: 100vh; margin: 0; border-radius: 0 !important; }
  .detail-modal:not(.is-analytics) .detail-modal-card,.detail-modal.is-analytics .detail-modal-card { height: 100vh !important; min-height: 0 !important; max-height: none !important; }
  .detail-modal.is-analytics .detail-modal-card > #modalCustomerBody { overflow-y: auto !important; }
}

/* Customer resource details: restore the enterprise profile sheet. */
.detail-modal { width: min(1120px, calc(100vw - 40px)) !important; }
.detail-modal-card {
  display: flex !important;
  width: 100% !important;
  height: min(820px, calc(100vh - 36px)) !important;
  min-height: min(660px, calc(100vh - 36px)) !important;
  max-height: min(820px, calc(100vh - 36px)) !important;
  padding: 24px 28px 18px !important;
  overflow: hidden !important;
  flex-direction: column;
}
.detail-modal-card > #modalCustomerBody {
  display: flex !important;
  min-height: 0 !important;
  margin-top: 8px !important;
  padding-right: 8px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  flex: 1 1 auto !important;
  flex-direction: column;
  scrollbar-gutter: stable;
}
.detail-modal-card .modal-head { min-height: auto; margin-bottom: 0 !important; }
.detail-modal-card .modal-head h2 { max-width: 800px; font-size: 23px !important; line-height: 32px !important; }
.detail-modal-card .modal-head p { margin-top: 2px !important; font-size: 13px !important; line-height: 20px !important; }
@media (max-width: 800px) {
  .detail-modal { width: 100vw !important; height: 100vh; margin: 0; border-radius: 0 !important; }
  .detail-modal-card { height: 100vh !important; min-height: 0 !important; max-height: none !important; padding: 18px !important; }
}

/* Auditable crawl results. */
.crawl-result-button svg{width:16px;height:16px}.crawl-results-card{width:min(1120px,calc(100vw - 48px));max-width:none!important;padding:0!important;overflow:hidden;border-radius:22px!important}.crawl-results-card .modal-head{padding:22px 24px 18px;border-bottom:1px solid var(--ui-border,#e5e9f0)}.crawl-results-card .modal-head h2{margin-top:3px;font-size:22px!important;line-height:30px!important}.crawl-results-card .modal-head p{margin:4px 0 0;color:var(--ui-text-muted,#6b7280);font-size:13px!important;line-height:20px}.crawl-results-eyebrow{color:#1b4be5;font-size:12px;line-height:18px;font-weight:700}.crawl-results-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:16px 24px 12px;overflow:hidden;border:1px solid var(--ui-border,#e5e9f0);border-radius:12px;background:#fafbfc}.crawl-results-summary>div{min-width:0;padding:12px 16px;border-right:1px solid var(--ui-border,#e5e9f0)}.crawl-results-summary>div:last-child{border-right:0}.crawl-results-summary span{display:block;color:var(--ui-text-muted,#6b7280);font-size:12px;line-height:18px}.crawl-results-summary strong{display:block;margin-top:2px;color:var(--ui-text,#151821);font-size:20px;line-height:26px}.crawl-results-filters{display:flex;align-items:center;gap:6px;padding:0 24px 12px}.crawl-results-filters button{min-height:32px;padding:0 12px;border:1px solid var(--ui-border,#e5e9f0);border-radius:8px;background:#fff;color:var(--ui-text-muted,#6b7280);font-size:13px;font-weight:600}.crawl-results-filters button:hover{border-color:#c9d2e3;color:var(--ui-text,#151821)}.crawl-results-filters button.is-active{border-color:#1b4be5;background:#eef3ff;color:#1b4be5}.crawl-results-head,.crawl-result-row{display:grid;grid-template-columns:minmax(220px,1.5fr) 105px minmax(220px,1.35fr) 150px 90px;gap:18px;align-items:center}.crawl-results-head{min-height:38px;margin:0 24px;padding:0 14px;border:1px solid var(--ui-border,#e5e9f0);border-bottom:0;border-radius:10px 10px 0 0;background:#f7f8fa;color:var(--ui-text-muted,#6b7280);font-size:12px;font-weight:700}.crawl-results-list{min-height:210px;max-height:min(46vh,430px);margin:0 24px;overflow-y:auto;border:1px solid var(--ui-border,#e5e9f0);border-radius:0 0 10px 10px;background:#fff}.crawl-result-row{min-height:88px;padding:12px 14px;border-bottom:1px solid #edf0f4}.crawl-result-row:last-child{border-bottom:0}.crawl-result-row:hover{background:#fafbfc}.crawl-company strong{display:block;overflow:hidden;color:var(--ui-text,#151821);font-size:14px;line-height:20px;text-overflow:ellipsis;white-space:nowrap}.crawl-company span,.crawl-company a,.crawl-evidence span,.crawl-contact small,.crawl-error{display:block;margin-top:3px;color:var(--ui-text-muted,#6b7280);font-size:12px;line-height:18px}.crawl-company a{width:max-content;color:#1b4be5;font-weight:600}.crawl-quality{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:3px}.crawl-quality b{font-size:19px;line-height:24px}.crawl-quality span{color:var(--ui-text-muted,#6b7280);font-size:11px}.crawl-quality i{grid-column:1/-1;width:100%;height:4px;overflow:hidden;border-radius:999px;background:#e9edf3}.crawl-quality em{display:block;height:100%;border-radius:inherit;background:#1b4be5}.crawl-contact span{display:block;overflow:hidden;font-size:13px;line-height:19px;text-overflow:ellipsis;white-space:nowrap}.crawl-contact .is-muted{color:var(--ui-text-muted,#6b7280)}.crawl-outcome{display:inline-flex;padding:5px 8px;border-radius:7px;background:#f0f2f5;color:#535d6b;font-size:12px;line-height:18px;font-weight:700}.crawl-outcome-new{background:#eaf8f1;color:#087a4b}.crawl-outcome-updated{background:#eef3ff;color:#1b4be5}.crawl-outcome-review{background:#fff6df;color:#9a6200}.crawl-outcome-rejected,.crawl-outcome-failed{background:#fff0f0;color:#b42318}.crawl-evidence b{display:block;font-size:14px;line-height:20px}.crawl-results-empty{display:grid;min-height:210px;place-items:center;padding:24px;color:var(--ui-text-muted,#6b7280);font-size:14px}.crawl-results-card .modal-foot{margin-top:16px;padding:14px 24px 18px;border-top:1px solid var(--ui-border,#e5e9f0)}.crawl-results-policy{margin-right:auto;color:var(--ui-text-muted,#6b7280);font-size:12px;line-height:18px}
@media(max-width:900px){.crawl-results-card{width:min(760px,calc(100vw - 24px))}.crawl-results-summary{grid-template-columns:repeat(3,1fr)}.crawl-results-summary>div:nth-child(3){border-right:0}.crawl-results-head{display:none}.crawl-results-list{border-radius:10px}.crawl-result-row{grid-template-columns:minmax(0,1fr) 88px}.crawl-contact,.crawl-result-row>div:nth-child(4),.crawl-evidence{grid-column:1/-1}}

/* Follow-up record board — same operational hierarchy as the customer insight dashboard. */
.followup-detail-modal.is-record-board { width:min(1180px,calc(100vw - 40px)); max-width:none; }
.followup-detail-modal.is-record-board .followup-detail-card { display:flex; width:100%; height:min(760px,calc(100vh - 32px)); max-height:calc(100vh - 32px); padding:20px 24px 14px; overflow:hidden; flex-direction:column; font-family:"AIOS UI","Microsoft YaHei UI","Microsoft YaHei","PingFang SC",system-ui,sans-serif; }
.followup-detail-modal.is-record-board .modal-head { flex:0 0 auto; margin:0; padding:0 0 14px; border-bottom:1px solid #e4e8ef; }
.followup-detail-modal.is-record-board .modal-head>div { width:auto !important; min-width:0; flex:1 1 auto; }
.followup-detail-modal.is-record-board .modal-head .icon-button { position:static; margin-left:auto; flex:0 0 32px; }
.followup-detail-modal.is-record-board #followupDetailTitle { max-width:850px; margin:0; overflow:visible; color:#151b2a; font-size:24px !important; line-height:34px !important; font-weight:700; text-overflow:clip; white-space:normal; overflow-wrap:anywhere; }
.followup-detail-modal.is-record-board .modal-head p { margin:3px 0 0; color:#5f6b7d; font-size:14px; line-height:22px; }
.followup-detail-modal.is-record-board .followup-detail-route { display:none !important; }
.followup-detail-modal.is-record-board #followupDetailBody { min-height:0; padding:14px 0 0; overflow:hidden; flex:1 1 auto; }
.followup-detail-modal.is-record-board .modal-foot { flex:0 0 auto; margin-top:12px; padding-top:12px; border-top:1px solid #e4e8ef; }
.followup-record-board { display:grid; height:100%; min-height:0; grid-template-rows:auto minmax(0,1fr); gap:12px; }
.followup-record-summary { display:grid; margin:0; overflow:hidden; border:1px solid #e1e6ee; border-radius:12px; background:#f8fafc; grid-template-columns:repeat(4,minmax(0,1fr)); }
.followup-record-summary>div { min-width:0; padding:10px 14px; border-right:1px solid #e1e6ee; }
.followup-record-summary>div:last-child { border-right:0; }
.followup-record-summary dt { color:#667085; font-size:13px; line-height:20px; }
.followup-record-summary dd { margin:2px 0 0; overflow:hidden; color:#172033; font-size:15px; line-height:22px; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.followup-record-layout { display:grid; min-height:0; gap:12px; grid-template-columns:196px minmax(350px,1fr) 278px; }
.followup-record-nodes,.followup-record-brief,.followup-record-focus { min-width:0; min-height:0; overflow:hidden; border:1px solid #e1e6ee; border-radius:12px; background:#fff; }
.followup-record-focus { overflow-y:auto; scrollbar-gutter:stable; }
.followup-record-nodes>header,.followup-record-brief>header,.followup-record-focus>header { display:flex; min-height:54px; box-sizing:border-box; padding:10px 13px; border-bottom:1px solid #e8ecf2; align-items:center; justify-content:space-between; gap:10px; }
.followup-record-nodes h3,.followup-record-brief h3,.followup-record-focus h3 { margin:0; color:#172033; font-size:15px; line-height:22px; font-weight:650; }
.followup-record-nodes>header span,.followup-record-brief>header>span { max-width:104px; overflow:hidden; color:#667085; font-size:13px; line-height:20px; text-overflow:ellipsis; white-space:nowrap; }
.followup-record-nodes>div { display:grid; padding:7px; gap:2px; }
.followup-record-nodes button { display:flex; width:100%; min-height:58px; padding:8px; border:0; border-radius:9px; background:transparent; align-items:center; gap:9px; color:#344054; text-align:left; cursor:pointer; }
.followup-record-nodes button:hover { background:#f6f8fb; }
.followup-record-nodes button:focus-visible { outline:2px solid var(--node-color); outline-offset:1px; }
.followup-record-nodes button.is-selected { background:var(--node-soft); color:var(--node-color); }
.followup-record-nodes button>i { width:12px; height:12px; box-sizing:border-box; border:2px solid #c7d0dd; border-radius:50%; background:#fff; flex:0 0 auto; }
.followup-record-nodes button.is-done>i,.followup-record-nodes button.is-current>i { border-color:var(--node-color); box-shadow:inset 0 0 0 2px #fff; background:var(--node-color); }
.followup-record-nodes button>span { display:grid; min-width:0; gap:1px; }
.followup-record-nodes button strong { overflow:hidden; color:inherit; font-size:14px; line-height:21px; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.followup-record-nodes button small { color:#667085; font-size:13px; line-height:20px; }
.followup-record-brief { display:grid; grid-template-rows:auto minmax(0,1fr); }
.followup-record-brief>header>div { min-width:0; }
.followup-record-brief>header p { margin:2px 0 0; overflow:hidden; color:#667085; font-size:13px; line-height:20px; text-overflow:ellipsis; white-space:nowrap; }
.followup-record-brief-body { display:grid; min-height:0; padding:16px 18px; overflow-y:auto; align-content:start; scrollbar-gutter:stable; }
.followup-record-brief-body span { display:block; color:#697386; font-size:12px; line-height:18px; font-weight:600; }
.followup-record-brief-body strong { display:block; color:#263247; font-size:14px; line-height:22px; font-weight:650; overflow-wrap:anywhere; }
.followup-record-brief-body p { margin:4px 0 0; color:#667085; font-size:13px; line-height:20px; overflow-wrap:anywhere; }
.followup-record-progress { padding:0 0 16px; border-bottom:1px solid #e8ecf2; }
.followup-record-progress strong { margin-top:5px; color:#172033; font-size:20px; line-height:28px; font-weight:700; }
.followup-record-context { display:grid; border-bottom:1px solid #e8ecf2; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); }
.followup-record-context>section { min-width:0; padding:16px 14px 16px 0; }
.followup-record-context>section+section { padding:16px 0 16px 18px; border-left:1px solid #e8ecf2; }
.followup-record-context strong { margin-top:5px; }
.followup-record-next { margin-top:16px; padding:14px 16px; border-radius:12px; background:#eef3ff; }
.followup-record-next>div>span { color:#1b4be5; }
.followup-record-next>div>strong { margin-top:5px; color:#172033; font-size:16px; line-height:24px; }
.followup-record-next>footer { display:grid; margin-top:12px; padding-top:12px; border-top:1px solid #d8e2fb; grid-template-columns:86px minmax(0,1fr); gap:2px 12px; }
.followup-record-next>footer span { grid-row:1/3; padding-top:1px; }
.followup-record-next>footer strong { color:#344054; }
.followup-record-next>footer p { margin:1px 0 0; }
.followup-record-empty { display:grid; min-height:220px; padding:24px; place-content:center; text-align:center; }
.followup-record-empty strong { color:#344054; font-size:14px; line-height:21px; }
.followup-record-empty p { max-width:34ch; margin:5px auto 0; color:#667085; font-size:14px; line-height:22px; }
.followup-record-focus { display:flex; flex-direction:column; }
.followup-record-focus>header { align-items:flex-start; background:var(--node-soft); border-bottom-color:var(--node-line); }
.followup-record-focus>header>div { min-width:0; }
.followup-record-focus>header h3 { color:var(--node-color); }
.followup-record-focus>header p { margin:3px 0 0; color:#526075; font-size:13px; line-height:20px; }
.followup-record-focus>header>span { padding:3px 8px; border-radius:999px; background:#fff; color:var(--node-color); font-size:13px; line-height:20px; font-weight:650; white-space:nowrap; }
.followup-record-focus>section { padding:13px 14px; border-bottom:1px solid #edf0f4; }
.followup-record-focus>section strong,.followup-record-focus>footer>span { color:#667085; font-size:13px; line-height:20px; font-weight:600; }
.followup-record-focus>section p { margin:5px 0 0; color:#263247; font-size:14px; line-height:22px; }
.followup-record-focus>dl { margin:0; padding:3px 14px; }
.followup-record-focus>dl>div { display:grid; padding:8px 0; border-bottom:1px solid #edf0f4; grid-template-columns:88px minmax(0,1fr); gap:9px; }
.followup-record-focus dt { color:#667085; font-size:13px; line-height:20px; }
.followup-record-focus dd { margin:0; color:#344054; font-size:13px; line-height:20px; font-weight:600; text-align:right; overflow-wrap:anywhere; }
.followup-record-focus>footer { margin-top:auto; padding:11px 14px 13px; background:#fafbfc; }
.followup-record-focus>footer p { margin:4px 0 0; color:#3f4d63; font-size:13px; line-height:20px; overflow-wrap:anywhere; }
.followup-record-focus>footer small { display:block; margin-top:5px; color:#667085; font-size:13px; line-height:20px; overflow-wrap:anywhere; }
.followup-detail-modal.is-record-board .modal-foot button { min-height:40px; font-size:14px; line-height:20px; }
@media(max-width:1040px){.followup-record-layout{grid-template-columns:188px minmax(360px,1fr)}.followup-record-focus{grid-column:1/-1;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(260px,1fr);grid-template-rows:auto auto}.followup-record-focus>header{grid-column:1/-1}.followup-record-focus>dl{grid-column:2;grid-row:2/4}.followup-record-focus>footer{margin-top:0}.followup-detail-modal.is-record-board .followup-detail-card{height:min(840px,calc(100vh - 24px));max-height:calc(100vh - 24px)}}
@media(max-width:760px){.followup-detail-modal.is-record-board{width:100vw;height:100vh;margin:0;border-radius:0}.followup-detail-modal.is-record-board .followup-detail-card{height:100vh;max-height:none;padding:16px 14px 12px}.followup-detail-modal.is-record-board #followupDetailTitle{font-size:20px !important;line-height:28px !important}.followup-detail-modal.is-record-board #followupDetailBody{overflow-y:auto}.followup-record-board{height:auto}.followup-record-summary{grid-template-columns:1fr 1fr}.followup-record-summary>div:nth-child(2){border-right:0}.followup-record-summary>div:nth-child(-n+2){border-bottom:1px solid #e1e6ee}.followup-record-layout{grid-template-columns:1fr}.followup-record-nodes>div{grid-template-columns:1fr 1fr}.followup-record-brief{min-height:360px}.followup-record-context{grid-template-columns:1fr}.followup-record-context>section{padding:16px 0}.followup-record-context>section+section{padding:16px 0;border-top:1px solid #e8ecf2;border-left:0}.followup-record-next>footer{grid-template-columns:1fr}.followup-record-next>footer span{grid-row:auto}.followup-record-focus{display:flex;grid-column:auto;overflow-y:visible}.followup-record-focus>dl{grid-column:auto;grid-row:auto}.followup-detail-modal.is-record-board .modal-foot{flex-wrap:wrap}.followup-detail-modal.is-record-board .modal-foot .primary-button{flex:1 1 100%}}

/* The market crawl result has one business-facing metric: verified new records. */
.crawl-results-overview{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:18px 24px 14px;padding:16px 18px;border-radius:12px;background:#f5f6f7}
.crawl-results-overview>div{display:flex;align-items:baseline;gap:7px}.crawl-results-overview span{color:#697386;font-size:13px}.crawl-results-overview strong{color:#17191c;font-size:28px;line-height:1.1;font-variant-numeric:tabular-nums}.crawl-results-overview b{color:#343a40;font-size:14px}.crawl-results-overview p{margin:0;color:#697386;font-size:13px}.crawl-results-overview p strong{margin:0 3px;font-size:16px}
.crawl-results-table-wrap{min-height:208px;max-height:min(48vh,420px);margin:0 24px;overflow:auto;border:1px solid #e5e7eb;border-radius:12px;background:#fff}
.crawl-results-table{width:100%;border-collapse:collapse;table-layout:fixed}.crawl-results-table th{position:sticky;top:0;z-index:1;height:38px;padding:0 14px;background:#f8f9fa;color:#697386;font-size:12px;font-weight:600;text-align:left}.crawl-results-table th:nth-child(1){width:34%}.crawl-results-table th:nth-child(2){width:22%}.crawl-results-table th:nth-child(3){width:17%}.crawl-results-table th:nth-child(4){width:27%}.crawl-results-table td{min-height:52px;padding:12px 14px;border-top:1px solid #edf0f4;color:#343a40;font-size:13px;line-height:20px;vertical-align:middle;overflow-wrap:anywhere}.crawl-results-table tbody tr:hover{background:#fafbfc}.crawl-results-table a,.crawl-results-table td>strong{color:#17191c;font-weight:600;text-decoration:none}.crawl-results-table a:hover{color:#1b4be5;text-decoration:underline;text-underline-offset:3px}.crawl-results-table .is-pending{color:#8a6100}.crawl-results-table-state{height:208px!important;color:#697386!important;text-align:center!important}.crawl-results-table-state.is-error{color:#c4322a!important}
.crawl-result-simple-foot{align-items:center}
.crawl-result-simple-foot .crawl-results-policy{max-width:560px}
@media(max-width:680px){.crawl-results-overview{align-items:flex-start;flex-direction:column;gap:8px;margin:14px 16px 12px}.crawl-results-table-wrap{margin:0 16px;border:0;overflow:visible}.crawl-results-table,.crawl-results-table tbody,.crawl-results-table tr,.crawl-results-table td{display:block;width:100%}.crawl-results-table thead{display:none}.crawl-results-table tbody{display:grid;gap:8px}.crawl-results-table tr{padding:12px 14px;border:1px solid #e5e7eb;border-radius:12px}.crawl-results-table td{display:grid;grid-template-columns:92px minmax(0,1fr);min-height:0;padding:5px 0;border:0}.crawl-results-table td::before{content:attr(data-label);color:#697386;font-size:12px}.crawl-results-table-state{display:block!important;height:auto!important;min-height:150px;padding:56px 16px!important}.crawl-results-table-state::before{display:none}.crawl-result-simple-foot{align-items:stretch}.crawl-result-simple-foot .crawl-results-policy{max-width:none}}
.crawl-evidence a{display:block;width:max-content;margin-top:3px;color:#1b4be5;font-size:12px;line-height:18px;font-weight:600}

.crawl-result-button[hidden]{display:none!important}
.crawl-results-modal{width:min(1120px,calc(100vw - 48px));max-width:none!important;padding:0!important;border:0!important;overflow:visible!important;background:transparent!important}
.crawl-results-card{display:flex!important;flex-direction:column;width:100%!important;max-height:calc(100vh - 40px);}
.crawl-results-list{min-height:180px;max-height:min(42vh,390px)}
@media(max-width:900px){.crawl-results-modal{width:min(760px,calc(100vw - 24px))}.crawl-results-card{width:100%!important}}


/* Analytics layout authority — keep this block last. */
.detail-modal{width:min(1040px,calc(100vw - 40px))!important}.detail-modal-card{height:min(730px,calc(100vh - 28px))!important;min-height:min(660px,calc(100vh - 28px))!important;padding:22px 28px 16px!important;overflow:hidden!important}.detail-modal-card .modal-head{display:flex!important;align-items:flex-start!important;min-height:50px;margin:0 0 12px!important}.detail-modal-card .modal-head>div{display:block!important;min-width:0}.detail-modal-card .modal-head h2{max-width:760px;overflow:hidden;font-size:22px!important;line-height:30px!important;text-overflow:ellipsis;white-space:nowrap}.detail-modal-card .modal-head p{display:block!important;margin:2px 0 0!important;font-size:13px!important;line-height:20px!important}.detail-modal-card>#modalCustomerBody{display:block!important;min-height:0!important;flex:1 1 auto!important;overflow:hidden!important}.proposal-analytics{display:grid!important;width:100%;height:100%;min-height:0;grid-template-rows:70px 190px minmax(210px,1fr) auto 20px!important;gap:10px!important}.analytics-metrics,.analytics-upper-grid,.analytics-card,.analytics-ai,.analytics-ai-grid,.analytics-ai-grid article{min-height:0}.analytics-metrics article{display:flex;flex-wrap:wrap;align-content:center;padding:10px 16px!important}.analytics-metrics article>span{width:100%}.analytics-upper-grid{grid-template-columns:1.05fr .95fr!important;gap:10px!important}.analytics-card{overflow:hidden}.analytics-card>header{min-height:54px;box-sizing:border-box;padding:10px 15px 8px!important}.analytics-path ol{height:130px;padding:0 15px 8px!important;overflow:hidden}.analytics-path li{min-height:32px!important}.analytics-path li span{white-space:nowrap}.analytics-bars{gap:7px!important;padding:0 15px 7px!important}.analytics-basis{margin:0 15px 8px!important;padding:6px 9px!important;overflow:hidden;font-size:12px!important;line-height:18px!important;text-overflow:ellipsis;white-space:nowrap!important}.analytics-ai{display:grid;grid-template-rows:55px minmax(0,1fr)}.analytics-ai-grid{grid-template-columns:1.2fr .8fr!important;overflow:hidden}.analytics-ai-grid article{padding:12px 15px!important;overflow:hidden}.analytics-ai-grid p{display:-webkit-box;margin:6px 0 9px!important;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3!important}.analytics-ai-grid ul{margin:6px 0 0;padding-inline-start:18px}.analytics-ai-grid li{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.analytics-ai-grid dl>div{padding:7px 9px!important}.analytics-recommendation{min-height:48px;box-sizing:border-box;padding:9px 13px!important}.analytics-recommendation p{display:-webkit-box;overflow:hidden;white-space:normal!important;-webkit-box-orient:vertical;-webkit-line-clamp:2}.analytics-disclaimer{align-self:center;margin:0 2px!important;overflow:hidden;font-size:12px!important;line-height:18px!important;text-overflow:ellipsis;white-space:nowrap}.detail-action-bar{min-height:48px!important;margin-top:10px!important;padding-top:10px!important}
@media(max-height:760px) and (min-width:761px){.detail-modal-card{height:calc(100vh - 18px)!important;min-height:0!important;padding-block:16px 12px!important}.proposal-analytics{grid-template-rows:62px 164px minmax(176px,1fr) auto 18px!important;gap:8px!important}.analytics-card>header{min-height:48px;padding-block:7px!important}.analytics-path ol{height:112px}}

/* Proposal analytics v3 final cascade: stable tracks prevent overlap. */
.detail-modal { width: min(1040px, calc(100vw - 40px)) !important; }
.detail-modal-card { height: min(730px, calc(100vh - 28px)) !important; min-height: min(660px, calc(100vh - 28px)) !important; padding: 22px 28px 16px !important; overflow: hidden !important; }
.detail-modal-card .modal-head { display:flex !important; align-items:flex-start !important; min-height:50px; margin:0 0 12px !important; }
.detail-modal-card .modal-head>div { display:block !important; min-width:0; }
.detail-modal-card .modal-head h2 { max-width:760px; overflow:hidden; font-size:22px !important; line-height:30px !important; text-overflow:ellipsis; white-space:nowrap; }
.detail-modal-card .modal-head p { display:block !important; margin:2px 0 0 !important; font-size:13px !important; line-height:20px !important; }
.detail-modal-card>#modalCustomerBody { display:block !important; min-height:0 !important; flex:1 1 auto !important; overflow:hidden !important; }
.proposal-analytics { display:grid !important; width:100%; height:100%; min-height:0; grid-template-rows:70px 190px minmax(210px,1fr) auto 20px !important; gap:10px !important; }
.analytics-metrics,.analytics-upper-grid,.analytics-card,.analytics-ai,.analytics-ai-grid,.analytics-ai-grid article { min-height:0; }
.analytics-metrics article { display:flex; flex-wrap:wrap; align-content:center; padding:10px 16px !important; }
.analytics-metrics article>span { width:100%; }
.analytics-upper-grid { grid-template-columns:1.05fr .95fr !important; gap:10px !important; }
.analytics-card { overflow:hidden; }
.analytics-card>header { min-height:54px; box-sizing:border-box; padding:10px 15px 8px !important; }
.analytics-path ol { height:130px; padding:0 15px 8px !important; overflow:hidden; }
.analytics-path li { min-height:32px !important; }
.analytics-path li span { text-overflow:ellipsis; white-space:nowrap; }
.analytics-bars { gap:7px !important; padding:0 15px 7px !important; }
.analytics-basis { margin:0 15px 8px !important; padding:6px 9px !important; overflow:hidden; font-size:12px !important; line-height:18px !important; text-overflow:ellipsis; white-space:nowrap !important; }
.analytics-ai { display:grid; grid-template-rows:55px minmax(0,1fr); }
.analytics-ai-grid { grid-template-columns:1.2fr .8fr !important; overflow:hidden; }
.analytics-ai-grid article { padding:12px 15px !important; overflow:hidden; }
.analytics-ai-grid p { display:-webkit-box; margin:6px 0 9px !important; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3 !important; }
.analytics-ai-grid ul { margin:6px 0 0; padding-inline-start:18px; }
.analytics-ai-grid li { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.analytics-ai-grid dl>div { padding:7px 9px !important; }
.analytics-recommendation { min-height:48px; box-sizing:border-box; padding:9px 13px !important; }
.analytics-recommendation p { display:-webkit-box; overflow:hidden; white-space:normal !important; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.analytics-disclaimer { align-self:center; margin:0 2px !important; overflow:hidden; font-size:12px !important; line-height:18px !important; text-overflow:ellipsis; white-space:nowrap; }
.detail-action-bar { min-height:48px !important; margin-top:10px !important; padding-top:10px !important; }
@media (max-height:760px) and (min-width:761px) {
  .detail-modal-card { height:calc(100vh - 18px) !important; min-height:0 !important; padding-block:16px 12px !important; }
  .proposal-analytics { grid-template-rows:62px 164px minmax(176px,1fr) auto 18px !important; gap:8px !important; }
  .analytics-card>header { min-height:48px; padding-block:7px !important; }
  .analytics-path ol { height:112px; }
}

/* Proposal analytics v3 — stable tracks, readable copy and no panel collisions. */
.detail-modal { width: min(1040px, calc(100vw - 40px)) !important; }
.detail-modal-card { height: min(730px, calc(100vh - 28px)) !important; min-height: min(660px, calc(100vh - 28px)) !important; padding: 22px 28px 16px !important; overflow: hidden !important; }
.detail-modal-card .modal-head { display: flex !important; align-items: flex-start !important; min-height: 50px; margin: 0 0 12px !important; }
.detail-modal-card .modal-head > div { display: block !important; min-width: 0; }
.detail-modal-card .modal-head h2 { max-width: 760px; overflow: hidden; font-size: 22px !important; line-height: 30px !important; text-overflow: ellipsis; white-space: nowrap; }
.detail-modal-card .modal-head p { display: block !important; margin: 2px 0 0 !important; font-size: 13px !important; line-height: 20px !important; }
.detail-modal-card > #modalCustomerBody { display: block !important; min-height: 0 !important; flex: 1 1 auto !important; overflow: hidden !important; }
.proposal-analytics { display: grid !important; width: 100%; height: 100%; min-height: 0; grid-template-rows: 70px 190px minmax(210px,1fr) auto 20px !important; gap: 10px !important; }
.analytics-metrics,.analytics-upper-grid,.analytics-card,.analytics-ai,.analytics-ai-grid,.analytics-ai-grid article { min-height: 0; }
.analytics-metrics article { display: flex; flex-wrap: wrap; align-content: center; padding: 10px 16px !important; }
.analytics-metrics article > span { width: 100%; }
.analytics-upper-grid { grid-template-columns: 1.05fr .95fr !important; gap: 10px !important; }
.analytics-card { overflow: hidden; }
.analytics-card > header { min-height: 54px; box-sizing: border-box; padding: 10px 15px 8px !important; }
.analytics-path ol { height: 130px; padding: 0 15px 8px !important; overflow: hidden; }
.analytics-path li { min-height: 32px !important; }
.analytics-path li span { text-overflow: ellipsis; white-space: nowrap; }
.analytics-bars { gap: 7px !important; padding: 0 15px 7px !important; }
.analytics-basis { margin: 0 15px 8px !important; padding: 6px 9px !important; overflow: hidden; font-size: 12px !important; line-height: 18px !important; text-overflow: ellipsis; white-space: nowrap !important; }
.analytics-ai { display: grid; grid-template-rows: 55px minmax(0,1fr); }
.analytics-ai-grid { grid-template-columns: 1.2fr .8fr !important; overflow: hidden; }
.analytics-ai-grid article { padding: 12px 15px !important; overflow: hidden; }
.analytics-ai-grid p { display: -webkit-box; margin: 6px 0 9px !important; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3 !important; }
.analytics-ai-grid ul { margin: 6px 0 0; padding-inline-start: 18px; }
.analytics-ai-grid li { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.analytics-ai-grid dl > div { padding: 7px 9px !important; }
.analytics-recommendation { min-height: 48px; box-sizing: border-box; padding: 9px 13px !important; }
.analytics-recommendation p { display: -webkit-box; overflow: hidden; white-space: normal !important; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.analytics-disclaimer { align-self: center; margin: 0 2px !important; overflow: hidden; font-size: 12px !important; line-height: 18px !important; text-overflow: ellipsis; white-space: nowrap; }
.detail-action-bar { min-height: 48px !important; margin-top: 10px !important; padding-top: 10px !important; }
@media (max-height: 760px) and (min-width: 761px) {
  .detail-modal-card { height: calc(100vh - 18px) !important; min-height: 0 !important; padding-block: 16px 12px !important; }
  .proposal-analytics { grid-template-rows: 62px 164px minmax(176px,1fr) auto 18px !important; gap: 8px !important; }
  .analytics-card > header { min-height: 48px; padding-block: 7px !important; }
  .analytics-path ol { height: 112px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* V4 company intelligence: cached facts first, no decorative progress bar. */
.detail-v4-summary { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid #e3e8f0; border-radius:10px; margin:8px 0 14px; }
.detail-v4-summary div { display:grid; place-items:center; gap:5px; padding:13px; border-inline-end:1px solid #e3e8f0; }
.detail-v4-summary div:last-child { border:0; }
.detail-v4-summary span { color:#697386; font-size:12px; }
.detail-v4-summary strong { color:#126c49; font-size:20px; }
.detail-live-progress { margin: 0 0 14px; padding: 14px 16px; border: 1px solid #d8e0ec; border-radius: 12px; background: #f8fafc; }
.detail-live-progress header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.detail-live-progress header div { display: flex; align-items: baseline; gap: 10px; min-width: 0; }
.detail-live-progress header strong { color: #17191c; font-size: 14px; font-weight: 600; }
.detail-live-progress header span { color: #1b4be5; font-size: 13px; font-weight: 600; }
.detail-live-progress header p { margin: 0; color: #697386; font-size: 12px; line-height: 1.5; text-align: end; }
.detail-live-progress-track { height: 6px; margin-block: 12px; overflow: hidden; border-radius: 999px; background: #e5e9ef; }
.detail-live-progress-track > i { display: block; width: 100%; height: 100%; border-radius: inherit; background: #1b4be5; transform: scaleX(var(--progress-scale,0)); transform-origin: left center; transition: transform .25s ease-out; }
.detail-live-progress ul { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.detail-live-progress li { display: flex; align-items: center; min-width: 0; gap: 6px; color: #7a8493; font-size: 11px; }
.detail-live-progress li i { width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: #c9d0da; }
.detail-live-progress li span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.detail-live-progress li b { display: none; }
.detail-live-progress li.is-running { color: #1b4be5; }
.detail-live-progress li.is-running i { background: #1b4be5; box-shadow: 0 0 0 3px #dfe8ff; }
.detail-live-progress li.is-done { color: #18865b; }
.detail-live-progress li.is-done i { background: #18865b; }
.detail-v4-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr); border:1px solid #e3e8f0; border-radius:10px; overflow:hidden; }
.detail-v4-left { border-inline-end:1px solid #e3e8f0; }
.detail-v4-grid section { padding:16px 18px; border-block-end:1px solid #e3e8f0; }
.detail-v4-grid section:last-child { border-block-end:0; }
.detail-v4-grid h3 { margin:0 0 10px; color:#172033; font-size:15px; }
.detail-v4-grid p { margin:0; color:#404b5d; font-size:13px; line-height:1.65; }
.detail-evidence-list,.detail-presence-list,.detail-provider-list { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.detail-evidence-list li { display:grid; grid-template-columns:100px minmax(0,1fr) 54px; align-items:start; gap:10px; padding:9px 10px; border:1px solid #edf0f4; border-radius:7px; }
.detail-evidence-list li>span { color:#526174; font-size:12px; font-weight:600; }
.detail-evidence-list li p { display:-webkit-box; overflow:hidden; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.detail-evidence-list a { color:#1b5ce5; font-size:12px; text-decoration:none; }
.detail-presence-list li,.detail-provider-list li { display:flex; justify-content:space-between; gap:12px; font-size:13px; }
.detail-presence-list span,.detail-provider-list span { color:#687386; }
.detail-presence-list b { color:#21835e; font-weight:600; }
.detail-provider-list b { color:#21835e; font-size:12px; }
.detail-provider-list b.is-cooldown,.detail-provider-list b.is-needs_login { color:#b46a09; }
.detail-job-state { margin-block-end:10px!important; color:#172033!important; font-weight:600; }
.detail-muted { color:#7a8493!important; }
@media (max-width:900px) { .detail-v4-summary { grid-template-columns:repeat(2,1fr); } .detail-v4-grid { grid-template-columns:1fr; } .detail-v4-left { border:0; } .detail-live-progress header { flex-direction: column; gap: 4px; } .detail-live-progress header p { text-align: start; } .detail-live-progress ul { grid-template-columns: 1fr; } .detail-live-progress li b { display: inline; margin-inline-start: auto; color: inherit; font-weight: 500; } }

/* Keep the customer-detail sheet and its content on the same width. */
.detail-modal {
  width: min(920px, calc(100vw - 32px));
  padding: 0;
  box-sizing: border-box;
}

.detail-modal-card {
  width: 100%;
  max-width: none;
  margin: 0;
  box-sizing: border-box;
}

.detail-modal-card > #modalCustomerBody {
  width: 100%;
  box-sizing: border-box;
}

/* v2.6 enterprise research: useful immediately, progressive by module. */
.detail-modal { width: min(1240px, calc(100vw - 48px)); }
.detail-modal-card { max-height: min(920px, calc(100vh - 40px)); padding: 26px 30px 22px; }
.detail-modal-card > #modalCustomerBody { padding-inline-end: 0; }
.company-detail-intro { padding: 4px 0 18px; }
.company-detail-intro p { max-width: 92ch; margin: 0; color: #343a40; font-size: 14px; line-height: 1.75; }
.detail-analysis-progress { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 14px 0 16px; border-block: 1px solid #e5e7eb; }
.detail-analysis-progress > div { display: flex; align-items: center; gap: 14px; min-width: 0; }
.detail-analysis-progress strong { color: #17191c; font-size: 15px; font-weight: 600; white-space: nowrap; }
.detail-analysis-progress p { margin: 0; color: #697386; font-size: 13px; text-align: end; }
.detail-progress-dots { display: flex; gap: 8px; }
.detail-progress-dots i { width: 10px; height: 10px; border-radius: 50%; background: #dce1e9; }
.detail-progress-dots i.is-done { background: #1c9a68; }
.detail-progress-dots i.is-active { border: 3px solid #dbe8ff; background: #1b4be5; box-sizing: border-box; }
.company-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.company-detail-module { min-width: 0; min-height: 176px; padding: 22px 20px 18px 8px; border-block-end: 1px solid #e5e7eb; }
.company-detail-module:nth-child(odd) { padding-inline-end: 28px; border-inline-end: 1px solid #e5e7eb; }
.company-detail-module:nth-child(even) { padding-inline-start: 28px; }
.company-detail-module header { display: flex; align-items: center; gap: 9px; margin-block-end: 18px; }
.company-detail-module header > svg { width: 22px; height: 22px; flex: 0 0 auto; color: #1b4be5; stroke: currentColor; }
.company-detail-module:nth-child(2) header > svg { color: #7357e8; }
.company-detail-module:nth-child(3) header > svg { color: #18865b; }
.company-detail-module:nth-child(4) header > svg { color: #b96800; }
.company-detail-module:nth-child(5) header > svg { color: #2775c9; }
.company-detail-module:nth-child(6) header > svg { color: #6b57d9; }
.company-detail-module h3 { margin: 0; color: #17191c; font-size: 16px; font-weight: 600; }
.detail-module-status { display: inline-flex; align-items: center; gap: 6px; margin-inline-start: 3px; padding: 4px 9px; border-radius: 999px; font-size: 12px; line-height: 1; font-weight: 500; }
.detail-module-status.is-done { color: #18865b; background: #eaf7f1; }
.detail-module-status.is-analyzing { color: #1b4be5; background: #eef3ff; }
.detail-module-status.is-queued { color: #b96800; background: #fff4e5; }
.detail-module-status.is-empty { color: #697386; background: #f5f6f7; }
.detail-module-status.is-failed { color: #c4322a; background: #fff0ef; }
.detail-spinner { width: 12px; height: 12px; border: 2px dotted currentColor; border-radius: 50%; animation: detail-spinner 1.1s linear infinite; }
@keyframes detail-spinner { to { transform: rotate(360deg); } }
.detail-fact-list,.detail-check-list { display: grid; gap: 12px; margin: 0; }
.detail-fact-list > div,.detail-check-list > div { display: grid; grid-template-columns: 128px minmax(0,1fr); gap: 14px; }
.detail-fact-list dt,.detail-check-list dt { color: #697386; font-size: 14px; }
.detail-fact-list dd,.detail-check-list dd { min-width: 0; margin: 0; color: #343a40; font-size: 14px; overflow-wrap: anywhere; }
.detail-check-list dd { color: #1b4be5; }
.detail-check-list.is-geo dd { color: #b96800; }
.detail-skeleton { display: grid; gap: 10px; margin: 2px 0 18px; }
.detail-skeleton i { width: var(--skeleton-width); height: 14px; border-radius: 7px; background: #edf0f4; overflow: hidden; position: relative; }
.detail-skeleton i::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(255,255,255,.8), transparent); transform: translateX(-100%); animation: detail-shimmer 1.5s ease-in-out infinite; }
@keyframes detail-shimmer { to { transform: translateX(100%); } }
.detail-working-copy,.detail-no-result { margin: 0; color: #4f5968; font-size: 14px; line-height: 1.65; }
.detail-working-copy::after { content: "•••"; float: inline-end; color: #1b4be5; letter-spacing: 4px; }
.detail-action-bar { padding-block-start: 16px; }

@media (max-width: 900px) {
  .detail-modal { width: min(720px, calc(100vw - 24px)); }
  .detail-modal-card { padding: 22px 20px 18px; }
  .detail-analysis-progress { align-items: flex-start; flex-direction: column; gap: 8px; }
  .detail-analysis-progress p { text-align: start; }
  .company-detail-grid { grid-template-columns: 1fr; }
  .company-detail-module:nth-child(n) { padding: 20px 4px; border-inline-end: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .detail-spinner,.detail-skeleton i::after { animation: none; }
}

/* Customer proposal analytics: compact, evidence-led and aligned with the existing detail dialog. */
.detail-modal { width: min(980px, calc(100vw - 40px)); }
.detail-modal-card { height: auto !important; max-height: calc(100vh - 24px) !important; padding: 18px 24px 12px !important; overflow: hidden !important; }
.detail-modal-card .modal-head { margin-bottom: 10px; }
.detail-modal-card .modal-head h2 { margin: 0; color: #17191c; font-size: 22px; line-height: 1.25; }
.detail-modal-card .modal-head p { margin: 5px 0 0; color: #7a8493; font-size: 12px; }
.detail-modal-card > #modalCustomerBody { display: block !important; min-height: 0; margin-top: 4px !important; overflow: hidden !important; padding-right: 0 !important; flex: 0 0 auto !important; scrollbar-gutter: auto !important; }
.proposal-analytics { display: grid; gap: 8px; }
.analytics-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border: 1px solid #e3e8f0; border-radius: 12px; background: #f8fafc; }
.analytics-metrics article { position: relative; min-width: 0; padding: 9px 14px; border-right: 1px solid #e3e8f0; }
.analytics-metrics article:last-child { border-right: 0; }
.analytics-metrics span { display: block; margin-bottom: 3px; color: #7a8493; font-size: 11px; }
.analytics-metrics strong { color: #17191c; font-size: 20px; line-height: 1; }
.analytics-metrics strong.is-status { font-size: 16px; }
.analytics-metrics small { margin-left: 4px; color: #7a8493; font-size: 11px; }
.analytics-upper-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 8px; }
.analytics-card { min-width: 0; border: 1px solid #e3e8f0; border-radius: 12px; background: #fff; }
.analytics-card > header { display: flex; align-items: center; gap: 8px; padding: 9px 13px 7px; }
.analytics-card > header > div { min-width: 0; }
.analytics-card h3 { margin: 0; color: #17191c; font-size: 15px; line-height: 1.35; }
.analytics-card header p { margin: 2px 0 0; color: #8a94a3; font-size: 11px; }
.analytics-icon { display: grid; width: 24px; height: 24px; place-items: center; flex: 0 0 auto; border-radius: 7px; color: #fff; font-size: 9px; font-weight: 700; }
.analytics-icon.is-green { background: #18865b; }
.analytics-icon.is-gold { background: #b96800; }
.analytics-icon.is-blue { background: #1b4be5; }
.analytics-path ol { display: grid; margin: 0; padding: 0 13px 8px; list-style: none; }
.analytics-path li { display: grid; grid-template-columns: 12px minmax(0,1fr) auto; align-items: center; min-height: 31px; gap: 7px; border-top: 1px solid #edf0f4; }
.analytics-path li > i { width: 8px; height: 8px; border: 2px solid #c6ced9; border-radius: 50%; background: #fff; }
.analytics-path li.is-current > i { border-color: #1d8b62; box-shadow: 0 0 0 3px #e6f4ee; }
.analytics-path li div { display: flex; align-items: baseline; min-width: 0; gap: 8px; }
.analytics-path li strong { color: #22262b; font-size: 12px; white-space: nowrap; }
.analytics-path li span { min-width: 0; overflow: hidden; color: #7a8493; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.analytics-path time { color: #8a94a3; font-size: 10px; white-space: nowrap; }
.analytics-bars { display: grid; gap: 7px; padding: 0 13px 7px; }
.analytics-bars > div > div { display: flex; justify-content: space-between; margin-bottom: 6px; color: #525d6d; font-size: 12px; }
.analytics-bars b { color: #2e3948; font-size: 11px; }
.analytics-bars i { display: block; height: 5px; overflow: hidden; border-radius: 999px; background: #edf0f4; }
.analytics-bars em { display: block; height: 100%; border-radius: inherit; background: #1b4be5; }
.analytics-basis { margin: 0 13px 8px; padding: 6px 8px; overflow: hidden; border-radius: 7px; background: #f7f8fa; color: #7a8493; font-size: 9px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.analytics-ai > header { border-bottom: 1px solid #edf0f4; }
.analytics-level { margin-left: auto; padding: 5px 9px; border-radius: 999px; background: #fff3d9; color: #916319; font-size: 11px; font-weight: 600; }
.analytics-ai-grid { display: grid; grid-template-columns: 1.18fr .82fr; }
.analytics-ai-grid article { min-width: 0; padding: 9px 13px; }
.analytics-ai-grid article + article { border-left: 1px solid #edf0f4; }
.analytics-ai-grid article > span { color: #1b4be5; font-size: 11px; font-weight: 700; }
.analytics-ai-grid p,.analytics-ai-grid li { color: #4f5968; font-size: 11px; line-height: 1.48; }
.analytics-ai-grid p { display: -webkit-box; margin: 4px 0 6px; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.analytics-ai-grid ul { display: grid; gap: 3px; margin: 4px 0 0; padding-left: 15px; }
.analytics-ai-grid dl { display: flex; gap: 8px; margin: 0; }
.analytics-ai-grid dl > div { flex: 1; padding: 6px 8px; border-radius: 7px; background: #f7f8fa; }
.analytics-ai-grid dt { color: #8a94a3; font-size: 10px; }
.analytics-ai-grid dd { margin: 3px 0 0; color: #2e3948; font-size: 11px; font-weight: 600; }
.analytics-recommendation { display: grid; grid-template-columns: 64px minmax(0,1fr); align-items: start; gap: 8px; padding: 8px 11px; border: 1px solid #ead5a5; border-radius: 9px; background: #fff9eb; }
.analytics-recommendation span { color: #8f6219; font-size: 12px; font-weight: 700; }
.analytics-recommendation p { margin: 0; overflow: hidden; color: #5b4c31; font-size: 11px; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.analytics-disclaimer { margin: -2px 2px 0; color: #949cab; font-size: 10px; }
.analytics-loading { display: grid; min-height: 420px; place-content: center; justify-items: center; gap: 10px; color: #697386; }
.analytics-loading i { width: 28px; height: 28px; border: 3px solid #e1e6ee; border-top-color: #1b4be5; border-radius: 50%; animation: detail-spinner .9s linear infinite; }
.analytics-loading strong { color: #272c33; font-size: 14px; }
.analytics-loading span { font-size: 12px; }
.detail-action-bar { min-height: 42px; margin-top: 8px !important; padding-top: 8px !important; }
.detail-action-bar #detailPrimaryAction { min-width: 112px; }
.detail-action-bar #detailPrimaryAction { border-color: var(--ui-brand,#3e5abd); background: var(--ui-brand,#3e5abd); color: #fff; }

@media (max-width: 760px) {
  .detail-modal { width: min(calc(100% - 20px), 620px); }
  .detail-modal-card { max-height: calc(100vh - 20px); padding: 20px 16px 14px; }
  .analytics-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .analytics-metrics article:nth-child(2) { border-right: 0; }
  .analytics-metrics article:nth-child(-n+2) { border-bottom: 1px solid #e3e8f0; }
  .analytics-upper-grid,.analytics-ai-grid { grid-template-columns: 1fr; }
  .analytics-ai-grid article + article { border-top: 1px solid #edf0f4; border-left: 0; }
}

/* Readable proposal analytics sizing — intentionally last in the cascade. */
.detail-modal { width: min(1020px,calc(100vw - 40px)) !important; }
.detail-modal-card { height: min(690px,calc(100vh - 32px)) !important; min-height: min(620px,calc(100vh - 32px)); padding: 22px 28px 16px !important; }
.detail-modal-card > #modalCustomerBody { display: flex !important; flex: 1 1 auto !important; overflow: hidden !important; }
.proposal-analytics { width: 100%; height: 100%; grid-template-rows: auto minmax(150px,.9fr) minmax(190px,1.1fr) auto auto; gap: 12px; }
.detail-modal-card .modal-head h2 { font-size: 23px !important; line-height: 32px !important; }
.detail-modal-card .modal-head p,.analytics-metrics span,.analytics-metrics small,.analytics-card header p,.analytics-path li strong,.analytics-path li span,.analytics-path time,.analytics-bars > div > div,.analytics-bars b,.analytics-basis,.analytics-level,.analytics-ai-grid article > span,.analytics-ai-grid p,.analytics-ai-grid li,.analytics-ai-grid dt,.analytics-ai-grid dd,.analytics-recommendation span,.analytics-recommendation p,.analytics-disclaimer { font-size: 13px !important; line-height: 20px !important; }
.analytics-metrics article { padding: 13px 16px; }
.analytics-metrics strong { font-size: 24px; }
.analytics-metrics strong.is-status { font-size: 18px; }
.analytics-card > header { padding: 13px 16px 10px; }
.analytics-card h3 { font-size: 16px; line-height: 23px; }
.analytics-icon { width: 28px; height: 28px; font-size: 11px; }
.analytics-path ol { padding: 0 16px 12px; }
.analytics-path li { min-height: 38px; }
.analytics-bars { gap: 10px; padding: 2px 16px 12px; }
.analytics-bars i { height: 7px; }
.analytics-basis { margin: 0 16px 12px; padding: 9px 11px; white-space: normal; }
.analytics-ai-grid article { padding: 13px 16px; }
.analytics-ai-grid p { margin: 7px 0 10px; -webkit-line-clamp: 4; }
.analytics-ai-grid dl > div { padding: 9px 11px; }
.analytics-recommendation { grid-template-columns: 76px minmax(0,1fr); padding: 11px 14px; }
.analytics-recommendation p { white-space: normal; }
.detail-action-bar { min-height: 48px; margin-top: 12px !important; padding-top: 12px !important; }
@media (max-height:700px) { .detail-modal-card { height: calc(100vh - 20px) !important; min-height: 0; }.proposal-analytics { grid-template-rows:auto auto auto auto auto; } }

/* Simplified proposal analytics — single final authority. */
.detail-modal.is-analytics {
  width: min(960px,calc(100vw - 40px)) !important;
}
.detail-modal.is-analytics .detail-modal-card {
  display: flex;
  height: auto !important;
  min-height: 0 !important;
  max-height: min(680px,calc(100vh - 32px)) !important;
  overflow: hidden !important;
}
.detail-modal.is-analytics .modal-head {
  flex: 0 0 auto;
}
.detail-modal.is-analytics .modal-head > div {
  min-width: 0;
}
.detail-modal.is-analytics .modal-head h2 {
  max-width: 760px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.detail-modal.is-analytics .detail-modal-card > #modalCustomerBody {
  display: block !important;
  min-height: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  flex: 1 1 auto !important;
}
.detail-modal.is-analytics .proposal-analytics {
  display: flex !important;
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 4px 2px 0;
  gap: 12px !important;
  flex-direction: column;
}
.detail-modal.is-analytics .proposal-analytics > * {
  min-height: 0 !important;
  flex: 0 0 auto;
}
.detail-modal.is-analytics .analytics-metrics {
  display: grid;
  min-height: 0 !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
}
.detail-modal.is-analytics .analytics-metrics article {
  display: grid;
  min-width: 0;
  min-height: 74px !important;
  box-sizing: border-box;
  padding: 11px 16px !important;
  align-content: center;
  grid-template-columns: auto minmax(0,1fr);
}
.detail-modal.is-analytics .analytics-metrics article:nth-child(2) {
  border-right: 1px solid #e3e8f0;
}
.detail-modal.is-analytics .analytics-metrics article > span {
  width: 100%;
  margin: 0 0 5px;
  grid-column: 1 / -1;
}
.detail-modal.is-analytics .analytics-metrics strong {
  min-width: 0;
  overflow-wrap: anywhere;
}
.detail-modal.is-analytics .analytics-metrics small {
  min-width: 0;
  margin-left: 7px;
  overflow: hidden;
  align-self: end;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.detail-modal.is-analytics .analytics-card {
  min-width: 0;
  overflow: visible;
}
.detail-modal.is-analytics .analytics-card > header {
  display: flex;
  min-height: 48px !important;
  box-sizing: border-box;
  padding: 11px 16px 9px !important;
  align-items: center;
}
.detail-modal.is-analytics .analytics-card > header > svg {
  width: 20px;
  height: 20px;
  margin-right: 8px;
  color: #1b4be5;
  flex: 0 0 auto;
}
.detail-modal.is-analytics .analytics-card h3 {
  min-width: 0;
  margin: 0;
}
.detail-modal.is-analytics .analytics-context {
  min-width: 0;
  margin-left: auto;
  overflow: hidden;
  color: #727d8c;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.detail-modal.is-analytics .analytics-funnel-track {
  display: grid;
  min-height: 0 !important;
  padding: 14px 16px 16px;
  grid-template-columns: repeat(6,minmax(0,1fr));
}
.detail-modal.is-analytics .analytics-funnel-track article {
  min-width: 0;
}
.detail-modal.is-analytics .analytics-funnel-track article > div {
  min-width: 0;
}
.detail-modal.is-analytics .analytics-action > header {
  border-bottom: 1px solid #edf0f4;
}
.detail-modal.is-analytics .analytics-level {
  margin-left: auto;
  white-space: nowrap;
}
.detail-modal.is-analytics .analytics-action-body {
  display: grid;
  grid-template-columns: minmax(150px,.72fr) minmax(0,1.65fr) minmax(110px,.55fr);
}
.detail-modal.is-analytics .analytics-action-body article {
  min-width: 0;
  padding: 14px 16px;
}
.detail-modal.is-analytics .analytics-action-body article + article {
  border-left: 1px solid #edf0f4;
}
.detail-modal.is-analytics .analytics-action-body span {
  display: block;
  margin-bottom: 6px;
  color: #1b4be5;
  font-size: 12px;
  line-height: 18px;
  font-weight: 700;
}
.detail-modal.is-analytics .analytics-action-body p {
  margin: 0;
  color: #4f5968;
  font-size: 13px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
.detail-modal.is-analytics .analytics-action-body p strong {
  color: #17191c;
  font-size: 18px;
}
.detail-modal.is-analytics .analytics-action footer {
  padding: 8px 16px 10px;
  border-top: 1px solid #f1f3f6;
  color: #8a94a3;
  font-size: 11px;
  line-height: 16px;
  overflow-wrap: anywhere;
}
.detail-modal.is-analytics .detail-action-bar {
  min-height: 48px !important;
  margin-top: 12px !important;
  padding-top: 12px !important;
  background: #fff;
  flex: 0 0 auto;
}
@media (max-width:760px) {
  .detail-modal.is-analytics {
    width: 100vw !important;
    height: 100dvh;
    margin: 0;
    border-radius: 0 !important;
  }
  .detail-modal.is-analytics .detail-modal-card {
    width: 100%;
    height: 100dvh !important;
    max-height: none !important;
    padding: 16px 13px 10px !important;
  }
  .detail-modal.is-analytics .modal-head {
    min-height: 0;
    margin-bottom: 10px !important;
  }
  .detail-modal.is-analytics .modal-head h2 {
    max-width: calc(100vw - 82px);
    font-size: 18px !important;
    line-height: 25px !important;
  }
  .detail-modal.is-analytics .modal-head p {
    display: none !important;
  }
  .detail-modal.is-analytics .detail-modal-card > #modalCustomerBody {
    padding-right: 0 !important;
    scrollbar-gutter: auto;
  }
  .detail-modal.is-analytics .proposal-analytics {
    padding-right: 0;
    gap: 10px !important;
  }
  .detail-modal.is-analytics .analytics-metrics {
    min-height: 0 !important;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  }
  .detail-modal.is-analytics .analytics-metrics article {
    min-height: 74px !important;
    padding: 10px 8px !important;
    border-bottom: 0 !important;
    grid-template-columns: 1fr;
  }
  .detail-modal.is-analytics .analytics-metrics article:not(:last-child) {
    border-right: 1px solid #e3e8f0 !important;
  }
  .detail-modal.is-analytics .analytics-metrics article > span {
    margin-bottom: 5px;
    font-size: 10px !important;
    line-height: 15px !important;
  }
  .detail-modal.is-analytics .analytics-metrics strong,
  .detail-modal.is-analytics .analytics-metrics strong.is-status {
    overflow: hidden;
    font-size: 17px !important;
    line-height: 22px !important;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .detail-modal.is-analytics .analytics-metrics small {
    margin: 2px 0 0;
    overflow: hidden;
    font-size: 9px !important;
    line-height: 14px !important;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .detail-modal.is-analytics .analytics-card > header {
    min-height: 43px !important;
    padding: 9px 11px 7px !important;
  }
  .detail-modal.is-analytics .analytics-card > header > svg {
    width: 18px;
    height: 18px;
  }
  .detail-modal.is-analytics .analytics-card h3 {
    font-size: 14px;
    line-height: 20px;
  }
  .detail-modal.is-analytics .analytics-context {
    max-width: 52%;
    font-size: 10px;
  }
  .detail-modal.is-analytics .analytics-funnel-track {
    padding: 11px 11px 13px;
    row-gap: 13px;
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
  .detail-modal.is-analytics .analytics-funnel-track article {
    gap: 7px;
  }
  .detail-modal.is-analytics .analytics-funnel-track article::after {
    display: none !important;
  }
  .detail-modal.is-analytics .analytics-funnel-track i {
    width: 24px;
    height: 24px;
  }
  .detail-modal.is-analytics .analytics-funnel-track strong {
    font-size: 11px;
    line-height: 16px;
  }
  .detail-modal.is-analytics .analytics-funnel-track span {
    font-size: 9px;
    line-height: 14px;
  }
  .detail-modal.is-analytics .analytics-action-body {
    grid-template-columns: 1fr;
  }
  .detail-modal.is-analytics .analytics-action-body article {
    padding: 10px 12px;
  }
  .detail-modal.is-analytics .analytics-action-body article + article {
    border-top: 1px solid #edf0f4;
    border-left: 0;
  }
  .detail-modal.is-analytics .analytics-action-body span {
    margin-bottom: 3px;
    font-size: 10px;
    line-height: 15px;
  }
  .detail-modal.is-analytics .analytics-action-body p {
    font-size: 12px;
    line-height: 1.55;
  }
  .detail-modal.is-analytics .analytics-action-body p strong {
    font-size: 15px;
  }
  .detail-modal.is-analytics .analytics-action footer {
    padding: 7px 12px 8px;
    font-size: 9px;
    line-height: 14px;
  }
  .detail-modal.is-analytics .detail-action-bar {
    min-height: 44px !important;
    margin-top: 8px !important;
    padding-top: 8px !important;
  }
}
/* Supervisor workbench: preserves the live OCTANS visual language. */
.workbench-tabs {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 0 0 14px;
  padding: 4px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #f5f6f7;
}
.workbench-tabs[hidden] { display: none !important; }
.workbench-tabs button {
  min-height: 34px;
  padding: 0 16px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: #697386;
  font: inherit;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
}
.workbench-tabs button.is-active {
  border-color: #dfe3e8;
  background: #fff;
  color: #17191c;
  box-shadow: 0 2px 8px rgba(16, 24, 40, .06);
}
.workbench-tabs button:focus-visible { outline: 2px solid #1b4be5; outline-offset: 2px; }
.workbench-tabs b {
  display: inline-grid;
  min-width: 20px;
  height: 20px;
  margin-left: 5px;
  place-items: center;
  border-radius: 999px;
  background: #eef3ff;
  color: #1b4be5;
  font-size: 12px;
}
.team-workbench[hidden], .pending-workbench[hidden], #personalWorkbench[hidden] { display: none !important; }
.team-workbench, .pending-workbench { min-width: 0; }
.team-workbench-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 16px;
}
.team-workbench-head h1 { margin: 0 0 5px; color: #17191c; font-size: 22px; line-height: 1.3; }
.team-workbench-head p { margin: 0; color: #697386; font-size: 13px; }
.team-workbench-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 14px;
  align-items: start;
}
.team-progress-panel, .pending-assignment-panel, .pending-full-panel { overflow: hidden; }
.team-progress-table { min-width: 760px; }
.team-progress-row {
  display: grid;
  grid-template-columns: minmax(150px, 1.35fr) 82px 70px 62px 82px minmax(120px, .9fr) 90px;
  gap: 12px;
  min-height: 64px;
  padding: 10px 16px;
  align-items: center;
  border-bottom: 1px solid #edf0f3;
  color: #343a40;
  font-size: 13px;
}
.team-progress-row:last-child { border-bottom: 0; }
.team-progress-row.is-head { min-height: 44px; color: #697386; font-size: 12px; font-weight: 500; }
.team-member { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.team-member b { overflow: hidden; color: #17191c; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.team-member small { color: #697386; font-size: 12px; }
.team-done { color: #18865b; }
.team-overdue { color: #c4322a; }
.team-rate { display: flex; align-items: center; gap: 8px; }
.team-rate i { display: block; width: 72px; height: 6px; overflow: hidden; border-radius: 999px; background: #eceff2; }
.team-rate i b { display: block; height: 100%; border-radius: inherit; background: #18865b; }
.team-rate small { min-width: 30px; color: #697386; font-size: 12px; }
.pending-assignment-panel .panel-head { min-height: 70px; }
.pending-assignment-panel .panel-head > span { color: #697386; font-size: 12px; }
.pending-mini-row {
  display: flex;
  min-height: 67px;
  padding: 11px 16px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #edf0f3;
}
.pending-mini-row > div { display: flex; min-width: 0; flex-direction: column; gap: 4px; }
.pending-mini-row strong { overflow: hidden; color: #17191c; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.pending-mini-row small { color: #697386; font-size: 12px; }
.pending-mini-row button {
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  color: #1b4be5;
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}
.team-empty-state { padding: 56px 24px; text-align: center; }
.team-empty-state.compact { padding: 38px 18px; }
.team-empty-state strong { color: #343a40; font-size: 14px; }
.team-empty-state p { margin: 7px 0 0; color: #697386; font-size: 12px; line-height: 1.6; }
.pending-full-toolbar {
  display: flex;
  min-height: 66px;
  padding: 12px 16px;
  align-items: center;
  gap: 14px;
  border-bottom: 1px solid #e5e7eb;
}
.pending-full-toolbar > span { margin-right: auto; color: #697386; font-size: 13px; }
.pending-full-toolbar label { display: flex; align-items: center; gap: 8px; color: #697386; font-size: 12px; }
.pending-full-toolbar select {
  min-width: 160px;
  height: 38px;
  padding: 0 34px 0 12px;
  border: 1px solid #d3d7de;
  border-radius: 10px;
  background: #fff;
  color: #343a40;
  font: inherit;
  font-size: 13px;
}
.pending-full-row {
  display: grid;
  grid-template-columns: 42px minmax(220px, 1.5fr) minmax(170px, 1fr) 72px 110px 92px;
  gap: 14px;
  min-height: 62px;
  padding: 9px 16px;
  align-items: center;
  border-bottom: 1px solid #edf0f3;
  color: #343a40;
  font-size: 13px;
}
.pending-full-row.is-head { min-height: 43px; color: #697386; font-size: 12px; font-weight: 500; }
.pending-full-row > span { min-width: 0; }
.pending-full-row > span:nth-child(2) { display: flex; flex-direction: column; gap: 3px; }
.pending-full-row > span:nth-child(2) strong { overflow: hidden; color: #17191c; text-overflow: ellipsis; white-space: nowrap; }
.pending-full-row > span:nth-child(2) small { color: #697386; font-size: 12px; }
.pending-check { position: relative; display: grid; width: 22px; height: 22px; place-items: center; }
.pending-check input { position: absolute; opacity: 0; }
.pending-check span { width: 17px; height: 17px; border: 1px solid #aab2bf; border-radius: 5px; background: #fff; }
.pending-check input:checked + span { border-color: #1b4be5; background: #1b4be5; box-shadow: inset 0 0 0 4px #fff; }
.pending-check input:focus-visible + span { outline: 2px solid #1b4be5; outline-offset: 2px; }
.pack-ready-label { color: #18865b; font-size: 12px; font-weight: 500; }
.daily-task-chip {
  align-self: flex-start;
  margin-top: 2px;
  padding: 2px 7px;
  border-radius: 999px;
  background: #eef3ff;
  color: #1b4be5;
  font-size: 11px;
  font-style: normal;
  font-weight: 500;
}
.daily-task-chip.is-completed { background: #edf8f3; color: #18865b; }
.task-row.is-completed { background: #fbfdfc; }

@media (max-width: 1280px) {
  .team-workbench-layout { grid-template-columns: 1fr; }
  .pending-assignment-panel { display: none; }
  .team-progress-panel, .pending-full-panel { overflow-x: auto; }
}
@media (max-width: 767px) {
  .workbench-tabs { display: flex; width: 100%; overflow-x: auto; }
  .workbench-tabs button { flex: 1 0 auto; }
  .team-workbench-head { align-items: flex-start; flex-direction: column; }
  .team-workbench-head .secondary-button { width: 100%; }
  .team-progress-panel, .pending-full-panel { overflow-x: hidden; }
  .team-progress-table, .pending-full-list { min-width: 0; }
  .team-progress-row.is-head, .pending-full-row.is-head { display: none; }
  .team-progress-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px 8px;
    min-height: 0;
    padding: 16px;
  }
  .team-progress-row .team-member { grid-column: 1 / 4; }
  .team-progress-row > button { grid-column: 4; grid-row: 1; align-self: center; justify-self: end; }
  .team-progress-row > strong { display: flex; min-width: 0; flex-direction: column; gap: 3px; font-size: 13px; }
  .team-progress-row > strong::before { color: #8a94a3; font-size: 10px; font-weight: 400; }
  .team-progress-row > strong:nth-child(2)::before { content: "今日"; }
  .team-progress-row > strong:nth-child(3)::before { content: "已处理"; }
  .team-progress-row > strong:nth-child(4)::before { content: "逾期"; }
  .team-progress-row > strong:nth-child(5)::before { content: "名下"; }
  .team-progress-row .team-rate { grid-column: 1 / 5; }
  .team-progress-row .team-rate i { width: 100%; }
  .pending-full-toolbar { align-items: stretch; flex-direction: column; }
  .pending-full-toolbar > span { margin-right: 0; }
  .pending-full-toolbar label { justify-content: space-between; }
  .pending-full-toolbar select { width: min(100%, 220px); min-width: 0; }
  .pending-full-row {
    grid-template-columns: 28px minmax(0, 1fr) auto;
    gap: 4px 10px;
    min-height: 82px;
    padding: 12px 14px;
  }
  .pending-full-row .pending-check { grid-column: 1; grid-row: 1 / 4; align-self: center; }
  .pending-full-row > span:nth-child(2) { grid-column: 2; grid-row: 1; }
  .pending-full-row > span:nth-child(2) strong { white-space: normal; }
  .pending-full-row > span:nth-child(3) { grid-column: 2; grid-row: 2; color: #697386; font-size: 12px; }
  .pending-full-row > strong:nth-child(4) { grid-column: 3; grid-row: 2; font-size: 12px; }
  .pending-full-row > strong:nth-child(4)::after { content: "分"; color: #697386; font-weight: 400; }
  .pending-full-row > span:nth-child(5) { grid-column: 2; grid-row: 3; }
  .pending-full-row > button:nth-child(6) { grid-column: 3; grid-row: 1; align-self: center; white-space: nowrap; }
}

/* Analytics scoreboard activation — keep after legacy analytics rules. */
.detail-modal.is-analytics {
  width: min(1120px,calc(100vw - 44px)) !important;
}
.detail-modal.is-analytics .detail-modal-card {
  height: min(724px,calc(100vh - 48px)) !important;
  min-height: 0 !important;
  max-height: calc(100vh - 48px) !important;
  padding: 18px 24px 12px !important;
  overflow: hidden !important;
}
.detail-modal.is-analytics .modal-head {
  min-height: 50px !important;
  margin: 0 0 12px !important;
}
.detail-modal.is-analytics .modal-head h2 {
  max-width: 900px;
  font-size: 20px !important;
  line-height: 28px !important;
  font-weight: 650;
}
.detail-modal.is-analytics .modal-head p {
  display: block !important;
  margin-top: 3px !important;
  color: #697386;
  font-size: 13px !important;
  line-height: 20px !important;
}
.detail-modal.is-analytics .detail-modal-card > #modalCustomerBody {
  display: block !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  flex: 1 1 auto !important;
}
.detail-modal.is-analytics .detail-action-bar {
  min-height: 52px !important;
  margin-top: 10px !important;
  padding-top: 10px !important;
}
@media (max-width:760px) {
  .detail-modal.is-analytics {
    width: 100vw !important;
    height: 100dvh;
    margin: 0;
    border-radius: 0 !important;
  }
  .detail-modal.is-analytics .detail-modal-card {
    width: 100%;
    height: 100dvh !important;
    max-height: none !important;
    padding: 14px 13px 10px !important;
  }
  .detail-modal.is-analytics .modal-head {
    min-height: 42px !important;
    margin-bottom: 8px !important;
  }
  .detail-modal.is-analytics .modal-head h2 {
    max-width: calc(100vw - 76px);
    font-size: 17px !important;
    line-height: 24px !important;
  }
  .detail-modal.is-analytics .modal-head p {
    display: none !important;
  }
  .detail-modal.is-analytics .detail-modal-card > #modalCustomerBody {
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }
  .detail-modal.is-analytics .detail-action-bar {
    min-height: 46px !important;
    margin-top: 8px !important;
    padding-top: 8px !important;
  }
}
/* Source-backed daily intelligence: one bounded flow inside the fixed home card. */
#view-home .insight-panel {
  display: grid;
  min-height: 0;
  overflow: hidden;
  grid-template-rows: auto minmax(0, 1fr);
}
#view-home .insight-body {
  display: block !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 12px 18px 14px !important;
  overflow: hidden !important;
  box-sizing: border-box;
}
#view-home .daily-advice-topic {
  display: grid;
  min-width: 0;
  min-height: 0;
  gap: 7px;
  align-content: start;
  overflow: hidden;
}
#view-home .daily-advice-topic > strong {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: var(--ui-text, #17191c);
  font-size: 14px;
  line-height: 20px;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  line-clamp: 1;
}
#view-home .insight-body .daily-advice-topic .advice-paragraph {
  display: -webkit-box !important;
  max-height: 40px !important;
  margin: 0 !important;
  overflow: hidden !important;
  color: var(--ui-text-secondary, #566276) !important;
  font-size: 13px !important;
  line-height: 20px !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
}
#view-home .daily-intelligence-actions {
  display: grid;
  min-height: 0;
  gap: 4px;
  margin: 1px 0 0;
  padding-top: 7px;
  border-top: 1px solid var(--ui-line, #e5e7eb);
}
#view-home .daily-intelligence-actions span {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: var(--ui-text-secondary, #697386);
  font-size: 13px !important;
  line-height: 19px !important;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

/* Customer behavior analytics v2 — one desktop dialog, visitor pagination instead of inner scrollbars. */
.detail-modal.is-analytics { width:min(1260px,calc(100vw - 40px)) !important; }
.detail-modal.is-analytics .detail-modal-card { height:min(760px,calc(100vh - 30px)) !important; max-height:calc(100vh - 30px) !important; padding:18px 24px 12px !important; }
.detail-modal.is-analytics .detail-modal-card > #modalCustomerBody { overflow:hidden !important; }
.analytics-behavior { display:grid; height:100%; min-height:0; gap:10px; grid-template-rows:minmax(0,1fr) auto 18px; }
.analytics-behavior-main { display:grid; min-height:0; gap:12px; grid-template-columns:230px minmax(440px,1.55fr) minmax(250px,.78fr); }
.analytics-behavior-left,.analytics-behavior-right { display:grid; min-height:0; gap:10px; grid-template-rows:auto minmax(0,1fr); }
.analytics-score-panel,.analytics-compact-funnel,.analytics-visitors,.analytics-page-time,.analytics-cause,.analytics-behavior-bottom { border:1px solid #e2e7f0; border-radius:10px; background:#fff; }
.analytics-score-panel { padding:14px 15px 10px; }
.analytics-score-panel header { display:flex; align-items:center; justify-content:space-between; }
.analytics-score-panel header span,.analytics-compact-funnel h3,.analytics-visitors h3,.analytics-page-time h3,.analytics-cause h3,.analytics-behavior-bottom h3 { margin:0; color:#172033; font-size:14px; line-height:20px; }
.analytics-score-panel header b { padding:3px 8px; border-radius:6px; color:#16805d; background:#e9f7f1; font-size:11px; }
.analytics-score-value { display:flex; gap:5px; margin:9px 0 7px; align-items:flex-end; }
.analytics-score-value strong { color:#102452; font-size:34px; line-height:38px; }
.analytics-score-value span { padding-bottom:3px; color:#667085; font-size:12px; }
.analytics-score-track { position:relative; display:grid; height:6px; grid-template-columns:repeat(3,1fr); }
.analytics-score-track i { background:#cbd2dc; }.analytics-score-track i:nth-child(2){background:#95a9de}.analytics-score-track i:nth-child(3){background:#7bc6aa}.analytics-score-track i:first-child{border-radius:99px 0 0 99px}.analytics-score-track i:nth-child(3){border-radius:0 99px 99px 0}
.analytics-score-track b { position:absolute; top:50%; width:13px; height:13px; border:2px solid #2861e9; border-radius:50%; background:#fff; transform:translate(-50%,-50%); }
.analytics-score-scale { display:flex; margin-top:6px; justify-content:space-between; color:#8390a3; font-size:10px; }
.analytics-score-panel dl { margin:10px 0 3px; }.analytics-score-panel dl div { display:flex; padding:6px 0; border-top:1px solid #eef1f5; justify-content:space-between; font-size:12px; }.analytics-score-panel dt{color:#667085}.analytics-score-panel dd{margin:0;color:#202939;font-weight:650}.analytics-score-panel>small{display:block;color:#8a94a3;font-size:10px;line-height:16px}
.analytics-compact-funnel { padding:12px 14px; }.analytics-compact-funnel>div{display:flex;margin-top:13px;justify-content:space-between}.analytics-compact-funnel span{position:relative;display:grid;gap:5px;color:#8792a3;font-size:10px;text-align:center}.analytics-compact-funnel span:not(:last-child)::after{position:absolute;top:4px;left:calc(50% + 8px);width:calc(100% + 10px);height:1px;background:#dce2eb;content:""}.analytics-compact-funnel i{position:relative;z-index:1;width:9px;height:9px;margin:auto;border:2px solid #c8d0dd;border-radius:50%;background:#fff}.analytics-compact-funnel .is-reached{color:#2458d8}.analytics-compact-funnel .is-reached i{border-color:#2861e9;background:#2861e9;box-shadow:inset 0 0 0 2px #fff}
.analytics-visitors { min-width:0; overflow:hidden; }.analytics-visitors>header{display:flex;height:56px;box-sizing:border-box;padding:0 14px;border-bottom:1px solid #e7ebf1;align-items:center;justify-content:space-between}.analytics-visitors>header>div{display:flex;gap:6px;align-items:center;color:#7a8699;font-size:11px}.analytics-visitors>header button{width:24px;height:24px;padding:0;border:1px solid #dce2eb;border-radius:6px;background:#fff;color:#315fd5}.analytics-visitors>header button:disabled{opacity:.35}.analytics-visitors>header b{font-size:10px;font-weight:600}
.analytics-visitor-head,.analytics-visitor-row { display:grid; min-width:0; grid-template-columns:.7fr 1.08fr 1.12fr .52fr .78fr .9fr; align-items:center; }.analytics-visitor-head{height:36px;padding:0 14px;background:#f8f9fb;color:#697386;font-size:10px}.analytics-visitor-row{min-height:62px;padding:0 14px;border-top:1px solid #edf0f4;color:#465166;font-size:11px}.analytics-visitor-row>*{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analytics-visitor-row strong{color:#202939;font-size:12px}.analytics-visitor-row em{width:max-content;max-width:100%;padding:3px 6px;border-radius:5px;background:#fff3d7;color:#a56300;font-style:normal;font-size:10px}.analytics-visitor-row em.is-internal{background:#eef1f6;color:#667085}.analytics-visitor-row em.is-customer_high,.analytics-visitor-row em.is-customer_medium{background:#eaf1ff;color:#2357d3}.analytics-visitor-empty,.analytics-page-empty{display:grid;height:160px;place-items:center;color:#8993a4;font-size:12px}
.analytics-page-time{padding:13px 14px}.analytics-page-time header small{display:block;margin-top:3px;color:#7d899b;font-size:10px;line-height:16px}.analytics-page-time>div{display:grid;gap:11px;margin-top:13px}.analytics-page-time p{display:grid;margin:0;grid-template-columns:68px minmax(50px,1fr) 64px;gap:8px;align-items:center}.analytics-page-time p strong{overflow:hidden;color:#394457;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.analytics-page-time p i{height:5px;border-radius:99px;background:#edf0f5;overflow:hidden}.analytics-page-time p i b{display:block;height:100%;border-radius:inherit;background:#2f63e8}.analytics-page-time p span{color:#5f6b7d;font-size:10px;text-align:right}
.analytics-cause{padding:13px 14px;background:linear-gradient(135deg,#f4f7ff,#edf3ff);border-color:#dbe5ff}.analytics-cause h3{color:#2358dc}.analytics-cause p{display:-webkit-box;margin:8px 0 0;overflow:hidden;color:#40506a;font-size:11px;line-height:18px;-webkit-box-orient:vertical;-webkit-line-clamp:7}
.analytics-behavior-bottom{display:grid;grid-template-columns:1fr 1fr}.analytics-behavior-bottom article{min-width:0;padding:9px 14px}.analytics-behavior-bottom article+article{border-left:1px solid #e7ebf1}.analytics-behavior-bottom ul{display:grid;gap:3px;margin:5px 0 0;padding-left:16px;color:#566276;font-size:10px;line-height:16px}.analytics-behavior-bottom li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analytics-data-note{margin:0;color:#8490a2;font-size:10px;line-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:900px){.analytics-behavior{height:auto}.analytics-behavior-main{grid-template-columns:1fr}.analytics-behavior-left,.analytics-behavior-right{grid-template-columns:1fr 1fr;grid-template-rows:auto}.detail-modal.is-analytics .detail-modal-card>#modalCustomerBody{overflow-y:auto!important}.analytics-behavior-bottom{grid-template-columns:1fr}.analytics-behavior-bottom article+article{border-left:0;border-top:1px solid #e7ebf1}}
.followup-delete-button{min-width:84px;height:38px;padding:0 18px;border:1px solid #ef4444;border-radius:8px;background:#fff;color:#d62f3f;font-size:13px;font-weight:650;transition:.16s ease}.followup-delete-button:hover,.followup-delete-button.is-active{background:#d93645;color:#fff}.followup-delete-button:disabled{cursor:wait;opacity:.6}.followup-table .tier-cell{display:flex;gap:7px;align-items:center}.followup-select-box{display:grid;width:23px;height:21px;padding:0;border:1px solid #b9c4d7;border-radius:6px;background:#fff;color:transparent;place-items:center;flex:0 0 auto}.followup-select-box i{font-size:13px;font-style:normal;line-height:1}.followup-select-box[aria-pressed="true"]{border-color:#2d62e7;background:#2d62e7;color:#fff;box-shadow:0 0 0 2px rgba(45,98,231,.12)}.followup-table .data-row.is-selecting{cursor:pointer}.followup-table .data-row.is-selected{background:#f1f5ff!important;box-shadow:inset 3px 0 0 #2d62e7}
.followup-table.is-loading .data-head{visibility:hidden}
.followup-loading-state{display:grid;grid-column:1/-1;width:100%;min-height:320px;place-items:center;align-content:center;gap:12px;color:#667085;text-align:center;box-sizing:border-box}.followup-loading-state img{display:block;width:52px;height:52px}.followup-loading-state p{margin:0;color:#5f6b7d;font-size:13px;line-height:20px}.followup-load-error{display:grid;grid-column:1/-1;min-height:240px;place-items:center;align-content:center;gap:7px;color:#667085;text-align:center}.followup-load-error strong{color:#263249;font-size:14px}.followup-load-error p{margin:0;font-size:12px;line-height:18px}.followup-load-error .text-button{margin-top:4px}
#view-home .daily-intelligence-actions b {
  display: inline-block;
  min-width: 58px;
  margin-inline-end: 8px;
  color: var(--ui-text, #343a40);
  font-weight: 600;
}
#view-home .daily-advice-topic footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 0;
  color: var(--ui-text-muted, #697386);
  font-size: 11px;
  line-height: 17px;
}
#view-home .daily-advice-topic footer a {
  min-width: 0;
  color: var(--brand, #1b4be5);
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#view-home .daily-advice-topic footer small { flex: none; font: inherit; }
#view-home .daily-intelligence-state { padding-block: 4px 12px; }
#view-home .daily-intelligence-state strong { color: var(--ui-text, #17191c); font-size: 14px; line-height: 21px; }
#view-home .daily-intelligence-state p { margin: 8px 0 12px; color: var(--ui-text-secondary, #697386); font-size: 13px; line-height: 20px; }
#view-home .daily-intelligence-state.is-error strong { color: var(--danger, #c4322a); }
#view-home .daily-intelligence-state .text-button { display: inline-flex !important; margin-top: 0; }

@media (max-width: 640px) {
  #view-home .daily-advice-topic footer { align-items: flex-start; flex-direction: column; gap: 4px; }
}
/* Follow-up list: search-first toolbar and a tighter node column. */
#view-campaign .followup-panel { margin-top: 0; }
#view-campaign .followup-toolbar { min-height: 64px; padding: 12px 16px; align-items: center; }
#view-campaign .followup-toolbar > div:first-child { min-width: 0; flex: 1 1 auto; }
#view-campaign .followup-search { width: min(360px, 42%); }
#view-campaign .followup-search input { height: 32px; }
#view-campaign .followup-filter-chips:empty { display: none; }
#view-campaign .followup-table { min-width: 1080px; }
#view-campaign .followup-table .data-row { grid-template-columns: 36px minmax(170px,1.2fr) minmax(300px,2fr) minmax(112px,.8fr) minmax(96px,.7fr) minmax(76px,.58fr) minmax(132px,.84fr); gap: 12px; }
#view-campaign .followup-table.is-operator { min-width: 1280px; }
#view-campaign .followup-table.is-operator .data-row { grid-template-columns: 36px minmax(180px,1.15fr) minmax(480px,2.45fr) minmax(96px,.7fr) minmax(96px,.7fr) minmax(92px,.72fr) minmax(78px,.58fr) minmax(140px,.9fr); gap: 14px; }
#view-campaign .followup-table.is-market { min-width: 1160px; }
#view-campaign .followup-table.is-market .data-row { grid-template-columns: 36px minmax(178px,1.15fr) minmax(480px,2.45fr) minmax(118px,.82fr) minmax(90px,.72fr) minmax(86px,.74fr) minmax(140px,.9fr); gap: 14px; }
#view-campaign .followup-node-track { min-width: 300px; }
#view-campaign .followup-table.is-operator .data-head > span:nth-child(n+4),
#view-campaign .followup-table.is-market .data-head > span:nth-child(n+4) { display: flex; align-items: center; justify-content: center; min-width: 0; text-align: center; }
#view-campaign .followup-table .followup-person-cell { display: grid; align-content: center; }
#view-campaign .followup-table :is(.followup-person-cell,.followup-last-action,.followup-intent-cell) { justify-items: center; text-align: center; }
#view-campaign .followup-table .followup-actions { justify-content: center; text-align: center; }
@media (max-width: 860px) {
  #view-campaign .followup-toolbar { align-items: flex-start; flex-direction: column; }
  #view-campaign .followup-toolbar > div:first-child, #view-campaign .followup-search { width: 100%; }
  #view-campaign .followup-tier-tabs { max-width: 100%; overflow-x: auto; }
}

/* Customer lists share one operational type system. */
#view-resources .resource-toolbar,
#view-campaign .resource-toolbar {
  font-family: "AIOS UI", "Microsoft YaHei UI", "Microsoft YaHei", "PingFang SC", system-ui, sans-serif;
}
#view-resources .resource-toolbar .resource-search input,
#view-campaign .resource-toolbar .resource-search input,
#view-resources .resource-toolbar .region-picker-trigger,
#view-campaign .resource-toolbar .region-picker-trigger,
#view-resources .resource-toolbar .segmented-control button,
#view-campaign .resource-toolbar .segmented-control button,
#view-campaign .followup-filter-chip {
  font-family: inherit;
  font-size: 13px !important;
  line-height: 20px !important;
}
#view-resources .resource-toolbar .region-picker-trigger > span,
#view-resources .resource-toolbar .region-picker-trigger > strong,
#view-campaign .resource-toolbar .region-picker-trigger > span,
#view-campaign .resource-toolbar .region-picker-trigger > strong {
  font-size: inherit;
  line-height: inherit;
}
#view-resources .data-row.data-head,
#view-campaign .data-row.data-head,
#view-campaign .followup-sort-button {
  font-family: inherit;
  font-size: 12px;
  line-height: 18px;
}
#view-resources .owner-cell,
#view-campaign .followup-person-cell strong {
  color: #344054;
  font-size: 13px;
  line-height: 20px;
  font-weight: 500;
}

.assignment-modal { width: min(440px, calc(100vw - 32px)); }
.assignment-card { padding: 22px; }
.assignment-body { display: grid; margin-top: 22px; gap: 14px; }
.assignment-body > strong { overflow: hidden; color: #17191c; font-size: 16px; line-height: 24px; text-overflow: ellipsis; white-space: nowrap; }
.assignment-body label { display: grid; gap: 8px; }
.assignment-body label > span { color: #343a40; font-size: 13px; line-height: 20px; font-weight: 600; }
.assignment-body select { width: 100%; height: 40px; padding: 0 36px 0 12px; border: 1px solid #d3d7de; border-radius: 10px; background: #fff; color: #17191c; font-family: inherit; font-size: 14px; line-height: 20px; font-weight: 500; outline: none; }
.assignment-body select:focus { border-color: #1b4be5; box-shadow: 0 0 0 2px rgba(27,75,229,.12); }
.assignment-body select:disabled { background: #f5f6f7; color: #aab2bf; }
.assignment-help, .assignment-error { margin: 0; font-size: 12px; line-height: 19px; }
.assignment-help { color: #697386; }
.assignment-error { padding: 9px 10px; border-radius: 8px; background: #fff1f0; color: #c4322a; }

/* Customer behavior analytics typography — readable desktop product scale. */
.detail-modal.is-analytics .modal-head h2 {
  color: #151b2a;
  font-size: 24px !important;
  line-height: 32px !important;
  font-weight: 700;
}
.detail-modal.is-analytics .modal-head p {
  color: #5f6b7d;
  font-size: 14px !important;
  line-height: 22px !important;
}
.analytics-score-panel header span,
.analytics-compact-funnel h3,
.analytics-visitors h3,
.analytics-page-time h3,
.analytics-cause h3,
.analytics-behavior-bottom h3 {
  font-size: 15px;
  line-height: 22px;
  font-weight: 650;
}
.analytics-score-panel header b {
  font-size: 12px;
  line-height: 18px;
  font-weight: 650;
}
.analytics-score-value span,
.analytics-score-scale,
.analytics-score-panel > small,
.analytics-compact-funnel span,
.analytics-visitors > header > div,
.analytics-visitors > header b,
.analytics-page-time header small,
.analytics-page-time p span,
.analytics-data-note {
  font-size: 12px;
  line-height: 18px;
}
.analytics-score-panel dl div {
  padding-block: 4px;
  color: #344054;
  font-size: 14px;
  line-height: 20px;
}
.analytics-score-panel { padding: 12px 15px 8px; }
.analytics-score-value { margin-block: 7px 5px; }
.analytics-score-panel dl { margin: 6px 0 0; }
.analytics-score-panel dt { color: #526075; }
.analytics-score-panel dd { color: #172033; }
.analytics-visitor-head {
  height: 40px;
  color: #526075;
  font-size: 12px;
  line-height: 18px;
  font-weight: 600;
}
.analytics-visitor-row {
  min-height: 66px;
  color: #344054;
  font-size: 14px;
  line-height: 20px;
}
.analytics-visitor-row strong {
  color: #172033;
  font-size: 14px;
  line-height: 20px;
  font-weight: 650;
}
.analytics-visitor-row em {
  padding: 3px 7px;
  font-size: 12px;
  line-height: 18px;
  font-weight: 600;
}
.analytics-visitor-empty,
.analytics-page-empty {
  color: #667085;
  font-size: 14px;
  line-height: 22px;
}
.analytics-page-time > div { gap: 12px; }
.analytics-page-time p {
  grid-template-columns: 76px minmax(50px,1fr) 68px;
}
.analytics-page-time p strong {
  color: #303b4f;
  font-size: 13px;
  line-height: 20px;
  font-weight: 600;
}
.analytics-page-time p span {
  color: #526075;
  font-weight: 500;
}
.analytics-cause p {
  margin-top: 9px;
  color: #33425d;
  font-size: 14px;
  line-height: 22px;
  -webkit-line-clamp: 6;
}
.analytics-behavior-bottom article { padding: 10px 14px; }
.analytics-behavior-bottom ul {
  gap: 4px;
  margin-top: 6px;
  color: #3f4d63;
  font-size: 13px;
  line-height: 20px;
}
.analytics-data-note { color: #667085; }

/* 客户跟进：让“客户节点”表头与整条节点时间线共用同一条中心轴。 */
#view-campaign .followup-table .data-head > span:nth-child(3) {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  text-align: center;
}
#view-campaign .followup-table .followup-node-cell {
  display: grid;
  align-items: center;
  justify-items: center;
}
#view-campaign .followup-table .followup-node-track {
  width: 100%;
  min-width: 480px;
  max-width: 500px;
  margin-inline: auto;
}
#view-campaign .followup-table .followup-node span {
  padding-inline: 4px;
  white-space: normal;
  text-wrap: balance;
}

/* Follow-up route model: remove the duplicate owner field and give the node track priority. */
#view-campaign .followup-table.is-operator {
  min-width: 1200px;
}
#view-campaign .followup-table.is-operator .data-row {
  grid-template-columns: 36px minmax(180px,1.1fr) minmax(520px,2.8fr) minmax(108px,.72fr) minmax(96px,.68fr) minmax(78px,.54fr) minmax(140px,.9fr);
  gap: 14px;
}
#view-campaign .followup-table.is-market {
  min-width: 1080px;
}
#view-campaign .followup-table.is-market .data-row {
  grid-template-columns: 36px minmax(184px,1.12fr) minmax(540px,3fr) minmax(96px,.68fr) minmax(78px,.54fr) minmax(140px,.9fr);
  gap: 14px;
}
#view-campaign .followup-node-track {
  min-width: 520px;
  max-width: 560px;
}
#view-campaign .followup-node::after {
  top: 9px;
  left: calc(50% + 10px);
  width: calc(100% - 20px);
  height: 2px;
  border-radius: 2px;
  background: #d7dde7;
}
#view-campaign .followup-node i {
  width: 17px;
  height: 17px;
  margin-bottom: 9px;
  border-width: 2px;
}
#view-campaign .followup-node.is-done i {
  box-shadow: inset 0 0 0 4px #fff;
}
#view-campaign .followup-node.is-current i {
  box-shadow: inset 0 0 0 4px #fff, 0 0 0 4px var(--node-soft);
}
#view-campaign .followup-node span {
  min-height: 36px;
  color: #697386;
  font-size: 12px;
  line-height: 18px;
}
#view-campaign .followup-node.is-done span {
  color: #445064;
  font-weight: 600;
}
#view-campaign .followup-node.is-current span {
  color: var(--node-color);
  font-weight: 700;
}
.followup-popover-summary {
  display: grid;
  gap: 8px;
  padding: 12px 0 2px;
}
.followup-popover-summary p {
  margin: 0;
  color: #344054;
  font-size: 13px;
  line-height: 20px;
}
.followup-popover-summary span {
  color: #697386;
  font-size: 12px;
  line-height: 18px;
}
.followup-popover-summary b {
  margin-left: 8px;
  color: #344054;
  font-weight: 650;
}
.followup-node.is-pending { cursor: pointer; }
.followup-node-popover { padding: 12px; border-color: #d7dde7; border-radius: 12px; box-shadow: 0 12px 30px rgba(16,24,40,.14); }
.followup-popover-head { gap: 9px; padding-bottom: 8px; }
.followup-popover-head > strong { min-width: 0; overflow: hidden; color: #17191c; font-size: 13px; line-height: 19px; text-overflow: ellipsis; white-space: nowrap; }
.followup-popover-head > b { flex: 0 0 auto; padding: 2px 7px; border-radius: 999px; background: var(--node-soft); color: var(--node-color); font-size: 10px; line-height: 16px; }
.followup-popover-summary { padding: 8px 0; border-bottom: 1px solid #edf0f5; }
.followup-popover-summary p { display: -webkit-box; margin: 0; overflow: hidden; color: #343a40; font-size: 12px; line-height: 18px; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.followup-popover-meta { display: grid; gap: 0; margin: 1px 0 0; }
.followup-popover-meta > div { display: grid; grid-template-columns: 58px minmax(0,1fr); gap: 8px; padding: 6px 0; border-bottom: 1px solid #f0f2f5; }
.followup-popover-meta dt { color: #697386; font-size: 11px; line-height: 18px; }
.followup-popover-meta dd { margin: 0; color: #343a40; font-size: 11px; font-weight: 600; line-height: 18px; text-align: right; overflow-wrap: anywhere; }
.followup-popover-action { display: flex; width: 100%; min-height: 32px; align-items: center; justify-content: space-between; margin-top: 6px; padding: 0 2px; border: 0; border-radius: 6px; background: transparent; color: #495466; font-size: 12px; font-weight: 600; cursor: pointer; }
.followup-popover-action span { color: var(--node-color); font-size: 14px; font-weight: 500; transition: transform 160ms ease; }
.followup-popover-action:hover { color: var(--node-color); background: var(--node-soft); }
.followup-popover-action:hover span { transform: translateX(2px); }
.followup-popover-action:focus-visible { outline: 2px solid var(--node-color); outline-offset: 2px; }

@media (max-width: 900px) {
  #view-campaign .followup-table.is-operator { min-width: 1200px; }
  #view-campaign .followup-table.is-market { min-width: 1080px; }
}
@media (max-width: 640px) {
  .followup-node-popover { top: auto !important; right: auto; bottom: 12px; left: 50% !important; width: min(300px, calc(100vw - 24px)) !important; max-height: calc(100vh - 24px); overflow-y: auto; border-radius: 14px; transform: translateX(-50%); }
  .followup-popover-action { min-height: 44px; }
}

/* v115 enterprise/channel detail: compact, factual and score-consistent. */
#detailModal:not(.is-analytics) {
  width: min(1080px, calc(100vw - 40px)) !important;
}
#detailModal:not(.is-analytics) .detail-modal-card {
  height: min(760px, calc(100vh - 28px)) !important;
  min-height: 640px !important;
  max-height: calc(100vh - 28px) !important;
  padding: 20px 26px 14px !important;
}
#detailModal:not(.is-analytics) .modal-head {
  min-height: 48px !important;
  margin: 0 0 8px !important;
}
#detailModal:not(.is-analytics) .modal-head h2 {
  max-width: 760px;
  color: #17191c;
  font-size: 22px !important;
  font-weight: 650;
  line-height: 30px !important;
}
#detailModal:not(.is-analytics) .modal-head p {
  margin-top: 2px !important;
  color: #7a8493;
  font-size: 12px !important;
  line-height: 18px !important;
}
#detailModal:not(.is-analytics) .modal-head .icon-button {
  width: 34px;
  height: 34px;
  flex-basis: 34px;
}
#detailModal:not(.is-analytics) #modalCustomerBody {
  display: block !important;
  min-height: 0 !important;
  margin-top: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  padding: 0 2px 0 0 !important;
  flex: 1 1 auto !important;
}
.detail-score-strip {
  display: flex;
  min-height: 42px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 8px 12px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #fafbfc;
}
.detail-score-strip > div {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
  color: #697386;
  font-size: 12px;
  line-height: 18px;
}
.detail-score-strip svg {
  width: 16px;
  height: 16px;
  color: #1b4be5;
}
.detail-score-strip strong {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: baseline;
  gap: 9px;
  color: #1b4be5;
  font-size: 20px;
  line-height: 24px;
}
.detail-score-strip strong span {
  color: #52657d;
  font-size: 12px;
  font-weight: 600;
}
.detail-inline-loading {
  position: relative;
  height: 26px;
  margin-top: 8px;
  overflow: hidden;
  border-radius: 8px;
  background: #f3f5f8;
}
.detail-inline-loading i {
  position: absolute;
  inset: 0 auto 0 0;
  max-width: 100%;
  background: #e8efff;
}
.detail-inline-loading span {
  position: relative;
  display: block;
  padding: 4px 10px;
  color: #52657d;
  font-size: 12px;
  line-height: 18px;
}
#detailModal:not(.is-analytics) .deepseek-detail-layout {
  display: grid;
  min-height: 0;
  margin-top: 10px;
  grid-template-columns: minmax(0, 1.7fr) minmax(300px, .9fr);
  grid-template-rows: 378px 96px;
  column-gap: 14px;
  row-gap: 10px;
}
#detailModal:not(.is-analytics) .deepseek-detail-main {
  display: grid;
  height: 378px;
  grid-template-rows: 154px 214px;
  gap: 10px;
}
#detailModal:not(.is-analytics) .deepseek-detail-main > section,
#detailModal:not(.is-analytics) .deepseek-detail-sidebar > section {
  border: 1px solid #dfe4ec;
  border-radius: 12px;
  background: #fff;
}
#detailModal:not(.is-analytics) .deepseek-detail-main h3,
#detailModal:not(.is-analytics) .deepseek-detail-sidebar h3,
#detailModal:not(.is-analytics) .deepseek-visibility-wide h3 {
  margin: 0;
  color: #17191c;
  font-size: 14px;
  font-weight: 650;
  line-height: 21px;
}
#detailModal:not(.is-analytics) .deepseek-overview-card {
  height: 154px;
  padding: 14px 16px;
  border-color: #cbd9ff !important;
  background: #f8faff !important;
}
#detailModal:not(.is-analytics) .deepseek-overview-card p {
  margin-top: 7px;
  color: #46556c;
  font-size: 13px;
  line-height: 21px;
  -webkit-line-clamp: 5;
}
#detailModal:not(.is-analytics) .deepseek-signal-section {
  height: 214px;
  padding: 13px 16px;
}
#detailModal:not(.is-analytics) .deepseek-signal-section > ol {
  margin-top: 8px;
  gap: 5px;
}
#detailModal:not(.is-analytics) .deepseek-signal-section li {
  min-height: 48px;
  padding: 6px 9px;
  grid-template-columns: 24px minmax(0, 1fr);
  background: #f7f8fa;
}
#detailModal:not(.is-analytics) .deepseek-signal-section li:nth-child(even) > span,
#detailModal:not(.is-analytics) .deepseek-signal-section li > span {
  background: #e8efff;
  color: #1b4be5;
}
#detailModal:not(.is-analytics) .deepseek-signal-section li > div {
  min-width: 0;
}
#detailModal:not(.is-analytics) .deepseek-signal-section li strong {
  display: block;
  overflow: hidden;
  color: #343a40;
  font-size: 12px;
  line-height: 18px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#detailModal:not(.is-analytics) .deepseek-signal-section li p {
  display: block;
  overflow: hidden;
  color: #697386;
  font-size: 12px;
  line-height: 18px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#detailModal:not(.is-analytics) .deepseek-detail-sidebar {
  height: 378px;
}
#detailModal:not(.is-analytics) .deepseek-geo-panel {
  height: 378px;
  padding: 15px 16px;
  border-color: #9eb8ff !important;
  background: #f8faff !important;
}
#detailModal:not(.is-analytics) .deepseek-geo-panel > header span {
  max-width: 116px;
  padding: 2px 7px;
  border-color: #bed0ff;
  background: #fff;
  color: #1b4be5;
  font-size: 11px;
  line-height: 17px;
}
#detailModal:not(.is-analytics) .deepseek-geo-panel > p {
  display: -webkit-box;
  margin: 11px 0 12px;
  overflow: hidden;
  color: #46556c;
  font-size: 13px;
  line-height: 21px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
}
#detailModal:not(.is-analytics) .deepseek-geo-panel h4 {
  padding-top: 10px;
  border-top-color: #d9e3ff;
  font-size: 13px;
}
#detailModal:not(.is-analytics) .deepseek-geo-panel ol {
  margin-top: 8px;
  gap: 7px;
}
#detailModal:not(.is-analytics) .deepseek-geo-panel li > span {
  width: 20px;
  height: 20px;
  background: #1b4be5;
  font-size: 11px;
}
#detailModal:not(.is-analytics) .deepseek-geo-panel li p {
  display: -webkit-box;
  overflow: hidden;
  color: #52657d;
  font-size: 12px;
  line-height: 19px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
#detailModal:not(.is-analytics) .deepseek-visibility-wide {
  grid-column: 1 / -1;
}
#detailModal:not(.is-analytics) .deepseek-visibility-section > div {
  margin-top: 7px;
  gap: 8px;
}
#detailModal:not(.is-analytics) .deepseek-visibility-section > div.is-channel {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
#detailModal:not(.is-analytics) .deepseek-visibility-section > div > div {
  min-height: 54px;
  padding: 7px 10px;
  border-radius: 9px;
  background: #fafbfc;
}
#detailModal:not(.is-analytics) .deepseek-visibility-section .is-muted > span {
  color: #aab2bf;
}
#detailModal:not(.is-analytics) .deepseek-visibility-section b {
  font-size: 12px;
  line-height: 18px;
}
#detailModal:not(.is-analytics) .deepseek-visibility-section em {
  font-size: 11px;
  line-height: 17px;
}
#detailModal:not(.is-analytics) .deepseek-detail-error.is-muted {
  margin: 8px 0 0;
  border-color: #e5e7eb;
  background: #f8f9fa;
  color: #343a40;
}
#detailModal:not(.is-analytics) .deepseek-detail-error.is-muted p {
  color: #697386;
}
.detail-source-panel {
  min-height: 460px;
  padding: 4px 0;
}
.detail-source-panel > header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0 14px;
  border-bottom: 1px solid #e5e7eb;
}
.detail-source-panel > header > div {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 9px;
  background: #eef3ff;
  color: #1b4be5;
}
.detail-source-panel > header svg { width: 17px; height: 17px; }
.detail-source-panel h3 { margin: 0; color: #17191c; font-size: 15px; line-height: 22px; }
.detail-source-panel header p { margin: 1px 0 0; color: #7a8493; font-size: 12px; line-height: 18px; }
.detail-source-panel ol { display: grid; margin: 0; padding: 0; list-style: none; }
.detail-source-panel li {
  display: grid;
  min-width: 0;
  padding: 13px 2px;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid #edf0f4;
}
.detail-source-panel li > span {
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border-radius: 6px;
  background: #eef3ff;
  color: #1b4be5;
  font-size: 11px;
  font-weight: 650;
}
.detail-source-panel li > div { min-width: 0; }
.detail-source-panel li strong,
.detail-source-panel li p { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.detail-source-panel li strong { color: #343a40; font-size: 13px; line-height: 20px; }
.detail-source-panel li p { margin: 2px 0 0; color: #697386; font-size: 12px; line-height: 18px; }
.detail-source-panel li a { color: #1b4be5; font-size: 12px; font-weight: 600; text-decoration: none; }
#detailModal:not(.is-analytics) .detail-action-bar {
  min-height: 46px !important;
  margin-top: 8px !important;
  padding-top: 8px !important;
}
#detailModal:not(.is-analytics) .detail-action-bar button {
  min-width: 78px;
  min-height: 36px;
  height: 36px;
  padding: 0 14px;
  border-radius: 9px;
  font-size: 13px;
}
#detailModal:not(.is-analytics) .detail-action-bar #detailPrimaryAction {
  min-width: 116px;
  border-color: #1b4be5;
  background: #1b4be5;
  color: #fff;
}

@media (max-width: 820px) {
  #detailModal:not(.is-analytics) {
    width: calc(100vw - 20px) !important;
  }
  #detailModal:not(.is-analytics) .detail-modal-card {
    height: calc(100vh - 20px) !important;
    min-height: 0 !important;
    padding: 16px 16px 12px !important;
  }
  #detailModal:not(.is-analytics) .deepseek-detail-layout {
    display: block;
  }
  #detailModal:not(.is-analytics) .deepseek-detail-main,
  #detailModal:not(.is-analytics) .deepseek-detail-sidebar {
    height: auto;
  }
  #detailModal:not(.is-analytics) .deepseek-detail-main { display: grid; grid-template-rows: auto auto; }
  #detailModal:not(.is-analytics) .deepseek-overview-card,
  #detailModal:not(.is-analytics) .deepseek-signal-section,
  #detailModal:not(.is-analytics) .deepseek-geo-panel { height: auto; min-height: 0; margin-bottom: 10px; }
  #detailModal:not(.is-analytics) .deepseek-visibility-wide { margin-bottom: 8px; }
  #detailModal:not(.is-analytics) .deepseek-visibility-section > div,
  #detailModal:not(.is-analytics) .deepseek-visibility-section > div.is-channel { grid-template-columns: 1fr; }
  #detailModal:not(.is-analytics) .detail-action-bar { flex-wrap: wrap; }
  #detailModal:not(.is-analytics) .detail-research-footer { width: 100%; }
}

/* v124 typography scale: improve operational readability without changing the
   established OCTANS hierarchy or any business-score presentation. */
body { font-size: 14px; }
.brand strong { font-size: 16px; }
.brand small,.workspace-switcher small,.user-block small { font-size: 11px; }
.nav-label { font-size: 11px; }
.nav-item span { font-size: 13px; }
.route-card-head,.route-switch button,.workspace-switcher b,.user-block b { font-size: 12px; }
.breadcrumbs,.topbar-link,.topbar-user { font-size: 12px; }
.page-heading p { font-size: 14px; line-height: 22px; }
.primary-button,.secondary-button,.filter-button { font-size: 13px; }
.small-select { font-size: 12px; }
.metric-label { font-size: 13px; }
.metric-meta { font-size: 12px; }
.panel-head h2 { font-size: 16px; }
.panel-head p { font-size: 12px; line-height: 19px; }
.segmented-control button { font-size: 12px; }
.task-customer strong { font-size: 14px; }
.task-customer small,.task-signal span,.task-signal small,.task-action span { font-size: 12px; }
.task-action button,.panel-footer-link,.text-button { font-size: 12px; }
.customer-head p,.customer-score span,.customer-section p,.evidence-list div,.next-action span { font-size: 12px; }
.customer-section h3,.next-action strong { font-size: 13px; }
.analytics-compact-funnel span { min-width: 30px; font-size: 13px; line-height: 19px; }

/* v138 company detail: readable research state and verified public information. */
#detailModal:not(.is-analytics) .deepseek-detail-layout {
  grid-template-rows: 378px 96px 72px;
}
#detailModal:not(.is-analytics) .deepseek-overview-card p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}
.detail-reading-state {
  position: relative;
  display: grid;
  min-height: 96px;
  margin-top: 8px;
  padding: 1px 0 0 30px;
  align-content: start;
  overflow: hidden;
}
.detail-reading-state.is-geo {
  min-height: 276px;
  margin-top: 14px;
  padding: 4px 2px 0 34px;
}
.detail-reading-spinner {
  position: absolute;
  top: 2px;
  left: 1px;
  width: 18px;
  height: 18px;
  border: 2px solid #dce6ff;
  border-top-color: #1b4be5;
  border-radius: 50%;
  animation: detail-reading-spin .85s linear infinite;
}
.detail-reading-state strong {
  color: #25324a;
  font-size: 12px;
  line-height: 19px;
}
.detail-reading-state p {
  display: block !important;
  margin: 2px 0 10px !important;
  color: #718096 !important;
  font-size: 12px !important;
  line-height: 18px !important;
}
.detail-reading-state i {
  display: block;
  width: 100%;
  height: 7px;
  margin-top: 7px;
  border-radius: 99px;
  background: linear-gradient(90deg, #edf1f7 20%, #f9fbff 46%, #edf1f7 72%);
  background-size: 220% 100%;
  animation: detail-reading-shimmer 1.25s ease-in-out infinite;
}
.detail-reading-state i:nth-of-type(2) { width: 86%; }
.detail-reading-state i:nth-of-type(3) { width: 62%; }
.deepseek-public-info-section {
  grid-column: 1 / -1;
  min-width: 0;
  height: 72px;
  padding: 5px 14px 6px;
  border: 1px solid #dfe4ec;
  border-radius: 12px;
  background: #fff;
}
.deepseek-public-info-section > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.deepseek-public-info-section > header h3 {
  margin: 0;
  color: #17191c;
  font-size: 14px;
  font-weight: 650;
  line-height: 20px;
}
.deepseek-public-info-section > header span {
  color: #8993a3;
  font-size: 11px;
  line-height: 17px;
}
.deepseek-public-info-section dl {
  display: grid;
  margin: 3px 0 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 20px;
  row-gap: 1px;
}
.deepseek-public-info-section dl > div {
  display: grid;
  min-width: 0;
  grid-template-columns: 18px 58px minmax(0, 1fr);
  align-items: center;
  gap: 6px;
}
.deepseek-public-info-section dl > div > span,
.deepseek-public-info-section dl > div > span svg {
  width: 15px;
  height: 15px;
}
.deepseek-public-info-section dt {
  color: #697386;
  font-size: 11px;
  line-height: 17px;
  white-space: nowrap;
}
.deepseek-public-info-section dd {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  color: #34445a;
  font-size: 11px;
  line-height: 17px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.deepseek-public-info-section dd a {
  color: #1b4be5;
  text-decoration: none;
}
.deepseek-public-info-section dd em {
  color: #98a2b3;
  font-style: normal;
}
.deepseek-public-info-section dl > div.is-loading dd em::after {
  display: inline-block;
  width: 12px;
  content: "…";
  animation: detail-reading-dots 1.15s steps(4, end) infinite;
}
@keyframes detail-reading-spin { to { transform: rotate(360deg); } }
@keyframes detail-reading-shimmer { to { background-position: -220% 0; } }
@keyframes detail-reading-dots { 0% { width: 0; } 100% { width: 12px; } }

@media (max-height: 760px) and (min-width: 821px) {
  #detailModal:not(.is-analytics) .deepseek-detail-layout {
    grid-template-rows: 330px 88px 68px;
  }
  #detailModal:not(.is-analytics) .deepseek-public-info-section {
    height: 68px;
    padding-block: 3px 4px;
  }
  #detailModal:not(.is-analytics) .deepseek-public-info-section dl { margin-top: 2px; row-gap: 0; }
}

@media (max-width: 820px) {
  #detailModal:not(.is-analytics) .deepseek-public-info-section {
    height: auto;
    min-height: 0;
    margin-bottom: 8px;
  }
  #detailModal:not(.is-analytics) .deepseek-public-info-section dl { grid-template-columns: 1fr; }
  .detail-reading-state.is-geo { min-height: 170px; }
}

@media (prefers-reduced-motion: reduce) {
  .detail-reading-spinner,
  .detail-reading-state i,
  .deepseek-public-info-section dl > div.is-loading dd em::after { animation: none; }
}

/* v139 joint release: modal typography, bounded GEO copy and semantic public-info icons. */
#detailModal:not(.is-analytics) {
  --detail-section-size: 14px;
  --detail-section-line: 21px;
  --detail-body-size: 12px;
  --detail-body-line: 19px;
  --detail-meta-size: 11px;
  --detail-meta-line: 17px;
}
#detailModal:not(.is-analytics) .deepseek-detail-main h3,
#detailModal:not(.is-analytics) .deepseek-detail-sidebar h3,
#detailModal:not(.is-analytics) .deepseek-visibility-wide h3,
#detailModal:not(.is-analytics) .deepseek-public-info-section > header h3 {
  font-size: var(--detail-section-size);
  line-height: var(--detail-section-line);
}
#detailModal:not(.is-analytics) .deepseek-overview-card p,
#detailModal:not(.is-analytics) .deepseek-signal-section li p,
#detailModal:not(.is-analytics) .deepseek-geo-copy p,
#detailModal:not(.is-analytics) .deepseek-public-info-section dd {
  font-size: var(--detail-body-size);
  line-height: var(--detail-body-line);
}
#detailModal:not(.is-analytics) .deepseek-signal-section li strong,
#detailModal:not(.is-analytics) .deepseek-geo-copy strong,
#detailModal:not(.is-analytics) .deepseek-visibility-section b {
  font-size: var(--detail-body-size);
  line-height: 18px;
}
#detailModal:not(.is-analytics) .deepseek-visibility-section em,
#detailModal:not(.is-analytics) .deepseek-public-info-section dt,
#detailModal:not(.is-analytics) .deepseek-public-info-section > header span,
#detailModal:not(.is-analytics) .deepseek-geo-panel > header span {
  font-size: var(--detail-meta-size);
  line-height: var(--detail-meta-line);
}
#detailModal:not(.is-analytics) .deepseek-geo-copy {
  display: grid;
  min-height: 0;
  margin-top: 12px;
  gap: 10px;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  overflow: hidden;
}
#detailModal:not(.is-analytics) .deepseek-geo-copy article {
  min-height: 0;
  padding: 11px 10px;
  overflow: hidden;
}
#detailModal:not(.is-analytics) .deepseek-geo-copy section {
  min-height: 0;
  overflow: hidden;
}
#detailModal:not(.is-analytics) .deepseek-geo-copy p {
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 5 !important;
}
#detailModal:not(.is-analytics) .deepseek-public-info-section dl > div > span {
  display: grid;
  place-items: center;
}
#detailModal:not(.is-analytics) .deepseek-public-info-section dl > div > span svg {
  width: 15px;
  height: 15px;
  stroke-width: 2;
}
#detailModal:not(.is-analytics) .deepseek-public-info-section dl > div:nth-child(1) > span { color: #3e5abd; }
#detailModal:not(.is-analytics) .deepseek-public-info-section dl > div:nth-child(2) > span { color: #6757d9; }
#detailModal:not(.is-analytics) .deepseek-public-info-section dl > div:nth-child(3) > span { color: #168a63; }
#detailModal:not(.is-analytics) .deepseek-public-info-section dl > div:nth-child(4) > span { color: #b76a00; }

/* v145 customer detail readability: complete status copy, consistent type and aligned facts. */
#detailModal:not(.is-analytics) {
  --detail-section-size: 15px;
  --detail-section-line: 22px;
  --detail-body-size: 14px;
  --detail-body-line: 22px;
  --detail-meta-size: 13px;
  --detail-meta-line: 20px;
}
#detailModal:not(.is-analytics) .modal-head p,
#detailModal:not(.is-analytics) .detail-score-strip > div,
#detailModal:not(.is-analytics) .detail-score-strip strong span,
#detailModal:not(.is-analytics) .detail-inline-loading span,
#detailModal:not(.is-analytics) .detail-reading-state p,
#detailModal:not(.is-analytics) .deepseek-footer-summary,
#detailModal:not(.is-analytics) .deepseek-footer-summary strong,
#detailModal:not(.is-analytics) .deepseek-footer-summary span {
  font-size: var(--detail-meta-size) !important;
  line-height: var(--detail-meta-line) !important;
}
#detailModal:not(.is-analytics) .detail-modal-card { min-height: 0 !important; }
#detailModal:not(.is-analytics) .deepseek-detail-layout { grid-template-rows: auto auto auto; }
#detailModal:not(.is-analytics) .deepseek-detail-layout.is-enterprise { grid-template-rows: auto auto; }
#detailModal:not(.is-analytics) .deepseek-detail-main {
  height: auto;
  grid-template-rows: 154px minmax(238px, auto);
}
#detailModal:not(.is-analytics) .deepseek-signal-section { height: auto; }
#detailModal:not(.is-analytics) .deepseek-detail-sidebar { height: auto; align-self: stretch; }
#detailModal:not(.is-analytics) .deepseek-geo-panel { height: 100%; min-height: 402px; }
#detailModal:not(.is-analytics) .deepseek-signal-section li strong,
#detailModal:not(.is-analytics) .deepseek-geo-copy strong,
#detailModal:not(.is-analytics) .deepseek-visibility-section b { line-height: var(--detail-body-line); }
#detailModal:not(.is-analytics) .detail-source-panel p,
#detailModal:not(.is-analytics) .detail-source-panel li > span,
#detailModal:not(.is-analytics) .detail-source-panel li a {
  font-size: var(--detail-meta-size);
  line-height: var(--detail-meta-line);
}
#detailModal:not(.is-analytics) .deepseek-geo-panel > header {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
#detailModal:not(.is-analytics) .deepseek-geo-panel > header h3 {
  min-width: 0;
  flex: 1 1 auto;
}
#detailModal:not(.is-analytics) .deepseek-geo-panel > header span {
  width: auto;
  min-width: max-content;
  max-width: none;
  flex: 0 0 auto;
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
}
#detailModal:not(.is-analytics) .deepseek-public-info-section {
  display: flex;
  min-height: 72px;
  align-items: center;
  padding: 10px 16px;
}
#detailModal:not(.is-analytics) .deepseek-public-info-section dl {
  width: 100%;
  margin: 0;
  column-gap: 32px;
  row-gap: 6px;
}
#detailModal:not(.is-analytics) .deepseek-public-info-section dl > div {
  grid-template-columns: 18px 68px minmax(0, 1fr);
  gap: 8px;
}
#detailModal:not(.is-analytics) .deepseek-public-info-section dt,
#detailModal:not(.is-analytics) .deepseek-public-info-section dd {
  font-size: var(--detail-meta-size);
  line-height: var(--detail-meta-line);
}
@media (max-height: 760px) and (min-width: 821px) {
  #detailModal:not(.is-analytics) .deepseek-public-info-section {
    height: 68px;
    min-height: 68px;
    padding-block: 8px;
  }
  #detailModal:not(.is-analytics) .deepseek-public-info-section dl {
    margin: 0;
    row-gap: 2px;
  }
}
@media (max-width: 820px) {
  #detailModal:not(.is-analytics) .deepseek-detail-main { grid-template-rows: auto auto; }
  #detailModal:not(.is-analytics) .deepseek-geo-panel { height: auto; min-height: 0; }
  #detailModal:not(.is-analytics) .deepseek-public-info-section {
    height: auto;
    min-height: 0;
    align-items: stretch;
    padding-block: 12px;
  }
  #detailModal:not(.is-analytics) .deepseek-public-info-section dl {
    row-gap: 8px;
  }
}
/* Homepage facts replace recommendation prose; keep a compact narrow-screen fallback. */
#view-home .task-location span, #view-home .task-location small { font-size: 13px !important; line-height: 20px !important; font-weight: 400; color: var(--ui-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#view-home .task-location em { display: inline-block; margin-right: 12px; font-style: normal; color: var(--ui-text-muted); }
@media (min-width: 1181px) { #view-home .task-mobile-meta { display: none; } }
#view-home #homeTasks { container-type: inline-size; grid-template-rows: none !important; grid-auto-rows: minmax(min-content, auto); overflow-y: auto; }
/* Shared operator/market list typography; keep score hierarchy without oversized text. */
#view-home #homeTasks .task-row,
#view-home #homeTasks .task-row :where(strong, small, span, em, button, .company-avatar) {
  font-family: var(--ui-font) !important;
  font-size: 13px !important;
  line-height: 20px !important;
}
#view-home #homeTasks .task-row .score {
  font-family: var(--ui-font) !important;
  font-size: 24px !important;
  line-height: 28px !important;
}
@container (max-width: 900px) {
  #view-home #homeTasks .task-row { grid-template-columns: 30px minmax(0, 1fr) 76px !important; grid-template-rows: auto auto auto; width: 100%; min-width: 0; min-height: 150px !important; gap: 6px 12px; }
  #view-home #homeTasks .task-row .company-avatar { grid-column: 1; grid-row: 1; }
  #view-home #homeTasks .task-row .task-customer { grid-column: 2; grid-row: 1; }
  #view-home #homeTasks .task-row .score { grid-column: 3; grid-row: 1 / 3; }
  #view-home #homeTasks .task-row .task-location { display: block; grid-column: 2; grid-row: 2; }
  #view-home #homeTasks .task-row .task-mobile-meta { display: none; }
  #view-home #homeTasks .task-row .market-pack-state { grid-column: 2; grid-row: 3; }
  #view-home #homeTasks .task-row .task-action { grid-column: 3; grid-row: 3; justify-content: flex-end; margin: 0; }
}

/* v186: error cards use full-width readable status and action rows. */
.solution-empty.solution-notice { grid-template-columns:minmax(0,1fr); gap:8px; }
.solution-notice > strong,.solution-notice > p,.solution-notice > button { grid-column:1/-1; overflow-wrap:anywhere; }
.solution-notice > button { justify-self:start; }
.solution-progress[role="status"] strong { display:block; line-height:1.5; }
.solution-progress[role="status"] p { line-height:1.6; overflow-wrap:anywhere; }
#exportBatchCreate[hidden] { display:none; }

/* Keep score geometry stable when the business text grows. */
#view-home .customer-content-scroll > .score-meter{height:6px!important;min-height:6px;flex:0 0 6px;}
#view-home .customer-content-scroll > .customer-head,#view-home .customer-content-scroll > .customer-score{flex-shrink:0;}
#view-home .cp-home-business ul{grid-template-columns:repeat(2,minmax(0,1fr));}

.task-stage-progress{height:6px;min-height:6px;flex-shrink:0;background:#e8edf8;border-radius:4px;overflow:hidden;margin:16px 0 8px}.task-stage-progress i{height:100%;display:block;background:#4056c5;transition:width .25s ease}.cp-search-progress{margin:0;border-radius:0}.task-stage-progress.is-indeterminate i{animation:task-scan 1.4s ease-in-out infinite}@keyframes task-scan{from{transform:translateX(-100%)}to{transform:translateX(350%)}}@media(prefers-reduced-motion:reduce){.task-stage-progress i{transition:none}.task-stage-progress.is-indeterminate i{animation:none;width:100%!important;opacity:.45}}

/* v190: the removed decoration no longer reserves a narrow text column. */
.solution-empty { grid-template-columns: minmax(0,1fr); }
.solution-empty > div, .solution-empty > strong, .solution-empty > p { grid-column: 1 / -1; min-width: 0; }

/* Batch export owns the single primary action on the filter screen. */
#exportModal [hidden]{display:none!important;}

/* Import deletion: distinct focusable action before each table name. */
.import-batch-row { display:flex; align-items:center; gap:2px; min-width:0; }
.import-batch-row > .import-batch-option { flex:1; min-width:0; }
.import-batch-delete { display:grid; place-items:center; flex:0 0 28px; width:28px; height:32px; padding:3px; border:0; border-radius:6px; color:#667085; background:transparent; cursor:pointer; }
.import-batch-delete svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; }
.import-batch-delete:hover { color:#b42318; background:#fef3f2; }
.import-batch-delete:focus-visible { outline:2px solid #1b4be5; outline-offset:1px; }
.import-batch-delete:disabled { opacity:.45; cursor:wait; }
#confirmMessage { white-space:pre-line; overflow-wrap:anywhere; }

#importResult.is-error { background: #fff1f0; color: #a52b24; }
:root[data-theme="dark"] #importResult.is-error { background: #3a2225; color: #ffb4ab; }
