.emt-op-lab {
  display: grid;
  gap: 17px;
  min-width: 0;
  padding: 20px;
  border: 1px solid rgba(111, 190, 236, 0.3);
  border-radius: 11px;
  background: radial-gradient(circle at 15% 0%, rgba(110, 179, 231, 0.13), transparent 35%), #101b28;
  color: var(--text, #e9f3f5);
}
.emt-op-lab * { box-sizing: border-box; }
.emt-op-lab :is(button, select, input):focus-visible { outline: 2px solid #abebff; outline-offset: 3px; }
.emt-op-lab button { min-height: 42px; }
.emt-op-head { display: grid; justify-items: start; gap: 7px; }
.emt-op-head h3 { margin: 0; font-size: clamp(1.1rem, 2vw, 1.35rem); }
.emt-op-head p,
.emt-op-guide,
.emt-op-controls > p,
.emt-op-device-note,
.emt-op-timeline > p,
.emt-op-handoff > p,
.emt-op-safety,
.emt-op-references,
.emt-op-text-equivalent { margin: 0; color: #c9d9e2; line-height: 1.5; }
.emt-op-head p { max-width: 87ch; }
.emt-op-guide {
  padding: 11px 13px;
  border-left: 3px solid #78bdea;
  border-radius: 0 5px 5px 0;
  background: rgba(111, 190, 236, 0.075);
  font-size: 0.78rem;
}
.emt-op-kicker { color: #97e2d8; font-size: 0.66rem; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; }
.emt-op-checkpoints,
.emt-op-controls,
.emt-op-timeline,
.emt-op-sources,
.emt-op-handoff { display: grid; gap: 11px; min-width: 0; }
.emt-op-checkpoints h4,
.emt-op-controls h4,
.emt-op-timeline h4,
.emt-op-sources h4,
.emt-op-handoff h4 { margin: 0; font-size: 0.94rem; }
.emt-op-check-buttons,
.emt-op-presets,
.emt-op-timeline-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.emt-op-check-buttons button,
.emt-op-presets button,
.emt-op-timeline-buttons button { font-size: 0.75rem; }
.emt-op-lab button[aria-pressed="true"] {
  border-color: #78dbce;
  background: rgba(85, 214, 190, 0.18);
  color: #e9fffa;
  box-shadow: inset 0 0 0 1px rgba(85, 214, 190, 0.22);
}
.emt-op-scene { display: grid; grid-template-columns: minmax(0, 1.13fr) minmax(0, 0.87fr); align-items: stretch; gap: 11px; min-width: 0; }
.emt-op-panel { display: grid; align-content: start; gap: 10px; min-width: 0; padding: 15px; border-radius: 9px; }
.emt-op-panel h4 { margin: -4px 0 0; font-size: 0.91rem; }
.emt-op-device { border: 1px solid rgba(111, 190, 236, 0.3); background: #0a1724; }
.emt-op-monitor { display: grid; gap: 4px; min-width: 0; padding: 9px; border: 1px solid rgba(111, 190, 236, 0.35); border-radius: 7px; background: #06131e; }
.emt-op-monitor svg { display: block; width: 100%; max-height: 138px; aspect-ratio: 460 / 118; }
.emt-op-grid line { stroke: rgba(91, 172, 182, 0.15); stroke-width: 0.8; }
.emt-op-trace { fill: none; stroke: #85e2ce; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.emt-op-monitor-caption { color: #93b6c2; font-size: 0.66rem; }
.emt-op-aed { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px 15px; padding: 9px 11px; border: 1px solid rgba(138, 203, 241, 0.34); border-radius: 6px; background: rgba(119, 189, 240, 0.08); }
.emt-op-aed span { color: #adc9d9; font-size: 0.65rem; font-weight: 800; letter-spacing: 0.07em; }
.emt-op-aed strong { color: #a9e6fb; font-size: 0.84rem; letter-spacing: 0.035em; }
.emt-op-device-note { font-size: 0.73rem; }
.emt-op-patient { border: 1px solid rgba(85, 214, 190, 0.29); background: #0b1c27; }
.emt-op-patient[data-branch="cpr"] { border-color: rgba(233, 151, 116, 0.48); }
.emt-op-patient-visual { display: grid; grid-template-columns: minmax(90px, 0.85fr) minmax(0, 1fr); align-items: center; gap: 8px; min-height: 130px; }
.emt-op-patient-visual svg { display: block; width: 100%; max-height: 138px; }
.emt-op-figure { fill: rgba(87, 155, 167, 0.15); stroke: #88bfca; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.emt-op-chest-mark { fill: none; stroke: #80d0c6; stroke-width: 2; stroke-linecap: round; }
.emt-op-state-badge { padding: 10px; border: 1px solid rgba(85, 214, 190, 0.35); border-radius: 7px; color: #a5eadb; background: rgba(85, 214, 190, 0.09); font-size: 0.79rem; line-height: 1.3; }
.emt-op-state-badge[data-branch="cpr"] { border-color: rgba(233, 151, 116, 0.45); color: #f8c5ac; background: rgba(233, 151, 116, 0.1); }
.emt-op-finding-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.emt-op-finding { padding: 5px 7px; border: 1px solid rgba(255, 255, 255, 0.14); border-radius: 4px; color: #d0e4e6; background: rgba(255, 255, 255, 0.04); font-size: 0.69rem; line-height: 1.3; }
.emt-op-controls,
.emt-op-timeline,
.emt-op-handoff { padding: 15px; border: 1px solid rgba(255, 255, 255, 0.16); border-radius: 9px; background: rgba(4, 14, 24, 0.48); }
.emt-op-controls > p,
.emt-op-timeline > p,
.emt-op-handoff > p { font-size: 0.77rem; }
.emt-op-presets { padding-bottom: 3px; }
.emt-op-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.emt-op-field { display: grid; align-content: start; gap: 6px; min-width: 0; color: #dbebed; font-size: 0.74rem; font-weight: 700; }
.emt-op-field select { width: 100%; min-width: 0; min-height: 41px; padding: 6px 8px; border: 1px solid rgba(255, 255, 255, 0.27); border-radius: 6px; color: var(--text, #e9f3f5); background: #1b2b36; font: inherit; font-size: 0.72rem; }
.emt-op-field input[type="range"] { width: 100%; min-width: 0; margin: 8px 0 0; accent-color: #69dbc8; }
.emt-op-duration output { color: #9ce8d6; font-size: 0.68rem; line-height: 1.3; }
.emt-op-check-warning { margin: 0; padding: 9px 11px; border-left: 3px solid #75d6c0; background: rgba(85, 214, 190, 0.075); color: #c7e7df; font-size: 0.73rem; line-height: 1.43; }
.emt-op-check-warning[data-overlong="true"] { border-color: #e6ad83; background: rgba(229, 173, 131, 0.09); color: #f0d1b6; }
.emt-op-decision, .emt-op-follow-through { display: grid; gap: 7px; padding: 14px 16px; border: 1px solid rgba(85, 214, 190, 0.36); border-radius: 9px; background: linear-gradient(120deg, rgba(85, 214, 190, 0.13), rgba(85, 214, 190, 0.03)); }
.emt-op-follow-through { border-color: rgba(117, 189, 235, 0.34); background: rgba(117, 189, 235, 0.07); }
.emt-op-decision[data-branch="cpr"] { border-color: rgba(232, 159, 113, 0.46); background: linear-gradient(120deg, rgba(232, 159, 113, 0.13), rgba(232, 159, 113, 0.03)); }
.emt-op-decision[data-branch="discordant"] { border-color: rgba(238, 196, 110, 0.43); background: linear-gradient(120deg, rgba(238, 196, 110, 0.12), rgba(238, 196, 110, 0.025)); }
.emt-op-decision h4, .emt-op-follow-through h4 { margin: 0; font-size: 1rem; }
.emt-op-decision p, .emt-op-follow-through p { margin: 0; color: #e2edf0; font-size: 0.79rem; line-height: 1.47; }
.emt-op-decision .emt-op-reason { color: #b9d5d9; font-size: 0.73rem; }
.emt-op-timeline-labels { display: flex; justify-content: space-between; gap: 8px; color: #acc5cd; font-size: 0.65rem; font-weight: 700; }
.emt-op-timeline-bar { display: flex; position: relative; height: 31px; border: 1px solid rgba(255, 255, 255, 0.25); border-radius: 5px; background: #091823; overflow: hidden; }
.emt-op-segment { display: block; flex: 0 0 auto; height: 100%; }
.emt-op-segment-check { background: #edaf83; }
.emt-op-segment-response { background: #57c5b7; }
.emt-op-playhead { position: absolute; top: 0; bottom: 0; width: 3px; background: #fff; box-shadow: 0 0 8px #fff; }
.emt-op-scrub { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; color: #dbe9eb; font-size: 0.74rem; font-weight: 700; }
.emt-op-scrub input { width: 100%; min-width: 0; accent-color: #75d6c0; }
.emt-op-scrub output { min-width: 38px; color: #9de7d9; text-align: right; }
.emt-op-phase { margin: 0; padding: 9px 11px; border-left: 3px solid #7cb8e0; background: rgba(124, 184, 224, 0.075); color: #d5e7eb; font-size: 0.76rem; line-height: 1.45; }
.emt-op-phase[data-overlong="true"] { border-color: #edaf83; background: rgba(237, 175, 131, 0.09); }
.emt-op-source-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.emt-op-source { min-width: 0; padding: 11px; border: 1px solid rgba(255, 255, 255, 0.17); border-radius: 8px; background: rgba(4, 14, 24, 0.5); }
.emt-op-source h5 { margin: 0 0 7px; color: #b3dfdb; font-size: 0.72rem; }
.emt-op-source p { margin: 0; color: #d4e3e7; font-size: 0.74rem; line-height: 1.48; overflow-wrap: anywhere; }
.emt-op-source-device { border-color: rgba(119, 189, 240, 0.31); }
.emt-op-source-device h5 { color: #abd5f0; }
.emt-op-source-team { border-color: rgba(232, 176, 126, 0.31); }
.emt-op-source-team h5 { color: #e9c29f; }
.emt-op-handoff { border-color: rgba(111, 190, 236, 0.25); background: rgba(111, 190, 236, 0.055); }
.emt-op-handoff-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px 18px; margin: 0; padding-left: 20px; }
.emt-op-handoff-list li { color: #d5e6e8; font-size: 0.73rem; line-height: 1.45; overflow-wrap: anywhere; }
.emt-op-handoff-list li::marker { color: #91d8ca; }
.emt-op-handoff-list strong { display: block; color: #9ce2d4; font-size: 0.68rem; }
.emt-op-handoff-list span { display: block; }
.emt-op-text-equivalent { padding: 10px 12px; border: 1px solid rgba(119, 189, 240, 0.24); border-radius: 7px; background: rgba(119, 189, 240, 0.055); font-size: 0.74rem; }
.emt-op-safety { color: #e5caaa; font-size: 0.76rem; }
.emt-op-references { font-size: 0.7rem; }
.emt-op-references a { color: #9ee4da; }
.emt-op-live { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 850px) {
  .emt-op-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .emt-op-source-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .emt-op-lab { padding: 14px; }
  .emt-op-scene { grid-template-columns: 1fr; }
  .emt-op-handoff-list { grid-template-columns: 1fr; }
  .emt-op-check-buttons button { flex: 1 1 170px; }
}
@media (max-width: 380px) {
  .emt-op-fields { grid-template-columns: 1fr; }
  .emt-op-patient-visual { grid-template-columns: minmax(0, 95px) minmax(0, 1fr); }
  .emt-op-check-buttons button,
  .emt-op-presets button { flex: 1 1 100%; }
  .emt-op-scrub { grid-template-columns: 1fr auto; }
  .emt-op-scrub input { grid-column: 1 / -1; grid-row: 2; }
  .emt-op-timeline-labels { font-size: 0.59rem; }
}
@media (prefers-reduced-motion: reduce) {
  .emt-op-lab *, .emt-op-lab *::before, .emt-op-lab *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}
