/* v1.6.85.1 presentation maintenance overlay.
 * Keeps the locked v1.6.85 base stylesheet intact.
 */

.panel-note {
  margin: -7px 0 17px;
  max-width: 980px;
  color: var(--muted-2);
  font-size: 10px;
  line-height: 1.55;
}

/* Validation pipeline replaces bar-like funnel presentation. */
.funnel.pipeline-mode {
  display: grid;
  grid-template-columns: repeat(5, minmax(96px, 1fr));
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 4px;
}

.funnel-stage {
  position: relative;
  min-height: 112px;
  padding: 14px 12px;
  border-radius: 16px;
  background:
    linear-gradient(145deg, rgba(76,126,255,.13), rgba(255,255,255,.025));
  border: 1px solid rgba(118,184,255,.10);
  overflow: hidden;
}

.funnel-stage::after {
  content: "";
  position: absolute;
  width: 86px;
  height: 86px;
  right: -38px;
  top: -39px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(84,143,255,.18), transparent 70%);
}

.funnel-stage-label {
  position: relative;
  z-index: 1;
  min-height: 30px;
  color: #aebed7;
  font-size: 9px;
  font-weight: 760;
  letter-spacing: .04em;
  text-transform: uppercase;
  line-height: 1.35;
}

.funnel-stage-count {
  position: relative;
  z-index: 1;
  margin-top: 7px;
  font-size: 28px;
  font-weight: 820;
  line-height: 1;
  letter-spacing: -.045em;
}

.funnel-stage-conversion {
  position: relative;
  z-index: 1;
  margin-top: 9px;
  color: var(--muted-2);
  font-size: 8px;
  line-height: 1.35;
}

.funnel-stage.current {
  border-color: rgba(102,226,255,.20);
  box-shadow: inset 0 0 30px rgba(67,135,255,.06);
}

.funnel-stage.execution {
  border-color: rgba(255,199,103,.13);
}

/* Current-account shortlist. */
.current-account-panel {
  margin-bottom: 14px;
  background:
    linear-gradient(145deg, rgba(45,105,226,.12), rgba(255,255,255,.018) 36%),
    linear-gradient(180deg, rgba(10,26,55,.78), rgba(4,12,28,.64));
}

.current-account-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.shortlist-card {
  position: relative;
  overflow: hidden;
  min-height: 178px;
  padding: 16px;
  border-radius: 18px;
  background:
    linear-gradient(145deg, rgba(85,145,255,.13), rgba(255,255,255,.025) 38%),
    rgba(3,13,31,.58);
  border: 1px solid rgba(102,226,255,.13);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045);
}

.shortlist-card::after {
  content: "";
  position: absolute;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  right: -58px;
  top: -61px;
  background: radial-gradient(circle, rgba(102,226,255,.10), transparent 70%);
}

.shortlist-top,
.shortlist-bottom {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.shortlist-asset {
  font-size: 25px;
  font-weight: 820;
  letter-spacing: -.045em;
}

.shortlist-path {
  margin-top: 4px;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.45;
}

.shortlist-edge {
  margin-top: 18px;
  font-size: 23px;
  font-weight: 810;
  letter-spacing: -.04em;
}

.shortlist-edge.positive {
  color: #7ff0bd;
}

.shortlist-evidence {
  margin-top: 4px;
  color: var(--muted-2);
  font-size: 9px;
}

.shortlist-bottom {
  margin-top: 16px;
  align-items: center;
}

.shortlist-readiness {
  color: #b9c9e0;
  font-size: 9px;
  line-height: 1.4;
}

.shortlist-readiness strong {
  display: block;
  margin-top: 2px;
  color: #e8f1ff;
  font-size: 12px;
}

/* Four-control research toolbar. */
.control-row {
  grid-template-columns: minmax(280px, 1fr) 210px 145px 210px;
}

/* Stronger route-state hierarchy. */
.operational-state {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  margin-bottom: 12px;
  padding: 5px 8px;
  border-radius: 9px;
  font-size: 8px;
  font-weight: 820;
  letter-spacing: .07em;
  text-transform: uppercase;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.035);
  color: #a9bbd5;
}

.operational-state.candidate {
  color: #91efc6;
  border-color: rgba(77,227,164,.18);
  background: rgba(77,227,164,.065);
  box-shadow: 0 0 24px rgba(77,227,164,.045);
}

.operational-state.blocked {
  color: #ffd693;
  border-color: rgba(255,199,103,.18);
  background: rgba(255,199,103,.055);
}

.operational-state.deferred {
  color: #c4b5ff;
  border-color: rgba(154,124,255,.19);
  background: rgba(154,124,255,.055);
}

.operational-state.pending {
  color: #9cc6ff;
  border-color: rgba(118,184,255,.17);
  background: rgba(118,184,255,.05);
}

.route-card.current-account-route {
  border-color: rgba(77,227,164,.22);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.055),
    0 0 42px rgba(77,227,164,.035);
}

.readiness-badge {
  position: relative;
  z-index: 1;
  min-width: 118px;
  padding: 9px 11px;
  border-radius: 15px;
  text-align: right;
  background: rgba(77,132,255,.12);
  border: 1px solid rgba(115,169,255,.20);
}

.readiness-badge-label {
  display: block;
  color: var(--muted-2);
  font-size: 7px;
  font-weight: 780;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.readiness-badge-value {
  display: block;
  margin-top: 3px;
  color: #eaf2ff;
  font-size: 13px;
  font-weight: 820;
}

.route-profit.single-evidence {
  grid-template-columns: minmax(0, 1fr) 142px;
}

.gross-pending {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 12px;
  border-radius: 14px;
  background: rgba(255,255,255,.021);
  border: 1px dashed rgba(255,255,255,.075);
}

.gross-pending span {
  color: var(--muted-2);
  font-size: 8px;
  text-transform: uppercase;
  letter-spacing: .07em;
}

.gross-pending strong {
  margin-top: 5px;
  color: #899bb7;
  font-size: 11px;
}

.observation-count-chip {
  color: #9ac6ff;
  border-color: rgba(118,184,255,.14);
  background: rgba(118,184,255,.055);
}

.observation-history {
  grid-column: 1 / -1;
}

.observation-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border-radius: 11px;
  background: rgba(255,255,255,.028);
  color: #aebed4;
  font-size: 9px;
}

.observation-index {
  color: #7aaeff;
  font-weight: 820;
}

.observation-route {
  overflow-wrap: anywhere;
}

.observation-metric {
  text-align: right;
  color: #c9d7eb;
  font-weight: 700;
}

.top-routes-panel .panel-header {
  margin-bottom: 17px;
}

@media (max-width: 1180px) {
  .current-account-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .control-row {
    grid-template-columns: minmax(260px, 1fr) 190px 140px;
  }

  #sortSelect {
    grid-column: span 1;
  }
}

@media (max-width: 860px) {
  .funnel.pipeline-mode {
    grid-template-columns: repeat(5, 145px);
  }

  .current-account-grid {
    grid-template-columns: 1fr 1fr;
  }

  .control-row {
    grid-template-columns: 1fr 1fr;
  }

  #sortSelect {
    grid-column: auto;
  }
}

@media (max-width: 560px) {
  .current-account-grid {
    grid-template-columns: 1fr;
  }

  .control-row {
    grid-template-columns: 1fr;
  }

  .route-profit.single-evidence {
    grid-template-columns: 1fr;
  }

  .readiness-badge {
    min-width: 104px;
  }

  .observation-row {
    grid-template-columns: auto 1fr;
  }

  .observation-metric {
    grid-column: 2;
    text-align: left;
  }
}