.manager { padding: 8px; display: flex; flex-direction: column; gap: 6px; } .title { font-size: 10px; text-transform: uppercase; letter-spacing: 0.08em; color: #555; margin-bottom: 4px; } .empty { padding: 10px; font-size: 12px; color: #555; } .row { display: flex; flex-direction: column; gap: 4px; background: #1e1e1e; border-radius: 5px; padding: 7px 8px; border: 1px solid #333; } .row.disabled { opacity: 0.45; } .toggle { display: flex; align-items: center; gap: 7px; cursor: pointer; } .toggle input[type='checkbox'] { accent-color: #4a9eff; width: 14px; height: 14px; } .channelLabel { font-size: 12px; color: #ccc; } .controls { display: flex; flex-direction: column; gap: 4px; padding-left: 21px; } .colormapSelect { background: #161616; color: #bbb; border: 1px solid #3a3a3a; border-radius: 3px; padding: 3px 6px; font-size: 11px; width: 100%; } .opacityWrap { display: flex; align-items: center; gap: 6px; font-size: 11px; color: #888; } .opacityLabel { min-width: 10px; } .slider { flex: 1; accent-color: #4a9eff; height: 3px; } .opacityValue { min-width: 30px; text-align: right; color: #aaa; } /* ── Mobile touch targets ───────────────────────────────────── */ @media (max-width: 768px) { .manager { flex-direction: row; flex-wrap: wrap; padding: 6px; gap: 6px; } .title { width: 100%; margin-bottom: 0; } .row { flex: 1 1 calc(50% - 6px); min-width: 140px; } .toggle input[type='checkbox'] { width: 18px; height: 18px; } .colormapSelect { padding: 6px 8px; font-size: 12px; } .slider { height: 20px; /* larger touch area */ cursor: pointer; } }