/* P4 interaction surfaces for the source-first Solar Lab shell.
   Load after ui_design_tokens.css and ui_design_shell.css. The dialogs are
   appended to <body>, so every selector stays scoped to body.lab-events. */

body.lab-events {
  --sl-flow-scrim: rgb(18 18 24 / 58%);
  --sl-flow-strong: #1a1a22;
  --sl-flow-strong-ink: #fff;
  --sl-flow-row: #f3f1ea;
  --sl-flow-badge: #f7e7aa;
  --sl-flow-badge-ink: #685211;
}

body.lab-events.theme-dark {
  --sl-flow-strong: #ece8dc;
  --sl-flow-strong-ink: #1a1a22;
  --sl-flow-row: #2a2a34;
  --sl-flow-badge: #665527;
  --sl-flow-badge-ink: #fff2b3;
}

body.lab-events :is(.rd-nav-dialog, .rd-export-dialog, .rd-openin-menu) *,
body.lab-events .rd-roi-launcher * { box-sizing: border-box; }

body.lab-events :is(.rd-nav-dialog, .rd-export-dialog, .rd-openin-menu, .rd-roi-launcher)
  :is(button, input):focus-visible,
body.lab-events .rd-openin-trigger:focus-visible {
  outline: 2px solid var(--sl-accent);
  outline-offset: 2px;
}

body.lab-events.rd-nav-open,
body.lab-events.rd-export-open { overflow: hidden; }
body.lab-events .rd-nav-current {background:var(--sl-surface-muted);}
body.lab-events .rd-nav-current-label {display:block;color:var(--sl-muted);font-size:9px;}

/* Go to search, sheet 3a-D1 / 8d-M1. */
/* Δ Excess scope is the 420px card extracted from 10b, not a toast. */
body.lab-events .rd-bgsub-dialog { position: fixed; inset: 0; z-index: 10090; display: grid; place-items: center; padding: 16px; box-sizing: border-box; color: var(--sl-ink); font-family: var(--sl-font-ui); }
body.lab-events .rd-bgsub-backdrop { position: absolute; inset: 0; background: var(--sl-flow-scrim); }
body.lab-events .rd-bgsub-card { position: relative; width: min(420px,100%); box-sizing: border-box; padding: 16px 18px; border-radius: 12px; background: var(--sl-surface); box-shadow: 0 24px 60px rgb(0 0 0 / 30%); }
body.lab-events .rd-bgsub-eyebrow { margin-bottom: 6px; color: var(--sl-muted); font: 10px var(--sl-font-mono); letter-spacing: .08em; }
body.lab-events .rd-bgsub-card h2 { margin: 0 0 14px; font: 700 16px/1.4 var(--sl-font-ui); color: var(--sl-ink); }
body.lab-events .rd-bgsub-choices { display: grid; gap: 9px; }
body.lab-events .rd-bgsub-choices label { display: flex; align-items: flex-start; gap: 10px; padding: 12px; border: 1px solid var(--sl-border); border-radius: 7px; background: var(--sl-surface); cursor: pointer; }
body.lab-events .rd-bgsub-choices label:has(input:checked) { border-color: var(--sl-flow-strong); }
body.lab-events .rd-bgsub-choices input { margin: 2px 0 0; accent-color: var(--sl-flow-strong); }
body.lab-events .rd-bgsub-choices span { display: grid; gap: 4px; }
body.lab-events .rd-bgsub-choices strong { font-size: 12px; }
body.lab-events .rd-bgsub-choices small { color: var(--sl-muted); font-size: 11px; line-height: 1.45; }
body.lab-events .rd-bgsub-card footer { display: flex; justify-content: flex-end; gap: 8px; padding-top: 14px; }
body.lab-events .rd-bgsub-card footer button { min-height: 30px; padding: 6px 12px; border: 1px solid var(--sl-border); border-radius: 6px; color: var(--sl-ink); background: var(--sl-surface); font: 600 12px var(--sl-font-ui); cursor: pointer; }
body.lab-events .rd-bgsub-card footer .rd-bgsub-continue { background: var(--sl-flow-strong); color: var(--sl-flow-strong-ink); border-color: var(--sl-flow-strong); }
body.lab-events .rd-bgsub-card :focus-visible { outline: 2px solid var(--sl-accent); outline-offset: 2px; }
body.lab-events .rd-bgsub-applied { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; padding: 7px 14px; background: var(--sl-surface-soft); color: var(--sl-muted); font: 11px var(--sl-font-ui); }
body.lab-events .rd-bgsub-applied[hidden] { display: none; }
body.lab-events .rd-bgsub-applied-copy { font-weight: 600; }
body.lab-events .rd-bgsub-applied-scope { border: 1px solid var(--sl-border); border-radius: 12px; padding: 3px 7px; color: var(--sl-violet); font: 10px var(--sl-font-mono); }
body.lab-events .rd-bgsub-applied button { margin-left: auto; padding: 0; border: 0; background: transparent; color: var(--sl-accent); text-decoration: underline; cursor: pointer; font-size: 11px; }
body.lab-events .rd-nav-dialog[hidden] { display: none !important; }
body.lab-events .rd-nav-dialog {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: grid;
  place-items: start center;
  padding: min(9dvh, 84px) 16px 16px;
  color: var(--sl-ink);
  font-family: var(--sl-font-ui);
}
body.lab-events .rd-nav-backdrop {
  position: absolute;
  inset: 0;
  background: var(--sl-flow-scrim);
}
body.lab-events .rd-nav-card {
  position: relative;
  display: flex;
  flex-direction: column;
  width: min(900px, 100%);
  max-height: min(83dvh, 720px);
  overflow: hidden;
  border: 1px solid var(--sl-border);
  border-radius: var(--sl-radius-lg);
  background: var(--sl-surface);
  color: var(--sl-ink);
  box-shadow: var(--sl-shadow-dialog);
}
body.lab-events .rd-nav-search {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: none;
  padding: 14px 18px;
  border-bottom: 1px solid var(--sl-border-soft);
}
body.lab-events .rd-nav-search > span { color: var(--sl-muted-soft); font-size: 22px; }
body.lab-events .rd-nav-search input {
  flex: 1;
  min-width: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--sl-ink);
  font: 500 19px/1.4 var(--sl-font-mono);
}
body.lab-events .rd-nav-search input::placeholder { color: var(--sl-muted-soft); }
body.lab-events .rd-nav-search input:focus-visible { outline: 0; }
body.lab-events .rd-nav-search:focus-within { box-shadow: inset 0 -2px var(--sl-accent); }
body.lab-events .rd-nav-search button {
  flex: none;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 1px solid var(--sl-border);
  border-radius: var(--sl-radius-xs);
  background: var(--sl-surface);
  color: var(--sl-muted);
  font: 20px/1 var(--sl-font-ui);
  cursor: pointer;
}
body.lab-events .rd-nav-hint {
  flex: none;
  min-height: 30px;
  padding: 12px 20px 3px;
  color: var(--sl-muted);
  font: 600 11px/1.5 var(--sl-font-mono);
}
body.lab-events .rd-nav-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  flex: none;
  padding: 7px 20px 13px;
  border-bottom: 1px solid var(--sl-border-soft);
}
body.lab-events .rd-nav-chips button {
  padding: 4px 9px;
  border: 1px solid var(--sl-border);
  border-radius: var(--sl-radius-pill);
  background: var(--sl-surface);
  color: var(--sl-muted);
  font: 500 11px/1.3 var(--sl-font-mono);
  cursor: pointer;
}
body.lab-events .rd-nav-chips button:hover { border-color: var(--sl-accent); color: var(--sl-accent); }
body.lab-events .rd-nav-context {display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 20px;border-bottom:1px solid var(--sl-border-soft);}
body.lab-events .rd-nav-understood {display:flex;align-items:center;flex-wrap:wrap;gap:6px;font:10px var(--sl-font-mono);}
body.lab-events .rd-nav-understood small {text-transform:uppercase;color:var(--sl-muted);}
body.lab-events .rd-nav-understood b {border-radius:20px;background:var(--sl-ink);color:var(--sl-surface);font-weight:500;padding:4px 8px;}
body.lab-events .rd-nav-context .rd-nav-chips {margin-left:auto;padding:0;border:0;}
body.lab-events .rd-nav-near-host {flex:none;border-top:1px dashed var(--sl-border-soft);}
body.lab-events .rd-nav-near-host:empty {display:none;}
body.lab-events .rd-nav-near summary {padding:12px 20px;color:var(--sl-muted);font:11px var(--sl-font-ui);cursor:pointer;}
body.lab-events .rd-nav-near-list {max-height:220px;overflow:auto;padding:0 10px 10px;}
body.lab-events .rd-nav-results {
  min-height: 110px;
  overflow-y: auto;
  padding: 5px 10px 14px;
  overscroll-behavior: contain;
}
body.lab-events .rd-nav-row {
  display: grid;
  grid-template-columns: 145px 75px 90px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 11px 12px;
  border: 0;
  border-radius: var(--sl-radius-sm);
  background: transparent;
  color: var(--sl-ink-secondary);
  text-align: left;
  font: 500 12px/1.35 var(--sl-font-mono);
  cursor: pointer;
}
body.lab-events .rd-nav-row:nth-child(odd),
body.lab-events .rd-nav-row:hover,
body.lab-events .rd-nav-row:focus-visible { background: var(--sl-flow-row); }
body.lab-events .rd-nav-row b {
  justify-self: start;
  padding: 3px 6px;
  border-radius: var(--sl-radius-xs);
  background: var(--sl-flow-badge);
  color: var(--sl-flow-badge-ink);
}
body.lab-events .rd-nav-row small { color: var(--sl-muted); }
body.lab-events .rd-nav-row em {
  color: var(--sl-accent);
  font: 600 12px/1.3 var(--sl-font-ui);
  font-style: normal;
  white-space: nowrap;
}
body.lab-events .rd-nav-direct {
  display: block;
  width: 100%;
  padding: 11px 12px;
  border: 1px solid var(--sl-border);
  border-radius: var(--sl-radius-sm);
  background: var(--sl-surface-soft);
  color: var(--sl-accent);
  text-align: left;
  font: 600 12px/1.4 var(--sl-font-mono);
  cursor: pointer;
}
body.lab-events .rd-nav-more {
  margin: 12px 6px;
  color: var(--sl-muted);
  font: 12px/1.5 var(--sl-font-mono);
}

/* AIA and H-alpha idle launchers, sheets 8b / 12a. The staging chart is
   nested in .sl-card-body; hide its siblings, not the launcher container. */
