/* signals.css — the dock's "Signals" tab (signals.js; review #1, design/42 §7.2) and the one-line FOLD of the signal
   panels wherever they are. Two halves:
     1. The tab: a scroller of sections, each hosting a MOVED panel (#onebox-panel, #msbias-panel, both `.sig-hosted`
        there: a static full-width block instead of a floating card) or the Tape S/R block (the HUD's content as DOM,
        and the zone click card in `.sig-tz-card`).
     2. `.sig-min` (signals.js): the panel shows its header row only — in a chart corner by default (the dock closed
        or narrower than 1280 px), in the dock when folded. The panel's own – / + (its headline-rows collapse) hides
        while folded; a click on the header opens it. */

/* ---- 1. the tab ---- */
.sig { flex: 1 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden; padding: 0 0 12px; font-size: 11px; }
.sig-empty { padding: 14px 12px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.sig-empty[hidden], .sig-sec[hidden] { display: none; }
.sig-sec { border-bottom: 1px solid var(--border); }

#onebox-panel.sig-hosted, #msbias-panel.sig-hosted {
  position: static; width: auto; max-width: none; margin: 0;
  border: 0; border-radius: 0; box-shadow: none; background: var(--bg);
  pointer-events: auto; z-index: auto;
}
/* The dock is wide enough for the long title and the full rows whatever the chart pane's width says. */
#onebox-panel.sig-hosted.obx-compact { max-width: none; font-size: 11px; }
#onebox-panel.sig-hosted.obx-compact .obx-title-full { display: inline; }
#onebox-panel.sig-hosted.obx-compact .obx-title-short { display: none; }
#onebox-panel.sig-hosted .obx-row, #msbias-panel.sig-hosted .msb-row { padding-left: 12px; padding-right: 12px; }

/* The Tape S/R block: the same header as the two panels, the HUD's rows as buttons (a click opens the zone's card
   below them). */
.sig-head {
  display: flex; align-items: center; gap: 6px; width: 100%; margin: 0;
  padding: 5px 8px 5px 9px; border: 0; border-bottom: 1px solid var(--border);
  background: var(--panel-2); color: var(--fg); font: inherit; text-align: left; cursor: pointer;
}
.sig-t { flex: 0 1 auto; min-width: 0; font-size: 10px; font-weight: 700; letter-spacing: 0.06em; color: var(--muted);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sig-st { flex: 1 1 auto; min-width: 0; font-size: 10px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sig-caret { flex: 0 0 auto; color: var(--muted); font-size: 11px; }
.sig-head:hover .sig-caret, .sig-head:hover .sig-t { color: var(--fg); }
.sig-tz-body { padding: 4px 0 6px; }
.sig-tz.folded .sig-head { border-bottom: 0; }
.sig-tz.folded .sig-tz-body { display: none; }
.sig-tz-cover { padding: 1px 12px 3px; font-size: 10.5px; font-weight: 600; }
.sig-tz-cover[hidden], .sig-tz-note[hidden] { display: none; }
.sig-tz-rows { display: flex; flex-direction: column; }
.sig-tz-row {
  display: block; width: 100%; margin: 0; padding: 2px 12px; border: 0; background: transparent;
  font: inherit; font-size: 11px; font-weight: 600; text-align: left; cursor: pointer;
  font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.sig-tz-row:hover { background: var(--hover); }
.sig-tz-row.prov { font-style: italic; }
.sig-tz-row.dim { opacity: 0.8; }
.sig-tz-note { padding: 3px 12px 0; color: var(--muted); font-size: 10.5px; line-height: 1.4; }
/* The pinned zone card, docked: a block in the flow instead of a fixed float (tapezones.js tags it). */
.sig-tz-card:empty { display: none; }
.sig-tz-card .tz-card.tz-card-docked {
  position: static; width: auto; max-width: none; max-height: none; margin: 6px 8px 0;
  box-shadow: none; z-index: auto;
}

/* ---- 2. the one-line fold (corner or dock) ---- */
body.sig-on .obx-head, body.sig-on .msb-head { cursor: pointer; }
#onebox-panel.sig-min .obx-rows, #msbias-panel.sig-min .msb-rows { display: none; }
#onebox-panel.sig-min .obx-head, #msbias-panel.sig-min .msb-head { border-bottom: 0; }
#onebox-panel.sig-min .obx-collapse, #msbias-panel.sig-min .msb-collapse { display: none; }
#onebox-panel.sig-min .obx-head::after, #msbias-panel.sig-min .msb-head::after {
  content: '▸'; flex: 0 0 auto; padding: 0 4px 0 2px; color: var(--muted); font-size: 11px;
}
