/* ============================================================
   VERDICT TOOL v121 — Flip-clean facelift
   Overrides verdict-v2.css to match the Flip-clean composition:
   • DEAL TYPES rail (left) | Intake (center) | Verdict summary (right)
   • Dark navy/cobalt palette, neon reserved for verdict moment
   • v2 engine, math, and DOM IDs untouched
   ============================================================ */

:root, .v2-shell {
  --v121-bg:        #060810;
  --v121-panel:     #0B0F1A;
  --v121-panel-2:   #0F1425;
  --v121-panel-3:   #141B30;
  --v121-line:      #1A2340;
  --v121-line-2:    #243158;
  --v121-ink:       #E9ECF2;
  --v121-ink-2:     #B4BCD0;
  --v121-muted:     #6B7590;
  --v121-faint:     #3E4665;
  --v121-cobalt:    #1E4CFF;
  --v121-cobalt-2:  #3B65FF;
  --v121-cobalt-glow: rgba(30,76,255,.35);
  --v121-neon:      #A6F04A;
  --v121-neon-2:    #C4FF6E;
  --v121-neon-glow: rgba(166,240,74,.35);
  --v121-caution:   #FFB84A;
  --v121-fail:      #FF5C7A;
}

/* ---------- Body / shell background ---------- */
body.v2-page,
body:has(#v2-shell) {
  background: var(--v121-bg) !important;
}

.v2-shell {
  background:
    radial-gradient(1200px 800px at 12% -10%, rgba(30,76,255,.10), transparent 55%),
    radial-gradient(1000px 700px at 88% 110%, rgba(30,76,255,.08), transparent 55%),
    var(--v121-bg) !important;
  color: var(--v121-ink);
  max-width: 1440px;
  margin: 0 auto;
  padding: 28px 32px 48px;
  grid-template-columns: 240px 1fr !important;
  gap: 24px;
}

/* ---------- Sidebar (DEAL TYPES rail) ---------- */
.v2-sidebar,
.v2-persona {
  background: linear-gradient(180deg, var(--v121-panel), var(--v121-panel-2)) !important;
  border: 1px solid var(--v121-line) !important;
  border-radius: 16px !important;
  padding: 18px 12px !important;
}

.v2-persona__title,
.v2-persona-tree .v2-persona__label,
.v2-nav__title {
  font-size: 10px !important;
  letter-spacing: 0.24em !important;
  color: var(--v121-muted) !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  padding: 0 8px 12px !important;
}

/* Lane / persona buttons */
.v2-persona__btn,
.v2-persona-node,
.v2-nav__link,
.v2-lane-item,
.v2-nav__item {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 12px !important;
  border-radius: 8px !important;
  border: none !important;
  background: transparent !important;
  color: var(--v121-ink-2) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  cursor: pointer;
  transition: all 0.18s ease;
  position: relative;
  width: 100%;
  text-align: left;
}

.v2-persona__btn:hover,
.v2-persona-node:hover,
.v2-nav__link:hover,
.v2-lane-item:hover,
.v2-nav__item:hover {
  background: rgba(30,76,255,.08) !important;
  color: var(--v121-ink) !important;
}

/* Active lane: cobalt bar inset + subtle gradient + dot glow */
.v2-persona__btn.is-active,
.v2-persona__btn[aria-current="true"],
.v2-persona-node.is-active,
.v2-nav__link.is-active,
.v2-nav__link[aria-current="page"],
.v2-lane-item.is-active,
.v2-lane-item[aria-current="true"],
.v2-nav__item.is-active {
  background: linear-gradient(90deg, rgba(30,76,255,.20), rgba(30,76,255,.05)) !important;
  color: var(--v121-ink) !important;
  box-shadow: inset 2px 0 0 var(--v121-cobalt) !important;
  font-weight: 600 !important;
}

.v2-persona__btn.is-active::before,
.v2-persona-node.is-active::before,
.v2-nav__link.is-active::before,
.v2-lane-item.is-active::before,
.v2-nav__item.is-active::before {
  content: "";
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--v121-cobalt-2);
  box-shadow: 0 0 8px var(--v121-cobalt-glow), 0 0 2px var(--v121-cobalt);
}

