/* Campaign hierarchy (v3/campaign-hierarchy.js): the Campaigns screen's first tab. Colors are the --v-* chart tokens and
   the page tokens (dark default, light under data-theme="light"); nothing new is defined. 390px: each row stacks its
   name, bar and figures; no sideways scroll. */
.ch-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 12px; }
.ch-ctl { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; margin-bottom: 10px; }
.ch-ctl .mr-seg { flex-wrap: wrap; }
.ch-biz { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.ch-tree { display: flex; flex-direction: column; min-width: 0; }
.ch-row { display: grid; grid-template-columns: minmax(0, 2.2fr) minmax(60px, 1fr) minmax(0, 3.4fr); gap: 6px 14px; align-items: center;
  padding: 8px 0 8px calc(var(--d, 0) * 16px); border-top: 1px solid var(--line); min-width: 0; }
.ch-portfolio { border-top: 0; }
.ch-portfolio .ch-t b, .ch-business .ch-t b { font-size: 14px; }
.ch-name { display: flex; gap: 6px; align-items: flex-start; min-width: 0; }
.ch-tg { flex: none; width: 22px; height: 22px; border: 1px solid var(--line2); border-radius: 6px; background: transparent; color: var(--ink2); cursor: pointer; font-size: 11px; line-height: 1; padding: 0; }
.ch-leaf { border-color: transparent; cursor: default; }
.ch-t { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ch-t b { font-size: 13px; color: var(--ink); overflow-wrap: anywhere; }
.ch-sub { font-size: 11px; display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; }
.ch-sub a { color: var(--ink2); }
.ch-bar { height: 8px; }
.ch-m { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 4px 10px; font-size: 12px; font-variant-numeric: tabular-nums; color: var(--ink); min-width: 0; }
.ch-m > span { display: flex; flex-direction: column; min-width: 0; overflow-wrap: anywhere; }
.ch-m em { font-style: normal; font-size: 10px; color: var(--mute); text-transform: uppercase; letter-spacing: .04em; }
.ch-m small { color: var(--mute); }
.ch-m .v8-nm { white-space: normal; font-size: 10px; padding: 0 6px; }
.ch-copy { grid-column: 1 / -1; font-size: 12px; color: var(--ink2); white-space: pre-wrap; border-left: 2px solid var(--line2); padding: 4px 0 4px 10px; margin-left: 28px; }
.ch-step .ch-t b { font-weight: 500; }
@media (max-width: 900px) {
  .ch-row { grid-template-columns: minmax(0, 1fr); padding-left: calc(var(--d, 0) * 10px); }
  .ch-m { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ch-copy { margin-left: 0; }
}
