/* Scientific raster viewer (Matplotlib-like imshow figure) and the sensor tabs around it. */
.sensor-view { position: absolute; inset: 0; display: flex; flex-direction: column; }
.sensor-bar { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; padding: 8px 10px; border-bottom: 1px solid var(--border); background: var(--panel); }
.sensor-bar .label { font-size: 11.5px; color: var(--muted); font-weight: 700; text-transform: uppercase; letter-spacing: .4px; }
.sensor-body { position: relative; flex: 1; min-height: 0; }
.figure-wrap { position: absolute; inset: 0; background: var(--figure); }
.figure-canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; touch-action: none; cursor: grab; }
.figure-canvas.dragging { cursor: grabbing; }
.figure-tools { position: absolute; right: 10px; top: 10px; z-index: 5; display: flex; gap: 4px; }
.figure-tools .icon-btn { background: #ffffffe6; color: var(--figure-ink); border-color: #cbd5e1; }
.figure-tools .icon-btn:hover { border-color: #0e7490; }
.readout { position: absolute; left: 10px; bottom: 8px; z-index: 5; background: #ffffffee; color: var(--figure-ink); border: 1px solid #cbd5e1; border-radius: 6px; padding: 3px 8px; font: 11.5px var(--mono); pointer-events: none; }
.readout:empty { display: none; }
.sim-stamp { position: absolute; left: 10px; top: 10px; z-index: 5; background: #fff7ed; color: #9a3412; border: 1px solid #fb923c; border-radius: 6px; padding: 3px 8px; font-size: 11.5px; font-weight: 800; pointer-events: none; }
.hist { width: 100%; height: 110px; display: block; background: var(--bg-2); border: 1px solid var(--border); border-radius: 8px; }
.map-mode { position: absolute; inset: 0; }
