* { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: #0d1117;
  color: #e6edf3;
  font-size: 13px;
  min-height: 100vh;
}

/* ── MONOSPACE for radio values ── */
.mono { font-family: 'SF Mono', 'Consolas', 'Fira Code', monospace; }

/* ── TOP STATUS BAR ── */
.top-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  background: #161b22;
  border-bottom: 1px solid #30363d;
  flex-wrap: wrap;
}
.callsign { font-size: 30px; color: #7d8590; }
.status-dot { width: 8px; height: 8px; border-radius: 50%; background: #3d444d; flex-shrink: 0; transition: background 0.3s; }
.status-dot.rx  { background: #3fb950; box-shadow: 0 0 6px #3fb950; }
.status-dot.tx  { background: #f85149; box-shadow: 0 0 6px #f85149; }
.status-label   { font-size: 12px; color: #3fb950; transition: color 0.3s; }
.status-label.tx { color: #f85149; }

.spacer { flex: 1; }

.conn-input {
  font-family: 'SF Mono','Consolas',monospace;
  font-size: 11px;
  background: #21262d;
  border: 1px solid #30363d;
  color: #e6edf3;
  padding: 4px 10px;
  border-radius: 5px;
  width: 200px;
  outline: none;
}
.conn-input:focus { border-color: #388bfd; }

.btn-connect {
  font-size: 11px;
  font-weight: 500;
  padding: 4px 14px;
  background: #21262d;
  border: 1px solid #30363d;
  color: #e6edf3;
  border-radius: 5px;
  cursor: pointer;
  transition: all 0.15s;
}
.btn-connect:hover  { background: #30363d; }
.btn-connect.on     { background: #0d2a0d; border-color: #3fb950; color: #3fb950; }
.btn-connect.err    { background: #3d0d0d; border-color: #f85149; color: #f85149; }

/* Band buttons in top bar */
.band-btn {
  font-size: 11px;
  padding: 3px 8px;
  background: #21262d;
  border: 1px solid #30363d;
  border-radius: 4px;
  color: #8b949e;
  cursor: pointer;
  transition: all 0.15s;
}
.band-btn:hover { background: #30363d; color: #e6edf3; }
.band-btn.active { background: #1f4a8a; border-color: #388bfd; color: #79c0ff; }

/* ── FREQ ROW ── */
.freq-row {
  display: flex;
  align-items: flex-end;
  gap: 16px;
  padding: 10px 12px;
  background: #161b22;
  border-bottom: 1px solid #30363d;
  flex-wrap: wrap;
}

.vfo-block { display: flex; flex-direction: column; gap: 2px; }
.vfo-label { font-size: 10px; color: #7d8590; letter-spacing: 0.08em; text-transform: uppercase; }

.vfo-freq {
  font-family: 'SF Mono','Consolas',monospace;
  font-size: 30px;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: #58a6ff;
  cursor: pointer;
  line-height: 1;
  user-select: none;
}
.vfo-freq .mhz { font-size: 18px; color: #388bfd; }
.vfo-freq .vfo-digit {
  cursor: pointer;
  padding: 0 0.5px;
  border-radius: 2px;
  transition: background 0.1s, color 0.1s;
}
.vfo-freq .vfo-digit:hover { background: #388bfd33; color: #79c0ff; }
.vfo-freq.secondary .vfo-digit:hover { background: #30363d; color: #e6edf3; }
.vfo-freq.secondary { font-size: 20px; color: #7d8590; }
.vfo-freq.secondary .mhz { font-size: 14px; color: #484f58; }

.vfo-freq-input {
  display: none;
  font-family: 'SF Mono','Consolas',monospace;
  font-size: 28px;
  background: transparent;
  border: none;
  border-bottom: 1px solid #388bfd;
  color: #58a6ff;
  outline: none;
  width: 230px;
}

.vfo-divider { width: 1px; background: #30363d; align-self: stretch; margin: 0 4px; }

/* VFO swap buttons */
.vfo-swap-row { display: flex; gap: 3px; align-self: center; }
.vbtn {
  font-size: 10px;
  padding: 3px 7px;
  background: #21262d;
  border: 1px solid #30363d;
  color: #8b949e;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s;
  font-family: 'SF Mono','Consolas',monospace;
}
.vbtn:hover { background: #30363d; color: #e6edf3; border-color: #388bfd; }

/* Step buttons */
.step-row { display: flex; gap: 3px; align-self: center; }
.sbtn {
  font-size: 10px;
  padding: 3px 7px;
  background: #21262d;
  border: 1px solid #30363d;
  color: #8b949e;
  border-radius: 4px;
  cursor: pointer;
  font-family: 'SF Mono','Consolas',monospace;
  transition: all 0.15s;
}
.sbtn.active { background: #1f4a8a; border-color: #388bfd; color: #79c0ff; }

/* Mode buttons */
.mode-grid { display: flex; gap: 3px; flex-wrap: wrap; align-self: center; }
.mode-btn {
  font-size: 11px;
  padding: 4px 10px;
  background: #21262d;
  border: 1px solid #30363d;
  color: #8b949e;
  border-radius: 4px;
  cursor: pointer;
  font-family: 'SF Mono','Consolas',monospace;
  letter-spacing: 0.03em;
  transition: all 0.15s;
}
.mode-btn:hover { background: #30363d; color: #e6edf3; }
.mode-btn.active { background: #0d2a0d; border-color: #3fb950; color: #3fb950; }

/* ── MAIN BODY ── */
.body-grid {
  display: grid;
  grid-template-columns: 220px 1fr 240px;
  height: calc(100vh - 130px); /* fill viewport, not just min */
}

/* ── SIDE PANELS ── */
.side-panel {
  background: #161b22;
  border-right: 1px solid #30363d;
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow-y: auto;
}
.side-panel.right { border-right: none; border-left: 1px solid #30363d; }

/* ── CENTER-BOTTOM DOCK ZONE ── */
.center-dock {
  background: #161b22;
  border-top: 1px solid #30363d;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
  padding: 8px;
  overflow-x: auto;
  overflow-y: visible;
  flex-shrink: 0;
}
.center-dock:empty { display: none; }
.center-dock > .dock-panel {
  min-width: 200px;
  flex: 0 0 auto;
  /* Allow the user to drag-resize panels horizontally while docked below the waterfall */
  resize: horizontal;
  overflow: hidden;
}

.sec-title {
  font-size: 9px;
  color: #484f58;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding-bottom: 5px;
  border-bottom: 1px solid #21262d;
  font-family: 'SF Mono','Consolas',monospace;
}

/* ── CTRL CARD (slider rows) ── */
.ctrl-card {
  background: #21262d;
  border: 1px solid #30363d;
  border-radius: 6px;
  padding: 8px 10px;
}
.ctrl-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 5px; }
.ctrl-lbl { font-size: 14px; color: #7d8590; letter-spacing: 0.06em; font-family: 'SF Mono','Consolas',monospace; }
.ctrl-val { font-size: 14px; color: #e6edf3; font-family: 'SF Mono','Consolas',monospace; }

input[type=range] {
  -webkit-appearance: none;
  width: 100%;
  height: 3px;
  background: #30363d;
  border-radius: 2px;
  outline: none;
  cursor: pointer;
}
input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: #388bfd;
  border: 2px solid #0d1117;
  cursor: pointer;
  transition: transform 0.1s;
}
input[type=range]::-webkit-slider-thumb:hover { transform: scale(1.25); }

/* ── METER ── */
.meter-card {
  background: #21262d;
  border: 1px solid #30363d;
  border-radius: 6px;
  padding: 8px 10px;
}
.meter-head { display: flex; justify-content: space-between; margin-bottom: 5px; }
.meter-bg { background: #0d1117; border-radius: 3px; height: 7px; overflow: hidden; }
.meter-fill { height: 100%; border-radius: 3px; transition: width 0.12s ease; width: 0%; }
.meter-fill.s    { background: linear-gradient(90deg, #3fb950 0%, #e3b341 70%, #f85149 100%); }
.meter-fill.tx   { background: linear-gradient(90deg, #388bfd 0%, #388bfd 80%, #f85149 100%); }
.meter-scale { display: flex; justify-content: space-between; margin-top: 3px; }
.meter-scale span { font-size: 8px; color: #484f58; font-family: 'SF Mono','Consolas',monospace; }

/* ── TOGGLE CHIPS ── */
.chip-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
.chip-grid.three { grid-template-columns: 1fr 1fr 1fr; }
.chip-grid.four  { grid-template-columns: 1fr 1fr 1fr 1fr; }
.chip {
  font-size: 10px;
  padding: 5px 4px;
  background: #21262d;
  border: 1px solid #30363d;
  color: #7d8590;
  border-radius: 4px;
  cursor: pointer;
  text-align: center;
  font-family: 'SF Mono','Consolas',monospace;
  letter-spacing: 0.04em;
  transition: all 0.15s;
}
.chip:hover { background: #30363d; color: #e6edf3; }
.chip.on  { background: #0d2a0d; border-color: #3fb950; color: #3fb950; }
.chip.amber { background: #2a1f0d; border-color: #e3b341; color: #e3b341; }
.chip.blue  { background: #0d1f3c; border-color: #388bfd; color: #79c0ff; }

/* ── PTT ── */
.ptt-btn {
  width: 100%;
  padding: 14px;
  background: #21262d;
  border: 2px solid #da3633;
  color: #f85149;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.1em;
  cursor: pointer;
  transition: all 0.1s;
  font-family: 'SF Mono','Consolas',monospace;
}
.ptt-btn:hover { background: #3d0d0d; }
.ptt-btn.active { background: #f85149; color: #fff; box-shadow: 0 0 18px #f8514960; }

.tune-btn {
  width: 100%;
  padding: 7px;
  background: #21262d;
  border: 1px solid #e3b341;
  color: #e3b341;
  border-radius: 5px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  cursor: pointer;
  margin-top: 5px;
  font-family: 'SF Mono','Consolas',monospace;
  transition: all 0.1s;
}
.tune-btn:hover { background: #2a1f0d; }
.tune-btn.active { background: #e3b341; color: #0d1117; }


/* ── FILTER ── */
.filter-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3px; }
.f-btn {
  font-size: 9px;
  padding: 5px 2px;
  background: #21262d;
  border: 1px solid #30363d;
  color: #7d8590;
  border-radius: 4px;
  cursor: pointer;
  text-align: center;
  font-family: 'SF Mono','Consolas',monospace;
  transition: all 0.15s;
}
.f-btn:hover { background: #30363d; color: #e6edf3; }
.f-btn.active { background: #1f4a8a; border-color: #388bfd; color: #79c0ff; }

/* ── S-METER ── */
.smeter-canvas { width: 100%; height: 105px; display: block; border-radius: 4px; }
.smeter-readout {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-top: 4px;
  padding: 3px 6px;
  background: #0d1117;
  border-radius: 4px;
  font-family: 'SF Mono','Consolas',monospace;
}
.smeter-dbm { font-size: 13px; color: #e6edf3; font-weight: 600; }
.smeter-sunit { font-size: 15px; color: #58a6ff; font-weight: 700; letter-spacing: 0.04em; }
.smeter-src { font-size: 8px; color: #484f58; letter-spacing: 0.06em; text-transform: uppercase; }

/* LED bar S-meter (CB style) */
.led-meter-wrap {
  background: #0a0a0a;
  border: 2px solid #3a3428;
  border-radius: 5px;
  padding: 6px 8px 4px;
  position: relative;
}
.led-meter-canvas { width: 100%; height: 32px; display: block; }
.led-meter-label {
  display: flex;
  justify-content: space-between;
  font-size: 8px;
  font-family: 'SF Mono','Consolas',monospace;
  margin-top: 2px;
}
.led-meter-label span { color: #3fb950; }
.led-meter-label .led-red { color: #f85149; }

/* Bandwidth display */
.bw-display {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 4px 8px;
  background: #21262d;
  border: 1px solid #30363d;
  border-radius: 4px;
  font-family: 'SF Mono','Consolas',monospace;
}
.bw-label { font-size: 9px; color: #7d8590; letter-spacing: 0.06em; }
.bw-value { font-size: 12px; color: #e3b341; font-weight: 600; }

/* ── AGC ── */


/* ── CENTER PANEL ── */
.center { display: flex; flex-direction: column; background: #0d1117; height: 100%; overflow: hidden; }

/* spectrum */
.spectrum-wrap {
  height: 300px;
  flex-shrink: 0;
  position: relative;
  background: #010409;
  border-bottom: 1px solid #30363d;
  min-height: 80px;
  overflow: hidden;
}

/* spectrum resize handle */
.spec-resize-handle {
  height: 6px;
  background: #161b22;
  border-top: 1px solid #30363d;
  border-bottom: 1px solid #30363d;
  cursor: ns-resize;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s;
}
.spec-resize-handle:hover { background: #21262d; }
.spec-resize-handle::after {
  content: '— — —';
  font-size: 7px;
  letter-spacing: 3px;
  color: #484f58;
  pointer-events: none;
}
canvas.spec { position: absolute; inset: 0; width: 100%; height: 100%; }

.spec-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.spec-msg {
  text-align: center;
  font-family: 'SF Mono','Consolas',monospace;
  font-size: 11px;
  color: #484f58;
  line-height: 2;
}
.spec-msg strong { color: #7d8590; display: block; font-size: 12px; margin-bottom: 6px; }

/* db labels */
.db-labels {
  position: absolute;
  left: 6px; top: 6px; bottom: 24px;
  display: flex; flex-direction: column; justify-content: space-between;
  pointer-events: none;
}
.db-labels span { font-family: 'SF Mono','Consolas',monospace; font-size: 9px; color: #484f58; }

/* VFO cursor */
.vfo-cursor {
  position: absolute;
  top: 0; bottom: 0;
  width: 1px;
  background: #58a6ff55;
  left: 50%;
  pointer-events: none;
}
.vfo-cursor::after {
  content: attr(data-f);
  position: absolute;
  bottom: 4px; left: 4px;
  font-family: 'SF Mono','Consolas',monospace;
  font-size: 9px;
  color: #58a6ff;
  white-space: nowrap;
}

/* waterfall */
.wf-wrap {
  height: 200px;
  position: relative;
  background: #010409;
  border-bottom: 1px solid #30363d;
  overflow: hidden;
  flex-shrink: 0;
}

/* spectrum/waterfall resize handle */
.wf-resize-handle {
  height: 6px;
  background: #161b22;
  border-top: 1px solid #30363d;
  border-bottom: 1px solid #30363d;
  cursor: ns-resize;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s;
}
.wf-resize-handle:hover { background: #21262d; }
.wf-resize-handle::after {
  content: '— — —';
  font-size: 7px;
  letter-spacing: 3px;
  color: #484f58;
  pointer-events: none;
}
canvas.wf { position: absolute; inset: 0; width: 100%; height: 100%; }

/* TCI log */
.tci-log {
  flex: 1;
  min-height: 40px;
  overflow-y: auto;
  padding: 6px 10px;
  font-family: 'SF Mono','Consolas',monospace;
  font-size: 10px;
  color: #484f58;
  line-height: 1.7;
  border-top: 1px solid #30363d;
  background: #161b22;
}
.log-tx  { color: #388bfd; }
.log-rx  { color: #3fb950; }
.log-err { color: #f85149; }
.log-sys { color: #484f58; }

/* ── SPECTRUM CONTROL BAR (Spec Gain / WF Speed / FFT Smooth / Peak) ── */
.spec-ctrl-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 3px 8px;
  background: #0d1117;
  border-bottom: 1px solid #30363d;
}
.spec-ctrl-divider {
  width: 1px; height: 16px;
  background: #30363d;
  margin: 0 6px; flex-shrink: 0;
}

/* waterfall theme + peak hold buttons */
.wf-theme-btn {
  font-size: 12px;
  padding: 2px 6px;
  background: #21262d;
  border: 1px solid #30363d;
  border-radius: 3px;
  color: #8b949e;
  cursor: pointer;
  font-family: 'SF Mono', monospace;
  white-space: nowrap;
  transition: all 0.15s;
}
.wf-theme-btn:hover { background: #30363d; color: #e6edf3; }
.wf-theme-btn.active { background: #1f4a8a; border-color: #388bfd; color: #79c0ff; }

/* audio vis */
.audio-wrap {
  height: 28px;
  background: #21262d;
  border-radius: 4px;
  overflow: hidden;
}
canvas.audio-cv { width: 100%; height: 100%; }

/* scrollbar */
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: #161b22; }
::-webkit-scrollbar-thumb { background: #30363d; border-radius: 2px; }

/* custom number input in filter section */
.num-in {
  font-family: 'SF Mono','Consolas',monospace;
  font-size: 11px;
  background: #21262d;
  border: 1px solid #30363d;
  color: #e6edf3;
  padding: 3px 6px;
  border-radius: 4px;
  outline: none;
  width: 58px;
  -moz-appearance: textfield;
}
.num-in:focus { border-color: #388bfd; }
.num-in::-webkit-outer-spin-button,
.num-in::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* ── TABLET (iPad landscape/portrait) ── */
@media (max-width: 1100px) {
  .body-grid { grid-template-columns: 200px 1fr 210px; }
}

/* ── TABLET PORTRAIT / LARGE PHONE ── */
@media (max-width: 860px) {
  /* Stack into single column: controls top, spectrum middle, tx bottom */
  .body-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr auto;
    height: auto;
    min-height: calc(100vh - 90px);
  }
  .side-panel {
    border-right: none;
    border-bottom: 1px solid #30363d;
    /* Horizontal scrolling row of panels on mobile */
    flex-direction: row;
    flex-wrap: wrap;
    overflow-y: visible;
    overflow-x: auto;
    padding: 8px;
    gap: 8px;
  }
  .side-panel.right {
    border-left: none;
    border-top: 1px solid #30363d;
  }
  .dock-panel { min-width: 160px; flex: 0 0 auto; }
  .center { min-height: 400px; }
  .spectrum-wrap { min-height: 200px; }
  .wf-wrap { height: 80px; }
  .tci-log { height: 70px; }

  /* Bigger touch targets */
  .band-btn { padding: 6px 10px; font-size: 12px; }
  .chip { min-height: 36px; font-size: 12px; }
  .agc-btn { min-height: 36px; }
  .f-btn { min-height: 36px; font-size: 11px; }
  .mode-btn { min-height: 36px; font-size: 11px; }
  .ptt-btn { min-height: 60px; font-size: 18px; }
  .tune-btn { min-height: 60px; font-size: 14px; }
  .sbtn { min-height: 32px; }
  input[type=range] { height: 20px; }
  .conn-input { width: 160px; }

  /* Freq row wraps cleanly */
  .freq-row { gap: 10px; padding: 8px; }
  .vfo-freq { font-size: 24px; }
  .vfo-freq.secondary { font-size: 18px; }
}

/* ── PHONE (iPhone) ── */
@media (max-width: 480px) {
  .top-bar { gap: 6px; padding: 6px 8px; }
  .band-btn { padding: 5px 7px; font-size: 11px; }
  /* Hide VFO B on very small screens */
  .vfo-block:last-of-type { display: none; }
  .vfo-freq { font-size: 28px; }
  .freq-row { padding: 6px 8px; }
  .body-grid { grid-template-columns: 1fr; }
  .dock-panel { min-width: 140px; }
  .ptt-btn { font-size: 20px; min-height: 70px; }
  .spectrum-wrap { min-height: 180px; }
}

/* ── MOBILE TOUCH BAR ── */
/* Fixed bar at the bottom of the screen — only visible on touch devices.
   JS sets data-touch on <html> when touch device AND screen width ≤ 1100px. */
#mobileBar {
  display: none;           /* hidden by default; shown only by html[data-touch] below */
  position: fixed;
  bottom: 0; left: 0; right: 0;
  height: 110px;
  background: #161b22;
  border-top: 2px solid #30363d;
  z-index: 900;
  align-items: center;
  justify-content: space-between;
  padding: 8px 16px;
  gap: 12px;
}
/* Activated by JS touch-detection */
html[data-touch] #mobileBar { display: flex; }
/* Push page content up so spectrum isn't hidden behind the bar */
html[data-touch] body { padding-bottom: 120px; }

/* VFO rotary knob canvas */
#vfoKnob { touch-action: none; cursor: grab; display: block; }
#vfoKnob:active { cursor: grabbing; }

/* Center readout inside the mobile bar */
#mobileBarCenter {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
#mobileBarFreq {
  font-family: 'SF Mono','Consolas',monospace;
  font-size: 22px;
  font-weight: 700;
  color: #58a6ff;
  letter-spacing: 0.04em;
}
#mobileBarInfo {
  font-family: 'SF Mono','Consolas',monospace;
  font-size: 12px;
  color: #7d8590;
  letter-spacing: 0.06em;
}
/* PTT button in mobile bar */
#pttBtnMobile {
  width: 90px; height: 84px;
  font-size: 20px;
  flex-shrink: 0;
}
#pttBtnMobile.active { background: #da3633; border-color: #f85149; color: #fff; }

/* Menu button in mobile bar */
#mobileMenuBtn {
  background: #21262d; border: 1px solid #30363d; color: #8b949e;
  border-radius: 6px; padding: 5px 10px; font-size: 18px; cursor: pointer;
  font-family: sans-serif; line-height: 1;
}
#mobileMenuBtn.open { border-color: #388bfd; color: #58a6ff; background: #1a2535; }

/* ── MOBILE LAYOUT: hide desktop chrome, full-screen spectrum ── */
/* These rules only activate when JS sets data-touch on <html>  */
html[data-touch] .side-panel   { display: none !important; }
html[data-touch] .freq-dock    { display: none !important; }
html[data-touch] .center-dock  { display: none !important; }
html[data-touch] .body-grid {
  grid-template-columns: 1fr !important;
  /* Fill viewport minus top bar (~50px) and fixed mobile bar (110px) */
  height: calc(100dvh - 160px);
}
html[data-touch] .center { height: 100%; }
/* Give spectrum most of the space; waterfall a comfortable slice */
html[data-touch] .spectrum-wrap { flex: 3 1 0 !important; min-height: 0 !important; }
html[data-touch] .wf-wrap       { flex: 1 1 0 !important; min-height: 60px !important; height: auto !important; }

/* ── SLIDE-UP CONTROL DRAWER ── */
#mobileDrawer {
  display: none; /* JS shows this only on touch devices */
  position: fixed;
  left: 0; right: 0;
  bottom: 110px; /* sits just above the mobile bar */
  background: #161b22;
  border-top: 2px solid #388bfd;
  border-radius: 14px 14px 0 0;
  z-index: 870;
  max-height: 65vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 14px 16px 20px;
  /* Closed: translated fully below the screen so it's invisible */
  transform: translateY(calc(100% + 110px));
  transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}
html[data-touch] #mobileDrawer { display: block; }
#mobileDrawer.open { transform: translateY(0); }

/* Dim overlay behind drawer */
#mobileDrawerBackdrop {
  display: none; position: fixed; inset: 0;
  background: rgba(0,0,0,0.55); z-index: 860;
}
#mobileDrawerBackdrop.open { display: block; }

/* Drawer section labels */
.mdrw-lbl {
  font-size: 9px; color: #484f58;
  font-family: 'SF Mono','Consolas',monospace;
  letter-spacing: 0.12em; text-transform: uppercase;
  margin: 12px 0 5px; display: block;
}
.mdrw-lbl:first-child { margin-top: 0; }

/* Drawer button rows — larger tap targets than desktop */
.mdrw-row {
  display: flex; flex-wrap: wrap; gap: 6px;
}
.mdrw-row .band-btn { padding: 8px 12px; font-size: 14px; min-height: 40px; }
.mdrw-row .mode-btn { padding: 8px 14px; font-size: 14px; min-height: 40px; }
.mdrw-row .f-btn    { padding: 8px 12px; font-size: 14px; min-height: 40px; }
.mdrw-row .sbtn     { padding: 8px 14px; font-size: 14px; min-height: 40px; }

/* AF Gain slider row in drawer */
.mdrw-slider-row {
  display: flex; align-items: center; gap: 10px; margin-top: 4px;
}
.mdrw-slider-row input[type=range] { flex: 1; height: 6px; }
.mdrw-slider-row span { font-family: 'SF Mono','Consolas',monospace; font-size: 12px;
  color: #e6edf3; min-width: 52px; text-align: right; }

/* ── UTC CLOCK ── */
.utc-clock { font-family:'SF Mono','Consolas',monospace; font-size:15px; color:#58a6ff; background:#21262d; border:1px solid #30363d; padding:3px 10px; border-radius:4px; white-space:nowrap; letter-spacing:0.06em; font-weight:600; }

/* ── MODAL OVERLAY ── */
.modal-overlay { position:fixed; inset:0; background:rgba(1,4,9,0.88); z-index:10000; display:flex; align-items:center; justify-content:center; }
.modal-overlay.hidden { display:none; }
.modal-box { background:#161b22; border:1px solid #30363d; border-radius:10px; padding:20px 24px; min-width:340px; max-width:520px; max-height:82vh; overflow-y:auto; box-shadow:0 16px 48px rgba(0,0,0,0.8); position:relative; }
.modal-title { font-size:14px; font-weight:600; color:#e6edf3; margin-bottom:16px; display:flex; justify-content:space-between; align-items:center; }
.modal-close { font-size:18px; color:#7d8590; cursor:pointer; background:none; border:none; line-height:1; }
.modal-close:hover { color:#e6edf3; }
.modal-sep { height:1px; background:#21262d; margin:10px 0; }
.modal-lbl { font-size:10px; color:#7d8590; letter-spacing:0.08em; text-transform:uppercase; font-family:'SF Mono','Consolas',monospace; display:block; margin-bottom:4px; }
.modal-in { width:100%; background:#21262d; border:1px solid #30363d; color:#e6edf3; padding:5px 9px; border-radius:4px; font-family:'SF Mono','Consolas',monospace; font-size:12px; outline:none; margin-bottom:8px; }
.modal-in:focus { border-color:#388bfd; }
.modal-row { display:flex; gap:8px; align-items:center; margin-bottom:6px; }
.modal-row label { flex:1; font-size:11px; color:#8b949e; }
.mbtn { font-size:11px; padding:5px 12px; background:#21262d; border:1px solid #30363d; color:#e6edf3; border-radius:5px; cursor:pointer; font-family:'SF Mono','Consolas',monospace; }
.mbtn:hover { background:#30363d; }
.mbtn.pri { background:#1f4a8a; border-color:#388bfd; color:#79c0ff; }
.mbtn.pri:hover { background:#2a5ba0; }
.mbtn.danger { border-color:#da3633; color:#f85149; }
.mbtn.danger:hover { background:#3d0d0d; }

/* ── RIT ── */
.rit-display { font-family:'SF Mono','Consolas',monospace; font-size:12px; color:#e3b341; min-width:58px; text-align:right; }
.rit-btn { font-size:11px; padding:2px 7px; background:#21262d; border:1px solid #30363d; color:#8b949e; border-radius:3px; cursor:pointer; font-family:'SF Mono','Consolas',monospace; }
.rit-btn:hover { background:#30363d; color:#e6edf3; }
.rit-btn.on { background:#2a1f0d; border-color:#e3b341; color:#e3b341; }

/* ── DX TOOLTIP ── */
#dxTooltip { position:fixed; background:#0d1117; border:1px solid #388bfd; border-radius:5px; padding:6px 10px; font-family:'SF Mono','Consolas',monospace; font-size:11px; color:#e6edf3; pointer-events:none; z-index:9999; display:none; box-shadow:0 4px 16px rgba(0,0,0,0.7); line-height:1.7; }

/* ── MEMORIES ── */
.mem-row td { padding:2px 4px; font-family:'SF Mono','Consolas',monospace; font-size:10px; }
.mem-row:hover td { background:#21262d; cursor:pointer; }
.mem-freq { color:#58a6ff; }
.mem-mode { color:#3fb950; }
.mem-name { color:#8b949e; max-width:80px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mem-del { color:#484f58; }
.mem-del:hover { color:#f85149; }
.mem-table { width:100%; border-collapse:collapse; }

/* ── PROPAGATION ── */
.prop-grid { display:grid; grid-template-columns:1fr 1fr; gap:4px; }
.prop-cell { background:#0d1117; border:1px solid #21262d; border-radius:3px; padding:3px 5px; text-align:center; }
.prop-val { font-size:15px; font-weight:700; font-family:'SF Mono','Consolas',monospace; color:#e6edf3; display:block; }
.prop-key { font-size:8px; color:#484f58; letter-spacing:0.06em; }
.prop-cond { font-size:9px; font-weight:600; font-family:'SF Mono','Consolas',monospace; padding:2px 5px; border-radius:3px; }
.cond-good { background:#0d2a0d; color:#3fb950; }
.cond-fair { background:#2a1f0d; color:#e3b341; }
.cond-poor { background:#3d0d0d; color:#f85149; }

/* ── RECORDER ── */
.rec-btn { font-size:11px; padding:3px 9px; background:#21262d; border:1px solid #30363d; color:#8b949e; border-radius:4px; cursor:pointer; font-family:'SF Mono','Consolas',monospace; display:flex; align-items:center; gap:5px; }
.rec-btn:hover { background:#30363d; color:#e6edf3; }
.rec-btn.on { background:#3d0d0d; border-color:#f85149; color:#f85149; }
.rec-dot { width:6px; height:6px; border-radius:50%; background:currentColor; flex-shrink:0; }

/* ── KEYBOARD OVERLAY ── */
.keys-grid { display:grid; grid-template-columns:auto 1fr; gap:4px 14px; align-items:center; }
.kbd { font-family:'SF Mono','Consolas',monospace; font-size:11px; background:#21262d; border:1px solid #30363d; border-radius:4px; padding:2px 7px; color:#e6edf3; text-align:center; white-space:nowrap; }
.kdesc { font-size:11px; color:#8b949e; }

/* ── DOCK PANELS ── */
.dock-panel {
  background: #161b22;
  border: 1px solid #30363d;
  border-radius: 6px;
  margin-bottom: 8px;
  user-select: none;
  transition: box-shadow 0.1s;
}
.dock-panel.dragging-ghost {
  opacity: 0.35;
  pointer-events: none;
}
.dock-handle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 5px 8px;
  background: #1c2128;
  border-bottom: 1px solid #30363d;
  border-radius: 6px 6px 0 0;
  cursor: grab;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8b949e;
}
.dock-handle:active { cursor: grabbing; }
.dock-handle .dock-title { pointer-events: none; flex: 1; }
.dock-handle .dock-collapse {
  font-size: 10px;
  cursor: pointer;
  opacity: 0.45;
  padding: 0 4px;
  line-height: 1;
  pointer-events: all;
}
.dock-handle .dock-collapse:hover { opacity: 1; }
.dock-body { padding: 8px; }
.dock-panel.collapsed .dock-body { display: none; }
.dock-panel.collapsed .dock-handle { border-bottom: none; border-radius: 6px; }

/* Drop indicator — shown between panels during drag */
.dock-drop-indicator {
  height: 3px;
  background: #388bfd;
  border-radius: 2px;
  margin: 2px 0;
  display: none;
  pointer-events: none;
}
.dock-drop-indicator.active { display: block; }

/* Drag clone following cursor */
#dock-drag-clone {
  position: fixed;
  z-index: 9999;
  pointer-events: none;
  opacity: 0.85;
  box-shadow: 0 8px 32px rgba(0,0,0,0.7);
  border-radius: 6px;
  min-width: 170px;
  max-width: 220px;
}

/* ── TUNING SLIDER ── */
.tuning-knob-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  align-self: center;
  width: 100%;
  max-width: 280px;
}
.tuning-knob-container.hidden { display: none; }
.tuning-slider {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 40px;
  background: #30363d;
  border-radius: 20px;
  outline: none;
  cursor: pointer;
  position: relative;
}
.tuning-slider:hover { background: #40464d; }
.tuning-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #388bfd;
  border: 3px solid #0d1117;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  transition: background 0.15s, transform 0.15s;
}
.tuning-slider::-webkit-slider-thumb:hover { background: #4a9eff; transform: scale(1.05); }
.tuning-slider::-webkit-slider-thumb:active { transform: scale(1.1); box-shadow: 0 4px 12px rgba(0,0,0,0.4); }
.tuning-slider::-moz-range-thumb {
  width: 60px; height: 60px; border-radius: 50%;
  background: #388bfd; border: 3px solid #0d1117;
  cursor: pointer; box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
.tuning-slider::-moz-range-thumb:hover { background: #4a9eff; }
.tuning-slider::-moz-range-thumb:active { box-shadow: 0 4px 12px rgba(0,0,0,0.4); }
.tuning-knob-label {
  font-size: 11px; color: #7d8590;
  font-family: 'SF Mono','Consolas',monospace;
  letter-spacing: 0.06em; text-transform: uppercase; font-weight: 600;
}
@media (max-width: 860px) {
  .tuning-knob-container { max-width: 100%; gap: 12px; }
  .tuning-slider { height: 50px; }
  .tuning-slider::-webkit-slider-thumb { width: 70px; height: 70px; }
  .tuning-slider::-moz-range-thumb { width: 70px; height: 70px; }
  .tuning-knob-label { font-size: 14px; }
}
@media (max-width: 480px) {
  .tuning-slider { height: 60px; }
  .tuning-slider::-webkit-slider-thumb { width: 80px; height: 80px; }
  .tuning-slider::-moz-range-thumb { width: 80px; height: 80px; }
  .tuning-knob-label { font-size: 16px; }
}

/* ── FREQ DOCK ZONE ── */
.freq-dock {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 6px;
  padding: 6px 10px;
  background: #161b22;
  border-bottom: 1px solid #30363d;
  overflow-x: auto;
  flex-shrink: 0;
}
.freq-dock > .dock-panel { flex: 0 0 auto; }
.freq-dock .dock-body { padding: 5px 8px; }
.freq-dock .dock-handle { padding: 3px 8px; }
/* Hidden panels (visibility controlled via settings) */
.dock-panel.dp-hidden { display: none !important; }

/* ── TCI LOG — allow text selection for copy/paste ── */
.tci-log { user-select: text; cursor: text; }

/* ── UI COLOR THEMES ──
   Applied as data-ui-theme on <html>. Overrides structural panel, text, and slider colors.
   "dark" is the default — no override needed, it inherits the base stylesheet.
   The 8 themes range from near-black to fully light for different environments. */

/* ── THEME HELPERS — shared slider mixin via per-theme rules ── */

/* Midnight — warm near-black, easier on eyes than blue-tinted dark */
[data-ui-theme="midnight"] body              { background: #13100c; color: #ede8e0; }
[data-ui-theme="midnight"] .top-bar          { background: #1e1912; border-color: #332810; }
[data-ui-theme="midnight"] .freq-row         { background: #1e1912; border-color: #332810; }
[data-ui-theme="midnight"] .side-panel       { background: #13100c; border-color: #332810; }
[data-ui-theme="midnight"] .center           { background: #13100c; }
[data-ui-theme="midnight"] .dock-panel       { background: #1e1912; border-color: #332810; }
[data-ui-theme="midnight"] .dock-handle      { background: #28201a; border-color: #332810; }
[data-ui-theme="midnight"] .modal-box        { background: #1e1912; border-color: #3d3020; }
[data-ui-theme="midnight"] .modal-in         { background: #13100c; border-color: #332810; color: #ede8e0; }
[data-ui-theme="midnight"] .conn-input       { background: #13100c; border-color: #332810; color: #ede8e0; }
[data-ui-theme="midnight"] .btn-connect      { background: #28201a; border-color: #332810; color: #ede8e0; }
[data-ui-theme="midnight"] .tci-log          { background: #13100c; border-color: #332810; color: #ede8e0; }
[data-ui-theme="midnight"] .smeter-readout   { background: #1e1912; }
[data-ui-theme="midnight"] .led-meter-wrap   { background: #1e1912; border-color: #332810; }
[data-ui-theme="midnight"] .center-dock      { background: #1a1510; border-color: #332810; }
[data-ui-theme="midnight"] .freq-dock        { background: #1e1912; border-color: #332810; }
[data-ui-theme="midnight"] .vfo-freq         { color: #f0d090; }
[data-ui-theme="midnight"] .vfo-freq .mhz    { color: #f0b040; }
[data-ui-theme="midnight"] .ctrl-lbl         { color: #a89060; }
[data-ui-theme="midnight"] .ctrl-val         { color: #ede8e0; }
[data-ui-theme="midnight"] .ctrl-head        { color: #ede8e0; }
[data-ui-theme="midnight"] .dock-title       { color: #d4b870; }
[data-ui-theme="midnight"] input[type=range] { background: #3d3020; }
[data-ui-theme="midnight"] input[type=range]::-webkit-slider-thumb { background: #c49020; border-color: #13100c; }
[data-ui-theme="midnight"] input[type=range]::-moz-range-thumb     { background: #c49020; border-color: #13100c; }

/* Navy — dark navy blue */
[data-ui-theme="navy"] body              { background: #060f1c; color: #c8dff0; }
[data-ui-theme="navy"] .top-bar          { background: #0b1930; border-color: #1c3660; }
[data-ui-theme="navy"] .freq-row         { background: #0b1930; border-color: #1c3660; }
[data-ui-theme="navy"] .side-panel       { background: #060f1c; border-color: #1c3660; }
[data-ui-theme="navy"] .center           { background: #060f1c; }
[data-ui-theme="navy"] .dock-panel       { background: #0b1930; border-color: #1c3660; }
[data-ui-theme="navy"] .dock-handle      { background: #081422; border-color: #1c3660; }
[data-ui-theme="navy"] .modal-box        { background: #0b1930; border-color: #1c3660; }
[data-ui-theme="navy"] .modal-in         { background: #060f1c; border-color: #1c3660; color: #c8dff0; }
[data-ui-theme="navy"] .conn-input       { background: #060f1c; border-color: #1c3660; color: #c8dff0; }
[data-ui-theme="navy"] .btn-connect      { background: #0b1930; border-color: #1c3660; color: #c8dff0; }
[data-ui-theme="navy"] .tci-log          { background: #060f1c; border-color: #1c3660; color: #c8dff0; }
[data-ui-theme="navy"] .smeter-readout   { background: #0b1930; }
[data-ui-theme="navy"] .led-meter-wrap   { background: #0b1930; border-color: #1c3660; }
[data-ui-theme="navy"] .center-dock      { background: #081422; border-color: #1c3660; }
[data-ui-theme="navy"] .freq-dock        { background: #0b1930; border-color: #1c3660; }
[data-ui-theme="navy"] .vfo-freq         { color: #79c0ff; }
[data-ui-theme="navy"] .vfo-freq .mhz    { color: #a5d6ff; }
[data-ui-theme="navy"] .ctrl-lbl         { color: #5880a8; }
[data-ui-theme="navy"] .ctrl-val         { color: #c8dff0; }
[data-ui-theme="navy"] .ctrl-head        { color: #c8dff0; }
[data-ui-theme="navy"] .dock-title       { color: #79c0ff; }
[data-ui-theme="navy"] input[type=range] { background: #1c3660; }
[data-ui-theme="navy"] input[type=range]::-webkit-slider-thumb { background: #388bfd; border-color: #060f1c; }
[data-ui-theme="navy"] input[type=range]::-moz-range-thumb     { background: #388bfd; border-color: #060f1c; }

/* Forest — deep forest green */
[data-ui-theme="forest"] body              { background: #061008; color: #c0e8c4; }
[data-ui-theme="forest"] .top-bar          { background: #0c1e10; border-color: #163d1c; }
[data-ui-theme="forest"] .freq-row         { background: #0c1e10; border-color: #163d1c; }
[data-ui-theme="forest"] .side-panel       { background: #061008; border-color: #163d1c; }
[data-ui-theme="forest"] .center           { background: #061008; }
[data-ui-theme="forest"] .dock-panel       { background: #0c1e10; border-color: #163d1c; }
[data-ui-theme="forest"] .dock-handle      { background: #091508; border-color: #163d1c; }
[data-ui-theme="forest"] .modal-box        { background: #0c1e10; border-color: #163d1c; }
[data-ui-theme="forest"] .modal-in         { background: #061008; border-color: #163d1c; color: #c0e8c4; }
[data-ui-theme="forest"] .conn-input       { background: #061008; border-color: #163d1c; color: #c0e8c4; }
[data-ui-theme="forest"] .btn-connect      { background: #0c1e10; border-color: #163d1c; color: #c0e8c4; }
[data-ui-theme="forest"] .tci-log          { background: #061008; border-color: #163d1c; color: #c0e8c4; }
[data-ui-theme="forest"] .smeter-readout   { background: #0c1e10; }
[data-ui-theme="forest"] .led-meter-wrap   { background: #0c1e10; border-color: #163d1c; }
[data-ui-theme="forest"] .center-dock      { background: #091508; border-color: #163d1c; }
[data-ui-theme="forest"] .freq-dock        { background: #0c1e10; border-color: #163d1c; }
[data-ui-theme="forest"] .vfo-freq         { color: #56d364; }
[data-ui-theme="forest"] .vfo-freq .mhz    { color: #7ce895; }
[data-ui-theme="forest"] .dock-title       { color: #56d364; }
[data-ui-theme="forest"] .ctrl-lbl         { color: #5a9860; }
[data-ui-theme="forest"] .ctrl-val         { color: #c0e8c4; }
[data-ui-theme="forest"] .ctrl-head        { color: #c0e8c4; }
[data-ui-theme="forest"] input[type=range] { background: #163d1c; }
[data-ui-theme="forest"] input[type=range]::-webkit-slider-thumb { background: #3fb950; border-color: #061008; }
[data-ui-theme="forest"] input[type=range]::-moz-range-thumb     { background: #3fb950; border-color: #061008; }

/* Charcoal — medium gray, comfortable in any lighting */
[data-ui-theme="charcoal"] body              { background: #2a2d33; color: #e4e8ee; }
[data-ui-theme="charcoal"] .top-bar          { background: #33373f; border-color: #484f5a; }
[data-ui-theme="charcoal"] .freq-row         { background: #33373f; border-color: #484f5a; }
[data-ui-theme="charcoal"] .side-panel       { background: #2a2d33; border-color: #484f5a; }
[data-ui-theme="charcoal"] .center           { background: #2a2d33; }
[data-ui-theme="charcoal"] .dock-panel       { background: #33373f; border-color: #484f5a; }
[data-ui-theme="charcoal"] .dock-handle      { background: #3c4048; border-color: #484f5a; }
[data-ui-theme="charcoal"] .modal-box        { background: #3c4048; border-color: #484f5a; }
[data-ui-theme="charcoal"] .modal-in         { background: #2a2d33; border-color: #484f5a; color: #e4e8ee; }
[data-ui-theme="charcoal"] .conn-input       { background: #2a2d33; border-color: #484f5a; color: #e4e8ee; }
[data-ui-theme="charcoal"] .btn-connect      { background: #33373f; border-color: #484f5a; color: #e4e8ee; }
[data-ui-theme="charcoal"] .tci-log          { background: #2a2d33; border-color: #484f5a; color: #e4e8ee; }
[data-ui-theme="charcoal"] .smeter-readout   { background: #33373f; }
[data-ui-theme="charcoal"] .led-meter-wrap   { background: #33373f; border-color: #484f5a; }
[data-ui-theme="charcoal"] .center-dock      { background: #303438; border-color: #484f5a; }
[data-ui-theme="charcoal"] .freq-dock        { background: #33373f; border-color: #484f5a; }
[data-ui-theme="charcoal"] .dock-title       { color: #c0ccd8; }
[data-ui-theme="charcoal"] .ctrl-lbl         { color: #a0a8b4; }
[data-ui-theme="charcoal"] .ctrl-val         { color: #e4e8ee; }
[data-ui-theme="charcoal"] .ctrl-head        { color: #e4e8ee; }
[data-ui-theme="charcoal"] .modal-lbl        { color: #a0a8b4; }
[data-ui-theme="charcoal"] input[type=range] { background: #484f5a; }
[data-ui-theme="charcoal"] input[type=range]::-webkit-slider-thumb { background: #5a8fd8; border-color: #2a2d33; }
[data-ui-theme="charcoal"] input[type=range]::-moz-range-thumb     { background: #5a8fd8; border-color: #2a2d33; }

/* Warm — warm taupe/brown, easy on the eyes for long sessions */
[data-ui-theme="warm"] body              { background: #26221c; color: #efe8dc; }
[data-ui-theme="warm"] .top-bar          { background: #32291f; border-color: #504030; }
[data-ui-theme="warm"] .freq-row         { background: #32291f; border-color: #504030; }
[data-ui-theme="warm"] .side-panel       { background: #26221c; border-color: #504030; }
[data-ui-theme="warm"] .center           { background: #26221c; }
[data-ui-theme="warm"] .dock-panel       { background: #32291f; border-color: #504030; }
[data-ui-theme="warm"] .dock-handle      { background: #3a3028; border-color: #504030; }
[data-ui-theme="warm"] .modal-box        { background: #3a3028; border-color: #504030; }
[data-ui-theme="warm"] .modal-in         { background: #26221c; border-color: #504030; color: #efe8dc; }
[data-ui-theme="warm"] .conn-input       { background: #26221c; border-color: #504030; color: #efe8dc; }
[data-ui-theme="warm"] .btn-connect      { background: #32291f; border-color: #504030; color: #efe8dc; }
[data-ui-theme="warm"] .tci-log          { background: #26221c; border-color: #504030; color: #efe8dc; }
[data-ui-theme="warm"] .smeter-readout   { background: #32291f; }
[data-ui-theme="warm"] .led-meter-wrap   { background: #32291f; border-color: #504030; }
[data-ui-theme="warm"] .center-dock      { background: #2c261e; border-color: #504030; }
[data-ui-theme="warm"] .freq-dock        { background: #32291f; border-color: #504030; }
[data-ui-theme="warm"] .vfo-freq         { color: #f0d898; }
[data-ui-theme="warm"] .vfo-freq .mhz    { color: #e3b341; }
[data-ui-theme="warm"] .dock-title       { color: #d4b870; }
[data-ui-theme="warm"] .ctrl-lbl         { color: #a09080; }
[data-ui-theme="warm"] .ctrl-val         { color: #efe8dc; }
[data-ui-theme="warm"] .ctrl-head        { color: #efe8dc; }
[data-ui-theme="warm"] .modal-lbl        { color: #a09080; }
[data-ui-theme="warm"] input[type=range] { background: #504030; }
[data-ui-theme="warm"] input[type=range]::-webkit-slider-thumb { background: #c49030; border-color: #26221c; }
[data-ui-theme="warm"] input[type=range]::-moz-range-thumb     { background: #c49030; border-color: #26221c; }

/* Parchment — warm beige, old-paper feel, light without being harsh */
[data-ui-theme="parchment"] body              { background: #f0e6cc; color: #2c1e0e; }
[data-ui-theme="parchment"] .top-bar          { background: #e8dab8; border-color: #c0a870; }
[data-ui-theme="parchment"] .freq-row         { background: #e8dab8; border-color: #c0a870; }
[data-ui-theme="parchment"] .side-panel       { background: #f0e6cc; border-color: #c0a870; }
[data-ui-theme="parchment"] .center           { background: #f0e6cc; }
[data-ui-theme="parchment"] .dock-panel       { background: #e8dab8; border-color: #c0a870; }
[data-ui-theme="parchment"] .dock-handle      { background: #ddd0a0; border-color: #c0a870; color: #2c1e0e; }
[data-ui-theme="parchment"] .modal-overlay    { background: rgba(0,0,0,0.4); }
[data-ui-theme="parchment"] .modal-box        { background: #e8dab8; border-color: #c0a870; }
[data-ui-theme="parchment"] .modal-in         { background: #f0e6cc; border-color: #c0a870; color: #2c1e0e; }
[data-ui-theme="parchment"] .conn-input       { background: #f0e6cc; border-color: #c0a870; color: #2c1e0e; }
[data-ui-theme="parchment"] .btn-connect      { background: #e8dab8; border-color: #c0a870; color: #2c1e0e; }
[data-ui-theme="parchment"] .tci-log          { background: #f0e6cc; border-color: #c0a870; color: #2c1e0e; }
[data-ui-theme="parchment"] .smeter-readout   { background: #e8dab8; }
[data-ui-theme="parchment"] .led-meter-wrap   { background: #e8dab8; border-color: #c0a870; }
[data-ui-theme="parchment"] .center-dock      { background: #ecdfc4; border-color: #c0a870; }
[data-ui-theme="parchment"] .freq-dock        { background: #e8dab8; border-color: #c0a870; }
[data-ui-theme="parchment"] .dock-title       { color: #5a3a18; }
[data-ui-theme="parchment"] .ctrl-lbl         { color: #806040; }
[data-ui-theme="parchment"] .ctrl-val         { color: #2c1e0e; }
[data-ui-theme="parchment"] .ctrl-head        { color: #2c1e0e; }
[data-ui-theme="parchment"] .modal-title      { color: #2c1e0e; }
[data-ui-theme="parchment"] .modal-lbl        { color: #806040; }
[data-ui-theme="parchment"] .modal-row label  { color: #2c1e0e; }
[data-ui-theme="parchment"] .modal-close      { color: #806040; }
[data-ui-theme="parchment"] .sbtn             { background: #ddd0a0; border-color: #c0a870; color: #2c1e0e; }
[data-ui-theme="parchment"] .sbtn.active      { background: #b07830; border-color: #8a5c1c; color: #fff; }
[data-ui-theme="parchment"] .mbtn             { background: #ddd0a0; border-color: #c0a870; color: #2c1e0e; }
[data-ui-theme="parchment"] .mbtn.pri         { background: #b07830; border-color: #8a5c1c; color: #fff; }
[data-ui-theme="parchment"] .band-btn         { background: #ddd0a0; border-color: #c0a870; color: #5a3a18; }
[data-ui-theme="parchment"] .mode-btn         { background: #ddd0a0; border-color: #c0a870; color: #5a3a18; }
[data-ui-theme="parchment"] .mode-btn.active  { background: #b07830; color: #fff; }
[data-ui-theme="parchment"] .vfo-freq         { color: #3a2010; }
[data-ui-theme="parchment"] .vfo-freq .mhz    { color: #8b4513; }
[data-ui-theme="parchment"] .vfo-freq.secondary { color: #806040; }
[data-ui-theme="parchment"] .callsign         { color: #806040; }
[data-ui-theme="parchment"] .status-label     { color: #3a7020; }
[data-ui-theme="parchment"] input[type=range] { background: #c0a870; }
[data-ui-theme="parchment"] input[type=range]::-webkit-slider-thumb { background: #8b4513; border-color: #f0e6cc; }
[data-ui-theme="parchment"] input[type=range]::-moz-range-thumb     { background: #8b4513; border-color: #f0e6cc; }

/* Daylight — clean soft gray, comfortable in bright rooms */
[data-ui-theme="daylight"] body              { background: #e8ecf0; color: #1a2030; }
[data-ui-theme="daylight"] .top-bar          { background: #f0f4f8; border-color: #c0cad4; }
[data-ui-theme="daylight"] .freq-row         { background: #f0f4f8; border-color: #c0cad4; }
[data-ui-theme="daylight"] .side-panel       { background: #e8ecf0; border-color: #c0cad4; }
[data-ui-theme="daylight"] .center           { background: #e8ecf0; }
[data-ui-theme="daylight"] .dock-panel       { background: #f0f4f8; border-color: #c0cad4; }
[data-ui-theme="daylight"] .dock-handle      { background: #dde3ea; border-color: #c0cad4; color: #1a2030; }
[data-ui-theme="daylight"] .modal-overlay    { background: rgba(0,0,0,0.35); }
[data-ui-theme="daylight"] .modal-box        { background: #f0f4f8; border-color: #c0cad4; }
[data-ui-theme="daylight"] .modal-in         { background: #e8ecf0; border-color: #c0cad4; color: #1a2030; }
[data-ui-theme="daylight"] .conn-input       { background: #e8ecf0; border-color: #c0cad4; color: #1a2030; }
[data-ui-theme="daylight"] .btn-connect      { background: #f0f4f8; border-color: #c0cad4; color: #1a2030; }
[data-ui-theme="daylight"] .tci-log          { background: #e8ecf0; border-color: #c0cad4; color: #1a2030; }
[data-ui-theme="daylight"] .smeter-readout   { background: #f0f4f8; }
[data-ui-theme="daylight"] .led-meter-wrap   { background: #f0f4f8; border-color: #c0cad4; }
[data-ui-theme="daylight"] .center-dock      { background: #e0e6ec; border-color: #c0cad4; }
[data-ui-theme="daylight"] .freq-dock        { background: #f0f4f8; border-color: #c0cad4; }
[data-ui-theme="daylight"] .dock-title       { color: #2040a0; }
[data-ui-theme="daylight"] .ctrl-lbl         { color: #506888; }
[data-ui-theme="daylight"] .ctrl-val         { color: #1a2030; }
[data-ui-theme="daylight"] .ctrl-head        { color: #1a2030; }
[data-ui-theme="daylight"] .modal-title      { color: #1a2030; }
[data-ui-theme="daylight"] .modal-lbl        { color: #506888; }
[data-ui-theme="daylight"] .modal-row label  { color: #1a2030; }
[data-ui-theme="daylight"] .modal-close      { color: #506888; }
[data-ui-theme="daylight"] .sbtn             { background: #dde3ea; border-color: #b0bcc8; color: #1a2030; }
[data-ui-theme="daylight"] .sbtn.active      { background: #0066cc; border-color: #0050a0; color: #fff; }
[data-ui-theme="daylight"] .mbtn             { background: #dde3ea; border-color: #b0bcc8; color: #1a2030; }
[data-ui-theme="daylight"] .mbtn.pri         { background: #0066cc; border-color: #0050a0; color: #fff; }
[data-ui-theme="daylight"] .band-btn         { background: #dde3ea; border-color: #b0bcc8; color: #304060; }
[data-ui-theme="daylight"] .mode-btn         { background: #dde3ea; border-color: #b0bcc8; color: #304060; }
[data-ui-theme="daylight"] .mode-btn.active  { background: #0066cc; color: #fff; }
[data-ui-theme="daylight"] .vfo-freq         { color: #0a1428; }
[data-ui-theme="daylight"] .vfo-freq .mhz    { color: #0060c0; }
[data-ui-theme="daylight"] .vfo-freq.secondary { color: #506888; }
[data-ui-theme="daylight"] .callsign         { color: #506888; }
[data-ui-theme="daylight"] .status-label     { color: #1a7030; }
[data-ui-theme="daylight"] input[type=range] { background: #b0bcc8; }
[data-ui-theme="daylight"] input[type=range]::-webkit-slider-thumb { background: #0066cc; border-color: #e8ecf0; }
[data-ui-theme="daylight"] input[type=range]::-moz-range-thumb     { background: #0066cc; border-color: #e8ecf0; }

/* Green Bay Packers — official dark green #203731 + gold #FFB612 */
[data-ui-theme="packers"] body              { background: #1a2e26; color: #f0f0e0; }
[data-ui-theme="packers"] .top-bar          { background: #203830; border-color: #2e5c40; }
[data-ui-theme="packers"] .freq-row         { background: #203830; border-color: #2e5c40; }
[data-ui-theme="packers"] .side-panel       { background: #1a2e26; border-color: #2e5c40; }
[data-ui-theme="packers"] .center           { background: #1a2e26; }
[data-ui-theme="packers"] .dock-panel       { background: #203830; border-color: #2e5c40; }
[data-ui-theme="packers"] .dock-handle      { background: #183028; border-color: #2e5c40; }
[data-ui-theme="packers"] .modal-box        { background: #203830; border-color: #2e5c40; }
[data-ui-theme="packers"] .modal-in         { background: #1a2e26; border-color: #2e5c40; color: #f0f0e0; }
[data-ui-theme="packers"] .conn-input       { background: #1a2e26; border-color: #2e5c40; color: #f0f0e0; }
[data-ui-theme="packers"] .btn-connect      { background: #203830; border-color: #2e5c40; color: #f0f0e0; }
[data-ui-theme="packers"] .tci-log          { background: #1a2e26; border-color: #2e5c40; color: #f0f0e0; }
[data-ui-theme="packers"] .smeter-readout   { background: #203830; }
[data-ui-theme="packers"] .led-meter-wrap   { background: #203830; border-color: #2e5c40; }
[data-ui-theme="packers"] .center-dock      { background: #1e3430; border-color: #2e5c40; }
[data-ui-theme="packers"] .freq-dock        { background: #203830; border-color: #2e5c40; }
[data-ui-theme="packers"] .dock-title       { color: #FFB612; }
[data-ui-theme="packers"] .ctrl-lbl         { color: #7ab890; }
[data-ui-theme="packers"] .ctrl-val         { color: #FFB612; }
[data-ui-theme="packers"] .ctrl-head        { color: #f0f0e0; }
[data-ui-theme="packers"] .modal-title      { color: #FFB612; }
[data-ui-theme="packers"] .modal-lbl        { color: #7ab890; }
[data-ui-theme="packers"] .modal-row label  { color: #f0f0e0; }
[data-ui-theme="packers"] .modal-close      { color: #7ab890; }
[data-ui-theme="packers"] .vfo-freq         { color: #FFB612; }
[data-ui-theme="packers"] .vfo-freq .mhz    { color: #ffd060; }
[data-ui-theme="packers"] .vfo-freq.secondary { color: #7ab890; }
[data-ui-theme="packers"] .callsign         { color: #7ab890; }
[data-ui-theme="packers"] .status-label     { color: #56d364; }
[data-ui-theme="packers"] .sbtn             { background: #183028; border-color: #2e5c40; color: #f0f0e0; }
[data-ui-theme="packers"] .sbtn.active      { background: #FFB612; border-color: #d49000; color: #1a2e26; }
[data-ui-theme="packers"] .mbtn             { background: #183028; border-color: #2e5c40; color: #f0f0e0; }
[data-ui-theme="packers"] .mbtn.pri         { background: #FFB612; border-color: #d49000; color: #1a2e26; }
[data-ui-theme="packers"] .band-btn         { background: #183028; border-color: #2e5c40; color: #90c8a0; }
[data-ui-theme="packers"] .mode-btn         { background: #183028; border-color: #2e5c40; color: #90c8a0; }
[data-ui-theme="packers"] .mode-btn.active  { background: #FFB612; border-color: #d49000; color: #1a2e26; }
[data-ui-theme="packers"] input[type=range] { background: #2e5c40; }
[data-ui-theme="packers"] input[type=range]::-webkit-slider-thumb { background: #FFB612; border-color: #1a2e26; }
[data-ui-theme="packers"] input[type=range]::-moz-range-thumb     { background: #FFB612; border-color: #1a2e26; }

/* ── SPEC CTRL BAR + WF-THEME-BTN overrides per UI theme ── */
[data-ui-theme="midnight"] .spec-ctrl-bar      { background: #13100c; border-color: #332810; }
[data-ui-theme="midnight"] .spec-ctrl-divider  { background: #332810; }
[data-ui-theme="midnight"] .wf-theme-btn       { background: #28201a; border-color: #332810; color: #a89060; }
[data-ui-theme="midnight"] .wf-theme-btn:hover { background: #3d3020; color: #ede8e0; }
[data-ui-theme="midnight"] .wf-theme-btn.active{ background: #8b6010; border-color: #c49020; color: #ede8e0; }

[data-ui-theme="navy"] .spec-ctrl-bar      { background: #060f1c; border-color: #1c3660; }
[data-ui-theme="navy"] .spec-ctrl-divider  { background: #1c3660; }
[data-ui-theme="navy"] .wf-theme-btn       { background: #081422; border-color: #1c3660; color: #5880a8; }
[data-ui-theme="navy"] .wf-theme-btn:hover { background: #1c3660; color: #c8dff0; }
[data-ui-theme="navy"] .wf-theme-btn.active{ background: #1a4090; border-color: #388bfd; color: #79c0ff; }

[data-ui-theme="forest"] .spec-ctrl-bar      { background: #061008; border-color: #163d1c; }
[data-ui-theme="forest"] .spec-ctrl-divider  { background: #163d1c; }
[data-ui-theme="forest"] .wf-theme-btn       { background: #091508; border-color: #163d1c; color: #5a9860; }
[data-ui-theme="forest"] .wf-theme-btn:hover { background: #163d1c; color: #c0e8c4; }
[data-ui-theme="forest"] .wf-theme-btn.active{ background: #1a5c24; border-color: #3fb950; color: #56d364; }

[data-ui-theme="charcoal"] .spec-ctrl-bar      { background: #2a2d33; border-color: #484f5a; }
[data-ui-theme="charcoal"] .spec-ctrl-divider  { background: #484f5a; }
[data-ui-theme="charcoal"] .wf-theme-btn       { background: #3c4048; border-color: #484f5a; color: #a0a8b4; }
[data-ui-theme="charcoal"] .wf-theme-btn:hover { background: #484f5a; color: #e4e8ee; }
[data-ui-theme="charcoal"] .wf-theme-btn.active{ background: #2a4a80; border-color: #5a8fd8; color: #c0d8f8; }

[data-ui-theme="warm"] .spec-ctrl-bar      { background: #26221c; border-color: #504030; }
[data-ui-theme="warm"] .spec-ctrl-divider  { background: #504030; }
[data-ui-theme="warm"] .wf-theme-btn       { background: #3a3028; border-color: #504030; color: #a09080; }
[data-ui-theme="warm"] .wf-theme-btn:hover { background: #504030; color: #efe8dc; }
[data-ui-theme="warm"] .wf-theme-btn.active{ background: #8a6010; border-color: #c49030; color: #ffe090; }

[data-ui-theme="parchment"] .spec-ctrl-bar      { background: #ecdfc4; border-color: #c0a870; }
[data-ui-theme="parchment"] .spec-ctrl-divider  { background: #c0a870; }
[data-ui-theme="parchment"] .wf-theme-btn       { background: #ddd0a0; border-color: #c0a870; color: #806040; }
[data-ui-theme="parchment"] .wf-theme-btn:hover { background: #c8b890; color: #2c1e0e; }
[data-ui-theme="parchment"] .wf-theme-btn.active{ background: #b07830; border-color: #8a5c1c; color: #fff8e8; }

[data-ui-theme="daylight"] .spec-ctrl-bar      { background: #dde3ea; border-color: #c0cad4; }
[data-ui-theme="daylight"] .spec-ctrl-divider  { background: #c0cad4; }
[data-ui-theme="daylight"] .wf-theme-btn       { background: #e8edf3; border-color: #c0cad4; color: #506888; }
[data-ui-theme="daylight"] .wf-theme-btn:hover { background: #c0cad4; color: #1a2030; }
[data-ui-theme="daylight"] .wf-theme-btn.active{ background: #0066cc; border-color: #0050a0; color: #ffffff; }

[data-ui-theme="packers"] .spec-ctrl-bar      { background: #1a2e26; border-color: #2e5c40; }
[data-ui-theme="packers"] .spec-ctrl-divider  { background: #2e5c40; }
[data-ui-theme="packers"] .wf-theme-btn       { background: #183028; border-color: #2e5c40; color: #7ab890; }
[data-ui-theme="packers"] .wf-theme-btn:hover { background: #2e5c40; color: #f0f0e0; }
[data-ui-theme="packers"] .wf-theme-btn.active{ background: #FFB612; border-color: #d49000; color: #1a2e26; }

/* ── PER-THEME BUTTON OVERRIDES ──
   Covers: .band-btn/.active  .mode-btn/.active  .sbtn/.active
           .f-btn/.active  .chip/.on  .vbtn
   PTT (red) and TUNE (amber) keep their universal danger/caution colors in all themes. */

/* Midnight — amber accent */
[data-ui-theme="midnight"] .band-btn         { background: #28201a; border-color: #332810; color: #c0a878; }
[data-ui-theme="midnight"] .band-btn.active  { background: #8b6010; border-color: #c49020; color: #ffe090; }
[data-ui-theme="midnight"] .band-btn:hover   { background: #3d3020; color: #ede8e0; }
[data-ui-theme="midnight"] .mode-btn         { background: #28201a; border-color: #332810; color: #c0a878; }
[data-ui-theme="midnight"] .mode-btn.active  { background: #8b6010; border-color: #c49020; color: #ffe090; }
[data-ui-theme="midnight"] .mode-btn:hover   { background: #3d3020; color: #ede8e0; }
[data-ui-theme="midnight"] .sbtn             { background: #28201a; border-color: #332810; color: #c0a878; }
[data-ui-theme="midnight"] .sbtn.active      { background: #8b6010; border-color: #c49020; color: #ffe090; }
[data-ui-theme="midnight"] .f-btn            { background: #28201a; border-color: #332810; color: #c0a878; }
[data-ui-theme="midnight"] .f-btn.active     { background: #8b6010; border-color: #c49020; color: #ffe090; }
[data-ui-theme="midnight"] .chip             { background: #28201a; border-color: #332810; color: #c0a878; }
[data-ui-theme="midnight"] .chip.on          { background: #3a2e08; border-color: #c49020; color: #ffe090; }
[data-ui-theme="midnight"] .vbtn             { background: #28201a; border-color: #332810; color: #c0a878; }
[data-ui-theme="midnight"] .vbtn:hover       { background: #3d3020; color: #ede8e0; }

/* Navy — blue accent */
[data-ui-theme="navy"] .band-btn         { background: #081422; border-color: #1c3660; color: #6898c8; }
[data-ui-theme="navy"] .band-btn.active  { background: #1a4090; border-color: #388bfd; color: #a5d6ff; }
[data-ui-theme="navy"] .band-btn:hover   { background: #1c3660; color: #c8dff0; }
[data-ui-theme="navy"] .mode-btn         { background: #081422; border-color: #1c3660; color: #6898c8; }
[data-ui-theme="navy"] .mode-btn.active  { background: #1a4090; border-color: #388bfd; color: #a5d6ff; }
[data-ui-theme="navy"] .mode-btn:hover   { background: #1c3660; color: #c8dff0; }
[data-ui-theme="navy"] .sbtn             { background: #081422; border-color: #1c3660; color: #6898c8; }
[data-ui-theme="navy"] .sbtn.active      { background: #1a4090; border-color: #388bfd; color: #a5d6ff; }
[data-ui-theme="navy"] .f-btn            { background: #081422; border-color: #1c3660; color: #6898c8; }
[data-ui-theme="navy"] .f-btn.active     { background: #1a4090; border-color: #388bfd; color: #a5d6ff; }
[data-ui-theme="navy"] .chip             { background: #081422; border-color: #1c3660; color: #6898c8; }
[data-ui-theme="navy"] .chip.on          { background: #0a2040; border-color: #388bfd; color: #79c0ff; }
[data-ui-theme="navy"] .vbtn             { background: #081422; border-color: #1c3660; color: #6898c8; }
[data-ui-theme="navy"] .vbtn:hover       { background: #1c3660; color: #c8dff0; }

/* Forest — green accent */
[data-ui-theme="forest"] .band-btn         { background: #091508; border-color: #163d1c; color: #60a868; }
[data-ui-theme="forest"] .band-btn.active  { background: #1a5c24; border-color: #3fb950; color: #7ce895; }
[data-ui-theme="forest"] .band-btn:hover   { background: #163d1c; color: #c0e8c4; }
[data-ui-theme="forest"] .mode-btn         { background: #091508; border-color: #163d1c; color: #60a868; }
[data-ui-theme="forest"] .mode-btn.active  { background: #1a5c24; border-color: #3fb950; color: #7ce895; }
[data-ui-theme="forest"] .mode-btn:hover   { background: #163d1c; color: #c0e8c4; }
[data-ui-theme="forest"] .sbtn             { background: #091508; border-color: #163d1c; color: #60a868; }
[data-ui-theme="forest"] .sbtn.active      { background: #1a5c24; border-color: #3fb950; color: #7ce895; }
[data-ui-theme="forest"] .f-btn            { background: #091508; border-color: #163d1c; color: #60a868; }
[data-ui-theme="forest"] .f-btn.active     { background: #1a5c24; border-color: #3fb950; color: #7ce895; }
[data-ui-theme="forest"] .chip             { background: #091508; border-color: #163d1c; color: #60a868; }
[data-ui-theme="forest"] .chip.on          { background: #0d3012; border-color: #3fb950; color: #56d364; }
[data-ui-theme="forest"] .vbtn             { background: #091508; border-color: #163d1c; color: #60a868; }
[data-ui-theme="forest"] .vbtn:hover       { background: #163d1c; color: #c0e8c4; }

/* Charcoal — steel blue accent */
[data-ui-theme="charcoal"] .band-btn         { background: #33373f; border-color: #484f5a; color: #a0a8b4; }
[data-ui-theme="charcoal"] .band-btn.active  { background: #2a4a80; border-color: #5a8fd8; color: #c0d8f8; }
[data-ui-theme="charcoal"] .band-btn:hover   { background: #484f5a; color: #e4e8ee; }
[data-ui-theme="charcoal"] .mode-btn         { background: #33373f; border-color: #484f5a; color: #a0a8b4; }
[data-ui-theme="charcoal"] .mode-btn.active  { background: #2a4a80; border-color: #5a8fd8; color: #c0d8f8; }
[data-ui-theme="charcoal"] .mode-btn:hover   { background: #484f5a; color: #e4e8ee; }
[data-ui-theme="charcoal"] .sbtn             { background: #33373f; border-color: #484f5a; color: #a0a8b4; }
[data-ui-theme="charcoal"] .sbtn.active      { background: #2a4a80; border-color: #5a8fd8; color: #c0d8f8; }
[data-ui-theme="charcoal"] .f-btn            { background: #33373f; border-color: #484f5a; color: #a0a8b4; }
[data-ui-theme="charcoal"] .f-btn.active     { background: #2a4a80; border-color: #5a8fd8; color: #c0d8f8; }
[data-ui-theme="charcoal"] .chip             { background: #33373f; border-color: #484f5a; color: #a0a8b4; }
[data-ui-theme="charcoal"] .chip.on          { background: #1a3a60; border-color: #5a8fd8; color: #c0d8f8; }
[data-ui-theme="charcoal"] .vbtn             { background: #33373f; border-color: #484f5a; color: #a0a8b4; }
[data-ui-theme="charcoal"] .vbtn:hover       { background: #484f5a; color: #e4e8ee; }

/* Warm — amber accent */
[data-ui-theme="warm"] .band-btn         { background: #3a3028; border-color: #504030; color: #b09070; }
[data-ui-theme="warm"] .band-btn.active  { background: #8a6010; border-color: #c49030; color: #ffe090; }
[data-ui-theme="warm"] .band-btn:hover   { background: #504030; color: #efe8dc; }
[data-ui-theme="warm"] .mode-btn         { background: #3a3028; border-color: #504030; color: #b09070; }
[data-ui-theme="warm"] .mode-btn.active  { background: #8a6010; border-color: #c49030; color: #ffe090; }
[data-ui-theme="warm"] .mode-btn:hover   { background: #504030; color: #efe8dc; }
[data-ui-theme="warm"] .sbtn             { background: #3a3028; border-color: #504030; color: #b09070; }
[data-ui-theme="warm"] .sbtn.active      { background: #8a6010; border-color: #c49030; color: #ffe090; }
[data-ui-theme="warm"] .f-btn            { background: #3a3028; border-color: #504030; color: #b09070; }
[data-ui-theme="warm"] .f-btn.active     { background: #8a6010; border-color: #c49030; color: #ffe090; }
[data-ui-theme="warm"] .chip             { background: #3a3028; border-color: #504030; color: #b09070; }
[data-ui-theme="warm"] .chip.on          { background: #3a2808; border-color: #c49030; color: #ffe090; }
[data-ui-theme="warm"] .vbtn             { background: #3a3028; border-color: #504030; color: #b09070; }
[data-ui-theme="warm"] .vbtn:hover       { background: #504030; color: #efe8dc; }

/* Parchment — brown accent; light base for all buttons */
[data-ui-theme="parchment"] .band-btn.active  { background: #b07830; border-color: #8a5c1c; color: #fff8e8; }
[data-ui-theme="parchment"] .band-btn:hover   { background: #c8b890; color: #2c1e0e; }
[data-ui-theme="parchment"] .f-btn            { background: #ddd0a0; border-color: #c0a870; color: #5a3a18; }
[data-ui-theme="parchment"] .f-btn.active     { background: #b07830; border-color: #8a5c1c; color: #fff8e8; }
[data-ui-theme="parchment"] .f-btn:hover      { background: #c8b890; color: #2c1e0e; }
[data-ui-theme="parchment"] .chip             { background: #ddd0a0; border-color: #c0a870; color: #5a3a18; }
[data-ui-theme="parchment"] .chip:hover       { background: #c8b890; color: #2c1e0e; }
[data-ui-theme="parchment"] .chip.on          { background: #8a5c1c; border-color: #b07830; color: #fff8e8; }
[data-ui-theme="parchment"] .chip.amber       { background: #8a5c1c; border-color: #b07830; color: #fff8e8; }
[data-ui-theme="parchment"] .chip.blue        { background: #3a5c8a; border-color: #5a8fd8; color: #c0d8f8; }
[data-ui-theme="parchment"] .vbtn             { background: #ddd0a0; border-color: #c0a870; color: #5a3a18; }
[data-ui-theme="parchment"] .vbtn:hover       { background: #c8b890; color: #2c1e0e; border-color: #b07830; }
[data-ui-theme="parchment"] .ptt-btn          { background: #ddd0a0; border-color: #c0a870; color: #8b2010; }
[data-ui-theme="parchment"] .tune-btn         { background: #ddd0a0; border-color: #c0a870; color: #6b4010; }

/* Daylight — blue accent; light base for all buttons */
[data-ui-theme="daylight"] .band-btn.active  { background: #0066cc; border-color: #0050a0; color: #ffffff; }
[data-ui-theme="daylight"] .band-btn:hover   { background: #c0cad4; color: #1a2030; }
[data-ui-theme="daylight"] .f-btn            { background: #dde3ea; border-color: #b0bcc8; color: #304060; }
[data-ui-theme="daylight"] .f-btn.active     { background: #0066cc; border-color: #0050a0; color: #ffffff; }
[data-ui-theme="daylight"] .f-btn:hover      { background: #c0cad4; color: #1a2030; }
[data-ui-theme="daylight"] .chip             { background: #dde3ea; border-color: #b0bcc8; color: #304060; }
[data-ui-theme="daylight"] .chip:hover       { background: #c0cad4; color: #1a2030; }
[data-ui-theme="daylight"] .chip.on          { background: #0d4020; border-color: #3fb950; color: #7ce895; }
[data-ui-theme="daylight"] .chip.amber       { background: #4a3000; border-color: #e3b341; color: #ffe090; }
[data-ui-theme="daylight"] .chip.blue        { background: #0066cc; border-color: #0050a0; color: #ffffff; }
[data-ui-theme="daylight"] .vbtn             { background: #dde3ea; border-color: #b0bcc8; color: #304060; }
[data-ui-theme="daylight"] .vbtn:hover       { background: #c0cad4; color: #1a2030; border-color: #0066cc; }
[data-ui-theme="daylight"] .ptt-btn          { background: #dde3ea; border-color: #b0bcc8; color: #8b1010; }
[data-ui-theme="daylight"] .tune-btn         { background: #dde3ea; border-color: #b0bcc8; color: #704000; }

/* Packers — gold accent; dark green base */
[data-ui-theme="packers"] .band-btn.active  { background: #FFB612; border-color: #d49000; color: #1a2e26; }
[data-ui-theme="packers"] .band-btn:hover   { background: #2e5c40; color: #f0f0e0; }
[data-ui-theme="packers"] .f-btn            { background: #183028; border-color: #2e5c40; color: #90c8a0; }
[data-ui-theme="packers"] .f-btn.active     { background: #FFB612; border-color: #d49000; color: #1a2e26; }
[data-ui-theme="packers"] .f-btn:hover      { background: #2e5c40; color: #f0f0e0; }
[data-ui-theme="packers"] .chip             { background: #183028; border-color: #2e5c40; color: #90c8a0; }
[data-ui-theme="packers"] .chip:hover       { background: #2e5c40; color: #f0f0e0; }
[data-ui-theme="packers"] .chip.on          { background: #4a5c10; border-color: #FFB612; color: #FFB612; }
[data-ui-theme="packers"] .chip.amber       { background: #4a3800; border-color: #FFB612; color: #FFB612; }
[data-ui-theme="packers"] .chip.blue        { background: #0a2050; border-color: #388bfd; color: #79c0ff; }
[data-ui-theme="packers"] .vbtn             { background: #183028; border-color: #2e5c40; color: #90c8a0; }
[data-ui-theme="packers"] .vbtn:hover       { background: #2e5c40; color: #f0f0e0; border-color: #FFB612; }

/* ══════════════════════════════════════════════════════════════════
   NFL TEAM THEMES  ·  All 31 non-Packers teams
   Pattern: dark bg → panel bg → border → accent → label → text
   ══════════════════════════════════════════════════════════════════ */

/* ── AFC EAST ── */

/* Bills — royal blue #00338D + red #C60C30 */
[data-ui-theme="bills"] body              { background: #081c38; color: #e0e8f8; }
[data-ui-theme="bills"] .top-bar          { background: #0a2848; border-color: #1a4488; }
[data-ui-theme="bills"] .freq-row         { background: #0a2848; border-color: #1a4488; }
[data-ui-theme="bills"] .side-panel       { background: #081c38; border-color: #1a4488; }
[data-ui-theme="bills"] .center           { background: #081c38; }
[data-ui-theme="bills"] .dock-panel       { background: #0a2848; border-color: #1a4488; }
[data-ui-theme="bills"] .dock-handle      { background: #061428; border-color: #1a4488; }
[data-ui-theme="bills"] .modal-box        { background: #0a2848; border-color: #1a4488; }
[data-ui-theme="bills"] .modal-in         { background: #081c38; border-color: #1a4488; color: #e0e8f8; }
[data-ui-theme="bills"] .conn-input       { background: #081c38; border-color: #1a4488; color: #e0e8f8; }
[data-ui-theme="bills"] .btn-connect      { background: #0a2848; border-color: #1a4488; color: #e0e8f8; }
[data-ui-theme="bills"] .tci-log          { background: #081c38; border-color: #1a4488; color: #e0e8f8; }
[data-ui-theme="bills"] .smeter-readout   { background: #0a2848; }
[data-ui-theme="bills"] .led-meter-wrap   { background: #0a2848; border-color: #1a4488; }
[data-ui-theme="bills"] .center-dock      { background: #091e40; border-color: #1a4488; }
[data-ui-theme="bills"] .freq-dock        { background: #0a2848; border-color: #1a4488; }
[data-ui-theme="bills"] .dock-title       { color: #C60C30; }
[data-ui-theme="bills"] .ctrl-lbl         { color: #6688cc; }
[data-ui-theme="bills"] .ctrl-val         { color: #C60C30; }
[data-ui-theme="bills"] .ctrl-head        { color: #e0e8f8; }
[data-ui-theme="bills"] .modal-title      { color: #C60C30; }
[data-ui-theme="bills"] .modal-lbl        { color: #6688cc; }
[data-ui-theme="bills"] .modal-row label  { color: #e0e8f8; }
[data-ui-theme="bills"] .modal-close      { color: #6688cc; }
[data-ui-theme="bills"] .vfo-freq         { color: #C60C30; }
[data-ui-theme="bills"] .vfo-freq .mhz    { color: #ff4060; }
[data-ui-theme="bills"] .vfo-freq.secondary { color: #6688cc; }
[data-ui-theme="bills"] .callsign         { color: #6688cc; }
[data-ui-theme="bills"] .status-label     { color: #56d364; }
[data-ui-theme="bills"] .sbtn             { background: #061428; border-color: #1a4488; color: #e0e8f8; }
[data-ui-theme="bills"] .sbtn.active      { background: #C60C30; border-color: #9a0020; color: #ffffff; }
[data-ui-theme="bills"] .mbtn             { background: #061428; border-color: #1a4488; color: #e0e8f8; }
[data-ui-theme="bills"] .mbtn.pri         { background: #C60C30; border-color: #9a0020; color: #ffffff; }
[data-ui-theme="bills"] .band-btn         { background: #061428; border-color: #1a4488; color: #6688cc; }
[data-ui-theme="bills"] .mode-btn         { background: #061428; border-color: #1a4488; color: #6688cc; }
[data-ui-theme="bills"] .mode-btn.active  { background: #C60C30; border-color: #9a0020; color: #ffffff; }
[data-ui-theme="bills"] input[type=range] { background: #1a4488; }
[data-ui-theme="bills"] input[type=range]::-webkit-slider-thumb { background: #C60C30; border-color: #081c38; }
[data-ui-theme="bills"] input[type=range]::-moz-range-thumb     { background: #C60C30; border-color: #081c38; }
[data-ui-theme="bills"] .spec-ctrl-bar    { background: #081c38; border-color: #1a4488; }
[data-ui-theme="bills"] .spec-ctrl-divider { background: #1a4488; }
[data-ui-theme="bills"] .wf-theme-btn     { background: #061428; border-color: #1a4488; color: #6688cc; }
[data-ui-theme="bills"] .wf-theme-btn:hover { background: #1a4488; color: #e0e8f8; }
[data-ui-theme="bills"] .wf-theme-btn.active { background: #C60C30; border-color: #9a0020; color: #ffffff; }
[data-ui-theme="bills"] .band-btn.active  { background: #C60C30; border-color: #9a0020; color: #ffffff; }
[data-ui-theme="bills"] .band-btn:hover   { background: #1a4488; color: #e0e8f8; }
[data-ui-theme="bills"] .f-btn            { background: #061428; border-color: #1a4488; color: #6688cc; }
[data-ui-theme="bills"] .f-btn.active     { background: #C60C30; border-color: #9a0020; color: #ffffff; }
[data-ui-theme="bills"] .f-btn:hover      { background: #1a4488; color: #e0e8f8; }
[data-ui-theme="bills"] .chip             { background: #061428; border-color: #1a4488; color: #6688cc; }
[data-ui-theme="bills"] .chip:hover       { background: #1a4488; color: #e0e8f8; }
[data-ui-theme="bills"] .chip.on          { background: #1a0010; border-color: #C60C30; color: #ff4060; }
[data-ui-theme="bills"] .chip.amber       { background: #3a2000; border-color: #e3b341; color: #ffe090; }
[data-ui-theme="bills"] .chip.blue        { background: #0a2050; border-color: #388bfd; color: #79c0ff; }
[data-ui-theme="bills"] .vbtn             { background: #061428; border-color: #1a4488; color: #6688cc; }
[data-ui-theme="bills"] .vbtn:hover       { background: #1a4488; color: #e0e8f8; border-color: #C60C30; }

/* Dolphins — teal + orange */
[data-ui-theme="dolphins"] body              { background: #003038; color: #e0f8f8; }
[data-ui-theme="dolphins"] .top-bar          { background: #004858; border-color: #007880; }
[data-ui-theme="dolphins"] .freq-row         { background: #004858; border-color: #007880; }
[data-ui-theme="dolphins"] .side-panel       { background: #003038; border-color: #007880; }
[data-ui-theme="dolphins"] .center           { background: #003038; }
[data-ui-theme="dolphins"] .dock-panel       { background: #004858; border-color: #007880; }
[data-ui-theme="dolphins"] .dock-handle      { background: #002838; border-color: #007880; }
[data-ui-theme="dolphins"] .modal-box        { background: #004858; border-color: #007880; }
[data-ui-theme="dolphins"] .modal-in         { background: #003038; border-color: #007880; color: #e0f8f8; }
[data-ui-theme="dolphins"] .conn-input       { background: #003038; border-color: #007880; color: #e0f8f8; }
[data-ui-theme="dolphins"] .btn-connect      { background: #004858; border-color: #007880; color: #e0f8f8; }
[data-ui-theme="dolphins"] .tci-log          { background: #003038; border-color: #007880; color: #e0f8f8; }
[data-ui-theme="dolphins"] .smeter-readout   { background: #004858; }
[data-ui-theme="dolphins"] .led-meter-wrap   { background: #004858; border-color: #007880; }
[data-ui-theme="dolphins"] .center-dock      { background: #003840; border-color: #007880; }
[data-ui-theme="dolphins"] .freq-dock        { background: #004858; border-color: #007880; }
[data-ui-theme="dolphins"] .dock-title       { color: #FC4C02; }
[data-ui-theme="dolphins"] .ctrl-lbl         { color: #40c0b0; }
[data-ui-theme="dolphins"] .ctrl-val         { color: #FC4C02; }
[data-ui-theme="dolphins"] .ctrl-head        { color: #e0f8f8; }
[data-ui-theme="dolphins"] .modal-title      { color: #FC4C02; }
[data-ui-theme="dolphins"] .modal-lbl        { color: #40c0b0; }
[data-ui-theme="dolphins"] .modal-row label  { color: #e0f8f8; }
[data-ui-theme="dolphins"] .modal-close      { color: #40c0b0; }
[data-ui-theme="dolphins"] .vfo-freq         { color: #FC4C02; }
[data-ui-theme="dolphins"] .vfo-freq .mhz    { color: #ff7040; }
[data-ui-theme="dolphins"] .vfo-freq.secondary { color: #40c0b0; }
[data-ui-theme="dolphins"] .callsign         { color: #40c0b0; }
[data-ui-theme="dolphins"] .status-label     { color: #56d364; }
[data-ui-theme="dolphins"] .sbtn             { background: #002838; border-color: #007880; color: #e0f8f8; }
[data-ui-theme="dolphins"] .sbtn.active      { background: #FC4C02; border-color: #c83800; color: #ffffff; }
[data-ui-theme="dolphins"] .mbtn             { background: #002838; border-color: #007880; color: #e0f8f8; }
[data-ui-theme="dolphins"] .mbtn.pri         { background: #FC4C02; border-color: #c83800; color: #ffffff; }
[data-ui-theme="dolphins"] .band-btn         { background: #002838; border-color: #007880; color: #40c0b0; }
[data-ui-theme="dolphins"] .mode-btn         { background: #002838; border-color: #007880; color: #40c0b0; }
[data-ui-theme="dolphins"] .mode-btn.active  { background: #FC4C02; border-color: #c83800; color: #ffffff; }
[data-ui-theme="dolphins"] input[type=range] { background: #007880; }
[data-ui-theme="dolphins"] input[type=range]::-webkit-slider-thumb { background: #FC4C02; border-color: #003038; }
[data-ui-theme="dolphins"] input[type=range]::-moz-range-thumb     { background: #FC4C02; border-color: #003038; }
[data-ui-theme="dolphins"] .spec-ctrl-bar    { background: #003038; border-color: #007880; }
[data-ui-theme="dolphins"] .spec-ctrl-divider { background: #007880; }
[data-ui-theme="dolphins"] .wf-theme-btn     { background: #002838; border-color: #007880; color: #40c0b0; }
[data-ui-theme="dolphins"] .wf-theme-btn:hover { background: #007880; color: #e0f8f8; }
[data-ui-theme="dolphins"] .wf-theme-btn.active { background: #FC4C02; border-color: #c83800; color: #ffffff; }
[data-ui-theme="dolphins"] .band-btn.active  { background: #FC4C02; border-color: #c83800; color: #ffffff; }
[data-ui-theme="dolphins"] .band-btn:hover   { background: #007880; color: #e0f8f8; }
[data-ui-theme="dolphins"] .f-btn            { background: #002838; border-color: #007880; color: #40c0b0; }
[data-ui-theme="dolphins"] .f-btn.active     { background: #FC4C02; border-color: #c83800; color: #ffffff; }
[data-ui-theme="dolphins"] .f-btn:hover      { background: #007880; color: #e0f8f8; }
[data-ui-theme="dolphins"] .chip             { background: #002838; border-color: #007880; color: #40c0b0; }
[data-ui-theme="dolphins"] .chip:hover       { background: #007880; color: #e0f8f8; }
[data-ui-theme="dolphins"] .chip.on          { background: #001c18; border-color: #FC4C02; color: #FC4C02; }
[data-ui-theme="dolphins"] .chip.amber       { background: #3a2000; border-color: #e3b341; color: #ffe090; }
[data-ui-theme="dolphins"] .chip.blue        { background: #0a2050; border-color: #388bfd; color: #79c0ff; }
[data-ui-theme="dolphins"] .vbtn             { background: #002838; border-color: #007880; color: #40c0b0; }
[data-ui-theme="dolphins"] .vbtn:hover       { background: #007880; color: #e0f8f8; border-color: #FC4C02; }

/* Patriots — navy + red */
[data-ui-theme="patriots"] body              { background: #001230; color: #d8e8f8; }
[data-ui-theme="patriots"] .top-bar          { background: #002244; border-color: #1a3366; }
[data-ui-theme="patriots"] .freq-row         { background: #002244; border-color: #1a3366; }
[data-ui-theme="patriots"] .side-panel       { background: #001230; border-color: #1a3366; }
[data-ui-theme="patriots"] .center           { background: #001230; }
[data-ui-theme="patriots"] .dock-panel       { background: #002244; border-color: #1a3366; }
[data-ui-theme="patriots"] .dock-handle      { background: #000c20; border-color: #1a3366; }
[data-ui-theme="patriots"] .modal-box        { background: #002244; border-color: #1a3366; }
[data-ui-theme="patriots"] .modal-in         { background: #001230; border-color: #1a3366; color: #d8e8f8; }
[data-ui-theme="patriots"] .conn-input       { background: #001230; border-color: #1a3366; color: #d8e8f8; }
[data-ui-theme="patriots"] .btn-connect      { background: #002244; border-color: #1a3366; color: #d8e8f8; }
[data-ui-theme="patriots"] .tci-log          { background: #001230; border-color: #1a3366; color: #d8e8f8; }
[data-ui-theme="patriots"] .smeter-readout   { background: #002244; }
[data-ui-theme="patriots"] .led-meter-wrap   { background: #002244; border-color: #1a3366; }
[data-ui-theme="patriots"] .center-dock      { background: #001a38; border-color: #1a3366; }
[data-ui-theme="patriots"] .freq-dock        { background: #002244; border-color: #1a3366; }
[data-ui-theme="patriots"] .dock-title       { color: #C60C30; }
[data-ui-theme="patriots"] .ctrl-lbl         { color: #5577aa; }
[data-ui-theme="patriots"] .ctrl-val         { color: #C60C30; }
[data-ui-theme="patriots"] .ctrl-head        { color: #d8e8f8; }
[data-ui-theme="patriots"] .modal-title      { color: #C60C30; }
[data-ui-theme="patriots"] .modal-lbl        { color: #5577aa; }
[data-ui-theme="patriots"] .modal-row label  { color: #d8e8f8; }
[data-ui-theme="patriots"] .modal-close      { color: #5577aa; }
[data-ui-theme="patriots"] .vfo-freq         { color: #C60C30; }
[data-ui-theme="patriots"] .vfo-freq .mhz    { color: #ff4060; }
[data-ui-theme="patriots"] .vfo-freq.secondary { color: #5577aa; }
[data-ui-theme="patriots"] .callsign         { color: #5577aa; }
[data-ui-theme="patriots"] .status-label     { color: #56d364; }
[data-ui-theme="patriots"] .sbtn             { background: #000c20; border-color: #1a3366; color: #d8e8f8; }
[data-ui-theme="patriots"] .sbtn.active      { background: #C60C30; border-color: #9a0020; color: #ffffff; }
[data-ui-theme="patriots"] .mbtn             { background: #000c20; border-color: #1a3366; color: #d8e8f8; }
[data-ui-theme="patriots"] .mbtn.pri         { background: #C60C30; border-color: #9a0020; color: #ffffff; }
[data-ui-theme="patriots"] .band-btn         { background: #000c20; border-color: #1a3366; color: #5577aa; }
[data-ui-theme="patriots"] .mode-btn         { background: #000c20; border-color: #1a3366; color: #5577aa; }
[data-ui-theme="patriots"] .mode-btn.active  { background: #C60C30; border-color: #9a0020; color: #ffffff; }
[data-ui-theme="patriots"] input[type=range] { background: #1a3366; }
[data-ui-theme="patriots"] input[type=range]::-webkit-slider-thumb { background: #C60C30; border-color: #001230; }
[data-ui-theme="patriots"] input[type=range]::-moz-range-thumb     { background: #C60C30; border-color: #001230; }
[data-ui-theme="patriots"] .spec-ctrl-bar    { background: #001230; border-color: #1a3366; }
[data-ui-theme="patriots"] .spec-ctrl-divider { background: #1a3366; }
[data-ui-theme="patriots"] .wf-theme-btn     { background: #000c20; border-color: #1a3366; color: #5577aa; }
[data-ui-theme="patriots"] .wf-theme-btn:hover { background: #1a3366; color: #d8e8f8; }
[data-ui-theme="patriots"] .wf-theme-btn.active { background: #C60C30; border-color: #9a0020; color: #ffffff; }
[data-ui-theme="patriots"] .band-btn.active  { background: #C60C30; border-color: #9a0020; color: #ffffff; }
[data-ui-theme="patriots"] .band-btn:hover   { background: #1a3366; color: #d8e8f8; }
[data-ui-theme="patriots"] .f-btn            { background: #000c20; border-color: #1a3366; color: #5577aa; }
[data-ui-theme="patriots"] .f-btn.active     { background: #C60C30; border-color: #9a0020; color: #ffffff; }
[data-ui-theme="patriots"] .f-btn:hover      { background: #1a3366; color: #d8e8f8; }
[data-ui-theme="patriots"] .chip             { background: #000c20; border-color: #1a3366; color: #5577aa; }
[data-ui-theme="patriots"] .chip:hover       { background: #1a3366; color: #d8e8f8; }
[data-ui-theme="patriots"] .chip.on          { background: #1a0010; border-color: #C60C30; color: #ff4060; }
[data-ui-theme="patriots"] .chip.amber       { background: #3a2000; border-color: #e3b341; color: #ffe090; }
[data-ui-theme="patriots"] .chip.blue        { background: #0a2050; border-color: #388bfd; color: #79c0ff; }
[data-ui-theme="patriots"] .vbtn             { background: #000c20; border-color: #1a3366; color: #5577aa; }
[data-ui-theme="patriots"] .vbtn:hover       { background: #1a3366; color: #d8e8f8; border-color: #C60C30; }

/* Jets — dark green + white */
[data-ui-theme="jets"] body              { background: #0a1c14; color: #e8f8f0; }
[data-ui-theme="jets"] .top-bar          { background: #125740; border-color: #1e7050; }
[data-ui-theme="jets"] .freq-row         { background: #125740; border-color: #1e7050; }
[data-ui-theme="jets"] .side-panel       { background: #0a1c14; border-color: #1e7050; }
[data-ui-theme="jets"] .center           { background: #0a1c14; }
[data-ui-theme="jets"] .dock-panel       { background: #125740; border-color: #1e7050; }
[data-ui-theme="jets"] .dock-handle      { background: #081408; border-color: #1e7050; }
[data-ui-theme="jets"] .modal-box        { background: #125740; border-color: #1e7050; }
[data-ui-theme="jets"] .modal-in         { background: #0a1c14; border-color: #1e7050; color: #e8f8f0; }
[data-ui-theme="jets"] .conn-input       { background: #0a1c14; border-color: #1e7050; color: #e8f8f0; }
[data-ui-theme="jets"] .btn-connect      { background: #125740; border-color: #1e7050; color: #e8f8f0; }
[data-ui-theme="jets"] .tci-log          { background: #0a1c14; border-color: #1e7050; color: #e8f8f0; }
[data-ui-theme="jets"] .smeter-readout   { background: #125740; }
[data-ui-theme="jets"] .led-meter-wrap   { background: #125740; border-color: #1e7050; }
[data-ui-theme="jets"] .center-dock      { background: #0e2018; border-color: #1e7050; }
[data-ui-theme="jets"] .freq-dock        { background: #125740; border-color: #1e7050; }
[data-ui-theme="jets"] .dock-title       { color: #ffffff; }
[data-ui-theme="jets"] .ctrl-lbl         { color: #60a880; }
[data-ui-theme="jets"] .ctrl-val         { color: #ffffff; }
[data-ui-theme="jets"] .ctrl-head        { color: #e8f8f0; }
[data-ui-theme="jets"] .modal-title      { color: #ffffff; }
[data-ui-theme="jets"] .modal-lbl        { color: #60a880; }
[data-ui-theme="jets"] .modal-row label  { color: #e8f8f0; }
[data-ui-theme="jets"] .modal-close      { color: #60a880; }
[data-ui-theme="jets"] .vfo-freq         { color: #7addb0; }
[data-ui-theme="jets"] .vfo-freq .mhz    { color: #a0f0d0; }
[data-ui-theme="jets"] .vfo-freq.secondary { color: #60a880; }
[data-ui-theme="jets"] .callsign         { color: #60a880; }
[data-ui-theme="jets"] .status-label     { color: #56d364; }
[data-ui-theme="jets"] .sbtn             { background: #081408; border-color: #1e7050; color: #e8f8f0; }
[data-ui-theme="jets"] .sbtn.active      { background: #1e8858; border-color: #0a1c14; color: #ffffff; }
[data-ui-theme="jets"] .mbtn             { background: #081408; border-color: #1e7050; color: #e8f8f0; }
[data-ui-theme="jets"] .mbtn.pri         { background: #1e8858; border-color: #0a1c14; color: #ffffff; }
[data-ui-theme="jets"] .band-btn         { background: #081408; border-color: #1e7050; color: #60a880; }
[data-ui-theme="jets"] .mode-btn         { background: #081408; border-color: #1e7050; color: #60a880; }
[data-ui-theme="jets"] .mode-btn.active  { background: #1e8858; border-color: #0a1c14; color: #ffffff; }
[data-ui-theme="jets"] input[type=range] { background: #1e7050; }
[data-ui-theme="jets"] input[type=range]::-webkit-slider-thumb { background: #60d0a0; border-color: #0a1c14; }
[data-ui-theme="jets"] input[type=range]::-moz-range-thumb     { background: #60d0a0; border-color: #0a1c14; }
[data-ui-theme="jets"] .spec-ctrl-bar    { background: #0a1c14; border-color: #1e7050; }
[data-ui-theme="jets"] .spec-ctrl-divider { background: #1e7050; }
[data-ui-theme="jets"] .wf-theme-btn     { background: #081408; border-color: #1e7050; color: #60a880; }
[data-ui-theme="jets"] .wf-theme-btn:hover { background: #1e7050; color: #e8f8f0; }
[data-ui-theme="jets"] .wf-theme-btn.active { background: #1e8858; border-color: #0a1c14; color: #ffffff; }
[data-ui-theme="jets"] .band-btn.active  { background: #1e8858; border-color: #0a1c14; color: #ffffff; }
[data-ui-theme="jets"] .band-btn:hover   { background: #1e7050; color: #e8f8f0; }
[data-ui-theme="jets"] .f-btn            { background: #081408; border-color: #1e7050; color: #60a880; }
[data-ui-theme="jets"] .f-btn.active     { background: #1e8858; border-color: #0a1c14; color: #ffffff; }
[data-ui-theme="jets"] .f-btn:hover      { background: #1e7050; color: #e8f8f0; }
[data-ui-theme="jets"] .chip             { background: #081408; border-color: #1e7050; color: #60a880; }
[data-ui-theme="jets"] .chip:hover       { background: #1e7050; color: #e8f8f0; }
[data-ui-theme="jets"] .chip.on          { background: #0d3020; border-color: #60d0a0; color: #60d0a0; }
[data-ui-theme="jets"] .chip.amber       { background: #3a2000; border-color: #e3b341; color: #ffe090; }
[data-ui-theme="jets"] .chip.blue        { background: #0a2050; border-color: #388bfd; color: #79c0ff; }
[data-ui-theme="jets"] .vbtn             { background: #081408; border-color: #1e7050; color: #60a880; }
[data-ui-theme="jets"] .vbtn:hover       { background: #1e7050; color: #e8f8f0; border-color: #60d0a0; }

/* ── AFC NORTH ── */

/* Ravens — deep purple + gold */
[data-ui-theme="ravens"] body              { background: #0d0828; color: #e8d8f8; }
[data-ui-theme="ravens"] .top-bar          { background: #1e1040; border-color: #382060; }
[data-ui-theme="ravens"] .freq-row         { background: #1e1040; border-color: #382060; }
[data-ui-theme="ravens"] .side-panel       { background: #0d0828; border-color: #382060; }
[data-ui-theme="ravens"] .center           { background: #0d0828; }
[data-ui-theme="ravens"] .dock-panel       { background: #1e1040; border-color: #382060; }
[data-ui-theme="ravens"] .dock-handle      { background: #080418; border-color: #382060; }
[data-ui-theme="ravens"] .modal-box        { background: #1e1040; border-color: #382060; }
[data-ui-theme="ravens"] .modal-in         { background: #0d0828; border-color: #382060; color: #e8d8f8; }
[data-ui-theme="ravens"] .conn-input       { background: #0d0828; border-color: #382060; color: #e8d8f8; }
[data-ui-theme="ravens"] .btn-connect      { background: #1e1040; border-color: #382060; color: #e8d8f8; }
[data-ui-theme="ravens"] .tci-log          { background: #0d0828; border-color: #382060; color: #e8d8f8; }
[data-ui-theme="ravens"] .smeter-readout   { background: #1e1040; }
[data-ui-theme="ravens"] .led-meter-wrap   { background: #1e1040; border-color: #382060; }
[data-ui-theme="ravens"] .center-dock      { background: #120a30; border-color: #382060; }
[data-ui-theme="ravens"] .freq-dock        { background: #1e1040; border-color: #382060; }
[data-ui-theme="ravens"] .dock-title       { color: #c9a030; }
[data-ui-theme="ravens"] .ctrl-lbl         { color: #8060c0; }
[data-ui-theme="ravens"] .ctrl-val         { color: #c9a030; }
[data-ui-theme="ravens"] .ctrl-head        { color: #e8d8f8; }
[data-ui-theme="ravens"] .modal-title      { color: #c9a030; }
[data-ui-theme="ravens"] .modal-lbl        { color: #8060c0; }
[data-ui-theme="ravens"] .modal-row label  { color: #e8d8f8; }
[data-ui-theme="ravens"] .modal-close      { color: #8060c0; }
[data-ui-theme="ravens"] .vfo-freq         { color: #c9a030; }
[data-ui-theme="ravens"] .vfo-freq .mhz    { color: #f0cc60; }
[data-ui-theme="ravens"] .vfo-freq.secondary { color: #8060c0; }
[data-ui-theme="ravens"] .callsign         { color: #8060c0; }
[data-ui-theme="ravens"] .status-label     { color: #56d364; }
[data-ui-theme="ravens"] .sbtn             { background: #080418; border-color: #382060; color: #e8d8f8; }
[data-ui-theme="ravens"] .sbtn.active      { background: #c9a030; border-color: #a07010; color: #0d0828; }
[data-ui-theme="ravens"] .mbtn             { background: #080418; border-color: #382060; color: #e8d8f8; }
[data-ui-theme="ravens"] .mbtn.pri         { background: #c9a030; border-color: #a07010; color: #0d0828; }
[data-ui-theme="ravens"] .band-btn         { background: #080418; border-color: #382060; color: #8060c0; }
[data-ui-theme="ravens"] .mode-btn         { background: #080418; border-color: #382060; color: #8060c0; }
[data-ui-theme="ravens"] .mode-btn.active  { background: #c9a030; border-color: #a07010; color: #0d0828; }
[data-ui-theme="ravens"] input[type=range] { background: #382060; }
[data-ui-theme="ravens"] input[type=range]::-webkit-slider-thumb { background: #c9a030; border-color: #0d0828; }
[data-ui-theme="ravens"] input[type=range]::-moz-range-thumb     { background: #c9a030; border-color: #0d0828; }
[data-ui-theme="ravens"] .spec-ctrl-bar    { background: #0d0828; border-color: #382060; }
[data-ui-theme="ravens"] .spec-ctrl-divider { background: #382060; }
[data-ui-theme="ravens"] .wf-theme-btn     { background: #080418; border-color: #382060; color: #8060c0; }
[data-ui-theme="ravens"] .wf-theme-btn:hover { background: #382060; color: #e8d8f8; }
[data-ui-theme="ravens"] .wf-theme-btn.active { background: #c9a030; border-color: #a07010; color: #0d0828; }
[data-ui-theme="ravens"] .band-btn.active  { background: #c9a030; border-color: #a07010; color: #0d0828; }
[data-ui-theme="ravens"] .band-btn:hover   { background: #382060; color: #e8d8f8; }
[data-ui-theme="ravens"] .f-btn            { background: #080418; border-color: #382060; color: #8060c0; }
[data-ui-theme="ravens"] .f-btn.active     { background: #c9a030; border-color: #a07010; color: #0d0828; }
[data-ui-theme="ravens"] .f-btn:hover      { background: #382060; color: #e8d8f8; }
[data-ui-theme="ravens"] .chip             { background: #080418; border-color: #382060; color: #8060c0; }
[data-ui-theme="ravens"] .chip:hover       { background: #382060; color: #e8d8f8; }
[data-ui-theme="ravens"] .chip.on          { background: #302010; border-color: #c9a030; color: #c9a030; }
[data-ui-theme="ravens"] .chip.amber       { background: #3a2000; border-color: #e3b341; color: #ffe090; }
[data-ui-theme="ravens"] .chip.blue        { background: #0a2050; border-color: #388bfd; color: #79c0ff; }
[data-ui-theme="ravens"] .vbtn             { background: #080418; border-color: #382060; color: #8060c0; }
[data-ui-theme="ravens"] .vbtn:hover       { background: #382060; color: #e8d8f8; border-color: #c9a030; }

/* Bengals — black + orange */
[data-ui-theme="bengals"] body              { background: #0c0e10; color: #f0e8e0; }
[data-ui-theme="bengals"] .top-bar          { background: #181f28; border-color: #2a3040; }
[data-ui-theme="bengals"] .freq-row         { background: #181f28; border-color: #2a3040; }
[data-ui-theme="bengals"] .side-panel       { background: #0c0e10; border-color: #2a3040; }
[data-ui-theme="bengals"] .center           { background: #0c0e10; }
[data-ui-theme="bengals"] .dock-panel       { background: #181f28; border-color: #2a3040; }
[data-ui-theme="bengals"] .dock-handle      { background: #080c10; border-color: #2a3040; }
[data-ui-theme="bengals"] .modal-box        { background: #181f28; border-color: #2a3040; }
[data-ui-theme="bengals"] .modal-in         { background: #0c0e10; border-color: #2a3040; color: #f0e8e0; }
[data-ui-theme="bengals"] .conn-input       { background: #0c0e10; border-color: #2a3040; color: #f0e8e0; }
[data-ui-theme="bengals"] .btn-connect      { background: #181f28; border-color: #2a3040; color: #f0e8e0; }
[data-ui-theme="bengals"] .tci-log          { background: #0c0e10; border-color: #2a3040; color: #f0e8e0; }
[data-ui-theme="bengals"] .smeter-readout   { background: #181f28; }
[data-ui-theme="bengals"] .led-meter-wrap   { background: #181f28; border-color: #2a3040; }
[data-ui-theme="bengals"] .center-dock      { background: #101418; border-color: #2a3040; }
[data-ui-theme="bengals"] .freq-dock        { background: #181f28; border-color: #2a3040; }
[data-ui-theme="bengals"] .dock-title       { color: #FB4F14; }
[data-ui-theme="bengals"] .ctrl-lbl         { color: #a07050; }
[data-ui-theme="bengals"] .ctrl-val         { color: #FB4F14; }
[data-ui-theme="bengals"] .ctrl-head        { color: #f0e8e0; }
[data-ui-theme="bengals"] .modal-title      { color: #FB4F14; }
[data-ui-theme="bengals"] .modal-lbl        { color: #a07050; }
[data-ui-theme="bengals"] .modal-row label  { color: #f0e8e0; }
[data-ui-theme="bengals"] .modal-close      { color: #a07050; }
[data-ui-theme="bengals"] .vfo-freq         { color: #FB4F14; }
[data-ui-theme="bengals"] .vfo-freq .mhz    { color: #ff7040; }
[data-ui-theme="bengals"] .vfo-freq.secondary { color: #a07050; }
[data-ui-theme="bengals"] .callsign         { color: #a07050; }
[data-ui-theme="bengals"] .status-label     { color: #56d364; }
[data-ui-theme="bengals"] .sbtn             { background: #080c10; border-color: #2a3040; color: #f0e8e0; }
[data-ui-theme="bengals"] .sbtn.active      { background: #FB4F14; border-color: #c83000; color: #ffffff; }
[data-ui-theme="bengals"] .mbtn             { background: #080c10; border-color: #2a3040; color: #f0e8e0; }
[data-ui-theme="bengals"] .mbtn.pri         { background: #FB4F14; border-color: #c83000; color: #ffffff; }
[data-ui-theme="bengals"] .band-btn         { background: #080c10; border-color: #2a3040; color: #a07050; }
[data-ui-theme="bengals"] .mode-btn         { background: #080c10; border-color: #2a3040; color: #a07050; }
[data-ui-theme="bengals"] .mode-btn.active  { background: #FB4F14; border-color: #c83000; color: #ffffff; }
[data-ui-theme="bengals"] input[type=range] { background: #2a3040; }
[data-ui-theme="bengals"] input[type=range]::-webkit-slider-thumb { background: #FB4F14; border-color: #0c0e10; }
[data-ui-theme="bengals"] input[type=range]::-moz-range-thumb     { background: #FB4F14; border-color: #0c0e10; }
[data-ui-theme="bengals"] .spec-ctrl-bar    { background: #0c0e10; border-color: #2a3040; }
[data-ui-theme="bengals"] .spec-ctrl-divider { background: #2a3040; }
[data-ui-theme="bengals"] .wf-theme-btn     { background: #080c10; border-color: #2a3040; color: #a07050; }
[data-ui-theme="bengals"] .wf-theme-btn:hover { background: #2a3040; color: #f0e8e0; }
[data-ui-theme="bengals"] .wf-theme-btn.active { background: #FB4F14; border-color: #c83000; color: #ffffff; }
[data-ui-theme="bengals"] .band-btn.active  { background: #FB4F14; border-color: #c83000; color: #ffffff; }
[data-ui-theme="bengals"] .band-btn:hover   { background: #2a3040; color: #f0e8e0; }
[data-ui-theme="bengals"] .f-btn            { background: #080c10; border-color: #2a3040; color: #a07050; }
[data-ui-theme="bengals"] .f-btn.active     { background: #FB4F14; border-color: #c83000; color: #ffffff; }
[data-ui-theme="bengals"] .f-btn:hover      { background: #2a3040; color: #f0e8e0; }
[data-ui-theme="bengals"] .chip             { background: #080c10; border-color: #2a3040; color: #a07050; }
[data-ui-theme="bengals"] .chip:hover       { background: #2a3040; color: #f0e8e0; }
[data-ui-theme="bengals"] .chip.on          { background: #2a1000; border-color: #FB4F14; color: #FB4F14; }
[data-ui-theme="bengals"] .chip.amber       { background: #3a2000; border-color: #e3b341; color: #ffe090; }
[data-ui-theme="bengals"] .chip.blue        { background: #0a2050; border-color: #388bfd; color: #79c0ff; }
[data-ui-theme="bengals"] .vbtn             { background: #080c10; border-color: #2a3040; color: #a07050; }
[data-ui-theme="bengals"] .vbtn:hover       { background: #2a3040; color: #f0e8e0; border-color: #FB4F14; }

/* Browns — dark brown + orange */
[data-ui-theme="browns"] body              { background: #180c00; color: #f0e0c8; }
[data-ui-theme="browns"] .top-bar          { background: #2c1800; border-color: #503000; }
[data-ui-theme="browns"] .freq-row         { background: #2c1800; border-color: #503000; }
[data-ui-theme="browns"] .side-panel       { background: #180c00; border-color: #503000; }
[data-ui-theme="browns"] .center           { background: #180c00; }
[data-ui-theme="browns"] .dock-panel       { background: #2c1800; border-color: #503000; }
[data-ui-theme="browns"] .dock-handle      { background: #100800; border-color: #503000; }
[data-ui-theme="browns"] .modal-box        { background: #2c1800; border-color: #503000; }
[data-ui-theme="browns"] .modal-in         { background: #180c00; border-color: #503000; color: #f0e0c8; }
[data-ui-theme="browns"] .conn-input       { background: #180c00; border-color: #503000; color: #f0e0c8; }
[data-ui-theme="browns"] .btn-connect      { background: #2c1800; border-color: #503000; color: #f0e0c8; }
[data-ui-theme="browns"] .tci-log          { background: #180c00; border-color: #503000; color: #f0e0c8; }
[data-ui-theme="browns"] .smeter-readout   { background: #2c1800; }
[data-ui-theme="browns"] .led-meter-wrap   { background: #2c1800; border-color: #503000; }
[data-ui-theme="browns"] .center-dock      { background: #221000; border-color: #503000; }
[data-ui-theme="browns"] .freq-dock        { background: #2c1800; border-color: #503000; }
[data-ui-theme="browns"] .dock-title       { color: #FF6a00; }
[data-ui-theme="browns"] .ctrl-lbl         { color: #c08040; }
[data-ui-theme="browns"] .ctrl-val         { color: #FF6a00; }
[data-ui-theme="browns"] .ctrl-head        { color: #f0e0c8; }
[data-ui-theme="browns"] .modal-title      { color: #FF6a00; }
[data-ui-theme="browns"] .modal-lbl        { color: #c08040; }
[data-ui-theme="browns"] .modal-row label  { color: #f0e0c8; }
[data-ui-theme="browns"] .modal-close      { color: #c08040; }
[data-ui-theme="browns"] .vfo-freq         { color: #FF6a00; }
[data-ui-theme="browns"] .vfo-freq .mhz    { color: #ff9040; }
[data-ui-theme="browns"] .vfo-freq.secondary { color: #c08040; }
[data-ui-theme="browns"] .callsign         { color: #c08040; }
[data-ui-theme="browns"] .status-label     { color: #56d364; }
[data-ui-theme="browns"] .sbtn             { background: #100800; border-color: #503000; color: #f0e0c8; }
[data-ui-theme="browns"] .sbtn.active      { background: #FF6a00; border-color: #c04a00; color: #ffffff; }
[data-ui-theme="browns"] .mbtn             { background: #100800; border-color: #503000; color: #f0e0c8; }
[data-ui-theme="browns"] .mbtn.pri         { background: #FF6a00; border-color: #c04a00; color: #ffffff; }
[data-ui-theme="browns"] .band-btn         { background: #100800; border-color: #503000; color: #c08040; }
[data-ui-theme="browns"] .mode-btn         { background: #100800; border-color: #503000; color: #c08040; }
[data-ui-theme="browns"] .mode-btn.active  { background: #FF6a00; border-color: #c04a00; color: #ffffff; }
[data-ui-theme="browns"] input[type=range] { background: #503000; }
[data-ui-theme="browns"] input[type=range]::-webkit-slider-thumb { background: #FF6a00; border-color: #180c00; }
[data-ui-theme="browns"] input[type=range]::-moz-range-thumb     { background: #FF6a00; border-color: #180c00; }
[data-ui-theme="browns"] .spec-ctrl-bar    { background: #180c00; border-color: #503000; }
[data-ui-theme="browns"] .spec-ctrl-divider { background: #503000; }
[data-ui-theme="browns"] .wf-theme-btn     { background: #100800; border-color: #503000; color: #c08040; }
[data-ui-theme="browns"] .wf-theme-btn:hover { background: #503000; color: #f0e0c8; }
[data-ui-theme="browns"] .wf-theme-btn.active { background: #FF6a00; border-color: #c04a00; color: #ffffff; }
[data-ui-theme="browns"] .band-btn.active  { background: #FF6a00; border-color: #c04a00; color: #ffffff; }
[data-ui-theme="browns"] .band-btn:hover   { background: #503000; color: #f0e0c8; }
[data-ui-theme="browns"] .f-btn            { background: #100800; border-color: #503000; color: #c08040; }
[data-ui-theme="browns"] .f-btn.active     { background: #FF6a00; border-color: #c04a00; color: #ffffff; }
[data-ui-theme="browns"] .f-btn:hover      { background: #503000; color: #f0e0c8; }
[data-ui-theme="browns"] .chip             { background: #100800; border-color: #503000; color: #c08040; }
[data-ui-theme="browns"] .chip:hover       { background: #503000; color: #f0e0c8; }
[data-ui-theme="browns"] .chip.on          { background: #2a1500; border-color: #FF6a00; color: #FF6a00; }
[data-ui-theme="browns"] .chip.amber       { background: #3a2000; border-color: #e3b341; color: #ffe090; }
[data-ui-theme="browns"] .chip.blue        { background: #0a2050; border-color: #388bfd; color: #79c0ff; }
[data-ui-theme="browns"] .vbtn             { background: #100800; border-color: #503000; color: #c08040; }
[data-ui-theme="browns"] .vbtn:hover       { background: #503000; color: #f0e0c8; border-color: #FF6a00; }

/* Steelers — black + gold */
[data-ui-theme="steelers"] body              { background: #0c0e10; color: #f0ece0; }
[data-ui-theme="steelers"] .top-bar          { background: #181c20; border-color: #303840; }
[data-ui-theme="steelers"] .freq-row         { background: #181c20; border-color: #303840; }
[data-ui-theme="steelers"] .side-panel       { background: #0c0e10; border-color: #303840; }
[data-ui-theme="steelers"] .center           { background: #0c0e10; }
[data-ui-theme="steelers"] .dock-panel       { background: #181c20; border-color: #303840; }
[data-ui-theme="steelers"] .dock-handle      { background: #080a0c; border-color: #303840; }
[data-ui-theme="steelers"] .modal-box        { background: #181c20; border-color: #303840; }
[data-ui-theme="steelers"] .modal-in         { background: #0c0e10; border-color: #303840; color: #f0ece0; }
[data-ui-theme="steelers"] .conn-input       { background: #0c0e10; border-color: #303840; color: #f0ece0; }
[data-ui-theme="steelers"] .btn-connect      { background: #181c20; border-color: #303840; color: #f0ece0; }
[data-ui-theme="steelers"] .tci-log          { background: #0c0e10; border-color: #303840; color: #f0ece0; }
[data-ui-theme="steelers"] .smeter-readout   { background: #181c20; }
[data-ui-theme="steelers"] .led-meter-wrap   { background: #181c20; border-color: #303840; }
[data-ui-theme="steelers"] .center-dock      { background: #101214; border-color: #303840; }
[data-ui-theme="steelers"] .freq-dock        { background: #181c20; border-color: #303840; }
[data-ui-theme="steelers"] .dock-title       { color: #FFB612; }
[data-ui-theme="steelers"] .ctrl-lbl         { color: #a09070; }
[data-ui-theme="steelers"] .ctrl-val         { color: #FFB612; }
[data-ui-theme="steelers"] .ctrl-head        { color: #f0ece0; }
[data-ui-theme="steelers"] .modal-title      { color: #FFB612; }
[data-ui-theme="steelers"] .modal-lbl        { color: #a09070; }
[data-ui-theme="steelers"] .modal-row label  { color: #f0ece0; }
[data-ui-theme="steelers"] .modal-close      { color: #a09070; }
[data-ui-theme="steelers"] .vfo-freq         { color: #FFB612; }
[data-ui-theme="steelers"] .vfo-freq .mhz    { color: #ffd060; }
[data-ui-theme="steelers"] .vfo-freq.secondary { color: #a09070; }
[data-ui-theme="steelers"] .callsign         { color: #a09070; }
[data-ui-theme="steelers"] .status-label     { color: #56d364; }
[data-ui-theme="steelers"] .sbtn             { background: #080a0c; border-color: #303840; color: #f0ece0; }
[data-ui-theme="steelers"] .sbtn.active      { background: #FFB612; border-color: #c88000; color: #0c0e10; }
[data-ui-theme="steelers"] .mbtn             { background: #080a0c; border-color: #303840; color: #f0ece0; }
[data-ui-theme="steelers"] .mbtn.pri         { background: #FFB612; border-color: #c88000; color: #0c0e10; }
[data-ui-theme="steelers"] .band-btn         { background: #080a0c; border-color: #303840; color: #a09070; }
[data-ui-theme="steelers"] .mode-btn         { background: #080a0c; border-color: #303840; color: #a09070; }
[data-ui-theme="steelers"] .mode-btn.active  { background: #FFB612; border-color: #c88000; color: #0c0e10; }
[data-ui-theme="steelers"] input[type=range] { background: #303840; }
[data-ui-theme="steelers"] input[type=range]::-webkit-slider-thumb { background: #FFB612; border-color: #0c0e10; }
[data-ui-theme="steelers"] input[type=range]::-moz-range-thumb     { background: #FFB612; border-color: #0c0e10; }
[data-ui-theme="steelers"] .spec-ctrl-bar    { background: #0c0e10; border-color: #303840; }
[data-ui-theme="steelers"] .spec-ctrl-divider { background: #303840; }
[data-ui-theme="steelers"] .wf-theme-btn     { background: #080a0c; border-color: #303840; color: #a09070; }
[data-ui-theme="steelers"] .wf-theme-btn:hover { background: #303840; color: #f0ece0; }
[data-ui-theme="steelers"] .wf-theme-btn.active { background: #FFB612; border-color: #c88000; color: #0c0e10; }
[data-ui-theme="steelers"] .band-btn.active  { background: #FFB612; border-color: #c88000; color: #0c0e10; }
[data-ui-theme="steelers"] .band-btn:hover   { background: #303840; color: #f0ece0; }
[data-ui-theme="steelers"] .f-btn            { background: #080a0c; border-color: #303840; color: #a09070; }
[data-ui-theme="steelers"] .f-btn.active     { background: #FFB612; border-color: #c88000; color: #0c0e10; }
[data-ui-theme="steelers"] .f-btn:hover      { background: #303840; color: #f0ece0; }
[data-ui-theme="steelers"] .chip             { background: #080a0c; border-color: #303840; color: #a09070; }
[data-ui-theme="steelers"] .chip:hover       { background: #303840; color: #f0ece0; }
[data-ui-theme="steelers"] .chip.on          { background: #2a2000; border-color: #FFB612; color: #FFB612; }
[data-ui-theme="steelers"] .chip.amber       { background: #3a2000; border-color: #e3b341; color: #ffe090; }
[data-ui-theme="steelers"] .chip.blue        { background: #0a2050; border-color: #388bfd; color: #79c0ff; }
[data-ui-theme="steelers"] .vbtn             { background: #080a0c; border-color: #303840; color: #a09070; }
[data-ui-theme="steelers"] .vbtn:hover       { background: #303840; color: #f0ece0; border-color: #FFB612; }

/* ── AFC SOUTH ── */

/* Texans — deep navy + red */
[data-ui-theme="texans"] body              { background: #020f18; color: #d0e0e8; }
[data-ui-theme="texans"] .top-bar          { background: #03202F; border-color: #0a3048; }
[data-ui-theme="texans"] .freq-row         { background: #03202F; border-color: #0a3048; }
[data-ui-theme="texans"] .side-panel       { background: #020f18; border-color: #0a3048; }
[data-ui-theme="texans"] .center           { background: #020f18; }
[data-ui-theme="texans"] .dock-panel       { background: #03202F; border-color: #0a3048; }
[data-ui-theme="texans"] .dock-handle      { background: #010810; border-color: #0a3048; }
[data-ui-theme="texans"] .modal-box        { background: #03202F; border-color: #0a3048; }
[data-ui-theme="texans"] .modal-in         { background: #020f18; border-color: #0a3048; color: #d0e0e8; }
[data-ui-theme="texans"] .conn-input       { background: #020f18; border-color: #0a3048; color: #d0e0e8; }
[data-ui-theme="texans"] .btn-connect      { background: #03202F; border-color: #0a3048; color: #d0e0e8; }
[data-ui-theme="texans"] .tci-log          { background: #020f18; border-color: #0a3048; color: #d0e0e8; }
[data-ui-theme="texans"] .smeter-readout   { background: #03202F; }
[data-ui-theme="texans"] .led-meter-wrap   { background: #03202F; border-color: #0a3048; }
[data-ui-theme="texans"] .center-dock      { background: #021520; border-color: #0a3048; }
[data-ui-theme="texans"] .freq-dock        { background: #03202F; border-color: #0a3048; }
[data-ui-theme="texans"] .dock-title       { color: #A71930; }
[data-ui-theme="texans"] .ctrl-lbl         { color: #3080a0; }
[data-ui-theme="texans"] .ctrl-val         { color: #c04060; }
[data-ui-theme="texans"] .ctrl-head        { color: #d0e0e8; }
[data-ui-theme="texans"] .modal-title      { color: #A71930; }
[data-ui-theme="texans"] .modal-lbl        { color: #3080a0; }
[data-ui-theme="texans"] .modal-row label  { color: #d0e0e8; }
[data-ui-theme="texans"] .modal-close      { color: #3080a0; }
[data-ui-theme="texans"] .vfo-freq         { color: #c04060; }
[data-ui-theme="texans"] .vfo-freq .mhz    { color: #e06080; }
[data-ui-theme="texans"] .vfo-freq.secondary { color: #3080a0; }
[data-ui-theme="texans"] .callsign         { color: #3080a0; }
[data-ui-theme="texans"] .status-label     { color: #56d364; }
[data-ui-theme="texans"] .sbtn             { background: #010810; border-color: #0a3048; color: #d0e0e8; }
[data-ui-theme="texans"] .sbtn.active      { background: #A71930; border-color: #800010; color: #ffffff; }
[data-ui-theme="texans"] .mbtn             { background: #010810; border-color: #0a3048; color: #d0e0e8; }
[data-ui-theme="texans"] .mbtn.pri         { background: #A71930; border-color: #800010; color: #ffffff; }
[data-ui-theme="texans"] .band-btn         { background: #010810; border-color: #0a3048; color: #3080a0; }
[data-ui-theme="texans"] .mode-btn         { background: #010810; border-color: #0a3048; color: #3080a0; }
[data-ui-theme="texans"] .mode-btn.active  { background: #A71930; border-color: #800010; color: #ffffff; }
[data-ui-theme="texans"] input[type=range] { background: #0a3048; }
[data-ui-theme="texans"] input[type=range]::-webkit-slider-thumb { background: #A71930; border-color: #020f18; }
[data-ui-theme="texans"] input[type=range]::-moz-range-thumb     { background: #A71930; border-color: #020f18; }
[data-ui-theme="texans"] .spec-ctrl-bar    { background: #020f18; border-color: #0a3048; }
[data-ui-theme="texans"] .spec-ctrl-divider { background: #0a3048; }
[data-ui-theme="texans"] .wf-theme-btn     { background: #010810; border-color: #0a3048; color: #3080a0; }
[data-ui-theme="texans"] .wf-theme-btn:hover { background: #0a3048; color: #d0e0e8; }
[data-ui-theme="texans"] .wf-theme-btn.active { background: #A71930; border-color: #800010; color: #ffffff; }
[data-ui-theme="texans"] .band-btn.active  { background: #A71930; border-color: #800010; color: #ffffff; }
[data-ui-theme="texans"] .band-btn:hover   { background: #0a3048; color: #d0e0e8; }
[data-ui-theme="texans"] .f-btn            { background: #010810; border-color: #0a3048; color: #3080a0; }
[data-ui-theme="texans"] .f-btn.active     { background: #A71930; border-color: #800010; color: #ffffff; }
[data-ui-theme="texans"] .f-btn:hover      { background: #0a3048; color: #d0e0e8; }
[data-ui-theme="texans"] .chip             { background: #010810; border-color: #0a3048; color: #3080a0; }
[data-ui-theme="texans"] .chip:hover       { background: #0a3048; color: #d0e0e8; }
[data-ui-theme="texans"] .chip.on          { background: #1a0010; border-color: #A71930; color: #c04060; }
[data-ui-theme="texans"] .chip.amber       { background: #3a2000; border-color: #e3b341; color: #ffe090; }
[data-ui-theme="texans"] .chip.blue        { background: #0a2050; border-color: #388bfd; color: #79c0ff; }
[data-ui-theme="texans"] .vbtn             { background: #010810; border-color: #0a3048; color: #3080a0; }
[data-ui-theme="texans"] .vbtn:hover       { background: #0a3048; color: #d0e0e8; border-color: #A71930; }

/* Colts — royal blue + silver */
[data-ui-theme="colts"] body              { background: #001530; color: #d8e4f0; }
[data-ui-theme="colts"] .top-bar          { background: #002C5F; border-color: #0a4090; }
[data-ui-theme="colts"] .freq-row         { background: #002C5F; border-color: #0a4090; }
[data-ui-theme="colts"] .side-panel       { background: #001530; border-color: #0a4090; }
[data-ui-theme="colts"] .center           { background: #001530; }
[data-ui-theme="colts"] .dock-panel       { background: #002C5F; border-color: #0a4090; }
[data-ui-theme="colts"] .dock-handle      { background: #000c20; border-color: #0a4090; }
[data-ui-theme="colts"] .modal-box        { background: #002C5F; border-color: #0a4090; }
[data-ui-theme="colts"] .modal-in         { background: #001530; border-color: #0a4090; color: #d8e4f0; }
[data-ui-theme="colts"] .conn-input       { background: #001530; border-color: #0a4090; color: #d8e4f0; }
[data-ui-theme="colts"] .btn-connect      { background: #002C5F; border-color: #0a4090; color: #d8e4f0; }
[data-ui-theme="colts"] .tci-log          { background: #001530; border-color: #0a4090; color: #d8e4f0; }
[data-ui-theme="colts"] .smeter-readout   { background: #002C5F; }
[data-ui-theme="colts"] .led-meter-wrap   { background: #002C5F; border-color: #0a4090; }
[data-ui-theme="colts"] .center-dock      { background: #001e44; border-color: #0a4090; }
[data-ui-theme="colts"] .freq-dock        { background: #002C5F; border-color: #0a4090; }
[data-ui-theme="colts"] .dock-title       { color: #A2AAAD; }
[data-ui-theme="colts"] .ctrl-lbl         { color: #5588cc; }
[data-ui-theme="colts"] .ctrl-val         { color: #A2AAAD; }
[data-ui-theme="colts"] .ctrl-head        { color: #d8e4f0; }
[data-ui-theme="colts"] .modal-title      { color: #A2AAAD; }
[data-ui-theme="colts"] .modal-lbl        { color: #5588cc; }
[data-ui-theme="colts"] .modal-row label  { color: #d8e4f0; }
[data-ui-theme="colts"] .modal-close      { color: #5588cc; }
[data-ui-theme="colts"] .vfo-freq         { color: #c8d0d4; }
[data-ui-theme="colts"] .vfo-freq .mhz    { color: #e0e8f0; }
[data-ui-theme="colts"] .vfo-freq.secondary { color: #5588cc; }
[data-ui-theme="colts"] .callsign         { color: #5588cc; }
[data-ui-theme="colts"] .status-label     { color: #56d364; }
[data-ui-theme="colts"] .sbtn             { background: #000c20; border-color: #0a4090; color: #d8e4f0; }
[data-ui-theme="colts"] .sbtn.active      { background: #A2AAAD; border-color: #707880; color: #001530; }
[data-ui-theme="colts"] .mbtn             { background: #000c20; border-color: #0a4090; color: #d8e4f0; }
[data-ui-theme="colts"] .mbtn.pri         { background: #A2AAAD; border-color: #707880; color: #001530; }
[data-ui-theme="colts"] .band-btn         { background: #000c20; border-color: #0a4090; color: #5588cc; }
[data-ui-theme="colts"] .mode-btn         { background: #000c20; border-color: #0a4090; color: #5588cc; }
[data-ui-theme="colts"] .mode-btn.active  { background: #A2AAAD; border-color: #707880; color: #001530; }
[data-ui-theme="colts"] input[type=range] { background: #0a4090; }
[data-ui-theme="colts"] input[type=range]::-webkit-slider-thumb { background: #A2AAAD; border-color: #001530; }
[data-ui-theme="colts"] input[type=range]::-moz-range-thumb     { background: #A2AAAD; border-color: #001530; }
[data-ui-theme="colts"] .spec-ctrl-bar    { background: #001530; border-color: #0a4090; }
[data-ui-theme="colts"] .spec-ctrl-divider { background: #0a4090; }
[data-ui-theme="colts"] .wf-theme-btn     { background: #000c20; border-color: #0a4090; color: #5588cc; }
[data-ui-theme="colts"] .wf-theme-btn:hover { background: #0a4090; color: #d8e4f0; }
[data-ui-theme="colts"] .wf-theme-btn.active { background: #A2AAAD; border-color: #707880; color: #001530; }
[data-ui-theme="colts"] .band-btn.active  { background: #A2AAAD; border-color: #707880; color: #001530; }
[data-ui-theme="colts"] .band-btn:hover   { background: #0a4090; color: #d8e4f0; }
[data-ui-theme="colts"] .f-btn            { background: #000c20; border-color: #0a4090; color: #5588cc; }
[data-ui-theme="colts"] .f-btn.active     { background: #A2AAAD; border-color: #707880; color: #001530; }
[data-ui-theme="colts"] .f-btn:hover      { background: #0a4090; color: #d8e4f0; }
[data-ui-theme="colts"] .chip             { background: #000c20; border-color: #0a4090; color: #5588cc; }
[data-ui-theme="colts"] .chip:hover       { background: #0a4090; color: #d8e4f0; }
[data-ui-theme="colts"] .chip.on          { background: #101e2a; border-color: #A2AAAD; color: #A2AAAD; }
[data-ui-theme="colts"] .chip.amber       { background: #3a2000; border-color: #e3b341; color: #ffe090; }
[data-ui-theme="colts"] .chip.blue        { background: #0a2050; border-color: #388bfd; color: #79c0ff; }
[data-ui-theme="colts"] .vbtn             { background: #000c20; border-color: #0a4090; color: #5588cc; }
[data-ui-theme="colts"] .vbtn:hover       { background: #0a4090; color: #d8e4f0; border-color: #A2AAAD; }

/* Jaguars — black + teal + gold */
[data-ui-theme="jaguars"] body              { background: #0a1818; color: #e0f0ec; }
[data-ui-theme="jaguars"] .top-bar          { background: #001824; border-color: #003040; }
[data-ui-theme="jaguars"] .freq-row         { background: #001824; border-color: #003040; }
[data-ui-theme="jaguars"] .side-panel       { background: #0a1818; border-color: #003040; }
[data-ui-theme="jaguars"] .center           { background: #0a1818; }
[data-ui-theme="jaguars"] .dock-panel       { background: #001824; border-color: #003040; }
[data-ui-theme="jaguars"] .dock-handle      { background: #000c10; border-color: #003040; }
[data-ui-theme="jaguars"] .modal-box        { background: #001824; border-color: #003040; }
[data-ui-theme="jaguars"] .modal-in         { background: #0a1818; border-color: #003040; color: #e0f0ec; }
[data-ui-theme="jaguars"] .conn-input       { background: #0a1818; border-color: #003040; color: #e0f0ec; }
[data-ui-theme="jaguars"] .btn-connect      { background: #001824; border-color: #003040; color: #e0f0ec; }
[data-ui-theme="jaguars"] .tci-log          { background: #0a1818; border-color: #003040; color: #e0f0ec; }
[data-ui-theme="jaguars"] .smeter-readout   { background: #001824; }
[data-ui-theme="jaguars"] .led-meter-wrap   { background: #001824; border-color: #003040; }
[data-ui-theme="jaguars"] .center-dock      { background: #051010; border-color: #003040; }
[data-ui-theme="jaguars"] .freq-dock        { background: #001824; border-color: #003040; }
[data-ui-theme="jaguars"] .dock-title       { color: #D7A22A; }
[data-ui-theme="jaguars"] .ctrl-lbl         { color: #30a090; }
[data-ui-theme="jaguars"] .ctrl-val         { color: #D7A22A; }
[data-ui-theme="jaguars"] .ctrl-head        { color: #e0f0ec; }
[data-ui-theme="jaguars"] .modal-title      { color: #D7A22A; }
[data-ui-theme="jaguars"] .modal-lbl        { color: #30a090; }
[data-ui-theme="jaguars"] .modal-row label  { color: #e0f0ec; }
[data-ui-theme="jaguars"] .modal-close      { color: #30a090; }
[data-ui-theme="jaguars"] .vfo-freq         { color: #D7A22A; }
[data-ui-theme="jaguars"] .vfo-freq .mhz    { color: #f0c060; }
[data-ui-theme="jaguars"] .vfo-freq.secondary { color: #30a090; }
[data-ui-theme="jaguars"] .callsign         { color: #30a090; }
[data-ui-theme="jaguars"] .status-label     { color: #56d364; }
[data-ui-theme="jaguars"] .sbtn             { background: #000c10; border-color: #003040; color: #e0f0ec; }
[data-ui-theme="jaguars"] .sbtn.active      { background: #D7A22A; border-color: #a07000; color: #001824; }
[data-ui-theme="jaguars"] .mbtn             { background: #000c10; border-color: #003040; color: #e0f0ec; }
[data-ui-theme="jaguars"] .mbtn.pri         { background: #D7A22A; border-color: #a07000; color: #001824; }
[data-ui-theme="jaguars"] .band-btn         { background: #000c10; border-color: #003040; color: #30a090; }
[data-ui-theme="jaguars"] .mode-btn         { background: #000c10; border-color: #003040; color: #30a090; }
[data-ui-theme="jaguars"] .mode-btn.active  { background: #D7A22A; border-color: #a07000; color: #001824; }
[data-ui-theme="jaguars"] input[type=range] { background: #003040; }
[data-ui-theme="jaguars"] input[type=range]::-webkit-slider-thumb { background: #D7A22A; border-color: #0a1818; }
[data-ui-theme="jaguars"] input[type=range]::-moz-range-thumb     { background: #D7A22A; border-color: #0a1818; }
[data-ui-theme="jaguars"] .spec-ctrl-bar    { background: #0a1818; border-color: #003040; }
[data-ui-theme="jaguars"] .spec-ctrl-divider { background: #003040; }
[data-ui-theme="jaguars"] .wf-theme-btn     { background: #000c10; border-color: #003040; color: #30a090; }
[data-ui-theme="jaguars"] .wf-theme-btn:hover { background: #003040; color: #e0f0ec; }
[data-ui-theme="jaguars"] .wf-theme-btn.active { background: #D7A22A; border-color: #a07000; color: #001824; }
[data-ui-theme="jaguars"] .band-btn.active  { background: #D7A22A; border-color: #a07000; color: #001824; }
[data-ui-theme="jaguars"] .band-btn:hover   { background: #003040; color: #e0f0ec; }
[data-ui-theme="jaguars"] .f-btn            { background: #000c10; border-color: #003040; color: #30a090; }
[data-ui-theme="jaguars"] .f-btn.active     { background: #D7A22A; border-color: #a07000; color: #001824; }
[data-ui-theme="jaguars"] .f-btn:hover      { background: #003040; color: #e0f0ec; }
[data-ui-theme="jaguars"] .chip             { background: #000c10; border-color: #003040; color: #30a090; }
[data-ui-theme="jaguars"] .chip:hover       { background: #003040; color: #e0f0ec; }
[data-ui-theme="jaguars"] .chip.on          { background: #1a2800; border-color: #D7A22A; color: #D7A22A; }
[data-ui-theme="jaguars"] .chip.amber       { background: #3a2000; border-color: #e3b341; color: #ffe090; }
[data-ui-theme="jaguars"] .chip.blue        { background: #0a2050; border-color: #388bfd; color: #79c0ff; }
[data-ui-theme="jaguars"] .vbtn             { background: #000c10; border-color: #003040; color: #30a090; }
[data-ui-theme="jaguars"] .vbtn:hover       { background: #003040; color: #e0f0ec; border-color: #D7A22A; }

/* Titans — navy + powder blue */
[data-ui-theme="titans"] body              { background: #061028; color: #d0e0f0; }
[data-ui-theme="titans"] .top-bar          { background: #0C2340; border-color: #1a4080; }
[data-ui-theme="titans"] .freq-row         { background: #0C2340; border-color: #1a4080; }
[data-ui-theme="titans"] .side-panel       { background: #061028; border-color: #1a4080; }
[data-ui-theme="titans"] .center           { background: #061028; }
[data-ui-theme="titans"] .dock-panel       { background: #0C2340; border-color: #1a4080; }
[data-ui-theme="titans"] .dock-handle      { background: #040a18; border-color: #1a4080; }
[data-ui-theme="titans"] .modal-box        { background: #0C2340; border-color: #1a4080; }
[data-ui-theme="titans"] .modal-in         { background: #061028; border-color: #1a4080; color: #d0e0f0; }
[data-ui-theme="titans"] .conn-input       { background: #061028; border-color: #1a4080; color: #d0e0f0; }
[data-ui-theme="titans"] .btn-connect      { background: #0C2340; border-color: #1a4080; color: #d0e0f0; }
[data-ui-theme="titans"] .tci-log          { background: #061028; border-color: #1a4080; color: #d0e0f0; }
[data-ui-theme="titans"] .smeter-readout   { background: #0C2340; }
[data-ui-theme="titans"] .led-meter-wrap   { background: #0C2340; border-color: #1a4080; }
[data-ui-theme="titans"] .center-dock      { background: #081830; border-color: #1a4080; }
[data-ui-theme="titans"] .freq-dock        { background: #0C2340; border-color: #1a4080; }
[data-ui-theme="titans"] .dock-title       { color: #4B92DB; }
[data-ui-theme="titans"] .ctrl-lbl         { color: #4070b0; }
[data-ui-theme="titans"] .ctrl-val         { color: #4B92DB; }
[data-ui-theme="titans"] .ctrl-head        { color: #d0e0f0; }
[data-ui-theme="titans"] .modal-title      { color: #4B92DB; }
[data-ui-theme="titans"] .modal-lbl        { color: #4070b0; }
[data-ui-theme="titans"] .modal-row label  { color: #d0e0f0; }
[data-ui-theme="titans"] .modal-close      { color: #4070b0; }
[data-ui-theme="titans"] .vfo-freq         { color: #4B92DB; }
[data-ui-theme="titans"] .vfo-freq .mhz    { color: #80c0f8; }
[data-ui-theme="titans"] .vfo-freq.secondary { color: #4070b0; }
[data-ui-theme="titans"] .callsign         { color: #4070b0; }
[data-ui-theme="titans"] .status-label     { color: #56d364; }
[data-ui-theme="titans"] .sbtn             { background: #040a18; border-color: #1a4080; color: #d0e0f0; }
[data-ui-theme="titans"] .sbtn.active      { background: #4B92DB; border-color: #2060b0; color: #061028; }
[data-ui-theme="titans"] .mbtn             { background: #040a18; border-color: #1a4080; color: #d0e0f0; }
[data-ui-theme="titans"] .mbtn.pri         { background: #4B92DB; border-color: #2060b0; color: #061028; }
[data-ui-theme="titans"] .band-btn         { background: #040a18; border-color: #1a4080; color: #4070b0; }
[data-ui-theme="titans"] .mode-btn         { background: #040a18; border-color: #1a4080; color: #4070b0; }
[data-ui-theme="titans"] .mode-btn.active  { background: #4B92DB; border-color: #2060b0; color: #061028; }
[data-ui-theme="titans"] input[type=range] { background: #1a4080; }
[data-ui-theme="titans"] input[type=range]::-webkit-slider-thumb { background: #4B92DB; border-color: #061028; }
[data-ui-theme="titans"] input[type=range]::-moz-range-thumb     { background: #4B92DB; border-color: #061028; }
[data-ui-theme="titans"] .spec-ctrl-bar    { background: #061028; border-color: #1a4080; }
[data-ui-theme="titans"] .spec-ctrl-divider { background: #1a4080; }
[data-ui-theme="titans"] .wf-theme-btn     { background: #040a18; border-color: #1a4080; color: #4070b0; }
[data-ui-theme="titans"] .wf-theme-btn:hover { background: #1a4080; color: #d0e0f0; }
[data-ui-theme="titans"] .wf-theme-btn.active { background: #4B92DB; border-color: #2060b0; color: #061028; }
[data-ui-theme="titans"] .band-btn.active  { background: #4B92DB; border-color: #2060b0; color: #061028; }
[data-ui-theme="titans"] .band-btn:hover   { background: #1a4080; color: #d0e0f0; }
[data-ui-theme="titans"] .f-btn            { background: #040a18; border-color: #1a4080; color: #4070b0; }
[data-ui-theme="titans"] .f-btn.active     { background: #4B92DB; border-color: #2060b0; color: #061028; }
[data-ui-theme="titans"] .f-btn:hover      { background: #1a4080; color: #d0e0f0; }
[data-ui-theme="titans"] .chip             { background: #040a18; border-color: #1a4080; color: #4070b0; }
[data-ui-theme="titans"] .chip:hover       { background: #1a4080; color: #d0e0f0; }
[data-ui-theme="titans"] .chip.on          { background: #0a1a30; border-color: #4B92DB; color: #4B92DB; }
[data-ui-theme="titans"] .chip.amber       { background: #3a2000; border-color: #e3b341; color: #ffe090; }
[data-ui-theme="titans"] .chip.blue        { background: #0a2050; border-color: #388bfd; color: #79c0ff; }
[data-ui-theme="titans"] .vbtn             { background: #040a18; border-color: #1a4080; color: #4070b0; }
[data-ui-theme="titans"] .vbtn:hover       { background: #1a4080; color: #d0e0f0; border-color: #4B92DB; }

/* ── AFC WEST ── */

/* Broncos — navy + orange */
[data-ui-theme="broncos"] body              { background: #001030; color: #d0d8e8; }
[data-ui-theme="broncos"] .top-bar          { background: #002244; border-color: #1a3366; }
[data-ui-theme="broncos"] .freq-row         { background: #002244; border-color: #1a3366; }
[data-ui-theme="broncos"] .side-panel       { background: #001030; border-color: #1a3366; }
[data-ui-theme="broncos"] .center           { background: #001030; }
[data-ui-theme="broncos"] .dock-panel       { background: #002244; border-color: #1a3366; }
[data-ui-theme="broncos"] .dock-handle      { background: #000820; border-color: #1a3366; }
[data-ui-theme="broncos"] .modal-box        { background: #002244; border-color: #1a3366; }
[data-ui-theme="broncos"] .modal-in         { background: #001030; border-color: #1a3366; color: #d0d8e8; }
[data-ui-theme="broncos"] .conn-input       { background: #001030; border-color: #1a3366; color: #d0d8e8; }
[data-ui-theme="broncos"] .btn-connect      { background: #002244; border-color: #1a3366; color: #d0d8e8; }
[data-ui-theme="broncos"] .tci-log          { background: #001030; border-color: #1a3366; color: #d0d8e8; }
[data-ui-theme="broncos"] .smeter-readout   { background: #002244; }
[data-ui-theme="broncos"] .led-meter-wrap   { background: #002244; border-color: #1a3366; }
[data-ui-theme="broncos"] .center-dock      { background: #001838; border-color: #1a3366; }
[data-ui-theme="broncos"] .freq-dock        { background: #002244; border-color: #1a3366; }
[data-ui-theme="broncos"] .dock-title       { color: #FB4F14; }
[data-ui-theme="broncos"] .ctrl-lbl         { color: #5577a8; }
[data-ui-theme="broncos"] .ctrl-val         { color: #FB4F14; }
[data-ui-theme="broncos"] .ctrl-head        { color: #d0d8e8; }
[data-ui-theme="broncos"] .modal-title      { color: #FB4F14; }
[data-ui-theme="broncos"] .modal-lbl        { color: #5577a8; }
[data-ui-theme="broncos"] .modal-row label  { color: #d0d8e8; }
[data-ui-theme="broncos"] .modal-close      { color: #5577a8; }
[data-ui-theme="broncos"] .vfo-freq         { color: #FB4F14; }
[data-ui-theme="broncos"] .vfo-freq .mhz    { color: #ff7840; }
[data-ui-theme="broncos"] .vfo-freq.secondary { color: #5577a8; }
[data-ui-theme="broncos"] .callsign         { color: #5577a8; }
[data-ui-theme="broncos"] .status-label     { color: #56d364; }
[data-ui-theme="broncos"] .sbtn             { background: #000820; border-color: #1a3366; color: #d0d8e8; }
[data-ui-theme="broncos"] .sbtn.active      { background: #FB4F14; border-color: #c83000; color: #ffffff; }
[data-ui-theme="broncos"] .mbtn             { background: #000820; border-color: #1a3366; color: #d0d8e8; }
[data-ui-theme="broncos"] .mbtn.pri         { background: #FB4F14; border-color: #c83000; color: #ffffff; }
[data-ui-theme="broncos"] .band-btn         { background: #000820; border-color: #1a3366; color: #5577a8; }
[data-ui-theme="broncos"] .mode-btn         { background: #000820; border-color: #1a3366; color: #5577a8; }
[data-ui-theme="broncos"] .mode-btn.active  { background: #FB4F14; border-color: #c83000; color: #ffffff; }
[data-ui-theme="broncos"] input[type=range] { background: #1a3366; }
[data-ui-theme="broncos"] input[type=range]::-webkit-slider-thumb { background: #FB4F14; border-color: #001030; }
[data-ui-theme="broncos"] input[type=range]::-moz-range-thumb     { background: #FB4F14; border-color: #001030; }
[data-ui-theme="broncos"] .spec-ctrl-bar    { background: #001030; border-color: #1a3366; }
[data-ui-theme="broncos"] .spec-ctrl-divider { background: #1a3366; }
[data-ui-theme="broncos"] .wf-theme-btn     { background: #000820; border-color: #1a3366; color: #5577a8; }
[data-ui-theme="broncos"] .wf-theme-btn:hover { background: #1a3366; color: #d0d8e8; }
[data-ui-theme="broncos"] .wf-theme-btn.active { background: #FB4F14; border-color: #c83000; color: #ffffff; }
[data-ui-theme="broncos"] .band-btn.active  { background: #FB4F14; border-color: #c83000; color: #ffffff; }
[data-ui-theme="broncos"] .band-btn:hover   { background: #1a3366; color: #d0d8e8; }
[data-ui-theme="broncos"] .f-btn            { background: #000820; border-color: #1a3366; color: #5577a8; }
[data-ui-theme="broncos"] .f-btn.active     { background: #FB4F14; border-color: #c83000; color: #ffffff; }
[data-ui-theme="broncos"] .f-btn:hover      { background: #1a3366; color: #d0d8e8; }
[data-ui-theme="broncos"] .chip             { background: #000820; border-color: #1a3366; color: #5577a8; }
[data-ui-theme="broncos"] .chip:hover       { background: #1a3366; color: #d0d8e8; }
[data-ui-theme="broncos"] .chip.on          { background: #2a1000; border-color: #FB4F14; color: #FB4F14; }
[data-ui-theme="broncos"] .chip.amber       { background: #3a2000; border-color: #e3b341; color: #ffe090; }
[data-ui-theme="broncos"] .chip.blue        { background: #0a2050; border-color: #388bfd; color: #79c0ff; }
[data-ui-theme="broncos"] .vbtn             { background: #000820; border-color: #1a3366; color: #5577a8; }
[data-ui-theme="broncos"] .vbtn:hover       { background: #1a3366; color: #d0d8e8; border-color: #FB4F14; }

/* Chiefs — dark crimson + gold */
[data-ui-theme="chiefs"] body              { background: #1a0008; color: #f0e0e8; }
[data-ui-theme="chiefs"] .top-bar          { background: #2e0010; border-color: #5a0020; }
[data-ui-theme="chiefs"] .freq-row         { background: #2e0010; border-color: #5a0020; }
[data-ui-theme="chiefs"] .side-panel       { background: #1a0008; border-color: #5a0020; }
[data-ui-theme="chiefs"] .center           { background: #1a0008; }
[data-ui-theme="chiefs"] .dock-panel       { background: #2e0010; border-color: #5a0020; }
[data-ui-theme="chiefs"] .dock-handle      { background: #100004; border-color: #5a0020; }
[data-ui-theme="chiefs"] .modal-box        { background: #2e0010; border-color: #5a0020; }
[data-ui-theme="chiefs"] .modal-in         { background: #1a0008; border-color: #5a0020; color: #f0e0e8; }
[data-ui-theme="chiefs"] .conn-input       { background: #1a0008; border-color: #5a0020; color: #f0e0e8; }
[data-ui-theme="chiefs"] .btn-connect      { background: #2e0010; border-color: #5a0020; color: #f0e0e8; }
[data-ui-theme="chiefs"] .tci-log          { background: #1a0008; border-color: #5a0020; color: #f0e0e8; }
[data-ui-theme="chiefs"] .smeter-readout   { background: #2e0010; }
[data-ui-theme="chiefs"] .led-meter-wrap   { background: #2e0010; border-color: #5a0020; }
[data-ui-theme="chiefs"] .center-dock      { background: #220010; border-color: #5a0020; }
[data-ui-theme="chiefs"] .freq-dock        { background: #2e0010; border-color: #5a0020; }
[data-ui-theme="chiefs"] .dock-title       { color: #FFB81C; }
[data-ui-theme="chiefs"] .ctrl-lbl         { color: #c04060; }
[data-ui-theme="chiefs"] .ctrl-val         { color: #FFB81C; }
[data-ui-theme="chiefs"] .ctrl-head        { color: #f0e0e8; }
[data-ui-theme="chiefs"] .modal-title      { color: #FFB81C; }
[data-ui-theme="chiefs"] .modal-lbl        { color: #c04060; }
[data-ui-theme="chiefs"] .modal-row label  { color: #f0e0e8; }
[data-ui-theme="chiefs"] .modal-close      { color: #c04060; }
[data-ui-theme="chiefs"] .vfo-freq         { color: #FFB81C; }
[data-ui-theme="chiefs"] .vfo-freq .mhz    { color: #ffd060; }
[data-ui-theme="chiefs"] .vfo-freq.secondary { color: #c04060; }
[data-ui-theme="chiefs"] .callsign         { color: #c04060; }
[data-ui-theme="chiefs"] .status-label     { color: #56d364; }
[data-ui-theme="chiefs"] .sbtn             { background: #100004; border-color: #5a0020; color: #f0e0e8; }
[data-ui-theme="chiefs"] .sbtn.active      { background: #FFB81C; border-color: #c88000; color: #1a0008; }
[data-ui-theme="chiefs"] .mbtn             { background: #100004; border-color: #5a0020; color: #f0e0e8; }
[data-ui-theme="chiefs"] .mbtn.pri         { background: #FFB81C; border-color: #c88000; color: #1a0008; }
[data-ui-theme="chiefs"] .band-btn         { background: #100004; border-color: #5a0020; color: #c04060; }
[data-ui-theme="chiefs"] .mode-btn         { background: #100004; border-color: #5a0020; color: #c04060; }
[data-ui-theme="chiefs"] .mode-btn.active  { background: #FFB81C; border-color: #c88000; color: #1a0008; }
[data-ui-theme="chiefs"] input[type=range] { background: #5a0020; }
[data-ui-theme="chiefs"] input[type=range]::-webkit-slider-thumb { background: #FFB81C; border-color: #1a0008; }
[data-ui-theme="chiefs"] input[type=range]::-moz-range-thumb     { background: #FFB81C; border-color: #1a0008; }
[data-ui-theme="chiefs"] .spec-ctrl-bar    { background: #1a0008; border-color: #5a0020; }
[data-ui-theme="chiefs"] .spec-ctrl-divider { background: #5a0020; }
[data-ui-theme="chiefs"] .wf-theme-btn     { background: #100004; border-color: #5a0020; color: #c04060; }
[data-ui-theme="chiefs"] .wf-theme-btn:hover { background: #5a0020; color: #f0e0e8; }
[data-ui-theme="chiefs"] .wf-theme-btn.active { background: #FFB81C; border-color: #c88000; color: #1a0008; }
[data-ui-theme="chiefs"] .band-btn.active  { background: #FFB81C; border-color: #c88000; color: #1a0008; }
[data-ui-theme="chiefs"] .band-btn:hover   { background: #5a0020; color: #f0e0e8; }
[data-ui-theme="chiefs"] .f-btn            { background: #100004; border-color: #5a0020; color: #c04060; }
[data-ui-theme="chiefs"] .f-btn.active     { background: #FFB81C; border-color: #c88000; color: #1a0008; }
[data-ui-theme="chiefs"] .f-btn:hover      { background: #5a0020; color: #f0e0e8; }
[data-ui-theme="chiefs"] .chip             { background: #100004; border-color: #5a0020; color: #c04060; }
[data-ui-theme="chiefs"] .chip:hover       { background: #5a0020; color: #f0e0e8; }
[data-ui-theme="chiefs"] .chip.on          { background: #2a1800; border-color: #FFB81C; color: #FFB81C; }
[data-ui-theme="chiefs"] .chip.amber       { background: #3a2000; border-color: #e3b341; color: #ffe090; }
[data-ui-theme="chiefs"] .chip.blue        { background: #0a2050; border-color: #388bfd; color: #79c0ff; }
[data-ui-theme="chiefs"] .vbtn             { background: #100004; border-color: #5a0020; color: #c04060; }
[data-ui-theme="chiefs"] .vbtn:hover       { background: #5a0020; color: #f0e0e8; border-color: #FFB81C; }

/* Raiders — black + silver */
[data-ui-theme="raiders"] body              { background: #0c0c0c; color: #e8e8e8; }
[data-ui-theme="raiders"] .top-bar          { background: #161616; border-color: #2e2e2e; }
[data-ui-theme="raiders"] .freq-row         { background: #161616; border-color: #2e2e2e; }
[data-ui-theme="raiders"] .side-panel       { background: #0c0c0c; border-color: #2e2e2e; }
[data-ui-theme="raiders"] .center           { background: #0c0c0c; }
[data-ui-theme="raiders"] .dock-panel       { background: #161616; border-color: #2e2e2e; }
[data-ui-theme="raiders"] .dock-handle      { background: #080808; border-color: #2e2e2e; }
[data-ui-theme="raiders"] .modal-box        { background: #161616; border-color: #2e2e2e; }
[data-ui-theme="raiders"] .modal-in         { background: #0c0c0c; border-color: #2e2e2e; color: #e8e8e8; }
[data-ui-theme="raiders"] .conn-input       { background: #0c0c0c; border-color: #2e2e2e; color: #e8e8e8; }
[data-ui-theme="raiders"] .btn-connect      { background: #161616; border-color: #2e2e2e; color: #e8e8e8; }
[data-ui-theme="raiders"] .tci-log          { background: #0c0c0c; border-color: #2e2e2e; color: #e8e8e8; }
[data-ui-theme="raiders"] .smeter-readout   { background: #161616; }
[data-ui-theme="raiders"] .led-meter-wrap   { background: #161616; border-color: #2e2e2e; }
[data-ui-theme="raiders"] .center-dock      { background: #101010; border-color: #2e2e2e; }
[data-ui-theme="raiders"] .freq-dock        { background: #161616; border-color: #2e2e2e; }
[data-ui-theme="raiders"] .dock-title       { color: #A5ACAF; }
[data-ui-theme="raiders"] .ctrl-lbl         { color: #888888; }
[data-ui-theme="raiders"] .ctrl-val         { color: #A5ACAF; }
[data-ui-theme="raiders"] .ctrl-head        { color: #e8e8e8; }
[data-ui-theme="raiders"] .modal-title      { color: #A5ACAF; }
[data-ui-theme="raiders"] .modal-lbl        { color: #888888; }
[data-ui-theme="raiders"] .modal-row label  { color: #e8e8e8; }
[data-ui-theme="raiders"] .modal-close      { color: #888888; }
[data-ui-theme="raiders"] .vfo-freq         { color: #c8cfd2; }
[data-ui-theme="raiders"] .vfo-freq .mhz    { color: #e8e8e8; }
[data-ui-theme="raiders"] .vfo-freq.secondary { color: #888888; }
[data-ui-theme="raiders"] .callsign         { color: #888888; }
[data-ui-theme="raiders"] .status-label     { color: #56d364; }
[data-ui-theme="raiders"] .sbtn             { background: #080808; border-color: #2e2e2e; color: #e8e8e8; }
[data-ui-theme="raiders"] .sbtn.active      { background: #A5ACAF; border-color: #707880; color: #0c0c0c; }
[data-ui-theme="raiders"] .mbtn             { background: #080808; border-color: #2e2e2e; color: #e8e8e8; }
[data-ui-theme="raiders"] .mbtn.pri         { background: #A5ACAF; border-color: #707880; color: #0c0c0c; }
[data-ui-theme="raiders"] .band-btn         { background: #080808; border-color: #2e2e2e; color: #888888; }
[data-ui-theme="raiders"] .mode-btn         { background: #080808; border-color: #2e2e2e; color: #888888; }
[data-ui-theme="raiders"] .mode-btn.active  { background: #A5ACAF; border-color: #707880; color: #0c0c0c; }
[data-ui-theme="raiders"] input[type=range] { background: #2e2e2e; }
[data-ui-theme="raiders"] input[type=range]::-webkit-slider-thumb { background: #A5ACAF; border-color: #0c0c0c; }
[data-ui-theme="raiders"] input[type=range]::-moz-range-thumb     { background: #A5ACAF; border-color: #0c0c0c; }
[data-ui-theme="raiders"] .spec-ctrl-bar    { background: #0c0c0c; border-color: #2e2e2e; }
[data-ui-theme="raiders"] .spec-ctrl-divider { background: #2e2e2e; }
[data-ui-theme="raiders"] .wf-theme-btn     { background: #080808; border-color: #2e2e2e; color: #888888; }
[data-ui-theme="raiders"] .wf-theme-btn:hover { background: #2e2e2e; color: #e8e8e8; }
[data-ui-theme="raiders"] .wf-theme-btn.active { background: #A5ACAF; border-color: #707880; color: #0c0c0c; }
[data-ui-theme="raiders"] .band-btn.active  { background: #A5ACAF; border-color: #707880; color: #0c0c0c; }
[data-ui-theme="raiders"] .band-btn:hover   { background: #2e2e2e; color: #e8e8e8; }
[data-ui-theme="raiders"] .f-btn            { background: #080808; border-color: #2e2e2e; color: #888888; }
[data-ui-theme="raiders"] .f-btn.active     { background: #A5ACAF; border-color: #707880; color: #0c0c0c; }
[data-ui-theme="raiders"] .f-btn:hover      { background: #2e2e2e; color: #e8e8e8; }
[data-ui-theme="raiders"] .chip             { background: #080808; border-color: #2e2e2e; color: #888888; }
[data-ui-theme="raiders"] .chip:hover       { background: #2e2e2e; color: #e8e8e8; }
[data-ui-theme="raiders"] .chip.on          { background: #182018; border-color: #A5ACAF; color: #A5ACAF; }
[data-ui-theme="raiders"] .chip.amber       { background: #3a2000; border-color: #e3b341; color: #ffe090; }
[data-ui-theme="raiders"] .chip.blue        { background: #0a2050; border-color: #388bfd; color: #79c0ff; }
[data-ui-theme="raiders"] .vbtn             { background: #080808; border-color: #2e2e2e; color: #888888; }
[data-ui-theme="raiders"] .vbtn:hover       { background: #2e2e2e; color: #e8e8e8; border-color: #A5ACAF; }

/* Chargers — navy + gold */
[data-ui-theme="chargers"] body              { background: #061828; color: #d8e8f8; }
[data-ui-theme="chargers"] .top-bar          { background: #0a2840; border-color: #103060; }
[data-ui-theme="chargers"] .freq-row         { background: #0a2840; border-color: #103060; }
[data-ui-theme="chargers"] .side-panel       { background: #061828; border-color: #103060; }
[data-ui-theme="chargers"] .center           { background: #061828; }
[data-ui-theme="chargers"] .dock-panel       { background: #0a2840; border-color: #103060; }
[data-ui-theme="chargers"] .dock-handle      { background: #040e18; border-color: #103060; }
[data-ui-theme="chargers"] .modal-box        { background: #0a2840; border-color: #103060; }
[data-ui-theme="chargers"] .modal-in         { background: #061828; border-color: #103060; color: #d8e8f8; }
[data-ui-theme="chargers"] .conn-input       { background: #061828; border-color: #103060; color: #d8e8f8; }
[data-ui-theme="chargers"] .btn-connect      { background: #0a2840; border-color: #103060; color: #d8e8f8; }
[data-ui-theme="chargers"] .tci-log          { background: #061828; border-color: #103060; color: #d8e8f8; }
[data-ui-theme="chargers"] .smeter-readout   { background: #0a2840; }
[data-ui-theme="chargers"] .led-meter-wrap   { background: #0a2840; border-color: #103060; }
[data-ui-theme="chargers"] .center-dock      { background: #082030; border-color: #103060; }
[data-ui-theme="chargers"] .freq-dock        { background: #0a2840; border-color: #103060; }
[data-ui-theme="chargers"] .dock-title       { color: #FFC20E; }
[data-ui-theme="chargers"] .ctrl-lbl         { color: #4090c0; }
[data-ui-theme="chargers"] .ctrl-val         { color: #FFC20E; }
[data-ui-theme="chargers"] .ctrl-head        { color: #d8e8f8; }
[data-ui-theme="chargers"] .modal-title      { color: #FFC20E; }
[data-ui-theme="chargers"] .modal-lbl        { color: #4090c0; }
[data-ui-theme="chargers"] .modal-row label  { color: #d8e8f8; }
[data-ui-theme="chargers"] .modal-close      { color: #4090c0; }
[data-ui-theme="chargers"] .vfo-freq         { color: #FFC20E; }
[data-ui-theme="chargers"] .vfo-freq .mhz    { color: #ffe060; }
[data-ui-theme="chargers"] .vfo-freq.secondary { color: #4090c0; }
[data-ui-theme="chargers"] .callsign         { color: #4090c0; }
[data-ui-theme="chargers"] .status-label     { color: #56d364; }
[data-ui-theme="chargers"] .sbtn             { background: #040e18; border-color: #103060; color: #d8e8f8; }
[data-ui-theme="chargers"] .sbtn.active      { background: #FFC20E; border-color: #c88000; color: #061828; }
[data-ui-theme="chargers"] .mbtn             { background: #040e18; border-color: #103060; color: #d8e8f8; }
[data-ui-theme="chargers"] .mbtn.pri         { background: #FFC20E; border-color: #c88000; color: #061828; }
[data-ui-theme="chargers"] .band-btn         { background: #040e18; border-color: #103060; color: #4090c0; }
[data-ui-theme="chargers"] .mode-btn         { background: #040e18; border-color: #103060; color: #4090c0; }
[data-ui-theme="chargers"] .mode-btn.active  { background: #FFC20E; border-color: #c88000; color: #061828; }
[data-ui-theme="chargers"] input[type=range] { background: #103060; }
[data-ui-theme="chargers"] input[type=range]::-webkit-slider-thumb { background: #FFC20E; border-color: #061828; }
[data-ui-theme="chargers"] input[type=range]::-moz-range-thumb     { background: #FFC20E; border-color: #061828; }
[data-ui-theme="chargers"] .spec-ctrl-bar    { background: #061828; border-color: #103060; }
[data-ui-theme="chargers"] .spec-ctrl-divider { background: #103060; }
[data-ui-theme="chargers"] .wf-theme-btn     { background: #040e18; border-color: #103060; color: #4090c0; }
[data-ui-theme="chargers"] .wf-theme-btn:hover { background: #103060; color: #d8e8f8; }
[data-ui-theme="chargers"] .wf-theme-btn.active { background: #FFC20E; border-color: #c88000; color: #061828; }
[data-ui-theme="chargers"] .band-btn.active  { background: #FFC20E; border-color: #c88000; color: #061828; }
[data-ui-theme="chargers"] .band-btn:hover   { background: #103060; color: #d8e8f8; }
[data-ui-theme="chargers"] .f-btn            { background: #040e18; border-color: #103060; color: #4090c0; }
[data-ui-theme="chargers"] .f-btn.active     { background: #FFC20E; border-color: #c88000; color: #061828; }
[data-ui-theme="chargers"] .f-btn:hover      { background: #103060; color: #d8e8f8; }
[data-ui-theme="chargers"] .chip             { background: #040e18; border-color: #103060; color: #4090c0; }
[data-ui-theme="chargers"] .chip:hover       { background: #103060; color: #d8e8f8; }
[data-ui-theme="chargers"] .chip.on          { background: #1a2800; border-color: #FFC20E; color: #FFC20E; }
[data-ui-theme="chargers"] .chip.amber       { background: #3a2000; border-color: #e3b341; color: #ffe090; }
[data-ui-theme="chargers"] .chip.blue        { background: #0a2050; border-color: #388bfd; color: #79c0ff; }
[data-ui-theme="chargers"] .vbtn             { background: #040e18; border-color: #103060; color: #4090c0; }
[data-ui-theme="chargers"] .vbtn:hover       { background: #103060; color: #d8e8f8; border-color: #FFC20E; }

/* ── NFC EAST ── */

/* Cowboys — navy + silver */
[data-ui-theme="cowboys"] body              { background: #001030; color: #d0dce8; }
[data-ui-theme="cowboys"] .top-bar          { background: #001e50; border-color: #0a3080; }
[data-ui-theme="cowboys"] .freq-row         { background: #001e50; border-color: #0a3080; }
[data-ui-theme="cowboys"] .side-panel       { background: #001030; border-color: #0a3080; }
[data-ui-theme="cowboys"] .center           { background: #001030; }
[data-ui-theme="cowboys"] .dock-panel       { background: #001e50; border-color: #0a3080; }
[data-ui-theme="cowboys"] .dock-handle      { background: #000820; border-color: #0a3080; }
[data-ui-theme="cowboys"] .modal-box        { background: #001e50; border-color: #0a3080; }
[data-ui-theme="cowboys"] .modal-in         { background: #001030; border-color: #0a3080; color: #d0dce8; }
[data-ui-theme="cowboys"] .conn-input       { background: #001030; border-color: #0a3080; color: #d0dce8; }
[data-ui-theme="cowboys"] .btn-connect      { background: #001e50; border-color: #0a3080; color: #d0dce8; }
[data-ui-theme="cowboys"] .tci-log          { background: #001030; border-color: #0a3080; color: #d0dce8; }
[data-ui-theme="cowboys"] .smeter-readout   { background: #001e50; }
[data-ui-theme="cowboys"] .led-meter-wrap   { background: #001e50; border-color: #0a3080; }
[data-ui-theme="cowboys"] .center-dock      { background: #001838; border-color: #0a3080; }
[data-ui-theme="cowboys"] .freq-dock        { background: #001e50; border-color: #0a3080; }
[data-ui-theme="cowboys"] .dock-title       { color: #869397; }
[data-ui-theme="cowboys"] .ctrl-lbl         { color: #5070a0; }
[data-ui-theme="cowboys"] .ctrl-val         { color: #aab5ba; }
[data-ui-theme="cowboys"] .ctrl-head        { color: #d0dce8; }
[data-ui-theme="cowboys"] .modal-title      { color: #aab5ba; }
[data-ui-theme="cowboys"] .modal-lbl        { color: #5070a0; }
[data-ui-theme="cowboys"] .modal-row label  { color: #d0dce8; }
[data-ui-theme="cowboys"] .modal-close      { color: #5070a0; }
[data-ui-theme="cowboys"] .vfo-freq         { color: #aab5ba; }
[data-ui-theme="cowboys"] .vfo-freq .mhz    { color: #d0d8e0; }
[data-ui-theme="cowboys"] .vfo-freq.secondary { color: #5070a0; }
[data-ui-theme="cowboys"] .callsign         { color: #5070a0; }
[data-ui-theme="cowboys"] .status-label     { color: #56d364; }
[data-ui-theme="cowboys"] .sbtn             { background: #000820; border-color: #0a3080; color: #d0dce8; }
[data-ui-theme="cowboys"] .sbtn.active      { background: #869397; border-color: #506070; color: #001030; }
[data-ui-theme="cowboys"] .mbtn             { background: #000820; border-color: #0a3080; color: #d0dce8; }
[data-ui-theme="cowboys"] .mbtn.pri         { background: #869397; border-color: #506070; color: #001030; }
[data-ui-theme="cowboys"] .band-btn         { background: #000820; border-color: #0a3080; color: #5070a0; }
[data-ui-theme="cowboys"] .mode-btn         { background: #000820; border-color: #0a3080; color: #5070a0; }
[data-ui-theme="cowboys"] .mode-btn.active  { background: #869397; border-color: #506070; color: #001030; }
[data-ui-theme="cowboys"] input[type=range] { background: #0a3080; }
[data-ui-theme="cowboys"] input[type=range]::-webkit-slider-thumb { background: #869397; border-color: #001030; }
[data-ui-theme="cowboys"] input[type=range]::-moz-range-thumb     { background: #869397; border-color: #001030; }
[data-ui-theme="cowboys"] .spec-ctrl-bar    { background: #001030; border-color: #0a3080; }
[data-ui-theme="cowboys"] .spec-ctrl-divider { background: #0a3080; }
[data-ui-theme="cowboys"] .wf-theme-btn     { background: #000820; border-color: #0a3080; color: #5070a0; }
[data-ui-theme="cowboys"] .wf-theme-btn:hover { background: #0a3080; color: #d0dce8; }
[data-ui-theme="cowboys"] .wf-theme-btn.active { background: #869397; border-color: #506070; color: #001030; }
[data-ui-theme="cowboys"] .band-btn.active  { background: #869397; border-color: #506070; color: #001030; }
[data-ui-theme="cowboys"] .band-btn:hover   { background: #0a3080; color: #d0dce8; }
[data-ui-theme="cowboys"] .f-btn            { background: #000820; border-color: #0a3080; color: #5070a0; }
[data-ui-theme="cowboys"] .f-btn.active     { background: #869397; border-color: #506070; color: #001030; }
[data-ui-theme="cowboys"] .f-btn:hover      { background: #0a3080; color: #d0dce8; }
[data-ui-theme="cowboys"] .chip             { background: #000820; border-color: #0a3080; color: #5070a0; }
[data-ui-theme="cowboys"] .chip:hover       { background: #0a3080; color: #d0dce8; }
[data-ui-theme="cowboys"] .chip.on          { background: #101e30; border-color: #869397; color: #aab5ba; }
[data-ui-theme="cowboys"] .chip.amber       { background: #3a2000; border-color: #e3b341; color: #ffe090; }
[data-ui-theme="cowboys"] .chip.blue        { background: #0a2050; border-color: #388bfd; color: #79c0ff; }
[data-ui-theme="cowboys"] .vbtn             { background: #000820; border-color: #0a3080; color: #5070a0; }
[data-ui-theme="cowboys"] .vbtn:hover       { background: #0a3080; color: #d0dce8; border-color: #869397; }

/* Giants — dark blue + red */
[data-ui-theme="giants"] body              { background: #060c2c; color: #d0d8f0; }
[data-ui-theme="giants"] .top-bar          { background: #0B2265; border-color: #1a3898; }
[data-ui-theme="giants"] .freq-row         { background: #0B2265; border-color: #1a3898; }
[data-ui-theme="giants"] .side-panel       { background: #060c2c; border-color: #1a3898; }
[data-ui-theme="giants"] .center           { background: #060c2c; }
[data-ui-theme="giants"] .dock-panel       { background: #0B2265; border-color: #1a3898; }
[data-ui-theme="giants"] .dock-handle      { background: #040818; border-color: #1a3898; }
[data-ui-theme="giants"] .modal-box        { background: #0B2265; border-color: #1a3898; }
[data-ui-theme="giants"] .modal-in         { background: #060c2c; border-color: #1a3898; color: #d0d8f0; }
[data-ui-theme="giants"] .conn-input       { background: #060c2c; border-color: #1a3898; color: #d0d8f0; }
[data-ui-theme="giants"] .btn-connect      { background: #0B2265; border-color: #1a3898; color: #d0d8f0; }
[data-ui-theme="giants"] .tci-log          { background: #060c2c; border-color: #1a3898; color: #d0d8f0; }
[data-ui-theme="giants"] .smeter-readout   { background: #0B2265; }
[data-ui-theme="giants"] .led-meter-wrap   { background: #0B2265; border-color: #1a3898; }
[data-ui-theme="giants"] .center-dock      { background: #081040; border-color: #1a3898; }
[data-ui-theme="giants"] .freq-dock        { background: #0B2265; border-color: #1a3898; }
[data-ui-theme="giants"] .dock-title       { color: #A71930; }
[data-ui-theme="giants"] .ctrl-lbl         { color: #4060b0; }
[data-ui-theme="giants"] .ctrl-val         { color: #c04060; }
[data-ui-theme="giants"] .ctrl-head        { color: #d0d8f0; }
[data-ui-theme="giants"] .modal-title      { color: #A71930; }
[data-ui-theme="giants"] .modal-lbl        { color: #4060b0; }
[data-ui-theme="giants"] .modal-row label  { color: #d0d8f0; }
[data-ui-theme="giants"] .modal-close      { color: #4060b0; }
[data-ui-theme="giants"] .vfo-freq         { color: #c04060; }
[data-ui-theme="giants"] .vfo-freq .mhz    { color: #e06080; }
[data-ui-theme="giants"] .vfo-freq.secondary { color: #4060b0; }
[data-ui-theme="giants"] .callsign         { color: #4060b0; }
[data-ui-theme="giants"] .status-label     { color: #56d364; }
[data-ui-theme="giants"] .sbtn             { background: #040818; border-color: #1a3898; color: #d0d8f0; }
[data-ui-theme="giants"] .sbtn.active      { background: #A71930; border-color: #800010; color: #ffffff; }
[data-ui-theme="giants"] .mbtn             { background: #040818; border-color: #1a3898; color: #d0d8f0; }
[data-ui-theme="giants"] .mbtn.pri         { background: #A71930; border-color: #800010; color: #ffffff; }
[data-ui-theme="giants"] .band-btn         { background: #040818; border-color: #1a3898; color: #4060b0; }
[data-ui-theme="giants"] .mode-btn         { background: #040818; border-color: #1a3898; color: #4060b0; }
[data-ui-theme="giants"] .mode-btn.active  { background: #A71930; border-color: #800010; color: #ffffff; }
[data-ui-theme="giants"] input[type=range] { background: #1a3898; }
[data-ui-theme="giants"] input[type=range]::-webkit-slider-thumb { background: #A71930; border-color: #060c2c; }
[data-ui-theme="giants"] input[type=range]::-moz-range-thumb     { background: #A71930; border-color: #060c2c; }
[data-ui-theme="giants"] .spec-ctrl-bar    { background: #060c2c; border-color: #1a3898; }
[data-ui-theme="giants"] .spec-ctrl-divider { background: #1a3898; }
[data-ui-theme="giants"] .wf-theme-btn     { background: #040818; border-color: #1a3898; color: #4060b0; }
[data-ui-theme="giants"] .wf-theme-btn:hover { background: #1a3898; color: #d0d8f0; }
[data-ui-theme="giants"] .wf-theme-btn.active { background: #A71930; border-color: #800010; color: #ffffff; }
[data-ui-theme="giants"] .band-btn.active  { background: #A71930; border-color: #800010; color: #ffffff; }
[data-ui-theme="giants"] .band-btn:hover   { background: #1a3898; color: #d0d8f0; }
[data-ui-theme="giants"] .f-btn            { background: #040818; border-color: #1a3898; color: #4060b0; }
[data-ui-theme="giants"] .f-btn.active     { background: #A71930; border-color: #800010; color: #ffffff; }
[data-ui-theme="giants"] .f-btn:hover      { background: #1a3898; color: #d0d8f0; }
[data-ui-theme="giants"] .chip             { background: #040818; border-color: #1a3898; color: #4060b0; }
[data-ui-theme="giants"] .chip:hover       { background: #1a3898; color: #d0d8f0; }
[data-ui-theme="giants"] .chip.on          { background: #1a0010; border-color: #A71930; color: #c04060; }
[data-ui-theme="giants"] .chip.amber       { background: #3a2000; border-color: #e3b341; color: #ffe090; }
[data-ui-theme="giants"] .chip.blue        { background: #0a2050; border-color: #388bfd; color: #79c0ff; }
[data-ui-theme="giants"] .vbtn             { background: #040818; border-color: #1a3898; color: #4060b0; }
[data-ui-theme="giants"] .vbtn:hover       { background: #1a3898; color: #d0d8f0; border-color: #A71930; }

/* Eagles — midnight green + silver */
[data-ui-theme="eagles"] body              { background: #001c20; color: #d0e0e4; }
[data-ui-theme="eagles"] .top-bar          { background: #004050; border-color: #006868; }
[data-ui-theme="eagles"] .freq-row         { background: #004050; border-color: #006868; }
[data-ui-theme="eagles"] .side-panel       { background: #001c20; border-color: #006868; }
[data-ui-theme="eagles"] .center           { background: #001c20; }
[data-ui-theme="eagles"] .dock-panel       { background: #004050; border-color: #006868; }
[data-ui-theme="eagles"] .dock-handle      { background: #001018; border-color: #006868; }
[data-ui-theme="eagles"] .modal-box        { background: #004050; border-color: #006868; }
[data-ui-theme="eagles"] .modal-in         { background: #001c20; border-color: #006868; color: #d0e0e4; }
[data-ui-theme="eagles"] .conn-input       { background: #001c20; border-color: #006868; color: #d0e0e4; }
[data-ui-theme="eagles"] .btn-connect      { background: #004050; border-color: #006868; color: #d0e0e4; }
[data-ui-theme="eagles"] .tci-log          { background: #001c20; border-color: #006868; color: #d0e0e4; }
[data-ui-theme="eagles"] .smeter-readout   { background: #004050; }
[data-ui-theme="eagles"] .led-meter-wrap   { background: #004050; border-color: #006868; }
[data-ui-theme="eagles"] .center-dock      { background: #002830; border-color: #006868; }
[data-ui-theme="eagles"] .freq-dock        { background: #004050; border-color: #006868; }
[data-ui-theme="eagles"] .dock-title       { color: #A5ACAF; }
[data-ui-theme="eagles"] .ctrl-lbl         { color: #408088; }
[data-ui-theme="eagles"] .ctrl-val         { color: #A5ACAF; }
[data-ui-theme="eagles"] .ctrl-head        { color: #d0e0e4; }
[data-ui-theme="eagles"] .modal-title      { color: #A5ACAF; }
[data-ui-theme="eagles"] .modal-lbl        { color: #408088; }
[data-ui-theme="eagles"] .modal-row label  { color: #d0e0e4; }
[data-ui-theme="eagles"] .modal-close      { color: #408088; }
[data-ui-theme="eagles"] .vfo-freq         { color: #c8d4d8; }
[data-ui-theme="eagles"] .vfo-freq .mhz    { color: #e0ecf0; }
[data-ui-theme="eagles"] .vfo-freq.secondary { color: #408088; }
[data-ui-theme="eagles"] .callsign         { color: #408088; }
[data-ui-theme="eagles"] .status-label     { color: #56d364; }
[data-ui-theme="eagles"] .sbtn             { background: #001018; border-color: #006868; color: #d0e0e4; }
[data-ui-theme="eagles"] .sbtn.active      { background: #A5ACAF; border-color: #707880; color: #001c20; }
[data-ui-theme="eagles"] .mbtn             { background: #001018; border-color: #006868; color: #d0e0e4; }
[data-ui-theme="eagles"] .mbtn.pri         { background: #A5ACAF; border-color: #707880; color: #001c20; }
[data-ui-theme="eagles"] .band-btn         { background: #001018; border-color: #006868; color: #408088; }
[data-ui-theme="eagles"] .mode-btn         { background: #001018; border-color: #006868; color: #408088; }
[data-ui-theme="eagles"] .mode-btn.active  { background: #A5ACAF; border-color: #707880; color: #001c20; }
[data-ui-theme="eagles"] input[type=range] { background: #006868; }
[data-ui-theme="eagles"] input[type=range]::-webkit-slider-thumb { background: #A5ACAF; border-color: #001c20; }
[data-ui-theme="eagles"] input[type=range]::-moz-range-thumb     { background: #A5ACAF; border-color: #001c20; }
[data-ui-theme="eagles"] .spec-ctrl-bar    { background: #001c20; border-color: #006868; }
[data-ui-theme="eagles"] .spec-ctrl-divider { background: #006868; }
[data-ui-theme="eagles"] .wf-theme-btn     { background: #001018; border-color: #006868; color: #408088; }
[data-ui-theme="eagles"] .wf-theme-btn:hover { background: #006868; color: #d0e0e4; }
[data-ui-theme="eagles"] .wf-theme-btn.active { background: #A5ACAF; border-color: #707880; color: #001c20; }
[data-ui-theme="eagles"] .band-btn.active  { background: #A5ACAF; border-color: #707880; color: #001c20; }
[data-ui-theme="eagles"] .band-btn:hover   { background: #006868; color: #d0e0e4; }
[data-ui-theme="eagles"] .f-btn            { background: #001018; border-color: #006868; color: #408088; }
[data-ui-theme="eagles"] .f-btn.active     { background: #A5ACAF; border-color: #707880; color: #001c20; }
[data-ui-theme="eagles"] .f-btn:hover      { background: #006868; color: #d0e0e4; }
[data-ui-theme="eagles"] .chip             { background: #001018; border-color: #006868; color: #408088; }
[data-ui-theme="eagles"] .chip:hover       { background: #006868; color: #d0e0e4; }
[data-ui-theme="eagles"] .chip.on          { background: #101c10; border-color: #A5ACAF; color: #A5ACAF; }
[data-ui-theme="eagles"] .chip.amber       { background: #3a2000; border-color: #e3b341; color: #ffe090; }
[data-ui-theme="eagles"] .chip.blue        { background: #0a2050; border-color: #388bfd; color: #79c0ff; }
[data-ui-theme="eagles"] .vbtn             { background: #001018; border-color: #006868; color: #408088; }
[data-ui-theme="eagles"] .vbtn:hover       { background: #006868; color: #d0e0e4; border-color: #A5ACAF; }

/* Commanders — burgundy + gold */
[data-ui-theme="commanders"] body              { background: #1a0808; color: #f0e0d8; }
[data-ui-theme="commanders"] .top-bar          { background: #2e1010; border-color: #5a2020; }
[data-ui-theme="commanders"] .freq-row         { background: #2e1010; border-color: #5a2020; }
[data-ui-theme="commanders"] .side-panel       { background: #1a0808; border-color: #5a2020; }
[data-ui-theme="commanders"] .center           { background: #1a0808; }
[data-ui-theme="commanders"] .dock-panel       { background: #2e1010; border-color: #5a2020; }
[data-ui-theme="commanders"] .dock-handle      { background: #100404; border-color: #5a2020; }
[data-ui-theme="commanders"] .modal-box        { background: #2e1010; border-color: #5a2020; }
[data-ui-theme="commanders"] .modal-in         { background: #1a0808; border-color: #5a2020; color: #f0e0d8; }
[data-ui-theme="commanders"] .conn-input       { background: #1a0808; border-color: #5a2020; color: #f0e0d8; }
[data-ui-theme="commanders"] .btn-connect      { background: #2e1010; border-color: #5a2020; color: #f0e0d8; }
[data-ui-theme="commanders"] .tci-log          { background: #1a0808; border-color: #5a2020; color: #f0e0d8; }
[data-ui-theme="commanders"] .smeter-readout   { background: #2e1010; }
[data-ui-theme="commanders"] .led-meter-wrap   { background: #2e1010; border-color: #5a2020; }
[data-ui-theme="commanders"] .center-dock      { background: #220c0c; border-color: #5a2020; }
[data-ui-theme="commanders"] .freq-dock        { background: #2e1010; border-color: #5a2020; }
[data-ui-theme="commanders"] .dock-title       { color: #FFB612; }
[data-ui-theme="commanders"] .ctrl-lbl         { color: #c06060; }
[data-ui-theme="commanders"] .ctrl-val         { color: #FFB612; }
[data-ui-theme="commanders"] .ctrl-head        { color: #f0e0d8; }
[data-ui-theme="commanders"] .modal-title      { color: #FFB612; }
[data-ui-theme="commanders"] .modal-lbl        { color: #c06060; }
[data-ui-theme="commanders"] .modal-row label  { color: #f0e0d8; }
[data-ui-theme="commanders"] .modal-close      { color: #c06060; }
[data-ui-theme="commanders"] .vfo-freq         { color: #FFB612; }
[data-ui-theme="commanders"] .vfo-freq .mhz    { color: #ffd060; }
[data-ui-theme="commanders"] .vfo-freq.secondary { color: #c06060; }
[data-ui-theme="commanders"] .callsign         { color: #c06060; }
[data-ui-theme="commanders"] .status-label     { color: #56d364; }
[data-ui-theme="commanders"] .sbtn             { background: #100404; border-color: #5a2020; color: #f0e0d8; }
[data-ui-theme="commanders"] .sbtn.active      { background: #FFB612; border-color: #c88000; color: #1a0808; }
[data-ui-theme="commanders"] .mbtn             { background: #100404; border-color: #5a2020; color: #f0e0d8; }
[data-ui-theme="commanders"] .mbtn.pri         { background: #FFB612; border-color: #c88000; color: #1a0808; }
[data-ui-theme="commanders"] .band-btn         { background: #100404; border-color: #5a2020; color: #c06060; }
[data-ui-theme="commanders"] .mode-btn         { background: #100404; border-color: #5a2020; color: #c06060; }
[data-ui-theme="commanders"] .mode-btn.active  { background: #FFB612; border-color: #c88000; color: #1a0808; }
[data-ui-theme="commanders"] input[type=range] { background: #5a2020; }
[data-ui-theme="commanders"] input[type=range]::-webkit-slider-thumb { background: #FFB612; border-color: #1a0808; }
[data-ui-theme="commanders"] input[type=range]::-moz-range-thumb     { background: #FFB612; border-color: #1a0808; }
[data-ui-theme="commanders"] .spec-ctrl-bar    { background: #1a0808; border-color: #5a2020; }
[data-ui-theme="commanders"] .spec-ctrl-divider { background: #5a2020; }
[data-ui-theme="commanders"] .wf-theme-btn     { background: #100404; border-color: #5a2020; color: #c06060; }
[data-ui-theme="commanders"] .wf-theme-btn:hover { background: #5a2020; color: #f0e0d8; }
[data-ui-theme="commanders"] .wf-theme-btn.active { background: #FFB612; border-color: #c88000; color: #1a0808; }
[data-ui-theme="commanders"] .band-btn.active  { background: #FFB612; border-color: #c88000; color: #1a0808; }
[data-ui-theme="commanders"] .band-btn:hover   { background: #5a2020; color: #f0e0d8; }
[data-ui-theme="commanders"] .f-btn            { background: #100404; border-color: #5a2020; color: #c06060; }
[data-ui-theme="commanders"] .f-btn.active     { background: #FFB612; border-color: #c88000; color: #1a0808; }
[data-ui-theme="commanders"] .f-btn:hover      { background: #5a2020; color: #f0e0d8; }
[data-ui-theme="commanders"] .chip             { background: #100404; border-color: #5a2020; color: #c06060; }
[data-ui-theme="commanders"] .chip:hover       { background: #5a2020; color: #f0e0d8; }
[data-ui-theme="commanders"] .chip.on          { background: #2a1800; border-color: #FFB612; color: #FFB612; }
[data-ui-theme="commanders"] .chip.amber       { background: #3a2000; border-color: #e3b341; color: #ffe090; }
[data-ui-theme="commanders"] .chip.blue        { background: #0a2050; border-color: #388bfd; color: #79c0ff; }
[data-ui-theme="commanders"] .vbtn             { background: #100404; border-color: #5a2020; color: #c06060; }
[data-ui-theme="commanders"] .vbtn:hover       { background: #5a2020; color: #f0e0d8; border-color: #FFB612; }

/* ── NFC NORTH ── */

/* Bears — navy + orange */
[data-ui-theme="bears"] body              { background: #060e22; color: #d0d8f0; }
[data-ui-theme="bears"] .top-bar          { background: #0B1F44; border-color: #183080; }
[data-ui-theme="bears"] .freq-row         { background: #0B1F44; border-color: #183080; }
[data-ui-theme="bears"] .side-panel       { background: #060e22; border-color: #183080; }
[data-ui-theme="bears"] .center           { background: #060e22; }
[data-ui-theme="bears"] .dock-panel       { background: #0B1F44; border-color: #183080; }
[data-ui-theme="bears"] .dock-handle      { background: #040a18; border-color: #183080; }
[data-ui-theme="bears"] .modal-box        { background: #0B1F44; border-color: #183080; }
[data-ui-theme="bears"] .modal-in         { background: #060e22; border-color: #183080; color: #d0d8f0; }
[data-ui-theme="bears"] .conn-input       { background: #060e22; border-color: #183080; color: #d0d8f0; }
[data-ui-theme="bears"] .btn-connect      { background: #0B1F44; border-color: #183080; color: #d0d8f0; }
[data-ui-theme="bears"] .tci-log          { background: #060e22; border-color: #183080; color: #d0d8f0; }
[data-ui-theme="bears"] .smeter-readout   { background: #0B1F44; }
[data-ui-theme="bears"] .led-meter-wrap   { background: #0B1F44; border-color: #183080; }
[data-ui-theme="bears"] .center-dock      { background: #081530; border-color: #183080; }
[data-ui-theme="bears"] .freq-dock        { background: #0B1F44; border-color: #183080; }
[data-ui-theme="bears"] .dock-title       { color: #C83803; }
[data-ui-theme="bears"] .ctrl-lbl         { color: #3060a0; }
[data-ui-theme="bears"] .ctrl-val         { color: #C83803; }
[data-ui-theme="bears"] .ctrl-head        { color: #d0d8f0; }
[data-ui-theme="bears"] .modal-title      { color: #C83803; }
[data-ui-theme="bears"] .modal-lbl        { color: #3060a0; }
[data-ui-theme="bears"] .modal-row label  { color: #d0d8f0; }
[data-ui-theme="bears"] .modal-close      { color: #3060a0; }
[data-ui-theme="bears"] .vfo-freq         { color: #e05820; }
[data-ui-theme="bears"] .vfo-freq .mhz    { color: #ff8040; }
[data-ui-theme="bears"] .vfo-freq.secondary { color: #3060a0; }
[data-ui-theme="bears"] .callsign         { color: #3060a0; }
[data-ui-theme="bears"] .status-label     { color: #56d364; }
[data-ui-theme="bears"] .sbtn             { background: #040a18; border-color: #183080; color: #d0d8f0; }
[data-ui-theme="bears"] .sbtn.active      { background: #C83803; border-color: #902000; color: #ffffff; }
[data-ui-theme="bears"] .mbtn             { background: #040a18; border-color: #183080; color: #d0d8f0; }
[data-ui-theme="bears"] .mbtn.pri         { background: #C83803; border-color: #902000; color: #ffffff; }
[data-ui-theme="bears"] .band-btn         { background: #040a18; border-color: #183080; color: #3060a0; }
[data-ui-theme="bears"] .mode-btn         { background: #040a18; border-color: #183080; color: #3060a0; }
[data-ui-theme="bears"] .mode-btn.active  { background: #C83803; border-color: #902000; color: #ffffff; }
[data-ui-theme="bears"] input[type=range] { background: #183080; }
[data-ui-theme="bears"] input[type=range]::-webkit-slider-thumb { background: #C83803; border-color: #060e22; }
[data-ui-theme="bears"] input[type=range]::-moz-range-thumb     { background: #C83803; border-color: #060e22; }
[data-ui-theme="bears"] .spec-ctrl-bar    { background: #060e22; border-color: #183080; }
[data-ui-theme="bears"] .spec-ctrl-divider { background: #183080; }
[data-ui-theme="bears"] .wf-theme-btn     { background: #040a18; border-color: #183080; color: #3060a0; }
[data-ui-theme="bears"] .wf-theme-btn:hover { background: #183080; color: #d0d8f0; }
[data-ui-theme="bears"] .wf-theme-btn.active { background: #C83803; border-color: #902000; color: #ffffff; }
[data-ui-theme="bears"] .band-btn.active  { background: #C83803; border-color: #902000; color: #ffffff; }
[data-ui-theme="bears"] .band-btn:hover   { background: #183080; color: #d0d8f0; }
[data-ui-theme="bears"] .f-btn            { background: #040a18; border-color: #183080; color: #3060a0; }
[data-ui-theme="bears"] .f-btn.active     { background: #C83803; border-color: #902000; color: #ffffff; }
[data-ui-theme="bears"] .f-btn:hover      { background: #183080; color: #d0d8f0; }
[data-ui-theme="bears"] .chip             { background: #040a18; border-color: #183080; color: #3060a0; }
[data-ui-theme="bears"] .chip:hover       { background: #183080; color: #d0d8f0; }
[data-ui-theme="bears"] .chip.on          { background: #2a1000; border-color: #C83803; color: #e05820; }
[data-ui-theme="bears"] .chip.amber       { background: #3a2000; border-color: #e3b341; color: #ffe090; }
[data-ui-theme="bears"] .chip.blue        { background: #0a2050; border-color: #388bfd; color: #79c0ff; }
[data-ui-theme="bears"] .vbtn             { background: #040a18; border-color: #183080; color: #3060a0; }
[data-ui-theme="bears"] .vbtn:hover       { background: #183080; color: #d0d8f0; border-color: #C83803; }

/* Lions — Honolulu blue + silver */
[data-ui-theme="lions"] body              { background: #001030; color: #d0e4f0; }
[data-ui-theme="lions"] .top-bar          { background: #003868; border-color: #006090; }
[data-ui-theme="lions"] .freq-row         { background: #003868; border-color: #006090; }
[data-ui-theme="lions"] .side-panel       { background: #001030; border-color: #006090; }
[data-ui-theme="lions"] .center           { background: #001030; }
[data-ui-theme="lions"] .dock-panel       { background: #003868; border-color: #006090; }
[data-ui-theme="lions"] .dock-handle      { background: #001840; border-color: #006090; }
[data-ui-theme="lions"] .modal-box        { background: #003868; border-color: #006090; }
[data-ui-theme="lions"] .modal-in         { background: #001030; border-color: #006090; color: #d0e4f0; }
[data-ui-theme="lions"] .conn-input       { background: #001030; border-color: #006090; color: #d0e4f0; }
[data-ui-theme="lions"] .btn-connect      { background: #003868; border-color: #006090; color: #d0e4f0; }
[data-ui-theme="lions"] .tci-log          { background: #001030; border-color: #006090; color: #d0e4f0; }
[data-ui-theme="lions"] .smeter-readout   { background: #003868; }
[data-ui-theme="lions"] .led-meter-wrap   { background: #003868; border-color: #006090; }
[data-ui-theme="lions"] .center-dock      { background: #002048; border-color: #006090; }
[data-ui-theme="lions"] .freq-dock        { background: #003868; border-color: #006090; }
[data-ui-theme="lions"] .dock-title       { color: #B0B7BC; }
[data-ui-theme="lions"] .ctrl-lbl         { color: #3080b8; }
[data-ui-theme="lions"] .ctrl-val         { color: #B0B7BC; }
[data-ui-theme="lions"] .ctrl-head        { color: #d0e4f0; }
[data-ui-theme="lions"] .modal-title      { color: #B0B7BC; }
[data-ui-theme="lions"] .modal-lbl        { color: #3080b8; }
[data-ui-theme="lions"] .modal-row label  { color: #d0e4f0; }
[data-ui-theme="lions"] .modal-close      { color: #3080b8; }
[data-ui-theme="lions"] .vfo-freq         { color: #c8d4da; }
[data-ui-theme="lions"] .vfo-freq .mhz    { color: #e0edf8; }
[data-ui-theme="lions"] .vfo-freq.secondary { color: #3080b8; }
[data-ui-theme="lions"] .callsign         { color: #3080b8; }
[data-ui-theme="lions"] .status-label     { color: #56d364; }
[data-ui-theme="lions"] .sbtn             { background: #001840; border-color: #006090; color: #d0e4f0; }
[data-ui-theme="lions"] .sbtn.active      { background: #B0B7BC; border-color: #808890; color: #001030; }
[data-ui-theme="lions"] .mbtn             { background: #001840; border-color: #006090; color: #d0e4f0; }
[data-ui-theme="lions"] .mbtn.pri         { background: #B0B7BC; border-color: #808890; color: #001030; }
[data-ui-theme="lions"] .band-btn         { background: #001840; border-color: #006090; color: #3080b8; }
[data-ui-theme="lions"] .mode-btn         { background: #001840; border-color: #006090; color: #3080b8; }
[data-ui-theme="lions"] .mode-btn.active  { background: #B0B7BC; border-color: #808890; color: #001030; }
[data-ui-theme="lions"] input[type=range] { background: #006090; }
[data-ui-theme="lions"] input[type=range]::-webkit-slider-thumb { background: #B0B7BC; border-color: #001030; }
[data-ui-theme="lions"] input[type=range]::-moz-range-thumb     { background: #B0B7BC; border-color: #001030; }
[data-ui-theme="lions"] .spec-ctrl-bar    { background: #001030; border-color: #006090; }
[data-ui-theme="lions"] .spec-ctrl-divider { background: #006090; }
[data-ui-theme="lions"] .wf-theme-btn     { background: #001840; border-color: #006090; color: #3080b8; }
[data-ui-theme="lions"] .wf-theme-btn:hover { background: #006090; color: #d0e4f0; }
[data-ui-theme="lions"] .wf-theme-btn.active { background: #B0B7BC; border-color: #808890; color: #001030; }
[data-ui-theme="lions"] .band-btn.active  { background: #B0B7BC; border-color: #808890; color: #001030; }
[data-ui-theme="lions"] .band-btn:hover   { background: #006090; color: #d0e4f0; }
[data-ui-theme="lions"] .f-btn            { background: #001840; border-color: #006090; color: #3080b8; }
[data-ui-theme="lions"] .f-btn.active     { background: #B0B7BC; border-color: #808890; color: #001030; }
[data-ui-theme="lions"] .f-btn:hover      { background: #006090; color: #d0e4f0; }
[data-ui-theme="lions"] .chip             { background: #001840; border-color: #006090; color: #3080b8; }
[data-ui-theme="lions"] .chip:hover       { background: #006090; color: #d0e4f0; }
[data-ui-theme="lions"] .chip.on          { background: #101820; border-color: #B0B7BC; color: #B0B7BC; }
[data-ui-theme="lions"] .chip.amber       { background: #3a2000; border-color: #e3b341; color: #ffe090; }
[data-ui-theme="lions"] .chip.blue        { background: #0a2050; border-color: #388bfd; color: #79c0ff; }
[data-ui-theme="lions"] .vbtn             { background: #001840; border-color: #006090; color: #3080b8; }
[data-ui-theme="lions"] .vbtn:hover       { background: #006090; color: #d0e4f0; border-color: #B0B7BC; }

/* Vikings — purple + gold */
[data-ui-theme="vikings"] body              { background: #1a0d30; color: #e8d8f8; }
[data-ui-theme="vikings"] .top-bar          { background: #2e1a60; border-color: #4a2888; }
[data-ui-theme="vikings"] .freq-row         { background: #2e1a60; border-color: #4a2888; }
[data-ui-theme="vikings"] .side-panel       { background: #1a0d30; border-color: #4a2888; }
[data-ui-theme="vikings"] .center           { background: #1a0d30; }
[data-ui-theme="vikings"] .dock-panel       { background: #2e1a60; border-color: #4a2888; }
[data-ui-theme="vikings"] .dock-handle      { background: #100820; border-color: #4a2888; }
[data-ui-theme="vikings"] .modal-box        { background: #2e1a60; border-color: #4a2888; }
[data-ui-theme="vikings"] .modal-in         { background: #1a0d30; border-color: #4a2888; color: #e8d8f8; }
[data-ui-theme="vikings"] .conn-input       { background: #1a0d30; border-color: #4a2888; color: #e8d8f8; }
[data-ui-theme="vikings"] .btn-connect      { background: #2e1a60; border-color: #4a2888; color: #e8d8f8; }
[data-ui-theme="vikings"] .tci-log          { background: #1a0d30; border-color: #4a2888; color: #e8d8f8; }
[data-ui-theme="vikings"] .smeter-readout   { background: #2e1a60; }
[data-ui-theme="vikings"] .led-meter-wrap   { background: #2e1a60; border-color: #4a2888; }
[data-ui-theme="vikings"] .center-dock      { background: #221040; border-color: #4a2888; }
[data-ui-theme="vikings"] .freq-dock        { background: #2e1a60; border-color: #4a2888; }
[data-ui-theme="vikings"] .dock-title       { color: #FFC62F; }
[data-ui-theme="vikings"] .ctrl-lbl         { color: #9060d0; }
[data-ui-theme="vikings"] .ctrl-val         { color: #FFC62F; }
[data-ui-theme="vikings"] .ctrl-head        { color: #e8d8f8; }
[data-ui-theme="vikings"] .modal-title      { color: #FFC62F; }
[data-ui-theme="vikings"] .modal-lbl        { color: #9060d0; }
[data-ui-theme="vikings"] .modal-row label  { color: #e8d8f8; }
[data-ui-theme="vikings"] .modal-close      { color: #9060d0; }
[data-ui-theme="vikings"] .vfo-freq         { color: #FFC62F; }
[data-ui-theme="vikings"] .vfo-freq .mhz    { color: #ffe080; }
[data-ui-theme="vikings"] .vfo-freq.secondary { color: #9060d0; }
[data-ui-theme="vikings"] .callsign         { color: #9060d0; }
[data-ui-theme="vikings"] .status-label     { color: #56d364; }
[data-ui-theme="vikings"] .sbtn             { background: #100820; border-color: #4a2888; color: #e8d8f8; }
[data-ui-theme="vikings"] .sbtn.active      { background: #FFC62F; border-color: #c89000; color: #1a0d30; }
[data-ui-theme="vikings"] .mbtn             { background: #100820; border-color: #4a2888; color: #e8d8f8; }
[data-ui-theme="vikings"] .mbtn.pri         { background: #FFC62F; border-color: #c89000; color: #1a0d30; }
[data-ui-theme="vikings"] .band-btn         { background: #100820; border-color: #4a2888; color: #9060d0; }
[data-ui-theme="vikings"] .mode-btn         { background: #100820; border-color: #4a2888; color: #9060d0; }
[data-ui-theme="vikings"] .mode-btn.active  { background: #FFC62F; border-color: #c89000; color: #1a0d30; }
[data-ui-theme="vikings"] input[type=range] { background: #4a2888; }
[data-ui-theme="vikings"] input[type=range]::-webkit-slider-thumb { background: #FFC62F; border-color: #1a0d30; }
[data-ui-theme="vikings"] input[type=range]::-moz-range-thumb     { background: #FFC62F; border-color: #1a0d30; }
[data-ui-theme="vikings"] .spec-ctrl-bar    { background: #1a0d30; border-color: #4a2888; }
[data-ui-theme="vikings"] .spec-ctrl-divider { background: #4a2888; }
[data-ui-theme="vikings"] .wf-theme-btn     { background: #100820; border-color: #4a2888; color: #9060d0; }
[data-ui-theme="vikings"] .wf-theme-btn:hover { background: #4a2888; color: #e8d8f8; }
[data-ui-theme="vikings"] .wf-theme-btn.active { background: #FFC62F; border-color: #c89000; color: #1a0d30; }
[data-ui-theme="vikings"] .band-btn.active  { background: #FFC62F; border-color: #c89000; color: #1a0d30; }
[data-ui-theme="vikings"] .band-btn:hover   { background: #4a2888; color: #e8d8f8; }
[data-ui-theme="vikings"] .f-btn            { background: #100820; border-color: #4a2888; color: #9060d0; }
[data-ui-theme="vikings"] .f-btn.active     { background: #FFC62F; border-color: #c89000; color: #1a0d30; }
[data-ui-theme="vikings"] .f-btn:hover      { background: #4a2888; color: #e8d8f8; }
[data-ui-theme="vikings"] .chip             { background: #100820; border-color: #4a2888; color: #9060d0; }
[data-ui-theme="vikings"] .chip:hover       { background: #4a2888; color: #e8d8f8; }
[data-ui-theme="vikings"] .chip.on          { background: #302000; border-color: #FFC62F; color: #FFC62F; }
[data-ui-theme="vikings"] .chip.amber       { background: #3a2000; border-color: #e3b341; color: #ffe090; }
[data-ui-theme="vikings"] .chip.blue        { background: #0a2050; border-color: #388bfd; color: #79c0ff; }
[data-ui-theme="vikings"] .vbtn             { background: #100820; border-color: #4a2888; color: #9060d0; }
[data-ui-theme="vikings"] .vbtn:hover       { background: #4a2888; color: #e8d8f8; border-color: #FFC62F; }

/* ── NFC SOUTH ── */

/* Falcons — black + red */
[data-ui-theme="falcons"] body              { background: #0a0808; color: #f0e8e8; }
[data-ui-theme="falcons"] .top-bar          { background: #181010; border-color: #2e2020; }
[data-ui-theme="falcons"] .freq-row         { background: #181010; border-color: #2e2020; }
[data-ui-theme="falcons"] .side-panel       { background: #0a0808; border-color: #2e2020; }
[data-ui-theme="falcons"] .center           { background: #0a0808; }
[data-ui-theme="falcons"] .dock-panel       { background: #181010; border-color: #2e2020; }
[data-ui-theme="falcons"] .dock-handle      { background: #060404; border-color: #2e2020; }
[data-ui-theme="falcons"] .modal-box        { background: #181010; border-color: #2e2020; }
[data-ui-theme="falcons"] .modal-in         { background: #0a0808; border-color: #2e2020; color: #f0e8e8; }
[data-ui-theme="falcons"] .conn-input       { background: #0a0808; border-color: #2e2020; color: #f0e8e8; }
[data-ui-theme="falcons"] .btn-connect      { background: #181010; border-color: #2e2020; color: #f0e8e8; }
[data-ui-theme="falcons"] .tci-log          { background: #0a0808; border-color: #2e2020; color: #f0e8e8; }
[data-ui-theme="falcons"] .smeter-readout   { background: #181010; }
[data-ui-theme="falcons"] .led-meter-wrap   { background: #181010; border-color: #2e2020; }
[data-ui-theme="falcons"] .center-dock      { background: #0e0c0c; border-color: #2e2020; }
[data-ui-theme="falcons"] .freq-dock        { background: #181010; border-color: #2e2020; }
[data-ui-theme="falcons"] .dock-title       { color: #A71930; }
[data-ui-theme="falcons"] .ctrl-lbl         { color: #887878; }
[data-ui-theme="falcons"] .ctrl-val         { color: #c04060; }
[data-ui-theme="falcons"] .ctrl-head        { color: #f0e8e8; }
[data-ui-theme="falcons"] .modal-title      { color: #A71930; }
[data-ui-theme="falcons"] .modal-lbl        { color: #887878; }
[data-ui-theme="falcons"] .modal-row label  { color: #f0e8e8; }
[data-ui-theme="falcons"] .modal-close      { color: #887878; }
[data-ui-theme="falcons"] .vfo-freq         { color: #c04060; }
[data-ui-theme="falcons"] .vfo-freq .mhz    { color: #e06080; }
[data-ui-theme="falcons"] .vfo-freq.secondary { color: #887878; }
[data-ui-theme="falcons"] .callsign         { color: #887878; }
[data-ui-theme="falcons"] .status-label     { color: #56d364; }
[data-ui-theme="falcons"] .sbtn             { background: #060404; border-color: #2e2020; color: #f0e8e8; }
[data-ui-theme="falcons"] .sbtn.active      { background: #A71930; border-color: #800010; color: #ffffff; }
[data-ui-theme="falcons"] .mbtn             { background: #060404; border-color: #2e2020; color: #f0e8e8; }
[data-ui-theme="falcons"] .mbtn.pri         { background: #A71930; border-color: #800010; color: #ffffff; }
[data-ui-theme="falcons"] .band-btn         { background: #060404; border-color: #2e2020; color: #887878; }
[data-ui-theme="falcons"] .mode-btn         { background: #060404; border-color: #2e2020; color: #887878; }
[data-ui-theme="falcons"] .mode-btn.active  { background: #A71930; border-color: #800010; color: #ffffff; }
[data-ui-theme="falcons"] input[type=range] { background: #2e2020; }
[data-ui-theme="falcons"] input[type=range]::-webkit-slider-thumb { background: #A71930; border-color: #0a0808; }
[data-ui-theme="falcons"] input[type=range]::-moz-range-thumb     { background: #A71930; border-color: #0a0808; }
[data-ui-theme="falcons"] .spec-ctrl-bar    { background: #0a0808; border-color: #2e2020; }
[data-ui-theme="falcons"] .spec-ctrl-divider { background: #2e2020; }
[data-ui-theme="falcons"] .wf-theme-btn     { background: #060404; border-color: #2e2020; color: #887878; }
[data-ui-theme="falcons"] .wf-theme-btn:hover { background: #2e2020; color: #f0e8e8; }
[data-ui-theme="falcons"] .wf-theme-btn.active { background: #A71930; border-color: #800010; color: #ffffff; }
[data-ui-theme="falcons"] .band-btn.active  { background: #A71930; border-color: #800010; color: #ffffff; }
[data-ui-theme="falcons"] .band-btn:hover   { background: #2e2020; color: #f0e8e8; }
[data-ui-theme="falcons"] .f-btn            { background: #060404; border-color: #2e2020; color: #887878; }
[data-ui-theme="falcons"] .f-btn.active     { background: #A71930; border-color: #800010; color: #ffffff; }
[data-ui-theme="falcons"] .f-btn:hover      { background: #2e2020; color: #f0e8e8; }
[data-ui-theme="falcons"] .chip             { background: #060404; border-color: #2e2020; color: #887878; }
[data-ui-theme="falcons"] .chip:hover       { background: #2e2020; color: #f0e8e8; }
[data-ui-theme="falcons"] .chip.on          { background: #1a0010; border-color: #A71930; color: #c04060; }
[data-ui-theme="falcons"] .chip.amber       { background: #3a2000; border-color: #e3b341; color: #ffe090; }
[data-ui-theme="falcons"] .chip.blue        { background: #0a2050; border-color: #388bfd; color: #79c0ff; }
[data-ui-theme="falcons"] .vbtn             { background: #060404; border-color: #2e2020; color: #887878; }
[data-ui-theme="falcons"] .vbtn:hover       { background: #2e2020; color: #f0e8e8; border-color: #A71930; }

/* Panthers — black + blue */
[data-ui-theme="panthers"] body              { background: #0c0c0c; color: #e0e8f0; }
[data-ui-theme="panthers"] .top-bar          { background: #161616; border-color: #2e2e2e; }
[data-ui-theme="panthers"] .freq-row         { background: #161616; border-color: #2e2e2e; }
[data-ui-theme="panthers"] .side-panel       { background: #0c0c0c; border-color: #2e2e2e; }
[data-ui-theme="panthers"] .center           { background: #0c0c0c; }
[data-ui-theme="panthers"] .dock-panel       { background: #161616; border-color: #2e2e2e; }
[data-ui-theme="panthers"] .dock-handle      { background: #080808; border-color: #2e2e2e; }
[data-ui-theme="panthers"] .modal-box        { background: #161616; border-color: #2e2e2e; }
[data-ui-theme="panthers"] .modal-in         { background: #0c0c0c; border-color: #2e2e2e; color: #e0e8f0; }
[data-ui-theme="panthers"] .conn-input       { background: #0c0c0c; border-color: #2e2e2e; color: #e0e8f0; }
[data-ui-theme="panthers"] .btn-connect      { background: #161616; border-color: #2e2e2e; color: #e0e8f0; }
[data-ui-theme="panthers"] .tci-log          { background: #0c0c0c; border-color: #2e2e2e; color: #e0e8f0; }
[data-ui-theme="panthers"] .smeter-readout   { background: #161616; }
[data-ui-theme="panthers"] .led-meter-wrap   { background: #161616; border-color: #2e2e2e; }
[data-ui-theme="panthers"] .center-dock      { background: #101010; border-color: #2e2e2e; }
[data-ui-theme="panthers"] .freq-dock        { background: #161616; border-color: #2e2e2e; }
[data-ui-theme="panthers"] .dock-title       { color: #0085CA; }
[data-ui-theme="panthers"] .ctrl-lbl         { color: #508090; }
[data-ui-theme="panthers"] .ctrl-val         { color: #0085CA; }
[data-ui-theme="panthers"] .ctrl-head        { color: #e0e8f0; }
[data-ui-theme="panthers"] .modal-title      { color: #0085CA; }
[data-ui-theme="panthers"] .modal-lbl        { color: #508090; }
[data-ui-theme="panthers"] .modal-row label  { color: #e0e8f0; }
[data-ui-theme="panthers"] .modal-close      { color: #508090; }
[data-ui-theme="panthers"] .vfo-freq         { color: #0085CA; }
[data-ui-theme="panthers"] .vfo-freq .mhz    { color: #40b0f0; }
[data-ui-theme="panthers"] .vfo-freq.secondary { color: #508090; }
[data-ui-theme="panthers"] .callsign         { color: #508090; }
[data-ui-theme="panthers"] .status-label     { color: #56d364; }
[data-ui-theme="panthers"] .sbtn             { background: #080808; border-color: #2e2e2e; color: #e0e8f0; }
[data-ui-theme="panthers"] .sbtn.active      { background: #0085CA; border-color: #005090; color: #ffffff; }
[data-ui-theme="panthers"] .mbtn             { background: #080808; border-color: #2e2e2e; color: #e0e8f0; }
[data-ui-theme="panthers"] .mbtn.pri         { background: #0085CA; border-color: #005090; color: #ffffff; }
[data-ui-theme="panthers"] .band-btn         { background: #080808; border-color: #2e2e2e; color: #508090; }
[data-ui-theme="panthers"] .mode-btn         { background: #080808; border-color: #2e2e2e; color: #508090; }
[data-ui-theme="panthers"] .mode-btn.active  { background: #0085CA; border-color: #005090; color: #ffffff; }
[data-ui-theme="panthers"] input[type=range] { background: #2e2e2e; }
[data-ui-theme="panthers"] input[type=range]::-webkit-slider-thumb { background: #0085CA; border-color: #0c0c0c; }
[data-ui-theme="panthers"] input[type=range]::-moz-range-thumb     { background: #0085CA; border-color: #0c0c0c; }
[data-ui-theme="panthers"] .spec-ctrl-bar    { background: #0c0c0c; border-color: #2e2e2e; }
[data-ui-theme="panthers"] .spec-ctrl-divider { background: #2e2e2e; }
[data-ui-theme="panthers"] .wf-theme-btn     { background: #080808; border-color: #2e2e2e; color: #508090; }
[data-ui-theme="panthers"] .wf-theme-btn:hover { background: #2e2e2e; color: #e0e8f0; }
[data-ui-theme="panthers"] .wf-theme-btn.active { background: #0085CA; border-color: #005090; color: #ffffff; }
[data-ui-theme="panthers"] .band-btn.active  { background: #0085CA; border-color: #005090; color: #ffffff; }
[data-ui-theme="panthers"] .band-btn:hover   { background: #2e2e2e; color: #e0e8f0; }
[data-ui-theme="panthers"] .f-btn            { background: #080808; border-color: #2e2e2e; color: #508090; }
[data-ui-theme="panthers"] .f-btn.active     { background: #0085CA; border-color: #005090; color: #ffffff; }
[data-ui-theme="panthers"] .f-btn:hover      { background: #2e2e2e; color: #e0e8f0; }
[data-ui-theme="panthers"] .chip             { background: #080808; border-color: #2e2e2e; color: #508090; }
[data-ui-theme="panthers"] .chip:hover       { background: #2e2e2e; color: #e0e8f0; }
[data-ui-theme="panthers"] .chip.on          { background: #001828; border-color: #0085CA; color: #0085CA; }
[data-ui-theme="panthers"] .chip.amber       { background: #3a2000; border-color: #e3b341; color: #ffe090; }
[data-ui-theme="panthers"] .chip.blue        { background: #0a2050; border-color: #388bfd; color: #79c0ff; }
[data-ui-theme="panthers"] .vbtn             { background: #080808; border-color: #2e2e2e; color: #508090; }
[data-ui-theme="panthers"] .vbtn:hover       { background: #2e2e2e; color: #e0e8f0; border-color: #0085CA; }

/* Saints — black + old gold */
[data-ui-theme="saints"] body              { background: #0a0808; color: #f0ece0; }
[data-ui-theme="saints"] .top-bar          { background: #181010; border-color: #2e2020; }
[data-ui-theme="saints"] .freq-row         { background: #181010; border-color: #2e2020; }
[data-ui-theme="saints"] .side-panel       { background: #0a0808; border-color: #2e2020; }
[data-ui-theme="saints"] .center           { background: #0a0808; }
[data-ui-theme="saints"] .dock-panel       { background: #181010; border-color: #2e2020; }
[data-ui-theme="saints"] .dock-handle      { background: #060404; border-color: #2e2020; }
[data-ui-theme="saints"] .modal-box        { background: #181010; border-color: #2e2020; }
[data-ui-theme="saints"] .modal-in         { background: #0a0808; border-color: #2e2020; color: #f0ece0; }
[data-ui-theme="saints"] .conn-input       { background: #0a0808; border-color: #2e2020; color: #f0ece0; }
[data-ui-theme="saints"] .btn-connect      { background: #181010; border-color: #2e2020; color: #f0ece0; }
[data-ui-theme="saints"] .tci-log          { background: #0a0808; border-color: #2e2020; color: #f0ece0; }
[data-ui-theme="saints"] .smeter-readout   { background: #181010; }
[data-ui-theme="saints"] .led-meter-wrap   { background: #181010; border-color: #2e2020; }
[data-ui-theme="saints"] .center-dock      { background: #0e0c0c; border-color: #2e2020; }
[data-ui-theme="saints"] .freq-dock        { background: #181010; border-color: #2e2020; }
[data-ui-theme="saints"] .dock-title       { color: #D3BC8D; }
[data-ui-theme="saints"] .ctrl-lbl         { color: #887060; }
[data-ui-theme="saints"] .ctrl-val         { color: #D3BC8D; }
[data-ui-theme="saints"] .ctrl-head        { color: #f0ece0; }
[data-ui-theme="saints"] .modal-title      { color: #D3BC8D; }
[data-ui-theme="saints"] .modal-lbl        { color: #887060; }
[data-ui-theme="saints"] .modal-row label  { color: #f0ece0; }
[data-ui-theme="saints"] .modal-close      { color: #887060; }
[data-ui-theme="saints"] .vfo-freq         { color: #D3BC8D; }
[data-ui-theme="saints"] .vfo-freq .mhz    { color: #f0d8a0; }
[data-ui-theme="saints"] .vfo-freq.secondary { color: #887060; }
[data-ui-theme="saints"] .callsign         { color: #887060; }
[data-ui-theme="saints"] .status-label     { color: #56d364; }
[data-ui-theme="saints"] .sbtn             { background: #060404; border-color: #2e2020; color: #f0ece0; }
[data-ui-theme="saints"] .sbtn.active      { background: #D3BC8D; border-color: #a08850; color: #181010; }
[data-ui-theme="saints"] .mbtn             { background: #060404; border-color: #2e2020; color: #f0ece0; }
[data-ui-theme="saints"] .mbtn.pri         { background: #D3BC8D; border-color: #a08850; color: #181010; }
[data-ui-theme="saints"] .band-btn         { background: #060404; border-color: #2e2020; color: #887060; }
[data-ui-theme="saints"] .mode-btn         { background: #060404; border-color: #2e2020; color: #887060; }
[data-ui-theme="saints"] .mode-btn.active  { background: #D3BC8D; border-color: #a08850; color: #181010; }
[data-ui-theme="saints"] input[type=range] { background: #2e2020; }
[data-ui-theme="saints"] input[type=range]::-webkit-slider-thumb { background: #D3BC8D; border-color: #0a0808; }
[data-ui-theme="saints"] input[type=range]::-moz-range-thumb     { background: #D3BC8D; border-color: #0a0808; }
[data-ui-theme="saints"] .spec-ctrl-bar    { background: #0a0808; border-color: #2e2020; }
[data-ui-theme="saints"] .spec-ctrl-divider { background: #2e2020; }
[data-ui-theme="saints"] .wf-theme-btn     { background: #060404; border-color: #2e2020; color: #887060; }
[data-ui-theme="saints"] .wf-theme-btn:hover { background: #2e2020; color: #f0ece0; }
[data-ui-theme="saints"] .wf-theme-btn.active { background: #D3BC8D; border-color: #a08850; color: #181010; }
[data-ui-theme="saints"] .band-btn.active  { background: #D3BC8D; border-color: #a08850; color: #181010; }
[data-ui-theme="saints"] .band-btn:hover   { background: #2e2020; color: #f0ece0; }
[data-ui-theme="saints"] .f-btn            { background: #060404; border-color: #2e2020; color: #887060; }
[data-ui-theme="saints"] .f-btn.active     { background: #D3BC8D; border-color: #a08850; color: #181010; }
[data-ui-theme="saints"] .f-btn:hover      { background: #2e2020; color: #f0ece0; }
[data-ui-theme="saints"] .chip             { background: #060404; border-color: #2e2020; color: #887060; }
[data-ui-theme="saints"] .chip:hover       { background: #2e2020; color: #f0ece0; }
[data-ui-theme="saints"] .chip.on          { background: #1a1400; border-color: #D3BC8D; color: #D3BC8D; }
[data-ui-theme="saints"] .chip.amber       { background: #3a2000; border-color: #e3b341; color: #ffe090; }
[data-ui-theme="saints"] .chip.blue        { background: #0a2050; border-color: #388bfd; color: #79c0ff; }
[data-ui-theme="saints"] .vbtn             { background: #060404; border-color: #2e2020; color: #887060; }
[data-ui-theme="saints"] .vbtn:hover       { background: #2e2020; color: #f0ece0; border-color: #D3BC8D; }

/* Buccaneers — dark red + pewter */
[data-ui-theme="bucs"] body              { background: #120808; color: #f0e0d8; }
[data-ui-theme="bucs"] .top-bar          { background: #200c0c; border-color: #401818; }
[data-ui-theme="bucs"] .freq-row         { background: #200c0c; border-color: #401818; }
[data-ui-theme="bucs"] .side-panel       { background: #120808; border-color: #401818; }
[data-ui-theme="bucs"] .center           { background: #120808; }
[data-ui-theme="bucs"] .dock-panel       { background: #200c0c; border-color: #401818; }
[data-ui-theme="bucs"] .dock-handle      { background: #0c0404; border-color: #401818; }
[data-ui-theme="bucs"] .modal-box        { background: #200c0c; border-color: #401818; }
[data-ui-theme="bucs"] .modal-in         { background: #120808; border-color: #401818; color: #f0e0d8; }
[data-ui-theme="bucs"] .conn-input       { background: #120808; border-color: #401818; color: #f0e0d8; }
[data-ui-theme="bucs"] .btn-connect      { background: #200c0c; border-color: #401818; color: #f0e0d8; }
[data-ui-theme="bucs"] .tci-log          { background: #120808; border-color: #401818; color: #f0e0d8; }
[data-ui-theme="bucs"] .smeter-readout   { background: #200c0c; }
[data-ui-theme="bucs"] .led-meter-wrap   { background: #200c0c; border-color: #401818; }
[data-ui-theme="bucs"] .center-dock      { background: #180808; border-color: #401818; }
[data-ui-theme="bucs"] .freq-dock        { background: #200c0c; border-color: #401818; }
[data-ui-theme="bucs"] .dock-title       { color: #D50A0A; }
[data-ui-theme="bucs"] .ctrl-lbl         { color: #8a4848; }
[data-ui-theme="bucs"] .ctrl-val         { color: #ff5050; }
[data-ui-theme="bucs"] .ctrl-head        { color: #f0e0d8; }
[data-ui-theme="bucs"] .modal-title      { color: #D50A0A; }
[data-ui-theme="bucs"] .modal-lbl        { color: #8a4848; }
[data-ui-theme="bucs"] .modal-row label  { color: #f0e0d8; }
[data-ui-theme="bucs"] .modal-close      { color: #8a4848; }
[data-ui-theme="bucs"] .vfo-freq         { color: #ff5050; }
[data-ui-theme="bucs"] .vfo-freq .mhz    { color: #ff8080; }
[data-ui-theme="bucs"] .vfo-freq.secondary { color: #8a4848; }
[data-ui-theme="bucs"] .callsign         { color: #8a4848; }
[data-ui-theme="bucs"] .status-label     { color: #56d364; }
[data-ui-theme="bucs"] .sbtn             { background: #0c0404; border-color: #401818; color: #f0e0d8; }
[data-ui-theme="bucs"] .sbtn.active      { background: #D50A0A; border-color: #900000; color: #ffffff; }
[data-ui-theme="bucs"] .mbtn             { background: #0c0404; border-color: #401818; color: #f0e0d8; }
[data-ui-theme="bucs"] .mbtn.pri         { background: #D50A0A; border-color: #900000; color: #ffffff; }
[data-ui-theme="bucs"] .band-btn         { background: #0c0404; border-color: #401818; color: #8a4848; }
[data-ui-theme="bucs"] .mode-btn         { background: #0c0404; border-color: #401818; color: #8a4848; }
[data-ui-theme="bucs"] .mode-btn.active  { background: #D50A0A; border-color: #900000; color: #ffffff; }
[data-ui-theme="bucs"] input[type=range] { background: #401818; }
[data-ui-theme="bucs"] input[type=range]::-webkit-slider-thumb { background: #D50A0A; border-color: #120808; }
[data-ui-theme="bucs"] input[type=range]::-moz-range-thumb     { background: #D50A0A; border-color: #120808; }
[data-ui-theme="bucs"] .spec-ctrl-bar    { background: #120808; border-color: #401818; }
[data-ui-theme="bucs"] .spec-ctrl-divider { background: #401818; }
[data-ui-theme="bucs"] .wf-theme-btn     { background: #0c0404; border-color: #401818; color: #8a4848; }
[data-ui-theme="bucs"] .wf-theme-btn:hover { background: #401818; color: #f0e0d8; }
[data-ui-theme="bucs"] .wf-theme-btn.active { background: #D50A0A; border-color: #900000; color: #ffffff; }
[data-ui-theme="bucs"] .band-btn.active  { background: #D50A0A; border-color: #900000; color: #ffffff; }
[data-ui-theme="bucs"] .band-btn:hover   { background: #401818; color: #f0e0d8; }
[data-ui-theme="bucs"] .f-btn            { background: #0c0404; border-color: #401818; color: #8a4848; }
[data-ui-theme="bucs"] .f-btn.active     { background: #D50A0A; border-color: #900000; color: #ffffff; }
[data-ui-theme="bucs"] .f-btn:hover      { background: #401818; color: #f0e0d8; }
[data-ui-theme="bucs"] .chip             { background: #0c0404; border-color: #401818; color: #8a4848; }
[data-ui-theme="bucs"] .chip:hover       { background: #401818; color: #f0e0d8; }
[data-ui-theme="bucs"] .chip.on          { background: #2a0000; border-color: #D50A0A; color: #ff5050; }
[data-ui-theme="bucs"] .chip.amber       { background: #3a2000; border-color: #e3b341; color: #ffe090; }
[data-ui-theme="bucs"] .chip.blue        { background: #0a2050; border-color: #388bfd; color: #79c0ff; }
[data-ui-theme="bucs"] .vbtn             { background: #0c0404; border-color: #401818; color: #8a4848; }
[data-ui-theme="bucs"] .vbtn:hover       { background: #401818; color: #f0e0d8; border-color: #D50A0A; }

/* ── NFC WEST ── */

/* Cardinals — cardinal red + black */
[data-ui-theme="cardinals"] body              { background: #0c0000; color: #f0e0e8; }
[data-ui-theme="cardinals"] .top-bar          { background: #180810; border-color: #380020; }
[data-ui-theme="cardinals"] .freq-row         { background: #180810; border-color: #380020; }
[data-ui-theme="cardinals"] .side-panel       { background: #0c0000; border-color: #380020; }
[data-ui-theme="cardinals"] .center           { background: #0c0000; }
[data-ui-theme="cardinals"] .dock-panel       { background: #180810; border-color: #380020; }
[data-ui-theme="cardinals"] .dock-handle      { background: #080004; border-color: #380020; }
[data-ui-theme="cardinals"] .modal-box        { background: #180810; border-color: #380020; }
[data-ui-theme="cardinals"] .modal-in         { background: #0c0000; border-color: #380020; color: #f0e0e8; }
[data-ui-theme="cardinals"] .conn-input       { background: #0c0000; border-color: #380020; color: #f0e0e8; }
[data-ui-theme="cardinals"] .btn-connect      { background: #180810; border-color: #380020; color: #f0e0e8; }
[data-ui-theme="cardinals"] .tci-log          { background: #0c0000; border-color: #380020; color: #f0e0e8; }
[data-ui-theme="cardinals"] .smeter-readout   { background: #180810; }
[data-ui-theme="cardinals"] .led-meter-wrap   { background: #180810; border-color: #380020; }
[data-ui-theme="cardinals"] .center-dock      { background: #100408; border-color: #380020; }
[data-ui-theme="cardinals"] .freq-dock        { background: #180810; border-color: #380020; }
[data-ui-theme="cardinals"] .dock-title       { color: #c0304a; }
[data-ui-theme="cardinals"] .ctrl-lbl         { color: #804060; }
[data-ui-theme="cardinals"] .ctrl-val         { color: #e05070; }
[data-ui-theme="cardinals"] .ctrl-head        { color: #f0e0e8; }
[data-ui-theme="cardinals"] .modal-title      { color: #c0304a; }
[data-ui-theme="cardinals"] .modal-lbl        { color: #804060; }
[data-ui-theme="cardinals"] .modal-row label  { color: #f0e0e8; }
[data-ui-theme="cardinals"] .modal-close      { color: #804060; }
[data-ui-theme="cardinals"] .vfo-freq         { color: #e05070; }
[data-ui-theme="cardinals"] .vfo-freq .mhz    { color: #ff8090; }
[data-ui-theme="cardinals"] .vfo-freq.secondary { color: #804060; }
[data-ui-theme="cardinals"] .callsign         { color: #804060; }
[data-ui-theme="cardinals"] .status-label     { color: #56d364; }
[data-ui-theme="cardinals"] .sbtn             { background: #080004; border-color: #380020; color: #f0e0e8; }
[data-ui-theme="cardinals"] .sbtn.active      { background: #c0304a; border-color: #900020; color: #ffffff; }
[data-ui-theme="cardinals"] .mbtn             { background: #080004; border-color: #380020; color: #f0e0e8; }
[data-ui-theme="cardinals"] .mbtn.pri         { background: #c0304a; border-color: #900020; color: #ffffff; }
[data-ui-theme="cardinals"] .band-btn         { background: #080004; border-color: #380020; color: #804060; }
[data-ui-theme="cardinals"] .mode-btn         { background: #080004; border-color: #380020; color: #804060; }
[data-ui-theme="cardinals"] .mode-btn.active  { background: #c0304a; border-color: #900020; color: #ffffff; }
[data-ui-theme="cardinals"] input[type=range] { background: #380020; }
[data-ui-theme="cardinals"] input[type=range]::-webkit-slider-thumb { background: #c0304a; border-color: #0c0000; }
[data-ui-theme="cardinals"] input[type=range]::-moz-range-thumb     { background: #c0304a; border-color: #0c0000; }
[data-ui-theme="cardinals"] .spec-ctrl-bar    { background: #0c0000; border-color: #380020; }
[data-ui-theme="cardinals"] .spec-ctrl-divider { background: #380020; }
[data-ui-theme="cardinals"] .wf-theme-btn     { background: #080004; border-color: #380020; color: #804060; }
[data-ui-theme="cardinals"] .wf-theme-btn:hover { background: #380020; color: #f0e0e8; }
[data-ui-theme="cardinals"] .wf-theme-btn.active { background: #c0304a; border-color: #900020; color: #ffffff; }
[data-ui-theme="cardinals"] .band-btn.active  { background: #c0304a; border-color: #900020; color: #ffffff; }
[data-ui-theme="cardinals"] .band-btn:hover   { background: #380020; color: #f0e0e8; }
[data-ui-theme="cardinals"] .f-btn            { background: #080004; border-color: #380020; color: #804060; }
[data-ui-theme="cardinals"] .f-btn.active     { background: #c0304a; border-color: #900020; color: #ffffff; }
[data-ui-theme="cardinals"] .f-btn:hover      { background: #380020; color: #f0e0e8; }
[data-ui-theme="cardinals"] .chip             { background: #080004; border-color: #380020; color: #804060; }
[data-ui-theme="cardinals"] .chip:hover       { background: #380020; color: #f0e0e8; }
[data-ui-theme="cardinals"] .chip.on          { background: #1a0010; border-color: #c0304a; color: #e05070; }
[data-ui-theme="cardinals"] .chip.amber       { background: #3a2000; border-color: #e3b341; color: #ffe090; }
[data-ui-theme="cardinals"] .chip.blue        { background: #0a2050; border-color: #388bfd; color: #79c0ff; }
[data-ui-theme="cardinals"] .vbtn             { background: #080004; border-color: #380020; color: #804060; }
[data-ui-theme="cardinals"] .vbtn:hover       { background: #380020; color: #f0e0e8; border-color: #c0304a; }

/* Rams — royal blue + gold */
[data-ui-theme="rams"] body              { background: #001530; color: #d0dce8; }
[data-ui-theme="rams"] .top-bar          { background: #003594; border-color: #1a5caa; }
[data-ui-theme="rams"] .freq-row         { background: #003594; border-color: #1a5caa; }
[data-ui-theme="rams"] .side-panel       { background: #001530; border-color: #1a5caa; }
[data-ui-theme="rams"] .center           { background: #001530; }
[data-ui-theme="rams"] .dock-panel       { background: #003594; border-color: #1a5caa; }
[data-ui-theme="rams"] .dock-handle      { background: #000c20; border-color: #1a5caa; }
[data-ui-theme="rams"] .modal-box        { background: #003594; border-color: #1a5caa; }
[data-ui-theme="rams"] .modal-in         { background: #001530; border-color: #1a5caa; color: #d0dce8; }
[data-ui-theme="rams"] .conn-input       { background: #001530; border-color: #1a5caa; color: #d0dce8; }
[data-ui-theme="rams"] .btn-connect      { background: #003594; border-color: #1a5caa; color: #d0dce8; }
[data-ui-theme="rams"] .tci-log          { background: #001530; border-color: #1a5caa; color: #d0dce8; }
[data-ui-theme="rams"] .smeter-readout   { background: #003594; }
[data-ui-theme="rams"] .led-meter-wrap   { background: #003594; border-color: #1a5caa; }
[data-ui-theme="rams"] .center-dock      { background: #002060; border-color: #1a5caa; }
[data-ui-theme="rams"] .freq-dock        { background: #003594; border-color: #1a5caa; }
[data-ui-theme="rams"] .dock-title       { color: #FFA300; }
[data-ui-theme="rams"] .ctrl-lbl         { color: #5070a0; }
[data-ui-theme="rams"] .ctrl-val         { color: #FFA300; }
[data-ui-theme="rams"] .ctrl-head        { color: #d0dce8; }
[data-ui-theme="rams"] .modal-title      { color: #FFA300; }
[data-ui-theme="rams"] .modal-lbl        { color: #5070a0; }
[data-ui-theme="rams"] .modal-row label  { color: #d0dce8; }
[data-ui-theme="rams"] .modal-close      { color: #5070a0; }
[data-ui-theme="rams"] .vfo-freq         { color: #FFA300; }
[data-ui-theme="rams"] .vfo-freq .mhz    { color: #ffc840; }
[data-ui-theme="rams"] .vfo-freq.secondary { color: #5070a0; }
[data-ui-theme="rams"] .callsign         { color: #5070a0; }
[data-ui-theme="rams"] .status-label     { color: #56d364; }
[data-ui-theme="rams"] .sbtn             { background: #000c20; border-color: #1a5caa; color: #d0dce8; }
[data-ui-theme="rams"] .sbtn.active      { background: #FFA300; border-color: #c07000; color: #001530; }
[data-ui-theme="rams"] .mbtn             { background: #000c20; border-color: #1a5caa; color: #d0dce8; }
[data-ui-theme="rams"] .mbtn.pri         { background: #FFA300; border-color: #c07000; color: #001530; }
[data-ui-theme="rams"] .band-btn         { background: #000c20; border-color: #1a5caa; color: #5070a0; }
[data-ui-theme="rams"] .mode-btn         { background: #000c20; border-color: #1a5caa; color: #5070a0; }
[data-ui-theme="rams"] .mode-btn.active  { background: #FFA300; border-color: #c07000; color: #001530; }
[data-ui-theme="rams"] input[type=range] { background: #1a5caa; }
[data-ui-theme="rams"] input[type=range]::-webkit-slider-thumb { background: #FFA300; border-color: #001530; }
[data-ui-theme="rams"] input[type=range]::-moz-range-thumb     { background: #FFA300; border-color: #001530; }
[data-ui-theme="rams"] .spec-ctrl-bar    { background: #001530; border-color: #1a5caa; }
[data-ui-theme="rams"] .spec-ctrl-divider { background: #1a5caa; }
[data-ui-theme="rams"] .wf-theme-btn     { background: #000c20; border-color: #1a5caa; color: #5070a0; }
[data-ui-theme="rams"] .wf-theme-btn:hover { background: #1a5caa; color: #d0dce8; }
[data-ui-theme="rams"] .wf-theme-btn.active { background: #FFA300; border-color: #c07000; color: #001530; }
[data-ui-theme="rams"] .band-btn.active  { background: #FFA300; border-color: #c07000; color: #001530; }
[data-ui-theme="rams"] .band-btn:hover   { background: #1a5caa; color: #d0dce8; }
[data-ui-theme="rams"] .f-btn            { background: #000c20; border-color: #1a5caa; color: #5070a0; }
[data-ui-theme="rams"] .f-btn.active     { background: #FFA300; border-color: #c07000; color: #001530; }
[data-ui-theme="rams"] .f-btn:hover      { background: #1a5caa; color: #d0dce8; }
[data-ui-theme="rams"] .chip             { background: #000c20; border-color: #1a5caa; color: #5070a0; }
[data-ui-theme="rams"] .chip:hover       { background: #1a5caa; color: #d0dce8; }
[data-ui-theme="rams"] .chip.on          { background: #1a2800; border-color: #FFA300; color: #FFA300; }
[data-ui-theme="rams"] .chip.amber       { background: #3a2000; border-color: #e3b341; color: #ffe090; }
[data-ui-theme="rams"] .chip.blue        { background: #0a2050; border-color: #388bfd; color: #79c0ff; }
[data-ui-theme="rams"] .vbtn             { background: #000c20; border-color: #1a5caa; color: #5070a0; }
[data-ui-theme="rams"] .vbtn:hover       { background: #1a5caa; color: #d0dce8; border-color: #FFA300; }

/* 49ers — dark red + gold */
[data-ui-theme="niners"] body              { background: #1a0000; color: #f0e0c8; }
[data-ui-theme="niners"] .top-bar          { background: #380008; border-color: #6a0018; }
[data-ui-theme="niners"] .freq-row         { background: #380008; border-color: #6a0018; }
[data-ui-theme="niners"] .side-panel       { background: #1a0000; border-color: #6a0018; }
[data-ui-theme="niners"] .center           { background: #1a0000; }
[data-ui-theme="niners"] .dock-panel       { background: #380008; border-color: #6a0018; }
[data-ui-theme="niners"] .dock-handle      { background: #100004; border-color: #6a0018; }
[data-ui-theme="niners"] .modal-box        { background: #380008; border-color: #6a0018; }
[data-ui-theme="niners"] .modal-in         { background: #1a0000; border-color: #6a0018; color: #f0e0c8; }
[data-ui-theme="niners"] .conn-input       { background: #1a0000; border-color: #6a0018; color: #f0e0c8; }
[data-ui-theme="niners"] .btn-connect      { background: #380008; border-color: #6a0018; color: #f0e0c8; }
[data-ui-theme="niners"] .tci-log          { background: #1a0000; border-color: #6a0018; color: #f0e0c8; }
[data-ui-theme="niners"] .smeter-readout   { background: #380008; }
[data-ui-theme="niners"] .led-meter-wrap   { background: #380008; border-color: #6a0018; }
[data-ui-theme="niners"] .center-dock      { background: #280008; border-color: #6a0018; }
[data-ui-theme="niners"] .freq-dock        { background: #380008; border-color: #6a0018; }
[data-ui-theme="niners"] .dock-title       { color: #C9A84C; }
[data-ui-theme="niners"] .ctrl-lbl         { color: #c08050; }
[data-ui-theme="niners"] .ctrl-val         { color: #C9A84C; }
[data-ui-theme="niners"] .ctrl-head        { color: #f0e0c8; }
[data-ui-theme="niners"] .modal-title      { color: #C9A84C; }
[data-ui-theme="niners"] .modal-lbl        { color: #c08050; }
[data-ui-theme="niners"] .modal-row label  { color: #f0e0c8; }
[data-ui-theme="niners"] .modal-close      { color: #c08050; }
[data-ui-theme="niners"] .vfo-freq         { color: #C9A84C; }
[data-ui-theme="niners"] .vfo-freq .mhz    { color: #f0cc80; }
[data-ui-theme="niners"] .vfo-freq.secondary { color: #c08050; }
[data-ui-theme="niners"] .callsign         { color: #c08050; }
[data-ui-theme="niners"] .status-label     { color: #56d364; }
[data-ui-theme="niners"] .sbtn             { background: #100004; border-color: #6a0018; color: #f0e0c8; }
[data-ui-theme="niners"] .sbtn.active      { background: #C9A84C; border-color: #907020; color: #1a0000; }
[data-ui-theme="niners"] .mbtn             { background: #100004; border-color: #6a0018; color: #f0e0c8; }
[data-ui-theme="niners"] .mbtn.pri         { background: #C9A84C; border-color: #907020; color: #1a0000; }
[data-ui-theme="niners"] .band-btn         { background: #100004; border-color: #6a0018; color: #c08050; }
[data-ui-theme="niners"] .mode-btn         { background: #100004; border-color: #6a0018; color: #c08050; }
[data-ui-theme="niners"] .mode-btn.active  { background: #C9A84C; border-color: #907020; color: #1a0000; }
[data-ui-theme="niners"] input[type=range] { background: #6a0018; }
[data-ui-theme="niners"] input[type=range]::-webkit-slider-thumb { background: #C9A84C; border-color: #1a0000; }
[data-ui-theme="niners"] input[type=range]::-moz-range-thumb     { background: #C9A84C; border-color: #1a0000; }
[data-ui-theme="niners"] .spec-ctrl-bar    { background: #1a0000; border-color: #6a0018; }
[data-ui-theme="niners"] .spec-ctrl-divider { background: #6a0018; }
[data-ui-theme="niners"] .wf-theme-btn     { background: #100004; border-color: #6a0018; color: #c08050; }
[data-ui-theme="niners"] .wf-theme-btn:hover { background: #6a0018; color: #f0e0c8; }
[data-ui-theme="niners"] .wf-theme-btn.active { background: #C9A84C; border-color: #907020; color: #1a0000; }
[data-ui-theme="niners"] .band-btn.active  { background: #C9A84C; border-color: #907020; color: #1a0000; }
[data-ui-theme="niners"] .band-btn:hover   { background: #6a0018; color: #f0e0c8; }
[data-ui-theme="niners"] .f-btn            { background: #100004; border-color: #6a0018; color: #c08050; }
[data-ui-theme="niners"] .f-btn.active     { background: #C9A84C; border-color: #907020; color: #1a0000; }
[data-ui-theme="niners"] .f-btn:hover      { background: #6a0018; color: #f0e0c8; }
[data-ui-theme="niners"] .chip             { background: #100004; border-color: #6a0018; color: #c08050; }
[data-ui-theme="niners"] .chip:hover       { background: #6a0018; color: #f0e0c8; }
[data-ui-theme="niners"] .chip.on          { background: #2a1000; border-color: #C9A84C; color: #C9A84C; }
[data-ui-theme="niners"] .chip.amber       { background: #3a2000; border-color: #e3b341; color: #ffe090; }
[data-ui-theme="niners"] .chip.blue        { background: #0a2050; border-color: #388bfd; color: #79c0ff; }
[data-ui-theme="niners"] .vbtn             { background: #100004; border-color: #6a0018; color: #c08050; }
[data-ui-theme="niners"] .vbtn:hover       { background: #6a0018; color: #f0e0c8; border-color: #C9A84C; }

/* Seahawks — navy + action green */
[data-ui-theme="seahawks"] body              { background: #001030; color: #d0d8e8; }
[data-ui-theme="seahawks"] .top-bar          { background: #002244; border-color: #1a3366; }
[data-ui-theme="seahawks"] .freq-row         { background: #002244; border-color: #1a3366; }
[data-ui-theme="seahawks"] .side-panel       { background: #001030; border-color: #1a3366; }
[data-ui-theme="seahawks"] .center           { background: #001030; }
[data-ui-theme="seahawks"] .dock-panel       { background: #002244; border-color: #1a3366; }
[data-ui-theme="seahawks"] .dock-handle      { background: #000820; border-color: #1a3366; }
[data-ui-theme="seahawks"] .modal-box        { background: #002244; border-color: #1a3366; }
[data-ui-theme="seahawks"] .modal-in         { background: #001030; border-color: #1a3366; color: #d0d8e8; }
[data-ui-theme="seahawks"] .conn-input       { background: #001030; border-color: #1a3366; color: #d0d8e8; }
[data-ui-theme="seahawks"] .btn-connect      { background: #002244; border-color: #1a3366; color: #d0d8e8; }
[data-ui-theme="seahawks"] .tci-log          { background: #001030; border-color: #1a3366; color: #d0d8e8; }
[data-ui-theme="seahawks"] .smeter-readout   { background: #002244; }
[data-ui-theme="seahawks"] .led-meter-wrap   { background: #002244; border-color: #1a3366; }
[data-ui-theme="seahawks"] .center-dock      { background: #001838; border-color: #1a3366; }
[data-ui-theme="seahawks"] .freq-dock        { background: #002244; border-color: #1a3366; }
[data-ui-theme="seahawks"] .dock-title       { color: #69BE28; }
[data-ui-theme="seahawks"] .ctrl-lbl         { color: #5588a0; }
[data-ui-theme="seahawks"] .ctrl-val         { color: #69BE28; }
[data-ui-theme="seahawks"] .ctrl-head        { color: #d0d8e8; }
[data-ui-theme="seahawks"] .modal-title      { color: #69BE28; }
[data-ui-theme="seahawks"] .modal-lbl        { color: #5588a0; }
[data-ui-theme="seahawks"] .modal-row label  { color: #d0d8e8; }
[data-ui-theme="seahawks"] .modal-close      { color: #5588a0; }
[data-ui-theme="seahawks"] .vfo-freq         { color: #69BE28; }
[data-ui-theme="seahawks"] .vfo-freq .mhz    { color: #90e050; }
[data-ui-theme="seahawks"] .vfo-freq.secondary { color: #5588a0; }
[data-ui-theme="seahawks"] .callsign         { color: #5588a0; }
[data-ui-theme="seahawks"] .status-label     { color: #56d364; }
[data-ui-theme="seahawks"] .sbtn             { background: #000820; border-color: #1a3366; color: #d0d8e8; }
[data-ui-theme="seahawks"] .sbtn.active      { background: #69BE28; border-color: #408010; color: #001030; }
[data-ui-theme="seahawks"] .mbtn             { background: #000820; border-color: #1a3366; color: #d0d8e8; }
[data-ui-theme="seahawks"] .mbtn.pri         { background: #69BE28; border-color: #408010; color: #001030; }
[data-ui-theme="seahawks"] .band-btn         { background: #000820; border-color: #1a3366; color: #5588a0; }
[data-ui-theme="seahawks"] .mode-btn         { background: #000820; border-color: #1a3366; color: #5588a0; }
[data-ui-theme="seahawks"] .mode-btn.active  { background: #69BE28; border-color: #408010; color: #001030; }
[data-ui-theme="seahawks"] input[type=range] { background: #1a3366; }
[data-ui-theme="seahawks"] input[type=range]::-webkit-slider-thumb { background: #69BE28; border-color: #001030; }
[data-ui-theme="seahawks"] input[type=range]::-moz-range-thumb     { background: #69BE28; border-color: #001030; }
[data-ui-theme="seahawks"] .spec-ctrl-bar    { background: #001030; border-color: #1a3366; }
[data-ui-theme="seahawks"] .spec-ctrl-divider { background: #1a3366; }
[data-ui-theme="seahawks"] .wf-theme-btn     { background: #000820; border-color: #1a3366; color: #5588a0; }
[data-ui-theme="seahawks"] .wf-theme-btn:hover { background: #1a3366; color: #d0d8e8; }
[data-ui-theme="seahawks"] .wf-theme-btn.active { background: #69BE28; border-color: #408010; color: #001030; }
[data-ui-theme="seahawks"] .band-btn.active  { background: #69BE28; border-color: #408010; color: #001030; }
[data-ui-theme="seahawks"] .band-btn:hover   { background: #1a3366; color: #d0d8e8; }
[data-ui-theme="seahawks"] .f-btn            { background: #000820; border-color: #1a3366; color: #5588a0; }
[data-ui-theme="seahawks"] .f-btn.active     { background: #69BE28; border-color: #408010; color: #001030; }
[data-ui-theme="seahawks"] .f-btn:hover      { background: #1a3366; color: #d0d8e8; }
[data-ui-theme="seahawks"] .chip             { background: #000820; border-color: #1a3366; color: #5588a0; }
[data-ui-theme="seahawks"] .chip:hover       { background: #1a3366; color: #d0d8e8; }
[data-ui-theme="seahawks"] .chip.on          { background: #0d2800; border-color: #69BE28; color: #69BE28; }
[data-ui-theme="seahawks"] .chip.amber       { background: #3a2000; border-color: #e3b341; color: #ffe090; }
[data-ui-theme="seahawks"] .chip.blue        { background: #0a2050; border-color: #388bfd; color: #79c0ff; }
[data-ui-theme="seahawks"] .vbtn             { background: #000820; border-color: #1a3366; color: #5588a0; }
[data-ui-theme="seahawks"] .vbtn:hover       { background: #1a3366; color: #d0d8e8; border-color: #69BE28; }
