.tv2 {
  --tv2-ink: #173746;
  --tv2-muted: #506a77;
  --tv2-border: #bdd0d9;
  margin: 1.1rem 0 0;
  padding: clamp(.8rem, 2vw, 1.2rem);
  min-width: 0;
  border: 1px solid #a9cbd4;
  border-radius: 16px;
  background: linear-gradient(150deg, #f8fcfd, #eef7f8);
  color: var(--tv2-ink);
  box-shadow: 0 5px 16px rgb(20 64 76 / .07);
}
.telemetry-assignment-first-look-host .tv2 { margin-top: 0; }
.tv2 *, .tv2 *::before, .tv2 *::after { box-sizing: border-box; }
.tv2 figcaption { margin: 0 0 .7rem; }
.tv2 h4 { margin: 0 0 .35rem; color: #14394a; font-size: clamp(1.03rem, 2.4vw, 1.2rem); }
.tv2 h5 { margin: 0 0 .48rem; color: #174459; font-size: .93rem; }
.tv2 p { margin: .3rem 0; line-height: 1.45; }
.tv2 .tv2-job { color: #173746; font-weight: 680; }
.tv2 .tv2-note { color: var(--tv2-muted); font-size: .87rem; overflow-wrap: anywhere; }
.tv2-choices { display: flex; flex-wrap: wrap; gap: .42rem; margin: .75rem 0 .9rem; }
.tv2-choice { border: 1px solid #9fbcc8; border-radius: 999px; background: #fff; color: #173746; padding: .4rem .65rem; font: inherit; font-size: .82rem; font-weight: 680; cursor: pointer; white-space: normal; text-align: center; }
.tv2-choice:hover { border-color: #256378; background: #f1f8fa; }
.tv2-choice[aria-pressed="true"] { background: #17536a; color: #fff; border-color: #17536a; }
.tv2-choice:focus-visible, .tv2-details summary:focus-visible { outline: 3px solid #d1841f; outline-offset: 2px; }
.tv2-board { display: grid; gap: .7rem; min-width: 0; }
.tv2-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr)); gap: .55rem; min-width: 0; }
.tv2-card, .tv2-panel, .tv2-status { border: 1px solid var(--tv2-border); background: #fff; border-radius: 10px; min-width: 0; padding: .55rem .65rem; overflow-wrap: anywhere; }
.tv2-card { display: grid; align-content: start; gap: .22rem; }
.tv2-card strong { font-size: .84rem; line-height: 1.35; font-weight: 670; }
.tv2-label { display: block; color: #456372; font-size: .75rem; font-weight: 770; letter-spacing: .028em; text-transform: uppercase; }
.tv2-card.good { border-color: #79a98e; background: #f0f8f1; }
.tv2-card.warn, .tv2-status.warn { border-color: #ce9c64; background: #fff8eb; }
.tv2-card.focus { border-color: #24889b; background: #e8f7f8; }
.tv2-panel { display: grid; gap: .35rem; }
.tv2-panel > .tv2-card { padding: .4rem .5rem; }
.tv2 .tv2-status { margin: 0; color: #345666; font-size: .84rem; }
.tv2-trace { min-width: 0; border: 1px solid #b6cbd4; background: #fff; border-radius: 9px; padding: .3rem; }
.tv2-trace-label { display: block; margin: .05rem .2rem .2rem; color: #426474; font-size: .75rem; font-weight: 760; }
.tv2-trace svg { display: block; width: 100%; height: 5.4rem; border-radius: 5px; background: #f7fbfa; }
.tv2-grid { stroke: #dce9e8; stroke-width: 1; fill: none; }
.tv2-wave { stroke: #1f697f; stroke-width: 3.3; fill: none; vector-effect: non-scaling-stroke; stroke-linecap: round; stroke-linejoin: round; }
.tv2-av-rail, .tv2-event-rail { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 100px), 1fr)); gap: .4rem; }
.tv2-av-rail .tv2-card { text-align: center; }
.tv2-clock { display: grid; gap: .28rem; }
.tv2-clock-label { color: #456372; font-size: .78rem; font-weight: 700; }
.tv2-clock-line { position: relative; height: 1.6rem; border-radius: 6px; border: 1px solid #a9c1cb; background: linear-gradient(to right, transparent 24.7%, #d9e7ea 25%, transparent 25.3%, transparent 49.7%, #d9e7ea 50%, transparent 50.3%, transparent 74.7%, #d9e7ea 75%, transparent 75.3%), #f6fafb; }
.tv2-clock-mark { position: absolute; top: .18rem; display: block; width: .65rem; height: .65rem; transform: translateX(-50%); border-radius: 50%; border: 1px solid #fff; background: #247e93; }
.tv2-clock.ventricular .tv2-clock-mark { background: #b16a45; width: .8rem; height: .8rem; top: .1rem; }
.tv2-trend { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .4rem; height: 9rem; align-items: end; }
.tv2-trend-station { display: flex; flex-direction: column; justify-content: end; align-items: center; min-width: 0; height: 100%; gap: .15rem; font-size: .75rem; text-align: center; color: #345666; }
.tv2-trend-station > span { order: 3; }
.tv2-trend-station > strong { order: 2; font-size: .75rem; }
.tv2-trend-bar { order: 1; width: min(100%, 2.3rem); min-height: 1px; display: block; background: #6da8b3; border-radius: 5px 5px 0 0; }
.tv2-trend-station.current .tv2-trend-bar { background: #1d788e; }
.tv2-details { margin-top: .75rem; padding-top: .55rem; border-top: 1px dashed #b3cbd2; }
.tv2-details summary { width: fit-content; color: #235b70; font-weight: 700; font-size: .8rem; cursor: pointer; }
.tv2 .tv2-equivalent { color: #476473; font-size: .79rem; }
.tv2-contact { border-color: #8ab8bf; background: #f7fbfb; }
.tv2-contact h6 { margin: .45rem 0 0; color: #235063; font-size: .8rem; }
.tv2-contact .tv2-note { font-size: .82rem; }
.tv2-contact-figure { margin: .3rem 0; min-width: 0; overflow: hidden; border: 1px solid #b3cbd2; border-radius: 9px; background: #fff; }
.tv2-contact-figure img { display: block; width: 100%; max-height: 360px; object-fit: contain; }
.tv2-contact-figure figcaption { margin: 0; padding: .45rem .6rem; color: #3f6170; font-size: .75rem; line-height: 1.4; }
.tv2-contact-detail { display: none; margin: .3rem 0; min-width: 0; overflow: hidden; border: 1px solid #b3cbd2; border-radius: 9px; background: #fff; }
.tv2-contact-detail-window { overflow: hidden; aspect-ratio: .75; }
.tv2-contact-detail img { display: block; width: 300%; max-width: none; height: auto; }
.tv2-contact-detail figcaption { margin: 0; padding: .45rem .6rem; color: #3f6170; font-size: .75rem; line-height: 1.4; }
.tv2-contact-choices, .tv2-contact-actions { display: flex; flex-wrap: wrap; gap: .4rem; margin: .2rem 0; }
.tv2-contact-choices .tv2-choice, .tv2-contact-actions .tv2-choice { border-radius: 7px; font-size: .8rem; }
.tv2-contact .tv2-choice:disabled { opacity: .58; cursor: not-allowed; }
.tv2-contact .tv2-status.warn { border-color: #c99a62; }
.tv2-contact-repair img { max-height: 300px; }
@media (max-width: 680px) {
  .tv2-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tv2-row > .tv2-trace { grid-column: 1 / -1; }
  .tv2-av-rail, .tv2-event-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tv2-contact-choices, .tv2-contact-actions { display: grid; grid-template-columns: 1fr; }
  .tv2-contact-figure img { max-height: none; }
  .tv2-contact-detail { display: block; }
}
@media (max-width: 360px) {
  .tv2 { padding: .7rem; border-radius: 13px; }
  .tv2-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tv2-contact-choices, .tv2-contact-actions { grid-template-columns: 1fr; }
  .tv2-choice { font-size: .78rem; padding: .4rem .34rem; }
  .tv2-row { grid-template-columns: 1fr; }
  .tv2-trace svg { height: 5rem; }
  .tv2-av-rail, .tv2-event-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