/* ---------- Main column ---------- */
.v2-main {
  min-width: 0;
}

.v2-header {
  background: linear-gradient(180deg, var(--v121-panel), var(--v121-panel-2)) !important;
  border: 1px solid var(--v121-line) !important;
  border-radius: 16px !important;
  padding: 16px 20px !important;
  margin-bottom: 20px !important;
  color: var(--v121-ink);
}

/* ---------- Columns: Intake (center) | Verdict (right) — Notes hidden on desktop row ---------- */
.v2-columns {
  grid-template-columns: minmax(0, 1fr) 360px !important;
  gap: 20px !important;
}

/* Reorder: Verdict pane moves to the RIGHT (column 2), Intake stays LEFT (column 1), Notes pane hidden on top row */
.v2-verdict-pane { order: 2; grid-column: 2 !important; }
.v2-intake-pane  { order: 1; grid-column: 1 !important; }
.v2-notes-pane   { display: none !important; }  /* Notes/highlights folded into Insights block below */

/* ---------- Card treatments ---------- */
.v2-card {
  background: linear-gradient(180deg, var(--v121-panel), var(--v121-panel-2)) !important;
  border: 1px solid var(--v121-line) !important;
  border-radius: 16px !important;
  box-shadow: 0 2px 0 rgba(0,0,0,.2) inset, 0 8px 32px rgba(0,0,0,.25) !important;
}

.v2-card__head {
  border-bottom: 1px solid var(--v121-line) !important;
  padding: 14px 18px !important;
}

.v2-card__title {
  font-size: 11px !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  color: var(--v121-muted) !important;
  font-weight: 600 !important;
}

.v2-card__action {
  background: transparent !important;
  border: 1px solid var(--v121-line-2) !important;
  color: var(--v121-ink-2) !important;
  padding: 6px 10px !important;
  font-size: 11px !important;
  letter-spacing: 0.06em !important;
  border-radius: 6px !important;
  text-transform: uppercase;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.18s ease;
}

.v2-card__action:hover {
  border-color: var(--v121-cobalt);
  color: var(--v121-ink);
  background: rgba(30,76,255,.08) !important;
}

/* ---------- Verdict pane (right) ---------- */
.v2-verdict-pane {
  padding: 0 !important;
  position: relative;
  overflow: hidden;
}

.v2-verdict-pane::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(600px 300px at 50% 100%, var(--v121-neon-glow), transparent 60%);
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
  z-index: 0;
}

.v2-verdict-pane[data-tier="stress-tested"]::before,
.v2-verdict-pane[data-tier="pass"]::before {
  opacity: 0.4;
}
.v2-verdict-pane[data-tier="caution"]::before {
  background: radial-gradient(600px 300px at 50% 100%, rgba(255,184,74,.30), transparent 60%);
  opacity: 0.5;
}
.v2-verdict-pane[data-tier="reconsider"]::before,
.v2-verdict-pane[data-tier="fail"]::before {
  background: radial-gradient(600px 300px at 50% 100%, rgba(255,92,122,.30), transparent 60%);
  opacity: 0.5;
}

.v2-verdict-pane > * { position: relative; z-index: 1; }

.v2-verdict-pane .v2-card__head { padding: 18px 20px 8px !important; text-align: center; border: none !important; }

/* Gauge */
.v2-gauge-wrap {
  width: 200px !important;
  height: 200px !important;
  margin: 8px auto 20px !important;
}

.v2-gauge__score {
  font-size: 56px !important;
  font-weight: 700 !important;
  color: var(--v121-ink) !important;
  letter-spacing: -0.02em;
  line-height: 1;
}

.v2-gauge__of {
  font-size: 12px !important;
  color: var(--v121-muted) !important;
  letter-spacing: 0.12em;
  margin-top: 4px;
}

/* Tier stamp */
.v2-tier {
  text-align: center;
  padding: 0 20px 16px;
}

.v2-tier__label {
  font-size: 18px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--v121-ink) !important;
  margin-bottom: 4px;
}

