.visual-controls {
  display: grid;
  gap: 9px;
  padding: 12px 14px;
  border-top: 1px solid #e7eeee;
  background: #f7fbfa;
}
.visual-control-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px 10px;
  color: #4b6971;
  font-size: 13px;
}
.visual-control-label { font-weight: 700; white-space: nowrap; }
.visual-toggle-group { display: inline-flex; gap: 3px; padding: 3px; background: #e8f0ef; border-radius: 8px; }
.visual-toggle-group button, .guide-toggle {
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #4b6b71;
  padding: 6px 9px;
  font-size: 13px;
}
.visual-toggle-group button.selected, .guide-toggle.selected {
  color: #145f5b;
  background: #fff;
  box-shadow: 0 1px 4px #1c555720;
  font-weight: 700;
}
.guide-toggle { border: 1px solid #b7d4d0; background: #fff; color: #176d68; font-weight: 700; }
.visual-control-note { flex: 1; min-width: 150px; line-height: 1.45; }
.visual-select-label, .visual-range-label { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.visual-select-label select {
  max-width: 165px;
  border: 1px solid #cbdedc;
  border-radius: 7px;
  background: #fff;
  color: #2d555c;
  padding: 6px 8px;
  font-size: 13px;
}
.visual-range-label input { width: clamp(80px, 10vw, 135px); accent-color: #137770; }
.visual-insights {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 5px 12px;
  padding: 9px 15px 11px;
  background: #f8fbfb;
  color: #5f7c83;
  font-size: 12px;
  line-height: 1.5;
}
.visual-orientation { flex: 1 1 250px; }
#visualVisibility { white-space: nowrap; color: #28736e; font-weight: 700; }
.support-info {
  flex: 1 1 100%;
  border-radius: 7px;
  background: #edf5f2;
  color: #245c58;
  padding: 7px 9px;
}
.plan-badges { display: flex; flex-wrap: wrap; gap: 3px; margin-top: 5px; }
.plan-badges i {
  font-style: normal;
  font-size: 11px;
  line-height: 1.3;
  border-radius: 4px;
  padding: 2px 5px;
  color: #176c64;
  background: #e5f3ee;
}
@media(max-width: 640px) {
  .visual-controls { padding: 10px; }
  .visual-control-row { font-size: 12px; }
  .visual-toggle-group button, .guide-toggle { font-size: 12px; }
  .visual-range-label input { width: 90px; }
}
