.emt-serial-lab {
  display: grid;
  gap: 18px;
  padding: 20px;
  border: 1px solid rgba(85, 214, 190, 0.32);
  border-radius: 10px;
  background: linear-gradient(150deg, rgba(85, 214, 190, 0.1), transparent 45%), #101c28;
  color: var(--text);
}
.emt-serial-lab [hidden] { display: none !important; }

.emt-serial-head { display: grid; justify-items: start; gap: 7px; }
.emt-serial-head h3 { margin: 0; font-size: 1.17rem; }
.emt-serial-head p,
.emt-serial-scenario-note,
.emt-serial-trend-section > p,
.emt-serial-reflection { margin: 0; color: #c3d2dc; line-height: 1.5; }
.emt-serial-head p { max-width: 82ch; }
.emt-serial-controls {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(240px, 1.4fr);
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--line-soft);
  border-radius: 8px;
  background: rgba(4, 13, 22, 0.35);
}
.emt-serial-field { display: grid; gap: 7px; font-size: 0.8rem; font-weight: 750; }
.emt-serial-field select {
  min-height: 40px;
  padding: 7px 9px;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 6px;
  color: var(--text);
  background: #1b2935;
}
.emt-serial-field input[type="range"] { width: 100%; accent-color: #55d6be; }
.emt-serial-field output { color: #80efda; font-size: 0.78rem; }
.emt-serial-step-buttons { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; }
.emt-serial-lab button { min-height: 36px; }
.emt-serial-lab :is(button, select, input, textarea):focus-visible {
  outline: 2px solid #9ee8ff;
  outline-offset: 3px;
}
.emt-serial-scenario-note { padding: 9px 12px; border-left: 3px solid #6fb6ff; background: rgba(111, 182, 255, 0.08); }

.emt-serial-stage {
  display: grid;
  grid-template-columns: minmax(260px, 0.85fr) minmax(0, 1.15fr);
  gap: 13px;
  align-items: center;
  min-height: 175px;
  padding: 15px;
  border: 1px solid rgba(111, 182, 255, 0.27);
  border-radius: 8px;
  background: radial-gradient(circle at 18% 35%, rgba(111, 182, 255, 0.15), transparent 31%), #0b1723;
}
.emt-serial-patient-visual { min-width: 0; margin: 0; overflow: hidden; border: 1px solid rgba(214, 232, 241, 0.2); border-radius: 8px; background: #08131b; }
.emt-serial-patient-photo { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.emt-serial-patient-visual figcaption { padding: 8px 10px; color: #b8d1db; background: rgba(4, 17, 24, 0.95); font-size: 0.7rem; line-height: 1.4; }
.emt-serial-patient-status { display: grid; gap: 7px; }
.emt-serial-kicker { color: #98afbb; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.065em; text-transform: uppercase; }
.emt-serial-appearance { color: #e3f6fa; font-size: 1.02rem; }
.emt-serial-patient-status p { margin: 0; color: #c9d9e1; line-height: 1.45; }
.emt-serial-monitor-lane {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 8px 11px;
  border-top: 1px solid rgba(111, 182, 255, 0.23);
  color: #b8cdd9;
  font-size: 0.75rem;
}
.emt-serial-monitor-lane svg { flex: 0 0 160px; max-width: 38%; height: 32px; }
.emt-serial-monitor-lane path { fill: none; stroke: #55d6be; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.emt-serial-observations { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.emt-serial-observation-card {
  display: grid;
  align-content: start;
  justify-items: start;
  gap: 8px;
  padding: 13px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 8px;
  background: rgba(5, 13, 22, 0.48);
}
.emt-serial-observation-card[data-recorded="true"] { border-color: rgba(85, 214, 190, 0.35); }
.emt-serial-observation-card h4 { margin: 0; font-size: 0.95rem; }
.emt-serial-observation-card p { min-height: 63px; margin: 0; color: #cedbe2; font-size: 0.8rem; line-height: 1.45; }
.emt-serial-observation-card .emt-serial-clear { min-height: 28px; padding: 4px 8px; font-size: 0.71rem; }
.emt-serial-repeat-count { color: #95b1be; font-size: 0.72rem; }

.emt-serial-trend-section,
.emt-serial-comparison,
.emt-serial-marker-section,
.emt-serial-handoff { display: grid; gap: 10px; }
.emt-serial-trend-section h4,
.emt-serial-comparison h4,
.emt-serial-marker-section h4,
.emt-serial-handoff h4 { margin: 0; font-size: 0.96rem; }
.emt-serial-trend-section > p { font-size: 0.78rem; }
.emt-serial-trend-scroll { overflow-x: auto; border: 1px solid var(--line-soft); border-radius: 8px; }
.emt-serial-trend-table { width: 100%; min-width: 620px; border-collapse: collapse; background: rgba(3, 11, 20, 0.44); }
.emt-serial-trend-table caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.emt-serial-trend-table th,
.emt-serial-trend-table td { border-bottom: 1px solid rgba(255, 255, 255, 0.09); padding: 9px; text-align: left; vertical-align: middle; }
.emt-serial-trend-table thead th { color: #aad0df; background: rgba(111, 182, 255, 0.09); font-size: 0.75rem; }
.emt-serial-trend-table th:first-child { width: 175px; }
.emt-serial-trend-table tbody th { color: #e0ebef; font-size: 0.78rem; }
.emt-serial-trend-table tbody th span { display: block; margin-top: 2px; color: #92a9b6; font-size: 0.7rem; font-weight: 500; }
.emt-serial-trend-table td { min-width: 105px; color: #d5e8ef; font-size: 0.76rem; }
.emt-serial-trend-table .is-selected { background: rgba(85, 214, 190, 0.075); }
.emt-serial-trend-table .is-marker { box-shadow: inset 3px 0 #eab46e; }
.emt-serial-bar-box { display: inline-flex; align-items: flex-end; width: 19px; height: 38px; margin-right: 7px; border-radius: 3px; background: rgba(255, 255, 255, 0.08); vertical-align: middle; }
.emt-serial-bar { width: 100%; min-height: 0; border-radius: 3px 3px 0 0; background: #55d6be; }
.emt-serial-bar.is-empty { background: none; }
.emt-serial-bar.is-uncertain { background: repeating-linear-gradient(45deg, #e7b071, #e7b071 4px, #755638 4px, #755638 8px); }
.emt-serial-bar-value { display: inline-block; max-width: 80px; vertical-align: middle; }
.emt-serial-quality { display: block; margin-top: 2px; color: #d0b68c; font-size: 0.65rem; }
.emt-serial-comparison-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.emt-serial-comparison-card { padding: 11px; border: 1px solid var(--line-soft); border-radius: 7px; background: rgba(5, 13, 22, 0.45); }
.emt-serial-comparison-card h5 { margin: 0 0 7px; color: #80efda; font-size: 0.75rem; text-transform: uppercase; }
.emt-serial-comparison-card p { margin: 5px 0 0; color: #cfdee5; font-size: 0.76rem; line-height: 1.4; }

.emt-serial-marker-section { padding: 14px; border: 1px solid rgba(234, 180, 110, 0.3); border-radius: 8px; background: rgba(74, 46, 28, 0.15); }
.emt-serial-marker-section > p,
.emt-serial-marker-output p,
.emt-serial-handoff p { margin: 0; color: #d0dde3; font-size: 0.8rem; line-height: 1.45; }
.emt-serial-marker-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.emt-serial-marker-controls input[type="range"] { width: 100%; accent-color: #eab46e; }
.emt-serial-marker-track { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; }
.emt-serial-marker-tick { min-height: 42px; padding: 6px; border: 1px solid rgba(255, 255, 255, 0.15); border-radius: 5px; color: #afc5d0; text-align: center; font-size: 0.71rem; }
.emt-serial-marker-tick[data-marker="early"] { border-color: #eab46e; color: #ffe4bf; background: rgba(234, 180, 110, 0.16); }
.emt-serial-marker-tick[data-marker="delayed"] { border-color: #6fb6ff; color: #d4ecff; background: rgba(111, 182, 255, 0.12); }
.emt-serial-marker-tick[data-marker="both"] { border-color: #eab46e; background: linear-gradient(90deg, rgba(234, 180, 110, 0.16) 50%, rgba(111, 182, 255, 0.12) 50%); }
.emt-serial-marker-output { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.emt-serial-marker-output > div { padding: 10px; border: 1px solid var(--line-soft); border-radius: 6px; }
.emt-serial-marker-output strong { display: block; margin-bottom: 5px; color: #f1d1a5; font-size: 0.76rem; }
.emt-serial-omission { display: grid; gap: 10px; padding: 15px; border: 1px solid rgba(111, 182, 255, 0.31); border-radius: 8px; background: linear-gradient(145deg, rgba(111, 182, 255, 0.09), rgba(4, 13, 22, 0.55) 55%); }
.emt-serial-omission-kicker { color: #9bd1fb; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.emt-serial-omission h4 { margin: 0; color: #eef7fa; font-size: 0.96rem; }
.emt-serial-omission-intro,
.emt-serial-omission-feedback,
.emt-serial-omission-limit,
.emt-serial-omission-transfer { max-width: 88ch; margin: 0; color: #cbdde4; font-size: 0.78rem; line-height: 1.5; }
.emt-serial-omission-choices { display: flex; flex-wrap: wrap; gap: 7px; }
.emt-serial-omission button { height: auto; min-height: 40px; padding: 8px 12px; line-height: 1.3; white-space: normal; }
.emt-serial-omission-choices button[aria-pressed="true"] { border-color: #9bd1fb; background: rgba(111, 182, 255, 0.2); color: #f0faff; }
.emt-serial-omission-reveal { justify-self: start; }
.emt-serial-omission-result { display: grid; gap: 12px; padding-top: 10px; border-top: 1px solid rgba(219, 234, 242, 0.2); }
.emt-serial-omission-feedback { padding: 10px 12px; border-left: 3px solid #77bdf0; background: rgba(111, 182, 255, 0.08); color: #e2f2f9; }
.emt-serial-omission-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.emt-serial-omission-card { display: grid; gap: 10px; min-width: 0; padding: 12px; border: 1px solid rgba(219, 234, 242, 0.19); border-radius: 7px; background: rgba(3, 12, 20, 0.6); }
.emt-serial-omission-card h5 { margin: 0; color: #e7f5f8; font-size: 0.8rem; }
.emt-serial-omission-track { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; }
.emt-serial-omission-tick { display: grid; align-content: center; gap: 4px; min-height: 51px; padding: 5px; border: 1px solid rgba(255, 255, 255, 0.15); border-radius: 5px; background: rgba(255, 255, 255, 0.04); color: #aebfca; font-size: 0.66rem; text-align: center; }
.emt-serial-omission-tick strong { font-size: 0.66rem; }
.emt-serial-omission-tick[data-recorded="true"] { border-color: rgba(85, 214, 190, 0.48); background: rgba(85, 214, 190, 0.1); color: #d7f8ed; }
.emt-serial-omission-tick[data-marker="true"] { box-shadow: inset 0 -3px #eab46e; }
.emt-serial-omission-tick[data-future="true"] { opacity: 0.46; }
.emt-serial-omission-facts { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.emt-serial-omission-facts li { display: grid; gap: 3px; padding: 7px 8px; border: 1px solid rgba(255, 255, 255, 0.11); border-radius: 5px; color: #c6d8df; font-size: 0.72rem; line-height: 1.4; }
.emt-serial-omission-facts li[data-changed="true"] { border-color: rgba(234, 180, 110, 0.45); background: rgba(234, 180, 110, 0.09); }
.emt-serial-omission-facts strong { color: #e4eef1; font-size: 0.7rem; }
.emt-serial-omission-freshness { margin: 0; color: #e0c39e; font-size: 0.71rem; line-height: 1.4; }
.emt-serial-omission-limit { color: #aebfc8; }
.emt-serial-omission-transfer { color: #b9ebdf; }
.emt-serial-handoff textarea { width: 100%; min-height: 92px; resize: vertical; padding: 10px; border: 1px solid rgba(255, 255, 255, 0.23); border-radius: 6px; color: var(--text); background: #162432; font: inherit; font-size: 0.81rem; line-height: 1.45; }
.emt-serial-handoff .secondary-button { justify-self: start; }
.emt-serial-reflection { padding: 11px 13px; border-left: 3px solid #55d6be; background: rgba(85, 214, 190, 0.08); font-size: 0.81rem; }
.emt-serial-live-summary { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.emt-serial-sources { margin: 0; color: #9db5c1; font-size: 0.73rem; line-height: 1.45; }
.emt-serial-sources a { color: #a7dbf5; }

@media (max-width: 760px) {
  .emt-serial-controls,
  .emt-serial-observations,
  .emt-serial-comparison-grid,
  .emt-serial-marker-controls,
  .emt-serial-marker-output,
  .emt-serial-omission-cards { grid-template-columns: 1fr; }
  .emt-serial-stage { grid-template-columns: 1fr; }
  .emt-serial-observation-card p { min-height: 0; }
}
