/* Floor label icons — CSS masks over currentColor for crisp UI sizing. */
.floor-ico {
  --floor-ico-size: 14px;
  display: inline-block;
  width: var(--floor-ico-size);
  height: var(--floor-ico-size);
  flex: 0 0 var(--floor-ico-size);
  background-color: currentColor;
  -webkit-mask: var(--floor-ico) center / contain no-repeat;
  mask: var(--floor-ico) center / contain no-repeat;
  opacity: 0.88;
  vertical-align: -0.15em;
  pointer-events: none;
}

.floor-ico-lg { --floor-ico-size: 16px; }
.floor-ico-sm { --floor-ico-size: 12px; }

.floor-ico-pulse { --floor-ico: url("assets/icons/pulse.svg"); }
.floor-ico-macro { --floor-ico: url("assets/icons/macro.svg"); }
.floor-ico-news { --floor-ico: url("assets/icons/news.svg"); }
.floor-ico-mapper { --floor-ico: url("assets/icons/mapper.svg"); }
.floor-ico-btc { --floor-ico: url("assets/icons/btc.svg"); }
.floor-ico-guards { --floor-ico: url("assets/icons/guards.svg"); }
.floor-ico-telegram { --floor-ico: url("assets/icons/telegram.svg"); }
.floor-ico-monitor { --floor-ico: url("assets/icons/monitor.svg"); }
.floor-ico-copilot { --floor-ico: url("assets/icons/copilot.svg"); }
.floor-ico-debrief { --floor-ico: url("assets/icons/debrief.svg"); }
.floor-ico-poller { --floor-ico: url("assets/icons/poller.svg"); }
.floor-ico-execution { --floor-ico: url("assets/icons/execution.svg"); }
.floor-ico-trades { --floor-ico: url("assets/icons/trades.svg"); }
.floor-ico-calendar { --floor-ico: url("assets/icons/calendar.svg"); }
.floor-ico-signals { --floor-ico: url("assets/icons/signals.svg"); }
.floor-ico-track { --floor-ico: url("assets/icons/track.svg"); }
.floor-ico-learning { --floor-ico: url("assets/icons/learning.svg"); }
.floor-ico-recorder { --floor-ico: url("assets/icons/recorder.svg"); }
.floor-ico-scans { --floor-ico: url("assets/icons/scans.svg"); }
.floor-ico-comms { --floor-ico: url("assets/icons/comms.svg"); }
.floor-ico-labels { --floor-ico: url("assets/icons/labels.svg"); }
.floor-ico-orbit { --floor-ico: url("assets/icons/orbit.svg"); }
.floor-ico-reset { --floor-ico: url("assets/icons/reset.svg"); }
.floor-ico-models { --floor-ico: url("assets/icons/models.svg"); }
.floor-ico-close { --floor-ico: url("assets/icons/close.svg"); }
.floor-ico-map { --floor-ico: url("assets/icons/map.svg"); }
.floor-ico-history { --floor-ico: url("assets/icons/history.svg"); }
.floor-ico-intel { --floor-ico: url("assets/icons/debrief.svg"); }
.floor-ico-settings { --floor-ico: url("assets/icons/settings.svg"); }
.floor-ico-signout { --floor-ico: url("assets/icons/signout.svg"); }
.floor-ico-setups { --floor-ico: url("assets/icons/setups.svg"); }
.floor-ico-floor { --floor-ico: url("assets/icons/floor.svg"); }
.floor-ico-take { --floor-ico: url("assets/icons/take.svg"); }
.floor-ico-wait { --floor-ico: url("assets/icons/wait.svg"); }
.floor-ico-unclear { --floor-ico: url("assets/icons/unclear.svg"); }
.floor-ico-invalidated { --floor-ico: url("assets/icons/invalidated.svg"); }
.floor-ico-stale { --floor-ico: url("assets/icons/stale.svg"); }
.floor-ico-scan { --floor-ico: url("assets/icons/scan.svg"); }
.floor-ico-context { --floor-ico: url("assets/icons/context.svg"); }
.floor-ico-log { --floor-ico: url("assets/icons/log.svg"); }