.v2-verdict-pane[data-tier="stress-tested"] .v2-tier__label,
.v2-verdict-pane[data-tier="pass"] .v2-tier__label {
  color: var(--v121-neon) !important;
  text-shadow: 0 0 20px var(--v121-neon-glow);
}
.v2-verdict-pane[data-tier="caution"] .v2-tier__label {
  color: var(--v121-caution) !important;
}
.v2-verdict-pane[data-tier="reconsider"] .v2-tier__label,
.v2-verdict-pane[data-tier="fail"] .v2-tier__label {
  color: var(--v121-fail) !important;
}

.v2-tier__sub {
  font-size: 12px !important;
  color: var(--v121-muted) !important;
  letter-spacing: 0.04em;
}

/* Risk chip */
.v2-risk {
  margin: 0 18px 16px !important;
  padding: 12px 14px !important;
  background: rgba(30,76,255,.06) !important;
  border: 1px solid var(--v121-line-2) !important;
  border-radius: 10px !important;
  display: flex;
  align-items: center;
  gap: 12px;
}

.v2-risk__icon { color: var(--v121-cobalt-2); flex-shrink: 0; }
.v2-risk__label {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  color: var(--v121-ink) !important;
  text-transform: uppercase;
}
.v2-risk__hint {
  font-size: 11px !important;
  color: var(--v121-muted) !important;
  margin-top: 2px;
}

/* KPI grid: 3x2 in verdict pane (engine emits 6) */
.v2-kpis {
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 8px !important;
  padding: 0 18px 16px !important;
}

/* Ensure DEAL TYPES rail block + label are visible in dark theme */
.v2-persona-block,
.v2-persona-block--tree {
  display: block !important;
  margin-top: 20px;
}

.v2-persona-label {
  display: block !important;
  font-size: 10px !important;
  letter-spacing: 0.18em !important;
  color: var(--v121-muted) !important;
  text-transform: uppercase;
  font-weight: 600;
  padding: 0 4px 10px;
  border-bottom: 1px solid var(--v121-line);
  margin-bottom: 10px;
}

.v2-persona-tree,
.v2-persona-group__wrap,
.v2-persona-children {
  display: block !important;
}

.v2-persona-children {
  display: flex !important;
  flex-direction: column;
  gap: 4px;
}

.v2-kpi {
  background: rgba(20,27,48,.6) !important;
  border: 1px solid var(--v121-line) !important;
  border-radius: 10px !important;
  padding: 12px !important;
}

.v2-kpi__lbl {
  font-size: 9px !important;
  letter-spacing: 0.18em !important;
  color: var(--v121-muted) !important;
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: 4px;
}

.v2-kpi__val {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--v121-ink) !important;
  letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums;
}

.v2-verdict-pane__view {
  margin: 0 18px 18px !important;
  width: calc(100% - 36px);
  background: transparent !important;
  border: 1px solid var(--v121-line-2) !important;
  color: var(--v121-ink-2) !important;
  padding: 10px 16px !important;
  border-radius: 10px !important;
  font-size: 12px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase;
  font-weight: 600;
  transition: all 0.18s ease;
}

.v2-verdict-pane__view:hover {
  border-color: var(--v121-cobalt);
  color: var(--v121-ink);
  background: rgba(30,76,255,.08) !important;
}

/* ---------- Intake pane (center) ---------- */
.v2-intake-pane {
  padding: 0 !important;
}

.v2-intake__body {
  padding: 20px !important;
  max-height: none !important;
}

