.emt-lead-viewpoints-lab {
  display: grid;
  gap: 18px;
  padding: clamp(15px, 2.5vw, 24px);
  border: 1px solid rgba(108, 196, 219, 0.31);
  border-radius: 12px;
  background: radial-gradient(circle at 94% 3%, rgba(97, 188, 205, 0.1), transparent 30%), #101c28;
  color: var(--text, #eaf4f7);
}
.emt-lead-viewpoints-lab * { box-sizing: border-box; }
.emt-lead-viewpoints-lab :is(button, input, select):focus-visible { outline: 2px solid #a1eafa; outline-offset: 3px; }
.emt-lead-viewpoints-lab button { min-height: 38px; }
.emt-lead-viewpoints-lab :is(h3, h4, h5, p) { margin: 0; }
.emt-lead-viewpoints-lab p { line-height: 1.5; }
.emt-lv-head { display: grid; gap: 7px; max-width: 90ch; }
.emt-lv-head h3 { font-size: 1.25rem; }
.emt-lv-head p,
.emt-lv-model-panel p,
.emt-lv-leads > p,
.emt-lv-sources { color: #bfd1da; }
.emt-lv-kicker {
  color: #91abb9;
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.09em;
}

.emt-lv-control-panel {
  display: grid;
  grid-template-columns: minmax(190px, 1fr) minmax(230px, 1fr) auto;
  gap: 12px;
  align-items: end;
  padding: 14px;
  border: 1px solid rgba(140, 196, 216, 0.28);
  border-radius: 9px;
  background: rgba(4, 14, 24, 0.4);
}
.emt-lv-angle-control,
.emt-lv-focus-control { display: grid; gap: 8px; font-size: 0.79rem; font-weight: 760; }
.emt-lv-angle-control { grid-template-columns: 1fr auto; }
.emt-lv-angle-control input { grid-column: 1 / -1; width: 100%; min-height: 31px; accent-color: #69d4d5; }
.emt-lv-angle-control output { color: #8ce0e3; }
.emt-lv-focus-control select {
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid rgba(179, 216, 230, 0.3);
  border-radius: 6px;
  background: #1a2b38;
  color: #eaf4f7;
  font: inherit;
}

.emt-lv-guide,
.emt-lv-concept,
.emt-lv-leads { display: grid; gap: 10px; }
.emt-lv-guide-buttons,
.emt-lv-concept-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.emt-lv-guide-buttons button[aria-pressed="true"],
.emt-lv-concept-buttons button[aria-pressed="true"] {
  border-color: #84d9dd;
  background: rgba(92, 193, 200, 0.2);
  color: #eaffff;
}
.emt-lv-guide-text,
.emt-lv-concept-explanation,
.emt-lv-focus-note {
  padding: 10px 12px;
  border-left: 3px solid #71ced5;
  background: rgba(99, 192, 207, 0.08);
  color: #d5e7ed;
  font-size: 0.84rem;
}
.emt-lv-concept-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.emt-lv-concept-card {
  display: grid;
  align-content: start;
  gap: 9px;
  padding: 13px;
  border: 1px solid rgba(143, 197, 217, 0.21);
  border-radius: 8px;
  background: rgba(9, 25, 36, 0.65);
}
.emt-lv-concept-card[data-active="true"] { border-color: #77cdd6; box-shadow: inset 0 0 0 1px rgba(119, 205, 214, 0.22); }
.emt-lv-concept-card h5 { font-size: 0.94rem; }
.emt-lv-concept-card p { color: #c9dbe3; font-size: 0.8rem; }
.emt-lv-chips { display: flex; flex-wrap: wrap; gap: 5px; }
.emt-lv-chips span {
  min-width: 33px;
  padding: 4px 6px;
  border: 1px solid rgba(151, 202, 218, 0.32);
  border-radius: 5px;
  background: rgba(117, 174, 193, 0.1);
  color: #e1f0f5;
  font-size: 0.7rem;
  font-weight: 800;
  text-align: center;
}

.emt-lv-stage { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.emt-lv-model-panel {
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 12px;
  padding: 15px;
  border: 1px solid rgba(149, 205, 223, 0.25);
  border-radius: 9px;
  background: radial-gradient(circle at 50% 50%, rgba(76, 139, 163, 0.16), transparent 67%), #0b1a27;
}
.emt-lv-model-panel h4 { font-size: 0.9rem; }
.emt-lv-model-panel p { font-size: 0.77rem; }
.emt-lv-compass,
.emt-lv-transverse {
  position: relative;
  width: min(100%, 220px);
  aspect-ratio: 1;
  margin: auto;
  overflow: hidden;
  border: 1px solid rgba(139, 198, 220, 0.2);
  border-radius: 8px;
  background: rgba(2, 13, 23, 0.35);
}
.emt-lv-compass::before {
  content: "";
  position: absolute;
  inset: 14% 28%;
  border: 1px dashed rgba(144, 198, 215, 0.22);
  border-radius: 50%;
}
.emt-lv-compass-horizontal,
.emt-lv-transverse-horizontal {
  position: absolute;
  top: 50%; left: 10%; right: 10%;
  border-top: 1px solid rgba(162, 208, 225, 0.34);
}
.emt-lv-compass-vertical,
.emt-lv-transverse-vertical {
  position: absolute;
  top: 10%; bottom: 10%; left: 50%;
  border-left: 1px solid rgba(162, 208, 225, 0.34);
}
.emt-lv-compass-origin {
  position: absolute;
  top: 50%; left: 50%;
  z-index: 2;
  color: #eaf6fa;
  transform: translate(-50%, -50%);
}
.emt-lv-vector-arrow,
.emt-lv-transverse-line {
  position: absolute;
  top: 50%; left: 50%;
  width: 34%; height: 4px;
  border-radius: 999px;
  background: #f4c57e;
  transform-origin: 0 50%;
  box-shadow: 0 0 11px rgba(244, 197, 126, 0.42);
}
.emt-lv-vector-arrow::after,
.emt-lv-transverse-line::after {
  content: "";
  position: absolute;
  right: -2px; top: 50%;
  border-left: 11px solid #f4c57e;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  transform: translateY(-50%);
}
.emt-lv-compass-label,
.emt-lv-transverse-label {
  position: absolute;
  color: #9bb9c8;
  font-size: 0.63rem;
  font-weight: 700;
}
.emt-lv-compass-left { left: 4px; top: calc(50% + 6px); }
.emt-lv-compass-right { right: 4px; top: calc(50% + 6px); }
.emt-lv-compass-bottom { left: 50%; bottom: 3px; transform: translateX(-50%); }
.emt-lv-transverse-dot {
  position: absolute;
  z-index: 2;
  width: 11px; height: 11px;
  border: 2px solid #fff4d7;
  border-radius: 50%;
  background: #f4c57e;
  transform: translate(-50%, -50%);
}
.emt-lv-transverse-front { top: 3px; left: calc(50% + 5px); }
.emt-lv-transverse-right { right: 4px; top: calc(50% + 6px); }

.emt-lv-leads > p { font-size: 0.84rem; }
.emt-lv-lead-group { display: grid; gap: 8px; }
.emt-lv-lead-group h5 { color: #d6e5eb; font-size: 0.83rem; }
.emt-lv-lead-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 7px; }
.emt-lv-lead-card {
  display: grid;
  gap: 3px;
  justify-items: center;
  min-width: 0;
  padding: 8px 5px;
  border: 1px solid rgba(146, 196, 214, 0.25);
  border-radius: 7px;
  background: rgba(6, 20, 31, 0.7);
}
.emt-lv-lead-card[data-focused="true"] { border-color: #f3c87e; box-shadow: inset 0 0 0 1px rgba(243, 200, 126, 0.3); }
.emt-lv-lead-card strong { font-size: 0.84rem; }
.emt-lv-bar-area {
  position: relative;
  width: 100%;
  height: 72px;
  border-radius: 4px;
  background: rgba(154, 205, 221, 0.05);
}
.emt-lv-bar-area::before {
  content: "";
  position: absolute;
  top: 50%; left: 5%; right: 5%;
  border-top: 1px solid rgba(187, 217, 228, 0.45);
}
.emt-lv-bar-area::after {
  content: "SAME EVENT";
  position: absolute;
  top: 2px; right: 3px;
  color: #8ca8b7;
  font-size: 0.48rem;
  letter-spacing: 0.04em;
}
.emt-lv-bar {
  position: absolute;
  left: calc(50% - 6px);
  width: 12px;
  border-radius: 4px 4px 0 0;
  background: #70d9d2;
}
.emt-lv-bar[data-direction="up"] { bottom: 50%; }
.emt-lv-bar[data-direction="down"] { top: 50%; border-radius: 0 0 4px 4px; background: #f2a27f; }
.emt-lv-bar[data-direction="flat"] { bottom: 50%; background: #b5c7d0; }
.emt-lv-readout { color: #c4d9e1; font-size: 0.65rem; text-align: center; line-height: 1.35; }
.emt-lv-text-equivalent {
  padding: 10px 12px;
  border: 1px solid rgba(152, 205, 222, 0.2);
  border-radius: 7px;
  background: rgba(6, 20, 31, 0.7);
  color: #c1d5dd;
  font-size: 0.76rem !important;
}
.emt-lv-patient {
  display: grid;
  gap: 7px;
  padding: 14px;
  border: 1px solid rgba(139, 207, 167, 0.38);
  border-left: 4px solid #7ed7ab;
  border-radius: 8px;
  background: rgba(75, 157, 115, 0.09);
}
.emt-lv-patient p { color: #d5e9df; font-size: 0.84rem; }
.emt-lv-live-summary { color: #a9bec9; font-size: 0.76rem; }
.emt-lv-sources { font-size: 0.75rem; }
.emt-lv-sources a { color: #91d6f1; }

@media (max-width: 920px) {
  .emt-lv-control-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .emt-lv-control-panel > button { justify-self: start; }
  .emt-lv-lead-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .emt-lv-control-panel,
  .emt-lv-concept-grid,
  .emt-lv-stage { grid-template-columns: 1fr; }
  .emt-lv-lead-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  .emt-lv-vector-arrow,
  .emt-lv-transverse-line,
  .emt-lv-transverse-dot { transition: none; }
}
