/* NOD//Xtract player theme layer. Admin and landing pages intentionally skip this file. */

.theme-toggle {
  font-size: 10px;
  padding: 4px 9px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.nav-util .theme-toggle {
  background: transparent;
}

:root[data-theme="high-vis"] {
  --bg:           #f2ead7;
  --bg-panel:     #fff9eb;
  --bg-input:     #f7edda;
  --bg-elevated:  #ead9ba;
  --border:       #8e7c5d;
  --border-dim:   #c5ae83;
  --border-bright:#4f7f6a;
  --green:        #006b45;
  --green-mid:    #007a4d;
  --green-dim:    #155f44;
  --green-muted:  #386754;
  --green-dark:   #dff0e5;
  --amber:        #8a5600;
  --amber-mid:    #a86800;
  --amber-dark:   #fff0c4;
  --success:      #006b45;
  --warning:      #9a5d00;
  --danger:       #b00020;
  --danger-dark:  #ffe1e7;
  --info:         #005f8d;
  --purple:       #6545a8;
  --purple-dark:  #efe7ff;
  --text:         #211a11;
  --text-bright:  #090806;
  --text-dim:     #4f452f;
  --text-faint:   #6b5d43;
  --text-ghost:   #a6906a;
  --glow-green:    none;
  --glow-green-sm: none;
  --glow-amber:    none;
  --glow-danger:   none;
}

:root[data-theme="high-vis"] body {
  background:
    radial-gradient(circle at top left, rgba(0, 107, 69, 0.12), transparent 28%),
    linear-gradient(180deg, #f7f0df 0%, #efe2c5 100%);
  color: var(--text);
}

:root[data-theme="high-vis"] body::selection {
  background: #006b45;
  color: #fff9eb;
}

:root[data-theme="high-vis"] .nodx-header,
:root[data-theme="high-vis"] .panel,
:root[data-theme="high-vis"] .stat-box,
:root[data-theme="high-vis"] input,
:root[data-theme="high-vis"] select,
:root[data-theme="high-vis"] textarea {
  box-shadow: none !important;
}

:root[data-theme="high-vis"] .panel {
  border-left-width: 4px;
}

:root[data-theme="high-vis"] .nodx-logo,
:root[data-theme="high-vis"] .panel-title,
:root[data-theme="high-vis"] .text-green,
:root[data-theme="high-vis"] .stat-value.green {
  color: var(--green) !important;
  text-shadow: none !important;
}

:root[data-theme="high-vis"] .nodx-logo span,
:root[data-theme="high-vis"] .nodx-tagline,
:root[data-theme="high-vis"] .text-dim,
:root[data-theme="high-vis"] .stat-label,
:root[data-theme="high-vis"] .bar-label,
:root[data-theme="high-vis"] .bar-val {
  color: var(--text-dim) !important;
}

:root[data-theme="high-vis"] [style*="color:#333"],
:root[data-theme="high-vis"] [style*="color: #333"],
:root[data-theme="high-vis"] [style*="color:#555"],
:root[data-theme="high-vis"] [style*="color: #555"],
:root[data-theme="high-vis"] [style*="color:#4a4030"],
:root[data-theme="high-vis"] [style*="color: #4a4030"],
:root[data-theme="high-vis"] [style*="color:#7a6e58"],
:root[data-theme="high-vis"] [style*="color: #7a6e58"],
:root[data-theme="high-vis"] [style*="color:#888"],
:root[data-theme="high-vis"] [style*="color: #888"] {
  color: var(--text-dim) !important;
}

:root[data-theme="high-vis"] [style*="background:#0"],
:root[data-theme="high-vis"] [style*="background: #0"],
:root[data-theme="high-vis"] [style*="background:#1"],
:root[data-theme="high-vis"] [style*="background: #1"] {
  background: var(--bg-input) !important;
}

:root[data-theme="high-vis"] [style*="border:1px solid #1"],
:root[data-theme="high-vis"] [style*="border: 1px solid #1"],
:root[data-theme="high-vis"] [style*="border-bottom:1px solid #1"],
:root[data-theme="high-vis"] [style*="border-bottom: 1px solid #1"] {
  border-color: var(--border-dim) !important;
}

:root[data-theme="high-vis"] .btn,
:root[data-theme="high-vis"] button {
  background: #fffdf5;
  border-color: #496d5a;
  color: #073b28;
  text-shadow: none;
}

:root[data-theme="high-vis"] .btn:hover,
:root[data-theme="high-vis"] button:hover {
  background: #e2f0e6;
  border-color: var(--green);
  color: #002c1d;
}

:root[data-theme="high-vis"] .btn-amber,
:root[data-theme="high-vis"] .text-amber,
:root[data-theme="high-vis"] .stat-value.amber {
  color: var(--amber) !important;
  text-shadow: none !important;
}

:root[data-theme="high-vis"] .btn-amber {
  background: #fff4d2;
  border-color: var(--amber);
}

:root[data-theme="high-vis"] .msg,
:root[data-theme="high-vis"] .choice-btn,
:root[data-theme="high-vis"] .target-card,
:root[data-theme="high-vis"] .contract-card,
:root[data-theme="high-vis"] .tool-card,
:root[data-theme="high-vis"] .rig-card {
  background: var(--bg-input) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}

:root[data-theme="high-vis"] .msg.error,
:root[data-theme="high-vis"] .text-red,
:root[data-theme="high-vis"] .stat-value.red {
  color: var(--danger) !important;
  text-shadow: none !important;
}

:root[data-theme="high-vis"] .bar-track {
  background: #d2be94;
}

:root[data-theme="high-vis"] .depth-node,
:root[data-theme="high-vis"] .depth-node.unknown,
:root[data-theme="high-vis"] .depth-node.empty {
  background: #f7edda;
  border-color: #9e8964;
  color: var(--text-dim);
}

:root[data-theme="high-vis"] .depth-node.current,
:root[data-theme="high-vis"] .depth-node.visited {
  background: #dff0e5;
  border-color: var(--green);
  color: var(--green);
}

:root[data-theme="high-vis"] .depth-node.danger {
  background: #ffe1e7;
  border-color: var(--danger);
  color: var(--danger);
}

:root[data-theme="high-vis"] .depth-conn {
  background: #b69f76;
}

:root[data-theme="high-vis"] .depth-conn.visited {
  background: var(--green);
}