/* Inputs */
.v2-intake-pane input[type="text"],
.v2-intake-pane input[type="number"],
.v2-intake-pane select,
.v2-intake-pane textarea,
.v119-input,
.v119-select {
  background: rgba(20,27,48,.5) !important;
  border: 1px solid var(--v121-line-2) !important;
  color: var(--v121-ink) !important;
  border-radius: 8px !important;
  padding: 10px 12px !important;
  font-size: 14px !important;
  font-variant-numeric: tabular-nums;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.v2-intake-pane input:focus,
.v2-intake-pane select:focus,
.v2-intake-pane textarea:focus,
.v119-input:focus,
.v119-select:focus {
  outline: none !important;
  border-color: var(--v121-cobalt) !important;
  box-shadow: 0 0 0 3px rgba(30,76,255,.15) !important;
}

.v2-field-grid,
.v119-fieldgrid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

/* Labels */
.v2-intake-pane label,
.v119-label,
.v119-field label {
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  color: var(--v121-muted) !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  margin-bottom: 6px;
}

/* Run button — cobalt CTA */
.v2-btn--run {
  margin: 0 20px 20px !important;
  background: linear-gradient(180deg, var(--v121-cobalt-2), var(--v121-cobalt)) !important;
  border: 1px solid var(--v121-cobalt-2) !important;
  color: white !important;
  padding: 14px 20px !important;
  font-size: 13px !important;
  letter-spacing: 0.14em !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  box-shadow: 0 4px 24px var(--v121-cobalt-glow), 0 0 0 1px rgba(255,255,255,.05) inset !important;
  transition: all 0.2s ease;
  width: calc(100% - 40px);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.v2-btn--run:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 32px var(--v121-cobalt-glow), 0 0 0 1px rgba(255,255,255,.08) inset !important;
}

.v2-btn--run__kbd {
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.2);
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 11px;
  font-family: inherit;
}

