.emt-perfusion-lab {
  display: grid;
  gap: 18px;
  padding: clamp(15px, 2.5vw, 25px);
  border: 1px solid rgba(107, 203, 220, .34);
  border-radius: 13px;
  background: radial-gradient(circle at 98% 0, rgba(60, 159, 180, .13), transparent 30%), #101d29;
  color: var(--text, #edf6f8);
}
.emt-perfusion-lab * { box-sizing: border-box; }
.emt-perfusion-lab :is(h3, h4, h5, p) { margin: 0; }
.emt-perfusion-lab p { line-height: 1.48; }
.emt-perfusion-lab :is(button, select):focus-visible { outline: 2px solid #a8eefe; outline-offset: 3px; }
.emt-perfusion-lab button { min-height: 40px; font: inherit; cursor: pointer; }
.emt-perfusion-lab button:disabled { opacity: .5; cursor: default; }
.emt-perf-head { display: grid; gap: 7px; max-width: 88ch; }
.emt-perf-head h3 { font-size: 1.27rem; }
.emt-perf-head p, .emt-perf-timeline > p, .emt-perf-handoff > p { color: #c1d3da; }
.emt-perf-cases { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.emt-perf-case, .emt-perf-time {
  border: 1px solid rgba(144, 199, 215, .28);
  border-radius: 9px;
  background: #102b38;
  color: #dcebef;
  font-size: .82rem !important;
  font-weight: 760 !important;
  text-align: left;
  padding: 11px 13px;
}
.emt-perf-case[aria-pressed="true"], .emt-perf-time[aria-pressed="true"] {
  background: rgba(65, 171, 188, .22);
  border-color: #7fd5da;
  box-shadow: inset 0 0 0 1px rgba(127, 213, 218, .27);
}
.emt-perf-setup { padding: 11px 13px; border-left: 3px solid #85d9d4; background: rgba(70, 165, 179, .08); color: #dcecf0; font-size: .83rem; }
.emt-perf-times { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.emt-perf-time { position: relative; font-variant-numeric: tabular-nums; }
.emt-perf-time::before { content: ""; position: absolute; top: -9px; left: 13px; width: 2px; height: 8px; background: #5a8494; }
.emt-perf-transport { display: flex; gap: 8px; flex-wrap: wrap; }
.emt-perf-stage { display: grid; grid-template-columns: minmax(190px, .8fr) minmax(0, 2.2fr); gap: 11px; }
.emt-perf-scene, .emt-perf-lane {
  min-width: 0;
  border: 1px solid rgba(142, 197, 216, .25);
  border-radius: 10px;
  background: #0c2231;
  padding: 13px;
}
.emt-perf-scene { display: grid; align-content: start; gap: 9px; border-top: 3px solid #7cd5b3; }
.emt-perf-scene h4, .emt-perf-lane h4, .emt-perf-timeline h4, .emt-perf-handoff h4 { font-size: .94rem; }
.emt-perf-patient-visual {
  position: relative;
  width: min(100%, 180px);
  height: 132px;
  margin: 0 auto;
  border-radius: 8px;
  background: radial-gradient(ellipse at 50% 95%, rgba(113, 195, 189, .15), transparent 70%), #081b28;
  overflow: hidden;
}
.emt-perf-person-head, .emt-perf-person-body { position: absolute; left: 50%; transform: translateX(-50%); background: #77c8ab; transition: background 180ms ease; }
.emt-perf-person-head { top: 15px; width: 37px; height: 37px; border-radius: 50%; }
.emt-perf-person-body { top: 55px; width: 82px; height: 67px; border-radius: 42px 42px 13px 13px; }
.emt-perf-breath { position: absolute; top: 63px; left: calc(50% + 50px); border-top: 2px solid #8bd4c6; border-right: 2px solid #8bd4c6; border-radius: 50%; width: 20px; height: 12px; transform: rotate(20deg); }
.emt-perf-breath.two { top: 77px; left: calc(50% + 60px); width: 30px; opacity: .65; }
.emt-perf-patient-visual[data-figure="change"] :is(.emt-perf-person-head, .emt-perf-person-body) { background: #e6c185; }
.emt-perf-patient-visual[data-figure="concerning"] :is(.emt-perf-person-head, .emt-perf-person-body) { background: #dca291; }
.emt-perf-patient-visual[data-figure="concerning"] .emt-perf-breath { width: 31px; border-color: #e7b78f; }
.emt-perf-scene-time { color: #9de3df; font-size: .72rem; letter-spacing: .02em; }
.emt-perf-report { color: #ecf4f2; font-weight: 700; font-size: .85rem; }
.emt-perf-scene-note { color: #aec8d2; font-size: .75rem; }
.emt-perf-lanes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.emt-perf-lane { display: flex; flex-direction: column; gap: 9px; }
.emt-perf-bedside { border-top: 3px solid #77d5b0; }
.emt-perf-device { border-top: 3px solid #e8bd77; }
.emt-perf-ecg { border-top: 3px solid #8fbbea; }
.emt-perf-lane-kicker { font-size: .59rem; font-weight: 850; color: #91b0bd; letter-spacing: .08em; }
.emt-perf-lane-text { color: #c9dbe1; font-size: .78rem; flex: 1; }
.emt-perf-lane .secondary-button { text-align: left; font-size: .74rem; line-height: 1.25; }
.emt-perf-pulse-bars { height: 62px; display: flex; align-items: end; justify-content: center; gap: 6px; padding: 8px; border-radius: 6px; background: #081a27; }
.emt-perf-pulse-bars i { display: block; width: 13px; height: 18%; border-radius: 2px 2px 0 0; background: #345765; }
.emt-perf-pulse-bars i:nth-child(2) { height: 38%; }
.emt-perf-pulse-bars i:nth-child(3) { height: 65%; }
.emt-perf-pulse-bars i:nth-child(4) { height: 92%; }
.emt-perf-pulse-bars[data-level="1"] i:first-child,
.emt-perf-pulse-bars[data-level="2"] i:nth-child(-n+2),
.emt-perf-pulse-bars[data-level="3"] i:nth-child(-n+3),
.emt-perf-pulse-bars[data-level="4"] i { background: #79d4ad; }
.emt-perf-pulse-bars[data-level="1"] i:first-child { background: #e5a18d; }
.emt-perf-pulse-bars[data-level="2"] i:nth-child(-n+2) { background: #e6bb7b; }
.emt-perf-cuff-screen { display: grid; place-items: center; min-height: 62px; border: 1px solid rgba(96, 174, 182, .26); border-radius: 7px; background: #071924; color: #a9e4e2; font-size: clamp(.95rem, 1.8vw, 1.25rem); font-weight: 800; font-variant-numeric: tabular-nums; }
.emt-perf-device[data-revealed="true"] .emt-perf-cuff-screen { border-color: rgba(180, 210, 144, .42); }
.emt-perf-repeat-text { color: #e1c196; font-size: .73rem; }
.emt-perf-ecg svg { width: 100%; min-height: 62px; border-radius: 6px; background: #071924; }
.emt-perf-ecg-grid { fill: none; stroke: rgba(131, 196, 210, .11); stroke-width: 1; }
.emt-perf-ecg-trace { fill: none; stroke: #7ad4c9; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.emt-perf-timeline, .emt-perf-handoff { display: grid; gap: 10px; }
.emt-perf-timeline > p, .emt-perf-handoff > p { font-size: .78rem; }
.emt-perf-timeline-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.emt-perf-time-card { min-width: 0; display: grid; align-content: start; gap: 8px; padding: 11px; border: 1px solid rgba(138, 194, 211, .26); border-radius: 8px; background: #0b2230; }
.emt-perf-time-card[data-current="true"] { border-color: #94dddd; }
.emt-perf-time-card[data-visited="false"] { opacity: .7; }
.emt-perf-time-title { color: #d7e9ee; font-size: .8rem; font-variant-numeric: tabular-nums; }
.emt-perf-time-marks { display: flex; gap: 4px; flex-wrap: wrap; }
.emt-perf-time-mark { display: inline-block; border-radius: 5px; padding: 3px 5px; background: #153545; color: #9db7c1; font-size: .62rem; font-weight: 750; }
.emt-perf-time-mark[data-active="true"] { background: rgba(103, 194, 186, .23); color: #ade8db; }
.emt-perf-time-trend { display: grid; gap: 5px; padding-top: 7px; border-top: 1px solid rgba(138, 194, 211, .17); }
.emt-perf-trend-pulse, .emt-perf-trend-cuff { display: grid; grid-template-columns: 1fr auto; gap: 3px 5px; align-items: center; color: #a7c0c9; font-size: .63rem; }
.emt-perf-trend-pulse small { grid-column: 1 / -1; font-size: .65rem; color: #c8dce1; }
.emt-perf-trend-cuff strong { color: #d2e7e9; font-size: .66rem; font-variant-numeric: tabular-nums; text-align: right; overflow-wrap: anywhere; }
.emt-perf-mini-bars { display: flex; gap: 2px; align-items: end; height: 15px; }
.emt-perf-mini-bars i { display: block; width: 4px; border-radius: 1px 1px 0 0; background: #3a5964; }
.emt-perf-mini-bars i:nth-child(1) { height: 4px; }
.emt-perf-mini-bars i:nth-child(2) { height: 7px; }
.emt-perf-mini-bars i:nth-child(3) { height: 11px; }
.emt-perf-mini-bars i:nth-child(4) { height: 15px; }
.emt-perf-mini-bars[data-level="1"] i:first-child,
.emt-perf-mini-bars[data-level="2"] i:nth-child(-n+2),
.emt-perf-mini-bars[data-level="3"] i:nth-child(-n+3),
.emt-perf-mini-bars[data-level="4"] i { background: #7bd6b0; }
.emt-perf-mini-bars[data-level="1"] i:first-child { background: #e5a18d; }
.emt-perf-mini-bars[data-level="2"] i:nth-child(-n+2) { background: #e5bd7e; }
.emt-perf-contact { min-height: 1em; color: #f0c180; font-size: .68rem; font-weight: 800; }
.emt-perf-contact-controls { display: grid; grid-template-columns: minmax(150px, 220px) 1fr; gap: 11px; align-items: center; }
.emt-perf-contact-controls label { display: grid; gap: 6px; color: #d6e7eb; font-size: .76rem; font-weight: 750; }
.emt-perf-marker-select { min-height: 40px; width: 100%; padding: 7px 9px; border: 1px solid #6093a4; border-radius: 7px; background: #0e2b39; color: #eef8f9; font: inherit; }
.emt-perf-communication { padding: 10px 12px; border-left: 3px solid #efc383; background: rgba(166, 117, 59, .09); color: #e4d9c5; font-size: .77rem; }
.emt-perf-handoff-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.emt-perf-handoff-panel { min-width: 0; border: 1px solid rgba(145, 196, 214, .23); border-radius: 9px; background: rgba(6, 24, 35, .65); padding: 12px; }
.emt-perf-handoff-panel h5 { font-size: .79rem; color: #9ddbdc; }
.emt-perf-record-list { display: grid; gap: 7px; margin: 9px 0 0; padding: 0; list-style: none; max-height: 245px; overflow: auto; }
.emt-perf-record { display: grid; gap: 4px; padding: 8px; border-radius: 6px; background: #112e3c; color: #d3e2e7; font-size: .72rem; }
.emt-perf-record strong { color: #abdce2; }
.emt-perf-empty { color: #a7c0c9; font-size: .74rem; }
.emt-perf-footer { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.emt-perf-live { color: #abc5cd; font-size: .75rem; }
.emt-perf-scope { color: #d9cbb7; font-size: .74rem; }
.emt-perf-sources { color: #b6cbd2; font-size: .72rem; }
.emt-perf-sources a { color: #92d6ed; }
@media (max-width: 960px) {
  .emt-perf-stage { grid-template-columns: 1fr; }
  .emt-perf-scene { grid-template-columns: 1fr auto 1fr; align-items: center; }
  .emt-perf-scene h4, .emt-perf-scene-note { grid-column: 1 / -1; }
  .emt-perf-patient-visual { grid-column: 2; grid-row: 2 / span 2; width: 180px; }
}
@media (max-width: 650px) {
  .emt-perf-lanes, .emt-perf-handoff-columns { grid-template-columns: 1fr; }
  .emt-perf-lane { gap: 8px; }
  .emt-perf-timeline-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .emt-perf-contact-controls { grid-template-columns: 1fr; }
  .emt-perf-scene { display: grid; grid-template-columns: 1fr auto; }
  .emt-perf-patient-visual { grid-column: 2; grid-row: 2 / span 3; width: 120px; }
  .emt-perf-scene-time, .emt-perf-report { grid-column: 1; }
}
@media (max-width: 380px) {
  .emt-perf-cases, .emt-perf-times { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .emt-perf-scene { grid-template-columns: 1fr; }
  .emt-perf-patient-visual { grid-column: 1; grid-row: auto; width: 140px; }
  .emt-perf-scene-time, .emt-perf-report { grid-column: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .emt-perf-person-head, .emt-perf-person-body { transition: none; }
}
