.emt-symptom-lab {
  display: grid;
  gap: 18px;
  padding: 20px;
  border: 1px solid rgba(85, 214, 190, 0.32);
  border-radius: 10px;
  background: linear-gradient(145deg, rgba(85, 214, 190, 0.09), transparent 42%), #101c28;
  color: var(--text);
}
.emt-symptom-lab [hidden] { display: none !important; }
.emt-symptom-head { display: grid; justify-items: start; gap: 7px; }
.emt-symptom-head h3 { margin: 0; font-size: 1.18rem; }
.emt-symptom-head p,
.emt-symptom-guide,
.emt-symptom-debrief p,
.emt-symptom-sources { margin: 0; color: #c5d4dd; line-height: 1.5; }
.emt-symptom-head p { max-width: 86ch; }
.emt-symptom-guide {
  padding: 10px 13px;
  border-left: 3px solid #6fb6ff;
  background: rgba(111, 182, 255, 0.08);
  font-size: 0.83rem;
}
.emt-symptom-controls {
  display: grid;
  grid-template-columns: minmax(250px, 1fr) auto;
  gap: 14px;
  align-items: end;
  padding: 14px;
  border: 1px solid var(--line-soft);
  border-radius: 8px;
  background: rgba(4, 13, 22, 0.38);
}
.emt-symptom-time-field { display: grid; gap: 6px; font-size: 0.8rem; font-weight: 750; }
.emt-symptom-time-field input[type="range"] { width: 100%; accent-color: #55d6be; }
.emt-symptom-time-field output { color: #82e9d7; font-size: 0.79rem; }
.emt-symptom-step-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.emt-symptom-lab button { min-height: 36px; }
.emt-symptom-lab :is(button, input):focus-visible { outline: 2px solid #9ee8ff; outline-offset: 3px; }
.emt-symptom-lab button:disabled { opacity: 0.5; cursor: not-allowed; }

.emt-symptom-fixed-monitor {
  display: grid;
  grid-template-columns: minmax(180px, 330px) minmax(0, 1fr);
  gap: 15px;
  align-items: center;
  padding: 13px 16px;
  border: 1px solid rgba(111, 182, 255, 0.29);
  border-radius: 8px;
  background: #0b1824;
}
.emt-symptom-monitor {
  padding: 8px 12px;
  border: 1px solid rgba(85, 214, 190, 0.24);
  border-radius: 6px;
  background: repeating-linear-gradient(90deg, rgba(85, 214, 190, 0.035) 0 1px, transparent 1px 20px),
    repeating-linear-gradient(0deg, rgba(85, 214, 190, 0.035) 0 1px, transparent 1px 20px), #091924;
}
.emt-symptom-monitor svg { display: block; width: 100%; height: 54px; }
.emt-symptom-monitor path { fill: none; stroke: #55d6be; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.emt-symptom-monitor-copy { display: grid; gap: 5px; }
.emt-symptom-monitor-copy strong { color: #d6f8ee; font-size: 0.87rem; }
.emt-symptom-monitor-copy p { margin: 0; color: #b4cbd5; font-size: 0.78rem; line-height: 1.45; }

.emt-symptom-patients { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-items: start; }
.emt-symptom-patient {
  display: grid;
  gap: 13px;
  padding: 16px;
  min-width: 0;
  border: 1px solid rgba(111, 182, 255, 0.29);
  border-radius: 9px;
  background: rgba(5, 15, 24, 0.63);
}
.emt-symptom-patient-head { display: grid; gap: 3px; }
.emt-symptom-patient-id { color: #75deca; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.emt-symptom-patient-head h4 { margin: 0; font-size: 1rem; }
.emt-symptom-timeline {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.emt-symptom-timeline li {
  padding: 7px 3px;
  border-bottom: 3px solid #32495a;
  color: #afc0c9;
  font-size: 0.69rem;
  font-weight: 700;
  text-align: center;
}
.emt-symptom-timeline li[data-visited="true"] { border-color: #55d6be; }
.emt-symptom-timeline li[data-current="true"] { background: rgba(111, 182, 255, 0.14); color: #e7f7fb; }
.emt-symptom-patient-stage {
  display: grid;
  grid-template-columns: 102px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 142px;
  padding: 11px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  background: radial-gradient(circle at 18% 50%, rgba(111, 182, 255, 0.13), transparent 36%), #0b1723;
}
.emt-symptom-person { position: relative; height: 116px; border-radius: 7px; background: rgba(255, 255, 255, 0.025); }
.emt-symptom-person-head,
.emt-symptom-person-body { position: absolute; left: 50%; transform: translateX(-50%); background: #6b8695; transition: background 150ms ease; }
.emt-symptom-person-head { top: 18px; width: 33px; height: 33px; border-radius: 50%; }
.emt-symptom-person-body { bottom: 8px; width: 62px; height: 58px; border-radius: 34px 34px 9px 9px; }
.emt-symptom-patient-stage[data-tone="neutral"] :is(.emt-symptom-person-head, .emt-symptom-person-body) { background: #55d6be; }
.emt-symptom-patient-stage[data-tone="change"] :is(.emt-symptom-person-head, .emt-symptom-person-body) { background: #e7a46f; }
.emt-symptom-appearance { display: grid; gap: 6px; }
.emt-symptom-kicker { color: #9cb2bd; font-size: 0.65rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; }
.emt-symptom-appearance strong { color: #e1f0f2; font-size: 0.87rem; line-height: 1.4; }

.emt-symptom-observations { display: grid; gap: 9px; }
.emt-symptom-observation {
  display: grid;
  grid-template-rows: auto minmax(48px, auto) auto;
  gap: 7px;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 8px;
  background: rgba(3, 11, 20, 0.4);
}
.emt-symptom-observation-top { display: flex; flex-wrap: wrap; gap: 4px 10px; justify-content: space-between; align-items: baseline; }
.emt-symptom-observation h5 { margin: 0; font-size: 0.83rem; }
.emt-symptom-source { color: #8eafba; font-size: 0.69rem; }
.emt-symptom-observation-value { margin: 0; color: #aebfc8; font-size: 0.78rem; line-height: 1.45; }
.emt-symptom-observation-value[data-recorded="true"] { color: #e0edf0; }
.emt-symptom-observation-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.emt-symptom-observation-actions button { min-height: 31px; padding: 5px 9px; font-size: 0.72rem; }
.emt-symptom-remove { opacity: 0.83; }
.emt-symptom-count { color: #90adba; font-size: 0.7rem; }

.emt-symptom-evidence { display: grid; gap: 8px; padding-top: 12px; border-top: 1px solid rgba(255, 255, 255, 0.13); }
.emt-symptom-evidence h5 { margin: 0; font-size: 0.85rem; }
.emt-symptom-evidence-note { margin: 0; color: #aabdc8; font-size: 0.74rem; line-height: 1.45; }
.emt-symptom-evidence-list { display: grid; gap: 7px; margin: 0; padding-left: 19px; }
.emt-symptom-evidence-list li { padding-left: 3px; color: #d4e3e8; font-size: 0.76rem; line-height: 1.45; }
.emt-symptom-evidence-list li strong { display: block; color: #92e6d5; font-size: 0.7rem; }
.emt-symptom-evidence-list li span { display: block; }
.emt-symptom-debrief { display: grid; gap: 8px; padding: 14px; border: 1px solid rgba(111, 182, 255, 0.24); border-radius: 8px; background: rgba(111, 182, 255, 0.07); }
.emt-symptom-debrief h4 { margin: 0; font-size: 0.93rem; }
.emt-symptom-debrief p { font-size: 0.78rem; }
.emt-symptom-sources { font-size: 0.72rem; }
.emt-symptom-sources a { color: #96e8dc; }
.emt-symptom-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

@media (max-width: 900px) {
  .emt-symptom-patients { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .emt-symptom-lab { padding: 14px; }
  .emt-symptom-controls, .emt-symptom-fixed-monitor { grid-template-columns: 1fr; }
  .emt-symptom-patient { padding: 12px; }
  .emt-symptom-patient-stage { grid-template-columns: 74px minmax(0, 1fr); min-height: 124px; }
  .emt-symptom-person { height: 96px; }
  .emt-symptom-person-head { top: 11px; }
  .emt-symptom-person-body { height: 49px; }
}
