/* ============================================================================
   VaMoS console — what 3D's publish.css does not already cover
   ============================================================================
   The drop target, the message box and the Publish button come from
   ../3d/publish.css, so all four consoles look like one tool. This file adds
   the diff, the summary and the preview table.

   Interface ramp only — --ink, --line, --plane. The warm brand greys are for
   charts and print (§6), and nothing here is either.
   ========================================================================= */

.va-summary{
  margin:18px 0 0;
  padding:14px 16px;
  background:var(--plane);
  border:1px solid var(--line);
  border-radius:12px;
  font-size:.92rem;
  color:var(--ink-2);
}
.va-summary p{margin:0 0 8px}
.va-summary p:last-child{margin-bottom:0}
.va-summary b{color:var(--ink)}

/* A soft stop that has been reached is the one thing on this page that should
   stop somebody mid-scroll. Red ground, not red text: red text on a list of
   numbers is decoration, a filled row is an event. */
.va-warn{
  background:var(--neg-bg);
  border-left:3px solid var(--neg);
  padding:9px 12px;
  border-radius:0 8px 8px 0;
  color:var(--ink);
}
.va-note{
  background:var(--plane-2);
  border-left:3px solid var(--ink-3);
  padding:9px 12px;
  border-radius:0 8px 8px 0;
}

/* ---- prices ------------------------------------------------------------- */

/* Quiet by design. This line is a progress report, not a finding — the findings
   are in the summary above it and the rows below. */
.va-prices{
  margin:8px 0 0;
  font-size:.82rem;
  color:var(--ink-3);
}
.va-px{font-variant-numeric:tabular-nums;color:var(--ink)}
.va-ccy{font-size:.74rem;color:var(--ink-3);letter-spacing:.04em}

/* Why a price is absent, where the price would be. A dash alone would leave
   "we never looked" and "we looked and refused the answer" indistinguishable,
   and those want different fixes. */
.va-nopx{color:var(--ink-3);font-style:italic;font-size:.78rem}

/* Distance to the soft stop. Clear of it is information; through it is an
   event, and the row carries the ground colour to match. */
.va-room{color:var(--ink-3);font-variant-numeric:tabular-nums}
.va-hit{color:var(--neg);font-weight:700;font-variant-numeric:tabular-nums}

/* ---- the diff ---------------------------------------------------------- */

.va-diff{
  margin:20px 0 0;
  padding:18px 20px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface);
  box-shadow:0 1px 2px rgba(18,19,26,.04);
}
.va-diff h2{
  margin:0 0 4px;
  font-size:1.05rem;
  letter-spacing:-.01em;
}
.va-diff h3{
  margin:0 0 6px;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ink-3);
}
.va-diff h3 span{
  display:inline-block;
  margin-left:6px;
  padding:1px 7px;
  border-radius:20px;
  background:var(--plane-2);
  color:var(--ink-2);
  font-size:.74rem;
  letter-spacing:0;
}
.va-dblock{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line-2)}
.va-dblock ul{margin:0;padding:0;list-style:none;font-size:.9rem}
.va-dblock li{padding:2px 0;color:var(--ink-2)}
.va-dblock li b{color:var(--ink);font-variant-numeric:tabular-nums}
.va-dim{color:var(--ink-3)}
.va-first{margin:8px 0 0;color:var(--ink-2)}

.va-dblock.is-new h3 span{background:var(--pos-bg);color:var(--pos)}
.va-dblock.is-closed h3 span{background:var(--plane-2)}
/* The block that matters. On a replace-everything publish, a deal that is in
   the published model and not in the workbook simply stops existing. */
.va-dblock.is-gone h3 span{background:var(--neg-bg);color:var(--neg)}
.va-dblock.is-gone li b{color:var(--neg)}

/* ---- preview table ------------------------------------------------------ */

/* The wide thing scrolls inside its own container; the page never widens
   around it (§11). */
.va-tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.va-table{border-collapse:collapse;width:100%;font-size:.84rem}
.va-table th,.va-table td{
  padding:7px 10px;
  text-align:left;
  white-space:nowrap;
  border-bottom:1px solid var(--line-2);
}
.va-table th{
  position:sticky;
  top:0;
  background:var(--plane);
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--ink-3);
}
/* Numbers hold still while you scan a column (CLAUDE.md). */
.va-table td:nth-child(n+7){font-variant-numeric:tabular-nums}
.va-table tbody tr:hover{background:var(--plane)}

.va-table tr.va-stop td{background:var(--neg-bg)}
.va-table tr.va-stop td:first-child{box-shadow:inset 3px 0 0 var(--neg)}
.va-earn{
  display:inline-block;
  margin-left:6px;
  padding:1px 6px;
  border-radius:20px;
  background:var(--npb-red);
  color:#fff;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.04em;
}

@media screen and (max-width:720px){
  .va-diff{padding:14px}
  .va-table th,.va-table td{padding:6px 8px}
}
