/* Build K: the Firm value tab (components/firm-value-tab.js) and the Unionized choice (components/unionized.js).
   Tokens only (tokens.css). */

/* ---- Unionized: one dropdown (— / Yes / No / Not sure) ------------------------------------------------------ */
.union-pick { display: flex; align-items: center; flex-wrap: wrap; gap: var(--sp-2); min-width: 0; }
.union-select.input { width: auto; min-width: 112px; max-width: 100%; height: 28px; padding: 0 var(--sp-3);
  font-size: var(--fs-sm); appearance: auto; cursor: pointer; }
.union-select:focus-visible { outline: 2px solid var(--border-focus); outline-offset: 1px; }
.union-raw { color: var(--text-2); font-size: var(--fs-sm); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.union-pick-one { color: var(--text-muted); }

/* ---- Firm value tab ------------------------------------------------------------------------------------------ */
.fvt { display: flex; flex-direction: column; gap: var(--sp-4); padding: var(--sp-5) var(--sp-6); }
.fvt-loading { color: var(--text-2); font-size: var(--fs-sm); }
.fvt-head { display: flex; align-items: center; gap: var(--sp-3); }
.fvt-title { font-weight: var(--fw-semibold); }
.fvt-team { font-size: var(--fs-xs); background: var(--bg-hover); border-radius: var(--r-pill); padding: 0 var(--sp-3); line-height: 20px; color: var(--text-2); }
.fvt-spacer { flex: 1; }
.fvt-result { font-size: var(--fs-lg); line-height: var(--lh-lg); }
.fvt-amount { font-weight: var(--fw-semibold); color: var(--text); }
.fvt-missing { font-size: var(--fs-sm); color: var(--text-2); }
.fvt-row { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: var(--sp-4); align-items: start; }
.fvt-label { padding-top: 7px; font-size: var(--fs-sm); color: var(--text-2); }
.fvt-control { display: flex; flex-direction: column; gap: var(--sp-2); min-width: 0; }
.fvt-inline { display: flex; align-items: flex-end; flex-wrap: wrap; gap: var(--sp-3); }
.fvt-sub { display: flex; flex-direction: column; gap: 2px; font-size: var(--fs-xs); color: var(--text-2); }
.fvt-input { width: 140px; box-sizing: border-box; }
.fvt-input.is-small { width: 70px; }
.fvt-select { width: auto; }
.fvt-modes { display: inline-flex; border: 1px solid var(--border-strong); border-radius: var(--r-sm); overflow: hidden; align-self: flex-start; }
.fvt-mode { height: 26px; padding: 0 var(--sp-4); border: 0; background: var(--bg-surface); color: var(--text-2); font: inherit; font-size: var(--fs-sm); cursor: pointer; }
.fvt-mode + .fvt-mode { border-left: 1px solid var(--border-strong); }
.fvt-mode.is-on { background: var(--bg-selected); color: var(--text); font-weight: var(--fw-semibold); }
.fvt-out { font-size: var(--fs-sm); color: var(--text-2); }
.fvt-out:empty, .fvt-src:empty { display: none; }
.fvt-src { font-size: var(--fs-xs); color: var(--text-muted); }
.fvt-line {
  padding: var(--sp-3) var(--sp-4); border-radius: var(--r-sm); background: var(--bg-app); font-size: var(--fs-md);
  color: var(--text); font-variant-numeric: tabular-nums;
}
.fvt-line:empty { display: none; }
.fvt-foot { display: flex; align-items: center; gap: var(--sp-3); }
.fvt-state { font-size: var(--fs-sm); color: var(--text-2); }
.fvt-state.is-dirty { color: var(--yellow-text); }
.fvt-value-row { display: flex; align-items: center; flex-wrap: wrap; gap: var(--sp-3); padding-top: var(--sp-4); border-top: 1px solid var(--border); font-size: var(--fs-sm); }
.fvt-same { color: var(--green); }
.fvt-changed { color: var(--yellow-text); }
@media (max-width: 520px) { .fvt-row { grid-template-columns: minmax(0, 1fr); gap: var(--sp-2); } .fvt-label { padding-top: 0; } }