.desk-label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  max-width: 168px;
  padding: 4px 10px 4px 5px;
}
.desk-label-icon {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  display: grid;
  place-items: center;
  color: var(--agent-accent, var(--ink-2));
  background: color-mix(in srgb, var(--agent-accent, var(--ink-2)) 8%, rgba(10, 12, 16, 0.92));
  border: 1px solid color-mix(in srgb, var(--agent-accent, var(--ink-2)) 24%, rgba(255, 255, 255, 0.04));
  border-radius: 5px;
}
.desk-label-icon .floor-ico {
  --floor-ico-size: 12px;
  opacity: 0.9;
  flex: 0 0 auto;
}
.desk-label.live .desk-label-icon,
.desk-label.warn .desk-label-icon {
  color: var(--label-status, var(--agent-accent, var(--ink-2)));
  background: color-mix(in srgb, var(--label-status, var(--agent-accent, var(--ink-2))) 12%, rgba(10, 12, 16, 0.92));
  border-color: color-mix(in srgb, var(--label-status, var(--agent-accent, var(--ink-2))) 36%, rgba(255, 255, 255, 0.05));
}
.desk-label-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.desk-label-code { display: none; }
.desk-label.has-instrument-branches {
  margin-top: -13px;
}
.desk-label.has-mode-branches {
  margin-top: 22px;
}
.desk-label.has-mode-branches.has-instrument-branches {
  margin-top: 10px;
}
.desk-mode-branches,
.desk-instrument-branches {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 3px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 5px;
  background: rgba(8, 10, 14, 0.94);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.32);
}
.desk-instrument-branches {
  top: calc(100% + 7px);
}
.desk-instrument-branches::before,
.desk-mode-branches::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 1px;
  height: 8px;
  background: linear-gradient(to top, rgba(211, 173, 103, 0.5), rgba(211, 173, 103, 0.08));
}
.desk-instrument-branches::before {
  bottom: 100%;
}
.desk-mode-branches {
  bottom: calc(100% + 7px);
}
.desk-mode-branches::after {
  top: 100%;
  background: linear-gradient(to bottom, rgba(211, 173, 103, 0.5), rgba(211, 173, 103, 0.08));
}
.desk-mode {
  --mode-accent: 139, 148, 163;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  height: 15px;
  padding: 0 6px;
  border: 1px solid transparent;
  border-radius: 3px;
  color: var(--ink-4);
  font: 700 7px var(--font-mono);
  letter-spacing: 0.055em;
  text-transform: uppercase;
  white-space: nowrap;
}
.desk-mode.mode-intraday { --mode-accent: 167, 139, 250; }
.desk-mode.mode-swing { --mode-accent: 125, 211, 252; }
.desk-mode.mode-scalp { --mode-accent: 253, 186, 116; }
.desk-mode.active {
  color: rgb(var(--mode-accent));
  border-color: rgba(var(--mode-accent), 0.46);
  background: rgba(var(--mode-accent), 0.11);
  box-shadow: 0 0 11px rgba(var(--mode-accent), 0.18);
}
.desk-instrument {
  --instrument-accent: 139, 148, 163;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  height: 15px;
  padding: 0 5px;
  border: 1px solid transparent;
  border-radius: 3px;
  color: var(--ink-4);
  font: 700 7px var(--font-mono);
  letter-spacing: 0.055em;
  text-transform: uppercase;
}
.desk-instrument.asset-xauusd { --instrument-accent: 224, 177, 73; }
.desk-instrument.asset-xagusd { --instrument-accent: 176, 193, 211; }
.desk-instrument.asset-btcusd { --instrument-accent: 241, 142, 47; }
.desk-instrument.asset-us100 { --instrument-accent: 91, 157, 255; }
.desk-instrument i {
  width: 3px;
  height: 3px;
  flex: 0 0 3px;
  border-radius: 50%;
  background: rgba(var(--instrument-accent), 0.35);
}
.desk-instrument.active {
  color: rgb(var(--instrument-accent));
  border-color: rgba(var(--instrument-accent), 0.46);
  background: rgba(var(--instrument-accent), 0.11);
  box-shadow: 0 0 11px rgba(var(--instrument-accent), 0.18);
}
.desk-instrument.active i {
  background: rgb(var(--instrument-accent));
  box-shadow: 0 0 6px rgba(var(--instrument-accent), 0.9);
}
.scene-wrap.compact-scene .desk-label-icon,
.scene-wrap.compact-scene .desk-label-name { display: none; }
.scene-wrap.compact-scene .desk-label-code { display: block; }
.scene-wrap.compact-scene .desk-instrument-branches,
.scene-wrap.compact-scene .desk-mode-branches { display: none; }

.navbtn .floor-ico,
button.navbtn .floor-ico { --floor-ico-size: 14px; }

/* Popup Scan / Context / Log tabs (shared icon set). */
.tabs .tab {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.tabs .tab .floor-ico { --floor-ico-size: 13px; opacity: 0.8; }
.tabs .tab.active .floor-ico { opacity: 1; }