/* ---------- Show the Work / Insights / Fund CTA blocks below ---------- */
.v2-results {
  margin-top: 24px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.v2-results__block {
  background: linear-gradient(180deg, var(--v121-panel), var(--v121-panel-2)) !important;
  border: 1px solid var(--v121-line) !important;
  border-radius: 16px !important;
  padding: 20px 22px !important;
}

.v2-results__block-title,
.v2-results__title,
.v2-work-title,
.v2-insights-title {
  font-size: 11px !important;
  letter-spacing: 0.24em !important;
  color: var(--v121-muted) !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  margin-bottom: 14px;
}

/* Insights: 3 buckets */
.v2-insights__grid {
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px !important;
}

.v2-insights__col {
  background: rgba(20,27,48,.5);
  border: 1px solid var(--v121-line);
  border-radius: 12px;
  padding: 16px;
}

.v2-insights__col-title {
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: 10px;
}

.v2-insights__col--works .v2-insights__col-title { color: var(--v121-neon); }
.v2-insights__col--doesnt .v2-insights__col-title,
.v2-insights__col--issues .v2-insights__col-title { color: var(--v121-caution); }
.v2-insights__col--improve .v2-insights__col-title { color: var(--v121-cobalt-2); }

.v2-insights__list,
.v2-hl__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.v2-insights__list li,
.v2-hl__list li {
  font-size: 13px;
  color: var(--v121-ink-2);
  line-height: 1.5;
  padding-left: 16px;
  position: relative;
}

.v2-insights__list li::before,
.v2-hl__list li::before {
  content: "•";
  position: absolute;
  left: 4px;
  color: var(--v121-cobalt-2);
}

/* Get Funded CTA bar */
.v2-cta-bar,
.v2-fundcta {
  background: linear-gradient(90deg, var(--v121-panel-3), var(--v121-panel-2)) !important;
  border: 1px solid var(--v121-cobalt) !important;
  border-radius: 14px !important;
  padding: 18px 22px !important;
  box-shadow: 0 0 0 1px rgba(30,76,255,.15), 0 8px 32px var(--v121-cobalt-glow) !important;
}

.v2-cta-bar .v2-btn,
.v2-fundcta .v2-btn,
.v2-fundcta__btn {
  background: linear-gradient(180deg, var(--v121-cobalt-2), var(--v121-cobalt)) !important;
  border: none !important;
  color: white !important;
  padding: 12px 24px !important;
  font-size: 12px !important;
  letter-spacing: 0.14em !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
}

/* ---------- Responsive ---------- */
@media (max-width: 1180px) {
  .v2-shell {
    grid-template-columns: 220px 1fr !important;
    padding: 20px 20px 40px;
  }
  .v2-columns {
    grid-template-columns: minmax(0, 1fr) 320px !important;
  }
  .v2-insights__grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 960px) {
  .v2-shell {
    grid-template-columns: 1fr !important;
    padding: 12px 14px 28px;
  }

  /* Sidebar collapses into a compact horizontal strip on mobile */
  .v2-sidebar {
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 10px 12px !important;
    min-height: 0 !important;
    height: auto !important;
    border-right: none !important;
    border-bottom: 1px solid var(--v121-line) !important;
    overflow-x: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    background: rgba(8,11,20,0.65) !important;
    margin-bottom: 12px !important;
  }
  .v2-logo {
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    flex-shrink: 0;
  }
  .v2-logo__text {
    flex-direction: row !important;
    align-items: baseline !important;
    gap: 8px !important;
  }
  .v2-logo__sub { font-size: 8.5px !important; margin-top: 0 !important; }
  .v2-nav {
    flex-direction: row !important;
    gap: 4px !important;
    margin: 0 !important;
    flex-shrink: 0;
  }
  .v2-nav__item {
    padding: 6px 10px !important;
    font-size: 11.5px !important;
    box-shadow: none !important;
  }

  /* Move DEAL TYPES rail into a horizontal scroll bar on mobile */
  .v2-persona-block,
  .v2-persona-block--tree {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    flex-shrink: 0;
  }
  .v2-persona-label { display: none !important; }
  .v2-persona-tree,
  .v2-persona-group__wrap,
  .v2-persona-children {
    display: flex !important;
    flex-direction: row !important;
    gap: 4px !important;
    padding: 0 !important;
  }
  .v2-lane-item {
    padding: 6px 10px !important;
    font-size: 11.5px !important;
    white-space: nowrap;
    box-shadow: none !important;
  }
  .v2-sidebar-foot { display: none !important; }

  /* Main columns stack: intake first, then verdict */
  .v2-columns {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .v2-verdict-pane { order: 2; grid-column: 1 !important; }
  .v2-intake-pane  { order: 1; grid-column: 1 !important; }
  .v2-notes-pane   { display: none !important; }

  .v2-field-grid,
  .v119-fieldgrid {
    grid-template-columns: 1fr !important;
  }
  .v2-kpis { grid-template-columns: repeat(2, 1fr) !important; }
}

/* ---------- Gauge: hide blank-state linecap dot ---------- */
.v2-gauge-wrap:not(.is-live) .v2-gauge__arc {
  opacity: 0 !important;
}

/* ---------- SOON labels: strip them (all 6 lanes live) ---------- */
.v2-persona__soon,
.v2-nav__soon,
.v119-soon,
[data-soon="true"] .v2-persona__soon,
.persona-soon-label {
  display: none !important;
}

/* ---------- v36.197 — "Soon" badge on unscored deal-type lanes ----------
   Fix & Flip is the only fully scored lane. Buy & Hold, Multi-Family and
   Wholesale render a real intake but the verdict panel does not score them
   yet, so the sidebar says so before an operator invests time in the form.
   Deliberately NOT named *__soon / .v119-soon — those are suppressed above. */
.v2-lane-item .v2-lane-soon {
  margin-left: auto;
  padding: 2px 6px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 3px;
  font-size: 8.5px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(233, 237, 243, 0.52);
  background: rgba(255, 255, 255, 0.04);
  line-height: 1.5;
  flex: 0 0 auto;
  white-space: nowrap;
}
.v2-lane-item { display: flex; align-items: center; gap: 8px; }
.v2-lane-item:hover .v2-lane-soon { color: rgba(233, 237, 243, 0.72); }

/* ---------- v36.197 — legal note under the score panel ----------
   Quiet by design: present and reachable, never competing with the verdict. */
.v2-legalnote {
  margin: 10px 0 0;
  font-size: 10.5px;
  line-height: 1.55;
  letter-spacing: .01em;
  color: rgba(233, 237, 243, 0.34);
}
.v2-legalnote a {
  color: rgba(233, 237, 243, 0.52);
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: .5px;
}
.v2-legalnote a:hover { color: rgba(233, 237, 243, 0.86); }

/* ---------- v36.197 — RUN disabled on lanes that cannot score ----------
   Reads as inert rather than as a primary action waiting to be pressed. */
.v2-btn--run[data-v197-preview="true"] {
  background: rgba(255, 255, 255, 0.05) !important;
  border-color: rgba(255, 255, 255, 0.10) !important;
  color: rgba(233, 237, 243, 0.40) !important;
  box-shadow: none !important;
  cursor: not-allowed;
}
.v2-btn--run[data-v197-preview="true"]:hover { transform: none !important; }
.v2-btn--run[data-v197-preview="true"] svg { opacity: .4; }
