/* Scoped sensor surfaces extend the portal's shared module/data-tile language. */
.device-card.imaging-device { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; }
.imaging-device > * { grid-column:1/-1; min-width:0; }
/* Flat module section (shared surface rule): header, then boxed data such as the map and stats. */
.imaging-section { --data-tile-accent:#00b5c9; min-width:0; margin:0; padding:0; border:0; background:none; }
.imaging-section .module-header, .imaging-section .activity-header { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-bottom:16px; }
.imaging-section .activity-description { margin:6px 0 0; line-height:1.5; }
.imaging-section h3, .imaging-section h4, .imaging-section p { overflow-wrap:anywhere; }
.imaging-status-chip { display:inline-flex; align-items:center; min-height:30px; padding:5px 10px; border:1px solid #365363; border-radius:30px; font-size:11px; font-weight:700; white-space:nowrap; color:#bdd3df; background:#122637; }
.imaging-view-controls { display:flex; flex-wrap:wrap; align-items:end; gap:12px; margin-bottom:18px; }
.imaging-view-controls .imaging-compact-label { min-width:180px; }
.imaging-segments { display:flex; border-radius:10px; padding:3px; background:#081622; border:1px solid #2a4556; }
.imaging-segments button { border:0; min-height:48px; padding:0 16px; color:#a6becf; background:transparent; border-radius:7px; font:600 12px Inter,sans-serif; cursor:pointer; }
.imaging-segments button[aria-pressed="true"] { color:#efffff; background:#096074; box-shadow:inset 0 0 0 1px #259dad; }
.imaging-section button:focus-visible, .imaging-section select:focus-visible, .imaging-section summary:focus-visible { outline:2px solid #53ddeb; outline-offset:3px; }
.imaging-map-wrap { position:relative; border:1px solid #30485a; border-radius:12px; overflow:hidden; background:#06121b; aspect-ratio:4/3; }
.imaging-canvas { width:100%; height:100%; display:block; }
.imaging-map-message { position:absolute; left:12px; right:12px; top:50%; transform:translateY(-50%); color:#becfdb; text-align:center; padding:12px; border-radius:9px; background:#06121bd9; font-size:12px; }
.imaging-map-caption { display:flex; flex-wrap:wrap; align-items:center; gap:8px 15px; margin:12px 0; color:#9fb6c7; font-size:11px; }
.imaging-map-caption label { display:flex; align-items:center; gap:6px; min-height:44px; cursor:pointer; }
.imaging-map-caption input { accent-color:#00b5c9; }
.imaging-frame-detail { margin-left:auto; font-variant-numeric:tabular-nums; }
.imaging-color-legend { display:flex; align-items:center; gap:12px; color:#a0b6c8; font-size:11px; }
.imaging-gradient { height:7px; flex:1; border-radius:5px; }
.thermal-gradient { background:linear-gradient(90deg,rgb(10,42,92),rgb(0,132,186) 22%,rgb(0,188,168) 44%,rgb(96,204,88) 62%,rgb(238,210,52) 78%,rgb(238,122,42) 92%,rgb(210,46,42)); }
.depth-gradient { background:linear-gradient(90deg,rgb(218,48,46),rgb(239,111,42) 12%,rgb(255,205,55) 28%,rgb(82,192,96) 45%,rgb(0,156,170) 64%,rgb(0,93,145) 82%,rgb(15,37,82)); }
.imaging-resolution { color:#90aabd; font-size:11px; line-height:1.5; margin:10px 0 0; }
.imaging-sensor-stats { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; margin:0; }
.imaging-sensor-stats > div { border-left:2px solid #265365; padding-left:12px; display:flex; flex-direction:column; gap:7px; }
.imaging-sensor-stats strong { font-size:18px; font-variant-numeric:tabular-nums; }
.imaging-details { margin-top:14px; padding-top:12px; border-top:1px solid #263d4c; }
.imaging-details summary { font-size:12px; color:#a7c0d0; cursor:pointer; min-height:32px; padding:8px 0; }
.imaging-diagnostics { font-size:11px; color:#8faabb; line-height:1.6; }
.imaging-value-scroll { max-width:100%; overflow:auto; }
.imaging-value-table { border-collapse:collapse; width:100%; font-size:10px; font-variant-numeric:tabular-nums; }
.imaging-value-table td { padding:7px 5px; border:1px solid #274355; text-align:center; white-space:nowrap; }
.imaging-evaluation-layout { display:grid; grid-template-columns:minmax(0,3fr) minmax(170px,1fr); gap:24px; align-items:start; }
.imaging-visual, .imaging-evidence { min-width:0; }
.imaging-view-note, .imaging-stream-note, .imaging-try p { color:#a7bdcd; font-size:12px; line-height:1.6; margin:12px 0 0; }
.imaging-try { border-top:1px solid #263d4c; padding-top:16px; margin-top:20px; }
.imaging-try h4 { margin:0; font-size:13px; }
.imaging-section .btn { white-space:normal; }
.imaging-section [hidden] { display:none !important; }
@container dashboard-content (max-width:720px) { .imaging-evaluation-layout { grid-template-columns:minmax(0,1fr); } .imaging-sensor-stats { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:640px) {
  .imaging-evaluation-layout { grid-template-columns:minmax(0,1fr); }
  .imaging-device > *, .imaging-device > [data-module-id="thermal-array"], .imaging-device > [data-module-id="lidar-array"] { grid-column:1; }
  .imaging-section { padding:14px; }
  .imaging-view-controls { flex-direction:column; align-items:stretch; }
  .imaging-segments { width:100%; }
  .imaging-segments button { flex:1; }
  .imaging-view-controls .imaging-compact-label { flex:1 1 100%; }
  .imaging-section .module-header, .imaging-section .activity-header { flex-wrap:wrap; }
  .imaging-frame-detail { margin-left:0; flex-basis:100%; }
  .imaging-section .activity-actions { width:100%; }
  .imaging-section .activity-actions .btn, .imaging-section .activity-actions .ui-select { min-height:48px; }
}
@media (prefers-reduced-motion:reduce) { .imaging-section *, .imaging-section *::before, .imaging-section *::after { animation:none !important; transition:none !important; } }

.imaging-compact-label { display:flex; flex-direction:column; gap:7px; color:#b6cbd8; font-size:11px; }
.imaging-view-controls select { min-height:48px; width:100%; }
.imaging-sensor-stats span { color:#8fa7bb; font-size:11px; }
@media(max-width:640px){.imaging-sensor-stats {grid-template-columns:minmax(0,1fr)}}

.imaging-status-chip.imaging-state-live { color:#a1efd7; border-color:#287b68; }
.imaging-status-chip.imaging-state-fault, .imaging-status-chip.imaging-state-stale { color:#ffd29a; border-color:#865f34; }