body.lab-events .sl-app .sl-card.rd-roi-idle .sl-card-body > :not(.rd-roi-launcher) {
  display: none !important;
}
body.lab-events .sl-app .rd-roi-launcher {
  display: none;
  grid-template-columns: 175px minmax(0, 1fr) 215px;
  align-items: start;
  gap: 24px;
  padding: 19px;
  color: var(--sl-ink);
}
body.lab-events .sl-app .sl-card.rd-roi-idle .rd-roi-launcher { display: grid; }
body.lab-events .rd-roi-preview {
  position: relative;
  display: grid;
  place-items: center;
  height: 173px;
  overflow: hidden;
  border-radius: var(--sl-radius-md);
  background: #15161c;
  color: #fff;
}
body.lab-events .rd-roi-preview::before {
  content: none;
  position: absolute;
  width: 135px;
  height: 135px;
  border-radius: 50%;
  background: radial-gradient(circle at 40% 35%, #c95143, #6e2422);
}
body.lab-events .rd-roi-preview img {position:absolute;inset:0;width:100%;height:100%;object-fit:contain;}
body.lab-events .rd-roi-preview i {position:absolute;margin:0;border-width:1px;}
body.lab-events .rd-roi-preview small {background:#111b;padding:3px;max-width:95%;}
body.lab-events .rd-roi-preview [hidden] {display:none;}
body.lab-events .rd-roi-action dl {display:grid;grid-template-columns:1fr auto;gap:5px 12px;margin:0 0 5px;font:10px/1.4 var(--sl-font-mono);}
body.lab-events .rd-roi-action dt {color:var(--sl-muted);}
body.lab-events .rd-roi-action dd {margin:0;text-align:right;}
body.lab-events .rd-roi-action .rd-roi-open {background:var(--sl-surface);color:var(--sl-ink);border-color:var(--sl-border);font-weight:500;}
body.lab-events .rd-roi-action button:disabled {opacity:.5;cursor:not-allowed;}
body.lab-events .rd-roi-copy select {padding:3px 8px;border:1px solid var(--sl-border);border-radius:5px;background:var(--sl-surface);color:var(--sl-ink);font:11px var(--sl-font-mono);}
body.lab-events .rd-roi-idle .ev-widget-head > [id$='-open-roi'] {display:none;}
body.lab-events .rd-roi-running:not([data-instrument='hmi']) .sl-card-body {display:none;}
body.lab-events .rd-roi-job-inline {display:flex;align-items:center;gap:10px;min-width:0;font:11px var(--sl-font-ui);}
body.lab-events .rd-roi-job-inline[hidden] {display:none;}
body.lab-events .rd-roi-phase {padding:3px 8px;background:var(--sl-surface-soft);border-radius:12px;}
body.lab-events .rd-roi-job-inline[data-phase='complete'] .rd-roi-phase {background:#dcf2e5;color:#147a3b;}
body.lab-events .rd-roi-job-detail {max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sl-muted);font:10px var(--sl-font-mono);}
body.lab-events .rd-roi-job-bar {width:100px;height:4px;background:var(--sl-border-soft);}
body.lab-events .rd-roi-job-bar i {display:block;height:100%;background:var(--sl-aia);}
body.lab-events .rd-roi-job-inline button {background:none;border:0;color:var(--sl-accent);text-decoration:underline;cursor:pointer;font:11px var(--sl-font-ui);}
body.lab-events .sl-locator {z-index:10100;}
body.lab-events .sl-roi-result-tools {display:flex;align-items:center;gap:8px;margin-left:auto;}
body.lab-events .sl-roi-stale-idle {display:none;}
body.lab-events .rd-roi-has-result :is(#aia-meta,#halpha-meta) {padding:8px 14px 0;color:var(--sl-muted);font:10px/1.5 var(--sl-font-mono);}
body.lab-events .rd-roi-has-result .sl-plot {min-height:0;}
body.lab-events .sl-roi-result-tools[hidden],body.lab-events .sl-roi-result-readout[hidden] {display:none;}
body.lab-events .sl-roi-result-tools button {padding:5px 8px;min-height:27px;border:1px solid var(--sl-border);border-radius:5px;background:var(--sl-surface);color:var(--sl-ink);font:11px var(--sl-font-ui);cursor:pointer;}
body.lab-events .sl-roi-result-modes {display:flex;}
body.lab-events .sl-roi-result-modes button {border-radius:0;}
body.lab-events .sl-roi-result-modes button[aria-pressed='true'] {background:var(--sl-active-bg);color:var(--sl-active-ink);}
body.lab-events .sl-roi-result-readout {margin:0 14px 12px;padding:8px 10px;border:1px solid var(--sl-border-soft);border-radius:7px;background:var(--sl-surface-soft);color:var(--sl-muted);font:10px/1.5 var(--sl-font-mono);}
body.lab-events .sl-roi-gap-notice {display:flex;gap:8px;align-items:center;margin:0 14px 8px;color:var(--sl-muted);font:10px var(--sl-font-mono);}
body.lab-events .sl-roi-gap-notice[hidden] {display:none;}
body.lab-events .sl-roi-gap-notice button {padding:0;border:0;background:none;color:var(--sl-accent);text-decoration:underline;cursor:pointer;font:inherit;}
@media(max-width:767px){body.lab-events .sl-roi-result-tools{flex-wrap:wrap;gap:5px;width:100%;}body.lab-events .sl-roi-result-tools button{font-size:10px;}body.lab-events .sl-roi-result-readout{overflow-wrap:anywhere;}}
body.lab-events .sl-result-unavailable {display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:14px;min-height:280px;padding:28px;color:var(--sl-ink);font:13px/1.6 var(--sl-font-ui);}
body.lab-events .sl-result-unavailable h3 {font:600 22px var(--sl-font-display);}
body.lab-events .sl-result-unavailable code {font:11px var(--sl-font-mono);}
body.lab-events .sl-result-unavailable button {padding:10px 18px;border:1px solid var(--sl-border);border-radius:6px;background:var(--sl-active-bg);color:var(--sl-active-ink);cursor:pointer;}
body.lab-events .sl-app .rd-roi-preview i {position:absolute;margin:0;border-width:1px;}
body.lab-events .rd-roi-job-bar i {background:#007b99;}
@media(max-width:767px){body.lab-events .rd-roi-job-inline {flex-wrap:wrap;gap:6px;}body.lab-events .rd-roi-job-detail {max-width:140px;}body.lab-events .rd-roi-job-bar{width:65px;}}
body.lab-events .rd-roi-halpha .rd-roi-preview::before {
  background: radial-gradient(circle at 40% 35%, #c5c6c7, #62656a);
}
body.lab-events .rd-roi-preview > span {
  position: absolute;
  z-index: 1;
  top: 10px;
  left: 10px;
  padding: 3px 5px;
  border-radius: var(--sl-radius-xs);
  background: rgb(17 17 17 / 67%);
  font: 10px/1.3 var(--sl-font-mono);
}
body.lab-events .rd-roi-preview i {
  position: relative;
  z-index: 1;
  width: 30px;
  height: 30px;
  margin-top: 24px;
  border: 2px solid #49d6ee;
  box-shadow: 0 0 0 1px #111;
}
body.lab-events .rd-roi-halpha .rd-roi-preview i { border-color: #f27c45; }
body.lab-events .rd-roi-preview small {
  position: absolute;
  bottom: 9px;
  left: 9px;
  color: #e7e5e1;
  font: 9px/1.3 var(--sl-font-mono);
}
body.lab-events .rd-roi-copy { min-width: 0; }
body.lab-events .rd-roi-copy h3 { margin: 2px 0 5px; font: 600 15px/1.35 var(--sl-font-ui); }
body.lab-events .rd-roi-copy p {
  margin: 0 0 13px;
  color: var(--sl-muted);
  font: 12px/1.5 var(--sl-font-ui);
}
body.lab-events .rd-roi-copy dl {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 7px 10px;
  margin: 0;
  padding-top: 12px;
  border-top: 1px solid var(--sl-border-soft);
  font-size: 11px;
}
body.lab-events .rd-roi-copy dt {
  color: var(--sl-muted);
  font: 700 10px/1.4 var(--sl-font-mono);
  text-transform: uppercase;
}
body.lab-events .rd-roi-copy dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
body.lab-events .rd-roi-action {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 13px;
  border: 1px solid var(--sl-border-soft);
  border-radius: var(--sl-radius-md);
  background: var(--sl-surface-soft);
}
body.lab-events .rd-roi-action span,
body.lab-events .rd-roi-action small { color: var(--sl-muted); font: 10px/1.4 var(--sl-font-mono); }
body.lab-events .rd-roi-action button {
  min-height: 36px;
  padding: 9px 10px;
  border: 1px solid var(--sl-flow-strong);
  border-radius: var(--sl-radius-sm);
  background: var(--sl-flow-strong);
  color: var(--sl-flow-strong-ink);
  font: 700 11px/1.2 var(--sl-font-ui);
  cursor: pointer;
}
body.lab-events .rd-roi-action button:hover {
  border-color: var(--sl-accent);
  background: var(--sl-accent);
  color: #fff;
}

/* Export PNG figure builder, sheet 8f. */
body.lab-events .rd-export-dialog[hidden] { display: none !important; }
body.lab-events .rd-export-dialog {
  position: fixed;
  inset: 0;
  z-index: 10100;
  display: grid;
  place-items: center;
  padding: 24px;
  color: var(--sl-ink);
  font-family: var(--sl-font-ui);
}
body.lab-events .rd-export-backdrop {
  position: absolute;
  inset: 0;
  background: var(--sl-flow-scrim);
}
body.lab-events .rd-export-card {
  position: relative;
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  width: min(1280px, 100%);
  height: min(90dvh, 900px);
  overflow: hidden;
  border: 1px solid var(--sl-border);
  border-radius: var(--sl-radius-lg);
  background: var(--sl-surface-muted);
  color: var(--sl-ink);
  box-shadow: var(--sl-shadow-dialog);
}
body.lab-events .rd-export-options {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow-y: auto;
  background: var(--sl-surface);
}
body.lab-events .rd-export-options header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex: none;
  padding: 18px 20px;
  border-bottom: 1px solid var(--sl-border-soft);
}
body.lab-events .rd-export-options h2 {
  margin: 0;
  font: 600 28px/1.15 var(--sl-font-display);
}
body.lab-events .rd-export-close {
  flex: none;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 1px solid var(--sl-border);
  border-radius: var(--sl-radius-sm);
  background: var(--sl-surface);
  color: var(--sl-muted);
  font: 20px/1 var(--sl-font-ui);
  cursor: pointer;
}
body.lab-events .rd-export-options h3 {
  margin: 20px 20px 8px;
  color: var(--sl-muted);
  font: 700 10px/1.4 var(--sl-font-mono);
  text-transform: uppercase;
  letter-spacing: .1em;
}
body.lab-events .rd-export-panel-list,
body.lab-events .rd-export-choice { display: grid; gap: 6px; padding: 0 20px; }
body.lab-events .rd-export-panel-option {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 25px;
  color: var(--sl-ink-secondary);
  font: 12px/1.3 var(--sl-font-ui);
  cursor: pointer;
}
body.lab-events .rd-export-panel-option input,
body.lab-events .rd-export-choice input { flex: none; accent-color: var(--sl-accent); }
body.lab-events .rd-export-dot {
  flex: none;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #8b8e99;
}
body.lab-events .rd-export-dot-goes,
body.lab-events .rd-export-dot-rhessi { background: #e43b3e; }
body.lab-events .rd-export-dot-rstn { background: #8255c5; }
body.lab-events .rd-export-dot-poemas { background: #e95b2c; }
body.lab-events .rd-export-dot-aia { background: #1495b4; }
body.lab-events .rd-export-dot-halpha { background: #a84d43; }
body.lab-events .rd-export-choice label {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 36px;
  padding: 9px 10px;
  border: 1px solid var(--sl-border);
  border-radius: var(--sl-radius-sm);
  background: var(--sl-surface);
  color: var(--sl-ink-secondary);
  font: 11px/1.3 var(--sl-font-ui);
  cursor: pointer;
}
body.lab-events .rd-export-choice label:has(input:checked) { border-color: var(--sl-ink); }
body.lab-events .rd-export-size-choice {grid-template-columns:1fr 1fr;}
body.lab-events .rd-export-size-choice label {min-height:62px;align-items:flex-start;font-weight:600;}
body.lab-events .rd-export-choice input {position:absolute;opacity:0;width:1px;height:1px;}
body.lab-events .rd-export-choice label:has(input:focus-visible) {outline:2px solid var(--sl-violet);outline-offset:2px;}
body.lab-events .rd-export-background-choice {grid-template-columns:1fr 1fr;gap:0;}
body.lab-events .rd-export-background-choice label {min-height:28px;justify-content:center;padding:5px;font-weight:600;border-radius:0;}
body.lab-events .rd-export-background-choice label:first-child {border-radius:5px 0 0 5px;}
body.lab-events .rd-export-background-choice label:last-child {border-radius:0 5px 5px 0;}
body.lab-events .rd-export-background-choice label:has(input:checked) {background:var(--sl-ink);color:var(--sl-surface);}
body.lab-events .rd-export-options > small {
  margin: 7px 20px;
  color: var(--sl-muted);
  font: 10px/1.4 var(--sl-font-ui);
}
body.lab-events .rd-export-options footer {
  margin-top: auto;
  padding: 16px 20px;
  border-top: 1px solid var(--sl-border-soft);
}
body.lab-events .rd-export-options footer p {
  margin: 0 0 10px;
  color: var(--sl-muted);
  font: 11px/1.4 var(--sl-font-ui);
}
body.lab-events .rd-export-options footer > div { display: flex; gap: 6px; }
body.lab-events .rd-export-options footer button {
  flex: 1;
  min-height: 36px;
  padding: 9px;
  border: 1px solid var(--sl-flow-strong);
  border-radius: var(--sl-radius-sm);
  background: var(--sl-flow-strong);
  color: var(--sl-flow-strong-ink);
  font: 700 11px/1.3 var(--sl-font-ui);
  cursor: pointer;
}
body.lab-events .rd-export-options footer .rd-export-copy {
  border-color: var(--sl-border);
  background: var(--sl-surface);
  color: var(--sl-ink);
}
body.lab-events .rd-export-options footer button:disabled { opacity: .45; cursor: default; }
body.lab-events .rd-export-preview-wrap {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  overflow: auto;
  padding: 15px 20px 18px;
}
body.lab-events .rd-export-preview-wrap > p {
  margin: 0 0 12px;
  color: var(--sl-muted);
  font: 700 10px/1.4 var(--sl-font-mono);
  text-transform: uppercase;
  letter-spacing: .1em;
}
body.lab-events .rd-export-preview-stage {
  position:relative;
  display: grid;
  place-items: center;
  flex: 1;
  min-height: 0;
}
body.lab-events .rd-export-preview-stage img {
  position:absolute;
  inset:0;
  margin:auto;
  width:auto;
  height:auto;
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  background: repeating-conic-gradient(#e3e1de 0 25%, #fff 0 50%) 0 / 16px 16px;
  box-shadow: 0 8px 22px rgb(0 0 0 / 17%);
}
body.lab-events .rd-export-preview-stage img:not([src]) { display: none; }
body.lab-events .rd-export-status {
  min-height: 23px;
  margin-top: 10px;
  color: var(--sl-muted);
  font: 11px/1.4 var(--sl-font-mono);
}

/* Open in destination menu. The trigger remains inside the shell toolbar. */
body.lab-events .sl-app .rd-openin-trigger {
  min-height: 32px;
  padding: 7px 10px;
  border: 1px solid var(--sl-border);
  border-radius: var(--sl-radius-sm);
  background: var(--sl-surface);
  color: var(--sl-ink);
  font: 600 11px/1.2 var(--sl-font-ui);
  white-space: nowrap;
  cursor: pointer;
}
body.lab-events .sl-app .rd-openin-trigger:hover { border-color: var(--sl-accent); color: var(--sl-accent); }
body.lab-events .rd-openin-menu[hidden] { display: none !important; }
body.lab-events .rd-openin-menu {
  position: fixed;
  z-index: 10200;
  width: 340px;
  max-width: calc(100vw - 20px);
  max-height: calc(100dvh - 16px);
  overflow-y: auto;
  border: 1px solid var(--sl-border);
  border-radius: var(--sl-radius-md);
  background: var(--sl-surface);
  color: var(--sl-ink);
  font-family: var(--sl-font-ui);
  box-shadow: var(--sl-shadow-dialog);
}
body.lab-events .rd-openin-menu > p {
  margin: 0;
  padding: 12px 15px;
  border-bottom: 1px solid var(--sl-border-soft);
  color: var(--sl-muted);
  font: 700 10px/1.4 var(--sl-font-mono);
  text-transform: uppercase;
  letter-spacing: .08em;
}
body.lab-events .rd-openin-menu > button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 8px;
  width: 100%;
  padding: 12px 15px;
  border: 0;
  border-bottom: 1px solid var(--sl-border-soft);
  background: var(--sl-surface);
  color: var(--sl-ink);
  text-align: left;
  cursor: pointer;
}
body.lab-events .rd-openin-menu > button:hover,
body.lab-events .rd-openin-menu > button:focus-visible { background: var(--sl-surface-muted); }
body.lab-events .rd-openin-menu > button strong { font: 600 13px/1.3 var(--sl-font-ui); }
body.lab-events .rd-openin-menu > button small {
  grid-column: 1;
  color: var(--sl-muted);
  font: 11px/1.3 var(--sl-font-ui);
}
body.lab-events .rd-openin-menu > button em {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
  max-width: 155px;
  overflow-wrap: anywhere;
  color: var(--sl-accent);
  font: 10px/1.35 var(--sl-font-mono);
  font-style: normal;
  text-align: right;
}
body.lab-events .rd-openin-menu footer {
  margin: 0;
  padding: 10px 15px;
  color: var(--sl-muted);
  font: 11px/1.4 var(--sl-font-ui);
}

/* Floating toasts are moved out of .sl-app by ui_redesign.js. */
body.lab-events #ev-toast-root {
  position: fixed;
  z-index: 30000;
  bottom: 24px;
  left: 50%;
  width: max-content;
  max-width: calc(100vw - 24px);
  transform: translateX(-50%);
  pointer-events: none;
}
body.lab-events #ev-toast-root .ev-toast:not(.is-panel) {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  max-width: min(620px, calc(100vw - 24px));
  padding: 10px 14px;
  border: 0;
  border-radius: var(--sl-radius-md);
  background: #1b1c23;
  color: #fff;
  font: 13px/1.4 var(--sl-font-ui);
  box-shadow: 0 10px 28px rgb(0 0 0 / 25%);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .18s ease, transform .18s ease;
}
body.lab-events #ev-toast-root .ev-toast.is-visible:not(.is-panel) {
  opacity: 1;
  transform: translateY(0);
}
body.lab-events #ev-toast-root .ev-toast:is(.is-ok, .is-error, .ev-bgsub-hint)::before {
  display: inline-grid;
  place-items: center;
  flex: none;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  color: #fff;
  font-weight: 700;
}
body.lab-events #ev-toast-root .ev-toast.is-ok::before { content: '✓'; background: #238536; }
body.lab-events #ev-toast-root .ev-toast > span { min-width: 0; overflow-wrap: anywhere; }
body.lab-events #ev-toast-root .sl-toast-action { flex: none; pointer-events: auto; border: 0; padding: 5px 3px; background: transparent; color: #fff; font: inherit; text-decoration: underline; cursor: pointer; }
body.lab-events #ev-toast-root .sl-toast-action:focus-visible { outline: 2px solid #d5c8ff; outline-offset: 2px; border-radius: 3px; }
body.lab-events #ev-toast-root .ev-toast.is-error::before { content: '×'; background: #bf2f34; font-size: 18px; }
body.lab-events #ev-toast-root .ev-toast.ev-bgsub-hint:not(.is-panel) { pointer-events: auto; text-align: left; }
body.lab-events #ev-toast-root .ev-toast.ev-bgsub-hint:not(.is-panel)::before { content: 'i'; background: #8055bc; }

@media (max-width: 900px) {
  body.lab-events .sl-app .rd-roi-launcher { grid-template-columns: 110px minmax(0, 1fr); gap: 15px; }
  body.lab-events .rd-roi-preview { height: 130px; }
  body.lab-events .rd-roi-preview::before { width: 95px; height: 95px; }
  body.lab-events .rd-roi-action { grid-column: 1 / -1; }
}

@media (max-width: 767px) {
  body.lab-events .rd-nav-dialog { padding: 0; }
  body.lab-events .rd-nav-card {
    width: 100%;
    height: 100dvh;
    max-height: none;
    border: 0;
    border-radius: 0;
  }
  body.lab-events .rd-nav-search { padding: 14px 15px; }
  body.lab-events .rd-nav-search input { font-size: 15px; }
  body.lab-events .rd-nav-row {
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 4px 9px;
    padding: 13px 8px;
    border-bottom: 1px solid var(--sl-border-soft);
  }
  body.lab-events .rd-nav-row strong { grid-column: 1; }
  body.lab-events .rd-nav-row b { grid-column: 2; }
  body.lab-events .rd-nav-row span { grid-column: 1; grid-row: 2; }
  body.lab-events .rd-nav-row small { grid-column: 2; grid-row: 2; }
  body.lab-events .rd-nav-row em { grid-column: 3; grid-row: 1 / 3; }
  body.lab-events #ev-toast-root { bottom: 80px; }
  body.lab-events .rd-openin-menu { top: 56px !important; left: 10px !important; }
}

@media (max-width: 700px) {
  body.lab-events .rd-export-dialog { padding: 0; }
  body.lab-events .rd-export-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100dvh;
    border: 0;
    border-radius: 0;
    overflow-y: auto;
  }
  body.lab-events .rd-export-options { flex: none; overflow: visible; }
  body.lab-events .rd-export-options header { padding: 12px 16px; }
  body.lab-events .rd-export-options h2 { font-size: 22px; }
  body.lab-events .rd-export-options h3 { margin: 12px 16px 6px; }
  body.lab-events .rd-export-panel-list,
  body.lab-events .rd-export-choice { padding: 0 16px; }
  body.lab-events .rd-export-options footer { padding: 12px 16px; }
  body.lab-events .rd-export-preview-wrap { flex: none; min-height: 300px; padding: 14px 16px; }
  body.lab-events .rd-export-preview-stage { min-height: 250px; }
}

@media (max-width: 600px) {
  body.lab-events .sl-app .rd-roi-launcher { grid-template-columns: 1fr; padding: 14px; }
  body.lab-events .rd-roi-preview { height: 170px; }
  body.lab-events .rd-roi-preview::before { width: 135px; height: 135px; }
  body.lab-events .rd-roi-action { grid-column: 1; }
}

@media (prefers-reduced-motion: reduce) {
  body.lab-events #ev-toast-root .ev-toast:not(.is-panel) { transition: none; }
}

/* Source 10b selection/confirmation stay with the chart they affect. */
body.lab-events .rd-bgsub-selection, body.lab-events .rd-bgsub-confirm-panel {
  display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:8px 14px;
  padding:10px 12px; border:1px solid var(--sl-border); border-radius:8px;
  background:var(--sl-surface-soft); color:var(--sl-ink); font:12px/1.5 var(--sl-font-ui);
}
body.lab-events .rd-bgsub-selection[hidden] {display:none;}
body.lab-events .rd-bgsub-selection > span, body.lab-events .rd-bgsub-confirm-panel > .ev-bgsub-hint-copy {flex:1;min-width:180px;}
body.lab-events .rd-bgsub-selection button, body.lab-events .rd-bgsub-confirm-panel button {
  padding:5px 9px; border:1px solid var(--sl-border); border-radius:5px; background:var(--sl-surface);
  color:var(--sl-ink); font:600 11px var(--sl-font-ui); cursor:pointer;
}
body.lab-events .rd-bgsub-confirm-panel [data-bgsub-confirm] {background:var(--sl-active-bg);color:var(--sl-active-ink);border-color:var(--sl-active-bg);}
body.lab-events .rd-bgsub-confirm-panel .ev-bgsub-confirm-actions {display:flex;gap:6px;}

/* Source 7a / 15a: the shared AIA/HMI and GONG locators use the same
   numbered sections, disk/controls split and anchored run action. */
body.lab-events .sl-locator :is(.aia-dialog,.hroi-dialog) { inset:24px; border-radius:12px; background:var(--sl-surface); color:var(--sl-ink); border-color:var(--sl-border); }
body.lab-events.theme-dark .sl-locator {color-scheme:dark;}
body.lab-events .sl-locator :is(.aia-head,.hroi-head) { align-items:center; gap:14px; padding:14px 20px; background:var(--sl-surface); border-color:var(--sl-border-soft); }
body.lab-events .sl-locator :is(.aia-title,.hroi-title) { color:var(--sl-ink); font:600 20px/1.2 var(--sl-font-display); }
body.lab-events .sl-locator :is(.aia-event,.hroi-event,.aia-credit,.hroi-credit) { color:var(--sl-muted); font:10px/1.5 var(--sl-font-mono); }
body.lab-events .sl-locator :is(.aia-body,.hroi-body) { display:grid; grid-template-columns:minmax(0,1fr) minmax(500px,640px); }
body.lab-events .sl-locator :is(.aia-side,.hroi-side) { display:flex; flex-direction:column; min-width:0; min-height:0; max-height:none; overflow:hidden; padding:0; background:var(--sl-surface); border-color:var(--sl-border-soft); }
body.lab-events .sl-locator .sl-locator-sections { flex:1; min-height:0; overflow:auto; }
body.lab-events .sl-locator .sl-locator-section { padding:14px 18px; border-bottom:1px solid var(--sl-border-soft); }
body.lab-events .sl-locator .sl-locator-section > h2 { display:flex; align-items:center; gap:10px; margin:0 0 12px; font:600 14px var(--sl-font-ui); color:var(--sl-ink); }
body.lab-events .sl-locator .sl-locator-section > h2 b { display:grid; place-items:center; width:22px; height:22px; border-radius:50%; background:var(--sl-active-bg); color:var(--sl-active-ink); font:600 11px var(--sl-font-ui); }
body.lab-events .sl-locator :is(.aia-goes-context,.hroi-goes-context,.aia-window-block,.aia-wavelength-block,.aia-cadence-block,.aia-frames-block,.hroi-station-block,.hroi-cadence-block,.hroi-frames-block,.aia-signal-panel,.hroi-signal-panel,.aia-submit-panel,.hroi-submit-panel) { min-width:0; max-width:none; border:0; padding:0; background:transparent; border-radius:0; }
body.lab-events .sl-locator :is(.aia-goes-title,.hroi-goes-title) { display:none; }
body.lab-events .sl-locator :is(.aia-goes-caption,.hroi-goes-caption) > span:first-child {visibility:hidden;}
body.lab-events .sl-locator :is(.aia-goes-head,.hroi-goes-head) { display:block; margin:0 0 8px; }
body.lab-events .sl-locator :is(.aia-flare-inline,.hroi-flare-inline) { display:flex; width:100%; }
body.lab-events .sl-locator :is(.aia-flare-select,.hroi-flare-select) { flex:1; max-width:none; }
body.lab-events .sl-locator :is(.aia-goes-plot,.hroi-goes-plot) { height:106px; min-height:0; margin:0; }
body.lab-events .sl-locator :is(.aia-goes-foot,.hroi-goes-foot) { margin:5px 0; }
body.lab-events .sl-locator :is(.aia-window-grid,.hroi-window-grid) { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:8px; }
body.lab-events .sl-locator :is(.aia-window-grid,.hroi-window-grid) > label { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
body.lab-events .sl-locator :is(.aia-dt,.hroi-dt) { display:flex; gap:5px; flex:1; }
body.lab-events .sl-locator :is(.aia-dt,.hroi-dt) input { flex:1; min-width:0; width:100%; }
body.lab-events .sl-locator :is(.aia-window-quick,.hroi-window-quick) { display:flex; justify-content:flex-end; gap:0; margin-top:10px; }
body.lab-events .sl-locator .sl-locator-channel-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:10px 16px; }
/* HMI reuses native AIA controls but its profile already supplies instrument
   tabs. The source tabs above replace that duplicate presentation only. */
body.lab-events .sl-locator[data-instrument='hmi'] .roi-instrument-tabs { display:none; }
body.lab-events .sl-locator[data-instrument='hmi'] .aia-head { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px 20px; }
body.lab-events .sl-locator[data-instrument='hmi'] .aia-head > :first-child { min-width:0; }
body.lab-events .sl-locator[data-instrument='hmi'] .sl-locator-instruments { grid-column:1; grid-row:2; }
body.lab-events .sl-locator[data-instrument='hmi'] .aia-head-actions { grid-column:2; grid-row:1/3; min-width:0; flex-wrap:wrap; justify-content:flex-end; }
body.lab-events .sl-locator[data-instrument='hmi'] .aia-head-window { white-space:normal; }
body.lab-events .sl-locator[data-instrument='hmi'] .aia-submit-card { gap:12px; align-items:center; }
body.lab-events .sl-locator[data-instrument='hmi'] .aia-submit-meta { display:flex; flex-direction:column; align-items:stretch; min-width:0; gap:6px; }
body.lab-events .sl-locator[data-instrument='hmi'] .aia-eta-bar-block { display:block; min-width:0; flex:none; }
body.lab-events .sl-locator[data-instrument='hmi'] .aia-eta-summary { white-space:normal; overflow-wrap:anywhere; font-weight:400; line-height:1.5; color:var(--sl-muted); }
body.lab-events .sl-locator[data-instrument='hmi'] .aia-eta-frames { margin-top:4px; }
body.lab-events .sl-locator[data-instrument='hmi'] .aia-generate { height:auto; align-self:center; }
body.lab-events .sl-locator .sl-locator-channel-grid > h2 { grid-column:1/-1; margin-bottom:0; }
body.lab-events .sl-locator :is(.aia-wavelength-block,.hroi-station-block) { grid-column:1; grid-row:2/4; }
body.lab-events .sl-locator :is(.aia-wavelength,.hroi-station) { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
body.lab-events .sl-locator :is(.aia-cadence-block,.hroi-cadence-block,.aia-frames-block,.hroi-frames-block) { grid-column:2; }
body.lab-events .sl-locator :is(.aia-cadence,.hroi-cadence) { display:flex; flex-wrap:nowrap; gap:0; }
/* Native GONG supplies a 58px cadence column and staggered station spans.
   Source 7a-D2 instead uses full-width segments and three station columns. */
body.lab-events .sl-locator .hroi-cadence { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); width:100%; }
body.lab-events .sl-locator :is(.aia-cadence,.hroi-cadence) > button { flex:1; min-width:0; padding:5px 4px; }
body.lab-events .sl-locator .hroi-station { grid-template-columns:repeat(3,minmax(0,1fr)); max-width:none; width:100%; margin:0; }
body.lab-events .sl-locator .hroi-station .hroi-chip-btn { grid-column:auto; }
body.lab-events .sl-locator :is(.aia-frames,.hroi-frames) { display:grid; grid-template-columns:1fr 1fr; gap:5px; }
body.lab-events .sl-locator :is(.aia-roi-tools,.hroi-roi-tools) { margin:0; }
body.lab-events .sl-locator :is(.aia-roi-main,.hroi-roi-main) { padding:0; border:0; background:transparent; }
body.lab-events .sl-locator :is(.aia-region-bar,.hroi-region-bar) { display:flex;flex-direction:column;align-items:stretch;gap:8px; }
body.lab-events .sl-locator :is(.aia-roi-text,.hroi-roi-text) { flex:1 0 100%; order:2; font:10px/1.5 var(--sl-font-mono); color:var(--sl-muted); }
body.lab-events .sl-locator :is(.aia-region-actions,.hroi-region-actions) { flex:1 0 100%; flex-wrap:wrap; gap:5px; margin-top:8px; }
body.lab-events .sl-locator :is(.aia-signal-toggle,.hroi-signal-toggle) { display:inline-flex; width:auto; gap:0; margin-bottom:8px; }
body.lab-events .sl-locator :is(.aia-signal-help,.hroi-signal-help,.aia-baseline-help,.hroi-baseline-help) { color:var(--sl-muted); font:11px/1.5 var(--sl-font-ui); }
body.lab-events .sl-locator :is(.aia-baseline-wrap,.hroi-baseline-wrap) { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:8px 0; }
body.lab-events .sl-locator :is(.aia-baseline-label,.hroi-baseline-label) { display:flex; align-items:center; gap:8px; width:auto; }
body.lab-events .sl-locator :is(.aia-baseline-minutes,.hroi-baseline-minutes) { width:70px; }
body.lab-events .sl-locator :is(.aia-submit-card,.hroi-submit-card) { display:grid; grid-template-columns:minmax(0,1fr) auto; flex:none; margin:0; padding:14px 18px; border:0; border-top:1px solid var(--sl-border-soft); border-radius:0; background:var(--sl-surface-soft); }
body.lab-events .sl-locator :is(.aia-generate,.hroi-generate) { border:1px solid var(--sl-active-bg); border-radius:8px; padding:12px 20px; background:var(--sl-active-bg); color:var(--sl-active-ink); min-height:46px; font:600 13px var(--sl-font-ui); }
body.lab-events .sl-locator :is(.aia-stage,.hroi-stage) { background:#0d0d12; }
body.lab-events .sl-locator :is(.aia-stage-inner,.hroi-stage-inner) {width:min(100%,calc(100dvh - 210px));aspect-ratio:1;border:0;border-radius:0;box-shadow:none;}
body.lab-events .sl-locator :is(.aia-frame-img,.hroi-frame-img) {width:100%;height:100%;max-height:none;object-fit:contain;}
body.lab-events .sl-locator :is(.aia-side,.hroi-side) :is(button,input,select,summary) { font:12px/1.3 var(--sl-font-ui); }
body.lab-events .sl-locator :is(.aia-side,.hroi-side) :is(button,input,select) { min-height:30px; border-color:var(--sl-border); background:var(--sl-surface); color:var(--sl-ink); }
body.lab-events .sl-locator :is(.aia-side,.hroi-side) button[aria-pressed='true'] { background:var(--sl-active-bg); color:var(--sl-active-ink); }
body.lab-events .sl-locator :is(.aia-side,.hroi-side) button.is-active { border-color:#0e7490; background:#e3f3f7; color:#0e5266; }
body.lab-events .sl-locator :is(.aia-cadence-btn,.hroi-cadence-btn).is-active,
body.lab-events .sl-locator :is(.aia-zoom-controls,.hroi-zoom-controls) button[aria-pressed='true'] {background:var(--sl-active-bg);color:var(--sl-active-ink);border-color:var(--sl-active-bg);}
body.lab-events .sl-locator :is(.aia-signal-btn,.hroi-signal-btn) { min-width:48px; padding:5px 12px; border-radius:0; }
body.lab-events .sl-locator :is(.aia-side,.hroi-side) :is(.aia-signal-btn,.hroi-signal-btn).is-active { border-color:var(--sl-active-bg); background:var(--sl-active-bg); color:var(--sl-active-ink); }
body.lab-events .sl-locator .aia-side .aia-generate, body.lab-events .sl-locator .hroi-side .hroi-generate {background:var(--sl-active-bg);color:var(--sl-active-ink);border-color:var(--sl-active-bg);}
body.lab-events .sl-locator .aia-side .aia-wavelength {grid-auto-flow:row;grid-template-rows:none;grid-auto-columns:auto;grid-template-columns:34px repeat(4,minmax(0,1fr));}
body.lab-events .sl-locator .aia-wavelength::before,body.lab-events .sl-locator .aia-wavelength::after {font:9px var(--sl-font-mono);color:var(--sl-muted-soft);align-self:center;}
body.lab-events .sl-locator .aia-wavelength::before {content:'EUV';grid-column:1;grid-row:1 / 3;}
body.lab-events .sl-locator .aia-wavelength::after {content:'UV';grid-column:1;grid-row:3;}
body.lab-events .sl-locator[data-instrument='hmi'] .aia-wavelength::before,body.lab-events .sl-locator[data-instrument='hmi'] .aia-wavelength::after {display:none;}
body.lab-events .sl-locator[data-instrument='hmi'] .aia-side .aia-wavelength {display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
/* Turn 16g overlays use the source palette and labelled export rows. */
body.lab-events .ev-widget[data-instrument='hmi'] :is(.ev-widget-body,.hmi-strip,.hmi-noise) {background:var(--sl-surface);color:var(--sl-ink);border-color:var(--sl-border);}
body.lab-events .ev-widget[data-instrument='hmi'] :is(.hmi-result,.hmi-idle,.hmi-wait) {color:var(--sl-ink);}
body.lab-events .ev-widget[data-instrument='hmi'] :is(.hmi-boxes button,.hmi-segment button,.hmi-plain-btn,.hmi-card-menu) {background:var(--sl-surface);color:var(--sl-ink);border-color:var(--sl-border);}
body.lab-events .ev-widget[data-instrument='hmi'] :is(.hmi-boxes button,.hmi-segment button)[aria-pressed='true'] {background:var(--sl-active-bg);color:var(--sl-active-ink);border-color:var(--sl-active-bg);}
body.lab-events .ev-widget[data-instrument='hmi'] .hmi-mobile-components button {background:var(--sl-surface);color:var(--sl-ink);border-color:var(--sl-border);}
body.lab-events .ev-widget[data-instrument='hmi'] .hmi-mobile-components button[aria-pressed='true'] {background:var(--sl-active-bg);color:var(--sl-active-ink);border-color:var(--sl-active-bg);}
/* Native dark toolbar selectors include theme-dark and load later. */
body.lab-events.theme-dark .ev-widget[data-instrument='hmi'] div.ev-widget-body {background:var(--sl-surface);color:var(--sl-ink);}
body.lab-events.theme-dark .ev-widget[data-instrument='hmi'] .hmi-toolbar :is(.hmi-boxes button,.hmi-segment button,.hmi-plain-btn,.hmi-card-menu) {background:var(--sl-surface);color:var(--sl-ink);border-color:var(--sl-border);}
body.lab-events.theme-dark .ev-widget[data-instrument='hmi'] .hmi-toolbar :is(.hmi-boxes button,.hmi-segment button)[aria-pressed='true'] {background:var(--sl-active-bg);color:var(--sl-active-ink);border-color:var(--sl-active-bg);}
body.lab-events .ev-widget[data-instrument='hmi'] .hmi-card-menu button {color:var(--sl-ink);}
body.lab-events .ev-widget[data-instrument='hmi'] :is(.hmi-credit,.hmi-idle p,.hmi-wait p,.hmi-strip-head span) {color:var(--sl-muted);}
body.lab-events .ev-widget[data-instrument='hmi'] .hmi-noise > span {color:var(--sl-ink);}
/* Turn16f notices display native marks without changing the measured traces. */
body.lab-events .hmi-mu-notice {display:flex;align-items:center;gap:12px;margin:10px 14px;padding:10px 12px;border:1px solid var(--sl-border);border-left:3px solid var(--sl-amber,#ef9f32);border-radius:6px;background:var(--sl-surface-soft);font:12px/1.5 var(--sl-font-ui);}
body.lab-events .hmi-mu-notice > div {flex:1;min-width:0;}
body.lab-events .hmi-mu-notice p {margin:4px 0 0;color:var(--sl-muted);}
body.lab-events .hmi-mu-notice button {flex:none;}
body.lab-events .hmi-window-gap-notice {display:flex;align-items:center;gap:8px;padding:3px 14px;color:var(--sl-muted);font:10px var(--sl-font-mono);}
body.lab-events .hmi-window-gap-notice button {border:0;background:none;color:var(--sl-accent);text-decoration:underline;cursor:pointer;font:inherit;}
body.lab-events .hmi-gap-legend {margin:6px 14px;color:var(--sl-muted);font:10px var(--sl-font-mono);}
@media(max-width:767px) {
 body.lab-events .hmi-mu-notice {flex-wrap:wrap;gap:8px;font-size:11px;}
 body.lab-events .hmi-mu-notice button {min-height:44px;}
 body.lab-events .hmi-window-gap-notice button {min-height:44px;}
}
body.lab-events .ev-widget[data-instrument='hmi'] :is(.hmi-plot,.hmi-noise-plot) :is(.xtick,.ytick) text {fill:var(--sl-muted)!important;}
body.lab-events .hmi-overlay {color:var(--sl-ink);font:13px var(--sl-font-ui);}
body.lab-events .hmi-overlay.sl-hmi-overlay .hmi-overlay-dialog {background:var(--sl-surface);color:var(--sl-ink);border-color:var(--sl-border);}
body.lab-events .hmi-overlay[data-view] .hmi-overlay-dialog {width:min(720px,calc(100vw - 24px));}
body.lab-events .hmi-overlay .hmi-overlay-dialog header {border-color:var(--sl-border);}
body.lab-events .hmi-overlay .hmi-overlay-dialog header button {color:var(--sl-muted);}
body.lab-events .hmi-overlay[data-view='export'] .hmi-overlay-body {display:block;}
body.lab-events .sl-hmi-export-groups {display:flex;flex-direction:column;gap:14px;}
body.lab-events .sl-hmi-export-row {display:grid;grid-template-columns:90px minmax(0,1fr);gap:14px;align-items:start;}
body.lab-events .sl-hmi-export-row h3 {margin:6px 0 0;font:10px var(--sl-font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--sl-muted);}
body.lab-events .sl-hmi-export-row p {margin:7px 0 0;font:12px/1.5 var(--sl-font-ui);color:var(--sl-muted);}
body.lab-events .hmi-overlay :is(.hmi-export-links a,.sl-hmi-export-row button) {border:1px solid var(--sl-border);background:var(--sl-surface);color:var(--sl-ink);border-radius:5px;padding:6px 10px;font:600 12px var(--sl-font-ui);cursor:pointer;}
body.lab-events .sl-hmi-export-credit {display:flex;align-items:start;gap:10px;padding:10px;border:1px solid var(--sl-border);border-radius:6px;background:var(--sl-surface-soft);}
body.lab-events .sl-hmi-export-credit p {flex:1;min-width:0;margin:0;font:10px/1.6 var(--sl-font-mono);color:var(--sl-ink);}
body.lab-events .hmi-overlay .hmi-frame-main p {color:var(--sl-muted);}
body.lab-events .hmi-overlay .hmi-help-sections h3 {color:var(--sl-ink);}
body.lab-events .hmi-overlay .hmi-help-sections p {color:var(--sl-muted);}
body.lab-events .hmi-overlay[data-view='help'] .hmi-overlay-dialog {width:min(520px,calc(100vw - 24px));}
body.lab-events .hmi-overlay[data-view='help'] .hmi-overlay-dialog h2 {font:600 14px/1.4 var(--sl-font-ui);}
body.lab-events .hmi-overlay[data-view='help'] .hmi-help-sections {columns:1;}
body.lab-events .hmi-overlay[data-view='help'] .hmi-help-sections h3 {display:inline;font:700 12px/1.5 var(--sl-font-ui);margin-right:5px;}
body.lab-events .hmi-overlay[data-view='help'] .hmi-help-sections p {display:inline;font:12px/1.5 var(--sl-font-ui);color:var(--sl-ink-secondary);}
body.lab-events .hmi-overlay[data-view='help'] .sl-hmi-baseline-details {margin-top:8px;font:11px/1.5 var(--sl-font-mono);}
body.lab-events .sl-hmi-baseline-details summary {color:var(--sl-accent);cursor:pointer;}
body.lab-events .sl-hmi-baseline-details ul {padding-left:20px;overflow-wrap:anywhere;}
@media(max-width:767px) {
 body.lab-events .hmi-overlay[data-view] .hmi-overlay-dialog {width:100vw;}
 body.lab-events .sl-hmi-export-row {grid-template-columns:1fr;gap:6px;}
 body.lab-events .sl-hmi-export-credit {flex-wrap:wrap;}
}
/* A single HMI series needs no empty AIA wavelength grid. Keep native nodes. */
body.lab-events .sl-locator[data-instrument='hmi'] .sl-locator-channel-grid {grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;}
body.lab-events .sl-locator[data-instrument='hmi'] .aia-wavelength-block {grid-column:1;grid-row:2/4;}
body.lab-events .sl-locator[data-instrument='hmi'] .aia-cadence-block {grid-column:2;grid-row:2;}
body.lab-events .sl-locator[data-instrument='hmi'] .aia-frames-block {grid-column:2;grid-row:3;}
body.lab-events .sl-locator[data-instrument='hmi'] .sl-hmi-source-description {margin:8px 0 0;color:var(--sl-muted);font:11px/1.5 var(--sl-font-ui);}
@media(max-width:767px) {
 body.lab-events .sl-locator[data-instrument='hmi'] .sl-locator-channel-grid {grid-template-columns:minmax(0,1.5fr) minmax(90px,1fr);}
 body.lab-events .sl-locator[data-instrument='hmi'] .aia-wavelength-block {grid-column:1;grid-row:1;}
 body.lab-events .sl-locator[data-instrument='hmi'] .aia-cadence-block {grid-column:2;grid-row:1;}
 body.lab-events .sl-locator[data-instrument='hmi'] .aia-frames-block {grid-column:1/-1;grid-row:2;}
 body.lab-events .sl-locator[data-instrument='hmi'] :is(.aia-frame-btn,.aia-cadence-btn) {min-height:44px;}
}
body.lab-events .sl-locator .aia-wavelength [data-wavelength='94'] {order:1;}
body.lab-events .sl-locator .aia-wavelength [data-wavelength='131'] {order:2;}
body.lab-events .sl-locator .aia-wavelength [data-wavelength='171'] {order:3;}
body.lab-events .sl-locator .aia-wavelength [data-wavelength='193'] {order:4;}
body.lab-events .sl-locator .aia-wavelength [data-wavelength='211'] {order:5;}
body.lab-events .sl-locator .aia-wavelength [data-wavelength='304'] {order:6;}
body.lab-events .sl-locator .aia-wavelength [data-wavelength='335'] {order:7;}
body.lab-events .sl-locator .aia-wavelength [data-wavelength='1600'] {order:9;grid-row:3;grid-column:2;}
body.lab-events .sl-locator .aia-wavelength [data-wavelength='1700'] {order:10;grid-row:3;grid-column:3;}
body.lab-events .sl-locator .aia-wavelength .sl-aia-hmi-note {order:11;grid-row:3;grid-column:4 / span 2;align-self:center;color:var(--sl-muted);font:10px/1.4 var(--sl-font-ui);}
body.lab-events .sl-locator .sl-aia-hmi-note button {padding:0;border:0;background:none;color:var(--sl-accent);font:inherit;text-decoration:underline;cursor:pointer;}
body.lab-events .sl-locator .sl-aia-hmi-note[hidden] {display:none;}
body.lab-events .sl-locator :is(.aia-region-actions,.hroi-region-actions) > button {border-radius:5px;}
body.lab-events .sl-locator .sl-locator-tune {margin-top:8px;border:1px solid var(--sl-border-soft);border-radius:6px;background:var(--sl-surface-soft);}
body.lab-events .sl-locator .sl-locator-tune summary {padding:8px 10px;cursor:pointer;font:600 11px var(--sl-font-ui);}
body.lab-events .sl-locator .sl-locator-tune-controls {display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px;}
body.lab-events .sl-locator .aia-goes-head .aia-flare-inline, body.lab-events .sl-locator .hroi-goes-head .hroi-flare-inline {width:100%;max-width:none;}
body.lab-events .sl-locator :is(.aia-zoom-card,.hroi-zoom-card) {width:186px;background:var(--sl-surface-soft);border-color:var(--sl-border);}
body.lab-events .sl-locator :is(.aia-cache-text,.hroi-cache-text,.aia-eta-bar-block,.hroi-eta-bar-block) {border:0;padding:0;background:transparent;box-shadow:none;}
body.lab-events .sl-locator :is(.aia-side-label,.hroi-side-label) { color:var(--sl-muted); font:9px/1.5 var(--sl-font-mono); }
body.lab-events .sl-locator .sl-locator-instruments { display:flex; flex:none; gap:0; margin-right:auto;border:1px solid var(--sl-border);border-radius:7px;overflow:hidden; }
body.lab-events .sl-locator :is(.sl-locator-instruments button,.sl-locator-guide-toggle) { padding:6px 12px; min-height:30px; border:1px solid var(--sl-border); background:var(--sl-surface); color:var(--sl-ink); font:600 12px var(--sl-font-ui); cursor:pointer; }
body.lab-events .sl-locator .sl-locator-instruments button[aria-pressed='true'] { background:var(--sl-active-bg); color:var(--sl-active-ink); }
body.lab-events .sl-locator .sl-locator-instruments button {border:0;}
body.lab-events .sl-locator .sl-locator-instruments button + button {border-left:1px solid var(--sl-border);}
body.lab-events .sl-locator .sl-locator-guide[hidden] {display:none;}
body.lab-events .sl-locator .sl-locator-guide-scrim { position:absolute; inset:0; z-index:20; background:rgb(18 18 24 / 56%); }
body.lab-events .sl-locator .sl-locator-guide-scrim[hidden] {display:none;}
body.lab-events .sl-locator .sl-locator-guide {
  position:absolute; z-index:22; top:95px; left:36px; display:flex; flex-direction:column;
  width:min(560px,calc(50% - 50px)); max-height:calc(100% - 125px); overflow:auto;
  padding:0; border:0; border-radius:12px; background:var(--sl-surface); color:var(--sl-ink);
  box-shadow:0 18px 50px #0004; font:12px/1.5 var(--sl-font-ui);
}
body.lab-events .sl-locator .sl-locator-guide header {display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--sl-border-soft);}
body.lab-events .sl-locator .sl-locator-guide h3 {flex:1;margin:0;font:600 20px var(--sl-font-display);}
body.lab-events .sl-locator .sl-locator-guide header button {border:0;background:transparent;color:var(--sl-muted);font-size:22px;cursor:pointer;}
body.lab-events .sl-locator .sl-locator-guide ol {margin:0;padding:0 20px;list-style:none;}
body.lab-events .sl-locator .sl-locator-guide li {border-bottom:1px solid var(--sl-border-soft);}
body.lab-events .sl-locator .sl-locator-guide li:last-child {border:0;}
body.lab-events .sl-locator .sl-locator-guide [data-guide-step] {display:flex;align-items:start;gap:14px;width:100%;padding:14px 0;border:0;text-align:left;background:transparent;color:inherit;cursor:pointer;font:inherit;}
body.lab-events .sl-locator .sl-locator-guide [data-guide-step]>b {display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;background:var(--sl-active-bg);color:var(--sl-active-ink);font:600 11px var(--sl-font-ui);}
body.lab-events .sl-locator .sl-locator-guide [aria-current='true']>b {background:var(--sl-accent);color:#fff;}
body.lab-events .sl-locator :is(.aia-head-actions,.hroi-head-actions) {display:flex;align-items:center;gap:8px;flex:none;}
body.lab-events .sl-locator .sl-locator-guide-toggle {width:auto;min-width:70px;height:32px;white-space:nowrap;border-radius:5px;box-shadow:none;}
body.lab-events .sl-locator .sl-locator-guide-toggle span {display:inline;width:auto;height:auto;background:transparent;color:inherit;box-shadow:none;}
body.lab-events .sl-locator :is(.aia-close,.hroi-close) {background:var(--sl-surface);color:var(--sl-ink);border-color:var(--sl-border);}
body.lab-events .sl-locator :is(.aia-zoom-head,.hroi-zoom-head) {color:var(--sl-ink);}
body.lab-events .sl-locator :is(.aia-zoom-meta,.hroi-zoom-meta,.aia-eta-text,.hroi-eta-text,.aia-status,.hroi-status) {color:var(--sl-muted);}
body.lab-events .sl-locator :is(.aia-status,.hroi-status)[data-level='error'] {color:#ef4444;}
body.lab-events .sl-locator :is(.aia-status,.hroi-status)[data-level='warn'] {color:#c18021;}
body.lab-events .sl-locator .hroi-roi-size summary {border-color:var(--sl-border);background:var(--sl-surface-soft);color:var(--sl-ink);}
body.lab-events .sl-locator .hroi-generate span {display:none;}
body.lab-events .sl-locator .sl-locator-guide [data-guide-step] strong {display:block;font-size:13px;color:var(--sl-ink);}
body.lab-events .sl-locator .sl-locator-guide [data-guide-step]>span>span {display:block;color:var(--sl-muted);}
body.lab-events .sl-locator .sl-locator-guide footer {display:flex;align-items:center;gap:8px;padding:12px 20px;border-top:1px solid var(--sl-border-soft);background:var(--sl-surface-soft);}
body.lab-events .sl-locator .sl-locator-guide footer>span {flex:1;font:10px var(--sl-font-mono);color:var(--sl-muted);}
body.lab-events .sl-locator .sl-locator-guide footer button {padding:6px 10px;border:1px solid var(--sl-border);border-radius:5px;background:var(--sl-surface);color:var(--sl-ink);font:600 12px var(--sl-font-ui);cursor:pointer;}
body.lab-events .sl-locator .sl-locator-guide footer button:last-child {background:var(--sl-active-bg);color:var(--sl-active-ink);}
body.lab-events .sl-locator .sl-guide-current {position:relative;z-index:21;background:var(--sl-surface);outline:3px solid var(--sl-accent);outline-offset:-3px;border-radius:7px;}
@media(max-width:1100px) {
 body.lab-events .sl-locator :is(.aia-body,.hroi-body) { grid-template-columns:minmax(0,1fr) minmax(430px,50%); }
 body.lab-events .sl-locator :is(.aia-head,.hroi-head) { flex-wrap:wrap;gap:10px; }
}
/* Source 7a component contract: explicitly replace the native modal spacing,
   cards and segmented controls at the presentation boundary. */
body.lab-events .sl-locator .sl-locator-title-group {position:relative;padding-left:24px;}
body.lab-events .sl-locator .sl-locator-title-group::before {content:'';position:absolute;left:0;top:9px;width:10px;height:10px;border-radius:50%;background:#0e7490;}
body.lab-events .hroi-roi-modal.sl-locator .sl-locator-title-group::before {background:#8e2519;}
body.lab-events .sl-locator[data-instrument='hmi'] .sl-locator-title-group::before {background:#9a9fae;}
body.lab-events .sl-locator .sl-locator-section-hint {font:12px/1.4 var(--sl-font-ui);font-weight:400;color:var(--sl-muted);}
body.lab-events .sl-locator .sl-locator-section-hint:empty {display:none;}
body.lab-events .sl-locator :is(.aia-side,.hroi-side) .om-help-btn {width:16px;min-width:16px;height:16px;min-height:16px;padding:0;box-shadow:none;background:var(--sl-surface);color:var(--sl-violet);font:700 9px var(--sl-font-ui);}
body.lab-events .sl-locator :is(.aia-side-label,.hroi-side-label) {font-size:10px;margin:0 0 6px;letter-spacing:.08em;}
body.lab-events .sl-locator :is(.aia-flare-inline,.hroi-flare-inline) {min-width:0;gap:8px;}
body.lab-events .sl-locator :is(.aia-flare-select,.hroi-flare-select) {font:11px var(--sl-font-mono);font-weight:400;border-radius:6px;}
body.lab-events .sl-locator :is(.aia-goes-svg,.hroi-goes-svg) {display:block;width:100%;height:106px;}
body.lab-events .sl-locator :is(.aia-goes-caption,.hroi-goes-caption,.aia-goes-foot,.hroi-goes-foot) {display:none;}
body.lab-events .sl-locator .aia-window-block > .aia-side-label {display:none;}
body.lab-events .sl-locator :is(.aia-window-grid,.hroi-window-grid) {margin:12px 0 0;padding:0;border:0;border-radius:0;background:transparent;}
body.lab-events .sl-locator :is(.aia-window-grid,.hroi-window-grid) > label {font:10px var(--sl-font-mono);color:var(--sl-muted);gap:6px;flex-wrap:nowrap;}
body.lab-events .sl-locator :is(.aia-window-grid,.hroi-window-grid) .om-help-wrap {order:-1;}
body.lab-events .sl-locator :is(.aia-dt,.hroi-dt) {gap:6px;min-width:0;}
body.lab-events .sl-locator :is(.aia-dt,.hroi-dt) input {font:11px var(--sl-font-mono);font-weight:400;padding:0 5px;min-height:32px;}
body.lab-events .sl-locator .sl-locator-time-footer {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;}
body.lab-events .sl-locator .sl-locator-time-meta {font:10px/1.4 var(--sl-font-mono);color:var(--sl-muted);}
body.lab-events .sl-locator :is(.aia-window-quick,.hroi-window-quick) {margin:0;flex:none;border:1px solid var(--sl-border);border-radius:6px;overflow:hidden;}
body.lab-events .sl-locator :is(.aia-window-quick,.hroi-window-quick) button {border:0;border-radius:0;padding:6px 10px;font-weight:600;}
body.lab-events .sl-locator :is(.aia-window-quick,.hroi-window-quick) button + button {border-left:1px solid var(--sl-border);}
body.lab-events .sl-locator :is(.aia-cadence,.hroi-cadence,.aia-signal-toggle,.hroi-signal-toggle,.aia-zoom-controls,.hroi-zoom-controls) {border:1px solid var(--sl-border);border-radius:6px;overflow:hidden;gap:0;}
body.lab-events .sl-locator :is(.aia-cadence,.hroi-cadence,.aia-signal-toggle,.hroi-signal-toggle,.aia-zoom-controls,.hroi-zoom-controls) > button {border:0;border-radius:0;font-weight:600;}
body.lab-events .sl-locator :is(.aia-cadence,.hroi-cadence,.aia-signal-toggle,.hroi-signal-toggle,.aia-zoom-controls,.hroi-zoom-controls) > button + button {border-left:1px solid var(--sl-border);}
body.lab-events .sl-locator :is(.aia-side,.hroi-side) :is(.aia-cadence-btn,.hroi-cadence-btn).is-active {background:var(--sl-active-bg);color:var(--sl-active-ink);border-color:var(--sl-active-bg);}
body.lab-events .sl-locator :is(.aia-region-bar,.hroi-region-bar) {flex-wrap:nowrap;}
body.lab-events .sl-locator .sl-locator-region-choices {display:flex;align-items:center;flex-wrap:wrap;gap:6px;}
body.lab-events .sl-locator .sl-locator-region-choices :is(.aia-roi-inline-label,.hroi-roi-inline-label) {width:60px;margin:0;flex:none;overflow:visible;}
body.lab-events .sl-locator .sl-locator-region-choices .om-help-label-text {max-width:none;overflow:visible;}
body.lab-events .sl-locator .sl-locator-region-choices > button {font-weight:600;border-radius:6px;padding:6px 10px;}
body.lab-events .sl-locator :is(.aia-region-actions,.hroi-region-actions) {display:flex;align-items:center;gap:6px;margin:0;flex:0 0 auto;}
body.lab-events .sl-locator .sl-locator-actions-label {width:60px;flex:none;color:var(--sl-muted);font:10px var(--sl-font-mono);text-transform:uppercase;letter-spacing:.08em;}
body.lab-events .sl-locator :is(.aia-side,.hroi-side) :is(.aia-center-roi,.hroi-center-roi) {background:#fdf6dc;border-color:#e8cf7a;color:#1a1a22;font-weight:600;}
body.lab-events .sl-locator :is(.aia-roi-zoom-control,.hroi-roi-zoom-control) {margin-left:auto;padding:0;border:0;border-radius:0;background:transparent;gap:6px;}
body.lab-events .sl-locator :is(.aia-roi-text,.hroi-roi-text) {order:0;flex:none;width:100%;white-space:normal;overflow-wrap:anywhere;font:10px/1.5 var(--sl-font-mono);}
body.lab-events .sl-locator .sl-locator-tune summary {display:flex;align-items:center;gap:10px;padding:10px 12px;font:12px var(--sl-font-ui);}
body.lab-events .sl-locator .sl-locator-tune summary::before {content:'▸';color:var(--sl-muted);}
body.lab-events .sl-locator .sl-locator-tune[open] summary::before {content:'▾';}
body.lab-events .sl-locator .sl-locator-tune-meta {flex:1;min-width:0;color:var(--sl-muted);font:10px var(--sl-font-mono);}
body.lab-events .sl-locator .sl-locator-tune-adjust {color:var(--sl-accent);text-decoration:underline;}
body.lab-events .sl-locator .hroi-roi-size.sl-locator-tune {padding:0;border:1px solid var(--sl-border-soft);border-radius:6px;width:100%;background:var(--sl-surface-soft);}
body.lab-events .sl-locator .hroi-roi-size.sl-locator-tune summary {display:flex;width:100%;box-sizing:border-box;min-height:0;border:0;border-radius:0;background:transparent;font-weight:600;}
body.lab-events .sl-locator .hroi-roi-size.sl-locator-tune summary::after {display:none;}
body.lab-events .sl-locator .hroi-roi-size-summary {flex:1;font:10px var(--sl-font-mono);color:var(--sl-muted);}
body.lab-events .sl-locator .sl-locator-signal-row {display:flex;align-items:center;gap:12px;}
body.lab-events .sl-locator :is(.aia-signal-panel,.hroi-signal-panel) > :is(.aia-side-label,.hroi-side-label) {display:none;}
body.lab-events .sl-locator :is(.aia-signal-toggle,.hroi-signal-toggle) {flex:none;margin:0;}
body.lab-events .sl-locator :is(.aia-signal-help,.hroi-signal-help) {display:block;min-width:0;margin:0;}
body.lab-events .sl-locator :is(.aia-signal-help,.hroi-signal-help) > span[aria-hidden] {display:none;}
body.lab-events .sl-locator .sl-locator-baseline-row {display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:10px;}
body.lab-events .sl-locator :is(.aia-baseline-wrap,.hroi-baseline-wrap) {display:flex;align-items:center;gap:10px;flex:1;min-width:0;margin:0;padding:0;border:0;background:transparent;}
body.lab-events .sl-locator :is(.aia-baseline-wrap,.hroi-baseline-wrap)[hidden] {display:none;}
body.lab-events .sl-locator .sl-locator-baseline-row > :is(.aia-method,.hroi-method) {margin-left:auto;}
body.lab-events .sl-locator :is(.aia-baseline-label,.hroi-baseline-label) {font:600 12px var(--sl-font-ui);color:var(--sl-ink);flex:none;}
body.lab-events .sl-locator :is(.aia-baseline-minutes,.hroi-baseline-minutes) {width:70px;min-height:32px;font:12px var(--sl-font-mono);}
body.lab-events .sl-locator :is(.aia-baseline-help,.hroi-baseline-help) {flex:1;margin:0;font:11px/1.45 var(--sl-font-ui);}
body.lab-events .sl-locator :is(.aia-method,.hroi-method) {position:relative;padding:0;border:0;background:transparent;color:var(--sl-ink);}
body.lab-events .sl-locator :is(.aia-method,.hroi-method) summary {display:block;min-height:0;padding:4px 0;margin:0;background:transparent;color:var(--sl-accent);text-decoration:underline;font:12px var(--sl-font-ui);white-space:nowrap;}
body.lab-events .sl-locator :is(.aia-method,.hroi-method) summary::after {content:' ▾';border:0;background:transparent;padding:0;color:inherit;}
body.lab-events .sl-locator :is(.aia-method,.hroi-method)[open] {flex:1 0 100%;}
body.lab-events .sl-locator :is(.aia-method,.hroi-method)[open] summary::after {content:' ▴';}
body.lab-events .sl-locator :is(.aia-method,.hroi-method) ul {margin:8px 0 0;padding:12px 12px 12px 28px;border:1px solid var(--sl-border);border-radius:6px;background:var(--sl-surface-soft);font:12px/1.5 var(--sl-font-ui);}
body.lab-events .sl-locator :is(.aia-method,.hroi-method) li {font-weight:400;color:var(--sl-ink);}
body.lab-events .sl-locator :is(.aia-method,.hroi-method) strong {font-weight:600;}
body.lab-events .sl-locator .sl-locator-queue-row {display:flex;align-items:center;gap:10px;}
body.lab-events .sl-locator .sl-locator-queue-row .aia-queue-text {flex:1;min-width:0;padding:0;margin:0;border:0;background:transparent;color:var(--sl-ink);font-size:12px;}
body.lab-events .sl-locator .sl-locator-queue-row .aia-own-email {min-height:30px;margin:0;flex:none;color:var(--sl-ink);font-size:11px;}
body.lab-events .sl-locator .sl-locator-queue-row .aia-own-email input {width:14px;height:14px;min-height:0;}
body.lab-events .sl-locator .hroi-queue-text {padding:0;margin:8px 0;border:0;background:transparent;color:var(--sl-ink);font:12px/1.4 var(--sl-font-ui);}
body.lab-events .sl-locator .hroi-output-toggles :is(label,.hroi-output-fixed) {border:1px solid var(--sl-border);border-radius:6px;background:var(--sl-surface-soft);color:var(--sl-ink);font:600 12px var(--sl-font-ui);}
body.lab-events .sl-locator :is(.aia-myruns-label,.hroi-myruns-label,.aia-own-email-wrap small,.hroi-own-email-wrap small) {color:var(--sl-muted);}
body.lab-events .sl-locator :is(.aia-submit-panel,.hroi-submit-panel) > :is(.aia-side-label,.hroi-side-label) {display:none;}
body.lab-events .sl-locator :is(.aia-history-panel,.hroi-history-panel) {margin-top:8px;padding:0;border:0;background:transparent;}
body.lab-events .sl-locator :is(.aia-recovery-restore,.hroi-recovery-restore) {display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:10px;padding:0;border:0;}
body.lab-events .sl-locator :is(.aia-recovery-restore,.hroi-recovery-restore) > :is(.aia-side-label,.hroi-side-label) {margin:0;}
body.lab-events .sl-locator :is(.aia-recovery-row,.hroi-recovery-row) {flex:1;min-width:0;}
body.lab-events .sl-locator :is(.aia-recovery-hint,.hroi-recovery-hint) {flex-basis:100%;margin:0;font:10px/1.4 var(--sl-font-ui);color:var(--sl-muted);}
body.lab-events .sl-locator :is(.aia-recovery-input,.hroi-recovery-input) {min-height:32px;font:11px var(--sl-font-mono);font-weight:400;}
body.lab-events .sl-locator :is(.aia-status,.hroi-status) {font:11px/1.5 var(--sl-font-ui);padding:8px 18px;}
body.lab-events .sl-locator :is(.aia-status,.hroi-status):empty {display:none;}
body.lab-events .sl-locator :is(.aia-submit-meta,.hroi-submit-meta) {min-width:0;max-width:none;display:grid;grid-template-columns:fit-content(45%) minmax(0,1fr);align-items:center;gap:6px 10px;padding:0;border:0;background:transparent;}
body.lab-events .sl-locator :is(.aia-cache-text,.hroi-cache-text) {font:10px/1.4 var(--sl-font-mono);white-space:normal;overflow:visible;max-width:none;}
body.lab-events .sl-locator :is(.aia-cache-text,.hroi-cache-text)[data-level=''] {color:var(--sl-muted);}
body.lab-events .sl-locator :is(.aia-eta-summary,.hroi-eta-summary) {white-space:normal;font:10px/1.4 var(--sl-font-mono);color:var(--sl-muted);}
body.lab-events .sl-locator :is(.aia-eta-bar-block,.hroi-eta-bar-block) {min-width:0;max-width:none;}
body.lab-events .sl-locator :is(.aia-eta-frames,.hroi-eta-frames) {white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;}
body.lab-events .sl-locator .sl-locator-mobile-hint {display:none;}
body.lab-events .sl-locator-mobile-steps {display:none;}
@media(max-width:767px) {
 body.lab-events .sl-locator-mobile-steps {display:flex;gap:5px;flex:none;border-bottom:1px solid var(--sl-border);background:var(--sl-surface);padding:9px 12px;}
 body.lab-events .sl-locator-mobile-steps button {flex:1;min-width:0;padding:6px 2px!important;border:1px solid var(--sl-border)!important;border-radius:999px!important;background:var(--sl-surface)!important;font:600 10px var(--sl-font-ui)!important;color:var(--sl-ink)!important;}
 body.lab-events .sl-locator-mobile-steps button[aria-pressed='true'] {border-color:var(--sl-active-bg)!important;background:var(--sl-active-bg)!important;color:var(--sl-active-ink)!important;}
 body.lab-events .sl-locator .sl-locator-section:not(.sl-locator-mobile-current) {display:none;}
 body.lab-events .sl-locator :is(.aia-stage-inner,.hroi-stage-inner) {width:min(100%,calc(35dvh - 16px));}
 body.lab-events .sl-locator :is(.aia-dialog,.hroi-dialog) {inset:0;border:0;border-radius:0;}
 body.lab-events .sl-locator :is(.aia-head,.hroi-head) {display:grid;grid-template-columns:minmax(0,1fr) auto;padding:10px 12px;gap:7px;}
 body.lab-events .sl-locator :is(.aia-head,.hroi-head) > :first-child {min-width:0;}
 body.lab-events .sl-locator :is(.aia-title,.hroi-title) {font-size:17px;}
 body.lab-events .sl-locator :is(.aia-head-actions,.hroi-head-actions) {margin-left:auto;}
 body.lab-events .sl-locator :is(.aia-head-window,.hroi-head-window) {display:none;}
 body.lab-events .sl-locator .sl-locator-instruments {order:3;grid-column:1/-1;width:100%;}
 body.lab-events .sl-locator .sl-locator-instruments button {flex:1;padding:5px; font-size:11px;}
 body.lab-events .sl-locator[data-instrument='hmi'] .sl-locator-instruments {grid-column:1/-1;grid-row:2;}
 body.lab-events .sl-locator[data-instrument='hmi'] .aia-head-actions {grid-column:2;grid-row:1;align-self:start;flex-wrap:nowrap;}
 body.lab-events .sl-locator :is(.aia-body,.hroi-body) {display:grid;grid-template-columns:1fr;grid-template-rows:minmax(180px,35dvh) minmax(0,1fr);overflow:hidden;}
 body.lab-events .sl-locator :is(.aia-side,.hroi-side) {border:0;border-top:1px solid var(--sl-border); max-height:none;overflow:hidden;}
 body.lab-events .sl-locator .sl-locator-section {padding:12px;}
 body.lab-events .sl-locator .sl-locator-section > h2 {display:none;}
 body.lab-events .sl-locator :is(.aia-region-actions,.hroi-region-actions) {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;}
 body.lab-events .sl-locator :is(.aia-region-actions,.hroi-region-actions) > :is(.aia-roi-zoom-control,.hroi-roi-zoom-control) {grid-column:1/-1;justify-self:start;}
 body.lab-events .sl-locator :is(.aia-center-roi,.hroi-center-roi) {grid-column:1;grid-row:3;}
 body.lab-events .sl-locator :is(.aia-copy-roi,.hroi-copy-roi) {grid-column:2;grid-row:3;}
 body.lab-events .sl-locator :is(.aia-paste-roi,.hroi-paste-roi) {grid-column:3;grid-row:3;}
 body.lab-events .sl-locator :is(.aia-region-actions,.hroi-region-actions) > button {min-width:0;font-size:10px;min-height:38px;padding:4px;}
 body.lab-events .sl-locator :is(.aia-goes-plot,.hroi-goes-plot) {height:90px;}
 body.lab-events .sl-locator :is(.aia-goes-svg,.hroi-goes-svg) {height:90px;}
 body.lab-events .sl-locator :is(.aia-window-grid,.hroi-window-grid) {grid-template-columns:1fr;}
 body.lab-events .sl-locator .sl-locator-channel-grid {grid-template-columns:1fr 1fr;gap:10px;}
 body.lab-events .sl-locator :is(.aia-wavelength-block,.hroi-station-block) {grid-row:1 / 3;}
 body.lab-events .sl-locator :is(.aia-cadence-block,.hroi-cadence-block) {grid-row:1;}
 body.lab-events .sl-locator :is(.aia-frames-block,.hroi-frames-block) {grid-row:2;}
 body.lab-events .sl-locator :is(.aia-wavelength,.hroi-station) {grid-template-columns:repeat(2,minmax(0,1fr));}
 body.lab-events .sl-locator .aia-wavelength :is([data-wavelength='1600'],[data-wavelength='1700']) {grid-row:auto;grid-column:auto;}
 body.lab-events .sl-locator .aia-wavelength .sl-aia-hmi-note {grid-row:auto;grid-column:1/-1;}
 body.lab-events .sl-locator .aia-side .aia-wavelength {grid-template-columns:repeat(3,minmax(0,1fr));}
 body.lab-events .sl-locator .aia-wavelength::before,body.lab-events .sl-locator .aia-wavelength::after {display:none;}
 body.lab-events .sl-locator :is(.aia-zoom-card,.hroi-zoom-card,.aia-credit,.hroi-credit) {display:none!important;}
 body.lab-events .sl-locator.sl-locator-zoom-open :is(.aia-zoom-card,.hroi-zoom-card):not([hidden]) {display:block!important;}
 body.lab-events .sl-locator .sl-locator-title-group {padding-left:0;}
 body.lab-events .sl-locator .sl-locator-title-group::before {display:none;}
 body.lab-events .sl-locator .sl-locator-region-choices {display:grid;grid-template-columns:16px auto repeat(3,minmax(0,1fr));gap:6px;}
 body.lab-events .sl-locator .sl-locator-region-choices :is(.aia-roi-inline-label,.hroi-roi-inline-label) {display:block;width:16px;}
 body.lab-events .sl-locator .sl-locator-region-choices .om-help-label-text {display:none;}
 body.lab-events .sl-locator .sl-locator-region-choices > button {min-height:38px;padding:4px;font-size:11px;}
 body.lab-events .sl-locator :is(.aia-region-actions,.hroi-region-actions) {grid-template-columns:repeat(3,minmax(0,1fr));}
 body.lab-events .sl-locator .sl-locator-actions-label {display:none;}
 body.lab-events .sl-locator :is(.aia-center-roi,.hroi-center-roi,.aia-copy-roi,.hroi-copy-roi,.aia-paste-roi,.hroi-paste-roi) {grid-row:1;font-size:11px;}
 body.lab-events .sl-locator .sl-locator-time-footer {flex-wrap:wrap;}
 body.lab-events .sl-locator .sl-locator-signal-row {flex-wrap:wrap;gap:8px;}
 body.lab-events .sl-locator .sl-locator-queue-row {flex-wrap:wrap;}
 body.lab-events .sl-locator .sl-locator-mobile-hint {display:block;font:11px/1.5 var(--sl-font-ui);color:var(--sl-muted);margin:12px 0 0;}
 body.lab-events .sl-locator :is(.aia-status,.hroi-status) {padding:8px 12px;}
 body.lab-events .sl-locator :is(.aia-zoom-card,.hroi-zoom-card) {width:115px;}
 body.lab-events .sl-locator :is(.aia-zoom-card,.hroi-zoom-card) :is(.aia-zoom-view,.hroi-zoom-view) {height:95px;}
 body.lab-events .sl-locator .sl-locator-tune-controls {grid-template-columns:1fr;}
 body.lab-events .sl-locator :is(.aia-cadence,.hroi-cadence) {flex-wrap:wrap;}
 body.lab-events .sl-locator .sl-locator-guide {top:70px;left:12px;width:calc(100% - 24px);max-height:calc(100% - 90px);}
 body.lab-events .sl-locator .sl-locator-guide h3 {font-size:18px;}
 body.lab-events .sl-locator :is(.aia-submit-card,.hroi-submit-card) {padding:10px 12px;grid-template-columns:minmax(0,1fr);}
 body.lab-events .sl-locator :is(.aia-submit-meta,.hroi-submit-meta) {padding:0;border:0;background:transparent;}
 body.lab-events .sl-locator :is(.aia-generate,.hroi-generate) {padding:9px 12px;font-size:13px;width:100%;min-height:44px;}
}

/* Turn 16b/16c: HMI regions use amber, with a dashed second box. */
body.lab-events .sl-locator[data-instrument='hmi'] .aia-roi-box {
 border-color:#ffb300;background:rgb(255 179 0 / 12%);
 box-shadow:0 0 0 1px rgb(0 0 0 / 65%),0 0 12px rgb(255 179 0 / 35%);
}
body.lab-events .sl-locator[data-instrument='hmi'] .aia-roi-box[data-roi-id='B'] {border-style:dashed;}
body.lab-events .sl-locator[data-instrument='hmi'] .aia-roi-box::after {background:#ffb300;color:#1a1a22;}
body.lab-events .sl-locator[data-instrument='hmi'] :is(.aia-roi-handle,.aia-roi-rotate) {box-shadow:0 0 0 1px #ffb300,0 1px 4px rgb(0 0 0 / 24%);}
body.lab-events .sl-locator[data-instrument='hmi'] .aia-roi-rotate-line {background:rgb(255 179 0 / 65%);}
body.lab-events .sl-locator[data-instrument='hmi'] .aia-zoom-roi {border-color:#ffb300;}
body.lab-events .sl-locator[data-instrument='hmi'] .aia-zoom-cross::before,
body.lab-events .sl-locator[data-instrument='hmi'] .aia-zoom-cross::after {background:rgb(255 179 0 / 65%);}
body.lab-events .sl-locator[data-instrument='hmi'] .aia-region-btn.is-active {border-color:#ffb300;background:rgb(255 179 0 / 14%);color:var(--sl-ink);}
body.lab-events .sl-hmi-tracking-note {margin:10px 0 0;padding:10px 12px;border-left:2px solid #ffb300;background:var(--sl-surface-soft);color:var(--sl-muted);font:11px/1.5 var(--sl-font-ui);}
body.lab-events .sl-app .rd-roi-hmi {grid-template-columns:196px minmax(0,1fr) minmax(230px,300px);}
body.lab-events .rd-roi-hmi .rd-roi-preview {height:196px;}
body.lab-events .rd-roi-hmi .rd-roi-preview i {border-color:#ffb300;}
body.lab-events .rd-roi-hmi .rd-roi-preview i::after {content:'A';position:absolute;top:2px;left:2px;background:#ffb300;color:#1a1a22;padding:1px 3px;font:9px var(--sl-font-mono);}
body.lab-events .sl-card[data-instrument='hmi'].rd-roi-idle .sl-card-body {display:none;}
body.lab-events .sl-hmi-wait-actions {display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}
body.lab-events .sl-hmi-wait-actions button {min-height:36px;padding:8px 12px;border:1px solid var(--sl-border);border-radius:6px;background:var(--sl-surface);color:var(--sl-ink);font:12px var(--sl-font-ui);cursor:pointer;}
body.lab-events .sl-hmi-wait-actions button:disabled {opacity:.5;cursor:not-allowed;}
body.lab-events .sl-hmi-wait-actions [hidden] {display:none;}
body.lab-events .sl-hmi-wait-feedback {flex-basis:100%;color:var(--sl-muted);overflow-wrap:anywhere;}

/* Approved HMI quick view, 2026-10-01: image first, selected native curve. */
body.lab-events .hmi-quick-result [hidden] {display:none!important;}
body.lab-events .hmi-quick-result {padding:16px 20px;}
body.lab-events .hmi-view-tabs {margin-right:auto;}
body.lab-events .hmi-flux-controls {display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:12px;}
body.lab-events .hmi-flux-controls label,.hmi-selection-export label {display:flex;align-items:center;gap:7px;font-size:12px;}
body.lab-events .hmi-flux-controls select,.hmi-selection-export select {max-width:100%;padding:7px;border:1px solid var(--sl-border);border-radius:6px;background:var(--sl-surface);color:var(--sl-ink);font:12px var(--sl-font-ui);}
body.lab-events .hmi-value-mode {margin-left:auto;color:var(--sl-muted);font:11px var(--sl-font-mono);}
body.lab-events .hmi-quick-result .hmi-strip {display:none;}
body.lab-events .hmi-quick-result[data-hmi-all='true'] .hmi-strip,
body.lab-events .hmi-quick-result[data-hmi-component='unsigned'] .hmi-strip[data-hmi-strip='unsigned'],
body.lab-events .hmi-quick-result[data-hmi-component='pos'] .hmi-strip[data-hmi-strip='pos'],
body.lab-events .hmi-quick-result[data-hmi-component='neg'] .hmi-strip[data-hmi-strip='neg'],
body.lab-events .hmi-quick-result[data-hmi-component='net'] .hmi-strip[data-hmi-strip='net'] {display:block;}
body.lab-events .hmi-advanced {border-top:1px solid var(--sl-border);padding-top:10px;margin-top:12px;}
body.lab-events .hmi-advanced summary,.hmi-wait-details summary {cursor:pointer;font-size:12px;font-weight:600;}
body.lab-events .hmi-advanced p,.hmi-image-explanation {color:var(--sl-muted);font-size:12px;line-height:1.5;}
body.lab-events .hmi-advanced .hmi-segment {display:inline-flex;margin:0 8px 8px 0;}
body.lab-events .hmi-inline-magnetogram {max-width:760px;margin:0 auto 18px;}
body.lab-events .hmi-image-stage {position:relative;height:420px;width:100%;max-width:100%;padding:0;display:block;background:#18181c;border:1px solid var(--sl-border);border-radius:8px;overflow:hidden;cursor:zoom-in;}
body.lab-events .hmi-image-stage img {display:block;width:100%;height:100%;max-height:none;object-fit:contain;image-rendering:pixelated;}
body.lab-events .hmi-image-stage:focus-visible {outline:3px solid #7e57c2;outline-offset:3px;}
body.lab-events .hmi-image-zoom-label {position:absolute;right:8px;bottom:8px;padding:7px 10px;border-radius:5px;color:#fff;background:rgba(0,0,0,.7);font:12px var(--sl-font-ui);pointer-events:none;}
@media(max-width:767px) {body.lab-events .hmi-image-stage {height:min(90vw,420px);}}
body.lab-events .hmi-image-loading {display:grid;place-items:center;min-height:80px;color:var(--sl-muted);font-size:12px;}
body.lab-events .hmi-image-stage .hmi-image-loading {position:absolute;inset:0;color:white;background:rgba(0,0,0,.35);}
body.lab-events .hmi-image-stage .hmi-image-loading[hidden] {display:none;}
body.lab-events .hmi-image-caption {display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:10px;font:11px var(--sl-font-mono);}
body.lab-events .hmi-image-caption>span:last-child {margin-left:auto;color:var(--sl-muted);}
body.lab-events .hmi-image-controls {display:flex;align-items:center;flex-wrap:wrap;gap:8px;}
body.lab-events .hmi-image-controls input {flex:1;min-width:80px;accent-color:#7e57c2;}
body.lab-events .hmi-image-controls button,.hmi-image-controls a,.hmi-export-links button {min-height:34px;padding:7px 12px;border:1px solid var(--sl-border);border-radius:6px;background:var(--sl-surface);color:var(--sl-ink);font:12px var(--sl-font-ui);text-decoration:none;cursor:pointer;}
body.lab-events .hmi-image-quality {font-size:11px;margin-top:10px;color:var(--sl-muted);}
body.lab-events .hmi-image-buffer {min-height:16px;margin-top:6px;font-size:11px;color:var(--sl-muted);}
body.lab-events .hmi-image-buffer:empty {display:none;}
body.lab-events .hmi-image-box {display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;}
body.lab-events .hmi-image-quality.is-risk {color:var(--sl-ink);background:var(--sl-cream);border-left:3px solid #d79632;padding:8px;}
body.lab-events .hmi-wait {box-sizing:border-box;max-width:620px;min-height:0;margin:24px auto;padding:0 20px;gap:12px;}
body.lab-events .hmi-wait-heading {display:flex;align-items:center;gap:10px;font-size:13px;}
body.lab-events .hmi-wait-heading>span:last-child {margin-left:auto;color:var(--sl-muted);font:11px var(--sl-font-mono);}
body.lab-events .hmi-activity-dot {width:14px;height:14px;border:2px solid var(--sl-border);border-top-color:#7e57c2;border-radius:50%;animation:hmi-activity-spin 1s linear infinite;flex:none;}
body.lab-events .hmi-activity-dot.is-terminal {animation:none;background:#7e57c2;}
body.lab-events .hmi-wait-phases {display:flex;gap:14px;flex-wrap:wrap;}
body.lab-events .hmi-wait-phases span {padding:0;border:0;background:none;color:var(--sl-muted);font-size:11px;font-weight:400;}
body.lab-events .hmi-wait-phases span.is-active {color:#7e57c2;background:none;border:0;font-weight:700;}
body.lab-events .hmi-estimated-bar {height:6px;margin:0;overflow:hidden;border-radius:10px;background:var(--sl-border);}
body.lab-events .hmi-estimated-bar>i,body.lab-events .hmi-estimated-bar>.aia-progress-fill {display:block;height:100%;background:#7e57c2;border-radius:10px;transition:width 1s linear;}
body.lab-events .hmi-estimated-bar.is-indeterminate>i,body.lab-events .hmi-estimated-bar.is-indeterminate>.aia-progress-fill {animation:hmi-activity-slide 1.8s ease-in-out infinite;}
body.lab-events .hmi-wait .sl-hmi-wait-actions {margin-top:0;}
body.lab-events .hmi-wait-details {border-top:1px solid var(--sl-border);padding-top:10px;color:var(--sl-muted);}
body.lab-events .hmi-wait-details p {margin:10px 0;font:11px var(--sl-font-mono);}
body.lab-events .hmi-wait-details h4 {margin:16px 0 8px;font:600 12px var(--sl-font-ui);}
body.lab-events .hmi-wait-diagnostic {box-sizing:border-box;max-width:100%;max-height:240px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;margin:0;border:1px solid var(--sl-border);border-radius:6px;background:var(--sl-surface);color:var(--sl-muted);font:11px/1.5 var(--sl-font-mono);}
body.lab-events .hmi-wait[data-status='failed'] .hmi-activity-dot {background:#dc4d54;border-color:#dc4d54;}
body.lab-events .hmi-wait-error {font:13px/1.6 var(--sl-font-ui);color:var(--sl-ink);}
body.lab-events [data-hmi-wait-secondary] {display:flex;flex-wrap:wrap;gap:8px;}
body.lab-events .hmi-selection-export {display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px;}
@keyframes hmi-activity-spin {to{transform:rotate(360deg);}}
@keyframes hmi-activity-slide {0%,100%{transform:translateX(-100%);}50%{transform:translateX(330%);}}
@media(max-width:767px) {
  body.lab-events .hmi-quick-result {padding:12px;}
  body.lab-events .hmi-value-mode {width:100%;margin-left:0;}
  body.lab-events .hmi-image-caption>span:last-child {width:100%;margin-left:0;}
  body.lab-events .hmi-image-controls button,body.lab-events .hmi-image-controls a {min-height:44px;}
  body.lab-events .hmi-wait {padding:0 12px;}
  body.lab-events .hmi-quick-result .hmi-strip-main {grid-template-columns:minmax(0,1fr);}
  body.lab-events .hmi-quick-result .hmi-strip-values {display:flex;gap:12px;}
}
@media(prefers-reduced-motion:reduce) {
  body.lab-events .hmi-activity-dot,body.lab-events .hmi-estimated-bar>i,body.lab-events .hmi-estimated-bar>.aia-progress-fill {animation:none;transition:none;}
}
body.lab-events .sl-roi-result-menu {display:contents;}
body.lab-events .sl-roi-result-menu > summary {display:none;}
body.lab-events .sl-roi-menu-actions {display:flex;align-items:center;gap:8px;}
body.lab-events .rd-export-panel-list .is-unavailable {color:var(--sl-muted);}
body.lab-events .rd-export-panel-list .is-unavailable input {opacity:.5;}
@media(min-width:768px) and (max-width:1100px) {
 body.lab-events .sl-app .rd-roi-hmi {grid-template-columns:150px minmax(0,1fr);}
 body.lab-events .rd-roi-hmi .rd-roi-preview {height:150px;}
 body.lab-events .rd-roi-hmi .rd-roi-action {grid-column:1/-1;}
}
@media(max-width:767px) {
 body.lab-events .sl-app .rd-roi-hmi {grid-template-columns:1fr;gap:10px;}
 body.lab-events .rd-roi-hmi .rd-roi-preview {display:none;}
 body.lab-events .rd-roi-hmi .rd-roi-action {grid-column:1;padding:0;border:0;background:none;}
 body.lab-events .rd-roi-hmi .rd-roi-action button {min-height:44px;font-size:13px;}
 body.lab-events .sl-hmi-wait-actions button {min-height:44px;}
 body.lab-events .sl-roi-result-tools {width:auto;flex-wrap:nowrap;}
 body.lab-events .sl-roi-result-menu {display:block;position:relative;}
 body.lab-events .sl-roi-result-menu > summary {display:grid;place-items:center;list-style:none;width:44px;min-height:44px;border:1px solid var(--sl-border);border-radius:6px;color:var(--sl-ink);font:24px var(--sl-font-ui);cursor:pointer;}
 body.lab-events .sl-roi-result-menu > summary::-webkit-details-marker {display:none;}
 body.lab-events .sl-roi-menu-actions {display:none;position:absolute;z-index:20;right:0;top:calc(100% + 4px);width:min(260px,calc(100vw - 36px));padding:10px;border:1px solid var(--sl-border);border-radius:8px;background:var(--sl-surface);box-shadow:0 8px 20px rgb(0 0 0 / 15%);}
 body.lab-events .sl-roi-result-menu[open] > .sl-roi-menu-actions {display:grid;gap:6px;}
 body.lab-events .sl-roi-menu-actions button {min-height:44px;font-size:12px;}
 body.lab-events .sl-roi-menu-actions .sl-roi-result-modes button {flex:1;}
}

body.lab-events .sl-app .hmi-quick-result[data-hmi-view='magnetogram'] { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); align-items:start; gap:18px; }
body.lab-events .sl-app .hmi-inline-magnetogram { min-width:0; width:100%; margin:0; max-width:none; }
body.lab-events .sl-app .hmi-frame-data { min-width:0; padding:14px; border:1px solid var(--sl-border); border-radius:8px; background:var(--sl-surface-soft); }
body.lab-events .sl-app .hmi-frame-data h3 { margin:0 0 10px; font:600 14px var(--sl-font-ui); }
body.lab-events .sl-app .hmi-frame-data p { margin:4px 0; font:11px var(--sl-font-mono); }
body.lab-events .sl-app .hmi-frame-data dl { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; margin:14px 0; font:12px var(--sl-font-ui); }
body.lab-events .sl-app .hmi-frame-data dd { margin:0; font:600 12px var(--sl-font-mono); }
body.lab-events .sl-app .hmi-frame-data .hmi-flags { margin-top:16px; border-top:1px solid var(--sl-border); padding-top:12px; }
body.lab-events .sl-app .hmi-frame-data .hmi-flag-row { grid-template-columns:85px minmax(0,1fr); row-gap:3px; margin-bottom:10px; }
body.lab-events .sl-app .hmi-frame-data .hmi-flag-row small { grid-column:1/-1; white-space:normal; text-align:left; }
body.lab-events .sl-app .hmi-quick-result > .hmi-credit, body.lab-events .sl-app .hmi-quick-result > .hmi-mu-notice { grid-column:1/-1; }
body.lab-events .sl-app .hmi-playback-speeds { display:inline-flex; flex:none; gap:0; }
body.lab-events .sl-app .hmi-playback-speeds button { border-radius:0; padding:5px 7px; min-height:30px; }
body.lab-events .sl-app .hmi-playback-speeds button:first-child { border-radius:5px 0 0 5px; }
body.lab-events .sl-app .hmi-playback-speeds button:last-child { border-radius:0 5px 5px 0; }
body.lab-events .sl-app .hmi-playback-speeds [aria-pressed='true'] { background:var(--sl-active-bg); color:var(--sl-active-ink); }
body.lab-events .sl-app .hmi-image-about { margin:6px 0; color:var(--sl-muted); font-size:11px; }
body.lab-events .sl-app .hmi-image-about summary { cursor:pointer; }
@media (max-width:767px) {
 body.lab-events .sl-app .hmi-quick-result[data-hmi-view='magnetogram'] { grid-template-columns:minmax(0,1fr); padding:12px; gap:12px; }
 body.lab-events .sl-app .hmi-frame-data { padding:10px; }
 body.lab-events .sl-app .hmi-toolbar { display:flex; flex-wrap:nowrap; min-width:0; gap:6px; }
 body.lab-events .sl-app .hmi-toolbar > :is([data-hmi-open],[data-hmi-export],[data-hmi-help]) { display:none; }
 body.lab-events .sl-app .hmi-view-tabs { margin-right:auto; min-width:0; }
 body.lab-events .sl-app .hmi-toolbar .hmi-view-tabs button { min-height:32px; padding:5px 8px; font-size:11px; }
 body.lab-events .sl-app .hmi-image-controls { display:grid; grid-template-columns:auto auto 1fr auto auto; gap:5px; }
 body.lab-events .sl-app .hmi-image-controls :is(button,a) { padding:5px 7px; min-height:30px; font-size:11px; }
 body.lab-events .sl-app .hmi-image-controls [data-hmi-image-slider] { grid-column:1/-1; grid-row:2; width:100%; min-width:0; margin:5px 0; }
 body.lab-events .sl-app .hmi-card-menu { right:0; max-width:calc(100vw - 32px); }
}
